Pos

www

Sistem Operasi – Manajemen Aplikasi (Praktikum)

Tujuan Praktikum:

  • Mengerti konsep RPM, TAR dan GZIP
  • Menggunakan RPM
  • Menggunakan TAR dan GZIP untuk instalasi software

 

MANAJEMEN APLIKASI

 

 

LAPORAN RESMI:

  1. Analisa hasil percobaan yang Anda lakukan.
  2. Kerjakan latihan diatas dan analisa hasil tampilannya.
  3. Berikan kesimpulan dari praktikum ini.

 

Percobaan 1: RPM Query

  1. Pada percobaan ini paket samba dapat didownload pada website http://www.samba.org. Tetapi pada percobaan ini sudah disediakan pada halaman website ini
    g1

Analisa: Perintah di atas digunakan untuk menampilkan isi dari direktori home milik user prince46, pada gambar di atas terlihat bahwa di dalam direktori tersebut terdapat file samba bernama samba.tar.gz dan samba-4.7.7-alt1.S1.src.rpm yang akan digunakan untuk instalasi samba

  1. Ekstrak file samba menggunakan perintah tar
    g2

    g3

Analisa: Perintah di atas digunakan untuk meng-ekstrak file samba menggunakan perintah tar

  1. Informasi tentang paket software
    g4

Analisa: Perintah di atas digunakan untuk melihat informasi tentang paket software samba apakah sudah terinstall atau belum

  1. Install dari CDROM, bukan dari paket yang sudah diinstalasi. Untuk itu pindah direktori ke tempat dimana file rpm tersebut berada
    g5

Analisa: Perintah di atas digunakan untuk melihat spesifikasi dari paket software samba yang akan diinstall

  1. Melihat files apa saja yang sudah diinstalasi, gunakan sub-opsi –l.
    g6

Analisa: Perintah di atas digunakan untuk melihat isi direkotri home dan mengetahui apakah file samba sudah terinstall atau tidak

  1. Melihat file konfigurasi
    g7

Analisa: Perintah di atas digunakan untuk melihat file konfigurasi, namun karena file tersebut belum terinstall di OS kita maka yang tampil adalah pesan bahwa paket samba belum terinstall

  1. Melihat dokumentasi file
g8

Analisa: Perintah di atas digunakan untuk melihat dokumentasi file, namun karena file tersebut belum terinstall di OS kita maka yang tampil adalah pesan bahwa paket samba belum terinstall

  1. Melihat script file yang digunakan untuk instalasi. Perhatikan bahwa hasil output tergantung atas versi linux yang digunakan
    g9

Analisa: Perintah di atas digunakan untuk melihat script file yang digunakan untuk instalasi, namun karena file tersebut belum terinstall di OS kita maka yang tampil adalah pesan bahwa paket samba belum terinstall

 

Percoban 2: Menghapus Paket

  1. Opsi –e digunakan untuk menghapus paket yang sudah di installasi. Bila ada ketergantungan paket lain atas paket yang akan dihapus, maka RPM membatalkan penghapusan tersebut
g10

Analisa: Peritnah di atas digunakan untuk menghapus paket yang sudah di installasi dan membatalkan uninstall bagi paket yang memiliki ketergantungan terhadap paket lain

  1. Paket docbook-dtds-1.0-30.1 tidak bisa dihapus karena masih ada paket lain yang tergantung atas paket tersebut, yaitu scrollkeeper-0.3.14-9.el5.i386. Maka paket scrollkeeper-0.3.14-9.el5.i386 harus dihapus lebih dahulu. Namun karena proses penghapusan dependencies yang banyak terhubung antar satu dengan yang lainnya, maka kali ini praktikum penghapusan paket akan dilakukan terhadap paket vnc-server.
    g11

Analisa: Perintah di atas digunakan untuk menghapus paket bernama vnc-server dengan menggunakan eksekutor yum

 

Percobaan 3: Menggunakan TAR

  1. Logout dari root dan login sebagai <user>
    g12

Analisa: Gambar di atas menunjukkan bahwa kita telah logout dari root dan login sebagai user biasa yaitu prince46

  1. Pastikan berada pada home directory. Dan lihatlah isi home direktori Pindah ke direktori Desktop.  Setelah itu kembali ke home direktori
    g13

    g14

Analisa: Perintah di atas digunakan untuk melihat isi direktori home dan menampilkan kesemua file yang ada di direktori tersebut termasuk file yang di hidden

  1. Buatlah file tar pada direktori Desktop
    g15

    g16

Analisa: Perintah di atas digunakan untuk membuat file tar pada direktori desktop

  1. Rename direktori Desktop menjadi Desktop.old. Lihatlah file desktop.tar pada direktori Desktop.old
    g17

    g18

Analisa: Perintah di atas digunakan untuk merename direktori Desktop menjadi Desktop.old. dan melihat file desktop.tar pada direktori Desktop.old

  1. Ekstraksi isi dari file tar. Lihatlah isi direktori dan seharusnya akan terlihat direktori Desktop yang original
    g19

    g20

Analisa: Perintah di atas digunakan untuk meng-ekstraksi isi dari file tar dab melihat isi direktori dan seharusnya akan terlihat direktori Desktop yang original

  1. Hapus direktori Desktop
    g21

Analisa: Perintah di atas digunakan untuk menghapus direktori desktop

 

Percobaan 4: Menggunakan GZIP

  1. Buatlah file gzip dari desktop.tar, pastikan terbentuk file desktop.tar.gz
    g22

Analisa: Perintah di atas digunakan untuk membuat file gzip dari desktop.tar, dan menghasilkan output file desktop.tar.gz

  1. Dekompresi file gzip desktop.tar.gz dan cobalah untuk ekstraksi isi file tar
    g23
    g24

    g25

Analisa: Perintah di atas digunakan untuk melakukan dekompresi file gzip desktop.tar.gz dan cobalah untuk ekstraksi isi file tar

  1. Hapus file tar dan direktori Desktop.old
    g26

Analisa: Perintah di atas digunakan untuk menghapus file tar dan direktori Desktop.old

 

LATIHAN:

  1. Buatlah file menggunakan editor vi dengan nama [Nama Anda].txt. Pada file ini tuliskan langkah-langkah membuat file zip dari suatu direktori pada Linux. Kemudian file tersebut buatlah menjadi file tar dan kompresi file tersebut menggunakan gzip.
    g27
    g28

    g29

Analisa: Untuk membuat file prince_046.txt saya menggunakan perintah nano prince_046.txt, kemudian muncul halaman untuk membuat isi file dan pada file prince_046.txt saya mengisikan data mengenai langkah-langkah membuat file dan direktori zip seperti gambar di atas, setelah itu saya membuat file prince_alvin menjadi file tar dan kompresi file tersebut menggunakan perintah gzip seperti pada langkah-langkah pada gambar di atas. Terakhir, saya membuat file prince_alvin.tar pada Desktop yang kemudian saya coba untuk mengekstrak file dan ketika di ls muncul tampilan seperti pada gambar di atas. Pada bagian ini saya mengkompresi file prince_alvin.tar dengan perintah seperti yang terlihat pada gambar di atas.

 

KESIMPULAN

Setiap system linux mempunyai manajement paket software yang berbeda-beda, Misalnya RPM (Redhat Package Management) yang berfungsi untuk mengatur instalasi paket software, maintenance/upgrade dan menghapus paket software dari system, atau lebih dikenal dengan install dan uninstall. RPM ini menyimpan informasi tentang paket yang diinstalasi dalam sebuah database. Penghapusan paket berarti juga menghapus semua files dan direktori yang terdaftar pada database tersebut, lengkap dengan nama path. RPM ini juga memiliki beberapa macam query salah satu diantaranya adlaah perintah # rpm –q samba.

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

 

[lockercat]

[/lockercat]

qqqq

Sistem Operasi – Linux Booting Process (Praktikum)

Tujuan Praktikum:

  • Mengetahui inisialisasi booting proses pada sistem operasi Linux
  • Melakukan perubahan inisialisasi booting proses

 

LINUX BOOTING PROCESS

 

LAPORAN RESMI:

1. Analisa hasil percobaan yang Anda lakukan.
2. Kerjakan latihan diatas dan analisa hasil tampilannya.
3. Berikan kesimpulan dari praktikum ini.

 

TUGAS PENDAHULUAN:

Sebagai tugas pendahuluan, jawablah pertanyaan-pertanyaan berikut ini :

1. Sebutkan inisialisasi proses apa saja yang dilakukan oleh sistem operasi Linux pada saat booting!

• Inisialisasi dimulai dari BIOS (Basic Input Output System, adalah antar muka level terendah antara computer dan peripheral
• MBR menunjuk ke boot loader (LILO: Linuk Boot Loaader).
• LILO akan menanyakan label system operasi yang akan mengidentifikasi kernel yang dijalankan. Kernel akan menjalankan system operasi linux
• Yang pertama kali dikerjakan oleh kernel adalah menjalankan program init. Init adalah root/parent dari semua proses yang dijalankan pada linux.
• Proses pertama yang melalui init adalah skrip /etc/rc.d/rc/sysinit.
• Berdasarkan run level yang ditentukan, script dieksekusi untuk memulai proses tertentu untuk menjalankan system dan membuat system lebih fungsional.

2. Apa yang dilakukan sistem operasi Linux pada saat booting?

memounting perangkat-perangkat yang terpasang dan melakukan beberapa inisialisasi proses-proses yang akan berjalan pada system yang meliputi beberapa Ketentuan Pembacaan file Startup seperti Berikut:

• 0 shut down (Do NOT set initdefault to this)
• Single user mode
• Multiuser, without NFS (Nilainya sama dengan 3, jika user tidak memiliki jaringan)
• Default text start. Full multiuser
• Unused
• X11
• Reboot (Do NOT set initdefault to this)

3. Apakah isi dari file /etc/inittab. Sebutkan siste m proses yang dapat dimasukkan pada variabel initdefault dan jelaskan maksudnya?

Berisi perintah-perintah untuk memulai system komputer, setelah selesai melakukan inisialisasi, selanjutnya akan di booting ke run level yang didefinisikan oleh init default. Init biasanya memulai “getty” yang menunggu layer login yang menandakan proses seorang user.

4. Apa yang dimaksud dengan run level pada linux? Sebutkan perbedaan file pada /etc/rc.d/rc#.d/ yang menggunakan awalan ”S” dan awalan ”K”?

Run level pada linux adalah proses kelanjutan dari booting linux yang salah satu fungsinya adalah untuk booting untuk masuk dalam mode teks atau GUI. Skrip yang dimulai dengan huruf “S” akan dijalankan selama system boot dan kemudian akan berjalan pada background, dan skrip yang berawalan huruf “k” akan dieksekusi pada saat shutdown, system ini menyediakan urutan system ke state yang berbeda untuk mode aktivasi skrip init.

5. Apa yang dimaksud dengan perintah service dan chkconfig?

Perintah Service adalah pelayanan proses dan perintah chkconfig adalah untuk membangkitkan dan memutuskan link antara direktori /etc/rc.d/init.d/ dan direktori run level /etc/rc.d/rc [0-6].d/ untuk mengontrol inisialisasi proses boot dan proses shutdown

PERCOBAAN:

1. Login sebagai root.
2. Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini kemudian analisa hasil percobaan.
3. Selesaikan soal-soal latihan.

Percobaan 1: Linux INIT Process
1. Program /sbin/init akan dijalankan pada saat booting. Eksekusi program ini berdasarkan file /etc/inittab. Lihatlah isi file /etc/inittab dan perhatikan mode default runlevel pada baris initdefault

e1
e2

Analisa: Pada percobaaan diatas kita mengakses program /sbin/init yang akan dijalankan pada saat booting. Pada saat kita mengeksekusi cat /etc/init/rc-sysinit.conf kita dapat melihat dan merubah runlevel dari tty linux yang defaultnya adalah 2. Jika ingin mengakses run level console maka ubahlah angka 2 menjadi 3.

2. Berdasarkan runlevel yang dipilih, proses init kemudian mengeksekusi skrip startup yang berada pada sub direktory /etc/rc.d. Skrip yang digunakan untuk runlevel 0 sampai dengan 6 berada pada sub directory

e3
e4
e5
e6
e7
e8
e9
e10
e11

Analisa: Pada percobaan di atas kita menggunakan skrip tersebut untuk mengetahui inisialisasi dari masing-masing runlevel yang dijalankan.

3. Setiap nama file pada direktori misalnya /etc/rc.d/rc5.d dimulai dengan huruf “S” merupakan skrip startup sedangkan skrip yang dimulai dengan huruf “K” merupakan skrip shutdown. Angka yang mengikuti “K” atau “S” menandakan urutan skrip yang dijalankan. Contohnya ”kudzu” dengan nilai ”05” dijalankan sebelum ”wlan” dengan nilai ”09”

e12
e13

Analisa: Pada percobaan di atas kita menggunakan skrip tersebut untuk mengetahui inisialisasi dari runlevel 5 yang dijalankan.

Percobaan 2: Menentukan default boot runlevel

1. Default boot runlevel pada file /etc/inittab diset dengan menggunakan variabel initdefault. Jika diset “3”, sistem boot menggunakan antar muka teks pada console VGA; jika diset “5”, menggunakan GUI

e14

Analisa: Pada percobaan di atas kita ingin mengetahui default boot runlevel pada Ubuntu yang kita jalankan yaitu runlevel 3

2. Hapus baris initdefault yang tidak diperlukan pada file /etc/inittab. Buatlah baris baru untuk set sistem boot menggunakan console VGA / teks

e15

Analisa: Pada percobaan di atas kita ingin berpindah runlevel dari GUI menjadi CLI oleh karena itu kita menghilangkan tanda pagar pada id 3 dan memberi pagar pada id 5. Id 3 merupakan mode CLI dan id 5 merupakan mode GUI

3. Setelah dilakukan perubahan variabel initdefault, lakukan reboot. Perhatikan apakah masuk ke mode teks

e16
e17

Analisa: Perintah di atas digunakan untuk mereboot system operasi linux

4. Lakukan perubahan kembali dari 3 ke 5 dan lakukan reboot sistem. Ingat, jangan melakukan setting ke 6 karena sistem akan reboot terus-menerus. Sedangkan setting 0 maka sistem tidak pernah dimulai.

e18
e19
e20

Analisa: Perintah di atas digunakan untuk merubah runlevel dari CLI menjadi GUI

Percobaan 3: Menggunakan Console GUI

1. Kita dapat masuk ke console GUI jika sistem berada pada mode teks. Pertama ubahlah variabel initdefault pada file /etc/inittab dan ubahlah ke mode 3 atau dengan menggunakan perintah init

e21
e22

Analisa: Perintah di atas digunakan untuk mengakses mode 3 (CLI/Text) tanpa harus mengakses ke /etc/init/rc-sysinit.conf dan mengubah runlevelnya secara manual

2. Metode Manual: Jalankan aplikasi X terminal GUI dengan menjalankan perintah “startx” pada console VGA. Untuk keluar gunakan logout

e23
e24
e25

Analisa: Perintah di atas digunakan untuk menjalankan aplikasi X terminal GUI pada console VGA

3. Metode Otomatis: Anda dapat menjalankan X terminal GUI setiap kali reboot menggunakan perintah init. Anda harus mengedit variabel initdefault”pada file /etc/inittab seperti percobaan 2 agar setiap booting masuk ke mode GUI. Ubahlah kembali ke mode 5.

e26
e27
e28

Analisa: Perintah di atas digunakan untuk menjalankan aplikasi X terminal GUI pada console VGA setiap kali reboot menggunakan perintah init. Init 5 digunakan untuk masuk ke mode GUI

Percobaan 4: Menggunakan Virtual Console

1. Untuk mendapatkan command prompt dapat dilakukan dengan membuka terminal pada Jendela GUI. Default-nya, Linux menjalankan 6 virtual consol atau TTY session yang dijalankan pada console VGA. Hal ini didefinisikan dengan statement mingetty pada file /etc/inittab. Console X terminal GUI membuat virtual console sendiri menggunakan TTY pertama yang tersedia yang tidak dikontrol oleh mingetty. Hal ini menyebabkan GUI berjalan sebagai nomor 7. Perhatikan baris mingetty pada file /etc/inittab, virtual console nomor berapa yang dikontrol?

e29

Analisa: Virtual console yang dikontrol adalah nomor 5 yaitu akses mode secara GUI

2. Cobalah masuk ke virtual console menggunakan <CTRL> <ALT> <F1> sampai dengan <F6>

e30
e31
e32
e33
e34
e35

Analisa: Perintah di atas digunakan untuk masuk ke virtual console menggunakan <CTRL> <ALT> <F1> sampai dengan <F6>

3. Untuk masuk ke login GUI gunakan <CTL> <ALT> <F7>, hanya jika berada pada run level 5 atau GUI dijalankan setelah ”startx”

e36

Analisa: Perintah di atas digunakan untuk masuk ke login GUI gunakan <CTL> <ALT> <F7>, hanya jika berada pada run level 5 atau GUI dijalankan setelah ”startx”

Percobaan 5: Shutdown dan rebooting sistem

1. Perintah init akan mengubah runlevel, untuk shutdown nilainya adalah 0

e37

Analisa: Perintah di atas digunakan untuk mengubah runlevel menjadi 0 yang digunakan untuk menshutdown system operasi linux

2. Perintah shutdown menyebabkan efek yang sama. Opsi ”–y” untuk mengabaikan prompt pesan dan ”–h” untuk halt sistem. Opsi 0 menunjukkan berapa lama menunggu memulai prosedur, dalam hal ini 0 menit

e38

Analisa: Perintah di atas digunakan menshutdown system operasi linux dimana waktu delay untuk shutdown adalah 0 detik

3. Anda juga bisa menggunakan perintah init untuk reboot sistem dengan memasukkan runlevel 6

e39

Analisa: Perintah di atas digunakan untuk me-reboot sistem dengan memasukkan runlevel 6

4. Perintah reboot menpunyai efek yang sama, tetapi juga mengirimkan pesan warning ke semua user

e40

Analisa: Perintah di atas digunakan untuk me-reboot system operasi linux dengan mengirimkan pesan warning ke semua user

5. Reboot juga dapat dilakukan dengan perintah shutdown menggunakan opsi “-r” dan menentukan delai misalnya 10 menit.

e41

Analisa: Perintah di atas digunakan untuk men-shutdown system operasi linux dengan waktu delay selama 10 menit

Percobaan 6: Berpindah ke mode single user

1. Beberapa aktifitas membutuhkan sistem untuk log off semua user, aplikasi dan networking sehingga hanya sistem administrator yang mengakses sistem dari console VGA. Alasan lainnya adalah untuk memperbaiki password ”root”.

2. Jika sistem berjalan normal, berpindah ke mode single user dapat dilakukan dengan perintah init dan memasukkan runlevel 1.

e42

Analisa: Perintah di atas digunakan untuk berpindah ke mode single user

3. Perintah diatas tidak memberikan warning ke user dan perintah shutdown tidak mempunyai opsi mode single user. Hal ini akan muncul dengan menjalankan perintah shutdown dengan delay.

e43

Analisa: Perintah di atas digunakan untuk men-shutdown system operasi linux dengan memunculkan peringatan dan waktu delay dari shutdown selama 1 menit

Percobaan 7: Berpindah ke mode single user pada layar Grub

1. Anda dapat masuk ke mode single user secara langsung setelah menghidupkan power sistem.

2. Hidupkan sistem Anda

3. Jika screen Linux muncul, Anda dapat memilih kernel yang diinstal pada sistem. Ketik ”a” untuk ”append”. Maka akan didapatkan prompt untuk menambah opsi boot pada file grub.conf.

e44

Analisa: Perintah di atas tidak dapat dieksekusi karena kita belum menginstall grub loader

4. Tambahkan “1” pada akhir string

e45

Analisa: Perintah di atas tidak dapat dieksekusi karena kita belum menginstall grub loader

5. Tekan Enter. Sistem akan melanjutkan booting, tetapi akan menuju ke promp root # tanpa menanyakan username dan password

Percobaan 8: Berpindah ke default runlevel dari mode single user

1. Perintah “exit” akan menyebabkan sistem keluar dari runlevel 1 dan mengubah ke default runlevel untuk sistem. Anda juga dapat menggunakan perintah init (misalnya “init 3” dan “init 5”)

e46
e47

Analisa: Perintah di atas menyebabkan sistem keluar dari runlevel 1 dan mengubahnya ke default runlevel untuk sistem.

Percobaan 9: Memperbaiki password root

1. Kadangkala anda kehilangan atau lupa pada password root, atau sistem administrator sebelumnya tidak memberi password kepada Anda

2. Masuk ke console VGA dan tekan <CTRL> <ALT> <DEL>. Sistem akan logout

e48
e49

Analisa: Perintah di atas digunakan untuk masuk ke console VGA dengan menekan <CTRL> <ALT> <DEL> kemudian sistem akan logout

3. Reboot sistem dan masuk ke mode single user

e50
e51
e52

Analisa: Perintah di atas digunakan untuk me-reboot sistem dan masuk ke mode single user

4. Setelah masuk ke command prompt, ubahlah password root. Mode single user mengasumsikan orang pada consol sebagai “root”, sehingga anda tidak perlu menentukan nama user “root”

e53

Analisa: Perintah di atas digunakan untuk mengganti password dari root

5. Masuk ke default runlevel dengan menggunakan perintah “exit”.

e54
e55

Analisa: Perintah di atas digunakan untuk masuk ke default runlevel yaitu runlevel 5 (GUI)

Percobaan 10: Menggunakan perintah chkconfig

1. Perintah chkconfig digunakan untuk melihat aplikasi mana yang dimulai pada setiap runlevel. Opsi ”—list” untuk melihat daftar paket pada /etc/init.d dan runlevel yang ”on” atau ”off”

e56

Analisa: Perintah di atas digunakan untuk melihat aplikasi mana yang dimulai pada setiap runlevel. Tetapi pada perintah di atas kita tidak dapat menjalankan chkconfig dikarenakan kita belum melakukan penginstalan terhadap program tersebut

2. Anda dapat menggunakan chkconfig untuk mengubah runlevel untuk paket tertentu. Misalnya Sendmail akan dimulai pada startup runlevel 3 atau 5. Ubahlah Sendmail tidak dimulai pada saat boot.

3. Perintah chkconfig dapat digunakan dengan grep untuk menentukan run level dimana Sendmail akan berjalan. Disini terlihat berjalan pada level 3 dan 5.

e57

Analisa: Perintah di atas tidak dapat dijalankan karena package program belum terinstall dari reposititory sehingga menghasilkan pesan error

4. Perintah chkconfig dengan opsi “—level” mengindikasikan bahwa beberapa aksi dikerjakan pada runlevel yang dimasukkan sebagai nilai. Argumen pertama pada perintah adalah paket dan argumen kedua apakah “on” atau “off”. Dalam hal ini Anda ingin Sendmail tidak dimulai jika masuk ke runlevel 3 dan 5

e58

Analisa: Perintah di atas tidak dapat dijalankan karena package program belum terinstall dari reposititory sehingga menghasilkan pesan error

5. Hal tersebut juga dapat dilakukan tanpa opsi “—level”, otomatis chkconfig akan mengubah runlevel 3 dan 5

e59

Analisa: Perintah di atas tidak dapat dijalankan karena package program belum terinstall dari reposititory sehingga menghasilkan pesan error

6. Anda juga dapat shutdown permanen dan stop dari running saat ini.

e60

Analisa: Perintah di atas tidak dapat dijalankan karena package program belum terinstall dari reposititory sehingga menghasilkan pesan error

7. Anda dapat menggunakan chkconfig untuk memeriksa kembali pekerjaan Anda

e61

Analisa: Perintah di atas tidak dapat dijalankan karena package program belum terinstall dari reposititory sehingga menghasilkan pesan error

 

LATIHAN:

1. Pada percobaan 1 lihatlah urutan eksekusi pada saat startup dan shutdown pada runlevel 5 untuk file:
a. netfs
b. pcmcia
c. nfslock
d. kudzu
e. portmap
f. wlan
g. isdn
h. network
i. syslog

e62

j. keytable

e63

Analisa: Perintah di atas digunakan untuk melihat urutan eksekusi pada saat startup dan shutdown pada runlevel 5

 

2. Laporkan hasil perubahan password pada mode single user pada percobaan 9. Gunakan password root “redhat” (jangan lainnya!).

e64

Analisa: Perintah di atas digunakan untuk mengubah password dari root

 

3. Apakah kegunaan menggunakan perintah service? Berikan contoh.

e65

Analisa: Perintah di atas digunakan untuk menjalankan service terhadap package program pppd-dns

 

4. Apa kegunaan menggunakan perintah chkconfig? Berikan contoh.

e66
e67
e68

Analisa: Perintah di atas digunakan untuk menggantikan perintah chkconfig, pada perintah di atas kita ingin melihat inisialisasi dari masing-masing runlevel ketika di akses oleh user

KESIMPULAN

Kesimpulan yang dapat dipaparkan setelah mengikuti praktikum ini dengan baik adalah:

Inisialisasi proses yang dilakukan oleh sistem operasi Linux pada saat booting meliputi:
• Dimulai dari BIOS (Basic Input Output System, adalah antar muka level terendah antara computer dan peripheral
• MBR menunjuk ke boot loader (LILO: Linuk Boot Loaader).
• LILO akan menanyakan label system operasi yang akan mengidentifikasi kernel yang dijalankan. Kernel akan menjalankan system operasi linux
• Yang pertama kali dikerjakan oleh kernel adalah menjalankan program init. Init adalah root/parent dari semua proses yang dijalankan pada linux.
• Proses pertama yang melalui init adalah skrip /etc/rc.d/rc/sysinit.
• Berdasarkan run level yang ditentukan, script dieksekusi untuk memulai proses tertentu untuk menjalankan system dan membuat system lebih fungsional.
Isi dari file /etc/inittab adalah perintah-perintah untuk memulai system komputer, setelah selesai melakukan inisialisasi, selanjutnya akan di booting ke run level yang didefinisikan oleh init default. Init biasanya memulai “getty” yang menunggu layer login yang menandakan proses seorang user

 

REFERENSI

  • https://tri150408.wordpress.com/. Diakses pada 26 April 2018 Pukul 5:45 WIB

 

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

[lockercat]

[/lockercat]

unnamed

Sistem Operasi – Manajemen Perangkat Keras (Praktikum)

Tujuan Praktikum:

  • Mengetahui bagaimana melihat perangkat keras yang terpasang pada sistem
    komputer
  • Menggunakan perintah mount dan umount pada sistem file
  • Menggunakan perintah-perintah untuk manajemen perangkat keras

 

MANAJEMEN IO

 

LAPORAN RESMI:

  1. Analisa hasil percobaan yang Anda lakukan.
  2. Kerjakan latihan diatas dan analisa hasil tampilannya.
  3. Berikan kesimpulan dari praktikum ini.

 

TUGAS PENDAHULUAN:

Sebagai tugas pendahuluan,  jawablah pertanyaan-pertanyaan berikut ini :

  1. Perangkat keras diakses oleh sistem operasi Linux melalui directory /dev. Apa saja isi sub directory /dev dan sebutkan perangkatnya.

sub directory /dev berisi:

  • /dev/ttyS0 (first communication port, COM1): first serial port (mouse, MODEM)
  • /dev/psaux (PS/2): PS/2 mouse connection (mouse, keyboard)
  • /dev/lp0 (first printer port, LPT 1): first parallel prot (printer, scanner, dan sebagainya)
  • /dev/dsp (first audio device): sound card, digitized voice, dan PCM
  • /dev/usb (USB device): node USB device, /dev/sda (C:\SCSI device): first SCSI device (HDD, memory stick, external mass storage device seperti CD-ROM pada laptop)
  • /dev/scd (D:\SCSI CD-ROM device): first SCSI CD-ROM device, /dev/js0 (Standard gameport joystick): first joystick device.
  1. Apa yang dimaksud dengan block device dan character device? Sebutkan contoh perangkat yang merupakan block device dan character device.

Block device adalah device yang menyimpan atau membawa data, character device adalah device yang mengirim atau transfer data. Contohnya diskette drive, hard drive dan CD-ROM drive adalah termasuk block device, sedangkan serial port, mouse, dan paralel printer adalah character device.

  1. Apa yang dimaksud dengan mounting? Apa maksud perintah mount dan umount?

Mounting adalah proses dimana keadaan suatu device telah aktif atau tidak. Untuk mounting suatu device maka digunakan perintah mount. Jika system file tidak diperlukan untuk dimounting, dapat dilakukan unmounting dengan perintah umount

 

PERCOBAAN:

  1. Pada percobaan ini setiap mahasiswa harus membawa sebuah floppy disk dan atau CDROM
  2. Login sebagai user.
  3. Bukalah Console Termina l dan lakukan percobaan-percobaan di bawah ini kemudian analisa hasil percobaan.
  4. Selesaikan soal-soal latihan.

 

Percobaan 1: Melihat perangkat pada sistem komputer

  1. Melihat daftar perangkat. Perhatikan apakah perangkat-perangkat yang disebutkan pada dasar teori terdapat pada komputer anda.  Perhatikan tipe perangkat berupa block device atau character device.  Apa yang membedakan suatu perangkat merupakan block device atau character device?

 

 

 

 

 

 

Analisa: Perangkat- perangkat yang terdapat pada dasar teori terdapat juga di computer saya. Yang membedakan suatu perangkat merupakan block devices dan character devices adalah Device didefinisikan sebagai tipe seperti block atau character dan nomor mayor dan minor. Nomor mayor digunakan untuk melakukan katagori device dan nomor minor untuk mengidentifikasi tipe device khusus. Sebagai contoh, semua IDE device dihubungkan dengan primary controller mempunyai nomor mayor 3. Perangkat master dan slave, didefinisikan lebih jauh dengan nomor minor. Terdapat dua nomor sebelum tanggal yang tercetak.

  1. Perhatikan nomor mayor dan minor pada perangkat hard disk Anda. Apa maksudnya?

Analisa: Maksudnya adalah untuk melihat nomor mayor pada perangkat hda dan hdb

 

 

Percobaan 2: Menangani Removable Media

  1. Melihat daftar perangkat yang ada pada sistem file utama. Perhatikan titik mount untuk perangkat floppy dan CDROM.  Perhatikan opsi yang ada jelaskan maksudnya.

Analisa: Perintah di atas digunakan untuk melihat daftar perangkat yang ada pada system file utama. Pada gambar di atas terlihat pendefinisian metode dalam melakukan mount yaitu file_system mount_point type option dump, misalnya mount /dev/sda1 /home/c_mount

  1. Cobalah melakukan mounting pada floppy disk 

Analisa: Perintah di atas digunakan untuk membuat lokasi direktori tempat mount nantinya. Direktori yang dibuat untuk mount bernama floppy. Kemudian perintah mount /dev/sda1 /home/prince46/floppy digunakan untuk me-mounting sda1 ke dalam direktori floppy

  1. Agar semua perubahan data tertulis pada floppy dan mengambil floppy disk sistem file gunakan perintah umount.

Analisa: Perintah di atas digunakan untuk me-unmount direktori floppy dan kemudian untuk memastikan apakah direktori floppy sudah di unmount atau belum kita menggunakan perintah ls –l floppy

  1. Lakukan hal yang sama untuk perangkat CDROM.

Analisa: Perintah di atas digunakan untuk membuat direktori tempat mount cdrom yaitu direktori /home/prince46/cdrom. Setelah membuat tempat untuk mount kita langsung melakukan mount cdrom ke direktori /home/prince46/cdrom. Setelah berhasil di mount kita langsung mengembalikan cdrom ke kondisi awal yaitu di unmount

 

Percobaan 3: Melakukan format MSDOS pada floppy

1. Linux dapat membaca dan menulis dengan format MSDOS maupun Linux. Untuk menggunakan floppy MS, dapat digunakan perintah MS-DOS dengan  didahului huruf ”m”.  Misalnya,”mdir a:” akan melihat daftar file pada drive a,  ”mcopy” melakukan copy file, ”mdel” melakukan penghapusan file. Lakukan   format floppy dengan perintah

 

 

 

 

 

 

Analisa: Perintah di atas digunakan untuk memformat disk sdb dan memformat partisi sdb1 dengan menggunakan perintah fdisk dan mkfs.ext4 (memformat partisi sdb1 menjadi extend). Setelah itu kita membuat direktori tempat me-mounting sdb1 yaitu direktori /home/c_mount. Kemudian kita me-mount sdb1 ke dalam /home/c_mount. Untuk mengecek hasil mounting kita dapat menggunakan perintah lsblk

2.  Cobalah melakukan list directory, copy dan delete file

 

 

 

 

Analisa: Perintah di atas digunakan untuk melakukan list direktori, copy direktori, delete direktori, membuat file, copy file dan delete file

3.  Lakukan pembuatan direktory pada floppy dengan perintah mmd, copy file dengan mcopy, delete file dengan mdel, pindah directory dengan mcd dan melihat isi directory dengan mdir.

 

 

 

Analisa: Perintah di atas digunakan untuk pembuatan direktori, melihat isi direktori, mengcopy paksa direktori, menghapus direktori dan berganti direktori

4.  Lakukan format floppy disk menggunakan perintah mkfs

Analisa: Perintah di atas digunakan untuk melakukan format partisi pada device sdb1

5.   Sebelum menggunakan floppy yang sudah terformat lakukan mounting sistem file

Analisa: Perintah di atas digunakan untuk membuat direktori tempat mount kemudian melakukan mount ke direktori yang telah dibuat tersebut

6.   Untuk melihat apakah floppy sedang digunakan ketikkan

Analisa: Perintah di atas digunakan untuk melihat apakah sdb1 sedang digunakan untuk mounting atau tidak

7.   Lakukan unmount terhadap floppy disk.

Analisa: Perintah di atas digunakan untuk me-unmount lokasi direktori yang digunakan untuk mount sebelumnya yaitu /home/c_mount

 

LATIHAN:

  1. Lihatlah directory /proc/devices yang berisi perangkat-perangkat yang terdapat pada sistem komputer. Perlihatkan tampilannya dan sebutkan block device dan character device apa saja yang terdapat pada sistem komputer.

Analisa: Perintah di atas digunakan untuk melihat perangkat-perangkat yang terdapat pada sistem komputer. Yang merupakan Block device adalah fd, sr, sd ,device-mapper dan mdp, sisanya adalah character device

 

  1. Lakukan operasi file dan directory dengan menggunakan perintah MS-DOS seperti mdir, mmd, mcd, mcopy dan mdel, mmove. Tuliskan perintah yang anda lakukan.

Analisa: Perintah di atas digunakan untuk membuat direktori, menyalin file atau direktori, menghapus file atau direktori dan memindahkan file atau direktori

 

  1. Lakukan mounting terhadap floppy disk kemudian cobalah pindah ke directory /mnt/floppy dan lakukan operasi file dan directory (perintah cp, rm, mkdir, rmdir, cd, move).

Analisa: Perintah di atas digunakan untuk me-mount sda1 ke dalam direktori floppy. Kemudian memindahkan direktori dari /mnt ke direktori floppy dan melihat isi dari direktori floppy. Setelah itu kita meng-unmount floppy dan memeriksa kembali apakah direktori floppy sudah ter-unmount atau belum dengan menggunakan perintah ls floppy/

 

  1. Lihat manual dari fdisk dan fsck, kemudian lakukan percobaan menggunakan perintah tersebut.

Percobaan Penggunaan Perintah di atas:

Analisa: Perintah di atas digunakan untuk melihat manual dari fdisk dan fsck, kemudian kita melakukan percobaan dengan menggunakan masing-masing perintah tersebut, dimana fdisk digunakan untuk memformat disk dan fsck digunakan untuk memeriksa dan memperbaiki system file pada linux

 

  1. Lihat manual dari perintah mke2fs, kemudian lakukan percobaan dengan menggunakan perintah tersebut.

Analisa: Perintah di atas digunakan untuk melihat manual dari perintah mke2fs, kemudian melakukan percobaan dengan menggunakan perintah tersebut dimana mke2fs digunakan untuk membuat sebuah system file ext2.

 

KESIMPULAN:

Dalam Sistem Operasi GNU/Linux atau secara umumnya Sistem Operasi Unix dan turunannya, perangkat keras yang terhubung pada suatu komputer dikelola pada suatu direktori khusus yaitu direktori /dev. Tidak seperti dalam Sistem Operasi dalam Lingkungan DOS dan Windows, GNU/Linux memperlakukan perangkat keras sebagai suatu file ataupun direktori. Untuk mengetahui perangkat apa saja yang terdapat dalam komputer kita maka dapat kita lihat pada direktori /dev. Dalam sebuah sistem operasi, manajemen perangkat keras merupakan salah satu bagian penting penyusun sistem. Manajemen perangkat keras yang baik dalam sebuah sistem operasi akan menunjang kinerja sistem operasi tersebut dalam melakukan tugasnya serta dalam penggunaan sumber daya perangkat keras yang terhubung ke dalam komputer.

 

REFERENSI:

  • https://nurendry.wordpress.com/
  • https://w3big.com/linux/
  • www.geek-university.com

 

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

[lockercat]

[/lockercat]

 

dfa

Sistem Operasi – Sistem File (Praktikum)

Tujuan Praktikum:

  • Memahami atribut file dan ijin akses
  • Memahami perintah untuk mengubah ijin akses suatu file
  • Menggunakan perintah-perintah untuk mengubah ijin akses

 

SISTEM FILE

 

LAPORAN RESMI:

  1. Analisa hasil percobaan yang Anda lakukan.
  2. Kerjakan latihan diatas dan analisa hasil tampilannya.
  3. Berikan kesimpulan dari praktikum ini.

 

TUGAS PENDAHULUAN:

Sebagai tugas pendahuluan, jawablah pertanyaan-pertanyaan berikut ini:

  1. Apa saja atribut file? Berikan contoh file dengan tipe file yang disebutkan pada dasar teori.

File mempunyai beberapa atribut, yaitu :

Tipe file : mementukan tipe dari file.
Ijin akses : menentukan hak user terhadap file ini.
Jumlah link : jumlah link untuk file ini.
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 :

11
  1. Apa yang dimaksud ijin akses? Bagaimana contoh penggunaan perintah chmod untuk mengubah ijin akses.

Ijin akses adalah menentukan hak user terhadap file, dimana ijin akses terbagi menjadi 3 peran, yaitu:

  • Pemilik (Owner)
  • Kelompok (Group)
  • Lainnya (Others)

Setiap peran dapat melakukan 3 bentuk operasi baik pada File maupun pada direktori, yaitu:

  • R (Read) Ijin untuk membaca
  • W (Write) Ijin untuk mengubah/membuat
  • X (Execute) Ijin untuk menjalankan program

Contoh penggunaan perintah chmod:

chmod [ugoa] [= + -] [rwx] File(s)
chmod [ugoa] [= + -] [rwx] Dir(s)

Dimana:

u = user (pemilik)

g = group (kelompok)

o = others (lainnya)

a = all

Format lain dari chmod adalah menggunakan bilangan octal, yaitu sebagai berikut:

r             w            x
4             2             1              =            7

 

  1. Berilah contoh penggunaan perintah umask untuk mengubah ijin akses.

Kreasei file (biasa)                   6 6 6

Nilai unmask                             0 2 2

——– –

                                                  6 4 4

Kreasi direktori                        7 7 7

Nilai unmask                             0 2 2

—— –

                                                  7 5 5

 

PERCOBAAN:

  1. Login sebagai user.
  2. Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini kemudian analisa hasil percobaan.
  3. Selesaikan soal-soal latihan.

 

 

Percobaan 1: Ijin Akses

  1. Melihat identitas diri melalui etc/passwd atau etc/group, informasi apa yang ditampilkan?
    c1

Analisa: Pada percobaan ini kita ingin melihat identitas diri dari user yang sedang aktif melalui /etc/passwd dan /etc/group

  1. Memeriksa direktori home
    c2

Analisa: Pada percobaan ini kita ingin memeriksa direktori dari user prince46

  1. Mengubah Ijin akses (chmod). Perhatikan ijin akses setiap perubahan!
    c3
    c4

Analisa: Pada percobaan ini kita membuat file dengan izin akses masih dapat dibaca dan diedit oleh siapan pun. Saat melakukan perintah u+x maka f1 hanya dapat di eksekusi oleh pemiliknya. Untuk perintah g=w berarti file f1 hanya dapat di edit olehuser pada satu group yang sama. o-r untuk memberikan izin untuk me-read file kepada semua orang. a=x file tidak bisa diread oleh user dan group. u+x,g-r,o=w menambahkan izin eksekusi pada user, menghilangkan izin group unutk membaca file, dan memberikan izin others untuk mengubah file.

  • 751: user (read,write,executr), group (read and execute), orang lain hanya bisa mengexecute.
  • 624: user dapat membaca dan merubah, group hanya bisa merubah dan orang lain hanya dapat membaca saja.
  • 430: pemilik hanya dapat melihat, group mengedit/mengubah dan user lain yang dapat mengeksekusi

 

  1. Mengganti kepemilikan digunakan perintah chown. Masuk ke root untuk  mengganti kepemilikan tersebut.
    c5

Analisa: Perintah Chown digunakan untuk mengganti kepemilikan (user). Dan untuk melakukan chown harus masuk root terlebih dahulu

 

  1. Ubahlah ijin akses home directory <user> (student) pada root sehingga <user baru> (student1) pada satu group dapat mengakses home direktory <user>. Hal ini dimaksudkan agar file f1 yang sudah diubah kepemilikannya dapat diakses <user-baru>. Perubahan ijin akses home directory <user> hanya  dapat dilakukan pada root.
    c6

Analisa: Perintah di atas digunakan untuk mengubah ijin akses group pada direktori /home/prince46 agar dapat dibaca, diedit dan dieksekusi oleh user yang ada pada group yang sama dengan pemiliknya.

  1. Sekarang cobalah untuk subtitute user ke <user-baru> (student1). Cobalah  untuk mengakses file f1
    c7

Analisa: Perintah di atas digunakan untuk mengakses file f1 melalui user-baru bernama jihan, sehingga pada perobaan ini user lain dapat mengeksekusi file tersebut karena memiliki izin akses

 

  1. Mengubah group dengan perintah chgrp
    c8

Analisa: Perintah di atas digunakan untuk mengubah group dengan perintah chgrp

 

Percobaan 2: User Mask

  1. Menentukan ijin akses awal pada saat file atau direktori dibuat
    c9

Analisa: Pada percobaan ini kita membuat file myfile dengan perintah touch lalu melihat izin akses file tersebut

  1. Melihat nilai umask
    c10

Analisa: Perintah di atas digunakan untuk melihat nilai default dari umask yaitu 022 (0002)

  1. Modifikasi nilai umask
    c11
    c12

    c13

Analisa: Pada percobaan di atas kita merubah umask menjadi 027 yang berarti user pemilik dapat merubah dan membaca, sedangkan user lain hanya dapat membacanya. Umask 077 hanya user yang dapat melihat dan membaca direktori xfiles (hidden)

 

 

LATIHAN:

  1. Lakukan tiga cara berbeda untuk setting ijin akses ke file atau direktori menjadi r-r–r–. Buatlah sebuah file dan lihat apakah yang anda lakukan benar.
    c14

Analisa: Pada gambar diatas kita membuat file046 menggunakan perintah touch. Izin akses dari file ini masih rw artinya file tersebut masih bisa dibaca(r) dan di ubah(w), untuk mengubah izin aksesnya menggunakan perintah seperti berikut ini:

  • Menggunakan perintah chmod 444 file046 maka izin akses dari file akan berubah, sehingga file ini hanya bisa dibaca. 444 merupakan bilangan octal dari r.
  • Menggunakan perintah yang dapat digunakan untuk merubah izin akses pada file yaitu dengan perintah chmod u=r <nama file>, g=r <nama file> dan o=r <nama file>

 

  1. Buatlah suatu kelompok. Copy-kan /bin/sh ke home directory. Ketik “chmod +s sh”. Cek ijin akses sh pada daftar direktori.  Sekarang tanyakan ke teman satu kelompok anda untuk mengubah ke home directory anda dan menjalankan program ./sh dan menjalankan id command.  Apa yang terjadi?  Untuk keluar dari shell tekan exit.
    c15
    c16

Analisa: Perintah chmod +s sh adalah perintah untuk mengubah file sh yang tadinya executable file menjadi socket link. Perintah ini juga menentukan hak zin akses untuk pengguna lain yang menggunakan file ini.  Sehingga pengguna lain memiliki hak akses pada file tersebut.

  1. Hapus sh dari home directory (atau setidaknya kerjakan perintah chmod –s sh)
    c17
    c18

Analisa: Perintah chmod –s sh  berfungsi untuk mengembalikan file yang tadinya socket link menjadi executeable file. Sehingga hak akses akan kembali seperti semula. Hanya user asal yang bisa mengakses file ini. Sementara itu pengguna lain tidak memilik hak akses tersebut

 

  1. Modifikasi ijin akses ke home directory anda sehingga sangat privat. Cek apakah teman anda tidak dapat mengakses directory anda.  Kemudian kembalikan ijin akses ke semula.
    c19

Analisa: Perintah chmod 000 diatas merupakan perintah yang memiliki fungsi untuk menghentikan seluruh izin akses yang ada pada direktor home. Untuk mengembalikan izin akses kembali kesemula menggunkan perintah chmod 755.

 

  1. Ketikkan umask 000 dan kemudian buatlah file yang bernama txt yang berisi beberapa kata “hello world”. Lihat ijin akses pada file.  Apa yang terjadi? Sekarang ketikkan umask 022 dan buatlah file bernama world2.txt. Apakah perintah tersebut lebih berguna?
    c20

Analisa: Umask 000 merupakan perintah untuk membuat file dengan izin akses dapat di read, write untuk semua orang sedangkan umask 022 akan membuat file dengan izin akses dapat dibaca oleh semua orang tapi hanya dapat diubah/diedit oleh pemilik file tersebut sehingga umask 022 lebih berguna karena untuk keamanan data.

 

  1. Buatlah file yang bernama “txt” pada home directory menggunakan perintah cat -u > hello.txt. Tanyakan ke teman Anda untuk masuk ke home directory Anda dan menjalankan tail -f hello.txt. Sekarang ketikkan beberapa baris dalam hello.txt.  Apa yang terjadi pada layer teman Anda ?
    c21
    c22

Analisa: Perintah diatas merupakan perintah untuk standar input dan output. Misalnya perintah cat –u > hello.txt ini merupakan perintah pembelokan standar output ke file hello.txt dan untuk berhenti dengan perintah ctrl+c. Yang terjadi pada layar teman adalah file hello.txt dapat dibaca maupun diedit karena file ini tidak dibatasi ijin aksesnya untuk user lain.

 

KESIMPULAN :

  1. File mempunyai beberapa attribute, yakni: tipe file, ijin akses, jumlah link, owner, group, jumlah karakter, waktu pembuatan dan nama file
  2. Setiap obyek pada linux harus mempunyai pemilik, yaitu nama pemakai Linux (account) yang terdaftar pada /etc/passwd.
  3. Untuk menentukan ijin akses awal pada saat file atau direktori dibuat digunakan perintah umask
  4. Sebuah file dapat kita manajemen atau dapat kita atur sesuai dengan tingkat keamanan yang igin kita tentukan pada file. Untuk proses ini dapat kita lakukan dengan mengunakan manajemen sistem file dimana sebuah file atau direktory dapat kita tentukan hak izin aksenya, guna untuk menaga data yang kita miliki

 

REFERENSI :

  • blogspot.com/2010/10/sistem-manajemen-file.html. Diakses pada tanggal 12 April 2018 pukul 19:45
  • erllang.ga/teknik-informatika/makalah-manajemen-sistem-file.html. Diakses pada tanggal 12 April 2018 pukul 19:45
  • https://www.slideshare.net/ikhwanisaputra05/manajemen-sistem-file-35300993. Diakses pada tanggal 12 April 2018 pukul 19:45

 

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

[lockercat]

[/lockercat]

 

u

Sistem Operasi – Unix System Call dan Manajemen Memory (Praktikum)

Tujuan Praktikum:

  • Menggunakan system call fork, wait dan execl pada Linux
  • Menggunakan perintah-perintah untuk manajemen memory

 

Unix System Call dan Manajemen Memory

 

LAPORAN RESMI:

  1. Analisa hasil percobaan yang Anda lakukan.
  2. Kerjakan latihan diatas dan analisa hasil tampilannya.
  3. Berikan kesimpulan dari praktikum ini.

 

TUGAS PENDAHULUAN:

Jawablah pertanyaan-pertanyaan berikut ini :

  1. Apa yang dimaksud dengan system call?

System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi. System call berupa rutinitas sistem operasi untuk keperluan tertentu yang spesifik. System Call untuk manajemen proses diperlukan untuk mengatur proses-proses yang sedang berjalan.

  1. Apa yang dimaksud dengan sistem call fork(), execl() dan wait(). Jawablah dengan menggunakan perintah man (contoh: man 2 fork, man 2 execl dan man 2 wait)?
  • System call fork() digunakan untuk membuat proses. Tidak perlu ada argumen dan mengembalikan ID proses. Tujuan fork () adalah untuk menciptakan proses baru, yang menjadi proses anak dari pemanggil. Setelah proses anak baru dibuat, kedua proses akan menjalankan instruksi berikutnya.
    b1
  • System call execl() adalah fungsi dari sistem operasi yang menjalankan file yang dapat dieksekusi dalam konteks proses yang sudah ada, menggantikan eksekusi sebelumnya. Tindakan ini juga disebut sebagai overlay.
    b2
  • System call wait() adalah fungsi dari sistem operasi yang digunakan untuk memblokir proses pemanggilan sampai salah satu proses turunannya keluar atau sinyal diterima.
    b3
  1. Apa yang dimaksud sistem virtual memory, proses swapping dan buffer cache pada manajemen memory?
  • Virtual Memory adalah teknik manajemen memori yang dikembangkan untuk kernel multitugas. Teknik ini divirtualisasikan dalam berbagai bentuk arsitektur komputer di dalam penyimpanan data (seperti RAM dan Harddisk), yang memungkinkan sebuah program harus dirancang seolah-olah hanya ada satu jenis memori yang digunakan yaitu memori “virtual”, yang bertindak secara langsung pada alamat memori baca/tulis (RAM)
  • Swapping adalah Suatu metode pengalihan proses yang bersifat sementara dari memori utama ke suatu tempat penyimpanan sementara (disk) dan dipanggil kembali ke memori jika akan melakukan eksekusi. Adapun proses pindahkan yaitu proses yang di blocked ke disk dan hanya memasukkan proses-proses ready ke memory utama.
  • Buffer Cache adalah buffer cache adalah proses yang terjadi pada daerah memeori yang meyimpan data ketika data sedang dipindahkan dari perangkat satu ke perangkat lainnya atau dari perangkat ke aplikasi yang memiliki akses data yang lebih cepat dan efisien.
  1. Apa yang dimaksud perintah free dan cat /proc/meminfo?
  • Free adalah perintah yang digunakan untuk melihat memori yang terpakai oleh suatu proses dan memperlihatkan swap space dan banyaknya swapping yang terjadi.
  • Cat /proc/meminfo adalah perintah yang digunakan untuk melihat penggunaan memori dan swap-nya
  1. Apa yang dimaksud perintah ps?
  • Ps adalah perintah yang digunakan untuk melihat status proses yang terdiri dari attribut PID (Process Identifier), TTY, Time dan CMD

 

PERCOBAAN:

  1. Login sebagai user.
  2. Bukalah Console Terminal dan lakukan percobaan-percobaan di bawah ini kemudian analisa hasil percobaan.
  3. Selesaikan soal-soal latihan.

 

Percobaan 1: Melihat proses parent dan proses child

  1. Dengan menggunakan editor vi, buatlah file cpp dan ketikkan program berikut:
    b4

    b5

Analisa:  listing program diatas berguna untuk menampilkan nomor PID dari proses dan parent serta user id dari user yang sedang aktif ketika program dieksekusi

  1. Gunakan g++ compiler untuk menjalankan program diatas
    b6

Analisa:  perintah di atas digunakan untuk mengcompile file yang telah dibuat sebelumnya ke dalam bentuk file shell script sehingga dapat dieksekusi

  1. Amati output yang dihasilkan
    b7

Analisa:  Hasil output menampilkan nomor PID dari proses, nomor PID dari parent dan user id dari user yang sedang aktif

 

Percobaan 2: Membuat dua proses terus menerus dengan sebuah system call fork()

  1. Dengan menggunakan editor vi, buatlah file cpp dan ketikkan program berikut:
    b8

    b9

Analisa:  listing program diatas berguna untuk menampilkan nomor PID dari proses beserta urutan foreground-nya di dalam memory ketika program dieksekusi

  1. Gunakan g++ compiler untuk menjalankan program diatas. Pada saat dijalankan, program tidak akan pernah berhenti.  Untuk menghentikan program tekan Ctrl+C. 

    b10

Analisa:  perintah di atas digunakan untuk mengcompile file yang telah dibuat sebelumnya ke dalam bentuk file shell script sehingga dapat dieksekusi

  1. Amati output yang dihasilkan
    b11

Analisa:  Hasil output menampilkan nomor PID dari proses beserta urutan foreground-nya di dalam memory yang dilakukan secara berulang-ulang hingga user menghentikannya sendiri dengan perintah ctrl+c

 

Percobaan 3: Membuat dua proses sebanyak lima kali

  1. Dengan menggunakan editor vi, buatlah file cpp dan ketikkan program berikut:
    b12

    b13

Analisa:  listing program diatas berguna untuk menampilkan nomor PID dari 2 buah proses yang dilakukan secara berulang sebayak 5 kali perulangan.

  1. Gunakan g++ compiler untuk menjalankan program diatas
    b14

Analisa:  perintah di atas digunakan untuk mengcompile file yang telah dibuat sebelumnya ke dalam bentuk file shell script sehingga dapat dieksekusi

  1. Amati output yang dihasilkan
    b15

Analisa:  Hasil output menampilkan nomor PID dari 2 buah proses yang dilakukan secara berulang sebayak 5 kali perulangan

 

Percobaan 4: Proses parent menunggu sinyal dari proses child dengan system call wait

  1. Dengan menggunakan editor vi, buatlah file cpp dan ketikkan program berikut:
    b16
    b17

    b18

Analisa:  listing program di atas berguna untuk menampilkan nomor PID dari parent dan child dimana nomor PID ini nantinya akan dipanggil kembali pada pendeklarasian string berikutnya dan perulangan terjadi pada program ini sebanyak 2 perulangan dengan menampilkan nomor PID parent, nomor PID child, String parent dan String Child

 

  1. Gunakan g++ compiler untuk menjalankan program diatas
    b19

Analisa:  perintah di atas digunakan untuk mengcompile file yang telah dibuat sebelumnya ke dalam bentuk file shell script sehingga dapat dieksekusi

 

  1. Amati output yang dihasilkan
    b20

Analisa:  Hasil output menampilkan nomor PID dari parent dan child dimana nomor PID ini nantinya akan dipanggil kembali pada pendeklarasian string berikutnya dan perulangan terjadi pada program ini sebanyak 2 perulangan dengan menampilkan nomor PID parent, nomor PID child, String parent dan String Child

 

Percobaan 5: System call fork/exec dan wait mengeksekusi program bernama ls, menggunakan file executable /bin/ls dengan satu parameter –l yang ekuivalen dengan ls –l

  1. Dengan menggunakan editor vi, buatlah file cpp dan ketikkan program berikut:
    b21
    b22
    b23

    b24

Analisa:  listing program di atas berguna untuk menampilkan nomor PID dari parent dan child dimana PID tersebut nantinya akan dipanggil kembali pada pendeklarasian string berikutnya kemudian program menampilkan informasi tentang user yang sedang aktif dan mengakhiri eksekusi dengan tampilan “I am a parent and I am quitting.”

  1. Gunakan g++ compiler untuk menjalankan program diatas

    b25

Analisa:  perintah di atas digunakan untuk mengcompile file yang telah dibuat sebelumnya ke dalam bentuk file shell script sehingga dapat dieksekusi

 

  1. Amati output yang dihasilkan
    b26

Analisa:  Hasil output menampilkan nomor PID dari parent dan child dimana PID tersebut nantinya akan dipanggil kembali pada pendeklarasian string berikutnya kemudian program menampilkan informasi tentang user yang sedang aktif dan mengakhiri eksekusi dengan tampilan “I am a parent and I am quitting.”

 

Percobaan 6: System call fork/exec dan wait mengeksekusi program lain

  1. Dengan menggunakan editor vi, buatlah file cpp dan ketikkan program berikut:
    b27
    b28
    b29

    b30

Analisa:  listing program di atas berguna untuk menampilkan nomor PID dari parent dan child dimana nomor PID tersebut nantinya akan dipanggil kembali pada pendeklarasian string berikutnya dan program juga menampilkan nomor PID dari 2 buah proses dan mengulangnya sebanyak 5 kali pengulangan

  1. Gunakan g++ compiler untuk menjalankan program diatas

    b31

Analisa:  perintah di atas digunakan untuk mengcompile file yang telah dibuat sebelumnya ke dalam bentuk file shell script sehingga dapat dieksekusi

  1. Amati output yang dihasilkan

    b32

Analisa:  Hasil output menampilkan nomor PID dari parent dan child dimana nomor PID tersebut nantinya akan dipanggil kembali pada pendeklarasian string berikutnya dan program juga menampilkan nomor PID dari 2 buah proses dan mengulangnya sebanyak 5 kali pengulangan

 

Percobaan 7: Melihat Manajemen Memory

  1. Perhatikan dengan perintah dmesg jumlah memory tersedia dan proses swapping
    b33

    b34

Analisa:  Pada gambar diatas terlihat bahwa jumah memory yang tersedia adalah 154840 Kb dan jumlah memory swapping yang tersedia adalah 444072 Kb

  1. Dengan perintah free perhatikan jumlah memory ”free”, ”used”, “share” dan “buffer” .

    b35

Analisa:  Pada gambar di atas terlihat bahwa perintah free menyediakan layanan berupa menampilkan informasi mengenai penggunaan aktivitas memory yang terdiri dari total, used, free, shared, buffer/cache dan available

  1. Dengan perintah dibawah ini apakah hasilnya sama dengan no 2?

    b36

Analisa:  Ya, hasilnya sama, namun pada perintah cat /proc/meminfo lebih banyak menampilkan informasi secara detail dan rinci mengenai aktivitas penggunaan memory

  1. Gunakan perintah dibawah ini

    b37

Analisa:  perintah diatas diguanakan untuk menampilkan isi dari direktori root secara rinci

  1. Perhatikan perubahan manajemen memory

    b38

Analisa:  Perintah diatas digunakan untuk menampilkan aktivitas dari penggunaan memory dan swap secara general

  1. Jalankan sebuah program, misalnya open Office. Perhatikan perubahan manajemen memory
    b39
    b40

    b41

Analisa:  Pada saat kita menjalankan libre office maka memory akan menggunakan bagian pada dirinya yang masih free dan hal ini akan mengurangi jumlah total memory bebas yang tersedia, dimana sebelumnya (sebelum menjalankan libre office) memory yang tersedia sebanyak 145708 Kb dan setelah menjalankan libre office memory free berkurang menjadi 70424 Kb

  1. Dengan perintah ps bagaimana penggunaan memory untuk setiap proses diatas?
    b42

    b43

Analisa: Dengan dijalankannya aplikasi libre office, tentunya penggunaan memory menjadi semakin besar dan menambah daftar proses yang terdaftar pada ps –uax. Melalui perintah ini kita bisa melihat berbagai proses yang sedang berjalan di memory, baik itu proses background maupun foreground secara detail. Pada gambar terlihat bahwa aplikasi libre office menggunakan sumber daya memory sebanyak 14.9% dan CPU 4.1%

 

 

LATIHAN:

  1. Ubahlah program fork5.cpp pada percobaan 5 untuk mengeksekusi perintah yang ekuivalen dengan
    1. ls –al /etc.
    2. cat fork2
    3. ./fork2
      b44
      b45
      b46
      b47
      b48

      b49

Analisa: Pada program diatas setelah listing program di buat maka program terlebih dahulu harus di compile ke dalam betuk shell script kemudian di eksekusi dan program menampilkan hasil output berupa semua isi (beserta file hidden) dari direktori /etc setelah itu program membuka fork2 dengan perintah cat dan kemudian program diakhiri dengan menampilkan 2 buah proses beserta PID nya yang dilakukan secara berulang-ulang

 

  1. Informasi apa saja mengenai manajemen memory yang ditampilkan pada perintah dmesg pada percobaan Anda?

    b50

Analisa: Perintah diatas digunakan untuk menampilkan informasi berupa hardware yang sedang beraktivitas beserta file yang sedang dieksekusinya

 

  1. Bagaimana informasi yang ditampilkan dengan perintah free pada percobaan Anda?

    b51

Analisa: Informasi yang ditampilkan pada percobaa saya adalah informasi berupa total memory dan swap, penggunaan memory dan swap, total memory dan swap yang sedang free, memory yang bisa dibagi, besaran buffering cache dan available memory

 

  1. Apa isi file /proc/meminfo pada percobaan yang Anda lakukan?

    b52

Analisa: Isi file /proc/meminfo adalah informasi berupa aktivitas penggunaan memory secara detail yang diantaranya berupa total memory, penggunaan memory, memory yang sedang free, besaran buffering dan cache dan available memory

 

  1. Berapa besar memory yang digunakan setelah percobaan 7 dengan perintah ps – uax?
    b53

    b54

Analisa: besarnya memory yang digunakan setelah percobaan 7 adalah 1187488 Kb dengan penggunaan CPU sebesar 15.3%

 

  1. Lakukan hal yang sama dengan percobaan 7 untuk melihat perubahan memory setelah dilakukan beberapa proses pada shell. Tentukan perintah yang dilakukan misalnya membuka browser dan perhatikan hal-hal berikut:
    1. Informasi apa saja yang ditampilkan dengan perintah free?
      b55

      Analisa: Informasi yang ditampilkan pada percobaa saya adalah informasi berupa total memory dan swap, penggunaan memory dan swap, total memory dan swap yang sedang free, memory yang bisa dibagi, besaran buffering cache dan available memory

    2. Informasi apa saja yang disimpan file /proc/meminfo?
      b56
      b57

      Analisa: Isi file /proc/meminfo adalah informasi berupa aktivitas penggunaan memory secara detail yang diantaranya berupa total memory, penggunaan memory, memory yang sedang free, besaran buffering dan cache dan available memory

    3. Berapa besar kapasitas memory total? 1013776 kB

      b58
    4. Berapa kapasitas memory yang sudah terpakai? 718792 kB

      b59
    5. Berapa kapasitas memory yang belum terpakai? 85696 kB

      b60
    6. Berapa kapasitas memory yang digunakan sharing beberapa proses? 22536 kB

      b61
    7. Berapa kapasitas buffer cache? 209288 kB

      b62

 

KESIMPULAN:

Kesimpulan yang saya dapat setelah mengikuti praktikum ini dengan baik adalah:

  • System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi. System call berupa rutinitas sistem operasi untuk keperluan tertentu yang spesifik. System Call untuk manajemen proses diperlukan untuk mengatur proses-proses yang sedang berjalan.
  • Manajemen memory adalah proses mengelola memori computer dengan efisien. Kebutuhan utama manajemen memory adalah untuk menyediakan cara secara dinamis dalam mengalokasikan bagian-bagian dari memori untuk program atas request yang dilakukan dan membebaskan memori untuk digunakan kembali ketika tidak lagi diperlukan.

 

Referensi:

  • https://linux.die.net/man/2/fork
  • http://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/fork/wait.html
  • https://generasiwacana.blogspot.com/2015/12/pengertian-swapping-virtual-memory.html
  • https://herdiand45.wordpress.com/2013/11/02/buffer-caching/

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

[lockercat]

[/lockercat]

coding

Sistem Operasi – Pemrograman Shell (Praktikum)

Tujuan Praktikum:

  • Mempelajari elemen dasar shell script
  • Membuat program shell interaktif
  • Menggunakan parameter dalam program
  • Mempelajari test kondisi serta operator logic yang terkait dengan instruksi test
  • Mengenal variable built-in dari shell
  • Membuat aplikasi dengan shell menggunakan konstruksi if-then-else
  • Menggunakan struktur case – esac.
  • Loop dengan while, for, do while.
  • Membuat fungsi dan mengetahui cara memanggil fungsi tersebut

 

PEMROGRAMAN SHELL

 

LAPORAN RESMI:

1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan latihan diatas dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini

 

TUGAS PENDAHULUAN:

Sebagai tugas pendahuluan, bacalah dasar teori di atas kemudian buatlah program Shell untuk latihan 1 sampai dengan 5

 

PERCOBAAN:
1. Login sebagai user
2. Bukalah console terminal dan lakukan percobaan-percobaan di bawah ini kemudian analisa hasil percobaan
3. Selesaikan soal-soal latihan

Percobaan 1: Membuat Shell Script

1. Buatlah file prog01.sh dengan editor vi

a1
a2

Analisis: Gambar di atas merupakan perintah untuk membuat shell script dengan membuat file prog01.sh menggunakan editor vi. Perintah $ vi prog01.sh berfungsi untuk mengedit file konfigurasi sistem dan membuat script. Kemudian tekan i untuk meng-insertkan script-script berikut:
#!/bin/sh
# Program shell
#
var1=x
var2=8
berfungsi untuk mendifinisikan var1 sama dengan x dan var2 sama dengan 8. Tekan esc pada keyboard lalu setelah tulisan INSERTnya hilang ketikan :wq berfungsi untuk menyimpan dan keluar dari file tersebut.

2. Untuk menjalankan shell, gunakan notasi TITIK di depan nama program

a3

Analisis: Gambar di atas merupakan perintah untuk menjalankan shell, gunakan notasi TITIK di depan nama program. Ketikkan perintah di atas, tapi prog01.sh ini tidak menampilkan teks/string seperti menggunakan perintah echo, maka pada saat prog01.sh dijalankan tidak akan ditampilkan apa-apa .

3. Untuk menjalankan shell, dapat juga dengan membuat executable file dan dieksekusi relative dari current directory

a4

Analisis: Gambar di atas merupakan perintah untuk menjalankan shell, dapat juga membuat executable file dan dieksekusi dari current directory. Setelah mengetikkan perintah di atas, prog01.sh tidak akan menampilkan apa-apa karena isi dari script prog01.sh hanya mendefiniskan var1 dan var2 tanpa ada proses menampilkan.

 

Percobaan 2: Variabel

1. Contoh menggunakan variable pada shell interaktif

a5

Analisis: Gambar di atas merupakan contoh menggunakan variable pada shell interaktif. Pada shell aktif untuk menampilkan variabel pertama definiskan nama variabel tersebut, misalnya variabel VPT berisi poltek. Dan untuk menampilkan atau memanggil variabel tersebut dapat menggunakan echo $VPT maka setelah dienter isi dari variabel VPT akan tampil yaitu output dengan tulisan poltek.

2. Pemisahan 2 kata dengan spasi menandakan eksekusi 2 buah instruksi. Karakter $ harus ada pada awal nama variable untuk melihat isi variable tersebut, jika tidak, maka echo akan mengambil parameter tersebut sebagai string

a6

Analisis: Gambar di atas merupakan pemisah 2 kata dengan spasi menandakan eksekusi 2 buah intruksi. Terdapat beberapa perbedaan utnuk program di atas. Untuk isi dari sebuah variabel apabila terdiri dari dua buah kata maka tidak bisa secara langsung dipisahkan dengan spasi jadi terdapat pesan error. Untuk membuat variabel dengan 2 kata harus diaapit oleh tanda kutip dua (“). Kemudian pada perintah selanjutnya untuk menampilkan variabel VPT2 ini harus diawali dengan tanda $ jika tidak, maka echo akan mengambil parameter tersebut sebagai string.

3. Menggabungkan dua variable atau lebih

a7

Analisis: Gambar di atas merupakan penggabungan dua variable atau lebih. Untuk menggabungkan dua variabel atau lebih selain dapat ditulis secara langsung bias juga didefinisikan lagi kedalam variabel lain contohnya pada gambar diatas tiga buah variabel didefiniskan di variabel V4 maka untuk menampilkan variabel V1 V2 V3 cukup memanggil variabel V4 saja.

4. Menggabungkan isi variable dengan string yang lain. Jika digabungkan dengan nama variable yang belum didefinisikan (kosong) maka instruksi echo menghasilkan string kosong. Untuk menghindari kekeliruan, nama variable perlu diproteksi dengan {} dan kemudian isi variable tersebut digabung dengan string

a8

Analisis: Gambar di atas merupakan penggabungan isi variable dengan string yang lain. Untuk menggabungkan sebuah variabel dengan string lain tidak dapat secara langsung seperi pada perintah 2 diatas. Jika penulisan nya seperti $V3ITS maka instruksi echo akan menampilkan sting kosong karena variabel tersebut dianggap sebagai variabel yang belum terdefinisikan. Untuk menggabungkan isi variabel dengan string lain digunakan tanda {} untuk memisahkan variabel dengan string lain tersebut.

5. Variable dapat berisi instruksi, yang kemudian bila dijadikan input untuk shell, instruksi tersebut akan dieksekusi

a9

Analisis: Gambar di atas merupakan variabel berisi instruksi, yang kemudian bila dijadikan instruksi tersebut akan dieksekusi. Variabel dapat berisi isntruksi. Seperti pada contoh diatas variabel CMD diisi oleh instruksi who, maka apabila variabel CMD dipanggil isntruksi who yang tedapat dalam variabel CMD akan dieksekusi. Begitu juga dengan variabel CMD yang disi dengan perintah ls –l, dan tampil dengan output menampilkan file dile pada direktori.

6. Modifikasi file prog01.sh berikut

a10
a11

Analisis: Gambar di atas merupakan pengeditan shell script pada percobaan pertama. Shell script dari modifikasi prog01.sh ini berisi 3 buah variabel yaitu V1 V2 V3. Pada awalnya variabel V3 berisi dengan string elektronika namun kemudian variabel V3 diubah dengan isi ITS. Maka apabila ditampilkan echo pertama akan menampilkan pemrograman shell, kemudian echo kedua akan menampilkan poltek:elektronika sedangkan echo ketiga akan menampilkan poltek: di ITS karena V3 sebelumnya telah mengalami perubahan isi.

7. Cara sederhana mengeksekusi shell adalah dengan menggunakan notasi titik di depan nama shell script tersebut. Bila direktori actual tidak terdaftar dalam PATH, maka command tersebut tidak dapat ditemukan. Bila script belum executable, script tidak dapat dieksekusi

a12

Analisis: Gambar di atas merupakan cara untuk menjalankan prog01.sh. Untuk memanggil prog01.sh ini dapat dilakukan dengan beberapa cara seperti diatas. Pemanggilan kedua gagal, karena pemanggilan tersebut hanya untuk file executable.

 

Percobaan 3: Membaca Keyboard

1. Menggunakan instruksi read

a13

Analisis: Gambar di atas merupakan cara untuk membaca keyboard. Untuk membaca input dari keyboard dapat menggunakan instruksi read. Program diatas variabel nama
akan dinput melalui keyboard yaitu amir, pada saat dipanggil maka variabel nama tersebut kan menampilkan amir.

2. Membaca nama dan alamat dari keyboard

a14
a15

Analisis: Gambar di atas merupakan pembuatan file prog02.sh. Sama halnya dengan percobaan pada point sebelumnya, namun percobaan membaca variabel dari keyboard ini dilakukan melalui shell script prog02.sh. 3 buah variabel nama alamat dan kota merupakan input dari keyboard menggunkan perintah read dan akan di eksekusi pada percobaan berikutnya.

3. Eksekusi program prog02.sh

a16

Analisis: Gambar di atas merupakan perintah untuk menjalankan proses membaca keyboard. Pada saat prog02.sh dieksekusi akan tampil tulisan nama anda : kemudian diikuti dengan perintah memasukan input dari variabel nama dengan posisi satu enter. Begitu juga untuk variabel alamat dan kota. Kemudian setelah menginputkan variabel kota maka akan tampil Hasil adalah : dengan variabel nama, varibael alamat dan diikuti di dengan variabel kota.

4. Instruksi echo secara otomatis memberikan baris baru, maka untuk menghindari hal tersebut disediakan opsi –n, yang menyatakan kepada echo untuk menghilangkan baris baru. Modifikasi program prog02.sh

a17
a18

Analisis: Gambar di atas merupakan perintah untuk memodifikasi prog02.sh. Pada prog02.sh yang baru ini perintah echo diikuti –n untuk mengilangkan baris baru untuk melakukan input keyboard dari masing masing variabel dan akan di eksekusi pada percobaan berikutnya.

5. Eksekusi program prog02.sh

a19

Analisis: Gambar di atas merupakan perintah untuk membaca keyboard. Prog02.sh tersebut di eksekusi sehingga tampil dan terlihat perbedaan dengan percobaan 3 nomer 3 untuk input keyboard tidak dilakukan pada baris baru namun meneruskan dari perintah echo.

6. Variabel kosong adalah variable yang tidak mempunyai nilai. Variable ini didapat atas assignment atau membaca dari keyboard atau variable yang belum didefinisikan

a20

Analisis: Gambar di atas merupakan perintah untuk membaca keyboard. Seluruh perintah dari variabel diatas merupakan variabel kosong atau tidak mempunyai nilai. Maka pada saat variabel dipanggil tidak akan menamilkan apapun.

7. Variable dapat disubstitusikan dengan hasil eksekusi lebih dahulu dengan sepasang Back Quate (tanda kutip terbalik). Hasil dari eksekusi tersebut akan masuk sebagai nilai variable DIR

a21

Analisis: Gambar di atas merupakan perintah untuk membaca keyboard. Untuk mengisi variabel dengan subtitusi hasil eksekusi dari sebuah eksekusi instruksi harus menggunakan sepasang back quate (`). Misalnya pada contoh diatas variabel DIR didistribusikan dengan hasil eksekusi dari peirntah pwd. Maka saat variabel DIR dipanggil akan tampil hasil dari pwd tersebut.

8. Buatlah shell script prog03.sh

a22
a23

Analisis: Gambar di atas merupakan perintah untuk membuat file Prog03.sh untuk menampilkan variabel dari hasil eksekusi perintah whoami dan date. Variabel whoami didefiniskan dalam variable NAMA sedangkan date didefinisikan dengan variabel tanggal dan akan di eksekusi pada percobaan berikutnya

9. Eksekusi prog03.sh

a24

Analisis: Gambar di atas merupakan hasil dari eksekusi shell script prog03.sh. nama pengguna aktif berisi variabel NAMA yaitu hasil eksekusi dari perintah whoami. Kemudian Hari ini tanggal akan diikuti dengan variabel tanggal dengan isi hasil dari instruksi date.

 

Percobaan 4: Parameter

1. Membuat shell script prog04.sh

a25
a26

Analisis: Gambar di atas merupakan perintah untuk membaca parameter. Perintah $ vi prog04.sh berfungsi untuk membuat shell script prog04.sh. script berikut:
# prog04.sh versi 1
# Parameter passing
#
echo “Nama program adalah $0”
echo “Parameter 1 adalah $1”
echo “Parameter 2 adalah $2”
echo “Parameter 3 adalah $3”
merupakan contoh dari pembuatan parameter dengan 4 buah parameter $0 hingga $3 dan akan di eksekusi pada percobaan berikutnya.

2. Eksekusi prog04.sh tanpa parameter, dengan 2 parameter, dengan 4 parameter

a27

Analisis: Gambar di atas merupakan perintah membaca parameter. Apabila prog04.sh hanya di eksekusi tanpa diikuti dengan parameter maka akan menampilkan nama program dengan $0 adalah bash sedangkan parameter 1 2 dan 3 tidak akan berisi parameter. Eksekusi prog04.sh kedua dan ketiga diikuti dengan beberapa parameter. Pertama hanya ada dua parameter yaitu amir dan hasan maka parameter yang akan diisi hanya parameter 1 dan 2. Sedangkan selanjutnya diiktui dengan 4 buah parameter. Sehingga nama tanid tidak akan dimasukan kedalam parameter secara berurutan.

3. Membuat shell script prog04.sh versi 2 dengan memberikan jumlah parameter

a28
a29

Analisis: Gambar di atas merupakan perintah memodifikasi shell script pada program parameter prog04.sh. pada texr editor vi diisikan script berikut:
#!/bin/sh
# prog04.sh versi 2
# Parameter passing
#
echo “Jumlah parameter yang diberikan adalah $#”
echo “Nama program adalah $0”
echo “Parameter 1 adalah $1”
echo “Parameter 2 adalah $2”
echo “Parameter 3 adalah $3”
sehingga parameter yang diberikan didefiniskan dengan simbol $#, dan akan dieksekusi pada percobaan berikutnya.

4. Eksekusi prog04.sh tanpa parameter dan dengan 4 parameter

a30

Analisis: Gambar di atas merupakan perintah membaca parameter. Eksekusi pertama prog04.sh tidak diisi dengan parameter maka $# akan menampilkan 0, sedangkan eksekusi porg04.sh diikuti dengan amir coba lagi dihitung sebagai 4 parameter, dan tampil dengan jumlah parameternya ditampilkan.

5. Membuat shell script prog04.sh versi 3 dengan menambahkan total parameter dan nomor proses id (PID)

a31
a32

Analisis: Gambar di atas merupakan perintah membaca parameter. Pada prog04.sh versi ini diberikan dengan nomor proses id yang didefiniskan dengan $$. Sedangkan untuk menampilkan seluruh parameter yang diinputkan menggunakan instruksi $*, dan akan di eksekusi pada percobaanberikutnya.

6. Eksekusi prog04.sh dengan 4 parameter

a33

Analisis: Gambar di atas merupakan perintah membaca parameter. Total parameter adalah hasil untuk menampilkan amir hasan badu ali yang di coba lagi dari instruksi $*. Sedangakn PID proses shell ini adalah 9072 dengan instruksi $$, dan menampilkan program sebelumnya dengan menampilkan juga no PID yang digunakan.

 

Percobaan 5: Status Exit

1. String tidak diketemukan, maka status exit adalah 1

a34

Analisis: Gambar di atas merupakan perintah status exit. Apabila string yang tidak ditemukan pada instruksi grep seperti diatas, akan ditampilkan status exit dengan perintah echo $? adalah 1, artinya tidak ditemukan.

2. String diketemukan, maka status exit adalah 0

a35

Analisis: Gambar di atas merupakan perintah status exit. Pada contoh diatas ini string
prince46 ditemukan dalam directory /etc/passwd maka apabila echo $?
dipanggil akan menampilkan status exit 0, dan artinya string ditemukan.

 

Percobaan 6: Konstruksi if

1. Instruksi dengan exit status 0

a36

Analisis: Gambar di atas merupakan perintah konstruksi if. Masih merupakan bahasan status exit dari string prince46 dari instruksi who, maka status exitnya adalah 0 dan tampil dengan menampilkan hasil yang berkaitan dengan perintah who.

2. If membandingkan exit status dengan 0, bila sama, maka blok program masuk ke dalam blok then-fi

a37

Analisis: Gambar di atas merupakan perintah konstruksi if. Perintah if ini adalah untuk membandingkan status exit dengan 0, bila sama, maka program masuk ke dalam blok then if yaitu Pemakai tersebut sedang aktif, karena perintah sebelumnya user prince46 sedang aktif hasilnya 0, apabila dengan if $? = 1 artinya user tidak aktif.

3. Nomor (1) dan (2) diatas dapat disederhanakan dengan

a38

Analisis: Gambar di atas merupakan perintah konstruksi if. Pada percobaan ini merupakan penyederhanaan dari nomor 1 dan 2. Dengan instruksi if who dengan grep
prince46 akan dibelokan ke /dev/null maka apabila perintahnya berstatus exit 0 akan ditampilkan okay.

 

Percobaan 7: Konstruksi if then else

1. Membuat shell script prog05.sh

a39
a40

Analisis: Gambar di atas merupakan perintah konstruksi if then else. Perintah vi prog05.sh digunakan untuk membuat shell script prog05.sh. isi dari program ini yaitu lanjutan dari percobaan sebelumnya tentang memberi konfirmasi apakah user sedang aktif atau tidak.
Konsturksi if then else ini digunakan pada script shell prog05.sh grep dari variabel $nama akan dibelokan ke /dev/null. Kemudian then apabila aktif atau else jika nama tidak aktif dan ditutup dengan fi dan akan di eksekusi pada percobaan berikutnya.

2. Jalankan prog05.sh, masukkan nama pemakai yang aktif yang tampil pada instruksi who dan coba juga untuk nama pemakai yang tidak aktif

a41

Analisis: Gambar di atas merupakan perintah menampilkan konstruksi if then else. Perintah who ini menampilkan user aktif yaitu prince46 dan user yang tidak aktif yaitu student. Jika prog05.sh diisi dengan prince46, maka akan ditampilkan prince46 sebagai variabel nama yaitu prince46 sedang aktif. Sedangkan jika prog05.sh diisi dengan nama pemakai studentos maka instruksi ini dinyatakan tidak aktif karena user yang aktif adalah prince46.

 

Percobaan 8: Instruksi Test

1. Menggunakan instruksi test, perhatikan spasi antara

a42

Analisis: Gambar di atas merupakan perintah instruksi test. Variabel NAMA diisi dengan amir. Kemudian untuk memanggil variabel NAMA dengan perintah test dengan $NAMA didefiniskan amir maka status exit bernilai 0. Sedangkan apabila berisi boris status exit berisi 1 artinya nama boris belum diinputkan, maka apabila dipanggil nama boris tidak ditemukan.

2. Aplikasi test dengan konstruksi if

a43
a44

Analisis: Gambar di atas merupakan perintah instruksi test. Perintah vi prog06.sh berfungsi untuk membuat program dengan script shell berikut:
#! /bin/sh
# prog06.sh
echo –n “NAMA = “
read NAMA
if test “$NAMA” = amir
then
echo “Selamat Datang $NAMA”
else
echo “Anda bukan amir, sorry!”
fi
Sama halnya dengan point sebelumnya, yaitu aplikasi test, namun pada shell script prog06.sh. Variabel nama didefinisikan sebagai amir. Dengan perintah if apabila variabel nama berisi amir maka akan ditampilkan Selamat datang amir sedangkan apabila bukan (else) maka akan ditampilkan Anda bukan amir, sorry!! script fi untuk mengakhiri program.

3. Jalankan program prog06.sh dengan memasukkan NAMA = amir dan NAMA = <CR> perhatikan hasil tampilannya

a45

Analisis: Gambar di atas merupakan perintah instruksi test. Perintah ini merupakan eksekusi dari prog06.sh apabila nama diisi dengan amir maka seperti pada perintah 1 yaitu Selamat datang amir, sedangkan pada contoh kedua variabel nama diisi dengan <CR> maka ditampilkan pesan error karena tidak ada di direktori.

4. Modifikasi prog06.sh dengan menggunakan notasi untuk test

a46
a47

Analisis: Gambar di atas merupakan perintah instruksi test. Sama halnya dengan point 2 namun pada modifikasi ini perintah test diganti dengan perintah [ ], dan akan di eksekusi pada percobaan berikutnya

5. Jalankan program prog06.sh dengan memasukkan NAMA = amir

a48

Analisis: Gambar di atas merupakan perintah instruksi test. Meskipun perintah if didefiniskan dengan perintah [] tapi hasil eksekusi prog06.sh akan menampilkan hasil yang sama dengan perintah test sebelumnya.

 

Percobaan 9: Notasi && dan ||

1. Bila file prog01.sh ada (TRUE), maka jalankan program berikutnya. File prog01.sh ada, karena itu exit status adalah TRUE, hasil operasi AND masih tergantung pada hasil eksekusi instruksi ke 2, dan dengan demikian instruksi echo akan dijalankan

a49

Analisis: Gambar diatas merupakan perintah notasi && dan ||. Bila file prog01.sh ada (TRUE), maka jalankan program berikutnya. File prog01.sh ada, karena itu exit status adalah TRUE, hasil operasi AND masih tergantung pada hasil eksekusi instruksi ke 2, dan dengan demikian instruksi echo akan dijalankan.

2. File prog99.sh tidak ada, karena itu exit status adalah FALSE dan instruksi echo tidak dijalankan

a50

Analisis: Gambar di atas merupakan perintah notasi && dan ||. File prog99.sh tidak ada, karena itu exit status adalah FALSE dan instruksi echo tidak dijalankan.

3. Bila prog01.sh ada maka jalankan shell script tersebut

a51

Analisis: Gambar di atas merupakan peritnah notasi && dan ||. Pada perintah ini adalah untuk menjalankan shell script dari prog01.sh. sama halnya dengan fungsi instrusi dari . prog01.sh.

4. Bila prog01.sh ada maka jalankan program berikutnya. File prog01.sh memang ada, karena itu exit status adalah TRUE, dan karena sudah TRUE maka instruksi echo tidak lagi dijalankan

a52

Analisis: Gambar di atas merupakan perintah notasi && dan ||. Bila prog01.sh ada maka jalankan program berikutnya. File prog01.sh memang ada, karena itu exit status adalah TRUE, dank arena sudah TRUE maka instruksi echo tidak lagi dijalankan.

5. File prog99.sh tidak ada, karena itu exit status adalah FALSE, hasil tergantung atas exit status instruksi ke dua, karena itu instruksi echo dijalankan

a53

Analisis: Gambar di atas merupakan perintah notasi && dan ||. File prog99.sh tidak ada,
karena itu exit status adalah FALSE, hasil masih tergantung atas exit status instruksi ke dua, karena itu instruksi echo dijalankan (dieksekusi).

6. File prog99.sh tidak ada, maka tampilkan pesan error

a54

Analisis: Gambar di atas merupakan perintah notasi && dan ||. File prog99.sh tidak ada,
maka tampilkan pesan error seperti perintah di atas.

Percobaan 10: Operator bilangan bulat untuk test

 

1. Menggunakan operator dengan notasi test

a55

Analisis: Gambar di atas merupakan perintah operator bilangan bulat untuk test. Variabel
i berisi 5 maka dengan notasi test, variabel i –eq (sama dengan) 5 dan apabila dijalankan instruksi echo $? status exit bernilai 0 karena i memang berisi dengan nilai 5.

2. Menggunakan operator dengan notas [] (pengganti notasi test)

a56

Analisis: Gambar di atas merupakan perintah operator bilangan bulat untuk test. Sama halnya dengan yang nomer 1, namun diganti dengan notasi [ ] maka status exit tetap akan bernilai 0.

 

Percobaan 11: Operator Logical dan konstruksi elif

1. Buatlah file prog07.sh

a57
a58

Analisis: Gambar di atas merupakan perintah operator logika dan konstruksi elif. Perintah
$ vi prog07.sh berfungsi untuk membuat Shell script prog07.sh yang berisi perintah if dengan variabel income. Ada 3 perintah yaitu BIAYA=10 BIAYA=25 dan BIAYA=35 dan akan dieksekusi pada berikutnya.

2. Jalankan file prog07.sh dan masukkan untuk INCOME=5000,20000,28000

a59

Analisis: Gambar di atas merupakan perintah operator logika dan konstruksi elif. Apabila
variabel income diisi dengan INCOME antara 0 sampai dengan 10000 maka biaya yang akan ditampilkan adalah 10, sedangkan apabila income berisi nilai antara 10000 sampai dengan 25000 maka biaya yang akan ditampilkan adalah 25 dan jika INCOME berisi lebih dari 25000 maka ditampilkan BIAYA 35 dan tampil seperti gambar di atas.

 

Percobaan 12: Hitungan aritmatika

1. Menggunakan utilitas expr

a60

Analisis: Gambar di atas merupakan perintah hitungan aritmatika. Untuk perhitungan
aritmatika dapat menggunakan utilitas expr. Untuk simbol dari penjumlahan adalah +, pengurangan -, namun untuk perkalian bukan menggunakan perintah * tetapi expr dari perkalian adalah \* dan untuk pembagian menggunakan / dan % digunakan untuk expr mod atau sisa hasil bagi dan tampil seperti gambar di atas.

2. Substitusi isi variable dengan hasil utilitas expr

a61

Analisis: Gambar di atas merupakan perintah hitungan aritmatika. Variabel A diisi dengan 5 kemudian variabel 5 berisi subtitusi dari perintah expr $A + 1 maka apabila variabel B dipanggil akan berisi hasil dari aritmatika tersebut.

 

Percobaan 13: Instruksi exit

1. Buat shell script prog08.sh

a62
a63

Analisis: Gambar di atas merupakan perintah instruksi exit. Shell script prog08.sh ini
berisi instruksi if untuk notasi [ ] prog01.sh berisi instruksi exit dan akan
dieksekusi pada percobaan berikutnya.

2. Jalankan script prog08.sh dan periksa status exit

a64

Analisis: Gambar di atas merupakan perintah instruksi exit. Apabila prog08.sh dieksekusi dengan . prog08.sh kemudian status exit di tampilkan akan menampilkan nilai 0 dan tampil seperti gambar di atas.

 

Percobaan 14: Konstruksi case –esac

1. Buatlah file prog09.sh dengan editor vi

a65
a66

Analisis: Gambar di atas merupakan perintah Konstruksi Case-Esac. Dengan variabel pemilihan PILIH melalui keyboard. Format penulisan case ini pertama diawali dengan case kemudian variabel pilih diikuti dengan in. Kemudian definiskan untuk nomor 1 hingga 3 setiap nomor ditutup dengan simbol ;;. Untuk pemilihan terakhir apabila memilih selain nomor 1 2 3 digunkan perintah *). Kemudian ditutup dengan esac dan akan dieksekusi pada percobaan berikutnya

2. Jalankan program prog09.sh, cobalah beberapa kali dengan inputan yang berbeda

a67

Analisis: Gambar di atas merupakan perintah Konstruksi Case-Esac. Apabila memilih nomor 1 maka akan ditampilkan siapa user yang sedang aktif, sedangkan apabila memilih nomor 2 akan ditampilkan tanggal hari ini, apabila memilih nomer 3 akan tampil kalender bulan inid an apabila memilih selai nomor 1 2 atau 3 maka akan ditampilkan echo Salah pilih !!. Kemudian ditutup dengan esac.

3. Buatlah file prog10.sh yang merupakan bentuk lain dari case

a68
a69

Analisis: Gambar di atas merupakan perintah Konstruksi Case-Esac. Shell script prog10.sh ini merupakan bentuk lain dari perintah case. Variabel JWB dapat dijawab dengan perintah y/Y/ya?Ya/YA untuk y, sedangkan untuk JWB=t dapat ditulis dengan t/T/tidak/Tidak/TIDAK dan akan dieksekusi pada percobaan berikutnya.

4. Jalankan program prog10.sh cobalah beberapa kali dengan inputan yang berbeda

a70

Analisis: Gambar di atas merupakan perintah Konstruksi Case-Esac. Ini merupakan eksekusi dari prog10.sh. saya menggunakan 3 buah contoh untuk nilai JWB yaitu y, T dan YA.

5. Modifikasi file prog10.sh yang merupakan bentuk lain dari case

a71
a72

Analisis: Gambar di atas merupakan perintah Konstruksi Case-Esac. Selain pada percobaan 14 nomer 3 diatas, perintah case untuk jawaban juga dapat ditulis seperti diatas. Berarti y dapat ditulis huruf kecil atau besar, kemudian untuk “ya” bisa y nya bisa huruf besar/kecil begitupula dengan a nya. Sama halnya dengan ya tidak juga demikian dan akan dieksekusi pada berikutnya.

6. Jalankan program prog10.sh cobalah beberapa kali dengan inputan yang berbeda

a73

Analisis: Gambar di atas merupakan eksekusi dari program shell script prog10.sh untuk beragam tipe inputan y atau t

 

Percobaan 15: Konstruksi for-do-done

1. Buatlah file prog11.sh

a74
a75

Analisis: Gambar di atas merupakan perintah konstruksi for-do-done. Shell script ini berisi
konstruksi for-do-done dimana for untuk variabel nama, ada bambang harry kadir amir. Kemudian dijalankan dengan perintah do dan ditutup dengan done dan akan dieksekusi pada percobaan berikutnya.

2. Jalankan program prog11.sh

a76

Analisis: Gambar di atas merupakan perintah konstruksi for-do-done. Apabila prog11.sh
ini dijalankan perintah echo akan ditampilkan untuk setiap NAMA karena menggunakan pengulangan for dan tampil seperti tampilan di atas.

3. Buatlah file prog12.sh yang berisi konstruksi for dan wildcard, program ini akan menampikan nama file yagn berada di current direktori

a77
a78

Analisis: Gambar di atas merupakan perintah konstruksi for-do-done. Shell script prog12.sh ini berisi konstrusi for dan wild card. Program ini akan menampilkan nama file yang berada pada current directory dan akan dieksekusi pada percobaan berikutnya

4. Jalankan program prog12.sh

a79

Analisis: Gambar di atas merupakan perintah konstruksi for-do-done. Apabila prog12.sh
ini dijalankan maka seluruh nama directory pada current directory akan ditampilkan seperti pada gambar di atas

5. Modifiksai file prog12.sh, program ini akan menampikan long list dari file yang mempunyai ekstensi lst

a80
a81

Analisis: Gambar di atas merupakan perintah yaitu konstruksi for-do-done. Modifikasi
prog12.sh ini akan menampilkan long list dari file yang mempunyai ekstensi file .lst dan akan dieksekusi pada percobaan berikutnya

6. Jalankan program prog12.sh

a82

Analisis: Gambar di atas merupakan perintah konstruksi for-do-done. Ditemukan file/direktori dengan ekstensi .lst pada current directory ini sebanyak 4 buah file

 

Percobaan 16: Konstruksi while-do-done

1. Buatlah file prog13.sh

a83
a84

Analisis: Gambar di atas merupakan perintah yaitu konstruksi while-do-done. Program
shell script untuk prog13.sh ini berisi perintah pengulangan serta terdapat 4 pilihan. Variabelnya adalah PILIH –ne 4 dan akan dieksekusi pada percobaan berikutnya.

2. Jalankan program prog13.sh

a85

Analisis: Gambar di atas merupakan perintah konstruksi while-do-done. Ketika prog13.sh
ini dijalankan apabila memilih nomor 1 2 atau 3 maka akan diulangi atau ditampilkan lagi pilihan tersebut karena perintahnya tidak berisi. Sedangkan apabila memilih nomor 4 maka pengulangan akan berhenti kemudian tampil tulisan dan tampil seperti gambar.

 

Percobaan 17: Instruksi dummy

1. Modifikasi file prog13.sh

a86
a87

Analisis: Gambar di atas merupakan perintah yaitu instruksi dummy. Modifikasi ini terlihat pada penulisan while : sebelumnya ditambahkan dengan notasi [ $PILIH –ne 4] sedangkan pada prog14.sh sekarang tidak ada dan akan dieksekusi pada percobaan berikutnya

2. Jalankan program prog13.sh

a88

Analisis: Gambar di atas merupakan perintah instruksi dummy. Hasil dari eksekusi modifikasi prog13.sh ini akan sama dengan perintah sebelumnya yaitu pada percobaan 17 dan tampil seperti gambar.

3. Buatlah file prog14.sh yang berisi instruksi dummy untuk konstruksi if

a89
a90

Analisis: Gambar di atas merupakan perintah instruksi dummy. Masih pada shell script, pada program prog14.sh ini berisi instruksi dummy untuk konstruksi if. Variabel A dinyatakan dengan nilai –ne 100. Then echo OK dan akan dieksekusi pada percobaan berikutnya

4. Jalankan program prog14.sh beberapa kali dengan input yang berbeda

a91

Analisis: Gambar di atas merupakan perintah instruksi dummy. Apabila dijalankan jika nilai yang dimasukan masih kurang dari 100 maka ditampilkan OK !, sedangkan apabila nilai lebih dari 100 maka tidak akan ada pesan OK !

 

Percobaan 18: Fungsi

1. Buatlah file fungsi.sh

a92
a93

Analisis: Gambar di atas merupakan perintah fungsi. File fungsi.sh pada shell script ini berisi perintah fungsi untuk return 1 dan status exit setalah menjalankan fungsi dan akan dieksekusi pada percobaan berikutnya

2. Jalankan program fungsi.sh

a94

Analisis: Gambar di atas merupakan perintah fungsi. File fungsi.sh ini apabila dijalankan akan berstatus exit 1 karena bernilai false dan tampil seperti gambar.

3. Menggunakan variable pada fungsi dengan memodifikasi file fungsi.sh

a95
a96

Analisis: Gambar di atas merupakan perintah fungsi. Modifikasi file fungsi.sh ini hanya ditambah variabel Honor dengan 10000 dan echo Nilai balik adalah $? dan akan dieksekusi pada percobaan berikutnya

4. Jalankan program fungsi.sh

a97

Analisis: Gambar di atas merupakan perintah yaitu fungsi. Tidak ada perbedaan fungsi dalam file.sh hasil modifikasi ini hanya penambahan nilai dari variabel Honor saja dan tampil seperti gambar.

5. Menggunakan variable pada fungsi dengan memodifikasi file fungsi.sh

a98
a99

Analisis: Gambar di atas merupakan perintah yaitu fungsi. Percobaan ini juga masih merupakan modifikasi dari file fungsi.sh dengan penambahan local sebelum pendefinisian variabel Honor=10000 dan akan dieksekusi pada percobaan berikutnya

6. Jalankan program fungsi.sh

a100

Analisis: Gambar di atas merupakan perintah fungsi. Dan untuk hasilnya pun tidak ada perubahan dari modifikasi file fungsi.sh sebelumnya. Sama saja dengan percobaan 18 nomer 3 dan tampil seperti gambar.

 

LATIHAN:

1. Buatlah program salin.sh yang menyalin file (copy) sebagai berikut:
salin.sh file-asal file-tujuan

a101
a102

Dengan ketentuan:
• Bila file asa tidak ada, berikan pesan, salin gagal

a103

• Bila file tujuan ada dan file tersebut adalah directory, beri pesan bahwa file tidak bisa disalin ke direktori

a104

• Bila file tujuan ada danf file biasa, beri pesan apakah file tersebut akan dihapus, bila dijawab dengan “Y”, maka copy file tersebut

a105

• Bila file tujuan belum ada, lakukan copy untuk mengambil nama file, gunakan parameter $1 dan $2. Bila jumlah parameter tidak sama ($#) dengan 2, maka beri pesan exit = -1

a106

Analisis: Program di atas dibuat menggunakan konstuktor if then else if dimana:
a. Pada if pertama akan menampilkan pesan gagal berupa Salin gagal! jika kondisi (fileasal tidak ada) sesuai.
b. Pada if kudua akan menampilkan pesan gagal berupa File tidak bisa dicopy! Jika kondisi (file tujuan ada dan file tersebut adalah direktrori) sesuai.
c. Pada if ketiga akan menampilkan pesan gagal berupa Apakah file akan dihapus? jika kondisi pada if sesuai.
d. Pada if keempat akan menyalin file jika kondisi (file tujuan belum ada) sesuai.

2. Buat program yang memeriksa nama direktori, jika parameter tersebut adalah direktori, maka jalankan instruksi ls –ld pada direktori tersebut. Namakan program tersebut checkdir.sh. Gunakan notasi [ -d NamaDirektori ] dan pilih logical && atau || pada level shell

a107
a108

Analisis: Gambar di atas merupakan program memeriksa nama direktori. Seperti yang terjadi pada latihan no. 1 tadi. Ketika dijalankan, program checkdir.sh ini tidak menemukan directory yang di cari sehingga secara otomatis akan di “closed” atau exit dan tampil seperti gambar di atas.

3. Dengan shell script pph.sh, hitung PPH per tahun dengan ketentuan sebagai berikut:
• 10 juta pertama PPH 15%
• 25 juta berikutnya (sisa) PPH 25%
• Bila masih ada sisa, maka sisa tersebut PPH 35%
• Contoh :
Gaji 8 juta
PPH = 15% * 8 juta
Gaji 12 juta
PPH = 15% * 10 juta + 25% * (12-10) juta
Gaji 60 juta
PPH = 15% * 10 juta + 25% *25% + 25% * (60-10-25) juta
Debugging: untuk melakukan tracing (debug) gunakan opsi –x pada eksekusi shell

a109
a110
a111
a12
a113
a114

Analisis: Gambar di atas merupakan shell script pph.sh, menghitung PPH per tahun dengan ketentuan 10 juta pertama PPH 15%, 25 juta berikutnya (sisa) PPH 25%, bila masih ada sisa, maka sisa tersebut PPH 35%. Untuk membuat sebuah file pph.sh gunakan perintah vi pph.sh. masuk ke shell dan buat sebuah perintah dalam vi pph.sh dengan memasukan perintah yang ada pada gambar di atas. Gunakan tombol Esc ‘:’ dan wq untuk keluar dari shell dan menyimpan. Kemudian jalankan pph.sh dengan perintah bash pph.sh dan untuk debugging untuk melakukan tracing (debug) gunakan opsi –x pada eksekusi shell, maka hasilnya tampil seperti gambar di atas.

4. Buatlah program myprog.sh yang memproses parameter $1, nilai parameter harus berupa string:
start
stop
status
restart
reload
Bila buka dari string tersebut, maka berikan pesan error. Sempurnakan program di bawah ini untuk keperluan tersebut

a115
a116
a117

Analisis: Gambar di atas merupakan tahapan membuat program myprog.sh yang memproses parameter $1, nilai parameter harus berupa string start, stop, status, restart, dan reload. Isi dari file myprog.sh dengan perintah untuk melakukan seleksi terhadap inputan yang dimasukan. Jika inputan yang dimasukan start, stop, status, restart, atau reload maka akan muncul output seperti gambar di atas dan jika tidak, akan muncul informasi kesalahan dan tampil seperti gambar di atas.

5. Buat sebuah fungsi pada script confirm.sh yang memberikan konfirmasi jawaban yes, no atau continue. Jika jawaban yes, maka beri nilai balik 0, no =1 dan continue = 2. Modifikasi kerangka program berikut untuk memenuhi permintaan tersebut
Test fungsi diatas dengan program berikut:
Perhatikan baris pertama, adalah loading dari fungsi confirm yang terdapat di script confirm.sh. Setelah eksekusi script tersebut, maka fungsi confirm dapat digunakan

a118
a119
a120
a121
a122
a123

Analisis: Gambar di atas merupakan latihan nomer 5 yaitu membuat sebuah fungsi pada script confirm.sh yang memberikan konfirmasi jawaban Yes, No atau Continue. Jika jawaban Yes, maka beri nilai balik 0, No = 1 dan continue = 2 serta memodifikasi program tersebut. Pada perintah yang terdapat di modul tidak bias dijalankan, sehingga digunakan modifikasi terhadap isi perintah. Lalu digunakan perintah elif seperti yang terlihat pada gambar di atas, dan ketika dijalankan hasilnya akan tampil seperti di atas dengan output tulisan “Jawaban YES OK”.

 

KESIMPULAN:

Kesimpulan yang saya dapat setelah mengikuti praktikum ini adalah:

• Pemrograman Shell adalah menyusun atau mengelompokkan beberapa perintah shell (internal atupun eksternal command) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan penyusunnya.
• Kelebihan shell di linux dibanding sistem operasi lain adalah bahwa shell di linux memungkinkan kita untuk menyusun serangkaian perintah seperti halnya bahasa pemrograman (interpreter language), melakukan proses I/O, menyeleksi kondisi, looping, membuat fungsi, dsb. Jadi dengan shell di linux kita dapat membuat program seperti halnya bahasa pemrograman, untuk pemrograman shell pemakai unix atau linux menyebutnya sebagai shell script.
• Shell script adalah kumpulan beberapa command yang ditulis pada text file yang nantinya akan diexecute oleh shell.
• Beberapa shell yang ada di linux antara lain:
o Bourne shell(sh),
o C shell(csh),
o Korn shell(ksh),
o Bourne again shell(bash)

 

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

[lockercat]

[/lockercat]

rt

Sistem Operasi – Bekerja Dengan Bash Shell (Praktikum)

Tujuan Praktikum:

  • Memahami shell pada sistem operasi Linux.
  • Menggunakan feature history pada Bash Shell.
  • Mengubah feature history pada Bash Shell.
  • Mengubah prompt shell.
  • Melakukan konfigurasi Bash Shell untuk menjalankan skrip secara otomatis.
  • Membuat dan mengeksekusi shell script sederhana melalui editor vi.
  • Memahami job control.
  • Memahami stack.
  • Menggunakan alias.

 

BEKERJA DENGAN BASH SHELL

 

Tugas Pendahuluan:

Jawablah pertanyaan-pertanyaan di bawah ini:

1. Apa yang dimaksud dengan shell dan sebutkan shell yang ada di system operasi linux

2. Apa yang dimaksud dengan profile pada Bash Shell

3. Apa yang anda ketahui mengenai file .bashrc.

4. Apa yang dimaksud dengan history pada Bash Shell. Apa kegunaan perintah history, sebutkan cara-cara untuk mengetahui history peritah-perintah yang pernah digunakan oleh user!

5. Cobalah menggunakan editor vi untuk mengetik dan pahami perintah-perintah yang ada seperti yang terdapat pada dasar teori (untuk dilakukan, tidak perlu dijawab sebagai tugas pendahuluan). Perintah-perintah yang penting : insert huruf(kalimat),delete (per huruf, per katadan per baris), simpan file dan keluar dari editor vi.

JAWABAN:

1. Shell adalah Command executive, artinya program yang menunggu intruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan prompt #.
Beberapa macam shell:
• /bin/sh : Bourno shell, dirancang oleh Steve Bourne dari AT&T
• /bin/csh : Dikembangkan oleh UNIX Beerkeley yang dikenal dengan C -Shell
• /bin/bash : Kompatibel dengan Bourne Shell dan juga mengadaptasi kemampuan Kom-Shell.

2. Profile pada bash shell merupakan profil untuk setiap pemakai pada home directory.

3. File .bashrc adalah file yang akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui intruksi su

4. History yaitu catatan dari semua intruksi yang sejauh ini telah dilakukan. History memudahkan pemakai untuk mengedit kembali instruksi kompleks dan panjang, terutama bila terjadi kesalahan pada penulisan instruksi maupun parameter
• ^P (Ctrl -P) melihat instruksi
• ^N (Ctrl -N) melihat instruksi berikutnya
• !! eksekusi kembali instruksi sebelumnya
• !! -3 3 instruksi sebelumnya akan diulang
• !!88 ulangi instruksi no 88

LAPORAN RESMI

1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan latihan diatas dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini

Jawaban: Analisa Hasil Percobaan

1. Percobaan 1 : Profile

• File .bash_profile dijalankan pada home direktori pemakai yang login. File .bash_profile adalah hidden file, sehingga untuk melihatnya gunakan opsi a pada instruksi ls

1

Analisa : Tampilan diatas merupakan hasil dari melihat file yang terdapat di home directory pemakai yang sedang login. Jika diperhatikan banyak terdapat file yang berbeda dan pada proses more .profile yaitu menampilakan sebuah informasi tentang peraturan yang berhubungan dengan .profile dimana terdapat pesan running bash dan private bin. Di dalam praktikum bagian ini kita menjumpai adanya pesan file not found pada saat mengakses .bash_profile, hal ini terjadi karena di sistem operasi linux distro redhat (fedora, dll) dan debian (debian, ubuntu, dll) tidak menyertakan file ini dalam system data mereka dan mengalihkan segala informasi tentang management user ke file .profile

• File .bash_logout akan dieksekusi sesaat sebelum logout, berfungsi sebagai house clearing jobs, artinya membersihkan semuanya, misalnya menghapus temporary file atau job lainnya.

2

Analisa: Tampilan diatas merupakan tampilan pada saat file .bash_logout akan dieksekusi sesaat sebelum logout, berfungsi untuk membersihkan job yang terdapat di terminal tersebut

2. Percobaan 2 : Menggunakan Feature History Bash

• Bash shell menyimpan “history” perintah yang digunakan sebelumnya. Anda dapat mengakses history dalam beberapa cara. Cara paling mudah adalah menggunakan Panah Atas. Maka perintah sebelumnya akan ditampilkan

3

Analisa: Dengan menggunakan panah atas maka pengguna akan lebih cepat untuk mengakses perintah yang sebelumnya sudah pernah dieksekusi dan mepersingkat waktu komputasi

• Berikutnya, berikan Bash shell beberapa perintah untuk diingat. Masukkan perintah berikut dan tekan enter pada setiap baris

4
5

Analisa: Tampilan diatas menampilkan jumlah file dan root yang sedang aktif. Dan menampilkan beberapa tipe file yang sudah menjadi executable, kemudian menampilkan pemakai yang sedang login dan terdapat waktu dan tanggal pada saat login.

• Untuk memeriksa apakah perintah ini ditambahkan pada history, dapat menggunakan perintah history untuk melihat semua perintah yang pernah dimasukkan

6
7

Analisa: Tampilan diatas merupakan hasil dari proses melihat isi history yang pernah diinputkan atau dimasukkan sebelumnya. Pada perintah history ini sangat membantu untuk melihat apa-apa saja yang pernah pemakai masukkan pada terminal. Dan menggunakan perintah untuk memilih dan mengeksekusi dengan nomor history.

• Anda dapat memilih perintah sebelumnya dengan menggunakan Panah Atas, tetapi hal ini tidak efisien untuk perintah yang semakin bertambah banyak. Cara yang mudah menggunakan nomor pada perintah history atau mencarinya. Untuk memilih dan mengeksekusi perintah dengan nomor, masukkan kunci! Diikuti nomor perintah

8

Analisa: Perintah ini digunakan untuk menampilkan perintah yang dipilih dan mengeksekusi perintah berdasarkan nomor yang diinputkan, masukkan keyword ! diikuti nomor perintah.

• Anda dapat mencari perintah dengan menyertakan perintah yang diinginkan. Misalnya !?etc?! akan menjalankan perintah ls –l /etc/ yang sebelumnya digunakan

9

Analisa: Perintah ini digunakan untuk mengeksekusi perintah yang pernah diinputkan dengan menyertakan keyword perintah yang diinginkan

• Kemudian gunakan perintah history, maka akan terlihat perintah ls –l /etc/yang kedua dan bukan !?etc?

10

Analisa: Yang terlihat ls –l /etc/ karena perintah ini mengandung keyword yang sesuai dengan kata kunci yang dimasukkan yaitu !?etc? pada daftar history

• Apabila string tidak ditemukan pada perintah history maka akan terdapat pesan error

11

Analisa: Terdapat pesan error karena kata kunci !?wombat99? tidak terdapat pada beberapa list yang dikandung dalam history karena sebelumnya kita tidak pernah mengeksekusi keyword tersebut

• Jia diketikkan !who maka yang dijalankan adalah perintah who. Tetapi bila anda ketikkan !whoa maka yang dijalankan adalah perintah whoami

12

Analisa: Keyword !who ada kesamaan dengan perintah keyword yang dicari yaitu who, dan keyword !whoa ada kesamaan dengan perintah keyword yang dicari yaitu whoami

• Anda bisa menggantikan string pada perintah history, terutama pada perintah yang panjang. Misalnya ketik cat /bin/bash | strings | grep shell | less dan tekan Enter. Maka akan menampilkan semua string pada file /bin/bash yang berisi kata “shell”. Untuk keluar tekan q. Jika ingin menampilkan kata “alias”, maka anda tidak perlu mengetik peritnah yang panjang lagi, tetapi cukup ketik ^shell^alias^ dan tekan Enter maka akan menggantikan kata “shell” dengan “alias”.

13
14
15
16
17

Analisa: cat /bin/bash | strings | grep shell | less akan menampilkan semua string pada file /bin/bash yang berisi kata “shell”. Jika ingin menampilkan kata “alias”, maka cukup ketik ^shell^alias^ dan perintah akan menggantikan kata “shell” dengan “alias”.

3. Percobaan 3 : Mengubah Feature History Bash

• Bash shell akan menyimpan perintah history meskipun telah log out dan log in kembali. File .bash_history menyimpan file history yang terdapat pada home directory

18

Analisa: Karena file .bash_history terdapat dalam direktori home maka jika kita ingin melihat file ini kita harus berpindah direktori aktif ke direktori home dengan cara mengetikkan perintah cd (change directory) untuk berpindah direktori

• Lihat beberapa baris pada file .bash_history dengan ketik tail .bash_history dan tekan Enter. File ini bukan file yang up to date.

19

Analisa: Perintah ini digunakan untuk menampilkan beberapa baris pada file .bash_history, file ini merekam perintah-perintah yang user masukkan namun hanya perintah-perintah yang berhubungan dengan management user dan system

• Ketik history dan tekan Enter. Maka akan terlihat baris terakhir adalah perintah history dan baris sebelumnya adalah tail .bash_history. Perintah history bersifat up to date, karena disimpan pada memory system.

20

Analisa: Perintah ini digunakan untuk menampilkan baris terakhir pada history dan perintah sebelum history dieksekusi adalah tail .bash_history. File history merekam semua perintah yang user eksekusi mulai dari perintah umum hingga perintah yang berhubungan dengan system

• Ketik perintah berikut

21

Analisa: Perintah diatas digunakan untuk memasukkan argument yang diketikkan user dalam hal ini kita mencontohkan mengetikkan kalimat “ini perintah saya” dan dilanjutkan dengan menampilkan kalimat yang diketikkan tadi di layar

• Log out dan log in kembali sebagai user yang sama. Ketik history dan tekan Enter. Maka perintah echo ‘ini perintah saya’ akan berada pada baris terakhir. Lihat file .bash_history, maka perintah tersebut akan terdapat pada file .bash_history

22
23
24
25

Analisa: Perintah diatas merupakan perintah untuk menampilkan isi history baik melalui perintah history maupun perintah .bash_history, perbedaannya hanya terdapat pada management yang ditangani kedua file tersebut. Pada history mencakup semua keyword yang dimasukkan user namun pada .bash_history hanya keyword yang berhubungan dengan management user dan management system

• Ketik history|less untuk melihat perintah history terakhir pada screen. Tekan spacebar untuk melihat file lebih banyak. Untuk keluar tekan q

26
27

Analisa: Perintah di atas digunakan untuk melihat perintah history terakhir pada screen. Kita dapat menekan spacebar untuk melihat file lebih banyak dan menekan q untuk keluar

• Untuk melihat berapa banyak perintah history yang ada pada file ketik perintah berikut dan output yang keluar serupa di bawah ini

28

Analisa: Perintah di atas untuk melihat berapa banyak perintah yang sudah di tampung history yang ada pada file .bash_history, pada contoh diatas banyaknya perintah yang sudah ditampung sebanyak 596 keyword

• Output menunjukkan bahwa 1000 perintah history disimpan pada file history. Untuk melihat jangkauan (limit) perintah history digunakan variable HISTSIZE. Untuk melihat jangkauan history ketik perintah sebagai berikut

29

Analisa: Perintah di atas digunakan untuk melihat jangkauan dari perintah history yang dapat disimpan dan ternyata jangkauan jumlah perintah yang dapat disimpan oleh history yaitu 1000 perintah (default pada umumnya)

• Bila ingin memperbesar jangkauan file history, maka ubahlah variable HISTSIZE pada skrip startup yang disebut .bashrc pada home directory

30

Analisa: Perintah di atas digunakan untuk memperbesar jangkauan file history yaitu dari 1000 (default) menjadi 5000 (custom). Setelah mengetikkan perintah di atas user perlu log out dan log in kembali agar variabel HISTSIZE berubah.

• Log out dan log in kembali sebagai user yang sama. Lihat perubahan variabel HISTSIZE.

31
32
33

Analisa: Setelah logout dan login kembali jumlah jangkauan perintah yang dapat disimpan history bertambah menjadi 5000

• Ketikkan perintah history beberapa kali, maka perintah ini akan disimpan pada BASH history meskipun yang diketikkan perintahnya sama.

34
35

Analisa: Perintah history apabila diketikkan berulang kali sebanyak apapun maka di file .bash_history hanya akan bernilai 1 perintah dan tidak disimpan dalam beberapa baris yang berbeda

• Anda dapat melakukan konfigurasi BASH agar tidak menambah perintah ke history jika perintah yang diketikkan sama dengan sebelumnya. Hal ini dilakukan dengan menambahkan variabel HISTCONTROL dan diberikan nilai ignoredups pada file .bashrc

36

Analisa: Perintah di atas merupakan tampilan konfigursi bash agar tidak menambah perintah ke history jika perintah yang di ketikan sama dengan yang sebelumnya

• Log out dan log in kembali sabagai user yang sama. Ketikkan history beberapa kali dan perhatikan berapa kali history muncul

37

Analisa: Perintah history apabila diketikkan berulang kali sebanyak apapun maka di file .bash_history hanya akan bernilai 1 perintah dan tidak disimpan dalam beberapa baris yang berbeda sehingga jumlah baris perintah yang sudah ditampung adalah sama

 

4. Percobaan 4 : Mengubah Prompt Shell

• Prompt Bash shell dikonfigurasi dengan men-setting nilai variabel PS1. Selain menampilkan string static sebagi prompt, anda dapat menampilkan menjadi dinamis. Contohnya, apabila ingin menunjukkan current directory atau current time. Ketik PS1=’\t:’ dan tekan Enter untuk menampilkan waktu system dalam format 24 jam sebagai prompt Bash. Format dalam HH:MM:SS

39

Analisa: Perintah di atas digunakan untuk menampilkan waktu system dalam format 24 jam, dalam contoh diatas waktu yang ditampilkan adalah jam 12 menit 36 dan detik 17

• Untuk menampilkan format 12 jam dengan indikator am dan pm

39

Analisa: Perintah di atas digunakan untuk menampilkan waktu system dalam format 12 jam, dalam contoh diatas waktu yang ditampilkan adalah jam 12 menit 39 dan detik 20

• Kebanyakan orang menginginkan prompt Bash menampilkan current working directory. Directory dapat ditampilkan dalam bentuk keseluruhan path atau hanya nama directory. Karakter \w menampilkan hanya nama directory. Jika current directory adalah home directory, maka tampilan prompt ~:

40

Analisa: Perintah di atas digunakan untuk menampilkan direktori namun hanya nama directory-nya saja, tidak beserta nama localhost dan user yang sedang aktif

• Ketik cd /usr/sbin untuk melihat prompt /usr/sbin:

41

Analisa: perintah di atas digunakan untuk berpindah direktori dari direktori ~ menuju direktori /usr/sbin namun dalam bentuk prompt karena user sedang aktif sebagai ~

• Ketik PS1=’\W:’ untuk melihat prompt sbin:

42

Analisa: Perintah di atas digunakan untuk melihat prompt sbin dimana user sedang aktfi sebagai ~

• Ada beberapa prompt BASH lain yang dapat diubah, yaitu PS2, PS3 dan PS4. Prompt PS2 digunakan sebagai prompt sekunder. Untuk melihat bagaimana penggunaanya, ketik echo ‘Hello (tanpa diakhiri penutup quote) dan tekan Enter. Simbol lebih besar dari (>) akan muncul. Hal ini memberitahukan bahwa BASH menunggu anda menyelesaikan perintah. Ketik penutup quote (‘) dan tekan Enter. Perintah ini akan menyelesaikan prompt PS2, kata “Hello,” muncul diikuti dengan prompt PS1 pada baris baru.

43

Analisa: Perintah di atas digunakan untuk memasukkan kata Hello melalui beberapa prompt BASH yaitu PS2 dan PS1 yang sedang berada di prompt direktori /usr/sbin

• Anda dapat mengubah prompt PS2 seperti mengubah prompt PS1.

44

Analisa: Perintah di atas digunakan untuk memasukkan argument melalui metode prompt BASH PS2, dalam contoh diatas argument yang dimasukkan melalui prompt BASH PS2 adalah ‘Selesai memasukkan perintah Anda:’

• Kemudian ketik echo ‘Hello (tanpa diakhiri penutup quote) dan tekan Enter. Pada baris berikutnya akan muncul Selesai memasukkan perintah Anda: Kemudian ketikkan penutup quote (‘) dan tekan Enter. Jika perintah selesai, maka kata Hello akan muncul diikuti prompt PS1 pada baris baru

45

Analisa: Perintah di atas digunakan untuk memasukkan kata Hello melalui beberapa metode prompt BASH yaitu PS2 dan PS1 dimana kita sedang aktif di direktori /usr/sbin dan aktif sebagai ~

• Prompt BASH dapat ditampilkan berwarna dengan melakukan setting color-setting string. Sebagai contoh, prompt BASH di set dengan \w\$, akan menampilkan current working directory yang diikuti $ (atau # jika anda login sebagai root). Untuk setting warna menjadi biru ketikkan berikut:

46

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna biru, namun keyword yang kita ketikkan tetap berwarna putih

• Untuk mendapatkan prompt warna merah ketikkan berikut:

47

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna merah, namun keyword yang kita ketikkan tetap berwarna putih

• Bila mengingnkan beberapa warna, ketikkan perintah berikut:

48

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna kolaborasi yaitu warna merah dan warna hijau, namun keyword yang kita ketikkan tetap berwarna putih

• Anda bisa menampilkan atribut visual seperti lebih terang, berkedip dan warna kebalikannya. Untuk menampilkan prompt yang lebih terang, atribut control diganti 1, seperti perintah berikut:

49

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna biru yang lebih terang dan warna hijau yang lebih terang, namun keyword yang kita ketikkan tetap berwarna putih

• Untuk menampilkan prompt dengan warna berkebalikan, atribut control diganti 7, seperti perintah berikut:

50

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna biru pada warna latarnya dan warna transparan pada warna hurufnya, namun keyword yang kita ketikkan tetap berwarna putih

• Untuk menampilkan prompt berkedip, atribut control diganti 5, seperti perintah berikut:

51

Analisa: Perintah di atas digunakan untuk mengubah tampilan warna pada prompt BASH menjadi warna kolaborasi yaitu warna biru dan warna hijau, namun keyword yang kita ketikkan tetap berwarna putih

 

5. Percobaan 5 : Menambahkan otomatisasi ke Prompt Shell

• Pastikan anda berada di home directory

52

Analisa: Perintah di atas digunakan untuk mengubah direktori aktif ke home direktori dari ~

• Buatlah skrip sederhana untuk mengurut daftar file. Anda dapat menggunakan teks editor, tetapi karena hanya satu baris, gunakan perintah echo untuk membuat file

53

Analisa: Perintah di atas digunakan untuk mengurutkan daftar file dan perintah echo untuk membuat file

• Buatlah file skrip diatas menjadi file executable

54

Analisa: Perintah di atas digunakan untuk mengubah file skrip menjadi file executable

• Jalankan program sorter diatas setiap shell Bash menampilkan prompt PS1. Untuk melakukannya, buatlah variabel PROMPT_COMMAND dimana nilainya adalah nama dari program sorter.

55

Analisa: Perintah di atas digunakan untuk mengurutkan daftar file list, namun perintah menjadi error dikarenakan kita belum membuat file atau direktori bernama list

• Ketikkan echo ‘John Smith:13001’>>list dan tekan Enter. jika file list tidak ada, akan dibuat secara otomatis, tetapi jika sudah ada, string ‘John Smith:13001’ akan ditambahkan

56

Analisa: perintah di atas digunakan untuk membuat file bernama list dan memasukkan argument ‘John Smith:13001 di dalamnya

• Ketik cat list dan tekan Enter. Maka anda akan melihat isi file list. Pada saat ini, file mungkin mempunyai hanya satu baris sehingga tidak dapat dilihat apakah file sudah terurut.

57

Analisa: Perintah di atas digunakan melihat isi file list yang isinya John Smith:13001

• Masukkan beberapa perintah serupa dengan point 5 tetapi dengan nama dan nomor yang berbeda. Kemudian ketik cat list dan tekan Enter.

58

Analisa: Perintah di atas digunakan untuk memasukkan beberapa argument ke dalam file list dengan tambahan perintah cat list untuk melihat isi file list yang sudah ditambahkan beberapa argument sebelumnya

• Apabila anda tidak menginginkan Shell Bash menampilkan file terurut sepanjang waktu, anda tidak perlu menambahkan variabel PROMPT_COMMAND=~/sorter pada file konfigurasi seperti .bashrc. Bila anda ingin BASH berhenti menjalankan program sorter, maka ketikkan variabel PROMPT_COMMAND= dan tekan Enter atau log out dan login kembali.

59

Analisa: Perintah di atas digunakan agar BASH berhenti menjalankan program sorter

6. Percobaan 6: Membuat Bash-Script dan menjalankannya

• Membuat file p1.sh

60
61

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

• Mengubah program menjadi executable

62

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

• Menjalankan script

63

Analisa: Perintah di atas digunakan untuk mengeksekusi file p1.sh yang sudah menjadi file executable, ada banyak cara mengeksekusi file executable yaitu diantaranya: bash p1.sh, sh p1.sh, .p1.sh dan ./p1.sh

• Konvensi dalam pembuatan script shell dinyatakan sebagai #! /bin/bash. Tambahkan pada file p1.sh konvensi tersebut

64
65

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

• Buatlah file p2.sh

66
67

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

• Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan tanda ;

68

Analisa: Perintah di atas digunakan untuk melihat isi file p1.sh dan p2.sh sekaligus yang dipisahkan dengan tanda ; (semicolon) , tanda ini digunakan untuk melakukan eksekusi banyak perintah sekaligus (multitasking). Setelah itu kita mengeksekusi script dari file p1.sh dan p2.sh secara bersamaan

 

7. Percobaan 7 : Job Control

• Proses foreground

69

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

• Proses background

70

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

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

71

Analisa: Perintah di atas digunakan untuk melihat jobs atau pekerjaan yang sedang aktif. Pada contoh di atas jobs yang sedang aktif adalah pembelokan daftar proses di latar depan ke dalam file bernama hasil

• Buatlah file plop.sh. file ini tidak akan pernah berhenti kecuali ditekan Ctrl-C

72
73

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

• Buatlah file ploop.sh menjadi executable. Jalankan program, akan ditampilkan kata Hallo setiap 10 detik. Untuk keluar program, tekan Ctrl-C (^C)

74
75

Analisa: Perintah di atas digunakan untuk mengubah file ploop.sh menjadi file executable sehingga file script tersebut nantinya dapat dieksekusi melalui bash dengan perintah ./ploop.sh

 

8. Percobaan 8 : Manipulasi Stack untuk Direktori

• Instruksi dirs digunakan untuk melihat stack direktori, pada output h ditampilkan direktori home ~

76

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

• Membuat 3 buah direktori

77

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

 

9. Percobaan 9 : Alias

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

78

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

• Membuat beberapa alias

79

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

• Gunakan instruksi hasil alias

80

Analisa: Perintah di atas digunakan untuk menguji apakah alias yang sudah kita buat sebelumnya dapat berjalan ataukah tidak, pada contoh di atas kita ingin menghapus file hasil yang terdapat di direktori home. Kita cukup mengetikkan del hasil yang artinya menghapus file hasil dengan alias del. Kemudian kita menguji juga apakah alias h berjalan atau tidak, dimana alias h adalah perintah yang digunakan untuk menampilkan history dan ternyata kedua alias yang sudah kita buat sebelumnya dapat berjalan sukses

• Untuk menghapus alias gunakan instruksi unalias

81

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

 

Jawaban : Latihan dan Analisa

1. Eksekusi seluruh profile yang ada:
a. Edit file profile /etc/profile dan tampilkan pesan sebagai berikut:

82

Analisa: Perintah di atas digunakan untuk menampilkan pesan ‘profile dari /etc/profile’ menggunakan keyword echo

b. Asumsi nama anda student, maka edit semua profile yang ada yaitu:

83

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

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

84
85

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

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

86

Analisa: Perintah-perintah tersebut digunakan untuk mengedit file profile dan mengasumsikan home dengan nama kita sendiri serta menyisipkan suatu perintah dengan echo pada perintah nano di setiap file profilenya dan menampilkan hasil dari sisipan yang dilakukan.

 

2. Jalankan instruksi substitute user, kemudian keluar dengan perintah exit sebagai berikut:

87

Kemudian gunakan opsi – sebagai berikut:

88

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

Jelaskan perbedaan kedua utilitas tersebut

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

 

3. Logout

a. Edit file .bash_logout, tampilkan pesan dan tahan selama 5 detik, sebelum eksekusi logout

89

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

b. Edit file .bash_logout, tampilkan pesan dan tahan selama 4 detik, sebelum eksekusi logout

90

Analisa: Perintah-perintah tersebut merupakan perintah yang berfungsi untuk melakukan edit pada file bash_logut, digunakan perintah “nano”. Setelah itu maka akan muncul tampilan shell yang digunakan untuk mengedit file tersebut. User hanya memasukan string yang ber tuliskan. ”Terima kasih atas sesi yang telah diberikan”. Setelah itu dilakukan edit pada bagian metode penampilan script tersebut setelah user melakukan logout. Sesi pertama adalah dilakukan sleep 5 detik, sesi kedua dilakukan sleep 4 detik kemudian clear. Hasil akhir ketika user memasukan perintah exit, progam akan menampilkan string yang telah dipasangkan tadi.

 

4. History

a. Ganti nilai HISTSIZE dari 1000 menjadi 20

91

Analisa: Perintah-perintah tersebut digunakan untuk mengganti nilai HISTSIZE dari 1000 menjadi 20 dan melakukan pembelokkan ganda nilai HISTSIZE 20 ke file bernama .bashrc

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

92

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

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

93

Analisa: Perintah di atas digunakan untuk mengulangi instruksi yang terakhir dilakukan yaitu echo ‘HISTSIZE=20’ >>.bashrc

d. Ulangi instruksi pada history buffer nomor tertentu, misalnya nomor 150

94

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

e. Ulangi instruksi dengan prefix “ls”

95

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

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

 

5. Prompt String (PS)

a. Edit file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan dengan parameter nama variabel tersebut, agar perubahan variabel PS1 dikenal oleh semua shell

96

Analisa: Perintah di atas digunakan untuk mengeksport prompt PS1 dimana instruksi export memerlukan parameter nama variabel yaitu export PS1 agar perubahan variabel PS1 dikenal oleh semua shell

Eksperimen hasil PS1:

97

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

b. Ubahlah warna shell prompt dengan warna biru dan berkedip

98

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

6. Bash Script
a. Buat 3 buah script p1.sh, p2.sh, p3.sh dengan isi masing-masing:
p1.sh

99
100

Analisa: Perintah di atas digunakan untuk membuat script p1.sh melalui teks editor nano yang nantinya akan menampikan kata “Program p1” kemudian menampilkan daftar file yang ada di direktori aktif

p2.sh

101
102

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

p3.sh

103
104

Analisa: Perintah di atas digunakan untuk membuat script p3.sh melalui teks editor nano yang nantinya akan menampikan kata “Program p3” kemudian menampilkan daftar proses yang sedang berjalan di latar depan

b. Jalankan Script tersebut sebagai berikut dan perhatikan hasilnya:

105

Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file p1.sh yang akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat dieksekusi. Perintah untuk mengubah file p1.sh menjadi file executable adalah chmod +x p1.sh

106

Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file p2.sh yang akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat dieksekusi. Perintah untuk mengubah file p2.sh menjadi file executable adalah chmod +x p2.sh

107

Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file p3.sh yang akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat dieksekusi. Perintah untuk mengubah file p3.sh menjadi file executable adalah chmod +x p3.sh

108
109
110

Analisa: Perintah-perintah di atas adalah perintah-perintah yang digunakan untuk mengeksekusi sebuah file script secara bersamaan yang dipisahkan menggunakan tanda semicolon (;). Urutan eksekusi di atas dimulai dari file p1.sh kemudian p3.sh dan terakhir p2.sh dan menampikan hasil eksekusi ketiganya ke layar

111

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

112

Analisa: Perintah di atas digunakan untuk mengeksekusi ketiga file script secara bersamaan yaitu file p1.sh dieksekusi terlebih dahulu pada shell kemudian dilanjutkan dengan mengeksekusi file p2.sh pada latar belakang dan dilanjutkan dengan mengeksekusi file p3.sh pada latar belakang juga dan menampikan hasil output ketiganya ke layar

113
114

Analisa: Perintah di atas digunakan untuk mengeksekusi file p1.sh dan p2.sh secara bersamaan di latar belakang dan ketika user mengetikkan keyword Program p1 maka akan menampilkan hasil output berupa daftar file pada direktori aktif

7. Jobs
a. Buat shell-script yang melakukan loop dengan nama pwaktu.sh, setiap 10 detik, kemudian menyimpan tanggal dan jam pada file hasil

115
116

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

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

117

Analisa: Perintah-perintah di atas digunakan sebelum kita mengeksekusi file pwaktu.sh yang akan kita rubah terlebih dahulu menjadi file executable agar nantinya file ini dapat dieksekusi. Perintah untuk mengubah file pwaktu.sh menjadi file executable adalah chmod +x pwaktu.sh

118
119

Analisa: Perintah di atas digunakan untuk mengeksekusi file script pwaktu.sh di latar belakang dan melihat isi file hasil yang isinya berupa date (tanggal dan waktu sekarang). Kemudian kita mengetikkan perintah jobs untuk melihat pekerjaan yang sedang berjalan yaitu pengeksekusian file script pwaktu.sh di latar belakang. Setelah itu kita menggunakan keyword find untuk mencari dan menampikan isi baris 2 dari file bernama files yang dieksekusi di latar belakang. Kemudian yang terakhir kita kembali mengetikkan perintah jobs untuk melihat pekerjaan yang sedang berjalan yaitu pengeksekusian file script pwaktu.sh di latar belakang dan pengeksekusian utilitas find yang dilakukan di latar belakang juga

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

120

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

d. Stop program background dengan utilitas kill

121
122

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

 

Kesimpulan:

• Shell adalah Command executive, artinya program yang menunggu intruksi dari pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan prompt $ dan untuk superuser menggunakan prompt #
• Profile pada bash shell merupakan profil untuk setiap pemakai pada home directory
• File .bashrc adalah file yang akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui intruksi su
• History yaitu catatan dari semua intruksi yang sejauh ini telah dilakukan. History memudahkan pemakai untuk mengedit kembali instruksi kompleks dan panjang, terutama bila terjadi kesalahan pada penulisan instruksi maupun parameter
• Perintah shell dapat dieksekusi asalkan dirubah terlebih dahulu menjadi file executable
• Cara eksekusi file shell yaitu bash, sh, ., dan ./
• Syntax di linux dapat dibuat alias command
• Masa berlaku background proses sampai komputer restart atau shutdown
• Apabila komputer hanya di logout maka background proses masih tetap berjalan

 

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

[lockercat]

[/lockercat]

1

Sistem Operasi – Operasi File dan Struktur Direktori (Praktikum)

Tujuan Praktikum:

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

 

OPERASI FILE DAN STRUKTUR DIREKTORI

 

TUGAS PENDAHULUAN:

1. Apa yang dimaksud dengan perintah-perintah directory : pwd, cd, mkdir, rmdir ?

  • Pwd digunakan untuk melihat direktori yang sedang aktif.
  • Cd digunakan untuk berpindah dari satu direktori ke direktori yang lain.
  • Mkdir digunakan untuk membuat satu dan sub direktori.
  • Rmdir digunakan untuk menghapus direktori apabila direktori tersebut kosong.

2. Apa yang dimaksud dengan perintah-perintah manipulasi file : cp, mv, dan rm (serta format yang digunakannya) ?

  • Cp digunakan untuk mengkopi file atau seluruh direktori.
    • Formatnya:
      $ cp contohcopy contohcopy1
      $ ls -l
  • Mv digunakan untuk memindah file.
    • Formatnya:
      $ mv pindahcontoh /etc/pindahcontoh
      $ ls -l
  • Rm digunakan untuk menghapus file.
    • Formatnya:
      $ rm contoh2
      $ ls -l

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 lainnya symbolic link dapat dibentuk melalui media disk atau partisi yang berbeda dengan soft link, tetapi pada hard link terbatas pada partisi disk yang sama.

4. Apa yang dimaksud dengan perintah-perintah : file, find, which, locate, dan grep ?

  • File digunakan untuk melihat dan mencari data pada directory.
  • Find digunakan untuk melihat file pada pohon directory.
  • Which digunakan untuk mengetahui letak system utility.
  • Locate digunakan untuk mencari file pada semua directory dengan lebih cepat dan ditampilkan dengan path yang penuh.
  • Grep (general regular expression print) digunakan untuk mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan baris yang sesuai.

 

LAPORAN RESMI

1. Analisa hasil percobaan yang anda lakukan

  1. Analisa setiap hasil tampilannya
  2. Pada percobaan 1 point 3 buatlah pohon dari struktur file dan direktori
  3. Bila terdapat pesan error, jelaskan penyebabnya

2. Kerjakan latihan diatas dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini

 

PERCOBAAN:

1. Percobaan 1 : Directory

  • Melihat direktori HOME
    1
    Analisanya :
    Pada percobaan ini kita mencoba untuk melihat direktori home dengan perintah pwd yaitu untuk melihat direktori yang sedang aktif.
  • Melihat direktori aktual dan parent direktori
    2
    Analisanya :
    Pada percobaan ini kita mencoba perintah untuk melihat actual directory dan parental directory, dgn menggunakan perintah cd yang berfungsi untuk berpindah dan pwd yang berfungsi untuk melihat direktori yang sedang aktif.
  • Membuat satu direktori, lebih dari satu direktori atau sub direktori
    3
    Analisanya :
    pada percobaan ini kita mencoba untuk membuat satu dan sub direktori, membuat suatu direktori kita gunakan perintah mkdir, dan disini kita membuat direktori dan sub direktorinya, lalu ditampilkan segala informasinya dengan menggunakan perintah ls, dan didalam direktori A terdapat sb direktori D dan E.
  • Pada percobaan 1 point 3 ini buatlah pohon dari struktur file dan direktori
4

pohon dari struktur file dan direktori yang ingin dibuat

 

Hasilnya:

5
  • Menghapus satu atau lebih direktori hanya dapat dilakukan pada direktori kosong dan hanya dapat dihapus oleh pemiliknya kecuali bila diberikan ijin aksesnya
6

Analisanya :
Pada percobaan ini kita mencoba untuk menghapus direktori dengan menggunakan perintah rmdir, tapi pada rmdir B terdapat pesan eror, itu karena direktori B tidak kosong dan kita tidak memiliki ijin akses. kita diperbolehkan menghapus direktori apabila direktori tersebut kosong dan kita memiliki ijin akses terhadap direktori tersebut.

  • Navigasi direktori dengan instruksi cd untuk pindah dari satu direktori ke direktori lain
7

Analisanya:
pada percobaan ini kita mencoba untuk berpindah dari satu direktori ke direktori yang lain dengan menggunakan perintah cd.

 

2. Percobaan 2 : Manipulasi file

  • Perintah cp untuk mengkopi file atau seluruh direktori
    8
    Analisanya :
    Percobaan ini adalah percobaan untuk mengkopi file, jadi kita buat dulu sebuah file, lalu file tersebut dikopi dan ditampilkan seluruh informasinya menggunakan perintah ls -l.
  • Perintah mv untuk memindah file
    9
    Analisanya :
    Percobaan ini adalah percobaan untuk memindah file menggunakan perintah mv, jadi kita pindah dulu filenya dan ganti dengan nama lain, lalu dilihat informasinya pada home, dan begitu seterusnya, jadi setiap setelah melakukan pemindahan itu dilihat informasinya dengan perintah ls -l.
  • Perintah rm untuk menghapus file
    10
    Analisanya :
    Percobaan ini adalah percobaan untuk menghapus file dengan menggunakan perintah rm, jadi kita hapus file dengan nama contoh2 itu, lalu kita hapus file contoh, namun terdapat eror karena file tersebut tidak ada di dalam home, dan ketika dilihat dengan perintah ls yang ada hanyalah file contoh1.

 

3. Percobaan 3 : Symbolic Link

  • Membuat shortcut (file link)
    11
    12
    Analisanya :
    Percobaan ini adalah percobaan untuk membuat shortcut pada file dengan menggunakan perintah ln, jadi kita membuat file dengan nama halo.txt yang berisi hallo apa kabar, lalu dilihat pada home, apa saja direktori yang sedang aktif, dan salah satunya adalah halo.txt itu, lalu kita membuat direktori dengan nama mydir, lalu melihat isi direktori mydir yaitu file halo.txt dan membuat link.

4. Percobaan 4 : Melihat Isi File

13

Analisanya :
Percobaan ini adalah percobaan untuk melihat isi file yang ada. Jadi, disini kita gunakan perintah ls -l yang berfungsi untuk melihat semua yang informasi keseluruhan yang ada didalam home. dan kemudian melihat informasi tentang file halo.txt dan bye.txt.

 

5. Percobaan 5 : Mencari File

  • Perintah find
    14
    Analisanya :
    Peritah find digunakan untuk mencari letak file sesuai dengan ekstensi inputan. Untuk kasus diatas file yang dicari adalah jenis file dengan ekstensi .txt
  • Perintah which
    15
    Analisanya :
    Perintah diatas untuk mencari direktori mana yang terdapat ls. Which digunakan untuk mengetahui letak system utility.
  • Perintah locate
    16
    17
    Analisanya :
    Locate digunakan untuk mencari file pada semua directory dengan lebih cepat dan ditampilkan dengan path yang penuh.

 

6. Percobaan 6 : Mencari text pada file

18

Analisanya :
Perintah grep digunakan untuk melihat dimana saja isi file yang dituliskan berada. Dan juga Grep (general regular expression print) digunakan untuk mencari file yang bernama sesuai pattern yang diberikan dan akan menampilkan baris yang sesuai.

 

LATIHAN:

1. Cobalah urutan perintah berikut:
$ cd
$ pwd
$ ls -al
$ cd
$ pwd
$ cd ..
$ pwd
$ ls -al
$ cd ..
$ pwd
$ ls -al
$ cd /etc
$ ls –al | more
$ cat passwd
$ cd –
$ pwd

19
20
21
22

Analisanya:
Pada bagian ini kita mencoba untuk mengurutkan perintah dimana perintah utamanya terdiri dari cd, pwd, ls dan cat. Cd (change directory) adalalah perintah yang digunakan untuk berpindah direktori, pwd adalah perintah yang digunakan untuk melihat direktori yang sedang aktif, ls adalah perintah yang digunakan untuk melihat daftar file atau direktori yang berada di direktori aktif dan cat adalah perintah yang digunakan untuk membuka dokumen maupun menampilkan tipe suatu argument misalnya tipe dari suatu argument adalah direktori

2. Lanjutkan penelusuran pohon pada sistem file menggunakan cd, ls, pwd dan cat. Telusuri direktori /bin, /usr/bin, /sbin, /tmp dan /boot

23
24
25
26
27
28

Analisanya :
Cd (Change directory) digunakan untuk masuk ke dalam direktori, ls digunakan untuk menampilkan isi dari direktori tersebut, pwd digunakan untuk melihat direktori yang aktif dan cat digunakan untuk menampilkan tipe suatu argument misalnya tipe dari suatu argument adalah direktori. Untuk perintah dan hasil ada pada gambar di atas untuk masing-masing direktori.

3. Telusuri direktori /dev. Identifikasi perangkat yang tersedia. Identifikasi tty (terminal) anda (ketik who am i); siapa pemilik tty anda (gunakan ls –l)

29
30

Analisanya:
perintah pertama digunakan untuk masuk ke direktori /dev kemudian untuk melihat user yang sedang aktif pada direktori /dev kita menggunakan perintah who am i dan untuk
menampilkan/memunculkan semua isi direktori /dev serta pemilik tty user kita menggunakan perintah ls –l

4. Telusuri direktori /proc. Tampilkan isi file interrupts, devices, cpuinfo, meminfo dan uptime menggunakan perintah cat. Dapatkah anda melihat mengapa direktori /proc disebut pseudo-filesystem yang memungkinkan akses ke struktur data kernel?

31
32
33
34
35
36

Analisanya :
Dapat, karena Perintah diatas dapat menampilkan semua informasi proses inti sistem operasi secara lengkap yang dapat kita sebut juga sebagai pseudo-filesystem. Dimana pseudo-filesystem memungkinkan akses ke struktur data kernel yang ada di linux dan bagian ini adalah bagian yang langsung bersentuhan dengan perangkat keras

5. Ubahlah direktori home ke user lain secara langsung menggunakan cd ~username

37
38

Analisanya:
Pada bagian ini kita ingin mengubah direktori home ke user lain secara langsung menggunakan cd ~username, tetapi karena kita belum memiliki user lain selain prince46 maka kita harus membuat user baru terlebih dahulu menggunakan perintah adduser jihan (menambahkan user baru bernama jihan) yang dilakukan dalam mode root. Setelah user baru dibuat barulah kita dapat mengubah direktori home (/home/prince46) ke user lain (/home/jihan) secara langsung dengan menggunakan perintah cd ~jihan. Untuk melihat direktori yang sedang aktif kita menggunakan perintah pwd.

6. Ubah kembali ke direktori home anda

39

Analisanya:
Pada bagian ini kita masih aktif di direktori /home/jihan, untuk mengubah kembali ke direktori home asal kita maka perintah yang digunakan hanyalah cd (change directory) dan untuk mengecek direktori yang sedang aktif kita gunakan perintah pwd.

7. Buat subdirektori work dan play

40

Analisanya:
Pada bagian ini kita membuat subdirektori bernama work dan play yang artinya menambahkan direktori work dan direktori play di dalam direktori /home/prince46

8. Hapus subdirektori work

41

Analisanya:
Pada bagian ini kita menghapus subdirektori bernama work yang artinya menghilangkan direktori work di dalam direktori /home/prince46

9. Copy file /etc/passwd ke direktori home anda

42

Analisanya:
Pada bagian ini kita mengcopy file passwd di direktori /etc/ ke direktori home saya yaitu /home/prince46 kemudian kita menampilkan daftar file yang ada di direktori home prince46 dengan perintah ls dan melihat apakah file yang dicopy sudah ada

10. Pindahkan ke subdirektori play

43

Analisanya:
Pada bagian ini kita memindahkan file passwd ke subdirektori bernama play dengan metode cp (copy) bukan mv (move) yang artinya menggandakan file passwd dari direktori home ke subdirektori play, hal ini saya lakukan untuk membackup file passwd yang ada dan menghindari hilangnya data akibat kegagalan percobaan

11. Ubahlah ke subdirektori play dan buat symbolic link dengan nama terminal yang menunjuk ke perangkat tty. Apa yang terjadi jika melakukan hard link ke perangkat tty?

44

Analisanya:
Pada bagian ini kita berada di subdirektori play dan membuat symbolic link dengan nama terminal yang menunjuk ke perangkat tty dengan menggunakan perintah ln –s terminal dan melihat isi direktori aktif dengan perintah ls. Yang terjadi jika melakukan hard link ke perangkat tty adalah kedua file akan muncul identic (link count=2), bila file asli atau file duplikat diubah maka perubahan akan terjadi pada file lainnya.

12. Buatlah file bernama hello.txt yang berisi kata “hello word”. Dapatkah anda gunakan “cp” menggunakan “terminal” sebagai file asal untuk menghasilkan efek yang sama?

45

Analisanya:
Dapat, pada bagian ini kita menggunakan perintah cp helo.txt terminal yang artinya mengcopy isi file helo.txt ke terminal yang kita lakukan di direktori /home/prince46 hal ini akan berbeda jika kita melakukannya di suatu subdirektori karena perbedaan banyaknya level dari symbolic links

13. Copy hello.txt ke terminal. Apa yang terjadi?

46

Analisanya:
Pada bagian ini saya sudah menyediakan file helo.txt di subdirektori play kemudian saya mengcopy file helo.txt ke terminal yang ada di subdirektori play ini, yang tejadi adalah perintah cp gagal untuk mengakses terminal dikarenakan terlalu banyak level dari symbolic links yang diakses

14. Masih direktori home, copy keseluruhan direktori play ke direktori bernama work menggunakan symbolic link

47
48

Analisanya :
Pada bagian ini kita membuat subdirektori work terlebih dahulu karena sebelumnya pada latihan nomor 8 kita sudah menghapusnya kemudian kita mengcopy keseluruhan direktori play ke direktori bernama work menggunakan symbolic link dengan perintah ln play/ work/isi.txt namun yang terjadi adalah hard link yang kita lakukan tidak dapat diterapkan pada direktori sehingga kita hanya dapat menggunakan perintah cp untuk melakukan hard link terhadap direktori dimana perintah yang digunakan adalah cp –r play/ work/list.txt setelah itu kita melihat isi subdirektori work/list.txt dengan perintah ls work/list.txt untuk memastikan apakah isinya sudah sama dengan isi yang ada di subdirektori play.

15. Hapus subdirektori work dan isinya dengan satu perintah

49

Analisanya:
Pada bagian ini kita menghapus subdirektori work beserta isinya dengan menggunakan satu perintah yaitu rm –rf work dan mengecek di direktori home kita apakah subdirektori work sudah terhapus atau belum dengan cara melihat isi dari direktori home dengan menggunakan perintah ls

 

KESIMPULAN :

Sistem file pada Linux menyerupai tree (pohon) yang dimulai dari root kemudian direktori dan subdirektori. Terdapat dua sistem symbolic link yaitu hardlink dan softlink. Pada sistem operasi Linux ini, kita dapat mengatur atau memanipulasi struktur file dan direktori yang ada pada sistem sesuai dengan kebutuhan.

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

r

Sistem Operasi – Operasi Input Output (Praktikum)

Tujuan Praktikum:

  • 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

 

TUGAS PENDAHULUAN :

Jawablah pertanyaan dibawah ini :

  1. Apa yang dimaksud dengan redirection ?
  2. Apa yang dimaksud dengan pipeline ?
  3. Apa yang dimaksud dengan yang dibawah ini :
    Echo, cat, more, sort, grep, wc, cut, uniq

 

JAWABAN :

  1. Redirection adalah pembelokan yang dilakukan untuk standar input, output, dan error. Serta untuk mengalihkan file descriptor.
  2. Pipeline adalah suatu mekanisme pipa yang digunakan sebagai alat komunikasi antar proses.
  3. Yang dimaksud dengan :
    1. Echo digunakan untuk menampilkan output ke layar.
    2. Cat digunakan untuk menghasilkan output ke layar dan merupakan berasasl dari input sebuah keyboard.
    3. More merupakan perintah yang digunakan untuk mem-paging halaman.
    4. Sort digunakan untuk mengurutkan masukkannya berdasarkan urutan nomor ASCII dari karakter
    5. Grep digunakan untuk menyaring masukkannya dan menampilkan baris-baris yang hanya mengandung pola yang ditentukan.
    6. Wc digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang diberikan kepadanya.
    7. Cut digunakan untuk mengambil kolom tertentu dari baris-baris masukkannya, yang ditentukan pada option –c.
    8. Uniq digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi , biasanya digabungkan dalam pipeline dengan sort.

LAPORAN RESMI

  1. Analisa hasil percobaan 1 sampai dengan 4, untuk setiap perintah jelaskan tampilannya
  2. Kerjakan Latihan dan analisa hasilnya
  3. Berikan kesimpulan dari praktikum ini

 

Jawaban

  1. Analisa
  • Percobaan 1 (File Descriptor)
    • Output ke layar (Standar output), input dari system (kernel)
      1
    • Output ke layar (Standar output), input dari keyboard (Standar input)
      2
    • Input nama direktori, output tidak ada (membuat direktori baru), bila terjadi error maka tampilan error akan muncul pada layar (standar error)
      3
  • Pada percobaan ini kita menggunakan beberapa perintah diantaranya:
    • ($ps) perintah ini digunakan untuk memperlihatkan proses yang sedang berjalan pada sistem
    • ($cat) perintah yang digunakan untuk menghasilkan ouput ke layar dan merupakan berasal dari sebuah keyboard
    • ($mail arna@eepis-its.edu) perintah yang digunakan untuk menulis email dari keyboard pada terminal dan mengirimnya kealamat yang ditentukan
    • ($mkdir mydir) perintah yang digunakan untuk membuat direktori/folder dari consule terminal dengan nama direktorinya mydir.

 

  • Percobaan 2 (Pembelokan (redirection))
    • Pembelokan standar output
      4
    • Pembelokan standar input, yaitu input dibelokkan dari keyboard menjadi dari file
      5
    • Pembelokan standar error untuk disimpan di file
      6
    • Notasi 2>&1 : pembelokan standar error (2>) adalah identic dengan file descriptor 1.
      7
    • Notasi 1>&2 (atau >&2) : pembelokan standar output adalah sama dengan file descriptor 2 yaitu standar error
      8
    • Notasi >>(append)
      9
    • 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
      10
    • 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
      11
    • Untuk membelokkan standar output ke file, digunakan operator >
      12
    • Untuk menambahkan output ke file digunakan operator >>
      13
    • Untuk membelokkan standar input digunakan operator <
      14
    • Pembelokan standar input dan standar output dapat dikombinasikan tetapi tidak boleh menggunakan nama file yang sama sebagai standar input dan output
      15
      16

      17
  • Pada percobaan ini, kita menggunakan beberapa perintah diantaranya:
    • $ cat 1>myfile.txt perintah yang digunakan untuk membelokkan standar input kedalam satu file bernama myfile.txt
    • $ cat 0<myfile.txt perintah yang digunakan untuk membelokkan standar output yang sebelumnya yang telah di input.
    • $ cat mkdir mydir 2> myerror.txt perintah yang digunakan pembelokan standar output error yang simpan dalam file.
    • $ notasi 2>&1 perintah yang digunakan untuk pembelokkan standar error (2>) adalah identic dengan file descriptor 1.
    • $ notasi 2>&1 (atau >&2) perintah yang digunakan untuk pembelokan standar out adalah sama dengan file descriptor 2 yaitu standar error.

 

  • Percobaan 3 (Pipa (pipeline))
    • Operator pipa (|) digunakan untuk membuat eksekusi proses dengan melewati data langsung ke data lainnya.
      18
      19

      20
      21

      22
  • Pada percobaan ketiga ini kita menggunakan mekanisme pipeline yaitu suatu mekanisme pipa yang digunakan sebagai alat komunikasi antar proses

 

  • Percobaan 4 (Filter)
    • Pipa juga digunakan untuk mengkombinasikan utilitas system untuk membentuk fungsi yang lebih kompleks
      23
  • Pada percobaan ini, kita menggunakan beberapa perintah diantaranya:
    • Cat digunakan untuk menghasilkan output ke layar dan merupakan berasasl dari input sebuah keyboard.
    • Sort digunakan untuk mengurutkan masukkannya berdasarkan urutan nomor ASCII dari karakter.
    • Grep digunakan untuk menyaring masukkannya dan menampilkan baris-baris yang hanya mengandung pola yang ditentukan.
    • Wc digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang diberikan kepadanya.
    • Uniq digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi , biasanya digabungkan dalam pipeline dengan sort.

 

  1. Latihan
  • Lihat daftar secara lengkap pada direktori aktif, belokkan tampilan standar output ke file baru
    • Daftar lengkap pada Direktori aktif
      24
    • Isi file baru setelah pembelokan
      25
  • Pada bagian ini kita mengcopy daftar direktori aktif ke file baru yang bertujuan agar isi dari file baru adalah nama-nama file atau direktori yang ada di direkori aktif

 

  • Lihat daftar secara lengkap pada direktori /etc/passwd, belokkan tampilan standar output ke file baru tanpa menghapus file baru sebelumnya
    • Daftar lengkap pada Direktori /etc/passwd
      26
    • Isi file baru setelah pembelokan tanpa menghapus isi file baru sebelumnya
      27
  • Pada bagian ini kita mengcopy daftar direktori aktif pada alamat /etc/passwd ke file baru yang bertujuan agar isi dari file baru adalah nama-nama file atau direktori yang ada di direkori /etc/passwd dan tidak menghilangkan isi file pada bagian sebelumnya

 

  • Urutkan file baru dengan cara membelokkan standar input
    28
  • Pada bagian ini kita mengurutkan file baru dengan cara membelokkan standar input

 

  • Urutkan file baru dengan cara membelokkan standar input dan standar output ke file baru.urut
    29
  • Pada bagian ini kita mengurutkan file baru dengan cara membelokkan standar input dan standar output ke file baru.urut

 

  • Buatlah direktori latihan2 sebanyak 2 kali dan belokkan standar error ke file rmdirerror.txt
    30
  • Pada bagian ini kita membuat direktori latihan2 sebanyak 2 kali dan membelokkan standar error ke file rmdirerror.txt

 

  • Urutkan kalimat berikut:

Jakarta
bandung
Surabaya
padang
Palembang
lampung

Dengan menggunakan notasi here document (<@@@…@@@)

31
  • Pada bagian ini kita mengurutkan kalimat diatas dengan menggunakan notasi here document (<@@@…@@@)

 

  • Hitung jumlah baris, kata dan karakter dari file baru.urut dengan menggunakan filter dan tambahkan data tersebut ke file baru.
    • Isi file baru.urut
      32
    • Penghitungan jumlah baris, kata dan karakter dari file baru.urut dengan menggunakan filter dan menambahkan data tersebut ke file baru
      33
  • Pada bagian ini kita menghitung jumlah baris, kata dan karakter dari file baru.urut dengan menggunakan filter dan menambahkan data tersebut ke file baru

 

  • Gunakan perintah di bawah ini dan perhatikan hasilnya.

Cat > hello.txt

Dog cat

Cat duck

Dog chicken

Chicken duck

Chicken cat

Dog duck

[ctrl-d]

Cat hello.txt | sort | uniq

Cat hello.txt | grep “dog” | grep –v “cat”

 

  • Hasilnya adalah:
    34
  • Pada bagian ini kita membuat file hello.txt dan memasukkan beberapa kata di dalamnya kemudian kita mengurutkan isi file hello.txt berdasarkan ascending setelah itu kita menggunakan perintah grep untuk menampilkan baris-baris yang sesuai dengan kata “dog” dan kata yang kedua “cat” adalah dimana kata tersebut harus dicari dan tidak ditampilkan. Setelah itu layar akan menampilkan “dog chicken dan dog duck”.

 

  1. Kesimpulan

Kesimpulan dari praktikum ini adalah agar mahasiswa mampu memahami standar input, output dan error, menggunakan notasi input, append dan here document serta memahami konsep pipe dan filter.

  • Fungsi dari $ cat perintah untuk menampilkan text dari file yang dibuat.
  • Dalam operasi input output pada linux banyak menggunakan perintah/syntax yang mengandalkan CLI.
  • Simbol 0< digunakan untuk menampilkan(output), simbol >1 digunakan untuk menginputkan text pada file, dan simbol 2> digunakan untuk menginputkan pesan error ke dalaam file.
  • Grep digunakan untuk menampilkan baris-baris yang sesuai dengan yang didefinisikan oleh pengguna. Perintah grep membutuhkan minimal 2 inputan, yang pertama adalah kata yang akan dicari dan yang kedua adalah dimana kata tersebut harus dicari. Perintah grep dapat digunakan sendiri maupun digabungkan dengan perintah pipe.
  • Perintah pipe merupakan salah satu kelebihan yang dimiliki oleh linux, perintah ini digunakan untuk membuat sebuah keluaran dari suatu perintah menjadi input dari perintah lainnya.

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

1

Sistem Operasi – Pre Test (Praktikum)

Tujuan Praktikum:

  • Mampu menyebutkan langkah-langkah komputer saat pertama kali dijalankan
  • Mampu menyebutkan jenis-jenis software
  • Memahami konsep Sistem Operasi
  • Mengetahui Jenis Sistem Operasi
  • Memahami kegunaan Sistem Operasi

 

Kerjakan Soal-soal berikut ini:

  1. Sebutkan dan jelaskan tentang langkah-langkah yang dilakukan oleh komputer saat pertama kali dijalankan!

Pada saat pertama kali dijalankan atau pada saat boot, terdapat sebuah program awal yang mesti dijalankan. Program awal ini disebut program bootstrap. Program ini berisi semua aspek dari sistem komputer, mulai dari register CPU, device controller, sampai isi memori. Dengan kata lain komputer mengecek semua pheriperal (perangkat) yang terpasang dan memastikan apakah ada perangkat yang bermasalah kemudian setelah pheriperal tersebut dinyatakan tidak ada yang bermasalah maka proses dilanjutkan dengan masuk ke sistem operasi.

 

  1. Jelaskan jenis-jenis software yang anda kenal!

Software (Perangkat Lunak) adalah Program yang berisi instruksi yang akan menjalankan perintah untuk melakukan pengolahan data. Berdasarkan fungsinya, Software komputer terbagi dalam 4 jenis, yaitu:

  • Operating Sistem (Sistem Operasi)

Merupakan perangkat lunak yang berfungsi mengendalikan semua komponen yang terdapat pada mesin computer. Contohnya: Microsoft Windows, UNIX, LINUX, Macintosh

  • Application Software (Program Aplikasi)

Merupakan suatu program yang ditulis dengan bahasa pemrograman tertentu untuk diterapkan pada bidang tertentu. Contohnya: Microsoft Office, Adobe Photoshop, Adobe Dreamweaver, Google Chrome, WinRAR

  • Utility Software (Program Bantu)

Merupakan suatu program untuk membantu kinerja dari sistem operasi. Contohnya: AVAST Antivirus, Bitdefender, Auslogics BoostSpeed

  • Malware (Program Perusak)

Malware adalah program komputer yang diciptakan dengan maksud dan tujuan utama mencari kelemahan software. Umumnya Malware diciptakan untuk membobol atau merusak suatu software atau operating sistem. Contohnya: Virus (Trojan.Lodear, Backdoor.Zagaban), Worm (ADMworm, Code REd), Spyware (Parental Control Software)

 

  1. Jelaskan apa yang dimaksud dengan sistem operasi!

Sistem operasi adalah seperangkat program yang mengelola sumber daya perangkat keras dan perangkat lunak serta proses-proses yang berjalan di Komputer. Pada suatu waktu, ketika user menjalankan beberapa perangkat lunak sekaligus di komputer dan perangkat lunak tersebut memerlukan akses ke CPU, memori, dan media penyimpanan maka sistem operasi mengatur proses-proses tersebut untuk memastikan setiap perangkat lunak berjalan normal.

 

  1. Sebutkan sistem operasi yang anda ketahui dan jelaskan!
  • MS-DOS

DOS atau kepanjangan dari Disk Operating System merupakan awal sistem operasi yang digunakan komputer IBM. Sistem operasi ini masih belum berbasis antar muka sehingga perintahnya harus menggunakan tulisan atau biasa kita kenal dengan Command Prompt. Sama seperti komputer versi terdahulu, tampilan dari MS-DOS ini masih hitam putih, tidak ada gambar dan hanya berupa tulisan saja. Microsoft terus mengembangkan MS-DOS hingga 8 kali versi. Kemudian pada tahun 2000, pengembangan pada sistem operasi ini dihentikan.

Kelebihan:

  • Ukurannya kecil
  • Ringan dalam penggunaan memori
  • Kompatibel dengan berbagai perangkat

Kekurangan:

  • Karena masih generasi awal, maka perintah hanya berupa tulisan dan tidak ada grafik

 

  • Microsoft Windows

Windows pada awal munculnya sudah menggunakan antarmuka pada tampilannya dan dipasang hampir di seluruh komputer IBM dan komputer lainnya, akhirnya menjadikan Windows menjadi sistem operasi yang paling banyak digunakan di dunia. Dalam perkembangannya Windows dibuat menjadi sistem operasi Stand Alone dan Jaringan. Perkembangan Windows dari waktu ke waktu:

  • Windows 1.0 (1983)
  • Windows 2.0 (1987)
  • Windows 3.0 (1990)
  • Windows 3.1 (1992)
  • Windows 95
  • Windows 98
  • Windows Milenium Edition (2000)
  • Windows NT 3.1 (1993)
  • Windows NT 3.5 (1994)
  • Windows 2000 /Windows NT 5.0
  • Windows XP (2001)
  • Windows Vista (2006)
  • Windows 7 (2009)
  • Windows 8 (2012)
  • Windows 8.1 (2013)
  • Windows 10 (2015)

Kelebihan:

  • User Friendly karena sudah tampilan antar muka
  • Proses Instalasi lebih mudah
  • Support Driver
  • Karena hampir semua orang menggunakan Windows, banyak perusahaan membuat software atau aplikasi yang kompatibel dengan Windows.
  • Perkembangan sangat cepat, kita lihat hampit setiap tahun selalu ada pembaruan dari Windows

Kekurangan:

  • Tidak Open Source
  • Harus membeli karena memang Close Source
  • Mudah diretas karena sistem keamanannya masih lemah
  • Jika tidak memiliki software bawaan, harus membeli terlebih dahulu untuk mendapatkannya
  • Rentan terkena Virus

 

  • Macintosh

Sistem operasi Mac OS atau singkatan Macintosh operating System merupakan sistem operasi ekslusif dan hanya terdapat di komputer Apple saja. Mac OS diluncurkan pada tahun 1984 dan pertama kali digunakan untuk komputer LISA. Sistem operasi ini merupakan pengembangan dari dasar sistem operasi Linux.

Kelebihan:

  • Karena menggunakan UNIX maka sistem lebih stabil
  • Bisa untuk Multitasking
  • Dokumen di Mac bisa dibaca di sistem operasi lainnya
  • Tampilan antar muka cocok untuk graphic design/multimedia
  • Tingkat keamanannya tinggi, sehingga sulit terkena virus atau diretas

Kekurangan:

  • Harganya bisa dibilang mahal
  • Mac OS tidak bisa dirakit karena Apple sudah tidak memberi license buat perusahaan lain untuk membuat hardware yang bisa menggunakan Mac OS
  • Software di Mac OS tidak terlalu lengkap
  • Kurang cocok buat main game

 

  • Linux

Sistem operasi Linux merupakan sistem operasi open source yang populer di kalangan masyarakat dunia dengan tingkat kepopuleran di bawah Windows dan Mac OS. Karena bersifat open source pengguna bebas mengembangkan sistem operasinya sendiri.

Meskipun begitu Linux tetap sukses berjaya bersanding dengan sistem lainnya karena OS ini tidak bergantung pada vendor serta biaya operasional yang dikeluarkan rendah. pada awal perilisannya sudah berbasis grafis antar muka serta bisa berbasis teks.

Beberapa distro linux dari waktu ke waktu:

  • Red Hat
  • Debian
  • Slackware
  • SuSE
  • Mandrake
  • WinLinx
  • Ubuntu dan turunannya : Sabily (Ubuntu Muslim Edition), Kubuntu, Xubuntu, Edubuntu, GoBuntu, Gnewsense, ubuntuCE

Kelebihan pada Linux:

  • Karena Open Source, tidak ada biaya lisensi untuk membeli dan menggunakannya
  • Dulunya penggunaan Linux sangat susah, namun setelah dikembangkan sekarang menjadi lebih mudah
  • Sebagian aplikasi di Windows ada di Linux
  • Perkembangannya sangat cepat, karena dikembangkan oleh banyak orang

Kekurangan pada Linux:

  • Perlu diadakannya pelatihan kepada pengguna awal supaya terbiasa dengan Linux
  • Support Hardware tidak semuanya cocok di Linux
  • Proses instalasinya terbilang susah termasuk juga dengan softwarenya

 

  • Unix

Unix merupakan sistem operasi pertama yang pernah dibuat. Unix adalah sistem operasi yang dibuat oleh perusahaan AT&T, General Electric, dan MIT di tahun 1965 untuk DARPA. Unix juga merupakan sistem operasi baku yang bisa digunakan di segala komputer termasuk juga komputer mini. Unix sendiri merupakan jenis dari sistem operasi jaringan karena bisa digunakan sebagai server ataupun workstation.

Sekarang sudah jarang orang memakai Unix karena kalah pamor dengan 3 Sistem Operasi terkenal seperti Windows, Mac OS dan Linux.

 

Jenis-jenis Unix:

  • Distrix
  • UniCOs
  • OpenBSD
  • GNU/Hurd
  • GNU/Linux
  • BSD UNIX

Kelebihan:

  • Adanya portabilitas
  • Multiuser, karena merupakan sistem operasi jaringan
  • Kita bisa mengerjakan dan menjalankan tugas sekaligus.
  • Tidak mudah terkena Virus
  • UNIX ini termasuk sistem operasi yang gratis

Kekurangan:

  • Dari segi tampilan kurang menarik
  • Memerlukan penyimpanan memori yang lumayan besar
  • Tidak banyak Driver yang tersedia untuk Unix
  • Untuk beberapa hardware jua sulit untuk menyediakan driver untuk Unix
  • Lumayan susah dan membingungkan dibandingkan dengan sistem operasi lainnya

 

  1. Jelaskan kegunaan sistem operasi!

Sistem operasi berguna sebagai:

  • Resource manager, yaitu pengelolaan sumber daya dan mengalokasikannya, Contoh: memori, CPU, Disk Drive dan perangkat lainnya.
  • Interface / tatap muka, yaitu sebagai perantara antara pengguna dengan perangkat keras dengan menyediakan tampilan kepada pengguna yang lebih mudah dipahami dan bersahabat (User Friendly)
  • Coordinator, yaitu mengkoordinasi dan menyediakan fasilitas sehingga aktifitas yang kompleks dapat diatur dan dapat diproses secara berurutan.
  • Guardian, yaitu menyediakan akses kontrol yang bertugas untuk melindungi file dan memberi pengawasan pada data dan program.
  • Gate Keeper, berfungsi sebagai pengendali hak akses oleh pengguna yang mengendalikan siapa saja yang berhak masuk ke dalam sistem dan mengawasi apa saja yang dilakukannya.
  • Optimizer, yaitu penjadwal masukan (input) oleh user, pengaksesan basis data, proses komputasi dan penggunaan.
  • Accountant, yaitu befungsi untuk mengatur waktu CPU, penggunaan memori, pemanggilan I/O, disk storage, dan waktu koneksi terminal.
  • Server, yaitu berfungsi untuk melayani pengguna komputer.

Referensi:

  • Modul Perkuliahan (PPTX, PDF, E-book Linux Fundamental)
  • Buku Perpustakaan Polibatam (Pengantar Sistem Operasi)

 

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

[lockercat]

[/lockercat]