## PENGEMBANGAN MEDIA PEMBELAJARAN SEJARAH INDONESIA BERBASIS ANDROID MENGUNAKAN ALGORITMA FISHER YATES
Muntahanah 1 , Ahmad Novianto 2 , Ardi Wijaya 3 , Yovi Apridiansyah 4 .
Program Studi Teknik Informatika, Fakultas Teknik, Universitas Muhammadiyah Bengkulu .
Jl. Bali, Kp. Bali, Kec. Tlk. Segara, Kota Bengkulu, Bengkulu 38119 muntahanah@umb.ac.id noviantoahmad20@gmail.com 2 ardiwijaya@umb.ac.id 3 yoviapridiansyah@umb.ac.id 4
(received : November 2021, revised : Februari  2022, accepied : April 2022)
ABSTRACT - This study was an application development from former research that makes an android-based Indonesian history learning  media  application.  From  previous  studies,  the researcher  did  not  employ  randomization  or  algorithms. Meanwhile,  in  this  study,  it  was  developed  using  the  Fisher- Yates  algorithm.  This  study  utilized  the  UCD  method  which conducted  interviews  with  users  or  research  sites  so  that  they coul get results on the needs, designs and feasibility as well as tests on applications or learning media. From the results of the research  that has  been  conducted,  it is  found that this learning media  can  aid  the  learning  system  for  students  of  State  Junior High  School  38.  As  a  necessity  and  feasibility,  this  learning media is calculated using a Likert Scale and gets 81.2% results which are included in the statement strongly agree.
Keyword : History Learning Media, Android, Fisher-Yates .
ABSTRAK - Penelitian ini adalah pengembangan aplikasi dari penelitian  sebelumnya  yang  membuat  sebuah  aplikasi  Media pembelajaran sejarah indonesia berbasis android. Dari Penelitian sebelumnya  perancang  tidak  mengunakan  pengacakan  atau algoritma.  Sedangkan  pada  peneliti  ini  dikembangkan mengunakan algoritma Fisher-Yates. Penelitian ini menggunakan  metode  UCD  yang  melakukkan  wawancara kepada  user atau  tempat penelitian  sehingga  bisa  mendapatkan hasil  bagaimana  kebutuhan,  perancangan  dan  kelayakan  serta test pada aplikasi atau media pembelajaran. Dari hasil penelitian yang  sudah  dilakukan  mendapatkan  hasil  media  pembelajaran ini dapat membantu sistem belajar pada siswa dan siswi SMP N 38  sebagai  kebutuhan  dan  kelayakan  media  pembelajaran  ini dihitung  mengunakan  Skala  Likert  dan  mendapatkan  hasil 81,2% yang termasuk dalam keterangan sangat setuju.
Kata  Kunci  : Media  pembelajaran  sejarah,  Android,  Algoritma Fisher-Yates.

## I. PENDAHULUAN
Penelitian  ini  adalah  pengembangan  aplikasi  dari penelitian sebelumnya yang membuat sebuah aplikasi tanpa algoritma  yaitu  Media  pembelajaran  sejarah  indonesia berbasis  android  yang  disusun  oleh  David  Priatama  dari Universitas  Amikom  Yogyakarta.  Dari  Penelitian  tersebut peneliti tidak mengunakan pengacakan atau algoritma yang artinya setiap soal akan selalu keluar sama. Sedangkan pada peneliti  ini  dikembangkan  menjadi  algoritma  Fisher-Yates Sebagai pengacakan soal pada media pembelajaran sehingga soal  tak  akan  sama  setiap  keluar  atau  selalu  diacak menggunakan algoritma fisher-yates.
Salah  satu  contoh  pemanfaatan  teknologi  smartphone sebagai media pembelajaran. Namun, aplikasi pembelajaran yang baik tidak semata-mata hanya memberikan pertanyaan yang  sama  terus-menerus,  tetapi  aplikasi  pembelajaran yang baik adalah aplikasi yang dapat memberikan pelajaran yang berkelanjutan. Maka dari itu, pada bagian pertanyaan akan  dilakukan  pengacakan  sehingga  pertanyaan  tidak selalu  sama  ketika  digunakan.  Untuk  mewujudkan  hal tersebut,  maka  algoritma  pengacakan  (shuffle)  akan digunakan  sebagai sarana  pengacakan  pertanyaan. Algoritma  pengacakan  yang  akan  digunakan  pada penelitian ini adalah algoritma Fisher-Yates.
Adapun penelitian yang berhubungan dengan algoritma Fisher-Yates  yang  diterapkan  pada  game  menyatakan bahwa menggunakan algoritma Fisher-Yates dengan versi modern  pengacakannya  lebih  optimal  dengan  sistem komputerisasi  dikarenakan  hasil  dari    pengacakan  bisa lebih variatif. Supriyanto (2014).
Penelitian  ini  akan  mengembangkan  sebuah  aplikasi pembelajaran  sejarah  indonesia  berbasis  Android,  dengan menerapkan  algoritma  Fisher-Yates  yang  memiliki  peran sebagai  sistem  pengacakan  (Shuffling)  terhadap  soal-soal yang  akan  digunakan  dalam  aplikasi.  Pendekatan  ini memiliki tujuan agar penguna tidak hanya menghafal setiap jawaban  yang  keluar  berdasarkan  urutan  soal,  melainkan benar-benar  belajar  untuk  menjawab  setiap  soal,  dengan harapan  aplikasi  ini  dapat  membantu  perkembangan kreatifitas anak dan mendorongnya untuk belajar.
Dengan  perkembangan  teknologi,  mempelajari aritmatika  seperti  diatas  bisa  diterapkan  dalam  bentuk game. Keluarnya soal bisa dibuat dengan cara acak dan cepat.Metode yang dilakukan dengan Algoritma Fisher- Yates  Suffhel  yang  diterapkan  pada  game  media pembelajaran ini.  Berbagai  macam algoritma pengacak atau  shuffling  algorithms  untuk  memberikan  teknik pengacakan  pada  soal  sehingga  soal  yang  keluar  akan berbeda  dan  bisa  dihasilkan  tanpa  pengulangan  dan duplikasi.

## II. TINJAUAN PUSTAKA

## A. Sejarah Indonesia
Secara  etimologis  istilah  sejarah  berasal  dari  kata syajarah  yang  berarti  terjadi,  atau  dari  kata  syajarah berasal dari bahasa Arab,yang berarti pohon, syajarahan nasab, artinya pohon silsilah kuntowijoyo dalam Subagyo (2011).  Istilah  history  diambil  dari  kata  historia  dalam bahasa  Yunani  yang  berarti  informasi  atau  penelitian yang  ditujukan  untuk  memperoleh  kebenaran.  Sejarah pada  masa itu hanya  berisi tentang  kisah-kisah manusia dalam usahanya untuk  memenuhi kebutuhannya menciptakan  kehidupan  yang  tertib  dan  teratur, kecintaannya akan kemerdekaan, serta kehausannya akan keindahan dan pengetahuan (Kochhar, 2008).

## B. Andriod
Menurut  Safaat  (2011),  Android  adalah  sebuah kumpulan perangkat lunak untuk perangkat mobile yang mencakup sistem operasi, middleware dan aplikasi utama mobile. Android memiliki 4 (empat) karakteristik sebagai berikut:
1. Terbuka  Android  dibangun  untuk  benar-benar terbuka  sehingga  sebuah aplikasi  dapat  memanggil salah  satu  fungsi  inti  ponsel  seperti  membuat panggilan,  mengirim  pesan  teks,  menggunakan kamera, dan lain-lain.
2. Semua Aplikasi dibuat samaAndroid tidak memberikan perbedaan terhadap aplikasi utama dari telpon  dan  aplikasi  pihak  ketiga  (third-party application).  Semua  aplikasi  dapat  dibangun  untuk memiliki  akses  yang  sama  terhadap  kemampuan sebuah  telepon  dalam  menyediakan  layanan  dan aplikasi yang luas terhadap para pengguna.
3. Memecahkan  hambatan  pada  aplikasiAndroid memecah  hambatan  untuk  membangun  aplikasi yang  baru  dan  inovatif.  Misalnya,  pengembang dapat  menggabungkan  informasi  yang  diperoleh dari web dengan data pada ponsel seseorang seperti kontak pengguna, kalender, atau lokasi geografis.
Pengembangan  aplikasi  yang  cepat  dan  mudah Android  menyediakan  akses  yang  sangat  luas  kepada pengguna untuk menggunakan library yang dipergunakan tools  yang  dapat  digunakan  untuk  membangun  aplikasi yang semakin baik.
Sebagai  sistem  operasi  yang  populer,  android  tentu memiliki banyak sekali kelebihan yang tidak dimiliki oleh sistem operasi (OS) lainnya. Adapun berbagai kelebihan yang dimiliki android diantaranya adalah sebagai berikut:
1. Merupakan OS open open source
2. Mudah di modifikasi
3. Perangkat android memiliki price yang beragam
Bisa  di  jalankan  pada  beragam  hardware  Berikut adalah  versi-versi  android  dan  penamaannya  dari  yang pertama  di  luncurkan  pada  tanggal  23  September  2008 hingga yang terbaru saat ini (Android versi 1.0),( Android versi  1.1),(  Android  versi  1.5),(  Android  versi  1.6),
(Android  versi  2.0),(Android  versi  2.2  Froyo),  (Android versi 2.3 Gingerbread), (Android versi 3.0 Honeycomb),(Android versi 4.0 Ice Cream
Sandwich),(Android  versi  4.1  Jelly  Bean),(Android  versi 4.4 Kitkat),(Android versi 5.0 Lollipop) (Android versi 6.0
Marshmallow) (Android versi 7.0 Nougat),(Android versi 8.0  oreo),(Android  versi  9.0  Pie),(Android  versi  10.0 Q),(Android versi 11.0 R (Red Velvet Cake)).

## C. Algoritma Fisher Yates
Sebuah  varian  dari shuffle  Fisher-Yates ,  yang dikenal sebagai  algoritma  Sattolo  itu,  dapat  digunakan  untuk menghasilkan siklus acak panjang sebagai gantinya. Proses dasar  dari Fisher-Yates menyeret  mirip  dengan  memilih secara acak tiket bernomor keluar dari cab , atau kartu dari setumpuk.
Menurut  Bendersky  (2017)  Fisher-Yates  Shuffle adalah  sebuah  algoritma  untuk  menghasilkan  suatu permutasi  acak  dari  suatu himpunan terhingga, hasil dari pengacakan  algoritma  ini  memiliki  tingkat  probabilitas yang sama.
Fisher-Yates Shuffle (diambil dari nama 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  terhingga,  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 menyeret  mirip  dengan  memilih  secara  acak  tiket bernomor  keluar  dari  cab,  atau  kartu  dari  setumpuk. Algoritma Fisher-Yates ini merupakan metode pangacakan 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 yakni, metode orisinal dan metode modern Menurut Loman dan Wiradinata (2014:52) “Algoritma Fisher-Yates  Shuffle  adalah  algoritma  yang  digunakan untuk mengacak urutan sekelompok angka”. Tahapan dari algoritma ini adalah:
1. Menuliskan  angka  dari  1  sampai  N  Memilih  satu angka k secara acak dan menuliskan di urutan angka baru.
2. Mencoret k dari urutan angka yang sebelumnya.
3. Mengulang tahapan kedua sampai angka habis.
Algoritma  ini  lalu  diaplikasikan  dan  disempurnakan pada sistem komputer oleh Richard Durstenfeld pada tahun 1964 Pada metode baru ini, angka tidak dicoret dari urutan angka  lama,  melainkan  menempatkan  angka  terakhir  di tempat angka yang telah dipindah ke urutan angka baru.
Pada modern  method dijabarkan  untuk  penggunaan komputerisasi  yang  dikenalkan  oleh  Richard  Durstenfield pada tahun 1964. Modern method dikenalkan karena lebih optimal  dibandingkan  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 Richard Durstenfeld dapat mengurangi  kompleksitas  algoritma  menjadi  O  (n), dibandingkan  dengan  mengacak  menggunakan  metode yang lain seperti menggunakan sorting yang sangat tidak efisien karena adanya loop bersarang .
Algoritma Fisher-Yates dipilih  karena  algoritma  ini merupakan metode pangacakan 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  yakni,  metode orisinal 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, dikarenakan hasil pengacakan bisa lebih variatif.
Berikut adalah metode modern yang digunakan untuk menghasilkan suatu permutasi acak untuk angka 1 sampai N adalah sebagai berikut :
1. Tuliskan angka dari 1 sampai N.
2. Pilih sebuah angka acak K diantara 1 sampai dengan jumlah angka yang belumdicoret
3. Dihitung  dari  bawah,  coret  angka K yang  belum dicoret, dan tuliskan angkatersebut di lain tempat.
4. Ulangi langkah 2 dan langkah 3 sampai semua angka sudah tercoret.
5. Urutan angka yang dituliskan pada langkah 3 adalah permutasi acak dari angka awal [4].
Pada versi modern method digunakan sekarang, angka yang terpilih tidak dicoret, tetapi posisinya ditukar dengan angka terakhir dari angka yang belum terpilih. Berikut ini adalah  contoh  pengerjaan  dari  versi modern  method. Range adalah  jumlah  angka  yang  belum  terpilih, Roll adalah  angka  acak  yang  terpilih, Scracth adalah  daftar angka yang belum terpilih, Result adalah permutasi yang akan didapatkan. Range adalah jumlah angka yang belum terpilih, Roll adalah  angka  acak  yang  terpilih, Scracth adalah  daftar  angka  yang  belum  terpilih, Result adalah permutasi yang akan didapatkan.

## Tabel 2.1 Penghitungan Algoritma Fisher-Yates
Range Roll Scracth Result 1 2 3 4 5 6 7 8 1- 8 5 1 2 3 4 8 6
7 5
1 -7 3
1 2 7 4 8 6 3 5 1 – 6 4 1 2 7 6 8 4 3 5 1 – 5 5 1 2 7 6 8 4 3 5 1 – 4 2 1 6 7 2 8 4 3 5 1 – 3 3 1 6 7 2 8 4 3 5 1 – 2 1 6 1 7 2 8 4 3 5 Hasil Pengacakan 6 1 7 2 8 4 3 5 D. Unified Modeling Language (UML)
a) Use Case Diagram Use  Case  Diagram adalah  diagram  yang  secara grafis  menggambarkan  siapa  yang  akan  menggunakan
sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan system.

## b) Activity Diagram
Diagram  aktivitas  menunjukkan  dependensi  antara (paralel) kegiatan sebagaimana kita bergerak dari titik awal ke tujuan yang diinginkan. Mereka mirip dengan diagram alir, tradisional digunakan untuk aliran model program atau kegiatan manusia.

## c) Flowchart
Flowchart  adalah  adalah  suatu  bagan  dengan  simbol- simbol tertentu yang menggambarkan urutan proses secara mendetail  dan  hubungan  antara  suatu  proses  (instruksi) dengan proses lainnya dalam suatu program.

## d) Class Diagram
Bersifat  statis,  diagram  ini  memperlihatkan  himpunan kelas,  antarmuka,  kolaborasi,  serta  relasi.  Diagram  ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas aktif.
e) Sequence Diagram Sequence  diagram bersifat  dinamis,  diagram    urutan adalah  diagram  interaksi  yang  menekankan  pada pengiriman pesan ( message ) dalam suatu waktu tertentu.

## III. METODOLOGI PENELITIAN

## A. Model Pengembangan system
Model    pengembangan  sistem  yang  digunakan  pada penelitian  ini  adalah  model  UCD,  adapun  langkah  dalam model UCD adalah sebagai berikut :

## Gambar 3. 1 Pengembangan Sistem UCD

## B. Plan For Sistem
Tahapan  ini  dilaksanakan  wawancara  dengan  pihak yang terkait yaitu Bapak GITO, S.E. Selaku guru pengajar ips (ilmu pengetahuan sosial) di SMP N 38 BENGKULU UTARA  Dengan  senang hati menerima  wawancara  yang saya  lakukan  dan  beliau  menunggu  hasil  aplikasi  yang dirancang dalam waktu dekat ini. dalam hal ini user harus menggunakan Analisis kebutuhan umum sistem Terdapat 1  aktor  di  dalam  yaitu  User.  Selain  kebutuhan  pengguna dalam  perancangan  system  ini  pengembang  juga membutuhkan perangkat pendukung diantaranya kebutuhan perangkat hardware dan software:
1. Hardware
a.Hardware  yang  diperlukan  admin  untuk  menjalankan perangkat  lunak  ini adalah sebagai berikut :
a) Laptop HP Folio 1040
b.H ardware yang  diperlukan  user guest untuk menjalankan  perangkat  lunak yang akan dibangun :
a) Smartphone Realme 5s
2. Software
Sedangkan  untuk  keperluan  pengembangan  perangkat lunak, membutuhkan beberapa perangkat lunak pendukung, diantaranya :
a. Perancangan Sistem Aplikasi Media pembelajaran menggunakan Visual Studio dengan bahasa pemograman C#.
b. Sistem Operasi yang digunakan Windows 10
c. Penggunaan yang digunakan pendukung perancangan  aplikasi  ini adalah  menggunakan unity hub/ unity 2019.4.21f1.

## C. Desigh System
a) Flowchart Algoritma
Pada  bab  ini  dijelaskan  mengenai  logika  dasar program  dengan  menggunakan  flowchart  algoritma. Flowchart algoritma  Fisher-Yates adalah sebagai berikut.
Gambar 3. 2 Flowchart Algoritma Fisher-Yates
b) Use Case Diagram
Diagram  ini  menunjukan  fungsionalitas  suatu  sistem atau  kelas  dan  bagaimana  sistem  tersebut  berintegrasi. Adapun use case pada aplikasi adalah sebagai berikut:
Gambar 3. 5 Activity Terjemahan
c) Actifity Diagram
Diagram  Aktivitas  menggambarkan  berbagai  aliran aktivitas  dalm  sistem  yang  sedang  dirancang,  dimana masing-masing  alir  berawalAdapun  diagram  aktivitas pada aplikasi kamus dapat diliahat pada gambar di bawah:
1. Actifity input kata

## Gambar 3. 4 Activity Input Kata
2. Actifity Terjemahan

## Gambar 3. 5 Activity Terjemahan
d) Squence Diagram
Sequence diagram  menjelaskan  interaksi  objek  yang disusun  berdasarkan  urutan  waktu. Sequence diagram adalah gambaran tahap demi tahap yang dilakukan untuk menghasilkan  suatu  sistem  sesuai  dengan use  case diagram.
Gambar 3. 6 SquenceDiagram
e) Perancangan database
Perancangan  DataBase  atau Class Diagaram  adalah suatu  diagram  yang  memperlihatkan  atau  menampilkan struktur  dari  sebuah  sistem-sistem  tersebut  yang  akan
menampilkan  berbagai  jenis  hubungan  statis  yang  ada diantaranya.
Gambar 3. 7 Class Diagram

## D. Test
Test  dilakukan  setelah  selesai  tahap  pembuatan dengan  menjalankan  aplikasi  dan  dilihat  apakah  ada kesalahan  atau tidak.  Tahap  ini  disebut  pengujian  Black Box  dan  white  box  dimana  pengujian  dilakukan  oleh pembuat atau lingkungan pembuatnya sendiri
a. Black box
Black  Box  yaitu  merupakan  pendekatan  pengujian untuk  mengetahui  apakah semua  fungsi perangkat lunak telah  berjalan  semestinya  atau  sudah  sesuai  dengan kebutuhan  fungsional  yang  telah    di    definisikan, pengujian    ini    bertujuan    untuk    menunjukan    fungsi perangkat  lunak mengenai cara beroprasinya.
b. White Box
Pengujian  white  box merupakan  pengujian  yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur control dari desain aplikasi secara prosedural untuk membagi pengujian ke dalam beberapa kasus  pengujian  untuk  mengetahui  apakah  setiap  node pada independent paths dikerjakan. Serta untuk menguji alur  logika,  perulangan,  dan  validasi  parameter masukannya.
c. Kunsioner
Perhitungan  kunsioner  dilakukan  setelah  selesai aplikasi  dan  mendapatkan  respon  dari  penguna  atau penguji  sistem  yang  berjumlah  20  responden  yang mengisi konsioner tersebut. Dan untuk perhitungannya.

## IV. HASIL DAN PEMBAHASAN HASIL
A. Hasil
Pada hasil perancangan dari aplikasi yang telah dibuat. Penelitian ini dilaksanakan di SMP N 38 Bengkulu Utara. Dengan  izin  Kepala  Sekolah  Bapak  Panudiyono,  M.pd. Penelitian  dilaksanakan  dengan  wawancara  pada  Bapak
Wagito, S.E. a. Halaman Awal
Halaman awal ini adalah tampilan halaman memiliki 5 tombol  yaitu  Soal,  Quiz  Prasejarah,  Quiz  Era  Kolonial, Score Tertinggi, dan tombol Keluar aplikasi. Tampilannya adalah sebagai berikut:
Gambar 4.1. Halaman Awal
b. Tampilan Soal
Pada  tampilan  Soal  terdapat  3  pilihan  jika  sudang memilih akan berubah warna. Berikut tampilannya:
Gambar 4.2. Tampilan Menu Utama
c. Tampilan Quiz Prasejarah
Tombo soal terdapat 30 bank soal prasejarah. Dari bank soal  30  akan  keluar  10  soal  yang  lalu  akan  diacak menggunakan  fisher  yates.  Berikut  tampilan  gambaran pengacakan  fisher  yates  memalui  tabel  dan  tombol  quiz prasejarah:

## Gambar 4.3. Quiz Prasejarah
d. Tampilan Quiz Era Kolonial
Tombo  soal  terdapat  30  bank  soal  era  kolonial.  Soal akan muncul 10 soal lalu akan diacak mengunakan fisher- yates.  Berikut  tabel  pengacakan  fisher-yates.  tampilan tombol quiz era kolonial:
Gambar 4. 4 Soal era colonial
e. Tampilan Score
Pada  tampilan  score  setelah  kita  mengerjakan  10  soal akan  muncul  nilai  setelah  kita  mengerjakan  10  soal  pada aplikasi.  Berikut tampilan  score  pada media pembelajaran ini:

## Gambar 4. 5 Score
f. Score Tertinggi
Pada score tertinggi ini akan muncul nilai tertinggi yang pernh  dikerjakan  sebelumnya.  Berikut tampilan  score  pada media pembelajaran ini:
Gambar 4.6 Tampilan score tertinggi

## B. Pembahasan
Aplikasi  ini  dirancang  mengunakan  software  Unity Hub, Visual Studio dan C# Sebagai bahasa pemogramannya. Untuk mengambarkan sistem yang dibuat yang  pertama  kita  harus  lakukan  menginstal  aplikasi  dari Unity  Hub  dan  Visual  Studio  terlebih  dahulu.  Kemudian kita membuka Unity. Yang kita gunakan adalah unity versi 2019.4.21f1.  ketika  kita  sudah  membuka  dilanjutkan dengan  mendesain  halaman  awal,  halaman  soal,halaman quiz  prasejarah  dengan  era  colonial,  halaman  score,  dan halaman  score  tenggi.  Untuk  coding  mengunakan  bahasa pemograman  C#  menggunakan  Visual  Studio  untuk mengatur  langkah  langkah  proses  soal  berjalan  sampai dengan  pengacakan  mengunakan  algoritma  fisher-yates. Pada tampilan awal ini memiliki 5 tombol yaitu Soal, Quiz Prasejarah, Quiz Era Kolonial, Score tertinggi, dan tombol keluar.  Tombol  soal  berisi  30  bank  soal  campuran  antara prasejarah  dan  era  colonial  yang nanti  akan  keluar  secara
acak  namun  soal  hanya  keluar  10  kemudian  diacak mengunakan  fisher-yates.  Tombol  Quiz  prasejarah  dan tombol  Quiz  Era  Kolonial  sama  hal  nya  dengan  tombol soal  yang  jadi  pembeda  yaitu  disetiap tombol  prasejarah dengan era colonial memiliki soal sesuai dengan judulnya. Tombol Score tertinggi ini memberikan informasi bahwa sebelumnya  sudah ada  yang  mengerjakan  soal  atau  quiz dengan nilai yang paling tertinggi.
Tahap selanjutnya untuk pengujian sistem mengunakan  pengujian    black  box  dan  Mengisi konsioner.  Dari  pengujian  dan  mengisi  konsioner  yang dibagikan memalui Google Form kepada 10 guru dan 20 murid  didapatkan  hasil  seperti  evaluasi  bagaimana tentang  Aplikasi  ini  bekerja  dan apakah  semua program yang  diinginkan  perancang  berjalan  atau  tidak    dalam aplikasi  ini.  Untuk  kepuasan  pengguna  setelah mengunakan  aplikasi  didapatkan  setelah  kunsioner dihitung  sesuai  dengan  yang  telah  diisi  oleh  guru  dan siswa  siswi  sebagai  respondenya  menggunakan  Skala Likert.  Sehingga  kita  bisa  mengetahui  bagaimana responden setelah menggunakan aplikasi media pembelajaran ini.

## C. Test
Pada  tahap  ini bertujuan  untuk  menguji  kelayakan aplikasi  yang  telah  di  buat  dengan melakukan instalasi pada perangkat android maupun emulator sehingga pada aplikasi yang telah selesai ini dapat  di  cek  kembali  baik itu  berupa  tombol,  objek-objek  ataupun  fungsi  yang telah dibuat  di aplikasi. Tahapan pengujian ini  dilakukan dengan  pengujian black  box  dan  pengujian  white  box. Kemudian  dilakukan  Google  form  sebagai  Tingkat kelayakan  dengan  mengisi  Kunsioner  melibatkan pengguna  secara langsung,
a. Black Box Terdapat  Hasil  pengujian Black  Box  dan  Kunsioner yang hanya ditampilkan hasil akhirnya,dapat dilihat.

## Tabel 4. 1Pengujian Black Box
N O K e l a s   U j i B u t i r   U j i H a s i l   U j i
1 I n s t a l a s i
a p l i k a s i
A p l i k a s i   d a p a t t e r i n s t a l   d i a n d r o i d B e r h a s i l 2 P e m b u k a a n
A p l i k a s i   d a p a t t e r b u k a   d a n d a p a t m e n a m p i l k a n l a y a r   a w a l B e r h a s i l
3 H a l a m a n
M e n u U t a m a H a l a m a n   a w a l
s e s u a i   d e n g a n p e r a n c a n g a n d a n   s e m u a t o m b o l   b e r j a l a n B e r h a s i l 4 S o a l S o a l   t e r a c a k d e n g a n m e n g u n a k a n a l g o r i t m a f i s h e r   y a t e s B e r h a s i l
5 Q u i z Q u i s   t e r a c a k
d e n g a n m e n g u n a k a n a l g o r i t m a f i s h e r - y a t e s
B e r h a s i l 6 S c o r e T e r t i n g g i
S k o r   t e r t i n g i m u n c u l   s a a t k i t a   m e m b u k a s k o r   t e r t i n g g i
B e r h a s i l
7
K e l u a r
K e l u a r   a p l i k a s i b e r j a l a n   s e s u a i k e i n g i n a n   u s e r B e r h a s i l
b . W h i t e   B o x Pertama – tama Flow Chart dari algoritma yang akan diuji, diberi nomor sesuai urutannya. Kemudian dari Flow Chart tadi dibuat Flow Grap. kemudian flowgraph sebelumnya disederhanakan dahulu dengan penomoran ulang. Setelah dilakukan pengujian hasil yang didapat berbentuk tabel dibawah.

## Tabel 4. 2Tabel White box
No Node (n) Hasilyang diharapkan Hasil sesuai uji kasus
1 1 – 2 – 3 – 4 – 5 – 6 – 7 Menghasilkan Array yang sudah di- shuffle
Menghasilkan array yang sudah di- shuffle
2 1 – 2 – 3
– 7
Array tidak di- Shuffle karena array kosong Array tidak di - Shuffle karena array kosong
c.Kunsioner
Kunsioner  telah  diisi  30 responden  yang  terdiri  dari  10 guru dan 20 siswa siswi yaitu sebagai berikut:

## Tabel 4. 3Tabel Kunsioner
No Kriteria Persentase %
SS S N TS  TS
T 1 Program bersifat Interaktif dan Dinamis 16 11 3
2 Aplikasi membantu minat belajar siswa 11 15 4
3 Digunakan  sebagai  media
pembelajaran sebagai teknologi 12 12 6 4 Warna tampilan menarik 4 14 11 1 5 Menu tampilan bersifat user friendly 5 12 13
Jumlah Responden 30 Keterangan 1. Score : - Sangat Setuju = 5 Score -Setuju = 4 Score - Netral = 3 Score - Tidak Setuju = 2 Score -Tidak sangat setuju  = 1 Score
2. Jumlah Responden = 30 Responden a. Responden yang memilih SS (5)   =48× 5 = 240
b. Responden yang memilih S (4)     =64 × 4 = 256
c. Responden yang memilih N (3)     =37 × 3 = 111
d. Responden yang memilih TS (2)   = 1 × 2  = 2
e. Responden yang memilih TST (1) = 0 × 1  = 0 Hasil penjumlahan total : 609
Pengukiran interprentasi score diatas, diperoleh hasil berdasarkan interval sebagai berikut.
Rumus interval : I = 100 / Jumlah score (Likert) Maka = 100 / 5 = 20
Hasil  = 20(interval dari terendah 0% sampai dengan tertinggi yaitu 100%)
a. Angka 0%-19,99%    = Tidak sangat setuju
b. Angka 20%-39,99     = Tidak setuju
c. Angka 40%-59,99%  = Netral
d. Angka 60%-79,99%  = Setuju
e. Angka 80%-100%     = Sangat setuju
Jadi perhitungan menggunakan skala liker sebagai berikut =Total score / y ×100 = 609 / 750 × 100 = 81,2 (Berada dalam kategori “Sangat Setuju”)

## V. PENUTUB

## A. Kesimpulan
Adapun  kesimpulan  dari  Pengembangan  media pembelajaran  berbasis  android  menggunakan  Algoritma Fisher-Yates , adalah sebagai berikut :
a. Kebutuhan  media  pembelajaran  ini  membantu  sistem belajar  siswa  siswi  di  SMP  N  38  Bengkulu  Utara dengan  menjawab  soal  yang  telah  diberikan  secara acak  oleh  algoritma  fisher-yates  sebagai  sistem pembelajaran mobile dan mudah dibawa kemanapun.
b. Berdasarkan  perancangan  media  pembelajaran sejaran  Indonesia  memiliki  hasil  pengujian  dari blackbox  dan  white  box  testing pada  aplikasi. Sistem  bekerja  dengan  baik  dan  berjalan  sesuai keinginan perancang.
c. Berdasarkan hasil pengujian kunsioner menggunakan skala  likert,  maka  kelayakan  pengembangan  media pembelajaran  sejarah  Indonesia  ini diperoleh jawaban  81,2%  yang  berada  di  kategori  “Sangat setuju”.  Dengan  itu  perancang  memberikan kesimpulan  bahwa  aplikasi  media  pembelajaran  ini layak untuk membantu sistem pembelajaran yang ada di SMP N 38 Bengkulu Utara.

## B. Saran
Aplikasi Pengembangan media pembelajaran sejarah indonesia  menggunakan  algoritma  fisher-yates  yang telah penulis bangun ini sesuai dengan keinginan. Namun masih banyak terdapat kekurangannya terutama dari segi tampilan.  Oleh  sebab  itu  penulis  mengharapkan adanya
kritik dan saran dari pembaca untuk pembangunan aplikasi selanjutnya  agar  lebih  baik  lagi.  Maka  penulis menyarankan sebagai berikut.
1. Menambahkan  gambar  pada  setiap  materi  yang diberikan.
2. Menambahkan lebih banyak animasi atau gambar pada aplikasi. Sehingga  penguna atau siswa siswi bisa lebih tertarik  dengan  adanya  bnyak  objek  bergerak  atau lebih banyak gambar.

## DAFTAR PUSTAKA
[1]  Ekojono,  Irawati  DA,  Affandi  L,  Rahmanto  AN.  Penerapan Algoritma  Fisher-Yates  Pada  Pengacakan  Soal  Game Aritmatika. Pros  SENTIA  2017  –  Politek  Negeri  Malang . 2017;9(ISSN:
2085-2347):101-106.
http://sentia.polinema.ac.id/index.php/SENTIA2017/article/vie
wFile/237/225
[2]  WIJAYA,  Ardi;  APRIDIANSYAH,  Yovi.  Penerapan  Algortima Fisher  Yates  Shuflle  Pada Media Pembelajaran Mapel  Agama Islam Berbasis Android. Jurnal Informatika Upgris, 2020, 6.1.
[3] Akbar G, Linda M. Aplikasi Pembelajaran Trigonometri Berbasis Android Menggunakan  Algoritma Fisher  Yates  Shuffle. J  Tek Komput . 2017;III(2):114-119.
[4] Sakee U. Sejarah indonesia. Tetrahedron Lett . 2014;55:3909.
[5] Gelinas, Ulric, Oram, Alan, Wiggins, William. Accounting Information System. Published online 1990:17-30.
[6] Ruswiansari M, Rozi NF. Pengembangan Aplikasi Pembelajaran Untuk  Topik  HTML  5  Menggunakan  Model  User-Centered
Design. J ELTIKOM . 2018;2(2):94-101.
doi:10.31961/eltikom.v2i2.83
[7]  Munawar  A. Pengembangan  Media  Pembelajaran  Sejarah
Indonesia  Berbasis  Videoscribe  Materi  Kerajaan  Islam  Di Jawa  Kelas  X  Tahun  Ajaran  2018/2019  Di  Sma  Negeri  3 Salatiga . Vol 7.; 2019. doi:10.15294/ijhe.v7i2.36436
[8]  Septiwiharti  L.  Pengembangan  Bahan  Ajar  Berbentuk  Booklet Sejarah  Indonesia  Pada  Materi  Pertempuran  Lima  Hari  di Semarang  Terhadap  Minat  Belajar  Siswa  Kelas  XI  IPS  SMA Negeri 1 Semarang Tahun Ajaran 2014/2015. Published online 2015:1-16.
[9]  Nurafifah  R.  Penerapan  Algoritma  Fisher  Yates  Shuffle  Dan Algoritma Forward Chaining Pada Game Edukasi Mr Garbage.
Penerapan  Algoritm  Fish  Yates  Shuffle  Dan  Algoritm  Forw Chain  Pada  Game  Edukasi  Mr  Garbage .  Published  online 2018.
[10]  Di B. Masa Kolonial Di Indonesia. :1-11.
[11]  Hasan  MA,  Supriadi  S,  Zamzami  Z.  Implementasi  Algoritma Fisher-Yates  Untuk Mengacak  Soal  Ujian  Online  Penerimaan Mahasiswa  Baru  (Studi  Kasus :  Universitas  Lancang  Kuning Riau). J  Nas  Teknol  dan  Sist  Inf .  2017;3(2):291-298.
doi:10.25077/teknosi.v3i2.2017.291-298
[12]  Henuhili  V  et.  a.  Diktat  Kuliah  Evolusi. Univ  Negeri
Yogyakarta . 2012;(12):1-14.
[13] Komputer FI, Sriwijaya U. Implementasi algoritma fisher-yates pada  aplikasi  pembelajaran  calistung  untuk  anak  usia  dini berbasis android. Published online 2018.
[14]  JUWITA  EVA  DISTYASA  M.  Pengembangan  Media
Pembelajaran  Berbasis  Simulasi  Pada  Mata  Pelajaran Perkaitan  Komputer  Untuk  Siswa  Kelas  X  di  SMK  Negeri  3
Surabaya. It-Edu . 2016;1(01).
[15]Yektyastuti R, Ikhsan J. Developing android-based instructional media of solubility to improve academic performance of high school students. J Inov Pendidik IPA . 2016;2(1):88-99.
[16]  Ramadhan  A.  Pengembangan  media  pembelajaran  berbasis
Android  sejarah  Walisongo  Mata  Pelajaran  Sejarah  kelas  X.
Published online 2018.
http://eprints.ums.ac.id/id/eprint/69740
[17] Sidik MM, Sa D, Setiawan R. Media Pembelajaran Rumah Adat
Indonesia  Berbasis  Android  Menggunakan  Algoritma  Fisher
Yates Shuffle. J Algoritm . 2020;17(02):218-228.
[18] Pseudocode,  Jurnal,  Ardi  Wijaya,  and  Noris  Feter.  2015.
“Aplikasi  Simulasi  Pengurutan  Data.” Jurnal  Pseudocode
II(September): 81–88.
[19]  Wijaya,  Ardi.  2019.  “Pembuatan  Aplikasi  Panggilan  Darurat
Berbasis  Android  Menggunakan  Location  Based  Services.”
JSAI  (Journal  Scientific  and  Applied  Informatics) 2(1):  97–
104.———.  2020.  “Metode  Farnsworth  Munsell  Berbasis
Android.” Journal  Scientific  and  Applied  Informatics 3(1):
41–48.
[20]  Wijaya,  Ardi,  and  Yovi  Apridiansyah.  2020.  “Penerapan
Algortima  Fisher  Yates  Shuflle  Pada  Media  Pembelajaran Mapel  Agama  Islam  Berbasis  Android.” Jurnal  Informatika
Upgris 6(1).
[21]  Wijaya,  Ardi,  and  Gunawan.  2018.  “Implementasi  Algoritma
Round  Robin  Pada Sistem  Penjadwalan Mata  Kuliah ( Studi Kasus :  Universitas  Muhammadiyah  Bengkulu  ).” Jurnal Informatika Upgris (JIU) 4(1): 64–71.
http://journal.gris.ac.id/index.php/JIU/article/view/2336/1885
up.