DETEKSI DAN KOREKSI KESALAHANfahrudin.dosen.ittelkom-pwt.ac.id/wp-content/uploads/...• Proses...
Transcript of DETEKSI DAN KOREKSI KESALAHANfahrudin.dosen.ittelkom-pwt.ac.id/wp-content/uploads/...• Proses...
KOMUNIKASI DATA
DETEKSI DAN KOREKSI KESALAHAN
Oleh:
Fahrudin Mukti Wibowo, S.Kom., M.Eng
Jenis Error• Single bit error
• Burst error
Redudancy
• mengirim sejumlah bit tambahan yang disertakan bersamaan dengan bit data yang dikirim
• Proses melakukan perbaikan atau koreksi terhadap error yang terjadi lebih sulit dibandingkan proses untuk mendeteksikesalahan
Deteksi Error
1. Parity Check / Bit Paritas
• bit tambahan yang digunakan untuk mendeteksi terjadinya error dengan hanya menambahkan 1 bit paritas pada data yang akan ditransmisikan
• jika terdapat k-bit dataword maka akan diubah menjadi n-bit codeword, (n = k+1)
ASCII 7 bit
P
Bit Paritas
aturan bit paritas
• Even Parity (paritas genap)- Bit paritas bernilai 1, bila jumlah bit 1 adalah ganjil- Bit paritas bernilai 0, bila jumlah bit 1 adalah genap contoh: 10101010 (data) 10101010 0
• Odd Parity (paritas ganjil)- Bit paritas bernilai 1, bila jumlah bit 1 adalah genap- Bit paritas bernilai 0, bila jumlah bit 1 adalah ganjilcontoh: 10101010 (data) 10101010 1
Contoh even parity
Keterbatasan:
• hanya mampu mendeteksi (bukanmengoreksi kesalahan), karena tidakdapat menunjukkan posisi bit yang salah
• hanya mampu mendeteksi satu atausejumlah ganjil kesalahan. Bila ada duakesalahan akan dianggap benar
2. Kode Hamming
• Mekanisme pendeteksian kesalahan denganmenambahkan beberapa buah check bit data paritas (C) ke dalam data word (D)
• D = 2n bit C = (n+1) bit
• Data yang disimpan memiliki panjang D + C
• C disisipkan pada D dengan rumus perhitungan posisi Ci= 2(i-1)
C1 C2 D1 C3 D2 D3 D4 C4 D5 D6 D7
1 2 3 4 5 6 7 8 9 10 11 12
D8
Nilai check bit
• Nilai check bit adalah penjumlahan X-OR :
C1 = D1 D2 D4 D5 D7 (lompat 1) P1
C2 = D1 D3 D4 D6 D7 (lompat 2) P2
C3 = D2 D3 D4 D8 (lompat 4) P4
C4 = D5 D6 D7 D8 (lompat 8) P8
C1 C2 D1 C3 D2 D3 D4 C4 D5 D6 D71 2 3 4 5 6 7 8 9 10 11 12
D8
data : 0011 0010
C1 = D1 D2 D4 D5 D7
0 0 1 0 1 = 0 (P1)
C2 = D1 D3 D4 D6 D7
0 1 1 0 1 = 1 (P2)
C3 = D2 D3 D4 D8
0 1 1 0 = 0 (P4)
C4 = D5 D6 D7 D8
0 0 1 0 = 1 (P8)
Data dikirim : 010001110010
C1 C2 0 C3 0 1 1 C4 0 0 1
1 2 3 4 5 6 7 8 9 10 11 12
0
C1 C2 D1 C3 D2 D3 D4 C4 D5 D6 D7
1 2 3 4 5 6 7 8 9 10 11 12
D8
Data dikirim : 010001110010Data diterima : 010011110010
C1 = D1 D2 D4 D5 D70 1 1 0 1 = 1 seharusnya 0
C2 = D1 D3 D4 D6 D70 1 1 0 1 = 1
C3 = D2 D3 D4 D8 1 1 1 0 = 1 seharusnya 0
C4 = D5 D6 D7 D8 0 0 1 0 = 1
Karena kesalahan terjadi di P1 dan P4, maka 20+22 = 5. Maka kesalahan terjadi di bit ke-5, maka di invers.
C1 C2 0 C3 1 1 1 C4 0 0 1
1 2 3 4 5 6 7 8 9 10 11 12
0
C1 C2 D1 C3 D2 D3 D4 C4 D5 D6 D7
1 2 3 4 5 6 7 8 9 10 11 12
D8
Diskusi kelompok
• Kelebihan dan kekurangan kode hamming
3. Cyclic Redudancy Checking
• Pendeteksian kesalahan dengan cara membaginilai bilangan binari dari data dengan suatunilai bilangan lainnya (constanta/pattern).
• Pengecekkan dilakukan dengan mencocokkansisa bagi (remainder)
• Teknik CRC : modulo 2 arithmetic danpolynomials
1) Aritmatika Modulo – 2
• Merupakan operasi X-OR • Menggunakan penjumlahan binary tanpa carry
pada proses penjumlahan dan tanpa borrow pada proses pengurangan
Contoh :data 1001 M = 4 bitconstant 1011 r = 4 bit
Sisi Pengirim - Tambahkan data yang dikirim dengan r-1 bit 0
M 1001 000
- Bagi M (1001000) dengan r (1011), maka akan didapathasil bagi (quotient) dan sisa pembagian (remainder)
- Tambahkan remainder ke data asal (M asal) menggantikan data tambahan r-1 bit 0 FCS
1001 000 1001 110
Sisi Penerima:
Frame yang diterima (1001 110) dibagi dengan r,
jika tidak ada remainder maka dianggap tidak ada error.
2) Polynomial
• Pola bit 0 dan 1 dapat direpresentasikan sebagai polynomial dengan koefisien 0 atau 1
• Koefisien merupakan nilai dari sebuah bit
• Pangkat merupakan posisi dari bit
Operasi polynomial
• Proses perkalian suku polynomial, dengan menjumlahkan pangkat dari setiap suku. contoh: X4 * X3 = X7
• Proses pembagian polynomial, dengan mengurangi pangkat suku pertamadengan pangkat suku ke-2. contoh: X5 : X3 = X(5-3)
= X2
Proses pembagian polynomial konsepnya sama dengan pembagian biner
Contoh :message M = 1001 (4 bit)constant r = 1011 (4 bit)
Sisi Pengirim
- Tambahkan data yang dikirim dengan r-1 bit 0
M menjadi 1001 000
- Bagi M dengan r (dalam format polynomial)M = 1001 000
= X6 + X3
r = 1011= X3 + X + 1
Tambahkan remainder ke data asal (M asal)
X6 + X3 + X2 + X
Sisi Penerima:
Kode polynomial yang diterima
(X6 + X3 + X2 + X)
dibagi dengan r,
jika tidak ada remainder maka dianggap tidak ada error.
Diskusi kelompok
• Kelebihan dan kekurangan CRC
Thank You