Вы находитесь на странице: 1из 28

LAPORAN MODUL 3.

3
PRAKTIKUM SISTEM OPERASI
”SELEKSI, PERULANGAN, DAN ARRAY PADA
SHELL PROGRAMMING LINUX”

Nama : Luh Sukma Widiasari


Nim : 0908605038

Assisten Dosen :
NAMA : G.A.Vida Mastrika Giri
NIM : 0808605056

Nama Dosen :
I Gusti Ngurah Anom Cahyadi Putra, S.T, M.Cs

Jurusan Ilmu Komputer


Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Udayana
2011
Kata Pengantar

Puji Syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena
berkat rahmat Nya lah laporan Praktikum Sistem Operasi dapat selesai tepat
pada waktunya. Penulis menyadari bahwa laporan ini jauh dari sempurna. Se-
hingga perlu pembelajaran yang lebih mendalam lagi bagi penulis, baik dalam
hal materi perkuliahan maupun dalam suatu bentuk penulisan laporan. Tidak
lupa penulis mengucapkan terima kasih kepada semua pihak yang membantu
penulis dalam penyelesaian laporan ini.

Denpasar, 20 maret 2011

penulis

1
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 . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.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

2
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
3.11 Tampilan alamat array . . . . . . . . . . . . . . . . . . . . . . . 24

3
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,

4
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.

5
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;
fi

1. Contoh Script If

#!/bin/bash

kunci="bash";
read -s -p "Password anda : " pass
if [ $pass==$kunci ]; then
echo "Sukses, anda layak dapat linux"
else

6
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
;;
*) echo "$binatang blom didaftarkan"

7
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:
while KONDISI; do perintah; done;

8
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,

9
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 (&ltitem 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

10
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

11
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

12
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

13
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;
done

14
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

Gambar 3.1: Output jawaban soal 1

15
2. jawaban soal 2

Gambar 3.2: Output soal 2

3. jawaban soal 3

Gambar 3.3: Output soal 3

16
4. jawaban soal 4

Gambar 3.4: Output soal 4

17
5. jawaban soal 5

Gambar 3.5: Output soal 5

6. jawaban soal 6

Gambar 3.6: Output soal 6

18
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.

19
#!/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

Hasil output script :

20
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

Setelah dijalankan pada terminal hasilnya adalah : Output script:

21
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

Setelah dijalankan pada terminal hasilnya adalah : Output script:

22
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

23
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:

Gambar 3.11: Tampilan alamat array

24
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.

25
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.

26
Bab 5

DAFTAR PUSTAKA

1. Dasar-dasar shell dan direktori (http://ilmukomputer.org/2008/11/25/mempelajari-


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/Prak


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

27

Вам также может понравиться