APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

85
APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA SISTEM OPERASI WINDOWS XP DENGAN FILE SISTEM FAT MENGGUNAKAN VISUAL BASIC 6.0 Skripsi Ditujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika Disusun oleh: Raditya Pratomo Nim : 025314031 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007

Transcript of APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

Page 1: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN

PADA SISTEM OPERASI WINDOWS XP DENGAN FILE SISTEM FAT

MENGGUNAKAN VISUAL BASIC 6.0

Skripsi

Ditujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika

Disusun oleh: Raditya Pratomo Nim : 025314031

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2007

Page 2: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

APLICATION FOR ERASING FILE PERMANENTLY

ON OPERATING SYSTEM WINDOWS XP WITH FAT SYSTEM

USING MICROSOFT VISUAL BASIC 6.0

A Thesis

Presented as Partial Fullfilment of the Requirements

To Obtain the Sarjana Teknik Degree

In Informatics Engineering

By :

Raditya Pratomo

Student Number : 025314031

INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

YOGYAKARTA 2007

Page 3: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …
Page 4: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …
Page 5: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

iv

I presented this thesis for

My Lord JESUS So Much

Dad and Mom, my lovely brother

I’m done in my college

Nonik I Love You

Memories from Tarakan

Linda Maniez, Che2, To’I, Adit I miss u All

Batang

Rock n Roll man!

Memories from Permata Bunda - Cisalak Siomay and Widhi

I miss u both

All the people that helping me To find my self

Suroso Kost

I miss u all there

Informatics 2002 USD I will see u again

Page 6: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

v

MOTTO

An Eye for seeing

An Ear for hearing

and Mouth for speaking

do it precisely the rule!

Sometimes we have doin’ stupidity and become

nasty in this life, but if we have pair of ear,

listen what the people said about ourself.

Do it now !

Before it late

Page 7: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

vi

ABSTRAKSI Di jaman sekarang ini hampir setiap orang menyimpan sebuah informasi di dalam

komputer. Ketika informasi tersebut ingin dihapus kita tidak ingin orang lain mengetahui

infomasi tersebut. Faktanya ketika file dihapus (bukan ke recycle bin) dari media

penyimpanan, sistem operasi tidak menghapus datanya dari file tersebut, oleh karena itu

masih ada kemungkinan file dapat dikembalikan secara utuh dan dapat dibaca kembali.

Jika itu adalah informasi yang sangat penting misalnya dokumen rahasia, password, data

pribadi maka akan merugikan bagi pemilik data tersebut.

Oleh karena itu dibutuhkan cara untuk dapat menghapus file secara permanen dari

media penyimpanan, agar data tidak dapat di kembalikan lagi.

Page 8: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

vii

ABSTRACT Nowadays many people save the information in computer. When the information

want to erase, it guaranted that other people don’t know about the information. In Fact,

when a file erase from storage, Operating System did not destroy the data, in order that

file possible to recover in whole content and can be read. If that the information is very

important like secret document, password, personal data then it would be disaster.

In that case we need some way to erase data permanenly, which data can’t be

recover.

Page 9: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

viii

KATA PENGANTAR

Puji Syukur kepada Tuhan Yesus atas berkat dan karunia-Nya yang telah

diberikan pada penulis sehingga dapat menyelesaikan tugas akhir ini.

Skripsi ini disusun dalam rangka memenuhi syarat untuk memperoleh

gelar sarjana S1 pada program Sarjana Teknologi Informasi jurusan Teknik

Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma

Yogyakarta.

Dalam penulisan skripsi ini, penulis banyak sekali menemui hal-hal baru

dan kesulitan sehingga diperlukan pemahaman dan pola pikir yang lebih

mendalam, namun berkat bantuan dan masukan dari berbagai pihak akhirnya

kesulitan tersebut dapat diatasi.

Dengan rasa syukur penulis mengucapkan terima kasih kepada :

1. Ibu A.M. Polina, S.Kom., M.Sc selaku dosen pembimbing akademik yang

banyak membantu dalam proses kelulusan.

2. Bapak JB Budi Darmawan, S.T., M.Sc yang telah banyak membimbing

dalam skripsi ini.

3. Kedua Orang Tua-ku, Bapak dan Ibu Yoseph.

4. Nonik, yang selalu memberikan semangat dan nasehat.

5. Semua temen-temen yang telah banyak membantu saya menyelesaikan

kuliah ini sampai mengerjakan skripsi.

Page 10: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

ix

Penulis menyadari bahwa Skripsi ini masih jauh dari kesempurnaan

sehingga penulis mengharapkan kritik dan saran dari pembaca demi

kesempurnaan laporan ini. Semoga laporan ini dapat bermanfaat bagi kita semua.

Yogyakarta, September 2007

Penulis,

Raditya Pratomo

Page 11: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

xvi

HALAMAN PERNYATAAN

Dengan ini saya menyatakan bahwa dalam skripsi ini tidak terdapat karya

yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu perguruan

tinggi dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat

yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis

diacu dalam naskah ini dan disebutkan dalam daftar pustaka.

Yogyakarta, September 2007

Penulis,

Raditya Pratomo

Page 12: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

x

DAFTAR ISI

Halaman Judul...........................................................................................................i

Halaman Persetujuan............................................................................................... ii

Halaman Pengesahan ............................................................................................. iii

Halaman Persembahan ............................................................................................iv

Halaman Motto ........................................................................................................v

Abstraksi .................................................................................................................vi

Abstract ................................................................................................................. vii

Kata Pengantar ..................................................................................................... viii

Daftar Isi....................................... ...........................................................................x

Daftar Gambar...................................................................................................... xiii

Daftar Tabel ...........................................................................................................xv

Pernyataan Keaslian Karya ...................................................................................xvi

BAB I PENDAHULUAN............................ ............................................................1

1.1 Latar Belakang Masalah.............................................................................1

1.2 Rumusan Masalah ......................................................................................2

1.3 Batasan Masalah ........................................................................................2

1.4 Tujuan dan Manfaat ..................................................................................3

1.5 Metodologi Penelitian ...............................................................................3

1.6 Sistematika Penulisan ................................................................................3

BAB II LANDASAN TEORI.................. ................................................................5

2.1 Media Penyimpanan...................................................................................5

Page 13: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

xi

2.2 Data dalam media penyimpanan ................................................................6

2.3 Konsep Recovery Data...............................................................................9

2.3.1 Scanning Disk File yang dihapus....................................................9

2.4 Use Case...................................................................................................10

2.5 Bahasa Visual Basic 6..............................................................................16

2.5.1 Struktur Aplikasi Visual Basic.....................................................17

2.5.2 Windows API dengan Visual Basic .............................................18

2.5.2.1 Fungsi-fungsi API........................................................... 18

BAB III ANALISIS DAN PERANCANGAN SISTEM .......................................25

3.1 Analisa Sistem..........................................................................................25

3.1.1 Model Use Case ..........................................................................25

3.2 Perancangan Sistem .................................................................................26

3.2.1 Class Diagram .............................................................................26

3.2.2 Flowchart ....................................................................................28

3.2.3 Kelas dan Module .......................................................................30

3.3 Uji Coba dalam media penyimpanan .......................................................34

BAB IV IMPLEMENTASI DAN ANALISA .......................................................38

4.1 Implementasi Program ............................................................................38

4.1.1 Form Utama ................................................................................38

4.1.2 Form Progress .............................................................................40

4.1.3 Proses Wiping .............................................................................41

4.2 Analisa Hasil ............................................................................................50

Page 14: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

xii

4.3 Kelebihan dan Kekurangan program .......................................................58

4.3.1 Kelebihan Program .....................................................................58

4.3.1 Kekurangan Program ..................................................................59

BAB V KESIMPULAN.........................................................................................60

5.1 Kesimpulan ..............................................................................................60

5.2 Saran.........................................................................................................61

Daftar Pustaka ........................................................................................................62

Page 15: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

xiii

DAFTAR GAMBAR

Gambar 2.1 Media Penyimpanan.............................................................................6

Gambar 3.1 Use Case Diagram..............................................................................25

Gambar 3.2 Kelas untuk pencarian ........................................................................32

Gambar 3.3 Kelas WipeFile...................................................................................27

Gambar 3.4 Flowchart Running Program ..............................................................28

Gambar 3.5 Flowchart Menghapus ........................................................................29

Gambar 3.6 Keadaan Directory dengan Hex Editor ..............................................35

Gambar 3.7 Data pada file Readme.txt ..................................................................35

Gambar 3.8 Keadaan File hello.txt dengan Hex Editor .........................................36

Gambar 3.9 Data pada file hello.txt .......................................................................36

Gambar 3.10 File Readme.txt dihapus...................................................................37

Gambar 3.11 Data pada file Readme.txt setelah dihapus.......................................37

Gambar 4.1 Form Load ..........................................................................................39

Gambar 4.2 Potongan Listing Program pada Form Load ......................................39

Gambar 4.3 Potongan Listing Program pada Fungsi PathChange() ......................40

Gambar 4.4 Form Progress ....................................................................................40

Gambar 4.5 Potongan Listing Program pada tombol STOP..................................41

Gambar 4.6 Diagram metode NonSecure ..............................................................42

Gambar 4.7 Potongan Listing Program pada timer NonSecure.............................43

Gambar 4.8 Potongan Listing Program pada Fungsi NonSecure ..........................43

Gambar 4.9 Fungsi FlushBuffer.............................................................................44

Page 16: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

xiv

Gambar 4.10 Konfigurasi metode NonSecure .......................................................44

Gambar 4.11 Diagram Metode Secure...................................................................45

Gambar 4.12 Potongan Listing Program pada Fungsi Secure 1 ............................45

Gambar 4.13 Potongan Listing Program pada Fungsi Secure 2 ............................46

Gambar 4.14 Potongan Listing Program pada Fungsi Secure 3 ............................47

Gambar 4.15 Konfigurasi metode Secure ..............................................................47

Gambar 4.16 Diagram Metode Medium ................................................................48

Gambar 4.17 Potongan Listing Program pada timer Medium ...............................49

Gambar 4.18 Potongan Listing Program pada Fungsi Medium 1..........................49

Gambar 4.19 Potongan Listing Program pada Fungsi Medium 2..........................50

Gambar 4.20 Konfigurasi metode Medium ...........................................................50

Gambar 4.21 Hasil Recovery pada Program Smart Recovery...............................51

Gambar 4.22 Randomize Timer.............................................................................52

Gambar 4.23 Fungsi RenameAndKill....................................................................52

Gambar 4.24 Kill File ............................................................................................53

Gambar 4.25 Hasil NonSecure pada Hex Editor ...................................................53

Gambar 4.26 Hasil Medium pada Hex Editor........................................................54

Gambar 4.27 Hasil Secure pada Hex Editor ..........................................................55

Gambar 4.30 Hasil Uji Coba Program pada jaringan ............................................56

Gambar 4.31 Hasil Uji Coba Program pada CD RW.............................................56

Page 17: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

xv

DAFTAR TABEL

Tabel 2.2 Struktur Directory Entry FAT32..............................................................6

Tabel 4.28 Tabel Kesimpulan Proses Kehilangan Data.........................................56

Tabel 4.29 Tabel Hasil Uji Coba Program berdasarkan waktu................................6

Page 18: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

1

BAB I

PENDAHULUAN 1.1 Latar Belakang Masalah

Dengan maju pesatnya teknologi informasi banyak orang telah memilih untuk

mengatur informasinya dengan mengggunakan komputer. Selain lebih cepat diakses juga

dapat menghemat tempat penyimpanan, juga informasi dapat dibawa kemana saja dengan

lebih ringkas daripada memindahkan setumpuk kertas dari lemari yang satu ke lemari

yang lain, memakan banyak waktu, juga resiko kehilangan atau rusak lebih besar.

Informasi yang disimpan dengan sebuah komputer disimpan dalam sebuah media

penyimpanan seperti hardisk, disket, flashdisk, juga sebuah CD (Compact Disk).

Komputer tidak berjalan sendiri, ada seperangkat software didalamnya yang mengatur

bagaimana komputer harus bekerja, software ini dinamakan Sistem Operasi atau sering

disebut Operating System (OS). Sistem Operasi dijalankan oleh manusia walaupun ada

beberapa proses yang berjalan otomatis. Pada dasarnya Sistem Operasi menjembatani

antara manusia dengan perangkat keras didalamnya.

Pengaturan informasi dalah sebuah komputer disimpan dalam media

penyimpanan dalam bentuk file. Setiap orang dapat membuat, menghapus, menyalin,

memindahkan file dalam sebuah media penyimpanan dan setiap prosesnya dikerjakan

oleh Sistem Operasi. Setiap orang atau organisasi kemungkinan mempunyai informasi

yang penting yang disimpan dalam sebuah komputer dan hanya boleh diakses oleh orang-

Page 19: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

2

orang tertentu sehingga data tersebut dilindungi dengan berbagai cara dengan software

keamanan. Tetapi bagaimana jika informasi tersebut sudah tidak terpakai lagi dan masih

sangat penting. Tentu saja informasi tersebut akan dihapus dari media penyimpanan.

Apakah data yang sudah dihapus tadi dapat kembali lagi? Jawabannya ya. Pernah

mendengar software recovery files? Tidak mustahil data anda akan kembali diakses oleh

orang lain dan mungkin akibatnya seseorang mengetahui rahasia atau hal penting yang

seharusnya mereka tidak boleh tahu.

Dari uraian diatas, dalam naskah ini maka penulis akan mencoba untuk membuat

program untuk menghapus file secara permanen.

1.2 Rumusan Masalah

Dengan adanya latar belakang tersebut maka dapat dirumuskan masalahnya

sebagai berikut:

1. Membuat program yang dapat menghapus file secara permanen sehingga file tidak

dapat di-recovery kembali.

1.3 Batasan Masalah

Adapun batasan masalahnya sebagai berikut:

1. Program diimplementasikan dalam sistem operasi Windows XP.

2. Sampel media penyimpanan yaitu hardisk dan flashdisk dengan file sistem FAT.

3. File yang akan dihapus juga melingkupi file yang ada dalam directory dan sub

directory

Page 20: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

3

1.4 Tujuan dan Manfaat

Membuat aplikasi untuk menghapus file agar tidak dapat direcovery kembali

menggunakan Microsoft Visual Basic 6.0

1.5 Metodologi

Metode yang digunakan:

1. Membaca dan mempelajari referensi berupa buku (Metode Desain dan Analisis

Sistem).

2. Surfing dari situs-situs di internet yang berhubungan dengan aplikasi ini

3. Analisa program, menentukan fungi dan prosedur yang dibutuhkan, mendebug

program untuk memeriksa kesalahan pada saat dijalankan.

4. Mendesain program, menentukan alur jalannya program dan merancang

Graphical User Interface.

5. Implementasi dan pengujian, memeriksa hasil dari kode program yang sudah

dijalankan, apakah sudah sesuai dengan keingingan atau belum

1.6 Sistematika Penulisan

BAB I PENDAHULUAN

Berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan sistem,

manfaat sistem dan metode penelitian serta sistematika penulisan laporan.

BAB II LANDASAN TEORI

Bab ini berisi landasan teori yang dipakai untuk pembahasan laporan tugas akhir.

BAB III ANALISA DAN PERANCANGAN SISTEM

Bab ini berisi tentang tahap-tahap analisis dan perancangan sistem.

Page 21: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

4

BAB IV IMPLEMENTASI

Bab ini berisi tentang bagaimana mengimplementasikan program kedalam

komputer, serta kendala yang dihadapi.

BAB V PENUTUP

Bab ini berisi tentang penutup dan kesimpulan dari implementasi program.

Page 22: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

5

BAB II

DASAR TEORI 2.1 Media Penyimpanan

Setiap orang yang memulai pekerjaannya dengan komputer tidak pernah dari media

penyimpanan, seperti disket, hardisk, compact disk, flash disk, dan lain sebagainya. Pada

dasarnya media penyimpanan semacam ini adalah media penyimpanan secara permanen

artinya data akan tetap tersimpan walaupun tidak ada aliran listrik dan data bisa diakses

kembali ketika terhubung (plug) dengan komputer. Ada juga media penyimpanan yang

bersifat sementara atau tidak permanen (temporary), yang disebut RAM (Random Access

Memory). RAM ini hanya digunakan untuk memproses data di dalam komputer, berbeda

dengan disket dan hardisk, digunakan untuk menyimpan data secara permanen sehingga

dapat dipindahkan secara fleksibel. RAM tidak tidak dapat dipindahkan seperti disket dan

hardisk, karena ketika aliran listrik putus maka data didalam RAM akan hilang. Berikut

adalah contoh gambar media penyimpanan :

Disket Hardisk Flashdisk

Page 23: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

6

Compact Disk Zip Disk RAM Gambar 2.1

2.2 Data dalam media penyimpanan

Informasi tentang file dan direktori dalam sebuah media penyimpanan disimpan

dalam sebuah lokasi yang bernama directory entry, berikut adalah tabel struktur dari

directory entry :

Tabel 2.2 Struktur Directory Entry FAT32

Nama Field Offset

(bytes)

Size

(bytes) Deskripsi

DIR_Name 0 11 Nama File format 8.3

DIR_Attr 11 1 File Attibut

ATTR_READ_ONLY 0x01

ATTR_HIDDEN 0x02

ATTR_SYSTEM 0x04

ATTR_VOLUME_ID 0x08

ATTR_DIRECTORY 0x10

ATTR_ARCHIVE 0x20

ATTR_LONG_NAME

DIR_NTRes 12 1 Dicadangkan untuk digunakan oleh

Windows NT. Nilainya selalu diset 0

setelah file diciptakan dan tidak pernah

Page 24: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

7

diubah setelah itu

DIR_CrtTimeTenth 13 1 Stamp untuk waktu milli detik pada

waktu file diciptakan

DIR_CrtTime 14 2 Waktu file diciptakan

DIR_CrtDate 16 2 Tanggal file diciptakan

DIR_LstAccDae 18 2 Tanggal terakhir file diakses, nilainya

harus sama dengan DIR_WrtDate

DIR_FstClusHI 20 2 Menunjukkan nilai tertinggi dari cluster

pertama file.

DIR_WrtTime 22 2 Waktu terakhir file ditulisi

DIR_WrtDate 24 2 Tanggal terakhir file ditulisi

DIR_FstClusLO 26 2 Nilai terendah dari cluster pertama file

DIR_FileSize 28 2 32-bit DWORD, berisi infomasi ukuran

file

DIR_Name[0]

• Jika DIR_Name[0] == 0xE5 menunjukkan lokasi ini bebas atau tidak terpakai.

• Jika DIR_Name[0] == 0x00 menunjukkan lokasi ini bebas atau tidak terpakai,

sama dengan 0xE5 dan tidak ada alokasi memori.

• Nilai DIR_Name[0] terdapat karakter restricted atau tidak boleh dipakai, seperti

0x22, 0x2A, 0x2B, 0x2C, 0x2E, 0x2F, 0x3A, 0x3B, 0x3D, 0x3E, 0x3F, 0x5B,

0x5C, 0x5D dan 0x7C, juga karakter spasi (0x20) tidak boleh digunakan. Selain

karakter 0xE5, 0x00 dan restricted boleh dipakai untuk menamai file.

DIR_Attr

• ATTR_READ_ONLY, menunjukkan file tidak boleh ditulis atau dirubah isi dan

namanya.

Page 25: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

8

• ATTR_HIDDEN, menunjukkan file tidak terlihat dalam direktori

• ATTR_SYSTEM, menunjukkan file sistem kepunyaan Sistem Operasi.

• ATTR_VOLUME_ID, menunjukkan volume label pada disk.

• ATTR_DIRECTORY, menunjukkan bahwa file ini berisikan file-file didalamnya.

• ATTR_ARCHIEVE, menunjukkan bahwa file ini bisa di-backup. Software

backup biasanya selalu mendeteksi file-file dengan atribut ini.

Format Waktu dan Tanggal

• Format Waktu

Bits 0-4 : detik 2 digit (0-59)

Bits 5-10 : menit (0-59)

Bits 11-15 : jam (0-23)

• Format Tanggal

Bits 0-4 : hari (0-31)

Bits 5-8 : bulan (1-12)

Bits 9-15 : pertambahan waktu sejak tahun 1980 (0-127)

DIR_FileSize :

• Menunjukkan ukuran file dalam format 32bit.

• Untuk FAT32, ukuran chain cluster tidak boleh lebih besar dari 0x100000000

bytes. Dan ukuran file tidak ada yang boleh lebih dari 0xFFFFFFFF bytes.

http://staff.washington.edu/dittrich/misc/FatFormat.pdf, 23 April 2007, 12:02

Page 26: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

9

2.3 Konsep Recovery Data.

2.3.1 Scanning Disk File yang dihapus

Scan disk adalah proses enumerasi semua data di root directory pada FAT12,

FAT16, FAT32 atau pada lokasi Master File Table (MFT) pada NTFS. Meskipun file

sistemnya berbeda, informasi file mengandung tentang name, ukuran, atribut, tanggal dan

waktu diciptakan, status sudah dihapus atau belum, dan lain-lain. Dengan melihat struktur

dari root directory atau tabel file, kita dapat melihat catatan tentang informasi file masih

ada didalam media penyimpanan atau tidak, dan kita dapat mencari file-file yang sudah

terhapus didalam media penyimpanan. Entry (catatan) tentang file yang sudah dihapus

ditandai dengan simbol E5 atau nilai 229 dalam desimal.

Contoh scanning folder pada FAT16:

1. Folder yang masih masih ada .

Gambar 2.3

2. MyFiles.txt yang sudah terhapus.

Gambar 2.4

3. File SetupLog.txt yang masih ada.

Gambar 2.5

Page 27: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

10

Root Directory ini tedapat 3 entry (catatan), salah satunya informasinya sudah dihapus

Entry pertama adalah MYFOLDER yang masih ada, Entry kedua adalah MyFiles.txt

yang sudah dihapus, dan Entry yang ketiga adalah SetupLog.txt masih ada.

Entry yang sudah dihapus mengandung simbol E5 pada karakter pertamanya,

diasumsikan entry sudah dihapus.

http://www.ntfs.com/disk-scan.htm, 23 April 2007, 14:00

2.4 Use Case

Use case modeling adalah sebuah proses untuk memodelkan fungsi-fungsi system

yang terdapat dalam bisnis even, siapa yang melakukan kejadian dan bagaimana system

memberikan respon terhadap even.

Beberapa keuntungan use case modeling :

1. Menyediakan tool untuk mengcapture kebutuhan fungsional

2. Membantu melakukan dekomposisi system ke dalam bagian-bagian yang

dapat dimanage

3. Menyediakan komunikasi yang berarti antara user dengan stakeholder yang

lain yang berkonsentrasi pada fungsional system

4. Menyediakan kerangka kerja untuk menjalankan proyek pengembangan

system

Page 28: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

11

Konsep Sistem untuk Use Case Modeling

1. Use case diagram

Sebuah diagram yang menggambarkan interaksi antara system dan eksternal

system dan user. Berbasis grafik yang menggambarkan siapa yang menggunakan

system dan dengan cara bagaimana user berinteraksi dengan system.

2. Use case narrative

Tektual yang menggambarkan suatu kejadian system dan bagaimana user

berinterkasi dengan system untuk melengkapi tugasnya.

Simbol Dasar Use Case Diagram

Use case merupakan bagian dari seluruh fungsi system.

Digambarkan secara grafik dengan elips yang horizontal

dengan nama dari use case tertera diatas, dibawah atau

di dalam elips.

Actor adalah segala sesuatu yang dibutuhkan untuk

berinteraksi dengan system untuk mengubah informasi.

Dapat berupa orang, organisasi atau system informasi yang lain

Atau juga suatu waktu kejadian.

Temporal event merupakan sebuah waktu kejadian yang ditrigger oleh user. Aktornya

adalah waktu.

Page 29: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

12

4 Tipe dari Aktor

1. Primary business actor

Merupakan stakeholder yang mendapatkan keuntungan utama dari proses

melakukan use case. Sebagai contoh : employee yang menerima pembayaran.

2. Primary sisitem actor

Merupakan stakeholder yang secara langsung berhubungan dengan system untuk

menginisiasi atau mentrigger kejadian bisnis atau system. Contoh : teller bank

memasukkan informasi deposit.

3. External server actor

Stakeholder yang memberikan respon terhadap permintaan dari use case. Contoh :

credit beureau mengotorisasi credit card.

4. External receiver actor

Stakeholder yang bukan actor utama tetapi menerima sesuatu nilai dari use case.

Contoh : gudang menerima slip paket

Use Case Association Relationship

Associaton adalah relasi antara actor dan sebuah use case dimana terjadi interaksi

diantara mereka. Association dimodulkan dengan garis lurus yang menghubungkan

antara actor dan use casenya. Association dengan sebuah panah menyentuh use case yang

mengidentifikasikan bahwa use case diinitiate oleh actor ( anak panah menuju use case).

Association dengan anak panah keluar dari use case menuju ke actor berarti actor

menerima use case. Association bisa bidirectional atau unidirectional.

Contoh

Page 30: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

13

Gambar 2.6

Use Case Extends Relationship

Extension use case adalah sebuah use case yang berisi langkah-langkah yang

diekstrak dari sebuah use case yang lebih kompleks agar menjadi use case yang lebih

sederhana dan kemudian diberikan tambahan fungsinya. Relationship antara extention

use case and use case yang diextend disebut dengan extends relationship. Digambarkan

dengan garis anak panah yang dimulai pada extension use case dan berakhir pada use

case yang diextending. Setiap relasi extend diberi label “<<extends>>”.

Contoh

pendaftaran anggota

bayar biaya pendaftaran isi data anggota

extension use case

<<extends>> <<extends>>

Gambar 2.7

Pencarian judul film

Page 31: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

14

Use Case Uses Relationship

Abstract use case merupakan sebuah use case yang mengurangi redundancy antara

satu atau lebih use case dengan cara mengkombinasikan langkah-langkah yang umum

ditemukan dalam casenya. Sebuag abstract case digunakan oleh use case yang lain yang

meminta fungsinya. Relationship antara abstract use case dan use case yang

digunakannya disebut denga uses (or include) relationship. Digambarkan dengan ujung

anak panah dimulai dari use case original dan menunjukkan ke use case yang digunakan.

Setiap garis yang menunjukkan uses relationship dinamakan dengan “<<uses>>”.

Contoh

Gambar 2.8

Use Case Depends on Relationship

Depends on merupakan sebuah relasi use case yang menentukan bahwa use case

yang lain harus dibuat sebelum current use case. Digambarkan sebagai garis anak panah

yang dimulai dari satu use case dan menunjukkan ke use case yang depends on

kepadanya. Setiap relasi diberi label “<<depends on>>”.

Contoh

<<depends on>>

<<uses>>

memasukkan data transaksi

pembelian

memasukkan data obat

Update database

Login

Page 32: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

15

Use Case Inheritance Relationship

Inheritance merupakan use case yang tingkah laku pada umumnya menggambarkan

dua aktor yang menginitiating use case yang sama akan ditugaskan dan diextrapolasi

dalam abstract actor yang baru untuk mengurangi redundancy. Aktor yang lain dapat

menurunkan interaksi dari abstract actor. Digambarkan dengan garis anak panah yang

dimulai pada satu aktor dan menunjukkan ke abstract actor yang memiliki interaksi

dengan turunan dari actor yang pertama.

Contoh

Gambar 2.9

searching buku

update data buku

pendaftaran

pendaftaran

update data buku

searching buku

customer

Inheritance relationship

patron visitor

visitor

patron

Page 33: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

16

Contoh sebuah Use Case utuh

<<depend on>>

admin penyewa

Gambar 2.10 2.5 Bahasa Visual Basic 6

Visual Basic 6 merupakan pemrograman yang berbasis visual yang berjalan pada

Micosoft Windows. Visual Basic pada versi sebelumnya disebut bahasa BASIC dalam

aplikasi DOS. Visual Basic 6 merupakan event-driven programming artinya program

menunggu sampai adanya respon dari user berupa kejadian (event) tertentu, seperti

memilih menu, mengklik tombol, danlain-lain. Visual Basic juga termasuk pemrograman

yang didasarkan pada objek.

login

pencarian judul film

edit database

pembuatan laporan

Page 34: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

17

2.5.1 Struktur aplikasi Visual Basic

Struktur dalam aplikasi Visual Basic dapat dibagi menjadi beberapa bagian sebagai

berikut:

Form

Form adalah jendela untuk membuat tampilan (user interface).

Control

Control adalah tampilan yang berbasi grafis yang dimasukkan pada form untuk membuat

interaksi dengan user, seperti textbox, label, button, dan lain sebagainya)

Properties

Nilai/karakteristik yang dimiliki oleh sebuah objek Visual Basic. Contohnya seperti:

name, caption, size, color, text, dan lain sebagainya.

Method

Kumpulan dari perintah yang sudah tersedia pada objek yang dapat diminta untuk

mengerjakan tugas khusus.

Event

Sama seperti method hanya saja event lebih dikendalikan oleh kejadian yang dikerjakan

oleh user.

General Procedure

Kode yang tidak berhubungan dengan suatu objek

Module

Kumpulan dari prosedur umum, deklarasi variabel dan definisi nilai aygn digunakan oleh

aplikasi.

Page 35: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

18

2.5.2 Windows API dengan Visual Basic

Untuk keperluan pengembangan aplikasi berbasis Windows yang handal, Microsoft

menciptakan sebuah antarmuka (interface) pemrograman berupa sekumpulan prosedur

dan fungsi yang memiliki kemampuan mengakses kekuatan sistem. Sekumpulan prosedur

dan fungsi tersebut kemudian dikenal dengan dengan istilah Aplication Programming

Interface atau yang lebih familiar dengan sebutan API. Setiap tugas yang dilakukan

program lewat fungsi API selalu memanfaatkan file .dll yang terdapat dalam direktori

Windows. Beberapa yang sering digunakan adalah:

user32.dll. File ini dipakai untuk mengkontrol objek-objek yang terlihat pada layar.

gdi32.dll. Merupakan gudang kode pemrograman berorientasi grafik dari API.

kernel32.dll. Di dalamnya terdapat fitur-fitur untuk mengakses sistem operasi tingkat

bawah.

DLL (Dinamic Link Library) adalah kode yang sudah dikompilasi dan dapat digunakan

oleh program lain. DLL ini dapat digunakan dari bermacam-macam bahasa pemrograman

seperti Assembly, Delphi, C++.

Pendeklarasian fungsi API dalam Visual Basic sebagai berikut :

Declare Sub/Function) Nama_Fungsi Lib “Nama_Library”

[Alias _ “Alias_Fungsi”] ( [[byVal/byRef] variabel [as

type] [,byVal/byRef variabel [as type]]…)

Page 36: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

19

Contoh dari pendeklarasian API :

Public Declare Function GetFileSize Lib “kernel32.dll”

(byVal hFile As Long, _lpFileSizeHigh As Long) as Long

Setelah fungsi API dideklarasikan, maka berikut adalah contoh dari pemangilan fungsi

API pada form pada bagian event load.

Private Sub Form1_Load()

Dim x As Long

Dim hFile Aa Long

Dim FileSize as long

X=GetFileSize(hFile, FileSize)

End Sub

2.5.2.1 Fungsi-Fungsi API

Beberapa fungsi API dalam windows yang digunakan dalam program program ini :

a) Membuat atau membuka file.

Fungsi API uintuk membuat atau membuka file pada media penyimpanan adalah

menggunakan fungsi CreateFile. Format Pendeklarasiannya sebagai berikut :

Declare Function CreateFile Lib “kernel32.dll” Alias

“CreateFileA” (byVal lpFileName as String, byVal _

dwDesiredAccess As Long, byVal , dwShareMode As Long,

lpSecurityAttribute As SECURITY_ATTIBUTE, byVal _

dwCreationDisposition As Long, byVal dwFlagAndAttribute _

As Long, byVal hTemplateFile As Long) As Long

Page 37: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

20

Keterangan:

Parameter untuk fungsi CreateFile :

lpFileName

Nama File yang akan dibuka atau dibuat.

dwDesiredAccess

Dapat berisi nilai 0 atau salah satu flag berikut :

• GENERIC_READ : untuk membaca data dari file

• GENERIC_WRITE : untuk menulis data ke dalam file

dwShareMode

Dapat berisi 0 atau nilai flag berikut:

• FILE_SHARE_READ : mode share untuk membaca.

• FILE_SHARE_WRITE : mode share untuk menulis.

lpSecurityAttribute

Attibut untuk membuat atau membuka file. Untuk penggunaan di Windows 95 nilai harus

diset dengan 0.

dwCreationDisposition

Flag untuk membuat file atau membuka file, dan bergantung pada ada atau tidaknya file.

• CREATE_NEW : membuat file baru. Fungsi akan gagal, jika file tidak ada.

Page 38: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

21

• CREATE_ALWAYS : membuat file baru, jika ada nama file yang sama maka akan

tertimpa.

• OPEN_EXISTING : membuka file. Fungsi akan gagal jika file tidak ditemukan.

• OPEN_ALWAYS : membuka file. Jika file tidak ada maka akan dibuatkan yang

baru.

dwFlagAndAttribute

Kombinasi flag berikut menspesifikasikan antara attibut file dengan akses file :

• FILE_ATTRIBUTE_ARCHIEVE : file arsip.

• FILE_ATTRIBUTE_HIDDEN : file yang disembunyikan.

• FILE_ATTRIBUTE_NORMAL : file yang tidak ada kombinasi atribut lainnya.

• FILE_ATTRIBUTE_READONLY : file yang hanya bisa dibaca.

• FILE_ATTRIBUT_SYSTEM : file sistem.

hTemplateFile

Handle dari berkas yang terbuka untuk menyalin atribut yang dispesifikasikan, atau nilai

0 jika tidak ingin menyalin atribut file.

b) Mengubah atribut file.

Fungsi API untuk mengubah atribut file menggunakan SetFileAttributes.

Format pendeklarasiannya sebagai berikut :

Page 39: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

22

Public Declare Function SetFileAttributes Lib "kernel32"_

Alias "SetFileAttributesA" (ByVal lpFileName As String,_

ByVal dwFileAttributes As Long) As Long

Keterangan :

Parameter untuk fungsi SetFileAttributes:

lpFileName

Nama file yang akan diubah atributnya.

dwFileAttributes

Spesifikasi flag atribut untuk file yang akan diubah, dapat berupa kombinasi sebagai

berikut :

• FILE_ATTRIBUTE_ARCHIVE : file arsip.

• FILE_ATTRIBUTE_HIDDEN : file yang disembubyikan.

• FILE_ATTRIBUTE_NORMAL : menset file jika tidak punya atribut.

• FILE_ATTRIBUTE_READONLY : file yang hanya boleh dibaca.

• FILE_ATTRIBUTE_SYSTEM : file sistem.

Jika berhasil maka keluarannya akan berupa nilai tidak 0, jika gagal akan mengeluarkan

nilai 0.

c) Mendapatkan atribut file

Fungsi API untuk mendapatkan atribut file mengginakan GetFileAttributes.

Format pendeklarasiannya sebagai berikut :

Page 40: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

23

Public Declare Function GetFileAttributes Lib_

"kernel32" Alias "GetFileAttributesA" (ByVal_

lpFileName As String) As Long

Keterangan :

Parameter untuk fungsi GetFileAttributes:

lpFileName

Nama file yang akan didapatkan atributnya

Jika berhasil maka keluarannya adalah nilai atribut, selain keluaran nilai bukan atribut

maka dianggap gagal.

d) Menutup handle.

Fungsi API untuk menutup handle dari objek yang terbuka adalah menggunakan

CloseHandle. Format pendeklarasiannya sebagai berikut :

Public Declare Function CloseHandle Lib "kernel32"

Alias "CloseHandle" (ByVal hObject As Long) As Long

Keterangan :

Parameter untuk fungsi CloseHandle:

hObject

Identitas dari handle objek yang sedang terbuka. Dalam hal ini membuka file

menggunakan CreateFile adalah sama seperti membuka sebuah objek.

Page 41: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

24

e) Memflush buffer data file.

Fungsi API untuk memflush data pada handle file menggunakan

FlushFileBuffer. Format pendeklarasiannya sebagai berikut :

Public Declare Function FlushFileBuffers Lib_

"kernel32" Alias "FlushFileBuffers" (ByVal hFile As_

Long) As Long

Keterangan :

Parameter untuk fungsi FlushFileBuffers :

hFile

Handle dari file yang akan diflush datanya.

Page 42: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

25

BAB III

ANALISIS dan PERANCANGAN SISTEM 3.1 Analisis Sistem

3.1.1 Model Use Case

User Gambar 3.1 Use Case Diagram

Menghapus file dengan metode fast

Menghapus file dengan metode medium

Menghapus file dengan metode secure

Menjelajahi media penyimpanan

Pencarian file

Keluar dari program

Page 43: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

26

-FindClose() : Long-FindFirstFile() : Long-FindNextFile() : Long-StripNull() : String+CompareString() : Boolean+FindEnd() : Boolean+findFile() : Long+getCountFolder() : Integer+getFolder() : Boolean+SearchFilePath() : Long+ResetArray() : void

-hFile : Long-hFileClose : Long-findNext : Long-searchNext : Long-countFolder : Long-fData : FileData-WFD : Win32_Find_Data-LastErrorNumber : Long-LastErrorString : String-LastErrorProc : String-subDir : String

Search

+FileType() : String+isArchieve() : String+isCompresses() : Boolean+isDirectory() : Boolean+isHidden() : Boolean+isNormal() : Boolean+isReadOnly() : Boolean+isSystem() : Boolean+isTemporary() : Boolean

+FileName : String+pathName : String+fileAtribute : String+fileSize : Double

FileData

+dwAttributes : Long+ftCreationTime : FileTime+ftLastAccessTime : FileTime+ftLastWriteTime : FileTime+nFileSizeHigh : Long+nFileSizeLow : Long+dwReserved0 : Long+dwReserved1 : Long+cFileName : String+cAlternate : String

Win32_Find_Data

+dwLowDateTime : Long+dwHighDateTime : Long

FileTime

Gambar 3.1 menunjukkan hubungan user dengan program, user dapat melakukan

3 operasi penghapusan yaitu dengan metode Fast, Medium dan Secure.

3.2 Perancangan Sistem 3.2.1 Class Diagram

Didalam program ini terdapat beberapa kelas penting, yaitu kelas Search untuk

pencarian file dan kelas WipeFile untuk me-wipe file. Berikut adalah gambar dari kelas

tersebut.

Kelas Search

Gambar 3.2 Kelas untuk pencarian

Page 44: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

27

Pada program yang dibuat oleh penulis dilengkapi dengan fasilitas pencarian file

untuk memudahkan proses penghapusan. Gambar 3.2 adalah rancangan kelas diagram

dari kelas Search yang berfungsi untuk mencari file.

Kelas Wipe

+nonSecureDelete() : Boolean+SecureDelete() : Boolean+setChunk() : void-setReminder() : void+FileExist() : Boolean+isUseByProcess() : Boolean+getPercentProcess() : Integer+getLastErrNumber() : Long+getLastErrString() : String+getLastErrProc() : String+isValidAttribute() : Boolean+isDirectory() : Boolean+stopSecureWipe() : void+setAttributeToNormal() : void+RenameAndKill() : Boolean-FlushFileBuffers() : Long-GetFileAttributes() : Long-SetFileAttributes() : Long-CloseHandle() : Long-CreateFile() : Long+mediumDelete() : Boolean

-handle : Long-fNext : Long-reminder : Long-Pointer : Double-strTemp : String-strRemind : String-totalLoop : Long-countLoop : Long-fileSize : Double-percentProcess : Integer-LastErrorNumber : Long-LastErrorString : String-LastErrorProc : String

WipeFile

+DeleteTreeDir() : void+WipeFileInFolder() : Boolean+WipeFileNonSecure() : Boolean+WipeFileSecure() : Boolean

+WipeNextProcess : Boolean+WipeProgress : Boolean+FileCounter : Integer+stepFolder : Integer+tvSorting : Boolean+arry : String+FileSizeWipe : Long

WipeFileMod

Gambar 3.3 Kelas WipeFile Gambar 3.3 adalah rancangan dari kelas WipeFile yang berfungsi untuk

menghapus file secara permanen.

Page 45: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

28

3.2.2 Flowchart

Flowchart atau diagram alir dari ssstem ini dapat dibagi menjadi dua bagian, yaitu

diagram alir jalannya program secara keseluruhan dan proses menghapus file secara

permanen.

Gambar 3.4 Ruuning Program

Page 46: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

29

Gambar 3.5 Proses Menghapus

Page 47: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

30

3.2.3 Kelas dan Module

Beberapa module yang terkait dalam pembuatan program ini :

a. WipeFileMod

Module ini berisi fungsi-fungsi untuk menghapus file.

Public Function WipeFileNonSecure(path As String, fName As String) As Boolean

Fungsi diatas adalah untuk menghapus file dengan metode NonSecure dan fungsi

ini gabungan beberapa fungsi yang ada pada class WipeFile, akan dijelaskan pada

sub bab Metode Penghapusan dalam bab ini

Public Function WipeFileSecure(path As String, fName As String, WipeNext As Boolean) As Boolean

Fungsi diatas adalah untuk menghapus file dengan metode Secure dan fungsi ini

gabungan beberapa fungsi yang ada pada class WipeFile, akan dijelaskan pada

sub bab Metode Penghapusan dalam bab ini.

Public Function WipeFileInFolder() As Boolean

Fungsi diatas untuk menghapus file-file yang berada di dalam directory dan sub

directory, juga akan menghapus sub directory.

Public Function DeleteTreeDir()

Fungsi diatas untuk menghapus directory dan sub directory didalamnya.

Page 48: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

31

b. TableViewMod

Module ini berisi fungsi-fungsi untuk pengaturan User Interface, seperti icon,

nama file, dan pengaturan tabel pada form utama.

Beberapa kelas yang terkait dalam pembuatan program :

a. WipeFile

Class ini berisi fungsi-fungsi dan variable untuk menghapus file

Konstanta untuk mendeklarasikan status atribut file.

Private Const FILE_ATTRIBUTE_READONLY = &H1

Private Const FILE_ATTRIBUTE_HIDDEN = &H2

Private Const FILE_ATTRIBUTE_SYSTEM = &H4

Private Const FILE_ATTRIBUTE_ARCHIVE = &H20

Private Const FILE_ATTRIBUTE_NORMAL = &H80

Private Const FILE_ATTRIBUTE_DIRECTORY = &H10

Konstanta untuk mendeklarasikan status ketika membuka file..

Private Const GENERIC_WRITE = &H40000000

Private Const TRUNCATE_EXISTING = 5

Private Const FILE_FLAG_NO_BUFFERING = &H20000000

Private Const FILE_FLAG_WRITE_THROUGH = &H80000000

Private Const OPEN_EXISTING = 3

Beberapa fungsi yang terkait :

Public Function nonSecureDelete(nFile As String) As Boolean

Fungsi diatas untuk menghapus file dengan modus nonSecure.

Public Function SecureDelete(nFile As String) As Boolean

Fungsi diatas untuk menghapus file dengan modus Secure.

Page 49: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

32

Public Sub setChunk(chunk As Integer)

Fungsi diatas untuk mengeset chunk atau buffer yang digunakan untuk menghapus

file, fungsi ini digunakan khusus pada modus Secure.

Private Sub setReminder(remind As Long)

Fungsi diatas untuk mengeset buffer yang digunakan menghapus file, berbeda

dengan fungsi setChunk, fungsi ini hanya mengambil nilai sisa pembagian dari

besarnya file.

Public Function FileExist(aFile As String) As Boolean

Fungsi diatas untuk mengecek keberadaan file, apakah ada atau tidak? Akan

mengembalikan nilai true jika file ada, false sebaliknya.

Public Function isUseByProcess(fName As String) As Boolean

Fungsi ini untuk mengecek apakah file sedang digunakan oleh proses lain atau

tidak? Jika sedang digunakan proses lain maka nilai baliknya adalah true, dan

false bila tidak digunakan proses lain.

Public Function isValidAttribute(fName As String) As Boolean

Fungsi ini untuk mengecek apakah atribut file layak untuk dihapus atau tidak.

Public Function isDirectory(fName As String) As Boolean

Fungsi diatas untuk mengecek atribut file, apakah file tersebut directory atau

bukan?

Page 50: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

33

Public Sub stopSecureWipe()

Fungsi diatas untuk menghentikan proses wipe secara paksa, hanya bisa dilakukan

dengan metode Secure.

Public Function setAttributeToNormal(nFile As String)

Fungsi diatas untuk mengeset nilai atribut file apa saja ke atribut file normal, agar

bisa dihapus.

Private Function RenameAndKill(rFile As String) As Boolean

Fungsi diatas untuk me-rename dan menghapus file. Fungsi ini seperti

menghilangkan jejak, agar file tidak dapat di recovery.

Beberapa fungsi API Windows yang terkait Private Declare Function FlushFileBuffers Lib "kernel32" (ByVal hFile As Long) As Long

Fungsi diatas digunakan untuk menghapus spesifik buffer yang digunakan untuk

menulis ke file.

Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal

lpFileSpec As String) As Long

Fungsi diatas digunakan untuk mendapatkan atribut file.

Private Declare Function SetFileAttributes Lib "kernel32" Alias "SetFileAttributesA" (ByVal

lpFileSpec As String, ByVal dwFileAttributes As Long) As Long

Fungsi diatas digunakan untuk mengeset atribut file.

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Page 51: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

34

Fungsi diatas digunakan untuk menutup handle.

Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As

String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes

As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal

hTemplateFile As Long) As Long

Fungsi diatas digunakan untuk membuka handle

b. Search

Class ini berisi fungsi-fungsi untuk pencarian file.

Beberapa fungsi yang ada di dalamnya :

Public Function findFile(path As String, filetype As String, fData As FileData) As Long

Fungsi diatas untuk mencari file didalam directory yang sedang aktif.

Public Function searchFilePath(path As String, fData As FileData, filetype As String, strWord As

String, stopSearch As Boolean) As Long

Fungsi diatas untuk mencari file didalam directory dan sub directory, fungsi ini

juga memakai fungsi findFile yang sebelumnya sudah dijelaskan.

Public Function CompareString(strWord As String, Word As String) As Boolean

Fungsi diatas untuk membanding kan nama file dengan kata yang ingin dicari.

3.3 Uji Coba dalam media penyimpanan

Penulis telah melakukan percobaan berdasarkan dasar teori yang ada untuk melihat

keadaan sebuah file ketika diciptakan dan dihapus didalam sebuah media penyimpanan.

Penulis menggunakan sampel media penyimpanan flashdisk 128Mb yang dipartisi

Page 52: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

35

menjadi 2 bagian, yaitu 8 Mb dan 120 Mb, karena dirasa menggunakan hardisk akan

sangat sulit mencari lokasi file, jadi lebih baik menggunakan media penyimpanan yang

ukurannya lebih kecil agar lokasi file dapat dicari dengan mudah. Penulis menggunakan

tools program HEX Editor untuk membuka media penyimpaan dan Snapshot untuk

merekam hasilnya. Berikut adalah hasil dari percobaan :

1. Pertama-tama menciptakan file Readme.txt, tampak pada gambar 3.6 adalah keadaan

directory entry menggunakan Hex Editor. Dan gambar 3.7 adalah data dari file

Readme.txt, terlihat letak nama file dan data-nya ditempatkan pada posisi yang

berbeda, posisi nama file terletak pada alamat 0x20 dan datanya pada alamat 0x40

(alamat cluster pertama).

Gambar 3.6

Gambar 3.7

2.Penulis mencoba membuat directory yang bernama MYFOLDER dan menyalin file

hello.txt kedalamnya, nampak pada gambar 3.8 ada tambahan informasi setelah file

Page 53: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

36

readme.txt, tetapi informasi file hello.txt tidak ada, dikarenakan file hello.txt adalah

bagian dari directory MYFOLDER, jadi akan ditempatkan sebagai data. Dan gambar

3.9 adalah rekaman data dari file hello.txt

Gambar 3.8

Gambar 3.9

3.Penulis menghapus file readme.txt dari media penyimpan menggunakan tombol

shift+del. Gambar 3.10 adalah hasil rekamannya. Terlihat ada nilai 0xE5 pada karakter

pertama, menandakan bahwa tempat itu bebas sekarang dan boleh dipakai, artinya jika

ada file lain yang masuk, kemungkinan informasi yang lalu akan tertimpa begitu juga

dengan datanya. Dan gambar 3.11 memperlihat data dari file readme.txt belum diubah

sama sekali, ini menandakan bahwa Sistem Operasi hanya mengubah nilai pada

directory entry saja tetapi tidak pada datanya, dan kemungkinan data akan bisa di-

recovery kembali, jika belum ada file yang menempati ruang bebas itu.

Page 54: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

37

Gambar 3.10

Gambar 3.11

Page 55: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

38

BAB IV

IMPLEMENTASI DAN ANALISA 4.1 Implementasi Program

Pada bab ini akan menjelaskan cara kerja program untuk menghapus file dan

menjelaskan fungsi-fungsi dari module dan class yang ada.

4.1.1 Form Utama Form utama memiliki peranan untuk menyediakan fasilitas yang disediakan oleh

program, seperti menu, interface yang menyerupai explorer, toolbar menu untuk

pengaksesan secara cepat. Didalam form ini juga menginisialisasi beberapa class dan

variable yang akan digunakan pada proses selanjutnya, terdapat pada fungsi

form_load(), juga terdapat fungsi untuk melihat file didalam directory dan sub directory,

yang diatur oleh fungsi pathchange(). Dan fungsi untuk me-wipe file.

Page 56: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

39

Gambar 4.1 Form_load

Fungsi ini adalah ketika pertama kali program di dijalankan, program akan

menginisialisasi beberapa variabel dan kelas. Berikut adalah potongan listing programnya

pada gambar 4.2.

... Dim path As String, FileType As String Set srcEng = New search ' -- Create Object Search Set fData = New FileData ' -- Create Object FileData Set Wipe = New WipeFile ' -- Create Object WipeFile Set FileProcess = New ProcessFile ' -- Create Object FileProcess Wipe.setChunk (31 * 1024) ' -- Set Chunk ...

Gambar 4.2

PathChange()

Fungsi ini untuk mengkontrol komponen yang menyerupai explorer, berguna

untuk merefresh tampilan. Berikut adalah potongan listing programnya pada gambar 4.3.

Page 57: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

40

Public Sub PathChange() On Error GoTo erlLabel RefreshView Exit Sub erlLabel: retn = SaveLastError("ErrorLog.txt", "frmMain::PathChange") MsgBox "An Error is occure!" + " Please check at ErrorLog.txt" + vbCrLf + "Application will shutdown now!", vbCritical, "Error" CloseUp End End Sub

Gambar 4.3 4.1.2 Form Progress Form progress akan muncul ketika proses wiping file sedang berjalan dan

menghitung waktu yang sudah terlewat. Juga ada tombol stop untuk menghentikan proses

di tengah-tengah. Tombol stop ini digunakan untuk membatalkan proses wiping file,

tetapi file yang sudah terhapus dalam proses wiping tidak bisa kembali, hanya file yang

belum terkena proses wiping yang akan tetap utuh. Gambar 4.4 adalah bentuk dari Form

progress.

Gambar 4.4

Page 58: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

41

Tombol Stop

Fungsi ini berguna untuk menghentikan program secara paksa ketika proses

wiping sedang berlangsung. Berikut adalah listing programnya pada gambar 4.5

Private Sub btnStop_Click() frmMain.tmrNonSecureDelete.Enabled = False frmMain.tmrSecureDelete.Enabled = False Wipe.stopSecureWipe frmMain.Enabled = True frmMain.Visible = True Unload Me End Sub

Gambar 4.5

4.1.3 Proses Wiping

Proses wiping dikendalikan oleh fungsi timer pada form utama, dimana

dikategorikan menjadi 3 bagian yaitu proses wiping dengan metode NonSecure, proses

wiping dengan metode Secure dan metode Medium yang merupakan gabungan metode

Secure dan NonSecure. Proses wiping NonSecure terletak pada fungsi

tmrNonSecureDelete() pada form utama dan proses wiping Secure terletak pada fungsi

tmrSecureDelete().. Dan ada satu fungsi penting lagi yaitu tmrWipeInFolder() yang

berguna ketika melakukan wiping file didalam directory dan sub directory.

Metode NonSecure

Didalam fungsi tmrNonSecureDelete() terdapat fungsi WipeFileNonSecure()

dimana fungsi ini yang berguna untuk me-wiping file dengan mengakses class Wipe..

Gambar 4.6 adalah urutan fungsinya :

Page 59: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

42

Gambar 4.6

Fungsi tmrNonSecureDelete() berfungsi untuk mengendalikan proses agar tidak

terlalu cepat. Dan fungsi WipeFileNonSecure() berguna untuk me-wipe file dimana dia

akan mengakses 2 fungsi yang bergantung pada : jika terdapat directory maka akan

mengakses fungsi tmrWipeInFolder() terlebih dahulu. Dan fungsi

Wipe.nonSecureDelete() untuk me-wipe file.

tmrNonSecureDelete()

Program mendeteksi atribut file, apakah directory atau bukan.

Jika file beratribut directory maka fungsi tmrWipeInFolder() akan dijalankan, jika bukan

directory maka fungsi WipeFileNonSecure() akan dijalankan. Gambar 4.7 adalah

potongan dari listing programnya.

tmrNonSecureDelete()

WipeFileNonSecure()

Wipe.nonSecureDelete()

tmrWipeInFolder()

WipeInFolder()

WipeFileNonSecure()

Page 60: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

43

Private Sub tmrNonSecureDelete_Timer()

On Error GoTo erlLabel

...

If Wipe.isDirectory(path + tableView.ListItems(FileCounter)) Then

tmrNonSecureDelete.Enabled = False

tmrWipeInFolder.Enabled = True

...

Else

retn = WipeFileNonSecure(path, tableView.ListItems(FileCounter))

...

End If

...

Gambar 4.7

Wipe.nonSecureDelete()

Program akan secara paksa menciptakan file dengan nama yang sama dengan file

yang akan dihapus, ini menyebabkan ukuran file yang baru menjadi 0 bytes. Gambar 4.8

adalah potongan lisitng programnya

...

fhnd = CreateFile(nFile, GENERIC_WRITE, 0, 0, TRUNCATE_EXISTING, 0, 0)

If fhnd = -1 Then

CloseHandle fhnd

nonSecureDelete = False

Exit Function

Else

...

Gambar 4.8

Page 61: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

44

Program akan membersihkan segala buffer yang berhubungan dengan file yang

akan dihapus. Proses ini dilakukan untuk mencegah apabila masih ada buffer yang ingin

menulis ke file yang akan dihapus maka akan dikosongkan. Gambar 4.9 adalah potongan

listing programnya.

...

FlushFileBuffers (fhnd) 'Flush any buffers the system used for the file

...

Gambar 4.9

Kita dapat memilih pilihan untuk metode NonSecure lewat konfigurasi program

seperti pada gambar 4.10.

Gambar 4.10

Metode Secure

Didalam fungsi tmrSecureDelete() terdapat fungsi WipeFilenSecure() dimana

fungsi ini yang berguna untuk me-wiping file dengan mengakses class Wipe. Berikut

gambar 4.11 adalah urutan fungsinya :

Page 62: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

45

Gambar 4.11

Fungsi tmrSecureDelete() berfungsi untuk mengendalikan proses agar tidak

terlalu cepat. Dan fungsi WipeFileSecure() berguna untuk me-wipe file dimana dia akan

mengakses 2 fungsi yang bergantung pada : jika terdapat directory maka akan mengakses

fungsi tmrWipeInFolder() terlebih dahulu. Dan fungsi Wipe.SecureDelete() untuk me-

wipe file.

tmrSecureDelete()

Program mendeteksi atribut file, apakah directory atau bukan?

Jika file beratribut directory maka fungsi tmrWipeInFolder() akan dijalankan, jika bukan

directory maka fungsi WipeFileSecure() akan dijalankan.

... If Wipe.isDirectory(path + tableView.ListItems(FileCounter)) Then tmrSecureDelete.Enabled = False tmrWipeInFolder.Enabled = True ... Else If WipeNextProcess = False Then retn = WipeFileSecure(path, tableView.ListItems(FileCounter), False): WipeNextProcess = True If WipeNextProcess = True Then retn = WipeFileSecure(path, tableView.ListItems(FileCounter), True) frmProgress.txtFileName.Text = tableView.ListItems(FileCounter) frmProgress.barProcess1.Value = Wipe.getPercentProcess End If ...

Gambar 4.11

tmrSecureDelete()

WipeFileSecure()

Wipe.SecureDelete()

tmrWipeInFolder()

WipeInFolder()

WipeFileSecure()

Page 63: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

46

Wipe.SecureDelete()

Program menginisialisasi variable terlihat pada potongan listing program pada

gambar 4.12

... If fNext = False Then handle = FreeFile Pointer = 1 countLoop = 0 percentProcess = 0 fileSize = FileLen(nFile) nChunk = Len(strTemp) ...

Gambar 4.12 Program akan menghitung besarnya file yang akan dihapus terlihat pada potongan

listing program pada gambar 4.13

... If fileSize <> 0 Then If fileSize < nChunk Then reminder = 0 totalLoop = 1 Else reminder = fileSize Mod nChunk setReminder reminder totalLoop = CLng(Fix(fileSize / nChunk)) End If Else ' -- This code adding to delete file with Zero Length retn = nonSecureDelete(nFile) percentProcess = 100 SecureDelete = False fNext = False Exit Function End If ...

Gambar 4.13

Page 64: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

47

Proses menghancurkan data terlihat pada potongan listing program pada gambar 4.14

... ElseIf fNext = True Then If countLoop <> totalLoop Then Put handle, Pointer, strTemp percentProcess = CInt((Pointer / fileSize) * 100) Pointer = Pointer + Len(strTemp) countLoop = countLoop + 1 SecureDelete = True ElseIf countLoop = (totalLoop) Then Put handle, Pointer, strRemind Close handle retn = nonSecureDelete(nFile) percentProcess = 100 SecureDelete = False fNext = False End If End If Exit Function ...

Gambar 4.14

Kita dapat memilih pilihan untuk metode Secure lewat konfigurasi program

seperti pada gambar 4.15.

Gambar 4.15 Metode Medium

Metode ini merupakan gabungan dari metode NonSecure dengan Secure, yaitu

dengan cara menghapus beberapa byte header saja untuk memastikan bahwa data yang

akan kemungkinan di-recovery tidak dapat dijalankan, seperti program executable

contohnya. Berikut adalah urutan fungsinya pada gambar 4.16

Page 65: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

48

Gambar 4.16

Fungsi tmrMediumDeleted() berfungsi untuk mengendalikan proses agar tidak

terlalu cepat. Dan fungsi WipeFileMedium() berguna untuk me-wipe file dimana dia akan

mengakses 2 fungsi yang bergantung pada : jika terdapat directory maka akan mengakses

fungsi tmrWipeInFolder() terlebih dahulu. Dan fungsi Wipe.MediumDelete() untuk me-

wipe file.

tmrMediumDelete()

Program mendeteksi atribut file, apakah directory atau bukan.

Jika file beratribut directory maka fungsi tmrWipeInFolder() akan dijalankan, jika bukan

directory maka fungsi WipeFileMediume() akan dijalankan. Gambar 4.17 adalah

potongan dari listing programnya.

tmrMediumDeleted()

WipeFileMedium()

Wipe.MediumDelete()

tmrWipeInFolder()

WipeInFolder()

WipeFileMedium()

Page 66: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

49

Private Sub tmrMediumDeleted_Timer()

On Error GoTo erlLabel

...

If Wipe.isDirectory(path + tableView.ListItems(FileCounter)) Then

tmrMediumDeleted.Enabled = False

tmrWipeInFolder.Enabled = True ...

Else

retn = WipeFileMedium(path, tableView.ListItems(FileCounter))

...

End If

...

Gambar 4.17

Wipe.MediumDelete()

Program akan menghitung besarnya file yang akan dihapus dan mengeset nilai

besarnya byte yang akan dihapus yaitu 30 bytes terlihat pada potongan listing program

pada gambar 4.18

...

fileSize = FileLen(nFile)

If fileSize <> 0 Then

If fileSize < 30 Then ‘ –- setting byte

setChunk CInt(fileSize)

Else

setChunk 30

End If

...

Gambar 4.18

Page 67: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

50

Program akan menghapus beberapa bytes pertama dari data terlihat pada potongan

listing program pada gambar 4.19

... Pointer = 1 Open nFile For Binary As handle Put handle, Pointer, strTemp Close handle ...

Gambar 4.19

Kita dapat memilih pilihan untuk metode Medium lewat konfigurasi program

seperti pada gambar 4.20.

Gambar 4.20

4.2 Analisa Hasil

Analisa hasil didapat dari uji coba program menggunakan media penyimpanan

flashdisk 256mb yang telah di fomat terlebih dahulu. Dalam uji coba ini akan

menggunakan program recovery untuk melihat hasil dari program yang ini setelah file

dihapus dari disk. Contoh program recovery yang akan dipakai adalah Smart FAT

Recovery. Berikut adalah hasilnya :

Page 68: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

51

Gambar 4.21 Smart FAT Recovery dapat mendeteksi nama file yang ada, dan atribut yang ada

pada file, tetapi ukuran file yang dideteksi adalah 0 bytes, ini yang menyebabkan file

tersebut tidak dapat direcovery. Jika kita melakukannya sekali lagi dengan cara metode

Secure, caranya hampir sama dengan langkah diatas, hanya pada setting program dipilih

Secure, secara sepintas lewat program recovery sama, tetapi ada perbedaan yang sangat

mendasar yaitu dengan metode Secure yaitu data terlebih dahulu dihancurkan baru

dihapus.

Dari hasil yang didapat dari program Smart FAT Recovery pada gambar 4.21

terdapat 3 nama file secara acak. Ini disebabkan oleh fungsi RenameAndKill() pada class

Wipe. Fungsi ini berguna untuk mengubah nama file dan menghapusnya agar nama file

tidak mudah dilacak.

Page 69: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

52

RenameAndKill()

Fungsi ini memakai bilangan acak terlihat pada potongan listing program pada gambar

4.22

Randomize Timer

...

Gambar 4.22

Dan memilih nama file secara acak lalu me-rename nama filenya terlihat pada potongan

listing program pada gambar 4.23

...

strList = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_ "

For i = 1 To 30

TempName = ""

For J = 1 To 100

tmpchr = CLng((Rnd * Len(strList)) + 1)

TempName = TempName + Mid(strList, tmpchr, 1)

Next

TempName = fDrive & TempName

Name rFile As TempName

rFile = TempName

Next

...

Gambar 4.23

Page 70: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

53

Bagian terakhir adalah menghapus filenya terlihat pada potongan listing program pada

gambar 4.24

...

Kill TempName

RenameAndKill = True

...

Gambar 4.24

Perbedaan metode Fast, Medium dan Secure pada proses kehilangan data Untuk dapat melihat persentase kehilangan datanya, dapat di uji coba

menggunakan flashdisk 128Mb yang dipartisi menjadi 2 bagian 8Mb dan 120Mb. Dan

untuk proses penghapusannya menggunakan partisi yang berukuran 8Mb dan file

berukuran 4Kb. Berikut adalah hasil uji coba pada setiap metode :

a. Non Secure

Gambar 4.25

Page 71: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

54

Pada gambar 4.25 dapat dilihat keadaan data didalam disk setelah dihapus menggunakan metode nonSecure, data tidak ada yang hilang. b. Medium

Gambar 4.26

Pada gambar 4.26 dapat dilihat keadaan data didalam disk setelah dihapus

menggunakan metode Medium, data dihancurkan pada 30 bytes pertama.

Page 72: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

55

c. Secure

Gambar 4.27

Pada gambar 4.27 dapat dilihat keadaan data didalam disk setelah dihapus

menggunakan metode Secure, data dihancurkan seluruhnya.

Page 73: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

56

Dapat disimpulkan dengan tabel pada gambar 4.28

Metode Proses kehilangan data Fast / NonSecure Data 100% utuh, tidak dihancurkan.

Medium Data hanya kehilangan 30 bytes pertama.

Secure Data dihancurkan 100%, sehingga tidak dapat dikembalikan.

Gambar 4.28

Hasil Uji coba program berdasarkan waktu

Waktu Spesifikasi komputer NonSecure Medium Secure

Ukuran

AMD Athlon(tm)XP 3000+ 2.16 Ghz 512 Mb Windows XP

4 detik 4 detik 5 menit 20 detik

585.253.001 bytes

AMD Athlon(tm) 64 3000+ 2.71 Ghz 1.00 Gb Windows XP

4 detik 17 detik 7 menit 33 detik

1.224.780.793 bytes

Pentium(R) 4 CPU 3.20Ghz 3.21 Ghz 512 Mb Windows XP

10 detik 3 menit 18 detik

11 menit 52 detik

465.727.459 bytes

Gambar 4.29

Dapat dilihat pada gambar 4.29 bahwa perbedaan waktu antara metode

NonSecure dan Medium tidak terpaut jauh. Sedangkan untuk metode NonSecure dan

Secure terpaut jauh. Perbedaan waktu ini dikarenakan metode Secure lebih sering

menulis ke I/O disk, metode Medium juga menulis ke I/O disk tetapi tidak sesering

metode Secure, dan metode NonSecure dianggap diabaikan dalam menulis ke I/O disk.

Dan kecepatan proses penghapusan juga akan tergantung juga pada kecepatan I/O disk

Page 74: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

57

Hasil Uji coba program pada jaringan Windows XP dengan file sistem FAT Program akan diuji didalam jaringan komputer berbasis Windows XP dengan file

sistem FAT. Sebelumnya sharing directory diberi akses untuk dapat merubah semua isi

directory, sehingga dapat ditulisi oleh program. Berikut gambar 4.30 adalah hasilnya :

Gambar 4.30 Dapat dilihat pada gambar 4.30 program tidak dapat melakukan proses

penghapusan, nama file masih tercantum pada lokasi sharing directory. Dapat

disimpulkan bahwa program tidak dapat melakukan proses pada jaringan komputer.

Page 75: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

58

Hasil Uji coba program pada CD-RW

Program akan diujikan pada CD-RW, berikut gambar 4.31 adalah hasil dari

percobaannya :

Gambar 4.31 Dapat terlihat pada gambar 4.31 program mengalami kesalahan dalam proses

penghapusan dan data yang ada pada CD-RW tidak berhasil dihapus. Dapat disimpulkan

bahwa program tidak mampu melakukan proses penghapusan pada CD-RW.

4.3 Kelebihan dan Kekurangan Program.

4.3.1 Kelebihan Program

1. Dapat mengakses file-file yang akan dihapus dengan mudah, karena ada kotak

yang menyerupai explorer, sehingga dapat menjelajahi media penyimpanan

lebih user-friendly.

2. User dapat memilih metode penghapusan, yaitu dengan cara Secure

NonSecure dan Medium.

3. Dilengkapi dengan fasilitas Search untuk mencari file dengan mudah.

Page 76: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

59

4.3.2 Kekurangan Program

1. Program ini belum dapat menghilangkan jejak pada file seperti tanggal, waktu

dan nama file, dapat terlihat hasilnya pada gambar 4.21

2. Program ini belum dapat berjalan pada jaringan komputer Windows XP.

Page 77: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

60

BAB V

KESIMPULAN 5.1 Kesimpulan

Berdasarkan pengujian dan analisa yang telah dilakukan maka dapat diambil

beberapa kesimpulan dari pembuatan tugas akhir ini.

1. Program sudah berhasil berjalan dengan baik pada sistem operasi Windows pada

file sistem FAT.

2. Program sudah berhasil dibuat dan dapat berjalan dengan baik, menggunakan 3

metode yaitu metode NonSecure, Medium dan Secure.

3. Metode Non Secure dapat melakukan proses penghapusan secara cepat pada file

dengan ukuran apapun, tetapi datanya tidak dihancurkan, kemungkinan data dapat

dikenali dan di-recovery.

4. Metode Medium menggabungkan kedua metode yaitu NonSecure dan Secure,

yaitu untuk memperoleh kecepatan dan keamanan. Data tidak dihancurkan

seluruhnya tetapi hanya 30 bytes pertama saja, hanya untuk mencegah file tidak

dapat dieksekusi atau format file tidak dapat dikenali.

5. Metode Secure prosesnya berjalan lebih lambat dibandingkan metode NonSecure,

tergantung dari besarnya file yang akan dihapus. Dengan metode ini data

dihancurkan terlebih dahulu seluruhnya, sehingga data tidak dapat di-recovery.

6. Program ini memberi kemudahan untuk menghapus file lewat User Interfacenya

menyerupai kotak explorer.

Page 78: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

61

7. Program ini juga dilengkapi fasilitas Search untuk mencari file yang akan

dihapus.

8. Program ini belum dapat menghilangkan jejak file yang dihapus seperti tanggal,

waktu dan nama file walaupun isi dari file tersebut dapat dihancurkan, sehingga

dapat diketahui informasi tentang file yang dihapus sebelumnya, tetapi file tidak

dapat dibaca kembali.

9. Program tidak dapat melakukan proses penghapusan pada jaringan Windows XP

10. Program tidak dapat melakukan proses penghapusan pada CD-RW

5.2 Saran

1. Program ini dapat dikembangkan dengan memperbaiki Grapical User Interface

yang lebih sederhana, seperti Context Menu.

2. Dapat dikembangkan metode lain, yaitu dengan menambah enkripsi pada proses

penghapusannya.

3. Program ini dapat dikembangkan dengan adanya jadwal untuk menghapus file

pada lokasi directory tertentu.

4. Program ini dapat ditambahkan keamanannya dengan dapat menghilangkan jejak

file yang dihapus.

5. Program ini dapat ditambahkan kemampuannya untuk dapat menghapus lewat

jaringan komputer berbasis Windows dan dapat menghapus data pada CD-RW.

Page 79: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

96

DAFTAR PUSTAKA

Putra, Indra, Membuat Program Aplikasi Nyata dengan Visual Basic, 2004 Pandia, Henry, Visual Basic 6 Tingkat Lanjut, 2002 Whitten, J.L., Bentley, L.D., Dittman, K.C., Metode Desain dan Analisis Sistem

edisi 6, McGraw-Hill, 2002 http://staff.washington.edu/dittrich/misc/FatFormat.pdf http://www.ntfs.com/disk-scan.htm

Page 80: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

LAMPIRAN

Petunjuk Pemakaian Tampilan Utama

Gambar 1 Gambar 1 menunjukkan Tampilan Utama dari program RX-ERASER. Disini pemakai

dapat melihat dan dengan cepat mengoperasikan menu-menu yang ada. User interface ini

dibuat untuk memberikan kemudahan bagi pemakai agar dapat belajar dengan cepat

bagaimana cara pemakaian program ini, juga sekaligus memperkenalkan fungsi dari

program ini.

Page 81: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

Menu Program

Kontrol menu mengkonfigurasi program

dan keluar dari program

gambar 2

Kontrol Menu yang tidak asing bagi pemakai, yaitu untuk

mengoperasikan program dengan memilih item yang ada.

gambar 3

Kontrol Menu untuk melakukan proses penghapusan atau Wipe

gambar 4

Kontrol Menu untuk melihat author

gambar 5

gambar 6 Menu Toolbar yang dilengkapi dengan icon agar mudah dikenali oleh user berfungsi

untuk mengakses program secara cepat dengan menekan 1 tombol, terlihat pada gambar

6.

Page 82: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

Konfigurasi Program

gambar 7 Program dapat dikonfigurasi menjadi 3 operasi utama seperti yang terlihat pada gambar

7, yaitu Fast/NonSecure, Medium dan Secure. Dan pilihan Forced attribute jdigunakan

untuk menghapus semua file dengan atribut apa saja.

Page 83: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

Fasilitas Program

Program mempunyai fasilitas yaitu kotak yang menyerupai

explorer pada windows terlihat pada gambar 8, berfungsi

untuk memberikan kemudahan pada pemakai agar dapat

menyeleksi dan memilih file pada lokasi media

penyimpanan. Dan dapat memilih file yang akan dihapus

seperti yang terlihat pada gambar 9.

gambar 8

gambar 9

Page 84: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

Program juga dapat melakukan pencarian file guna untuk

menyeleksi file yang akan dihapus. Terlihat pada gambar

10.

gambar 10

Cara Pemakaian

Pemakai dapat menseleksi file menggunakan kotak yang menyerupai explorer seperti

yang terlihat pada gambar 8 dan gambar 9. Dan dapat langsung memilih menu Wipe pada

Menu Toolbar seperti pada gambar 11 atau menggunakan pulldown seperti pada gambar

12.

gambar 11

gambar 11

Page 85: APLIKASI UNTUK MENGHAPUS FILE SECARA PERMANEN PADA …

Tips

1. Gunakan metode Fast, jika ukuran file relatif besar.

2. Metode Medium sebaiknya digunakan pada program aplikasi atau file yang bisa

dieksekusi.

3. Jika anda mempunyai file dokumen seperti Word, Excel, Power Point, Rich Text

Document atau fie dcoument dengan format laiinya, lebih baik menggnakan metode

Secure untuk menghapusnya.