Home » » laporan modul 3 praktikum SO Operasi Input Output Pada Linux

laporan modul 3 praktikum SO Operasi Input Output Pada Linux

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
ajicimol@ubuntu:~$ mail labkom@fasilkom.uniku.ac.id
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

Entri Populer