BAB III ANALISA DAN PERANCANGAN
Pada bab ini akan dijelaskan mengenai proses analisa perangkat lunak dan perancangan atau desain perangkat lunak. 3.1 Analisa Sistem
Analisa aplikasi ini meliputi 3 (tiga) aspek penting yaitu analisa kebutuhan input/ masukan, dan output/ keluaran.
3.1.1
Analisa Masukan
Data masukan yang diperlukan dalam aplikasi ini adalah data dosen, data mata kuliah, dan data ruang kuliah. Di dalam aplikasi ini data-data tersebut akan diproses sesuai dengan Algoritma First Come First Serve yang akan dijelaskan dalam analisa dan desain proses. Metode masukan data didesain melalui keyboard dan mouse yang terhubung dengan computer. Sebagai media input data ke dalam aplikasi akan digunakan formulir berbasis web. Secara lebih rinci dijelaskan di dalam perancangan antarmuka.
3.1.2 Analisa Proses Penentuan jadwal mengajar dosen ini akan ditentukan menurut Algoritma First Come First Serve. Tahapannya yang dilakukan dalam aplikasi ini secara garis besar adalah : 1. User memasukkan data dosen, mata kuliah, ruang, hari, waktu, dan lokasi bisa digunakan untuk penjadwalan dimana untuk kelas karyawan. 2. Senin sampai dengan Jumat waktunya untuk kelas Elearning, yaitu antara pukul 19.00 – 21.30. 3. Sabtu waktu mulai dari pukul 07.30 – 21. 30. 4. Minggu waktu mulai dari pukul 07. 30 – 18. 45.
20
21
5. Lokasi mencakup 3 tempat, yaitu meruya, menteng dan kranggan. 6. Mata kuliah bisa diajarkan lebih dari satu dosen demikian juga sebaliknya, satu dosen bisa mengajar lebih dari satu mata kuliah. 7. Saat proses slot, waktu merupakan kombinasi antara hari dan jam. 1 slot itu waktunya 1 SKS yaitu 50 menit. Hari diidentifikasi dengan nomor hari, yaitu : 1.
Senin
2.
Selasa
3.
Rabu
4.
Kamis
5.
Jumat
6.
Sabtu
7.
Minggu
Untuk hari Senin – Jumat tipe slotnya adalah 2, sedangkan hari Sabtu dan Minggu tipe slotnya adalah 1. 7.
Kombinasi antara hari dan waktu dihasilkan secara otomatis oleh system yang akan disimpan ke dalam tabel slot.
8.
Menempatkan dosen yang mengajar mata kuliah tertentu ke dalam tabel jadwal.
Output yang dihasilkan analisa proses ini yaitu, 1. Memprioritaskan penjadwalan berdasarkan status dosen yaitu, Dosen Tetap, Dosen Home Base, dan Dosen Tidak Tetap. 2. Metode FCFS untuk kelas karyawan pada 3 lokasi. 3. Dalam memproses penjadwalan data (dosen, matakuliah, dan ruang) yang masuk terlebih dahulu akan dijadwalkan terlebih dahulu.
3.1.3 Analisa Keluaran Keluaran menggambarkan informasi bagi pengguna aplikasi dan merupakan komponen yang dapat dilihat dari aplikasi yang bekerja. Aplikasi ini akan menghasilkan penjadwalan dosen dan keluaran berupa
22
laporan penjadwalan dosen untuk mengajar matakuliah. Keluaran yang dihasilkan akan berupa laporan yang bisa dicetak.
3.2 Perancangan Pada tahap ini penulis melakukan perancangan dalam pembuatan aplikasi ini yang terdiri dari perancangan use case diagram, perancangan activity diagram, perancangan sequence diagram dan perancangan basis data.
3.2.1
Perancangan Use Case Diagram
Use case mendeskripsikan sebuah interaksi antara satu atau lebih actor dengan system informasi yang akan dibuat. Use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah system informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu.
Gambar 3.1 use case diagram
23
Table 3.1 use case Input Matakuliah Nama Use Case
Input Matakuliah
Aktor
Admin
Deskripsi
Aplikasi menampilkan menu pilihan untuk menginput data yang diinginkan yaitu data matakuliah
Kondisi Awal
Mengisi form input matakuliah, data berdasarkan data yang akan dikelola dengan lengkap
Kondisi Akhir
Form input data terisi data
Flow Normal
Memilih data yang akan dikelola lalu melengkapinya
Flow Alternatif
-
Tabel 3.2 Use Case Input Ruang Nama Use Case
Input Ruang
Aktor
Admin
Deskripsi
Aplikasi menampilkan menu pilihan untuk menginput data yang diinginkan yaitu data ruang
Kondisi Awal
Mengisi form input ruang, data berdasarkan data yang akan dikelola dengan lengkap
Kondisi Akhir
Form input data akan terisi data
Flow Normal
Memilih data yang akan dikelola lalu melengkapinya
Flow Alternatif
-
Tabel 3.3 Use Case Input Mengajar Nama Use Case
Input Mengajar
Aktor
Admin
Deskripsi
Aplikasi menampilkan menu pilihan untuk menginput data yang diinginkan yaitu data input mengajar
Kondisi Awal
Mengisi form input mengajar, data berdasarkan data
24
yang akan dikelola dengan lengkap Kondisi Akhir
Form input mengajar akan terisi data
Flow Normal
Memilih data yang akan dikelola lalu melengkapinya
Flow Alternatif
-
Tabel 3.4 Use Case Buat Jadwal Nama Use Case
Buat Jadwal
Aktor
Admin
Deskripsi
Aplikasi menyimpan data dari form masukan kedalam basis data yang telah di proses
Kondisi Awal
Form masukan dalam keadaan terisi data yang akan disimpan
Kondisi Akhir
Data disimpan ke dalam basis data
Flow Normal
Megisi form masukan dan aplikasi menyimpan ke dalam basis data
Flow Alternatif
-
Tabel 3.5 Use Case Tampilkan Jadwal Nama Use Case
Tampilkan Jadwal
Aktor
Admin
Deskripsi
Aplikasi mengeluarkan laporan jadwal mengajar dosen dengan baik
Kondisi Awal
Aplikasi menampilkan laporan
Kondisi Akhir
Aplikasi hanya menampilkan laporan jadwal mengajar dosen
Flow Normal
Aplikasi menampilakan laporan sesuai dengan datadata yang telah diinput sebelumnya
Flow Alternatif
-
25
Table 3.6 Use Case Cetak Jadwal Nama Use Case
Cetak Jadwal
Aktor
Admin
Deskripsi
Aplikasi mencetak laporan jadwal mengajar dosen
Kondisi Awal
Aplikasi mencetak semua laporan jadwal mengajar dosen
Kondisi Akhir
Aplikasi mencetak data
Flow Normal
Aplikasi mencetak jadwal mengajar dosen sesuai dengan data – data yang telah diinput sebelumnya
Flow Alternatif
3.2.2
-
Perancangan Activity Diagram
Pada bagian ini akan ditunjukan aliran proses aktifitas aplikasi yang sedang dibangun. Dari masing-masing use case di atas menghasilkan activity diagram sebagai berikut :
Gambar 3.2 Activity Diagram Proses Penjadwalan
26
Activity diagram diatas menjelaskan bahwa proses untuk menjalankan aplikasi yang digunakan oleh admin dengan menjalankan aplikasi dari menu login kemudian masukkan username dan password admin, input matakuliah, input ruang, input mengajar, buat jadwal, tampilkan jadwal dan cetak jadwal.
3.2.3
Perancangan Sequense Diagram
Sequence diagram biasa digunakan untuk menggambarkan scenario atau langkah-langkah yang ingin dilakukan dalam pembuatan aplikasi. Sequence diagram menggambarkan perilaku pada sebuah scenario. Berikut ini adalah sequence diagram untuk pembuatan aplikasi penjadwalan program kelas karyawan pada tugas akhir ini :
Gambar 3.3 Sequence Diagram Proses Penjadwalan
27
Gambar 3.4 Sequence Diagram Lanjutan Proses Penjadwalan
Gambar 3.5 Sequence Diagram Lanjutan Proses Penjadwalan
Sequence diagram diatas menjelaskan bahwa, proses untuk membuat penjadwalan kuliah yang digunakan oleh admin dengan menjalankan aplikasi dari menu beranda, input matakuliah, simpan data matakuliah, input
28
ruang, simpan data ruang yang telah di input, lalu buat jadwal kuliah dengan proses kosongkan slot terlebih dahulu, setelah itu generate slot dan proses terakhir adalah generate jadwal. Untuk aplikasi penjadwalan ini bisa langsung di ;ihat jadwal yang telah terbentuk di halaman tampilkan jadwal.
3.2.4 Perancangan Basis Data
Tahapan ini adalah tahapan mendisain database, semua informasi yang telah terkumpul sangat berguna pada tahapan ini. Tahapan ini sering dilakukan dengan menggunakan E-R, tujuannya adalah untuk menciptakan gambaran sederhana tentang data yang mirip dengan pemikiran pengguna. 3.2.4.1 Proses Perancangan Konseptual
Perancangan basis data secara konseptual merupakan upaya untuk membuat model yang masih bersifat konsep, untuk mendeskripsikan data, relasi antar data semantic data dari konsistensi konstrans. Berikut ini merupakan gambar dari proses perancangan basis data secara konseptual. a. Entitas : Entitas merupakan objek dalam dunia nyata yang dapat dibedakan dari objek lain. Berikut adalah entitas dari aplikasi ini.
Gambar 3.6 Entitas
29
b. Atribut : Atribut merupakan keterangan-keterangan yang terkait pada sebuah entitas yang perlu disimpan sebagai basis data. Berikut adalah atribut dari entitas di atas :
Gambar 3. 7 Atribut pada entitas dosen Atribut pada entitas dosen terdiri dari id, id_dosen, nama, alamat, telp, status, sks, jabatan, jenjang, masakerja, waktu, matakuliahyangdiampu. Atribut tersebut untuk menyimpan data dosen yang telah di input.
Gambar 3. 8 Atribut pada entitas matkul
30
Atribut pada entitas matkul terdiri dari id, id_mk, matakuliah, jenis_kuliah, jumlah_sks, kelas_buka, semester, jenis_mk, tipe_mk, lab_teori. Atribut tersebut untuk menyimpan data matakuliah yang telah diinput.
Gambar 3. 9 Atribut pada entitas ruang Atribut pada entitas ruang terdiri dari id, id_ruang, kapasitas, jenis_ruang. Atribut tersebut untuk menyimpan data ruang yang telah diinput.
Gambar 3. 10 Atribut pada entitas report_jadwal
31
Atribut
pada
entitas
report_jadwal
terdiri
dari
id_report,
kode_matakuliah, nama_matakuliah, jenis_kuliah, jumlah_sks, hari, jam, jenis_sesi, kode_ruang, lokasi, kode_dosen, nama_dosen, jenis_kelas, id_slot_sks dan id_semester. Atribut pada entitas ini gunanya untuk menyimpan hasil proses penjadwalan dari semua tabel yang terangkum pada tabel report_jadwal ini.
3.2.4.2 Perancangan Diagram ERD
Model entity relationship yang berisi komponen-komponen himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atributatribut yang mempresentasikan seluruh fakta dari “dunia nyata” yang kita tinjau, dapat digambarkan dengan lebih sistematis dengan menggunakan diagram ERD. Berikut ini gambar ERD yang memberikan gambaran atas keterhubungan antar entitas dari aplikasi ini.
32
Gambar 3.11 Disain Database
3.2.4.3 Struktur Tabel
Struktur table merupakan deskripsi table, field, tipe data, dan ukuran data. Struktur table ini digunakan untuk menjelaskan kedudukan sebagai tempat penyimpanan data. Table-tabel yang penulis gunakan dalam aplikasi penjadwalan perkuliahan kelas karyawan ini adalah sebagai berikut :
33
1.
Tabel dosen Tabel ini digunakan untuk menyimpan data dosen, tabel ini terdiri dari id, id_dosen, nama, alamat, telp, status, sks, jabatan, jenjang, masakerja, matakuliahyangdiampu, waktu
Tabel 3.7 Field-field pada tabel dosen Nama field
Type data
Panjang
Keterangan
Id
Integer
5
Primary Key
Id_dosen
Integer
5
Nama
Varchar
25
Alamat
Varchar
25
Telp
Varchar
15
Status
Varchar
15
Sks
Integer
3
Jabatan
Varchar
15
Jenjang
Varchar
15
Masakerja
Varchar
15
Matakuliahyangdiampu Varchar
25
Waktu
datetime
34
2.
Tabel matkul
Tabel ini digunakan untuk menyimpan data matakuliah, tabel ini terdiri dari id, id_mk, matakuliah, jenis_kuliah, jumlah_sks, kelas_buka, semester, jenis_mk, tipe_mk, lab_teori
Tabel 3.8 Field-field pada tabel matkul Nama field
Type data
Panjang
Keterangan
Id
Integer
4
Primary Key
Id_mk
Varchar
10
Matakuliah
Varchar
25
Jenis_kuliah
Varchar
15
Jumlah_sks
Integer
3
Kelas_buka
Integer
3
Semester
Varchar
10
Jenis_mk
Varchar
10
Tipe_mk
Varchar
10
Lab_teori
varchar
15
3.
Tabel ruang Tabel ini digunakan untuk menyimpan data ruang, tabel ruang ini terdiri dari id, d_ruang, kapasitas, dan jenis_ruang
Tabel 3.9 Field-field pada tabel ruang Nama field
Type data
Panjang
keterangan
Id
Integer
5
Primary Key
Id_ruang
Varchar
10
Kapasitas
Varchar
5
Jenis_ruang
varchar
15
35
4.
Tabel dosen_matakuliah
Tabel ini digunakan untuk menyimpan data dosen mengajar matakuliah sesuai dengan bidangnya masing-masing, tabel ini terdiri dari id, id_dosen dan id_matakuliah
Tabel 3.10 Field-field pada tabel dosen_matakuliah Nama field
Type data
Panjang
Keterangan
Id
Integer
11
Primary Key
Id_dosen
Integer
11
Id_matakuliah
integer
11
5.
Tabel hari
Tabel ini digunakan untuk menyimpan data hari dalam satu minggu, tabel ini terdiri dari no_hari dan nama_hari
Tabel 3.11 Field-field pada tabel hari Nama field
Type data
Panjang
Keterangan
No_hari
smalint
6
Primary Key
Nama_hari
varchar
10
6.
Tabel lokasi Tabel ini digunakan untuk menyimpan data lokasi mana saja Universitas Mercu Buana yang ada, tabel ini terdiri dari id_lokasi dan nama_lokasi Tabel 3.12 Field-field pada tabel lokasi Nama Field Type data Panjang
Keterangan
Id_lokasi
Int
11
Primary Key
Nama_lokasi
Varchar
20
36
7.
Tabel slot
Tabel ini digunakan untuk menyimpan kemungkinan ruangan dan jam yang bisa digunakan untuk jadwal, tabel ini terdiri dari id_slot, id_mk, id_ruang, id_slot_sks, noharo, jenisruang, id_dosen
Tabel 3.13 Field_field pada tabel slot Nama field
Type data
Panjang
Keterangan
Id_slot
Integer
11
Primary Key
Id_mk
Integer
11
Id_ruang
Integer
11
Id_slot_sks
Integer
11
No_hari
Integer
11
Jenisruang
Varchar
30
Id_dosen
integer
11
7.
Tabel slot_sks Tabel ini digunakan untuk menyimpan kombinasi waktu kuliah
sesuai dengan menit per 1 sks, tabel ini terdiri dari id_slot_sks, tipe_slot, no_slot, waktu_mulai, waktu_selesai
Tabel 3. 14 Field-field pada tabel slot_sks Nama field
Type data
Panjang
keterangan
Id_slot_sks
Integer
11
Primary Key
Tipe_slot
Integer
11
No_slot
Integer
11
Waktu_mulai
Varchar
30
Waktu_selesai
varchar
30
37
8.
Tabel semester Tabel ini digunakan untuk menyimpan semester dan tahun yang
akan di tampilkan pada penjadwalan dosen. Tabel ini terdiri dari id, tahun, semester, status_valid.
Tabel 3.15 Field-field pada tabel semester Nama field
Type data
Panjang
Keterangan
Id
Integer
11
Primary Key
Tahun
Varchar
11
Semester
Varchar
10
Status_valid
Integer
11
9.
Tabel Report_jadwal Tabel ini merupakan tabel gabungan antara seluruh tabel yang ada
pada basis data untuk membentuk sebuah jadwal dosen mengajar. Tabel ini
terdiri
dari
id_report,
kode_matakuliah,
nama_matakuliah,
jenis_kuliah, jumlah_sks, hari, jam, jenis_sesi, kode_ruang, lokasi, kode_dosen, nama_dosen, jenis_kelas, id_slot_sks, id_semester.
Tabel 3.16 Field-field pada tabel report_jadwal Nama field
Type data
Panjang
Keterangan
Id_report
Integer
11
Primary Key
Kode_matakuliah
Varchar
10
Nama_matakuliah Varchar
30
Jenis_kuliah
Varchar
30
Jumlah_sks
Integer
11
Hari
Varchar
10
Jam
Varchar
10
Jenis_sesi
Varchar
10
Kode_ruang
Vachar
10
Lokasi
Varchar
10
38
Lanjutan Tabel 3.16 Field-field pada tabel report_jadwal Nama field
Type data
Panjang
Kode_dosen
Varchar
10
Nama_dosen
Varchar
30
Jenis_kelas
Varchar
30
Id_slot_sks
Integer
11
Id_semester
Integer
11
Keterangan
3.3 Perancangan Antar Muka (Interface)
Pada tahap perancangan antarmuka ini, penulis membuat antarmuka untuk aplikasi yang akan dibuat dan menunjukan letak tombol yang satu dengan yang lainnya untuk dapat memulai proses input dosen dan matakuliah.
3.3.1
Rancang Tampilan Login
Menu login ini adalah tampilan awal sebelum masuk ke form penjadwalan, pada menu login ini admin memasukkan username dan password yang valid.
Gambar 3. 12 Rancangan Halaman Login
39
3.3.2
Rancangan Tampilan Home
Tampilan home adalah tampilan awal sebelum memasuki tampilan selanjutnya. Tampilan home ini terdiri dari input dosen, input matakuliah, input ruang, input mengajar, buat jadwal, tampilkan jadwal dan cetak jadwal.
Gambar 3.13 Rancangan Halaman Home
3.3.3
Rancangan Form Input Dosen
Tampilan form input dosen ini untuk pengisian data dosen pengajar. Pada menu ini terdapat button simpan dan kembali jika di klik tombol simpan aplikasi akan menuju ke form lihat data dosen dan tombol kembali diklik aplikasi akan kembali ke beranda.
40
Gambar 3. 14 Rancangan Halaman Input Dosen
3.3.4
Rancangan Halaman Lihat Data Dosen
Jika tombol simpan di klik pada form input dosen program akan langsung menuju lihat data dosen untuk melihat data yang telah diinput.
Gambar 3. 15 Rancangan Halaman Lihat Data Dosen
41
3.3.5
Rancangan Edit Data Dosen
Untuk menuju ke form edit data dosen, admin hanya tinggal mengklik nama dosen dan akan tampil form edit. Setelah mengubah data jika di klik tombol simpan aplikasi akan kembali ke form lihat data dosen.
Gambar 3. 16 Rancangan Halaman Edit Data Dosen
3.3.6
Rancangan Form Input Matakuliah
Tampilan form input matakuliah ini untuk pengisian data matakuliah. Pada menu ini terdapat button simpan dan kembali jika diklik tombol simpan aplikasi akan menuju form lihat data matakuliah dan jika tombol kembali diklik aplikasi akan kembali ke beranda.
42
Gambar 3. 17 Rancangan Halaman Input Matakuliah
3.3.7
Rancangan Lihat Data Matakuliah
Jika tombol simpan di klik pada form input matakuliah program akan langsung menuju ke lihat data matakuliah untuk melihat data yang telah diinput.
Gambar 3. 18 Rancangan Halaman Lihat Data Matakuliah
43
3.3.8
Rancangan Edit Data Matakuliah
Untuk menuju ke form edit data matakuliah, admin hanya tinggal mengklik nama matakuliah dan akan tampil form edit. Setelah mengubah data jika di klik tombol simpan aplikasi akan kembali ke form lihat data matakuliah.
Gambar 3.19 Rancanga Halaman Edit Data Matakuliah 3.3.9 Rancangan Input Data Ruang
Tampilan form input ruang ini untuk pengisian data ruang. Pada menu ini terdapat button simpan dan kembali jika diklik tombol simpan aplikasi akan menuju form lihat data ruang dan jika tombol kembali diklik aplikasi akan kembali ke beranda.
44
Gambar 3.20 Rancangan Halaman Input Ruang 3.3.10 Rancangan Lihat Data Ruang
Jika tombol simpan di klik pada form input ruang program akan langsung menuju ke lihat data ruang untuk melihat data yang telah diinput.
Gambar 3.21 Rancangan Halaman Lihat Data Ruang
3.3.11 Rancangan Edit Data Ruang
Untuk menuju ke form edit data ruang, admin hanya tinggal mengklik nomor ruang dan akan tampil form edit. Setelah mengubah data jika di klik tombol simpan aplikasi akan kembali ke form lihat data ruang.
45
Gambar 3.22 Rancangan Halaman Edit Data Ruang
3.3.12 Racangan Input Dosen Mengajar
Tampilan form input dosen mengajar ini untuk pengisian data mengajar dosen. Pada menu ini terdapat button simpan dan kembali jika diklik tombol simpan aplikasi akan menuju form lihat data dosen mengajar dan jika tombol kembali diklik aplikasi akan kembali ke beranda.
Gambar 3.23 Rancangan Halaman Input Dosen Mengajar
46
3.3.13 Rancangan Data Dosen Mengajar
Jika tombol simpan di klik pada form input dosen mengajar program akan langsung menuju ke lihat data dosen mengajar untuk melihat data yang telah diinput.
Gambar 3.24 Rancangan Halaman Lihat Data Dosen Mengajar
3.3.14 Rancangan Lihat Jadwal
Tampilan lihat data ini dikeluarkan setelah semua data telah dimasukkan di database dan dikeluarkan untuk melihat jadwal dosen. Hasilnya dapat dilihat pada system dengan hanya me,ilih lihat jadwal.
47
Gambar 3.25 Rancangan Halaman Lihat Jadwal