APLIKASI PENYUSUNAN
GENETIK PADA SEKOLAH
MULIA TANGERANG
Universitas Budi
Telp. (021) 5853753, Fax. (021) 5866369 E-mail : [email protected]
Penyusunan jadwal pada suatu sekolah mer
biasa dilakukan dengan “tangan” dan membutuhkan waktu yang cukup lama untuk menyusunnya. Selain itu, tinjauan ulang terhadap jadwal yang terbentuk juga biasanya dilakukan berkali
faktor dan parameter tertentu. Untuk itulah penulis mengusulkan sebuah penyelesaian yang cukup efektif yaitu menggunakan sebuah sistem cerdas untuk menyusun jadwal dengan menggunakan Algoritma Genetik sub dari Kecerdasan Tiruan sebagai otak inti dari sistem ter
algoritma pencarian yang berbasis pada mekanisme seleksi alam dan genetik pada suatu makhluk hidup. Dalam proses evolusi, individu secara terus
dengan lingkungan hidupnya dan hanya individu
alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan. Dalam Algoritma Genetik, proses perkembangbiakan ini menjadi proses dasar yang me
utama, dengan dasar pemikiran bagaimana mendapatkan keturunan yang lebih baik. Algoritma ini bekerja dengan sebuah populasi yang terdiri dari individu
mempresentasikan sebuah solusi yang mungkin menjadi
dilambangkan dengan sebuah nilai fitness yang akan digunakan untuk mencari solusi terbaik dari persoalan yang ada. Sebelum Algoritma Genetik dapat dijalankan, maka sebuah kode yang sesuai (representatif) untuk persoalan harus dirancang. Untuk itu titik solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri atas komponen genetik terkecil yaitu gen. Kemudian untuk menghasilkan keturunan dilakukan reproduksi, pindah silang, dan mutasi
data asli dari setiap jurusan yang ada, sistem ini tidak akan mengalami kesulitan dalam melakukan pembagian kelompok kelas dan tentu saja memiliki performa yang jauh lebih baik jika dibandingkan dengan penyusunan kelompok kelas belajar secara manual. Sistem ini juga dilengkapi dengan tampilan yang elegan dan mudah digunakan sehingga pengguna dalam hal ini staff tata usaha dapat merasa nyaman.
Kata Kunci : Algoritma Genetik, Kecerdasan Tiruan, Penyusunan Jadwal
I. PENDAHULUAN
Penyusunan jadwal dalam suatu institusi pendidikan selalu dilakukan bersamaan dengan bergantinya tahun ajaran. Proses penyusunan jadwal pada SMK Budi Mulia Tangerang masih bersifat semi komputerisasi. Hal ini dapat membuat proses penyusunan jadwal membutuhkan waktu y
Algoritma Genetik adalah salah satu solusi untuk mempermudah penyusunan jadwal. Batasan masalah yang diambil adalah guru dapat mengajar lebih dari satu mata pelajaran. Guru dapat memilih hari untuk mengajar. Kegiatan belajar mengajar berlangsung dari hari Senin sampai hari Sabtu setiap pekan. Dalam satu hari terdapat 7 jam pelajaran kecuali hari Senin dan Jumat. Alokasi waktu untuk setiap mata pelajaran setiap pekan diatur dalam kurikulum sesuai jenjang dan jurusan. Maksimal jam pelajaran da
setiap mata pelajaran adalah 2 jam pelajaran.
II. Landasan Teori
APLIKASI PENYUSUNAN JADWAL DENGAN ALGORI
GENETIK PADA SEKOLAH MENENGAH KEJURUAN BU
MULIA TANGERANG
Windarto1, Bima Sukma Wijaya2
12
Fakultas Teknologi Informasi Universitas Budi Luhur, Jakarta, 12260 Telp. (021) 5853753, Fax. (021) 5866369
[email protected] , [email protected]
Abstrak
Penyusunan jadwal pada suatu sekolah merupakan permasalahan yang cukup kompleks, kegiatan ini biasa dilakukan dengan “tangan” dan membutuhkan waktu yang cukup lama untuk menyusunnya. Selain itu, tinjauan ulang terhadap jadwal yang terbentuk juga biasanya dilakukan
berkali-r dan paberkali-rameteberkali-r teberkali-rtentu. Untuk itulah penulis mengusulkan sebuah penyelesaian yang cukup efektif yaitu menggunakan sebuah sistem cerdas untuk menyusun jadwal dengan menggunakan Algoritma Genetik sub dari Kecerdasan Tiruan sebagai otak inti dari sistem tersebut. Algoritma Genetik adalah suatu algoritma pencarian yang berbasis pada mekanisme seleksi alam dan genetik pada suatu makhluk hidup. Dalam proses evolusi, individu secara terus-menerus mengalami perubahan gen untuk menyesuaikan nya dan hanya individu-individu yang kuat yang mampu bertahan. Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan. Dalam Algoritma Genetik, proses perkembangbiakan ini menjadi proses dasar yang me
utama, dengan dasar pemikiran bagaimana mendapatkan keturunan yang lebih baik. Algoritma ini bekerja dengan sebuah populasi yang terdiri dari individu-individu, yang
masing-mempresentasikan sebuah solusi yang mungkin menjadi persoalan yang ada. Dalam kaitan ini, individu dilambangkan dengan sebuah nilai fitness yang akan digunakan untuk mencari solusi terbaik dari persoalan yang ada. Sebelum Algoritma Genetik dapat dijalankan, maka sebuah kode yang sesuai k persoalan harus dirancang. Untuk itu titik solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri atas komponen genetik terkecil yaitu gen. Kemudian untuk menghasilkan keturunan dilakukan reproduksi, pindah silang, dan mutasi. Dengan menggunakan data asli dari setiap jurusan yang ada, sistem ini tidak akan mengalami kesulitan dalam melakukan pembagian kelompok kelas dan tentu saja memiliki performa yang jauh lebih baik jika dibandingkan dengan secara manual. Sistem ini juga dilengkapi dengan tampilan yang elegan dan mudah digunakan sehingga pengguna dalam hal ini staff tata usaha dapat merasa nyaman.
Algoritma Genetik, Kecerdasan Tiruan, Penyusunan Jadwal
jadwal dalam suatu institusi pendidikan selalu dilakukan bersamaan dengan bergantinya tahun ajaran. Proses penyusunan jadwal pada SMK Budi Mulia Tangerang masih bersifat semi komputerisasi. Hal ini dapat membuat proses penyusunan jadwal membutuhkan waktu y
Algoritma Genetik adalah salah satu solusi untuk mempermudah penyusunan jadwal. Batasan masalah yang diambil adalah guru dapat mengajar lebih dari satu mata pelajaran. Guru dapat memilih hari untuk mengajar. gsung dari hari Senin sampai hari Sabtu setiap pekan. Dalam satu hari terdapat 7 jam pelajaran kecuali hari Senin dan Jumat. Alokasi waktu untuk setiap mata pelajaran setiap pekan diatur dalam kurikulum sesuai jenjang dan jurusan. Maksimal jam pelajaran da lam satu hari untuk setiap mata pelajaran adalah 2 jam pelajaran.
JADWAL DENGAN ALGORITMA
MENENGAH KEJURUAN BUDI
upakan permasalahan yang cukup kompleks, kegiatan ini biasa dilakukan dengan “tangan” dan membutuhkan waktu yang cukup lama untuk menyusunnya. Selain -kali karena suatu r dan parameter tertentu. Untuk itulah penulis mengusulkan sebuah penyelesaian yang cukup efektif yaitu menggunakan sebuah sistem cerdas untuk menyusun jadwal dengan menggunakan Algoritma Genetik sebut. Algoritma Genetik adalah suatu algoritma pencarian yang berbasis pada mekanisme seleksi alam dan genetik pada suatu makhluk hidup. menerus mengalami perubahan gen untuk menyesuaikan individu yang kuat yang mampu bertahan. Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan. Dalam Algoritma Genetik, proses perkembangbiakan ini menjadi proses dasar yang menjadi perhatian utama, dengan dasar pemikiran bagaimana mendapatkan keturunan yang lebih baik. Algoritma ini bekerja -masing individu persoalan yang ada. Dalam kaitan ini, individu dilambangkan dengan sebuah nilai fitness yang akan digunakan untuk mencari solusi terbaik dari persoalan yang ada. Sebelum Algoritma Genetik dapat dijalankan, maka sebuah kode yang sesuai k persoalan harus dirancang. Untuk itu titik solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri atas komponen genetik terkecil yaitu gen. Kemudian . Dengan menggunakan data asli dari setiap jurusan yang ada, sistem ini tidak akan mengalami kesulitan dalam melakukan pembagian kelompok kelas dan tentu saja memiliki performa yang jauh lebih baik jika dibandingkan dengan secara manual. Sistem ini juga dilengkapi dengan tampilan yang elegan dan mudah digunakan sehingga pengguna dalam hal ini staff tata usaha dapat merasa nyaman.
jadwal dalam suatu institusi pendidikan selalu dilakukan bersamaan dengan bergantinya tahun ajaran. Proses penyusunan jadwal pada SMK Budi Mulia Tangerang masih bersifat semi komputerisasi. Hal ini dapat membuat proses penyusunan jadwal membutuhkan waktu yang cukup lama. Algoritma Genetik adalah salah satu solusi untuk mempermudah penyusunan jadwal. Batasan masalah yang diambil adalah guru dapat mengajar lebih dari satu mata pelajaran. Guru dapat memilih hari untuk mengajar. gsung dari hari Senin sampai hari Sabtu setiap pekan. Dalam satu hari terdapat 7 jam pelajaran kecuali hari Senin dan Jumat. Alokasi waktu untuk setiap mata pelajaran setiap lam satu hari untuk
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
buatan) dapat diformulasikan ke dalam terminologi genetik. Algoritma Genetik adalah proses simulasi dari proses evolusi Darwin dan operasi genetik atas kromosom [
Tabel 1: Perbandingan Istilah pada Sistem Alamiah denga
Sistem Alamiah
Kromosom String
Gen Fitur, Karakter atau Detektor
Allel Nilai Fitur
Locus Posisi String
Genotip Struktur
Fenotip Set Parameter, Solusi Alternatif, Struktur yang di Epitasis Non Linieritas
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
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 prose 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:
Mulai
Populasi Awal
Evaluasi Fitness
Gambar 1: Diagram Alir Algoritma Genetik
Struktur umum dari suatu Algoritma Genetik dapat berikut:
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
Algoritma Genetik String
Fitur, Karakter atau Detektor Nilai Fitur
Posisi String Struktur
Set Parameter, Solusi Alternatif, Struktur yang di-decode Non Linieritas
Beberapa definisi penting dalam Algoritma Genetik, yaitu:
(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
, maupun karakter.
Kromosom adalah gabungan dari gen-gen yang membentuk nilai tertentu.
Individu menyatakan satu nilai dari keadaan yang menyatakan salah satu siklus proses evolusi. Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus prose Generasi menyatakan satuan siklus proses evolusi.
menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan.
Algoritma Genetik secara umum dapat diilustrasikan dalam diagram alir yang dapat dilihat pada
Keriteria Berhenti Terpenuhi ? Mutasi Crossover Seleksi Hasil Selesai Tidak Ya
Gambar 1: Diagram Alir Algoritma Genetik
Struktur umum dari suatu Algoritma Genetik dapat didefinisikan dengan langkah
Algoritma Genetik pertama kali dikembangkan oleh John Holland dari Universitas Michigan pada berbentuk adaptasi (alami maupun buatan) dapat diformulasikan ke dalam terminologi genetik. Algoritma Genetik adalah proses simulasi dari
n Algoritma Genetik
(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
Individu menyatakan satu nilai dari keadaan yang menyatakan salah satu siklus proses evolusi.
Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan.
Algoritma Genetik secara umum dapat diilustrasikan dalam diagram alir yang dapat dilihat pada
Populasi awal ini dibangkitkan secara
terdiri dari sejumlah kromosom yang mempresentasikan solusi yang diinginkan. 2. Membentuk generasi baru
Dalam membentuk generasi baru digunakan tiga operator yaitu operator reproduksi/seleksi, dan mutasi. Proses ini dilakukan berulang
untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru. 3. Evaluasi solusi
Proses ini akan mengevaluasi setiap p
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 berubah.
c) Berhenti bila dalam n generasi berikut tidak didapatkan nilai
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 G
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
pohon, array bilangan real, daftar aturan, eleme 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
3. Evaluasi fitness
Evaluasi fitness merupakan dasar untuk proses seleksi. Langkah
parameter fungsi, fungsi objektifnya dievaluasi, kemudian mengubah fungsi objektif tersebut ke dalam fungsi fitness. Dimana untuk maksimalisasi problem,
fungsi fitness dipergunakan sebagai dasar untuk menseleksi individu pada generasi berikutnya. Untuk permasalahan minimalisasi, nilai fitness
dapat dilakukan dengan:
Keterangan:
A : Konstanta yang ditentukan X : Individu (kromosom)
ℯ : Bilangan kecil yang ditentukan untuk menghindari pembagi nol atau f(x) = 0 4. Seleksi
Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri dari sejumlah kromosom yang mempresentasikan solusi yang diinginkan.
Dalam membentuk generasi baru digunakan tiga operator yaitu operator reproduksi/seleksi,
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.
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
Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness generasi berikut tidak didapatkan nilai fitness yang lebih tinggi.
komponen utama Algoritma Genetik [8]:
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 G
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
, daftar aturan, elemen permutasi, elemen program, atau representasi lainnya yang dapat diimplementasikan untuk operator genetik.
Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetik yang akan ah 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.
merupakan dasar untuk proses seleksi. Langkah-langkahnya yaitu string
parameter fungsi, fungsi objektifnya dievaluasi, kemudian mengubah fungsi objektif tersebut ke dalam maksimalisasi problem, fitness sama dengan fungsi objektifnya. Output dari dipergunakan sebagai dasar untuk menseleksi individu pada generasi berikutnya. Untuk fitness adalah inversi dari nilai minimal yang diharapkan. Proses inversi
: Bilangan kecil yang ditentukan untuk menghindari pembagi nol atau f(x) = 0
random sehingga didapatkan solusi awal. Populasi itu sendiri
Dalam membentuk generasi baru digunakan tiga operator yaitu operator reproduksi/seleksi, crossover, ulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru.
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
fitness tertinggi tidak yang lebih tinggi.
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, n permutasi, elemen program, atau representasi lainnya
Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetik yang akan ah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom yang terdapat pada populasi tersebut. Inisialisasi kromosom dilakukan secara acak, namun
ada.
string dikonversi ke parameter fungsi, fungsi objektifnya dievaluasi, kemudian mengubah fungsi objektif tersebut ke dalam sama dengan fungsi objektifnya. Output dari dipergunakan sebagai dasar untuk menseleksi individu pada generasi berikutnya. Untuk diharapkan. Proses inversi
Seleksi ini bertujuan untuk memberikan
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
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
parameter genetik menentukan penampilan kinerja Algoritma Genetik dalam memecahkan masalah. Ada dua parameter dasar dari Algoritma Genetik, yaitu probabilitas
(pm).
Probabilitas crossover menyatakan seberapa sering pro kromosom orang tua. Jika tidak terjadi
yang sama dan di duplikasi menjadi anak. Jika terjadi kromosom orang tua. Jika probabilitas
crossover. Jika probabilitas crossover 0% maka generasi baru dibuat dari salinan kromosom populasi lama yang belum tentu menghasilkan populasi yang sama denga
adanya penekanan selektif. Probabilitas mutasi menyatakan seberapa sering bagian dimutasikan. Jika tidak ada mutasi, keturunan diambil/disalin langsung setelah
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
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 a
dalam populasi, untuk menghindari konvergensi premature. Parameter lain yang juga ikut menentukan efisiensi kinerja Algoritma Genetik adalah ukuran populasi (
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 men
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
sebagai indikator, maka Greferstette merekomendasikan: ( fitness dari individu terbaik dipantau pada setiap generasi, maka
0,45; 0,01). (d) Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis permasalahan. Seleksi ini bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling baik. Ada beberapa metode seleksi dari induk, antara lain:
crossover dan mutasi. Crossover (perkawinan silang) bertujuan menambah dalam satu populasi. Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom.
Penetuan parameter kontrol Algoritma Genetik
Kontrol parameter genetik diperlukan untuk mengendalikan operator-operator seleksi. Pemilihan rameter genetik menentukan penampilan kinerja Algoritma Genetik dalam memecahkan masalah. Ada dua parameter dasar dari Algoritma Genetik, yaitu probabilitas crossover (pc) dan probabilitas mutasi
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
rang tua. Jika probabilitas crossover 100% maka keseluruhan keturunan dibuat dengan 0% maka generasi baru dibuat dari salinan kromosom
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
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, as mutasi diset untuk mendapatkan rata-rata satu mutasi per kromosom, yaitu angka/
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 alu sedikit kromosom dalam populasi, Algoritma Genetik mempunyai kemungkinan dan hanya sebagian kecil dari ruang pencarian yang dieksplorasi. Sebaliknya, jika terlalu banyak jumlah kromosom, Algoritma Genetik cenderung menjadi lambat dalam 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 ; pc; pm) = (50; 0,6; 0,001). (b) Bila rata-rata fitness setiap generasi digunakan merekomendasikan: (popsize; pc; pm) = (30; 0,95; 0,01). (c) Bila dari individu terbaik dipantau pada setiap generasi, maka usulannya adalah: (popsize
0,45; 0,01). (d) Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis permasalahan. kesempatan reproduksi yang lebih besar bagi anggota populasi
(perkawinan silang) bertujuan menambah dalam satu populasi. Mutasi merupakan proses mengubah nilai dari satu atau
operator seleksi. Pemilihan rameter genetik menentukan penampilan kinerja Algoritma Genetik dalam memecahkan masalah. Ada (pc) dan probabilitas mutasi
akan terjadi antara dua , satu orang tua dipilih secara random dengan probabilitas , keturunan dibuat dari bagian-bagian 100% maka keseluruhan keturunan dibuat dengan 0% maka generasi baru dibuat dari salinan kromosom-kromosom dari n populasi sebelumnya karena bagian kromosom akan crossover tanpa perubahan. bagian kromosom dibuah. Jika probabilitas mutasi 100%, keseluruhan Probabilitas mutasi dalam Algoritma Genetik seharusnya diberi nilai yang kecil. Umumnya, rata satu mutasi per kromosom, yaitu angka/allel = 1/panjang kromosom. Kemudian, hasil yang sudah pernah dicoba menunjukkan bahwa angka probabilitas dalah menjaga perbedaan kromosom dalam populasi, untuk menghindari konvergensi premature. Parameter lain yang juga ikut menentukan ), yaitu banyaknya kromosom dalam alu sedikit kromosom dalam populasi, Algoritma Genetik mempunyai kemungkinan dan hanya sebagian kecil dari ruang pencarian yang dieksplorasi. jadi lambat dalam 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 setiap generasi digunakan ; pc; pm) = (30; 0,95; 0,01). (c) Bila popsize; pc; pm) = (80; 0,45; 0,01). (d) Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis permasalahan.
III. RANCANGAN SISTEM DAN APLIKASI 3.1. Identifikasi Masalah
Permasalahan yang dihadapi saat ini adalah proses
Mulia masih menggunakan cara manual. Jumlah data yang cukup banyak menyebabkan proses berlangsung rumit, membutuhkan waktu yang relatif lama, dan sulit untuk mengetahui kesalahan
3.2.3.2 Pemecahan Masalah
Solusi dari identifikasi masalah yang telah dikemukakan diatas yaitu dengan memanfaatkan Algoritma Genetik untuk diterapkan pada aplikasi penyusunan jadwal secara otomatis. Dengan aplikasi yang dibangun menggunakan Algoritma Genetik ini diharapkan
penyusunan jadwal dengan lebih cepat dan mudah. Hal ini dikarenakan aplikasi ini dapat memproses penyusunan jadwal berdasarkan jenjang, jurusan dan tahun ajaran, mampu menginput mata pelajaran, guru, kelas serta kurikulum baru.
3.3. Rancangan Basis Data
Berikut ini adalah Logical Record Structure yang menggambarkan mengenai hubungan antar tabel yang saling terkait pada database yang digunakan untuk pengembangan aplikasi penyusunan jadwal ini.
Pelajaran *Kode_Pelajaran Nama_Pelajaran Detail_Guru _Pelajaran *Kode_Guru *Kode_Pelajaran Guru *Kode_Guru Nama_Guru Kode_Pelajaran Kode_Hari Detail_Guru_Hari *Kode_Guru *Kode_Hari Hari *Kode_Hari Keterangan Slot_Waktu *Kode_Waktu Keterangan Kode_Hari Gambar
Flowchart Algoritma Genetik
Gambar dibawah ini merupakan
penyusunan jadwal pelajaran di SMK Budi Mulia Tangerang:
RANCANGAN SISTEM DAN APLIKASI
Permasalahan yang dihadapi saat ini adalah proses penyusunan jadwal pelajaran pada SMK Budi Mulia masih menggunakan cara manual. Jumlah data yang cukup banyak menyebabkan proses berlangsung rumit, membutuhkan waktu yang relatif lama, dan sulit untuk mengetahui kesalahan-kesalahan yang ada.
Solusi dari identifikasi masalah yang telah dikemukakan diatas yaitu dengan memanfaatkan Algoritma Genetik untuk diterapkan pada aplikasi penyusunan jadwal secara otomatis. Dengan aplikasi yang dibangun menggunakan Algoritma Genetik ini diharapkan para staff tata usaha dapat melakukan penyusunan jadwal dengan lebih cepat dan mudah. Hal ini dikarenakan aplikasi ini dapat memproses penyusunan jadwal berdasarkan jenjang, jurusan dan tahun ajaran, mampu menginput mata pelajaran, guru,
Berikut ini adalah Logical Record Structure yang menggambarkan mengenai hubungan antar tabel yang saling terkait pada database yang digunakan untuk pengembangan aplikasi penyusunan jadwal ini.
Pelajaran Pelajaran Pelajaran Kurikulum *Kurikulum Alokasi_Waktu Kode_Pelajaran Kode_Jenjang Kode_Jurusan Kode_Semester Jenjang *Kode Keterangan Jurusan *Kode_Jurusan Keterangan Semester *Kode_Semester Ketarangan Kelas *Kode Grup Kode Kode Slot_Pelajaran *Kode_Slot Waktu Kode_Guru Kode_Kurikulum Kode_Semester Kode_Kelas Pelajaran Pelajaran Guru Guru Guru Pelajaran Hari Waktu Waktu Keterangan Hari Jadwal *Kode_Slot *Kode_Waktu *Kode_Thn_Ajar Thn *Kode_Thn Keterangan
Gambar 1: Logical Record Structure
Gambar dibawah ini merupakan diagram alir dari Algoritma Genetik yang digunakan pada aplikasi penyusunan jadwal pelajaran di SMK Budi Mulia Tangerang:
penyusunan jadwal pelajaran pada SMK Budi Mulia masih menggunakan cara manual. Jumlah data yang cukup banyak menyebabkan proses berlangsung
kesalahan yang ada.
Solusi dari identifikasi masalah yang telah dikemukakan diatas yaitu dengan memanfaatkan Algoritma Genetik untuk diterapkan pada aplikasi penyusunan jadwal secara otomatis. Dengan aplikasi para staff tata usaha dapat melakukan penyusunan jadwal dengan lebih cepat dan mudah. Hal ini dikarenakan aplikasi ini dapat memproses penyusunan jadwal berdasarkan jenjang, jurusan dan tahun ajaran, mampu menginput mata pelajaran, guru,
Berikut ini adalah Logical Record Structure yang menggambarkan mengenai hubungan antar tabel yang saling terkait pada database yang digunakan untuk pengembangan aplikasi penyusunan jadwal ini.
Jenjang Kode_Jenjang Keterangan Kelas Kode_Kelas Kode_Jurusan Kode_Jenjang Thn_Ajar Thn_Ajar Keterangan
START
buat populasi awal dengan ukuran n x1, x2 , …, xn
seleksi dua kromosom dari populasi untuk reproduksi
berdasarkan probabilitas mutasi, lakukan mutasi pada
kedua keturunan
lakukan strategi perbaikan pada kedua keturunan berdasarkan probabilitas
persilangan, lakukan persilangan
Gambar 3: Flowchart Algoritma Genetik
IV. HASIL DAN PEMBAHASAN 4.1.Implementasi Program
Implementasi sistem berguna untuk mengetahui apakah sistem yang telah dibuat dapat berjalan secara maksimal, untuk itu maka program tersebut harus
sesuai dengan yang diharapkan pada saat implementasi nantinya.
4.2.Tampilan Layar
Berikut ini adalah beberapa tampilan layar aplikasi penyusunan jadwal dengan Algoritma Genetik.
a. Tampilan Layar Form Entry Master Kurikulum
Dibawah ini adalah tampilan dari form entri master kurikulum, dimana terdapat dua buah tab pada form ini. Tab pertama digunakan untuk menentukan jenjang pendidikan, jurusan atau peminatan dan untuk menentukan kurikulum semester yang
pemilihan nama mata pelajaran, status mata pelajaran, dan alokasi waktu untuk mata pelajaran.
Gambar 4. 1: Tampilan Layar Form Entry Master Kurikulum (TAB Entry Data 2)
buat populasi awal dengan evaluasi nilai fitnesssetiap kromosom f(x1), f(x2), … ,
f(xn)
buang setengah populasi kromosom dengan
terburuk memenuhi
kriteria?
seleksi dua kromosom dari populasi untuk reproduksi
lakukan strategi perbaikan pada kedua keturunan
evaluasi nilai fitnesspada kedua keturunan populasi penuh?
masukkan kembali kedua keturunan ke dalam populasi
True
False
False
True
Gambar 3: Flowchart Algoritma Genetik
Implementasi sistem berguna untuk mengetahui apakah sistem yang telah dibuat dapat berjalan secara maksimal, untuk itu maka program tersebut harus diuji dahulu mengenai kemampuannya agar dapat berjalan sesuai dengan yang diharapkan pada saat implementasi nantinya.
Berikut ini adalah beberapa tampilan layar aplikasi penyusunan jadwal dengan Algoritma Genetik.
Entry Master Kurikulum
Dibawah ini adalah tampilan dari form entri master kurikulum, dimana terdapat dua buah tab pada form ini. Tab pertama digunakan untuk menentukan jenjang pendidikan, jurusan atau peminatan dan untuk menentukan kurikulum semester yang akan dibuat. Sementara pada tab kedua digunakan untuk pemilihan nama mata pelajaran, status mata pelajaran, dan alokasi waktu untuk mata pelajaran.
: Tampilan Layar Form Entry Master Kurikulum (TAB Entry Data 2)
buang setengah populasi kromosom dengan fitness
terburuk
masukkan kembali kedua keturunan ke dalam populasi
END True
Implementasi sistem berguna untuk mengetahui apakah sistem yang telah dibuat dapat berjalan secara diuji dahulu mengenai kemampuannya agar dapat berjalan
Berikut ini adalah beberapa tampilan layar aplikasi penyusunan jadwal dengan Algoritma Genetik.
Dibawah ini adalah tampilan dari form entri master kurikulum, dimana terdapat dua buah tab pada form ini. Tab pertama digunakan untuk menentukan jenjang pendidikan, jurusan atau peminatan dan untuk akan dibuat. Sementara pada tab kedua digunakan untuk pemilihan nama mata pelajaran, status mata pelajaran, dan alokasi waktu untuk mata pelajaran.
b. Tampilan Layar Form Create Slot Pelajaran
Form ini juga memiliki dua buah tab. Tab pertama digunakan untuk menentukan kelas dan semester slot pelajaran yang akan dibuat sementara tab kedua digunakan untuk memilih nama guru yang akan mengajar beserta mata pelajaran dan alokasi waktunya.
Gambar 4. 2: Tampilan Layar
c. Tampilan Layar Form Buat Jadwal
Pada tampilan layar form buat jadwal pengguna akan diminta untuk memasukkan
atau populasi dan jumlah generasi, serta memilih tahun ajaran dan semester yang akan dibuatkan jadwalnya.
Gambar 14: Tampilan Layar Form Buat Jadwal
d. Tampilan Layar Form Lihat Jadwal
Form ini digunakan untuk melihat hasil penyusunan
melihat hasil penjadwalan setelah memilih tahun ajaran dan semester yang akan ditampilkan jadwalnya. Pengguna juga dapat mencetak jadwal yang ditampilkan.
Tampilan Layar Form Create Slot Pelajaran
Form ini juga memiliki dua buah tab. Tab pertama digunakan untuk menentukan kelas dan semester slot pelajaran yang akan dibuat sementara tab kedua digunakan untuk memilih nama guru yang akan
ta pelajaran dan alokasi waktunya.
: Tampilan Layar Form Create Slot Pelajaran (TAB Entry Data 2)
Tampilan Layar Form Buat Jadwal
Pada tampilan layar form buat jadwal pengguna akan diminta untuk memasukkan jumlah kromosom atau populasi dan jumlah generasi, serta memilih tahun ajaran dan semester yang akan dibuatkan
Gambar 14: Tampilan Layar Form Buat Jadwal
Tampilan Layar Form Lihat Jadwal
Form ini digunakan untuk melihat hasil penyusunan jadwal yang telah berhasil dibuat. Pengguna dapat melihat hasil penjadwalan setelah memilih tahun ajaran dan semester yang akan ditampilkan jadwalnya. Pengguna juga dapat mencetak jadwal yang ditampilkan.
Form ini juga memiliki dua buah tab. Tab pertama digunakan untuk menentukan kelas dan semester slot pelajaran yang akan dibuat sementara tab kedua digunakan untuk memilih nama guru yang akan
Create Slot Pelajaran (TAB Entry Data 2)
Pada tampilan layar form buat jadwal pengguna akan diminta untuk memasukkan jumlah kromosom atau populasi dan jumlah generasi, serta memilih tahun ajaran dan semester yang akan dibuatkan
jadwal yang telah berhasil dibuat. Pengguna dapat melihat hasil penjadwalan setelah memilih tahun ajaran dan semester yang akan ditampilkan
Gambar 15: Tampilan Layar Form Lihat Kelompok
4.3.Evaluasi Program
Evaluasi program merupakan salah satu hal yang perlu dilakukan dalam setiap pengembangan aplikasi guna menganalisa dan mengetahui hasil yang telah dicapai oleh aplikasi yang dikembangkan tersebut. Demikian juga pada aplikasi ini, maka dila
dan kekuranan program yang dilihat dari beberapa kondisi dan situasi. Adapun kelebihan dan kekurangan pada aplikasi yang dikembangkan adalah sebagai berikut:
a. Kelebihan Program
§ Salah satu kendala dalam penerapan algoritma genetik adalah waktu proses. Penerapan algoritma yang tidak tepat dapat memperlambat waktu pencarian solusi. Pada aplikasi penyusunan jadwal ini, waktu proses menjadi salah satu perhatian utama. Berbagai cara telah diterapkan untu mempercepat waktu proses, salah satunya adalah dengan memodifikasi beberapa kelas tertentu. Alhasil, aplikasi ini memiliki waktu proses yang cukup cepat.
§ Aplikasi ini tidak membutuhkan persyaratan sistem yang canggih.
§ Desain antarmuka pengguna yang menar b. Kekurangan Program
§ Kesalahan inputan data guru dan mata pelajaran dapat memperlambat proses penyusunan jadwal.
V. KESIMPULAN
Setelah membahas dan mengkaji aplikasi ini sampai dengan memberikan sebuah solusi tentang penyusunan jadwal secara otomatis, maka dapat ditarik beberapa kesimpulan diantaranya adalah sebagai berikut:
a. Diharapkan dengan penerapan aplikasi yang dapat menyusun jadwal pelajaran secara otomatis akan meminimalkan kesalahan-kesalahan saat proses penyusunan jadwal
dengan jika dilakukan dengan cara manual, sehingga dapat mempercepat proses penyusunan jadwal pelajaran tiap kelas dan jurusan dan dapat menggantikan proses
manual.
b. Sistem ini masih memiliki kelemahan yaitu apabila terdapat kesalahan data yang dimasukkan akan mempengaruhi waktu proses hingga menjadi lebih lama, untuk itu disarankan memeriksa keabsahan data yang akan dimasukkan agar tidak memperlambat proses penyusunan jadwal oleh system ini.
Gambar 15: Tampilan Layar Form Lihat Kelompok
Evaluasi program merupakan salah satu hal yang perlu dilakukan dalam setiap pengembangan aplikasi guna menganalisa dan mengetahui hasil yang telah dicapai oleh aplikasi yang dikembangkan juga pada aplikasi ini, maka dilakukan evaluasi tersebut ditemukan beberapa kelebihan dan kekuranan program yang dilihat dari beberapa kondisi dan situasi. Adapun kelebihan dan kekurangan pada aplikasi yang dikembangkan adalah sebagai berikut:
dalam penerapan algoritma genetik adalah waktu proses. Penerapan algoritma yang tidak tepat dapat memperlambat waktu pencarian solusi. Pada aplikasi penyusunan jadwal ini, waktu proses menjadi salah satu perhatian utama. Berbagai cara telah diterapkan untu mempercepat waktu proses, salah satunya adalah dengan memodifikasi beberapa kelas tertentu. Alhasil, aplikasi ini memiliki waktu proses yang cukup cepat.
Aplikasi ini tidak membutuhkan persyaratan sistem yang canggih. Desain antarmuka pengguna yang menarik dan mudah digunakan.
Kesalahan inputan data guru dan mata pelajaran dapat memperlambat proses penyusunan jadwal.
Setelah membahas dan mengkaji aplikasi ini sampai dengan memberikan sebuah solusi tentang wal secara otomatis, maka dapat ditarik beberapa kesimpulan diantaranya adalah sebagai Diharapkan dengan penerapan aplikasi yang dapat menyusun jadwal pelajaran secara otomatis akan kesalahan saat proses penyusunan jadwal pelajaran yang sering terjadi cara manual, sehingga dapat mempercepat proses penyusunan jadwal pelajaran tiap kelas dan jurusan dan dapat menggantikan proses penyusunan jadwal pelajaran
kelemahan yaitu apabila terdapat kesalahan data yang dimasukkan akan mempengaruhi waktu proses hingga menjadi lebih lama, untuk itu disarankan memeriksa keabsahan data yang akan dimasukkan agar tidak memperlambat proses penyusunan jadwal oleh system ini. Evaluasi program merupakan salah satu hal yang perlu dilakukan dalam setiap pengembangan aplikasi guna menganalisa dan mengetahui hasil yang telah dicapai oleh aplikasi yang dikembangkan kukan evaluasi tersebut ditemukan beberapa kelebihan dan kekuranan program yang dilihat dari beberapa kondisi dan situasi. Adapun kelebihan dan kekurangan
dalam penerapan algoritma genetik adalah waktu proses. Penerapan algoritma yang tidak tepat dapat memperlambat waktu pencarian solusi. Pada aplikasi penyusunan jadwal ini, waktu proses menjadi salah satu perhatian utama. Berbagai cara telah diterapkan untuk mempercepat waktu proses, salah satunya adalah dengan memodifikasi beberapa kelas tertentu.
Kesalahan inputan data guru dan mata pelajaran dapat memperlambat proses penyusunan jadwal.
Setelah membahas dan mengkaji aplikasi ini sampai dengan memberikan sebuah solusi tentang wal secara otomatis, maka dapat ditarik beberapa kesimpulan diantaranya adalah sebagai Diharapkan dengan penerapan aplikasi yang dapat menyusun jadwal pelajaran secara otomatis akan pelajaran yang sering terjadi cara manual, sehingga dapat mempercepat proses penyusunan jadwal penyusunan jadwal pelajaran secara kelemahan yaitu apabila terdapat kesalahan data yang dimasukkan akan mempengaruhi waktu proses hingga menjadi lebih lama, untuk itu disarankan memeriksa keabsahan data yang akan dimasukkan agar tidak memperlambat proses penyusunan jadwal oleh system ini.
DAFTAR PUSTAKA
[1] Davis, L. (1992). Hand Book of Genetic Algorithm [2] Desiani, Anita. (2006). Konsep Kecerdasan Buatan [3] Gen, M. Dan Cheng, R. (1997).
Technology Ashikaga. Japan, A Wiley
[4] Golberg, D.H. (1989). Genetic Algorithms in Search, Optimization, and Machine Learning Addison-Wesley.
[5] Kusumadewi, Sri. (2003). Artificial Intelligence (Teknik & Aplikasinya) [6] Man, K.F., Tang, K.S., and Kwong, S.
Transactions on Industrial Electronics, Vol. 43, No.5, p [7] Prasetyo, Dwi, Didik. (2007). 150 Rahasia Pemrograman Java
[8] Sutopo, Hadi, Ariestro. (2002). Analisa dan Desain Berorientasi Objek [9] Tackett, W. A., 1994, Recombination, Selection, and t
Ph.D. thesis, University of Southern California, Department of Computer Engineering [10] Winston, P. H. (1992). Artificial Intelligence
Davis, L. (1992). Hand Book of Genetic Algorithm. New York, Van Nostrand Reinhold. Konsep Kecerdasan Buatan. Yogyakarta, Andi Offset.
). Genetic Algoritm and Enginering Design, Ashikaga Institute of Japan, A Wiley-Interscience Publication, John Wiley & Sons, Inc.
Genetic Algorithms in Search, Optimization, and Machine Learning
Artificial Intelligence (Teknik & Aplikasinya). Yogyakarta, Graha Ilmu. Man, K.F., Tang, K.S., and Kwong, S. (1996). Genetic Algorithms: Conceps and Applications Transactions on Industrial Electronics, Vol. 43, No.5, pp: 519-534.
150 Rahasia Pemrograman Java. Jakarta: Elex Media Komputindo. Analisa dan Desain Berorientasi Objek. Yogyakarta, J & J Learning. Tackett, W. A., 1994, Recombination, Selection, and the Genetic Construction of Computer Programs, Ph.D. thesis, University of Southern California, Department of Computer Engineering
Artificial Intelligence. Boston, Addison-Wisley.
New York, Van Nostrand Reinhold.
Genetic Algoritm and Enginering Design, Ashikaga Institute of Interscience Publication, John Wiley & Sons, Inc.
Genetic Algorithms in Search, Optimization, and Machine Learning. New York, Yogyakarta, Graha Ilmu. Genetic Algorithms: Conceps and Applications. IEEE
Jakarta: Elex Media Komputindo. Yogyakarta, J & J Learning. he Genetic Construction of Computer Programs, Ph.D. thesis, University of Southern California, Department of Computer Engineering