Anda di halaman 1dari 32

MAKALAH

PRAKTEK SISTEM OPERASI


“PRAKTIKUM 5B LAPORAN SEMENTARA”

Disusun oleh:

EKA PRAMUDITA KUSUMAARI (2103187012)

PROGRAM STUDI TEKNIK INFORMATIKA


DEPARTEMEN TEKNIK INFORMATIKA dan KOMPUTER

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


2018/2019
Percobaan 6 : Membuat Bash-script dan menjalankannya
1. Membuat file p1.sh
$ vi p1.sh
echo “Program bash Script”

Analisa: Perintah di atas digunakan untuk membuat file script bernama p1.sh menggunakan teks editor vi
yang isinya echo “program bash Script”.

2. Mengubah program menjadi executable


$ ls –l p1.sh
$ chmod +x p1.sh
$ ls –l p1.sh

Analisa: Perintah di atas digunakan untuk mengubah file p1.sh menjadi file executable sehingga nantinya
file ini dapat dieksekusi oleh bash.

3. Menjalankan script
$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ ./p1.sh

Analisa: Perintah di atas digunakan untuk mengeksekusi file p1.sh yang sudah menjadi file executable,
ada banyak cara mengeksekusi file executable yaitu diantaranya: bash p1.sh, sh p1.sh, .p1.sh dan ./p1.sh.
4. Konvensi dalam pembuatan script shell dinyatakan sebagai #!/bin/bash. Tambahkan pada file
p1.sh konvensi tersebut
$ vi p1.sh
#!/bin/bash
echo “Program bash script”

Analisa: Perintah di atas digunakan untuk menambahkan konvensi pada file p1.sh melalui editor vi,
konvensi yang dimasukkan yaitu #! /bin/bash.

5. Buatlah file p2.sh


$ vi p2.sh
#!/bin/bash
echo “Program 2 bash script”

Analisa: Perintah di atas digunakan untuk membuat file p2.sh dengan cara mengcopy file p1.sh dimana isi
kedua file tersebut adalah sama dan kita hanya perlu mengubah namanya dari p1.sh menjadi p2.sh dalam
metode pengcopyannya yaitu melalui keyword cp p1.sh p2.sh.

6. Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan
tanda ;
$ cat p1.sh ; cat p2.sh
$ ./p1.sh ; ./p2.sh

Analisa: Perintah di atas digunakan untuk melihat isi file p1.sh dan p2.sh sekaligus yang dipisahkan
dengan tanda ; (semicolon) , tanda ini digunakan untuk melakukan eksekusi banyak perintah sekaligus
(multitasking). Setelah itu kita mengeksekusi script dari file p1.sh dan p2.sh secara bersamaan.
Percobaan 7 : Job Control
1. Proses foreground
$ ps x

Analisa: Perintah di atas digunakan untuk melihat proses yang sedang berjalan di latar depan.

2. Proses background
$ ps x > hasil &

Analisa: Perintah di atas digunakan untuk menginputkan daftar proses yang berjalan di latar depan ke
dalam file bernama hasil yang dieksekusi melalui latar belakang. Ps x mengartikan latar depan dan tanda
& mengartikan latar belakang.

3. Setiap job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang aktif
$ jobs

Analisa: Perintah di atas digunakan untuk melihat jobs atau pekerjaan yang sedang aktif. Pada contoh
diatas jobs yang sedang aktif adalah pembelokan daftar proses di latar depan ke dalam file bernama hasil.
4. Buatlah file ploop.sh. File ini tidak akan pernah berhenti kecuali ditekan Ctrl-C
$ vi ploop.sh
#!/bin/bash
while [ true ]
do
sleep 10
echo “Hallo”
done

Analisa: Perintah di atas digunakan untuk membuat file ploop.sh melalui teks editor vi yang isinya
memuat output kata “Hallo” dimana kata akan dimunculkan setelah delay selama 10 detik setelah file
ploop.sh dieksekusi.

5. Buatlah file ploop.sh menjadi executable. Jalankan program, akan ditampilkan kata Hallo
setiap 10 detik. Untuk keluar program, tekan Ctrl-C (^C)
6. $ chmod +x ploop.sh
$ ./ploop.sh

Analisa: Perintah di atas digunakan untuk mengubah file ploop.sh menjadi file executable sehingga file
script tersebut nantinya dapat dieksekusi melalui bash dengan perintah ./ploop.sh.
Percobaan 8 : Manipulasi stack untuk Direktori
1. Instruksi dirs digunakan untuk melihat stack direktori, pada output h ditampilkan direktori
home ~
$ dirs

Analisa: Perintah di atas digunakan untuk melihat tumpukan yang ada di direktori aktif, pada contoh di
atas direktori aktif sedang berada di ~.

2. Membuat 3 buah direktori


$ mkdir marketing sales support

Analisa: Perintah di atas digunakan untuk membuat 3 buah direktori sekaligus yaitu marketing, sales dan
support.

Percobaan 9 : Alias

1. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok
instruksi. Untuk melihat alias yang sudah terdaftar pada system :
$ alias

Analisa: Perintah di atas digunakan untuk melihat daftar nama alias (nama samaran) pada satu atau
sekelompok instruksi.

2. Membuat beberapa alias


$ alias del=’rm –i’
$ alias h=’history’

Analisa: Perintah di atas digunakan untuk membuat alias, contohnya yaitu kita ingin membuat alias
del yang saat kita mengetikkan kata del maka seolah-olah kata del adalah suatu perintah ‘rm –i’ yaiut
untuk menghapus file dan kita juga ingin membuat alias h yang saat kita mengetikkan huruf h maka
seolah-olah huruf h adalah suatu perintah ‘history’.
3. Gunakan instruksi hasil alias
$ ls
$ del hasil
$ h | more

Analisa: Perintah di atas digunakan untuk menguji apakah alias yang sudah kita buat sebelumnya
dapat berjalan ataukah tidak, pada contoh di atas kita ingin menghapus file hasil yang terdapat di
direktori home. Kita cukup mengetikkan del hasil yang artinya menghapus file hasil dengan alias del.
Kemudian kita menguji juga apakah alias h berjalan atau tidak, dimana alias h adalah perintah yang
digunakan untuk menampilkan history dan ternyata kedua alias yang sudah kita buat sebelumnya
dapat berjalan sukses.
4. Untuk menghapus alias gunakan instruksi unalias
$ unalias del
$ del files (Terdapat Pesan Kesalahan, mengapa ?)

Analisa: Perintah di atas digunakan untuk menghapus alias yang sudah kita buat sebelumnya yaitu alias
del (untuk menghapus file) sehingga nantinya perintah ini sudah bukan lagi alias untuk menghapus file.
Pada saat kita kembali mencoba menghapus file menggunakan alias del files hal ini akan menimbulkan
error command not found karena sebelumnya kita sudah menghapus kata del dari daftar alias.
LATIHAN:

1. Eksekusi seluruh profile yang ada :


a. Edit file profile /etc/profile dan tampilkan pesan seba gai berikut : echo
’Profile dari /etc/profile’

Analisa: Perintah di atas digunakan untuk menampilkan pesan ‘profile dari


/etc/profile’ menggunakan keyword echo.

b. Asumsi nama anda student, maka edit semua profile yang ada yaitu :
/home/student/.bash_profile
/home/. student/.bash_login
/home/student/.profile
/home/student/.bashrc

Analisa: Perintah di atas digunakan untuk mengecek ketersediaan file pada direktori yang ingin
kita akses dan ternyata file .bash_profile dan .bash_login tidak tersedia pada file system linux
Ubuntu dan yang tersedia hanyalah file .profile dan .bashrc.

c. Ganti nama /home/student dengan nama anda sendiri. Pada setiap file tersebut,
cantumkan instruksi echo, misalnya pada /home/ student/.bash_profile:
echo “Profile dari .bash_profile”

Analisa: Perintah di atas digunakan untuk melakukan serangkaian tugas secara bersamaan yaitu
membuka file .bash_profile yang dimiliki user eka2103187012 melalui teks editor nano dan
mengetikkan kata “profile dari .bash_profile” di dalamnya.

d. Lakukan hal yang sama untuk file lainnya, sesuaikan tampilan dengan nama file yang
bersangkutan.

Analisa: Perintah-perintah tersebut digunakan untuk mengedit file profile dan


mengasumsikan home dengan nama kita sendiri serta menyisipkan suatu perintah dengan
echo pada perintah nano di setiap file profilenya dan menampilkan hasil dari sisipan yang
dilakukan.
2. Jalankan instruksi subtitute user, kemudian keluar dengan perintah exit sebagai
berikut :
$ su student

$ exit

kemudian gunakan opsi – sebagai berikut :


$ su – student
$ exit
Analisa: Perintah di atas digunakan untuk masuk ke super user kemudian kita keluar dari super user
menggunakan perintah exit dan masuk kembali ke user eka2103187012 menggunakan keyword su –
eka2103187012 setelah itu kita logout dari user eka2103187012 dengan keyword exit.

Jelaskan perbedaan kedua utilitas tersebut.

Analisa: su merupakan perintah yang berfungsi untuk memasukkan perintah dalam user. Perbedaan
nya hanyalah terletak pada bagian proses keluar. Jika user memasukan perintah “su username. Maka
user akan diminta untuk mealakukan login, dan ketika perintah exit dimasukan, user akan langsung
dikeluarkan tanpa proses logout. Artinya ketika keluar, program masih berjalan. Untuk perintah yang
kedua, su – username. Ketika dilakukan exit, sistem akan melakukan logout terlebih dahulu, dalam
artikata lain semua program yang berjalan akan di hentikan.

3. Logout
a. Edit file .bash_logout, tampilkan pesan dan tahan selama 5 detik, sebelum eksekusi
logout
Echo “Terima kasih atas sesi yang diberikan” Sleep
5
Clear

Analisa: Perintah di atas digunakan untuk membuka file .bash_logout yang terdapat pada user
prince46 menggunakan perintah nano dan memasukkan pesan teks “Terima kasih atas sesi yang
diberikan” di dalamnya dan menahan pesan tersebut selama 5 detik sebelum eksekusi logout.
b. Edit file .bash_logout, tampilkan pesan dan tahan selama 4 detik, sebelum eksekusi
logout

Analisa: Perintah-perintah tersebut merupakan perintah yang berfungsi untuk melakukan


edit pada file bash_logut, digunakan perintah “nano”. Setelah itu maka akan muncul
tampilan shell yang digunakan untuk mengedit file tersebut. User hanya memasukan string
yang ber tuliskan. ”Terima kasih atas sesi yang telah diberikan”. Setelah itu dilakukan edit
pada bagian metode penampilan script tersebut setelah user melakukan logout. Sesi
pertama adalah dilakukan sleep 5 detik, sesi kedua dilakukan sleep 4 detik kemudian clear.
Hasil akhir ketika user memasukan perintah exit, progam akan menampilkan string yang
telah dipasangkan tadi.
4. History
a. Ganti nilai HISTSIZE dari 1000 menjadi 20
$ HISTSIZE=20 $ h

Analisa: Perintah-perintah tersebut digunakan untuk mengganti nilai HISTSIZE dari 500 (sesuai
kondisi os di laptop saya) menjadi 20 dan melakukan pembelokkan ganda nilai HISTSIZE 20 ke
file bernama .bashrc.

b. Gunakan fasilitas history dengan mengedit instruksi baris ke 5 dari instruksi yang
terakhir dilakukan.
$ !-5

Analisa: Perintah di atas digunakan untuk mengedit instruksi baris ke 5 dari instruksi yang
terakhir dilakukan yaitu sebelum instruksi set|grep HISTSIZE=20.

c. Ulangi instruksi yang terakhir. Gunakan juga ^P dan ^N untuk bernavigasi pada
history buffer
$ !!

Analisa: Perintah di atas digunakan untuk mengulangi instruksi yang terakhir dilakukan yaitu
echo ‘HISTSIZE=20’ >>.bashrc.
d. Ulaingi instruksi pada history buffer nomor tertentu, misalnya nomor 150 $ !
150

Analisa: Perintah di atas digunakan untuk mengulangi instruksi pada history buffer
nomor 120 yaitu terdapat perintah wc –l .bash_history yang apabila dieksekusi akan
menampilkan output berupa 100 .bash_history.

e. Ulangi instruksi dengan prefix “ls” $ !ls


$ !?ls?

Analisa: Perintah di atas digunakan untuk mengulangi instruksi namun dengan menggunakan
prefix ‘”ls” dan yang ditampilkan adalah alamat dari keberadaan file .profile yang berada di
direkotri /home/eka2103187012/.profile.

Jelaskan perbedaan instruksi diatas

Analisa: Perbedaan instruksi di atas terdapat pada keyword yang diinputkan dan maksud dari
keyword yang diinputkan. Jika mengetikkan !ls (keyword akan mencari kata pada daftar history
yang berhubungan dengan kata ls termasuk daftar direktori dari user), jika mengetikkan !?ls?
(keyword akan mencari kata pada daftar history dan .bash_history yang berhubungan dengan kata
yang mengandung ls di dalamnya mulai dari direktori yang ada pada user hingga daftar history
system yang pernah diakses user).

5. Prompt String (PS)

a. Edit file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan
dengan parameter nama variab le tersebut, agar perubahan variable PS1 dikenal oleh
semua shell
PS1=’> ‘ export
PS1
Analisa: Perintah di atas digunakan untuk mengeksport prompt PS1 dimana instruksi export
memerlukan parameter nama variabel yaitu export PS1 agar perubahan variabel PS1 dikenal oleh
semua shell.

Eksperimen hasil PS1 :


$ PS1=“\! > “
69 > PS1=”\d > “
Mon Sep 23 > PS1=”\t > “ 10:10:20
> PS1=”Saya=\u > “ Saya=stD02001 >
PS1=”\w >” ~ > PS1=\h >”

Analisa: Perintah di atas merupakan hasil eksperimen pada prompt PS1 dimana kita mencoba untuk
mengetahui: jumlah perintah yang sudah terdaftar di history, mengetahui date (tanggal) hari ini,
mengetahui waktu sekarang dan mengetahui user saya sebagai user yang sedang aktif yaitu user
eka2103187012.

b. Ubahlah warna shell prompt dengan warna biru dan berkedip.

Analisa: Perintah di atas digunakan untuk mengubah warna shell prompt menjadi warna biru dan
berkedip. Kode warna biru adalah 34 dan kode untuk berkedip adalah 5 pada controller

6. Bash script
a. Buat 3 buah script p1.sh, p2.sh, p3.sh dengan isi masing-masing :
p1.sh
#! /bin/bash echo
“Program p1” ls –l
Analisa: Perintah di atas digunakan untuk membuat script p1.sh melalui teks editor nano yang
nantinya akan menampikan kata “Program p1” kemudian menampilkan daftar file yang ada di
direktori aktif.

p2.sh
#! /bin/bash echo
“Program p2” who

Analisa: Perintah di atas digunakan untuk membuat script p2.sh melalui teks editor nano yang
nantinya akan menampikan kata “Program p2” kemudian menampilkan nama pengguna yang
sedang aktif.

p3.sh
#! /bin/bash echo
“Program p3” ps x

Analisa: Perintah di atas digunakan untuk membuat script p3.sh melalui teks editor nano yang
nantinya akan menampikan kata “Program p3” kemudian menampilkan daftar proses yang sedang
berjalan di latar depan.
b. Jalankan script tersebut sebagai berikut dan perhatikan hasilnya :
$ ./p1.sh ; ./p3.sh ; ./p2.sh $

Analisa: Perintah-perintah di atas adalah perintah-perintah yang digunakan untuk mengeksekusi


sebuah file script secara bersamaan yang dipisahkan menggunakan tanda semicolon (;). Urutan
eksekusi di atas dimulai dari file p1.sh kemudian p3.sh dan terakhir p2.sh dan menampikan hasil
eksekusi ketiganya ke layar.
./p1.sh &

Analisa: Perintah di atas digunakan untuk mengeksekusi file script p1.sh di latar belakang yang
ditandai dengan tanda & dibelakang perintahnya dan ketika kita mengetikkan keyword Program p1
maka output yang keluar adalah daftar file yang terdapat pada direktori aktif.
$ ./p1.sh $ ./p2.sh & ./p3.sh &

Analisa: Perintah di atas digunakan untuk mengeksekusi ketiga file script secara bersamaan yaitu
file p1.sh dieksekusi terlebih dahulu pada shell kemudian dilanjutkan dengan mengeksekusi file
p2.sh pada latar belakang dan dilanjutkan dengan mengeksekusi file p3.sh pada latar belakang juga
dan menampikan hasil output ketiganya ke layar.
./p1.sh ; ./p3.sh ) &
Analisa: Perintah di atas digunakan untuk mengeksekusi file p1.sh dan p3.sh secara bersamaan di
latar belakang dan ketika user mengetikkan keyword Program p1 maka akan menampilkan hasil
output berupa daftar file pada direktori aktif.
7.
8.
9.
10.
11.
7. Jobs
a. Buat shell- script yang melakukan loop dengan nama pwaktu.sh, setiap 10 detik,
kemudian menyimpan tanggal dan jam pada file hasil.
#!/bin/bash
while [ true ]

Analisa: Perintah di atas digunakan untuk membuat file bernama pwaktu.sh dengan
menggunakan teks editor nano dan mengisi file tersebut dengan perintah berupa perulangan
dimana setiap 10 detik file pwaktu.sh akan menyimpan tanggal dan jam pada file bernama
hasil

do
date >> hasil
sleep 10
done

b.Jalankan sebagai background; kemudian jalankan satu program (utilitas find) di


background sebagai berikut :
$ jobs
$ find / -print > files 2>/dev/null & $
jobs

Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file pwaktu.sh yang
akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat
dieksekusi. Perintah untuk mengubah file pwaktu.sh menjadi file executable adalah chmod
+x pwaktu.sh.
Analisa: Perintah di atas digunakan untuk mengeksekusi file script pwaktu.sh di latar
belakang dan melihat isi file hasil yang isinya berupa date (tanggal dan waktu sekarang).
Kemudian kita mengetikkan perintah jobs untuk melihat pekerjaan yang sedang berjalan
yaitu pengeksekusian file script pwaktu.sh di latar belakang. Setelah itu kita menggunakan
keyword find untuk mencari dan menampikan isi baris 2 dari file bernama files yang
dieksekusi di latar belakang. Kemudian yang terakhir kita kembali mengetikkan perintah
jobs untuk melihat pekerjaan yang sedang berjalan yaitu pengeksekusian file script
pwaktu.sh di latar belakang dan pengeksekusian utilitas find yang dilakukan di latar
belakang juga.

c. Jadikan program ke 1 sebagai foreground, tekan ^Z dan kembalikan program


tersebut ke background
$ fg %1 $

Analisa: Perintah di atas digunakan untuk menjalankan program ke 1 di latar depan dan
kemudian kita mengembalikan program tersebut kembali berjalan di latar belakang.

Bg
d.Stop program background dengan utilitas kill
$ ps x
$ kill [Nomor PID

Analisa: Perintah di atas digunakan untuk melihat daftar proses yang berjalan di latar depan
dan dilanjutkan dengan perintah kill untuk mematikan proses yang sedang berjalan dimana
pada contoh di atas kita memilih mematikan proses yang memiliki nomor PID 2438 dengan
mengetikkan keyword kill 2438.
Kesimpulan:

Shell adalah Command executive, artinya program yang menunggu intruksi dari pemakai,
memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell
ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser
menggunakan prompt #

1. Profile pada bash shell merupakan profil untuk setiap pemakai pada home directory
2. File .bashrc adalah file yang akan dieksekusi untuk perpindahan dari satu shell ke shell
yang lain melalui intruksi su
3. History yaitu catatan dari semua intruksi yang sejauh ini telah dilakukan. History
memudahkan pemakai untuk mengedit kembali instruksi kompleks dan panjang, terutama
bila terjadi kesalahan pada penulisan instruksi maupun parameter
4. Perintah shell dapat dieksekusi asalkan dirubah terlebih dahulu menjadi file executable
5. Cara eksekusi file shell yaitu bash, sh, ., dan ./
6. Syntax di linux dapat dibuat alias command
7. Masa berlaku background proses sampai komputer restart atau shutdown
8. Apabila komputer hanya di logout maka background proses masih tetap berjalan.

Anda mungkin juga menyukai