Praktikum 2 : Operasi Input dan Output

 Praktikum 2

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

ABSTRAK :
    Linux adalah  sistem  operasi  yang  disebarkan  secara  luas  dan  bebas  dibawah  lisensi GNU General  Public  License,  yang  artinya  source  code  linux  tersedia  bagi  umum  dan source  code  ini  juga  bisa  Anda  kembangkan  apabila  Anda  mempunyai  kemampuan, itulah  salah  satu  yang  membuat  linux  sangat  spesial  dibandingkan  sistem  operasi  yang lainnya. Linux termasuk dari 3 Sistem Operasiyang perkembangannya sangat cepat dan pesat selain dari Windows dan Machintos.

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 dalam sistem unix dan Linux merupakan salah satu cara untuk melewatkan output dari suatu program ke program lain, dengan redirection kita bisa menyimpan output suatu file baik kedalam sebuah file atau diproses dengan program lain. Fasilitas redirection memungkinkan kita untuk dapat menyimpan output dari sebuah proses untuk disimpan ke file lain (Output Redirection) atau sebaliknya menggunakan isi dari file sebagai input dalam suatu proses (Input redirection).
 
    Komponen-komponen dari redirection adalah <, >, < <, >

2. Apa yang dimaksud pipeline ? 

    Pipeline ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk memberikan input dari suatu proses dari output proses yang lain. Misalkan sebagai contoh : 

    Sebelum kita gunakan pipeline. Formatnya : 
  • $ find * 
  • dead.letter 
  • mbox
  •  test

3. Apa yang dimaksud perintah di bawah ini : echo, cat, more, sort, grep, wc, cut, uniq
  • echo : 
Untuk menampilkan baris teks/menampilkan tulisan yang di buat setelah perintah echo dan itu tidak disimpan. Sintaks : echo $Home
  • cat : 
Untuk menampilkan isi dari sebuah file di layar. Sintaks : $ cat / nama/suatu/file
  • more : 
Untuk melihat isi suatu file dengan fasilitas melihat isi file dari atas dan untuk kebawah menggunakan tombol Enter untuk perbaris dan tombol Spasi untuk perlayar. Contoh : # More andre.txt
  • sort : 
Untuk mengurutkan suatu file teks menurut abjad. Contoh : # sort andre.txt
  • grep : 
Kepanjangan GREP : Global Regular Expression Parse. Untuk pencarian data di dalam file, penggunaan grep akan lebih mengefisienkan waktu ketimbang harus membaca satu per satu. Sintaks : $ grep [opsional] <teks><file>
  • wc : 
Untuk mencetak/menampilkan jumlah baris, kata, dan byte di file Sintaks : $ wc file1.txt
  • cut : 
Untuk mengambil kolom tertentu dari baris-baris masukannya yang ditentukan pada option –c. Contoh : # cut –c 2-4 andre.txt
  • uniq : 
Untuk menghilangkan baris – baris berurutan yang mengalami duplikasi. Contoh : # uniq andre.txt

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 : yaitu perintah yang digunakan untuk memperlihatkan proses yang sedang berjalan pada sistem (kernel) diperlihatkan pada layar atau proses status.

$ ps


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

        $ cat : yaitu untuk menghasilkan output kelayar dan merupakan berasal dari input sebuah keyboard.

$ cat
hallo, apa khabar
hallo, apa khabar 
exit dengan ^d 
exit dengan ^d 
[Ctrl-d]


3. Input dari keyboard dan output ke alamat internet 

        $ mail contoh@gmail.com merupakan perintah untuk menulis email dari keyboard pada terminal dan mengrimnya kealamat yang ditentukan.

$ mail contoh@email.com (pakai email anda) 
contoh surat yang langsung 
dibuat pada standard input (keyboard) 
[Ctrl-d]


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

        $ mkdir mydir merupakan perontah 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.

$ mkdir mydir 
$ mkdir mydir (Terdapat pesan error)


- Percobaan 2 : Pembelokan (redirection)

1. Pembelokan standar output 
    $ cat 1> myfile.txt : Perintah dibawah  digunakan untuk membelokkan standar input kedalam satu file bernama myfile.txt
Ini adalah teks yang saya simpan 
Ke file myfile.txt 


2. Pembelokan standar input, yaitu input dibelokkan dari keyboard menjadi dari file 
    $ cat 0< myfile.txt : perintah untuk membelokkan standar output yang sebelumnya    yang telah diinput, seperti praktek yang diatas
$ cat myfile.txt 

3. Pembelokan standar error untuk disimpan di file 
$ mkdir mydir (Terdapat pesan error)
    $ mkdir mydir 2> myerror.txt  : perintah pembelokan standar output error yang disimpan dalam file. 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. Berikut ini tampilan dari perintah myerror.txt

4. Notasi 2>&1: pembelokan standar error (2>) adalah identik dengan file descriptor 1. 
$ ls filebaru 
$ 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 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) merupakan menambahkan isi dari file tanpa menghapus yang sudah ada didalamnya. 
$ echo “kata pertama “ > surat : perintah untuk menambah isi dengan kalimat kata pertama pada file  surat $ echo “kata kedua “ >> surat $ echo “kata ketiga “ > > surat 
$ cat surat : perintah untuk menampilkan kalimat yang telah diiput kedalam file surat. 
$ echo “kata keempat “ > surat $ cat surat
7. notasi here document ( <<++ ... >++) dan (<<%%%...>%%%) digunakan sebagai pembatas input dari keyboard. Perhatikan bahwa tanda pembatas dapat digantikandengan 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. Operator > digunakan untuk membelokkan standar output ke file
10. Operator >> digunakan untuk menambah output ke file
11. Operator < digunakan untuk membelokkan standar input
12. pembelokan standard input dan output dapat dikombinasikan tetapi tidak boleh menggunakan nama file yang sama
- Percobaan 3 : Pipa (pipeline)
1. $ who
2. who | sort : merupakan perintah pipa yang fungsinya untuk mengurutkan aplikasi yang aktif secara assending.
3. who | sort -r : merupakan perintah operator pipa yang berfungsi untuk mengurutkan aplikasi yang aktif secara desending.
4. rm tmp :digunakan untuk menampilkan isi dari file tmpdan diurut berdasarkan abjad.
5. ls -l /etc | more : printah untuk menampilkan nama direktori etc secara lengkap yang terdiri dari nama file, atau menmapilkan isi direktori dengan list yang panjang.
- Percobaan 4 : Filter
1. $ ls /etc | wc : perintah untuk menampilkan jumlah baris, kata dan byte setiap file pada direktori /etc.
2. $ cat > kelas.txt : perintah untuk menampilkan file kelas.txt  dan kelas2.txt serta perintah untuk memanggil data yang ada didalam kelas.txt dan kelas2.txt
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”
ANALISA :
    Perintah ps digunakan untuk memperlihatkan proses yang sedang berjalan pada sistem (kernel) diperlihatkan pada layar (standart output).PID (Process Identifier) memperlihatkan nomor setiap proses yang diberikan berurutan oleh sistem linux.
    Perintah mail digunakan untuk menulis e-mail dari keyboard yang ditampilkan ke terminal dan mengirimnya ke alamat yang dituju.
KESIMPULAN :
1.      fungsi dari $ cat perintah untuk menampilkan text dari file yang dibuat. 
2.      Dalam operasi input output pada linux banyak menggunakan perintah. 
3.      Simbol 0< digunakan untuk menampilkan(output), simbol >1 digunakan untuk menginputkan text pada file, dan simbol 2> digunakan untuk menginputkan pesan error ke dalaam file.

DAFTAR PUSTAKA :

Komentar

Postingan populer dari blog ini

Praktikum 6 : Pemrograman Shell

Praktikum 8 : Sistem File

Praktikum 7 : Unix System Call dan Manajemen Memory