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