Anda di halaman 1dari 24

DETEKSI DAN

KOREKSI
KESALAHAN
Oleh :
Mutiara Sukma
32219016
Dalam sebuah jaringan, kerusakan data bisa terjadi
ketika mengirimkan atau mentransmisikan atau
mengkomunikasikan data. Beberapa aplikasi
memerlukan mekanisme untuk mendeteksi dan
mengoreksi error tersebut.
Jenis-jenis Errors

Source: Figure 9-1, Forozun .ppt chapter 9


Single Bit Errors

 Hanya terjadi 1 bit kesalahan dari unit data yang

dikirimkan (byte, karakter, atau paket). Bit berubah dari

1 ke 0 atau sebaliknya.
 Gambar 1.1 yang menunjukan contoh terjadinya

kesalahan pada unit data. Unit data yang dikirim adalah

00000010 sedangkan unit data yang diterima adalah

00001010. Kerusakan terjadi pada bit ke 5, yaitu bit

berubah dari 0 menjadi 1.


Single Bit Errors

Gambar 1.1 Kesalahan Bit Tunggal, (Forouzan, Hal. 268)


Multiple Bit Errors

Berarti bahwa terdapat 2 bit unit data yang diberikan berubah


dari 1 ke 0 atau dari 0 ke 1.

Gambar dibawah ini menunjukan terjadinya kesalahan pada


unit data. Dimana data yang dikirim 01000010 sedangkan
yang diterima 00001010. Terjadi kerusakan dapat bit ke 2
dimana 1 menjadi 0 dan pada bit ke 5 dimana 0 menjadi 1.
Multiple Bit Errors

Gambar 1.2 Kesalahan Bit Ganda, (Figure 9-3, Forozun.ppt chapter 9)


Burst Errors

Berarti ada 2 atau lebih bit unit data yang berubah dari 1 ke 0
atau dari 0 ke 1.

Gambar dibawah ini menunjukan terjadinya kesalahan pada


unit data. Dimana data yang dikirim 0100010001000011
sedangkan yang diterima 0101101101000011. Terjadi
kerusakan dapat bit ke 4 sampai bit ke 8.
Burst Errors

Gambar 1.3 Burst Error, (Figure 9-4, Forozun.ppt chapter 9)


Burst Errors

Burst error tidak selalu pada bit yang berurutan tapi panjang
kesalahan diukur dari bit pertama yang rusak sampai bit
terakhir yang rusak, tetapi tidak berarti semua bit yang berada
diantaranya rusak .
Burst Errors

Gambar 1.4 Burst Error Panjangnya 8, (Forouzan, Hal. 268)


Deteksi dan Koreksi

Mengoreksi kesalahan lebih sulit daripada mendeteksi


kesalahan. Deteksi kesalahan, hanya bertujuan untuk
mengetahui ada kesalahan atau tidak. Bahkan tidak diketahui
jumlah kesalahan yang terjadi, kesalahan bit tunggal dan
burst error yang terjadi adalah dianggap sama oleh pendeteksi
kesalahan.
Forward Error Correction & Retransmission

Ada dua metode utama dalam mengoreksi kesalahan.


1. Mengoreksi kesalahan di awal unit data, penerima
akan menebak pesan dengan menggunakan metode
redundancy.
2. Melakukan pengiriman ulang, sampai pesan yang
diterima benar dan tidak ada kesalahan yang dideteksi.
(catatan: tidak semua kesalahan dapat dideteksi).
Modulo-2 Arithmetic

Gambar 1.5 Hitungan Modul-2, (Forouzan, Hal. 271)


Block Coding
Pada kode blok, pesan yang dikirim dibagi dalam beberapa
bagian, perhatikan pada Gambar 2.1. Setiap bagian berisi k
bit yang disebut datawords, lalu ditambahakan r (bit
tambahan) bit kepada setiap bagian sehingga panjangnya
menjadi n=k+r. Kemudian hasil dari bagian n bit disebut
codeword.
Dalam kode blok, kesalahan bisa dideteksi jika dua kondisi
berikut terpenuhi :
1. Penerima sudah memiliki daftar dari codeword yang
benar.
2. Codeword yang diterima telah berubah
Block Coding

Gambar 1.6 Process of error detection in block coding, hal. 272


Contoh Block Code
Contoh dapat diasumsikan sebagai berikut, k=2 dan n=3,
maka untuk mendeteksi kesalahan dapat dilihat pada
dataword dan codeword dalam Tabel 2.1 di bawah ini :

Tabel 1 Sebuah Kode Untuk Deteksi Kesalahan, (Forouzan, Hal. 272)


Block Coding
Sebagai contoh anggap saja bagian pengiriman melakukan pembuatan kode pada dataword 01 menjadi codeword 011
kemudian dikirimkan. Dibawah ini merupakan kemungkinan yang akan terjadi selama pengiriman.
1. Codeword benar yaitu jika data codeword yang diterima pada penerima adalah 011. Kemudian penerima
membuka codeword yang diterima dan menghasilkan dataword yang benar yaitu 01.
2. Codeword yang rusak hanya 1 bit yaitu codeword yang diterima menjadi 111 (bit yang paling kiri rusak) dan
tidak sesuai dengan semua data yang ada. Karena bukan codeword yang benar akan langsung ditolak atau
dibuang.
3. Codeword yang rusak ada 2 bit yaitu codeword yang diterima menjadi 000 (2 bit dari kanan rusak). Namun ini
merupakan codeword yang benar karena ada didalam data yang sudah tersimpan. Kemudian penerima membuka
codeword 000 menjadi dataword 00. Meskipun tadi ada 2 bit yang rusak tetapi tidak terdeteksi, inilah
kelemahan dari sistem ini.
Error Correction
Dataword pada Tabel 1 diatas akan ditambahkan 3 bit
tambahan sehingga membuat codeword menjadi 5 bit.
Hasilnya dapat dilihat pada Tabel 2.2 di bawah ini.

Tabel 2 Sebuah Kode Untuk Koreksi Kesalahan, (Forouzan, Hal. 274)


Error Correction
Dataword yang dikirim 01, namun codeword yang diterima 01001 (eror di bit ke 2 dari kanan). Pertama lihat daftar
dalam tabel bahwa codeword yang diterima tidak ada dalam tabel, artinya terdapat eror. Penerima mengasumsikan
hanya terdapat 1 bit yang rusak, lalu gunakan strategi di bawah ini untuk menebak dataword yang tepat.
1. Dapat dilihat codeword yang diterima adalah 01001, kemudian bandingkan dengan codeword pada Tabel 2.2,
yang pertama adalah 00000, setelah dibandingkan dapat diketahui bahwa codeword yang pertama bukanlah
codeword yang dikirimkan, karena terdapat dua bit yang berbeda (bit kesatu dan bit keempat dari sebelah
kanan).
2. berdasarkan cara analisa pada nomer satu diatas, maka codeword yang sebenarnya dikirimkan tidak mungkin
codeword ketiga maupun keempat dari Table 2.2.
3. Jadi codeword yang dikirimkan sebenarnya adalah codeword kedua dari Tabel 2.2, karena paling mendekati
kesamaan dan hanya terdapat satu bit yang berbeda. Bagian penerima kemudian mengganti codeword 01001
dengan 01011 dan setelah itu didapatkan dataword 01, sesuai dengan yang dikirimkan.
Error detection and correction dalam hamming distance

Untuk mendeteksi kesalahan, sejumlah s error, maka


minimum hamming distance dalam kode blok menggunakan
rumus dmin=s+1.

Sedangkan untuk mengoreksi kesalahan sejumlah t error,


maka minimum hamming distance dalam kode blok
menggunakan rumus dmin=2t+1.
Linear Block Code
Dalam kode blok linear, operasi X-OR dari dua codeword
yang benar akan menghasilkan codeword yang benar juga
pada lainnya. Salah satu contohnya yaitu, kode blok linier
adalah kode pemeriksa paritas sederhana (Simple Parity
Check Code), yaitu kode dideteksi untuk kesalahan bit
tunggal dimana n=k+1 dan dmin=2. Kode pemeriksa paritas
sederhana juga dapat mendeteksi kesalahan yang berjumlah
ganjil. Contohnya pada Tabel 3 dibawah ini.
Linear Block Code

Keterangan:
Di dataword digunakan rumus:

Jumlahkan semua bit dalam dataword, bila genap maka


hasilnya 0, bila ganjil maka hasilnya 1.
Untuk pengecekan Codeword yang dikirimkan digunakan
rumus:
Linear Block Code

Bila dikirimkan dataword 1011 maka dataword yang dihasilkan adalah


10111, kebenarannya diuji melalui langkah berikut:
1. Tidak ada kesalahan, codeword yang diterima 10111. sindrom 0,
maka dataword 1011.
2. Codeword yang diterima 10011. Sindrom 1. Tidak ada dataword
yang dibuat.
3. Codeword yang diterima 10110. Sindrom 1. Tidak ada dataword
yang dibuat.
4. Codeword yang diterima 00110. Sindrom 0, maka dataword
0011. Meskipun dataword yang dibuat salah karena nilai
Sindrom genap. Tetapi pemeriksa pembaca kode paritas
sederhana (simple parity check decoder) tidak bisa mendeteksi
kesalahan yang bejumlah genap, karena dideteksi sebagai
sindrom yang mempunyai hasil 0, meskipun dataword yang
didalamnya tidak sesuai.
5. Codeword yang diterima 01011. Sindrom 1. Tidak ada dataword
yang dibuat.

Anda mungkin juga menyukai