Error Detection

Dalam pengiriman data antara satu computer dengan computer lainnya, terkadang terjadi bit error dalam sebuah frame, sehingga data yang diterima bisa berbeda dengan data yang dikirim. Untuk mengantisipasinya harus ada suatu pengecekan / pendeteksian,  apakah data yang dikirim benar atau terdapat kesalahan, teknik untuk melakukan pendeteksian ini disebut Error Detection, sehingga dari sini bisa dilakukan Error Correction.

Ada 2 pendekatan apabila penerima mendeteksi kesalahan dalam data yang diterima, yaitu meminta pengirim untuk mengirim ulang karena terdapat error dalam data yang dikirim, atau menggunakan algoritma Error Detection dan Error Correction sehingga penerima bisa me-rekonstruksi data yang diterima. Beberapa teknik / metode yang sering digunakan dalam Error Detection :

  • Two Dimensional Parity
  • Internet Cecksum Algorithm
  • CRC (Cyclic Redundancy Check)

error-detection

 Two Dimensional Parity (BISYNC)

Cara Kerja : menambahkan bit 1 ke dalam data untuk menyeimbangkan jumlah total dari bit 1.

Ada 2 metode yang dapat digunakan dalam Two Dimensional Parity, Odd Parity dan Even Parity.

CONTOH SOAL
Odd parity : jumlah total bit 1 dari (data + parity) bernilai ganjil .

Contoh : diasumsikan pengiriman 4 bit dengan nilai 1011, dengan bit parity terletak di sebelah paling kanan. Penjelasan transmisi menggunakan odd parity, sebagai berikut:

A akan mengirim : 1011
A menghitung nilai bit parity : ~(1^0^1^1) = 1
A menambahkan bit parity dan kirim : 10111
B menerima : 10111
B menghitung keseluruhan parity : 1^0^1^1^1 = 1
B melaporkan bahwa transmisi berhasil dengan parity yang benar (ganjil).
Even parity : jumlah total bit 1 dari (data + parity) bernilai genap.

Contoh : diasumsikan pengiriman 4 bit dengan nilai 1011, dengan bit parity terletak di sebelah paling kanan. Penjelasan transmisi menggunakan even parity, sebagai berikut:

A akan mengirim : 1011
A menghitung nilai bit parity : 1^0^1^1 = 0
A menambahkan bit parity dan kirim : 10110
B menerima : 10110
B menghitung keseluruhan parity : 1^0^1^1^0 = 0
B melaporkan bahwa transmisi berhasil dengan parity yang benar (genap).

Kelebihan :

  • Sederhana dalam penggunaannya di sistem
  • Mudah direalisasikan dalam bentuk hardware

Kekurangan:

  • Kurang handal, masih banyak terjadi kesalahan
Berikut ini contoh kesalahan yang dilakukan oleh metode parity check
A ingin mengirimkan data            :    1001
A menghitung nilai paritas genap    :    1^0^0^1 = 0
A mengirimkan                       :    10010
*** TRANSMISSION ERROR ***
B menerima                          :    11011
B menghitung semua paritas          :    1^1^0^1^1 = 0
B melaporkan transmisi data benar, walaupun sebenarnya data yang diterima salah.

Internet Checksum Algorithm

Cara Kerja : menjumlahkan (ones complement) semua data yang ditransmisikan dan mengirim hasil penjumlahan ke penerima. Hasil penjumlahan disebut checksum, penerima harus menjumlahkan data yang diterima juga menggunakan ones complement, yang nantinya akan dicocokkan dengan checksum. Jika hasilnya tidak sama, maka terjadi error pada data.

Kelebihan :

  • Mudah diimplementasikan dalam software
  • Lebih handal dibandingkan dengan Two Dimensional Parity

Kekurangan :

  • Tidak bisa mendeteksi apabila ada bit yang bertukar tempat. Tetapi bisa jadi hasil penjumlahannya sama dengan checksum.

Cyclic Redundancy Check

Cara Kerja : CRC menggunakan prinsip modulo bilangan. Data dianggap sebagai sebuah bilangan, dan untuk menghitung checksum, sama dengan menambahkan digit untuk data dengan digit untuk checksum (berisi 0) kemudian dibagi dengan pembilang tertentu, dan sisa pembagiannya menjadi checksum untuk data tersebut.

CRC

 Tergantung pemilihan bilangan pembagi, CRC dapat mendeteksi single-bit error, double bit error, error berjumlah ganjil, burst error dengan panjang maksimum r. Bilangan pembagi tersebut disebut sebagai generator (polinomial). Berikut beberapa gambar yang menjelaskan tentang CRC.

CRC Generator

crc generator

CRC Checker

crc checker

Polynomials

Polynomials menyatakan seluruh nilai sebagai polynomial dalam suatu model variabel X, dengan koefisien-koefisien biner. Koefisien berhubungan dengan bit-bit dalam angka biner, contoh:
1010110 bila direpresentasikan sebagai polynomial menjadi 1 . x6 + 1 . x5 + 0. X4 + 0 . X3 + 1 . X2+ 1. X1 + 0 . X0 = X6 + X4 + X2+ X1

biner polynomials

Kelebihan CRC :

  • Dapat digunakan untuk pengiriman data berkecepatan tinggi (16-32 bit)
  • Memiliki sistem yang handal
  • Mampu mendeteksi error dalam jumlah yang banyak (Burst Error)

Kekurangan CRC :

  • Perhitungan dan analisa perancangannya cukup sulit
  • Realisasi dalam bentuk rangkaian hardwarenya paling sulit dibuat dibandingkan Internet Checksum Algorithm dan Two Dimensional Parity
CONTOH SOAL
Diberikan pesan 1010110 berarti polynomyalnya M(X) =  X6 + X4 + X2+ X1 , berarti generator polynomialnya G(X) = X5 + X3 + 1 (101001) Kemudian M(X) dikalikan dengan X terbesar pada G(X) yaitu X2 = X6 + X4 + X2+ X1 dengan X5 menjadi X11 + X9 + X7+ X= 101011000000 Setelah itu dilakukan pembagian 101011000000 / 101001 diambil transmit frame nya yaitu 000000001101

 

*dikutip dari berbagai sumber, diantaranya:
- Computer Networks 5th Edition, Larry Peterson
- t4planet.tripod.com/checksum.html

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *