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
commit to user
ii
HALAMAN PERSE TUJUAN
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
commit to user
iii
HALAMAN PENGE SAHAN
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
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
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.
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.
commit to user
vi
MOTTO
“Sesungguhnya Allah tidak mengubah keadaan sesuatu kaum
hingga mereka mengubah k
eadaan yang ada pada mereka sendiri”
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
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
commit to user
KATA PENGANTAR ... viii
DAFTAR ISI ... ix
DAFTAR TABEL ... xii
DAFTAR GAMBAR ... xiii
BAB IPENDAHULUAN ... 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 IILANDASAN 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
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 IIIANALISIS 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 IVIMPLEMENTASI ... 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
commit to user
xi
BAB VKESIMPULAN DAN SARAN ... 44
5.1 Kesimpulan ... 44
5.2 Saran ... 44
DAFTAR PUSTAKA ... 45
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 ClassDiagram (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
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
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
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.
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
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
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
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
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
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 F ramework
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
potongan-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,
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
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
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
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
commit to user
14
Tabel 2.3 Simbol ClassDiagram (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
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
commit to user
16
2.7 F lowchart
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 F lowchart
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
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
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
menyusunjadwal
Admin
FRSS-12 Sistem harus dapat digunakan untuk
mengupdate data dosen
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
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
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
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
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
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
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
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
Login Login view
Session Control
Admin User
Gambar 3.11 Class Diagram Login
b. Kelola Mata Kuliah
Input MK
Edit MK
Lihat MK
ControlMK MK
Bag. Pendidikan/Admin
Gambar 3.12 Class Diagram Kelola Mata Kuliah
c. Kelola Ruangan
Input Ruangan
Edit Ruangan
Lihat Ruangan
ControlRuangan Ruangan Bag. Pendidikan/Admin
commit to user
27
d. Kelola Waktu Kuliah
Hari
Waktu Input Hari
Edit Hari
Input Waktu Lihat hari
Edit waktu Lihat 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
commit to user
28
f. Kelola Penugasan Dosen
Dosen Lihat Dosen
Edit Dosen
Edit MK Lihat MK
MK
Penugasan ControlTugas
Bag. Pendidikan/Admin
Gambar 3.16 Class Diagram Kelola Penugasan Dosen
g. Kelola Waktu Dosen
Dosen Lihat Dosen
Edit Dosen Hari
Waktu
WaktuDosen ControlWaktuDosen
Input Hari Waktu
Edit Hari Waktu
Lihat Hari Waktu Bag. Pendidikan/Admin
commit to user
29
h. Kelola Jadwal
Hari
Gambar 3.18 Class Diagram Kelola Jadwal
3.4.4 Sequence Diagram
a. Login
: Session Control <<control>>
12 : displayPesan() 13 : koneksi()
commit to user
30
b. Kelola Mata Kuliah
: Bag. Pendidikan/Admin
: Input MK : Session Control
<<control>>
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()
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
5 : getNamaRuang()6 : cekKodeRuang()
commit to user
32
: Bag. Pendidikan/Admin
: Lihat Hari Waktu <<boundary>> : Session Control
<<control>>
12 : getWaktuSelesai()13 : getNamaHari()
14 : getWaktuMulai()
23 : getWaktuSelesai() 24 : getNamaHari()
25 : getWaktuMulai() 26 : getWaktuSelesai()
27 : cekKode()
28 : pesanSukses()
d. Kelola Waktu Kuliah
commit to user
33
e. Kelola Dosen
Gambar 3.23 Sequence Diagram Kelola Dosen
: Bag. Pendidikan/Admin
: Lihat Hari Waktu <<boundary>> : Session Control
<<control>>
12 : getWaktuSelesai()13 : getNamaHari()
14 : getWaktuMulai()
23 : getWaktuSelesai() 24 : getNamaHari()
25 : getWaktuMulai() 26 : getWaktuSelesai()
27 : cekKode()
commit to user
34
3.4.5 Class Diagram
a. Login
Gambar 3.24 Class Diagram Login
b. Kelola Mata Kuliah
Bag. Pendidikan/Admin
commit to user
35
a. Kelola Ruangan
Bag. Pendidikan/Admin
Gambar 3.26 Class Diagram Kelola Ruangan
b. Kelola Waktu Kuliah
Bag. Pendidikan/Admin
commit to user
36
c. Kelola Dosen
Dosen
Gambar 3.28 Class Diagram Kelola Dosen
3.4.6 F lowchart Proses Penjadwalan
Mulai
Jumlah Tugas = n
i = 1
i <= Jumlah Tugas
Pilih Random (cell)
a = random (cell)
status (a) = sudah
Cell [ i ] = a i = i++
Cetak (kelas [ i ])
Selesai
Gambar 3.29 Flowchart Proses Penjadwalan
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
commit to user
38
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
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
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
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
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
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
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
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
4.1.9 Halaman View Jadwal
Gambar 4.9 Halaman View Jadwal
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