Deteksi dan
Koreksi Error
10.1 Pengantar
Sebuah jaringan komunikasi harus dapat melakukan transmisi data dari
satu device ke device lainnya dengan akurat, yang berarti terbebas dari adanya
kemungkinan kesalahan (error) data yang kurang sempurna (corrupted). Untuk
beberapa aplikasi komunikasi data, sebuah sistem harus dapat menjamin bahwa
data yang diterima oleh sebuah device identik atau sama dengan data yang
dikirim. Hal ini dikarenakan dapat saja terjadi data yang ditransmisikan
mengalami kondisi tidak sempurna (corrupted) selama perjalanan. Beberapa
factor dapat mempengaruhi satu atau lebih bit pesan, sehingga beberapa aplikasi
komunikasi data memerlukan adanya mekanisme untuk dapat mendeteksi adanya
error dan memperbaiki kesalahan.
Single-bit error
Single-bit error diartikan sebagai suatu kondisi dimana hanya 1 bit dalam
sebuah paket data (seperti satu byte, karakter, atau paket) mengalami perubahan
dari bit 1 menjadi bit 0 atau dari bit 0 menjadi bit 1. Pada Gambar 10.1 merupakan
ilustrasi tentang terjadinya single-bit error. Diasumsikan terdapat sekelompok bit
data yang terdiri dari 8 bit (1 byte) yaitu 00000010 yang merupakan sebuah kode
ASCII akan ditransmisikan, tetapi dalam perjalanan selama proses transmisi
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
Komunikasi Data
terjadi perubahan pada bit ke-5 (ke-5 dari kiri) dari 0 menjadi 1. Kejadian
semacam ini mengakibatkan makna informasi yang diterima menjadi berbeda
dengan maksud dari pengirim.
Dalam single-bit error, hanya 1 bit data yang berubah dari bit 1
menjadi 0 atau sebaliknya.
Burst error
Jenis error ini disebut sebagai burst atau ledakan karena jumlah bit yang
mengalami perubahan dari sebuah unit data lebih dari 2 bit. Gambar 10.2
memberikan ilustrasi mengenai unit data yang mengalami ledakan kesalahan
(Burst Error). Dalam Gambar 10.2 sebuah unit data 0100010001000011 dikirim,
tetapi pada sisi penerima unit data berubah menjadi 0101110101100011. Burst
error tidak dilihat dari keseluruhan bit yang ditransmisikan, melainkan diukur dari
pada bit ke berapa yang mengalami error, sampai bit terkahir yang mengalami
error. Pada Gambar 10.2 panjang ledakan bit terjadi sepanjang 8 bit. Tetapi
beberapa bit yang terdapat sepanjang 8 bit tersebut tidak mengalami perubahan.
Dalam burst error, terdapat 2 atau lebih bit yang berubah dari 1
menjadi 0 atau sebaliknya, dalam sebuah unit data yang
ditransmisikan.
10.3 Redudancy
Konsep penting untuk mendeteksi dan mengatasi terjadinya error adalah
redundancy, hal ini dengan cara mengirim sejumlah bit tambahan yang disertakan
bersamaan dengan bit data yang dikirim. Bit tambahan tersebut ditambahkan pada
sisi pengirim, dan terbawa selama proses transmisi, tetapi akan dibuang pada saat
sampai pada sisi penerima. Keberadaan bit tambahan tersebut dapat membantu
penerima untuk mendeteksi dan mengkoreksi adanya bit yang error.
Proses melakukan perbaikan atau koreksi terhadap error yang terjadi lebih
sulit dibandingkan proses untuk mendeteksi kesalahan. Pada proses deteksi error
hanya difokuskan untuk melihat apakah terdapat error pada sejumlah bit data yang
dikirim dan jawaban yang dapat dimunculkan adalah ya/tidak. Sementara untuk
memperbaiki error perlu diketahui ada berapa bit yang mengalami error (singlebit/burst), setelah diketahui jumlah bit yang error perlu diketahui juga pada bit ke
berapa error terjadi. Sehingga pekerjaan memperbaiki error lebih sulit
dibandingkan mendeteksi error. Tetapi tahapan untuk menemukan error harus
terlebih dahulu dilakukan sebelum perbaikan dilakukan.
Pada Gambar 10.3 sejumlah bit data dikirim bersamaan dengan bit
tambahan (redundancy). Bit tambahan ini digunakan untuk melakukan deteksi
error. Jika pada saat data sampai di sisi penerima diketahui terdapat error, maka
data tersebut akan ditolak, sebaliknya jika data tidak terdeteksi adanya error, maka
data akan diterima sebagai sebuah paket data.
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
Komunikasi Data
Gambar 10.3
Pada proses koreksi error terdapat hal penting yang perlu diperhatikan, yaitu
jumlah bit yang error dan jumlah bit yang ditransmisikan. Sebagai contoh pada
kasus single bit error, jika terjadi 1 bit yang error pada 8 bit data yang
ditransmisikan maka terdapat kemungkinan sebanyak 8 lokasi bit yang berpotensi
error.
+
+
+
+
0
1
0
1
=
=
=
=
0
1
1
0
0
1
0
1
=
=
=
=
0
1
1
0
*
*
*
*
0
1
0
1
=
=
=
=
0
0
0
1
Komunikasi Data
bit paritas. Pada Tabel 10.1 terdapat k=2 dan n=3 sebagai kombinasi datawords
dan codewords.
Tabel 10.1 Contoh Datawords dan Codewords
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
Sebagai contoh:
10101010 10101010 0
10101110 10101110 1
Berikut merupakan contoh bagaimana aplikasi dari bit paritas menggunakan even
parity. Terdapat deretan bit yang akan ditransmisikan:
b1
b2
b3
b4
b5
b6
b7
Pada kasus tersebut terdapat 3 bit 1 (ganjil), sehingga sebelum data dikirim
tambahkan bit 1 sehingga jumlah bit 1 menjadi genap yaitu berjumlah 4 buah.
Sehingga datanya akan berubah menjadi, sebagai berikut:
b1
b2
b3
b4
b5
b6
b7
parity
b1
b2
b3
b4
b5
b6
b7
parity
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
Komunikasi Data
maka kesimpulannya adalah error! Hal ini dikarenakan pada bit ke b6 terjadi
single-bit error dari 0 berubah menjadi bit 1.
Jika pada saat data yang diterima menjadi
Data+parity
b1
b2
b3
b4
b5
b6
b7
parity
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
10
kerusakkan pada posisi yang sama, maka LRC checker tidak dapat mendeteksi
error . Kerugian terjadi overhead akibat penambahan Bit Parity per 7 Bit untuk
karakter. Gambar 10.5 merupakan pola LRC untuk mendeteksi kesalahan.
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
K
Komunikasi
i Data
11
_________________________________________________________________________
L
Lecturer
: M.
M Miftakul Amin,
A
S. Kom
m., M. Eng.
P
Program
Stu
udi Teknik Komputer
K
P
Politeknik
Negeri
N
Sriwijjaya Palembbang
12
1
10.8
CRC (C
Cyclic Redu
undancy Ch
heck)
CRC
C adalah salaah satu fungsi hash yangg dikembanggkan untuk mendeteksi
m
k
kerusakkan
data
dalaam
proses
transmisi
ataupun
penyimpan
nan.
CRC
m
menghasilka
an suatu cheecksum yaituu suatu nilaai dihasilkann dari fungsii hash nya,
d
dimana
nilaai inilah yaang nantinyya digunakaan untuk m
mendeteksi error
e
pada
t
transmisi
a
ataupun
pennyimpanan, dan kemudian peneriima akan melakukan
v
verifikasi
a
apakah
dataa yang diteerima tidak mengalam
mi perubahaan ataupun
k
kerusakan.
Untu
uk menyeleesaikan CR
RC dalam proses
p
deteeksi kesalah
han dapat
d
dilakukan
deengan 2 caraa, yaitu:
Aritmattika modulo 2
Polynom
mial
_________________________________________________________________________
L
Lecturer
: M.
M Miftakul Amin,
A
S. Kom
m., M. Eng.
P
Program
Stu
udi Teknik Komputer
K
P
Politeknik
Negeri
N
Sriwijjaya Palembbang
Komunikasi Data
13
=2 M+F
2M
R
=Q+
P
P
14
1
1
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
Komunikasi Data
15
Pattern P dipilih 1 bit lebih panjang daripada FCS, dan bit pattern dipilih
tergantung tipe error yang diinginkan. Pada keadaan minimum keduanya baik
tingkat high atau low bit dari P harus 1. Frame Tr yang dihasilkan dapat
dinyatakan sebagai :
Tr = T + E
dimana :
T = frame yang ditransmisi
E = error pattern dengan 1 dalam posisi dimana terjadi error
Tr = frame yang diterima.
Receiver akan gagal untuk mendeteksi error jika dan hanya jika Tr dapat
dibagi dengan P, yang jika dan hanya jika E dapat dibagi dengan P.
10.8.2 Polynomial
Pola bit 0 dan 1 dapat direpresentasikan sebagai polynomial dengan
koefisien 0 atau 1. Sedangkan pangkat merupakan posisi dari bit. Koefisien
merupakan nilai dari sebuah bit. Gambar 10.8 menggambarkan pola bit dan
polynomial yang terbentuk. Koefisien 0 dengan sendirinya bernilai 0 sehingga
dapat dituliskan menjadi bentuk polynomial yang lebih pendek. Khusus untuk x
dengan pangkat 1 jika koefisiennya adalah satu maka bernilai x. sedangkan untuk
posisi bit 0 dengan koefisien 1 akan bernilai 1, karena bilangan berapapun jika
dipangkatkan dengan 0 maka bernilai 1.
16
Dalam hal ini suku X4 + X2 dihapus. Jika terdapat suku yang sama
dijumlahkan sebanyak dua kali sebagai contoh X4 + X4 + X4 maka hanya 1
pasang X4 yang dihapus, sedangkan X4 dipertahankan.
Pada proses perkalian suku polynomial, dilakukan dengan menjumlahkan
pangkat dari setiap suku. Sebagai contoh X4 * X3 = X7. Sedangkan untuk proses
pembagian polynomial dilakukan dengan mengurangi pangkat suku pertama
dengan suku ke-2. Sebagai contoh X5 - X3 = X2.
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
Komunikasi Data
17
Quotient
X6 +
X3
X6 + X4 + X3
X4
X 4 + X2 + X
X2 + X Remainder
Contoh :
1. Diketahui :
message M = 1001 (4 bit)
pattern P = 1011 (4 bit)
= 1011
= X3 + X + 1
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
18
Selanjutnya dihitung:
X3 + X
X 3 + X + 1 / X6 +
+ X3
6
4
X + X + X3
X4
X4 + X2 + X
X2 + X
Sehingga nantinya datanya yang ditransmisikan dari sender ke receiver adalah:
X 6 + X 3 + X2 + X
Sehingga dilakukan proses pembagian data yang telah dikirim, tersebut seperti
perhitungan berikut.
X3 + X
X + X + 1 / X6 + X 3 + X 2 + X
X 6 + X 4 + X3
X4 + X2 + X
X4 + X2 + X
0
3
Karena hasil akhir bernilai 0, maka dapat dikatakan tidak terjadi error pada proses
pengiriman data.
"Rangkuman
1. Data dapat mengalami kerusakan selama proses pengiriman data. Beberapa
aplikasi harus dapat mendeteksi dan memperbaiki kesalahan yang terjadi.
2. Dalam single-bit error hanya 1 bit saja yang berubah, sedangkan pada bursterror lebih dari satu bit mengalami kerusakan.
3. Untuk dapat mendeteksi dan memperbaiki kesalahan diperlukan diperlukan
pengiriman bit tambahan (redundancy) bersamaan dengan data.
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
Komunikasi Data
19
"Latihan
1. Selesaikan operasi XOR dari pasangan biner berikut! Operasi XOR ditandai
dengan symbol . Berilah argument dari hasil operasi XOR yang telah anda
selesaikan.
a. (10001) (10000)
b. (10001) (10001)
c. (11100) (00000)
d. (10011) (11111)
2. Selesaikan operasi berikut menggunakan polynomial!
a. (X3 + X2 + X + 1) + (X4 + X2 + X + 1)
b. (X3 + X2 + X + 1) (X4 + X2 + X + 1)
c. (X3 + X2) * (X4 + X2 + X + 1)
3. Berapakah polynomial dari deretan biner berikut!
a. 101110
b. 10011
c. 10011000
4. Jika terdapat deretan bit berikut, berikan bit yang tepat sehingga terbentuk
even parity!
a. 1001011
b. 0001100
c. 1000000
d. 1110111
"Sumber Rujukan
Forouzan, A., Behrouz. 2007. Data Communication and Networking 4th Edition.
Boston: Mc Graw Hill.
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M. Eng.
Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang