Anda di halaman 1dari 45

Deteksi & Koreksi

Kesalahan
Pendahuluan
• Tujuan dalam komunikasi : data benar dan
utuh
• Masalah : Bit dapat terjadi kerusakan
• Penyebab :
• Korupnya data ketika ditransmisikan
 Thermal Noise
 Crosstalk (hub elektikal antar kabel)
 Atenuasi (lemah)
 Distorsi (penundaan/delay)
• Kesalahan dalam pengiriman frame
 Ukuran lebih panjang dari frame
 Probabilitas frame yang diterima tanpa ada kesalahan
rendah
• Akibatnya : Data yang diterima salah & tidak utuh
Solusi
• Deteksi Kesalahan
• Proses recovery kesalahan
• Pembetulan kesalahan (correct error)
• Pengiriman ulang (retransmision)

• Deteksi kesalahan : Ya dan tidak, tidak perduli letak error


• Koreksi : perlu mengetahui jumlah dan posisi
• Retransmision : receiver mendeteksi kesalahan dan meminta
pengiriman ulang
Tipe Kesalahan (A)
A. Single-bit errors

Biasanya terjadi pada komunikasi pararel


Hanya 1 bit yang salah/rusak

4
Tipe Kesalahan (B)
B. Burst errors

Biasanya terjadi pada komunikasi serial


Data korup lebih dari 1
Terjadi ketika durasi noise lebih panjang dari durasi pengiriman
1’s bit
Deteksi Kesalahan & Koreksi
• Permasalahan : Deteksi kesalahan pada frame
• Solusi : tambahkan bit ekstra untuk setiap paket
• Tujuan:
 Mengurangi jumlah redundansi(diulang) bit, overhead biaya
dapat dikurangi
 Meningkatkan jumlah dan pola bit salah yang dapat dideteksi
• Metode :
FCS(frame
Kesalahan M check
 Simple parity check sequence)
 Two-dimensional parity
 Checksum
 Cyclic Redundancy Check (CRC)
 Koreksi
 Hamming Codes
Parity Check
• Metode paling populer dan sederhana dalam mendeteksi
kesalahan
• Menambahkan parity bit pada data
• Contoh :
1 0 1 1 0 0 1 0 even
0 0 1 1 1 0 1 1 odd

Tak asinkron : odd parity (ganjil)


Asinkron : even parity (genap)
Parity check
• Bit parity merupakan bilangan biner yang ditambahkan untuk
meyakinkan bahwa jumlah bit yang dikirimkan mempunyai
angka satu yang selalu genap atau ganjil.
• Terdiri dari :
• even parity bit
• odd parity bit.
Parity Checking:
Even dan Odd Parity
• Even parity bit diset ke 1 jika jumlah angka 1 yang dikirimkan
berjumlah ganjil (berarti membuat total angka 1 berjumlah
genap).
• Odd parity bit akan diset ke 1 jika jumlah angka 0 yang
dikirimkan berjumlah genap (berarti membuat total angka 1
berjumlah ganjil).
• Event Parity Bit, nilai parity bit sama dengan hasil peng-XOR an.
• Odd Parity Bit, Nilai parity bit merupakan komplement( kebalikan )
dari hasil peng-XOR an data.
• ODD PARITY (Parity Ganjil), Jika data direkam dengan menggunakan
odd parity, maka jumlah 1 bit yang merepresentasikan suatu
karakter adalah ganjil. Jika jumlah 1 bitnya sudah ganjil, maka parity
bit yang terletak pada track ke-n adalah 0 bit, akan tetapi jika jumlah
1 bitnya masih genap maka parity bitnya adalah 1 bit.

• EVEN PARITY ( Parity Genap), Bila kita merekam data dengan


menggunakan even parity, maka jumlah 1 bit yang
merepresentasikan suatu karakter adalah genap jika jumlah 1 bitnya
sudah genap, maka parity bit yang terletak pada track ke-n adalah 0
bit, akan tetapi jika jumlah 1 bitnya masih ganjil maka parity bitnya
adalah 1 bit.
Pernyataan mana yg
benar ??

Karakter ASCII Pariti Ganjil

K 100 1011 0100 1011

J 100 1010 1100 1010

T 101 0100 0101 0100


Hardware Pembangkit Bit
Parity

F
E
D
C
A B

jika bit 1 pada data berjumlah genap maka keluaran ahirnya pasti "0", jika
ganjil maka "1"
Gerbang X-OR
Contoh (data asli: 1010000)
Gerbang Input Output
A 00 0
B 00 0
C 00 0
D 10 1
E 01 1
F 11 0

Jika tidak ada kesalahan kondisi tetap terpenuhi dengan gerbang G


mempunyai masukan 0 dan 0 outputnya adalah 0
Contoh dengan 1 kesalahan
(data asli: 1010000)
Gerbang input output
A 00 0
B 00 0
C 00 0
D 10 1
E 11 0
F 10 1
G 01 1
Contoh kesalahan 2 (data asli:
1010000)
Gerbang Input Output
A 00 0
B 10 1
C 01 1
D 11 0
E 10 1
F 11 0
G 00 0

Hasil akhir adalah 0 (indikasi benar)


tetapi salah karena isyarat yang
diterima 01110100
Contoh Kasus
• Pengirim Ingin mengirimkan Kata “world". Kodekan ke kode
ASCII diperoleh:
1110111 1101111 1110010 1101100 1100100
• Dikirim dengan penambahan even parity:
11101110 11011110 11100100 11011000 11001001
Latihan :
• Johan dan Budi sedang berkomunikasi dengan sistem sms,
keduanya saling berkirim pesan dengan metode berkirim teks.
Salah satu teks yang dikirim adalah Aku. Perkirakan data yang
dikirim dalam bit agar sampai ke tujuan dengan benar.
Asumsikan Metode Pendeteksian Error = Parity Check (even
parity bit)

• A = 1000001 k = 1101011 u = 1010111


Jawab :
• Konversi ke kode ASCII
A = 1000001 k = 1101011 u = 1010111

• Dalam terminal Pengirim, Kata "Aku" Dianalisa Perkarakter "A" lalu


"k" lalu "u". Dari masing masing huruf itu Masing masing
ditambahkan dengan parity bit nya ( Asumsikan kita menggunakan
Even Parity Bit ) Maka Data Akan berubah menjadi:

• (A = 1000001 Setelah Di XOR kan, Hasilnya "0" Karena kita


menggunakan metode Even Parity Bit maka Parity Bitnya Bernilai
"0", maka Kode biner huruf "A" ditambah menjadi A =
10000010)

A = 10000010 k = 11010111 u = 10101111


Two Dimensional Parity
(Paritas Blok)
• Pesan dibagi menjadi beberapa blok
• Setiap blok memiliki karakter pemeriksa blok (block check
character)
• Berupa bit parity (even atau odd parity)
Contoh
• 7 Bit karakter per paket, metode even parity

0 1 1 0 1 0 0 1

1 0 1 1 0 1
0
0 LRC =
longitudina

LRC
0 0 1 0 1 1 0 1 l
Redudancy
char= block
BCC
1 1 1 0 1 0 1 1
check
character
1 0 0 1 0 1
0 (diakhir)
1

1 0 0 0 1 1 0 1 Dulu : 7 x 5
Sekarang :
BCC= 10001101 8x6
Data yang dikirim
01101001:10110100:00101101:11101010:10010110:10001101
Deteksi 1 bit error
Deteksi 2 bit Error
Deteksi 3 Bit error
Deteksi 4 bit error
• Tidak terdeteksi
Latihan
Diketahui Data Asli :
1011011 : 1010101 : 0101101 : 1101010

Gunakan metode Two dimensional Parity untuk mengetahui


data yang akan dikirim. Gunakan even parity
Checksum
• Metode yang digunakan untuk mendeteksi kesalahan pada
sistem komunikasi
• Analogi :

Terdapat data : 7, 5, 20, 2, 4


Jumlahkan : 7 + 5 + 20 + 2 + 4 = ?

38
Berarti untuk checksum adalah -38
Jadi data akan menjadi
7,5,20,2,4,-38
Contoh 1
• Contoh : 22
• Konversi ke biner
10110

1 0 1 1 0

1
+
0 1 1 1 = 7 (sum )

1’s
Complemen 1 0 0 0 = 8

2ˆn -1 = 2ˆ4 -1
Jadi 15-7 = 8
= 15
Contoh 2
• Sisi Pengirim
• Data 5, 7, 8, 1, 17
• Sum : 5+7+8+1+17=38
• Konversi 38 ke Biner = 100110
1 0 0 1 1 0

1 0
+
1 0 0 0 = 8 (wrapped sum)

1’s complement 0 1 11 Checksum= 7


Contoh 2 (cont…)
• Sisi penerima
• Data + checksum => 5, 7, 8, 1, 17, 7
• Lakukan sum = 45
• Konversi 45 ke biner = 101101
1 0 1 1 0 1

1 0
+
1 1 1 1 = 15

1’s complement 0 0 0 0 Checksum= 00

0 berarti tidak ada


error
Latihan Checksum
• Diketahui data yang akan dikirim sebagai berikut:
10110011101010110101101011010101
• Cari checksumnya pada sisi sender
• Buktikan checksum benar pada posisi penerima
Kode Hamming
• Diciptakan Richard Hamming di Bell Lab 1950
• Mekanisme pendeteksian kesalahan dengan
menambahkan data word (D) dengan suatu kode,
biasanya bit cek paritas (C).
• Data yang disimpan memiliki panjang D + C.
• Kesalahan diketahui dengan menganalisa data dan bit
paritas tersebut
• Kode Hamming mampu mendeteksi dan mengetahui posisi 1
bit yang salah di penerima
• kekurangan dari metode Hamming Code adalah tidak dapat
mendeteksi bila terjadi dua buah kesalahan sekaligus
Penulisan
• Penulisan : Hamming (7,4)
• 4 data bits
• 3 parity bits
• Cara menetukan bit parity
(2ˆk)-1 >= m+k

dengan k= n check bit


m = banyaknya word
Even Parity
• 101101_?
• 111000_?
Bila Bit paritas = 4, maka Jumlah bit informasi yg akan dikirim atau
diterima adalah = (2^4) – 4 – 1 = 16 – 5 = 11
Sehingga urutan bit nya :

C1 C2 D1 C3 D2 D3 D4 C4 D5 D6 D7
1 2 3 4 5 6 7 8 9 10 11
Kode Hamming
Kode Hamming
• Bit cek paritas ditempatkan dengan perumusan 2^N
dimana
N = 0,1,2, ……, sedangkan bit data adalah sisanya.
Kemudian dengan exclusive-OR dijumlahkan:

C1 = D1  D2  D4  D5  D7
C2 = D1  D3  D4  D6  D7
C3 = D2  D3  D4
C4 = D5  D6  D7

• Setiap cek bit (C) beroperasi pada setiap posisi bit data
yang nomor posisinya berisi bilangan 1 pada kolomnya
Bit cek paritas
• Ilustrasi keterkaitan (data : 1000)

C1/P1

D1 D2
D4

C2/P2 C3/P3
D3
Kode Hamming
• masukkan data : 00111001 kemudian ganti bit data ke 3
dari 0 menjadi 1 sebagai error-nya.
 00111101
• Bagaimanakah cara mendapatkan bit data ke 3 sebagai
bit yang terdapat error?
Kode Hamming
Jawab :
Masukkan data pada perumusan cek bit paritas :
C1 = 1  0  1  1  0 = 1
C2 = 1  0  1  1  0 = 1
C3 = 0  0  1 =1
C4 = 1  1  0 =0
Sekarang bit 3 mengalami kesalahan data menjadi:
00111101
C1 = 1  0  1  1  0 = 1
C2 = 1  1  1  1  0 = 0
C3 = 0  1  1 =0
C4 = 1  1  0 =0
Kode Hamming
Apabila bit – bit cek dibandingkan antara yang lama dan baru
maka terbentuk syndrom word :
C4 C3 C2 C1
0 1 1 1
0 0 0 1 (EX-OR)
0 1 1 0 =6
Sekarang kita lihat posisi bit ke-6 adalah data ke-3.

C1 C2 D1 C3 D2 D3 D4 C4 D5 D6 D7
0 0 1 1 1 1 0 1
Data asli yang dikirim adalah = D1 D2 D3 D4
1 1 1 0
Contoh Kasus
• Data 1011

Pengirim Penerima
1010101
?
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

Anda mungkin juga menyukai