Anda di halaman 1dari 13

KODE DETEKSI DAN KOREKSI

KESALAHAN

Beberapa kode deteksi kesalahan yang dibahas adalah:


 Kode parity bit dan parity word
 Kode Hamming

Kode Dengan Parity Bit dan Parity Word


Mendeteksi dan mengoreksi kesalahan adalah bidang studi
yang tumbuh dalam transmisi data digital. Cara yang paling
populer untuk mendeteksi sebuah kesalahan dalam sebuah
kode atau karakter atau word yaitu dengan menambahkan
sebuah bit yang disebut: parity bit suatu bit ekstra yang
ditambahkan ke suatu grup kode.
Sebagai contoh, magnetic tape dan disk yang mempunyai kode
dengan parity bit untuk meningkatkan ketelitian pembacaan
dari tape atau disk ke komputer atau sebaliknya.

Ada 2 macam parity bit yang dapat ditambahkan pada sebuah


kode atau karakter atau word untuk mendeteksi kesalahan yaitu
:
1. Parity Ganjil (Odd Parity)
2. Parity Genap (Even Parity)
Dalam parity ganjil, parity bit yang ditambahkan akan
membuat jumlah atau total bit yang berlogik ‘1’ ganjil.
Sebaliknya parity genap, parity bit yang ditambahkan akan
membuat jumlah atau total bit yang berlogik ‘0 ’ genap.

n bit

n - 1 bit

1 bit parity
Kode Karakter Word

Gambar 1 Kode Dengan Bit Parity

Parity ‘Ganjil’ = Po
A1 +
A2 +
A3 +
... +
An-1 +
Po = 1
Po = A1 +
A2 +
A3 +
... +
An-1 +
1
Parity ‘Genap’ = Pe
A1 +
A2 +
A3 +
... +
A n-1 +
Pe = 0
Pe = A1 +
A2 +
A3 +
... +
A n-1
Dan perlu diingat sifat gerbang XOR berikut ini:
0+0=0
0+1=1 Ganjil
1+0=1 Ganjil
1+1=0 Genap

Sebagai contoh, kode BCD 8421 yang dimodifikasi dengan


menambahkan parity bit.
Tabel kode BCD dengan Bit Parity

Kode BCD Kode BCD Kode BCD Dengan


Desimal
B8 B4 B2 B1 Parity Ganjil Parity Genap
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
2 0 0 1 0 0 0 1 0 0 0 0 1 0 1
3 0 0 1 1 0 0 1 1 1 0 0 1 1 0
4 0 1 0 0 0 1 0 0 0 0 1 0 0 1
5 0 1 0 1 0 1 0 1 1 0 1 0 1 0
6 0 1 1 0 0 1 1 0 1 0 1 1 0 0
7 0 1 1 1 0 1 1 1 0 0 1 1 1 1
8 1 0 0 0 1 0 0 0 0 1 0 0 0 1
9 1 0 0 1 1 0 0 1 1 1 0 0 1 0
Contoh penggunaan bit parity untuk mengirimkan kode BCD
8421 ditunjukkan pada gambar:

PENGIRIM PENERIMA
(TX) (RX)

Pe
INDIKATOR

KESALAHAN

PEMBANGKIT PURITY
BIT GENAP
PENDETEKSI KESALAHAN
PARITY GENAP
B8
B4

B8 B2
B4 B1
Pe
E
B2
B1

+ + + + + + +
Pe = B8 B4 B2 B1 E = B8 B4 B2 B1 Pe

E = = 0 TANPA KESALAHAN
= 1 ADA KESALAHAN

Gambar :
Contoh penerapan bit parity untuk transmisi kode BCD 8421
Untuk mendeteksi dan mengoreksi sebuah kesalahan
digunakan parity ‘bit’ dan parity ‘word’ bersama-sama.
Contoh :
- Kesalahan terletak di persilangan bit parity horizontal dan
bit parity vertikal yang salah
- Setelah dideteksi kemudian dikoreksi.
Jika yang salah ‘1’ dikomplementasikan ke ‘0’
‘0’ dikomplementasikan ke ‘1’

Kode Hamming
Kode Hamming adalah salah satu bentuk kode FEC (Forward
Error Correcting). Penerimaan mempunyai kemampuan untuk
mendeteksi dan mengoreksi kesalahan data yang diterima.
Jumlah bit Kode Hamming tergantung pada jumlah bit–bit
datanya.
m = bit – bit data
n = bit – bit Hamming (H)

2n ≥ m + n + 1

Bit–bit Hamming (H) dapat ditempatkan dimana saja dalam


deretan bit informasi data. Sekali posisi ditetapkan, maka
posisinya harus tetap dan juga harus sama–sama diketahui baik
oleh pengirim (TX) maupun oleh penerima (RX).
Contoh : Deretan bit informasi sebanyak 12 bit 101100 010010
akan dikirimkan menggunakan Kode Hamming.
Misalkan bit–bit Hamming (H) disisipkan pada posisi seperti
ditunjukkan pada tabel berikut ini:
1 1 1 1 1 1 1 1
9 8 7 6 5 4 3 2 1
7 6 5 4 3 2 1 0
H 1 0 1 H 1 0 0 H H 0 1 0 H 0 1 0

Jumlah bit–bit Hamming yang dibutuhkan banyaknya 5 bit (n


= 5) semua posisi bit yang mempunyai logika 1 dilakukan
operasi XOR.
Kode Hamming yang ditransmisikan oleh TX adalah :

Misalkan data yang diterima ada kesalahan yaitu pada bit 14,
logikanya berubah dari 1 ke 0 :
Di penerima, bit–bit Hamming diambil dan di XOR–kan
dengan semua posisi bit yang mempunyai logika ‘1’.

Dalam praktek, bentuk kode Hamming yang banyak digunakan


yaitu bit–bit Hamming mempunyai letak atau posisi tertentu,
n
yang diletakkan pada bit–bit yang merupakan kelipatan 2
untuk n = 0, 1, 2, 3, . . . dan seterusnya.
Jumlah check bit yang dibutuhkan tergantung pada jumlah bit
informasi yang akan dikodekan dan hubungannya ditunjukkan
dalam tabel.
Tabel Hubungan Jumlah Bit Hamming dan Bit Informasi

Selanjutnya di pengirim (TX ), bit–bit Hamming yang


dibangkitkan diberi notasi Pn yang menyatakan bit parity dan
parity yang digunakan bisa parity genap atau parity ganjil. Di
penerima, bit–bit Hamming diberi notasi Cn yang menyatakan
check bit yang mempunyai parity yang sama dengan pengirim.
Misalkan kita akan membuat kode Hamming dari bit–bit
informasi : I4 I3 I2 I1.
P4, P2 dan P1 adalah check bit kode Hamming yang akan
disisipkan.

Jika menggunakan Parity Genap :


X7 + X6 + X5 + X4 = 0 P4 = I5 + I6 + I7

X7 + X6 + X3 + X2 = 0 P2 = I3 + I6 + I7

X7 + X5 + X3 + X1 = 0 P1 = I3 + I5 + I7

Dimana : I3 I5 I6 I7 = 4 bit informasi biner


P4 P2 P1 = Parity bit

Contoh : Informasi 0 1 0 1
Tentukan kode Hammingnya
P1 = I3 + I5 + I7 = 1 + 0 + 0 = 1
P2 = I3 + I6 + I7 = 1 + 1 + 0 = 0
P4 = I5 + I6 + I7 = 0 + 1 + 0 = 1

Kode Hammingnya :

Di penerima ‘Code Word’ yang diterima oleh penerima adalah


sebagai berikut :

Y7 Y6 Y5 Y4 Y3 Y2 Y1
Proses koreksinya di penerima dengan ‘check bit’ :
Jika menggunakan Parity genap didapat :
C1 = Y1 + Y3 + Y5 + Y7
C2 = Y2 + Y3 + Y6 + Y7
C4 = Y4 + Y5 + Y6 + Y7

Tabel Check Bit Kode Hamming 8 bit :


Contoh : - Kode Hamming yang benar pada waktu dikirimkan
0 1 0 1 1 0 1 dan misalkan ada kesalahan pada bit ke-5, yaitu :
- Setelah diterima : 0 1 1 1 1 0 1

Check bit diperiksa dengan parity genap :


C4 = Y4 + Y5 + Y6 + Y7 = 1 + 1 + 1 + 0 = 1
C2 = Y2 + Y3 + Y6 + Y7 = 0 + 1 + 1 + 0 = 0
C1 = Y1 + Y3 + Y5 + Y7 = 1 + 1 + 1 + 0 = 1

C4 C2 C1 = 1 0 1 ternyata ada kesalahan pada kode


word yang diterima, posisi bit no. 5 salah dan harus dikoreksi.

Anda mungkin juga menyukai