Skip to content

Commit

Permalink
Commit stream
Browse files Browse the repository at this point in the history
  • Loading branch information
nurulhuda committed Dec 22, 2012
1 parent 8571fde commit 45d666f
Showing 1 changed file with 34 additions and 21 deletions.
55 changes: 34 additions & 21 deletions src/stream-dan-sed.rst
Expand Up @@ -3,8 +3,8 @@ Stream dan Sed
==============


Piping dengan Notasi ``|``
==========================
Piping dengan Notasi "|"
========================
'Piping' merupakan utility GNU/Linux yang dapat digunakan untuk mengarahkan sebuah output perintah menjadi masukan bagi perintah yang lain.

Expand Down Expand Up @@ -36,6 +36,7 @@ Pada contoh di atas, output perintah ``cat`` akan menjadi masukan bagi perintah


**Contoh 2:**

Penulis ingin mencari kata 'elektronik' pada sebuah file text 'bertanya yang baik.txt'. Secara logika kita dapat mencarinya secara manual dengan membuka file text tersebut terdahulu. Tapi jika jumlah kalimat pada file sangat banyak, maka pasti kita akan kerepotan sendiri mencarinya. Dengan bantuan 'piping' yang digabungkan dengan perintah ``grep``, pencarian kata tersebut akan sangat mudah.

::
Expand All @@ -44,9 +45,10 @@ Penulis ingin mencari kata 'elektronik' pada sebuah file text 'bertanya yang bai

Output program di atas::

Tidak ada yang tahu jawabannya bukan berarti Anda diabaikan, walaupun memang sulit untuk membedakannya (karena sifat komunikasi elektronik yang faceless).
Tidak ada yang tahu jawabannya bukan berarti Anda diabaikan, walaupun memang
sulit untuk membedakannya (karena sifat komunikasi elektronik yang faceless).

Selain menampilkannya ke layar komputer, anda juga dapat mengarahkan hasil pencarian tersebut ke file text lain dengan menggunakan redirection ``>``.
Selain menampilkannya ke layar komputer, anda juga dapat mengarahkan hasil pencarian tersebut ke file text lain dengan menggunakan redirection ">".

::

Expand All @@ -55,14 +57,16 @@ Selain menampilkannya ke layar komputer, anda juga dapat mengarahkan hasil penca

Output program di atas::

Tidak ada yang tahu jawabannya bukan berarti Anda diabaikan, walaupun memang sulit untuk membedakannya (karena sifat komunikasi elektronik yang faceless)
Tidak ada yang tahu jawabannya bukan berarti Anda diabaikan, walaupun memang
sulit untuk membedakannya (karena sifat komunikasi elektronik yang faceless)


**Contoh 3:**

::

$ tr 'A-Z' 'a-z' < bertanya\ yang\ baik.txt | tr –cs 'a-z' '\n' | sort | uniq > bertanya.txt
$ tr 'A-Z' 'a-z' < bertanya\ yang\ baik.txt | tr –cs 'a-z' '\n' | sort |
uniq > bertanya.txt

Pada contoh di atas, dapatkah anda membayangkan output dari perintah tersebut. Jika melihat perintah tersebut mungkin pembaca pemula akan sedikit pusing melihatnya, namun cukup sederhana. Mari kita lihat secara terpisah dari penggabungan beberapa perintah:

Expand Down Expand Up @@ -139,7 +143,8 @@ sehingga output dari perintah di atas adalah::

.. figure:: images/stream/konsep-tee.jpg

Konsep tee
*Konsep tee*


Misal::

Expand All @@ -156,13 +161,15 @@ Pada contoh di atas, output perintah ``ps aux`` selain di simpan ke dalam file t


Quote
-----
=====

Terkadang command line Unix/GNU/Linux dapat membuat kita putus asa dan menyebalkan. Sebagai contoh penggunaan karakter-karakter aneh seperti $, \*, &, \\, \?. Namun, jika telah terbiasa maka penggunaan karakter-karakter tersebut bukan merupakan sesuatu yang sangat mengerikan. Bahkan penggunaannya dapat mempermudah melakukan aktivitas pada mode teks.

Pada *bash shell*, karakter \* dan \? merupakan wildcard dan $ berarti variabel. Pada sub bab ini penulis mencoba menjelaskan qoute ('', \*, \\, \\\\) yang dapat digunakan untuk mempermudah saat bekerja di lingkungan mode teks GNU/Linux.

Contoh 1::
**Contoh 1:**

::

$ cat 'data baru aku.txt'
kari 1018 0.0 0.3 1772 616 pts/1 T 13:00 0:00 more
Expand All @@ -177,7 +184,9 @@ Contoh 1::
Lihat betapa pentingnya penggunaan qoute ini. Jika tidak menggunakan quote (''), perintah ``cat`` akan mencoba menampilkan tiga file yang berbeda yakni: data.txt, baru.txt, aku.txt.


Contoh 2::
**Contoh 2:**

::

$ rm –rf 'data*.txt'

Expand All @@ -189,51 +198,54 @@ Pada contoh kedua di atas, file text yang cocok dengan *data\** seperti data.txt


Proses Input dan Output
-----------------------
=======================

Hubungan antara sebuah program dan sumber informasinya dan kontrol disebut dengan standar input. Jika bukan sebuah program, maka standar input defaultnya adalah keyboard. Secara default, standar output dan error biasanya menuju ke terminal atau layar komputer.

Jika sebuah program atau perintah tereksekusi dengan benar, maka hasil dari eksekusinya akan ditampilkan ke terminal (standar output 1) jika tidak dilakukan penginisialisasian standar output. Sebaliknya, jika eksekusi program gagal, maka akan menuju ke standar error 2 (default: terrminal).

.. figure:: images/stream/proses-input-output.jpg

Proses input output
*Proses input output*

Sebagai contoh, jika terdapat sebuah file dengan nama data.txt yang berisi 5 buah nama yang tidak tersusun secara berurut, maka untuk menampilkan isi file tersebut secara berurut dapat menggunakan perintah ``sort``.

::

$ sort data.txt

Keterangan:

data.txt merupakan masukan (input) bagi perintah ``sort`` sedangkan outputnya menuju ke terminal komputer.
.. Keterangan::

data.txt merupakan masukan (input) bagi perintah ``sort`` sedangkan outputnya
menuju ke terminal komputer.


Output Redirection
------------------
==================

Pada sistem GNU/Linux, keluaran (output) dari sebuah perintah secara default akan menuju ke terminal. Namun, keluaran sebuah perintah dapat dialihkan ke sebuah file dan proses ini disebut output redirection.

Output redirection dinotasikan dengan '>' atau '>>' seperti yang tampak pada gambar berikut.

.. figure:: images/stream/redirection.jpg

Redirection standard output
*Redirection standard output*

Output redirection ini banyak digunakan untuk:

- Menyalin hasil/error ke sebuah file untuk disimpan secara permanen.
- Menyalin hasil/error ke printer untuk mendapatkan sebuah dokumentasi dalam bentuk hardcopy.
- Mengkombinasikan dua buah perintah sehingga dapat digunakan secara bersamaan.


Karakter yang digunakan oleh operator output redirection:

*Karakter operator output redirection:*
**Karakter operator output redirection:**

+---------------+-------------------------------------------------------------------+
+===============+===================================================================+
| Karakter | Fungsi |
+---------------+-------------------------------------------------------------------+
+===============+===================================================================+
| > | Mengirimkan output (redirection) ke sebuah file atau perangkat |
| | output yang lain (misal: printer, display monitor, dll). |
| | Jika file tersebut sudah ada, maka secara otomatis akan ditimpah. |
Expand Down Expand Up @@ -286,9 +298,10 @@ Sedangkan penggunaan karakter ">>" dapat anda perhatikan perbedaan dari *output*
$ more data.txt


Keterangan:
.. Keterangan::

Pada contoh di atas terlihat bahwa *output* dari perintah sebelumnya akan ditambahkan pada bagian akhir dari kalimat tersebut (terulang 2x).
Pada contoh di atas terlihat bahwa *output* dari perintah sebelumnya akan
ditambahkan pada bagian akhir dari kalimat tersebut (terulang 2x).


Input redirection
Expand Down

0 comments on commit 45d666f

Please sign in to comment.