Agus Hariyanto
CV. LOKOMEDIA
Membuat Aplikasi Computer Based Test dengan
PHP, MySQLi dan Bootstrap
Perpustakaan Nasional : Katalog Dalam Terbitan (KDT)
Penulis : Agus Hariyanto
Membuat Aplikasi Computer Based Test dengan PHP, MySQLi dan
Bootstrap
- Cet. I. - Yogyakarta : Penerbit Lokomedia, 2017
180 halaman; 14 x 21 cm
ISBN : 978-602-62310-8-6
Penerbit Lokomedia,
Cetakan Pertama : Maret 2017
email : redaksi@bukulokomedia.com
website : www.bukulokomedia.com
ii
UCAPAN TERIMAKASIH
Banyak pihak yang sudah terlibat dalam penulisan buku ini baik secara
langsung maupun tidak langsung. Meski tidak bisa kami sebutkan satu
per satu, tetapi kepada semuanya kami mengucapkan terima kasih atas
sampainya buku ini di tangan Anda.
Ketika buku ini berada di tangan Anda, tentunya buku ini masih jauh
dari kata sempurna dan masih dibutuhkan dari kami untuk menambah
pengetahuan agar pada edisi-edisi yang akan datang dapat seperti yang
pembaca harapkan dan inginkan.
Untuk itu, izinkan penulis untuk mengucapkan Syukron wa Jazakallahu
khairon kepada:
Kedua Orang tua, yaitu Ibunda ku tersayang (Alm. Rusminah)
dan juga Ayahanda yang sudah membimbing dan memberikan
kesempatan untuk menjadi bagian dari kehidupan.
Istriku satu-satunya; Setyawati Dwi Susanti terima kasih white
coffenya.
Buah dari Hatiku Yang Pertama; Yusuf Achsanul Azzam dan yang
kedua Aisha Amira Ramadhani.
iii
Halaman ini Sengaja Dikosongkan
www.bukulokomedia.com
iv
KATA PENGANTAR
Buku ini adalah buku kedua setelah buku saya yang pertama berjudul Membuat
Web Profil Sekolah + PPDB Online yang diterbitkan oleh bukulokomedia.
Berdasarkan evaluasi penulisan buku yang terdahulu, metode penulisan buku
kedua ini disusun lebih detail dimana banyak masukan yang masuk ke email
maupun blog penulis. Menanggapi masukan dari pembaca maka penulisan buku
kedua ini kami bahas dari dasar-dasar PHP, dasar dasar My SQLi sampai pada
pembahasan penggunaan Excell Parser dan Bootstrap.
Dalam penulisan buku kedua ini, penulis berusaha membahasnya lebih detail dari
level novice to expert sehingga semua pembaca baik dari kalangan Programmer
maupun non programmer atau bahkan yang belum pernah belajar Coding pun
mampu membuat aplikasi Computer Based Test ini. Selain itu juga bagi pembaca
yang tidak ingin susah payah membuat aplikasi CBT, kami juga sudah menyiapkan
CD source Code Aplikasi yang siap pakai. Sehingga bagi kalangan proffesional
bisa memanfaatkan aplikasi yang tersedia dalam bentuk CD dalam Buku ini.
Bagi para pengguna aplikasi juga akan kami bahas bagaimana cara menggunakan
aplikasi Computer Based Test ini. Kami sediakan berbagai macam variasi model
Computer Based Test yang ada. Aplikasi ini sangat variatif dan bisa digunakan
oleh Guru, Guru Privat, Lembaga Swasta, Instansi pemerintah dan profesi
profesi lain yang melaksanakan sistem Ujian / Test dalam melakukan sebuah
evaluasi.
Selain itu, bagi para pembaca yang mengalami kendala, bisa mengirimkan
masalah yang dihadapi ke penulis yang kemudian akan kami bantu dengan
memberikan Technical Assistant kepada pembaca melalui saluran berbagi saluran
media yaitu :
Email : agus_pacitan@yahoo.co.id
Website : http://imagomedia.co.id
Blog : www.blog.imagomedia.co.id
WA : 081 234 123 504
Akhir kata, penulis berharap agar buku ini bermanfaat untuk perkembangan
dunia teknologi pendidikan khususnya dan ilmu pengetahuan pada umumnya.
v
Penulis berharap dari buku ini membawa banyak manfaat bagi para pembaca dan
bisa berbagi ilmu dengan sesama untuk mewujudkan cita cita masyarakat adil
makmur yang diridhloi Allah SWT.
Pacitan, 17 Agustus 2016.
Agus Hariyanto
vi
DAFTAR ISI
vii
3.1.3. Tipe Data pada Variabel....................................................................39
3.1.4. Metode Passing (Meneruskan Data) pada Variabel.........................41
3.2. Struktur Logika Kondisi.............................................................................46
3.2.1. Struktur Kondisi If............................................................................47
3.2.2. Struktur Kondisi If - Else..................................................................48
3.2.3. Struktur Kondisi If - Elseif - Else.....................................................49
3.2.4. Struktur Logika Switch.....................................................................51
3.2.5. Perbedaan Struktur Logika If dan Switch........................................53
3.3. Struktur Logika Perulangan (Looping)......................................................54
3.3.1. Struktur Perulangan for.....................................................................54
3.3.2. Struktur Perulangan foreach.............................................................56
3.3.3. Struktur Perulangan while................................................................58
viii
5.6. Penerapan CRUD (Membuat Aplikasi Mini Test)...................................100
5.6.1. Mengenal .htaccess dan Fungsinya................................................102
5.6.2. Membuat Modul Pendukung Aplikasi Mini Test..........................104
5.6.3. Membuat Modul Tampil Jawaban..................................................106
5.6.4. Membuat Modul Halaman dan Modul Selesai Test......................107
5.6.5. Modul Aksi Simpan Data dan Pengalihan Halaman.....................110
ix
7.2. Template Dasar dan Menu Navigasi HTML............................................148
7.3. Layout Dasar dan Grid..............................................................................152
7.4. Beberapa Fitur Unggulan Bootstrap.........................................................155
7.4.1. Form Responsive............................................................................156
7.4.2. Button dan Icon...............................................................................158
7.4.3. Menangani Tabel.............................................................................160
7.4.4. Tipografi..........................................................................................162
7.4.5. Tab...................................................................................................163
x
BAB I
Gambaran Umum
Computer Based Test (CBT)
BAB 1
Gambaran Umum Computer Based
Test (CBT)
Dari gambar 1.2 dapat kita lihat bahwa semua komputer terhubung dalam satu
jaringan server lokal. Di Server lokal inilah pusat data disimpan dan diolah oleh
aplikasi CBT yang ada pada masing-masing client komputer, baik itu komputer
peserta tes maupun komputer penguji.
Untuk membedakan apakah yang mengakses data itu adalah penguji atau
peserta tes terletak pada saat login ke dalam aplikasi. Antara penguji dan
peserta dibedakan dengan hak akses user oleh Aplikasi Offline Computer Based
Test. Untuk pembahasan dari pemisahan hak akses user ini dapat dilihat pada
pembahasan Bab 4.
Sama halnya dengan Offline Computer Based Test. Aplikasi dan pusat Data
tidak ter-install pada setiap device user peserta maupun penguji, tetapi pusat
dan pengolahan data terletak di servernya. Jika offline dikelola di server
lokal, sedangkan jika online terletak pada server online yang ter-koneksi melalui
jaringan internet.
Dengan keunggulan koneksi internet, maka Online Computer Based Test ini dapat
dilakukan dengan berbagai macam device seperti Komputer, Laptop, Smartphone
dan berbagai jenis gadget yang ada. Untuk lebih jelasnya dan bagaimana cara
membangun aplikasi Online Computer Based Test ini akan dibahas pada Bab 7.
Gambar 1.4 menunjukkan konsep dasar bagaimana sebuah test dilaksanakan. Dari
konsep dasar inilah kemudian Aplikasi CBT dibangun dengan konsep utama
mengganti peran kertas sebagai lembar soal dan lembar jawaban di ubah
menjadi berbasis komputer atau tidak menggunakan kertas (Paperless Test).
Ok guys.. Intinya aplikasi yang akan dibuat nanti mampu mengubah kejadian
nyata saat test konvensional itu ke dalam script-script PHP untuk membentuk
sebuah sistem Aplikasi CBT. Dengan demikian dapat disimpulkan bahwa konsep
dasar dari Computer Based Test meliputi :
Dari Gambar 1.5 dapat kita lihat jika Penguji, Peserta Tes dan Administrator
Mengakses Sistem CBT yang kemudian dipisahkan Hak Akses-nya oleh sistem,
sehingga dapat dikenali apakah User mempunyai hak akses sebagai Penguji,
Peserta Test ataukah sebagai Administrator. Untuk lebih jelasnya bagiamana
mengatur pembagian hak akses user ini akan dibahas pada Bab 6.
Catatan:
Dalam buku ini, untuk databasenya sudah tidak lagi menggunakan MySQL tetapi
Menggunakan MySQLi (i kependekan dari improved) hal ini dikarenakan
apabila suatu waktu server Anda meng-upgrade versi terbaru (php 5.5), API
tersebut telah deprecated (tidak didukung lagi). Sebagai penggantinya, kita harus
menggunakan API dari MySQLi yang disediakan untuk mengakses fungsionalitas
MySQL 4.1 ke atas.
Bagi Pembaca yang sudah terbiasa dengan MySQL nanti akan dibahas
bagaimana menjalankan MySQL improved ini.
Jika kita sudah menyiapkan software yang dibutuhkan untuk membangun CBT,
selanjutnya adalah kemampuan apa saja yang harus dimiliki untuk membangun
CBT ini, diantaranya adalah:
1. Instalasi Server Lokal
2. Pengolahan data melalui phpMyAdmin
3. Membuat Koneksi ke Database MySQLi
4. Pengolahan Database MySQLi dengan PHP
Ke-empat kemampuan diatas merupakan kemampuan minimal yang harus
dimiliki untuk membuat aplikasi CBT ini. Untuk itu, penulis menyarankan bagi
Anda yang masih awam dengan PHP dan database MySQLi agar lebih fokus
dahulu dengan Bab 1,2 dan 3 terkait pembahasan mengenai PHP, Database
MySQL. Jika sudah memahami kedua hal tersebut, silahkan lompati saja langsung
ke Bab 4.
Catatan:
Evaluasi dari penulisan buku sebelumnya Membuat Web Profil Sekolah +
PPDB Online, dimana banyak pembaca bukan hanya dari kalangan programmer
atau yang sedang belajar pemrogaman PHP, melainkan pembaca dengan latar
belakang Non Bidang Informasi Teknologi atau bahkan sama sekali belum
mengenal apa itu pemrograman PHP.
Karena tujuan penulisan buku ini adalah membangun Aplikasi Computer Based