Senin, 16 Mei 2016

Makalah Organisasi dan Arsitektur Komputer Modul Input/Output dan Kode hamming

ORGANISASI DAN ARSITEKTUR KOMPUTER
MODUL I/O DAN KODE HAMMING
 KATA PENGANTAR
Puji dan Syukur Penulis Panjatkan ke Hadirat Tuhan Yang Maha Esa karena berkat limpahan
Rahmat dan Karunia-Nya sehingga penulis dapat menyusun makalah ini tepat pada waktunya.
Makalah ini membahas mengenai “Modul Input-Output & Kode Hamming”.
Dalam penyusunan makalah ini, penulis banyak mendapat tantangan dan hambatan akan tetapi dengan
bantuan dari berbagai pihak tantangan itu bisa teratasi. Olehnya itu, penulis mengucapkan terima
kasih yang sebesar-besarnya kepada semua pihak yang telah membantu dalam penyusunan makalah
ini, semoga bantuannya mendapat balasan yang setimpal dari Tuhan Yang Maha Esa.
Penulis menyadari bahwa makalah ini masih jauh dari kesempurnaan baik dari bentuk penyusunan
maupun materinya. Kritik konstruktif dari pembaca sangat penulis harapkan untuk penyempurnaan
makalah selanjutnya.
Akhir kata semoga makalah ini dapat memberikan manfaat kepada kita sekalian.
Mataram, 18 Mei 2016

BAB 1
PENDAHULUAN
1.1 Latar Belakang
Sistem computer memiliki tiga komponen utama, yaitu : CPU, Memory (primer & sekunder), dan
peralatan masukan/keluaran (I/O) seperti printer, monitor, keyboard, mouse dan modem. Dalam
menjalankan fungsinya sebagai masukan dan keluaran diperlukan modul I/O. Modul I/O
merupakan peralatan antarmuka (interface) bagi sistem bus atau switch, sentral dan mengontrol
satu atau lebih perangkat periperhal. 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 tidak langsung dihubungkan dengan bus computer yaitu:
Bervariasinya metode operasi piranti periperhal, sehingga tidak praktis apabila system computer
harus menangani berbagai macam system operasi periperhal tersebut. Kecepatan transfer data
piranti periperhal umumnya lebih lambat dari pada laju transfer data pada CPU Format dan
panjang data pada piranti periperhal seringkali berbeda dengan CPU, sehingga perlu modul
untuk menselaraskannya. Dari beberapaalas andiatas, modul I/O memiliki 2 buah fungsi utama,
yaitu:Sebagai piranti antar muka ke CPU dan memori melalui bus system dan sebagai piranti
antar muka dengan peralatan periperhal lainnya menggunakan link data tertentu.
Ada beberapa metode yang digunakan untuk mendeteksi error dan mengkoreksi error yang
terjadi. Salah satu-nya adalah dengan menggunakan metode hamming code. Metode ini
merupakan salah satu jenis linier error correction code yang sederhana.keuntungan yang
didapatkan dengan metode ini adalah cara kerjanya yang cukup sederhana dan tidak
membutuhkan alokasi memori yang banyak. Oleh karena itu kelompok kami termmotovasi untuk
mengungkap konsep dan mengimplementasikan metode hamming code tersebut untuk melakukan
pemeriksaan dan pemulihan kesalahan ( error ) pada data berbentuk teks yang ditransmisikan dari
computer yang kita gunakan. Dengan menggunakan metode hamming code kita dapat
meminimalisir terjadinya kerusakan pada proses transmisi data.
1.2. Rumusan Masalah
Dari latar belakang di atas, adapun rumusan masalah yang dapat kami susun adalah sebagai berikut
1. Input-Output
- ApakahpengertiandarimodulInput/Output?
- BagaimanakahFungsidarimodulInput/Output ?
- BagaimanakahStrukturdarimodulInput/Output ?
- BagaimanakahTeknikdariInput/Output ?
2. Kode Hamming
- Pengertian Kode Hamming
- Implementasi Kode Hamming
- Pengertian Bit Parity
- Matriks GeneratorKode Hamming
- Sirkuit Kode Hamming
- Aplikasi Kode Hamming
1.3. Tujuan Pembahasan
Supaya mahasiswa dan para pembaca makalah ini mengetahui lebih luas Apa itu Input dan
Output Pada komputer yang kita pakai di kehidupan sehari-hari serta mengetahui sebarapa
penting nya metode hamming code yang kami susun untuk memdetksi sebuah kesalahan pada
aplikasi yang kita gunakan. Dengan metode hamming code, kita dapat meminimalisir kesalahan (
error ) yang kita temui pada saat sedang bekerja pada aplikasi yang kita gunkan. Selain itu,
hamming code juga dapat membatu dan mempermudah pekerjaan kita untuk memperbaiki
kesalah yang kita temui.
 
 BAB 2
PEMBAHASAN
2.1 Input/Output Device
Modul adalah satuan standar yang bersama - sama dengan yang lain digunakan secara
bersama. Input / Output adalah suatu mekanisme pengiriman data secara bertahap dan terus
menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya).
Konektor Input/Output pada komputer, seperti pada keyboard, mouse paralel/serial
ataupun USB. Menyediakan koneksi untuk piranti eksternal seperti kamera digital, printer dan
scanner. Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh
mikroprosesor itu untuk berhubungan dengan dunia luar.
Modul I/O Adalah interface atau central switch untuk mengendalikan satu atau lebih
peripheral atau perangkat input output.Konektor mekanis berisi fungsi logik untuk komunikasi
antara bus dan peripheral. Tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang
berisilogika dalam melakukan fungsi komunikasi antara peripheral dan bus computer.
Modul I/O adalah suatu komponen dalam sistem komputer yang bertanggung jawab atas
pengontrolan sebuah perangkat luar dan juga bertanggung jawab pula dalam pertukaran data
antara perangkat luar tersebut dengan memori utama ataupun dengan register – register CPU.
Termasuk Antarmuka internal dengan komputer (CPU dan memori utama) dan perangkat
eksternalnya untuk menjalankan fungsi – fungsi pengontrolan. Modul I/O memiliki dua buah
fungsi utama, yaitu:
1. Sebagai piranti antar muka ke CPU dan memori melalui bus sistem.
2. Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link
data
Sistem komputer memiliki tiga komponen utama, yaitu : CPU, memori (primer dan
ekunder), dan peralatan masukan/keluaran (I/O devices) seperti printer, monitor,
keyboard,mouse, dan modem. Beberapa bab sebelumnya telah membahas CPU dan memori,
sekarang akan kita jelaskan tentang peralatan atau modul I/O pada bab ini.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 sistem komputer
herus 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 :
1. Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
2. Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link data
tertentu
1. Perangkat Eksternal
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 perasi 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. Lihat kembali gambar 6.2.
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.
 
; -webkit-text-stroke-width: 0px; "> 2. Input/OutputModul
a. Fungsi 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
memoriutama) 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 kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul
I/O dapat meliputi langkah – langkah berikut ini :
1. Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.
2. Modul I/O memberi jawaban atas permintaan CPU.
3. Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan
perintah ke modul I/O.
4. Modul I/O akan menerima paket data dengan panjang tertentu dari peripheral.
5. 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 6.2 berikut.
6.2 Skema suatu perangkat peripheral
b. Struktur Modul I/O
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 6.3.
 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.
  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.



3. I/O Terprogram
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
dilakukanmodul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses
operasinya. Dalamteknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU
terhadap proses – proses yangdiinteruksikan padanya. Seluruh proses merupakan tanggung
jawab CPU sampai operasi lengkapdilaksanakan.Untuk melaksanakan perintah – perintah
I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat peripheralnya
sehingga terspesifikasi secara khusus dan sebuahperintah 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 yangtertuang
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 perangkatI/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,
 -stroke-width: 0px; "> 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.
4. Interrupt-Driven I/O
a. Proses Interrupt
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. Apabilamodul 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 pengambilanperintah dari memori
maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik
sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehinggatidak
ada waktu tunggu bagi CPU.
Cara kerja teknik interupsi di sisi modul I/O adalah modul I/O menerima perintah, misal
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 :
1. Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
2. CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon interupsi.
3. CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal
acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
4. 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:
a. Status prosesor, berisi register yang dipanggil PSW (program status word).
b. Lokasi intruksi berikutnya yang akan dieksekusi.Informasi tersebut kemudian disimpan
dalam stack pengontrol sistem.
5. Kemudian CPU akan menyimpan PC (program counter) eksekusi sebelum interupsi ke stack
pengontrol bersama informasi PSW. Selanjutnya mempersiapkan PC untuk penanganan
interupsi.
6. Selanjutnya CPU memproses interupsi sempai selesai.
7. 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
b. Intel 82C59A Interrupt Controller
Intel mengeluarkan chips 8259A yang dikonfigurasikan sebagai interrupt arbiter
pada mikroprosesor Intel 8086. Intel 8259A melakukan manajemen interupsi modul -
modul I/O yang
tersambung padanya. Chips ini dapat diprogram untuk menentukan prioritas modul I/O
yang
lebih dulu ditangani CPU apabila ada permintaan interupsi yang bersamaan. Gambar 6.4
menggambarkan pemakaian pengontrol interupsi 8259A. Berikut mode – mode interupsi
yang
mungkin terjadi :
Fully Nested: permintaan interupsi dengan prioritas mulai 0 (IR0) hingga 7(IR7).
Rotating: bila sebuah modul telah dilayani interupsinya akan menempati prioritas
terendah.
Special Mask: prioritas diprogram untuk modul I/O tertentu secara spesial.
c. The Intel 82C55A Programmable Peripheral Interface
Contoh modul I/O yang menggunakan I/O terprogram dan interrupt driven I/O
adalah Intel 8255A Programmable Peripheral Interface (PPI). Intel 8255A dirancang untuk
keperluan mikroprosesor 8086. Gambar 6.5 menunjukkan blok diagram Intel 8255A dan
pin layout-nya.

Bagian kanan dari blok diagram Intel 8255A adalah 24 saluran antarmuka luar,
terdiri atas 8 bit port A, 8 bit port B, 4 bit port CA dan 4 bit port CB. Saluran tersebut
dapat diprogram dari mikroprosesor 8086 dengan menggunakan register kontrol untuk
menentukan bermacam
macam mode operasi dan konfigurasinya. Bagian kiri blok diagram merupakan interface
internal dengan mikroprosesor 8086.
Saluran ini terdiri atas 8 bus data dua arah (D0 – D7), bus alamat, dan bus kontrol
yang terdiri atas saluran CHIP SELECT, READ, WRITE, dan RESET. Pengaturan mode
operasi pada register kontrol dilakukan oleh mikroprosesor., Pada Mode 0, ketiga port
berfungsi sebagai tiga port I/O 8 bit. Pada mode lain dapat port A dan port B sebagai port
I/O 8 bit, sedangkan port C sebagai pengontrol saluran port A dan B. PPI Intel 8255A
dapat diprogram untuk mengontrol berbagai peripheral sederhana.Gambar 6.6
memperlihatkan contoh penggunaan 8255A untuk modul I/O Keyboard dan display.



 5. Direct Memory Access
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. Blok diagram modul DMA terlihat pada gambar 6.7 berikut :

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. 



2.2 Kode Hamming

Pengertian Kode Hamming
Kode hamming diperkenalkan oleh Ricard Hamming pada tahun 1950 sabagai kode tunggal
pengoreksi kesalahan. Kode Hamming adalah seperangkat koreksi kesalahan kode yang dapat
digunakan untuk mendeteksi dan memperbaiki kesalahan bit yang dapat terjadi ketika data
komputer dipindahkan atau disimpan.
Metode hamming code merupakan salah satu metode pendeteksi error dan pengoreksi error ( error
detection and error correction ) yang paling sederhana. Metode ini menggunakan operasi
pendeteksian error maupun pengkoreksian error. Input dan output dari metode ini merupakan
bilangan binner. Hamming code meruapakan salah satu jenis linier error correcting code yang
sederhana dan banyak digunakan pada peralatan elektronik.
Metode hamming code bekerja dengan menyisipkan beberapa buah check bit ke data. Jumlah check
bit yang di sisipkan tergantung pada panjang data. Hamming code juga memiliki rumus tersendiri
untuk mendeteksi kesalahan ( error ).
Seperti koreksi kesalahan kode, kode Hamming memanfaatkan konsep paritas dan bit paritas, yang
merupakan bit yang ditambahkan ke data sehingga validitas data dapat diperiksa ketika dibaca
atau setelah telah diterima di transmisi data. Menggunakan lebih dari satu bit paritas, kode
koreksi kesalahan tidak bisa hanya mengidentifikasi kesalahan bit tunggal dalam unit data, tetapi
juga lokasi di data unit.
Implementasi Hamming Code
Contoh proses hamming code dengan mengunakan kata “ halo ” ;
- Penyisipan check bit
Hitung panjang data masukan : HALO . Halo = 4 karakter. 1 karakter = 1 byte = 8 bit. Halo : 32 bit =
0100 | 1000 | 0100 | 0001 | 0100 | 1100 | 0100 | 1111 . 32 bit = 2 pangkat 5 bit. Maka check bit =
5 + 1 = 6 bit.
Sehingga panjang bit yang akan di kirim : 32 + Seluruh proses pada fase perancangan akan di
transformasikan pada fase pemrograman ke dalam produk perangkat lunak. Pada fase ini,
perangkat lunak di bangun dengan menggunakan bahasa pemrograman. Berikut adalah
kebutuhan sumber daya yang di perlukan untuk menjalankan perngkat lunak dan tampilan ketika
perangkat lunak tersebut di jalankan .6 bit = 38 bit. Hasilnya: Panjang bit yang di terima = 38,
original bit = 32, check bit = 6. Check bit yang di dapat = 010110 dan check bit yang di ekstrak
010110. Kesimpulannya, bit yang kita dapat sama, itu membuktikan bahwa kata “ halo “ yang
kita kirimkan tidak terdapat keslahan. Jika bit yang terdeteksi tidak sama dengan bit original nya,
maka bit tersebut mengalamin sebuah kesalahan. Contoh nya saja. Original = 010110 dan setelah
di check hasil nya berbeda menjadi 011110
Pengertian Bit Parity
Bit Parity atau disebut juga bit pemeriksa adalah salah satu metode yang digunakan pada modul I/O
dalam mendeteksi kesalahan. Bit paritas bekerja untuk medeteksi kesalahan pada level bit. Bit
partisi yaitu bit tambahan yang diberikan pada akhir sebuah byte atau baris terakhir untuk
digunakan dalam proses pengecekan kebenaran data pada saat penyimpanan atau proses
transmisi.
Terdapat 2 macam cara penambahan Bit Pariti yaitu :
1. Pariti Ganjil (Odd Parity)
Bit Paritas di set menjadi 1 apabila jumlah angka 1 dalam kesatuan bit tersebut (tidak termasuk bit
paritas) adalah genap, sehingga menjadikan jumlah bit dalam kesatuan tersebut (termasuk bit
paritas) menjadi ganjil.
2. Pariti Genap (Even Parity)
Bit paritas di set menjadi 1 apabila jumlah angka 1 dalam kesatuan tersebut (tifak termasuk bit
paritas) adalah ganjil, sehingga menjadikan jumlah bit dalam kesatuan tersebut (termasuk bit
paritas) menjadi genap.
Dan perlu diingat sifat gerbang XOR berikut ini:
0 + 0 = 0
0 + 1 = 1 Ganjil
1 + 0 = 1 Ganjil
1 + 1 = 0 Genap
Sebagai contoh, kode BCD 8421 yang dimodifikasi dengan menambahkan parity bit.
Tabel kode BCD dengan Bit Parity [5]

 
 CaraKerja Kode Hamming
Tabel Kode Hamming

Bagaimana bentuk data yang ditransmisikan dengan kode Hamming, jika diketahui bit data = 1010 ?
Jawab:
a1 = a3 + a5 + a7 -> a1 = 1 + 0 + 0 = 1
a2 = a3 + a6 + a7 -> a2 = 1 + 1 + 0 = 0
a4 = a5 + a6 + a7 -> a3 = 0 + 1 + 0 = 1
Sehingga bentuk data yang ditransmisikan menjadi:
B8 B4 B2 B1 Genap
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
2 0 0 1 0 0 0 1 0 0 0 0 1 0 1
3 0 0 1 1 0 0 1 1 1 0 0 1 1 0
4 0 1 0 0 0 1 0 0 0 0 1 0 0 1
5 0 1 0 1 0 1 0 1 1 0 1 0 1 0
6 0 1 1 0 0 1 1 0 1 0 1 1 0 0
7 0 1 1 1 0 1 1 1 0 0 1 1 1 1
8 1 0 0 0 1 0 0 0 0 1 0 0 0 1
9 1 0 0 1 1 0 0 1 1 1 0 0 1 0
1011010
Contoh penggunaan kode hamming lainnya:
Position 1 checks bits 1,3,5,7,9,11:
? _ 1 _ 0 0 1_ 1 0 1 0. Even parity di set position 1 ke 0: 0 _ 1 _ 0 0 1_ 1 0 1 0
Position 2 checks bits 2,3,6,7,10,11:
0 ? 1_ 0 0 1 _ 1 0 1 0. Odd parity di set position 2 ke 1: 0 1 1 _ 0 0 1 _ 1 0 1 0
Position 4 checks bits 4,5,6,7,12:
0 1 1 ? 0 0 1 _ 1 0 1 0. Odd parity di set position 4 ke 1: 0 1 1 1 0 0 1_ 1 0 1 0
Position 8 checks bits 8,9,10,11,12:
0 1 1 1 0 0 1 ? 1 0 1 0. Even parity di set position 8 ke 0: 0 1 1 1 0 0 1 0 1 0 1 0
Untuk informasi n-bit, cara pengecekan adalah :
1. Tanda semua posisi bit yang merupakan pangkat dua sebagai bit parity (posisi 1, 2, 4, 8, 16, 32,
64, ...)
2. Posisi yang lain digunakan sebagai bit data yang akan dikodekan (posisi 3, 5, 6, 7, 9, 10, 11,
12, 13, ...)
3. Masing-masing bit pengecek menghitung bit setiapposisi dengan cara menge-cek dan
melewati, sebagaiberikut:
Posisi 1 : cek 1 bit, lewat 1 bit, cek 1 bit, lewat 1 bit dsb(1,3,5,7,9,11,13,15…)
Posisi 2 : cek 2 bit, lewat 2 bit, cek 2 bit, lewat 2 bit dsb(2,3,6,7,10,11,14,15,…)
Posisi 4 : cek 4 bit, lewat 4 bit, cek 4 bit, lewat 4 bit dsb(4,5,6,7,12,13,14,15,20,21,22,23, …)
Posisi 8 :cek 8 bit, lewat 8 bit, cek 8 bit, lewat 8 bit dsb(8-15,24-31,40-47,...)
Posisi 32 : cek 32 bit, lewat 32 bit, cek 32 bit, lewat 32bit, dsb(32-63,96-127,160-191,...)
5. Matriks Generator Kode Hamming
· Kode ini dapat dibentuk dengan sebuah algoritma yang sederhana matriks parity check. Contoh
kode (7, 4), dibentuk dengan cara berikut:
· Biner 1 sampai 7.
· Dalam matriks parity check berikut, urutan kolom dari kirike kanan dibentuk dengan urutan: 7,
6, 5, 3, 1, 2 dan 4,dengan pembacaan bit dari bawah ke atas.Dalam check bit paritas, bernilai bit
parity = 1 jika total bit ™” diposisi yang dicek adalah ganjil (Odd) dan berinilai 0 jika total bit
™” adalah genap (Even).
Suatu Hamming codebisa mempunyai “single-error correcting code” atau‟ double error detecting”,
bila suatu Hamming code berupa single error, maka bila ada single error yang muncul selama
deteksi transmissi sinyal, maka nilai resultante syndrome adalah “bukan nol (non-zero) dan
terdiri dari bilangan bulat (odd number) dari 1, bila double error yang terjadi,nilai syndrome juga
merupakan nonzerotetapi biasanya angka ganjil (even number) dari 1. Bila Hamming code
digunakan untuk deteksi kesalahan pada kanal BSC maka besarnya Probability :Pu(E) dapat
dihitung dari rumus kombinasi dari rumus Probability dari kesalahan yang tidak dapat dideteksi,
biasa disebut dari Probability dari Mac Williamsebesar:
Pu (E) = (1-p)
Dimana A dihitung dengan deret polinom.
Sirkuit Kode Hamming
Untuk dapat membayangkan bentuk implementasi dari bentuk hardware rangkaian kode Hamming
dapat diperjelas dengan contoh berikut. Bila dianggap suatu linier kode dari bentuk
Hamming(7,3) mempunyai matrik parity checksebesar:
H= kode tersebut mempunyai : 23= 8 buah co-setsehingga terdapat delapan buah error patern yang
mungkin untuk dikoreksi termasuk semua vektor nolnya, dan kode ini mempunyai jarak: 3 yang
mampu mengkoreksi kesalahan vector error-nya berbobot: 1 dan nol.
Aplikasi Kode Hamming
Sinyal-sinyal dari sensor telemetri biasanya mempunyai frekwensi yang rendah tersebut kemudian di
multiplexing menjadi seri dari tadinya semula berbentuk paralel, biasanya sensor telemetri satelit
yang merupakan pengotrolan dari kesehatan satelit tidaklah yang tunggal (satu) tetapi ada
beberapa. Pada satelit mikro TUBSAT digunakan sebanyak :12 kanal telemtri satelit secara
paralel, kemudian setelah sinyal analog dari sensor dimultiplexing kemudian dijadikan digital
lalu dirubah kedalam bentuk kode Hamming digital sebelum dimodulasi dengan frekwensi
pembawa. Di-pesaygwat penerima sinyal, sebaliknya kode ini di-rekontruksikan kembali. Bila
dalam penerimaan terjadi kesalahan, kesalahan data ini dikoreksi sehingga dapat berbentuk
aslinya kembali. Alat koreksi tersebut dinamakan ACK(Automatic Check Control) yang dapat
mengoreksi kesalahan tersebut, koreksi kesalahan tersebut memerlukan waktu beberapa lama.
 
 2.3 DRAM VS SRAM

0px; "> a. Perbedaan DRAM dan SRAM
DRAM sangat berbeda dengan SRAM. DRAM adalah tipe RAM yang menyimpan
setiap bit data pada kapasitor yang terpisah dalam sebuah IC. Keuntungan dari DRAM
adalah memori ini secara struktural sangat sederhana, untuk setiap bitnya menghendaki
sebuah transistor dan sebuah kapasitor (bandingkan dengan SRAM yang menghendaki
enam transistor untuk setiap bitnya). Kondisi seperti ini yang memungkinkan DRAM
mampu menyimpan data dengan kepadatan yang sangat tinggi. Seperti halnya SRAM,
memori ini tergolong volatile memory yang dengan mudah kehilangan data bila tidak
mendapatkan sokongan daya atau bila komputer mati (off). Kata volatile berasal dari
bahasa Inggris yang berarti „mudah menguap‟ atau „mudah berubah‟.
DRAM adalah tipe RAM yang umum dipakai pada PC (Personal Computer),
workstation, playstation, dan sejenisnya karena harganya yang murah (ekonomis). Pada
sebuah PC, DRAM dikemas dalam bentuk sebuah modul yang biasanya dikoneksikan
pada motherboard. DRAM yang masih banyak dipakai di Indonesia hingga saat ini (2008)
adalah SDRAM, DDR SDRAM, dan DDR2 SDRAM. Sedangkan DDR3 SDRAM masih
baru dikenal di Indonesia.
Sedangkan SRAM banyak diaplikasikan pada cache memory dalam sebuah chip prosesor
dan untuk buffer data pada sebuah harddisk.
b. Format pengemasan DRAM
Pada awalnya, DRAM banyak diproduksi dalam bentuk ICs (Integrated Circuits)
yang dikemas bersama bahan sejenis plastik dengan kaki-kaki atau pin yang terbuat dari
metal. Pin tersebut berfungsi sebagai saluran penghubung (untuk koneksi) IC itu sendiri
dengan bus-bus dan control signals. Kemudian, seiring dengan perkembangan teknologi,
DRAM dirakit dalam bentuk kemasan berbentuk modul tersendiri untuk memudahkan
pengelolaannya dan memudahkan penyatuannya dengan komponen lain saat dibutuhkan.
Berikut ini beberapa tipe standar modul RAM:
Chip DRAM (Integrated Circuit or IC)
1. DIP (Dual in-line Package)Modul DIP yang sering ditemukan di pasaran umumnya
mempunyai 16 pin (kaki), biasanya digunakan sebelum munculnyan PRAM di
pasaran
Modul DIP biasanya dipasangkan (disisipkan) pada soket yang memang sudah
tersedia pada motherboard. Soket tempat modul DIP ini berberntuk kotak, pada
permukaan atasnya terlihat adanya sederetan lubang berjajar, tempat dimasukkannya
kaki-kaki (pin) modul DIP. Jumlah lubang ini sama dengan jumlah pin yang ada pada
DIP.Modules DRAM
2. SIPP (Single In-line Pin Package), biasanya FPRAM

3. SIMM (Single In-line Memory Module), biasanya FPRAM dan EDO RAM.
Di Pasaran, FPRAM yang sering ditemukan memiliki 30 pin, sedangkan EDO RAM
memiliki 72 kaki. SIMM 72 pin EDO RAM ini sering pula disebut dengan nama PS/2
SIMM.

4. DIMM (Dual In-line Memory Module).
Contoh modul DRAM yang termasuk dalam tipe DIMM ini adalah SDRAM,
DDR SDRAM, DDR2 SDRAM, dan DDR3 SDRAM.SDRAM biasanya didesain
memiliki 168 pin, DDR SDRAM didesain memiliki 184 pin, sedangkan DDR2
SDRAM dan DDR3 SDRAM didesain memiliki 40

5. RIMM (Rambus In-line Memory Module).
Secara teknis, RIMM ini sebenarnya adalah DIMM. Pemberian nama
menjadi RIMM adalah hak bagi pemilik (pembuat) slot modul ini. RIMM sering
ditemukan memiliki 184 pin.
7. SO-RIMM (Small outline RIMM).
SO-RIMM adalah versi yang lebih kecil bentuknya daripada RIMM. Jika
RIMM biasanya digunakan pada komputer PC desktop, SO-RIMM umumnya
digunakan pada komputer laptop. Secara teknis, SO-RIMM ini adalah SODIMM. Pemberian nama menjadi SO-RIMM adalah hak bagi pemilik (pembuat)
slot modul ini.
8. SO-DIMM (Small outline DIMM)
SO-DIMM adalah versi yang lebih kecil bentuknya daripada DIMM, kurang
lebih separuh dari ukuran fisik DIMM. Jika RIMM biasanya digunakan pada
komputer PC desktop, SO-DIMM umumnya digunakan pada komputer laptop.
Terdapat beberapa versi SO-DIMM, antara lain SO-DIMM 72 bin (32 bit), 144
pin (64 bit), dan 200 pin (72 bit).

  
BAB 3
PENUTUP
3.1 Kesimpulan
1. Modul I/O Adalah interface atau central switch untuk mengendalikan satu atau lebih peripheral atau
perangkat input output.
Modul I/O memiliki dua buah fungsi utama, yaitu:
1. Sebagai piranti antar muka ke CPU dan memori melalui bus sistem.
2. Sebagai piranti antarmuka dengan peralatan peripheral lainnya dengan menggunakan link
data
2. Struktur Modul Input/Output
Terdapat berbagai macam modul I/O seiring perkembangan komputer itu sendiri, contoh yang
sederhana dan fleksibel adalah intel 8255A yang sering disebut PPI (Programmable Periperhal
Interface).
3. Teknik Input/Output Terdapat tiga buah teknik operasi I/O, yaitu : I/O terprogram, interrupt-driven
I/O,dan DMA (Dirrect Memory Access).Kode Hamming merupakan jalur atau susunan rumus untuk
mendeteksi sebuah kesalahan dalam system operasi. dengan hamming code pekerjaan kita dalam
meminimalisir sebuah kesalahan jadi sangan mudah. Hamming code merupakan suatu cara untuk
memperbaiki kesalahan – kesalahan dalam system operasi yang kita gunakan dengan ketentuan rumus
yang sudah di tetapkan pada metode hamming.


Daftar Pustaka
William Staliings. 2005. Organisasi & Arsitektur Komputer : RancanganKierja. Jilid 1. Jakarta: PT
Indeks kelompok Gramedia
William Staliings.1996. OrganisasidanSistemKomputer.EdisibahasaIndonesia.Jilid 1.
Jakarta: PT Prehalindo
Andrew S. Tanenbaum.2001. OrganisaiKomputerTerstuktur. Jilid 1. Jakarta. Salemba
Teknika

 
 
 

Tidak ada komentar:

Posting Komentar