7

APLIKASI PEMBAGIAN KELOMPOK KELAS MENGGUNAKAN … · Beberapa definisi penting dalam Algoritma Genetik, yaitu: a. Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang

  • Upload
    others

  • View
    22

  • Download
    0

Embed Size (px)

Citation preview

Page 1: APLIKASI PEMBAGIAN KELOMPOK KELAS MENGGUNAKAN … · Beberapa definisi penting dalam Algoritma Genetik, yaitu: a. Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang
Page 2: APLIKASI PEMBAGIAN KELOMPOK KELAS MENGGUNAKAN … · Beberapa definisi penting dalam Algoritma Genetik, yaitu: a. Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang

APLIKASI PEMBAGIAN KELOMPOK KELAS MENGGUNAKAN

ALGORITMA GENETIK PADA SMA BUDI MULIA TANGERANG

Windarto1) Fajrianto Burhan

2)

Fakultas Teknologi Informasi, Universitas Budi Luhur, Jakarta

[email protected]) [email protected]

2)

Abstract:

The distribution students into the classes in a school is a fairly complex problem and repeated annually. This activity is

usually done manually and takes a long time to compile it. Moreover, a review of the classes which had been distributed

typically performed many times due to some factors and certain parameters. For this reason, the authors propose an

effective solution using genetic algorithm as intelligent system as a core to compile the distribution of the classes which

is a sub part of artificial intelligence. Genetic algorithm is a search algorithm based on the mechanism of natural

selection and genetics. Using the original data from any existing direction, this system will not have difficulty in making

the distribution of the classes and of course have a much better performances when compared to the drafting classes

group which generated manually. The system also comes with an elegant and easy to use so that users in this

administrative staff can feel comfortable. With the application of intelligent applications for the distribution of the

classes will automatically minimizes data input errors that humans often do, and can speed up the processing time

distribution of class groups.

Keywords: algoritma genetik, kecerdasan tiruan, pembagian kelompok kelas.

1. Pendahuluan Penyusunan kelompok belajar untuk setiap siswa/siswi pada suatu sekolah selalu dilakukan bersamaan dengan kegiatan

kenaikan kelas dan penerimaan siswa/siswi baru. Setiap kelompok belajar terdiri dari beberapa siswa/siswi yang dipilih

dengan mempertimbangkan beberapa faktor, seperti kemampuan akademis, jenis kelamin, kapasitas ruang kelas,

kesamaan nama, program studi yang diambil dan sebagainya. Penyusunan kelompok belajar ini cukup penting karena

adanya beberapa manfaat seperti keharmonisan dan keseimbangan suasana belajar pada suatu kelas, memperkuat

persaingan antar kelas, meningkatkan kemampuan bersosialisasi siswa dan sebagainya. Hampir setiap sekolah telah

memiliki sistemnya sendiri dalam melakukan penyusunan kelompok belajar walaupun masih dilakukan secara manual

atau semi komputerisasi.

Berdasarkan latar belakang tersebut, maka perumusan masalah yang dapat diajukan adalah adalah bagaimana

menerapkan Algoritma Genetik agar dapat digunakan untuk melakukan pembagian kelompok kelas sehingga proses

pembagian kelompok dapat berjalan dengan lebih cepat. Berdasarkan perumusan masalah yang telah dikemukakan, maka

tujuan dari penulisan ini adalah untuk memberikan gambaran tentang pengimplementasian sistem penyusunan kelompok

belajar berbasis Algoritma Genetik. Adapun ruang lingkup dalam penelitian ini adalah pada pengembangan aplikasi

pembagian kelompok untuk siswa baru dan siswa yang masih aktif, sementara itu yang menjadi parameter dalam proses

pembagian kelompok tersebut adalah jenis kelamin, nilai rata-rata, keakuratan dalam penyusunan kelompok, dan teknik

penyusunan yang digunakan.

2. Landasan Teori

2.1 Algoritma Genetik Algoritma Genetik pertama kali dikembangkan oleh John Holland dari Universitas Michigan pada tahun 1975. John

Holland menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan ke

dalam terminologi genetik. Algoritma Genetik adalah proses simulasi dari proses evolusi Darwin dan operasi genetik atas

kromosom [8].

Tabel 1: Perbandingan Istilah pada Sistem Alamiah dengan Algoritma Genetik

Sistem Alamiah Algoritma Genetik

Kromosom String

Gen Fitur, Karakter atau Detektor

Allel Nilai Fitur

Locus Posisi String

Genotip Struktur

Fenotip Set Parameter, Solusi Alternatif, Struktur yang di-decode

Epitasis Non Linieritas

Page 3: APLIKASI PEMBAGIAN KELOMPOK KELAS MENGGUNAKAN … · Beberapa definisi penting dalam Algoritma Genetik, yaitu: a. Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang

Beberapa definisi penting dalam Algoritma Genetik, yaitu:

a. Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu

kesatuan gen yang dinamakan kromosom. Dalam Algoritma Genetik, gen ini bisa berupa nilai biner, float, integer,

maupun karakter.

b. Allel adalah nilai dari gen.

c. Kromosom adalah gabungan dari gen-gen yang membentuk nilai tertentu.

d. Individu menyatakan satu nilai dari keadaan yang menyatakan salah satu siklus proses evolusi.

e. Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi.

f. Generasi menyatakan satuan siklus proses evolusi.

g. Nilai fitness menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan.

Algoritma Genetik secara umum dapat diilustrasikan dalam diagram alir yang dapat dilihat pada gambar berikut:

Gambar 1: Diagram Alir Algoritma Genetik

Struktur umum dari suatu Algoritma Genetik dapat didefinisikan dengan langkah-langkah sebagai berikut:

1) Membangkitkan populasi awal

Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri dari

sejumlah kromosom yang mempresentasikan solusi yang diinginkan.

2) Membentuk generasi baru

Dalam membentuk generasi baru digunakan tiga operator yaitu operator reproduksi/seleksi, crossover, dan mutasi.

Proses ini dilakukan berulang-ulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi

baru dimana generasi baru ini merupakan representasi dari solusi baru.

3) Evaluasi solusi

Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya

sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru

dengan mengulangi langkah 2. Beberapa kriteria berhenti yang sering digunakan antara lain:

a) Berhenti pada generasi tertentu.

b) Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah.

c) Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang lebih tinggi.

Komponen-komponen utama Algoritma Genetik [8]:

1) Teknik pengkodean

Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai calon solusi suatu masalah ke dalam suatu

kromosom sebagai suatu kunci pokok persoalan ketika menggunakan Algoritma Genetik [2]. Teknik pengkodean ini

meliputi pengkodean gen dan kromosom. Gen merupakan bagian dari kromosom. Satu gen biasanya akan mewakili

satu variable. Gen dapat direpresentasikan dalam bentuk string bit, pohon, array bilangan real, daftar aturan, elemen

permutasi, elemen program, atau representasi lainnya yang dapat diimplementasikan untuk operator genetik.

2) Prosedur inisialisasi

Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetik yang akan

diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom

yang terdapat pada populasi tersebut. Inisialisasi kromosom dilakukan secara acak, namun demikian harus tettap

memperhatikan domain solusi dan kendala permasalahan yang ada.

3) Evaluasi fitness

Evaluasi fitness merupakan dasar untuk proses seleksi. Langkah-langkahnya yaitu string dikonversi ke parameter

fungsi, fungsi objektifnya dievaluasi, kemudian mengubah fungsi objektif tersebut ke dalam fungsi fitness. Dimana

untuk maksimalisasi problem, fitness sama dengan fungsi objektifnya. Output dari fungsi fitness dipergunakan

sebagai dasar untuk menseleksi individu pada generasi berikutnya. Untuk permasalahan minimalisasi, nilai fitness

adalah inversi dari nilai minimal yang diharapkan. Proses inversi dapat dilakukan dengan:

Page 4: APLIKASI PEMBAGIAN KELOMPOK KELAS MENGGUNAKAN … · Beberapa definisi penting dalam Algoritma Genetik, yaitu: a. Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang

Keterangan:

A : Konstanta yang ditentukan

X : Individu (kromosom)

ℯ : Bilangan kecil yang ditentukan untuk menghindari pembagi nol atau f(x) = 0

4) Seleksi

Seleksi ini bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling

baik. Ada beberapa metode seleksi dari induk, antara lain:

a) Rank-based fitness assignment

b) Roulette wheel selection

c) Stochastic universal sampling

d) Truncation selection

e) Tournament selection

5) Operator genetik

Operator genetik terdiri dari crossover dan mutasi. Crossover (perkawinan silang) bertujuan menambah

keanekaragaman string dalam satu populasi. Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen

dalam suatu kromosom.

6) Penetuan parameter kontrol Algoritma Genetik

Kontrol parameter genetik diperlukan untuk mengendalikan operator-operator seleksi. Pemilihan parameter genetik

menentukan penampilan kinerja Algoritma Genetik dalam memecahkan masalah. Ada dua parameter dasar dari

Algoritma Genetik, yaitu probabilitas crossover (pc) dan probabilitas mutasi (pm).

Probabilitas crossover menyatakan seberapa sering proses crossover akan terjadi antara dua kromosom orang tua. Jika

tidak terjadi crossover, satu orang tua dipilih secara random dengan probabilitas yang sama dan di duplikasi menjadi

anak. Jika terjadi crossover, keturunan dibuat dari bagian-bagian kromosom orang tua. Jika probabilitas crossover 100%

maka keseluruhan keturunan dibuat dengan crossover. Jika probabilitas crossover 0% maka generasi baru dibuat dari

salinan kromosom-kromosom dari populasi lama yang belum tentu menghasilkan populasi yang sama dengan populasi

sebelumnya karena adanya penekanan selektif. Probabilitas mutasi menyatakan seberapa sering bagian-bagian kromosom

akan dimutasikan. Jika tidak ada mutasi, keturunan diambil/disalin langsung setelah crossover tanpa perubahan. Jika

mutasi dilakukan, bagian-bagian kromosom dibuah. Jika probabilitas mutasi 100%, keseluruhan kromosom diubah. Jika

probabilitas mutasi 0%, kromosom tidak ada yang diubah.

Probabilitas mutasi dalam Algoritma Genetik seharusnya diberi nilai yang kecil. Umumnya, probabilitas mutasi diset

untuk mendapatkan rata-rata satu mutasi per kromosom, yaitu angka/allel = 1/panjang kromosom. Kemudian, hasil yang

sudah pernah dicoba menunjukkan bahwa angka probabilitas terbaik adalah antara 0,5% sampai 1%. Hal ini karena

tujuan mutasi adalah menjaga perbedaan kromosom dalam populasi, untuk menghindari konvergensi premature.

Parameter lain yang juga ikut menentukan efisiensi kinerja Algoritma Genetik adalah ukuran populasi (popsize), yaitu

banyaknya kromosom dalam satu populasi. Jika terlalu sedikit kromosom dalam populasi, Algoritma Genetik mempunyai

kemungkinan sedikit untuk melakukan crossover dan hanya sebagian kecil dari ruang pencarian yang dieksplorasi.

Sebaliknya, jika terlalu banyak jumlah kromosom, Algoritma Genetik cenderung menjadi lambat dalam menentukan

solusi [2].

Ada beberapa rekomendasi yang bisa digunakan dalam kontrol Algoritma Genetik, antara lain: (a) Untuk permasalahan

yang memiliki kawasan solusi cukup besar, De Jong merekomendasikan untuk nilai parameter kontrol: (popsize; pc; pm)

= (50; 0,6; 0,001). (b) Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka Greferstette

merekomendasikan: (popsize; pc; pm) = (30; 0,95; 0,01). (c) Bila fitness dari individu terbaik dipantau pada setiap

generasi, maka usulannya adalah: (popsize; pc; pm) = (80; 0,45; 0,01). (d) Ukuran populasi sebaiknya tidak lebih kecil

dari 30, untuk sembarang jenis permasalahan.

3. Rancangan Sistem dan Aplikasi 3.1 Indentifikasi dan Pemecahan Masalah

Kemudahan dalam melakukan pembagian kelompok kelas merupakan hal yang sangat penting bagi staf Tata Usaha SMA

Budi Mulia. Sebelumnya pembagian kelompok kelas dilakukan dengan cara manual yang membutuhkan waktu cukup

lama untuk mengurutkan satu persatu dan membagi kelas dengan memilih salah satu siswa dengan memperhatikan

beberapa parameter seperti nilai dan yang lainnya sehingga kemungkinan kesalahan pada manusia sangat besar sehingga

perolehan data menjadi tidak akurat dan hasil informasi menjadi tidak jelas. Solusi dari permasalahan tersebut dapat

diatasi dengan mengembangkan sistem pembagian kelompok kelas menggunakan Algoritma Genetik. Dengan adanya

sistem ini diharapkan staf tata usaha dapat melakukan pembagian kelompok kelas dengan lebih cepat dan mudah.

Page 5: APLIKASI PEMBAGIAN KELOMPOK KELAS MENGGUNAKAN … · Beberapa definisi penting dalam Algoritma Genetik, yaitu: a. Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang

3.2 Logical Record Structure

Gambar 2: Logical Record Structure

3.3 Flowchart Algoritma Genetik

Gambar dibawah ini merupakan flowchart Algoritma Genetik yang digunakan pada penyusunan kelompok kelas di SMA

Budi Mulia Tangerang.

Gambar 3: Flowchart Algoritma Genetik

3.4 Tampilan Layar

Berikut ini adalah tampilan layar dari aplikasi pembagian kelompok kelas pada SMA Budi Mulia Tangerang, mulai dari

form master siswa (gambar 4) dimana fungsinya adalah untuk menginputkan seluruh siswa pada SMA Budi Mulia

Tangerang untuk kemudian dimasukkan ke dalam kelas-kelas yang ada.

Gambar 4: Tampilan Layar Form Master Siswa

Page 6: APLIKASI PEMBAGIAN KELOMPOK KELAS MENGGUNAKAN … · Beberapa definisi penting dalam Algoritma Genetik, yaitu: a. Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang

Dibawah ini adalah tampilan layar dari form nilai (gambar 5). Nilai yang ada pada form ini digunakan sebagai parameter

untuk membagi siswa-siswa kedalam kelas dan jurusan yang sesuai dengan syarat nilai untuk masuk ke jurusan tertentu.

Sementara itu form kelompok (gambar 6) digunakan untuk memilih kelas dan memasukkan kapasitas siswa per kelas.

Form buat kelompok digunakan untuk membagi siswa ke dalam kelas sesuai dengan criteria nilai dan jenis kelamin dan

hasil dari buat kelompok dapat dilihat pada form Lihat Kelompok (gambar 7)

Gambar 5: Tampilan Layar Form Nilai

Gambar 6: Tampilan Layar Form Buat Kelompok

Gambar 7: Tampilan Layar Form Buat Kelompok dan Form Lihat Kelompok

Page 7: APLIKASI PEMBAGIAN KELOMPOK KELAS MENGGUNAKAN … · Beberapa definisi penting dalam Algoritma Genetik, yaitu: a. Genotype (gen) adalah sebuah nilai yang menyatakan satuan dasar yang

3.5 Evaluasi Program Pada sistem pembagian kelompok kelas menggunakan Algoritma Genetik yang dikembangkan ini setelah

dilakukan evaluasi program untuk menganalisa hasil yang dicapai ditemukan beberapa kelebihan dan kekurangan

diantaranya adalah sebagai berikut.

a. Kelebihan Program

1) Desain antarmuka pengguna yang menarik dan mudah digunakan.

2) Aplikasi ini tidak membutuhkan persyaratan sistem yang canggih.

3) Memiliki waktu proses yang cukup cepat dan tidak membutuhkan banyak waktu.

b. Kekurangan Program

1) Kesalahan inputan data siswa dan data nilai dapat memperlambat proses pembagian kelompok kelas.

4. Kesimpulan Sesuai dengan pembahasan mengenai sistem pembagian kelompok kelas menggunakan algoritma genetik, maka

kesimpulan dan saran yang dapat diambil adalah sebagai berikut:

a. Diharapkan dengan penerapan aplikasi cerdas yang dapat membagi kelompok kelas secara otomatis akan

meminimalisasikan kesalahan-kesalahan saat proses pembagian kelompok yang sering dilakukan dengan cara

manual, sehingga dapat mempercepat proses pembagian kelompok kelas dan dapat menggantikan proses

pembagian kelompok secara manual.

b. Penambahan fitur switch siswa sangat dibutuhkan dalam sistem ini, karena akan ada saat ketika dimana dalam

suatu kelas terdapat siswa-siswa yang bermasalah sehingga mereka tidak mungkin digabung dalam satu kelas.

Oleh karena itu fitur ini disarankan untuk penelitian berikutnya.

5. Daftar Pustaka [1] Davis, L. (1992). Hand Book of Genetic Algorithm. New York, Van Nostrand Reinhold.

[2] Desiani, Anita. (2006). Konsep Kecerdasan Buatan. Yogyakarta, Andi Offset.

[3] Gen, M. Dan Cheng, R. (1997). Genetic Algoritm and Enginering Design, Ashikaga Institute of Technology

Ashikaga. Japan, A Wiley-Interscience Publication, John Wiley & Sons, Inc.

[4] Golberg, D.H. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. New York, Addison-

Wesley.

[5] Kusumadewi, Sri. (2003). Artificial Intelligence (Teknik & Aplikasinya). Yogyakarta, Graha Ilmu.

[6] Man, K.F., Tang, K.S., and Kwong, S. (1996). Genetic Algorithms: Conceps and Applications. IEEE Transactions on

Industrial Electronics, Vol. 43, No.5, pp: 519-534.

[7] Prasetyo, Dwi, Didik. (2007). 150 Rahasia Pemrograman Java. Jakarta: Elex Media Komputindo.

[8] Sutopo, Hadi, Ariestro. (2002). Analisa dan Desain Berorientasi Objek. Yogyakarta, J & J Learning.

[9] Tackett, W. A., 1994, Recombination, Selection, and the Genetic Construction of Computer Programs, Ph.D. thesis,

University of Southern California, Department of Computer Engineering

[10] Winston, P. H. (1992). Artificial Intelligence. Boston, Addison-Wisley.