Journal Homepage : http://jurnal.sar.ac.id/index.php/satin
Sistem Ujian Online Menggunakan Algoritma Fisher Yates Shuffle
Khusaeri Andesa 1 , Nurjayadi 2 , Herwin 3 , Torkis Nasution 4
1 STMIK Amik Riau, khusaeri@sar.ac.id, Purwodadi Indah Km. 10 Panam Pekanbaru, Indonesia
2 STMIK Amik Riau, nurjayadi@sar.ac.id, Purwodadi Indah Km. 10 Panam Pekanbaru, Indonesia
3 STMIK Amik Riau, herwin@sar.ac.id, Alamat, Purwodadi Indah Km. 10 Panam Pekanbaru, Indonesia
4 STMIK Amik Riau, torkisnasution@sar.ac.id, Purwodadi Indah Km. 10 Panam Pekanbaru, Indonesia
Informasi Makalah Abstrak (11pt) Submit Revisi Diterima : 13 Okt 2020 : 26 Nov 2020 : 01 Des 2020 Ujian  merupakan  sesuatu  yang  dipakai  untuk  menguji  mutu sesuatu  kepandaian,  kemampuan,  hasil  belajar.  Ujian  selain dilaksanakan  secara  tertulis  maupun  lisan  dapat  pula dilaksanakan  menggunakan  alat  bantu  komputer.  Jika pelaksanaan  ujian  menggunakan  komputer  dilaksanakan dalam  sebuah  jaringan  komputer  baik  itu  jaringan  intranet maupun  internet  maka  bisa  dikategorikan  sebagai  ujian online. Pelaksanaan asesmen dalam bentuk quiz, ujian tengah semester,  ujian  semester  telah  dilaksanakan  di  setiap perguruan  tinggi.  Permasalahan  ditemukan  waktu  yang diperlukan dalam memeriksa hasil ujian mahasiswa dan hasil ujian  yang  telah  diperiksa  tidak  dikembalikan  kepada mahasiswa.  Dosen  masih  mengalami  kesulitan  pada  saat membuat  soal  berbasis  elektronik,  seperti  halnya  yang tersedia  pada  LMS.  Umumnya  soal  yang  telah  dibuat  oleh dosen tersedia dalam word processor , belum tersedia piranti yang  dapat  mengkonversi  ke  database  dan  langsung  dapat diujikan. Tujuan penelitian ini adalah mengembangkan ujian yang  dapat  dilakukan  secara online berdasarkan  bank  soal dan  membangun tool yang  dapat  mengkonversi  soal  dalam word  processing dapat  langsung  diujikan.  Untuk  mencapai tujuan, langkah yang dilakukan adalah membangun bank soal berbasis  web,  mengembangkan  aplikasi  pelaksanaan  ujian secara online .  Setiap  peserta  uji  yang  mengikuti  ujian,  soal yang  diakses  mengimplementasikan  algoritma Fisher-Yates Shuffle yang  berfungsi  untuk  mengacak  soal  dan Algoritma
Levenshtein  Distance yang  berfungsi  untuk  membandingkan jawaban  pada  saat  pengoreksian.  Pembuatan  aplikasi menggunakan  bahasa  pemrograman  Java  dan  PHP  dengan database MySQL  keseluruhan  pengembangan  aplikasi menggunakan pendekatan prototype . Aplikasi telah memenuhi  standar  karena  fungsional  berjalan  100%,  waktu akses rerata waktu memuat halaman 0.14 detik.
Kata Kunci : Ujian Online
Pengacakan

## Bank Soal
Development
Fisher Yates Shuffle
ISSN: 2527-9114, DOI: 10.33372/stn.v6i2.669

## Abstract
An exam is something that is used to test the quality of something's intelligence, ability, learning outcomes.  Besides  being  carried  out  in  writing  or  orally,  exams  can  also  be  carried  out  using computer aids. If the implementation of the exam using a computer is carried out on a computer network,  be  it  an  intranet  or  the  internet,  it  can  be  categorized  as  an  online  exam.  The implementation of assessments in the form of quizzes, midterm exams, semester exams has been carried out in every university. The problem was found that the time it takes to check the results of  student  exams  and  the  results  of  examinations  that  have  been  checked  are  not  returned  to students. Lecturers still have difficulties when making electronic-based questions, such as those available in the LMS. Generally, questions that have been made by the lecturer are available in a word  processor, there is  no  tool  that  can  convert  to a  database  and can  be  directly  tested. The purpose of this research is to develop an online test based on a question bank and to build a tool that can convert questions into word processing that can be directly tested. To achieve the goal, the steps taken are building a web-based question bank, developing an online exam application. Each  test  participant  who  takes  the  exam,  the  questions  accessed implements  the  Fisher-Yates Shuffle  algorithm  which  functions  to  randomize  the  questions  and  the  Levenshtein  Distance algorithm  which  functions  to  compare  answers  during  correction.  Application  development using  the  Java  programming  language  and  PHP  with  MySQL  database.  Overall  application development using a prototype approach. The application meets the standard because it is 100% functional, and the average access time is 0.14 seconds.

## 1. Pendahuluan
Perkembangan  pendidikan  akan  menjadi perhatian dan konsentrasi setiap negara(Pelajaran  &  Di,  2012)dalam  dalam upaya  memanusiakan  manusia.  Hal  ini menunjukkan  bahwa  pendidikan  memiliki peran  besar  dalam  usaha  meningkatkan kualitas  sumber  daya  manusia.  Pentingnya pendidikan bagi pengembangan sumber daya manusia
mendorong pemerintah mengupayakan berbagai cara untuk mendorong  peningkatan  kualitas  proses belajar mengajar (Pendidikan & Kebudayaan, 2019).
Keberadaan  fasilitas  sangat  membantu demi  tercapainya  proses  belajar  mengajar yang  berkualitas.  Disamping  kelengkapan sarana  dan  prasarana  yang  ada,  peran  dosen, sangatlah  penting  dalam  proses  pelaksanaan perkuliahan.  Kehadiran  dosen  di  ruangan perkuliahan  sangat  menentukan  kualitas lulusan kelak. Oleh karena itu, dosen dituntut untuk  selalu  mengembangkan  kompetensi
dan  aktif  menggali  potensi  untuk  selalu berkembangan  demi  tercapainya  kualitas pendidikan  berkelanjutan.  Tuntutan  inilah yang kemudian mengharuskan seorang dosen untuk  selalu  maksimal  dalam  setiap  proses pembelajaran, terlebih dalam hal melaksanakan asesmen hasil belajar mahasiswa.
Seiring dengan lamanya kegiatan pendidikan  yang  dijalankan,  jumlah  soal yang dimiliki oleh Dosen STMIK Amik Riau terus  meningkat.  Maka,  diperlukan  sistem yang dapat membantu mengatur penyimpanan  soal-soal  dengan  baik  dan dapat  digunakan  untuk  waktu  berikutnya. Adanya  bank  soal  akan  membantu  dosen dalam mendokumentasikan soal ujian(Azizah &  Fitriani,  2016),  mengetahui  sejarah pemakaian  soal-soal  yang  telah  dibuat  dan dapat  memakai  soal-soal  yang  sebelumnya pernah  dibuat  untuk  ujian  berikutnya.  Selain itu, juga dapat mendokumentasikan soal-soal tiap tahun, tiap semester dan tiap tingkatannya.  Maka  dari  diperlukan  sebuah
ISSN: 2527-9114, DOI: 10.33372/stn.v6i2.669
aplikasi  bank  soal  untuk  membantu  dosen (Tayade & Bhadange, 2017) dalam menyimpan  soal-soal  yang  telah  dibuat  dan dapat  digunakan  ketika  diperlukan  untuk membuat  soal  ujian  berikutnya.  Bentuk evaluasi  yang  dapat  digunakan  disesuaikan dengan batasan perangkat dan ruang lingkup area yang akan diuji.
Secara umum bentuk evaluasi yang dapat digunakan  terbagi  pada  soal  berbasis essay dan objective .  Soal essay terdiri  dari  tes uraian  dengan  pertanyaan  bebas,  tes  uraian dengan  pertanyaan  terbatas,  dan  tes  uraian dengan  pertanyaan  terstruktur.  Soal  berbasis objective terdiri  dari multiple  choice ,  benar atau  salah, matching  test ,  dan fill-in  test . Ketersediaan bank soal, memungkinan dilakukan pengacakan soal yang ditampilkan untuk  setiap  perangkat  berbeda  dengan perangkat yang lain.
Dalam  menyajikan  soal  yang  telah disusun  berbasis  HOTS  pada  soal multiple choice dapat  dilakukan  pengacakan  untuk setiap  opsi  jawaban.  Pada  saat  ini,  hampir seluruh  mahasiswa  telah  memiliki  perangkat smartphone.  Oleh  sebab  itu  muncul  gagasan untuk membangun aplikasi pelaksanaan ujian secara online , yang memungkinkan
dilaksanakan  dengan  perangkat smartphone , maupun dengan perangkat komputer bergerak  yang  memudahkan  mahasiswa melakukan  ujian  dimanapun  dan  kapanpun. Hal  ini  sesuai  dengan  VMTS  STMIK  Amik Riau,  yang  fokus  pada  pengembangan perangkat mobile sesuai dengan kemajuan di bidang  teknologi  informasi.  Disamping kondisi tersebut, dapat diidentifikasi masalah yang  dialami  kampus  berhubungan  dengan pelaksanaan ujian secara online , antara lain:
A. Waktu yang diperlukan dalam memeriksa hasil ujian mahasiswa membutuhkan  waktu relatif lama  oleh dosen(Saputra et al., 2017).
B. Setelah  hasil  ujian  diperiksa  oleh  dosen tidak selalu dikembalikan kepada mahasiswa.
C. Dosen  masih  mengalami  kesulitan  pada saat  membuat  soal  berbasis  elektronik, seperti halnya yang tersedia pada LMS.
D. Dosen  membuat  soal  dalam  bentuk word  processor ,  belum  tersedia  piranti yang  dapat  merubah  ke database dan langsung dapat diujikan kepada mahasiswa.
E. Belum tersedia aplikasi yang digunakan untuk melaksanakan ujian secara online .
F. Belum  tersedia  bank  soal  yang  dapat diakses baik oleh dosen yang bersangkutan  maupun  oleh  tim  dosen pengampu matakuliah.
Setiap  mahasiswa  dapat  melaksanakan ujian  tanpa  harus  dibatasi  oleh  waktu  dan geografis(Santoso  et  al.,  2019).  Begitu  juga dengan  dosen  dapat  melaksanakan  ujian setiap  saat  untuk  dapat  mengetahui  tingkat capaian  materi  yang  telah  disampaikan kepada mahasiswa.

## 2. Metode Penelitian
2.1 Tahapan Penelitian
Prosedur penelitian yang dilakukan mencakup  tahap  perencanaan,  pelaksanaan, observasi  dan  refleksi,  yang  dijelaskan sebagai berikut:
A. Tahap perencanaan, meliputi:
mengidentifikasi  masalah;  menganalisis dan  merumuskan  masalah;  merancang instrumen  penelitian;  pengambilan  data, pengolahan  data,  mendiskusikan  hasil; simpulan; implikasi.
B. Tahap pelaksanaan, meliputi: melaksanakan  langkah-langkah  sesuai perencanaan; mengembangkan ujian online,  bank  soal,  teknik entri data,  dan implementasi Algoritma Pengacakan Fisher Yates Shuffle ; melakukan
pengamatan  terhadap  setiap  langkah- langkah kegiatan sesuai rencana; mengantisipasi  dengan  melakukan  solusi apabila menemui kendala saat melakukan tahap tindakan.
ISSN: 2527-9114, DOI: 10.33372/stn.v6i2.669
C. Tahap  observasi,  meliputi:  melakukan diskusi  dengan  penelitian  untuk  rencana observasi; melakukan pengamatan terhadap  kebiasaan  mahasiswa  dalam  20 menggunakan  perangkat smartphone ; cara  dosen  memberikan  ujian;  mencatat setiap  kegiatan  pada  setiap  waktu  secara periodik;  melakukan  diskusi  dengan peneliti untuk membahas tentang kelemahan atau kekurangan yang dilakukan  peneliti  serta  memberikan saran  perbaikan  untuk  pembelajaran berikutnya.
D. Tahap  refleksi,  meliputi:  menganalisis temuan  saat  pelaksanaan  observasi, menganalisis hasil temuan dan mempertimbangkan langkah selanjutnya; melakukan  refleksi  terhadap  penerapan metoda;  melakukan  uji  terhadap  layanan informasi.
2.2 Algoritma Fisher Yates Shuffle Sebutan Fisher  Yates  Shuffle berasal  dari penemu,  Ronald  Fisher  dan  Frank  Yates, juga  dikenal  sebagai  Knuth  Shuffle,  diambil dari  nama  Donald  Knuth,  adalah  sebuah algoritma  untuk  menghasilkan  permutasi acak dari suatu himpunan  berhingga, dengan kata  lain  untuk  mengacak  suatu  himpunan tersebut.  Sebuah  varian  dari Shuffle  Fisher- Yates, yang dikenal sebagai algoritma Sattolo itu,  dapat  digunakan  untuk  menghasilkan siklus  acak  panjang  n  sebagai  gantinya. Proses dasar dari Fisher-Yates menyert mirip dengan  memilih  secara  acak  tiket  bernomor keluar  dari  cab,  atau  kartu  dari  setumpuk. Pemakaian Fisher-Yates Shuffle bias melalui dua  cara  yaitu: original  method dan modern method .  Menurut  Pavel  Micka  (2011) Original method dipublikasikan  pada  tahun 1938, pada metode ini dilakukan dengan cara penarikan  secara  berulang  dari  unsur  daftar masukan  kemudian  menuliskannya  ke  daftar keluaran  kedua.  Pendekatan  ini  dilakukan oleh  manusia  dengan  secarik  kertas  dan sebuah pensil
Pada modern  method dijabarkan  untuk penggunaan  komputerisasi  yang  dikenalkan oleh  Richar  Durstenfield  pada  tahun  1964. Modern  method dikenalkan  Karena  Lebih optimal  dibanding  dengan  original  method. Algoritma  yang  modern  berbeda  dari  yang sebelumnya., sangat komputasi dan matematis.  Prosesnya  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. Hal ini dilakukan dalam O (1)  waktu  dan  ruang.  Dengan  demikian, waktu  dan  ruang  kompleksitas  algoritmanya O  (n),  yang  optimal.  Menurut  Vinay  signh (2014)  penggunaan  algoritma  Fisher-Yates yang  modern  oleh  Ricard  Durstenfeld  dapat mengurangi  kompelksitas  algoritma  menjadi O  (n),  dibandingkan  dengan  mengacak menggunakan  metode  yang  lain  seperti menggunakan sorting yang  tidak  efisien karena adanya nested looping .
Algoritma  Fisher-Yates  dipilih  karena algorithm aini merupakan metode pengacakan  yang  lebih  baik  atau  dapat dikatakan  sesuai  untuk  pengacakan  angka, dengan waktu eksekusi yang cepat serta tidak memerlukan waktu yang lama untuk melakukan  suatu  pengacakan.  Algoritma Fisher-Yates  terdiri  dari  dua  metode  yaitu, metode original dan metode modern . Namun dalam  pengembangan  aplikasi  ini  algoritma ini  diterapkan  dengan  menggunakan  metode modern .  Metode modern dipilih  Karena metode ini memang khusus digunakan untuk pengacakan  dengan  sistem  komputerisasi, karena hasil pengacakan bias lebih variatif.
Berikut  adalah  metode  dasar  yang digunakan untuk menghasilkan suatu permutasi  acak  untuk  angka  1  sampai  n adalah:
A. Tuliskan angka dari 1 sampai n
B. Pilih  sebuah  angka  acak  k diantara  1  sampai  dengan  jumlah angka yang belum dicoret
ISSN: 2527-9114, DOI: 10.33372/stn.v6i2.669
C. Dihitung  dari  bawah,  coret tangka  k  yang  belum  dicoret, dan  jelaskan  angka  tersebut  di lain tempat
D. Ulangi  langkah  2  dan  langkah  3  sampai angka sudah tercoret
E. Urutan angka yang yang dituliskan  pada  langkah  3  adalah
permutasi acak dari angka awal.
Pada  versi modern digunakan  sekarang, angka  yang  terpilih  tidak  dicoret,  tetapi posisinya  ditukar  dengan  angka  terakhir  dari angka yang belum terpilih. Bentuk Pseudocode  algoritma  Fisher  Yates  Shuffle adalah:
function algoFisherYate(A)
for I 🡨 A.length-1 down to 1 do
s = random number from 0 to i swap(A[i], A[s]) endfor
endfunction
Sebagai  contoh,  apabila  ada  angka  dengan urutan  1  2  3  4  5  6  7  8,  maka  proses pengacakannya  dengan  Algoritma  Fisher Yates  Shuffle  dapat  dilihat  pada  tabel  1 berikut:
Tabel 1. Pemilihan angka dari 1 sampai n Range Roll Scratch Result 1 2 3 4 5 6 7 8
Pertama pilih angka acak 1 sampai 8, pilih 4, kemudian menukar angka urutan ke empat yaitu angka 4 dengan angka urutan kedelapan atau angka terakhir yaitu angka 8.
Tabel 2. Pemilihan acak angka 4 pada roll
Angka acak selanjutnya dari 1 – 7, pilih 6 kemudian  tukar  angka  urutan  keenam  yaitu angka  6  dengan  angka  urutan  ketujuh  atau angka terakhir yaitu angka 7.
Tabel 3. Pemilihan acak angka 6 pada roll Range Roll Scratch Result 1 – 7 6 1 2 3 8 5 7 4 6
Angka  acak  berikutnya  dari  1  –  6,  1  –  5 dan seterusnya, sehingga dengan mengulangi langkah-langkah seperti diatas akan didapatkan hasil seperti tabel 4.
Tabel 4. Pengerjaan metode fisher-yates shuffle Range Roll Scratch Result 1 – 6 2 1 7 3 8 5 2 6 4 1 – 5 7 1 5 3 8 7 2 6 4 1 – 4 1 8 5 3 1 7 2 6 4 1 – 3 3 8 5 3 1 7 2 6 4 1 – 2 5 8 5 3 1 7 2 6 4 8 5 3 1 7 2 6 4
Pada  versi modern yang  sekarang digunakan,  angka  yang  terpilih  tidak  dicoret tetapi  posisinya  ditukar  dengan  angka terakhir  dari  angka  yang  belum  terpilih. Menurut  Vinay  Signh  (2014)  menggunakan Algoritma Fisher-Yates Shuffle yang modern oleh  Richard  Durstenfeld  dapat  mengurangi kompleksitas  algoritma  menjadi  O  (n), dibandingkan dengan mengacak
menggunakan  metode  yang  lain  seperti menggunakan sorting yang  sangat  tidak efisien karena adalan nested loop .
Pengacakan suatu hal yang sangat penting dalam pembuatan banyak aplikasi. Meskipun terlihat  mudah,  namun  pada  dasarnya  jika tidak dilakukan dengan baik maka pengacakan itu dapat berdampak buruk untuk suatu  aplikasi.  Untuk  itulah  diperlukan sebuah  algoritma  yang  baik  terutama  dalam hal  pengacakan.  Dalam  hal  ini  pengacakan menggunakan  Algoritma  Fisher-Yates  dapat dijadikan  acuan  untuk  diterapkan  dalam sebuah  aplikasi  yang  menggunakan  metode pengacakan  Fisher-  Yates  merupakan  cara optimal dengan waktu eksekusi yang efisien, serta  dengan  ruang  penyimpanan  memori yang tidak terlalu besar.
Range Roll Scratch Result 1 – 8 4 1 2 3 8 5 6 7 4
ISSN: 2527-9114, DOI: 10.33372/stn.v6i2.669

## 3. Hasil dan Pembahasan

## 3.1. Hasil Penelitian
Pembahasan  mencakup  pengembangan dan perancangan aplikasi bank soal dan ujian online.  Penelitian  pengembangan  produk mengacu pada tahapan model pengembangan perangkat lunak waterfall
Analisa  kebutuhan  fungsional  tahapan analisa  merupakan  tahap  awal  yang  pertama kali  dilakukan  untuk  mengumpulkan  data- data  yang  menyangkut  kebutuhan  pengguna. Berdasarkan  hasil  pengumpulan  informasi kebutuhan dilakukan melalui metode observasi  dan  wawancara.  Berdasarkan  hasil observasi  dilakukan,  dengan  mengamati proses  pelaksanaan  ujian  akhir  semester. Metode  wawancara  dilakukan  langsung terhadap  rekan  kerja  peneliti.  Berdasarkan hasil  wawancara  dapat  disimpulkan  analisis kebutuhan fungsional pada aplikasi bank soal dan ujian online adalah sebagai berikut : A. Aplikasi  dapat  diakses  dimana  pun, kapan  pun  dan  oleh  semua  pengguna yang  terdaftar  berdasarkan  tingkatan klasifikasi pengguna
B. Halaman  awal  aplikasi  berupa  halaman login  yang  memastikan  hanya  pengguna yang terdaftar saja yang dapat menggunakan aplikasi
C. Pengguna yang dapat mengakses aplikasi dibagi  menjadi  3  (tiga)  yang  memiliki kewenangan  atau  tugas  masing-masing yaitu:
1. Program Studi, merupakan pengguna yang  dapat  melaksanakan  seluruh kewenangan  yang  ada  pada  aplikasi. Kewenangan  atau  tugas  yang  dapat dilakukan oleh Program Studi adalah: login,  logout ,  mengelola bank  soal,  jadwal  pelaksanaan  ujian, mengelola  dosen  yang  terdaftar, mengelola mahasiswa.
2. Dosen,  merupakan  pengguna  yang bertugas  membuat  soal  ujian,  dan menilai hasil ujian mahasiswa.
Kewenangan  atau  tugas  yang  dapat
dilakukan  oleh  dosen  adalah: login
dan logout ,  mengelola  data  soal ujian, mengelola hasil ujian
3. Mahasiswa,  merupakan  pengguna yang  berasal  dari seluruh mahasiswa yang mengambil matakuliah.
Kewenangan  atau  tugas  yang  dapat dilakukan  oleh  mahasiswa  adalah: login dan logout .  mengelola  data profil  diri  sendiri.mengerjakan  soal ujian, dan melihat nilai ujian.
3.1.2. Analisa Kebutuhan Perangkat Hasil  dari  analisa  kebutuhan  perangkat keras  dan  perangkat  lunak  yang  dibutuhkan untuk  menjalankan  aplikasi  bank  soal  dan ujian online adalah:
a. Aplikasi  bank  soal  yang  dapat  diakses oleh dosen, program studi, dan mahasiswa.
b. Aplikasi  ujian online dapat  diakses menggunakan  perangkat smartphone . Maka dari itu, aplikasi harus install pada server yang  memiliki  konfigurasi  web server dan database  server serta  telah terpasang  PHP  7.3  atau  versi  yang terbaru.  Dalam  penelitian  ini  baik  web server atau database server menggunakan open  source  application .  Web  server menggunakan apache , sedangkan database  server menggunakan  MySQL server.
c. Pengguna dapat mengakses aplikasi bank soal dan ujian online dengan menggunakan  komputer  dan  perangkat smartphone yang  terkoneksi  jaringan internet. Sehingga pengguna dapat mengakses  aplikasi  ujian online melalui koneksi
internet. Penunjang pengembangan  aplikasi  ujian online berbasis  web  perangkat  keras  dan perangkat  lunak  yang  digunakan  adalah: Sistem  Operasi  Windows,  dan  Linux Ubuntu,  XAMPP  web  server  dan database  server , web  browser Google Chrome, editor pengkodean  bahasa
ISSN: 2527-9114, DOI: 10.33372/stn.v6i2.669
pemrograman  PHP,  Javascript,  AJAX, JQuery, HTML, dan CSS
3.1.3. Perancangan Use Case Diagram Use  case diagram  merupakan  pemodelan untuk  menggambarkan  perilaku  (behavior) sistem  yang  akan  dibuat.  Diagram use  case mendeskripsikan  sebuah  interaksi  satu  atau lebih aktor dengan sistem. Diagram use case digunakan  untuk  mengetahui  fungsi  apa  saja yang  ada  di  dalam  sebuah  sistem  dan  siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Use  case menjelaskan  secara sederhana  fungsi  sistem  dari  sudut  pandang user. Tabel 5 merupakan deskripsi aktor pada Aplikasi Bank Soal dan Ujian Online sebagai berikut:
Tabel 5. Definisi aktor pada use case diagram
Aktor Deskripsi Program Studi Program Studi adalah pengguna yang dapat melakukan seluruh kewenangan/tugas yang ada pada seluruh aplikasi. Dosen Dosen merupakan pengguna yang bertugas membuat soal ujian, upload soal, dan menilai hasil ujian mahasiswa. Mahasiswa Mahasiswa merupakan pengguna yang berasal dari seluruh mahasiswa yang mengambil matakuliah bersangkutan
Berdasarkan  analisis  sistem,  maka  dapat diusulkan pemecahan masalah dalam mengembangkan sebuah sistem ujian berbasis  komputer  yang  merupakan  struktur interaksi  antara  manusia,  peralatan,  metode- metode  dan  kontrol-kontrol  yang  disusun untuk mencapai tujuan. Dalam pengembangan  sistem  ujian online ini kerangka  umumsistem  dimodelkan  seperti tampak pada gambar dibawah ini. Gambar 1: Kerangka  umum  model  sistem  ujian  online Pemodelan Fungsional dan Aliran Informasi.

## 3.1.4. Desain Database
Perancangan database merupakan
sekumpulan  tabel  yang  saling  berhubungan dalam basis data berdasarkan hubungan yang ditentukan  oleh  atribut-atribut. Database bank  soal  dan  ujian  online  menjelaskan tentang  ke-3  (tiga)  pengguna  aplikasi diantaranya:  Program  Studi,  mahasiswa,  dan dosen  dihubungkan  dengan  simbol  relasi yang  menginisialkan  bank  soal  dan  ujian online
Gambar 2. Desain physical entity relation diagram
3.2. Pembahasan
Halaman login merupakan  halaman  yang digunakan  oleh user Program  Studi,  Dosen,
ISSN: 2527-9114, DOI: 10.33372/stn.v6i2.669
dan Mahasiswa. Pada halaman ini terdapat 2 (dua) buah key yang berfungsi sebagai kunci masuk halaman, yaitu username dan password .
Gambar 3. Pemilihan user
Tampilan layar untuk memasukkan username dan password
Gambar 4. Pengguna memasukkan username dan password
User dapat melakukan perubahan terhadap profil diri sendiri, ditunjukkan pada
gambar 5.
Gambar 5. Perubahan profile user
Tampilan  layar  untuk  melakukan perubahan  data  user  berupa username dan password.

## Gambar 6. Tampilan daftar matakuliah
Tampilan  layar  data  master  berupa  data matakuliah  yang  dapat  di  tambah  sesuai dengan matakuliah yang ada.
ISSN: 2527-9114, DOI: 10.33372/stn.v6i2.669

## Gambar 7. Tampilan periode
Tampilan  layar  untuk  penentuan  periode atau tahun pelajaran.
Gambar 8. Tampilan data mengajar
Tampilan  layar  manajemen  pengajaran yang  dibuat  oleh  admin  berdasarkan  nama dosen dan matakuliah yang di ampu.

## Gambar 9. Tampilan data dosen
Tampilan layar data dosen serta penentuan username dan password bagi masing  masing  dosen  agar  dapat  masuk  ke halaman login dosen.

## Gambar 10. Tampilan ujian mahasiswa
Tampilan  layar  di  atas  adalah  tampilan data  hasil  ujian  bagi  mahasiswa  yang  telah melaksanakan ujian.

## 4. Simpulan
Berdasarkan hasil analisis dan pembahasan dalam penelitian ini, maka dapat diambil kesimpulan sebagai berikut:
A. Produk  akhir  yang  telah  dikembangkan adalah bank soal dan ujian online dengan metode pengacakan urutan soal.
B. Aplikasi bank soal dan ujian online di uji pada  aspek functionality ,  aplikasi  telah memenuhi standar karena fungsi berjalan100%.
ISSN: 2527-9114, DOI: 10.33372/stn.v6i2.669
C. Pada  aspek efficiency ,  aplikasi  telah memenuhi  standar  dengan  rerata  waktu memuat halaman 0.14 detik.
D. Pada  aspek usability ,  aplikasi  telah memenuhi standar dengan tingkat
persetujuan pengguna
E. Pada  aspek portability ,  aplikasi  telah memenuhi standar kriteria karena berhasil  dijalankan  pada  semua browser dan  perangkat smartphone yang  diuji cobakan tanpa error .

## 5. Referensi
Azizah ,  S.  H.,  &  Fitriani,  L.  (2016).
Rancang  Bangun  Aplikasi  Bank  Soal Program Studi Teknik Informatika Sekolah  Tinggi  Teknologi  Garut. Jurnal Algoritma , 13 (1), 63–69. https://doi.org/10.33364/algoritma/v.13- 1.63 Pelajaran, M., & Di, F. (2012).
Pengembangan  Instrumen  Tes  Computer Based Test- Higher Order Thinking ( Cbt- Hot ) Pada . 89–95.
Pendidikan,  K.,  &  Kebudayaan,  D.  A.  N.
(2019). Bantuan  SMK  Penyusun  Bank Soal Kejuruan Mandiri Tahun . Putra,  R.  L.,  Maulana,  A.,  &  Iriani,  T. (2019).  Evaluasi  Program  Pelaksanaan Ujian Online dengan Menggunakan Learning  Management  System  Moodle Berbasis  Android  di  SMK  Negeri  1 Jakarta. Jurnal  Pendidikan  Teknik  Sipil ,
8 (1),
48–54. https://doi.org/https://doi.org/10.21009/jp
ensil.v8i1.8483
Santoso,  A.,  Kartianom,  K.,  &  Kassymova,
G.  K.  (2019).  Kualitas  butir  bank  soal statistika  (Studi  kasus:  Instrumen  ujian akhir  mata  kuliah  statistika  Universitas Terbuka). Jurnal Riset Pendidikan Matematika , 6 (2), 165–176.
https://doi.org/10.21831/jrpm.v6i2.28900 Saputra,  M.  H.  Y.,  Arthana,  I.  K.  R.,  & Santyadiputra,  G.  S.  (2017).  Simatik : Aplikasi  Simulasi  Bank  Soal  Tes  Potensi
Akademik (TPA) Berbasis Multi Platform. JST (Jurnal Sains Dan Teknologi) , 5 (2), 860. https://doi.org/10.23887/jst- undiksha.v5i2.8621 Tayade,  S.,  &  Bhadange, D.  (2017).  Role  of Information and Communication Technology in Research. Research
Journal .
Meutia  Dewi ,  S.(2015). Pengaruh  Kualitas Pelayanan  dan  Fasilitas  Perpustakaan terhadap  Prestasi  Belajar  Mahasiswa Universitas  Samudra,  Jurnal  Manajemen Dan Keuangan, Vol.4, No.1, Mei 2015 Yuni Wibawanti ,. (2008). Model
Pengukuran  Kinerja  Perpustakaan  PTS  X Berdasarkan  ISO  11620:2008  dan  SNP 010:2011, Jurnal Faktor Exacta 8(4): 369- 380, 2015 ISSN: 1979-276X.
Ortlieb., & T.  Evan. (2010). ”Sparking Children’s  Interest  in  Reading”.  Dalam International Journal of Education, Vol. 2 No. 2 Hal 2-3 Texas: A&M University.
Nurjayadi,. (2015). ” Implementasi  Neuro
Fuzzy  dalam  Proses  Belajar  Mengajar untuk
Meningkatkan Prestasi
Mahasiswa”.  SATIN  -  Sains  dan Teknologi  Informasi,  Vol.  1  No.  2, Desember 2015.
Susandri.,  Herwin, & Mardainis. (2015). ”
Pengembangan  Model  Perancangan  dan Pemrograman  Sistem  Informasi  Berbasis Web”.  Dalam  SATIN  -  Sains  dan Teknologi  Informasi,  Vol.  2  No.  2 Desember 2016.