Post on 20-Oct-2021
PERANCANGAN DAN PEMBUATAN APLIKASI PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITMA GENETIK DAN TEKNOLOGI JAVA API FOR XML WEB SERVICE PADA PLATFORM ANDROID
Penyusun Tugas Akhir: Nanda Bagus Pradnyana NRP. 5108100116
Pembimbing I : Dwi Sunaryono, S.Kom., M.Kom.
NIP. 19760809 200112 2 001
Pembimbing II : Abdul Munif, S.Kom., M.Sc NIP. 19720528 1997 02 1 001
Latar Belakang
• Office Automation memudahkan pekerjaan kantor, mengurangi pengeluaran tenaga kerja, dan meningkatkan produktivitas.
• Pekerjaan menyusun jadwal bukanlah suatu hal yang mudah. Pekerjaan ini harus memperhatikan banyak aspek batasan sesuai dengan kemampuan sumber daya yang diberikan.
• Penggunaan telepon pintar sebagai salah satu antarmuka sistem informasi membantu jalannya alur persebaran informasi.
Rumusan Masalah
1. Bagaimana menyusun jadwal mata kuliah sesuai dengan sumber daya yang diberikan.
2. Bagaimana membuat sebuah fitur untuk peminjaman ruang kelas.
3. Bagaimana mengembangkan aplikasi menggunakan Android API yang dapat mengakses web service yang dikembangkan dengan API JAX-WS (Java API for XML Web Service).
4. Bagaimana berbagi informasi tentang adanya pergantian jadwal seperti kelas pengganti kepada pengguna.
Batasan Masalah
1. Sistem penjadwalan berdasarkan kondisi perkuliahan Kampus Teknik Informatika ITS.
2. Tabel penjadwalan memiliki waktu 14 jam pada tiap harinya.
3. Aplikasi akan digunakan pada Android yang menggunakan Sistem Operasi Froyo (2.2) dan dikembangkan dengan IDE Eclipse.
4. Web service dibuat dengan bahasa pemrograman Java dengan menggunakan API JAX-WS.
Tujuan Penulisan
1. Membuat aplikasi penyusunan jadwal perkuliahan yang tepat sesuai dengan sumber daya yang ada.
2. Merancang aplikasi pemesanan ruangan kelas. 3. Merancang aplikasi penjadwalan yang dapat diakses
melalui web service JAX-WS. 4. Membuat aplikasi yang memberikan informasi jadwal
sesuai dengan keadaan nyata.
Alur Kerja Sistem
Arsitektur Perangkat Lunak
Raspin Web • Aplikasi berbasis web yang berjalan pada desktop dan
dibuat pada perangkat kerja Vaadin. • Raspin Web berperan sebagai aplikasi untuk menghitung
proses penyusunan jadwal dan segala pengaturan perubahan jadwal.
• Aktor pada Raspin Web 1. Administrator 2. Administrator Laboratorium 3. Tata Usaha 4. Dosen
• Fitur pada Raspin Web 1. Menyusun dan mengatur prototipe jadwal 2. Mengatur jadwal 3. Mengelola sumber daya 4. Mengatur pemesanan ruangan 5. Mengelola jadwal pribadi dosen 6. Mengunduh jadwal dalam format excel
Kasus Penggunaan RaspinWeb
System
Administrator
Mengubah Pengguna
Mengelola Pengguna
Menambah Pengguna
Menghapus Pengguna
Melihat Jadwal Kuliah
Mengunduh Jadwal
Menghapus Jadwal
Aktor Administrator
Kasus Penggunaan RaspinWeb Aktor Tata Usaha
System
Tata Usaha
Mengelola kelas
Menambah Kelas
Mengubah kelas
Menghapus kelas
Mengelola Ruangan
Menghapus Ruangan
Mengubah Ruangan
Menambah Ruangan
Mengelola Tahun Ajaran
Mengubah Tahun Ajaran
Menhapus Tahun Ajaran
Menambah Tahun Ajaran
Kasus Penggunaan RaspinWeb Aktor Tata Usaha
System
Tata Usaha
Mengelola Dosen
Mengelola Mata Kuliah
Menambah Dosen
Mengubah Dosen
Menghapus Dosen
Menambah Mata Kuliah
Mengubah Mata Kuliah
Menghapus Mata Kuliah
Kasus Penggunaan RaspinWeb Aktor Tata Usaha
System
Tata Usaha
Membuat Prototipe Jadwal
Mengatur Prototipe JadwalMembuat Jadwal
Mengatur Jadwal
Melihat Jadwal Kuliah
Mengelola Permohonan Kelas
Mengunduh Jadwal
Kasus Penggunaan RaspinWeb Aktor Dosen
System
Dosen
Melihat Jadwal Kuliah
Mengatur Jadwal Dosen
Mengatur Permohonan Mengajar
Membatalkan Permohonan Kelas
Mengajukan Permohonan Kelas
Mengunduh Jadwal
Kasus Penggunaan RaspinWeb Aktor Administrator Laboratorium
System
Administrator Laboratorium
Melihat Jadwal Kuliah
Mengelola Permohonan Kelas
Mengunduh Jadwal
Raspin Droid
• Aplikasi yang dibangun pada platform Android menggunakan Sistem Operasi 2.2 (Froyo).
• Raspin Droid berperan sebagai aplikasi untuk melihat jadwal dan memesan ruang kelas secara mobile.
• Aktor pada Raspin Web 1. Dosen 2. Mahasiswa
• Fitur pada Raspin Web 1. Melihat jadwal 2. Memesan ruangan 3. Mengatur jadwal dosen
Kasus Penggunaan RaspinDroid Aktor Mahasiswa dan Dosen
System
Melihat Jadwal Kuliah
Mengajukan Permohonan Kelas
Membatalkan Permohonan Kelas
Mengatur Permohonan Mengajar
Mengatur Jadwal Dosen
Dosen
Mahasiswa
Mengubah Profil
Melihat Jadwal Baru
JAX-WS
• Merupakan aplikasi berbasis web yang menggunakan basis XML standar untuk saling bertukar informasi kepada klien.
• Digunakan untuk menjembatani pertukaran data pada aplikasi Raspin Droid.
• Raspin Droid akan mengirimkan permintaan dengan memanggil web method pada JAX-WS. JAX-WS akan mengirimkan pesan XML kepada RaspinDroid.
Algoritma Genetik
• Salah satu algoritma optimasi yang kuat dan bisa digunakan pada banyak model kasus.
• Bekerja dengan membuat banyak kasus yang dikumpulkan menjadi satu populasi.
• Populasi akan dikembangkan pada setiap generasi dengan membuat individu baru dengan cara reproduksi dan mutasi.
Algoritma Genetik Populasi AwalMembuat sebuah
populasi dengan individu yang memiliki nilai
kromosom yang acak
EvaluasiMenghitung nilai
kesesuaian dari tiap individu
Memberi Nilai Kemampuan
Dari perhitungan nilai objektif tiap individu
dicari nilai fitness populasi tersebut
Reproduksi Membuat individu
baru
Seleksi Memilih individu
terbaik untuk melakukan reproduksi
SolusiSolusi terbaik diambil apabila generasi telah membentuk generasi
yang ideal
Mulai
Selesai
Alur Proses
Algoritma Genetik Representasi kromosom pada kasus penjadwalan
Algoritma Genetik
Pembuatan kromosom baru
End
Jadwal melanggar batatasan
ruangan = randomhari = random
jam = 0j < jumlah kelas
tidak
ya
jam < maxJam
ruangan < maxRuangan
hari < maxHari
ya
ya
hari++ruangan = 0
tidak
ruangan++jam = 0
tidak
Jadwal melanggar batatasan
ya
Tempatkan jadwal
tidak
ya
Menghilangkan batasan dengan bobot terendah
hari = 0
tidak
tidak
Start
Algoritma Genetik
Penghitungan nilai kemampuan
nilai = 0i = 0 i < jumlahKelas
ya
nilai += bobot batasan[j]
Start End
j < jumlahBatasan
kelas[i] melanggar batasan[j]
ya
tidak
ya
nilaiKemampuan = nilai / totalBobot * jumlahKelastidak
Algoritma Genetik
Implementasi kasus penjadwalan pada Kampus Teknik Informartika ITS • Sumber daya
1. Daftar Mata Kuliah 2. Daftar Dosen 3. Daftar Kelas 4. Daftar Ruangan
Algoritma Genetik
Implementasi kasus penjadwalan pada Kampus Teknik Informatika ITS • Batasan Primer
1. Sebuah ruangan tidak boleh memiliki lebih dari satu rombel pada slot waktu yang sama untuk mata kuliah berbeda.
2. Sebuah rombel tidak boleh menempati slot waktu UPMB dan jadwal rapat jurusan.
3. Ruangan kelas harus memenuhi kriteria yang dibutuhkan oleh rombel.
4. Dosen dapat mengajukan alokasi waktu mengajar. • Batasan Sekunder
1. Dua atau lebih rombel yang memiliki semester yang sama tidak boleh ada pada slot waktu yang sama (kecuali mata kuliah pararel).
2. Rombel yang memiliki semester yang berbeda satu tahun ajaran tidak boleh ada pada waktu yang sama
Antarmuka Halaman Utama
Antarmuka Penyusunan jadwal Aktor Tata Usaha
Antarmuka Penyusunan jadwal Aktor Tata Usaha
Antarmuka Mengolah sumber daya oleh Aktor Tata Usaha
Antarmuka Memesan kelas oleh Aktor Dosen
Antarmuka Mengatur jadwal dosen
Antarmuka Daftar permohonan peminjaman ruangan
Antarmuka Melihat jadwal pada RaspinDroid
Antarmuka Memesan ruangan pada Raspin Droid
Uji Coba Melihat jadwal kuliah
ID UJ-SUC-001 Nama Uji Coba Melihat Jadwal Kuliah Tujuan Uji Coba Jadwal dapat ditampilkan Skenario 1 Pengunjung masuk ke halaman utama aplikasi. Kondisi Awal a. Pengunjung membuka halaman awal
aplikasi pada peramban. Masukan - Keluaran Yang Diharapkan
Sistem menampilkan jadwal kuliah apabila pada minggu tersebut terdapat jadwal yang tersimpan pada basis data.
Hasil Uji Coba Berhasil Kondisi Akhir Pengguna dapat melihat jadwal kuliah.
Uji Coba Pertambahan nilai kemampuan pada Algoritma Genetik
Generasi 10 20 30 40 50 60 70 80 90 100
Uji Coba 1 0.887342 0.887342 0.887342 0.887342 0.887342 0.888608 0.888608 0.888608 0.888608 0.888608
Uji Coba 2 0.881013 0.887342 0.887342 0.892405 0.892405 0.892405 0.892405 0.893671 0.893671 0.893671
Uji Coba 3 0.886076 0.886076 0.887342 0.887342 0.887342 0.887342 0.887342 0.887342 0.887342 0.889873
Uji Coba 4 0.887342 0.894937 0.894937 0.894937 0.894937 0.894937 0.894937 0.894937 0.894937 0.894937
Uji Coba 5 0.887342 0.887342 0.887342 0.887342 0.887342 0.889873 0.889873 0.889873 0.889873 0.889873
Uji Coba Melakukan peminjaman ruangan ID UJ-SUC-010 Nama Uji Coba Mengajukan Permohonan Peminjaman Ruangan Tujuan Uji Coba Permohonan dapat dikirimkan ke dalam basis data. Skenario 1 Dosen memesan salah satu waktu kosong dan menekan tombol kirim
permintaan. Kondisi Awal a. Dosen masuk ke dalam Halaman Jadwal
Mengajar. Masukan Kelas yang akan diganti
Waktu jadwal Keluaran Yang Diharapkan
Sistem menampilkan tampilan sukses, dan permohonan disimpan ke dalam basis data.
Hasil Uji Coba Berhasil Kondisi Akhir Permohonan dikirimkan ke dalam basis data. Skenario 2 Dosen memesan salah satu waktu jadwal yang sudah terisi. Kondisi Awal a. Dosen masuk ke dalam halaman jadwal
mengajar. Masukan Kelas yang akan diganti
Waktu jadwal Keluaran Yang Diharapkan
Sistem menampilkan tampilan gagal.
Hasil Uji Coba Berhasil Kondisi Akhir Dosen berada pada halaman memilih jadwal kosong.
Uji Coba Melihat jadwal pada RaspinDroid
ID UJ-SUC-001 Nama Uji Coba Melihat Jadwal. Tujuan Uji Coba Menguji apakah data XML yang berisi jadwal kuliah yang
dikirimkan dari oleh JAX-WS dari basis data server dapat ditampilkan pada RaspinDroid.
Skenario 1 Pengguna RaspinDroid membuka Halaman Jadwal Kuliah untuk melihat jadwal.
Kondisi Awal a. Pengguna masuk ke Halaman Jadwal Masukan - Keluaran Yang Diharapkan
Sistem menampilkan jadwal. Jadwal ini merupakan jadwal kelas yang tersimpan pada basis data
Hasil Uji Coba Berhasil Kondisi Akhir Pengguna keluar dari halaman Jadwal.
Kesimpulan
1. Ditunjukan bahwa hasil penyusunan jadwal dari Algoritma Genetik sudah cukup optimal. Melihat dari banyaknya kelas yang ditempatkan dalam suatu jadwal dengan banyak batasan, hasil nilai kemampuan yang didapatkan dikatakan sudah cukup memuaskan.
2. Keberhasilan pada pemesanan jadwal baru untuk pengguna Dosen sudah diujicobakan dan menunjukan bahwa Dosen dapat mengajukan permohonan peminjaman ruangan untuk mengadakan kuliah pengganti.
Kesimpulan
3. Pengiriman permintaan data dari RaspinDroid sampai pada aplikasi web service yang menggunakan teknologi JAX-WS. Aplikasi web service yang dibuat juga dapat mengembalikan pesan XML kepada klien. Hal ini menyatakan bahwa JAX-WS berhasil digunakan sebagai jembatan penghubung antara aplikasi klien RaspinDroid dengan basis data pada server.
4. Keterhubungan antara Aktor Tata Usaha, Administrator Laboratorium, dan Dosen dalam peminjaman ruangan kelas sudah diselesaikan dengan fitur Melihat Jadwal Kuliah pada RaspinWeb
Saran
1. Pengembangan pada platform lain menjadi salah satu saran pengembangan sistem perangkat lunak ini. Beberapa diantaranya adalah platform Blackberry dan iOS. Hal ini tentunya memudahkan pengguna yang tidak memiliki perangkat Android.
2. Pengembangan lainnya adalah penyusunan jadwal ujian yang belum dimiliki oleh aplikasi ini. Penyusunan jadwal ujian dapat disusun secara otomatis dan penempatan waktunya dapat diatur oleh pembuat jadwal.
Terima Kasih