BAB V - BAB V - Deteksi dan Koreksi Error

BAB V DETEKSI DAN KOREKSI KESALAHAN IF Pengertian Kesalahan Ket ika m elakukan pent ransm isian dat a seringkali kit a m enj um pai dat a yang

  t idak sesuai dengan yang kit a harapkan ( salah sasaran) . Hal ini disebabkan karena adanya gangguan dalam suat u saluran t ransm isi. I st ilah e r r or at au kesalahan m em ang m ungkin t erj adi pada suat u t ransm isi dat a. Kesalahan ( galat ) adalah hal yang t erj adi apabila suat u hal t idak bert indak sem est inya, ent ah salah sasaran, kehilangan sat u bit , at au j uga berubah dat anya.

  Tent unya ket ika t erj adi kesalahan m aka kesalahan t ersebut harus t erdet eksi oleh sist em kom unikasi dat a unt uk kem udian dikoreksi supaya kem bali m enj adi dat a yang benar. Sist em kom unikasi seringkali m em buat kesalahan, m em ilik i dat a rat e yang berbeda, dan t erdapat delay ( t undaan) yang t erj adi ket ika suat u bit dikirim kan dengan saat bit dit erim a. Ket erbat asan ini m em pengaruhi sekali bagi efisiensi pem indahan dat a.

Data Link Control

  Pengirim an dat a m elalui link kom unikasi dat a yang t erlaksana dengan penam bahan kont rol layer dalam t iap perangkat keras kom unikasi dinyat akan sebagai da t a lin k con t r ol at au da t a link pr ot ocol. Dat a link adalah m edium t ransm isi ant ara st asiun- st asiun ket ika suat u prosedur dat a link digunakan. Ket ika m enggunakan dat a link prot ocol ada beberapa hal yang harus diperhat ikan, yait u:

  a. Fram e synchronizat ion Dat a dikirim kan dalam blok- blok yang disebut fram e. Awal dan akhir t iap fram e harus dapat diident ifikasikan.

  b. Mem akai variasi dari konfigurasi line

  c. Flow cont rol St asiun pengirim harus t idak m engirim fram e- fram e pada kecepat an yang lebih cepat daripada kecepat an penerim aan dat a pada st asiun penerim a. d. Error cont rol Bit - bit error yang dihasilkan oleh sist em t ransm isi harus diperbaik i

  e. Kont rol dan dat a t erlet ak pada link yang sam a Sinyal- sinyal kont rol t idak diharapkan m em punyai j alur kom unikasi yang t erpisah. Karena it u, receiver har us m am pu m em bedakan kont rol inform asi dari dat a yang sedang dit ransm isi.

  f. Addressing ( pengalam at an) Pada j alur kom unikasi yang m ult ipoint ( banyak j alur) , ident it as dari dua st asiun ( baik st asiun pengirim at au penerim a) harus m am pu m em bedakan kont rol inform asi dari dat a yang sedang t ransm isi.

  g. Manaj em en link Perm ulaan, pem eliharaan, dan penghent ian dari pert ukaran dat a m em erlukan koordinasi dan kerj asam a di ant ara st asiun pengirim dengan st asiun penerim a. Diperlukan prosedur unt uk m anaj em en pert ukaran dat a.

Konfigurasi-konfigurasi Line

  Ada t iga karakt erist ik yang m em bedakan berbagai konfigurasi dat a link, yait u: a. Topology

  Menyat akan pengat uran fisik dari st asiun pada suat u link. Ada dua konfigurasi t opologi yait u:

  1. Point t o point Jika dalam suat u t ransm isi hanya ada sat u st asiun pengirim dan sat u st asiun penerim a.

  Gam bar 5.1 Konfigurasi point t o point

  2. Mult ipoint Jika dalam suat u t ransm isi ada lebih dari dua st asiun. Dipakai dalam suat u kom put er dan suat u rangkaian t erm inal.

  Gam bar 5.2 Konfigurasi m ult ipoint

  b. Duplexit y Menyat akan arah dan t im ing dari aliran sinyal. Jenis- j enisnya adalah sebagai berikut :

  1. Sim plex t ransm ission

  2. Half duplex link 3. Full duplex link. Unt uk t ransm isi yang m enggunakan sinyal digit al dapat m em akai full duplex dan half duplex. Unt uk yang m enggunakan sinyal analog penent uan duplexit y t ergant ung pada frekuensi bila st asiun pengirim ( t ransm isi) dan penerim aan pada frekuensi yang sam a.

  c. Line Discipline Beberapa t at a t ert ib yang diperlukan dalam penggunaan link t ransm isi. Pada m ode half duplex hanya sat u st asiun yang dapat m ent ransm isi pada sat u w akt u. Baik m ode hal at au full duplex, suat u st asiun hanya m ent ransm isi j ika m enget ahui bahw a receiver t elah siap unt uk m enerim a.

Flow Control

  Flow cont rol adalah suat u t eknik unt uk m em ast ikan/ m eyakinkan bahwa suat u st asiun t ransm isi t idak m enum puk dat a pada suat u st asiun penerim a. Tanpa flow cont rol, buffer ( m em ori penyangga) dari receiver akan penuh sem ent ara m asih banyak dat a lam a yang akan diproses. Ket ika dat a dit erim a, harus dilaksanakan sej um lah proses sebelum buffer dapat dikosongkan dan siap m enerim a banyak dat a.

  Gam bar 5.3 Ant arm uka kom unikasi dat a Gam bar 5.4 Model t ransm isi fram e Ada beberapa bent uk dari flow cont rol ant ara lain:

  a. St op and wait flow cont rol Cara kerj anya suat u sum ber m engir im kan fram e. Set elah dit erim a, penerim a m em beri isyarat unt uk m enerim a fram e lainnya dengan m engirim acknowledgem ent ke fram e yang baru dit erim a. Pengirim at au sum ber harus m enunggu sam pai m enerim a acknowledgem ent sebelum m engirim fram e berikut nya. Penerim a kem udian dapat m enghent ikan aliran dat a dengan t idak m em beri acknow ledgem ent . Fram e yang dikir im kan t idak akan m enj adi m asalah j ik a ukuran dat anya t idak t erlalu besar. Jika dat a yang dikirim besar, m aka secara ot om at is j um lah fram enya akan bert am bah sehingga m enyebabkan st op and w ait cont rol m enj adi t idak efisien.

  Gam bar 5.5 Penggunaan st op and wait cont rol

  b. Sliding w indow flow cont rol Masalah ut am a yang dim iliki oleh st op and wait cont rol adalah bahwa hanya sat u fram e yang dapat dikirim k an pada saat yang sam a. Dalam keadaan ant rian bit yang akan dikir im kan lebih besar daripada panj ang fram e ( a> 1) m aka diperlukan suat u langkah efisiensi ( m em perbolehkan pengirim an lebih dari sat u fram e pada saat yang sam a) . Dalam langkah ini, dit am bahkan j uga label pada set iap fram e yang t elah m asuk sebagai penanda sudah sej auh m ana fram e t ersebut dit erim a. Sliding w indow flow cont rol ini m engizinkan unt uk pengirim an lebih dari sat u fram e. Receiver j uga m em iliki sebuah buffer unt uk m enam pung ant rian fram e yang m asuk dengan syarat set iap fram e yang m asuk diberi nom or. Nom or t ersebut nant inya akan digunakan sebagai penanda yang akan diloncat i t iap ukuran field ( k) . fram e yang m asuk akan k dinom ori dengan m odulo 2 .

  Gam bar 5.6 Diagram sliding window Gam bar 5.7 Cont oh sliding w indow

Deteksi Error

  Pada subbab sebelum nya dibahas t ent ang penggunaan flow cont rol, sekarang akan dibahas bagaim ana cara m endet eksi kesalahan yang t erj adi pada flow cont rol t ersebut . Ada dua pendekat an yang bisa digunakan unt uk m endet eksi error, yait u:

  a. Forward Error Cont rol Karakt er yang dit ransm isikan at au disebut j uga fram e, berisi inform asi t am bahan sehingga apabila pener im a m engalam i kesalahan, penerim a t idak hanya bisa m endet eksi kesalahannya saj a t et api j uga bisa m enj elask an let ak kesalahan t ersebut .

  b. Feedback ( backward) Error Cont rol Set iap karakt er at au fram e m em iliki inform asi yang cukup unt uk m em perbolehkan penerim a m endet eksi bila m enem ukan kesalahan t et api t idak lokasi kesalahannya. Feedback error cont rol dibagi m enj adi 2 bagian, yait u:

  1. Teknik yang digunakan unt uk det eksi kesalahan

  2. Kont rol algorit m a yang t elah disediakan unt uk m engont rol t ransm isi ulang.

Metode Pendeteksian Error

  Ada dua m et ode det eksi kesalahan yang sering digunakan, yait u:

  a. Echo Met ode sederhana dengan sist em int erakt if. Operat or m em asukkan dat a m elalui sebuah t erm inal dan m engirim kan ke kom put er lain, set elah it u kom put er akan m enam pilkan dat a yang dikirim kem bali ke t erm inal sehingga operat or dapat m em eriksa apakah dat a yang dikir im kan benar at au t idak.

  b. Error ot om at is Met ode dengan t am bahan bit parit i ( parit i ganj il at au parit i genap) . Ada beberapa m et ode yang bisa digunakan dalam pendet eksian error, ant ara lain:

  1. Vert ical redundancy checking

  2. Longit udinal redundancy checking

  3. Cyclic redundancy checking

Vertical Redundancy Checking

  Met ode ini lebih um um disebut dengan parit y checking karena m enggunakan sist em pengecekan parit as dan m erupakan sist em unt uk m encari kesalahan dat a yang paling sederhana. Dalam sat u byt e t erdapat sat u bit parit i. Bit ini nilainya t ergant ung kepada ganj il at au genapnya j um lah bit sat u dalam sat u byt e. Pengecekan parit y t erbagi m enj adi dua yait u:

  a. Odd parit y ( parit i ganj il) Jum lah bit sat u dalam sat u byt e dat a harus berj um lah ganj il.

  b. Even parit y ( parit i genap) Jum lah bit sat u dalam sat u byt e dat a harus berj um lah genap.

  Sebenarnya ham pir sem ua sist em kom put er m am pu m enj alankan m et ode ini, j adi j ika di dalam salur an t ransm isi t erj adi suat u gangguan m aka j um lah bit yang dit erim a akan m enj adi t idak sesuai. Tet api m et ode ini punya kelem ahan t erut am a j ika j um lah bit yang rusak j um lahnya genap, m aka kerusakan ini m enj adi t idak t erdefinisi ( t ergant ung dari j enis pengecekannya) . Karakt er yang m engandung kesalahan 2 at au 5 bit bila hanya dilihat dari sisi genap at au ganj ilnya j um lah bit sat unya saj a m aka kesalahannya t idak akan t erlihat .

  Gam bar 5.8 Karakt er ‘M’ dengan parit i genap Sebagai cont oh pada pengirim an t eks CAT m aka pendet eksian errornya sebagai berikut :

Tabel 5.1 Pengecekan error dengan VRC dan HRC

  1

  Walaupun m asih m em ilik i beberapa kelem ahan nam un sist em LRC lebih baik dari VRC sebab apabila t erj adi k esalahan yang t idak t erlihat oleh parit y bit m aka akan diket ahui oleh parit i byt e. Dalam pent ransm isian dat a, LRC m em but uhkan

  Met ode ini sebenarnya digunakan unt uk m em perbaiki kelem ahan yang ada pada VRC. Pada m et ode LRC ini, dat a dikirim kan per blok ( fram e) berisi 8 byt e dan set iap fram e t erdapat sat u bit parit i. Fungsi dari bit parit i t ersebut adalah sebagai kont rol kesalahan sepert i pada parit y checking.

  e. Set elah m elakukan pengecekan parit i m aka bagi HRC m enj adi 2 bagian ( m asing- m asing 4 bit ) set elah it u ubah 4 digit t ersebut m enj adi bilangan hexadesim al. Set elah it u susunlah dua digit t ersebut dari arah bawah ke at as. I t ulah yang akan m enj adi H RC V a lu e . HRC value harus m engandung sat u digit bilangan ganj il dan sat u digit bilangan genap ( urut an t idak diperm asalahkan) . Kalau t idak m em enuhi persyarat an t adi, m aka dat a dianggap error.

  d. Pada t it ik pert em uan ant ara HRC dan VRC ada sat u bit yang disebut BCC.

  c. VRC m elakukan pem eriksaan dengan parit y ganj il, sedangkan HRC m elakukan pem eriksaan dengan parit y genap.

  b. Set elah it u buat t abel sepert i pada t abel 5.1.

  Penj elasan: a. Ubah t eks CAT m enj adi kode ASCI I ( dalam biner) .

  6 D

  1

  1 V RC 0 1 0

  1

  

D a t a C A T H RC

b0

  1

  b5 0 0 0 0 b6

  1

  1

  b3 0 0 0 0 b4

  1

  1

  b1 1 0 0 1 b2

  1

  1

Longitudinal Redundancy Checking

  banyak t am bahan bit pada set iap dat a yang dikir im , m isalkan unt uk m engirim k an 7 karakt er ( 49 bit ) m aka diperlukan bit t am bahan sebanyak 15 bit sehingga m et ode LRC ini t idak banyak dipakai walupun berm anfaat .

Cyclic Redundancy Checking

  Sist em ini banyak dipakai dalam kom unikasi dat a karena prosesnya cu k up sederhana dan t idak m em but uhkan banyak t am bahan bit sebagai bit parit i. Pada sist em CRC dat a dikirim kan per fram e dan set iap fram e t erdir i dari deret an bit panj ang. Pada akhir blok dit am bahkan beberapa cont rol bit unt uk m enj am in kebenaran dat a. Cont rol bit dibent uk oleh kom put er pengirim berdasarkan perhit ungan at as dat a yang dikirim . Set elah dat a sam pai pada kom put er penerim a akan dilakukan perhit ungan sepert i perhit ungan di sisi pengirim . Hasil perhit ungan yang didapat kan dibandingkan dengan cont rol bit , bila sam a berart i dat a dikirim t anpa m engalam i kesalahan.

  Gam bar 5.9 Met ode CRC Unt uk bisa m enghit ung dengan m et ode CRC ada baiknya m enget ahui t erlebih dahulu t ent ang operasi XOR. Adapun t abel eksklusif XOR adalah sebagai berikut :

Tabel 5.2 Tabel XOR

  X OR

  1

  1

  1 1 0 Beberapa ist ilah dalam CRC:

  a. T( x) Dat a at au aliran bit .

  b. P( x) Bit konst ant a berpola polynom ial ( cont oh: 110011) .

  c. CRC = P( x) / T( x) _Bit 0 P( x) \ 1

  d. T ( x) = T( x) _CRC 1

  e. CRC 1 1 = P( x) / T ( x) \ . Apabila nilai CRC m enghasilkan 0 m aka dat a yang dikirim bebas error.

  Sebagai cont oh dilakukan suat u pengirim an pesan sebagai berikut : T( x) : 10110111 P( x) : 110011 ( 5 bit ) Æ 1 1 0 0 1 1 5 4 3 2 1 5

  2

  2

  2

  2

  2 2 t ert inggi adalah 2 CRC: 110011 / 1011011100000 \ Æ bit dat a + bit 0 sebanyak pangkat 2 t ert inggi 110011

  111101 110011 111010 110011 100100

  110011 101110 110011 111010 110011 1001 Æ karena j um lahnya harus sam a dengan pangkat 2 1 Tert inggi m aka t am bahkan 1 digit 0 di awal ( 01001) .

  T ( x) = 1011011101001

  CRC 1 : 11011 / 1011011101001 \ 110011

  111101 110011 111010 110011 100110 110011 101010 110011

  110011 110011 0 Æ karena CRC 1 0 m aka dat a bebas error.

Koreksi Kesalahan

  Bila dij um pai kesalahan pada dat a yang t elah dit erim a, m aka perlu adanya error r ecovery at au pengkoreksian kesalahan agar j angan sam pai kesalahan ini m enyebabkan dam pak yang besar bagi pengirim an dat anya. Met ode yang digunakan ant ara lain: a. Subt it usi sim bol

  Bila ada dat a yang rusak m aka kom put er penerim a m enggant i bagian t ersebut dengan karakt er lain, sepert i karakt er SUB yang nerupa t anda t anya t erbalik. Jika pem akai m enj um pai karakt er ini ( pada program pengolah kat a) , m aka berart i dat a yang dit erim a m engalam i kerusakan, selanj ut nya perbaikkan dilakukan sendiri.

  b. Mengirim dat a koreksi Dat a yang dikirim kan harus dit am bah dengan kode t ert ent u dan dat a duplikat . Bila penerim a m enj um pai kesalahan pada dat a yang dit erim a m aka perbaikkan dilakukan dengan m enggant i bagian yang rusak dengan dat a duplikat . Cara ini j arang digunakan. c. Kirim ulang Cara ini m erupakan cara yang paling sederhana, yait u apabila kom put er penerim a m enem ukan kesalahan pada dat a yang dit erim a m aka selanj ut nya m em int a kom put er pengirim unt uk m engulang pengirim an dat a.

Forward Error Correction

  Salah sat u cara unt uk m engkoreksi kesalahan adalah dengan m enggunakan m et ode forward error correct ion. Ada beberapa not asi yang harus t erlebih dahulu dipaham i, yait u: a. m : Jum lah bit sam ple.

  b. n : Jum lah bit ham m ing.

  c. Bit sam ple : ½ * j um lah bit dat a. n d. Bit ham m ing : 2 > m + n+ 1. Adapun langkah perhit ungannya adalah sebagai berikut :

  a. Cont oh karakt er yang akan dikoreksi adalah CAT. Ubah karakt er CAT m enj adi biner kode ASCI I dan t am bahkan parit i ganj il ( let akkan t erbalik dari bit parit i sam pai bit pert am a) .

Tabel 5.3 Karakt er CAT

  bit Pa r it i b6 b5 b4 b3 b2 b1 b0 C

  1

  1

  1 A 1 1 0 0 0 0 0 1

  T

  1

  1

  1

  b. Gabungkan seluruh bit dalam sat u deret . Set elah it u hit ung j um lah bit dari keseluruhan karakt er. Unt uk karakt er CAT j um lah bit nya adalah 24 bit .

  c. Hit ung m dengan rum us yang disediakan: M = ½ * j um lah bit dat a = ½ * 24 = 12 bit .

  Maka bit sam plenya adalah 12 bit pert am a dari karakt er CAT yait u 0 1 0 0 0 0 1 1 1 1 0 0 .

  d. Hit ung n dengan rum us yang disediakan dim ulai dari n= 1: n

  1. 2 > m + n + 1 1 2 > 12 + 1 + 1 ( n t idak t erpenuhi. Lanj ut kan ke n= 2) n 2. 2 > m + n + 1 2 2 > 12 + 2 + 1 ( n t idak t erpenuhi. Lanj ut kan ke n= 3) n

  3. 2 > m + n + 1 3 2 > 12 + 3 + 1 ( n t idak t erpenuhi. Lanj ut kan ke n= 4) n 4. 2 > m + n + 1 4 2 > 12 + 4 + 1 ( n t idak t erpenuhi. Lanj ut kan ke n= 5) n

  5. 2 > m + n + 1 5 2 > 12 + 5 + 1 ( n t erpenuhi. Maka n= 5) .

  Kesim pulan: 1. n= 5 Æ bit ham m ing berj um lah 5 bit ( h5 h4 h3 h2 h1) .

  2. m + n = 17 bit .

  e. Gabungkan bit sam ple dengan bit ham m ing secara acak ( khusus bit sam ple) .

  Sebagai cont oh lihat t abel di baw ah ini:

Tabel 5.4 Gabungan bit sam ple dengan bit ham m ing

  1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0

  

9

  8

  7

  6

  5

  4

  3

  2

  1

  1 h5 0 h4 0 0 h3 0 1 h2 1 1 h1 1 0 0 f. Set elah it u hit ung bit ham m ing. Tent ukan let ak bit 1 pada deret t ersebut .

  Pada deret di at as, let ak bit 1 ada pada posisi ke 3, 5, 6, 8, 16. Ubah posisi t ersebut m enj adi biner 5 bit lalu kenakan operasi XOR t erhadap posisi t ersebut . Sebagai cont oh lihat perhit ungan di baw ah ini:

Tabel 5.5 Perhit ungan XOR posisi bit ‘1’

  Posisi bit ‘1 ’ Bin e r 5 bit

  3

  1

  1

  5

  1

  1 X OR

  1

  1

  6

  1

  1 X OR

  8

  1 X OR

  1 1 6

  1 X OR

  1

  1

  1 Bit H a m m in g h 5 h 4 h 3 h 2 h 1 g. Set elah bit ham m ing diket ahui, m aka t erbent uklah dat a kirim . Dat a kirim adalah bit sam ple digabungkan dengan bit ham m ing. Jadi dat a kirim dari cont oh kasus ini adalah sebagai berikut :

Tabel 5.6 Dat a kirim

  1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0

  9

  8

  7

  6

  5

  4

  3

  2

  1

  1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0

  h. Langkah t erakhir adalah t ent ukan lagi let ak bit ‘1’ pada deret di at as kecuali unt uk bit ham m ing t idak perlu dihit ung. Lalu ubah posisi t ersebut m enj adi 5 bit biner lalu kenakan operasi XOR. Unt uk perm ulaanya lakukan operasi XOR t erhadap bit ham m ing dengan posisi yang pert am a kali dij um pai.

Tabel 5.5 Perhit ungan XOR posisi bit ‘1’ set elah dit am bah bit ham m ing

  Posisi bit ‘1 ’ Bin e r 5 bit Bit h a m m in g

  1

  1

  3

  1

  1 X OR

  1

  1

  1

  1

  5

  1

  1 X OR

  1

  1

  1

  1

  6

  1

  1 X OR

  1

  1

  8

  1 X OR

  1 1 6

  1 X OR

  H a sil Ak h ir

  i. Jika hasil akhir sam a dengan 0 m aka t idak ada kesalahan yang t erj adi dan t idak perlu adanya koreksi t erhadap dat a yang dikirim at au dit erim a.

  Sedangkan apabila hasil akhir t idak sam a dengan 0 m aka t erj adi kesalahan dan perlu adanya koreksi kesalahan. Karena m enggunakan koreksi kesalahan dengan m et ode forward error correct ion m aka penerim a dat a bisa m em bet ulkan kesalahannya sendiri karena sudah m enget ahui let ak kesalahan kalau m enghit ung m anual sepert i ini m em ang t idak akan t erlihat let aknya, akan t et api peralat an kom unikasi dat a di sisi penerim a akan bisa m endet eksi dan m engkoreksi kesalahannya m elalui bit ham m ing) .