41
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

PERANCANGAN DAN PEMBUATAN APLIKASI …

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 2: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 3: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 4: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 5: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 6: PERANCANGAN DAN PEMBUATAN APLIKASI …

Alur Kerja Sistem

Page 7: PERANCANGAN DAN PEMBUATAN APLIKASI …

Arsitektur Perangkat Lunak

Page 8: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 9: PERANCANGAN DAN PEMBUATAN APLIKASI …

Kasus Penggunaan RaspinWeb

System

Administrator

Mengubah Pengguna

Mengelola Pengguna

Menambah Pengguna

Menghapus Pengguna

Melihat Jadwal Kuliah

Mengunduh Jadwal

Menghapus Jadwal

Aktor Administrator

Page 10: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 11: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 12: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 13: PERANCANGAN DAN PEMBUATAN APLIKASI …

Kasus Penggunaan RaspinWeb Aktor Dosen

System

Dosen

Melihat Jadwal Kuliah

Mengatur Jadwal Dosen

Mengatur Permohonan Mengajar

Membatalkan Permohonan Kelas

Mengajukan Permohonan Kelas

Mengunduh Jadwal

Page 14: PERANCANGAN DAN PEMBUATAN APLIKASI …

Kasus Penggunaan RaspinWeb Aktor Administrator Laboratorium

System

Administrator Laboratorium

Melihat Jadwal Kuliah

Mengelola Permohonan Kelas

Mengunduh Jadwal

Page 15: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 16: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 17: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 18: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 19: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 20: PERANCANGAN DAN PEMBUATAN APLIKASI …

Algoritma Genetik Representasi kromosom pada kasus penjadwalan

Page 21: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 22: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 23: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 24: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 25: PERANCANGAN DAN PEMBUATAN APLIKASI …

Antarmuka Halaman Utama

Page 26: PERANCANGAN DAN PEMBUATAN APLIKASI …

Antarmuka Penyusunan jadwal Aktor Tata Usaha

Page 27: PERANCANGAN DAN PEMBUATAN APLIKASI …

Antarmuka Penyusunan jadwal Aktor Tata Usaha

Page 28: PERANCANGAN DAN PEMBUATAN APLIKASI …

Antarmuka Mengolah sumber daya oleh Aktor Tata Usaha

Page 29: PERANCANGAN DAN PEMBUATAN APLIKASI …

Antarmuka Memesan kelas oleh Aktor Dosen

Page 30: PERANCANGAN DAN PEMBUATAN APLIKASI …

Antarmuka Mengatur jadwal dosen

Page 31: PERANCANGAN DAN PEMBUATAN APLIKASI …

Antarmuka Daftar permohonan peminjaman ruangan

Page 32: PERANCANGAN DAN PEMBUATAN APLIKASI …

Antarmuka Melihat jadwal pada RaspinDroid

Page 33: PERANCANGAN DAN PEMBUATAN APLIKASI …

Antarmuka Memesan ruangan pada Raspin Droid

Page 34: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 35: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 36: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 37: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 38: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 39: PERANCANGAN DAN PEMBUATAN APLIKASI …

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

Page 40: PERANCANGAN DAN PEMBUATAN APLIKASI …

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.

Page 41: PERANCANGAN DAN PEMBUATAN APLIKASI …

Terima Kasih