Deteksi & Koreksi Kesalahan · •Event Parity Bit, nilai parity bit sama dengan hasil peng-XOR an....

45
Deteksi & Koreksi Kesalahan

Transcript of Deteksi & Koreksi Kesalahan · •Event Parity Bit, nilai parity bit sama dengan hasil peng-XOR an....

Deteksi & KoreksiKesalahan

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 memintapengiriman ulang

4

Tipe Kesalahan (A)

A. Single-bit errors

Biasanya terjadi pada komunikasi pararel

Hanya 1 bit yang salah/rusak

Tipe Kesalahan (B)

B. Burst errors

Biasanya terjadi pada komunikasi serial

Data korup lebih dari 1

Terjadi ketika durasi noise lebih panjang dari durasi pengiriman1’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 :Kesalahan Simple parity check

Two-dimensional parity

Checksum

Cyclic Redundancy Check (CRC)

Koreksi Hamming Codes

MFCS(frame

check sequence)

Parity Check

• Metode paling populer dan sederhana dalam mendeteksikesalahan

• 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 untukmeyakinkan bahwa jumlah bit yang dikirimkan mempunyaiangka 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 dikirimkanberjumlah ganjil (berarti membuat total angka 1 berjumlahgenap).

• Odd parity bit akan diset ke 1 jika jumlah angka 0 yangdikirimkan 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 menggunakanodd parity, maka jumlah 1 bit yang merepresentasikan suatukarakter adalah ganjil. Jika jumlah 1 bitnya sudah ganjil, maka paritybit yang terletak pada track ke-n adalah 0 bit, akan tetapi jika jumlah1 bitnya masih genap maka parity bitnya adalah 1 bit.

• EVEN PARITY ( Parity Genap), Bila kita merekam data denganmenggunakan even parity, maka jumlah 1 bit yangmerepresentasikan suatu karakter adalah genap jika jumlah 1 bitnyasudah genap, maka parity bit yang terletak pada track ke-n adalah 0 bit, akan tetapi jika jumlah 1 bitnya masih ganjil maka parity bitnyaadalah 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

A BC

DE

F

jika bit 1 pada data berjumlah genap maka keluaran ahirnya pasti "0", jikaganjil maka "1"

Gerbang X-OR

Contoh (data asli: 1010000)

Gerbang Input Output

A 0 0 0

B 0 0 0

C 0 0 0

D 1 0 1

E 0 1 1

F 1 1 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 0 0 0

B 0 0 0

C 0 0 0

D 1 0 1

E 1 1 0

F 1 0 1

G 0 1 1

Contoh kesalahan 2 (data asli: 1010000)

Gerbang Input Output

A 0 0 0

B 1 0 1

C 0 1 1

D 1 1 0

E 1 0 1

F 1 1 0

G 0 0 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 yangdikirim dalam bit agar sampai ke tujuan dengan benar. Asumsikan Metode Pendeteksian Error = Parity Check (evenparity 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 masingditambahkan dengan parity bit nya ( Asumsikan kita menggunakanEven Parity Bit ) Maka Data Akan berubah menjadi:

• (A = 1000001 Setelah Di XOR kan, Hasilnya "0" Karena kitamenggunakan 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 0 1 1 0 10

0 0 1 0 1 1 0

1 1 1 0 1 0 1

1 0 0 1 0 1 1

1

0

1

1

0

1 011000 1

BCC= 10001101

BCC = block check character (diakhir)

Dulu : 7 x 5Sekarang : 8 x 6

LRC

LRC = longitudinal Redudancychar

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 padasistem komunikasi

• Analogi :

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

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

38Berarti 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= 15

Jadi 15-7 = 8

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)

0 1 1 11’s complement 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 denganmenambahkan 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 dapatmendeteksi 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 D71 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)

D1 D2

D3

D4

C1/P1

C3/P3C2/P2

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

0 1 1 0 = 6

Sekarang kita lihat posisi bit ke-6 adalah data ke-3.

(EX-OR)

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 kodesebagai berikut:

1011011

Dengan asumsi menggunakan even parity, apakah data yang diterimatersebut benar atau salah

Jika salah posisi bit nya berada pada posisi?

Tampilkan data sesungguhnya