MODUL 4 OPERASI INPUT OUTPUT
DASAR TEORI
1. Proses Input dan
Output
Proses adalah program
data yang sedang berjalan, bila suatu data tidak berjalan maka dinamakan file.
Setiap kali instruksi diberikan maka LINUX karnel akan menciptakan sebuah
proses dengan memberikan nomor PID (proses identity). Proses dalam LINUX selalu
membutuhkan input dan menghasilkan output.
Dalam konteks LINUX
input/output adalah :
· keyboard (input)
· Layar (output)
· Files
· Struktur data kernel
· Peralatan I/O lainnya
Sebuah proses
memerlukan Input dan Output.

Instruksi (command)
yang diberikan pada Linux melalui Shell disebut sebagai eksekusi program yang
selanjutnya disebut proses (pro c ess). Setiap kali instruksi
diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan
nomor PID (Process Identy). Proses dalam Linux selalu membutuhkan Input dan
menghasilkan suatu Output.
2. File Descriptor
Di Unix dan sistem
operasi komputer yang terkait , deskriptor
file ( FD , less often fildes )
adalah indikator abstrak ( pegangan ) yang digunakan
untuk mengakses fileatau sumber input / output lainnya , seperti soket pipa atau jaringan . File
deskriptor merupakan bagian dari antarmuka pemrograman
aplikasi POSIX . Deskriptor
file adalah bilangan bulat non-negatif,
umumnya diwakili dalam bahasa pemrogramanC sebagai tipe int
(nilai negatif dicadangkan untuk menunjukkan "tidak ada nilai" atau
kondisi kesalahan).
Di Linux , kumpulan
deskriptor file yang terbuka dalam sebuah proses dapat diakses di bawah path
/proc/PID/fd/ , di mana PID adalah identifier proses .
Linux berkomunikasi
dengan file melalui file desriptor yang dipresentasikan melalui angka yang
dimulai dari 0, 1, 2 dan seterusnya.
· 0 Tiga buah file descriptor standar yang
lalu diciptakan oleh proses adalah = 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)
Redirection adalah teknik mengalihkan
input atau output dari standarnya. Pembelokan dilakukan untuk standart input,
output dan error, yaitu untuk mengalihkan file descriptor dari 0, 1 dan 2.
Simobol untuk pembelokan adalah :
0 < atau < pengganti standard
input
1 > atau > pengganti standard
output
4. Saluran (Pipeline)
Pipeline adalah teknik
menjadikan output sebuah proses menjadi input proses lainnya. Mekanisme saluran
digunakan sebagai alat komunikasi antar proses.
Input => Process1
=> Output => Input => Process2 => Output
Proess1 mengahsilkan
Output yang selanjutnya digunakan sebagai Input oleh Process2. Hubungan output
input ini dinamakan saluran, yang menghubungkan Process1 dengan Process2 dan
dinyatakan dengan simbol pipe (|)
Process1
| Process2
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 merupakan 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 dan menampilkan baris-baris yang hanya mengandung pola
yang ditentukan. Pola ini disebut regular expression.
grep mencari input
FILE yang dimaksud (atau input standar jika tidak ada file yang diberi nama,
atau jika satu tanda hubung minus (-) diberikan sebagai nama file) untuk baris
yang berisi kecocokan dengan PATTERN yang diberikan. Secara default, grep mencetak
garis yang sesuai.
Selain itu, tiga
varian program egrep, fgrep dan rgrep pun tersedia. egrep sama dengan grep -E.
fgrep sama dengan grep -F. rgrep sama dengan grep -r. Pemanggilan langsung
sebagai salah satu egrep atau fgrep sudah tidak berlaku lagi, namun disediakan
untuk memungkinkan aplikasi historis yang mengandalkannya agar tidak
dimodifikasi.
· Perintah wc
Digunakan untuk
menghitung jumlah baris, kata dan karakter dari baris-baris masukan yang
diberikan kepadanya. Untuk mengetahui berapa baris gunakan opsi -l, untuk
mengetahui berapa kata, gunakan opsi -w dan untuk mengetahui berapa karakter,
gunakan opsi -c. Jika salah satu opsi tidak digunakan, maka tampilannya adalah
jumlah baris, jumlah kata dan jumlah karakter.
wc - cetak newline,
kata, dan jumlah byte untuk setiap file. Cetak jumlah baris, kata, dan byte
baru untuk setiap FILE, dan baris total jika lebih dari satu FILE ditentukan.
Tanpa FILE, atau saat FILE -, baca input standar. Sebuah kata adalah urutan
karakter tanpa nol yang dibatasi oleh ruang putih. Pilihan di bawah ini dapat
digunakan untuk memilih jumlah yang dicetak, selalu dengan urutan sebagai
berikut: newline, word, character, byte, maximum line length.
· Perintah sort
Digunakan untuk mengurutkan masukannya
berdasarkan urutan nomor ASCII dari karakter.
sort - sort baris file teks. Tulis
rangkaian yang diurutkan dari semua FILE ke keluaran standar.
· Perintah cut
Digunakan untuk
mengambil kolom tertentu dari baris-baris masukannya, yang ditentukan pada opsi
-c.
cut - lepaskan bagian
dari setiap baris file. Cetak bagian-bagian tertentu dari masing-masing FILE ke
output standar.
· Perintah uniq
Digunakan untuk
menghilangkan baris-baris berurutan yang mengalami duplikasi, biasanya
digabungkan dalam pipeline dengan sort.
uniq - laporkan atau
hilangkan garis berulang. Filter garis pencocokan berdekatan dari INPUT (atau
input standar), tulis ke OUTPUT (atau output standar). Tanpa pilihan, garis
yang cocok digabungkan ke kejadian pertama. Wajib argumen untuk pilihan panjang
adalah wajib untuk pilihan pendek juga.
LATIHAN
Latihan 1. File descriptor
1. output ke layar
(standar output), input dari system (kernel)
# ps
ps - melaporkan sebuah
snapshot dari proses saat ini. ps menampilkan informasi tentang pilihan proses
aktif. Jika Anda menginginkan pemutakhiran berulang tentang pemilihan dan
informasi yang ditampilkan, gunakan yang teratas (1) sebagai gantinya.
Versi ps ini menerima
beberapa jenis pilihan:
· Pilihan UNIX, yang
mungkin dikelompokkan dan harus didahului dengan tanda hubung.
· Pilihan BSD, yang
mungkin dikelompokkan dan tidak boleh digunakan dengan tanda hubung.
· Pilihan GNU panjang,
yang didahului oleh dua tanda hubung.
Pilihan jenis yang
berbeda dapat dicampur secara bebas, namun konflik bisa muncul. Ada beberapa
pilihan sinonim, yang secara fungsional identik, karena banyak standar dan
implementasi ps yang kompatibel dengan ps ini.
Perhatikan bahwa
"ps -aux" berbeda dari "ps aux". Standar POSIX dan UNIX
mengharuskan "ps -aux" mencetak semua proses yang dimiliki oleh
pengguna yang bernama "x", serta mencetak semua proses yang akan
dipilih oleh opsi-a. Jika pengguna yang bernama "x" tidak ada, ps ini
mungkin menafsirkan perintah sebagai "ps aux" dan mencetak sebuah
peringatan. Perilaku ini dimaksudkan untuk membantu transisi naskah dan
kebiasaan lama. Hal ini rapuh, dapat berubah, dan karenanya tidak dapat
diandalkan.
Secara default, ps
memilih semua proses dengan ID pengguna efektif yang sama (euid = EUID) sebagai
pengguna saat ini dan terkait dengan terminal yang sama dengan invoker. Ini
menampilkan proses ID (pid = PID), terminal yang terkait dengan proses (tname =
TTY), waktu CPU terakumulasi dalam format [DD-] hh: mm: ss (waktu = TIME), dan
nama eksekusi (ucmd = CMD). Output disortir secara default.
Penggunaan opsi gaya
BSD akan menambahkan status proses (stat = STAT) ke tampilan default dan
menunjukkan perintah args (args = COMMAND) alih-alih nama yang dapat
dieksekusi. Anda bisa mengesampingkan ini dengan variabel lingkungan PS_FORMAT.
Penggunaan opsi gaya BSD juga akan mengubah pemilihan proses untuk memasukkan
proses pada terminal lain (TTYs) yang dimiliki oleh Anda; Secara bergantian,
ini dapat digambarkan sebagai pengaturan seleksi menjadi rangkaian semua proses
yang disaring untuk mengecualikan proses yang dimiliki oleh pengguna lain atau
tidak pada terminal. Efek ini tidak dipertimbangkan saat opsi digambarkan
sebagai "identik" di bawah, jadi -M akan dianggap identik dengan Z
dan seterusnya.
Kecuali seperti yang
dijelaskan di bawah ini, pilihan pemilihan proses bersifat aditif. Pilihan
default dibuang, dan kemudian proses yang dipilih ditambahkan ke rangkaian
proses yang akan ditampilkan. Sebuah proses akan ditunjukkan jika memenuhi
salah satu kriteria seleksi yang diberikan.
Analisa : perintah di gunakan
untuk menampilkan informasi proses yang sedang berjalan termasuk nomor PID
(Process Identification Number) dari proses tersebut. Proses atau biasa disebut
task akan berjalan jika ada sebuah aplikasi yang sedang dijalankan, setiap
proses yang berjalan oleh system diberi nomor PID yang unik.
2. Output ke layar (standar output), input dari keyboard
(standard input)
hallo, apa khabar
hallo, apa khabar
exit dengan ^d
exit dengan ^d
(ctrl +d)
cat - menggabungkan
file dan mencetak pada output standar. Menyatukan FILE (s), atau input standar,
ke keluaran standar.
Analisa : perintah cat adalah
perintah untuk mngetahui isi dari suatu file, atau juga dapat untuk menyisipkan
tulisan dalam file.
3. Input dari keyboard
dan output ke alamat internet
contoh surat yang
langsung dibuat pada standard input (keyboard).
Analisa : untuk mengirim tulisan
atau kalimat kedalam suatu alamat e-mail.
4. Input nama direktori,
output tidak ada (membuat rirektori baru), bila terjadi error maka tampilan
error pada layar (standard error)
$ mkdir mydir
$ mkdir mydir(Terdapat
pesan error)
mkdir - membuat direktori. Buat
DIRECTORY (ies), jika belum ada.
Wajib argumen untuk pilihan panjang
adalah wajib untuk pilihan pendek juga.
Analisa : perintah mkdir adalah
perintah untuk membuat direktori baru, diatas terdapat pesan error karena
direktori dengan nama mydir sudah ada. jika sudah ada nama file direktori yang
sama maka tidak bisa.
Latihan 2. Pembelokan (redirection)
1. Pembelokan standar
output
$ cat 1> myfile.txt
Ini adalah teks yang
saya simpan ke file myfile.txt
Analisa : perintah penginputan
kalimat sekaligus membuat file baru. Isi dari file tersebut berupa apa yang
kita ketikan setelah kita meng enter perintah ajicimol@ubuntu:~$ cat 1>
myfile.txt
2. Pembelokan standar
output, yaitu input yang dibelokkan dari keyboard menjadi dari file
$ cat 0< myfile.txt
$ cat myfile.txt
Analisa : seperti perintah di
atas dan disimpan dalam file myfile.txt dan perintah cat untuk melihat dan
menampilkan didalam perintah isi dari file myfile.txt.
3. Pembelokan standar error untuk disimpan di file
$ mkdir mydir
(Terdapat pesan error)
$ mkdir mydir 2>
myerror.txt
$ cat myfile.txt
Analisa : mkdir mydir –> membuat
direktori mydir,terdapat pesan error karena direktory sudah ada. Sesudah itu
membelokkan isi dari file direktori mydir ke direktory myerror secara langsung
membuat direktori myerror.
Latihan 3. Saluran (pipeline)
$ who
$ who sort
$ who sort -r
$ who tmp
$ sort tmp
$ rm tmp
$ ls -l | more
$ ls -l |sort
who - menunjukkan
siapa yang masuk. Cetak informasi tentang pengguna yang saat ini masuk
rm - menghapus file
atau direktori Halaman manual ini mendokumentasikan versi GNU rm. rm menghapus
setiap file yang ditentukan Secara default, itu tidak menghapus direktori. Jika
opsi -I atau --interactive = once diberikan, dan ada lebih dari tiga file atau
-r, -R, atau --recursive diberikan, maka rm akan meminta pengguna apakah akan
melanjutkan keseluruhan operasi. Jika responnya tidak afirmatif, seluruh
perintah dibatalkan. Jika tidak, jika sebuah file tidak dapat disalahgunakan,
input standar adalah terminal, dan opsi f atau --force tidak diberikan, atau
pilihan -i atau --interruptive = always option diberikan, rm meminta pengguna
apakah akan hapus file Jika responnya tidak afirmatif, file tersebut dilewati.
ls - daftar isi
direktori Cantumkan informasi tentang FILE (direktori saat ini secara default).
Urutkan entri menurut abjad jika tidak ada -cftuvSUX atau --sort yang
ditentukan. Wajib argumen untuk pilihan panjang adalah wajib untuk pilihan
pendek juga.
ls -l Digunakan untuk
format daftar panjang
more - filter perusal
untuk melihat crt. more adalah filter untuk paging melalui teks satu layar pada
satu waktu. Versi ini sangat primitif. Pengguna harus menyadari bahwa kurang
(1) menyediakan lebih banyak (1) emulasi ditambah perangkat tambahan yang luas.
Analisa : mencantumkan informasi
tentang file dan direktori yang berupa tanggal, bulan, tahun dibuatnya yang
disusun berdasarkan urut nomor ASCII dari karakter.
Latihan 4. Filter
$ w -h | grep PM
$ grep st /etc/passwd
$ ls /etc | wc -l
$ cat > kelas1.txt
Toni
ToKha
Ditoel
Uhcy Ade
(ctrl + d)
$ cat > kelas2.txt
Budi Gama Asep Muchlis
(ctrl + d)
$ cat kelas1.txt
kelas2.txt | sort
$ who | cut -cl-8
$ cat kelas.txt |sort
| uniq
Analisa : menulis dalam file yang dinamakan kelas1.txt dan kelas 2 txt kemudian menampilkan kedua isi file dengan perintah cat kelas1.txt kelas2.txt | sort kemudian memerge isi kedua file dengan tanda > dan menampilkan salah satu file yang menjadi tujuan merge file tadi.
DAFTAR PUSTAKA


Komentar
Posting Komentar