Download - Penda Hulu an Modul 2
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
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