Anda di halaman 1dari 12

IMPLEMENTASI ALGORITMA FISHER YATES DAN STRING

MATCHING PADA APLIKASI PEMBELAJARAN KIMIA

BERBASIS ANDROID

1.1 Latar Belakang Masalah

Seiring dengan perkembangan teknologi dan informasi, saat ini perangkat

mobile smartphone banyak digemari oleh masyarakat terutama smartphone

berbasis sistem operasi android. Keberadaan sistem operasi android di

Indonesia sudah sangat populer belakangan ini, karena tidak terlepas dari

banyaknya aplikasi yang tersedia di android market secara gratis. Tidak hanya

aplikasi game tetapi aplikasi yang memiliki unsur pembelajaran sudah banyak

tersedia. Salah satu aplikasi pembelajaran yang masih jarang dijumpai adalah

pembelajaran tentang kimia.

Kimia merupakan bagian dari ilmu pengetahuan alam yang mempelajari

struktur dan sifat materi (zat), perubahan materi (zat) dan energi yang

menyertai perubahan tersebut. Kimia sering kali disebut sebagai pusat ilmu

pengetahuan sebab ilmu kimia dibutuhkan untuk mempelajari ilmu

pengetahuan lainnya, fisika, biologi, geografi, lingkungan hidup, geologi,

kesehatan, kedokteran, sejarah bahkan hukum membutuhkan ilmu kimia.

Tidak semua orang menyukai pelajaran kimia dan menganggap pelajaran

kimia adalah pelajaran yang sulit untuk dipahami. Dalam mempelajari dasar

ilmu kimia, sistem periodik unsur sangat dibutuhkan, karena digunakan untuk

1
acuan dalam membentuk senyawa dan hampir dalam setiap buku pelajaran

kimia SMA (Sekolah Menengah Atas) sistem periodik unsur selalu digunakan.

Namun untuk mempelajari sistem periodik unsur dalam bentuk kertas

didalam buku akan merepotkan karena harus membawa buku. Dengan

digitalisasi sistem periodik unsur, diharapkan akan membantu pelajar terutama

pelajar Sekolah Menengah Atas (SMA) saat belajar sistem periodik unsur.

Saat pelajar sedang mempelajari sistem periodik unsur tidak perlu membawa

buku kimia, cukup dengan smartphone android, pelajar dapat mempelajari

sistem periodik unsur dimana saja.

Untuk menambah minat pelajar dalam belajar kimia mengenai sistem

periodik unsur, aplikasi yang dibangun tidak hanya memuat materi sistem

periodik unsur saja tetapi juga terdapat quiz. Agar urutan pertanyaan yang

muncul tidak memiliki pola yang sama, maka pertanyaan yang muncul harus

diacak. Dengan urutan pertanyaan yang diacak, maka pengguna aplikasi akan

mendapatkan pertanyaan yang muncul dengan urutan yang berbeda pada tiap

satu kali sesi quiz.

Untuk melakukan pengacakan soal harus menggunakan metode

pengacakan, banyak algoritma yang dapat digunakan untuk pengacakan

diantaranya Algoritma Fisher Yates, Naïve Shuffle, Linear Congruential

Generator dll. Untuk kebutuhan pengacakan soal penulis menerapkan

algoritma fisher yates yaitu algoritma pengacakan yang digunakan untuk

mengubah urutan masuk yang diberikan secara acak, permutasi yang

dihasilkan oleh algoritma ini muncul dengan probabilitas yang sama.

2
Selain kebutuhan pengacakan soal, untuk menjawab pertanyaan tentunya

terdapat pilihan jawaban benar atau salah, untuk mengetahui jawaban yang

dipilih benar atau salah dibutuhkan metode pencocokkan jawaban. Untuk

pencocokkan jawaban dapat digunakan Metode String Matching yaitu

pencarian sebuah pattern pada sebuah teks, dengan mencocokkan pattern

yang terdapat pada pilihan jawaban dengan jawaban yang benar didalam

database. Metode ini digunakan untuk pencocokkan jawaban yang dipilih

“True and False”.

Berdasarkan uraian diatas maka penulis bermaksud untuk

mengimplementasikan algoritma Fisher Yates yang digunakan untuk

pengacakan soal dan metode String Matching untuk pencocokkan jawaban

dari pertanyaan yang muncul, yang akan diteliti oleh penulis dengan judul

“Implementasi Algoritma Fisher Yates dan String Matching Pada Aplikasi

Pembelajaran Kimia Berbasis Android”.

3
1.2 Identifikasi Masalah

Berdasarkan latar belakang diatas, maka didapatkan identifikasi masalah

sebagai berikut :

1. Mempelajari sistem periodik unsur masih mengandalkan buku atau kertas

tabel sistem periodik.

2. Perlunya pola urutan soal yang berbeda pada tiap 1 sesi melakukan quiz.

3. Perlunya metode pencocokkan jawaban untuk menentukan pilihan

jawaban benar atau salah

1.3 Batasan Masalah

Berdasarkan latar belakang diatas, penulis membatasi masalah sebagai

berikut :

1. Aplikasi yang dibangun hanya memuat materi dan soal pertanyaan

mengenai Sistem Periodik Unsur Kimia.

2. Pengacakan soal pertanyaan pada quiz menggunakan algoritma Fisher

Yates dan pencocokkan jawaban menggunakan metode String Matching.

3. Pertanyaan yang diacak terdapat 3 level yaitu mudah , sedang dan sulit.

4. Aplikasi dibangun untuk perangkat mobile sistem operasi android.

5. Pertanyaan yang ditampilkan dalam bentuk soal pilihan ganda, dan pilihan

jawaban tidak di acak.

4
1.4 Pertanyaan Penelitian

Adapun pertanyaan penelitian yang ditanyakan dalam penulisan proposal

skripsi ini adalah :

1. Bagaimana merancang perangkat lunak sebagai media pembelajaran

berbasis sistem operasi android ?

2. Bagaimana mengimplementasikan 2 algoritma dalam 1 perangkat lunak

yang dibangun ?

1.5 Rumusan Masalah

Berdasarkan latar belakang diatas, maka rumusan masalah sebagai berikut:

1. Bagaimana membangun aplikasi pembelajaran kimia tentang sistem

periodik unsur kimia pada sistem operasi android ?

2. Bagaimana mengimplementasikan algoritma Fisher Yates untuk

pengacakan soal yang muncul dengan level mudah, sedang, sulit ?

3. Bagaimana mengimplementasikan metode String Matching untuk

pencocokkan jawaban benar atau salah ?

1.6 Metodologi Penelitian

Dalam melakukan penelitian ini digunakan metodologi penelitian, yaitu

dengan menggunakan metode pengumpulan data dan metode pengembangan

perangkat lunak.

5
1.6.1 Metode Pengumpulan Data

Metode pengumpulan data yang dilakukan yaitu dengan cara :

1. Studi Pustaka yaitu Pengumpulan data dengan cara mempelajari

sumber kepustakaan diantaranya hasil penelitian, buku referensi, jurnal

dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

2. Wawancara yaitu mengadakan tanya jawab dengan seorang calon

pengguna aplikasi untuk dimintai keterangan atau pendapatnya

tentang hal yang berkaitan dengan aplikasi yang akan dibangun.

1.6.2 Metode Pengembangan Sistem

Metode pengembangan perangkat lunak yang akan digunakan

adalah RUP (Rational Unified Process) yaitu pendekatan

pengembangan perangkat lunak yang dilakukan berulang–ulang

(iterative), fokus pada arsitektur (architecture-centric), lebih diarahkan

berdasarkan penggunaan kasus (use case driven). RUP merupakan

proses rekayasa perangkat lunak dengan pendefinisian yang baik dan

penstrukturan yang baik. RUP menyediakan pendefinisian struktur

yang baik untuk alur hidup rekayasa perangkat lunak.

RUP memiliki empat buah tahap atau fase yang dapat dilakukan

pula secara iteratif, berikut empat tahapan pada RUP :

6
Gambar 1.1 Fase RUP (Scott W. Ambler : 2005)

1. Inception (Permulaan)

Tahap ini lebih pada memodelkan proses bisnis yang dibutuhkan

(business modeling) dan mendefiniskan kebutuhan akan sistem

yang akan dibuat (reqruitments). Berikut adalah tahapan yang yang

dibutuhkan pada tahap ini :

a. Memahami ruang lingkup dari proyek (termasuk pada

biaya, waktu, kebutuhan, resiko, dan lain sebagainya).

b. Membangun kasus bisnis yang dibutuhkan.

7
2. Elaboration (Perluasan / Perencanaan)

Tahap ini lebih difokuskan pada perencanaan arsitektur sistem.

Tahap ini juga dapat mendeteksi apakah arsitektur sistem ynag

diinginkan dapat dibuat atau tidak. Mendeteksi resiko yang

mungkin terjadi dari arsitektur yang dibuat. Tahap ini lebih pada

analisis dan desain sistem serta implementasi sistem yang fokus

pada purwarupa sistem (prototype).

a. Use Case Diagram

Use case atau diagram use case merupakan pemodelan

untuk kelakuan (behavior)sistem informasi yang akan

dibuat (Rosa A.S, 2011, h.130)

b. Class Diagram

Diagram kelas atau class diagram menggambarkan struktur

sistem dari segi pendefinisian kelas-kelas yang akan dibuat

untuk membangun sistem (Rosa A.S, 2011, h.122).

c. Activity Diagram

Activity diagram menggambarkan aliran kerja atau aktivitas

dari sebuah sistem atau proses bisnis (Rosa A.S, 2011,

h.134).

d. Sequence Diagram

Sequence diagram menggambarkan kelakuan objek pada

usecase dengan mendeskripsikan waktu hidup objek dan

8
message yang dikirimkan dan diterima antar objek (Rosa

A.S, 2011, h.137).

3. Construction (Konstruksi)

Tahap ini fokus pada pengembangan komponen dan fitur-fitur

sistem. Tahap ini lebih pada implementasi dan pengujian sistem

yang fokus pada implementasi perangkat lunak pada kode program.

Tahap ini menghasilkan produk perangkat lunak dimana menjadi

syarat dari Initial Operational Capability Milestone atau

batas/tonggak kemampuan operasional awal.

4. Transition (Transisi)

Tahap ini lebih pada deployment atau instalasi sistem agar dapat

dimengerti oleh user. Tahap ini menghasilkan produk perangkat

lunak dimana menjadi syarat dari Initial Operational Capability

Milestone. Aktifitas pada tahap ini termasuk pelatihan user,

pemeliharaan dan pengujian sistem apakah sudah memenuhi

harapan user.

1.7 Hipotesis Penelitian

1. Penggunaan aplikasi pembelajaran kimia tentang sistem periodik unsur

kimia, memudahkan pengguna dalam mempelajari sistem periodik unsur

kimia.

9
2. Aplikasi yang dibangun dapat digunakan pengguna sebagai media

pembelajaran sistem periodik unsur kimia, terutama pelajar SMA (Sekolah

Menengah Atas).

1.8 Tujuan Penelitian

1. Membangun aplikasi pembelajaran kimia tentang sistem periodik unsur

kimia pada sistem operasi android.

2. Mengimplementasikan algoritma Fisher Yates untuk pengacakan soal.

3. Mengimplementasikan metode String Matching untuk pencocokkan

jawaban.

1.9 Manfaat Penelitian

Manfaat yang diharapkan dari aplikasi yang dibangun

a. Bagi Pengguna

1. Memudahkan pengguna khususnya pelajar SMA (Sekolah Menengah

Atas) dalam mempelajari sistem periodik unsur kimia.

2. Menambah minat belajar dalam bidang ilmu kimia terutama pada

sistem periodik unsur kimia.

b. Bagi Penulis

1. Menerapkan materi yang pernah diajarkan pada saat di bangku

perkuliahan.

2. Dapat menerapakan algoritma pengacakan dan metode pencocokkan

dalam bentuk aplikasi pembelajaran.

10
3. Menambah wawasan dan pengetahuan selain materi yang pernah

diajarkan di bangku perkuliahan.

c. Bagi Akademik

1. Sebagai bahan acuan jikalau aplikasi yang telah dibangun akan

dikembangkan.

1.10 Jadwal Kegiatan Penelitian

Adapun rencana jadwal kegiatan penelitian yang akan dilakukan adalah :

Tabel 1.1 Tabel Rencana Jadwal Kegiatan Penelitian

11
Daftar Pustaka

A.S, Rosa. (2011). Modul Pembelajaran Rekayasa Perangkat Lunak. Bandung :

Modula

A.S, Rosa dan M. Salahuddin. (2015). Rekayasa Perangkat Lunak Terstruktur

dan Berorientasi Objek. Bandung : Informatika Bandung

Jeffry dan Johannes Petrus. (2014). “ Rancang Bangun Aplikasi Game Edukasi

Puzzle Pengenalan Tokoh Sejarah Berbasis Android Dengan Metode

Linear Congruential Generator (LCG)”, Juni 2014

Nugraha, Ryan dkk. (2014). “Penerapan Algoritma Fisher-Yates Pada Aplikasi

The Lost Insect Untuk Pengenalan Jenis Serangga Berbasis Unity 3D”,

Jurnal The Lost Insect

Sudarmo, Unggul. (2013). Kimia untuk SMA/MA Kelas X. Surakarta : Erlangga

Wahyudi, Riki dan Hendra. (2015). “ Perancangan Aplikasi Quiz Menggunakan

Metode Pengacakan Linear Congruential Generator (LCG) Berbasis

Android”, Riau Journal Of Computer Science , Vol.1/No.1/2015 : 17- 26

12

Anda mungkin juga menyukai