• Tidak ada hasil yang ditemukan

Bab ini berisi landasan teori yang dipakai untuk pembahasan laporan tugas akhir. BAB III ANALISA DAN PERANCANGAN SISTEM

BAB IV IMPLEMENTASI

Bab ini berisi tentang bagaimana mengimplementasikan program kedalam komputer, serta kendala yang dihadapi.

BAB V PENUTUP

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 :

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

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.

• 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.

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.

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

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.

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.

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

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 Login

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

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

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.

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]]…)

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

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.

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 :

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 :

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.

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

Dokumen terkait