Rabu, 11 Desember 2019

Operasi Input Output

OPERASI INPUT OUTPUT
A.   Dasat 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
roby@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
roby@ubuntu:~$ 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
roby@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
roby@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
roby@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.
B.   Pembhasan praktikum
Latihan 1. File descriptor
1.Output ke layar (standar output), input dari system (kernel)

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)

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

Analisa : untuk mengirim tulisan atau kalimat kedalam suatu alamat e-mail.
  Input nama direktori, output tidak ada (membuat rirektori baru), bila terjadi error maka tampilan error pada layar (standard 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

     
2. Pembelokan standar output, yaitu input yang dibelokkan dari keyboard menjadi dari file

3.      Pembelokan standar eror untuk disimpan

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.
C.   Kesimpulan
Pada praktikum operasi input output ini saya dapat menyimpulkan bahwa setiap kali kita memberikan instruksi atau perintah, maka linux kernel akan menciptakan sebuah proses dengan memberikan nomor identitas dari proses yang sedang berlangsung. Dan proses dalam linux selalu membutuhkan input yang kemudian menghasilkan output.Dan dapat linux mendeskripsikan input maupun output tidak membedakan antara peralatan hardware dan file, linux akan memanipulasi peralatan hardware sama dengan file  

D.   Daftar pustaka
ricaabduls.blogspot.com › 2017/12 › operasi-input-output-pada-linux

Tidak ada komentar:

Posting Komentar