perancangan dan pembuatan aplikasi penjadwalan perkuliahan ...

238 downloads 839548 Views 1MB Size Report
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

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



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.

Terima Kasih