• Tidak ada hasil yang ditemukan

Teknik Pendeteksian Kerusakan File Dokumen Dengan Metode Cyclic Redundancy Check 32 (CRC32)

N/A
N/A
Protected

Academic year: 2016

Membagikan "Teknik Pendeteksian Kerusakan File Dokumen Dengan Metode Cyclic Redundancy Check 32 (CRC32)"

Copied!
75
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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,

(5)

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

(6)

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.

(7)

ABSTRAK

(8)
(9)

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

(10)

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

(11)

ABSTRAK

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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.

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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)

(35)

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

(36)

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

(37)

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.

(38)

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.

(39)

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

(40)

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

(41)

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,

(42)

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.

(43)

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

(44)

20. DataControl

Digunakan untuk melakukan akses ke dalam suatu database.

21. OLE

(45)

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

(46)

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

(47)

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

(48)

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

(49)

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

(50)

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

(51)

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

(52)

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

(53)

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.

(54)

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

(55)

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

(56)

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

(57)

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

(58)

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

(59)

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

(60)

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

(61)

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

(62)

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

(63)

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”,

(64)

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

(65)

3. Perangkat lunak hanya dapat mendeteksi kerusakan file pada dokumen digital dengan

format TXT dan DOC saja. Perangkat lunak belum mampu melakukan pendeteksian

(66)

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

(67)

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

(68)

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

(69)

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.

(70)

Thaler, Pat. 2003. 16-bit CRC polynomial selection. INCITS T10.

Diakses tanggal 20 Maret,

(71)

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()

(72)

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

(73)

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

(74)

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

(75)

Class Modules

Gambar

Gambar 2.1 Contoh File RTF
Gambar 2.2 Contoh File DOC
Gambar 2.3 Contoh File PDF
Gambar 2.4 Bentuk Windows Explorer Dalam Windows
+7

Referensi

Dokumen terkait

Pada perancangan perangkat lunak pencarian file dengan menggunakan algoritma apostolic giancarlo ini, yang menjadi permasalahan adalah bagaimana proses

Maka dari itu skripsi ini bertujuan membuat suatu sistem untuk mendeteksi tindakan plagiarisme dokumen skripsi yang dilakukan oleh mahasiswa Universitas Sanata

Pada hasil nomor 5, penggabungan PlainFile dengan format .txt dan SecondFile dengan format .docx juga menghasilkan File Enstego dengan format .docx yang tidak dapat dibuka,

Perangkat lunak yang dirancang dalam tugas akhir ini berfungsi untuk melakukan penyisipan data rahasia kedalam dokumen audio dengan format mp3 dan melakukan ekstraksi

Perangkat lunak yang dirancang dapat melakukan proses pencarian file dengan menggunakan Algoritma Best- First Search, dimana file-file yang akan dicari terlebih dahulu

Salah satu cara yang dapat digunakan untuk mendeteksi keaslian dari suatu file adalah dengan memanfaatkan fungsi hash yang menghasilkan kode yang dapat

Hasil Deteksi Dokumen Artikel Dengan Synonym Recognition Similarity Dengan File 1 File 2 Sinonim [doc] Artikel [doc] Artikel 100 % komputer 1 komputer 2 Pada pengujian di atas

Berdasarkan hasil pengujian Hasher Pro menunjukkan bahwa sistem sudah berjalan dengan baik, berhasil mendeteksi perubahan yang terjadi pada file video pemindaian file video dengan