Praktikum 2
Operasi Input Output
POKOK BAHASAN:
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 :
Digunakan untuk menyaring masukannya da n menampilkan baris-baris yang hanya
mengandung pola yang ditentukan. Pola ini disebut regular expression.
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.
Digunakan untuk mengurutkan masukannya berdasarkan urutan nomor ASCII dari
karakter
Digunakan untuk mengambil kolom tertentu dari baris-baris masukannya, yang
ditentukan pada option –c.
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 : P
embelokan 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
Post a Comment