bab iii analisis dan desain sistem -...
TRANSCRIPT
BAB III
ANALISIS DAN DESAIN SISTEM
Langkah-langkah yang dilakukan dalam pelaksanaan analisis dan perancangan
sistem aplikasi penjadwalahan pada SMPN 2 Waru dengan menggunakan metode
Tabu Search ini menggunakan metode System Development Life Cycle (SDLC).
Tahapan tersebut dapat dilihat pada gambar 3.1. tahapan dilakukan tidak
membahas tentang kebijakan dan perencanaan sistem sampai dengan
implementasi, sedangkan tahap maintenance tidak dimasukkan ke dalam langkah
pelaksanaan analisis dan perancangan.
Gambar 3.1 Systems Development Life Cycle Waterfall Model
Kebijakan dan perencanaan sistem
Analisis Sistem
Desain (perancangan) Sistem Secara Umum
Desain (perancangan) Sistem Secara Terinci
Seleksi Sistem
Implementasi (penerapan) sistem
Perawatan Sistem
Awal Proyek Sistem
Manajemen Sistem
16
3.1 Analisis Sistem
Terdapat beberapa langkah analisis sistem dibagi dalam 3 tahap, yaitu:
1. Identify (Mengidentifikasi masalah)
2. Understant (Memahami kerja dari sistem yang ada)
3. Analyze (Menganalisis sistem)
3.1.1 Mengidentifikasi masalah
Pada tahap analisis sistem langkah pertama yang dilakukan ialah
mengidentifikasi masalah terlebih dahulu. Dalam langkah mengidentifikasi
masalah terbagi atas beberapa bagian, yaitu:
1. Mengidentifikasi penyebab masalah
Penjadwalan mata pelajaran yang terjadi di SMPN 2 Waru dilakukan
disetiap awal tahun ajaran. Penjadwalan dilakukan oleh bagian kurikulum
dan dibantu oleh bagian tata usaha. Pihak tata usaha menerima data dari
pihak kurikulum yang dibutuhkan untuk melakukan penjadwalan mata
pelajaran. Data tersebut akan diolah untuk dilakukan penjadwalan mata
pelajaran.
Proses penjadwalan dimulai dengan menjadwalakan matapelajaran
terlebih dahulu ditiap kelasnya. Setelah mata pelajaran sudah dijadwalkan,
kemudian melakukan plotting mengajar guru sesuai dengan mata pelajaran
yang diajarkan. Setelah melakukan plotting, pihak tata usaha akan
mencocokan kembali dengan jadwal MGMP guru, jika ada yang
bertabrakan dengan jadwal MGMP, maka pihak tata usaha akan
melakukan plotting kembali jadwal mengajar guru.
17
Setelah proses pengolahan data menjadi jadwal pelajaran selesai, hasil
berupa draft jadwal pelajaran kemudian diserahkan kembali kepada
kurikulum untuk persetujuan. Ketika draft sudah disetujui maka jadwal
pelajaran sudah fix, jika belum pihak tata usaha akan kembali melakukan
kegiatan penjadwalan mata pelajaran.
Gambar 3.2 Dokumen Flow Penjadwalan Mata Pelajaran
.
Document Flow Penjadwalan Mata Pelajaran
Tata UsahaKurikulum
Phas
e
Jadwal MGMP
Melakukan penjadwalan
matapelajaran
Struktur Organisasi
Data Mata Pelajaran
Data Guru
Data Kelas
Draft Jadwal Pelajaran
Disetujui?
Menyetujui Jadwal
Tidak
Jadwal Pelajaran
Ya
Mencocokan dengan jadwal
MGMP
Menjadwalkan jadwal
mengajar guru
Jadwal Crash?
18
Terdapat beberapa masalah yang terjadi pada SMPN 2 Waru dengan
penjadwalan mata pelajaran saat ini antara lain
a. Tidak meratanya jam mengajar guru antara guru yang memiliki
jabatan struktural atau tidak ditiap minggunya.
b. Penjadwalan yang dilakukan menimbulkan tidak meratanya jam
mengajar guru perharinya dalam satu minggu.
c. Jadwal yang dihasilkan tidak memperhatikan beban/kompetensi
mata pelajaran.
2. Mengidentifikasi titik keputusan
Titik keputusan menunjukkan suatu kondisi yang menyebabkan suatu
masalah terjadi. Dalam proses penjadwalan mata pelajaran di SMPN 2
Waru titik keputusan berada pada:
a. Penjadwalan yang dilakukan kurang memperhatikan jam mengajar
tambahan untuk guru yang memiliki jabatan struktural.
b. Penjadwalan hanya dilakukan dengan memperhatikan jam
mengajar guru, dan penjadwalan yang dilakukan tidak
memperhatikan dari sisi komposisi matapelajaran di tiap kelasnya.
3. Mengidentifikasi personil-personil kunci
Personil kunci merupakan personil atau bagian yang bertanggung
jawab atas penjadwalan mata pelajaran. Dalam hal ini yang bertanggung
jawab dalam proses penjadwalan mata pelajaran di SMPN 2 Waru adalah
bagian kurikulum.
19
3.1.2 Memahami kerja dari sistem yang ada
Langkah kedua dari tahap analisis sistem adalah memahami kerja dari
sistem yang ada. Langkah kedua dari analisis sistem dapat terdiri dari beberapa
tugas yang perlu dilakukan, yaitu :
a. Menentukan jenis penelitian
Dalam penelitian ini jenis penelitian yang dipilih adalah
wawancara dan obeservasi untuk mendapatkan data-data yang diperlukan
untuk membangun aplikasi penjadwalan mata pelajaran pada SMPN 2
Waru.
b. Merencanakan jadwal penelitian
Perencanaan jadwal penelitian bertujuan agar penelitian dapat
dilakukan secara efektif dan efisian, maka jadwal dari penelitian harus
direncanakan terlebih dahulu yang meliputi:
- Dimana penelitian akan dilakukan
- Apa dan siapa yang akan diteliti
- Siapa yang akan meneliti
- Kapan penelitian dilakukan
c. Membuat penugasan penelitian
Dalam penyelesaian tugas akhir ini tidak dilakukan secara
berkelompok, jadi tugas seluruhnya diambil oleh penulis.
d. Membuat agenda wawancara
Sebelum suatu wawancara dilakukan, agenda wawancara
sebaiknya disusun terlebih dahulu. Hal ini dilakukan agar data yang
dibutuhkan dari wawancara yang dilakukan di SMPN 2 Waru mengenai
penjadwalan mata pelajaran dapat terpenuhi seluruhnya.
20
e. Mengumpulkan hasil penelitian
Terdapat beberapa fakta yang ditemukan antara lain mata pelajaran
yang diajarkan (Lampiran 4), jumlah guru yang ada (lampiran 3) serta
beberapa constraint yang akan digunakan dalam melakukan penjadwalan,
seperti:
1. Jadwal MGMP guru
Constraint jadwal MGMP guru berfungsi untuk melihat kegiatan
guru yang memiliki kegiatan MGMP, sehingga penjadwalan yang
dihasilkan dari guru yang memiliki jadwal MGMP tidak mengganggu
kegiatan belajar mengajar.
Tabel 3.1 Jadwal MGMP Guru
Nama Guru Nama Mata Pelajaran Jadwal MGMP
Dra. NANIK SRI HARIANI. MM ILMU PENGETAHUAN ALAM Selasa
WAHYU RATNA DWI.A.S.Pd,MM
ILMU PENGETAHUAN SOSIAL Kamis
Drs. SUGONO, MM BAHASA INDONESIA Senin
Dra. HUBIBAH BAHASA INGGRIS Rabu
ASMA',S.Pd MATEMATIKA Sabtu
Dra. SRI TAHAN UJININGTYAS BP / BK Rabu
KARTONO,S.Pd PEND JASMANI DAN KESEHATAN Jumat
Drs. ASMUNI PENDIDIKAN AGAMA ISLAM Senin
Dra. Rr.DUDUN HARIYATI,MM PPKn Selasa
SITI MARLIYAH PRAKARYA Kamis
SUNARYO,S.Pd. MM SENI BUDAYA Rabu
21
2. Jam tambahan jabatan struktural
Constraint jam tambahan jabatan struktural dipehatikan guna
mengurangi beban mengajar guru yang memiliki jabatan struktural.
Sehingga guru dapat mengerjakan tugas sebagai pengemban jabatan
struktural dengan baik tanpa mengganggu kegiatan mengajar. Dapat
diihat pada tabel 1.1.
3. Maksimal jam mengajar perhari
Constraint maksimal jam mengajar perhari berfungsi untuk
membatasi jam mengajar guru perharinya.
Tabel 3.2 Jam Maksimal Perhari
Hari Jam Maksimal
Senin – Kamis 9 Jam
Jumat 6 Jam
Sabtu 2 Jam
4. Maksimal jam berurutan
Constraint maksimal jam berurutan berfungsi untuk membatasi
maksimal jam berurutan pada suatu pelajaran. Hal ini di perhatikan
berkaitan dengan maksimal jam perminggu mata pelajaran yang telah
ditentukan. Maksimal jam berurutan yang diterapkan pada contoh
kasus ini adalah 3 jam secara berurutan
5. Maksimal bobot mata pelajaran perhari
Constraint maksimal bobot mata pelajaran perhari berfungsi untuk
menghindari terjadwalkan nya mat apelajaran dengan kompetensi
pelajaran yang tidak mudah dalam satu hari di setiap kelasnya. Pada
22
contoh kasus ini maksimal bobot perhari adalah 25 rincian bobot
matpel dapat dilihat pada tabel dibawah ini.
3.1.3 Menganalisis Sistem
Langkah ini dilakukan berdasarkan data yang telah diperoleh dari hasil
penelitian uang telah dilakukan, analisis yang harus dilakukan ialah:
1. Menganalisis kelemahan sistem
Dari hasil wawancara dan observasi yang dilakukan terhadap sistem
penjadwalan mata pelajaran yang terjadi di SMPN 2 Waru yang berjalan,
ditemukan beberapa kelemahan sistem. Diantaranya adalah:
a. Penjadwalan mata pelajaran memakan waktu yang cukup lama, yaitu
tiga sampai lima hari untuk menghasilkan draft mata pelajaran
b. Penjadwalan kurang memperhatikan jam tambahan guru yang
memiliki jabatan struktural.
c. Penjadwalan yang dilakukan tidak memperhatikan komposisi
matapelajaran perharinya.
d. Penjadwalan tidak memperhatikan jam maksimal mengajar guru
perhari.
e. Penjadwalan yang dilakukan tidak memperhatikan jadwal MGMP
guru.
2. Menganalisis kebutuhan informasi pengguna
Tabel 3.3 Kebutuhan Informasi Pengguna
No User Tugas User Requirement
1 Bagian a. Memasukkan data guru, a. Data guru, jabatan, kelas
23
Kurikulum jabatan, kelas dan mata
pelajaran
b. Memasukkan Constraint-
constraint yang harus
diperhatikan
c. Melakukan proses
penjadwalan
dan mata pelajaran yang
dimasukkan kedalam
sistem harus lengkap dan
valid.
b. Constraint yang di
masukkan harus sesuai
dengan ketentuan yang
berlaku.
c. Proses penjadwalan di
lakukan dengan
menggunakan metode
Tabu Search
2 Guru a. Melihat jadwal mengajar
guru
a. Jadwal mengajar
berdasarkan hasil dari
penjadwalan yang
dilakukan
Pada aplikasi penjadwalan mata pelajaran ini terdapat dua user yaitu
Bagian Kurikulum dan Guru serta memiliki peran yang berbeda sesuai dengan
tugas dan wewenangnya.
3. Menganalisis Kebutuhan Data
Dari analisis kebutuhan pengguna yang telah dibuat, maka dibutuhkan data-
data yang nantinya akan menunjang aplikasi yang akan dirancang, data-data
tersebut meliputi:
24
a. Data Jabatan
Data jabatan adalah data yang dimasukkan berdasarkan jabatan struktur
organisasi yang masih berlaku.
b. Data Guru
Data guru diperoleh dari bagian kurikulum. Dalam aplikasi
penjadwalan ini data guru digunakan sebagai data master yang
berfungsi sebagai data yang mendukung proses penjadwalan.
c. Data Mata Pelajaran
Data mata pelajaran yang dimasukkan ialah mata pelajaran yang ada
pada SMPN 2 Waru.
d. Data Kelas
Data kelas diperoleh dari kelas-kelas yang ada di SMPN 2 Waru di
tahun ajaran tersebut.
e. Data Jadwal MGMP
Data jadwal MGMP didapat dari jadwal yang ditentukan oleh PGRI
Ranting Waru.
f. Data Batas Maksimal Jam Mengajar Guru Perhari
Batas mengajar dimasukkan berdasarkan ketentuan yang berlaku di
SMPN 2 Waru.
g. Data Maksimal Bobot Mata Pelajaran Perhari
Bobot Mata Pelajaran dimasukkan berdasarkan tingkat kesulitan atau
kompetensi mata pelajaran.
h. Data Maksimal Mata Pelajaran perhari
Data maksimal mata pelajaran perhari dimasukkan berdasarkan hari dan
ketentuan dari dinas pendidikan setempat.
25
3.2 Desain Sistem
3.2.1 Desain Sistem Secara Umum
Pada penelitian ini pendekatan yang dilakukan bukanlah pendekatan
terstruktur, melainkan berbasis objek. Hal ini dikarenakan proses penjadwalan
adalah bagian dari proses yang besar dari suatu kegiatan akademik di SMPN 2
Waru. Oleh sebab itu desain yang digunakan untuk menggambarkan adalah Use
Case Diagram, Activity Diagram dan Sequance Diagram. Dalam desain system
secara umum juga berisi tentang gambaran blok diagram yang berfungsi untuk
menggambarkan dengan jelas mengenai proses input proses output dari tiap-tiap
fungsi sehingga mempermudah dalam pengerjaaan pembuatan perangkat lunak.
Gambar 3.3 Boxplot Penjadwalan Mata Pelajaran
Penjadwalan Mata Pelajaran
ProsesInput Output
Phas
e
Penjadwalan Mata Pelajaran dengan Metode
Tabu Search
Jadwal Pelajaran Siswa
Membuat Laporan Jam Mengajar
Laporan Jam mengajar per minggu
Batas Matpel perhari tiap kelas
Batas maksimal jam mengaajar guru per hari
Batas bobot MatPel perhari
Data Jadwal MGMP
Jadwal Mengajar Guru
Mengelola Data Constraint
Data Constraint
Data Jadwal MGMP
Data Guru
Data Kelas
Data Mata Pelajaran
Data Jabatan
26
Proses mengelola data constraint mendapat masukkan dari kondisi-kondisi
yang harus diperhatikan ketika melakukan penjadwalan. Seperti batas maksimal
jam pada satu mata pelajaran di satu kelas per hari, batas jam mengajar guru
perhari, jadwal MGMP dan batas matpel dengan bobot yang sama berat perhari.
Proses ini akan menghasilkan data constraint dan data jadwal MGMP.
Proses kedua adalah menjadwalkan dengan menggunakan metode tabu search
dimana proses ini mendapat masukkan dari data master guru, kelas, mata
pelajaran dan jabatan serta mendapat masukkan dari proses sebelumnya. Proses
penerapan tabu search dapat dilihat pada gambar 3.4 yaitu flowchart penerapan
tabu search.
27
Gambar 3.4 flowchart penerapan metode tabu search
Pertama mengambil data guru yang diletakkan di sebuah array untuk
dilakukan perulangan sebanyak jumlah guru yang ada. Kemudian mengambil data
kelas dan dimasukkan kedalam array untuk dilakukan perulangan sebanyak
Start
$guru[] = data guru
$kelas[] = data kelas
$hari = 1;
$jam = 1;
mengambil data constraint
Constraint1 sesuai?
Constraint2 sesuai?
Constraint3 sesuai?
Simpan kedalam tabulist
$jam = $jam + 1;
$jam > 9?
Y
Y
Y
TidakTidak
$hari = $hari + 1;
$hari > 6?
$kelas[] last record?
$guru[] last record?
End
Y
Y
Y
1
1
2
3
4
2
3
4
28
jumlah kelas juga. Setelah itu melakukan perulangan sebanyak hari aktif sekolah,
dalam sekolah ini menerapkan enam hari aktif sekolah. Kemudian melakukan
perulangan sebanyak jam pelajaran yang berlaku disekolah. Selanjutnya
mengambil semua data constraint yang dibutuhkan. Untuk dilakukan pengecekan
apakah data memenuhi constraint yang diinginkan atau tidak. Jika memenuhi
maka akan disimpan kedalam tabu list. Jumlah constraint dapat bertambah sesuai
dengan kebutuhan dalam penjadwalan mata pelajaran. Proses ini diulang hingga
data guru yang terakhir.
Proses berikutnya adalah pembuatan laporan, dimana mendapat masukan
(input) berupa hasil dari proses penjadwalan mata pelajaran. Dan akan
menghasilkan laporan jam mengajar perminggu
a. Use Case System Penjadwalan
Gambar 3.5 Use Case System Penjadwalan Mata Pelajaran
Pada gambar 3.3 dijelaskan tentang siapa aktor yang akan terlibat di sistem
penjadwalan mata pelajaran ini. Pada sistem ini memiliki dua aktor yaitu Bagian
Kurikulum selaku business aktor dan guru, bagian kurikulum dapat melakukan 29
penjadwalan mata pelajaran sedangkan guru hanya melihat hasil penjadwalan
mata pelajaran.
b. Activity Diagram
Activity diagram digunakan untuk menggambarkan workflow (aliran
kerja) dari sebuah sistem. Dalam aplikasi penjadwalan mata pelajaran ini terdapat
tiga aktivity diagram yaitu activity diagram memasukkan constraint,
menjadwalkan mata pelajaran dan melihat jadwal mata pelajaran.
1. Activity Diagram Memasukkan Constraint
Gambar 3.6 Activity Diagram menyimpan constraint
Pada gambar 3.4 menjelaskan tentang activity diagram menyimpan
constraint. Dimulai dari bagian kurikulum membuka aplikasi dan system akan
menampilkan halaman utama, setelah itu bagian kurikulum memilih halaman
30
memasukkan constraint yang dibutuhkan untuk melakukan penjadwalan. Setelah
itu bagian kurikulum memasukkan constraint kemudian menyimpannya.
2. Activity Diagram Menjadwalkan Mata Pelajaran
Gambar 3.7 Activity Diagram Menjadwalkan Mata Pelajaran
Pada gambar 3.5 menjelaskan mengenai activity diagram menjadwalkan
mata pelajaran. Dimulai dari membuka halaman utama, kemudian membuka
halaman penjadwalan mata pelajaran. Setelah itu bagian kurikulum menekan
tombol proses. Setelah itu system akan menjadwalkan secara otomatis dengan
menggunakan metode tabu search. Hasil penjadwalan akan ditampilkan sebelum
disimpan oleh bagian kurikulum.
31
3. Activity Diagram Melihat Jadwal Mata Pelajaran
Gambar 3.8 Activity Diagram Bag. Kurikulum Melihat Jadwal
Pada gambar 3.6 menjelaskan tentang activity diagram melihat jadwal.
Bagian kurikulum atau pun guru dapat melihat hasil dari penjadwalan yang telah
dilakukan.
c. Flow Of Event
Flow of event digunakan untuk menjelaskan kondisi apa yang harus
terpenuhi agar sistem dapat berjalan serta kondisi akhir atau hasil dari aplikasi,
dan menerangkan tentang bagaimana reaksi antar aktor dan sistem.
32
1. Flow Of Event Memasukkan Constraint
Tabel 3.4 Flow of Event Memasukkan Constraint
Nama Use Case Fungsi Memasukkan Constraint
Actor Bagian Kurikulum
Deskripsi Fungsi ini merupakan suatu alur proses yang dilakukan untuk
memasukkan constraint yang akan menjadi acuan dari aplikasi
Kondisi Awal 1. User Sudah Login
2. Data Batas Maksimal Jam Mengajar Guru Perhari
3. Data Maksimal Bobot Mata Pelajaran Perhari
4. Data Maksimal Mata Pelajaran Perhari
Kondisi Akhir Constraint yang telah disimpan
Alur Normal
Aksi Stake Holder Respon Sistem Memasukkan Data Jabatan
1. Bagian kurikulum
memilih menu setting
Sistem menampilkan menu home
untuk user, setelah memilih menu
settings maka sistem akan
menampilkan halaman settings
2. Bagian kurikulum
memasukkan dan
menyimpan
Sistem akan menyimpan constraint
yang telah dimasukkan oleh user ke
dalam database
33
2. Flow Of Event Menjadwalkan Mata Pelajaran
Tabel 3.5 Flow of Event Menjadwalkan Pelajaran
Nama Use Case Fungsi Menjadwalkan Mata Pelajaran
Actor Bagian Kurikulum
Deskripsi Fungsi ini merupakan suatu alur proses yang dilakukan untuk
menjadwalkan mata pelajaran
Kondisi Awal 1. User Sudah Login
2. Data Jabatan
3. Data Guru
4. Data Mata Pelajaran
5. Data Kelas
6. Data Jadwal MGMP
Kondisi Akhir Jadwal Mata pelajaran dan daftar mengajar guru
Aksi Stake Holder Respon Sistem Memasukkan Data Jabatan
1. Bagian kurikulum
memilih penjadwalan
mata pelajaran
Sistem menampilkan menu home untuk
user, setelah memilih penjadwalan
mata pelajaran maka sistem akan
menampilkan halaman penjadwalan
mata pelajaran.
34
2. Bagian kurikulum
akan memasukkan jam
maksimal perhari guru
dan kemudian
menekan tombol
proses.
Sistem akan melakukan penjadwalan
mata pelajaran secara otomatis dengan
algoritma Tabu Search dengan
memperhatikan ketentuan atau
constraint yang harus di ikuti.
Penerapan Tabu Search:
Function proses() { Mengambil data guru; Menampung data guru kedalam array; Melakukan perulangan sebanyak data guru; Foreach($dataguru) { Mengambil data kelas; Menampung data kelas kedalam array; Melakukan perulangan sebanyak data kelas; Foreach($datakelas) {
For($hari=1;$hari<=6;h++) { //menentukan ketika hari jumat dan sabtu jam pelajaran berkurang //$variable = jam maksimal perhari If (hari = 5){ //untuk membatasi jam maksimal perhari Mengambil constraint jam mata pelajaran perhari; $maxjamperhari = data jam maksimal perhari berdasarkan hari; $variable = $maxjamperhari; }else if (hari = 6) { //untuk membatasi jam maksimal perhari Mengambil constraint jam mata pelajaran perhari; $maxjamperhari = data jam maksimal perhari berdasarkan hari; $variable = $maxjamperhari; }else { //untuk membatasi jam maksimal perhari Mengambil constraint jam mata pelajaran perhari;
35
$maxjamperhari = data jam maksimal perhari berdasarkan hari; $variable = $maxjamperhari; }
For($jam=1;$jam<=$variable;$jam++) { //untuk mencocokan apakah jadwal masih kosong Mengambil data jadwal; $jamjadwal= jam data jadwal; $harijadwal= hari data jadwal; //untuk membatasi jam maksimal perhari $jammaksimal = Mengambil jam maksimal guru; //untuk mengosongkan jadwal di jam dan guru yang punya rapat MGMP Mengambil jadwal MGMP; $hariMGMP = hari data jadwal MGMP; //untuk membatasi jam perminggu tiap matpel Mengambil jam maksimal matpel; $maxjammatpel = data jam maksimal matpel; //untuk membatasi satu matpel jam berturut Mengambil constraint batas berturut; *$maxjammatpelberturut = data jam maksimal matpel berturut; If( $jam == $jamjadwal and $hari == $harijadwal){ Tidak cocok }elseif(total maksimal jam perminggu == $maxjammatpel){ Tidak cocok }elseif($hari == $hariMGMP){ Tidak cocok }elseif(totaljammengajar == $jammaksimal){ Tidak cocok }else{ Simpan Jadwal; } } } } } }
36
3. Flow Of Event Melihat Jadwal Mata Pelajaran
Tabel 3.6 Flow of Event Melihat Jadwal Pelajaran
Nama Use Case Fungsi Melihat Jadwal Mata Pelajaran
Actor Bagian Kurikulum atau Guru
Deskripsi Fungsi ini merupakan suatu alur proses yang dilakukan untuk melihat
jadwal mata pelajaran
Kondisi Awal 1. Data User (Username dan Password)
2. Data Mata Pelajaran
Kondisi Akhir Hasil mata pelajaran yang telah disimpan
Alur Normal
Aksi Stake Holder Respon Sistem Memasukkan Data Jabatan
1. Bagian kurikulum atau
guru memilih lihat
jadwal mata pelajaran
Sistem menampilkan menu home untuk
user, setelah memilih penjadwalan
mata pelajaran maka sistem akan
menampilkan halaman lihat jadwal
mata pelajaran.
2. Bagian kurikulum atau
guru memilih tahun
ajaran yang akan
Sistem akan menampilkan jadwal mata
pelajaran sesuai dengan tahun ajaran
yang dipilih.
37
d. Sequence Diagram
Sequence diagram digunakan untuk menggambarkan detail dari use case
diagram yang telah dibuat. Sequence diagram berisi perilaku dari system yang
akan dibuat nantinya. Terdapat tiga Sequence diagram diataranya:
1. Sequence Diagram Memasukkan Constraint
Gambar 3.9 Sequence Diagram Memasukkan Constraint
38
2. Sequence Diagram Menjadwalkan Mata Pelajaran
Gambar 3.10 Sequence Diagram Menjadwalkan Mata Pelajaran
39
3. Sequence Diagram Melihat Jadwal Mata Pelajaran
Gambar 3.11 Sequence Diagram Melihat Jadwal Mata Pelajaran
40
3.2.2 Desain Sistem Terinci
Desain sistem terinci adalah suatu penggambaran yang bertujuan untuk
mengetahui data apa sajan yang digunakan untuk membangun sistem. Desain
sistem terinci pada umumnya digambarkan dengan ERD (Entitiy Relationship
Diagram), tetapi pada penelitian ini menggunakan Class Diagram dikarenakan
pendekatan yang dilakukan merupakan pendekatan berbasis objek.
a. Class Diagram
Class diagram berfungsi untuk menjelaskan hubungan antar class dalam
sebuah sistem yang sedang dibuat dan bagaimana caranya agar mereka saling
berkolaborasi untuk mencapai sebuah tujuan. Class diagram penjadwalan mata
pelajaran dapat dilihat pada gambar 3.10.
Gambar 3.12 Class Diagram
41
b. Statechart Diagram
Statechart Diagram adalah teknik yang umum digunakan untuk
menggambarkan behaviour sebuah sistem. Hal ini digunakan untuk membantu
analis, perancang dan pengembang untuk memahami perilaku obyek pada sistem.
Bagaimana system bertransisi dan apa trigger yang menyebabkan terjadinya
transisi digambarkan pada statechart diagram.
1. State Chart Diagram Memasukkan Constraint
Gambar 3.13 Statechart Diagram Memasukkan Constraint
Pada gambar 3.11 digambarkan statechart diagram memasukkan
constraint, dimana system dapat memasukkan constraint baru atau merubah
constraint yang sudah ada. System menerima masukkan constraint dan akan
selesai setelah constraint disimpan.
42
2. State Chart Diagram Menjadwalkan Mata Pelajaran
Gambar 3.14 Statechart Diagram Menjadwalkan Mata Pelajaran
Pada gambar 3.12 digambarkan statechart diagram menjadwalkan mata
pelajaran dimana merupakan gambaran dari algoritma tabu search yang
diterapkan. Sistem kan dimulai dengan mendapatkan trigger berupa
menjadwalkan mata pelajaran dari user dan akan di akhiri dengan menyimpan
jadwal pelajaran yang telah dijadwalkan menggunakan metode tabu search.
43
3. State Chart Diagram Melihat Jadwal Mata Pelajaran
Gambar 3.15 Statechart Diagram Melihat Mata Pelajaran
Pada gambar 3.13 digambarkan statechart diagram melihat jadwal mata
pelajaran dimana berfungsi untuk melihat jadwal mata pelajaran yang telah
disimpan. Dengan mendapatkan masuukkan tahun ajaran, maka system akan
menampilkan jadwal sesuai dengan thaun ajaran yang dipilih.
3.2.3 Seleksi Sistem
Berdasarkan hasil survei dan wawancara diperoleh hasil dari kebutuhan
sistem penjadwalan mata pelajaran sebagai berikut:
1. Sekolah telah memiliki server dan jaringan intra network yang bisa
dimanfaatkan, karena itu sistem yang dibuat berbasis website.
44
2. Output yang dihasilkan yaitu jadwal mata pelajaran yang dapat
memperhatikan constraint yang ditentukan.
3. Sistem operasi yang disarankan adalah Windows 7, 8, 10 Server 2012.
4. Database yang digunakan adalah MySql.
3.2.4 Implementasi Sistem
Sistem yang telah dianalisis dan didesain selanjutnya akan dilaksanakan
implementasi sistem, tahap ini termasuk juga kegiatan menulis kode program jika
tidak digunakan paket perangkat lunak aplikasi. Langkah – langkah dari tahap
implementasi sistem terdiri dari:
1. Menerapkan rencana implementasi
Rencana implementasi yang telah disusun diterapkan pada tahap ini berisi
desain input output. Desain Inpult Output merupakan perencanaan dari desain
interface yang akan dibuat pada program agar pengguna dapat membayangkan
apakah sistem yang akan dibuat sesuai dengan kebutuhan sistem pengguna
a. Desain Login
Form Login digunakan untuk masuk kedalam aplikasi penjadwalan mata
pelajaran. Pengguna dapat memasukkan NIP dan Password yang telah ditentukan.
Pada form ini juga akan ditentukan hak akses pada masing-masing pengguna,
sehingga tidak sembarang pengguna dapat mengakses, mengubah atau menghapus
data-data yang terdapat pada sistem. Desain login form terlihat pada gambar 3.14.
45
Login
NIP/NIS
Password
Login
LOGO
Gambar 3. 16 Login Form
b. Menginputkan Constraint
Halaman memasukkan constraint ini dugunakan untuk menyimpan constraint
atau aturan yang harus diperhatikan ketika penjadwalan dilakukan. Terdiri dari
beberapa constraint, antara lain:
1. Jam maksimal mengajar per hari guru
2. Jam maksimal satu mata pelajaran beruntun
3. Maksimal bobot mata pelajaran
Desain halaman memasukkan constraint ini juga terdapat maksimal jam
perharinya. Seperti terlihat pada gambar 3.15
46
Gambar 3. 17 Form Memasukkan Constraint
c. Menjadwalkan Mata Pelajaran
Halaman menjawalkan mata pelajaran berfungsi untuk menjadwalkan
matapelajaran dengan menggunakan metode Tabu Search. Pada form
menjadwalkan dapat melihat hasil dari penjadwalan, jam mata pelajaran yang
kurang, serta distribusi guru dari tiap jam nya. Seperti yang terlihat pada gambar
3.16 berikut
Menginputkan Constraint
Maksimal Jam Perhari
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Enter Text
Senin
Selasa
Rabu
Kamis
Jumat
Sabtu
SIMPAN
Constraint
Enter Text
Enter Text
Enter Text
SIMPAN
Maksimal MengajarPerhari
Bobot Maksimal MatPel
Max In a Row
47
Gambar 3.18 Halaman Menjadwalkan Mata Pelajaran
d. Melihat Jadwal Mata Pelajaran
Halaman melihat jadwal ini berfungsi agar guru dapat melihat jadwal
mengajar tiap hari nya. Seperti terlihat pada gambar 3.17
Gambar 3.19 Melihat Jadwal Mata Pelajaran
Menjadwalkan Mata Pelajaran
Jadwalkan Kosongkan Simpan
Distribusi GuruJadwal Mata Pelajaran Kekurangan Jam
Penjadwalan membutuhkan waktu cukup lama!
Lihat Jadwal Mengajar
Enter TextHari Cari
48
e. Laporan Jadwal Mata Pelajaran
Desain dari laporan jadwal mengajar dapat dilihat pada lampiran 11. Laporan
ini berfungsi untuk mencetak jadwal yang telah dihasilkan dari aplikasi
penjadwalan mata pelajaran dengan menggunakan metode tabu search.
f. Laporan Distribusi Guru
Desain dari laporan distribusi guru dapat dilihat pada lampiran 12. Laporan ini
berfungsi untuk melihat distribusi jam mengajar guru perminggunya.
g. Laporan Jadwal Mengajar guru
Desain dari laporan jadwal mengajar guru dapat dilihat pada lampiran 13.
Laporan ini berfungsi untuk melihat jam mengajar guru setiap minggunya.
2. Melakukan kegiatan implementasi
Mengenai jaringan dan teknologi arsitektur yang akan di desain untuk
mendukung aplikasi penjadwalan yang akan dibuat. Seperti ditunjukkan pada
gambar 3.18
49
Gambar 3.20 Desain Arsitektur Teknologi
3. Tindak lanjut implementasi
Tahap selanjutnya adalah tindak lanjut implementasi yang bertujuan untuk
menguji sistem apakah sudah bekerja sesuai dengan yang didesainkan sebelumnya
dengan menggunakan data sesungguhnya. Pengujian sistem ini menggunakan
metode black box. Berikut perancangan uji coba pada aplikasi pemasaran yang
akan digunakan untuk mengetahui hasil yang diharapkan
a. Memasukkan Constraint
Pada tabel 3.5 merupakan data perancangan ujicoba yang digunakan untuk
memasukkan constraint. Halaman memasukkan constraint meliputi insert dan
update
Server Router
firewall
Switch
Kurikulum
Useruser
Proxy firewall
50
Tabel 3.7 Data Desain Uji Coba Memasukkan Constraint
MaxInRow MaxTeaching MaxWeight
3 9 27
Tabel 3.8 Desain Uji Coba Memasukkan Constraint
Fungsi Memasukkan Constraint Skenario Percobaan Hasil yang diharapkan
1 Proses simpan dengan semua kolom pada form di halaman constraint diisi
Data Constraint dapat tersimpan kedalam database dan dapat ditampilkan kembali ke aplikasi.
2 Texbox pada form memasukkan constraint hanya di isi angka.
Data yang akan dimasukkan kedalam database harus berupa angka
b. Menjadwalkan Mata Pelajaran
Pada tahap menjadwalkan mata pelajaran melibatkan banyak tabel, seperti
tabel user, tabel kelas, tabel matpel, tabel jadwal mgmp, tabel jabatan, tabel
constraint. Halaman menjadwalkan teridiri dari insert, update dan delete.
51
Tabel 3.9 Data Desain Uji Coba User
id_user user_name role_id password nama matpel_id
2 196007151986031000 6 $2y$10$uxFtsACXHn/6IXeZZAnKTO Drs. HARIONO, MM 9
3 196007301990031000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Drs. SUGONO, MM 5
4 196010081992032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Dra. RETNO WIDARTI, M.Pd 5
5 196101011989032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Dra. SUMINEM, MM 12
6 196104121990031000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Drs. M. YUSUF 10
7 195804181979032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO TATI KURNIATI,S.Pd 7
8 196403181987032000 9 $2y$10$uxFtsACXHn/6IXeZZAnKTO WAHYU RATNA DWI.A.S.Pd,MM 9
9 196106301988032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Dra. Rr.DUDUN HARIYATI,MM 4
10 195809041984031000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO KARTONO,S.Pd 10
11 196102161989032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Dra. NURLAILI 9
12 195612231978022000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO ENDANG SUMARTINI,S.Pd 5
52
id_user user_name role_id password nama matpel_id
13 196110031984032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO SITI NURYATI,S.Pd 5
14 195903131982022000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO FATMAWATI,S.Pd.MM 8
15 195802191992032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Dra. SRI TAHAN UJININGTYAS 14
16 195704241988032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO ASRI KUNTARI,S.Pd 8
17 196012141983022000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO ENDANG HERLINA,S.Pd. MM 9
18 196110311983032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO SITI FARIDA,S.Pd 5
19 196402021989011000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO SUNARYO,S.Pd. MM 11
20 196005021981032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO INDRA NURTJAHJANI,S.Pd. MM 6
21 196010181986032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Rr. INDAH SOESETYOWATI,S.Pd 14
22 196306201989032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Dra. HUBIBAH 6
23 196201241981112000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO PUDJI MUHARTATI,S.Pd 5
24 196411051990031000 5 $2y$10$uxFtsACXHn/6IXeZZAnKTO SUGIYONO,S.Pd 11
25 196408061988032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO SRI LESTARI,S.Pd. MM 6
53
id_user user_name role_id password nama matpel_id
26 195903111981012000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO PURWANTINI,S.Pd 9
27 195911261981031000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO ABDUL QODIR,S.Pd. MM 7
28 196305311985022000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO DEDEH KURNIASIH,S.Pd 8
29 196109221995121000 8 $2y$10$uxFtsACXHn/6IXeZZAnKTO Drs. SUKRISNO. MM 8
30 196208191994031000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Drs. ASMUNI 1
31 196912311999032000 4 $2y$10$uxFtsACXHn/6IXeZZAnKTO Dra. NANIK SRI HARIANI. MM 8
32 197110081998022000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO INA ARIANTANTI,S.Pd 8
33 196104041989032000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO SULI HARTATIK, S.Pd 7
34 195905131984122000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO SITI MARLIYAH 13
35 196009261987031000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO SUGENG MURTADJI,S.Pd 7
36 195709031986032000 7 $2y$10$uxFtsACXHn/6IXeZZAnKTO ENNY SUDARWATI,S.Pd 5
37 196711132005012000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Dra. SRI SAYEKTI, M.Psi 14
38 197103062006041000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO SUJONO, S.Pd 6
54
id_user user_name role_id password nama matpel_id
39 196209112007011000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Drs. SUMITO 7
40 196909152007011000 10 $2y$10$uxFtsACXHn/6IXeZZAnKTO Drs. JAKA MARTANA 11
41 196710262008011000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO NUR KOLIS,S.Pd 8
42 196710241989032000 10 $2y$10$uxFtsACXHn/6IXeZZAnKTO SETYORINI, S.Pd 4
43 198409122009022000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO ALFIYAH ALHAMIDIYAH,S.Pd 1
44 198209112009022000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO MULINTANG KENANGA,S.Pd 14
45 198306102010012000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO DIAN IRAWATI,S.Pd 14
46 196206252007011000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO Drs. MASYKUR 10
47 20161101 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO MUCHAMMAD QOLBIR ROHMAN, S.Pd 1
48 20161102 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO PUSPITA APRILIANI, S.Pd 12
49 20161103 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO BAYU WASKITO 2
50 20161104 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO MOGA SETIAWAN, S.Pd 4
51 20161105 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO MOCHAMAD HAMDAN A. S.Pd 6
55
id_user user_name role_id password nama matpel_id
53 196711081991011000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO ASMA',S.Pd 7
56 195610101982031000 2 $2y$10$uxFtsACXHn/6IXeZZAnKTO SYAIFUDIN MUKTI,S.Pd 13
56
Tabel 3.10 Data Desain Uji Coba Kelas
id_kelas nama_kelas 2 7A 3 7B 4 7C 5 7D 6 7E 7 7F 8 7G 9 7H 10 7I 11 7J 12 7K 13 8A 14 8B 15 8C 16 8D 17 8E 18 8F 19 8G 20 8H 21 8I 22 8J 24 9A 25 9B 26 9C 27 9D 28 9E 29 9F 30 9G 31 9H 32 9I 33 9J
57
Tabel 3.11 Data Desain Uji Coba Mata Pelajaran
matpel_id matpel_nm max_perminggu bobot 1 PENDIDIKAN AGAMA ISLAM 3 2 2 PENDIDIKAN AGAMA KRISTEN 3 2 3 PENDIDIKAN AGAMA KATHOLIK 3 2 4 PPKn 3 2 5 BAHASA INDONESIA 6 3 6 BAHASA INGGRIS 4 3 7 MATEMATIKA 5 3 8 ILMU PENGETAHUAN ALAM 5 3 9 ILMU PENGETAHUAN SOSIAL 4 3
10 PEND JASMANI DAN KESEHATAN 3 2 11 SENI BUDAYA 3 1 12 BAHASA JAWA 2 1 13 PRAKARYA 2 1 14 BP / BK 1 1 16 none 0 0 17 UPACARA 1 0 18 KEGIATAN SISWA 2 0
Tabel 3.12 Data Desain Uji Coba Jabatan
role_id role_nm jam_tambahan 1 Administrator 0 2 Guru 0 3 Siswa 0 4 Waka Kurikulum 12 5 Waka Kesiswaan 12 6 Kepala Sekolah 24 7 Kepala Perpustakaan 12 8 Kepala Laboratorium 12 9 Waka Humas 12
10 Pembina Pramuka 2
58
Tabel 3.13 Data Desain Uji Coba Jadwal MGMP
Id_jadwal User_id hari
1 31 2 4 8 4 5 3 1 6 22 3 7 53 6
Tabel 3.14 Data Desain Uji Coba Constraint
MaxInRow MaxTeaching MaxWeight
3 9 27
Tabel 3.15 Desain Uji Coba Menjadwalkan Mata Pelajaran
Fungsi Memasukkan Menjadwalkan Mata Pelajaran
Skenario Percobaan Hasil yang diharapkan
1 Menekan tombol jadwalkan pada halaman menjadwalkan mata pelajaran. Seluruh data digunakan
Aplikasi akan menjadwalkan mata pelajaran
2 Menekan tombol kosongkan pada halaman menjadwalkan mata pelajaran. Seluruh data digunakan
Aplikasi akan menghapus jadwal yang telah ada
3 Menampilkan jadwal mata pelajaran tiap kelas secara merata.
Aplikasi menampilkan jadwal di tiap kelasnya secara merata
4 Memperhatikan constraint jadwal MGMP guru
Aplikasi dapat menjadwalkan dengan memperhatikan constraint jadwal MGMP guru
5 Memperhatikan constraint maksimal bobot perhari
Aplikasi dapat menjadwalkan dengan memperhatikan maksimal bobot perhati
6 Memperhatikan constraint maksimal jadwal berurutan
Aplikasi dapat menjadwalkan dengan memperhatikan constraint maksimal jadwal berurutan
59
Fungsi Memasukkan Menjadwalkan Mata Pelajaran
Skenario Percobaan Hasil yang diharapkan
7 Memperhatikan constraint maksimal mengajar perhari
Aplikasi dapat menjadwalkan dengan memperhatikan constraint maksimal mengajar perhari
8 Menekan tombol simpan pada halaman menjadwalkan mata pelajaran. Hasil dari proses penjadwalan
Aplikasi akan menyimpan data penjadwalan.
c. Melihat Jadwal Mata Pelajaran
Pada tabel 3.14 merupakan data perancangan uji coba yang digunakan untuk
melihat jadwal mata pelajaran. Halaman melihat jadwal mata pelajaran hanya
untuk melihat mata pelajaran saja
Tabel 3.16 Data Desain Uji Coba Jadwal Mata Pelajaran
Id_jadwal User_id Matpel_id Kelas_id Hari Jam Id_tahunajaran 1 0 17 2 1 1 1
2 47 1 2 1 2 1
3 11 9 2 1 3 1
4 38 6 2 1 4 1
5 38 6 2 1 5 1
Tabel 3.17 Desain Uji Coba Melihat Jadwal Mata Pelajaran
Fungsi Memasukkan Melihat Jadwal Mata Pelajaran
Skenario Percobaan Hasil yang diharapkan
1 Menekan cari pada halaman melihat jadwal mata pelajaran. Data pada tabel jadwal mata pelajaran
Aplikasi akan menjadwalkan jadwal sesuai dengan tahun ajaran yang dipilih
60