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
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.
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 Usaha Kurikulum Ph as 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.
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.
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
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
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
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-data-data tersebut meliputi:
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.
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
Proses Input Output Ph as 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
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.
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 Tidak Tidak $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.
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.
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
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.
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;
$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.
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
2. Sequence Diagram Menjadwalkan Mata Pelajaran
Gambar 3.10 Sequence Diagram Menjadwalkan Mata Pelajaran
3. Sequence Diagram Melihat Jadwal Mata Pelajaran
Gambar 3.11 Sequence Diagram Melihat Jadwal Mata Pelajaran
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
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.
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.
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.
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.
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
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 Mengajar Perhari
Bobot Maksimal MatPel Max In a Row
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 Guru Jadwal Mata Pelajaran Kekurangan Jam
Penjadwalan membutuhkan waktu cukup lama!
Lihat Jadwal Mengajar
Enter Text
Hari Cari
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
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 User user 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.
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
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
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
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
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
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