Deteksi dan Koreksi Error



dokumen-dokumen yang mirip
RANGKUMAN TEKNIK KOMUNIKASI DATA DIGITAL

ERROR DETECTION. Parity Check (Vertical Redudancy Check) Longitudinal Redudancy Check Cyclic Redudancy Check Checksum. Budhi Irawan, S.Si, M.

Deteksi dan Koreksi Error

Deteksi & Koreksi Kesalahan

Deteksi dan Koreksi Error

DIKTAT MATA KULIAH KOMUNIKASI DATA BAB V DETEKSI DAN KOREKSI KESALAHAN

Teknik Komunikasi Data Digital

PERANCANGAN PERANGKAT LUNAK DETEKSI BIT ERROR DENGAN IMPLEMENTASI LONGITUDINAL REDUNDANCY CHECK (LRC) PADA TRANSMISI DATA

BAB II DASAR TEORI. 7. Menuliskan kode karakter dimulai dari level paling atas sampai level paling bawah.

KOREKSI KESALAHAN. Jumlah bit informasi = 2 k -k-1, dimana k adalah jumlah bit ceknya. a. KODE HAMMING

B A B VI DETEKSI DAN KOREKSI ERROR

C. ALAT DAN BAHAN 1. XOR_2 2. LOGICTOGGLE 3. LOGICPROBE (BIG)

Masalah Timing (pewaktu) memerlukan suatu mekanisme untuk mensinkronkan transmitter dan receiver Dua solusi. Asinkron Sinkron

Serial Communication II

DETEKSI DAN KOREKSI KESALAHAN

STUDI ALGORITMA ADLER, CRC, FLETCHER DAN IMPLEMENTASI PADA MAC

BAB II TEKNIK PENDETEKSIAN KESALAHAN

PEDOMAN PENGGUNAAN SIMULATOR PENYANDIAN DAN PENGAWASANDIAN SISTEM KOMUNIKASI BERBASIS PERANGKAT LUNAK VISUAL C#

BAB II ARITMATIKA DAN PENGKODEAN

Algoritma Perhitungan Langsung pada Cyclic Redundancy Code 32

Kode Sumber dan Kode Kanal

PERANCANGAN APLIKASI DETEKSI BIT CHECK IN ERROR PADA TRANSMISI DATA TEXT DENGAN SINGLE ERROR CORRECTION MENGGUNAKAN ALGORITMA HAMMING CODE

INTEGRITAS DATA. Objektif: Mengetahui maksud ralat dalam komunikasi data Memahami teknik mengenal error dan membetulkan error

Chapter 2 part 2 Getting Connected. Muhammad Al Makky

BAB IV HASIL PENGUJIAN DAN ANALISIS

BAB II. Protocol and Error Handling

TTG3B3 - Sistem Komunikasi 2 Linear Block Code

MODE TRANSMISI DATA LAPISAN FISIK. Budhi Irawan, S.Si, M.T

Organisasi File. Rudi Susanto

TEKNIK KOMUNIKASI DATA DIGITAL

BAB III PERANCANGAN. Tampilan simulator penyandian dan pengawasandian terdiri dari menu utama dan 10 jenis penyandian yang terpisah tiap GUI-nya.

PENGKODEAN DATA. Muji Lestari ST.,MMSI

1 PENDAHULUAN 1.1 Latar Belakang

KOMUNIKASI DATA Kontrol Komunikasi

PARITY GENERATOR & CHECKER

KAJIAN CRC32 UNTUK MENDETEKSI PERUBAHAN ISI FILE DOCUMENT

BAB II LANDASAN TEORI

Sandi Blok. Risanuri Hidayat Jurusan Teknik Elektro dan Teknologi Informasi FT UGM

SISTEM BILANGAN DIGITAL

Materi Kuliah Jaringan Komputer ke-1 : DATA PROSES INFORMASI. Hand Out : Piping Supriatna

Block Coding KOMUNIKASI DATA OLEH : PUTU RUSDI ARIAWAN ( )

Pengantar Komunikasi Data. Muhammad Zen Samsono Hadi, ST. MSc. Lab. Telefoni Gedung D4 Lt. 1

B A B VI DETEKSI DAN KOREKSI ERROR

Memori Utama. (Pertemuan ke-4) Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom. Diedit ulang oleh: Endro Ariyanto

DESAIN ENCODER-DECODER BERBASIS ANGKA SEMBILAN UNTUK TRANSMISI INFORMASI DIGITAL

DATA LINK LAYER. Gambar. 1: Fungsi dari Data Link Layer. Gambar. 2: PDU pada Data Link Layer berupa Frames

RANGKAIAN ARITMETIKA 2

Bagian 5 Pengkodean Data, Transmisi Asynchronous dan Synchronous, Serta Data Link Control

Penggunaan Logika Even Parity pada Beberapa Error Correction Code Terutama pada Hamming Code

BAB 3 MEKANISME PENGKODEAAN CONCATENATED VITERBI/REED-SOLOMON DAN TURBO

SIMULASI LOW DENSITY PARITY CHECK (LDPC) DENGAN STANDAR DVB-T2. Yusuf Kurniawan 1 Idham Hafizh 2. Abstrak

Materi W6b BARISAN DAN DERET. Kelas X, Semester 2. B. Barisan dan Deret Aritmatika.

Data Communication. Week 13 Data Link Layer (Error Correction) 13Susmini I. Lestariningati, M.T

II. Sistem Bilangan Outline : 31/10/2008. Anhar, ST. MT. Lab. Jaringan Komputer

FLOW CONTROL & ERROR CONTROL. Fungsi SUBLAYER LLC pada datalink

STMIK AMIKOM YOGYAKARTA. Oleh : Nila Feby Puspitasari

BAB III ANALISIS PENYELESAIAN MASALAH

BAB II LANDASAN TEORI. digunakan dalam pembuatan tugas akhir ini. Radio Frequency Identification (RFID) merupakan salah satu teknologi

William Stallings Komunikasi Data dan Komputer Edisi ke 7. Teknik Komunikasi Data Digital

DETEKSI DAN KOREKSI MULTI BIT ERROR DENGAN PARTITION HAMMING CODE

Jaringan Komputer (IF8505) Data link layer. Materi. Prinsip dasar Peran data link layer Framing Error handling Flow control Contoh: HDLC, PPP

UNIVERSITAS PGRI SEMARANG

Sistem Bilangan. Desimal Biner Oktal Heksadesimal

Sistem Bilangan dan Pengkodean -2-

Kelompok 2 (3KA35) Dedy Setyo Pangestu ( ) Febri Markuri ( ) Melpin Agun Framansa ( ) DATA LINK LAYER

Encoding dan Decoding Kode BCH (Bose Chaudhuri Hocquenghem) Untuk Transmisi Data

PRINSIP-PRINSIP KOMUNIKASI DATA

Makalah Teori Persandian

BAB II TEKNIK PENGKODEAN

Implementasi Encoder dan decoder Hamming pada TMS320C6416T

PERCOBAAN IV Komunikasi Data MODEM

BAB IV SISTEM BILANGAN DAN KODE-KODE

SIMULASI PENGIRIMAN DAN PENERIMAAN INFORMASI MENGGUNAKAN KODE BCH

SISTEM PENGKODEAN. IR. SIHAR PARLINGGOMAN PANJAITAN, MT Fakultas Teknik Jurusan Teknik Elektro Universitas Sumatera Utara

Week #5 Protokol Data Link Control

Sistem Telekomunikasi

1. BAB I PENDAHULUAN. 1.1 Latar Belakang

LAPORAN PRAKTIKUM. Praktek Mikroprosesor 1 Job Sheet 2

Big Picture: where are we? Jaringan Komputer (IKI-20240) Physically Connected Hosts. Agenda

Jaringan Komputer Data Link Control Data L

BAB I PENDAHULUAN. digital sebagai alat yang penting dalam teknologi saat ini menuntut adanya sistem

BAB III ANALISIS MASALAH

Chapter 2 part 1 Getting Connected. Muhammad Al Makky

BAB I PENDAHULUAN. Penyampaian pesan dapat dilakukan dengan media telephone, handphone,

SISTEM BILANGAN. B. Sistem Bilangan Ada beberapa sistem bilangan yang digunakan dalam sistem digital, diantaranya yaitu

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Aritmatik Komputer. Oky Dwi Nurhayati, ST, MT

Arithmatika Komputer. Pertemuan 3

Disajikan Oleh : Yuhefizar, S.Kom

Komputer menggunakan dan memanipulasi data untuk perhitungan aritmatik, pemrosesan data dan operasi logik. Data adalah bilangan biner dan informasi

Bab 7. Data Link Control

BAB I PENDAHULUAN A. Latar Belakang B. Rumusan Masalah C. Tujuan

BAB II PENGKODEAN. yang digunakan untuk melakukan hubungan komunikasi. Pada sistem komunikasi analog, sinyal

METODE HAMMING PENDAHULUAN. By Galih Pranowo ing

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

Data Communication #13 Error Correction

Praktikum Komunikasi Data Percobaan III Pengukuran Komunikasi Serial

BAB V PENGUJIAN DAN ANALISIS. dapat berjalan sesuai perancangan pada bab sebelumnya, selanjutnya akan dilakukan


ANALISIS UNJUK KERJA CODED OFDM MENGGUNAKAN KODE CONVOLUTIONAL PADA KANAL AWGN DAN RAYLEIGH FADING

Penggunaan Metode Heuristik Dan Cyclic Redudancy Check 32 (CRC32) Untuk Mendeteksi Kerusakan File

Transkripsi:

BAB 10 Deteksi dan Koreksi Error Setelah membaca bab ini, diharapkan pembaca memperoleh wawasan tentang: beberapa jenis kesalahan (error); teknik deteksi error; teknik memperbaiki error.

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. Data dapat mengalami kondisi tidak sempurna (corrupted) selama ditransmisikan. Beberapa aplikasi memerlukan adanya teknik untuk mendeteksi dan memperbaiki error. 10.2 Jenis Error Sejumlah bit data yang mengalir dari sisi pengirim ke device penerima tidak dapat diprediksi terjadinya perubahan data tersebut sebelum sampai ke penerima, hal ini dikarenakan terjadinya gangguan transmisi seperti interferensi. Adanya interferensi dapat mengganggu pola sinyal yang terbentuk. 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

Komunikasi Data 3 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. Gambar 10.1 Single-bit Error 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. Gambar 10.2 Burst Error

4 Deteksi dan Koreksi Error 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.

Komunikasi Data 5 Gambar 10.3 Untuk mendeteksi adanya error dai melakukan koreksi error, sejumlah bit tambahan (redundant) ditambahkan bersamaan dengan bit data yang ditransmisikan. 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).

6 Deteksi dan Koreksi Error Aturan dalam penjumlahan 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 Aturan dalam pengurangan 0-0 = 0 0-1 = 1 1-0 = 1 1-1 = 0 Aturan dalam perkalian 0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1 Operasi aritmatika modulo 2 ekuivalen dengan operasi XOR dimana biner yang berbeda akan bernilai 1 dan biner yang sama bernilai 0 seperti berikut: + 0 1 0 0 1 1 1 0 Pada proses aritmatika modulo 2 ini hanya memperbolehkan hasil 0 atau 1 dan tidak ada hasil negatif. Proses penjumlahan dan pengurangan memperoleh hasil yang sama. 10.5 Deteksi Error Menggunakan Simple Parity Check Bit paritas merupakan bit tambahan yang digunakan untuk mendeteksi terjadinya error. Metode ini termasuk pendeteksian kesalahan yang bersifat sederhana dengan hanya menambahkan 1 bit paritas pada data yang akan ditransmisikan. Sebagai contoh jika terdapat k-bit dataword maka akan diubah menjadi n-bit codeword, dengan n = k+1. Bit tambahan tersebut dikenal dengan

Komunikasi Data 7 bit paritas. Pada Tabel 10.1 terdapat k=2 dan n=3 sebagai kombinasi datawords dan codewords. Tabel 10.1 Contoh Datawords dan Codewords Mengacu pada Tabel 10.1 diasumsikan pada sisi pengirim (sender) melakukan proses encode dataword 01 menjadi 011 (baris ke-2 dalam tabel) dan mengirimkannya pada sisi penerima (receiver). Kemungkinan akan terjadi beberapa kasus sebagai berikut: Receiver menerima bit 011 sebagai codeword yang valid. Selanjutnya receiver akan mengekstrak dataword 01 dari codeword dengan kata lain bit paritas tambahan berupa bit 1 akan dibuang. Codeword mengalami kerusakan (corrupted) selama proses transmisi, sehingga data codeword 111 diterima oleh receiver ditandai dengan bit terkiri berubah dari bit 0 menjadi 1. Codeword ini tidak valid, karena tidak terdapat dalam daftar codeword, sehingga data yang diterima akan ditolak. Codeword mengalami kerusakan (corrupted) selama proses transmisi dan selanjutnya codeword 000 diterima oleh receiver ditandai dengan 2 bit sebelah kanan berubah menjadi 0. Codeword ini valid, karena terdapat dalam daftar codeword. selanjutnya receiver akan mengekstrak bit 00, dan menerima paket data. Pada kasus semacam ini terjadi kondisi dimana receiver tidak dapat mendeteksi terjadinya kerusakan data. Terdapat 2 model aturan dalam penambahan bit paritas, yaitu: Even Parity (paritas genap) - Bit paritas bernilai 1, bila jumlah bit 1 adalah ganjil - Bit paritas bernilai 0, bila jumlah bit 1 adalah genap

8 Deteksi dan Koreksi Error Sebagai contoh: 10101010 10101010 0 10101110 10101110 1 Odd Parity (paritas ganjil) - Bit paritas bernilai 1, bila jumlah bit 1 adalah genap - Bit paritas bernilai 0, bila jumlah bit 1 adalah ganjil Sebagai contoh: 10101010 10101010 1 10101110 10101110 0 Berikut merupakan contoh bagaimana aplikasi dari bit paritas menggunakan even parity. Terdapat deretan bit yang akan ditransmisikan: Contoh kasus 10.x Data 1 1 0 0 0 0 1 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: Pada sisi pengirim Data+parity 1 1 0 0 0 0 1 1 b1 b2 b3 b4 b5 b6 b7 parity Pada sisi penerima Menggunakan algoritma sebagai berikut: - Hitung jumlah bit 1 x - Jika x = genap, dapat disimpulkan tidak ada error - Jika x = ganjil, dapat disimpulkan terjadi error Jika pada saat data yang diterima menjadi Data+parity 1 1 0 0 0 1 1 1 b1 b2 b3 b4 b5 b6 b7 parity

Komunikasi Data 9 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 0 1 1 b1 b2 b3 b4 b5 b6 b7 parity maka kesimpulannya tidak terjadi error! Metode simple parity check hanya mampu bekerja pada jenis single-bit error. Penggunaan simple parity check sebenarnya masih terdapat kelemahan, hal ini dikarenakan hanya menghitung jumlah bit 1 ganjil/genap. Jika pada contoh kasus 10.x, b2 berubah dari 1 menjadi 0 dan b3 berubah dari 0 menjadi 1 tetap akan dikenali sebagai data yang benar pada sisi penerima. Hal ini disebut ebagai error yang tidak terdeteksi. 10.6 Parity Check Menggunakan Vertical Redudancy Check (VRC) Teknik VRC bekerja dengan cara menambah bit paritas pada setiap data, sehingga jumlah total bit 1 pada data menjadi genap. VRC dapat mendeteksi semua single-bit error serta dapat mendeteksi multiple dan burst error hanya jika jumlah total error pada data adalah ganjil. Jika receiver mengetahui bahwa data yang dikirim telah dimasuki noise atau corrupt maka data akan dibuang dan meminta untuk dikirimkan kembali. Gambar 10.4 merupakan ilustrasi bagaimana deteksi kesalahan menggunakan VRC.

10 Deteksi dan Koreksi Error Gambar 10.4 Contoh VRC 10.7 Parity Check Menggunakan Longitudinal Redudancy Check (LRC) Dengan menggunakan LRC data dikirim secara blok. Cara ini sama seperti VRC hanya saja penambahan Bit Parity tidak saja pada akhir karakter tetapi juga pada akhir setiap blok karakter yang dikirimkan. Untuk setiap bit dari seluruh blok karakter ditambahkan 1 Bit Parity termasuk juga Bit Parity dari masingmasing karater. Tiap blok mempunyai satu karakter khusus yang disebut Blok Check Character (BCC) yang dibentuk dari Bit uji dan dibangkitkan dengan cara sebagai berikut Tiap Bit BCC merupakan Parity dari semua Bit dari blok yang mempunyai nomor Bit yang sama, jadi Bit 1 dari BCC merupakan Parity genap dari semua Bit 1 karakter yang ada pada blok tersebut dan seterusnya. LRC memiliki keunggulan dalam kecepatan untuk mendeteksi error pada single Bit maupun burst error. Namun jika pada unit data terdapat 2 Bit mengalami 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.

Komunikasii Data 11 Gambar 10.5 Model LRC Sebagai contoh adalah akan dilakukan pentransmisian string DATA dengan teknik LRC paritas ganjil. Data tersebut diubah menjadi sebuah blok yang terbagi menjadi empat baris. Masing-masing karakter direpresentasikan dengan biner kemudian dihitung paritasnya baik secara longitudinal maupun horizontal. Scenario dari pengirimann datanya dapat dilihat pada Gambar 10.6. Gambar 10.6 Representasi LRC Ternyata blok yang diterima oleh penerima seperti pada Gambar 10.7. Perhitungan paritas pada sisi penerima, untuk baris 2 menghasilkan 0 (genap) yang seharusnya 1 (ganjil) seperti pada baris yang lain. Demikian pula kolom 6 menghasilkan 0 (genap) yang seharusnya 1 (ganjil) seperti pada kolom yang lain. Jika dua error ini disilangkan maka akan diketahui bahwa error terjadi pada bit di baris 2 kolom 6. Koreksi dilakukan dengan menginversi bit 0 menjadi 1 atau 1 menjadi 0 pada posisi bit yang baris dan kolomnya dinyatakan error. Gambar 10.7 menunjukkan proses deteksi error yang terjadi.

12 Deteksi dan Koreksi Error Gambar 10.7 Blok Data yang Diterima Pada LRC, data (payload) disusun menjadi sejumlah baris yang ditentukan (blok), kemudian dilakukan perhitungann bit paritas untuk setiap baris dan setiap kolom. Bit paritas baris ditaruh di ujung kanan, sedangkann bit paritas kolom diletakkan dibagian bawah. Urutan transmisi dimulai dari kolom paling kiri kearah bawah. 10.8 CRC (Cyclic Redundancy Check) CRCC adalah salah satu fungsi hash yang dikembangkan untuk mendeteksi kerusakkan data dalam proses transmisi ataupun penyimpanan. CRC menghasilkan suatu checksum yaitu suatu nilai dihasilkan dari fungsi hash nya, dimana nilai inilah yang nantinya digunakan untuk mendeteksi error pada transmisi ataupun penyimpanan, dan kemudian penerima akan melakukan verifikasi apakah dataa yang diterima tidak mengalami perubahan ataupun kerusakan. Untuk menyelesaikan CRC dalam proses deteksi kesalahan dapat dilakukan dengan 2 cara, yaitu: Aritmatika modulo 2 Polynomial

Komunikasi Data 13 10.8.1 Aritmatika Modulo 2 Menggunakan penjumlahan binary dengan tanpa carry pada proses penjumlahan dan borrow pada proses pengurangan, dimana hanya merupakan operasi exclusive-or. Untuk kepentingan ini didefinisikan : T = (k + n) bit frame untuk ditransmisi, dengan n < k M = k bit message, k bit pertama dari T F = n bit FCS, n bit terakhir dari T P = pattern dari n+1 bit. Dimana : T = 2 n M + F 2M P = Q + R P Karena pembaginya adalah binary, remaider selalu kurang dari 1 bit dibanding pembagi. Maka : T = 2 M + R atau T P = 2M + R P T P = Q + R P + R P T P = Q + R + R P = Q Contoh : 1. Diketahui : message M = 1001 (4 bit) pattern P = 1011 (4 bit) FCS R = dikalkulasi (3 bit) 2. Message M dikalikan dengan 2 3, maka : 1001 000 3. Kemudian dibagi dengan P :

14 Deteksi dan Koreksi Error 1 0 1 0 1 0 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 0 4. Remainder (R = 110) ditambahkan ke 2 n M untuk mendapatkan T = 1001 110, yang ditransmisi [ T = 2 n M + R ]. Jika tidak ada error, maka receiver menerima T secara utuh. Frame yang diterima dibagi dengan P : Karena tidak ada remainder maka dianggap tidak ada error.

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. Gambar 10.8 Pola biner dan polynomial

16 Deteksi dan Koreksi Error Dengan merepresentasikan deretan biner menjadi polynomial memiliki keuntungan dimana pola 7-bit dapat diganti menjadi hanya 3 pola polynomial. Hal ini akan sangat menghemat dalam penulisan deret jika ditemui banyak pola bit dengan koefisien bernilai 0. Derajat polynomial merupakan nilai pangkat tertinggi dalam deret. Pada Gambar 10.8 nilai derajat polynomial bernilai 6. Proses penambahan dan pengurangan polynomial dilakukan dengan menjumlahkan setiap koefisien dengan nilai pangkat yang sama. Dalam hal ini nilai koefisien hanya bernilai 0 dan 1, dengan penambahan dan pengurangan menggunakan arimatika modulo 2. Sehingga memiliki konsekuensi 1) penambahan dan pengurangan akan memiliki hasil yang sama, 2) penambahan dan pengurangan berakibat pada penghapusan koefisien dan pangkat yang sama. Sebagai contoh: Dalam hal ini suku X 4 + X 2 dihapus. Jika terdapat suku yang sama dijumlahkan sebanyak dua kali sebagai contoh X 4 + X 4 + X 4 maka hanya 1 pasang X 4 yang dihapus, sedangkan X 4 dipertahankan. Pada proses perkalian suku polynomial, dilakukan dengan menjumlahkan pangkat dari setiap suku. Sebagai contoh X 4 * X 3 = X 7. Sedangkan untuk proses pembagian polynomial dilakukan dengan mengurangi pangkat suku pertama dengan suku ke-2. Sebagai contoh X 5 - X 3 = X 2.

Komunikasi Data 17 Jika dilakukan proses perkalian untuk dua polynomial, maka dilakukan dengan mengalikan setiap suku pada polynomial pertama dengan setiap suku pada polynomial yang ke-2, selanjutnya dilakukan proses penghapusan jika terdapat suku dalam polynomial yang sama sebagai sebuah pasangan. Sebagai contoh: (X 5 + X 3 + X 2 + X) (X 2 + X + 1) = X 7 + X 6 + X 5 + X 5 + X 4 + X 3 + X 4 + X 3 + X 2 + X 3 + X 2 + X = X 7 + X 6 + X 3 + X Proses pembagian polynomial konsepnya sama dengan pembagian biner. Berikut merupakan contoh pembagian polynomial. X 3 + X Quotient Divisor X 3 + X + 1 / X 6 + X 3 X 6 + X 4 + X 3 X 4 X 4 + X 2 + X X 2 + X Remainder Contoh : 1. Diketahui : message M = 1001 (4 bit) pattern P = 1011 (4 bit) FCS R = dikalkulasi (3 bit) 2. Message M dikalikan dengan 2 3, maka : 1001 000 3. Kemudian dibagi dengan P : Akan dihitung menggunakan polynomial untuk menentukan apakah terjadi error dalam proses transmisis data. Utuk menyelesaikannya terlebih dahulu diubah menjadi polynomial. Message M = 1001 * 2 3 = 1001 000 = X 3 + 1 (X 3 ) = X 6 + X 3 Pattern P = 1011 = X 3 + X + 1

18 Deteksi dan Koreksi Error Selanjutnya dihitung: X 3 + X X 3 + X + 1 / X 6 + + X 3 X 6 + X 4 + X 3 X 4 X 4 + X 2 + X X 2 + X Sehingga nantinya datanya yang ditransmisikan dari sender ke receiver adalah: X 6 + X 3 + X 2 + X Sehingga dilakukan proses pembagian data yang telah dikirim, tersebut seperti perhitungan berikut. X 3 + X X 3 + X + 1 / X 6 + X 3 + X 2 + X X 6 + X 4 + X 3 X 4 + X 2 + X X 4 + X 2 + X 0 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.

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. (X 3 + X 2 + X + 1) + (X 4 + X 2 + X + 1) b. (X 3 + X 2 + X + 1) (X 4 + X 2 + X + 1) c. (X 3 + X 2 ) * (X 4 + X 2 + 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 4 th Edition. Boston: Mc Graw Hill.