dikembangkan dengan API JAX-WS (Java API for XML Web. Service). 4.
Bagaimana ... Raspin Web. • Aplikasi berbasis web yang berjalan pada desktop
dan.
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
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
•
Fitur pada Raspin Web
• •
1. 2. 3. 4.
Administrator Administrator Laboratorium Tata Usaha Dosen
1. 2. 3. 4. 5. 6.
Menyusun dan mengatur prototipe jadwal Mengatur jadwal Mengelola sumber daya Mengatur pemesanan ruangan Mengelola jadwal pribadi dosen Mengunduh jadwal dalam format excel
Kasus Penggunaan RaspinWeb Aktor Administrator System Melihat Jadwal Kuliah Mengunduh Jadwal
Menghapus Jadwal
Menambah Pengguna
Administrator Mengelola Pengguna
Mengubah Pengguna
Menghapus Pengguna
Kasus Penggunaan RaspinWeb System
Aktor Tata Usaha
Menambah Kelas
Mengubah kelas Mengelola kelas Menghapus kelas
Menambah Tahun Ajaran
Tata Usaha
Mengelola Tahun Ajaran
Menhapus Tahun Ajaran
Mengubah Tahun Ajaran
Menambah Ruangan Mengelola Ruangan
Mengubah Ruangan Menghapus Ruangan
Kasus Penggunaan RaspinWeb Aktor Tata Usaha System Menambah Dosen
Mengubah Dosen
Mengelola Dosen
Menghapus Dosen
Menambah Mata Kuliah Tata Usaha
Mengelola Mata Kuliah Mengubah Mata Kuliah
Menghapus Mata Kuliah
Kasus Penggunaan RaspinWeb Aktor Tata Usaha System Mengelola Permohonan Kelas
Melihat Jadwal Kuliah
Mengunduh Jadwal
Mengatur Jadwal
Tata Usaha Membuat Jadwal
Membuat Prototipe Jadwal
Mengatur Prototipe Jadwal
Kasus Penggunaan RaspinWeb Aktor Dosen System Melihat Jadwal Kuliah Mengunduh Jadwal
Mengatur Jadwal Dosen
Mengatur Permohonan Mengajar
Dosen
Membatalkan Permohonan Kelas
Mengajukan Permohonan Kelas
Kasus Penggunaan RaspinWeb Aktor Administrator Laboratorium
System Melihat Jadwal Kuliah
Mengunduh Jadwal Administrator Laboratorium
Mengelola Permohonan Kelas
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. 2.
Dosen Mahasiswa
1. 2. 3.
Melihat jadwal Memesan ruangan Mengatur jadwal dosen
Fitur pada Raspin Web
Kasus Penggunaan RaspinDroid Aktor Mahasiswa dan Dosen System Melihat Jadwal Baru Melihat Jadwal Kuliah
Mengubah Profil
Mahasiswa
Mengatur Jadwal Dosen
Mengatur Permohonan Mengajar Dosen
Membatalkan Permohonan Kelas
Mengajukan Permohonan Kelas
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 Alur Proses Mulai
Reproduksi Membuat individu baru
Seleksi Memilih individu terbaik untuk melakukan reproduksi
Populasi Awal Membuat sebuah populasi dengan individu yang memiliki nilai kromosom yang acak
Evaluasi Menghitung nilai kesesuaian dari tiap individu
Memberi Nilai Kemampuan Dari perhitungan nilai objektif tiap individu dicari nilai fitness populasi tersebut
Solusi Solusi terbaik diambil apabila generasi telah membentuk generasi yang ideal
Selesai
Algoritma Genetik Representasi kromosom pada kasus penjadwalan
Algoritma Genetik ruangan = random hari = random jam = 0
Start
Pembuatan kromosom baru
j < jumlah kelas
Jadwal melanggar batatasan Tempatkan jadwal
tidak ya
Menghilangkan batasan dengan bobot terendah hari = 0
tidak tidak
hari < maxHari ya
ya
hari++ ruangan = 0 Jadwal melanggar batatasan
ruangan < maxRuangan
ruangan++ jam = 0
tidak
tidak
tidak
ya
jam < maxJam
End
ya
Algoritma Genetik Penghitungan nilai kemampuan
nilai = 0 i=0
i < jumlahKelas
tidak
nilaiKemampuan = nilai / totalBobot * jumlahKelas
ya Start
End
j < jumlahBatasan
ya
ya
kelas[i] melanggar batasan[j]
tidak
nilai += bobot batasan[j]
Algoritma Genetik
Implementasi kasus penjadwalan pada Kampus Teknik Informartika ITS • Sumber daya 1. 2. 3. 4.
Daftar Mata Kuliah Daftar Dosen Daftar Kelas Daftar Ruangan
Algoritma Genetik Implementasi kasus penjadwalan pada Kampus Teknik Informatika ITS • Batasan Primer 1. 2. 3.
•
4.
Sebuah ruangan tidak boleh memiliki lebih dari satu rombel pada slot waktu yang sama untuk mata kuliah berbeda. Sebuah rombel tidak boleh menempati slot waktu UPMB dan jadwal rapat jurusan. Ruangan kelas harus memenuhi kriteria yang dibutuhkan oleh rombel. Dosen dapat mengajukan alokasi waktu mengajar.
Batasan Sekunder 1. 2.
Dua atau lebih rombel yang memiliki semester yang sama tidak boleh ada pada slot waktu yang sama (kecuali mata kuliah pararel). 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 Nama Tujuan Uji Coba Skenario 1 Kondisi Awal Masukan Keluaran Yang Diharapkan Hasil Uji Coba Kondisi Akhir
UJ-SUC-001 Uji Coba Melihat Jadwal Kuliah Jadwal dapat ditampilkan Pengunjung masuk ke halaman utama aplikasi. a. Pengunjung membuka halaman awal aplikasi pada peramban. Sistem menampilkan jadwal kuliah apabila pada minggu tersebut terdapat jadwal yang tersimpan pada basis data. Berhasil 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 Tujuan Uji Coba Skenario 1
Uji Coba Mengajukan Permohonan Peminjaman Ruangan Permohonan dapat dikirimkan ke dalam basis data. Dosen memesan salah satu waktu kosong dan menekan tombol kirim permintaan. a. Dosen masuk ke dalam Halaman Jadwal Mengajar. Kelas yang akan diganti Waktu jadwal Sistem menampilkan tampilan sukses, dan permohonan disimpan ke dalam basis data. Berhasil Permohonan dikirimkan ke dalam basis data. Dosen memesan salah satu waktu jadwal yang sudah terisi. a. Dosen masuk ke dalam halaman jadwal mengajar. Kelas yang akan diganti Waktu jadwal Sistem menampilkan tampilan gagal.
Kondisi Awal Masukan Keluaran Yang Diharapkan Hasil Uji Coba Kondisi Akhir Skenario 2 Kondisi Awal Masukan Keluaran Yang Diharapkan Hasil Uji Coba Kondisi Akhir
Berhasil Dosen berada pada halaman memilih jadwal kosong.
Uji Coba Melihat jadwal pada RaspinDroid ID
UJ-SUC-001
Nama Tujuan Uji Coba
Uji Coba Melihat Jadwal. Menguji apakah data XML yang berisi jadwal kuliah yang dikirimkan dari oleh JAX-WS dari basis data server dapat ditampilkan pada RaspinDroid. Pengguna RaspinDroid membuka Halaman Jadwal Kuliah untuk melihat jadwal. a. Pengguna masuk ke Halaman Jadwal Sistem menampilkan jadwal. Jadwal ini merupakan jadwal kelas yang tersimpan pada basis data Berhasil Pengguna keluar dari halaman Jadwal.
Skenario 1 Kondisi Awal Masukan Keluaran Yang Diharapkan Hasil Uji Coba Kondisi Akhir
Kesimpulan
1.
2.
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. 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.
2.
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. 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.