MAKALAH
MODUL I/O & KODE HAMMING
{Organisasi & Arsitektur Komputer}
MODUL I/O & KODE HAMMING
{Organisasi & Arsitektur Komputer}
Disusun Oleh :
Lalu Ahmad Wisudawan (1510530018)
I nyoman tri sumandiasa(1510530030)
Ego Baskoro(1510530026)
Rony Arzian(1510520020)
KELAS A
JURUSAN TEKNIK
INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
2016
KATA PENGANTAR
Puji syukur kehadirat Tuhan Yang Maha Esa karena berkat Nya kami dapat menyelesaikan
makalah ini tepat pada waktunya.
Makalah ini kami buat untuk menyelesaikan tugas yang telah diberikan dosen kami untuk
membuat makalah tentang “MODUL
I/O & KODE HAMMING”.
Semoga makalah yang
kami
buat ini
dapat menambah
pengetahuan
kami tentang mata kuliah Arsitektur Data.
Kami mohon maaf apabila
dalam
Makalah
kami
terdapat banyak
kesalahan dan
kami
mohon masukan dari dosen maupun mahasiswa lain yang turut membaca makalah kami
ini.
DAFTA ISI
COVER 1
KATA PENGANTAR 2
DAFTAR ISI 3
BAB I PENDAHULUAN 4
LATAR BELAKANG 4
RUMUSAN MASALAH 4
TUJUAN
PEMBAHASAN 5
BAB II PEMBAHASAN 6
1. MODUL I/O 6
SISTEM MASUKAN & KELUARAN(MODUL
I/O) 6
FUNGSI I/O 6
STRUKTUR MODUL I/O 8
TEKNIK MASUKAN/KELUARAN 8
I/O
TERPROGRAM 8
INTERRUPT – DRIVEN I/O 9
DMA (DIRECT MEMORY ACCESS) 10
2. KODE HAMMING 11
BIT PARITY 11
MEKANISME & CARA KERJA 12
CONTOH
KASUS HAMMING CODE 15
BAB III PENUTUP 18
KESIMPULAN 18
DAFTAR PUSTAKA 19
BAB I
PENDAHULUAN
1.1 Latar Belakang
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.Selain itu didalam makalah ini juga
akan dibahas mengenai proses koreksi error(humming code)
1.2 Rumusan Masalah
Dalam rumusan masalah ini ada beberapa hal yang akan diungkapkan,yaitu :
·
Apakah yang dimaksud
dengan modul I/O ?
·
Apakah fungsi dari modul
I/O ?
·
Bagaimana setruktur
modul I/O?
·
Apa
itu metode hamming code ?
·
Cara
kerja / implementasi hamming code?
·
Apa
yang dimaksud dengan bit parity ?
1.3 Tujuan
Adapun yang menjadi tujuan pokok penulisan Paper ini adalah :
·
Mengetahui pengertian
modul I/O
·
Mengetahui fungsi modul
I/O
·
Mengetahui setruktur
modul I/O
·
Mengetahui dan memahami
pentingnya hamming code
·
Menngetahui apa itu parity
·
Mengetahui bagaimana cara kerja
hamming code
BAB II
PEMBAHASAN
1.
MODUL I/O
1.1SISTEM MASUKAN
& KELUARAN(MODUL I/O)
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 berisi logika dalam melakukan fungsi
komunikasi antara peripheral dan bus computer.
1.1.1 Fungsi 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.
·
Pem-buffer-an data.
·
Deteksi kesalahan.
1.1.1.1 Kontrol dan pewaktuan.
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 :
Ø Permintaan
dan pemeriksaan status perangkat dari CPU ke modul I/O.
Ø Modul I/O memberi jawaban atas permintaan CPU.
Ø Apabila
perangkat eksternal telah siap untuk transfer data, maka CPU akan mengirimkan
perintah ke modul I/O.
Ø Modul
I/O akan menerima paket data dengan panjang tertentu dari peripheral.
Ø 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.
1.1.1.2
Komunikasi CPU
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.
1.1.1.3 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.
1.1.1.4 deteksi kesalahan
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.
1.1.2
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,
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.
1.2 Teknik Masukan/Keluaran
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 unjuk kerja masing – masing
teknik.
1.2.1 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 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.
v Terdapat
empat klasifikasi perintah I/O, yaitu:
1. Perintah
control.
Perintah ini digunkan
untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang
diperintahkan padanya.
2. 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.
3. 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.
4. 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.
1.2.2 Interrupt – Driven 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,
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.
1.2.3 Direct Memory Access (DMA)
Direct
Memory Access (DMA) berarti hibah CPU I/O otoritas modul untuk membaca dari
atau menulis ke memori tanpa keterlibatan. Modul DMA mengontrol pertukaran data
antara memori utama dan I/O device. Karena perangkat DMA dapat mentransfer data
secara langsung ke dan dari memori, daripada menggunakan CPU sebagai perantara,
dan dengan demikian dapat mengurangi kemacetan di bus. CPU hanya terlibat di
awal dan akhir transfer dan terputus setelah seluruh blok ditransfer.
Direct
Memory Access membutuhkan hardware khusus yang disebut DMA controller (DMAC)
yang mengelola transfer data dan mengadili akses ke sistem bus. Kontroler
diprogram dengan sumber dan tujuan pointer (di mana untuk membaca / menulis
data), counter untuk melacak jumlah byte yang ditransfer, dan pengaturan,
termasuk I/O dan memori jenis, interupsi dan menyatakan untuk siklus CPU.
Saat pemroses ingin
membaca atau menulis data, pemroses memerintahkan DMA Controller dengan
mengirim informasi berikut:
- Perintah penulisan/pembacaan
- Alamat perangakat masukkan/keluaran
- Awal lokasi memori yang ditulis/dibaca
- Jumlah word(byte) yang ditulis/dibaca
DMA
meningkatkan sistem ketepatan dengan memungkinkan CPU untuk melakukan
tugas-tugas sementara transfer sistem DMA data melalui sistem dan memori bus.
Desain hardware rumit karena DMA controller harus diintegrasikan ke dalam
sistem, dan sistem harus memungkinkan DMA controller untuk menjadi master bus.
Siklus mencuri juga mungkin diperlukan untuk memungkinkan CPU dan DMA
controller untuk berbagi penggunaan bus memory.DMA ini memiliki keunggulan:
- Penghematan waktu pemroses
- Peningkatan kinerja masukkan/keluaran
2. HAMMING CODE
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 ).
v
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 Genap
0
+ 1 = 1 Ganjil
1
+ 0 = 1 Ganjil
1
+ 1 = 0 Genap
v Mekanisme dan Cara Kerja
Ada beberapa metode yang digunakan untuk
mendeteksi error dan mengkoreksi error yang
terjadi. Salah satunya adalah dengan menggunakan metode
Hamming Code. Metode hamming code merupakan salah
satu metode yang paling sederhana. Metode ini
menggunakan operasi logika XOR (Exclusive-OR)
dalam proses pendeteksian error maupun pengkoreksian error.
Input dan output dari metode ini berupa bilangan
biner. Hamming code merupakan salah satu
jenis linier error correcting code yang
sederhana dan banyak dipergunakan pada
peralatan elektronik .
Metode hamming code bekerja dengan
menyisipkan beberapa buah check bit ke
data. Jumlah check bit yang disisipkan tergantung
pada panjang data. Rumus untuk menghitung jumlah
check bit yang akan disisipkan ke dalam data. Data 2^n bit, c
= (n+1) bit, dimana c adalah jumlah check bit yang disisipkan.
Tabel 1. Kenaikan data bit dan check bit
Data Bit
|
Check Bit
|
2
|
2
|
4
|
3
|
8
|
4
|
16
|
5
|
32
|
6
|
64
|
7
|
128
|
8
|
256
|
9
|
Check bit kemudian disisipkan pada data pada posisi yang dihitung
menggunakan rumus perhitungan posisi check bit.
Rumus perhitungan posisi Check Bit C^i= 2^(i-1)
Sehingga dengan rumus posisi tersebut, didapat posisi check bit yang akan
diletakkan pada data diperlihatkan pada tabel.
Tabel 2. Tabel posisi check bit
Check Bit
|
Posisi
|
C1
|
1
|
C2
|
2
|
C3
|
4
|
C4
|
8
|
C5
|
16
|
C6
|
32
|
C7
|
64
|
C8
|
128
|
C9
|
256
|
- Proses Pendeteksian Error
- Hitung panjang data masukan dari metode hamming code yang merupakan hasil penjumlahan dari panjang data masukan dengan panjang check bit. Panjang data keluaran dari metode hamming code sama dengan panjang data masukan dari metode hamming code.
- Tandai posisi bit yang merupakan posisi dari check bit. Posisi selain posisi check bit merupakan posisi data bit.
- Tentukan rumus perhitungan dari masing-masing check bit.untuk n = 1 hingga jumlah dari check bit, lakukan hal berikut:
a.) Catat semua posisi dimana bit n
dari member position bernilai 1, kecuali
posisi bit itu sendiri. Member position merupakan
bentuk biner dari posisi bit. Rumus dari check bit
n sama dengan operasi XOR dari posisi-posisi yang
dicatat.
b.) Hitung berapa panjang bit yang diterima dan original.
c.) Cek tabel posisi check bit dan ekstrak chek bit nya.
d.) Hitung kembali chek bit nya dengan bit yang didapat.
e.) Konversikan operasikan XOR ke bentuk decimal.
v Contoh Kasus Hamming Code
Suatu memori internal menyimpan word 8 bit, suatu data 0011 0010 disimpan
pada suatu alamat. Hitunglah bit paritas untuk mendeteksi dan memperbaiki
kesalahan. Andaikan bit ke lima mengalami kesalahan, tunjukkan bagaimana kode
Hamming mendeteksi kesalahan tersebut dan memperbaikinya.
Jawab:
8 bit = 2^n = 2^3. n=3
bit paritas = n+1 = 3+1 = 4
8+4 = 12
P1 (melangkahi 1) = 00101 = 0 (menggunakan operasi XOR, jika bit 1
berjumlah ganjil maka = 1,
P2 (melangkahi 2) = 01101 = 1 sedangkan jika bit 1 berjumlah genap maka =
0)
P4 (melangkahi 3) = 0110 = 0
P8 (melangkahi 4) = 0010 = 1
Andaikan bit 5 mengalami kesalahan, maka:
P1 = 01101 = 1 (salah)
P2 = 01101 = 1 (benar)
P4 = 1110 = 1 (salah)
P8 = 0010 = 1 (benar)
Karena kesalahan terjadi di P1 dan P4, maka 1+4 = 5. Maka kesalahan
terjadi di bit ke-5
- Kekurangan dan Kelebihan Hamming Code
Kelebihan yang didapatkan dengan menggunakan metode ini adalah cara
kerjanya yang cukup sederhana dan tidak membutuhkan
alokasi memori yang banyak. Selain itu dengan digunakannya konsep error
correcting code pada metode ini maka
jika ditemukan error saat pendeteksian, data tidak perlu
ditransmisikan ulang tetapi langsung dikoreksi di
simpul tujuan.
Sedangkan kekurangan dari metode Hamming Code adalah tidak dapat
mendeteksi bila terjadi dua buah kesalahan sekaligus. Contohnya bila 1111111
terkirim sebagai 11011110 pada odd parity code yang seharusnya adalah 11111111.
BAB
III
PENUTUP
KESIMPULAN
Dari penjelasan di atas, dapat kita simpulakan bahwa,
Modul I/O Adalah central switch untuk mengendalikan satu atau lebih peripheral
atau perangkat input output yang berperan sangat penting dalam mnjaga komunikasi antar perangkat, tetap berjalan
semestinya. Selain itu didalam koreksi error hamming kode merupakan algoritma
pengecekan error yang paling sederhana yang memiliki kelebihan dan kekurangan,namun
metode ini kurang tepat diaplikasikan jika terdapat lebih dari satu bit error.
DAFTAR
PUSTAKA
Tidak ada komentar:
Posting Komentar