Anda di halaman 1dari 224

SKRIPSI

PENGEMBANGAN APLIKASI PENJADWALAN KEGIATAN DENGAN MENGGUNAKAN


(STUDI KASUS : HUMAS KEMENTERIAN AGAMA RI)

ULISNA ADE RIFAI

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2011 M / 1432 H
PENGEMBANGAN APLIKASI PENJADWALAN KEGIATAN DENGAN MENGGUNAKAN
(STUDI KASUS : HUMAS DEPARTEMEN AGAMA RI)

Skripsi
Diajukan untuk Memenuhi Persyaratan Memperoleh Gelar Sarjana Komputer

Oleh :
Ulisna Ade Rifai
Nim : 204093002671

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2011 M / 1432 H
PENGEMBANGAN SISTEM INFORMASI
PENJADWALAN KEGIATAN
DENGAN MENGGUNAKAN ALGORJTMA GENETIKA
(STUDI KASUS : HUMAS KEMENTERIAN AGAMA ltI)

Skripsi
Diaj• kepada Fakulms Sains dan
Teknologi untuk Memenuhi Persyaratan
Memperoleh Gelar Saljana Komputer (S.Kom.)

Oleh :
Ulisna Ade Rifal
NIM: 204093002671

embimbing I Pembimoing lI

Zaenud in Bey ananie, M.Sc am M Shofi MT

Mengetahui,

Ketua Program Studi Sistem Informasi

Nur Aeni Hidayah, MCSI


NIP. 197505152005012008
PENGESAHAN UJIAN

Skripsi berjudul “Pengembangan Aplikasi Penjadwalan Kegiatan dengan Mongunakan


Algoritma Genetika, Studi Kasus Humas Kementerian Agama RI” yang ditulis oleh
Ulisna Ade Rifai, NIM 204093002671 telah diuj i dan dinyatakan lulus Salam sidang
Munaqosyah Fakultas Sains dan Teknologi, Universitas islam Negeri Syarif
Hidayatullah Jakarta pada tanggal 23 Juni 2011. Skripsi ini telah diterima sebagai salah
satu sy’arat untuk memperoleh gelar Sarjana Strata Satu (SI) Program Studi Sistem
Informasi.

Menyetujui :

Penguji I,
Penguj• II,

Bakri La Kaijong, MT,


Elsy Rahajeng,MTI
M.Kom NIP. 470035764

Pembimbing I
Pembimbing II

Zainu in Bey Fananie,


M.Sc HP. fmam M Sbofi, MT
NIP. 197202052008011010

Mengetahui :

D
Fakultas S dan Teknologi
Ketua Program Studi Sistem Informasi

Dr. Syopi syah Maya Putra, M.Sis


r eni idavah. SI
NI>, i 6901 i 7 20D 112 1 001
NIP, 197508182005012008

A
PERNYAT

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR- BENAR HASIL KARYA SENDIRI YANG
ATAU LEMBAGA MANAPUN.
ABSTRAK

Ulisna Ade Rifai, Pengembangan Aplikasi Penjadwalan Kegiatan dengan


Mengunakan Algoritma Genetika, Studi Kasus : Humas Kementerian Agama RI.
(Dibawah bimbingan Zainuddin Bey Fananie dan Imam M Shofie).

Humas Kementerian Agama merupakan bagian dari salah satu bidang di


Kementerian Agama yang bernama Pusat Informasi Keagamaan dan Kehumasan
(PIKMAS). Bagian Humas merupakan keharusan fungsional dalam rangka
melaksanakan urusan dan koordinasi serta penyusunan bahan pembinaan
hubungan kerjasama antara Kementerian dengan masyarakat, Lembaga Swadaya
Masyarakat (LSM), dan Lembaga Negara (LN). Bidang Humas dalam
menentukan jadwal kegiatan pertemuan telah sesuai dengan prosedur yang
berlaku, namun prosesnya masih dilakukan secara manual. Oleh karena
pentingnya penjadwalan kegiatan ini dapat berjalan sesuai dengan yang telah
direncanakan maka dibutuhkan sistem informasi penjadwalan kegiatan.
Berbanding terbalik dengan pentingnya penjadwalan ini, proses pembuatan jadwal
ini merupakan proses yang menyulitkan, karena proses ini membutuhkan
ketelitian dan waktu yang cukup banyak agar tidak terjadi adanya tumpang tindih
antara kegiatan yang satu dengan kegiatan yang lain. Dalam pengembangan
sistem ini, penulis menggunakan metodologi Rapid Application Development
(RAD) terdiri dari fase perencanaan syarat-syarat, fase konstruksi, fase
implementasi. Untuk metodologi perancangan model menggunakan Algoritma
Genetika yang terdiri dari teknik penyandian, prosedur inisialisasi, evaluasi,
seleksi, rekomendasi dan mutasi. Selain itu teknik pengembangan yang digunakan
Data Flow Diagram (DFD), Entity Relationship Diagram (ERD), Normalisasi,
dan Kamus Data. Bahasa pemrograman yang digunakan adalah Visual Studio.NET
dan MySQL sebagai databasenya. Penelitian ini bertujuan untuk mengembangkan
sistem penjadwalan kegiatan sehingga pihak humas dapat menentukan jadwal
kegiatan dengan mudah dan akurat. Aplikasi Sistem informasi penjadwalan
kegiatan dapat menghasilkan jadwal yang tidak bentrok dan optimal sesuai yang
direncanakan.

Kata kunci : Penjadwalan, kegiatan, algoritma genetika V Bab + xix Halaman +


202 Halaman + 13 Tabel + 64 Gambar + 16 Daftar Pustaka (2000-2009 )
+ 7 Lampiran
KATA PENGANTAR

Assalamu’alaikum Wr.Wb

Segala puji syukur kami panjatkan kehadirat Allah SWT atas segala rahmat

dan karunia-Nya sehingga skripsi ini dapat selesai sebagaimana mestinya.

Shalawat dan salam kepada Rasulullah Muhammad SAW, keluarga, sahabat dan

para pengikutnya hingga akhir zaman nanti. Rasul yang melalui perjuangan dan

keikhlasannya membuat kita bisa memiliki agama yang sempurna ini. Semoga

kita bisa menjadi pengikutnya yang setia sampai akhir hayat.

Dengan selesainya penulisan laporan skripsi ini penulis ingin mengucapkan

terima kasih kepada pihak-pihak yang telah membantu, karena tanpa bantuan,

petunjuk, bimbingan dan saran-saran mungkin penulis tidak akan dapat menyusun

laporan ini. Pada kesempatan ini, penulis ingin mengucapkan terima kasih yang

sebesar-besarnya kepada :

1. Bapak DR. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains dan

Teknologi UIN Syarif Hidayatullah Jakarta.

2. Ibu Nur Aeni Hidayah, MMSi selaku Ketua Program Studi Sistem

Informasi.

3. Bapak Zainuddin Bey Fananie, M.Sc selaku dosen pembimbing I dan Bapak

Imam M Shofi, MT selaku pembimbing II yang telah banyak memberikan

bimbingan dan arahan guna terwujudnya laporan skripsi ini.

4. Bapak Drs. H. Masyuri AM.MPd selaku Kapala Pusat Informasi

Keagamaan dan Kehumasan (PIKMAS) dan Bapak Drs. H. Afrizal Zen,

M.Si selaku Kepala Bidang Humas Kementerian Agama RI.


5. Bapak Saiful Huda S.Sos dan Bapak Boy Azhar, selaku pegawai bagian

Humas Kementerian Agama RI.

6. Ayahku H. Hasan Rifai dan Ibuku Arjiati, kakakku Fafa dan ketiga adikku

Umi, Anis, dan Aris, serta kekasihku Acum yang selalu memberikan doa,

nasehat dan dukungannya sehingga penulis dapat menyelesaikan laporan

skripsi ini.

7. Rekan-rekan Mahasiswa/I Sistem Informasi tahun 2004 non reguler

khususnya kelas SIB yang begitu banyak memberikan do’a, motivasi dan

dukungan.

8. Semua pihak-pihak yang telah membantu dalam penyelesaian laporan

skripsi ini yang tidak dapat disebutkan satu per satu terima kasih atas

bantuannya.

Dalam penulisan Laporan skripsi ini penulis menyadari bahwa penulisan

laporan ini masih belum mencapai kesempurnaan baik dari segi materi maupun

dari segi penyajian, untuk itu penulis mengharapkaan kritik dan saran untuk

membangun. Semoga dengan adanya Laporan skripsi ini dapat berguna bagi

pembaca dan memberikan manfaat bagi pihak yang membutuhkannya.

Semoga segala bantuan yang telah diberikan kepada penulis akan

mendapatkan balasan yang setimpal dari Allah SWT, Amien...

Wassalamu’alaikum Wr. Wb

Jakarta, Juni 2011

Ulisna Ade Rifai


Penulis
DAFTAR ISI

Halaman Judul............................................................................................... ii

Lembar Pengesahan Pembimbing.................................................................. iii

Lembar Pengesahan Penguji....................................................... .................. iv

Pernyataan ..................................................................................................... v

Abstrak .......................................................................................................... vi

Kata Pengantar .............................................................................................. vii

Daftar Isi........................................................................................................ ix

Daftar Tabel............................................................................................. ..... xv

Daftar Gambar............................................................................................... xvi

Daftar Lampiran ........................................................................................... xix

Daftar Simbol Notasi Flowchart ................................................................... xx

Daftar Simbol Notasi Data Flow Diagram ................................................... xxi

Daftar Simbol Notasi Entity Relationship Diagram............................................xxii

BAB I PENDAHULUAN ......................................................................... 1

1.1. Latar Belakang Masalah ................................................................ 1

1.2. Perumusan Masalah ....................................................................... 3

1.3. Batasan Masalah ............................................................................ 3

1.4. Tujuan Penelitian ........................................................................... 4

1.5. Manfaat Penelitian ......................................................................... 4

1.6. Metode Penelitian .......................................................................... 5


1.6.1. Metode Pengumpulan Data ............................................... 5

1.6.2. Metode Pengembangan Sistem ......................................... 6

1.7. Sistematika Penulisan .................................................................... 7

BAB II LANDASAN TEORI ................................................................... 9

2.1. Konsep Dasar Sistem ……………………………………………. 9

2.2. Konsep Dasar Informasi ………………………………………… 9

2.3. Pengembangan Sistem ................................................................... 10

2.3.1. Pengertian Pengembangan Sistem .................................... 10

2.3.2. Prinsip Pengembangan Sistem .......................................... 10

2.4. Konsep Dasar Penjadwalan ........................................................... 11

2.4.1. Pengertian Penjadwalan .................................................... 11

2.4.2. Tujuan Penjadwalan …………………………………….. 12

2.4.3. Performasi Penjadwalan ................................................... 12

2.5. Algoritma Genetika ....................................................................... 13

2.5.1. Pengertian Algoritma Genetika......................................... 13

2.5.2. Struktur Umum Algoritma Genetika................................. 14

2.5.3. Komponen Utama Algoritma Genetika ............................ 15

2.6. Metodologi Penelitian ................................................................... 19

2.6.1. Metode Pengumpulan Data ............................................... 19

2.7.1.1 Studi Lapangan ..................................................... 19

2.7.1.2 Studi Literatur ....................................................... 20

2.6.2. Metode Pengembangan Sistem ........................................ 21


2.6.3. RAD (Rapid Application Development) ……………….. 21

2.7. Flowchart ....................................................................................... 23

2.8. STD (State Transition Diagram) ................................................... 24

2.8.1. Pengertian STD (State Transition Diagram) ................... 24

2.8.2. Komponen STD (State Transition Diagram).................... 25

2.9. Data Flow Diagram ...................................................................... 26

2.9.1. Diagram Konteks .............................................................. 26

2.9.2. Diagram Zero .................................................................... 26

2.9.3. Diagram Rinci .................................................................. 27

2.10. Kamus Data .................................................................................. 27

2.11. ERD (Entity Relationship Diagram) ............................................ 27

2.11.1. Pengertian ERD (Entity Relationship Diagram) ............. 27

2.11.2. Kardinalitas Relasi ……………...……………………… 28

2.12. Normalisasi .................................................................................... 30

2.13. Perangkat Lunak Pembangun Sistem ........................................... 31

2.13.1. Visual Studio.NET ............................................................ 31

2.13.2. MySQL ............................................................................. 33

2.13.3. Crystal Report .................................................................. 34

2.14. Pengujian Black-box ..................................................................... 34

2.15. Literatur Sejenis ............................................................................ 35

BAB III METODOLOGI PENELITIAN ................................................. 37

3.1. Metode Pengumpulan Data ........................................................... 37

3.1.1. Studi Lapangan ................................................................. 37


3.1.2. Studi Literatur Sejenis....................................................... 39

3.2. Metode Pengembangan Sistem ..................................................... 39

3.2.1. Fase Perencanaan Syarat-syarat ........................................ 40

3.2.2. Workshop Design.............................................................. 40

3.2.3. Fase Pelaksanaan / Implementasi...................................... 41

3.3. Kerangka Berfikir ……………………………………………..... 42

3.4. Profil PIKMAS Kementerian Agama RI...................................... 43

3.4.1. Sejarah Pusat Informasi Keagamaan dan Kehumasan ..... 43

3.4.2. Struktur Organisasi .......................................................... 44

3.4.3. Uraian Tugas dan Fungsi ................................................. 45

BAB IV ANALISIS DAN PEMBAHASAN .............................................. 51

4.1. Fase Perencanaan Syarat-syarat ................................................... 51

4.1.1. Tujuan Sistem .................................................................. 51

4.1.2. Syarat-Syarat Informasi ................................................... 51

4.1.3. Analisa Kebutuhan Sistem .............................................. 52

4.1.4. Sistem Penjadwalan Yang Berjalan ................................. 53

4.1.5. Alternatif Penyelesaian Masalah ..................................... 55

4.1.6. Sistem Penjadwalan Yang Diusulkan .............................. 55

4.1.7. Perbandingan Sistem ....................................................... 56

4.2. Worshop Design / Fase Perancangan ........................................... 57

4.2.1. Desain Sistem Algoritma Genetika ................................... 57

4.2.1.1. Teknik Penyandian ……………………………. 58


4.2.1.2. Fungsi fitness ………………………………. 61

4.2.1.3. Prosedur Inisialisasi ………………………... 61

4.2.1.4. Pembangkitan Populasi Awal ……………… 65

4.2.1.5. Evaluasi …………………………………….. 66

4.2.1.6. Kriteria Optimasi tercapai ………………….. 66

4.2.1.7. Seleksi ……………………………………… 67

4.2.1.8. Rekomendasi (crossover) …………………... 68

4.2.1.9. Mutasi ………………………………………. 69

4.2.1.10. Generasi Terakhir ………………………….. 69

4.2.2. Data Flow Diagram ......................................................... 71

4.3.3.1 Spesifikasi Proses Diagram Overview.................. 78

4.3.3.2 Spesifikasi Proses Diagram Rinci level 1 ............ 80

4.3.3.3 Spesifikasi Proses Diagram Rinci level 2 ............. 86

4.2.3. Kamus Data ..................................................................... 95

4.2.4. Entity Relationship Diagram ........................................... 96

4.3.5.1. Normalisasi .......................................................... 97

4.3.5.2. Struktur Database ................................................ 101

4.2.5. State Transition Diagram ................................................. 106

4.2.6. Rancangan Antarmuka Pemakai ...................................... 111


4.3. Fase Pelaksanaan / Implementasi .................................................. 122

4.4.Pengujian Sistem .......................................................................... 123

BAB V KESIMPULAN DAN SARAN ...................................................... 124

5.1.Kesimpulan .................................................................................... 124

5.2.Saran .............................................................................................. 125

DAFTAR PUSTAKA .................................................................................. 126

LAMPIRAN................................................................................................. 127
DAFTAR TABEL

Tabel 2.1 Karakteristik MySQL ................................................................... 38

Tabel 4.1 Flowchart sistem penjadwalan yang berjalan .............................. 54

Tabel 4.2 Flowchart sistem yang diusulkan ................................................. 56

Tabel 4.3 Perbandingan Sistem .................................................................... 57

Tabel 4.4 Data Pembicara ............................................................................ 62

Tabel 4.5 Data Kegiatan ............................................................................... 62

Tabel 4.6 Pembangkitan Populasi (kesediaan pembicara) ........................... 65

Tabel 4.7 Evaluasi Kesediaan Nilai Fitness ................................................. 66

Tabel 4.8 Kesediaan Waktu Pembicara Hasil Seleksi ................................. 67

Tabel 4.9 Jadwal (generasi ke-1) ................................................................. 68

Tabel 4.10 Populasi setelah crossover ......................................................... 68

Tabel 4.11 Jadwal Kegiatan (generasi terakhir) ........................................... 70

Tabel 4.12 Pengujian Menggunakan Black Box.................................................123


DAFTAR GAMBAR

Gambar 2.1 Siklus Informasi ………………...…………………………… 12

Gambar 2.2 Diagram Alir Genetic Algorithms Sederhana ........................... 19

Gambar 2.3 Siklus Pengembangan Sistem model RAD ............................... 27

Gambar 2.4 Kondisi Perubahan State .......................................................... 29

Gambar 2.5 Notasi Modul............................................................................. 30

Gambar 2.6 Notasi Tampilan ........................................................................ 30

Gambar 2.7 Notasi Tindakan ....................................................................... 30

Gambar 2.8 Cardinality one to one ............................................................... 33

Gambar 2.9 Cardinality one to many ............................................................ 34

Gambar 2.10 Cardinality many to many ....................................................... 34

Gambar 3.1 Siklus Pengembangan Sistem Model RAD .............................. 46

Gambar 3.2 Kerangka Berfikir ..................................................................... 47

Gambar 3.3 Struktur Organisasi Sekretariat Jenderal .................................. 49

Gambar 3.4 Struktur Organisasi PIKMAS ................................................... 50

Gambar 4.1 Diagram Konteks Sistem Penjadwalan Kegiatan ..................... 71

Gambar 4.2 Diagram Overview Sistem Penjadwalan Kegiatan ................... 72

Gambar 4.3 Diagram 1 Level 1 Sistem Yang Diusulkan ............................ 73

Gambar 4.4 Diagram 2 Level 1 Sistem Yang Diusulkan ............................. 73

Gambar 4.5 Diagram 3 Level 1 Sistem Yang Diusulkan ............................. 74

Gambar 4.6 Diagram 4 Level 1 Sistem Yang Diusulkan.............................. 74


Gambar 4.7 Diagram 5 Level 1 Sistem Yang Diusulkan.............................. 75

Gambar 4.8 Diagram 1 Level 2 Proses 1.1 .................................................. 75

Gambar 4.9 Diagram 1 Level 2 Proses 1.2 ................................................... 76

Gambar 4.10 Diagram 1 Level 2 Proses 1.3 ................................................. 76

Gambar 4.11 Diagram 1 Level 2 Proses 1.4 ................................................. 76

Gambar 4.12 Diagram 1 Level 2 Proses 1.5 ................................................. 77

Gambar 4.13. Diagram 1 Level 2 Proses 1.6 .............................................. 77

Gambar 4.14. Diagram 1 Level 2 Proses 1.7 .............................................. 77

Gambar 4.15. Diagram 1 Level 2 Proses 1.8 ................................................ 78

Gambar 4.16 ERD Sistem Informasi Penjadwalan Kegiatan....................... 97

Gambar 4.17 Unnormalized Form (UNF) ................................................... 98

Gambar 4.18 First Normal Form (1NF) ....................................................... 99

Gambar 4.19 Second Normal Form (2NF) ................................................... 100

Gambar 4.20 STD Rancangan Menu Login Sistem...................................... 106

Gambar 4.21 STD Rancangan Menu Utama................................................. 106

Gambar 4.22 STD Rancangan Menu File .................................................... 106

Gambar 4.23 STD Rancangan Menu User ................................................... 107

Gambar 4.24 STD Rancangan Modul Pembicara ......................................... 107

Gambar 4.25 STD Rancangan Modul Kegiatan ........................................... 107

Gambar 4.26 STD Rancangan Modul Ruang ............................................... 108

Gambar 4.27 STD Rancangan Modul Shift ................................................. 108

Gambar 4.28 STD Rancangan Modul Biro .................................................. 108


Gambar 4.29 STD Rancangan Modul Bidang....................................................109

Gambar 4.30 STD Rancangan Modul Gedung ............................................ 109

Gambar 4.31 STD Rancangan Modul Kesediaan . ....................................... 109

Gambar 4.32 STD Rancangan Modul Nilai Fitness .................................... 110

Gambar 4.33 STD Rancangan Modul Seleksi Jadwal ................................. 110

Gambar 4.34 STD Rancangan Menu Laporan ............................................. 110

Gambar 4.35 Rancangan Form Login . ........................................................ 111

Gambar 4.36 Rancangan Tampilan Menu Utama......................................... 111

Gambar 4.37 Rancangan Tampilan Menu User ........................................... 112

Gambar 4.38 Rancangan Form Pembicara ................................................... 113

Gambar 4.39 Rancangan Form Kegiatan ..................................................... 114

Gambar 4.40 Rancangan Form Ruang ......................................................... 114

Gambar 4.41 Rancangan Form Shift ............................................................ 115

Gambar 4.42 Rancangan Form Biro ............................................................. 116

Gambar 4.43 Rancangan Form Bidang ........................................................ 116

Gambar 4.44 Rancangan Form Gedung ....................................................... 117

Gambar 4.45 Rancangan Form Kesediaan ................................................... 118

Gambar 4.46 Rancangan Form Input Kesediaan.............................................119

Gambar 4.47. Rancangan Form Nilai Fitness..................................................120

Gambar 4.48. Rancangan Form Seleksi Jadwal..................................................121

Gambar 4.49 Rancangan Menu Laporan Kesediaan .................................... 121

Gambar 4.50 Rancangan Menu Laporan Jadwal ......................................... 122


DAFTAR LAMPIRAN

Lampiran 1 Hasil Wawancara ....................................................................... 127

Lampiran 2 Tampilan Aplikasi ..................................................................... 130

Lampiran 3 Kode Program143

Lampiran 4 Quesioner .................................................................................. 174

Lampiran 5 Surat Permohonan Penelitian..................................................... 180

Lampiran 6 Pengujian BlackBox .............................. ................................... 181


Daftar Simbol

Notasi Flowchart

Simbol Keterangan

Input / output Merepresentasikan Input data atau


Output data yang diproses atau
Informasi.

Proses Mempresentasikan operasi

Anak panah Mepresentasikan alur kerja

Terminal point Awal atau akhir program

Dokumen Input / output dalam format yang

dicetak

Sumber : Ladjamudin, 2005


Daftar Simbol

Notasi Data Flow Diagram

Nama Simbol Simbol DFD versi Yourdan, Simbol DFD versi


De Marco Gane and Sarson

Arus Data

Proses

Penyimpanan Data

Entitas luar

Sumber : (Ladjamudin, 2005)


Daftar Simbol

Notasi Entity Relationship Diagram

Notasi Keterangan

Entitas, adalah suatu objek yang dapat


Entitas
diidentifikasi dalam lingkungan

pemakai.

Relasi, menunjukan adanya hubungan


Relasi
diantara sejumlah entitas yang

berbeda.

Atribut, berfungsi mendeskripsikan


Atribut
karakter entitas.

Garis, sebagai penghubung antara

relasi dengan entitas, relasi dan entitas

dengan atribut.

Sumber : Al-Bahra bin ladjamudin, 2005


BAB I

PENDAHULUAN

1.1 Latar Belakang

Penjadwalan merupakan kegiatan yang harus dimiliki oleh setiap

orang untuk dapat membantu dalam melakukan aktivitasnya sehari-hari.

Terlebih lagi sebuah instansi atau lembaga yang memiliki agenda-agenda

penting yang harus diselesaikan secara teratur dan rapi. Begitu pentingnya

penjadwalan ini agar kegiatan dapat berjalan sesuai dengan yang telah

direncanakan.

Berbanding terbalik dengan pentingnya penjadwalan ini, proses

pembuatan jadwal ini merupakan proses yang menyulitkan, karena proses

ini membutuhkan ketelitian dan waktu yang cukup banyak agar tidak

terjadi adanya tumpang tindih antara kegiatan yang satu dengan kegiatan

yang lain.

Humas Kementerian Agama merupakan bagian dari salah satu

bidang di Kementerian Agama yang bernama Pusat Informasi Keagamaan

dan Kehumasan (PIKMAS). Bagian Humas merupakan keharusan

fungsional dalam rangka melaksanakan urusan dan koordinasi serta

penyusunan bahan pembinaan hubungan kerjasama antara Departemen

dengan masyarakat, Lembaga Swadaya Masyarakat (LSM), dan Lembaga

Negara (LN), juga penyusunan bahan penerangan dan publikasi.

(Kemenag, 2008)
Berdasarkan pengumpulan data yang penulis lakukan di lapangan,

kegiatan pertemuan dengan Menteri Agama telah sesuai dengan prosedur

yang berlaku, namun prosesnya masih dilakukan secara manual. Hal

tersebut mengakibatkan informasi hasil pengolahan data tidak berkualitas

baik, dibuktikan dengan informasi yang dihasilkan kurang akurat dimana

kesalahan-kesalahan dalam melakukan penjadwalan, informasi atau

laporan tentang kegiatan sering terlambat atau tidak tepat waktu untuk

disampaikan kepada Kepala Bidang Humas sehingga pegawai pun

mengalami keterlambatan untuk pelaksanaan kegiatan yang lainnya.

Untuk memudahkan dalam proses penjadwalan tersebut, Humas

Kementerian Agama Jakarta merasa perlu mengembangkan aplikasi yang

memudahkan penjadwalan kegiatan. Penulis mengajukan algoritma

genetika sebagai metode untuk mencari solusi yang terbaik dari suatu

permasalahan penjadwalan kegiatan yang berkaitan dengan optimalisasi

ruangan yang terbatas dengan kesiapan pembicara yang terbatas. Di dalam

banyak kasus metode ini memiliki solusi yang optimal dan sangat efektif.

Oleh karenanya penulis bermaksud mengangkat masalah tersebut

untuk menyusun Skripsi dengan judul ”PENGEMBANGAN APLIKASI

PENJADWALAN KEGIATAN DENGAN MENGGUNAKAN

ALGORITMA GENETIKA (STUDI KASUS: HUMAS KEMENTERIAN

AGAMA RI)”.
1.2. Perumusan Masalah

Perumusan masalah dalam penelitian ini adalah :

1. Bagaimana sistem penjadwalan kegiatan menggunakan metode

algoritma genetika.

2. Sistem penjadwalan kegiatan yang dilakukan menggunakan cara semi

manual dan tidak adanya database.

3. Proses penjadwalan kegiatan belum optimal sesuai yang direncanakan.

4. Sering terjadinya kesalahan-kesalahan dalam melakukan penjadwalan,

dan laporan tentang kegiatan yang sehingga mengalami keterlambatan

untuk pelaksanaannya.

1.3. Batasan Masalah

Batasan masalah dalam penelitian ini adalah :

1. Fokus pada perancangan sistem penjadwalan kegiatan.

2. Menentukan penjadwalan berdasarkan kegiatan yang dilaksanakan,

periode waktu, dan ruangan yang tersedia pada Humas Kementerian

Agama RI Jakarta.

3. Metode pengembangan sistem mengunakan RAD dan menggunakan

metode Algoritma Genetika.

4. Program aplikasi yang dibuat dengan menggunakan bahasa

pemrograman Microsoft Visual Studio.NET bahasa pemrograman

basis data MySQL, dan aplikasi bantu simulasi desain dengan

Microsoft Visio 2003.


1.4. Tujuan Penelitian

Adapun Tujuan dari penelitian ini adalah sebagai berikut :

1. Untuk menerapkan algoritma genetika dalam menyelesaikan masalah

penjadwalan kegiatan pada Humas Kementerian Agama Jakarta.

2. Mengoptimalisasikan penjadwalan kegiatan dengan tepat waktu dan

sesuai dengan yang direncanakan, Agar tidak terjadinya kesalahan-

kesalahan yang dapat menyebabkan keterlambatan pelaksanaan

kegiatan.

1.5. Manfaat Penelitian

Adapun manfaat penelitian ini adalah sebagai berikut :

a. Memberikan sumbangsih ilmiah dalam pengembangan sistem dengan

metode algoritma genetika.

b. Mahasiswa dapat memahami masalah-masalah yang ada dalam sebuah

perusahaan, terutama masalah penentuan jadwal kegiatan.

c. Tersedianya sistem penjadwalan kegiatan untuk mengolah data-data

yang diperlukan, dimana sistem tersebut menggantikan sistem yang

lama.

d. Memudahkan user khususnya bagian Humas dalam mengoptimalkan

penjadwalan kegiatan dengan tepat waktu.

e. Mengetahui seberapa jauh mahasiswa menerapkan ilmu-ilmu yang

bersifat teori dan sebagai evaluasi terhadap materi yang telah

diberikan.
Metodologi Penelitian

Metodologi penelitian yang diperlukan sebagai bahan untuk menyusun tugas akhir ini adalah :
Metode Pengumpulan Data

Metode pengumpulan data dengan menggunakan beberapa cara yaitu:


Studi Lapangan

Pada metode studi lapangan ini terdapat 3 cara yait

a. Observasi

Melalui observasi ke bagian yang berhubungan dengan kegiatan, untuk mendapatkan gambaran y

b. Wawancara

Penulis melakukan serangkaian tanya jawab pada bagian-

bagian yang berhubungan dengan masalah yang terkait,

untuk mengetahui masalah-masalah yang menjadi kendala

bagi para pengguna sistem lama.

c. Kuesioner

Suatu teknik pengumpulan informasi yang memungkinkan

analis mempelajari sikap-sikap, keyakinan, perilaku, dan

karakteristik beberapa orang utama di dalam organisasi

yang bisa terpengaruh oleh sistem yang diajukan atau oleh


sistem yang sudah ada dengan cara memberikan sejumlah

pertanyaan kepada para responden tersebut.

2). Studi Literatur

Studi Literatur adalah cara penelitian yang dilakukan dengan

membaca dan mempelajari buku-buku literatur sejenis yang

dapat dijadikan pendukung dalam penyelesaian skripsi ini.

1.6.2. Metode pengembangan sistem

Metode pengembangan sistem dilakukan dengan metode

RAD (Rapid Application Development). RAD pertama kali

diformulasikan oleh James Martin pada tahun 1991 (Hillary Berger,

2004). Dan penulis menerapkan empat tahap siklus pengembangan

RAD (Kendal & Kendal, 2003), yaitu :

1. Fase Perencanaan Syarat – Syarat

Dalam fase ini, pengguna (pihak yang melakukan

penilaian terhadap kandidat-kandidat) dan pihak yang

menganalisa bertemu untuk mengidentifikasi syarat-syarat

informasi yang ditimbulkan dari tujuan-tujuan tersebut. Fase

ini memerlukan peran aktif dari kedua kelompok tersebut.

Selain itu juga melibatkan pengguna dari beberapa level yang

berbeda dalam organisasi.


Workshop Design

Fase ini adalah fase untuk merancang dan memperbaiki yang dapat digambarkan sebagai worksho
Fase Implementasi
Pada fase ini dilakukan pengujian dan pengenalan terhadap sistem.

yang digambarkan sebagai berikut :

BAB I PENDAHULUAN

Pada bab ini akan diuraikan tentang latar belakang,

permasalahan, tujuan dan manfaat penelitian, metodologi

penelitian, dan sistematika penulisan.


LANDASAN TEORI BAB II
Pada bab ini menjelaskan tentang konsep dasar sistem informasi (pengertian pe

METODOLOGI PENELITIAN BAB III


Pada bab ini akan dibahas mengenai pemaparan metode yang penulis pakai dalam pencarian d

BAB IV ANALISA

Pada bab ini berisikan rancangan proses dengan

menggunakan metode algoritma genetika dan menggunakan

Flowchart, DFD usulan dan spesifikasi proses. Rancangan

basis data yang berisikan ERD, normalisasi. Dalam bab ini

juga membahas rancangan tampilan.

BAB V PENUTUP

Pada bab ini penulis memberikan kesimpulan dari apa yang

telah dibahas pada bab sebelumnya dan memberikan saran

untuk pengembangan sistem yang lebih baik.


Konsep Dasar Sistem

Pengertian Sistem

Menurut (Jogiyanto, 2005), sistem adalah kumpulan dari komponen atau elemen yang saling berh
Konsep Dasar Informasi

Pengertian Informasi

Menurut Davis dalam (Ladjamudin, 2005) Informasi adalah data

yang telah diolah menjadi sebuah bentuk yang berarti bagi penerimanya

dan bermanfaat dalam pengambilan keputusan saat ini atau mendatang.

Sedangkan menurut McLeod dalam (Ladjamudin, 2005) informasi

sebagai data yang telah diolah menjadi bentuk yang lebih berarti bagi

penerimanya. Sumber informasi adalah data. Data adalah kenyataan

yang menggambarkan kejadian-kejadian dan kesatuan nyata. kejadian

adalah sesuatu yang terjadi pada saat tertentu. Informasi diperoleh

setelah data-data mentah diproses atau diolah.


2.3. Pengembangan Sistem

2.3.1. Pengertian Pengembangan Sistem

Pengembangan sistem dapat berarti menyusun suatu sistem

yang baru untuk menggantikan sistem yang lama secara

keseluruhan atau memperbaiki sistem yang telah ada. Menurut

(Sutabri, 2004) Sistem yang lama perlu diperbaiki atau diganti,

disebabkan karena beberapa hal, yaitu sebagai berikut :

1. Adanya permasalahan-permasalahan yang timbul di sistem

yang lama seperti : adanya ketidak beresan atau adanya

pertumbuhan organisasi.

2. Untuk meraih kesempatan-kesempatan. Kesempatan ini dapat

berupa peluang bisnis, pelayanan yang meningkat pada

langganan.

3. Adanya instruksi-instruksi dari atasan atau pimpinan atau dari

luar organisasi, seperti peraturan pemerintah.

2.4.2. Prinsip Pengembangan Sistem

Adapun prinsip dari pengembangan sistem adalah sebagai berikut

(Sutabri, 2004) :

a. Sistem yang dikembangkan adalah untuk manajemen.

b. Sistem yang dikembangkan adalah investasi modal yang besar.

c. Sistem yang dikembangkan memerlukan orang yang terdidik.

d. Proses pengembangan sistem tidak harus urut.

e. Jangan takut membatalkan proyek.


f. Dokumentasi harus ada untuk pedoman dalam pengembangan

sistem.

2.4. Konsep Dasar Penjadwalan

2.4.1. Pengertian Penjadwalan

Time Tabling adalah suatu kegiatan administratif utama pada

sebagian besar intitusi. Kegiatan operasi institusi akan bergantung

sepenuhnya pada jadwal (timetable) yang dibuat. Menurut (Wren,

1996) penjadwalan didefinisikan sebagai berikut :

Penjadwalan adalah pengalokasian sumber daya pada objek-

objek yang ada pada ruang waktu dan bergantung pada kendala-

kendala yang sedemikian sehingga sedapat mungkin memenuhi

sekumpulan sasaran yang diinginkan. Secara sederhana, penjadwalan

dapat diartikan sebagai pengalokasian sumber-sumber daya yang

tersedia pada ruang waktu yang ada sehingga memenuhi kondisi-

kondisi tertentu.

Penjadwalan ini meliputi dua hal, yaitu tentang alokasi sarana

dan tentang dapat diramalkannya waktu kegiatan. Sarana kegiatan,

yaitu pembicara, sarana lainnya dan waktu, harus dialokasikan secara

seimbang dan efisien ke dalam program bulanan dan kegiatan harian.


Penjadwalan dapat didefinisikan sebagai pengalokasian

sumber daya dalam jangka waktu tertentu untuk melakukan

serangkaian tugas. Penjadwalan adalah proses pengorganisasian,

pemilihan, dan penentuan waktu penggunaan sumber-sumber untuk

mengerjakan semua aktifitas yang diperlukan yang memenuhi

kendala aktifitas dan sumber daya. (Wren, 1996)

2.4.2. Tujuan Penjadwalan

Menurut (Ginting, 2009) mengidentifikasikan beberapa tujuan dari

aktifitas penjadwalan adalah sebagai berikut :

1. Meningkatkan penggunaan sumberdaya atau mengurangi waktu

tunggunya, sehingga total waktu proses dapat berkurang, dan

produktifitas dapat meningkat.

2. Mengurangi beberapa keterlambatan pada pekerjaan yang

mempunyai batas waktu penyelesaian sehingga meminimisasi

penalty cost (biaya kelambatan).

2.4.3. Performasi Penjadwalan

Menurut (Wahyuni, 2007) terdapat tiga tujuan pembuatan keputusan

yang umum dalam penjadwalan dan ketiganya menunjukkan ukuran

dasar performasi jadwal, yaitu :

1. Pemanfaatan sumber daya yang efesien : minimum maksimum

saat selesai.

2. Respon yang cepat terhadap permintaan konsumen: minimum

rata-rata saat selesai (completion time), minimum rata-rata


waktu tinggal (flow time), atau minimum rata-rata waktu tunggu

(waiting time).

3. Sesuai dengan batas waktu yang ditentukan: minimum rata-rata

keterlambatan (tardiness), minimum maksimum keterlambatan,

dan minimum jumlah job yang terlambat, (the number of tardy

jobs).

2.5. Algoritma Genetika

2.5.1. Pengertian Algoritma Genetika

Menurut (Desiani dan Arhami, 2006) Algoritma genetika

(AG) diperkenalkan pertama kali oleh John Holland (1975) dari

Universitas Michigan, John Holland mengatakan bahwa setiap

masalah yang berbentuk adaptasi (alami maupun buatan) dapat

diformulasikan ke dalam terminology genetika.

Kemudian menurut Goldberg (1989) mendefinisikan

algoritma genetika ini sebagai suatu pencarian algoritma

berdasarkan pada mekanisme seleksi alam dan genetika alam.

Bauer (1993) mendefinisikan algoritma genetika sebagai perangkat

lunak, prosedur yang dimodelkan setelah genetika dan evolusi.

Selain itu juga Algoritma Genetika mempunyai karakteristik-

karakteristik yang perlu diketahui sehingga dapat terbedakan dari

prosedur pencarian atau optimasi yang lain, yaitu :


1. AG bekerja dengan pengkodean dari himpunan solusi

permasalahan berdasarkan parameter yang telah ditetapkan dan

bukan parameter itu sendiri.

2. AG melakukan pencarian pada sebuah populasi dari sejumlah

individu-individu yang merupakan solusi permasalahan bukan

hanya dari sebuah individu.

3. AG merupakan informasi fungsi objektif (fitness), sebagai cara

untuk mengevaluasi individu yang mempunyai solusi terbaik,

bukan turunan dari suatu fungsi.

4. AG menggunakan aturan-aturan transisi peluang, bukan aturan-

aturan deterministik.

2.5.2. Struktur Umum Algoritma Genetika

Menurut (Kusumadewi, 2003) Pada algoritma ini, teknik

pencarian dilakukan sekaligus atas sejumlah solusi yang mungkin

dikenal dengan istilah populasi. Individu yang terdapat dalam satu

populasi individu yang terdapat dalam satu populasi disebut dengan

istilah kromosom, Charles L Karr (1999). Kromosom ini

merupakan suatu solusi yang masih berbentuk simbol. Populasi

awal dibangun secara acak, sedangkan populasinya merupakan

hasil evolusi kromosom-kromosom melalui iterasi yang disebut

dengan istilah generasi. Pada setiap generasi kromosom akan

melalui proses evaluasi dengan menggunakan alat ukur yang

disebut fungsi fitness. Nilai fitness dari suatu kromosom akan


menunjukkan kualitas kromosom dalam populasi tersebut. Proses
ini dapat direpresentasikan dalam algoritma sederhana Algoritma Genetika sebagai berikut

Gambar 2.2. Diagram Alir Genetic Algorithms Sederhana (Kusumadewi, 2003)

Komponen Utama Algoritma Genetika

Menurut (Kusumadewi, 2003) Terdapat 6 komponen utama dalam algoritma genetika, yaitu :
Teknik Penyandian

Teknik penyandian disini meliputi penyandian gen dari

kromosom. Gen merupakan bagian dari kromosom. Satu gen

biasanya akan mewakili satu variabel.

Gen dapat direpresentasikan dalam bentuk : string bit,

pohon, array bilangan real, daftar aturan, elemen permutasi,

elemen program, atau representasi lainnya yang dapat

diimplementasikan untuk operator genetika.


Prosedur Inisialisasi

Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetika y
Inisialisasi kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan dom
Fungsi Evaluasi

Ada 2 hal yang harus dilakukan dalam melakukan

evaluasi kromosom, yaitu evaluasi fungsi objektif (fungsi

tujuan) dan konversi fungsi objektif ke dalam fungsi fitness.

Secara umum, fungsi fitness diturunkan dari fungsi objektif

dengan nilai yang tidak negatif.

d. Seleksi

Seleksi ini bertujuan untuk memberikan kesempatan

yang lebih besar bagi anggota populasi yang paling fit.


e. Operator genetika

Operator standar yang biasa digunakan dalam algoritma

genetika adalah selection, crossover dan mutation. Berikut ini

akan dijelaskan masing-masing operator menurut (Desiani &

arhami, 2006) yaitu :

1. Selection

Tujuan penggunaan algoritma genetika adalah untuk

memilih solusi yang tersedia. Melalui proses evolusi,

algoritma ini mengkombinasikan sejumlah solusi dari suatu

generasi menjadi solusi lain digenerasi berikutnya. Solusi

yang terpilih diharapkan memiliki karakteristik yang baik

sehingga setelah dilakukan manipulasi, solusi generasi

selanjutnya dapat memiliki karakter yang lebih baik.

2. Crossover
Crossover (Penyilangan) merupakan operator utama

dalam Algoritma Genetika. Salah satu cara sederhana dalam

crossover adalah dengan memilih secara acak satu titik

potong pada parents dan melakukan penyilangan dimana

segmen yang terletak sebelum titik penyilangan akan

dikopikan ke kromosom offspring kedua. Metode ini dapat

bekerja dengan baik pada kromosom string biner (Ariani,

2003).
3. Mutation

Mutasi merupakan sekondari operator yang

mereproduksi kromosom baru akibat perubahan secara

acak dan kebetulan, dengan probabilitas yang sangat kecil.

Dalam algoritma genetika, mutasi diperlukan

sebagai penjagaan terhadap konvergensi yang terlalu cepat

akibat hilangnya variasi kromosom yang disebabkan oleh

crossover, dan untuk memastikan bahwa seluruh lokasi

pada area pencarian dapat dijelajahi. Cara sederhana

melakukan mutasi adalah dengan mengubah secara acak

satu atau lebih gen dalam kromosom. Gen merupakan bit-

bit yang menyusun kromosom (Ariani, 2003).

f. Penentuan Parameter

Menurut (Kusumadewi, 2006) Algoritma genetika

membutuhkan beberapa nilai parameter yang menentukan

kinerja program. Parameter yang biasa digunakan pada

algoritma genetika adalah :

1. Populasi size, jumlah individu yang dilibatkan pada setiap

generasi.

2. Crossover rate merupakan rasio perbandingan banyaknya

offspring yang yang diproduksi pada tiap generasi dengan

banyaknya populasi size. Crossover rate yang besar


membuat eksplorasi area solusi semakin besar dan

mngurangi kemungkinan kesalahan perolehan solusi

optimum. Tetapi jika crossover rate ini terlalu tinggi akan

terjadi pembuangan waktu komputasi karena area solusi

yang tidak menjanjikan solusi pun akan dieksplorasi.

3. Mutation rate, merupakan presentasi terjadinya kromosom

baru sebagai akibat mutasi, dari keseluruhan population

size. Jika mutation rate ini terlalu rendah, banyak

kemungkinan solusi yang tidak akan dicoba sementara.

2.6. Metodologi Penelitian

2.6.1. Metode Pengumpulan Data

Metode pengumpulan data dilakukan untuk memperoleh

informasi yang dibutuhkan untuk mencapai tujuan penelitian (Gulo,

2002) dalam penelitian ini penulis menggunakan dua metode untuk

pengumpulan data yaitu : studi lapangan, studi literatur.

2.6.1.1. Studi Lapangan

Pada studi lapangan di bagi menjadi 3 cara yaitu :

1. Observasi

Observasi atau pengamatan (observation) merupakan salah

satu teknik pengumpulan fakta/data yang cukup efektif untuk


mempelajari suatu sistem. Observasi adalah pengamatan langsung

suatu kejadian yang sedang dilakukan. (Jogiyanto, 2005).

2. Wawancara (interview)

Wawancara (interview) telah diakui sebagai teknik

pengumpulan data atau fakta yang penting dan banyak dilakukan

dalam pengembangan sistem informasi. Wawancara

memungkinkan analis sistem sebagai pewawancara untuk

mengumpulkan data secara tatap muka langsung dengan orang

yang diwawancarainya. (Jogiyanto, 2005).

3. Kuesioner

Kuesioner merupakan teknik pengumpulan data yang

dilakukan dengan cara memberi seperangkat pertanyaan atau

pernyataan tertulis kepada responden untuk dijawabnya (Sugiyono

2008).

2.6.1.2. Studi Literatur

Studi literatur adalah mencari suatu masalah untuk diteliti.

Dalam arti bukti-bukti atau pernyataan bahwa masalah yang akan

diteliti itu belum terjawab atau belum terpecahkan secara

memuaskan atau belum pernah diteliti orang mengenai tujuan, data

dan metode analisa dan hasil untuk waktu dan tempat yang sama

(Bintarto, 2002). Dalam mencari studi literatur, peneliti mencari


permasalahan yang sama yang dalam pengembangan sistem

penjadwalan.

2.6.2. Metode Pengembangan Sistem

Metodologi pengembangan sistem adalah metode-metode,

prosedur-prosedur, konsep-konsep pekerjaan dan aturan-aturan untuk

mengembangkan suatu sistem informasi. Dalam pengembangan

sistem informasi perlu digunakan suatu metodologi yang dapat

digunakan sebagai pedoman bagaimana dan apa yang harus

dikerjakan selama pengembangan ini. Dengan mengikuti metode dan

prosedur-prosedur yang diberikan oleh suatu metodologi, maka

pengembangan sistem diharapkan akan dapat diselesaikan dengan

berhasil. Urutan-urutan prosedur untuk memecahkan masalah ini

dikenal dengan istilah algoritma (Sutabri, 2004).

2.6.3. RAD (Rapid Application Development)

RAD (Rapid Application Development) adalah salah satu

alternatif dalam melakukan suatu pengembangan sistem. RAD

adalah sebuah strategi pengembangan sistem yang menekankan

kecepatan pengembangan melalui keterlibatan pengguna yang

ekstensif dalam konstruksi, cepat, berulang dan bertambah

serangkaian prototipe atau prototipe bekerja sebuah sistem yang


pada akhirnya berkembang kedalam sistem final (atau sebuah versi) (Whitten, 2004).
RAD menekankan pada kecepatan pengembangan yang melibatkan peran user secara cepat, ite
Fase Perancangan Syarat-syarat

B
Men

Gambar 2.3. Siklus Pengembangan Sistem model RAD


( Kendal and Kendal 2006)

Tiga tahap siklus pengembangan sistem RAD, yaitu :

4. Perencanaan Syarat – Syarat

Dalam fase ini, pengguna (pihak yang melakukan penilaian

terhadap kandidat-kandidat) dan pihak yang menganalisa bertemu

untuk mengidentifikasi syarat-syarat informasi yang ditimbulkan

dari tujuan-tujuan tersebut. Fase ini memerlukan peran aktif dari


kedua kelompok tersebut. Selain itu juga melibatkan pengguna dari beberapa level yang berbeda
Workshop Design

Fase ini adalah fase untuk merancang dan memperbaiki yang dapat digambarkan sebagai worksho
Fase Implementasi

Pada fase ini dilakukan pengujian dan pengenalan terhadap

sistem.

Flowchart adalah bagan-bagan yang mempunyai arus yang menggambarkan

langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara

penyajian dari suatu algoritma (Ladjamudin, 2005). Terdapat dua macam

flowchart yang menggambarkan proses dengan komputer yaitu :

1. Flowchart Sistem (System Flowchart)

Flowchart sistem adalah bagan yang memperlihatkan urutan proses

dalam sistem dengan menunjukkan alat media input, output serta jenis

media penyimpanan dalam proses pengolahan data.

2. Program (Program Flowchart)


Flowchat program adalah bagan yang memperlihatkan urutan

instruksi yang digambarkan dengan symbol tertentu untuk memecahkan

masalah dalam suatu program.

2.8. STD (State Transition Diagram)

2.8.1. Pengertian STD (State Transition Diagram)

Menurut (Pressman, 2002). STD (State Transaction

Diagram) mempresentasikan tingkah laku dari suatu sistem dengan

menggambarkan keadaannya dan kejadian yang menyebabkan

sistem mengubah keadaan.

State Transaction Diagram (STD) digunakan untuk

menggambarkan urutan dan variasi screen yang dapat muncul

ketika pengguna sistem mengunjungi terminal (Whitten, 2004).

Selain itu State transaction diagram (STD) menunjukkan

bagaimana sistem bertingkah laku sebagai akibat dari kejadian

eksternal, STD menunjukkan berbagai model tingkah laku sistem

dan cara dimana transisi dibuat dari state satu ke state lainnya

(Pressman, 2002).

Gambar 2.4. kondisi perubahan state


(Pressman, 2002)
2.8.2. Komponen STD
Adapun komponen atau simbol yang digunakan dalam diagram
a.Modul
Menggunakan simbol lingkaran kecil (gambar 2.7) yang mewa

Gambar 2.5. Notasi modul (Pressman, 2002)

b. Tampilan kondisi (state)


Merupakan layer yang ditampilkan menurut keadaan atau atribut, untuk memenuhi suatu tinda

Gambar 2.6. Notasi tampilan


(Pressman, 2002)
c. Tindakan (state transition)

Menggunakan simbol anak panah (gambar 2.9) disertai

keterangan tindakan yang dilakukan.

Gambar 2.7. Notasi Tindakan


(Pressman, 2002)
2.9. DFD (Data Flow Diagram)

Menurut (Ladjamudin, 2005) DFD merupakan model dari sistem

untuk menggambarkan pembagian sistem ke modul yang lebih kecil. Salah


satu keuntungan menggunakan DFD adalah memudahkan pemakai atau

user yang kurang menguasai bidang komputer untuk mengerti sistem yang

akan dikerjakan. Untuk memudahkan membaca DFD maka diperlukan

proses penggambaran yang disusun secara bertingkat dari atas ke bawah.

Tingkatan tersebut adalah :

2.9.1. Diagram Konteks (Context Diagram)

Digram konteks adalah diagram yang terdiri dari suatu

proses dan menggambarkan ruang lingkup suatu system. Digram

konteks merupakan level tertinggi dari Data Flow Diagram yang

menggambarkan seluruh input ke sisetm atau output dari sistem. Ia

akan memberi gambaran tentang keseluruhan sistem. Sistem

dibatasi oleh boundary (dapat digambarkan dengan garis putus).

Dalam digram konteks hanya ada satu proses. Tidak boleh ada data

store dalam diagram konteks (Ladjamudin, 2005).

2.9.2. Diagram Zero (Overview Diagram)

Diagram zero adalah diagram yang menggambarkan

proses dari data flow diagram. Diagram zero memberikan

pandangan secara menyeluruh mengenai sistem yang ditangani,

menunjukkan tentang fungsi-fungsi utama atau proses yang ada,

aliran data, dan eksternal entity. Pada level ini sudah dimungkinkan

adanya / digambarkannya data store yang digunakan (Ladjamudin,

2005).

2.9.3. Diagram Rinci (Level Diagram)


Diagram rinci adalah diagram yang menguraikan proses apa

yang ada dalam diagram zero atau diagram level diatasnya

(Ladjamudin, 2005).

2.10. Kamus Data

Kamus data berfungsi membantu pelaku sistem untuk mengartikan aplikasi

secara detail dan mengorganisasi semua elemen data yang digunakan

dalam sistem secara persis sehingga pemakai dan penganalisis sistem

mempunyai dasar pengertian yang sama tentang masukan, keluaran,

penyimpanan dan proses. Kamus data sering disebut juga dengan sistem

data dictionary adalah katalog fakta tentang data dan kebutuhan-kebutuhan

informasi dari suatu sistem informasi (Ladjamudin, 2005).

2.11. ERD (Entity Relationship Diagram)

2.11.1. Pengertian ERD (Entity Relationship Diagram)

Entity Relationship Diagram (ERD) digunakan untuk

mendokumentasikan data organisasi dengan mengidentifikasikan

jenis entitas dan hubungannya (Fathansyah, 2001).

Entity Relational Diagram merupakan salah satu pemodelan

data konseptual yang paling sering digunakan dalam proses

pengembangan basis data bertipe relasional. Model E-R adalah


rincian yang merupakan representasi logika dari data pada suatu

organisasi atau area bisnis tertentu (Ladjamudin, 2005).

2.11.2. Kardinalitas Relasi

Dalam ERD hubungan (relasi) dapat terdiri dari sejumlah

entitas yang disebut dengan derajad relasi. Derajad relasi

maksimum disebut dengan kardinalitas sedangkan derajad

minimum disebut dengan modalitas. Jadi kardinalitas relasi

menunjukkan jumlah maksimum entitas yang dapat berelasi

dengan entitas pada himpunan entitas lain. Kardinalitas relasi yang

terjadi diantara dua himpunan entitas (misalnya A dan B) dapat

berupa (Ladjamudin, 2005):

1. Satu ke satu (one to one)

Setiap entitas pada himpunan entitas yang satu (A)

berhubungan dengan paling banyak dengan satu entitas pada

himpunan entitas yang lain (B).

Nama entitas 1 Nama relasi 1 Nama entitas

Gambar 2.8. Cardinality one to one


(Ladjamudin, 2005)

2. Satu ke Banyak (one to many)

Yang berarti setiap sentitas pada himpunan entitas yang satu

(A) dapat berhubungan dengan banyak entitas pada himpunan

entitas yang lain (B), tetapi tidak sebaliknya dimana entitas


Nama entitas

3. Banyak ke banyak (many to many)


Yang berarti setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas

Nama entitas Nama relasi Nama entitas

Gambar 2.10. Cardinality many to many


(Ladjamudin, 2005)

2.12. Normalisasi

Normalisasi adalah proses pengelompokan data kedalam bentuk

tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka
sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi,

Ada beberapa bentuk normalisasi yaitu, (Ladjamudin, 2005) :

1. Bentuk Normal I (First Normal Form / 1-NF)

Pada tahap ini dilakukan penghilangan beberapa group elemen

yang berulang agar menjadi satu harga tunggal yang berinteraksi

diantara setiap baris pada suatu tabel, dan setiap atribut harus

mempunyai nilai data yang atomic (bersifat atomic value). Syarat

normal kesatu :

a. Setiap data dibentuk dalam flat file, data dibentuk dalam satu

record demi satu record nilai dari field berupa “atomic value”.

b. Tidak ada set atribute yang berulang atau bernilai ganda.

c. Telah dibentuknya primary key untuk tabel/relasi tersebut.

d. Tiap atribute hanya memiliki satu pengertian.

2. Bentuk Normal II (Second Normal Form / 2-NF).

Suatu relasi memenuhi 2-NF jika dan hanya jika :

a. Bentuk data telah memenuhi kriteria bentuk normal kesatu.

b. Atribute bukan kunci haruslah memiliki ketergantungan

fungsional sepenuhnya pada kunci utama.

3. Bentuk Normal III (Third Normal Form / 3-NF).

Suatu relasi memenuhi bentuk III (3-NF) jika dan hanya jika :

a. Bentuk data telah memenuhi kriteria bentuk normal kedua.


b. Atribut bukan kunci haruslah tidak memiliki ketergantungan

transitif, seluruh atribut bukan kunci pada suatu relasi hanya

memiliki ketergantungan fungsional terhadap primary key di

relasi itu saja.

2.14. Perangkat Lunak Pembangun Sistem

2.14.1. Visual Studio.NET

Microsoft Visual Studio.NET adalah salah satu bahasa

pemrograman visual berdasarkan objek yang bekerja pada

sistem operasi windows.

Visual Studi.NET selain disebut sebagai sebuah bahasa

pemrograman, disebut juga sebagai sarana (tool) untuk

menghasilkan program-program aplikasi berbasiskan windows.

Visual Studio.NET merupakan event driven programming

yang artinya program menunggu sampai adanya respon dari

pemakai yang berupa event terdeteksi, kode yang berhubungan

dengan event (prosedur event) akan dijalankan. Didalam Visual

Studio.NET semuanya sudah disediakan dalam pilihan-pilihan

yang tinggal diambil sesuai dengan kebutuhan bagi pemula dan

tingkat lanjut.

Microsoft Visual Studio.NET adalah sebuah tools

pengembangan perangkat lunak untuk membangun aplikasi asp

web, layanan xml web, aplikasi desktop, dan aplikasi mobile


yang berbasiskan OOP (Object-Oriented Programming). Dalam

pemrograman berbasiskan OOP, sebuah program dibagi menjadi

bagian-bagian kecil yang disebut dengan objek. Setiap objek

mengandung tiga hal utama yaitu : (VisualStudioIndonesia.com)

1. Properti atau Atribut

Properti adalah karakteristik atau sifat dari sebuah objek.

Misalnya property warna teks adalah hitam.

2. Metode

Metode adalah serangkaian prosedur yang dimiliki oleh

suatu objek yang akan dijalankan sesuai dengan respon

yang diberikan oleh suatu perintah atau kejadian.

Misalnya, objek tombol EXIT memiliki metode untuk keluar

dari aplikasi.

3. Event

Event adalah “kejadian” atau segala sesuatu yang dapat

dialami oleh sebuah objek.

2.14.2. MySQL

MySQL merupakan software sistem manajemen database

(Database Management Systems/DBMS) yang sangat populer


n Linux dengan menggunakan script PHP dan Perl (Sidik, 2005). Software database ini kini telah tersedia juga pada platform

No Karakteristik Deskripsi
1 Standar MySQL mendukung entry-level ANSI SQL92
ODBC level 0-2.
2 Character set MySQL secara default menggunakan ISO-8859-1
(Latin 1) character set untuk data dan
pengurutan.
3 Bahasa MySQL mendukung pemrograman aplikasi
dalam bahasa Java, C, Perl, PHP, dan sebaginya.
Pemrograman

4 Tabel besar MySQL menyimpan tiap relasi (table) pada file


terpisah di direktori basisdata. Ukuran maksimum
tabel dibatasi kemampuan sistem operasi
menangani ukuran file.
5 Kecepatan dan MySQL kira-kira tiga sampai empat kali lebih
cepat dibanding basisdata komersial, juga mudah
kemudahan
dikelola.
pemakaian

6 MySQL MySQL adalah open-source relational DBMS

Sumber : Hariyanto, 2004

2.14.3. Crystal Report

Crystal Reports adalah piranti standar untuk pembuatan

laporan pada sistem operasi Windows, dimana cetakan/templete


laporan yang dihasilkan dapat disertakan pada banyak bahasa

pemrograman, untuk memudahkan crystal report disingkat CR.

Crystal Report merupakan program khusus untuk

membuat laporan yang terpisah dengan program Microsoft Visual

Studio 2010, tetapi keduanya dapat dihubungkan (linkage). Hasil

cetak menggunakan Crystal Report lebih baik dan lebih mudah,

karena pada crystal report banyak tersedia objek maupun

komponen yang mudah digunakan.

2.15. Pengujian Black-Box

Pengujian black-box berfokus pada persyaratan fungsional

perangkat lunak. Pengujian black-box memungkinkan perekayasa

perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya

menggunakan semua persyaratan fungsional untuk satu program.

Pengujian black-box berusaha menemukan kesalahan dalam kategori

sebagai berikut, (Ladjamudin, 2005) :

1. Fungsi-fungsi yang tidak benar atau hilang.

2. Kesalahan interface.

3. Kesalahan dalam struktur data atau akses database eksternal.

4. Kesalahan kinerja.

5. Inisialisasi dan kesalahan terminasi.


2.16. Literatur Sejenis

Dalam mengembangkan sistem penjadwalan kegiatan ini peneliti

mendapatkan literatur sejenis yaitu Analisa dan Perancangan Sistem

Informasi Penjadwalan Kuliah pada STIE Muhammadiyah Pekalongan

oleh Khusna Maria, Nim : 0612530 Sekolah Tinggi Manajemen

Informatika dan Komputer, Fakultas Sistem Informasi)

Salah satu bagian di bidang akademik yang sangat penting adalah

jadwal kuliah. Semua kegiatan perkuliahan sangat bergantung padanya.

Apabila ada kesalahan sedikit saja pada pembuatan jadwal kuliah, maka

seluruh kegiatan perkuliahan akan terganggu bahkan dapat berhenti.

Keterlambatan pembuatan jadwal kuliah akan berakibat fatal pada

kegiatan perkuliahan. Bukan hanya mahasiswa yang dirugikan, tetapi

dosen juga akan menerima dampaknya. Oleh karena itu pembuatan

jadwal kuliah yang cepat dan tepat sangat diperlukan untuk mendukung

proses perkuliahan.

Sebuah sistem terkomputerisasi yang dapat membantu dalam

pembuatan jadwal kuliah sangat diperlukan dalam kaitannya untuk

melancarkan proses perkuliahan. Sistem ini diharapkan dapat mengatur

dimana dan kapan seorang dosen akan mengajar mata kuliah apa kepada

mahasiswanya. Sistem sekarang masih berjalan secara manual. Satu

bulan sebelum kegiatan perkuliahan dimulai, Pembantu Ketua dan Ketua

Prodi melakukan pembuatan jadwal kuliah semester depan. Pada sistem


saat ini yang masih berjalan tidak terdapat masalah tetapi dengan

mengikuti perkembangan teknologi sekarang ini penulis mendapatkan

sebuah peluang untuk membangun sebuah sistem penjadwalan kuliah

yang terkomputerisasi.

Penjadwalan kuliah dalam suatu kampus adalah hal yang rumit.

Permasalahan ini sering disebut dengan University Timetabling Problems

(UTP) ini. selain dilihat dari sisi mahasiswa, juga harus dilihat dari sisi

dosen, yaitu kemungkinan-kemungkinan dosen akan mampu lebih dari

satu mata kuliah yang ada, sebab ada kemungkinan jumlah mata kuliah

dan dosen tidak sebanding, sehingga harus dipikirkan solusi agar dosen

tidak mempunyai dua mata kuliah berbeda pada hari dan jam yang sama.
BAB III

METODOLOGI PEN

Metode Pengumpulan Data 3.1

Pada metode pengumpulan data ini penulis melakukan studi lapangan dan studi literatur sebagai
Studi Lapangan

Pada metode studi lapangan ini terdapat 3 cara yaitu :

Observasi (Pengamatan)
Observasi adalah metode pengumpulan data dimana peneliti mencatat informasi sebagaimana ya

dengan bertindak sebagai peng

hanya menjadi pengamat tanpa partisipasi dengan yang diamati

(Gulo, 2002). Pengamatan dilakukan dengan melakukan

peninjauan langsung di Kementerian Agama terutama bidang

kehumasan.

Dalam hal ini yang penulis amati adalah :

1. Sistem berjalan dari bidang Humas.

2. Bagaimana proses awal penjadwalan sampai dengan

laporan penjadwalan.
Pelaksanaan pengamatan penelitian sebag
Waktu pelaksanaan adalah dilaksanakan s
b). Tempat

Tempat yang menjadi obyek penelitian ad

Nama : Kementrian Agam

Alamat : Jl. Lapangan Bante

Jakarta Pusat, Telp

2. Wawancara
Pada metode ini, penulis melakukan wawancara langsung kepada Bapak Syaiful Huda selaku Sta

kegiatan dalam jangka waktu panjang dan penulis mendapatkan

informasi atau data-data seperti proses penjadwalan kegiatan

yang sedang berjalan, data pembicara, data kegiatan dan data

ruang.

3. Kuesioner

Kuesioner dilakukan sebelum dan setelah penelitian pada

bidang Humas Kementrian Agama RI Jakarta. Kuesioner

dilakukan dengan menyebarkan kuesioner kepada 5 pegawai

atau staff bidang kehumasan Kementerian Agama RI. Setiap

butir pertanyaan dalam kuisioner merupakan pertanyaan yang


se
dil

3.1.2. Studi Literatur


Pada tahap ini didapat literature atau penelitian sejenis dengan judul “Analisa dan Perancangan S

menggunakan model Rapid Application Development (RAD). Penulis

memilih model RAD karena tahap-tahapnya sangat terstruktur,

pengembangan perangkat lunak dapat dilakukan dalam waktu yang cepat

dan alasan utama penggunaan model pengembangan RAD adalah

pengembangan ini akan bekerja dengan baik bila diterapkan pada aplikasi

yang berskala kecil.

RAD memiliki 3 Tahap dalam pengembangan sistem sebagai berikut

(Kendal & Kendal, 2006) :


3.2.1. Fase Perencanaan Syarat-syarat

Dalam fase ini penulis akan menjabarkan fase proses

perencanaan syarat-syarat, yaitu mengidentifikasi tujuan-tujuan

serta akan mengidentifikasi syarat-syarat dari tujuan tersebut.

3.2.2. Workshop Design

Fase ini adalah fase untuk merancang dan memperbaiki yang

dapat digambarkan sebagai workshop. Dalam fase ini penulis akan

merancang sistem penjadwalan kegiatan pada Humas Depag RI

sebagai solusi untuk pengembangan dari sistem yang berjalan

berdasarkan dari analisa yang dilakukan sebelumnya.

Pada perancangan proses ditujukan untuk menentukan urutan

kejadian, sehingga dihasilkan keluaran dan masukan yang

diharapkan, meliputi :

a. Proses masukan, proses ini merupakan pemasukan data yaitu

tambah data pembicara, kegiatan, ruang, dan kesediaan

waktu pembicara.

b. Proses GAs ( Genetic Algorithms Sistem ), yaitu proses

algoritma genetika untuk melakukan otomatisasi dan

optimalisasi kesediaan pembicara, meliputi pembangkitan

populasi, evaluasi, seleksi, crossover dan mutasi.

c. Proses keluaran, proses ini merupakan bentuk-bentuk laporan

sistem dan dokumen terkait pada sistem penjadwalan

kegiatan pada Humas.


3.2.3.Fase Pelaksanaan / Implementasi
Menguji aplikasi yang yang telah dibuat dan diimplementasikan. Jika tidak sesuai dengan harap

Fase Perancangan S
Menentukan Tujuan dan Syarat-syarat Informasi

Workshop Design

Umpan balik da

Fase Perancangan

Bekerja dengan pengguna untuk sistem perancangan

Menggunakan Masuk

F
Memperkenalkan Sistem

Gambar 3.1. Siklus Pengembangan Sistem Model RAD


3.3. Kerangka Berfikir

Gambar 3.2. Kerangka Berfikir


3.4. Profil PIKMAS Kementerian Agama RI

3.4.1. Sejarah Pusat Informasi Keagamaan dan Kehumasan

Pusat Informasi Keagamaan dan Kehumasan (PIKMAS)

adalah unit kerja eselon II di lingkungan Sekretarian Jenderal

(Sekjen) Kementerian Agama yang dibentuk berdasarkan peraturan

Menteri Agama RI No.3 Tahun 2006 tentang Organisasi dan Tata

Kerja Kementrian Agama RI. PIKMAS merupakan unsur penunjang

pelaksanaan tugas Kementrian Agama yang berada dibawah dan

bertanggung jawab kepada Menteri Agama melalui Sekretaris

Jenderal (Sekjen) Kementerian Agama.

Humas Kementerian Agama merupakan bagian dari salah satu

bidang di Kementerian Agama yang bernama Pusat Informasi

Keagamaan dan Kehumasan (PIKMAS). Bagian Humas merupakan

keharusan fungsional dalam rangka melaksanakan urusan dan

koordinasi serta penyusunan bahan pembinaan hubungan kerjasama

antara Departemen dengan masyarakat. Lembaga Swadaya

Masyarakat (LSM), dan Lembaga Negara (LN), juga penyusunan

bahan penerangan dan publikasi. (Depag, 2008)


3.4.2. Struktur Organisasi

Struktur organisasi dapat diartikan sebagai pembagian tugas dan fungsi atau unit-unit yang ada
Berdasarkan Peraturan Menteri Agama RI Nomor 3 Tahun 2006 tentang organisasi dan tata ker

SEKRETARIAT JENDERAL

BIRO PERENCANAAN BIRO KEUANGAN DAN BMN


BIRO ORGANISASI DAN TATA LAKSANA
BIRO HUKUM DAN KERJASAMA LN

BIRO KEPEGAWAIAN
BIRO UMUM

PUSAT KERUKUNAN UMAT BERAGAMA


PUSAT INFORMASI KEAGAAAN DAN KEHUMASAN

Gambar 3.3. Struktur Organisasi SEKJEN Kementerian Agama RI


PUSAT INFORMASI KEAGAMAAN DAN KEHUMASAN

SUBBAG TATA USAHA

BIDANG KEHUMASAN BIDANG PENGEMBANGAN


BIDANG
& ANALISA
PENYELENGGARAA N SISTEM JARINGAN DAN APLIKASI
DATA KEAGAMAAN

SUBBID HUBUNGAN LEMBAGA RESMI DAN MEDIA MASSA


SUBBID MANAJEMEN JARINGAN
SUBBID STANDARDISASI DAN KOMUNIKASI DATA

SUBBID PENERANGAN MASYARAKAT


SUBBID PENYELENGGARAAN WEBSITE

SUBBID
ANALISA

Gambar 3.4. Struktur Organisasi PIKMAS Kementerian Agama RI

3.4.3. Uraian Tugas dan Fungsi

1. Pusat Informasi Keagamaan dan Kehumasan

Tugas :

a. Menyelenggarakan pelayanan dan pembinaan informasi keagamaan

dan kehumasan berdasarkan kebijakan Sekretaris Jenderal.

b. pembinaan sistem informasi keagamaan dan kehumasan.


c. Perencanaan, pembinaan dan pengembangan sistem dan jaringan

serta penyelenggaraan informasi keagamaan.

d. Pembinaan dan pengembangan serta pengolahan dan penyajian

data keagamaan;

e. Pelayanan kehumasan, penyampaian informasi keagamaan kepada

masyarakat;

f. Pelaksanaan pelayanan tata usaha dan rumah tangga pusat

g. Pelaksanaan tugas lain yang diberikan oleh Sekretaris Jenderal.

2. Bidang Kehumasan

Fungsi :

a. Pembinaan hubungan antar departemen dan lembaga negara

b. Pengumpulan, pengolahan dan penyusunan bahan kebijakan dan

pelaksanaan kegiatan departemen untuk informasi kepada

masyarakat.

c. Pembinaan hubungan kerjasama media massa dan pembinaan

jabatan pranata kehumasan.

Tugas :

a. Melaksanakan pembinaan dan pelaksanaan hubungan antara

lembaga resmi, penerangan masyarakat, dan kerjasama media

massa serta pembinaan jebatan fungsional pranata kehumasan

berdasarkan sasaran, program dan kegiatan yang ditetapkan oleh

Kepala Pusat.
Bidang Kehumasan terdiri dari :

1. Subbidang Hubungan Lembaga Resmi dan Media Massa

Tugas : melakukan penyiapan bahan dan pelaksanaan pembinaan

hubungan kerjasama antar departemen, lembaga negara dan media

massa.

2. Subbidang Penerangan Masyarakat

Tugas : melakukan penyiapan bahan dan kodifikasi kebijakan dan

kegiatan untuk informasi kepada masyarakat serta pembinaan

pranata kehumasan.

3. Bidang pengembangan dan Analisis Data Keagamaan

Tugas :

Melaksanakan perencanaan, pembinaan dan pengembangan sistem

dan analisa data keagamaan berdasarkan sasaran, program dan

kegiatan yang ditetapkan oleh kepala pusat.

Fungsi :

a. Pelaksana standarisasi dan komunikasi data;

b. Penganalisaan data keagamaan;

c. Pembinaan ketenagaan dan penilaian jabatan fungsional pranata

komputer dan statistisi;

d. Perencanaan, pengelolaan dan pengembangan website.


4. Bidang Pengembangan dan Analisa Data Keagamaan terdiri dari :

1. Subbidang Standarisasi dan Komunikasi Data

Tugas : melakukan penyiapan bahan dan pelaksanaan penyusunan

standarisasi instrumen, kodifikasi dan komunikasi serta penyiapan

bahan perencanaan data serta pengintegrasikan dan pengembangan

database.

2. Subbidang Analisa Data

Tugas : melakukan penyiapan bahan dan pelaksanaan pengolahan,

penyimpanan, dan penganalisaan serta penyajian data dan

informasi keagamaan.

5. Bidang Penyelengaraan Sistem Jaringan dan Aplikasi

Tugas :

a. Melaksanakan pembinaan, pengembangan dan pengelolaan sistem

informasi keagamaan dan jaringan komunikasi data serta

penyelenggaraan website berdasarkan sasaran, program dan

kegiatan yang ditetapkan oleh Kepala Pusat.

Fungsi :

a. Pengembangan aplikasi penyelenggaraan telematika

b. Perencanaan, pembinaan dan koordinasi bidang pengembangan

jaringan informasi, layanan informasi dan website;

c. Pelaksaan pemeliharaan dan pengembangan manajemen sistem

jaringan informasi dan komunikasi;

d. Perencanaan, pengelolaan dan pengembangan website.


6. Bidang Penyelenggaraan Sistem Jaringan dan Aplikasi terdiri dari :

1. Subbidang Manajemen Jaringan

Tugas : melakukan penyiapan bahan dan pelaksanaan perencanaan,

pengelolaan dan pengembangan sistem jaringan.

2. Subbidang Penyelenggaraan Website

Tugas : melakukan penyiapan bahan dan pelaksanaan perencanaan,

pengelolaan dan pengembangan sarana dan prasarana jaringan

informasi dan sistem komunikasi serta pembinaan, website dan

jabatan fungsional pranata komputer.

7. Subbagian Tata Usaha

Tugas : Melakukan pelayanan penyelenggaraan tata usaha dan rumah

tangga pusat.
BAB

ANALISA DAN

Fase Perencanaan Syarat-syarat

Sebagaimana telah diuraikan pada bab sebelumnya, fase ini adalah fase identifikasi tujuan, syarat
Tujuan Sistem

Sistem ini bertujuan untuk membantu pihak Humas Depag RI untuk menentukan jadwal kegiatan
Syarat-syarat Informasi

Pengembangan sistem penjadwalan kegiatan ini harus

memenuhi syarat-syarat yang meliputi kelengkapan data, software

dan hardware. Kelengkapan data yang digunakan untuk

pengembangan sistem penjadwalan kegiatan tersebut adalah :

1. Data Pembicara

2. Data Kegiatan

3. Data Ruang

4. Data Shift
Sedangkan kelengkapan software dan hardware yang digunakan untuk pengembangan sistem p
Software

Windows XP

Microsoft Visual Studio.NET

MySQL

SAP Crystal Report

Hardware

Prosesor setara pentium III keatas

Memory minimal 128MB

Monitor dengan resolusi 1024 x 768

Keybord dan Mouse

e. Printer

4.1.3. Analisa Kebutuhan Sistem

Proses pembuatan jadwal kegiatan pada Humas Departemen

Agama RI selama ini masih secara manual menggunakan Microsoft

Excel. Banyaknya jumlah pembicara, kegiatan-kegiatan dan ruang

merupakan hal yang penting dan berpengaruh dalam pembuatan

jadwal kegiatan. Sehingga jika masalah ini dilakukan secara manual,

maka membutuhkan waktu yang cukup banyak serta membutuhkan

tingkat ketelitian yang tinggi.


4.1.4. Sistem Penjadwalan yang Berjalan

Dalam mengatur penjadwalan kegiatan, bidang Humas

Kementerian Agama memiliki beberapa prosedur yang berlaku,

antara lain :

1. Proses pembuatan jadwal kegiatan mengenai penetapan waktu,

kegiatan-kegiatan, penempatan ruangan/tempat dilakukan oleh

staf bidang Humas, sedangkan kesiapan menjadi pembicara

dilakukan oleh Sub bagian Tata Usaha.

2. Data yang digunakan adalah nama pembicara, nama kegiatan,

waktu kesediaan pembicara, jumlah ruangan yang tersedia.

Dalam penulisan tugas akhir ini, penulis hanya akan

menganalisa sistem penjadwalan yang ada di bidang Humas. Ada

beberapa pihak yang terlibat dalam proses pembuatan dan

penyusunan penjadwalan ini yaitu staf bidang Humas, dan Kepala

Bidang Kehumasan.

Tahapan-tahapan dalam membuat penjadwalan kegiatan adalah :

1. Staf humas mendata semua kegiatan dan menentukan waktu

kegiatan, serta mendata jumlah ruangan/tempat yang akan

digunakan.

2. Data yang telah diolah di staf Humas diserahkan kepada Kepala

Bidang Humas, untuk memberikan persetujuan semua kegiatan

yang akan dilaksanakan serta membuat laporan jadwal kegiatan

dengan menggunakan Microsoft Excel.


3. Subbag tata usaha PIKMAS menerima laporan jadwal kegiatan

dan mencocokkan kesediaan waktu pembicara satu dengan

pembicara yang lain.

4. Setelah itu, Penjadwalan kegiatan di cetak untuk disimpan

sebagai dokumentasi humas. Penjadwalan kegiatan yang telah di

cetak ini diterapkan selama periode tahunan.

Tabel 4.1. Flowchart sistem penjadwalan yang berjalan


4.1.5. Alternatif Penyelesaian Masalah

Dengan melihat permasalahan yang ada, maka berikut ini adalah

usulan solusi atas masalah yang dihadapi :

Pengembangan Sistem Informasi Penjadwalan Kegiatan dengan

Metode Algoritma Genetika.

Pembuatan aplikasi ini memberikan keuntungan sebagai berikut :

1. Staf bidang Humas menjadi lebih mudah untuk membuat jadwal

kegiatan dengan menggunakan menu-menu yang terdapat dalam

software aplikasi.

2. Terdapat database untuk sistem yang baru, sehingga data – data

yang dibutuhkan untuk penjadwalan kegiatan menjadi lebih

terstruktur.

3. Meningkatkan efektifitas dengan cara mengurangi kesalahan

manusia (human error).

4.1.6. Sistem Penjadwalan Yang Diusulkan

Pada Sistem yang akan diusulkan terdapat 3 pengguna sistem,

yaitu: user ka_bid yang memiliki akses pada sistem ini hanya untuk

melihat laporan-laporan data pembicara, data kegiatan, dan jadwal

kegiatan. Yang kedua ialah admin sebagai administrator untuk

mengelola semua data. Yang ketiga adalah user staf humas yang

memiliki hak akses untuk sistem ini antara lain untuk menginput
data-data pembicara, data kegiatan, data ruang dan menginput data jadwal yang telah ditentuk
Tabel 4.2. Flowchart sistem penjadwalan yang diusulkan

4.1.7. Perbandingan Sistem

Dalam tahap ini, penulis melakukan analisa untuk

mendapatkan perbandingan pada sistem yang berjalan, sistem dari

literature sejenis, dan sistem yang diusulkan.


Tabel 4.3. Perbandingan Sistem

NO Sistem berjalan Literature sejenis Sistem usulan


1. Penyimpanan data Penuyimpanan Penyimpanan data menggunakan
menggunkan data basis data MySQL
Microsoft Excell menggunakan
Microsoft Access
2. Tidak adanya Analisa sistem Sistem penjadwalan
analisa mengenai dilanjutkan menggunakan metode algoritma
pelaporan data hingga sampai genetika untuk mencari solusi
pembicara, kegiatan, proses pembuatan yang lebih optimal
ruang, maupun data jadwal
jadwal kegiatan.
3. Pembuatan jadwal Adanya sistem Sistem aplikasi yang diusulkan
masih manual penjadwalan yang dapat lebih baik dari sebelumnya
dapat membantu karena menggunakan program
dalam pembuatan terbaru, dan tampilannya lebih
jadwal menarik.

4.2. Workshop Design / Fase Perancangan

Dalam fase ini, penulis secara aktif berinteraksi dengan pengguna

untuk menggunakan prototype sistem.

4.2.1. Desain Sistem Algoritma Genetika

Adapun desain sistem algoritma genetika yang digunakan

adalah menentukan teknik penyandian, melakukan fungsi fitness,

menentukan prosedur inisialisasi, pembangkitkan populasi awal,

evaluasi, kriteria optimasi tercapai, seleksi, melakukan penyilangan

(crossover), mutasi, dan menentukan generasi terakhir.


4.2.1.1. Tekni
Kromosom / i

a.Variabel Pembicara
Variable pembicara (Gen1) merupakan Id pembicara yang diambil dari data pembicara pada Ke

b. Variabel Kegiatan

Variabel kegiatan (Gen2) merupakan Id kegiatan yang

diambil dari data kegiatan pada bagian Humas Kementerian

Agama RI. Variabel ini di sandikan / disimbolkan dengan

Character yang direpresentasikan dalam struktur tabel

kegiatan pada database.

c. Variabel Hari
aktu kesediaan dari kegiatan-kegiatan pada Kehumasan Kementerian Agama RI. Variabel ini disandikan / disimbolkan denga

Pembicara
Id_Pembicara Nama_Pembicara Gelar Jabatan Biro Bidang
PM01 Suryadharma Ali Drs. H. Menag Menteri -
Agama
PM02 Masyuri AM Drs. H. Kabiro PIKMAS -
M.Pd
PM03 Afrizal Zein Drs. H. Kabag PIKMAS kehumasan
M.Si
PM04 Suparmin Drs. H. Kabag PIKMAS Pengembangan
M.Pd dan analisa
keagamaaan
PM05 Ferimeldi Pi.d Kabag PIKMAS Penyelenggaraan
SIS,Jar dan
aplikasi

b. Variabel Kegiatan : Gen 2

Kegiatan
Id_Kegiatan Nama_ Kegiatan Uraian _Kegiatan
K100 Rapat Koordinasi Antar Lembaga
pemerintahan
K200 Orientasi & Evaluasi Pembekalan MCH
K300 Rapat Kerja Komisi DPR RI
K400 Monitoring Kunjungan kerja
Kehumasan Antar daerah
K500 Workshop Pameran Keagamaan

c. Variabel Hari (kesediaan pembicara): Gen 3


Kesediaan
Id_Pembicara Id_Kegiatan Senin Selasa Rabu Kamis Jumat Kesediaan
PM01 K300 1 1 0 0 0 11000
PM02 K100 1 1 1 0 0 11100
PM03 K500 0 0 1 1 1 00110
PM04 K400 0 0 1 0 0 00100
PM05 K200 0 1 1 0 0 01100

Maka dari ketiga variabel (gen) diatas digabung

menjadi sebuah kromosom (Individu) menjadi sebagai

berikut :
Id_ Pembicara Id_Kegiatan kesediaan

PM01 K300 11000


Gen 2 Gen 3
Gen 1

Kromosom manjadi : PM01K3001100


a Ali bersedia menjadi narasumber pada minggu Ke 1 dan Ke 2.

ra dengan n kegiatan pada n ruangan yang ada. Karena itu fungsi fitness yang digunakan dapat didefinisikan sebagai kesedia

4.2.1.3.Prosedur Inisialisasi

Pada proses ini dilakukan inisialisasi kesiapan

pembicara. Sebagai contoh diberikan 5 data pembicara dan

5 kegiatan (Tabel 4.3 dan Tabel 4.4) yang akan ditempatkan

pada ruangan.

Tabel 4.4. Data Pembicara


No Id_Pembicara Nama_Pembicara
1 PM01 Suryadharma Ali
2 PM02 Masyuri AM
3 PM03 Afrizal Zein
4 PM04 Suparmin
5 PM05 Ferimeldi

Tabel 4.5. Data Kegiatan


No Id_Kegiatan Nama_Kegiatan Uraian_Kegiatan
K100 Rapat Koordinasi Antar Lembaga
1 pemerintahan

K200 Orientasi & Pembekalan


2
Evaluasi MCH
3 K300 Rapat Kerja Komisi DPR RI
K400 Monitoring Kunjungan kerja
4
Kehumasan
K500 Workshop Pameran
5
Keagamaan

Inisialisasi kedua tabel

Id_Pembicara: PM01

Nama_Pembicara : Suryadharma Ali

Id_Kegiatan : K300

Nama_Kegiatan : Rapat Kerja dengan komisi DPR RI

Minggu :1

Hari/ Senin Selasa Rabu Kamis Jumat


Shift
I . 09.10 – 10.20 1

II. 10.20 – 11.40 1


III. 13.00 – 13.50 1
IV. 13.50 – 1
14.40
V. 14,40 – 15.30

Id_Pembicara : PM02

Nama_Pembicara : Masyuri AM

Id_Kegiatan : K100

Nama_Kegiatan : Rapat Koordinasi antar lembaga


Minggu :1

Hari / Senin Selasa Rabu Kamis Jumat


Shift
I . 09.10 – 10.20 1 1

II. 10.20 – 11.40 1 1


III. 13.00 – 13.50
IV. 13.50 – 14.40
V. 14,40 – 15.30

Id_Pembicara : PM03

Nama_Pembicara : Afrizal Zein

Id_Kegiatan : K500

Nama_Kegiatan : Workshop / Pameran keagamaan

Minggu :1

Hari / Senin Selasa Rabu Kamis Jumat


Shift
I . 09.10 – 10.20

II. 10.20 – 11.40 1


III. 13.00 – 13.50 1
IV. 13.50 – 14.40 1
V. 14,40 – 15.30

Id_Pembicara : PM04

Nama_Pembicara : Suparmin

Id_Kegiatan : K400

Nama_Kegiatan : Monitoring Kehumasan

Minggu 1

Hari / Senin Selasa Rabu Kamis Jumat


Shift
I . 09.10 – 10.20

II. 10.20 – 11.40 1


III. 13.00 – 13.50 1
IV. 13.50 – 14.40 1
V. 14,40 – 15.30

Id_Pembicara : P005

Nama_Pembicara : Ferimeldi

Id_Kegiatan : K200

Nama_Kegiatan : Orientasi dan Evaluasi

Minggu :1

Hari / Senin Selasa Rabu Kamis Jumat


Shift
I . 09.10 – 10.20 1

II. 10.20 – 11.40 1


III. 13.00 – 13.50 1
IV. 13.50 – 14.40 1
V. 14,40 – 15.30

4.2.1.4. Pembangkitan Populasi Awal

Proses ini dilakukan pembangkitan populasi

(kesediaan pembicara) yang telah diinisialisasikan diatas.

Tabel 4.6. Tabel Pembangkitan Populasi (kesediaan pembicara)


Id_ Nama_ Id_ Kegiatan Minggu Hari shift
Pembicar Pembicara Kegiatan
a
PM01 Suryadharma Rapat 1 Senin 1
K300
Ali Kerja
PM01 Suryadharma Rapat 1 Selasa 2
K300
Ali Kerja
PM01 Suryadharma Rapat 1 Selasa 3
K300
Ali Kerja
PM01 Suryadharma Rapat 1 Selasa 4
K300
Ali Kerja
PM02 Mashuri AM Koordinas 1 Senin 1
K100
i
PM02 Mashuri AM Koordinas 1 Senin 2
K100
i
PM02 Mashuri AM Koordinas 1 Rabu 1
K100
i
PM02 Mashuri AM Koordinas 1 Rabu 2
K100
i
PM03 Afrizal Zein K500 Workshop 1 Jumat 3
PM03 Afrizal Zein K500 Workshop 1 Jumat 4
PM03 Afrizal Zein K500 Workshop 1 Jumat 5
Monitorin 1 Rabu 2
PM04 Suparmin K400
g
PM04 Monitorin 1 Rabu 3
Suparmin K400
g
PM04 Monitorin 1 Rabu 4
Suparmin K400
g
PM05 Ferimeldi K200 Orientasi 1 Selasa 1
PM05 Ferimeldi K200 Orientasi 1 Selasa 2
PM05 Ferimeldi K200 Orientasi 1 Rabu 3
PM05 Ferimeldi K200 Orientasi 1 Rabu 4

4.2.1.5. Evaluasi

Pada proses ini, kesediaan pembicara yang

dibangkitkan diatas dievaluasi dengan menjumlahkan

kesediaan pembicara masing-masing.

Tabel 4.7. Evaluasi Kesediaan nilai fitness


NIlai
Id_Pembicara Id_Kegiatan
Fitnes
PM01 K300 4
PM02 K100 4
PM03 K500 3
PM04 K400 3
PM05 K200 4
Kriteria Optimasi Tercapai

Di dalam algoritma genetika, sebelum masuk ke tahap seleksi, ada kriteria yang harus dipenuhi
Seleksi

Setelah evaluasi dilakukan, kesiapan pembicara akan mengalami seleksi berdasarkan minggu ya

ditetapkan. Seleksi ini bertujuan untuk menentukan

kesiapan pembicara mana yang sesuai untuk menempati

ruangan yang tersedia. Seleksi yang penulis gunakan adalah

Rank-based fitness yaitu dengan cara mengurutkan

kesediaan waktu pembicara menurut nilai objektifnya

(banyaknya waktu pembicara). Penerapan contoh diatas,

dapat dilihat pada Tabel 4.8 dibawah ini.

Tabel 4.8. Kesediaan waktu Pembicara Hasil Seleksi

Seleksi (Senin, Shift I)

Id_ Nama_ Id_ Nama_ Fitness


Pembicara Pembicara Kegiatan Kegiatan Minggu
PM01 Suryadharma K300 Rapat Kerja 1 4
Ali
PM02 Mashuri K100 Koordinasi 1 4

erhadap proses seleksi dengan melakukan penyilangan satu titik (single point crossover) untuk minggu berikutnya terhadap
1)

Id_ Id_ Minggu Lingkup


Ruang
Pembicara Kegiatan
PM01 K300 1 Internal 201
PM02 K100 1 Internal 202

Tabel 4.10. Populasi Setelah Crossover


Id_ Id_ Minggu Lingkup Hari Shift
Pembicara Kegiatan
PM01 K300 1 Eksternal Selasa 2
PM01 K300 1 Eksternal Selasa 3
PM01 K300 1 Eksternal Selasa 4
PM02 K100 1 Eksternal Senin 1
PM02 K100 1 Eksternal Senin 2
PM02 K100 1 Eksternal Rabu 1
PM02 K100 1 Internal Rabu 2
PM03 K500 1 Internal Jumat 3
PM03 K500 1 Internal Jumat 4
PM03 K500 1 Internal Jumat 5
PM04 K400 1 Eksternal Rabu 2
PM04 K400 1 Eksternal Rabu 3
PM04 K400 1 Eksternal Rabu 2
PM05 K200 1 Internal Selasa 1
PM05 K200 1 Internal Selasa 2
PM05 K200 1 Internal Rabu 3
PM05 K200 1 Internal Rabu 4

m mendapatkan ruang. Proses evaluasi, seleksi, rekombinasi, dan mutasi ini akan dilakukan berulang-ulang selama jumlah w

4.2.1.10. Jadwal Kegiatan (Generasi Terakhir)

Dari 5 pembicara dan 5 kegiatan yang dijadikan

sebagai contoh dan diproses berdasarkan langkah

algoritma genetika maka dihasilkan Jadwal kegiatan

sederhana untuk lingkup eksternal dan internal dengan

ruang yang tersedia. Jadwal kegiatan tersebut dapat dilihat

pada Tabel 4.11.


Tabel 4.11. Jadwal Kegiatan (Generasi Terakhir)

Id_ Nama_ Id_ Nama_ Minggu Lingkup Hari Shift Ruang


Kegiatan
Pembicara pembicara Kegiatan
P001 Suryadharma 1 Internal Senin 1 201
Ali K300 Rapat Kerja
P001 Suryadharma 1 Internal Selasa 2 201
K300 Rapat Kerja
Ali
P001 Suryadharma 1 Internal Selasa 3 201
K300 Rapat Kerja
Ali
P001 Suryadharma 1 Internal Selasa 4 201
K300 Rapat Kerja
Ali
P002 Mashuri AM K100 Koordinasi 1 Internal Senin 1 202
P002 Mashuri AM K100 Koordinasi 1 Internal Senin 2 202
P002 Mashuri AM K100 Koordinasi 1 Internal Rabu 1 202
P002 Mashuri AM K100 Koordinasi 1 Internal Rabu 2 202
P003 Afrizal Zein K500 Workshop 1 Eksternal Jumat 3 GL150
P003 Afrizal Zein K500 Workshop 1 Eksternal Jumat 4 GL150
P003 Afrizal Zein K500 Workshop 1 Eksternal Jumat 5 GL150
P004 Suparmin K400 Kunjungan 1 Internal Rabu 2 201
P004 Suparmin K400 Kunjungan 1 Internal Rabu 3 201
P004 Suparmin K400 Kunjungan 1 Internal Rabu 4 201
P005 Ferimeldi K200 Orientasi 1 Internal Selasa 1 202
P005 Ferimeldi K200 Orientasi 1 Internal Selasa 2 202
P005 Ferimeldi K200 Orientasi 1 Internal Rabu 3 202
P005 Ferimeldi K200 Orientasi 1 Internal Rabu 4 202

4.2.2. Data Flow Diagram (DFD)


Gambar 4.1. Diagram konteks sistem informasi penjadwalan kegiatan

Diagram Konteks adalah diagram yang terdiri dari suatu proses dan

menggambarkan ruang lingkup suatu sistem. Dalam diagram konteks ini

terdapat 1 proses yakni sistem penjadwalan kegiatan, dan memiliki 2 entitas

luar yakni user dan kepala bagian, selain itu ada input dari admin yakni

login_user, form_pembicara, form_kegiatan, form_ruang, form_shift,

form_kesediaan, form nilai_fitness, seleksi_jadwal dan 12 keluaran dari user

yakni data_user, data_pembicara, data_kegiatan, data_ruang, data_shift,

data_kesediaan, data_nilai_fitness, data_jadwal_valid, lap_kesediaan,

lap_jadwal.
Gambar 4.2. Diagram Overview sistem informasi penjadwalan kegiatan
Gambar 4.3. Diagram 1 level 1 Proses Mengolah Data Master

Gambar 4.4. Diagram 2 Level 1 Proses Mengolah Kesediaan


Gambar 4.5. Diagram 3 Level 1 Proses Tentukan Nilai Fitness

Gambar 4.6. Diagram 4 Level 1 Proses seleksi jadwal


ADMIN
Data kesediaa 5.1. KEPALA
Laporan Laporan kesediaan— BIDANG
Kesediaan HUMAS

Kesediaan

Data Pembicara
5.2
Laporan Pembicara
pembicara

Lap Pembicara

Data Kegiatan
5.3 Kegiatan
Laporan
kegiatan
Lap Kegiatan

Data R uang
5.4 Ruang
^ Laporan Ruang
Lap Ruang

Data_Shift
5.5 Shift
” Laporan Hari
Lap Shift

Data Jadwal 5.6 “ Jadwal


Laporan Jadwal
Lap Jadwal

Gambar 4.7. Diagram S Level 1 Proses Cetak Laporan

1 WSername Pass
ADMIN **”**”" * L! data Bi da n g
ha
User Humas

User

1.1.2. P
Input/ed
it Data
user

1.1.3. P
Simpan data
User
Gambar 4.8. Diagram 1 Level 2 rincian Proses 1.1 Pengelolaan

Login

Gambar 4.9. Diagram 1 Level 2 Proses 1.2 Pengelolaan Data

Pembicara

Gambar 4.10. Diagram 1 Level 2 Proses 1.3 Pengelolaan Data

Kegiatan
Gambar 4.11. Diagram 1 Level 2 Proses 1.4 Pengelolaan Data Ruang

Gambar 4.12. Diagram 1 Level 2 Proses 1.5 Pengelolaan Data Shift

Gambar 4.13. Diagram 1 Level 2 Proses 1.6 Pengelolaan Data Biro


Gambar 4.14. Diagram 1 Level 2 Proses 1.7 Pengelolaan Data Bidang

Gambar 4.15. Diagram 1 Level 2 Proses 1.8 Pengelolaan Data

Gedung

4.2.2.1. Spesifikasi Proses Diagram Overview

a. Proses 1.0.

Nama Proses : mengolah data master


Masukkan
: form user, form pembicara, form kegiatan,
form ruang, form shift, form biro, form bidang

Keluaran: data user, data pembicara, data kegiatan,


data ruang, data shift, data biro, data bidang

Uraian Proses : admin mengolah data master dengan cara mengisi form user, form pembicara,
form bidang, form gedung.

b. Proses 2.0.

Nama Proses : mengolah kesediaan

Masukkan : form kesediaan, data pembicara, data kegiatan,

data shift.

Keluaran : data kesediaan.

Uraian Proses : admin/user mengolah data kesediaan

dengan cara mengisi form kesediaan, data

pembicara, data kegiatan, data shift..

c. Proses 3.0.

Nama Proses : tentukan nilai fitness


Masukkan : form nilai fitness, data kesedia

Keluaran : nilai fitness

Uraian Proses : admin/user menentukan nilai fitness dengan menjumlahkan total kesediaan da
d. Proses 4.0.

Nama Proses: seleksi jadwal

Masukkan : form seleksi jadwal, data kese

ruang

Keluaran : data jadwal

Uraian Proses: proses penyeleksian jadwal y

menentukan ruang yang tersedia dengan

data kesediaan yang telah diinput

sebelumnya.

e. Proses 5.0.

Nama Proses : cetak laporan

Masukkan : data kesediaan, data jadwal,

Keluaran : laporan kesediaan, laporan jadwal.

Uraian Proses : proses pembuatan laporan yang telah

diselesaikan oleh admin/user yang diambil

dari database pembicara, kegiatan,


kesediaan, jadwal yang akan diberikan

kepada Kepala Bagian.

Spesifikasi Proses Diagram rinci level 1

Proses 1.1.

Nama Proses: pengelolaan data user

Masukkan : username, password

Keluaran :-

Uraian Proses: proses mengelola data user dengan cara

mengisi form user oleh admin/user.

b. Proses 1.2.

Nama Proses : pengelolaan data pembicara

Masukkan : form pembicara, data biro, data bidang

Keluaran : data pembicara

Uraian Proses : admin/user mengelola data pembicara

dengan cara mengisi form pembicara.

c. Proses 1.3.

Nama Proses : pengelolaan data kegiatan

Masukkan : form kegiatan

Keluaran : data kegiatan


Uraian Proses:admin/usermengeloladatakegiatan dengan cara mengisi form kegiatan.
d. Proses 1.4.

Nama Proses: pengelolaan data ruang

Masukkan : form ruang, data gedung

Keluaran : data ruang

Uraian Proses: admin/user mengelola data ruang dengan cara mengisi form ruang.
e. Proses 1.5.

Nama Proses: pengelolaan data shift

Masukkan : form shift

Keluaran : data shift

Uraian Proses : admin/user mengelola data shift dengan

cara mengisi form shift.

f. Proses 1.6.

Nama Proses : pengelolaan data biro

Masukkan : form biro

Keluaran : data biro

Uraian Proses : admin/user mengelola data biro dengan

cara mengisi form biro.

g. Proses 1.7.

Nama Proses : pengelolaan data bidang


Masukkan : form bidang

Keluaran : data bidang

Uraian Proses: admin/user mengelola data bidang dengan cara mengisi form bidang.
h. Proses 1.8.

Nama Proses: pengelolaan data gedung

Masukkan : form gedung

Keluaran : data gedung

Uraian Proses: admin/user mengelola data gedung dengan

cara mengisi form gedung

i.Proses 2.1.P

Nama Proses : ambil data

Masukkan : ambil data, data pembicara, data kegiatan,

data shift

Keluaran : data pembicara, data kegiatan, data shift

Uraian Proses : proses pengambilan data, data pembicara,

data kegiatan, data shift oleh admin/user.

j. Proses 2.2.P

Nama Proses : tentukan kesediaan

Masukkan : form kesediaan, data pembicara, data

kegiatan, data shift


Keluaran : form valid

Uraian Proses: proses menentukan kesediaan dengan cara mengisi form kesediaan.
k. Proses 2.3.P

Nama Proses: simpan data

Masukkan : form valid

Keluaran : data kesediaan

Uraian Proses: admin/user menyimpan data kesediaan

kedalam database kesediaan.

l.Proses 3.1.P

Nama Proses : hitung nilai fitness

Masukkan : form nilai fitness, noid kesediaan

Keluaran : form valid

Uraian Proses : admin/user menghitung jumlah nilai

fitness yang diambil banyaknya kesediaan

dari database kesediaan.

m. Proses 3.2.P

Nama Proses : simpan data

Masukkan : form valid

Keluaran : data nilai fitness.


Uraian Proses: admin/user menyimpan data nilai fitness kedalam database nilai fitness.
n. Proses 4.1.P

Nama Proses: Ambil data

Masukkan : form seleksi jadwal, data kesediaan, data

ruang

Keluaran : data kesediaan, data ruang

Uraian Proses: proses pengambilan data pada database

data kesediaan, data ruang oleh admin/user.

o. Proses 4.2.P

Nama Proses : penentuan ruang

Masukkan : data kesediaan, data ruang

Keluaran : form valid

Uraian Proses : proses menentukan ruang.

p. Proses 4.3.P

Nama Proses : simpan data

Masukkan : form valid

Keluaran : data jadwal

Uraian Proses : admin/user menyimpan data jadwal

kedalam database jadwal.


q. Proses 5.1.P

Nama Proses: laporan kesediaan

Masukkan : data kesediaan

Keluaran : laporan kesediaan

Uraian Proses : proses pembuatan laporan kesediaan oleh admin/user yang akan dberikan pad
r. Proses 5.2.P

Nama Proses: laporan pembicara

Masukkan : data pembicara

Keluaran : laporan pembicara

Uraian Proses: proses pembuatan laporan pembicara oleh

admin/useryangakandiberikanpada

Kepala Bidang.

s. Proses 5.3.P

Nama Proses : laporan kegiatan

Masukkan : data kegiatan

Keluaran : laporan kegiatan

Uraian Proses : proses pembuatan laporan kegiatan oleh

admin/user yang akan diberikan pada

Kepala Bidang.

t. Proses 5.4.P

Nama Proses : laporan ruang


Masukkan : data ruang

Keluaran : laporan ruang

Uraian Proses : proses pembuatan laporan ruang oleh admin/user yang akan diberikan pada Ke
u. Proses 5.5.P

Nama Proses: laporan hari/shift

Masukkan : data shift

Keluaran : laporan hari

Uraian Proses : proses pembuatan laporan jadwal oleh admin/user yang akan diberikan pada Ke
v. Proses 5.6.P

Nama Proses : laporan jadwal

Masukkan : data jadwal, data pembicara, data kegiatan,

Data ruang, data shift

Keluaran : laporan jadwal

Uraian Proses : proses pembuatan laporan jadwal oleh

admin/user yang akan diberikan pada

Kepala Bidang.

4.2.2.3. Spesifikasi Proses Diagram rinci level 2

a. Proses 1.1.1.P
Nama Proses: lihat data user

Masukkan : lihat data user

Keluaran : data user

Uraian Proses: admin/user melihat data user.

b.Proses 1.1.2.P

Nama Proses: input/edit data user

Masukkan : form user

Keluaran : form valid

Uraian Proses : admin mengisi form user untuk menambah user sedangkan user hanya bisa m
c. Proses 1.1.3.P

Nama Proses: simpan data user

Masukkan : form valid

Keluaran : data user

Uraian Proses : admin/user menyimpan data user kedalam

database user.

d. Proses 1.2.1.P

Nama Proses : lihat data pembicara

Masukkan : lihat data pembicara

Keluaran : data pembicara

Uraian Proses : admin/user melihat data pembicara.

e. Proses 1.2.2.P
Nama Proses: input/edit pembicara

Masukkan : form pembicara

Keluaran : form valid

Uraian Proses: admin/user menginput dan mengedit form

pembicara.

f.Proses 1.2.3.P

Nama Proses: simpan data pembicara

Masukkan : form valid

Keluaran : data pembicara

Uraian Proses: admin/user menyimpan data pembicara

kedalam database pembicara.

g. Proses 1.2.4.P

Nama Proses : hapus pembicara

Masukkan : id pembicara

Keluaran : data pembicara

Uraian Proses : admin/user menghapus id pembicara dari

database pembicara.

h. Proses 1.3.1.P

Nama Proses : lihat data kegiatan

Masukkan : lihat data kegiatan


Keluaran : data kegiatan

Uraian Proses: admin/user melihat data kegiatan.

i.Proses 1.3.2.P

Nama Proses: input/edit kegiatan

Masukkan : form kegiatan

Keluaran : form valid

Uraian Proses: admin/user menginput dan mengedit form kegiatan .


j.Proses 1.3.3.P

Nama Proses: simpan data kegiatan

Masukkan : form valid

Keluaran : data kegiatan

Uraian Proses: admin/user menyimpan data kegiatan

kedalam database kegiatan.

k. Proses 1.3.4.P

Nama Proses : hapus kegiatan

Masukkan : id kegiatan

Keluaran : data kegiatan

Uraian Proses : admin/user menghapus id kegiatan dari

database kegiatan.

l. Proses 1.4.1.P

Nama Proses : lihat data ruang

Masukkan : lihat data ruang


Keluaran : data ruang

Uraian Proses: admin/user melihat data ruang.

m. Proses 1.4.2.P

Nama Proses: input/edit ruang

Masukkan : form ruang

Keluaran : form valid

Uraian Proses: admin/user menginput dan mengedit form ruang.


n.Proses 1.4.3.P

Nama Proses: simpan data ruang

Masukkan : form valid

Keluaran : data ruang

Uraian Proses:admin/usermenyimpandataruang

kedalam database ruang.

o. Proses 1.4.4.P

Nama Proses : hapus ruang

Masukkan : id ruang

Keluaran : data ruang

Uraian Proses : admin/user menghapus id ruang dari

database ruang.

p. Proses 1.5.1.P

Nama Proses : lihat data shift

Masukkan : lihat data shift


Keluaran : data shift

Uraian Proses: admin/user melihat data shift.

q. Proses 1.5.2.P

Nama Proses: input/edit shift

Masukkan : form shift

Keluaran : form valid

Uraian Proses: admin/user menginput dan mengedit form shift.


r.Proses 1.5.3.P

Nama Proses: simpan data shift

Masukkan : form valid

Keluaran : data shift

Uraian Proses: admin/user menyimpan data shift dari

database shift.

s. Proses 1.5.3.P

Nama Proses : hapus shift

Masukkan : id shift

Keluaran : data shift

Uraian Proses : admin/user menghapus id shift dari

database shift.

t. Proses 1.6.1.P

Nama Proses : lihat data biro

Masukkan : lihat data biro


Keluaran : data biro

Uraian Proses: admin/user melihat data biro.

u. Proses 1.6.2.P

Nama Proses: input/edit biro

Masukkan : form biro

Keluaran : form valid

Uraian Proses: admin/user menginput dan mengedit form biro.


v.Proses 1.6.3.P

Nama Proses: simpan data biro

Masukkan : form valid

Keluaran : data biro

Uraian Proses: admin/user menyimpan data biro kedalam

database biro.

w. Proses 1.6.3.P

Nama Proses : hapus biro

Masukkan : id biro

Keluaran : data biro

Uraian Proses : admin/user menghapus id biro dari

database biro.

x. Proses 1.7.1.P

Nama Proses : lihat data bidang

Masukkan : lihat data bidang


Keluaran : data bidang

Uraian Proses: admin/user melihat data bidang.

y. Proses 1.7.2.P

Nama Proses: input/edit bidang

Masukkan : form bidang

Keluaran : form valid

Uraian Proses: admin/user menginput dan mengedit form bidang.


z.Proses 1.7.3.P

Nama Proses: simpan data bidang

Masukkan : form valid

Keluaran : data bidang

Uraian Proses:admin/usermenyimpandatabidang

kedalam database bidang.

aa. Proses 1.7.4.P

Nama Proses : hapus bidang

Masukkan : id bidang

Keluaran : data bidang

Uraian Proses : admin/user menghapus id bidang dari

database bidang.

bb. Proses 1.8.1.P

Nama Proses : lihat data gedung

Masukkan : lihat data gedung


Keluaran : data gedung

Uraian Proses: admin/user melihat data gedung. cc. Proses 1.8.2.P


Nama Proses: input/edit gedung

Masukkan : form gedung

Keluaran : form valid

Uraian Proses: admin/user menginput dan mengedit form gedung.


dd. Proses 1.8.3.P

Nama Proses: simpan data gedung

Masukkan : form valid

Keluaran : data bidang

Uraian Proses:admin/usermenyimpandatagedung

kedalam database gedung.

ee. Proses 1.8.4.P

Nama Proses : hapus gedung

Masukkan : id gedung

Keluaran : data gedung

Uraian Proses : admin/user menghapus id gedung dari

database gedung.

4.2.3. Kamus Data


Kamus data atau data dictionary yang terdapat di sistem penjadwalan kegiatan terdiri dari :
User : Id_user* + username + password + email.

Pembicara : Id_pembicara* + nama_pembicara + gelar + jabatan + biro + bidang.


Kegiatan : Id_kegiatan* + nama_kegiatan + uraian_kegiatan

+ keterangan.

Ruang : Id_ruang* + nama_ruang + gedung + kapasitas.

Shift : Id_shift* + jam.

Biro : Id_biro + nama_biro.

Bidang : id_bidang + nama_bidang.

Gedung : Id_gedung + nama_gedung.

Kesediaan : no_id* + id_pembicara + nama_pembicara +

jabatan + id_kegiatan + nama_kegiatan + uraian kegiatan +

senin + selasa + rabu + kamis + jumat + minggu + periode +

tahun + id_shift.

10. Nilai Fitness : id_kesediaan + id_pembicara +

nama_pembicara + id_kegiatan + nama_kegiatan + total

nilai_fitness.

11. Jadwal : no_id + + id_kesediaan + id_pembicara +

id_kegiatan + lingkup + minggu + hari + id_shift + id_ruang

+ periode.
4.2.4. ERD (Entity Relationship Diagram)

Untuk dapat melihat hubungan yang terjadi antara tabel satu dengan tabel yang lain maka digu
Gambar 4.16. ERD Sistem Informasi Penjadwalan Kegiatan

4.2.4.1. Normalisasi

Pada proses normalisasi terdapat beberapa tahapan sebagai

berikut :
1. Bentuk Tidak Normal (Unformalized)

Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti forma

Gambar 4.17. Unnormalized Form ( UNF)


njadi satu harga tunggal yang berinteraksi diantara setiap baris pada suatu tabel. Ketentuan bentuk normal pertama (1-NF)

Id_user *
Username
Password
Email
Id_pembicara *
Nama_pembicara
Gelar
Jabatan
Biro
Bidang
Id_kegiatan *
Nama_kegiatan
Uraian_kegiatan
Id_ruang *
Nama_ruang
Gedung
Kapasitas
Id_shift *
Jam
NoId_kesediaan *
Senin
Selasa
Rabu
Kamis
Jumat
Minggu
Periode
NoId_kesediaan
Total nilai_fitness
NoId_kesediaan
Nama ruang
Minggu
Lingkup
Periode
Tahun

Gambar 4.18. First Normal Form (1NF)


3. Bentuk Normal Kedua (2-NF)

Bentuk normal kedua didasari atas konsep full functional dependency (ketergantungan fungsio
Ketentuan dari bentuk normal kedua (2-NF) adalah bentuk data telah memenuhhi kriteria bent

Gambar 4.19. Second Normal Form (2NF)


Nama_Field Tipe Panjang field Keterangan

an database untuk menempatkan data-data yang bersifat dinamis artinya data-data tersebut dapat berubah dan bertambah
k menyimpan data :

Nama File : User

Primary Key : Id_user

Nama_Field Tipe Panjang field Keterangan


Id_User Char 5 Identitas user
Username Char 10 Nama_user
Password Char 10 Password_user
Email Char 25 Email_user

b. Tabel Pembicara, untuk menyimpan data pembicara.

Nama File : Pembicara

Primary Key : Id_Pembicara


Id_Pembicara Char 10 Id Pembicara
Nama_Pembicara Char 25 Nama Pembicara
Gelar Char 20 Gelar Pembicara
Jabatan Char 50 Jabatan pembicara
Biro Char 75 Biro pembicara
Bidang Char 75 Bidang pembicara

c. TabeKegiatan, untuk menyimpan data Kegiatan

Nama Tabel : Kegiatan

Primary Key : Id_Kegiatan

Nama Field Tipe Panjang field Keterangan


Id_Kegiatan Char 10 Id Kegiatan
Nama_Kegiatan Char 50 Nama kegiatan
Uraian_kegiatan Char 75 Uraian kegiatan
Keterangan Char 25 Keterangan kegiatan

d. Tabel Ruang, untuk menyimpan ruang yang tersedia.

Nama Tabel : Ruang

Primary Key : Id_Ruang

Nama Field Tipe Panjang field Keterangan


Id_Ruang Char 10 Id_Ruang
Nama_ruang Char 50 Nama_ruang
Gedung Char 50 Nama Gedung
Kapasitas Int 5 Kapasitas_ruang
e. Tabel Shift, untuk menyimpan data shift/hari

Nama Tabel : Shift

Primary Key : Id_Shift

Nama Field Type Panjang field Keterangan


Id_Shift Int 4 Id Shift
Jam Char 10 Keterangan shift

f.Tabel Biro, untuk menyimpan data Biro

Nama Tabel : Biro

Primary Key : Id_Biro

Nama Field Type Panjang field Keterangan


Id_Shift Int 4 Id Shift
Nama Biro Char 50 Nama biro

g. Tabel Bidang, untuk menyimpan data bidang

Nama Tabel : Bidang

Primary Key : Id_Bidang

Nama Field Type Panjang field Keterangan


Id_Bidang Int 4 Id Shift
Nama Biro Char 50 Nama Biro
Nama Bidang Char 75 Nama Bidang

h. Tabel Gedung, untuk menyimpan data Gedung

Nama Tabel : Gedung

Primary Key : Id_ Gedung


Nama Field Type Panjang field Keterangan
Id_ Gedung Int 4 Id Gedung
Nama Gedung Char 50 Nama Gedung

i.Tabel Kesediaan, untuk menyimpan data kesediaan waktu

Pembicara.

Nama Tabel : Kesediaan

Primary Key : NoId

Nama Field Tipe Panjang Keterangan


NoId Char 10 No Urut
Id_Pembicara Char 10 Id Pembicara
Id_Kegiatan Char 10 Id Kegiatan
Senin Char 10 Hari kesediaan
Selasa Char 10 Hari kesediaan
Rabu Char 10 Hari kesediaan
Kamis Char 10 Hari kesediaan
Jumat Char 10 Hari kesediaan
Id_shift Int 4 Id shift/jam
Minggu Int 5 Minggu Kegiatan
Periode Char 10 Periode bulan
Tahun Int 4 Tahun kesediaan

j. Tabel Nilai Fitness, untuk menyimpan hasil nilai fitness

Nama Tabel : Nilai Fitness

Primary Key :-
Nama Field Type Panjang field Keterangan
NoId Int 5 Id kesediaan
Id_pembicara Char 10 Id pembicara
Id_kegiatan Char 10 Id kegiatan
Nilai fitness Int 10 Nilai fitness

k. Tabel Jadwal, untuk menyimpan jadwal hasil proses

Nama Tabel : Jadwal

Primary Key :-

Struktur File :-

Nama Field Tipe Panjang field Keterangan


NoId Int 5 No kesediaan
Id_Pembicara Char 10 Id Pembicara
Id_Kegiatan Char 10 Id Kegiatan
Minggu Int 5 Minggu Kegiatan
Hari Char 10 Hari kesediaan
Id_Shift Int 5 Id Shift/jam
Lingkup Char 10 Lingkup
Id_Ruang Char 10 Id Ruang
Periode Char 10 Periode Bulan
Tahun Int 4 Tahun jadwal
State Transition Diagram (STD)

STD Rancangan Menu Login Sistem

Gambar 4.20. STD Rancangan Menu Login Sistem

2. STD Rancangan Menu Utama

Gambar 4.21. STD Rancangan Menu Utama

3. STD Rancangan Menu User

Gambar 4.22. STD Rancangan Menu User


4. STD Rancangan Menu File

Gambar 4.23. STD Rancangan Menu File

5. STD Rancangan Modul Pembicara

Gambar 4.24. STD Rancangan Modul Pembicara

6. STD Rancangan Modul Kegiatan

Gambar 4.25. STD Rancangan Modul Kegiatan


7. STD Rancangan Modul Ruang
Gambar 4.26. STD Rancangan Modul Ruang

8. STD Rancangan Modul Shift

Gambar 4.27. STD Rancangan Modul Shift

9. STD Rancangan Modul Biro

Gambar 4.28. STD Rancangan Modul Biro

10. STD Rancangan Modul Bidang


Gambar 4.29. STD Rancangan Modul Bidang

11. STD Rancangan Modul Gedung

Gambar 4.30. STD Rancangan Modul Gedung

12. STD Rancangan Modul Kesediaan

Gambar 4.31. STD Rancangan Modul Kesediaan

13. STD Rancangan Modul Nilai_fitness


Gambar 4.32. STD Rancangan Modul Nilai_fitness

14. STD Rancangan Modul Seleksi_jadwal

Gambar 4.33. STD Rancangan Modul Seleksi_jadwal

15. STD Rancangan Menu Laporan

Gambar 4.34. STD Rancangan Menu Laporan


4.2.6. Rancangan Antarmuka Pemakai

Menggambarkan halaman antarmuka yang dirancang.

1. Rancangan Form Login


ForminiberfungsiuntukmasukkeSistemInformasi Penjadwalan kegiatan.Pada Form Login admin
username dan password.

Gambar 4.35. Rancangan Form Login

2. Rancangan Tampilan Menu Utama

Rancangan ini berfungsi sebagai interface tempat sub program


lain dipanggil untuk dijalankan, yang terdiri dari User, File dan Laporan.

Gambar 4.36. Rancangan Tampilan Menu Utama

3. Rancangan Tampilan Menu Home/User

Pada Form data user ini, admin dapat menginput user baru serta

mengedit user admin, untuk menyimpan data tekan tombol


simpan, untuk membatalkan tekan tombol batal, dan untuk

keluar dari menu user tekan tombol keluar.

Gambar 4.37. Rancangan Tampilan Menu User

4. Rancangan Form Pembicara


Pada Form data pembicara, admin dapat melihat data pembicara,

admin juga dapat menginput data pembicara, id pembicara terisi

secara otomatis, tekan simpan untuk menyimpan data, tekan

batal untuk membatalkan, tekan hapus untuk menghapus data

pembicara dan tekan keluar untuk keluar dari menu pembicara.

Pada form ini juga dapat mencari nama pembicara, biro dan

bidang dengan lebih cepat.


Gambar 4.38. Rancangan Form Pembicara

5. Rancangan Form Kegiatan


Pada Form data kegiatan, admin dapat melihat data kegiatan, admin juga dapat menginput data kegiatan, id kegi

secara otomatis, setelah diisi form tekan simpan untuk

menyimpan data, tekan batal untuk membatalkan, tekan hapus

untuk menghapus data kegiatan dan tekan keluar untuk keluar

dari menu form kegiatan. Pada form ini juga dapat mencari

nama kegiatan dengan lebih cepat.


Gambar 4.39. Rancangan Form Kegiatan

admin juga dapat menginput data ruang, id ruang terisi secara otomatis, setelah diisi form tekan simpan untuk menyimpan

ruang dan tekan keluar untuk keluar dari menu form ruang. Pada

form ini juga dapat mencari nama dengan lebih cepat.

Gambar 4.40. Rancangan Form Ruang


7. Rancangan Form Shift

Pada Form data shift, admin dapat melihat data shift, admin juga dapat menginput data shift, id

Gambar 4.41. Rancangan Form Shift

8. Rancangan Form Biro

Pada Form data biro, admin dapat melihat data biro, admin juga

dapat menginput data biro, id biro terisi secara otomatis, setelah

diisi form tekan simpan untuk menyimpan data, tekan batal

untuk membatalkan, tekan hapus untuk menghapus data biro dan

tekan keluar untuk keluar dari menu form biro


Gambar 4.42. Rancangan Form Biro

9. Rancangan Form Bidang


Pada Form data bidang, admin dapat melihat data bidang, admin juga dapat menginput data bi

menghapus data bidang dan tekan keluar untuk keluar dari menu

form bidang.

Gambar 4.43. Rancangan Form Bidang


10. Rancangan Form Gedung

Pada Form data gedung, admin dapat melihat data gedung, admin juga dapat menginput data g

Gambar 4.44. Rancangan Form Gedung

11. Rancangan Form Kesediaan

Pada Form kesediaan, admin dapat melihat daftar kesediaan,

admin juga menginput data kesediaan, id kesediaan terisi secara

otomatis, setelah diisi form tekan simpan untuk menyimpan

data, tekan batal untuk membatalkan, tekan hapus untuk

menghapus data kesediaan dan tekan keluar untuk keluar dari

menu form kesediaan.


Gambar 4.45. Rancangan Form Kesediaan

12. Rancangan Tampilan Penjadwalan Input Kesediaan

Pada Form input kesediaan, admin juga menginput kesediaan, id

kesediaan terisi secara otomatis, setelah diisi form tekan simpan

untuk menyimpan data, tekan batal untuk membatalkan.


Gambar 4.46. Rancangan Form input Kesediaan

13. Rancangan Form Nilai Fitness

Pada Form nilai fitness, admin dapat melihat daftar nilai fitness,

admin juga menginput data nilai fitness, id kesediaan terisi

secara otomatis, setelah diisi form tekan simpan untuk

menyimpan data, tekan batal untuk membatalkan, tekan hapus

untuk menghapus data nilai fitness dan tekan keluar untuk

keluar dari menu form nilai fitness.


Gambar 4.47. Rancangan Form Nilai Fitness

14. Rancangan Form Seleksi Jadwal


Pada Form seleksi jadwal, admin dapat melihat data jadwal, admin juga dapat menginput seleksi jadwal, id selek

terisi secara otomatis, setelah diisi form tekan simpan untuk

menyimpan data, tekan batal untuk membatalkan, tekan hapus

untuk menghapus data jadwal dan tekan keluar untuk keluar dari

menu form seleksi jadwal. Pada form ini juga dapat mencari

nama dengan lebih cepat.


Gambar 4.48. Rancangan Form Seleksi Jadwal

15. Rancangan Menu Laporan kesediaan

Rancangan ini berfungsi untuk menampilkan laporan kesediaan

berdasarkan periode/bulan dan tahun.

Gambar 4.49. Rancangan Menu Laporan Kesediaan


16. Rancangan Tampilan Laporan Jadwal
Rancangan ini berfungsi untuk menampilkan laporan Jadwal berdasarkan laporan yang ingin dic

Gambar 4.50. Rancangan Tampilan Laporan Jad

4.3. Fase Pelaksanaan / Implementasi

Dalam implementasi rancangan Sistem Penjadwalan Kegiatan,

penulis menggunakan Visual Studio.NET untuk bahasa pemrogramanya,

MySQL untuk database-nya serta Visio 2003 untuk toolsnya. Untuk

penerapannya sistem ini digunakan hanya untuk pegawai Humas

Kementrian Agama saja dan tidak untuk umum. Selain itu juga sarana

pendukung yang diperlukan agar sistem dapat berjalan sesuai yang

diharapkan.
4.4. Pengujian Sistem

Pada pengujian sistem, penulis melakukan testing terhadap sistem penjadwalan kegiatan ini de
BAB V

PENUTUP

Berdasarkan pada hal-hal yang penulis telah bahas pada bab-bab

sebelumnya, penulis menarik kesimpulan serta saran-saran yang bermanfaat bagi

penulisan skripsi ini, yaitu :

5.1. Kesimpulan

Berdasarkan hasil pengembangan sistem penjadwalan kegiatan ini,

maka dapat disimpulkan bahwa :

1. Proses pembuatan jadwal kegiatan dapat dilakukan dengan

menggunakan metode Algoritma Genetika. Melalui operator yang

digunakan dalam Algoritma Genetika yaitu seleksi, crossover, dan

mutasi serta melewati tahap pembangkitan populasi awal dan evaluasi

fungsi fitness sehingga jadwal yang dihasilkan dapat optimal sesuai

yang direncanakan.

2. Keluaran (output) dari aplikasi sistem penjadwalan kegiatan ini berupa

jadwal kegiatan Humas yang tidak bentrok dan dapat memudahkan

dalam penentuan jadwal kegiatan pada Humas Kementerian Agama.

3. Pelaksanaan jadwal kegiatan tidak mengalami keterlambatan karena

tidak adanya kesalahan-kesalahan dalam melakukan penjadwalan.


memiliki banyak kekurangan dan keterbatasan yang harus diperbaiki. Adapun saran yang dapat membantu agar sistem ini m
diharapkan pembuatan jadwal kegiatan ini dapat menggunakan metode yang lain. Misalnya dengan pendekatan riset opera
daya manusia dalam hal pengetahuan dan keterampilan dalam menggunakan komputer agar penggunaan

sistem dapat bekerja dengan lebih baik.

3. Dalam pembuatan jadwal kegiatan ini untuk pengembangan kedepan

diharapkan aplikasinya menggunakan jaringan LAN agar terkoneksi

dengan bidang yang lain.


DAFTAR PUSTAKA

Desiani Anita, Arhami Muhammad. 2006. Konsep Kecerdasan Buatan. Cv. Andi
Offset. Yogyakarta.

Fathansyah, Ir. 2001. Basis Data. Informatika Bandung. Bandung.

Ginting, Rosnaini. 2009. Penjadwalan Mesin. Graha ilmu. Yogyakarta

Gulo, W. 2002. Metodologi Penelitian. PT Gramedia Widiasarana Indonesia.


Jakarta.

Hariyanto, Bambang. 2004. Rekayasa Sistem Berorientasi Objek. Informatika


Bandung. Bandung.

Jogiyanto, HM. 2005. Analisis dan Desain ; Sistem Informasi Pendekatan


Terstruktur teori & Praktek Aplikasi Bisnis. Andi, Yogyakarta.

Kendall, Kenneth E dan Kendall, Julie E. 2006. Analisis dan Perancangan Sistem
jilid 5. Pearson Education Asia Pte. Ltd. dan PT Prenhallindo. Jakarta

Kurniadi, Adi. 2000. Pemrograman Microsoft Visual Basic 6. PT. Elex Media
Komputindo. Jakarta.

Kusumadewi, Sri. 2003. Artificial Intelelligent, Graha ilmu. Yogyakarta

Ladjamudin, Al-Bahra. 2005. Analisis dan Desain Sistem Informasi. Graha Ilmu.
Yogyakarta.

Pressman, Roger. 2002. Rekayasa Perangkat Lunak Pendekatan Praktisi, Buku


Satu. Penerbit Andi, Yogyakarta.

Sidik, Betha. 2005. MySQL untuk Pengguna, Administrator, dan Pengembang

Aplikasi Web, Informatika, Bandung.


Sugiyono, Prof, Dr. 2008, Metode Penelitian Kuantitatif, Kualitatif dan R&D,
Cetakan ke 5. CV, Alfabeta. Bandung.

Sutabri, Tata. 2004. Analisa Sistem Informasi, Andi Yogyakarta. Yogyakarta.

Whitten, Jeffrey L. 2004. Systems Analysis & Design Methods: Sixth Edition.
New York: McGraw-Hill

Visualstudioindonesia.com/Tutorial Visual studio,NET.


LAMPIRAN 1 HASIL WAWANCA
LAMPIRAN 1

Form Wawancara

Narasumber : Syaiful Huda

Jabatan : Staf Subbid Penerangan Masyarakat Bag. Humas

Tempat Wawancara : Departemen Agama RI

Hari/Tanggal Wawancara : Selasa, 26 Januari 2010

Selamat siang bapak? bisa minta waktunya sebentar untuk wawancara?

Jawaban : Siang juga, boleh

Nama lengkap bapak ?

Jawaban : Syaiful Huda


Bagaimana sejarah terbentuknya PINMAS (Pusat Informasi Keagamaan dan Kehumasan) Departem

Jawaban : PINMAS Departemen Agama dibentuk berdasarkan Peraturan

Menteri Agama RI Nomor 3 Tahun 2006 tentang Organisasi dan Tata

kerja Kementrian Agama, untuk lebih lengkapnya nanti saya akan berikan

dokumennya.

4. Apakah sistem penjadwalan kegiatan di Departemen Agama khususnya

bagian Humas ini sudah terkomputerisasi?

Jawaban : Belum terkomputerisasi

5. Kalau begitu, sistem penjadwalan kegiatan yang manualnya seperti apa ?

Jawab : Data kegiatan yang ada di Humas kelola dengan membuat

jadwalnya kemudian diserahkan kepada Kepala Bagian Humas untuk


disetujui. Setelah itu jadwal kegiatan yang telah disetujui Kepala Bagian

Humas kemudian diserahkan ke Sub Tata Usaha untuk mencocokkan

kegiatan yang satu dengan yang lain. Jika diterima maka bagian Humas

menerima laporannya dari Sub Tata Usaha yang dijadikan sebagai arsip.

6. Apa saja yang kendala yang dapat menghambat kinerja bapak selama ini?

Jawab :

Kendala yang paling utama ialah proses dalam pencatatan laporan kami,

kami bekerja masih manual dalam proses pengolahan data penjadwalan

kegiatan jadi kami memerlukan banyak waktu untuk mengolah data

tersebut.

7. Menurut bapak, apakah perlu adanya sistem penjadwalan kegiatan yang

terkomputerisasi ?

Jawab :

Sangat perlu dibangun sebuah sistem yang terkomputerisasi agar

menunjang pekerjaan kami sehingga dapat meningkatkan kinerja

perusahaan ini khususnya di bagian Humas ini selain itu agar kegiatan satu

dengan yang lainnya tidak terjadi bentrok.

8. Bagaimana bentuk sistem yang tepat dan baik bagi perusahaan bapak

khususnya untuk bagian gudang ?

Jawab :

Bentuk yang kami inginkan sederhana dan mudah digunakan sehingga

kami tidak mengalami kesulitan untuk menggunakannya.


LAMPIRAN 2 TAMPILAN APLIKA
1. Menu LOGIN

2. Menu HOME
3. Form Data Pembicara dan Tambah Pembicara

4. Form Data kegiatan dan Tambah Kegiatan


5. Form Data Ruang dan Tambah Ruang
6. Form Data Shift dan Tambah Shift

7. Form Data Biro dan Tambah Biro

8. Form Data Bidang dan Tambah Bidang


9. Form Data Gedung dan Tambah Gedung

10. Form Kesediaan


11. Tambah Kesediaan
12. Form Nilai Fitness dan tambah nilai fitness
13. Form Seleksi Jadwal

14. Form Laporan Kesediaan


15.Form Laporan Jadwal

16.Laporan Jadwal
LAMPIRAN 3 KODE PROGRAM
Login

Imports MySql.Data.MySqlClient
Public Class LoginForm1

' TODO: Insert code to perform custom authentication using the


provided username and password
' (See http://go.microsoft.com/fwlink/?LinkId=35339).
' The custom principal can then be attached to the current
thread's principal as follows:
' My.User.CurrentPrincipal = CustomPrincipal
' where CustomPrincipal is the IPrincipal implementation used to
perform authentication.
' Subsequently, My.User will return identity information encapsulated
in the CustomPrincipal object
' such as the username, display name, etc.

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles OK.Click
If txtuser.Text = "" Or txtpass.Text = "" Then MsgBox("Data tidak
boleh kosong", vbCritical) : Exit Sub
Dim q As String = "select * from user where username='" &
txtuser.Text & "' and password='" & txtpass.Text & "'"
bukaKoneksi()
Try
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = mycmd.ExecuteReader
If myr.Read Then

frmmain.logsb.Tag = myr.Item(4)
frmmain.Tag = myr.Item(0)
frmhome.Show()
frmmain.Show()
frmmain.logsb.Text = "Login Sebagai : " & txtuser.Text & ",
"
frmmain.sethak()
myr.Close()
Me.Dispose()
ElseIf myr.HasRows = False Then
MsgBox("Username / password salah", vbCritical)
txtpass.Focus()
End If

Catch ex As Exception
MsgBox(Err.Description, vbCritical)
End Try
End Sub

Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Cancel.Click
End
End Sub
Private Sub LoginForm1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles M

End Sub End Class

Menu Utama
Imports MySql.Data.MySqlClient Public Class frmhome

Private Sub frmhome_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Acti


Me.WindowState = 2 Me.MaximizeBox = False Me.MinimizeBox = False Me.ControlBox = False
End Sub

Private Sub frmhome_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyB

On Error GoTo a Application.DoEvents() Application.DoEvents() Me.MdiParent = frmmain

Exit Sub
a:
Application.DoEvents() Application.DoEvents() Me.MdiParent = frmmain
End Sub

Private Sub ToolStripButton1_Click(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles ToolStripButton1.Click
bukaKoneksi()
If txtuser.Text = "" Or txtpass.Text = "" Or txtemail.Text = ""
Or cmbhak.Text = "" Then
MsgBox("Data tidak lengkap", vbCritical)
Exit Sub
End If
If InStr(txtemail.Text, "@") = 0 Or InStr(txtemail.Text, ".") =
0Then
MsgBox("Email tidak valid", vbCritical)
Exit Sub

0. End If
1. Dim q As String = "select * from user where id_user='" &
txtid.Text & "'"
2. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
3. Dim myread As MySqlDataReader = mycmd.ExecuteReader()
4. Dim mymsg As String = ""
5. If myread.HasRows Then
6. q = "delete from user where id_user='" & txtid.Text & "'"
7. bukaKoneksi()
8. mycmd = New MySqlCommand(q, conn)
9. mycmd.ExecuteNonQuery()
10. ToolStripButton1_Click(sender, e)
11. Exit Sub
12. Else
13. myread.Close()
14. bukaKoneksi()
15. q = "select username from user where username='" &
txtuser.Text & "'"
16. mycmd = New MySqlCommand(q, conn)
17. myread = mycmd.ExecuteReader()
18. If myread.HasRows Then
19. MsgBox("Username sudah ada", vbCritical)
20. Exit Sub
21. End If
22. q = "insert into user values('" & txtid.Text & "','" &
txtuser.Text & "','" & txtpass.Text & "','" & txtemail.Text & "','" &
cmbhak.Text & "')"
23. mymsg = "Data Sukses di simpan"
24. End If
25. myread.Close()
26. bukaKoneksi()
27.
28. Try
29. mycmd = New MySqlCommand(q, conn)
30. mycmd.ExecuteNonQuery()
31. MsgBox(mymsg, vbInformation)
32. Application.DoEvents()
33. Application.DoEvents()
34. If frmmain.logsb.Tag = "admin" Then
35. tampilkan()
36. tampilkan()
37.
38. Else
39. tampilkan("select id_user,username,email,hak from
user where id_user='" & frmmain.Tag & "'")
40. tampilkan("select id_user,username,email,hak from
user where id_user='" & frmmain.Tag & "'")
41. End If
42. ButtonX1_Click(sender, e)
43. Catch ex As Exception
44. MsgBox(Err.Description, vbCritical)
45. End Try
46. End Sub
47. Sub tampilkan(Optional ByRef strq = "select
id_user,username,email,hak from user order by id_user asc")
48. Dim q As String
49. q = strq
50. Dim ds As New DataSet
51.
52. bukaKoneksi()
53. Dim sqldbadapter As New MySqlDataAdapter
54. sqldbadapter = New MySqlDataAdapter(q, conn)
55. sqldbadapter.Fill(ds)
56. Me.dg.DataSource = ds.Tables(0)
57. End Sub
58. Sub ambilkodeakhir()
59. bukaKoneksi()
60. Dim q As String = "select * from user order by id_user desc"
61. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
62. Dim myread As MySqlDataReader = mycmd.ExecuteReader
63. Dim s As String = ""
64. If myread.Read Then
65. s = myread.GetString(0)
66. End If
67. s = Val(s) + 1
68. While Len(s) < 5
69. s = "0" & s
70. End While
71. txtid.Text = s
72. txtuser.Focus()
73. myread.Close()
74. End
Sub 75.
76. Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX1.Click
77. txtuser.Clear()
78. txtpass.Clear()
79. txtemail.Clear()
80. ambilkodeakhir()
81. tampilkan()
82. End
Sub 83.
84.
85.
86. Private Sub ToolStripButton3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ToolStripButton3.Click
87. Me.Dispose()
88. End Sub
89.
90. Private Sub dg_CellContentClick(ByVal sender As
System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellContentClick
91.
92. End Sub
93.
94. Private Sub dg_CellDoubleClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellDoubleClick
95. Dim i As Integer = dg.CurrentRow.Index
96. bukaKoneksi()
97. Dim q As String = "select * from user where id_user='" &
dg.Item(0, i).Value & "'"
98. If dg.Item(0, i).Value <> frmmain.Tag Then Exit Sub
99.
100. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
101. Dim myr As MySqlDataReader = mycmd.ExecuteReader
102.
103. If myr.Read Then
104. txtid.Text = myr.Item(0)
105. txtuser.Text = myr.Item(1)
106. txtpass.Text = myr.Item(2)
107. txtemail.Text = myr.Item(3)
108. cmbhak.Text = myr.Item(4)
109. End If
110.End Sub
111.
Private Sub txtcari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtcari.TextChanged, Butto
If txtcari.Text <> "" Then
tampilkan("select id_user,username,email,hak from user where username like '" & txtcari.Text & "%' order by id_user asc")

115. Else
116. tampilkan()
117. End If End Sub
118.
119. Private Sub frmhome_Resize(ByVal sender As Object, ByVal e
120.
As System.EventArgs) Handles Me.Resize
On Error Resume Next
With (dg)
123. .Columns(0).Width = 15 / 100 * (.Width - 120)
124. .Columns(1).Width = 25 / 100 * (.Width - 120)
125. .Columns(2).Width = 15 / 100 * (.Width - 120)
126. .Columns(3).Width = 45 / 100 * (.Width - 120)
127. End With
128. End Sub
129. End Class

Menu Tambah Pembicara


Imports System.I
Imports MySql.Data.MySqlClient
1. Public Class frmpembicara
2.
3. Private Sub SplitContainer1_Panel1_Paint(ByVal sender As
System.Object, ByVal e As System.Windows.Forms.PaintEventArgs)
4.
5. End Sub
6.
7. Private Sub frmpembicara_Activated(ByVal sender As Object, ByVal e
As System.EventArgs) Handles Me.Activated
8. Me.MaximizeBox = False
9. Me.ControlBox = False
10. Me.MinimizeBox = False
11. Me.WindowState = 2
12. ubahaku()
13. End Sub
14. Sub tampilkan(Optional ByRef strq = "select * from pembicara order
by id_pembicara asc")
15. Dim q As String
16. q = strq
17. Dim ds As New DataSet
18. bukaKoneksi()
19. Dim sqldbadapter As New MySqlDataAdapter
20. sqldbadapter = New MySqlDataAdapter(q, conn)
21. sqldbadapter.Fill(ds)
22. Me.dg.DataSource = ds.Tables(0)
23. End Sub
24. Sub ambilkodeakhir()
25. bukaKoneksi()
26. Dim q As String = "select * from pembicara order by id_pembicara
desc"
27. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
28. Dim myread As MySqlDataReader = mycmd.ExecuteReader
29. Dim s As String = ""
30. If myread.Read Then
31. s = myread.GetString(0)
32. End If
33. s = Mid(s, 3, 2)
34. s = Val(s) + 1
35. While Len(s) < 2
36. s = "0" & s
37. End While
38. txtid.Text = "PM" & s
39. txtnama.Focus()
40. myread.Close()
41. End Sub
42. Sub loadform()
43. Application.DoEvents()
44. Application.DoEvents()
45. Application.DoEvents()
46. Me.MdiParent = frmmain
47. bukaKoneksi()
48. ambilkodeakhir()
49. loadbiro()
50. tampilkan()
51. End Sub
52. Private Sub frmpembicara_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
53. On Error GoTo eer
54. loadform()
55. Exit Sub
56.
eer: loadform()
57.
58. End Sub
59. Sub loadbiro()
60. bukaKoneksi()
61. Dim q As String = "select * from biro order by id_biro asc"
62. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
63. Dim myr As MySqlDataReader = mycmd.ExecuteReader
64. txtbiro.Items.Clear()
65. srcbiro.Items.Clear()
66. While myr.Read
67.
68. txtbiro.Items.Add(myr.Item(1))
69. srcbiro.Items.Add(myr.Item(1))
70. Application.DoEvents()
71. End While
72. srcbiro.Text = "-"
73. srcbidang.Text = "-"
74. FileClose(1)
75.
76. End Sub
77. Private Sub txtbiro_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
txtbiro.SelectedIndexChanged
78. bukaKoneksi()
79. Dim q As String = "select * from biro where nama_biro='" &
txtbiro.Text & "'"
80. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
81. Dim myr As MySqlDataReader = mycmd.ExecuteReader
82. Dim myidbiro As String
83. If myr.Read Then
84. myidbiro = myr.Item(0)
85. End If
86. myr.Close()
87. bukaKoneksi()
88. q = "select * from bidang where id_biro='" & myidbiro & "'"
89. mycmd = New MySqlCommand(q, conn)
90. myr = mycmd.ExecuteReader
91. txtbidang.Items.Clear()
92. txtbidang.Items.Add("-")
93. While myr.Read
94. txtbidang.Items.Add(myr.Item(2))
95. End While
96. txtbidang.Text = "-"
97. End Sub
98. Sub ubahaku()
99. On Error Resume Next
100. dg.Top = ButtonX2.Top + ButtonX2.Height + 15
101. dg.Width = Me.Width
102. dg.Height = Panel1.Top - dg.Top
103. With (dg)
104. .Columns(0).Width = 13 / 100 * (.Width - 120)
105. .Columns(1).Width = 25 / 100 * (.Width - 120)
106. .Columns(2).Width = 10 / 100 * (.Width - 120)
107. .Columns(3).Width = 15 / 100 * (.Width - 120)
108. .Columns(4).Width = 20 / 100 * (.Width - 120)
109. .Columns(5).Width = 20 / 100 * (.Width - 120)
110. End With
111. End Sub
112. Private Sub frmpembicara_Resize(ByVal sender As Object, ByVal e
As System.EventArgs) Handles Me.Resize
113. ubahaku()
114. End Sub
115.
116. Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX2.Click
117. bukaKoneksi()
118. Dim q As String = "select * from pembicara where
id_pembicara='" & txtid.Text & "'"
119. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
120. Dim myread As MySqlDataReader = mycmd.ExecuteReader()
121. Dim mymsg As String = ""
122. If myread.HasRows Then
123. q = "update pembicara set nama_pembicara='" &
txtnama.Text & "',gelar='" & txtgelar.Text & "',jabatan='" &
txtjabatan.Text & "',biro='" & txtbiro.Text & "',bidang='" &
txtbidang.Text & "' where id_pembicara='" & txtid.Text & "'"
124. mymsg = "Data Sukses di update"
125. Else
126. q = "insert into pembicara values('" & txtid.Text & "','"
& txtnama.Text & "','" & txtgelar.Text &
127. "','" & txtjabatan.Text & "','" & txtbiro.Text &
"','" & txtbidang.Text & "')"
128. mymsg = "Data Sukses di tambahkan"
129. End If
130. myread.Close()
131.
132.
133. Try
134. mycmd = New MySqlCommand(q, conn)
135. mycmd.ExecuteNonQuery()
136. MsgBox(mymsg, vbInformation)
137. Application.DoEvents()
138. Application.DoEvents()
139. tampilkan()
140. tampilkan()
141. ButtonX3_Click(sender, e)
142. Catch ex As Exception
143. MsgBox(Err.Description, vbCritical)
144. End Try
145. End
Sub 146.
147. Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX3.Click
148. txtnama.Clear()
149. txtgelar.Clear()
150. txtjabatan.Clear()
151. txtbiro.Text = ""
152. txtbidang.Text = ""
153. ambilkodeakhir()
154. End
Sub 155.
156. Private Sub ButtonX4_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX4.Click
157. If MsgBox("Apakah anda yakin akan menghapus " & txtnama.Text
& " dari database?", vbOKCancel) = vbCancel Then Exit Sub
158.
159. Dim q As String = "delete from pembicara where
id_pembicara='" & txtid.Text & "'"
160. Try
161. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
162. mycmd.ExecuteNonQuery()
163. MsgBox("Data sukses dihapus", vbInformation)
164. tampilkan()
165. ButtonX3_Click(sender, e)
166. Catch ex As Exception
167. MsgBox(Err.Description, vbCritical)
168. End
Try 169.
170. End Sub
171.
172. Private Sub ButtonX5_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX5.Click
173. Me.Dispose()
174. End Sub
175.
176. Private Sub dg_CellContentClick(ByVal sender As System.Object,
ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellContentClick 177.

178. End Sub


179.
180. Private Sub dg_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles dg.DoubleClick
181. Dim i As Integer
182. On Error Resume Next
183. i = dg.CurrentRow.Index
184. With dg
185. txtid.Text = .Item(0, i).Value
186. txtnama.Text = .Item(1, i).Value
187. txtgelar.Text = .Item(2, i).Value
188. txtjabatan.Text = .Item(3, i).Value
189. txtbiro.Text = .Item(4, i).Value
190. txtbidang.Text = .Item(5, i).Value
191. End With
192. txtnama.Focus()
193. End Sub
194.
195. Private Sub txtcari_GotFocus(ByVal sender As Object, ByVal e As
System.EventArgs) Handles txtcari.GotFocus
196. txtcari.SelectionStart = 0
197. txtcari.SelectionLength = Len(txtcari.Text)
198. End Sub
199.
200. Private Sub txtcari_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles txtcari.TextChanged
201. If txtcari.Text <> "" Then
202. tampilkan("select * from pembicara where nama_pembicara
like ' & txtcari.Text & "%' order by id_pembicara asc")
"
203. Else
204. tampilkan()
205. End If
206. End Sub
207.
208. Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX1.Click
209. If txtcari.Text <> "" Then
210. tampilkan("select * from pembicara where nama_pembicara
like '" & txtcari.Text & "%' order by id_pembicara asc")
211. Else
212. tampilkan()
213. End If
214. End Sub
215.
216. Private Sub srcbiro_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
srcbiro.SelectedIndexChanged
217. If srcbiro.Text <> "-" Then
218. tampilkan("select * from pembicara where nama_pembicara
like '" & txtcari.Text & "%' and biro='" & srcbiro.Text & "' order by
id_pembicara asc")
219. Else
220. tampilkan()
221. End If
222. On Error Resume Next
223. bukaKoneksi()
224. Dim q As String = "select * from biro where nama_biro='" &
srcbiro.Text & "'"
225. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
226. Dim myr As MySqlDataReader = mycmd.ExecuteReader
227. Dim myidbiro As String
228. If myr.Read Then
229. myidbiro = myr.Item(0)
230. End If
231. myr.Close()
232. bukaKoneksi()
233. q = "select * from bidang where id_biro='" & myidbiro & "'"
234. mycmd = New MySqlCommand(q, conn)
235. myr = mycmd.ExecuteReader
236. srcbidang.Items.Clear()
237. srcbidang.Items.Add("-")
238. While myr.Read
239. srcbidang.Items.Add(myr.Item(2))
240. End While
241. srcbidang.Text = "-"
242. End Sub
243.
244. Private Sub srcbidang_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
srcbidang.SelectedIndexChanged
245. If srcbidang.Text <> "-" Then
246. tampilkan("select * from pembicara where nama_pembicara like '" &
txtcari.Text & "%' and bidang='" & srcbidang.Text & "' and biro='" &
srcbiro.Text & "' order by id_pembicara asc")
247. Else
248. If srcbiro.Text <> "-" Then
249. tampilkan("select * from pembicara where nama_pembicara like '" &
txtcari.Text & "%' and biro='" & srcbiro.Text & "' order by
id_pembicara asc")
250. Else
251. tampilkan()
252. End If
253. End If
254.
255. End Sub
256. End Class

257. Menu Kegiatan

258. Imports System.IO


259. Imports MySql.Data.MySqlClient
260. Public Class frmkegiatan
261.
262. Private Sub SplitContainer1_Panel1_Paint(ByVal sender As
System.Object, ByVal e As System.Windows.Forms.PaintEventArgs)
263.
264. End Sub
265.
266. Private Sub frmkegiatan_Activated(ByVal sender As Object, ByVal e
As System.EventArgs) Handles Me.Activated
267. Me.MaximizeBox = False
268. Me.ControlBox = False
269. Me.MinimizeBox = False
270. Me.WindowState = 2
271. ubahaku()
272. End Sub
273. Sub tampilkan(Optional ByRef strq = "select * from kegiatan order
by id_kegiatan asc")
274. Dim q As String
275. q = strq
276. Dim ds As New DataSet
277.
278. ' bukaKoneksi()
279. Dim sqldbadapter As New MySqlDataAdapter
280. sqldbadapter = New MySqlDataAdapter(q, conn)
281. sqldbadapter.Fill(ds)
282. Me.dg.DataSource = ds.Tables(0)
283. End Sub
284. Sub ambilkodeakhir()
285. bukaKoneksi()
286. Dim q As String = "select * from kegiatan order by
id_kegiatan desc"
287. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
288. Dim myread As MySqlDataReader = mycmd.ExecuteReader
289. Dim s As String = ""
290. If myread.Read Then
291. s = myread.GetString(0)
292. End If
293. s = Mid(s, 2, 3)
294. s = Val(s) + 1
295. While Len(s) < 3
296. s = "0" & s
297. End While
298. txtid.Text = "K" & s
299. txtnama.Focus()
300. myread.Close()
301. End Sub
302. Sub loadform()
303. Application.DoEvents()
304. Application.DoEvents()
305. Me.MdiParent = frmmain
306. Application.DoEvents()
307. Application.DoEvents()
308. bukaKoneksi()
309. tampilkan()
310. ambilkodeakhir()
311.
312. End Sub
313. Private Sub frmkegiatan_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.Load
314. On Error GoTo eer
315. loadform()
316. Exit Sub
317. eer:
318. loadform()
319. End Sub
320. Sub ubahaku()
321. On Error Resume Next
322. dg.Top = ButtonX2.Top + ButtonX2.Height + 15
323. dg.Width = Me.Width
324. dg.Height = Panel1.Top - dg.Top
325. With (dg)
326. .Columns(0).Width = 13 / 100 * (.Width - 120)
327. .Columns(1).Width = 25 / 100 * (.Width - 120)
328. .Columns(2).Width = 35 / 100 * (.Width - 120)
329. .Columns(3).Width = 25 / 100 * (.Width - 120)
330. End With
331. End Sub
332. Private Sub frmkegiatan_Resize(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Resize
333. ubahaku()
334. End
Sub 335.
336. Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX2.Click
337. bukaKoneksi()
338. Dim q As String = "select * from kegiatan where
id_kegiatan='" & txtid.Text & "'"
339. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
340. Dim myread As MySqlDataReader = mycmd.ExecuteReader()
341. Dim mymsg As String = ""
342. If myread.HasRows Then
343. q = "update kegiatan set nama_kegiatan='" & txtnama.Text
& "',uraian_kegiatan='" & txturaian.Text & "',keterangan='" &
txtkegiatan.Text & "' where id_kegiatan='" & txtid.Text & "'"
344. mymsg = "Data Sukses di update"
345. Else
346. q = "insert into kegiatan values('" & txtid.Text & "','"
& txtnama.Text & "','" & txturaian.Text &
347. "','" & txtkegiatan.Text & "')"
348. mymsg = "Data Sukses di tambahkan"
349. End If
350. myread.Close()
351.
352.
353. Try
354. mycmd = New MySqlCommand(q, conn)
355. mycmd.ExecuteNonQuery()
356. MsgBox(mymsg, vbInformation)
357. Application.DoEvents()
358. Application.DoEvents()
359. tampilkan()
360. tampilkan()
361. ButtonX3_Click(sender, e)
362. Catch ex As Exception
363. MsgBox(Err.Description, vbCritical)
364. End Try
365. End
Sub 366.
367. Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX3.Click
368. txtnama.Clear()
369. txturaian.Clear()
370. txtkegiatan.Clear()
371. txturaian.Text = ""
372. ambilkodeakhir()
373. End
Sub 374.
375. Private Sub ButtonX4_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX4.Click
376. If MsgBox("Apakah anda yakin akan menghapus " & txtnama.Text
& " dari database?", vbOKCancel) = vbCancel Then Exit Sub
377.
378. Dim q As String = "delete from kegiatan where id_kegiatan='"
& txtid.Text & "'"
379. Try
380. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
381. mycmd.ExecuteNonQuery()
382. MsgBox("Data sukses dihapus", vbInformation)
383. tampilkan()
384. ButtonX3_Click(sender, e)
385. Catch ex As Exception
386. MsgBox(Err.Description, vbCritical)
387. End
Try 388.
389. End Sub
390.
391. Private Sub ButtonX5_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX5.Click
392. Me.Dispose()
393. End
Sub 394.
395. Private Sub dg_CellContentClick(ByVal sender As System.Object,
ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellContentClick
396.
397. End Sub
398.
399. Private Sub dg_CellDoubleClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellDoubleClick
400. Dim i As Integer
401. On Error Resume Next
402. i = dg.CurrentRow.Index
403. With dg
404. txtid.Text = .Item(0, i).Value
405. txtnama.Text = .Item(1, i).Value
406. txturaian.Text = .Item(2, i).Value
407. txtkegiatan.Text = .Item(3, i).Value
408.
409. End With
410. txtnama.Focus()
411. End Sub
412.
413. Private Sub dg_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles dg.DoubleClick
414.
415. End Sub
416.
417. Private Sub txtcari_GotFocus(ByVal sender As Object, ByVal e As
System.EventArgs) Handles txtcari.GotFocus
418. txtcari.SelectionStart = 0
419. txtcari.SelectionLength = Len(txtcari.Text)
420. End Sub
421.
422. Private Sub txtcari_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles txtcari.TextChanged
423. If txtcari.Text <> "" Then
424. tampilkan("select * from kegiatan where nama_kegiatan
like ' & txtcari.Text & "%' order by id_kegiatan asc")
"
425. Else
426. tampilkan()
427. End If
428. End Sub
429.
430. Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX1.Click
431. If txtcari.Text <> "" Then
432. tampilkan("select * from kegiatan where nama_kegiatan
like '" & txtcari.Text & "%' order by id_kegiatan asc")
433. Else
434. tampilkan()
435. End If
436. End Sub
437.
438.
439. End Class

Menu Ruang

440. Imports System.IO


441. Imports MySql.Data.MySqlClient
442. Public Class frmruang
443.
444.
445. Private Sub SplitContainer1_Panel1_Paint(ByVal sender As
System.Object, ByVal e As System.Windows.Forms.PaintEventArgs)
446.
447. End Sub
448.
449. Private Sub frmruang_Activated(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Activated
450. Me.MaximizeBox = False
451. Me.ControlBox = False
452. Me.MinimizeBox = False
453. Me.WindowState = 2
454. ubahaku()
455. End Sub
456. Sub tampilkan(Optional ByRef strq = "select * from ruang order by
id_ruang asc")
457. Dim q As String
458. q = strq
459. Dim ds As New DataSet
460.
461. ' bukaKoneksi()
462. Dim sqldbadapter As New MySqlDataAdapter
463. sqldbadapter = New MySqlDataAdapter(q, conn)
464. sqldbadapter.Fill(ds)
465. Me.dg.DataSource = ds.Tables(0)
466. End Sub
467. Sub ambilkodeakhir()
468. bukaKoneksi()
469. Dim q As String = "select * from ruang order by id_ruang
desc"
470. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
471. Dim myread As MySqlDataReader = mycmd.ExecuteReader
472. Dim s As String = ""
473. If myread.Read Then
474. s = myread.GetString(0)
475. End If
476. s = Mid(s, 2, 3)
477. s = Val(s) + 1
478. While Len(s) < 3
479. s = "0" & s
480. End While
481. txtid.Text = "K" & s
482. txtnama.Focus()
483. myread.Close()
484. End Sub
485. Sub loadform()
486. Application.DoEvents()
487. Application.DoEvents()
488. Me.MdiParent = frmmain
489. bukaKoneksi()
490. tampilkan()
491. ambilkodeakhir()
492. addgedung()
493. End Sub
494. Sub addgedung()
495. bukaKoneksi()
496. Dim q As String = "select * from gedung order by nama_gedung
asc"
497. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
498. Dim myr As MySqlDataReader = mycmd.ExecuteReader
499. txtgedung.Items.Clear()
500. txtgedung.Items.Add("")
501. While myr.Read
502. txtgedung.Items.Add(myr.Item(1))
503. End While
504.
505. End Sub
506. Private Sub frmruang_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
507. On Error GoTo eer
508. loadform()
509. Exit Sub
510. eer:
511. loadform()
512.
513. End Sub
514. Sub ubahaku()
515. On Error Resume Next
516. dg.Top = ButtonX2.Top + ButtonX2.Height + 15
517. dg.Width = Me.Width
518. dg.Height = Panel1.Top - dg.Top
519. With (dg)
520. .Columns(0).Width = 13 / 100 * (.Width - 120)
521. .Columns(1).Width = 25 / 100 * (.Width - 120)
522. .Columns(2).Width = 35 / 100 * (.Width - 120)
523. .Columns(3).Width = 25 / 100 * (.Width - 120)
524. End With
525. End Sub
526. Private Sub frmruang_Resize(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Resize
527. ubahaku()
528. End Sub
529.
530. Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX2.Click
531. bukaKoneksi()
532. Dim q As String = "select * from ruang where id_ruang='" &
txtid.Text & "'"
533. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
534. Dim myread As MySqlDataReader = mycmd.ExecuteReader()
535. Dim mymsg As String = ""
536. If myread.HasRows Then
537. q = "update ruang set nama_ruang='" & txtnama.Text &
"',gedung='" & txtgedung.Text & "',kapasitas='" & txtkapasitas.Text & "'
where id_ruang='" & txtid.Text & "'"
538. mymsg = "Data Sukses di update"
539. Else
540. myread.Close()
541. bukaKoneksi()
542. q = "select * from ruang where nama_ruang='" &
txtnama.Text & "' and gedung='" & txtgedung.Text & "'"
543. mycmd = New MySqlCommand(q, conn)
544. myread = mycmd.ExecuteReader
545. If myread.HasRows Then
546. MsgBox("Nama ruang sudah ada", vbCritical)
547. myread.Close()
548. Exit Sub
549. End If
550. q = "insert into ruang values('" & txtid.Text & "','"
& txtnama.Text & "','" & txtgedung.Text &
551. "','" & txtkapasitas.Text & "')"
552. mymsg = "Data Sukses di tambahkan"
553. End If
554. myread.Close()
555.
556.
557. Try
558. mycmd = New MySqlCommand(q, conn)
559. mycmd.ExecuteNonQuery()
560. MsgBox(mymsg, vbInformation)
561. Application.DoEvents()
562. Application.DoEvents()
563. tampilkan()
564. tampilkan()
565. ButtonX3_Click(sender, e)
566. Catch ex As Exception
567. MsgBox(Err.Description, vbCritical)
568. End Try
569. End
Sub 570.
571. Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX3.Click
572. txtnama.Clear()
573. txtkapasitas.Clear()
574.
575. txtgedung.Text = ""
576. ambilkodeakhir()
577. End Sub
578.
579. Private Sub ButtonX4_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX4.Click
580. If MsgBox("Apakah anda yakin akan menghapus " & txtnama.Text
& " dari database?", vbOKCancel) = vbCancel Then Exit Sub
581. bukaKoneksi()
582. Dim q As String = "delete from ruang where id_ruang='" &
txtid.Text & "'"
583. Try
584. Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
585. mycmd.ExecuteNonQuery()
586. MsgBox("Data sukses dihapus", vbInformation)
587. tampilkan()
588. ButtonX3_Click(sender, e)
589. Catch ex As Exception
590. MsgBox(Err.Description, vbCritical)
591. End
Try 592.
593. End Sub
594.
595. Private Sub ButtonX5_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX5.Click
596. Me.Dispose()
597. End Sub
598.
599. Private Sub dg_CellContentClick(ByVal sender As System.Object,
ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellContentClick
600.
601. End Sub
602.
603. Private Sub dg_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles dg.DoubleClick
604. Dim i As Integer
605. On Error Resume Next
606. i = dg.CurrentRow.Index
607. With dg
608. txtid.Text = .Item(0, i).Value
609. txtnama.Text = .Item(1, i).Value
610. txtgedung.Text = .Item(2, i).Value
611. txtkapasitas.Text = .Item(3, i).Value
612.
613. End With
614. txtnama.Focus()
615. End Sub
616.
617. Private Sub txtcari_GotFocus(ByVal sender As Object, ByVal e As
System.EventArgs) Handles txtcari.GotFocus
618. txtcari.SelectionStart = 0
619. txtcari.SelectionLength = Len(txtcari.Text)
620. End Sub
621.
622. Private Sub txtcari_TextChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles txtcari.TextChanged
623. If txtcari.Text <> "" Then
624.tampilkan("select * from ruang where nama_ruang like '" &
txtcari.Text & "%' order by id_ruang asc") 625.Else
626.tampilkan()

627. End If
628. End Sub
629.
630. Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles ButtonX1.Click
631. If txtcari.Text <> "" Then
632. tampilkan("select * from ruang where nama_ruang like '" &
txtcari.Text & "%' order by id_ruang asc")
633. Else
634. tampilkan()
635. End If
636. End Sub
637.
638. End Class

Menu Shift

Imports System.IO
Imports MySql.Data.MySqlClient
Public Class frmshift

Private Sub SplitContainer1_Panel1_Paint(ByVal sender As System.Object,


ByVal e As System.Windows.Forms.PaintEventArgs)

End Sub

Private Sub frmshift_Activated(ByVal sender As Object, ByVal e As


System.EventArgs) Handles Me.Activated
Me.MaximizeBox = False
Me.ControlBox = False
Me.MinimizeBox = False
Me.WindowState = 2
ubahaku()
End Sub
Sub tampilkan(Optional ByRef strq = "select * from shift order by
id_shift asc")
Dim q As String
q = strq
Dim ds As New DataSet
bukaKoneksi()
Dim sqldbadapter As New MySqlDataAdapter
sqldbadapter = New MySqlDataAdapter(q, conn)
sqldbadapter.Fill(ds)
Me.dg.DataSource = ds.Tables(0)
End Sub
Sub ambilkodeakhir()
bukaKoneksi()
Dim q As String = "select * from shift order by id_shift desc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader
Dim s As Integer = 0
If myread.Read Then
s = myread.Item(0)
End If
s += 1
txtid.Text = CStr(s)
txtjam.Focus()
myread.Close()
End Sub
Sub loadform()
Application.DoEvents()
Application.DoEvents()
Me.MdiParent = frmmain
Application.DoEvents()
Application.DoEvents()
bukaKoneksi()
tampilkan()
ambilkodeakhir()
End Sub
Private Sub frmshift_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
On Error GoTo eer
loadform()
Exit Sub
eer:
loadform()
End Sub
Sub ubahaku()
On Error Resume Next
dg.Top = ButtonX2.Top + ButtonX2.Height + 15
dg.Width = Me.Width
dg.Height = Panel1.Top - dg.Top
With (dg)
.Columns(0).Width = 13 / 100 * (.Width - 120)
.Columns(1).Width = 25 / 100 * (.Width - 120)
.Columns(2).Width = 35 / 100 * (.Width - 120)
.Columns(3).Width = 25 / 100 * (.Width - 120)
End With
End Sub
Private Sub frmshift_Resize(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Resize
ubahaku()
End Sub

Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX2.Click
bukaKoneksi()
Dim q As String = "select * from shift where id_shift='" &
txtid.Text & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader()
Dim mymsg As String = ""
If myread.HasRows Then
q = "update shift set jam='" & txtjam.Text & "' where
id_shift='" & txtid.Text & "'"
mymsg = "Data Sukses di update"
Else
myread.Close()
bukaKoneksi()
q = "select * from shift where jam='" & txtjam.Text & "'"
mycmd = New MySqlCommand(q, conn)
myread = mycmd.ExecuteReader
If myread.HasRows Then
MsgBox("Jam sudah ada", vbCritical)
myread.Close()
Exit Sub
End If
q = "insert into shift (jam) values('" & txtjam.Text & "')"
mymsg = "Data Sukses di tambahkan"
End If
myread.Close()

Try
mycmd = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
MsgBox(mymsg, vbInformation)
Application.DoEvents()
Application.DoEvents()
tampilkan()
tampilkan()
ButtonX3_Click(sender, e)
Catch ex As Exception
MsgBox(Err.Description, vbCritical)
End Try
End Sub

Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX3.Click
txtjam.Clear()
ambilkodeakhir()
End Sub

Private Sub ButtonX4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX4.Click
If MsgBox("Apakah anda yakin akan menghapus " & txtjam.Text & "
dari database?", vbOKCancel) = vbCancel Then Exit Sub
bukaKoneksi()
Dim q As String = "delete from shift where id_shift='" & txtid.Text
& "'"
Tr
y Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
MsgBox("Data sukses dihapus", vbInformation) tampilkan()
ButtonX3_Click(sender, e) Catch ex As Exception
MsgBox(Err.Description, vbCritical) End Try

End Sub

Private Sub ButtonX5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles But


Me.Dispose() End Sub

Private Sub dg_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.Dat

End Sub

Private Sub dg_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dg.DoubleC


Dim i As Integer
On Error Resume Next
i = dg.CurrentRow.Index With dg
txtid.Text = .Item(0, i).Value txtjam.Text = .Item(1, i).Value

End With txtjam.Focus()


End Sub

Private Sub LabelX7_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs)

End Sub
Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint

End Sub
End Class

Menu Biro
Imports System.IO
Imports MySql.Data.MySqlClient

Public Class frmbiro


Sub tampilkan(Optional ByRef strq = "select * from biro order by
id_biro asc")
Dim q As String
q = strq
Dim ds As New DataSet
bukaKoneksi()
Dim sqldbadapter As New MySqlDataAdapter
sqldbadapter = New MySqlDataAdapter(q, conn)
sqldbadapter.Fill(ds)
Me.dg.DataSource = ds.Tables(0)
dg.Columns(1).Width = 88 / 100 * (dg.Width - 120)

End Sub

Private Sub frmbiro_Load(ByVal sender As Object, ByVal e As


System.EventArgs) Handles Me.Load
tampilkan()
End Sub

Private Sub dg_CellContentClick(ByVal sender As System.Object, ByVal e


As System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellContentClick

End Sub

Private Sub dg_CellContentDoubleClick(ByVal sender As Object, ByVal e


As System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellContentDoubleClick

End Sub

Private Sub dg_CellDoubleClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles dg.CellDoubleClick
Dim i As Integer = dg.CurrentRow.Index
TextBoxX1.Text = dg.Item(1, i).Value
TextBoxX1.Tag = dg.Item(0, i).Value
End Sub

Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX1.Click
bukaKoneksi()
If TextBoxX1.Text = "" Then
MsgBox("Data kosong", vbCritical)
Exit Sub
End If
Dim q As String = "select * from biro where id_biro='" &
TextBoxX1.Tag & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader()
Dim mymsg As String = ""
If myread.HasRows Then
q = "update biro set nama_biro='" & TextBoxX1.Text & "' where
id_biro='" & TextBoxX1.Tag & "'"
mymsg = "Data Sukses di update"
Else
q = "insert into biro (nama_biro) values('" & TextBoxX1.Text &
"')"
mymsg = "Data Sukses di tambahkan"
End If
myread.Close()

Try
mycmd = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery() MsgBox(mymsg, vbInformation) Application.DoEvents() Application.DoEvents() ButtonX3_Click(sende
Catch ex As Exception MsgBox(Err.Description, vbCritical)
End Try End Sub
Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonX2.Click
bukaKoneksi()
Dim q As String = "delete from biro where id_biro='" & TextBoxX1.Tag & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)

mycmd.ExecuteNonQuery() tampilkan()
tampilkan() ButtonX3_Click(sender, e)
Catch ex As Exception MsgBox("Error", vbCritical)
End Try End Sub

Private Sub LabelX1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelX1.Click

End

Private Sub TextBoxX1_TextChanged(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles TextBoxX1.TextChanged

End Sub

Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX3.Click
tampilkan()
tampilkan()
TextBoxX1.Tag = ""
TextBoxX1.Text = ""
TextBoxX1.Focus()
End Sub
End Class

Menu Bidang
Imports System.IO
Imports MySql.Data.MySqlClient

Public Class frmbidang


Sub tampilkan(Optional ByRef strq = "select
bidang.id_bidang,biro.nama_biro,bidang.nama_bidang from bidang,biro where
biro.id_biro=bidang.id_biro")
Dim q As String
q = strq
Dim ds As New DataSet
bukaKoneksi()
Dim sqldbadapter As New MySqlDataAdapter
sqldbadapter = New MySqlDataAdapter(q, conn)
sqldbadapter.Fill(ds)
Me.dg.DataSource = ds.Tables(0)
dg.Columns(1).Width = 60 / 100 * (dg.Width - 120)

End Sub
Sub tampilbiro()
bukaKoneksi()
Dim q As String = "select * from biro order by nama_biro asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = mycmd.ExecuteReader
txtbiro.Items.Clear()
txtbiro.Items.Add("")
While myr.Read
txtbiro.Items.Add(myr.Item(1))
End While
End Sub
Private Sub frmbidang_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
tampilkan()
tampilbiro()
End Sub

Private Sub txtbiro_SelectedIndexChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtbiro.SelectedIndexChanged
bukaKoneksi()
If txtbiro.Text = "" Then
txtidbiro.Clear()
Exit Sub
End If
Dim q As String = "select id_biro from biro where nama_biro='" &
txtbiro.Text & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = mycmd.ExecuteReader

If myr.Read Then
txtidbiro.Text = myr.Item(0)
End If
End Sub

Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX1.Click
bukaKoneksi()
If txtbidang.Text = "" Or txtidbiro.Text = "" Then
MsgBox("Data kosong", vbCritical)
Exit Sub
End If
Dim q As String = "select * from bidang where id_bidang='" &
txtbidang.Tag & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader()
Dim mymsg As String = ""
If myread.HasRows Then
q = "update bidang set nama_bidang='" & txtbidang.Text &
"',id_biro='" & txtidbiro.Text & "' where id_bidang='" & txtbidang.Tag &
"'"
mymsg = "Data Sukses di update"
Else
q = "insert into bidang (id_biro,nama_bidang) values('" &
txtidbiro.Text & "','" & txtbidang.Text & "')"
mymsg = "Data Sukses di tambahkan"
End If
myread.Close()

Try
mycmd = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
MsgBox(mymsg, vbInformation)
Application.DoEvents()
Application.DoEvents()
ButtonX3_Click(sender, e)
Catch ex As Exception
MsgBox(Err.Description, vbCritical)
End Try

End Sub
Private Sub dg_CellDoubleClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles dg.CellDoubleClick
Dim i As Integer = dg.CurrentRow.Index
txtbidang.Text = dg.Item(2, i).Value
txtbidang.Tag = dg.Item(0, i).Value
End Sub

Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX3.Click
txtbidang.Tag = ""
txtbidang.Text = ""
txtidbiro.Text = ""
txtbiro.Text = ""
tampilkan()
tampilkan()
End Sub

Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX2.Click
bukaKoneksi()
Dim q As String = "delete from bidang where id_bidang='" &
txtbidang.Tag & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Try
mycmd.ExecuteNonQuery()
tampilkan()
tampilkan()
ButtonX3_Click(sender, e)
Catch ex As Exception
MsgBox("Error", vbCritical)
End Try
End Sub
End Class

Menu Gedung
Imports MySql.Data.MySqlClient Public Class frmgedung

Sub tampilkan(Optional ByRef strq = "select * from gedung order by id asc")


Dim q As String q = strq
Dim ds As New DataSet bukaKoneksi()
Dim sqldbadapter As New MySqlDataAdapter sqldbadapter = New MySqlDataAdapter(q, conn) sqldbadapte
Me.dg.DataSource = ds.Tables(0) dg.Columns(1).Width = 88 / 100 * (dg.Width - 120)

End Sub

Private Sub frmgedung_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


tampilkan() End Sub

Private Sub dg_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.Dat

End Sub

Private Sub dg_CellContentDoubleClick(ByVal sender As Object, ByVal e


As System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellContentDoubleClick

End Sub

Private Sub dg_CellDoubleClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles dg.CellDoubleClick
Dim i As Integer = dg.CurrentRow.Index
TextBoxX1.Text = dg.Item(1, i).Value
TextBoxX1.Tag = dg.Item(0, i).Value
End Sub

Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX1.Click
bukaKoneksi()
If TextBoxX1.Text = "" Then
MsgBox("Data kosong", vbCritical)
Exit Sub
End If
Dim q As String = "select * from gedung where id='" & TextBoxX1.Tag
& "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader()
Dim mymsg As String = ""
If myread.HasRows Then
q = "update gedung set nama_gedung='" & TextBoxX1.Text & "'
where id='" & TextBoxX1.Tag & "'"
mymsg = "Data Sukses di update"
Else
q = "insert into gedung (nama_gedung) values('" &
TextBoxX1.Text & "')"
mymsg = "Data Sukses di tambahkan"
End If
myread.Close()

Try
mycmd = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
MsgBox(mymsg, vbInformation)
Application.DoEvents()
Application.DoEvents()
ButtonX3_Click(sender, e)
Catch ex As Exception
MsgBox(Err.Description, vbCritical)
End Try

End Sub

Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX2.Click
bukaKoneksi()
Dim q As String = "delete from gedung where id='" & TextBoxX1.Tag &
"'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Try
mycmd.ExecuteNonQuery()
tampilkan()
tampilkan()
ButtonX3_Click(sender, e)
Catch ex As Exception
MsgBox("Error", vbCritical)
End Try
End Sub

Private Sub LabelX1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles LabelX1.Click

End Sub

Private Sub TextBoxX1_TextChanged(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles TextBoxX1.TextChanged

End Sub

Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX3.Click
tampilkan()
tampilkan()
TextBoxX1.Tag = ""
TextBoxX1.Text = ""
TextBoxX1.Focus()
End Sub
End Class

Menu Kesediaan

Imports MySql.Data.MySqlClient
Public Class frmkesediaan
Sub ambilkodeakhir()
bukaKoneksi()
Dim q As String = "select * from kesediaan order by noid desc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader
Dim s As String = ""
If myread.Read Then
s = myread.GetString(0)
End If
s = Val(s) + 1
While Len(s) < 5
s = "0" & s
End While
txtid.Text = s
txtidp.Focus()
myread.Close()
End Sub
Sub tampilkan(Optional ByVal myq As String = "")
On Error Resume Next
bukaKoneksi()
dx.Rows.Clear()
On Error Resume Next
Dim q As String = "select
kesediaan.noid,pembicara.nama_pembicara,kegiatan.nama_kegiatan,kesediaan.pe
riode,kesediaan.minggu,shift.jam,kesediaan.senin,kesediaan.selasa,kesediaan
.rabu,kesediaan.kamis,kesediaan.jumat from
kesediaan,pembicara,kegiatan,shift where
pembicara.id_pembicara=kesediaan.id_pembicara and kegiatan.id_kegiatan=
kesediaan.id_kegiatan and shift.id_shift=kesediaan.id_shift " & myq & "
order by kesediaan.noid asc,shift.jam asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim r As MySqlDataReader = mycmd.ExecuteReader
Dim b(11) As Object
While r.Read
If dx.Rows(dx.RowCount - 1).Tag <> r.Item(0) Or dx.RowCount = 0
Then
b(0) = r.Item(0)
b(1) = r.Item(1)
b(2) = r.Item(2)
b(3) = r.Item(3)
b(4) = r.Item(4)
Else
b(0) = ""
b(1) = ""
b(2) = ""
b(3) = ""
b(4) = ""
End If
For i As Integer = 5 To 10
b(i) = r.Item(i)
Next
dx.Rows.Add(b)
dx.Rows(dx.RowCount - 1).Tag = r.Item(0)
End While
End Sub

Private Sub frmkegiatan_Activated(ByVal sender As Object, ByVal e As


System.EventArgs) Handles Me.Activated
Me.MaximizeBox = False
Me.ControlBox = False
Me.MinimizeBox = False
Me.WindowState = 2
ubahaku()
End Sub
Private Sub frmkesediaan_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
On Error GoTo al
Application.DoEvents()
Application.DoEvents()
Me.MdiParent = frmmain
Application.DoEvents()
Application.DoEvents()
loadperiode()
Exit Sub
al:
Application.DoEvents()
Application.DoEvents()
Me.MdiParent = frmmain
Application.DoEvents()
Application.DoEvents()
loadperiode()

End Sub
Sub loadperiode()
SuperTabControl1.SelectedTabIndex = 0
ambilkodeakhir()
bukashift()
isicombo()
Dim i As Integer
srcperiode.Items.Add("-")
For i = 1 To 12
txtperiode.Items.Add(MonthName(i))
srcperiode.Items.Add(MonthName(i))
Next
txtperiode.Text = MonthName(Now.Month)
srcperiode.Text = "-"
srctahun.Items.Add("-")
For i = 1985 To 2050
txttahun.Items.Add(CStr(i))
srctahun.Items.Add(CStr(i))
Next
txttahun.Text = Now.Year
srctahun.Text = "-"
srcminggu.Text = "-"
tampilkan()

End Sub
Sub isicombo()
' txtidp.Items.Clear()
' txtidk.Items.Clear()
bukaKoneksi()
Dim q As String = "select * from pembicara order by id_pembicara
asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader

While myread.Read
txtidp.Items.Add(myread.Item(0))
End While
myread.Close()
q = "select * from kegiatan order by id_kegiatan asc"
mycmd = New MySqlCommand(q, conn)
myread = mycmd.ExecuteReader
While myread.Read
txtidk.Items.Add(myread.Item(0))
End While
End Sub
Sub bukashift()
dgi.Rows.Clear()
bukaKoneksi()
Dim q As String = "select * from shift order by id_shift asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader
Dim b(6) As Object
For i As Integer = 1 To 5
b(i) = "0"
Next
While myread.Read
b(0) = myread.Item(0) & ". " & myread.Item(1)
dgi.Rows.Add(b)
End While
End Sub
Sub ubahaku()
On Error Resume Next
SuperTabControl1.Width = Me.Width - 100
SuperTabControl1.Height = Panel1.Top - SuperTabControl1.Top
With (dgi)
.Columns(0).Width = 27 / 100 * (.Width - 120)
.Columns(1).Width = 15 / 100 * (.Width - 120)
.Columns(2).Width = 15 / 100 * (.Width - 120)
.Columns(3).Width = 15 / 100 * (.Width - 120)
.Columns(4).Width = 15 / 100 * (.Width - 120)
.Columns(5).Width = 15 / 100 * (.Width - 120)
End With
With (dx)
.Columns(0).Width = 15 / 100 * (.Width - 110)
.Columns(1).Width = 15 / 100 * (.Width - 110)
.Columns(2).Width = 15 / 100 * (.Width - 110)
.Columns(3).Width = 10 / 100 * (.Width - 110)
.Columns(4).Width = 9 / 100 * (.Width - 110)
.Columns(5).Width = 10 / 100 * (.Width - 110)
For i As Integer = 6 To 10
.Columns(i).Width = 6 / 100 * (.Width - 110)
Next
End With
End Sub
Private Sub frmkesediaan_Resize(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Resize
ubahaku()
End Sub

Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX1.Click
With frmpop
.tampilkan("pembicara", "select * from pembicara order by
id_pembicara")
.ShowDialog()
txtidp.Text = .w(0)
txtnama.Text = .w(1)
txtjabatan.Text = .w(3)
End With
End Sub

Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX2.Click
With frmpop
.tampilkan("kegiatan", "select * from kegiatan order by
id_kegiatan")
.ShowDialog()
txtidk.Text = .w(0)
txtnamak.Text = .w(1)
txturaian.Text = .w(2)
End With
End Sub

Private Sub txtidp_SelectedIndexChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtidp.SelectedIndexChanged
bukaKoneksi()
Dim q As String = "select * from pembicara where id_pembicara='" &
txtidp.Text & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader
If myread.Read Then
txtnama.Text = myread.GetString(1)
txtjabatan.Text = myread.GetString(3)
End If
End Sub

Private Sub txtidk_SelectedIndexChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtidk.SelectedIndexChanged
bukaKoneksi()
Dim q As String = "select * from kegiatan where id_kegiatan='" &
txtidk.Text & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader
If myread.Read Then
txtnamak.Text = myread.GetString(1)
txturaian.Text = myread.GetString(2)
End If

End Sub

Private Sub ButtonX6_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX6.Click
bukaKoneksi()
Dim i As Integer
Dim q As String = "select * from kesediaan where noid='" &
txtid.Text & "'"
If txtid.Text = "" Or txtidp.Text = "" Or txtidk.Text = "" Or
txtminggu.Text = "" Or txtperiode.Text = "" Or txttahun.Text = "" Then
MsgBox("data tidak lengkap", vbCritical)
Exit Sub
End If
Dim ada As Boolean = False
For i = 0 To dgi.RowCount - 1
If dgi.Item(1, i).Value = "1" Or dgi.Item(2, i).Value = "1" Or
dgi.Item(3, i).Value = "1" Or dgi.Item(4, i).Value = "1" Or dgi.Item(5,
i).Value = "1" Then
ada = True
End If
Next
If ada = False Then
MsgBox("Data kesediaan harus diisi", vbCritical)
Exit Sub
End If
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader()
Dim mymsg As String = ""
If myread.HasRows Then
bukaKoneksi()
' For i = 0 To dgi.RowCount - 1
' q = "update kesediaan set id_pembicara='" & txtidp.Text &
"',id_kegiatan='" & txtidk.Text & "',senin='" & dgi.Item(1, i).Value &
"',selasa='" & dgi.Item(2, i).Value & "',rabu='" & dgi.Item(3, i).Value &
"',kamis='" & dgi.Item(4, i).Value & "',jumat='" & dgi.Item(5, i).Value &
"',id_shift='" & CStr(i + 1) & "',minggu='" &
txtminggu.SelectedItem.ToString & "',periode='" & txtperiode.Text &
"',tahun='" & txttahun.Text & "' where noid='" & txtid.Text & "' and
id_shift='" & CStr(i + 1) & "'"
' mycmd = New MySqlCommand(q, conn)
' mycmd.ExecuteNonQuery()
'Next
q = "delete from kesediaan where noid='" & txtid.Text & "'"
Try
mycmd = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
ButtonX6_Click(sender, e)
Catch ex As Exception
MsgBox("Data gagal di update", vbCritical)
End Try

Else
bukaKoneksi()
For i = 0 To dgi.RowCount - 1
If dgi.Item(1, i).Value = "1" Or dgi.Item(2, i).Value = "1"
Or dgi.Item(3, i).Value = "1" Or dgi.Item(4, i).Value = "1" Or dgi.Item(5,
i).Value = "1" Then
q = "insert into kesediaan values('" & txtid.Text &
"','" & txtidp.Text & "','" & txtidk.Text & "','" & dgi.Item(1, i).Value &
"','" & dgi.Item(2, i).Value & "','" & dgi.Item(3, i).Value & "','" &
dgi.Item(4, i).Value & "','" & dgi.Item(5, i).Value & "','" & CStr(i + 1) &
"','" & txtminggu.SelectedItem.ToString & "','" & txtperiode.Text & "','" &
txttahun.Text & "')"
mycmd = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
End If
Next
mymsg = "Data Sukses di simpan"
MsgBox(mymsg)
bukashift()
End If
myread.Close()
ButtonX3_Click(sender, e)

End Sub

Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX3.Click

tampilkan()
txtidp.Text = ""
txtidk.Text = ""
txtnama.Clear()
txtjabatan.Clear()
txtnamak.Clear()
txturaian.Clear()
ambilkodeakhir()
txtidp.Focus()
End Sub

Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As


System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint

End Sub

Private Sub srcminggu_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
srcminggu.SelectedIndexChanged
If srcminggu.SelectedItem.ToString = "-" Then tampilkan() : Exit
Sub
tampilkan("and kesediaan.minggu='" &
srcminggu.SelectedItem.ToString & "'")
End Sub

Private Sub srcperiode_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
srcperiode.SelectedIndexChanged
If srcperiode.SelectedItem.ToString = "-" Then tampilkan() : Exit
Sub
tampilkan("and kesediaan.periode='" &
srcperiode.SelectedItem.ToString & "'")

End Sub

Private Sub srctahun_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
srctahun.SelectedIndexChanged
If srctahun.SelectedItem.ToString = "-" Then tampilkan() : Exit Sub
tampilkan("and kesediaan.tahun='" & srctahun.SelectedItem.ToString
& "'")

End Sub

Private Sub SuperTabControl1_SelectedTabChanged(ByVal sender As


System.Object, ByVal e As
DevComponents.DotNetBar.SuperTabStripSelectedTabChangedEventArgs) Handles
SuperTabControl1.SelectedTabChanged
ubahaku()
End Sub

Private Sub dx_CellContentClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles
dx.CellContentClick, dx.CellClick
openkesediaan()
End Sub
Sub openkesediaan()
On Error GoTo alen
Dim i As Integer = 0
Dim sk As String = dx.CurrentRow.Tag
Dim j As Integer = 0
Dim b(5) As String
If sk = "" Then Exit Sub
bukaKoneksi()
Dim q As String = "select * from kesediaan where noid='" & sk & "'
order by id_shift asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim r As MySqlDataReader = mycmd.ExecuteReader
While r.Read
txtid.Text = r.Item(0)
txtidp.Text = r.Item(1)
txtidk.Text = r.Item(2)
txtminggu.Text = r.Item("minggu")
txtperiode.Text = r.Item("periode")
txttahun.Text = r.Item("tahun")
For i = 1 To 5
dgi.Item(i, j).Value = r.Item(i + 2)
Next
j += 1
End While
Exit Sub
alen:
End Sub
Private Sub ButtonX4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ButtonX4.Click
If MsgBox("Apakah anda ingin menghapus daftar kesedian " &
txtid.Text & " ?", vbYesNo) = vbNo Then Exit Sub
bukaKoneksi()
Dim myc As MySqlCommand = New MySqlCommand("delete from kesediaan
where noid='" & txtid.Text & "'", conn)
Try
myc.ExecuteNonQuery()
MsgBox("Data telah dihapus")
ButtonX3_Click(sender, e)

Catch ex As Exception
MsgBox(Err.Description, vbCritical)
End Try
End Sub

Private Sub dgi_CellContentClick(ByVal sender As System.Object, ByVal e


As System.Windows.Forms.DataGridViewCellEventArgs) Handles
dgi.CellContentClick

End Sub

Private Sub dgi_CellEndEdit(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles dgi.CellEndEdit
If dgi.Item(e.ColumnIndex, e.RowIndex).Value <> "0" And
dgi.Item(e.ColumnIndex, e.RowIndex).Value <> "1" Then
MsgBox("Data merupakan bilangan binear,yaitu 0 dan 1",
vbCritical)
dgi.Item(e.ColumnIndex, e.RowIndex).Value = "0"
End If
End Sub

Private Sub dgi_CellValueChanged(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles
dgi.CellValueChanged

End Sub

Private Sub ButtonX5_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX5.Click
Me.Dispose()
End Sub
End Class

Imports MySql.Data.MySqlClient
Public Class frmnilai
Sub ubahaku()
On Error Resume Next
dg.Top = ButtonX2.Top + ButtonX2.Height + 15
dg.Width = Me.Width - 200
dg.Height = Me.Height - dg.Top - 100
With (dg)
.Columns(0).Width = 13 / 100 * (.Width - 120)
.Columns(1).Width = 25 / 100 * (.Width - 120)
.Columns(2).Width = 35 / 100 * (.Width - 120)
.Columns(3).Width = 25 / 100 * (.Width - 120)
End With
End Sub
Private Sub frmkegiatan_Resize(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Resize
ubahaku()
End Sub
Private Sub frmkegiatan_Activated(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Activated
Me.MaximizeBox = False
Me.ControlBox = False
Me.MinimizeBox = False
Me.WindowState = 2
ubahaku()
End Sub
Private Sub frmnilai_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
addkelist()
tampilkan()
On Error GoTo alen

Me.MdiParent = frmmain
Exit Sub
alen:
Me.MdiParent = frmmain

End Sub
Sub tampilkan(Optional ByRef strq = "select * from nilai_fitness order
by noid asc")
Dim q As String
q = strq
Dim ds As New DataSet

bukaKoneksi()
Dim sqldbadapter As New MySqlDataAdapter
sqldbadapter = New MySqlDataAdapter(q, conn)
sqldbadapter.Fill(ds)
Me.dg.DataSource = ds.Tables(0)
End Sub
Sub addkelist()
bukaKoneksi()
Dim q As String = "select * from kesediaan order by noid
asc,id_shift asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = mycmd.ExecuteReader
txtid.Items.Clear()
Dim ada As Boolean = False
While myr.Read
ada = False
For i As Integer = 0 To txtid.Items.Count - 1
If txtid.Items(i).ToString = myr.GetString(0) Then ada =
True
Next
If ada = False Then txtid.Items.Add(myr.GetString(0))
End While
End Sub
Sub hapus()
txtidk.Clear()
txtidp.Clear()
txtnama.Clear()
txtnamak.Clear()
txturaian.Clear()
txtjabatan.Clear()
txtnilai.Text = 0
End Sub
Private Sub txtid_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles txtid.SelectedIndexChanged
Dim j As Integer
On Error GoTo alen
hapus()
bukaKoneksi()
Dim q As String = "select * from kesediaan where noid='" &
txtid.Text & "' order by noid asc,id_shift asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = mycmd.ExecuteReader
While myr.Read
txtidp.Text = myr.Item(1)
txtidk.Text = myr.Item(2)
j =0
For i As Integer = 3 To 7
j = j + Val(myr.Item(i))
Next
txtnilai.Text = Val(txtnilai.Text) + j
End While
myr.Close()
bukaKoneksi()
q = "select * from pembicara where id_pembicara='" & txtidp.Text &
"'"
mycmd = New MySqlCommand(q, conn)
myr = mycmd.ExecuteReader
If myr.Read Then
txtnama.Text = myr.Item(1)
txtjabatan.Text = myr.Item(3)
End If
myr.Close()
bukaKoneksi()
q = "select * from kegiatan where id_kegiatan='" & txtidk.Text &
"'"
mycmd = New MySqlCommand(q, conn)
myr = mycmd.ExecuteReader
If myr.Read Then
txtnamak.Text = myr.Item(1)
txturaian.Text = myr.Item(2)
End If
myr.Close()
Exit Sub
alen:
MsgBox(Err.Description, vbCritical)
End Sub

Private Sub txtnamak_TextChanged(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles txtnamak.TextChanged, txtidk.TextChanged
End Sub

Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX2.Click
bukaKoneksi()
Dim q As String = "select * from nilai_fitness where noid='" &
txtid.Text & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader()
Dim mymsg As String = ""
If myread.HasRows Then
MsgBox("Data sudah ada", vbCritical)
Exit Sub
Else
q = "insert into nilai_fitness values('" & txtid.Text & "','" &
txtidp.Text & "','" & txtidk.Text & "','" & txtnilai.Text & "')"
mymsg = "Data Sukses di tambahkan"
End If
myread.Close()

Try
mycmd = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
MsgBox(mymsg, vbInformation)
Application.DoEvents()
Application.DoEvents()
ButtonX3_Click(sender, e)
Catch ex As Exception
MsgBox(Err.Description, vbCritical)
End Try
End Sub

Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX3.Click
hapus()
txtid.Focus()
tampilkan()
tampilkan()

End Sub

Private Sub ButtonX4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX4.Click
If MsgBox("Apakah anda yakin akan menghapus id=" & txtid.Text & "
dari database?", vbOKCancel) = vbCancel Then Exit Sub

Dim q As String = "delete from nilai_fitness where noid='" &


txtid.Text & "'"
Try
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
MsgBox("Data sukses dihapus", vbInformation)
tampilkan()
ButtonX3_Click(sender, e)
Catch ex As Exception
MsgBox(Err.Description, vbCritical)
End Try
End Sub
Private Sub dg_CellDoubleClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles dg.CellDoubleClick
Dim i As Integer
On Error Resume Next
i = dg.CurrentRow.Index
With dg
txtid.Text = .Item(0, i).Value

End With
txtid.Focus()
End Sub
Private Sub ButtonX5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ButtonX5.Click
Me.Dispose()
End Sub
End Class

Form seleksi jadwal

Imports MySql.Data.MySqlClient
Public Class frmjadwal
Sub addkelist()
bukaKoneksi()
Dim q As String = "select * from kesediaan order by noid
asc,id_shift asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = mycmd.ExecuteReader
txtid.Items.Clear()
Dim ada As Boolean = False
While myr.Read
ada = False
For i As Integer = 0 To txtid.Items.Count - 1
If txtid.Items(i).ToString = myr.GetString(0) Then ada =
True
Next
If ada = False Then txtid.Items.Add(myr.GetString(0))
End While

End Sub
Sub ubahaku()
On Error Resume Next
Exit Sub
With (dg)
.Columns(0).Width = 13 / 100 * (.Width - 120)
.Columns(1).Width = 25 / 100 * (.Width - 120)
.Columns(2).Width = 10 / 100 * (.Width - 120)
.Columns(3).Width = 15 / 100 * (.Width - 120)
.Columns(4).Width = 20 / 100 * (.Width - 120)
.Columns(5).Width = 20 / 100 * (.Width - 120)
End With
End Sub
Private Sub frmkegiatan_Activated(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Activated
Me.MaximizeBox = False
Me.ControlBox = False
Me.MinimizeBox = False
Me.WindowState = 2
ubahaku()
End Sub
Private Sub frmjadwal_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
On Error GoTo eer
loadform()
Exit Sub
eer:
loadform()
End Sub
Sub loadform()
Application.DoEvents()
Application.DoEvents()
Me.MdiParent = frmmain
Application.DoEvents()
Application.DoEvents()
addkelist()
tampilkan()
addlistruang()

Dim i As Integer
For i = 1 To 12
txtperiode1.Items.Add(MonthName(i))
Next
For i = 1985 To 2050
txttahun.Items.Add(CStr(i))
Next

End Sub
Sub addlistruang()
Dim q As String = "select * from ruang order by id_ruang asc"
bukaKoneksi()
Dim myc As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = myc.ExecuteReader
While myr.Read
txtidr.Items.Add(myr.Item(1))
End While
End Sub
Sub hapus()
txtids.Items.Clear()
txtids.Items.Add("")
txtids.Text = ""
txthari.Items.Clear()
txthari.Items.Add("")
txthari.Text = ""
txtminggu.Clear()
txtper.Clear()
txtthn.Clear()
txtidk.Clear()
txtidp.Clear()
txtnama.Clear()
txtjabatan.Clear()
txtnamak.Clear()
txturaian.Clear()
End Sub
Private Sub txtid_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs)

End Sub
Sub tampilkan(Optional ByRef strq = "select * from jadwal order by noid
asc")
Dim q As String
q = strq
Dim ds As New DataSet
bukaKoneksi()
Dim sqldbadapter As New MySqlDataAdapter
sqldbadapter = New MySqlDataAdapter(q, conn)
sqldbadapter.Fill(ds)
Me.dg.DataSource = ds.Tables(0)
End Sub
Private Sub txtid_SelectedIndexChanged_1(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles txtid.SelectedIndexChanged
Dim j As Integer
On Error Resume Next
hapus()
bukaKoneksi()
Dim q As String = "select * from kesediaan where noid='" &
txtid.Text & "' order by id_shift asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = mycmd.ExecuteReader
While myr.Read
txtidp.Text = myr.Item(1)
txtidk.Text = myr.Item(2)

txtids.Items.Add(myr.Item("id_shift"))
End While
txtminggu.Text = myr.Item(9)
txtper.Text = myr.Item(10)
txtthn.Text = myr.Item(11)
myr.Close()
bukaKoneksi()
q = "select * from pembicara where id_pembicara='" & txtidp.Text &
"'"
mycmd = New MySqlCommand(q, conn)
myr = mycmd.ExecuteReader
If myr.Read Then
txtnama.Text = myr.Item(1)
txtjabatan.Text = myr.Item(3)
End If
myr.Close()
bukaKoneksi()
q = "select * from kegiatan where id_kegiatan='" & txtidk.Text &
"'"
mycmd = New MySqlCommand(q, conn)
myr = mycmd.ExecuteReader
If myr.Read Then
txtnamak.Text = myr.Item(1)
txturaian.Text = myr.Item(2)
End If
myr.Close()
Exit Sub
alen:
MsgBox(Err.Description, vbCritical)
End Sub

Private Sub txtids_SelectedIndexChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtids.SelectedIndexChanged
If txtids.Text = "" Then Exit Sub
bukaKoneksi()
txthari.Items.Clear()
txthari.Items.Add("")
txthari.Text = ""
Dim j As Integer
Dim ada As Boolean
Dim q As String = "select * from kesediaan where noid='" &
txtid.Text & "' and id_shift='" & txtids.Text & "' order by id_shift asc"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = mycmd.ExecuteReader
While myr.Read

Dim al As String() = {"", "", "", "senin", "selasa", "rabu",


"kamis", "jumat"}
j =0
For i As Integer = 3 To 7
If myr.Item(i) = "1" Then
ada = False
For j = 0 To txthari.Items.Count - 1
If txthari.Items(j) = al(i) Then ada = True : Exit
For
Next
If ada = False Then txthari.Items.Add(al(i))
End If
Next
End While
End Sub

Private Sub txtidr_SelectedIndexChanged(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles txtidr.SelectedIndexChanged
Dim q As String = "select * from ruang where nama_ruang='" &
txtidr.Text & "'"
bukaKoneksi()
Dim myc As MySqlCommand = New MySqlCommand(q, conn)
Dim myr As MySqlDataReader = myc.ExecuteReader
If myr.Read Then
txtidruang.Text = myr.Item(0)
End If

End Sub

Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX2.Click
bukaKoneksi()
Dim i As Integer
Dim q As String = "select * from jadwal where noid='" & txtid.Text
& "' and id_shift='" & txtids.Text & "' and hari='" & txthari.Text & "'"
Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
Dim myread As MySqlDataReader = mycmd.ExecuteReader()
Dim mymsg As String = ""
If myread.HasRows Then
bukaKoneksi()

q = "delete from jadwal where noid='" & txtid.Text & "' and
id_shift='" & txtids.Text & "' and hari='" & txthari.Text & "'"
Try
mycmd = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
ButtonX2_Click(sender, e)
Exit Sub
Catch ex As Exception
MsgBox("Data gagal di update" & vbCrLf & Err.Description,
vbCritical)
End Try

Else
bukaKoneksi()
q = "select * from jadwal where minggu='" & txtminggu.Text & "'
and periode='" & txtper.Text & "' and tahun='" & txtthn.Text & "' and
hari='" & txthari.Text & "' and id_shift='" & txtids.Text & "' and
id_ruang='" & txtidruang.Text & "'"
mycmd = New MySqlCommand(q, conn)
Dim myku As MySqlDataReader = mycmd.ExecuteReader()
If myku.HasRows Then
MsgBox("Ruang sudah terisi", vbCritical)
Exit Sub
End If
bukaKoneksi()
Dim s As String = IIf(rd.Checked, rd.Text, rd2.Text)
q = "insert into jadwal values('" & txtid.Text & "','" &
txtidp.Text & "','" & txtidk.Text & "','" & txtminggu.Text & "','" &
txthari.Text & "','" & txtids.Text & "','" & s & "','" & txtidruang.Text &
"','" & txtper.Text & "','" & txtthn.Text & "')"
Try

mycmd = New MySqlCommand(q, conn)


mycmd.ExecuteNonQuery()
Application.DoEvents()
Application.DoEvents()
Application.DoEvents()
bukaKoneksi()
Dim jkes As Integer = 0
Dim jjad As Integer = 0
q = "select * from kesediaan where noid='" & txtid.Text &
"'"
mycmd = New MySqlCommand(q, conn)
myku = mycmd.ExecuteReader()
While myku.Read
jkes = jkes + 1
End While
myku.Close()
bukaKoneksi()
q = "select * from jadwal where noid='" & txtid.Text & "'"
mycmd = New MySqlCommand(q, conn)
myku = mycmd.ExecuteReader()
While myku.Read
jjad = jjad + 1
End While
myku.Close()
If jkes = jjad Then
bukaKoneksi()
q = "delete from nilai_fitness where noid='" &
txtid.Text & "'"
mycmd = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
If frmnilai.IsHandleCreated = True Then
frmnilai.tampilkan()
End If
End If
Catch ex As Exception
MsgBox("Data gagal di simpan" & vbCrLf & Err.Description,
vbCritical)

End Try
End If
myread.Close()
ButtonX1_Click(sender, e)
End Sub

Private Sub ButtonX1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX1.Click
hapus()
txtid.Focus()
tampilkan()
End Sub

Private Sub dg_CellContentClick(ByVal sender As System.Object, ByVal e


As System.Windows.Forms.DataGridViewCellEventArgs) Handles
dg.CellContentClick

End Sub

Private Sub dg_CellDoubleClick(ByVal sender As Object, ByVal e As


System.Windows.Forms.DataGridViewCellEventArgs) Handles dg.CellDoubleClick
Dim i As Integer = dg.CurrentRow.Index
txtid.Text = dg.Item(0, i).Value
txtids.Text = dg.Item(5, i).Value
txthari.Text = dg.Item(4, i).Value
End Sub

Private Sub ButtonX4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX4.Click
If MsgBox("Apakah anda yakin akan ID= " & txtid.Text & " dari
database?", vbOKCancel) = vbCancel Then Exit Sub
bukaKoneksi()
Dim q As String = "delete from jadwal where noid='" & txtid.Text &
"'"
Tr
y Dim mycmd As MySqlCommand = New MySqlCommand(q, conn)
mycmd.ExecuteNonQuery()
Application.DoEvents()
Application.DoEvents()
tampilkan()
ButtonX1_Click(sender, e)
Catch ex As Exception
MsgBox(Err.Description, vbCritical)
End Try

End Sub

Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As


System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint

End Sub

Private Sub txthari1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txthari1.SelectedIndexChanged
tampilkan("select * from jadwal where hari='" & txthari1.Text & "'
order by noid asc")
End Sub

Private Sub txtminggu1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txtminggu1.SelectedIndexChanged
tampilkan("select * from jadwal where minggu='" & txtminggu1.Text &
"' order by noid asc")

End Sub

Private Sub txtperiode1_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txtperiode1.SelectedIndexChanged
tampilkan("select * from jadwal where periode='" & txtperiode1.Text
& "' order by noid asc")

End Sub

Private Sub txttahun_SelectedIndexChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
txttahun.SelectedIndexChanged
tampilkan("select * from jadwal where tahun='" & txttahun.Text & "'
order by noid asc")

End Sub

Private Sub ButtonX3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ButtonX3.Click
tampilkan()
End Sub
End Class
LAMPIRAN 4

QUESIONER
LAMPIRAN 4

Kuesioner Penelitian Sistem Penjadwalan Kegiatan

Nama :
Staff Bagian:

Petunjuk Pengisian
Beri tanda silang (X) pada alternative jawaban yang disediakan !

1. Apakah sistem yang ada saat ini berjalan dengan baik?


a. Ya
b. Tidak
2. Apakah perlu dibangun sistem yang menunjang pekerjaan anda saat ini?
a. Ya
b. Tidak
3. Apakah pencarian berkas-berkas yang diperlukan membutuhkan waktu yang
lama ?
a. Ya
b. Tidak
4. Apakah sering terjadi kendala dalam pembuatan jadwal kegiatan ?
a. Ya
b. Tidak
5. Apakah yang diharapkan tentang sistem yang akan dibangun?
Sederhana dan mudah digunakan
Menarik walaupun sulit digunakan

Hasil Kuesioner

1. Pertanyaan 1 :

Pertanyaan Jumlah Persentase

Apakah sistem yang ada

saat ini berjalan dengan

baik?

A. Ya 1 20%

B. Tidak 4 80%

2. Pertanyaan 2 :
Pertanyaan Jumlah Persentase

Apakah perlu dibangun

sistem yang dapat

menunjang pekerjaan anda

saat ini?

A.Ya 5 100%

B. Tidak 0 0%
3. Pertanyaan 3 :
Pertanyaan Jumlah Persentase

Apakah pencarian berkas-berkas

yang diperlukan membutuhkan

waktu yang lama ?

A.Ya

B. Tidak 4 80%

1 20%

4. Pertanyaan 4 :
Pertanyaan Jumlah Persentase

Apakah sering terjadi kendala

dalam pembuatan jadwal

kegiatan ?

A.Ya 3 60%

B. Tidak 2 40%

5. Pertanyaan 5 :

Pertanyaan Jumlah Persentase

Apakah yang diharapkan tentang

sistem yang akan dibangun?

A. Sederhana dan Mudah 5 100%


digunakan

B. Menarik walupun sulit 0 0%

digunakan

LAMPIRAN 5
SURAT PERMOHONAN
PENELITIAN
LAMPIRAN 7
PENGUJIAN BLACKBOX
PENGUJIAN BLACKBOX

N0 Rancangan Proses Hasil Yang Diharapkan Hasil Ket


1. Username dan password, klik Masuk halaman Account user Sesuai Level=
tombol “LOGIN” User
2. Klik menu “User” Menampilkan halaman data user Sesuai
3. Klik tombol “Simpan” Data user yang telah di input Sesuai
tersimpan didatabase user
4. Klik tombol “Batal” Data user batal di input Sesuai
5. Klik tombol “Keluar” pada Admin keluar dari form user Sesuai
“User”
6. Klik menu “Data” pilih list Menampilkan halaman data Sesuai
“Pembicara” pembicara
7. Klik tombol “Simpan” Data pembicara yang di input Sesuai
tersimpan didatabase pembicara
8. Klik tombol “Batal” Data pembicara batal di input Sesuai Form
diisi
9. Klik tombol “Hapus” pada Data pembicara terhapus Sesuai
“Pembicara”
10. Klik combobox “Cari Nama” Menampilkan seluruh nama Sesuai
pada “Pembicara” pembicara yang telah disimpan
11. Klik combobox “Biro” pada Menampilkan seluruh Biro Sesuai
“Pembicara”
12. Klik combobox “Bidang” Menampilkan seluruh bidang Sesuai
pada “Pembicara”
13. Klik tombol “Batal” Data user batal di input Sesuai
14. Klik tombol “Keluar” pada Admin keluar dari form Sesuai
“Pembicara” pembicara
15. Klik menu “Data” pilih list Menampilkan halaman data Sesuai
“Kegiatan” kegiatan
16. Klik tombol “Tambah” Menampilkan form untuk Sesuai
menambah data kegiatan
15. Klik tombol “Simpan” Data telah tersimpan didatabase Sesuai Form
kegiatan diisi
16 Klik tombol “Edit” Menampilkan form untuk Sesuai
mengedit data kegiatan
17. Klik tombol “Batal” Data user batal di input Sesuai
18. Klik tombol “Hapus” pada Data pembicara terhapus Sesuai
“Kegiatan”
19. Klik tombol “Tutup” pada Data pembicara batal di input Sesuai
“Kegiatan”
20. Klik menu “Data” pilih list Menampilkan halaman data ruang Sesuai
“Ruang”
21. Klik tombol “Tambah” Menampilkan form untuk Sesuai
menambah data ruang
22. Klik tombol “Simpan” Data telah tersimpan didatabase Sesuai Form
ruang diisi
23. Klik tombol “Edit” Menampilkan form untuk Sesuai
mengedit data ruang
24. Klik tombol “Batal” Data user batal di input Sesuai
25. Klik tombol “Hapus” pada Data ruang terhapus Sesuai
“Ruang”
26. Klik tombol “Tutup” pada Data ruang batal di input Sesuai
“Ruang”
27. Klik menu “Data” pilih list Menampilkan halaman data shift Sesuai
“Shift”
28. Klik tombol “Tambah” Menampilkan form untuk Sesuai
menambah data shift
29. Klik tombol “Simpan” Data telah tersimpan didatabase Sesuai Form
shift diisi
30. Klik tombol “Edit” Menampilkan form untuk Sesuai
mengedit data shift
31. Klik tombol “Batal” Data user batal di input Sesuai
32. Klik tombol “Hapus” pada Data shift terhapus Sesuai
“Shift”
33. Klik tombol “Tutup” pada Data shift batal di input Sesuai
“Shift”
34. Klik menu “Data” pilih list Menampilkan halaman data Biro Sesuai
“Biro”
35. Klik tombol “Tambah” Menampilkan form untuk Sesuai Form
menambah data Biro diisi
36. Klik tombol “Simpan” Data telah tersimpan didatabase Sesuai
Biro
37. Klik tombol “Edit” Menampilkan form untuk Sesuai
mengedit data Biro
38. Klik tombol “Batal” Data user batal di input Sesuai
39. Klik tombol “Hapus” pada Data Biro terhapus Sesuai
“Biro”
40. Klik tombol “Tutup” pada Data Biro batal di input Sesuai
“Biro”
41. Klik menu “Data” pilih list Menampilkan halaman data Sesuai
“Bidang” bidang
42. Klik tombol “Tambah” Menampilkan form untuk Sesuai Form
menambah data bidang diisi
43. Klik tombol “Simpan” Data telah tersimpan didatabase Sesuai
bidang
45. Klik tombol “Edit” Menampilkan form untuk Sesuai
mengedit data bidang
46. Klik tombol “Batal” Data user batal di input Sesuai
47. Klik tombol “Hapus” pada Data bidang terhapus Sesuai
“bidang”
48. Klik tombol “Tutup” pada Data bidang batal di input Sesuai
“bidang”
49. Klik menu “Data” pilih list Menampilkan halaman data Sesuai
“Gedung” gedung
50. Klik tombol “Tambah” Menampilkan form untuk Sesuai Form
menambah data gedung diisi
51. Klik tombol “Simpan” Data telah tersimpan didatabase Sesuai
gedung
52. Klik tombol “Edit” Menampilkan form untuk Sesuai
mengedit data gedung
53. Klik tombol “Batal” Data user batal di input Sesuai
54. Klik tombol “Hapus” pada Data gedung terhapus Sesuai
“gedung”
55. Klik tombol “Tutup” pada Data gedung batal di input Sesuai
“gedung ”
56. Klik menu “Penjadwalan” Menampilkan halaman data Sesuai
pilih list “Kesediaan” kesediaan
57. Klik tombol “Tambah” Menampilkan form untuk Sesuai
menambah data kesediaan
58. Klik tombol “Simpan” Data telah tersimpan didatabase Sesuai Form
kesediaan diisi
59. Klik tombol “Edit” Menampilkan form untuk Sesuai
mengedit data kesediaan
60. Klik tombol “Batal” Data user batal di input Sesuai
61. Klik tombol “Hapus” pada Data kesediaan terhapus Sesuai
“kesediaan”
62. Klik combo box “periode”, Menampilkan halaman periode Sesuai
pilih periode per bulan bulan untuk melanjutkan
63. Klik combobox “Minggu” Menampilkan minggu Sesuai
64. Klik combo box “Tahun”, Menampilkan halaman tahun sesuai
pilih tahun untuk data kesediaan
65. Klik tombol “Tutup” pada Data kesediaan batal di input Sesuai
“kesediaan”
66. Klik menu “Penjadwalan” Menampilkan halaman data Nilai Sesuai
pilih list “Nilai Fitnes” Fitness
67. Klik tombol “Tambah” Menampilkan form untuk Sesuai
menambah data nilai fitness
68. Klik tombol “Simpan” Data telah tersimpan didatabase Sesuai Form
nilai fitness diisi
69. Klik tombol “Edit” Menampilkan form untuk Sesuai
mengedit data nilai fitness
70. Klik tombol “Batal” Data user batal di input Sesuai
71. Klik tombol “Hapus” pada Data nilai fitness terhapus Sesuai
“Nilai Fitness”
72. Klik tombol “Tutup” pada Data nilai fitness batal di input Sesuai
“Nilai Fitness”
73. Klik menu “Penjadwalan” Menampilkan halaman data Sesuai
pilih list “Seleksi Jadwal” seleksi jadwal
74. Klik tombol “Tambah” Menampilkan form untuk Sesuai
menambah data seleksi jadwal
75. Klik tombol “Simpan” Data telah tersimpan didatabase Sesuai Form
seleksi jadwal diisi
76. Klik tombol “Edit” Menampilkan form untuk Sesuai
mengedit data seleksi jadwal
77. Klik tombol “Batal” Data user batal di input Sesuai
78. Klik tombol “Hapus” pada Data seleksi jadwal terhapus Sesuai
“Seleksi Jadwal”
79. Klik combo box “periode”, Menampilkan halaman periode Sesuai
pilih periode per bulan bulan untuk melanjutkan
Klik combobox “Minggu” Menampilkan minggu Sesuai
80. Klik combobox “Tahun”, Menampilkan halaman tahun sesuai
Pilih tahun untuk data seleksi jadwal
81. Klik tombol “Tutup” pada Data seleksi jadwal batal di input Sesuai
“Seleksi Jadwal”
82. Klik menu “Laporan” pilih Menampilkan form laporan Sesuai
list “Kesediaan” kesediaan
83. Klik combobox “periode”, Menampilkan halaman periode Sesuai
pilih periode per bulan bulan untuk melanjutkan
84. Klik combobox “Tahun”, Menampilkan halaman tahun sesuai
Pilih tahun untuk laporan kesediaan
85. Klik tombol “OK” pada form Menampilkan laporan kesediaan Sesuai
laporan kesediaan
86. Klik tombol “Print” pada Cetak laporan pembicara Sesuai
halaman laporan kesediaan
87. Klik tombol “Batal” pada Laporan kesediaan batal di cetak Sesuai
halaman laporan kesediaan
88. Klik menu “Laporan” pilih Menampilkan form laporan Sesuai
list “Jadwal” jadwal
89. Klik combobox “laporan” Menampilkan seluruh form di Sesuai
pada form laporan jadwal laporan jadwal
90. Klik combobox “periode”, Menampilkan halaman periode Sesuai
pilih laporan periode per bulan untuk laporan jadwal
bulan
91. Klik combobox “Tahun”, Menampilkan halaman tahun sesuai
Pilih tahun untuk laporan jadwal
92. Klik tombol “Ok” untuk Menampilkan halaman laporan Sesuai
proses laporan jadwal per periode atau per tahun
93. Klik tombol “print” pada Cetak laporan jadwal Sesuai
halaman laporan jadwal
94. Klik tombol “Batal” pada Laporan jadwal batal di cetak Sesuai
halaman laporan jadwal
95. Pilih “Pembicara” pada Menampilkan form laporan Sesuai
combobox “Laporan” pembicara
96. Klik combobox “pembicara” Menampilkan seluruh pembicara Sesuai
pada form laporan pembicara
97. Klik combobox “Kegiatan” Menampilkan seluruh kegiatan Sesuai
pada form laporan pembicara
98. Klik combobox “Shift” pada Menampilkan seluruh shift Sesuai
form pembicara
99. Klik combobox “Ruang” Menampilkan seluruh ruang Sesuai
pada form pembicara
100. Klik tombol “Ok” untuk Menampilkan halaman laporan Sesuai
proses laporan pembicara pembicara
101. Klik tombol “print” pada Cetak laporan pembicara Sesuai
halaman laporan pembicara
102. Klik tombol “Batal” pada Laporan pembicara batal di cetak Sesuai
halaman laporan pembicara
103. Pilih “Kegiatan” pada Menampilkan form laporan Sesuai
combobox “Laporan” di form kegiatan
laporan jadwal
104. Klik combobox “Kegiatan” Menampilkan seluruh Kegiatan Sesuai
pada form laporan Kegiatan
105. Klik combobox “Pembicara” Menampilkan seluruh pembicara Sesuai
pada form laporan Kegiatan
106. Klik combobox “Shift” pada Menampilkan seluruh shift Sesuai
form Kegiatan
107. Klik combobox “Ruang” Menampilkan seluruh ruang Sesuai
pada form Kegiatan
108. Klik tombol “Ok” untuk Menampilkan halaman laporan Sesuai
proses laporan Kegiatan
109. Klik tombol “print” pada Cetak laporan kegiatan Sesuai
halaman laporan kegiatan
110. Klik tombol “Batal” pada Laporan kegiatan batal di cetak Sesuai
halaman laporan kegiatan
111. Pilih “Ruang” pada Menampilkan form laporan ruang Sesuai
combobox “Laporan”
112. Klik combobox “Ruang” Menampilkan seluruh ruang Sesuai
pada form laporan ruang
113. Klik combobox “Hari” pada Menampilkan seluruh hari Sesuai
form laporan ruang
114. Klik combobox “Periode” Menampilkan periode/bulan Sesuai
pada form laporan ruang
115. Klik combobox “Tahun” Menampilkan tahun Sesuai
pada form laporan ruang
116. Klik tombol “Ok” untuk Menampilkan halaman laporan Sesuai
proses laporan ruang ruang
117. Klik tombol “print” pada Cetak laporan ruang Sesuai
halaman laporan ruang
118. Klik tombol “Batal” pada Laporan ruang batal di cetak Sesuai
halaman laporan ruang
119. Pilih “Hari” pada combobox Menampilkan form laporan hari Sesuai
“Laporan” di form laporan
jadwal
120. Klik combobox “Hari” pada Menampilkan seluruh hari Sesuai
form laporan hari
121. Klik combobox “Pembicara” Menampilkan seluruh pembicara Sesuai
pada form laporan hari
122. Klik combobox “Kegiatan” Menampilkan seluruh kegiatan Sesuai
pada form laporan hari
123. Klik combobox “Ruang” Menampilkan seluruh hari Sesuai
pada form laporan hari
124. Klik tombol “Ok” untuk Menampilkan laporan hari Sesuai
proses laporan hari
125. Klik tombol “print” pada Cetak laporan hari Sesuai
halaman laporan hari
126. Klik tombol “Batal” pada Laporan hari batal di cetak Sesuai
halaman laporan hari
127. Klik Menu “File” pilih list Menampilkan kembali halaman Sesuai
“EXIT” login
128. Klik menu “File” pilih list Keluar dari Menu Home Sesuai
“LOGOUT”

Anda mungkin juga menyukai