pengembangan aplikasi untuk penjadwalan mata …...pengembangan aplikasi untuk penjadwalan mata...

57
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

Upload: lylien

Post on 10-Mar-2019

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 2: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 3: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 4: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 5: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 6: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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)

Page 7: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 8: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 9: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 10: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 11: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 12: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 13: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 14: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 15: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 16: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 17: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 18: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 19: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 20: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 21: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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-

Page 22: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 23: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 24: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 25: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 26: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 27: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 28: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 29: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 30: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 31: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 32: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 33: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 34: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 35: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 36: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 37: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 38: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 39: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 40: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 41: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 42: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 43: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 44: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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()

Page 45: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 46: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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()

Page 47: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 48: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 49: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 50: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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

Page 51: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 52: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 53: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 54: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 55: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 56: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.

Page 57: PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA …...PENGEMBANGAN APLIKASI UNTUK PENJADWALAN MATA KULIAH (STUDI KASUS : S1 TEKNIK INFORMATIKA FMIPA UNS) pada hari commit to user ii HALAMAN

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.