8

Click here to load reader

Error Detection and Correction Cyclic Redundant Check

Embed Size (px)

Citation preview

Page 1: Error Detection and Correction Cyclic Redundant Check

Error Detection and CorrectionError Detection and CorrectionCyclic Redundant Check (CRC) Cyclic Redundant Check (CRC)

Agus NursikuwagusAgus Nursikuwagus

Jaringan KomputerJaringan Komputer

Page 2: Error Detection and Correction Cyclic Redundant Check

Agus NursikuwagusAgus Nursikuwagus

Kode Polinom Kode Polinom CRC (Cyclic Redundancy Check)CRC (Cyclic Redundancy Check)

• Kode-kode polinomial berbasiskan bit string sebagai representasi Polynomial dengan koesefisien 0 dan 1.

• Frame k-bit digunakan sebagai daftar koefisien polinomial dengan panjang k, mulai dari xk - 1 sampai x0

• Setiap ponomial dapat dikatakan sebagai derajat k - 1 • Bit sisi kiri (high-order) memiliki koefisien xk-1;

selanjutnya xk - 2, dan seterusnya.• Contoh : 110001 memiliki 6 buah bit, dengan koefisien 1, 1, 0, 0,

0, dan maka jika dituliskan dalam bentuk polinomial menjadi x5 + x4 + x0.

Page 3: Error Detection and Correction Cyclic Redundant Check

Agus NursikuwagusAgus Nursikuwagus

Polynomial Code Polynomial Code CRC (Cyclic Redundancy Check)CRC (Cyclic Redundancy Check)

• Operasi aritmatika polinomial dikerjakan dengan menggunakan modulo 2,

• Tidak ada carrier jika pada operasi penjumlahan dan sisa pada operasi pengurangan

• Operasi penambahan dan penjumlahan identik dengan operasi exclusive OR.

• Contoh :

Page 4: Error Detection and Correction Cyclic Redundant Check

Agus NursikuwagusAgus Nursikuwagus

Cara KerjaCara Kerja

• Pemakaian kode polinomial pada receiver dan sender harus memiliki pembangkit polinomial yang sama G(x),

• Kedua bit pada urutan high dan low kode pembangkit harus 1.

• Perhitungan sebanyak m bit, dikaitkan dengan polinomial M(x), frame harus lebih panjang dari kode pembangkit polinomial.

• Idenya menambahkan suatu bit checksum pada akhir dari frame agar frame dapat dibagi dengan G(x).

• Ketika receiver menerima frame checksum, maka akan dibagi dengan G(x). Jika ada sisa maka kemungkinan transmisi error.

Page 5: Error Detection and Correction Cyclic Redundant Check

Agus NursikuwagusAgus Nursikuwagus

Algoritma CRCAlgoritma CRC

Algoritma untuk proses checksum, sebagai berikut : 1. Set r menjadi derajat dari G(x). 2. Tambah r zero bit pada low-order sisi kanan dari frame

sehingga berisikan m + r bit, dan menjadi polinomial xrM(x).

3. Bagi G(x) dengan xrM(x), menggunakan pembagian modulo 2.

4. Kurangi sisa (r atau beberapa bit) dari bit yang ada pada xrM(x) menggunakan pengurangan modulo 2.

5. Hasil berupa frame checksum yang ditransmitkan 6. Set menjadi polinomial T(x).

Page 6: Error Detection and Correction Cyclic Redundant Check

Agus NursikuwagusAgus Nursikuwagus

Perhitungan kode polinomial Perhitungan kode polinomial dan checksumdan checksum

• Contoh :

– Frame 1101011011– pembangkit G(x) = x4 + x + 1.

Page 7: Error Detection and Correction Cyclic Redundant Check

Agus NursikuwagusAgus Nursikuwagus

Page 8: Error Detection and Correction Cyclic Redundant Check

Agus NursikuwagusAgus Nursikuwagus

LatihanLatihan

• x7 + x5 + 1, dengan pembangkit

G(x)= x3 + 1

• 10011101, dengan x3 + 1

• 11000111101, dengan x4 + x3 + 1