Web viewCara yang paling populer untuk mendeteksi sebuah kesalahan dalam sebuah kode atau karakter...
Transcript of Web viewCara yang paling populer untuk mendeteksi sebuah kesalahan dalam sebuah kode atau karakter...
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 bit parity
n - 1 bit
n bit
Kode Karakter Word
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 g enap , parity bit yang ditambahkan akan
membuat jumlah atau total bit yang berlogik ‘0 ’ genap.
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
Desima
l
Kode BCDKode BCD
Parity Ganjil
Kode BCD
Dengan Parity
Genap
B
8
B
4
B
2
B
1
0 0 0 0 0 0 0 0 0 1 0 0 0 0 01 0 0 0 1 0 0 0 1 0 0 0 0 1 12 0 0 1 0 0 0 1 0 0 0 0 1 0 13 0 0 1 1 0 0 1 1 1 0 0 1 1 04 0 1 0 0 0 1 0 0 0 0 1 0 0 15 0 1 0 1 0 1 0 1 1 0 1 0 1 06 0 1 1 0 0 1 1 0 1 0 1 1 0 07 0 1 1 1 0 1 1 1 0 0 1 1 1 18 1 0 0 0 1 0 0 0 0 1 0 0 0 19 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:
Pe
PENERIMA (RX)
PENGIRIM (TX)
PEMBANGKIT PURITYBIT GENAP
PENDETEKSI KESALAHANPARITY GENAP
INDIKATOR
KESALAHAN
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 :
B8B4
B2B1
Pe
B8B4
B2B1
E
+ + + + + + +
- 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)
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).
2n ≥ m + n + 1
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
7
1
6
1
5
1
4
1
3
1
2
1
1
1
09 8 7 6 5 4 3 2 1
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, yang diletakkan pada bit–bit yang merupakan
kelipatan 2 n 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.