BAB 4 IMPLEMENTASI DAN EVALUASI BAB 4 IMPLEMENTASI DAN EVALUASI 4.1
Spesifikasi Sistem Spesifikasi perangkat lunak dan perangkat keras yang digunakan dalam
pengembangan aplikasi adalah sebagai berikut : 1. Perangkat lunak Spesifikasi
perangkat
lunak
dan
sistem
operasi
yang
digunakan
dalam
pengembangan program ini adalah sebagai berikut: •
Microsoft XP service pack 2
•
Microsoft Visual Studio 2005
•
Microsoft SQL server 2000
2. Perangkat keras Spesifikasi perangkat keras yang digunakan dalam pengembangan program ini adalah sebagai berikut: •
Processor : Intel Pentium M 755 2.00 Ghz
•
Memory : 1024 Mbytes
•
HardDisk : 80 Gbytes
•
Mouse dan Keyboard
79
80 4.2
Implementasi Sistem
4.2.1
Data-data yang digunakan dalam pembuatan Jadwal Aplikasi penjadwalan ini bergantung pada data yang terdapat dalam database.
Data-data yang digunakan akan selalu diupdate setiap semester, sesuai dengan kondisi yang ada. Berikut ini adalah data-data yang digunakan dalam pembuatan aplikasi ini: 1. Daftar Asisten (Lampiran 1) 2. Daftar matakuliah yang ada di UPTPL UBinus (Lampiran 2) 3. Daftar kuliah Asisten (Lampiran 3) 4. Daftar matakuliah yang telah diikuti oleh Asisten (Lampiran 4) 5. Daftar Asisten yang telah memiliki kualifikasi untuk mengajar suatu matakuliah (Lampiran 5) 6. Daftar prioritas mengajar suatu matakuliah yang sudah diisi oleh Asisten (Lampiran 6) 7. Daftar alokasi ruang (Lampiran 7)
4.2.2
Pengoperasian Aplikasi Penjadwalan Tahap pertama dalam aplikasi automatisasi penjadwalan adalah merandom
jadwal. Pada tahap ini jadwal dirandom sebanyak populasi yang diinginkan. Bagian yang dirandom pada jadwal Asisten yang mengajar dalam transaksi praktikum. Asisten dirandom sesuai dengan shift mengajar pada Asisten tersebut, sehingga tidak akan terjadi masalah perbedaan shift mengajar. Dalam proses ini masih dimungkinkan jadwal hasil random tidak memiliki Asisten untuk mengajar disuatu transaksi tertentu. Form random seperti pada gambar 4.1 dapat digunakan untuk merandom jadwal.
81
Gambar 4.1 Tampilan form random8 Sebelum tombol generate diklik, textbox jumlah random harus diisi terlebih dahulu. Setelah jumlah random ditentukan dan tombol generate di klik maka proses random akan berjalan, proses random selesai ketika progress bar sudah terisi penuh. Setelah jadwal-jadwal dirandom maka jadwal-jadwal tersebut akan dijadikan populasi awal dalam aplikasi ini, Langkah selanjutnya adalah menjalankan operasi algoritma genetika sampai jadwal dengan syarat tertentu didapat. Untuk melakukan operasi algoritma genetika dapat dilakukan dengan dua cara, cara yang pertama adalah dengan mengunakan form basic seperti pada gambar 4.2
82
Gambar 4.2 Tampilan form basic 9
Pada form ini, pengguna hanya perlu menekan tombol generate maka secara otomatis operasi algoritma genetik akan dilakukan. Dalam proses otomatisasi jadwal ini pada textfield hasil akan ditampilkan nilai dari banyak iterasi dan nilai fitness dari jadwal yang terbaik pada iterasi itu, Proses ini akan berhenti ketika nilai fitness dari jadwal yang terbaik bernilai kurang dari 10000 atau sudah mencapai iterasi maksimum.
83 Cara yang lain yang dapat digunakan dalam melakukan otomatisasi jadwal adalah dengan mengunakan operasi yang ada pada form advance seperti pada gambar 4.3.
Gambar 4.3 Tampilan form advance 10
Pada form ini sebelum operasi algoritma genetika dilakukan, pengguna harus terlebih dahulu menentukan jumlah populasi, jenis crossover
yang digunakan,
persentase selection rate, dan persentase mutation rate. Setelah semua parameter tersebut telah diisi maka operasi algoritma genetika dapat dimulai dengan menekan tombol generate.
Dalam proses otomatisasi jadwal ini pada textfield
hasil akan
ditampilkan nilai dari banyak iterasi dan nilai fitness dari jadwal yang terbaik pada iterasi itu. Proses ini akan berhenti ketika nilai fitness dari jadwal yang terbaik bernilai kurang dari 10000 atau ketika maksimum iterasi telah dicapai.
84 Jadwal hasil dari operasi di form basic dan di form advance akan ditulis kedalam file dan database. Sehingga hasil dari setiap operasi dapat dipilih dan dibandingkan.
4.3
Evaluasi Sistem Program diuji dengan menggunakan 100 data populasi awal yang sudah
dirandom sebelumnya. Parameter-parameter dari operasi algoritma ini akan diuji untuk mendapatkan jadwal dengan operasi yang paling optimal. Untuk melakukan pengujian, penulis mempergunakan komputer dengan spesifikasi sebagai berikut :
4.3.1
•
Processor : Intel Pentium M 755 2.00 Ghz
•
Memory : 1024 Mbytes
•
HardDisk : 80 Gbytes
•
Mouse dan Keyboard
Pengujian terhadap Mutation Rate Pengujian ini bertujuan untuk melihat efek dari parameter mutation rate terhadap
waktu proses pembuatan jadwal. Pada pengujian ini digunakan parameter-parameter sebagai berikut : Populasi sebesar 60 jadwal •
Selection rate sebesar 10 %
•
Metode cross over : two point cross over
•
Mutation rate sebesar 1% sampai dengan 10%
Hasil pengujian dari parameter-parameter di atas dapat dilihat dari tabel seperti pada tabel 4.1 dan pada tabel 4.2
85 Tabel 4.1 Evaluasi mutation rate terhadap waktu 21 Tabel 4.2 Evaluasi mutation rate terhadap nilai fitness22
86 Dari hasil pengujian diatas dapat dilihat bahwa dengan mengunakan mutation rate yang rendah maka waktu pencarian solusi menjadi semakin lama, dengan mengunakan mutation rate yang tinggi waktu pencarian juga semakin lama, dari hasil evaluasi diatas dapat dilihat bahwa mutation rate yang optimal adalah mutation rate yang tidak terlalu rendah dan tidak terlalu tinggi.
4.3.2
Pengujian terhadap Selection Rate Pada pengujian ini digunakan parameter-parameter sebagai berikut :
•
Populasi sebesar 60
•
Mutation rate sebesar 10 %
•
Selection rate dari 10% sampai 100%
•
Metode cross over : two point cross over
Hasil pengujian dari parameter-parameter di atas dapat dilihat dari tabel seperti pada tabel 4.3 dan pada tabel 4.4
87
Tabel 4.3 Evaluasi selection rate terhadap waktu 23
Tabel 4.4 Evaluasi mutation rate terhadap nilai fitness24
88 Dari hasil pengujian diatas dapat dilihat bahwa dengan mengunakan selection rate yang semakin tinggi maka waktu pencarian solusi menjadi semakin lama, sedangkan apabila digunakan selection rate yang rendah waktu pencarian solusi cenderung lebih singkat daripada menggunakan selection rate yang tinggi. Pada pengujian dengan selection rate sebesar 100% solusi tidak dapat ditemukan karena iterasi telah mencapai batas maksimum dan nilai fitness masih diatas 10000.
4.3.3
Pengujian terhadap Metode Crossover Pada pengujian ini digunakan parameter-parameter sebagai berikut :
•
Populasi sebesar 60
•
Mtation rate sebesar 10 %
•
Selection rate sebesar 10%
•
Metode cross over : one point cross over, two point crossover
Hasil pengujian dari parameter-parameter di atas dapat dilihat dari tabel seperti pada tabel 4.5 dan pada tabel 4.6
89
Tabel 4.5 Evaluasi crossover method terhadap waktu 25
Tabel 4.6 Evaluasi crossover method terhadap nilai fitness26
90 Dari hasil pengujian diatas dapat dilihat bahwa dengan mengunakan metode one point crossover tidak ada satu pun solusi yang ditemukan karena iterasi sudah mencapai batas maksimum dan nilai fitness masih lebih besar dari 10000, sedangkan dengan menggunakan metode two point crossover solusi berhasil ditemukan.
4.3.4
Pengujian terhadap Jumlah Populasi Pada pengujian ini digunakan parameter-parameter sebagai berikut :
•
Selection rate sebesar 60
•
Mutation rate sebesar 10 %
•
Populasi sebesar 10 sampai 100 jadwal
•
Metode crossover : two point cross over
Hasil pengujian dari parameter-parameter di atas dapat dilihat dari tabel seperti pada tabel 4.7 dan tabel 4.8
91
Tabel 4.7 Evaluasi populasi terhadap waktu 27
Tabel 4.8 Evaluasi populasi terhadap nilai fitness28
92 Dari hasil pengujian diatas dapat dilihat bahwa dengan menggunakan populasi yang terlalu kecil dan terlalu besar waktu pencarian solusi menjadi semakin lama sedangkan dengan menggunakan populasi yang sedang maka waktu pencarian solusi menjadi lebih cepat. Jadwal asistensi periode ganjil 2006/2007 ketika diujikan kedalam fitness function dari aplikasi ini memberikan nilai fitness sebesar 84, hal ini berari jadwal yang dipakai pada periode ganjil 2006/2007 memiliki 42 soft constraint yang terlanggar.