## Journal of Information Technology Ampera
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index

## 139
This work is licensed under a Creative Commons Attribution 4.0 International License .

## Implementasi Algoritma Fisher Yates Shuffle pada Aplikasi Belajar Huruf Hijaiyah
Irfan Kurniawan 1 , Siti Sauda 2
1,2 Informatics Departement , Bina Darma University, Palembang, Indonesia Email: 1 irfankurni@outlook.co.id, 2 siti_sauda@binadarma.ac.id

## Abstract
The form of coaching for early childhood is providing stimulation so that children have readiness to enter the next level of education. One of the basic educations provided by parents is religious education in the form of introduction to hijaiyah letters.  Children interacting with smartphones more often than books, causing parents to have basic education such as reading and writing using  books  to  be  less  attractive  to  children.  From  this  problem, the  writer  wants  to  build  a learning media application using smartphone media. This Hijaiyah Letter Learning application was created using the fisher yates shuffle algorithm, by randomizing the questions in this application. Based  on  the  test  results  that  the  implementation  of  the  Fisher  Yates  Shuffle  algorithm  for randomization  of  questions  in  the  hijaiyah  learning  application  is  running  well,  there  are  no questions that appear repeatedly.
Keywords: Hijaiyah Letters, Android, Fisher Yates Shuffle, Smartphone, Learning.

## 1. PENDAHULUAN
Pendidikan usia dini merupakan awal yang penting dan mendasar dalam membantu kesiapan  anak  untuk  menghadapi  jenjang  pendidikan  selanjutnya.  Pentingnya pendidikan anak usia dini menuntut pendekatan yang akan digunakan dalam kegiatan belajar yang memfokuskan perhatian anak. Karena anak merupakan generasi penerus dan  dambaan  bagi  setiap  orang  tua,  namun  tidak  semua  orang  tua  dan  pendidik memahami cara yang tepat dalam mendidik anak usia dini. Dalam bidang pendidikan saat ini, penggunaan alat bantu atau media pembelajaran adalah salah satu cara dalam memberikan pendidikan awal bagi anak agar menjadi lebih interaktif.
Belajar membaca Al - Qur’an merupakan hal yang wajib bagi umat Islam, terutama bagi anak usia dini. Pembelajaran Al – Qur’an sangat penting bertujuan untuk menanamkan nilai – nilai pendidikan Islam pada diri anak. Pada saat ini pembelajaran Al – Qur’an banyak  dilakukan  oleh  lembaga  sekolah  maupun  lembaga  di  luar  sekolah.  Namun sebelum  dapat  membaca Al – Qur’an ,  anak  harus  belajar  mengenal  huruf  -  huruf hijaiyah terlebih dahulu.

## Journal of Information Technology Ampera
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
140 | Implementasi Algoritma Fisher Yates Shuffle pada Aplikasi Belajar … ..
Huruf merupakan informasi terkecil dari suatu kalimat yang perlu didefinisikan dengan lebih baik agar informasi yang ada dalam kalimat dapat lebih dipahami. Huruf memiliki bentuk yang unik antara satu dengan yang lain, untuk membedakannya disesuaikan dengan  karakteristik  masing – masing  huruf  tersebut.  Sementara  itu  huruf  hijaiyah merupakan huruf yang digunakan dalam Bahasa Arab, huruf hijaiyah memiliki bentuk – bentuk khusus seperti setiap huruf mempunyai beberapa bentuk yang hampir sama tergantung posisi huruf pada suatu kata [1].
Tujuan  dari  penelitian  ini  yaitu  Mengimplementasikan  Algoritma Fisher  Yates  Shuffle sebagai  pengacak  pertanyaan  dan  merancang  aplikasi  pembelajaran  untuk mengenalkan  huruf  hijaiyah  beserta  cara  pengucapannya.  Pada  penelitian  ini diharapkan dapat memberikan manfaat yaitu sebagai sarana bermain sekaligus media belajar  yang  interaktif  dan  memberikan  kontribusi  pembelajaran  tentang  pengenalan huruf  hijaiyah  dan  bagi  penulis,  penelitian  ini  berguna  untuk  menambah  wawasan mengenai Algoritma Fisher Yates Shuffle. Batasan masalah pada penelitian ini adalah Aplikasi  bertipe  2  dimensi,  Huruf  Hijaiyah  yang  digunakan  berjumlah  28  huruf, Algoritma Fisher Yates Shuffle digunakan sebagai pengacak pertanyaan pada kuis dan Aplikasi yang dibangun berbasis mobile Android.
Android  adalah  sebuah  sistem  operasi  untuk  perangkat  mobile  berbasis  linux  yang mencakup  sistem  operasi,  middleware  dan  aplikasi.  Android  menyediakan  platform terbuka  bagi  para  pengembang  untuk  menciptakan  aplikasi  mereka  [2]. Aplikasi  ini didukung  algoritma Fisher  Yates  Shuffle,  Algoritma  Fisher  Yates  Shuffle  merupakan salah  satu  metode  pengacakan  yang  baik  digunakan  dalam  pengembangan  suatu aplikasi.  Kelebihan  algoritma Fisher  Yates  Shuffle  adalah  efektivitas  dari  metode pengacakannya  serta  kompleksitas  algoritmanya  yang  optimal,  sehingga  pertanyaan yang disediakan tampil dengan urutan yang acak [3].

## 2. METODOLOGI PENELITIAN

## 2.1 Metode Pengembangan Sistem
Rational  Unified  Process  (RUP)  merupakan  suatu  metode  rekayasa  perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practices yang terdapat dalam industri pengembangan perangkat lunak. Ciri utama metode ini adalah  menggunakan use – case  driven  dan  pendekatan  iteratif  untuk  siklus pengembangan  perangkat  lunak.  RUP  menggunakan  konsep object  oriented, dengan  aktivitas  yang  berfokus  pada  pengembangan  model  dengan menggunakan Unified  Model  Language  (UML)[4].  RUP  menyediakan pendefinisian struktur yang lebih baik untuk alur hidup proyek perangkat lunak.
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
Irfan Kurniawan, Siti Sauda | 141
Terdapat empat fase dalam metode ini, yaitu: fase Inception, fase Elaboration, fase Construction, dan fase Transition.
Gambar 1. Fase Rational Unified Process.
2.2 Analisisi dan Perancangan
2.1.1 Fase Inception
Pada  fase  ini  di  mana  memodelkan  proses  bisnis  yang  dibutuhkan (business modelling),  Pemodelan  proses  bisnis  (business  modelling)  digunakan  untuk meninjau, meningkatkan dan membuat sebuah bisnis. Business modelling biasa digambarkan  dengan  bantuan  diagram  UML,  diagram  UML  yang  digunakan untuk  pemodelan  bisnis  yaitu  use  case  diagram. Use  Case  Diagram menggambarkan  kumpulan use  case,  aktor  dan  hubungan  mereka.  Use  case adalah  hubungan  antara  fungsionalitas  sistem  dengan  aktor  internal/eksternal dari sistem [5].
Gambar 2. Use Case Diagram.

## 2.1.1 Fase Elaboration
1. Analisis Algoritma Fisher Yates Shuffle
Fisher Yates Shuffle (dinamai berdasarkan penemunya, Ronald Fisher dan Frank Yates)  digunakan  untuk  mengubah  urutan  yang  diberikan  secara  acak. Permutasi  yang  dihasilkan  oleh  algoritma  ini  muncul  dengan  probabilitas  yang sama [3]. Dalam aplikasi belajar hijaiyah dimisalkan terdapat 8 pertanyaan yang

## Journal of Information Technology Ampera
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
142 | Implementasi Algoritma Fisher Yates Shuffle pada Aplikasi Belajar … ..
akan  diacak.  Maka  didapatkan  panjang array  (N)  =  8.  Langkah – langkah pengacakan dengan Fisher Yates Shuffle sebagai berikut :
1. Ambil  satu  elemen  secara  acak  (k).  Nilai  k  yang  boleh  diambil  adalah elemen yang belum pernah diambil.
2. Tukarkan nilai (k) yang diambil dengan elemen terakhir (n) yang belum diambil.
3. Ulangi selama masih ada elemen yang belum terambil.
Tabel iterasi dari proses manual pengacakan menggunakan algoritma Fisher Yates Shuffle dengan jumlah array N= 8 di deskripsikan sebagaimana tabel 1 berikut ini :
Tabel 1. Iterasi Algoritma Fisher Yates Shuffle Elemen yang diambil (k) Elemen terakhir(N) Array yang akan di shuffle Array yang telah di shuffle 5 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 7, 6, 5 6 5 0, 1, 2, 3, 4, 7, 6, 5 0, 1, 2, 3, 4, 7, 5, 6 3 6 0, 1, 2, 3, 4, 7, 5, 6 0, 1, 2, 6, 4, 7, 5, 3 0 3 0, 1, 2, 6, 4, 7, 5, 3 3, 1, 2, 6, 4, 7, 5, 0 1 0 3, 1, 2, 6, 4, 7, 5, 0 3, 0, 2, 6, 4, 7, 5, 1 4 1 3, 0, 2, 6, 4, 7, 5, 1 3, 0, 2, 6, 1, 7, 5, 4 7 4 3, 0, 2, 6, 1, 7, 5, 4 3, 0, 2, 6, 1, 4, 5, 7 2 7 3, 0, 2, 6, 1, 4, 5, 7 3, 0, 7, 6, 1, 4, 5, 2 Hasil Pengacakan 3, 0, 7, 6, 1, 4, 5, 2 2. Desain
Class Diagram menggambarkan struktur statis class di dalam sistem. Class merepresentasikan sesuatu yang ditangani oleh sistem. Class Diagram terdiri dari class, interface, association dan collaboration [4].
Gambar 2. Class Diagram.
Sequence  Diagram  menggambarkan  interaksi  yang  menjelaskan  bagaimana pesan mengalir dari objek ke objek lainnya [4].

## Journal of Information Technology Ampera
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
Irfan Kurniawan, Siti Sauda | 143
Gambar 3. Sequence Diagram Menu Belajar.
User masuk ke halaman utama, lalu membuka menu belajar, kemudian tampil kategori yang terdiri dari hijaiyah, fathah, kasroh, dhomah, fathah tain, kasroh tain, dan dhomah tain. User  memilih  hijaiyah,  daftar  huruf  hijaiyah  akan  tampil  disertai  dengan  suara apabila salah satu huruf di tekan.
Gambar 4. Sequence Diagram Menu Kuis.
User membuka menu  utama, lalu  membuka menu  kuis, tampil pilihan  kategori kuis. User  memilih  salah  satu  kategori,  akan  tampil  pertanyaan  beserta  pilihan  jawaban, ketika selesai menjawab semua pertanyaan akan tampil hasil.

## 3. HASIL DAN PEMBAHASAN

## 3.1 Uji Coba Algoritma Fisher Yates Shuffle
Uji coba algoritma Fisher Yates Shuffle dilakukan untuk melihat hasil dari implementasi algoritma  tersebut  ke  dalam  aplikasi  yang  telah  dibuat.  Algoritma  ini  akan  dicoba beberapa kali untuk mengacak soal 5 dari 28 soal yang ada.

## Journal of Information Technology Ampera
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
144 | Implementasi Algoritma Fisher Yates Shuffle pada Aplikasi Belajar … ..
Tabel 2. Uji Coba Fisher Yates Shuffle PK Hasil Urutan Baru 1 5,3,10,7,12 2 22,26,23,15,18 3 23,9,8,12,21 4 21,28,1,22,2 5 9, 21,17,12, 20 6 8,14,25,2,26 7 2,26,27,4,28 8 12,2,8,3,24 9 7,12,11, 14, 22 10 15,3,24,27,11 11 9, 10, 27, 11, 25 12 17, 14, 19, 23, 22 13 23, 4, 2, 22, 6 14 2, 10, 22, 26, 27 15 8, 6, 20, 13, 1 16 25, 1, 15, 6, 19 17 21, 16, 8, 23, 22 18 26, 12, 19, 2, 15 19 11, 27, 6, 23, 17 20 22, 14, 15, 16, 17
Tabel 2 merupakan hasil uji coba urutan soal baru yang dihasilkan oleh algoritma Fisher Yates Shuffle. Uji coba ini dilakukan pada menu kuis kategori hijaiyah dan fathah. Kolom pertama berjudul PK atau percobaan ke- x, pada kolom kedua hasil urutan baru setelah aplikasi di jalankan.
Tabel 3. Uji Coba Fisher Yates Shuffle PK Hasil Urutan Baru 1 28, 21, 10, 3, 18 2 4, 13, 27, 9, 17 3 10, 20, 27, 23, 18 4 24, 17, 1, 9, 6 5 17, 11, 20, 27, 8 6 18, 3, 6, 7, 23
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
Irfan Kurniawan, Siti Sauda | 145
7 20, 22, 26, 24, 19 8 22, 19, 26, 10, 9 9 3, 4, 23, 27, 5 10 27, 4, 1, 5, 25 11 17, 23, 11, 5, 13 12 24, 4, 21, 19, 22 13 1, 14, 3, 20, 6 14 26, 4, 15, 8, 10 15 20, 21, 4, 10, 12 16 26, 27, 21, 16, 15 17 10, 11, 9, 5, 17 18 20, 14, 3, 9, 5 19 23, 28, 7, 15, 16 20 16, 27, 9, 6, 17
Tabel 3 merupakan hasil uji coba urutan soal baru yang dihasilkan oleh algoritma Fisher Yates  Shuffle.  Uji  coba  ini  dilakukan  pada  menu  kuis  kategori  kasroh  dan  dhomah. Kolom pertama berjudul PK atau percobaan ke- x, pada kolom kedua hasil urutan baru setelah aplikasi di jalankan.
Tabel 4. Uji Coba Fisher Yates Shuffle PK Hasil Urutan Baru 1 9, 28,  1, 20, 24 2 13, 21, 11, 7, 28 3 22, 2, 18, 28, 17 4 4, 21, 15, 5, 3 5 14, 28, 4, 16, 9 6 25, 4, 5, 23, 20 7 5, 10, 23, 15, 3 8 7, 13, 12, 28, 9 9 1, 23, 20, 13, 2 10 17, 15, 6, 9, 3 11 1, 2, 22, 26, 25 12 10, 11, 9, 2, 23 13 28, 17, 6, 13, 27 14 3, 10, 6, 23, 24 15 27, 13, 11, 5, 21

## Journal of Information Technology Ampera
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
146 | Implementasi Algoritma Fisher Yates Shuffle pada Aplikasi Belajar … .. 16 9, 1, 24, 20, 28 17 11, 20, 26, 12, 6 18 25, 8, 1, 28, 14 19 4, 23, 18, 25, 24 20 23, 16, 9, 12, 20 21 18, 15, 16, 26, 3 22 25, 17, 6, 5, 2 23 12, 22, 27, 5, 15 24 10, 20, 2, 28, 7 25 4, 16, 3, 11, 14 26 1, 18, 27, 11, 12 27 12, 23, 2, 14, 11 28 18, 24, 3, 16, 28 29 18, 19, 25, 5, 17 30 20, 13, 24, 16, 11
Tabel  4  merupakan  hasil  uji  coba  urutan  soal  baru  yang  dihasilkan  oleh algoritma Fisher  Yates  Shuffle.  Uji  coba  ini  dilakukan  pada  menu  kuis  kategori fathah  tain,  kasroh  tain  dan  dhomah  tain.  Kolom  pertama  berjudul  PK  atau percobaan  ke-  x,  pada  kolom  kedua  hasil  urutan  baru  setelah  aplikasi  di jalankan.  Uji  coba  ini dilakukan  untuk  membuktikan  bahwa  algoritma ini  selalu menghasilkan hasil pengacakan yang baru setiap kali dijalankan. Hasil uji coba pada tabel 2, tabel 3, tabel 4, menunjukkan bahwa tidak ada satu pun urutan baru  yang  dihasilkan  oleh  algoritma  Fisher  Yates  Shuffle  sama  dengan  urutan yang lainnya.
3.2  Aplikasi Belajar Huruf Hijaiyah
a. Tampilan Menu Utama
Pada menu utama akan menampilkan menu – menu pilihan, terdiri dari belajar dan  kuis  yang  memiliki  fungsi  masing – masing  yaitu  Belajar  yang  berfungsi untuk  menampilkan  beberapa  kategori  belajar  dan  Kuis  yang  berfungsi  untuk menampilkan beberapa kategori kuis.
Gambar 5. Tampilan Menu Utama.
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
Irfan Kurniawan, Siti Sauda | 147
b. Tampilan Menu Kategori Belajar
Bagian  ini  yaitu  tampilan  yang  akan  muncul  setelah  memilih  menu  belajar.
Pilihan ini akan menampilkan kategori belajar, terdapat 7 kategori belajar yaitu hijaiyah, fathah, kasroh, dhomah, fathah tain, kasroh tain, dan dhomah tain.
Gambar 6. Tampilan Kategori Menu Belajar.
c. Tampilan Menu Belajar
Setelah memilih kategori hijaiyah, maka akan tampil huruf – huruf hijaiyah seperti pada gambar Ketika user menekan salah satu huruf, maka akan tampil pop up huruf  dan suara dari huruf yang di tekan.
Gambar 7. Tampilan Menu Belajar. d. Tampilan Kategori Kuis
Bagian ini yaitu tampilan yang akan muncul setelah memilih menu kuis. Pilihan ini akan menampilkan kategori belajar, terdapat 7 kategori belajar yaitu hijaiyah, fathah, kasroh, dhomah, fathah tain, kasroh tain, dan dhomah tain.
Gambar 8. Tampilan Kategori Menu Kuis.

## Journal of Information Technology Ampera
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
148 | Implementasi Algoritma Fisher Yates Shuffle pada Aplikasi Belajar … ..
e. Tampilan Menu Kuis
Setelah memilih kategori hijaiyah, maka akan tampil pilihan jawaban dan suara pertanyaan yang berkaitan dengan huruf hijaiyah. Ketika user menekan salah satu jawaban akan tampil pop up text benar atau salah tergantung jawaban user. Ketika user menekan tombol speaker maka suara dari pertanyaan akan di putar ulang.
Gambar 9. Tampilan Kategori Menu Kuis. f. Tampilan Halaman Skor
Setelah user menyelesaikan kuis maka akan muncul tampilan skor seperti pada gambar.
Gambar 10. Tampilan Skor Kuis.

## 4. KESIMPULAN
Berdasarkan hasil dari implementasi dan  pengujian  yang dilakukan terhadap  aplikasi yang  telah  di  buat  pada  penelitian  ini,  maka  dapat  ditarik  kesimpulan  di  antaranya sebagai berikut:
1. Algoritma Fisher  Yates  Shuffle  berhasil  diterapkan  pada  Aplikasi  Belajar  Huruf Hijaiyah  untuk  mengacak   soal kuis di dalam  aplikasi,  sehingga tidak terdapat soal yang sama di tampilkan secara berulang.
2. Penggunaan  aplikasi  Belajar  Huruf  Hijaiyah  dapat  dirasakan  praktis  dan  akan memberikan bantuan kepada pengguna terutama pada anak – anak.

## DAFTAR PUSTAKA
[1] Anggara  prabawa,  “Artikel  Skripsi  Universitas  Nusantara  PGRI  Kediri,”
Vol. 2, No. 3, December 2021  e-ISSN: 2774-2121
https://journal-computing.org/index.php/journal-ita/index
Irfan Kurniawan, Siti Sauda | 149
2017.
[2] N.  Safaat,  “Pemrograman  aplikasi  mobile  smartphone  dan  tablet  pc berbasis android,” Bandung Inform., 2012.
[3] I.  Haditama,  C.  Slamet,  and  D.  Fauzy,  “Implementasi  Algoritma  Fisher -
Yates  Dan  Fuzzy  Tsukamoto  Dalam  Game  Kuis  Tebak  Nada  Sunda Berbasis  Android, ” J.  Online  Inform.,  vol.  1,  no.  1,  p.  51,  2016,  doi:
10.15575/join.v1i1.11.
[4] R.  A.  Sukamto  and  M.  Shalahuddin, Rekayasa  Perangkat  Lunak Terstruktur  dan  Berientasi  Objek  (Edisi  Revisi).  Bandung:  Informatika Bandung, 2018.
[5] A.  S.  Rosa  and  M.  Shalahudd in,  “Modul  Pembelajaran  Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek),” Bandung Modul.,
2011.