Download Makalah Versi Full
Disini
Download Makalah Versi PPT
Disini
Priview Makalah :
BAB I
PENDAHULUAN
PENDAHULUAN
Di zaman modern ini
telah berkembang berbagai macam bentuk computer dan perangkat pendukung guna
meningkatkan kinerja computer baik dari segi internal maupun eksternal system.
Agar computer dapat berhubungan dengan lingkungan luar maka dari itu diperlukan
perangkat tambahan dan system yang mengatur komunikasi perangkat dengan
processor atau CPU yang berada di lingkungan dalam computer. Tanpa dapat
berkomunikasi dengan dunia luar computer bukan lah apa-apa. Sebagai contoh pada
saat kita ingin melakukan peroses pengolahn data atau sebagainya namun disana
tidak terdapat layar monitor computer lalu bagaimanakah kita tahu bahwa kita
telah berhasil melakukan proses tersebut?. Maka dari itu agar mempermudah kerja
kita computer membutuhkan prangkat tambahan yang disebut peripheral. Kita akan
membahas lebih jelas tentang modul I/O pada halaman selanjutnya.
1.
Apakah yang dimaksud
dengan unit masukan dan keluaran ?
2.
Apakah yang dimaksud
dengan modul I/O ?
3.
Apakah fungsi dari modul
I/O ?
4.
Bagaimana setruktur
modul I/O?
5.
Apakah yang dimaksud
direct memory access ?
6.
Apakah yang dimaksud
perangkat eksternal ?
1.
Mengetahui unit masukan dan keluaran
2.
Mengetahui pengertian
modul I/O
3.
Mengetahui fungsi modul I/O
4.
Mengetahui setruktur modul I/O
5.
Mengetahui tentang direct memory access
6.
Mengetahui dan memahami
contoh-contoh perangkat input dan output.
Modul
I/O merupakan peralatan antarmuka (interface) bagi
sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat
peripheral. Modul I/O tidak hanya sekedar modul penghubung, tetapi sebuah
piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral
dan bus komputer.
Ada beberapa alasan kenapa piranti – piranti tidak langsung
dihubungkan dengan bus sistem komputer, yaitu :
Ø
Bervariasinya metode
operasi piranti peripheral, sehingga tidak praktis apabila system komputer
harus menangani berbagai macam sisem operasi piranti peripheral tersebut.
Ø
Kecepatan transfer data
piranti peripheral umumnya lebih lambat dari pada laju transfer data pada CPU
maupun memori.
Ø
Format data dan panjang
data pada piranti peripheral seringkali berbeda dengan CPU,sehingga perlu modul
untuk menselaraskannya.
Dari beberapa alasan diatas, modul I/O memiliki dua buah fungsi
utama, yaitu :
a. Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
b. Sebagai piranti antarmuka dengan peralatan peripheral lainnya
dengan menggunakan link data tertentu.
Bagaimana modul I/O dapat menjalankan tugasnya, yaitu menjembatani
CPU dan memori dengan dunia luar merupakan hal yang terpenting untuk kita
ketahui. Inti mempelajari sistem I/O suatu komputer adalah mengetahui fungsi
dan struktur modul I/O. Perhatikan gambar 1.1 yang menyajikan model
generik modul
I/O.
Modul I/O adalah suatu komponen dalam sistem komputer yang
bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan
bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut
dengan memori utama ataupun dengan register – register CPU. Dalam mewujudkan
hal ini, diperlukan antarmuka internal dengan komputer (CPU dan memori utama)
dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi – fungsi
pengontrolan.
Fungsi dalam menjalankan tugas bagi modul I/O dapat dibagi menjadi
beberapa katagori, yaitu:
• Kontrol dan pewaktuan.
• Komunikasi CPU.
• Komunikasi perangkat eksternal.
• Pem-buffer-an data.
• Deteksi kesalahan.
Fungsi kontrol dan pewaktuan (control & timing)
merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen
penyusun komputer. Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih
perangkat dengan pola tidak menentu dan kecepatan transfer komunikasi data yang
beragam, baik dengan perangkat internal seperti register – register, memori
utama, memori sekunder, perangkat peripheral. Proses tersebut bisa berjalan
apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara
keseluruhan. Contoh control pemindahan data dari peripheral ke CPU melalui
sebuah modul I/O dapat meliputi langkah – langkah berikut ini :
a.
Permintaan dan
pemeriksaan status perangkat dari CPU ke modul I/O.
b.
Modul I/O memberi
jawaban atas permintaan CPU.
c.
Apabila perangkat
eksternal telah siap untuk transfer data, maka CPU akan mengirimkan perintah ke
modul I/O.
d.
Modul I/O akan menerima
paket data dengan panjang tertentu dari peripheral.
e.
Selanjutnya data dikirim
ke CPU setelah diadakan sinkronisasi panjang data dan kecepatan transfer oleh
modul I/O sehingga paket – paket data dapat diterima CPU dengan baik.
Transfer data tidak akan lepas dari penggunaan sistem bus, maka
interaksi CPU dan modul I/O akan melibatkan kontrol dan pewaktuan sebuah
arbitrasi bus atau lebih. Adapun fungsi komunikasi antara CPU dan modul I/O
meliputi proses – proses berikut :
ü
Command Decoding, yaitu modul I/O menerima perintah – perintah dari CPU yang
dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk
disk dapat menerima perintah: Read sector, Scan record ID, Format disk.
ü
Data, pertukaran data antara
CPU dan modul I/O melalui bus data.
ü
Status Reporting, yaitu pelaporan kondisi
status modul I/O maupun perangkat peripheral, umumnya berupa status
kondisi Busy atau Ready. Juga status
bermacam – macam kondisi kesalahan (error).
ü
Address Recognition, bahwa peralatan atau
komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki
alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus
mengetahui alamat peripheral yang dikontrolnya.
Pada sisi modul I/O ke perangkat peripheral juga terdapat
komunikasi yang meliputi komunikasi data, kontrol maupun status. Perhatikan
gambar 1.2 berikut.
Gambar 1.2 Skema suatu perangkat peripheral
Fungsi selanjutnya
adalah buffering. Tujuan utama buffering adalah
mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari
perangkat peripheral dengan kecepatan pengolahan pada CPU. Umumnya laju
transfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun
media penyimpan. Fungsi terakhir adalah deteksi kesalahan. Apabila pada
perangkat peripheral terdapat masalah sehingga proses tidak dapat dijalankan,
maka modul I/O akan melaporkan kesalahan tersebut. Misal informasi kesalahan
pada peripheral printer seperti: kertas tergulung, pinta habis, kertas habis,
dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit
paritas.
Terdapat berbagai macam modul I/O seiring perkembangan komputer
itu sendiri, contoh yang sederhana dan fleksibel adalah Intel 8255A yang sering
disebut PPI (Programmable Peripheral Interface). Bagaimanapun
kompleksitas suatu modul I/O, terdapat kemiripan struktur, seperti terlihat
pada gambar 1.3.
Gambar 1.3 Blok diagram struktur modul I/O
Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat
tiga saluran, yaitu saluran data, saluran alamat dan saluran kontrol. Bagian
terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan
antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini.
Terdapat tiga buah teknik dalam operasi I/O, yaitu: I/O
terprogram, interrupt – driven I/O, dan
DMA (Direct Memory Access). Ketiganya memiliki keunggulan
maupun kelemahan, yang penggunaannya disesuaikan sesuai untuk kerja masing – masing
teknik.
Pada I/O terprogram, data saling dipertukarkan antara CPU dan
modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU
secara langsung, seperti pemindahan data, pengiriman perintah baca maupun
tulis, dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu
sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu,
apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak
dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan
padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap
dilaksanakan.
Untuk melaksanakan perintah – perintah I/O, CPU akan mengeluarkan
sebuah alamat bagi modul I/O dan perangkat peripheralnya sehingga
terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan.
Terdapat empat klasifikasi perintah I/O, yaitu:
a.
Perintah control.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan
memberitahukan tugas yang diperintahkan padanya.
b.
Perintah test.
Perintah ini digunakan CPU untuk menguji berbagai kondisi status
modul I/O dan peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam
keadaan aktif dan siap digunakan, juga untuk mengetahui operasi – operasi I/O
yang dijalankan serta mendeteksi kesalahannya.
c.
Perintah read.
Perintah pada modul I/O untuk mengambil suatu paket data kemudian
menaruh dalam buffer internal. Proses selanjutnya paket data dikirim melalui
bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.
d.
Perintah write.
Perintah ini kebalikan dari read. CPU
memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada
perangkat peripheral tujuan data tersebut.
Dalam teknik I/O terprogram, terdapat dua macam inplementasi
perintah I/O yang tertuang dalam instruksi I/O, yaitu: memory-mapped I/O dan isolated I/O.
Dalam memory-mapped I/O,
terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan
register status dan register data modul I/O sebagai lokasi memori dan
menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun
perangkat I/O Konskuensinya adalah diperlukan saluran tunggal untuk
pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory-mapped I/O adalah efisien dalam
pemrograman, namun memakan banyak ruang memori alamat.
Dalam teknik isolated I/O,
dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi
I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran
pembacaan dan penulisan memori ditambah saluran perintah output. Keuntungan isolated I/O
adalah sedikitnya instruksi I/O
Teknik interrupt – driven I/O memungkinkan proses tidak membuang –
buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O,
bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi
perintah – perintah lainnya. Apabila modul I/O telah selesai menjalankan
instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa
tugasnya telah selesai.
Dalam teknik ini kendali perintah masih menjadi tanggung jawab
CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah
tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU
melakukan multitasking beberapa perintah
sekaligus sehingga tidak ada waktu tunggu bagi CPU.
Cara kerja teknik interupsi di sisi modul I/O adalah modul I/O
menerima perintah, missal read. Kemudian modul
I/O melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data
ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke
CPU melalui saluran kontrol. Kemudian modul menunggu datanya diminta CPU. Saat
permintaan terjadi, modul meletakkan data pada bus data dan modul siap menerima
perintah selanjutnya.
ü Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah
operasi I/O adalah sebagai berikut :Perangkat I/O akan mengirimkan sinyal
interupsi ke CPU.
ü CPU menyelesaikan operasi yang sedang dijalankannya kemudian
merespon interupsi.
ü CPU memeriksa interupsi tersebut, kalau valid maka CPU akan
mengirimkan sinyal acknowledgment ke
perangkat I/O untuk menghentikan interupsinya.
ü CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal
yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan
operasi yang tadi dijalankan sebelum adanya interupsi. Informasi yang
diperlukan berupa:
ü Status prosesor, berisi register yang dipanggil PSW (program status word).
ü Lokasi intruksi berikutnya yang akan dieksekusi. Informasi
tersebut kemudian disimpan dalam stack pengontrol sistem.
ü Kemudian CPU akan menyimpan PC (program counter)
eksekusi sebelum interupsi ke stack pengontrol bersama informasi PSW.
Selanjutnya mempersiapkan PC untuk penanganan interupsi.
ü Selanjutnya CPU memproses interupsi sempai selesai.
ü Apabila pengolahan interupsi selasai, CPU akan memanggil kembali
informasi yang telah disimpan pada stack pengontrol untuk meneruskan operasi
sebelum interupsi. Terdapat bermacam teknik yang digunakan CPU dalam menangani
program interupsi ini, diantaranya :
Multiple Interrupt Lines, Software poll, Daisy Chain, Arbitrasi bus.
Teknik yang paling sederhana adalah menggunakan saluran interupsi
berjumlah banyak (Multiple Interrupt Lines) antara
CPU dan modul – modul I/O. Namun tidak praktis untuk menggunakan sejumlah
saluran bus atau pin CPU ke seluruh saluran interupsi modul – modul I/O.
Alternatif lainnya adalah menggunakan software poll. Prosesnya, apabila CPU
mengetahui adanya sebuah interupsi, maka CPU akan menuju ke routine layanan
interupsi yang tugasnya melakukan poll seluruh modul I/O untuk menentukan modul
yang melakukan interupsi.
Kerugian software poll adalah
memerlukan waktu yang lama karena harus mengidentifikasi seluruh modul untuk
mengetahui modul I/O yang melakukan interupsi.
Teknik yang lebih efisien adalah daisy chain, yang menggunakan hardware poll. Seluruh modul I/O tersambung dalam
saluran interupsi CPU secara melingkar (chain). Apabila ada
permintaan interupsi, maka CPU akan menjalankan sinyal acknowledge yang berjalan pada saluran interupsi
sampai menjumpai modul I/O yang mengirimkan interupsi.
Teknik berikutnya adalah arbitrasi bus.
Dalam metode ini, pertama – tama modul I/O memperoleh kontrol bus sebelum modul
ini menggunakan saluran permintaan interupsi. Dengan demikian hanya akan
terdapat sebuah modul I/O yang dapat melakukan interupsi.
Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan
Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul
I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
·
Kelajuan transfer I/O
yang tergantung pada kecepatan operasi CPU.
·
Kerja CPU terganggu
karena adanya interupsi secara langsung.
Bertolak dari kelemahan di atas, apalagi untuk menangani transfer
data bervolume besar dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA).
Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada
DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi
lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan
proses lainnya tanpa banyak terganggu dengan interupsi.
Dalam melaksanakan transfer data secara mandiri, DMA memerlukan
pengambilalihan kontrol bus dari CPU. Untuk itu DMA akan menggunakan bus bila
CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara
penggunaan bus. Teknik terakhir lebih umum digunakan, sering disebut cycle-stealing, karena modul DMA mengambil alih siklus
bus.
Penghentian sementara penggunaan bus bukanlah bentuk interupsi,
melainkan hanyalah penghentian proses sesaat yang berimplikasi hanya pada
kelambatan eksekusi CPU saja.
Mesin komputer akan memiliki nilai apabila bisa berinteraksi
dengan dunia luar. Lebih dari itu, komputer tidak akan berfungsi apabila tidak
dapat berinteraksi dengan dunia luar. Ambil contoh saja, bagaimana kita bisa
menginstruksikan CPU untuk melakukan suatu operasi apabila tidak ada keyboard.
Bagaimana kita melihat hasil kerja sistem komputer bila tidak ada monitor.
Keyboard dan monitor tergolang dalam perangkat eksternal komputer. Perangkat
eksternal atau lebih umum disebut peripheral tersambung
dalam sistem CPU melalui perangat pengendalinya, yaitu modul I/O seperti telah
dijelaskan sebelumnya.
Secara umum perangkat eksternal diklasifikasikan menjadi 3
katagori:
ü
Human Readable, yaitu perangkat yang berhubungan dengan manusia sebagai pengguna
komputer. Contohnya: monitor, keyboard, mouse, printer, joystick, disk drive.
ü
Machine readable, yaitu perangkat yang berhubungan dengan peralatan. Biasanya
berupa modul sensor dan tranduser untuk monitoring dan kontrol suatu peralatan
atau sistem.
ü
Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh.
Misalnya: NIC dan modem.
Pengklasifikasian juga bisa berdasarkan arah datanya, yaitu
perangkat output, perangkat input dan kombinasi output-input. Contoh perangkat
output: monitor, proyektor dan printer. Perangkat input misalnya: keyboard,
mouse, joystick, scanner, mark reader, bar code reader. Salah satu fitur dasar
komputer adalah kemampuannya untuk mempertukarkan data dengan perangkat lain.
Kemampuan komunikasi ini memungkinkan operator manusia, misalnya, ntuk
menggunakan keyboard dan layer display untuk mengolah teks dan grafik. Manusia
mengembangkan penggunaan komputer untuk berkomunikasi dengan komputer lain
melalui internet dan mengakses informasi di seluruh dunia. Dalam aplikasi lain,
komputer tidak begitu tampak tetapi sama pentingnya. Komputer menjadi bagian
integral pada alat-alat rumah tangga, peralatan manufacturing, sistem
transportasi, perbankan dan terminal pointofsale. Dalam aplikasi semacam itu,
input ke suatu komputer dapat berasal dari sensor switch, kamera digital,
mikrofon, atau alarm kebakaran. Output dapat berupa sinyal suara yang dikirim
ke speaker atau perintah yang dikodekan secara digital untuk mengubah kecepatan
motor, membuka katup, atau menyebabkan suatu robot bergerak dengan cara
tertentu. Singkatnya, generalpurpose komputer harus memiliki kemampuan untuk
mempertukarkan informasi dengan sejumlah perangkat dalam lingkungan yang
bervariasi.
Pengaturan sederhana untuk menghubungkan perangkat I/O ke suatu
computer adalah dengan menggunakan pengaturan bus tunggal,Bus tersebut mengEnable semua perangkat yang dihubungkan padanya untuk
mempertukarkan informasi. Biasanya, pengaturan tersebut terdiri dari tiga set
jalur yang digunakan untuk membawa alamat, data, dan sinyal kontrol. Tiap
perangkat I/O ditetapkan dengan suatu set alamat yang unik. Pada saat prosessor
meletakkan suatu alamat pada jalur alamat, perangkat yang mengenali alamat ini
merespon perintah yang dinyatakan pada jalur kendali. Prosessor meminta operasi baca atau tulis, dan data yang direquest
ditransfer melalui jalur data. Pada saat perangkat I/O
dan memori berbagi ruang alamat yang sama, pengaturan tersebut disebut memory
mapped I/O.
Dengan memory mapped I/O, tiap instruksi mesin yang dapat
mengakses memori dapat digunakan untuk mentransfer data ke atau dari perangkat
I/O. Misalnya jika DATAIN adalah alamat input buffer yang terhubung dengan
keyboard, maka instruksi
Move DATAIN, R0
Membaca data dari DATAIN dan menyimpannya dalam register prosessor
R0. Serupa dengan instruksi
Move R0, DATAOUT
Mengirim isi register R0 ke lokasi DATAOUT, yang mungkin berupa
buffer data output dari unit display atau printer.
Kebanyakan system komputer menggunakan memory mapped I/O. Beberapa
prosessor memiliki instruksi In dan Out khusus untuk menjalankan transfer I/O.
Misalnya, prosessor dalam famili Intel memiliki instruksi I/O khusus dan ruang
alamat16bit terpisah untuk perangkat I/O. Pada saat membangun sistem computer
yang berbasis pada prosessor ini, desainer memiliki pilihan dalam
mengkoneksikan I/O dengan menggunakan ruang alamat I/O khusus atau hanya dengan
menggabungkannya sebagai bagian dari ruang alamat memori. Pendekatan paling
akhir tersebut sejauh ini merupakan yang paling umum karena melibatkan
penggunaan software yang lebih sederhana. Salah satu manfaat ruang
alamat terpisah adalah perangkat I/O menangani lebih sedikit jalur alamat.
Perhatikan bahwa alamat I/O terpisah tidak harus berarti jalur alamat I/O
tersebut terpisah secara fisik dari jalur alamat I/O tersebut terpisah secara
fisik dari jalur alamat memori. Sinyal khusus pada bus tersebut mengindikasikan
bahwa transfer baca atau tulis yang diminta adalah operasi I/O. Pada saat
sinyal ini dinyatakan, unit memori mengabaikan transfer yang direquest.
Perangkat I/O menganalisa bit loworder bus alamat untuk menentukan
apakah sebaiknya memberi respon. Dekoder alamat
mengenable perangkat tersebut untuk mengenali alamatnya pada saat alamat ini
muncul pada jalur alamat.Register data menyimpan data yang ditransfer kedalam dari prosessor. Register status berisi informasi yang relevan
dengan operasi perangkat I/O. Register data dan status dihubungkan dengan bus
data dan ditetapkan dengan alamat-alamat unik. Dekoder alamat, register
data dan status, dan sirkuit control yang diperlukan untuk mengkoordinasikan
transfer I/O membentuk sirkuit antar muka perangkat.
Perangkat I/O beroperasi pada kecepatan yang sangat berbeda dengan
prosessor. Pada saat operator manusia memasukkan karakter pada keyboard,
prosessor mampu mengeksekusi jutaan instruksi antarentri karakter yang
berurutan.
Suatu instruksi yang membaca karakter dari keyboard sebaiknya
hanya dieksekusi pada saat karakter tersebut tersedia dalam input buffer
antarmuka keyboard. Juga kita harus memastikan bahwa karakter input tersebut
hanya dibaca sekali.
B. METODE HAMMING
Dalam
melaksanakan fungsi penyimpanan, memori semikonduktor dimungkinkan mengalami
kesalahan. Baik kesalahan berat yang biasanya merupakan kerusakan fisik memori
maupun kesalahan ringan yang berhubungan data yang disimpan. Kesalahan ringan
dapat dikoreksi kembali. Untuk mengadakan koreksi kesalahan data yang disimpan
diperlukan dua mekanisme, yaitu mekanisme pendeteksian kesalahan dan mekanisme
perbaikan kesalahan.
Mekanisme
pendeteksian kesalahan dengan menambahkan data word (D) dengan suatu kode,
biasanya bit cek paritas (C). Sehingga data yang disimpan memiliki panjang D +
C. Kesalahan akan diketahui dengan menganalisa data dan bit paritas tersebut.
Mekanisme perbaikan kesalahan yang paling sederhana adalah kode Hamming. Metode
ini diciptakan Richard Hamming di Bell Lab pada tahun 1950.
Untuk
mengurangi bahkan menghilangkan kesalahan sandi biner dapat juga mengggunakan
metode Hamming.
1. Pengendalian Galat Sandi
Biner
Banyak
ragam cara pengendalian galat sandi biner, diantaranya adalah dengan cara
“Hamming”, “Block Coding” dan sebagainya. Dalam halini dibahas salah satu cara
pengendalian galat untuk satu digit kesalahan dengan metode Hamming, yang
merupakan matrix H untuk melacak kesalahan sandi yang diterima. Sandi digital
yang dikirimkan sebagai pulsa angka “0” dan angka “1” agar dapat dikoreksi
galat yang mungkin terjadi pada penerima perlu disandikan kembali menggunakan
metode Hamming. Dipilih matrix Ħ yang menghasikan H.T = 0, dengan T adalah
vektor yang elemen-elemennya merupakan sandi digital yang akan dikirimkan.
Matrix H terdiri dari r kolom matrix diagonal dan n kolom matrix sembarang,
dengan n adalah cacah digit digital yang akan dikirimkan. Pada pesawat penerima
atau pengawa-sandian, isyarat yang diterima, dimisalkan sebagai vektor R,
dikalikan kembali dengan matrix H dan menghasilkan isyarat sindrom S. Bila S =
H.R = 0, berarti isyarat yang diterima sudah benar atau cocok dengan isyarat
yang dikirimkan. Tetapi jika S = H.R ≠ 0, berarti isyarat yang diterima ada
kesalahan. Kesalahan yang terjadi bisa dilihat dari isyarat sindrom yang
terbentuk. Dengan mencocokan isyarat sindrom dengan matrix H akan dapat
diketahui kesalahan yang terjadi pada angka ke berapa. Sebagai contoh, jika
isyarat sindrom cocok dengan kolom ke 5, berarti kesalahan terjadi pada angka
ke 5 dari pesan yang dikirimkan. Diatas telah disebutkan bahwa matrix H bisa
dipilih sembarang, dengan ketentuan tidak boleh ada kolom yang mempunyai
elemen-elemen persis sama. Dengan alasan inilah, maka matrix H dipilih sebagai
berikut :
·
Contoh
penentuan sandi baru dengan metode hamming
Misal
akan dicari sandi baru untuk pesan A yang mempunyai sandi lama 01101. perkalian
matrix H dengan vektor T, yang mempunyai 5 elemen pertama sama dengan sandi
lama yang akan diubah dan 4 elemen berikutnya adalah elemen yang akan dicari
nilainya, dapat dinyatakan sebagai berikut :
Sandi
baru diperoleh dengan menggabungkan sandi lama dengan 4 elemen baru yang
diperoleh dari perhitungan diatas. Dengan demikian sandi baru untuk pesan A
adalah 011011100. Sandi baru untuk ke 32 pesan diatas dapat dilihat pada tabel
dibawah ini.
Tabel Sandi Lama dan Sandi
Baru
·
Contoh
pelacakan kesalahan
Dikirimkan suatu pesan yang oleh penerima
pesan tersebut diterima sebagai sandi 101111111. Untuk melihat apakah pesan ini
benar atau tidak, maka pesan yang diterima tersebut harus dicek. Untuk mengecek
sandi yang diterima, perlu dicari isyarat sindrom, yaitu perkalian antara
matrix H dengan sandi yang diterima. Hasil perkaliannya adalah sebagai berikut
:
Isyarat sindrom yang diperoleh dari perhitungan diatas
adalah [ 1 0 1 0 ] -1. Jika isyarat sindrom ini dicocokan dengan matrix H, terlihat
bahwa isyarat sindrom cocok dengan kolom ke 2. Dengan demikian, kesalahan
terjadi pada angka ke 2, yaitu dari angka “0” harus diubah menjadi angka “1”.
2.
Koreksi error
Mekanisme pendeteksian
kesalahan dengan menambahkan data word (D) dengan suatu kode, biasanya bit cek
paritas (C). Sehingga data yang disimpan memiliki panjang D + C. Kesalahan akan
diketahui dengan menganalisa data dan bit paritas tersebut. Mekanisme perbaikan
kesalahan yang paling sederhana adalah kode Hamming.
Perhatikan gambar diatas, disajikan tiga lingkaran Venn
(A, B, C) saling berpotongan sehingga terdapat 7 ruang. Metode diatas adalah
koreksi kesalahan untuk word data 4 bit (D =4). Gambar (a) adalah data aslinya.
Kemudian setiap lingkaran harus diset bit logika 1 berjumlah genap sehingga
harus ditambah bit – bit paritas pada ruang yang kosong seperti gambar (b).
Apabila ada kesalahan penulisan bit pada data seperti gambar (c) akan dapat
diketahui karena lingkaran A dan B memiliki logika 1 berjumlah ganjil. Lalu
bagaimana dengan word lebih dari 4 bit ? Ada cara yang mudah yang akan
diterangkan berikut. Sebelumnya perlu diketahui jumlah bit paritas yang harus
ditambahkan untuk sejumlah bit word. Contoh sebelumnya adalah koreksi kesalahan
untuk kesalahan tunggal yang sering disebut single error correcting (SEC).
Jumlah bit paritas yang harus ditambahkan lain pada double error correcting
(DEC). Tabel dibawah ini menyajikan jumlah bit paritas yang harus ditambahkan
dalam sistem kode Hamming.
Tabel
Penambahan bit cek paritas untuk koreksi kode Hamming
·
Contoh
koreksi kode hamming 8 bit data
Dari tabel yang disajikan
diatas untuk 8 bit data diperlukan 4 bit tambahan sehingga panjang seluruhnya
adalah 12 bit. Layout bit disajikan seperti dibawah ini :
Bit cek paritas ditempatkan
dengan perumusan 2N dimana N = 0,1,2, ……, sedangkan bit data adalah sisanya.
Kemudian dengan exclusive-OR dijumlahkan ebagai berikut :
Setiap cek bit (C)
beroperasi pada setiap posisi bit data yang nomor posisinya berisi bilangan 1
pada kolomnya. Sekarang ambil contoh suatu data, misalnya masukkan data :
00111001 kemudian ganti bit data ke 3 dari 0 menjadi 1 sebagai error-nya.
Bagaimanakah cara mendapatkan bit data ke 3 sebagai bit yang terdapat error?
Jawaban : Masukkan data pada perumusan cek bit paritas :
Sekarang bit 3 mengalami
kesalahan sehingga data menjadi: 00111101
Apabila bit – bit cek
dibandingkan antara yang lama dan baru maka terbentuk syndrom word :
Sekarang kita lihat posisi
bit ke-6 adalah data ke-3. Mekanisme koreksi kesalahan akan meningkatkan
realibitas bagi memori tetapi resikonya adalah menambah kompleksitas pengolahan
data. Disamping itu mekanisme koreksi kesalahan akan menambah kapasitas memori
karena adanya penambahan bit – bit cek paritas. Jadi ukuran memori akan lebih
besar beberapa persen atau dengan kata lain kapasitas penyimpanan akan
berkurang karena beberapa lokasi digunakan untuk mekanisme koreksi kesalahan.
1.
Modul I/O merupakan
peralatan antarmuka(interface) bagi system bus atau switch sentral dan
mengontrol satu atau lebih perangkat peripheral.
2.
Modul I/O adalah suatu
komponen dalam sistem komputer yang bertanggung jawab atas pengontrolan
sebuah perangkat luar atau lebih dan bertanggung jawab pula dalam pertukaran
data antara perangkat luar tersebut dengan memori utama ataupun dengan
register-register CPU.
3.
Terdapat tiga buah
teknik dalam operasi I/O, yaitu:
·
I/O terprogram,
·
interrupt – driven
·
I/O, dan DMA (Direct
Memory Access).
4. Perangkat eksternal atau lebih umum
disebut peripheral tersambung dalam sistem CPU melalui perangat pengendalinya,
yaitu modul I/O. Perangkat eksternal diklasifikasikan Human Readable,
Machine readable, Communication
5. Mekanisme pendeteksian kesalahan dengan
menambahkan data word (D) dengan suatu kode, biasanya bit cek paritas (C).
Sehingga data yang disimpan memiliki panjang D + C. Kesalahan akan diketahui
dengan menganalisa data dan bit paritas tersebut. Mekanisme perbaikan kesalahan
yang paling sederhana adalah kode Hamming.
Triyanna Widiyaningtyas,S.T,M.T.(2010). “Makalah Organisasi dan
Arsitektur Komputer”. Malang.
Wikipedia.(2013). “Kartu
Jaringan”.[Online].Tersedia:http://id.wikipedia.org/.[25 Mei 2014].
Wikipedia.(2013).
“Periferal”.[Online].Tersedia:http://id.wikipedia.org/.[25 Mei 2014].
lecturer.eepis-its. “Unit Masukan dan Keluaran”.[Online].Tersedia
:http://lecturer.eepis-its.edu/.[ Mei 2014].
Badrul, Mohammad.“Manajemen
Perangkatinput/Output”.[Online].Tersedia:https://www.academia.edu/.[25 Mei
2014].
Hsetiyawan.(2012). “Beberapa Contoh Output Device Beserta Fungsinya”.[Online].Tersedia:http://hsetiyawan.mhs.uksw.edu/.[25
Mei 2014].
TopIlmu.(2012). “Macam-Macam Alat Output
Komputer”.[Online].Tersedia:http://top-ilmu.blogspot.com/.[25 Mei 2014].
Afriadi.(2011). “ Penjelasan Dan Blok Diagram Piranti”.[Online].Tersedia:http://afriadi-blog.blogspot.com/.[25
Mei 2014].
Sawitri.(2011). “Sistem
Bus”.[Online].Tersedia:http://sawitri8580.wordpress.com/.[25 Mei 2014].
0 komentar:
Posting Komentar