otomatisasi sistem pendaftaran dan penjadwalan ujian...
TRANSCRIPT
Otomatisasi Sistem Pendaftaran dan Penjadwalan Ujian
Skripsi Fakultas Teknologi Informasi Universitas Kristen
Satya Wacana
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti:
Thomas Adhi Nugroho (672012053)
Christine Dewi, S.Kom., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Juli 2016
1
Otomatisasi Sistem Pendaftaran dan Penjadwalan Ujian
Skripsi Fakultas Teknologi Informasi Universitas Kristen
Satya Wacana
1) Thomas Adhi Nugroho, 2) Christine Dewi
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email: 1) [email protected], 2) [email protected]
Abstract
TA FTI UKSW division is one of the divisions that exist in the FTI UKSW charge of
handling the administration of the final project (TA). TA FTI UKSW division is still not
have a system for data processing mainly on the enrollment and exam scheduling.
Processing examinees data is still done using excel file, so prone to error. Scheduling the
exam itself is still done by checking the data one by one, so it takes a longer time about 2-3
days. In this research, registration and scheduling system will be built. The system is made
base on web applications with CodeIgniter framework. This system is developed using
prototyping methods with twice the evaluation process. The test results show that the
system of registration and scheduling system may help TA FTI UKSW division in data
processing and can speed up the scheduling process from 2-3 days to 1-2 minutes.
Keywords: Examination Scheduling, Examination Registration, CodeIgniter Framework,
FTI UKSW
Abstrak Bagian TA FTI UKSW merupakan salah satu dari divisi yang ada di FTI UKSW yang
bertugas menangani administrasi tugas akhir (TA). Bagian TA FTI UKSW saat ini masih
belum memiliki sistem untuk pengolahan data skripsi terutama pada bagian pendaftaran
dan penjadwalan ujian. Pengolahan data peserta ujian selama ini masih dilakukan dengan
menggunakan file excel, sehingga rawan terjadi kesalahan. Penjadwalan ujian sendiri
masih dilakukan dengan cara memeriksa data satu-persatu, sehingga membutuhkan waktu
yang lebih lama sekitar 2-3 hari. Pada penelitian ini dilakukan pengembangan sistem
untuk pendaftaran dan penjadwalan ujian. Sistem yang dikembangankan berupa aplikasi
berbasis web dengan Codeigniter sebagai framework. Sistem ini dikembangakan
menggunakan metode prototyping dengan dua kali proses evaluasi. Hasil pengujian sistem
menunjukan bahwa pengembangan sistem pendaftaran dan penjadwalan ini dapat
membantu bagian TA FTI UKSW dalam pengolahan data peserta ujian dan dapat
mempercepat proses penjadwalan dari 2-3 hari menjadi 1-2 menit.
Kata Kunci: Penjadwalan Ujian, Pendaftaran Ujian, Framework CodeIgniter, FTI
UKSW.
1) Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya
Wacana Salatiga. 2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga.
2
1. Pendahuluan
Fakultas Teknologi Informasi Universitas Kristen Satya Wacana (FTI
UKSW) merupakan salah satu fakultas yang selalu dinamis dan berkembang. FTI
UKSW telah memiliki 10 program studi dengan 4000 mahasiswa dan 70 dosen [1].
Untuk memaksimalkan pelayangan kepada mahasiswa, FTI UKSW memiliki
beberapa bagian, salah satunya bagian Tugas Akhir. Kewajiban dari bagian Tugas
Akhir Fakultas Teknologi Informasi Universitas Kristen Satya Wacana (TA FTI
UKSW) adalah membantu administrasi mahasiswa skripsi, mulai dari pendaftaran
hingga yang terakhir yudisium.
Tugas Akhir (TA) merupakan syarat kelulusan bagi mahasiswa di FTI
UKSW. TA sendiri memiliki proses yang panjang, dan salah satu proses yang
penting di dalamnya adalah ujian. Tahap awal ujian TA dimulai dari pendaftaran
ujian, pembuatan jadwal hingga pengumuman jadwal ujian. Pendaftaran ujian di
FTI UKSW masih mengandalkan google form, kemudian data disimpan dalam
bentuk file excel. Data yang dihasilkan akan divalidasi terlebih dahulu oleh TA FTI
UKSW berdasarkan syarat yang sudah ditentukan. Data yang sudah tervalidasi
akan dikirimkan ke tiap progdi untuk kemudian ditentukan penguji untuk
masing-masing peserta ujian. Kemudian data tersebut dikembalikan lagi ke TA
FTI UKSW untuk pembuatan jadwal. Proses pembuatan jadwal dilakukan
dengan mencocokan satu persatu data dosen penguji dan pembimbing dengan
jadwal mengajar dosen, selain itu perlu juga memperhatikan data lain seperti data
ketersediaan ruangan ujian. Jadwal yang sudah dibuat akan diumumkan kepada
mahasiswa peserta ujian dan dosen.
Berdasarkan analisis yang dilakukan terhadap TA FTI UKSW pada proses
pendaftaran dan penjadwalan ujian didapatkan beberapa kekurangan. Pendaftaran
ujian masih belum memiliki sistem yang dapat mempermudah staff bagian TA FTI
UKSW untuk mengolah data, karena selama ini data tersimpan dalam bentuk file
excel,Sehingga pengolahan data akan menjadi lebih sulit dan rawan akan
kesalahan oleh karena itu diperlukan aplikasi yang dapat mempermudah
pengolahan data. Kemudian untuk proses penjadwalan ujian masih dilakukan
dengan mencocokan satu-persatu dari data yang ada, dengan pendaftar ujian tiap
periode rata-rata 150 mahasiswa dan hanya ditangani oleh 3 orang staff, membuat
proses penjadwalan menjadi lebih lama sekitar 2-3 hari untuk proses
pengerjaannya, hal ini mengakibatkan terjadi keterlambatan pengumuman kepada
peserta ujian. Perlu sebuah sistem yang dapat menghasilkan jadwal yang sesuai
dengan kriteria yang ada di TA FTI UKSW secara cepat dan tepat.
Teknologi aplikasi sistem informasi merupakan sebuah teknologi interaktif
yang dapat digunakan sebagai sarana informasi yang dapat diakses oleh semua
pihak, baik pihak umum maupun pihak yang mempunyai hak akses [2]. Sebuah
organisasi seperti universitas memanfaatkan aplikasi sistem informasi untuk
memudahkan pekerjaan baik pegawai, dosen maupun mahasiswa. Berdasakan
penjelasan tersebut aplikasi ini nantinya diharapkan dapat membantu pengolahan
data peserta ujian agar lebih mudah dan juga dapat menghasilkan jadwal ujian
yang sesuai dengan kriteria yang dimiliki Bagian TA FTI UKSW. Aplikasi yang
akan dikembangkan dalam sistem ini nantinya akan beberbentuk aplikasi berbasis
3
web dan menggunakan framework Codeigniter (CI) sebagai kerangka kerjanya,
untuk tampilan menggunakan Materialize CSS, untuk kalender menggunakan
library fullCalendar.js, dan yang terakhir database yang digunakan adalah
MySQL. CI dipilih karena CI tergolong sebagai framework yang ringan jadi tidak
memberikan beban berlebih pada server. CI juga sudah mendukung Model View
Controller (MVC), sehingga pengembangan aplikasi menjadi lebih terstruktur.
Framework CodeIgniter juga memiliki keunggulan dibanding
framework-framework lainnya seperti mudah dimodifikasi dan beradaptasi,
dokumentasi lengkap dan jelas, serta learning curve rendah [3].
Berdasarkan latar belakang yang telah dijelaskan, didapatkan rumusan
masalah dari penelitian ini yaitu bagaimana membuat sistem yang dapat membantu
bagian TA FTI UKSW dalam mengolah data peserta ujian, terutama pada bagian
pendaftaran dan penjadwalan ujian. Fokus dari penelitian ini sendiri adalah
menyelesaikan permaslahan yang dihadapi oleh bagian TA FTI UKSW, sehingga
penelitian ini sendiri memiliki batasan dalam pembahasan. Batasan tersebut antara
lain, proses penjadwalan tidak menggunakan algoritma tertentu, tidak membahas
mengenai keamanan data dan aplikasi yang dikembangkan digunakan untuk
menyelesaikan permasalahan yang terjadi di bagian TA FTI UKSW.
2. Kajian Pustaka
Penelitian mengenai sistem informasi Tugas Akhir (TA) telah dilakukan
sebelumnya. Salah satunya adalah penelitian mengenai pengembangan sistem
informasi kerja praktek dan tugas akhir yang diimplementasikan di fakultas sistem
komputer. Penelitian ini membahas mengenai pengembangan sistem informasi
yang dapat memudahkan staff administrasi kerja praktek dan tugas akhir dalam
mengolah data. Hasil dari penelitian ini sistem informasi yang dikembangkan
dapat bekerja dengan baik sehingga proses administrasi kerja praktek dan tugas
akhir dapat dilakukan dengan lebih mudah [4].
Penelitian kedua adalah penelitian yang membahas mengenai penjadwalan.
Penelitian ini membahas mengenai penyelesaian masalah penjadwalan dengan
menerapan Constraint Satisfaction Problem sebagai pendekatan solusi. Hasil dari
penelitian ini menujukan bahwa hasil dari jadwal yang dibuat dapat digunakan
untuk jadwal jaga staff laboratorium [5].
Penelitian ketiga adalah penelitian mengenai pengembangan sistem
penjadwalan yang digunakan untuk menjadwalkan ujian pascasarjana di
Universitas Diponegoro. Penelitian ini memiliki tujuan untuk mempermudah
pengolahan data sehingga lebih efisien. Hasil dari penelitian ini adalah sistem
yang diimplementasikan dapat membantu pekerjaan dari staff yang memiliki
tugas untuk membuat jadwal ujian [6].
Jika dibandingkan pada penelitian sebelumnya penelitian ini berfokus pada
hasil dari penjadwalan, sehingga pembahas mengenai bagaimana permasalahan
penjadwalan ini diselesaikan tidak dibahas pada penelitian ini . Selain itu fokus
dari penelitian ini adalah bagaimana menyelesaikan permasalahan yang terjadi di
TA FTI UKSW mengenai pengolahan data skripsi, terutama pada bagian
pendaftaran dan penjadwalan ujian. Sehingga hasil yang diharapkan dari
penelitian ini adalah sistem dapat meningkatkan kinerja TA FTI UKSW agar
4
lebih optimal.
Web application adalah software yang dijalankan melalaui web server. Tidak
seperti aplikasi desktop yang dapat dijalankan secara langsung melalui sistem
operasi, web application hanya bisa diakses melalui web browser. Web
application ini meiliki beberapa keuntungan dibandingkan dengan aplikasi
desktop, yaitu dia bisa dijalan kan dimapun tidak peduli apapun sistem operasi
yang menjalankannya, asalkan terdapat web browser aplikasi ini dapat berjalan
dengan baik [7].
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada saat
tersebut PHP adalah sekumpulan script yang digunakan untuk mengulah data dari
form dari suatu web. Berbeda dengan javascript yang eksekusinya dilakukan di
browser (client) PHP dijalankan di dalam server. Karena berjalan di server maka
PHP biasanya digunakan sebagai back-end untuk mengakses data yang ada dalam
database seperti MySQL, Oracle, dan lain sebgainya [8].
MySQL adalah sebuah implementasi dari sistem manajemen basis data
relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL
(General Public License). Setiap pengguna dapat secara bebas menggunakan
MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan
produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan
salah satu konsep utama dalam basis data yang telah ada sebelumnya;
SQL(Structured Query Language). SQL adalah sebuah konsep pengoperasian
basis data, terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis
[9].
Framework dapat diartikan sebagai alat yang digunakan untuk membantu
dan memudahkan dalam pembuatan aplikasi dalam konteks ini adalah aplikasi
web. Framework juga dapat didefinisikan sebagai kumpulan script (terutama class
dan function) yang dapat membantu developer dalam menangani berbagai masalah
dalam pemrograman seperti koneksi ke database, pemanggilan variable dan
fungsi-fungsi lainnya sehingga developer dapat lebih fokus dan lebih cepat
membangun aplikasi [10]. Sebuah framework umumnya telah menyertakan
perintah-perintah siap pakai yang dibutuhkan dalam membuat suatu aplikasi,
namun pihak developer tetap harus menulis kode sendiri dan harus menyesuaikan
dengan lingkungan framework yang digunakan.
CodeIgniter (CI) adalah salah satu framework PHP yang tangguh dan
popular. CodeIgniter tergolong framework dengan ukuran kecil dan cukup mudah
dikuasai. CI juga datang dengan manual yang tergolong lengkap. CodeIgniter
merupakan aplikasi sumber terbuka yang berupa framework PHP dengan model
MVC (Model, View, Controller) untuk membangun website dinamis dengan
menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi
web dengan cepat mudah dibandingkan dengan membuatnya dari awal.
CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir adalah
versi 3.0.6 [11].
5
3. Metode dan Perancangan Sistem
Penelitian ini dilakukan dan diselesaikan melaui 5 tahapan penelitian yaitu :
1) Analisis Kebutuhan dan pengumpulan data. 2) Perancangan sistem. 3)
Perancangan aplikasi / program. 4) Implementasi dan pengujian sistem serta
analisis hasil pengujian. 5) Penulisan laporan hasil penelitian [12].
Tahapan-tahapan yang dilakukan dalam penelitian ini dapat dilihat pada Gambar 1.
Gambar 1. Tahapan Penelitian
Berdasarkan bagan pada Gambar 1 dapat dijelaskan bahwa tahapan
penelitian yang dilakukan adalah sebagai berikut: Tahap pertama analisis
kebutuhan dan pengumpulan data, dimana pihak pengembang mencari informasi
mengenai kebutuhan dari pengguna yang berhubungan dengan pembuatan
aplikasi. Pencarian informasi dilakukan dengan cara wawancara secara langsung
kepada staff TA FTI UKSW. Berdasarkan hasil dari wawancara yang dilakukan
didapatkan informasi bahwa saat ini masih belum ada sistem yang digunakan
untuk mengelola data ujian. Selain itu sistem untuk melakukan penjadwalan ujian
juga belum ada, sehingga proses pembuatan jadwal memakan waktu yang cukup
lama sekitar 2-3 hari. Untuk tahap kedua, ketiga dan keempat dilakukan
perancangan sistem pendaftaran dan penjadwalan ujian menggunakan metode
pengembangan sistem Prototype. Untuk tahap kelima dilakukan penulisan laporan
ilmiah dan artikel ilmiah.
Metode pengembangan sistem yang digunakan pada penelitian ini adalah
metode Prototyping, karena selama proses pengembangan dilakukan komunikasi
secara intensif antara pengembang dengan pengguna. Metode ini membantu proses
pengembangan suatu perangkat lunak dengan cara membuat model dari perangkat
lunak yang akan dibuat. Pengembagan perangkat lunak dengan metode ini
dilakukan secara bertahap, yaitu dengan membuat prototype yang sederhana
terlebih dahulu, setelah itu prototype akan dikembangkan dari waktu ke waktu
hingga perangkat lunak selesai dikembangkan atau sudah sesuai dengan kebutuhan
dari pengguna [13]. Tahap-tahap yang dilakukan pada metode prototype
ditunjukan pada Gambar 2.
6
Gambar 2 Metode Prototype [13]
Tahap pertada dalam metode Prototype adalah listen to customer, tahap ini
dilakukan untuk mengetahui informasi mengenai kebutuhan pengguna yang perlu
ada dalam sistem yang akan dikembangkan. Kemudian informasi yang sudah
didapatkan dianalisa dan diterjemahkan ke dalam bentuk yang lebih mudah untuk
diimplementasikan kedalam sistem.
Bedasarkan informasi yang telah diperoleh dari wawancara dengan staff TA
FTI UKSW didapatkan beberapa informasi salah satunya adalah rule atau aturan
yang harus dipenuhi untuk membuat jadwal ujian. Aturan itu antara lain : a. Semua
peserta ujian harus di jadwalkan, b. dosen baik pembimbing maupun penguji harus
hadir pada saat ujian berlangsung, c. terdapat ruang yang dapat digunakan.
Berdasarkan rule yang sudah didapatkan dapat dibuat Flowchart untuk
penjadwalan ujian seperti yang terlihat pada Gambar 3 START
PU = getPesertaUjianRU = getRuangUjian
dow = 1tgl = start_ujian
IFPU != null
&&RU != null
END
IFRU.hasNext()
Dow +=1
IFdow > 5
dow = 0;tgl += 3 day
tgl += 1 day
Y
N
N
J = 08:00 J <= 14:30Y
N
IFJ < RU.jadwalRuang
< (j+90)
Y
J += 60 minN
IFPU.next()!=null
Y
IFJ <
PU.jadwalDosen< (J+90)
Y
N
N
tambahJadwal(PU.next());
unset(PU.next())
J += 90 min
Gambar 3 Flowchart Penjadwalan Ujian
Dari Gambar 3 terlihat bahwa ketika melakukan penjadwalan yang pertama
kali diperiksa adalah data peserta ujian dan data ruangan, jika salah satu dari dua
7
data tersebut kosong maka proses akan dihentikan secara langsung. jika tidak
proses akan berlanjut ke pemeriksaan jadwal ruangan. Pemeriksaan ini untuk
melihat apakah ada jam tersebut ruangan sedang dipakai atau tidak. Proses
pengecekan di lakukan dengan memeriksa tiap jam yang tersedia mulai dari jam
08:00 sampai pukul 16:00 dan tiap ujian dilakukan selama 90 menit. Jika terjadi
bentrok antara waktu pelaksanaan dengan jadwal ruang maka akan dilakukan
pengecekan pada jam berikutnya dengan menambah 1 jam. Jika tidak ada masalah
maka dilakukan langkah selanjutnya yaitu pengecekan jadwal dosen baik
pembimbing (1 & 2) juga penguji (1, 2 & cadangan), proses pengecekan dilakukan
secara menyeluruh dari data peserta ujian hingga mendapat data yang sesuai.
Kemudian data yang sesuai akan dimasukan ke jadwal ujian, jika tidak ditemukan
maka akan mencari lagi di jam yang berbeda.
Analisis kebutuhan perangkat keras dan spesifikasi perangkat lunak yang
digunakan dalam membangun jurnal elektronik ini yaitu: analisis perangkat
keras yang akan digunakan adalah Processor AMD A10, 1.90 GHz, RAM 8 GB
dan Hardisk 1 TB. Sedangkan perangkat lunak yang digunakan adalah sistem
operasi Linux Ubuntu 16.04, Sublime Text 3, LAMP Server (Apache, MySQL,
PHP), Web browser (dalam penelitian ini digunakan Opera) dan Rational Rose
untuk membuat UML dan Microsoft Visio 2010 untuk pembuatan flowchart.
Perancangan sistem dalam penelitian ini dibuat dalam bentuk diagram UML.
Diagram UML meliputi use case diagram, activity diagram dan class diagram.
Berikut ini akan dijelaskan masing-masing diagram yang telah dibuat.
Gambar 4 Use Case Diagram
Gambar 4 merupakan use case yang menjelaskan bagaimana aplikasi akan
dibuat. Sistem ini memiliki tiga aktor yaitu administrator(TA), mahasiswa dan
progdi. Aktor mahasiswa memiliki hak akses untuk melakukan registrasi ujian dan
8
melihat jadwal ujian yang sudah selesai dibuat. Selanjutnya administrator (TA FTI
UKSW), disini administrator memiliki hak akses paling tinggi, sehingga dapat
melakukan pengelolaan data peserta, jadwal dosen, ruangan, dan membuat jadwal
ujian. Aktor terakhir adalah progdi yang memiliki hak akses untuk menentukan
penguji.
Gambar 5 Activity Diagram Pendaftaran Ujian
Gambar 5 merupakan activity diagram yang menggambarkan proses
pendaftaran ujian yang dilakukan oleh mahasiswa. Aktivitas dimulai dari
mahasiswa login kedalam sistem terlebih dahulu, jika user sudah terdaftar maka
akan menampilan tampilan utama jika tidak maka akan dikembalikan ke tampilan
login. Kemudian user masuk ke menu daftar ujian dan mengklik tombol Daftar,
maka secara otomatis aplikasi akan mengambil data dari user kemudian
menyimpannya kedalam data peserta ujian.
Gambar 6 Activity Diagram Validasi Pendaftaran
Gambar 6 merupakan activity diagram untuk memeriksa apakah pendaftaran
ujian sudah valid atau belum. Kondisi valid akan terpenuhi apabila mahasiswa
sudah mengumpulkan semua persyaratan yang dibutuhkan. Bagian ini dilakukan
oleh user TA FTI UKSW (administrator). Aktivitas dimulai dengan login ke
dalam aplikasi kemudian diverifikasi oleh sistem. Kemudian aplikasi akan
9
menampilkan data pendaftar ujian yang sudah masuk, jika user memilih salah satu
data maka akan ditampilkan daftar persyaratan yang harus dikumpulkan.
Selanjutnya user memasukan data persyaratan, jika sudah klik simpan maka data
akan disimpan dalan sistem.
Gambar 7 Activity Diagram Penentuan Penguji
Gambar 7 merupakan activity diagram untuk mententukan dosen penguji
yang dilakukan oleh progdi. Aktivitas dimulai dengan login ke aplikasi yang
kemudian di verifikasi oleh sistem. Kemudian aplikasi akan menampilkan data
peserta ujian yang sudah tervalidasi sebelumnya. Penentuan penguji dilakukan
dengan memilih salah satu data, kemudian aplikasi akan memunculkan form untuk
memasukan nama penguji yang sesuai. Setelah selesai sistem akan menyimpan
perubahan yang sudah dilakukan.
Gambar 8 Activity Diagram Penjadwalan Ujain
Gambar 8 merupakan activity diagram penjadwalan ujian yang dilakukan
oleh TA FTI UKSW (administrator). Aktivas dimulai dengan login, ketika
10
berhasil maka akan memunculkan tampilan utama aplikasi. Administrator
selanjunya memilih menu penjadwalan ujian. Kemudian administrator menekan
tombol generate, secara otomatis sistem akan membuat jadwal ujian. Jadwal ujian
yang sudah di generate akan di tampilkan ke halaman aplikasi.
Gambar 9 Class Diagram
Gambar 9 merupakan penggambaran dari class-class yang ada di dalam
aplikasi yang akan dikembangkan. Berdasarkan pada Gambar 9 terdapat 2 jenis
class yang digunakan yaitu class model dan class controller. Class model
digunakan untuk melakukan komunikasi antara aplikasi dengan database,
sedangkan class controller digunakan untuk mengolah data dari model dan
menampilkannya pada user interface. Class model dalam aplikasi ini memiliki 5
class yaitu : ModelUjian, ModelJadwalMengajar, ModelJadwalRuang,
ModelJadwalDosen dan ModelJadwalUjian. Untuk class controller terdiri dari 6
class yaitu controller_JadwalRuang, controller_JadwalKuliah,
controller_JadwalUJian, controller_ujian_mhs, controller_ujian_TA dan
controller_ujian_progdi. Class-class tersebut mengikuti struktur dari Codeigniter
(CI) yang menerapkan MVC (Model View Control), untuk bagian view tidak
dimasukan kedalam class diagram karena view disini tidak memiliki class dan
hanya berisi tag HTML.
4. Hasil Implementasi dan Pembahasan
User yang digunakan ada tiga yaitu administrator (bagian TA), mahasiswa
dan progdi (Program Studi) dengan hak akses yang berbeda. Administrator dapat
melakukan validasi pendaftaran dan pembuatan jadwal ujian. Mahasiswa hanya
dapat mendaftar dan progdi dapat menentukan penguji.
Mahasiswa yang sudah menyelesaikan skripsi, mereka dapat melakukan
pendaftaran dengan masuk ke halaman pendaftaran ujian seperti pada Gambar
10. Tombol Daftar digunakan untuk melakukan pendaftaran. Data yang dikirmkan
berasal dari data pendaftaran skripsi dari sistem yang berbeda dan tidak dibahas
11
pada jurnal ini. Data yang sudah disimpan dapat dilihat oleh administrator atau
Bagian TA FTI UKSW seperti pada Gambar 11.
Gambar 10 Pendaftaran Ujian
Gambar 11 Halaman List Calon Peserta Ujian
Gambar 11 merupakan halaman yang menampilkan daftar dari calon peserta
ujian yang sudah mendaftar. Daftar didunakan untuk melakukan validasi
pendaftaran, jika pendaftar sudah melakukan verifikasi maka kolom status akan
diisi valid, jika tidak akan berisi invalid.
Gambar 12 Form Verifikasi Pendaftaran Ujian
Gambar 12 merupakan tampilan dari form untuk melakukan validasi
pendaftaran. Proses validasi sendiri dilakukan dengan memeriksa kelengkapan
syarat pendaftaran ujian.
12
Gambar 13 Form Penentuan Penguji
Gambar 13 merupakan tampilan dari form penentuan penguji bagi tiap
peserta ujian. Penguji sendiri terdiri dari tiga orang yaitu penguji 1, penguji 2 dan
penguji cadangan. Untuk penguji cadangan bersifat optional, bisa diisi atau juga
boleh dikosongkan.
Gambar 14 Jadwal Mengajar Dosen
Gambar 14 merupakan tampilan dari Jadwal mengajar Dosen, data yang
ditampilkan disajikan mirip dengan tampilan google calendar menggunakan
library javascript fullcalendar.js. Jadwal yang ditampilkan sesuai dengan jadwal
dosen yang dipilih pada bagian combo box diatasnya. Kode Program 1 Memasukan Data ke Kalender
Kode Program 1 merupakan script yang digunakan untuk memasukan jadwal
ke dalam kalender. Variabel dataUrl pada baris 1 merupakan alamat dari controller
untuk mengambil data. Alamat url memiliki tambahan variable dengan nama data
yang berisi nip dari dosen yang dipilih, sehingga data yang dikembalikan oleh
controller sesuai dengan data yang diminta. Sedangakan pada baris 2 adalah fungsi
dari fullcaledar untuk memasukan event ke dalam kalender.
1. var dataUrl = 'http://kpta.ftiuksw.org/KPTA/JadwalKuliah/jadwalMakul/'+data; 2. $("#calendar").fullCalendar( 'addEventSource', dataUrl );
13
Gambar 15 Form Tambah Jadwal Mengajar
Gambar 16 Tambah Jadwal Mengajar dari File Excel
Terdapat dua buah cara yang dapat dilakukan untuk memasukan jadwal
mengajar dosen. Cara pertama yaitu memasukan jadwal satu-persatu melalui form
seperti pada Gambar 15. Cara yang kedua adalah dengan mengimport data dari file
excel (.xls,xlsx) seperti pada Gambar 16.
Gambar 17 Halaman Pengelolaan Ruang
Proses pengelolaan ruang memiliki tampilan yang sama dengan pengelolaan
jadwal mengajar dosen seperti yang ditunjukan pada Gambar 17. Pengelolaan
ruangan terdiri dari dua buah fungsi utama yaitu tambah ruangan dan tambah
jadwal ruangan.
Gambar 19 Form Tambah Jadwal Penggunaan Ruang
14
Gambar 19 merupakan form untuk menambahkan jadwal penggunaan
ruangan. Data penggunaan ruang berisikan nama kegiatan, ruangan yang dipakai,
dan jadwal mulai penggunaan dan akhir baik jam maupun tanggal pemakaian.
Kemudian data tersebut akan ditampilkan seperti yang terlihat pada Gambar 17.
Gambar 20 Halaman Jadwal UJian
Gambar 20 merupakan tampilan dari halaman penjadwalan ujian. Proses
penjadwalan dilakukan secara otomatis atau dibuat oleh aplikasi dengan cara
menekan tombol Generate Jadwal, sehingga TA FTI UKSW tidak perlu lagi
memeriksa dan mencocokan jadwal dosen dan ruangan satu-persatu. Kemudain
jadwal yang sudah dibuat oleh aplikasi akan ditampilkan dalam kalender di
bawahnya. Kode Program 2 Perulangan Mengambil Data Peserta
Perulangan yang diakukan pada Kode Program 2 dilakukan untuk
memastikan semua mahasiswa peserta ujian dijadwalkan. Variable $dow
merupakan representasi dari hari dalam minggu, dengan asumsi bahwa hari
minggu adalah 0 dan sabtu adalah 6. Setiap satu perulangan berlangsung akan
dilihat apakah sesuai dengan kondisi, jika dow<=5 maka dia akan ditambah 1, jika
tidak maka nilai dow dijadikan 0. Nilai dow ini digunakan untuk menentukan
tanggal selanjutnya jika dow sama dengan 5 maka hari akan bertambah 3, jika
tidak hari akan bertambah 1. Hal ini dilakukan agar hari ujian dimulai hari senin
dan berakhir pada hari jumat.
1. while ($dataPeserta != null) { 2. if ($dow<=5) {$dow++;}
3. else{$dow=0;}
4. if ($dow==5){$day=$day+3;} 5. else { $day++;}
6. ..... 7. }
15
Kode Program 3 Perulangan Mengambil Data Ruang
Kode Program 3 merupakan script untuk mengambil semua data ruangan
yang tersedia. Salah satu data yang diambil adalah jadwal penggunaan ruang dan
disimpan kedalam variable $jdw. Kode Program 4 Membuat Perkiraan Waktu Ujian
Kode Program 4 merupakan script yang digunakan untuk membangkitkan
kemungkinan waktu ujian. Perulangan pada baris 3 digunakan untuk memberi
batas waktu, dengan asumsi ujian dimulai jam 08:00 sampai jam 16:00, jika
waktu ujian adalah 90 menit maka kemungkinan ujian terakhir dilakukan adalah
pada pukul 14:30. Waktu mulai ujian di inisialisasi sebagai $j_start dan waktu
selesai adalah $j_end, dimana $j_end = $j_start + 90 min. Kemudian variable $buz
merupakan penanda kesalahan yang terjadi, jika tidak terjadi kesalahan ($buz=0)
maka waktu akan bertambah 90 menit ke jadwal selanjutnya, jika tidak maka
waktu hanya bertambah 60 min. Artinya pada proses ini akan memeriksa tiap jam
hingga didapat jadwal yang sesuai. Kode Program 5 Untuk Memeriksa Data Peserta Ujian
1. $idx = 0; 2. $jadwalDosen = array(); 3. while ($idx < count($dataPeserta)) { 4. if (isset($dataPeserta[$idx])) {
5. $pemb1 =
$this->cekDosen($dataPeserta[$idx]->pemb_1,$dow,$tgl,$j_start,$j_end);
6. if ($pemb1==0){
7. $temp = $this->setJadwalDosen();
8. array_push($jadwalDosen, $temp);
9. $pemb2 =
$this->cekDosen($dataPeserta[$idx]->pemb_2,$dow,$tgl,$j_start,$j_end);
10. if ($pemb2==0){ 11. $temp = $this->setJadwalDosen();
12. array_push($jadwalDosen, $temp);
13. $peng1 =
$this->cekDosen($dataPeserta[$idx]->peng_1,$dow,$tgl,$j_start,$j_end);
14. if ($peng1==0){ 15. $temp = $this->setJadwalDosen();
16. array_push($jadwalDosen, $temp);
17. $peng2 =
$this->cekDosen($dataPeserta[$idx]->peng_2,$dow,$tgl,$j_start,$j_end);
18. if ($peng2==0){ 19. $temp = $this->setJadwalDosen();
20. array_push($jadwalDosen, $temp);
21. $peng3 =
$this->cekDosen($dataPeserta[$idx]->peng_c,$dow,$tgl,$j_start,$j_end);
22. if ($peng3==0){ 23. $temp = $this->setJadwalDosen();
24. array_push($jadwalDosen, $temp);
25. $jdwUjian = array(
26. 'waktu' => $j_start."-".$j_end,
27. 'tanggal' => $tgl,
1. foreach ($listRuang as $ruang) {
2. $jdw = $this->getJadwalRuang($ruang->id_ruang,$tgl);
3. ....
4. }
1. $c = strtotime("08:00"); 2. $j = date("H:i",$c); 3. while ($j <= date("H:i",strtotime("14:30")) ) { 4. $buz=0;
5. $j_start = $j;
6. $j_end = date("H:i",strtotime('+90 minutes',strtotime($j)));
7. if ($buz==0) {
8. ........ 9. $c = strtotime('+90 minutes', $c);
10. $j = date("H:i", $c);
11. }else{ 12. $c = strtotime('+60 minutes', $c);
13. $j = date("H:i", $c);
14. } 15. }
16
Kode Program 5 digunakan untuk memeriksa jadwal dosen, agar dapat hadir
pada saat ujian. Proses dimulai dengan memanggil satu-persatu semua data peserta
ujian dan memeriksa tiap dosen yang ada baik penmbimbing 1,2 maupun penguji
1,2 dan cadangan. Jika pada saat pengecekan terjadi bentrok jadwal anta dosen
dengan waktu ujian maka proses akan berlanjut ke peserta berikutnya, hingga
mendapat data yang sesuai. Setiap data jadwal akan ditambahkan ke jadwal tiap
dosen yang hadir pada saat ujian agar tidak terjadi bentrok dengan jadwal lain.
Data jadwal juga di gunakan untuk memperbaharui data ujian. Kode Program 6 Untuk Memeriksa Jadwal Dosen
Kode Program 6 merupakan bagian dari Kode Program yang digunakan
untuk memriksa apakah jadwal dosen pada saat itu kosong. Baris 5 dan 6
18. if ($peng2==0){ 19. $temp = $this->setJadwalDosen();
20. array_push($jadwalDosen, $temp);
21. $peng3 =
$this->cekDosen($dataPeserta[$idx]->peng_c,$dow,$tgl,$j_start,$j_end);
22. if ($peng3==0){ 23. $temp = $this->setJadwalDosen();
24. array_push($jadwalDosen, $temp);
25. $jdwUjian = array(
26. 'waktu' => $j_start."-".$j_end,
27. 'tanggal' => $tgl,
28. 'tempat' => $ruang->nama_ruang
29. );
30. $this->db->insert_batch('tb_jadwal_dosen', $jadwalDosen);
31. $this->ModelJadwal->saveJadwalUJian($jdwUjian,$dataPeserta[$idx]->id);
32. 33. unset($dataPeserta[$idx]);
34. $dataPeserta=array_values($dataPeserta);
35. break;
36. }}}}}} 37. $idx++; 38. }
1. public function cekDosen($nip,$dow,$tgl,$s,$e) 2. { 3. $res = 0;
4. if ($nip!="") {
5. $data1 = $this->ModelJadwal->getJadwalMengajar($nip,$dow);
6. $data2 = $this->ModelJadwal->getJadwalDosen($nip,$tgl);
7.
8. $data = array_merge($data1,$data2);
9. 10. foreach ($data as $key) {
11. $start = date("H:i",strtotime($key->start));
12. $end = date("H:i",strtotime($key->end));
13. $nip = $key->nip;
14.
15. if ($s>=$start && $s < $end) {
16. $res=$res+1;
17. }
18. 19. if ($e>$start && $e <= $end) {
20. $res=$res+1;
21. }
22. }
23. } 24. return $res;
25. }
17
digunakan untuk mengambil jadwal dosen baik megajar ataupun jadwal lain.
Proses pencocokan dilakukan dengan membandingkan jadwal dosen dengan waktu
yang dibangkitkan sebagai perkiraan waktu ujian. Jika data terjadi bentrok antara
jadwal dosen dengan waktu ujian maka nilai pinalti akan bertambah jika tidak nilai
pinalti akan tetap. Nilai pinalti sendiri di representasikan pada variabel $res.
Pengujian aplikasi dilakukan dengan menguji fungsi-fungsi dari aplikasi
yang telah dibuat untuk mencari kesalahan/bug pada sistem. Pengujian aplikasi
dilakukan agar sistem yang dibuat berjalan sesuai dengan yang diharapkan dan
dapat memenuhi kebutuhan pengguna. Pengujian aplikasi ini menggunakan dua
teknik pengujian yaitu pengujian alpha dan pengujian beta.
Pengujian alpha menggunakan metode blackbox yaitu pengujian
fungsi-fungsi aplikasi secara langsung tanpa memperhatikan alur eksekusi
program. Pengujian ini dilakukan dengan memperhatikan apakah fungsi telah
berjalan sesuai rancangan dan sesuai yang diharapkan. Tabel 1 adalah hasil
pengujian dari aplikasi yang telah dilakukan. Tabel 1 Hasil Pengujian Blackbox
Fungsi yang diuji Kondisi Output yang
diharapkan
Output yang
dihasilkan sistem
Status
Pengujian
Login Username dan password
benar
Username dan password salah maupun kosong
Sukses login
Gagal login
Sukses login
Gagal login
Valid
Pendaftaran Ujian Click Button Daftar Sukses tambah data Sukses tambah data Valid
Menampilkan data pendaftar
Membuka halaman ujian oleh KPTA
Sukses tampilkan data Sukses tampilkan data
Valid
Validasi Pendaftaran Mengisi Checklist yang ada
di form
Sukses ubah data Sukses ubah data Valid
Menampilkan data
yang tervalidasi
Membuka halaman ujian
oleh Progdi
Sukses tampilkan data
pendaftar yang
tervalidasi
Sukses tampilkan
data pendaftar yang
tervalidasi
Valid
Penentuan Penguji Memilih Penguji Pada tiap
peserta
Menambah data
Penguji
Mengubah data Penguji
Menambah data
Penguji
Mengubah data Penguji
Valid
Menambah data ruang Mamasukan nama Raungan Sukses tambah Data
ruang
Sukses tambah Data
ruang
Valid
Menambah jadwal
ruang
Mengisi data jadwal
ruangan
Sukses tambah jadwal
ruang
Gagal tambah jadwal ruang
Sukses tambah
jadwal ruang
Gagal tambah jadwal ruang
Valid
Menampilkan jadwal
ruang
Membuka halaman jadwal
ruang
Data tampil dalam
kalender
Data tampil dalam
kalender
Valid
Menambah jadwal
Mengajar
Mengisi form jadwal
mengajar Mengimport file excel
Sukses input jadwal
mengajar Sukses import jadwal
mengajar
Sukses input jadwal
mengajar Sukses import
jadwal mengajar
Valid
Menampilkan jadwal mengajar dosen
Membuka halaman jadwal mengajar dosen
Data tampil dalam kalender
Data tampil dalam kalender
Valid
Generate Jadwal Ujian Memasukan tanggal mulai Sukses mengenerate
Jadwal
Sukses mengenerate
Jadwal
Valid
Menampilkan jadwal
ujian
Membuka halaman jadwal
ujian
Data tampil dalam
kalender
Data tampil dalam
kalender
Valid
Berdasarkan pengujian yang dilakukan pada aplikasi dapat dilihat status
pengujian dari setiap fungsi valid, maka disimpulkan bahwa aplikasi ini berjalan
dengan baik dan sesuai yang diharapkan. Pengujian beta adalah pengujian yang
dilakukan oleh orang yang tidak ikut dalam pembuatan aplikasi atau calon
pengguna aplikasi. Pengujian beta dilakukan dengan melakukan wawancara
kepada user yaitu staff bagian TA FTI UKSW. Hasil wawancara dengan staff
18
bagian TA FTI UKSW didapatkan beberapa hal. Menurut user, aplikasi yang
dikembangkan mudah untuk digunakan dan sesuai dengan kebutuhan dari user.
Tampilan dari aplikasi juga tidak terlalu rumit dan mudah dipahami. Kemudian
pengelolaan data pendaftaran ujian juga menjadi lebih mudah. Terakhir dengan
adanya fitur penjadwalan otomatis, proses penjadwalkan ujian menjadi lebih cepat,
dari yang biasanya membutuhkan waktu antara 2-3 hari dengan sistem ini hanya
diperlukan waktu kurang lebih 1-2 menit saja, fitur ini sangat membantu bagian
TA FTI UKSW. Berdasarkan hasil tersebut dapat disimpulkan bahwa aplikasi
yang dihasilkan dapat memenuhi kebutuhan dan membantu bagian TA FTI UKSW
pada proses pengolahan data peserta ujian.
5. Simpulan
Berdasarkan penelitian yang telah dilakukan maka dapat disimpulkan bahwa
dengan menggunakan otomatisasi sistem dapat mempercepat dan mempermudah
kerja bagian TA FTI UKSW khususnya dalam mengolah data peserta ujian, mulai
dari pendaftaran hingga pengumuman jadwal ujian. Sistem juga dapat
mempermudah bagian TA FTI UKSW dalam pengolahan data saat pembuatan
Jadwal ujian. Selain itu penggunaan framework CodeIgniter sangat bermanfaat
dalam pengembangan sistem dengan menggukan arsitektur Model View Controller
(MVC), karena proses pembuatan sistem menjadi lebih cepat.
Hasil dari pengujian juga menunjukan bahwa dengan adanya otomatisasi
sistem pendaftaran dan penjadwalan dapat meningkatkan kinerja dari bagian TA
FTI UKSW, terutama pada proses pembuatan jadwal ujian. Fitur pembuatan
jadwal ujian yang ada dalam sistem dapat mempercepat pekerjaan Bagian TA FTI
UKSW, dari yang sebelumnya 2-3 hari menjadi 1-2 menit.
6. Pustaka
[1] http://ftiuksw.org/gedung-fti, diakses tanggal 29 Juni 2016.
[2] Putra, Ferdian Sukarno, Purnama, Bambang Eka, Wardati, Indah Uly . 2013.
Pembangunan Sistem Informasi Pendaftaran Mahasiswa Baru Pada
Universitas Terbuka Pacitan, Indonesian Journal on Networking and
Security.
[3] Daqiqil, Ibnu. 2011. Framework CodeIgniter Sebuah Panduan dan Best
Practice.
[4] Kusumaningrum, Karlina, Fatchur Rochim, Adian & Kridalukmana, Rinta.
2013. Sistem Informasi Kerja Praktek dan Tugas Akhir Program Studi
Sistem Komputer, Jurnal Teknologi dan Sistem Komputer.
[5] Gunawan, Chandra Ari, & Toba, Hapnes. 2016. Pembangkitan Solusi
Penjadwalan Berprioritas Melalui Penerapan Constraint Satisfaction
Problem (Studi Kasus: Laboratorium Fakultas Teknologi Informasi
Universitas XXX). Jurnal Teknik Informatika dan Sistem Informasi.
[6] Setyani, Rizka Ella & Endah, Sukmawati Nur. 2014. Sistem Penjadwalan
Ujian Doktor pada Pascasarjana Universitas Diponegoro. Jurnal
Masyarakat Informatika.
19
[7] techterms.com,2014, Web Application, available :
http://techterms.com/definition/web_application, diakses pada 26 Maret
2016
[8] Kadir, Abdul, 2003, Pemrograman Web Mencakup: HTML, CSS, Javascript,
& PHP, Yogyakarta: Penerbit Andi
[9] Saputra, Agus, 2010, Step By Step Membangun Aplikasi dengan PHP dan
MySQL, Jakarta : elex media komputindo
[10] Isaknudin, Muhammad Surya. 2009. Apa dan mengapa Harus Framework,
http://www.kuliah-informatika.com/2009/10/framework-apa-dan-mengapa-
harus.html. Diakses tanggal 5 Januari 2015.
[11] Sofwan, Akhmad. 2007. Belajar PHP dengan Framework CodeIgniter. Ilmu
Komputer,
http://mcd.bis.telkomuniversity.ac.id/file/CodeIgniter/belajar-php-dengan-fr
amework-code-igniter.pdf. Diakses tanggal 1 Maret 2016.
[12] Hasibuan, Zainal A. 2007. Metodologi Penelitian Pada Bidang Ilmu
Komputer dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi. Jakarta :
Ilmu Komputer Univesitas Indonesia.
[13] Pressman, R.S. 2001. Software Enginering : A Practitioner's Approach.
Amerika Serikat : R.S. Pressman and Associates