Anda di halaman 1dari 24

TUGAS MAKALAH

CHECK AND CORRECTION DATA

(PARITY CHECK, CRC, CHECKSUM)

MATA KULIAH KOMUNIKASI DIGITAL

Wa Ode Nurul Fadillah

NIM P27838122052

PROGRAM STUDI TEKNOLOGI REKAYASA ELEKTROMEDIS

POLITEKNIK KESEHATAN KEMENKES

SURABAYA

2022

BAB I

PENDHULUAN
A. Latar Belakang

Komunikasi memiliki peranan yang besar bagi kehidupan dalam berbagai hal,

banyak kegiatan sehari-hari yang menggunakan sistem komunikasi. Pada saat

pengiriman data atau pesan yang ditransmisikan melalui sistem komunikasi dapat

terpengaruh oleh kebisingan (noise) yang menyebabkan terjadinya error. Banyak faktor

penyebab data yang dikirimkan mengalami error, diantaranya gangguan cuaca,

tegangan listrik tidak stabil, radiasi dan cross talk (Fu, et al., 2009).

Pada awal lahirnya sistem komunikasi, permasalahan menarik yang selalu dibahas

adalah teknik mengirim informasi dalam konsep yang mudah dimengerti dan berbiaya

murah. Konsep yang digunakan untuk mengirim data diperkenalkan dalam bentuk kode

binary, sehingga memberikan kemudahan dan informasi tentang keadaan data pada

saat pengiriman. Salah satu upaya yang dapat dilakukan untuk memperbaiki data yang

mengalami error adalah dengan menerapkan error control coding. Menurut Shannon,

komunikasi melalui saluran yang bising (noise) dengan kesalahan sekecil mungkin

diperlukan sebuah encoding dan decoding yang tepat untuk mendeteksi dan

mengkoreksi bit yang error (Shannon, 1948). Error detection dan error correcting

merupakan encoding dan decoding yang dapat diterapkan dalam error control coding

(ECC). ECC dapat digunakan dalam pengamanan data untuk menghindari kerusakan

pada data yang dikirimkan. Hamming code merupakan salah satu jenis error detection

dan error correction yang banyak digunakan pada berbagai sistem pengiriman data

(Wismal, et al., 2014).

Hamming code memperkenalkan teknik untuk mendeteksi dan mengkoreksi error

yang berada pada sisi penerima. Hamming code bekerja dengan menambahkan

beberapa bit ekstra pada beberapa posisi bit pesan yang disebut cek bit (bit parity),

dengan menggunakan logika Ex-OR untuk mencari nilai cek bit berdasarkan nilai bit

pesan (Abuelyaman, et al., 2008). Jika kebisingan (noise) terjadi cukup tinggi pada saat
pengiriman, bit pesan yang diterima bisa mengalami error (Demir, et al., 2006).

Permasalahan yang terjadi disaat pengiriman data yang mengalami gangguan karena

saluran bising (noise), dapat menyebabkan bit data yang dikirim mengalami error.

Dalam 1 blok pesan (codeword) yang dikirim berisi 7 bit data mengalami multi bit error,

sehingga membuat hamming code tidak dapat mendeteksi dan mengkoreksi multi bit

error. Maka dilakukan penelitian untuk memecah (partition) bit pesan tersebut menjadi

pesan yang lebih kecil dan menambahkan bit parity pada setiap bit pesan.

Dalam sistem komunikasi data digital, tingkat akurasi data yang dikirim pada

saluran transmisi sangat diperlukan. Ada beberapa jenis komunikasi pada umumnya

yaitu: satelit, transmisi data, penyimpanan data, mobile, transfer file, dan transmisi

audio atau video digital (Aflakian, et al., 2011). Data atau pesan dapat ditransmisikan

melalui saluran nirkabel atau kabel. Dalam penggunaan saluran nirkabel atau kabel

tidak selamanya informasi tersebut sampai dengan benar, bisa saja terjadi error yang

menyebabkan pesan yang dikirim berbeda dengan pesan yang diterima. Saluran

transmisi adalah media fisik yang dilalui informasi yang dikirimkan, seperti saluran

telepon, atau atmosfer dalam kasus komunikasi nirkabel. Gangguan yang tidak

diinginkan (noise) dapat terjadi di saluran komunikasi dan menyebabkan informasi yang

diterima menjadi berbeda dari informasi asli dikirim (Shannon, 1948). Kesalahan (error)

dapat mengubah atau merusak isi data pesan yang mengalami noise. Data biner yang

rusak dapat berubah dari 1 menjadi 0 atau sebaliknya 0 menjadi 1 (Bogart Jr, 1992).

Ada beberapa jenis kesalahan yang bisa terjadi selama saluran mengalami

gangguan yaitu single bit error, multi bit error dan burst error (Forouzan, 2007). Kinerja

sistem komunikasi dapat diukur dengan output daya rasio signal to noise atau disebut

error probabilitas (Forouzan, 2007). Dasar-dasar komunikasi nirkabel secara resmi

didirikan oleh Claude E. Shannon pada tahun 1948. Shannon menegaskan bahwa

dengan pengkodean yang tepat dari informasi atau pesan, kesalahan yang disebabkan
oleh saluran bising (noise) dapat dikurangi ke tingkat yang diinginkan ketika data rate

dibatasi oleh kapasitas saluran (Shannon, 1948).

Sebagai akibat proses-proses fisika yang menyebabkannya terjadi, error pada

beberapa media (misalnya, radio) cenderung timbul secara meletup (burst) bukannya

satu demi satu. Error yang meletup seperti itu memiliki baik keuntungan maupun

kerugian pada error bit tunggal yang terisolasi. Sisi keuntungannya, data komputer

selalu dikirim dalam bentuk blok-blok bit. Anggap ukuran blok sama dengan 1000 bit,

dan laju error adalah 0,001 per bit. Bila error-errornya independen, maka sebagian

besar blok akan mengandung error. Bila error terjadi dengan letupan 100, maka hanya

satu atau dua blok dalam 100 blok yang akan terpengaruh, secara rata-ratanya.

Kerugian error letupan adalah bahwa error seperti itu lebih sulit untuk dideteksi dan

dikoreksi dibanding dengan error yang terisolasi.

B. Rumusan Masalah

1. Bagaimana cara deteksi kesalahan dalam komunikasi data ?

2. Bagiaman koreksi terhadap kesalahan pada komunikasi data?

C. Tujuan

Adapun tujuan penulisan makalah ini selain sebagai tugas mata kuliah Komunikasi

Digital, juga dapat menambah pengetahuan yang berkaitan dengan deteksi dan koreksi

kesalahan dalam komunikasi data.

BAB II
TINJAUAN PUSTAKA

Kesalahan adalah proses alami yang dapat terjadi pada tiap bagian dari sistem

komunikasi data. Namun demikian perlu adanya langkah-langkah bagi perbaikan

melalui evaluasi terhadap penyebab terjadinya kesalahan dan menyelidiki

kemungkinan-kemungkinan terjadinya kesalahan dalam proses transmisi maupun data

terminal.

Salah satu sistem kontrol kesalahan yang sederhana ataupun yang sangat

kompleks dapat disisipkan pada bagian-bagian yang telah terdeteksi pada langkah

pertama tadi. Akan tetapi ada pertimbangan lain yang turut dipertimbangkan, misalnya

perlunya penekanan pada biaya untuk operasi kontrol kesalahan ini jangan sampai

melebihi dari biaya sehingga membuat sistem yang dibangun menjadi mahal.

Pada umumnya kesalahan-kesalahan yang terjadi dalam komunikasi data pada

umumnya dapat diperkirakan atau dengan kata lain kesalahan-kesalahan yang tidak

terdeteksi pada suatu bagian dalam sistem transmisi data mungkin dapat dideteksi

pada bagian lain. Dengan alasan untuk meningkatkan efektifitas komunikasi data, para

perancang sistem kontrol kesalahan berusaha merancang sistem kontrol dengan

memberikan proteksi maximum terhadap informasi redundant yang seminim mungkin.


BAB III

PEMBAHASAN

A. Kode-Kode Pengkoreksian Error atau Kesalahan

Para perancang jaringan telah membuat dua strategi dasar yang berkenaan

dengan error. Cara pertama adalah dengan melibatkan informasi redundan secukupnya

bersama-sama dengan setiap blok data yang dikirimkan untuk memungkinkan penerima

menarik kesimpulan tentang apa karakter yang ditransmisikan yang seharusnya ada. Cara

lainnya adalah dengan hanya melibatkan redundansi secukupnya untuk menarik

kesimpulan bahwa suatu error telah terjadi, dan membiarkannya untuk meminta

pengiriman ulang. Strategi pertama menggunakan kode-kode pengkoreksian error (error-

correcting codes), sedangkan strategi kedua menggunakan kode-kode pendeteksian error

(error-detecting codes).

Untuk bisa mengerti tentang penanganan error, kita perlu melihat dari dekat

tentang apa yang disebut error itu. Biasanya, sebuah frame terdiri dari m bit data (yaitu

pesan) dan r redundan, atau check bits. Ambil panjang total sebesar n (yaitu, n=m+r).

Sebuah satuan n-bit yang berisi data dan checkbit sering kali dikaitkan sebagai codeword

n-bit.

Ditentukan dua buah codeword: 10001001 dan 10110001. Disini kita dapat

menentukan berapa banyak bit yang berkaitan berbeda. Dalam hal ini, terdapat 3 bit yang

berlainan. Untuk menentukannya cukup melakukan operasi EXCLUSIVE OR pada kedua

codeword, dan menghitung jumlah bit 1 pada hasil operasi. Jumlah posisi bit dimana dua

codeword berbeda disebut jarak Hamming (Hamming, 1950). Hal yang perlu diperhatikan

adalah bahwa bila dua codeword terpisah dengan jarak Hamming d, maka akan diperlukan

error bit tunggal d untuk mengkonversi dari yang satu menjadi yang lainnya.

Pada sebagian besar aplikasi transmisi data, seluruh 2m pesan data merupakan

data yang legal. Tetapi sehubungan dengan cara penghitungan check bit, tidak semua 2n
digunakan. Bila ditentukan algoritma untuk menghitung check bit, maka akan

dimungkinkan untuk membuat daftar lengkap codeword yang legal. Dari daftar ini dapat

dicari dua codeword yang jarak Hamming-nya minimum. Jarak ini merupakan jarak

Hamming bagi kode yang lengkap.

Sifat-sifat pendeteksian error dan perbaikan error suatu kode tergantung pada

jarak Hamming-nya. Untuk mendeteksi d error, anda membutuhkan kode dengan jarak

d+1 karena dengan kode seperti itu tidak mungkin bahwa error bit tunggal d dapat

mengubah sebuah codeword yang valid menjadi codeword valid lainnya. Ketika penerima

melihat codeword yang tidak valid, maka penerima dapat berkata bahwa telah terjadi error

pada transmisi. Demikian juga, untuk memperbaiki error d, anda memerlukan kode yang

berjarak 2d+1 karena hal itu menyatakan codeword legal dapat terpisah bahkan dengan

perubahan d, codeword orisinil akan lebih dekat dibanding codeword lainnya, maka

perbaikan error dapat ditentukan secara unik.

Sebagai sebuah contoh sederhana bagi kode pendeteksian error, ambil sebuah

kode dimana parity bit tunggal ditambahkan ke data. Parity bit dipilih supaya jumlah bit-bit

1 dalam codeword menjadi genap (atau ganjil). Misalnya, bila 10110101 dikirimkan dalam

parity genap dengan menambahkan sebuah bit pada bagian ujungnya, maka data itu

menjadi 101101011, sedangkan dengan parity genap 10110001 menjadi 101100010.

Sebuah kode dengan parity bit tunggal mempunyai jarak 2, karena sembarang error bit

tunggal menghasilkan sebuah codeword dengan parity yang salah. Cara ini dapat

digunakan untuk mendeteksi erro-error tunggal. Sebagai contoh sederhana dari kode

perbaikan error, ambil sebuah kode yang hanya memiliki empat buah codeword valid :

0000000000,0000011111,1111100000 dan 1111111111

Kode ini mempunyai jarak 5, yang berarti bahwa code tersebut dapat

memperbaiki error ganda. Bila codeword 0000011111 tiba, maka penerima akan tahun

bahwa data orisinil seharusnya adalah 0000011111. Akan tetapi bila error tripel mengubah

0000000000 menjadi 0000000111, maka error tidak akan dapat diperbaiki. Bayangkan
bahwa kita akan merancang kode dengan m bit pesan dan r bit check yang akan

memungkinkan semua error tunggal bisa diperbaiki. Masing-masing dari 2m pesan yang

legal membutuhkan pola bit n+1. Karena jumlah total pola bit adalah 2n, kita harus

memiliki (n+1)2m £ 2n.

Dengan memakai n = m + r, persyaratan ini menjadi (m + r + 1)£2r. Bila m

ditentukan, maka ini akan meletakkan batas bawah pada jumlah bit check yang diperlukan

untuk mengkoreksi error tunggal.

Dalam kenyataannya, batas bawah teoritis ini dapat diperoleh dengan

menggunakan metoda Hamming (1950). Bit-bit codeword dinomori secara berurutan,

diawali dengan bit 1 pada sisi paling kiri. Bit bit yang merupakan pangkat 2 (1,2,4,8,16 dan

seterusnya) adalah bit check. Sisanya (3,5,6,7,9 dan seterusnya) disisipi dengan m bit

data. Setiap bit check memaksa parity sebagian kumpulan bit, termasuk dirinya sendiri,

menjadi genap (atau ganjil). Sebuah bit dapat dimasukkan dalam beberapa komputasi

parity. Untuk mengetahui bit check dimana bit data pada posisi k berkontribusi, tulis ulang

k sebagai jumlahan pangkat 2. Misalnya, 11=1+2+8 dan 29=1+4+8+16. Sebuah bit dicek

oleh bit check yang terjadi pada ekspansinya (misalnya, bit 11 dicek oleh bit 1,2 dan 8).

Ketika sebuah codeword tiba, penerima menginisialisasi counter ke nol.

Kemudian codeword memeriksa setiap bit check, k (k=1,2,4,8,....) untuk melihat apakah bit

check tersebut mempunyai parity yang benar. Bila tidak, codeword akan menambahkan k

ke counter. Bila counter sama dengan nol setelah semua bit check diuji (yaitu, bila semua

bit checknya benar), codeword akan diterima sebagai valid. Bila counter tidak sama

dengan nol, maka pesan mengandung sejumlah bit yang tidak benar. Misalnya bila bit

check 1,2, dan 8 mengalami kesalahan (error), maka bit inversinya adalah 11, karena itu

hanya satu-satunya yang diperiksa oleh bit 1,2, dan 8. Gambar 3.10 menggambarkan

beberapa karakter ASCII 7-bit yang diencode sebagai codeword 11 bit dengan

menggunakan kode Hamming. Perlu diingat bahwa data terdapat pada posisi bit

3,5,6,7,9,10,11.
Gambar 1. Penggunaan kode Hamming untuk mengkoreksi burst error

Kode Hamming hanya bisa memperbaiki error tunggal. Akan tetapi, ada trick

yang dapat digunakan untuk memungkinkan kode Hamming dapat memperbaiki error yang

meletup. Sejumlah k buah codeword yang berurutan disusun sebagai sebuah matriks, satu

codeword per baris. Biasanya, data akan ditransmisikan satu baris codeword sekali, dari

kiri ke kanan. Untuk mengkoreksi error yang meletup, data harus ditransmisikan satu

kolom sekali, diawali dengan kolom yang paling kiri. Ketika seluruh k bit telah dikirimkan,

kolom kedua mulai dikirimkan, dan seterusnya. Pada saat frame tiba pada penerima,

matriks direkonstruksi, satu kolom per satuan waktu. Bila suatu error yang meletup terjadi,

paling banyak 1 bit pada setiap k codeword akan terpengaruh. Akan tetapi kode Hamming

dapat memperbaiki satu error per codeword, sehingga seluruh blok dapat diperbaiki.

Metode ini memakai kr bit check untuk membuat km bit data dapat immune terhadap error

tunggal yang meletup dengan panjang k atau kurang.


B. Kode-Kode Pendeteksian Kesalahan

1. Parity Check Code

Parity Check Code adalah penyandian menggunakan penambahan satu atau

lebih bit untuk membuat total jumlah 1 bit menjadi genap (parity genap) atau gasal

(parity gasal). Jika jumlah bit gasal (termasuk bit parity) berubah pada waktu

pengiriman, maka bit parity menjadi tidak benar dan mengindikasikan adanya

kesalahan pada saat diterima. Oleh karena itu, bit parity merupakan kode pendeteksi

kesalahan (error detecting code), dan bukan merupakan kode pengoreksi kesalahan

(error correcting code) karena tidak ada cara untuk menentukan bit mana yang keliru.

Data harus diabaikan seluruhnya dan mengulangi lagi transmisi dari awal. Pada media

transmisi yang terganggu, transmisi yang berhasil akan membutuhkan banyak waktu

atau tidak berhasil sama sekali. Bit ekstra disebut parity redundant bit.

Konsep umum dari parity check adalah sebuah sistem yang membuat pihak

terminal tertuju tahu bahwa data yang iya terima tersebut sama atau tidak dengan data

yang dikirim oleh terminal pengirim.

Caranya, pertama-tama pihak pengirim  akan menambahkan 1 bit tambahan

(Atau yang Lebih dikenal dengan nama Parity Bit) pada data, untuk menggambarkan

karakteristik dari data tersebut. Nilai dari bit parity (1 atau 0) tidak diperoleh secara

sembarangan.

Dalam proses pentransmisiannya data tadi dikirim bersamaan (data kita dan

parity bitnya) dan kita anggap data dapat terkirim dengan suskses. Pada Terminal

Penerima Data kita dibaca dan Di dekodisasi (di definisi kan ulang) dengan cara yang

sama seperti saat kita menentuan nilai parity bit di sisi pengirim. Lalu Hasil dekodisasi

tadi dibandingkan dengan parity bit yang tadi sengaja dibawakan oleh pengirim.

Gampangannya apabila hasil pembacaan (Dekodisasi) data terkirim sama dengan


Parity bitnya maka data tersebut Dapat dianggap benar. Dan apabila diperoleh

perbedaan nilai antara hasil dekodisasi dengan parity bitnya maka data dapat di

klasifikasikan sebagai data yeng error, Lebih lanjut terminal penerima akan

mengirimkan request pada terminal pengirim untuk mengirimkan ulang data yang

terbaca error tadi.

Kelebihan dan kekurangan Parity Checks:

 Kelebihan :

 Lebih cepat karena berbasis 2 (biner).

 Mudah dalam pengecekan.

 Sederhana dalam analisis dan penggunaan pada system.

 Mudah direalisasikan dalam bentuk rangkaian/ hardware.

 Kekurangan :

 Kurang handal dalam mengatasi deteksi dan perbaikan error.

 Kemungkinan kesalahan yang terjadi besar, yaitu 50%.

 Belum dapat mengakomodir file dengan ukuran besar.

 Tidak dapat mendeteksi kesalahan dalam jumlah genap (harus

gasal)
Gambar 2. Parity Check Code

Contoh penggunaan parity check code ditunjukan pada gambar 2 diatas. Misalnya

pengiriman data biner 1100010, menggunakan parity genap

 Karena jumlah bit 1 dalam data ada 3, maka parity bit nya adalah 1, agar jumlah

bit menjadi genap

 Pada penerima, jika penerima mengenali 11000101 dan menghitung jumlah total

angka 1 pada data yaitu empat angka genap, maka data dideteksi benar

 Jika data telah rusak selama pengiriman dan penerima menerima 11100101,

maka fungsi parity check menghitung angka 1 dan didapatkan jumlah bit 1

sebanyak 5, yang merupakan angka gasal. Penerima mengenali bahwa error

telah terjadi pada data.

 Bila sistem menggunakan parity check gasal, maka parity bit ditambahkan pada

data agar jumlah bit 1-nya gasal.

2. Cyclic Redundancy Check (CRC)

CRC (Cyclic Redundancy Check) adalah algoritma untuk memastikan integritas

data dan mengecek kesalahan pada suatu data yang akan ditransmisikan atau

disimpan. Data yang hendak ditransmisikan atau disimpan ke sebuah media

penyimpanan rentan sekali mengalami kesalahan, seperti halnya noise yang terjadi

selama proses transmisi atau memang ada kerusakan perangkat keras.

Cyclic Redundancy Check (CRC) juga dapat disebut teknik untuk mendeteksi

kesalahan dalam data digital, tetapi tidak dapat mengoreksi ketika kesalahan terdeteksi.

Hal ini digunakan terutama dalam transmisi data. Penerima memeriksa bit pengecek

CRC yang sama dengan yang dikirim, untuk mendeteksi terjadinya kesalahan. Teknik

ini kadang-kadang diterapkan pada perangkat penyimpanan data, seperti disk drive.

Dalam situasi ini setiap blok pada disk akan memeriksa bit, dan hardware secara
otomatis memulai membaca kembali dari blok ketika kesalahan terdeteksi, atau

melaporkan kesalahan perangkat lunak.

Untuk memastikan integritas data yang hendak ditransmisikan atau disimpan,

CRC dapat digunakan. CRC bekerja secara sederhana, yakni dengan menggunakan

perhitungan matematika terhadap sebuah bilangan yang disebut sebagai Checksum,

yang dibuat berdasarkan total bit yang hendak ditransmisikan atau yang hendak

disimpan. Dalam transmisi jaringan, khususnya dalam jaringan berbasis teknologi

Ethernet, checksum akan dihitung terhadap setiap frame yang hendak ditransmisikan

dan ditambahkan ke dalam frame tersebut sebagai informasi dalam header atau trailer.

Penerima frame tersebut akan menghitung kembali apakah frame yang ia terima benar-

benar tanpa kerusakan, dengan membandingkan nilai frame yang dihitung dengan nilai

frame yang terdapat dalam header frame. Jika dua nilai tersebut berbeda, maka frame

tersebut telah berubah dan harus dikirimkan ulang.

CRC didesain sedemikian rupa untuk memastikan integritas data terhadap

degradasi yang bersifat acak dikarenakan noise atau sumber lainnya (kerusakan media

dan lain-lain). CRC tidak menjamin integritas data dari ancaman modifikasi terhadap

perlakukan yang mencurigakan oleh para hacker, karena memang para penyerang

dapat menghitung ulang checksum dan mengganti nilai checksum yang lama dengan

yang baru untuk membodohi penerima. Kode pendeteksian kesalahan yang paling

umum serta paling hebat adalah Cyclic Redundancy Check (CRC) yang dapat

digambarkan sebagai berikut, dengan adanya blok bit k-bit, atau pesan, transmitter

mengirimkan suatu deretan n-bit, disebut sebagai Frame Check Sequence (FCS),

sehingga frame yang dihasilkan, terdiri dari k+n bit, dapat dibagi dengan jelas oleh

beberapa nomor yang sebelumnya sudah ditetapkan. Kemudian receiver membagi

frame yang datang dengan nomor tersebut dan, bila tidak ada sisa, maka diasumsikan

tidak terdapat kesalahan.


CRC mempunyai kelebihan dibandingkan dengan parity check code, yaitu hasil

koreksinya lebih akurat dan juga mempunyai bit redundant yang sedikit jika

dibandingkan LRC (jika bit pembaginya kurang dari 8 bit). Penggunaan Cyclic

Redundancy Check (CRC) dijelaskan sebagai berikut.

 Data atau pesan yang diberikan sejumlah k-bit, kemudian pengirim

membangkitkan suatu bagian n-bit, sehingga jumlah bit yang terkirim adalah k+n

bit

 Penerima memeriksa data (bit k+n).

 Data dibagi oleh angka yang belum ditentukan, dan jika tidak ada sisa, maka

tidak terjadi error. 11100111 11011101 0011001 10101001 10101010 11100111

11011101 10001001 10100011 10101010 Pengirim Penerima 17

 Gambar 3 menunjukkan generator CRC, Gambar 4 menunjukkan pengecek

CRC, dan Gambar 5 menunjukkan transmisi CRC.

Gambar 3. Generator CRC

Gambar 4. Pengecek CRC


Gambar 5. Transmisi CRC

Berikut ini adalah ilustrasi proses yang terjadi.

 String n ”0” diberikan pada data. Jumlah n kurang 1 dari jumlah bit

pada pembagi yang belum ditentukan, yaitu bit n+1.

 Data yang baru saja diperpanjang dibagi dengan pembagi

menggunakan proses yang disebut pembagian biner. Sisa yang

dihasilkan dari pembagian adalah CRC.

 CRC pada bit n berasal dari langkah ke-2 yang menggantikan 0

yang ditambahkan pada akhir rentetan data.

 Rentetan data tiba pada penerima data pertama, diikuti oleh CRC.

 Penerima memperlakukan keseluruhan string sebagai sebuah

kesatuan dan membaginya dengan pembagi yang sama yang

digunakan untuk menemukan sisa CRC.

 Jika string bisa sampai tanpa error, pengecek CRC menghasilkan

sisa nol, jika string telah berubah dalam pengiriman, pembagian

menghasilkan sisa yang bukan nol.

Gambar 6 menggambarkan cara kerja generator CRC.

 Pada langkah pertama, keempat bit pembagi (1101)

mengurangi empat bit pertama yang dibagi (1001), menghasilkan

100 (0 pada sisa dikeluarkan).

 Selanjutnya satu bit berikutnya dari bit yang dibagi, ditarik ke

bawah untuk membuat jumlah bit pada sisa sama dengan bit pada

pembagi.
 Langkah selanjutnya, 1000-1101 menghasilkan 101, dan

seterusnya.

Gambar 6. Cara Kerja Generator CRC

 Dalam proses ini, pembagi hanya bisa dikurangi dari sisa yang memiliki

bit sisa sebagian besar adalah satu.

 Pada saat bit sisa sebagian besar adalah 0, kita harus menggunakan

0000 bukannya pembagi asli.

 Pembatasan ini menyatakan secara tidak langsung bahwa pada

beberapa langkah, pengurangan sisa sebagian besar akan menjadi 0-0

atau 1-1 yang keduanya sama-sama menghasilkan angka 0.

 Proses ini dilakukan berulang-ulang hingga pembagi yang tersisa telah

digunakan. Di sini, CRC nya adalah 001.


Gambar 7. menunjukkan pengecek CRC untuk generator CRC.

 Pengirim mengirim data ditambah CRC ke penerima, setelah menerima

data yang ditambahkan CRC.

 Di sini, pembagi bit (1101) sama dengan generator CRC.

 Jika semua sisanya adalah 0, maka CRC dibuang dan data diterima;

sesuai dengan yang dikirim.

Gambar 7. Cara Kerja Pengecek CRC

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.

3. Checksum

Checksum adalah sebuah metode pen metode pengecekan

gecekan/koreksi keaslian /koreksi keaslian data sederhan data sederhana dalam

komunikasi data. Operasi checksum ini banyak dimanfaatkan dalam aplikasi komputer

saat ini. Sebagai contoh, suatu web browser   setiap melakukan download   suatu  file 

akan memeriksa kemungkinan terjadinya corrupt   pada berkas tersebut dengan

membandingkan hasil checksum terhadap berkas asli.

Metode checksum dilakukan pada si pengirim dengan menjumlahkan

sekumpulan data dan kemudian mengcomplement jumlahnya, selanjutnya hasil

complement/checksum-nya ditambahkan pada data sebagai sebuah karakter.

Kemudian pada sisi penerima akan dihitung ulang checksum-nya dan dilakukan

perbandingan nilai/jumah data yang dikirimkan. Bila ada  perbedaan nilai  perbedaan

nilai antara kedua nilai, maka nilai, maka pasti ada terjadi terjadi kesalahan dalam

kesalahan dalam pengiriman. Dan pengiriman. Dan  penjumlahan data-nya den

penjumlahan data-nya dengan metode gan metode checksum harus selalu


menghasilakn nol (0).

Gambar 8. Metode Checksum

Berikut ini penjelasan metode Berikut ini penjelasan metode pengecekan

dengan pengecekan dengan checksum, sebagai berikut:

Di sisi pengirim:

a. Unit data dibagi ke dala Unit data dibagi ke dalam beberapa bagian m

beberapa bagian yang masing yang masing-masing bagian berisi n -

masing bagian berisi n-bit  data.

b. Semua bagian data terseb Semua bagian data tersebut ditambahkan

menggunak ut ditambahkan menggunakan 1’a complemen complement

untuk t untuk mendapatkan jumlahnya.

c. Jumlah tersebut kemudian dikomplemenkan dan menjadi nilai

checksum.

d. Checksum dikirim bersama dengan data sebagai unit terakhir dalam

paket  pengiriman.

Di sisi penerima:

a. Unit data yang diterima kembali dibagi ke dalam beberapa bagian data

yang masingmasing bagian berisi n-bit data.

b. Semua bagian Semua bagian unit data tersebut dijuml unit data

tersebut dijumlahkan menggun ahkan menggunakan 1’a complemen

akan 1’a complement untuk t untuk mendapatkan jumlahnya.

c. Jumlah tersebut kemudian dikomplemenkan.

d. Jika hasilnya adalah nol, maka data diterima; ji Jika hasilnya adalah nol,

maka data diterima; jika tidak, data akan ditolak.


Misalkan :

Penerima
Pengirim

Data yang akan dikirim adalah : 4 buah Data (2,3,4,5)

Selanjutnya kita menghitung checksum-nya

Rumusnya seperti uraian berikut :

Checksum = jumlahkan semua datanya

Checksum= datake-1 + data ke -2 + data ke -3 + data ke -4

Checksum = data di- not-kan ( checksum)

Checksum = checksum + 1

Tabel 1. Rumus Checksum

Maka pada contoh ini di dapat :

Checksum = 2+3+4+5 = 14

Checksum = 14 maka bilangan binernya dalam 8 bit (0000 1110)

Checksum = 1111 0001 (disini di-not-kan) dan nilainya menjadi 241

Checksum = 241+ 1 = 242

Tabel 2. Contoh perhitungan Rumus Checksum

Jadi hasil generate 4 data checksum-nya adalah 242. Selanjutnya data

dikirm dengan 4 buah data ditambah dengan generate checksum-nya dan

menjadi 5 buah data untuk dikirimkan, yaitu :


Tabel 3. Data yang dikirimkan ke Penerima

Pada sisi Penerima

Checksum = 2 + 3 + 4 + 5 + 242 = 256

Cheksum = 256 maka bilangan biner nya (1  nya (1 0000 0000 ) lebih dari 8 bit

Seperti terlihat dalam penjumlahan data di atas, maka hasilnya menjadi 256

dan jika dibuat ke dalam bentuk bilangan biner menjadi (1 0000 0000), dan

yang diambil adalah hanya 8 bit (angka 0 nya ada sebanyak 8 bit) maka

hasilnya jika dijumlahlan adalah 0. Dengan demikian data yag dikirim

diterima dengan benar.

C. Koreksi Kesalahan Transmisi

Bila dijumpai kesalahan pada data yang telah diterima, maka perlu

diadakan tindakan perbaikan atau diusahakan agar kesalahan ini jangan sampai

memberikan dampak yang besar. Metode koreksi ini diantaranya adalah:

1. Subtitusi simbol

Bila ada data yang rusak maka komputer penerima mengganti bagian itu

dengan karakter lain, sepertu karakter SUB yang berupa tanda tanya terbalik.

Jika pemakai menjumpai karakter ini (pada program word-prossessor), maka

berarti data yang diterima telah mengalami kerusakan, selanjutnya perbaikan

dilakukan sendiri.

2. Mengirim data koreksi


Data yang dikirim harus ditambah dengan kode tertentu dan data

duplikat. Bila penerima menjumpai kesalahan pada data yang diterima, maka

perbaikan dilakukan dengan mengganti bagian yang rusak dengan data

duplikat, tetapi cara ini jarang dilakukan.

3. Kirim ulang

Cara ini merupakan cara yang paling simpel, yaitu bila komputer

penerima menemukan kesalahan pada data yang diterima, maka selanjutnya

meminta komputer pengirim untuk mengirim mengulangi pengiriman data.


BAB IV

PENUTUP

Kesalahan transmisi data jarak jauh selalu terjadi karena itu sistem

komunikasi data harus dilengkapi kontrol deteksi kesalahan. Informasi Burst-error

penting untuk para perancang kontrol deteksi kesalahan. Performasi transmisi data

menurun pada jam sibuk karena itu bila memugnkinkan pengiriman data sebaiknya

pada jam tidak sibuk. Kesalahan yangterjadi sebagian besar disebabkan oleh ‘Spike’

noise pada sistem transmisi data.deteksi kesalahan yang paling baik performasinya

adalah CRC. Kesalahan pada sistem on-line masih dapat diterima tetapi ‘kegagalan’

pada sistem ini mutlak harus dihindari.


REFERENSI

[1]https://wildanpamungkas.blogspot.com/2016/10/deteksi-dan-koreksi-kesalahan-

pada.html

[2]http://belajarilmukomputerdaninternet.blogspot.com/2013/11/deteksi-dan-koreksi-

error.html

[3] https://repository.uksw.edu/bitstream/123456789/9755/3/T1_612010011_BAB%20II.pdf

[4]https://blog.ub.ac.id/ichiemone/2011/11/27/hamming-code-parity-checks-cyclic-

redundancy-check-crc/

[5]https://media.neliti.com/media/publications/225761-deteksi-dan-koreksi-multi-bit-

error-deng-f377c906.pdf

[6] https://adoc.pub/deteksi-koreksi-kesalahan.html

[7] https://repository.unikom.ac.id/43067/1/Jarkom%20-%20Bab%2010.pdf

[8]https://repository.unikom.ac.id/45747/1/BAB6%20Deteksi%20dan%20Koreksi

%20Kesalahan.pdf

[9] http://gusrialrahul.blogspot.com/2016/11/deteksi-dan-koreksi-kesalahan-pada.html

Anda mungkin juga menyukai