LAPORAN PRAKTIKUM 2 - SISTEM OPERASI (LINUX) "OPERASI INPUT DAN OUTPUT"

 LAPORAN PRAKTIKUM 2 - SISTEM OPERASI (LINUX)

"OPERASI INPUT DAN OUTPUT"







Disusun oleh

Rizki Azka Fihi Aghnia                 2103423004











PROGRAM STUDI RPL BROADBAND MULTIMEDIA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI JAKARTA
2021
Pokok Bahasan
  • Pipeline
  • Redirection
Tujuan Belajar

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:
  • Memahami konsep proses I/O dan redirection
  • Memahami standar input, output dan error
  • Menggunakan notasi output, append dan here document
  • Memahami konsep PIPE dan filter
Dasar Teori
  • Operasi Input dan Output (I/O)
Instruksi (command) diberikan pada Linux melalui Shell disebut sebagai eksekusi program yang selanjutnya disebut proses (process). Setiap kali instruksi diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Process Identity). Proses dalam Linux selalu membutuhkan input dan akan menghasilkan suatu output.
 
Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu Output. Dalam konteks Linux input/output adalah :
    • Keyboard (input)
    • Layar (output)
    • Files
    • Struktur data kernel
    • Peralatan I/O lainnya (misalnya Network)
  • File Descriptor

Linux berkomunikasi dengan file melalui file descriptor yang direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya. Tiga buah file descriptor standar yang lalu diciptakan oleh proses adalah :

  • 0 = keyboard (standar input)
  • 1 = layar (standar output)
  • 2 = layar (standar error)


Linux tidak membedakan antara peralatan hardware dan file, Linux memanipulasi peralatan hardware sama dengan file.

  • Redirection

Pembelokan dilakukan untuk standard input, output dan error, yaitu untuk mengalihkan file descriptor dari 0, 1 dan 2. Simbol untuk pembelokan adalah :

  • Karakter < pengganti/redirect standard input
  • Karakter > pengganti/redirect standard output
  • Pipeline 
Ada fitur menarik di Unix dan Linux, output dari satu program bisa dijadikan input program lain, caranya dengan memakai pipe. Disebut pipe mungkin karena cara kerjanya seperti pipa, menghubungkan output dan input. Pipe dilambangkan dengan karakter |
Mekanisme pipa digunakan sebagai alat komunikasi antar proses. 
Proses 1 menghasilkan output yang selanjutnya digunakan sebagai input oleh Proses 2. Hubungan output input ini dinamakan pipa, yang menghubungkan Proses 1 dengan Proses 2 dan dinyatakan dengan symbol “|”. 

  • Filter

Filter adalah utilitas linux yang dapat memproses standard input(dari Keyboard) dan menampilkan hasilnya pada standard output (layer). Contoh filter adalah *cat, sort, grep, pr, head, tail, paste* dan lainya. 

Pada sebuah rangkaian pipa:

    P1 | P2 | P3 ... | Pn-1 | Pn

Maka P2 sampai dengan Pn-1 mutlak harus utilitas linux yang berfungsi  sebagai filter. P1 (awal) dan Pn (terakhir) boleh tidak filter. Utilitas yang bukan filter misalnya who, ls, ps, lp, lpr, mail dan lainnya.

Beberapa perintah Linux yang digunakan untuk proses penyaringan antara lain :

  • Perintah grep

Digunakan untuk menyaring masukannya da n menampilkan baris-baris yang hanya mengandung pola yang ditentukan. Pola ini disebut regular expression.

  • Perintah wc

Digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang diberikan kepadanya. Untuk mengetahui berapa baris gunakan option –l, untuk mengetahui berapa kata, gunakan option –w dan untuk mengetahui berapa karakter, gunakan option –c. Jika salah satu option tidak digunakan, maka tampilannya adalah jumlah baris, jumlah kata dan jumlah karakter.

  • Perintah sort

Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari karakter.

  • Perintah cut

Digunakan untuk mengambil kolom tertentu dari baris-baris masukannya, yang ditentukan pada option –c.

  • Perintah uniq

Digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi, biasanya digabungkan dalam pipeline dengan sort.

Tugas Pendahuluan

  1. Apa yang dimaksud redirection ?
  2. Apa yang dimaksud pipeline ?
  3. Apa yang dimaksud perintah di bawah ini :
   echo, cat, more, sort, grep, wc, cut, uniq

JAWABAN
  1. Redirection adalah pembelokan yang dilakukan untuk standar input, output, error dan juga untuk mengalihkan file descriptor 0, 1 dan 2.
  2. Pipeline adalah suatu mekanisme pipa yang digunakan sebagai alat komunikasi antar proses.
  3. Echo: Digunakan untuk menampilkan output ke layar.

    Cat: Berfungsi untuk mencetak/menampilkan ke layar monitor isi dari sebuah file text.

    More: Untuk melihat isi suatu file, dengan tambahan perintah more, maka isi file tersebut ditampilkan layar per layar.

    Sort: Digunakan untuk mengurutkan masukan berdasarkan urutan nomor ASCII atau key tertentu.

    Grep: adalah Perintah yang digunakan untuk mencari kata atau kalimat dalam file.

    Wc: Menghitung jumlah kata, jumlah baris dan jumlah karakter dalam suatu file.

    Cut: Berfungsi untuk mengambil karakter, file, ataupun folder untuk dipindahkan ketempat yang lain. Cut dalam perintah string pada linux juga tidak jauh berbeda tetapi fungsi cut ini adalah untuk mengambil bagian tertentu dari file dan menampilkannya ke layar LCD.

    Uniq: Digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi/duplicate, syntax ini biasanya digabungkan dalam pipeline dengan sort.

Percobaan
  • Percobaan 1 - File Descriptor

$ ps adalah suatu perintah yang digunakan untuk melihat proses yang sedang berjalan pada sistem (kernel) pada user.
$ cat adalah perintah untuk menampilkan output ke layar yang dimana diambil dari inputan keyboard.
$ mail merupakan perintah untuk menulis E-mail dari keyboard pada terminal dan mengirimnya ke alamat yang di tentukan, yakni arna@eepis-its.edu.
$ mkdir mydir merupakan perintah untuk membuat sebuah direktori/folder dari console terminal dengan nama direktorinya adalah “mydir”. $ mkdir mydir (terdapat pesan error) yang di tampilkan di atas itu maksudnya adalah bahwa folder “mydir” yang kita buat sudah ada dan tersedia.
  • Percobaan 2 - Redirection
$ cat 1> myfile.txt merupakan perintah yang digunakan untuk membelokkan standar input kedalam satu file bernama “myfile.txt”.


$ cat 0< myfile.txt merupakan perintah untuk membelokkan standar output yang sebelumnya yang telah diinput, seperti praktek yang diatas. $ cat myfile.txt merupakan perintah untuk menampilkan teks yang disimpan dalam file “myfile.txt” tadi.


$ mkdir mydir 2> myerror.txt merupakan perintah pembelokkan standar output error yang disimpan dalam file. $ mkdir mydir (Terdapat pesan error) dikarenakan jika kita membuat sebuah direktori baru dengan nama yang sama yang sudah dibuat maka akan tampil pesan error, dan kemudian pesan error tadi akan disimpan di direktori “myerror.txt”. $ cat myerror.txt merupakan perintah untuk melihat isi dari file “myerror.txt”.

$ ls filebaru merupakan perintah untuk menampilkan daftar file dalam directory aktif, sedangkan di atas terdapat pesan error, itu dikarenakan directory “filebaru” yang kita ketik belum dibuat sehingga timbul pesan error.  $ ls filebaru 2> out.txt maksud dari syntak tersebut adalah pesan error yang tadi akan di belokan atau di simpan di file “out.txt”. dan di tampilkan dengan menggunakan perintah “cat out.txt”.
 
$ echo “mencoba menulis file” 1> baru merupakan perintah untuk menginput teks “mencoba menulis file” yang disimpan dalam file baru. $ cat filebaru 2> baru 1>&2. $ cat baru merupakan perintah untuk menampilkan teks yang disimpan dalam file baru tadi.

Karakter > akan membelokkan output dari echo menjadi sebuah filebaru bernama surat, Karakter >> akan menyisipkan output dari echo di kelanjutan isi dari file tujuan. 

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.

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.

$ echo hello Digunakan untuk menampilkan output ke layar dengan teks “hello”. $ echo hello > output tampilan “hello” yang tadi di cetak di layar kemudian di belokan ke direktori “output”, sehingga direktori “output” terisi teks “hello”. $ cat output perintah untuk menampilkan kalimat yang telah diiput kedalam file output.

        Untuk menambahkan output ke file digunakan operator >>.

Untuk membelokkan standart input digunakan operator <.

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

  • Percobaan 3 - Pipeline

$ who digunakan untuk mengetahui daftar pemakai yang sedang aktif (login). $ who | sort perintah yang fungsinya untuk mengurutkan aplikasi yang aktif secara ascending dari yang terkecil ke yang terbesar. $ who | sort -r perintah operator pipa yang berfungsi untuk mengurutkan aplikasi yang aktif secara descending dari yang terbesar ke yang terkecil. $ rm tmp digunakan untuk menampilkan isi dari file tmp dan diurut berdasarkan abjad. $ ls -l /etc | more perintah untuk menampilkan nama direktori etc secara lengkap yang terdiri dari nama file, atau menampilkan isi direktori dengan list yang panjang. $ ls -l /etc | sort | more perintah untuk menampilkan nama direktori etc secara lengkap yang terdiri dari nama file, atau menampilkan isi direktori dengan secara berurut dari yang terkecil ke yang terbesar (ascending) dengan list yang panjang.

  • Percobaan 4 - Filter 

$ w –h | grep, $ grep /etc/passwd, $ ls /etc | wc perintah untuk menampilkan jumlah baris, kata dan byte setiap file pada direktori /etc, $ ls /etc | wc –l.  $ cat > kelas1.txt perintah untuk menampilkan isi sebuah file kelas1.txt $ cat > kelas2.txt perintah untuk menampilkan isi sebuah file kelas2.txt. $ cat kelas1.txt kelas2.txt | sort perintah yang fungsinya menampilkan data dari kelas1.txt dan kelas2.txt secara berurut dari yang terkecil ke yang terbesar (ascending). $ cat kelas1.txt kelas2.txt > kelas.txt adalah perintah menampilkan file kelas1.txt dan kelas2.txt lalu membelokan datanya ke file kelas.txt. $ cat kelas.txt | sort | uniq perintah untuk menampilkan data yang ada di kelas.txt dan kemudian di tampilkan berurut secara ascending dan untuk menghilangkan kata atau isi file yang sama/double maka di tambahkan syntax uniq.

Latihan 

1.  Lihat daftar secara lengkap pada direktori aktif, belokkan tampilan standard output ke file baru.


2. Lihat daftar secara lengkap pada direktori /etc/passwd, belokkan tampilan standard output ke file baru tanpa menghapus file baru sebelumnya.
 

3. Urutkan file baru dengan cara membelokkan standard input.

4. Urutkan file baru dengan cara membelokkan standard input dan standard output ke file baru.urut.

5. Buatlah direktori latihan2 sebanyak 2 kali dan belokkan standard error ke file rmdirerror.txt.

6. Urutkan kalimat berikut : 
 Jakarta 
 Bandung 
 Surabaya 
 Padang 
 Palembang 
 Lampung 
    Dengan menggunakan notasi here document (<@@@ …@@@)
7. Hitung jumlah baris, kata dan karakter dari file baru.urut dengan menggunakan filter dan tambahkan data tersebut ke file baru.

8. 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”


Kesimpulan
  1. Terdapat banyak perintah dalam operasi input output pada linux dan yang paling sering digunakan adalah $ cat.
  2. Fungsi dari perintah $ cat adalah untuk menampilkan text dari file yang dibuat.
  3. Selain menampilkan text dai file yang dibuat, perintah $ cat memiliki banyak fungsionalitas, tergantung dari simbol > yang dipakai.
  4. Simbol | melambangkan Pipeline di linux. Pipeline dapat menghubungkan 2 proses atau lebih dalam satu perintah.







 

 

 

  

 

 



  

Komentar

Postingan populer dari blog ini