Anda di halaman 1dari 28

LAPORAN MODUL 3.3 PRAKTIKUM SISTEM OPERASI ”SELEKSI, PERULANGAN, DAN ARRAY PADA SHELL PROGRAMMING LINUX”

PERULANGAN, DAN ARRAY PADA SHELL PROGRAMMING LINUX” Nama : Luh Sukma Widiasari Nim : 0908605038 Assisten

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

1

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 .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6

2.2

2.1.2 Statement Builtin case

.

Perulangan

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

8

2.2.1

. Statement For

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

2.2.2

Statement While

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

2.2.3

Statement Until .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

2.2.4

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

2.3

Array

Statement Select .

.

.

.

.

.

.

.

.

3 HASIL PRAKTIKUM

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

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

elif

perintah1;

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

fi

echo

"Wah

sorry,

gagal

nih";

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

esac

break

;;

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

done

"angka=$angka";

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

  let i=$i+1;   done 1. jawaban soal 1 Gambar 3.1: Output jawaban soal 1 15

Gambar 3.1: Output jawaban soal 1

15

2.

jawaban soal 2

2. jawaban soal 2 3. jawaban soal 3 Gambar 3.2: Output soal 2 Gambar 3.3: Output

3. jawaban soal 3

Gambar 3.2: Output soal 2

2. jawaban soal 2 3. jawaban soal 3 Gambar 3.2: Output soal 2 Gambar 3.3: Output

Gambar 3.3: Output soal 3

16

4. jawaban soal 4

4. jawaban soal 4 Gambar 3.4: Output soal 4 17

Gambar 3.4: Output soal 4

17

5.

jawaban soal 5

5. jawaban soal 5 6. jawaban soal 6 Gambar 3.5: Output soal 5 Gambar 3.6: Output

6. jawaban soal 6

Gambar 3.5: Output soal 5

5. jawaban soal 5 6. jawaban soal 6 Gambar 3.5: Output soal 5 Gambar 3.6: Output

Gambar 3.6: Output soal 6

18

7. jawaban soal 7

7. jawaban soal 7 Gambar 3.7: Output soal 7 3.2 Soal Tugas Praktikum Membuat contoh-contoh program

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

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

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

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

$hari hari" Setelah dijalankan pada terminal hasilnya adalah : Output script: Gambar 3.11: Tampilan alamat array

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

27