ROBERT DESIGN & PEMOGRAMAN

Trik Komputer| desain Grafis | Pemograman | AutoCad | Pendidikan |Games Android dan lain-lain

Error Checking pada Jaringan Telekomunikasi ( komunikasi Data )

PENGANTAR

    Dalam pengiriman data antara satu komputer dengan komputer 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.

Masalah yang harus dihadapi dalam sistem komunikasi apapun adalah terjadinya/adanya error/kesalahan yang menyebabkan sistem tersebut tidak sesuai dengan yang diinginkan. Hal ini terjadi juga pada sistem komunikasi data. Masalah utama dalam komunikasi data adalah realibility. Sinyal yang dikirim melalui medium tertentu dapat mengalami pelemahan, distorsi, dan adanya keterbatasan bandwidth. Hal tersebut dapat membuat data yang dikirim menjadi rusak, hilang, berubah, atau terduplikasi. Kesalahan/error yang terjadi tersebut dapat diakibatkan oleh berbagai hal seperti kesalahan dalam transmisi (hardware), network interface, interferensi elektrik, noise (misal thermal noise), koneksi, dll.

Tipe error ada 2 kemungkinan :
1. Random error (contohnya single-error)
   Adalah jika hanya terjadi perubahan satu bit data yang dikirimkan.
   Contoh : ASCII STX- ASCII LF
2.Burst error
   Terjadi perubahan dua atau lebih pada bit data yang dikirimkan.
   Contoh: perubahan pada pengiriman data ASCII B – ASCII LF

Berikut ini akan dijelaskan beberapa jenis Metode Error Checking :
1. Parity Check
    Pada metode ini, deteksi error dilakukan dengan menambahkan sebuah ‘parity’ bit pada setiap paket data, sehingga dapat dideteksi suatu paket data tersebut valid atau tidak.

Metode parity bit ini terbagi menjadi dua jenis yakni:
a. even parity
     metode ini biasa dipergunakan dalam transmisi data secara asynchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan tetap 0 sedangkan jika jumlah ‘1’ ganjil maka bit parity akan menjadi 1 sehingga jumlah bit menjadi genap. Proses penghitungan ini menggunakan XOR gate.

Untuk lebih jelasnya dapat dilihat pada contoh dibawah ini.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mentransmisikan data         :1001
A menghitung, untuk mendapatkan bit parity :1^0^0^1 = 0
A menambahkan bit paritas pada paket data   :10010
B menerima data                                         :10010
B menghitung parity                                     :1^0^0^1 = 0
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
A ingin mentransmisikan data                         : 1001
A menghitung, untuk mendapatkan bit parity   : 1^0^0^1 = 0
A menambahkan bit paritas pada paket data : 10010

*** TRANSMISSION ERROR ***
B menerima data                       : 11010
B menghitung parity                                       : 1^1^0^1^0 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang diterima tidak sesuai harapan yakni even parity

b. odd parity
     metode ini biasa dipergunakan dalam transmisi data secara synchronous, pada metode ini sebelum paket data dikirim, setiap paket data di cek apakah jumlah ‘1’ berjumlah ganjil atau genap, jika paket data berjumlah genap maka bit parity akan menjadi 1 sehingga jumlah bit ‘1’ menjadi ganjil  sedangkan jika jumlah ‘1’ sudah ganjil maka bit parity akan tetap menjadi 0.
Berikut ini adalah contoh pengecekan error pada transmisi menggunakan metode even parity :
A ingin mengirimkan paket data                             : 1001
A menghitung, untuk mendapatkan bit parity     : ~(1^0^0^1) = 1
A menambahkan bit parity                                       : 10011
B menerima data                                                         : 10011
B menghitung parity bit                                             : 1^0^0^1^1 = 1
B melaporkan bahwa data yang diterima valid [harapan yang diterima B benar, yakni even parity].
A ingin mengirimkan paket data                              : 1001
A menghitung nilai even parity                                 : 1^0^0^1 = 0
A menambahkan bit parity                                         : 10010

*** TRANSMISSION ERROR ***
B menerima                                                                    : 10011
B menghitung bit parity                                               : 1^0^0^1^1 = 1
B melaporkan adanya error pada transmisi, setelah mendapatkan data yang ditidak sesai harapan yakni even parity

Kelebihan dari metode parity check:
# Sederhana dalam analisis dan penggunaan pada sistem
# Mudah direalisasikan dalam bentuk rangkaian/hardware

Kekurangan dari metode parity check:
# Kurang handal dalam mengatasi deteksi dan perbaikan error.
# Kemungkinan kesalahan yang terjadi besar, yaitu 50%
# Hanya dapat mendeteksi error dalam jumlah bit terbatas : 1-3 bit errors.

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 terima salah.

2.Checksum
    Pada Metode checksum, pengecekan dilakukan dengan melakukan penjumlahan pada sekumpulan data dan kemudian mengcomplement jumlah tersebut, kemudian hasil complement tersebut/checksum ditambahkan pada data sebagai sebuah karakter. Kemudian pada reciever, akan dihitung ulang checksum-nya dan dilakukan perbandingan nilai/jumlah data yang dikirimkan dengan checksum. Bila terjadi perbedaan nilai antara kedua nilai ini, maka terjadi kesalahan/error dalam pengiriman data. Pada dasarnya metode ini mirip dengan parity check, perbedaannya adalah jumlah bit pada sums lebih besar dan hasil dari penjumlahan data dengan checksum harus selalu dibuat nol.
Di sisi pengirim:
- Unit data dibagi ke dalam k seksi yang masing-masing seksi berisi n-bit data.
- Semua seksi data tersebut ditambahkan menggunakan 1’s complement untuk mendapatkan jumlahnya.
- Jumlah tersebut kemudian dikomplemenkan dan menjadi nilai checksum.
- Checksum dikirim bersama dengan data sebagai unit terakhir dalam paket pengiriman.

Di sisi penerima:
- Unit data yang diterima kembali dibagi ke dalam k seksi yang masing-masing seksi berisi b-bit data.
- Semua seksi unit data tersebut dijumlahkan menggunakan 1’s complement untuk mendapatkan jumlahnya.
- Jumlah tersebut kemudian dikomplemenkan.
- Jika hasilnya adalah nol, maka data diterima; jika tidak, data akan ditolak.
Jadi, secara umum dapat disimpulkan mengenai Checksum ini adalah sebagai berikut:

Kelebihan dari metode Checksum:
- Mudah diimplemantasikan dalam software
- Memiliki kehadalan sistem yang cukup tinggi, yaitu sekitar 90%.

Kekurangan dari metode Checksum:
 - Kehandalan sistem deteksi error yang masih lemah (walaupun lebih handal dibanding parity check) karena tidak dapat mendeteksi unit data (bytes/words) yang urutannya berantakan, tidak dapat mendeteksi unit data mana yang mengalami kesalahan.

3. CRC – Cyclic Redundancy Check
Cyclic redundancy check (CRC) adalah metode yang umum digunakan untuk mendeteksi error. CRC beroperasi pada sebuah frame/block. Setiap block berukuran m bit yang akan dikirim akan dihitung CRC checksumnya (berukuran r bit), kemudian dikirim bersama2 dengan frame (dengan ukuran m+r bit). Pada sisi penerima, penerima akan menghitung CRC checksum pada frame yang diterima, dan dibandingkan dengan checksum yang diterima, jika berbeda, berarti frame rusak.
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. 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 contoh deskripsi mengenai CRC.
Di sisi pengirim:
# Data memiliki m bit
1001, m = 4
# Generator memiliki panjang r bit
101, r = 3
# Tambahkan r-1 bit 0 ke data:
100100
# Bagi bilangan ini dengan generator, sisanya (11) adalah checksum
# Tambahkan checksum ke data asal: 100111
Di sisi penerima:
# Bagi data yang diterima dengan generator.
Jika sisanya bukan 0, berarti terjadi kesalahan.
# Jika sisanya 0, berarti tidak terjadi kesalahan,
sesuai dengan kriteria generator yang digunakan.

     Pada CRC ini, generator pembagi data ini sering disebut generator polinomial karena nilai pembagi ini dapat direpresentasikan dalam bentuk polinomial peubah banyak, tergantung pada jenis/nilai pembagi yang digunakan. Gambar berikut menjelaskan konsep tersebut.
Berikut adalah beberapa generator polinomial yang sering digunakan berdasarkan konvensi internasional.
LRC: X8 + 1
CRC-12: X12 + X11 + X3 + X2 + X + 1
CRC-16: X16 + X15 + X2 + 1
CRC CCITT V41: X16 + X12 + X5 + 1 (digunakan pada HDLC procedure.)
CRC-32 (Ethernet): = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1
CRC ARPA: X24 + X23+ X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3 + 1
Jadi, secara umum dapat disimpulkan mengenai CRC ini adalah sebagai berikut
Kelebihan dari metode CRC:
- Dapat digunakan dalam pengiriman data berkecepatan tinggi (16-32 bit).
- Memiliki kehadalan sistem yang sangat tinggi, yaitu sekitar 99%.
- Mampu mendeteksi bit error dalam jumlah banyak (burst error) dengan panjang yang kurang dari jumlah      redundansi bitnya.

Kekurangan dari metode CRC:
- Realisasi rangkaian/hardware dan software yang paling sulit dibanding parity check dan checksum.
- Analisis dan perhitungan dalam perancangan yang cukup sulit.

4. Kode Hamming
    Kerusakan data atau kesalahan data yang diterima oleh terminal penerima dalam sistem komunikasi data sering terjadi, hal yang mendasar sebagai penyebab adalah adanya interferensi sinyal luar yang masuk ke dalam jalur komunikasi, koneksi kawat penghubung, terminal,  konektor pada layer terendah yang kurang baik. Hal tersebut menyebabkan sinyal gangguan (noise), sebagai akibat gangguan tersebut muncul permasalahan pada data yang diterima oleh penerima berupa data error.
Terlebih pada transmisi data serial dengan kecepatan tinggi dan kualitas jalur transmisi yang rendah kesalahan (error) sangat mungkin terjadi, ukuran banyaknya bit error dalam blok data disebut sebagai bit error rate (BER}.Terdapat toleransi kesalahan bit dalam sistem transmisi data, dan batasan nilai BERdalam satu kelompok data 105 bit.
Dalam penanganan kesalahan (error handling) bit terkirim tahapan utama dalam penerimaan data adalah deteksi kesalahan bit terkirim, selanjutnya dilakukan koreksi terhadap kesalahan (error). Perbaikan data bisa dilakukan oleh penerima atau pengirim melalui permintaan pengiriman ulang data, permintaan ini melalui sinyal NAK dari penerima ke pengirim.
Seperti telah dijelaskan sebelumnya bahwa proses deteksi kesalahan melalui bit yang ditambahkan (redundant bit) ke dalam data, dengan metode pengkodean tersebut dapat ditentukan kesalahan bitnya. Sistem pengkodean yang lain yang dapat digunakan dalam komunikasi data adalah kode Hamming.








Bagikan :
+
Previous
Next Post »
0 Komentar untuk "Error Checking pada Jaringan Telekomunikasi ( komunikasi Data )"

 
Template By Kunci Dunia
Back To Top