Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single...

19
Hamming Code R.W Hamming (1950)

Transcript of Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single...

Page 1: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Hamming CodeR.W Hamming (1950)

Page 2: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Pendahuluan

• Richard Wesley Hamming (1950) memperkenalkan 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 proses

transmisi, maka bit-bit informasi asli masih bisa

diselamatkan.

• Kode ini dikenal pula sebagai parity code

• Bit parity tambahan diberikan pada bit-bit informasi

sebelum ditransmisikan, sedangkan pada sisi penerima

dilakukan pengecekan dengan algoritma yang sama

dengan pembangkitan bit parity tambahan

Page 3: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Pengisian Bit Tambahan

• Untuk bit data 4-bit, bit-bit data terletak pada

posisi 3, 5, 6 dan 7

• Bit pengisi terletak pada posisi 1, 2, 4

a1 a2 a3 a4 a5 a6 a7

X X 1 X 0 1 1

Page 4: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Penulisan

• Penulisan : Hamming (7,4)

• 4 data bits• 3 parity bits

• Cara menentukan bit parity

(2ˆk)-1 >= m+k, dengan k= n check bit

m = panjang word

Page 5: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Latihan

• Data A : 10111101

• Data B : 1100

Page 6: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Jumlah bit Informasi

Page 7: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Tabel Hamming Untuk Data 4 Bit

Page 8: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Nilai Bit Pengisi (Cek)

• Data 4 bit

a1 = a3 ✪ a5 ✪ a7

a2 = a3 ✪ a6 ✪ a7

a4 = a5 ✪ a6 ✪ a7

Page 9: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Nilai Bit Pengisi Untuk n-Bit Informasi

Page 10: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Cara Menentukan

Page 11: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Contoh

• Bagaimana bentuk data yang

ditransmisikan dengan kode Hamming,

jika diketahui bit data = 1010 ?

• Jawaban :

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: 1011010

Page 12: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Pengecekan Sisi Penerima

• Cara penge-cekan disisi penerima: (untuk

informasi 4-bit)

• Jika nilai e = 0, maka seluruh data yang

diterima adalah benar

Page 13: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Informasi n-bit

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, ...)

Page 14: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

3. Masing-masing bit pengecek menghitung bit setiap

posisi 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 32

bit, dsb (32-63,96-127,160-191,...)

Page 15: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

• Bernilai bit parity = 1 jika total bit “1”

diposisi yang dicek adalah ganjil (Odd)

dan berinilai 0 jika total bit “1” adalah

genap (Even)

Page 16: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Contoh

• Sebuah urutan data diterima: 0010011

Dengan:

• Tentukan bit diposisi mana yang salah?

• Berapa nilai data asli (sebelum ditambahbit parity)?

Page 17: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

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 dikirim

a2 = a3 + a6 + a7 = 1 + 1 + 1 = 1 tidak sama

a3 = a5 + a6 + a7 = 0 + 1 + 1 = 0 sama

• Berarti bit diposisi 2 yang salah, seharusnya yang diterima

adalah: 0110011

• Nilai data asli= a3 a5 a6 a7 = 1011

Page 18: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Latihan

• Di sisi penerima menerima data berupa 7

bit hamming kode sebagai berikut:

1011011

Dengan asumsi menggunakan even parity,

apakah data yang diterima tersebut benar

atau salah

Jika salah posisi bit nya berada pada posisi?

Tampilkan data sesungguhnya

• Hasil Bit 5

Page 19: Hamming Code - wicaksonoupdate.files.wordpress.com · tunggal pengoreksi kesalahan (single error-correcting code). • Bit parity ditambahkan ke dalam bit-bit informasi, jika suatu

Latihan 2

• Diketahui sebuah data digital akan

dikirimkan dari sisi pengirim ke penerima

data tersebut : 0011 0010

• Hitunglah bit paritas untuk mendeteksi dan

mengoreksi kesalahan

• Andai bit ke 5 mengalami kesalahan,

tunjukan bagaimana kode hamming

mendeteksi kesalahan dan mengoreksinya