Operasi Input dan Output

 Operasi Input dan Output

Pokok Bahasan:

  • Pipeline
  • Redirection

Tujuan Belajar

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:
  • Memahami Konsep proses I/O dan redirection
  • Memahami standar input, output dan error
  • Menggunakan notasi output, append dan here document
  • Memahami konsep PIPE dan filter

Dasar Teori

  1. PROSES I/O
            Sebuah proses memerlukan Input dan Output
Instruksi (command) yang diberikan pada Linux melalui Shell disebut sebagai
eksekusi program yang sela njutnya disebut proses.
Setiap kali instruksi diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Process Identity).
Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu Output.
Dalam konteks Linux input/o utput adalah :
Keyboard (input)
Layar (output)
Files
Struktur data kernel
Peralatan I/O lainnya (misalnya Network)

     2. FILE DESCRIPTOR

Linux berkomunikasi dengan file melalui file descriptor yang direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya.
Tiga buah file descriptor standar yang lalu diciptakan oleh proses adalah :
0 = keyboard (standar input)
1 = layar (standar output)
2 = layar (standar error)
    Linux tidak membedakan antara peralatan hardware dan file, Linux memanipulasi peralatan hardware sama dengan file.

    3. PEMBELOKAN (REDIRECTION)

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

    4. PIPA (PIPELINE)

Mekanisme pipa digunakan sebagai alat komunikasi antar proses.
Input > Proses1 >Output = Input > Proses2 > Output

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

Proses1 | Proses2


    5. FILTER

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

TUGAS PENDAHULUAN :

Jawablah pertanyaan-pertanyaan di bawah ini :

1. Apa yang dimaksud redirection ?
Redirection adalah pembelokan yang dilakukan untuk standar input, output, dan error danuntuk mengalihkan file descriptor dari 0,1, dan 2

2. Apa yang dimaksud pipeline ?
Pipeline adalah suatu mekanisme pipa yang digunakan sebagai alat komunikasi antar proses.

3. Apa yang dimaksud perintah di bawah ini :
echo, cat, more, sort, grep, wc, cut, uniq
- Echo digunakan untuk menampilkan output kelayar
- Cat digunakan untuk menghasilkan output kelayar dan merupakan berasal dari inputsebuah keyboard- More Menurpakan perintah untuk mempaging halaman
- Sort Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII darikarakter.
- Grep digunakan untuk menyaring masukannya dan menampilkan baris baris yang hanyamengandung pola yang ditentukan,
- WC digunakan untuk menghitung jumlah baris, kata dan karakter dari baris baris masukanyang diberikan
- Cut digunakan untuk mengambil kolom tertentu dari baris baris masukannya yangditentukan pada option -c
- Uniq : Digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi, biasanya digabungkan dalam pipeline dengan sort.

PERCOBAAN:

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

Percobaan 1: File descriptor


1. Output ke layar (Standar ouput), input dari system (kenel)

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

3.  Input dari keyboard dan output ke alamat internet

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

Percobaan 2: Pembelokan (redirection)

1.  Pembelokkan standar output

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

3.  Pembelokkan standar error untuk disimpan di file

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

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

6. Notasi >> (append)

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

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

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



10. Untuk menambahkan output ke file digunakan operator >>



11. Untuk membelokkan standart input digunakan operator <



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




Percobaan 3: Pipa (pipeline)

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

Percobaan 4: Filter

2. Pipa juga digunakan untuk mengkombinasikan utilitas sistem untuk membentuk fungsi yang lebih kompleks


Latihan:

1. Lihat daftar secara lengkap pada direktori aktif, belokkan tampilan standard output ke file baru.
Jawab:
Untuk melihat daftar direktori aktif, gunakan perintah $ ls, sedangkan untuk membelokkan tampilan standard output ke file baru, gunakan '>'


2. Lihat daftar secara lengkap pada direktori /etc/passwd, belokkan tampilan standard output ke file baru tanpa menghapus file baru sebelumnya.
Jawab:
Untuk melihat daftar lengkap dari direktori /etc/passwd, gunakan perntah $ ls, sedangkan untuk membelokkan tampilan standard output ke file baru tanpa menghapus file baru sebelumnya, gunakan '>>'

3. Urutkan file baru dengan cara membelokkan standard input.
Jawab:
Untuk mengurutkan file, gunakan perintah $ sort, sedangkan untuk membelokkan standard input, gunakan '<'


4. Urutkan file baru dengan cara membelokkan standard input dan standard output ke file baru.urut.
Jawab:
Untuk mengurutkan file, gunakan perintah $ sort, sedangkan untuk membelokkan standard input, gunakan '<', sedangkan untuk membelokkan standard output ke file, gunakan '>'. Pembelokan standart input dan standart output dapat dikombinasikan asalkan tidak boleh menggunakan nama file yang sama sebagai standart input dan output.


5. Buatlah direktori latihan2 sebanyak 2 kali dan belokkan standard error ke file
rmdirerror.txt.
Jawab:
Gunakan perintah $ mkdir untuk membuat direktori baru. Saat membuat direktori yang sama sebanyak dua kali, akan muncul pesan error. Pesan error itu kemudian dibelokkan ke file dengan menggunakan '2>'.


6. Urutkan kalimat berikut :
Jakarta 
Bandung 
Surabaya 
Padang
Palembang 
Lampung
Dengan menggunakan notasi here document (<@@@ …@@@)
Jawab:
Pertama, buat notasi here document yang akan dibelokkan ke sebuah file kemudian isi document tersebut. Setelah diisi dan diakhiri, isi dokumen akan tersimpan ke file yang dibelokkan. File tersebut kemudian diurutkan menggunakan perintah $ sort.

7. Hitung jumlah baris, kata dan karakter dari file baru.urut dengan menggunakan filter dan tambahkan data tersebut ke file baru.
Untuk mendapatkan jumlah baris, kata, dan karakter (secara berurutan) dari sebuah file, gunakan perintah wc yang dipipakan dengan perintah cat. Hasilnya kemudian bisa ditambahkan ke file menggunakan '>>'


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”
Jawab:
Uniq digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi, Grep digunakan untuk menyaring masukannya dan menampilkan baris-baris yang hanya mengandung pola yang ditentukan. Pola ini disebut regular expression. Salah satu regular expression dari grep adalah -v (invert0match), yang akan menampilkan baris yang TIDAK mengandung pola yang ditentukan.

Kesimpulan

    Sebuah proses memerlukan Input dan Output. Instruksi (command) yang diberikan pada Linux melalui Shell disebut sebagai eksekusi program yang selanjutnya disebut proses. Setiap kali instruksi diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Process Identity). Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu Output. Linux berkomunikasi dengan file melalui file descriptor yang direpresentasikan Pada Linux, terdapat metode File Descriptor, Redirection, Pipelining, dan filter. File descriptor merupakan cara Linux berkomunikasi dengan file. File descriptor direpresentasikan melalui angka yang dimulai dari 0, 1, 2 dan seterusnya. Redirection adalah pembelokan yang dilakukan untuk standar input, output, dan error dan untuk mengalihkan file descriptor dari 0, 1, dan 2. Pipeline adalah suatu mekanisme pipa yang digunakan sebagai alat komunikasi antar proses. Sedangkan filter adalah utilitas Linux yang dapat memproses standard input (dari keyboard) dan menampilkan hasilnya pada standard output (layar).

Referensi:

http://fasilkomueu21.blogspot.com/2012/11/tugas-3-sistem-operasi.html




Komentar

Postingan populer dari blog ini

Perintah Dasar Linux

Operasi File dan Struktur Direktory

Manajemen Proses Linux