SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
Oleh:
Ni Nengah Armoni
995314081
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dalam daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta,
5
Januari
2007
Penulis
Berdasarkan jumlah warnet yang ada menyebabkan besarnya persaingan
untuk menarik pengguna. Warnet-warnet tersebut saling berlomba-lomba
menawarkan berbagai fasilitas guna mendukung kenyamanan dan kemudahan
penggunanya. Pada umumnya fasilitas yang ditawarkan oleh warnet-warnet hampir
sama, tetapi ada beberapa warnet yang telah menerapkan fasilitas yang lebih
memudahkan pelayanan, salah satunya, yaitu Billing warnet.
Dalam tugas akhir ini, akan dikembangkan program billing warnet yang
digunakan menjamin keakuratan data pada pembayaran sewa warnet. Selain
memberikan kemudahan bagi seorang kasir untuk penghitungan biaya sewa warnet
oleh pengguna program ini juga dapat memberikan informasi bagi pengguna tentang
sewa yang harus dibayar.
Segala puji dan syukur kehadirat Ida Sang Hyang Widi Wasa atas anugrah
dan berkat-Nya sehingga penulis dapat menyelesaikan tugas akhir ini dengan judul
“
Sistem Pencatatan Pemakaian Fasilitas menggunakan Visual Basic 6.0
” ini
dengan baik. Penyusunan tugas akhir ini merupakan salah satu syarat untuk
menyelesaikan program sarjana (S-1) yang ada di Jurusan Teknik Informatika
Fakultas Teknik Universitas Sanata Dharma Yogyakarta.
Terwujudnya laporan tugas akhir ini berkat bantuan dan dorongan dari
berbagai pihak. Oleh sebab itu, pada kesempatan ini penulis ingin mengucapkan
terimakasih yang sebesar-besarnya atas segala bantuan dan jasa yang diberikan dalam
menyelesaikan tugas akhir ini, khususnya kepada:
1.
Rm. Greg. Helairko, selaku Dekan Fakultas Teknik atas bantuannya selama
ini.
2.
Ibu Agnes Maria Polina, S.Kom., M.Sc. selaku Ketua Jurusan Teknik
Informatika, atas bantuan dan dorongan serta semangat yang ibu berikan.
Terimakasih bu... karena ibu tidak pernah bosan membimbing kami.
3.
Drs. Haris Sriwindono, Skom, Selaku Dosen Pembimbing atas masukannya.
4.
Bapak Yudianto Asmoro, S.T. selaku dosen pembimbing akademik yang
banyak membantu dalam menyelesaikan kuliah.
7.
Ngebee “
Bentet
” makasih ya udah nemenin aku selama ini, makasi juga atas
dorongan dan semangatnya.
8.
Buat sahabatku DC, makasih atas semua bantuannya.
9.
Buat temen-temen di pondok Mapasadha atas suka dukanya selama ini. Untuk
Galih Thanx’s banget udah ngasi gratis ngenet diwarnetmu.
10.
Teman-teman seperjuanganku, Gogon, Anna, Piere, Irma, Kyky, Agus, Wisnu
Djawa dan yang lainnya. Eks TI 99 Wisnu “Jongos”, VQ, Indrug.
Teman-teman TI 99, untuk kebersamaanya selama ini.
11.
Teman-teman di kos 20e, Rino, Lodong, Kucrit, Maz Polo, Kepek, Jenggot,
Kumprung, Heru, dan Mandul.
Penulis menyadari masih ada banyak kekurangan dalam menyusun Tugas
akhir ini. Kritik dan saran yang bersifat membangun untuk perbaikan kegiatan pada
masa mendatang sangat diharapkan. Semoga Tugas Akhir ini dapat bermanfaat bagi
pembaca khususnya mahasiswa Teknik Informatika Universitas Sanata Dharma.
Yogyakarta, Januari 2007
BAB I
PENDAHULUAN
1.1
Latar Belakang
Sejak ditemukan komputer pertama kali, perkembangan teknologi dan
ilmu pengetahuan mengalami kemajuan yang semaki pesat hampir disegala
penjuru dunia. Kemajuan teknologi komputer yang begitu dominan menggebrak
dunia masih terus berlanjut hingga kini.
Kehadiran komputer tidak dapat disangkal lagi, yang membawa pengaruh
cukup besar terhadap kehidupan manusia. Sebelum adanya komputer pekerjaan
dilakukan secara manual dan membutuhkan waktu yang cukup lama, dan juga
keakuratan data kurang terjamin, tetapi dengan adanya komputer
kendala-kendala tersebut sudah dapat diatasi.
1.2
Rumusan Masalah
Dari uraian diatas, penulis mencoba untuk mempelajari bagaimana
membuat suatu program sistem pencatatan pemakian fasilitas yang
memperhatikan kemudahan bagi kasir dan pengguna dalam memperoleh
informasi biaya sewa pemakaian pada sebuah fasilitas.
1.3
Batasan Masalah
Supaya ruang lingkup penelitian tidak terlalu luas, maka program sistem
pencatatan pemakian fasilitas yang akan dibuat dibatasi oleh:
1.
Program ini hanya untuk perhitungan biaya sewa yang harus
dibayarkan pengguna kepada kasir.
2.
Kasir tidak bisa mengupdate data, ataupun menginputkan data. Yang
bisa mengupdate atau memasukkan data adalah administrator.
3.
Untuk keamanan, database hanya bisa diakses melalui
local host
.
4. Pengaksesan database menggunakan hak akses.
1.4
Tujuan Penelitian
Penulisan ini bertujuan dan bermanfaat untuk:
1.
Memudahkan pelayanan kepada pengguna fasilitas, yaitu dengan
memberikan informasi mengenai biaya sewa pemakian fasilitas dan
lamanya pemakaian.
3.
Memberikan kontribusi (pemikiran maupun program) mengenai
pemrograman khususnya sistem pencatatan pemakaian fasilitas
dengan menggunakan bahasa pemrograman Visual Basic 6.0
1.5
Metodelogi Penelitian
Metode penulisan yang digunakan adalah:
1.
Pengumpulan bahan sebagai dasar pembuatan program.
2.
Merancang program antara lain merancang sistem secara umum,
merancang menu, merancang tampilan yang dipergunakan.
3.
Membuat program, mengkonversikan rancangan kebentuk nyata satu
program utuh.
4.
Menganalisa dan menguji program.
1.6
Sistematika Penulisan
Sistematika penulisan yang digunakan adalah sebagai berikut:
BAB I
PENDAHULUAN
Mencakup Latar Belakang Masalah, Rumusan Masalah,
Batasan Masalah, Tujuan dan Manfaat Penulisan, Metode
Penulisan dan Sistematika Penulisan.
BAB II
LANDASAN TEORI
BAB III
ANALISIS dan PERANCANGAN SISTEM
Menjelaskan tentang analisis dan perancangan pembuatan
program yang meliputi rancangan sistem secara umum,
rancangan antarmuka/
interface
, dan rancangan
input/output
.
BAB IV
IMPLEMENTASI SISTEM dan HASIL PROGRAM
Bab ini berisi implementasi masing-masing tampilan atau
antarmuka, dan pembahasan.
BAB V
ANALISIS IMPLEMENTASI
Berisi tentang analisis program yang dibuat dan analisis
metode yang digunakan untuk merancang dan membuat
sistem
BAB VI
PENUTUP
Berisi tentang kesimpulan dan saran terhadap penulisan dan
penelitian.
DAFTAR PUSTAKA
2.1 Visual Basic
Visual basic merupakan salah satu bahasa pemrograman berbasis
windows yang memiliki fasilitas OOP (
Object Oriented Programming
) yang
menyediakan objek-objek yang sangat kuat,
powerfful
, dan mudah digunakan
dalam mendesain suatu aplikasi program (Halvorson, M, 2000). Kata “visual”
menunjukan cara yang digunakan untuk membuat GUI (
Grafical User Interface
)
dimana penulisan instruksi pemrograman tidak lagi dituliskan dalam kode-kode
baris tetapi dengan melakukan
drag
dan
drop
objek-objek yang akan digunakan
sehingga mempermudah dalam pemrograman, sedangkan “basic” merupakan
bagian bahasa BASIC (
Beginners All Purpose Symbolic Instruction Code
), yaitu
sebuah bahasa pemrograman yang dalam sejarahnya sudah banyak digunakan oleh
programer untuk menyusun aplikasi. Visual basic dikembangkan dari bahasa
pemrograman basic yang berisi banyak
statement
fungsi dan
keyword
, diantaranya
terhubung ke windows GUI.
2.1.1 Variabel
dimasukan oleh pemakai pada saat program dijalankan, hasil dari perhitungan
tertentu, atau data yang ingin ditampilkan pada form yang dibuat. Untuk
mendeklarasikan variabel digunakan
statement Dim
disertai dengan nama
variabelnya.
Berikut ini tata cara yang digunakan untuk mendeklarasikan sebuah
variabel:
o
Jika anda mendeklarasikan sebuah variabel lokal dengan
keyword
static,
maka variabel tersebut dapat menjaga nilainya, prosedur tempat
mendeklarasikannya sudah berakhir.
o
Jika mendeklarasikan sebuah variabel dalam bagian
declarations
pada
sebuah form, modul
standart
atau modul kelas membuat variabel tersebut
dapat digunakan pada semua prosedur dalam modul.
o
Jika mendeklarasikan sebuah variabel dengan menggunakan
keyword public
,
maka variabel ini akan dapat digunakan dalam lingkup aplikasi
(Halvorson,M., 2000)
2.1.2. Tipe Data
Tabel 2.1 Tabel jenis Tipe Data Visual Basic
Tipe Data Ukuran Range
Integer 2 byte -32,768 sampai 32,767
Long Integer 4 byte -2,147,483,648 sampai 2,147, 483,647
Single-prescion
floating point
4 byte -3.402823E38 sampai 3.402823E38
Doble-prescion
floating point
8 byte -1.79769313486232D308 sampai
1.797693148623D308
Currency 8 byte -922337203685477.5808 sampai
922337203685477.5807
String 1 byte per karakter 0 sampai 65,535
Boolean 2 byte True atau false
Date 8 byte 1 januari 100 sampai 31 desember 9999
Variant 16 byte (untuk angka);
22 byte + 1 byte per
karakter (untuk string)
2.1.3 Operator
Tabel 2.2 Tabel Operator yang disediakan Visual Basic
Operator Operator Matematika
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
\ Pembagian Integer (angka bulat)
Mod Sisa pembagian
^ Pangkat
& Penggabungan string
2.1.4
Struktur Keputusan
Struktur keputusan merupakan ekspresi berkondisi pada blok
pernyataan khusus yang digunakan untuk mengendalikan apakah program akan
djalankan atau tidak.
1.
Struktur keputusan
If ... Then
Struktur keputusan
If ... Then
mengizinkan untuk mengevaluasi
sebuah kondisi program dan melakukan tindakan berdasarkan hasilnya.
Dalam bentuk yang paling sederhana, struktur keputusan
If ... Then
ditulis
dalam satu baris tunggal:
If condition Then Statemen
t
ekspresi berkondisi. Blok pernyataan ini panjangnya bisa beberapa baris dan
mengandung kata-kata kunci yang penting seperti
elseIf, else
dan
end If
.
2.
Struktur keputusan
select case
Struktur
select case
serupa dengan
If...Then...ElseIf
, tetapi lebih efisien
apabila percabangan bergantung pada satu variabel kunci atau
test case.
Berikut ini sintaks penulisan struktur keputusan
select case
adalah sebagai
berikut:
Select Case variable
Case value 1
Program statements executed if value1 matches variable
Case value 2
Program statements executed if value1 matches variable
Case value 3
Program statements executed if value1 matches variable
. .
End select
2.1.5
Struktur Perulangan
Struktur perulangan (
loop
) memberikan kesempatan pada program untuk
mengulang proses eksekusi terhadap satu baris atau beberapa baris kode.
1
. Do … loop
.
Do while condition
Statemens
Loop
2.
For … next
.
Struktur pengulangan
for..next
juga menggunakan variabel yang
dihubungkan dengan sebuah counter yang akan menaikkan atau menurunkan
nilai setiap pengulangan berlangsung. Struktur pengulangan
for..next
ini
digunakan jika diketahui jumlah statemen yang harus dieksekusi. Format
penulisan perintah ini adalah sebagai berikut:
For counter = start To end [step increment]
Statemens
Next [counter]
Argumen
increment
dapat bernilai positif atau negatif. Jika
increment
bernilai positif maka argumen start harus lebih kecil atau sama dengan nilai
argumen
end
, jika tidak demikian, maka statemen loop tidak akan
dieksekusi. Jika argumen
Step
tidak anda set, nilai argumen
increment
secara
otomatis di set ke nilai default yaitu 1.
3.
For each … next
.
Struktur pengulangan ini mengulang sebuah group statemen dalam setiap
elemen dalam sekelompok objek atau dalam array, yang diharapkan
mengulang statemen sebanyak angka yang dispesifikasikan. Format dari
statemen ini, adalah sebagai berikut:
For Each elemen In group
Statemens
Untuk keluar dari kontrol struktur perulangan sebelum proses tersebut
selesai dikerjakan dapat digunakan perintah
Exit For dan Exit Do
(Halvorson, M.,
2000).
2.1.6
Objek
Timer
Dalam visual Basic terdapat fasilitas yang mengijinkan pemrogram untuk
mengeksekusi sekelompok pernyataan dalam jangka waktu tertentu menggunakan
objek
timer
. Objek
timer
adalah sebuah
stopwatch
(pengukur waktu) tersembunyi
yang memberikan akses ke dalam waktu sistem dari program yang dibuat. Objek
timer
memiliki keakuratan hingga 1
milidetik
atau 1/1000 detik. Walaupun
timer
tidak kelihatan saat program berjalan, setiap
timer
berhubungan dengan
event
procedure
yang akan berjalan setiap kali waktu
interval timer
berakhir.
(Halvorson, M., 2000)
2.2
Access 2002
2.3
Sistem
Sistem secara sederhana dapat dijelaskan, yaitu berupa seperangkat
elemen-elemen yang digabungkan menjadi satu bagian dengan yang lain untuk
mencapai satu tujuan bersama, dan suatu sub sistem adalah bagian dari sistem
yang lebih besar.
Didalam
mendefinisikan
sistem terdapat dua pendekatan, yaitu pendekatan
yang menekankan pada komponen atau elemen-elemennya dan pendekatan yang
menekankan pada prosedurnya. Berikut penjelasan dari masing-masing definisi
sistem berdasarkan pendekatannya :
1.
Pendekatan pada komponen atau pada elemen-elemennya
“
Adalah kumpulan dari komponen atau elemen-elemen yang saling
berinteraksi untuk mencapai tujuan
” (Richard F.Neuschel, 1960).
2.
Pendekatan pada prosedur sistem itu sendiri
“
Suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling
berhubungan dan berkumpul bersama-sama untuk melakukan suatu kegiatan
atau menyelesaikan suatu sasaran yang telah ditentukan
”.(Jerry FitzGerald,
Arda F FitzGerald, Warren D. Stallings, Jr.,1981).
2.4 Billing
2.5 Sistem
Pencatatan
Sistem pencatatan pemakaian fasilitas merupakan sistem yang berfungsi
untuk mengetahui besarnya
cost
/ tagihan yang harus dibayar oleh pengguna
fasilitas dan untuk mengetahui lamanya pemakaian. Sistem pencatatan pemakian
fasilitas berguna untuk memudahkan pelayanan kepada pengguna karena dengan
sistem pencatatan pemakaian fasilitas pengguna dapat dengan mudah dan fleksibel
membayar tagihan sewa pemakaian fasilitas. Dengan adanya sistem pencatatan
pemakaian fasilitas, akan lebih memudahkan seorang kasir dalam
mantenance
data, keakuratan data yang tercatat lebih terjamin.
Penghitungan biaya sewa dilakukan berdasarkan lamanya waktu
pemakaian. Menit pertama pengguna login penghitungan biaya sudah dimulai, dan
penambahan biaya sewa akan bertambah pada menit berikutnya.
BAB III
ANALISIS dan PERANCANGAN SISTEM
3.1
Analisis
3.1.1 Analisis
Sistem
Sistem yang akan dikembangkan adalah informasi mengenai lama
pemakian dan sewa yang harus dibayar pengguna pada sebuah fasilitas dengan
menggunakan Visual Basic 6.0 sebagai bahasa pemrogramannya. Tujuan
pengembangan sistem ini adalah untuk menjamin keakuratan data pada
pembayaran sewa pada sebuah fasilitas. Selain memberikan informasi bagi
pengguna tentang biaya sewa, program ini juga dapat memberikan kemudahan
bagi seorang kasir untuk menghitung biaya sewa pengguna.
3.1.2 Analisis Sumber Daya
3.1.2.1 Analisis Perangkat Keras (Hardware)
Konfigurasi perangkat keras (hardware) dibawah ini merupakan
konfigurasi hardware minimal dari komputer agar dapat berjalan dengan normal.
Konfigurasi hardware pada komputer adalah sebagai berikut :
•
Prosesor
Prosesor merupakan otak dari komputer yang terpasang pada
komputer server minimal adalah generasi Pentium Pro / seratus MHz
•
Memori Utama
•
Video Graphic Accelerator
Video Graphic Accelerator (VGA) sebagai perangkat untuk
menampilkan output ke layer monitor minimal memiliki besar
memori satu Mbyte
•
Network Interface Card
Network Interface Card (NIC) yang digunakan berjenis Ethernet/Fast
Ethernet sepuluh/seratus Mbyte
•
Media Penyimpanan (Harddisk)
3.1.2.2 Analisis Teknologi
1.
Teknologi yang digunakan yaitu Access 2002 memudahkan pemrosesan
database.
2.
Bahasa pemrograman yang digunakan adalah Visual Basic versi 6.0.
3.1.3 Analisis hak Pengguna
Sistem ini memiliki dua kategori pengguna yaitu:
1.
Administrator, merupakan pengguna yang berhak melakukan
update
pada
database sistem. karena memiliki
password
yang diperlukan untuk mengakses
proses
update
data.
3.1.4 Analisis Kebutuhan Sistem
Analisis kebutuhan sistem ini digunakan untuk mengumpulkan kebutuhan
administrator dan kasir, dan mengetahui fasilitas yang harus disediakan sistem.
Kebutuhan sistem akan dibahas dari dua sisi yaitu:
a. Sisi
Administrator
Peran sistem yang dibutuhkan adalah sebagai berikut:
•
Menambah data kasir
Sistm harus mampu untuk memberikan fasilitas untuk membuat
account
baru bagi kasir yang belum terdaftar. Pendaftaran akan dilakuakn oleh
administrator.
•
Menghapus data kasir
Selain mampu menambah data kasir, administrator dapat menghapus data
kasir jika administrator menganggap bahwa sebuah data perlu untuk
dihapus.
b. Sisi
Kasir
Fasilitas yang dibutuhkan sistem bagi kasir adalah:
•
Login
Berfungsi untuk menyaring kasir apakah sudah teregistrasi atau belum
untuk dapat mengakses sistem lebih lanjut.
•
Masukkan nama pengguna
•
Melihat biaya
Setelah nama pengguna dimasukkan kasir bias mengetahui besarnya
biaya sewa pemakaian.
•
Melihat status pengguna
Fasilitas ini digunakan untuk melihat jumlah pengguna yang sedang
berkunjung, lama pemakian fasilitas dan sewa pemakian.
•
Data penggunaan
Data penggunaan digunakan untuk menyimpan data-data pengguna yang
pernah memakai fasilitas. Data-data yang disimpan yaitu: nama pengguna,
waktu mulai, lama pemakaian, dan biaya sewa.
3.2 Perancangan
3.2.1 Perancangan Sistem
3.2.1.1 Diagram Arus Data (DAD) Rancangan Sistem
DAD lebih tepat digunakan untuk menggambarkan sistem yang akan
dibuat, diagram ini tidak menekankan pada bagaimana sistem diterapkan, tetapi
penekananya hanya pada logika dari kebutuhan-kebutuhan sistem, yaitu proses
yang secara logika dibutuhkan oleh sistem.
3.2.1.2
Contex
Diagram
Contex
diagram menggambarkan suatu proses yang mewakili proses
dari seluruh sistem dan menggambarkan hubungan masukan dan keluaran antara
sistem dan kesatuan luar.
Id dan password admin,
Data Biaya, lama
Data
terupdate NamaNama
Gambar 3.1 Contex Diagram Sistem.
0
Proses Sistem pencatata n
akaian a
in
3.2.1.3 Diagram
Berjenjang
Diagram berjenjang digunakan untuk mempersiapkan penggambaran
DAD ke level-level lebih bawah lagi. Diagram berjenjang untuk sistem ini adalah
seperti terlihat pada gambar 3.2.
Pem Fsilitas Adm
0 Proses Sistem Pencatatan Pemakian Fasilitas
5 Penghitungan
biaya 2.P
Update password 1
Gambar 3.2 Diagram Berjenjang Sistem
input & update data
3.P Cek data pengguna
1.2..P Input & update
Jumlah komputer 5.2.P
Isi nama pengguna
3.2.1.4
Overview
Diagram
Sketsa DAD untuk
overview
diagram berdasarkan proses pada diagram
berjenjang adalah seperti terlihat pada gambar 3.3.
3.2.1.5
Diagram Level 1 (Proses 1)
Untuk diagram level 1 untuk proses 1 terlihat pada gambar 3.4.
d2 fasilitas
d3 kasir
1
Input & Update, Data
fasilitas
Info fasilitas
Input & update Data
kasir kasir 1.1.P
input & update fasilitas a
admin
Gambar 3.4 Diagram level 1 (Proses 1)
Info kasir
1.2.P
3.2.1.6
Diagram Level 1 (Proses 5)
Berikut ini diagram level 1 untuk proses 5 adalah sebagai berikut:
d4 pengguna
Id kasir, nama pengguna
5
5.1.P
Nama
b
kasir
Info biaya, lama
info biaya, lama
Gambar 3.5 Diagram level 1 (Proses 5)
3.2.1.7 DAD
Lengkap
Id dan password admin, Id dan password admin
Data fasilitas Info admin d1 admin
Data terupdate Data fasilitas d2 fasilitas
Id dan password admin, Id dan password admin Data admin/kasir Info admin d1 admin
Data terupdate Data kasir d3 kasir
Id dan password admin Id dan password admin,
Password baru password baru d1 admin
Password baru Info admin
Data pengguna
Info data penggunaan Data pengguna d4 pengguna Admin
1.1.P Input&update
fasilitas
1.2.P Input&update
kasir
2.P
Update pasword
3..P
cek data
nama pengguna
id kasir
Info biaya, lama
d4 pengguna
5.1.P
nama b
kasir
Info biaya, lama, durasi
Gambar 3.6 DAD lengkap
3.2.2 Perancangan Database
Database adalah kelompok data yang saling berhubungan yang
diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan
cepat dan mudah. Database merupakan komponen yang sangat penting dalam
sebuah sistem, hal ini dikarenakan database berfungsi sebagai penyedia informasi
yang dibutuhkan bagi para pemakainya
3.2.2.1 Identifikasi Kesatuan Luar (
External Entities
)
Kesatuan luar pada sistem ini terdiri dari:
1.
Administrator
3.2.2.2 Identifikasi Masukan dan Keluaran Sistem
Masukan dan keluaran dalam sistem yang terlibat dengan kesatuan luar
adalah sebagai berikut:
Tabel 3.1 Tabel identifikasi masukan dan keluaran sistem
Kesatuan Luar Masukan Keluaran
Administrator Id dan password admin, data
kasir, data admin
Data terupdate
Kasir Id kasir, nama pengguna Lama penggunaan, biaya
3.2.2.3 E-R Diagram
nama
Admin
Nama
Alamat Jabatan
password Id admin
Password
No Pengguna
Lama Kasir
Data Penggunaan Diisi
Waktu mulai Biaya sewa
Nama pengguna
Id Kasir
Alamat
Hak
akses
NIP
Jabatan
Hak akses
NIP
Gambar 3.7 E-R Diagram
3.2.2.4 Perancangan
Tabel
Table 3.2 Tabel Administrator
Nama field Tipe data Ukuran Id admin nama Alamat Password Hak Akses Jabatan NIP Text Text Text Text Text Text Text 10 10 50 15 15 15 3
Tabel 3.3 Tabel data penggunaan
Nama field Tipe data Ukuran No Pengguna Nama Waktu mulai Lama Biaya sewa Text Text Time / date Time / date Money
3 10
Tabel 3.4 Tabel Kasir
Nama field Tipe data Ukuran Id Kasir Nama Alamat Password Hak akses NIP Jabatan Text Text Text Text Text Text Text 10 10 50 15 15 3 15
3.2.3 Perancangan Antar Muka
3.2.3.1 Desain Antar-muka untuk Administrator
Dalam perancangan antar-muka perangkat-lunak untuk administrator,
terdapat beberapa fasilitas yang dapat memberikan kemudahan bagi administrator
untuk melakukan pengolahan data yang terdapat dalam database sistem ini.
Fasilitas yang disediakan antara lain,
add
(untuk menambah data ke dalam
database),
edit
(untuk mengubah data yang telah ada di dalam database),
delete
(untuk menghapus data yang telah ada di dalam database). Pada perancangan
antar-muka halaman pertama muncul untuk pengguna, yang berguna untuk
memasuki pemrosesan
update
data. Penggunaan password dimaksudkan agar
orang yang tidak berkepentingan tidak dapat melakukan proses
update
data.
•
Halaman Utama
•
Halaman
Login
Administrator
Gambar 3.9 Login Administrator
Pada perancangan halaman
login
untuk administrator ini, jika
administrator salah dalam memasukkan
password
, maka akan muncul pesan
kesalahan. Administrator akan masuk ke halaman pemilihan tabel bila
password
yang dimasukan benar.
Gambar 3.10 Halaman sukses login admin
•
Halaman Ganti
Password
Gambar 3.11 Halaman Ganti Password
•
Halaman Data Kasir
Gambar 3.12 Halaman Data User
3.2.3.2 Desain Antar-muka untuk Kasir
•
Halaman Login kasir
Halaman login kasir sama dengan halaman login pada admin.
•
Halaman Status Pengguna
Gambar 3.15 Halaman Status Komputer
Pada rancangan halaman ini, sorang kasir bias mengetahui jumlah pemakai
fasilitas. Melalui halaman ini kasir bisa mengetahui mengenai biaya yang harus
dibayarkan pengguna sebuah fasilitas dan juga lamanya waktu penggunaan.
•
Halaman
Input
Nama
BAB IV
IMPLEMENTASI SISTEM
Implementasi adalah tahap yang dilakukan setelah perancangan, implementasi
merupakan pengkodean dari hasil perancangan. Sistem pencatatan pemakaian
fasilitas untuk menghitung biaya sewa pada sebuah fasilitas diimplementasikan dalam
bahasa Visual Basic 6.0.
4.1 Lingkungan Implementasi
Pada tahap ini pengembang mendefinisikan lingkungan perangkat pendukung.
a. Lingkungan perangkat Lunak
Perangkat lunak yang digunakan dalam implementasi
Sistem Operasi
: Windows XP
Database
: Microsoft Access 2002
Kakas Pengembang
: Visual Basic 6.0
b. Lingkungan Perangkat Keras
Perangkat keras yang digunakan dalam implementasi:
Komputer PIV
Memory 256 MB
Hardisk 20 GB
Alat masukan yaitu mouse dan keyboard
4.2 Karakteristik Pengguna
Aplikasi sistem pencatatan pemakian fasilitas dibuat untuk penghitungan
biaya sewa pada sebuah fasilitas yang harus dibayarkan pengguna kepada kasir.
Untuk menjamin keakuratan data pada pembayaran sewa pada sebuah fasilitas, dan
juga memberi kemudahan bagi kasir untuk penghitungan biaya sewa pada sebuah
fasilitas oleh pengguna.
4.3 Implementasi Database
Tabel-tabel yang dirancang dalam bab sebelumnya diimplementasikan
menggunakan Microsoft Access 2002 dalam lingkungan sistem operasi windows.
Dalam kakas pengembang Visual Basic, Microsoft Access 2002 belum dapat
terhubung. Untk menghubungkan Microsoft Access 2002 dengan sistem maka
digunakan sintaks seperti berikut ini
Dalam melakukan koneksi, dua variabel yang dideklarasikan adalah:
Set dbDAO = OpenDatabase(App.Path & "\Data.mdb", False, False,
";pwd=bontet")
Set rec = dbDAO.OpenRecordset("T_User", dbOpenTable)
Database
: digunakan untuk menunjuk nama tabel yang diakses
Password
: adalah password administrator database Microsoft Access
4.4 Implementasi Program
4.4.1 Modul Administrator
a. Menu Utama
Menu utama sistem pencatatan pemakian fasilitas merupakan tampilan
pertama bagi administrator yang akan ditampilkan oleh sistem. Melalui menu utama
ini akan dapat diketahui menu apa saja yang dimiliki oleh sistem, yaitu menu
login
,
menu administrator, menu ganti
password
, menu biaya, menu
logout
dan menu keluar
untuk mengakhiri program. Menu yang aktif adalah menu
login
, menu biaya dan
menu keluar. Untuk mengaktifkan semua menu terlebih dahulu administrator harus
melakukan
login.
Prosedur untuk tampilan diatas adalah:
Private Sub Form_Load() Dim Ahari
Dim SHari As String
Ahari = Array("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu") SHari = Ahari(Abs(Weekday(Date) - 1))
StatusBar1.Panels(4).Text = "" & SHari & ", " & Format(Date, "dd-mm-yyyy") StatusBar1.Panels(5).Text = Time
Timer1.Enabled = True cmdkasir.Enabled = False cmdAdmin.Enabled = False cmdGantiPassword.Enabled = False cmdLogout.Enabled = False End Sub
b. Menu Login
Dalam menu ini akan dilakukan proses otentikasi, langkah awal sebelum
melakukan proses adalah menu ini akan membuka tabel
user
yang berisi data
userid
dan
password
yang benar dan terenkripsi
.
Set dbDAO = OpenDatabase(App.Path & "\Data.mdb", False, False, ";pwd=bontet ") Set rec = dbDAO.OpenRecordset("T_User", dbOpenTable)
Setelah data
userid
dan
password
telah terenkripsi maka akan dilakukan proses
pencocokan, script untuk mencocokan dat masukkan dengan data sebenarnya adalah
sebagai berikut:
If SuksesUser = True And SuksesPassword = True Then
Jika data yang dimasukan yaitu
userid
dan
password
salah maka sistem tidak dapat
dilanjutkan dan akan kembali lagi ke menu utama.
If SuksesUser = True And SuksesPassword = False Then
Dan jika data yang dimasukan benar maka sistem akan membuat sebuah file yang
berisi
username
dan
password
. Setelah file terbentuk maka sistem akan melakukan
koneksi dengan database.
c. Menu Administrator
Menu ini digunakan untuk melihat data
user
yang telah terdaftar didalam
database. Di dalam menu ini dapat melakukan peng-update-an data
user
, yaitu
dengan tombol tambah, tombol edit, tombol hapus dan juga dapat mengganti
password
selain lewat tombol ganti
password
, serta dapat juga melacak password
user
. Update data yang dilakukan
hanya sampai pada tingkat database.
Modul update
Prosedure untuk update data yaitu:
Private Sub cmdUpdate_Click() Dim i As IntegerDim HasilCari As String On Error GoTo UpdateErr cmdUpdate.Default = False
Jhlrecord = adoPrimaryRS.RecordCount If Len(txtFields(0).Text) = 0 Then
MsgBox "Nama user masih kosong", vbCritical, "Nama Kosong" txtFields(0).SetFocus
Exit Sub
ElseIf Len(txtFields(1).Text) = 0 Then
MsgBox "Nippos masih kosong", vbCritical, "Nippos Kosong" txtFields(1).SetFocus
Exit Sub
ElseIf Len(txtFields(2).Text) = 0 Then
MsgBox "Jabatan masih kosong", vbCritical, "Jabatan Kosong" txtFields(2).SetFocus
Exit Sub
ElseIf Len(txtFields(3).Text) = 0 Then
MsgBox "UserID masih kosong", vbCritical, "UserID Kosong" txtFields(5).SetFocus
Exit Sub
ElseIf Len(txtFields(6).Text) = 0 Then
MsgBox "Password masih kosong", vbCritical, "Password Kosong" txtFields(6).SetFocus
Exit Sub
ElseIf Len(txtPassword.Text) = 0 Then
MsgBox "Konfirmasi password tidak sama!", vbCritical, "Password Tidak Valid" txtPassword.SetFocus
Exit Sub End If
For i = 1 To JlhRecord
If txtFields(5).Text = cekUser(i).User And mbAddNewFlag = True Then
MsgBox "UserID sudah ada! Ganti dengan yang lain.", vbCritical, "UserID Dobel" txtFields(5).SetFocus SendKeys "{Home}+{End}" Exit Sub Else End If Next i
If txtFields(6).Text <> txtPassword.Text Then
MsgBox "Konfirmasi password tidak sama", vbCritical, "Password Tidak Valid" txtPassword.SetFocus
SendKeys "{Home}+{End}" Exit Sub
mbEditFlag = False mbAddNewFlag = False SetButtons True
grdDataGrid.Enabled = True cmdGantiPassword.Enabled = True mbDataChanged = False
TutupKonfirmasi KunciEntri
lblStatus.Caption = "Record ke-" & CStr(adoPrimaryRS.AbsolutePosition) Exit Sub
UpdateErr:
MsgBox Err.Description End Sub
"atau klik panah lalu pilih salah satu!", vbCritical, "Hak Akses" cmbHakAkses.SetFocus
Exit Sub End If
txtFields(4).Text = cmbHakAkses.Text DataString = txtFields(6).Text
Translate
txtFields(6).Text = Temp$
adoPrimaryRS.UpdateBatch adAffectAll adoPrimaryRS.MoveLast
If mbAddNewFlag = True Then
Call RekamKegiatan("Tambah user '" & txtFields(5).Text & "'") End If
Call RekamKegiatan("Simpan perubahan user '" & txtFields(5).Text & "'") mbEditFlag = False
mbAddNewFlag = False SetButtons True
grdDataGrid.Enabled = True cmdGantiPassword.Enabled = True mbDataChanged = False
TutupKonfirmasi KunciEntri
lblStatus.Caption = "Record ke-" & CStr(adoPrimaryRS.AbsolutePosition) Exit Sub
UpdateErr:
Prosedur untuk tomol tambah data
user
adalah sebagai berikut:
Private Sub cmdAdd_Click()On Error GoTo AddErr BukaKunciEntri BukaKonfirmasi PeriksaUserID
cmbHakAkses.Text = "Kasir" cmdGantiPassword.Enabled = False grdDataGrid.Enabled = False txtFields(0).SetFocus With adoPrimaryRS
If Not (.BOF And .EOF) Then mvBookMark = .Bookmark End If
.AddNew
lblStatus.Caption = "Tambah data user..." mbAddNewFlag = True
SetButtons False
End With
Data yang dimasukkan dalam proses tambah data harus lengkap, bila tidak lengkap
akan ada pesan kesalahan. Penambahan data akan diproses apabila semua
textbox
sudah terisi.
Prosedure untuk tombol hapus data
user
adalah sebagai berikut:
Dim Jawab As IntegerOn Error GoTo DeleteErr
If adoPrimaryRS.RecordCount = 1 Then
MsgBox "Anda tidak dapat menghapus record ini!" & Chr(13) & _ "Minimal harus ada satu record di tabel" & Chr(13) & _
"User dengan hak akses Admin.", vbCritical, "Record Tinggal Satu" Exit Sub
End If
If adoPrimaryRS.EOF Then
MsgBox "Data user masih kosong!", vbCritical, "Data Kosong" Exit Sub
End If
Jawab = MsgBox("Yakin akan menghapus record ini?", vbQuestion + vbDefaultButton2 + vbYesNo, "Hapus Data User")
Call RekamKegiatan("Hapus user '" & txtFields(5).Text & "'") .Delete
.MoveNext
If .EOF Then .MoveLast End With
Exit Sub
Exit Sub
End If DeleteErr:MsgBox Err.Description End Sub
Penghapusan data
user
pada menu ini yaitu penghapusan data
user
hanya sampai
pada tingkat database. Pada halaman ini administrator dapat melakukan penghapusan
satu atau lebih data
user
. Data
user
yang sudah terdaftar tidak boleh semuanya
dihapus, harus ada satu
record
yang tersisa yaitu
record
administrator.
If adoPrimaryRS.RecordCount = 1 Then
Tombol edit digunakan oleh administrator untuk melakukan perubahan pada
data yang telah tersimpan didalam database.
Prosedure yang digunakan untuk melakukan edit data adalah sebagai berikut:
Private Sub cmdEdit_Click() On Error GoTo EditErr BukaKonfirmasi BukaKunciEntri
txtFields(5).Enabled = False DataString = txtFields(6).Text Translate
txtFields(6).Text = Temp$
txtPassword.Text = txtFields(6).Text lblStatus.Caption = "Edit data user..." mbEditFlag = True
SetButtons False
txtFields(0).SetFocus
Exit Sub
EditErr:
MsgBox Err.Description End Sub
Prosedur untuk tombol ganti
password
seperti berikut ini.
Private Sub cmdGantiPassword_Click()On Error GoTo GantiErr
cmdGantiPassword.Enabled = False BukaKonfirmasi
BukaPassword
DataString = txtFields(6).Text Translate
txtFields(6).Text = Temp$
txtPassword.Text = txtFields(6).Text lblStatus.Caption = "Edit data user..." mbEditFlag = True
SetButtons False txtFields(6).SetFocus
grdDataGrid.Enabled = False
Exit SubGantiErr:
MsgBox Err.Description
End SubTombol lacak
password
digunakan untuk melacak
password
user
yang sudah
terdaftar di database. Lacak password dipakai karena data
password
yang tersimpan
dienkripsi sebelumnya, jadi untuk mengetahui password sesungguhnya harus
menekan tombol tersebut.
Prosedur yang digunakan untuk lacak
password
adalah seperti berikut ini:
Private Sub cmdLacakPassword_Click()DataString = txtFields(6).Text Translate
MsgBox "UserID = " & txtFields(5).Text & " " & Chr(13) & _
d. Menu Ganti
Password
Menu
ganti
password
dapat digunakan untuk mengganti
password
yang sudah
tersimpan didalam database. Selain digunakan oleh administrator menu ini juga dapat
digunak oleh kasir, dengan memilih menu login terlebih dahulu.
Sebelum proses penggantian
password
dapat dilaksanakan sebelumnya sistem
akan melakukan pencarian ke database mengenai data user yang melakukan
penggantian password. Apabila data ditemukan maka sistem akan mengizinkan
penggantian password tersebut.
Prosedur berikut digunakan untuk mengosongkan
textbox
Sub KosongkanTeks() txtUserID.Text = "" txtNama.Text = "" txtNippos.Text = "" txtJabatan.Text = "" txtAlamat.Text = "" txtHakAkses.Text = "" txtPasswordLama.Text = "" txtPasswordBaru1.Text = "" txtPasswordBaru2.Text = "" txtUserID.SetFocus
Prosedur pencariannya adalah sebagai berikut:
Private Sub cmdGanti_Click()Dim Jawab As Integer Dim KeyAscii As Integer On Error GoTo GantiErr
If Len(Trim(txtPasswordLama.Text)) = 0 Then
MsgBox "Password lama masih kosong!", vbCritical, "Password Lama Salah" txtPasswordLama.SetFocus
Exit Sub End If
DataString = Pasw Translate
If txtPasswordLama.Text <> Temp$ Then
Exit Sub End If
DataString = Pasw Translate
If txtPasswordLama.Text <> Temp$ Then
MsgBox "Password lama salah!", vbCritical, "Password Lama Salah" txtPasswordLama.SetFocus
SendKeys "{Home}+{End}" Exit Sub
End If
If Len(Trim(txtPasswordBaru1.Text)) = 0 Then
MsgBox "Password baru masih kosong", vbCritical, "Password Kosong" txtPasswordBaru1.SetFocus
Exit Sub End If
If txtPasswordBaru1.Text <> txtPasswordBaru2.Text Then
MsgBox "Konfirmasi password tidak sama", vbCritical, "Password Tidak Valid" txtPasswordBaru2.SetFocus
SendKeys "{Home}+{End}" Exit Sub
End I
Jawab = MsgBox("Yakin password akan diganti?", vbQuestion + vbYesNo, "Ganti Password")
If Jawab = vbYes Then
DataString = txtPasswordBaru1.Text Translate
txtPasswordBaru1.Text = Temp$ DataString = txtPasswordBaru2.Text Translate
txtPasswordBaru2.Text = Temp$ rec.Edit
rec!password = txtPasswordBaru2.Text rec.Update
Call RekamKegiatan("Berhasil ganti password.")
MsgBox "Password telah diganti!", vbInformation, "Sukses Ganti Password"
cmdGanti.Enabled = FalsecmdCari.Enabled = True KosongkanTeks
txtUserID.Locked = False
Exit Sub
ElseIf Jawab = vbNo Or KeyAscii = 27 Then
Exit SubEnd If GantiErr:
Prosedur ganti password
Private Sub cmdGanti_Click() Dim Jawab As Integer Dim KeyAscii As Integer On Error GoTo GantiErrIf Len(Trim(txtPasswordLama.Text)) = 0 Then
MsgBox "Password lama masih kosong!", vbCritical, "Password Lama Salah" txtPasswordLama.SetFocus
Exit Sub End If
DataString = Pasw Translate
If txtPasswordLama.Text <> Temp$ Then
MsgBox "Password lama salah!", vbCritical, "Password Lama Salah" txtPasswordLama.SetFocus
SendKeys "{Home}+{End}" Exit Sub
End If
If Len(Trim(txtPasswordBaru1.Text)) = 0 Then
MsgBox "Password baru masih kosong", vbCritical, "Password Kosong" txtPasswordBaru1.SetFocus
Exit Sub End If
If txtPasswordBaru1.Text <> txtPasswordBaru2.Text Then
MsgBox "Konfirmasi password tidak sama", vbCritical, "Password Tidak Valid" txtPasswordBaru2.SetFocus
SendKeys "{Home}+{End}" Exit Sub
End If
Jawab = MsgBox("Yakin password akan diganti?", vbQuestion + vbYesNo, "Ganti Password")
If Jawab = vbYes Then
DataString = txtPasswordBaru1.Text Translate
txtPasswordBaru1.Text = Temp$ DataString = txtPasswordBaru2.Text Translate
txtPasswordBaru2.Text = Temp$ rec.Edit
rec!password = txtPasswordBaru2.Text rec.Update
Call RekamKegiatan("Berhasil ganti password.")
MsgBox "Password telah diganti!", vbInformation, "Sukses Ganti Password" cmdGanti.Enabled = False
cmdCari.Enabled = True KosongkanTeks
txtUserID.Locked = False
Exit Sub
e. Menu Biaya
Menu biaya digunakan untuk melihat data pengguna, biaya sewa, dan
lamanya waktu pemakian.
f. Menu Logout
Menu
logout
ini digunakan administrator untuk keluar dari koneksi dengan database.
cmdLogout.Enabled = False
Call RekamKegiatan("Logout.")
g. Menu Keluar
Digunakan untuk mengakhiri Program.
4.4.2 Menu Kasir
a. Menu Utama
Gambar 4.3. Menu Utama
Prosedur untuk tampilan diatas adalah:
Private Sub Form_Load() Dim Ahari
Dim SHari As String
Ahari = Array("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu") SHari = Ahari(Abs(Weekday(Date) - 1))
StatusBar1.Panels(4).Text = "" & SHari & ", " & Format(Date, "dd-mm-yyyy") StatusBar1.Panels(5).Text = Time
b. Menu Login
Dalam menu ini akan dilakukan proses otentikasi, langkah awal sebelum melakukan
proses adalah menu ini akan membuka tabel
user
yang berisi data
userid
dan
password
yang benar dan terenkripsi
.
Sintaks yang dipakai untuk membuka database adalah:
Set dbDAO = OpenDatabase(App.Path & "\Data.mdb", False, False, ";pwd=bontet ") Set rec = dbDAO.OpenRecordset("T_User", dbOpenTable)
Setelah data
userid
dan
password
telah terenkripsi maka akan dilakukan proses
pencocokan, script untuk mencocokan dat masukkan dengan data sebenarnya adalah
sebagai berikut:
If SuksesUser = True And SuksesPassword = True Then
Jika data yang dimasukan yaitu
userid
dan
password
salah maka sistem tidak dapat
dilanjutkan dan akan kembali lagi ke menu utama.
Script
yang digunakan untuk kembali ke halaman login adalah:
If SuksesUser = True And SuksesPassword = False Then
d. Menu Ganti
Password
Menu
ganti
password
dapat digunakan untuk mengganti
password
yang sudah
tersimpan didalam database. Selain digunakan oleh administrator menu ini juga dapat
digunak oleh kasir, dengan memilih menu login terlebih dahulu.
Sebelum proses penggantian
password
dapat dilaksanakan sebelumnya sistem
akan melakukan pencarian ke database mengenai data user yang melakukan
penggantian password. Apabila data ditemukan maka sistem akan mengizinkan
penggantian password tersebut.
Prosedur yang digunakan untuk mengosongkan
Sub KosongkanTeks()
txtUserID.Text = ""textbox
adalah:
txtNama.Text = ""txtNippos.Text = "" txtJabatan.Text = "" txtAlamat.Text = "" txtHakAkses.Text = "" txtPasswordLama.Text = "" txtPasswordBaru1.Text = "" txtPasswordBaru2.Text = "" txtUserID.SetFocus
End Sub
Prosedur yang digunakan untuk mengganti password adalah:
Private Sub cmdGanti_Click() Dim Jawab As Integer Dim KeyAscii As Integer On Error GoTo GantiErr
If Len(Trim(txtPasswordLama.Text)) = 0 Then
MsgBox "Password lama masih kosong!", vbCritical, "Password Lama Salah" txtPasswordLama.SetFocus
Exit Sub End If
If txtPasswordLama.Text <> Temp$ Then
MsgBox "Password lama salah!", vbCritical, "Password Lama Salah" txtPasswordLama.SetFocus
SendKeys "{Home}+{End}" Exit Sub
End If
If Len(Trim(txtPasswordBaru1.Text)) = 0 Then
MsgBox "Password baru masih kosong", vbCritical, "Password Kosong" txtPasswordBaru1.SetFocus
Exit Sub End If
If txtPasswordBaru1.Text <> txtPasswordBaru2.Text Then
MsgBox "Konfirmasi password tidak sama", vbCritical, "Password Tidak Valid" txtPasswordBaru2.SetFocus
SendKeys "{Home}+{End}" Exit Sub
End I
e. Menu Biaya
Menu billing digunakan untuk melihat data pengguna, biaya sewa, dan lama
pemakaian.
f. Menu Logout
Menu
logout
ini digunakan administrator untuk keluar dari koneksi dengan database.
cmdLogout.Enabled = False
g. Menu Keluar
4.4.3 Modul Pengguna
a. Menu nama pengguna
Pada halaman ini pengguna diminta untuk memasukkan namanya. Yang
kemudian akan tercatat pada halaman biaya.
Gambar 3.17 Halaman input nama
Prosedur yang digunakan untuk melakukan penghitungan biaya adalah sebagai
berikut:
Dim Awal, Akhir, Lama As Single
Dim dtkAwal, dtkAkhir As Single Private Sub Command1_Click() If Command1.Caption = "Start" Then
nama = InputBox("Masukan Nama anda:", "Nama") nama = Replace(nama, "", vbNullString)
If (StrPtr(nama) = 0) Or (nama = "") Then Exit Sub
End If
Text5.Text = nama Text4.Text = 0 dtkAwal = Time Awal = Now
ElseIf Command1.Caption = "Stop" Then Timer1.Enabled = False
Akhir = Now Lama = Akhir - Awal
Text3.Text = Format(Lama, "hh:mm:ss") Command1.Caption = "Selesai"
ElseIf Command1.Caption = "Selesai" Then Adodc1.RecordSource = "select * from pengguna" Adodc1.Refresh
If Text4.Text <> "" Then With Adodc1.Recordset If .RecordCount <> 0 Then .MoveLast
no = !nomor .AddNew !nomor = no + 1
n:
!nama = Text5.Text !mulai = Text1.Text !sekarang = Text2.Text !durasi = Text3.Text !biaya = Text4.Text .Update
!nomor = 1: GoTo n Else
.AddNew End If End With End If
Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = ""
Form3.Show: Unload Me
End If
End Sub
Private Sub Timer1_Timer()
If Command1.Caption = "Stop" Then dtkAkhir = Time
If Second(dtkAkhir - dtkAwal) = 30 Then
dtkAwal = dtkAkhir
Text4.Text = Format(Text4.Text + 25, "Rp #,#") End If
Text2.Text = Format(Now, "hh:mm:ss") Text3.Text = Format(Now - Awal, "hh:mm:ss") End If
BAB V
ANALISIS IMPLEMENTASI
Pada bab ini akan dibahas mengenai analisis rekayasa perangkat lunak dan
penggunaan kakas pengembang Visual Basic 6.0
5.1 Analisis Metode Rekayasa Perangkat Lunak
Metode yang digunakan dalam pembuatan program sistem pencatatan
pemakaian fasilitas menggunakan visual basic adalah metode perangkat lunak
berorientasi objek, dimana metode ini memiliki tahapan-tahapan, yaitu:
1.
Analisis Sistem
2.
Perancangan Sistem
3.
Implementasi
Tahapan analisis digunakan untuk menganalisis kebutuhan-kebutuhan dan
fungsi sistem yang akan dibuat, menggambarkan hubungan antar
entity
, untuk
mempermudah pengembang dalam mengidentifikasikan kesalahan.
Tahap perancangan sistem, pengembang akan mendapat kemudahan dalam
menentukan fungsifungsi yang digunakan dalam pembuatan sistem.
5.2 Analisis Kakas Pengembang
Dalam pembuatan sistem ini digunakan beberapa perangakat lunak yaitu:
1. Visual Basic 6.0 digunakan untuk membangun sistem pencatatan pemakain
fasilitas, karena:
•
Visual Basic 6.0 yang telah didukung pemrograman berorientasi objek
lebih memudahkan untuk mengembangkan , memelihara sistem.
•
Dapat berjalan dalam berbagai sistem operasi
2. Acces sebagai salah satu perangkat lunak RDBMS mampu menampung dan
mengolah data pada tabel.
54
6.1 Kesimpulan
Kesimpulan yang dapat diambil dari pembuatan sistem pencatatan pemakian
fasilitas menggunakan visual basic 6.0 ini adalah:
1.
Sistem ini memberikan kemudahan bagi pengguna untuk mengetahui sewa
pemakian fasilitas yang harus dibayarkan.
2.
Kasir bisa mengetahui biaya sewa yang harus dibayar oleh pemakai fasilitas.
6.2 Saran
Penyusun tidak menyangkal adanya kekurangan dalam sistem ini. Maka dari
itu, untuk memperbaiki sistem ini, penyusun memiliki saran supaya dapat menjadi
masukan untuk pengembangan lebih lanjut di masa mendatang, yaitu:
Firdaus, 2006, “
SQL Server dengan Visual Basic 6 untuk Orang awam”
, Penerbit
Maxikom, Palembang
Halvorson, Michael, 2001, “
Step by Step Microsoft Visual Basic 6.0 Profesiona”l
,
alih bahasa oleh Adi Kurniadi, Penerbit PT Elex Media Komputindo, Jakarta
Jogyanto, HM., 1990, “
Analisis dan Desain Sistem Informasi
: Pendekatan Terstruktur
Teori dan Praktek Aplikasi Bisnis”, Penerbit Andi Offset, Yogyakarta.
Kusumo, Aryo S., 2002, “
Tips dan Trik Unik Visual Basic
”, Penerbit PT Elex Media
Komputindo, Jakarta
Petroutsos, Evangelos, 2002,
Menguasai Pemrograman Database dengan Visual
Basic 6
, Buku 1, alih bahasa oleh Adi Kurniadi, Penerbit PT Elex Media
Komputindo, Jakarta
Rusmawan, Uus, 2004,
Mengolah Database dengan SQL dan Crystal Report dalam
VISUAL BASIC 6.0
, Penerbit PT Elex Media Komputindo, Jakarta
Private Sub cmdAbout_Click()
Call RekamKegiatan End Sub
Private Sub cmdbilling_Click() bill.Show
End Sub
Private Sub cmdLogout_Click() Dim i As Integer
cmdLogin.Enabled = True cmdkasir.Enabled = False cmdAdmin.Enabled = False cmdGantiPassword.Enabled = False cmdLogout.Enabled = False Call RekamKegiatan("Logout.") With StatusBar1
For i = 1 To 3 .Panels(i).Text = "" Next i
End With
Timer2.Enabled = False End Sub
Private Sub cmdkasir_Click()
Call RekamKegiatan("Masuk ke menu Operator.")
MsgBox "Selamat datang, Kasir!", vbInformation, "Sukses Kasir" Call RekamKegiatan("Keluar dari menu Operator.")
End Sub
Private Sub cmdGantiPassword_Click()
Call RekamKegiatan("Masuk ke menu Ganti Password.") frmGantiPassword.Show 1
End Sub
Private Sub cmdGantiPassword_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode
Case vbKeyEscape End
Case Else End Select End Sub
Private Sub cmdKeluar_Click() Dim Jawab As Integer
Jawab = MsgBox("Yakin mau keluar dari program?", vbQuestion + vbYesNo + vbDefaultButton2, "Keluar Program")
End Else End If End Sub
Private Sub cmdLogin_Click() Screen.MousePointer = vbHourglass frmLogin.Show 1
End Sub
Private Sub cmdLogin_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode
Case vbKeyEscape End
Case Else End Select End Sub
Private Sub cmdUser_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode
Case vbKeyEscape End
Case Else End Select End Sub
Private Sub cmdAdmin_Click() Screen.MousePointer = vbHourglass
Call RekamKegiatan("Masuk ke menu Administrator.") frmUser.Show 1
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode
Case vbKeyEscape End
Case Else End Select End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Call RekamKegiatan("Keluar dari program.")
End Sub
Private Sub Timer1_Timer() With StatusBar1
.Panels(5).Text = Time End With
End Sub
.Panels(3).Text = Format(Time - CDate(.Panels(2).Text), "hh:mm:ss") End With
End Sub
Private Sub Form_Load() Dim Ahari
Dim SHari As String
Ahari = Array("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu") SHari = Ahari(Abs(Weekday(Date) - 1))
StatusBar1.Panels(4).Text = "" & SHari & ", " & Format(Date, "dd-mm-yyyy") StatusBar1.Panels(5).Text = Time
Timer1.Enabled = True cmdkasir.Enabled = False cmdAdmin.Enabled = False cmdGantiPassword.Enabled = False cmdLogout.Enabled = False End Sub
Private Sub Form_Unload(Cancel As Integer) Dim i As Integer
For i = Forms.Count - 1 To 1 Step -1 Unload Forms(i)
Next End End Sub
Dim WithEvents adoPrimaryRS As Recordset Dim mbChangedByCode As Boolean
Dim mvBookMark As Variant Dim mbEditFlag As Boolean Dim mbAddNewFlag As Boolean Dim mbDataChanged As Boolean Dim HasilBatal As Boolean Dim Db As Connection
Dim JlhRecord, Nomor, NomorCari As Integer
Private Sub cmbHakAkses_Click() txtFields(4).Text = cmbHakAkses.Text End Sub
Private Sub cmbHakAkses_KeyPress(KeyAscii As Integer) If mbEditFlag = True Then
If KeyAscii = 13 Then txtFields(6).SetFocus Else
If KeyAscii = 13 Then txtFields(5).SetFocus End If
End Sub
On Error GoTo GantiErr
cmdGantiPassword.Enabled = False BukaKonfirmasi
BukaPassword
DataString = txtFields(6).Text Translate
txtFields(6).Text = Temp$
txtPassword.Text = txtFields(6).Text lblStatus.Caption = "Edit data user..." mbEditFlag = True
SetButtons False txtFields(6).SetFocus DataGrid1.Enabled = False Exit Sub
GantiErr:
MsgBox Err.Description End Sub
Private Sub Form_Load() On Error GoTo Pesan Set Db = Nothing
Set Db = New Connection Db.CursorLocation = adUseClient
Db.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\Data.mdb;Jet OLEDB:Database Password=masino2002; "
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "SHAPE {select Nama,Alamat,HakAkses,UserID,Password from T_User Order by UserID} AS ParentCMD APPEND ({select Nama,Alamat,HakAkses,UserID,Password from T_User Order by UserID } AS ChildCMD RELATE UserID TO UserID) AS ChildCMD", Db, adOpenStatic, adLockOptimistic
HasilBatal = False Dim oText As TextBox For Each oText In Me.txtFields
Set oText.DataSource = adoPrimaryRS Next
cmbHakAkses.Text = txtFields(4).Text
Set DataGrid1.DataSource = adoPrimaryRS.DataSource mbDataChanged = False
mbAddNewFlag = False KunciEntri
Screen.MousePointer = vbDefault Exit Sub
Pesan:
MsgBox Err.Number & vbCrLf & Err.Description Unload Me
End Sub
End Sub
Private Sub Form_Resize() On Error Resume Next
fraEntri.Width = Me.ScaleWidth DataGrid1.Width = Me.ScaleWidth
DataGrid1.Height = Me.ScaleHeight - grdDataGrid.Top - 30 - picButtons.Height - picStatBox.Height lblStatus.Width = Me.Width - 1500
cmdNext.Left = lblStatus.Width + 700 cmdLast.Left = cmdNext.Left + 340 End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If mbEditFlag Or mbAddNewFlag Then Exit Sub
Select Case KeyCode Case vbKeyEscape cmdClose_Click Case vbKeyEnd cmdLast_Click Case vbKeyHome cmdFirst_Click
Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdFirst_Click
Else
cmdPrevious_Click End If
Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then
cmdLast_Click Else cmdNext_Click End If Case Else End Select End Sub
Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As
ADODB.Recordset)
Nomor = adoPrimaryRS.AbsolutePosition
lblStatus.Caption = "Data User ke-" & CStr(Nomor) & " dari " & adoPrimaryRS.RecordCount End Sub
Private Sub adoPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As
ADODB.Recordset) Dim bCancel As Boolean
Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select
If bCancel Then adStatus = adStatusCancel End Sub
Private Sub cmdAdd_Click() On Error GoTo AddErr BukaKunciEntri BukaKonfirmasi PeriksaUserID
cmbHakAkses.Text = "Kasir" cmdGantiPassword.Enabled = False DataGrid1.Enabled = False
txtFields(0).SetFocus With adoPrimaryRS
If Not (.BOF And .EOF) Then mvBookMark = .Bookmark End If
.AddNew
lblStatus.Caption = "Tambah data user..." mbAddNewFlag = True
SetButtons False End With Exit Sub AddErr: MsgBox Err.Description End Sub
Private Sub cmdDelete_Click() Dim Jawab As Integer
On Error GoTo DeleteErr
If adoPrimaryRS.RecordCount = 1 Then
MsgBox "Anda tidak dapat menghapus record ini!" & Chr(13) & _ "Minimal harus ada satu record di tabel" & Chr(13) & _
"User dengan hak akses Admin.", vbCritical, "Record Tinggal Satu" Exit Sub
End If
If adoPrimaryRS.EOF Then
Jawab = MsgBox("Yakin akan menghapus record ini?", vbQuestion + vbDefaultButton2 + vbYesNo, "Hapus Data User")
If Jawab = vbYes Then With adoPrimaryRS
Call RekamKegiatan("Hapus user '" & txtFields(5).Text & "'") .Delete
.MoveNext
If .EOF Then .MoveLast End With Exit Sub Else Exit Sub End If DeleteErr: MsgBox Err.Description End Sub
Private Sub cmdRefresh_Click() On Error GoTo RefreshErr
cmbHakAkses.Text = txtFields(4).Text TutupKonfirmasi
If HasilBatal = True Then SetButtons True HasilBatal = False End If
cmdAdd.Enabled = True cmdEdit.Enabled = True cmdUpdate.Enabled = True cmdDelete.Enabled = True cmdCancel.Enabled = True cmdRefresh.Enabled = True SetButtons True
mbEditFlag = False mbAddNewFlag = False
Set DataGrid1.DataSource = Nothing adoPrimaryRS.Requery
Set DataGrid1.DataSource = adoPrimaryRS.DataSource Exit Sub
RefreshErr:
cmdAdd.Enabled = False cmdEdit.Enabled = False cmdUpdate.Enabled = False cmdDelete.Enabled = False cmdCancel.Enabled = False cmdRefresh.Enabled = True mbEditFlag = False
adoPrimaryRS.Bookmark = mvBookMark Else
adoPrimaryRS.MoveFirst End If
mbDataChanged = False HasilBatal = True cmdRefresh_Click Exit Sub
End Sub
Private Sub cmdEdit_Click() On Error GoTo EditErr BukaKonfirmasi BukaKunciEntri
txtFields(5).Enabled = False DataString = txtFields(6).Text Translate
txtFields(6).Text = Temp$
txtPassword.Text = txtFields(6).Text lblStatus.Caption = "Edit data user..." mbEditFlag = True
SetButtons False
cmdGantiPassword.Enabled = False DataGrid1.Enabled = False
txtFields(0).SetFocus Exit Sub
EditErr:
MsgBox Err.Description End Sub
Private Sub cmdCancel_Click() On Error Resume Next TutupKonfirmasi KunciEntri cmdRefresh_Click If HasilBatal = True Then SetButtons True Exit Sub End If
If mbEditFlag = True Then DataString = txtFields(6).Text Translate
txtFields(6).Text = Temp$ End If
SetButtons True
cmdGantiPassword.Enabled = True mbEditFlag = False
mbAddNewFlag = False adoPrimaryRS.CancelUpdate If mvBookMark <> 0 Then
adoPrimaryRS.MoveFirst End If
mbDataChanged = False DataGrid1.Enabled = True End Sub
Private Sub cmdUpdate_Click() Dim i As Integer
Dim HasilCari As String On Error GoTo UpdateErr cmdUpdate.Default = False
Jhlrecord = adoPrimaryRS.RecordCount If Len(txtFields(0).Text) = 0 Then
MsgBox "Nama user masih kosong", vbCritical, "Nama Kosong" txtFields(0).SetFocus
Exit Sub
ElseIf Len(txtFields(3).Text) = 0 Then
MsgBox "Alamat rumah masih kosong", vbCritical, "Alamat Kosong" txtFields(3).SetFocus
Exit Sub
ElseIf Len(cmbHakAkses.Text) = 0 Then
MsgBox "Hak Akses masih kosong", vbCritical, "Hak Akses Kosong" cmbHakAkses.SetFocus
Exit Sub
ElseIf Len(txtFields(5).Text) = 0 Then
MsgBox "UserID masih kosong", vbCritical, "UserID Kosong" txtFields(5).SetFocus
Exit Sub
ElseIf Len(txtFields(6).Text) = 0 Then
MsgBox "Password masih kosong", vbCritical, "Password Kosong" txtFields(6).SetFocus
Exit Sub
ElseIf Len(txtPassword.Text) = 0 Then
MsgBox "Konfirmasi password tidak sama!", vbCritical, "Password Tidak Valid" txtPassword.SetFocus
Exit Sub End If
For i = 1 To JlhRecord
If txtFields(5).Text = cekUser(i).user And mbAddNewFlag = True Then
MsgBox "UserID sudah ada! Ganti dengan yang lain.", vbCritical, "UserID Dobel" txtFields(5).SetFocus SendKeys "{Home}+{End}" Exit Sub Else End If Next i
If txtFields(6).Text <> txtPassword.Text Then
MsgBox "Konfirmasi password tidak sama", vbCritical, "Password Tidak Valid" txtPassword.SetFocus
End If
If cmbHakAkses.Text <> "Admin" And _ cmbHakAkses.Text <> "Kasir" Then
MsgBox "Isi dengan Kasir atau Admin" & Chr(13) & _
"atau klik panah lalu pilih salah satu!", vbCritical, "Hak Akses" cmbHakAkses.SetFocus
Exit Sub End If
txtFields(4).Text = cmbHakAkses.Text DataString = txtFields(6).Text
Translate
txtFields(6).Text = Temp$
adoPrimaryRS.UpdateBatch adAffectAll adoPrimaryRS.MoveLast
If mbAddNewFlag = True Then
Call RekamKegiatan("Tambah user '" & txtFields(5).Text & "'") End If
Call RekamKegiatan("Simpan perubahan user '" & txtFields(5).Text & "'") mbEditFlag = False
mbAddNewFlag = False SetButtons True
DataGrid1.Enabled = True
cmdGantiPassword.Enabled = True mbDataChanged = False
TutupKonfirmasi KunciEntri
lblStatus.Caption = "Record ke-" & CStr(adoPrimaryRS.AbsolutePosition) Exit Sub
UpdateErr:
MsgBox Err.Description End Sub
Private Sub cmdClose_Click() On Error Resume Next cmdClose.SetFocus Db.Close
Unload Me End Sub
Private Sub cmdFirst_Click() On Error GoTo GoFirstError adoPrimaryRS.MoveFirst mbDataChanged = False
cmbHakAkses.Text = txtFields(4).Text Exit Sub
GoFirstError:
On Error GoTo GoLastError adoPrimaryRS.MoveLast mbDataChanged = False
cmbHakAkses.Text = txtFields(4).Text Exit Sub
GoLastError:
MsgBox Err.Description End Sub
Private Sub cmdNext_Click() On Error GoTo GoNextError
If Not adoPrimaryRS.EOF Then adoPrimaryRS.