BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Aplikasi Setelah dilakukan tahap analisis dan perancangan pada bab III, maka tahap selanjutnya yaitu tahap implementasi. Pada bab ini akan dibahas mengenai implementasi pembuatan basis data dan implementasi halaman aplikasi ini.
Spesifikasi Kebutuhan Pengujian pada aplikasi ini meliputi perangkat keras dan perangkat lunak. Spesifikasi masing – masing adalah sebagai berikut : A. Spesifikasi perangkat keras 1. Komputer denga prosesor intel Pentium IV 2.2 GHz 2. Memori 1GB 3. Hard disk 40 GB 4. VGA 64 MB 5. Monitor 6. Mouse dan keyboard B. Spesifikasi perangkat lunak 1. Microsoft windows xp atau di atasnya, sistem operasi yang digunakan pada aplikasi ini. 2. Eclipse digunakan untuk membuat program 3. Macromedia Dreamweaver digunakan untuk membuat desain aplikasi 4. MySQL server. 5. Mozilla firefox sebagai browser.
4.2 Implementasi Basis Data Pada implementasi ini aplikasi ini dibagi menjadi 2 bagian, yaitu implementasi tabletabel transaksi & master dan implementasi view. A. Implementasi Tabel
Terdapat 8 table yaitu: customer, dealer, deposit, pembelian, penjualan, status_server, user_application, voucher_pulsa. Berikut table – table yang dibutuhkan: 1. Tabel Customer Tabel 4.1 Tabel Customer
SQL Script: CREATE TABLE customer ( ID
int(10) UNSIGNED AUTO_INCREMENT NOT NULL,
NAMA
varchar(64) NULL,
ALAMAT
varchar(64) NULL,
HANDPHONE varchar(20) NULL, PASSWD
varchar(20) NULL,
SALDO
float NULL,
PRIMARY KEY(ID) ) ENGINE = InnoDB
2. Tabel Dealer Tabel 4.2 Tabel Dealer
SQL Script: CREATE TABLE dealer ( ID
int(10) UNSIGNED AUTO_INCREMENT NOT NULL,
NAMA_DEALER
varchar(32) NULL,
VOUCHER
varchar(32) NULL,
HARGA
float NULL,
PRIMARY KEY(ID) ) ENGINE = InnoDB
3. Tabel Deposit Tabel 4.3 Tabel Deposit
SQL Script: CREATE TABLE deposit ( ID
int(10) UNSIGNED AUTO_INCREMENT NOT NULL,
CUSTOMER_ID
int(10) UNSIGNED NOT NULL,
TANGGAL
datetime NULL,
NOMINAL
float NULL,
PRIMARY KEY(ID) ) ENGINE = InnoDB
4. Tabel Pembelian Tabel 4.4 Tabel Pembelian
SQL Script: CREATE TABLE "pembelian" ( "ID"
int(10) UNSIGNED AUTO_INCREMENT NOT NULL,
"DEALER_ID"
int(10) UNSIGNED NOT NULL,
"VOUCHER_PULSA_ID"
int(10) UNSIGNED NOT NULL,
"TANGGAL"
datetime NULL,
"HARGA"
float NULL,
PRIMARY KEY("ID") );
CREATE INDEX "PEMBELIAN_FKIndex2" ON "pembelian"("DEALER_ID"); CREATE INDEX "PEMBELIAN_FKIndex1" ON "pembelian"("VOUCHER_PULSA_ID"); ALTER TABLE "pembelian" ADD CONSTRAINT "pembelian_ibfk_2" FOREIGN KEY("DEALER_ID") REFERENCES "dealer"("ID") ON DELETE NO ACTION ON UPDATE NO ACTION ; ALTER TABLE "pembelian" ADD CONSTRAINT "pembelian_ibfk_1" FOREIGN KEY("VOUCHER_PULSA_ID")
REFERENCES "voucher_pulsa"("ID") ON DELETE NO ACTION ON UPDATE NO ACTION, ;
5. Tabel Penjualan Tabel 4.5 Tabel Penjualan
SQL Script: CREATE TABLE "penjualan" ( "ID"
int(10) UNSIGNED AUTO_INCREMENT NOT NULL,
"VOUCHER_PULSA_ID"
int(10) UNSIGNED NOT NULL,
"CUSTOMER_ID"
int(10) UNSIGNED NOT NULL,
"TANGGAL"
datetime NULL,
"HARGA"
float NULL,
"HP_TUJUAN"
varchar(20) NULL,
"STATUS_TRANSAKSI"
int(2) UNSIGNED NULL,
PRIMARY KEY("ID") );
CREATE INDEX "PENJUALAN_FKIndex1" ON "penjualan"("CUSTOMER_ID"); CREATE INDEX "PENJUALAN_FKIndex2" ON "penjualan"("VOUCHER_PULSA_ID"); ALTER TABLE "penjualan" ADD CONSTRAINT "penjualan_ibfk_2" FOREIGN KEY("VOUCHER_PULSA_ID") REFERENCES "voucher_pulsa"("ID") ON DELETE NO ACTION
ON UPDATE NO ACTION ; ALTER TABLE "penjualan" ADD CONSTRAINT "penjualan_ibfk_1" FOREIGN KEY("CUSTOMER_ID") REFERENCES "customer"("ID") ON DELETE NO ACTION ON UPDATE NO ACTION, ;
6. Tabel Status Server Tabel 4.6 Tabel Status Server
SQL Script: CREATE TABLE "status_server" ( "ID"
int(10) UNSIGNED AUTO_INCREMENT NOT NULL,
"STATUS_NAME" varchar(32) NULL, "VALUE"
varchar(32) NULL,
PRIMARY KEY("ID") );
7. Tabel User Application Tabel 4.7 Tabel User Application
SQL Script: CREATE TABLE "user_application" (
"ID"
int(10) UNSIGNED AUTO_INCREMENT NOT NULL,
"NAME"
varchar(32) NULL,
"UNAME"
varchar(32) NULL,
"PASSWD"
varchar(32) NULL,
PRIMARY KEY("ID") );
8. Tabel Voucher Pulsa Tabel 4.8 Tabel Voucher Pulsa
SQL Script: CREATE TABLE "voucher_pulsa" ( "ID"
int(10) UNSIGNED AUTO_INCREMENT NOT NULL,
"NAMA_VOUCHER"
varchar(32) NULL,
"OPERATOR"
varchar(32) NULL,
"NOMINAL"
float NULL,
"HARGA"
float NULL,
"SALDO"
float NULL,
PRIMARY KEY("ID") );
B. Implementasi View
Pada sistem ini terdapat 12 view, yaitu: deposit_harian, deposit_bulanan, deposit_tahunan, pembelian_harian,
penjualan_harian, pembelian_bulanan,
penjualan_bulanan, pembelian_tahunan,
penjualan_tahunan, transaksi_harian,
transaksi_bulanan, transaksi_tahunan. Berikut SQL Script untuk masing-masing view:
a. View Deposit Harian Tabel 4.9 View Deposit Harian
SQL
Script:
CREATE OR REPLACE VIEW deposit_harian as select
distinct
DATE_FORMAT(d.TANGGAL,
'TANGGAL', sum(d.NOMINAL) as 'NOMINAL' from deposit d, customer c where d.CUSTOMER_ID=c.ID group by DATE_FORMAT(d.TANGGAL, '%d-%c-%Y');
b. View Deposit Bulanan Tabel 4.10 View Deposit Bulanan
SQL Script: CREATE OR REPLACE VIEW deposit_bulanan as
'%d-%c-%Y')
as
select
distinct
DATE_FORMAT(d.TANGGAL,
'%c')
as
'BULAN',
DATE_FORMAT(d.TANGGAL, '%Y') as 'TAHUN', c.NAMA, sum(d.NOMINAL) as 'NOMINAL' from deposit d, customer c where d.CUSTOMER_ID=c.ID group by DATE_FORMAT(d.TANGGAL, '%c'), DATE_FORMAT(d.TANGGAL, '%Y'),c.NAMA;
c. View Deposit Tahunan Tabel 4.11 View Deposit Tahunan
SQL Script: CREATE
OR
REPLACE
VIEW
deposit_tahunan
as
select
distinct
DATE_FORMAT(d.TANGGAL, '%Y') as 'TAHUN', c.NAMA, sum(d.NOMINAL) as
'NOMINAL'
from
deposit
d,
customer
d.CUSTOMER_ID=c.ID group by DATE_FORMAT(d.TANGGAL, '%Y'),c.NAMA;
c
where
d. View Pembelian Harian Tabel 4.12 View Pembelian Harian
SQL Script: CREATE OR REPLACE VIEW pembelian_harian as select
distinct
DATE_FORMAT(p.TANGGAL,
'%d-%c-%Y')
as
'TANGGAL',count(v.ID) as 'JUMLAH' from pembelian p, voucher_pulsa v where p.VOUCHER_PULSA_ID = v.ID group by DATE_FORMAT(p.TANGGAL, '%d-%c-%Y');
e. View Pembelian Bulanan Tabel 4.13 View Pembelian Bulanan
SQL Script: CREATE OR REPLACE VIEW pembelian_bulanan as select
distinct
DATE_FORMAT(p.TANGGAL,
DATE_FORMAT(p.TANGGAL,
'%Y')
count(v.ID) as 'JUMLAH' from pembelian p, voucher_pulsa v
as
'%c')
'TAHUN',
as
'BULAN',
v.OPERATOR,
where p.VOUCHER_PULSA_ID = v.ID group by DATE_FORMAT(p.TANGGAL, '%c'), DATE_FORMAT(p.TANGGAL, '%Y'), v.OPERATOR;
f. View Pembelian Tahunan Tabel 4.14 View Pembelian Tahunan
SQL Script CREATE OR REPLACE VIEW pembelian_tahunan as select
distinct
DATE_FORMAT(p.TANGGAL,
'%Y')
v.OPERATOR, count(v.ID) as 'JUMLAH' from pembelian p, voucher_pulsa v where p.VOUCHER_PULSA_ID = v.ID group by DATE_FORMAT(p.TANGGAL, '%Y'), v.OPERATOR;
g. View Penjualan Harian Tabel 4.15 View Penjualan Harian
as
'TAHUN',
SQL Script CREATE OR REPLACE VIEW penjualan_harian as select
distinct
DATE_FORMAT(p.TANGGAL,
'%d-%c-%Y')
as
'TANGGAL', count(v.ID) as 'JUMLAH' from penjualan p, voucher_pulsa v where p.VOUCHER_PULSA_ID = v.ID group by DATE_FORMAT(p.TANGGAL, '%d-%c-%Y');
h. View Penjualan Bulanan Tabel 4.16 View Penjualan Bulanan
SQL Script CREATE OR REPLACE VIEW penjualan_bulanan as select
distinct
DATE_FORMAT(p.TANGGAL,
DATE_FORMAT(p.TANGGAL,
'%Y')
as
'%c')
'TAHUN',
as
'BULAN',
v.OPERATOR,
count(v.ID) as 'JUMLAH' from penjualan p, voucher_pulsa v where p.VOUCHER_PULSA_ID = v.ID group by DATE_FORMAT(p.TANGGAL, '%c'), DATE_FORMAT(p.TANGGAL, '%Y'), v.OPERATOR;
i. View Penjualan Tahunan Tabel 4.17 View Penjualan Tahunan
SQL Script CREATE OR REPLACE VIEW penjualan_tahunan as select
distinct
DATE_FORMAT(p.TANGGAL,
'%Y')
as
'TAHUN',
v.OPERATOR, count(v.ID) as 'JUMLAH' from penjualan p, voucher_pulsa v where p.VOUCHER_PULSA_ID = v.ID group by DATE_FORMAT(p.TANGGAL, '%Y'), v.OPERATOR;
j. View Status Transaksi Harian Tabel 4.18 View Status Transaksi Harian
SQL Script CREATE OR REPLACE VIEW transaksi_harian as select
distinct
'TANGGAL',
DATE_FORMAT(p.TANGGAL,
'%d-%c-%Y')
as
(select
count(d.id)
DATE_FORMAT(p.TANGGAL,
from '%d-%m-%Y')
penjualan =
d
where
DATE_FORMAT(d.TANGGAL,
'%d-%m-%Y') and d.STATUS_TRANSAKSI=1) as 'SUKSES', (select
count(d.id)
DATE_FORMAT(p.TANGGAL,
from '%d-%m-%Y')
penjualan =
d
where
DATE_FORMAT(d.TANGGAL,
'%d-%m-%Y') and d.STATUS_TRANSAKSI=2) as 'GAGAL' from penjualan p group by DATE_FORMAT(p.TANGGAL, '%d-%c-%Y');
k. View Status Transaksi Bulanan Tabel 4.19 View Status Transaksi Bulanan
SQL Script CREATE OR REPLACE VIEW transaksi_bulanan as select
distinct
DATE_FORMAT(p.TANGGAL,
'%c')
as
'BULAN',
d
where
DATE_FORMAT(p.TANGGAL, '%Y') as 'TAHUN', (select
count(d.id)
from
penjualan
DATE_FORMAT(p.TANGGAL, '%m-%Y') = DATE_FORMAT(d.TANGGAL, '%m%Y') and d.STATUS_TRANSAKSI=1) as 'SUKSES', (select
count(d.id)
from
penjualan
d
where
DATE_FORMAT(p.TANGGAL, '%m-%Y') = DATE_FORMAT(d.TANGGAL, '%m%Y') and d.STATUS_TRANSAKSI=2) as 'GAGAL' from penjualan p group by DATE_FORMAT(p.TANGGAL, '%c'), DATE_FORMAT(p.TANGGAL, '%Y');
l. View Status Transaksi Tahunan Tabel 4.20 View Status Transaksi Tahunan
SQL Script CREATE OR REPLACE VIEW transaksi_tahunan as select distinct DATE_FORMAT(p.TANGGAL, '%Y') as 'TAHUN', (select
count(d.id)
from
penjualan
d
where
DATE_FORMAT(p.TANGGAL, '%Y') = DATE_FORMAT(d.TANGGAL, '%Y') and d.STATUS_TRANSAKSI=1) as 'SUKSES', (select
count(d.id)
from
penjualan
d
where
DATE_FORMAT(p.TANGGAL, '%Y') = DATE_FORMAT(d.TANGGAL, '%Y') and d.STATUS_TRANSAKSI=2) as 'GAGAL' from penjualan p group by DATE_FORMAT(p.TANGGAL, '%Y');
4.3 Implementasi Tampilan A. Tampilan Login
Gambar 4.1 Halaman Login
B. Tampilan Dashboard
Gambar 4.2 Halaman Dashboard
C. Tampilan Rekap Penjualan
Gambar 4.3 Halaman Rekap Penjualan
D. Tampilan Rekap Pembelian
Gambar 4.4 Halaman Rekap Pembelian
E. Tampilan Status Transaksi
Gambar 4.5 Halaman Status Transaksi
F. Tampilan Deposit Pelanggan
Gambar 4.6 Halaman Deposit Pelanggan
G. Tampilan Status Server
Gambar 4.7 Halaman Status Server
4.4 Pengujian A. Skenario Pengujian Skenario pengujian meliputi pengujian perangkat lunak terhadap fungsionalitas aplikasi yang dibangun berfungsi untuk melakukan pengujian proses yang terjadi pada perangkat lunak yang dibangun dengan proses yang terjadi didalam sistem dan menguji kelayakan sebuah aplikasi yang akan digunakan. Apabila keluaran proses tidak
menghasilkan sesuai dengan yang
diinginkan, maka program aplikasi masih terdapat kesalahan yang harus diperbaiki pada program aplikasi tersebut. Dan apabila keluaran proses
menghasilkan kebutuhan fungsionalnya, maka program aplikasi tersebut benar. Web broser mozila firefox digunakan untuk melakukan pengujian pada proses aplikasi ini. Dengan cara mengetikkan alamat URL sebagai berikut:http://
:port/skripsi(contoh:http://localhost:8080/skripsi/). Aplikasi ini dimulai dari menu login semua menu yang terdapat pada aplikasi sampai dengan logout dari aplikasi. Tabel 4.8 Skenario Pengujian Deskripsi
Kelompok
fungsional
uji
Login Pemilik
Benar
No
1
Kasus uji
Hasil yang diharapkan
Input User_id dan Akan password yang benar halaman
menampilkan dashboard
dan
menu yang tampil adalah Dashboard,
Rekap
Penjualan,
Rekap
Pembelian,
Status
Transaksi,
Deposit
Pelanggan Salah
Input User_id dan Menampilkan pesan salah password yang salah
2
Login Admin
Benar
dan harus login ulang
Input User_id dan Akan
menampilkan
password yang benar halaman status server dan menu yang tampil adalah Status Server
Salah
Input User_id dan Menampilkan pesan salah password yang salah
3
Rekap Penjualan
Benar
Masuk
ke
dan harus login ulang
menu Muncul grafik penjualan
Rekap Penjualan dan pertahun dan perbulan data
berhasil
di
dapatkan Salah
Data kosong
Grafik tidak muncul dan terdapat pesan “no data”
4
Rekap Pembelian
Benar
Masuk
ke
menu Muncul grafik pembelian
Rekap
Pembelian pertahun dan perbulan
dan data berhasil di dapatkan Salah
Data kosong
Grafik tidak muncul dan terdapat pesan “no data”
5
Status Transaksi
Benar
Masuk
ke
menu Muncul
Status Transaksi dan transaksi data
berhasil
grafik
status
pertahun
dan
di perbulan
dapatkan Salah
Data kosong
Grafik tidak muncul dan terdapat pesan “no data”
5
Deposit Pelanggan
Benar
Masuk
ke
menu Muncul
Deposit
Pelanggan pelanggan
grafik
deposit
pertahun
dan
dan data berhasil di perbulan dapatkan Salah
Data kosong
Grafik tidak muncul dan
terdapat pesan “no data” 6
Status Server
Benar
Masuk
ke
menu Muncul grafik status server
Status Server dan data
berhasil
di
dapatkan Salah
Data kosong
Grafik tidak muncul dan terdapat pesan “no data”
B. Analisa Pengujian Berikut adalah analisa yang telah dilakukan berdasarkan hasil pengujian yang telah dilakukan. Halaman login adalah halaman yang pertama kali muncul ketika seorang pengguna ingin masuk ke halaman menu utama. Pilihan status login hanya ada 2, yaitu: Pemilik dan Admin. Kasus uji yang dilakukan adalah memasukan username dan password, dengan melakukan dua kelompok uji. Pada kelompok uji benar memasukan data yang benar, maka akan dibagi jika: a.
Pemilik: akan menampilkan halaman dashboard dan menu yang tampil adalah Dashboard, Rekap Penjualan, Rekap Pembelian, Status Transaksi, Deposit Pelanggan.
b. Admin: akan menampilkan halaman status server dan menu yang tampil adalah Status Server. Sedangkan pada kelompok uji yang salah akan muncul pesan kesalahan dan pengguna harus melakukan login ulang. Modul ini telah dilakukan pengujian dan hasilnya dapat dijalankan sesuai dengan rancangan yang dibangun.
Pada kasus uji melihat laporan/grafik, baik oleh Pemilik/Admin yang dilakukan adalah memilih grafik yang di inginkan pada menu yang tersedia, kemudian grafik tersebut akan meminta data ke server, jika data tersedia maka akan muncul di grafik, sesuai tipe grafik yang telah dipilih. Jika tidak, akan muncul pesan bahwa data kosong. Modul ini telah dilakukan pengujian dan atau dapat dijalankan sesuai dengan rancangan yang telah dibangun. Logout digunakan untuk keluar dari aplikasi, setelah proses logout diesekusi sistem akan menampilkan kembali halaman login. Modul ini telah dilakukan pengujian dan hasilnya dapat dijalankan sesuai dengan rancangan yang telah dibangun. Hasil analisis terhadap aplikasi yang dibangun secara keseluruhan telah berfungsi dengan baik dan layak digunakan.