RANCANG BANGUN APLIKASI PENJADWALAN
MATA KULIAH PADA STIKES YAYASAN
RS. DR. SOETOMO SURABAYA
TUGAS AKHIR
Program Studi
S1 Sistem Informasi
Oleh:
WARDAH LUCIANNA SUHALIM
11410100054
FAKULTAS TEKNOLOGI DAN INFORMATIKA
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Menurut Puspaningrum dkk (2013), penjadwalan mata kuliah yaitu kegiatan yang sangat diperlukan untuk melaksanakan sebuah kegiatan perkuliahan di dalam jurusan yang ada di universitas atau perguruan tinggi. Penjadwalan mata yang baik yaitu sebuah penjadwalan yang dapat dilakukan oleh seluruh pihak yang terkait dalam kegiatan belajar mengajar, tidak hanya bagi dosen yang mengajar, tetapi juga bagi mahasiswa yang mengambil mata kuliah tersebut.
STIKES Yayasan RS. Dr. Soetomo Surabaya adalah perguruan tinggi swasta milik Yayasan RS. Dr. Soetomo. STIKES Yayasan RS. Dr. Soetomo Surabaya beralamat di Jalan Karangmenjangan nomor 12 Surabaya yang mempunyai dua Program Studi (Prodi), yaitu Prodi D-III Rekam Medik dan Informatika Kesehatan dan Prodi S1 administrasi Rumah Sakit.
Untuk menentukan jadwal dosen mengajar. Setelah selesai rapat, Kepala Prodi memasukkan jadwal dosen mengajar di aplikasi Microsoft Excel. Setelah itu, jadwal dosen mengajar diberikan ke Staf Prodi untuk menentukan ruang mana yang akan digunakan untuk setiap mata kuliah. Setelah semua selesai, KRS dilakukan dan mahasiswa harus ke STIKES Yayasan RS. Dr. Soetomo Surabaya dan menemui dosen wali kemudian mahasiswa mendapatkan jadwal dosen mengajar dan mahasiswa mengatakan ke dosen wali, mata kuliah yang akan diambil. Setelah itu, dosen wali mengisi form KRS. Untuk melakukan pengganti mata kuliah, dosen datang ke BAAK untuk meminta jadwal pengganti. Dosen memberikan kesediaan hari dan jam berapa dosen tersebut bisa mengajar, kemudian BAAK akan mengecek apakah terjadi crash antara ruang, jam, dosen dan mahasiswa. Apabila terjadinya crash, BAAK akan mencarikan hari yang tidak crash dan menginformasikan ke dosen.
Beberapa aspek yang harus diperhatikan dalam pembuatan jadwal mata kuliah yaitu dosen tidak boleh mengajar pada waktu yang bersamaan. Selain itu, dosen tidak boleh mengajar apabila waktu tidak sesuai dengan surat pernyataan ketersediaan mengajar kemudian ruang tidak boleh dijadwalkan lebih dari satu kali pada waktu yang bersamaan.
untuk mengetahui perubahan pada penjadwalan mata kuliah. Mahasiswa kurang mengetahui perubahan jadwal mata kuliah atau sulit mencari perubahan jadwal mata kuliah karena di STIKES Yayasan RS. Dr. Soetomo Surabaya terdapat empat papan pengumuman. Selain itu, mahasiswa juga harus ke STIKES Yayasan RS. Dr. Soetomo Surabaya untuk melihat perubahan jadwal mata kuliah. Dalam membuat jadwal pengganti mata kuliah, Staf Prodi merasa kesulitan karena masih menggunakan proses manual dan membutuhkan waktu satu hari untuk satu pengganti. Hal ini disebabkan staf Prodi harus mencocokkan satu persatu jadwal kosong antara dosen, mahasiswa, dan ruangan.
Berdasarkan uraian di atas, maka dibuatlah sebuah sistem yang menghasilkan jadwal dosen mengajar yang sesuai ketentuan yaitu dosen mengajar sesuai dengan surat pernyataan ketersediaan mengajar, dosen tidak dijadwalkan mengajar lebih dari satu mata kuliah di waktu yang sama dan ruang tidak boleh dijadwalkan lebih dari satu kali pada waktu yang bersamaan. Mencari sebuah penjadwalan yang sesuai dengan kriteria/persyaratan tidaklah mudah dan membutuhkan waktu yang lama. Untuk mendapatkan hasil yang maksimal dan sehingga membutuhkan waktu yang lama, Penjadwalan dosen mengajar menggunakan metode Algoritma Genetika. Metode Algoritma Genetika dapat menyelesaikan permasalahan penjadwalan dosen mengajar karena Algoritma Genetika dapat menyelesaikan masalah yang kompleks sesuai dengan permasalahan yang ada di STIKES Yayasan RS. Dr. Soetomo Surabaya.
untuk penyelesaian masalah dan pemodelan dalam bidang teknologi, bisnis, dan Entertainment, seperti optimasi penjadwalan dan banyak penelitian yang mendukung kehandalan Algoritma Genetika. Selain itu, untuk menyelesaikan masalah penjadwalan, seperti pada masalah penjadwalan perkuliahan menggunakan Algoritma Genetika karena Algoritma Genetika dapat menyelesaikan masalah multi kriteria dan dapat menyelesaikan masalah yang kompleks (Sam’ani, 2012). Sehingga metode ini sesuai untuk menyelesaikan permasalahan yang ada pada penjadwalan dosen mengajar.
Aplikasi penjadwalan mata kuliah dibuat berbasis web karena mahasiswa tidak perlu datang ke STIKES Yayasan RS. Dr. Soetomo Surabaya untuk melihat penjadwalan mata kuliah atau pengganti mata kuliah. BAAK tidak perlu menempel penjadwalan mata kuliah di mading STIKES Yayasan RS. Dr. Soetomo Surabaya. Selain itu, aplikasi ini dapat diakses dimana saja dan kapan saja. Untuk mencari pengganti jadwal mata kuliah, Staf Prodi tidak kesulitan dalam mencari pengganti dengan cara manual. Dengan menggunakan aplikasi ini Staf Prodi dapat menyelesaikan dengan mudah karena pengganti jadwal mata kuliah sudah terkomputerisasi. Oleh sebab itu dibuatkan sebuah aplikasi penjadwalan mata kuliah dengan berbasis web.
1.2 Rumusan Masalah
1.3 Batasan Masalah
Sesuai dengan perumusan masalah yang telah diuraikan di atas dan agar permasalahan tidak melebar maka diperlukan beberapa batasan masalah. Batasan-batasan masalahnya adalah sebagai berikut:
1. Dilakukan secara online.
2. Sistem yang akan dibangun adalah membuat jadwal mata kuliah dan mencari pengganti jadwal mata kuliah.
3. Sistem ini hanya dapat dioperasikan oleh administrator, Kepala Prodi, staf Prodi, mahasiswa dan dosen.
4. Informasi yang dihasilkan meliputi jadwal mata kuliah, jadwal dosen mengajar, time line jadwal mata kuliah, time line jadwal dosen mengajar dan rekapitulasi pengganti jadwal mata kuliah.
5. Metode Algoritma Genetika digunakan untuk menentukan jadwal dosen mengajar
1.4 Tujuan Penelitian
1.5 Manfaat
Manfaat yang diharapkan dalam aplikasi mata kuliah pada STIKES Yayasan RS. Dr. Soetomo Surabaya adalah sebagai berikut:
1. Mempermudah dalam pembuatan penjadwalan mata kuliah, penjadwalan dosen mengajar dan mencari pengganti jadwal mata kuliah
2. Dapat memberikan informasi jadwal mata kuliah dan jadwal dosen mengajar 3. Mempermudah dalam pembuatan laporan
4. Mahasiswa tidak perlu ke STIKES Yayasan RS. Dr. Soetomo Surabaya untuk melihat jadwal mata kuliah
1.6 Sistematika Penulisan
Sistematika dalam penulisan aplikasi mata kuliah ini disusun dalam 5 (lima) bab. Pada tiap bab terdiri atas beberapa sub bab diantaranya adalah:
BAB I PENDAHULUAN
Pada bab ini membahas latar belakang masalah, perumusan masalah, batasan masalah, tujuan, batasan masalah dan sistematika penulisan.
BAB II LADASAN TEORI
Pada bab ini membahas pengertian aplikasi, analisis sistem, tahap-tahap analisis sistem, pengertian penjadwalan, pengertian penjadwalan mata kuliah, batasan-batasan dalam masalah penjadwalan mata kuliah, metode Algoritma Genetika, istilah dalam algoritma, metode SDLC model prototype, PHP, MySQL,
codeigniter, system flowchart, context diagram, Data Flow Diagram (DFD),
Hierarchy Input Process Output (HIPO), Entity Relationship Diagram (ERD),
BAB III ANALISA DAN PERANCANGAN SISTEM
Pada bab ini membahas tentang analisis sistem, identifikasi permasalahan, analisis permasalahan, analisis kebutuhan, proses perhitungan metode Algoritma Genetika, perancangan sistem informasi, perancangan sistem informasi, Input Process Output (IPO), system flowchart, context diagram, Hierarchy Input Process Output (HIPO), Data Flow Diagram (DFD), Entity
Relationship Diagram (ERD), struktur tabel, desain input output, desain uji coba
dan desain kuesioneir
BAB IV IMPLEMENTASI DAN EVALUASI
Pada bab ini membahas tentang kebutuhan sistem, kebutuhan perangkat lunak, kebutuhan perangkat keras, uji coba fungsional, implementasi sistem dan evaluasi.
BAB V PENUTUP
8
BAB II
LANDASAN TEORI
2.1 Pengertian Sistem Aplikasi
Menurut Jogianto (2004), sistem berasal dari bahasa latin “ Systema“ dan
bahasa Yunani “Sustema“ yang berarti “satu kesatuan yang atas komponen atau
elemen-elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi”. Sistem adalah beberapa komponen yang saling berhubungan, bekerja sama untuk mencapai tujuan dengan menerima input dan menghasilkan
output. Dari definisi sistem diatas, dapat disimpulkan bahwa sistem adalah suatu
jaringan yang saling berhubungan dan saling memiliki keterkaitan antara bagian dan prosedur-prosedur yang ada terkumpul dalam satu organisasi untuk melakukan kegiatan untuk mencapai suatu tujuan tertentu.
2.2 Analisis sistem
Menurut Yakub (2012), Analisa sistem suatu proses yang dilakukan untuk menganalisis jabatan dan tugasnya, proses bisnis perubahan, ketentuan dan aturan perusahaan, masalah yang dihadapi perusahaan dan mencari solusinya serta rencana-rencana yang diinginkan oleh perusahaan.
Sistem yang sedang berjalan, mengganti output yang sedang digunakan, dan lain-lainnya.
2.3 Tahap-tahap Analisis Sistem
Menurut Mulyanto (2009), tahapan analisis sistem merupakan tahapan yang sangat penting karena tahapan ini dapat menyebabkan kesalahan pada tahap berikutnya apabila ditahapan ini terjadi kesalahan. Tahapan ini merupakan tahapan yang sangat mudah apabila client sangat paham dengan permasalahan yang dihadapi oleh organisasinya dan tahu betul fungsi-fungsi dari sistem informasi yang akan dibuat. Tetapi tahap ini juga tahap yang sangat sulit apabila
client tidak mengetahui permasalahan yang dihadapi atau client tidak dapat mengidentifikasi permasalahan dan tertutup terhadap pihak luar yang ingin mengetahui detail-detail proses bisnisnya.
Menurut Mulyanto (2009), Di dalam tahap analisis sistem terdapat langkah-langkah yang harus dilakukan oleh seorang analis sistem, diantaranya adalah:
1. Identify, yaitu proses yang dilakukan untuk mengidentifikasi masalah.
2. Understand yaitu memahami kerja dari sistem yang ada.
3. Analysis, yaitu melakukan analisis terhadap sistem.
4. Report, yaitu membuat laporan dari hasil analisis yang telah dilakukan dalam
kurun waktu tertentu.
2.4 Pengertian Penjadwalan
Menurut Sam’ani (2012), penjadwalan adalah penempatan sumber daya
menjadwalkan pertemuan dari beberapa sumber daya. Sumber daya yang dimaksud yaitu dosen yang mengajar mata kuliah, mata kuliah, ruang kuliah, kelas mahasiswa dan waktu perkuliahan. Di dalam penjadwalan mata kuliah terdapat batasan/persyaratan dalam penyusunannya yaitu dosen tidak boleh dijadwalkan lebih dari satu kali pada waktu yang bersamaan dan satu ruang dan ruang tidak dijadwalkan lebih dari satu kali pada waktu bersamaan. Jika terjadi pelanggaran terhadap kendala yang ditetapkan maka akan mendapatkan nilai penalti untuk setiap pelanggaran. Semakin kecil jumlah pelanggaran yang terjadi solusi penjadwalan yang dihasilkan akan semakin baik.
Menurut Arviani (2013), kebanyakan orang terbiasa dengan jadwal sekolah yang disajikan sebagai tabel hari dalam seminggu dan slot waktu. Dapat dilihat bahwa setiap hari dibagi ke dalam slot waktu. Setiap slot waktu memiliki daftar mata pelajaran yang sedang diajarkan, oleh siapa dan di mana. Jadwal dapat dinyatakan dalam sejumlah cara yang berbeda, masing-masing siswa harus memiliki jadwal sendiri tergantung pada mata pelajaran, begitu juga masing-masing guru dan ruang, semua ini adalah perspektif yang berbeda pada jadwal yang sama. Lebih jelasnya dapat dilihat pada Tabel 2.1.
Tabel 2.1 Jadwal Mata Pelajaran (Alviani, 2013)
Hari 09.00 - 10.00 10.00 - 11.00 11.00 - 12 .00
Senin
Matematika Smith Ruang 1 Kelas A
Komputer Carlie Ruang 1 Kelas C
Biologi Donald Ruang 2 Kelas A
Selasa
Kimia Donald Ruang 1 Kelas A
Fisika Donald Ruang 3 Kelas A
2.5 Pengertian Penjadwalan Mata Kuliah
Menurut Arviani (2013), Penjadwalan mata kuliah adalah kegiatan administratif yang paling utama di universitas. Dalam masalah penjadwalan mata kuliah, sejumlah mata kuliah yang dialokasikan ke sejumlah ruang yang tersedia dan sejumlah slot waktu disertai dengan constraints. Constraints terbagi atas dua jenis, yaitu hard constraints dan soft constraints
Hard constraints merupakan batas-batas yang harus diterapkan pada
penjadwalan mata kuliah dan harus dipenuhi. Solusi yang tidak melanggar hard
constraints disebut solusi layak. Hard constraints yang umum dalam penjadwalan
mata kuliah adalah sebagai berikut:
a. Seorang dosen hanya dapat memberi kuliah untuk satu lokasi pada waktu tertentu.
b. Seorang mahasiswa hanya dapat mengikuti kuliah untuk satu lokasi pada waktu tertentu.
c. Sebuah lokasi (ruangan) hanya dapat digunakan untuk satu mata kuliah pada waktu tertentu.
d. Mahasiswa tidak dapat dialokasikan pada suatu lokasi yang menyebabkan lokasi melebihi kapasitas maksimum.
Soft constraints didefinisikan sebagai batas-batas mengenai alokasi
masalah yang kompleks sulit menemukan solusi yang layak. Sebagai contoh, soft
constraints yang mungkin ingin dicapai dalam jadwal sehubungan dengan aspek
mata kuliah adalah meminimalkan terjadinya jadwal mata kuliah satu tingkat yang beturut-turut.
Menurut Arviani (2013), Beberapa universitas dengan jumlah mata kuliah yang akan dijadwalkan dan berbagai constraints yang harus dipertimbangkan membuat penyusunan jadwal mata kuliah menjadi sangat sulit.
2.6 Batasan-Batasan Dalam Masalah Penjadwalan Mata Kuliah
Menurut Arviani (2013), Dalam masalah penjadwalan memiliki beberapa macam batasan yang dapat menyebabkan output yang dihasilkan menjadi salah. Dalam menerapkan batasan dalam suatu masalah, biasanya tidak terlalu sama untuk setiap masalah. Batasan tersebut terdiri dari:
1. Edge constraint
Edge constraint adalah batasan yang mengatur dua kejadian tidak boleh menempati satu slot waktu yang sama. Contohnya pada hari Senin jam 07.30 sampai 08.10 tidak mungkin dosen A mengajar di ruang 1-A dan mengajar di ruang 5-A.
2. Present specification and exclusion
Present specification and exclusion adalah menentukan terlebih
3. Capacity constraint
Capacity constraint adalah batasan yang berhubungan dengan
kapasitas ruangan. Untuk masing-masing kelas hanya boleh diisi sebanyak 40 siswa.
4. Hard and soft constraint
Hard constraint adalah batasan yang sama sekali tidak boleh
dilanggar, sedangkan soft constraint adalah batasan yang diusahakan semaksimal mungkin tidak dilanggar namun jika dilanggar, hal tersebut masih dapat diterima.
2.7 Metode Algoritma Genetika
Menurut Sam’ani (2012), Algoritma Genetika adalah sebuah algoritma
Ada 3 keuntungan utama dalam mengaplikasikan Algoritma Genetika pada masalah-masalah optimasi (Sam’ani, 2012):
a. Algoritma Genetika tidak memerlukan kebutuhan matematis banyak mengenai masalah optimasi.
b. Kemudahan dan kenyamanan pada operator-operator evolusi membuat Algoritma Genetika sangat efektif dalam melakukan pencarian global.
c. Algoritma Genetika menyediakan banyak fleksibel untuk digabungkan dengan metode heuristic yang tergantung domain, untuk membuat implementasi yang efisien pada masalah-masalah khusus.
2.8 Istilah dalam Algoritma
Menurut Sam’ani (2012), terdapat beberapa definisi penting dalam
Algoritma Genetika yang perlu diperhatikan, yaitu:
a. Genotype (Gen), sebuah nilai yang menyatakan satuan dasar yang
membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa biner, float, integer
maupun karakter, atau kombinatorial b. Allele, merupakan nilai dari gen
c. Individu atau kromosom, gabungan gen-gen yang membentuk nilai tertentu dan merupakan salah satu solusi yang mungkin dari permasalahan yang diangkat.
e. Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam Algoritma Genetika.
Lebih jelasnya dapat dilihat pada Gambar 2.2
1
Gen
Allele
Individu Kromosom
1
Gen
Allele
Individu Kromosom
1
Gen
Allele
Individu Kromosom
Populasi
Gambar 2.1. Ilustrasi Perbedaan Istilah-Istilah (Sum’ani, 2012)
Menurut Sam’ani (2012), terdapat beberapa komponen dalam Algoritma
Genetika yaitu skema pengkodean, membangkitkan populasi awal dan kromosom, nilai fitness, seleksi, pindah silang, dan mutasi.
a. Skema Pengkodean
satu variabel. Agar dapat diproses melalui algoritma genetika, maka alternatif solusi tersebut harus dikodekan terlebih dahulu kedalam bentuk kromosom. Masing-masing kromosom berisi sejumlah gen yang mengodekan informasi yang disimpan di dalam individu atau kromosom.
Gen dapat direpresentasikan dalam beberapa bentuk yaitu bit, bilangan real, string, daftar aturan, gabungan dari beberapa kode, elemen permutasi, elemen program atau representasi lainnya yang dapat diimplementasikan untuk operator genetika.
b. Membangkitkan Populasi Awal dan Kromosom
Membangkitkan populasi awal adalah proses membangkitkan sejumlah individu atau kromosom secara acak atau melalui procedure
tertentu. Ukuran untuk populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal.
Teknik dalam pembangkitan populasi awal pada penelitian ini menggunakan metode random search, pencarian solusi dimulai dari suatu titik uji tertentu secara acak. Titik uji tersebut dianggap sebagai alternatif solusi yang disebut sebagai populasi.
c. Nilai Fitness
Nilai fitness digunakan untuk mengukur nilai atau derajat optimalitas suatu Kromosom. Nilai yang dihasilkan dari fungsi tersebut menandakan seberapa optimal solusi yang diperoleh. Nilai yang dihasilkan oleh fitness berfungsi untuk mengukur seberapa banyak jumlah pernyaratan yang dilanggar, sehingga pelanggaran pada jadwal dosen mengajar semakin kecil dan solusi yang dihasilkan semakin baik. Setiap pelanggaran yang terjadi akan diberikan nilai 1. Untuk menghindari nilai fitness tidak terhingga maka jumlah total semua pelanggaran akan ditambah 1. Rumus nilai finess seperti dibawah ini:
...2.1
Keterangan :
BD = Banyaknya dosen mengajar pada waktu bersamaan
BR = Banyaknya ruangan yang digunakan pada waktu bersamaan WD = Banyak waktu dosen yang dilanggar
d. Seleksi
e. Pindah Silang (Crossover)
Salah satu komponen yang paling penting dalam Algoritma Genetika adalah pindah silang atau crossover. Sebuah kromosom yang mengarah pada solusi yang baik dapat diperoleh dari proses memindah silangkan dua buah kromosom. Pindah silang juga dapat berakibat buruk jika ukuran populasinya sangat kecil. Dalam suatu populasi yang sangat kecil, suatu kromosom dengan gen-gen yang mengarah pada solusi terbaik akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah ini digunakan suatu aturan bahwa pindah silang hanya bisa dilakukan dengan suatu probabilitas tertentu, artinya pindah silang bisa dilakukan hanya jika suatu bilangan random yang dibangkitkan kurang dari probabilitas yang ditentukan tersebut. Pada umumnya probabilitas tersebut diset mendekati 1. Pindah silang yang paling sederhana adalah pindah silang satu titik potong (one-point crossover). Suatu titik potong dipilih secara acak (random), kemudian bagian pertama dari orang tua 1 digabungkan dengan bagian kedua dari orang tua pada Tabel 2.2 sebagai berikut:
Tabel 2.2 Pindah Silang Pada Algoritma Genetika (Sum’ani, 2012)
Orang tua
1 0 0 1 1 1 1 1 1 1 1 1 1
Orang tua
2 1 1 0 0 0 0 0 0 0 0 0 0
G1 G4 G5 G8 G9 G12
Anak 1 0 0 0 0 0 0 0 0 0 0 0 0
f. Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Mutasi ini berperan untuk menggantikan gen yang hilang dari populasi akibat seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Metode mutasi yang digunakan adalah mutasi dalam pengkodean nilai. Proses mutasi dalam pengkodean nilai dapat dilakukan dengan berbagai cara, salah satunya yaitu dengan memilih posisi gen bebas pada kromosom, nilai yang ada tersebut kemudian dirubah dengan suatu nilai tertentu yang diambil secara acak.
g. Elitisme
Karena seleksi dilakukan secara acak (random), maka tidak ada jaminan bahwa suatu individu bernilai fitness tertinggi akan selalu terpilih. Kalaupun individu bernilai fitness tertinggi terpilih, mungkin saja individu tersebut akan rusak (nilai fitness-nya menurun) karena proses pindah silang. Untuk menjaga agar individu bernilai fitness tertinggi tersebut tidak hilang selama evolusi, maka perlu dibuat satu atau beberapa salinannya. Prosedur ini dikenal sebagai Elitisme.
2.9 Metode System Development Life Cycle (SDLC) Model Prototype
Menurut Pressman (2002), Prototype adalah pengembangan yang cepat dan pengujian terhadap model kerja dari aplikasi baru melalui proses interaksi dan berulang-ulang yang biasa digunakan ahli sistem informasi dan ahli bisnis.
karena menyederhanakan dan mempercepat desain sistem. Tahap-tahap Prototype
menurut Pressman (2012) dapat dilihat pada Gambar 2.2.
Pengumpulan Kebutuhan
Membangun
Prototype
Evaluasi prototype
Pengkodean sistem
Menguji sistem
Evaluasi sistem
Gambar 2.2. Tahap-tahap Prototype (Pressman, 2002)
Tahapan metodologi prototype yaitu: a. Pengumpulan Kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
b. Membangun Prototype
c. Evaluasi Prototype
Evaluasi ini dilakukan oleh pelanggan apakah prototype yang sudah dibangun sudah sesuai dengan keinginan pelanggan. Jika sudah sesuai maka langkah 4 akan dilakukan. Jika tidak prototype direvisi dengan mengulangi langkah dari awal.
d. Pengkodean Sistem
Dalam tahap ini prototype yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
e. Menguji Sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan.
f. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan. Jika tidak langkah pengkodean sistem harus diulangi kembali
2.10 Hypertext Preprocessor (PHP)
Menurut Prasetyo (2004), kelebihan PHP yaitu:
1. PHP mudah dibuat dan dijalankan, maksudnya PHP dapat berjalan dalam web
Server dan dalam sistem operasi yang berbeda pula.
2. PHP bisa dioperasikan pada platformLinux atau Windows.
3. PHP sangat efisien, karena PHP hanya memerlukan resource sistem yang sangat sedikit dibanding dengan bahasa pemrograman lain.
4. Ada banyak web Server yang mendukung PHP, seperti Apache, PWS, IIS, dan lain-lain
5. PHP juga didukung oleh banyak database, seperti MySQL, postgresql,
Interbase, SQL, dan lain-lain.
6. Bahasa pemrograman PHP menggunakan sintak yang sederhana, singkat dan mudah untuk dipahami.
7. HTML-embedded, artinya PHP adalah bahasa yang dapat ditulis dengan menempelkan pada sintak-sintak HTML
2.11 MySQL
Menurut Prasetyo (2004), MySQL merupakan salah satu databaseServer
yang berkembang di lingkungan open source dan didistribusikan secara free
(gratis) di bawah lisensi GPL. MySQL merupakan RDBMS (Relational Database
Management System) Server. RDBMS adalah program yang memungkinkan
pengguna database untuk membuat, mengelola, dan menggunakan data pada suatu model relational. Dengan demikian, tabel-tabel yang ada pada database
Menurut Prasetyo (2004), keuntungan MySQL yaitu: a. Cepat, handal dan mudah dalam penggunaannya
MySQL lebih cepat tiga sampai empat kali dari pada database Server
komersial yang beredar saat ini, mudah diatur dan tidak memerlukan seseorang yang ahli untuk mengatur administrasi pemasangan MySQL. b. Didukung oleh berbagai bahasa
Database Server MySQL dapat memberikan pesan error dalam berbagai
bahasa seperti Belanda, Portugis, Spanyol, Inggris, Perancis, Jerman, dan Italia.
c. Mampu membuat tabel berukuran sangat besar
Ukuran maksimal dari setiap tabel yang dapat dibuat dengan MySQL adalah 4 GB sampai dengan ukuran file yang dapat ditangani oleh sistem operasi yang dipakai.
d. Lebih Murah
MySQL bersifat open source dan didistribusikan dengan gratis tanpa biaya untuk UNIX platform, OS/2 dan Windows platform.
2.12 Codeigniter (CI)
Menurut Sidik (2012), Codeigniter (CI) adalah framework
Pemograman dapat memfokuskan diri pada kode yang harus dibuat untuk menyelesaikan suatu pekerjaan.
2.13 System Flowchart
Menurut Kristanto (2003), System Flowchart adalah “bagan (chart) yang menunjukan alir (flow) di dalam program atau prosedur sistem secara logika”.
System Flowchart merupakan suatu bagan yang menggambarkan arus dari data
yang akan diproses dalam suatu program dari awal sampai akhir. Di dalam system
flowchart, terdapat simbol-simbol untuk pembuatan aliran data yaitu sebagai
berikut:
Tabel 2.3 Simbol Flowchart (Kristanto, 2003)
Simbol Flowchart Keterangan
Operasi secara manual
Input output
Proses
Arus informasi
Keputusan
Simbol Flowchart Keterangan
Terminal
Penyimpanan file secara sementara
Input manual
Input secara manual
Penghubung ke form berikutnya
2.14 Context Diagram
Menurut al-bahra (2006), Context diagram adalah diagram yang terdiri dari suatu proses dan menggambarkan ruang lingkup suatu sistem. Context
diagram merupakan level tertinggi dari data flow diagram (DFD) yang
menggambarkan seluruh input ke sistem atau output dari sistem. Context diagram
akan memberi gambaran tentang keseluruhan sistem. Dalam diagram context
hanya ada satu proses. Tidak boleh ada store dalam diagram context.
2.15 Data Flow Diagram (DFD)
berikut ini simbol-simbol yang digunakan dalam DFD dengan mengacu pada notasi demarco-Yourdon.
Tabel 2.4 Simbol Data Flow Diagram (Kristanto, 2003)
Gambar Data Flow
Diagram Keterangan
0
Prc s_1
Menunjukan entitas yang berhubungan dengan sistem yang sedang dikembangkan, dimana kesatuan luar berada diluar lingkungan sistem yang akan memeberikan input atau menerima input.
Menunjukan arus data atau aliran data yang berupa masukan untuk sistem atau hasil dari sistem tersebut. Data flow juga dapat mempresentasikan data atau informasi yang tidak berkaitan dengan komputer
1
Prcs_3
Menunjukan proses kegiatan atau kerja dari fungsi transformasi komponen, dan menggambarkan bagian dari sistem mentransformasikan input ke output
1 Stor_2 Menunjukan media penyimpanan
Menurut Kristanto (2003), di dalam DFD terdapat 3 level, yaitu:
yang memberikan masukan (input) dan ada pihak yang menerima keluaran (output) dari sistem.
2. Diagram Nol (diagram level-1): Diagram yang berada satu level dibawah Diagram Konteks yang menggambarkan proses-proses utama dari sistem. Hal yang digambarkan dalam diagram Zero adalah proses utama dari sistem serta hubungan terminator atau entitas proses, data flow dan data store.
3. Diagram Rinci: Diagram level n merupakan hasil dekomposisi dari Diagram zero, yang menjelaskan proses secara lebih terperinci. Turunan langsung dari
Diagram Zero dinamakan Diagram Level 1. Dan apabila Diagram level 1 dapat diuraikan lagi maka akan terbentuk diagram level 2, dan seterusnya.
2.16 Hierarchy Input Process Output (HIPO)
Menurut Jogiyanto (2005), Hierarchy Input Process Output (HIPO) merupakan metode yang dikembangkan dan didukung oleh IBM. Tetapi saat ini HIPO banyak digunakan sebagai alat desain dan teknik dokumentasi dalam siklus pengembangan sistem atau proses-proses pada sistem”.
Menurut Jogiyanto (2005), HIPO dapat digunakan sebagai alat pengembangan sistem dan teknik dokumentasi program. Penggunaan HIPO ini mempunyai sasaran utama sebagai berikut:
1. Untuk menyediakan suatu struktur guna memahami fungsi-fungsi dari program.
3. Untuk menyediakan penjelasan yang jelas dari input yang harus digunakan dan output yang harus dihasilkan oleh masing-masing fungsi pada tiap-tiap tingkatan dari diagram-diagram HIPO.
4. Untuk menyediakan output yang tepat dan sesuai dengan kebutuhan-kebutuhan pemakai.
2.17 Entity Relationship Diagram (ERD)
Menurut al-bahra (2006), ERD adalah suatu model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. Jadi, jelaslah bahwa ERD ini berbeda dengan DFD yang merupakan suatu model jaringan fungsi yang akan dilaksanakan oleh sistem, sedangkan ERD merupakan model jaringan data yang menekankan pada struktur-struktur dan relationship data.
Menurut al-bahra (2006), Elemen-elemen Diagram hubungan entitas sebagai berikut:
a Entity (Entitas)
Pada E-R diagram digambarkan dengan bentuk persegi panjang. Entity adalah sesuatu apa saja yang ada di dalam sistem, nyata maupun abstrak dimana data tersimpan atau dimana terdapat data. Entitas diberi nama dengan kata benda dan dapat dikelompokkan dalam empat jenis nama yaitu: orang, benda, lokasi, kejadian (terdapat unsure waktu didalamnya).
b Relationship (Relasi)
umumnya penghubung (Relationship) diberi nama dengan kata kerja dasar, sehingga memudahkan untuk melakukan pembacaan relasi (bias dengan kalimat aktif atau dengan kalimat pasif).
c Relationship Degree (Derajat relasi)
Relationship Degree atau Derajat Relasi adalah jumlah entitas yang berpartisipasi dalam satu relationship.
d Attribute Value
Attribute Value atau nilai attribute adalah suatu occurrence tertentu dari sebuah attribute di dalam suatu entity atau relationship.
Ada dua jenis Atribut sebagai berikut:
1. Identifier (key) digunakan untuk menentukan suatu entity secara unik (primary key).
2. Descriptor (nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari suatu entity yang tidak unik.
e Cardinality (Kardinalitas)
Kardinalitas relasi menunjukan jumlah maksimum tupel yang dapat berelasi dengan entitas pada entitas yang lain.
Terdapat 3 macam kardinalitas relasi yaitu: 1. One to One
berhubungan dengan paling banyak satu tupel pada entitas B, dan begitu pula sebaliknya.
2. One to Many atau Many to One
Tingkat hubungan satu ke banyak adalah sama dengan banyak ke satu. Tergantung dari mana hubungan tersebut dilihat. Untuk satu kejadian pada entitas pertama dapat mempunyai banyak hubungan dengan kejadian pada entitas yang kedua, dan sebaliknya.
3. Many to Many
Tingkat hubungan kebanyakan terjadi jika tiap kejadian pada setiap entitas akan memepunyai banyak hubungan dengan kajadian pada entitas lainnya. Baik dilihat dari sisi entitas yang pertama, maupun dilihat dari sisi yang kedua. Berarti setiap tupel pada entitas A dapat berhubungan dengan banyak tupel pada entitas B, dan demikian sebaliknya.
2.18 Testing
Menurut Quadri dan Farooq (2010), pengujian software adalah proses verifikasi dan validasi apakah sebuah aplikasi software atau program memenuhi persyaratan bisnis dan persyaratan teknis yang mengarahkan desain dan pengembangan dan cara kerjanya seperti yang diharapkan dan juga mengidentifikasi kesalahan yang penting yang digolongkan berdasarkan tingkat
severity pada aplikasi yang harus diperbaiki.
Pengujian software adalah prosedur untuk eksekusi sebuah program atau sistem dengan tujuan untuk menemukan kesalahan.
2.19 Black Box Testing
Menurut Black (2009), Tester menggunakan behavioral test (disebut juga
Black-Box Tests), sering digunakan untuk menemukan bug dalam high level
operations, pada tingkatan fitur, profil operasional dan skenario customer. Tester
dapat membuat pengujian fungsional black box berdasarkan pada apa yang harus sistem lakukan. Behavioral testing melibatkan pemahaman rinci mengenai domain aplikasi, masalah bisnis yang dipecahkan oleh sistem dan misi yang dilakukan sistem. Behavioral test paling baik dilakukan oleh penguji yang memahami desain sistem, setidaknya pada tingkat yang tinggi sehingga mereka dapat secara efektif Menemukan bug umum untuk jenis desain.
Menurut Nidhra dan Dondeti (2012), black box testing juga disebut
functional testing, sebuah teknik pengujian fungsional yang merancang Test Case
32
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini akan membahas tentang identifikasi masalah, analisis permasalahan, solusi permasalahan, studi literatur, analisis kebutuhan pengguna,
document flowchart, Data Flow Diagram (DFD), Entity Relationship Diagram
(ERD), desain input output dan desain uji coba. Tahapan penelitian yang digunakan pada Rancang Bangun Aplikasi Penjadwalan Mata Kuliah dapat dilihat pada Gambar 3.1.
Pengujian Sistem
Uji Coba Perangkat Lunak
Implementasi Perangkat Lunak
Evaluasi Prototype
System Flowchart Data Flow Diagram (DFD)
Entity Relationship Diagram (ERD)
Membangun Prototype
Analisis Kebutuhan
Pengguna Desain Input Output
Pengumpulan Kebutuhan
Identifikasi Permasalahan
Analisis
Permasalahan Studi Literatur Analisis Kebutuhan
3.1 Pengumpulan Kebutuhan
3.1.1 Identifikasi Permasalahan
Pada tahap ini dilakukan proses observasi, dan wawancara. proses observasi dilakukan dengan cara mengamati secara langsung pada proses penjadwalan di staf Prodi. Sedangkan proses wawancara dilakukan dengan cara mendapatkan sebuah informasi yang bertujuan untuk mengidentifikasi permasalahan yang sedang dihadapi oleh staf Prodi. Wawancara tersebut dilakukan di bagian staf Prodi dann BAAK. Setelah melakukan wawancara, informasi yang diperoleh yaitu profil perusahaan, visi, misi, tujuan, struktur informasi, proses bisnis penjadwalan serta prosedur-prosedur dan kebijakan yang berlaku di STIKES Yayasan RS. Dr. Soetomo Surabaya.
Penjadwalan mata kuliah yang ada di STIKES Yayasan RS. Dr. Soetomo Surabaya, masih menggunakan proses manual untuk menentukan penjadwalan mata kuliah dengan cara Staf Prodi mengirimkan e-mail surat pernyataan
dan menemui dosen wali kemudian mahasiswa mendapatkan jadwal dosen Mengajar dan mahasiswa mengatakan ke dosen wali, mata kuliah yang akan diambil. Setelah itu, dosen wali mengisi form KRS. Untuk melakukan pengganti mata kuliah, dosen datang ke BAAK untuk meminta jadwal pengganti. Dosen memberikan kesediaan hari dan jam berapa dosen tersebut bisa mengajar, kemudian BAAK akan mengecek apakah terjadi crash antara ruang, jam, dosen dan mahasiswa. Apabila terjadinya crash, BAAK akan mencarikan hari yang tidak crash dan menginformasikan ke dosen.
Flowchart Pengganti Mata Kuliah ini dapat dilihat pada Gambar 3.2, Document
Flowchart Penjadwalan Mata Kuliah ini dapat dilihat pada Gambar 3.3.
Document Flowchart Pengganti Mata Kuliah
Dosen Wali Dosen
Phase
Mencarikan mata kuliah pengganti Jadwal Dosen
mengajar Start
Hadir?
Mencatat pengganti mata kuliah Iya
Pengganti mata kuliah
End Tidak
Document Flowchart Penjadwalan Mata Kuliah
Kaprodi Dosen
Staf Prodi Mahasiswa Dosen Wali
Phase
Start
Surat pernyataan ketersediaan
mengajar
Mengirim dokumen surat pernyataan
ketersediaan mengajar lewat email
Surat pernyataan ketersediaan
Surat pernyataan ketersediaan
mengajar
Mengirim dokumen surat pernyataan
ketersediaan mengajar lewat email Surat pernyataan
ketersediaan mengajar
Rapat Dosen untuk menentukan jadwal Dosen mengajar Surat pernyataan
ketersediaan mengajar
Jadwal Dosen mengajar Memasukkan jadwal Dosen mengajar di
Excel
End Jadwal Dosen
mengajar
Menentukan ruangan untuk tiap mata kuliah
Jadwal Dosen mengajar Jadwal Dosen
mengajar
Mencatat KRS
KRS
End
3.1.2 Analisis Permasalahan
Berdasarkan uraian di atas, maka dibuatlah sebuah sistem yang menghasilkan jadwal dosen mengajar yang sesuai ketentuan yaitu dosen mengajar sesuai dengan surat pernyataan ketersediaan mengajar, dosen tidak dijadwalkan mengajar lebih dari satu mata kuliah di waktu yang sama dan ruang tidak boleh dijadwalkan lebih dari satu kali pada waktu yang bersamaan. Mencari sebuah penjadwalan yang sesuai dengan kriteria/persyaratan tidaklah mudah dan membutuhkan waktu yang lama. Untuk mendapatkan hasil yang maksimal dan sehingga membutuhkan waktu yang lama, Penjadwalan dosen mengajar menggunakan metode Algoritma Genetika. Metode Algoritma Genetika dapat menyelesaikan permasalahan penjadwalan dosen mengajar karena Algoritma Genetika dapat menyelesaikan masalah yang kompleks sesuai dengan permasalahan yang ada di STIKES Yayasan RS. Dr. Soetomo Surabaya.
3.1.3 Analisis Kebutuhan
Aplikasi penjadwalan mata kuliah pada STIKES Yayasan RS. Dr. Soetomo ini akan melibatkan beberapa pengguna di dalam mengoperasikan atau menggunakan aplikasi penjadwalan mata kuliah. Tabel 3.1 menjelaskan tentang kebutuhan dalam mengoperasikan atau menggunakan aplikasi penjadwalan mata kuliah sebagai berikut:
Tabel 3.1 Analisis Kebutuhan
No Pengguna Kebutuhan Laporan Yang
Dihasilkan
1 Kepala Prodi Dapat memasukkan plotting
dosen
Dapat memasukkan plotting
ruang
Dapat mengubah jadwal dosen mengajar
Dapat menyetujui jadwal dosen mengajar
Laporan jadwal dosen mengajar
Laporan jadwal dosen sementara
Laporan ketersediaan mengajar
Laporan plotting
dosen 2 Mahasiswa Dapat mengakses jadwal dosen
mengajar
ketersediaan mengajar
Dapat mengakses jadwal dosen mengajar
Dapat memasukkan plotting
dosen team untuk dosen yang mengajar team
Laporan ketersediaan mengajar
Dapat memasukkan data agenda penjadwalan
Dapat memasukkan data hari
Dapat memasukkan data kelas
Dapat memasukkan data jenis ruang mata kuliah
Dapat memasukkan data
Laporan jadwal dosen mengajar
Laporan jadwal dosen sementara
Rekapitulasi
pengganti mata kuliah
No Pengguna Kebutuhan Laporan Yang Dihasilkan
semester
Dapat memasukkan plotting
dosen
Dapat memasukkan ketersediaan mengajar
Dapat membuat jadwal dosen sementara
Dapat memasukkan data KRS
Dapat melihat jadwal dosen mengajar
Dapat mencarikan pengganti mata kuliah
3.2 Membangun Prototype
3.2.1 Desain Arsitektur Jaringan
Dalam pengembangan perangkat lunak perlu adanya perangkat keras yang tepat, sehingga perangkat lunak dapat berjalan dengan lancar tanpa gangguan apapun. Kebutuhan sistem memberikan definisi keperluan perangkat keras untuk mendukung kinerja perangkat lunak yang terdiri dari spesifikasi sistem, spesifikasi Server dan spesifikasi lainnya.
Sistem Penjadwalan Mata Kuliah Sistem Penjadwalan
Mata Kuliah
Maintenance Data : 1. Data pegawai 2. Data hari 3. Data kelas
4. Data janis ruang mata kuliah 5. Data semester
6. Data agenda penjadwalan 7. Data KRS
8. Data pengganti mata kuliah 9. Data penjadwalan sementara 10. Data plotting dosen mengajar Informasi :
1. Lap. penjadwalan sementara 2. Lap. penjadwalan dosen mengajar 3. Lap. ketersediaan mengajar 4. Lap. pengganti mata kuliah
Maintenance Data : 1. Data plotting ruang 2. Data plotting kelas Menyetujui penjadwalan semetara
Maintenance Data : 1. Data plotting dosen team Informasi :
1. Lap. penjadwalan dosen mengajar
2. Lap. timeline penjadwalan dosen mengajar
Informasi : 1. Lap. penjadwalan mata kuliah
2. Lap. timeline penjadwalan mata kuliah
Gambar 3.4 Desain Arsitektur Jaringan
3.2.2 Input Process Output (IPO)
Di dalam aplikasi penjadwalan mata kuliah pada STIKES Yayasan RS. Dr. Soetomo Surabaya terdapat input yang dibutuhkan, process yang dilakukan oleh aplikasi penjadwalan mata kuliah dan output yang dihasilkan. Input yang dibutuhkan yaitu data pegawai, data agenda penjadwalan, data hari, data kelas, data jenis ruang mata kuliah, data jurusan, data mata kuliah, data semester, data dosen, data ruang, data plotting dosen, data ketersediaan mengajar, data plotting
Process yang dilakukan yaitu menyimpan data pegawai, menyimpan data, agenda penjadwalan, menyimpan data hari, menyimpan data kelas, menyimpan data jenis ruang mata kuliah, menyimpan data semester, menyimpan data plotting dosen, menyimpan data plotting ruang, menyimpan data kesediaan mengajar, membuat penjadwalan dosen mengajar sementara dengan metode Algoritma Genetika, menyimpan data penjadwalan sementara, membuat laporan ketersediaan mengajar, memperbarui data penjadwalan sementara, menyetujui jadwal dosen mengajar, menyimpan data jadwal dosen mengajar, membuat laporan penjadwalan sementara, membuat laporan jadwal dosen mengajar per dosen, membuat timeline jadwal dosen mengajar per dosen, membuat laporan jadwal dosen mengajar semua dosen, memperbarui data jadwal dosen mengajar, menyimpan data KRS, membuat jadwal mata kuliah, membuat timeline jadwal mata kuliah, membuat pengganti jadwal mata kuliah, membuat rekapitulasi pengganti jadwal mata kuliah, memperbarui jadwal dosen mengajar dan memperbarui jadwal mata kuliah.
Output yang dihasilkan yaitu rekapan pegawai, rekapan agenda
penjadwalan, rekapan hari, rekapan kelas, rekapan jenis ruang mata kuliah, rekapan semester, rekapan plotting dosen, rekapan plotting ruang, rekapan kesediaan mengajar, penjadwalan dosen mengajar sementara, laporan ketersediaan mengajar, penjadwalan dosen sementara terbaru, jadwal dosen mengajar, laporan penjadwalan sementara, laporan jadwal dosen mengajar per dosen, timeline
penjadwalan mata kuliah, jadwal dosen mengajar diperbarui dan jadwal mata kuliah diperbarui. Lebih jelasnya, Input Process Output dapat dilihat pada Gambar 3.5
Di dalam IPO terdapat 20 data yang digunakan untuk input-an agar semua proses berjalan dan menghaslkan beberapa output. Data tersebut meliputi: a. Data pegawai
Data pegawai berfungsi untuk memberikan hak akses kepada pegawai untuk membuka aplikasi penjadwalan mata kuliah. Data yang diperlukan meliputi NIP, nama pegawai, alamat pegawai telepon pegawai, jabatan pegawai,
username pegawai dan password pegawai.
b. Data agenda penjadwalan
Data pegawai berfungsi untuk menjadwalkan ketersediaan mengajar, hari kuliah dan UTS sehingga pada waktu proses pembuatan jadwal sesuai dengan tanggal yang ditentukan dan dosen tidak bisa memasukkan ketersediaan mengajar melebihi tanggal yang sudah ditentukan. Data yang diperlukan meliputi kode agenda, tanggal mulai, tanggal akhir dan jenis agenda dan semester
c. Data hari
Rekapan pegawai
Rekapan agenda penjadwalan
Rekapan hari
Rekapan kelas
Rekapan jenis ruang mata kuliah
Rekapan semester
Rekapan plotting
dosen
Rekapan plotting kelas
Rekapan plotting
ruang
Rekapan kesediaan mengajar
Laporan ketersediaan mengajar
Laporan jadwal dosen mengajar sementara
Laporan jadwal dosen mengajar per dosen
Timeline jadwal dosen mengajar per dosen
Laporan jadwal dosen mengajar semua dosen
Rekapan data KRS
Laporan timeline
jadwal dosen mengajar
Laporan jadwal mata kuliah
Rekapan pengganti mata kuliah
Proses menyimpan data pegawai
Proses menyimpan data agenda penjadwalan
Proses menyimpan data hari
Proses menyimpan data kelas
Proses menyimpan data jenis ruang mata kuliah
Proses menyimpan data semester
Proses menyimpan data plotting
dosen mengajar
Proses menyimpan data plotting
kelas
Proses menyimpan data plotting
ruang
Proses menyimpan data kesediaan mengajar
Proses membuat laporan ketersediaan mengajar
Proses membuat jadwal dosen mengajar sementara dengan Metode Algoritma Genetika dan menyimpan data jadwal dosen mengajar sementara
Proses memperbarui data jadwal dosen mengajar sementara
Proses menyetujui dan menyimpan data jadwal dosen mengajar
Proses membuat laporan jadwal dosen mengajar sementara
Proses membuat laporan jadwal dosen mengajar per dosen
Proses membuat laporan
timeline jadwal dosen mengajar per dosen
Proses membuat laporan jadwal dosen mengajar semua dosen
Proses menyimpan data KRS
Proses membuat jadwal mata kuliah
Proses membuat timeline
jadwal mata kuliah
Proses menyimpan data pengganti jadwal mata kuliah
Data pegawai
Data semester
Data dosen
Data semester
Data semester
Data mata kuliah
Data ruang
Data semester
Data dosen
Data semester
Data ketersediaan mengajar
Data semester
Data ketersediaan mengajar
Data semester
Data dosen
Data semester
Data dosen
Data jadwal dosen mengajar
Data mahasiswa
Data semester
Data KRS
Data mahasiswa
Data dosen
Output
Input Proses
d. Data kelas
Data kelas berfungsi untuk menyimpan data kelas yang digunakan oleh STIKES Yayasan RS. Dr. Soetomo Surabaya. Data yang diperlukan meliputi kode kelas, tanggal dan nama kelas.
e. Data jenis ruang mata kuliah
Data jenis ruang mata kuliah berfungsi untuk menentukan ruangan atau laboratorium yang digunakan untuk setiap mata kuliah. Data yang diperlukan meliputi kode jenis ruang mata kuliah, nama mata kuliah, jenis ruang dan nama jurusan.
f. Data jurusan
Data jurusan telah disediakan oleh STIKES Yayasan RS. Dr. Soetomo Surabaya dan peneliti diberikan hak akses membaca untuk pembuatan aplikasi penjadwalan mata kuliah. Data yang diperlukan meliputi kode jurusan dan nama jurusan.
g. Data mata kuliah
Data mata kuliah telah disediakan oleh STIKES Yayasan RS. Dr. Soetomo Surabaya dan peneliti diberikan hak akses membaca untuk pembuatan aplikasi penjadwalan mata kuliah. Data yang diperlukan meliputi nama jurusan, kode mata kuliah dan nama mata kuliah, SKS, semester dan kategori. h. Data semester
i. Data dosen
Data dosen telah disediakan oleh STIKES Yayasan RS. Dr. Soetomo Surabaya dan peneliti diberikan hak akses membaca untuk pembuatan aplikasi penjadwalan mata kuliah. Data yang diperlukan meliputi kode dosen, nama dosen, alamat dosen, telepon dosen, jabatan dosen, username dosen dan
password dosen.
j. Data ruang
Data ruang telah disediakan oleh STIKES Yayasan RS. Dr. Soetomo Surabaya dan peneliti diberikan hak akses membaca untuk pembuatan aplikasi penjadwalan mata kuliah. Data yang diperlukan meliputi kode ruang dan nama ruang.
k. Data plotting dosen
Data plotting dosen berfungsi untuk menentukan dosen yang dapat mengakses atau mengisi form ketersediaan mengajar. Data yang diperlukan meliputi nama dosen.
l. Data ketersediaan mengajar
Data ketersediaan mengajar berfungsi untuk menampung mata kuliah yang akan diajarkan pada dosen tersebut dan waktu yang dosen sediakan untuk mengajar mata kuliah tersebut. Data yang diperlukan meliputi nama jurusan nama mata kuliah, jumlah kelas yang akan diajarkan, nama hari, jam mulai dan jam selesai.
m. Data waktu
aplikasi penjadwalan mata kuliah. Data yang diperlukan meliputi kode waktu dan jam.
n. Data jadwal dosen mengajar sementara
Data jadwal dosen mengajar sementara berfungsi untuk menyimpan data jadwal dosen mengajar sementara. Data yang diperlukan meliputi nama dosen, nama mata kuliah, jam, nama ruang, nama kelas dan nama jurusan o. Data jadwal dosen mengajar
Data jadwal dosen mengajar berfungsi untuk menyimpan data jadwal dosen mengajar. Data yang diperlukan meliputi nama dosen, nama mata kuliah, jam, nama ruang, nama kelas, tanggal, pertemuan dan nama jurusan
p. Data mahasiswa
Data mahasiswa telah disediakan oleh STIKES Yayasan RS. Dr. Soetomo Surabaya dan peneliti diberikan hak akses membaca untuk pembuatan aplikasi penjadwalan mata kuliah. Data yang diperlukan meliputi NIM, nama mahasiswa, jurusan dan status.
q. Data KRS
Data KRS telah disediakan oleh STIKES Yayasan RS. Dr. Soetomo Surabaya dan peneliti diberikan hak akses membaca untuk pembuatan aplikasi penjadwalan mata kuliah. Data yang diperlukan meliputi nama mata kuliah, nama mahasiswa, waktu, nama ruang dan nama kelas
r. Data pengganti mata kuliah.
Di dalam IPO terdapat 5 proses yang digunakan agar semua menghasilkan output. Proses tersebut meliputi:
a. Proses Menyimpan
Proses menyimpan berfungsi untuk menyimpan data pegawai ke dalam tabel. Data yang disimpan meliputi data pegawai, agenda penjadwalan, hari, kelas, jenis ruang mata kuliah, semester, plotting dosen, plotting ruang, ketersediaan mengajar, jadwal dosen mengajar sementara, jadwal dosen mengajar, KRS dan pengganti mata kuliah.
b. Proses membuat penjadwalan dosen mengajar dengan metode Algoritma Genetika dan menyimpan data jadwal sementara
Proses ini berfungsi untuk mencarikan jadwal dosen mengajar yang sesuai dengan criteria yaitu tidak terjadi crash antara waktu dan dosen, waktu dan ruang. Setelah mendapatkan jadwal dosen mengajar yang nilai fitness-nya terbaik, jadwal tersebut disimpan di dalam tabel Penjadwalan_sementara dan Penjadwalan
c. Proses Memperbarui Data Jadwal Dosen Mengajar sementara
Proses Memperbarui Data Jadwal Dosen Mengajar sementara berfungsi untuk memperbarui data jadwal dosen mengajar apabila dosen ingin merubah jadwal yang sudah dihasilkan oleh metode Algoritma Genetika.
d. Proses Menyetujui Jadwal Dosen Mengajar sementara dan menyimpan data jadwal dosen mengajar
(generate 16 pertemuan). Proses penyimpanan disimpan pada tabel Detil_penjadwalan.
e. Proses Membuat Laporan
Proses ini berfungsi untuk membuat laporan yang sesuai dengan tabel beserta kata kunci. Laporan yang dihasilkan yaitu berbentuk PDF.
Di dalam IPO terdapat 3 output yang dihasilkan. Output tersebut meliputi:
a. Rekapan (Rekapitulasi) Rekapan yaitu rincian dari sebuah data yang dibutuhkan sesuai dengan database dan kata kunci yang diinginkan oleh pengguna. Rekapan meliputi rekapan pegawai, agenda penjadwalan, hari, kelas, jenis ruang mata kuliah, semester, plotting dosen, plotting ruang, KRS, pengganti mata kuliah
b. Laporan
Laporan yaitu rincian dari sebuah data yang dibutuhkan sesuai dengan
database dan kata kunci yang diinginkan oleh pengguna. Laporan meliputi ketersediaan mengajar, jadwal dosen mengajar sementara, jadwal dosen mengajar, jadwal mata kuliah
c. Timeline
Timeline yaitu rincian dari sebuah data yang dibutuhkan sesuai dengan
3.2.3 Kebutuhan Fungsional
Kebutuhan fungsional merupakan dasar dari fungsi penyusunan fungsi-fungsi yang akan dibangun didalam perangkat lunak. Fungsi-fungsi-fungsi perangkat lunak tersebut telah mewakili proses identifikasi kebutuhan setiap pengguna atau
user. Berikut ini kebutuhan fungsional yang dibutuhkan berdasarkan stakeholder
yaitu:
A Admin
Tabel 3.2 Kebutuhan Fungsi Menyimpan Data Pegawai
Nama Fungsi Fungsi menyimpan data pegawai
Stakeholder Admin
Deskripsi Fungsi ini dilakukan untuk menyimpan data pegawai
Kondisi Awal Data pegawai masih kosong. Untuk mengisi data pegawai,
data yang dibutuhkan meliputi:
Data pegawai
Alur Normal
Aksi Pengguna Respon Sistem
Memilih add pegawai Sistem menampilkan halaman pegawai besarta data pegawai Memilih button add pada
halaman pegawai
Sistem menampilkan form
pegawai yang didalamnya terdapat kode pegawai, nama pegawai, alamat pegawai, telepon pegawai, jabatan pegawai dan status pegawai Pengguna memasukkan data
pegawai dan memilih button save
Sistem menyimpan data pegawai ke dalam tabel Pegawai
Sistem akan menampilkan
pesan “Data telah
disimpan” dan data
pegawai
Alur Eksepsi
Aksi Pengguna Respon Sistem
Pengguna tidak mengisi satu atau lebih filed pada form
pegawai
Sistem menampilkan pesan
„Data harus diisi‟ dan button
save disabled
A BAAK
Tabel 3.3 Kebutuhan Fungsi Menyimpan Data Agenda Penjadwalan
Nama Fungsi Fungsi menyimpan data agenda penjadwalan
Stakeholder BAAK
Deskripsi Fungsi ini dilakukan untuk menyimpan data agenda
penjadwalan
Kondisi Awal Data agenda penjadwalan masih kosong. Untuk mengisi data
agenda penjadwalan, data yang dibutuhkan meliputi:
Data semester
Data agenda penjadwalan
Alur Normal
Aksi Pengguna Respon Sistem
Memilih menu agenda penjadwalan
Sistem menampilkan halaman agenda penjadwalan beserta data pegawai
Memilih button add pada
halaman agenda
penjadwalan
Sistem menampilkan form
agenda penjadwalan yang didalamnya terdapat kode agenda penjadwalan, tanggal mulai, tanggal selesai dan jenis agenda
Pengguna memasukkan data agenda penjadwalan dan memilih button save
Sistem menyimpan data agenda penjadwalan ke dalam tabel Agenda_penjadwalan
Sistem akan menampilkan
pesan “Data telah disimpan”
dan data agenda penjadwalan
Alur Eksepsi
Aksi Pengguna Respon Sistem
Pengguna tidak mengisi satu atau lebih filed pada
form agenda penjadwalan
Sistem menampilkan pesan
„Data harus diisi‟ dan button
save disabled
Kondisi Akhir Fungsi ini menyimpan data agenda penjadwalan
Tabel 3.4 Kebutuhan Fungsi Menyimpan Data Hari
Nama Fungsi Fungsi menyimpan data hari
Stakeholder BAAK
Deskripsi Fungsi ini dilakukan untuk menyimpan data hari
Kondisi Awal Data hari masih kosong. Untuk mengisi data hari, data yang
dibutuhkan meliputi:
Data hari
Alur Normal
Aksi Pengguna Respon Sistem
Alur Normal
Aksi Pengguna Respon Sistem
Memilih button add pada halamanhari
Sistem menampilkan form
hari yang didalamnya terdapat kode hari dan nama hari Pengguna memasukkan data
hari dan memilih button save
Sistem menyimpan data hari ke dalam tabel Hari
Sistem akan menampilkan
pesan “Data telah
disimpan” dan data hari
Alur Eksepsi
Aksi Pengguna Respon Sistem
Pengguna tidak mengisi satu atau lebih filed pada form hari
Sistem menampilkan pesan
„Data harus diisi‟ dan button
save disabled
Kondisi Akhir Fungsi ini menyimpan data hari
Tabel 3.5 Kebutuhan Fungsi Menyimpan Data Kelas
Nama Fungsi Fungsi menyimpan data kelas
Stakeholder BAAK
Deskripsi Fungsi ini dilakukan untuk menyimpan data kelas
Kondisi Awal Data kelas masih kosong. Untuk mengisi data kelas, data yang
dibutuhkan meliputi:
Data kelas
Alur Normal
Aksi Pengguna Respon Sistem
Memilih menu kelas Sistem menampilkan halaman kelas beserta data kelas Pengguna memilih buttonadd
pada halaman kelas
Sistem menampilkan form
kelas yang didalamnya terdapat kode kelas dan nama kelas
Pengguna memasukkan data kelas dan memilih button save
Sistem menyimpan data kelas ke dalam tabel Kelas
Sistem akan menampilkan
pesan “Data telah
disimpan” dan data kelas
Alur Eksepsi
Aksi Pengguna Respon Sistem
Pengguna tidak mengisi satu atau lebih filed pada form
kelas
Sistem menampilkan pesan
„Data harus diisi‟ dan button
save disabled
Kondisi Akhir Fungsi ini menyimpan data kelas
Tabel 3.6 Kebutuhan Fungsi Menyimpan Data Jenis Ruang Mata Kuliah
Nama Fungsi Fungsi menyimpan data jenis ruang mata kuliah
Stakeholder BAAK
Kondisi Awal Data jenis ruang mata kuliah masih kosong. Untuk mengisi data jenis ruang mata kuliah, data yang dibutuhkan meliputi:
Data mata kuliah
Data jurusan
Alur Normal
Aksi Pengguna Respon Sistem
Memilih menu jenis ruang mata kuliah
Sistem menampilkan halaman jenis ruang mata kuliah beserta data mata kuliah Pengguna memilih buttonadd
pada halaman jenis ruang mata kuliah
Sistem menampilkan form
jenis ruang mata kuliah yang didalamnya terdapat kode jenis ruang, nama jurusan, nama mata kuliah dan jenis ruang
Pengguna memasukkan data jenis ruang mata kuliah dan memilih button save
Sistem menyimpan data jenis ruang mata kuliah ke
dalam tabel
Jenis_ruang_MK
Sistem akan menampilkan
pesan “Data telah
disimpan” dan data kelas
Alur Eksepsi
Aksi Pengguna Respon Sistem
Pengguna tidak mengisi satu atau lebih filed pada form
jenis ruang mata kuliah
Sistem menampilkan pesan
„Data harus diisi‟ dan button
save disabled
Kondisi Akhir Fungsi ini menyimpan data kelas
Tabel 3.7 Kebutuhan Fungsi Menyimpan Data Semester
Nama Fungsi Fungsi menyimpan data semester
Stakeholder BAAK
Deskripsi Fungsi ini dilakukan untuk menyimpan data semester
Kondisi Awal Data semester masih kosong. Untuk mengisi data semester,
data yang dibutuhkan meliputi:
Data semester
Alur Normal
Aksi Pengguna Respon Sistem
Memilih menu semester Sistem menampilkan halaman semester beserta data semester
Pengguna memilih buttonadd
pada halaman semester
Sistem menampilkan form
Alur Normal
Aksi Pengguna Respon Sistem
Pengguna memasukkan data semester dan memilih button save
Sistem menyimpan data semester ke dalam tabel Semester
Sistem akan menampilkan
pesan “Data telah
disimpan” dan data
semester
Alur Eksepsi
Aksi Pengguna Respon Sistem
Pengguna tidak mengisi satu atau lebih filed pada form
semester
Sistem menampilkan pesan
„Data harus diisi‟ dan button
save disabled
Kondisi Akhir Fungsi ini menyimpan data semester
Tabel 3.8 Kebutuhan Fungsi Menyimpan Data Ketersediaan Mengajar
Nama Fungsi Fungsi menyimpan data ketersediaan mengajar
Stakeholder BAAK
Deskripsi Fungsi ini dilakukan untuk menyimpan data ketersediaan
mengajar
Kondisi Awal Data ketersediaan mengajar masih kosong. Untuk mengisi data
ketersediaan mengajar, data yang dibutuhkan meliputi:
Data dosen
Data mata kuliah
Data plotting dosen
Data jurusan
Data hari
Data semester
Alur Normal
Aksi Pengguna Respon Sistem
Memilih menu ketersediaan mengajar
Sistem menampilkan halaman ketersediaan mengajar beserta data ketersediaan mengajar Pengguna memilih buttonadd
pada halaman ketersediaan mengajar
Sistem menampilkan form
ketersediaan mengajar yang didalamnya terdapat tanggal, tahun ajaran, nama dosen, nama jurusan, nama mata kuliah, nama hari, jam mulai, jam selesai dan team.
Pengguna memasukkan data ketersediaan mengajar dan memilih button save
Alur Normal
Aksi Pengguna Respon Sistem
Sistem akan menampilkan
pesan “Data telah
disimpan” dan data
ketersediaan mengajar
Kondisi Akhir Fungsi ini menyimpan data ketersediaan mengajar
Tabel 3.9 Kebutuhan Fungsi Menyimpan Data Jadwal Dosen mengajar Sementara
Nama Fungsi Fungsi menyimpan data jadwal dosen mengajar sementara
Stakeholder BAAK
Deskripsi Fungsi ini dilakukan untuk menyimpan data jadwal dosen
mengajar sementara
Kondisi Awal
Kondisi Awal
Data jadwal dosen mengajar sementara masih kosong. Untuk mengisi data jadwal dosen mengajar sementara, data yang dibutuhkan meliputi:
Data ketersediaan mengajar
Data mata kuliah
Data semester
Data dosen
Alur Normal
Aksi Pengguna Respon Sistem
Memilih menu jadwal dosen mengajar sementara
Sistem menampilkan halaman jadwal dosen mengajar beserta data jadwal dosen mengajar Pengguna memilih button
add pada halaman jadwal dosen mengajar
Sistem melakukan
perhitungan Algoritma
Genetika (skema
pengkodean, populasi awal dan kromosom, fungsi
Alur Normal
Aksi Pengguna Respon Sistem
tabel Penjadwalan_sementara dan Penjadwalan.
Sistem akan menampilkan
pesan “Data telah disimpan”
dan data jadwal dosen mengajar sementara
Kondisi Akhir Fungsi ini menyimpan data jadwal dosen mengajar sementara
Tabel 3.10 Kebutuhan Fungsi Menyimpan Data KRS
Nama Fungsi Fungsi menyimpan data KRS
Stakeholder BAAK
Deskripsi Fungsi ini dilakukan untuk menyimpan data KRS
Kondisi Awal Data KRS masih kosong. Untuk mengisi data KRS, data yang
dibutuhkan meliputi:
Data jadwal dosen mengajar
Data mahasiswa
Alur Normal
Aksi Pengguna Respon Sistem
Memilih menu KRS Sistem menampilkan halaman KRS beserta data KRS
Pengguna memilih button add
pada halaman KRS
Sistem menyimpan data KRS ke dalam tabel penjadwalan dan tabel KRS_penjadwalan
Sistem akan menampilkan
pesan “Data telah
disimpan” dan data KRS
Alur Eksepsi
Aksi Pengguna Respon Sistem
Pengguna tidak mengisi satu atau lebih filed pada form
pegawai
Sistem menampilkan pesan
„Data harus diisi‟ dan button
save disabled
Kondisi Akhir Fungsi ini menyimpan data KRS
Tabel 3.11 Kebutuhan Fungsi Menyimpan Data Pengganti Mata Kuliah
Nama Fungsi Fungsi menyimpan data pengganti mata kuliah
Stakeholder BAAK
Deskripsi Fungsi ini dilakukan untuk menyimpan data pengganti mata
kuliah
Kondisi Awal Data pengganti mata kuliah masih kosong. Untuk mengisi data
pengganti mata kuliah, data yang dibutuhkan meliputi:
Data jadwal dosen mengajar
Data KRS
Data mata kuliah