Anda di halaman 1dari 2

CRC (Cyclic Redundancy Check)

Cyclic Redundancy Check adalah suatu algoritma untuk memastikan integritas data dan mengecek
kesalahan pada suatu paket data yang akan ditransmisikan atau disimpan. Setiap paket berukuran m bit
yang akan dikirim akan dihitung menggunakan algoritma tertentu untuk menghasilkan CRC
checksumnya (berukuran r bit), kemudian dikirim bersama-sama dengan paket (dengan ukuran m+r bit).
Pada sisi penerima, penerima akan menghitung CRC checksum pada paket yang diterima dengan
algoritma yang sama saat pengiriman, dan dibandingkan dengan checksum yang diterima, jika berbeda,
berarti paket rusak.
CRC dapat dilakukan dengan menggunakan 2 cara, yaitu prinsip modulo bilangan dan generator
polynomial.
1. Modulo Bilangan
CRC menggunakan prinsip modulo bilangan. Data dianggap sebagai sebuah bilangan, dan untuk
menghitung checksum, sama dengan menambahkan digit untuk data dengan digit untuk checksum
(berisi 0) kemudian dibagi dengan pembilang tertentu, dan sisa pembagiannya menjadi checksum untuk
data tersebut. Tergantung pemilihan bilangan pembagi, CRC dapat mendeteksi single-bit error, double
bit error, error berjumlah ganjil, burst error dengan panjang maksimum r. Bilangan pembagi tersebut
disebut sebagai generator (polinomial).
Berikut contoh deskripsi mengenai CRC.
Di sisi pengirim:
# Data memiliki m bit
1001, m = 4
# Generator memiliki panjang r bit
101, r = 3
# Tambahkan r-1 bit 0 ke data:
100100
# Bagi bilangan ini dengan generator, sisanya (11) adalah checksum
# Tambahkan checksum ke data asal: 100111
Di sisi penerima:
# Bagi data yang diterima dengan generator. Jika sisanya bukan 0, berarti terjadi kesalahan.
# Jika sisanya 0, berarti tidak terjadi kesalahan, sesuai dengan kriteria generator yang digunakan.
2. Generator Polinomial
Pada CRC ini, generator pembagi data ini sering disebut generator polinomial karena nilai pembagi ini
dapat direpresentasikan dalam bentuk polinomial peubah banyak, tergantung pada jenis/nilai pembagi
yang digunakan. Berikut adalah beberapa generator polinomial yang sering digunakan berdasarkan
konvensi internasional.
LRC: X8 + 1
CRC-12: X12 + X11 + X3 + X2 + X + 1
CRC-16: X16 + X15 + X2 + 1
CRC CCITT V41: X16 + X12 + X5 + 1 (digunakan pada HDLC procedure.)
CRC-32 (Ethernet): = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1
CRC ARPA: X24 + X23+ X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3 + 1

Jadi, secara umum dapat disimpulkan mengenai CRC ini adalah sebagai berikut

Kelebihan dari metode CRC:


o Dapat digunakan dalam pengiriman data berkecepatan tinggi (16-32 bit).
o Memiliki kehadalan sistem yang sangat tinggi, yaitu sekitar 99%.
o Mampu mendeteksi bit error dalam jumlah banyak (burst error) dengan panjang yang
kurang dari jumlah redundansi bitnya.

Kekurangan dari metode CRC:


o Realisasi rangkaian/hardware dan software yang paling sulit dibanding parity check dan
checksum.
o Analisis dan perhitungan dalam perancangan yang cukup sulit.

Anda mungkin juga menyukai