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