i
LAPORAN MODUL II
PRAKTIKUM SISTEM OPERASI
Kelompok 4 :
Nama / NIM : Ni Wayan Eka Ayuningsih 1208605001
: Adam Rain B.S.N. 1208605015
Asisten Praktikum : Made Agung Raharja, S.Si., M.Cs.
Pembimbing : I Made Agus Setiawan, S.Kom, M.Kom.
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
Bukit Jimbaran
ii
iii
KATA PENGANTAR
Om Swastyastu,
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena berkat rahmat
dan karunia-Nya lah penulis dapat menyelesaikan Laporan Pendahuluan Modul II Praktikum
Sistem Operasi.
Laporan ini disusun untuk memenuhi tugas dari rangkaian praktikum sistem operasi
Jurusan Ilmu Komputer, Universitas Udayana. Penulis menyadari bahwa dalam proses
penyusunan laporan ini terdapat banyak kekurangan dan jauh dari sempurna. Maka dari itu,
penulis mengharapkan kritik dan saran yang membangun dari pembaca, guna perbaikan
dalam menyusun laporan berikutnya.
Dengan selesainya laporan ini, penulis mengharapkan laporan ini dapat bermanfaat
bagi penulis pada khususnya dan bagi pembaca pada umumnya.
Om Santhi, Santhi, Santhi Om.
Bukit Jimbaran, November 2013
iv
DAFTAR ISI
LEMBAR PENGESAHAN ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... iv
Modul 2 Editor Teks Standar Linux & Pemrograman Shell... 2
2.1 Tujuan Praktikum ... 2
2.2 Dasar Teori ... 2
2.2.1 Pengenalan Editor Teks ... 2
2.2.1.1 Vi editor ... 2
2.2.1.2 Mode Pada VI ... 3
2.1.1.4 Vim Editor ... 4
2.1.1.5 Pico ... 4
2.1.1.5 Nano ... 5
2.2.2 Pengenalan shell ... 5
2.2.2.1 Macam-macam shell ... 6
2.2.2.2 Kenapa Shell ? ... 7
2.3 Tugas Modul ... 8
2.3.1 Tugas Pendahuluan ... 8
2.3.1.1 Petunjuk A : Shell Interaktif ... 8
2.3.1.2 Petunjuk B : Pemrograman Bash ... 10
2.4 Hasil dan Pembahasan ... 12
2.4.1 Shell Interaktif ... 12
2.4.2 Pemrograman Bash ... 27
2.5 Kesimpulan Dan Saran ... 33
2.5.1 Kesimpulan ... 33
2.5.1 Saran ... 33
2.6 Daftar Pustaka ... 34
1
2
Modul 2
Editor Teks Standar Linux & Pemrograman Shell
2.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.
2.2 Dasar Teori
2.2.1 Pengenalan Editor Teks
Teks editor berfungsi untuk membuat sebuah file teks dimana teks tersebut
bisa berupa teks biasa atau sebuah skrip. Di Linux terdapat beberapa paket
program yang berfungsi sebagai teks editor, seperti vi, vim, emac, gedit dll.
Namun secara umum teks editor dibagi menjadi dua jenis, yang pertama teks
editor berbasis shell, dan yang kedua berbasis GUI.
2.2.1.1 Vi editor
Vi (vee-yee) adalah salah satu teks editor di Linux yang bebasis
shell, atau bisa juga disebut display-oriented teks editor. Editor ini
sangatlah simple karena hanya mengandalkan fungsinya saja, dan
hanya menggunakan keyboard untuk antarmuka dengan
penggunanya. Vi tidak menggunakan menu bar seperti layaknya
aplikasi teks editor yang lain. Vim (vi improved) merupakan aplikasi
versi yang lebih lengkap dibandingkan vi, namun secara mendasar
perintah-perintah dasarnya sama antara keduanya. Vim memiliki
beberapa perintah tambahan selain yang ada di vi. Untuk dapat
menggunakan vi/vim sebagai teks editor dapat digunakan perintah
sebagai berikut :
$vi <nama file> “enter” atau $vim <nama file> “enter”
Nama file bisa berupa file yang sudah ada atau bisa saja membuat
baru. Ketika vi dipanggil dengan parameter nama file aplikasi ini
3
jika sudah tersedia maka akan membuat file tersebut sehingga isi dari
file akan terlihat di layar monitor, sementara jika file yang dipanggil
tidak ada maka aplikasi akan menerjemahkan sebagai proses
pembuatan file baru. Untuk selanjutnya di dalam buku ini akan
dibahas mengenai vim namun bagi para pembaca bisa juga
menerapkan untuk vi.
2.2.1.2 Mode Pada VI
VIM memiliki 3 mode utama yaitu Command mode, Insert Mode,
dan Line Mode.
1. Command Mode
Huruf atau susunan huruf yang secara interaktif digunakan untuk
mengendalikan VI.VI command bersifat case sensitive. ESC
digunakan untuk mengakhiri Command Mode.
2. Insert Mode (IM)
Digunakan untuk memasukkan teks / tulisan kedalam editor.
Untuk masuk ke dalam mode ini ketikkan “I” pada editor. Mode
ini juga bersifta case sensitive. Penulisan dengan jenis caps yang
berbeda menghasilkan output yang berbeda.
Text Insert Kegunaan
i Masuk ke dalam insert mode
a Menyisipkan teks
A Menyisipkan teks diakhir baris
Membuat baris baru setelah baris yang
diseleksi
Menbuat baris baru diatas baris yang
diseleksi
3. Command Line Mode
Mode ini diawali dengan mengetikkan “:” pada editor diikuti
perintah command line pada bagian bawah editor. Contohnya
4 2.1.1.4 Vim Editor
Vim (vi improved) merupakan aplikasi versi yang lebih lengkap
dibandingkan vi, namun secara mendasar perintah-perintah dasarnya
sama antara keduanya. Vim memiliki beberapa perintah tambahan
selain yang ada di vi.
Konsep aplikasi vim hanya mengandalakn keyboard sebagai saran
antarmua dengan penggunanya. Hal ini akan mengakibatkan
kerancuan antara tulisan dengan perintah, untuk itu kemudian vim
dibuat dalam bentuk konsep modal editor.
Modal editor pada prinsipnya adalah teknik penanganan masukkan
user dari satu jenis perangkat antarmuka untk membedakan data dan
perintah. Dalam hal ini ada, kondisi dimana keyboard berfungsi
sebagai data dan kondisi lain dimana keyboard berfungsi sebagai
shortcut sebuah perintah. Kondisi ini dalam vim disebut mode, ada
mode insert dan ada mode command. Mode insert berfungsi bagi
pengguna untuk melakukan penulisan, sedangkan mode command
berfungsi membaca data dari keyboard sebagai perintah. hal inilah
yang kemudian disebut sebagai modal editor.
2.1.1.5 Pico
Pico adalah editor teks untuk Unix dan Unix sistem berbasis
komputer. pico sangat sederhana dan mudah digunakan editor teks
yang menawarkan fungsi justifikasi, cut / paste.
Pico tidak mendukung bekerja dengan beberapa file secra simultan
dan tidak dapat melakukan menemukan dan mengganti berbagai fle.
Ia juga tidak dapat menyalin teks dari satu file ke lain ( walaupun
ada kemungkinan untuk membaca teks ke dalam editor dari file
dalam direktori kerja). Pico juga mendukung pencarian dan
mengganti operasi.
Interface Pico sangat mirp dengan yang ditemukan pada Windows
editor, seperti Notepad. Dengan perbandingan, beberapa popular
Unix editor teks seperti vi dan Emacs memberikan secara signifikan
lebih besar daripada jumlah fitur Pico, termasuk ekspresi regular
5
yang bersamaan. Namun, mereka umunya sulit untuk mempelajari
bagaimana cara menggunakannya.
2.1.1.5 Nano
Ini merupakan tiruan dari Pico. Nano bertujuan untuk meniru
fungsionalitas dn mudah digunakan dari antarmuka Pico. Nano
adalah perangkat lunak bebas. Dengan rilis versi 2.0.7 yang telah
berubah dari lisensi GPLv2 ke GPLv3. Nano, seprti Pico, adalah
keyboard-oriented, dikontrol dengan tombol control.
Misalnya, Crl-O menyimpan file saat ini; Ctrl-W pergi ke menu
pencarian; Ctrl-X keluar dari editor. Nano meletakkan dua baris
“shortcut bar” di bagian bawah layar, banyak dari daftar perintah
yang tersedia saat ini dalam konteks.
2.2.2 Pengenalan shell
Dunia Linux atau umunya keluarga unix mempunyai perbedaan jauh di
bandingkan dengan sistem operasi lain, misalnya Microsoft Windows.
Dikarenakan terbiasa dengan windows maka akan sulit jika harus langsung
berhadapan dengan linux. Secara teoritis sebelum menggunakan linux hal
dasra yang harus diketahui ialah istilah-istilah yang ada d Linux. Shell salah
satu istilah yang umum diperbincangkan tapi banyak juga yang sampai detik
ini belum mempunyai gambaran jelas, padahal shell ialah tempat konfigurasi
dan menjalankan / mengoperasikan Linux.
Distro (distribusi) linux sekarang ini telah dikembangkan oleh para
developer untuk membuat Linux secantik mungkin. Dengan tujuan agar
Linux digemari dan masyarakat mulai beralih ke sebuah babak baru; open
source. Dengan menyertakan berbagai kecantika dari window manager
seperti KDE, Gnome maka banyak pemula Linux yang mengabaikan
keberadaan shell. Shell tidak ditujukkan bagi seorang admin tapi juga bagi
pengguna linux tanpa kecuali. Dibawah ini diuraikan kegunaan shell yang
saya petik dari artikel I Made Wiryana (Pengantar Belajar Unix).
Kegunaan shell
1. Pemakaian interaktif
2. Untuk mengontrol session UNIX
6 3. Pemrograman
Unix shell menyediakan sekumpulan instruksi khusus yan dapat
digunakan untuk membuat program shell scripts.
2.2.2.1 Macam-macam shell
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, sehinga memungkinkan pemakai memilih shell
dimana yang paling baik untuk membantu menyelesaikan
pekerjaanya, 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 adala
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 karen kemudahan serta banyaknya fasilitas
perintah yang disediakan.
Shell secara singkat seperti MS Dos milik Microsoft. Memang benar
dibutuhkan untuk menghapal perintah-perintah shell jika ingin
melakukan sesuatu. Contohnya proses copy file, jika ingin
meng-copy file maka perlu mengetikkan perintah tertentu dan mungkin
anda berpikri terlalu. Jika dibandingkan dengann window manager
7
Kalaupun merasa nyaman dengan menggunakan window manager
(KDE, Gnome) maka yakilah bahwa sesungguhnya window manager
merupakan ”kepanjangan tangan” dari shell. Window manager merupakan visualisasi dari shell untuk mempermudah pengoperasian
. contoh sederhananya ialah jika menggunakan KDE untuk melihat
informasi prosesor maka bisa melihatnya di control center. Tapi
sebenarnya perintah tersebut merupakan visualisasi dari peintah di
shell yaitu :
[madeagus@ubuntu] $ cat/proc/cpuinfo
2.2.2.2 Kenapa Shell ?
Shell merupakan command line interpreter artinya untuk melakukan
apapun harus dengan mengetikkan baris perintah. dennis Ritchie dan
Ken Thompson (pembuat Unix) berpendapat media apa yang harus
dibuat agar orang dapat “ mencoba” unix mereka. Kemudian
dibuatlah shell dengan nama Bourne Shell (sh) yang dibuat oleh SR
Bourne. Semenjak itu bermunculah jenis shell yang lain yaitu C
shell, Korn shell dan milik GNU sendiri yaitu Bourne Again shell
(bash), shell versi gratis. Secara default dalam Linux menggunakan
bash shell. Untuk melihat tipe shell user ketikkan :
Sintaknya yaitu :
[madeagus@ubuntu]$grep nama_user /etc/passwd
[madeagus@ubuntu]$grep zero / etc/passwd
Zero:x:500:500::/home/szero:/bin/bash
Panduan untuk mengetahui jenis shell
Dari contoh diatas username zero menggunakan shell jenis bash.
Shell secara garis besar lebih powerfull dibandingkan dengan
window manager. Yang perlu diingat karena linux ditulis dengan
bahasa C dan bahasa C bersifat case sensitive yang artinya
membedakan antara huruf kecil dan bear, maka perintah di shell
ketik dalam huruf kecil jika diketik dalam huruf besar shell tidak
8
Shell Arti
/bin/sh Shell (bash)
/bin/rsh Restricted bourne shell
/bin/jsh Bourne shell termasuk jobs control
/bin/ksh Korn shell
/bin/rksh Restricted korn shell
2.3 Tugas Modul
2.3.1 Tugas Pendahuluan
2.3.1.1 Petunjuk A : Shell Interaktif
1. Nyalakan komputer dan pilih sistem operasi Linux yang tersedia.
2. Tunggu proses booting selesai yaitu pada saat keluar permintaan untuk
memaukkan username dan password. Masukkan username kemudian
tekan enter. Jika yang muncul login versi GUI tekan “ctrl+alt+F1” untuk
mengubah ke mode teks.
3. Login dengan menggunakan username dan password yang ada kemudian
tekan „enter”/
4. Sebelum memulai mengerjakan tugas dibawah, yakinkan setiap
kelompok harus menggunakan username tersendiri.
Buat nama user yang merepresentasikan nama kelompok, missal klp01
Langkah untuk membuat user baru
$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
interprestasikan atau maknai respon yang muncul pada layar monitor.
9
madeagus@debiam4e: $ls „enter‟
interpretasi/deskripsi : menampilkan isi dalam sebuah direktori saat ini.
Output : tampilkan hasil keluarannya.
6. Daftar perintah yang dijalankan (per baris)
$echo halo dunia „enter‟ $date „enter‟
$hostname „enter‟
$uname –a „enter‟
$dmesg | more „enter‟ (tekan „q‟ untuk keluar)
$uptime „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 ang 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)
10
2.3.1.2 Petunjuk B : Pemrograman Bash
Berikut ini akan diberikan beberapa percobaan mengenai perintah
pemrograman shell.
1. Catatlah hasil yang diberikan untuk setiap percobaan yang dilakukan dengan
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 ang bersifa interaktif catat respon untuk masing-masing baris
yang dieksekusi.
3. Untuk semua soal harap diperhatikan tanda-tanda berikut :
Tanda $ diawali mengindikasikan skrip interaktif
Tanda #! /bin/bash (shbang line) mengindikasikan skrip harus ditulis dalam sebuah file dan disimpan dengan nam soalnya.
Contoh 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 B
1. soalB01 (shell interaktif)
$echo “hari ini adalah „date‟ “
2. soalB02 (program shell)
##!/bin/bash
clear
echo “nama login anda $LOGNAME”
11
echo “selamat bekerja”
3. soalB03 (Variabel Lokal)
#!/nbin/bash
clear
data=‟date +%D‟ jumlah= „who | wc-l‟
echo “tanggal $data ada $jumlah user login”
4. soalB04 (environment variabel)
#!/nbin/bash
nama=aldo
echo isi dari variabel nama adalah $nama
nama=budi
echo isi dari variabel nama adalah $nama
5. soalB05 (Metakarakter dan Quoting) catat respon dari setiap baris
perintah
$echo hari ini hari jum‟at $echo hari ini hari jum\‟at
12 2.4 Hasil dan Pembahasan
2.4.1 Shell Interaktif
Setelah membuat username baru yang kami beri nama kelompok4 dengan
perintah:
$sudo adduser <kelompok4> {membuat user baru}
$passwd <*********>> {menentukan password user}
$exit
Barulah proses shell interaktif dimulai. Pemrograman shell interaktif ini, kami
jalankan pada terminal Ubuntu . Hal yang pertama dilakukan adalah membuka
terminal dan login sebagai user „kelompok4‟. Berikut adalah dokumentasi perintah shell interaktif baris perbaris:
a. Perintah 1
$echo halo dunia „enter‟
Gambar 1.1 Eksekusi Perintah echo
Perintah echo digunakan untuk menampilkan string/karakter di layar
monitor
b. Perintah 2
$date „enter‟
Gambar 1.2 Eksekusi Perintah date
Perintah date digunakan untuk menampilkan tanggal dan waktu pada hari
13 c. Perintah 3
$hostname „enter‟
Gambar 1.3 Eksekusi Perintah hostname
Perintah hostname digunakan untuk menampilkan nama komputer.
d. Perintah 4
$uname –a „enter‟
Gambar 1.4 Eksekusi Perintah uname –a
Perintah uname –a digunakan untuk menampilkan sistem kernel yang digunakan pada OS Anda.
e. Perintah 5
$dmesg | more
Perintah diatas digunakan untuk mencetak pesan-pesan pada waktu proses
boot secara layar perlayar.
14 f. Perintah 6
$uptime „enter‟
Perintah uptime digunakan untuk melihat jumlah waktu pemakaian
komputer oleh seseorang, terhitung proses reboot terakhir.
g. Perintah 7
$whoami „enter‟
Gambar 1.7 Eksekusi Perintah whoami
Perintah whoami digunakan untuk mengetahui username yang digunakan
saat login.
h. Perintah 8
$who „enter‟
Gambar 1.8 Eksekusi Perintah who
Perintah who digunakan untuk melihat nama login kita.
i. Perintah 9
$id „enter‟
Gambar 1.9 Eksekusi Perintah id
Perintah id digunakan untuk menampilkan nama user (nama login) beserta uid (user ID) dan nama group beserta gid (group ID).
15 j. Perintah 10
$last „enter‟
Gambar 1.10 Eksekusi Perintah last
Perintah last digunakan untuk melihat user sebelumnya yang telah login di
komputer.
k. Perintah 11
$w „enter‟
Gambar 1.11 Eksekusi Perintah w
16 l. Perintah 12
$top „enter‟
Gambar 1.12 Eksekusi Perintah top
Perintah top digunakan untuk menampilkan informasi yang selalu up to date dan bersifat dinamis.
m. Perintah 13
$echo $SHELL „enter‟
Gambar 1.13 Eksekusi Perintah echo $SHEL L
Perintah echo $SHELL digunakan untuk menampilkan Shell yang sedang aktif.
n. Perintah 14
$echo {con,pre}{sent,fer}{s,ed} „enter‟
Gambar 1.14 Eksekusi Perintah {con,pre}{sent,fer}{s,ed} „enter‟ Perintah diatas digukan untuk menggabungkan kata yang ada pada kurung
17 o. Perintah 15
$man ls „enter‟
Gambar 1.15 Eksekusi Perintah man ls
Perintahman ls digunakan untuk menampilkan bagaimana cara penggunaan perintah ls secara lengkap.
p. Perintah 16
$man who „enter‟
Gambar 1.16 Eksekusi Perintah man who
18 q. Perintah 17
$who can tell me why I got broken heart „enter‟
Gambar 1.17 Eksekusi Perintah $who can tell me why I got broken heart
Perintah diatas tidak berhasil dieksekusi karena, baris command maksimal terdiri dari dua operand. Jadi perintah diatas tidak dapat dieksekusi setelah
perintah “tell”.
r. Perintah 18
$last „enter‟
Perintah last digunakan untuk melihat user sebelumnya yang telah login di komputer.
19 s. Perintah 19
$clear „enter‟
Gambar 1.19 Sebelum Eksekusi Perintah clear
Gambar 1.20 Setelah Eksekusi Perintah Clear
Perintah clear digunakan untuk membersihkan layar
t. Perintah 20
$sudo fdisk -1 „enter‟
Gambar 1.21 Eksekusi Perintah $sudo fdisk -1
Perintah diatas digunakan untuk menampilkan table partisi manipulasi
pada linux. Untuk menjalankan perintah diatas sebelumnya harus berada
pada root atau login sebagai super user terbih dahulu. Karena user
„kelompok4‟ bukan merupakan super user, maka perintah diatas tidak
20 u. Perintah 21
$users „enter‟
Gambar 1.22 Eksekusi Perintah users
Perintah users digunakan untuk menampilkan user yang sedang login saat
perintah dijalankan.
v. Perintah 22
$cat /etc/fstab „enter‟
Gambar 1. 23 Eksekusi Perintah cat /etc/fstab
21 w. Perintah 23
$cal 2000 „enter‟
Gambar 1. 24 Eksekusi Perintah cal 2000
Perintah diatas digunakan untuk menampilkan kalender tahun 2000.
x. Perintah 24
$cal 9 1752 „enter‟
Gambar 1. 25 Eksekusi Perintah cal 9 1752
22 y. Perintah 25
$cal 10 2007 „enter‟
Gambar 1. 26 Eksekusi Perintah 1 cal 10 2007
Perintah diatas digunakan untuk menampilkan kalender bulan Oktober
pada tahun 2007.
z. Perintah 26
$yes please „enter‟
Gambar 1. 27 Eksekusi Perintah yes please
Perintah yes …. Digunakan untuk menampilkan karakter atau string yang
23 aa.Perintah 27
$pwd „enter‟
Gambar 1. 28 Eksekusi Perintah pwd
Perintah pwd digunakan untuk menampilkan nama direktori dimana Anda sedang berada
bb.Perintah 28
$history „enter‟
Gambar 1. 29 Eksekusi Perintah history
Perintah diatas digunakan untuk menampilkan perintah-perintah yang telah digunakan sebelumnya.
cc. Perintah 29
$sudo tail –f /var/log/message „enter‟
Gambar 1. 30 Eksekusi Perintah $sudo tail –f /var/log/message
Perintah diatas digunakan untuk menampilkan sepuluh baris terakhir dari
sistem log file, dimana terdapat banyak laporan kesalahan. Untuk
24
Karena user „kelompok4‟ bukan super user dari OS, maka perintah
tersebut tidak dapat dijalankan.
dd.Perintah 30
$lsmod „enter‟
Gambar 1. 31 Eksekusi Perintah lsmod
Perintah diatas digunakan untuk melihat module-module kernel yang telah di load.
ee. Perintah 31
$ps –aux „enter‟
Gambar 1. 32 Eksekusi Perintah ps -aux
25 ff. Perintah 32
$lspci „enter‟
Gambar 1. 33 Eksekusi Perintah lspci
Perintah diatas digunakan untuk untuk melihat perangkat pci yang sedang terkoneksi ke computer.
gg.Perintah 33 $free „enter‟
Gambar 1.34 Eksekusi Perintah reebot lsfree
26 hh.Perintah 34
$cat /proc/cpuinfo „enter‟
Gambar 1. 35 Eksekusi Perintah $cat /proc/cpuinfo
Perintah diatas digunakan untuk menampilkan CPU info , melihat file pada /proc directori yang bukan merupakan file nyata (not real files).
ii. Perintah 35 $reboot „enter‟
Gambar 1.36 Eksekusi Perintah reebot
Perintah diatas digunakan untuk merestart komputer, namun perintah ini hanya bisa dijalankan oleh super user atau login sebagai root. Karena user
27 jj. Perintah 36
$halt „enter‟
Gambar 1.37 Eksekusi Perintah halt
Perintah diatas digunakan memberitahu kernel supaya mematikan sistem atau shutdown. Namun perintah ini hanya bisa dijalankan oleh super user atau login sebagai root. Karena user „kelompok4‟ bukan merupakan super user, maka perintah ini tidak dapat dieksekusi.
2.4.2 Pemrograman Bash
Pada soal B ini kami menggunakan teks editor Vi pada Fedora. Berikut adalah dokumentasi dari soal Group B.
1. SoalB01 (shell interaktif)
$echo “hari ini adalah `date`”
Deskripsi : Perintah diatas untuk menampilkan kata-kata sesuai dengan memunculkan `date`
Output : Maka akan muncul tanggal bulan serta tahun sesuai dengan tanggal bulan dan tahun pada laptop
Gambar 2.1 Input dan output dari perintah SoalB01
2. SoalB02 (Program Shell) ##!/bin/bash
Clear
echo “nama login anda $LOGNAME”
28
echo “selamat bekerja”
Deskripsi : Perintah untuk menampilkan nama yang login dengan $LOGNAME dan menunjukan tahun `date +%T` serta berada di direktoti `pwd`
Output : Program menampilkan nama login, tanggal, bulan, tahun serta waktu anda login dan berada pada direktori apa anda bekerja. Pertama karena kami menggunakan Vi maka cara membuat file seperti pada gambar dibawah
Gambar 2.2 Membuat file pada text editor Vi dengan format .sh
Kemudian masuk ke text editor Vi, kemudian tekan i pada keyboard untuk insert, lalu ketik program yang akan dibuat
Gambar 2.3 Menginputkan syntax
Setelah selesai menginputkan dan ingin menyimpan program tekan Esc pada keyboard lali ketik :wq
Gambar 2.4 Untuk menyimpan dan kembali pada layar awal
Setelah kembali ke layar awal ketikan “chmod +x nama_file” (tanpa tanda kutip lalu) tekan enter, ketik lagi “./nama_file” (tanpa tanda kutip) untuk
menampilkan outputnya seperti gambar dibawah.
Gambar 2.5 Mengubah permission file untuk eksekusi file.
Dan outputnya seperti pada gambar dibawah.
29 3. SoalB03 (Variabel Lokal)
#!/bin/bash clear
data=‟date +%D‟
jumlah=`who | wc –l`
echo “tanggal $data ada $jumlah user yanglogin”
Deskripsi : perintah untuk menampilkan tanggal saja „date +%D‟ dan menampilkan jumlah user `who | wc –l`
Output : Menampilkan tanggal saat user login dan jumlah user yang login.
Pertama buat dulu file pada Vi dengan nama yang sudah tersedia.
Gambar 2.7 Membuat file pada Vi dengan format .sh
Dan masuk ke dalam text editor Vi, tekan i pada keyboard terlebih dahulu untuk insert syntax-nya.
Gambar 2.8 Menginputkan syntax pada text editor Vi
Untuk menyimpan dan kembali ke layar awal tekan Esc pada keyboard
terlebih dahulu dan ketik “:wq” (tanpa kutip).
Gambar 2.9 Menyimpan file dan kembali ke layar awal
Kemudian ketik “ chmod +x soalB03.sh” (tanpa kutip) lalu tekan enter kemudian ketik “./soalB03.sh” (tanpa kutip).
Gambar 2.10 Mengubah permission file untuk eksekusi.
Dan outpunya akan seperti gambar dibawah ini.
30 4. SoalB04 (environtment variabel)
#!/bin/bash nama=aldo
echo isi dari variabel nama adalah $nama nama=budi
echo sekarang variabel nama berisi $nama
Deskripsi : Perintah untuk menampilkan isi dari $nama Output : Menampilkan isi variabel dari $nama
Pertama buat file pada text editor Vi dengan nama SoalB04.sh
Gambar 2.12 Membuat file pada text editor Vi dengan format .sh
Setelah masuk pada text editor Vi jangan lupa terlebih dahulu ketik i untuk insert syntax-nya.
Gambar 2.13 Menginputkan syntax
Untuk menyimpan syntax dan kembali ke layar awal, pertama tekan Esc
pada keyboard dan ketik “:wq” (tanpa kutip)
Gambar 2.14 Menyimpan file
Agar program mudah untuk dijalankan oleh user maka ketik “chmod +x
soalB04.sh” (tanpa tanpa kutip) lalu tekan enter dan ketik lagi “./soalB04,sh” (tanpa kutip) lalu enter
Gambar 2.15 Mengubah permission file untuk eksekusi program
Dan outputnya akan seperti gambar dibawah ini.
31
5. SoalB05 (Metakarakter dan Quoting) #!/bin/bash
user=andi
echo “hai $user i‟m glad to meet you” echo “hai $user i\‟m glad to meet you”
echo “apakah kamu punya teman “special”?” echo “”\”special\” ?? teman apa itu?”
echo „ya pokoknya “special”‟
untuk perintah di atas terdapat error pada saat menampilkan i\‟m yang
seharusnya bisa ditampilkan menjadi i‟m
#!/bin/bash user=andi
echo “hai $user i‟m glad to meet you”
echo hai $user i\‟m glad to meet you
echo “apakah kamu punya teman “special”?” echo “”\”special\” ?? teman apa itu?”
echo „ya pokoknya “special”‟
Deskripsi : Perintah untuk menampilkan isi dari $user
Output : Menampilkan isi $user pada kata-kata pada program
Pertama buat file pada Vi dengan nama soalB05.sh
Gambar 2.17 Membuat file pada Vi dengan format .sh
Untuk menginputkan syntax tekan i pada keyboard lalu ketik syntax yang ingin dimasukkan.
Gambar 2.18 Menginputkan syntax yang benar
Untuk menyimpan dan kembali ke layar awal maka tekan Esc pada keyboard dan ketik :wq.
32
Agar program mudah dieksekusi oleh user maka ketik “chmod +x soalB05.sh” (tanpa kutip) lalu tekan enter dan ketik lagi “./soalB05.sh” lalu
tekan enter.
Gambar 2.30 Mengubah permission file untuk mengeksekusi program.
Output program seperti pada gambar dibawah ini.
33 2.5 Kesimpulan Dan Saran
2.5.1 Kesimpulan
Dari praktikum yang telah dilaksanakan dapat disimpulkan bahwa teks
editor berfungsi untuk membuat sebuah file teks dimana teks tersebut bisa
berupa teks biasa atau sebuah skrip. Terdapat beberapa paket program yang
berfungsi sebagai teks editor, seperti vi, vim, emac, gedit dll yang telah
disediakan pada Linux. Sedangkan, shell merupakan command line interpreter
yaitu untuk melakukan apapun harus dilakukan dengan mengetikkan baris
perintah. Linux dilengkapi oleh banyak shell dengan kumpulan perintah yang
sangat banyak. Seperti, Bourne shell (sh), C shell (csh), Korn shell (ksh),
Bourne again shell (bash),Dsb.
2.5.1 Saran
34 2.6 Daftar Pustaka
http://raytkj.blogspot.com/2012/03/perintah-perintah-dasar-di-linux-ubuntu.html
http://pemula.linux.or.id/pengguna/command.html
http://elhaidar.wordpress.com/2010/03/30/perintah-dasar-berbasis-teks-teks-user-interface-di-linux-terminal/
http://adamonline.web.id/linux/menggunakan-vi-editor-linux
http://iidc.paume.itb.ac.id/cad/vi_ug.htm
35
1
TUGAS PRAKTIKUM MODUL II
SISTEM OPERASI
Kelompok 4 :
Nama / NIM : Ni Wayan Eka Ayuningsih 1208605001
: Adam Rain B.S.N. 1208605015
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA
Bukit Jimbaran
2
DAFTAR ISI
DAFTAR ISI………..2
BAB I PENDAHULUAN ... 3
1.1 Tujuan Praktikum ... 3
1.2 Tugas Praktikum ... 3
BAB II PEMBAHASAN ... 7
2.1 Topik WHILE ... 7
2.2 Topik Function ... 10
BAB III KESIMPULAN... 12
3
BAB I
PENDAHULUAN
1.1 Tujuan Praktikum
1. Praktikan mengenal dan mampu menggunakan text editor standar yang digunakan pada Linux
2. Praktikan mampu dan memahami pemrograman menggunakan bash script
1.2 Tugas Praktikum
Berikut ini akan diberikan beberapa kode pemrograman shell.
1. Setiap kelompok akan mengerjakan 2 soal, yang ditentukan sebagai berikut:
Soal 1 : Semua Kelompok
Soal 2 : No Klp Modulo 4 = 1
Soal 3 : No Klp Modulo 4 = 2
Soal 4 : No Klp Modulo 4 = 3
Soal 5 : No Klp Modulo 4 = 0
2. Buatlah bash script file dari kode yang anda dapatkan. Kemudian jalankan kode program tersebut. Analisa dan perbaiki jika terdapat kesalahan yang terjadi.
3. YAKINKAN SETIAP KELOMPOK HARUS MENGGUNAKAN USERNAME
TERSENDIRI
Berikut ini adalah Bash script yang harus dijalankan :
1. Topik WHILE
echo "MENU HARI INI"; echo "---";
echo "1. Bakso "; echo "2. Gado-Gado "; echo "3. Exit ";
4 if [ $pil -eq 1 ];
then
echo -n "Banyak mangkuk ="; read jum
let bayar=jum*1500; elif [ $pil -eq 2 ]; then
echo -n "Banyak porsi ="; jum
echo "Sorry, tidak tersedia" exit 1
fi
echo "Harga bayar = Rp. $bayar" echo
echo -n "Hitung lagi (y/t) :"; read lagi;
#untuk validasi input
while [$lagi!='y']&&[$lagi!='Y']&&[$lagi!='t']&&[$lagi!= 'T' ];
do
echo "Ops, isi lagi dengan (y/Y/t/Y)"; echo -n "Hitung lagi (y/t) :";
read lagi;
echo -n "Batas loop :"; read batas
if [ -z $batas ] || [ $batas -lt 0 ]; then
echo "Ops, tidak boleh kosong atau Batas loop harus >= 0"; exit 0;
5 done
echo
echo "banyak bilangan genap = $bil_genap"; echo 'banyak bilangan ganjil = $bil_ganjil';
3. Topik Array
#!/bin/bash
#deklarasikan variabel array declare -a angka
#clear
#tampilkan semua elemen array #dengan indexnya berisi "*" atau "@" echo ${angka[*]};
#destroy array angka (memory yang dipakai dibebaskan kembali)
#memakai perintah subtitusi $((ekspresi)) modulo =$(($a%$b)) #sisa pembagian echo "$a+$b=$jumlah"
6 5. Topik Function
function say_hello{ echo "Hello,apa khabar" }
balas[]{
echo "Baik-baik saja":
echo "Bagaimana dengan anda ?"; }
#panggil fungsi say_hello $say_hello:
7
BAB II
PEMBAHASAN
Dalam praktikum modul 2 ini, kami melakukan pengujian pemrograman bash, adapun bash
script yang kami uji adalah Topik WHILE dan Topik FUNGSI.
2.1 Topik WHILE #!/bin/bash
echo "MENU HARI INI"; echo "---";
echo "1. Bakso "; echo "2. Gado-Gado "; echo "3. Exit ";
read -p "Pilihan anda [1-3] :" pil; if [ $pil -eq 1 ];
then
echo -n "Banyak mangkuk ="; read jum
let bayar=jum*1500; elif [ $pil -eq 2 ]; then
echo -n "Banyak porsi ="; jum
echo "Sorry, tidak tersedia" exit 1
fi
echo "Harga bayar = Rp. $bayar" echo
echo -n "Hitung lagi (y/t) :"; read lagi;
#untuk validasi input
while [$lagi!='y']&&[$lagi!='Y']&&[$lagi!='t']&&[$lagi!= 'T' ];
do
echo "Ops, isi lagi dengan (y/Y/t/Y)"; echo -n "Hitung lagi (y/t) :";
8
Seteleh scipt diatas dijalankan, pada terminal didapatkan error pada beberapa tempat:
Berikut ialah letak error pada script yang disediakan:
1. Kesalahan terdapat pada line 42 adalah kurang sintaks done pada akhir program. Pada script terdapat 2 while sehingga membutuhkan 2 done.
2. Kesalahan juga terdapat pada line 4. Dimana terdapat kurang spasi pada penulisan kondisi. Berikut ialah outputnya:
Gambar 1.1 Eksekusi Awal 1
9
3. Ternyata masih terdapat kesalahan pada line 21. Terdapat sintakx jum. Sintaks ini terdapat kesalahan, karena untuk dapat membaca jumlah yang dimaksud dibutuhkan sintaks read. Sehingga menjadi read jum
Gambar 1.3 Setelah Perbaikan 3
6. Terdapat kesalahan kembali pada line 35 dan 36. Dimana, pada penulisan kondisi terdapat penulisan spasi yang kurang. Setelah ditambahkan spasi pada penulisan kondisi, script dapat dijalankan.
10 2.2 Topik Function
Function say_hello{
Echo “Hello, apa kabar?”; //tanpa semicolo “;” }// Seharusnya bisa menggunakan “say_hello()”
Balas[]{
Echo “Baik-baik saja”: // Tanpa titik dua “:”
Echo “Bagaimana dengan anda?”;// Tanpa semicolon “;” }// Balas seharusnya “balas()”
#panggil fungsi say_hello
$say_hello; “Tanpa tanda “$” dan semicolon “;”
#panggil fungsi balas
$balas; “Tanpa tanda “$” dan semicolon “;”
Sehingga Pembenaran syntax seperti pada gambar dibawah ini dengan menggunakan text editor Vi
Setelah syntax sudah benar maka kita bisa merubah permission akses dengan
11
Dan outputnya akan seperti gambar dibawah ini
12
BAB III
KESIMPULAN
3.1 Kesimpulan