LAPORAN
PRAKTIKUM
SISTEM OPERASI
“Modul III Operasi Input Output ”
Disusun
Oleh :
|
|
Nama
|
:
Rica Abdul Sentosa
|
Nim
|
:
20160810066
|
Prodi
|
:
TI-2016-D
|
UNIVERSITAS
KUNINGAN
FAKULTAS
ILMU KOMPUTER
TEKNIK
INFORMATIKA
2018
OPERASI INPUT OUTPUT
TUJUAN
Setelah mempelajari
materi dalam bab ini, mahasiswa diharapkan mampu :
1.
Mengenal konsep proses I/O dan
redirection
2.
Memahami standar input, output, dan
error
3.
Menggunakan notasi output, append dan
here document
4.
mengenal konsep Pipeline dan
Filter
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 file atau 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 pemrograman C 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
ajicimol@ubuntu:~$ 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
ajicimol@ubuntu:~$ wc
a
p
a
(ctrl + d)
3 3
6
ajicimol@ubuntu:~$ wc -l
a
(ctrl + d)
1
ajicimol@ubuntu:~$ wc -w
apaan aja yaa
(ctrl + d)
3
ajicimol@ubuntu:~$ wc -c
pusing kepala justin
(ctrl + d)
21
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
ajicimol@ubuntu:~$ 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
ajicimol@ubuntu:~$ 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
ajicimol@ubuntu:~$ 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.
c.
LATIHAN
Latihan 1. File descriptor
1.
output ke layar (standar output), input
dari system (kernel)
ajicimol@ubuntu:~$ 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)
ajicimol@ubuntu:~$ cat
hallo, apa kabar
hallo, apa kabar
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)
ajicimol@ubuntu:~$ mkdir mydir
ajicimol@ubuntu:~$ 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
ajicimol@ubuntu:~$ 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
ajicimol@ubuntu:~$ cat 0< myfile.txt
ajicimol@ubuntu:~$ 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
ajicimol@ubuntu:~$ mkdir mydir (Terdapat pesan error)
ajicimol@ubuntu:~$ mkdir mydir 2> myerror.txt
ajicimol@ubuntu:~$ 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)
ajicimol@ubuntu:~$ who
ajicimol@ubuntu:~$ who sort
ajicimol@ubuntu:~$ who sort -r
ajicimol@ubuntu:~$ who tmp
ajicimol@ubuntu:~$ sort tmp
ajicimol@ubuntu:~$ rm tmp
ajicimol@ubuntu:~$ ls -l | more
ajicimol@ubuntu:~$ 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
ajicimol@ubuntu:~$ w -h | grep PM
ajicimol@ubuntu:~$ grep st /etc/passwd
ajicimol@ubuntu:~$ ls /etc | wc -l
ajicimol@ubuntu:~$ cat > kelas1.txt
Toni
ToKha
Ditoel
Uhcy Ade
(ctrl + d)
ajicimol@ubuntu:~$ cat > kelas2.txt
Budi Gama Asep Muchlis
(ctrl + d)
ajicimol@ubuntu:~$ cat kelas1.txt kelas2.txt | sort
ajicimol@ubuntu:~$ who | cut -cl-8
ajicimol@ubuntu:~$ 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.
D. Tugas
1. Lihat daftar secara lengkap pada
direktori aktif, belokkan tampilan standard output ke file baru.
ajicimol@ubuntu:~$ ls
ajicimol@ubuntu:~$ ls | more
ajicimol@ubuntu:~$ ls | cat > myfile.txt | sort |
more
Analisa : perintah diatas untuk memasukkan daftar isi direktori kedalam myfile.txt
yang diurutkan berdasarkan ASCII karakter.
gambar diatas merupakan hasil dari
perintah tersebut.
2. Gunakan perintah di bawah ini dan
perhatikan hasilnya.
ajicimol@ubuntu:~$ cat /etc/psswd | sort | pr -n |
grep tty03
ajicimol@ubuntu:~$ find /etc -print | head
ajicimol@ubuntu:~$ head /etc/passwd | tail -5 | sort
pr - mengkonversi file
teks untuk dicetak. Paginate atau columnate FILE (s) untuk pencetakan. Wajib
argumen untuk pilihan panjang adalah wajib untuk pilihan pendek juga.
pr -n [SEP [DIGITS]],
--number-lines [= SEP [DIGITS]] nomor baris, gunakan digit DIGIT (5), lalu SEP
(TAB), penghitungan default dimulai dengan 1 baris file masukan
find - cari file dalam
hirarki direktori. Halaman manual ini mendokumentasikan versi penemuan GNU. GNU
menemukan pencarian pohon direktori yang berakar pada setiap nama file yang
diberikan dengan mengevaluasi ekspresi yang diberikan dari kiri ke kanan,
sesuai dengan aturan yang didahulukan (lihat bagian OPERATOR), sampai hasilnya
diketahui (sisi kiri salah dan operasi, benar untuk atau), pada saat mana
menemukan pindah ke nama file berikutnya. Jika Anda menggunakan temukan di
lingkungan di mana keamanan itu penting (misalnya jika Anda menggunakannya
untuk mencari direktori yang dapat ditulis oleh pengguna lain), Anda harus
membaca bab "Pertimbangan Pertimbangan" dari dokumentasi findutils,
yang disebut Finding Files dan datang dengan foundutils. Dokumen itu juga
mencakup lebih banyak detail dan diskusi daripada halaman manual ini, jadi Anda
mungkin menganggapnya sebagai sumber informasi yang lebih bermanfaat.
head - output bagian
pertama dari file. Cetak 10 baris pertama dari masing-masing FILE ke keluaran
standar. Dengan lebih dari satu FILE, mendahului masing-masing dengan header
yang memberi nama file. Tanpa FILE, atau saat FILE -, baca input standar.
tail - output bagian
terakhir dari file. Cetak 10 baris terakhir dari masing-masing FILE ke keluaran
standar. Dengan lebih dari satu FILE, mendahului masing-masing dengan header
yang memberi nama file. Tanpa FILE, atau saat FILE -, baca input standar.
Analisa : jadi perintah diatas merupakan gabungan file yang dikonversikan dalam
pencarian hirarki direktori yang berupa head output bagian pertama yang dicetak
10 baris pertama dan tail -5 output bagian terakhir dari file yang dicetak 5
baris terakhir dari masing-masing file ke keluaran standar.
3. Gunakan perintah ajicimol@ubuntu:~$
who | cat | cat | sort | pr | head | cat | tail dan perhatikan hasilnya.
Analisa : menunjukan siapa yang masuk pada halaman 1.
DAFTAR PUSTAKA
0 komentar:
Posting Komentar