IMPLEMENTASI ARSITEKTUR MONOLITIK
PADA TES BERBENTUK ESAI BERBASIS WEB
SKRIPSI
MUHAMMAD REFDA 4816040291
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
IMPLEMENTASI ARSITEKTUR MONOLITIK
PADA TES BERBENTUK ESAI BERBASIS WEB
SKRIPSI
Dibuat untuk Melengkapi Syarat-Syarat yang Diperlukan
untuk Memperoleh Diploma Empat Politeknik
MUHAMMAD REFDA
4816040291
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2020
iii
HALAMAN PERNYATAAN ORISINALITAS
Skrpsi ini adalah hasil karya saya sendiri,
dan semua sumber baik yang dikutip maupun dirujuk
telah saya nyatakan dengan benar.
Nama : Muhammad Refda
NIM : 4816040291
Tanggal : 15 Juli 2020
Tanda Tangan :
iv
LEMBAR PENGESAHAN
v
KATA PENGANTAR
Puji serta syukur penulis haturkan kepada Allah SWT. Yang telah melimpahkan
hidayah serta karunianya dan memberi penulis kesempatan dalam menyelesaikan
laporan Skripsi ini. Laporan ini dibuat untuk Melengkapi Syarat-Syarat yang
Diperlukan untuk memperoleh Diploma Empat Jurusan Teknik Informatika dan
Komputer Politeknik Negeri Jakarta. Laporan Skripsi ini berjudul Implementasi
Arsitektur Monolitik Pada Tes Berbentuk Esai Berbasis Web. Penulis menyadari
bahwa, tanpa bantuan dari berbagai pihak penyusunan laporan Skripsi ini sulit
bagi penulis untuk menyelesaikan laporan tersebut. Oleh karena itu, penulis
mengucapkan terima kasih kepada :
1. Mauldy Laya, S.Kom., M.Kom., selaku ketua jurusan TIK PNJ.
2. Risna Sari, S.Kom., M.Ti., selaku KPS D4 Teknik Informatika.
3. Nur Fauzi Soelaiman, S.T, M.Kom selaku dosen pembimbing yang telah
banyak memberikan arahan dalam menyelesaikan proyek skripsi serta
laporannya.
4. Nana Sofiana, selaku Kepala Sekolah SMP AMALIYAH JAKARTA yang
telah memperbolehkan penulis untuk melakukan studi kasus pada sekolah yang ia
pimpin.
5. Para karyawan dan guru SMP AMALIYAH JAKARTA yang telah banyak
membantu penulis dalam menyelesaikan proyek serta laporan skripsi ini.
6. Keluarga penulis yang telah memberikan dukungan penuh dalam
menyelesaikan laporan skripsi ini.
Akhir kata, penulis berharap Allah SWT. membalas segala kebaikan pihak yang
telah membantu. Semoga laporan skripsi ini membawa manfaat bagi para
pembaca.
Depok, Maret 2020
Penulis
vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Politeknik Negeri Jakarta, saya yang bertanda tangan
di bawah ini:
Nama : Muhammad Refda
NIM : 4816040291
Program Studi : Teknik Informatika
Jurusan : Teknik Informatika dan Komputer
Jenis karya : Skripsi /Tesis/Disertasi/ Karya Ilmiah Lainnya*
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Politeknik Negeri Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive
Royalty- Free Right) atas karya ilmiah saya yang berjudul :
IMPLEMENTASI ARSITEKTUR MONOLITIK PADA TES
BERBENTUK ESAI BERBASIS WEB beserta perangkat yang ada (jika
diperlukan). Dengan Hak Bebas Royalti Noneksklusif ini Politeknik Negeri Jakarta
berhak menyimpan, mengalihmedia/format-kan, mengelola dalam bentuk
pangkalan data (database), merawat, dan memublikasikan skripsi saya selama tetap
mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Jakarta Pada tanggal : 23 Maret 2020
Yang menyatakan
Muhammad Refda
vii
Impelementasi Arsitektur Monolitik Pada Tes
Berbentuk Esai Berbasis WEB
Abstrak
Sebuah ulangan harian merupakan suatu proses untuk mengukur tingkat kepahaman seorang siswa pada suatu mata pelajaran. Sebuah ujian terbagi menjadi 2 tipe, Paper Based Test (PBT) dan Computer Based Test (CBT). SMP AMALIYAH JAKARTA sudah beralih dari Paper Based Test (PBT) ke Computer Based Test (CBT), tetapi untuk Computer Based Test (CBT) hanya pada tes yang berformat pilihan ganda. Untuk tes yang mempunyai format esai belum menggunakan sistem Computer Based Test (CBT). Computer Based Test (CBT) menggunakan mobile atau desktop untuk pelaksanaan tes serta web untuk memasukkan data-data soal maupun jawaban. Pembuatan sistem Computer Based Test (CBT) untuk bagian soal esai dibangun dengan arsitektur monolitik.
Kata Kunci: CBT, PBT, Monolitik, Tes, Esai
v
DAFTAR ISI
HALAMAN PERNYATAAN ORISINALITAS ............................................... iii
LEMBAR PENGESAHAN ............................................................................................. iv
KATA PENGANTAR ....................................................................................................... v
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK KEPENTINGAN AKADEMIS ....................................................................................... vi
Abstrak ............................................................................................................................ vii
DAFTAR ISI...................................................................................................................... v
DAFTAR GAMBAR ...................................................................................................... viii
DAFTAR TABEL ............................................................................................................ ix
BAB I .................................................................................................................................. 7
PENDAHULUAN ............................................................................................................. 7
1.1. Latar Belakang .................................................................................................. 7
1.2. Perumusan Masalah ......................................................................................... 7
1.3. Batasan Masalah ............................................................................................... 8
1.4. Tujuan ................................................................................................................ 8
1.5. Manfaat .............................................................................................................. 8
1.6. Metode Pelaksanaan Tugas Akhir ................................................................... 8
BAB II ................................................................................................................................ 7
TINJAUAN PUSTAKA .................................................................................................... 7
2.1 Penelitian Sebelumnya ...................................................................................... 7
2.2 Kesimpulan Penelitian Sebelumnya .............................................................. 13
2.3 Arsitektur Monolitik ....................................................................................... 13
2.4 Arsitektur Micro-service ................................................................................. 14
2.5 Client-Server ..................................................................................................... 14
2.6 Website .............................................................................................................. 14
2.7 Web service ....................................................................................................... 14
2.8 RESTful ............................................................................................................ 15
2.9 Application Programming Interface (API) ..................................................... 15
2.10 Request Method .................................................................................................... 15
2.11 Kode Status (Status Code)................................................................................... 16
2.11.1 Informational .................................................................................................... 16
2.11.2 Successfull ......................................................................................................... 16
vi
2.11.3 Redirection ........................................................................................................ 17
2.11.4 Client Error ....................................................................................................... 18
2.11.5 Server Error ....................................................................................................... 20
2.12 JSON .................................................................................................................... 21
2.13 Postman ................................................................................................................ 21
2.14 Paper Based Test (PBT) ...................................................................................... 21
2.15 Computer Based Test (CBT) ............................................................................... 21
2.16 MySQL ................................................................................................................. 22
2.17 PHP ...................................................................................................................... 22
2.18 Laravel ................................................................................................................. 22
2.19 Unified Modeling Language ................................................................................ 22
2.20 Konsep MVC ....................................................................................................... 23
2.21 Black Box Testing ................................................................................................ 23
2.22 Response Time Testing ........................................................................................ 23
BAB III ............................................................................................................................. 24
PERANCANGAN DAN REALISASI ........................................................................... 24
3.1 Deskripsi Program .......................................................................................... 24
3.1.1 Flowchart Aplikasi .................................................................................. 25
3.1.2 Perancangan Database ........................................................................... 26
3.1.3 Perancangan UML .................................................................................. 26
3.2.1 Tampilan Aplikasi ....................................................................................... 27
BAB IV ............................................................................................................................. 36
PEMBAHASAN .............................................................................................................. 36
4.1 Pengujian ......................................................................................................... 36
4.2 Deskripsi Pengujian ........................................................................................ 36
4.3 Prosedur Pengujian ........................................................................................ 36
4.3.1 Prosedur Pengujian Alpha Testing ............................................................ 36
4.3.2 Prosedur Pengujian Response Time ........................................................... 37
4.4 Data Hasil Pengujian ...................................................................................... 38
4.5 Analisis Data / Evaluasi .................................................................................. 40
BAB V ............................................................................................................................ 101
PENUTUP ...................................................................................................................... 101
5.1 Simpulan ........................................................................................................ 101
5.2 Saran .............................................................................................................. 101
vii
DAFTAR PUSTAKA .................................................................................................... 103
viii
DAFTAR GAMBAR
Gambar 2.1. Arsitektur Monolitik ......................................................................... 13 Gambar 3.1 Arsitektur Monolitik Aplikasi Esai ................................................... 24 Gambar 3.2 Flowchart Aplikasi ........................................................................... 25 Gambar 3.3 ERD Aplikasi ................................................................................... 25 Gambar 3.4 Use Case Aplikasi Tes Esai ............................................................. 26 Gambar 3.5 Halaman Registrasi Guru ................................................................. 27 Gambar 3.6 Halaman Login Guru ........................................................................ 28 Gambar 3.7 Halaman Dashboard ........................................................................ 28 Gambar 3.8 Halaman Mata Pelajaran .................................................................. 29 Gambar 3.9 Halaman Bab berdasarkan mapel ..................................................... 29 Gambar 3.10 Halaman Daftar Soal ....................................................................... 30 Gambar 3.11 Halaman Input Soal ........................................................................ 30 Gambar 3.12 Halaman Ubah Soal ........................................................................ 31 Gambar 3.13 Halaman Hapus Soal ...................................................................... 32 Gambar 3.14 Kode Program Register Siswa (API) ............................................. 32 Gambar 3.15 Kode Program Login Siswa (API) ................................................. 33 Gambar 3.16 Kode Program Menampilkan Kelas Untuk Siswa (API) ............... 33 Gambar 3.17 Kode Program Menampilkan Mapel Untuk Siswa (API) .............. 33 Gambar 3.18 Kode Program Menampilkan Bab Untuk Siswa (API) .................. 34
ix
DAFTAR TABEL
Tabel 2.1 Penelitian Sebelumnya …………………………………………………7 Tabel 4.1 Alpha Testing ...................................................................................... 36 Tabel 4.2 Pengujian Response Time ..................................................................... 37 Tabel 4.3 Hasil Pengujian Alpha Testing ............................................................. 38 Tabel 4.4 Hasil Pengujian Response Time ........................................................... 39
7
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
BAB I
PENDAHULUAN
1.1. Latar Belakang
Sebuah ujian atau ulangan harian merupakan suatu proses untuk mengukur tingkat
kepahaman seorang siswa pada suatu mata pelajaran ataupun pada satu bab mata
pelajaran. Sebuah ujian biasanya terbagi menjadi 2 tipe, Paper Based Test (PBT)
dan Computer Based Test (CBT). Untuk ujian yang masih berbasis Paper Based
Test (PBT) yang sistemnya menggunakan kertas dan pensil. Paper Based Test
(PBT) mempunyai kelemahan yaitu pengkoreksian hasil tes yang memakan waktu
(Jihad dan Haris, 2012).
SMP AMALIYAH JAKARTA sudah beralih dari Paper Based Test (PBT) ke
Computer Based Test (CBT), tetapi untuk Computer Based Test (CBT) hanya pada
tes yang berformat pilihan ganda saja. Untuk tes yang mempunyai format esai
belum menggunakan sistem Computer Based Test (CBT). Computer Based Test
(CBT) pada umumnya menggunakan mobile atau desktop untuk pelaksanaan tes
serta web untuk memasukkan data-data soal maupun jawaban.
Pembuatan sistem Computer Based Test (CBT) untuk bagian soal esai dibangun
dengan arsitektur monolitik, arsitektur monolitik merupakan sebuah arsitektur
dimana dalam pembuatan aplikasi. Semua komponen menjadi satu kesatuan
Pemilihan arsitektur monolitik dikarenakan latensi komunikasi antar modulnya
sangat cepat, karena berada di dalam sebuah server yang sama serta kemudahan
dalam mendistribusikan aplikasi ke server karena aplikasi terbungkus menjadi satu
bagian (Fransisco Ponce Mella, 2019).
Untuk tempat memasukkan data soal maupun jawaban digunakan platform web,
bahasa pemrograman yang digunakan untuk pembuatan backend maupun web
menggunakan PHP serta menggunakan framework Laravel.
1.2. Perumusan Masalah
Berdasarkan latar belakang yang telah diuraikan di atas, maka perumusan
masalah dalam pembuatan sistem ini adalah:
8
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
a. Bagaimana mengimplementasi arsitektur monolitik pada backend aplikasi tes esai SMP AMALIYAH JAKARTA?
b. Bagaimana membuat web untuk tempat memanajemen data soal beserta jawaban?
1.3. Batasan Masalah
a) Pembuatan aplikasi menggunakan framework Laravel
b) Penelitian ini dikembangkan menggunakan REST API.
c) Penelitian ini menggunakan arsitektur monolitik
d) Pengembangan aplikasi untuk menginput pertanyaan dan jawaban
menggunakan platform web
e) Hasil Penelitian ini diperuntukkan sebagai aplikasi pendamping tes pilihan
ganda pada SMP AMALIYAH JAKARTA
f) Pengujian arsitektur monolitik
g) Pengujian API menggunakan POSTMAN
1.4. Tujuan
Penelitian ini bertujuan mengimplementasikan arsitektur monolitik pada backend
aplikasi tes esai SMP AMALIYAH JAKARTA
1.5. Manfaat
Adapun manfaatnya adalah Membantu tenaga pendidik dalam melakukan tes,
berupa ulangan harian agar mendapatkan hasil yang objektif.
1.6. Metode Pelaksanaan Tugas Akhir
Metode yang digunakan untuk pembuatan skripsi ini ada dua, diantara nya:
a) Metode Pengumpulan Data
1) Wawancara
Pada tahap ini dilakukan metode pengumpulan data berupa mewawancarai
tenaga pendidik SMP AMALIYAH JAKARTA untuk menanyakan
mengenai kendala selama ini pada saat melaksanakan ulangan harian pada
setiap mata pelajarannya.
b) Metode Pengembangan Sistem
9
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Metode pengembangan yang digunakan dalam perancangan implementasi
arsitektur monolitik pada tes berbentuk esai berbasis web yaitu Waterfall.
Waterfall adalah sebuah metode pengembangan software yang bersifat
sekuensial. Kelebihan dari metode pengembangan ini adalah kualitas dari
sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara
bertahap. Sehingga tidak terfokus pada tahapan tertentu. Berikut ini adalah
tahapan dari metode waterfall:
1) Pengumpulan kebutuhan dan analisis
Pada fase ini dilakukan analisa serta didefinisikan kebutuhan yang harus
dipenuhi untuk aplikasi yang akan dibuat dengan cara mewawancarai tenaga
pendidik SMP AMALIYAH JAKARTA.
2) Desain
Di dalam tahap desain pengembang akan menghasilkan sebuah sistem
secara keseluruhan dan menentukan alur perangkat lunak, seperti
pembuatan flowchart dan UML.
3) Implementasi
Pada tahap ini seluruh desain diubah menjadi kode program. Kode program
yang dihasilkan masih berbentuk modul yang nanti akan diintregasikan
menjadi sistem yang lebih kompleks. Pada tahap ini digunakan framework
laravel serta DBMS MySQL.
4) Testing
Pada tahap ini dilakukannya penggabungan modul yang sudah dibuat dan
dilakukan pengujian. Pada tahap ini akan mengetahui apakah program yang
dibuat telah sesuai dengan desainnya dan fungsi pada program terdapat
kesalahan atau tidak.
5) Operation & Maintenance
Yaitu instalasi dan proses perbaikan sistem sesuai yang disetujui.
7
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
BAB II
TINJAUAN PUSTAKA
2.1 Penelitian Sebelumnya
Tabel 2.1 Penelitian Sebelumnya
Nama Penulis, Tahun dan Judul Hasil Penelitian Persamaan
Perbedaan
Rencana Penelitian
Stephanie Er-Em Nawahoke & Andreas Jodhinata (2013) Aplikasi Ulangan Harian Untuk Siswa SMA Berbasis Client Server
Menghasilkan aplikasi yang mampu menyimpan bank soal yang dapat di-query berdasarkan parameter dari user (mata pelajaran, kelas, bab) dan Mengotomasi proses pemeriksaan dan penilaian hasil ulangan harian.
1. Bank Soal 2. Mengotomasi proses pemeriksaan dan penilaian hasil
- penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp
Rahimi Fitri & Arifin Noor Asyikin (2015) Aplikasi Penilaian Ujian Essay Otomatis Menggunakan Metode Cosine Similarity
Menganalisa mekanisme penilaian esai yang selama ini telah dilaksanakan pengajar, serta merancang dan mengaplikasikan penilaian ujian esai otomatis menggunakan metode cosine similarity
- Penilaian esai - penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android
M.Ramaddan Julianti & Petrus Silalahi (2015) Perancangan Aplikasi Ujian Online Berbasis Web Study Kasus di
Menghasilkan aplikasi ujian online berbasis web di STMIK BINA SARANA GLOBAL menggunakan PHP dan MySQL
- aplikasi ujian - penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android
8
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
STMIK Bina Sarana Global
Tristy Meinawati, Kodrat Iman Satoto & Oky Dwi Nurhayati (2013) Perancangan Aplikasi Ujian Online Jurusan Sistem Komputer Universitas Diponegoro
Menghasilkan aplikasi ujian online pada Jurusan Sistem Komputer Universitas Diponegoro untuk penerimaan mahasiswa baru menggunakan PHP sebagai bahasa pemrograman dan MySQL sebagai basis data.
-Aplikasi ujian - penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android
Mentari Harmadya, Gusti Made AryaSasmita & Ni Kadek Ayu Wirdiani (2015) Rancang Bangun Aplikasi Tryout Ujian Nasional Sekolah Menengah Pertama (Smp) Berbasis Android
Menghasilkan sebuah aplikasi Tryout Ujian Nasional berbasis Android serta menggunakan WEB untuk bagian backend
- WEB sebagai penginputan data - penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android
Marcelinus Petrus Saptono & Herryanus F.R Widjasena (2019) Perancangan dan Implementasi Aplikasi Ujian Sekolah Berbasis Komputer atau Computer Based Test (CBT)
Menghasilkan sistem ujian berbasis Computer Based Test (CBT) secara offline di SMK Negeri 1 Kabupaten sorong
- Aplikasi Ujian - Berbasis CBT
- penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android - online
9
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Di SMK Negeri 1 Kabupaten Sorong
Adi Pratomo & Ronny Mantala (2016) Pengembangan Aplikasi Ujian Berbasis Komputer Beserta Analisis Uji Guna Sistem Perangkat Lunaknya Menggunakan Metode Sumi (Software Usability Measurement Inventory)
Menghasilkan aplikasi Ujian Berbasis Komputer (Computer Base Test - CBT) dengan mengikuti tahapan-tahapan metodogi SDLC (Software Development Life Cycle). yang dihasilkan dalam penelitian ini sendiri nantinya akan dievaluasi uji guna (Usability Test) perangkat lunak dengan metode (Software Usability Measurement Inventory). .
- Aplikasi Ujian - CBT
- penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android
Fazriani Huzaimah & Dedy Irfan (2018) Rancang Bangun Aplikasi Ujian Online Pra Kompre Berbasis Android
Menghasilkan aplikasi ujian online pra kompre untuk penggunaan pada android. Aplikasi ini masih terbatas untuk mahasiswa Pend. Teknik Informatika
- Aplikasi Ujian - Berbasis android
- penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android dengan framework flutter
Adi Supriyatna (2015) ANALISIS DAN EVALUASI PENERAPAN APLIKASI UJIAN BERBASIS WEB DENGAN METODE PIECES FRAMEWORK
Hasil penelitian ini adalah untuk mengevaluasi tingkat keberhasilan, efisiensi, efektifitas dan keuntungan perusahaan dalam menerapkan sistem ujian berbasis web atau online yang dilakukan dilingkungan kampus BSI Jatiwaringin. Serta menganalisis kekuatan dan kelemahan sistem ujian berbasis web atau online yang
-Aplikasi Ujian - penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android - tidak dilakukannya analisis untuk sistem terdahulu
10
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
sudah diterapkan dengan menggunakan PIECES Framework,
Hoga Saragih & Siti Safariana(2014) ANALISIS KUALITAS APLIKASI UJIAN ONLINE BERBASIS WEB PADA PERUM PERUMNAS
WEB ujian telah dievaluasi berdasarkan WEB quality evaluation method. Hasil yang didapatkan yaitu kualitas webstie uji- an belum baik. Oleh karena itu dibuatlah prototipe sebagai solusi dan rekomendasi untuk pengembangan WEB selanjutnya. Selain itu diusulkan juga untuk melakukan perbaikan dalam database
- Aplikasi Ujian - penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android - tidak dilakukannya analisis untuk sistem terdahulu
Untung Rahardja, Muhamad Yusup & Qurotul Aini (2014) Aplikasi Campus Learning System iOU (integrated Online Ujian) Dalam Mendukung Kegiatan iLearning Education (iDu) Pada Perguruan Tinggi
Hasil akhir penelitian ini dapat digunakan untuk memberikan peningkatan mutu ujian pada Perguruan Tinggi Raharja agar senantiasa memberikan kemudahan mahasiswa dalam mengerjakan ujian dan dosen dalam hal memberi nilai kepada mahasiswa.
-Aplikasi Ujian - penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android - tidak dilakukannya analisis untuk sistem terdahulu
Antony Susanto & Henky Honggo Perancangan Ujian
Aplikasi ujian berbasis web ini mengimplementasikan algoritma Fisher-Yates Shuffle yang
- Aplikasi Ujian
- penggunaan Arsitektur Monolithic - penggunaan algoritma rabin karp - berbasis android - tidak dilakukannya analisis untuk sistem terdahulu
11
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Online pada STMIK GI MDP Berbasis Web
berfungsi untuk mengacak soal dan algoritma Levenshtein Distance yang berfungsi untuk membandingkan jawaban pada saat pengoreksian. Pembuatan aplikasi akan menggunakan bahasa pemograman PHP dan MySQL untuk pembuatan database dan metodologi yang digunakan adalah pendekatan prototype.
13
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.2 Kesimpulan Penelitian Sebelumnya
Dari penelitian yang telah dijabarkan diatas terdapat perbedaan bahwa penelitian
ini menerapkan arsitektur monolitik pada pembuatan aplikasi, penggunaan dua
platform yaitu: web untuk memasukkan data soal maupun jawaban serta mobile
android untuk tempat melakukan tes esai, untuk melihat hasil penelitian dari setiap
jurnal bisa dilihat pada kolom kedua pada tabel di atas.
2.3 Arsitektur Monolitik
Arsitektur monolitik merupakan model pemrograman tradisional, yang berarti
bahwa elemen program perangkat lunak terjalin dan saling bergantung satu sama
lain. (Margaret Rouse, 2016). Arsitektur monolitik menggunakan kode sumber dan
teknologi yang sama untuk menjalankan semua tugas. (Boyke Dian Triwahyudi,
2016). Pemilihan arsitektur monolitik disini dikarenakan latensi komunikasi antar
modulnya sangat cepat, karena berada di dalam sebuah server serta kemudahan
dalam menggunakannya dikarenakan berada dalam satu paket aplikasi.
Gambar 2.1 Arsitektur Monolitik
(Sumber: medium.com)
Dari Gambar 2.1 bisa disimpulkan bahwa arsitektur monolitik terbagi menjadi
empat bagian yaitu, bagian database untuk menampung data, bagian data interface
untuk pembuatan query, bagian business logic untuk bagian logika bisnis serta yang
terakhir adalah bagian user interface yaitu bagian yang akan bersentuhan langsung
oleh pengguna
14
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.4 Arsitektur Micro-service
Menurut Sam Newman (2020) Microservices merupakan layanan yang dapat
digunakan secara independen yang dimodelkan di sekitar domain bisnis. Mereka
berkomunikasi satu sama lain melalui jaringan, dan sebagai pilihan arsitektur
menawarkan banyak pilihan untuk menyelesaikan masalah yang mungkin dihadapi.
Oleh karena itu arsitektur microservice didasarkan pada beberapa microservice
yang saling berkolaborasi.
Microservices merupakan sebuah jenis dari service-oriented architecture (SOA),
microservice juga memiliki keunggulan sebagai teknologi agnostik. Arsitektur
microservice saling berkomunikasi melalui jaringan yang membuat mereka
menjadi sebuah sistem yang terdistribusi
.
2.5 Client-Server
Client-server merupakan salah satu model komunikasi antara 2 komputer atau lebih
yang berfungsi melakukan pembagian tugas. Client bertugas untuk melakukan
input, update, penghapusan dan menampilkan data sebuah database. Sementara
server bertugas menyediakan pelayanan untuk melakukan manajemen, yaitu
menyimpan serta mengolah database.(Wahana Komputer; 2010:5)
2.6 Website
Website merupakan kumpulan dari halaman yang saling terhubung satu sama lain.
Dalam sebuah website terdapat satu halaman yang dikenal dengan nama homepage.
Homepage adalah sebuah halaman yang pertama kali dilihat ketika seseorang
mengunjungi sebuah website. Penggunaan website di penelitian ini sebagai wadah
untuk memasukkan data yang nanti akan ditampilkan pada aplikasi android
(Risky:2013)
2.7 Web service
Menurut O’Brien (2010), Web service merupakan komponen software yang
berbasis framework web dan standar object-oriented dan teknologi untuk
15
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
penggunaan web yang secara elektronik menghubungkan aplikasi user yang
berbeda dan platform yang berbeda.
Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu website
untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga
sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan
(service) yang disediakan oleh suatu sistem yang menyediakan web service. Web
service menyimpan data informasi dalam format XML, sehingga data ini dapat
diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa
compiler. Pada pengembangan aplikasi ini digunakan salah satu jenis web service
yaitu RESTful API.
2.8 RESTful
REST memungkinkan sistem request serta mengakses dan memanipulasi teks yang
direpresentasikan dari sebuah Web service. Web service API yang menggunakan
REST disebut dengan RESTful API. Tidak seperti jenis Web service lainnya,
RESTful API tidak memiliki standar yang resmi untuk notasinya dikarenakan
REST merupakan sebuah arsitektur. Dengan berbagai implementasi, REST
menemukan notasi yang biasa digunakan, seperti HTTP, URI, JSON, dan XML.
2.9 Application Programming Interface (API)
Application Programming Interface (API) adalah sebuah interface yang berfungsi
untuk mengintegrasikan perangkat lunak satu dengan yang lain. API dapat bisa
dikatakan sebagai penghubung suatu aplikasi dengan aplikasi lainnya. Proses ini
dikelola melalui sistem operasi. Keunggulan dari API ini adalah memungkinkan
suatu aplikasi dengan aplikasi lainnya dapat saling terhubung dan berinteraksi. API
merupakan software interface yang terdiri atas kumpulan instruksi yang disimpan
dalam bentuk library dan menjelaskan bagaimana agar suatu software dapat
berinteraksi dengan software lain.
2.10 Request Method
Request Method digunakan untuk mengetahui bagaimana sebuah web peramban
memproses sebuah request dan menerima sebuah respon dari web server. Standar
16
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
yang digunakan web peramban pada saat ini adalah HTTP (Hypertext Transfer
Protocol). HTTP digunakan oleh web peramban untuk mengirim request dari WEB
ke web server dan kemudian menerima response dari web server. HTTP request
berkerja seperti email, memberitahukan kapan request dikirim, serta bagaimana
mengatur request tersebut. Request Method yang akan digunakan pada aplikasi ini
adalah GET, POST, PUT & DELETE.
2.11 Kode Status (Status Code)
HTTP (Hypertext Transfer Protocol), adalah metode client dan server untuk saling
berkomunikasi. Ketika user mengklik sebuah link, atau submit form, browser akan
mengirimkan permintaan ke server. Ketika server menerima permintaan tersebut,
server akan mengirimkan kembali suatu Respon HTTP. Respon berisi nomor kode
biasanya dikenal sebagai kode status atau kode respon. Berikut ini adalah daftar
yang ada saat ini di HTTP 1.1:
2.11.1 Informational
Kode status ini menunjukkan respon sementara, hanya terdiri dari Status-Line dan
optional header.
1) 100 – Continue (Melanjutkan)
Memberitahukan kepada client bahwa permintaan pertama telah sudah
diterima dan seharusnya boleh melanjutkan ke sisa permintaan berikutnya.
Dan mengabaikan bila permintaan telah terpenuhi.
2) 101 – Switching Protocols (Berpindah Protokol)
Memberitahukan client bahwa server akan beralih ke protokol yang
ditentukan dalam header pesan pada saat upgrade selama sambungan saat
ini.
2.11.2 Successfull
Kode status ini menunjukkan bahwa permintaan client berhasil diterima, dipahami.
1) 200 OK
17
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Merupakan respon standar dari server yang menunjukkan bahwa
permintaan (request) yang dilakukan oleh client telah berhasil diterima,
dimengerti, disetujui, dan diproses dengan sukses (berhasil). Hasilnya yang
akan ditampakkan tergantung pada jenis request yang dilakukan oleh client.
2) 201 Created
Permintaan berhasil dan sumber daya yang baru telah dibuat.
3) 202 Accepted
Permintaan tersebut telah diterima untuk diproses, namun belum diproses.
Dalam sesi ini, permintaan mungkin tetap atau mungkin juga tidak akan
ditindak lanjuti. Karena bila ditindak lanjuti akan menjadi batasan saat
proses sebenarnya terjadi.
4) 203 Non-Authoritative Information (since HTTP/1.1)
Server sukses dalam memproses request, namun Meta informasi yang
dikembalikan dalam isi-header ditetapkan bukan berasal dari server asal.
5) 204 No Content
Permintaan berhasil, namun tidak memerlukan isi dari permintaan.
6) 205 Reset Content
Permintaan berhasil tetapi user-Agent harus melihat ulang dokumen yang
menyebabkan permintaan tersebut.
7) 206 Partial Content
Sebagian Request telah diterima oleh client. Ini biasanya terjadi bila kita
menggunakan perintah GET untuk meng-enable resume dalam transfer data
atau dalam mengunduh file dalam berbagai bagian secara simultan.
2.11.3 Redirection
Kode status ini menunjukkan bahwa tindakan lebih lanjut harus dilakukan oleh user
agent untuk memenuhi permintaan tersebut.
1) 300 Multiple Choice
Sumber daya yang diminta memiliki beberapa kemungkinan, masing-
masing dengan lokasi yang berbeda.
2) 301 Moved Permanently
Sumber daya yang diminta telah secara permanen pindah kelokasi yang lain.
18
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3) 303 See Other (since HTTP/1.1)
Respon dari request telah ditemukan dibawah URL (Uniform Resources
Locator) yang berbeda dan harus dapat diakses dengan menggunakan
perintah GET.
4) 304 Not Modified
Sumber daya belum diubah sejak terakhir direquest. Ini dapat menghemat
bandwith dalam proses antara server dan client.
5) 305 Use Proxy (since HTTP/1.1)
Sumber daya yang diminta hanya dapat diakses melalui proxy di lokasi yang
ditentukan. Banyak HTTP client pada saat tulisan ini dibuat (seperti browser
Mozilla Firefox) tidak menanggapi status kode seperti ini terutama dengan
alasan untuk Keamanan.
6) 306 Switch Proxy
Digunakan untuk cadangan.
7) 307 Temporary Redirect (since HTTP/1.1)
Sumber daya atau alamat sementara sudah dipindahkan ke URI yang
berbeda. Client harus menggunakan URI asli untuk mengakses sumber daya
tersebut selanjutnya.
2.11.4 Client Error
Kode status ini dimaksudkan untuk kasus di mana client tampaknya telah keliru.
1) 400 Bad Request Syntax
Digunakan untuk request tidak dipahami oleh server.
2) 401 Unauthorized
Permintaan membutuhkan otentikasi dari pengguna.
3) 402 Payment Required
Digunakan untuk masa yang akan datang.
4) 403 Forbidden Server
Menolak untuk memenuhi permintaan tersebut.
5) 404 Not Found
Dokumen / file yang diminta oleh client tidak ditemukan.
6) 405 Method Not Allowed
19
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Metode yang diterapkan dalam permintaan tidak diperbolehkan atau tidak
didukung untuk sumberdaya ini.
7) 406 Not Acceptable
Sumber daya yang diminta hanya mampu menghasilkan respon entitas yang
tidak memiliki karakteristik konten seperti yang diminta.
8) 407 Proxy Authentication Required
Permintaan pertama memerlukan otentikasi dengan proxy.
9) 408 Request Timeout
Client gagal mengirimkan permintaan dalam waktu yang dibolehkan oleh
server.
10) 409 Conflict
Permintaan tidak berhasil karena adanya konflik di dari sumber daya.
11) 410 Gone
Menunjukkan bahwa resource atau sumber daya yang diminta oleh client
tidak terdapat lagi adanya. Namun berbeda dengan HTTP Status kode 404,
client tidak diperbolehkan lagi untuk merequest lagi. Client seperti halnya
mesin pencari harus menghapus resource (sumber daya) tersebut dari daftar
indeks mereka.
12) 411 Length Required
Server tidak akan menerima permintaan yang sah tanpa mengikuti ketentuan
pada Content-Length header.
13) 412 Precondition Failed
Prasyarat yang ditetapkan dalam meminta satu atau lebih Header adalah
palsu.
14) 413 Request Entity Too Large
Permintaan tersebut tidak berhasil karena permintaan melebihi besar dari
yang diizinkan oleh server.
15) 414 Request-URL Too Long
Permintaan tidak berhasil dilakukan, karena proses untuk mengakses URL
terlalu panjang.
16) 415 Unsupported Media Type
20
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Permintaan tersebut tidak berhasil karena konten yang diminta tidak
didukung oleh sumber daya.
17) 416 Requested Range Not Satisfiable
Client telah meminta sebagian file, tetapi server tidak dapat memasok
bagian itu. Sebagai contoh, jika client meminta bagian dari file yang terletak
di luar akhir file.
18) 417 Expectation Failed
Harapan dalam permintaan Expect header tidak dapat dipenuhi oleh server.
2.11.5 Server Error
Kode status ini menunjukkan kasus-kasus di mana server tidak mampu melakukan
permintaan.
1) 500 Internal Server Error
Permintaan tersebut tidak berhasil karena mengalami kondisi yang tidak
diharapkan oleh server.
2) 501 Not Implemented
Permintaan gagal karena server tidak mendukung fungsi yang diperlukan
untuk memenuhi permintaan tersebut.
3) 502 Bad Gateway
Server menerima respon yang tidak valid dari upstream server ketika
mencoba untuk memenuhi permintaan tersebut.
4) 503 Service Unavailable
Permintaan tidak berhasil karena server sedang down atau kelebihan beban.
5) 504 Gateway Timeout
Upstream server yang gagal mengirimkan permintaan dalam waktu yang
dibolehkan oleh server.
6) 505 HTTP Version Not Supported
Server tidak mendukung atau tidak mengizinkan versi protokol HTTP
dalam permintaan tersebut.
7) 530 User access denied
Akses yang dilakukan user ditolak.
21
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.12 JSON
JSON (JavaScript Object Notation) merupakan format pertukaran data yang ringan
serta mudah diterjemahkan dan dibuat atau 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 dan lain sebagainya. Oleh karena itu, menjadikan JSON ideal sebagai
bahasa pertukaran data JSON terbuat dari dua struktur:
a) Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan
sebagai objek, rekaman, struktur, kamus, tabel hash, daftar berkunci, atau
associative array.
b) Daftar nilai terurutkan. Pada kebanyakan bahasa, hal ini dinyatakan sebagai
array, vektor, daftar, ataupun urutan.
2.13 Postman
Menurut postdot (2017), postman merupakan sebuah software yang memuat fungsi
lengkap pengembangan sistem dalam mengirimkan dan menerima respon server.
Software ini mendukung pengembangan sistem REST API dengan mengklasifikasi
request berdasarkan Request Method, URL dan parameter-parameter request.
2.14 Paper Based Test (PBT)
Menurut Eko Putro Widyoko (2014) Paper Based Test atau tes tertulis adalah
bentuk tes yang dalam pelaksanaannya menggunakan kertas dan tulisan sebagai alat
bantu, baik untuk soal tes maupun jawaban tes. Tes ini mempunyai beberapa
kelemahan yaitu media kertas yang rawan sobek serta akan memakan waktu lebih
lama jika ada jawaban yang dirasa kurang tepat, lain halnya dengan Computer
Based Test.
2.15 Computer Based Test (CBT)
Menurut Eko Putro Widyoko (2014) Computer Based Test merupakan tes yang
dalam pelaksanaannya menggunakan alat bantu komputer. Hal yang membedakan
22
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
dengan tes tertulis terletak pada teknik penyampaian butir soal yaitu naskah soal
maupun lembar jawaban menggunakan komputer. Sistem skoring atau koreksi
langsung dilakukan oleh komputer. Untuk tipe soal pilihan ganda, SMP
AMALIYAH telah menggunakan sistem Computer Based Test, tetapi untuk soal
bertipe esai masih belum menggunakan sistem Computer Based Test.
2.16 MySQL
Menurut Arief (2011) MySQL (My Structure Query Languange) adalah “salah satu
jenis database server yang sangat terkenal dan banyak digunakan untuk
membangun aplikasi web yang menggunakan database sebagai sumber dan
pengelolaan datanya”. Mysql bersifat terbuka dan menggunakan bahasa SQL
(Structured Query Language). MySQL biasa dijalankan diberbagai platform
misalnya windows Linux, dan lain sebagainya.
2.17 PHP
Menurut Arief (2011) PHP merupakan bahasa server-side-scripting yang menyatu
dengan HTML untuk membuat halaman web yang dinamis. Karena PHP
merupakan server-side-scripting maka sintaks dan perintah-perintah PHP akan
diesksekusi di server kemudian hasilnya akan dikirimkan ke browser dengan
format HTML. Pada aplikasi ini menggunakan bahasa PHP, tetapi agar
memudahkan dalam pembuatan RESTful digunakanlah Laravel.
2.18 Laravel
Laravel adalah framework bahasa pemrograman Hypertext Preprocessor (PHP)
yang ditujukan untuk pengembangan aplikasi berbasis web dengan menerapkan
konsep Model View Controller (MVC). Framework ini dibuat oleh Taylor Otwell
dan pertama kali dirilis pada tanggal 9 Juni 2011. Laravel berlisensi open source
yang artinya bebas digunakan tanpa harus melakukan pembayaran. Alamat web
resmi dari framework Laravel adalah https://laravel.com. (laravel.com)
2.19 Unified Modeling Language
Menurut (Hend, 2006) “Unified Modeling Language (UML) adalah bahasa yang
telah menjadi standar untuk visualisasi, menetapkan, membangun dan
mendokumentasikan artifak suatu sistem perangkat lunak”.
23
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
2.20 Konsep MVC
MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan
data atau query (Model) dari tampilan atau user interface (View) dan cara
pemrosesannya (Controller). Pembuatan program yang menggunakan MVC ini
biasanya dikemas dalam kerangka kerja (framework), sehingga pengembang
aplikasi tinggal menggunakan kerangka kerja yang sudah disediakan. (Badiyanto,
2013).
2.21 Black Box Testing
Menurut Rex Black, black box testing merupakan sebuah metode pengujian dimana
tester hanya fokus pada apa yang seharusnya dilakukan oleh sistem (Black, 2009).
Sebuah pengujian bisa dikatakan berhasil ketika sebuah sistem dapat memproses
data dan hasil yang ada sesuai dengan apa yang diharapkan pembuat aplikasi.
Penggunaan pengujian dengan black box testing ini mengacu pada pembuatan
sistem yang berbasis monolitik.
2.22 Response Time Testing
Response time testing adalah pengujian waktu respon yang mengacu pada waktu
yang diperlukan untuk satu node sistem untuk menanggapi permintaan dari yang
lain (Ferry, 2019).
Oleh karena itu response time testing digunakan untuk mengukur waktu yang
dibutuhkan saat pengguna memulai request sampai request tersebut selesai.
Pengujian dengan response time testing pada aplikasi tes esai SMP AMALIYAH
JAKARTA ini untuk menguji setiap API yang telah dibuat, dimulai dari waktu
eksekusi API sampai sistem mengembalikan data dengan format JSON. Response
Time digunakan untuk mengukur kinerja setiap permintaan. Waktu respon adalah
ketika ketika pengguna mulai mengirim permintaan atau request dan berakhir pada
saat waktu aplikasi menghasilkan output yang menyatakan bahwa permintaan yang
telah diminta oleh pengguna telah selesai.
24
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
BAB III
PERANCANGAN DAN REALISASI
3.1 Deskripsi Program
Pembuatan aplikasi tes esai SMP AMALIYAH yang berbasis Computer Based
Test (CBT) dibangun dengan arsitektur monolitik, arsitektur monolitik
merupakan sebuah arsitektur dimana dalam pembuatan aplikasi. Semua
komponen menjadi satu kesatuan. Pemilihan arsitektur monolitik dikarenakan
fungsi dari aplikasi ini adalah hanya untuk menginput data soal ulangan harian
serta menampilkan hasil inputan menggunakan RESTAPI ke aplikasi android.
Alasan penggunaan arsitektur monolitik dikarenakan kemudahan dalam
pembuatan aplikasi karena pembuatan modul dilakukan di satu kluster seperti
pada gambar dibawah:
Gambar 3.1 Arsitektur Monolitik Aplikasi Esai
Arsitektur monolitik membuat suatu aplikasi dengan modul berbeda menjadi satu
bagian besar seperti pada gambar diatas yang dimana modul autentikasi serta
manajemen soal yang merupakan bagian dari aplikasi web digabungkan dengan api
untuk aplikasi android.
25
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
3.1.1 Flowchart Aplikasi
Gambar 3.2 Flowchart Aplikasi
Pada gambar di atas dijelaskan untuk mengakses halaman web, tenaga pendidik
harus register terlebih dahulu, setelah itu tenaga pendidik menggunakan email dan
password untuk login, tenaga pendidik bisa memilih mata pelajaran yang tersedia
serta setelah itu tenaga pendidik harus memilih bab berdasarkan mata pelajaran,
26
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
setelah itu bisa langsung memasukkan soal-soal maupun kunci jawaban serta
menentukan kata kunci pada setiap jawaban.
3.1.2 Perancangan Database
Gambar 3.3 ERD Aplikasi
Pada perancangan database ini menggunakan ERD, di gambar di atas terdapat 6
tabel yang saling berelasi satu sama lain. Dari tabel user berealisasi dengan tabel
kelas, mata pelajaran dan nilai_uh. Pada tabel user terdapat kolom role untuk
mengetahui apakah user yang mengakses database seorang murid ataupun seorang
guru.
3.1.3 Perancangan UML
Gambar 3.4 Use Case Aplikasi Tes Esai
Pada gambar 3.4 bisa dilihat terdapat dua user pada aplikasi tes esai SMP
AMALIYAH tersebut, kedua user itu adalah murid dan guru. Murid mengakses
27
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
soal dengan mobile device dan harus register dan login terlebih dahulu. Guru
mengakses aplikasi dengan aplikasi web tes SMP AMALIYAH, guru diharapkan
melakukan registrasi terlebih dahulu setelah itu baru login untuk menggunakan fitur
yg ada di dashboard seperti menajemen soal.
3.2 Realisasi Program Aplikasi
Tujuan dari penelitian ini adalah mengimplementasikan arsitektur monolitik pada
tes berbentuk esai berbasis web. Penggunaan arsitektur monolitik disini
dikarenakan latensi antar modul yang cepat mengakibatkan waktu respon dibawah
10 detik, ketika waktu respon dibawah 10 detik menandakan bahwa latensi antar
modulnya masuk kategori cepat (David Bermbach, 2015).
3.2.1 Tampilan Aplikasi
a) Halaman Registrasi Guru
Gambar 3.5 Halaman Registrasi Guru
Pada halaman ini guru yang belum mempunyai akun bisa registrasi terlebih
dahulu pada halaman ini dengan menggunakan nama, alamat email dan
password.
b) Halaman Login Guru
28
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.6 Halaman Login Guru
Pada halaman ini guru yang telah mempunyai akun bisa menggunakan akun
tersebut untuk melakukan login agar bisa menggunakan fitur yang ada di aplikasi
ini.
c) Halaman Dashboard
Gambar 3.7 Halaman Dashboard
Setelah guru login, guru akan langsung diarahkan ke halaman dashboard diatas,
pada halaman di atas terdapat sidebar kelas 7, kelas 8 dan kelas 9. Pada setiap
tombol kelas 7, 8 dan 9, akan diarahkan ke setiap mata pelajaran per kelas.
d) Halaman Mata Pelajaran
29
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Gambar 3.8 Halaman Mata Pelajaran
Pada halaman mata pelajaran ini terdapat semua mata pelajaran kurikulum 2013
revisi 2018 pada SMP AMALIYAH, Pada gambar di atas hanya menampilkan
halaman mata pelajaran kelas 7. Pada halaman mata pelajaran kelas 8 dan 9 sama
seperti kelas 7.
e) Halaman Bab
Gambar 3.9 Halaman Bab berdasarkan mapel
Pada gambar diatas merupakan halaman bab berdasarkan mata pelajaran
PENJASKES. Halaman bab ini bisa diakses ketika guru sudah memilih mata
pelajaran yang diampu. Pada gambar di atas menampilkan halaman bab
berdasarkan mata pelajaran kelas 7 mata pelajaran PENJASKES.
30
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
f) Halaman Daftar Soal
Gambar 3.10 Halaman Daftar Soal
Pada gambar diatas merupakan halaman daftar soal berdasarkan mata pelajaran
PENJASKES. Halaman daftar soal ini bisa diakses ketika guru sudah memilih mata
pelajaran yang diampu dan telah memilih bab. Pada gambar di atas menampilkan
tabel dengan kolom soal, jawaban, kata kunci dan aksi. Pada kolom aksi digunakan
untuk menghapus data soal serta mengubah data soal dengan tombol ubah.
g) Halaman input soal
Gambar 3.11 Halaman Input Soal
Pada gambar diatas merupakan halaman untuk memasukkan data soal berdasarkan
mata pelajaran. Halaman input soal ini bisa diakses ketika guru sudah memilih mata
31
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
pelajaran yang diampu dan telah memilih bab. Setelah itu guru bisa langsung
menulis pertanyaan, jawaban serta kata kunci. Penggunaan kata kunci disini akan
digunakan oleh sistem android untuk mencocokkan jawaban guru dengan jawaban
siswa.
h) Halaman Ubah Soal
Gambar 3.12 Halaman Ubah Soal
Pada gambar diatas merupakan halaman untuk mengubah data soal yang sudah ada
berdasarkan mata pelajaran. Halaman ubah soal ini bisa diakses ketika guru sudah
memilih mata pelajaran yang diampu dan telah memilih bab. Setelah itu guru bisa
langsung mengubah pertanyaan, jawaban serta kata kunci.
i) Halaman Hapus Soal
Gambar 3.13 Halaman Hapus Soal
32
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Pada gambar di atas terdapat alert javascript yang aktif ketika pengguna berusaha
ingin menghapus salah satu soal, penggunaan alert disini sebagai pengingat
pengguna bahwa akan ada salah satu soal yang akan dihapus
j) Kode Program Register Siswa (API)
Gambar 3.14 Kode Program Register Siswa (API)
Pada gambar di atas merupakan fungsi dari API register siswa, terdapat 4 validasi
sebelum data siswa di simpan, apabila siswa tidak mengisi salah satu kolom maka
ia tidak bisa register ke dalam sistem.
k) Kode Program Login Siswa (API)
Gambar 3.15 Kode Program Login Siswa (API)
33
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
l) Kode Program Menampilkan Kelas Untuk Siswa (API)
Gambar 3.16 Kode Program Menampilkan Kelas Untuk Siswa (API)
Pada gambar di atas menampilkan fungsi show, fungsi ini digunakan untuk mencari
kelas berdasarkan parameter id, hasil yang didapat berupa data JSON serta kode
status berupa 200 yang berarti ok
m) Kode Program Pilih Mapel Untuk Siswa (API)
Gambar 3.17 Kode Program Menampilkan Mapel Untuk Siswa (API)
Pada gambar di atas merupakan fungsi untuk menampilkan mata pelajaran,
dikarenakan SMP AMALIYAH JAKARTA menggunakan kurikulum 2013 maka
semua jenjang kelas mempunyai mata pelajaran yang sama. Dari fungsi diatas
menggunakan fitur Eloquent laravel yaitu findOrFail yang berarti jika data yang
dicari dengan parameter id ditemukan maka tampilkan, apabila data yang dicari
tidak ditemukan maka masuk ke exception handler yaitu fail.
34
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
n) Kode Program Menampilkan Bab Untuk Siswa (API)
Gambar 3.18 Kode Program Menampilkan Bab Untuk Siswa (API)
35
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Pada gambar di atas merupakan kode program untuk menampilkan bab untuk siswa
pada sistem android. Terdapat sembilan fungsi yang masing-masing fungsi
berungsi untuk menampilkan bab berdasarkan mata pelajaran dan kelas
36
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
BAB IV
PEMBAHASAN
4.1 Pengujian
Pengujian perangkat lunak adalah serangkaian aktivitas yang digunakan untuk
menjamin kualitas dari aplikasi perangkat lunak. Pengujian yang dilakukan
merupakan pengujian fungsionalitas sistem dan pengujian akurasi kecepatan
kinerja sistem dalam menjalankan service pada setiap arsitektur.
4.2 Deskripsi Pengujian
Pada tahap ini aplikasi akan diuji dengan serangkaian pengujian, tahap pengujian
bisa dilakukan jika tahap sebelumnya telah selesai. Tujuan dari pengujian adalah
untuk mengurangi terjadinya kesalahan pada aplikasi dan memastikan hasil sesuai
dengan ekspetasi.
4.3 Prosedur Pengujian
Prosedur pengujian pada aplikasi ini terbagi menjadi dua yaitu Alpha Testing dan
pengujian response time dengan POSTMAN
4.3.1 Prosedur Pengujian Alpha Testing
Pengujian sistem ini menggunakan alpha testing. Alpha testing merupakan
pengujian yang dilakukan oleh internal tim dari pembuat aplikasi. Pengujian sistem
dilakukan dengan metode black box testing dengan target berupa fungsionalitas
Aplikasi. Tabel 4.1 merupakan rencana pengujian pada aplikasi berdasarkan
fungsionalitas aplikasi.
Table 4.1 Alpha Testing
Item Uji HTTP
METHOD
Detail Pengujian Jenis Pengujian
Pengujian
Autentikasi
pengguna
POST Daftar akun baru sebagai
guru
Black Box
POST Login dengan akun baru
sebagai guru
Black Box
37
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
Pengujian
Halaman
Dashboard
POST Menampilkan halaman
dashboard sesaat setelah
pengguna login
Black Box
GET Menampilkan daftar mata
pelajaran kelas 7
Black Box
GET Menampilkan daftar mata
pelajaran kelas 8
Black Box
GET Menampilkan daftar mata
pelajaran kelas 9
Black Box
Pengujian
Manajemen Soal
GET Menampilkan semua soal
dari bab tertentu
Black Box
POST Menambahkan soal untuk
bab tertentu
Black Box
PUT Mengubah soal yang sudah
ada
Black Box
DELETE Menghapus soal yang sudah
ada
Black Box
4.3.2 Prosedur Pengujian Response Time
Pengujian response time menggunakan postman. Postman merupakan sebuah
software pengujian REST CLIENT untuk uji coba REST API. Tabel 4.2 merupakan
rencana pengujian pada API aplikasi tes.
Table 4.2 Pengujian Response Time
No. HTTP
METHOD Detail Pengujian EndPoint API
1 POST Daftar akun baru sebagai siswa /api/register
2 POST Login dengan akun baru sebagai
siswa /api/login
3 GET Menampilkan kelas siswa tertentu /api/grade/1
4 GET Menampilkan mata pelajaran
berdasarkan kelas tertentu /api/subject/1
5. GET Menampilkan bab dari mata
pelajaran tertentu /api/chapter/bind/bab
38
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
6. POST Menampung jawaban siswa beserta
nilai siswa /api/jawaban/siswa
7. GET Menampilkan Pertanyaan dari bab
mata pelajaran tertentu /api/pertanyaan/ips/7
4.4 Data Hasil Pengujian
Dibawah ini merupakan hasil pengujian dari tabel 4.1 Alpha Testing dan tabel 4.2
Pengujian Response Time.
Tabel 4.3. Hasil Pengujian Alpha Testing
No. Skenario Pengamatan Pembuktian Hasil
Pengujian
1 Daftar akun baru
sebagai guru
Data Sukses
terisi pada tabel
user pada DBMS
MySQL
Terlampir di
Gambar L.1
Berhasil
2 Login sebagai guru Sukses login
sebagai guru
Terlampir di
gambar L.2
Berhasil
3 Menampilkan
halaman dashboard
sesaat setelah
pengguna login
Berhasil menuju
ke halaman
dashboard
setelah login
Terlampir di
Gambar L.3
Berhasil
4 Menampilkan daftar
mata pelajaran kelas 7
Berhasil
menampilkan
daftar mapel
kelas 7
Terlampir di
Gambar L.4
Berhasil
5 Menampilkan daftar
mata pelajaran kelas 8
Berhasil
menampilkan
daftar mapel
kelas 8
Terlampir di
Gambar L.5
Berhasil
6 Menampilkan daftar
mata pelajaran kelas 9
Berhasil
menampilkan
daftar mapel
kelas 9
Terlampir di
Gambar L.6
Berhasil
39
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
7 Menampilkan semua
soal dari bab tertentu
Berhasil
menampilkan
soal dari bab
tertentu
Terlampir di
Gambar L.7
Berhasil
8 Menambahkan soal
untuk bab tertentu
Berhasil
menammbahkan
soal
Terlampir di
Gambar L.8 a
dan L.8 b
Berhasil
9 Mengubah soal yang
sudah ada
Berhasil
mengubah soal
yang sudah ada
Terlampir di
Gambar L.9 a
dan L.9 b
Berhasil
10 Menghapus soal yang
sudah ada
Berhasil
menghapus soal
yang sudah ada
Terlampir di
Gambar L.10 a
dan L.10 b
Berhasil
Tabel 4.4. Hasil Pengujian Response Time
No. Skenario Pengamatan Pembuktian Hasil
Pengujian
Waktu
Respon
1 Daftar akun baru
sebagai siswa
Data Sukses
terisi pada tabel
user pada
DBMS
MySQL
Terlampir di
Gambar L.10
Berhasil 654 ms
2 Login dengan
akun baru sebagai
siswa
Berhasil login
dengan akun
baru sebagai
siswa
Terlampir di
Gambar L.11
Berhasil 1410 ms
3 Menampilkan
kelas siswa
tertentu
Berhasil
menampilkan
kelas siswa
tertentu
Terlampir di
Gambar L.12
Berhasil 245 ms
4 Menampilkan
mata pelajaran
berdasarkan kelas
tertentu
Berhasil
menampilkan
daftar mapel
Terlampir di
Gambar L.13
Berhasil 690 ms
40
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
berdasarkan
kelas tertentu
5 Menampilkan bab
dari mata
pelajaran tertentu
Berhasil
menampilkan
bab dari mapel
tertentu
Terlampir di
Gambar L.14
Berhasil 547 ms
6 Menampung
jawaban siswa
beserta nilai siswa
Berhasil
menampung
jawaban
beserta nilai
siswa
Terlampir di
Gambar L.15
Berhasil 4.27 s
7 Menampilkan
Pertanyaan dari
bab mata
pelajaran tertentu
Gagal
menampilkan
pertanyaan dari
bab tertentu
Terlampir di
Gambar L.16
Gagal 428 ms
4.5 Analisis Data / Evaluasi
a. Analisis Pengujian Alpha Testing
Berdasarkan hasil pengujian yang menggunakan prosedur pengujian pada tabel 4.1
dan menggunakan skenario pengujian pada tabel 4.3 didapatkan hasil bahwa semua
skenario berhasil dilakukan. Adapun jumlah persentase keberhasilan pengujian
dengan rumus sebagai berikut:
Persentase keberhasilan = Jumlah item uji berhasil x 100%
Jumlah seluruh item uji
Pengujian alpha memiliki 10 skenario, berikut adalah jumlah persentase dari hasil
pengujian alpha:
Alpha = 10/10 x 100% = 100%
Berdasarkan hasil pengujian Alpha Testing didapatkan hasil berupa ke-10 skenario
yang telah diuji mendapatkan hasil berhasil, mulai dari autentikasi pengguna
sampai manajemen soal.
41
Jurusan Teknik Informatika dan Komputer – Politeknik Negeri Jakarta
b. Analisis Pengujian Response Time
Berdasarkan hasil pengujian yang menggunakan prosedur pengujian pada tabel 4.2
dan menggunakan skenario pengujian pada tabel 4.4 didapatkan hasil bahwa ada
satu skenario yang gagal dilakukan yaitu pada bagian menampilkan pertanyaan dari
bab mata pelajaran tertentu. Pada skenario yang gagal tersebut diperlukan fungsi
nested relationship pada bagian fungsi controller. Pengujian response time
bertujuan untuk mengukur kecepatan respon dari setiap api yang telah dibuat.
Setelah dilakukan pengujian pada 7 skenario pengujian response time mendapatkan
hasil response time dibawah 10 detik. Dengan hasil ini membuktikan bahwa latensi
antar modul pada aplikasi tes esai tergolong cepat, ketika waktu respon dibawah 10
detik menandakan bahwa latensi antar modulnya masuk kategori cepat (David
Bermbach, 2015)
101
BAB V
PENUTUP
5.1 Simpulan
Kesimpulan dari pembuatan skripsi yang berjudul Implementasi arsitektur
monolitik pada tes berbentuk esai berbasis website pada SMP AMALIYAH
JAKARTA adalah sebagai berikut:
1) Telah berhasil membuat sistem input tes esai berbasis website untuk SMP
AMALIYAH JAKARTA serta pembuatan REST API untuk penggunaan tes
pada bagian perangkat mobile.
2) Berdasarkan dari hasil pengujian menggunakan Alpha Testing didapatkan
hasil dari ke-10 skenario mendapatkan persentase 100%, yang menandakan
semua skenario yang diuji berhasil tanpa hambatan mulai dari autentikasi
pengguna sampai manajemen soal
3) Berdasarkan dari hasil pengujian menggunakan Response Time didapatkan
hasil dari ke-7 skenario mendapatkan satu skenario yang gagal yaitu pada
bagian menampilkan pertanyaan dari bab mata pelajaran tertentu. Pada
skenario yang gagal tersebut diperlukan fungsi nested relationship pada
bagian fungsi controller. Setelah dilakukan pengujian pada 7 skenario
pengujian response time mendapatkan hasil response time dibawah 10 detik.
Dengan hasil ini membuktikan bahwa latensi antar modul pada aplikasi tes
esai tergolong cepat, ketika waktu respon dibawah 10 detik menandakan
bahwa latensi antar modulnya masuk kategori cepat (David Bermbach,
2015)
5.2 Saran
Saran dari penulis dalam pembuatan aplikasi ini adalah sebagai berikut:
1) Untuk peneliti yang ingin mengembangkan aplikasi ini diharapkan untuk
melakukan penambahan fitur seperti login menggunakan google ataupun
facebook agar memudahkan pengguna dalam melakukan login
2) Begitu juga dengan register disarankan untuk menggunakan otentikasi
Oauth2 dari google agar memudahkan proses register siswa maupun murid
102
3) Apabila aplikasi ingin dikembangkan menjadi lebih kompleks lagi bisa
digunakan konsep Test Driven Development agar memudahkan dalam
mengembangkan aplikasi tersebut.
4) Kendala yang dihadapi saat membangun sistem ini adalah penggunaan
fungsi nested relationship, fungsi ini digunakan untuk menampilkan
pertanyaan berdasarkan bab dan mata pelajaran secara dinamis. Kendala
yang lainnya adalah penggunaan api testing yang kurang lengkap, apabila
ada yang ingin mengembangkan sistem ini bisa menggunakan swagger
untuk testing api.
103
DAFTAR PUSTAKA
Anonim, Pengenalan JSON. http://www.json.org/json-id.html. [3 April 2020]
Anonim, The postman Platform. https://www.POSTman.com/POSTman. [3 April 2020]
Arief, M. Rudyanto. (2014). Pemrograman Web Dinamis Menggunakan PHP & MySQL. Yogyakarta: Andi. Komputer, Wahana. 2010. Panduan Belajar MySQL Database Server. Jakarta: Mediakita.
Badiyanto. 2013. Buku Pintar Framework Yii. Yogyakarta: Mediako.
Bermbach David, Erik Wittern. Benchmarking Web API Quality. Berlin, Germany.
Black. Rex, Managing The Testing Process:Practical Tools and Techniques for Managing Hardware and Software Testing, Indiana: Wiley Publishing.Inc, 2009.
Budiana Irpan dan Wibiyanti Irma. 2019. Perancangan Arsitektur Sistem Tiket Elektronik Kereta Api Menggunakan Kerangka Service Oriented Enterprise Architecture (Studi Kasus : Pt Railink). Bandung: Sekolah Tinggi Manajemen Informatika & Komputer - Indonesia Mandiri
Eko Putro Widoyoko, S, 2014, Penilaian Hasil Pembelajaran Di Sekolahan, Yogyakarta: Pustaka Pelajar
Ferry, Response Time Testing. http://www.sis.binus.ac.id. [10 Agustus 2020]
Fihri Muhammad, Muldina Negara Ridha dan Dwi Sanjoyo Danu. 2019. Implementasi & Analisis Performansi Layanan Web Pada Platform Berbasis Docker. Bandung: Universitas Telkom
Fransisco Ponce, Gastón Márquez dan Hernán Astudillo. (2019). Migrating from Monolithic architecture to microservice: A rapid review. Valparaíso: Universidad Técnica Federico Santa María.
Hermawan, Ardyanto. 2017.Peningkatan Ketersediaan Aplikasi Web Menggunakan Arsitektur Layanan Mikro Berdasarkan Identifikasi Log Akses. Surabaya: Institut Teknologi Sepuluh Nopember.
Jihad Asep dan Abdul haris.2012.Evaluasi Pembelajaran. Yogyakarta : Multi Presindo
Kania Dewi. 2019.Implementasi Arsitektur Microservice Pada Aplikasi Online Travel Tourinc. Lampung: Polinela
104
Kurniawan Dedi, Fadli Rahmat Isnanto, Syamsuryadi dan Fathoni. 2019. Implementasi Arsitektur Microservice: Studi Kasus Pada Pengembangan Surat Keterangan Pendamping Ijazah di Lingkungan Fakultas Unsri. Palembang: Unsri
Munawar Ghifari dan Hodijah Ade. 2018. Analisis Model Arsitektur Microservice Pada Sistem Informasi DPLK. Bandung: Polban
Newman Sam. 2020. Monolith to Microservices. USA: O'Reilly Media, Inc.
O’Brien, Marakas. (2011). Management Information System: Global Edition. New York,NY: McGraw-Hill.
Risky Mayriayanti, Bambang Eka Purnama, Sukadi. 2013. Aplikasi Pengolahan Jurnal Online Pada Sekolah Tinggi Keguruan dan Ilmu Pendidikan (STKIP) PGRI Pacitan. Indonesian Journal on Networking and Security.
Rouse, Margaret.,“mobile backend as a service (mobile BaaS)”. http://searchmobilecomputing.techtarGET.com/definition/mobile-Backendas-a Service-mobile-BaaS
Suryotrisongko Hatma. 2017. Arsitektur Microservice Untuk Resiliensi Sistem Informasi. Surabaya: ITS
LAMPIRAN
Gambar L.1
Gambar L.2
Gambar L.3
Gambar L.4
Gambar L.5
Gambar L.6
Gambar L.7
Gambar L.8 a Sebelum menambah soal
Gambar L.8 b Sesudah menambah soal
Gambar L.9 a Sebelum mengubah soal no 3
Gambar L.9 b Sesudah mengubah soal no 3
Gambar L.10 a Sebelum menghapus soal no 3
Gambar L.10 b Setelah menghapus soal no 3
Gambar L.11
Gambar L.12
Gambar L.13
Gambar L.14
Gambar L.15
Gambar L.16
Gambar L.17
DAFTAR RIWAYAT HIDUP
Muhammad Refda Lahir di Jakarta 21 Mei 1998, Putra pertama dari Bapak
Sirajudin dan Ibu Siti Apriani. Tinggal di Jakarta. Lulus dari SDN Ciganjur 02 Pagi
2010, SMP Negeri 131 Jakarta Selatan 2013, SMK Perguruan Rakyat 1 2016 dan
CIIT Fakultas Teknik Universitas Indonesia jurusan Teknik Informatika 2018. Saat
ini berstatus mahasiswa yang sedang menjalankan pendidikan tingkat diploma IV
Program studi Teknik Informatika jurusan Teknik Informatika dan Komputer di
Politeknik Negeri Jakarta.