Operasi Input Output

 
    

 Praktikum 2

 Operasi Input Output


I. Pokok Bahasan

  • Pipeline
  • Redirection


II. 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


III. ABSTRAK 

    Sistem operasi input output pada linux membutuhkan perintah-perintah yang dilakukan pada bagian terminal untuk memaksimalkan pemakaiannya.  Selain perintah-perinta dasar, sistem operasi linux juga memiliki perintah input dan output. Beberapa contoh perintah yang dilakukan dalam praktik ini adalah $ ps, $ cat, $ mail, dan beberapa perintah pembelokan. Dilakukan juga percobaan mengenai pipa (pipeline) dan filter. 


IV. 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 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. 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

1. Perintah grep

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

2. 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

3. Perintah sort

Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari karakter.

4. Perintah cut

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

5. Perintah uniq

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



V. PENDAHULUAN

Jawablah pertanyaan-pertanyaan di bawah ini :

1. Apa yang dimaksud redirection ?

jawab :

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

2. Apa yang dimaksud pipeline ?

jawab :

Pipeline adalah suatu mekanisme pipa yang 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


3. Apa yang dimaksud perintah di bawah ini  : echo, cat, more, sort, grep, wc, cut, uniq

jawab :

·      Echo digunakan untuk menampilkan output kelayar.
·      Cat digunakan untuk menghasilkan output kelayar dan merupakan berasal dari input sebuah keyboard.
·      More merupakan perintah untuk mempaging halaman.
·      Sort digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari karakter.
·      Grep digunakan untuk menyaring masukannya dan menampilkan baris-baris yang hanya mengandung pola yang ditentukan.
·      Wc digunakan untuk menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang dibrikan kepadanya.
·      Cut digunakan untuk mengambil kolom tertentu dari baris-baris masukannya, yang ditentukan pada option –c.
·      Uniq digunakan untuk menghilangkan baris-baris berurutan yang mengalami duplikasi, biasanya digabungkan dalam pipeline dengan sort


VI. Percobaan

Percobaan 1 : File desciptor

1. Output ke layar (standar output), input dari system (kernel)
    $ ps

Analisa : $ ps adalah perintah yang berfungsi untuk melihat proses yang sedang berjalan pada sistem.

2. Ouput ke layar (standar, output), input dari keyboard (standard input)
        $ cat
    hallo, apa khabar
    hallo, apa khabar
    exit dengan ^d 
    exit dengan ^d 
    [Ctrl-d]


Analisa : $ cat adalah perintah untuk menampilkan output ke layar yang diambil dari inputan keyboard.

3. Input dari keyboard dan output ke alamat internet
    $ mail contoh@email.com (pakai email anda) 
    contoh surat yang langsung
    dibuat pada standard input (keyboard) [Ctrl-d]


Analisa : $ mail adalah perintah untuk menulis email dari keyboard pada terminal dan mengirimkannya ke alamat email yang tertuju.

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

$ mkdir mydir

$ mkdir mydir      (Terdapat pesan error)



Analisa : $ mkdir mydir adalah perintah yang berfungsi membuat folder yang bernamakan "mydir", $ mkdir mydir (terdapat pesan error) terjadi karena sistem memberi tahu kalau folder dengan nama tersebut sudah ada atau sudah dibuat.

Percobaan 2 : Pembelokan (redirection)

1. Pembelokan standar output

$ cat 1> myfile.txt

Ini adalah teks yang saya simpan 

Ke file myfile.txt




        Analisa : $ cat 1> myfile.txt merupakan perintah yang digunakan untuk membelokka n standar input      kedalam satu file bernama “myfile.txt”.

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

$ cat 0< myfile.txt

$ cat myfile.txt

 


Analisa : 

  • $ cat 0< myfile.txt merupakan perintah untuk membelokkan standar output yang sebelmunya yang telah diinput, sperti praktek diatas
  • $ cat myfile.txt merupakan perintah untuk menampilkan teks yang disimpan dalam file myfile.txt tadi



 3.  Pembelokan standar error untuk disimpan di file

$ mkdir mydir      (Terdapat pesan error)

$ mkdir mydir 2> myerror.txt

$ cat myerror.txt


Analisa : 

  • $ mkdir mydir 2> myerror.txt merupakan perintah pembelokkan standar output erro yang disimpan dalam file
  • $ mkdir mydir (terdapat pesan error) dikarenakan jika kita membuat sebuah direktori baru dengan nama yang sama yang sduah dibuat maka akan tampil pesan error, dan kemudain pesan error tadi akan disimpan didirektori myerror.txt
  • $ cat myerror.txt merupakan perintah untuk melihat isi dari file myerror.txt

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

            $ ls filebaru           (terdapat pesan error)

     $ ls filebaru 2> out.txt

$ cat out.txt

$ ls filebaru 2> out.txt 2>&1

$ cat out.txt

 


Analisa :

  • $ ls file baru merupakan perintah untuk menampilkan daftar file dalam direktori aktif, sedangkan diatas terdapat pesan error, itu dikarenakan direktori filebaru yang diketik belum dibuat sehingga timbul pesan error
  • $ ls filebaru 2> out.txt maksud dari syntac tersebut adalah pesan error yang tadi akan dibelokan atau disimpan di file out.txt dan ditampikan dengan menggunakan perintah cat out.txt

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

$ echo “mencoba menulis file” 1> baru

$ cat filebaru 2> baru 1>&2

$ cat baru


    Analisa :
  • $ 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

 6. Notasi >> (append)

$ echo “kata pertama” > surat

$ echo “kata kedua” >> surat

$ echo “kata ketiga” >> surat

$ cat surat

$ echo “kata keempat” > surat

$ cat surat


Analisa : $ echo "kata pertama" > surat adalah perintah untuk menginput teks "kata pertama", karakter > akan membelokan output dari echo menjadi sebuah file baru bernama surat, sedangkan karakter >> akan menyisipkan output dari echo di kelanjutan isi dari file tujuan. $ cat surat berfungsi untuk menampilkan kata yang sudah ada di folder surat.


7Notasi 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

$ cat <<++

Hallo, apa kabar ? Baik-baik saja ?

Ok!

++

$ cat <<%%% Hallo, apa kabar ? Baik-baik saja ?

Ok!

%%%


Analisa : Tanda pada perintah $ cat <<++ (tanda berada di bagian +) adalah sebagai pembatas input. Input bisa terus dimasukan selama perintah tanda (++) belum diketik. Ketika tanda (++) sudah di ketik dan di enter, input berhenti dimasukan dan akan ditampilkan karena mengandung perintah $ cat.

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

$ cat myfile.txt surat



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

$ echo hello

$ echo hello > output

$ cat output

 


Analisa : $ echo hello berfungsi untuk memunculkan kata hello. Sedangkan $echo hello > output tampilan output akan di belokan ke direktori output, sehingga jika ingin menampilkan kata hello harus memanggil perintah $ cat output.

10.  Untuk menambahkan output ke file digunakan operator >>

$ echo bye >> output

$ cat output

 


Analisa : Tanda >> pada perintah $ echo bye >> output berfungsi untuk menambah kata bye ke dalam direktori output yang sebelumnya sudah dibuat. 

11.  Untuk membelokkan standart input digunakan operator <

$ cat < output

 


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

$ cat < output > out

$ cat out

$ cat < output >> out

$ cat out

$ cat < output > output

$ cat output

$ cat < out >> out           (Proses tidak berhenti)

[Ctrl-c]

$ cat out


Analisa : $ cat < output > out dan $ cat out merupakan perintah yang dikombinasikan untuk membelokkan standard output dari file output menjadi standard input untuk file out sehingga hasil standard output‐nya sama. Selanjutnya, perintah $ cat < output >> out digunakan untuk membelokkan standard output dari file output menjadi penambahan output ke file yang bernama out. Sehingga, output dari file out akan ditambahkan dengan output dari file output. Selanjutnya, perintah $ cat output >> out, $cat out, $cat < output > output, $cat output, $cat < out >> out tidak diperkenankan karena menggunakan nama file yang sama. Maka, akan muncul tulisan terus menerus hingga menekan tombol CTRL+c.

Percobaan 3 : Pipa (pipeline)

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

$ who

$ who | sort

$ who | sort –r

$ who > tmp

$ sort tmp

$ rm tmp

$ ls –l /etc | more

$ ls –l /etc | sort | more



Analisa :Perintah $who digunakan untuk melihat siapa saja yang aktif. Selanjutnya, perintah $sort untuk mengurutkan tampilan dari siapa saja yang aktif. Selanjutnya, untuk perintah $ls -l etc digunakan untuk melihat isi dari direktori (folder) /etc dan akan di pipeline dengan tambahan perintah $ more dengan tujuan mempermudah untuk menggabungkan dua perintah sekaligus.

Percobaan 4 : Filter

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

$ w –h | grep <user>

$ grep <user> /etc/passwd

$ ls /etc | wc

$ ls /etc | wc –l

$ cat > kelas1.txt Badu

Zulkifli

Yulizir 

Yudi 

Ade 

[Ctrl-d]

$ cat > kelas2.txt 

Budi

Gama 

Asep 

Muchlis [

Ctrl-d]

$ cat kelas1.txt kelas2.txt | sort

$ cat kelas1.txt kelas2.txt > kelas.txt

$ cat kelas.txt | sort | uniq



AnalisaPerintah diatas terlihat bahwa ketika meng‐input‐kan beberapa data ke standard output dari file kelas1.txt dan kelas2.txt dan ingin menggabungkan keduanya sekaligus mengurutkan datanya. Maka, harus mengetikkan perintah “cat kelas1.txt kelas2.txt | sort” untuk menampilkan hasil urutannya.


VII. Kesimpulan

    Pada pratikum kali ini merupakan operasi input output ada banyak perintah dalam operasi input dan output pada operasi sistem linux. Salah satunya adalah perintah $ cat yang berfungsi untuk menampilkan text dari file yang dibuat.  Operasi input dan output juga bepengaruh dengan simbol yang dipakai ( >, <, |) dsb.

Komentar

Postingan populer dari blog ini

Perintah Dasar Sistem Operasi Linux

Pemograman Shell 6A & 6B