Anda di halaman 1dari 98

LAPORAN PRAKTIKUM SISTEM OPERASI

PERINTAH DASAR SISTEM OPERASI LINUX

Oleh
Ihsan Dika

NIM : 1957301047
Kelas : TI 1 B
Program Studi : Teknik Informatika
Dosen Pembimbing : Hendrawaty . ST., MT

KEMENTERIAN RISET, TEKNOLOGI DAN PERGURUAN TINGGI


POLITEKNIK NEGERI LHOKSEUMAWE
TAHUN AJARAN 2021
LEMBAR PENGESAHAN

Nomor Praktikum : 01/Sistem Operasi/2.B/TI/2021

Nama Praktikum : Sistem Operasi

Judul Praktikum : Perintah Dasar Sistem Operasi Linux

Tanggal Praktikum : 18 Maret 2021

Tanggal Penyerahan Laporan : Juli 2021

Nama Praktikan : Ihsan Dika

NIM / Kelas : 1957301047 / TI 2B

Nilai :

Keterangan :

Buketrata, Juli 2021

Dosen Pembimbing,

Hendrawaty. SR., MT

Nip. 197002261998022001

ii
DAFTAR ISI

LEMBAR PENGESAHAN .......................................................................................................... II


DAFTAR ISI.................................................................................................................................III
Modul Praktikum ......................................................................................................................... 1
Percobaan ..................................................................................................................................... 9
KESIMPULAN ............................................................................................................................ 29

iii
Praktikum 1
Perintah Dasar Sistem Operasi
Linux
POKOK BAHASAN:

üü Format Instruksi pada Sistem Operasi Linux


üü Perintah-Perintah Dasar pda Sistem Operasi Linux

TUJUAN BELAJAR:

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:


üü Menggunakan perintah-perintah dasar untuk informasi user
üü Mengenal format instruksi pada system operasi Linux
üü Menggunakan perintah-perintah dasar pada system operasi Linux
üü Menggunakan utilitas dasar pada system operasi Linux

DASAR TEORI:

Setiap pemakai LINUX harus mempunyai nama login (user account) yang
sebelumnya harus didaftarkan pada administrator system. Nama login umumnya
dibatasi maksimum 8 karakter dan umumnya dalam huruf kecil. Prompt dari shell bash
pada LINUX menggunakan tanda “$”.
Sebuah sesi LINUX terdiri dari :
1. Login
2. Bekerja dengan Shell / menjalankan aplikasi
3. Logout

Tergantung atas shell yang digunakan, pada Linux bash maka pada proses login
akan mengeksekusi program /etc/profile (untuk semua pemakai) dan file .base_profile di
direktori awal (HOME) masing-masing.

1
Pada saat logout, maka program shell bash akan mengeksekusi script yang
bernama .bash_logout.

1 FORMAT INSTRUKSI LINUX

Instruksi Linux standar mempunyai format sebagai berikut :


$ NamaInstruksi [pilihan] [argumen]
Pilihan adalah option yang dimulai dengan tanda – (minus). Argumen dapat kosong,
satu atau beberapa argumen (parameter).
Contoh :

$ ls tanpa argumen
$ ls –a option adalah –a = all, tanpa argumen
$ ls /bin tanpa option, argumen adalah /bin
$ ls /bin /etc /usr ada 3 argumen
$ ls –l /usr 1 option dan 1 argumen l = long list
$ ls –la /bin /etc 2 option –l dan –a dan 2 argumen

2 MANUAL

Linux menyediakan manual secara on-line. Beberapa kunci keyboard yang


penting dalam menggunakan manual adalah :
Q untuk keluar dari program man
<Enter> ke bawah, baris per baris
<Spasi> ke bawah, per halaman
b kembali ke atas, 1 halaman
/teks mencari teks (string)
n meneruskan pencarian string sebelumnya
Manual dibagi atas Bab-bab sebagai berikut :

2
Bab Isi
1 User commands
2 System calls
3 Library calls
4 Devices
5 File formats
6 Games
7 Miscellaneous
8 System commands
9 Kernel internals
N Tcl/Tk command

TUGAS PENDAHULUAN:

Jawablah pertanyaan-pertanyaan di bawah ini :


1. Apa yang dimaksud perintah informasi user di bawah ini :
id, hostname, uname, w, who, whoami, chfn, finger
➔ id : perintah untuk menampilkan user yang sedang menggunakan sistem.
➔ hostname : perintah untuk mengetahui domain dan host.
➔ uname : perintah untuk mengetahui informasi seperti nama kernel, versi kernel, dan
tanggal rilis kernel.
➔ w : perintah untuk mengetahui siapa saja yang sedang aktif.
➔ who : perintah untuk mengetahui user yang sedang dipakai
➔ whoami : perintah untuk melihat user yang sedang login
➔ finger : perintah yang menyediakan informasi user lebih lengkap.

ü Apa yang dimaksud perintah dasar di bawah ini :


date, cal, man, clear, apropos, whatis
➔ date : perintah untuk melihat tanggal dan waktu.
➔ cal : perintah untuk menampilkan kalender.
➔ man : perintah untuk mencari tahu fungsi dari suatu perintah.
➔ clear : perintah untuk membersihkan / mengosongkan terminal.
➔ apropos: perintah untuk mencari perintah yang deskripsinya mengandung kata kunci
yang dicari.

3
➔ what is : perintah untuk mencari pertintah yang tepat sama dengan kata kunci yang
dicari.

ü Apa yang dimaksud perintah-perintah manipulasi file di bawah ini :


ls, file, cat, more, pg, cp, mv, rm, grep
➔ ls : Perintah untuk menampilkan daftar file dalam directory aktif.
➔ file : Perintah untuk melihat tipe file.
➔ cat : Perintah untuk menampilkan isi sebuah file.
➔ more : Perintah untuk menampilkan isi text file per layar.
➔ pg : Perintah untuk menampilkan file persatu layar penuh.
➔ cp : Perintah untuk mengcopy file1 menjadi file2.
➔ mv : Perintah untuk memindahkan file1 menjadi file2.
➔ rm : Perintah untuk menghapus file.
➔ grep : Perintah untuk mencari isi suatu file disembarang directory.

PERCOBAAN:

· Login sebagai user.


· Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini
· Selesaikan soal-soal latihan

4
Percobaan 1 : Melihat identitas diri (nomor id dan group id)
$ id

Percobaan 2 : Melihat tanggal dan kalender dari sistem


1. Melihat tanggal saat ini
$ date

2. Melihat kalender
$ cal 9 2002
$ cal -y

Percobaan 3 : Melihat identitas mesin


$ hostname
$ uname
$ uname -a

Percobaan 4 : Melihat siapa yang sedang aktif


1. Mengetahui siapa saja yang sedang aktif
$w
$ who
$ whoami

2. Mengubah informasi finger


$ chfn <user>
Changing finger information for student.
Password:
Name[user wks]: <Nama Pengguna di wks>
Office[]: Lab Pemrograman 2
Office Phone []: 2301
Home Phone []: 5947280

Finger information changed.

3. Melihat informasi finger


$ finger
$ finger <user>

5
Percobaan 5 : Menggunakan manual
$ man ls
$ man man
$ man –k file
$ man 5 passwd

Percobaan 6 : Menghapus layar


$ clear

Percobaan 7 : Mencari perintah yang deskripsinya mengandung kata


kunci yang dicari
$ apropos date
$ apropos mail
$ apropos telnet

Percobaan 8 : Mencari perintah yang tepat sama dengan kunci yang


dicari
$ whatis date

Percobaan 9 : Manipulasi berkas (file) dan direktori

1. Menampilkan current working directory


$ ls

2. Melihat semua file lengkap


$ ls –l

3. Menampilkan semua file atau direktori yang tersembunyi


$ ls –a

4. Menampilkan semua file atau direktori tanpa proses sorting


$ ls –f

5. Menampilkan isi suatu direktori


$ ls /usr

6. Menampilkan isi direktori root


$ ls /

6
· Menampilkan semua file atau direktori dengan menandai : tanda (/) untuk
direktori, tanda asterik (*) untuk file yang bersifat executable, tanda (@) untuk
file symbolic link, tanda (=) untuk socket, tanda (%) untuk whiteout
dan tanda (|) untuk FIFO.
$ ls –F /etc

8. Menampilkan file atau direktori secara lengkap yaitu terdiri dari nama file,
ukuran, tanggal dimodifikasi, pemilik, group dan mode atau atributnya.
$ ls –l /etc

· Menampilkan semua file dan isi direktori. Argumen ini akan menyebabkan
proses berjalan agak lama, apabila proses akan dihentikan dapat
menggunakan ^c
$ ls –R /usr

Percobaan 10 : Melihat tipe file


$ file
$ file *
$ file /bin/ls

Percobaan 11 : Menyalin file

1. Mengkopi suatu file. Berikan opsi –i untuk pertanyaan interaktif bila file sudah
ada.
$ cp /etc/group f1
$ ls –l
$ cp –i f1 f2
$ cp –i f1 f2

2. Mengkopi ke direktori
$ mkdir backup
$ cp f1 f3
$ cp f1 f2 f3 backup
$ ls backup
$ cd backup
$ ls

7
Percobaan 12 : Melihat isi file

1. Menggunakan instruksi cat


$ cat f1

2. Menampilkan file per satu layar penuh


$ more f1
$ pg f1

Percobaan 13 : Mengubah nama file

1.Menggunakan instruksi mv
$ mv f1 prog.txt
$ ls

2. Memindahkan file ke direktori lain. Bila argumen terakhir adalah nama


direktori, maka berkas-berkas akan dipindahkan ke direktori tersebut.
$ mkdir mydir
$ mv f1 f2 f3 mdir

Percobaan 14 : Menghapus file


$ rm f1
$ cp mydir/f1 f1
$ cp mydir/f2 f2
$ rm f1
$ rm –i f2

Percobaan 15 : Mencari kata atau kalimat dalam file


$ grep root /etc/passwd
$ grep “:0:” /etc/passwd
$ grep student /etc/passwd

8
Perintah Dasar Sistem Operasi Linux

• Percobaan 1 : Melihat identitas diri (nomor id dan group id)


$ id

Analisa : id adalah utilitas baris perintah yang mencetak ID pengguna dan grup.

• Percobaan 2 : Melihat tanggal dan kalender dari sistem


$ cal 9 2002

Analisa : cal 9 2002 berfungsi untuk menampilkan kalender di tahun 2002


$ cal -y

Analisa : cal -y adalah melihat kalender di tahun terkini pada perangkat


• Percobaan 3 : Melihat Identitas Mesin

Analisa : Hostname adalah perintah untuk melihat identitas host linux ini, uname
adalah username linux ini, uname -a adalah menampilkan semua informasi
usernamenya.

9
• Percobaan 4 : Melihat siapa yang aktif
$w
$who
$whoami

Analisa : w adalah perintah untuk melihat user yang login lengkap dengan informasi
tentang penggunaannya. who adalah perintah untuk menampilkan user yang login,
whoami untuk menampilkan username.
$ chfn

Analisa : chfn merupakan untuk mengubah mengubah data atau informasi suatu
pengguna
$ finger

Analisa : finger adalah perintah untuk melihat informasi pengguna

• Percobaan 5 : Menggunakan Manual


$ man ls

10
Analisa : man ls berfungsi untuk menampilkan semua syntak manual pada perintah ls
$ man man
$ man -k file

Analisa : man -k file berfungsi untuk menampilkan semua syntak manual pada
perintah man -k file.

11
• Percobaan 6 : Menghapus Layar

$ clear

Analisa : clear untuk membersihkan layar terminal

Percobaan 7 : Mencari Perintah yang deskripsinya mengandung kata kunci yang


dicari.

12
$ apropos date

Analisa : apropos date merupakan perintah untuk mencari perintah yang


mengandung kata kunci date
$ apropos mail

Analisa : apropos mail merupakan perintah untuk mencari perintah yang


mengandung kata kunci mail.

13
$ apropos telnet

Analisa : apropos telnet merupakan perintah yang deskripsinya mengandung


kata kunci telnet.
• Percobaan 8 : Mencari Perintah Yang tepat sama dengan kunci yang dicari

$ whatis date

Analisa : whatis date adalah perintah untuk mencari deskripsi perintah date

• Percobaan 9 : Manipulasi Berkas (file) dan direktori

$ ls

Analisa : ls adalah perintah untuk melihat daftar folder/direktori


$ ls -l

Analisa : ls -l adalah perintah untuk melihat daftar folder sekaligus


detail folder-folder tersebut
$ ls -a

Analisa : perintah untuk menampilkan list folder yang ada beserta path
direktorinya dimulai dengan titik juga
$ ls -f

14
Analisa : ls -f adalah perintah untuk menampilkan list directory secara acak
tidak berurutan dan juga tidak berwarna
$ ls /usr

Analisa : ls /usr adalah perintah untuk menampilkan isi folder usr


$ ls /

Analisa : (ls /usr adalah menampilkan isi c (computer))


$ ls -F /etc

Analisa : ls -F /etc direktori tempat semua file diatur.


$ ls -l /etc

Analisa : ls -l /etc untuk melihat daftar lengkap dan format panjang semua file
konfigurasi, baik dari program maupun aplikasi.

$ ls -R /etc

Analisa : ls -R /etc untuk menampilkan daftar sub direktori lsemua file


konfigurasi, baik dari program maupun aplikasi secara rekursif.

• Percobaan 10 : Melihat tipe file


$ file

Analisa : file adalah perintah yang berfungsi untuk melihat tipe-tipe file.

15
$ file *

Analisa : (file adalah menampilkan tipe tipe file yang ada pada semua direktori)
$ file bin/ls/

Analisa : file bin/ls/ adalah perintah untuk melihat tipe tipe file yang ada pada
folder bin

• Percobaan 11 : Menyalin file


$ cp etc/group f1

Analisa : cp etc/group f1 berfungsi untuk menyalin file dari file /etc/group ke


dalam folder f1

$ ls -1

Analisa : ls -1 untuk menampilkan list direktori, tampak folder f1 yang


sebelumnya dibuat
$ cp -i f1 f2

Analisa : cp -i f1 f2 jika di lakukan 2 kali maka akan muncul pertanyaan


apakah kita akan menimpa folder yang sebelumnya telah dibuat

$ mkdir backup

Analisa : mkdir backup adalah perintah untuk membuat direktori yang


bernama backup.

16
$ cp f1 f3

Analisa : cp f1 f3 adalah mengcopy file f1 dan f3)


$ cp f1 f2 f3 backup

Analisa : cp f1 f2 f3 backup adalah mengcopy file f1, f2 dan f3 ke


dalam direktori backup)
$ ls backup

Analisa : ls backup adalah perintah melihat isi direktori backup)


$ cd backup

Analisa : cd backup adalah perintah memasuki direktori backup


$ ls

Analsia : ls untuk melihat isi direktori backup


• Percobaan 12 : melihat isi file
$ cat f1

Analisa : cat f1 berfungsi membaca data dari file f1 dan memberikan isinya sebagai
output
$ more f1

Analisa : more f1 berfungsi membaca data yang lain lagidari file f1 dan memberikan
isinya sebagai output)

• Percobaan 13 : Mengubah nama file


$ mv f1 prog.txt

Analisa : mv f1 prog.txt, mv f2 prog2.txt, mv f3 prog3.txt adalah mengubah


nama file f1, f2, f3 ke prog.txt, prog2.txt, prog3.txt
$ ls

Analisa : ls untuk melihat list yang tersedia

17
$ mkdir mydir

Analisa : mkdir mydir berfungsi membuat direktori yang bernama mydir


$ mv f1 f2 f3 mydir

Analisa : mv f1 f2 mydir untuk memindahkan file tersebut ke dalam direktori


mydir

• Percobaan 14 : Menghapus file


$ rm f2

Analisa : rm fprog.txt untuk menghapus file f1


$ cp mydir/ f2 f2

Analisa : cp mydir/prog.txt prog.txt adalah mencopy file prog.txt dari dalam


direktori mydir dan memberi nama prog.txt juga dan fike tersebut akan
berada pada list direktori
$ rm -i f2

Analisa : rm -i prog2.txt adalah adalah menghapus file prog2.txt dan memberi


tanggapan ya atau tidak
• Percobaan 15 : Mencari kata atau kalimat dalam file
$ grep root /etc/passwd

Analisa : grep root etc/passwd adalah mencari kata root pada user account
information
$ grep “0:0” etc/passwd

Analisa : grep “0:0” etc/passwd adalah mencari kata “0:0” pada user account
information

$ grep student /etc/passwd

Analisa : grep student etc/passwd adalah mencari kata student pada user account
information

18
KESIMPULAN

User LINUX harus mempunyai nama login (user account) yang sebelumnya harus didaftarkan
pada administrator system. Nama login umumnya dibatasi maksimum 8 karakter dan
umumnya dalam huruf kecil. Prompt dari shell bash pada LINUX menggunakan tanda “$”.
Sebuah sesi LINUX terdiri dari: Login, Bekerja dengan Shell / menjalankan aplikasi, Logout.

19
LEMBAR PENGESAHAN

Nomor Praktikum : 02/Sistem Operasi/2.B/TI/2021

Nama Praktikum : Sistem Operasi

Judul Praktikum : Operasi Input Output pada Linux

Tanggal Praktikum : 31 Maret 2021

Tanggal Penyerahan Laporan : July 2021

Nama Praktikan : Ihsan Dika

NIM / Kelas : 1957301047 / TI 2B

Nilai :

Keterangan :

Buketrata, July 2021

Dosen Pembimbing,

Hendrawaty. SR., MT

Nip. 197002261998022001

i
DAFTAR ISI

LEMBAR PENGESAHAN .......................................................................................................... II


DAFTAR ISI.................................................................................................................................III
Modul Praktikum ....................................................................................................................... 30
Percobaan ................................................................................................................................... 43
KESIMPULAN ............................................................................................................................ 51

ii
Praktikum 2
Operasi Input Output

POKOK BAHASAN:

✓ Pipeline
✓ Redirection

TUJUAN BELAJAR:

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:

✓ Memahami konsep proses I/O dan redirection


✓ Memahami standar input, output dan error
✓ Menggunakan notasi output, append dan here document
✓ Memahami konsep PIPE dan filter

DASAR TEORI:

1 PROSES I/O

Sebuah proses memerlukan Input dan Output.

Input Proses Output

Instruksi (command) yang diberikan pada Linux melalui Shell disebut


sebagai
eksekusi program yang sela njutnya disebut proses.
Setiap kali instruksi diberikan, maka Linux kernel akan menciptakan sebuah
proses dengan memberikan nomor PID (Process Identity).
Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu
Output.

30
Dalam konteks Linux input/o utput adalah :
· Keyboard (input)
· Layar (output)
· Files
· Struktur data kernel
· Peralatan I/O lainnya (misalnya Network)

2 FILE DESCRIPTOR

Linux berkomunikasi dengan file melalui file descriptor yang


direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya.
Tiga buah file descriptor standar yang lalu diciptakan oleh proses adalah :
· 0 = keyboard (standar input)
· 1 = layar (standar output)
· 2 = layar (standar error)

1
Input Output
0 Proses
(keyboard) (monitor)

Linux tidak membedakan antara peralatan hardware dan file,


Linux
memanipulasi peralatan hardware sama dengan file.

3 PEMBELOKAN (REDIRECTION)
Pembeloka dilakukan untuk standard input, output dan error, yaitu
n untuk
mengalihkan file descriptor dari 0, 1 dan 2. Simbol untuk pembelokan adalah :
0< atau < pengganti standard inp ut
1> atau > pengganti standard output

31
4 PIPA (PIPELINE)

Mekanisme pipa digunakan sebagai alat komunikasi antar proses.

Input Þ Proses1 Þ Output = Input Þ Proses2 Þ Output

Proses 1 menghasilkan output yang selanjutnya digunakan sebagai input


oleh Proses 2. Hubungan output input ini dinamakan pipa, yang menghubngkan
Proses 1 dengan Proses2 dan dinyatakan dengan symbol “|”.

Proses1 | Proses2

5 FILTER

Filter adalah utilitas Linux yang dapat memproses standard input (dari
keyboard) dan menampilkan hasilnya pada standard output (layar). Contoh filter
adalah cat, sort, grep, pr, head, tail, paste dan lainnya.
Pada sebuah rangkaian pipa :
P1 | P2 | P3 ……. | Pn-1 | Pn
Maka P2 sampai dengan Pn-1 mutlak harus utilitas Linux yang berfungsi
sebagai filter. P1 (awal) dan Pn (terakhir) boleh tidak filter. Utilitas yang bukan
filter misalnya who, ls, ps, lp, lpr, mail dan lainnya.
Beberapa perintah Linux yang digunakan untuk proses penyaringan antara
lain :
· Perintah grep
Digunakan untuk menyaring masukannya da n menampilkan baris-baris
yang hanya mengandung pola yang ditentukan. Pola ini disebut regular
expression.
· Perintah wc
Digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-
baris masukan yang diberikan kepadanya. Untuk mengetahui berapa baris
gunakan option – l, untuk mengetahui berapa kata, gunakan option –w dan
untuk mengetahui berapa karakter, gunakan option –c. Jika salah satu option
tidak digunakan, maka tampilannya adalah jumlah baris, jumlah kata dan
jumlah karakter.
32
· Perintah sort
Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor
ASCII dari karakter.
· Perintah cut
Digunakan untuk mengambil kolom tertentu dari baris-baris masukannya,
yang ditentukan pada option –c.
· Perintah uniq
Digunakan untuk menghilangkan baris-baris berurutan yang mengalami
duplikasi, biasanya digabungkan dalam pipeline dengan sort.

TUGAS PENDAHULUAN :

Jawablah pertanyaan-pertanyaan di bawah ini :


· Apa yang dimaksud redirection ?
➔ Redirection adalah teknik mengalihkan input atau output dari standarnya.
· Apa yang dimaksud pipeline ?
➔ Pipeline adalah teknik menjadikan output sebagai sebuah proses menjadi proses
lainnya.
· Apa yang dimaksud perintah di bawah ini :
echo, cat, more, sort, grep, wc, cut, uniq
➔ echo adalah perintah untuk menampilkan garis
➔ cat adalah perintah untuk melihat isi file
➔ more adalah perintah yang digunakan untuk menampilkan isi file teks dengan
tampilan perlayar
➔ sort adalah perintah untuk mengurutkan masukannya berdasarkan urutan nomor
ASCII dari karakter
➔ grep adalah perintah untuk mencari kata
➔ wc adalah perintah untuk menampilkan baris baru
➔ cut adalah perintah untuk mengambi kolom tertentu dari baris-baris masukannya
yang ditentukan pada option –c
➔ uniq adalah perintah untuk menghilangkan baris-baris berurutan yang mengalami
duplikasi, biasanya digabungkan dalam pipeline dengan sort.

33
PERCOBAAN :

1. Login sebagai user.


2. Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini.
Perhatikan hasil setiap percobaan.
3. Selesaikan soal-soal latihan.

34
Percobaan 1 : File descriptor
1. Output ke layar (standar output), input dari system
(kernel) $ ps

2. Output ke layar (standar output), input dari keyboard (standard input)


$ cat
hallo, apa khabar
hallo, apa khabar
exit dengan ^d
exit dengan ^d
[Ctrl-d]

3. Input dari keyboard dan output ke alamat internet


$ mail arna@eepis-its.edu
contoh surat yang langsung
dibuat pada standard input (keyboard)
[Ctrl-d]

4. Input nama direktori, output tidak ada (membuat direktori baru), bila terjadi
error maka tampilan error pada layar (standard error)
$ mkdir mydir
$ mkdir mydir (Terdapat pesan error)

Percobaan 2 : Pembelokan (redirection)


1. Pembelokan standar output
$ cat 1> myfile.txt
Ini adalah teks yang saya simpan
Ke file myfile.txt

2. Pembelokan standar input, yaitu input dibelokkan dari keyboard menjadi dari file
$ cat 0< myfile.txt
$ cat myfile.txt

3. Pembelokan standar error untuk disimpan di file


$ mkdir mydir (Terdapat pesan error)
$ mkdir mydir 2> myerror.txt
$ cat myerror.txt

35
4. Notasi 2>&1 : pembelokan standar error (2>) adalah identik dengan file
descriptor 1.
$ ls filebaru (Terdapat pesan error)
$ ls filebaru 2> out.txt
$ cat out.txt
$ ls filebaru 2> out.txt 2>&1
$ cat out.txt

5. Notasi 1>&2 (atau >&2) : pembelokan standar output adalah sama dengan
file descriptor 2 yaitu standar error
$ echo “mencoba menulis file” 1> baru
$ cat filebaru 2> baru 1>&2
$ cat baru

6. Notasi >> (append)


$ echo “kata pertama” > surat
$ echo “kata kedua” >> surat
$ echo “kata ketiga” >> surat
$ cat surat
$ echo “kata keempat” > surat
$ cat surat

7. Notasi here document (<<++ …. ++) digunakan sebagai pembatas input dari
keyboard. Perhatikan bahwa tanda pembatas dapat digantikan dengan tanda
apa saja, namun harus sama dan tanda penutup harus diberikan pada awal
baris
$ cat <<++
Hallo, apa kabar ?
Baik-baik saja ?
Ok!
++
$ cat <<%%%
Hallo, apa kabar ?
Baik-baik saja ?
Ok!
%%%

ü Notasi – (input keyboard) adalah representan input dari keyboard. Artinya


menampilkan file 1, kemudian menampilkan input dari keyboard dan
menampilkan file 2. Perhatikan bahwa notasi “-“ berarti menyelipkan input
dari keyboard
$ cat myfile.txt – surat

36
9. Untuk membelokkan standart output ke file, digunakan operator >
$ echo hello
$ echo hello > output
$ cat output

10. Untuk menambahkan output ke file digunakan operator >>


$ echo bye >> output
$ cat output

ü Untuk membelokkan standart input digunakan


operator < $ cat < output

ü Pembelokan standart input dan standart output dapat dikombinasikan tetapi tidak
boleh menggunakan nama file yang sama sebagai standart input dan output.
$ cat < output > out
$ cat out
$ cat < output >> out
$ cat out
$ cat < output > output
$ cat output

37
Percobaan 3 : Pipa (pipeline)

1. Operator pipa (|) digunakan untuk membuat eksekusi proses dengan


melewati data langsung ke data lainnya.
$ who
$ who | sort
$ who | sort –r
$ who > tmp
$ sort tmp
$ rm tmp
$ ls –l /etc | more
$ ls –l /etc | sort | more

38
Percobaan 4 : Filter
· Pipa juga digunakan untuk mengkombinasikan utilitas sistem untuk
membentuk fungsi yang lebih kompleks
$ w –h | grep <user>
$ grep <user> /etc/passwd
$ ls /etc | wc
$ ls /etc | wc –l
$ cat > kelas1.txt
Badu
Zulkifli
Yulizir
Yudi
Ade
[Ctrl-d]
$ cat > kelas2.txt
Budi
Gama
Asep
Muchlis
[Ctrl-d]
$ cat kelas1.txt kelas2.txt | sort
$ cat kelas1.txt kelas2.txt > kelas.txt $ cat kelas.txt |
sort | uniq

42
Operasi Input Output pada Linux

1. Output ke Layar (standar output), input dari system (kernel)


• PS

2. Output ke layar (standar output), input dari keyboard (standard input)

3. Input dari keyboard dan output ke alamat internet

4. Input nama direktori, output tidak ada (membuat direktori baru), bila terjadi error maka
tampilan error pada layar (standard error).

PERCOBAAN PEMBELOKAN (REDIRECTION)

1. Pembelokann standar output

2.Pembelokan standar input, yaitu input dibelokkan dari keyboard menjadi dari
file

43
3. Pembelokan standar error untuk disimpan di file

4. Notasi 2>&1 : pembelokan standar error (2>) adalah identik dengan file descriptor 1.

5. Notasi 1>&2 (atau >&2) : pembelokan standar output adalah sama dengan file descriptor
2 yaitu standar error

6. Notasi >> (append)

7. Notasi here document (<<++ .... ++) digunakan sebagai pembatas input dari keyboard.
Perhatikan bahwa tanda pembatas dapat digantikan dengan tanda apa saja, namun harus
sama dan tanda penutup harus diberikan pada awal baris

44
8. Notasi – (input keyboard) adalah representan input dari keyboard. Artinya menampilkan
file 1, kemudian menampilkan input dari keyboard dan menampilkan file 2. Perhatikan
bahwa notasi “-“ berarti menyelipkan input dari keyboard.

9. Untuk membelokkan standart output ke file, digunakan operator >

10. Untuk menambahkan output ke file digunakan operator >>

11. Untuk membelokkan standart input digunakan operator <

45
12. Pembelokan standart input dan standart output dapat dikombinasikan tetapi tidak boleh
menggunakan nama file yang sama sebagai standart input dan output.

PERCOBAAN SALURAN / PIPA (PIPELINE)


1. Operator pipa (|) digunakan untuk membuat eksekusi proses dengan melewati data
langsung ke data lainnya.

46
PERCOBAAN FILTER

47
KESIMPULAN

Proses input/output sangat diperlukan oleh Linux Ubuntu karena selalu membutuhkan
input dan menghasilkan output. Proses input/output terdiri dari file descriptor,pembelokkan,
saluran dan filter. Yang paling banyak berperan dalam proses input/output adalah keyboard
dan kernel. Dalam mengoperasikan serta memanage proses input dan output linux
menyediakan berbagai perintah yang bisa dijalankan pada terminal seperti ps, cat, echo, who,
sort, dll

48
LEMBAR PENGESAHAN

Nomor Praktikum : 03/Sistem Operasi/2.B/TI/2021

Nama Praktikum : Sistem Operasi

Judul Praktikum : Operasi File dan Struktur Directory

Tanggal Praktikum : 8 April 2021

Tanggal Penyerahan Laporan : Juli 2021

Nama Praktikan : Ihsan Dika

NIM / Kelas : 1957301047 / TI 2B

Nilai :

Keterangan :

Buketrata, Juli 2021

Dosen Pembimbing,

Hendrawaty. SR., MT

Nip. 197002261998022001

i
DAFTAR ISI

LEMBAR PENGESAHAN .......................................................................................................... II


DAFTAR ISI.................................................................................................................................III
Modul Praktikum ....................................................................................................................... 52
Percobaan ................................................................................................................................... 66
KESIMPULAN ............................................................................................................................ 78

ii
Praktikum 3
Operasi File dan Struktur Direktory
POKOK BAHASAN:

ü Operasi File pada Sistem Operasi Linux


ü Struktur Direktory pada Sistem Operasi Linux

TUJUAN BELAJAR:

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:


ü Memahami organisasi file dan direktory pada sistem operasi Linux
ü Menciptakan dan manipulasi directory
ü Memahami konsep link dan symbolic link

DASAR TEORI:

1 ORGANISASI FILE

Sistem file pada Linux menyerupai pepohonan (tree), yaitu dimulai dari root,
kemudian direktori dan sub dirrektori. Sistem file pada Linux diatur secara hirarkhikal,
yaitu dimulai dari root dengan symbol “/” seperti Gambar 3.1.
Kita dapat menciptakan File dan Direktori mulai dari root ke bawah. Direktori
adalah file khusus, yang berisi nama file dan INODE (pointer yang menunjuk ke data /
isi file tersebut). Secara logika, Direktori dapat berisi File dan Direktori lagi (disebut
juga Subdirektori).

52
Gambar 1.3 Struktur direktori pada Linux

2 DIREKTORY STANDAR
Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri atas direktori
sebagai berikut :

Direktori Deskripsi
Berisi file administrative (konfigrasi dll) dan file executable
/etc
atau script yang berguna untuk administrasi system.
Berisi file khusus yang merepresentasikan peralatan hardware
/dev
seperti memori, disk, printer, tape, floppy, jaringan dll.
/bin Berisi utilitas sistem level rendah (binary) .
Berisi utilitas sistem untuk superuser (untuk membentuk
/sbin
administrasi sistem).
/usr/sbin
Berisi utilitas sistem dan program aplikasi level tinggi.
/usr/bin
/usr/lib Berisi program library yang diperlukan untuk kompilasi

53
program (misalnya C). Berisi instruksi (command) misalnya
untuk Print Spooler (lpadmin) dll.
Berisi file sementara, yang pada saat Bootstrap akan dihapus
/tmp
(dapat digunakan oleh sembarang user).
Berisi file yang sangat penting untuk proses bootstrap. Kernel
/boot
vmlinuz disimpan di direktori ini.
Berisi informasi tentang kernel Linux, proses dan virtual system
/proc
file.
Direktori variable, artinya tempan penyimpanan LOG (catatan
/var hasil output program), file ini dapat membengkak dan perlu
dimonitor perkembangannya.
Berisi direktori untuk pemakai Linux (pada SCO diletakkan
/home
pada /usr)
/mnt Direktori untuk mounting system file
/root Home direktori untuk superuser (root)
/usr/bin/X11 Symbolic link ke /usr/X11R6/bin, program untuk X-Window
/usr/src Source code untuk Linux
Option, direktori ini biasanya berisi aplikasi tambahan (“add-
/opt
on”) seperti Netscape Navigator, kde, gnome, applix dll.

Direktori /etc
Berisi file yang berhubungan dengan administrasi system, maintenance script, konfigurasi,
security dll. Hanya superuser yang boleh memodifikasi file yang berada di drektori ini.
Subdirektori yang sering diakses pada direktori /etc antara lain :
· httpd, apache web server.
· ppp, point to point protocol untuk koneksi ke Internet.

· rc.d atau init.d, inisialisasi (startup) dan terminasi (shutdown) proses di


Linux dengan konsep runlevel.
· cron.d, rincian proses yang dieksekusi dengan menggunakan jadwal(time
dependent process)

54
· FILES, file security dan konfigurasi meliputi : passwd, hosts, shadow,
ftpaccess, inetd.conf, lilo.conf, motd, printcap, profile, resolv.conf,
sendmail.cf, syslog.conf, dhcp.conf, smb.conf, fstab .

Direktori /dev
Konsep Unix dan Linux adalah memperlakukan peralatan hardware sama seperti penanganan file.
Setiap alat mempunyai nama file yang disimpan pada direktori /dev.

Peralatan Direktori
Floppy /dev/fd0
IDE : /dev/had, /dev/hdb, /dev/hdc, /dev/hdd
Harddisk
SCSI : /dev/sda, /dev/sdb, /dev/sdc
SCSI : /dev/scd0, /dev/scd1
CDROM IDE : /dev/gscd, /dev/sonycd
Universal : /dev/cdrom (link dari actual cdrom ide atau scsi)
PS2 : /dev/lp0
Mouse
Universal : /dev/mouse
LPT1 : /dev/lp0
Parallel Port
LPT2 : /dev/lp1
COM1 : /dev/ttyS0
Serial Port COM2 : /dev/ttyS1
Universal : /dev/modem (link dari S0 atau S1)

Direktori /proc
Direktori /proc adalah direktori yang dibuat diatas RAM (Random Access Memory) dengan
system file yang diatur oleh kernel. /proc berisi nomor proses dari system dan nama driver
yang aktif di system. Semua direktori berukuran 0 (kosong) kecuali file kcore dan self. Setiap
nomor yang ada pada direktori tsb merepresentasikan PID (Process ID).

55
3 TIPE FILE

Pada Linux terdapat 6 buah tipe file yaitu


· Ordinary file
· Direktori
· Block Device (Peralatan I/O)
Merupakan representasi dari peralatan hardware yang menggunakan transmisi data per
block (misalnya 1 KB block), seperti disk, floppy, tape.
· Character Device (Peralatan I/O)
Merupakan representasi dari peralatan hardware yang menggunakan transmisi data karakter
per karakter, seperti terminal, modem, plotter dll
· Named Pipe (FIFO)
File yang digunakan secara intern oleh system operasi untuk komunikasi antar proses
· Link File

4 PROPERTI FILE

File mempunyai beberapa atribut, antara lain :


· Tipe file : menentukan tipe dari file, yaitu :

Karakter Arti
- File biasa
d Direktori
l Symbolic link
b Block special file
c Character special file
s Socket link
p FIFO

· Ijin akses : menentukan hak user terhadap file ini.


· Jumlah link : jumlah link untuk file ini.

56
· Pemilik (Owner) : menentukan siapa pemilik file ini
· Group : menentukan group yang memiliki file ini
· Jumlah karakter : menentukan ukuran file dalam byte
· Waktu pembuatan : menentukan kapan file terakhir dimodifikasi
· Nama file : menentukan nama file yang dimaksud
Contoh :
-rw-rw-r-- 1 bin auth 1639 Oct 31 20:19 /etc/passwd

Pemilik Group Jml karakter


Jml link Waktu
Ijin akses Nama file
tipe

5 NAMA FILE

Nama file maksimal terdiri dari 255 karakter berupa alfanumerik dan beberapa karakter
spesial yaitu garis bawah, titik, koma dan lainnya kecuali spasi dan karakter “&”, “;”, “|”,
“?”, “`”, “””, “’”, “[“, “]”, “(“, “)”, “$”, “<”, “>”, “{“, “}”, “^”, “#”, “\”, “/”. Linux
membedakan huruf kecil dengan huruf besar (case sensitive). Contoh nama file yang benar :
Abcde5434
3
prog.txt
PROG.txt
Prog.txt,old
report_101,v2.0.1
5-01.web.html

6 SIMBOLIC LINK
Link adalah sebuah teknik untuk memberikan lebih dari satu nama file dengan data yang
sama. Bila file asli dihapus, maka data yang baru juga terhapus . Format dari Link :
ln fileAsli fileDuplikat

57
fileDuplikat disebut hard link dimana kedua file akan muncul identik (link count = 2) Bila
fileAsli atau ileDuplikat diubah perubahan akan terjadi pada file lainna.
Symbolic Link diperlukan bila file tersebut di “link” dengan direktori /file yang berada pada
partisi yang berbeda. Tipe file menjadi l (link) dan file tersebut menunjuk ke tempat asal.
Format :
ln –s /FULLPATH/fileAsli /FULLPATH/fileDuplikat
Pilihan –s (shortcut) merupakan bentuk soft link dimana jumlah link count pada file asal tidak
akan berubah. Pada bentuk soft link, symbolic link dapat dilakukan pada file yang tidak ada,
sedangkan pada hard link tidak dimungkinkan. Perbedaan lain, symbolic link dapat dibentuk
melalui media disk atau partisi yang berbeda dengan soft link, tetapi pada hard link terbatas
pada partisi disk yang sama.

7 MELIHAT ISI FILE


Untuk melihat jenis file menggunakan format :
file filename(s)
Isi file akan dilaporkan dengan deskripsi level tinggin seperti contoh berikut
$ file myprog.c letter.txt webpage.html

Perintah ini dapat digunakan secara luas untuk file yang kadang membingungkan, misalnya
antara kode C++ dan Java.

8 MENCARI FILE
Jika ingin melihat bagaimana pohon direktori dapat digunakan perintah
· find
Format : find directory –name targetfile -print
Akan melihat file yang bernama targetfile (bisa berupa karakter wildcard)
· which
Format : which command

58
Untuk mengetahui letak system utility
· locate
Format : locate string
Akan me ncari file pada semua directori dengan lebih cepat dan ditampilkan dengan path yang
penuh.

9 MENCARI TEXT PADA FILE


Untuk mencari text pada file digunakan perintah grep (General Regular Expression Print)
dengan format perintah
grep option pattern files
Grep akan mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan
baris yang sesuai.

TUGAS PENDAHULUAN :

Jawablah pertanyaan-pertanyaan di bawah ini :


1. Apa yang dimaksud perintah-perintah direktory : pwd, cd, mkdir, rmdir.
➔ pwd : perintah untuk menampilkan nama direktori dimana user berada
➔ cd : perintah untuk berpindah ke direktori lain
➔ mkdir : perintah untuk membuat direktori baru
➔ rmdir : perintah untuk menghapus direktori

2. Apa yang dimaksud perintah-perintah manipulasi file : cp, mv dan rm (sertakan


format yang digunakan)
➔ cp : perintah untuk menyalin sebuah file
➔ mv : perintah untuk memindahkan file
➔ rm : perintah untuk menghapus file
3. Jelaskan perbedaan Symbolic link menggunakan hard link (direct) dan soft link
(indirect).
➔ Pada bentuk soft link, symbolic link dapat dilakukan pada file yang tidak ada,
sedangkan pada hard link tidak dimungkinkan. Perbedaan lain, symbolic link dapat
dibentuk melalui media disk atau partisi yang berbeda dengan soft link, tetapi pada
hard link terbatas pada partisi disk yang sama.

59
4. Tuliskan maksud perintah-perintah : file, find, which, locate dan grep.
➔ file : perintah untuk melihat ekstensi suatu file
➔ find : perintah untuk berfungsi unutk mencari file pada komputer yang dimulai dari
direktori
➔ which : perintah untuk menunjukkan lokasi dari suatu perintah
➔ locate : perintah untuk mencari file pada direktori lain yang tidak sedang dikunjugi
➔ grep: perintah unutk mencari kata dalam suatu file

PERCOBAAN :

3. Login sebagai user.


4. Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini.
Perhatikan hasilnya.
5. Selesaikan soal-soal latihan

60
Percobaan 1 : Direktory
1. Melihat direktori HOME
$ pwd
$ echo $HOME

2. Melihat direktori aktual dan parent direktori


$ pwd
$ cd .
$ pwd
$ cd ..
$ pwd
$ cd

3. Membuat satu direktori, lebih dari satu direktori atau sub direktori
$ pwd
$ mkdir A B C A/D A/E B/F A/D/A
$ ls -l
$ ls -l A
$ ls -l A/D

4. Menghap us satu atau lebih direktori hanya dapat dilakukan pada direktori
kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin
aksesnya
$ rmdir B (Terdapat pesan error, mengapa ?)
$ ls -l B
$ rmdir B/F B
$ ls -l B (Terdapat pesan error, me ngapa ?)

5. Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke


direktori lain.
$ pwd
$ ls -l
$ cd A
$ pwd
$ cd ..
$ pwd
$ cd /home/<user>/C
$ pwd
$ cd /<user/C (Terdapat pesan error, mengapa ?)
$ pwd

61
Percobaan 2 : Manipulasi file
1. Perintah cp untuk mengkopi file atau seluruh direktori
$ cat > contoh
Membuat sebuah file
[Ctrl-d]
$ cp contoh contoh1
$ ls -l
$ cp contoh A
$ ls –l A
$ cp contoh contoh1 A/D
$ ls –l A/D

2. Perintah mv untuk memindah file


$ mv contoh contoh2
$ ls -l
$ mv contoh1 contoh2 A/D
$ ls –l A/D
$ mv contoh contoh1 C
$ ls –l C

3. Perintah rm untuk menghapus file


$ rm contoh2
$ ls -l
$ rm –i contoh
$ rm –rf A C
$ ls -l

Percobaan 3 : Symbolic Link


1. Membuat shortcut (file link)
$ echo "Hallo apa khabar" > halo.txt $ ls -l
$ ln halo.txt z $ ls -l
$ cat z
$ mkdir mydir
$ ln z mydir/halo.juga $ cat
mydir/halo.juga $ ln -s z bye.txt
$ ls -l bye.txt $ cat bye.txt

62
Percobaan 4 : Melihat Isi File
$ ls –l
$ file halo.txt
$ file bye.txt

Percobaan 5 : Mencari file


1. Perintah find
$ find /home –name “*.txt” –print > myerror.txt $ cat myerror.txt
$ find . –name “*.txt” –exec wc –l ‘{}’ ‘;’

ü Perintah which
$ which ls

ü Perintah locate
$ locate “*.txt”

Percobaan 6 : Mencari text pada file


$ grep Hallo *.txt

65
Operasi File dan Struktur Directory

PERCOBAAN 1 : Directory

1. Melihat Directory Home

Analisa : Istilah pwd adalah “Print Working Directory” artinya melihat directory yang
sedang bekerja/ berjalan. echo $HOME menampilkan baris text/string directory
pada $HOME

2. Melihat directory aktual dan parent directory

Analisa : Istilah pwd adalah “Print Working Directory” artinya melihat directory yang
sedang bekerja/ berjalan. cd . Merupakan memasuki laman pada direktori itu
sendiri atau bisa dibilang masih tetap. cd .. merupakan memasuki directory
kamar home. Jika cd kembali ke awal sekali.

66
3. Membuat satu direktori, lebih dari satu direktori atau sub direktori

Analisis : mkdir membuat directory. Mkdir A membuat directory “A” Mkdir B membuat
directory “B” Mkdir C membuat directory “C” . A/D maksudnya didalam
directory A ada directory D lagi. A/E juga sama. B/F juga sama. A/D/A juga
sama didalam directory A ada Directroy D, dan Didalam directory D ada
Directory A lagi.

4. Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktorikosong
dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya

Analisis : rmdir B adalah menghapus directory B, tetapi gagal, karena didalam directory
ada isinya yaitu directory F. ls -l B adalah melihat list direktori B. rmdir B/F B
menghapus directory B beserta F nya juga.

5. Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori


kedirektori lain.

67
Analisis : cd A adalah perintah untuk memasuki direktori A. cd .. adalah kembali ke kamar
awal, “..” maksudnya 2 kali kamar. cd /home/rijik/C adalah mamsuki direktori C
dari kamar home, kamar rijik.

Percobaan 2 : Perintah cp untuk mengkopi file atau seluruh direktori

1. Perintah cp untuk mengkopi file atau seluruh direktory

Analisis : cat > contoh adalah, hanya untuk menulis kalimat saja sebagai penjelas. cp
contoh contoh1. Adalah mengkopi file contoh dan contoh1 ke direktory utama.

68
Kemudian untuk cp contoh A. yaitu mengkopi file contoh ke directory A.
Kemudian untuk contoh Contoh1 A/D yaitu mengkopi file contoh dan contoh1
ke dalam direkori D dari dalam direktori A

2. Perintah mv untuk memindah file

Analisis : mv contoh contoh2 adalah memindahkan file contoh dan contoh2 ke direktori
utama. Kemudian mv contoh1 contoh2 A/D adalah memindahkan file contoh1 dan
contoh2 ke dalam direktori D dari dalam direktori A karena (A/D). mv contoh
contoh C gagal memindahkan karena filenya sudah dipindah.

3. Perintah rm untuk menghapus file

69
Analisis : rm contoh2 adalah menghapus file contoh2. Di gambar mengapa gagal karena saya
tidak masuk ke direktori dimana file itu berada. Kemudian rm -rf A C adalah
menghapus direktori A dan direktori C

Percobaan 3 : Symbolic Link

1. Membuat shortcut (file link)

Analisis : echo “Hallo apa kabar” > halo.txt adalah membuat file halo.txt dan isinya
berupa kalimat hallo apa kabar. Kemudian ln halo.txt z adalah membuat link

70
untuk z dan z tersebut merupakan halo.txt. ln z mydir/halo.juga adalah
membuat flie halo.juga didalam direktori mydir dengan link z tadi. ln -s z
bye.txt adalah membuat file bye.txt dengan simbolik link dari link utama. cat
bye.txt melihat isi dalam file bye.txt
Percobaan 4 : Melihat Isi File

Analisis : file halo.txt merupakan mendeskripsikan file halo.txt, deskripsinya


merupakan ASCII text. file bye.txt juga sama sehingga deskripsi dari bye.txt
merupakan simbolik link ke z.

71
Percobaan 5 : Mencari file

1. Perintah find

Analisis : find /home –name “*.txt” –print > myerror.txt adalah mencari kata .txt dari file
myerror.txt. cat myerror.txt adalah melihat dan mengkonfigurasi file myerror.txt

2. Perintah which

Analisis : Perintah which digunakan untuk mengidentifikasi lokasi File executable yang
diberikan ketika Anda mengetik perintah executable di terminal prompt.

3. Perintah locate

Analisis : locate “.txt” mencari lokasi ekstensi file “.txt” Percobaan 6 : Mencari text pada file

72
KESIMPULAN

Pada linux kita dapat mengoperasikan directory dan file melalui perintah pada terminal.
Mulai dari memanipulasi, menghapus, mengcopy dan memodifikasinya. Tentunya untuk
mewujudkan hal diatas kita membutuhkan perintah-perintah yang bersangkutan dengan keadaan
tersebut.

73
LEMBAR PENGESAHAN

Nomor Praktikum : 04/Sistem Operasi/2.B/TI/2021

Nama Praktikum : Sistem Operasi

Judul Praktikum : Proses Dan Manajemen Proses

Tanggal Praktikum : 29 April 2021

Tanggal Penyerahan Laporan : Juli 2021

Nama Praktikan : Ihsan Dika

NIM / Kelas : 1957301047 / TI 2B

Nilai :

Keterangan :

Buketrata, Juli 2021

Dosen Pembimbing,

Hendrawaty. SR., MT

Nip. 197002261998022001

i
DAFTAR ISI

LEMBAR PENGESAHAN .......................................................................................................... II


DAFTAR ISI.................................................................................................................................III
Modul Praktikum ....................................................................................................................... 79
Percobaan ................................................................................................................................... 89
KESIMPULAN .......................................................................................................................... 104

ii
Praktikum 4
A
Proses dan Manajemen
Proses
POKOK BAHASAN:

ü Proses pada Sistem Operasi Linux


ü Manajemen Proses pada Sistem Operasi Linux

TUJUAN BELAJAR:

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:


ü Memahami konsep proses pada sis tem operasi Linux.
ü Menampilkan beberapa cara menampilkan hubungan proses parent dan child.
ü Menampilkan status proses dengan beberapa format berbeda.
ü Melakukan pengontrolan proses pada shell.
ü Memahami penjadwalan prioritas.

DASAR TEORI:

1 KONSEP PROSES PADA SISTEM OPERASI LINUX

Proses adalah program yang sedang dieksekusi. Setiap kali menggunakan


utilitas sistem atau program aplikasi dari shell, satu atau lebih proses ”child” akan
dibuat oleh shell sesuai perintah yang diberikan. Setiap kali instruksi dibe rikan pada
Linux shell, maka kernel akan menciptakan sebuah proses-id. Proses ini disebut juga
dengan terminology Unix sebagai sebuah Job. Proses Id (PID) dimulai dari 0, yaitu
proses INIT, kemudian diikuti oleh proses berikutnya (terdaftar pada /etc/inittab).
Beberapa tipe proses :
· Foreground

79
Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog)

80
· Batch
Proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu). Prose
Batch tidak diasosiasikan (berinteraksi) dengan terminal.
· Daemon
Proses yang menunggu permintaan (request) dari proses lainnya dan menjalankan
tugas sesuai dengan permintaan tersebut. Bila tidak ada request, maka program ini
akan berada dalam kondisi “idle” dan tidak menggunakan waktu hitung CPU.
Umumnya nama proses daemon di UNIX berakhiran d, misalnya inetd, named, popd
dll

2 SINYAL

Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya. Proses
mengirim sinyal melalui instruksi “kill” dengan format
kill [-nomor sinyal] PID
Nomor sinyal : 1 s/d maksimum nomor sinyal yang didefinisikan system
Standar nomor sinyal yang terpenting adalah :

No Sinyal Nama Deskripsi


Hangup, sinyal dikirim bila proses terputus,
1 SIGHUP
misalnya melalui putusnya hubungan modem
2 SIGINT Sinyal interrupt, melalui ^C
3 SIGQUIT Sinyal Quit, melalui ^\
9 SIGKILL Sinyal Kill, menghentikan proses
15 SIGTERM Sinyal terminasi software

3 MENGIRIM SINYAL
Mengirim sinyal adalah satu alat komunikasi antar proses, yaitu
memberitahukan proses yang sedang berjalan bahwa ada sesuatu yang harus
dikendalikan. Berdasarkan sinyal yang dikirim ini maka proses dapat bereaksi dan

81
administrator/programmer dapat menentukan reaksi tersebut. Mengirim sinyal
menggunakan instruksi
kill [-nomor sinyal] PID
Sebelum mengirim sinyal PID proses yang akan dikirim harus diketahui
terlebih dahulu.

4 MENGONTROL PROSES PADA SHELL

Shell menyediakan fasilitas job control yang memungkinkan mengontrol


beberapa job atau proses yang sedang berjalan pada waktu yang sama. Misalnya bila
melakukan pengeditan file teks dan ingin melakukan interrupt pengeditan untuk
mengerjakan hal lainnya. Bila selesai, dapat kembali (switch) ke editor dan melakukan
pengeditan file teks kembali.
Job bekerja pada foreground atau background. Pada foreground hanya diper
untukkan untuk satu job pada satu waktu. Job pada foreground akan mengontrol shell -
menerima input dari keyboard dan mengirim output ke layar. Job pada background tidak
menerima input dari terminal, biasanya berjalan tanpa memerlukan interaksi.

Job pada foreground kemungkinan dihentikan sementara (suspend), dengan


menekan [Ctrl-Z]. Job yang dihentikan sementara dapat dijalankan kembali pada
foreground atau background sesuai keperluan dengan menekan ”fg” atau ”bg ”.
Sebagai catatan, menghentikan job seme ntara sangat berbeda dengan melakuakan
interrupt job (biasanya menggunakan [Ctrl-C]), dimana job yang diinterrup akan
dimatikan secara permanen dan tidak dapat dijalankan lagi.

5 MENGONTROL PROSES LAIN

Perintah ps dapat digunakan untuk menunjukkan semua proses yang sedang


berjalan pada mesin (bukan hanya proses pada shell saat ini) dengan format :
ps –fae atau
ps -aux
Beberapa versi UNIX mempunyai utilitas sistem yang disebut top yang
menyediakan cara interaktif untuk memonitor aktifitas sistem. Statistik secara detail

82
dengan proses yang berjalan ditampilkan dan secara terus-menerus di-refresh . Proses
ditampilkan secara terurut dari utilitas CPU. Kunci yang berguna pada top adalah
s – set update frequency
u – display proses dari satu user
k – kill proses (dengan PID)
q – quit
Utilitas untuk melakukan pengontrolan proses dapat ditemukan pada sistem
UNIX adalah perintah killall. Perintah ini akan menghentikan proses sesuai PID atau
job number proses.

TUGAS PENDAHULUAN :

Jawablah pertanyaan-pertanyaan di bawah ini :


1. Apa yang dimaksud dengan proses ?
➔ Proses adalah program yang sedang dieksekusi. Proses juga diartikan dengan tahapan
yang jelas dan dapat ditempuh berulangkali untuk mencapai hasil yang digunakan.

2. Apa yang dimaksud perintah untuk menampilkan status


proses : ps, pstree.
➔ ps : perintah untuk melihat proses-proses yang dijalankan oleh user.
➔ pstree : perintah unutk melihat semua proses pada sistem dalam bentuk hirarki
parent/child, proses parent berada di sebelah kiri proses child.

3. Sebutkan opsi yang dapat diberikan pada perintah ps


➔ ps –u : opsi ini untuk melihat faktor/elemen lainnya
➔ ps –u <user> : opsi ini untuk mencari proses yang spesifik user
➔ ps –a : opsi ini untuk mencari proses lainnya (all)
➔ ps –au : opsi ini untuk mencari proses lainnya (all user)
➔ ps –eH : opsi –e akan menampilkan semua proses, opsi H akan menghasilkan tampilan
proses secara hierarki
➔ ps –e f : opsi -e akan akan menampilkan semua proses, opsi –f akan menampilkan status
proses dengan karakter grafis ( \ dan _ )
➔ ps –e : opsi ini akan menampilkan semua proses dalam bentuk 4 kolom : PID, TTY,
TIME, dan CMD
➔ ps ax : opsi a akan menampilkan semua proses yang dihasilkan terminal, opsi x akan
menampilkan semua proses yang tidak dihasilkan terminal. Opsi ini menampilkan dalam
bentuk 5 kolom : PID, TTY, STAT, TIME, dan COMMAND
➔ ps -eo : opsi ini akan menampilkan semua proses dalam format sesuai definisi user.
4. Apa yang dimaksud dengan sinyal ? Apa perintah untuk mengirim sinyal ?

83
➔ Sinyal adalah sesuatu yang karakterisitiknya melambangkan informasi. Untuk mengirim
sinyal menggunakan perintah kill[-nomor sinyal] PID
5. Apa yang dimaksud dengan proses foreground dan background pada job control ?
➔ Foreground, proses yang dibuat langsung pada terminal oleh user (interaktif, dialog).
➔ Background, proses yang dijalankan di latar belakang, biasanya tidak memerlukan
interaksi.
6. Apa yang dimaksud perintah-perintah penjadwalan prioritas :
top, nice, renice.
➔ top : perintah untuk menampilkan proses pada CPU.
➔ nice : perintah untuk melakukan modifikasi terhadap program sehingga program akan
mendapatkan prioritas penjadwalan proses.
➔ renice: perintah untuk memberikan prioritas pada proses yang sedang berjalan.

PERCOBAAN :

1. Login sebagai user.


2. Download program C++ untuk menampilkan bilangan prima yang bernama
primes.
3. Lakukan percobaan-percobaan di bawah ini kemudian analisa hasil percobaan.
4. Selesaikan soal-soal latihan.

84
Percobaan 1 : Status Proses

6. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2


dan login ke terminal sebagai user.
7. Instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada. PID
adalah Nomor Identitas Proses, TTY adalah nama terminal dimana
proses tersebut aktif, STAT berisi S (Sleepin g) dan R (Running),
COMMAND merupakan instruksi yang digunakan.
$ ps

8. Untuk melihat faktor/elemen lainnya, gunakan option –u (user). %CPU adalah


presentasi CPU time yang digunakan oleh proses tersebut, %MEM adalah presentasi
system memori yang digunakan proses, SIZE adalah jumlah memori yang
digunakan, RSS (Real System Storage) adalah jumlah memori
yang digunakan, START adalah kapan proses tersebut diaktifkan
$ ps -u

9. Mencari proses yang spesifik pemakai. Proses diatas hanya terbatas pada
proses milik pemakai, dimana pemakai teresbut melakukan login
$ ps –u <user>

10. Mencari proses lainnya gunakan opsi a (all) dan au (all user)
$ ps –a
$ ps –au

11. Logout dan tekan Alt+F7 untuk kembali ke mode grafis

Percobaan 2 : Menampilkan Hubungan Proses Parent dan Child

1. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan


login ke terminal sebagai user.

85
12. Ketik ps –eH dan tekan Enter. Opsi e memilih semua proses dan opsi H
menghasilkan tampilan proses secara hierarki. Proses child muncul dibawah
proses parent. Proses child ditandai dengan awalan beberapa spasi.
$ ps -eH

13. Ketik ps –e f dan tekan Enter. Tampilan serupa dengan langkah 2. Opsi
–f akan menampilkan status proses dengan karakter grafis (\ dan _)
$ ps –e f

14. Ketik pstree dan tekan Enter. Akan ditampilkan semua proses pada sistem
dalam bentuk hirarki parent/child. Proses parent di sebelah kiri proses
child. Sebagai contoh proses init sebagai parent (ancestor) dari semua proses
pada sistem. Beberapa child dari init mempunyai child. Proses login
mempunya i proses bash sebagai child. Proses bash mempunyai proses child
startx. Proses startx mempunyai child xinit dan seterusnya.

$ pstree

15. Ketik pstree | grep mingetty dan tekan Enter. Akan menampilkan semua proses
mingetty yang berjalan pada system yang berupa console virtual. Selain menampikan
semua proses, proses dikelompokkan dalam satu
baris dengan suatu angka sebagai jumlah proses yang berjalan.
$ pstree | grep mingetty

16. Untuk melihat semua PID untuk proses gunakan opsi –p.
$ pstree –p

17. Untuk menampilk an proses dan ancestor yang tercetak tebal gunakan opsi
–h.
$ pstree –h

86
Percobaan 3 : Menampilkan Status Proses dengan Berbagai Format

9. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan


login ke terminal sebagai user.
10. Ketik ps –e | more dan tekan Enter. Opsi -e menampilkan semua proses
dalam bentuk 4 kolom : PID, TTY, TIME dan CMD.
$ ps –e | more
Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan
q untuk kembali ke prompt perintah.
11. Ketik ps ax | more dan tekan Enter. Opsi a akan menampilkan semua proses
yang dihasilkan terminal (TTY). Opsi x menampilkan semua proses yang
tidak dihasilkan terminal. Secara logika opsi ini sama dengan opsi –e . Terdapa
5 kolom : PID, TTY, STAT, TIME dan COMMAND.
$ ps ax | more

Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan
q untuk kembali ke prompt perintah.
12. Ketik ps –e f | more dan tekan Enter. Opsi –e f akan menampilkan semua
proses dalam format daftar penuh.
$ ps ef | more

Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan
q untuk kembali ke prompt perintah.
13. Ketik ps –eo pid, cmd | more dan tekan Enter. Opsi –eo akan menampilkan semua
proses dalam format sesuai definisi user yaitu terdiri dari kolom PID
dan CMD.
$ ps –eo pid,cmd | more

Jika halaman penuh erlihat prompt --More-- di bagian bawah screen, tekan q
untuk kembali ke prompt perintah.

87
20. Ketik ps –eo pid,ppid,%mem,cmd | more dan tekan Enter. Akan
menampilkan kolom PID, PPID dan %MEM. PPID adalah proses ID dari
proses parent. %MEM menampilkan persentasi memory system yang
digunakan proses. Jika proses hanya menggunakan sedikit memory system
akan dita mpilkan 0.
$ ps –eo pid,ppid,%mem,cmd | more

21. Logout dan tekan Alt+F7 untuk kembali ke mode grafis

Percobaan 4 : Mengontrol proses pada shell

1. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan


login ke terminal sebagai user.
2. Gunakan perintah yes yang mengirim output y yang tidak pernah
berhenti $ yes
Untuk menghentikannya gunakan Ctrl-C.
3. Belokkan standart output ke /dev/null $
yes > /dev/null

Untuk menghentikannya gunakan Ctrl-C.


4. Salah satu cara agar perintah yes tetap dijalankan tetapi shell tetap digunakan untuk
hal yang lain dengan meletakkan proses pada background dengan
menambahkan karakter & pada akhir
perintah. $ yes > /dev/null &

Angka dalam ”[ ]” merupakan job number diikuti PID.


5. Untuk melihat status proses gunakan perintah jobs.
$ jobs

88
7. Untuk menghentikan job, gunakan perintah kill diikuti job number atau PID
proses. Untuk identifikasi job number, diikuti prefix dengan karakter ”%”.
$ kill %<nomor job> contoh : kill %1

4. Lihat status job setelah


diterminasi $ jobs

88
Proses Dan Manajemen Proses

PERCOBAAN 1 : Status Proses

1. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 dan login ke
terminal sebagai user.

2. Instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada. PID
adalah Nomor Identitas Proses, TTY adalah nama terminal dimana proses tersebut aktif,
STAT berisi S (Sleepin g) dan R (Running), COMMAND merupakan instruksi yang
digunakan.

$ ps

3. Instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada. PID
adalah Nomor Identitas Proses, TTY adalah nama terminal dimana proses tersebut aktif,
STAT berisi S (Sleepin g) dan R (Running), COMMAND merupakan instruksi yang
digunakan.

$ ps -u

$ ps -u <user>

Analisa : sama seperti percobaan sebelumnya, hanya saja ditambah user. Proses diatas
hanya terbatas pada proses milik pengguna.

89
5. Mencari proses lainnya gunakan opsi a (all) dan au (all user)
$ ps –a

$ ps –au

Analisa : $ps – a adalah melihat semua proses (all) kondisi yang ada. $ps – au adalah
melihat semua proses user (all user) kondisi yang ada
PERCOBAAN 2 : Menampilkan Hubungan Proses Parent dan Child
1. Ketik ps –eH dan tekan Enter. Opsi e memilih semua proses dan opsi Hmenghasilkan
tampilan proses secara hierarki. Proses child muncul dibawah proses parent. Proses
child ditandai dengan awalan beberapa spasi.
$ ps -eH

Analisa : Opsi e memilih semua proses dan opsi H menghasilkan tampilan prose
secara hierarki.

90
2. Ketik ps –e f dan tekan Enter. Tampilan serupa dengan langkah 2. Opsi –f akan
menampilkan status proses dengan karakter grafis (\ dan _)
$ ps –e f

Analisa : Opsi –f akan menampilkan status proses dengan karakter grafis (\ dan _)
3. Ketik pstree dan tekan Enter . Akan ditampilkan semua proses padasistem dalam bentuk
hirarki parent/child. Proses parent di sebelah kiri proseschild. Sebagai contoh proses
init sebagai parent (ancestor) dari semua proses pada sistem. Beberapa child dari init
mempunyai child. Proses login mempunya i proses bash sebagai child. Proses bash
mempunyai proses child startx. Proses startx mempunyai child xinit dan seterusnya.
$ pstree

Analisa : Perintah $pstree Akan ditampilkan semua proses pada sistem dalam bentuk
hirarki parent/child. Proses parent di sebelah kiri proses child.

4. Ketik pstree | grep mingetty dan tekan Enter. Akan menampilkan semua proses mingetty
yang berjalan pada system yang berupa console virtual. Selain menampikan semua
proses, proses dikelompokkan dalam satu baris dengan suatu angka sebagai jumlah
proses yang berjalan.
$ pstree | grep mingetty

Analisa : maksudnya adalah menampilkan semua proses mingetty yang berjalan pada
system yang berupa console virtual. Selain menampikan semua proses, proses
dikelompokkan dalam satu baris dengan suatu angka sebagai jumlah proses yang
berjalan.

91
5. Untuk melihat semua PID untuk proses gunakan opsi –p.
$ pstree –p

Analisa : opsi -p Untuk melihat semua PID untuk proses


6. Untuk menampilkan proses dan ancestor yang tercetak tebal gunakan opsi –h.

Analisa : opsi –h untuk menampilkan proses dan ancestor yang tercetak tebal
PERCOBAAN 3 : Menampilkan Status Proses dengan Berbagai Format
1. Ketik ps –e | more dan tekan Enter. Opsi -e menampilkan semua proses dalam bentuk 4
kolom : PID, TTY, TIME dan CMD.
$ ps –e | more
Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan q untuk
kembali ke prompt perintah.

Analisa : Opsi -e menampilkan semua proses dalam bentuk 4 kolom


2. ketik ps ax | more dan tekan Enter. Opsi a akan menampilkan semua proses yang
dihasilkan terminal (TTY). Opsi x menampilkan semua proses yang tidak dihasilkan
terminal. Secara logika opsi ini sama dengan opsi –e. Terdapa 5 kolom : PID, TTY,
STAT, TIME dan COMMAND.

92
$ ps ax | more

Analisa : Opsi a akan menampilkan semua proses yang dihasilkan terminal (TTY). Opsi
x menampilkan semua proses yang tidak dihasilkan terminal.
3. Ketik ps –e f | more dan tekan Enter. Opsi –e f akan menampilkan semua proses dalam
format daftar penuh.
$ ps -e f | more
Jika halaman penuh terlihat prompt --More-- di bagian bawah screen, tekan q untuk
kembali ke prompt perintah.

Analisa : Opsi –e f akan menampilkan semua proses dalam format daftar penuh.
4. Ketik ps –eo pid, cmd | more dan tekan Enter. Opsi –eo akan menampilkan semua proses
dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD.
$ ps –eo pid,cmd | more
Jika halaman penuh e t rlihat prompt --More-- di bagian bawah screen. tekan q untuk
kembali ke prompt perintah.

Analisa : Opsi –eo akan menampilkan semua proses dalam format sesuai definisi user
yaitu terdiri dari kolom PID dan CMD.
5. Ketik ps –eo pid,ppid,%mem,cmd | more dan tekan Enter. Akan enampilkan kolom PID,
PPID dan %MEM. PPID adalah proses ID dar proses parent %MEM menampilkan
persentasi memory system yan digunakan proses. Jika proses hanya menggunakan
sedikit memory syste akan dita mpilkan 0.

93
$ ps –eo pid,ppid,%mem,cmd | more

Analisa : %MEM menampilkan persentasi memory system yang digunakan proses. Jika
proses hanya menggunakan sedikit memory system akan dita mpilkan 0
PERCOBAAN 4 : Mengontrol proses pada shell

1. Gunakan perintah yes yang mengirim output y yang tidak pernah berhenti
$ yes
Untuk menghentikannya gunakan Ctrl-C.

Analisa : Perintah yes mengirim output y yang tidak pernah berhenti kecuali tekan ctrl + c
2. Belokkan standart output ke /dev/null
$ yes > /dev/null
Untuk menghentikannya gunakan Ctrl-C.

Analisa : mengirim standart output ke kamar /dev/null

3. Salah satu cara agar perintah yes tetap dijalankan tetapi shell tetap digunakan untuk hal
yang lain dengan meletakkan proses pada background dengan menambahkan karakter &
pada akhir perintah.
$ yes > /dev/null &

Analisa : karakter & pada akhir perintah Salah satu cara agar perintah yes tetap dijalankan
tetapi shell tetap digunakan untuk hal yang lain dengan meletakkan proses pada
background. Angka dalam ”[ ]” merupakan job number diikuti PID.

94
4. Untuk melihat status proses gunakan perintah jobs .
$ jobs

Analisa : perintah jobs Untuk melihat status proses


5. Untuk menghentikan job, gunakan perintah kill diikuti job number atau PID proses. Untuk
Identifikasi job number, diikuti prefix dengan karakter ”%”.

$ kill %<nomor job> contoh : kill %1

6. Lihat status job setelah diterminasi

$ jobs

Analisa : perintah kill diikuti job number atau PID proses, Untuk menghentikan job.
Untuk Identifikasi job number, diikuti prefix dengan karakter ”%”.

95
KESIMPULAN

Proses merupakan program yang dieksekusi. Ada beberapa tipe proses yaitu foreground,
batch, dan daemon. Untuk mengontrol suatu proses shell menyediakan fasilitas job control yang
memungkinkan mengontrol beberapa job atau proses yang sedang berjalan pada waktu yang sama.
Pada linux ada berbagai perintah yang dapat digunakan untuk menampilkan proses seperti ps,
pstree, dll.

96
LEMBAR PENGESAHAN

Nomor Praktikum : 04B/Sistem Operasi/2.B/TI/2021

Nama Praktikum : Sistem Operasi

Judul Praktikum : Proses Dan Manajemen Proses (2)

Tanggal Praktikum : 10 Juni 2021

Tanggal Penyerahan Laporan : 24 Juni 2021

Nama Praktikan : Ihsan Dika

NIM / Kelas : 1957301047 / TI 2B

Nilai :

Keterangan :

Buketrata, Jul 2021

Dosen Pembimbing,

Hendrawaty. SR., MT

Nip. 197002261998022001

i
DAFTAR ISI

LEMBAR PENGESAHAN .......................................................................................................... II


DAFTAR ISI.................................................................................................................................III
Modul Praktikum ..................................................................................................................... 105
Percobaan ................................................................................................................................. 112
KESIMPULAN .......................................................................................................................... 125

ii
Praktikum 4
B
Proses dan Manajemen
Proses
POKOK BAHASAN:

ü Proses pada Sistem Operasi Linux


ü Manajemen Proses pada Sistem Operasi Linux

TUJUAN BELAJAR:

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:


ü Memahami konsep proses pada sis tem operasi Linux.
ü Menampilkan beberapa cara menampilkan hubungan proses parent dan child.
ü Menampilkan status proses dengan beberapa format berbeda.
ü Melakukan pengontrolan proses pada shell.
ü Memahami penjadwalan prioritas.

DASAR TEORI:

1 KONSEP PROSES PADA SISTEM OPERASI LINUX

Proses adalah program yang sedang dieksekusi. Setiap kali menggunakan


utilitas sistem atau program aplikasi dari shell, satu atau lebih proses ”child” akan
dibuat oleh shell sesuai perintah yang diberikan. Setiap kali instruksi dibe rikan pada
Linux shell, maka kernel akan menciptakan sebuah proses-id. Proses ini disebut juga
dengan terminology Unix sebagai sebuah Job. Proses Id (PID) dimulai dari 0, yaitu
proses INIT, kemudian diikuti oleh proses berikutnya (terdaftar pada /etc/inittab).
Beberapa tipe proses :
· Foreground
105
Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog)

106
· Batch
Proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu). Prose
Batch tidak diasosiasikan (berinteraksi) dengan terminal.
· Daemon
Proses yang menunggu permintaan (request) dari proses lainnya dan menjalankan
tugas sesuai dengan permintaan tersebut. Bila tidak ada request, maka program ini
akan berada dalam kondisi “idle” dan tidak menggunakan waktu hitung CPU.
Umumnya nama proses daemon di UNIX berakhiran d, misalnya inetd, named, popd
dll

2 SINYAL

Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya. Proses
mengirim sinyal melalui instruksi “kill” dengan format
kill [-nomor sinyal] PID
Nomor sinyal : 1 s/d maksimum nomor sinyal yang didefinisikan system
Standar nomor sinyal yang terpenting adalah :

No Sinyal Nama Deskripsi


Hangup, sinyal dikirim bila proses terputus,
1 SIGHUP
misalnya melalui putusnya hubungan modem
2 SIGINT Sinyal interrupt, melalui ^C
3 SIGQUIT Sinyal Quit, melalui ^\
9 SIGKILL Sinyal Kill, menghentikan proses
15 SIGTERM Sinyal terminasi software

3 MENGIRIM SINYAL
Mengirim sinyal adalah satu alat komunikasi antar proses, yaitu
memberitahukan proses yang sedang berjalan bahwa ada sesuatu yang harus
dikendalikan. Berdasarkan sinyal yang dikirim ini maka proses dapat bereaksi dan

107
administrator/programmer dapat menentukan reaksi tersebut. Mengirim sinyal
menggunakan instruksi
kill [-nomor sinyal] PID
Sebelum mengirim sinyal PID proses yang akan dikirim harus diketahui
terlebih dahulu.

4 MENGONTROL PROSES PADA SHELL

Shell menyediakan fasilitas job control yang memungkinkan mengontrol


beberapa job atau proses yang sedang berjalan pada waktu yang sama. Misalnya bila
melakukan pengeditan file teks dan ingin melakukan interrupt pengeditan untuk
mengerjakan hal lainnya. Bila selesai, dapat kembali (switch) ke editor dan melakukan
pengeditan file teks kembali.
Job bekerja pada foreground atau background. Pada foreground hanya diper
untukkan untuk satu job pada satu waktu. Job pada foreground akan mengontrol shell -
menerima input dari keyboard dan mengirim output ke layar. Job pada background tidak
menerima input dari terminal, biasanya berjalan tanpa memerlukan interaksi.

Job pada foreground kemungkinan dihentikan sementara (suspend), dengan


menekan [Ctrl-Z]. Job yang dihentikan sementara dapat dijalankan kembali pada
foreground atau background sesuai keperluan dengan menekan ”fg” atau ”bg ”.
Sebagai catatan, menghentikan job seme ntara sangat berbeda dengan melakuakan
interrupt job (biasanya menggunakan [Ctrl-C]), dimana job yang diinterrup akan
dimatikan secara permanen dan tidak dapat dijalankan lagi.

5 MENGONTROL PROSES LAIN

Perintah ps dapat digunakan untuk menunjukkan semua proses yang sedang


berjalan pada mesin (bukan hanya proses pada shell saat ini) dengan format :
ps –fae atau
ps -aux
Beberapa versi UNIX mempunyai utilitas sistem yang disebut top yang
menyediakan cara interaktif untuk memonitor aktifitas sistem. Statistik secara detail

108
dengan proses yang berjalan ditampilkan dan secara terus-menerus di-refresh . Proses
ditampilkan secara terurut dari utilitas CPU. Kunci yang berguna pada top adalah
s – set update frequency
u – display proses dari satu user
l – kill proses (dengan PID)
r – quit
Utilitas untuk melakukan pengontrolan proses dapat ditemukan pada sistem
UNIX adalah perintah killall. Perintah ini akan menghentikan proses sesuai PID atau
job number proses.

Percobaan 5 : Menghentikan dan memulai kembali job

ü Cara lain meletakkan job pada background dengan memulai job secara
normal (pada foreground), stop job dan memulai lagi pada background
$ yes > /dev/null
Hentikan sementara job (suspend ), bukan menghentikannya (terminate ),
tetapi menghentikan sementara job sampai di restart. Untuk menghentikan
sementara job gunakan Ctrl-Z.
ü Untuk restart job pada foreground , gunakan perintah
fg. $ fg

ü Shell akan menampilkan nama perintah yang diletakkan di foreground . Stop


job lagi dengan Ctrl-Z. Kemudian gunakan perintah bg untuk meletakkan
job pada background .
$ bg

Job tidak bisa dihentikan dengan Ctrl-Z karena job berada pada background.
Untuk menghentikannya, letakkan job pada foreground dengan fg dan
kemudian hentikan sementara dengan Ctrl-Z.
$ fg

109
· Job pada background dapat digunakan untuk menampilkan teks pada
terminal, dimana dapat diabaikan jika mencoba mengerjakan job lain.
$ yes &

Untuk menghentikannya tidak dapat menggunakan Ctrl-C. Job harus dipindah ke


foreground, baru dihentikan dengan cara tekan fg dan tekan Enter, kemudian
dilanjutkan dengan Ctrl-Z untuk menghentikan sementara.
· Apabila ingin menjalankan banyak job dalam satu waktu, letakkan job pada
foreground atau background dengan memberikan job ID
$ fg %2 atau $ %2
$ bg %2

· tekan fg dan tekan Enter, kemudian dilanjutkan dengan Ctrl -Z untuk


menghentikan sementara.
· Lihat job dengan perintah ps -fae dan tekan Enter. Kemudian hentikan
proses dengan perintah kill.
$ ps -fae
$ kill -9 <NomorPID>

· Logout dan tekan Alt+F7 untuk kembali ke mode grafis

Percobaan 6 : Percobaan dengan Penjadwalan Prioritas

m Login sebagai root.


n Buka 3 terminal, tampilkan pada screen yang sama.
o Pada setiap terminal, ketik PS1 = ” \w:” diikuti Enter. \w menampilkan
path pada direktori home.
p Karena login sebagai root, maka akan ditampilkan ~: pada setiap terminal. Untuk
setiap terminal ketik pwd dan tekan Enter untuk melihat bahwa Anda
sedang berada pada direktori /root.
s Buka terminal lagi (keempat), atur posisi sehingga keempat terminal terlihat
pada screen.

110
6. Pada terminal keempat, ketik top dan tekan Enter. Maka program top
akan muncul. Ketik i. Top akan menampilkan proses yang aktif. Ketik
lmt. Top tidak lagi menampilkan informasi pada bagian atas dari screen.
Pada percobaan ini, terminal ke empat sebagai je ndela Top.
7. Pada terminal 1, bukalah program executable C++ dengan mengetik
program yes dan tekan Enter.
8. Ulangi langkah 7 untuk terminal 2.
9. Jendela Top akan menampilkan dua program yes sebagai proses yang
berjalan. Nilai %CPU sama pada keduanya. Hal ini berarti kedua proses
mengkonsumsi waktu proses yang sama dan berjalan sama cepat. PID
dari kedua proses akan berbeda, misalnya 3148 dan 3149. Kemudian
gunakan terminal 3 (yang tidak menjalankan primes maupun Jendela
Top) dan ketik renice 19 <PID terimnal 1> (contoh : renice 19 3148)
dan diikuti Enter. Hal ini berarti mengganti penjadwalan prioritas dari
proses ke 19.
10. Tunggu beberapa saat sampai program top berubah dan terlihat pada
jendela Top. Pada kolom STAT memperlihatkan N untuk proses 3148.
Hal ini berarti bahwa penjadwalan prioritas untuk proses 3148 lebih
besar (lebih lambat) dari 0. Proses 3149 berjalan lebih cepat.
11. Program top juga mempunyai fungsi yang sama dengan program renice.
Pilih Jendela Top dan tekan r. Program top terdapat prompt PID to
renice: tekan 3148 (ingat bahwa Anda harus mengganti 3148 dengan
PID Anda sendiri) dan tekan Enter. Program top memberikan prompt
Renice PID 3148 to value: tekan -19 dan tekan Enter.
12. Tunggu beberapa saat sampai top berubah dan lihat nilai %CPU pada
kedua proses. Sekarang proses 3148 lebih cepat dari proses 3149. Kolom
status menunjukkan < pada proses 3148 yang menunjukkan penjadwalan
prioritas lebih rendah (lebih cepat) dari nilai 0.

111
13. Pilih terminal 3 (yang sedang tidak menjalankan yes atau program top) dan
ketik nice –n -10 yes dan tekan Enter. Tunggu beberapa saat agar program top
berubah dan akan terlihat proses primes ketiga. Misalnya PID nya 4107. Opsi -
10 berada pada kolom NI (penjadwalan prioritas).
14. Jangan menggunakan mouse dan keyboard selama 10 detik. Program top
menampilkan proses yang aktif selain program yes. Maka akan terlihat proses
top terdaftar tetapi %CPU kecil (dibawah 1.0) dan konsisten. Juga terlihat
proses berhubungan dengan dekstop grafis seperti X, panel dll.
15. Pindahkan mouse sehingga kursor berubah pada screen dan lihat apa yang
terjadi dengan tampilan top. Proses tambahan akan muncul dan nilai %CPU
berubah sebagai bagian grafis yang bekerja. Satu alasan adalah bahwa proses
4107 berjalan pada penjadwalan prioritas tinggi. Pilih jendela Top, ketik r.
PID to renice : muncul prompt. Ketik 4107 (ubahlah 4107 dengan PID Anda)
dan tekan Enter. Renice PID 4107 to value: muncul prompt. Ketik 0 dan
tekan Enter. Sekarang pindahkan mouse ke sekeliling screen. Lihat
perubahannya.
16. Tutup semua terminal window.

17. Logout dan login kembali sebagai user.

112
Proses Dan Manajemen Proses (2)

PERCOBAAN 5: Menghentikan dan memulai kembali job

1. Cara lain meletakkan job pada background dengan memulai job secara normal (pada
foreground), stop job dan memulai lagi pada background
$ yes > /dev/null
Hentikan sementara job (suspend ), bukan menghentikannya (terminate ),tetapi
menghentikan sementara job sampai di restart. Untuk menghentikan sementara job gunakan
Ctrl-Z

Analisa : yes > dev/null maksudnya yaitu memulai job pada background yaitu job yes

2. Untuk restart job pada foreground , gunakan perintah fg .


$ fg

Analisa : perintah fg untuk merestart job yes tadi

3. Shell akan menampilkan nama perintah yang diletakkan di foreground . Stop job lagi
dengan Ctrl-Z. Kemudian gunakan perintah bg untuk meletakkan Job pada background .

$ bg

Analisa : Perintah bg untuk meletakkan Job yes pada background . Job tidak bisa dihentikan
dengan Ctrl-Z karena job berada pada background. Untuk menghentikannya,
letakkan job pada foreground dengan fg dan kemudian hentikan sementara dengan
Ctrl-Z.

113
4. Job pada background dapat digunakan untuk menampilkan teks pada terminal, dimana
dapat diabaikan jika mencoba mengerjakan job lain.

$ yes &

Analisis : yes & untuk menampilkan isi jobnya


Tekan fg kemudian enter biar ia berhenti.

Untuk menghentikannya tidak dapat menggunakan Ctrl-C. Job harus dipindah ke


foreground, baru dihentikan dengan cara tekan fg dan tekan Enter, kemudian dilanjutkan
dengan Ctrl-Z untuk menghentikan sementara.

5. Apabila ingin menjalankan banyak job dalam satu waktu, letakkan job pada foreground
atau background dengan memberikan job ID
$ fg %2
$ bg %2 atau $ %2

114
Menghasilkan Output yang sama yaitu yyyyyy….

Analisa : perintah fg %2 bg %2 dan %2 untuk melihat dan menjalankan banyak job dalam
satu waktu

Tekan fg kemudian enter biar ia berhenti. Kalo masih tidak bisa tekan Ctrl + c dulu

6. tekan fg dan tekan Enter, kemudian dilanjutkan dengan Ctrl -Z untuk menghentikan
sementara.

7. Lihat job dengan perintah ps -fae dan tekan Enter. Kemudian hentikanproses dengan
perintah kill.

115
$ ps -fae

$ kill -9 <NomorPID>

Analisa : Perintah $ ps -fae melihat job job, dan jika ingin ngekill jobnya ketik perintah
kill -9 (nomorPID)

116
KESIMPULAN

Proses merupakan program yang dieksekusi. Ada beberapa tipe proses yaitu foreground,
batch, dan daemon. Untuk mengontrol suatu proses shell menyediakan fasilitas job control yang
memungkinkan mengontrol beberapa job atau proses yang sedang berjalan pada waktu yang sama.
Pada linux ada berbagai perintah yang dapat digunakan untuk menampilkan proses seperti ps, pstree,
dll.

117

Anda mungkin juga menyukai