• Tidak ada hasil yang ditemukan

Laporan Praktikum Sistem Operasi Fakul

N/A
N/A
Protected

Academic year: 2018

Membagikan "Laporan Praktikum Sistem Operasi Fakul"

Copied!
214
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM

SISTEM OPERASI

NAMA : MOH. ARIF ANDRIAN

NIM : 156150600111002

PERIODE : SEMESTER GENAP 2015/2016

LABORATORIUM JARINGAN KOMPUTER

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

(2)

MODUL PART 1

(3)

LABORATORIUM JARINGAN KOMPUTER

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

PRAKTIKUM SISTEM OPERASI

BAB I

JUDUL BAB

: COMMAND LINE INTERFACE

DISUSUN OLEH

: MOH ARIF ANDRIAN

NIM

: 156150600111002

ASISTEN

: SISKA PERMATASARI

ZAENAL KURNIAWAN

KOORDINATOR ASISTEN

: DANY RAHMANA

(4)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian NIM : 156150600111002 Laporan : BAB I

Asisten : Siska Permatasari Zaenal Kurniawan

BAB I

COMMAND LINE INTERFACE

CLI adalah antar muka yang tidak menyediakan grafik, baik berupa gambar-gambar, jendela-jendela ataupun animasi-animasi yang bisa memanjakan pengguna, melainkan hanya berupa teks yang harus diketikkan oleh pengguna. Jadi, apabila user ingin melakukan operasi dalam sistem operasi tersebut, misalnya melakukan copy, rename, cut, delete, dan sebagainya, maka pengguna harus mengetikkan perintah berupa teks dengan cara manual.

Pada praktikum kali ini, kita akan mempelajari bagaimana mengoperasikan system dengan menggunakan beberapa command line yang ada di Ubuntu.

1. Login

$ login nama_user

Perintah untuk mengakses sistem operasi, didalamnya terdapat proses authentikasi user dan password.

Contoh : $ login andrian

(5)

$ sudo su

3. Masukkan password root (invisible saat diketik). 4. Masuk sebagai user

# login [username]

5. Masukkan password user (invisible saat diketik).

2. Sudo su $ sudo su

Digunakan untuk login sebagai root/pengguna tertinggi. Pada sistem operasi linux terdapat 2 model user, root dan standart user (contohnya johan, joko). Untuk user standar dapat mengakses perintah-perintah berhak root bisa menggunakan sudo.

#Akan tetapi tidak semua user dapat menggunakan perintah sudo, agar supaya bisa user tersebut harus menjadi sudoer. Bagaimana agar anda jadi sudoer?

1. Masuk sebagai root. 2. Masuk ke file editor

# visudo

(6)

3. Man

$ man [syntax]

Man adalah bantuan bagi anda untuk memahami beberapa penjelasan dari perintah-perintah, opsi dll.

Contoh: $ man ls

(7)

help : menampilkan seluruh informasi bantuan.

apropos : mengetahui perintah-perintah apa saja dilihat dari fungsinya secara massal.

4. Waktu a. Tanggal

$ date

#Tuliskan perintah untuk keluaran sebagai berikut DATE: 02/01/14 TIME: 19:54:60

$ sudo date 010219542014.60

#Setting waktu komputer anda ke 2 hari yang lalu $ date -d “2 days ago”

b. Melihat bulan di tahun tertentu $ cal [bulan] [tahun]

Contoh : $ cal 9 2012

(8)

#Tuliskan perintah untuk melihat bulan sebelum, saat ini, dan yang akan datang

$ cal-3

(9)

Perintah ini akan menampilkan informasi system komputer anda, antara lain tipe mesin komputer, hostname, nama dan versi system operasi dan tipe prosesor.

$ uname -a

#Ganti hostname komputer anda dengan nama anda

Informasi yang anda dapatkan sesuai dengan opsi yang anda berikan. Syntax :

$ uname [options]

Option yang bisa ditambahkan adalah sebagai berikut :

OPTION FUNGSI

-a, -all menampilkan semua informasi

-m, -machine menampilkan tipe mesin/perangkat keras -n, -nodename menampilkan hostname

-r, -release menampilkan rilis dari kernel sistem operasi -s, -o menampilkan nama sistem operasi

-p, --processor menampilkan tipe prosesor -v menampilkan versi sistem operasi

#apa arti dari output berikut :

Linux arjuna-laptop 3.0.32-21-generic #32-Ubuntu SMP Sat Apr 18 09:09:10 UTC 2010 x86_64 GNU/Linux

Linux : nama sistem operasi arjuna-laptop : nama host

3.0.32-21-generic : kernel yang dirilis #32-Ubuntu SMP : versi sistem operasi x86_64 : tipe prosesor/mesin

GNU/Linux : nama sistem operasi

6. Who

(10)

#tuliskan perintah untuk melihat siapa saja yang login 2 hari yang lalu

$ lastlog -b 0 -t 2

Mencetak pengguna saat ini dan nama ID $ whoami

#tuliskan perintah untuk menampilkan nama user (nama login) beserta uid (user ID) dan nama group beserta gid (group ID)

$ who all

7. Pwd $ pwd

Digunakan untuk memperlihatkan di direktori mana posisi kita berada sekarang.

#Samakah perintah pwd dan passwd ? jelaskan ! Jawab:

Berbeda. Pwd digunakan untuk melihat posisi direktori di mana kita berada. Sementara passwd digunakan untuk mengubah password.

8. Clear $ clear

(11)

#Dapatkah perintah clear digunakan untuk mengosongkan isi dari sebuah file ? jelaskan !

Tidak. Terdapat perintah tersendiri dalam menghapus isi file.

9. Apropos

$ apropos [sintax]

Mengetahui perintah-perintah apa saja dilihat dari fungsinya secara massal.

Contoh : $ apropos date

#Jelaskan opsi perintah pada perintah apropos berikut:

apropos [-dalhvV] [-e|-w|-r] [-s list] [-m system[,...]] [-M path] [-L locale] [-C file] keyword …

(12)

r, --regex menafsirkan setiap kata kunci sebagai regex. s, --sections = DAFTAR, --section = DAFTAR.

m, --systems = menggunakan SYSTEM halaman manual dari sistem lain. -M, --manpath = PATH set path pencarian untuk halaman manual untuk PATH. L, --locale = LOCALE mendefinisikan lokal untuk pencarian ini.

-C, --config-File = FILE menggunakan file konfigurasi pengguna ini.

10.What is

$ whatis [sintax]

Mendapatkan informasi dari perintah secara singkat. Contoh : $ whatis ls

#Jelaskan Jika kita ingin mencari perintah Linux atau fungsi informasi menggunakan wild card dan sebutkan opsi lain yang dapat digunakan setelah sintak whatis !

Jika ingin mencari perintah atau fungsi informasi menggunakan wild card, maka memakai opsi -w

Opsi lain : -d, --debug -v, --verbose -r, --regex -w, --wildcard -l, --long

-C, --CONFIG-file=FILE -L, --locale=LOCALE

11.ls

$ ls [options]

Perintah ini berfungsi untuk menampilkan isi dari suatu directory beserta atribut filenya.

(13)

OPTION FUNGSI

-a

bila anda ingin menampilkan semua file dan folder, termasuk file dan folder yang tersembunyi

-A sama dengan -a, tetapi tidak menampilkan direktori . dan ..

-C menampilkan direktori dengan output berbentuk kolom

-d menampilkan direktori saja, isi direktori tidak ditampilkan

-f menampilkan isi direktori tanpa diurutkan

-l

menampilkan isi direktori secara lengkap, mulai dari hak akses, owner, group dan tanggal file atau direktori tersebut dibuat

-1 menampilkan isi direktori dengan format satu direktori per baris

#Tuliskan alur perintah untuk melihat isi keseluhan forder bernama ‘SISOP’ yang terletak di dalam folder document/ptiik/ub/ dan jelaskan setiap detil yang ditampilkan !

Di sini kita coba buat partisi SISOP. Pertama, ketik ls –a /[destinasi folder]

ls –a digunakan untuk melihat isi direktori secara keseluruhan.

(14)

12.Touch

Fungsi syntax touch adalah : Membuat file baru.

Syntax :

$ touch [nama_file]

Contoh :

$ touch touch.txt

Bagaimana cara membuat file pada direktori tertentu? $ touch /[alamat folder]/[namaFile]

13.Mkdir

Fungsi syntax mkdir: Membuat direktori baru.

Syntax:

$ mkdir [nama_direktori]

Contoh:

$ mkdir mkdir

Bagaimana cara membuat direktori pada path tertentu?

$ mkdir /[alamat direktori]/[direktori baru]

14.cd

(15)

Berganti direktori.

Syntax:

$ cd [alamat_direktori]

Contoh:

$ cd /home/andrian/Desktop

Bagaimana cara pindah dari direktori sekarang ke ke direktori 3 tingkat diatasnya?

Dengan mengetik alamat direktori yang dituju. Atau menggunakan perintah cd .. sebanyak 3 kali.

15.cp

Fungsi dari syntax cp: Menyalin file.

Syntax:

$ cp /[direktori]/[file_yang_ingin_dicopy] /[direktori tujuan]

Contoh:

$ cp /home/andrian/Documents/coba.txt

(16)

Asumsikan terdapat file dengan nama mhs.txt pada directori /doc , perintah apa yang digunakan untuk menyalin file tersebut ke direktori /tmp?

$ cp /doc/mhs.txt /tmp/

16.mv

Fungsi dari syntax mv:

Memindah atau mengubah nama file.

Syntax:

$ mv /[direktori]/[file_yang_ingin_dicut] /[direktori tujuan] (cut)

Contoh:

$ mv /home/andrian/Documents/tmp/mhs.txt /home/andrian/Documents/SISOP

Perintah apa yang perlu diketikkan jika kita ingin mengganti nama sebuah file?

(17)

17.rm

Fungsi dari syntax rm: Menghapus file.

Syntax:

$ rm [nama_file]

Contoh:

$ rm mahasiwa.txt

Syntax yang digunakan untuk menghapus direktori? $ rmdir [nama_dir]

Asumsikan terdapat sebuah direktori dengan nama/mhs dan di dalamya terdapat beberapa file dengan nama file mhs.odt, nilai.odt dan keaktifan.txt. Syntax apa yang digunakan jika kita ingin menghapus direktori tersebut beserta file-file yang ada di dalamnya?

$ rm -r mhs

18.more

Fungsi dari syntax more:

Menampilkan isi file text per layer.

Syntax:

$ more [nama_file]

Terdapat file mhs.txt pada direktori /mhs. Bagaimana cara membuka file yang berada pada direktori /mhs tersebut?

$ more /mhs/mhs.txt

19.cat

(18)

Syntax:

$ cat > [nama_file]

Contoh:

Perintah apa yang digunakan untuk membuat file dengan perintah cat. Dengan nama test yang isinya seperti berikut:

ini hanya sebuah test dari perintah cat hehehehehe...

1.$ cat > test 2. Ketik isi file

Syntax yang digunakan untuk melihat isi file test tesebut adalah: $ more test

Tuliskan perintah untuk menambahkan satu baris kalimat dibawah ini pada file test:

baris ini tambahan dari yang lama... Sehingga isi dari file test adalah:

ini hanya sebuah test dari perintah cat hehehehehe...

baris ini tambahan dari yang lama... 1. $ cat >> test

2. Ketik tambahan kalimatnya 3. Ctrl+D jika selesai.

Syntax Cat dapat juga digunakan untuk memasukkan sebuah isi dari suatu file ke dalam file yang lain.

Syntax:

$ cat file1 file2 file3 > file4

Contoh:

(19)

Jelaskan perbedaan dari penggunaan perintah cat dan more!

cat untuk menampilkan isi dari sebuah file di layar, sementara more untuk melihat isi dari file.

20.Mail

Fungsi syntax mail:

Syntax:

$ mail username_tujuan < nama_file

Asumsikan kita telah memiliki file dengan nama test_mail. Isi dari file tersebut akan kita gunakan sebagai input dari suatu proses yang akan kita jalankan. Sebagai contoh kita akan mencoba mengirimkan mail ke diri sendiri dengan isi mail berasal dari file test tadi. Maka perintah yang perlu diketikkan adalah:

Setelah mengirimkan pesan tersebut, bagaimana cara kita agar dapat melihat mail yang telah dikirim tadi ? Tuliskan perintah yang digunakan sehingga muncul info sepert contoh berikut:

Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/andi": 1 message 1 new

N 1 username@sisop.adhyaks Thu Nov 9 14:51 14/525 & 1

Message 1:

From username@sisop.adhyaksa.net Thu Nov 9 14:51:12 2000 Delivered-To: username@sisop.adhyaksa.net

To: username@sisop.adhyaksa.net

(20)

21.Cut

Fungsi dari syntax cut adalah:

Menghapus baris atau kolom dari sebuah file.

Syntax:

$ cut [option] file

Contoh kasus:

Bagaimana caranya agar ditampilkan kolom 1-7 saja dari file test yang isinya:

ini hanya sebuah test dari output redirection hehehehehe...

baris ini tambahan dari yang lama...

Sehingga menghasilkan tampilkan seperti berikut: ini han

heheheh baris i

$ cut –c 1-7 test

22.Find

Dari namanya sudah dapat diterka bahwa perintah ini berfungsi untuk mencari file ataupun directori.

Syntax:

$ find –name [target pencarian]

Contoh kasus:

Bagaimana cara menemukan file dengan nama depannya “te” dari suatu direktori tertentu? Sehingga contoh hasil yang ditampilkan adalah:

./test ./template ./teh

(21)

23.Grep

Fungsi dari syntax grep adalah:

Mencari file yang mengandung teks dengan kriteria yang telah di tentukan.

Contoh kasus:

Bagaimana menemunakan kata “Hello” dari suatu file yang isinya: Echo “Hello World”

Menjadi seperti pada gambar dibawah ini:

$ grep “Hello” [nama file]

24.ln

Fungsi dari syntax ln adalah:

Membuat link dari suatu file/ direktori file/ direktori lain.

Contoh kasus:

Folder yang ada didalam home awalnya beralamat /home/user/NewFolder

Bagaimana caranya merubah link folder tersebut menjadi /home/user/www

$ ln-s/home/user/NewFolder /home/user/www

25.locate

Jelaskan perbedaan syntax locate dengan syntax find:

locate menggunakan database, sedangkan find tidak. Syntax locate berfungsi untuk mencari semua lokasi file yang dicari , sedangkan syntax find berfungsi untuk mencari sebuah file

(22)

Bagaimana caranya untuk menemukan file file yang memiliki nama seperti download?

$ locate download

26.dir

Jelaskan perbedaan syntax dir dengan syntax ls!

dir : menampilkan isi dari suatu directory beserta atribut filenya ls : pilihan untuk menampilkan suatu directory beserta atribut filenya baik yang tersembunyi.

27.Tail

Kegunaan syntax tail adalah:

Mendefinisikan sebuah data pada file menurut barisnya.

Contoh kasus:

Pada file ternama balon.txt memiliki isi sebagai berikut: Balonku ada lima

(23)

Jika menginginkan output seperti: Hatiku sangat kacau $ tail -n 2 balon

28.wc

Output pada terminal adalah:

5 20 198 balon.txt Jelaskan pengertian angak angka tersebut!

5 = baris, 20 = kata, 198 = ukuran, balon.txt = nama

29.Sort

Ketika kita mengakses file namakota.txt outputnya adalah: $ cat > namakota.txt

Surabaya Malang Tulungagung Kediri Sidoarjo Jombang Blitar

Jika menginginkan isi file tersebut seperti ini: $ sort namakota.txt

Blitar Jombang Kediri Malang Sidoarjo Surabaya Tulungagung

(24)

30.Logout

Jelaskan kegunaan dari syntax logout! Keluar dari username yang saat awal login.

31.History

Jelaskan kegunaan dari syntax history!

Menampilkan syntax yang telah kita ketikkan/masukan pada saat sebelumnya.

32.Restart

Jelaskan urutan perintah untuk merestart system pada linux! 1. Masuk ke terminal dengan root

2. Ketikkan reboot. 3. Tekan enter. Atau

# shutdown –r now

Jelaskan urutan perintah untuk mematikan system pada linux! $ halt

Atau

# shutdown –h now

33.Perintah sudo su digunakan jika ingin berpindah dari user biasa ($) menjadi super user atau root (#)

Jelaskan apa makna dari super user!

(25)

Manajemen User dan Group

Pada sistem operasi yang mendukung banyak pengguna/multiuser Linux menyediakan konsep pengaturan user yang sederhana. Untuk dapat menambah, menghapus, ataupun mengelompokkan user/group baru harus login sebagai root (#), jadi seorang ‘user/group’ tidak dapat memodifikasi user/group lain.

Perintah-perintah yang digunakan untuk memanajemen user dan group:  Membuat User

Untuk membuat user dan group hanya dapat dilakukan oleh super user “root”. Perintah untuk membuat user baru adalah:

# useradd nama_user

# adduser nama_user

#Mengubah Password:

# passwd nama_user

Menghapus User

Untuk menghapus user jalankan perintah berikut ini: # userdel nama_user

Atau

# userdel –r nama_user

Jelaskan perbedaan dari kedua syntax di atas!

userdel nama_user : hanya menghapus user account.

userdel -r nama_user : menghapus user account dan direktori yang berada di /home dari user tersebut.

Membuat Group

Group adalah gabungan dari beberapa user membentuk suatu kelompok. User-user yang tergabung dalam satu group dapat saling berbagi file.

Menambah grup:

# groupadd nama_group

Memberikan password group: # gpasswd nama_group

Menghapus group:

(26)

Jelaskan bagaimana cara menambahkan user kedalam suatu grup! # add user [ nama user ] [nama group]

Jelaskan bagaimana cara menghapus user dari sebuah grup! # del user [ nama user ] [nama group]

Manajemen File

Ketika sebuah file atau direktori dibuat, maka file atau direktori tersebut kepemilikikannya akan melekat pada suatu user dan group tertentu. Selain itu pada file tersebut akan melekat juga tiga hak akses yang berbeda, yaitu baca (read), tulis (write), dan eksekusi (execute), terhadap pemilik, grup, atau user lain. Hak akses tersebut dapat diubah oleh root atau user yang memilikinya. Mekanisme kepemilikan dan akses file tersebut sangat penting, karena Linux bersifat multiuser, sehingga harus ada mekanisme untuk mencegah akses-akses ilegal terhadap file. Secara umum pengaturan hak akses atas file atau direktori mempunyai prinsip sebagai berikut:

 Setiap file selalu dimiliki oleh seorang yang berhak mengatur hak akses terhadap file tersebut.

 Hak akses terbagi menjadi 3 bagian: Read, Write, dan Execute.

 Hak akses dapat diberikan kepada 3 kelompok pemakai, yaitu pemilik file (Owner), grup, pemilik file (Group), dan lainnya (Other).

Hak Akses  read : r  write : w  execute :x

Kelompok pemakai

 User pemilik (Owner) : u  Group : g

 User lain : o

Kemudian tanda (+) untuk menandakan pemberian hak akses, sedangkan tanda (-) untuk menandakan penghapusan hak akses. Perhatikan perintah berikut ini:

# chmod go+w nama_file.txt

Untuk merubah hak akses sebuah file atau direktori hanya bisa dilakukan oleh user root. Contoh berikut menunjukkan agar group (g) dan other (o) bisa menulis (w).

(27)

Numerik Tipe Akses Deskripsi

4 2 1

0 - - - Tidak bisa Read, Write, Execute 1 - - X Hanya bisa Execute

2 - w - Hanya bisa Write

3

- w X Hanya bisa Write dan Execute 4 r - - Hanya bisa Read

5 r - X Hanya bisa Read dan Execute, tidak bisa Write

6 r w - Hanya bisa Read dan Write, tidak bisa Execute

7 r w x Bisa Read, Write, dan Execute

Untuk merubah kepemilikan file atau direktori baik user maupun grup gunakan perintah chown dan chgrp, kepemilikan file ini terkadang perlu dilakukan dengan alasan keamanan. Syntax:

# chown [nama pemilik baru] [nama directory/nama file]

Begitu juga nama group pada sebuah file juga dapat kita ubah,untuk mengubahnya kita bisa menggunakan chgrp.

Syntax:

(28)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian Nim : 156150600111002 Tugas : BAB I

Asisten : Siska Permatasari Zaenal Kurniawan

TUGAS PRAKTIKUM

Setelah pratikan mengerjakan latihan praktikum, selanjutnya adalah mengerjakan tugas berikut. Laporan dari tugas berikut jadi satu dengan tugas praktikum, sertakan sebuah screenshot dan penjelasan masing-masing screenshot tersebut.

1. Asumsinya dalam sistem operasi anda terdapat satu user yaitu anda sendiri[pendik]. Buatlah satu user lagi dengan privilage guest dengan username balikan dari nama anda. [jika nama anda pendik maka usernamenya kidnep].

Syntax di atas adalah untuk membuat user baru.

(29)

Membuat grub baru.

Memberikan hak akses pada masing masing user

3. Login ke dalam kidnep buat tiga file dengan nama kidnep-1.txt, kidnep-2.txt, dan kidnep-3.txt.

Membuat file baru

a. Rubah kepemilikan file kidnep-1.txt satu menjadi milik user pertama anda[pendik].

Merubah kepemilikan file.

b. Rubah group kidnep-2.txt menjadi “K-TooN”

c. Login dengan username pendik, hapus semua file tersebut, jelaskan apa yang terjadi.

Menghapus file.

4. Buat user kidnep dapat mengakses perintah privilege dengan menambahkan ke group wheel.

(30)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian NIM : 156150600111002 Kesimpulan : BAB I

Asisten : Siska Permatasari Zaenal Kurniawan

KESIMPULAN

CLI adalah tipe antarmuka di mana pengguna berinteraksi dengan sistem operasi melalui textterminal. Pengguna menjalankan perintah dan program di sistem operasi tersebut dengan cara mengetikkan baris-baris tertentu. Meskipun konsepnya sama, tiap-tiap sistem operasi memiliki nama atau istilah yang berbeda untuk CLI-nya. UNIX memberi nama CLI-nya sebagai bash, ash, ksh, dan lain sebagainya. Microsoft Disk Operating System (MS-DOS) memberi nama command.com atau Command Prompt. Sedangkan pada Windows Vista, Microsoft menamakannya PowerShell. Pengguna Linux mengenal CLI pada Linux sebagai terminal, sedangkan pada Apple namanya adalah commandshell.

(31)

LABORATORIUM JARINGAN KOMPUTER

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

PRAKTIKUM SISTEM OPERASI

BAB II

JUDUL BAB

: PROSES

DISUSUN OLEH

: MOH ARIF ANDRIAN

NIM

: 156150600111002

ASISTEN

: SISKA PERMATASARI

ZAENAL KURNIAWAN

KOORDINATOR ASISTEN

: DANY RAHMANA

(32)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian NIM : 156150600111002 Laporan : BAB II

Asisten : Siska Permatasari Zaenal Kurniawan

BAB II PROSES

I. Dasar Teori

Proses pada Linux merupakan aktifitas permintaan user terhadap sistem operasi. Model proses pada Linux mirip dengan UNIX, dimana prinsip dasar keduanya menggunakan fungsi fork() dan exec(). fork() digunakan untuk membuat proses baru sedangkan exec() digunakan untuk memanggil program.

Kedua pendekatan diatas merupakan dua hal yang berbeda, dimana proses (child) bisa diciptakan tanpa membuka program baru, dan secara sederhana akan meneruskan program awal (parent) untuk mengeksekusi perintah yang sama pada program awal.

Untuk membuat proses baru, bisa dengan mengetikan perintah langsung pada shell Linux.

TIPE PROSES:

Terdapat beberapa tipe proses yang dikenal dalam OS berbasis Linux pada umumnya, antara lain:

 Interactive

Proses yang dimulai (dan dikontrol oleh) shell . Bisa tampak di luar (foreground) ataupun hanya di dalam (background).

 Batch

Proses yang tidak berhubungan dengan terminal, tetapi menunggu untuk dieksekusi secara berurutan (sekuensial).

 Daemon

Proses yang dimulai ketika Linux booting dan berjalan secara background. Proses ini menunggu permintaan dari proses lainnya, bila tidak ada request, maka berada dalam keadaan ‘idle’.

# Tipe-tipe proses dalam Linux, dibagi ke dalam 3 bagian. Sebutkan dan jelaskan!

1. Interactive : proses yang dilakukan oleh pemakai langsung pada terminal. Bisa tampak di luar atau hanya di dalam.

2. Batch : Proses yang tidak berhubungan dengan terminal. Proses ini dijalankan secara sekuensial (satu persatu).

(33)

menjalankan tugas sesuai dengan permintaan tersebut. Bila tidak ada proses, kondisinya menjadi “idle”.

Process Environment

Pada sistem operasi Linux process environment terdiri dari dua komponen, argumen dan environment. Argumen adalah daftar opsi tambahan pada CLI yang berkaitan dengan perilaku program ketika dijalankan, sedangkan environment adalah daftar parameter, baik berupa variabel, direktori home yang secara tekstual dibutuhkan oleh program.

Environment variable biasanya terdiri dari beberapa informasi seperti:  PATH, daftar lokasi direktori dimana file executable berada.  HOME, lokasi direktori home.

 CPPLIBS, lokasi dimana library yang berkaitan dengan program disimpan.  HOSTNAME digunakan untuk penamaan mesin.

 USER user yang digunakan pada saat login pada sistem operasi.

# Untuk itu kita harus mempelajari Manajemen Proses pada Linux. Perintah INTI dari proses manajemen proses di Linux ada 2. Sebutkan!

Pertama: $ ps

PID adalah nomor identitas proses. TTY adalah nama terminal di mana proses tersebut sedang berlangsung.

Kedua: $ kill

(34)

# Apa perintah yang seharusnya Anda tulis agar menampilkan hasil output seperti di atas?

$ ps –aux | less

(35)

Untuk menampilkan semua proses yang sedang berjalan. %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.

2. Menampilkan semua proses yang sedang berjalan pada sistem

# Apa perintah yang seharusnya Anda tulis agar menampilkan hasil output seperti di atas?

$ ps -e

(36)

$ ps-A

# option akan menampilkan semua user yang sedang

menjalankan proses, option berfungsi untuk menampilkan

semua proses yang lain yang sedang berjalan, option berfungsi untuk menampilkan proses yang tidak dikontrol oleh terminal (tty) seperti daemon yang dijalankan saat booting.

# Dan apa perbedaan perintah di atas dengan perintah ps -e |more? ps –e : untuk menampilkan semua proses dalam bentuk 4 kolom : PID, TTY, TIME, dan CMD.

PID : proses ID untuk menghentikan atau mengunci suatu proses dari aplikasi.

TTY : menampilkan nomor terminal tempat user bekerja. TIME : lama waktu proses yang dijalankan.

CMD : perintah yang dijalankan/sedang proses.

ps –e | more : untuk menampilkan semua proses dalam format penuh.

# Dan perintah apa yang berfungsi menampilkan semua proses dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD?

$ ps -<username> -a

-u

(37)

3. Melihat semua proses yang berjalan kecuali root

# Pada poin ketiga ini, Anda dapat menggunakan perintah seperti di bawah ini:

ps -U root -u root -N

#Bagaimana hasil ouputnya?

(38)

4. Menampilkan proses yang sedang dijalankan oleh user tertentu

# Untuk menjalankan fungsi pada poin empat, Anda dapat menggunakan perintah seperti di bawah ini :

ps -u <user>

#Bagaimana hasil outputnya?

# Bagaimana contoh sintaksnya? $ ps –u andrian

5. Menampilkan proses yang sedang berjalan dalam bentuk pohon

# Untuk menjalankan fungsi pada poin lima, Anda dapat menggunakan perintah seperti di bawah ini:

pstree

(39)
(40)

Pada pstree –h, percabangan yang ditampilkan akan lebih mendetail hingga ke cabang terluar.

CONTROLLING PROSES

Dalam sistem operasi linux semua proses dikontrol oleh shell yaitu sebuah antar muka antara sistem operasi dengan user. Sebagai contohnya kita akan mengirim output y yang tidak akan pernah selesai. Dengan menggunakan sintak sebagai berikut:

$ yes

# Bagaimana untuk menghentikan perintah $yes di atas? Ctrl+C

Hasil output:

# Bagaimana cara agar perintah yes tetap dijalankan tetapi shell tetap digunakan untuk hal yang lain?

$ yes > /dev/null &

(41)

# Bagaimana umelihat status proses yang sedang berjalan? $ jobs

Hasil output:

PERINTAH KILL

Perintah kill adalah salah satu perintah daasar Linux yang digunakan untuk menghentikan atau mematikan proses yang sedang berjalan pada Sistem Operasi Linux / UNIX. perintah ini sangat penting karena dengan memahami perintah ini kita bisa mengetahui mana proses yang mengganggu performa, tidak dibutuhkan, dll.

#Bagaimana contoh perintah kill? $ kill 3053

# PID adalah nomor proses yang akan dihentikan. Tidak tahu PID proses mana yang akan dihentikan? Cobalah bereksperimen dengan perintah:

ps aux | grep <myusername>

(42)

Daemons

Daemons adalah sebuah proses yang bekerja pada background karena proses ini tidak memiliki terminal pengontrol. Dalam sistem operasi Windows biasanya lebih dikenal dengan sebutan service. Daemon adalah sebuah proses yang didesain supaya proses tersebut tidak mendapatkan intervensi dari user. Daemon biasanya bekerja dalam jangka waktu yang sangat lama dan bertugas menerima request dan menjalankan responsnya.

#Apa yang membedakan Daemons dengan proses lain? 1. Daemon tidak memiliki parent proses ID.

2. Daemon tidak memiliki pengontrol baik itu STDOUT, STDIN, maupun STDERR.

3. Daemon berjalan dalam previlege super user.

Berikut ini adalah beberapa cara untuk membuat daemon: a. Forking dan pembunuhan Proses induk

Langkah pertama dari pembuatan daemon adalah dengan menspawn proses menjadi induk dan anak dengan melakukan forking, kemudian membunuh proses induk. Proses induk yang mati akan menyebabakan sistem operasi mengira bahwa proses telah selesai sehingga akan kembali ke terminal user.

# Contoh Script:

b. Membuat proses bekerja secara independen

Daemon harus bekerja secara independen daripada proses-proses lain, termasuk juga proses yang menjalankannya. Langkah bisa dilakukan dengan memanggil fungsi setsid(), sehingga proses akan mendapatkan sebuah session ID yang baru.

(43)

c. Menutup standar I/O deskriptor yang diwarisi

Untuk mencegah terjadinya intervensi dari user serta untuk pengamanan, maka standar I/O descriptor dan descriptor yang diwarisi dari proses induk harus ditutup. Ada 3 jenis standar I/O descriptor : STDIN (standar input), STDOUT (standar output), STDERR (standar error). # Contoh Script:

d. Melakukan masking pada File Creation

Sebagian besar daemon bekerja dalam previlege super user. Daemon biasanya memproteksi setiap file yang dibuat, dengan alasan keamanan. Fungsi umask() akan mencegah file-file previleges yang tidak aman dalam setiap pembuatan file.

# Contoh Script:

e. Running Directory

Directory kerja daemon haruslah sebuah directory yang selalu hidup. Bisa saja pada saat starting working directorynya pada saat itu berada pada user home. Karena daemon bekerja sampai sistem reboot, maka file sistem user directorynya takkan pernah bisa di unmount.

# Contoh Script:

(44)

f. Mendengarkan signal

# Tulislah pada kolom di bawah ini, apakah maksud dari proses ini? Tugas utama dari daemon adalah mendengarkan requst. Maka didalam daemon haruslah terdapat pendangar signal yang dapat merespon ketika daemon dikirimi signal tertentu, hal ini dapat dilakukan dengan meamnggil fungsi signal() untuk menginstall sebuah signal listener. Perlu kita ketahui bahwa signal 15 (SIGTERM) dan signal 9 (SIGKILL) tidak dapat ditangkap oleh signal handler.

g. Logging

# Sebutkan beberapa cara untuk melakukan proses logging dan berikan penjelasan?

1. Metode log file : Semua file ditulis kedalam sebuah file tertentu yang diatur oleh file komfigurasi daemon tersebut menggunakan fungsi fopen().

(45)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian NIM : 156150600111002 Tugas : BAB II

Asisten : Siska Permatasari\ Zaenal Kurniawan

TUGAS PRAKTIKUM

1. Carilah defunct process pada sistem operasi linux anda dengan cara mengetikkan script berikut pada terminal :

$ ps aux

(46)

untuk lebih mudahnya mencari defunct proses langsung ketikkan saja. “ ps -ef | grep defunct “.

2. Matikan defunct process yang telah ditemukan

pertama, cari signal defunct proses terlebih dahulu, dengan mengetikkan perintah “ kill -l “. biasanya signal induk berada pada no.9.

(47)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian NIM : 156150600111002 Laporan : BAB II

Asisten : Siska Permatasari Zaenal Kurniawan

KESIMPULAN

Proses adalah program yang sedang diekseskusi. Setiap kali menjalankan program, sistem UNIX akan menjalankan fork, yaitu menjalankan beberapa urutan operasi untuk membuat suatu proses konteks, dan menjalankannya pada konteks yang telah dibuat.

Pada Linux Ubuntu Terdapat beberapa tipe proses yang dikenal dalam OS berbasis Linux pada umumnya, antara lain :

1. Interactive : proses yang dilakukan oleh pemakai langsung pada terminal. Bisa tampak di luar atau hanya di dalam.

2. Batch : Proses yang tidak berhubungan dengan terminal. Proses ini dijalankan secara sekuensial (satu persatu).

3. Daemon : Proses yang menunggu permintaan dari proses lainnya dan menjalankan tugas sesuai dengan permintaan tersebut. Bila tidak ada proses, kondisinya menjadi “idle”.

Perbedaan Process dan Thread

Process Thread

 Program yang dieksekusi

 Mencakup program counter,yaitu sebuah stack untuk menyimpan alamat dari instruksi yang selanjutnya akan dieksekusi

 Memiliki IP adress masing-masing  Dari satu process dengan process

lainnya harus menggunakan komunikasi

 Perubahan pada parent proses tidak mempengaruhi turunannya

 Waktu yang dibutuhkan untuk mengakhiri process lebih lama.

 Adalah alur kontrol dari suatu proses

 Merupakan unit dasar dari

pengguna CPU dan sering disebut dengan lightwight process

 IP adress digunakan secara bersamasama

 Dapat berkomunikasi dengan thread lain dalam satu process  Hampir tidak memiliki overhead  Perubahan pada thread utama

dapat mempengaruhi tingkah laku trhead lain dalam satu waktu  Waktu yang dibutuhkan untuk

mengakhiri thread lebih sedikit  Lebih mudah melakukan switch

(48)
(49)

LABORATORIUM JARINGAN KOMPUTER

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

PRAKTIKUM SISTEM OPERASI

BAB III

JUDUL BAB

: FILE & DIREKTORI

DISUSUN OLEH

: MOH ARIF ANDRIAN

NIM

: 156150600111002

ASISTEN

: SISKA PERMATASARI

ZAENAL KURNIAWAN

KOORDINATOR ASISTEN

: DANY RAHMANA

(50)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian NIM : 156150600111002 Laporan : Bab III

Asisten : Siska Permatasari Zaenal Kurniawan

BAB III

FILE DAN DIREKTORI Dasar Teori

File merupakan koleksi dari data yang disimpan sdi dalam disk dan dapat dimanipulasi sebagai suatu unit sesuai dengan namanya. Sedangkan directories atau direktori adalah sebuah file yang bertindak sebagai folder untuk file lain. Sebuah direktori juga berisi direktori lain(subdirektori). Sebuah direktori yang berisi direktori lain disebut direktori parent. Sebuah directory tree termasuk sebuah direktori dan semua file didalamnya. Sebuah karakter slash (‘/’) adalah nama dari root directory.

Berikut merupakan direktori standar dalam linux, silahkan isi deskripsi dari masing-masing direktori tersebut.

Direktori Deskripsi

/ Folder root, yaitu folder tertinggi atau parent dalam sistem. Semua folder sistem berada di dalam direktori root (/).

/bin Berisi file binary standar yang digunakan oleh seluruh user baik user biasa maupun super user.

/dev Berisi file sistem khusus yang merupakan refleksi device hardware yang dikenali.

/etc Berisi file konfigurasi sistem, file dalam direktori etc hanya bisa diubah oleh super user.

/home Berisi dile dan direktori untuk user biasa dan aplikasi tertentu. /lib Berisi file-file library yang digunakan untuk mendukung kerja

kernel Linux.

/proc Berisi file system khusus yang menunjukkan data-data kernel setiap saat.

/root Direktori home untuk user root (user khusus dengan priviledges hampir tak terbatas).

/sbin Sama seperti direktori bin, tetapi hanya root yang dapat menggunakan binary-binary tersebut.

/tmp Berisi file-file sementara yang dibutuhkan sebuah aplikasi yang sedang berjalan.

/usr Berisi library, binary, dokumentasi dan file lainnya hasil instalasi user.

(51)

1. Manajemen File dan Directory

a. Memberi Nama File dan Directory

Sebuah file dapat terdiri dari huruf besar dan huruf kecil, nomor, titik (.), tanda penghubung (-) dan tanda garis bawah (_). Sebuah nama dari file juga mengandung case sensitive. SISOP, Sisop, dan sisop merupakan nama yang berbeda.

Linux juga tidak membatasi dalam ekstensi sebuah file, tapi akan sangat baik dan berguna jika memberikan ekstensi yang sesuai untuk mengidentifikasi tipe file dengan sekali lihat. Nama file sebelum ektensi disebut dengan base file name. sebagai contoh base file name dari sisop.txt adalah sisop.

b. Membuat File

Untuk membuat file sisop di direktori terkini (current directory). Syntax:

$ touch sisop

Untuk membuat file sisop di dalam direktori home/praktikum subdirektori dari direktori tersebut

Syntax:

$ touch home/praktikum/sisop

c. Akses dan Manipulasi Data

Gunakan perintah mkdir (make directory) untuk membuat sebuah direktori baru, berikan path name untuk direktori baru sebagai argumen.

Untuk membuat folder sisop di direktori terkini. Syntax:

$ mkdir sisop

(52)

Syntax:

$ mkdir /tmp/sisop

d. Berpindah Directory

Gunakan perintah cd (change directory)untuk berpindah direktori dari direktori sebelumnya.

Syntax:

$ cd [alamat_direktori] Contoh: $ cd /var/www

Untuk berpindah direktori ke direktori diatasnya (parent) gunakan command:

$ cd ..

e. Mendapatkan Nama Direktori Terkini

Untuk memperlihatkan di direktori mana posisi kita berada sekarang digunakan command:

$ pwd

(53)

Syntax:

$ dir [option]

Contoh: $ dir

Desktop Downloads Music Public

Videos Documents examples.desktop Pictures Templates

 Gunakan command ls. Syntax:

$ ls [option]

Contoh: $ ls -l

Daftar [option] yang bisa digunakan:

[option] FUNGSI

-a bila ingin menampilkan semua file dan folder, termasuk file dan folder yang tersembunyi

-A sama dengan -a, tetapi tidak menampilkan direktori . dan ..

-C menampilkan direktori dengan output berbentuk kolom

-d menampilkan direktori saja, isi direktori tidak ditampilkan

(54)

-l menampilkan isi direktori secara lengkap, mulai dari hak akses, owner, group dan tanggal file atau direktori tersebut dibuat

-1 menampilkan isi direktori dengan format satu direktori per baris

g. Menyalin (Copy) File

Untuk menyalin file, gunakan command cp (copy). Syntax:

$ cp /[direktori]/[file_yang_ingin_dicopy] /[direktori tujuan]

Contoh:

$ cp /etc/file1.txt /var/www

h. Memindah (Cut) dan Merubah Nama (Rename) File Command yang digunakan adalah mv (move).

Syntax untuk memindah file:

$ mv /[direktori]/[file_yang_ingin_dicut] /[direktori tujuan]

Contoh memindah file:

$ mv /etc/file1.txt /var/www

Syntax untuk merubah nama file:

$ mv /[direktori]/[file_yang_ingin_direname] /[nama_baru_file]

Contoh merubah nama file:

(55)

i. Menghapus File dan Direktori

Command yang digunakan adalah rm (remove). Syntax:

$ rm [nama_file]

Contoh:

$ rm file1.txt

 Menghapus direktori

Gunakan command rmdir (remove directory) Syntax:

$ rmdir [nama_file]

Contoh:

$ rmdir coba

 Menghapus directory yang berisi file Gunakan command rm –rf

Syntax:

$ rm –rf [nama_direktori]

Contoh:

(56)

j. Menampilkan Isi Sebuah File

 Bisa menggunakan command more. Syntax:

$ more [nama_file]

Contoh:

$ more file1.txt

 Bisa menggunakan command cat.

Perlu diketahui bahwa command cat memiliki beberapa variasi.  Membuat File dengan nama test

Syntax :

$ cat > [nama_file]

Contoh :

$ cat > test

ini hanya sebuah test dari perintah cat

 Melihat isi file test $ cat test

ini hanya sebuah test dari perintah cat hehehehehe...

(57)

 Penambahan untuk file test $ cat > > test

baris ini tambahan dari yang lama...

 Melihat kembali isi file test setelah ditambahkan beberapa kata $ cat test

ini hanya sebuah test dari perintah cat hehehehehe...

baris ini tambahan dari yang lama... susi@sisop:~$

 Memasukkan sebuah isi dari suatu file ke dalam file yang lain. Syntax:

$ cat file1 file2 file3 > file4

k. Mengirimkan Mail

Isi dari suatu file akan kita gunakan sebagai input dari suatu proses yang akan kita jalankan. Sebagai contoh, mengirimkan mail ke diri sendiri dengan isi mail berasal dari file test, syntax:

$ mail anggi < test

(58)

"/var/spool/mail/andi": 1 message 1 new

N 1 contoh@sisop.contoh1 Thu Nov 9 14:51 14/525 & 1

Message 1:

From contoh@sisop.adhyaksa.net Thu Nov 9 14:51:12 2015 Delivered-To: contoh@sisop.contoh1.net

To: andi@sisop.adhyaksa.net

Date: Thu, 13 Nov 2015 14:51:12 +0700 (JAVT) From: contoh@sisop.contoh1.net (/me)

Ini hanya contoh outputan perintah mail :D

Isi dari file test di jadikan sebagai input dari proses yang telah dilakukan, yaitu proses pengiriman mail.

l. Mendefinisikan File  Gunakan command cut.

Command ini digunakan untuk mendefinisikan file berdasarkan kolom.

Syntax :

$ cut [option] file

Contoh: definisikan file test dari kolom 1-7 $ cut -c 1-7 test

ini han heheheh baris i

tata@brawijaya:~$ cat test

ini hanya sebuah test dari output redirection hehehehehe...

baris ini tambahan dari yang lama... tata@brawijaya:~$

(59)

Command ini duigunakan untuk mendefinisikan file berdasarkan baris.

Syntax :

$ tail [option] [namafile]

Contoh :

$ tail test

ini hanya sebuah contoh ouput perintah tail hehehehehe...

baris ini hanya tambahan antoro@drutz:~$

Bila ingin menampilkan hanya 1 baris terakhir gunakan option –l.

Contoh:

$ tail -1 test

baris ini tambahan dari yang lama... agung@sisop:~$

 Gunakan command wc (words count).

Command ini digunakan untuk menampilkan jumlah baris, jumlah kata, dan ukuran dari sebuah file.

Syntax:

$ wc [option] [nama_file]

Contoh:

$ wc test.txt

5 20 198 test.txt

Keterangan:

(60)

 Gunakan command sort

Command ini digunakan untuk menampilkan isi file teks secara urut. Syntax:

$ sort [option] [nama_file]

Contoh:

1. Buat file teks baru (namakota.txt) yang berisi nama-nama kota. $ cat > namakota.txt

Surabaya Malang Tulungagung Kediri Sidoarjo Jombang Blitar

2. Urutkan isi file dengan perintah sort : $ sort namakota.txt

(61)

m. Mencari File dan Directory Gunakan perintah find. Syntax:

$ find /path [option]

Contoh:

$ find . -name te* ./test

n. Mencari Data di dalam File

Gunakan command grep. Command ini berguna untuk pencarian data di dalam file. Penggunaan grep lebih efisien (waktu) daripada membaca satu persatu.

Syntax :

$ grep [option] "data" Ike

Contoh :

$ grep "ini" test

ini hanya sebuah test dari output redirection baris ini tambahan dari yang lama...

o. Membuat Link

Gunakan command ln. Command ini berguna untuk membuat link dari satu file/ directori ke file/ directori lain.

Syntax :

(62)

Contoh :

$ ln -s file1 file2 $ ls -l

total 2

-rw-r--r-- 1 anggi anggi 102 Nov 9 14:11 file1

lrwxrwxrwx 1 anggi anggi 4 Nov 10 03:21 file2 -> file1

Dari contoh dapat dilihat bahwa file uji merupakan link dari file test.

p. Mengetahui Letak File atau Directory

Gunakan command locate. Command ini digunakan untuk mengetahui dimana letak sebuah file atau directory. Perbedanya dengan find adalah locate menggunakan sebuah database (biasanya terletak di /var/lib/locatedb) yang dapat di update menggunakan command updatedb. Syntax :

$ locate [something]

Contoh :

$ locate linux /home/contoh/linux

2. Mencetak File a. Menyiapkan File

Gunakan command pr. Command ini digunakan untuk mengkonversi text file ke printable form, mengatur ukuran halaman, header, dan margins.

Contoh:

(63)

$ ls /usr/bin | pr -3 -w 65 | head

2016-02-18 14:00 Page 1

[ apturl bsd-write

411toppm ar bsh

a2p arecord btcflash

a2ps arecordmidi bug-buddy

a2ps-lpr-wrapper ark buildhash

b. Mengirim Print Jobs ke Printer Gunakan command lpr.

Syntax:

$ lpr [nama_file]

Contoh:

$ lpr doc1.txt

c. Melihat printer yang tersedia Gunakan command lpstat. Syntax:

$ lpstat –a

d. Mencetak ke printer tertentu Syntax:

$ lpr -P [nama_printer] [nama_file]

Contoh:

$ lpr -P epson02 doc1.txt

e. Mengecek status antrian (queue) Print Jobs Gunakan command lpq.

Contoh: $ lpq

printer is ready and printing

Rank Owner Job Files Total Size Time active root 133 /home/anton/pr1 467

(64)

f. Membatalkan Print Jobs Gunakan command lprm.

Syntax membatalkan semua print job: $ lprm –

Syntax membatalkan print job dari printer tertentu: $ lprm –P epson02

Syntax membatalkan print job dari user tertentu: $ lprm –U anton

3. Mendefinisikan PATH a. Melihat Variabel Path

Untuk melihat variabel path, gunakan syntax: $ echo $PATH

b. Menentukan variabel PATH

Mengatur PATH di bash (Bourne Again Shell), ksh (Korn Shell), dan csh (C Shell) memiliki cara yang sama.

Syntax:

$ PATH=$PATH:folder_baru_yang_mengandung_binari Materi tentang macam-macam shell akan diperdalam pada Modul 5.

c. Menentukan variabel PATH secara permanen

PATH bersifat temporary. Jika ingin tetap menjaga agar variabel PATH tetap bisa dieksekusi setelah reboot/restart, maka harus diset secara permanen.

Tambahkan syntax:

export PATH=$PATH:/user/share/java

di dalam file ~/.profile atau ~/.bashrc agar dapat digunakan secara permanen.Setelah diset, tambahkan perintah source di terminal agar PATH menjadi bisa digunakan.

$ Source ~/.profile atau $ Source ~/.bashrc

(65)

a. Kompresi File

Ada banyak cara kompresi file di dalam Linux, salah satunya dengan command tar.

Syntax:

$ tar –cf [nama_file_kompres.tipe_kompres] [nama_file_1] [nama_file_2] ... [nama_file_n] Contoh:

Buat file file1.txt dan file2.txt.

Kompres kedua file tesebut dengan nama filekompresi.zip, syntax: $ tar –cf filekompresi.zip file1.txt file2.txt

b. Ekstraksi File Syntax:

$ tar –xf [nama_file_kompres.tipe_kompres]

Contoh:

$ tar –xf filekompresi.zip

5. Instalasi dari Source

Syntax untuk melakukan instalasi dari source: $ sudo make install

Contoh:

Akan diinstal sebuah programbernama ImageMagick. ImageMagick merupakan sebuah tools yang berfungsi unutk mengkonversi beberapa jenis gambar ke berbagai ekstensi file lainnya seperti Giff, Tiff, Jpg, Png, Svg, Pdf, PostScript, dan masih banyak lagi.

Langkah pertama adalah download program imagemagick.tar.gz. Selanjutnya ekstraksi file tersebut. Setelah itu lakukan konfigurasi dan proses compile. Syntax:

$ cd ImageMagick

(66)

$ make

Apabila proses configure dan compile telah berjalan tanpa kendala, selanjutnya lakukan proses instal yang membutuhkan otorisasi administrator.

(67)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian NIM : 156150600111002 Tugas : Bab III

Asisten : Siska Permatasari Zaenal Kurniawan

TUGAS PRAKTIKUM

A. STUDI KASUS

1. Buatlah sebuah file dengan ektensi .txt, kemudian buka file tersebut dengan Vi

Editor dan tulis ‘saya belajar membuat file dengan ektensi txt di linux’.

Buat file terlebih dahulu $ touch nama_file Buka file dengan vi editor $ vi nama_file Ketik teks yang diiginkan Keluar dan save perubahan. Ketik ZZ.

2. Buatlah sebuah folder ‘/praktikum/sisop/2016’ dengan sekali perintah tanpa membuat folder /praktikum terlebih dahulu (gunakan direktori tree).

Dengan menggunakan perintah

(68)

3. Analisis apa perbedaan command dir dan ls. Sertakan screen shoot percobaannya.

Perintah ls memiliki fungsi yang sama dengan Perintah dir, bedanya untukperintah dir hanya menampilkan file atau direktori saja tanpa membedakan manafile mana direktorinya. Sedangkan dalam perintah ls dia membedakan mana filedan yang mana direktori dengan memberikan perbedaan pada warna tulisannya.

4. Apabila file1.txt dipindah ke dalam directory /var/www dengan command mv, dan ternyata di dalam directory tersebut sudah ada file dengan nama yang sama (file1.txt), maka apa yang akan terjadi? Bagaimana cara agar user diperingatkan oleh sistem bahwa di dalam directory tersebut ada file dengan nama yang sama sehingga tidak langsung di-overwrite?

(69)

5. Apabila ada script di directory /home/sisop/script, maka bagaimana cara mengeksekusinya tanpa menjalankan sh atau bash?

6. Buatlah 5 buah file selain tipe txt lalu kompresi 5 file tersebut di direktori super user. Bagaimanakah caranya ? (sertakan screen shot)

Buat file file1.txt,file.doc,file.pdf,file.exe,dan file.sh. Kompres 5 file tesebut dengan nama filekompresi.zip, syntax:

$ tar –cf [filekompresi.zip]

[file_ke-1.ekstensi]...[file_ke-n.ekstensi]

(70)

8. Install sebuah aplikasi dari Unix! (sertakan screen shoot)

B. TUGAS PRAKTIKUM

1. Carilah fungsi dari directory berikut:

Direktori Deskripsi

/ Folder root, yaitu folder tertinggi atau parent dalam sistem. Semua folder sistem berada di dalam direktori root (/).

/bin Berisi file binary standar yang digunakan oleh seluruh user baik user biasa maupun super user.

/dev Berisi file sistem khusus yang merupakan refleksi device hardware yang dikenali.

/etc Berisi file konfigurasi sistem, file dalam direktori etc hanya bisa diubah oleh super user.

/home Berisi dile dan direktori untuk user biasa dan aplikasi tertentu.

/lib Berisi file-file library yang digunakan untuk mendukung kerja kernel Linux.

(71)

/root Direktori home untuk user root (user khusus dengan priviledges hampir tak terbatas).

/sbin Sama seperti direktori bin, tetapi hanya root yang dapat menggunakan binary-binary tersebut.

/tmp Berisi file-file sementara yang dibutuhkan sebuah aplikasi yang sedang berjalan.

/usr Berisi library, binary, dokumentasi dan file lainnya hasil instalasi user.

/var Berisi file-file log, mailbox dan data-data aplikasi.

2. Jelaskan perbedaan antara hard link dan symbolic link pada command ln? Jawab:

bahwa hard link akan membuat file copyan sama persis. Saat file link tersebut mengalami perubahan maka file referensi juga akan mengalami perubahan. Sedangkan soft link juga menghasilkan file baru, namun jika file tersebut dieksekusi akan langsung mengarah ke file referensi. Yang dimaksut file referensi di sini adalah file awal yang dibuat linknya. hard link tidak bisa digunakan untuk direktori, hanya bisa buat file. Sedangkan soft link atau sering disebut symbolic link bisa semuanya.

3. Mengapa variabel PATH perlu didefinisikan? Jawab:

Karena jika variabel PATH tidak didefinisikan maka akan didapat error

seperti “command not found”, PATH sendiri merupakan sistem variabel

untuk menyimpan binary/command baik dari yang sudah tertanam di linux maupun yang baru diinstal.

4. Tuliskan 3 buah command selain yang telah dijelaskan pada materi untuk ekstraksi file! (sertakan screen shoot)

Jawab:

- Ekstrak file *.zip

(72)

- Ekstrak file *.rar

5. Linux memiliki beberapa cara instalasi paket dalam berbagai format, seperti format .(*tar.gz), (*.deb) dan (*.rpm). Berikan command instalasi yang sesuai untuk setiap format tersebut!

Jawab: - tar.gz

1. Extrak file .tar.gz

$ tar -xf nama_file.tar.gz

2. Masuk ke folder hasil extraksi dengan perintah $ cd nama_folder

(73)
(74)

Langkah instalasi dengan file ekstensi deb

Masuk ke direktori file-file dengan (bisa juga langsung mengakses direktori saat eksekusi file

$ cd /direktori_file Eksekusi file deb

# dpkg -i nama.deb atau

$ sudo dpkg – nama.deb

 Masukkan password

 Tunggu hingga proses selesai.  Jalankan program.

Rpm

(75)

2. Download file.rpm dan lakukan converting dari .rpm ke .dep dengan sintax:

alien -k -d [nama_file.rpm]

3. selanjutnya adalah melakukan instalasi dari paket yang sudah kita konversi tersebut.

(76)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian NIM : 156150600111002 Kesimpulan : Bab III

Asisten : Siska Permatasari Zaenal Kurniawan

KESIMPULAN

File merupakan koleksi dari data yang disimpan di dalam disk dan dapat dimanipulasi sebagai suatu unit sesuai dengan namanya. Sedangkan direktori adalah sebuah file yang bertindak sebagai folder untuk file lain. Sebuah direktori juga berisi direktori lain (subdirektori). Sebuah direktori yang berisi direktori lain disebut direktori parent. Sebuah directory tree termasuk sebuah direktori dan semua file di dalamnya. Di Linux dan Unix segala sesuatu adalah file. Direktori adalah file, file juga file, dan device- device juga merupakan file. Device yang seringkali dirujuk sebagai inode; tetap saja, mereka dianggap sebagai file.

Sementara itu Path merupakan sebuah lokasi khusus yang diperuntukkan untuk file atau folder dengan file system dan sistem operasi. Path merujuk pada file adalah kombinasi dari dan karakter alphanumerik. Kompresi Ekstrasi -zip.tar.gz.unzip adalah suatu cara untuk menempatkan data dan hanya memerlukan ruang penyimpanan lebih kecil sehingga lebih efisien dalam menyimpannya. Sebaliknya ekstraksi data adalah proses untuk mengeluarkan beberapa file dari sebuah file arsip (zip).

Sistem file di Linux dan Unix diorganisasikan secara hirarki, seperti struktur pohon. Level tertinggin dari sistem file adalah direktori root atau /. Semua file dan direktori yang lain berada dibawah direktori root. Sebagai contoh, /home/jebediah/cheeses.odt menunjukkan path lengkap ke file cheeses.odt yang berada di direktori jebediah, yang juga berada di bawah direktori home, dan semuanya berada di bawah direktori root (/).

Di bawah direktori root (/) sejumlah direktori-direktori penting bersama-sama membentuk distribusi Linux. Berikut ini adalah daftar direktori-direktori yang berada langsung dibawah direktori (/):

/bin - aplikasi-aplikasi biner penting

/boot - file-file konfigurasi boot, kernel, dan file lain yang dibutuhkan ketika sistem booting

/dev - berisi file-file device (divais) seperti /dev/tty, /dev/input/mice. /etc - file konfigurasi, skrip startup, dll (etc)...

/home - direktori home bagi masing-masing user

(77)

/lost+found - menyediakan sistem lost+found untuk file yang berada dibawah direktori root (/)

/media - partisi yang secara otomatis dimount di harddisk dan removable

mediaseperti CD, kamera digital, dll.

/mnt - mounted filesistem secara manual di harddisk

/opt - menyediakan lokasi untuk aplikasi-aplikasi optional yang akan diinstal /proc - direktori dinamis khusus yang menangani informasi mengenai kondisi sistem, termasuk proses-proses yang sedang berjalan

/root - direktori home bagi user root, diucapkan 'slash-root'. bedakan dengan /

/sbin - biner-binersistem yang penting, biasanya aplikasi-aplikasi bagi admin /srv - can contain files that are served to other systems

/sys - berkas sistem (system)

/tmp - berkas sementara (temporary)

/usr - aplikasi dan berkas yang tersedia untuk digunakan untuk pengguna (users)

(78)

LABORATORIUM JARINGAN KOMPUTER

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

PRAKTIKUM SISTEM OPERASI

BAB IV

JUDUL BAB

: FILE PERMISSION & FILE

PROTECTION

DISUSUN OLEH

: MOH ARIF ANDRIAN

NIM

: 156150600111002

ASISTEN

: SISKA PERMATASARI

ZAENAL KURNIAWAN

KOORDINATOR ASISTEN

: DANY RAHMANA

(79)

LAPORAN PRAKTIKUM SISTEM OPERASI

FAKULTAS ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

Nama : Moh. Arif Andrian NIM : 156150600111002 Laporan : BAB IV

Asisten : Siska Permatasari Zaenal Kurniawan

BAB IV

File Permission & File Protection

1.1. Manajemen User dan Group

Pada sistem operasi linux mendukung banyak pengguna/multiuser Linux. Kita bisa melakukan manajemen pada user dan groups yang ada di dalamnya baik itu merubah hak aksesnya, menambah groups dan menghapus user yang ada di dalam sistem operasi linux. Untuk melakukannya kita harus login sebagai root (#), jadi seorang ‘user/group’ tidak dapat memodifikasi user/group lain.

Perintah – perintah yang di gunakan untuk memanajemen user dan group : a) Perintah untuk membuat user baru ada 2, yaitu :

Syntax : Pertama

Kedua

Berikan contoh hasil output dari syntax pertama (tempelkan screenshot dikolom berikut ini)

Berikan contoh hasil output dari syntax kedua (tempelkan screenshot dikolom berikut ini)

$ useradd nama_user

(80)

Jelaskan perbedaan dari kedua perintah diatas :

b) Perintah untuk merubah password menggunakan perintah Syntax :

Berikan contoh hasil output dan penjelasan singkat dari syntax diatas (tempelkan screenshot dikolom berikut ini)

c) Menghapus User Syntax :

Berikan contoh hasil output dan penjelasan singkat dari syntax diatas (tempelkan screenshot dikolom berikut ini)

$ passwd [options] Nama_User

# userdel [option...] nama_user 1. Masuk terminal

2. Masuk user root $ sudo su 3. Ketik

# passwd [nama_username] 4. Masukkan password baru.

5. Verifikasi password baru dengan menginput ulang. 6. Selesai.

1. Masuk terminal 2. Masuk user root $ sudo su 3. Ketik

# userdel [nama_user] 4. Selesai.

useradd : membuat user tanpa mengeset password, tanpa perlu membuat direktori home, dan tidak perlu memberikan keterangan secara lengkap.

(81)

Jelaskan fungsi penggunaan option –r pada syntax userdel.

d) Perintah who Syntax :

Jelaskan fungsi who pada syntax diatas

Berikan contoh hasil output dan penjelasan singkat dari syntax diatas (tempelkan screenshot dikolom berikut ini)

Syntax yang berfungsi untuk mengetahui anda terlogin sebagai user apa menggunakan perintah

e) Perintah groupadd Syntax :

Berikan contoh hasil output dari syntax diatas (tempelkan screenshot dikolom berikut ini)

Jelaskan secara rinci maksud syntax diatas $ who [options]...

# groupadd [option...] nama_grup_baru

Penggunaan option –r pada syntax userdel bertujuan untuk menghapus user sekaligus menghapus data user yang berada di direktori home beserta direktori home itu sendiri.

Untuk mengetahui siapa saja user yang sedang login pada system.

(82)

Jika kita ingin mengamankan dengan memberikan password pada group perintah apa yang diberikan

Lalu jika kita ingin mengubah nama group perintah apa yang harus kita ketikan

Berikan contoh hasil output dan penjelasan singkat dari syntax ganti nama group diatas (tempelkan screenshot dikolom berikut ini)

Untuk menambahkan user kedalam anggota suatu group menggunakan perintah

f) Setelah menambahkan anggota pada group. Cek dengan menggunakan perintah

gpasswd nama_group

groupmod –n grup_baru grup_lama

adduser nama_user nama_group

Syntax diatas digunakan untuk membuat grup baru dengan nama grup sesuai keinginan pembuat grup saat grup akan diciptakan.

Option :

-g: menentukan nomor id grup yang dibuat. -r, --system : membuat system grup.

-h: menampilkan help message dan exit.

-f: untuk keluar jika grup yang dibuat sudah ada.

-k: menggantikan default / etc / login.defs (GID_MIN, GID_MAX dan lain-lain).

-o: untuk menambahkan grup dengan non-unique GID -p: untuk menonaktifkan password

(83)

Berikan hasil output dan penjelasan singkat dari syntax diatas (tempelkan screenshot dikolom berikut ini)

g) Perintah groupdel Syntax :

Jelaskan fungsi syntax diatas

Berikan contoh hasil output dari syntax diatas (tempelkan screenshot dikolom berikut ini)

1.2 Manajemen File

Setiap file linux memiliki status izin akses file (file permission). Maksudnya setiap file memiliki informasi untuk mengatur siapa saja yang berhak untuk

# groupdel nama_grup_yang_akan_dihapus # cat /etc/group

(84)

membaca, menjalankan atau mengubah file tersebut. Tujuannya adalah untuk menjaga privasi file, keamanan serta integritas sistem agar tidak terganggu.

a) ATRIBUT FILE

 Tipe file

#Apa command line untuk melihat semua tipe file bertipe directory saja seperti contoh dibawah ini & sertakan screenshot!

$ ls –d -l

#Bagaimana cara membuat file bertipe fifo..? sertakan screenshot!

$ mkfifo <namaFile>

File mempunyai beberapa atribut, antara lain :

: 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

(85)

 Jumlah link

e.

b) IJIN AKSES

Setiap obyek pada Linux harus mempunyai pemilik, yaitu nama pemakai Linux (account) yang terdaftar pada /etc/passwd.

c. Pemilik (Owner) : menentukan siapa pemilik file ini

: menentukan group yang memiliki file ini

Jumlah karakter : menentukan ukuran file dalam byte

f. Waktu pembuatan : menentukan kapan file terakhir dimodifikasi

g. Nama file : menentukan nama file yang dimaksud

Contoh : -rw-rw-r-- 1 bin auth 1639 2008-08-31 20:19 File.txt

tipe

Ijin akses

Jml link Pemilik Group Jml karakter Waktu

Nama file

Ijin akses dibagi menjadi 3 peran yaitu : ฀

Pemilik (Owner) ฀

Kelompok (Group) ฀ Lainnya (Others)

Setiap peran dapat melakukan 3 bentuk operasi yaitu : ฀ Pada File

o R (Read) Ijin untukmembaca

o W (Write) Ijin untuk mengubah / membuat

o X (Execute) Ijin untuk menjalankan program ฀ Pada Direktori

o R (Read) Ijin untukmembaca daftar file dalam direktori

o W (Write) Ijin untuk mengubah/membuat file di direktori

o X (Execute) Ijin untuk masuk ke direktori (cd)

Pemilik File/Direktori dapat mengubah ijin akses sebagai berikut :

-rwxrwxrwx 1 student test 1639 2001-08-31 20:19 file.txt : jumlah link untuk file ini.

(86)

Note : angka 0 di berikan apabila kita tidak memberikan ijin sedangkan agka 1 di berikan

apabila diberikan ijin.

Contoh :

Ada file dengan nama file.txt dimana untuk ijin aksesnya owner diberi seluruh akses, group hanya baca, other tidak ada akses sama sekali.bagaimanakah format yang digunakan untuk merubah ijin akses dari file.txt tersebut ?

Jawab :

u = r w x = 1 1 1 = 7

g = r w x = 1 0 0 = 4

o = r w x = 0 0 0 = 0

jadi formatnya adalah : $ chmod 740 file.txt Format untuk mengubah ijin akses

dimana u = user (pemilik)

g = group (kelompok)

o = others (lainnya)

a = all

Format lain dari chmod adalah menggunakan bilangan biner sebagai berikut

Gambar

gambar ke berbagai ekstensi file lainnya seperti Giff, Tiff, Jpg, Png, Svg, Pdf,
Gambar 3.1 Perbedaan single-threaded process dengan multithreaded process (Sumber: Operating System Concepts, 9th Edition)
Gambar 3.2 Pthread

Referensi

Dokumen terkait

Sistem operasi jaringan berbasis text adalah sistem operasi yang proses instalasinya, user diharapkan untuk menghafal perintah DOS yang digunakan untuk menjalankan suatu proses

Salah satu teknologi virtualisasi yang dapat digunakan untuk membangun jaringan cloud adalah OpenVZ pada sistem operasi linux.. Saat ini perkuliahan praktikum sistem operasi

menyediakan komunikasi langsung antara pengguna dan sistem operasi. Begitu juga dalam linux shell merupakan interface atau antar muka yang menghubungkan antara user dengan kernel..

Seiring dengan perkembangannya semakin banyak lagi layanan yang menjadi layanan inti umum, dan Kini sebuah sistem operasi mungkin perlu menyediakan layanan Network

Dalam melakukan praktikum ini juga sering dijumpai perintah-perintah yang tidak dapat dieksekusi, dikarenakan mungkin terdapat sebuah kesalahan penulisan atau kesalahan pada

Manajemen user dan group ini disunakan untuk mengatur atau merubah user dan group pada sistem operasi, untuk bisa membuat akun/user yang dapat masuk kedalam GUI harus menambahkan

Sebuah shell akan dapat membantu kita untuk menjalankan program dengan mudah sehingga lebih mempercepat kerja, tentu saja jika kita sudah

Summary percobaan 1 sampai percobaan 15 : Perintah Deskripsi Format id Melihat identitas diri nomor id dan group id date Command untuk melihat tanggal dan dari sistem ubuntu cal