2
2
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.
Beberapa
aplikasi
memerlukan
adanya
teknik
untuk
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.
__________________________________________________________________
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.
10.4 Aritmatika Modulo 2
Dalam aritmatika modulo 2 nilai tertinggi adalah 1, sehingga nilai yang
ada dalam range aritmatika modulo 2 adalah 0 dan 1. Pada dasarnya operasi
aritmatika modulo 2 sama dengan operasi aritmatika pada operasi biner.
Bedanya adalah pada operasi penjumlahan tidak menyertakan carry
(menyimpan bilangan 1) dan pada operasi pengurangan tidak menyertakan
borrow (meminjam nilai 1 dari bilangan di sebelah kirinya).
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M.
Eng. Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
+
+
+
+
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
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:
Pada sisi pengirim
Data+parity
1
b1
b2
b3
b4
b5
b6
b7
parity
1
b1
1
b2
0
b3
0
b4
0
b5
1
b6
1
b7
1
parity
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M.
Eng. Program Studi Teknik Komputer
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
1
1
0
0
0
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
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M.
Eng. Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
Komunikasi Data
11
12
dimana nil ai inilah y ang nantiny a digunaka n untuk m endeteksi error pada
transmisi ataupun pen yimpanan, dan kemudian pener ima akan melakukan
verifikasi apakah data yang
kerusakan.
Untu k menyelesaikan CRC dalam
Aritmatika modulo 2
Polyno mial
Komunikasi Data
13
= 2n M + F
2M = Q + R
P
P
Contoh :
1. Diketahui : message M = 1001 (4 bit)
pattern P = 1011 (4 bit)
14
1 0 1 0
1 0 0 1
0
0
1 1
0 0
0
0
1 1
Jika tidak ada error, maka receiver menerima T secara utuh. Frame yang
diterima dibagi dengan P :
__________________________________________________________________
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 X + X dihapus. Jika terdapat suku yang sama
4
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M.
Eng. Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
Komunikasi Data
17
(X + X + X + X) (X + X + 1)
7
=X +X +X +X +X +X +X +X +X +X +X +X
=X +X +X +X
Proses pembagian polynomial konsepnya sama dengan pembagian biner.
Berikut merupakan contoh pembagian polynomial.
3
Divisor X + X + 1
Quotient
X +X
6
X +
6
X +
X3
4
X +
4
X
4
3
2
X +X +X
2
X + X Remainder
Contoh :
1. Diketahui :
message M = 1001 (4 bit)
pattern P = 1011 (4 bit)
= X + 1 (X )
6
3
=X +X
Pattern P
= 1011
3
=X +X+1
__________________________________________________________________
Lecturer : M. Miftakul Amin, S. Kom., M.
Eng. Program Studi Teknik Komputer
Politeknik Negeri Sriwijaya Palembang
18
Selanjutnya dihitung:
3
X +X
3
6
3
X +X+1/X +
+X
6
4
3
X +X +X
X4
4
X +X +X
2
X +X
Sehingga nantinya datanya yang ditransmisikan dari sender ke receiver adalah:
6
X +X +X +X
Sehingga dilakukan proses pembagian data yang telah dikirim, tersebut seperti
perhitungan berikut.
3
X +X
3
6
3
2
X +X+1/X +X +X +X
6
4
3
X +X +X
4
2
X4 + 2X + X
X +X +X0
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
anda selesaikan.
a.
b.
c.
d.
(10001)
(10001)
(11100)
(10000)
(10001)
(00000)
(10011)
(11111)
2. Selesaikan operasi berikut menggunakan polynomial!
a.
b.
c.
(X + X + X + 1) + (X + X + X + 1)
(X + X + X + 1) (X + X + X + 1)
4
(X + X ) * (X + X + X + 1)
a.
b.
c.
101110
10011
10011000
4. Jika terdapat deretan bit berikut, berikan bit yang tepat sehingga terbentuk
even parity!
a.
b.
c.
d.
1001011
0001100
1000000
1110111
th