Kode Hamming
Kode Hamming
PRESENTS
KODE HAMMING
1 0 1 0 0 1 1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 0 1 0 0 1 1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
5= 0101
6= 0110
10 = 1 0 1 0
12 = 1 1 0 0
XOR
010 1
1 0 1 0 0 0 1 1 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
5= 0101
6= 0110
10 = 1 0 1 0
12 = 1 1 0 0
XOR
010 1
1 0 1 0 0 0 1 1 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 = 0 0 01
4= 0100
5= 0101
6= 0110
10 = 1010
11 = 1011
12 = 1100
XOR
101 1
1 0 1 0 0 0 11 1 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 0 1 0 0 1 1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 0 1 0 0 1 1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 0 1 0 0 11 1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
0 0 0 1 0?
Isi bit paritas dgn ‘1’ jika jumlah angka ‘1’ pada bit-bit yang diperiksa
ganjil.
Isi bit paritas dgn ‘0’ jika jumlah angka ‘1’ pada bit-bit yang diperiksa
genap.
CONTOH
1 00 110000111 0
1
0
1 0 1 0 0 11 1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
0 0 0 1 0?
Dalam hal ini, ada 1 angka ‘1’ (ganjil)
Jadi, isi P1 dengan 1.
CONTOH
1 00 110000111 0
1
0
1 0 1 0 0 11 1 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
CONTOH
1 00 110000111 0
1
0
1 0 1 0 0 11 1 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
P2: Cek 2 bit, lompat 2 bit, cek 2 bit, lompat 2 bit, dst.
(2,3 | 6,7 | 10,11 | 14,15 | …)
CONTOH
1 00 110000111 0
1
0
1 0 1 0 0 11 1 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
0 1 0 1 0?
Dalam hal ini ada 2 angka ‘1’ (genap)
Jadi, isi P2 dengan 0
CONTOH
1 00 110000111 0
1
0
1 0 1 0 0 11 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
CONTOH
1 00 110000111 0
1
0
1 0 1 0 0 11 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
P4: Cek 4 bit, lompat 4 bit, cek 4 bit, lompat 4 bit, dst.
(4,5,6,7 | 12,13,14,15 | 20,21,22,23 | …)
CONTOH
1 00 110000111 0
1
0
1 0 1 0 0 11 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 0 1 1 ?
Dalam hal ini, ada tiga angka ‘1’ (ganjil)
Jadi, isi P4 dengan ‘1’
CONTOH
1 00 110000111 0
1
0
1 0 1 0 0 11 1 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
CONTOH
1 00 110000111 0
1
0
1 0 1 0 0 11 1 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
P8: Cek 8 bit, lompat 8 bit, cek 8 bit, lompat 8 bit, dst.
(8-15,24-31,40-47,…)
CONTOH
11 0 11 00001 11 0
1
0
1 0 1 0 0 11 1 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 0 1 0 ?
Dalam hal ini, ada dua angka ‘1’ (genap)
Jadi, isi P8 dengan ‘0’
CONTOH
11 0 11 00001 11 0
1
0
1 0 1 0 0 0 11 1 1 0 0 1
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
Mendeteksi Kesalahan
dan
Mengoreksinya
kesalahan
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 0 0 1 0?
Dalam hal ini, ada 2 angka ‘1’
(genap)
Jadi, P1 mestinya ‘0’. Salah!
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
P2: Cek 2 bit, lompat 2 bit, cek 2 bit, lompat 2 bit, dst.
(2,3 | 6,7 | 10,11 | 14,15 | …)
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 1 0 1 0?
Dalam hal ini ada 3 angka ‘1’ (ganjil)
Jadi, P2 mestinya ‘1’. Salah!
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
P4: Cek 4 bit, lompat 4 bit, cek 4 bit, lompat 4 bit, dst.
(4,5,6,7 | 12,13,14,15 | 20,21,22,23 | ….)
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 0 1 1 ?
Dalam hal ini, ada tiga angka ‘1’
(ganjil)
Jadi, P4 mestinya ‘1’. Betul!
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 1 1 0 ?
Dalam hal ini, ada tiga angka ‘1’
(ganjil).
Jadi, P8 mestinya ‘1’. Salah!
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1
1 1 0 0 0 11 1 1 0 0 1
1 0
d12 d11 d10 d9 p8 d7 d6 d5 p4 d3 p2 p1