LAPORAN MODUL 3.3
LAPORAN MODUL 3.3
PRAKTIKUM SISTEM OPERASI
PRAKTIKUM SISTEM OPERASI
”SELEKSI, PERULANGAN, DAN ARRAY PADA
”SELEKSI, PERULANGAN, DAN ARRAY PADA
SHELL PROGRAMMING LINUX”
SHELL PROGRAMMING LINUX”
Nama :
Nama : Luh SukmLuh Sukma Widiasaa Widiasariri Nim :
Nim : 09009086086050350388
Assisten Dosen : Assisten Dosen :
NAMA : G.A.Vida Mastrika Giri NAMA : G.A.Vida Mastrika Giri
NIM : 0808605056 NIM : 0808605056
Nama Dosen : Nama Dosen :
I Gusti Ngurah Anom Cahyadi Putra, S.T, M.Cs I Gusti Ngurah Anom Cahyadi Putra, S.T, M.Cs
Jurusan Ilmu Komputer Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Udayana Universitas Udayana
2011 2011
Kata Pengantar
Kata Pengantar
Puji Syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena Puji Syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena berkat rahmat Nya lah laporan Praktikum Sistem Operasi dapat selesai tepat berkat rahmat Nya lah laporan Praktikum Sistem Operasi dapat selesai tepat pada waktun
pada waktunya. ya. PenPenulis menyulis menyadari bahwadari bahwa laporan a laporan ini jauh dari sempurna. ini jauh dari sempurna. Se- Se-hingga perlu pembelajaran yang lebih mendalam lagi bagi penulis, baik dalam hingga perlu pembelajaran yang lebih mendalam lagi bagi penulis, baik dalam hal materi perkuliahan maupun dalam suatu bentuk penuli
hal materi perkuliahan maupun dalam suatu bentuk penulisan laporan. san laporan. TidakTidak lupa penulis mengucapkan terima kasih kepada semua pihak yang membantu lupa penulis mengucapkan terima kasih kepada semua pihak yang membantu penulis dalam penyelesaian laporan ini.
penulis dalam penyelesaian laporan ini.
Denpasar, 20 maret 2011 Denpasar, 20 maret 2011
penulis penulis
Daftar Isi
1 Pendahuluan 4 1.1 Latar Belakang . . . 4 1.2 Tujuan . . . . 5 1.3 Manfaat . . . 5 2 LANDASAN TEORI 6 2.1 Seleksi . . . 6 2.1.1 Statement If . . . 62.1.2 Statement Builtin case . . . 7
2.2 Perulangan . . . 8 2.2.1 Statement For . . . 8 2.2.2 Statement While . . . 8 2.2.3 Statement Until . . . 9 2.2.4 Statement Select . . . 10 2.3 Array . . . 10 3 HASIL PRAKTIKUM 12 3.1 Ulasan Praktikum Lalu . . . 12
3.2 Soal Tugas Praktikum . . . 19
3.2.1 Jawaban Soal 1 . . . 19 3.2.2 Jawaban Soal 2 . . . 21 3.2.3 Jawaban Soal 3 . . . 23 4 PENUTUP 25 4.1 Kesimpulan . . . 25 4.2 Saran . . . 26 5 DAFTAR PUSTAKA 27
Daftar Gambar
3.1 Output jawaban soal 1 . . . 15
3.2 Output soal 2 . . . 16 3.3 Output soal 3 . . . 16 3.4 Output soal 4 . . . 17 3.5 Output soal 5 . . . 18 3.6 Output soal 6 . . . 18 3.7 Output soal 7 . . . 19
3.8 Contoh statement select . . . 21
3.9 Tampilan deret bil.ganjil . . . 22
3.10 Tampilan deret bil.genap . . . 23
Bab 1
Pendahuluan
1.1 Latar Belakang
Shell adalah program (penterjemah perintah) yang menjembatani user den-gan sistem operasi dalam hal ini kernel (inti sistem operasi), umumnya shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file progam (eksternal command), selain itu shell memungkinkan user menyusun sekumpulan perintah pada se-buah atau beberapa file untuk dieksekusi sebagai program. Tidak seperti sistem operasi lain yang hanya menyediakan satu atau 2 shell, sistem operasi dari keluarga unix misalnya linux sampai saat ini dilengkapi oleh banyak shell dengan kumpulan perintah yang sangat banyak, sehingga memungkinkan pe-makai memilih shell mana yang paling baik untuk membantu menyelesaikan pekerjaannya, atau dapat pula berpindah-pindah dari shell yang satu ke shell yang lain dengan mudah, beberapa shell yang ada di linux antara lain:
• Bourne shell(sh),
• C shell(csh), • Korn shell(ksh),
• Bourne again shell(bash),
• dsb.
Masing - masing shell mempunyai kelebihan dan kekurangan yang mungkin lebih didasarkan pada kebutuhan pemakai yang makin hari makin meningkat,
untuk dokumentasi ini shell yang digunakan adalah bash shell dari GNU, yang merupakan pengembangan dari Bourne shell dan mengambil beberapa feature (keistimewaan) dari C shell serta Korn shell, Bash shell merupakan shell yang cukup banyak digunakan pemakai linux karena kemudahan serta banyaknya fasilitas perintah yang disediakan.
Khusus pada pembahasan kali ini, penulis hanya akan membahas men-genai seleksi, perulangan dan array.
1.2 Tujuan
Adapun tujuan dari laporan ini adalah untuk memperkenalkan dasar pem-rograman shell, dalam hal ini adalah mengenai perintah seleksi, perulangan, dan array
1.3 Manfaat
Manfaat yang dapat diperoleh dari laporan ini adalah :
1. Agar mempermudah kalangan pelajar yang mulai mempelajari mataku-liah sistem operasi.
2. Agar pelajar memiliki pedoman dalam penggunaan shell pada sistem operasi linux terutama dalam menggunakan statement-statement dalam perintah seleksi, perulangan dan array
3. Dapat menginformasikan pembaca mengenai text editor yang dapat di-gunakan dalam shell programming di sistem operasi Linux Ubuntu.
Bab 2
LANDASAN TEORI
2.1 Seleksi
2.1.1 Statement If
syntax: if test-command1; then perintah1; elif test-command2; then perintah2; else alternatif_perintah; fi1. Contoh Script If #!/bin/bash
kunci="bash";
read -s -p "Password anda : " pass if [ $pass==$kunci ]; then
echo "Sukses, anda layak dapat linux" else
echo "Wah sorry, gagal nih"; fi
Berikut adalah output script diatas : Password anda : bash
Sukses, anda layak dapat linux Password anda : Bash
Wah sorry, gagal nih
klausa else akan dieksekusi jika if tidak terpenuhi, sebaliknya jika if terpenuhi maka else tidak akan dieksekusi
2.1.2 Statement Builtin case
Seperti halnya if statement case digunakan untuk menyeleksi kondisi majemuk, dibanding if, pemakaian case terasa lebih efisien
Syntax:
case WORD in [ [(] PATTERN [| PATTERN]...) COMMAND-LIST ;;]... esac
1. Contoh Script case #!/bin/bash
clear
echo -n "Masukkan nama binatang :"; read binatang;
case $binatang in
pinguin | ayam | burung ) echo "$binatang berkaki 2" break
;;
onta | kuda | anjing ) echo "$binatang berkaki 4" break
;;
break ;; esac
Hasil Output Script diatas :
Masukkan nama binatang : pinguin pinguin berkaki 2
2.2 Perulangan
2.2.1 Statement For
Syntax:
for NAME [in WORDS ...]; do perintah; done contoh script for1
1. Contoh script for :
#!/bin/bash
for angka in 1 2 3 4 5; do
echo "angka=$angka"; done
Hasil script diatas : angka=1 angka=2 angka=3 angka=4 angka=5
2.2.2 Statement While
Selama kondisi bernilai benar atau zero perintah dalam blok while akan diu-lang terus
Syntax:
1. contoh script whi1e mencetak bilangan ganjil antara 1-10 #!/bin/bash i=1; while [ $i -le 10 ]; do echo "$i,"; let i=$i+2; done
Hasil script diatas : 1,3,5,7,9,
kondisi tidak terpenuhi pada saat nilai i=11 (9+2), sehingga perintah dalam blokwhile tidak dieksekusi lagi
2.2.3 Statement Until
Jika while akan mengulang selama kondisi benar, lain halnya dengan state-ment until yang akan mengulang selama kondisi salah. berikut contoh script ut menggunakan until #!/bin/bash i=1; until [ $i -gt 10 ]; do echo $i; let i=$i+1 done
Hasil output scriptnya: 1,2,3,4,5,6,7,8,9,10,
2.2.4 Statement Select
Select berguna untuk pembuatan layout berbentuk menu pilihan, anda lihat contoh script pembuatan menu diatas kita hanya melakukannya dengan echo secara satu persatu, dengan select akan terlihat lebih efisien.
Syntax:
select varname in (<item list>); do perintah; done
Sewaktu dijalankan bash akan menampilkan daftar menu yang diambil dari item list, serta akan menampilkan prompt yang menunggu masukan dari key-board, masukan tersebut oleh bash disimpan di variabel builtin REPLY, apa-bila daftar item list tidak dituliskan maka bash akan mengambil item list dari parameter posisi sewaktu script dijalankan. lebih jelasnya lihat contoh berikut:
#!/bin/bash #menu1
clear
select menu do
echo "Anda memilih $REPLY yaitu $menu" done
Hasilnya : Layout:
menu1 Slackware Redhat Mandrake 1) Slackware
2) Redhat 3) Mandrake ? 1
Anda memilih 1 yaitu Slackware
2.3 Array
Array adalah kumpulan variabel dengan tipe sejenis, dimana array ini meru-pakan feature Bash yang cukup indah dan salah satu hal yang cukup pent-ing dalam bahasa pemrograman, anda bisa membayangkan array ini sebagai
tumpukan buku - buku dimeja belajar. lebih jelasnya sebaiknya lihat dulu contoh script berikut:
#!/bin/bash #array1 buah=(Melon,Apel,Durian); echo ${buah[*]}; Hasil scriptnya : ./array1. Melon,Apel,Durian
Anda lihat bahwa membuat tipe array di Bash begitu mudah, secara otomatis array buah diciptakan dan string Melon menempati index pertama dari array buah, perlu diketahui bahwa array di Bash dimulai dari index 0, jadi array buah mempunyai struktur seperti berikut:
buah[0] berisi Melon buah[1] berisi Apel buah[2] berisi Durian
Bab 3
HASIL PRAKTIKUM
3.1 Ulasan Praktikum Lalu
Pada pratikum minggu lalu kami diberikan contoh soal mengenai perintah seleksi, perulangan, dan array pada shell programming sebagai berikut:
Berikut adalah sintax yang diberikan dan hasil screenshot setelah sintax dijalankan.
1. #!/bin/bash
echo -n "masukkan bilangan :" read bil
if [ $bil -gt 0 ] then
echo "bilangan $bil adalah bilangan positif"; elif [ $bil -eq 0 ]
then
echo "bilangan $bil adalah bilangan netral"; else
echo "bilangan $bil adalah bilangan negatif"; fi;
2. #!/bin/bash
echo -n "masukkan nama seekor binatang :" read BINATANG
echo -n "binatang $BINATANG memiliki :" case $BINATANG in
kuda | anjing | kucing) echo -n "empat" ;; ayam | burung) echo -n "dua" ;; *)
echo -n "tidak diketahui jumlah" ;;
esac
echo " kaki"
3. #!/bin/bash
select fname in "Ayam Goreng" "Ayam Bakar" "Opor Ayam" "exit" do
case $REPLY in
1)echo "Ayo makan nasi dengan ayam goreng spesial" break;
;;
2)echo "Ayo makan nasi dengan ayam bakar spesial" break;
;;
3)echo "Ayo makan nasi dengan ayam opor spesial" break; ;; 4)echo "terimakasih" break; ;; esac done 4. #!/bin/bash
for angka in 1 2 3 4 5; do echo "angka=$angka" done 5. #!/bin/bash i=1; while [ $i -le 10 ]; do echo "$i" let i=$i+2; done 6. #!/bin/bash i=1; until [ $i -gt 10 ]; do echo "$i" let i=$i+1; done 7. #!/bin/bash i=1; array=()
read -p "inputkan jumlah anggota array" jum; while [ $i -le $jum ];
do
read -p "inputkan bilangan [$i] " array[$i]; let i=$i+1;
i=1;
echo "anggota array yang sudah diinputkan " while [ $i -le $jum ];
do
echo "index[$i]=${array[$i]}"; let i=$i+1;
done
1. jawaban soal 1
2. jawaban soal 2
Gambar 3.2: Output soal 2
3. jawaban soal 3
4. jawaban soal 4
5. jawaban soal 5
Gambar 3.5: Output soal 5
6. jawaban soal 6
7. jawaban soal 7
Gambar 3.7: Output soal 7
3.2 Soal Tugas Praktikum
Membuat contoh-contoh program mengenai soal-soal dibawah ini. Tampilkan scriptnya, beserta screenshot hasil setelah program tersebut dijalankan di ter-minal. Berikut soalnya.
• Buatlah script mengenai seleksi, memilih sebuah pilihan kompetensi di ilkom. Kemudian bila memilih akan muncul penjelasan mengenai pilihan kompetensi.
• Buatlah script perulangan bilangan ganjil dan genap! • Buatlah script mengenai array!
Pada laporan, sertakan script program dan screenshots output program.
3.2.1 Jawaban Soal 1
Statement select pada contoh soal Contoh script.
#!/bin/bash
select fmenu in "Komputasi" "RPL" "Jarkom" "exit"; do
case $REPLY in
1) echo "Pada kompetensi ini lulusan diharapkan mempunyai keahlian dalam bidang komputasi komputer, pengembangan algoritma, kecerdasan buatan. ";
break; ;;
2) echo "RPL (Rekayasa Perangkat Lunak), pada kompetensi ini lulusan diharapkan mempunyai keahlian di bidang pembuatan perangkat lunak yang baik dan sesuai dengan kebutuhan serta perkembangan teknologi terbaru.";
break; ;;
3) echo "Pada kompetensi ini lulusan diharapkan mempunyai keahlian di bidang jaringan komputer, komunikasi data dan sistem pengamanan jaringan komputer.";
break; ;; 4) echo "Terimakasih"; break; ;; esac done
Gambar 3.8: Contoh statement select
3.2.2 Jawaban Soal 2
1. Perulangan bilangan ganjil
Script ini bertujuan menampilkan deret perulangan bilangan ganjil sesuai dengan jumlah deret yang diinputkan.
#!/bin/bash
echo -n "Jumlah deret bilangan ganjil:"; read batas
i=1;
let batasbaru=batas*2;
while [ $i -le $batasbaru ]; do
echo "$i,"; let i=$i+2; done
Gambar 3.9: Tampilan deret bil.ganjil 2. Perulangan bilangan genap
#!/bin/bash
echo -n "jumlah deret bilangan genap:"; read batas
i=2;
let batasbaru=batas*2;
while [ $i -le $batasbaru ]; do
echo "$i,"; let i=$i+2; done
Gambar 3.10: Tampilan deret bil.genap
3.2.3 Jawaban Soal 3
Penggunaan Array
Script ini bertujuan menampilkan data berupa banyak hari pada bulan yang diinputkan dengan menggunakan array pada script pemrograman shell.
#!/bin/bash
read -p "masukkan bulan-keberapa yang dicari :" bulan; if [ $bulan -le 0 ] || [ $bulan -gt 12 ]; then
echo "Ops, bulan tidak boleh <1 atau Bulan harus <=12"; exit 0; fi bulan[1]=31 bulan[2]=28 bulan[3]=31 bulan[4]=30 bulan[5]=31 bulan[6]=30 bulan[7]=31 bulan[8]=31
bulan[9]=30 bulan[10]=31 bulan[11]=30 bulan[12]=31
hari=${bulan[bulan]};
echo "Banyak hari dalam bulan $bulan adalah $hari hari" Setelah dijalankan pada terminal hasilnya adalah :
Output script:
Bab 4
PENUTUP
4.1 Kesimpulan
Shell adalah program penerjemah perintah yang dijembatani user dengan sistem operasi. Pada umumnya shell menyediakan prompt sebagai user in-terface, tempat dimana user mengetikkan perintah-perintah yang diinginkan, baik perintah internal shell ataupun perintah eksternal shell untuk mengek-sekusi suatu file program. Di samping itu, shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file dengan menggunakan ed-itor teks, untuk dieksekusi seperti layaknya sebuah program.
Terdapat macam-macam perintah pada pemrograman shell. Beberapa diantaranya adalah seleksi, perulangan, dan array. Masing-masing diantaranya memiliki statement yang berbeda untuk menjalankan perintah.
Pada seleksi terdapat statement if dan builtin case yang bertujuan untuk menyeleksi kondisi majemuk. Pada perulangan terdapat beberapa statement yaitu For, While, Until, Select yang bertujuan untuk melakukan perulangan atau looping pada pemrograman. Sedangkan array adalah kumpulan variabel dengan tipe sejenis, dimana array ini merupakan feature Bash yang cukup indah dan salah satu hal yang cukup penting dalam bahasa pemrograman, anda bisa membayangkan array ini sebagai tumpukan buku - buku dimeja belajar.
4.2 Saran
Shell merupakan salah satu kekuatan yang membuat sistem Linux men- jadi powerful, bertenaga, dan dapat diandalkan untuk segala macam aktifitas komputasi. Shell inilah yang menjadi salah satu tulang punggung jalannya sistem-sistem yang ada pada Linux.
Terdapat banyak statement-statement pada pemrograman shell yang masi harus dipelajari lebih banyak guna membuat suatu program serta dapat mengem-bangkan dan membudayakan open source di komunitas pelajar.
Bab 5
DAFTAR PUSTAKA
1. Dasar-dasar shell dan direktori (http://ilmukomputer.org/2008/11/25/mempela jari-dasar-dasar-shell-operasi-file-dan-direktori) diakses tanggal 20 maret 2011
pukul 20:00 wita
2. Seleksi dan perulangan pada shell programming (http://pemula.linux.or.id/programming shell.html/seleksi) diakses tanggal 20 maret 2011 pukul 20:00 wita
3. Pemrograman shell (http://lecturer.eepis-its.edu/˜subhankh/Shell%20Programming/Pra PRAKTIKUM%20IV.pdf) diakses tanggal 20 maret 2011 pukul 20:00
wita
4. Pengantar shell Linux http://www.yasinmaster.com/computer/linux/pengantar-shell-di-linux.html