66 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Instalasi Software Dalam penulisan tugas akhir ini dalam pembuatan programnya menggunakan aplikasi XAMPP dan MySQL sebagai databasenya dengan bahasa pemrograman Visual Basic. 4.2 Implementasi Sistem Pada implementasi sistem ini akan dijelaskan implementasi dari aplikasi sistem yang digunakan dengan menggunakan beberapa fungsi yang di buat yang terdiri dari ruang lingkup implementasi, pengkodean, dan interface dari aplikasi sistem tersebut. Berikut merupakan spesifikasi PC (Personal Computer) yang dibutuhkan pada saat perancangan sistem administrasi ini dibuat dan dioperasikan : a. Perangkat Keras Microprocessor : Intel Atom CPU N470 1.83 GHz RAM : 1 GB Hardisk : 120 GB b. Perangkat Lunak Sistem Operasi : Windows 7 Web Server : Apache, MySQL database Browser : Internet Explorer, Mozilla Firefox, Google Chrome Program : Visual Basic Tampilan : Visual Basic 2008 Editing : Adobe Photoshop CS 3 66
67 4.3 Implementasi Basis Data Pada sub bab ini akan menjelaskan implementasi basis data dari aplikasi sistem menggunakan XAMPP beberapa fungsi yang di buat yang terdiri dari ruang lingkup implementasi dari aplikasi sistem tersebut. Adapun langkah-langkah untuk membuka database adalah sebagai berikut : 1. Buka browser Mozila firefoks untuk mencoba web server, lalu ketikan localhost/phpmyadmin pada address bar. Gambar 4.1 Local Host pada Mozilla firefoks 2. Pilih Database admin untuk menampilkan database travel. SQL (Structured Query Language) : CREATE DATABASE dbtravel; Gambar 4.2 Database travel
68 3. Berikut ini adalah Tabel Admin Gambar 4.3 Tampilan table admin 4. Berikiut ini adalah Tabel Penumpang Gambar 4.4 Tampilan table penumpang
69 5. Berikut ini adalah Tabel Sopir Gambar 4.5 Tampilan table sopir 6. Berikut ini adalah Tabel mobil Gambar 4.6 Tampilan table mobil
70 7. Berikut adalah Tabel jadwal Gambar 4.7 Tampilan table jadwal 8. Berikut adalah Tabel pesan Gambar 4.8 Tampilan table pesan
71 9. Berikut adalah Tabel detail_pesan Gambar 4.9 Tampilan table detail_pesan 10. Berikut adalah Tabel pembayaran Gambar 4.10 Tampilan table pembayaran
72 11. Berikut ini adalah Tabel tiket Gambar 4.11 Tampilan table tiket
73 4.4 Implementasi Program Berikut adalah implementasi program sesuai dengan rancangan layar yang telah dirancang sebelumnya, antara lain: 1. Tampilan Layar User Admin Gambar 4.12 Tampilan User Admin 2. Tampilan Menu Utama Travel Gambar 4.13 Tampilan Menu Utama
74 3. Tampilan Master Jam Berangkat Gambar 4.14 Tampilan Master Jam berangkat 4. Tampilan Master Penumpang Gambar 4.15 Tampilan Master Jam berangkat
75 5. Tampilan Master Mobil 6. Tampilan Master Sopir Gambar 4.16 Tampilan Master Mobil Gambar 4.17 Tampilan Master Sopir
76 7. Tampilan Transaksi Pesan Tiket Gambar 4.18 Tampilan Transaksi Pesan Tiket
77 8. Tampilan Transaksi Pembayaran Gambar 4.19 Tampilan Transaksi Pembayaran 9. Tampilan Laporan Data Master Gambar 4.20 Tampilan Laporan Data Master
78 10. Tampilan Laporan Data Travel Gambar 4.21 Tampilan Laporan Data Travel 11. Tampilan Laporan Data Penjualan Tiket Gambar 4.22 Tampilan Laporan penjualan Tiket
79 a. Listing program Menu Login : Imports System.Data.Odbc Public Class Login Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Koneksi() cmd = New OdbcCommand("select * from admin where Nama='" & TextBox1.Text & "' and Password='" & TextBox2.Text & "'", conn) rd = cmd.executereader rd.read() If rd.hasrows Then Me.Visible = False TRAVEL.Show() TRAVEL.Panel1.Text = rd.getstring(0) TRAVEL.Panel2.Text = rd.getstring(1) TRAVEL.Panel3.Text = rd.getstring(3) If TRAVEL.Panel3.Text <> "ADMINISTRATOR" Then TRAVEL.DataAdminToolStripMenuItem.Enabled = False Else TRAVEL.DataAdminToolStripMenuItem.Enabled = True End If Else MsgBox("login salah, periksan kembali user name dan password") TextBox1.Focus() End If End Class
80 b. Listing Program Menu Utama Travel : Public Class TRAVEL Private Sub IyaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IyaToolStripMenuItem.Click End Penumpang.Show() Private Sub MobilToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MobilToolStripMenuItem.Click Mobil.Show() Private Sub SopirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SopirToolStripMenuItem.Click Sopir.Show() Private Sub TRAVEL_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Private Sub PembataranToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PembataranToolStripMenuItem.Click cetak_pembayaran.show() Private Sub IyaToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IyaToolStripMenuItem1.Click Me.Close() End Class
81 c. Listing program Master Jadwal Imports System.Data.Odbc Public Class JamBerangkat Sub Kosongkan() TextBox1.Text = "" TextBox2.Text = "" TextBox4.Text = "" TextBox1.Focus() If Not rd.hasrows Then Dim sqltambah As String = "Insert into jadwal(kd_jadwal,jam_berangkat,tujuan) values " & _ "('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox4.Text & "')" cmd = New OdbcCommand(sqltambah, conn) cmd.executenonquery() Call Kosongkan() Call Tampilkan() Else Dim sqledit As String = "Update jadwal set " & _ "Jam_berangkat='" & TextBox2.Text & "', " & _ "Tujuan='" & TextBox4.Text & "', " & _ "where Kd_jadwal='" & TextBox1.Text & "'" cmd = New OdbcCommand(sqledit, conn) cmd.executenonquery() Call Kosongkan() Call Tampilkan() End Class d. Listing Program Master Penumpang Imports System.Data.Odbc Public Class Penumpang Sub Kosongkan() TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox1.Focus() Sub DataBaru() TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox2.Focus()
82 Else Dim sqledit As String = "Update penumpang set " & _ "Nama='" & TextBox2.Text & "', " & _ "Telepon='" & TextBox3.Text & "', " & _ "Alamat='" & TextBox4.Text & "', " & _ "Asal='" & TextBox5.Text & "', " & _ "where Id_penumpang='" & TextBox1.Text & "'" cmd = New OdbcCommand(sqledit, conn) cmd.executenonquery() Call Kosongkan() Call Tampilkan() End If Call Otomatis() End If Private Sub CmdBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdBatal.Click Call Kosongkan() Else If MessageBox.Show("Yakin akan dihapus..?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then cmd = New OdbcCommand("Delete from Penumpang where Id_Penumpang='" & TextBox1.Text & "'", conn) cmd.executenonquery() Call Kosongkan() Call Tampilkan() End If End If Else Call Kosongkan() Private Sub Penumpang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call Koneksi() Call Tampilkan() Call Otomatis() Sub Otomatis() Dim strtemp As String = "" Dim strvalue As String = "" Dim SQL As String SQL = "SELECT * FROM penumpang ORDER BY Id_penumpang DESC" cmd = New OdbcCommand(SQL, conn) rd = cmd.executereader If rd.read Then strtemp = Mid(rd.Item("Id_penumpang"), 2, 3) Else
83 TextBox1.Text = "A01" Exit Sub End If strvalue = Val(strTemp) + 1 TextBox1.Text = "A" & Mid("0", 1, 3 - strvalue.length) & strvalue Private Sub DGV_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGV.CellContentClick Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click Private Sub Btncri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btncri.Click Dim popuppen As New PopPen popuppen.showdialog() If popuppen.retid_penumpang <> "" Then TextBox1.Text = popuppen.retid_penumpang TextBox2.Text = popuppen.retnama TextBox3.Text = popuppen.rettelepon TextBox4.Text = popuppen.retalamat TextBox5.Text = popuppen.retasal TextBox2.Enabled = False TextBox1.Focus() End If End Class
84 e. Listing Program Transaksi Pesan Tiket Imports System.Data.Odbc Imports System.Data Public Class pesan Dim conn As OdbcConnection Dim cmd As OdbcCommand Dim rd As OdbcDataReader Private index As Integer = 0 Private Total As Double = 0.0 Private Sub pesan_load(byval sendes As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load str = "Driver={MySQL ODBC 3.51 Driver};database=travel;server=localhost;uid=root" conn = New OdbcConnection(str) If conn.state <> ConnectionState.Closed Then conn.close() conn.open() Dim strtemp As String = "" Dim strvalue As String = "" Dim sql As String sql = "SELECT * FROM pesan ORDER BY No_pesan DESC" cmd = New OdbcCommand(sql, conn) rd = cmd.executereader If rd.read Then strtemp = Mid(rd.Item("No_pesan"), 3, 5) Else txtnosp.text = "PS001" Exit Sub End If strvalue = Val(strTemp) + 1 txtnosp.text = "ps" & Mid("00", 1, 5 - strvalue.length) & strvalue Call Koneksi() DateTimePicker1.Format = DateTimePickerFormat.Custom DateTimePicker1.CustomFormat = "yyyy/mm/dd" cmd = New OdbcCommand("Select * from pesan where No_pesan='" & txtnosp.text & "'", conn) rd = cmd.executereader rd.read() If Not rd.hasrows Then Dim sqlsimpan As String = "Insert into pesan(no_pesan,id_penumpang,kd_mobil,tgl_pesan) values " & _ "('" & txtnosp.text & "','" & txtid.text & "','" & lvwpenumpang.items(counter).subitems(0).text & "','" &
85 Next If x = 1 Then MessageBox.Show("DATA PESAN BERHASIL DISIMPAN") End If End If Catch ex As Exception MsgBox(ex.Message) End Try Private Sub lvwpenumpang_selectedindexchanged(byval sender As System.Object, ByVal e As System.EventArgs) Handles lvwpenumpang.selectedindexchanged Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim popupjad As New PopJam popupjad.showdialog() If popupjad.retkd_jadwal <> "" Then TextBox1.Text = popupjad.retkd_jadwal TextBox2.Text = popupjad.retjam_berangkat TextBox1.Enabled = False TextBox2.Focus() End If Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'CetTiket.T = txtnosp.text ' CetTiket.Show() End Class
86 Listing Program Laporan : Public Class LaporanPtiket Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click LaporPenjualan.PJ1 = DateTimePicker1.Value.Date LaporPenjualan.PJ2 = DateTimePicker2.Value.Date LaporPenjualan.Show() Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() Private Sub LaporanPtiket_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Class
87 4.5 Skenario Pengujian Skenario pengujian diperlukan untuk mengetahui apakah aplikasi yang dibuat dapat berfungsi dengan baik atau tidak. Skenario pengujian dilakukan dengan memilih dari setiap pilihan yang ada pada aplikasi visual basic ini, kemudian dilakukan pengujian dengan menekan tombol-tombol yang terdapat pada halaman form dari aplikasi ini apakah sudah sesuai dengan yang diharapkan. Tabel 4.1 Tabel Skenario Pengujian Menu Utama No Antar Muka yang diuji Bagian dari antar muka yang diuji 1 Menu Login Proses menu 2 Menu Utama Proses ambil dan pilih menu Status Aplikasi Memasukkan userid dan password Memilih Menu yang akan diinput Skenario Pengujian Input data sesuai dengan form tersebut Pilih data menu Hasil yang diharapkan Menu Utama akan terbuka Menu akan terpilih Tabel 4.2 Tabel Skenario Pengujian Menu Master No Antar Muka yang diuji Bagian dari antar muka yang diuji 1 Menu Master Proses simpan dan menginput data Status Aplikasi Form input Menu Master Skenario Pengujian Input data sesuai dengan form tersebut Hasil yang diharapkan Data Akan Tersimpan ke dalam tabel Master
88 Tabel 4.3 Tabel Skenario Pengujian Menu Transaksi No Antar Muka yang diuji 1 Menu Transaksi Pesan Tiket 2 Menu Transaksi Pembayaran Bagian dari antar muka yang diuji Proses simpan dan menginput data dan cetak Proses simpan dan menginput data dan Cetak tiket Status Aplikasi Form input Menu Transaksi Form input Menu Transaksi Pembayran Skenario Pengujian Input data Penjualan sesuai menu master Input data Pembayaran Hasil yang diharapkan Data Akan Tersimpan ke dalam tabel Transaksi pesan Data Akan Tersimpan ke dalam tabel Transaksi pembayaran dan bisa mencetak Tiket Tabel 4.4 Tabel Skenario Pengujian Menu Laporan No Antar Muka yang diuji 1 Menu Laporan Travel 2 Menu Laporan Penjualan Bagian dari antar muka yang diuji Proses Cetak Laporan per periode Proses Cetak Laporan Penjualan per periode Status Aplikasi Form Menu Laporan Travel Form Menu Laporan Penjualan Skenario Pengujian Cetak Data Laporan Travel Cetak Data Laporan Travel Hasil yang diharapkan Data Akan tercetak sesuai Periode Data Akan tercetak sesuai Periode
89 4.6 Analisis Hasil Pengujian Setelah dilakukan pengujian secara menyeluruh. Maka dapat disimpulkan bahwa pengujian telah menunjukkan hasil keluaran (Output) dan proses yang sesuai dengan rancangan aplikasi program ini. Dan hasil dari pengujian ini dapat dikatakan bahwa program ini dapat berfungsi dengan baik dan benar, karena telah dibuktikan dari hasil skenario pengujian. Hasil pengujian yang diperoleh dapat dianalisis sebagai berikut: 1. Halaman login, yang mengontrol aktifitas sub menu / link-link dalam sistem. 2. Halaman utama yang menghubungkan antar interface yang terdapat dalam menu berjalan dengan baik. 3. Menu form yang tersedia, hasil inputannya berhasil tersimpan ke dalam database dengan tepat. 4. Proses penjualan Tiket berbasis visual basic dapat berjalan sesuai yang di inginkan. 5. Menu Master, Transaksi dan Laporan. Setiap tombol menu yang terdapat di Menu tersebut dapat berjalan sesuai perancangan sistem tersebut. 6. Hasil keluaran atau output dapat tercetak sesuai perancangan sistem yang di inginkan.