## Penerapan Algoritma Fisher Yates Shuffle dan Linear Congruent Method Pada Simulasi Ujian Toefl Berbasis Android

## Fauji Ahmad
Program Studi Teknik Informatika, STMIK Budi Darma, Medan, Indonesia Jalan Sisingamangaraja No. 338 Medan, Indonesia

## Abstrak
Dalam menghadapi persaingan global untuk memasuki instansi ataupun perusahaan, sebagian besar perusahaan atau instansi menerapkan  berbagai    syarat  untuk  memasuki  instansi  atau  perusahaan  tersebut,  salah  satunya  yang  sering  digunakan perusahaan besar adalah dengan  menguasai bahasa  inggris  untuk berkomunikasi  dengan dunia  luar. Banyaknya soal Toefl yang bisa kita dapatkan dari internet ataupun dari Playstore sperti simulasi Toefl ini mempunyai pengurutan yang sama jika dibuat  dari  Vendor  yang  sama.  Maka  dibuatlah  simulasi  Toefl  berbasis  android  untuk  mengacak  urutan  soal  jika  lebih dimainkan dari satu  orang. Untuk pengacakan urutan soal, penulis  menerapkan algoritma Fisher  Yates Shuffle dan  Linear Congruent Method yang telah terbukti mampu mengacak soal dengan baik.
Kata kunci : Android, Toefl, Simulasi, Fisher Yates Shuffle, dan Linear Congruent Method.

## Abstract
In facing global competition to enter institutions or companies, most companies or agencies apply various conditions to enter the agency or company, one of which is often used by large companies is to master English to communicate with the outside world. The number of Toefl questions that we can get from the internet or from Playstore like the Toefl simulation has the same sorting if made from the same Vendor. Then an Android-based Toefl simulation was made to randomize the sequence of questions if more than one person playing. For randomization of the sequence of questions, the author applies the Fisher- Yates Shuffle algorithm and Linear Congruent Method which have been proven to be able to randomize the questions well.
Keywords : Android, Toefl, Simulation, Fisher Yates Shuffle, and Linear Congruent Method.

## 1. PENDAHULUAN
Pada  era  globalisasi  ini,  banyak  simulasi  Toefl  ( Test  OfAs  An  English  Foreign  Language )  yang  telah dikembangkan dengan beberapa jenis. Banyak simulasi toefl yang bisa kita dapatkan dari menu belanja aplikasi android  seperti Playstore .  Namun  untuk  memberikan  pengurutan  soal  yang  berbeda  pada  posisi  soalnya, pengurutan soal akan tampak jika dimainkan lebih dari satu orang dan pada setiap simulasi toefl dibuka. Maka dibuatlah  suatu  pengacakan  soal  simulasi  Toefl  ini  menggunakan  dua  algoritma  yakni  algoritma Fisher  Yates Shuffle dan Linear Congruent Method a gar membantuseorang peserta  untuk menyelesaikan soal simulasi ujian Toefl tanpa harus memiliki posisi pengurutan nomor soal yang sama pada simulasi Toefl.
Pemilihan algoritma Fisher Yates Shuffle untuk simulasi ini bertujuan menentukan semua posisi karakter agar soal yang akan disajikan kepada para pesertanya teracak dengan sempurna dan tidak memiliki bentuk ururtan soalyang sama dengan peserta yang lainnya walaupun sebenarnya soalnya digunakan sama semua dalam tingkat level yang sama.
LCM  ( Linear  Congruent  Method )  untuk  simulasi  ini  bertujuan  untuk  mengacak  soal-soal  Toefl  dan membentuknya menjadi level-level soal yang dapat digunakan untuk simulasi ujian Toefl. Dengan mengacak soal- soal  Toefl  secara  random  maka akan  dihasilkan  urutansoal  yang  baru.  DanLinear  Congruent  Method (LCM) merupakan salah satu metode pembangkit bilangan acak. Ciri khas dari LCM adalah terjadi perulangan.
Penelitian sebelumnya yang diakukan oleh Imam Haditama [1] dalam penerapan algoritma Fisher Yates Shuffle bertujuan pada implemetaasi algoritma Fisher Yaates Shuffle daan Fuzzy Tsukamoto dalam Game Kuis Tebak Nada Sunda Berbasis android kemudian Surya Darma Nasution [2] Penerapan Metode Linear kongruen dan  algoitma  Algoritma  Vigenre  Chiper  pada  Aplikasi  Sistem  Ujian  Berbasis  LAN    dan  Muhammad  Ganda Arizqia [3] Rancang Bangun Aplikasi dengan Linear Congruent Method (LCM) Sebagai Pengacaak Soal. Dengan adanya  simulasi  ini,  akan  memberi  kesempatan  kepada  peserta  ujian  Toefl  untuk  perlatihan  dan  mengetahui kemampuannya dalam menghadapi ujian Toefl sesungguhnya. Seorang peserta yang pada saat simulasi hasilnya belum memuaskan akan belajar lebih giat lagi agar mendapat nilai ujian Toefl-nya yang lebih baik. Sementara bagi  mereka  yang  hasil  simulasinya  sudah  baik  dan  memuaskan  akan  merasa  sedikit  lebih  tenang  dan  lebih percaya diri dalam menghadapi ujian Toeflyang sebenarnya.

## 2. LANDASAN TEORI
2.1 Fisher Yates Shuffle
Fisher  Yates  Shuffle (dinamai  berdasarkan  penemunya,  Ronald  Fisher  danFrank  Yates)  digunakan  untuk mengubah  urutan  masukan  yang  diberikan  secara  acak.  Permutasi  yang  dihasilkan  oleh  algoritma  ini  muncul dengan probabilitas yang sama. Langkah-langkah algoritma Fisher Yates Shuffle dijabarkan sebagai berikut : 1. Pembuatan  urutan soal, susun urutan soal beserta jawaban  yang menunjukan data yang akan diacak
2. Setelah di susun urutan soal maka akan siap di acak oleh kedua algoritma ini.
3. Pengacakan akan di mulai dan di terpakan dengan menggunakan algoritma Fisher Yates Shuffle.
4. Pembuatana urutan soal sebelum di acak
5. Pembuatan soal yang akan di acak pertama dan di ambil secara acak juga [m]
6. Pembuatan soal yang akan di tukarkan dengan soal yang di ambil secara ac tadi [t]
7. Pengacakan akan sterusnya berlangsung seperti itu sampai tidak ada lagi urutan soal yang tersisa.

## 2.2       Linear Congruent Method
Metode  linear  kongruen ( Linear  Congruent  Method, bisa  disingkat  LCM)  merupakan  metode pembangkit bilangan  acak yang  banyak  digunakan  dalam  program komputer.  LCM  memanfaatkan  model  linier  untuk membangkitkan bilangan acak yang didefinisikan dengan langkah-langkah sebagai berikut:
Xn+1 = (aXn+c) mod m .......................................................................................................................................(1)
Di mana :
1. xn = adalah bilaangan acak ke n 2. a dan c adalah konstanta LCM
3. m adalah batas maksimum bilangan acak
Ciri khas dari LCM adalah terjadi pengulangan pada periode waktu tertentu atau setelah sekian kali pembangkitan, hal ini adalah salah satu sifat dari metode ini, dan pseudo random generator pada umumnya.

## 3. ANALISA DAN PEMBAHASAN
Permasalahan pada penelitian ini adalah karena  banyaknya dari kita yang masih kurang mahir dalam berbahasa inggris. Terkadang untuk mengikuti tes Toefl kita harus mengluarkan bianya besar agar dapat mengikuti program Toefl tersebut. Selain itu untuk mengikuti tes Toefl mereka harus belajar giat untuk mengikuti tes Toefl tersebut karena jenis soal yang akan keluar nantinya tentu belum mereka ketahui apalagi yang belum pernah mengikuti Toefl sekalipun kemungkinan mereka akan dibuat bingung bagaiman proses tes Toefl tersebut.
Metode  Fisher  Yates  Shuffle  dalam  prosesnya  diperlukan  urutan  soal  yang  belum  di  acak  yang  akan dijadikan bahan pengacakan pada proses simulasi ujian Toefl. Jumlah soal sendiri berjumlah 40 soal. Dan urutan soalnya dapat dilihat sebagai berikut :
1. The committee has met twice and .... A. they reached a final decision
B. a final decision was reached
C. its decision was reached
D. it has reached a final decision
2. The manager won't be able to attend the shareholders' meeting tomorrow because....
A. he must to give a lecture
B. he will be giving a lecture
C. of he will give lecture
D. he will have giving a lecture
3. Brenda's score on the test is the highest in class.
A. She should study hard last night.
B. She should have studied hard last night.
C. She must have studied hard last night.
D. She had to study hard last night
4. To answer accurately is more important than...
A. to finish quickly
B. a quick finish
C. you finish it quickly D. quick finish 5. Having been served lunch,....
A. the problems were discussed by the participants.
B. the participants discuss the problems.
C. it was discussed by the participants.
D. A discussion of the problems were made by the  participants. 6. East Kalimantan relies heavily on income from oil and natural gas, and....
A. Aceh province also.
B. Aceh province too.
C. Aceh province is as well.
D. so does Aceh province.
7. The participants have had some problems deciding....
A. when they should announce the result of the meeting.
B. when are they sgoing to announce the result of the meeting.
C. when should they announce the result of the meeting.
D. the time when the result of the meeting to announce.
8. This year will be more difficult for our organization because....
A. we have less money and volunteers than last year.
B. there is a little money and volunteers than last year.
C. it has less money and fewer volunteers than it had last year.
D. it has fewer money and less volunteers than it had last year.
9. Professor Baker told his students that...
A. they can turn over their reports on Mondays.
B. the reports can turn over on Monday.
C. they could hand in their reports on Monday.
D. the reports they can hand in on Monday.
10. The adder is a venomous snake ... bite may prove fatal to humans. A. its B. whom its C. that D. whose Diketahui : Jumlah soal yang akan di keluarkan pada level 1 adalah sebanyak 4 soal dari jumlah soal yang sebanyak 40 soal.

## 3.1 Algoritma Fisher Yates Shuffle
Pada  algoritma  ini  tidak  terdapat rumus  seperti  Algoritma  lainya,  melainkan  hanya  memiliki  langkah-langkah untuk menyelesaikannya. Analisis Algoritma Misalkan pada level 1 ada 4 soal yang akan diacak, maka array-nya adalah urutan soal = [0, 1, 2, 3, ]. Array tersebut dimasukkan kedalam prosedur shuffle dimana proses pengacakan terjadi.  Dari  array  tersebut  didapat  panjang  array  yang  kemudian  dimasukkan  ke  dalam  variabel  m  (m  =  10). Langkah-langkah pengacakan soal dengan Fisher-Yates Shuffle adalah sebagai berikut :
1. Ambil satu elemen secara acak dari elemen yang tersisa. Pengambilan elemen acak adalah berdasarkan elemen yang tersisa. Misalkan jika m = 3, maka elemen acak yang boleh diambil adalah 3 (array[0…2]).
2. Tukar dengan elemen saat ini. Penukaran dilakukan dengan memasukkan elemen saat ini (array[m]) ke dalam suatu variabel baru bernama t. Kemudian elemen saat ini (array[m]) diisi nilai dari elemen acak tadi (array[i]). Dan elemen acak (array[i]) diisi nilai dari variabel t.
3.  Ulangi  selama  masih  ada  elemen  yang  tersisa.  Selanjutnya  dilakukan  pengulangan  sebanyak  4  kali  untuk mengacak urutan soal tersebut.
Tabel 1. Proses Penerapan Algoritma Fisher Yates Shuffle Data awal di shuffle Data yang di ambil [m] Data yang akan di tukar [t] Data setelah di Shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
37 38 39 40
1 2 3 4 5 6 7 8 9 40 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
37 38 39 10 10 40
1 2 3 4 5 6 7 8 9 40 11 12 13 14 15 16 17 18 19 20 10 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 21 21 10
1 2 3 4 5 6 7 8 9 40 11 12 13 21 15 16 17 18 19 20
10 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
37 38 39 14 14 21
1 2 3 4 5 6 7 8 9 40 11 12 13 21 15 16 17 18 19 20 10 22 14 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 23 23 14
1 2 3 4 5 6 7 8 9 40 11 12 13 21 15 16 17 18 19 20
10 22 14 24 25 26 27 28 29 30 31 32 33 34 23 36 37 38 39 35 35 23 1 2 3 4 5 6 7 8 9 40 11 12 13 21 15 16 17 18 19 20 10 22 14 24 25 26 35 28 29 30 31 32 33 34 23 36 37 38 39 27 27 35
27 2 3 4 5 6 7 8 9 40 11 12 13 21 15 16 17 18 19 20 10 22 14 24 25 26 35 28 29 30 31 32 33 34 23 36 37 38 39 1 1 27
27 2 3 4 5 6 7 8 9 40 11 12 13 21 1 16 17 18 19 20 10 22 14 24 25 26 35 28 29 30 31 32 33 34 23 36 37 38 39 15 15 1
27 2 3 4 5 6 7 8 9 40 11 12 13 21 1 16 17 18 19 20
10 22 14 24 25 26 35 28 15 30 31 32 33 34 23 36 37 38 39 29 29 15 27 2 3 4 5 6 7 8 9 40 11 12 13 21 1 16 17 18 19 20 10 22 14 24 29 26 35 28 15 30 31 32 33 34 23 36 37 38 39 25 25 29 27 2 3 4 5 6 7 8 9 40 11 12 13 21 1 16 17 25 19 20 10 22 14 24 29 26 35 28 15 30 31 32 33 34 23 36 37 38 39 18 18 25
27 18 3 4 5 6 7 8 9 40 11 12 13 21 1 16 17 25 19 20 10 22 14 24 29 26 35 28 15 30 31 32 33 34 23 36 37 38 39 2 2 18
27 18 3 4 5 6 7 8 9 40 11 12 2 21 1 16 17 25 19 20 10 22 14 24 29 26 35 28 15 30 31 32 33 34 23 36 37 38 39 13 13 2
27 18 3 4 5 6 7 8 9 40 11 12 2 21 1 16 17 25 13 20
10 22 14 24 29 26 35 28 15 30 31 32 33 34 23 36 37 38 39 19 19 13
27 18 19 4 5 6 7 8 9 40 11 12 2 21 1 16 17 25 13 20 10 22 14 24 29 26 35 28 15 30 3 19 27 18 19 4 5 6 7 8 9 40 11 12 2 21 1 16 17 25 13 20 10 22 14 3 29 26 35 28 15 30 31 32 33 34 23 36 37 38 39 24 24 3
27 18 19 24 5 6 7 8 9 40 11 12 2 21 1 16 17 25 13 20 10 22 14 3 29 26 35 28 15 30 31 32 33 34 23 36 37 38 39 4 4 24
27 18 19 24 5 6 7 8 9 40 11 12 2 21 1 16 17 25 13 4 10 22 14 3 29 26 35 28 15 30 31 32 33 34 23 36
37 38 39 20 20 4
27 18 19 24 5 6 7 8 20 40 11 12 2 21 1 16 17 25 13 4 10 22 14 3 29 26 35 28 15 30 31 32 33 34 23 36 37 38 39 9
9 20
27 18 19 24 5 6 7 8 20 40 11 12 2 21 1 16 17 25 13 4 10 22 14 3 29 26 35 28 15 9 31 32 33 34 23 36 37 38 39 30 30 9
27 18 19 24 30 6 7 8 20 40 11 12 2 21 1 16 17 25
13 4 10 22 14 3 29 26 35 28 15 9 31 32 33 34 23 36 37 38 39 5 5 30 27 18 19 24 30 6 7 8 20 40 5 12 2 21 1 16 17 25 13 4 10 22 14 3 29 26 35 28 15 9 31 32 33 34 23 36 37 38 39 11 11 5
27 18 19 24 30 6 7 8 20 40 5 12 2 21 1 16 17 25 13 4 10 11 14 3 29 26 35 28 15 9 31 32 33 34 23 36 37 38 39 22 22 11
27 18 19 24 30 6 7 8 20 40 5 12 2 21 1 16 17 25 13 4 10 11 14 3 29 26 35 28 15 9 22 32 33 34 23 36 37 38 39 31 31 22
27 18 19 24 30 6 7 31 20 40 5 12 2 21 1 16 17 25
13 4 10 11 14 3 29 26 35 28 15 9 22 32 33 34 23 36 37 38 39 8 8 31
27 18 19 24 30 6 7 31 20 40 5 8 2 21 1 16 17 25 13
4 10 11 14 3 29 26 35 28 15 9 22 32 33 34 23 36 37 38 39 12 12 8
27 18 19 24 30 6 7 31 20 40 5 8 2 21 1 16 17 25 13
4 10 11 14 3 29 26 35 28 15 9 22 12 33 34 23 36 37 38 39 32 32 12
27 18 19 24 30 6 7 31 20 40 5 8 2 21 1 32 17 25 13
4 10 11 14 3 29 26 35 28 15 9 22 12 33 34 23 36 37 38 39 16 16 32
27 18 19 24 30 6 7 31 20 40 5 8 2 21 1 32 17 25 13
4 10 11 14 3 29 16 35 28 15 9 22 12 33 34 23 36 37 38 39 26 26 16
27 18 19 24 30 6 26 31 20 40 5 8 2 21 1 32 17 25
13 4 10 11 14 3 29 16 35 28 15 9 22 12 33 34 23 36 37 38 39 7 7 26
27 18 19 24 30 6 26 31 20 40 5 8 2 21 1 32 7 25 13
4 10 11 14 3 29 16 35 28 15 9 22 12 33 34 23 36 37 38 39 17 17 7
27 18 19 24 30 6 26 31 20 40 5 8 2 21 1 32 7 25 13
4 10 11 14 3 29 16 35 28 15 9 22 12 33 34 23 17 37 38 39 36 36 17
27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25 13 4 10 11 14 3 29 16 35 28 15 9 22 12 33 34 23 17 37 38 39 6 6 36
27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25 13 4 10 11 14 3 29 16 35 28 15 9 22 12 33 34 23
17 6 38 39 37 37 6
27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25 13 4 10 11 14 3 29 16 35 37 15 9 22 12 33 34 23 17 6 38 39 28 28 37
27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25 13 4 10 11 14 3 29 16 35 37 15 9 22 12 33 34 23 17 6 38 28 39 39 28
27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25
13 4 10 11 14 3 29 16 35 37 15 9 22 12 39 34 23 17 6 38 28 33 33 39
27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25
13 4 10 11 14 3 29 16 35 37 15 9 22 12 39 34 23
17 6 33 28 38 38 33
27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25
13 4 10 11 14 3 29 16 35 37 15 9 22 12 39 34 23
17 6 33 28 38 34 38
27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25
13 4 10 11 14 3 29 16 35 37 15 34 22 12 39 34 23 17 6 33 28 9
9 34 Hasil Shuffle 27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25 13 4 10 11 14 3 29 16 35 37 15 34 22 12 39 34 23 17 6 33 28 9
Maka berdasarkan table di atas maka urutan soal yang terpilih menggunakan algoritma Fisher Yates Shuffle dalam soal simulasi Toefl ini adalah dengan urutan acak 27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25 13 4 10 11 14 3 29 16 35 37 15 34 22 12 39 34 23 17 6 33 28 dan 9 yang mana hasil ini akan di acak kembali dengan LCM.
Tabel 2. Sesudah di Acak Fisher Yates Sebelum di Acak Fisher Yates Sesudah di Acak Fisher Yates 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25 13
4 10 11 14 3 29 16 35 37 15 34 22 12 39 34 23 17 6 33 28 9

## 3.2 Algoritma  Linear Congruent Method
Metode  linear  kongruen (Linear  Congruent  Method,  bisa  disingkat  LCM)  merupakan  metode pembangkit bilangan  acak yang  banyak  digunakan  dalam  program komputer.    Jumlah  soal  yang  telah  disimpan pada database sebanyak  40  soal  di  mana  setiap  level  hanya  akan  ada  penembahan  dua  kali  lipat  jumlah  soal sebelumnya. Pada setiap soal, nomor soal digunakan sebagai kode soal untuk mempermudah pengacakan soal. Agar  tidak  mengalami  pengulangan  saat  dilakukan  pengacakan  soal  sebanyak  40  kali,  telah  ditentukan nilai konstanta atau yang di tetapkan dari hasil pengacakan algoritma Fisher Yates Shuffle yakni 27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25 13 4 10 11 14 3 29 16 35 37 15 34 22 12 39 34 23 17 6 33 28 dan 9. Kemudian diisilah berdasarkan ketetapan dimana : a =9, c=7, X0 (nilai awal diambil acak di mana) = 3 dan m = 40. Sehingga diperoleh hasil : X= ( 9 * 3 + 7 ) mod 40.
Berikut ini merupakan penerapan metode LCM pada pengacakan urutan soal yang sudah di acak melalui algoritma Fisher Yates Shuffle.
1. x(1) = ( 9 (3) + 7 ) mod 40 = 34 2. x(1) = ( 9 (34) + 7 ) mod 40 =33 3. x(1) = ( 9 (33) + 7 ) mod 40 =24
4. x(1) = ( 9 (24) + 7 ) mod 40 =23
5. x(1) = ( 9 (23) + 7 ) mod 40 =22
6. x(1) = ( 9 (22) + 7 ) mod 40 =27 7. x(1) = ( 9 (27) + 7 ) mod 40 =18 8. x(1) = ( 9 (18) + 7 ) mod 40 =5 9. x(1) = ( 9 (5) + 7 ) mod 40 =20 10. x(1) = ( 9 (20) + 7 ) mod 40 =7
Maka, bilangan acak yang dibangkitkan adalah : 34 33 24 23 22 27 18 5 20 7 40 25 2 30 36 26 31 8 21 1 32 13 4 10 11 14 3 29 16 35 37 15 34 12 39 17 9 6 28 dan 19. Berdasarkan perhitungan di atas dapat disimpulkan bahwa dalam pemilihan nilai konstanta pada a, c dan m telah sesuai dan tidak terjadi perulangan dalam menampilkan soal pada saat melakukan ujian. Untuk nilai Xn atau nilai awal akan selalu berubah sesuai dengan jumlah berapa kali pengguna menjawab soal. Jika saat melakukan ujian pertama kali maka nilai Xn = 1, namun jika dia melakukan ujian yang kedua kalinya nilai Xn = 1 + 1
Jumlah  soal  yang  tersedia  di  dalam database atau  jumlah  nilai  m  adalah  40,  sehingga  hasil  bilangan acak/nomor soal yang dihasilkan merupakan rentang dari angka 0-39. Pada nomor soal tidak terdapat nomor soal 0  sehingga  apabila  terdapat  angka  0  dalam  salah  satu  nomor  soal  yang  dihasilkan  maka  akan  diganti  menjadi angka yang belum keluar dari pengacakan. Jadi hasil pengacakan dari kedua algoritma ini adalah 34 33 24 23 22 27 18 5 20 7 40 25 2 30 36 26 31 8 21 1 32 13 4 10 11 14 3 29 16 35 37 15 34 12 39 17 9 6 28 dan 19.
Tabel 3. Setelah Diacak LCM Sebelum di Shufle LCM Sesudah di Shuffle LCM 27 18 19 24 30 36 26 31 20 40 5 8 2 21 1 32 7 25 13 4 10 11 14 3 29 16 35 37 15 34 22 12 39 34 23 17 6 33 28 9 34 33 24 23 22 27 18 5 20 7 40 25 2 30 36 26 31 8 21 1 32 13 4 10 11 14 3 29 16 35 37 15 34 12 39 17 9 6 28 19. Tabel 4. Jumlah Soal dan jawaban Setiap Level Level Soal 1 4 2 8 3 12 4 16 Tabel 5. Level Balancing Soal Jumlah Jawaban Per Soal Skor 4 x 20 = 80 1 x 20 = 20 100 8 x 20 = 160 1 x 20 = 20 180 12 x 20 = 240 1 x 20 = 20 260 16 x 20 = 320 1 x 20 = 20 340
Dari tabel tersebut bisa dilihat bahwa skor masing  – masing level meningkat dari level sebelumnya. Ini berarti bahwa terjadi peningkatan kesulitan pada tiap level.
Tabel 6. Structure Level Soal Jenis Toefl Structure 1 1 1 2 2 1 3 3 1 4 4 1

## 4. IMPLEMENTASI
Tampilan  program  memuat  tentang  perangkat  lunak  yang  akan  dibangun,  berupa  print  screen  dari  tampilan programnya, tampilan program ini memuat tentang Menu Utama, Input Nama, Tampilkan Skor, Tentang Program dan menu Keluar yang akan disajikan kepada pengguna.
Gambar 1. Tampilan Aplikasi

## 5. KESIMPULAN
Berdasarkan  analisa  beberapa  hal  yang  dapat  ditarik  kesimpulan  setelah  menulis  penelitian  ini  adalah  sebagai berikit:
1. Algoritma Fisher  Yates  Shuffle dan Linear  Congruent  Method adalah  algoritma  pengacakan  yang  sudah terbukti dalam mengacak  posisi soal ataupun media lainnya.
2. Dengan  adanya  simulasi  ujian  Toefl  dengan  menggunakan  algoritma Fisher  Yates  Shuffle dan Linear Congruent Method dapat memberikan posisi acak secara merata agar tidak mudah ditebak posisi dari urutan soal  yang  akan  keluar  nantinya  walaupun  penggunanya  sedang  melakukan  pengujian  simulasi  secara bersamaan.
3. Dalam  perancangan  aplikasi  simulasi  ini  menggunakan  Bahasa  pemrograman Eclipse  Juno dari  hasil pengacakan  algoritma Fisher  Yates  Shuffle kemudian  di  acak  lagi  hasil  tersebut  dengan  algoritma Linear Congruent Method dan hasilnya akan menjadi urutan soal yang akan di pakai dalam pengacakan dan tentunya urutan soal sudah dalam posisi teracak penuh dan siap di sajikan kepada para pengguna.

## REFERENCES
[1] C. S. D. F. R. Imam Haditama, "IMPLEMENTASI ALGORITMA FISHER-YATES DAN FUZZY TSUKAMOTO DALAM GAME KUIS TEBAK NADA SUNDA BERBASIS ANDROID," JOIN, vol. 1, pp. 51-58, 2016.
[2] S.  D.  Nasution,  "PENERAPAN  METODE  LINIER  KONGRUENDAN  ALGORITMA  VIGENÈRE  CHIPER  PADA  APLIKASI SISTEM UJIAN BERBASIS LAN," Pelita Informatika Budi Darma, vol. IV, pp. 94-102, 2013.
[3] A. A. W. Muhammad Ganda Arizqia, "Rancang Bangun Aplikasi Dengan Linear Congruent (LCM) Sebagai Pengacakan Soal," Journal of Information Technology and Computer Science (JOINTECS), vol. 1, pp. 1-6, 2017.
[4] Mesran, M. (2016). PEMANFAATAN MOBILE DEVICE PADA UJIAN MATAKULIAH MENERAPKAN LINEAR CONGRUENT METHOD (LCM) BERBASIS ANDROID. Teknologi Dan Sistem Informasi , 2 (2), 80–85.
[5] https://id.wikipedia.org/wiki/Simulasi
[6] "kbbi.co.id," 2015. [Online]. Available: http://kbbi.co.id/arti-kata/simulasi. [Accessed 19 08 2017].
[7] Zuanda, "Pemodelansistem...TeknikIndustri," teknikindustri,
[8] S.Minarni,"SISTEMI NFORMASI INVENTORY OBAT,"JurnalMomentum,vol. 16, no. 1, pp. 102-111, 2014.
[9] “PENGERTIANDARI.”[Online].Available:http://pengertianmenurut.blogspot.co.id/2016/02/pengertian-activity-diagram-menurut- ahli.html.[Accessed 21 08 2017].