Upload
ngoque
View
227
Download
7
Embed Size (px)
Citation preview
i
PENERAPAN ALGORITMA FISHER-YATES SHUFFLE PADA GAME
KUIS PEMBELAJARAN AGAMA ISLAM MENGGUNAKAN
ARSITEKTUR REPRESENTATIONAL STATE TRANSFER
(REST) WEB SERVICE
Diajukan sebagai salah satu syarat penulisan tugas akhir
Oleh:
Irwan
1127050078
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERISUNAN GUNUNG DJATI
BANDUNG
2016
KATA PENGANTAR
حيم حمن الر الر بسم الله
Dengan mengucapkan rasa syukur kehadirat Allah SWT. yang telah
memberikan berkat rahmat dan karunia-Nya kepada kita semua, atas nikmat dan
hidayah-Nya penulis dapat menyelesaikan penyusunan laporan Tugas Akhir yang
berjudul “PENERAPAN ALGORITMA FISHER-YATES SHUFFLE PADA
GAME KUIS PEMBELAJARAN AGAMA ISLAM MENGGUNAKAN
ARSITEKTUR REPRESENTATIONAL STATE TRANSFER (REST) WEB
SERVICE”.
Penyusunan laporan ini dimaksudkan untuk menempuh ujian akhir pada
jurusan S1 Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam
Negeri Sunan Gunung Djati Bandung.
Penulis menyadari bahwa penyusunan laporan ini tidak lepas dari kendala
dan kesulitan. Namun banyak pihak yang telah membantu dalam penyusunan
laporan ini. Oleh karena itu, dalam kesempatan ini, penulis tidak lupa mengucapkan
terima kasih kepada :
1. Allah SWT. yang telah melindungi dan memberikan kelancaran,
rahmat, hidayah dan karunia-Nya.
2. Kedua orang tua yang telah mendukung dan meridhoi baik secara moril
maupun materiil yang sangat berarti bagi penulis.
3. Bapak Dr. Opik Taupik Kurahman selaku Dekan Fakultas Sains dan
Teknologi Universitas Islam Negeri Sunan Gunung Djati Bandung.
iv
4. Bapak Mohamad Irfan, S.T., M.Kom, selaku Ketua Jurusan Teknik
Informatika yang telah memberikan kesempatan dan dukungannya
kepada penulis dalam penyusunan laporan Tugas Akhir ini.
5. Bapak Jumadi, S.T., M.Cs, selaku dosen pembimbing akademik yang
telah memberikan dukungannya dan membimbing penulis dari awal
semester hingga saat ini.
6. Bapak Yana Aditia Gerhana, S.T., M.Kom dan Bapak Gitarja Sandi,
S.T., M.T, yang telah bersedia menjadi pembimbing penulis dan
membimbing dengan baik dengan arahan dan motivasinya yang luar
biasa hingga penulis dapat menyelesaikan laporan Tugas Akhir ini
dengan baik dan lancar.
7. Bapak H. Cecep Nurul Alam, S.T., M.T. dan Bapak Khaerul Manaf,
S.T., M.Kom. selaku dosen penguji sidang skripsi yang telah
memberikan pengarahan dan kritik yang membangun untuk perbaikan
skripsi ini.
8. Dosen-dosen Teknik Informatika UIN Sunan Gunung Djati Bandung
selama perkuliahan telah memberikan ilmu dan pengetahuannya kepada
penulis.
9. Teman-teman angkatan 2012 khususnya IF-B, sahabat seperjuangan
dari awal berjumpa yang selalu membantu.
10. Sahabat demisioner HIMATIF periode 2013-2014 khususnya bidang
ADFOKOM dan pengurus HIMATIF angkatan 2012 serta kawan HMI
Komisariat Sains dan Teknologi.
v
11. Teman seperjuangan penulis selama mengerjakan Tugas Akhir ini yang
berjuang bersama-sama dalam melaksanakan dan menyusun laporan
Tugas Akhir ini.
12. Dan semua pihak yang tidak dapat disebutkan satu per satu yang telah
membantu dalam penyusunan laporan Tugas Akhir ini.
Penulis menyadari bahwa laporan ini jauh dari kata sempurna dan dalam
pembuatannya masih banyak sekali kekurangan, karena kesempurnaan hanya
milik Allah SWT. Oleh karena itu, segala bentuk kritik dan saran dari pembaca
guna untuk kesempurnaan laporan ini kedepannya.
Bandung, Desember 2016
Irwan
1127050078
vi
ABSTRAK
PENERAPAN ALGORITMA FISHER-YATES SHUFFLE PADA GAME
KUIS PEMBELAJARAN AGAMA ISLAM MENGGUNAKAN
ARSITEKTUR REPRESENTATIONAL STATE TRANSFER
(REST) WEB SERVICE
Oleh:
Irwan
1127050078
Kuis Islami adalah aplikasi pembelajaran dengan cakupan materi agama Islam,
terdiri dari empat kategori yaitu Akidah Akhlak, Al-Qur’an Haidist, Fiqih, dan
Sejarah Kebudayaan Islam. Dalam menu latihan soal, terdapat soal dengan format
empat pilihan ganda. Pengguna cukup memilih salah satu pilihan ganda tersebut
yang pengguna anggap benar dengan soal yang ada. Tujuan dari pembangunan
aplikasi ini selain sebagai media hiburan juga sebagai media pembelajaran dan
pelatihan daya ingat untuk pengguna permainan (user). Untuk membuat aplikasi
Kuis Islami ini, penulis menggunakan REST Web Services sebagai arsitektur
pertukaran data antara client (mobile) dengan server, serta menggunakan algoritma
Fisher Yates Shuffle sebagai fungsi pengacakan pada pilihan ganda yang terdapat
pada soal latihan (evaluasi). Pengujian dilakukan dengan pendekatan kotak hitam
(black box) untuk menguji masing-masing fungsionalitas sistem. Setelah pengujian
berhasil dilakukan, maka dapat disimpulkan bahwa web service dengan arsitektur
REST yang dibangun dapat berjalan dengan baik pada aplikasi perangkat Android
dan dapat melakukan pertukaran data yang diminta serta mengirimkan hasil data
respon ke aplikasi pengguna dalam format objek JSON, dan Penerapan Algoritma
Fisher-Yates Shuffle berhasil diterapkan dalam kuis ini untuk menentukan solusi
pengacakan yang tidak berganda dan pengacakan objek yang variatif berdasarkan
hasil pengujian sebanyak sepuluh kali percobaan.
Kata Kunci : Fisher Yates Shuffle, Kuis Islami, Pembelajaran Islam, REST Web
Services
vii
ABSTRACT
The Implementation of Fisher-Yates Shuffle Algorithm on Learning Islam
Game Quizzes Using Representational State Transfer
(REST) Web Service Architecture
by:
Irwan
1127050078
Islamic Quiz is a learning application with the material scope of Islam, consists of
four categories: Morals Aqeedah Al-Qur'an Haidist, Fiqh and Cultural History of
Islam. In the menu of exercises, there are questions with four multiple-choice
format. Users simply select one of the multiple choice that users consider correct
the problems that exist. The purpose of this application development than as a
medium of entertainment as well as a medium of learning and memory training for
game users (user). To make the application of Islamic Quiz, the author uses REST
Web Services as the architecture of the data exchange between the client (mobile)
to the server, as well as using Fisher Yates Shuffle algorithm as a function of
randomization on a multiple-choice practice questions contained in (evaluation).
Testing is done with a black box approach (black box) to test each system
functionality. After the test is successful, it can be concluded that the web service
with the REST architecture that was built to run well on the applications Android
devices and can exchange data requested and send the result of the response data
to the user application in a format JSON objects, and Implementation of Algorithms
Fisher-Yates shuffle successfully applied in this quiz to determine which solution
randomization and randomization were not multiple objects of varied based on test
results as much as ten times the experiment.
Keywords : Fisher-Yates Shuffle Algorithm, Islamic Learning, Islamic Quiz, REST
Web Services
viii
DAFTAR ISI
KATA PENGANTAR ............................................................................................ i
ABSTRAK ............................................................................................................ vi
ABSTRACT .......................................................................................................... vii
DAFTAR ISI ....................................................................................................... viii
DAFTAR GAMBAR ............................................................................................ xi
DAFTAR TABEL ............................................................................................... xv
DAFTAR LAMPIRAN ..................................................................................... xvii
BAB I PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang Masalah ........................................................................... 1
1.2 Rumusan Masalah .................................................................................... 4
1.3 Tujuan ....................................................................................................... 4
1.4 Batasan Masalah ....................................................................................... 4
1.5 Metodologi Penelitian .............................................................................. 5
1.5.1 Tahap Pengumpulan Data ................................................................. 5
1.5.2 Metode Pengembangan Perangkat Lunak ......................................... 6
1.6 Kerangka Pemikiran ................................................................................. 8
1.7 Sistematika Penulisan ............................................................................... 9
BAB II LANDASAN TEORI ............................................................................. 11
2.1 Landasan Teori ....................................................................................... 11
2.1.1 Web Services ................................................................................... 11
2.1.2 REST ................................................................................................ 12
2.1.3 Fisher-Yates Shuffle ........................................................................ 18
2.1.4 Game ............................................................................................... 21
2.1.5 Pembelajaran ................................................................................... 21
2.1.6 Pembelajaran Agama Islam............................................................. 26
2.1.7 Android ........................................................................................... 27
2.1.8 Web Framework .............................................................................. 28
2.1.9 Teknik Pengujian ............................................................................ 30
ix
2.2 Tinjauan Pustaka .................................................................................... 31
2.2.1 The State of The Art ........................................................................ 31
BAB III ANALISIS DAN PERANCANGAN ................................................... 42
3.1 Inception (Permulaan) ............................................................................ 42
3.2 Analisis Masalah .................................................................................... 42
3.3 Analisis Sistem ....................................................................................... 43
3.3.1 Gambaran Umum Sistem ................................................................ 43
3.3.2 Fungsi Utama Sistem ...................................................................... 44
3.3.3 Arsitektur Sistem ............................................................................. 45
3.3.4 Arsitektur Aplikasi .......................................................................... 45
3.4 Analisis Kebutuhan Sistem .................................................................... 46
3.4.1 Spesifikasi Perangkat Keras ............................................................ 46
3.4.2 Spesifikasi Perangkat Lunak ........................................................... 47
3.4.3 Spesifikasi Pengguna ...................................................................... 48
3.4.4 Analisis Kebutuhan Data................................................................. 48
3.5 Analisis Arsitektur REST Web Services ................................................. 49
3.5.1 Analisis REST ................................................................................ 49
3.5.2 Dokumentasi API ............................................................................ 50
3.5.3 Flowchart Arsitektur REST Web Services pada Aplikasi ............... 51
3.6 Analisis Algoritma Fisher Yates Shuffle ................................................ 52
3.7 Elaboration (Perluasan/Perencanaan) .................................................... 56
3.7.1 Model Bisnis dan Kebutuhan .......................................................... 56
3.7.2 Analisis Kebutuhan dan Pembangunan Sistem ............................... 56
3.7.3 Perancangan Sistem ........................................................................ 57
BAB IV IMPLEMENTASI DAN PENGUJIAN .............................................. 90
4.1 Construction (Konstruksi) ...................................................................... 90
4.2 Implementasi Sistem .............................................................................. 90
4.3 Perangkat Pendukung ............................................................................. 90
4.3.1 Perangkat Keras .............................................................................. 91
4.3.2 Perangkat Lunak.............................................................................. 92
4.4 Implementasi Database .......................................................................... 92
4.4.1 Implementasi Tabel Materi ............................................................. 92
4.4.2 Implementasi Tabel Kuis ................................................................ 93
x
4.4.3 Implementasi Tabel Notifikasi ........................................................ 94
4.4.4 Implementasi Tabel Admin ............................................................. 94
4.5 Implementasi Antar Muka ...................................................................... 95
4.5.1 Implementasi Antar Muka Server (Admin) ..................................... 95
4.5.2 Implementasi Antar Muka Client Side (User) ................................ 99
4.6 Pengujian Sistem .................................................................................. 105
4.6.1 Pengujian Interface (Antar Muka) ................................................ 105
4.6.2 Pengujian Pengacakan soal dengan Algoritma Fisher Yattes ....... 113
4.6.3 Pengujian REST (Representational State Transfer) Web Services 116
4.7 Transition (Transisi) ............................................................................. 118
BAB V PENUTUP ............................................................................................. 119
5.1 Kesimpulan ........................................................................................... 119
5.2 Saran ..................................................................................................... 120
DAFTAR PUSTAKA ........................................................................................ 121
xi
DAFTAR GAMBAR
Gambar 1. 1 Mindmap proses analisis kebutuhan sistem. ...................................... 6
Gambar 1. 2 Proses penspesifikasian fitur aplikasi dan tampilan . ......................... 7
Gambar 1. 3 Kerangka pemikiran. .......................................................................... 8
Gambar 2. 1 Analogi proses request pada SOAP dan REST . ............................... 16
Gambar 2. 2 Skema SOAP dan REST Web Services . ........................................... 17
Gambar 2. 3 Skema perbandingan proses SOAP dan REST Web Service . .......... 18
Gambar 2. 4 Pseudocode Algoritma Fisher Yates. ............................................... 20
Gambar 2. 5 Flowchart Algoritma Fisher Yates . ................................................. 20
Gambar 2. 6 Arsitektur Android . ......................................................................... 28
Gambar 3. 1 Arsitektur sistem. ............................................................................. 45
Gambar 3. 2 Arsitektur sistem. ............................................................................. 46
Gambar 3. 3 Dokumentasi API kuis. ..................................................................... 50
Gambar 3. 4 Dokumentasi API materi. ................................................................. 51
Gambar 3. 5 Flowchart Arsitektur REST pada aplikasi. ....................................... 52
Gambar 3. 6 Flowchart Algoritma Fisher Yates. .................................................. 53
Gambar 3. 7 Kondisi awal sebelum diacak. .......................................................... 54
Gambar 3. 8 Simulasi Pengacakan Algoritma Fisher Yates Range 1-4. ............... 54
Gambar 3. 9 Simulasi Pengacakan Algoritma Fisher Yates Range 1-3. ............... 55
Gambar 3. 10 Simulasi Pengacakan Algoritma Fisher Yates Range 1-2. ............. 55
Gambar 3. 11 Use Case Diagram Sistem. ............................................................. 57
Gambar 3. 12 Activity diagram proses web services. ............................................ 66
Gambar 3. 13 Activity diagram mengelola data materi. ........................................ 67
xii
Gambar 3. 14 Activity diagram mengelola data kuis. ........................................... 68
Gambar 3. 15 Activity diagram membuat push notifikasi..................................... 69
Gambar 3. 16 Activity diagram mengelola data admin. ........................................ 70
Gambar 3. 17 Activity diagram memilih materi.................................................... 71
Gambar 3. 18 Activity diagram mengerjakan kuis. ............................................... 72
Gambar 3. 19 Activity diagram melihat skor. ....................................................... 72
Gambar 3. 20 Activity diagram memilih tentang. ................................................. 73
Gambar 3. 21 Class diagram server side. ............................................................. 74
Gambar 3. 22 Class diagram client side. .............................................................. 74
Gambar 3. 23 Sequence diagram mengelola data materi. ..................................... 75
Gambar 3. 24 Sequence diagram mengelola data kuis. ........................................ 76
Gambar 3. 25 Sequence diagram membuat push notifikasi. ................................. 77
Gambar 3. 26 Sequence diagram mengelola data admin. ..................................... 77
Gambar 3. 27 Sequence diagram memilih materi. ................................................ 78
Gambar 3. 28 Sequence diagram memilih kuis. ................................................... 79
Gambar 3. 29 Sequence diagram melihat skor. .................................................... 79
Gambar 3. 30 Sequence diagram memilih tentang. .............................................. 80
Gambar 3. 31 Halaman login admin. .................................................................... 82
Gambar 3. 32 Halaman dashboard. ...................................................................... 83
Gambar 3. 33 Halaman status materi. ................................................................... 83
Gambar 3. 34 Halaman detail materi. ................................................................... 83
Gambar 3. 35 Halaman tambah materi. ................................................................ 84
Gambar 3. 36 Halaman edit materi. ...................................................................... 84
Gambar 3. 37 Halaman hapus materi. ................................................................... 84
xiii
Gambar 3. 38 Halaman status kuis. ....................................................................... 85
Gambar 3. 39 Halaman detail kuis. ....................................................................... 85
Gambar 3. 40 Halaman tambah kuis. .................................................................... 85
Gambar 3. 41 Halaman edit kuis. .......................................................................... 86
Gambar 3. 42 Halaman hapus kuis. ...................................................................... 86
Gambar 3. 43 Halaman push notifikasi. ................................................................ 86
Gambar 3. 44 Halaman setting/edit admin ............................................................ 87
Gambar 3. 45 Halaman menu utama. .................................................................... 87
Gambar 3. 46 Halaman kategori materi. ............................................................... 88
Gambar 3. 47 Halaman detail materi. ................................................................... 88
Gambar 3. 48 Halaman kategori kuis. ................................................................... 88
Gambar 3. 49 Halaman kuis. ................................................................................. 89
Gambar 3. 50 Halaman skor.................................................................................. 89
Gambar 3. 51 Halaman exit dialog. ...................................................................... 89
Gambar 4. 1 Tabel Materi. .................................................................................... 93
Gambar 4. 2 Tabel Kuis. ....................................................................................... 93
Gambar 4. 3 Tabel Notifikasi. ............................................................................... 94
Gambar 4. 4 Tabel Admin. .................................................................................... 94
Gambar 4. 5 Tampilan Halaman Login. ................................................................ 95
Gambar 4. 6 Tampilan Halaman Dashboard. ....................................................... 96
Gambar 4. 7 Tampilan Halaman Menu Materi. .................................................... 96
Gambar 4. 8 Tampilan Halaman Menu Kuis. ....................................................... 97
Gambar 4. 9 Tampilan Halaman Push Notifikasi. ................................................ 98
Gambar 4. 10 Tampilan Halaman Setting. ............................................................ 98
xiv
Gambar 4. 11 Tampilan Halaman Splash Screen.................................................. 99
Gambar 4. 12 Tampilan Halaman Menu Utama. ................................................ 100
Gambar 4. 13 Tampilan Halaman Menu Materi. ................................................ 101
Gambar 4. 14 Tampilan Halaman Menu Detail Materi. ..................................... 102
Gambar 4. 15 Tampilan Halaman Menu Kuis. ................................................... 103
Gambar 4. 16 Tampilan Halaman Game Play Kuis. ........................................... 104
Gambar 4. 17 Tampilan Halaman Skor............................................................... 104
Gambar 4. 18 Tampilan Halaman Menu Tentang. .............................................. 105
Gambar 4. 19 Screenshot source code Algoritma Fisher Yates Shuffle. ............ 114
Gambar 4. 20 Pengujian request data materi dengan method GET. ................... 116
Gambar 4. 21 Screenshot source code resource data materi. ............................. 117
Gambar 4. 22 Pengujian request data kuis dengan method GET. ...................... 117
Gambar 4. 23 Screenshot source code resource data kuis. ................................ 118
xv
DAFTAR TABEL
Tabel 2. 1 Method pada HTTP request serta implementasinya pada REST. ......... 15
Tabel 2. 2 Contoh Perhitungan Algoritma Fisher Yates. ...................................... 19
Tabel 2. 3 Tabel State Of The Art. ........................................................................ 35
Tabel 2. 4 Tabel perbandingan state of the art...................................................... 40
Tabel 3. 1 Spesifikasi Perangkat Keras ................................................................. 47
Tabel 3. 2 Spesifikasi Pengguna ........................................................................... 48
Tabel 3. 3 Contoh perhitungan Fisher Yates Shuffle............................................. 56
Tabel 3. 4 Skenario use case memilih materi. ...................................................... 58
Tabel 3. 5 Skenario use case mengerjakan latihan. .............................................. 59
Tabel 3. 6 Skenario use case menghitung skor. .................................................... 60
Tabel 3. 7 Skenario use case memilih tentang. ..................................................... 61
Tabel 3. 8 Skenario use case mengelola data materi. ........................................... 61
Tabel 3. 9 Skenario use case mengelola data kuis. ............................................... 62
Tabel 3. 10 Skenario use case mengacak soal. ..................................................... 63
Tabel 3. 11 Skenario use case membuat push notifikasi. ..................................... 64
Tabel 3. 12 Skenario use case mengelola data admin. .......................................... 65
Tabel 3. 13 Skenario use case proses web services. ............................................. 66
Tabel 3. 14 Perancangan tabel materi. .................................................................. 80
Tabel 3. 15 Perancangan tabel kuis. ...................................................................... 81
Tabel 3. 16 Perancangan tabel push notifikasi. ..................................................... 81
Tabel 3. 17 Perancangan tabel admin. .................................................................. 82
Tabel 4. 1 Spesifikasi perangkat keras server. ...................................................... 91
xvi
Tabel 4. 2 Spesifikasi perangkat keras client. ....................................................... 91
Tabel 4. 3 Uji skenario halaman login. ............................................................... 106
Tabel 4. 4 Uji skenario halaman dashboard. ...................................................... 106
Tabel 4. 5 Uji skenario halaman menu materi. ................................................... 107
Tabel 4. 6 Uji skenario halaman menu kuis ........................................................ 108
Tabel 4. 7 Uji skenario halaman push notifikasi. ................................................ 109
Tabel 4. 8 Uji skenario halaman setting. ............................................................. 109
Tabel 4. 9 Uji skenario halaman splash screen. .................................................. 110
Tabel 4. 10 Uji skenario halaman menu utama. .................................................. 110
Tabel 4. 11 Uji skenario halaman menu materi. ................................................. 111
Tabel 4. 12 Uji skenario halaman menu kuis. ..................................................... 112
Tabel 4. 13 Uji skenario halaman menu game play kuis. .................................... 112
Tabel 4. 14 Uji skenario halaman menu skor. ..................................................... 113
Tabel 4. 15 Uji skenario halaman menu tentang aplikasi. .................................. 113
Tabel 4. 16 Pengujian Pengacakan soal dengan Algoritma Fisher Yattes. ......... 114
Tabel 4. 17 Pengujian Pengacakan dengan random generator. .......................... 115
xvii
DAFTAR LAMPIRAN
LAMPIRAN A : Source Code
LAMPIRAN B : Sample Kuesioner Pembelajaran Agama Islam
LAMPIRAN C : Surat Keputusan (SK) Tugas Akhir/Skripsi
LAMPIRAN D : Lembar Bimbingan Skripsi
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Permainan atau Game adalah salah satu media hiburan yang sangat popular
dikalangan masyarakat. Game menjadi pilihan sebagian masyarakat untuk
menghilangkan kejenuhan atau hanya untuk mengisi waktu luang [1].
Namun dewasa ini banyak game yang masih menonjolkan nilai hiburan tanpa
adanya nilai edukasi atau pembelajaran di dalamnya. Banyak pemain game (gamer)
mendapat dampak serius dari aktivitas ini. Data dari penelitian di Amerika serikat
menyatakan 1 dari 10 gamer (85%) mengalami gangguan kehidupan sosial, prestasi
belajar, sekolah dan juga pekerjaan bagi orang dewasa. Beberapa penelitian di Cina
(10,3 %), Australia (8,0 %), Jerman (11,9 %),Taiwan (7,5 %), dan Singapura (7,6-
9,9%) juga menunjukan hasil yang serupa [2].
Sifat dasar game yang menantang (challenging), membuat ketagihan
(addicted) dan menyenangkan (fun) bagi mereka yang menyukainya. Namun
permainan modern ini dapat berdampak negatif apabila yang dimainkan adalah
game yang tidak bersifat edukasional [3]. Untuk itu perlu adanya nilai edukatif pada
game, agar user atau pemain tidak hanya mendapatkan nilai hiburan saja, tetapi juga
bisa mendapatkan nilai edukasi atau pengetahuan dari game tersebut.
Dalam tugas akhir ini saya mengambil tema game kuis pembelajaran agama
islam, selain untuk hiburan, game ini mempunyai misi utama untuk menambah
pengetahuan mengenai pendidikan agama islam, karena pendidikan agama islam
merupakan pendidikan yang sangat penting bagi seluruh umat islam, tujuan dari
pembelajaran agama islam diantaranya meningkatkan keimanan, pemahaman,
2
penghayatan dan pengamalan tentang agama islam, sehingga menjadi manusia
muslim yang beriman dan bertaqwa kepada Allah SWT serta berakhlak mulia
dalam kehidupan pribadi, bermasyarakat, berbangsa dan bernegara [4].
Pemilihan materi pembelajaran agama islam ini tentunya tak lepas dari masalah
yang ada saat ini, dimana berdasarkan kuesioner yang dilakukan terhadap total 25
siswa pada tingkat SLTA mengenai materi pembelajaran agama islam, didapatkan
hasil hanya sebesar 13% saja pertanyaan yang dapat dijawab dengan benar dari total
keseluruhan siswa, artinya pembelajaran yang dilaksanakan dinilai masih kurang
maksimal. Melihat dari masalah tersebut, tentu harus terdapat suatu perubahan
untuk dapat mendukung dalam memaksimalkan pembelajaran agama islam.
Maka dari itu dalam pembuatan game kuis pembelajaran agama islam ini,
pengguna tidak hanya mendapatkan hiburan saja, tetapi yang paling utama
diharapkan mendapatkan nilai-nilai pengetahuan agama islam di dalamnya, dan
memaksimalkan pembelajaran yang telah dilakukan sebelumnya, sehingga
kemudian bisa menjadi pengetahuan baru dan bisa diterapkan pada kehidupan
sehari-hari.
Sebelumnya terdapat penelitian yang memiliki beberapa kesaamaan dengan
penelitian ini, beberapa penelitian tersebut diantaranya berkaitan dengan
pembuatan media pembelajaran dengan konsep game pembelajaran, dimana dalam
proses pengelolaan data, masih menitikberatkan pada penggunaan data statis (lokal)
untuk kemudian data tersebut digunakan sebagai resource data pada aplikasi, hal
tersebut tentunya membuat materi dan soal pada media pembelajaran tersebut tidak
dapat dikelola dan diperbaharui [5] [6].
3
Melihat dari penelitian yang telah dilakukan sebelumnya, maka dari itu konsep
media pembelajaran berupa kuis game islami ini nantinya akan menggunakan
konsep client-server menggunakan web service dimana soal-soal akan diupload
pada server dan akan direquest oleh client menggunakan perangkat android,
sehingga soal-soal dapat ditambah bahkan diperbaharui dengan mudah, dan bersifat
dinamis, untuk menerapkannya, digunakan arsitektur REST Web Service.
Penggunaan REST Web Service mendukung penggunaan JSON yang mempercepat
pertukaran data pada sistem sehingga aplikasi akan lebih cepat dan efisien.
Dalam aplikasi juga akan diberikan metode pengacakan soal dengan
menggunakan algoritma Fisher-Yates Shuffle yang merupakan salah satu metode
pengacakan yang baik digunakan dalam pengembangan suatu aplikasi. Kelebihan
Algoritma Fisher-Yates adalah efektifitas dari metode pengacakannya serta
kompleksitas algoritmanya yang optimal [7]. Sehingga pertanyaan yang disediakan
tidak beruntun dan tidak mudah ditebak oleh pengguna yang sudah bermain
sebelumnya. Dengan alasan-alasan tersebut maka saya mengambil judul
“PENERAPAN ALGORITMA FISHER-YATES SHUFFLE PADA GAME
KUIS PEMBELAJARAN AGAMA ISLAM MENGGUNAKAN
ARSITEKTUR REPRESENTATIONAL STATE TRANSFER (REST) WEB
SERVICE”.
4
1.2 Rumusan Masalah
Setelah mengetahui latar belakang di atas, ada beberapa permasalahan yang
dapat dirumuskan diantaranya:
1. Bagaimana menerapkan algoritma Fisher-Yates Shuffle untuk pengacakan
soal pada game kuis pembelajaran agama islam?
2. Bagaimana menerapkan Arsitektur Representational State Transfer
(REST) Web Services pada game kuis pembelajaran agama islam?
1.3 Tujuan
Berdasarkan perumusan masalah di atas terdapat beberapa tujuan yaitu:
1. Menerapkan algoritma Fisher-Yates Shuffle untuk pengacakan soal pada
game kuis pembelajaran agama islam.
2. Menerapkan Arsitektur Representational State Transfer (REST) Web
Services pada game kuis pembelajaran agama islam.
1.4 Batasan Masalah
Untuk menghindari pembahasan yang terlalu meluas maka membatasi topik
pembahasan yaitu sebagai berikut:
1. Dapat dijalankan pada smartphone berbasis sistem operasi Android
minimal pada platform 4.1 (Jelly Bean).
2. Aplikasi yang dibangun merupakan media pembelajaran dengan konsep
game kuis pembelajaran.
3. REST pada aplikasi digunakan sebagai arsitektur web services (berbasis
client-server), materi dan soal diinputkan oleh admin pada server, dan
5
user/client meminta/request materi dan soal untuk ditampilkan pada sisi
client/aplikasi.
4. Materi dan soal yang digunakan bersumber dari buku sekolah elektronik
dan LKS pendidikan agama islam Madrasah Aliyah, serta referensi yang
merujuk pada materi pendidikan agama islam.
5. Pada game kuis terdapat empat kategori soal (Fiqih, Al-qur’an hadist,
Akidah akhlak, SKI) masing-masing kategori mempunyai 20 soal secara
acak.
6. Format soal berupa pilihan ganda dengan jumlah 4 pilihan ganda. Batas
skor tertinggi yaitu 100 untuk setiap kategori dan akan ditampilkan langung
setelah latihan kuis selesai.
7. Target pengguna utama dari aplikasi ini adalah kelas 10 SLTA (usia 16-18
tahun).
1.5 Metodologi Penelitian
1.5.1 Tahap Pengumpulan Data
Pengumpulan data dan informasi mengenai berbagai hal yang berkatian dengan
pembangunan aplikasi dan penelitian ini merupakan langkah awal yang akan
dilakukan. Tahap pengumpulan data ini akan dilakukan melalui langkah-langkah
berikut:
a. Studi Literatur
Pada tahap ini akan dilakukan studi terhadap literatur - literatur yang
menunjang pengerjaan skripsi ini khususnya yang berkaitan dengan
pembahasan Algoritma Fisher-Yates Shuffle dan Arsitektur REST Web
Services.
6
Pengumpulan data dilakukan dengan cara mengumpulkan bacaan -
bacaan yang berkaitan dengan masalah yang diteliti, mempelajari buku -
buku referensi, jurnal, paper, dan bacaan - bacaan lain yang berhubungan
dengan kajian pengerjaan skripsi ini.
b. Observasi
Dengan mencari aplikasi-aplikasi yang memiliki kemiripan fungsi
dan kemudian dilakukan analisa terhadap keunggulan dan kelemahan
aplikasi tersebut agar dapat dijadikan sebuah referensi.
1.5.2 Metode Pengembangan Perangkat Lunak
Dalam pembangunan sistem atau aplikasi ini mengikuti tahapan-tahapan
berdasarkan metode analisa dan perancangan yang digunakan yaitu metode analisa
dan perancangan RUP (Rational Unified Process) dengan ditambah UML (Unified
Modeling Language) sebagai alat untuk pemodelan. Berikut ini tahapan-tahapan
yang dilakukan pada metode RUP:
a. Inception
Pada tahap ini pengembang mendefinisikan batasan kegiatan, dan
juga melakukan analisis kebutuhan dari sistem yang akan dibangun. Tahap
ini merupakan langkah awal dari pengumpulan segala kebutuhan sistem.
Gambar 1. 1 Mindmap proses analisis kebutuhan sistem [8].
7
b. Elaboration
Pada tahap ini dilakukan peninjauan kembali dari analisa kebutuhan
yang telah dilakukan pada tahap sebelumnya kemudian dilakukan pula
proses perancangan perangkat lunak mulai dari menspesifikasikan fitur
perangkat lunak hingga interface.
Pada tahap ini mulai dibuat perancangan awal berupa coretan -
coretan yang didasarkan untuk melakukan proses perancangan perangkat
lunak mulai dari menspesifikasikan fitur perangkat lunak hingga interface.
Gambar 1. 2 Proses penspesifikasian fitur aplikasi dan tampilan [8].
c. Construction
Pengimplementasian hasil dari perancangan perangkat lunak yang
telah dibuat pada fase sebelumnya dilakukan pada tahap ini. Pembangunan
sistem dilakukan dengan cara pengerjaan setiap modul yang dipecah dan
dikelompokan berdasarkan kebutuhan sistem.
d. Transition
Instalasi, deployment, pengaturan dan pengujian akhir perangkat
lunak dilakukan pada tahap ini.
8
1.6 Kerangka Pemikiran
Gambar 1. 3 Kerangka pemikiran.
Opportunity
Jumlah pengguna smartphone
bersistem operasi android yang
mencapai satu milyar pengguna
Game merupakan salah satu aplikasi
popular bagi para pengguna android
Masih sedikit media pembelajaran
kuis game yang menggunakan Web
Service untuk proses pertukaran data
yang bisa dimanfaatkan untuk
mengelola soal/konten secara dinamis
Approach
Pembelajaran
Game
Android Application
REST Web Services
Algoritma Fisher-Yates Shuffle
Software Development
Software specification design UML
Software construction: Codeigniter,
Java Development Kit (JDK),
Android Development Tools (ADT)
Software testing: Blackbox testing
Software Implementation
Pengujian Fisher-Yates Shuffle
pada proses pengacakan soal
Pengujian REST Web Services
pada proses request dan
response data
Result
Penerapan Algoritma Fisher-Yates Shuffle pada Game Kuis
Pembelajaran Agama Islam Menggunakan Arsitektur
Representational State Transfer (REST) Web Service
Problems
Perlunya pengetahuan
mengenai pembelajaran Agama
Islam
Kebutuhan akan game yang
edukatif namun juga menarik
Kebutuhan akan game yang
dinamis dan juga efisien
9
1.7 Sistematika Penulisan
Sistematika penulisan dari setiap bab dalam laporan tugas akhir ini bertujuan
untuk mendapatkan keterarahan dan sistemasi dalam penulisan sehingga mudah
dipahami, adapun sistematika secara umum dari penulisan laporan ini adalah:
BAB I PENDAHULUAN
Bab ini merupakan pengantar yang memberikan gambaran mengenai
permasalahan - permasalahan yang kemudian akan dibahas pada bab - bab
selanjutnya. Pokok bahasan dalam bab ini, yaitu latar belakang, perumusan
masalah, batasan masalah, tujuan, metodologi penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini akan dijelaskan tentang teori - teori yang digunakan dalam analisa
permasalahan yang ada, dan juga teori - teori yang digunakan dalam perancangan
dan implementasi.
BAB III ANALISIS DAN PERANCANGAN
Bab ini membahas mengenai analisis dari permasalahan yang ada saat ini dan
analisis kebutuhan yang diperlukan untuk mengatasi permasalahan tersebut.
Pembuatan desain dari sistem dengan mengacu pada analisis yang telah dibahas.
BAB IV IMPLEMENTASI DAN PENGUJIAN
Pada bab ini dijelaskan tentang spesifikasi aplikasi, kebutuhan aplikasi,
implementasi aplikasi, dan pengujian yang dilakukan terhadap aplikasi yang
dibangun.
10
BAB V PENUTUP
Bab ini berisi kesimpulan dan saran untuk pengembangan aplikasi lebih
lanjut dalam upaya memperbaiki kelemahan pada aplikasi guna untuk mendapatkan
hasil kinerja aplikasi yang lebih baik dan pengembangan program selanjutnya.
11
BAB II
LANDASAN TEORI
2.1 Landasan Teori
2.1.1 Web Services
Web service merupakan sebuah API (Application Programming Interface) atau
Web API yang diakses melalui HTTP (Hypertext Transfer Protocol) dan dieksekusi
oleh sebuah remote system yang menjadi host dari service tersebut [9]. Teknologi
web service ini sudah banyak di implementasikan oleh organisasi-organisasi bisnis
untuk mengkolaborasikan sistem-sistem di dalam internal organisasi. Web service
menjanjikan banyak keuntungan seperti peningkatan produktivitas, efisiensi, dan
akurasi. Fokus atau tujuan utama dari web service ini adalah untuk membantu
aplikasi agar dapat saling berkomunikasi satu sama lain. Web service yang
tergabung ke dalam jaringan dapat mendukung kegiatan bisnis internal maupun
eksternal organisasi seperti E-commerce, keuangan, manufaktur, Supply-Chain
management, dan Customer-Relationship management. Web service tidak
bergantung kepada sebuah protokol. Semua protokol transport yang berbasiskan
internet seperti HTTP, SMTP (Simple Mail Transfer Protocol), dan FTP (File
Transfer Protocol) bisa diimplementasikan untuk saling bertukar pesan melalui
melalui web service. Web service memiliki banyak kelebihan, diantaranya adalah:
1. Web service merupakan sebuah platform dan bahasa pemograman yang
netral serta sebuah mekanisme komunikasi yang independen.
2. Servisnya bersifat modular, sehingga membuat pengguna dapat memilih
teknik apa yang akan mereka gunakan dalam pengimplementasiannya.
12
3. Penggunaan web service diharapkan dapat mengurangi kompleksitas.
Karena menggunakan pesan berbasis XML, web service memiliki model
yang fleksibel untuk pertukaran data.
2.1.2 REST
2.1.2.1 Definisi REST
Terminologi REST dikemukakan oleh Roy Fielding yang merupakan salah
satu penulis spesifikasi HTTP dalam disertasi Ph.D. nya untuk menggambarkan
sebuah style arsitektur dari sistem jaringan. Berikut penjelasan Roy Fielding
mengenai Representational State Transfer:
REST is a hybrid style derived from several of the network-based
architectw'al styles and combined with additional constraints that define a uniform
connector interface.
Disertasi tersebut mengemukakan beberapa prinsip yang umum terdapat pada
arsitektur jaringan berdasarkan pengujian terhadap struktur jaringan dan protokol
HTTP. REST sering dirujuk sebagai sebuah gaya arsitektural daripada sebagai
sebuah arsitektur. Daripada mendefinisikan sebuah spesifikasi arsitektur terbaik,
REST lebih mendefinisikan prinsip-prinsip yang dengannya arsitektur dibuat dan
dievaluasi dengan cara meletakkan batasan-batasan pada arsitektur jaringan. REST
bukanlah sebuah standar seperti SOAP. Saat ini tidak ada spesifikasi standar khusus
REST di W3C [8].
13
2.1.2.2 Format data REST Web Service
Web service memiliki beberapa format untuk data. Berikut ini beberapa format
data pada web service:
1. XML (Extensible Markup Language)
XML adalah salah satu bahasa markup language yang merupakan
penyerderhanaan dari SGML (Standard Generalized Markup Language).
Pada penggunaannya, XML memiliki dua fungsi yaitu sebagai format
dokumen dan format pertukaran data pada sebuah sistem yang terdistribusi
[10].
2. JSON (Java Script Object Notation)
JSON (JavaScript Object Notation) adalah format pertukaran data
yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah
diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat
berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-
262 Edisi ke-3 Desember 1999. JSON merupakan format teks yang tidak
bergantung pada bahasa pemprograman apapun karena menggunakan gaya
bahasa yang umum digunakan oleh programmer keluarga C termasuk C,
C++, C#, Java. JavaScript. Perl, Python dll [11].
2.1.2.3 Karakteristik REST Web Service
REST Web Services memiliki karakteristik sebagai berikut:
1. Client-Server
Interaksi dengan model pengambilan, maksudnya adalah mengkonsumsi
komponen atau berarti mengambil representation.
14
2. Stateless
Setiap request dari client ke server harus mengandung semua informasi
yang diperlukan server untuk memahami maksud dari request, dan request
tidak dapat memanfaatkan server untuk mengingat konteks apapun.
3. Cache
Untuk meningkatkan efisiensi jaringan, respon harus dapat melabeli data
sebagai cache atau non-cache.
4. Uniform interface
Semua resource diakses dengan interface generik (HTTP GET, POST, PUT,
DELETE).
5. Resource yang memiliki nama
Sistem terdiri atas resource yang mempunyai nama berdasarkan URL-nya.
6. Representation resource yang saling terkoneksi
Representasi dari resource saling terhubung menggunakan URL, oleh
karenanya client dapat untuk berpindah dari satu state ke state lainnya
7. Komponen berlayer
Perantara seperti proxy server, cache server, gateway, dan sebagainya dapat
dimasukkan sebagai komponen antara client dan resource untuk
mendukung performa, keamanan, dan lainnya [8].
2.1.2.4 Konsep REST Web Service
Secara sederhana untuk memahami konsep REST ini kita dapat alogikan
seperti ini, kita anggap web terdiri atas kumpulan resources. Domain-domain di
internet ini memberikan resource baik kepada browser atau aplikasi yang
diprogram untuk mengakses resource tersebut.
15
Sebuah resource merupakan sesuatu (dokumen, file atau apapun) yang
dinginkan oleh pengakses (client). Browser menginginkan resource tersebut
disajikan dalam dokumen HTML, aplikasi lain mengingikan dalam format XML
agar bisa diolah lebih lanjut, misalnya website UIN Sunan Gunung Djati
memberikan resource infomasi mahasiswa dengan NIM (Nomor Induk Mahasiswa)
20102246. Client dapa mengakses resource tersebut melalui URL:
http://www.uinsgd.ac.id/mahasiswa/20102246.
Client (browser) mengaksesnya dengan menggunakan HTTP_GET request
dan kemudian sebuah representasi dari resource tersebut diberikan (misal
20l02246.html, karena browser meminta dokumen html).
Method-method yang cukup penting dan paling sering digunakan dalam
HTTP adalah POST, GET, PUT dan DELETE. Method ini sering dianalogikan
sebagai operasi CREATE, READ, UPDATE dan DELETE (CRUD) dalam teknologi
Database. Tapi dalam HTTP operasi POST bisa meliputi Create, Update dan
Delete. Operasi GET sebagai READ, operasi PUT bisa meliputi CREATE dan
UPDATE, dan operasi DELETE sebagai DELETE [8].
Tabel 2. 1 Method pada HTTP request serta implementasinya pada REST [8].
No HTTP
Method Aksi Deskripsi Analogi
Perintah
1 GET Mengambil atau
memperoleh
resources
1. Digunakan untuk
memperoleh
resource data
Ambil itu!
2 PUT Menyimpan atau
menambahkan
resources baru
1. Digunakan untuk
menyimpan atau
menambahkan
resource baru
Simpan
disitu!
16
No HTTP
Method
Aksi Deskripsi
Analogi
Perintah
3 PUT Menyimpan atau
menambahkan
resources baru
2. Method ini dapat
digantikan oleh
method POST,
karena method ini
tidak dapat
digunakan pada
beberapa browser
Simpan
disitu!
4 POST Merubah resources
yang sudah ada
1. Digunakan untuk
merubah
resouces yang
sudah ada
2. Method ini dapat
digunakan untuk
menggantikan
method PUT ,
karena method ini
lebih umum
digunakan.
Ubah itu!
5 DELETE Menghapus
resources yang
sudah ada
1. Digunakan untuk
menghapus
resources yang
sudah ada
Hilangkan
itu!
2.1.2.5 Perbandingan REST dengan SOAP
REST API dan SOAP API merupakan dua jenis implementasi aplikasi
berorientasi layanan yang saat ini paling banyak digunakan karena masing-masing
implementasi memiliki kelebihan dan kekurangan serta karakteristik [8].
Gambar 2. 1 Analogi proses request pada SOAP dan REST [8].
Tabel 2.1 Method pada HTTP request serta implementasinya pada REST [8]
(Lanjutan).
17
Dari penjelasan di atas dapat dikatakan bahwa SOAP tidak semudah REST
dalam pengimplementasiannya, SOAP membutuhkan usaha implementasi yang
lebih besar dan pengetahuan di sisi klien, sedangkan web service berbasis REST
API membutuhkan implementasi yang lebih besar dan pengetahuan di sisi server
[8].
Berikut ini adalah skema yang menggambarkan perbedaan antara SOAP dan
REST Web Services:
Gambar 2. 2 Skema SOAP dan REST Web Services [12].
SOAP memiliki sebuah standar pengiriman dan memiliki sebuah proses
envelope sehingga memiliki proses yang lebih lama dan ukuran file yang lebih besar
dibandingkan REST.
Pada gambar 2.3 diperlihatkan skema perbandingan proses pada SOAP dan
REST Web Service.
18
Gambar 2. 3 Skema perbandingan proses SOAP dan REST Web Service [8].
2.1.3 Fisher-Yates Shuffle
Fisher-Yates shuffle (diambil dari nama Ronald Fisher dan Frank Yates) atau
juga dikenal dengan nama Knuth We (diambil dari nama Donald Knuth), adalah
sebuah algoritma untuk menghasilkan suatu permutasi acak dari suatu himpunan
terhingga, dengan kata lain untuk mengacak suatu himpunan tersebut. Jika
diimplementasikan dengan benar, maka hasil dari algoritma ini tidak akan berat
sebelah, sehingga setiap permutasi memiliki kemungkinan yang sama [13].
Metode yang digunakan untuk menghasilkan suatu permutasi acak angka l
sampai n! adalah sebagai berikut:
1. Tuliskan angka dari l sampai N
2. Pilih sebuah angka acak K diantara 1 sampai dengan jumlah angka n yang
belum dicoret
3. Dihitung dari bawah, coret angka K yang belum dicoret, dan tuliskan angka
tersebut di lain tempat
19
4. Ulangi langkah 2 dan 3 sampai semua angka tercoret
5. Urutan angka yang dituliskan pada langkah 3 adalah permutasi acak dari
angka awal.
Pada versi yang baru (modern) angka yang terpilih tidak dicoret, tetapi ditukar
posisinya dengan angka terakhir dari angka yang belum terpilih. Tabel 2.1 adalah
contoh pengerjaan dari versi modern. Range adalah jumlah angka yang belum
terpilih, roll adalah angka acak yang terpilih, scratch adalah daftar angka yang
belum terpilih, result adalah hasil permutasi yang akan didapatkan. Versi modern
dikenalkan karena lebih optimal dibandingkan dengan versi orisinil. Prosesnya
ialah angka terakhir akan dipindahkan ke angka yang ditarik keluar dan mengubah
angka yang ditarik keluar menjadi angka akhir yang tidak ditarik lagi untuk setiap
kali penarikan dan berlanjut untuk iterasi berikutnya.
Tabel 2. 2 Contoh Perhitungan Algoritma Fisher Yates [13].
Range Roll Scratch Result
12345678
1-8 6 1234587 6
1-7 2 173458 26
1-6 6 17345 826
1-5 1 5734 1826
1-4 3 574 31826
1-3 3 57 431826
1-2 1 7 5431826
75431826
20
Gambar berikut merupakan perancangan Algoritma Fisher Yates:
DEKLARASI
p,r,tmp
DESKRIPSI
for(p=arr.length-l;p>0;p--)
r = Random.Range(0,p);
tmp = arr[p];
arr[p] = arr[r];
arr[r] = tmp;
Gambar 2. 4 Pseudocode Algoritma Fisher Yates.
Berikut merupakan gambar flowchart dari Algoritma Fisher-Yates:
Gambar 2. 5 Flowchart Algoritma Fisher Yates [13].
Mulai
Inisialisasi Range dari 1 Sampai (n)
Pilih Angka Secara Acak dari Range
yang Belum Dipindahkan (K)
Pindahkan (K) ke Posisi Terakhir
Range Array
Pindahkan Angka yang Paling Akhir
dalam Range ke Posisi (K) yang
Dipindahkan Sebelumnya
Cek Apakah Masih Ada
Angka (K) yang Belum
Dipindahkan
Selesai
Ya
Tidak
21
2.1.4 Game
Game berasal dari kata bahasa inggris yang memiliki arti dasar Permainan.
Permainan dalam hal ini merujuk pada pengertian “kelincahan intelektual”
(intellectual playability). Game juga bisa diartikan sebagai arena keputusan dan
aksi pemainnya. Ada target-target yang ingin dicapai pemainnya. Sedangkan
Agustinus Nilwan menjelaskan bahwa game di artikan sebagai suatu aktivitas
tersetruktur atau juga digunakan sebagai alat pembelajaran.
Secara umum teori permainan dapat didefinisikan sebagai sebuah pendekatan
terhadap kemungkinan strategi yang akan dipakai, yang disusun secara matematis
agar bisa diterima secara logis dan rasional. Serta digunakan untuk mencari strategi
terbaik dalam suatu aktivitas, dimana setiap pemain didalamnya sama - sama
mencapai utilitas tertinggi [14].
2.1.5 Pembelajaran
2.1.5.1 Definisi Pembelajaran
Pembelajaran dapat diartikan sebagai proses penciptaan lingkungan yang
memungkinkan terjadinya proses belajar. Pembelajaran merupakan bantuan yang
diberikan pendidik agar dapat terjadi proses pemerolehan ilmu dan pengetahuan,
penguasaan kemahiran dan tabiat, serta pembentukan sikap dan kepercayaan pada
peserta didik. Dengan kata lain, pembelajaran adalah proses untuk membantu
peserta didik agar dapat belajar dengan baik [15].
Dari penjelasan di atas dapat diambil kesimpulan bahwa Pembelajaran adalah
usaha sadar dari guru untuk membuat siswa belajar, yaitu terjadinya perubahan
tingkah laku pada diri siswa yang belajar,
22
dimana perubahan itu dengan didapatkannya kemampuan baru yang berlaku
dalam waktu yang relative lama dan karena adanya usaha [16].
2.1.5.2 Desain Pembelajaran
Pembelajaran sebagai suatu proses kegiatan, dari berbagai sumber secara
umum dapat dikatakan terdiri atas tiga fase atau tahapan. Fase-fase/ tahapan-
tahapan dalam proses pembelajaran yang dimaksud meliputi: tahap pendahuluan,
tahap pelaksanan/kegiatan inti, dan tahap evaluasi. Adapun dari ketiganya ini akan
dibahas sebagaimana berikut [17]:
1. Tahap Pendahuluan
Dalam tahap pendahuluan ini berisi tahapan perencanaan
pembelajaran kedepan yang nantinya akan menjadi pedoman untuk
mencapai hasil apa yang diharapkan dalam akhir pembelajaran dan tentunya
akan dijadikan pedoman dalam proses pengajaran. Kegiatan pembelajaran
yang baik senantiasa berawal dari rencana yang matang. Perencanaan yang
matang akan menunjukkan hasil yang optimal dalam pembelajaran.
Dalam perencanaan ini ada beberapa tahapan yang menjadi strength
point seperti yang dipaparkan oleh Kemp lewat desain pengembangan
pembelajaran PAI dalam model J.E.Kemp yang berpijak pada empat unsur
dasar perencanaan pembelajaran yang merupakan wujud jawaban atas
pertanyaan (1) untuk siapa program itu dirancang? Peserta didik, (2)
kemampuan apa yang ingin anda pelajari? Tujuan, (3) bagaimana isi
pelajaran/ keterampilan yang dapat dipelajari? Metode, (4) bagaimana anda
menentukan tingkat penguasaan terhadap pelajaran yang sudah dicapai?
Evaluasi.
23
2. Tahap Pelaksanaan
Hakikat dari tahap pelaksanaan adalah kegiatan operasional
pembelajaran itu sendiri. Dalam tahap ini, guru melakukan interaksi belajar-
mengajar melalui penerapan berbagai strategi metode dan tekhnik
pembelajaran, pemanfaatan seperangkat media dan tentunya dengan
tambahan pemahaman/ penguasaan teori pendidikan, prinsip mengajar,
teori belajar dan yang lainnya yang relevan untuk proses pembelajaran.
3. Tahap Evaluasi
Evaluasi adalah keseluruhan kegiatan pengukuran (pengumpulan
data dan informasi), pengolahan, penafsiran dan pertimbangan untuk
membuat keputusan tentang tingkat hasil belajar yang dicapai peserta didik
setelah melakukan kegiatan belajar dalam upaya mencapai tujuan
pembelajaran yang telah ditetapkan.
Pada hakekatnya evaluasi merupakan suatu kegiatan untuk
mengukur perubahan perilaku yang telah terjadi untuk dijadikan tolak ukur
perencanaan dan pengembangan pembelajaran kedepannya.
2.1.5.3 Media Pembelajaran
2.1.5.3.1 Pengertian Media Pembelajaran
Kata media merupakan bentuk jamak dari kata medium. Medium dapat
didefinisikan sebagai perantara/pengantar terjadinya komunikasi dari pengirim
menuju penerima. Media merupakan salah satu komponen komunikasi, yaitu
sebagai pembawa pesan dari komunikator menuju komunikan (Criticos, 1996).
Media pembelajaran adalah segala sesuatu yang digunakan untuk menyalurkan
pesan serta dapat merangsang pikiran, perasaan, perhatian, dan kemauan pelajar
24
sehingga dapat mendorong terjadinya proses belajar yang disengaja, bertujuan, dan
terkendali. Berdasarkan definisi tersebut dapat dikatakan bahwa media
pembelajaran merupakan sarana perantara dalam proses [15].
Ciri-ciri umum media pembelajaran:
1. Media pembelajaran memiliki pengertian fisik, dikenal dengan istilah
perangkat keras (hardware), yaitu benda yang dapat dillihat, didengar,
atau diraba dengan panca indera.
2. Media pembelajaran memillik pengertian non-fisik yang dikenal dengan
istilah perangkat lunak (sofware), yaitu kandungan pesan yang terdapat
dalam perangkat keras yang merupakan isi yang akan disampaikan.
3. Penekanan media pembelajaran terdapat pada audio dan visual.
4. Media pembelajaran memiliki pengertian alat bantu pada proses belajar.
5. Media pembelajaran digunakan dalam rangka komunikasi dan interaksi
antara pelajar dan pendidik dalam proses pembelajaran.
6. Media pembelajaran dapat digunakan secara massal atau perorangan
[18].
2.1.5.3.2 Pembelajaran Berbantu Komputer
Pembelajaran berbantu komputer adalah aplikasi komputer sebagai bagian
integral dalam sistem pembelajaran terhadap proses belajar dan mengajar yang
bertujuan membantu siswa dalam belajarnya, bisa melalui pola interkasi dua arah
melalui terminal komputer maupun multi-arah yang diperluas melalui jaringan
komputer (baik lokal maupun global) dan juga diperluas fungsinya melalui
interface (antar muka) multimedia.
25
PBK tepat sebagi media pembelajaran individual, namun PBK masih
memerlukan kehadiran guru. PBK merupakan suatu alat bantu untuk meringankan
beban guru, sehingga guru mempunyai kesempatan untuk lebih memperhatikan
siswa secara individual. Kendati penggunaan komputer dapat meningkatkan
prestasi belajar siswa, namun komputer tidak dapat mengganti peran guru secara
keseluruhan, karena peran guru tidak dapat digantikan oleh media apapun termasuk
komputer [19].
Pembelajaran berbantu komputer terdiri atas komponen-komponen sebagai
berikut:
1. Hardware, yaitu komputer dan piranti pendukungnya.
2. Software, dapat berupa sistem operasi atau modul program komputer untuk
mempresentasikan materi perangkat ajar.
3. Brainware, yaitu pembuat sistem, pengajar, atau siswa [19].
Kelebihan komputer sebagai media pembelajaran:
1. Meningkatkan perhatian dan konsentrasi siswa.
2. Meningkatkan motivasi siswa.
3. Menyesuaikan materi dengan kemampuan siswa.
4. Mereduksi penggunaan waktu penyampaian materi.
5. Membuat pengalaman belajar lebih menyenangkan, memuaskan, dan
menguatkan siswa.
6. Dapat menggunakan fasilitas penyimpanan untuk mengetahui kemajuan
belajar siswa.
7. Materi dapat didesain lebih menarik.
26
8. Dapat mendorong guru untuk meningkatkan pengetahuan dan kemampuan
mengenai komputer [19].
Pada sisi lain, PBK juga memiliki kekurangan, antara lain:
1. Dikembangkan dalam dialog terbatas sehingga tidak dapat menjawab semua
permasalahan siswa.
2. Tidak dapat melihat teknik siswa dalam menjawab soal.
3. Pengembangan PBK memerlukan waktu, biaya, dan tenaga yang tidak
sedikit.
4. Pada kasus khusus, PBK hanya dapat dijalankan pada spesifikasi komputer
tertentu.
5. Kecepatan perkembangan teknologi komputer memerlukan upgrade yang
terus-menerus.
6. Komputer tidak dapat meniru tingkah laku guru, misalnya senyuman, raut
muka, gerakan tangan dan badan, serta tidak dapat menggantikan ikatan
batin antara siswa dan guru [19].
2.1.6 Pembelajaran Agama Islam
Pembelajaran menurut Oemar Hamalik: “sebagai suatu kombinasi yang
tersusun, meliputi unsur-unsur manusiawi, fasilitas, perlengkapan dan prosedur
yang saling mempengaruhi untuk mencapai tujuan pembelajaran” [20]. Adapun
pembelajaran Pendidikan Agama Islam (PAI) menurut Muhaimin adalah “suatu
upaya membuat peserta didik dapat belajar, butuh belajar, terdorong belajar, mau
belajar dan tertarik untuk terus-menerus mempelajari agama Islam, baik untuk
mengetahui bagaimana cara beragama yang benar maupun mempelajari Islam
sebagai pengetahuan” [21].
27
Dengan demikian pembelajaran PAI dapat diartikan sebagai upaya membuat
peserta didik dapat belajar, terdorong belajar, mau belajar dan tertarik untuk terus
menerus mempelajari apa yang teraktualisasikan dalam kurikulum agama Islam
sebagai kebutuhan peserta didik secara menyeluruh yang mengakibatkan beberapa
perubahan yang relatif tetap dalam tingkah laku seseorang baik dalam kognitif,
efektif dan psikomotorik.
Pemaknaan pembelajaran pendidikan agama Islam merupakan bimbingan
menjadi muslim yang tangguh dan mampu merealisasikan ajaran Pendidikan
Agama Islam dalam kehidupan sehari-hari sehingga menjadi insan kamil. Untuk itu
penanaman Pembelajaran PAI sangat penting dalam membentuk dan mendasari
peserta didik. Dengan penanaman pembelajaran PAI sejak dini diharapkan mampu
membentuk pribadi yang kokoh, kuat dan mandiri untuk berpedoman pada agama
Islam [22].
2.1.7 Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux
yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan
platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka
[23].
Secara garis besar Arsitektur Android dapat di jelaskan dan di gambarkan
sebagai berikut:
1. Application dan Widgets
2. Application framework
3. Libraries
28
4. Android Run Time
5. Linux Kernel
Pada gambar 2.6 menunjukkan arsitektur android.
Gambar 2. 6 Arsitektur Android [23].
2.1.8 Web Framework
Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai
kumpulan script (terutama class dan function) yang dapat membantu
developer/programmer dalam menangani berbagai masalah-masalah dalam
pemrograman seperti koneksi ke Database, pemanggilan variabel, file, dan lain-
lain sehingga developer lebih fokus dan lebih cepat membangun aplikasi. Bisa juga
dikatakan framework adalah komponen pemrorgaman yang siap re-use kapan saja,
sehingga programmer tidak harus membuat skrip yang sama untuk tugas yang sama
[24].
Framework menggunakan konsep yangsama dalam membangun suatu aplikasi,
yaitu konsep MVC (Model View Controller). Konsep MVC adalah konsep
pemisahan antara logic dengan tampilan dan Database. Manfaat konsep ini adalah,
membuat coding logic lebih simple, karena sudah di pisah dengan code untuk
29
tampilan dan membuat programmer dapat bekerja secara terpisah dengan designer.
Programmer mengerjakan logic, sedangkan designer berkutat dengan design dan
tampilan. Berikut adalah penjelasan mengenai konsep MVC,
a. Model, merupakan code struktur data. Model berisi fungsi di dalam
pengolahan Database Script Sql masuk di sini.
b. View, merupakan code untuk menampilkan tampilan suta program.
Tampilan dapat berupa web page, header, footer dan apa saja yang berjenis
tampilan.
c. Controller , merupakan code untuk logic, algoritma dan sebagai
penghubung antara model, view, dan sumber lain yang di perlukan untuk
mengolah HTTP request dan generate web page.
CodeIgniter menerapkan pola MVC yang flexible, karena model dapat tidak
digunakan. Kita dapat menggunakan Controller dan View saja dalam menggunakan
CodeIgniter tanpa Model. Jika anda tidak memerlukan pemisahan di dalam struktur
data dan Database atau menganggap penggunaan model hanya menambah
kompleks aplikasi dengan keuntungan yang kurang sebanding, maka anda dapat
tidak menggunakan model.
CodeIgniter merupakan aplikasi sumber terbuka yang berupa framework PHP
dengan model MVC (Model, View, Controller) untuk membangun website dinamis
dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat
aplikasi web dengan cepat mudah dibandingkan dengan membuatnya dari awal.
CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir adalah
versi 2.2.0. Kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP
lain, adalah sebagai berikut:
30
a. Performa sangat cepat : salah satu alasan tidak menggunakan framework
adalah karena eksekusinya yang lebih lambat daripada PHP from the
scracth, tapi CodeIgniter sangat cepat bahkan mungkin bisa dibilang
codeIgniter merupakan framework yang paling cepat dibanding framework
yang lain.
b. Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja
untuk menyesuaikan dengan Database dan keleluasaan routing tetap
diizinkan melakukan konfigurasi dengan mengubah beberapa file
konfigurasi seperti Database.php atau autoload.php, namun untuk
menggunakan codeIgniter dengan setting standard, anda hanya perlu
mengubah sedikit saja file pada folder config.
c. Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita
untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi
terbaru.
d. Dokumentasi yang sangat lengkap : Setiap paket instalasi CodeIgniter sudah
disertai user guide yang sangat bagus dan lengkap untuk dijadikan
permulaan, bahasanya pun mudah dipahami.
2.1.9 Teknik Pengujian
2.1.9.1 Black-box Testing
Black-box Testing berfokus pada persyaratan fungsional perangkat lunak.
Artinya black-box testing memungkinkan untuk membuat kumpula kondisi
masukkan yang sepenuhnya akan melakukan semua kebutuhan fungsional untuk
program. Black-box testing bukan teknik alternatif untuk white-box. Sebaliknya, ini
31
merupakan pendekatan pelengkap yang mungkin dilakukan untuk mengungkap
kelas kesalahan yang berbeda dari yang diungkap oleh metode white-box.
Black-box testing berupaya untuk menemukan kesalahan dalam kategori
berikut [25]:
1. Fungsi yang salah atau hilang.
2. Kesalahan antar muka.
3. Kesalahan dalam struktur data atau akses basis data eksternal.
4. Kesalahan prilaku atau kinerja.
5. Kesalahan inisialisasi dan penghentian.
2.2 Tinjauan Pustaka
2.2.1 The State of The Art
Berikut ini adalah hasil penelitian sebelumnya digunakan untuk dapat dijadikan
bahan pertimbangan dan diharapkan dapat membantu dalam pembuatan sistem
yang baru.
Sefyan Daru, membahas mengenai pembuatan sebuah game kuis yang
bertujuan membantu masyarakat untuk dapat menambah pengetahuan mengenai
kebudayaan dan sejarah pada suatu daerah. Dengan menerapkan sistem scoring
yang terintegrasi secara online, dapat membuat game lebih menarik dan populer.
Pada game kuis tersebut, user akan bersaing dengan user lain untuk mendapatkan
skor tertinggi. Penelitian ini bertema game enslikopedia Indonesia dengan judul
“Implementasi Rest Web Service Pada Game Kuis “Ensiklopedia Indonesia”
Berbasis Android”. Sefyan Daru menerapkan REST Web Services untuk
mengintegrasikan skor dan mendistribusikan soal dari server ke client. Dengan
32
diterapkannya REST Web Services, data skor dan pertanyaan diletakkan pada
server, sehingga dapat diakses secara online oleh client dengan menggunakan
mobile Android. Dari hasil penelitian yang dilakukan REST Web Services membuat
pertukaran data antara server dengan client lebih cepat dan efisien [26].
Imam Haditama, membahas mengenai pembuatan sebuah game kuis tebak
nada sunda berbasis perangkat android yang bertujuan dapat menjadi media
pembelajaran mengenai titi laras atau tangga nada sunda pada beberapa jenis alat
musik karawitan yang merupakan alat musik tradsisional Indonesia dari daerah
Jawa Barat. Penelitian ini bertema game kuis tebak nada sunda dengan judul
“Implementasi Algoritma Fisher-Yates Dan Fuzzy Tsukamoto Dalam Game
Kuis Tebak Nada Sunda Berbasis Android”. Imam Haditama menerapkan
Algoritma Fisher-Yates pada game kuis untuk memberikan teknik pengacakan pada
soal sehingga soal yang keluar akan berbeda dan bisa dihasilkan tanpa pengulangan
dan duplikasi. Pada tahapan akhir terdapat skor untuk penilaian apakah user dapat
menghasilkan skor tertinggi atau tidak, pada proses ini menggunakan algoritma
Fuzzy. Dari hasil penelitian, game kuis “Tebak Nada Sunda” dapat dinyatakan
menarik berdasarkan hasil kuesioner yang diambil dari 40 responden secara acak
sebesar 77.75% dan aplikasi ini dinyatakan userfriendly/ mudah digunakan dengan
hasil kuesioner sebesar 82.25%, dan Algoritma Fisher-Yates Shuffle dapat di
terapkan dalam kuis ini untuk menentukan solusi pengacakan yang tidak berganda
dan pengacakan objek yang variatif berdasarkan hasil pengujian sebanyak 50x
percobaan [6].
33
Miftah Farid Adiwisastra membahas mengenai perancangan sebuah game
kuis interaktif pembelajaran dengan model Drill and Practice untuk siswa yang
bertujuan untuk meningkatkan hasil belajar siswa. Penelitian ini bertema game kuis
interaktif dengan judul “Perancangan Game Kuis Interaktif Sebagai
Multimedia Pembelajaran Drill And Practice Untuk Meningkatkan Hasil
Belajar Siswa”. Miftah Farid Adiwisastra menggunakan Metode penelitian dan
pengembangan atau Research and Development (R&D) dalam penelitian ini.
Metodologi pengembangan yang digunakan adalah metodologi yang diadaptasi dari
metodologi pengembangan multimedia Mardika dan Munir, yang meliputi lima
tahapan yakni tahap analisis, tahap desain, tahap pengembangan, tahap
implementasi dan tahap penilaian. Miftah Farid juga menerapkan model
pembelajaran drill and practice (berlatih dan praktek), dimana penyajian masalah
dalam bentuk latihan soal yang di kemas dalam bentuk permainan kuis dengan
menjawab soal yang diajukan dengan jawaban pilhan ganda sehingga memiliki nilai
pembelajaran yaitu pengetahuan yang dibutuhkan untuk menjawab soal-soal yang
disajikan, memiliki sifat untuk memotivasi, mempunyai struktur dan adanya
ketertarikan pancaindera dengan digunakannya gambar, animasi, dan suara. Dari
penelitian, penggunaan multimedia pembelajaran model drill and practice dengan
game kuis interaktif dapat meningkatkan hasil belajar siswa. dan berdasarkan hasil
kuisioner hampir seluruh siswa memberikan respon positif mengenai pembelajaran
yang menggunakan multimedia pembelajaran model drill and practice, dalam
konteks dapat membawa manfaat, menarik, dan bisa meningkatkan hasil belajar
siswa [27].
34
Reti Yuliana Setyaningsih membahas mengenai pembuatan sebuah game
pembelajaran matematika yang bertujuan membantu murid SD mengenal operasi
matematika, memberikan kemudahan kepada murid SD untuk belajar matematika.
dan mendapat hiburan serta manfaat dari permainan ini.
Penelitian ini bertema game pembelajaran dengan judul “Game
Matematika Untuk Pembelajaran Murid SD”. Reti Yuliana Setyaningsih
menerapkan model aplikasi multimedia berbasis desktop. Game Matematika ini
dirancang hanya untuk murid kelas 1,2 dan 3, sehingga dibuat semudah mungkin
untuk user memainkan, dengan mengisi jawaban dengan keyboard atau klik mouse,
dari kuesioner yang disebar rata – rata siswa dapat menyelesaikan semua soal pada
level 1 – 6 menghabiskan waktu antara 60 detik keatas untuk soal perkalian, berbeda
lagi waktu yang dihabiskan untuk menjawab semua soal pada pemfaktoran user
lebih banyak antara 130 detik keatas, dan untuk yang pembagian user
menghabiskan waktu 80 detik ke atas [28].
Ukan Saokani membahas mengenai perancangan aplikasi untuk
pembelajaran ilmu nahwu yang berjuan sebagai media hiburan juga sebagai media
pembelajaran dan pelatihan daya ingat untuk pengguna permainan (user).
Penelitian ini bertema game pembelajaran dengan judul “Analisis Perbandingan
Algoritma Fisher Yates Shuffle Dan Linear Congruent Method Untuk
Pengacakan Soal Ilmu Nahwu Berbasis Android”. Ukan Saokani menerapkan
algoritma Fisher Yates Shuffle yang digunakan untuk melakukan fungsi pengacakan
pada pilihan ganda dan algoritma Linear Congruent Method (LCM) sebagai
pembandingnya. Pengujian white box dan black box diterapkan untuk melihat
35
kelayakan dari program serta memperoleh efisiensi dalam perbandingan metode
pengacakan [5]. Untuk lebih jelasnya disajikan pada Tabel 2.3, sebagai berikut:
Tabel 2. 3 Tabel State Of The Art.
36
No Peneliti Judul Masalah Solusi Evaluasi Kritik
1 Sefryan Daru,
Ajib Susanto
(2013)
Implementasi
Rest Web
Service Pada
Game Kuis
“Ensiklopedia
Indonesia”
Berbasis
Android
Masih kurangnya
kebudayaan daerah
yang dikenal oleh
masyarakat luas
Membuat media
berupa game kuis
dengan tema
ensiklopedia
Indonesia sebagai
media penyebar
informasi mengenai
kebudayaan daerah
yang ada di Indonesia,
dengan menerapkan
konsep REST Web
Service pada game
kuis tersebut.
Dengan diterapkannya media berupa
game kuis ensiklopedia Indonesia
tersebut, cukup signifikan untuk
menangani masalah mengenai
kurangnya kebudayaan daerah yang
dikenal oleh masyarakat luas, karena
dengan menyediakan media game
kuis ini masyarakat dapat bermain
sambil belajar mengenal kebudayaan
daerah dengan cara menyelesaikan
pertanyaan – pertanyaan yang ada.
Pada penelitian ini,
letak fokus penelitian
terdapat pada
pembuatan game kuis
ensiklopedia, padahal
seharusnya pada
penelitian ini juga dapat
diterapkan menu untuk
informasi berupa
materi-materi yang bisa
dibaca oleh user
mengenai kebudayan-
kebudayan yang ada di
Indonesia.
2 Imam
Haditama,
dkk.
(2016)
Implementasi
Algoritma
Fisher-Yates
Dan Fuzzy
Tsukamoto
Dalam Game
Kuis Tebak
Nada Sunda
Berbasis
Android
Warisan budaya
Indonesia yang
ditinggalakan, salah
satunya yaitu titi
laras atau tangga
nada sunda yang
digunakan pada jenis
alat musik karawitan
(gamelan) yang
merupakan salah
satu seni kebudayaan
Jawa Barat
Membuat media
berupa game kuis
dengan tema tebak
nada sunda sebagai
media untuk dapat
melestarikan budaya
sunda, dengan
menerapkan algoritma
Fisher Yates dan
Fuzzy Tsukamoto
pada game kuis
tersebut.
Dengan diterapkannya media berupa
game kuis tersebut, cukup signifikan
untuk menangani masalah mengenai
banyaknya warisan budaya Indonesia
yang ditinggalkan, dan pada aplikasi
kuis “Tebak Nada Sunda” dapat
dinyatakan menarik berdasarkan hasil
kuesioner yang diambil dari 40
responden secara acak sebesar 77.75%
dan aplikasi ini dinyatakan
userfriendly/ mudah digunakan dengan
hasil kuesioner sebesar 82.25%.
Pada penelitian ini,
penggunaan database pada
aplikasi sebagai
penyimpanan data masih
bersifat lokal, artinya konten
aplikasi bersifat statis
sehingga konten yang
terdapat di dalam aplikasi
tidak bisa dikelola lebih
lanjut.
37
Tabel 2.3 Tabel State Of The Art (Lanjutan).
No Peneliti Judul Masalah Solusi Evaluasi Kritik
3 Miftah Farid
Adiwisastra
(2015)
Perancangan
Game Kuis
Interaktif
Sebagai
Multimedia
Pembelajaran
Drill And
Practice
Untuk
Meningkatkan
Hasil Belajar
Siswa
Masalah dari
penelitian ini
adaalah fokus pada
bagaimana cara
untuk meningkatkan
hasil belajar siswa.
Membangun aplikasi
game berbasis
multimedia
pembelajaran
menggunakan model
drill and practice.
Dengan diterapkannya aplikasi
berupa game berbasis multimedia
pembelajaran dengan menggunakan
model drill and practice pada siswa ,
berdasarkan hasil quesioner, siswa
memberikan penilaian sangat baik
terhadap multimedia pembelajaran
game kuis interaktif dengan
persentase penilaian sebesar
91.979%, dan mengalami
peningkatan hasil belajar.
Pada penelitian ini,
seharusnya dapat
diterapkan menu untuk
informasi berupa
materi-materi yang bisa
dibaca oleh siswa
artinya tidak hanya
menyediakan
pertanyaan saja.
Dan pada penelitian ini
penggunaan konsep
client-server secara
lokal, sehingga aplikasi
hanya dapat dipakai
ketika jam
pelajaran/jam sekolah
dilaksanakan. Serta
pada penelitian masih
berbasis desktop
sehingga hanya dapat
digunakan pada
perangkat komputer.
38
Tabel 2.3 Tabel State Of The Art (Lanjutan).
No Peneliti Judul Masalah Solusi Evaluasi Kritik
4 Reti Yuliana
Setyaningsih,
dkk.
(2009)
Game
Matematika
Untuk
Pembelajaran
Murid SD
Kurangnya minat
siswa terhadap
konsep pembelajaran
matematika secara
manual, yang
bersifat
membosankan bagi
anak- anak karena
desain yang kurang
menarik dan
interaktif.
Dibuat suatu aplikasi
yang mempunyai
tampilan
menarik dan interaktif
sesuai dengan dunia
anak – anak sehingga
dapat menambah
minat belajar dan
memudahkan
murid sekolah SD
untuk belajar
matematika.
Dengan diterapkannya aplikasi
berupa game berbasis multimedia
pembelajaran yang mempunyai
tampilan
menarik dan interaktif sesuai dengan
dunia anak – anak, memang dapat
menambah minat siswa untuk belajar
matematika, ini dibuktikan dengan
kuesioner yang disebar rata - rata
siswa dapat menyelesaikan semua
soal pada level 1 – 6 menghabiskan
waktu antara 60 detik keatas
untuk soal perkalian, berbeda lagi
waktu yang dihabiskan untuk
menjawab semua soal pada
pemfaktoran user lebih banyak
antara 130 detik ke atas, dan untuk
yang pembagian user
menghabiskan waktu 80 detik ke
atas.
Pada penelitian ini data
yang ada pada database
bersifat statis, artinya
data tidak dapat diubah
ataupun ditambah.
Sehingga soal-soal yang
ada pada aplikasi
besifat terbatas. Serta
pada penelitian masih
berbasis desktop
sehingga hanya dapat
digunakan pada
perangkat komputer.
39
Tabel 2.3 Tabel State Of The Art (Lanjutan).
No Peneliti Judul Masalah Solusi Evaluasi Kritik
5 Ukan Saokani
(2016)
Analisis
Perbandingan
Algoritma
Fisher Yates
Shuffle Dan
Linear
Congruent
Method
Untuk
Pengacakan
Soal Ilmu
Nahwu
Berbasis
Android.
Masih sedikit orang
yang dapat
memahami Ilmu
Nahwu, walaupun
dewasa ini banyak
orang yang
mempelajarinya.
Dan masalah
pemilihan algoritma
pada fungsi
pengacakan pada
soal.
Membuat media
berupa aplikasi kuis,
dengan materi Ilmu
Nahwu, dalam hal
latihan soal terutama
soal yang berbentuk
multiple choice (pilihan
ganda), perlu ada
sebuah fungsi
pengacakan soal.
Dengan menerapkan
algoritma Fisher
Yates dan
Linear Congruent
Method pada aplikasi
kuis tersebut.
Dengan diterapkannya media berupa
aplikasi kuis ilmu nahwu, cukup
signifikan untuk membantu banyak
orang dalam mempelajari ilmu
nahwu, karena pada aplikasi tersebut
terdapat materi sebagai program inti
dan kuis sebagai evaluasi dari hasil
pembelajaran materi, dan fungsi
pengacakan dengan menggunakan
algoritma Fisher Yates Shuffle Dan
Linear Congruent Method dengan
pada tersebut dapat diterapkan dan
berfungsi dengan baik.
Pada penelitian ini,
penggunaan database
pada aplikasi sebagai
penyimpanan data
masih bersifat lokal,
artinya konten aplikasi
bersifat statis sehingga
konten yang terdapat di
dalam aplikasi tidak
bisa dikelola lebih
lanjut.
40
Berikut merupakan tabel yang membahas mengenai perbandingan
penelitian yang dijadikan sebagai state of the art pada tabel 2.4.
Tabel 2. 4 Tabel perbandingan state of the art.
Sefryan
Daru,
Ajib
Susanto.
(2013)
Imam
Haditama,
dkk.
(2016)
Miftah
Farid. A
(2015)
Reti YS,
dkk.
(2009)
Ukan
Saokani.
(2016)
Posisi
Peneliti
Algoritma
Fisher-
Yates
Algoritma
LCG
Web
Services
REST
Berbasis
Android
Berbasis
Desktop
Secara keseluruhan media pembelajaran berbasis game kuis ini dilihat dari
hasil penelitian-penelitian yang sudah dibahas sebelumnya, dimana hasil dari
penelitian-penelitian sebelumnya mengatakan game kuis pembelajaran ini dapat
meningkatkan hasil belajar siswa. dan berdasarkan hasil kuisioner hampir seluruh
siswa memberikan respon positif mengenai pembelajaran yang menggunakan
multimedia pembelajaran, dalam konteks dapat membawa manfaat, menarik, dan
bisa meningkatkan hasil belajar siswa. Sehingga dengan adanya nilai edukatif pada
game, user/pemain tidak hanya mendapatkan nilai hiburan saja, tetapi juga bisa
mendapatkan nilai edukasi/pembelajaran dari game tersebut namun pada
41
penelitian-penelitian yang telah dibahas, terdapat beberapa kekurangan
diantantranya tidak diterapkan sebuah algoritma di dalamnya.
Selanjutnya data yang ada pada database bersifat statis, artinya data tidak
dapat diubah ataupun ditambah, sehingga soal-soal yang ada pada aplikasi besifat
terbatas. ada juga yang menggunakan konsep client-server secara lokal, sehingga
aplikasi hanya dapat dipakai ketika jam-jam tertentu. Maka dari itu perlu adanya
kontribusi penelitian baru yang dapat memperharui penelitian yang sudah ada serta
menutupi setiap kekurangan yang ada pada penelitian sebelumnya, untuk menjawab
semua itu saya mengajukan sebuah penelitian yang berjudul Penerapan
Representational State Transfer (REST) Web Service Pada Game Kuis
Pembelajaran Agama Islam Menggunakan Algoritma Fisher-Yates Shuffle.
42
BAB III
ANALISIS DAN PERANCANGAN
Perancangan aplikasi yang dibuat dalam tugas akhir ini menggunakan RUP
(Rational Unified Process). Metode ini memiliki tahapan seperti yang telah ditulis
pada BAB I, yaitu Inception (Permulaan) dan Elaboration (Perluasan/Perencanaan)
akan dibahas dalam BAB III ini. Sedangkan Construction (Konstruksi) dan
Transition (Transisi) akan dilanjutkan di BAB IV.
3.1 Inception (Permulaan)
Tahap yang merupakan langkah awal untuk pengindetifikasian kebutuhan-
kebutuhan sistem yang akan dibuat. Hal-hal yang dilakukan dalam tahap ini adalah
business modelling workflow dan requirement workflow yaitu menganalisis,
merumuskan dan menentukan perencanaan.
3.2 Analisis Masalah
Game adalah salah satu media hiburan yang sangat popular dikalangan
masyarakat, baik untuk menghilangkan kejenuhan atau hanya untuk mengisi waktu
luang. Namun dewasa ini banyak game yang masih menonjolkan nilai hiburan saja
tanpa adanya nilai edukasi atau pembelajaran di dalamnya, tentunya hal ini dapat
berdampak negatif apabila yang dimainkan adalah game yang tidak bersifat
edukasional.
Disisi lain pendidikan agama, merupakan pendidikan yang sangat penting,
karena agama merupakan sumber moral, dan agama juga menjadi benteng dari
sikap atau perilaku manusia.
43
Sebagaimana penjelasan di atas, maka solusi atau pemecahan masalah yang
ada adalah dengan membuat suatu aplikasi game yang mempunyai nilai edukatif,
agar user atau pemain tidak hanya mendapatkan nilai hiburan saja, tetapi juga bisa
mendapatkan nilai edukasi atau pengetahuan dari game tersebut, dimana game
tersebut mempunyai misi utama untuk menambah pengetahuan mengenai
pendidikan agama islam, karena pendidikan agama islam merupakan pendidikan
yang sangat penting bagi seluruh umat islam karena agama merupakan sumber
moral, dan agama juga menjadi benteng dari sikap atau perilaku manusia.
Sehingga dengan game kuis pembelajaran agama islam ini, user/pemain tidak
hanya mendapatkan hiburan saja, tetapi diharapkan akan mendapatkan nilai-nilai
pengetahuan agama islam di dalamnya sehingga kemudian bisa menjadi
pengetahuan baru dan bisa diterapkan pada kehidupan sehari-hari.
3.3 Analisis Sistem
Sebelum melakukan penerapan REST Web services dan penerapan Algoritma
Fisher Yates Shuffle pada sistem yang akan dikembangkan, maka perlu adanya
sebuah tahapan analisis sistem. Tahapan ini dibutuhkan untuk mengetahui berbagai
kebutuhan pengguna, yaitu mengenai masukan dan keluaran yang dibutuhkan.
Dengan analisis yang baik diharapkan aplikasi yang dibuat dapat berjalan dengan
baik pula dan sesuai dengan harapan.
3.3.1 Gambaran Umum Sistem
Penerapan Representational State Transfer (REST) pada media pembelajaran
kuis game islami ini digunakan sebagai konsep arsitektur client-server
menggunakan web service, dimana aplikasi client akan berinteraksi atau memanggil
44
API yang ada di server dengan menggunakan HTTP_REQUEST dengan berbagai
metode di dalamnya. Begitu pula pada sisi server akan memberikan balikan dengan
menggunakan HTTP_RESPONSE yang dalam aplikasi akan diimplementasikan
berupa response file berformat json. Artinya secara sederhana materi dan soal akan
diupload lalu ditempatkan pada server dan akan direquest oleh client menggunakan
perangkat android. Selanjutnya penerapan Algoritma Fisher Yates Shuffle pada
kuis game islami ini digunakan sebagai metode pengacakan soal, sehingga soal-
soal yang muncul tidak beruntun dan tidak mudah ditebak oleh pemain.
Kuis pembelajaran agama Islam merupakan sebuah aplikasi permainan yang
dapat dimainkan oleh kalangan umum. Tujuan dari pembangunan aplikasi ini selain
sebagai media hiburan juga sebagai media pembelajaran dan pelatihan daya ingat
untuk pengguna permainan (user). Aturan permainan ini mudah, dalam menu
latihan soal, terdapat soal – soal dengan 4 pilihan ganda. Pengguna cukup memilih
salah satu pilihan ganda tersebut yang pengguna anggap benar/cocok dengan soal
yang ada. Dalam satu kali game, terdapat 25 pertanyaan. Setelah pemain menjawab
semua pertanyaan tersebut, maka aplikasi akan langsung menampilkan skor.
3.3.2 Fungsi Utama Sistem
Sesuai dengan penjelasan-penjelasan sebelumnya fungsi utama dari sistem ini
terbagi menjadi dua, yang pertama yaitu fungsi REST Web Services yang terbagi
menjadi dua yaitu REST Client dan REST Server, REST Server sebagai tempat
penyimpanan data serta tempat dimana pemain dapat meminta data dengan
menggunakan metode HTTP_REQUEST, dan REST Client (Android) sebagai
tempat pemain berinteraksi dengan aplikasi game kuis Islam yang didalamnya tetap
berhubungan dengan sistem server.
45
Selanjutnya fungsi yang kedua yaitu fungsi pengacakan yang terdapat pada
soal, dimana pengacakannya menggunakan Algoritma Fisher Yates Shuffle,
pengacakan pada soal ini bertujuan agar soal-soal yang muncul tidak beruntun dan
tidak mudah ditebak oleh pemain.
3.3.3 Arsitektur Sistem
Arsitektur sistem adalah suatu penggambaran berjalannya suatu sistem, pada
gambar 3.1 digambarkan bahwa aplikasi mengirimkan sebuah request berupa JSON
ke web server, selanjutnya web server mengeksekusi query untuk mengakses
database. Setelah proses selesai, web server akan mengirimkan data/response hasil
request kepada aplikasi.
Gambar 3. 1 Arsitektur sistem.
3.3.4 Arsitektur Aplikasi
Arsitektur aplikasi adalah suatu penggambaran berjalannya suatu aplikasi, pada
gambar 3.2 digambarkan bahwa input pada aplikasi client yaitu mengirimkan
sebuah HTTP request, yang kemudian URI didefinisikan sebagai alamat atau lokasi
dari resource pada server, dan penggunaan GET sebagai method dari HTTP sebagai
proses request ke server selanjutnya web server mengeksekusi query untuk
46
mengakses database. Setelah proses selesai, web server akan mengirimkan
data/response hasil request kepada aplikasi berupa materi, soal dan jawaban.
Gambar 3. 2 Arsitektur sistem.
3.4 Analisis Kebutuhan Sistem
Analisis kebutuhan sistem bertujuan untuk mengidentifikasi permasalahan
permasalahan yang ada pada aplikasi yang meliputi, perangkat keras (hardware),
perangkat lunak (software), pengguna (user) serta kebutuhan data dari sistem yang
dibuat. Analisis ini diperlukan sebagai dasar bagi tahapan perancangan sistem.
Analisis ini meliputi analisis data, spesifikasi perangkat keras, spesifikasi perangkat
lunak, spesifikasi pengguna/user, dan kebutuhan data.
3.4.1 Spesifikasi Perangkat Keras
Berikut spesifikasi standar minimal perangkat keras yang dapat digunakan
untuk membangun aplikasi ini dan spesifikasi minimal perangkat keras yang dapat
digunakan untuk menjalankan aplikasi ini, yaitu yang terlihat pada tabel 3.1 berikut:
47
Tabel 3. 1 Spesifikasi Perangkat Keras
3.4.2 Spesifikasi Perangkat Lunak
Perangkat lunak digunakan dalam sebuah sistem merupakan kumpulan
perintah - perintah yang diberikan kepada perangkat keras agar saling berinteraksi
untuk melakukan suatu tugas.
Minimal perangkat lunak yang digunakan untuk membangun aplikasi ini
adalah sebagai berikut:
a. Sistem operasi Windows 7
b. JDK (Java Development Kit) versi 1.8.0_60, SDK (Software Developmenet
Kit) untuk Windows.
c. Android Studio Versi 2.2
d. Balsamiq Mockups
e. Sublime Text 3
f. Google Chrome
g. XAMPP Versi 3.2.2
No Perangakat
Keras
Spesifikasi
Perangkat Keras
Pembangun
(Komputer)
Spesifikasi
Perangkat
Keras Admin
(Komputer)
Spesifikasi
Perangkat Keras
Pengguna
(Android)
1 Prosesor Prosesor 2,4 GHz Prosesor 1,2
GHz
600 MHz
2 Resolusi
layar
1366 x 768 pixel 1366 x 768
pixel
480 x 600 pixel
3 Memori 4 Gb 1 Gb 128 MB RAM
48
3.4.3 Spesifikasi Pengguna
Spesifikasi pengguna sistem dimaksudkan untuk mengetahui siapa saja aktor
yang terlibat dalam menjalankan sistem. Aplikasi ini menggunakan platform Web
dan platform teknologi Android. Terdapat dua pengguna sistem, yang pertama
adalah admin sebagai pengelola konten aplikasi dan yang kedua yaitu para
pengguna smartphone dengan platform android minimum versi 2.3 atau lebih
tinggi. Berikut ini karakteristik pengguna sistem yang ditunjukkan oleh tabel 3.2:
Tabel 3. 2 Spesifikasi Pengguna
Pengguna Hak Akses Pengalaman
Admin Mengakses aplikasi pada
platform web pengguna
dapat melihat dan
mengelola.
Mengerti konsep REST Web
Services,
Dapat mengoprasikan perintah
CRUD.
User Mengakses aplikasi pada
platform android pengguna
dapat melihat dan
menggunakan.
Tidak dibutuhkan pengalaman
karena aplikasi ini mudah untuk
digunakan.
3.4.4 Analisis Kebutuhan Data
Setelah melakukan analisis kebutuhan sistem, selanjutnya adalah melakukan
analisis kebutuhan data. Analisis ini bertujuan untuk memudahkan dalam
perancangan informasi. Adapun analisis kebutuhan data yang diperlukan antara lain
adalah data materi-materi tentang pembelajaran islam yaitu Fiqih, Akidah dan
Akhlak, Al-Qur’an dan Hadis serta Sejarah Kebudayaan Islam. Semua data itu
diperoleh dari beberapa sumber, yakni buku LKS Madrasah Aliyah kelas X, XI dan
XII dari penerbit.
49
3.5 Analisis Arsitektur REST Web Services
3.5.1 Analisis REST
Dalam suatu proses permintaan data soal dan materi dari server ke client
(Android), dibutuhkan suatu arsitektur untuk melakukan sebuah aksi guna
menghubungkan aplikasi android dengan database yang ada di server. Berikut
tahapannya:
a. User/pemain memilih salah satu menu/class yang tersedia (kategori materi
atau soal). Pada setiap class sudah ditetapkan sebuah method dan sebuah
url. Method yang dimaksud adalah method get yaitu salah satu method
yang terdapat pada pemrograman PHP. Setelah itu berarti sudah terdapat
parameter yang dibutuhkan untuk menjalankan ke class API. Class ini
berfungsi menghubungi code PHP yang akan melakukan koneksi ke
database.
b. Setelah mempunyai sebuah parameter yang dibutuhkan, maka url tadi
akan digunakan sebagai alamat tujuan (dalam kasus ini ke file php)
sedangkan method digunakan untuk menjadi pilihan aksi get yang
dilakukan oleh fungsi tersebut. Metode get akan digunakan untuk
mengambil data dari server contohnya pada kasus ketika user/pemain akan
melihat materi ataupun soal kuis yang terdapat di server.
c. Setelah itu, pada file php akan dijalankan query-query dengan mengolah
nilai (value) yang telah dikirim oleh user melalui device android.
d. Setelah proses tersebut selesai, maka dari file php, dalam hal ini web server
ijn akan membalikan sebuah hasil yang dinamakan response.
50
3.5.2 Dokumentasi API
Pada dokumentasi API ini, diperlihatkan sebuah tampilan JSON mengenai data
materi dan soal kuis yang terdapat pada server.
Method : GET
Gambar di bawah ini merupakan gambar dari dokumentasi API pada method get
(menampilkan response dari server).
Pada gambar 3.3 merupakan screenshot dokumentasi API dari soal yang terdapat
pada server:
Gambar 3. 3 Dokumentasi API kuis.
Pada gambar 3.4 merupakan screenshot dokumentasi API dari materi yang
terdapat pada server:
51
Gambar 3. 4 Dokumentasi API materi.
3.5.3 Flowchart Arsitektur REST Web Services pada Aplikasi
Gambar 3.5 merupakan penggambaran alur proses untuk melakukan
pertukaran data, dimulai dengan user/pemain melakukan request. Lalu request di
pasring untuk mendapatkan alamat url. Setelah alamat ditemukan maka selanjutnya
mencocokan parameter dengan variabel yang ada dalam file php. Jika parameter
cocok maka fungsi yang ada di dalam file php dijalankan dan mengembalikan
sebuah response sebagai hasil dari proses dan client menerima response.
52
Gambar 3. 5 Flowchart Arsitektur REST pada aplikasi.
3.6 Analisis Algoritma Fisher Yates Shuffle
Metode pengacakan yang baik sangatlah penting pada pengembangan suatu
aplikasi. Banyak metode pengacakan yang dapat dipakai tanpa terkecuali metode
Fisher-Yates Shuffle atau biasa dikenal dengan Algoritme Fisher-Yates. Kelebihan
Algoritme Fisher-Yates adalah efektifitas dari metode pengacakannya serta
kompleksitas algoritmenya yang optimal yaitu O (n).
Fisher Yates merupakan sebuah algoritma untuk menghasilkan suatu permutasi
acak dari suatu himpunan terhingga. Hasil dari pengacakan dengan menggunakan
algoritma Fisher Yates tidak akan berat sebelah, sehingga setiap permutasi memiliki
kemungkinan yang sama.
53
Berikut di bawah ini gambar flowchart Algoritma Fisher Yates.
Gambar 3. 6 Flowchart Algoritma Fisher Yates.
Berikut merupakan simulasi untuk memberikan gambaran bagaimana
Algoritma Fisher Yates bekerja:
Pada gambar 3.7 - 3.10 merupakan simulasi pengacakan Algoritma Fisher
Yates Shuffle, warna coklat adalah posisi awal angka, warna merah adalah angka
yang diambil secara acak yang dipindah ke posisi akhir, dan warna hijau merupakan
angka yang pindah ke posisi asal angka yang dipindah ke belakang.
Mulai
Range Angka dari 1 sampai ke (n)
Pilih Angka Secara Acak (K) dari
Range yang Ada/Belum Dicoret
Coret K dari Range, atau Pindahkan K
ke Tempat Lain (Terakhir)
Pindahkan Angka yang Paling Akhir
dalam Range ke Posisi K yang
Dicoret/Dipindahkan
Cek Apakah Masih Ada
Angka (K) yang Belum
Dicoret/Dipindahkan
Selesai
Ya
Tidak
54
Gambar 3. 7 Kondisi awal sebelum diacak.
Ambil secara acak sebuah angka, misalnya angka yang diambil acak adalah
angka ke-3, kemudian pindahkan angka yang telah terpilih ke posisi belakang dan
angka pada range terakhir (angka ke-4) dipindahkan ke posisi asal angka yang
terpilih (angka ke-3).
Gambar 3. 8 Simulasi Pengacakan Algoritma Fisher Yates Range 1-4.
Lakukan pengambilan acak kembali, misal angka ke-1, pindah posisi sebelum
angka ke-3 (yang telah dipindah sebelumnya), dan pindahkan angka ke-4 ke posisi
asal angka ke-1.
55
Gambar 3. 9 Simulasi Pengacakan Algoritma Fisher Yates Range 1-3.
Lakukan pengambilan acak terakhir, misalnya angka ke-4, pindah posisi
sebelum angka ke-1 (yang telah dipindahkan sebelumnya), dan pindahkan angka
ke-2 ke posisi asal angka ke-4.
Gambar 3. 10 Simulasi Pengacakan Algoritma Fisher Yates Range 1-2.
Pada pengujian algoritma Fisher Yates di atas didapat urutan kemunculan
pilihan ganda sebagai berikut: 2, 4, 1, 3. Dari pengerjaan di atas bilangan acak yang
dibangkitkan 1 sampai 4 tidak terlihat pengulangan. Dan dapat dilihat bahwa
pengacakan dengan metode ini cukup baik karena dalam proses pengacakannya dari
bilangan yang di ambil secara random tersebut di shuffle dengan index yang belum
diacak, sehingga tidak akan ada index yang sama keluar dalam satu waktu.
Pada tabel 3.3 ditampilkan ringkasan dari contoh simulasi perhitungan
algoritma Fisher Yates Shuffle.
56
Tabel 3. 3 Contoh perhitungan Fisher Yates Shuffle.
Range Angka acak yang
diambil
Penukaran dengan
elemen terakhir Hasil
1234
1-4 3 124 3
1-3 1 42 13
1-2 1 2 413
2413
3.7 Elaboration (Perluasan/Perencanaan)
3.7.1 Model Bisnis dan Kebutuhan
Secara garis besar model bisnis dan kebutuhan sistem sudah dijelaskan pada
tahapan sebelumnya (tahap inception), namun pada tahap ini bila diperlukan akan
dilakukan tambahan-tambahan untuk melengkapi apabila ada yang terlewat.
3.7.2 Analisis Kebutuhan dan Pembangunan Sistem
Berdasarkan kebutuhan-kebutuhan yang sudah didefinisikan sebelumnya,
maka dapat disimpulkan untuk pembangunan sistem ini akan terbagi menjadi dua
cakupan. Pertama adalah membangun web service yang menyediakan REST API
dengan memanfaatkan web server Apache dengan bahasa pemrograman PHP dan
penggunaan Framework Codeigniter serta database MySQL.
Kedua adalah membangun aplikasi mobile pihak klien yang nantinya akan
menggunakan beberapa HTTP method yang sudah dibuat sebelumnya sebagai
transaksi data terhadap web server atau web service.
57
3.7.3 Perancangan Sistem
Karena dalam perencanaan dan pembangunan sistem ini menggunakan metode
pengembangan RUP, maka semua rancangan dan pengembangan menggunakan
konsep use case driven, yaitu semua berdasarkan kasus-kasus yang ada dalam
pembangunan aplikasi yang digambarkan dalam bentuk diagram use case.
Oleh karena itu semua berawal dari pembuatan use case dari kasus-kasus yang
ditemukan yang nantinya akan dikembangkan dan lebih dijelaskan dalam bentuk
diagram-diagram UML lainnya.
3.7.3.1 Use Case Diagram
Pada bagian use case diagram menjelaskan apa yang dapat dilakukan oleh
sistem yang akan dibangun dan siapa saja yang akan berinteraksi dengan sistem.
Use case diagram menjadi aktivitas pengguna. Use case diagram pada sistem yang
akan dibangun dapat dilihat pada gambar 3.11 berikut.
Gambar 3. 11 Use Case Diagram Sistem.
58
Pada aplikasi ini memiliki dua aktor dan sepuluh use case. Aktor (user) dapat
melakukan beberapa kegiatan yang terdapat pada use case, diantanya yaitu memilih
materi, mengerjakan kuis, melihat skor, dan melihat tentang. Sedangkan aktor
(admin) dapat melakukan opsi mengelola data meteri maupun kuis, membuat push
notifikasi dan mengelola data admin.
Untuk penjelasan setiap use case secara lengkap, dapat dilihat pada tabel -
tabel dibawah ini.
a. Skenario use case memilih materi.
Nama use case : Memilih materi
Aktor : User
Tujuan : Untuk melihat/mempelajari materi.
Kondisi awal : User ingin melihat/mempelajari materi.
Kondisi akhir : User telah membuka materi yang ada.
Deskripsi : User masuk ke menu utama aplikasi, kemudian
memilih menu materi.
Tabel 3.4 menunjukan skenario use case memilih materi.
Tabel 3. 4 Skenario use case memilih materi.
Skenario use case memilih materi
Main Flow Event
Actor Action Application Response
1. User masuk ke halaman utama 2. Sistem menampilkan form
halaman utama.
3. User memilih menu materi. 4. Sistem menampilkan form yang
berisi list materi
Exceptional Flow of Event
59
b. Skenario use case mengerjakan kuis.
Nama use case : Mengerjakan kuis
Aktor : User
Tujuan : Untuk melatih hasil pemahaman User terhadap
materi yang telah dipelajari
Kondisi awal : User ingin mengerjakan latihan soal.
Kondisi akhir : User telah mendapatkan hasil latihan.
Deskripsi : User masuk ke halaman utama aplikasi,
kemudian memilih menu latihan kuis.
Tabel 3.5 menunjukan skenario use case mengerjakan latihan.
Tabel 3. 5 Skenario use case mengerjakan latihan.
Skenario use case mengerjakan kuis
Main Flow Event
Actor Action Application Response
1. User masuk ke halaman utama 2. Sistem menampilkan form
halaman utama.
3. User memilih menu latihan. 4. Sistem menampilkan form yang
berisi latihan soal.
Exceptional Flow of Event
User hanya dapat memilih satu jawaban.
c. Skenario use case melihat skor.
Nama use case : Melihat skor
Aktor : User
Tujuan : Untuk menghitung skor hasil latihan kuis.
Kondisi awal : User mengerjakan soal latihan pada aplikasi
60
Kondisi akhir : User mendapatkan skor hasil latihan.
Deskripsi : User memilih menu latihan kuis, setelah selesai
mengerjakan soal, sistem menampilkan hasil
skornya.
Tabel 3.6 menunjukan skenario use case menghitung skor.
Tabel 3. 6 Skenario use case menghitung skor.
Skenario use case melihat skor
Main Flow Event
Actor Action Application Response
1. User masuk ke halaman utama 2. Sistem menampilkan form
halaman utama.
3. User memilih menu latihan kuis. 4. Sistem menampilkan form yang
berisi latihan soal.
5. Sistem menampilkan skor hasil
latihan soal
Exceptional Flow of Event
d. Skenario use case memilih tentang.
Nama use case : Memilih tentang
Aktor : User
Tujuan : Untuk melihat informasi seputar aplikasi
Kondisi awal : User ingin melihat informasi aplikasi
Kondisi akhir : User telah masuk ke menu tentang
Deskripsi : User masuk ke halaman utama pada aplikasi
kemudian memilih menu tentang.
61
Tabel 3.7 menunjukan skenario use case memilih tentang.
Tabel 3. 7 Skenario use case memilih tentang.
Skenario use case memilih tentang
Main Flow Event
Actor Action Application Response
1. User masuk ke halaman utama 2. Sistem menampilkan form
halaman utama.
3. User memilih menu tentang. 4. Sistem menampilkan halaman
tentang.
Exceptional Flow of Event
e. Skenario use case mengelola data materi.
Nama use case : Mengelola data materi
Aktor : Admin
Tujuan : Untuk mengelola data materi pada server.
Kondisi awal : Admin ingin melihat/mengelola data materi.
Kondisi akhir : Admin telah melihat/mengelola data materi yang
ada.
Deskripsi : Admin masuk ke halaman dashboard, kemudian
memilih menu materi.
Tabel 3.8 menunjukan skenario use case menelola data materi.
Tabel 3. 8 Skenario use case mengelola data materi.
Skenario use case mengelola data materi
Main Flow Event
Actor Action Application Response
1. Admin masuk ke halaman
dashboard
2. Sistem menampilkan form
halaman dashboard.
62
Tabel 3.8 Skenario use case mengelola data materi (Lanjutan).
3. Admin memilih menu materi. 4. Sistem menampilkan form yang
berisi opsi list untuk mengelola
materi
Exceptional Flow of Event
Dalam fitur pencarian data materi jika materi tidak ditemukan, sistem
akan memberikan pesan.
f. Skenario use case mengelola data kuis.
Nama use case : Mengelola data kuis
Aktor : Admin
Tujuan : Untuk mengelola data kuis pada server.
Kondisi awal : Admin ingin melihat/mengelola data kuis.
Kondisi akhir : Admin telah melihat/mengelola data kuis yang
ada
Deskripsi : Admin masuk ke halaman dashboard, kemudian
memilih menu game kuis.
Tabel 3.9 menunjukan skenario use case mengelola data kuisd.
Tabel 3. 9 Skenario use case mengelola data kuis.
Skenario use case mengelola data kuis
Main Flow Event
Actor Action Application Response
1. Admin masuk ke halaman
dashboard
2. Sistem menampilkan form
halaman dashboard.
3. Admin memilih menu game kuis. 4. Sistem menampilkan form yang
berisi opsi list untuk mengelola
data kuis
Exceptional Flow of Event
63
g. Skenario use case mengacak soal.
Nama use case : Mengacak soal
Aktor : User
Tujuan : Untuk mengacak soal.
Kondisi awal : User membuka soal kuis pada aplikasi.
Kondisi akhir : Sistem mengacak kuis pada aplikasi.
Deskripsi : User memilih menu kuis, sistem melakukan
pengacakan.
Tabel 3.10 menunjukan skenario use case mengacak soal.
Tabel 3. 10 Skenario use case mengacak soal.
Skenario use case mengacak soal
Main Flow Event
Actor Action Application Response
1. User masuk ke halaman utama 2. Sistem menampilkan form
halaman utama.
3. User memilih menu latihan. 4. Sistem mengacak soal dari
server
5. Sistem menampilkan form yang
berisi latihan soal.
Exceptional Flow of Event
User hanya dapat memilih satu jawaban.
h. Skenario use case membuat push notifikasi.
Nama use case : Membuat push notifikasi
Aktor : Admin
Tujuan : Untuk membuat push notifikasi yaang akan
ditampilkan pada client.
64
Kondisi awal : Admin ingin membuat notifikasi.
Kondisi akhir : Admin telah membuat notifikasi
Deskripsi : Admin masuk ke halaman dashboard, kemudian
memilih menu push notifikasi.
Tabel 3.11 menunjukan skenario use case membuat push notifikasi.
Tabel 3. 11 Skenario use case membuat push notifikasi.
Skenario use case membuat push notifikasi
Main Flow Event
Actor Action Application Response
1. Admin masuk ke halaman
dashboard
2. Sistem menampilkan form
halaman dashboard.
3. Admin memilih menu push
notifikasi.
4. Sistem menampilkan form yang
berisi dialog untuk membuat
notifikasi
Exceptional Flow of Event
i. Skenario use case mengelola data admin.
Nama use case : Mengelola data admin
Aktor : Admin
Tujuan : Untuk mengelola data admin pada server.
Kondisi awal : Admin ingin melihat/mengelola data admin.
Kondisi akhir : Admin telah melihat/mengelola data admin yang
ada
Deskripsi : Admin masuk ke halaman dashboard, kemudian
memilih menu setting.
65
Tabel 3.12 menunjukan skenario use case mengelola data admin.
Tabel 3. 12 Skenario use case mengelola data admin.
Skenario use case mengelola data admin
Main Flow Event
Actor Action Application Response
1. Admin masuk ke halaman
dashboard
2. Sistem menampilkan form
halaman dashboard.
3. Admin memilih menu setting. 4. Sistem menampilkan form yang
berisi opsi untuk mengelola data
admin
Exceptional Flow of Event
Dalam fitur ini, jika input password tidak sama, maka sistem akan
menampilkan pesan warning.
j. Skenario use case mengelola proses Web Services.
Nama use case : Proses Web Services
Aktor : Admin/User
Tujuan : Untuk fungsi transfer/pertukaran data data dari
server ke client ataupun sebaliknya.
Kondisi awal : Admin menyediakan resource data materi/kuis
pada server.
Kondisi akhir : Client berhasil melakukan request pada server
dan kemudian server memberikan response pada
client
Deskripsi : Client melakukan request pada server dan
kemudian server memberikan response pada
client.
66
Tabel 3.13 menunjukan skenario use case proses web services.
Tabel 3. 13 Skenario use case proses web services.
Skenario use case proses web services
Main Flow Event
Actor Action Application Response
1. Admin menginputkan data
materi/kuis pada server
2. Sistem menyimpan inputan dari
admin berupa resource data.
3. User melakukan request pada
aplikasi client.
4. Sistem memberikan response
data pada client
Exceptional Flow of Event
3.7.3.2 Activity Diagram
Perancangan activity diagram menggambarkan berbagai alir aktivitas dalam
sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision
yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Adapun Activity diagram pada sistem yang akan dibangun meliputi:
Pada gambar 3.12 berikut menujukkan activity diagram proses web
services.
Gambar 3. 12 Activity diagram proses web services.
67
Gambar 3.12 menjelaskan aktivitas yang menggambarkan ruang lingkup
dari REST, pada proses pertama user/client memanggil/request data ke server
menggunakan HTTP METHOD, selanjutnya server akan mengecek parameter yang
dikirimkan oleh user/client, jika parameter yang dikirim user/client tidak sesuai/
tidak terdapat pada server, maka server akan memberikan notifikasi kosong pada
user/client, namun jika kondisi parameter yang dikirim user/client sesuai/terdapat
pada server maka server akan memproses kueri yang akan dikirimkan pada
database, selanjutnya database akan mengeksekusi kueri dan mengembalikan data
pada server, server kemudian akan melakukan response data pada client, dan pada
proses terakhir, user/client akan menampilkan hasil response dari server.
3.7.3.2.1 Activity Diagram Server Side
a. Activity diagram mengelola data materi
Pada gambar 3.13 berikut menujukkan activity diagram mengelola
data materi.
Gambar 3. 13 Activity diagram mengelola data materi.
68
Gambar 3.13 menjelaskan aktivitas yang dilakukan admin pada saat
mengelola data materi. Proses pertama yang akan dilakukan admin yaitu
masuk kedalam aplikasi selanjunya sistem akan menampilkan halaman
dashboard aplikasi, lalu admin memilih menu materi yang ada pada aplikasi,
kemudian sistem akan menampilkan halaman materi yang di dalamnya
terdapat opsi untuk mengelola materi (tambah, hapus, edit, cari, lihat) data,
selanjunya admin kembali memilih opsi yang terdapat pada menu materi,
selanjutnya pada proses terakhir, sistem memproses opsi yang sudah dipilih
oleh admin.
b. Activity diagram mengelola data kuis
Pada gambar 3.14 berikut menujukkan activity diagram mengelola
data kuis.
Gambar 3. 14 Activity diagram mengelola data kuis.
69
Gambar 3.14 menjelaskan aktivitas yang dilakukan admin pada saat
mengelola data kuis. Proses pertama yang akan dilakukan admin yaitu
masuk kedalam aplikasi selanjunya sistem akan menampilkan halaman
dashboard aplikasi, lalu admin memilih menug game kuis yang ada pada
aplikasi, kemudian sistem akan menampilkan halaman kuis yang di
dalamnya terdapat opsi untuk mengelola kuis (tambah, hapus, edit, cari,
lihat) data, selanjunya admin kembali memilih opsi yang terdapat pada
menu kuis, selanjutnya pada proses terakhir, sistem memproses opsi yang
sudah dipilih oleh admin.
c. Activity diagram membuat push notifikasi
Pada gambar 3.15 berikut menujukkan activity diagram membuat
push notifikasi.
Gambar 3. 15 Activity diagram membuat push notifikasi.
Gambar 3.15 menjelaskan aktivitas yang dilakukan admin pada saat
membuat push notifikasi. Proses pertama yang akan dilakukan admin yaitu
70
masuk ke dalam aplikasi, selanjunya sistem akan menampilkan halaman
dashboard aplikasi, lalu admin memilih menu push notifikasi yang ada pada
aplikasi, kemudian sistem akan menampilkan halaman push notifikasi yang
di dalamnya terdapat opsi untuk memasukkan judul dan pesan notifikasi,
selanjunya admin memasukkan data notifikasi dan melakukan submit
notifikasi, dan proses terakhir, sistem akan memproses push notifikasi.
d. Activity diagram mengelola data admin
Pada gambar 3.16 berikut menujukkan activity diagram mengelola
data admin.
Gambar 3. 16 Activity diagram mengelola data admin.
Gambar 3.16 menjelaskan aktivitas yang dilakukan admin pada saat
mengelola data admin. Proses pertama yang akan dilakukan admin yaitu
masuk ke dalam aplikasi, selanjunya sistem akan menampilkan halaman
dashboard aplikasi, lalu admin memilih menu setting yang ada pada
aplikasi, kemudian sistem akan menampilkan halaman setting yang di
71
dalamnya terdapat opsi untuk mengubah data admin, selanjunya admin
memasukkan data untuk mengubah data admin dan melakukan submit,
selanjutnya proses terakhir, sistem akan memproses permintaan admin.
3.7.3.2.2 Activity Diagram Client Side
a. Activity diagram memilih materi
Pada gambar 3.17 berikut menujukkan activity diagram memilih materi.
Gambar 3. 17 Activity diagram memilih materi.
Gambar 3.17 menjelaskan aktivitas yang dilakukan user pada saat
memilih materi. Proses pertama yang akan dilakukan user yaitu masuk
kedalam aplikasi selanjunya sistem akan menampilkan halaman utama pada
aplikasi, lalu user memilih menu materi yang ada pada aplikasi, kemudian
sistem akan menampilkan halaman kategori materi pada aplikasi,
selanjunya user kembali memilih kategori materi yang terdapat pada
72
aplikasi, kemudian pada proses terakhir sistem akan menampilkan halaman
kategori yang sudah dipilih oleh user.
b. Activity diagram mengerjakan kuis
Pada gambar 3.18 berikut menujukkan activity diagram mengerjakan kuis.
Gambar 3. 18 Activity diagram mengerjakan kuis.
Gambar 3.18 menjelaskan aktivitas yang dilakukan user pada saat
memilih menu mengerjakan kuis. Proses pertama yang akan dilakukan user
yaitu masuk kedalam aplikasi selanjunya sistem akan menampilkan
halaman utama pada aplikasi, lalu user memilih menu kuis yang ada pada
aplikasi, kemudian pada proses terakhir sistem akan menampilkan halaman
kuis pada aplikasi.
c. Activity diagram melihat skor
Pada gambar 3.19 berikut menujukkan activity diagram melihat skor.
Gambar 3. 19 Activity diagram melihat skor.
73
Gambar 3.19 menjelaskan aktivitas yang dilakukan user pada saat
proses melihat skor. Proses pertama yang akan dilakukan user yaitu masuk
ke dalam aplikasi selanjunya sistem akan menampilkan halaman utama pada
aplikasi, lalu user memilih menu kuis yang ada pada aplikasi, kemudian
sistem akan menampilkan halaman kuis pada aplikasi, lalu user
mengerjakan soal kuis yang ada pada aplikasi sampai selesai, kemudian
pada proses terakhir sistem akan menampilkan skor hasil pengerjaain kuis.
d. Activity diagram memilih tentang
Pada gambar 3.20 berikut menujukkan activity diagram memilih tentang.
Gambar 3. 20 Activity diagram memilih tentang.
Gambar 3.20 menjelaskan aktivitas yang dilakukan user pada saat
memilih menu tentang. Proses pertama yang akan dilakukan user yaitu
masuk kedalam aplikasi, selanjutnya sistem akan menampilkan halaman
utama pada aplikasi, lalu user memilih menu tentang yang ada pada aplikasi,
kemudian pada proses terakhir, sistem akan menampilkan halaman tentang
pada aplikasi.
74
3.7.3.3 Class Diagram
Class diagram (Diagram Kelas) merupakan sebuah diagram yang digunakan
untuk memodelkan kelas-kelas yang digunakan di dalam sistem beserta hubungan
antar kelas dalam sistem tersebut. Beberapa elemen penting dalam diagram kelas
adalah kelas dan relasi antar kelas. Berikut merupakan class diagram pada sistem
yang akan dibangun.
3.7.3.3.1 Class Diagram Server Side
Gambar 3. 21 Class diagram server side.
3.7.3.3.2 Class Diagram Client Side
Gambar 3. 22 Class diagram client side.
75
3.7.3.4 Sequence Diagram
3.7.3.4.1 Sequence Diagram Server Side
a. Sequence diagram mengelola data materi
Gambar 3.23 ini merupakan sequence diagram mengelola data
materi yang menampilkan detail data materi saat admin memilih tombol
materi pada menu dashboard server. Object dari sequence diagram ini
adalah Admin, Dashboard, dan Materi.
Gambar 3. 23 Sequence diagram mengelola data materi.
b. Sequence diagram mengelola data kuis
Gambar 3.24 ini merupakan sequence diagram mengelola data kuis
yang menampilkan detail data kuis saat admin memilih tombol game kuis
76
pada menu dashboard server. Object dari sequence diagram ini adalah
Admin, Dashboard, dan Kuis.
Gambar 3. 24 Sequence diagram mengelola data kuis.
c. Sequence diagram membuat push notifikasi
Gambar 3.25 ini merupakan sequence diagram membuat push
notifikasi yang menampilkan detail push notifikasi saat admin memilih
tombol push notifikasi pada menu dashboard server. Object dari sequence
diagram ini adalah Admin, Dashboard, dan Push Notifikasi.
77
Gambar 3. 25 Sequence diagram membuat push notifikasi.
d. Sequence diagram mengelola data admin
Gambar 3.26 ini merupakan sequence diagram mengelola data
admin yang menampilkan detail pengelolaan data admin saat admin
memilih tombol setting pada menu dashboard server. Object dari sequence
diagram ini adalah Admin, Dashboard, dan Setting.
Gambar 3. 26 Sequence diagram mengelola data admin.
78
3.7.3.4.2 Sequence Diagram Client Side
a. Sequence diagram memilih materi
Gambar 3.27 ini merupakan sequence diagram memilih materi yang
menampilkan detail materi saat user memilih tombol materi pada menu
utama. Object dari sequence diagram ini adalah user, SplashScreen,
MenuUtama, Materi, DetailMateri, dan ServiceHandler.
Gambar 3. 27 Sequence diagram memilih materi.
b. Sequence diagram memilih kuis
Gambar 3.28 ini merupakan sequence diagram mengerjakan kuis
yang menampilkan soal latihan saat user memilih tombol latihan pada menu
utama. Object dari sequence diagram ini adalah user, SplashScreen,
MenuUtama, Kuis ServiceHandler dan API.
79
Gambar 3. 28 Sequence diagram memilih kuis.
c. Sequence diagram melihat skor
Gambar 3.29 ini merupakan sequence diagram melihat skor yang
menampilkan total skor yang didapatkan setelah mengerjakan kuis. Object
dari sequence diagram ini adaah user, SplashScreen, MenuUtama, Kuis,
ServiceHandler dan API.
Gambar 3. 29 Sequence diagram melihat skor.
d. Sequence diagram memilih tentang
Gambar 3.30 ini merupakan sequence diagram memilih tentang
yang menampilkan detail keterangan aplikasi saat user memilih tombol
tentang pada menu utama. Object dari sequence diagram ini adalah user,
SplashScreen, MenuUtama dan Tentang.
80
Gambar 3. 30 Sequence diagram memilih tentang.
3.7.3.5 Perancangan Database
3.7.3.5.1 Perancangan Tabel
a. Tabel Materi
Primary key : id
Foreign key : -
Fungsi : Merupakan tabel untuk menyimpan data materi
Tabel 3.14 berikut menujukkan perancangan dari tabel materi.
Tabel 3. 14 Perancangan tabel materi.
Nama Field Tipe Data Keterangan
Id Integer Id sebagai primary key
Judul Varchar Judul sebagai judul materi
Kategori Varchar Sebagai kategori materi
Materi Text Sebagai deskripsi materi
b. Tabel Kuis
Primary key : id
Foreign key : -
Fungsi : Merupakan tabel untuk menyimpan data kuis
81
Tabel 3.15 berikut menujukkan perancangan dari tabel kuis.
Tabel 3. 15 Perancangan tabel kuis.
Nama Field Tipe Data Keterangan
Id Integer id sebagai primary key
Kategori Integer Sebagai kategori soal
Pertanyaan Varchar Sebagai pertanyaan pada soal – soal
A Text Sebagai opsi jawaban
B Text Sebagai opsi jawaban
C Text Sebagai opsi jawaban
D Text Sebagai opsi jawaban
Jawaban Integer Sebagai kunci jawaban
c. Tabel push notifikasi
Primary key : id
Foreign key : -
Fungsi : Merupakan tabel untuk proses push notifikasi
Tabel 3.16 berikut menujukkan perancangan dari tabel admin.
Tabel 3. 16 Perancangan tabel push notifikasi.
Nama Field Tipe Data Keterangan
Id Integer id sebagai primary key
Token Varchar Sebagai penyimpanan token
d. Tabel admin
Primary key : id
Foreign key : -
Fungsi : Merupakan tabel untuk mengelola data admin
82
Tabel 3.17 berikut menujukkan perancangan dari tabel admin.
Tabel 3. 17 Perancangan tabel admin.
Nama Field Tipe Data Keterangan
Id Integer id sebagai primary key
Email Varchar Sebagai email admin
Username Varchar Sebagai username admin
Password Varchar Sebagai password admin
3.7.3.6 Perancangan Antar Muka
Perancangan antar muka aplikasi bertujuan untuk memberikan gambaran
tentang aplikasi yang akan dibangun, sehingga akan mempermudah dalam
mengimplementasikan pembuatannya.
3.7.3.6.1 Server Side
a. Halaman Login Admin
Gambar 3.31 berikut menujukkan desain halaman login admin.
Gambar 3. 31 Halaman login admin.
83
b. Halaman Dashboard
Gambar 3.32 berikut menujukkan desain halaman dashboard.
Gambar 3. 32 Halaman dashboard.
c. Halaman Status Materi
Gambar 3.33 berikut menujukkan desain halaman status materi.
Gambar 3. 33 Halaman status materi.
d. Halaman Detail Materi
Gambar 3.34 berikut menujukkan desain halaman detail materi.
Gambar 3. 34 Halaman detail materi.
84
e. Halaman Tambah Materi
Gambar 3.35 berikut menujukkan desain halaman tambah materi.
Gambar 3. 35 Halaman tambah materi.
f. Halaman Edit Materi
Gambar 3.36 berikut menujukkan desain halaman edit materi.
Gambar 3. 36 Halaman edit materi.
g. Halaman Hapus Materi
Gambar 3.37 berikut menujukkan desain halaman hapus materi.
Gambar 3. 37 Halaman hapus materi.
85
h. Halaman Status Kuis
Gambar 3.38 berikut menujukkan desain halaman status kuis.
Gambar 3. 38 Halaman status kuis.
i. Halaman Detail Kuis
Gambar 3.39 berikut menujukkan desain halaman detail kuis.
Gambar 3. 39 Halaman detail kuis.
j. Halaman Tambah Kuis
Gambar 3.40 berikut menujukkan desain halaman tambah kuis.
Gambar 3. 40 Halaman tambah kuis.
86
k. Halaman Edit Kuis
Gambar 3.41 berikut menujukkan desain halaman edit kuis.
Gambar 3. 41 Halaman edit kuis.
l. Halaman Hapus kuis
Gambar 3.42 berikut menujukkan desain halaman hapus kuis.
Gambar 3. 42 Halaman hapus kuis.
m. Halaman Push Notifikasi
Gambar 3.43 berikut menujukkan desain halaman push notifikasi.
Gambar 3. 43 Halaman push notifikasi.
87
n. Halaman Setting/Edit Admin
Gambar 3.44 berikut menujukkan desain halaman setting/edit
admin.
Gambar 3. 44 Halaman setting/edit admin
3.7.3.6.2 Client Side
a. Halaman Menu Utama
Gambar 3.45 berikut menujukkan desain halaman menu utama.
Gambar 3. 45 Halaman menu utama.
b. Halaman Kategori Materi
Gambar 3.46 berikut menujukkan desain halaman kategori materi.
88
Gambar 3. 46 Halaman kategori materi.
c. Halaman Detail Materi
Gambar 3.47 berikut menujukkan desain halaman detail materi.
Gambar 3. 47 Halaman detail materi.
d. Halaman Kategori Kuis
Gambar 3.48 berikut menujukkan desain halaman kategori kuis.
Gambar 3. 48 Halaman kategori kuis.
89
e. Halaman Kuis
Gambar 3.49 berikut menujukkan desain halaman kuis.
Gambar 3. 49 Halaman kuis.
f. Halaman Skor
Gambar 3.50 berikut menujukkan desain halaman skor.
Gambar 3. 50 Halaman skor.
g. Halaman Exit Dialog
Gambar 3.51 berikut menujukkan desain halaman exit dialog.
Gambar 3. 51 Halaman exit dialog.
90
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1 Construction (Konstruksi)
Tahap Construction (Konstruksi) merupakan tahap pengkodean (coding),
dimana pembuatan sistem dilakukan secara nyata. Pembuatan tersebut tentunya
harus mengacu kepada parameter yang telah ditentukan dari fase sebelumnya.
Setelah tahap pengkodean, sistem diuji untuk mengetahui tingkat kesalahan pada
sistem tersebut.
Pada tahap ini terdapat beberapa langkah yang perlu dilakukan untuk
pembangunan sistem, yaitu:
4.2 Implementasi Sistem
Dalam tahap implementasi sistem ini merupakan tahap selanjutnya dari tahap
perancangan sistem yang telah didesain sedemikian rupa. Lalu pada Bab IV inilah
implementasi dari perancangan tersebut. Implementasi merupakan suatu prosuder
atau uraian mengenai tahapan yang telah dilakukan dan menjelaskan segala sesuatu
yang dibutuhkan dalam proses implementasi yang berupa komputerisasi sistem.
4.3 Perangkat Pendukung
Dalam pembuatan aplikasi/program ini tentunya dibutuhkan perangkat keras
(hardware) dan perangkat lunak (software). Berikut spesifikasi perangkat keras dan
perangkat lunak yang digunakan dalam pembangunan aplikasi.
91
4.3.1 Perangkat Keras
Spesifikasi minimum perangkat keras (hardware) pendukung yang digunakan
dalam proses implementasi pembangunan aplikasi ini diantaranya.
4.3.1.1 Perangkat Keras Server
Komputer dengan processor 1.2 GHz, harddisk dengan kapasitas minimal 80
GigaByte (GB) untuk penyimpanan data, Random Access Memory (RAM) 1
GigaByte (GB), serta VGA Card dengan minimal kapasitas 512 MegaByte (MB).
Tabel 4. 1 Spesifikasi perangkat keras server.
Perangkat Keras Keterangan
Processor 1.2 GHz
Memory 1 GB
Harddisk 80 GB
Video Card 512 MB
4.3.1.2 Perangkat Keras Client
Perangkat keras (hardware) yang digunakan untuk client yaitu smartphone
berbasis android dengan spesifikasi minimal processor 1 GHz, memory 1 GB dan
resolusi layar 720 x 1280 pixel.
Tabel 4. 2 Spesifikasi perangkat keras client.
Perangkat Keras Keterangan
Processor 1 GHz
Memory 1 GB
Resolusi layar 720 x 1280 pixel
92
4.3.2 Perangkat Lunak
Spesifikasi minimum perangkat lunak (software) pendukung yang digunakan
dalam proses implementasi pembangunan aplikasi ini diantaranya.
4.3.2.1 Perangkat Lunak Server
Perangkat lunak server yang digunakan dalam pembuatan sistem ini dengan
spesifikasi minimal yaitu:
a. Sistem Operasi Windows 7 32/64 Bit
b. Apache Web Server versi 2.4.9
c. Scripting Framework Codeigniter versi 3.1.0
d. Database MySql versi 5.6.17
e. Browser Mozilla Firefox
4.3.2.2 Perangkat Lunak Client
Perangkat lunak client yang digunakan dalam pembuatan sistem ini dengan
spesifikasi minimal yaitu:
a. Sistem Operasi Android versi 4.2.2 (Jelly Bean)
4.4 Implementasi Database
Implementasi database dibuat dengan aplikasi HeidiSQL dengan XAMPP
control panel sebagai paket servis lokal versi 3.2.2. Terdapat tiga tabel yang berada
di dalam database yaitu tabel materi, tabel kuis dan tabel admin.
4.4.1 Implementasi Tabel Materi
Pada tabel ini terdapat empat kolom dengan satu buah Primary Key yaitu
kolom id. Tabel ini dibuat dengan kueri:
93
CREATE TABLE `tbl_materi` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`judul` VARCHAR(50) NOT NULL,
`kategori` VARCHAR(25) NOT NULL,
`materi` TEXT NOT NULL,
PRIMARY KEY (`id`)
);
Gambar 4.1 menunjukan implementasi dari tabel materi.
Gambar 4. 1 Tabel Materi.
4.4.2 Implementasi Tabel Kuis
Pada tabel ini terdapat delapan kolom dengan satu buah Primary Key yaitu
kolom id. Tabel ini dibuat dengan kueri:
CREATE TABLE `tbl_kuis` (
`id` INT(5) NOT NULL AUTO_INCREMENT,
`kategori` INT(1) NOT NULL,
`pertanyaan` TEXT NOT NULL,
`a` TEXT NOT NULL,
`b` TEXT NOT NULL,
`c` TEXT NOT NULL,
`d` TEXT NOT NULL,
`jawaban` INT(2) NOT NULL,
PRIMARY KEY (`id`)
);
Gambar 4.2 menunjukan implementasi dari tabel kuis.
Gambar 4. 2 Tabel Kuis.
94
4.4.3 Implementasi Tabel Notifikasi
Pada tabel ini terdapat dua kolom dengan satu buah Primary Key yaitu
kolom id. Tabel ini dibuat dengan kueri:
CREATE TABLE `tbl_notifikasi` (
`id` INT(20) NOT NULL AUTO_INCREMENT,
`Token` VARCHAR(200) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `Token` (`Token`)
);
Gambar 4.3 menunjukan implementasi dari tabel notifikasi.
Gambar 4. 3 Tabel Notifikasi.
4.4.4 Implementasi Tabel Admin
Pada tabel ini terdapat empat kolom dengan satu buah Primary Key yaitu
kolom id. Tabel ini dibuat dengan kueri:
CREATE TABLE `tbl_admin` (
`id` INT(3) NOT NULL,
`email` VARCHAR(50) NOT NULL,
`username` VARCHAR(30) NOT NULL,
`password` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`)
);
Gambar 4.4 menunjukan implementasi dari tabel admin.
Gambar 4. 4 Tabel Admin.
95
4.5 Implementasi Antar Muka
Pada implementasi antar muka (interface) dibagi menjadi dua bagian yaitu
antar muka (interface) server side dan antar muka (interface) client side.
4.5.1 Implementasi Antar Muka Server (Admin)
Implementasi antarmuka pada server berisi tampilan-tampilan dari sistem
yang dijalankan, diantaranya tampilan login, dashboard, menu materi, menu kuis,
menu push notifikasi dan menu setting.
4.5.1.1 Tampilan Halaman Login
Halaman login pada gambar 4.5 merupakan tampilan pertama yang muncul
ketika admin menjalankan sistem. Dimana admin harus memasukkan terlebih
dahulu akun berupa username dan password agar bisa masuk ke halaman
selanjutnya (halaman dashboard).
Gambar 4. 5 Tampilan Halaman Login.
4.5.1.2 Tampilan Halaman Dashboard
Halaman dashboard pada gambar 4.6 merupakan tampilan yang muncul
ketika admin berhasil melakukan login. Halaman ini berisi opsi-opsi menu yang
96
akan dipilih oleh admin dalam mengelola aplikasi, di dalam menu dashboard ini
terdapat pilihan menu materi, menu kuis, menu setting dan logout sistem.
Gambar 4. 6 Tampilan Halaman Dashboard.
4.5.1.3 Tampilan Halaman Menu Materi
Halaman menu materi pada gambar 4.7 merupakan tampilan yang muncul
ketika admin memilih menu materi pada halaman dashboard. Pada halaman ini
berisi opsi untuk mengelola data materi yang dapat dilakukan oleh admin
diantaranya, menambah data baru, mengedit data yang sudah ada, menghapus data,
melihat detail data, dan melakukan pencarian data.
Gambar 4. 7 Tampilan Halaman Menu Materi.
97
4.5.1.4 Tampilan Halaman Menu Kuis
Halaman menu kuis pada gambar 4.8 merupakan tampilan yang muncul
ketika admin memilih menu kuis pada halaman dashboard. Pada halaman ini berisi
opsi untuk mengelola data kuis yang dapat dilakukan oleh admin diantaranya,
menambah data baru, mengedit data yang sudah ada, menghapus data, melihat
detail data, dan melakukan pencarian data.
Gambar 4. 8 Tampilan Halaman Menu Kuis.
4.5.1.5 Tampilan Halaman Push Notifikasi
Halaman menu kuis pada gambar 4.9 merupakan tampilan yang muncul
ketika admin memilih menu kuis pada halaman dashboard. Pada halaman ini berisi
opsi untuk mengelola data kuis yang dapat dilakukan oleh admin diantaranya,
menambah data baru, mengedit data yang sudah ada, menghapus data, melihat
detail data, dan melakukan pencarian data.
98
Gambar 4. 9 Tampilan Halaman Push Notifikasi.
4.5.1.6 Tampilan Halaman Setting
Halaman setting pada gambar 4.10 merupakan tampilan yang muncul ketika
admin memilih menu setting pada halaman dashboard. Pada halaman ini berisi opsi
untuk mengelola data admin, diantaranya melakukan penggantian username dan
password admin.
Gambar 4. 10 Tampilan Halaman Setting.
99
4.5.2 Implementasi Antar Muka Client Side (User)
Implementasi antarmuka client atau pengguna, berisi tampilan-tampilan
pada sistem operasi android, diantaranya tampilan splash screen, menu utama,
menu materi yang berisi kategori materi, menu detail materi, menu kategori kuis
yang berisi kategori kuis, menu game play kuis, menu skor dan menu tentang
aplikasi.
4.5.2.1 Tampilan Halaman Splash Screen
Halaman splash screen pada gambar 4.11 merupakan tampilan yang muncul
ketika user pertama kali membuka aplikasi pembelajaran dan kuis Islami ini.
Gambar 4. 11 Tampilan Halaman Splash Screen.
4.5.2.2 Tampilan Halaman Menu Utama
Halaman menu utama pada gambar 4.12 merupakan tampilan yang muncul
setelah halaman splash screen. Halaman ini berisi opsi-opsi menu yang akan dipilih
100
oleh user, dimana pada menu utama ini terdapat opsi menu materi, menu kuis,
menu tentang aplikasi dan menu keluar dari aplikasi.
Gambar 4. 12 Tampilan Halaman Menu Utama.
4.5.2.3 Tampilan Halaman Menu Materi
Halaman menu materi pada gambar 4.13 merupakan tampilan yang muncul
ketika user memilih menu materi pada halaman menu utama. Halaman ini berisi
opsi list kategori untuk memilih materi yang akan dipelajari oleh user, dimana
terdapat empat kategori materi yang dapat dipilih oleh user yaitu Akidah Akhlak,
Al-Qur’an Hadis, Fiqih dan SKI.
101
Gambar 4. 13 Tampilan Halaman Menu Materi.
4.5.2.4 Tampilan Halaman Menu Detail Materi
Halaman menu detail materi pada gambar 4.14 merupakan tampilan yang
muncul ketika user memilih opsi judul materi yang ada pada salah satu list kategori
materi. Halaman ini berisi opsi untuk melihat detail materi yang akan dipelajari oleh
user.
102
Gambar 4. 14 Tampilan Halaman Menu Detail Materi.
4.5.2.5 Tampilan Halaman Menu Kuis
Halaman menu kuis pada gambar 4.15 merupakan tampilan yang muncul
ketika user memilih menu kuis pada halaman menu utama. Halaman ini berisi opsi
list kategori untuk memilih game play kuis yang akan dipilih oleh user, dimana
terdapat empat opsi kategori game play kuis yang dapat dipilih oleh user yaitu
Akidah Akhlak, Al-Qur’an Hadis, Fiqih dan SKI.
103
Gambar 4. 15 Tampilan Halaman Menu Kuis.
4.5.2.6 Tampilan Halaman Menu Game Play Kuis
Halaman menu game play kuis pada gambar 4.16 merupakan tampilan yang
muncul ketika user memilih opsi materi kuis yang ada pada salah satu list kategori
kuis. Halaman untuk menyediakan latihan – latihan soal untuk proses evaluasi dari
pembelajaran yang sudah dilakukan user.
104
Gambar 4. 16 Tampilan Halaman Game Play Kuis.
4.5.2.7 Tampilan Halaman Skor
Halaman skor pada gambar 4.17 merupakan tampilan yang muncul ketika
user telah selesai melaksanakan evaluasi dengan menjawab soal-soal latihan yang
diberikan secara acak oleh sistem pada menu game play.
Gambar 4. 17 Tampilan Halaman Skor.
105
4.5.2.8 Tampilan Halaman Tentang Aplikasi
Halaman tentang aplikasi pada gambar 4.18 merupakan tampilan yang
muncul ketika user memilih menu tentang pada halaman menu utama. Halaman ini
berisi keterangan tentang aplikasi. Di dalamnya juga ada terdapat informasi tentang
pengembangan aplikasi ini.
Gambar 4. 18 Tampilan Halaman Menu Tentang.
4.6 Pengujian Sistem
4.6.1 Pengujian Interface (Antar Muka)
Pada penelitian ini digunakan metode pengujian black-box, dimana
merupakan pengujian yang berfokus pada persyaratan fungsional dari perangkat
lunak yang dibangun. Pengujian black-box dilakukan setelah proses pembuatan
aplikasi selesai dan sebelum aplikasi di distribusikan kepada pengguna. Di bawah
ini adalah hasil pengujian dengan metode black-box atau pengujian fungsionalitas
sistem yang dilakukan pada lingkungan pengembang.
106
4.6.1.1 Pengujian Interface (Antar Muka) Server
4.6.1.1.1 Uji Halaman Login
Dilakukan beberapa pengujian pada halaman login, yang dicantumkan
dalam Tabel 4.3 di bawah ini:
Tabel 4. 3 Uji skenario halaman login.
Skenario Hasil Keterangan
Berhasil Gagal
Login dengan
username dan
password yang
benar
√
Sistem berhasil menampilkan
menu dashboard.
Login dengan
username dan
password yang salah √
Sistem memberikan pesan
kesalahan.
Tidak bisa masuk ke halaman
dashboard.
Mengisi halaman
login dengan data
kosong kemudian
submit
√
Sistem memberikan pesan
kesalahan.
Tidak bisa masuk ke halaman
dashboard.
4.6.1.1.2 Uji Halaman Dashboard
Dilakukan beberapa pengujian pada halaman dashboard, yang dicantumkan
dalam Tabel 4.4 di bawah ini:
Tabel 4. 4 Uji skenario halaman dashboard.
Skenario Hasil Keterangan
Berhasil Gagal
Klik Menu Materi √
Sistem berhasil menampilkan
menu materi.
Klik Menu Kuis √
Sistem berhasil menampilkan
menu kuis.
107
Skenario Hasil Keterangan
Berhasil Gagal
Klik Menu Setting √
Sistem berhasil menampilkan
menu setting.
Klik Menu Logout √ Berhasil logout sistem
4.6.1.1.3 Uji Halaman Menu Materi
Dilakukan beberapa pengujian pada halaman menu materi, yang
dicantumkan dalam Tabel 4.5 di bawah ini:
Tabel 4. 5 Uji skenario halaman menu materi.
Skenario Hasil Keterangan
Berhasil Gagal
Menampilkan data
√
Sistem berhasil menampilkan data
dari database dengan format
tabel.
Mencari data √
Sistem berhasil menampilkan
pencarian data.
Menambah data
√
Sistem berhasil menampilkan
menu tambah data dan berhasil
melakukan penyimpanan data.
Melihat detail data √
Sistem berhasil menampilkan
detail data materi.
Mengedit data
√
Sistem berhasil menampilkan
menu edit data dan berhasil
melakukan penyimpanan hasil
pengeditan data.
Menghapus data
√
Sistem berhasil menampilkan
dialog hapus data dan berhasil
melakukan penghapusan data
108
4.6.1.1.4 Uji Halaman Menu Kuis
Dilakukan beberapa pengujian pada halaman menu kuis, yang dicantumkan
dalam Tabel 4.6 di bawah ini:
Tabel 4. 6 Uji skenario halaman menu kuis
Skenario Hasil Keterangan
Berhasil Gagal
Menampilkan data
√
Sistem berhasil menampilkan data
dari database dengan format
tabel.
Mencari data √
Sistem berhasil menampilkan
pencarian data.
Menambah data
√
Sistem berhasil menampilkan
menu tambah data dan berhasil
melakukan penyimpanan data.
Melihat detail data √
Sistem berhasil menampilkan
detail data kuis.
Mengedit data
√
Sistem berhasil menampilkan
menu edit data dan berhasil
melakukan penyimpanan hasil
pengeditan data.
Menghapus data
√
Sistem berhasil menampilkan
dialog hapus data dan berhasil
melakukan penghapusan data
4.6.1.1.5 Uji Halaman Push Notifikasi
Dilakukan beberapa pengujian pada halaman push notifikasi, yang
dicantumkan dalam Tabel 4.7 di bawah ini:
109
Tabel 4. 7 Uji skenario halaman push notifikasi.
Skenario Hasil Keterangan
Berhasil Gagal
Menampilkan data √
Sistem berhasil menampilkan data
dari menu push notifikasi.
Mengosongkan form
pesan kemudian
submit √
Sistem memberikan pesan
kesalahan.
Form pesan harus diisi.
4.6.1.1.6 Uji Halaman Setting
Dilakukan beberapa pengujian pada halaman setting, yang dicantumkan
dalam Tabel 4.8 di bawah ini:
Tabel 4. 8 Uji skenario halaman setting.
Skenario Hasil Keterangan
Berhasil Gagal
Menampilkan data √
Sistem berhasil menampilkan data
dari admin.
Mengisi form
password pertama
dan password kedua
dengan value yang
berbeda kemudian
submit
√
Sistem memberikan pesan
kesalahan.
Tidak bisa mengubah akun.
Mengosongkan salah
satu form kemudian
submit √
Sistem memberikan pesan
kesalahan.
Tidak bisa mengubah akun.
Mengubah data
admin dengan
mengisi keseluruhan
form secara benar
√
Sistem berhasil melakukan
pengubahan data admin.
110
4.6.1.2 Pengujian Interface (Antar Muka) Client
4.6.1.2.1 Uji Halaman Splash Screen
Dilakukan beberapa pengujian pada halaman splash screen, yang
dicantumkan dalam Tabel 4.9 di bawah ini:
Tabel 4. 9 Uji skenario halaman splash screen.
Skenario Hasil Keterangan
Berhasil Gagal
Tampil halaman
Splash Screen √ Sistem berhasil menampilkan
halaman splash screen.
Tampil halaman
Menu Utama √ Sistem berhasil menampilkan
halaman menu utama.
4.6.1.2.2 Uji Halaman Menu Utama
Dilakukan beberapa pengujian pada halaman menu utama, yang
dicantumkan dalam Tabel 4.10 di bawah ini:
Tabel 4. 10 Uji skenario halaman menu utama.
Skenario Hasil Keterangan
Berhasil Gagal
Klik Menu Materi √
Sistem berhasil menampilkan
menu materi.
Klik Menu Kuis √
Sistem berhasil menampilkan
menu kuis.
Klik Menu Tentang √
Sistem berhasil menampilkan
menu tentang.
Klik Menu Keluar √ Berhasil keluar dari aplikasi.
111
4.6.1.2.3 Uji Halaman Menu Materi
Dilakukan beberapa pengujian pada halaman menu materi, yang
dicantumkan dalam Tabel 4.11 di bawah ini:
Tabel 4. 11 Uji skenario halaman menu materi.
Skenario Hasil Keterangan
Berhasil Gagal
Klik tombol materi √
Sistem berhasil menampilkan list
kategori materi
Memilih salah satu
kategori dari list
kategori materi
dengan status paket
data (internet)
nonaktif
√
Sistem menampilkan pesan
notifikasi bahwa internet tidak
aktif.
Memilih salah satu
kategori dari list
kategori materi
dengan status paket
data (internet) aktif
√
Sistem berhasil menampilkan
materi berdasarkan list kategori
materi yang dipilih.
Memilih salah satu
materi dari list
kategori materi yang
dipilih
√
Sistem berhasil menampilkan
detail materi.
4.6.1.2.4 Uji Halaman Menu Kuis
Dilakukan beberapa pengujian pada halaman menu kuis, yang dicantumkan
dalam Tabel 4.12 di bawah ini:
112
Tabel 4. 12 Uji skenario halaman menu kuis.
Skenario Hasil Keterangan
Berhasil Gagal
Klik tombol kuis √
Sistem berhasil menampilkan list
kategori kuis
Memilih salah satu
kategori dari list
kategori kuis dengan
status paket data
(internet) nonaktif
√
Sistem menampilkan pesan
notifikasi bahwa internet tidak
aktif.
Memilih salah satu
kategori dari list
kategori kuis dengan
status paket data
(internet) aktif
√
Sistem berhasil menampilkan
game play kuis berdasarkan list
kategori kuis yang dipilih.
4.6.1.2.5 Uji Halaman Game Play Kuis
Dilakukan beberapa pengujian pada halaman menu game play kuis, yang
dicantumkan dalam Tabel 4.13 di bawah ini:
Tabel 4. 13 Uji skenario halaman menu game play kuis.
Skenario Hasil Keterangan
Berhasil Gagal
Klik tombol
selanjutnya √ Sistem berhasil menampilkan soal
selanjutnya.
Klik tombol
sebelumnya √ Sistem berhasil menampilkan soal
sebelumnya.
Klik tombol selesai √
Sistem berhasil menampilkan skor
hasil latihan soal.
Waktu selesai √
Sistem otomatis menampilkan
skor hasil latihan soal.
113
4.6.1.2.6 Uji Halaman Skor
Dilakukan beberapa pengujian pada halaman skor, yang dicantumkan dalam
Tabel 4.14 di bawah ini:
Tabel 4. 14 Uji skenario halaman menu skor.
Skenario Hasil Keterangan
Berhasil Gagal
Selesai mengerjakan
kuis √
Sistem berhasil melakukan
penghitungan skor dan
menampilkannya.
Waktu habis saat
game play √
Sistem otomatis melakukan
penghitungan skor dan
menampilkannya.
4.6.1.2.7 Uji Halaman Tentang Aplikasi
Dilakukan beberapa pengujian pada halaman menu tentang aplikasi, yang
dicantumkan dalam Tabel 4.15 di bawah ini:
Tabel 4. 15 Uji skenario halaman menu tentang aplikasi.
Skenario Hasil Keterangan
Berhasil Gagal
Klik tombol tentang √
Sistem berhasil menampilkan
halaman keterangan aplikasi.
4.6.2 Pengujian Pengacakan soal dengan Algoritma Fisher Yattes
Pada tahap pengujian ini dilakukkan pemeriksaan langsung pada aplikasi
apakah soal-soal latihan kuis evaluasi pembelajaran berhasil diacak atau tidak. Dimana
dilakukan pengujian sebanyak 10 kali percobaan dengan jumlah 20 soal. Pada tabel
4.16 ini dapat dilihat hasil pengujian penggunaan algoritma fisher yates shuffle
terhadap pengacakkan soal-soal latihan kuis dapat dilihat sebagai berikut:
114
Tabel 4. 16 Pengujian Pengacakan soal dengan Algoritma Fisher Yattes.
Pengujian Ke- Hasil Kemunculan Nomor Soal
1 18, 12, 10, 16, 3, 9, 20, 14, 8, 11, 15, 6, 19, 17, 13, 1, 4, 5, 7, 2
2 16, 14, 5, 2, 1, 3, 17, 8, 13, 11, 10, 15, 12, 18, 9, 20, 19, 6, 7, 4
3 11, 9, 4, 5, 7, 19, 15, 14, 1, 17, 12, 6, 16, 3, 20, 18, 8, 10, 2, 13
4 10, 17, 20, 1, 15, 14, 8, 2, 9, 16, 11, 4, 3, 5, 7, 6, 12, 13, 18, 19
5 6, 10, 1, 18, 2, 5, 9, 13, 17, 19, 12, 8, 3, 16, 14, 20, 7, 11, 4, 15
6 14, 15, 4, 2, 9, 5, 11, 1, 20, 17, 6, 18, 13, 10, 8, 12, 3, 7, 16, 19
7 1, 9, 14, 3, 5, 10, 16, 20, 12, 17, 15, 4, 13, 18, 6, 2, 8, 19, 11, 7
8 7, 14, 9, 15, 12, 6, 8, 20, 5, 18, 2, 4, 17, 11, 10, 3, 1, 19,16, 13
9 6, 2, 20, 5, 14, 18, 16, 4, 12, 10, 13, 1, 8, 7, 17, 11, 19, 3, 15, 9
10 4, 15, 8, 10, 11, 19, 6, 17, 12, 2, 5, 18, 14, 1, 7, 13, 3, 9, 16, 20
Dan berikut merupakan source code penggunaan Algoritma Fisher Yates
Shuffle dalam pengacakan soal yang terdapat pada server.
Gambar 4. 19 Screenshot source code Algoritma Fisher Yates Shuffle.
Berdasarkan 10 kali pengujian yang telah dilakukkan menunjukkan bahwa
algoritma fisher yates shuffle dapat mengacak dengan benar, perulangan dilakukan
115
sebanyak data yang ada, dan data yang sudah diambil tidak akan diambil kembali,
sehingga dalam setiap pengujian/iterasi tidak terdapat data yang sama. Berdasarkan
pengujian tersebut, maka algoritma fisher yates shuffle dapat diterapkan dalam
aplikasi pembelajaran dan kuis agama Islam dan setiap kali membuka menu game
play kuis terjadi kemunculan acak pada soal yang ditampilkan.
Selanjutnya dilakukan komparasi terhadap metode pengacakan random
generator, pada pengacakan menggunakan random generator dilakukan hal yang
sama yaitu menggunakan pengujian sebanyak 10 kali percobaan dengan jumlah 20
soal. Pada tabel 4.17 ini dapat dilihat hasil pengujian penggunaan random generator
terhadap pengacakkan soal-soal latihan kuis dapat dilihat sebagai berikut:
Tabel 4. 17 Pengujian Pengacakan dengan random generator.
Pengujian Ke- Hasil Kemunculan Nomor Soal
1 15, 14, 11, 6, 20, 2, 11, 17, 1, 3, 1, 5, 2, 14, 20, 3, 18, 1, 17, 12
2 13, 2, 11, 4, 1, 4, 12, 1, 7, 3, 19, 16, 5, 6, 2, 9, 20, 10, 19, 13
3 5, 2, 1, 10, 6, 19, 7, 11, 17, 7, 6, 18, 1, 4, 17, 4, 14, 16, 11, 10
4 20, 1, 5, 8, 13, 5, 10, 20, 17, 5, 5, 17, 8, 8, 19, 2, 8, 11, 12, 7
5 13, 20, 13, 13, 8, 13, 2, 12, 5, 17, 7, 6, 11, 7, 9, 8, 18, 12, 16, 18
6 12, 8, 8, 9, 7, 2, 14, 2, 7, 11, 14, 10, 7, 1, 18, 15, 11, 10, 3, 7
7 14, 4, 1, 10, 19, 1, 10, 15, 1, 7, 19, 3, 5, 18, 8, 8, 4, 3, 7, 10
8 4, 18, 14, 1, 19, 9, 20, 4, 12, 14, 3, 10, 19, 19, 12, 1, 4, 2, 8, 9
9 9, 14, 17, 15, 20, 6, 7, 12, 19, 9, 16, 18, 14, 15, 4, 16, 1, 2, 4, 1
10 8, 14, 3, 8, 14, 12, 20, 6, 7, 6, 4, 6, 15, 5, 17, 13, 13, 10, 10, 20
Jika dibandingkan dengan Algoritma Fisher-Yates Shuffle, random generator
menghasilkan beberapa data yang sama seperti pada pengujian/iterasi ke 1 terdapat
14 sebanyak 2 kali, 11 sebanyak 2 kali, 20 sebanyak 2 kali, 2 sebanyak 2 kali, 17
sebanyak 2 kali, 1 sebanyak 3 kali dan yang terakhir 3 sebanyak 2 kali. Berdasarkan
116
pengujian tersebut dapat ditarik sebuah kesimpulan bahwa penggunaan metode
random generator tidak efisien dalam melakukan pengacakan, karena terdapat
kemungkinan kemunculan nomor soal yang sama dalam satu periode pengacakan.
4.6.3 Pengujian REST (Representational State Transfer) Web Services
Pada tahap pengujian REST (Representational State Transfer) Web Services ini
dilakukkan pemeriksaan menggunakan Postman yang merupakan sebuah aplikasi
(berupa plugin) untuk browser chrome, yang berfungsi sebagai REST Client atau dalam
istilahnya adalah aplikasi yang digunakan untuk melakukan uji coba REST API yang
telah dibuat. Dimana terdapat dua fokus utama pada pengujian ini yaitu pada fungsi
request data materi pada server dan fungsi request data kuis pada server, dimana
keduanya menggunakan method GET dalam proses request data.
Pada gambar 4.20 ini dapat dilihat hasil pengujian request untuk menampilkan
seluruh data materi pada server dengan menggunakan method GET, dapat dilihat
sebagai berikut:
Gambar 4. 20 Pengujian request data materi dengan method GET.
Dan berikut pada gambar 4.21 merupakan screenshot source code untuk
menampilkan resource data materi yang terdapat pada server.
117
Gambar 4. 21 Screenshot source code resource data materi.
Selanjutnya pada gambar 4.22 ini dapat dilihat hasil pengujian request untuk
menampilkan seluruh data kuis pada server dengan menggunakan method GET, dapat
dilihat sebagai berikut:
Gambar 4. 22 Pengujian request data kuis dengan method GET.
Dan berikut pada gambar 4.23 merupakan source code untuk menampilkan
resource data kuis yang terdapat pada server.
118
Gambar 4. 23 Screenshot source code resource data kuis.
Berdasarkan pengujian yang telah dilakukkan menunjukkan bahwa penggunaan
REST Web Services dapat diterapkan dalam aplikasi pembelajaran dan kuis agama
Islam dan setiap kali user membuka menu materi ataupun kuis, maka secara otomatis
client akan membuat request pada server dan selanjutnya server akan membuat
response berdasarkan method yang di request oleh client.
4.7 Transition (Transisi)
Dengan selesainya tahap ini maka berakhirlah proses pembangunan sistem ini.
Peluncuran sistem, sosialisasi dan implementasi dilakukan ditahap ini dan
maintenance selanjutnya diserahkan kepada client.
119
BAB V
PENUTUP
5.1 Kesimpulan
Kesimpulan yang dapat diambil dari Tugas Akhir dengan judul “Penerapan
Algoritma Fisher-Yates Shuffle pada Game Kuis Pembelajaran Agama Islam
Menggunakan Arsitektur Representational State Transfer (REST) Web Service” ini
sebagai berikut :
1. Algoritma Fisher-Yates Shuffle dapat diaplikasikan untuk pengacakan
pertanyaan pada game kuis pembelajaran agama islam dengan baik dan
optimal. Pertanyaan dimasukkan kedalam sebuah arraylist dengan panjang
20 (N=20) atau (array[0..19]) kemudian dilakukan pengacakan pada
perulangan dan pengecekan. Hasilnya, dari data yang terurut yaitu 1-2-3-4-
5-6-7-8-9-10-11-12-13-14-15-16-17-18-19-20, teracak menjadi 18-12-10-
16-3-9-20-14-8-11-15-6-19-17-13-1-4-5-7-2. Ini membuktikan bahwa hasil
pengacakan 100% telah berjalan dengan benar.
2. Representational State Transfer (REST) Web Services dalam game kuis
pembelajaran agama Islam berhasil diterapkan, dan berfungsi sebagai
arsitektur pertukaran data antara server dengan client. Dengan adanya
teknologi Representational State Transfer (REST) Web Services maka para
developer aplikasi sangat terbantu karena dalam pembangunan sebuah
sistem atau aplikasi dapat menggunakan service atau API yang sudah ada
tidak perlu membangun pula seluruh modul.
120
5.2 Saran
Dalam pengembangannya, aplikasi ini masih jauh dari sempurna oleh karena
itu diperlukan lagi pengembangan lebih lanjut, untuk itu saran akan sangat
membantu proses pengembangan penelitian dan aplikasi ke depannya. Adapun ide
atau saran yang dapat dijadikan sebagai bahan perbaikan, pengembangan atau
penyempurnaan implementasi ini kedepannya antara lain:
1. Pembuatan fitur favorit pada materi, dimana pengguna dapat menyimpan
materi yang menjadi favorit atau materi yang ingin dibaca kembali.
2. Untuk pengembangan selanjutnya bisa ditambahkan algoritma lain untuk
proses pengacakan.
3. Untuk pengembangan selanjutnya bisa ditambahkan fitur keamanan pada
proses pertukaran data antar client dan server (web services).
121
DAFTAR PUSTAKA
[1] Sumanto, “Implementasi REST Web Service Pada Permainan Asah Otak
Berbasis Android” Universitas Esa Unggul, Jakarta, 2015.
[2] Ummi, “Ummi - Online,” 13 11 2014. [Online]. Available:
http://www.ummi-online.com/8-bahaya-anak-kecanduan-game.html.
[Diakses 07 12 2016].
[3] F. N. F. Zain, “Rancang bangun game edukasi model guessing game
dalam materi perangkat keras,” Universitas Pendidikan Indonesia,
Bandung, 2014.
[4] M. dan e. a. , Paradigma Pendidikan Islam, Upaya Mengefektifkan
Pendidikan Agama Islam di Sekolah, Bandung: PT. Remaja Rosda Karya,
2008.
[5] U. Saokani, “Analisis Perbandingan Algoritma Fisher Yates Shuffle Dan
Linear Congruent Method Untuk Pengacakan Soal Ilmu Nahwu
Berbasis Android,” Jurnal Informatika, 2016.
[6] I. Haditama, “Implementasi Algoritma Fisher-Yates Dan Fuzzy
Tsukamoto Dalam Game Kuis Tebak Nada Sunda Berbasis Android,”
Teknik Informtika UIN SGD Bandung, vol. I No. 1, p. 58, 2016.
[7] M. D. S. H. Luarsa Sigit, “Penerapan Algoritme Fisher Yates pada Game
Edukasi Eco Mania Berbasis Unity 3D.,” STMIK Global Informatika MDP.
Palembang , 2015.
[8] F. Rohim, “Implementasi Model Arsitektur Representational State
Transfer (REST) Pada Aplikasi Web API Jejaring Sosial,” Teknik
Informatika UIN SGD Bandung, Bandung, 2013.
[9] B. H. I. &. E. Raharjo, Modul Pemrograman Web (HTML/PHP &
MySQL), Bandung: Modula, 2010.
[10] B. Susanto, “Pemrograman XML Security,” 08 2007. [Online]. Available:
http://budsus.files.wordpress.com/2007/08/xmlsecurity.pdf. [Diakses 27 09
2016].
[11] “Pengenalan JSON,” [Online]. Available: http://json.org/json-id.html.
[Diakses 27 09 2016].
122
[12] M. Muthu, “Web services - A Practical Approach,” [Online]. Available:
http://www.slideshare.net/madhaiyanm/web-services-a-practical-approach.
[Diakses 13 10 2016].
[13] A. d. H. Susanto, “Perancangan Ujian Online pada STMIK GI MDP
Berbasis Web,” Jurnal Teknik Informatika, Jurusan Teknik Informatika
STMIK GI MDP , 2008.
[14] “Digital library - Perpustakaan Pusat Unikom,” [Online]. Available:
http://elib.unikom.ac.id/download.php?id=255390. [Diakses 13 10 2016].
[15] Daryanto, Media Pembelajaran, Bandung: Satu Nusa, 2010.
[16] A. Faizata, “Media Pembelajaran Baca Al-Quran Menggunakan Metode
Gharib/Musykilat Berbasis Multimedia,” Teknik Informatika UIN SGD
Bandung, Bandung, 2012.
[17] M. P. S. Matematika, “Strategi Pembelajaran,” FKIP UNRAM, Mataram,
2011.
[18] M. S. Sutikno dan I. Rosyidah, Media Pembelajaran, Bandung: Prospect,
2009.
[19] O. T. Syahri, “Aplikasi Pembelajaran Berbantuan Komputer Berbasis
Konstruktivisme Pokok Bahasan Kimia Senyawa Hidrokarbon,”
Universitas Sumatera Utara, Medan, 2010.
[20] O. Hamalik, Kurikulum dan Pembelajaran Hal 57, Jakarta: Bumi Aksara,
2011.
[21] Muhaimin, Peradigma Pendidikan Islam, Hal 183, Bandung: Rosda.
[22] E. Priyanto, “Banjir Embun,” [Online]. Available:
http://banjirembun.blogspot.co.id/2014/10/pengertian-pembelajaran-
pendidikan.html. [Diakses 27 09 2016].
[23] N. . H. Safaat, Android Pemrograman Aplikasi Mobile Smartphone dan
Tablet PC Berbasis Android, Bandung: Penerbit Informatika, 2012.
[24] A. Pratama, Codeigniter: Cara Mudah Membangun Aplikasi PHP,
Jakarta: Mediakita, 2010.
[25] R. S. Pressman, Rekayasa Perangkat Lunak: Pendekatan Praktisi.
Diterjemahkan oleh: LN Harnaningrum, Yogyakarta: Andi, 2002.
[26] S. Daru dan A. Susanto, “Implementasi Rest Web Service Pada Game Kuis
“Ensiklopedia Indonesia” Berbasis Android,” Universitas Dian
Nuswantoro, Semarang, 2013.
123
[27] M. F. Adiwisastra, “Perancangan Game Kuis Interaktif Sebagai
Multimedia Pembelajaran Drill And Practice Untuk Meningkatkan
Hasil Belajar Siswa,” Jurnal Informatika, vol. II No. 1, p. 211, 2015.
[28] R. Y. d. Setyaningsih, “Game Matematika Untuk Pembelajaran Murid
SD,” Institut Teknologi Sepuluh Nopember, Surabaya, 2009.