Algoritma Perhitungan Langsung pada Cyclic Redundancy Code 32

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

STUDI ALGORITMA ADLER, CRC, FLETCHER DAN IMPLEMENTASI PADA MAC

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

Deteksi dan Koreksi Error

DETEKSI DAN KOREKSI KESALAHAN

RANGKUMAN TEKNIK KOMUNIKASI DATA DIGITAL

Deteksi & Koreksi Kesalahan

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

Deteksi dan Koreksi Error

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

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

BAB IV HASIL PENGUJIAN DAN ANALISIS

KAJIAN CRC32 UNTUK MENDETEKSI PERUBAHAN ISI FILE DOCUMENT

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

Deteksi dan Koreksi Error

Teknik Komunikasi Data Digital

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

DIKTAT MATA KULIAH KOMUNIKASI DATA BAB V DETEKSI DAN KOREKSI KESALAHAN

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

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

IV. RANCANG BANGUN SISTEM. Perangkat lunak bantu yang dibuat adalah perangkat lunak yang digunakan untuk

Blox: Algoritma Block Cipher

Kode Sumber dan Kode Kanal

BAB III ANALISIS MASALAH

JURNAL IT STMIK HANDAYANI

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

KOMPETENSI DASAR : MATERI POKOK : Sistem Bilangan URAIAN MATERI 1. Representasi Data

ANALISIS PERBANDINGAN KINERJA ALGORITMA TWOFISH DAN TEA (TINY ENCRYPTION ALGORITHM) PADA DATA SUARA

BAB III. ANALISIS MASALAH

BAB III ANALISA DAN PERANCANGAN

DAFTAR ISI. DAFTAR ISI... vii. DAFTAR GAMBAR... x. DAFTAR TABEL... xii I. PENDAHULUAN Latar Belakang Rumusan Masalah...

Organisasi File. Rudi Susanto

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENGANTAR KOMPRESI DATA

1. BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

SISTEM BILANGAN DIGITAL

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

DCH1B3 Konfigurasi Perangkat Keras Komputer

BAB III ANALISA MASALAH DAN PERANCANGAN

Arithmatika Komputer. Pertemuan 3

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD April 2018

Algoritma Huffman dan Kompresi Data

REPRESENTASI DATA. Pengantar Komputer Teknik Sipil dan Perencanaan Universitas Gunadarma

BAB IV SISTEM BILANGAN DAN KODE-KODE

PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN

Algoritma Enkripsi Baku Tingkat Lanjut

Pengembangan dan Implementasi Algoritma Tiger

BAB III ANALISIS SISTEM

BAB 2 TINJAUAN PUSTAKA

Implementasi Enkripsi File dengan Memanfaatkan Secret Sharing Scheme

BAB V b SISTEM PENGOLAHAN DATA KOMPUTER (Representasi Data) "Pengantar Teknologi Informasi" 1

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

BAB III PERANCANGAN SISTEM

Pengkajian Metode dan Implementasi AES

BAB I PENDAHULUAN. Kemungkinan terjadinya pengiriman ulang file gambar akibat error, yaitu karena : noise,

BAB II SISTEM BILANGAN DAN KODE BILANGAN

Serial Communication II

PENGAMANAN DATA MENGGUNAKAN METODA ENKRIPSI SIMETRI DENGAN ALGORITMA FEAL

Algoritma Cipher Block EZPZ

BAB II ARITMATIKA DAN PENGKODEAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Algoritma MAC Berbasis Jaringan Syaraf Tiruan

B A B VI DETEKSI DAN KOREKSI ERROR

BAB 2 TINJAUAN PUSTAKA

Konstruksi Kode dengan Redundansi Minimum Menggunakan Huffman Coding dan Range Coding

BAB 2 Tinjauan Teoritis

1 PENDAHULUAN 1.1 Latar Belakang

Aplikasi Penggambar Pohon Biner Huffman Untuk Data Teks

PENERAPAN PENGECEKAN KESALAHAN CRC-16 PADA PENGIRIMAN INFORMASI RUNNING TEXT DARI KOMPUTER KE MIKROKONTROLER

2. Dasar dari Komputer, Sistem Bilangan, dan Gerbang logika 2.1. Data Analog Digital

Sistem Bilangan. Desimal Biner Oktal Heksadesimal

Bab 2 Tinjauan Pustaka

a b a AND b a OR b a XOR b a NOT a

BAB I PENDAHULUAN. Pada era teknologi informasi yang semakin berkembang, pengiriman data

BAB III ANALISIS DAN DESAIN SISTEM

RANCANG BANGUN APLIKASI ANTIVIRUS KOMPUTER DENGAN MENGGUNAKAN METODE SECURE HASH ALGORITHM 1 (SHA1) DAN HEURISTIC STRING

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

BAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi

MAKALAH. Mata Kuliah. Arsitektur dan Organisasi Komputer

Representasi Bilangan dan Operasi Aritmatika

VISUALISASI KINERJA PENGKODEAN MENGGUNAKAN ALGORITMA VITERBI

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

Sistem Digital. Sistem Angka dan konversinya

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

Modifikasi Cipher Block Chaining (CBC) MAC dengan Penggunaan Vigenere Cipher, Pengubahan Mode Blok, dan Pembangkitan Kunci Berbeda untuk tiap Blok

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Penelitian sebelumnya yang ditulis oleh Alen Dwi Priyanto

BAB II. Protocol and Error Handling

PERANCANGAN APLIKASI ENKRIPSI MENGGUNAKAN ALGORITMA IDEA (INTERNATIONAL DATA ENCRYPTION ALGORITHM)

Implementasi Sistem Keamanan File Menggunakan Algoritma Blowfish pada Jaringan LAN

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

BAB II LANDASAN TEORI

DATA COMPRESSION CODING USING STATIC AND DYNAMIC METHOD OF SHANNON-FANO ALGORITHM

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

Chapter 2 part 2 Getting Connected. Muhammad Al Makky

BAB II TEKNIK PENDETEKSIAN KESALAHAN

BAB 4 IMPLEMENTASI DAN EVALUASI. dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1.

BAB 2 LANDASAN TEORI

Representasi Bilangan dan Operasi Aritmatika

BAB III ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem bertujuan untuk mengidentifikasi permasalahan

Transkripsi:

Algoritma Perhitungan Langsung pada Cyclic Redundancy Code 32 1 Swelandiah Endah Pratiwi dan 2 Anna Kurniawati Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma swelandiah@staff.gunadarma.ac.id ana@staff.gunadarma.ac.id Abstraksi Pada dunia telekomunikasi proses pengiriman informasi sangat penting. Adakalanya informasi yang diterima tidak sesuai dengan informasi yang dikirimkan. Penyebabnya adalah terdapat gangguan yang terjadi pada level fisik, yaitu pada media atau saluran komunikasi yang digunakan adanya gangguan radiasi elektromagnetik, cakap silang, petir atau karena adanya gangguan akibat noise. Ada beberapa metode yang dapat digunakan dalam menjaga keaslian suatu informasi, salah satunya adalah metode CRC ( Cyclic Redudancy Check ). Ada beberapa variant pada metode ini tergantung pada bilangan polynomial yang digunakan dalam proses komputasinya. Meskipun CRC tidak cukup aman pada proses kriptografi, tetapi CRC sangat mudah diimplementasikan ke dalam perangkat lunak. Untuk lebih memudahkan proses komputasi, maka diperlukan sebuah algoritma untuk membantu proses encoder pada CRC 32. Pada makalah ini dipaparkan algoritma perhitungan langsung untuk membantu proses encoder pada CRC32 dan pengujian yang dilakukan oleh algoritma tersebut. Pengujian dilakukan dengan menggunakan data sebanyak 50 data. Kata Kunci : CRC 32, Algoritma I. Pendahuluan Proses pengiriman informasi antara pengirim dan penerima dalam dunia telekomunikasi seringkali mempunyai resiko akan terjadinya kesalahan terhadap data yang dikirimkan tersebut. penyebab terjadinya kesalahan adalah adanya gangguan yang terjadi pada level fisik yaitu pada media atau saluran komunikasi yang digunakan, adanya gangguan radiasi elektromagnetik, cakap silang, petir atau karena adanya gangguan akibat noise, [6]. Gangguan tersebut menyebabkan informasi yang diterima pada terminal penerima tidak lagi sesuai dengan apa yang dikirimkan. Mengingat validitas data yang diterima tersebut harus tetap dapat dipertahankan untuk menjaga keaslian dalam proses pertukaran informasi, maka diperlukan suatu cara bagaimana dapat mendeteksi kerusakan data, sehingga dengan demikian pada sisi terminal penerima dapat memperbaiki kesalahan-kesalahan terhadap data tersebut. Banyak metode yang dapat dilakukan untuk proses pendeteksian ini, diantaranya adalah yang berorientasi karakter (Character Oriented Redundacy Chek) seperti Vertical Redundancy Check (VRC), Longitudinal redundancy Check (LRC), Block Check Character (BCC).Dan yang berorientasi bit (Bit Oriented Redundacy Chek ) seperti Cyclic Redundancy Check (CRC), dan Polinomial Codes. Dalam penelitian ini metode yang digunakan adalah CRC ( Cyclic Redudancy Check ) yang mempunyai beberapa varian tergantung pada bilangan polynomial yang digunakan dalam proses komputasinya. Meskipun CRC tidak cukup aman sebagai algoritma kriptografi, tetapi CRC cukup efektif digunakan karena algoritma CRC mudah diimplementasikan dalam hardware maupun software, dan cukup cepat dalam melakukan komputasinya. Untuk mempermudah proses komputasi tersebut, maka diperlukan sebuah algoritmauntuk membantu proses encoder pada CRC 32. II. Tinjauan Pustaka 2.1. CRC (Cyclic Redundancy Code) CRC merupakan teknik untuk mendeteksi kesalahan-kesalahan di dalam data digital, tetapi tidak bisa memperbaiki kesalahan apabila terdeteksi. Teknik ini digunakan di dalam proses pengiriman data.

Pada saat pengiriman data, terkadang data yang yang diterima oleh penerima tidak sesuai dengan data yang dikirimkan. Kondisi ini terjadi karena adanya kerusakan data pada saat proses pengiriman data, disebabkan adanya gangguan yang biasanya terjadi pada media komunikasi. Dengan adanya kerusakan data yang mungkin terjadi, maka untuk mendeteksi kerusakan data tersebut digunakan suatu cara untuk menghitung suatu nilai terhadap data tersebut. Salah satu cara yang digunakan adalah CRC ( Cyclic Redundancy Check ) yang mempunyai beberapa varian bergantung pada bilangan polynomial yang digunakan dalam proses komputasinya. 2.2. Prinsip Kerja CRC Pada intinya prinsip kerja CRC adalah, kita menganggap suatu file yang kita proses sebagai suatu string yang besar, yang terdiri dari bit-bit. Dan kita operasikan suatu bilangan polynomial yang sangat besar. Untuk menghitung nilai CRC, kita membagi bilangan polynomial sebagai representasi dari file, dengan suatu bilangan polynomial kecil yang sudah terdefinisi untuk jenis varian CRC tertentu. Nilai CRC adalah sisa hasil bagi tersebut yang biasa disebut dengan checksum. Setiap pembagian pasti menghasilkan suatu sisa hasil bagi (meskipun bernilai 0 ), tetapi ada perbedaan dalam melakukan pembagian pada perhitungan CRC. Secara umum (prinsip aljabar biasa), pembagian dapat kita lakukan dengan mengurangi suatu bilangan dengan pembaginya secara terus-menerus sampai menghasilkan suatu sisa hasil bagi (yag lebih kecil dari bilangan pembagi). Dari nilai hasil bagi, sisa hasil bagi dan bilangan pembagi kita bias mendapat bilangan yang dibagi dengan mengalikan bilangan pembagi dengan hasil bagi dan menambahkan dengan sisa hasil bagi. Dalam perhitungan CRC, operasi pengurangan dan penjumlahan dilakukan dengan mengabaikan setiap carry yang didapat. Tentu saja hal ini juga akan berpengaruh pada proses pembagian yang menjadi dasar utama dalam melakukan perhitungan CRC. Operasi dalam CRC juga hanya melibatkan nilai 0 dan 1, karena secara umum kita beroperasi dalam level bit. Contoh perhitungan dalam CRC adalah sebagai berikut : dihasilkan. Sedangkan operasi kedua (2) adalah operasi dasar yang akan digunakan dalam proses perhitungan nilai CRC. Nilai carry diabaikan, sehingga operasi pengurangan dan penjumlahan akan menghasilkan suatu nilai yang sama. Kedua operasi ini bisa kita lakukan dengan operasi XOR. Pada proses pembagian yang dilakukan akan tampak sekali bedanya, karena pengurangan yang dilakukan sama seperti malakukan penjumlahan. Nilai hasil bagi diabaikan, jadi hanya sisa hasil bagi (remainder) yang diperhatikan. Dan remainder inilah yang akan menjadi dasar bagi nilai CRC yang dihasilkan. 2.3. Perhitungan CRC Secara Aljabar Untuk melakukan perhitungan CRC terhadap suatu data, maka yang pertama diperlukan adalah suatu bilangan polinom yang akan menjadi pembagi dari data yang akan diolah ( disebut sebagai poly). Dan kita juga menghitung lebar suatu poly, yang merupakan posisi biat tertinggi. Misalkan kita sebut lebar poly adalah W, maka jika kita mempunyai poly 1001, makam W poly tersebut adalah 3. Bit tertinggi ini harus kita pastikan bernilai 1. Dengan mengetahui W secara tepat sangat penting, karena berpengaruh pada jenis CRC yang akan digunakan ( CRC 16, CRC 32, dan lain-lain). Data yang diolah mungkin saja hanya beberapa bit saja, lebih kecil dari nilai poly yang akan digunakan. Hal ini akan menyebabkan kita tidak mengolah semua nilai poly yang telah ditentukan. Untuk mengatasi hal ersebut, dalam perhitungan dasar secara aljabar, kita menambahkan suatu string bit sepanjang W pada data yang akan kita olah. Tujuannya untuk menjamin keseluruhan data dapat kita olah dengan benar. Contoh perhitungan sebagai berikut : Poly = 10011 (Width W = 4) Bitstring + W zeros = 110101101 + 0000 Contoh pembagian yang dilakukan : (1) 1101 (2) 1010 1010 1010-1111+ 1111- ---- ---- ---- 0011 0101 0101 Pada contoh di atas tersebut, operasi pertama (1) adalah operasi umum yang digunakan dalam operasi aljabar, yaitu dengan menghitung nilai carry yang

yang asli mudah kita dapatkan karena nilai CRC sepanjang N-1. b. Data yang asli kita tambah dengan nilai CRC, lalu kita bagi dengan nilai poly, maka sisa hasil bagi adalah 0 jika data benar. Nilai remainder inilah yang menjadi nilai CRC. Pada proses pembagian di atas, kita mendapat hal penting yang perlu diperhatikan dalam perhitungan secara aljabar ini adalah kita tidak perlu melakukan operasi XOR ketika bit tertinggi bernilai 0, tapi kita hanya melakukan pergeseran (shift) sampai didapat bit tertinggi yang bernilai 1. Hal ini akan sedikit mempermudah dan mempercepat operasi aljabar. Secara notasi bias dituliskan sebagai berikut : a ( x). xn = b( x). p( x) + r( x) Keterangan : a (x) :Bilangan polynomial yang merepresentasikan data. xn : Nilai 0 sebanyak W b (x) : hasil bagi yang didapat p (x) : poly r (x) : sisa hasil bagi, nilai CRC 2.4. Pendekatan Tabel CRC Perhitungan nilai CRC yang berbasis bit akan sangat lama dan tidak efisien. Cara tersebut dapat diperbaiki dengan melakukan operasi dengan basis byte. Poly yang digunakan akan dioperasikan dalam bentuk byte, sehingga harus panjang kelipatan 8 bit (byte). Misalkan sebagai contoh dalam memproses CRC 8 bit (1 byte) agar lebih sederhana. Register akan berisi 8 bit, dan pada sekali shift akan menggeser sebanyak 4 bit. Misalkan isi awal register : 10110100 Kemudian 4 bit pertama akan digeser (1011), dan memasukkan 4 bit baru misalkan (1101). Maka 8 bit register sekarang adalah : 01001101 4 bit yang digeser (top bits) : 1011 Polynomial yang digunakan (W=8) : 101011100 Langkah selanjutnya adalah dengan melakukan XOR terhadap isi register dengan polynomial. Top Register 1011 01001101 1010 11100 (*1) operasi XOR dimulai pada bit tertinggi ----------------------+ bernilai 1. 0001 10101101 hasil XOR Karena Top (isi register yang digeser keluar) masih mengandung nilai 1, maka ulangi lagi langkah di atas. 2.5. CRC 32 CRC 32 adalah metode yang digunakan untuk mendeteksi kesalahan dengan menggunakan polynomial 32 bit atau dengan kata lain polynomial 4 byte. Proses perhitungan pada CRC 32 bit adalah sebagai berikut: [6] Karena nilai CRC adalah sisa hasil bagi, maka untuk mengecek integritas data dapat dilakukan dengan beberapa cara, diantaranya : a. Kita hitung nilai CRC dari data yang asli, lalu kita cocokkan dengan nilai CRC yang disimpan (di append dengan data ). Data

4 ruang kosong pada ilustrasi di atas menggambarkan register yang akan kita gunakan untuk menampung hasil CRC sementara (pada proses pembagian yang melibatkan operasi XOR). Proses yang dilakukan pada register ini adalah : 1. Masukkan bitstring (data) ke dalam register dari arah kanan ke kiri (shift per byte) setiap saat register tidak terisi penuh. 2. Jika register sudah terisi penuh (berisi 4 byte), maka geser satu byte kearah kiri (keluar register), dan isi register dari arah kanan dengan 1 byte dari bitstring. 3. Jika register yang digeser keluar punya nilai 1, maka lakukan operasi XOR terhadap keseluruhan isi reister (termasuk yang telah digeser keluar, dimulai dari bit tertinggi yang bernilai 1) dan nilai dari poly. Ulangi langkah ini sampai semua bit dari byte yang tergeser keluar bernilai 0. 4. Ulangi langkah 2 dan 3 sampai semua proses bitstring (data inputan) selesai diproses. Pada CRC 32, untuk setiap byte yang digeser keluar dapat dihitung nilainya yang digunakan dalam operasi XOR dengan isi register. Nilai nilai yang tersimpan di dalam register disebut dengan table CRC. III. Pembahasan Algoritma yang dibuat dapat disebut dengan algoritma penghitungan langsung, karena sebuah byte dari bytestring dioperasikan dengan menggunakan logika XOR secara langsung dengan byte yang digeser keluar dari suatu register. Di bawah ini merupakan diagram alur dari algoritma penghitungan langsung. Gambar 1. Algoritma Perhitungan Langsung Gambar 1 merupakan algoritma dari penghitungan langsung untuk metode CRC 32. Pada algoritma ini yang pertama dilakukan adalah inisialisasi variabel pada register dengan suatu nilai, dengan kata lain inisialisasi CRC umumnya menggunakan bilangan hexa yaitu FFFFFFFF. Dan inisialisasi polynomial standar CRC dalam hal ini menggunakan CRC 32 yaitu EDB88320 dalam bilangan hexa juga. Setelah inisialisai langkah berikutnya adalah pembacaan bytes stream atau paket data yang dikirimkan dari pengirim. Bytes stream ini bisa dalam bentuk string. Maksudnya bahwa data yang dikirimkan dapat berupa kumpulan huruf dan / atau angka serta kumpulan kata. Langkah selanjutnya adalah menghitung nilai CRC sementara untuk setiap byte pada bytes stream yang dikirimkan. Cara menghitung nilai CRC sementara itu adalah dengan melakukan operasi XOR antara nilai CRC yang ada dengan nilai byte yang akan terkirim. Dan melakukan operasi AND dengan FF heksa atau 255. Lalu ulangi pembacaan byte yang akan terkirim sebanyak 8 kali, dengan nilai awal adalah i=0. Selanjutnya adalah mengoperasikan nilai CRC awal yang bernilai 1 dengan operasi AND. Jika nilai CRC sementara bernilai 1 maka nilai CRC sementara tersebut digeser ke kanan 1 bit kemudian nilai tersebut di XOR dengan polynomial standar. Tetapi jika tidak bernilai 1, maka nilai CRC sementara tersebut hanya digeser saja sebanyak 1 bit ke kanan.

Setelah kedua kondisi tersebut terpenuhi terlihat pada diagram alur di atas adanya penyatuan dua kondisi yang berbeda. Menandakan bahwa kedua kondisi tersebut akan diproses selanjutnya. Yaitu proses pembacaan variabel i, dimana adanya suatu kondisi yang menggambarkan apakah i lebih besar dari 8. Kondisi ini menandakan bahwa pembacaan byte sudah diulang sampai i kali. Karena pembacaan byte sebanyak 8 kali, maka kondisi akan menanyakan apakah pembacaan atau variabel i lebih besar dari 8, jika y maka pembacaan stream selesai, tetapi jika t maka proses selanjutnya adalah pembacaan variabel i kembali. IV. Pengujian 4.1. Hasil Pengujian Tabel 4.1 adalah tabel hasil uji coba program dengan 50 sampel paket data yang di bentuk secara berbeda. Dari setiap paket data yang akan dikirimkan tersebut, akan dilihat hasil CRC-nya dengan dua algoritma yang berbeda. Yaitu algoritma penghitungan secara langsung dan algoritma tabel rujukan. No Tabel 1. Hasil Pengujian Paket Data yg Dikirim Nilai CRC yang terbentuk Tabel Rujukan Alg. Penghit. Langsung 1 universitas b3161dba b3161dba 2 gunadarma 44ab7e42 44ab7e42 3 universitas gunadarma 329ea622 329ea622 4 program pasca sarjana c0f65f7c c0f65f7c 5 magister teknik 91f394d7 91f394d7 6 7 elektronika telekomunikasi UNIVERSITAS GUNADARMA 7f3f20fd 8b20b78a 7f3f20fd 8b20b78a 8 Program Pasca Sarjana c597d1b9 c597d1b9 9 MAGISTER TEKNIK 7d77ebdc 7d77ebdc 10 Elektronika Telekomunikasi 7c6f25d4 7c6f25d4 No Paket Data yg Dikirim 4.2. Analisis Hasil Pengujian Nilai CRC yang terbentuk Tabel Rujukan Alg. Penghit. Langsung 11 0123456789 37fad1ba 37fad1ba 12 0123 d5a06ab0 a6669d7d 13 123 884863d2 884863d2 14 234 13792798 13792798 15 345 9406837a 9406837a 16 3456 34f5b50f 34f5b50f 17 567 2c5245d0 2c5245d0 18 678 70782685 70782685 19 0234 898a09e5 898a09e5 20 0453 36b30b56 36b30b56 Setelah pengambilan data yang dilakukan pada 50 sampel paket data yang berbeda, maka terlihat bahwa hasil CRC yang dihasilkan dengan menggunakan kedua algoritma tersebut adalah sama. Dan terlihat juga dengan menggunakan paket data yang sama, tetapi dengan format penulisan yang berbeda ternyata hasil CRC-nya pun berbeda. Ini disebabkan karena kode ASCII antara huruf besar dan kecil berbeda. V. Kesimpulan Dari hasil penelitian yang telah dilakukan, dapat disimpulkan : 1. Algoritma yang digunakan adalah algoritma penghitungan langsung. Karena sebuah byte dari bytestring dioperasikan dengan menggunakan logika XOR secara langsung dengan byte yang digeser keluar dari suatu register. 2. Dengan menggunakan CRC 32, maka inisialisasi polynomial standar CRC 32 adalah EDB88320 dan pembacaan paket data yang dikirimkan (bytestream) sebanyak 8 kali. Karena terdapat 8 byte data yang terbaca oleh CRC. Paket data yang terbaca dituliskan dalam bentuk bilangan hexadecimal.

VI. Daftar Pustaka [1]. Peterson,W.W and Brown, D.T, Cyclic Code For Error Detection, in Proceedings of the IRE, January 1961. [2]. Stigge, Martin. May 2006, Reversing CRC, Theory and Practice [3]. Togneri, R, Dr, Information Theory and Coding 314, Dept. E&E Engineering, University of Western Australia. [4]. Anonim, CRC32.java http://www.cs.princeton.edu/introcs/51data/cr C32.java.html [5]. Anonim, Cyclic redundancy check http://en.wikipedia.org/wiki/cyclic_redundancy _check [6]. Indra SaktiWijayanto, Penggunaan CRC32 dalam Integritas Data http://www.informatika.org/~rinaldi/kriptografi/2 006-2007/Makalah2/Makalah-054.pdf [7]. M. Zaki Riyanto, Kode Siklik, Jurusan Matematika Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Gadjah Mada,Yogyakarta, http://www.wahid.web.ugm.ac.id/paper/cyclic_co des_kode_siklik.pdf [8].http://virologi.info/virologist/modules/news/articl e.php?storyid=6