penda hulu an modul 2

51
LAPORAN MODUL 2 PRAKTIKUM SISTEM OPERASI Kelompok 01 NIM / Nama : I Putu Yudi Haryasa 1108605027 I Putu Agustina 1108605053 Asisten Praktikum : I Gede Wira Kusuma Jaya 1008605019 Pembimbing : I Made Agus Setiawan, M.Kom, M.Sc

Upload: gusdhe-keniten

Post on 25-Oct-2015

28 views

Category:

Documents


2 download

TRANSCRIPT

LAPORAN MODUL 2PRAKTIKUM SISTEM OPERASI

Kelompok 01

NIM / Nama : I Putu Yudi Haryasa 1108605027 I Putu Agustina 1108605053

Asisten Praktikum : I Gede Wira Kusuma Jaya 1008605019Pembimbing : I Made Agus Setiawan, M.Kom, M.Sc

PROGRAM STUDI TEKNIK INFORMATIKAJURUSAN ILMU KOMPUTER – FMIPA

UNIVERSITAS UDAYANA

Bukit Jimbaran2013

LEMBAR PENGESAHAN

Judul : Editor Teks Standar Linux & Pemrograman ShellKelompok : 01Nim / Nama : I Putu Yudi Haryasa 1108605027

I Putu Agustina 1108605053Semester : GENAPTahun Ajaran : 2012/2013

Menyetujui,

Asisten Praktikum, Dosen Pembimbing,

(I Gede Wira Kusuma Jaya) (I Made Agus Setiawan, M.Kom, M.Sc)

ii

KATA PENGANTAR

Puji Syukur kami panjatkan kehadapan Ida Sang Hyang Widhi Wasa atau

Tuhan Yang Maha Esa, karena atas berkat rahmat dan karuniaNya kami dapat

menyusun dan menyelesaikan laporan dari mata kuliah Praktikum Sistem Operasi

berupa Laporan Modul 2 Praktikum Sistem Operasi dengan judul Editor Teks

Standar Linux & Pemrograman Shell dengan kriteria yang telah ditentukan ini

sesuai dengan rencana dan tepat pada waktunya.

Tidak ketinggalan pula kami mengucapkan trima kasih atas bantuan dari

berbagai pihak antara lain :

1. Bapak I Made Agus Setiawan, M.Kom, M.Sc selaku dosen pembimbing

mata kuliah Praktikum Sistem Operasi yang telah bersedia membimbing

kami dalam menyelesaikan laporan ini.

2. Para Asisten Dosen dari mata kuliah ini yang telah meluangkan waktunya

untuk memberikan saran dan masukan dalam penyempurnaan laporan ini.

3. Teman – teman mahasiswa di Jurusan Ilmu Komputer angkatan 2011 serta

pihak – pihak lainnya yang telah dengan tulus ikhlas memberikan saran

dan masukan yang bersifat konstruktif serta membangun dalam

penyelesaian laporan ini.

Sebagai pemula, dalam menyusun laporan ini, kami telah berusaha untuk

mencapai hasil yang semaksimal mungkin, walaupun masih terdapat kesalahan

dalam penulisan kata – kata. Kami menyadari bahwa laporan ini masih jauh dari

kata “sempurna”. Maka dari itu, dengan kerendahan hati, kami sangat

mengharapkan saran dan kritik dari semua pihak yang sudah barang tentu yang

sifatnya membangun.

Oleh karena itu, besar harapan kami agar laporan ini dapat bermanfaat

sebagaimana mestinya bagi kita semua. Akhir kata kami ucapkan terima kasih.

Bukit Jimbaran, 02 Juni 2013

Kelompok 01

iii

DAFTAR ISI

Halaman Judul..................................................................................................i

Lembar Pengesahan .........................................................................................ii

Kata Pengantar .................................................................................................iii

Daftar Isi ...........................................................................................................iv

MODUL 2 : Editor Teks Standar Linux & Pemrograman Shell.................6

1.1. Tujuan Praktikum ........................................................................................6

1.2. Indikator Pencapaian ...................................................................................6

1.3. Tugas Modul................................................................................................6

1.3.1. Tugas Pendahuluan..........................................................................6

1.4. Hasil dan Pembahasan ................................................................................7

1.4.1. Shell Interaktif..................................................................................7

1.4.2. Pemrograman Bash..........................................................................17

1.5. Kesimpulan dan Saran.................................................................................45

1.5.1. Kesimpulan......................................................................................45

1.5.2. Saran ................................................................................................45

1.6. Daftar Pustaka..............................................................................................46

iv

MODUL 2

v

Modul 2

TEKS STANDAR LINUX & PEMROGRAMAN SHELL

1.1 Tujuan Praktikum Praktikan diharapkan mengenal dan mampu menggunakan Text Editor

Standar yang disediakan Linux. Praktikan diharapkan memahami apa itu Shell dan bagaimana membuat

Shell Script dengan fasilitas – fasilitas yang disediakan oleh Shell.

1.2 Indikator Pencapaian Praktikan dapat menggunakan Text Editor Standar yang disediakan

Linux. Praktikan dapat menjelaskan Shell dan membuat Shell Script dengan

fasilitas – fasilitas yang disediakan oleh Shell.

1.3 Tugas Modul

1.3.1. Tugas Pendahuluan

Petunjuk A: Shell Interaktif

1. Nyalakan komputer dan pilih system operasi Linux yang tersedia.

2. Tunggu proses booting selesai yaitu pada saat keluar permintaan untuk memasukkan username dan password. Masukkan username kemudian tekan enter. Jika yang muncul login versi GUI tekan “ctrl+alt+f1” untuk merubah ke mode teks.

3. Login dengan menggunakan username dan password yang ada kemudian tekan “enter”.

4. Sebelum memulai mengerjakan tugas di bawah, YAKINKAN SETIAP KELOMPOK HARUS MENGGUNAKAN USERNAME TERSENDIRI. Buat nama user yang merepresentasikan nama kelompok,

misalnya klp01. Langkah untuk membuat user baru, yaitu :

$sudo adduser <nama-klp-anda> {membuat user baru}$passwd <nama-klp-anda> {menentukan password user}$exit

Setelah berhasil membuat nama user baru, login ulang dengan menggunakan user tersebut.

5. Setelah proses selesai dan berada dalam Shell, tuliskan perintah – perintah berikut ini dan catat hasilnya dalam laporan.

Berikut ini contoh perintah yang harus dijalankan kemudian interpretasikan atau maknai respon yang muncul pada layar monitor.Contoh command :madeagus@debian4e : $ls ’enter’Interpretasi/Deskripsi : menampilkan isi dalam sebuah direktori saat ini.Output : tampilkan hasil keluarannya.

6. Daftar perintah yang dijalankan (per baris), yaitu :$echo halo dunia enter$date enter$hostname enter$uname –a enter$dmesg | more enter (tekan q untuk keluar)$uptime enter$whoami enter$who enter$id enter$last enter$w enter$top enter (tekan q untuk keluar)$echo $SHELL enter$echo {con,pre}{sent,fer}{s,ed} enter$man ls enter (tekan q untuk keluar)$man who enter (tekan q untuk keluar)$who can tell me why I got broken heart enter$last enter$clear enter$sudo fdisk -1 enter$users enter$cat /etc/fstab enter$cal 2000 enter$cal 9 1752 enter (apakah anda mencatat sesuatu yang aneh ???)$cal 10 2007 enter$yes please enter (tekan ctrl-c untuk keluar)$pwd enter$history enter$sudo tail –f /var/log/message enter (tekan ctrl-c untuk keluar)$lsmod enter$ps –aux enter$lspci enter$free enter

2

$cat /proc/cpuinfo enter$reboot enter$halt enterCatat versi kernel yang digunakan saat itu dengan menggunakan perintah “uname -a” kemudian tekan ‘enter’.

Petunjuk B: Pemrograman Bash

Berikut ini akan diberikan beberapa percobaab mengenai perintah pemrograman Shell.1. Catatlah hasil yang diberikan untuk setiap percobaan yang

dilakukan menggunakan format laporan untuk setiap soal seperti dibawah : Output/respon dari skrip Error dan perbaikannya jika ada Penjelasan mengenai masing-masing soal seperti pada modul

2. Untuk Shell yang bersifat interaktif catat respon untuk masing-masing baris yang dieksekusi.

3. Untuk semua soal harap diharapkan tanda-tanda berikut : Tanda $ dibawah mangindikasikan skrip interaktif Tanda #!/bin/bash (shbang line) mengindikasikan skrip harus

ditulis dalam sebuah file dan disimpan dengan nama soalnyaContoh soal “SoalA02” disimpan menjadi file “soalA02.sh”.

Yakinkan bahwa file .sh tersebut memiliki execute permission.

4. YAKINKAN SETIAP MAHASISWA HARUS MENGGUNAKAN USERNAME TERSENDIRI

5. PEMBAGIAN SOAL :

Group A

1. Soal A01 (Shell interaktir)

$if grep “root” /etc/passwd; then echo “disini ada root”; else echo “tidak ada”; fi

2. Soal A02 (program shell)

#!/bin/bashecho “selamat dating $USER”echo “di shell programming”

3. Soal A03 (variable lokal)

3

##!/bin/bashclearnama=budikelas=”Genap2013”program_studi=Informatikamata_kuliah=”Praktikum Sistem Operasi”echo nama : $andiecho kelas : $kelasecho program studi : $program_studiecho mata kuliah : $mata_kuliah

4. Soal A04 (environtment variabel)

$envDari respon system di layar monitor buat table dan catat isi dari variable berikut :LOGNAMEUSERSHELLHOMEPWDKemudian jalankan perintah berikut :

$export USER=Budi$env

Catat apakah ada perubahan yang terjadi pada variable USER.

5. Soal A05 (Metakarakter dan Quoting)

#!/bin/bashecho “echo direktori anda “echo “direktori anda ~”

1.4 Hasil dan Pembahasan1.4.1 Shell Interaktif

4

1) $echo halo duniaInterpretasi/Deskripsi :Perintah untuk menampilkan pesan yaitu “halo dunia” di layar terminal.Output :

2) $dateInterpretasi/Deskripsi :Perintah untuk menampilkan tanggal dan waktu saat ini.Output :

3) $hostnameInterpretasi/Deskripsi :Perintah untuk menampilkan hostname atau nama sistem.Output :

5

4) $uname –aInterpretasi/Deskripsi :Perintah untuk menampilkan seluruh informasi dari sistem.Output :

5) $dsmesg | moreInterpretasi/Deskripsi :Perintah untuk menampilkan pesan – pesan kernel dan driver dengan menggunakan command more.Output :

6

6) $uptimeInterpretasi/Deskripsi :Perintah untuk menampilkan jumlah waktu atau lamanya pemakaian komputer, terhitung dari proses reboot terakhir.Output :

7

7) $whoamiInterpretasi/Deskripsi :Perintah untuk menampilkan user atau pengguna saat ini.Output :

8) $whoInterpretasi/Deskripsi :Perintah untuk menampilkan semua nama user yang sedang log in.Output :

8

9) $idInterpretasi/Deskripsi :Perintah untuk menampilkan user dan group id.Output :

10) $lastInterpretasi/Deskripsi :Perintah untuk menampilkan user sebelumnya yang telah login di komputer.Output :

9

11) $wInterpretasi/Deskripsi :Perintah untuk menampilkan user yang sedang login dan apa yang dikerjakan.Output :

12) $topInterpretasi/Deskripsi :Perintah untuk menampilkan daftar proses yang berjalan pada sistem atau Table of Processes.Output :

10

13) $echo $SHELLInterpretasi/Deskripsi :Perintah untuk menampilkan Shell yang sedang digunakan.Output :

11

14) $echo {con,pre}{sent,fer}{s,ed}Interpretasi/Deskripsi :Perintah untuk menggabungkan kata – kata yang berada di dalam kurung kurawal ({}) sebanyak semua kemungkinan yang terjadi.Output :

15) $man lsInterpretasi/Deskripsi :Perintah untuk menampilkan dokumen asli dari perintah ls.Output :

12

16) $man whoInterpretasi/Deskripsi :Perintah untuk menampilkan dokumen asli dari perintah who.Output :

13

17) $who can tell me why I got broken heartInterpretasi/Deskripsi :Perintah untuk membaca dimana operator maksimal memiliki 2 operand, jadi perintah di atas error setelah kata “tell”.Output :

14

18) $lastInterpretasi/Deskripsi :Perintah untuk menampilkan user sebelumnya yang telah login di komputer.Output :

19) $clearInterpretasi/Deskripsi :Perintah untuk menghapus layar terminal.Output :

15

20) $sudo fdisk -lInterpretasi/Deskripsi :Perintah untuk menampilkan tabel partisi manipulator untuk Linux.Output :

16

21) $usersInterpretasi/Deskripsi :Perintah untuk menampilkan daftar user yang sekarang ini login.Output :

22) $cat /ect/fstabInterpretasi/Deskripsi :Perintah untuk menampilkan isi dari file fcstab.Output :

17

23) $cal 2000Interpretasi/Deskripsi :Perintah untuk menampilkan kalender pada tahun 2000.Output :

24) $cal 9 1752

18

Interpretasi/Deskripsi :Perintah untuk menampilkan kalender bulan September pada tahun 1752. Namun di sini terjadi kesalahan pada tanggalnya, adapun kesalahannya yaitu dari tanggal 2 langsung loncat ke tanggal 14. Hal ini berarti sebagai peralihan dari penanggalan Julian ke penanggalan GregorianOutput :

25) $cal 10 2007Interpretasi/Deskripsi :Perintah untuk menampilkan kalender pada tahun 2007 tepatnya bulan Oktober.Output :

26) $yes please

19

Interpretasi/Deskripsi :Perintah untuk mencetak string “please” sampai proses di interupt.Output :

27) $pwdInterpretasi/Deskripsi :Perintah untuk menampilkan direktori kerja.Output :

20

28) $historyInterpretasi/Deskripsi :Perintah untuk menampilkan history pada terminal, atau menampilkan apa saja yang dilakukan oleh user pada terminal.Output :

21

29) $sudo tail –f /var/log/messageInterpretasi/Deskripsi :Perintah untuk menampilkan bagian terakhir dari file message tetapi file message tidak ditemukan.Output :

22

30) $lsmodInterpretasi/Deskripsi :Perintah untuk menampilkan modul – modul kernel yang telah diload.Output :

23

31) $ps -auxInterpretasi/Deskripsi :Perintah untuk menampilkan seluruh proses yang dijalankan baik pada terminal maupun tidak.Output :

24

32) $lspciInterpretasi/Deskripsi :Perintah untuk menampilkan semua perangkat yang terhubung dengan port pci.

25

Output :

33) $freeInterpretasi/Deskripsi :Perintah untuk menampilkan penggunaan dari memori.Output :

26

34) $cat /proc/cpuinfoInterpretasi/Deskripsi :Perintah untuk menampilkan informasi mengenai CPU.Output :

27

35) $rebootInterpretasi/Deskripsi :Perintah untuk mereboot sistem.Output :

36) $haltInterpretasi/Deskripsi :Perintah untuk menghentikan sistem.Output :

28

1.4.2 Pemrograman Bash1) Output:

Penjelasan:Script bash di atas menggunakan klausa if, then, else. Dalam statement if, dilakukan pengecekan dengan menjalankan command ‘grep “root” /etc/passwd’. Hasil dari command tersebut akan ditampilkan, jika dalam sistem terdapat user root, maka baris yang berisi data user root akan ditampilkan. Jika command tersebut memberikan nilai keluaran, maka output ‘disini ada root’ akan ditampilkan, sedangkan jika tidak terdapat nilai keluaran, maka output ‘tidak ada’ akan ditampilkan.

2) Script bash:

29

Output:

Penjelasan:Script bash tersebut menampilkan teks pada terminal dengan menggunakan command echo. Pada command echo yang pertama, digunakan variabel environmet $USER, yang menyimpan nama user efektif yang sedang digunakan untuk menjalankan script.

30

3) Script bash:

Error dan perbaikan:Jika script bash tersebut dijalankan, maka akan ditampilkan output seperti gambar di bawah. Variabel $andi tidak menyimpan nilai, sehingga tidak ditampilkan output pada bagian nama.

31

Agar keluaran menjadi lebih sesuai, seharusnya variabel $andi pada script bash tersebut diganti dengan variabel $nama yang telah dideklarasikan dengan ‘Budi’. Sehingga hasil script bash akan menjadi seperti berikut.

Output:

32

Penjelasan:Setelah dilakukan perubahan pada script bash, terlihat pada bagian nama telah ditampilkan output ‘Budi’. Script bash tersebut menggunakan empat buah variabel lokal. Variabel nama dan program_studi memiliki nilai yang terdiri dari satu kata sehingga tidak menggunakan tanda petik dua, sedangkan variabel kelas dan mata_kuliah memiliki nilai yang terdiri dari lebih dari satu kata sehingga nilainya diapit dengan tanda petik dua. Serupa dengan soal sebelumnya, output ditampilkan dengan command echo dan variabel lokal.

4) Dengan menjalankan command ‘$ env’, didapat hasil output seperti berikut:

Dari output hasil eksekusi command ‘$ env’, didapat data variabel environment berikut:

LOGNAME klp01

33

USER klp01SHELL /bin/bashHOME /home/klp01PWD /home/klp01

Kemudian dijalankan command bash berikut.

Didapat hasil keluaran berikut

34

Terjadi perubahan pada variabel USER menjadi bernilai Budi.

Penjelasan:Command ‘$ env’ menampilkan nilai variabel environment yang ada. Setelah command ‘export USER=Budi’ dieksekusi, maka terjadi perubahan pada nilai variabel USER dikarenakan command export mengubah nilai variabel USER tersebut dengan nilai baru.

5) Script bash:

35

Output:

Penjelasan:Pada command echo pertama, command ‘echo ~’ akan menampilkan lokasi home directory dari user yang digunakan untuk menjalankan script bash tersebut.Command echo kedua akan menampilkan teks ’direktori anda’ diikuti dengan lokasi home directory. Dengan kata lain, meta karakter ~ bernilai alamat dari home directory user yang menjalankan script.

36

Sedangkan pada command echo ketiga, kalimat ‘direktori anda’ dan tanda ~ diapit dalam tanda petik dua. Hal ini mengakibatkan karakter ~ tidak dianggap sebagai metakarakter, sehingga akan ditampilkan secara langsung tanpa diterjemahkan menjadi lokasi home directory.

5.1 Kesimpulan dan Saran1.5.1. Kesimpulan

Dari tugas pendahuluan yang telah kami kerjakan, maka bisa kami simpulkan :

a. Shell merupakan command line interpreter yang berfungsi untuk melakukan sesuatu harus dengan mengetikkan suatu baris perintah. Dimana Shell merupakan interface linux kernel dengan penggunanya guna menuliskan perintah yang kemudian akan dieksekusi langsung oleh kernel.

b. Fungsi teks editor berfungsi untuk membuat sebuah file teks yang bisa berupa text atau script, dan ada 2 jenis yaitu : yang berbasis Shell dan berbasis GUI

c. Berbeda dengan yang ada di Windows perintah dalam Shell memiliki case-sensitive ,jadi suatu baris harus diketik besar kecilnya sesuai dengan yang ada.

d. Ada 4 macam Teks editor pada Linux yaitu Vi ,Vim , Pico dan Nano dan diantaranya masih memiliki hubungan dimana yang 1 merupakan improvement dari yang sebelumnya

1.5.2. Saran a. Agar di dalam melakukan praktikum nanti kita diperkenalkan

bagaimana cara menggunakan teks editor dan menanfaatkan fitur yang ada dari teks editor tersebut.

b. Karena dalam Unix ada berabagai macam shell yang digunakan ,agar pada praktikum para praktikan diajarkan cara untuk memilih dan menggunakan serta mengetahui fitur serta kelebihan dan kekurangan dari suatu shell.

c. Di dalam Shell ada ada perbedaan antara perintah dan data, mohon agar diberikan pengetahuan lebih lanjut mengenai hal tersebut.

37

5.2 Daftar Pustaka

Pengantar  Pemrograman Bash   Shell di Linuxhttp://pemula.linux.or.id/programming/bash-shell.htmldiakses pada 02 Juni 2013, 19.45 WITA

Praktikum SO – Modul 1 “SHELL INTERAKTIF dan SKRIP”http://mmisbahsubkhi.wordpress.com/2012/12/18/praktikum-so-modul-1-shell-interaktif-dan-skrip/diakses pada 02 Juni 2013, 19.49 WITA

Belajar Bahasa Pemrograman Bashhttp://www.makeitfossible.web.id/2013/01/06/belajar-bahasa-pemrograman-bash/ diakses pada 02 Juni 2013, 19.52 WITA

Pengenalan Pemrograman Bashhttp://batikmadrim.wordpress.com/2008/03/26/pengenalan-pemrograman-bashdiakses pada 02 Juni 2013, 19.57 WITA

38

39