Deteksi dan Koreksi Kesalahan Data Link Layer

       Bahasan ini berhubungan dengan algoritma bagi komunikasi yang reliabel dan efisien
antara  dua  mesin  yang  berdekatan,  yaitu  dua  mesin  yang  secara  fisik  terhubung  oleh
sebuah  saluran  komunikasi  yang  secara  konseptual  bekerja  seperti  halnya  kabel.  Sifat
penting  sebuah  saluran  yang  membuatnya  menyerupai  kabel  adalah  bit-bit  diteruskan
dalam urutan yang sama dengan  sewaktu  bit-bit  itu  dikirimkan.Rangkaian  komunikasi  sering  membuat  kesalahan, memiliki laju data yang terbatas, dan terdapat delay propagasi yang tidak nol antara saat bit  dikirimkan  dengan  saat  bit  diterima.  Keterbatasn  ini  mempunyai  implikasi penting bagi efisiensi pemindahan data.

5.1. MASALAH-MASALAH RANCANGAN DATA LINK LAYER
Data  link  layer  memiliki  beberapa  fungsi  spesifik.  Fungsi-fungsi  ini  meliputi
penyediaan  interface  layanan-layanan  baik  bagi  network  layer,  penentuan  cara
pengelompokan  bit  dari  physical  layer  ke  dalam  frame,  hal-hal  yang  berkaitan  dengan
error  transmisi,  dan  pengaturan  aliran  frame  sehingga  receiver  yang  lambat  tidak  akan
terbanjiri oleh pengirim yang cepat.

5.2. LAYANAN YANG DISEDIAKAN BAGI NETWORK LAYER
Fungsi  data  link  layer  adalah  menyediakan  layanan  bagi  network  layer.  layanannya
yang  penting  adalah  pemindahan  data  dari  network  layer  di  mesin  sumber  ke  network
layer di mesin yang dituju. Tugas data link adalah mentransmisikan bit-bit ke mesin yang
dituju, sehingga bit-bit tersebut dapat diserahkan ke network layer.

Tiga layanan dari Data Link Layer :
1. Layanan Unacknowledged Connec-tion Less
2. Layanan Acknowledged Connection-Less
3. Layanan Acknowledged Connection-Oriented

1. Layanan Unacknowledged Connectionless
Yaitu  dimana  mesin  sumber  mengirimkan  sejumlah  frame  ke  mesin  yang  dituju
dengan  tidak  memberikan  acknowledgment  bagi  diterimanya  frame-frame  tersebut.
Tidak  ada  koneksi  yang  dibuat  baik  sebelum  atau  sesudah  dikirimkannya  frame.  Bila
sebuah  frame  hilang  sehubungan  dengan  adanya  noise,  maka  tidak  ada  usaha  untuk
memperbaiki  masalah  tersebu  di  data  link  layer.  Jenis  layanan  ini  cocok  bila  laju  error
sangat  rendah,  sehingga  recovery  bisa  dilakukan  oleh  layer  yang  lebih  tinggi.  Layanan
ini  sesuai  untuk  lalu  lintas  real  time,  seperti  percakapan,  dimana  data  yang  terlambat
dianggap  lebih  buruk  dibanding  data  yang  buruk.  Sebagian  besar  LAN  menggunakan
layanan unacknowledgment connectionless pada data link layer.

2. Layanan Acknowledged Connectionless
Layanan  inipun  tidak  menggunakan  koneksi,  akan  tetapi  setiap  frame  dikirimkan
secara  independent  dan  secara  acknowledgment.  Dalam  hal  ini,  si  pengirim  akan
mengetahui  apakah  frame  yang  dikirimkan  ke  mesin  tujuan  telah  diterima  dengan  baik
atau  tidak.  Bila  ternyata  belum  tiba  pada  interval  waktu  yang  telah  ditentukan,  maka
frame  akan  dikirimkan  kembali,  mungkin  saja  hilangnya  acknowledgment  akan  menyebabkan sebuah frame perlu dikirimkan beberapa kali dan akan diterima beberapa kali  juga.  Layanan  ini  akan  bermanfaat  untuk  saluran  unreliablem,  seperti  sistem  tanpa kabel.

3. Layanan Acknowledged Connection Oriented
Dengan  layanan  ini,  mesin  sumber  dan  tujuan  membuat  koneksi  sebelum
memindahkan datanya. Setiap frame yang dikirim tentu saja diterima. Selain itu, layanan
ini  menjamin  bahwa  setiap  frame  yang  diterima  benar-benar  hanya  sekali  dan  semua
frame  diterima  dalam  urutan  yang  benar.Layanan  ini  juga  menyediakan  proses-proses
network  layer  dengan  ekivalen  aliran  bit  reliabel.Pada  layanan  connection-oriented
dipakai,  pemindahan  data  mengalami  tiga  fase  (tahap).  Fase  I  koneksi  ditentukan
dengan  membuat  kedua  mesin  menginisialisasi  variabel-variabel  dan  counter  yang
diperlukan  untuk  mengawasi  frame  yang  mana  yang  telah  diterima  dan  mana  yang
belum.  Fase  II,  satu  frame  atau  lebih  mulai  ditransmisikan.  Fase  III  koneksi  dilepaskna,
pembebasan  variabel,  buffer,  dan  resource  lainnya  yang  dipakai  untuk  menjaga
berlangsungnya koneksi.
Karena  jarak  dan  peralatan,    pengiriman    informasi,  dapat  mengalami    perubahan  atau
melemah. Umumnya interferensi listrik. Kesalahan timbul dalam bentuk  burst yaitu lebih
dari    satu  bit    terganggu    dalam  satu    satuan    waktu.Deteksi  error  dengan  Redundansi,
yaitu data tambahan yang  tidak ada hubungannya dengan isi informasi yang dikirimkan,
berupa  bit  pariti.Berfungsi  menunjukkan  ada  tidaknya    kesalahan  data.  Yaitu  dengan
mendeteksi    dan   mengoreksi   kesalahan    yang  terjadi.  Makin  banyak  redundansi  makin
baik  deteksi errornya. Akibatnya  makin rendah  troughput dari data yang  berguna.
Troughput adalah perbandingan antara data yang berguna  dengan data
keseluruhan. Banyaknya tambahan  pada redundansi sampai 100% dari jumlah
bit data.

5.3. Ada dua pendekatan untuk deteksi kesalahan :
1. Forward Error Control
Dimana  setiap  karakter  yang  ditransmisikan  atau  frame  berisi  informasi  tambahan
(redundant)  sehingga  bila  penerima  tidak  hanya  dapat  mendeteksi  dimana  error  terjadi,
tetapi juga menjelaskan dimana aliran bit yang diterima error.

2. Feedback (backward) Error Control
Dimana  setiap  karakter  atau  frame  memilki  informasi  yang  cukup  untuk
memperbolehkan  penerima  mendeteksi  bila  menemukan  kesalahan  tetapi  tidak
lokasinya.  Sebuah  transmisi  kontro  digunakan  untuk  meminta  pengiriman  ulang,
menyalin informasi yang dikirimkan.
Feedback error control dibagi menjadi 2 bagian, yaitu :
1. Teknik yang digunakan untuk deteksi kesalahan
2. Kontrol algoritma yang telah disediakan untuk mengontrol transmisi ulang.

Metode Deteksi Kesalahan :
1.   Echo
Metode    sederhana    dengan    sistem  interaktif  .Operator  memasukkan  data  melalui
terminal    dan  mengirimkan  ke    komputer.  Komputer  akan  menampilkan  kembali  ke
terminal, sehingga dapat memeriksa apakah data yang dikirimkan dengan benar.

2.   Error Otomatis
Metode dengan tambahan bit pariti. Terdapat 2 cara  :
a. Pariti  Ganjil (Odd Parity)
Yaitu  bit  pariti  yang  ditambahkan supaya banyaknya bit "1"  tiap karakter  atau  data
ganjil.
b. Pariti  Genap (Even Parity)
Yaitu    bit    pariti  yang    ditambahkan  supaya  banyaknya  bit  "1"    tiap  karakter    atau  data
genap.
Tanpa  memperhatikan  desain  dari  sistem  transmisi  maka,  maka  akan  terdapat  error
yang  menghasilkan  perubahan  terhapat  satu  atau  lebih  dari  bit  didalam  frame  yang
ditransmisikan. Beberapa kemungkinan adanya error pada pengiriman frame meliputi :
Pb = propabilitas error bit tunggal, biasanya disebut bit-error-rate
P1 = probabilitas frame yang diterima tanpa adanya error
P2 = probabilitas frame yang diterima dengan error tidak terdeteksi
P3 = probabilitas frame yang diterima dengan error terdeteksi
Jika  tidak  ada  suatu  alat  yang  dapat  dipergunakan  untuk  mendeteksi  error,  maka
probabilitas  error  yang  terderteksi  (P3)  sama  dengan  0,  Untuk  mempercepat
menetapkan probabilitas, diasumsikan bahwa probabilitas nenerapa bit yang mengalami
error  (Pb)  adalah  tetap,  dan  tidak  tergantung  masing-masing  bit.,  sehingga  didapatkan
hubungan :
dimana F adalah jumlah bit per frame.
Probabilitas  frame  yang  diterima  tanpa  error  akan  berkurang  apabila  probabilitas  dari
error  bit  tunggal  bertambah.  demikian  juga  probabilitas  frame  yang  diterima  dengan
tanpa  error  bit  berkurang  dengan  bertambahnya  panjang  frame.  maka  lebih  banyak  bit
dengan  probabilitas  yang  tinggi  dari  pada  yang  terkena  error.  Tidak  ada  sistem
telekomunikasi  data  yang  bebas  dari  kesalahan  transmisi  data,  kesalahan  ini  sering  kali
disebabkan  oleh  gangguan  pada  saluran,  sistem  switching,  radiasi  gelombang,  crosstalk, dll.
Metode deteksi kesalahan yang dikenal adalah :
·  Vertical-redundancy-checking
·  Longitudinal-redundancy-checking
·  Cyclic-redundancy-checking

VERTICAL-REDUNDANCY-CHECKING
Metode  ini  lebih  umum  disebut  parity-checking  karena  menggunakan  sistem
pengecekan  paritas  dan  merupakan  sistem  untuk  mencari  kesalahan  data  yang  paling
sederhana.  Dalam  satu  byte  terdapat  satu  bit  parity,  bit  ini  nilainya  tergantung  kepada
ganjil atau genapnya jumlah bit satu dalam tiap byte. Parity-checking dibagi menjadi dua
yaitu  odd-parity  (  paritas  ganjil)  dan  even-parity  (paritas  genap).  Aturan  pada  odd-parity
yaitu jumlah bit satu dalam setiap byte harus ganjil. Komputer selalu mengecek parity-bit
setiap karakter yang akan dikirim, bila jumlah bit satu dalam 7 bit pertama adalah genap,
maka  parity-bit  diubah  jadi  1,  sebaliknya  jika  jumlah  bit  satu  dalam  7  bit  pertama  adalah
ganjil, maka parity-bit diubah menjadi 0. Dalam even-parity, jumlah bit satu dalam setiap 
byte  garus  genap.  Sebagai  contoh,  didalam  komunikasi  data  digunakan  sistem  oddparity,  maka  jika  huruf  A  disusun  dalam  kombinasi  data  biner  berupa  “1000001,  dimana
jumlah  bit  satu  dalam  7  bit  pertama  adalah  genap,  maka  parity-bit  biubah  menjadi  1.
Sedangkan  dalam  sistem  even-parity  jika  huruf  M  disusun  dalam  kode  biner  adalah
“1001101”,  dimana  didalam  7  bit  pertama  jumlah  bit  satu  adalah  genap,  maka  paritybit
ini diubah menjadi 0, atau dapat dilihat pada gambar 5.1 dibawah
Sebenarnya  sistem  komputer  mampu  untuk  menjalankan  parity-checking  ini,  maka  bila
didalam  saluran  terjadi  gangguan,  maka  jumlah  bit  satu  dalam  karakter  yang  diterima
tidak  sesuai,  misalnya  tadinya  berjumlah  ganjil  kemudian  berubah  menjadi  genap.
Tetapi  parity-checking  ini  masih  mempunyai  kelemahan,  terutama  bila  jumlah  bit  yang
rusak  jumlahnya  genap,  maka  kerusakan  ini  menjadi  tidak  dapat  dideteksi.  Karakter
yang  mengandung  kesalahan  2  atau  5  bit  bila  hanya  dilihat  dari  sisi  genap  ganjilnya
jumlah bit satu, maka tidak akan kelihatan kesalahannya.

LONGITUDINAL-REDUNDANCY-CHECKING
Sistem  ini  sebenarnya  digunakan  untuk  memperbaiki  kelemahan  yang  ada  pada  VRC
(parity-checking).  Pada  sistem  LRC  data  dikirim  secara  per  blok  (frame)  berisi  8  byte
dan  setiap  frame  terdapat  satu  parity-bit,  fungsi  dari  bit  ini  sebagai  kontrol  seperti  pada
parity-checking.  Parity-bit  ini  memuat  7  parity-bit  dari  byte  sebelumnya,  sedangkan  cara
untuk  mengubah  nilai  ketujuh  bit  ini  yaitu  dengan  melihat  jumlah  bit  satu  dari  seluruh
byte secara vertikal atau dapat dilihat pada gambar 5.2 dibawah :
Walaupun  masih  memiliki  beberapa kelemahan namun  sistem  LRC  lebih  baik  dari  VRC,
sebab  bila  ada  kesalahan  yang  tidak  terlihat  oleh  parity-bit,  maka  akan  diketahui  oleh
parity-byte.  Dalam  sistem  transmisi  data  LRC  membutuhkan  banyak  tambahan  bit  pada
setiap data dikirim, misalkan untuk mengirimkan 7 karakter (59 bit) diperlukan tambahan
15  bit  sebagai  parity-bit,  sehingga  sistem  LRC  ini  tidak  banyak  dipakai  walaupun  dapat
bermanfaat.

CYCLIC-REDUNDANCY-CHECKING
Sistem  ini  banyak  diterapkan  dalam  komunikasi  data  karena  prosesnya  cukup
sederhana  dan  tidak  banyak  membutuhkan  tambahan  bit  yang  berupa  parity-bit.  Pada
sistem  CRC  data  dikirim  per  frame,  dan  setiap  frame  terdiri  dari  deretan  bit  yang
panjang.  Pada  akhir  blok  ditambahkan  beberapa  control-bit  untuk  menjamin  kebenaran
data.  Control-bit  dibentuk  oleh  komputer  pengirim  berdasarkan  perhitungan  atas  data
yang  dikirim.  Setelah  data  sampai  pada  komputer  penerima  selanjutnya  dilakukan
perhitungan  seperti  perhitungan  pada  komputer  pengirim.  Hasil  perhitungan  yang
didapatkan  dibandingkan  dengan  control-bit,  bila  sama  berarti  data  dikirim  tanpa
mengalami kesalahan.

Agar  dapat  mengerti  lebih  mendetail  prosedur  pada  sistem  CRC,  maka  perlu  pula
mengetaui  proses  arithmatik  modulo  2  serta  konsep  untuk  menjabarkan  deretan  bit
sebagai  polinomial  aljabar.  Proses  arithmatika  yang  dilakukan  pada  sistem  CRC  seperti
sistem  penjumlahan  bilangan  tetapi  tanpa  menyisakan  (without-carries)  yang  dapat
dilakukan  menggunakan  gerbang  logika  exclusive-OR,  seperti  terlihat  pada  tabel
kebenaran berikut ini :
Tabel Ekslusive OR
Pada  proses  arithmatik  modulo  2  ini,  hanya  memperbolehkan  menghasilkan  0  atau  1
dan  tidak  ada  hasil  negatif,  pada  proses  pengurangan  sama  seperti  proses
penjumlahan.  Selanjutnya  bit-bit  dari  kode  biner  dapat  diinterprestasikan  sebagai
polinomial koefisien. Sebagai contoh deretan biner 110101 menjadi :

Dengan  catatan  bahwa  untuk  kode  dengan  n-bit  maka  pangkat  tertinggi  dari  polinomial
tersebut  adalah  n-1.  Untuk  melakukan  proses  perhitungan  CRC  diassumsikan  memiliki
sebuah  pesan  M(x)  yang  berisi  deretan  bit  yang  akan  ditransmisikan,  pesan  tersebut
berupa deretan bit 110101, sehingga M(x) = (1)x
5
+ (1)x
5
+ (0)x
3
+ (1)x
2
+ (0)x1 + (1)x
0
.
Selanjutnya ditentukan panjang kode error-checking G(x) yang akan dipergunakan
pada protokol, misalkan kode CRC ditentukan sebagai c-bits. Sebagai contoh c = 3,
berarti dihasilkan polinomial G(x) = x
3
+ 1. Kemudian M(x) dikalikan dengan x
c
menjadi :

Secara  analogi,  hal  ini  sama  saja  dengan  menggeser  urutan  bit  pesan  G(x)  ke  kiri
sepanjang  c-bits,  yang  menghasilkan  urutan  biner  110101000.  Kemudian  membagi  x
3
M(x) dengan G(x) menggunakan arithmatika modulo 2, dimana  akan
mengasilkan hasil bagi/quotient Q(x) dan sisa pembagian/remainder R(x).














Previous
Next Post »
Thanks for your comment