Praktikum 2 - Operasi Input Output

 Praktikum 2

Operasi Input 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 eror
  • 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 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. 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 inp ut
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 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 dan untuk 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 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.


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 output),input dari system(kernel)
$ ps

Analisa : Peirntah ps adalah perintah yang digunakan untuk memperlihatkan proses yang sedang berjalan pada sistem (kernel) diperlihatkan pada layar atau proses status.

2. Output 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 : Perintah cat adalah perintah untuk menghasilkan output kelayar dan merupakan berasal dari input sebuah 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 : Perintah ini merupakan perintah untuk menulis email dari keyboard pada terminal dan mengrimnya kealamat yang ditentukan.

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



Analisa :   merupakan perintah untuk membuat direktori/ folder dari consule terminal dengan nama direktorinya mydir.
Dan jika mengetik perintah yang sama maka akan menampilkan pesan error pada consule terminal.

Percobaan 2 :  Pembelokan (redirection)

1. Pembelokan standar output 
$ cat 1> myfile.txt 
Ini adalah teks yang saya simpan 
Ke file myfile.txt 


Analisa : Perintah ini digunakan untuk membelokkan standar input kedalam satu file bernama myfile.tx

2. Pembelokan standar input, yaitu input dibelokkan dari keyboard menjadi dari file 
$ cat 0< myfile.txt 
$ cat myfile.txt

Analisa : Perintah ini digunakan untuk membelokkan standar output yang sebelumnya yang telah diinput, seperti yang diatas

3. Pembelokan standar error untuk disimpan di file

$ mkdir mydir      (Terdapat pesan error)

$ mkdir mydir 2> myerror.txt

$ cat myerror.txt





Analisa : $ cat mkdir mydir 2> myerror.txt  merupakan perintah pembelokan standar output error yang disimpan dalam film. Dan jika membuat sebuah direktori baru dengan nama yang sama maka akan tampil pesan error, dan kemudian akan menyimpan file myerror.txt.
$ cat myerror.txt perintah untuk melihat isi dari file myerror.txt.




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

    $ ls filebaru (Terdapat pesan eror)

$ ls filebaru 2> out.txt

$ cat out.txt

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

$ 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 : Pembelokan standar out adalah sama dengan file deskriptor 2 yaitu standar error .$ echo “mencoba menulis file” 1> baru : perintah untuk menginput teks “mencoba menulis file”   yang    disimpan dalam file baru
    $ cat filebaru 2> baru 1>&2
   $ cat baru : 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.

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

$ 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 keyboardcatwhp

$ cat myfile.txt surat

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

$ 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







Analisa : Perintah 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.

Kesimpulan :
Pada praktikum kali ini 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.



Comments

Popular posts from this blog

Praktikum 4 - Proses & Manajemen Proses

Praktikum 1 - Perintah Dasar Sistem Operasi Linux

Praktikum 9 - Manajemen User dan Group