BAB IV IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dibahas tentang implementasi Rancangan Aplikasi Pendataan Mahasiswa Pada Universitas XYZ menggunakan PHP dan MySQL beserta faktor pendukung yang dibutuhkan oleh sistem, serta hasil pengujian terhadap sistem menggunakan beberapa jenis software yang digunakan untuk aplikasi ini. 4.1 Implementasi Implementasi di bagi 3 (tiga) bagian, yaitu implementasi program, basis data dan implementasi antar muka. 4.1.1 Implementasi Program Aplikasi ini merupakan aplikasi berbasis web dan menggunakan bahasa pemrograman PHP dengan basis data MySQL. Pada bab ini, penulis akan membahas tentang beberapa proses utama yang ada di sistem pada tugas akhir ini, yaitu: 45
46 1. Proses Login User Gambar 4.1 Tampilan Potongan Koding Login Penjelasan : Baris 8 : Mengecek apakah post username dan post password dari form login memiliki nilaia tau tidak. Baris 11 : Mengecek apakah post username dan post password tidak kosong. Baris 13 : Mengisi variable $username dengan post username dari form login. Baris 14 : Mengisi variable $password dengan post password dari form login. Baris 15 : Membuat query untuk menampilkan semua data dari table tb_user dengan kondisi username dan password berdasarkan nilai dari variable $username dan variable $password. Baris 16 : Menjalankan/mengeksekusi query tadi.
47 Baris 17 : Mengecek apakah data-data yang ditampilkan ada atau tidak. Baris 20 : Mengisi variable $pengguna dengan data-data hasil query tadi. Baris 21-24 : Mengisi session dengan data-data hasil query tadi. Baris 25 : Membuat query untuk mengupdate/merubah nilai login_terakhir dengan waktu sekarang pada table tb_user dengan kondisi username berdasarkan nilai dari variable $username. Baris 26 : Menampilkan file index.php. Baris 29 : Menampilkan alert yang berisi Periksa kembali account anda. Baris 30 : Menampilkan file login_user.php dengan javascript. 2. Proses Input Pendaftaran Mahasiswa Gambar 4.2 Tampilan Potongan Koding Pendaftaran Mahasiswa Penjelasan : Baris 351 : Membuat query untuk menampilkan nik dari table tb_ktp Baris 352 : Mengeksekusi query tadi. Baris 354 : Melooping/mengulang hasil query tadi dan dimasukkan pada array $rows. Baris 356 : Menampilkan value array $rows dengan key nik.
48 3. Proses Menyimpan Pendaftaran Mahasiswa Gambar 4.3 Tampilan Potongan Koding Menyimpan Pendaftaran Mahasiswa Penjelasan : Baris15 : Mengecek apakah variable $nim memiliki nilai atau tidak. Baris17 : Menampilkan alert atau popup berisi NIM Tidak boleh kosong. Baris18 : Menampilkan file form_pendaftaran dengan javascript. Baris20 : Mengecekapakah variable $nik memiliki nilai atau tidak. Baris22 : Menampilkan alert atau popup berisi NIK Tidak boleh kosong. Baris23 : Menampilkan file form_pendaftaran dengan javascript. Baris27 : Membuat query menampilkan nim dari table tb_mahasiswa dengan kondisi nim berdasarkan nilai dari variabel $nim. Baris28 : Menjalankan/Mengeksekusi query tadi.
49 Baris29 : Mengecek apakah nim yang ditampilkan berdasarkan variable $nim ada atau tidak. Baris31 : Menampilkan alert atau popup berisi NIM sudah terdaftar. Baris32 : Menampilkan file form_pendaftaran dengan javascript. Baris35: Membuat query menampilkan nik dari table tb_ktp dengan kondisi nik berdasarkan nilai dari variabel $nik. Baris36 : Menjalankan/Mengeksekusi query tadi. Baris37 : Mengecek apakah nik yang ditampilkan berdasarkan variabel $nik ada atau tidak. Baris39 : Menampilkan alert atau popup berisi NIK tidak terdaftar. Baris40 : Menampilkan file form_pendaftaran dengan javascript. Baris42 : Membuat query untuk menginsert atau memasukkan data ke database. Baris45 : Menampilkan file laporan_data_mhs. 4. Proses Input Mata Kuliah Gambar 4.4 Tampilan Potongan Koding Proses Input Mata Kuliah Penjelasan : Baris344 : Membuat query untuk menampilkan nim dan nama dari table tb_mahasiswa dan table tb_ktp dengan kondisi tidak menampilkan nim yang sudah ada di table ambilmk. Baris345 : Mengeksekusi query tadi.
50 Baris347 : Melooping/mengulang hasil query tadi dan dimasukkan pada array $rows. Baris349 : Menampilkan value array $rows dengan key nim dan nama. 5. Proses Menyimpan Mata Kuliah Gambar 4.5 Tampilan Potongan Koding Proses Menyimpan Mata Kuliah Penjelasan : Baris2 : Menginclude file koneksi.php untuk mengkoneksikan ke database. Baris3 : Mengecek apakah session yang bernama login memiliki nilai atau tidak. Baris4 : Menampilkan file login_user.php. Baris7 : Mengisi variable $kodemk dengan nilai yang di POST dari form. Baris8 : Mengisi variable $namamk dengan nilai yang di POST dari form. Baris9 : Mengisi variable $submit dengan nilai yang di POST dari form.
51 Baris11 : Mengecek apakah variable $submit memiliki nilai atau tidak. Baris13 : Mengecek apakah variable $kodemk memilikinilai atau tidak. Baris15 : Menampilkan alert yang berisi NIK tidak boleh kosong. Baris16 : Menampilkan form_pendaftaran_matkul.php dengan javascript. Baris19 : Membuat query yang berisi menampilkan kodemk dari table mk dengan kondisi kodemk berdasarkan nilai dari variable $kodemk. Baris20 : Mengeksekusi/menjalankan query tadi. Baris21 : Mengecek apakah kodemk yang ditampilkan ada atau tidak. Baris23 : Menampilkan alert berisi Kode Mata Kuliah tidak terdaftar. Baris24 : Menampilkan form_pendaftaran_matkul.php dengan javascript. Baris27 : Membuat query untuk menginsert/memasukkan data dari form pendaftaran matkul ke database. Baris30 : Menampilkan form_pendaftaran_matkul.php. 4.1.2 Implementasi Basis Data Basis data pada aplikasi ini mempunyai 3 tabel, yaitu tabel user, ktp, dan mahasiswa. Berikut merupakan lampiran SQL (Structured Query Language) dari basis data program ini. Kode 4.13 Potongan Sql Tabel user 1. CREATE TABLE IF NOT EXISTS `user` ( 2. `username` varchar(4) CHARACTER SET latin1_swedish_ci NOT NULL, 3. `password` varchar(255) CHARACTER SET latin1_swedish_ci NOT NULL, 4. `nama` varchar(30) CHARACTER SET latin1_swedish_ci NOT NULL, 5. `login_terakhir` datetime NOT NULL, 6. ) Penjelasan Kode: Merupakan perintah untuk membuat tabel user dengan kolom username bertipe varchar dengan panjang 4 karakter, password bertipe varchar dengan panjang 225 karakter karena segala inputan akan di encrypt MD5, nama bertipe varchar
52 dengan panjang 30 karakter, dan login_terakhir bertipe datetime yang berfungsi untuk mencatat tanggal dan jam login terakhir. Kode 4.14 Potongan Sql Tabel ktp 1. CREATE TABLE IF NOT EXISTS `ktp` ( 2. `nik` char(3) CHARACTER SET latin1_swedish_ci NOT NULL, 3. `nama` varchar(30) CHARACTER SET latin1_swedish_ci NOT NULL, 4. `tempat_lahir` varchar(20) CHARACTER SET latin1_swedish_ci NOT NULL, 5. `tanggal_lahir` varchar(10) CHARACTER SET latin1_swedish_ci NOT NULL, 6. `alamat` varchar(50) CHARACTER SET latin1_swedish_ci NOT NULL, 7. `jenis_kelamin` enum( L, P ) SET latin1_swedish_ci NOT NULL, 8. `agama` varchar(18) CHARACTER SET latin1_swedish_ci NOT NULL, 9. `golongan_darah` varchar(2) CHARACTER SET latin1_swedish_ci NOT NULL, 10. `pekerjaan` varchar(9) CHARACTER SET latin1_swedish_ci NOT NULL, 11. `status_kawin` varchar(11) CHARACTER SET latin1_swedish_ci NOT NULL, 12. `kewarganegaraan` varchar(3) CHARACTER SET latin1_swedish_ci NOT NULL, 13. `photo` varchar(1) CHARACTER SET latin1_swedish_ci NOT NULL, 14. PRIMARY KEY (`nik`) 15. ) Penjelasan Kode : Merupakan perintah untuk membuat tabel ktp dengan kolom nik bertipe char dengan panjang 3 karakter, nama bertipe varchar dengan panjang 30 karakter, tempat_lahir bertipe varchar dengan panjang 20 karakter, tanggal_lahir bertipe varchar dengan panjang 10 karakter, alamat bertipe varchar dengan panjang 50 karakter, jenis_kelamin bertipe enum berfungsi untuk memilih L dan P, agama bertipe varchar dengan panjang 18 karakter, golongan_darah bertipe varchar dengan panjang 2 karakter, pekerjaan bertipe varchar dengan panjang 9 karakter, status_kawin bertipe varchar dengan panjang 11 karakter, kewarganegaraan bertipe varchar dengan panjang 3 karakter, photo bertipe
53 varchar dengan panjang 1 karakter yang berfungsi untuk memasukkan photo kedalam basis data, dan nik merupakan primary key Kode 4.15 Potongan Sql Tabel mahasiswa 1. CREATE TABLE IF NOT EXISTS `mahasiswa` ( 2. `nim` char(11) CHARACTER SET latin1_swedish_ci NOT NULL, 3. `id` varchar(3) CHARACTER SET latin1_swedish_ci NOT NULL, 4. `fakultas` varchar(13) CHARACTER SET latin1_swedish_ci NOT NULL, 5. `jurusan` varchar(18) CHARACTER SET latin1_swedish_ci NOT NULL, 6. PRIMARY KEY (`nim`) 7. FOREIGN KEY ( id ) 8. ) Penjelasan Kode : Merupakan perintah untuk membuat tabel mahasiswa dengan kolom nim bertipe char dengan panjang 11 karakter, id bertipe varchar dengan panjang 3 karakter dan foreign key yang berfungsi sebagai identifier dari nik, fakultas bertipe varchar dengan panjang 13 karakter, jurusan bertipe varchar dengan panjang 18 karakter, email bertipe varchar dengan panjang 50 karakter, dan nim merupakan primary key. Kode 4.16 Potongan Sql Tabel ambilmatakuliah 1. CREATE TABLE IF NOT EXISTS `ambilmk` ( 2. `nim` varchar(11) CHARACTER SET latin1_swedish_ci NOT NULL, 3. `kodemk` varchar(10) CHARACTER SET latin1_swedish_ci NOT NULL, 4. `nilai` float(0) CHARACTER SET latin1_swedish_ci NOT NULL, 5. ) Penjelasan Kode : Merupakan perintah untuk membuat tabel ambilmk dengan kolom nim bertipe varchar dengan panjang 11 karakter, kodemk bertipe varchar dengan panjang 10 karakter, nilai bertipe float, dan nim merupakan primary key.
54 Kode 4.17 Potongan Sql Tabel MataKuliah 1. CREATE TABLE IF NOT EXISTS `ambilmk` ( 2. `nim` varchar(11) CHARACTER SET latin1_swedish_ci NOT NULL, 3. `kodemk` varchar(50) CHARACTER SET latin1_swedish_ci NOT NULL, 4. ) Penjelasan Kode : Merupakan perintah untuk membuat tabel Mata Kuliah dengan kolom nim bertipe varchar dengan panjang 11 karakter, kodemk bertipe varchar dengan panjang 50 karakter, dan nim merupakan primary key. 4.1.3 Implementasi Antar Muka Antar muka merupakan gambaran tampilan sebuah aplikasi untuk menampilkan hasil dari kode yang telah dibuat. Berikut merupakan gambaran desain antar muka dari aplikasi yang telah dibuat, antara lain :
55 Gambar 4.6 Tampilan Antar Muka Halaman Login Pada tampilan gambar 4.6 merupakan tampilan halaman login dan pencarian data mahasiswa, user terlebih dahulu menginput username dan password yang benar untuk masuk kedalam aplikasi. Gambar 4.7 Tampilan Antar Muka Halaman Index Pada tampilan gambar 4.7 merupakan tampilan index, dimana setelah user login akan muncul tampilan index yang berisi visi dan misi kemahasiswaan.
56 Gambar 4.8 Tampilan Antar Muka Halaman Pendaftaran KTP Pada tampilan gambar 4.8 adalah tampilan pendaftaran KTP, dimana user mengisi form yang telah ada sesuai dengan data KTP mahasiswa. Apabila nik telah terdaftar, maka user tidak bisa melanjutkan pendaftaran
57 Gambar 4.9 Tampilan Antar Muka Halaman Pendaftaran Mahasiswa Pada tampilan gambar 4.9 adalah tampilan pendaftaran mahasiswa, dimana user harus mengisi form data mahasiswa yang teridentifier dengan KTP.
58 Gambar 4.10 Tampilan Antar Muka Halaman Data Mahasiswa Pada tampilan gambar 4.10 adalah tampilan data mahasiswa, yang berisi kumpulan data KTP dan Mahasiswa yang bisa user edit dan delete.
59 Gambar 4.11 Tampilan Antar Muka Halaman Form Pendaftaran Data Mata Kuliah Pada tampilan gambar 4.11 adalah tampilan form pendaftaran data mata kuliah, dimana user mendaftar kode dan nama mata kuliah yang akan mahasiswa ambil. Gambar 4.12 Tampilan Antar Muka Halaman Form Mata Kuliah
60 Pada tampilan gambar 4.12 adalah tampilan form mata kuliah, dimana setelah user mendaftar data mata kuliah, user mengisi mata kuliah yang akan mahasiswa ambil sesuai dengan nim. Gambar 4.13 Tampilan Antar Muka Halaman Data Mata Kuliah Pada tampilan gambar 4.13 adalah tampilan data mata kuliah, dimana kode dan nama mata kuliah yang telah user daftar melalui form pendaftaran mata kuliah. Gambar 4.14 Tampilan Antar Muka Details
61 Pada tampilan gambar 4.14 adalah tampilan details, yang berfungsi untuk melihat informasi data KTP dan Mahasiswa pada halaman Data Mahasiswa. Gambar 4.15 Tampilan Antar Muka Edit Pada tampilan gambar 4.15 adalah tampilan edit, yang berfungsi untuk mengganti informasi data KTP dan Mahasiswa, apabila ada kesalahan informasi data pada halaman Data Mahasiswa. Gambar 4.16 Tampilan Antar Muka Mata Kuliah
62 Pada tampilan gambar 4.16 adalah tampilan mata kuliah, yang berfungsi untuk melihat mata kuliah yang diambil mahasiswa pada halaman Data Mahasiswa. Gambar 4.17 Tampilan Antar Muka Edit Mata Kuliah Pada tampilan gambar 4.17 adalah tampilan edit mata kuliah, yang berfungsi untuk mengganti dan menambahkan mata kuliah yang akan diambil pada halaman Data Mahasiswa. 4.2 Pengujian Fungsionalitas Aplikasi Pengujian akan dilakukan dengan menggunakan metodek kotak hitam (blackbox) untuk lebih memfokuskan pada keperluan fungsional dari aplikasi. Dengan metode ini, maka validitas fungsi akan diuji, apakah menghasilkan keluaran yang sesuai dengan yang diharapkan atau tidak. 4.2.1 Spesifikasi Saat Sistem Dibuat Dalam aplikasi ini spesifikasi kebutuhan sistem mengunakan dua buah perangkat yaitu perangkat keras dan perangkat lunak. Berikut ini adalah spesifikasi sistem ketika sistem ini dibuat dan diuji. 1. Perangkat keras (hardware): Processor Pentium T4200, 2.00GHz. Memory 1GB (RAM). VGA 512 MB.
63 HDD 250 GB. Keyboard dan Mouse. 2. Perangkat lunak (software) : Windows 7 Ultimate (32-bit). Mozilla Firefox, Google Chrome. Xampp. Macromedia Dreamweaver 8. 4.2.2 Skenario Pengujian Pengujian ini dilakukan dengan menggunakan broser Mozilla Firefox dan Google Chrome. NO Item yang diuji Sifat Cara Pengujian Hasil yang diharapkan 1. Halaman Login Memasukkan username dan password yang benar Masuk ke halaman home 2. Halaman Form Pendaftaran E-KTP Tidak Tidak Memasukkan username dan password tidak benar Memasukkan data nik, nama, tempat_lahir, tanggal_lahir, alamat, jenis_kelamin, golongan_darah, agama, pekerjaan, kewarganegaraan, status_kawin, photo dengan benar Memasukkan data nik, nama, tempat_lahir, tanggal_lahir, alamat, jenis_kelamin, golongan_darah, agama, pekerjaan, kewarganegaraan, status_kawin, photo tidak benar Aplikasi akan memberikan pesan periksa kembali account anda Data akan tersimpan di dalam basis data Data tidak akan tersimpan di dalam basis data Halaman Memasukkan data nik, nim, fakultas, jurusan dengan benar Data akan tersimpan didalam basis data
64 3 Form Pendaftaran Mahasiswa Tidak Memasukkan data nik, nim, fakultas, jurusan dan email tidak benar Data akan tersimpan didalam basis data Halaman Memasukkan data nik dan mata kuliah yang akan di pilih dengan benar Data akan tersimpan didalam basis data 4 Form Mata Kuliah Tidak Memasukkan data nik dan mata kuliah yang akan di pilih tidak benar Data akan tersimpan didalam basis data Penampilan Menampilkan output data dari basis data ke aplikasi Aplikasi akan menampilkan data yang benar 5 Data Mahasiswa Tidak Tidak ada tampilan output data dari basis data ke aplikasi Aplikasi akan menampilkan data yang kosong Tabel 4.2.2 Skenario Pengujian 4.2.3 Hasil Pengujian Dari hasil pengujian yang dilakukan dapat diperoleh hasil pengujian. Dari tabel skenario pengujian dilakukan oleh penulis secara berulang-ulang. Maka diperoleh hasil pengujian tersebut sesuai dengan rumusan rancangan aplikasi program yang sudah ditentukan dan diterangkan dalam tabel hasil pengujian dibawah ini: NO Item yang diuji Sifat Cara Pengujian Hasil yang diharapkan Hasil Pengujian 1. Halaman Login Tidak Memasukan username dan password yang benar Memasukan username dan password tidak benar Masuk ke halaman home Aplikasi akan memberikan pesan periksa kembali Sesuai Sesuai
65 account anda Memasukkan data nik, nama, tempat_lahir, tanggal_lahir, alamat, jenis_kelamin, Data akan tersimpan di golongan_darah, agama, dalam basis data Sesuai Halaman pekerjaan, Form kewarganegaraan, Pendaftaran E- status_kawin, photo 2. KTP dengan benar Memasukkan data nik, nama, tempat_lahir, tanggal_lahir, alamat, Tidak jenis_kelamin, Data tidak akan golongan_darah, agama, tersimpan di dalam Sesuai pekerjaan, basis data kewarganegaraan, status_kawin, photo tidak benar Memasukkan data nik, nim, fakultas, jurusan Data akan tersimpan didalam basis data Sesuai 3 Halaman Form Pendaftaran Mahasiswa Tidak dengan benar Memasukkan data nik, nim, fakultas, jurusan dan email tidak benar Data akan tersimpan didalam basis data Sesuai Memasukkan data nik dan mata kuliah yang akan di pilih dengan Data akan tersimpan didalam basis data Sesuai 4 Halaman Form benar Mata Kuliah Tidak Memasukkan data nik dan mata kuliah yang Data akan tersimpan didalam basis data Sesuai akan di pilih tidak benar
66 Menampilkan output Aplikasi akan data dari basis data ke menampilkan data yang Sesuai Penampilan aplikasi benar 5 Data Mahasiswa Tidak Tidak ada tampilan output data dari basis data ke aplikasi Aplikasi akan menampilkan data yang kosong Sesuai Tabel 4.2.3 Hasil Pengujian 4.2.4 Analisis Hasil Pengujian Setelah melakukan pengujian dan menjalankan program aplikasi, maka dari hasil tersebut dapat dianalisa sebagai berikut : 1. Proses login berjalan dengan baik sehingga hanya username yang terdaftar saja yang bisa mengakses data. 2. Proses registrasi berjalan dengan baik sehingga dapat memberi peringatan jika ada file yang salah agar hanya data tertentu yang disimpan 3. Proses pada setiap link berjalan dengan baik agar bisa saling terkoneksi dengan benar 4. Data pengunjung dapat ditampilkan dengan baik karena mempermudah pengguna melihat data 5. Proses koneksi ke basis data berjalan dengan baik agar penyimpanan data dapat disimpan dengan baik 6. Sistem berjalan dengan baik dan stabil Secara fungsionalitas program tidak ditemukan kesalahan dan sudah sesuai dengan proses yang ada pada sistem dan prosedur yang sudah direncanakan.