LAPORAN MODUL II PROGRAM STUDI TEKNIK IN

LAPORAN MODUL II
PRAKTIKUM SISTEM OPERASI

Kelompok 4 :

Nama / NIM

: Ni Wayan Eka Ayuningsih
: Adam Rain B.S.N.

1208605001
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
2013
i

LEMBAR PENGESAHAN

ii

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

Penulis

iii

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
LAMPIRAN ............................................................................................................................. 35

iv

MODUL II

1

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 “enter” atau
$vim “enter”
Nama file bisa berupa file yang sudah ada atau bisa saja membuat
baru. Ketika vi dipanggil dengan parameter nama file aplikasi ini
akan melakukan pengecekan apakah nama file tersebut sudah ada,
2

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

“:wq” (untuk save dan keluar dari VI).
3

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
pencarian dan mengganti dan bekerja dengan beberapa file pada saat

4

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
Contohnya : set home dir, mail directory, startup file
5

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



Korn shell (ksh),



C shell (csh),



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 mengcopy file maka perlu mengetikkan perintah tertentu dan mungkin
anda berpikri terlalu. Jika dibandingkan dengann window manager
seperti KDE anda hanya dengan memainkan mouse saja.

6

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
akan mengenali.

7

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 {membuat user baru}
$passwd > {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.
Contoh Command :
8

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‟
$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 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)
4lsmod „enter‟
9

$ps –aux „enter‟
$lspci „enter‟
$lsfree „enter‟
$cat /proc/cpuinfo „enter‟
$reboot „enter‟
$halt „enter‟
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”
echo “saat ini anda berada di direktori „pwd‟ “
echo “waktu sekarang adalah „date +%T‟ “
10

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
$echo “hari ini hari jum‟at”

11

2.4 Hasil dan Pembahasan
2.4.1 Shell Interaktif
Setelah membuat username baru yang kami beri nama kelompok4 dengan
perintah:
$sudo adduser {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
dimana perintah ini dijalankan

12

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

Gambar 1.5 Eksekusi Perintah dmesg | more

Perintah diatas digunakan untuk mencetak pesan-pesan pada waktu proses
boot secara layar perlayar.

13

f. Perintah 6
$uptime „enter‟

Gambar 1.6 Eksekusi Perintah uptime

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

14

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

Perintah w digunakan menampilkan user yang sedang online.

15

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
kurawal sebanyak kemungkinan yang ada.

16

o. Perintah 15
$man ls „enter‟

Gambar 1.15 Eksekusi Perintah man ls

Perintah man ls digunakan untuk menampilkan bagaimana cara penggunaan
perintah ls secara lengkap.

p. Perintah 16
$man who „enter‟

Gambar 1.16 Eksekusi Perintah man who
Perintah man who digunakan untuk menampilkan bagaimana cara penggunaan
perintah who secara lengkap.

17

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‟

Gambar 1.18 Eksekusi Perintah last
Perintah last digunakan untuk melihat user sebelumnya yang telah login di
komputer.

18

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
dapat dijalankan.

19

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

Perintah diatas digunakan untuk menampilkan daftar seluruh disk dan
partisi disk yan tersedia dan menunjukan bagaimana cara untuk
diinisialisasi dan diintegrasi kedalam sistem file secara keseluruhan.

20

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

Perintah diatas digunakan untuk menampilkan kalender bulan September
pada tahun 1752.

21

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
diketikkan sampai terjadinya interrupt.

22

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
menjalankan perintah tersebut user harus bertindak sebagai super user.

23

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

Perintah diatas digunakan untuk melihat seluruh proses yang dijalankan,
walaupun tanpa terminal.

24

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

Perintah diatas digunakan untuk menampilkan penggunaan harddisk dan
memori.

25

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
„kelompok4‟ bukan merupakan super user, maka perintah ini tidak dapat
dieksekusi.

26

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”
echo “Saat ini anda berada di direktori `pwd`”
echo “waktu sekarang adalah `date +%T`”
27

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.

Gambar 2.6 Menampilkan outputnya

28

3. SoalB03 (Variabel Lokal)
#!/bin/bash
clear
data=‟date +%D‟
jumlah=`who | wc –l`
echo “tanggal $data ada $jumlah user yang login”
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.

Gambar 2.11 Output program

29

4. SoalB04 (environtment variabel)
#!/bin/bash
nama=aldo
echo isi dari variabel nama adalah $nama
nama=budi
echo sekarang variabel nama berisi $nama
Deskripsi
Output

: Perintah untuk menampilkan isi dari $nama
: 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.

Gambar 2.16 Output

30

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.

Gambar 2.19 Menyimpan file dan kembali ke menu awal

31

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.

Gambar 2.31 Output program.

32

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
User diharapkan untuk bisa lebih teliti karena pada text editor di shell bersifat
case sensitive yang artinya pada setiap baris perintah harus sesuai syntaxnya,
misal $LOGNAME kalau ditulis $logname maka hasilnya akan berbeda.

33

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-userinterface-di-linux-terminal/
http://adamonline.web.id/linux/menggunakan-vi-editor-linux
http://iidc.paume.itb.ac.id/cad/vi_ug.htm
http://www.kaplinglinux.com/2008/10/23/mengedit-file-menggunakan-nano-danvivim/

34

LAMPIRAN

35

TUGAS PRAKTIKUM MODUL II
SISTEM OPERASI

Kelompok 4 :

Nama / NIM

: Ni Wayan Eka Ayuningsih
: Adam Rain B.S.N.

1208605001
1208605015

PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
Bukit Jimbaran
2013

1

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.1 Kesimpulan..................................................................................................................... 12

2

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
#!/bin/bash
#kedai
lagi='y'
while [$lagi=='y']||[$lagi=='Y'];
do
clear
echo "MENU HARI INI";
echo "-------------";
echo "1. Bakso ";
echo "2. Gado-Gado ";
echo "3. Exit ";
read -p "Pilihan anda [1-3] :" pil;
3

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
let bayar=jum*2000;
elif [ $pil -eq 3 ];
then
exit 0
else
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;
done
2. Topik WHILE
#!/bin/bash
i=0;
bil_genap=0;
bil_ganjil=0;
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;
fi
while [ $i -le $bts ];
do
echo -n "$i,";
if[`expr $i%2`-eq0];then
let bil_genap=$bil_genap+1;
else
let bil_ganjil=$bil_ganjil+1;
let i=$i+1; #counter untuk mencapai batas
4

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
i=0;
while [ $i -le 4 ];
do
let isi=$i*2;
$angka[i]=$isi;
let i=$i+1;
done
#tampilkan semua elemen array
#dengan indexnya berisi "*" atau "@"
echo ${angka[*]};
#destroy array angka (memory yang dipakai dibebaskan
kembali)
unset angka
4. Topik Expr
#!/bin/bash
#mat1
a=10
b=5
#memakai let
let jumlah=$a+$b
let kurang=$a-$b
let kali=$a*$b
#memakai expr
$bagi=`expr $a / $b`
#memakai perintah subtitusi $((ekspresi))
modulo =$(($a%$b)) #sisa pembagian
echo "$a+$b=$jumlah"
echo "$a-$b=$kurang"
echo "$a*$b=$kali"
echo "$a/$b=$bagi"
echo "$a%$b=$mod"

5

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:
#panggil fungsi balas
$balas;

6

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
#kedai
lagi='y'
while [$lagi=='y']||[$lagi=='Y'];
do
clear
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
let bayar=jum*2000;
elif [ $pil -eq 3 ];
then
exit 0
else
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;
done
7

Seteleh scipt diatas dijalankan, pada terminal didapatkan error pada beberapa tempat:

Gambar 1.1 Eksekusi Awal 1

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.2 Setelah Perbaikan 1 dan 2

8

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.

Gambar 1.4 Setelah Perbaikan Selesai

9

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

Gambar 2.1 Setelah Perbaikan dari Scirpt

Setelah syntax sudah benar maka kita bisa merubah permission akses dengan

Gambar 2.2 Mengubah permission akses

10

Dan outputnya akan seperti gambar dibawah ini

Gambar 2.3 Output Scirpt

11

BAB III
KESIMPULAN
3.1 Kesimpulan
Dari praktikum yang telah dilaksanakan, kami dapat menyimpulkan bahwa, dalam
pemrograman bash yang diperlukan adalah ketelitian dan ketepatan dalam
penulisan sintaks. Hal ini dikarenakan pemrograman bash sangat sensitive saat
membaca sintaks. Penggunaaan karakter harus sesuai agar tidak terjadi error saat
program dieksekusi.

12

Dokumen yang terkait

AN ANALYSIS OF GRAMMATICAL ERRORS IN WRITING DESCRIPTIVE PARAGRAPH MADE BY THE SECOND YEAR STUDENTS OF SMP MUHAMMADIYAH 06 DAU MALANG

44 306 18

AN ANALYSIS ON GRAMMATICAL ERROR IN WRITING MADE BY THE TENTH GRADE OF MULTIMEDIA CLASS IN SMK MUHAMMADIYAH 2 MALANG

26 336 20

PROSES KOMUNIKASI INTERPERSONAL DALAM SITUASI PERTEMUAN ANTAR BUDAYA STUDI DI RUANG TUNGGU TERMINAL PENUMPANG KAPAL LAUT PELABUHAN TANJUNG PERAK SURABAYA

97 602 2

PEMAKNAAN BERITA PERKEMBANGAN KOMODITI BERJANGKA PADA PROGRAM ACARA KABAR PASAR DI TV ONE (Analisis Resepsi Pada Karyawan PT Victory International Futures Malang)

18 209 45

AN ANALYSIS OF LANGUAGE CONTENT IN THE SYLLABUS FOR ESP COURSE USING ESP APPROACH THE SECRETARY AND MANAGEMENT PROGRAM BUSINESS TRAINING CENTER (BTC) JEMBER IN ACADEMIC YEAR OF 2000 2001

3 95 76

A DESCRIPTIVE STUDY ON THE TENTH YEAR STUDENTS’ RECOUNT TEXT WRITING ABILITY AT MAN 2 SITUBONDO IN THE 2012/2013 ACADEMIC YEAR

5 197 17

A DISCOURSE ANALYSIS ON “SPA: REGAIN BALANCE OF YOUR INNER AND OUTER BEAUTY” IN THE JAKARTA POST ON 4 MARCH 2011

9 161 13

EFEKTIVITAS PENGAJARAN BAHASA INGGRIS MELALUI MEDIA LAGU BAGI SISWA PROGRAM EARLY LEARNERS DI EF ENGLISH FIRST NUSANTARA JEMBER

10 152 10

EVALUASI IN VITRO ANTIOKSIDAN SENYAWA FENOL BIJI MELINJO (Gnetum gnemon L.) SELAMA PROSES PENGOLAHAN EMPING MELINJO BERDASARKAN SNI 01-3712-1995

4 111 16

HE APPLICATION OF PROFESSION ETHICS FOR SUPPORTING THE WORKING PERFORMANCE OF CUSTOMER SERVICE STAFF IN PT BRI RAMBIPUJI JEMBER

2 94 12