Laporan Tugas Akhir
Laporan Tugas Akhir
LAPORAN AKHIR
Digunakan Sebagai Syarat Maju Ujian Diploma III
Politeknik Negeri Malang
Oleh:
DIMAS CHANDRA KUSUMAWARDANA NIM. 1531140107
SAPTA AHMAD AFRIZAL NIM. 1531140043
Oleh:
DIMAS CHANDRA KUSUMAWARDANA NIM. 1531140107
SAPTA AHMAD AFRIZAL NIM. 1531140043
Mengetahui,
Rudy Ariyanto, S.T., M.Cs. Dr. Eng. Rosa Andrie A., S.T., M.T.
NIP. 19711110 199903 1 002 NIP. 19801010 200501 1 001
ii
PERNYATAAN
Dengan ini saya menyatakan bahwa Laporan Akhir ini tidak terdapat karya yang
pernah diajukan untuk memperoleh gelar Ahli Madya/kesarjanaan di suatu
Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau
pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara
tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
iii
PERNYATAAN
Dengan ini saya menyatakan bahwa Laporan Akhir ini tidak terdapat karya yang
pernah diajukan untuk memperoleh gelar Ahli Madya/kesarjanaan di suatu
Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau
pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara
tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
iv
ABSTRAK
v
ABSTRACT
vi
KATA PENGANTAR
Alhamdulillah segala puji syukur kami panjatkan kehadirat Allah SWT, karena
atas limpahan rahmat dan hidayah-Nya penulis dapat menyelesaikan Tugas Akhir
yang berjudul “Sistem Informasi Kursus Mengemudi Mobil Lancar 28 Malang
Berbasis Android”. Tugas Akhir ini disusun sebagai persyaratan kelulusan pada
Program Studi Manajemen Informatika Diploma III Jurusan Teknologi Informasi
Politeknik Negeri Malang.
Dalam penyusunan Tugas Akhir ini penulis banyak mendapat saran, dorongan,
bimbingan serta keterangan-keterangan dari berbagai pihak yang merupakan
pengalaman yang tidak dapat diukur secara materi, namun dapat membukakan mata
penulis bahwa sesungguhnya pengalaman dan pengetahuan tersebut adalah guru
yang terbaik bagi penulis. Oleh karena itu dengan segala hormat dan kerendahan hati
perkenankanlah penulis mengucapkan terima kasih kepada :
1. Bapak Drs. Awan Setiawan, M.MT., M.M.selaku Direktur Politeknik
Negeri Malang
2. Bapak Rudy Ariyanto,ST.,M.CS. selaku Kepala Jurusan Teknologi
Informasi Politeknik Negeri Malang
3. Bapak Dr. Eng. Rosa Andrie Asmara ST.,MT selaku Ketua Program Studi
Manajemen Informatika Politeknik Negeri Malang
4. Bapak Hendra Pradibta SE., M.SC. selaku Dosen Pembimbing Tugas Akhir.
5. Bapak Kadek Suarjuna Batubulan S.Kom., MT. selaku Dosen Pembimbing
Tugas Akhir
6. Kedua orang tua yang selalu memberikan dukungan dan doanya.
7. Seluruh teman–teman jurusan Manajemen Informatika yang telah
memberikan motivasi.
8. Semua pihak yang tidak mungkin penulis sebutkan satu persatu yang telah
terlibat banyak membantu sehingga tugas akhir ini dapat diselesaikan.
vii
Dalam penyusunan tugas akhir ini, penulis menyadari masih terdapat banyak
kekurangan yang dibuat baik sengaja maupun tidak sengaja, dikarenakan
keterbatasan ilmu pengetahuan dan wawasan serta pengalaman yang penulis miliki.
Untuk itu penulis mohon maaf atas segala kekurangan tersebut tidak menutup diri
terhadap segala saran dan kritik serta masukan yang bersifat kontruktif bagi diri
penulis.
Akhir kata semoga dapat bermanfaat bagi penulis sendiri, institusi pendidikan
dan masyarakat luas. Amin!
Penulis
viii
DAFTAR ISI
ix
BAB IV IMPLEMENTASI .................................................................................... 42
4.1 Hasil Implementasi ................................................................................... 42
4.1.1 Web Admin ............................................................................................ 42
4.1.2 Website public ....................................................................................... 65
4.1.3 Android .................................................................................................. 66
4.2 Pengujian ................................................................................................. 73
4.2.1 Pengujian Web Admin .......................................................................... 74
4.2.2 Pengujian Web public ........................................................................... 76
4.2.3 Pengujian Android siswa ....................................................................... 76
4.2.4 Pengujian Android instruktur ................................................................ 77
BAB V KESIMPULAN ......................................................................................... 83
5.1 Kesimpulan ............................................................................................... 83
5.2 Saran.......................................................................................................... 83
DAFTAR PUSTAKA .............................................................................................. 84
PROFIL PENULIS .................................................................................................. 85
PROFIL PENULIS .................................................................................................. 86
Lampiran…………...................................................................................................87
x
DAFTAR GAMBAR
xi
Gambar 3.30 List Paket ........................................................................................... 35
Gambar 3.31 cara daftar .......................................................................................... 36
Gambar 3.32 Gambar kontak ................................................................................... 36
Gambar 3.33 daftar siswa web ................................................................................ 37
Gambar 4.1 Login Admin ...................................................................................... 42
Gambar 4.2 Halaman Home Admin ...................................................................... 43
Gambar 4.3 kelola data admin ............................................................................... 44
Gambar 4.4 Add admin ......................................................................................... 45
Gambar 4.5 Edit Admin......................................................................................... 45
Gambar 4.6 Delete Admin ..................................................................................... 46
Gambar 4.7 List Jam .............................................................................................. 47
Gambar 4.8 Add Jam ............................................................................................. 47
Gambar 4.9 Edit Jam ............................................................................................. 48
Gambar 4.10 Delete Jam ......................................................................................... 49
Gambar 4.11 List Mobil .......................................................................................... 49
Gambar 4.12 Add Mobil .......................................................................................... 50
Gambar 4.13 Edit Mobil .......................................................................................... 51
Gambar 4.14 Delete Mobil ...................................................................................... 52
Gambar 4.15 List Paket ........................................................................................... 52
Gambar 4.16 Add Paket........................................................................................... 53
Gambar 4.17 Edit Paket ........................................................................................... 54
Gambar 4.18 Delete Paket ....................................................................................... 54
Gambar 4.19 List Siswa........................................................................................... 55
Gambar 4.20 Add Siswa .......................................................................................... 56
Gambar 4.21 Edit Siswa .......................................................................................... 57
Gambar 4.22 Delete Siswa ...................................................................................... 58
Gambar 4.23 Request Registrasi Siswa ................................................................... 58
Gambar 4.24 validasi Registrasi Siswa ................................................................... 59
Gambar 4.25 Reject Registrasi Siswa...................................................................... 59
Gambar 4.26 Email Verifikasi Untuk Siswa ........................................................... 60
Gambar 4.27 Request Pergantian Jadwal ................................................................ 61
xii
Gambar 4.28 Validasi Request Pergantian Jadwal .................................................. 61
Gambar 4.29 Kelola Data Jadwal ............................................................................ 61
Gambar 4.30 Tambah Data Jadwal .......................................................................... 62
Gambar 4.31 Edit Jadwal Siswa .............................................................................. 63
Gambar 4.32 Kelola Data Libur .............................................................................. 63
Gambar 4.33 Tambah Data Libur ............................................................................ 64
Gambar 4.34 Edit Data Libur .................................................................................. 64
Gambar 4.35 Form Registrasi Siswa ....................................................................... 65
Gambar 4.36 Registrasi Siswa Berhasil di Kirim .................................................... 66
Gambar 4.37 Halaman Login Siswa ........................................................................ 66
Gambar 4.38 Halaman Pilih Mobil.......................................................................... 67
Gambar 4.39 Halaman Pilih Jadwal ........................................................................ 68
Gambar 4.40 Menu Tampilan Jadwal...................................................................... 69
Gambar 4.41 Menu Ganti Jadwal ............................................................................ 69
Gambar 4.42 Tampilan Notifikasi Siswa ................................................................ 70
Gambar 4.43 Ganti Password Siswa........................................................................ 70
Gambar 4.44 Halaman Login Instruktur.................................................................. 71
Gambar 4.45 Halaman Jadwal Kursus Siswa .......................................................... 72
Gambar 4.46 Halaman Kehadiran Siswa ................................................................. 72
Gambar 4.47 Halaman Profil Siswa ........................................................................ 73
xiii
DAFTAR TABEL
xiv
BAB I PENDAHULUAN
1
1.2 Rumusan Masalah
Berdasarkan latar belakang diatas, maka rumusan masalah adalah sebagai
berikut :
a. Bagaimana membuat sistem informasi yang dapat mengelola data siswa,
instruktur, mobil, jadwal, jam, dan paket.
b. Bagaimana menggabungkan jadwal kursus mengemudi mobil dengan 2
cabang dan 1 kantor pusat menjadi satu sistem.
c. Bagaimana menerapkan registrasi calon siswa dengan mudah.
d. Bagaimana membuat fitur pengingat jadwal kursus mobil bagi instruktur dan
siswa.
1.5 Manfaat
Manfaat dari sistem aplikasi ini adalah sebagai berikut :
a. Memudahkan admin dalam melakukan proses bisnis kursus mengemudi
b. Meningkatkan kualitas dan mengurangi biaya proses bisnis
2
c. Meningkatkan efisiensi dalam bekerja
d. Dapat membantu kinerja admin
3
BAB II LANDASAN TEORI
2.2 Xampp
XAMPP berperan sebagai server web pada komputer anda. XAMPP juga terakses
dengan internet, atau dapat dikatakan bahwa XAMPP adalah sebuah software yang
berfungsi untuk menjalankan website berbasis PHP dan menggunakan pengolah data
MySQL dikomputer local [2]. Dalam buku yang berjudul Aplikasi Pemograman Web
Dinamis dengan PHP dan MySql menjelaskan xamp adalah paket PHP berbasis open
source yang berguna sebagai server yang berdiri sendiri (localhost).
2.3 PHP
Dalam buku berjudul Pemograman Web PHP dan MySQL untuk Sistem
Informasi Perpustakaan karya Eko Prasetyo dinyatakan PHP adalah skrip bersifat
server – side yang ditanamkan ke dalam HTML. Pendapat lain mengatakan bahwa
Kode-kode yang di gunakan untuk mengolah suatu data dan mengirimkannya kembali
ke web browser menjadi kode HTML merupakan pengertian dari PHP, Rindunanita[2].
PHP adalah bahasa pemograman yang paling digunakan oleh programming web karena
merupakan bahasa pemograman opensource yang dijelaskan dalam buku Jago
Pemogram PHP karya I komang Setia Buana.
4
2.4 Kursus Mengemudi Mobil
Dalam penjelasan Pasal 26 ayat 5 Undang-undang Nomor 20 Tahun 2003 [3],
dijelaskan bahwa kursus adalah bentuk pendidikan (nonformal) berkelanjutan untuk
mengembangkan kemampuan peserta didik dengan penekanan pada penguasaan
keterampilan,standar kompetensi, pengembangan sikap kewirausahaan serta
pengembangan kepribadianprofesional. Serta Jasa kursus mengemudi mobil atau yang
biasa disebut driving course adalah jasa yang berbentuk bimbingan atau pelatihan
dalam hal keterampilan dan kemahiran mengemudi mobil yang dalam pelaksanaanya
pengguna jasa (siswa belajar) didampingi oleh seorang instruktur. Kursus mengemudi
mobil ini bersifat bimbingan privat yang mana dalam proses bimbingannya, pengguna
jasa (siswa belajar) didampingi oleh seorang instruktur tetap sampai waktu pelatihan
yang ditentukan berakhir. Kursus mengemudi “Lancar 28” adalah kursus yang berdiri
sejak 2012 yang memiliki dua kantor cabang dan satu kantor pusat di kota Malang
2.5 Penjadwalan
Penjadwalan sebagai proses pengalokasian sumber-sumber atau mesin-mesin
yang ada untuk menjalankan sekumpulan tugas dalam jangka waktu tertentu [4].
Penjadwalan yang kami buat adalah penjadwalan khusus untuk siswa yang akan
mengikuti kursus mengemudi “Lancar 28”.
2.6 Android
Menurut Murtiwiyati dan Glenn Lauren [5], android adalah sebuah sistem operasi
berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android
menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi
mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru
yang membuat piranti lunak untuk ponsel/smartphone. Kemudian untuk
mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34
perusahaan piranti keras, piranti lunak, dan telekomunikasi, termasuk Google, HTC,
Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
5
2.7 Mysql
MySQL adalah multiuser database yang menggunakan bahasa Structured Query
Language (SQL). MySQL dalam operasi client server melibatkan server daemon
MySQL disisi server dan berbagai macam program serta library yang berjalan disisi
client. MySQL mampu menangani data yang cukup besar. Perusahaan yang
mengembangkan MySQL yaitu TEX, mengaku mampu menyimpan data lebih dari 40
database, 10.000 tabel, dan sekitar 7.000.000 baris totalnya kurang lebih 100 Gigabyte
data, Widodo[6]
2.9 Retrofit
Retrofit adalah library Android yang dibuat oleh Squre yang digunakan
sebagai REST Client pada Android, yang pasti akan memudahkan kita dalam
programing. Karena kita tidak perlu lagi untuk membuat method-method sendiri untuk
menggunakan REST Client API dari backend [8].
6
BAB III METODOLOGI PENELITIAN
Adapun sistem yang masih dijalankan oleh kursus mengemudi mobil Lancar 28
masih menggunakan cara yang manual, yang artinya calon siswa yang akan mendaftar
harus datang ke tempat kursus tanpa ada sistem informasi yang berbasis web atau
android. Dalam sistem kursus mengemudi Lancar 28 ini proses bisnisnya masih
menggunakan sistem yang manual dan tidak efektif dalam operasionalnya.
Penjadwalannya masih tidak tersistem sehingga setiap admin dari setiap cabang harus
telepon dahulu ke kantor pusat untuk menanyakan jadwal, proses penjadwalan yang
manual ini rawan terjadinya kesalahan penulisan jadwal oleh admin. Jadwal kursus
yang fleksibel atau bisa diganti-ganti sesuai kemauan siswa dengan persetujuan admin
sehingga menyulitkan instruktur untuk mengetahui jadwal yang tidak pasti.
7
akan aktif dalam pembuatannya. Informasi yang didapat dari klien ini yang akan
menjadi acuan pembuatan software ini.
1. Server
Processor : Intel® Core™ i5
RAM : 8 GB
Harddisk : 500 GB
Software :
a. PHP 5
b. Apache
c. Mysql 5
2. Client
Android versi 4.0
Web Browser
No Pertanyaan Jawaban
1 Kendala apa saja yang dihadapi Sering miskomunikasi dalam melakukan
oleh lembaga kursus mengemudi penjadwalan antar cabang dan tidak ada
mobil Lancar 28 ? pengingat jadwal untuk instruktur maupun siswa
8
2 Apakah siswa bisa menggunakan Siswa yang ingin menggunakan mobil sendiri
mobil sendiri untuk melakukan harus melakukan satu atau dua kali pertemuan
kursus mobil ? dengan menggunakan mobil kursus karena pihak
kursus belum berani langsung menggunakan
mobil siswa karena sangat beresiko untuk siswa
3 Apakah siswa bisa menambah Tidak bisa, karena siswa yang mengikuti kursus
jumlah pertemuan secara manual harus mengambil paket yang disediakan.
tanpa mengambil paket yang
disediakan ?
4 Jika siswa yang telah mendaftar Iya, siswa yang mengajak temannya atau
kursus mobil dan mengajak saudaranya untuk mendaftar akan memperoleh
temannya atau saudaranya untuk diskon 10%, bisa berupa uang kembalian
mendaftar kursus apakah siswa
yang mengajak akan diberi diskon
?
5 Jika siswa tidak datang kursus Jika tidak konfirmasi tidak dihitung masuk, jika
tanpa konfirmasi dihitung masuk konfirmasi maka dapat kursus pengganti.
apa harus kursus pengganti?
7 Apakah ada form untuk Tidak ada, siswa yang akan mendaftar hanya
pendaftaran siswa? menyerahkan ktp saja untuk identitas diri.
8 Bagaimana cara menyamakan Dengan cara melakukan komunikasi intens
jadwal dari beberapa cabang? dengan kantor pusat.
9 Sistem yang dibutuhkan kursus Sistem yang bisa melakukan registrasi atau
mengemudi mobil ini seperti apa ? pendaftaran secara online dan melakukan
penjadwalan secara otomatis
10 Apakah report siswa diperlukan ? Tidak perlu
b. Studi Literatur
Studi literatur digunakan untuk mengumpulkan informasi yang dibutuhkan
untuk penelitian rancang bangun sistem informasi kursus mengemudi mobil
9
Lancar 28. studi literatur dilakukan dengan pencarian referensi-referensi yang
terkait dengan penelitian yaitu melalui internet, jurnal, dan juga buku-buku
yang ada di beberapa perpustakaan. Informasi yang telah didapat. Sumber
kalian pustaka diperoleh dari sumber baik yang berasal dari luar negeri maupun
dalam negeri. Referensi yang digunakan sebagai sumber informasi dapat dilihat
pada daftar pustaka di akhir laporan.
10
Use Case
b. DFD
DFD (Data Flow Diagram) adalah diagram yang digunakan untuk
memodelkan sistem seoara logik. Seperti halnya bagan alir dokumen, diagram alir
data pun dapat digunakan baik pada tahap analisis maupun tahap desain, namun
kecenderungan diagram ini lebih cocok digunakan untuk tahap desain karena
dengan diagram tersebut batasan ruang lingkup sistem terlihat sangat jelas sehingga
pekerjaan pengembangan sistem yang dilakukan dapat lebih focus. Pemodelan
DFD diawali dengan pembuatan context diagram. Secara simbol, DFD dan context
diagram menggunakan jenis dan bentuk simbol yang sama, namun secara aturan
terdapat perbedaan antara pemodelan DFD dan context diagram, dimana pada
context diagram hanya diizinkan sebuah simbol proses saja sedangkan pada DFD
dapat lebih dari satu simbol proses. Selain itu context diagram ditujukan untuk
menggambarkan interaksi sistem dengan lingkungan luar, sedangkan pada DFD
11
juga digambarkan hubungan antar proses didalam sistem [10]. Gambar dibawah ini
memperlihatkan DFD Sistem Informasi Kursus Mengemudi Mobil Lancar 28
- Level 0
DFD Level 0
- Level 1
DFD Level 1 adalah penjabaran lebih detail dari DFD Level 0. Proses-proses
yang terjadi pada sistem akan diuraikan menjadi lebih mudah dipahami, aktivitas
yang dilakukan oleh pelaku sistem akan dipaparkan.
12
DFD Level 1
- Level 2 (Registrasi)
13
DFD level 2 digunakan untuk menjabarkan lagi suatu proses pada DFD level
sebelumnya yang kurang jelas. Proses registrasi siswa akan dijelaskan lebih detail
dengan disertai alur data.
DFD Level 2
14
Dari semua aktivitas atau proses yang dilakukan oleh admin, siswa dan
instruktur didapati ada 8 tabel untuk tempat menyimpan data pada sistem yaitu
db_admin, db_mobil, db_instruktur, db_paket, db_siswa, db_jadwal, db_jam,
db_transaksi
c. ERD
ERD adalah suatu model untuk menjelaskan mengenai hubungan antar data
dalam basis data berdasarkan objek-objek dasar data yang memiliki hubungan antar
relasi. Entity Relationship Diagram ini untuk memodelkan struktur data serta
hubungan antar data, untuk dapat menggambarkannya digunakan beberapa notasi
serta simbol.[11]
ERD
15
Tabel 3.2 Detail ERD
16
password Password adimn untuk
masuk ke sistem web
admin
Db_siswa Nik Untuk membedakan
siswa satu dengan yang
lainnya
Nama Nama dari siswa
Alamat Alamat dari siswa
tersebut
Telepon Telepon dari siswa
tersebut
Foto_ktp Foto ktp untuk yang
mendaftar online
Email Email untuk meregistrasi
siswa di kursus
mengemudi
Foto_bukti Foto bukti pembayaran
dari siswa untuk
mendaftar di kursus
mengemudi
acc Status dari siswa apakah
pendaftaran dari siswa
sudah diverifikasi atau
belum oleh admin
Paket_sementara Paket yang dipilih oleh
siswa pada saat registrasi
username Username dari siswa
untuk login di aplikasi
password Password dari siswa
digunakan untuk login di
aplikasi
Db_jadwal Id_jadwal Id yang membedakan
jadwal satu dengan yang
lainnya
Id_jam Id jam digunakan untuk
merelasikan antara tabel
jadwal dengan tabel jam
Id_transaksi Id yang diambil dari
relasi antara db_jadwal
dengan db_transaksi
tanggal Tanggal yang diambil
oleh siswa untuk kursus
mengemudi
17
kehadiran Berfungsi untuk
memberikan status
kepada siswa apakah
siswa hadir atau tidak
hadir
Db_transaksi Id_transaksi Untuk membedakan
transaksi satu dengan
yang lainnya
Nik_siswa Untuk merelasikan tabel
siswa dan tabel transaksi
Id_paket Untuk merelasikan tabel
paket dan tabel transaksi
Nopol Untuk merelasikan tabel
mobil dan tabel transaksi
aktif Untuk memberika status
pada transaksi apakah
transaksi belum dilakukan
atau sudah dilakukan
created Tanggal transaksi pada
saat dibuat
Db_jam Id_jam Untuk membedakan jam
satu dengan yang lainnya
jam Jam dari kursus
mengemudi
Db_token Id_token Untuk membedakan
token satu dengan token
yang lainnya
Kode Untuk merelasikan token
dengan siswa atau
instruktur
token Kode yang didapatkan
dari firebase untuk
keperluan notifikasi
Db_ganti_jadwal Id_jadwal Digunakan untuk
membedakan ganti jadwal
siswa satu dengan yang
lainnya
Id_jam Id yang berelasi dengan
db_jam
jam Jam baru yang diinginkan
siswa
tanggal Tanggal baru yang
diinginkan siswa
18
Db_libur Id_libur Digunakan untuk
membedakan libur satu
dengan lainnya
Tanggal Tanggal libur
Deskripsi Penyebab dari hari libur
tersebut
d. Activity Diagram
Activity Diagram adalah representasi grafis dari workflow dari kegiatan dan
tindakan bertahap dengan dukungan untuk pilihan, iterasi dan concurrency.
Berikut ini merupakan desain perancangan sistem Activity Diagram sebagai
gambaran dalam menjalankan proses berjalannya sistem :
Activity Diagram Fitur Login
Gambar 3.5 diatas merupakan alur jalannya system login untuk admin, dalam
melakukan login admin terlebih dahulu membuka website admin, sistem merespon dan
menampilkan halaman login, admin menginputkan username dan password, sistem
me-request data login admin ke database, database mengeksekusi data login dan
sistem memvalidasi data, jika akun terdaftar maka akan tampil menu homelogin dan
19
jika tidak terdaftar maka admin harus menginputkan data login yang benar dan
terdaftar.
Pada gambar diatas merupakan alur dari registrasi. Pertama siswa membuka web
dan menginputkan data diri. Jika sudah menginputkan data diri maka akan masuk
ke database. Lalu admin mengambil data calon siswa dari database dan akan
divalidasi oleh admin. Jika sudah memenuhi persyaratan maka akan disetujui
oleh admin dan akan dikirimkan username dan password lewat email. Jika tidak
disetujui admin maka siswa akan mendapat notifikasi jika pendaftarannya ditolak
lewat email.
20
Activity Diagram Fitur Pilih Jadwal
Pada gambar diatas merupakan alur dari memilih jadwal. Pertama siswa
mengklik button pilih mobil dan instruktur dan akan muncul data mobil dan
instruktur. Lalu siswa memilih mobil dan instruktur, lalu setelah memilih mobil
dan instruktur maka akan tampil jadwal yang tersedia. Lalu siswa memilih jadwal
yang kosong. Jika sudah memilih maka akan tersimpan di database
21
Activity Diagram Fitur Ganti Jadwal
Pada gambar diatas merupakan alur dari ganti jadwal. Pertama siswa harus
mengklik edit jadwal lalu akan tampil jadwal yang tersedia. Kemudian siswa
memilih jadwal yang diinginkan lalu akan divalidasi oleh admin. Jika disetujui
maka akan tampil notifikasi di android. Dan jika ditolak maka akan muncul juga
notifikasi jika ganti jadwal ditolak.
e. Arsitektur Sistem
Arsitektur sistem dari sistem informasi yang akan dibuat seperti pada gambar
dibawah ini. Web admin dan website untuk user langsung tersambung dengan
database untuk mendapatkan data. Sedangkan Aplikasi android untuk mendapatkan
data dari database harus melalui service Retrofit. Notifikasi yang akan dikirim ke
22
aplikasi android akan dijalakan secara realtime menggunakan Firebase Cloud
Messaging (FCM).
Arsitektur Sistem
23
Pada gambar diatas adalah alur kerja sistem dari Kursus Mengemudi Lancar 28
Berbasis Android. Pertama siswa melakukan registrasi dan siswa akan mendapat
password dan username dari admin. Lalu siswa memilih mobil dan jadwal. Setelah
itu siswa akan melakukan kursus yang sesuai dengan jadwal yang dipilih dengan
instruktur yang telah dipilih. Setelah selesai maka siswa akan memberi rating
kepada instruktur.
g. Mockup
Mockup Admin
Login Admin
Gambar diatas terdapat dua text box yang berisi username dan password
serta satu button login.
List Admin
24
Gambar diatas terdapat beberapa menu seperti admin, mobil, jam, paket, siswa,
jadwal, dan request pendaftaran. Lalu ada satu table yang berisi tiga kolom yaitu
username, nama, dan aksi yang berisi dua button edit dan delete.
Tambah Admin
Gambar diatas terdapat tiga text box yaitu username, password dan nama. Serta
ada dua button simpan untuk menyimpan data tambah admin dan batal untuk
membatalkan menambah admin.
List Mobil
Gambar diatas terdapat satu tabel yang berisi mobil, merk, jenis, instruktur dan
aksi. Lalu ada satu button yaitu untuk menambahkan data mobil
25
Tambah Mobil
Gambar diatas terdapat empat text box yang akan diisi nopol, merk, jenis, dan
instruktur. Ada juga dua button simpan dan batal
List Jam
Gambar diatas ada tabel jam dan satu button tambah untuk menambah data jam
26
Tambah Jam
Pada gambar diatas terdapat satu text box untuk menambah jam dan dua button
simpan dan batal
List Paket
Pada gambar diatas terdapat satu tabel paket dan satu button tambah
27
Tambah Paket
Terdapat tiga textbox untuk mengisi nama paket, harga, dan bonus serta
dropdown jam untuk memilih jam.
List Jadwal
Pada gambar diatas terdapat tabel jadwal yang berisi jadwal para siswa
28
Request Pendaftaran
Pada gambar diatas terdapat tabel request pendaftaran dari siswa yang mendaftar
lewat online. Terdapat dua button untuk accept dan delete
List siswa
Pada gambar diatas terdapat tabel yang berisi data siswa dan ada dua button edit
dan delete serta ada button tambah
29
Tambah siswa
Pada gambar diatas terdapat empat text box yang akan diisi NIK siswa, nama,
alamat dan telepon. Lalu ada upload foto ktp dan dua button simpan dan batal
Daftar libur
Pada gambar diatas terdapat tabel yang berisi tabel libur dan button add untuk
menambah daftar libur.
30
Tambah libur
Pada gambar diatas terdapat dua textbox yang diisi tanggal dan
deskripsi libur. Lalu ada dua button untuk simpan dan batal
31
Mockup Android
Login Instruktur
Pada gambar diatas terdapat logo kursus mengemudi “Lancar 28” dan dua
button untuk login instruktur dan siswa.
Login Siswa
32
Pada gambar diatas terdapat dua text box yang akan diisi username dan
password siswa dan button login
Jadwal Instruktur
jadwal siswa
33
Pada gambar diatas terdapat jadwal para siswa yang sudah memilih jadwal
Gambar diatas terdapat detail siswa yang berisi nama, alamat dan catatan
instruktur untuk siswa
34
Pada gambar diatas terdapat combo box untuk mengganti jadwal siswa dan
button kirim jika siswa sudah mengganti jadwal
Gambar diatas terdapat beberapa menu seperti menu paket, cara daftar,
kontak, dan login.
List Paket
35
Pada menu paket terdapat tabel yang berisi daftar paket yang bisa dipilih
oleh siswa.
cara daftar
Pada menu cara daftar terdapat penjelasan untuk siswa yang akan
mendaftar pada kursus mengemudi Lancar 28.
Gambar kontak
36
Pada menu kontak terdapat penjelasan kontak kursus mengemudi
Lancar28.
Pada menu daftar, siswa akan menginputkan data diri seperti nama, alamat,
nomor telepon, foto ktp. Lalu siswa memilih paket dan mengupload bukti bayar.
Lalu siswa menginputkan username dan password yang diinginkan
Yang akan diuji ada 4 bagian, yaitu web admin, web public, aplikasi android
siswa, aplikasi android instruktur. Web admin akan diuji oleh admin Lancar 28, web
37
public akan diuji oleh calon siswa, aplikasi android siswa akan diuji oleh siswa Lancar
28, dan aplikasi android instruktur akan diuji oleh instruktur Lancar 28. Penguji akan
mengisi form pengujian dengan cara mengisi pada kolom nilai dan kolom hasil.
Pengujian harus berdasarkan fitur dan komponen uji. Dari tabel pengujian ada 4 kolom.
Yaitu :
38
Edit Data - Mengisi setiap textbox
Admin - Tombol Save
- Tombol Cancel
List Data - Tombol add
Jam - Tombol edit
- Tombol delete
Tambah - Mengisi setiap textbox
Data Jam - Tombol Save
- Tombol Cancel
Edit Data - Mengisi setiap textbox
Jam - Tombol Save
- Tombol Cancel
List Data - Tombol add
Mobil - Tombol edit
- Tombol delete
Tambah - Mengisi setiap textbox
Data Mobil - Tombol Save
- Tombol Cancel
Edit Data - Mengisi setiap textbox
Mobil - Tombol Save
- Tombol Cancel
List Data - Tombol add
Paket - Tombol edit
- Tombol delete
Tambah - Mengisi setiap textbox
Data Paket - Tombol Save
- Tombol Cancel
Edit Data - Mengisi setiap textbox
Paket - Tombol Save
39
- Tombol Cancel
List Data - Tombol add
Siswa - Tombol edit
- Tombol delete
Tambah - Mengisi setiap textbox
Data Siswa - Tombol Save
- Tombol Cancel
Edit Data - Mengisi setiap textbox
Siswa - Tombol Save
- Tombol Cancel
List Data - Tombol Accept
Request - Tombol Reject
Pendaftaran
Siswa
40
Dibawah ini adalah tabel pengujian android siswa yang menggunakan metode
black box.
41
BAB IV IMPLEMENTASI
b. Home admin
Gambar dibawah ini adalah gambar home dari admin.
42
Gambar 4.2 Halaman Home Admin
Dari gambar diatas didapati tampilan yang terdiri dari Navigation menu, fitur
logout admin dan konten website admin :
1. Navigation Menu
Navigation Menu adalah kumpulan menu untuk beralih ke fitur yang lain.
Menu-menu tersebut adalah
Menu admin untuk menambah, mengedit dan menghapus data admin.
Menu jam untuk menambah, mengubah atau menghapus data jam.
Menu mobil untuk menambah, mengubah atau meghapus data mobil.
Menu paket untuk menambah, mengubah, dan menghapus data paket.
Menu siswa untuk menambah, mengubah dan menghapus data siswa.
Mengubah dan menghapus data siswa.
Menu request registrasi untuk melihat, menyetujui dan menolak
permintaan pendaftaran dari calon siswa secara online.
Menu jadwal untuk menampilkan, menambah, mengubah, dan
menghapus jadwal dari siswa
Menu pergantian jadwal untuk menampilkan siswa yang akan mengganti
jadwalnya.
43
2. Fitur logout admin
Fitur logout adalah adalah fitur yang digunakan untuk keluar dari hak
akses admin.
44
Gambar 4.4 Add admin
45
Dari gambar diatas terdiri dari
Text box nama admin berguna untuk mengubah nama admin.
Text box username berguna untuk mengubah username.
Text box password berguna untuk mengubah password.
Button save untuk memulai proses edit data admin.
Button cancel untuk membatalkan edit data admin.
46
Gambar 4.7 List Jam
47
Dari gambar diatas terdiri dari :
Text box jam berguna untuk menginputkan data jam
Button save untuk memulai proses tambah data jam
Button cancel untuk membatalkan tambah data jam
48
Gambar 4.10 Delete Jam
49
l. Form add data mobil
Gambar dibawah adalah form add data mobil.
50
Gambar 4.13 Edit Mobil
51
Gambar 4.14 Delete Mobil
52
Button edit yang berlogo pensil untuk mengubah data mobil, jika ditekan
akan beralih ke form edit paket.
Button drop yang berlogo tempat sampah untuk menghapus data paket.
53
Gambar 4.17 Edit Paket
54
Pada gambar diatas adalah dialog konfirmasi jika admin yakin akan
menghapus data paket tertentu.
55
t. Form add data siswa
Dibawah ini adalah gambar form add data siswa.
56
Gambar 4.21 Edit Siswa
57
Gambar 4.22 Delete Siswa
Pada gambar diatas adalah dialog konfirmasi jika admin yakin akan
menghapus data siswa tertentu.
58
x. Memvalidasi request registrasi siswa
Dibawah ini adalah gambar pesan yang akan memvalidasi registrasi siswa.
Pada gambar diatas adalah dialog konfirmasi jika admin yakin akan
memvalidasi request registrasi calon siswa tertentu.
Pada gambar diatas adalah dialog konfirmasi jika admin yakin akan menolak
request registrasi calon siswa tertentu.
59
z. Email verifikasi dari admin
Gambar dibawah ini adalah gambar pesan email yang sudah diverifikasi oleh
admin.
Pada gambar diatas terdapat pesan email dari admin untuk siswa yang sudah
terverifikasi pendaftarannya. Isi dari email tersebut adalah username dan
password siswa yang digunakan untuk login ke android agar bisa memilih jadwal
kursus mengemudi.
60
Gambar 4.27 Request Pergantian Jadwal
Pada gambar diatas terdapat satu tabel yang berisi daftar permintaan
pergantian jadwal dari siswa yang dilakukan dari android. Jika disetujui maka
akan muncul notifikasi di android siswa bahwa permintaan pergantian jadwal
telah disetujui.
61
Button add untuk menambah data jadwal, jika ditekan akan beralih ke form
tambah jadwal.
Button edit untuk mengubah data jadwal, jika ditekan akan beralih ke form
edit jadwal.
Button drop untuk menghapus data jadwal.
62
ee. Edit Jadwal Siswa
Dibawah ini adalah edit jadwal siswa
Pada gambar diatas terdapat jadwal yang tersedia lalu ada button pilih untuk
memilih jadwal siswa. Jika sudah maka jadwal siswa otomatis sudah terganti
63
Pada gambar diatas terdapat tabel yang berisi tanggal libur, deskripsi libur dan
tiga button untuk menambah, mengubah dan menghapus data libur
Pada gambar diatas terdapat dua textbox untuk mengisi data libur dan
deskripsi. Lalu terdapat dua button save dan cancel
64
Pada gambar diatas terdapat dua textbox untuk mengisi data libur dan
deskripsi. Lalu terdapat dua button save dan cancel
65
Gambar 4.36 Registrasi Siswa Berhasil di Kirim
4.1.3 Android
a. Halaman Siswa
Halaman Login Siswa
Dibawah ini adalah halaman login untuk masuk ke halaman utama aplikasi
66
Pada gambar diatas terdapat textbox username dan textbox password dan
button submit
Pada gambar diatas terdapat pilihan mobil yang akan dipilih oleh siswa.
Masing-masing mobil menampilkan detail dari mobil seperti nopol, jenis,
nama instruktur, foto mobil, dan foto instruktur.
67
Gambar 4.39 Halaman Pilih Jadwal
Pada gambar diatas terdapat daftar jadwal yang tersedia untuk kursus
mengemudi. Siswa hanya bisa memilih jumlah jadwal kursus sesuai dengan
paket yang sudah dipilih sebelumnya.
68
Gambar 4.40 Menu Tampilan Jadwal
Pada gambar diatas terdapat jadwal yang sudah dipilih dan terdapat button
berbentuk pensil untuk mengubah jadwal.
Pada gambar diatas terdapat jadwal yang kosong dan bisa digunakan untuk
mengganti jadwal. Setelah mengganti jadwal maka akan diverifikasi oleh
admin
69
Gambar 4.42 Tampilan Notifikasi Siswa
Pada gambar diatas terdapat notifikasi untuk mengingatkan siswa agar ingat
jika akan melakukan kursus mengemudi.
70
Pada gambar diatas terdapat 4 textbox yang berisi username lama, username
baru, password lama, dan password baru. Lalu terdapat button kirim jika
sudah selesai
b. Halaman Instruktur
Halaman Login
Dibawah ini terdapat halaman login untuk instruktur.
Pada gambar diatas terdapat dua textbox untuk mengisi username dan
password dari instruktur.Lalu terdapat button submit jika sudah mengisi
username dan password
71
Gambar 4.45 Halaman Jadwal Kursus Siswa
Pada gambar diatas terdapat daftar siswa yang akan ditangani oleh instruktur.
Terdapat tanggal dan jam siswa akan kursus mengemudi
72
Pada gambar diatas terdapat dropdown pilihan hadir atau tidak siswa. Lalu
ada catatan khusus dari instruktur kepada siswa mengenai kursus.
Gambar diatas terdapat profil dari siswa lalu jadwal dari siswa. Jika jadwal
berwarna merah maka siswa tidak hadir, jika putih belum dilakukan
jadwalnya, dan hijau jika siswa sudah selesai melakukan kursus.
4.2 Pengujian
Uji coba dilakukan untuk memastikan bahwa setiap fungsi pada aplikasi telah
berjalan sesuai dengan tugasnya. Pengujian pada aplikasi menggunakan metode
blackbox. Pengujian dengan menggunakan metode blackbox, artinya pengujian aplikasi
73
dilakukan berdasarkan fungsi dari aplikasi tersebut. Tujuan dari pengujian untuk
menemukan kesalahan fungsi pada aplikasi. Kuisioner ini kami lakukan terhadap 5
calon siswa Kursus Mengemudi “Lancar 28” ,tiga instruktur, dan satu admin. Kuisioner
dibagikan ketika setiap siswa sudah mencoba aplikasi.
74
- Tombol delete
Tambah - Mengisi setiap textbox 90 Baik
Data Jam - Tombol Save
- Tombol Cancel
Edit Data - Mengisi setiap textbox 90 Baik
Jam - Tombol Save
- Tombol Cancel
List Data - Tombol add 95 Baik
Mobil - Tombol edit
- Tombol delete
Tambah - Mengisi setiap textbox 90 Baik
Data Mobil - Tombol Save
- Tombol Cancel
Edit Data - Mengisi setiap textbox 95 Baik
Mobil - Tombol Save
- Tombol Cancel
List Data - Tombol add 95 Baik
Paket - Tombol edit
- Tombol delete
Tambah - Mengisi setiap textbox 95 Baik
Data Paket - Tombol Save
- Tombol Cancel
Edit Data - Mengisi setiap textbox 90 Baik
Paket - Tombol Save
- Tombol Cancel
List Data - Tombol add 90 Baik
Siswa - Tombol edit
- Tombol delete
75
Tambah - Mengisi setiap textbox 90 Baik
Data Siswa - Tombol Save
- Tombol Cancel
Edit Data - Mengisi setiap textbox 90 Baik
Siswa - Tombol Save
- Tombol Cancel
List Data - Tombol Accept 95 Baik
Request - Tombol Reject
Pendaftaran
Siswa
76
Tabel 4.3 Android Siswa
NO Pertanyaan Nilai
Sangat Kurang Cukup Baik Sangat
Kurang Baik
77
1 Apakah aplikasi ini 1
memberi
kemudahan dalam
mengolah data
2 Apakah aplikasi ini 1
dapat memberikan
penjadwalan yang
lebih efisien
3 Apakah aplikasi ini 1
bisa mengurangi
biaya proses bisnis
Kuisioner Admin
20%
40%
Sangat baik
Baik
Cukup
40%
Kurang
78
Berdasarkan analisa hasil uji coba admin bisa disimpulkan bahwa sebanyak
40% memilih baik dan 40% memilih sangat baik, sisanya 20%. Ini membuktikan bahwa
aplikasi ini sangat membantu kinerja admin dan fitur dari admin berjalan dengan lancar
NO Pertanyaan Nilai
Sangat Kurang Cukup Baik Sangat
Kurang Baik
1 Apakah aplikasi ini 2 1 2
memudahkan dalam
melakukan registrasi
2 Apakah aplikasi ini 3 1 1
memudahkan dalam
melakukan
penjadwalan
3 Apakah fitur registrasi 2 3
dapat berjalan dengan
baik?
4 Apakah fitur Login 5
dapat berjalan dengan
baik ?
5 Apakah fitur pilih 2 3
jadwal dapat berjalan
dengan baik ?
6 Apakah fitur ganti 5
jadwal dapat berjalan
dengan baik ?
79
7 Apakah fitur ganti 1 4
password dapat
berjalan dengan baik?
8 Apakah fitur 1 3 1
notifikasi dapat
berjalan dengan baik?
10 Apakah siswa 5
dipermudah dengan
adanya fitur notifikasi
kursus mengemudi
mobil
Kuisioner Siswa
14%
80
4.2.7 Kuisioner Pertanyaan Instruktur
Dibawah ini adalah kuisoner yang berisi pertanyaan untuk instruktur Kursus
Mengemudi Lancar 28
NO Pertanyaan Nilai
Sangat Kurang Cukup Baik Sangat
Kurang Baik
1 Apakah aplikasi ini 1 2
memudahkan untuk
mengingat jadwal
kursus siswa
2 Apakah aplikasi ini 1 1 1
memudahkan
dalam melihat
profil siswa
3 Apakah fitur login 1 2
dapat berjalan
dengan baik
81
Kuisioner Instruktur
14%
Berdasarkan persentase kuisioner instruktur diatas kita bisa melihat bahwa baik
dan sangat baik sama-sama mendominasi dengan 43% dan sisanya 14% merasa cukup
Kita bisa menganalisa bahwa instruktur cukup puas dengan fitur yang ada pada aplikasi
82
BAB V KESIMPULAN
5.1 Kesimpulan
Berdasarkan pada hasil pengujian aplikasi yang dibuat, maka dapat diperoleh
kesimpulan yaitu :
1. Mempermudah admin dalam pengelolaan data data siswa, mobil, instruktur,
jam dan paket kursus dengan aman dari kerusakan
2. Penjadwalan lebih mudah diorganisir dan lebih tepat waktu.
3. Mempermudah siswa dalam melakukan registrasi
4. Instruktur dan siswa akan ingat dengan jadwal kursus karena ada notifikasi
jadwal setiap harinya
5.2 Saran
Terdapat beberapa saran yang perlu disampaikan dengan harapan mampu
menjadi suatu masukan untuk pengembangan aplikasi ini:
1. Tampilan diperbaiki sehingga menjadi lebih bagus.
2. Memberi notifikasi pada apikasi bisa melalui sms.
83
DAFTAR PUSTAKA
[5] Murtiwiyati dan Glen Lauren. 2013. Rancang Bangun Aplikasi Pembelajaran Budaya
Indonesia Untuk Anak Sekolah Dasar Berbasis Android. Depok: Jurnal Ilmiah
Komputasi. Vol.12 No.2. ISSN : 1412-9434.
[6] Widodo dan Nusantara dan Zainuddin. 2016. Sistem Informasi Dan Pengolahan Data
Kursus Mobil Berbasis Web Dengan Sms Gateway Di Armada Pasuruan. Pasuruan :
Jurnal Informatika Merdeka Pasuruan. Vol. 1, No.3. ISSN : 2503-1945.
[10] “Pengertian dan Contoh Data Flow Diagram (DFD) atau Diagram Alir Data (DAD)”
http://www.pro.co.id/pengertian-dan-contoh-data-flow-diagram-dfd/ tanggal akses 31
Juli 2018
84
PROFIL PENULIS
DATA PRIBADI
Nama : Dimas Chandra Kusumawardana
Tempat, Tanggal Lahir : Gresik, 29 Agustus 1997
Alamat : Jl. Kacang no.11 Perum Petrokimia,
Kec. Gresik,
Kab. Gresik- Jawa Timur
Usia : 20 Tahun
Agama : Islam
Kewarganegaraan : Indonesia
Nomor Telepon : 08979503178
E-mail : dimazchandra31@gmail.com
RIWAYAT PENDIDIKAN
2003 – 2009 : SD Nahdlatul Ulama 1 Gresik
2009 – 2012 : SMP Negeri 2 Kebomas
2012 – 2015 : SMA Nahdlatul Ulama 1 Gresik
2015 – 2018 : Program Studi Manajemen Informatika
Jurusan Teknologi Informasi
Politeknik Negeri Malang
85
PROFIL PENULIS
DATA PRIBADI
Nama : Sapta Ahmad Afrizal
Tempat, Tanggal Lahir : Jombang, 09 September 1997
Alamat : Jl KH Thohirun no.22,
Betek - Mojoagung,
Kab. Jombang - Jawa Timur
Usia : 20 Tahun
Agama : Islam
Kewarganegaraan : Indonesia
Nomor Telepon : 0895342688799
E-mail : saptaahmada@gmail.com
RIWAYAT PENDIDIKAN
2003 – 2009 : MI Almursyidah Mancilan Mojoagung
2009 – 2012 : SMP Negeri 2 Mojoagung Jombang
2012 – 2015 : SMK Negeri 2 Malang
2015 – 2018 : Program Studi Manajemen Informatika
Jurusan Teknologi Informasi
Politeknik Negeri Malang
86
Lampiran
if($this->form_validation->run())
{
if($this->Model_Admin->insert())
{
$this->session->set_flashdata('message', 'input data
berhasil');
redirect('admin');
}
else
{
$this->session->set_flashdata('message', 'input data gagal');
redirect('admin/add');
}
}
else
{
$this->data['content'] = 'admin_view/add_view';
$this->getView();
}
}
87
2. Untuk kode update
if($this->form_validation->run())
{
if($this->Model_Admin->edit($id))
{
$this->session->set_flashdata('message', 'edit data berhasil');
redirect('admin');
}
else
{
$this->session->set_flashdata('message', 'edit data gagal');
redirect('admin/edit/'.$id);
}
}
else
{
$this->data['id'] = $id;
$this->data['data'] = $this->Model_Admin-
>getById($id);
$this->data['content'] = 'admin_view/edit_view';
$this->getView();
}
}
88
3. Untuk kode delete
89
4. Skrip kode registrasi secara online
90
5. Skrip kode untuk notifikasi ke android
$result = $this->Model_Jadwal->getJadwalTomorrow();
$tokens = array();
foreach ($result as $row) {
$tokens[] = $row['token'];
$messages['message'] = "Besok jam ".$row['jam']." ada jadwal kursus";
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array(
'registration_ids' => $tokens,
'data' => $messages
);
$headers = array(
'Authorization:key =
AAAAQJlBaJA:APA91bGtnO217nlCUI2_wil3KQ9xrv8OvsOUlHFCi71zGdeAV6ey16y
gChaqAad4P3qQLi0DgcvmBzszHo-
ZcUaJyd4Qv6gZpb2p_Tfm2fZtwfi3TVreehONrL9iP3I0_5XMqu9JNLxf ',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
$tokens = array();
}
$response['success'] = true;
$response['message'] = "Info jadwal besok sudah terkirim ke siswa";
echo json_encode($response);
91
B. Pada android siswa dan instruktur
call.enqueue(new Callback<ArrayMobil>() {
@Override
public void onResponse(Call<ArrayMobil> call, Response<ArrayMobil>
response) {
ArrayMobil listMobil = response.body();
if (listMobil.isError()){
Toast.makeText(AturMobilActivity.this, listMobil.getMessage(),
Toast.LENGTH_SHORT).show();
} else {
dataSet = listMobil.getResult();
showRecyclerView();
}
}
@Override
public void onFailure(Call<ArrayMobil> call, Throwable t) {
Toast.makeText(AturMobilActivity.this, t.getMessage(),
Toast.LENGTH_SHORT).show();
}
});
}
92
2. Kode skrip rest untuk mengambil data mobil
<?php
require_once '../db/DbMobil.php';
$response = array();
$db = new DbMobil();
$mobil = $db->getMobil();
if(!empty($mobil)) {
$response['error'] = false;
$response['result'] = $mobil;
$response['message'] = "anda berhasil login";
} else {
$response['error'] = true;
$response['message'] = "nik atau password salah";
}
echo json_encode($response);
<?php
class DbMobil {
private $con;
function __construct()
{
require_once dirname(__FILE__).'/DbConnection.php';
$db = new DbConnection();
$this->con = $db->connect();
}
return $data;
}
}
93
3. Kode skrip untuk mengirim data jadwal yang dipilih
call.enqueue(new Callback<ResponseUmum>() {
@Override
public void onResponse(Call<ResponseUmum> call,
Response<ResponseUmum> response) {
ResponseUmum respon = response.body();
Toast.makeText(AturJadwalActivity.this, ""+respon.getMessage(),
Toast.LENGTH_SHORT).show();
mData.setStatus(0);
session.setSession(mData);
session.setNopol(nopol);
session.decide();
startActivity(new
Intent(getApplicationContext(),TampilJadwalActivity.class));
finish();
AturMobilActivity.activity.finish();
}
@Override
public void onFailure(Call<ResponseUmum> call, Throwable t) {
Toast.makeText(AturJadwalActivity.this, ""+t.getMessage(),
Toast.LENGTH_SHORT).show();
}
});
}
94
95
4. Kode skrip rest untuk menyimpan jadwal yang dikirim
<?php
require_once '../db/DbTransaksi.php';
require_once '../db/DbJadwal.php';
require_once '../db/DbSiswa.php';
$response = array();
$paket = $_POST['id_paket'];
$nopol = $_POST['nopol'];
$nik = $_POST['nik'];
$json = json_decode($_POST['request'], true);
$db = new DbTransaksi();
if(!empty($trans)) {
$db = new DbJadwal();
$result = $db->insert($json['result'], $trans[0]['id_transaksi']);
if($result) {
$db = new DbSiswa();
if($db->updateStatus(0, $nik)) {
$response['success'] = true;
$response['message'] = "Berhasil";
} else {
$response['success'] = false;
$response['message'] = "gak masuk";
}
} else {
$response['success'] = false;
$response['message'] = "gagal";
}
}
echo json_encode($response);
// skrip sql
public function insert($data, $id_transaksi) {
$sql = 'INSERT INTO jadwal(id_jam, tanggal, id_transaksi) VALUES';
foreach ($data as $val) {
$a = "('" . $val['id_jam'] ."','". $val['tanggal'] ."','". $id_transaksi ."'),";
$sql = $sql . $a;
}
$sql = substr($sql, 0, -1);
return $this->con->query($sql);
}
96
97