Annyeong Haseyo (sapaan dalam bahasa korea), Hi....guys....kali ni Q pengen berbagi ilmu nih tentang fungsi juga seperti sebelumnya tetapi lebih kompleks, dimana kita harus membuat 3 user berbeda dan saat mengaksesnya harus login dengan password dulu. selain itu juga dalam menu user tersebut terdapat menu lagi...wah membaca or mendengarnya saja dah bingung tuh gimana caranya...gak usah gak PD dulu...kita coba pahami satu-satu perintahnya...kita pahami soalnya dulu...cekidot!!!
Membuat 3 user berbeda, dan saat mengakses user-user tersebut terdapat login yang berbeda pula dengan kriteria berikut:
- Membuat user A dengan password a, dan hanya mempunyai hak akses untuk fungsi aritmatika saja yaitu penjumlahan, pengurangan, perkalian dan pembagian
- Membuat user B dengan password b, dan terdapat hak akses dapat membaca direktori aktif dan hardaware yang telah terisntall, serta mensetting IP Address dengan eth0
- Membuat user C dengan password c, dan terdapat hak akses dapat menjalankan user diatas dan membuat file dengan filetype .txt
setelah kita memahami soal, maka kita ikuti langkah2 dibawah ini:
- Seperti biasa kita buat terlebih dahulu file dengan type .sh, terserah Anda memberikan namanya, kebetulan waktu itu saya post test atau test terakhir dalam praktikum sistem operasi, jadi untuk lebih gampangnya saya membuat nama dengan nama kelas_posttest_dua angka terahir dari NRP saya, sperti berikut:
- Pada awal kita menulis kita harus mengetiikan skrip berikut #!/bin/sh or #!/bin/bash
- Setelah itu untuk lebih mudahnya kita buat program utama terlebih dahulu dengan keterangan Awal dari skrip, program utama yang harus kita buat yaitu membuat menu pilihan untuk ketiga user dengan login password yang berbeda, untuk membuat menu seperti biasa kita dapat menggunakan case-esac atau if-fi atau juga while do-done, tetapi kali ini saya menggunakan case-esac karena lebih mudah, dan untuk membuat login passwor saya gunakan if-fi, untuk menunya kita tinggal memanggil fungsi yang telah kita buat, cara memanggilnya yaitu dengan menulis nama fungsi, saya memberi nama fungsi yang mudah sesuai dengan user yang dibuat, lihat skrip berikut:
echo "Menu Pilihan User"
echo "1. User A "
echo "2. User B "
echo "3. User C "
echo "Pilihan Anda : "
read pil
case $pil in
1)
echo "Masukkan Password :"
read pass
if [ "$pass"="a" ] && [ "$pass"="A" ]
then
usera
else
echo "Password Salah"
sleep 2
read pass
fi;;
2)
echo "Masukkan Password :"
read pass
if [ "$pass"="b" ] && [ "$pass"="B" ]
then
userb
else
echo "Password Salah"
sleep 2
read pass
fi;;
3)
echo "Masukkan Password :"
read pass
if [ "$pass"="c" ] && [ "$pass"="C" ]
then
userc
else
echo "Password Salah"
sleep 2
read pass
fi;;
esac - Setelah program utama selesai kita buat fungsi-fungsi yang diperlukan, tetapi perlu diingat program utama yang telah kita buat diletakkan dipaling akhir atau lebih tepatnya dibawah fungsi-fungsi yang dibuat
- Fungsi pertama yang kita buat adalah untuk hak akses dari user A, kita beri nama fungsi dengan usera(), didalam fungsi tersebut terdapat menu fungsi aritmatika yang diperlukan, rumusnya pun sama seperti rumus manual hanya saja kita hrus mendeklarasikan variabel terlebih dahulu.
{
echo "Menu Pilihan Aritmatika"
echo "1. Penjumlahan"
echo "2. Pengurangan"
echo "3. Perkalian"
echo "4. Pembagian"
echo "Pilihan Anda : "
read pil
echo "Masukkan Angka ke-1 : "
read x
echo "Masukkan Angka Kedua : "
read y
case $pil in
1)
echo "Penjumlahan"
p=`echo $x + $y |bc`
echo "Hasil penjumlahan = $p";;
2)
echo "Pengurangan"
q=`echo $x - $y |bc`
echo "Hasil pengurangan = $q";;
3)
echo "Perkalian"
r=`echo $x*$y |bc`
echo "Hasil perkalian = $r";;
4)
echo "Pembagian"
s=`echo $x/$y |bc`
echo "Hasil pembagian = $s";;
*)
echo "Pilihan anda tidak tersedia";;
esac
}
- fungsi kedua yang kita buat adalah hak akses dari user B, kita beri nama fungsi dengan userb(), di dalam funsi tersebut kita membuat bagaimana kita melihat direktori aktif kita, yaitu dengan ls -l, dan bagaimana cara melihat hardware yang telah terinstall dengan mengetikkan ps aux, serta mensetting IP dengan eth0 dengan cara sudo ifconfig 192.168.1.1 net mask 255.255.255.0 kemudian dibawahnya kita ketikkan ifconfig lagi, setelah kita tahu caranya, kita tinggal masukkan kedalam fungsi yaitu dengan membuat menu dan meletakkan cara-cara tadi
{
echo "Menu Pilihan Anda"
echo "1. Melihat direktori Aktif"
echo "2. Melihat Hardware yang terinstall"
echo "3. Mensetting IP dengan eth0"
echo "Pilihan Anda : "
read pil
case $pil in
1)
ls -l;;
2)
ps aux;;
3)
sudo ifconfig 192.168.1.1 netmask 255.255.255.0
ifconfig
;;
*)
echo "Pilihan anda tidak tersedia";;
esac
}
- Fungsi terakhir yang dibuat adalah hak akses user C, yaitu kita dapat mengakses kdua user diatas dan membuat file type .txt, untuk mengakses kdua user yaitu dengan cara memanggil nama fungsi kdua user tersebut dan untuk membuat file kita bisa menggunakan pico, nano, dan touch, disini menggunakan touch
{
echo "Menu Pilihan Anda"
echo "1. Hak akses User A"
echo "2. Hak Akser User B"
echo "3. Membuat file.txt"
echo "Pilihan Anda : "
read pil
case $pil in
1)
echo "Hak Akses User A"
usera;;
2)
echo "Hak Akses User B"
userb;;
3)
echo "Membuat File .txt"
echo "Masukkan Nama File : "
read file
touch $file.txt
;;
*)
echo "Pilihan anda tidak tersedia";;
esac
}
- Untuk lebih jelasnya anda dapat mendownload skrip kelasJ_posttest_12.sh