PENERAPAN ALGORITMA FISHER-YATES SHUFFLE PADA SISTEM KUIS
UNTUK LATIHAN MENGERJAKAN UJIAN NASIONAL BERBASIS ANDROID
Agusman Riyadi
1, Etika Kartikadarma
2Teknik Informatika, Fakultas Ilmu Komputer, Universitas Dian Nuswantoro Jl. Imam Bonjol No. 207, Semarang, 50131, Telp. (024) 3517261 E-mail : 111201206861@mhs.dinus.ac.id1 , etikadarmaputri@gmail.com2
Abstrak
—
Ujian nasional adalah salah satu hal yang perlu diperhatikan oleh pihak sekolah, karena hasil dari ujian nasional dapat digunakan siswa untuk melanjutkan ke jenjang pendidikan selanjutnya atau menjadi bahan pertimbangan untuk melamar suatu pekerjaan. Sebagian besar dari kalangan siswa-siswi SMA Sederajat yang akan mengikuti ujian nasional mempunyai ponsel pintar, dan sebagian ponsel pintar yang digunakan berbasis android. Pada penelitian ini penulis membuat sebuah sistem yang dapat digunakan untuk latihan mengerjakan soal ujian nasional berbasis ponsel android. Penulis menerapkan algoritma fisher-yates shuffle untuk pengacakan soal agar soal dalam kuis mempunyai urutan yang berbeda. Berdasarkan presentase kepuasan kinerja dan manfaat yaitu 88,74%, Sistem kuis latihan soal mengerjakan ujian nasional di nilai dapat di gunakan sebagai latihan untuk menghadapi ujian nasional. Selain itu, setelah dilakukan pengujian black box algoritma Fisher-yates shuffle berhasil diterapkan pada sistem kuis latihan soal mengerjakan ujian nasional berbasis android.Kata kunci— Kuis, Fisher Yates-Shuffle, Ujian Nasional, Android.
Abstract
—
The national examination is one of the things that need to be considered by the school, because the results of a national exam can use to continue to further education or be taken into consideration to applying for a job. Most high school students who will follow the national exam have smartphones, and the majority of smartphones that use Android based. In this study the authors created a system that can be used to practice working on the national exam android-based phones. On such systems the author applies the fisher-yates randomization algorithm for randomize order of questions in the quiz has a different order. Based on the percentage of satisfaction of the performance and the benefits i.e. 88,74%, this system can be used as an exercise to deal with a national examination. In addition, after a black box test algorithms Fisher-yates shuffle successfully applied on the System Of The High School National Exam Exercise Based On Android.Keyword— Quiz, Fisher Yates-Shuffle, National Examination, Android.
1. PENDAHULUAN
Penyelenggaraan Ujian Nasional menjadi hal yang perlu diperhatikan bagi pihak Sekolah Menengah Atas Sederajat. Meskipun hasil Ujian Nasional untuk saat ini hanya digunakan untuk pemetaan pemerataan kualitas pendidikan nasional, namun hasil Ujian Nasional masih menjadi bahan pertimbangan untuk seleksi masuk jenjang pendidikan selanjutnya. Sedangkan bagi yang tidak melanjutkan ke jenjang pendidikan selanjutnya hasil Ujian Nasional juga menjadi bahan pertimbangan untuk melamar sebuah pekerjaan. Oleh karena itu, pihak sekolah baik negeri maupun swasta mempersiapkan siswa-siswi mereka agar dapat mengerjakan soal-soal Ujian Nasional, seperti menambah jam belajar dan mengadakan try out.
Pada tahun 2014 telah diadakan ujian nasional berbasis komputer di SMP Indonesia Singapura dan SMP Indonesia Kuala Lumpur[1], dan pada tahun 2015, sebanyak 556 sekolah telah mengikuti Ujian Nasional Berbasis Komputer[2]. Oleh karena itu, diperlukan latihan ataupun simulasi yang digunakan untuk mengerjakan Ujian Nasional Berbasis Komputer. Salah satu cara yang dapat digunakan untuk latihan ataupun simulasi Ujian Nasional Berbasis Komputer adalah dengan menggunakan aplikasi kuis. Dengan aplikasi kuis yang berisikan soal-soal pilihan ganda, pihak sekolah dapat melakukan simulasi atau latihan Ujian Nasional Berbasis
Komputer. Selain itu, pihak sekolah dapat mendistribusikan soal-soal latihan soal dengan cepat kepada siswa-siswi mereka.
Agar setiap soal yang diberikan mempunyai urutan yang berbeda untuk setiap siswa, pada sistem latihan ujian nasional perlu dilakukan pengacakan soal. Dalam pemrograman android telah tersedia fungsi random yang digunakan untuk mengacak urutan bilangan. Namun, untuk menghasilkan bilangan acak yang membentuk pola yang lebih seimbang (tidak terjadi pola yang dominan), pada Algoritma Fisher-yates Shuffle memanfaatkan fungsi random tersebut untuk membentuk pola acak yang seimbang. Sebagai contoh, pada penelitian sebelumnya yang berjudul A Simulated Enchancement of Fisher-Yates Algorithm fo Shuffling in Virtual Card Games using Domain-Spesific[3], algoritma
fisher-yates shuffle digunakan untuk mengacak kartu dalam sebuah game. Hasilnya, sangat tidak mungkin dalam dua kali pengacakan terdapat pola yang sama terhadap 54 kartu. Hal tersebut membuktikan bahwa algoritma ini menghasilkan pola acak yang seimbang. Selain menghasilkan pola yang seimbang, algoritma ini mudah dalam implementasi pada bahasa pemrograman. Sehingga pada penelitian ini penulis bermaksud menerapkan algoritma Fisher-Yates Shuffle pada sebuah kuis latihan mengerjakan ujian nasional SMA Sederajat.
Berdasarkan penelitian Google, pada kuartal 1 tahun 2013. Bekerjasama dengan Ipsos MediaCT, Google melakukan penelitian pengguna ponsel pintar di Indonesia. Dari hasil
penelitian tersebut sebanyak 50% dari seluruh pengguna ponsel pintar adalah kalangan anak muda yaitu usia 18 – 24 tahun merupakan pengguna ponsel pintar[4]. Sedangkan berdasarkan laporan GFK perusahaan penyedia sumber informasi pasar dan konsumen penggunaan ponsel pintar android dalam periode Januari – November 2015 masih mendominasi peredaran ponsel pintar di Indonesia dengan angka 67,83% dari seluruh pengguna ponsel pintar[5]. Berdasarkan fakta tersebut membuktikan banyak pengguna ponsel pintar dari kalangan siswa-siswi SMA sedrajat tingkat akhir yang harus mempersiapkan Ujian Nasional, dan sebagian besar pengguna posel pintar adalah pengguna posel pintar android.
Berdasarkan latar belakang yang telah dibahas di atas, penulis ingin merancang sebuah aplikasi kuis menggunakan algoritma fisher-yates shuffle pada perangkat mobile android diharapkan dapat membantu siswa-siswi SMA Sederajat untuk mempersiapkan diri menghadapi ujian nasional.
2. LANDASAN TEORI
2.1. Algoritma Fisher-Yates Shuffle
Metode Pengacakan fisher-yates shuffle ditemukan oleh Ronald Fisher dan Frank Yates. Metode ini diperkenalkan pertama kali pada tahun 1934 dan kemudian direvisi kembali pada tahun 1984. Algoritma ini menghasilkan suatu permutasi acak dari suatu himpunan terhingga. Jika diimplementasikan dengan benar algoritma ini akan menghasilkan permutasi yang adil atau tidak menghasilkan pola yang dominan.
Metode dasar dalam algoritma fisher yates shuffle untuk menghasilkan permutasi acak untuk angka 1 sampai N adalah sebagai berikut:
1. Tuliskan dari angka 1 sampai dengan N.
2. Pilih sebuah angka acak k diantara 1 sampai dengan angka-angka yang belum dicoret.
3. Hitung dari bawah coret angka K diantara 1 sampai dengan angka-angka yang belum dicoret, dan tuliskan angka K tersebut di lain tempat.
4. Ulangi langkah 2 sampai 3 sampai semua angka sudah tercoret.
5. Urutan angka yang dituliskan pada langkah 3 adalah permutasi acak dari angka awal.
Pada versi yang terbaru angka yang terpilih tidak di coret melainkan posisi nya dipindah dengan angka terakhir dari angka yang belum dipilih[6]. Contoh dari penyelesaian menggunakan algoritma dengan versi terbaru akan di tampilkan pada tabel berikut. Range merupakan jarak angka yang belum dipilih, roll merupakan angka yang dipilih secara acak, sedangkan scratch merupakan angka-angka yang belum terpilih, dan result merupakan hasil permutasi yang diperoleh.
TABEL I
CONTOH PENGERJAAN FISHER-YATES SHUFFLE
Range Roll Scratch Result
1 2 3 4 5 6 7 8 1-8 6 1 2 3 4 5 8 7 6 1-7 2 1 7 3 4 5 8 2 6 1-6 6 1 7 3 4 5 8 2 6 1-5 1 5 7 3 4 1 8 2 6 1-4 3 5 7 4 3 1 8 2 6 1-3 3 5 7 4 3 1 8 2 6 1-2 1 7 5 4 3 1 8 2 6
Permutasi yang diperoleh dari perhitungan tersebut adalah : 7 5 4 3 1 8 2 6.
2.2. Client Server
Client Server merupakan model komunikasi antara dua
komputer atau lebih yang bertujuan melakukan pembagian tugas. Client melakukan tugas seperti menampilkan, menginput, mengedit dan melakukan penghapusan data dari database. Sedangkan server melakukan tugas menyediakan pelayanan untuk client dengan melakukan pengelolaan, yaitu menyimpan dan mengolah database. Client mengirim permintaan ke server, kemudian server merespon dengan menerjemahkan pesan, kemudian berusaha memenuhi permintaan [7] Atau Client Server merupakan arsitektur dimana sumber daya server menyediakan komputasi untuk banyak komponen client. Client dan Server dapat berjalan pada perangkat yang berbeda ataupun sama , menggunakan sistem operasi dan menggunakan bahasa yang berbeda[8].
2.3. Aplikasi Berbasis WEB
Aplikasi web adalah aplikasi yang dijalankan menggunakan teknologi browser dan diakses menggunakan jaringan komputer[9]. Dapat diambil kesimpulan dari pengertian tersebut bahwa aplikasi web merupakan aplikasi yang diakses melalui jaringan komputer baik intranet maupun internet dan dijalankan menggunakan web browser. Berikut adalah bahasa pemrograman yang mendukung aplikasi berbasis WEB : Java, JavaScript, Ruby, Php, Python, dan bahasa pemrograman lainnya.
2.4. Android
2.4.1 Sejarah Singkat Android
Android merupakan sistem operasi untuk telpon seluler yang berbasis linux. Android memudahkan pengembang aplikasi perangkat selular dengan menyediakan platform yang terbuka.
Awalnya pendatang baru pembuat piranti lunak untuk perangkat lunak selular di beli oleh Google Inc. Setelah itu untuk mengembangkanya, dibentuklah Open Handset Alliance,
konsorsium dari 34 perusahaan peranti lunak, peranti keras, dan telekomunikasi, termasuk Intel, Motorola, HTC, Google, Qualcomm, Nvidia dan T-Mobile.
Akhirnya pada awal Maret 2009 Google berhasil merilis sistem operasi Android hasil pengembangan yang pertama yaitu android versi 1.1 pada perangkat ponsel pintar. Pada tahun yang sama Google kembali merilis sistem operasi versi 1.5 yang dikenal dengan nama Cupcake.
Cupcake adalah nama pertama yang digunakan untuk versi sistem operasi android, yaitu dimulai dari versi 1.5. Google merilis setiap sistem operasi android bersamaan dengan perangkat lunak pengembanganya yang disebut Android Software Development Kit (Android SDK) [10]. 2.4.2 Arsitektur Android
1. Application dan Widgets
Applications dan Widgets merupakan layer yang menghubungkan kita dengan aplikasi saja, di mana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Di dalam layer terdapat aplikasi inti seperti klien program SMS, email, peta, kalender, kontak, browser, dan lain-lain.
2. Application Frameworks
Android adalah “Open Development Platform” artinya android memberikan kemudahan untuk pengembang untuk melakukan inovasi dalam melakukan pengembangan sebuah perangkat lunak. Pada layer Application Frameworks ini, pengembang dapat merancang dan membuat aplikasi yang berkaitan dengan content-providers seperti panggilan telepon dan SMS.
3. Libraries
Libraries ini merupakan tempat dimana fitur-fitur yang
terdapat pada android. Biasanya digunakan oleh para pengembang untuk mengakses aplikasinya. Layer ini meliputi bermacam-macam library C/C++, serta berjalan di atas kernel 4. Android Runtime
Layer ini pada prosesnya menggunakan implementasi linux, sehingga aplikasi android dapat dijalankan. Dalvik
Virtual Machine (DVM) adalah mesin yang membentuk dasar
kerangka aplikasi Android. 5. Linux Kernel
Linux kernel merupakan layer dimana inti dari sistem operasi dari Android itu berada. Layer ini berisi file-file sistem yang mengatur sistem, resource drivers, memory, processing dan yang berkaitan dengan sistem operasi pada linux. Linux pada android adalah linux versi 2.6.
2.5. Extreme Programming
Dalam pembuatan aplikasi quis untuk Untuk Latihan Mengerjakan ujian nasional siswa-siswi SMA sedrajat berbasis android ini, Penulis menggunakan metode rekayasa perangkat lunak Extreme Progamming. Extreme Progamming merupakan Model proses yang menekankan pada fast delivery dari setiap poin aktivitas dalam rangka memperpendek jangka waktu proyek pembangunan perangkat lunak. Extreme terdiri dari empat tahap yaitu perencanaan, desain, coding, dan testing.
Gambar 1. Metode pengembangan Extreme Programming
1. Tahap Perencaan
Tahap ini merupakan pengumpulan user stories. Setiap user stories ditetapkan mengenai biaya dan jadwal pengembangan, apabila user stories terlalu besar, user stories dapat dipecah menjadi beberapa user stories yang lebih kecil.
2. Tahap Desain
Tahap ini berprinsip sederhana dengan memanfaatkan kartu CRC (Class-ResponsibilityCollaborator) untuk identifikasi dan mengatur class-class di konsep OO. Jika temui kesulitan, prototype dibangun dari perangkat lunak dibangun. Lakukan refactoring, yaitu mengembangkan desain dari program setelah ditulis.
3. Tahap Coding
Tahap ini adalah penulisan kode program dalam bahasa pemrograman. Tahap ini harus berkesinambungan atau harus sesuai dengan tahap-tahap yang telah dilakukan sebelumnya yaitu tahap perencanaan dan tahap desain. Unit test harus disiapkan terlebih dahulu sebagai fokus yang harus dikerjakan dalam membuat program.
4. Tahap Testing
Tahap ini bertujuan untuk menguji perangkat lunak yang telah dibangun dengan menggunakan beberapa spesifikasi yang telah disusun sebelum tahap pengkodean.
3. METODE PENELITIAN 3.1. Instrumen Penelitian
Penelitian yang dilakukan menggunakan beberapa instrument, baik instrument berupa software maupun hardware yang digunakan dalam penelitian terkait sejak awal penelitian yaitu proses pengumpulan data hingga penelitian selesai dilakukan. Berikut merupakan instrument yang digunakan dalam penelitian:
3.1.1. Software
Software atau perangkat lunak yang digunakan dalam perancangan Sistem pada penelitian ini adalah :
a. Operating System
Operating System yang digunakan dalam penelitian ini menggunakan windows 7 Ultimate 64-bit.
JDK yang digunakan penulis dalam perancangan aplikasi dalam penelitian ini adalah JDK 1.8.0_74.
c. JRE(Java Runtime Environtment)
JRE yang digunakan penulis dalam perancangan aplikasi dalam penelitian ini adalah JRE7.
d. Android SDK
Dalam membangun aplikasi berbasis android penulis menggunakan software pengembangan Android SDK. Android SDK yang digunakan penulis dalam penelitian ini adalah android SDK Revisi 22.3.
e. Eclipse
Dalam menuliskan kode-kode pemrograman java yang digunakan untuk membangun aplikasi android serta melakukan kompilasi penulis menggunakan IDE Eclipse Luna Services Release 1a (4.4.1).
f. Notepad++
Dalam menuliskan kode-kode web sebagai server dengan menggunakan pemrograman PHP, penulis menggunakan IDE Notepad++ v.6.7.9.2.
3.1.2. Hardware
Hardware atau perangkat keras yang digunakan dalam pembuatan Sistem pada penelitian ini adalah:
a. Processor
Processor yang digunakan dalam perancangan aplikasi dalam penelitian ini adalah AMD A8-4500 APU with Radeon(tm) HD Graphics 4 (CPUs), 1,9GHz.
b. Memory
Memory yang digunakan dalam perancangan aplikasi dalam penelitian ini yaitu RAM DDR3 berkapasitas 4GB c. VGA(Video Graphic Adapter)
VGA yang digunakan dalam perancangan aplikasi dalam penelitian ini yaitu 512MB ATI AMD Radeon HD 7640G + 7470M Dual Graphics (ASUStek Computer Inc). Dan 1024MB ATI AMD Radeon HD 7470M (ASUStek Computer Inc).
3.2. Prosedur Pengambilan Data
1. Kuesioner
Penelitian ini menggunakan kuesioner yang ditujukan kepada 40 sampel siswa-siswi SMK Kejuruan Teknik Komputer dan Jaringan dengan range usia antara 15-19 tahun. Kuisioner tersebut akan berisi tentang kinerja sistem dan manfaat nya untuk digunakan untuk latihan mengerjakan soal-soal ujian nasional.
2. Studi Pustaka
Dalam proses studi pustaka penulis mencari sumber-sumber yang dapat di jadikan landasan atau acuan dalam penelitian seperti pada buku dan berbagai sumber yang dapat menunjang penelitian diataranya adalah:
a) Materi tentang Software Engineering dan pemrograman berbasis objek.
b) Jurnal-jurnal penelitian tentang pengacakan soal dan sistem kuis.
c) Materi tentang Bahasa Indonesia, Bahasa Inggris, Produktif Teknik Komputer dan Jaringan.
d) Buku Pedoman Tugas Akhir Program Studi Teknik Informatika S-1 Fakultas Ilmu Komputer, Universitas Dian Nuswantoro.
3.3. Metode Pengacakan Soal
Alur dari algoritma Fisher-Yates Shuffle tersebut dapat dijelaskan pada flowchart berikut ini:
Gambar 2. Flowchart Algoritma Fisher-Yates Shuffle
4. PERANCANGAN DAN IMPLEMENTASI SISTEM 4.1. Perancangan
4.1.1. Use Case Diagram
Use Case diagram Sistem kuis latihan mengerjakan ujian nasional SMA Sederajat terdiri dari use case server yang berbasis web dan use case client yang berbasis android. Berikut adalah use case sistem kuis Untuk Latihan Mengerjakan ujian nasional SMA Sederajat:
1. Use Case Server
Pada use case gambar 4.1 di bawah ini, terdapat 2 aktor yang terlibat dalam sistem, yakni super admin dan operator. Operator dan super admin di generalisasi menjadi administrator. Seorang administrator mempunyai tugas mengelola data soal, data mapel. Super admin mempunyai tugas khusus yang tidak dilakukan operator yaitu memanage data admin.
Gambar 3. Use Case Server
2. Use Case Client
Pada use case gambar 4.2 di bawah ini, terdapat pengguna sebagai aktor yang terlibat dalam sistem. Dalam sistem pengguna dapat melakukan tugas mulai latihan yaitu untuk mengerjakan soal-soal latihan, melihat skor untuk melihat skor dari hasil latihan yang dikerjakan, tentang untuk melihat tentang aplikasi, keluar untuk keluar dari aplikasi.
Gambar 4. Use Case Client
4.1.2. Activity Diagram
Pada activity diagram akan menggambarkan aliran kerja atau atau aktivitas dari sistem kuis. Activity digram tersebut akan menggambarkan aktivitas-aktivitas admin dan client pada sistem kuis. Berikut adalah activity diagram sistem kuis Untuk Latihan Mengerjakan ujian nasional:
Gambar 5. Activity Diagram
4.2. Implementasi Sistem
4.2.1. Sistem Server 1. Login
Halaman Login pada gambar 6 di bawah ini merupakan halaman awal sistem server. Sebelum admin mengelola halaman server, administrator harus melakukan login dengan menggunakan username dan password.
2. Dashboard
Halaman Dashboard pada gambar 7 di bawah ini merupakan halaman yang memuat menu-menu utama dalam sistem server. Terdapat enam menu utama yaitu input soal, kelola soal, input mapel, kelola mapel, input admin, dan kelola admin.
Gambar 7. Dashboard
3. Input Soal
Halaman Input Soal pada gambar 8 di bawah ini merupakan halaman untuk menginput soal. Pada halaman ini admin melakukan proses input soal, pilihan jawaban, jawaban benar, waktu pengerjaan soal, dan mata pelajaran dari soal.
Gambar 8. Input Soal
4. Kelola Soal
Halaman Kelola Soal pada gambar 9 di bawah ini merupakan halaman untuk mengelola soal-soal yang telah di input. Pada halaman ini administrator dapat melihat detail soal, mengedit soal dan menghapus soal.
Gambar 9. Kelola Soal
5. Input Mata Pelajaran
Halaman Input Mata Pelajaran pada gambar 10 di bawah ini merupakan halaman untuk menginput mata pelajaran yang akan diujikan dalam kuis.
Gambar 10. Input Mata Pelajaran
6. Kelola Mata Pelajaran
Halaman Kelola Soal pada gambar 11 di bawah ini merupakan halaman untuk mengelola mata pelajaran yang telah di input. Pada halaman ini administrator dapat mengedit mata pelajaran dan menghapus mata pelajaran.
Gambar 11. Kelola Mata Pelajaran
4.2.2. Sistem Client 1. Username
Halaman username pada gambar 12 di bawah ini merupakan halaman untuk menginput username pemain. Setelah menginput username user menekan tombol masuk untuk masuk ke dalam sistem.
2. Menu Utama
Halaman Menu Utama pada gambar 13 di bawah ini merupakan halaman yang memuat menu utama. Menu utama dari sistem kuis yaitu Mulai, Skor, Tentang, dan keluar.
Gambar 13. Menu Utama
3. Mapel
Halaman Mata Pelajaran pada gambar 14 di bawah ini merupakan halaman untuk memilih mata pelajaran. Mata pelajaran yang ada merupakan mata pelajaran yang sudah diinput pada sistem server.
Gambar 14. Mapel
4. Pertanyaan
Halaman Pertanyaan pada gambar 15 di bawah ini ditampilkan pertanyaan, waktu mengerjakan, jawaban. Pada halaman inilah user mulai mengerjakan kuis sesuai dengan mata pelajaran yang dipilih.
Gambar 15. Pertanyaan
5. Tentang
Halaman Tentang pada gambar 16 di bawah ini merupakan halaman untuk menampilkan deskripsi tentang aplikasi.
Gambar 16. Tentang
6. Skor
Halaman Skor pada gambar 17 di bawah ini merupakan halaman untuk menampilkan riwayat skor berdasarkan kuis yang telah di kerjakan user.
5. KESIMPULAN
Dari hasil pengujian sistem yang telah dilaksanakan algoritma Fisher-Yates Shuffle dapat di terapkan pada sistem latihan mengerjakan soal Ujian Nasional SMA Sederajat berbasis android. Namun untuk impelementasinya pengacakan soal tidak perlu menggunakan algoritma Fisher-Yates Shuffle.
DAFTAR PUSTAKA
[1] kemdikbud, “Ujian Nasional Berbasis Komputer,” kemdikbud, [Online]. Available: http://unbk.kemdikbud.go.id/. [Diakses 29 Februari 2016].
[2] BBC, “Berita Indonesia,” BBC, 13 April 2015.
[Online]. Available:
http://www.bbc.com/indonesia/berita_indonesia/2015/0 4/150412_ujian_nasional_2015#orb-banner. [Diakses 29 Februari 2016].
[3] A. Ibijola dan A. Olu, “A Simulated Enchancement of Fisher-Yates Algorithm fo Shuffling in Virtual Card Games using Domain-Spesific Data Structures,”
International Journal of Computer Applications, vol.
54, pp. 24-28, 2012.
[4] I. MediaCT, “Our Mobile Planet Indonesia,” 1 Mei
2013. [Online]. Available:
http://services.google.com/fh/files/misc/omp-2013-id-local.pdf. [Diakses 10 Juni 2015].
[5] statcounter, “Top 8 Mobile Operating System in Indonesia from Jan to Nov 2015,” [Online]. Available: http://gs.statcounter.com/#mobile_os-ID-monthly-201501-201511-bar. [Diakses 17 November 2015]. [6] A. Susanto dan H. Honggo, “Perancangan Ujian Online
pada STMIK GI MDP Berbasis WEB,” STMIK
GLOBAL INFORMATIKA MDP, pp. 1-10, 2013.
[7] J. a. R. S. Gallaugher, “The Critical Choice of Client Server Architecture:,” dalam Information Systems
Management, Deloitte & Touche, Auerbach Publications, 1996, pp. 7-13.
[8] W. J. Premerlani dan M. R. Blaha, Object Oriented Modelling and Design for Database Applications, New Jersey: Prentice-Hall, 1998.
[9] J. Remick, “What Is a Web App? Here’s Our Definition,” 30 1 2011. [Online]. Available: http://web.appstorm.net/general/opinion/what-is-a-web-app-heres-our-definition/. [Diakses 31 5 2015]. [10] Irawan, “Sejarah Android,” dalam membuat Aplikasi
android untuk Orang Awam, Palembang, Penerbit