Post on 09-Jul-2015
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 1/29
1
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 2/29
Hamming CodeKode ini dikenalkan oleh Richard Hamming (1950)
sebagai kode tunggal pengoreksi kesalahan (single error-correcting code ).
Bit parity ditambahkan ke dalam bit-bit informasi,
jika suatu saat ada perubahan bit-bit data ketika prosestransmisi, maka bit-bit informasi asli masih bisadiselamatkan.
Kode ini dikenal pula sebagai parity code
Bit parity tambahan diberikan pada bit-bit informasisebelum ditransmisikan, sedangkan pada sisi penerima
dilakukan pengecekan dengan algoritma yang samadengan pembangkitan bit parity tambahan2
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 3/29
Hamming Code
Cara pengisian bit tambahan pada bit-bit informasi x
Untuk bit data 4-bit, bit-bit data terletak pada posisi 3, 5,6 dan 7
Bit pengisi terletak pada posisi 1, 2, 4 (2K) K = jumlah
bit data -13
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 4/29
Hamming Code
Jumlah bit informasi =
(n jumlah bit cek)
Σ Bit pengisi / cek Σ bit informasi
2 1
3 44 11
5 26
4
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 5/29
Tabel hamming untuk informasi 4 bit
5
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 6/29
Hamming Code
Nilai bit pengisi / cek: (untuk informasi 4-bit)
6
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 7/29
Hamming Code
7
Untuk informasi n-bit, nilai bit
pengisi / cek adalah:
Bit-bit masing-masing
posisi yang
disertakandi Ex-OR kan
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 8/29
Hamming Code
Contoh: 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 = 1Sehingga bentuk data yang ditransmisikan
menjadi: 10110108
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 9/29
Hamming Code
Cara penge-cekan disisi penerima: (untuk
informasi 4-bit)
Jika nilai e = 0, maka seluruh data yang
diterima adalah benar
9
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 10/29
Hamming Code
Untuk informasi n-bit, cara penge-
cek an adalah:
1. Tanda semua posisi bit yang merupakan pangkat duasebagai bit parity (posisi 1, 2, 4, 8, 16, 32, 64, ...)
2. Posisi yang lain digunakan sebagai bit data yang akandikodekan (posisi 3, 5, 6, 7, 9, 10, 11, 12, 13, ...)
10
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 11/29
Hamming Code
3. Masing-masing bit pengecek menghitung bit setiapposisi dengan cara menge-cek dan melewati, sebagai
berikut: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,...)
11
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 12/29
Hamming Code
Bernilai bit parity = 1 jika total bit “1” diposisi
yang dicek adalah ganjil (Odd ) dan berinilai 0 jika total bit “1” adalah genap (Even )
12
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 13/29
Hamming Code
Contoh:
Sebuah urutan data diterima: 0010011Dengan:
e1 = 0
e2 = 1e4 = 0
Tentukan bit diposisi mana yang salah?Berapa nilai data asli (sebelum ditambah bitparity)?
13
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 14/29
Hamming Code
Jawab:
e1 = a1 + a3 + a5 + a7 = 0 + 1 + 0 + 1 = 0 benar
e2 = a2 + a3 + a6 + a7 = 0 + 1 + 1 + 1 = 1 salah
e3 = a4 + a5 + a6 + a7 = 0 + 0 + 1 + 1 = 0 benar
a1 = a3 + a5 + a7 = 1 + 0 + 1 = 0 sama dengan yang dikirima2 = a3 + a6 + a7 = 1 + 1 + 1 = 1 tidak sama dengan yang dikirim
a3 = a5 + a6 + a7 = 0 + 1 + 1 = 0 sama dengan yang dikirim
Berarti bit diposisi 2 yang salah, seharusnya yangditerima adalah: 0110011
Nilai data asli= a3 a5 a6 a7 = 101114
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 15/29
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:
1→
0 0 12 → 0 1 0
3 → 0 1 1
4 → 1 0 0
5 → 1 0 1
6 → 1 1 0
7 → 1 1 1
15
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 16/29
Parity Check
• Dalam matriks parity check berikut, urutan kolom dari kiri
ke kanan dibentuk dengan urutan: 7, 6, 5, 3, 1, 2 dan 4,
dengan pembacaan bit dari bawah ke atas.
• Matriks Parity check
k
T
k nkxI P H M
)( −=
16
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 17/29
Matriks Generator
• Generator dibangkitkan dari:
T
k nkxk P I G )( −= M
17
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 18/29
ENCODING
• Pembentukan Codeword:
c = d.G • untuk kode (7,4):
⎥⎥⎥
⎥
⎦
⎤
⎢⎢⎢
⎢
⎣
⎡
=
1100001
1010010
0110100
1111000
|
|
|
|
),,,( 4321 d d d d c
18
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 19/29
CODEWORD
• Jika d = 1101, maka:
7 bit codeword : (d1, d2 , d3 , d4 , p1, p2 , p3 ).Terdiri dari : 4 bit data (d1, d2 , d3 , d4 ) dan
3 bit parity (p1, p2 , p3 ).
)1101010(
0001110
0010101
0100011
1000111
)1101( =
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=C
19
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 20/29
DECODING• Untuk men-dekode codeword yang telah diterima (r),
harus diketahui syndrome. Dimana syndrome didapat
dari :
s = r . H T
⎥⎥⎥⎥⎥⎥⎥
⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎢⎢
⎣
⎡
=
100
010
001
011101
110
111
),,,,,,( 7654321 r r r r r r r s
),,( 732164215431 r r r r r r r r r r r r s +++++++++=20
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 21/29
DECODING
• Jika semua elemen s adalah 0, maka
codeword telah diterima dengan benar.• Tapi jika s berisi bit 1, maka bit error dapat
ditentukan dengan menganalisis paritycheck yang mana yang salah,
21
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 22/29
Kode Hamming (15,11)
• Matriks Parity check H
22
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 23/29
Kode Hamming (15,11)
• Matriks generator (15,11)
⎥
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎥⎥⎥
⎦
⎤
⎢
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎢⎢⎢
⎣
⎡
=
111110000000000
111001000000000
110100100000000
110000010000000
101100001000000
101000000100000
100100000010000
011100000001000
011000000000100
010100000000010001100000000001
G
23
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 24/29
Check bit
24
• Persamaan Check bit dapat diperoleh denganmengalikan bit data dengan matriks parity checkPkx(n-k), yaitu sebagai berikut:
c = d . Pkx(n-k)
• Dimana matriks P diperoleh dari matriksgenerator tanpa menyertakan matrik I.
• d terdiri dari bit-bit datadan c terdiri dari check
bit (γ1, γ2, γ3, ...γn), dimana dalam kodesistematik adalah bit n – k yang terakhir daricodeword, ada empat bit.
• check bit di buat dari product (modulo-2) antaramessage dan matriks P
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 25/29
Check bit
⎥⎥⎥⎥⎥
⎥⎥⎥⎥
⎥⎥⎥⎥⎥
⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎢⎢⎢⎢
⎢⎢⎢⎢⎢
⎢
⎣
⎡
=
1111
1110
1101
1100
1011
1010
1001
0111
0110
0101
0011
*),,,,,,,,,,(),,( 1110987654321321 d d d d d d d d d d d γ γ γ
25
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 26/29
Check bit
• Sehingga check bit untuk codeword
(15,11)
• Codeword:C = γ1+ γ2+ γ3+ γ4
1110987654
1110984323
1110764312
119754211
d d d d d d d
d d d d d d d
d d d d d d d
d d d d d d d
⊕⊕⊕⊕⊕⊕=⊕⊕⊕⊕⊕⊕=
⊕⊕⊕⊕⊕⊕=
⊕⊕⊕⊕⊕⊕=
γ
γ
γ
γ
26
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 27/29
Shift Register
• Implementasi Shift Register dari suatu kode Generator
menjadi kode Hamming (15,11)
27
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 28/29
Syndrome
28
• Syndrome
s = r . HT s = (c + e) HT
• Karena :
c.HT = 0
S = e.HT
5/10/2018 Pert 6 Hamming Code - slidepdf.com
http://slidepdf.com/reader/full/pert-6-hamming-code 29/29
Tabel syndrome dan coset leader
Syndrome Coset Leader
(correctable error pattern):
s1 s2 s3 s4 r1 r2 r3………………….r15
0 0 0 0 tidak ada error
1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 29