TEKNIK PENDETEKSIAN KERUSAKAN FILE DOKUMEN
DENGAN METODE CYCLIC REDUNDANCY CHECK 32
(CRC32)
SKRIPSI
PUTRI HARTARY HARAHAP
061401062
PROGRAM STUDI SARJANA ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
TEKNIK PENDETEKSIAN KERUSAKAN FILE DOKUMEN
DENGAN METODE CYCLIC REDUNDANCY CHECK 32
(CRC32)
SKRIPSI
PUTRI HARTARY HARAHAP
061401062
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
TEKNIK PENDETEKSIAN KERUSAKAN FILE DOKUMEN DENGAN METODE CYCLIC REDUNDANCY CHECK 32
(CRC32)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
PUTRI HARTARY HARAHAP 061401062
PROGRAM STUDI SARJANA ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : TEKNIK PENDETEKSIAN KERUSAKAN FILE DOKUMEN DENGAN METODE CYCLIC REDUNDANCY CHECK 32 (CRC32)
Kategori : SKRIPSI
Nama : PUTRI HARTARY HARAHAP
Nomor Induk Mahasiswa : 061401062
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan,
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Agus Salim Harahap, M.Si Prof. Dr. Muhammad Zarlis NIP 195408281981031004 NIP 195707011986011003
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
TEKNIK PENDETEKSIAN KERUSAKAN FILE DOKUMEN DENGAN METODE CYCLIC REDUNDANCY CHECK 32 (CRC32)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 23 Juni 2010
PENGHARGAAN
Segala puji dan syukur penulis ucapkan kepada Allah SWT yang melimpahan Rahmat dan Karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir ini. Shalawat dan salam kepada Rasulullah Muhammad SAW.
Pada kesepatan ini, penulis menyampaikan rasa terima kasih dan penghargaan yang sebesar-besarnya kepada Bapak Prof. Dr. Muhammad Zarlis selaku pembimbing pertama dan Bapak Drs. Agus Salim Harahap M.Si selaku pembimbing kedua yang telah banyak meluangkan waktunya dalam memberikan pengarahan dengan kesabaran dan penuh kepercayaan kepada penulisan skripsi ini. Ucapan terima kasih juga ditujukan kepada Bapak Syahril Efendi, S.Si,MIT, dan Bapak Drs. Muhammad Firdaus,M.Si selaku dosen pembanding yang telah banyak memberikan petunjuk, saran, dan kritik dalam menyelesaikan skripsi ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Departemen Ilmu Komputer, Prof. Dr. Muhammad Zarlis dan Syahriol Sitorus, S.Si, MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Ilmu Komputer FMIPA USU, dan pegawai di Ilmu Komputer FMIPA USU. Tidak lupa penulis mengucapkan terima kasih kepada yang teristimewa Ayahanda Drs.Ahmad Sofyan Harahap, dan Ibunda Basariah Hanum Tarihoran yang sangat saya sayangi yang telah memberikan segala pengorbanan yang tak pernah bisa dinilai harganya, serta kakak, Abang dan Adik tercinta yang telah memberikan dukungan dan semangat dalam menyelesaikan skripsi ini,buat teman teman saya seluruh rekan-rekan kuliah angkatan ‘06, khususnya Atika Sari Alam Nasution, Habrul Leini Lubis yang selalu membantu dan memberi semangat selama proses skripsi ini dikerjakan.
ABSTRAK
2.6.3 Komponen Visual Basic 25
Bab 4 Implementasi dan Pengujian
4.1 Implementasi 35
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 44
5.2 Saran 44
Daftar Pustaka 46
DAFTAR GAMBAR
Halaman
Gambar 2.1 Contoh File RTF 10
Gambar 2.2 Contoh File DOC 11
Gambar 2.3 Contoh File PDF 12
Gambar 2.4 Bentuk Windows Explorer Dalam Windows 14 Gambar 2.5 Pemetaan File Ke Memori Komput er 15
Gambar 2.6 Struktur Direktori 16
Gambar 2.7 Prinsip Kerja Checksum 19
Gambar 2.8 Proses Perhitungan Checksum Pada CRC32 21
ABSTRAK
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi komputer telah banyak membantu aktivitas manusia. Salah satu
aktivitas yang sangat dipengaruhi oleh perkembangan ini adalah pencatatan data dan
informasi. Dengan menggunakan komputer, pencatatan data dan informasi menjadi
bersifat elektronik dalam bentuk dokumen digital sehingga lebih gampang dalam
mengakses serta cepat dan penyampaian informasi yang dibutuhkan.
Dokumen-dokumen digital ini dihasilkan dengan menggunakan aplikasi-aplikasi
pengolah kata seperti microsoft word atau notepad menjadi sebuah file dengan ekstensi
yang berbeda sesuai dengan aplikasi pengolah kata yang digunakan.
Seperti halnya dokumen yang bersifat manual, dokumen-dokumen digital ini tidak
terlepas dari bahaya kerusakan. Salah satu kerusakan yang sering terjadi pada dokumen
digital adalah perubahan yang terjadi didalam dokumen tersebut akibat dari serangan
virus atau pemadaman komputer dengan paksa. Kerusakan pada dokumen ini biasanya
ditandai dengan perubahan pengaturan halaman, ukuran font, perubahan sebagian atau
seluruh isi dokumen sampai tidak dapatnya dokumen digital dibuka sama sekali.
Kerusakan yang diakibatkan oleh virus maupun pemadanan komputer secara
berubah ini mengakibatkan informasi yang dibaca pada saat dokumen digital dibuka
berubah dari aslinya. Cluster-cluster ini merupakan informasi penting yang dibutuhkan
sistem untuk dapat mengenali identitas dokumen digital serta isi dari dokumen digital
tersebut. Perubahan cluster ini sangat menggangu pengguna apabila dokumen digital
yang terkena kerusakan merupakan dokumen yang penting.
CRC32 (Cyclic Redundancy Check 32 Bit) merupakan suatu metode yang
menggunakan fungsi hash dalam membaca sebuah struktur dalam sebuah file dalam
transmisi atau penyimpanan sebuah data. CRC32 dapat digunakan untuk mendeteksi
error (kerusakan) pada sebuah data yang mungkin terjadi pada saat transmisi data atau
pengiriman data. Metode ini menghitung nilai checksum dari panjang bit sebuah data
yang kemudian membandingkannya dengan aturan CRC dengan menggunakan kunci 32
bit untuk mendeteksi apakah data tersebut mengalami kerusakan atau tidak.
Dengan menggunakan CRC32, dapat dirancang sebuah perangkat lunak yang
dapat mendeteksi kerusakan pada sebuah dokumen digital sehingga kerusakan dapat
ditangani lebih dini dan tidak menyebar ke dokumen-dokumen digital yang lain.
Berdasarkan uraian diatas, penulis ingin merancang sebuah perangkat lunak
dengan menggunakan teknik CRC32 ini untuk melakukan deteksi terhadap kerusakan
dokumen digital dan menuangkannya dalam sebuh tugas akhir dengan judul “TEKNIK
1.2. Rumusan Masalah
Perumusan masalah dalam penulisan skripsi ini adalah bagaimana merancang sebuah
perangkat lunak yang dapat mendeteksi kerusakan terhadap kerusakan sebuah dokumen
digital dengan menggunakan metode CRC32.
1.3. Batasan Masalah
Adapun yang menjadi batasan masalah dalam penulisan skripsi ini adalah :
1. Dokumen digital yang dapat dideteksi adalah dokumen digital dengan format
DOC(dokumen) yang dihasilkan dari aplikasi Microsoft word 2000 atau Microsoft
word 2003 dengan kondisi tidak mengandung password didalamnya.
2. Metode yang digunakan adalah CRC32 (Cyclic Redundancy Check) yang dibatasi
pada CRC yang menggambarkan isi sebuah file dalam ukuran 32 bit.
3. Perangkat lunak hanya dibatasi untuk mendeteksi kerusakan, tidak untuk
memperbaiki kerusakan yang terjadi pada dokumen digital tersebut.
4. Dalam merancang perangkat lunak, peneliti menggunakan bahasa pemrograman
1.4 Tujuan Penelitian
Adapun tujuan dari penulisan tugas akhir ini adalah :
1. Untuk mengetahui bagaimana cara kerja metode CRC32 dalam melakukan deteksi
pada sebuah dokumen digital.
2. Untuk merancang sebuah perangkat lunak yang dapat mendetksi kerusakan pada
sebuah dokumen digital dengan format DOC dengan menggunakan metode CRC32.
1.5 Manfaat Penelitian
Sedangkan manfaat yang diharapkan dari penulisan skripsi ini adalah membantu dalam
melakukan pendeteksian terhadap kerusakan dokumen digital pengguna komputer.
1.6 Metode Penelitian
Adapun metode penelitian yang digunakan dalam penulisan skripsi ini adalah :
1. Studi literatur: Metode ini dilaksanakan dengan melakukan studi kepustakaan melalui
hasil penelitian lainnya yang relevan serta buku-buku maupun artikel–artikel yang
didapatkan melalui internet
2. Analisis: Pada tahap ini dilakukan analisis permasalahan yang ada, batasan yang
dimiliki dan kebutuhan yang diperlukan.
3. Pengujian: Pada tahap ini dilakukan pengujian terhadap aplikasi yang telah dirancang
I.7 Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut:
BAB 1 : PENDAHULUAN
Bab ini berisi pembahasan masalah umum yang meliputi latar belakang
pemilihan judul skripsi, rumusan masalah, batasan masalah, tujuan penelitian,
manfaat penelitian, metode penelitian, dan sistematika penulisan.
BAB 2 : LANDASAN TEORI
Bab ini berisi dasar teori yang berfungsi sebagai sumber atau alat dalam
memahami permasalahan yang berkaitan dengan pengertian dokumen digital,
sistem file, fungsi hash, Checksum, CRC 32 serta alat bantu pengembangan
sistem.
BAB 3 : ANALISIS DAN DESAIN
Bab ini berisi analisis mengenai perangkat lunak yang dirancang seperti analisa
metode CRC 32, fasilitas perangkat lunak, kebutuhan perangkat lunak dan
desain antar muka perangkat lunak.
BAB 4 : IMPLEMENTASI PROGRAM
Bab ini berisi tentang implementasi hasil analisis dan desain perangkat lunak
lunak yang dihasilkan serta pembahasan mengenai kelebihan dan kekurangan
sistem tersebut.
BAB 5 : KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan yang penulis peroleh mengenai perangkat
lunak pendeteksi kerusakan file dengan CRC 32 serta saran dari penulis untuk
BAB 2
LANDASAN TEORI
2.1. Dokumen Digital
Menurut Wikipedia, dokumen adalah sebuah tulisan yang memuat data dan informasi.
Biasanya, dokumen ditulis di kertas dan informasinya ditulis memakai tinta baik
memakai tangan atau memakai media elektronik (seperti printer).
Dokumen merupakan suatu sarana transformasi informasi dari satu orang ke
orang lain atau dari suatu kelompok ke kelompok lain. Dokumen meliputi berbagai
kegiatan yang diawali dengan bagaimana suatu dokumen dibuat, dikendalikan,
diproduksi, disimpan, didistribusikan, dan digandakan. Dokumen sangat penting, baik
dalam kehidupan sehari-hari, organisasi, maupun bisnis. (Hariyanto, 2009)
Dokumen digital merupakan setiap informasi elektronik yang dibuat, diteruskan,
dikirimkan, diterima, atau disimpan dalam bentuk analog, digital, elektromagnetik,
optikal, atau sejenisnya, yang dapat dilihat, ditampilkan dan/atau didengar melalui
komputer atau sistem elektronik, termasuk tetapi tidak terbatas pada tulisan, suara atau
gambar, peta, rancangan, foto atau sejenisnya, huruf, tanda, angka, kode akses, simbol
atau perforasi yang memiliki makna atau arti atau dapat dipahami oleh orang yang
Dokumen digital dapat dihasilkan dengan menggunakan aplikasi pengolah kata
(word processor) seperti Microsoft Word, Notepad atau OpenOffice untuk menghasilkan
sebuah berkas komputer dengan ekstension yang berbeda-beda sesuai dengan aplikasi
pengolah kata yang digunakan.
2.1.1 Pengolahan Dokumen Digital
Untuk mengolah suatu dokumen digital, dibutuhkan perangkat lunak (software) khusus
yang sering disebut dengan perangkat lunak pengolah kata (Word Processor). Perangkat
lunak pengolah kata adalah suatu aplikasi komputer yang digunakan untuk menyusun,
menyunting, memformat dan mencetak segala jenis bahan yang dapat dicetak. Adapun
contoh dari perangkat lunak pengolah kata yang sering digunakan adalah Microsoft
Word, OpenOffice.org Writer, Adobe Acrobat dan Foxit PDF Creator. (Hariyanto, 2009).
1. Microsoft Word
Microsoft Word atau sering disebut dengan Microsoft Office Word adalah perangkat
lunak pengolah kata (word processor) yang diproduksi oleh Microsoft. Perangkat lunak
ini pertama diterbitkan pada tahun 1983 dengan nama Multi-Tool Word untuk Xenix.
Seiring dengan perkembangan zaman, versi-versi lain kemudian dikembangkan untuk
berbagai sistem operasi, misalnya DOS (1983), Apple Macintosh (1984), SCO UNIX,
OS/2, dan Microsoft Windows (1989). Perangkat lunak ini kemudian berubah nama
menjadi Microsoft Office Word setelah menjadi bagian dari Microsoft Office System 2003
dan 2007.
Konsep yang digunakan oleh Microsoft Office Word adalah WYSIWYG (What
yang sedang disunting akan terlihat sama persis dengan hasil keluaran akhir, yang
mungkin berupa dokumen yang dicetak, halaman web, slide presentasi, atau bahkan
sebuah animasi bergerak.
Microsoft Office Word merupakan perangkat lunak pengolah kata pertama yang
mampu menampilkan tulisan cetak miring atau cetak tebal pada IBM PC sementara
perangkat lunak pengolah kata lain hanya menampilkan teks dengan kode markup dan
warna untuk menandai pemformatan cetak tebal atau miring.
2. OpenOffice.org Writer
OpenOffice.org Writer adalah salah satu komponen dalam OpenOffice.org yang
berfungsi untuk mengedit dokumen adapun dokumen format yang bisa digunakan adalah
.doc .odt .rtf dan dapat dikonversi dalam bentuk .pdf dengan sekali klik.
OpenOffice.org Writer memiliki fitur pengolah kata modern seperti AutoCorrect,
AutoComplete, AutoFormat, Styles and Formatting, Text Frames, Linking, Tables of
Contents, Indexing, Bibliographical References, Illustrations dan Tables.
Perangkat lunak ini sangat mudah digunakan untuk membuat memo cepat, sangat
stabil dan mampu untuk membuat dokumen dengan banyak halaman serta banyak gambar
dan judul heading. Selain itu, kelebihannya adalah pengaturan formating untuk bullet and
3. Foxit PDF Creator
Foxit PDF Creator merupakan sebuah perangkat lunak pengolah kata yang cepat dan
mudah dalam membuat dokumen digital dengan format PDF dan mampu mengubah
dokumen digital dengan format DOC, XLS, PPT, TXT, E-MAIL atau HTML ke format
PDF.
Foxit PDF Creator menyediakan cara cepat dan dapat diandalkan untuk membuat
dokumen PDF sehingga membantu penggunanya untuk menghasilkan file PDF yang
akurat dalam waktu yang singkat dengan tetap mempertahankan tata letak asli dokumen
digital yang dikonversi.
Dengan kemampuan pencarian yang kuat dan kinerjanya yang tinggi, Foxit PDF
Creator mampu menampilkan dan mengolah PDF dalam ukuran yang kecil, dalam waktu
yang cepat dan tingkat akurasi yang tinggi menjadi format yang diinginkan pengguna.
4. Adobe Acrobat
Adobe Acrobat merupakan sebuah perangkat lunak pengolah kata yang dapat
mengkonversi suatu dokumen digital menjadi sebuah file dalam format PDF.
Dokumen digital yang dihasilkan oleh adobe acrobat dapat ditampilkan pada
sebuah web browser dengan tampilan dan isi yang sama dengan dokumen aslinya. Adobe
Acrobat menyediakan tools keamanan untuk membatasi akses terhadap file hasil
konversi, misalnya mencegah orang lain untuk melakukan pencetakan atau pengubahan
adobe reader hanya dapat membaca file PDF tanpa dapat mengkoversi suatu file ke
format PDF.
2.1.2 Format Dokumen Digital
Dokumen digital memiliki beberapa format sesuai dengan perangkat lunak pengolahan
yang digunakan untuk menghasilkan dokumen digital tersebut. Adapun beberapa jenis
format dokumen digital yang sering dijumpai pada komputer adalah DOC, RTF dan PDF.
(Tanenbaum, 1990).
1. RTF (Rich Text Format)
Rich Text Format (RTF) adalah sebuah format dokumen yang dibuat oleh Microsoft,
yang dibuat berdasarkan spesifikasi Document Content Architecture (DCA) yang dibuat
oleh IBM untuk System Network Architecture (SNA). Format dokumen ini, dapat
digunakan untuk mentransfer dokumen teks terformat antar aplikasi, baik itu di dalam
satu platform atau platform yang berbeda seperti IBM PC dan Macintosh.
Meskipun termasuk ke dalam kelas dokumen teks terformat, format RTF ini tetap
menggunakan standar pengodean ANSI ASCII, PC-8, Macintosh, Unicode atau IBM PC
Character Set untuk mengontrol representasi dan pemformatan dari sebuah dokumen,
baik itu ketika ditampilkan di layar ataupun ketika dicetak di atas kertas.
Meskipun hanya berisi teks biasa, format ini dapat mendukung grafik dan tabel
dalam sebuah dokumen, meski jika dalam dokumen terdapat gambar, ukurannya jauh
lebih besar jika dibandingkan dengan format biner seperti format dokumen biner
tampilan dari file RTF yang diolah menggunakan Microsoft Word seperti terlihat pada
Gambar 2.1.
Gambar 2.1 Contoh File RTF
2. DOC (Document)
DOC (document) merupakan jenis file untuk dokumen yang dibuat dengan perangkat
lunak pengolah kata seperti Microsoft Word, Open Office Writer atau Abiword. Format
file ini sangat populer dari dulu sampai sekarang dan sudah menjadi standard bagi format
dokumen digital. Adapun contoh file DOC yang diolah menggunakan Microsoft Word
Gambar 2.2 Contoh File DOC
3. PDF (Portable Document Format)
PDF (Portable Document Format) adalah sebuah format berkas yang dibuat oleh Adobe
System pada tahun 1993 untuk keperluan pertukaran dokumen digital. Format PDF
digunakan untuk merepresentasikan dokumen dua dimensi yang meliputi teks, huruf,
citra dan grafik vektor dua dimensi.
Antarmuka dokumen PDF pada umumnya tersusun atas kombinasi teks, grafik
vektor, dan grafik raster. Grafik vektor digunakan untuk menampilkan ilustrasi yang
terbentuk dari garis dan kurva, sedangkan grafik raster digunakan untuk menampilkan
mendukung hyperlink, forms, javascript, dan berbagai kemampuan lain yang dapat
didukung dengan melakukan penambahan plugin. Dokumen PDF versi 1.6 telah memiliki
kemampuan untuk menampilkan grafik tiga dimensi interaktif.
Berkas PDF dapat dibuat secara spesifik agar dapat diakses oleh orang-orang
dengan cacat/keterbatasan fisik. Format berkas PDF dapat dilengkapi dengan label (tag)
XML, teks ekuivalen, perbesaran visual teks (magnifier), penambahan fasilitas
audio/suara, dan sebagainya. Berkas PDF dapat disandikan sehingga untuk dapat
membuka atau mengeditnya diperlukan katakunci tertentu. Penyandian berkas PDF
dilakukan dalam dua tingkat, yakni 40-bit dan 128-bit dengan menggunakan sistem sandi
kompleks RC4 dan MD5. Berkas PDF juga dapat diberi pembatasan DRM untuk
membatasi aktivitas penggandaan, penyuntingan, maupun pencetakan berkas tersebut.
Adapun contoh file PDF yang diolah menggunakan Foxit Reader seperti terlihat pada
Gambar 2.3 Contoh File PDF
2.2 Sistem File
File adalah entitas dari data yang disimpan didalam sistem file yang dapat diakses dan
diatur oleh pengguna. Sebuah file memiliki nama yang unik dalam direktori di mana ia
berada. Alamat direktori dimana suatu berkas ditempatkan diistilahkan dengan path.
Sebuah file berisi aliran data (atau data stream) yang berisi sekumpulan data yang
saling berkaitan serta atribut berkas yang disebut dengan properties yang berisi informasi
mengenai file yang bersangkutan seperti informasi mengenai kapan sebuah berkas dibuat.
Sistem file (File System) adalah metode untuk memberi nama pada file dan
meletakkannya pada media penyimpanan. Semua sistem operasi mulai dari DOS,
Windows, Macintosh dan turunan UNIX memiliki sistem file sendiri untuk meletakkan
file dalam sebuah struktur hirarki.
Contoh dari sistem file termasuk di dalamnya FAT, NTFS, HFS dan HFS+, ext2,
ext3, ISO 9660, ODS-5, dan UDF. Beberapa sistem file antara lain juga journaling file
system atau versioning file system. Sistem file juga menentukan konvensi penamaan
berkas dan peletakan berkas pada stuktur direktori.
2.2.1 Manajemen Sistem File
Sistem file akan memberikan sebuah nama terhadap sebuah file agar dapat dikelola
dengan mudah. Meski oleh sistem file penamaan dilakukan dengan menggunakan
angka-angka biner, sistem operasi dapat menerjemahkan angka-angka-angka-angka biner tersebut menjadi
karakter yang mudah dipahami.
File dalam komputer secara fisik dapat diatur oleh sistem file yang digunakan
oleh media penyimpanan di mana berkas disimpan. Secara logis, pengguna membutuhkan
sebuah utilitas untuk melakukan manajemen berkas, yang sering disebut sebagai File
Manager atau manajer file. Contoh dari file manager adalah Windows Explorer, seperti
terlihat pada Gambar 2.4, Norton Commander, Konqueror, Nautilus, Midnight
Gambar 2.4 Bentuk Windows Explorer Dalam Windows
Dalam sebuah sistem operasi, tugas sistem file meliputi pencarian direktori untuk
masukan yang berhubungan dengan file. Untuk menghindari pencarian tetap, beberapa
sistem akan membuka file bila file tersebut aktif pertama kali. Sistem operasi menyimpan
tabel kecil yang berisi informasi tentang semua file yang terbuka (open-file table). Dalam
hal ini, sistem file melakukan pemetaan file tersebut kedalam memori , seperti terlihat
pada Gambar 2.5, agar file dapat ditampilkan kepada pengguna. Bila file tidak digunakan
lagi, dilakukan penutupan oleh proses dan sistem operasi memindahkan file dari open-file
Gambar 2.5 Pemetaan File Ke Memori Komputer
2.2.2 Metode Akses Sistem File
Dalam mengakses sebuah file, sistem file menggunakan dua jenis metode yaitu metode
akses berurutan (sequential access) dan metode akses langsung (direct access).
(Hariyanto, 2003)
1. Sequential Access
Akses berurutan merupakan metode akses paling sederhana. Informasi pada file diproses
berdasarkan model tape dari suatu file yang bekerja dengan perangkat sequential-access
atau random-access. Adapun bentuk skema metode sequential access seperti terlihat pada
Gambar 2.6.
Operasi read membaca bagian selanjutnya dari file dan otomatis menambah file
pointer yang melacak lokasi I/O. Operasi write menambah ke akhir file dan ke akhir
material pembacaan baru (new end of file). File dapat di-reset ke awal dan sebuah
program untuk meloncat maju atau mundur ke n record.
2. Direct Access
File merupakan logical record dengan panjang tetap yang memungkinkan program
membaca dan menulis record dengan cepat tanpa urutan tertentu. Metode akses
langsung berdasarkan model disk dari suatu file, memungkinkan acak ke sembarang blok
file, memungkinkan blok acak tersebut dibaca atau ditulis.
Operasi file dimodifikasi untuk memasukkan nomor blok sebagai parameter.
Nomor blok ditentukan user yang merupakan nomor blok relatif, misalnya indeks relatif
ke awal dari file. Blok relatif pertama dari file adalah 0, meskipun alamat disk absolut
aktual dari blok misalnya 17403 untuk blok pertama. Metode ini mengijinkan sistem
operasi menentukan dimana file ditempatkan dan mencegah user mengakses posisi dari
2.2.3 Organisasi Sistem File
Setiap file dalam komputer tersimpan dalam sebuah direktori. Direktori adalah kumpulan
titik yang berisi informasi tentang semua file, seperti terlihat pada Gambar 2.6.
Gambar 2.6 Struktur Direktori
Untuk mengatur semua data dalam direktori, sistem file menggunakan organisasi
yg dilakukan dalam dua bagian. Pertama, sistem file dipecah ke dalam partisi, yang
disebut juga minidisk (pada mesin IBM) atau volume (pada mesin PC dan Macintosh).
Setiap disk pada sistem berisi sedikitnya satu partisi, merupakan struktur low-level
dimana file dan direktori berada. Terkadang, partisi digunakan untuk menentukan
beberapa daerah terpisah dalam satu disk, yang diperlakukan sebagai perangkat
penyimpan yang terpisah. Sistem lain menggunakan partisi yang lebih besar dari sebuah
disk untuk mengelompokkan disk ke dalam satu struktur logika.
Kedua, setiap partisi berisi informasi mengenai file di dalamnya. Informasi ini
disimpan pada entry dalam device directory atau volume table of contents. Direktori
menyimpan informasi seperi nama, lokasi, ukuran dan tipe untuk semua file dari partisi
2.3 Fungsi Hash
Hashing adalah transformasi aritmatik sebuah string dari karakter menjadi nilai yang
merepresentasikan string aslinya. Menurut bahasanya, hash berarti memenggal dan
kemudian menggabungkan.
Hashing digunakan sebagai metode untuk menyimpan data dalam sebuah array
agar penyimpanan data, pencarian data, penambahan data, dan penghapusan data dapat
dilakukan dengan cepat. Ide dasarnya adalah menghitung posisi record yang dicari dalam
array, bukan membandingkan record dengan isi pada array.
2.3.1 Pengertian Fungsi Hash
Fungsi yang mengembalikan nilai atau kunci disebut fungsi hash (hash function) dan
array yang digunakan disebut tabel hash (hash table). Secara teori, kompleksitas waktu
(T(n)) dari fungsi hash yang ideal adalah O(1). Untuk mencapai itu setiap record
membutuhkan suatu kunci yang unik.
Fungsi hash menyimpan nilai asli atau kunci pada alamat yang sama dengan nilai
hashnya. Pada pencarian suatu nilai pada tabel hash, yang pertama dilakukan adalah
menghitung nilai hash dari kunci atau nilai aslinya, kemudian membandingkan kunci
atuau nilai asli dengan isi pada memori yang beralamat nomor hashnya. Dengan cara ini,
pencarian suatu nilai dapat dilakukan dengan cepat tanpa harus memeriksa seluruh isi
Hash function atau fungsi hash adalah suatu cara menciptakan fingerprint
dari berbagai data masukan. Hash function akan mengganti atau mentranspose-kan data
tersebut untuk menciptakan fingerprint, yang biasa disebut hash value. Hash value
biasanya digambarkan sebagai suatu string pendek yang terdiri atas huruf dan
angka yang terlihat random (data biner yang ditulis dalam notasi heksadesimal).
Suatu hash function adalah sebuah fungsi matematika, yang mengambil sebuah
panjang variabel string input, yang disebut pre-image dan mengkonversikannya ke
sebuah string output dengan panjang yang tetap dan biasanya lebih kecil, yang disebut
message digest5. Hash function digunakan untuk melakukan fingerprint pada pre-image,
yaitu menghasilkan sebuah nilai yang dapat menandai (mewakili) pre-image
sesungguhnya.
2.4 Checksum
Checksum adalah teknologi untuk menandai sebuah file, dimana setiap file yang sama
harus memiliki checksum yang sama, dan bila nilai checksumnya berbeda meskipun satu
bit saja, maka file tersebut merupakan file yang berbeda walaupun memiliki nama file
yang sama. (Anhar, 2009).
Checksum digunakan untuk verifikasi suatu data yang disimpan atau yang dikirim
dan diterima. Setiap kali terjadi proses pengiriman data, checksum akan mengenali file
tersebut untuk melihat apakah data yang diterima sudah sesuai dengan data yang
dikirimkan. Fungsi inilah yang menjadikan checksum sangat efektif untuk melakukan
Checksum akan membaca ulang, menghitung dan membandingkan file yang
diterima dengan file yang ditransfer. Bila ada perbedaan nilai, maka checksum akan
menganggap bahwa telah terjadi kesalahan, distorsi atau korupsi selama penyimpanan
atau pengiriman.
Fungsi checksum akan selalu menghasilkan checksum dengan panjang yang tetap
dan cukup identik satu sama lain. Dengan kata lain, bila pesan yang dimasukan berbeda,
maka checksum-nya juga akan berbeda. Adapun bentuk dari mekanisme checksum seperti
terlihat pada Gambar 2.12. (Setiawan, 2009)
2.5 CRC 32 (Cyclic Redundancy Check 32)
CRC (Cyclic Redundancy Check) adalah algoritma untuk memastikan integritas data dan
mengecek kesalahan pada suatu data yang akan ditransmisikan atau disimpan. Data yang
hendak ditransmisikan atau disimpan ke sebuah media penyimpanan rentan sekali
mengalami kesalahan, seperti halnya noise yang terjadi selama proses transmisi atau
memang ada kerusakan perangkat keras. (Narapratama, 2006).
CRC dapat digunakan untuk memastikan integritas data yang hendak
ditransmisikan atau disimpan. CRC bekerja secara sederhana, yakni dengan
menggunakan perhitungan matematika terhadap sebuah bilangan yang disebut sebagai
Checksum, yang dibuat berdasarkan total bit yang hendak ditransmisikan atau yang
hendak disimpan.
Dalam transmisi jaringan, khususnya dalam jaringan berbasis teknologi Ethernet,
checksum akan dihitung terhadap setiap frame yang hendak ditransmisikan dan
ditambahkan ke dalam frame tersebut sebagai informasi dalam header atau trailer.
Penerima frame tersebut akan menghitung kembali apakah frame yang ia terima
benar-benar tanpa kerusakan, dengan membandingkan nilai frame yang dihitung dengan nilai
frame yang terdapat dalam header frame. Jika dua nilai tersebut berbeda, maka frame
tersebut telah berubah dan harus dikirimkan ulang.
CRC didesain sedemikian rupa untuk memastikan integritas data terhadap
dan lain-lain). CRC tidak menjamin integritas data dari ancaman modifikasi terhadap
perlakukan yang mencurigakan oleh para hacker, karena memang para penyerang dapat
menghitung ulang checksum dan mengganti nilai checksum yang lama dengan yang baru.
(Wijayanto, 2006).
CRC32 merupakan salah satu algoritma Cyclic Redundancy Check yang
menghasilkan checksum sebesar 32 bit. Prinsip utama yang digunakan CRC32 adalah
dengan melakukan pembagian polinomial dengan mengabaikan bit-bit carry.
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).
Dalam penghitungan CRC, operasi pengurangan dan penjumlahan dilakukan
dengan melakukan operasi XOR pada bit-bit, jika operasi tersebut ekivalen dengan
operasi pengurangan pada aljabar biasa. Perhitungan CRC juga mengabaikan bit carry
setelah bit tersebut melewati suatu operasi. Adapun proses penghitungan checksum pada
Gambar 2.8 Proses Perhitungan Checksum Pada CRC32
Pada CRC32, generator pembagi data sering disebut generator polinomial karena
nilai pembagi ini dapat direpresentasikan dalam bentuk polinomial peubah banyak,
tergantung pada jenis atau nilai pembagi yang digunakan.
Berdasarkan analisa yang penulis lakukan terhadap proses kerja CRC 32 dalam
melakukan pendeteksian kerusakan terhadap sebuah file, penulis menemukan kelebihan
dari metode ini, yaitu :
1. CRC 32 merupakan metode yang sangat akurat dalam mendeteksi kerusakan terhadap
sebuah file. Dengan menggunakan nilai checksum sebuah file, dimana nilai checksum
merupakan identitas file tersebut, metode ini dapat mendeteksi perubahan-perubahan
yang terjadi pada file tersebut.
2. CRC 32 merupakan metode yang sangat cocok untuk digunakan dalam mendeteksi
kerusakan sebuah file yang disebabkan oleh serangan virus. Karena sebagian besar
virus menyerang file dengan cara mengubah nilai checksum file tersebut, untuk
mengubah atribut file atau mengubah struktur file yang terinfeksi, CRC 32 dapat
mendeteksi pada bagian mana perubahan yang terjadi pada file berdasarkan hasil
perbandingan fungsi hash dari nilai cheksum file tersebut dengan nilai checksum yang
diperoleh dari registry sistem.
3. Karena kemampuannya dalam mendeteksi perubahan yang terjadi pada sebuah file
berdasarkan nilai checksum file tersebut,CRC 32 dapat dijadikan sebagai tameng
untuk mencegah sebuah virus menyerang sistem komputer. Karena sebagian besar
virus menggunakan sebuah file autorun untuk menginfeksi sistemkomputer, CRC 32
dapat digunakan untuk mendeteksi dan menangkal setiap file yang tidak terdaftar
dalam registry sistem sehingga tidak memperoleh akses untuk memasuki sistem.
Walaupun memiliki kemampuan yang sangat baik dalam mendeteksi kerusakan terhadap
suatu file, CRC 32 memiliki beberapa kelemahan sebagai berikut :
1. CRC 32 tidak dapat mendeteksi kerusakan dua atau lebih file sekaligus. Hal ini dapat
mengakibatkan waktu pendeteksian yang sangat lama bila file yang ada dalam satu
folder atau drive memiliki jumlah yang sangat banyak.
2. CRC 32 tidak dapat mendeteksi dengan baik file yang memiliki nilai fungsi hash
diatas 32 bit. Pada pendeteksian kerusakan sebuah file yang memiliki nilai fungsi
hash 128, 192 atau 256 bit hasil yang diperoleh tidak akan seakurat file yang memiliki
nilai fungsu hash 32 bit kebawah.
2.6 Visual Basic 6.0
Dalam perancangan perangkat lunak simulasi sistem validasi kartu kredit ini, penulis
menggunakan bahasa pemrograman Microsoft Visual Basic 6.0. Berikut ini teori-teori
penunjang seputar Microsoft Visual Basic 6.0, seperti pengertian Visual Basic, sejarah
Visual Basic, Komponen Visual Basic serta Variabel dan Tipe Data Visual Basic.
2.6.1 Pengertian Visual Basic
Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah bahasa
pemrograman yang bersifat event driven dan menawarkan Integrated Development
Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi
Microsoft Windows dengan menggunakan model pemrograman Common Object Model
aplikasi komputer berbasis grafik dengan cepat, akses ke basis data menggunakan Data
Access Objects (DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO),
serta menawarkan pembuatan kontrol ActiveX dan objek ActiveX. Beberapa bahasa skrip
seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition
(VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda.
Para programmer dapat membangun aplikasi dengan menggunakan
komponen-komponen yang disediakan oleh Microsoft Visual Basic. Program-program yang ditulis
dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi
fungsi eksternal tambahan.
Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat
luas, dalam sebuah survei yang dilakukan pada tahun 2005, 62% pengembang perangkat
lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++,
JavaScript, C# dan Java.
2.6.2 Sejarah Visual Basic
Bill Gates, pendiri Microsoft, memulai bisnis softwarenya dengan mengembangkan
interpreter bahasa Basic untuk Altair 8800, untuk kemudian ia ubah agar dapat berjalan di
atas IBM PC dengan sistem operasi DOS. Perkembangan berikutnya ialah
diluncurkannya BASICA (basic-advanced) untuk DOS. Setelah BASICA, Microsoft
meluncurkan Microsoft QuickBasic dan Microsoft Basic (dikenal juga sebagai Basic
Sejarah BASIC di tangan Microsoft sebagai bahasa yang diinterpretasi (BASICA)
dan juga bahasa yang dikompilasi (BASCOM) membuat Visual Basic diimplementasikan
sebagai gabungan keduanya. Programmer yang menggunakan Visual Basic bisa memilih
kode terkompilasi atau kode yang harus diinterpretasi sebagai hasil executable dari kode
VB.
2.6.3 Komponen Visual Basic
Di dalam VB terdapat bermacam-macam jenis kontrol, dan dapat juga menambah kontrol
dengan cara pilih menu project->components. Dari situ dapat menambah kontrol-kontrol
baru yang dibutuhkan.
Sekarang akan dibahas kontrol standar VB, untuk mengetahui nama kontrol,
Gambar 2.9 Toolbox
Keterangan Gambar 2.15 :
1. Pointer
Pointer digunakan untuk memindah atau merubah ukuran kontrol yang ada
pada form.
2. PictureBox
Digunakan untuk menampilkan gambar yang bersifat statis dan aktif.
3. Label
Digunakan untuk menampilkan teks sebagai label di dalam form.
4. TextBox
Digunakan sebagai inputan berupa text.
5. Frame
Digunakan untuk mengelompokkan beberapa kontrol.
Digunakan sebagai tombol seperti pada umumnya.
7. CheckBox
Digunakan sebagai opsi pilihan, dapat dipilih beberapa.
8. OptionButton
Digunakan sebagai opsi pilihan, hanya dapat dipilih salah satu.
9. ComboBox
Digunakan sebagai opsi pilihan dalam bentuk 'drop-down-list'
10. ListBox
Digunakan sebagai opsi pilihan dalam bentuk 'full-list'.
11. HscrollBar
Scroll bar yang berada pada posisi horisontal.
12. VscrollBar
Scroll bar yang berada pada posisi vertikal.
13. Timer
Berfungsi sebagai pengatur waktu berdasarkan interval tertentu.
14. DriveListBox
Berfungsi untuk menampilkan drive yang aktif yang berbentuk listbox.
15. DirListBox
Berfungsi untuk menampilkan direktori pada drive yang dipilih.
16. FileListBox
Berfungsi untuk menampilkan file pada direktori dan drive yang dipilih.
17. Shape
Berfungsi untuk menampilkan bentuk-bentuk seperti oval, elips, dll.
18. Line
Berfungsi untuk menampilkan garis lurus.
19. Image
20. DataControl
Digunakan untuk melakukan akses ke dalam suatu database.
21. OLE
BAB 3
ANALISIS DAN DESAIN
3.1 Analisis Sistem
Pada bagian ini, penulis melakukan analisa terhadap metode CRC 32 untuk mengamati
bagaimana proses kerja metode ini dalam melakukan pendeteksian terhadap kerusakan
sebuah file.
Dalam melakukan deteksi terhadap kerusakan sebuah file, CRC 32 menggunakan
nilai checksum sebuah file untuk menentukan letak kerusakan file tersebut. Adapun
proses kerja dari CRC 32 dalam mendeteksi kerusakan sebuah file adalah sebagai berikut:
1. CRC 32 membaca file yang akan dideteksi kerusakananya untuk mengambil
informasi nilai checksum file tersebut.
2. Nilai checksum ini kemudian diolah menjadi sebuah fungsi hash satu arah dengan
nilai 32 bit. Fungsi hash 32 bit inilah yang akan digunakan CRC 32 sebagai identitas
file yang dideteksi kerusakaannya.
3. CRC 32 kemudian mengakses registry sistem untuk mengambil informasi file yang
tercatat dalam registry sistem. Hal ini dilakukan untuk membandingkan nilai
checksum yang tercatat pada registry sistem dengan nilai fungsi hash hasil
pengolahan.
4. Bila nilai checksum dari registry sistem berbeda dengan nilai fungsi hash hasil
rusak, tapi jika nilai checksum dari registry sistem sama dengan nilai fungsi hash
hasil pengolahan, maka CRC 32 menyatakan file yang dideteksi tidak dalam kondisi
rusak.
5. Bila hasil pendeteksi menyatakan bahwa file dalam kondisi rusak, CRC 32 akan
mengolah nilai fungsi hash 32 bit dengan cara membaginya dengan nilai checksum
dari registry sistem. Hal ini dilakukan untuk mengetahui dimana lokasi kerusakan
pada file tersebut.
3.2 Desain
Pada bagian ini, penulis akan membahas mengenai bentuk desain atau rancangan dari
perangkat lunak pendeteksi kerusakan file dengan menggunakan metode CRC 32 ini.
Adapun rancangan-rancangan yang penulis lakukan antara lain rancangan proses,
rancangan antar muka serta rancangan struktur menu perangkat lunak.
3.2.1. Rancangan Proses
Untuk menjelaskan proses-proses yang terjadi dalam perangkat lunak pendeteksi
kerusakan file dengan menggunakan metode CRC 32 ini, penulis menggunakan bagan
alir (flowchart). Adapun bentuk flowchart dari rancangan proses yang terjadi pada
Gambar 3.1 Rancangan Flowchart
Proses kerja sistem dimulai dengan menampilkan form Utama. Sistem kemnudian
menunggu penginputan lokasi file yang akan dideteksi. Setelah lokasi file ditentukan,
sistem kemudian melakukan penghitungan nilai checksum dari file tersebut. Dari nilai
checksum yang diperoleh, sistem kemudian melakukan penghitungan terhadap nilai CRC
file tersebut.
Sistem kemudian mengakses registri sistem operasi untuk mengambil nilai registri
dari file yang dipilih user. Nilai registri ini kemudian dibandingkan dengan nilai CRC
yang telah dihitung sebelumnya. Jika nilai cheksum registri file sama dengan nilai CRC,
maka sistem menyatakan bahwa file tersebut tidak mengalami perubahan (tidak
mengalami kerusakan). Jika nilai checksum registri file tidak sama dengan nilai CRC,
maka sistem menyatakan bahwa file tersebut telah mengalami perubaham (mengalami
kerusakan). Checksum dan CRC File
Jika file mengalami perubahan, sistem kemudian melacak lokasi dimana
perubahan terjadi dan menampilkan hasilnya kepada user.
3.2.2 Rancangan Antar Muka
Antar muka perangkat lunak pendeteksi kerusakan file dengan menggunakan metode
CRC 32 ini penulis rancang menggunakan dua buah form yang bernama Form Utama dan
Form About.
Form Utama merupakan form yang berfungsi sebagai input dan output dari
perangkat lunak pendeteksi kerusakan file dengan metode CRC 32 ini. Form ini terdiri
dari menu-menu dan tombol-tombol yang dapat digunakan oleh user sebagai media input
data dalam melakukan interaksi dengan perangkat lunak yang dirancang. Untuk
menampilkan output berupa hasil pendeteksian file, penulis menggunakan list view yang
berfungsi untuk menampilkan daftar file yang dideteksi beserta status kerusakan pada file
tersebut. Adapun bentuk rancangan Form Utama seperti terlihat pada Gambar 3.2.
1
2
3
Gambar 3.2 Rancangan Form Utama
Keterangan Gambar 3.2 :
1. Menu
Berisi menu-menu pilihan yang dapat dipilih user untuk berinteraksi dengan
perangkat lunak. Menu ini terbagi menjadi dua sub menu, yaitu :
a. Sub Menu File
Berisi menu-menu yang dapat dipilih user seperti Scan File (untuk melakukan
pendeteksian kerusakan pada file), Save Result (untuk menyimpan hasil
pendeteksian kerusakan kedalam database) serta Exit (untuk menutup form Utama
dan mengakihiri perangkat lunak)
b. Sub Menu Help
Berisi sub menu About yang berfungsi untuk menampilkan sekilas informasi
mengenai perangkat lunak dan perancang perangkat lunak.
4 5
7
8
9
10
2. drvDrive
Sebuah drive list box yang menampilkan seluruh daftar drive pada sistem yang
digunakan serta menerima input pemilihan drive dari lokasi file yang akan dideteksi.
3. fldFolder
Sebuah folder list yang menampilkan seluruh folder yang ada pada lokasi drive yang
dipilih user melalui drvDrive serta menerima input pemilihan folder dari lokasi file
yang akan dideteksi.
4. cmdScan
Sebuah command button untuk menerima input perintah memulai proses pendeteksian
kerusakan file. Sistem akan mulai melakukan pendeteksian kerusakan file ketika user
menekan tombol ini.
5. pbProgress
Sebuah progress bar yang berfungsi untuk menampilkan progress dari proses
pendeteksian kerusakan file berdasarkan drive dan folder yang dipilih user.
6. filFile
Sebuah file list yang menampilkan seluruh file yang berekstensi DOC pada folder
yang dipilih user. Sistem akan melakukan pendeteksian kerusakan file berdasarkan
daftar file pada filFile ini.
7. lblName
Sebuah label yang berfungsi untuk menampilkan informasi nama file ketika user
mengklik salah satu file dari daftar file pada filFile.
8. lblValue
Sebuah label yang berfungsi untuk menampilkan informasi nilai CRC 32 file ketika
user mengklik salah satu file pada filFile.
9. lblStatus
Sebuah label yang berfungsi untuk menampilkan informasi status perubahan file
10.cmdSave
Sebuah command button yang berfungsi untuk menerima input perintah penyimpanan
hasil pendeteksian kerusakan file pada database.
11.cmdExit
Sebuah command button yang berfungsi untuk menerima input perintah untuk
menutup form Utama dan mengakhiri perangkat lunak
Form About merupakan rancangan antar muka yang penulis rancang untuk
menampilkan data perancang perangkat lunak pendeteksi kerusakan file dengan metode
CRC 32 ini. Adapun bentuk rancangan Form About seperti terlihat pada Gambar 3.3.
Gambar 3.3 Rancangan Form About Perangkat Lunak Pendeteksi Kerusakan File Dokumen
Dengan Metode CRC 32
Putri Hartary Harahap 061401062
Fakultas MIPA Departemen S1 Ilmu Komputer Universitas Sumatera Utara
Medan
OK
Perangkat lunak ini berfungsi untuk mendeteksi perubahan pada file dokumen dengan format DOC dengan cara menghitung nilai checksum file menggunakan metode CRC32. Perangkat lunak mendeteksi seluruh file yang ada pada folder yang telah dipilih sebelumnya.
Perangkat lunak ini diprogram oleh :
1
2
3
4
Keterangan Gambar 3.3 :
1. lblJudul
Sebuah label yang berisi informasi tentang nama perangkat lunak yang dirancang.
2. lblSistem
Sebuah label yang berisi sekilas informasi mengenai perangkat lunak yang dirancang.
3. lblNama
Sebuah label yang berisi informasi tentang perancang perangkat lunak
4. lblJur
Sebuah label yang berisi informasi mengenai jurusan dan universitas perancang
perangkat lunak.
5. cmdOK
Sebuah command button untuk menerima perintah penutupan form About. Ketika
user mengklik tombol ini, form About akan ditutup dan tampilan akan kembali
kepada form Utama
3.2.3 Rancangan Struktur Menu
Rancangan struktur menu merupakan bagan atau skema dari hirarki menu-menu yang
tersedia pada perangkat lunak pendeteksi kerusakan file dengan metode CRC 32 ini.
Rancangan struktur menu ini merupakan rancangan yang penulis lakukan berdasarkan
rancangan antar muka perangkat lunak. Adapun bentuk rancangan struktur menu pada
Gambar 3.4 Rancangan Struktur Menu
Struktur menu utama merupakan sebuah struktur dengan format hirarki. Struktur
menu dimulai dari Form Utama. Form Utama memiliki dua cabang menu yaitu menu File
dan menu Help.
Menu File memiliki tiga cabang menu, yaitu :
1. Menu Scan File, yang berfungsi untuk melakukan pendeteksian kerusakan
file.
2. Menu Save Result, yang berfungsi untuk menyimpan hasil pendeteksian
kerusakan file.
3. Menu Exit, yang berfungsi untuk menutup Form Utama dan mengakhiri
perangkat lunak.
Menu Help hanya memiliki satu cabang menu yaitu menu About. Menu About ini
berfungsi untuk menampilkan form About ketika diklik oleh user.
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Adapun bentuk implementasi yang penulis lakukan dalam perancangan perangkat lunak
pendeteksian kerusakan file menggunakan CRC 32 ini berupa fasilitas yang disediakan
pada perangkat lunak, kebutuhan sistem, tampilan perangkat lunak serta pengujian
sistem.
4.1.1 Fasilitas Perangkat Lunak
Adapun fasilias-fasilitas yang disediakan oleh perangkat lunak yang penulis rancang ini
adalah sebagai berikut :
1. Fasilitas untuk memilih daftar file yang akan dideteksi
Fasilitas ini merupakan fasilitas yang dapat digunakan oleh pengguna untuk memilih
folder dimana file yang akan dideteksi berada. Dengan fasilitas ini, pengguna dapat
melakukan pengecekan terhadap seluruh file dokumen yang ada di dalam folder yang
2. Fasilitas untuk mendeteksi kerusakan file
Fasilitas ini merupakan fasilitas yang dapat digunakan oleh pengguna untuk melihat
apakah ada file dokumen yang mengalami kerusakan berdasarkan folder yang dipilih.
3. Fasilitas untuk menyimpan nilai CRC
Fasilitas ini merupakan fasilitas yang dapat digunakan oleh pengguna untuk
menyimpan hasil pendeteksian file dokumen dalam bentuk sebuah daftar yang berisi
nilai CRC dari setiap file yang dideteksi. Daftar ini akan menjadi acuan dalam
melakukan pendeteksian terhadap file yang sama untuk mendeteksi apakah ada
perubahan dalam file tersebut dikemudian hari.
4.1.2 Kebutuhan Perangkat Lunak
Agar perangkat lunak pendeteksian kerusakan file dokumen ini dapat berjalan dengan
baik, ada beberapa spesifikasi yang harus dipenuhi, antara lain :
1. Spefisifikasi Hardware (Perangkat Keras)
a. Micro Processor Pentium IV
b. Harddisk minimal 10 GB untuk tempat sistem beroperasi dan sebagai media
penyimpanan data.
c. Memory minimal 1 GB
d. Monitor Super VGA
2. Spesifikasi Software (Perangkat Lunak)
a. Sistem operasi Windows XP
c. Anti Virus untuk mencegah kemungkinan terjadinya kerusakan sistem yang
disebabkan oleh virus-virus yang masuk baik dari disket maupun media input
lainnya
4.1.3 Tampilan Program
Bentuk tampilan program yang diperoleh dari hasil implementasi perancangan perangkat
lunak pendeteksi kerusakan file menggunakan CRC 32 ini terdiri dari dua buah tampilan
antara lain tampilan form Utama dan form About.
1. Tampilan Form Utama
Tampilan Form Utama merupakan tampilan induk dari perangkat lunak yang dirancang.
Pada form ini ditampilkan daftar file dokumen yang akan atau telah dideteksi
kerusakannya serta menu-menu dan tombol-tombol yang dapat digunakan pengguna
untuk berinteraksi dengan perangkat lunak. Adapun tampilan Form Utama seperti
Gambar 4.1 Tampilan Form Utama
2. Tampilan Form About
Tampilan Form About merupakan tampilan berisi informasi mengenai perancang
perangkat lunak pendeteksi kerusakan file menggunakan CRC 32. Adapun tampilan Form
Gambar 4.2 Tampilan Form About
4.2 Pengujian Perangkat Lunak
Untuk memastikan bahwa perangkat lunak telah dapat berjalan dengan baik, penulis
melakukan serangkaian pengujian terhadap perangkat lunak yang telah
diimplementasikan. Adapun pengujian yang penulis lakukan meliputi pengujian
pemilihan scan file serta pengujian pengecekan kerusakan.
4.2.1. Pengujian Scan File
Pengujian scan file penulis lakukan untuk memastikan bahwa perangkat lunak telah dapat
membaca nilai CRC 32 dari file pada folder yang dipilih pengguna. Adapun hasil dari
Gambar 4.3 Pengujian Scan File
Dari hasil yang ditunjukkan pada Gambar 4.3, terlihat bahwa saat penulis memilih
file dengan nama ”document.doc”, nilai yang ditampilkan pada text box CRC 32 Value
berubah dari ”Lakukan Scan File” menjadi ”E7419FD3”. Hasil ini menunjukkan bahwa
perangkat lunak telah dapat menghitung nilai CRC 32 dari file ”document.doc” pada saat
Nilai pada text box Status berubah dari ”Lakukan Scan File” menjadi ”Tidak
Berubah”. Nilai ”Tidak Berubah” ini dihasilkan karena nilai CRC 32 dari file
”document.doc” belum terdaftar pada file daftar sehingga sistem mengasumsikan bahwa
nilai CRC 32 dari file tersebut belum mengalami perubahan.
4.2.2. Pengujian Pengecekan Kerusakan
Pengujian pengecekan kerusakan penulis lakukan untuk memastikan bahwa perangkat
lunak telah dapat mendeteksi setiap perubahan yang terjadi pada file berdasarkan hasil
pendeteksian sebelumnya.
Sebelum melakukan pengujian ini, penulis melakukan pengecekan terhadap isi
Gambar 4.4 Isi Awal Dari File Yang Diuji
Selanjutnya, penulis melakukan perubahan dari isi file ”document.doc” tersebut
dengan mengubah tulisan ”PT. MEGA ASPALINDO” menjadi ”PT. MEGAH
ASPALINDO” seperti terlihat pada Gambar 4.5. Penulis kemudian menyimpan hasil
Gambar 4.5 Perubahan Isi Dari File Yang Diuji
Selanjutnya penulis melakukan Scan File sekali lagi untuk melihat apakah ada
perbedaan antara nilai CRC 32 sebelum dan sesudah dilakukan perubahan pada file
Gambar 4.7 Pengujian Pengecekan Kerusakan
Dari hasil yang ditunjukkan pada Gambar 4.7, terlihat bahwa ada perubahan pada
nilai yang ditampilkan pada textbox CRC 32 Value, dimana nilai sebelumnya adalah
“E7419FD3” berubah menjadi “982161AB”. Perubahan juga terjadi pada nilai yang
ditampilkan pada textbox Status, dimana nilai sebelumnya adalah “Tidak Berubah”,
Dari hasil pengujian ini, terlihat bahwa perangkat lunak telah dapat melakukan
pendeteksian kerusakan pada file dimana dengan melakukan sedikit saja perubahan pada
file tersebut, sistem dapat mendeteksi adanya perubahan pada file berdasarkan nilai CRC
32 yang dihitung.
4.3 Kelebihan dan Kelemahan Perangkat Lunak
Berdasarkan hasil implementasi dari perancangan perangkat lunak, penulis memperoleh
beberapa kelebihan dan kelemahan dari perangkat lunak ini.
Adapun kelebihan dari perangkat lunak ini adalah :
1. Perangkat lunak ini dapat mendeteksi apakah ada perubahan yang terjadi pada file
walaupun perubahan yang terjadi sangat kecil.
2. Perangkat lunak dapat menyimpan hasil pendeteksian untuk digunakan sebagai bahan
pembanding bagi proses pendeteksian berikutnya.
3. Perangkat lunak dapat melakukan pendeteksian terhadap lebih dari satu file dokumen,
selama file tersebut berada dalam satu folder.
Sedangkan kelemahan dari perangkat lunak ini adalah :
1. Walaupun dapat melakukan pendeteksian pada lebih dari satu file, perangkat lunak
tidak dapat mendeteksi sekaligus lebih dari satu file. Hal ini akan mengakibatkan
waktu pendeteksian akan lama jika dilakukan pendeteksian pada file dengan jumlah
yang banyak.
2. Perangkat lunak membutuhkan daftar dari hasil pendeteksian sebelumnya sebelum
3. Perangkat lunak hanya dapat mendeteksi kerusakan file pada dokumen digital dengan
format TXT dan DOC saja. Perangkat lunak belum mampu melakukan pendeteksian
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil dari penelitian yang penulis lakukan mengenai pendeteksian kerusakan
file dokumen dengan menggunakan metode CRC 32 yang dirancang, penulis dapat
menarik kesimpulan sebagai berikut :
1. CRC 32 dapat mendeteksi perubahan pada sebuah file, sekecil apapun perubahan
tersebut.
2. Nilai CRC 32 sebuah file dihasilkan dari nilai empat byte terakhir dari nilai checksum
file tersebut dalam bentuk hexadecimal.
3. CRC 32 hanya dapat digunakan untuk menghitung nilai CRC dari sebuah file dengan
nilai bit 32 kebawah.
4. Perangkat lunak yang dirancang dapat mendeteksi perubahan pada file berdasarkan
daftar nilai CRC dari hasil pendeteksian sebelumnya
5.2 Saran
Adapun saran yang dapat penulis berikan untuk mengembangkan perangkat yang lunak
1. Perangkat lunak dapat dikembangkan lebih lanjut agar dapat mendeteksi kerusakan
file pada format dokumen digital yang lain, khususnya format DOCX.
2. Perangkat lunak dapat dikembangkan lebih lanjut agar dapat melakukan pendeteksian
kerusakan pada dua atau lebih file sekaligus sehingga dapat menghemat waktu proses
pendeteksian yang dibutuhkan.
3. Untuk pengembangan lebih lanjut, perangkat lunak dapat dikembangkan agar dapat
mendeteksi seluruh file yang terdapat dalam sebuah drive tidak hanya seluruh file
DAFTAR PUSTAKA
Hariyanto, Bambang. 2003. Sistem Operasi Lanjut. Edisi Pertama. Bandung :
Informatika.
Hariyanto, Bambang. 2009. Sistem Operasi. Bandung : Informatika.
Jain, A., Dubes, R. 1988. Algorithms for clustering data. New Jersey : Prentice-Hall Inc.
Jones, David T. 2003. An Improved 64-bit Cyclic Redundancy Check for Protein
Sequences. London : University College London.
Joseph, Hammond, Jr., James E. B., Shyan-Shiang L. 1975.
Koopman, P. 2002. 32-Bit Cyclic Redundancy Codes for Internet Applications. The
International Conference on Dependable Systems and Networks. USA. Pittsburgh.
Koopman, P., Chakravarty, T. 2004, Cyclic Redundancy Code (CRC) Polynomial
Selection For Embedded Networks. USA. Pittsburgh.
Kreith, Frank. 2000. The CRC Handbook of Thermal Engineering. CRC Press.
Narapratama, Ditto. 2006. Perbandingan Performansi Algoritma Adler-32 dan CRC-32
Ramabadran, T. V., Gaitonde, S. S. 1988. A tutorial on CRC computations.
Ross, A., and Eli B. 1996. Tiger: A Fast New Hash Function. Fast Software Encryption, FSE’96, LNCS 1039.
Salim, Hartojo. 1989. Virus Komputer, teknik pembuatan & langkah-langkah penaggulangannya. Yogyakarta : Andi OFFSET.
Setiawan, Andi. 2009. Algoritma Adler, CRC, Fletcher dan Implementasi pada Mac. Bandung : Institut Teknologi Bandung.
Stigge, M., Plotz, H., Muller, W., Redlich, J. 2006.
Tanenbaum, Andrew. 1990. Structured Computer Organization. Third edition.
Amsterdam : Prentice-hall inc.
Wijayanto, I. S. 2006. Penggunaan CRC32 Dalam Integritas Data. Bandung : Institut
Teknologi Bandung.
Anachriz. 1999. CRC and how to Reverse it. http:// www.woodmann.com/ fravia/
crctut1.htm. Diakses tanggal 2 Maret, 2010.
Anhar. 2009. Checksum CRC32.
Greg, Cook. 2009. Catalogue of parameterised CRC algorithms.
Thaler, Pat. 2003. 16-bit CRC polynomial selection. INCITS T10.
Diakses tanggal 20 Maret,
LAMPIRAN : LISTING PROGRAM
Source Code Program
Form CRC
Private objCRC32 As clsCRC32 Const CHUNK_SIZE = 2048 Dim PathFile As String Dim CRCValus As String Dim Status As Boolean Dim arrCRC() As String
Dim Con As New ADODB.Connection Dim RS As New ADODB.Recordset Ekstension DOC.", vbInformation, App.Title
End If End Sub
Private Sub dirFolder_Change() filFile.Path = dirFolder.Path End Sub
Private Sub drvDrive_Change()
Private Sub filFile_Click()
If RS.State <> 0 Then RS.Close LoadDaftar
If Status = True Then
lblName.Caption = filFile.List(filFile.ListIndex) lblValue.Caption = arrCRC(filFile.ListIndex)
RS.Find "checksum='" & arrCRC(filFile.ListIndex) & "'", 0, adSearchForward, 1
lblName.Caption = "Lakukan Scan FIle" lblValue.Caption = "Lakukan Scan File" lblStatus = "Lakukan Scan File"
Status = False
cmdSave.Enabled = False Set objCRC32 = New clsCRC32
Con.ConnectionString = "provider = microsoft.jet.oledb.4.0; data source = " & App.Path & "\daftar.dll"
Con.CursorLocation = adUseClient Con.Open
LoadDaftar End Sub
Private Sub CekCRC()
Dim strTempPath As String
If Right$(dirFolder.Path, 1) <> "\" Then strTempPath = dirFolder.Path + "\" Else
strTempPath = dirFolder.Path End If
If PathFile <> vbNullString Then
CRCValus = CRCFromFile(strTempPath & PathFile) End If
Private Function CRCFromFile(ByVal strFilePath As String) As String Dim bArrayFile() As Byte
Dim lngCRC32 As Long Dim lngChunkSize As Long Dim lngSize As Long
lngSize = FileLen(strFilePath) lngChunkSize = CHUNK_SIZE
RS.Open "select * from crc", Con, adOpenKeyset, adLockPessimistic End Sub
Private Sub CekPath()
For i = 0 To filFile.ListCount - 1
If RS.State <> 0 Then RS.Close
Private Sub mnuHelp_Click(Index As Integer) If Index = 1 Then frmAbout.Show 1
End Sub
Private bolTableReady As Boolean
Private lngArrayCRCByte(0 To 255) As Long
Public Function CRC32(ByVal lngCRC32 As Long, ByRef bArrayIn() As Byte, ByVal dblLength As Double) As Long
Dim dblCurPos As Double Dim lngTemp As Long
If Not bolTableReady Then bolTableReady = BuildTable If UBound(bArrayIn) < LBound(bArrayIn) Then
CRC32 = 0 Else
lngTemp = lngCRC32 Xor &HFFFFFFFF For dblCurPos = 0 To dblLength
lngTemp = (((lngTemp And &HFFFFFF00) \ &H100) And &HFFFFFF) Xor (lngArrayCRCByte((lngTemp And &HFF) Xor bArrayIn(dblCurPos)))
Next dblCurPos
CRC32 = lngTemp Xor &HFFFFFFFF End If
Class Modules