kode hamming
DESCRIPTION
STIMIK STIKOM INDONESIA, DENPASAR-BALIRepost presentasi Komunikasi DataTRANSCRIPT
KODE HAMMING
Duman Care Khrisne, ST. MT.
Kode Hamming
• Kunci Kode Hamming adalah penggunaan bit paritas ekstra untuk memungkinkan identifikasi dari satu kesalahan
• Tandai posisi bit semua yang merupakan pangkat dua sebagai bit paritas. (posisi 1, 2, 4, 8, 16, 32, 64, dll)
• Semua posisi bit lainnya adalah untuk data yang akan dikodekan. (posisi 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, dll)
• Setiap bit paritas menghitung paritas untuk beberapa bit dalam kata kode.
• Posisi bit paritas menentukan urutan bit yang bergantian memeriksa dan melompat.
– Posisi 1: cek 1 bit, 1 bit lewati, cek 1 bit, 1 bit lewati (1,3,5,7,9,11,13,15,...)– Posisi 2: cek 2 bit, melewatkan 2 bit, cek 2 bit, melewatkan 2 bit
(2,3,6,7,10,11,14,15,...)– Posisi 4: memeriksa 4 bit, 4 bit lewati, periksa 4 bit, 4 bit lewati
(4,5,6,7,12,13,14,15,20,21,22,23, ...)– Posisi 8: memeriksa 8 bit, lewati 8 bit, periksa 8 bit, lewati 8 bit (8-15,24-
31,40-47, ...)– Posisi 16: periksa 16 bit, melewatkan 16 bit, 16 bit cek, melewatkan 16 bit,
(16-31,48-63,80-95, ...)– Posisi 32: periksa 32 bit, melewatkan 32 bit, 32 bit cek, melewatkan 32 bit,
(32-63,96-127,160-191, ...)– dan lain-lain
• Set bit paritas menjadi 1 jika jumlah satu adalah ganjil• Set bit paritas menjadi 0 jika jumlah satu adalah genap
Aturan
Contoh
• Sebuah Data : 10011010
• Buatkan data, dengan menambahkan ruang untuk bit paritas:
_ _ 1 _ 0 0 1 _ 1 0 1 0
Posisi 1 Posisi 8
Pertanyaan : Kenapa Menggunakan 4 bit Paritas ?
Kalkulasi Setiap Bit Paritas
• Posisi 1 akan mengecek cek bit 1,3,5,7,9,11:
? _ 1 _ 0 0 1 _ 1 0 1 0
Karena jumlah 1 adalah genap maka
akan ditambahkan bit 0
0 _ 1 _ 0 0 1 _ 1 0 1 0
Kalkulasi Setiap Bit Paritas
• Posisi 2 akan mengecek cek bit 2,3,6,7,10,11 :
0 ? 1 _ 0 0 1 _ 1 0 1 0
Karena jumlah 1 adalah Ganjil maka
akan ditambahkan bit 1
0 1 1 _ 0 0 1 _ 1 0 1 0
Kalkulasi Setiap Bit Paritas
• Posisi 4 akan mengecek cek bit 4,5,6,7,12 :
0 1 1 ? 0 0 1 _ 1 0 1 0
Karena jumlah 1 adalah Ganjil maka
akan ditambahkan bit 1
0 1 1 1 0 0 1 _ 1 0 1 0
Kalkulasi Setiap Bit Paritas
• Posisi 8 akan mengecek cek bit 8,9,10,11,12 :
0 1 1 1 0 0 1 _ 1 0 1 0
Karena jumlah 1 adalah genap maka
akan ditambahkan bit 0
0 1 1 1 0 0 1 0 1 0 1 0
Cek Error
posisi 1 (genap) : 3,5,7,9,11 (posisi 1 tidak dihitung)
posisi 2 (ganjil) : 3,6,7,10,11 (posisi 2 tidak dihitung)
posisi 4 (ganjil): 5,6,7,12 (posisi 4 tidak dihitung)
posisi 8 (genap): 9,10,11,12 (posisi 8 tidak dihitung)
Posisi 1 2 3 4 5 6 7 8 9 10 11 12
Kirim 0 1 1 1 0 0 1 0 1 0 1 0
Terima 0 1 1 1 0 0 1 0 1 1 1 0
Latihan
• 010101100011• 111110001100• 000010001010