Aplikasi penjadwalan Tugas Akhir berbasis web.

(1)

APLIKASI PENJADWALAN UJIAN TUGAS AKHIR

BERBASIS WEB

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh:

Hilarius Haryo Tutuko 065314042

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(2)

ii

FINAL EXAM APPLICATION SCHEDULING BASED WEB

FINAL PROJECT

Presented As Partial Fulfillment Of The Requirements To Obtain The Bachelor Computer Degree

In Informatics Engineering

Compiled By Hilarius Haryo Tutuko

065314042

INFORMATICS ENGINEERING STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA


(3)

(4)

(5)

iv

HALAMAN PERSEMBAHAN

Skripsi ini dipersembahkan untuk :

Allah Bapa, Tritunggal Maha Kudus di Surga

Sumber segala berkat & rahmat dalam hidupku, segala karunia dalam hidupku berasal daripada-NYA.

Alfonsus Sulistyo Widodo dan Yulia Elizabeth Endang Probojati

Yang selalu memberikan kasih sayang, pengorbanan, dan segala doa yang selalu dipanjatkan demi keberhasilan dan segala yang baik dalam hidupku.

Clarita Hera Hatmisari

Yang selalu memberikan dukungan dan doa untuk kakaknya

Semua teman – teman

Yang selalu menghibur, menemaniku dalam suka dan duka.


(6)

v

MOTTO

It’s always seems impossible till it’s done

Struggle as hard as you can whatever you believe in

Think positively. No matter how bad situation, something good will


(7)

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 26 Juli 2013 Penulis


(8)

vii

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Hilarius Haryo Tutuko

Nomor Mahasiswa : 065314042

Demi pengembangan ilmu pengetahuan, saya memberikan kepada PerpustakaanUniversitas Sanata Dharma karya ilmiah saya yang berjudul :

APLIKASI PENJADWALAN UJIAN TUGAS AKHIR BERBASIS WEB

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan, dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di Yogyakarta Pada tanggal : 26 Juli 2013

Yang menyatakan,


(9)

viii

ABSTRAK

APLIKASI PENJADWALAN UJIAN TUGAS AKHIR BERBASIS WEB Hilarius Haryo Tutuko

065314042

Universitas Sanata Dharma Yogyakarta

2013

Tujuan dibuatnya Aplikasi Penjadwalan Ujian Tugas Akhir Berbasis Web ini adalah untuk memudahkan petugas skretariat dalam mengatur jadwal Ujian Tugas Akhir serta memudahkan Dosen , Mahasiswa, petugas ruang dan petugas konsumsi untuk melihat jadwal Ujian Tugas Akhir.

Metode pengembangan sistem yang digunakan untuk membangun aplikasi ini adalah dengan menggunakan metodologi pengembangan sistem secara terstuktur (Structured System Analysis and Design Method). Metodologi ini terbagi menjadi beberapa fase yaitu : Fase Analisis Sistem (Analysis Phase), Fase Perancangan (Design Phase), Fase Implementasi (Implementation Phase), Fase Pengujian (Testing Phase).

Dengan menggunakan Aplikasi Penjadwalan Ujian Tugas Akhir Berbasis Web ini, pengguna sistem dapat melakukan penjadwalan Ujian Tugas Akhir sehingga diharapkan tidak terjadi permasalahan penjadwalan yang dikarenakan dosen tidak dapat hadir dikarenakan ada jadwal jadwal kegiatan lain pada waktu yang sama, maupun ruang ujian digunakan untuk ujian mahasiswa lain. Dengan aplikasi ini, laporan yang dibuat dapat dimanfaatkan untuk kepentingan perencanaan jumlah konsumsi, pemberitahuan kepada dosen yang bersangkutan, dan pemberitahuan kepada petugas pengelola ruangan.


(10)

ix

ABSTRACT

FINAL EXAM APPLICATION SCHEDULING BASED WEB Hilarius Haryo Tutuko

065314042

Sanata Dharma University Yogyakarta

2013

The purpose of this Final Examination Application Scheduling Based Web is to facilitate the Secretariat staff for Final Exam schedule and enable lecturers, students, officers and personnel space consumption to see the Final Exam schedule.

The methods are used to build this application is Structured Systems Analysis and Design Method. This methodology is divided into several phases: Analysis Phase, Design Phase, Implementation Phase, and Testing Phase.

By using the Final Exam Scheduling Application Based Web, users can perform system scheduling Final Exam so hopefully that does not happen due to scheduling problems lecturer who could not attend due to a schedule other activities scheduled at the same time, and the space used for the test exam students other. With this application, a report was made to be used for the purposes of planning the amount of consumption, notice to the lecturer concerned, and notice to the managing officer of the room.


(11)

x

KATA PENGANTAR

Puji dan syukur kehadirat Tuhan Yang Maha Kuasa, karena hanya atas rahmat dan karunia-Nya, maka penulis dapat menyelesaikan Skripsi yang berjudul

“APLIKASI PENJADWALAN UJIAN TUGAS AKHIR BERBASIS WEB “

ini dengan baik. Maksud dan tujuan penyusunan skripsi ini adalah untuk melengkapi salah satu syarat guna memperoleh gelar Sarjana Komputer di Universitas Sanata Dharma Yogyakarta.

Penyusunan skripsi ini tidak lepas dari bantuan serta pengarahan dari berbagai pihak baik secara langsung maupun tidak langsung. Oleh karena itu pada kesempatan ini penulis ingin menyampaikan rasa terima kasih kepada :

1. Ibu Sri Hartati Wijono, S.Si., M.Si. selaku dosen pembimbing yang telah meluangkan banyak waktu dan tenaga untuk mendampingi di setiap proses, serta kesabaran dalam memberikan bimbingan pengarahan, semangat, masukan, dan saran yang membangun kepada penulis dari awal hingga akhir penulisan skripsi ini.

2. Ibu Ridowati Gunawan, S.Kom., M.T., selaku dosen penguji dan Kaprodi Teknik Informatika untuk semua kritik, saran yang diberikan kepada penulis pada saat pengujian serta kesabarannya dalam menuntun penulis untuk menyelesaikan studinya.

3. Bapak St. Yudianto Asmoro, S.T., M.Kom., selaku dosen penguji untuk semua kritik, dan juga saran yang diberikan kepada penulis pada saat pengujian.

4. Bapak dan Ibu dosen Program Studi Teknik Informatika yang telah berbagi ilmu, dan setia mendampingi di setiap proses perkuliahan.

5. Orang tua ( AF. Sulityo Widodo dan YE. Probojati ), dan adik ( Clarita Hera Hatmisari ) yang selalu memberikan dukungan baik moril dan materil sehingga penulis dapat menyelesaikan skripsi ini dengan baik. 6. Mas Yos yang telah bersedia meluangkan waktu dan pikirannya untuk

membantu penulis dalam menyelesaikan skripsi.

7. Priscila Kusumaningrum yang setia memberikan semangat dan doa sehingga penulis dapat menyelesaikan skripsi dengan baik. Terima kasih


(12)

xi

karena tanpa bosan selalu mengingatkan untuk segera menyelesaikan skripsi ini.

8. Mas Munir dan Mbak Ajenk Toxic Tatto atas wejangan dan dorongan kepada penulis untuk segera menyelesaikan skripsi ini.

9. Teman kontrakan ( Hengky dan Maya ), terimakasih semangat dan dukungan kepada penulis untuk segera menyelesaikan skripsi ini.

10.Keluarga besar Boyonyanyi Family ( Friendly band, Takut Aer band, & crew ) sumber inspirasi dan kreatifitas.

11.Teman-teman Teknik Informatika angkatan 2006 atas persaudaraan, kebersamaan, bantuan, dan kerja sama selama ini.

12.Segenap karyawan Universitas Sanata Dharma yang bersedia melayani kebutuhan administrasi penulis dalam kegiatan perkuliahan maupun dalam penyusunan skripsi ini.

13.Semua pihak yang telah membantu penulis baik secara langsung maupun tidak langsung.

Seperti kata pepatah “ Tak ada gading yang tak retak “, penulis sangat

menyadari bahwa dalam penulisan skripsi ini sangatlah jauh dari kesempurnaan, sehingga saran dan kritik dari pembaca sangat penulis harapkan.

Akhir kata, penulis berharap agar skripsi ini dapat bermanfaat bagi pembaca untuk dapat menambah wawasan dan pengetahuan. Apabila terdapat beberapa kesalahan dalam penulisan maupun implementasi, penulis memohon maaf yang sebesar-besarnya.

Yogyakarta, 26 Juli 2013


(13)

xii

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN PEMBIMBING ... iii

HALAMAN PENGESAHAN ... iv

HALAMAN PERSEMBAHAN ... v

MOTTO ... vi

PERNYATAAN KEASLIAN KARYA ... vii

LEMBAR PERNYATAAN PERSETUAN PUBLIKASI ... viii

ABSTAK ... ix

ABSTRACT ... x

KATA PENGANTAR ... xi

DAFTAR ISI ... xiii

DAFTAR GAMBAR ... xvi

DAFTAR TABEL ... xix

BAB I PENDAHULUAN ... 1

I.1. Latar Belakang ... 1

I.2. Rumusan Masalah ... 2

I.3. Tujuan Penelitian ... 2

I.4. Batasan Masalah ... 2

I.5. Metodologi Penelitian ... 2

I.6. Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 5

II.1. Pengertian Aplikasi ... 5

II.2. Jadwal... 5

II.3. Pemrograman Berbasis Web ... 6

II.4. Basis Data ... 6

II.4.1. SQL (Structured Query Language) ... 6

II.5. Rekayasa Perangkat Lunak ... 7

II.6. DFD (Data Flow Diagram) ... 9


(14)

xiii

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 13

III.1. Analisis Sistem ... 13

III.1.1. Gambaran Umum Sistem ... 13

III.2. Analisa Kebutuhan ... 13

III.2.1. Diagram Konteks ... 13

III.2.2. Diagram Use-case Kebutuhan Sistem ... 14

III.2.3. Narasi Use-case ... 15

III.3. Perancangan Logikal ... 15

III.3.1. ER-diagram ... 16

III.3.2. Logical Design ... 17

III.3.3. Physical Design ... 18

III.3.4. Diagram Dekomposisi... 20

III.3.5. Diagram Arus Data (DAD) ... 22

III.4. Perancangan Fisikal ... 26

III.4.1. Arsitektur Aplikasi Kebutuhan Sistem ... 26

III.4.1.1.Arsitektur Aplikasi Kebutuhan Pengembang ... 26

III.4.1.2.Arsitektur Aplikasi Kebutuhan Pengguna ... 27

III.4.2. Perancangan Antar Muka Sistem ... 27

III.4.2.1.Rancangan Antar Muka Untuk Administrator ... 27

BAB IV IMPLEMENTASI SISTEM ... 36

IV.1. Implementasi Basis Data ... 36

IV.2. Implementasi Tampilan Antar Muka Sistem ... 38

IV.2.1. Implementasi Tampilan Antar Muka Administrator ... 39

BAB V ANALISIS HASIL IMPLEMENTASI ... 106

V.1. Kekurangan Dan Kelebihan Sistem ... 106

V.1.1. Kekurangan Sistem ... 106

V.1.2. Kelebihan Sistem ... 107

BAB VI PENUTUP ... 108


(15)

xiv

VI.2. Saran ... 108 DAFTAR PUSTAKA ... 109 LAMPIRAN


(16)

xv

DAFTAR GAMBAR

Gambar 2.1 Tabel Simbol-simbol dalam ERD ... 11

Gambar 3.1 Diagram Konteks Aplikasi Penjadwalan Ujian Tugas Akhir ... 14

Gambar 3.2 Diagram Use-case Aplikasi Penjadwalan Ujian Tugas Akhir ... 15

Gambar 3.3 ER-diagram Aplikasi Penjadwalan Ujian Tugas Akhir ... 16

Gambar 3.4 logical design dari Aplikasi Penjadwalan Ujian Tugas Akhir ... 17

Gambar 3.5 Diagram Dekomposisi Aplikasi Penjadwalan Ujian Tugas Akhir ... 20

Gambar 3.6 DAD Level 1 Aplikasi Penjadwalan Ujian Tugas Akhir ... 22

Gambar 3.7 DAD Level 2 Proses 2 Aplikasi Penjadwalan Ujian Tugas Akhir ... 23

Gambar 3.8 DAD Level 2 Proses 3 Aplikasi Penjadwalan Ujian Tugas Akhir ... 24

Gambar 3.9 DAD Level 2 Proses 4 Aplikasi Penjadwalan Ujian Tugas Akhir ... 25

Gambar 3.10 DAD Level 2 Proses 5 Aplikasi Penjadwalan Ujian Tugas Akhir ... 26

Gambar 3.11 Rancangan Menu Administrator ... 28

Gambar 3.12 Rancangan Halaman Beranda ... 28

Gambar 3.13 Rancangan Halaman Jadwal Seminar Berdasarkan Dosen ... 29

Gambar 3.14 Rancangan Halaman Jadwal Seminar Berdasarkan Tanggal ... 29

Gambar 3.15 Rancangan Halaman Home ... 30

Gambar 3.16 Rancangan Halaman Daftar Seminar ... 30


(17)

xvi

Gambar 3.18 Rancangan Halaman Penentuan Jadwal Seminar ... 31

Gambar 3.19 Rancangan Halaman Jadwal Seminar ... 32

Gambar 3.20 Rancangan Halaman Detail Seminar ... 32

Gambar 3.21 Rancangan Halaman Ubah Jadwal Seminar ... 33

Gambar 3.22 Rancangan Halaman Laporan ... 33

Gambar 3.23 Rancangan Halaman Detail Seminar ... 34

Gambar 3.24 Rancangan Halaman Pengaturan Sistem ... 34

Gambar 3.25 Rancangan Halaman Pendaftaran User ... 35

Gambar 4.1 Implementasi Basis Data Sistem ... 36

Gambar 4.2 Implementasi Tabel rb_course ... 37

Gambar 4.3 Implementasi Tabel rb_lectures ... 37

Gambar 4.4 Implementasi Tabel rb_seminars ... 37

Gambar 4.5 Implementasi Tabel rb_rooms ... 37

Gambar 4.6 Implementasi Tabel rb_seminars ... 38

Gambar 4.7 Implementasi Tabel rb_status ... 38

Gambar 4.8 Implementasi Tabel rb_times ... 38

Gambar 4.9 Implementasi Halaman Beranda ... 45

Gambar 4.10 Implementasi Halaman Jadwal Seminar Berdasarkan Dosen ... 48

Gambar 4.11 Implementasi Halaman Jadwal Seminar Berdasarkan Tanggal ... 50

Gambar 4.12 Implementasi Halaman Home ... 53

Gambar 4.13 Implementasi Halaman Daftar Seminar ... 56

Gambar 3.14 Implementasi Halaman Pengajuan Jadwal Seminar ... 59

Gambar 4.15 Implementasi Halaman Penentuan Jadwal Seminar ... 63

Gambar 4.16 Implementasi Pesan Error ... 65

Gambar 4.17 Implementasi Halaman Jadwal Seminar ... 69

Gambar 4.18 Implementasi Halaman Detail Seminar ... 72

Gambar 4.19 Implementasi Halaman Ubah Jadwal Seminar ... 76

Gambar 4.20 Implementasi Halaman Laporan ... 81

Gambar 4.21 Implementasi Halaman Detail Seminar ... 84


(18)

xvii

Gambar 4.22.2 Lanjutan Implementasi Halaman Pengaturan Sistem ... 92 Gambar 4.22.3 Lanjutan Implementasi Halaman Pengaturan Sistem .... 93 Gambar 4.23 Implementasi Halaman Pendaftaran User ... 103


(19)

xviii

DAFTAR TABEL

Tabel 3.1 Identifikasi Pelaku Sistem ... 14

Tabel 3.2 Rancangan Tabel rb_course ... 18

Tabel 3.3 Rancangan Tabel rb_lecturs ... 18

Tabel 3.4 Rancangan Tabel rb_members ... 18

Tabel 3.5 Rancangan Tabel rb_rooms ... 18

Tabel 3.6 Rancangan Tabel rb_seminars ... 19

Tabel 3.7 Rancangan Tabel rb_status ... 19


(20)

1

Bab I

Pendahuluan

I.1. Latar Belakang

Penjadwalan merupakan pekerjaan rutin petugas sekretariat dalam sebuah sistem akademik perguruan tinggi. Dalam perguruan tinggi terdapat beberapa jenis penjadwalan yang sering kita jumpai, diantaranya yaitu penjadwalan perkuliahan dan penjadwalan ujian tugas akhir. Dalam tugas akhir ini akan dibahas tentang pembuatan Aplikasi Penjadwalan Tugas Akhir.

Ujian Tugas Akhir merupakan ujian terakhir yang harus ditempuh seorang mahasiswa untuk dapat memperoleh gelar sarjana. Ujian Tugas Akhir dilaksanakan dengan dihadiri tiga dosen sebagai penguji sehingga dibutuhkan pengaturan waktu dimana ketiga dosen tersebut dapat menghadiri ujian secara bersamaan. Dalam penyusunan jadwal ada beberapa aspek yang harus dipertimbangkan diantaranya :

1. Adanya permintaan dosen yang bersangkutan tidak bisa menguji pada waktu tertentu.

2. Tidak boleh adanya jadwal ujian yang saling bentrok antar dosen ataupun waktu ujian.

Seringkali program studi memperoleh kesulitan dalam mendapatkan jadwal dengan ketiga dosen penguji dapat menghadiri Ujian Tugas Akhir dikarenakan jadwal setiap dosen yang berbeda-beda.

Hal ini melatar belakangi untuk dibuatnya sebuah aplikasi penjadwalan Ujian Tugas Akhir. Dengan aplikasi ini diharapkan dapat mengatasi kesulitan dalam penyusunan jadwal Ujian Tugas Akhir. Aplikasi yang dibangun merupakan aplikasi berbasis web, sehingga dengan memanfaatkan internet maupun intranet mahasiswa dan dosen dapat dengan mudah mengecek jadwal ujian dalam waktu tertentu. Hal ini diharapkan dapat menghindari pelaksanaan ujian apabila dosen yang bersangkutan tidak dapat hadir dikarenakan ada jadwal kegiatan lain. Dengan aplikasi ini, laporan yang dibuat dapat dimanfaatkan untuk kepentingan perencanaan jumlah konsumsi, pemberitahuan kepada dosen yang bersangkutan, dan pemberitahuan kepada petugas pengelola ruangan.


(21)

I.2. Rumusan Masalah

Berdasarkan latar belakang permasalahan yang dikemukakan di atas, maka rumusan masalahnya adalah :

1. Bagaimana mengelola jadwal Ujian Tugas Akhir yang mampu mengatasi masalah jadwal dosen yang berbeda – beda sehingga tidak terjadi jadwal yang bentrok.

2. Bagaimana jadwal Ujian Tugas Akhir dapat digunakan untuk membantu kepentingan perencanaan jumlah konsumsi, pemberitahuan kepada dosen yang bersangkutan, dan pemberitahuan kepada petugas pengelola ruangan.

I.3. Tujuan Penelitian

Tujuan dari Tugas Akhir ini adalah untuk membangun sebuah aplikasi penjadwalan Ujian Tugas Akhir berbasis web dengan menggunakan bahasa pemrograman PHP dan basis data MySQL. Aplikasi ini diharapkan dapat memberi kemudahan dalam menentukan jadwal Ujian Tugas Akhir dalam hal waktu, ruangan yang akan dipakai maupun kesediaan dosen yang bersangkutan.

I.4. Batasan Masalah

Adapun batasan dari program yang dibuat adalah :

1. Tugas akhir ini hanya akan membahas tentang aplikasi penjadwalan Ujian Tugas Akhir saja.

2. Input jadwal dilakukan oleh admin dalam hal ini petugas Sekretariat. Dosen dan Mahasiswa dapat melihat jadwal ujian tanpa harus melakukan login terlebih dahulu.

3. Aplikasi akan dibangun dengan bahasa pemrograman PHP pada bagian antarmuka, Apache sebagai web server, dan menggunakan MySQL untuk server basis data.

I.5. Metodologi Penelitian

Pada bagian ini penulis akan menjelaskan metode-metode yang digunakan untuk penulisan tugas akhir. Metode yang digunakan adalah:


(22)

1. Studi Pustaka

Metode ini adalah metode yang dilakukan dengan mengumpulkan sumber-sumber yang dibutuhkan. Hal ini dilakukan untuk memperkuat analisa, dan pembangunan sistem.

2. Metode pengembangan sistem

Metode pengembangan sistem yang digunakan untuk membangun aplikasi ini adalah dengan menggunakan metodologi pengembangan sistem secara terstuktur (Structured System Analysis and Design Method).

Metodologi ini terbagi menjadi beberapa fase yaitu : a. Fase Analisis Sistem (Analysis Phase)

Analisis sistem bertujuan untuk mengidentifikasikan dan mengevaluasi permasalahan–permasalahan yang dihadapi dan kebutuhan–kebutuhan yang diharapkan sehingga dapat menyelesaikan hambatan–hambatan yang terjadi kearah perbaikan sistem.

b. Fase Perancangan (Design Phase)

Merupakan langkah multiproses yang memusatkan kerja pada perancangan sistem secara umum misalnya perancangan menu, perancangan tampilan dan user interface.

c. Fase Implementasi (Implementation Phase)

Setelah melakukan perancangan sistem yang diinginkan maka hasil rancangan tersebut diimplementasikan, yaitu diterjemahkan kedalam bahasa pemrograman.

d. Fase Pengujian (Testing Phase)

Pengujian ini dimaksudkan untuk menguji apakah hasil sudah sesuai dengan perancangan yang diinginkan serta mencari segala kesalahan yang mungkin terjadi.


(23)

I.6. Sistematika Penulisan

Untuk mempermudah dalam pemahaman dan penyusunan tugas akhir ini, penulis membuat suatu sistematika penulisan sebagai berikut :

BAB I : PENDAHULUAN

Bab ini berisi pengantar, latar belakang masalah, rumusan masalah, batasan masalah yang merupakan pokok permasalahan, tujuan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II : LANDASAN TEORI

Bab ini berisi landasan teori yang digunakan yaitu pengertian dasar sistem informasi, rekayasa perangkat lunak, teknologi client-server, Java dan MySQL.

BAB III : ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang penganalisa sistem dan gambaran yang dibuat, sedangkan perancangan sistem tersebut meliputi desain proses, perancangan basis data dan perancangan user interface.

BAB IV : IMPLEMENTASI SISTEM

Bab ini merupakan penjelasan tentang implementasi terhadap basis data, implementasi antar muka, dan implementasi program atau tentang pembuatan database dan interfacenya.

BAB V : ANALISA HASIL

Bab ini merupakan penjelasan dari analisa hasil yang meliputi analisa metodologi, teknologi, dan kelebihan kekurangan program.

BAB VI : PENUTUP

Bab ini merupakan penutup yang berisi kesimpulan yang menjawab rumusan masalah serta beberapa saran untuk pengembangan program untuk di waktu yang akan datang.


(24)

5

Bab II

Landasan Teori

II.1. Pengertian Aplikasi

Aplikasi berasal dari kata application yang artinya penerapan; lamaran; penggunaan. Secara istilah aplikasi adalah program siap pakai yang dibuat untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju.

Ada banyak pengertian mengenai aplikasi oleh para ahli dalam situs yaitu:

1. Aplikasi adalah satu unit perangkat lunak yang dibuat untuk melayani kebutuhan akan beberapa aktivitas (Buyens, 2001).

2. Aplikasi adalah sistem lengkap yang mengerjakan tugas spesifik (Post, 1999).

3. Menurut Dhanta (2009:32), aplikasi (application) adalah software yang dibuat oleh suatu perusahaan komputer untuk mengerjakan tugas-tugas tertentu, misalnya Microsoft Word, Microsoft Excel.

Sedangkan menurut Anisyah (2000:30), aplikasi adalah penerapan, penggunaan atau penambahan Dari pengertian diatas, dapat disimpulkan bahwa aplikasi merupakan software yang berfungsi untuk melakukan berbagai bentuk pekerjaan atau tugas-tugas tertentu seperti penerapan, penggunaan dan penambahan data.

Menurut Jogiyanto (2005:126), perangkat lunak aplikasi adalah program yang ditulis dan diterjemahkan oleh bahasa pemrograman untuk menyelesaikan suatu aplikasi tertentu.

II.2. Jadwal

Pengertian jadwal menurut Kamus Besar Bahasa Indonesia (2008 : 393) adalah pembagian waktu berdasarkan rencana pengaturan urutan kerja, daftar atau tabel kegiatan atau rencana kegiatan dengan pembagian waktu pelaksanaan yang


(25)

terperinci. Sedangkan pengertian penjadwalan adalah proses, cara, perbuatan menjadwalkan atau memasukkan ke dalam jadwal.

II.3. Pemrograman Berbasis Web

Pemrograman web (web programming) merupakan perkembangan web lebih lanjut. Pemrograman web bertujuan untuk menciptakan halaman web sesuai dengan permintaan pengguna. Pemrograman web memungkinkan halaman web berinteraksi dengan pengguna. Aplikasi berbasis web diimplementasikan menggunakan bahasa pemrograman yang memiliki kemampuan pemrograman web.

Salah satu bahasa pemrograman yang memiliki kemampuan pemrograman

web dan banyak digunakan adalah PHP. PHP adalah singkatan dari “PHP : Hypertext Prepocessor”. PHP dikembangkan pertama kali oleh Rasmus Lerdorf pada tahun 1994, dari sekumpulan skrip Perl. Saat ini, PHP telah mencapai versi 5 dan merupakan bahasa scripting yang populer untuk pemrograman web.

II.4. Basis Data

Basis data merupakan koleksi terintegrasi dari data persisten, yang merepresentasikan informasi yang diperlukan oleh berbagai program yang membangun sistem informasi berbasis komputer pada sebuah organisasi. Fitur utama dari basis data adalah data terpisah dari program yang menggunakan data tersebut. Berbagai program dapat mengakses dan memodifikasi basis data yang sama dan saling berbagi data, sehingga mengurangi redundansi dan inkosistensi pada representasi data yang sama di program yang berbeda.

II.4.1. SQL (Structured Query Language)

SQL adalah bahasa standar yang digunakan untuk berkomunikasi dengan basis data relasional, dan juga merupakan bahasa yang digunakan oleh banyak aplikasi atau tool untuk berinteraksi dengan server basis data. SQL adalah bahasa fungsional yang tidak mengenal iterasi dan tidak bersifat prosedural. SQL menggunakan perintah-perintah dengan kata-kata sederhana dan mirip dengan bahasa manusia sehari-hari.


(26)

Kategori dasar dari perintah-perintah yang digunakan dalam SQL untuk melakukan berbagai macam fungsi ada enam, yaitu DDL (Data Definition Language), DML (Data Manipulation Language 2), DQL (Data Query Language), DCL (Data Control Language), Data Administration Commands,

Transactional Control Commands. Fungsi yang dapat dilakukan termasuk membangun objek basis data, memanipulasi objek, mempopulasikan tabel basis data dengan data, memperbarui data yang sudah ada dalam tabel, menghapus data, melakukan kueri basis data, mengontrol akses basis data, dan melakukan administrasi basis data secara keseluruhan.

II.5. Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak memiliki tahapan–tahapan kegiatan yang bertujuan untuk mencapai (Pressman, R.S.) :

1. Pengoptimalan sumber daya (biaya, personil maupun peralatan). 2. Pembangunan perangkat lunak yang sesuai dengan jadwal (cepat). 3. Pemeliharaan perangkat lunak yang lebih mudah.

4. Hasil yang memuaskan customer.

Terdapat empat tahapan dalam rekayasa perangkat lunak, yaitu : a. Pengumpulan Kebutuhan

Tahapan ini merupakan tahapan dasar yang digunakan oleh pengembangan untuk mengumpulkan seluruh informasi yang akan dikelola suatu perangkat lunak. Informasi–informasi yang dikumpulkan untuk pengembangan adalah informasi yang dinilai dapat bermanfaat atau dibutuhkan oleh pengguna (user). Ada berapa kegiatan yang dilakukan dalam mengumpulkan informasi ,antara lain:

1. Mengumpulkan informasi mengenai penyebab masalah.

2. Mengumpulkan informasi yang menjadi dasar dalam proses pengambilan keputusan.

3. Mengumpulkan informasi untuk mengidentifikasikan personil–personil kunci yang akan menggunakan sistem.


(27)

b. Analisis Sistem

Tahapan ini merupakan tahapan pemodelan sistem dalam bentuk diagram, berupa Data Flow Diagram dan E-R Diagram.

c. Perancangan

Perancangan perangkat lunak meliputi beberapa kegiatan, yaitu : 1. Perancangan Data

Kegiatan ini berupa perancangan tabel–tabel basis data yang akan berpengaruh bagi perangkat lunak. Perancangan ini sudah mulai mendefinisikan tabel–tabel basis data secara terperinci. Field–field apa saja yang akan digunakan dalam perangkat lunak, tipe–tipe dari field yang digunakan, dan lain sebagainya.

2. Perancangan Arsitektural (fungsi serta proses pada perangkat lunak) Perancangan arsitektural meliputi :

- Pembuatan Data Flow Diagram yang rinci. - Pendefinisian dari algoritma modul.

- Pembuatan struktur modul.

3. Perancangan Antar Muka Pemakai

Antar muka pemakai merupakan jembatan penghubung antara entitas-entitas dan sistem. Desain antar muka yang baik sangat dibutuhkan supaya

user mampu untuk mengoperasikan perangkat lunak dengan mudah.

Selain itu, antar muka juga memiliki peranan untuk membentuk “imageuser terhadap citra, misi, dan visi perangkat lunak yang dibangun. Perancangan antar muka user meliputi beberapa hal, yaitu :

- Perancangan Struktur Menu

Merancang menu–menu yang akan ditampilkan dalam suatu sistem. - Perancangan jendela–jendela yang ditampilkan.

Merancang tata letak (lay out) jendela aplikasi yang ingin ditampilkan.


(28)

d. Implementasi

Tahapan ini merupakan tahapan pengkodean dari hasil perancangan. Di dalam tahapan ini, pengembang mulai membuat sistem aplikasi dengan menggunakan bahasa pemrograman, misalnya PHP (Personal Home Pages). Pengkodean ini disesuaikan dengan diagram–diagram yang telah dibuat, tabel– tabel basis data yang telah dirancang ataupun algoritma dan struktur dari modul.

II.6. DFD (Data Flow Diagram)

Data Flow Diagram (DFD) adalah diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau akan disimpan. DFD merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur (structure analysis and design).

Beberapa simbol yang digunakan dalam DFD :

1. External Entity (kesatuan luar)

Kesatuan luar merupakan kesatuan di luar lingkungan sistem yang dapat berupa orang, organisasi atau sistem lainnya yang akan memberikan input atau menerima output dari sistem. Kesatuan luar disimbolkan sebagai berikut :

2. Data flow (arus data)

Arus data dalam DFD diberi simbol suatu panah, yang dapat mengalir dari data yang berupa masukan untuk sistem atau hasil dari suatu sistem. Arus data biasanya diberi nama yang jelas dan mempunyai arti. Arus data disimbolkan sebagai berikut :


(29)

3. Process (proses)

Suatu proses adalah kegiatan atau yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan keluar dari proses. Notasi proses dalam DFD adalah sebagai berikut :

Indetifikasi

Nama Proses

4. Data store (simpanan data)

Simpanan data merupakan simpanan dari data yang dapat berupa:

 Suatu file atau database di dalam sistem komputer.

 Suatu arsip atau catatan manual.

 Suatu tabel acuan manual.

 Suatu agenda atau buku.

Simpanan data dalam DFD disimbolkan dengan sepasang garis horisontal paralel yang tertutup di salah satu ujungnya.

Nama data store

Me

di

a

II.7. Entity Relationship Diagram (E-R Diagram)

Hubungan antar entitas (Entity Relationship modelling) merupakan salah satu implementasi pendekatan dari atas ke bawah yang paling umum digunakan. Hal ini dilakukan untuk merancang tabel, hubungan antar tabel, mengidentifikasikan primary key dan foreign key, dan aturannya, serta domain untuk basis data. Dalam pemodelan ini, tahapan yang dilakukan adalah sebagai berikut:

1. Memilih entitas - entitas yang akan disusun oleh basis data dan menentukan hubungan antar entitas yang telah dipilih.


(30)

2. Melengkapi atribut-atribut yang sesuai pada entitas dan hubungan, sehingga diperoleh tabel normal yang penuh (tabel ternormalisasi). Sama dengan alat yang lain, E-R diagram memiliki simbol-simbol seperti pada tabel berikut:

NO SIMBOL KETERANGAN

1

Entitas

Entitas adalah suatu objek yang dapat di identifikasi dalam lingkungan pemakai, sesuatu yang penting bagi pemakai dalam konteks sistem yang kan dibuat.

2

Atribut Atribut berfungsi mendeskripsi karakter entitas.

3

Relasi Relasi adalah sesuatu yang menjadi penghubung entitas satu dengan entitas yang lainnya.

4 Link

Link adalah garis suatu penghubung antara himpunan entitas dengan atributnya.

Gambar 2.1 Tabel Simbol-simbol dalam ERD

Dalam diagram E-R dikenal adanya derajat hubungan (relationship) antara entitas yang menyatakan jumlah anggota entitas yang terlibat dalam ikatan atau relasi yang terjadi. Derajat hubungan tersebut antara lain :


(31)

a. Relasi one to one (1:1)

Relasi ini terjadi bila tiap anggota entitas A hanya boleh berpasangan dengan tepat satu anggota entitas B. Hubungan 1:1 mencakup juga relasi 1:0 dan 0:1

b. Relasi one to many (1:m)

Relasi ini terjadi bila tiap anggota entitas A berpasangan lebih dari satu anggota entitas B. hubungan one to many mencakup relasi 1:1, 0:1, 1:1 c. Relasi many to many (m : m)

Relasi ini terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih dari satu anggota entitas B, begitu juga sebaliknya tiap anggota B boleh berpasangan dengan lebih dari satu anggota entitas A. Relasi ini mencakup 1:m, 1:1, 1:0, 0:1


(32)

13

BAB III

ANALISIS DAN PERANCANGAN SISTEM

III.1. Analisis Sistem

Fungsi utama aplikasi ini adalah untuk mengelola penjadwalan Ujian Tugas Akhir. Data – data yang dikelola dalam aplikasi ini meliputi tanggal dan waktu pelaksanaan Ujian Tugas Akhir, ruangan yang digunakan, nama dosen penguji, identitas mahasiswa yang mengikuti ujian, serta daftar Ujian Tugas Akhir yang telah terlaksana. Dalam aplikasi ini akan ditampilkan identitas mahasiswa yang akan mengikuti Ujian Tugas Akhir lengkap dengan nama dosen penguji, ruangan yang digunakan, serta waktu pelaksanaan ujian. Sehingga dengan dibuatnya aplikasi ini diharapkan tidak terjadi permasalahan penjadwalan dikarenakan jadwal menguji yang bentrok pada jam yang sama, selain itu aplikasi ini juga akan memudahkan petugas sekretariat untuk melakukan rekapitulasi konsumsi yang harus disediakan untuk konsumsi Ujian Tugas Akhir, pemberitahuan kepada dosen, dan pemberitahuan kepada petugas ruangan.

III.1.1. Gambaran Umum Sistem

Untuk masuk ke dalam sistem user perlu melakukan login untuk membedakan hak akses. Dalam sistem ini terdapat satu aktor yaitu Sekretariat. Sekretariat berhak mengelola semua data di dalam sistem seperti mengelola data mahasiswa, mengelola data dosen, mengatur jam dan ruang ujian. Sedangkan dosen dan mahasiswa hanya diijinkan untuk melihat jadwal saja tanpa berhak mengubah data apapun.

III.2. Analisa Kebutuhan

III.2.1. Diagram Konteks

Berikut adalah daftar istilah pelaku sistem yang terlibat dalam Aplikasi Penjadwalan Ujian Tugas Akhir :


(33)

Pelaku Deskripsi

Administrator Adalah petugas sekretariat prodi Teknik Informatika yang diberi fasilitas untuk : 1) Melihat jadwal ujian tugas akhir, 2) Mengisi data pengajuan seminar, 3) Mengelola data pengajuan seminar tugas akhir meliputi daftar ruang, daftar waktu dan tanggal, daftar dosen penguji, dan daftar mata kuliah pendukung.

Tabel 3.1 Identifikasi Pelaku Sistem

Diagram konteks digunakan untuk menggambarkan bagaimana para pelaku sistem berinteraksi dengan sistem, disertai masukan ke sistem dan keluaran dari sistem. Diagram konteks juga menjadi batasan dari sistem yang akan dibangun. Gambar 3.1 berikut adalah gambaran diagram konteks dari Aplikasi Penjadwalan Ujian Tugas Akhir :

Sistem Informasi Penjadwalan Ujian

Tugas Akhir

Administrator - Nama Mahasiswa

- NIM

- Judul Proposal - Nama Dosen Reviewer - Mata Kuliah Pendukung - Tanggal Ujian

- Jam Ujian - Ruang Ujian - User Name, Password - Status

- idSeminars, Nama Mahasiswa, NIM, Judul Proposal, Tanggal Ujian - idLectur, Nama Dosen Reviewer

- idCourse, Mata Kuliah Pendukung

- idTimes, Jam Ujian - idRooms, Ruang Ujian - idMember, User Name, Password

- idStatus, Status

Gambar 3.1 Diagram Konteks Aplikasi Penjadwalan Ujian Tugas Akhir

III.2.2. Diagram Use-case Kebutuhan Sistem

Diagram use-case digunakan untuk menggambarkan kebutuhan dari pelaku sistem terhadap Sistem Aplikasi Penjadwalan Ujian Tugas Akhir. Tabel deskripsi use-case Aplikasi Penjadwalan Ujian Tugas Akhir dapat dilihat pada


(34)

Lampiran I. Gambar 3.2 adalah diagram use-case kebutuhan sistem dari Aplikasi Penjadwalan Ujian Tugas Akhir yang digambarkan berdasarkan tabel deskripsi use-case (terdapat pada Lampiran I).

Login Mengelola data

Ujian Mengelola

Data Dosen Mengelola

Ruang Ujian Mengelola

Waktu Ujian

<<Depend on>>

Melihat Jadwal

Ujian Administrator

<<Depend on>>

<<Depend on>> <<Depend on>>

Gambar 3.2 Diagram Use-case Aplikasi Penjadwalan Ujian Tugas Akhir

III.2.3. Narasi Use-case

Narasi use-case digunakan untuk mengembangkan kejadian-kejadian umum yang terjadi dan telah teridentifikasi dari diagram use-case Aplikasi Penjadwalan Ujian Tugas Akhir pada Gambar 3.2 diatas. Dokumentasi kejadian use-case atau narasi use-case dari diagram use-case diatas, dapat dilihat pada Lampiran II.

III.3. Perancangan Logikal

Perancangan logikal digunakan untuk membuat rancangan logikal dari Aplikasi Penjadwalan Tugas Ahir. Perancangan logikal ini meliputi : perancangan basis data sistem menggunakan ER-diagram, logical design, dan physical desain,


(35)

kemudian membuat diagram konteks, dan diagram dekomposisi sistem yang digunakan untuk mempermudah perancangan Diagram Arus Data (DAD) dari setiap proses dan aliran data yang terdapat pada sistem ini.

III.3.1. ER-diagram

ER-diagram digunakan sebagai tahap awal pada perancangan basis data sistem. Gambar 3.3 berikut adalah ER-diagram sistem yang digunakan sebagai tahap awal perancangan basis data Aplikasi Penjadwalan Ujian Tugas Akhir :

Rb_course Rb_seminars Rb_time Rb_rooms Rb_members Rb_lecturs Rb_status punya punya punya punya punya Cr_id Cr_name Sm_id Sm_room Sm_time Sm_date Sm_mhsname Sm_mhsnim Sm_title Sm_notes Sm_attach 1 Sm_attach 2 Sm_course Sm_status Sm_lecture 1 Sm_lecture 2 Sm_lecture 3 Tm_id Tm_start Tm_end Rm_id Rm_name Id_lecture Lc_name St_id St_name id password username

1.N 1.N 1.N 1.N 1.N 1.N 1.N 1.N 1.N 1.N


(36)

III.3.2. Logical Design

Tahap logical design merupakan tahap selanjutnya dari perancangan basis data sistem. Tahap logical design digunakan untuk merekonstruksi tabel pada tahap perancangan ER-diagram, dengan maksud untuk menghilangkan redundansi data, memecah atau menyatukan entitas-entitas dan relasi-relasi pada ER-diagram, dan untuk menetapkan primary key dan foreign key. Gambar 3.4 berikut adalah

logical design dari Aplikasi Penjadwalan Ujian Tugas Akhir :

rb_seminars PK sm_id sm_mhsname sm_mhsnim sm_title sm_course sm_lectur 1 sm_lectur 2 sm_lectur 3 sm_attach 1 sm_attach 2 sm_note sm_status sm_room sm_date sm_time rb_course PK cr_id cr_name rb_lecture PK id_lecture lc_name rb_members PK id username password rb_rooms PK id_room rm_name rb_status PK id_status st_name rb_times tm_id tm_start tm_end


(37)

III.3.3. Physical Design

Basis data yang akan dibangun terdiri dari tujuh tabel, yang akan menyimpan data dari sebuah entitas, sedangkan record pada tabel akan menyimpan nilai atribut dari suatu entitas. Rancangan fisik (physical design) dari tabel tersebut dapat dilihat pada tabel-tabel berikut ini :

Tabel 3.2 Rancangan Tabel rb_course

Nama Field Type Size Description Key

cr_id Int 11 id dari course (mata kuliah pendukung)

PK

cr_name Text Nama mata kuliah

Tabel 3.3 Rancangan Tabel rb_lecturs

Nama Field Type Size Description Key

lc_id Int 11 id dari lecture (dosen) PK lc_name Char 255 Nama dosen

Tabel 3.4 Rancangan Tabel rb_members

Nama Field Type Size Description Key

Id Int 4 id dari member PK Username Varchar 65 Nama pengguna

Password Varchar 65 Password pengguna

Tabel 3.5 Rancangan Tabel rb_rooms

Nama Field Type Size Description Key

id_room Int 11 id dari ruang PK rm_name Char 225 Nama ruang


(38)

Tabel 3.6 Rancangan Tabel rb_seminars

Nama Field Type Size Description Key

sm_id Int 11 id dari seminar PK sm_mhsname Text Nama mahasiswa

sm_mhsnim Varchar 9 Nomor induk mahasiswa sm_title Text Judul tugas akhir

sm_course Int 11 Mata kuliah pendukung sm_lecture1 Int 11 Nama dosen pembimbing sm_lecture2 Int 11 Nama dosen penguji 1 sm_lecture3 Int 11 Nama dosen penguji 2 sm_attach1 Int 1 Lampiran 1

sm_attach1 Int 1 Lampiran 2 sm_notes Text Keterangan sm_status Int 1 Status seminar sm_room Int 11 Nama ruang sm_date Date Tanggal seminar sm_time Int 2 Jam seminar

Tabel 3.7 Rancangan Tabel rb_status

Nama Field Type Size Description Key

id_status Int 11 id dari status PK st_name Char 225 Nama status

Tabel 3.8 Rancangan Tabel rb_times

Nama Field Type Size Description Key

tm_id Int 11 id dari jam ujian PK tm_start Text Waktu ujian mulai


(39)

III.3.4. Diagram Dekomposisi

Dekomposisi adalah kegiatan menguraikan sistem kedalam subsistem, proses, dan subproses menjadi beberapa tingkatan. Diagram dekomposisi merupakan alat untuk menggambarkan perencanaan untuk model proses yang lebih detail, yaitu diagram aliran data (DAD).

Gambar 3.5 berikut adalah diagram dekomposisi (berjenjang) dari sistem yang akan dibangun sebagai acuan untuk membuat Diagram Arus Data (DAD) berdasarkan level-level proses yang terdapat pada diagram dekomposisi (berjenjang) di bawah ini :

0 Aplikasi Penjadwalan Tugas Akhir 1 Login 2.1

Rekam Data ujian

2.2

Edit Data Ujian

2.3

Hapus Data Ujian

2 Mengelola data ujian 3 Mengelola Data Dosen 3.1 Rekam Data Dosen 3.2

Edit Data Dosen

3.3 Hapus Data Dosen 4 Mengelola Ruang Ujian 4.1 Rekam Ruang Ujian 4.2

Edit Ruang Ujian

4.2 Hapus Ruang Ujian 5 Mengelola Waktu Ujian 5.3 Hapus Waktu Ujian 5.1 Rekam waktu ujian 5.2

Edit Waktu Ujian

6

Melihat Jadwal Ujian

Gambar 3.5 Diagram Dekomposisi Aplikasi Penjadwalan Ujian Tugas Akhir Diagram dekomposisi (berjenjang) pada Gambar 3.5 diatas menunjukkan proses yang terjadi sisi Administrator. Berdasarkan diagram dekomposisi (berjenjang) tersebut dapat dilihat bahwa Aplikasi Penjadwalan Ujian Tugas Akhir ini memiliki kemampuan sebagai berikut :

 Proses 1 merupakan proses login. Pada proses ini tidak mempunyai sub proses.

 Proses 2 merupakan proses untuk mengelola data ujian. Pada proses ini terdapat 3 sub proses, yaitu :


(40)

 Proses 2.1 merupakan proses untuk menyimpan data ujian. Proses ini tidak memiliki sub proses lagi.

 Proses 2.2 merupakan proses untuk mengedit data ujian. Proses ini tidak memiliki sub proses lagi.

 Proses 2.3 menangani proses penghapusan data ujian. Pada proses ini tidak memiliki sub proses lagi.

 Proses 3 merupakan proses untuk mengelola data dosen. Pada proses ini terdapat 3 sub proses, yaitu :

 Proses 2.1 merupakan proses untuk menyimpan data dosen. Proses ini tidak memiliki sub proses lagi.

 Proses 2.2 merupakan proses untuk mengedit data dosen. Proses ini tidak memiliki sub proses lagi.

 Proses 2.3 menangani proses penghapusan data dosen. Pada proses ini tidak memiliki sub proses lagi.

 Proses 4 merupakan proses untuk mengelola data ruang ujian. Pada proses ini terdapat 3 sub proses, yaitu :

 Proses 2.1 merupakan proses untuk menyimpan data ruang ujian. Proses ini tidak memiliki sub proses lagi.

 Proses 2.2 merupakan proses untuk mengedit data ruang ujian. Proses ini tidak memiliki sub proses lagi.

 Proses 2.3 menangani proses penghapusan data ruang ujian. Pada proses ini tidak memiliki sub proses lagi.

 Proses 5 merupakan proses untuk mengelola data waktu ujian. Pada proses ini terdapat 3 sub proses, yaitu :

 Proses 2.1 merupakan proses untuk menyimpan data waktu ujian. Proses ini tidak memiliki sub proses lagi.

 Proses 2.2 merupakan proses untuk mengedit data waktu ujian. Proses ini tidak memiliki sub proses lagi.

 Proses 2.3 menangani proses penghapusan data waktu ujian. Pada proses ini tidak memiliki sub proses lagi.

 Proses 6 merupakan proses untuk menampilkan jadwal ujian. Proses ini tidak memiliki sub proses lagi.


(41)

III.3.5. Diagram Arus Data (DAD)

Diagram Arus Data (DAD) merupakan diagram yang digunakan untuk menggambarkan proses data yang mengalir dalam Aplikasi Penjadwalan Ujian Tugas Akhir. Diagram Arus Data (DAD) dibuat berdasarkan level-level yang telah digambarkan pada diagram dekomposisi (berjenjang) di atas.

a. DAD Level 1

1 Login ADMINISTRATOR 2 Mengelola data ujian rb_members D5 usser, password rb_seminars D1 rb_lecturs D2 rb_rooms D3 rb_times D4 validasi OK validasi 3 Mengelola data dosen sm_mhsname,sm_mhsnim, sm_tittle, sm_course, sm_lectur1, sm_lectur2, sm_lectur3, sm_attach1, sm_attach2, sm_notes, sm_stutus, sm_room, sm_date, sm_time sm_mhsname,sm_mhsnim, sm_tittle, sm_course, sm_lectur1, sm_lectur2, sm_lectur3, sm_attach1, sm_attach2, sm_notes, sm_stutus, sm_room, sm_date, sm_time 6 Melihat jadwal ujian sm_mhsname,sm_mhsnim, sm_tittle, sm_course, sm_lectur1, sm_lectur2, sm_lectur3, sm_attach1, sm_attach2, sm_notes, sm_stutus, sm_room, sm_date, sm_time lc_name lc_name 4 Mengelola ruang ujian lc_name ruangan rm_name 5 Mengelola waktu ujian Jammulai, jamselesai

tm_start, tm end sm_mhsname,sm_mhsnim,

sm_tittle, sm_course, lc_name, sm_attach1, sm_attach2, sm_notes, sm_stutus, rm_name, sm_date, tm_start, tm_end

nama

rm_name

tm_start, tm end

Gambar 3.6 DAD Level 1 Aplikasi Penjadwalan Ujian Tugas Akhir

Gambar Diagram Arus Data (DAD) Level 1 pada Gambar 3.6 diatas merupakan rangkaian proses yang terjadi pada Aplikasi Penjadwalan Ujian Akhir.

 Proses 1 adalah login berguna untuk memverifikasi pengguna aplikasi.

 Proses 2 menunjukan proses mengelola data ujian. Dalam proses ini melibatkan tabel rb_seminars.


(42)

 Proses 3 menunjukan proses mengelola data dosen. Dalam proses ini melibatkan tabel rb_lecturs.

 Proses 4 menunjukan proses mengelola data ruang yang digunakan untuk ujian. Dalam proses ini melibatkan tabel rb_rooms.

 Proses 5 menunjukan proses mengelola data waktu ujian. Dalam proses ini melibatkan tabel rb_times.

 Proses 6 menunjukan proses lihat jadwal seminars. Dalam proses ini melibatkan 4 tabel yaitu, rb_seminars, rb_lecturs, rb_rooms, dan rb_times.

b. DAD Level 2 proses 2

Diagram Arus Data (DAD) level 2 proses 2 (Gambar 3.7) merupakan sub sistem dari proses mengelola data ujian (proses 2.2).

Administrator Konfirmasi

rb_seminars D1

2.2

Edit Data Ujian 2.1 Rekam Data Ujian 2.3 Hapus Data Ujian Konfirmasi Hapus data Konfirmasi hapus sm_mhsname,sm_mhsnim sm_tittle, sm_course, sm_lectur1

, sm_lectur2, sm_lectur3, sm_attach1, sm_attach2 sm_notes,

sm_stutus, sm_room, sm_date, sm_time

sm_room, sm_date, sm_time

sm_room, sm_date, sm_time

dataujian

sm_mhsname,sm_mhsnim sm_tittle, sm_course, sm_lectur1

, sm_lectur2, sm_lectur3, sm_attach1, sm_attach2 sm_notes,

sm_stutus, sm_room, sm_date, sm_time

Gambar 3.7 DAD Level 2 Proses 2 Aplikasi Penjadwalan Ujian Tugas Akhir Proses yang terjadi pada DAD level 2 proses 2 adalah : proses rekam data ujian (proses 2.1), proses data ujian (proses 2.2), dan proses hapus data ujian (proses 2.3), yang melibatkan tabel rb_seminars (D1).


(43)

c. DAD Level 2 Proses 3

Diagram Arus Data (DAD) level 2 proses 3 (Gambar 3.8) merupakan sub sistem dari proses mengelola data dosen (proses 2.3).

Administrator Konfirmasi

rb_lecturs D2

lc_name

3.2 Edit Data Dosen

3.1 Rekam Data

Dosen

3.3 Hapus Data

Dosen

Konfirmasi Hapus

data

Konfirmasi hapus

lc_name

datadosen lc_name

lc_name

Gambar 3.8 DAD Level 2 Proses 3 Aplikasi Penjadwalan Ujian Tugas Akhir Proses yang terjadi pada DAD level 2 proses 3 adalah : proses rekam data dosen (proses 3.1), proses data dosen (proses3.2), dan proses hapus data dosen (proses 3.3), yang melibatkan tabel rb_lecturs (D2).


(44)

d. DAD Level 2 Proses 4

Diagram Arus Data (DAD) level 2 proses 4 (Gambar 3.9) merupakan sub sistem dari proses mengelola ruang ujian (proses 2.4).

Administrator Konfirmasi

rb_rooms D3

rm_name

4.2 Edit Ruang

Ujian 4.1 Rekam Ruang

Ujian

4.2 Hapus Ruang

Ujian

Konfirmasi Hapus

data

Konfirmasi hapus

rm_name

dataruang rm_name

rm_name

Gambar 3.9 DAD Level 2 Proses 4 Aplikasi Penjadwalan Ujian Tugas Akhir Proses yang terjadi pada DAD level 2 proses 4 adalah : proses rekam data ruang ujian (proses 4.1), proses data ruang ujian (proses 4.2), dan proses hapus data ruang ujian (proses 4.3), yang melibatkan tabel rb_rooms (D3).


(45)

e. DAD Level 2 Proses 5

Diagram Arus Data (DAD) level 2 proses 5 (Gambar 3.10) merupakan subsistem dari proses mengelola waktu ujian (proses 2.5).

Administrator Konfirmasi

rb_times D4

5.2 Edit Waktu

Ujian 5.1 Rekam Waktu

Ujian

5.3 Hapus Waktu

Ujian

Konfirmasi Hapus

data

Konfirmasi

hapus datajam

tm_start, tm end

tm_start, tm end

tm_start, tm end tm_start, tm end

Gambar 3.10 DAD Level 2 Proses 5 Aplikasi Penjadwalan Ujian Tugas Akhir Proses yang terjadi pada DAD level 2 proses 5 adalah : proses rekam data waktu ujian (proses 5.1), proses data waktu ujian (proses 5.2), dan proses hapus data waktu ujian (proses 5.3), yang melibatkan tabel rb_times (D4).

III.4. Perancangan Fisikal

III.4.1. Arsitektur Aplikasi Kebutuhan Sistem

Arsitektur aplikasi kebutuhan sistem merupakan aplikasi-aplikasi yang diperlukan untuk dapat mengoperasikan dan mengelola Aplikasi Penjadwalan Ujian Tugas ini.

III.4.1.1. Arsitektur Aplikasi Kebutuhan Pengembang

Arsitektur aplikasi yang diperlukan untuk mengembangkan Aplikasi Penjadwalan Ujian Tugas Akhir ini adalah :


(46)

 Sistem basis data : basis data terpusat

 Media penyampaian informasi : internet

 Bahasa pemrograman : PHP (Hypertext Preprosessor)

 Basis data server : MySql

 Tool untuk implementasi antar muka : Adobe Dreamweaver CS5

 Web server : Apache

 Web browser : IE (Internet Explorer)

 Resolusi layar monitor : 1280 x 800 pixels

III.4.1.2. Arsitektur Aplikasi Kebutuhan Pengguna

Arsitektur aplikasi yang diperlukan agar pengguna dapat mengakses Aplikasi Penjadwalan Ujian Tugas Akhir adalah :

 Web browser : IE (Internet Explorer)

 Resolusi layar monitor : 1280 x 800 pixels

III.4.2. Perancangan Antar Muka Sistem

Perancangan antar muka sistem digunakan sebagai rancangan untuk membuat antar muka sistem dengan pengguna sistem, rancangan antar muka ini nantinya akan digunakan untuk membuat implementasi dari Aplikasi Penjadwalan Ujian Tugas Akhir.

III.4.2.1. Rancangan Antar Muka Untuk Administrator

Halaman utama untuk Administrator dapat diakses setelah Administrator melakukan proses login Administrator terlebih dahulu. Sebagai validasi dari login Administrator tersebut, maka akan ditampilkan halaman utama Administrator, dimana Administrator dapat memilih menu-menu untuk mengelola data pada Aplikasi Penjadwalan Ujian Tugas Akhir ini. Rancangan menu untuk Administrator tampak pada Gambar 3.11 berikut :


(47)

Beranda

Jadwal Berdasarkan Dosen

Jadwal Berdasarkan Tanggal

Menu Administrator

Home Pendaftaran Seminar Daftar Pengajuan Jadwal Seminar Laporan Pengaturan Sistem

Penentuan Jadwal Seminar Detail Seminar

Ubah Jadwal Seminar

Detail Seminar Pendaftaran User

Data Seminar Telah Selesai

Detail Seminar

Gambar 3.11 Rancangan Menu Administrator 1. Rancangan Halaman Beranda

Pada halaman beranda menampilkan form login administrator dan daftar seminar yang akan berlangsung. Pada halaman ini juga disediakan menu untuk melihat jadwal berdasarkan nama dosen dan berdasarkan tanggal pelaksanaan. Pengguna dapat melihat jadwal tanpa harus melakukan login terlebih dahulu.


(48)

Gambar 3.13 Rancangan Halaman Jadwal Seminar Berdasarkan Dosen

Gambar 3.14 Rancangan Halaman Jadwal Seminar Berdasarkan Tanggal

2. Rancangan Halaman Home

Pada halaman home akan ditampilan seluruh daftar jadwal ujian yang akan berlangsung.


(49)

Gambar 3.15 Rancangan Halaman Home

3. Rancangan Halaman Pendaftaran Seminar

Dalam halaman pendaftaran seminar ini akan ditampilkan form untuk mengisi data-data ujian, meliputi : nama mahasiswa, nim, judul tugas akhir, nama dosen pembimbing, nama dosen penguji, nama mata kuliah pendukung, lampiran, dan keterangan.


(50)

4. Rancangan Halaman Pengajuan Seminar

Pada halaman pengajuan seminar akan ditampilkan data-data pendaftaran seminar yang telah ddinputkan pada halaman pendaftaran seminar diatas. Apabila user menekan nim maka akan ditampilkan halaman untuk mengisi data ruang ujian, waktu ujian, dan jam ujian. Pada halaman ini user dapat menentukan kapan dan di ruang apa ujian akan berlangsung.

Gambar 3.17 Rancangan Halaman Pengajuan Jadwal Seminar


(51)

5. Rancangan Halaman Jadwal Seminar

Pada halaman jadwal seminar akan ditampilkan seluruh jadwal seminar. Apabila user mengklik nim maka akan tampil detail jadwal seminar, didalam halaman ini terdapat menu untuk mengubah jadwal seminar. Pada halaman tersebut user dapat mengubah jadwal yang sudah ditetapkan.

Gambar 3.19 Rancangan Halaman Jadwal Seminar


(52)

Gambar 3.21 Rancangan Halaman Ubah Jadwal Seminar

6. Rancangan Halaman Laporan

Pada halaman laporan akan ditampilkan jadwal ujian yang telah berlangsung, apabila user mengklik nim maka akan ditampilkan detail data seminar.


(53)

Gambar 3.23 Rancangan Halaman Detail Seminar

7. Rancangan Halaman Pengaturan Sistem

Pada halaman pengaturan sistem akan ditampilkan menu untuk mengatur data user, data seminar yang telah berlangsung, daftar ruang, daftar dosen, daftar tanggal, dan daftar waktu.


(54)

(55)

36

BAB IV

IMPLEMENTASI SISTEM

Implementasi sistem akan menjelaskan lebih lanjut mengenai implementasi dari Aplikasi Penjadwalan Ujian Tugas Akhir yang perancangan sistemnya telah dibuat pada analisis dan perancangan sistem (Bab III). Implementasi sistem meliputi : implementasi basis data, implementasi proses sistem, dan implementasi tampilan antar muka (interface) dari sistem.

IV.1. Implementasi Basis Data

Implementasi basis data merupakan implementasi dari perancangan

physical design basis data yang telah dirancang pada analisis dan perancangan sistem (Bab III). Basis data pada sistem ini, yaitu basis data db_rbs, menghasilkan tujuh tabel, yaitu tabel rb_course, tabel rb_lecturs, tabel rb_members, tabel rb_rooms, tabel rb_seminars, tabel rb_status, tabel rb_times.

Implementasi basis data dan tabel dalam sistem adalah sebagai berikut :


(56)

Gambar 4.2 Implementasi Tabel rb_course

Gambar 4.3 Implementasi Tabel rb_lectures

Gambar 4.4 Implementasi Tabel rb_seminars


(57)

Gambar 4.6 Implementasi Tabel rb_seminars

Gambar 4.7 Implementasi Tabel rb_status

Gambar 4.8 Implementasi Tabel rb_times

IV.2. Implementasi Tampilan Antar Muka Sistem

Tampilan antar muka sistem merupakan tampilan dari sistem yang akan berinteraksi langsung dengan pengguna sistem. Tampilan antar muka sistem diimplementasikan berdasarkan rancangan antar muka sistem pada analisis dan perancangan sistem (Bab III).


(58)

IV.2.1. Implementasi Tampilan Antar Muka Administrator

Implementasi tampilan antar muka sistem untuk administrator adalah implementasi dari hasil rancangan tampilan antar muka sistem untuk administrator pada analisis dan perancangan sistem (Bab III). Implementasi antar muka sistem untuk administrator meliputi : 1) implementasi halaman beranda, 2) implementasi halaman jadwal berdasarkan dosen, 3) implementasi halaman jadwal berdasarkan tanggal, 4) implementasi halaman home, 5) implementasi halaman pendaftaran seminar, 6) implementasi daftar pengajuan, 7) implementasi halaman jadwal seminar, 8) implementasi halaman laporan, 9) implementasi halaman pengaturan sistem.

Berikut ini adalah hasil implementasi dari perancangan antar muka sistem untuk administrator.

1. Implementasi Koneksi Basis Data

Koneksi ke basis data sangat diperlukan untuk dapat menghubungkan sistem dengan basis data sistem, yaitu basis data db_rbs. Koneksi ke basis data ini mengunakan file datareader.php, yang akan digunakan untuk implementasi antar muka sistem pada pengguna.

<?php

class Database {

var $Host = "localhost"; var $Database = "db_rbs"; var $User = "root"; var $Password = "fr34kmonk3y";

var $Link_ID = 0; var $Query_ID = 0; var $Record = array(); var $Row; var $LoginError = "";

var $Errno = 0; var $Error = "";

function connect() {


(59)

>Link_ID=mysql_connect( >Host, >User, $this->Password );

if( !$this->Link_ID )

$this->halt( "Link-ID == false, connect failed" );

if( !mysql_query( sprintf( "use %s", >Database ), $this->Link_ID ) )

$this->halt( "cannot use database ".$this->Database ); }

function query( $Query_String ) {

$this->connect();

$this->Query_ID = mysql_query( $Query_String,$this->Link_ID ); $this->Row = 0;

$this->Errno = mysql_errno(); $this->Error = mysql_error(); if( !$this->Query_ID )

$this->halt( "Invalid SQL: ".$Query_String ); return $this->Query_ID;

}

function halt( $msg ) {

printf( "

<strong>Database error:</strong> %s n", $msg );

printf( "<strong>MySQL Error</strong>: %s (%s) n", $this->Errno, $this->Error );

die( "Session halted." ); }

function nextRecord() {

@ $this->Record = mysql_fetch_array( $this->Query_ID ); $this->Row += 1;

$this->Errno = mysql_errno(); $this->Error = mysql_error(); $stat = is_array( $this->Record ); if( !$stat )

{

@ mysql_free_result( $this->Query_ID ); $this->Query_ID = 0;

}

return $stat; }


(60)

{

$this->Record = mysql_fetch_array( $this->Query_ID ); $stat = is_array( $this->Record );

return $stat; }

function numRows() {

return mysql_num_rows( $this->Query_ID ); }

function lastId() {

return mysql_insert_id(); }

function mysql_escape_mimic($inp) {

if(is_array($inp))

return array_map(__METHOD__, $inp); if(!empty($inp) && is_string($inp)) {

return str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"), array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $inp);

}

return $inp; }

function affectedRows() {

return mysql_affected_rows(); }

function numFields() {

return mysql_num_fields($this->Query_ID); }

} ?>

2. Implementasi Halaman Beranda

Pada halaman beranda menampilkan form login administrator dan daftar seminar yang akan berlangsung. Pada halaman ini juga disediakan menu untuk melihat jadwal berdasarkan nama dosen dan berdasarkan


(61)

tanggal pelaksanaan. Pengguna dapat melihat jadwal tanpa harus melakukan login terlebih dahulu.

Berikut Potongan skrip untuk login administrator : <?php

session_start(); ob_start();

$host="localhost"; $username="root";

$password="fr34kmonk3y"; $db_name="db_rbs";

$tbl_name="rb_members";

mysql_connect("$host", "$username", "$password")or die("cannot connect");

mysql_select_db("$db_name")or die("cannot select DB");

$myusername=$_POST['myusername']; $mypassword=$_POST['mypassword'];

$myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword);

$myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";

$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1){

$_SESSION['myusername'] = $myusername; $_SESSION['mypassword'] = $mypassword;

header("location:../home.php"); }

else {

echo "Wrong Username or Password"; header("location:../index.php");


(62)

ob_end_flush(); ?>

Untuk menampilkan halaman beranda menggunakan file index.php. Berikut Potongan skrip untuk menampilkan jadwal seminar pada halaman beranda :

<?php

require_once("class/datareader.php");

$db0 = new Database();

$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal, g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a

LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE DATE_FORMAT(`sm_date`, '%d-%m-%Y') >= DATE_FORMAT(curdate(), '%d-%m-'%d-%m-%Y') AND `sm_status` != '3'";

$db0->query($sql);

$count =

mysql_num_rows($db0->query($sql));

$numrows = $db0->numRows();

$rowsperpage = 10;

$totalpages = ceil($numrows / $rowsperpage);

if

(isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {

$currentpage = (int) $_GET['currentpage'];


(63)

$currentpage = 1; }

if ($currentpage > $totalpages) {

$currentpage = $totalpages;

}

if ($currentpage < 1) {

$currentpage = 1; }

$offset = ($currentpage - 1) * $rowsperpage;

$db = new Database();

$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal, g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a

LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE DATE_FORMAT(`sm_date`, '%d-%m-%Y') >= DATE_FORMAT(curdate(), '%d-%m-'%d-%m-%Y') AND `sm_status` != '3' LIMIT $offset, $rowsperpage";

$db->query($sql);

$count =

mysql_num_rows($db->query($sql)); ?>


(64)

Gambar 4.9 Implementasi Halaman Beranda

Untuk menampilkan jadwal seminar berdasarkan dosen, menggunakan file lecture-dtl.php. Berikut potongan skrip untuk menampilkan jadwal berdasarkan nama dosen :

<?php

require_once("class/datareader.php");

$lc_id = $_GET['lc_id']; $db2 = new Database();

$sql = "SELECT * FROM rb_lecturs a WHERE a.id_lectur = '".$lc_id."'";

$db2->query($sql); $db2->singleRecord(); ?>

<h1>Daftar Jadwal Seminar oleh : <strong><?php echo $db2->Record[1]; ?></strong></h1>

<?php

require_once("class/datareader.php");

$lc_id = $_GET['lc_id']; $db0 = new Database();


(65)

$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal,

g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE a.sm_status = '2' AND DATE_FORMAT(a.sm_date, '%Y-%m-%d') >= DATE_FORMAT(curdate(), '%Y-%m-%d') AND ( a.sm_lectur1 = '".$lc_id."' OR a.sm_lectur2 = '".$lc_id."' OR

a.sm_lectur3 = '".$lc_id."') ORDER BY a.sm_date ASC"; $db0->query($sql);

$count = mysql_num_rows($db0->query($sql));

$numrows = $db0->numRows(); $rowsperpage = 10;

// find out total pages

$totalpages = ceil($numrows / $rowsperpage);

// get the current page or set a default if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {

// cast var as int $currentpage = (int) $_GET['currentpage'];

} else {

// default page num $currentpage = 1; } // end if

// if current page is greater than total pages...

if ($currentpage > $totalpages) { // set current page to last page

$currentpage = $totalpages; } // end if

// if current page is less than first page...


(66)

// set current page to first page

$currentpage = 1; } // end if

// the offset of the list, based on current page

$offset = ($currentpage - 1) * $rowsperpage;

$db = new Database();

$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal,

g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE a.sm_status = '2' AND DATE_FORMAT(a.sm_date, '%Y-%m-%d') >= DATE_FORMAT(curdate(), '%Y-%m-%d') AND ( a.sm_lectur1 = '".$lc_id."' OR a.sm_lectur2 = '".$lc_id."' OR

a.sm_lectur3 = '".$lc_id."') ORDER BY a.sm_date ASC LIMIT $offset, $rowsperpage";

$db->query($sql);

$count = mysql_num_rows($db->query($sql));


(67)

Gambar 4.10 Implementasi Halaman Jadwal Seminar Berdasarkan Dosen

Untuk menampilkan jadwal seminar berdasarkan tanggal, menggunakan file date-dtl.php. Berikut potongan skrip untuk menampilkan jadwal seminar berdasarkan tanggal :

<?php

$tgl = $_GET['tgl']; ?>

<h1>Daftar Jadwal Seminar pada tanggal : <strong><?php echo $tgl; ?></strong></h1>

<?php

require_once("class/datareader.php");

$db0 = new Database();

$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal, g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON


(68)

a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE a.sm_status = '2' AND DATE_FORMAT(a.sm_date, '%d-%M-%Y') = '".$tgl."' ORDER BY a.sm_date ASC";

$db0->query($sql);

$count = mysql_num_rows($db0->query($sql));

$numrows = $db0->numRows(); $rowsperpage = 10;

// find out total pages

$totalpages = ceil($numrows / $rowsperpage);

// get the current page or set a default if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {

// cast var as int

$currentpage = (int) $_GET['currentpage'];

} else {

// default page num $currentpage = 1; } // end if

// if current page is greater than total pages...

if ($currentpage > $totalpages) { // set current page to last page

$currentpage = $totalpages; } // end if

// if current page is less than first page...

if ($currentpage < 1) {

// set current page to first page

$currentpage = 1; } // end if

// the offset of the list, based on current page $offset = ($currentpage - 1) * $rowsperpage;

$db = new Database();

$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes


(69)

sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal, g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE a.sm_status = '2' AND DATE_FORMAT(a.sm_date, '%d-%M-%Y') = '".$tgl."' ORDER BY a.sm_date ASC LIMIT $offset, $rowsperpage";

$db->query($sql);

$count = mysql_num_rows($db->query($sql));

?>

Gambar 4.11 Implementasi Halaman Jadwal Seminar Berdasarkan Tanggal

3. Implementasi Halaman Home

Pada halaman home akan ditampilan seluruh daftar jadwal ujian yang akan berlangsung. Untuk menampilkan halaman home, menggunakan file home.php. Berikut potongan skrip untuk halaman home.

<?php include_once 'includes/tpl/tp-menu-2.php'; ?>


(70)

<!-- Content Section --> <div id="frameContent">

<div id="boxContent1">

<h1>Daftar Jadwal Seminar</h1>

<?php

require_once("class/datareader.php");

$db0 = new Database();

$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal, g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a

LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE DATE_FORMAT(`sm_date`, '%d-%m-%Y') >= DATE_FORMAT(curdate(), '%d-%m-'%d-%m-%Y') AND `sm_status` != '3'";

$db0->query($sql);

$count =

mysql_num_rows($db0->query($sql));

$numrows = $db0->numRows();

$rowsperpage = 10;

$totalpages = ceil($numrows / $rowsperpage);

if

(isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {

$currentpage = (int) $_GET['currentpage'];

} else {

$currentpage = 1; }


(71)

if ($currentpage > $totalpages) {

$currentpage = $totalpages;

}

if ($currentpage < 1) {

$currentpage = 1; }

$offset = ($currentpage - 1) * $rowsperpage;

$db = new Database();

$sql = "SELECT a.sm_id sm_id, a.sm_mhsnim sm_mhsnim, a.sm_mhsname sm_mhsname, a.sm_title sm_title, b.lc_name lectur1, c.lc_name lectur2, d.lc_name lectur3, a.sm_attach1 sm_attach1, a.sm_attach2 sm_attach2, a.sm_notes sm_notes, e.cr_name course, f.st_name status , a.sm_date jadwal, g.rm_name ruang, h.tm_start tstart, h.tm_end tend FROM rb_seminars a

LEFT OUTER JOIN rb_lecturs b ON a.sm_lectur1 = b.id_lectur LEFT OUTER JOIN rb_lecturs c ON a.sm_lectur2 = c.id_lectur LEFT OUTER JOIN rb_lecturs d ON a.sm_lectur3 = d.id_lectur LEFT OUTER JOIN rb_course e ON a.sm_course = e.cr_id LEFT OUTER JOIN rb_status f ON a.sm_status = f.id_status LEFT OUTER JOIN rb_rooms g ON a.sm_room = g.id_room LEFT OUTER JOIN rb_times h ON a.sm_time = h.tm_id WHERE DATE_FORMAT(`sm_date`, '%d-%m-%Y') >= DATE_FORMAT(curdate(), '%d-%m-'%d-%m-%Y') AND `sm_status` != '3' LIMIT $offset, $rowsperpage";

$db->query($sql);

$count =

mysql_num_rows($db->query($sql)); ?>

<table id="newspaper-b" summary="Daftar Pengajuan"> <thead>

<tr>

<th scope="col">NIM</th> <th scope="col">Mahasiswa</th> <th scope="col">Title</th>

<th scope="col">Pembimbing</th> <th scope="col">Penguji 1</th> <th scope="col">Penguji 2</th>


(72)

<th scope="col">Ruang</th> <th scope="col">Tanggal</th> <th scope="col">Waktu</th> </tr>

</thead> <tfoot> <tr>

<td colspan="9"><em><?php include_once 'includes/tpl/pagination.php'; ?></em></td>

</tr> </tfoot> <tbody>

<?php

Gambar 4.12 Implementasi Halaman Home

4. Implementasi Halaman Pendaftaran Seminar

Dalam halaman pendaftaran seminar ini akan ditampilkan form untuk mengisi data-data ujian, meliputi : nama mahasiswa, nim, judul tugas akhir, nama dosen pembimbing, nama dosen penguji, nama mata kuliah pendukung, lampiran, dan keterangan. Untuk Menampilkan halaman pendaftaran seminar, menggunakan file daftar_1.php. Berikut potongan skrip untuk menampilkan halaman Pendaftaran Seminar :

<?php


(73)

$db = new Database();

$sql_lc = "SELECT * FROM rb_lecturs";

$db->query($sql_lc); $db2 = new Database();

$sql_lc = "SELECT * FROM rb_lecturs";

$db2->query($sql_lc); $db3 = new Database();

$sql_lc = "SELECT * FROM rb_lecturs";

$db3->query($sql_lc); $db4 = new Database();

$sql_lc = "SELECT * FROM rb_course";

$db4->query($sql_lc); ?>

<form name="daftar1" method='get' action="actions/daftar-1.php" onsubmit="return validateForm()">

<fieldset>

<legend>Pengajuan Seminar</legend> <ul class="form">

<li class="required"><label>Nama Mahasiswa</label><input type="text" name="smMhsName" /><span class="leftNote"></span></li>

<li class="required"><label>NIM</label><input type="text" name="smMhsNim" maxlength="9" /><span class="bottomNote offset1"></span></li>

<li><label>Judul Proposal</label><textarea name="smTitle" rows="5" cols="40"></textarea></li>

<li>

<label>Mata Kuliah Pendukung</label> <select name="smCourse">

<?php while($db4->nextRecord()){

?>

<option value="<?php echo $db4->Record['cr_id']; ?>"><?php echo $db4->Record['cr_name']; ?></option>

<?php } ?> </select>


(1)

Aksi aktor Reaksi sistem 1. Mengklik tombol pengaturan

sistem

2. Menampilkan halaman pengaturan sistem 3. Mengisi data dosen

4. Melakukan proses simpan data dosen dalam sistem sesuai masukan user

Skenario alternatif

3. Mengedit data dosen

4. Melakukan proses ubah data dosen yang tersimpan dalam sistem sesuai masukan user. Skenario alternatif

3. Menghapus data dosen

2. Melakukan proses hapus data dosen yang tersimpan dalam sistem.

ID Use case : TA-04

Use case : Mengelola ruang ujian

Pre kondisi : Sistem sudah berada di halaman home Aktor : Administrator

Deskripsi : Use case ini menggambarkan proses saat user mengelola ruang ujian

Aksi aktor Reaksi sistem 1. Mengklik tombol pengaturan

sistem

2. Menampilkan halaman pengaturan sistem 3. Mengisi data ruang


(2)

4. Melakukan proses simpan data ruang dalam sistem sesuai masukan user

Skenario alternatif

3. Mengedit data ruang

4. Melakukan proses ubah data ruang yang tersimpan dalam sistem sesuai masukan user. Skenario alternatif

3. Menghapus data ruang

4. Melakukan proses hapus data ruang yang tersimpan dalam sistem.

ID Use case : TA-05

Use case : Mengelola waktu ujian

Pre kondisi : Sistem sudah berada di halaman home Aktor : Administrator

Deskripsi : Use case ini menggambarkan proses saat user mengelola waktu ujian

Aksi aktor Reaksi sistem 1. Mengklik tombol pengaturan

sistem

2. Menampilkan halaman pengaturan sistem 3. Mengisi data tanggal dan jam

ujian

4. Melakukan proses simpan data tanggal dan jam ujian dalam sistem sesuai masukan user Skenario alternatif


(3)

ujian

4. Melakukan proses ubah data tanggal dan jam ujian yang tersimpan dalam sistem sesuai masukan user.

Skenario alternatif

3. Menghapus data tanggal dan jam ujian

4. Melakukan proses hapus data tanggal dan jam ujian yang tersimpan dalam sistem.

ID Use case : TA-06

Use case : Melihat jadwal ujian

Pre kondisi : Sistem sudah berada di halaman home Aktor : Administrator

Deskripsi : Use case ini menggambarkan proses saat user melihat jadwal ujian yang sudah diinputkan oleh user sebelumnya

Aksi aktor Reaksi sistem 1. Mengklik tombol jadwal

seminar

2. Menampilkan jadwal ujian yang telah disetujui

Skenario alternatif

1. Mengklik tombol jadwal berdasarkan dosen

2. Menampilkan jadwal ujian berdasarkan nama dosen yang dipilih

Skenario alternatif

1. Mengklik tombol jadwal berdasarkan tanggal ujian


(4)

2. Menampilkan jadwal ujian berdasarkan tanggal ujian yang dipilih


(5)

viii

ABSTRAK

APLIKASI PENJADWALAN UJIAN TUGAS AKHIR BERBASIS WEB Hilarius Haryo Tutuko

065314042

Universitas Sanata Dharma Yogyakarta

2013

Tujuan dibuatnya Aplikasi Penjadwalan Ujian Tugas Akhir Berbasis Web ini adalah untuk memudahkan petugas skretariat dalam mengatur jadwal Ujian Tugas Akhir serta memudahkan Dosen , Mahasiswa, petugas ruang dan petugas konsumsi untuk melihat jadwal Ujian Tugas Akhir.

Metode pengembangan sistem yang digunakan untuk membangun aplikasi ini adalah dengan menggunakan metodologi pengembangan sistem secara terstuktur (Structured System Analysis and Design Method). Metodologi ini terbagi menjadi beberapa fase yaitu : Fase Analisis Sistem (Analysis Phase), Fase Perancangan (Design Phase), Fase Implementasi (Implementation Phase), Fase Pengujian (Testing Phase).

Dengan menggunakan Aplikasi Penjadwalan Ujian Tugas Akhir Berbasis Web ini, pengguna sistem dapat melakukan penjadwalan Ujian Tugas Akhir sehingga diharapkan tidak terjadi permasalahan penjadwalan yang dikarenakan dosen tidak dapat hadir dikarenakan ada jadwal jadwal kegiatan lain pada waktu yang sama, maupun ruang ujian digunakan untuk ujian mahasiswa lain. Dengan aplikasi ini, laporan yang dibuat dapat dimanfaatkan untuk kepentingan perencanaan jumlah konsumsi, pemberitahuan kepada dosen yang bersangkutan, dan pemberitahuan kepada petugas pengelola ruangan.


(6)

ix

ABSTRACT

FINAL EXAM APPLICATION SCHEDULING BASED WEB Hilarius Haryo Tutuko

065314042

Sanata Dharma University Yogyakarta

2013

The purpose of this Final Examination Application Scheduling Based Web is to facilitate the Secretariat staff for Final Exam schedule and enable lecturers, students, officers and personnel space consumption to see the Final Exam schedule.

The methods are used to build this application is Structured Systems Analysis and Design Method. This methodology is divided into several phases: Analysis Phase, Design Phase, Implementation Phase, and Testing Phase.

By using the Final Exam Scheduling Application Based Web, users can perform system scheduling Final Exam so hopefully that does not happen due to scheduling problems lecturer who could not attend due to a schedule other activities scheduled at the same time, and the space used for the test exam students other. With this application, a report was made to be used for the purposes of planning the amount of consumption, notice to the lecturer concerned, and notice to the managing officer of the room.