pengembangan aplikasi untuk penjadwalan mata …...pengembangan aplikasi untuk penjadwalan mata...
TRANSCRIPT
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
i
PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH
(STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS)
TUGAS AKHIR
Diajukan untuk memenuhi salah satu syarat mencapai gelar Ahli Madya Program
DIII Teknik Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Sebelas Maret
Disusun oleh :
YUNIKO DWI ANGGORO
M3209091
PROGRAM DIPLOMA III TEKNIK INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
2012
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
ii
HALAMAN PERSETUJUAN
PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH
(STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS)
Disusun Oleh
YUNIKO DWI ANGGORO
NIM. M3209091
Tugas Akhir ini telah disetujui untuk diuji oleh dewan penguji Tugas Akhir
Program Diploma III Teknik Informatika
pada hari Selasa tanggal 10 Juli 2012
Pembimbing
Ristu Saptono, S.Si, M.T
NIP. 19790210 200212 1 001
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
iii
HALAMAN PENGESAHAN
PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH
(STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS)
Disusun oleh :
YUNIKO DWI ANGGORO
NIM. M3209091
Di bimbing oleh
Pembimbing Utama
Ristu Saptono, S.Si, M.T
NIP. 19790210 200212 1 001
Tugas Akhir ini telah diterima dan disahkan
Oleh dewan penguji Tugas Akhir Program Diploma III Teknik Informatika
pada hari Selasa tanggal 10 Juli 2012
Dewan Penguji
1 Penguji 1 Ristu Saptono, S.Si, M.T
NIP. 19790210 200212 1 001 ( )
2 Penguji 2 Agus Purbayu, S.Si
NIDN. 0629088001 ( )
3 Penguji 3 Muh. A. Safi’ie, S.Si
NIDN. 0603118103 ( )
Disahkan oleh
Dekan
Fakultas MIPA UNS
Prof. Ir. Ari Handono Ramelan, M.Sc (Hons), Ph.D
NIP. 19610223 198601 1 001
Ketua Program Studi
DIII Ilmu Komputer UNS
Drs. YS. Palgunadi, M.Sc
NIP. 19560407 198303 1 004
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
iv
ABSTRACT
Yuniko Dwi Anggoro, M3209091, 2012, DEVELOPMENT OF
APPLICATION FOR SCHEDULING COURSE (CASE STUDY:
DEPARTMENT OF INFORMATICS ENGINEERING FMIPA UNS),
Program Diploma III Informatics Engineering, Faculty of Mathematics and
Natural Sciences, Sebelas March University Surakarta.
Scheduling classes each semester is a complicated job because it must
combine courses that are offered, the ability of lecturer, space, and is equipped
with a number of rules that must be implemented. During this time at Department
of Informatics Engineering Sebelas March University Surakarta scheduling is
done manually with the condition have a lot of students, lecture space is limited,
time is limited, and few number of lecturers, so it needs a lecture scheduling
applications automatically. In this final task, the researcher tried to resolve the
problem of scheduling lectures as a method using genetic algorithm optimization.
There are many algorithms used for the preparation of a course scheduling
algorithms one of which is rekursif algorithm. Using the data looping and random
selection of data that already exists in the database.
Keywords: scheduling courses, rekursif algorithm
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
v
ABSTRAK
Yuniko Dwi Anggoro, M3209091, 2012, PENGEMBANGAN APLIKASI
UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK
INFORMATIKA FMIPA UNS), Program Diploma III Teknik Informatika,
Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret
Surakarta.
Penyusunan jadwal perkuliahan setiap semester adalah suatu pekerjaan yang
rumit karena harus mengkombinasikan antara mata kuliah yang ditawarkan, waktu
kesediaan dosen, ruangan, dan dilengkapi dengan sejumlah aturan yang
harus dilaksanakan. Selama ini di Jurusan Teknik Informatika Universitas Sebelas
Maret Surakarta penjadwalan perkuliahan dilakukan secara manual dengan
kondisi memiliki banyak mahasiswa, ruang perkuliahan terbatas, waktu yang
dibatasi, dan jumlah dosen yang masih sedikit, sehingga perlu adanya aplikasi
penjadwalan perkuliahan secara otomatis. Pada tugas akhir ini, peneliti mencoba
menyelesaikan masalah penjadwalan perkuliahan menggunakan Algoritma
Genetika sebagai metode optimasinya.
Ada banyak sekali Algoritma yang di gunakan untuk melakukan
penyusunan penjadwalan mata kuliah salah satunya yaitu algoritma bersarang.
Menggunakan perulangan data dan juga pemilihan secara acak dari data yang
telah ada di database.
Kata Kunci: penjadwalan kuliah, algoritma bersarang
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
vi
MOTTO
“Sesungguhnya Allah tidak mengubah keadaan sesuatu kaum
hingga mereka mengubah keadaan yang ada pada mereka sendiri”
(Ar-Rad :11)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
vii
PERSEMBAHAN
Wahai Dzat Yang Maha Memberi Manfaat,
ini sedikit manfaat yang bisa saya berikan ...
Untuk Ayahku dan Ibuku sebagai orang tua terbaik dan nomor 1 di dunia
untuk kakakku yang tak pernah lelah memberi semangat
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
viii
KATA PENGANTAR
Dengan mengucapkan puji syukur kepada Allah SWT yang telah
melimpahkan rahmat dan hidayah-Nya sehingga kesehatan, kelapangan, dan
kesempatan diberikan kepada penulis untuk menyelesaikan laporan Tugas Akhir
ini. Laporan ini disusun sebagai salah satu syarat kelulusan program pendidikan
Diploma III Ilmu Komputer di Universitas Sebelas Maret. Dalam penulisan
laporan ini, penulis banyak mendapatkan bantuan dari berbagai pihak. Oleh
karena itu, penulis mengucapkan terima kasih atas tersusunnya laporan ini.
Pada kesempatan ini penulis ingin mengucapkan terima kasih yang
mendalam kepada :
1. Bapak Y. S. Palgunadi, M.Sc. selaku Ketua Jurusan Program DIII Ilmu
Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas
Sebelas Maret Surakarta.
2. Bapak Ristu Saptono selaku dosen pembimbing yang telah meluangkan
waktunya untuk membimbing, memberi pengarahan, dan memberi dukungan
moral yang sangat berharga kepada penulis dalam menyelesaikan laporan ini.
3. Segenap dosen DIII Teknik Informatika atas ilmu yang telah diberikan kepada
penulis.
4. Teman-teman DIII Teknik Informatika 2009 atas bantuan yang telah diberikan
kepada penulis.
5. Para pembaca yang budiman
Akhir kata penulis berharap dengan laporan ini dapat memberikan manfaat
bagi pembaca, khususnya bagi mahasiswa program studi Diploma III Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret. Terimakasih.
Surakarta, Juni 2012
Penulis
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
ix
DAFTAR ISI
HALAMAN JUDUL ................................................................................................ i
HALAMAN PERSETUJUAN ......................................................................... ii
HALAMAN PENGESAHAN .......................................................................... iii
ABSTRACT ........................................................................................................... iv
ABSTRAK ............................................................................................................... v
MOTTO ................................................................................................................. vi
PERSEMBAHAN ................................................................................................. vii
KATA PENGANTAR ......................................................................................... viii
DAFTAR ISI .......................................................................................................... ix
DAFTAR TABEL ................................................................................................. xii
DAFTAR GAMBAR ........................................................................................... xiii
BAB I PENDAHULUAN ........................................................................................ 1
1.1. Latar Belakang ......................................................................................... 1
1.2. Perumusan Masalah .................................................................................. 2
1.3. Batasan Masalah ....................................................................................... 2
1.4. Tujuan ....................................................................................................... 2
1.5. Manfaat ..................................................................................................... 3
1.6. Metodologi Penelitian .............................................................................. 3
1.7. Sistematika Penulisan ............................................................................... 4
BAB II LANDASAN TEORI .................................................................................. 6
2.1 Penjadwalan .............................................................................................. 6
2.2 Object Oriented Programing dengan PHP ............................................... 6
2.2.1 Objek ................................................................................................. 7
2.2.2 Class .................................................................................................. 7
2.3 Rekayasa Perangkat Lunak....................................................................... 7
2.4 Framework ............................................................................................... 8
2.5 Database Management System (DBMS) .................................................. 9
2.6 Unified Modelling Language .................................................................. 11
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
x
2.6.1 Use Case Diagram........................................................................... 12
2.6.2 Activity Diagram.............................................................................. 13
2.6.3 Class Diagram ................................................................................. 13
2.6.4 Sequence Diagram ........................................................................... 13
2.7 Flowchart ............................................................................................... 16
2.7.1 Simbol-simbol Flowchart ................................................................ 16
BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN............................. 17
3.1 Lingkungan Implementasi ...................................................................... 17
3.2 Deskripsi Sistem ..................................................................................... 17
3.3 Analisis Kebutuhan ................................................................................ 18
3.3.1 Kebutuhan Fungsional .................................................................... 18
3.3.2 Kebutuhan Non Fungsional............................................................. 19
3.4 Perancangan Sistem ................................................................................ 19
3.4.1 Pemodelan Use Case ....................................................................... 19
3.4.2 Activity Diagram ............................................................................. 22
3.4.3 Class Diagram Tahap Analisis ....................................................... 26
3.4.4 Sequence Diagram .......................................................................... 29
3.4.5 Class Diagram ................................................................................ 34
3.4.6 Flowchart Proses Penjadwalan ....................................................... 36
3.5 Desain Interface ..................................................................................... 37
BAB IV IMPLEMENTASI ................................................................................... 39
4.1 Implementasi Sistem .............................................................................. 39
4.1.1 Tampilan Halaman Login ............................................................... 39
4.1.2 Halaman Input Mata Kuliah ............................................................ 39
4.1.3 Halaman Input Ruang Kuliah.......................................................... 40
4.1.4 Halaman Input Hari dan Waktu Kuliah .......................................... 40
4.1.5 Halaman Input Dosen ...................................................................... 41
4.1.6 Halaman Penugasan Dosen ............................................................. 41
4.1.7 Halaman Input Waktu Berhalangan Mengajar ................................ 42
4.1.8 Halaman Generate Jadwal ............................................................... 42
4.1.9 Halaman View Jadwal ..................................................................... 43
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xi
BAB V KESIMPULAN DAN SARAN ................................................................. 44
5.1 Kesimpulan ............................................................................................. 44
5.2 Saran ....................................................................................................... 44
DAFTAR PUSTAKA ............................................................................................ 45
LAMPIRAN ........................................................................................................... 46
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xii
DAFTAR TABEL
Tabel 2.1 Simbol Use Case (Rosa, 2010) .............................................................. 12
Tabel 2.2 Simbol Activity Diagram (Rosa,2010) ................................................... 13
Tabel 2.3 Simbol Class Diagram (Rosa, 2010) ..................................................... 14
Tabel 2.4 Simbol Sequence Diagram (Pender, 2002) ............................................ 15
Tabel 2.5 Simbol Flowchart (Kristanto, 2003) ...................................................... 16
Tabel 3.1 Kebutuhan fungsional sistem ................................................................. 18
Tabel 3.2 Kebutuhan non fungsional sistem .......................................................... 19
Tabel 3.3 Deskripsi Aktor ...................................................................................... 19
Tabel 3.4 Hak dan Kewajiban Aktor...................................................................... 20
Tabel 3.5 Deskripsi Use Case ................................................................................ 20
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xiii
DAFTAR GAMBAR
Gambar 3.1 Use Case Diagram Aplikasi Penjadwalan Mata Kuliah .................... 21
Gambar 3.2 Activity Diagram Authentication User ............................................... 22
Gambar 3.3 Activity Diagram Input Mata Kuliah .................................................. 22
Gambar 3.4 Activity Diagram Input Ruang Kuliah ............................................... 23
Gambar 3.5 Activity Diagram Input Hari dan Slot Waktu ..................................... 23
Gambar 3.6 Activity Diagram Input Dosen ........................................................... 24
Gambar 3.7 Activity Diagram Penugasan Dosen Terhadap Mata Kuliah .............. 24
Gambar 3.8 Activity Diagram Input Waktu Dosen ................................................ 25
Gambar 3.9 Activity Diagram Alur Algoritma ...................................................... 25
Gambar 3.10 Activity Diagram Lihat Jadwal ......................................................... 25
Gambar 3.11 Class Diagram Login ....................................................................... 26
Gambar 3.12 Class Diagram Kelola Mata Kuliah ................................................. 26
Gambar 3.13 Class Diagram Kelola Ruangan ....................................................... 26
Gambar 3.14 Class Diagram Kelola Waktu Kuliah .............................................. 27
Gambar 3.15 Class Diagram Kelola Dosen ........................................................... 27
Gambar 3.16 Class Diagram Kelola Penugasan Dosen......................................... 28
Gambar 3.17 Class Diagram Kelola Waktu Dosen ............................................... 28
Gambar 3.18 Class Diagram Kelola Jadwal .......................................................... 29
Gambar 3.19 Sequence Diagram Kelola Jadwal.................................................... 29
Gambar 3.20 Sequence Diagram Kelola Mata Kuliah........................................... 30
Gambar 3.21 Sequence Diagram Kelola Ruangan ................................................ 31
Gambar 3.22 Sequence Diagram Kelola Waktu Kuliah ........................................ 32
Gambar 3.23 Sequence Diagram Kelola Dosen .................................................... 33
Gambar 3.24 Class Diagram Login ....................................................................... 34
Gambar 3.25 Class Diagram Kelola Mata Kuliah ................................................. 34
Gambar 3.26 Class Diagram Kelola Ruangan ....................................................... 35
Gambar 3.27 Class Diagram Kelola Waktu Kuliah .............................................. 35
Gambar 3.28 Class Diagram Kelola Dosen ........................................................... 36
Gambar 3.29 Flowchart Proses Penjadwalan ........................................................ 36
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xiv
Gambar 3.30 Halaman Login ................................................................................. 37
Gambar 3.31 Halaman Utama ................................................................................ 37
Gambar 4.1 Halaman Login ................................................................................... 39
Gambar 4.2 Halaman Tambah Mata Kuliah .......................................................... 39
Gambar 4.3 Halaman Tambah Ruang Kuliah ........................................................ 40
Gambar 4.4 Halaman Tambah Hari dan Waktu Kuliah ......................................... 40
Gambar 4.5 Halaman Tambah Dosen .................................................................... 41
Gambar 4.6 Halaman Penugasan Dosen ................................................................ 41
Gambar 4.7 Halaman Input Waktu Berhalangan Mengajar ................................... 42
Gambar 4.8 Halaman Generate Jadwal .................................................................. 42
Gambar 4.9 Halaman View Jadwal ........................................................................ 43
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Penjadwalan mata kuliah merupakan suatu kegiatan perodik yang dilakukan
oleh setiap institusi pendidikan dan universitas. Penjadwalan mata kuliah
bertujuan untuk mengatur perkuliahan agar tidak terjadi bentrokan antara jadwal
mata kuliah yang satu dengan yang lain. Ditambah lagi terjadinya pergantian
jadwal yang mengakibatkan bertambahnya bentrokan yang terjadi pada
mahasiswa. Oleh karena itu di setiap institusi pendidikan dan universitas di
butuhkan penjadwalan mata kuliah yang baik. Untuk membuat jadwal mata kuliah
yang baik kita harus memperhatikan berbagai aspek yang mempengaruhi
penjadwalan mata kuliah ini.
Dari aspek mahasiswa, kita perlu perhatikan ada atau tidaknya bentrokan
pada mata kuliah yang diambil oleh mahasiswa, selain dilihat dari aspek
mahasiswa, kita juga harus melihat dari aspek dosen, yaitu kemungkinan dosen
akan mengampu lebih dari satu mata kuliah yang ada, sebab ada kemungkinan
jumlah mata kuliah dan jumlah dosen tidak sebanding, sehingga harus dipikirkan
juga solusi agar dosen tidak mengampu dua mata kuliah berbeda pada hari dan
jam yang sama. Selain itu, harus dipertimbangkan juga ketersediaan kelas
sehingga kegiatan belajar dapat dilaksanakan.
Di samping aspek-aspek di atas, dalam penyusunan jadwal mata kuliah ini
pun terdapat sangat banyak kemungkinan yang selayaknya dicoba untuk
menemukan penjadwalan yang terbaik. Karena itu dibutuhkan aplikasi
penjadwalan yang baik untuk penjadwalan mata kuliah ini.
Dari latar belakang yang telah disebutkan di atas, maka dalam tugas akhir
ini akan membuat aplikasi untuk penjadwalan mata kuliah. Diharapkan dengan
adanya aplikasi untuk penjadwalan mata kuliah ini dapat menghasilkan kombinasi
yang baik untuk pasangan mata kuliah dan dosen pengajar secara keseluruhan,
tidak ada permasalahan bentrokan jadwal pada sisi mahasiswa, serta ketersediaan
ruang yang cukup dan sesuai secara fasilitas untuk seluruh mata kuliah yang ada.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
2
1.2. Perumusan Masalah
Berdasarkan latar belakang masalah tersebut maka dapat diuraikan
perumusan masalah yaitu bagaimana membuat aplikasi layanan informasi jadwal
mata kuliah serta cara penyusunan kombinasi jadwal mata kuliah yang efektif.
1.3. Batasan Masalah
Batasan masalah dalam tugas akhir ini adalah:
a. Sistem ini hanya dapat melakukan penjadwalan mata kuliah untuk satu
jurusan.
b. Semua dosen dianggap dosen S1 Teknik Informatika.
c. Jadwal tidak bisa berubah apabila sistem telah menghasilkan jadwal.
d. Sistem ini berbasis web yang dimasukkan dalam sebuah web server dan
dapat diakses dengan browser internet.
1.4. Tujuan
Tujuan dari penulisan tugas akhir ini adalah:
a. Menemukan solusi untuk mengatasi masalah terstruktur yang timbul
dari mata kuliah, dosen, mahasiswa, dan ruangan kuliah agar dapat
dialokasikan pada slot waktu dalam membangun jadwal mata kuliah.
b. Membangun sistem pendukung keputusan penjadwalan mata kuliah
dengan model pemrograman PHP.
c. Membuat sebuah aplikasi untuk penjadwalan mata kuliah yang dapat
membantu mempermudah dan mempercepat proses penyusunan
kombinasi jadwal mata kuliah yang efektif dengan hasil optimal untuk
mahasiswa dan dosen.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
3
1.5. Manfaat
Kegunaan dari program ini adalah untuk mempercepat proses penyusunan
kombinasi jadwal mata kuliah yang efektif dengan hasil optimal untuk mahasiswa
dan dosen agar tidak terjadi bentrokan antara jadwal mata kuliah yang satu dengan
yang lain pada sebuah institusi pendidikan atau universitas.
1.6. Metodologi Penelitian
Tugas akhir ini akan dikerjakan dengan metodologi sebagai berikut:
1. Pengumpulan Data
Pengumpulkan data-data yang dibutuhkan untuk menganalisa
permasalahan serta sebagai bahan untuk pembangunan Aplikasi
Penjadwalan Mata Kuliah FMIPA UNS.
2. Analisis Kebutuhan dan Perancangan Sistem
Melakukan analisa terhadap data-data yang diperoleh untuk
nantinya sebagai acuan dalam merancang sistem aplikasi. Dalam metode
kali ini, dilakukan pula perancangan desain sistem yang akan dibuat
nantinya.
3. Implementasi Sistem Aplikasi
Dari rancangan yang telah dibuat, selanjutnya mengimplementasikan
melalui pembuatan sistem, yaitu dengan menuliskan kode program
sesuai tahapan-tahapan yang ada pada perancangan.
4. Pengujian dan Evaluasi Sistem Aplikasi
Pengujian terhadap sistem yang telah dibuat untuk mengevaluasi
hasilnya dari sistem tersebut, serta melakukan error handling apabila
terdapat error pada sistem untuk dibenahi.
5. Penyusunan Laporan
Dari hasil pengumpulan data, analisa kebutuhan dan perancangan
sistem serta pengujian sistem aplikasi pada akhirnya dipakai sebagai
bahan penyusunan laporan.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
4
1.7. Sistematika Penulisan
Dalam penulisan tugas akhir ini, sistematika penulisan dibagi menjadi lima
bab yaitu :
Bab I Pendahuluan, berisikan penjelasan mengenai latar belakang, perumusan
masalah, batasan masalah, tujuan, manfaat, metodologi penelitian, serta
sistematika penelitian yang digunakan untuk menyusun laporan.
Bab II Landasan Teori, berisikan dasar teori yang digunakan dalam analisis,
perancangan dan implementasi tugas akhir.
Bab III Analisis Kebutuhan dan Perancangan, berisikan analisis terhadap
masalah serta perancangan sistem pendukung keputusan yang akan dibangun
sebagai dasar dalam tahap implementasi sistem.
Bab IV Implementasi, berisikan implementasi dari sistem berdasarkan
perancangan yang telah dilakukan serta melakukan pengujian sistem.
Bab V Penutup, berisi kesimpulan dan saran yang didapatkan selama penulisan
tugas akhir.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
6
BAB II
LANDASAN TEORI
2.1 Penjadwalan
Penjadwalan (Teddy, 2009) merupakan proses untuk menyusun suatu
jadwal atau urutan proses yang diperlukan dalam sebuah persoalan. Dalam
penjadwalan kuliah, akan dibahas tentang pembagian jadwal untuk tiap
mahasiswa pada kuliah tertentu sekaligus dosen pengajarnya, dalam penjadwalan
pelajaran sekolah akan dibahas tentang pembagian jadwal pelajaran untuk tiap-
tiap kelas yang ada beserta guru pengajar pelajaran tersebut, dalam penjadwalan
ujian akan dibahas pengaturan dosen yang menjaga ujian dan mahasiswa atau
murid yang menempati ruang ujian yang ada.
Proses tersebut tentu saja dibuat berdasarkan permasalahan yang ada.
Beberapa proses umum ynag perlu dilakukan untuk menyelesaikan suatu proses
penjadwalan menurut Research Group – Computer Science (BGU) adalah:
1. Mendefinisikan atau membuat model dari permasalahan. Model yang
dibuat mencakup proses apa saja yang akan dikerjakan dalam persoalan
penjadwalan yang ada. Atau lebih jelasnya jadwal apa saja yang akan
dibuat.
2. Mendesign metode penyelesaian untuk permasalahan penjadwalan
tersebut. Dari model yang telah ada, ditentukan metode yang akan
digunakan untuk menyelesaikan permasalahan penjadwalan tersebut.
Mencari bermacam-macam contoh permasalahan penjadwalan yang telah
dibuat. Dalam proses ini dilakukan pencarian penyelesaian penjadwalan yang
pernah digunakan agar dapat dipakai sebagai referensi dalam proses yang sedang
dilakukan.
2.2 Object Oriented Programing dengan PHP
Object Oriented Programming (OOP) (Rosa, 2010) merupakan paradigma
pemrograman yang berorientasikan kepada obyek. Semua data dan fungsi pada
paradigma ini dibungkus dalam kelas-kelas atau obyek-obyek. Bandingkan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
7
dengan logika pemrograman terstruktur, setiap obyek dapat menerima pesan,
memproses data, dan mengirim pesan ke obyek lainnya. OOP diciptakan untuk
mengatasi keterbatasan pada bahasa pemrograman tradisional. Konsep dari OOP
sendiri adalah semua pemecahan masalah dibagi ke dalam obyek. Dalam konsep
OOP data dan fungsi-fungsi yang akan mengoperasikannya digabungkan menjadi
satu kesatuan yang dapat disebut sebagai obyek.
2.2.1 Objek
Sederhananya, sebuah obyek adalah kumpulan dari variabel dan fungsi yang
dibungkus menjadi satu entitas. Entitas tersebut dapat berupa variabel biasa.
Sebuah obyek diciptakan melalui sebuah kelas atau dengan istilah instance of
class. Obyek memiliki 2 elemen utama:
1. Attributes atau Properties: Yaitu nilai-nilai yang tersimpan dalam objek
tersebut dan secara langsung maupun tidak langsung menentukan
karakteristik dari obyek tersebut.
2. Method: Yaitu suatu aksi yang akan dijalankan atau dikerjakan oleh
obyek tersebut.
2.2.2 Class
Class dapat didefinisikan sebagai struktur data atau cetak biru dari suatu
obyek. Lebih jelasnya adalah sebuah bentuk dasar atau blueprint yang
mendefinisikan variabel, method umum pada semua obyek. Obyek sendiri adalah
kumpulan variabel dan fungsi yang dihasilkan dari template khusus atau disebut
class. Obyek adalah elemen pada saat run-time yang akan diciptakan,
dimanipulasi, dan dibuang/di-destroy ketika eksekusi. Adapun class merupakan
definisi statik dari himpunan obyek yang mungkin diciptakan sebagai instantiasi
dari class.
2.3 Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak (Sommerville, 2003) adalah disiplin ilmu yang
membahas semua aspek produksi perangkat lunak, mulai dari tahap awal
spesifikasi system sampai pemeliharaan system setelah digunakan. Secara umum,
perekayasa perangkat lunak memakai pendekatan yang sistematis dan terorganisir
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
8
terhadap pekerjaan mereka karena cara ini seringkali paling efektif untuk
menghasilkan perangkat lunak berkualitas tinggi. Namun demikian, rekayasa ini
sebenarnya mencakup masalah pemilihan metode yang paling sesuai untuk satu
set keadaan dan pendekatan yang lebih kreatif, informal terhadap pengembangan
yang mungkin efektif pada beberapa keadaan.
Model proses perangkat lunak merupakan deskripsi yang disederhanakan
dari proses perangkat lunak yang dipresentasikan dengan sudut pandang tertentu.
Model, sesuai sifatnya, merupakan penyederhanaan, sehingga model proses
perangkat lunak merupakan abstraksi dari proses sebenarnya yang dideskripsikan.
Model proses bias mencakup kegiatan yang merupakan bagian dari proses
perangkat lunak, produk perangkat lunak, dan peran orang yang terlibat pada
rekayasa perangkat lunak. Beberapa contoh jenis model proses perangkat lunak
yang dapat dihasilkan di antaranya :
1. Model aliran kerja (work flow). Model ini menunjukkan urutan kegiatan
pada proses bersama dengan input, output, dan ketergantungan. Kegiatan
pada model ini mempresentasikan pekerjaan manusia.
2. Model aliran data (data flow) atau kegiatan. Model ini merepresentasikan
proses sebagai satu set kegiatan yang masing-masing melakukan
transformasi data. Model ini menunjukkan bagaimana input ke proses,
misalnya spesifikasi, ditransformasi menjadi output, misalnya desain.
Kegiatan di sini mungkin berada pada tingkat yang lebih rendah dari
pada kegiatan pada model aliran kerja. Model ini merepresentasikan
transformasi yang dilakukan oleh orang atau komputer.
Model peran/aksi. Model ini merepresentasikan peran orang yang terlibat
pada proses perangkat lunak dan kegiatan yang menjadi tanggung jawab mereka.
2.4 Framework
Framework (Wardana, 2010) adalah kumpulan perintah atau fungsi dasar
yangmembentuk aturan-aturan tertentu dan saling berinteraksi satu sama lain
sehingga dalam pembuatan aplikasi harus mengikuti aturan yang sudah ditentukan
tersebut. Framework dapat diartikan sebagai koleksi atau kumpulan potongan-
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
9
potongan program yang disusun atau diorganisasikan sedemikian rupa, sehingga
dapat digunakan untuk membantu membuat aplikasi utuh tanpa harus
membangundari awal. Oleh sebab itu, dengan menggunakan framework dapat
memberikan keuntungan berupa efisiensi waktu dan kemudahan dalam pembuatan
program. Kelebihan dari menggunakan framework adalah.
1. Waktu pembuatan aplikasi jauh lebih singkat.
2. Kode aplikasi menjadi lebih mudah dibaca, karena sedikit dan sifatnya
pokok. Detailnya adalah kode dari framework itu sendiri yang sudah
terjamin.
3. Aplikasi menjadi lebih mudah untuk diperbaiki, karena tidak perlu fokus
kesemua komponen kode, terutama kode sistem framework tersebut.
4. Tidak perlu membuat kode penunjang aplikasi seperti koneksi database,
form, GUI, keamanan dan lain sebagainya karena sudah disediakan oleh
framework.
5. Pemrograman menjadi lebih terfokus pada alur aplikasi seperti apa yang
akan ditampilkan dan layanan apa saja yang akan diberikan oleh aplikasi.
6. Jika proyek dikerjakan secara team work, maka akan lebih terarah karena
sistem framework mengharuskan adanya keteraturan peletakan kode.
Sehingga tim hanya akan berfokus pada bidang kerjanya masing-masing.
Yii (Huraira, 2012) merupakan salah satu framework (kerangka kerja) PHP
berbasis-komponen, berkinerja tinggi untuk pengembangan aplikasi Web
berskala-besar. Yii menyediakan reusability maksimum dalam pemrograman Web
dan mampu meningkatkan kecepatan pengembangan secara signifikan. Nama Yii
(dieja sebagai /i:/) singkatan dari "Yes It Is!".
2.5 Database Management System (DBMS)
Kumpulan file yang saling berkaitan bersama dengan program untuk
pengelolaannya disebut sebagai DBMS. Database adalah kumpulan datanya,
sedang program pengelolaannya berdiri sendiri dalam satu paket program
komersial untuk membaca data, mengisi data, menghapus data, melaporkan data
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
10
dalam database (Kristanto, 2003). DBMS dikelompokkan menjadi dua bagian,
yaitu.
1. RDBMS (Relational Database Management System), adalah perangkat
lunak yang didesain untuk mengatur/memanajemen sebuah basisdata
sebagai sekumpulan data yang disimpan secara terstruktur, dan
melakukan operasi-operasi atas data atas permintaan penggunanya.
Karasteristik dari RDBMS adalah :
a. Menyediakan operator relasional untuk memanipulasi data dalam
bentuk tabular.
b. Menyajikan data pada pengguna dalam bentuk relasional. Contoh dari
RDBMS adalah MySQL, MsQL, Microsoft SQL Server, Interbase.
2. ORDBMS (Object Relational Database Management System),
merupakan database sistem yang akan menggabungkan antara fitur pada
model objek dan fitur yang ada pada model relasional, yaitu menerapkan
konsep pada pemrograman berdasar objek sebagai perluasan dari model
relasional, sehingga pada ORDBMS ini mempunyai integrity constraint
yang tetap terjaga dan mendukung untuk data yang kompleks. Selain itu,
penerapan model objek yang reusable dapat mempermudah pembuatan
aplikasi basis data (Shalahuddin, 2005). Contoh dari ORDBMS adalah
PostgreSQL, Oracle.
PostgreSQL atau sering disebut Postgres merupakan salah satu dari
sejumlah database besar yang menawarkan skalabilitas, keluwesan, dan kinerja
yang tinggi. Penggunaannya begitu meluas di berbagai platform dan didukung
oleh banyak bahasa pemrograman. Bagi masyarakat TI (teknologi informasi) di
Indonesia, Postgres sudah digunakan untuk berbagai aplikasi seperti web, billing
system, dan sistem informasi besar lainnya. Karakteristik PostgreSQL antara lain :
1. PostgreSQL adalah sebuah object-relational database management
system (ORDBMS)
2. Bersifat open source
3. Mendukung standar SQL92 dan SQL99
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
11
4. Mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP,
dst.
2.6 Unified Modelling Language
Unified Modelling Language (Pender, 2002) adalah standar untuk
menciptakan model yang mewakili perangkat lunak berorientasi objek dan sistem
bisnis. UML memiliki standarisasi notasi tetapi tidak mendikte bagaimana
menerapkan notasi. UML mencakup spesifikasi untuk sembilan diagram berbeda
yang digunakan untuk berbagai dokumen perspektif dari solusi perangkat lunak
dari awal proyek sampai instalasi dan pemeliharaan mikrofinansial.
Salah satu cara untuk mengatur diagram UML adalah dengan menggunakan
view. View adalah kumpulan diagram yang menggambarkan aspek yang sama dari
proyek. View mempunyai 3 pelengkap, yaitu Static View, Dynamic View, dan
Functional View.
1. Static View termasuk diagram yang memberikan gambaran dari unsur-
unsur dari sistem tetapi tidak memberitahu bagaimana elemen akan
berperilaku. Hal ini sangat mirip Blueprint. Blueprint itu komprehensif,
tetapi mereka hanya menunjukkan apa yang tetap diam, maka disebut
Static View. Static View dibentuk oleh dua diagram, yaitu Class Diagram
dan Object Diagram.
2. Dynamic View meliputi diagram yang mengungkapkan bagaimana benda
berinteraksi dengan satu sama lain dalam respon terhadap lingkungan. Ini
termasuk Sequence Diagram dan Collaboration Diagram, yang kolektif
disebut sebagai diagram interaksi. Mereka secara khusus dirancang untuk
menjelaskan bagaimana benda berbicara satu sama lain. Ini juga
mencakup Statechart Diagram, yang menunjukkan bagaimana dan
mengapa perubahan objek dari waktu ke waktu dalam menanggapi
lingkungan.
3. Functional View terbentuk oleh Use Case Diagram dan Activity
Diagram.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
12
2.6.1 Use Case Diagram
Menggambarkan fitur di mana pengguna mengharapkan sistem untuk
menyediakan. Lima elemen pemodelan yang membentuk Use Case Diagram:
system, actor, Use Case, association, dan dependency.
Tabel 2.1 Simbol Use Case (Rosa, 2010)
Simbol Deskripsi
Aktor
Aktor merupakan orang atau aplikasi lain yang
berinteraksi dengan aplikasi yang akan dibuat di
luar aplikasi yang akan dibuat itu sendiri.
Use case
Use case merupakan fungsi/proses yang
disediakan aplikasi sebagai unit-unit yang saling
bertukar pesan/berinteraksi antar unit atau aktor.
Asosiasi
Asosiasi merupakan komunikasi antara actor dan
use case yang berpartisipasi pada use case atau
use case memiliki interaksi dengan aktor.
Ekstensi
<<extends>>
Ekstensi merupakan hubungan use case
tambahan kesebuah use case dimana use case
yang ditambahkan dapat berdiri sendiri walau
tanpa use case itu.
Generalisasi
Generalisasi merupakan hubungan generalisasi
dan spesialisasi (umum khusus) antara dua buah
use case dimana fungsi yang satu adalah fungsi
yang lebih umum dari fungsi yang lainnya.
Include
<<include>>
Include merupakan hubungan use case tambahan
kesebuah use case dimana use case yang
ditambahkan memerlukan use case ini untuk
menjalankan fungsinya atau sebagai syarat
dijalankan use case ini.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
13
2.6.2 Activity Diagram
Diagram ini menggambarkan proses yang termasuk tugas berurutan, logika
kondisional, dan konkurensi. Diagram ini adalah seperti flowchart, tetapi telah
ditingkatkan untuk digunakan dengan pemodelan objek.
Tabel 2.2 Simbol Activity Diagram (Rosa,2010)
Simbol Keterangan
Titik Awal
Titik Akhir
Activity
Pilihan untuk pengambilan keputusan
Fork; Untuk menunjukkan kegiatan yang dilakukan
secara paralel
Rake; menunjukkan adanya dekomposisi
Tanda Waktu
Tanda Penerimaan
Aliran Akhir (Flow Final)
2.6.3 Class Diagram
Class Diagram terdiri dari tiga kompartemen (ruang persegi panjang) yang
mengandung informasi yang berbeda diperlukan untuk menjelaskan sifat-sifat satu
jenis objek. Untuk penjelasan simbol Class Diagram berada pada tabel 2.3.
2.6.4 Sequence Diagram
Semua Sequence diagram lebih dimodelkan pada tingkat objek daripada
tingkat kelas untuk memungkinkan skenario yang menggunakan lebih dari satu
instance dari kelas yang sama dan bekerja pada tingkat fakta, data uji, dan contoh.
Sequence Diagram menggunakan tiga elemen notasi mendasar: object,
message/stimuli, and object lifeline (Wahono, 2003).Untuk penjelasan simbol
Sequence Diagram berada pada tabel 2.4.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
14
Tabel 2.3 Simbol Class Diagram (Rosa, 2010)
Simbol Deskripsi
Kelas
Kelas pada struktur system
Paket /package
Paket/package merupakan sebuah
bungkusan dari satu atau lebih kelas
(kumpulan kelas).
Asosiasi
Asosiasi merupakan hubungan antar
kelas dengan makna umum, asosiasi
biasanya juga disertai dengan
multiplisity.
Generalisasi
Generalisasi merupakan hubungan
generalisasi dan spesialisasi
(umumkhusus) antara dua kelas
dimana fungsi yang satu adalah fungsi
yang lebih umum dari fungsi yang
lainnya.
Kebergantungan/dependency
Depedency merupakan hubungan
antarkelas yang saling bergantung,
membutuhkan satu sama lain.
Agregasi
Agregasi merupakan hubungan antar
kelas dimana satu kelas merupakan
semua bagian dari kelas kelas yang
lain.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
15
Tabel 2.4 Simbol Sequence Diagram (Pender, 2002)
Simbol Deskripsi
Objek dan kelas
Menggambarkan seseorang atau sesuatu
(seperti perangkat, sistem lain) yang
berinteraksi dengan sistem.
Lifeline
Lifeline merupakan siklus hidup sebuah
pesan/ message berdasarkan waktu.
Pesan/message
Pesan/message merupakan komunikasi
antara objek yang satu dengan objek yang
lainnya dimana objek yang satu meminta
objek yang lain untuk melakukan sesuatu.
Pesan ini diimplementasikan menjadi
metode.
Return message
Return message merupakan balasan/hasil
yang berisi nilai dari sebuah objek yang
diminta kepada objek yang meminta
(mengirim pesan).
Self message
Self message merupakan pesan dari sebuah
objek kepada objek itu sendiri untuk
melakukan suatu aksi.
Return self message
Return self message sebagaimana return
message merupakan balasan/hasil dari self
message yang berisi suatu nilai kepada
objek itu sendiri.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
16
2.7 Flowchart
Flowchart (Kristanto,2003) merupakan bagan yang menunjukkan alur kerja
atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan
menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata
lain, flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-
prosedur yang terkombinasi yang membentuk suatu sistem.
2.7.1 Simbol-simbol Flowchart
Simbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol
flowchart standar yang dikeluarkan oleh ANSI dan ISO.
Tabel 2.5 Simbol Flowchart (Kristanto, 2003)
Simbol Nama Fungsi
Terminator Permulaan/akhir program
Garis Alir
(Flow Line)
Arah aliran program
Preparation Proses inisialisasi/pemberian harga awal
Proses Proses perhitungan/proses pengolahan data
Input/Output
Data
Proses input/output data, parameter,
informasi
Predefined
Process
(Sub Program)
Permulaan sub program/proses
menjalankan sub program
Decision Perbandingan pernyataan, penyeleksian
data yang memberikan pilihan untuk
langkah selanjutnya
On Page
Connector
Penghubung bagian-bagian flowchart yang
berada pada satu halaman
Off Page
Connector
Penghubung bagian-bagian flowchart yang
berada pada halaman berbeda
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
17
BAB III
ANALISIS KEBUTUHAN DAN PERANCANGAN
3.1 Lingkungan Implementasi
Dalam pengembangan Sistem Penjadwalan Mata Kuliah lingkungan
implementasi yang digunakan selama melakukan pengembangan antara lain ada
perangkat keras dan perangkat lunak, adapun rinciannya antara lain adalah
sebagai berikut :
1. Perangkat Keras
Processore : AMD Dual-Core C-50 (1.0 GHz)
Memory(RAM) : 2,00 GB
2. Perangkat Lunak
Operating System : Windows 7 Ultimate
Script Language : PHP OOP
Pemodelan : StarUML
Framework : YII Framework
Web server : XAMPP
Editor : Notepad++
Database server : PostgreSQL
3.2 Deskripsi Sistem
Aplikasi merupakan suatu sistem berita elektronik yang dirancang untuk
memudahkan proses pemberitahuan secara elektronik, baik pada proses output
input, maupun update. Mahasiswa dapat mengetahui jadwal kuliah dengan masuk
ke dalam sistem dan melihat jadwal kuliah, yang menggantikan kertas-kertas
jadwal. Proses input jadwal hanya bisa dilakukan oleh pihak yang memiliki
otoritas, yaitu pihak pendidikan sebagai admin dan sekretariat jurusan serta dosen
untuk melengkapi data yang di inputkan. Setelah itu admin melakukan generate
agar tercipta jadwal yang sesuai.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
18
3.3 Analisis Kebutuhan
3.3.1 Kebutuhan Fungsional
Tabel 3.1 Kebutuhan fungsional sistem
Kode Nama Kebutuhan Level
FRSS-01 Sistem harus menyediakan fungsi login
sebagai otoritas hak akses pengguna sistem
Admin
FRSS-02 Sistem harus harus dapat digunakan untuk
melihat data mata kuliah yang tayang
Admin
FRSS-03 Sistem harus dapat digunakan untuk melihat
data ruangan kelas
Admin
FRSS-04 Sistem harus dapat digunakan untuk melihat
jadwal
Admin, User
FRSS-05 Sistem harus dapat digunakan untuk melihat
data dosen
Admin
FRSS-06 Sistem harus dapat digunakan untuk
mengupdate data mata kuliah tayang
Admin
FRSS-07 Sistem harus dapat digunakan untuk
menambah data ruangan kelas
Admin
FRSS-08 Sistem harus dapat digunakan untuk
mengupdate data ruangan kelas
Admin
FRSS-09 Sistem harus dapat digunakan untuk melihat
data hari dan waktu kuliah
Admin
FRSS-10 Sistem harus dapt digunakan untuk
mengupdate data hari dan waktu kuliah
Admin
FRSS-11 Sistem harus dapat digunakan untuk
menyusun jadwal
Admin
FRSS-12 Sistem harus dapat digunakan untuk
mengupdate data dosen
Admin
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
19
FRSS-13 Sistem harus dapat digunakan untuk melihat
data penugasan dosen terhadap mata kuliah
tayang
Admin
FRSS-14 Sistem harus dapat digunakan untuk
mengupdate data penugasan dosen terhadap
mata kuliah tayang
Admin
FRSS-15 Sistem harus dapat digunakan untuk melihat
data waktu dosen berhalangan
Admin
FRSS-16 Sistem harus menyediakan data jadwal
untuk sistem lain
3.3.2 Kebutuhan Non Fungsional
Tabel 3.2 Kebutuhan non fungsional sistem
NFRSS-01 Sistem harus dapat mengurangi penjadwalan secara manual
NFRSS-02 Sistem harus dapat digunakan di berbagai jurusan
NFRSS-03 Sistem hanya dapat melakukan penyusunan jadwal satu kali
setiap semester
3.4 Perancangan Sistem
3.4.1 Pemodelan Use Case
1. Deskripsi Aktor
Tabel 3.3 Deskripsi Aktor
Nama Deskripsi
Admin Adalah orang yang bertanggung jawab mengelola
dan melakukan generate jadwal setiap awal semester.
User Adalah orang yang melihat jadwal.
Sistem Penilaian Adalah sistem external yang bertugas memberikan
data dosen.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
20
2. Hak dan Kewajiban Aktor
Tabel 3.4 Hak dan Kewajiban Aktor
Nama Deskripsi
Bag. Pendidikan / Admin - Mengelola keseluruhan sistem.
Mendaftarkan dosen yang akan di
jadwalkan.
- Melengkapi data dosen yang telah di
inputkan,
- Mengisi ketersediaan waktu dosen.
- Mendaftarkan mata kuliah yang aktif.
- Mendaftarkan ruang dan kelas.
- Melakukan generate jadwal.
User - Melihat jadwal yang telah di generate.
Sistem Penilaian - Memberikan data dosen.
3. Deskripsi Use Case
Tabel 3.5 Deskripsi Use Case
Nama Deskripsi
Login Fungsi yang digunakan sebagai autentikasi
untuk memberikan hak akses sesuai yang
dimiliki masing-masing user agar dapat
menggunakan fungsi-fungsi lain di dalam
sistem.
Kelola Mata Kuliah Fungsi yang digunakan untuk mengelola
Mata Kuliah, baik penambahan ataupun
menonaktifkan.
Kelola Ruangan Fungsi yang digunakan untuk mengelola
Ruangan, baik penambahan, mengedit
ataupun menghapus.
Kelola Waktu Kuliah Fungsi yang digunakan untuk mengelola
waktu kuliah meliputi hari dan jam.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
21
Kelola Dosen Fungsi yang digunakan untuk mengelola Data
dosen yang didapat dari sistem penilaian.
Kelola Penugasan Dosen Fungsi yang digunakan untuk mengelola data
dosen dan mata kuliah yang akan diampu.
Kelola Waktu Dosen Fungsi yang digunakan untuk mengelola
waktu dosen yang berhalangan pada hari
tertentu.
Kelola Jadwal Fungsi yang digunakan untuk mengelola
Jadwal berdasarkan waktu perkuliahan, mata
kuliah tayang, ruang kuliah, dosen dan juga
waktu dosen yang berhalangan
4. Diagram Use Case
Gambar 3.1 Use Case Diagram Aplikasi Penjadwalan Mata Kuliah
Bag. Pendidikan/Admin
Memasukkan Data Dosen
Memasukkan Data Mata Kuliah
Melihat Jadwal
Memasukkan ketersediaan waktu dosen
Generate Jadwal
Memasukkan Hari & Jam Kuliah
Melihat Daftar Dosen
Melihat Daftar Mata Kuliah
Melihat Daftar Mahasiswa
Melihat Daftar Ruang
Menerima Data Dosen
Menerima Data Mahasiswa
Sistem Penilaian
<<include>>
Validasi Mahasiswa
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
Memasukkan Data Tugas
<<include>>
<<include>>
Memasukkan Data Ruang
Login
<<include>>
<<include>>
<<include>><<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
User
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
22
3.4.2 Activity Diagram
a. Activity Diagram Authentication User
Form Login
Masukkan Username
Masukkan Password
cocok dbPass
Ya
Valid ? Tidak
Gambar 3.2 Activity Diagram Authentication User
b. Activity Diagram Input Mata Kuliah
Masukkan Kode Mata Kuliah
Masukkan Nama Mata Kuliah
Masukkan Semester
Masukkan Jumlah SKS
Cek Kode Mata Kuliah
Belum Sudah
Simpan
Gambar 3.3 Activity Diagram Input Mata Kuliah
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
23
c. Activity Diagram Input Ruang Kuliah
Masukkan Nama Ruang
Masukkan Kapasitas Ruangan
Simpan
Gambar 3.4 Activity Diagram Input Ruang Kuliah
d. Activity Diagram Input Hari dan Slot Waktu
Masukkan Hari
Masukkan Slot Waktu
Simpan
Cek Hari
Ya
Cek Slot Waktu
Ya
Tidak
Tidak
Gambar 3.5 Activity Diagram Input Hari dan Slot Waktu
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
24
e. Activity Diagram Input Dosen
Masukkan Kode Dosen
Masukkan Nama Dosen
Simpan
Periksa kode dosen apakah sudah ada ?
Belum
Sudah
Gambar 3.6 Activity Diagram Input Dosen
f. Activity Diagram Penugasan Dosen Terhadap Mata Kuliah
Pilih Mata Kuliah
Pilih Dosen yang di tugasi mengajar
Masukkan Kelas
Masukkan Jumlah Mahasiswa
Simpan
Gambar 3.7 Activity Diagram Penugasan Dosen Terhadap Mata Kuliah
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
25
g. Activity Diagram Input Waktu Dosen
Pilih nama dosen
Masukkan hari dan waktu berhalangan mengajar
simpan
Gambar 3.8 Activity Diagram Input Waktu Dosen
h. Activity Diagram Alur Algoritma
Data Penjadwalan Mengambil data Penugasan
Mengambil data Mata kuliah
Mengambil data dosen
Mengambil data Ruang
Mengambil data waktu
Statement
Jadwal Mata Kuliah
Simpan
Ya
Belum
Gambar 3.9 Activity Diagram Alur Algoritma
i. Activity Diagram Lihat Jadwal
Pilih Jadwal Tampilkan Jadwal
Gambar 3.10 Activity Diagram Lihat Jadwal
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
26
3.4.3 Class Diagram Tahap Analisis
Class Diagram tahap analisis merupakan diagram yang menjelaskan
hubungan antar class secara sederhana.
a. Login
LoginLogin view
Session Control
AdminUser
Gambar 3.11 Class Diagram Login
b. Kelola Mata Kuliah
Input MK
Edit MK
Lihat MK
ControlMK MKBag. Pendidikan/Admin
Gambar 3.12 Class Diagram Kelola Mata Kuliah
c. Kelola Ruangan
Input Ruangan
Edit Ruangan
Lihat Ruangan
ControlRuangan RuanganBag. Pendidikan/Admin
Gambar 3.13 Class Diagram Kelola Ruangan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
27
d. Kelola Waktu Kuliah
Hari
Waktu
Input Hari
Edit Hari
Input Waktu
Lihat hari
Edit waktuLihat Waktu
ControlHariWaktu
Bag. Pendidikan/Admin
Admin
Gambar 3.14 Class Diagram Kelola Waktu Kuliah
e. Kelola Dosen
ControlDosen Dosen
Lihat Dosen
Edit Dosen
Bag. Pendidikan/Admin
Input Dosen
Gambar 3.15 Class Diagram Kelola Dosen
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
28
f. Kelola Penugasan Dosen
DosenLihat Dosen
Edit Dosen
Edit MK
Lihat MK
MK
Penugasan
ControlTugasBag. Pendidikan/Admin
Gambar 3.16 Class Diagram Kelola Penugasan Dosen
g. Kelola Waktu Dosen
DosenLihat Dosen
Edit Dosen Hari
Waktu
WaktuDosen
ControlWaktuDosen
Input Hari Waktu
Edit Hari Waktu
Lihat Hari Waktu
Bag. Pendidikan/Admin
Gambar 3.17 Class Diagram Kelola Waktu Dosen
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
29
h. Kelola Jadwal
Hari
Waktu
Dosen
MK
Ruangan
Penugasan
WaktuDosen
ControlJadwal
Jadwal
Lihat Dosen
Lihat Hari Waktu
Lihat MK
Lihat Ruangan
Lihat MK
Bag. Pendidikan/Admin
Gambar 3.18 Class Diagram Kelola Jadwal
3.4.4 Sequence Diagram
a. Login
: Login view<<boundary>>
: Login<<control>>
: User
: User<<entity>>
: Session Control<<control>>
1 : setUsername()
2 : setPassword()
3 : getUsername()
4 : getPassword()
5 : cekFormat()
6 : displayPesan()7 : getUsername()
8 : getPassword()
9 : getLevel()
10 : getUsername()
11 : cekDatabase()
12 : displayPesan() 13 : koneksi()
Gambar 3.19 Sequence Diagram Kelola Jadwal
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
30
b. Kelola Mata Kuliah
: Bag. Pendidikan/Admin
: Input MK<<boundary>>
: Edit MK<<boundary>>
: Lihat MK<<boundary>>
: Session Control<<control>>
: ControlMK<<control>>
: MK<<entity>>
1 : initKoneksi()
2 : getKodeMK()
3 : setNamaMK()
4 : setSKSMK()
5 : setSemesterMK()
6 : setKodeMK()
7 : setNamaMK()
8 : setSKSMK()
9 : setSemesterMK()
10 : getKodeMK()
11 : getNamaMK()
12 : getSKSMK()
13 : getSemesterMK()
14 : cekKodeMK()
15 : pesan()16 : setKodeMK()
17 : setNamaMK()18 : setKodeMK() 19 : setSKSMK()20 : setNamaMK() 21 : SetSemesterMK()
22 : setSKSMK()
23 : getKodeMK()
24 : setSemesterMK()
25 : getNamaMK()
26 : getSKSMK()
27 : getSemesterMK() 28 : setKodeMK()
29 : setNamaMK()
30 : setSKSMK()
31 : setSemesterMK()
32 : pesansukses()
Gambar 3.20 Sequence Diagram Kelola Mata Kuliah
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
31
c. Kelola Ruangan
Gambar 3.21 Sequence Diagram Kelola Ruangan
: Input Ruangan<<boundary>>
: Edit Ruangan<<boundary>>
: Lihat Ruangan<<boundary>>
: ControlRuangan<<control>>
: Session Control<<control>>
: Bag. Pendidikan/Admin
: Ruangan<<entity>>
1 : initKoneksi()
2 : getIdRuang()
3 : setNamaRuang()
4 : setNamaRuang()
5 : getNamaRuang()6 : cekKodeRuang()
7 : PesanSukses()
8 : autoKodeRuang()
9 : getNamaRuang()
10 : getNamaRuang()11 : setNamaRuang()
12 : cekKodeRuang()
13 : getNamaRuang()
14 : pesanSukses()
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
32
: Bag. Pendidikan/Admin
: Lihat Hari Waktu<<boundary>>
: Session Control<<control>>
: Edit Hari Waktu<<boundary>>
: Input Hari Waktu<<boundary>>
: Hari<<entity>>
: Waktu<<entity>>
: ControlHariWaktu<<control>>
1 : initKoneksi()
2 : getKodeHari()
3 : getKodeWaktu()
4 : setNamaHari()
5 : setWaktuMulai()
6 : setWaktuSelesai()
7 : setNamaHari()
8 : setWaktuMulai()
9 : setWaktuSelesai()
10 : getNamaHari()
11 : getWaktuMulai()
12 : getWaktuSelesai()13 : getNamaHari()
14 : getWaktuMulai()15 : setNamaHari()
16 : getWaktuSelesai()17 : setWaktuMulai()
18 : cekKode()19 : setWaktuSelesai()
20 : PesanSukses()
21 : getNamaHari()
22 : getWaktuMulai()
23 : getWaktuSelesai() 24 : getNamaHari()
25 : getWaktuMulai()26 : getWaktuSelesai()
27 : cekKode()
28 : pesanSukses()
d. Kelola Waktu Kuliah
Gambar 3.22 Sequence Diagram Kelola Waktu Kuliah
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
33
e. Kelola Dosen
Gambar 3.23 Sequence Diagram Kelola Dosen
: Bag. Pendidikan/Admin
: Lihat Hari Waktu<<boundary>>
: Session Control<<control>>
: Edit Hari Waktu<<boundary>>
: Input Hari Waktu<<boundary>>
: Hari<<entity>>
: Waktu<<entity>>
: ControlHariWaktu<<control>>
1 : initKoneksi()
2 : getKodeHari()
3 : getKodeWaktu()
4 : setNamaHari()
5 : setWaktuMulai()
6 : setWaktuSelesai()
7 : setNamaHari()
8 : setWaktuMulai()
9 : setWaktuSelesai()
10 : getNamaHari()
11 : getWaktuMulai()
12 : getWaktuSelesai()13 : getNamaHari()
14 : getWaktuMulai()15 : setNamaHari()
16 : getWaktuSelesai()17 : setWaktuMulai()
18 : cekKode()19 : setWaktuSelesai()
20 : PesanSukses()
21 : getNamaHari()
22 : getWaktuMulai()
23 : getWaktuSelesai() 24 : getNamaHari()
25 : getWaktuMulai()26 : getWaktuSelesai()
27 : cekKode()
28 : pesanSukses()
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
34
3.4.5 Class Diagram
a. Login
User
Login view<<boundary>>
+setUsername()+setPassword()+getUsername()+getPassword()+displayMessage()
User<<entity>>
+getUsername()+getPassword()+getLevel()
Session Control<<control>>
+koneksi()
Gambar 3.24 Class Diagram Login
b. Kelola Mata Kuliah
Bag. Pendidikan/Admin
Edit MK<<boundary>>
+setKodeMK()+getKodeMK()+setUpdateDataMK()+getUpdateDataMK()+displayMessage()
Input MK<<boundary>>
+setKodeMK()+getKodeMK()+setDataMK()+getDataMK()+displayMessage()
Lihat MK<<boundary>>
+getKodeMK()+getNamaMK()+getSKSMK()+getSemesterMK()
ControlMK<<control>>
+cekKode()+initKoneksi()
MK<<entity>>
+kodeMK+namaMK+SKSMK+semesterMK
+setKodeMK()+setDataMK()+setUpdateDataMK()
Gambar 3.25 Class Diagram Kelola Mata Kuliah
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
35
a. Kelola Ruangan
Bag. Pendidikan/Admin
Edit Ruangan<<boundary>>
+setIdRuangan()+setUpdateNamaRuangan()+getIdRuangan()+getUpdateNamaRuangan()+DisplayMessage()
Input Ruangan<<boundary>>
+setIdRuangan()+setNamaRuangan()+getIdRuangan()+getNamaRuangan()+DisplayMessage()
Lihat Ruangan<<boundary>>
+getIdRuangan()+getNamaRuangan()
ControlRuangan<<control>>
+cekIdRuangan()+initKoneksi()
Ruangan<<entity>>
+IdRuangan+NamaRuangan
+setIdRuangan()+setNamaRuangan()+setUpdateNamaRuangan()
Gambar 3.26 Class Diagram Kelola Ruangan
b. Kelola Waktu Kuliah
Bag. Pendidikan/Admin
Input Hari Waktu<<boundary>>
+setHariWaktu()+getHariWaktu()+displayMessage()
Edit Hari Waktu<<boundary>>
+setUpdateHariWaktu()+getUpdateHariwaktu()
Lihat Hari Waktu<<boundary>>
+getIdHari()+getNamaHari()+getIdWaktu()+getWaktuMulai()+getWaktuSelesai()
ControlHariWaktu<<control>>
+cekIdHari()+cekIdWaktu()+initKoneksi()
Hari<<entity>>
+IdHari+NamaHari
+setIdHari()+setNamaHari()
Waktu<<entity>>
+IdWaktu+WaktuMulai+WaktuSelesai
+setIdWaktu()+setWaktuMulai()+setWaktuSelesai()
Gambar 3.27 Class Diagram Kelola Waktu Kuliah
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
36
c. Kelola Dosen
Dosen<<entity>>
+IdDosen+NamaDosen+NIPDosen+TelpDosen
+setIdDosen()+setUpdateDataDosen()
Lihat Dosen<<boundary>>
+getDataDosen()
Edit Dosen<<boundary>>
+setIdDosen()+setUpdateDataDosen()+getIdDosen()+getUpdateDataDosen()+DisplayMessage()
ControlDosen<<control>>
+cekId()+initKoneksi()
Bag. Pendidikan/Admin
Gambar 3.28 Class Diagram Kelola Dosen
3.4.6 Flowchart Proses Penjadwalan
Mulai
Jumlah Tugas = n
i = 1
i <= Jumlah Tugas
Pilih Random
(cell)
a = random (cell)
status (a) = sudah
Cell [ i ] = ai = i++
Cetak
(kelas [ i ])
Selesai
Gambar 3.29 Flowchart Proses Penjadwalan
Cell merupakan suatu blok atau bagian yang meliputi waktu, hari dan
ruangan. Pilih Random (cell) merupakan pemilihan secara acak dari cell tersebut.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
37
3.5 Desain Interface
Interface yang disediakan meliputi dua halaman diantaranya adalah halaman
login dan halaman utama.
1. Halaman Login
Gambar 3.30 Halaman Login
Untuk admin, jurusan, dosen, maupun mahasiswa semuanya
menggunakan halaman login yang sama, yang akan membedakan untuk
menuju halaman utama admin, jurusan, dosen, maupun mahasiswa adalah
proses redirecting untuk memposisikan pada tugasnya masing-masing.
2. Halaman Utama
Gambar 3.31 Halaman Utama
Konten
Username :
Password :
Header
Footer
Login
Header
Footer
Menu Navigasi
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
38
Halaman utama untuk admin, jurusan, dosen, maupun mahasiswa
semuanya adalah sama, yang akan membedakan fungsionalitasnya adalah
komponen-komponen halaman yang berbeda. Jadi untuk admin sistematau
bagian pendidikan akan disediakan halaman untuk mengelola sistem,
sedangkan jurusan akan disediakan halaman untuk menambah nama dosen
dan penugasan dosen, dan untuk halaman dosen akan disediakan halaman
untuk memasukkan ketersediaan waktu dosen.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
39
BAB IV
IMPLEMENTASI
4.1 Implementasi Sistem
Sesuai dengan perancangan sistem yang telah dikemukakan sebelumnya,
pada aplikasi penjadwalan mata kuliah terdapat 4 macam User yaitu
Bag.Pendidikan/admin, Jurusan, Dosen dan Mahasiswa. Berikut ini merupakan
implementasi halaman yang dapat diakses oleh masing-masing User.
4.1.1 Tampilan Halaman Login
Gambar 4.1 Halaman Login
Halaman ini adalah halaman login user yang sudah terdaftar dan admin akan
login pada halaman ini, karena data bersifat pribadi maka selain user yang sudah
terdaftar dan admin, tidak akan bisa mengakses halaman ini.
4.1.2 Halaman Input Mata Kuliah
Gambar 4.2 Halaman Tambah Mata Kuliah
Halaman ini merupakan halaman yang dapat diakses oleh admin. Untuk
memasukan mata kuliah perlu memasukkan kode mata kuliah, dan di cek terlebih
dahulu. Admin dapat menginputkan Mata Kuliah, maupun mengedit Mata Kuliah.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
40
4.1.3 Halaman Input Ruang Kuliah
Gambar 4.3 Halaman Tambah Ruang Kuliah
Halaman ini merupakan halaman untuk menambah maupun mengedit ruang
kuliah serta kapasitas ruang kuliah.
4.1.4 Halaman Input Hari dan Waktu Kuliah
Gambar 4.4 Halaman Tambah Hari dan Waktu Kuliah
Halaman ini merupakan halaman untuk menginput hari dan waktu
perkuliahan. Pada halaman ini juga dapat mengedit dan menghapus hari dan
waktu kuliah.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
41
4.1.5 Halaman Input Dosen
Gambar 4.5 Halaman Tambah Dosen
Halaman ini hanya dapat di akses oleh admin, yang merupakan halaman
untuk menginput dosen. Dengan memasukkan kode dan nama dosen yang
kemudian nanti akan dilengkapi sendiri oleh dosen.
4.1.6 Halaman Penugasan Dosen
Gambar 4.6 Halaman Penugasan Dosen
Halaman ini merupakan halaman untuk memberi tugas dosen untuk
mengampu salah satu mata kuliah. Halaman ini hanya dapat di akses oleh admin.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
42
4.1.7 Halaman Input Waktu Berhalangan Mengajar
Gambar 4.7 Halaman Input Waktu Berhalangan Mengajar
Halaman ini merupakan halaman untuk memasukkan hari dan juga waktu
berhalangan mengajar agar pada saat menyusun jadwal tidak dimasukkan kedalam
perhitungan.
4.1.8 Halaman Generate Jadwal
Gambar 4.8 Halaman Generate Jadwal
Halaman ini merupakan halaman untuk melakukan reset jadwal dan
generate jadwal apabila semua syarat telah terpenuhi.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
43
4.1.9 Halaman View Jadwal
Gambar 4.9 Halaman View Jadwal
Halaman ini merupakan halaman untuk melihat jadwal yang telah di
generate. Halaman ini dapat di akses oleh semua user. Halaman ini merupakan
hasil dari proses yang telah digambarkan pada flowchart pada bab sebelumnya.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
44
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Aplikasi penjadwalan ini merupakan masalah yang sangat kompleks. Dalam
pengembangan kali ini menggunakan moel pemrograman PHP dan
memnggunakan database PostgreSQL. Algoritma yang dibangun dalam
pengembangan ini dapat digunakan sebagai solusi untuk menyelesaikan masalah
penjadwalan mata kuliah. Dengan batasan-batasan yang telah diberikan pada
penjadwalan mata kuliah, aplikasi ini mampu menghasilkan jadwal perkuliahan.
Berdasarkan beberapa kali uji coba yang dilakukan dengan beberapa mata kuliah
dan beberapa dosen, sehingga aplikasi ini sudah dapat digunakan untuk membuat
jadwal perkuliahan.
5.2 Saran
Aplikasi penjadwalan mata kuliah ini perlu dikembangkan lagi karena masi
ada aturan-aturan penting yang belum ditangani. Jika dikembangkan penulis
menyarankan untuk menambahkan algoritma-algoritma yang penyusunanya lebih
akurat dan juga menggunakan optimasi penjadwalan agar tidak ada bentrok
dengan jadwal lain karena masalah penjadwalan mata kuliah adalah masalah yang
kompleks.