A. POKOK BAHASAN Pipeline Redirection B. TUJUAN BELAJAR Setelah mempelajari materi berikut, diharapkan pembaca dapat memahami: Memahami ko...

Operasi Input Output pada LINUX Ubuntu 18.0.4

 

    A. POKOK BAHASAN

    • Pipeline
    • Redirection

    B. TUJUAN BELAJAR

    Setelah mempelajari materi berikut, diharapkan pembaca dapat memahami:

    • 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

     C. 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 selanjutnya disebut proses.

        Setiap kali instruksi diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Process Identity).

        Proses dalam Linux selalu mmbutuhkan Input dan menghasilkan Output.

        Dalam konteks Linux input/ouput 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 (sandar input)
    • 1 = layar (standar output)
    • 2 = layar (standar error)

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

    3. PEMBELOKAN (REDIRECTION)
        Pembelokan dilakukan untuk standar 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 menghubungkan Proses 1 dengan Proses 2 dan dinyatakan dengan simbol "|".

    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 dengaan 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 dan 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 beberapa baris digunakan option -l, untuk mengetahui berapa kata, gunakan option -w, dan untuk mengetahui beberapa 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 option c.
    • Perintah uniq
    • Digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi, biasanya digabugnakn dalam pipeline dengan sort.

    D. TUGAS PENDAHULUAN
        Jawablah pertanyaan-pertanyaan di bawah ini:
    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 

    Jawab: 
    1. Redirection adalah proses mengalihkan aliran data (input atau output) dari atau ke suatu perintah atau program. Ada beberapa operator yang digunakan untuk melakukan redirection. Operator ">" digunakan untuk mengalihkan output dari suatu perintah atau program ke sebuah file, sedangkan operator ">>" digunakan untuk menambahkan output ke akhir file yang sudah ada. Operator "<" digunakan untuk mengalihkan input dari suatu perintah atau program dari sebuah file. Selain itu, operator "|" digunakan untuk mengalihkan output dari suatu perintah ke input dari perintah lainnya, memungkinkan penggunaan perintah bersamaan dalam satu baris perintah. 

    2. Pipeline adalah konsep yang memungkinkan untuk mengalirkan output dari satu perintah atau program ke input dari perintah atau program lainnya secara berurutan. Ini akan memungkinkan kita membuat sebuah rangkaian perintah yang kompleks dengan menggabungkan berbagai perintah dalam satu baris perintah, dengan mengambil output dari perintah pertama dan menggunakan output tersebut sebagai input untuk perintah berikutnya, dan seterusnya. Operator yang digunakan untuk membuat pipeline adalah "|" 

    3. Berikut adalah penjelasan dari masing-masing perintah:
    • echo: digunakan untuk menampilkan teks atau variabel ke layar. Ini sering digunakan untuk mencetak teks atau nilai dari variabel ke terminal.
    • catdigunakan untuk menampilkan isi dari satu atau beberapa file teks ke layar. Ini juga dapat digunakan untuk menggabungkan beberapa file menjadi satu.
    • moredigunakan untuk melihat isi file teks sat halaman penuh.
    • sortdigunakan untuk mengurutkan baris-baris dalam file teks berdasarkan ASCII serta opsi tambahan.
    • grep: digunakan untuk mencari teks tertentu dalam file atau output dari perintah lain. Ini memungkinkan Anda untuk mencocokkan pola teks dengan baris-baris dalam file.
    • wcdigunakan untuk menghitung jumlah baris, kata, dan karakter dalam file teks atau output dari perintah lain.
    • cutdigunakan untuk memotong atau membagi baris-baris dalam file teks berdasarkan kolom atau karakter tertentu. Ini berguna untuk mengambil bagian tertentu dari setiap baris.
    • uniqdigunakan untuk menghapus baris duplikat dari file teks yang sudah diurutkan. Ini sering digunakan bersama dengan perintah sort untuk menghilangkan baris-baris yang sama dalam file.
  • .

4. PERCOBAAN

a. Percobaan 1: File Descriptor
1. Output ke layar (standar output), input dari system(kernel)



Analisa: Perintah ps adalah perintah yang digunakan untuk menampilkan informasi tentang proses yang sedang berjalan

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



Analisa: Perintah yang digunakan untuk menjalankan sebuah input yang dimasukan melalui keyboard dan dihasilkan ke layar menjadi sebuah output.

3. Input dari keyboard dan output ke alamat internet

Analisa: Perintah yang digunakan untuk mengirim input dari keyboard yang outputnya akan dikirim ke email pribadi kita sendiri.

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




Analisa: Memasukan input sebagai nama direktori/kedalam file, dan diberi nama sesuai dengan yang dimasukan sebagai input. 

b. Percobaan 2: Pembelokan (redirection)

1. Pembelokan standar output



Analisa: Hasil dari perintah di atas adalah menciptakan berkas baru yang disebut myfile.txt dan mengisi berkas tersebut dengan teks "ini adalah teks yang saya simpan ke file myfile.txt."

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


 
Analisa: Hasil dari perintah di atas adalah bahwa myfile.txt akan tetap kosong, karena perintah pertama mencoba mengisi berkas tersebut dengan isi dari berkas yang bernama "0", yang tidak ditemukan atau kosong. Oleh karena itu, perintah kedua, cat myfile.txt, tidak akan menampilkan apa pun di terminal, karena berkas myfile.txt tidak memiliki isi.

3. Pembelokan standar error untuk disimpan di file



Analisa: Output dari perintah di atas yaitu pesan error setelah mengetik "$ mkdir mydir" , setelah itu kita memasukan pesan tersebut kedalam direktori myerror.txt. dan saat kita mengetik "$ cat myerror.txt" maka pesan dari kalimat erorr sebelumnya akan keluar sebagai isi dari file tersebut.

4. Notasi 2>&1 : pembelokan error (2>) adlah identik deangan file descriptor 1.


Analisa: Output perintah pertama yaitu kita mengeluarkan isi dari direktori filebaru, dan isi dari perintah tersebut akan dipindahka ke out.txt. dan pada perintah "$ cat out.txt" maka isi dari pesan yang sudah kita pindahkan akan keluar. Kemudian perintah selanjutnya adalah untuk me-replace pesan di dalam direktori tersebut.

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



Analisa: Kita menggunakan perintah echo untuk memasukan teks "mencoba menulis file" ke dalam direktori "baru" yang sudah tersimpan sebelumnya. Jadi, ketika kita memberikan perintah "$ cat baru" maka pesan yang tadinya sudah kita simpan akan langsung keluar.

6. Notasi >> (append)



Analisa: Perintah pertama bertujuan untuk memasukan kalimat/pesan yang berurut kedalam direktori "surat" dan untuk perintah selanjutnya adalah untuk me-replace isi dari direktori tersebut sehingga menjadi hanya 1 pesan saja yang tersimpan.

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



Analisa: Notasi "++" dan "%%%" pada perintah di atas adalah sebagai pembatas saat kita sedang mengetik sebuah pesan.

8. Notasi - (input keyboard) adalah representas input dari keyboard. Artinya menampilkan file 1, kemudian menampilkan input dari keyboard dan menampilkan file 2. Oerhatikan bahwa notasi "-" berarti menyelipkan input dari keyboard.



Analisa: Perintah di atas digunakan untuk menampilkan isi dari sebuah direktori yang tersimpan.

9. Untuk membelokkan standar output ke file, gunakan operator >



Analisa: Perintah yang pertama adalah menampilkan pesan "hello". Kemudian pesan tersebut dimasukkan kedalam direktori output, lalu saat kita memanggil direktori output maka isi yang tersimpan dari direktori output akan keluar.

10. Untuk menambahkan output ke file digunakan operator >>



Analisa: Perintah diatas digunakan untuk menambahkan pesan/teks yang kita inginkan (bye) kedalam sebuah direktori yang sudah tersimpan sebelumnya. (output)

11. Untuk membelokkan standar input ginakan operator <



Analisa: Perintah di atas digunakan untuk membelokkan standar input sehingga file yang tersimpan sebelumnya dapat kita keluarkan.

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




Analisa: perintah di atas digunakan untuk memasukan isi dari direktori yang sudah tersimpan sebelumnya kedalam direktori yang kita inginkan.

c. Percobaan 3: Pipa (Pipeline)
1. Operator pipa(|) digunakan untuk membuat eksekusi proses dengan melewati data langsung ke data lainnya

Analisa: Perintah di atas digunakan untuk menampilkan data yang tersimpan, dan juga meringkas atau menampilkan beberapa saja sesuai dengan keinginan sendiri.

d. Percobaan 4: Filter
2. Pipa juga digunakan untuk mengkombinasikan utilitas sistem untuk membentuk fungsi yang lebih kompleks.

Analisa: Perintah diatas digunakan untuk memasukan data-data yang diinginkan dan mengkombinasikannya untuk membentuk fungsi yang lebih kompleks

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

7. Hitung jumlah baris, kata dan karakter dari file "baru.urut" dengan menggunakna filter dan tambahkan data tersebut ke file "baru"

8. gunakan perintah dibawah ini dan perhatikan hasilnya.

0 Comments: