PEMBUATAN SISTEM INFORMASI
KEGIATAN AKADEMIK DAN ADMINISTRASI SEKOLAH
(STUDI KASUS: SMP PASUNDAN 1 BANDUNG)
SKRIPSI
Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik
Pada Jurusan Teknik Informatika Fakultas Sains dan Teknologi
Oleh
Inayatul Ummah
207700398
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SUNAN GUNUNG DJATI
BANDUNG
2012
PEMBUATAN SISTEM INFORMASI
KEGIATAN AKADEMIK DAN ADMINISTRASI SEKOLAH
(Studi Kasus: SMP Pasundan 1 Bandung)
Oleh:
Inayatul Ummah
207 700 398
Menyetujui:
Pembimbing I
Wisnu Uriawan, S.T., M.Kom.
NIP. 197811182009121002
Pembimbing II
Adam Faroqi, S.T., M.T.
NIP. 197405162009121001
Mengetahui:
Dekan Fakultas
Sains dan Teknologi
Dr. H. M. Subandi, Drs., Ir., MP.
NIP. 195404241985031004
Ketua Jurusan
Teknik Informatika
H. Cecep Nurul Alam, S.T., M.T.
NIP. 197804172005011005
LEMBAR PENGESAHAN
Skripsi yang berjudul PEMBUATAN SISTEM INFORMASI KEGIATAN
AKADEMIK DAN ADMINISTRASI SEKOLAH (Studi Kasus: SMP
Pasundan 1 Bandung) ini dinyatakan sah dan telah disidangkan dalam siding
munaqasah Fakultas Sains dan Teknologi UIN Sunan Gunung Djati Bandung
pada tanggal 30 April 2012 oleh majelis sidang yang terdiri dari :
Bandung, Mei 2012
Ketua Majelis
Dr. M. Agus Salim, Drs., MP.
NIP. 197811182009121002
Sekretaris
Ichsan Taufik, S.T., M.T
NIP. 197405162009121001
Mengetahui:
Penguji I
H. Cecep Nurul Alam, S.T., M.T.
NIP. 197804172005011005
Penguji II
Mohammad Irfan, S.T., M.Kom.
NIP. 198310232009121005
RIWAYAT HIDUP
Penulis bernama Inayatul Ummah yang lahir di
Bandung pada tanggal 6 Juni 1990 merupakan anak ke
empat dari empat bersaudara dari pasangan orang tua,
ayah bernama Didi Supriadi dan Ibu bernama Oom
Munawaroh yang beralamat di Jalan Desa Cipadung
01/13 No. 234 Cibiru Bandung.
Penulis menempuh tingkat pendidikan antara lain:
1. SDN Cikudayasa 1 di Bandung, lulus pada tahun 2001.
2. Mts Nurrohmah di Bandung, lulus pada tahun 2004.
3. MAN 1 Bandung di Bandung, lulus pada tahun 2007.
4. UIN Sunan Gunung Djati Bandung Fakultas Sains dan Teknologi Jurusan
Teknik Informatika, lulus pada tahun 2012. Dengan mengambil judul Tugas
Akhir “PEMBUATAN SISTEM INFORMASI KEGIATAN AKADEMIK DAN
ADMINISTRASI SEKOLAH (STUDI KASUS: SMP PASUNDAN 1
BANDUNG)”.
MOTTO
Al-Baqarah (286) :
ALLAH tidak membebani seseorang melainkan sesuai kesanggupannya.
Ia mendapat pahala (dari kebajikan) yang diusahakannya dan
mendapat siksa (dari kejahatan) yang dikerjakannya.
Ada daya yang menghendaki engkau mewujudkan takdirmu;
kau dibiarkan mencicipi sukses, untuk menambah semangatmu.
Manusia tidak perlu takut akan hal-hal yang tidak diketahui,
Kalau mereka sanggup meraih apa yang mereka butuhkan dan inginkan.
(#Alchemist by Paulo Coelho, @paulocoelho)
Success is never about being the best – it is about becoming your self-best.
Your heart knows long before your head does. Be mindful with your mind.
Think less – feel more. Worry less – do more.
(#UltimateU by Rene Suhardono, @ReneCC)
HALAMAN PERSEMBAHAN
Ku persembahkan skripsi ini untuk:
Kedua Orang Tua ku, Apa dan Ibu. Terimakasih atas segala perjuangan, pengorbanan, doa dan dukungan yang tak
terhingga. Skripsi ini menjadi salah satu cara bakti yang dapat ku persembahkan untuk kalian.
You are the best I ever had.
My beloved Sisters and Brothers, Teh Nia dan A’Mulz, A’Ucup dan Mba Gesthi, Teh Ippy dan A’Riri, serta ketiga
ponakan ku Azka, Naura dan Kenzie. Terimakasih yang sebesar-besarnya atas keceriaan, saran, kritik, nasehat, semangat
dan doa yang diberikan. Aku tidak akan pernah bisa bertahan sampai saat ini jika tidak ada kalian.
Sahabat-sahabat terbaik ku di IF-B 2007, Fizhah, Eka, Hilman dan yang tidak dapat ku sebutkan satu per satu, dan yang
sama-sama berjuang pada sidang Munaqasah April 2012, Fachrul Aziz, Fido, Fachri dan Haidar.
Dan sahabat ku Mia dan Suci. Semangat, doa dan dorongan kalian membuat tekad ku kokoh untuk selalu melangkah
dengan yakin.
Dan untuk #AozoraKun.
Unconsciously, you became my inspiration. Thanks a lot for your advice.
i
PEMBUATAN SISTEM INFORMASI
KEGIATAN AKADEMIK DAN ADMINISTRASI SEKOLAH
(Studi Kasus: SMP Pasundan 1 Bandung)
Inayatul Ummah – NIM 207700398
Jurusan Teknik Informatika
ABSTRAKSI
Perkembangan teknologi informasi dapat dimanfaatkan oleh Sekolah
Menengah Pertama (SMP) Pasundan 1 Bandung untuk membangun suatu sistem
informasi untuk memberikan layanan kepada civitas akademika di antaranya
memberikan informasi mengenai kegiatan akademik dan administrasi sekolah,
khususnya kepada orang tua/wali untuk memonitoring kegiatan anaknya di
sekolah.
Sistem informasi yang dibangun adalah sistem informasi berbasis web
yang mencakup informasi mengenai data pembayaran, absensi, nilai, jadwal mata
pelajaran, jadwal mengajar bagi guru mata pelajaran serta informasi mengenai
kegiatan akademik dan tentatif yang dilaksanakan oleh sekolah. Sistem informasi
ini diintegrasikan dengan fitur sms gateway. Sms gateway adalah sebuah
perangkat lunak yang menggunakan bantuan komputer dan memanfaatkan
teknologi seluler yang diintegrasikan guna mendistribusikan pesan-pesan yang di-
generate melalui media SMS yang di-handle oleh jaringan seluler. Layanan ini
dapat diakses oleh user yang telah ditentukan yaitu administrator, orang tua/wali,
siswa dan pegawai sekolah (khususnya guru).
Pengembangan sistem informasi ini dibangun dengan bahasa
pemrograman PHP menggunakan framework Codeigniter dan metode
pengembangan perangkat lunak menggunakan RUP (Rational Unified Process)
dengan pendekatan empat iterasi yaitu inception, elaboration, construction dan
translation.
Hasil akhir dari layanan ini adalah para civitas akademika khususnya
orang tua/wali dan siswa dapat mengakses informasi sekolah dimanapun ia berada
dengan mengakses web maupun sms. Selain itu, layanan ini dapat menjembatani
komunikasi dua arah antara civitas akademika dan sekolah sehingga penyampaian
informasi dapat tersampaikan.
Kata Kunci : Sistem Informasi Akademik dan Administrasi Sekolah, SMS
Gateway, Framework Codeigniter, Rational Unified Process.
ii
KATA PENGANTAR
Puji syukur dipanjatkan kehadirat Allah SWT yang telah memberikan
rahmat dan hidayah-Nya, sehingga skripsi yang berjudul “PEMBUATAN
SISTEM INFORMASI KEGIATAN AKADEMIK DAN ADMINISTRASI
SEKOLAH (Studi Kasus: SMP Pasundan 1 Bandung)” dapat diselesaikan.
Laporan ini disusun untuk syarat guna memperoleh gelar sarjana teknik di
Program Studi Teknik Informatika, Fakultas Sains dan Teknologi Universitas
Islam Negeri Sunan Gunung Djati Bandung. Ucapan terimakasih disampaikan
kepada semua pihak, khususnya kepada:
1. Apa dan Ibu, kakak-kakak, keponakan, serta keluarga besar Gatsu, Bekasi dan
Yogyakarta yang selalu memberikan doa dan dukungannya.
2. Bapak Wisnu Uriawan. S.T., M.Kom, selaku dosen pembimbing I dan Bapak
Adam Faroqi, S.T., M.T, selaku dosen pembimbing II yang telah memberikan
bimbingan dan arahan baik secara moril maupun dalam membantu pembuatan
laporan dan aplikasi.
3. Bapak Drs. Hasan Basri, selaku Kepala Sekolah SMP Pasundan 1 Bandung
yang telah memberikan izin untuk melaksanakan penelitian.
4. Seluruh pihak dan staff di SMP Pasundan 1 Bandung yang telah membantu
dalam melengkapi laporan analisis sistem berjalan khususnya kepada Bapak
Ridwan Abdurodjak dan Bapak Rijal Yeaz.
iii
5. Sahabat-sahabat terbaik di kelas Informatika B (IF-B) angkatan 2007 yang
sama-sama berjuang dan memberikan motivasi untuk segera menyelesaikan
skripsi.
6. Sahabat-sahabat di ex-3 IPA 3, MAN 1 Bandung, terimakasih atas doa dan
semangatnya.
7. Sahabat-sahabat KKM 130 yang telah mendoakan dan memberikan semangat.
8. Untuk saudara-saudara, teman-teman di dunia maya dan dunia nyata serta
seluruh pihak yang telah membantu dan mendoakan saya. Terimakasih untuk
perhatiannya.
Semoga segala kebaikan yang telah diberikan mendapat balasan dari Allah
Swt. Tiada gading yang tak retak, oleh sebab itu semua saran dan kritik untuk
kesempurnaan skripsi ini sangat diharapkan. Semoga skripsi ini dapat bermanfaat
bagi pembaca khususnya dan bagi kita semua. Amin.
Bandung, Mei 2012
Penulis
iv
DAFTAR ISI
Abstraksi ......................................................................................................... i
Kata Pengantar .............................................................................................. ii
Daftar Isi ......................................................................................................... iv
Daftar Tabel .................................................................................................... vi
Daftar Gambar ............................................................................................... vii
BAB I PENDAHULUAN .............................................................................. 1
1.1 Latar Belakang Masalah .................................................................... 1
1.2 Rumusan Masalah .............................................................................. 4
1.3 Tujuan ................................................................................................ 4
1.4 Batasan Masalah ................................................................................ 4
1.5 The State Of The Art .......................................................................... 6
1.6 Metodologi Penelitian ........................................................................ 7
1.7 Sistematika Penulisan ........................................................................ 9
BAB II LANDASAN TEORI ........................................................................ 11
2.1 Konsep Rekayasa Perangkat Lunak ................................................... 11
2.2 Konsep Sistem Informasi ................................................................... 12
2.3 Pemodelan Sistem Berorientasi Objek............................................... 14
2.4 RUP (Rational Unified Process) ........................................................ 15
2.5 UML (Unified Model Language) ....................................................... 19
2.6 PHP (Hypertext PreProcessor) ......................................................... 21
2.7 Framework Codeigniter ..................................................................... 22
2.7.1 Keunggulan ............................................................................ 23
2.7.2 Konsep MVC (Model, View, Controller) ............................... 25
2.8 Perancangan Database ....................................................................... 26
2.8.1 DBMS ..................................................................................... 27
2.8.2 MySQL ................................................................................... 28
2.9 Short Message Service (SMS) ............................................................ 29
2.9.1 Arsitektur SMS ....................................................................... 29
2.9.2 SMS Gateway ......................................................................... 32
2.10 Gammu .............................................................................................. 33
2.10.1 Keunggulan ............................................................................ 33
2.10.2 Manfaat Gammu ..................................................................... 33
2.10.3 Mengenal Database Gammu .................................................. 34
BAB III TINJAUAN UMUM ........................................................................ 36
3.1 Gambaran Umum SMP Pasundan 1 Bandung ................................... 36
3.2 Tujuan Sekolah .................................................................................. 38
3.3 Tenaga Pendidik dan Kependidikan .................................................. 40
v
BAB IV ANALISIS DAN PERANCANGAN SISTEM .............................. 42
4.1 Fase Inception .................................................................................... 42
4.1.1 Proses Bisnis Sistem Informasi Akademik dan
Administrasi Sekolah ............................................................. 42
4.1.2 Spesifikasi Kebutuhan ............................................................ 47
4.1.2.1 Kebutuhan Fungsional ............................................. 47
4.1.2.2 Identifikasi Aktor
4.2 Fase Elaboration ................................................................................ 49
4.2.1 Use Case Diaram ................................................................... 49
4.2.2 Scenario Use Case ................................................................. 52
4.2.3 Activity Diagram .................................................................... 75
4.2.4 Class Diagram ....................................................................... 77
4.2.5 Sequence Diagram ................................................................. 85
4.2.6 Perancangan Tabel ................................................................. 105
4.2.7 Perancangan User Interface ................................................... 111
4.2.7.1 Perancangan Interface Front-End ............................ 111
4.2.7.2 Perancangan Interface Back-End ............................. 113
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM ........................... 119
5.1. Fase Construction .............................................................................. 119
5.1.1 Implementasi Sistem .............................................................. 119
5.1.2 Lingkungan Implementasi Sistem .......................................... 119
5.1.3 Implementasi Web dan SMS Gateway.................................... 122
5.1.4 Implementasi User Interface.................................................. 124
5.1.4.1 User Interface Front End ......................................... 125
5.1.4.2 User Interface Back-End .......................................... 132
5.1.5 Pengujian Sistem .................................................................... 139
5.1.5.1 Pengujian Alpha ....................................................... 139
5.1.5.2 Kesimpulan Hasil Pengujian Alpha ......................... 143
BAB VI KESIMPULAN DAN SARAN........................................................ 144
6.1. Kesimpulan ....................................................................................... 144
6.2. Saran .................................................................................................. 145
DAFTAR PUSTAKA ..................................................................................... 146
LAMPIRAN .................................................................................................... 148
vi
DAFTAR TABEL
Tabel 2.1 Definisi Sistem Informasi berbagai sumber ....................................... 13
Tabel 3.1 Tenaga Pendidik dan Kependidikan SMP Pasundan 1 Bandung ....... 40
Tabel 4.1 Kebutuhan fungsional perangkat lunak.............................................. 47
Tabel 4.2 Identifikasi Aktor ............................................................................... 48
Tabel 4.3 Deskripsi Use case ............................................................................. 51
Tabel 4.4 Scenario Login Administrator ............................................................ 52
Tabel 4.5 Scenario Login Siswa ........................................................................ 53
Tabel 4.6 Scenario Login Orang Tua ................................................................. 54
Tabel 4.7 Scenario Login Guru .......................................................................... 55
Tabel 4.8 Scenario Use case Olah Data Pembayaran ........................................ 56
Tabel 4.9 Scenario Use case Olah Data Absensi ............................................... 58
Tabel 4.10 Scenario Use case Olah Data Nilai .................................................... 59
Tabel 4.11 Scenario Use case Olah Users Profile ............................................... 60
Tabel 4.12 Scenario Use case Olah Jadwal Mata Pelajaran ................................ 61
Tabel 4.13 Scenario Use case Olah Jadwal Mengajar ......................................... 63
Tabel 4.14 Scenario Use Case Olah Kegiatan ..................................................... 64
Tabel 4.15 Scenario Use Case Olah General Setting .......................................... 65
Tabel 4.16 Scenario Use case Olah SMS Gateway .............................................. 67
Tabel 4.17 Scenario Use case Olah Rekapitulasi ................................................ 69
Tabel 4.18 Scenario Use Case View Data Pembayaran ....................................... 70
Tabel 4.19 Scenario Use case View Data Absensi ............................................... 71
Tabel 4.20 Scenario Use case View Data Nilai ................................................... 71
Tabel 4.21 Scenario Use case Update Users Profile ........................................... 72
Tabel 4.22 Scenario Use Case View Jadwal Mata Pelajaran ............................... 73
Tabel 4.23 Scenario Use Case View Jadwal Mengajar ........................................ 73
Tabel 4.24 Scenario Use Case View Kegiatan ..................................................... 74
Tabel 4.25 Tabel Nilai ......................................................................................... 105
Tabel 4.26 Tabel Absen ....................................................................................... 105
Tabel 4.27 Tabel Informasi Pembayaran ............................................................. 105
Tabel 4.28 Tabel Kegiatan Akademik ................................................................. 106
Tabel 4.29 Tabel Kegiatan Tentatif ..................................................................... 106
Tabel 4.30 Tabel Siswa ........................................................................................ 106
Tabel 4.31 Tabel Kelas ........................................................................................ 107
Tabel 4.32 Tabel Matapelajaran ........................................................................... 107
Tabel 4.33 Tabel Semester ................................................................................... 107
Tabel 4.34 Tabel Nilai KKM ............................................................................... 108
Tabel 4.35 Tabel Guru ......................................................................................... 108
Tabel 4.36 Tabel Orang Tua ................................................................................ 108
Tabel 4.37 Tabel Inbox ........................................................................................ 109
Tabel 4.38 Tabel Kls ............................................................................................ 109
Tabel 4.39 Tabel Outbox ...................................................................................... 109
Tabel 4.40 Tabel SentItems .................................................................................. 110
Tabel 4.41 Tabel mengajar................................................................................... 110
Tabel 4.42 Tabel tahun_ajar................................................................................. 111
Tabel 5.1 Pengujian Sistem ................................................................................ 141
vii
DAFTAR GAMBAR
Gambar 1.1 Arsitektur Rational Unified Process ........................................ 9
Gambar 2.1 Arsitektur Rational Unified Process ........................................ 16
Gambar 2.2 Proses Iteratif RUP ................................................................... 17
Gambar 2.3 Konsep MVC pada Codeigniter ................................................ 26
Gambar 2.4 Sistem Basis Data ..................................................................... 27
Gambar 2.5 Arsitektur SMS pada jaringan GSM .......................................... 30
Gambar 2.6 Susunan Jaringan dan Aliran Message ..................................... 31
Gambar 2.7 9 tabel bawaan (default) database Gammu .............................. 34
Gambar 4.1 Proses Bisnis Pengolahan Data Pembayaran ............................ 43
Gambar 4.2 Proses Bisnis Registrasi dan Herregistrasi ............................... 44
Gambar 4.3 Proses Bisnis Pengolahan Data Absensi................................... 45
Gambar 4.4 Proses Bisnis Pengolahan Data Nilai ....................................... 46
Gambar 4.5 Proses Bisnis Pengolahan Informasi Kegiatan Sekolah ........... 47
Gambar 4.6 Use Case Diagram Sistem Informasi Kegiatan Akademik
dan Administrasi Sekolah ......................................................... 50
Gambar 4.7 Activity Diagram Admin .......................................................... 75
Gambar 4.8 Activity Diagram Siswa ............................................................ 76
Gambar 4.9 Activity Diagram Orang Tua .................................................... 76
Gambar 4.10 Activity Diagram Guru ............................................................. 77
Gambar 4.11 Class Diagram Controller ........................................................ 78
Gambar 4.12 Class Diagram Model............................................................... 79
Gambar 4.13 Class Diagram Olah Pembayaran SPP..................................... 79
Gambar 4.14 Class Diagram Olah Pembayaran Registrasi/Herregistrasi ..... 80
Gambar 4.15 Class Diagram Olah Data Absensi........................................... 80
Gambar 4.16 Class Diagram Olah Data Nilai ............................................... 81
Gambar 4.17 Class Diagram Olah Users Profile........................................... 81
Gambar 4.18 Class Diagram Olah Mata Pelajaran ........................................ 82
Gambar 4.19 Class Diagram Olah Mengajar ................................................. 82
Gambar 4.20 Class Diagram Olah Data Kegiatan ......................................... 83
Gambar 4.21 Class Diagram Olah General Setting ....................................... 83
Gambar 4.22 Class Diagram Setting SMS Gateway ...................................... 84
Gambar 4.23 Class Diagram Olah Rekapitulasi ............................................ 84
Gambar 4.24 Sequence Diagram Login Admin ............................................. 85
Gambar 4.25 Sequence Diagram Login Siswa dan Orang Tua ...................... 85
Gambar 4.26 Sequence Diagram Login Orang Tua ....................................... 86
Gambar 4.27 Sequence Diagram Login Guru ................................................ 86
Gambar 4.28 Sequence Diagram View Data Pembayaran ............................. 87
Gambar 4.29 Sequence Diagram Create Data Pembayaran .......................... 87
Gambar 4.30 Sequence Diagram Update Data Pembayaran ......................... 88
Gambar 4.31 Sequence Diagram Delete Data Pembayaran ........................... 88
Gambar 4.32 Sequence Diagram View Data Absensi .................................... 89
Gambar 4.33 Sequence Diagram Create Data Absensi ................................. 89
Gambar 4.34 Sequence Diagram Update Data Absensi ................................ 90
viii
Gambar 4.35 Sequence Diagram Delete Data Absensi .................................. 90
Gambar 4.36 Sequence Diagram View Data Nilai ......................................... 91
Gambar 4.37 Sequence Diagram Create Data Nilai ...................................... 91
Gambar 4.38 Sequence Diagram Update Data Nilai ..................................... 92
Gambar 4.39 Sequence Diagram Delete Data Nilai ....................................... 92
Gambar 4.40 Sequence Diagram View User Profile ...................................... 93
Gambar 4.41 Sequence Diagram Create User Profile ................................... 93
Gambar 4.42 Sequence Diagram Update User Profile .................................. 94
Gambar 4.43 Sequence Diagram Delete User Profile ................................... 94
Gambar 4.44 Sequence Diagram View Mata Pelajaran ................................. 95
Gambar 4.45 Sequence Diagram Create Mata Pelajaran............................... 95
Gambar 4.46 Sequence Diagram Update Mata Pelajaran .............................. 96
Gambar 4.47 Sequence Diagram Delete Mata Pelajaran ............................... 96
Gambar 4.48 Sequence Diagram View Mengajar .......................................... 97
Gambar 4.49 Sequence Diagram Create Mengajar ....................................... 97
Gambar 4.50 Sequence Diagram Update Mengajar ...................................... 98
Gambar 4.51 Sequence Diagram Delete Mengajar ........................................ 98
Gambar 4.52 Sequence Diagram View Kegiatan Sekolah ............................. 99
Gambar 4.53 Sequence Diagram Create Kegiatan Sekolah .......................... 99
Gambar 4.54 Sequence Diagram Update Kegiatan Sekolah ......................... 100
Gambar 4.55 Sequence Diagram Delete Kegiatan Sekolah ........................... 100
Gambar 4.56 Sequence Diagram View General Setting ................................ 101
Gambar 4.57 Sequence Diagram Create General Setting ............................. 101
Gambar 4.58 Sequence Diagram Update General Setting............................. 102
Gambar 4.59 Sequence Diagram Delete General Setting .............................. 102
Gambar 4.60 Sequence Diagram Create Kirim Pesan ................................... 103
Gambar 4.61 Sequence Diagram View Inbox/Outbox/Sent Item Message .... 103
Gambar 4.62 Sequence Diagram Delete Inbox/Outbox/Sent Item Message .. 104
Gambar 4.63 Sequence Diagram Download Rekapitulasi ............................. 104
Gambar 4.64 Interface Halaman Utama ......................................................... 111
Gambar 4.65 Interface Halaman Utama Siswa/Orang Tua ............................ 112
Gambar 4.66 Interface Halaman Utama Guru ............................................... 112
Gambar 4.67 Interface Tampilan Beranda Admin ......................................... 113
Gambar 4.68 Interface Tampilan Manajemen Nilai ...................................... 113
Gambar 4.69 Interface Tampilan Manajemen Absen .................................... 114
Gambar 4.70 Interface Tampilan Manajemen Pembayaran ........................... 114
Gambar 4.71 Interface Tampilan Lihat Data Siswa ....................................... 115
Gambar 4.72 Interface Tampilan Manajemen Data Pegawai ........................ 115
Gambar 4.73 Interface Tampilan Kegiatan Akademik .................................. 116
Gambar 4.74 Interface Tampilan Kegiatan Tentatif ...................................... 116
Gambar 4.75 Interface Tampilan Rekapitulasi .............................................. 117
Gambar 4.76 Interface Tampilan General Setting ......................................... 117
Gambar 4.77 Interface Tampilan Setting SMS Gateway ................................ 118
Gambar 5.1 Daftar nama perangkat mobile yang didukung Gammu ........... 120
Gambar 5.2 Pilihan download aplikasi XAMPP .......................................... 121
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Kemajuan teknologi informasi saat ini fungsinya sudah merambah ke
berbagai bidang baik pemerintahan, kesehatan, perbankan termasuk di dalamnya
pada bidang pendidikan. Kemajuan teknologi memungkinkan berbagai informasi
didapatkan secara mudah, cepat, efektif dan akurat.
Sekolah sebagai salah satu institusi pendidikan tidak terlepas dari
pengaruh perkembangan teknologi informasi. Sebagai institusi pendidikan, saat
ini setiap sekolah saling berlomba membangun sistem informasi untuk
memberikan layanan yang terbaik bagi seluruh stake holder. Komunikasi antar
sekolah, guru, orang tua/ wali dan siswa menjadi salah satu fokus perhatian para
pengelola institusi pendidikan, salah satunya yaitu dengan cara membangun
sebuah sistem pelayanan informasi.
Sistem informasi ini sangat dibutuhkan karena mencakup segala aktivitas
untuk mengolah, mengumpulkan, menyimpan, menganalisis dan menyebarkan
sebuah data yang diproses menjadi suatu informasi untuk tujuan yang spesifik.
Sehingga data yang sudah diolah sedemikian rupa dapat menghasilkan
pemahaman yang tepat sasaran bagi siapapun yang membutuhkan infomasi
tersebut.
SMP Pasundan 1 Bandung adalah salah satu sekolah yang ingin
mengembangkan sistem informasi untuk menangani kegiatan akademik dan
2
administrasi sekolah dengan membangun sebuah sistem informasi kegiatan
akademik dan administrasi sekolah berbasis komputer. Sistem ini diharapkan
mampu menjembatani informasi dari sekolah sehingga dapat tersampaikan kepada
guru, orang tua/ wali dan siswa.
Pada sistem yang sedang berjalan, pengolahan data kegiatan akademik dan
administrasi sekolah sudah menggunakan sistem berbasis komputer yang
menggunakan aplikasi spreadsheet untuk mengelola nilai misalnya, namun
penggunaannya tidak efektif karena setiap data terpisah, sulit untuk diintegrasikan
antara satu sama lain serta adanya kerangkapan data sehingga penanganannya
tidak optimal.
Kesulitan lain yang dialami oleh sekolah yaitu dalam hal pemberitahuan
kegiatan akademik dan administrasi kepada siswa dan orang tua/ wali. Misalnya,
pemberitahuan apakah siswa tersebut mengikuti kegiatan belajar mengajar atau
tidak, apakah siswa mengikuti ujian yang dilaksanakan sekolah atau tidak, atau
informasi mengenai pembayaran SPP siswa. Pemberitahuan informasi yang biasa
dilakukan sekolah yaitu melalui perantara surat. Namun penggunaan surat dirasa
kurang efektif karena tidak adanya komunikasi dua arah antara pihak sekolah dan
orang tua/wali maupun sebaliknya. Selain itu, ada sebagian siswa yang tidak
menyampaikan surat sebagai amanah sekolah kepada orang tua/walinya.
Website yang dimiliki oleh sekolah sebagai salah satu sarana pelayanan
informasi pun tidak menyediakan informasi yang mencakup keseluruhan kegiatan
akademik dan administrasi sekolah. Informasi yang disediakan hanya meliputi
profil sekolah, kegiatan akademik secara umum, forum siswa dan alumni. Apalagi
3
tidak semua siswa atau orang tua/wali meluangkan waktu untuk mengunjungi
website, bahkan ada kemungkinan siswa atau orang tua/wali tidak mengetahui
cara mengakses website sekolah untuk melihat informasi terbaru.
Uraian di atas memberikan gambaran bahwa sistem yang ada sekarang ini
tidak memberikan akses yang optimal terhadap seluruh civitas akademika. Maka
pada penelitian tugas akhir ini akan dibangun sistem informasi kegiatan akademik
dan administrasi sekolah menggunakan aplikasi web. Dimana fitur tambahannya
menggunakan teknologi sms gateway sebagai media akses untuk mendapatkan
informasi lewat pesan. Pemanfaatan teknologi sms ini dapat dimanfaatkan oleh
pihak sekolah untuk mengirimkan informasi mengenai informasi absensi,
pembayaran SPP, informasi nilai dan hal yang menyangkut dengan kegiatan
akademik dan administrasi sekolah kepada para siswa maupun orangtua siswa.
Pembangunan sistem akan memanfaatkan teknologi web sebagai layanan
informasi dan fitur tambahan sms gateway sebagai alat pendistribusian pesan yang
berisi informasi kegiatan akademik dan administrasi sekolah yang dapat diakses
kapan pun dan dimana pun pengguna berada atau pengguna perlukan. Selain itu,
pembuatan sistem informasi kegiatan akademik dan administrasi sekolah yang
dimiliki diharapkan dapat mengintegrasikan data-data dengan baik dan bisa
dimanfaatkan secara optimal untuk mengatasi masalah yang ada.
Berdasarkan uraian di atas, judul penulisan tugas akhir ini adalah
“Pembuatan Sistem Informasi Kegiatan Akademik dan Administrasi Sekolah
(Studi Kasus: SMP Pasundan 1 Bandung)”.
4
1.2 Rumusan Masalah
Berdasarkan pembahasan latar belakang masalah di atas, maka fokus
penulisan tugas akhir ini yaitu:
a. Bagaimana membuat suatu sistem informasi kegiatan akademik dan
administrasi sekolah yang dapat mengolah suatu data menjadi suatu informasi
yang berguna?
b. Bagaimana membuat sistem informasi yang dapat memudahkan orang
tua/wali memantau kegiatan anaknya di sekolah?
1.3 Tujuan
Tujuan dari perancangan sistem informasi kegiatan akademik dan
administrasi sekolah yaitu:
a. Membuat suatu sistem informasi yang dapat mencakup segala aktivitas untuk
mengolah, mengumpulkan, menyimpan, menganalisis dan menyebarkan
sebuah data yang diproses menjadi suatu informasi mengenai kegiatan
akademik dan administrasi sekolah menggunakan teknologi web.
b. Sistem yang dibangun dapat menyediakan informasi untuk memudahkan
civitas akademika sekolah khususnya, orang tua/wali untuk memonitor
kegiatan akademik dan administrasi sekolah anaknya melalui media web dan
sms.
1.4 Batasan Masalah
Batasan masalah yang akan dibahas pada tugas akhir ini yaitu:
5
a. Sistem informasi kegiatan akademik dan administrasi sekolah dibangun
menggunakan teknologi web dengan bahasa pemrograman PHP framework
codeigniter dan MySQL sebagai pengelola database. Sedangkan untuk fitur
tambahannya yaitu sms gateway dibangun menggunakan Gammu.
b. Informasi yang akan dibahas meliputi:
1) Kegiatan akademik berupa pengelolaan nilai, data absensi siswa, jadwal
mengajar, jadwal matapelajaran, kalender akademik, dan kegiatan tentatif
sekolah seperti kegiatan rapat guru dan rapat komite sekolah.
2) Data administrasi meliputi data siswa, data pegawai sekolah dan informasi
pembayaran SPP.
c. Sistem informasi kegiatan akademik dan administrasi sekolah dibangun pada
dua sisi:
1) Back-End: sebagai pusat pengolahan data pada sistem informasi kegiatan
akademik dan administrasi sekolah dan pengontrol pengelolaan
infrastruktur sms gateway yaitu admin.
2) Front-End: sebagai pengguna sistem yaitu guru, siswa dan orang tua/ wali.
d. Pengaksesan sistem informasi kegiatan akademik dan administrasi sekolah
dibatasi hak aksesnya menggunakan username dan password.
e. Layanan SMS yang dapat diakses oleh orang tua/wali berupa data nilai, data
absen, data informasi pembayaran SPP dan kegiatan tentatif sekolah.
Sedangkan siswa dan pegawai sekolah termasuk guru hanya mendapatkan
informasi mengenai kegiatan tentatif saja, dimana nomor kontaknya sudah
terdaftar dalam database.
6
f. Layanan informasi melalui SMS dapat diperoleh menggunakan format yang
telah ditentukan.
1.5 The State Of The Art
Sistem informasi yang akan dibuat didasarkan atas referensi/jurnal yang
sesuai dengan judul tugas akhir ini yaitu pembuatan sistem informasi kegiatan
akademik dan administrasi sekolah. Referensi yang diambil salah satunya adalah
jurnal yang berjudul “Sistem Informasi Akademik Berbasis Web SMP Negeri 4
Samarinda” [Nataniel & Dyna, 2009].
Pada jurnal tersebut, web dijadikan sebagai aplikasi pengolah data
akademik dan administrasi (menggunakan bahasa pemrograman PHP). Selain itu,
pengolahan datanya mencakup data pegawai, data siswa, data matapelajaran, data
nilai, data absensi, data jadwal matapelajaran serta laporan data nilai dan data
absensi.
Sedangkan penelitian yang akan diajukan memiliki keunggulan sebagai
berikut:
a. Sistem yang dibangun merupakan sistem informasi yang terpadu. Maksudnya
adalah pengolahan data yang dilakukan di dalam sistem mencakup
keseluruhan kegiatan akademik dan administrasi sekolah yang masalahnya
dibatasi pada batasan masalah.
b. Sistem ini dibangun oleh bahasa pemrograman PHP yang menggunakan
framework codeigniter
7
c. Pendokumentasian dalam analisis sistem menggunakan metode RUP
(Rational Unified Process).
d. Fitur tambahan menggunakan sms gateway sebagai pendistribusian pesan.
1.6 Metodologi Penelitian
a. Metodologi Pengumpulan Data
1) Studi Literatur
Pengumpulan data dengan cara mengumpulkan dan mempelajari berupa
buku (textbook), artikel, paper, jurnal, website maupun bacaan-bacaan yang ada
kaitannya dengan judul penelitian.
2) Observasi
Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan
langsung terhadap permasalahan yang diambil. Dalam hal ini, penulis melakukan
observasi langsung ke SMP Pasundan 1 Bandung.
3) Interview
Teknik pengumpulan data dengan mengadakan tanya jawab secara
langsung yang ada kaitannya dengan topik yang diambil. Adapun yang menjadi
narasumber adalah Kepala Sekolah, Wakil Kepala Sekolah bidang kurikulum,
Wakil Kepala Sekolah bidang kesiswaan, dan Kepala TU (Tata Usaha).
b. Metode Pengembangan Perangkat Lunak
Rational Unified Process (RUP) merupakan suatu metode rekayasa
perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best
8
practises yang terdapat dalam industry pengembangan perangkat lunak. Ciri
utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif
untuk siklus pengembangan perangkat lunak. Gambar di bawah menunjukkan
secara keseluruhan arsitektur yang dimiliki RUP. RUP menggunakan konsep
object oriented, dengan aktifitas yang berfokus pada pengembangan model
dengan menggunakan Unified Model Language (UML).
Teknik analisis meliputi beberapa fase diantaranya:
1) Inception
Pada tahap ini pengembang mendefinisikan batasan kegiatan, melakukan
analisis kebutuhan user, dan melakukan perancangan awal perangkat lunak (use
case).
2) Elaboration
Pada tahap ini dilakukan perancangan perangkat lunak mulai dari
menspesifikasikan fitur perangkat lunak hingga perilisan prototipe versi betha dari
perangkat lunak.
3) Construction
Melakukan sedeteran iterasi, pada setiap iterasi akan melibatkan proses
berikut : Analisa desain, Implementasi, dan Testing.
4) Transition.
Membuat apa yang sudah dimodelkan menjadi suatu produk jadi, dalam
fase ini dilakukan beta dan performance testing, membuat dokumentasi tambahan
seperti : training, user guides dan sales kit.
9
Gambar 1.1. Arsitektur Rational Unified Process1
1.7 Sistematika Penulisan
Dalam sistematika penulisan ini terbagi ke dalam 6 (enam) bab yang
masing-masing memiliki tujuan tertentu.
BAB I PENDAHULUAN
Dalam bab ini dijelaskan mengenai deskripsi umum dari penelitian yang
meliputi latar belakang masalah, rumusan masalah, tujuan, batasan
masalah, metodologi penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini dijelaskan tentang teori-teori yang berhubungan dengan
masalah yang akan dibahas pada tugas akhir ini.
BAB III TINJAUAN UMUM ORGANISASI
Bab ini berisi deskripsi tentang SMP Pasundan 1 Bandung.
1 Wahyuningrum, Endah. 2011. Software Engineering Methodology Rational Unified Process.
10
BAB IV ANALISIS DAN PERANCANGAN SISTEM
Bab ini akan menganalisis masalah sesuai dengan tahapan metode
perangkat lunak yang digunakan yaitu RUP dimana fase yang akan
dibahas adalah inception dan elaboration. Fase inception akan
memodelkan proses bisnis yang dibutuhkan (business modeling) dan
mendefinisikan kebutuhan akan sistem yang akan dibuat (requirements).
Fase elaboration menganalisis dan mendesain sistem serta implementasi
sistem yang mengacu pada kebutuhan-kebutuhan yang sudah dijabarkan
pada fase inception.
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM
Berisikan penjelasan fase construction. Fase construction yaitu tahapan
implementasi dan pengujian sistem yang disesuaikan dengan fase-fase
sebelumnya. Fokus pengujian pada fase ini adalah menggunakan
pengujian alpha dengan pendekatan black box testing.
BAB VI KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan dan saran-saran yang memungkinkan
untuk pengembangan lebih lanjut pada sistem ini.
ix
Gambar 5.3 Website resmi Codeigniter ....................................................... 123
Gambar 5.4 Website resmi Gammu .............................................................. 124
Gambar 5.5 Website yang menyediakan aplikasi Gammu beberapa versi ... 124
Gambar 5.6 Halaman utama aplikasi SIAKAD PASONE ........................... 125
Gambar 5.7 Halaman menu kalender akademik .......................................... 126
Gambar 5.8 Tampilan menu Pengumuman .................................................. 126
Gambar 5.9 Tampilan menu About SIAKAD .............................................. 127
Gambar 5.10 Tampilan Login ........................................................................ 127
Gambar 5.11 Tampilan Beranda Siswa .......................................................... 128
Gambar 5.12 Tampilan Info Nilai .................................................................. 128
Gambar 5.13 Tampilan menu Info Absensi ................................................... 129
Gambar 5.14 Tampilan menu Info Pembayaran ............................................ 129
Gambar 5.15 Tampilan menu Data Siswa ...................................................... 130
Gambar 5.16 Tampilan Beranda Guru ........................................................... 131
Gambar 5.17 Tampilan menu Manajemen Nilai ............................................ 131
Gambar 5.18 Tampilan menu Data Guru ....................................................... 132
Gambar 5.19 Tampilan Beranda Admin ........................................................ 133
Gambar 5.20 Tampilan Manajemen Nilai ...................................................... 133
Gambar 5.21 Tampilan Manajemen Absensi ................................................. 134
Gambar 5.22 Tampilan Manajemen Pembayaran .......................................... 135
Gambar 5.23 Tampilan Manajemen Data Siswa ............................................ 135
Gambar 5.24 Tampilan Manajemen Data Guru ............................................. 136
Gambar 5.25 Tampilan Manajemen Kegiatan Akademik .............................. 136
Gambar 5.26 Tampilan Manajemen Kegiatan Tentatif .................................. 137
Gambar 5.27 Tampilan Olah SMS Gateway .................................................. 137
Gambar 5.28 Tampilan Hasil Cari Info Nilai ................................................. 138
Gambar 5.29 Tampilan Hasil Cari Info Absen............................................... 138
Gambar 5.30 Tampilan Hasil Cari Info SPP .................................................. 139
11
BAB II
LANDASAN TEORI
2.1 Konsep Rekayasa Perangkat Lunak
Secara terminologi kalimat rekayasa perangkat lunak sendiri mengandung
dua unsur. Rekayasa adalah suatu bentuk dari proses, sedangkan perangkat lunak
adalah suatu produk. Banyak dari berbagai sumber mendefinisikan pengertian
rekayasa perangkat lunak, namun dalam teori tugas akhir ini akan diambil definisi
yang dikemukakan oleh Fritz Bauer dan yang ditetapkan oleh IEEE.
a. Fritz Bauer
“Software engineering is the establishment and use of sound engineering
principles in order to obtain economically software that is reliable and works
eficiently on real machines” 1
Rekayasa perangkat lunak merupakan penerapan prinsip-prinsip rekayasa
untuk mendapatkan produk perangkat lunak yang ekonomis, handal dan efisien.
Pada definisi ini Fritz Bauer telah meletakkan ukuran-ukuran yang harus dipenuhi
oleh suatu perangkat lunak, yaitu ekonomis, handal dan efisien.
b. IEEE
“Software Engineering is The aplication of a sistematic, disciplined,
quantifiable approach to the development, operation, and maintenance of
software” 2
1 Roger.S.Pressman, Ph. D. Rekayasa Perangkat Lunak. Andi, Yogyakarta, 2001.
2 Ibid.
12
Rekayasa perangkat lunak adalah suatu pendekatan yang sistematis,
disiplin dan berkualitas yang diterapkan pada pengembangan, pengoperasian dan
perawatan perangkat lunak.
Dua definisi tersebut mengisyaratkan cara pandang yang berbeda dalam
mendefinisikan rekayasa perangkat lunak. Firtz Bauier menitikberatkan pada
aspek perangkat lunak sebagai sebuah produk sedangkan IEEE lebih terfokus
pada kriteria proses yang harus dilakukan dalam pembangunan perangkat lunak.
2.2 Konsep Sistem Informasi
Sistem informasi dibangun berdasarkan dua kata yang berbeda namun
saling berhubungan yaitu sistem dan informasi. Sistem adalah sekumpulan elemen
yang saling terkait atau terpadu untuk mencapai suatu tujuan tertentu. Sedangkan
informasi, menurut McFadden, dkk (1999) mendefinisikan informasi sebagai data
yang telah diproses sedemikian rupa sehingga meningkatkan pengetahuan
seseorang yang menggunakan data tersebut. Menurut Davis (1999) informasi
adalah data yang telah diolah menjadi sebuah bentuk yang berarti bagi
penerimanya dan bermanfaat dalam pengambilan keputusan saat ini atau saat
mendatang. Menurut pembahasan diatas, sistem dan informasi tidak terlepas dari
sebuah data. Secara konseptual, data merupakan deskripsi mengenai benda,
kejadian, aktivitas dan transaksi yang tidak mempunyai makna atau tidak
berpengaruh secara langsung kepada pemakai3. Oleh karena itu, Sebuah sistem
informasi harus dapat mengolah, mengumpulkan, menyimpan, menganalisis dan
3 Kadir, Abdul. 2003. Pengenalan Sistem Informasi. Yogyakarta:Andi. Hal. 31
13
menyebarkan sebuah data yang diproses menjadi suatu informasi untuk tujuan
yang spesifik.
Ada beragam definisi sistem informasi yang dikemukakan oleh berbagai
sumber, yang disajikan dalam bentuk tabel berikut ini :
Tabel 2.1. Definisi Sistem Informasi berbagai sumber4
Sumber Definisi
Alter (1992) Sistem informasi adalah kembinasi antara prosedur kerja,
informasi, orang, dan teknologi informasi yang diorganisasikan
untuk mencapai tujuan dalam sebuah organisasi.
Bodnar dan
Hopwood
(1993)
Sistem informasi adalah kumpulan perangkat keras dan
perangkat lunak yang dirancang untuk mentransformasikan data
ke dalam bentuk informasi yang berguna.
Gelinas, Oram
dan Wiggins
(1990)
Sistem informasi adalah suatu sistem buaten manusia yang
secara umum terdiri atas sekumpulan komponen berbasis
komputer dan manual yang dibuat untuk menghimpun,
menyimpan dan mengelola data serta menyediakan informasi
keluaran kepada para pemakai.
Hall (2001) Sistem informasi adalah sebuah rangkaian prosedur formal
dimana data dikelompokkan, diproses menjadi informasi dan
didistribusikan kepada pemakai
Turban,
McLean, dan
Wetherbe
(1999)
Sebuah sistem informasi mengumpulkan. Memproses,
menyimpan, mngenalisis dan menyebarkan informasi untuk
tujuan yang spesifik.
Wilkinson
(1992)
Sistem informasi adalah kerangka kerja yang
mengkoordinsaikan sumber daya (manusia, komputer) untuk
mengubah masukan (input) menjadi keluaran (informasi), guna
mencapai sasaran-sasaran perusahaan.
Dari berbagai definisi tersebut, dapat disimpulkan bahwa sistem informasi
mencakup sejumlah komponen (manusia, komputer, teknologi informasi dan
prosedur kerja), ada sesuatu yang diproses (data menjadi informasi) dan
dimaksudkan untuk mencapai suatu sasaran atau tujuan5. Diantara kemampuan
4 Kadir, Abdul. 2003. Pengenalan Sistem Informasi. Yogyakarta:Andi. Hal. 11
5 ibid. Hal. 10
14
utama sistem informasi adalah dapat menyimpan informasi dalam jumlah yang
sangat besar dalam ruang kecil tetapi mudah diakses.
2.3 Pemodelan Sistem Berorientasi Objek
Pemrograman berorientasi objek adalah sebuah konsep pemrograman
untuk membuat kode program yang lebih terstruktur, terkelompok berdasarkan
objek-objek yang terlibat sehingga bagian-bagiannya dapat digunakan untuk
pembuatan aplikasi lain. Pemrograman berorientasi objek membagi-bagi kode
program aplikasi menjadi kumpulan bungkusan benda/ objek dipandang dari
sudut pandang aplikasi komputer dan proses yang dilakukan di dalam aplikasi6.
Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang
metodologi berorientasi objek :
a. Class dan Objek
Class dapat diartikan deskripsi secara umum (template, pattern atau
blueprint) yang menggambarkan sekumpulan objek yang serupa. Objek dapat
berupa objek fisik seperti meja atau pelanggan maupun objek konseptual
seperti text input area atau file.
b. Atribut, Method dan Message
Atribut adalah sesuatu yang melekat pada objek yang mendeskripsikan sifat
class atau objek. Sebuah objek mengenkapsulasi data (direpresentasikan
sebagai kumpulan atribut) dan algoritma yang memprosess data tersebut.
Algoritma ini disebut operasi, method atau service. Setiap operasi yang
6 Shalahudin, Rosa A.S. 2010. Modul Pembelajaran Pemrograman Berorientasi Objek. Bandung:
Modula
15
dienkapsulasi oleh sebuah objek memberikan representasi salah satu behavior
dari objek tersebut.
Suatu objek berinteraksi dengan objek lainnya melalui message. Sebuah
objek diminta untuk melakukan salah satu operasinya dnegna
mengirimkannya sebuah message.
Objek penerima merespon message tersebut dengan memilih operasi yang
mengimplementasikan nama message, mengeksekusi operasi dan kemudian
mengembalikan control kepada objek yang memanggil.
c. Enkapsulasi (encapsulation)
Mampu membungkus atribut dan metode-metode dalam sebuah kelas dan
dapat mencagah pengaksesan langsung atribut dan metode-metode yang ingin
dilindungi di dalam sebuah kelas.
d. Pewarisan (inheritance)
Memungkinkan adanya pendefinisian kelas baru yang memiliki sifat-sifat
turunan dari kelas lain.
e. Polimorfisme (polymorphism)
Memungkinkan pembautan pengaksesan metode-metode dengan nama yang
sama namun berbeda parameter masukan atau berbeda kelas.
2.4 RUP (Rational Unified Process)
Rational Unified Process (RUP) merupakan suatu metode rekayasa
perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best
practises yang terdapat dalam industry pengembangan perangkat lunak. Ciri
utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif
16
untuk siklus pengembangan perangkat lunak. Gambar di bawah menunjukkan
secara keseluruhan arsitektur yang dimiliki RUP. RUP menggunakan konsep
object oriented, dengan aktifitas yang berfokus pada pengembangan model
dengan menggunakan Unified Model Language (UML).
Gambar 2.1. Arsitektur Rational Unified Process7
Penjelasan alur horizon pada tiap-tiap fase iterasi adalah sebagai berikut:
a. Inception
Inception mendefinisikan lingkup project dan mengembangkan business case
untuk sistem. Fase ini terfokus pada requirement serta sedikit melakukan
analisis dan design.
b. Elaboration
Aktivitas yang dilakukan pada fase ini adalah melengkapi requirement, baik
fungsional maupun nonfungsional serta melakukan analisis dan design. Salah
satu aktivitas utama dalam fase ini adalah pembuatan arsitektur sistem. Pada
fase ini, juga telah dilakukan sedikit implementasi dan pengujian untuk
mengeksekusi arsitektur yang diciptakan tersebut.
7 Wahyuningrum, Endah. 2011. Software Engineering Methodology Rational Unified Process.
17
c. Construction
Construction merupakan fase pembangunan sistem. Pada fase ini masih dapat
dilakukan sedikit analisis untuk melengkapi hasil analisis yang telah
dihasilkan pada fase sebelumnya. Iga workflow terakhir, yaitu design,
implementasi dan pengujian menjadi aktivitas utama dalam fase ini.
d. Transition
Transition merupakan peralihan produk ke lingkungan user (beta release).
Sejumlah user akan mencoba produk yang telah dihasilkan dan melaporkan
defect yang ditemukan. Fase ini berakhir pada release product.
Proses pengulangan/iteratif workflow pada alur vertical dapat dilihat pada
gambar berikut:
Gambar 2.2. Proses Iteratif RUP8
Aktivitas yang dilakukan dalam tiap workflow tersebut adalah sebagai
berikut:
a. Requirement
Tujuan dari requirement adalah untuk menemukan dan mencapai persetujuan
mengenai apa yang harus dilakukan sistem yang diungkapkan dalam bahasa
8 Shalahudin, Rosa A.S. 2010. Modul Pembelajaran Pemrograman Berorientasi Objek. Bandung:
Modula. Hal. 106
18
user. Sebelum meng-capture requirement, dapat dilakukan pemodelan bisnis
terlebih dahulu untuk mengetahui konteks sistem. Pemodelan bisnis adalah
teknik untuk memahami proses bisnis dalam sebuah organisasi.
b. Analisis
Analisis dilakukan untuk menejemahkan requirement ke dalam bahasa
developer dan mengidentifikasi elemen/entitas utama dari sistem yang
diperlukan untuk memenuhi user requirement.
c. Design
Design dilakukan untuk menspesifikasikan secara penuh bagaimana
fungsionalitas diimplementasikan dengan menggunakan model yang telah
dihasilkan dari workflow analisis. Pada alur kerja inti design juga dibuat
database design yang digunakan sebagai tempat penyimpanan data.
d. Implementation
Implementation dilakukan untuk mentransformasikan design model ke dalam
executable code. Pada workflow ini dilakukan implementasi component,
subsistem dan interface.
e. Test (Pengujian)
Tujuan dari pengujian adalah untuk memastikan bahwa sistem dapat
menyediakan fungsionalitas yang diperlukan. Pengujian yang dilakukan
hanya pengujian secara black box, yaitu menguji fungsionalitas dari
perangkat lunak tanpa harus mengetahui struktur internal program.
19
2.5 UML (Unified Model Language)
UML (Unified Model Language) adalah sebuah standarisasi bahasa
pemodelan untuk pembangunan perangkat lunak yang dibangun dengan
menggunakan teknik pemrograman berorientasi objek. Dengan pemodelan UML
ini, pengembang dapat melakukan9:
a. Tinjauan umum bagaimana arsitektur sistem secara keseluruhan
b. Penelaahan bagaimana objek-objek dalam sistem saling mengirim pesan dan
saling bekerjasama satu sama lain
c. Menguji apakan sistem/perangkat lunak sudah berfungsi seperti yang
seharusnya.
d. Dokumentasi sistem/perangkat lunak untuk keperluan-keperluan tertentu di
masa yang akan dating
UML menyediakan 9 jenis diagram yang dapat dikelompokkan
berdasarkan sifatnya –statis atau dinamis-.
1) Diagram kelas. Bersifat statis. Diagram ini memperlihatkan kelas-kelas,
antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini
umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat
statis, sering pula diagram kelas memuat kelas-kelas aktif.
2) Diagram objek. Bersifat statis. Diagram ini memperlihatkan objek-objek serta
relasi-relasi antaraobjek. Diagram objek memperlihatkan instansiasi statis
dari segala sesuatu yang dijumpai pada diagram kelas.
9 Nugroho, Adi. 2005. Rational Rose Untuk Pemodelan Berorientasi Objek. Bandung: Informatika.
Hal-17
20
3) Use-case diagram. Bersifat statis. Diagram ini memperlihatkan himpunan use
case dan aktor-aktor (suatu jenis khusus dari kelas). Diagram ini terutama
sangat penting untuk mengorganisasi dan memodelkan perilaku dari suatu
sistem yang dibutuhkn serta diharapkan pengguna.
4) Sequence diagram. Bersifat dinamis. Diagram urutan adalah diagram interaksi
yang menekankan pada pengiriman pesan dalam suatu waktu tertentu.
5) Collaboration diagram. Bersifat dinamis. Diagram kolaborasi adalah diagram
interaksi yang menekankan organisasi struktural dari objek-objek yang
menerima serta mengirim pesan.
6) Statechart diagram. Bersifat dinamis. Diagram state ini memperlihatkan
state-state pada sistem; memeuat state, tansisi, event, serta aktifitas. Diagram
ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka
(interface), kelas, kolaborasi dan terutama penting pada pemodelan sistem-
sistem yang reaktif.
7) Activity diagram. Bersifat dinamis. Diagram aktivitas ini adalah tipe khusus
dari diagam state yang memperlihatkan aliran dari suatu aktifitas ke aktifitas
lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan
fungsi-fungsi dalam suatu sistem dan member tekanan pada aliran kendali
antaraobjek.
8) Component diagram. Bersifat statis. Diagram komponen ini memperlihatkan
prganisasi serta kebergantungan sistem/perangkat lunak pada komponen-
komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan
diagram kelas dimana kompinen secara tipikal dipetakan de dalam satu atau
21
lebih kelas-kelas, antarmuka-antarmuka (interfaces) serta kolaborasi-
kolaborasi.
9) Deployment diagram. Bersifat statis. Diagram ini memeprlihatkan konfigurasi
saat aplikasi dijalankan (saat runtime). Diagram in memuat simpul-simpul
(node) beserta komponen-komponen yang ada didalamnya. Deployment
deagram berhubungan erat dengan diagram kompinen dimaan deployment
diagram memuat satu atau lebih komponen-komponen. Diagram ini sangat
berguna saat aplikjasi berlaku sebagai aplikasi yang dijalankan pada banyak
mesin (distributed computing).
2.6 PHP (Hypertext Preprocessor)
Salah satu bahasa pemrograman yang saat ini terus berkembang dan paling
banyak digunakan web programmer adalah PHP. PHP (Hypertext Preprocessor)
merupakan bahasa pemrograman berbasis web yang memiliki kemampuan untuk
memroses dan mengolah data secara dinamis10
. PHP dapat dikatakan sebagai
sebuah server-side embedded script language, artinya semua sintaks dan perintah
program yang ditulis sepenuhnya dijalankan server, tetapi dapat disertakan pada
halaman HTML biasa. Pada umumnya, semua aplikasi yang dibangun
menggunakan PHP akan memberikan hasil pada web browser, tetapi prosesnya
secara keseluruhan dijalankan pada server.
PHP memiliki keunggulan, diantaranya:11
10
Ed. I. 2009. PHP Programming. Yogyakarta: Andi; Semarang: WAHANA KOMPUTER. Hal. 3 11
Ibid. Hal. 8
22
a. Relatif aman, mengingat source code PHP tidak dapat dilihat dengan fasilitas
view HTML source.
b. Fleksibel, mendukung semua instalasi sistem operasi dan jenis web server
yang dapat diaplikasikan, seperti Apache.
c. Dalam hal keamanan data, PHP dapat menggunakan berbagai macam varian
database, seperti: MySQL, SQL Server dll.
d. PHP dapat berintegrasi dengan semua aplikasi program CGI, mengirimkan
dan menerima cookie, dan dapat berkomunikasi dengan berbagai layanan
yang menggunakan protocol HTTP, NNTP, POP 3 dan sebagainya.
e. PHP bisa dikatakan cepat karena ditempelkan pada HTML sehingga waktu
tanggap menjadi pendek.
f. Kebanyakan varian PHP gratis dan dapat dimodifikasi sesuai dengan
kebutuhan.
2.7 Framework Codeigniter
Codeigniter adalah sebuah framework untuk web yang dibuat dalam
format PHP. Format yang dibuat ini selanjutnya dapat digunakan untuk membuat
sistem aplikasi web yang kompleks karena class dan modul yang dibutuhkan
sudah ada sehingga dapat digunakannya kembali pada aplikasi web yang akan
dibuat.
Framework adalah kumpulan sebuah maupun banyak modul-modul dalam
bentuk class library yang dapat digunakan lagi untuk membentuk sebuah aplikasi
web yang lebih besar dengan memanfaatkan modul-modul class library tersebut.
23
2.7.1 Keunggulan
Codeiginiter sudah menyiapkan beberapa kumpulan class-class untuk
membuat aplikasi web, keunggulannya sebagai berikut12
:
a. Codeigniter adalah opensource
Codeiginiter adalah framework yang gratis untuk digunakan dan dapat
dikembangkan secara legal. Codeigniter berlisensi apache/BSD-style open
source.
b. Codeigniter sangat ringan jika dijalankan pada semua platform
Codeigniter ringan dijalankan pada berbagai platform. Sistem utama dari
codeigniter hanya memerlukan sedikit ruang pada server untuk membentuk
sebuah class library. Class library tambahan hanya digunakan ketika diminta
oleh pengguna, sehingga hanya dipakai ketika diperlukan.
c. Codeigniter menggunakan MVC
Codeigniter menggunakan model MVC framework, mode MVC adalah
singkatan untuk model view controller. Model framework ini dapat
mempermudah pembedaan antara tampilan dan program.
d. Codeigniter menciptakan URL yang friendly
Url yang diciptakan oleh codeigniter sangat rapi dan friendly untuk search
engine yang ada.
e. Codeigniter dikemas dalam sebuah framework yang lengkap
Codeigniter dikemas dalam kumpulan class dalam sebuah library yang cukup
lengkap yang dapat menunjang prses pembuatan web seperti mengakses
12
Wiswakarma, Komang.2010. 9 Langkah Menjadi Master Framework Codeigniter. Yogyakarta: Lokomedia. Hal. 3
24
database, mengirim email, validasi form datam membuat sessions,
memanipulasi gambar, bekerja dengan XML-RPC dan banyak lagi.
f. Fungsi pada codeigniter dapat ditambahkan
Fungsi-fungsi pada sistem codeigniter sangat mudah ditambahkan dengan
bantuan library plugins dan helper.
g. Codeigniter mempunyai dokumentasi yang lengkap
Codeigniter mempunyai dokumentasi yang sangat rapi dan sangat jelas.
Sistem pengolahan data dalam codeigniter dapat dijabarkan sebagai
berikut:
1) File (tampilan web/index.php) bertindak sebagai kontroler utama, yang
berfungsi sebagai penampil halaman web yang memuat sumber kode utama
yang berfungsi untuk menjalankan codeigniter
2) Bagian (routing) berfungsi untuk menerima permintaan HTTP untuk
menentukan langkah yang selanjutnya diambil.
3) Jika file cache ada, maka sistem langsung akan menuju bagian (caching)
yang kemudian akan ditampilkan pada halaman web, tanpa melalaui sistem
codeigniter yang normal
4) Pada bagian (security), semua permintaan HTTP dan form yang dikirm oleh
pengguna akan di saring untuk pengamanan.
5) Kemudian data akan menu bagian (application controller) yang akan
memunculkan model, library, script helper dan plugins dan semua sumber
yang dibutuhkan untuk melengkapi permintaan tersebut.
25
6) Tampilan akhir (view) akan dikirm ke dalam browser untuk dilihat pada
halaman web. Jika caching diterima maka tampilan akhir akan menjalani
caching terlebih dahulu sehingga permintaan yang sama akan dapat berjalan
lebih cepat pada browser.
2.7.2 Konsep Model View Controller
Framework codeigniter adalah framework yang berbasis model-view-
controller. MVC adalah sebuah software yang memisahkan antara aplikasi logika
dengan presentasi pada halaman web. sehingga hal ini akan menyebabkan
halaman web akan mengandung kode yang sedikit karena sudah terjadi pemisahan
antara tampilan dan pemrograman. Ilustrasinya sebagai berikut:
a. Model. Merupakan struktur data. Secara spesifik class model akan
mengandung fungsi kode yang akan membantu dalanm segala proses yang
berhubungan dengan database seperti memasukkan, mengedit, mendapatkan
dan menghapus data dalam sebuah database.
b. View merupakan informasi yang disampaikan ke pengguna. Sebuah view
biasanya berupa halaman web, tetapi dalam codeigniter, sebuah view juga
bisa berupa sebuah fragmen halaman seperti header dan footer. View juga
bisa berupa halaman RSS atau jenis halaman web yang lain.
c. Controller merupakan sebuah perantara antara model dan view dan semua
sumber yang dibutuhkan untuk memproses permintaan HTTP dan dalam
membuat halaman web.
26
Gambar 2.3. Konsep MVC pada Codeigniter
2.8 Perancangan Database
Database/Basis Data terdiri atas 2 kata, yaitu Basis dan Data. Basis kurang
lebih dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul.
Sedangkan data adalah representasi fakta, dunia nyata yang mewakili suatu objek
seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa,
konsep, keadaan dan sebagainya yang direkam dalam bentuk angka,
Basis data dapat didefinisikan dalam sejumlah sudut pandang seperti13
:
a. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi
sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan
mudah.
b. Kumpulan data yang saling berhubungan yang disimpan secara bersama
sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk
memenuhi berbagai kebutuhan.
c. Kumpulan file/tabel/arsip yang saling berhubugan yang disimpan dalam
media penyimpanan elektronis.
13
Fathansyah. 2007. Basis Data. Bandung: Informatika. Hal. 10
27
Yang sangat ditonjolkan dalam basis data adalah pengaturan/pemilahan
pengelompokkan/pengorganisasian data yang akan disimpan sesuai
fungsi/jenisnya. Pemilahan/pengelompokan/pengorganisasian ini dapat berbentuk
sejumlah file/tabel terpisah atau dalam, bentuk pendefinisian kolom-kolom/field-
field data dalam setiap file/tabel.
2.8.1 DBMS (Database Management System)
Secara umum sebuah sistem basis data merupakan sistem yang terdiri atas
kumpulan file (tabel) yang saling berhubungan (dalam sebuah basis data di sebuah
sistem komputer) dan sekumpulan program (DBMS) yang memungkinkan
beberapa pemakai dan/atau program lain untuk mengakses dan memanipulasi file-
file (tabel-tabel) tersebut.
Gambar 2.4. Sistem Basis Data14
Pengelolaan basis data secara fisik tidak dilakukan oleh pemakai secara
langsung, tetapi ditangani oleh sebuah Perangkat Lunak (Sistem) yang
14
Fathansyah. 2007. Basis Data. Bandung: Informatika. Hal. 10
File 1
File 2
File 3
File 4 File 5
Basis Data
Database Management Sistem
(DBMS)
28
khusus/spesifik. Perangkat lunak inilah (disebut DBMS) yang akan menentukan
bagaimana data diorganisasi, disimpan, diubah dan diambil kembali. Ia juga
menerapkan mekanisme pengamanan data, pemakaian data secara bersama,
pemaksaan keakuratan/konsistensi data, dan sebagainya.
2.8.2 MySQL
MySQL merupakan software yang tergolong sebagai DBMS (Database
Management System) yang bersifat Open Source. Open source menyatakan bahwa
software ini dilengkapi dengan source code (kode yang dipakai untuk membuat
MySQL), selain tentu saja bentuk executable-nya atau kode yang dapat dijalankan
secara langsung dalam sistem operasi, dan bisa diperolah dengan cara mengunduh
di Internet secara gratis di http://www.mysql.com/products.
Sebagai software DBMS, MySQL memiliki sejumlah fitur seperti yang
dijelaskan di bawah ini15
.
a. Multiplatform; MySQL tersedia pada beberapa platform (Windows, Linux,
UNIX dan lain-lain)
b. Andal, cepat, dan mudah digunakan; MySQL tergolong sebagai database
server (permintaan terhadap database) yang andal, dapat menangani
database yang besar dengan kecepatan tinggi, mendukung banyak sekali
fungsi utnuk mengakses databse, dan sekaligus mudah untuk digunakan.
15
Kadir, Abdul. 2008. Tuntunan Praktis Belajar Database Menggunakan MySQL. Yogyakarta: Andi. Hal. 2
29
c. Jaminan keamanan akses; MySQL mendukung pengamanan database dengan
berbagai kriteria pengaksesan. MySQL juga mendukung konektivitas ke
berbagai software dan bisa diakses melalui aplikasi berbasis web.
d. Dukungan SQL; MySQL mendukung perintah SQL (Structured Query
Language). Sebagaiman diketahui, SQL merupoakan standar dalam
pengaksesan database relasional. Pengetahuan akan SQL akan memudahkan
siapa pun untuk menggunakan MySQL.
2.9 SMS (Short Message Service)
SMS atau Short Message Service merupakan layanan dasar untuk berkirim
pesan singkat melalui jaringan mobile. Kemudahan dalam mengakses fitur sms
ini menjadi salah satu andalan dalam komunikasi antar sesama, baik di jaringan
GSM maupun CDMA. Pesan singkat yang dikirim melalui jaringan seluler akan
terjamin pengirimannya sampai ke tujuan. Karena jika pada saat nomor penerima
tidak aktif, maka pesan tersebut akan disimpan terlebih dahulu di Short Message
Service Center (SMSC) sampai nomor penerima aktif kembali dan pesan dapat
dikirimkan kemudian.
2.9.1 Arsitektur SMS
Dalam proses pengiriman sms, terdapat beberapa elemen-elemen penting
yang saling berhubungan sehingga pesan yang dikirim dapat tersampaikan ke
nomor tujuan. Gambar 2.3. merupakan alur dari arsitektur sms pada jaringan
GSM.
30
Gambar 2.5. Arsitektur SMS pada jaringan GSM16
Berdasarkan Gambar 2.5. terdapat tiga komponen yang memegang
peranan penting dalam arsitektur sms yaitu SME (Short Message Entities), SMSC
(Short Message Service Center) dan Email Gateway17
.
a. Short Message Entity (SME)
Short Message Entity (SME) adalah elemen yang dapat mengirim atau
menerima pesan singkat. SME dapat berupa software aplikasi pada mobile
handset, dapat juga berupa perangkat facsimile, perangkat telex, remote
internet server, dll.
Sebuah SME dapat berupa server yang terkoneksi dengan SMS centre
secara langsung atau melalui gateway. Dikenal juga External SME (ESME)
yang merepresentasikan sebuah WAP proxy/server, Email Gateway atau
Voice Mail server.
16
Le Bodic, Gwenael. 2005. Mobile Messaging technologies and services SMS, EMS, and MMS.
John Wiley & Sons. West Sussex. 17
Ibid.
31
b. SMS Service Centre (SMSC)
SMS Service Centre (SMSC) memegang peran kunci dalam arsitektur
SMS. Fungsi utama SMSC adalah menyampaikan pesan singkat antara SME
dengan MS, juga menyimpan dan meneruskan pesan singkat (menyimpan
pesan jika penerima SME tidak tersedia). SMSC dapat terintegrasi sebagai
bagian dari mobile network (contoh: terintegrasi dengan MSC) atau sebagai
entitas network independen.
c. Email Gateway
Email Gateway memungkinkan sebuah email beroperasi menjadi SMS
dengan interkoneksi SMSC pada internet. Dengan email gateway, pesan dapat
dikirim dari sebuah SME menuju sebuah host internet dan sebaliknya. Peran
email gateway adalah mengubah format pesan (dari SMS ke email dan
sebaliknya) dan me-relay pesan antara SMS dan domain internet.
Gambar berikut ini menunjukkan dua GSM network dan komponen
yang relevan untuk menyampaikan pesan dari end user A ke end user B :
Gambar 2.6. Susunan Jaringan dan Aliran Message
32
1) SMS dikirim melalui MSC/VLR ke SMSC di PLMN (Public Land Moile
Network) A. Ini merupakan sebuah pesan MAP “forward SM”, termasuk
nomor MSISDN asal A dan MSISDN tujuan B.
2) Karena end user B berada di PLMN B, SMSC harus me-routing informasi dari
HLR PLMN B. Untuk melakukannya, SMSC mengirim MAP “send routing
info for SM” dengan nomor MSISDN B.
3) HLR mengirim kembali IMSI dari end user B dan VLR nya
4) SMSC mengirim SMS sebagai MAP message melalui MSC/VLR ke end user
B.
2.9.2 SMS Gateway
SMS gateway merupakan salah satu fitur yang disediakan dalam layanan
SMS. SMS gateway adalah sebuah perangkat yang menawarkan layanan transit
SMS, mentransformasikan pesan ke jaringan selular dari media lain, atau
sebaliknya, sehingga memungkinkan pengiriman atau penerimaan pesan SMS
dengan atau tanpa menggunakan ponsel18
.
Sebagaimana penjelasan diatas, SMS gateway dapat terhubung ke media
lain seperti perangkat SMSC dan server milik Content Provider melalui link IP
untuk memproses suatu layanan SMS.
Sebuah sistem SMS gateway, umumnya terdiri komponen hardware
(server/komputer yang dilengkapi dengan perangkat jaringan) dan software
(aplikasi yang digunakan untuk pengolahan pesan). Dan untuk sebuah sistem yang
18
Le Bodic, Gwenael. 2005. Mobile Messaging technologies and services SMS, EMS, and MMS.
John Wiley & Sons. West Sussex.
33
besar umumnya menggunakan database untuk penyimpanan data. Sms ini
biasanya digunakan dengan kartu GSM, dan tarifnya pun disesuaikan dengan kartu
tersebut.
2.10 Gammu
Gammu adalah sebuah aplikasi yang dapat digunakan untuk mengelola
berbagai fungsi pada handphone, modem dan perangkat sejenis lainnya. Fungsi-
fungsi yang dapat dikelola oleh Gammu antara lain adalah fungsi nomor kontak
(phonebook) dan fungsi SMS. Namun, fungsi SMS pada Gammu akan lebih
banyak digunakan untuk pengembangan aplikasi Sistem Informasi Kegiatan
Akademik dan Administrasi berbasis SMS Gateway.
2.10.1 Keunggulan Gammu
Kelebihan Gammu dibandingkan tool SMS Gateway lainnya adalah:
a. Gammu bisa dijalankan di Windows maupun Linux.
b. Banyak device yang kompatibel dengan Gammu.
c. Baik kabel data USB maupun SERIAL, semuanya kompatibel dengan Gammu.
d. Gammu adalah aplikasi open source yang dapat dipakai secari gratis.
e. Gammu tidak memerlukan banyak hardware (hanya memerlukan perangkat
PC dan Modem), sehingga memudahkan dalam mengembangkan aplikasi
dengan modal terjangkau.
2.10.2 Manfaat Gammu
Dengan menggunakan Gammu untuk mengolah SMS Gateway akan
memudahkan kita untuk mengirimkan SMS dalam jumlah yang banyak melalui
34
computer. Contoh aplikasinya dapat digunakan sebagai pengirim SMS massal,
SMS Polling, SMS Autoreply, SMS on Demand, SMS Scheduler dan lain
sebagainya.
2.10.3 Mengenal Database Gammu
Agar aplikasi SMS Gateway dapat berjalan dengan sempurna, diperlukan
database yang akan menampung data SMS yang masuk maupun yang keluar, serta
data phonebook dan data pengguna aplikasi.
Database Gammu merupakan database inti dalam proses pengiriman dan
penerimaan SMS. Terdapat 9 tabel bawaan (default) database Gammu untuk
menampung database SMS yang terkirim maupun yang diterima oleh sistem
aplikasi SMS Gateway. Namun tabel inti yang akan digunakan dalam pembuatan
aplikasi Sistem Informasi Akademik dan Administrasi ini adalah tabel inbox,
outbox, sentitems.
Gambar 2.7. 9 tabel bawaan (default) database Gammu.
Berikut akan dijelaskan beberapa tabel yang digunakan dalam pembuatan
aplikasi Sistem Informasi Akademik dan Administrasi Sekolah.
35
a. Inbox
Tabel ini berfungsi untuk menampung segala pesan yang masuk ke dalam
handphone. Dan secara otomatis menyimpannya di dalam tabel ini.
b. Outbox
Tabel ini berfungsi untuk menampung pesan yang keluar. Maksudnya, jika
kita mengirimkan sebuah pesan, pasti pesan tersebut akan melewati tabel outbox
terlebih dahulu sebelum dipindahkan ke dalam tabel sentitems (dalam artian
sebelun pesan dikirimkan pada SMS Center). Jika pengiriman pesan gagal, pesan
tetap tersimpan dalam tabel tersebut.
c. Sentitems
Tabel ini berfungsi untuk menampung pesan-pesan yang berhasil
dikirimkan ke nomor tujuan, dan tabel ini menrupakan tabel kiriman atau
duplikasi dari tabel outbox.
d. Pbk_groups
Tabel ini berfungsi untuk menampung data nama grup yang akan
dikirimkan sekaligus ke beberapa nomor dalam sekali kirim.
e. Pbk
Tabel ini berfungsi untuk menampung isi dari data nama setiap grup yang
sudah disimpan pada tabel pbk_groups. Untuk menyesuaikan isi data dari tabel
pbk dan pbk_groups, pastikan atribut GroupID pada tabel pbk terdapat juga di
salah satu ID pada tabel pbk_groups.
36
BAB III
TINJAUAN UMUM
3.1 Gambaran Umum SMP Pasundan 1 Bandung
SMP Pasundan 1 Bandung adalah salah satu lembaga pendidikan yang
berada di bawah naungan Yayasan Pendidikan Dasar dan Menengah (YPDM)
Pasundan. SMP Pasundan 1 Bandung didirikan pada tahun 1948.
Secara geografis letak SMP Pasundan 1 Bandung berada di wilayah
perkotaan, yaitu di Jalan Pasundan No 32 Bandung berdekatan dengan pusat kota
Bandung (alun-alun) dan pendopo. Hal ini memberikan efek ganda dalam proses
pendidikan yang dilaksanakan di SMP Pasundan 1 Bandung.
Di satu sisi letak geografis SMP Pasundan 1 Bandung sangat
menguntungkan, karena berada di pusat perkotaan, sehingga dapat dijangkau
dengan mudah oleh seluruh users (pengguna) SMP Pasundan 1 Bandung. Namun
di sisi lain hal ini juga memberikan resiko yang cukup besar, karena letak SMP
Pasundan 1 Bandung dekat dengan pusat perbelanjaan, hiburan dan sebagainya,
yang mana hal tersebut kurang menguntungkan bagi dunia pendidikan.
Dalam kiprahnya SMP Pasundan 1 Bandung mengemban visi Pengkuh
Agamana, Luhung Elmuna, Jembar Budayana, maksudnya dalam seluruh proses
pendidikan yang dilaksanakan bertujuan untuk mengembangkan sumber daya
manusia yang memiliki kualitas unggul dalam bidang keilmuan, nilai-nilai budaya
sunda dan nilai keislaman dengan metode silih asah, silih asih, silih asuh dalam
menghadapi persaingan lokal, nasional, regional dan internasional serta sekaligus
37
menjadi pusat pengembangan ilmu pengetahuan, budaya dan keislaman di
kawasan nusantara.
Adapun penjelasan dari visi, misi dan tujuan SMP Pasundan 1 Bandung,
dapat dijelaskan dalam uraian di bawah ini :
a. Visi
Visi SMP Pasundan 1 Bandung adalah Pengkuh Agamana, Luhung
Elmuna, Jembar Budayana. Penjelasan singkat sebagai indikator dari Visi
tersebut adalah sebagai berikut:
1. Pengkuh Agamana yang berarti menjadi manusia yang religius dan dapat
mengamalkan ajaran agama khususnya Islam dalam kehidupan sehari-hari.
2. Luhung Elmuna yang berarti menjadi manusia yang mantap dan berperan
aktif dalam pengembangan Ilmu Pengetahuan dan Teknologi
3. Jembar Budayana yang berarti menjadi manusia yang mampu mengikuti
perkembangan sosial budaya dengan tetap memelihara dan mengembangkan
budaya dan tradisi daerah sendiri terutama Budaya Sunda.
b. Misi
1. Memperkokoh landasan keimanan dan ketaqwaan peserta didik terhadap
Allah swt.
2. Meningkatkan mutu pendidikan dalam rangka membentuk sumber daya
manusia yang berkualitas.
3. Menciptakan lingkungan belajar yang kondusif dalam upaya pengembangan
Ilmu Pengetahuan dan Teknologi.
4. Memantapkan penguasaan Teknologi baik teotitis maupun praktek
38
5. Meningkatkan pemahaman, sikap dan tingkah laku yang rasional dan
bertanggung jawab terhadap hidup dan kehidupan budaya sunda.
3.2 Tujuan Sekolah
Tujuan atau sasaran pendidikan SMP Pasundan 1 Bandung memiliki
beberapa tahapan, yaitu Jangka Pendek, Jangka Menengah dan Jangka Panjang.
Sasaran yang dicanangkan disesuaikan dengan kondisi sekolah serta tantangan
yang dihadapi sekolah pada masa yang akan datang.
Untuk menunjang terwujudnya Visi dan Misi, maka SMP Pasundan 1
Bandung merumuskan tujuan dalam lima tahun ke depan dari tahun Pelajaran
2010/2011 sampai dengan 2014/2015 sebagai berikut :
a. Memenuhi peningkatan/pengembangan tenaga kependidikan.
1) Peningkatan profisionalisme guru
2) Peningkatan kompetensi guru dan staf tata usaha
b. Memenuhi peningkatan/pengembangan fasilitas pendidikan.
1) Pengembangan sarana pendidikan
2) Pengembangan prasarana pendidikan
3) Pengembangan media pembelajaran
c. Memenuhi pengembangan isi kurikulum.
1) Pemahaman Kurikulum Tingkat Satuan pendidikan
2) Pengembangan perangkat pembelajaran prota, promes, pemetaan, silabus,
dan Rencana Pelaksanaan Pembelajaran (RPP) secara mandiri.
39
d. Memenuhi peningkatan standar proses.
1) Pengembangan strategi pembelajaran
2) Pengembangan model-model pembelajaran
3) Pengembangan penggunaan media pembelajaran
4) Penciptaan lingkungan belajar yang kondusif
e. Memenuhi peningkatan standar penilaian.
1) Pengembangan sistem penilaian
2) Pengembangan pedoman evaluasi
3) Implementasi model-model evaluasi
f. Memenuhi pengembangan standar kelulusan.
1) Peningkatan standar lulusan
2) Peningkatan prestasi akademik dan non akademik
g. Memenuhi peningkatan mutu kelembagaan.
1) Pengembangan dan kelengkapan administrasi sekolah
2) Pelaksanaan monitoring dan evaluasi di semua aspek
3) Pelaksanaan supervisi klinis oleh Kepala Sekolah
4) Implementasi MBS
h. Memenuhi pengembangan standar pembiayaan pendidikan.
1) Penciptaan subsidi silang bagi peserta didik yang tidak mampu
2) Penggalangan dana dari berbagai sumber.
40
3.3 Tenaga Pendidik dan Kependidikan
Tabel 3.1. Tenaga Pendidik dan Kependidikan SMP Pasundan 1 Bandung
No Nama NIP/ NIP.Y Keterangan
1 Drs.Hasan Basri 195903121982031015 Kepala Sekolah
2 Ati Rohaeti, S.Pd 196712081989032005 Wali Kelas IX-E
3 Drs. Effendi 196206261984031005 Wakasek
Kurikulum
4 Heni Rochaeni, A.Md 196212181984032011 PKS Sarana
5 Sriwaty Makarao, S.Pd 196410091986012005 Guru
6 Dra. Kusmiati 195709271986032006 Guru
7 R. Anna Susiana, S.Pd 196702021989032010 Guru
8 Edah Jubaedah, A.Md 196706151989032007 Guru
9 Dini Fitrohoerani, S.Sos 196802051990022003 Guru
10 Dra. Yayah Walasriningsih 196209201991032003 Koordinator
BP/BK
11 Dra. Nani Rohaeni 196509161986102002 Guru
12 Nia Yuniati, S.Pd 196703142007012011 Guru
13 Mulyana Yusup, M.Ag 198105032005011003 PKS Kesiswaan
14 Wewen Andawali, S.Pd, M.M 101.0040 Staf PKS
Kurikulum
15 Mumuh M. Soleh, S.Pd 101.0264 PKS Humas
16 Herman 101.0321 Guru
17 Soma Winata Guru
18 Anna Juliana, S.Ag Guru
19 Maria Mulyani, A.Md Guru
20 Sumiarsa, S.Pd Guru
21 Dindin Toharudin, S.Pd Staf PKS
Kesiswaan
22 Iin Mulyati, S.Pd Guru
23 Ma’mur, S.Ag Guru
24 Ridwan Abdurodjak, ST Guru &
Koor.Lab.Komputer
25 Rudi Amarulloh, S.Ag Guru
26 H. Sukmana, S.Pd Guru
27 Deden K. Setiawan, S.Pd Guru
28 Boyke Rizky MN, S.Pd Guru
29 Furi Nurhayati, S.Pd Guru
30 Eva Rosaidah, S.Pd Guru
31 Moh. Nurjaman, S.Pd Guru
32 Dicky Farid Mulyadi, S.Pd Guru
33 Cace Hendrik A.P, S.Sn Guru
34 M. Rijal Yasiruddin, MQ,
S.Sn
Guru
41
35 Syska Purnama Sari Guru BK
36 Suci Zahari Abdi, S.Pd Guru
37 Eha Julaeha, S.Pd Guru
38 Dadan Supriatna Pelatih Ekskul
39 Irma Rahayu, A.Md Pelatih Ekskul
40 Aris Siswanto Pelatih Ekskul
41 Ir.H.Dedi E.Supriatna, M.Sc Pelatih Ekskul
42 Leni Nurmalasari, S.Sn Pelatih Ekskul
43 Junjun, S.Hut Pelatih Ekskul
44 Ganjar Rijwan Sanjaya Pelatih Ekskul
45 Hendrayani Pelatih Ekskul
42
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
Pada tahapan berikut akan dilakukan analisis dan perancangan sistem yang
diklasifikasikan secara detail berdasarkan kebutuhan (requirement) sekolah.
Karena pemodelan perangkat lunak yang digunakan menggunakan RUP (Rational
Unified Process), maka ada dua fase yang akan dijelaskan pada bab ini, yaitu
inception dan elaboration.
4.1 Fase Inception
Pada fase awal RUP ini akan akan memodelkan proses bisnis yang
dibutuhkan (business modeling) dan mendefinisikan kebutuhan akan sistem yang
akan dibuat (requirements).
4.1.1 Proses Bisnis Sistem Informasi Akademik dan Administrasi Sekolah
Proses bisnis dapat memberikan gambaran sebagai dasar evaluasi terhadap
proses bisnis yang sedang berjalan. Sehingga hasil dari evaluasi ini akan
menghasilkan kebutuhan-kebutuhan yang jelas dan mudah dipahami untuk
menghasilkan proses bisnis yang baru.
a. Deskripsi Proses Bisnis Pengolahan Data Pembayaran
Pengolahan data pembayaran merupakan prosedur yang dilakukan untuk
mengolah data pembayaran seperti registrasi/herregistrasi dan pembayaran uang
SPP yang dibayarkan oleh orang tua/siswa setiap bulannya kepada petugas tata
usaha (TU) di sekolah. Informasi yang dihasilkan berupa laporan keuangan bagi
43
Bendahara dan Kepala Sekolah serta kwitansi dan kartu SPP bagi orang tua/siswa
yang sudah di cap dan ditandatangani oleh bagian TU (Kolektor) sebagai tanda
bukti bahwa ia telah melakukan pembayaran.
Untuk pembayaran registrasi (daftar ulang) dilakukan ketika calon siswa
diterima menjadi siswa di SMP Pasundan 1 Bandung dan bisa mendapatkan
Nomor Induk Siswa (NIS) serta mengikuti kegiatan belajar mengajar. Sedangkan
pembayaran herregistrasi dilakukan ketika siswa dinyatakan naik ke kelas
selanjutnya. Untuk pembayaran SPP, jika telah lewat sampai batas waktu yang
telah ditentukan yaitu tanggal 10 setiap bulannya, maka orang tua/wali akan
mendapatkan surat pemberitahuan dari sekolah bahwa anaknya belum melakukan
pembayaran SPP. Berikut disajikan proses bisnis dari pengolahan data
pembayaran.
Gambar 4.1. Proses Bisnis Pengolahan Data Pembayaran.
analysis Package3
Siswa
Her Registrasi dan
Bayar SPP
Melakukan
Herregistrasi dan
Pembayaran SPP
Kartu Pembayaran
TU (Kolektor)
Cek Herregistrasi dan
Pembayaran SPP
Mencatat Data PembayaranMemeriksa Data
Buku Besar SPPData SiswaData Kelas
Memberikan Cap
dan Tandatangan
Sebagai Tanda
Bukti Pembayaran
Bukti Pembayaran
Membuat Laporan
Harian Pembayaran
per Kelas
Laporan Harian Pembayaran
per Kelas
Bendahara Sekolah
cek
laporan
Membuat Laporan
Pembayaran
Bulanan
Menandatangani
Laporan
Pembayaran
Bulanan
Laporan Bulanan Yang Sudah
Ditandatangani
Kepala Sekolah
Memeriksa Jumlah
Pembayaran harian
Wali Kelas
cek
laporan
Memeriksa
Laporan (sebagai
tembusan)
cek
laporan
Memeriksa Surat
Pemberitahuan
Laporan Siswa Yang
Belum Bayar
Orang Tua
cek surat
Menerima Surat
Pemberitahuan
Kelola Pembayaran Herregistrasi dan SPP
Menggunakan Tools Spreadsheet
Humas
(from Package4)
cek
laporan
(from Package4)
Membuat Surat
Pemberitahuan
(from Package4)
Surat Pemberitahuan
(from Package4)
uses
output
output
input inputuses
uses
output
output
uses
uses
uses
uses
output
uses
uses
output
uses
uses
44
Gambar 4.2. Proses Bisnis Registrasi dan Herregistrasi.
b. Proses Bisnis Pengolahan Data Absensi
Pengolahan data absensi merupakan proses bisnis yang dilakukan untuk
mengolah data kehadiran siswa di dalam kelas selama kegiatan belajar mengajar
dilaksanakan. Informasi yang dihasilkan berupa jumlah kehadiran siswa di kelas
baik itu hadir, alfa, sakit, atau izin. Data kehadiran tersebut akan dihitung oleh
Wali Kelas untuk dimasukkan ke dalam rapor tengah/akhir semester untuk
diinformasikan kembali kepada orang tua/wali. Laporan data absensi yang sudah
direkapitulasi oleh Wali Kelas diserahkan kepada PKS Kesiswaan setiap sebulan
sekali untuk diproses menjadi informasi berbentuk prosentase kehadiran setiap
kelas. Berikut disajikan proses bisnis dari pengolahan data absensi.
analysis Package5
Calon Siswa
pendaftaran
Mencari Informasi
Pendaftaran
Mendaftar Uj ian
Masuk
Mengikuti Uj ian
MasukMelihat
Pengumuman
Penerimaan
Melakukan
Registrasi dan
Pembayaran
Siswa
Melakukan
Kegiatan
Sekolah
Melakukan
Pembelajaran
Mengikuti Uj ian Melihat Hasil Studi Melakukan
Herregistrasi dan
Pembayaran SPP
NIS
TU (Kolektor)
cek
pembayaran
Memeriksa Data
Surat Penerimaan
kartu pembayaran
[output]
uses
uses
uses
output
uses
45
Gambar 4.3. Proses Bisnis Pengolahan Data Absensi
c. Proses Bisnis Pengolahan Data Nilai
Pengolahan data nilai merupakan proses bisnis yang dilakukan untuk
mengolah nilai siswa pada masing-masing kelas dan mata pelajaran. Proses bisnis
yang akan dijelaskan pada analisis ini hanya menjelaskan informasi nilai seperti
ulangan harian, UTS (Ulangan Tengah Semester), UAS (Ulangan Akhir
Semester), dan nilai kriteria ketuntasan minimal (KKM). Proses bisnis ini di awali
dengan proses kegiatan belajar mengajar yang dilaksanakan oleh guru sesuai mata
pelajaran yang ditugaskan dan dilakukan evaluasi berupa ulangan, sehingga di
akhir proses/output yang dihasilkan berupa laporan rekapitulasi yang akan
diserahkan kepada PKS Kurikulum, Kepala Sekolah dan Wali Kelas (laporan
yang sudah ditandatangani) untuk dimasukan ke dalam rapor sebagai bukti hasil
pembelajaran siswa kepada orang tua. Berikut disajikan proses bisnis pengolahan
data nilai (ulangan harian, UTS, UAS, nilai KKM).
analysis Package2
Sekretaris Kelas
cek
absensi
Memeriksa
kehadiran setiap
siswa
Buku Laporan
Absensi Kelas
Wali Kelas
cek
absensi
Memeriksa Absensi Kelas Membuat Laporan Rekapitulasi Absensi Kelas
Data Siswa Data Kelas
Laporan Rekapitulasi
Absensi Kelas
Wakasek
Kesiswaan
Cek
Absensi
Menandatangani Laporan
Rekapitulasi Absensi
Kelas
Mengolah Laporan Rekapitulasi
Absensi Secara Umum Dalam
Bentuk Porsentase Kehadiran
Laporan Rekapitulasi Absensi Kelas
Yang Sudah Ditandatangani
Menandatangani
Laporan Porsentase
Kehadiran
Laporan Porsentase Kehadiran
Yang Sudah Ditandatangani
Kepala Sekolah
Cek Porsentase
Kehadiran
Memeriksa
Laporan (sebagai
tembusan)
Memasukan Absen
Siswa ke Rapor Rapor Siswa
Orang Tua
Cek
Absensi
Menerima Rapor
Siswa
Kelola Absensi Menggunakan
Tools Spreadsheet
Menandatangani
Rapor
output
output
uses
uses
output
input input
uses uses
uses
output
uses
output
uses
uses
46
Gambar 4.4. Proses Bisnis Pengolahan Data Nilai
Dari proses bisnis pengolahan data nilai, dapat diturunkan suatu proses
yang menjelaskan tentang proses perbaikan nilai. Perbaikan nilai dilakukan jika
nilai rata-rata dari ulangan harian (UH), UTS, UAS, atau UKK tidak memenuhi
standar nilai kriteria ketuntasan minimal (KKM). Proses perbaikan nilai dilakukan
sebanyak dua kali dan untuk hasil akhirnya diberikan nilai KKM yang berlaku
sesuai dengan mata pelajaran yang diperbaiki.
d. Deskripsi Proses Bisnis Pengolahan Informasi Kegiatan Sekolah
Pengolahan informasi kegiatan sekolah merupakan proses bisnis yang
dilakukan untuk memberikan informasi mengenai kegiatan yang akan
dilaksanakan oleh sekolah baik itu kegiatan intern -berkenaan dengan kegiatan
rapat, antar guru, staf dan kepala sekolah- atau mengenai kegiatan ekstern seperti
kegiatan ekstrakurikuler, studi tour dan sebagainya. Hasil keluaran berupa
informasi melalui surat yang dibagikan kepada guru, staf, siswa maupun orang tua
(sesuai dengan informasi yang akan didistribusikan).
analysis Business Process Nilai
Data Siswa
Berkas Ulangan
Data Kelas
Guru
Mengajar
Data
Matapelajaran
Mengadakan
Ulangan
Siswa
Melakukan
Kegiatan
Sekolah
Mengikuti Uj ian
Berkas Ulangan
yang sudah di isi
Memeriksa Hasil
Ulangan Siswa
Rekapitulasi Hasil
Uj ian Siswa
Membuat Laporan
Rekapitulasi Nilai
Per Kelas
Laporan
Rekapitulasi Nilai
Kelas
Wakasek Kurikulum
Cek
Laporan
Menandatangani
Laporan
Rekapitulasi Nilai
Kelas
Kepala Sekolah
Cek
Laporan
Rapor Siswa
Memeriksa
Laporan (sebagai
tembusan)
Wali Kelas
Rekap
Nilai
Memasukan Nilai
Siswa ke Rapor
Orang Tua
Cek Rapor
Menerima Rapor
Siswa
Kegiatan
Belajar
Mengajar
Laporan Rekapitulasi Nilai Kelas
Yang Sudah Ditandatangani
Melakukan
Pembelajaran
Jadwal Mengajar Kelola Nilai Menggunakan
Tools Spreadsheet
Menandatangani
Rapor
Melihat Hasil Studi
usesinput
uses
uses
uses
uses
input inputinput
output
output
uses
output
uses
uses
output
uses
output
uses
47
Gambar 4.5. Proses Bisnis Pengolahan Informasi Kegiatan Sekolah.
4.1.2 Spesifikasi Kebutuhan
4.1.2.1 Kebutuhan Fungsional
Merupakan kebutuhan secara fungsional yang harus dipenuhi oleh
perangkat lunak yang akan dibangun. Untuk memudahkan dalam mendeskripsikan
requirement, diperlukan aturan penomoran sebagai berikut: Req.xx-xxx.x adalah
kode yang merepresentasikan kebutuhan fungsional. Req kepanjangan dari
requirement, xx adalah digit/nomor urutan requirement. xxx adalah singkatan dari
deskripsi requirement, xx adalah nomor urutan fungsi pada requirement.
Kebutuhan fungsional tersebut akan dideskripsikan dalam bentuk tabel, sebagai
berikut:
Tabel 4.1. Kebutuhan fungsional perangkat lunak.
No Requirement Deskripsi
1 Req.01-LA Login Admin
2 Req.02-LS Login Siswa
3 Req.03-LO Login Orang Tua
4 Req.04-LG Login Guru
5 Req.05-DP Olah Data Pembayaran
6 Req.05-DP.1 View Data Pembayaran
analysis Package4
PKS Kurikulum
Buat Surat
Pengantar
Mengajukan
Kegiatan Yang
Akan Dilaksanakan
Membuat Surat
Pengantar
Kepala Sekolah
cek
kegiatan
Memberikan
Persetujuan
Memberikan
Pengesahan
Surat Pengantar Surat Pengantar Yang
Sudah Disahkan
Humas
cek
laporan
Membuat Surat
Pemberitahuan Surat Pemberitahuan
Tools Document
output
uses
uses
output
output
uses
uses
48
7 Req.06-DA Olah Data Absensi
8 Req.06-DA.1 View Data Absensi
9 Req.07-DN Olah Data Nilai
10 Req.07-DN.1 View Data Nilai
11 Req.08-UP Olah Users Profile
12 Req.08-UP.1 Update Users Profile
13 Req.09-JMP Olah Jadwal Mata pelajaran
14 Req.09-JMP.1 View Jadwal Mata pelajaran
15 Req.10-JMJ Olah Jadwal Mengajar
16 Req.10-JMJ.1 View Jadwal Mengajar
17 Req.11-DK Olah Data Kegiatan
18 Req.11-DK.1 View Data Kegiatan
19 Req.12-GS Olah General Setting
20 Req.13-SSG Setting SMS Gateway
21 Req.14-Rekap Laporan Rekapitulasi Data
4.1.2.2 Identifikasi Aktor
Aktor dapat diidentifikasikan sebagai objek yang yang berinteraksi
langsung -baik yang menggunakan maupun yang mempengaruhi- dengan
sistem/perangkat lunak yang sedang dikembangkan (misalnya, orang, suatu
perangkat keras, sistem lain dan sebagainya).
Pada aplikasi yang akan dibuat dapat di identifikasi beberapa aktor yang
akan terlibat baik secara langsung maupun tidak terhadap sistem, yaitu
Administrator, Siswa, Guru dan Orang Tua/Wali. Deskripsi aktor yang terlibat
akan diberikan pada tabel 4.2 berikut ini.
Tabel 4.2 Identifikasi Aktor
No Nama Aktor Deskripsi
1 Administrator Aktor memiliki hak akses penuh dalam memanipulasi
dan mengolah data nilai, absensi, data pembayaran,
manage users profile, informasi kegiatan sekolah,
jadwal mengajar, jadwal mata pelajaran, general
setting, olah rekapitulasi dan bertugas mengaktifkan
aplikasi server sms gateway.
2 Siswa a. Aktor merupakan siswa SMP Pasundan 1
Bandung.
49
b. Aktor diberikan hak akses untuk melihat informasi
nilai, absensi, informasi pembayaran dan jadwal
mata pelajaran.
c. Aktor dapat mengubah profil dirinya yang tidak
sesuai dengan data pribadi.
d. Aktor mendapatkan layanan informasi melalui sms
mengenai kegiatan akademik dan administrasi
sekolah dimana nomor kontaknya sudah terdaftar
di dalam database server.
3 Orang Tua a. Aktor merupakan orang tua/wali SMP Pasundan 1
Bandung.
b. Aktor diberikan hak akses untuk melihat informasi
nilai, absensi informasi pembayaran dan jadwal
mata pelajaran.
c. Aktor dapat mengubah profil dirinya yang tidak
sesuai dengan data pribadi.
d. Aktor mendapatkan layanan informasi melalui sms
mengenai kegiatan akademik dan administrasi
sekolah
4 Guru a. Aktor merupakan guru SMP Pasundan 1 Bandung.
b. Aktor mempunyai hak akses untuk memasukkan,
merubah, dan melihat informasi nilai yang sesuai
dengan mata pelajaran dan kelas yang diajarnya.
c. Aktor dapat mengubah profil dirinya yang tidak
sesuai dengan data pribadi dan dapat melihat
jadwal mengajar.
d. Mendapatkan layanan informasi melalui sms
mengenai kegiatan tentatif sekolah
4.2 Fase Elaboration
Pada fase ini akan menganalisis dan mendesain sistem serta implementasi
sistem yang mengacu pada kebutuhan-kebutuhan yang sudah dijabarkan pada fase
inception.
4.2.1 Use case Diagram
Pemodelan use case ditujukan untuk mendeskripsikan sebuah interaksi
antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Dengan
kata lain, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam
50
sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi
itu. Gambar dibawah ini merupakan use case diagram pada sistem informasi
akademik dan administrasi sekolah yang menghubungkan keseluruhan fungsi-
fungsi yang ada di dalam sistem yang akan dibuat.
Gambar 4.6. Use Case Diagram Sistem Informasi Kegiatan Akademik dan
Administrasi Sekolah
Berikut adalah deskripsi pendefinisian use case pada sistem informasi
akademik dan administrasi sekolah:
uc Use Case Model
SIAKAD
Admin
Olah Data Nilai
Olah Data Absensi
Olah Data Pembayaran
Olah User Profile
Setting SMS Gateway
Olah Data Kegiatan
Siswa
Orang tua/ Wali
Guru
update users
profile
v iew kegiatan
login admin
login user
login guru
Olah Rekapitulasi
v iew info SPP
v iew absensi
v iew nilai
Olah General Setting
login orangtua
Olah Jadwal
Mengajar
v iew jadwal
mengajar
Olah Jadwal
Matapelajaran
v iew jadwal
matapelajaran
«include»
«include»
«include»
«extend»
«include»
«include» «extend»
«extend»
«include»
«extend»
«include»
«include»
«include»
«include»«include»
«extend»
«include»
«include»
«include»
«include»
«include»
«extend»
«include»
«include»
«extend»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
51
Tabel 4.3. Deskripsi Use case
No Use case Deskripsi
1 Login Admin Proses validasi hak akses untuk dapat masuk ke
dalam fungsi sistem yang dikhususkan Admin
2 Login Siswa Proses validasi hak akses untuk dapat masuk ke
dalam fungsi sistem yang dikhususkan Siswa
3 Login Orang Tua Proses validasi hak akses untuk dapat masuk ke
dalam fungsi sistem yang dikhususkan Orang
Tua
4 Login Guru Proses validasi hak akses untuk dapat masuk ke
dalam fungsi sistem yang dikhususkan Guru
5 Olah Data
Pembayaran
Merupakan hak akses admin untuk mengelola
Data pembayaran umum seperti
herregistrasi/registrasi dan SPP
6 Olah Data Absensi Merupakan hak akses admin untuk mengelola
absensi
7 Olah Data Nilai Merupakan hak akses admin untuk mengelola
nilai
8 Olah Users Profile Merupakan hak akses admin untuk mengelola
users profile seperti data siswa, data guru, dan
data orang tua.
9 Olah Jadwal Mata
pelajaran
Merupakan hak akses admin untuk mengelola
jadwal mata pelajaran
10 Olah Jadwal Mengajar Merupakan hak akses admin untuk mengelola
jadwal mengajar bagi guru mata pelajaran.
11 Olah Data Kegiatan Merupakan hak akses admin untuk mengelola
informasi kegiatan yang ada di sekolah, dimana
proses ini mencakup kegiatan akademik dan
kegiatan tentatif.
12 Olah General Setting Merupakan hak akses admin untuk mengolah
informasi umum seperti aktivasi semester dan
tahun ajaran yang sedang aktif, kelas.
13 Setting SMS Gateway Merupakan hak akses admin untuk mengelola
server sms gateway.
14 Olah Rekapitulasi Merupakan hak akses admin untuk perekapan
laporan dari pengolahan data nilai, absensi dan
data pembayaran
15 View Info Pembayaran Merupakan hak akses admin, siswa dan orang
tua untuk melihat informasi pembayaran
herregistrasi/registrasi dan SPP.
16 View Info Absensi Merupakan hak akses admin, siswa dan orang
tua untuk melihat informasi mengenai data
kehadiran selama kegiatan belajar mengajar di
sekolah.
52
17 View Info Nilai Merupakan hak akses admin, siswa dan orang
tua untuk melihat informasi mengenai data nilai
per semester seperti nilai harian/tugas, nilai UTS
dan nilai UAS.
18 Update Users Profile Merupakan hak akses admin, siswa, orang tua
dan guru untuk merubah data atau informasi
pribadi.
19 View Jadwal Mata
pelajaran
Merupakan hak akses admin dan siswa untuk
melihat jadwal mata pelajaran
20 View Jadwal Mengajar Merupakan hak akses admin dan guru untuk
melihat jadwal mengajar.
21 View Kegiatan Merupakan hak akses admin, siswa, orang tua
dan guru untuk melihat kegiatan akademik atau
tentatif yang dilaksanakan sekolah.
4.2.2 Scenario Use Case
Dari scenario use case dapat dilihat interaksi yang dilakukan aktor (aksi
aktor). Aliran data yang diterima oleh sistem akan menghasilkan suatu reaksi yang
kontinyu sampai proses berakhir sesuai keinginan aktor.
a. Scenario Use case Login
1) Login Admin
Fungsi use case ini adalah untuk memeriksa username dan password
admin untuk dicocokan ke dalam database, jika valid maka sistem akan
menampilkan halaman beranda admin dan user dapat menggunakan fungsi-fungsi
yang disediakan di dalam sistem seperti mengolah data nilai, absensi, data
pembayaran, kegiatan sekolah, jadwal mengajar untuk guru mata pelajaran,
jadwal mata pelajaran, manage users profile, setting sms gateway dan general
setting.
Tabel 4.4. Use case Login Administrator
IDENTIFIKASI
Nomor Req.01-LA
Nama Login Admin
53
Tujuan Membatasi hak akses user
Aktor Admin
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman Aplikasi
sistem informasi akademik dan
administrasi sekolah
2. Sistem menampilkan halaman
Aplikasi sistem informasi akademik
dan administrasi sekolah
3. User mengisi form login dengan
memasukkan username dan
password
4. User memilih tombol login 5. Sistem mengolah validasi username
dan password
6. Jika valid maka sistem akan
menampilkan halaman beranda
admin.
7. Jika invalid maka sistem akan
menampilkan pesan kesalahan dan
proses kembali ke no 3
SKENARIO ALTERNATIF
8. User mengisi form login hanya
memasukkan salah satu dari
username atau password atau
tidak diisi ke duanya.
9. Lihat kondisi no 7
Kondisi akhir Tampilan halaman beranda admin.
2) Login Siswa
Fungsi use case ini untuk memeriksa username dan password siswa atau
orang tua/ wali untuk dicocokan ke dalam database. Jika valid maka sistem akan
menampilkan halaman beranda khusus siswa dan user dapat menggunakan fungsi-
fungsi yang disediakan di dalam sistem seperti menu untuk melihat data nilai,
absensi, data pembayaran, jadwal mata pelajaran dan manage user profile.
Tabel 4.5 Scenario Login Siswa
IDENTIFIKASI
Nomor Req.02-LS
Nama Login Siswa
54
Tujuan Membatasi hak akses user
Aktor Siswa
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman Aplikasi
sistem informasi akademik dan
administrasi sekolah
2. Sistem menampilkan halaman
Aplikasi sistem informasi akademik
dan administrasi sekolah
3. User mengisi form login dengan
memasukkan username dan
password
4. User memilih tombol login 5. Sistem mengolah validasi username
dan password
6. Jika valid maka sistem akan
menampilkan halaman beranda
siswa.
7. Jika invalid maka sistem akan
menampilkan pesan kesalahan dan
proses kembali ke no 3.
SKENARIO ALTERNATIF
8. User mengisi form login dengan
memasukkan salah satu dari
username atau password atau
tidak diisi ke duanya.
9. Lihat kondisi no 7
Kondisi akhir Tampilan halaman beranda.
3) Login Orang Tua
Fungsi use case ini untuk memeriksa username dan password orang
tua/wali untuk dicocokan ke dalam database. Jika valid maka sistem
menampilkan halaman beranda khusus orang tua/wali dan dapat menggunakan
fungsi-fungsi yang disediakan di dalam sistem seperti menu untuk melihat data
nilai, absensi, pembayaran, jadwal mata pelajaran, manage user profile.
Tabel 4.6 Scenario Login Orang Tua
IDENTIFIKASI
Nomor Req.03-LO
Nama Login Orang Tua
55
Tujuan Membatasi hak akses user
Aktor Orang Tua/Wali
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman Aplikasi
sistem informasi akademik dan
administrasi sekolah
2. Sistem menampilkan halaman
Aplikasi sistem informasi akademik
dan administrasi sekolah
3. User mengisi form login dengan
memasukkan username dan
password
4. User memilih tombol login 5. Sistem mengolah validasi username
dan password
6. Jika valid maka sistem akan
menampilkan halaman beranda
siswa.
7. Jika invalid maka sistem akan
menampilkan pesan kesalahan dan
proses kembali ke no 3.
SKENARIO ALTERNATIF
8. User mengisi form login dengan
memasukkan salah satu dari
username atau password atau
tidak diisi ke duanya.
9. Lihat kondisi no 7
Kondisi akhir Tampilan halaman beranda.
4) Login Guru
Fungsi use case ini adalah untuk memeriksa username dan password guru
untuk dicocokan ke dalam database, jika valid maka sistem menampilkan
halaman beranda guru dan dapat menggunakan fungsi-fungsi yang disediakan di
dalam sistem seperti melihat, memasukkan serta mengolah dan mencari data nilai
pada mata pelajaran yang diajarnya, jadwal mengajar, manage user profile.
Tabel 4.7. Use case Login Guru
IDENTIFIKASI
Nomor Req.04-LG
Nama Login Guru
56
Tujuan Membatasi hak akses user
Aktor Guru
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman Aplikasi
sistem informasi akademik dan
administrasi sekolah
2. Sistem menampilkan halaman
Aplikasi sistem informasi akademik
dan administrasi sekolah
3. User mengisi form login dengan
memasukkan username dan
password
4. User memilih tombol login 5. Sistem mengolah validasi username
dan password.
6. Jika valid maka sistem akan
menampilkan halaman beranda guru.
7. Jika invalid maka sistem akan
menampilkan pesan kesalahan dan
proses kembali ke no 3
SKENARIO ALTERNATIF
8. User mengisi form login dengan
memasukkan salah satu dari
username atau password atau
tidak diisi ke duanya.
9. Lihat kondisi no 7
Kondisi akhir Tampilan halaman beranda guru.
b. Scenario Use Case Olah Data Pembayaran
Fungsi use case ini adalah untuk menampilkan halaman pembayaran
diantaranya mengolah data pembayaran herregistrasi/registrasi dan SPP.
Tabel 4.8. Scenario Use case Olah Data Pembayaran
IDENTIFIKASI
Nomor Req.05-DP
Nama Olah Data Pembayaran
Tujuan
Sistem menampilkan halaman Manajemen Pembayaran
untuk memudahkan user mengolah data informasi
pembayaran registrasi/herregistrasi dan pembayaran SPP
yang dilakukan siswa setiap bulannya, nantinya diketahui
siswa mana yang sudah melakukan pembayaran atau
belum.
57
Aktor Admin
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda Admin
3. User memilih menu Manajemen
Pembayaran
4. Sistem menampilkan halaman
manajemen pembayaran.
5. User memilih aksi tambah data
pembayaran sesuai dengan nomor
induk .
6. Sistem menampilkan form tambah
data pembayaran.
7. User mengisi form tambah data
pembayaran.
8. User menekan button save.
9. Jika valid, maka sistem akan
menampilkan halaman view absen
yang berisi data keseluruhan siswa
sesuai kelas yang sudah melakukan
pembayaran
10. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 7.
11. User memilih aksi lihat data
pembayaran
12. Sistem menampilkan halaman view
absen yang berisi data siswa yang
sudah melakukan pembayaran.
Terdapat aksi data ubah pembayaran
dan hapus pembayaran
13. User memilih aksi data ubah
pembayaran
14. Sistem menampilkan form ubah
pembayaran
15. User mengubah data yang tidak
sesuai.
16. User menekan button save
17. Jika valid, maka sistem akan
menampilkan halaman view
pembayaran.
18. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 15.
19. User memilih aksi hapus
pembayaran.
20. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
atau tidak.
21. User mengklik pilihan OK 22. Sistem menghapus data
pembayarandari datebase dan
kembali ke halaman beranda
pembayaran.
Kondisi akhir Tampilan halaman beranda
pembayaran.
58
c. Scenario Use Case Olah Data Absensi
Fungsi use case ini adalah untuk menampilkan halaman Manajemen
Absen dimana user dapat mengolah data kehadiran siswa per kelas setiap harinya,
baik itu hadir, alfa, sakit atau izin.
Tabel 4.9. Scenario Use case Olah Data Absensi
IDENTIFIKASI
Nomor Req.06-DA
Nama Olah Data Absensi
Tujuan
Sistem menampilkan halaman Manajemen Absen untuk
memudahkan user mengolah data kehadiran siswa per
kelas setiap harinya.
Aktor Admin
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda Admin
3. User memilih menu Manajemen
Absen
4. Sistem menampilkan halaman
manajemen absen.
5. User memilih aksi data tambah
absen sesuai dengan kelas dan
tanggal yang sedang berlangsung.
6. Sistem menampilkan form tambah
absen.
7. User mengisi form tambah absen.
8. User menekan button save.
9. Jika valid, maka sistem akan
menampilkan halaman show data
absen.
10. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 7.
11. User memilih aksi lihat data
ssesuai dengan kelas, bulan dan
tahun.
12. Sistem menampilkan halaman show
data siswa sesuai dengan keyword
yang dicari
13. User memilih aksi data ubah
absen.
14. Sistem menampilkan form ubah
absen.
15. User mengubah data yang tidak
sesuai.
16. User menekan button save
17. Jika valid, maka sistem akan
menampilkan halaman beranda
absen.
18. Jika tidak valid, maka sistem akan
59
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 15.
19. User memilih aksi hapus absen. 20. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
atau tidak.
21. User mengklik pilihan OK 22. Sistem menghapus data absen dari
datebase dan kembali ke halaman
beranda absen.
Kondisi akhir Tampilan halaman beranda absen.
d. Scenario Use case Olah Data Nilai
Fungsi use case ini adalah mengakses halaman Manajemen Nilai untuk
mengolah data nilai dan perbaikan nilai. Data nilai yang disajikan berupa
informasi keseluruhan nilai, termasuk nilai ulangan harian, UTS dan UAS. Untuk
aktor guru, nilai yang dapat dilihat hanya menyangkut mata pelajaran yang ia ajar
saja.
Tabel 4.10. Use case Olah Data Nilai
IDENTIFIKASI
Nomor Req.07-DN
Nama Olah Data Nilai
Tujuan Sistem menampilkan halaman Manajemen Nilai untuk
memudahkan user mengolah data nilai.
Aktor Admin, Guru
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda admin
3. User memilih menu Manajemen
Nilai
4. Sistem menampilkan halaman
manajemen nilai.
5. User memilih tambah nilai sesuai
dengan nomor induk siswa.
6. Sistem menampilkan form tambah
nilai.
7. User mengisi form tambah nilai.
8. User menekan button save.
9. Jika valid, maka sistem akan
menampilkan halaman beranda nilai.
60
10. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 7.
11. User memilih aksi lihat data
sesuai dengan kelas
12. Sistem menampilkan halaman show
data siswa sesuai dengan kelas yang
dicari.
13. User memilih aksi data ubah
nilai.
14. Sistem menampilkan form ubah
nilai.
15. User mengubah data yang tidak
sesuai.
16. User menekan button save
17. Jika valid, maka sistem akan
menampilkan halaman beranda nilai.
18. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 15.
19. User memilih aksi hapus nilai. 20. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
atau tidak.
21. User mengklik pilihan OK 22. Sistem menghapus data nilai dari
datebase dan kembali ke halaman
beranda nilai.
Kondisi akhir Tampilan halaman beranda nilai.
e. Scenario Use Case Olah Users Profile
Fungsi use case ini adalah untuk menampilkan halaman Manajemen Users
Profile yang berisi data siswa, data tenaga sekolah dan orang tua. User dapat
mengolah data users.
Tabel 4.11. Scenario Use case Olah Users Profile
IDENTIFIKASI
Nomor Req.08-UP
Nama Olah Users Profile
Tujuan Sistem menampilkan halaman Manajemen Users Profile
untuk mengolah data users.
Aktor Admin
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
2. Sistem menampilkan halaman
beranda Admin.
61
sekolah
3. User memilih menu Manajemen
Users Profile
4. Sistem menampilkan halaman
manajemen users profile.
5. User memilih button tambah user 6. Sistem menampilkan form tambah
user
7. User mengisi form tambah user.
8. User menekan button save.
9. Jika valid, maka sistem akan
menampilkan halaman manajemen
users profile.
10. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 7.
11. User memilih aksi data ubah
users.
12. Sistem menampilkan form ubah
users.
13. User mengubah data yang tidak
sesuai.
14. User menekan button save
15. Jika valid, maka sistem akan
menampilkan halaman manajemen
users profile.
16. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 13.
17. User memilih aksi hapus users. 18. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
atau tidak.
19. User mengklik pilihan OK 20. Sistem menghapus data absen dari
datebase dan kembali ke halaman
beranda absen.
Kondisi akhir Tampilan manajemen users profile..
f. Scenario Use Case Olah Jadwal Mata Pelajaran
Fungsi use case ini adalah untuk menampilkan halaman jadwal mata
pelajaran yang berisi data mata pelajaran dan jadwal mata pelajaran.
Tabel 4.12. Scenario Use case Olah Jadwal Mata Pelajaran
IDENTIFIKASI
Nomor Req.09-JMP
Nama Olah Data mata pelajaran/jadwal mata pelajaran
Tujuan Sistem menampilkan halaman Manajemen Data mata
pelajaran/jadwal mata pelajaran
Aktor Admin
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
62
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda Admin.
3. User memilih menu Manajemen
mata pelajaran/jadwal mata
pelajaran
4. Sistem menampilkan halaman
manajemen mata pelajaran/jadwal
mata pelajaran
5. User memilih button tambah data
mata pelajaran/jadwal mata
pelajaran
6. Sistem menampilkan form tambah
data mata pelajaran/jadwal mata
pelajaran.
7. User mengisi form tambah data
mata pelajaran/jadwal mata
pelajaran.
8. User menekan button save.
9. Jika valid, maka sistem akan
menampilkan halaman manajemen
data mata pelajaran/jadwal mata
pelajaran.
10. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 7.
11. User memilih aksi data ubah mata
pelajaran/jadwal mata pelajaran.
12. Sistem menampilkan form ubah
mata pelajaran/jadwal mata
pelajaran.
13. User mengubah data yang tidak
sesuai.
14. User menekan button save
15. Jika valid, maka sistem akan
menampilkan halaman manajemen
data mata pelajaran/jadwal mata
pelajaran
16. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 13.
17. User memilih aksi hapus data
mata pelajaran/jadwal mata
pelajaran
18. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
atau tidak.
19. User mengklik pilihan OK 20. Sistem menghapus data dari
datebase dan kembali ke halaman
beranda manajemen mata
pelajaran/jadwal mata pelajaran.
Kondisi akhir Tampilan manajemen mata
pelajaran/jadwal mata pelajaran.
g. Scenario Use Case Olah Jadwal Mengajar
Fungsi use case ini adalah untuk menampilkan halaman
manajemen.mengajar yang berisi data guru yang mengajar sesuai mata pelajaran
dan kelas yang diajarnya.
63
Tabel 4.13. Scenario Use case Olah Jadwal Mengajar
IDENTIFIKASI
Nomor Req.10-JMJ
Nama Olah Data Mengajar
Tujuan Sistem menampilkan halaman Manajemen Data Mengajar
Aktor Admin
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda Admin.
3. User memilih menu Manajemen
Mengajar
4. Sistem menampilkan halaman
manajemen mengajar
5. User memilih button tambah data
mengajar
6. Sistem menampilkan form tambah
data mengajar.
7. User mengisi form tambah data
mengajar.
8. User menekan button save.
9. Jika valid, maka sistem akan
menampilkan halaman manajemen
data mengajar.
10. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 7.
11. User memilih aksi data ubah
mengajar.
12. Sistem menampilkan form ubah
mengajar.
13. User mengubah data yang tidak
sesuai.
14. User menekan button save
15. Jika valid, maka sistem akan
menampilkan halaman manajemen
data mengajar
16. Jika tidak valid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali pada aksi no 13.
17. User memilih aksi hapus data
mengajar
18. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
atau tidak.
19. User mengklik pilihan OK 20. Sistem menghapus data dari
datebase dan kembali ke halaman
beranda manajemen mengajar.
Kondisi akhir Tampilan manajemen mengajar.
64
h. Scenario Use Case Olah Data Kegiatan
Fungsi use case ini adalah untuk mengolah informasi mengenai kegiatan
tentatif sekolah dan kegiatan akademik sekolah.
Tabel 4.14. Scenario Use Case Olah Kegiatan
IDENTIFIKASI
Nomor Req.11-DK
Nama Olah Kegiatan
Tujuan Sistem menampilkan halaman Manajemen Kegiatan untuk
memudahkan user mengolah data Kegiatan sekolah
Aktor Admin
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda user
3. User memilih menu Manajemen
Kegiatan Sekolah
4. Sistem menampilkan halaman
manajemen kegiatan sekolah
5. User memilih button tambah
kegiatan.
6. Sistem menampilkan form tambah
kegiatan
7. User mengisi form kegiatan
8. User menekan button Save
9. Jika data valid, maka sistem
menyimpan ke dalam database dan
sistem menampilkan halaman
manajemen kegiatan sekolah
10. Jika data tidak valid, maka sistem
akan menampilkan pesan kesalahan
pada form dan kembali ke aksi no.7
11. User memilih aksi update data
kegiatan
12. Sistem menampilkan halaman form
update kegiatan
13. User mengubah data kegiatan
pada form update kegiatan
14. User memilih tombol save
15. Jika data valid, maka sistem
menyimpan ke dalam database dan
sistem menampilkan halaman update
kegiatan sekolah.
16. Jika data invalid, maka sistem akan
menampilkan pesan kesalahan pada
form update kegiatan dan kembali
pada proses no 13.
17. User memilih aksi hapus data 18. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
65
atau tidak.
19. User mengklik pilihan setuju data
dihapus.
20. Sistem menghapus data nilai dari
database dan menampilkan pesan
bahwa data sukses dihapus.
Kondisi akhir Tampilan halaman beranda manajemen
kegiatan sekolah
i. Scenario Use Case Olah General Setting
Fungsi use case ini adalah untuk mengolah informasi mengenai setting
semester, tahun ajaran, kelas.
Tabel 4.15. Scenario Use Case Olah General Setting
IDENTIFIKASI
Nomor Req.12-GS
Nama Olah General Setting
Tujuan Sistem menampilkan halaman setting untuk memudahkan
user mengolah setting semester, tahun ajaran, kelas
Aktor Admin
SKENARIO
Kondisi awal Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda admin
3. User memilih menu Setting Kelas 4. Sistem menampilkan halaman
setting kelas.
5. User memilih button tambah
kelas.
6. Sistem menampilkan form tambah
kelas
7. User mengisi form tambah kelas
8. User menekan button Save
9. Jika data valid, maka sistem
menyimpan ke dalam database dan
sistem menampilkan halaman setting
kelas
10. Jika data tidak valid, maka sistem
akan menampilkan pesan kesalahan
pada form dan kembali ke aksi no.7
11. User memilih aksi update data
kelas
12. Sistem menampilkan halaman form
update kelas
13. User mengubah data pada form
update kelas
15. Jika data valid, maka sistem
menyimpan ke dalam database dan
66
14. User memilih tombol save sistem menampilkan halaman update
kelas.
16. Jika data invalid, maka sistem akan
menampilkan pesan kesalahan pada
form update kegiatan dan kembali
pada proses no 13.
17. User memilih aksi hapus data 18. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
atau tidak.
19. User mengklik pilihan setuju data
dihapus.
20. Sistem menghapus data nilai dari
database dan menampilkan pesan
bahwa data sukses dihapus.
21. User memilih button tambah
semester.
22. Sistem menampilkan form tambah
semester
23. User mengisi form tambah
semester
24. User menekan button Save
25. Jika data valid, maka sistem
menyimpan ke dalam database dan
sistem menampilkan halaman setting
semester
26. Jika data tidak valid, maka sistem
akan menampilkan pesan kesalahan
pada form dan kembali ke aksi no.23
27. User memilih aksi update data
semester
28. Sistem menampilkan halaman form
update semester
29. User mengubah data pada form
update semester
30. User memilih tombol save
31. Jika data valid, maka sistem
menyimpan ke dalam database dan
sistem menampilkan halaman update
semester.
32. Jika data invalid, maka sistem akan
menampilkan pesan kesalahan pada
form update semester dan kembali
pada proses no 29.
33. User memilih aksi hapus data 34. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
atau tidak.
35. User mengklik pilihan setuju data
dihapus.
36. Sistem menghapus data nilai dari
database dan menampilkan pesan
bahwa data sukses dihapus.
37. User memilih button tambah
tahun ajaran.
38. Sistem menampilkan form tambah
tahun ajaran
39. User mengisi form tambah tahun
ajaran
40. User menekan button Save
41. Jika data valid, maka sistem
menyimpan ke dalam database dan
sistem menampilkan halaman setting
tahun ajaran
42. Jika data tidak valid, maka sistem
akan menampilkan pesan kesalahan
pada form dan kembali ke aksi no.40
67
43. User memilih aksi update data
tahun ajaran
44. Sistem menampilkan halaman form
update tahun ajaran
45. User mengubah data pada form
update tahun ajaran
46. User memilih tombol save
47. Jika data valid, maka sistem
menyimpan ke dalam database dan
sistem menampilkan halaman update
tahun ajaran.
48. Jika data invalid, maka sistem akan
menampilkan pesan kesalahan pada
form update tahun ajaran dan
kembali pada proses no 45.
49. User memilih aksi hapus data 50. Sistem menampilkan pesan
konfirmasi apakah data akan dihapus
atau tidak.
51. User mengklik pilihan setuju data
dihapus.
52. Sistem menghapus data nilai dari
database dan menampilkan pesan
bahwa data sukses dihapus.
53. User mengklik pilihan setuju 54. Sistem menampikan halaman setting
dengan tahun ajaran yang telah
diaktifkan.
Kondisi akhir Tampilan Olah General Setting
j. Scenario Use Case Setting SMS Gateway
Fungsi use case ini adalah mengakses halaman Server SMS Gateway untuk
mengolah data inbox/outbox/sentitems dari sms yang masuk maupun yang keluar.
Serta mengolah isi dari pesan yang akan diinformasikan oleh sistem ke nomor
tujuan.
Tabel 4.16. Scenario Use case Olah SMS Gateway
IDENTIFIKASI
Nomor Req.13-SSG
Nama Olah SMS Gateway
Tujuan Sistem menampilkan halaman Setting SMS Gateway untuk
memudahkan user mengolah data sms gateway.
Aktor Admin
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
admin
2. Sistem menampilkan halaman
beranda admin
68
3. User memilih menu Setting SMS
Gateway
4. Sistem menampilkan halaman olah
pesan.
5. User mengklik button kirim
pesan.
6. Sistem menampilkan form tambah
pesan.
7. User mengisi form kirim pesan
8. User mengklik button kirim.
9. Jika valid, maka sistem akan
mengirimkan pesan ke nomor tujuan
dan menyimpan pesan tersebut ke
dalam fitur pesan terkirim dan
sistem menampilkan halaman olah
pesan. Namun jika pesan tidak
terkirim, maka pesan tersebut akan
disimpan dalam fitur kotak keluar
dan sistem menampilkan halaman
olah pesan.
10. Jika invalid, maka sistem akan
menampilkan pesan kesalahan pada
form dan kembali ke no.7
11. User memilih sub menu view
inbox/ outbox dan sent items dari
menu Setting SMS Gateway
12. Sistem menampilkan halaman view
view inbox/ outbox, sent items
13. User memilih hapus data inbox/
outbox, sent items
14. Sistem menampilkan pesan
konfirmasi untuk disetujui
15. User memilih button OK 16. Sistem menghapus data inbox/
outbox, sent items pada database dan
sistem menampilkan halaman view
inbox/ outbox dan sent items
Kondisi akhir Tampilan halaman create sms gateway
k. Scenario Use case Olah Rekapitulasi
Fungsi use case ini adalah mengakses halaman Rekapitulasi untuk
mendapatkan hasil laporan dari pengolahan data nilai, absensi dan data
pembayaran siswa setiap kelas. Laporan data nilai yang disajikan berupa
informasi keseluruhan nilai dari setiap kelas per mata pelajaran, termasuk nilai
ulangan harian, UTS dan UAS. Untuk laporan absensi, data yang disajikan adalah
jumlah kehadiran siswa per kelas setiap harinya dan jumlah kehadiran setiap
bulannya. Sedangkan laporan data pembayaran herergistrasi/registrasi dan
pembayaran SPP disesuaikan kelas, semester dan tahun ajaran.
69
Tabel 4.17. Use case Olah Rekapitulasi
IDENTIFIKASI
Nomor Req.14-Rekap
Nama Olah Rekapitulasi
Tujuan
Sistem menampilkan halaman Rekapitulasi untuk
memudahkan user mengolah laporan data nilai, absensi
dan data pembayaran herregistrasi/registrasi serta
pembayaran spp setiap siswa.
Aktor Admin
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda admin
3. User memilih sub menu
Rekapitulasi Nilai pada menu
Rekapitulasi
4. Sistem menampilkan halaman sub
menu rekapitulasi nilai.
5. User memilih tahun pelajaran,
kelas dan mata pelajaran untuk
menampilkan keseluruhan data
yang akan di rekap.
6. Sistem menampilkan halaman
beranda rekapitulasi yang berisi data
siswa sesuai dengan keyword yang
dicari.
7. User memilih button download
laporan data
8. Sistem mengunduh data rekapitulasi
nilai sesuai dengan pencarian.
9. Sistem menampilkan rekapitulasi
nilai berformat .xlsx
10. User memilih sub menu
Rekapitulasi Absen pada menu
Rekapitulasi
11. Sistem menampilkan halaman sub
menu rekapitulasi nilai.
12. User memilih kelas, tanggal, bulan
dan semester untuk menampilkan
rekapitulasi absen.
13. Sistem menampilkan halaman
beranda rekapitulasi absen yang
berisi data absensi siswa setiap kelas
sesuai dengan keywords pencarian
tanggal atau bulan dan semester
yang dipilih.
14. User memilih button download
laporan
15. Sistem mengunduh data rekapitulasi
absen sesuai dengan pencarian.
16. Sistem menampilkan rekapitulasi
absen berformat .xlsx
17. User memilih sub menu
Rekapitulasi Data Pembayaran
Herregistrasi/registrasi dan
18. Sistem menampilkan halaman sub
menu rekapitulasi pembayaran
herregistrasi/registrasi dan
70
pembayaran SPP pada menu
Rekapitulasi
pembayaran SPP.
19. User memilih kelas, bulan, tahun
dan semester yang akan dijadikan
laporan.
20. Sistem menampilkan halaman
beranda rekapitulasi yang berisi data
sesuai dengan keyword yang dicari.
21. User memilih button download
laporan
22. Sistem mengunduh data rekapitulasi
spp sesuai dengan pencarian.
23. Sistem menampilkan rekapitulasi
spp berformat .xlsx
Kondisi akhir Tampilan rekapitulasi setiap kolom
pencarian.
l. Scenario Use Case View Data Pembayaran
Fungsi use case ini adalah untuk mencari data informasi pembayaran
sesuai dengan kategori yang dicari.
Tabel 4.18. Scenario Use Case View Informasi Pembayaran.
IDENTIFIKASI
Nomor Req.05-DP.1
Nama View informasi data pembayaran
Tujuan Melihat informasi pembayaran herregistrasi/registrasi dan
pembayaran SPP
Aktor Siswa, Admin, Orang Tua/ wali
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda user
3. User memilih menu pembayaran
herregistrasi/registrasi dan
pembayaran SPP
4. Sistem menampilkan halaman view
pembayaran herregistrasi/registrasi
dan pembayaran SPP
Kondisi akhir
Tampilan halaman Manajemen
pembayaran herregistrasi/registrasi dan
pembayaran SPP
71
m. View Data Absensi
Fungsi use case ini adalah user dapat melihat data absensi dengan kategori
yaitu: nis, tanggal dan bulan.
Tabel 4.19. Scenario Use case View Data Absensi
IDENTIFIKASI
Nomor Req.06-DA.1
Nama View Data absensi
Tujuan Melihat data absensi
Aktor Siswa, Admin, Orang Tua/Wali
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda user
3. User memilih menu Info Absensi 4. Sistem menampilkan halaman view
Absensi
Kondisi akhir Tampilan halaman manajemen absen
n. View Data Nilai
Fungsi use case ini adalah untuk melihat data nilai di dalam halaman
manajemen nilai.
Tabel 4.20. Scenario Use case VIew Data Nilai
IDENTIFIKASI
Nomor Req.07-DN.1
Nama View Data Nilai
Tujuan Melihat data nilai
Aktor Siswa, Admin, Guru, Orang Tua/Wali
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda 2. Sistem menampilkan halaman
72
aplikasi sistem informasi
akademik dan administrasi
sekolah
beranda user
3. User memilih menu manajemen
nilai
4. Sistem menampilkan halaman
manajemen nilai
Kondisi akhir Tampilan halaman manajemen nilai
o. Update Users Profile
Fungsi use case ini adalah untuk mengubah data user profile terbaru atau
yang tidak sesuai.
Tabel 4.21. Scenario Use case Update Users Profile
IDENTIFIKASI
Nomor Req.08-UP.1
Nama Update user profile
Tujuan Mengubah data informasi user profile yang tidak sesuai
Aktor Admin , Guru, Siswa, Orang Tua/Wali
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda user
3. User memilih menu manajemen
users profile dan memilih aksi
data ubah profile
4. Sistem menampilkan halaman form
ubah profile
5. User mengubah data user profile
pada form ubah profile.
6. User memilih tombol save
7. Jika data valid, maka sistem
menyimpan ke dalam database dan
sistem menampilkan halaman
manajemen users profile
8. Jika data invalid, maka sistem akan
menampilkan pesan kesalahan pada
form ubah profile dan kembali pada
proses no 5.
SKENARIO ALTERNATIF
9. User memasukkan data yang
tidak sesuai dengan format yang
diinginkan sistem atau
mengosongkan field
10. Lihat proses no 8
73
Kondisi akhir Tampilan halaman manajemen users
profile
p. View Jadwal Mata pelajaran
Fungsi use case ini adalah untuk menampilkan informasi mengenai jadwal
mata pelajaran.
Tabel 4.22. Scenario Use Case Jadwal Mata pelajaran
IDENTIFIKASI
Nomor Req.09-JMP.1
Nama View Jadwal Mata pelajaran
Tujuan Melihat jadwal mata pelajaran
Aktor Admin, Guru
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda user
3. User memilih menu jadwal mata
pelajaran
4. Sistem menampilkan halaman
jadwal mata pelajaran
Kondisi akhir Tampilan halaman Manajemen jadwal
mata pelajaran
q. View Jadwal Mengajar
Fungsi use case ini adalah untuk menampilkan informasi mengenai jadwal
mengajar.
Tabel 4.23. Scenario Use Case Jadwal Mengajar
IDENTIFIKASI
Nomor Req.10-JMJ.1
Nama View Jadwal Mengajar
Tujuan Melihat informasi jadwal mengajar
Aktor Admin, Guru
SKENARIO
Kondisi awal Tampilan utama Aplikasi Sistem
74
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
5. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
6. Sistem menampilkan halaman
beranda user
7. User memilih menu mengajar 8. Sistem menampilkan halaman
jadwal mengajar
Kondisi akhir Tampilan halaman Manajemen
Mengajar
r. View Data Kegiatan
Fungsi use case ini adalah untuk menampilkan informasi mengenai
kalender akademik dan kegiatan tentatif sekolah.
Tabel 4.24. Scenario Use Case View Kegiatan
IDENTIFIKASI
Nomor Req.11-DK.1
Nama View Kegiatan
Tujuan Melihat informasi kegiatan akademik dan administrasi
sekolah
Aktor Admin, Guru, Siswa. Orang TUa/Wali
SKENARIO
Kondisi awal
Tampilan utama Aplikasi Sistem
Informasi Akademik dan Administrasi
Sekolah
Aksi aktor Reaksi sistem
1. User memasuki halaman beranda
aplikasi sistem informasi
akademik dan administrasi
sekolah
2. Sistem menampilkan halaman
beranda user
3. User memilih menu Kegiatan
Sekolah
4. Sistem menampilkan halaman
Kegiatan Sekolah
Kondisi akhir Tampilan halaman Manajemen
Kegiatan Sekolah
75
4.2.3 Activity Diagram
Dalam activity diagram, terdapat entitas yang teridentifikasi sebagai
entitas user. Entitas-entitas yang dilibatkan dalam pemodelan bisnis activity
diagram adalah entitas admin, siswa, orang tua/wali, dan guru.
a. Activity Diagram untuk Admin
Activity Diagram ini menggambarkan bagaimana sistem kerja atau aliran
kerja dalam mengolah data nilai, absensi, data pembayaran, data kegiatan, data
users profile, data mengajar, jadwal mata pelajaran, general setting dan setting
sms gateway.
Gambar 4.7. Activity Diagram Admin
b. Activity Diagram untuk Siswa
Activity Diagram ini menggambarkan bagaimana sistem kerja atau aliran
kerja untuk user siswa dalam melihat data nilai, absensi, pembayaran, jadwal mata
pelajaran dan update user profile yang tidak sesuai.
act AdminToSistem
Login form username dan
password
isi username dan
password
olah data
beranda admin
Start
End
Olah Nilai Olah Absensi Olah Pembayaran Olah User ProfileOlah Kegiatan Olah General
SettingSetting SMS
Gateway
menu
Delete data View dataCreate data Update data
isi form
form isian data
olah data
hasil detail data
pesan konfirmasi
olah data
aktiv asi SMS kirim pesan
menu
pilih button aktif/
non aktifform isian data
isi form
kirim pesan
kotak keluar pesan terkirim
Olah Jadwal
Mengajar
Delete pesanView Data
pesan
konfirmasi
olah data
hasil detail data
Olah Rekapitulasi
cari sesuai keyword
download rekapitulasi
detail laporan
Olah Jadwal
Matapelajaran
[valid]
[invalid]
[valid]
[terkirim]
tidak setuju
setuju[invalid][setuju]
[tidak terkirim]
[tidak
setuju]
76
Gambar 4.8. Activity Diagram Siswa
c. Activity Diagram untuk Orang Tua
Activity Diagram ini menggambarkan bagaimana sistem kerja atau aliran
kerja untuk user orang tua dalam melihat data nilai, absensi, pembayaran, jadwal
mata pelajaran dan update user profile yang tidak sesuai.
Gambar 4.9. Activity Diagram Orang Tua
act Activ ity
Start
Login form username dan
password
isi username dan
password
olah data
beranda user
menu
v iew info nilai v iew info
absensi
v iew info
pembayaranupdate user profile
detail data
form edit
isi form edit
detail user profile
yang sudah dirubah
End
olah data
View Jadwal
Matapelajaran
[invalid]
[valid]
[invalid]
[valid]
act Activ ity
Start
Login form username dan
password
isi username dan
password
olah data
beranda user
menu
v iew info nilai v iew info
absensi
v iew info
pembayaranupdate user profile
detail data
form edit
isi form edit
detail user profile
yang sudah dirubah
End
olah data
View Jadwal
Matapelajaran
[invalid]
[valid]
[invalid]
[valid]
77
d. Activity Diagram untuk Guru
Business Activity Diagram ini menggambarkan bagaimana sistem kerja
atau aliran kerja pada user guru untuk mengolah data nilai sesuai dengan mata
pelajaran yang ia ajar, lihat jadwal mengajar, dan update user profile yang tidak
sesuai.
Gambar 4.10. Activity Diagram Guru
4.2.4 Class Diagram
Secara garis besar kelas dibagi menjadi 3 yaitu :
1. Boundary Class
2. Control Class
3. Entity Class
Karena pada penulisan dokumen sistem informasi akademik dan
administrasi ini menggunakan konsep MVC, yaitu Model, View, dan Control .
Maka pemodelan kelasnya menjadi :
act Activ ity
Login form username dan
password
isi username dan
password
olah data
beranda guru
Start
End
Olah Nilai Olah User Profile
View dataCreate data Update data
isi form
form isian data
olah data
hasil detail data
pesan konfirmasi
olah data
menu
Delete data
Lihat Jadwal
Mengajar
[invalid]
[invalid]
[valid]
[valid]
[valid]
[invalid]
78
1. Entity Class menjadi Model Class
2. Boundary Class menjadi View Class
3. Control Class akan tetap menjadi Control Class
Proses identifikasi kelas ini akan melibatkan keterkaitan antara model,
view dan control sehingga dapat mempermudahkan dalam penggambaran class
diagram dan sequence diagram.
a. Class Diagram Controller
Gambar 4.11. Class Diagram Controller
class CDCI_Controller
cAbsen
+ __construct() : void
+ index() : void
+ inputabsen() : void
+ showabsen() : void
+ simpaninput() : void
+ editabsen() : void
+ update() : void
+ hapusabsen() : void
cSPP
+ __construct() : void
+ index() : void
+ inputspp() : void
+ valid_nis() : void
+ showspp() : void
+ submit() : void
+ valid_entry() : void
+ editspp() : void
+ updatespp() : void
+ deletespp() : void
cNilai
+ __construct() : void
+ index() : void
+ ShowSiswa() : void
+ valid_nis() : void
+ ShowKelas() : void
+ TambahNilai() : void
+ validasitambahnilai() : void
+ SubmitNilai() : void
+ valid_entry() : void
+ UbahNilai() : void
+ UpdateNilai() : void
+ HapusNilai() : void
cUserProfile
+ __construct() : void
+ index() : void
+ ShowSiswa() : void
+ TambahSiswa() : void
+ SubmitSiswa() : void
+ valid_no_induk() : void
+ EditSiswa() : void
+ UpdateSiswa() : void
+ DeleteSiswa() : void
+ TambahKelas() : void
+ SubmitKelas() : void
+ EditKelas() : void
+ UpdateKelas() : void
+ valid_entry() : void
+ DeleteKelas() : void
+ tambahguru() : void
+ submitguru() : void
+ editguru() : void
+ updateguru() : void
+ hapusguru() : void
+ tambahortu() : void
+ submitortu() : void
+ editortu() : void
+ updateortu() : void
+ hapusortu() : void
cKegiatan
+ __construct() : void
+ indexTentatif() : void
+ getFE_Tentatif() : void
+ getFE_ViewTentatif() : void
+ indexAkademik() : void
+ inputAkademik() : void
+ tambahAkademik() : void
+ editAkademik() : void
+ updateAkademik() : void
+ deleteAkademik() : void
+ getFE_Akademik() : void
+ inputTentatif() : void
+ submitTentatif() : void
+ editTentatif() : void
+ updateTentatif() : void
+ deleteTentatif() : void
mysms
+ __construct() : void
+ index() : void
+ inbox() : void
+ sendsms() : void
+ outbox() : void
+ sentitems() : void
+ activegateway() : void
cGeneralSetting
+ __construct() : void
+ index() : void
+ get_semester() : void
+ aktif() : void
+ nonaktif() : void
+ inputkelas() : void
+ submitkelas() : void
+ editkelas() : void
+ updatekelas() : void
+ deletekelas() : void
+ inputthajar() : void
+ submitthajar() : void
+ editthajar() : void
+ updatethajar() : void
+ deletethajar() : void
+ inputsemester() : void
+ submitsemester() : void
+ editsemester() : void
+ updatesemester() : void
+ deletesemester() : void
+ showsemester() : void
+ showthajar() : void
+ showkelas() : void
cRekapitulasi
+ getNilaibymapel() : void
+ getNilaibykelas() : void
+ getNilaibysemester() : void
+ getSPPbysemester() : void
+ getSPPbykelas() : void
+ getSPPbybulan() : void
+ getAbsenbykelas() : void
+ getAbsenbybulan() : void
+ getAbsenbysemester() : void
+ getAbsenbyTglPerHari() : void
+ getDataGuru() : void
+ getDataSiswa() : void
+ download rekap() : void
cRegistrasi
+ __construct() : void
+ index() : void
+ showregistrasi() : void
+ inputregistrasi() : void
+ submitregistrasi() : void
+ editregistrasi() : void
+ updateregistrasi() : void
+ deleteregistrasi() : void
cMengajar
+ __construct() : void
+ index() : void
+ showmengajar() : void
+ inputmengajar() : void
+ submitmengajar() : void
+ editmengajar() : void
+ updatemengajar() : void
+ deletemengajar() : void
cMapel
+ __construct() : void
+ index() : void
+ showmapel() : void
+ inputmapel() : void
+ submitmapel() : void
+ editmapel() : void
+ updatemapel() : void
+ deletemapel() : void
CI_Controller
+ __construct
79
b. Class Diagram Model
Gambar 4.12. Class Diagram Model.
c. Class Diagram Pengolahan Data Pembayaran SPP
Gambar 4.13. Class Diagram Olah Pembayaran SPP.
class CDCI_Model
CI_Model
+ __construct
mNilai
+ __construct() : void
+ getNilai() : void
+ getNilaiKelas() : void
+ getNilaiKelasAjar() : void
+ valid_entry() : void
+ SubmitNilai() : void
+ TampilEditNilai() : void
+ DeleteNilai() : void
+ valid_nis() : void
+ getAllSiswa() : void
+ searchsiswabykey() : void
mAbsen
+ __construct() : void
+ Tampil_Data_Terseleksi_Join() : void
+ Edit_Content() : void
+ getAbsenKelas() : void
+ update() : void
+ Tampil_Edit_Absen() : void
+ getAbsenbyId() : void
+ getaSearchAbsenById() : void
+ Simpan_Data() : void
mKegiatan
+ daftartentatif() : void
+ getAlltentatif() : void
+ ambilisitentatif() : void
+ akademik() : void
+ tentatif() : void
+ Total_kegiatan() : void
+ getAllAkademik() : void
+ Edit_Content_Akademik() : void
+ Simpan_Artikel_akademik() : void
+ Update_Content_Akademik() : void
+ delete() : void
+ ambilisi() : void
mSPP
+ Tampil_Data_Terseleksi_Join() : void
+ Edit_Content() : void
+ save() : void
+ get_spp() : void
+ Tampil_Cek_SPP() : void
+ Tampil_Edit_SPP() : void
+ update() : void
+ delete() : void
+ getSPPById() : void
+ valid_entry() : void
+ valid_nis() : void
mSiswa
+ __construct() : void
+ check_siswa() : void
+ getSiswa() : void
+ Tampil_Data_Terseleksi_Join() : void
+ save() : void
+ valid_no_induk() : void
+ Tampil_Edit_Siswa() : void
+ update() : void
+ delete() : void
+ searchsiswabykey() : void
+ getAllSiswa() : void
+ getsiswabyusername() : void
+ getSiswaById() : void
+ editSiswaById() : void
+ getAktifSMS() : void
+ aktif() : void
+ nonaktif() : void
+ updateusersiswa() : void
+ get_siswa() : void
+ check_guru() : void
+ getGuru() : void
mysms_model
+ __construct() : void
+ getInbox() : void
+ delInbox() : void
+ sendMessage() : void
+ insertOutbox() : void
+ getLastOutboxID() : void
+ insertOutboxMultipart() : void
+ getOutbox() : void
+ getSentItems() : void
+ delSentItems() : void
+ get_Inbox() : void
+ get_NoHPGuru() : void
+ get_NoHPSiswa() : void
+ get_NoHPOrtu() : void
+ get_Nilai() : void
+ get_Absen() : void
+ get_SPP() : void
+ get_Masuk() : void
+ get_Ubah() : void
mGeneralSetting
+ __construct() : void
+ get_active_semester() : void
+ get_active_th_ajar() : void
+ aktif() : void
+ nonaktif() : void
+ get_semester() : void
+ getTHAjar() : void
+ getTahunbyId() : void
+ get_semes() : void
+ get_tahun() : void
+ getSemesterKelas() : void
+ getAll() : void
+ Total_Kelas() : void
+ save() : void
+ Tampil_Edit_Kelas() : void
+ update() : void
+ delete() : void
+ get_kelas() : void
+ get_kls() : void
+ valid_entry() : void
+ getKelas() : void
+ savethajar() : void
+ updatethajar() : void
+ deletethajar() : void
+ savesemester() : void
+ updatesemester() : void
+ deletesemester() : void
mGuru
+ check_guru() : void
+ getGuru() : void
+ get_guru() : void
+ getKelasAjar() : void
+ Tampil_Edit_Guru() : void
+ getAktifSMS() : void
+ cekHP() : void
+ aktif() : void
+ nonaktif() : void
+ getAll() : void
+ Total_Guru() : void
+ save() : void
+ update() : void
+ delete() : void
mRekapitulasi
+ __construct() : void
+ getNilaiKelasAjar() : void
+ getGuruMapel() : void
+ countdata() : void
+ countjmlmurid() : void
+ countjmlmuridkelas() : void
+ countabsen() : void
+ countspp() : void
+ avgdata() : void
+ getSiswa() : void
+ getRekapAbsen() : void
+ getRekapSPP() : void
mOrtu
+ __construct() : void
+ check_ortu() : void
+ getOrtuById() : void
+ getOrtuByUsername() : void
+ editOrtuById() : void
+ updateuserortu() : void
+ getAktifSMS() : void
+ aktif() : void
+ nonaktif() : void
+ getAll() : void
+ Total_Ortu() : void
+ save() : void
+ Tampil_Edit_Ortu() : void
+ update() : void
+ delete() : void
mRegistrasi
+ __construct() : void
+ getRegistrasi() : void
+ submitRegistrasi() : void
+ Tampil_Edit_Registrasi() : void
+ updateRegistrasi() : void
+ deleteRegistrasi() : void
mMengajar
+ __construct() : void
+ getMengajar() : void
+ submitMengajar() : void
+ Tampil_Edit_Mengajar() : void
+ updateMengajar() : void
+ deleteMengajar() : void
mMapel
+ __construct() : void
+ getMapel() : void
+ submitMapel() : void
+ Tampil_Edit_Mapel() : void
+ updateMapel() : void
+ deleteMapel() : void
class CD_InfoSPP
tbl_siswa
+ no_induk: int(11)
+ nama_siswa: varchar(50)
+ kd_kelas: int(11)
+ jk: varchar(1)
+ telepon_siswa: varchar(20)
+ add() : void
+ update() : void
+ delete() : void
CI_Controller
cSPP
+ __construct() : void
+ index() : void
+ inputspp() : void
+ valid_nis() : void
+ showspp() : void
+ submit() : void
+ valid_entry() : void
+ editspp() : void
+ updatespp() : void
+ deletespp() : void
tbl_spp
+ id_spp: int(11)
+ no_induk: int(10)
+ kd_kelas: int(5)
+ bulan: varchar(10)
+ tahun: varchar(4)
+ tgl_bayar: date
+ nip: int(10)
+ keterangan: varchar(20)
+ iuran: float
+ add() : void
+ update() : void
+ delete() : void
tbl_kelas
+ kd_kelas: int(5)
+ nama_kelas: varchar(10)
+ id_ajar: int(5)
+ add() : void
+ update() : void
+ delete() : void
tbl_guru
+ nip: int(10)
+ nama_guru: varchar(50)
+ jk: varchar(1)
+ jabatan: varchar(100)
+ no_kontak: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
CI_Model
mSPP
+ Tampil_Data_Terseleksi_Join() : void
+ Edit_Content() : void
+ save() : void
+ get_spp() : void
+ Tampil_Cek_SPP() : void
+ Tampil_Edit_SPP() : void
+ update() : void
+ delete() : void
+ getSPPById() : void
+ valid_entry() : void
+ valid_nis() : void
1..*
1..*
1..* 1..*
1
1
80
d. Class Diagram Pengolahan Data Pembayaran Registrasi/Herregistrasi
Gambar 4.14. Class Diagram Olah Pembayaran Registrasi/Herregistrasi.
e. Class Diagram Pengolahan Data Absensi
Gambar 4.15. Class Diagram Olah Data Absensi.
class CD_InfoSPP
tbl_siswa
+ no_induk: int(11)
+ nama_siswa: varchar(50)
+ kd_kelas: int(11)
+ jk: varchar(1)
+ telepon_siswa: varchar(20)
+ add() : void
+ update() : void
+ delete() : void
tbl_registrasi
+ id_registrasi: int(11)
+ no_induk: int(10)
+ kd_kelas: int(5)
+ bulan: varchar(10)
+ tahun: varchar(4)
+ tgl_bayar: date
+ nip: int(10)
+ keterangan: varchar(20)
+ iuran: float
+ add() : void
+ update() : void
+ delete() : void
tbl_kelas
+ kd_kelas: int(5)
+ nama_kelas: varchar(10)
+ id_ajar: int(5)
+ add() : void
+ update() : void
+ delete() : void
tbl_guru
+ nip: int(10)
+ nama_guru: varchar(50)
+ jk: varchar(1)
+ jabatan: varchar(100)
+ no_kontak: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
CI_Controller
cRegistrasi
+ __construct() : void
+ index() : void
+ showregistrasi() : void
+ inputregistrasi() : void
+ submitregistrasi() : void
+ editregistrasi() : void
+ updateregistrasi() : void
+ deleteregistrasi() : void
CI_Model
mRegistrasi
+ __construct() : void
+ getRegistrasi() : void
+ submitRegistrasi() : void
+ Tampil_Edit_Registrasi() : void
+ updateRegistrasi() : void
+ deleteRegistrasi() : void
1..*
1..*
1..* 1..*
1
1
class CD_Absensi
tbl_absen
+ id_absen: int(10)
+ no_induk: int(11)
+ kd_kelas: int(5)
+ kd_semester: int(2)
+ bulan: varchar(20)
+ tahun: varchar(4)
+ hari: varchar(10)
+ tanggal: date
+ absen: varchar(1)
+ add() : void
+ update() : void
+ delete() : void
CI_Controller
cAbsen
+ __construct() : void
+ index() : void
+ inputabsen() : void
+ showabsen() : void
+ simpaninput() : void
+ editabsen() : void
+ update() : void
+ hapusabsen() : void
tbl_siswa
+ no_induk: int(11)
+ nama_siswa: varchar(50)
+ kd_kelas: int(11)
+ jk: varchar(1)
+ telepon_siswa: varchar(20)
+ add() : void
+ update() : void
+ delete() : void
tbl_kelas
+ kd_kelas: int(5)
+ nama_kelas: varchar(10)
+ id_ajar: int(5)
+ add() : void
+ update() : void
+ delete() : void
tbl_semester
+ kd_semester: int(2)
+ status: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
CI_Model
mAbsen
+ __construct() : void
+ Tampil_Data_Terseleksi_Join() : void
+ Edit_Content() : void
+ getAbsenKelas() : void
+ update() : void
+ Tampil_Edit_Absen() : void
+ getAbsenbyId() : void
+ getaSearchAbsenById() : void
+ Simpan_Data() : void
1
1
1..*
1..*
1..* 1..*
81
f. Class Diagram Pengolahan Data Nilai
Gambar 4.16. Class Diagram Olah Data Nilai.
g. Class Diagram Pengolahan Users Profile
Gambar 4.17. Class Diagram Olah Users Profile.
class CD_Nilai
CI_Controller
cNilai
+ __construct() : void
+ index() : void
+ ShowSiswa() : void
+ valid_nis() : void
+ ShowKelas() : void
+ TambahNilai() : void
+ validasitambahnilai() : void
+ SubmitNilai() : void
+ valid_entry() : void
+ UbahNilai() : void
+ UpdateNilai() : void
+ HapusNilai() : void
tbl_siswa
+ no_induk: int(11)
+ nama_siswa: varchar(50)
+ kd_kelas: int(11)
+ jk: varchar(1)
+ telepon_siswa: varchar(20)
+ add() : void
+ update() : void
+ delete() : void
tbl_matapelajaran
+ kd_mapel: int(10)
+ kode: varchar(20)
+ nama_mapel: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
tbl_kelas
+ kd_kelas: int(5)
+ nama_kelas: varchar(10)
+ id_ajar: int(5)
+ add() : void
+ update() : void
+ delete() : void
CI_Model
mNilai
+ __construct() : void
+ getNilai() : void
+ getNilaiKelas() : void
+ getNilaiKelasAjar() : void
+ valid_entry() : void
+ SubmitNilai() : void
+ TampilEditNilai() : void
+ DeleteNilai() : void
+ valid_nis() : void
+ getAllSiswa() : void
+ searchsiswabykey() : void
tbl_nilaikkm
+ id_nilai: int(11)
+ kd_mapel: int(10)
+ kd_kelas: int(2)
+ nilai_kkm: int(5)
+ add() : void
+ update() : void
+ delete() : void
tbl_semester
+ kd_semester: int(2)
+ status: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
tbl_nilai
+ no_urut: int(10)
+ no_induk: int(11)
+ kd_kelas: int(5)
+ id_ajar: int(5)
+ kd_mapel: int(10)
+ id_nilai: int(11)
+ kd_semester: int(10)
+ UH1: int(10)
+ UH2: int(10)
+ UH3: int(10)
+ UH4: int(10)
+ UH5: int(10)
+ UTS: int(10)
+ UAS: int(10)
+ status: int(10)
+ ket: int(10)
+ add() : void
+ update() : void
+ delete() : void
tbl_tahun_ajar
+ id_ajar: int(5)
+ th_ajar: varchar(10)
+ add() : void
+ update() : void
+ delete() : void
1..*
1..*
1..*
1..*
1
1..*
1..*
1..*
1..*1..*
1..*
1..*
1..* 1..*
1
1..*
class CD_UsersProfile
tbl_siswa
+ no_induk: int(11)
+ nama_siswa: varchar(50)
+ kd_kelas: int(11)
+ jk: varchar(1)
+ telepon_siswa: varchar(20)
+ add() : void
+ update() : void
+ delete() : void
CI_Model
mSiswa
+ __construct() : void
+ check_siswa() : void
+ getSiswa() : void
+ Tampil_Data_Terseleksi_Join() : void
+ save() : void
+ valid_no_induk() : void
+ Tampil_Edit_Siswa() : void
+ update() : void
+ delete() : void
+ searchsiswabykey() : void
+ getAllSiswa() : void
+ getsiswabyusername() : void
+ getSiswaById() : void
+ editSiswaById() : void
+ getAktifSMS() : void
+ aktif() : void
+ nonaktif() : void
+ updateusersiswa() : void
+ get_siswa() : void
+ check_guru() : void
+ getGuru() : void
CI_Controller
cUserProfile
+ __construct() : void
+ index() : void
+ ShowSiswa() : void
+ TambahSiswa() : void
+ SubmitSiswa() : void
+ valid_no_induk() : void
+ EditSiswa() : void
+ UpdateSiswa() : void
+ DeleteSiswa() : void
+ TambahKelas() : void
+ SubmitKelas() : void
+ EditKelas() : void
+ UpdateKelas() : void
+ valid_entry() : void
+ DeleteKelas() : void
+ tambahguru() : void
+ submitguru() : void
+ editguru() : void
+ updateguru() : void
+ hapusguru() : void
+ tambahortu() : void
+ submitortu() : void
+ editortu() : void
+ updateortu() : void
+ hapusortu() : void
tbl_kelas
+ kd_kelas: int(5)
+ nama_kelas: varchar(10)
+ id_ajar: int(5)
+ add() : void
+ update() : void
+ delete() : void
tbl_guru
+ nip: int(10)
+ nama_guru: varchar(50)
+ jk: varchar(1)
+ jabatan: varchar(100)
+ no_kontak: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
tbl_mengajar
+ id_mengajar: int(5)
+ nip: int(10)
+ kd_mapel: int(10)
+ kd_kelas: int(5)
+ add() : void
+ update() : void
+ delete() : void
tbl_orangtua
+ kd_ortu: int(15)
+ nama_ortu: varchar(50)
+ no_induk: int(11)
+ telepon_ortu: varchar(20)
+ add() : void
+ update() : void
+ delete() : void
CI_Model
mGuru
+ check_guru() : void
+ getGuru() : void
+ get_guru() : void
+ getKelasAjar() : void
+ Tampil_Edit_Guru() : void
+ getAktifSMS() : void
+ cekHP() : void
+ aktif() : void
+ nonaktif() : void
+ getAll() : void
+ Total_Guru() : void
+ save() : void
+ update() : void
+ delete() : void
CI_Model
mKelas
+ __construct() : void
+ getAll() : void
+ Total_Kelas() : void
+ save() : void
+ Tampil_Edit_Kelas() : void
+ update() : void
+ delete() : void
+ get_kelas() : void
+ get_kls() : void
+ valid_entry() : void
+ getKelas() : void
CI_Model
mOrtu
+ __construct() : void
+ check_ortu() : void
+ getOrtuById() : void
+ getOrtuByUsername() : void
+ editOrtuById() : void
+ updateuserortu() : void
+ getAktifSMS() : void
+ aktif() : void
+ nonaktif() : void
+ getAll() : void
+ Total_Ortu() : void
+ save() : void
+ Tampil_Edit_Ortu() : void
+ update() : void
+ delete() : void
1
1..*
11
1..* 1..*
1..*
1..*
82
h. Class Diagram Olah Data Mata pelajaran
Gambar 4.18. Class Diagram Olah Mata Pelajaran.
i. Class Diagram Olah Data Mengajar
Gambar 4.19. Class Diagram Olah Mengajar.
class Frameworks
CI_Controller
cMapel
+ __construct() : void
+ index() : void
+ showmapel() : void
+ inputmapel() : void
+ submitmapel() : void
+ editmapel() : void
+ updatemapel() : void
+ deletemapel() : void
CI_Model
mMapel
+ __construct() : void
+ getMapel() : void
+ submitMapel() : void
+ Tampil_Edit_Mapel() : void
+ updateMapel() : void
+ deleteMapel() : void
tbl_matapelajaran
+ kd_mapel: int(10)
+ kode: varchar(20)
+ nama_mapel: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
tbl_kelas
+ kd_kelas: int(5)
+ nama_kelas: varchar(10)
+ id_ajar: int(5)
+ add() : void
+ update() : void
+ delete() : void
tbl_guru
+ nip: int(10)
+ nama_guru: varchar(50)
+ jk: varchar(1)
+ jabatan: varchar(100)
+ no_kontak: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
class Frameworks
CI_Controller
cMengajar
+ __construct() : void
+ index() : void
+ showmengajar() : void
+ inputmengajar() : void
+ submitmengajar() : void
+ editmengajar() : void
+ updatemengajar() : void
+ deletemengajar() : void
CI_Model
mMengajar
+ __construct() : void
+ getMengajar() : void
+ submitMengajar() : void
+ Tampil_Edit_Mengajar() : void
+ updateMengajar() : void
+ deleteMengajar() : void
tbl_guru
+ nip: int(10)
+ nama_guru: varchar(50)
+ jk: varchar(1)
+ jabatan: varchar(100)
+ no_kontak: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
tbl_kelas
+ kd_kelas: int(5)
+ nama_kelas: varchar(10)
+ id_ajar: int(5)
+ add() : void
+ update() : void
+ delete() : void
tbl_matapelajaran
+ kd_mapel: int(10)
+ kode: varchar(20)
+ nama_mapel: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
83
j. Class Diagram Olah Data Kegiatan
Gambar 4.20. Class Diagram Olah Data Kegiatan.
k. Class Diagram Olah General Setting
Gambar 4.21. Class Diagram Olah General Setting.
class CD_Kegiatan
CI_Controller
cKegiatan
+ __construct() : void
+ indexTentatif() : void
+ getFE_Tentatif() : void
+ getFE_ViewTentatif() : void
+ indexAkademik() : void
+ inputAkademik() : void
+ tambahAkademik() : void
+ editAkademik() : void
+ updateAkademik() : void
+ deleteAkademik() : void
+ getFE_Akademik() : void
tbl_kegiatan_akademik
+ id_akademik: int(10)
+ tgl1: date
+ tgl2: date
+ kegiatan: text
+ keterangan: text
+ tempat: char
+ add() : void
+ update() : void
+ delete() : void
tbl_kegiatan_tentatif
+ id_tentatif: int(11)
+ kegiatan: varchar(255)
+ tgl1: date
+ tgl2: date
+ waktu: varchar(20)
+ keterangan: char
+ tempat: char
+ add() : void
+ update() : void
+ delete() : void
CI_Model
mKegiatan
+ daftartentatif() : void
+ getAlltentatif() : void
+ ambilisitentatif() : void
+ akademik() : void
+ tentatif() : void
+ Total_kegiatan() : void
+ getAllAkademik() : void
+ Edit_Content_Akademik() : void
+ Simpan_Artikel_akademik() : void
+ Update_Content_Akademik() : void
+ delete() : void
+ ambilisi() : void
class Frameworks
CI_Controller
cGeneralSetting
+ __construct() : void
+ index() : void
+ get_semester() : void
+ aktif() : void
+ nonaktif() : void
+ inputkelas() : void
+ submitkelas() : void
+ editkelas() : void
+ updatekelas() : void
+ deletekelas() : void
+ inputthajar() : void
+ submitthajar() : void
+ editthajar() : void
+ updatethajar() : void
+ deletethajar() : void
+ inputsemester() : void
+ submitsemester() : void
+ editsemester() : void
+ updatesemester() : void
+ deletesemester() : void
+ showsemester() : void
+ showthajar() : void
+ showkelas() : void
CI_Model
mGeneralSetting
+ __construct() : void
+ get_active_semester() : void
+ get_active_th_ajar() : void
+ aktif() : void
+ nonaktif() : void
+ get_semester() : void
+ getTHAjar() : void
+ getTahunbyId() : void
+ get_semes() : void
+ get_tahun() : void
+ getSemesterKelas() : void
+ getAll() : void
+ Total_Kelas() : void
+ save() : void
+ Tampil_Edit_Kelas() : void
+ update() : void
+ delete() : void
+ get_kelas() : void
+ get_kls() : void
+ valid_entry() : void
+ getKelas() : void
+ savethajar() : void
+ updatethajar() : void
+ deletethajar() : void
+ savesemester() : void
+ updatesemester() : void
+ deletesemester() : void
tbl_kls
+ kd_kls: int(1)
+ kls: varchar(10)
+ add() : void
+ update() : void
+ delete() : void
tbl_kelas
+ kd_kelas: int(5)
+ nama_kelas: varchar(10)
+ id_ajar: int(5)
+ add() : void
+ update() : void
+ delete() : void
tbl_semester
+ kd_semester: int(2)
+ status: varchar(50)
+ add() : void
+ update() : void
+ delete() : void
tbl_tahun_ajar
+ id_ajar: int(5)
+ th_ajar: varchar(10)
+ add() : void
+ update() : void
+ delete() : void
1..*
1..*
84
l. Class Diagram Setting SMS Gateway
Gambar 4.22. Class Diagram Setting SMS Gateway.
m. Class Diagram Rekapitulasi Data
Gambar 4.23. Class Diagram Olah Rekapitulasi.
class CD_SMSGateway
CI_Controller
mysms
+ __construct() : void
+ index() : void
+ inbox() : void
+ sendsms() : void
+ outbox() : void
+ sentitems() : void
+ activegateway() : void
CI_Controller
cAbsen
+ __construct() : void
+ index() : void
+ inputabsen() : void
+ showabsen() : void
+ simpaninput() : void
+ editabsen() : void
+ update() : void
+ hapusabsen() : void
CI_Controller
cSPP
+ __construct() : void
+ index() : void
+ inputspp() : void
+ valid_nis() : void
+ showspp() : void
+ submit() : void
+ valid_entry() : void
+ editspp() : void
+ updatespp() : void
+ deletespp() : void
CI_Controller
cNilai
+ __construct() : void
+ index() : void
+ ShowSiswa() : void
+ valid_nis() : void
+ ShowKelas() : void
+ TambahNilai() : void
+ validasitambahnilai() : void
+ SubmitNilai() : void
+ valid_entry() : void
+ UbahNilai() : void
+ UpdateNilai() : void
+ HapusNilai() : void
CI_Controller
cKegiatan
+ __construct() : void
+ indexTentatif() : void
+ getFE_Tentatif() : void
+ getFE_ViewTentatif() : void
+ indexAkademik() : void
+ inputAkademik() : void
+ tambahAkademik() : void
+ editAkademik() : void
+ updateAkademik() : void
+ deleteAkademik() : void
+ getFE_Akademik() : void
Inbox
+ UpdateInDB: TIMESTAMP
+ ReceivingDateTime: TIMESTAMP
+ SenderNumber: varchar(20)
+ TextDecoded: TEXT
+ ID: int(10)
+ add() : void
+ update() : void
+ delete() : void
Outbox
+ UpdateInDB: TIMESTAMP
+ InsertIntoDB: TIMESTAMP
+ SendingDateTime: TIMESTAMP
+ DestinationNumber: varchar(20)
+ TextDecoded: TEXT
+ ID: int(10)
+ SenderID: varchar(255)
+ add() : void
+ update() : void
+ delete() : void
SentItems
+ UpdateInDB: TIMESTAMP
+ InsertIntoDB: TIMESTAMP
+ SendingDateTime: TIMESTAMP
+ DeliveryDateTime: TIMESTAMP
+ DestinationNumber: varchar(20)
+ TextDecoded: TEXT
+ ID: int(10)
+ SenderID: varchar(255)
+ add() : void
+ update() : void
+ delete() : void
CI_Model
mysms_model
+ __construct() : void
+ getInbox() : void
+ delInbox() : void
+ sendMessage() : void
+ insertOutbox() : void
+ getLastOutboxID() : void
+ insertOutboxMultipart() : void
+ getOutbox() : void
+ getSentItems() : void
+ delSentItems() : void
+ get_Inbox() : void
+ get_NoHPGuru() : void
+ get_NoHPSiswa() : void
+ get_NoHPOrtu() : void
+ get_Nilai() : void
+ get_Absen() : void
+ get_SPP() : void
+ get_Masuk() : void
+ get_Ubah() : void
class CD_Rekapitulasi
cRekapitulasi
+ getNilaibymapel() : void
+ getNilaibykelas() : void
+ getNilaibysemester() : void
+ getSPPbysemester() : void
+ getSPPbykelas() : void
+ getSPPbybulan() : void
+ getAbsenbykelas() : void
+ getAbsenbybulan() : void
+ getAbsenbysemester() : void
+ getAbsenbyTglPerHari() : void
+ getDataGuru() : void
+ getDataSiswa() : void
+ download rekap() : void
CI_Controller
cAbsen
+ __construct() : void
+ index() : void
+ inputabsen() : void
+ showabsen() : void
+ simpaninput() : void
+ editabsen() : void
+ update() : void
+ hapusabsen() : void
CI_Controller
cSPP
+ __construct() : void
+ index() : void
+ inputspp() : void
+ valid_nis() : void
+ showspp() : void
+ submit() : void
+ valid_entry() : void
+ editspp() : void
+ updatespp() : void
+ deletespp() : void
CI_Controller
cNilai
+ __construct() : void
+ index() : void
+ ShowSiswa() : void
+ valid_nis() : void
+ ShowKelas() : void
+ TambahNilai() : void
+ validasitambahnilai() : void
+ SubmitNilai() : void
+ valid_entry() : void
+ UbahNilai() : void
+ UpdateNilai() : void
+ HapusNilai() : void
85
4.2.5 Sequence Diagram
a. Sequence Diagram Login
Proses ini menggambarkan perilaku sistem terhadap suatu interaksi yang
dilakukan oleh aktor pada saat melakukan login.
1) Login Admin
Gambar 4.24. Sequence Diagram Login Admin.
2) Login Siswa
Gambar 4.25. Sequence Diagram Login Siswa.
sd Seq. UC-LA
: admin : vLogin : cLogin : mLogin
akses login()
form login()
masukkan username
dan password()
process_login()cek_user
(username,password)
olah data
(username,password)valid ()
halaman beranda Admin()
sd Seq. UC-LS
: user : vLogin : cLogin : mLogin
akses login()
form login()
masukkan username
dan password()
process_login()
cek_user (username,
password)
olah data (username,password)
valid()halaman beranda user()
86
3) Login Orang Tua
Gambar 4.26. Sequence Diagram Login Orang Tua.
4) Login Guru
Gambar 4.27. Sequence Diagram Login Guru.
sd Seq. UC-LS
: user : vLogin : cLogin : mLogin
akses login()
form login()
masukkan username
dan password()
process_login()
cek_user (username,
password)
olah data (username,password)
valid()halaman beranda user()
sd Seq. UC-LG
: guru : vLogin : cLogin : mLogin
akses login()
form login()
masukkan username
dan password()
process_login()
cek_user
(username,password)
olah data (username,password)
valid ()halaman beranda guru()
87
b. Sequence Diagram Manage Data Pembayaran
1) View Data Pembayaran
Gambar 4.28. Sequence Diagram View Data Pembayaran.
2) Create Data Pembayaran
Gambar 4.29. Sequence Diagram Create Data Pembayaran.
sd Seq. UC-RSPP
: Admin : vPembayaran : cPembayaran: mPembayaran
lihat data
pembayaran() ShowAll()
getAllData()
array Data()
array Data()
tampilan seluruh
data()
sd Seq. UC-CSPP
: Admin : vPembayaran : cPembayaran : mPembayaran
tambah data()
findby (no_induk)
s=getSiswa (no_induk)
array(s)
array(s)
form data
pembayaran(s)
isi form data
pembayaran(s) Inputpembayaran(s)
g=getNip(nip)
array(g)
create(s,g)
olah data(s,g)
validasi TRUE()array
pembayaran
by(s,g)
data berhasil disimpan()
88
3) Update Data Pembayaran
Gambar 4.30. Sequence Diagram Update Data Pembayaran.
4) Delete Data Pembayaran
Gambar 4.31. Sequence Diagram Delete Data Pembayaran.
sd Seq. UC-USPP
: Admin : vPembayaran : cPembayaran : mPembayaran
pilih update
Pembayaran()
editby
(id_spp,id_registrasi)
s=get(id_spp,
id_registrasi)
array(s)
array data(s)
form edit
data()
isi data yang diubah()
update data(s)
update data(s)
olah data(s)validasi TRUE()
array data(s)
data berhasi di
update()
sd Seq. UC-DSPP
: Admin : vPembayaran : cPembayaran : mPembayaran
hapus data
(id_spp,
id_registrasi)readdataby
(id_spp,
id_registrasi)deleteby(id_spp,
id_registrasi)
olah data(id_spp,
id_registrais): boolean()
:boolean()
pesan konfirmasi()
setuju()
pesan telah
berhasil
dihapus()
89
c. Sequence Diagram Manage Data Absensi
1) View Data Absensi
Gambar 4.32. Sequence Diagram View Data Absensi.
2) Create Data Absensi
Gambar 4.33. Sequence Diagram Create Data Absensi.
sd Seq. UC-RA
: Admin : vAbsen : cAbsen : mAbsen
lihat data absen()
ShowAll()
getAllAbsen()
array Absen()
array Absen()
tampilan seluruh
data absensi()
sd Seq. UC-CA
: Admin : vAbsen : cAbsen : mAbsen
tambah data per kelas()
findBy (kd_kelas)
k=getKelasSiswa
(kd_kelas)
array(k)
array(k)
form data absen()
isi form data absen()
InputAbsenBy(k)
sm=GetActiveSemester
(kd_semester)
int(sm)
d=SetTanggal(Y:m:d)
date(d)
create(s,k,sm,d)
olah data(k,sm,d)
validasi TRUE()array Absen by
(k,sm,d)
data berhasil di simpan()
90
3) Update Data Absensi
Gambar 4.34. Sequence Diagram Update Data Absensi.
4) Delete Data Absensi
Gambar 4.35. Sequence Diagram Delete Data Absensi.
sd Seq. UC-UA
: Admin : vAbsen : cAbsen : mAbsen
pilih update absen()
editby (id_absen)
s=get(id_absen)
array(s)
get Absen(s)
array Absen(s)
array Absen(s)
form edit absen()
isi data yang dirubah()
update Absen(s)
update Absen()
olah data(s)
validasi TRUE()array Absen(s)data berhasil di
update()
sd Seq. UC-DA
: Admin : vAbsen : cAbsen : mAbsen
hapus absen
(id_absen)readabsenby
(id_absen)
deleteby(id_absen)
olah data(id_absen)
: boolean()
:boolean()
pesan konfirmasi()
setuju()
pesan telah
berhasil di hapus()
91
d. Sequence Diagram Manage Data Nilai
1) View Data Nilai
Gambar 4.36. Sequence Diagram View Data Nilai.
2) Create Data Nilai
Gambar 4.37. Sequence Diagram Create Data Nilai.
sd Seq. UC-RN
: User : vNilai : cNilai : mNilai
l ihat data nilai()
ShowAll()
getAllNilai()
array Nilai()
array Nilai()tampilan seluruh
data nilai()
sd Seq. UC-CN
: User : vNilai : cNilai : mNilai
tambah data siswa per
kelas()
findBy
(no_induk,kd_kelas)
s=getSiswaby (no_induk)
array(s)
k=getKelasSiswaby(kd_kelas)
array(k)
array(s,k)
form data nilai()
isi form data nilai()
InputNilai(s,k)
sm=getActiveSemester
(kd_semester)
int(sm)
m=get (kd_mapel)
array(m)
create(s,k,sm,m)
olah data(s,k,sm,m)
validasi TRUE()array Nilai by
(n,k,sm,m)
data berhasil disimpan()
92
3) Update Data Nilai
Gambar 4.38. Sequence Diagram Update Data Nilai.
4) Delete Data Nilai
Gambar 4.39. Sequence Diagram Delete Data Nilai.
sd Seq. UC-UN
: User : vNilai : cNilai : mNilai
pil ih update nilai()
editby (no_urut)s=get(no_urut)
array(s)
array Nilai(s)
form edit nilai()
isi data yang dirubah()
update Nilai(s)update data (s)
olah data(s)validasi TRUE()
array Nilai(s)data berhasil di
update()
sd Seq. UC-DN
: USer : vNilai : cNilai : mNilai
hapusnilai
(no_urut)
readnilaiby(no_urut)
deleteby(no_urut)
olah data(no_urut)
boolean()
:boolean()
pesan konfirmasi()
setuju()
pesan telah berhasil diha[us()
93
e. Sequence Diagram Olah User Profile
1) View Users Profile
Gambar 4.40. Sequence Diagram View Users Profile.
2) Create User Profile
Gambar 4.41. Sequence Diagram Create Users Profile.
sd Seq. UC-RUP
: Admin : vUserProfile : cUserProfile : mGuru : mOrtu: mSiswa
lihat data users profile()
ShowAll()
getAllSiswa()
array Siswa()
getAllGuru()
array Guru()
getAllOrtu()
array Ortu()
array()tampilan data users
profile()
sd Seq. UC-CUP
: Admin : vUserProfile : cUserProfile : mGuru : mOrtu: mSiswa
pilih create users profile()
form data users
profile()
isi form data users profile()
InputUsersProfile()
createSiswa()
olah
data()
validasi TRUE()
createGuru()
olah
data()
validasi TRUE()
createOrtu()
olah
data()validasi TRUE()
array()
data berhasil disimpan()
94
3) Update Users Profile
Gambar 4.42. Sequence Diagram Create Users Profile.
4) Delete Users Profile
Gambar 4.43. Sequence Diagram Read Users Profile.
sd Seq. UC-USPP
: Admin : vUserProfile : cUserProfile : mGuru : mOrtu: mSiswa
pilih update users profile()
edit
by(no_induk,nip)
getSiswaBy
(no_induk)
array Siswa()
getGuruby(nip)
array Guru()
getOrtuby(kd_ortu)
array Ortu()
array()
form edit users profile()
isi data yang dirubah()update users
profile()update Siswa
data()
olah data()
validasi TRUE()
update Guru()
olah data()
validasi TRUE()
update Ortu()
olah data()
validasi TRUE()
array()
data berhasil dirubah()
sd Seq. UC-DUP
: Admin : vUserProfile : cUserProfile : mGuru : mOrtu: mSiswa
hapus data users profile()
readnilaiby
(no_induk,nip,kd_ortu)
deleteby
(no_induk)
olah
data(no_induk): boolean()
deleteby (nip)
olah data
(nip): boolean()
deleteby (kd_ortu)
olah data (kd_ortu)
: boolean()
: boolean()
pesan konfirmasi()
setuju()
pesan telah berhasil
dihapus()
95
f. Sequence Diagram Olah Data Mata Pelajaran
1) View Mata Pelajaran
Gambar 4.44. Sequence Diagram View Mata Pelajaran.
2) Create Mata Pelajaran
Gambar 4.45. Sequence Diagram Create Mata Pelajaran.
sd Seq. UC-RUP
: User : vMatapelajaran : cMatapelajaran : mMatapelajaran
lihat data
matapelajaran()
ShowAll()
getAllMatapelajaran()
array
Matapelajaran()
array()
tampilan data
matapelajaran()
sd Seq. UC-CUP
: Admin : vMatapelajaran : cMatapelajaran : mMatapelajaran
pilih create
matapelajaran()
form data()
isi form data()
Input data()
createMatapelajaran()
olah
data()
validasi TRUE()
array()
data berhasil disimpan()
96
3) Update Mata Pelajaran
Gambar 4.46. Sequence Diagram Update Mata Pelajaran.
4) Delete Mata Pelajaran
Gambar 4.47. Sequence Diagram Delete Mata Pelajaran.
sd Seq. UC-USPP
: Admin : vMatapelajaran : cMatapelajaran : mMatapelajaran
pilih update()
edit by(kd_mapel)
getDataBy (kd_mapel)
array()
array()
form edit()
isi data yang dirubah()
update data()
update data()
olah data()
validasi TRUE()
array()
data berhasil dirubah()
sd Seq. UC-DUP
: Admin : vMatapelajaran : cMatapelajaran : mMatapelajaran
hapus data()
read by (kd_mapel)
deleteby (kd_mapel)
olah data()
: boolean()
: boolean()
pesan konfirmasi()
setuju()
pesan telah berhasil
dihapus()
97
g. Sequence Diagram Olah Data Mengajar
1) View Mengajar
Gambar 4.48. Sequence Diagram View Mengajar.
2) Create Mengajar
Gambar 4.49. Sequence Diagram Create Mengajar.
sd Seq. UC-RUP
: User : vMengajar : cMengajar : mMengajar
lihat data
mengajar()
ShowAll()
getAllMengajar()
array Mengajar()
array()
tampilan data
mengajar()
sd Seq. UC-CUP
: Admin : vMengajar : cMengajar : mMengajar
pilih create
mengajar()
form data()
isi form data()
Input data()
createMengajar()
olah
data()
validasi TRUE()
array()
data berhasil disimpan()
98
3) Update Mengajar
Gambar 4.50. Sequence Diagram Update Mengajar.
4) Delete Mengajar
Gambar 4.51. Sequence Diagram Delete Mengajar.
sd Seq. UC-USPP
: Admin : vMengajar : cMengajar : mMengajar
pil ih update()
edit
by(id_mengajar)
getDataBy (id_mengajar)
array()
array()
form edit()
isi data yang dirubah()
update data()
update data()
olah data()
validasi TRUE()
array()
data berhasil dirubah()
sd Seq. UC-DUP
: Admin : vMengajar : cMengajar : mMengajar
hapus data()
read by
(id_mengajar)
deleteby
(id_mengajar)
olah data()
: boolean()
: boolean()
pesan konfirmasi()
setuju()
pesan telah berhasil
dihapus()
99
h. Sequence Diagram Olah Kegiatan Sekolah
1) View Kegiatan Sekolah
Gambar 4.52. Sequence Diagram View Kegiatan Sekolah
2) Create Kegiatan Sekolah
Gambar 4.53. Sequence Diagram Create Kegiatan Sekolah.
sd Seq. UC-RK
: User : vKegiatan : cKegiatan : mKegiatan
lihat data kegiatan()
ShowAll()
getAll
Keg.Akademik()
array
Keg.Akademik()
getAll Keg.Tentatif()
array Keg.Tentatif()
array()
tampilan data
kegiatan()
sd Seq. UC-CK
: Admin : vKegiatan : cKegiatna : mKegiatan
pilih create kegiatan()
form kegiatan()
isi form kegiatan()
InputKegiatan()
create Keg.
Akademik()
olah data()validasi TRUE()
create
Keg.Tentatif()olah data()
validasi TRUE()array()data berhasil di
simpan()
100
3) Update Kegiatan Sekolah
Gambar 4.54. Sequence Diagram Read Kegiatan Sekolah.
4) Delete Kegiatan Sekolah
Gambar 4.55. Sequence Diagram Read Kegiatan Sekolah.
sd Seq. UC-UK
: Admin : vKegiatan : cKegiatna : mKeg.Akademik
pilih update kegiatan()
edit by
(id_tentatif,id_akademik)
getKeg.Akademikby
(id_akademik)
array
Keg.Akademik()
getKeg.Tentatif(id_tentatif)
array Keg.Tentatif()
array()
form edit kegiatan()
isi data yang dirubah()
update kegiatan()
update
Keg.Akademik()
olah data()validasi
TRUE()
update Keg.Tentatif()
olah data()
validasi(TRUE)
array()
data berhasil dirubah()
sd Seq. UC-DK
: Admin : vKegiatan : cKegiatan : mKeg.Akademik
hapus kegiatan()
readKegiatanby
(id_akademik,id_tentatif)
delete by
(id_akademik)
olah data()
: boolean()
delete by(id_tentatif)
olah data()
: boolean()
: boolean()
pesan konfirmasi()
setuju()
pesan telah berhasil
dihapus()
101
i. Sequence Diagram Olah General Setting
1) View General Setting
Gambar 4.56. Sequence Diagram View General Setting.
2) Create General Setting
Gambar 4.57. Sequence Diagram Create General Setting.
sd Seq. UC-RUP
: Admin : vGeneralSetting : cGeneralSetting : mGeneralSetting
lihat data general
setting()
ShowAll()
getAllKelas()
array Kelas()
getAllThAjar()
array Th Ajar()
getAllSemester()
array Semester()
array()tampilan data
general setting()
sd Seq. UC-CUP
: Admin : vGeneralSetting : cGeneralSetting : mGeneralSetting
pilih create(semester,
th_ajar, kelas)
form data()
isi form data()
Input data()
createKelas()
olah
data()
validasi TRUE()
createThAjar()
olah
data()validasi TRUE()
createSemester()
olah
data()validasi TRUE()
array()
data berhasil disimpan()
102
3) Update General Setting
Gambar 4.58. Sequence Diagram Read General Setting.
4) Delete General Setting
Gambar 4.59. Sequence Diagram Read General Setting.
sd Seq. UC-USPP
: Admin : vGeneralSetting : cGeneralSetting : mGeneralSetting
pilih update(kelas,
th_ajar, semester) edit by(kd_kelas,
id_thajar,
id_semester)
getDataBy (kd_kelas,
id_thajar, id_semester)
array()
array()
form edit()
isi data yang dirubah()
update data()
update data()
olah data()
validasi TRUE()
array()
data berhasil dirubah()
sd Seq. UC-DUP
: Admin : vGeneralSetting : cGeneralSetting : mGeneralSetting
hapus data()
read by (kd_semester,
kd_kelas, id_thajar)
deleteby (kd_semester,
kd_kelas, id_thajar)
olah data()
: boolean()
: boolean()
pesan konfirmasi()
setuju()
pesan telah berhasil
dihapus()
103
j. Sequence Diagram Setting SMS Gateway
1) Create Kirim Pesan
Gambar 4.60. Sequence Diagram Create Kirim Pesan.
2) View Inbox/Outbox/Sent Item Message
Gambar 4.61. Sequence Diagram View Inbox/Outbox/Sent Item Message.
sd Seq. UC-CKP
: Admin : vSMS : cSMS : mSMS
kirim pesan()
form kirim pesan()
isi form kirim pesan()
sendSMS()
sendMessage()
olah data()validasi TRUE()
Pesan
terkirim()
tampilan sent
item message()
sd Seq. UC-RIOSSMS
: Admin : vSMS : cSMS : mSMS
lihat data()
ShowAll()
getAllInbox()
array AllInbox()
getAllOutbox()
array AllOutbox()
getAllSentItems()
array AllSentItems()
array()tampilan
detail
data()
104
3) Delete Inbox/Outbox/Sent Item Message
Gambar 4.62. Sequence Diagram Delete Inbox/Outbox/Sent Item Message.
k. Sequence Diagram Rekapitulasi
1) Download Rekapitulasi
Gambar 4.63. Sequence Diagram Download Rekapitulasi.
sd Seq. UC-DIOSSMS
: Admin : vSMS : cSMS : mSMS
hapus data()
readby
(id_in,id_out,id_sent)
delete Inbox by
(id_in)
olah data()
: boolean()
delete Outbox by
(id_out)
olah data()
: boolean()
delete Sent Items by
(id_sent)
olah data()
: boolean()
: boolean()
pesan konfirmasi()
setuju()
data telah berhasil di
hapus()
sd Seq. UC-RUP
: Admin : vRekapitulasi : cRekapitulasi : mRekapitulasi
l ihat data
rekapitulasi()
ShowAll()
getAllPembayaran()
array Pembayaran()
getAllAbsensi()
array Absensi()
getAllNilai()
array Nilai()
array()tampilan data
rekapitulasi()
download data()
getRekap()
getRekap()
olah data()
fi le .xls()
fi le .xsl()
tampilan fi le .xsl()
105
4.2.6 Perancangan Tabel
a. Tabel Nilai
Tabel 4.25. Tabel Nilai.
Nama Field Tipe Data Size Keterangan
no_urut int 10 Primary Key
no_induk int 11 Foreign Key dari tabel Siswa
kd_kelas int 5 Foreign Key dari tabel Kelas
Id_ajar int 2 Foreign Key dari tabel tahun_ajar
kd_mapel int 10 Foreign Key dari tabel Mata pelajaran
id_nilai int 11 Foreign Key dari tabel Nilai KKM
kd_semester int 10 Foreign Key dari tabel Semester
UH1 int 10 Nilai ulangan harian 1
UH2 int 10 Nilai ulangan harian 2
UH3 int 10 Nilai ulangan harian 3
UH4 int 10 Nilai ulangan harian 4
UH5 int 10 Nilai ulangan harian 5
UTS int 10 Nilai ulangan tengah semester
UAS int 10 Nilai ulangan akhir semester
status varchar 50 Keterangan kriteria
ket varchar 50
b. Tabel Absen
Tabel 4.26 . Tabel Absen.
Nama Field Tipe Data Size Keterangan
Id_absen int 10 Primary Key
no_induk int 11 Foreign Key dari tabel Siswa
kd_kelas int 5 Foreign Key dari tabel Kelas
kd_semester int 2 Foreign Key dari tabel Semester
Bulan varchar 20 Bulan absensi
tahun varchar 4 Tahun absensi
hari varchar 20 Hari absensi
tanggal date Tanggal absensi
absen varchar 1 Status absensi
c. Tabel Informasi Pembayaran
Tabel 4.27. Tabel SPP.
Nama Field Tipe Data Size Keterangan
id_spp int 11 Primary Key
106
no_induk int 10 Foreign Key dari tabel Siswa
kd_kelas int 10 Foreign Key dari tabel Kelas
bulan varchar 10 Bulan pembayaran
tahun year 4 Tahun pembayaran
tgl_bayar date Tanggal pembayaran
nip int 20 Foreign Key dari tabel Guru
keterangan varchar 20 Keterangan pembayaran
iuran int 10 Jumlah pembayaran
d. Tabel Kegiatan Akademik
Tabel 4.28. Tabel Kegiatan Akademik.
Nama Field Tipe Data Size Keterangan
id_akademik int 10 Primary Key
tgl1 date Tanggal mulai kegiatan
tgl2 date Tanggal akhir kegiatan
kegiatan text Nama kegiatan
keterangan text Deskripsi kegiatan
e. Tabel Kegiatan Tentatif
Tabel 4.29 . Kegiatan Tentatif.
Nama Field Tipe Data Size Keterangan
id_tentatif int 11 Primary Key
kegiatan text Nama kegiatan
tgl1 date Tanggal mulai kegiatan
tgl2 date Foreign Key dari tabel Mata pelajaran
waktu varchar 20
keterangan text Deskripsi kegiatan
tempat text Lokasi kegiatan
f. Tabel Siswa
Tabel 4.30. Tabel Siswa.
Nama Field Tipe Data Size Keterangan
no_induk int 11 Primary Key
nisn varchar 10
no_ijazah varchar 16
tgl_ijazah date
nama_siswa varchar 50
kd_kelas int 5 Foreign Key dari tabel Kelas
jk varchar 1 Jenis kelamin
107
agama varchar 10
Tempat_lahir varchar 20
Tgl_lahir date
alamat varchar 100
telepon_siswa varchar 20
status varchar 100
thrapor_vii varchar 4 Tahun ajaran masuk kelas vii
thrapor_viii varchar 4 Tahun ajaran masuk kelas viii
thrapor_ix varchar 4 Tahun ajaran masuk kelas ix
username varchar 255
password varchar 255
role varchar 255
g. Tabel kelas
Tabel 4.31. Tabel Kelas.
Nama Field Tipe Data Size Keterangan
kd_kelas int 5 Primary Key
nama_kelas varchar 10
id_ajar varchar 5 Foreign Key dari tabel tahun_ajar
h. Tabel Mata pelajaran
Tabel 4.32. Tabel Mata pelajaran.
Nama Field Tipe Data Size Keterangan
kd_mapel int 10 Primary Key
kode varchar 20
nama_mapel varchar 50
i. Tabel Semester
Tabel 4.33 . Tabel Semester.
Nama Field Tipe Data Size Keterangan
kd_semester int 10 Primary Key
Kd_kelas int 10 Foreign Key dari tabel kls
status varchar 50 Status keaktifan semester
108
j. Tabel Nilai KKM
Tabel 4.34 . Tabel Nilai KKM.
Nama Field Tipe Data Size Keterangan
id_nilai int 11 Primary Key
kd_mapel int 10 Foreign Key dari tabel Mata pelajaran
kd_kls int 2 Foreign Key dari tabel Kls
nilai_kkm varchar 5 Nilai kriteria minimal pelajaran
k. Tabel Guru
Tabel 4.35. Tabel Guru.
Nama Field Tipe Data Size Keterangan
nip int 10 Primary Key
nama_guru varchar 50
tempat_lahir varchar 20
tgl_lahir date
agama varchar 100
karpeg varchar 100
jabatan varchar 100
pangkat varchar 100
gol varchar 50
tamat year 4
th_mk year 4
bln_mk varchar 20
ijazah_tk varchar 50
ijazah_jur varchar 50
ijazah_th year 4
alamat varchar 100
no_kontak varchar 255
status varchar 255
username varchar 255
password varchar 255
role varchar 255
l. Tabel Orang Tua
Tabel 4.36. Tabel Orang Tua.
Nama Field Tipe Data Size Keterangan
kd_ortu int 10 Primary Key
nama_ortu varchar 50
no_induk int 11 Foreign Key dari tabel Siswa
109
pekerjaan_ortu varchar 100
alamat varchar 100
telepon_ortu varchar 20
status varchar 255
username varchar 255
password varchar 255
role varchar 255
m. Tabel Inbox
Tabel 4.37. Tabel Inbox.
Nama Field Tipe Data Size Keterangan
UpdateInDB Timestamp
ReceivingDateTime Timestamp
Text Text
SenderNumber varchar 20
Coding Enum
UDH Text
SMSCNumber varchar 20
Class int 11
TextDecoded varchar 160
ID int 10
RecipientID Text
Processed enum
n. Tabel Kls
Tabel 4.38. Tabel Kls.
Nama Field Tipe Data Size Keterangan
Kd_kls int 1 Primary Key
kls varchar 10
o. Tabel Outbox
Tabel 4.39. Tabel Outbox.
Nama Field Tipe Data Size Keterangan
UpdateInDB Timestamp
InsertIntoDB Timestamp
SendingDateTIme timestamp
Text Text
DestinationNumber varchar 20
Coding Enum
110
UDH Text
Class int 11
Multipart enum
RelativeValidity varchar 255
SenderID int 10
SendingTImeOut timestamp
deliveryreport enum
CreatorID text
p. Tabel SentItems
Tabel 4.40. Tabel SentItems.
Nama Field Tipe Data Size Keterangan
UpdateInDB Timestamp
InsertIntoDB Timestamp
SendingDateTIme timestamp
DeliveryDateTIME timestamp
Text Text
DestinationNumber varchar 20
Coding Enum
UDH Text
SMSCNumber varchar 20
Class int 11
TextDecoded varchar 160
ID int 10
SenderID int 10
SequencePosition int 11
Status enum
Statuserror int 11
TPMR int 11
RelativeValidity varchar 255
CreatorID text
q. Tabel Mengajar
Tabel 4.41. Tabel mengajar.
Nama Field Tipe Data Size Keterangan
id_mengajar int 5 Primary Key
nip int 10 Foreign Key dari tabel Guru
kd_mapel int 10 Foreign Key dari tabel mata pelajaran
Kd_kelas int 5 Foreign Key dari tabel kelas
111
r. Tabel tahun_ajar
Tabel 4.42 . Tabel tahun_ajar.
Nama Field Tipe Data Size Keterangan
id_ajar int 5 Primary Key
Th_ajar varchar 10
status int 1
4.2.7 Perancangan User Interface
4.2.7.1 Perancangan Interface Front-End
1. Perancangan Halaman Utama
Gambar 4.64. Interface Halaman Utama.
112
2. Perancangan Halaman User: Siswa/Orang Tua
Gambar 4.65. Interface Halaman Utama Siswa/Orang Tua.
3. Perancangan Halaman User: Guru
Gambar 4.66. Interface Halaman Utama Guru.
113
4.2.7.2 Perancangan User Interface Back-End
a. Desain tampilan Beranda Admin
Gambar 4.67. Interface Tampilan Beranda Admin.
b. Desain Tampilan Manajemen AKAD: Manajemen Nilai
Gambar 4.68. Interface Tampilan Manajemen Nilai.
114
c. Desain Tampilan Manajemen AKAD: Manajemen Absen
Gambar 4.69. Interface Tampilan Manajemen Absen.
d. Desain Tampilan Manajemen AKAD: Manajemen Pembayaran
Gambar 4.70. Interface Tampilan Manajemen Pembayaran.
115
e. Desain Tampilan Manajemen Users Profile: Manajemen Data Siswa
Gambar 4.71. Interface Tampilan Lihat Data Siswa.
f. Desain Tampilan Manajemen Users Profile: Manajemen Data Pegawai
Gambar 4.72. Interface Tampilan Manajemen Data Pegawai.
116
g. Desain Tampilan Manajemen Kegiatan: Kegiatan Akademik
Gambar 4.73. Interface Tampilan Kegiatan Akademik.
h. Desain Tampilan Manajemen Kegiatan: Kegiatan Tentatif
Gambar 4.74. Interface Tampilan Kegiatan Tentatif.
117
i. Desain Tampilan Rekapitulasi
Gambar 4.75. Interface Tampilan Rekapitulasi.
j. Desain Tampilan General Setting
Gambar 4.76. Interface Tampilan General Setting.
118
k. Desain Tampilan Setting SMS Gateway
Gambar 4.77. Interface Tampilan Setting SMS Gateway.
119
BAB V
IMPLEMENTASI DAN PENGUJIAN SISTEM
5.1. Fase Construction
Aktivitas pada fase ini lebih fokus pada tahapan implementasi dan
pengujian sistem yang disesuaikan dengan fase-fase sebelumnya.
5.1.1 Implementasi Sistem
Implementasi merupakan tahap meletakkan sistem supaya siap untuk
dioperasikan. Pada tahap ini akan dijelaskan mengenai sistem yang dirancang dan
bagaimana cara penggunaannya diantaranya lingkungan implementasi pada saat
membangun aplikasi meliputi lingkungan perangkat keras (hardware), lingkungan
perangkat lunak (software), dan lingkungan manusia (brainware) berupa pelatihan
bagi sumber daya manusia yang akan mengoperasikan aplikasi, implementasi
web, sms gateway dan implementasi user interface.
5.1.2 Lingkungan Implementasi Sistem
Pada saat membangun aplikasi, persiapan perangkat keras (hardware),
perangkat lunak (software) dan sumber daya manusia (brainware) harus dapat
menampung kebutuhan yang diperlukan aplikasi, agar pada saat pengoperasian
dapat bekerja sesuai dengan fungsinya.
120
a. Persiapan Perangkat Keras (Hardware)
1) Server
a) Menggunakan minimal kompatibel dengan Processor Intel Pentium 4
dengan kecepatan minimal 2.20 GHz.
b) Menggunakan RAM minimal 2 Gb.
c) Tersedianya Hard Disk untuk media penyimpanan, minimal 120 Gb.
d) Mouse, Keyboard, dan Monitor sebagai peralatan antarmuka.
e) Modem atau Handphone sebagai perantara terhubungnya koneksi
aplikasi SMS ke perangkat PC yang support dengan Gammu. Untuk
mengetahui apakah Modem atau Handphone yang akan digunakan
sudah didukung oleh Gammu atau belum, dapat dilihat pada alamat
http://wammu.eu/phones.
Gambar 5.1. Daftar nama perangkat mobile yang didukung Gammu.
f) SIM Card sebagai operator jaringan untuk kebutuhan nomor server -
cari operator yang menawarkan tarif SMS murah atau bahkan gratis-.
121
g) Driver dan USB Cable (kabel data) sebagai alat sinkronisasi atau
penghubung perangkat mobile dengan perangkat PC (jika perangkat
mobile menggunakan handphone).
2) Client
Persiapan perangkat keras yang akan diintegrasikan pada client dibagi
menjadi layanan web dan layanan sms. Perangkat keras untuk layanan web yaitu :
a) Menggunakan minimal kompatibel dengan Processor Intel Pentium 4
dengan kecepatan minimal 2.20 GHz.
b) Menggunakan RAM minimal 1 Gb.
c) Hard Disk minimal 80 Gb.
d) Mouse, Keyboard, dan Monitor sebagai peralatan antarmuka.
Sedangkan perangkat keras yang dibutuhkan untuk layanan SMS yaitu:
a) Handphone sebagai perangkat Mobile untuk menerima dan
menampilkan informasi layanan SMS SIAKAD PASONE.
b) SIM Card sebagai operator jaringan.
b. Persiapan Perangkat Lunak (Software)
1) Komodo Edit versi 6.1.3, sebagai text editor untuk menulis kode-kode
pemrograman.
2) XAMPP minimal versi 1.7.7 [PHP: 5.3.8], sebagai web server untuk
implementasi basis data menggunakan MySQL.
3) Aplikasi Gammu versi 1.25, untuk mengelola fungsi SMS.
122
4) Aplikasi Codeigniter versi 2.1.0, sebagai framework dengan model MVC
(Model, View, Controller) untuk membangun website dinamis menggunakan
PHP.
5) Aplikasi web browser menggunakan Firefox versi 5.0.
c. Sumber Daya Manusia (Brainware)
Persiapan Sumber Daya Manusia yang terlibat dengan sistem yang akan
digunakan, harus diberikan pelatihan terlebih dahulu dengan memberikan
petunjuk dan arahan bagaimana cara untuk mengoperasikan dan merawat sistem
tersebut, sehingga Sumber Daya Manusia yang sudah dipersiapkan dapat
mengoperasikan sistem sesuai dengan fungsinya.
5.1.3 Implementasi Web dan SMS Gateway
Untuk menjalankan aplikasi SIAKAD PASONE terdapat proses
pemasangan beberapa aplikasi sebelum aplikasi yang dibangun dapat berfungsi
dengan baik.
a. Instalasi XAMPP
Untuk mendapatkan aplikasi XAMPP, kita dapat men-download pada
website resmi XAMPP di http://www.apachefriends.org/en/xampp-windows.html,
kemudian download sesuai dengan versi yang diinginkan.
123
Gambar 5.2. Pilihan download aplikasi XAMPP.
b. Instalasi Codeigniter
Untuk mendapatkan framework Codeigniter, kita dapat men-download
aplikasi pada website resmi CodeIgniter, yaitu di http://www.codeigniter.com.
Pilih download Codeigniter versi 2.1.0.
Gambar 5.3. Website resmi Codeigniter.
c. Instalasi Gammu
Untuk mendapatkan aplikasi Gammu, kita dapat men-download pada
website resmi Gammu, yaitu di http://wammu.eu/download/gammu/. Pilih
download current stable yang tersedia/terbaru. Sedangkan alamat
Pilihan untuk
download
124
http://dl.cihar.com/gammu/releases/windows/ merupakan situs penyedia Gammu
berbagai versi.
Gambar 5.4. Website resmi Gammu.
Gambar 5.5. Website yang menyediakan aplikasi Gammu beberapa versi.
5.1.4 Implementasi User Interface
Bagian ini merupakan implementasi dari tahapan pengkodean yang di
sajikan untuk user. Halaman yang ditampilkan sesuai dengan fungsi dari masing-
masing user. Ada dua kategori implementasi antarmuka untuk user yaitu user
interface front end dan user interface back end.
125
5.1.4.1 User Interface Front End
User interface front end adalah implementasi program yang disajikan
untuk kebutuhan pengguna dalam memfasilitasi kebutuhan masing-masing user.
User interface front end dibagi menjadi tiga kategori yaitu user siswa, orang tua,
guru. Karena fungsi tampilan antarmuka user siswa dan orang tua sama, maka
hanya tampilan antarmuka siswa saja yang akan dibahas.
1. Halaman utama aplikasi Sistem Informasi Akademik dan Administrasi SMP
Pasundan 1 Bandung (SIAKAD PASONE).
Halaman ini merupakan halaman utama pada saat aplikasi diakses.
Disediakan fungsi login untuk mengakses halaman yang di khususkan untuk
admin, siswa, orang tua dan guru.
Gambar 5.6. Halaman utama aplikasi SIAKAD PASONE.
2. Halaman Menu Kalender Akademik
Halaman ini disajikan untuk memberikan informasi mengenai kegiatan
akademik yang akan dilaksanakan selama satu tahun masa ajaran.
126
Gambar 5.7. Halaman menu kalender akademik.
3. Halaman Menu Pengumuman
Halaman ini menyajikan informasi mengenai kegiatan tentatif yang
diberitahukan secara mendadak dan informasi kegiatan terbaru yang
dilaksanakan oleh sekolah.
Gambar 5.8. Tampilan menu pengumuman.
4. Halaman Menu About SIAKAD
Halaman ini menyajikan informasi mengenai aplikasi dan sekolah.
127
Gambar 5.9. Tampilan menu About SIAKAD.
5. Fungsi Login
Gambar 5.10. Tampilan Login.
a. User Interface Front End: Siswa
Pada tampilan antarmuka siswa, disajikan fungsi untuk melihat data nilai,
data absensi, data pembayaran, merubah data profil dan jadwal mata pelajaran.
128
1. Halaman Utama Beranda User Siswa
Halaman ini merupakan halaman utama beranda siswa setelah melakukan
login. Disediakan menu Info Akad yang berisi info nilai, info absensi dan info
pembayaran, menu data siswa dan jadwal mata pelajaran.
Gambar 5.11. Tampilan Beranda Siswa.
2. Halaman Menu Info Nilai
Halaman ini menyajikan informasi mengenai nilai mata pelajaran sesuai
dengan kelas dan semester yang sedang aktif.
Gambar 5.12. Tampilan Info Nilai.
129
3. Halaman Menu Info Absensi
Halaman ini menyajikan informasi absensi setiap hari selama masa
pembelajaran.
Gambar 5.13. Tampilan menu Info Absensi.
4. Halaman Menu Info Pembayaran
Halaman ini menyajikan informasi mengenai tanggal pembayaran yang
dilakukan oleh siswa setiap bulannya baik itu pembayaran SPP maupun
registrasi dan herregistrasi.
Gambar 5.14. Tampilan menu Info Pembayaran.
130
5. Halaman Menu Data Siswa
Halaman ini menyajikan informasi mengenai data profil siswa dan orang tua,
dimana siswa dapat merubah data yang tidak sesuai dengan profilnya.
Gambar 5.15. Tampilan menu Data Siswa.
b. User Interface Front End: Guru
Pada tampilan antarmuka guru, disajikan fungsi untuk memasukkan data
nilai sesuai dengan mata pelajaran yang dia ajar, merubah data profil dan melihat
data mengajar.
a. Halaman Utama Beranda User Guru
Halaman ini merupakan halaman utama beranda guru setelah melakukan
login. Disediakan menu manajemen nilai, menu data guru dan jadwal
mengajar.
131
Gambar 5.16. Tampilan Beranda Guru.
b. Halaman Menu Manajemen Nilai
Halaman ini berfungsi untuk memasukkan data nilai mata pelajaran yang
sesuai dengan kelas yang diajar oleh guru bersangkutan.
Gambar 5.17. Tampilan menu Manajemen Nilai.
132
c. Halaman Menu Data Guru
Gambar 5.18. Tampilan menu Data Guru.
5.1.4.2 User Interface Back End
Pada tampilan antarmuka admin, disediakan menu manajemen nilai,
absensi, data pembayaran, manajemen user profile, jadwal matapelajaran,
manajemen mengajar, manajemen kegiatan, general setting, setting sms gateway.
a. Halaman Utama Beranda Admin
Halaman ini merupakan halaman utama beranda admin setelah melakukan
login.
133
Gambar 5.19. Tampilan Beranda Admin.
b. Halaman Manajemen Akademik: Manajemen Nilai
Halaman ini merupakan halaman untuk mengolah data nilai seluruh siswa
sesuai dengan nomor induk, kelas, semester yang sedang aktif. Disediakan
fitur untuk memasukkan nilai sesuai dengan nomor induk atau kelas.
Gambar 5.20. Tampilan Manajemen Nilai.
134
c. Halaman Manajemen Akademik: Manajemen Absensi
Halaman ini merupakan halaman untuk mengolah data absensi seluruh siswa
sesuai dengan nomor induk, kelas, semester dan tanggal yang sedang aktif.
Disediakan fitur untuk memasukkan data absensi harian per kelas sesuai
dengan tanggal yang sedang aktif, juga fitur untuk melihat data absensi harian
per kelas.
Gambar 5.21. Tampilan Manajemen Absensi.
d. Halaman Manajemen Akademik: Manajemen Pembayaran
Halaman ini merupakan halaman untuk mengolah data pembayaran seluruh
siswa sesuai dengan nomor induk, kelas, semester dan bulan yang sedang
aktif. Disediakan fitur untuk memasukkan data SPP dan
registrasi/herregistrasi sesuai dengan nomor induk, juga fitur untuk melihat
data pembayaran sesuai dengan kelas dan bulan.
135
Gambar 5.22. Tampilan Manajemen Pembayaran.
e. Halaman Manajemen User Profile: Manajemen Data Siswa
Halaman ini merupakan halaman untuk mengolah data seluruh siswa sesuai
dengan kelas dan tahun ajaran yang sedang aktif.
Gambar 5.23. Tampilan Manajemen Data Siswa.
136
f. Halaman Manajemen User Profile: Manajemen Data Guru
Halaman ini merupakan halaman untuk mengolah data seluruh guru.
Gambar 5.24. Tampilan Manajemen Data Guru.
g. Halaman Manajemen Kegiatan: Manajemen Kegiatan Akademik
Halaman ini merupakan halaman untuk mengolah data kegiatan akademik
selama berlangsungnya tahun ajaran yang sedang aktif.
.
Gambar 5.25 Tampilan Manajemen Kegiatan Akademik.
137
h. Halaman Manajemen Kegiatan: Kegiatan Tentatif
Halaman ini merupakan halaman untuk mengolah data kegiatan tentatif atau
kegiatan diluar dari kegiatan akademik seperti rapat, kegiatan ekstrakurikuler
atau berita terbaru mengenai kegiatan yang akan dilaksanakan sekolah.
Gambar 5.26. Tampilan Manajemen Kegiatan Tentatif.
i. Halaman Manajemen SMS Gateway
Halaman ini merupakan halaman untuk mengolah pesan masuk, pesan keluar,
pesan terkirim, dan pesan yang akan dikirimkan kepada civitas akademik.
Gambar 5.27. Tampilan Olah SMS Gateway.
138
Dibawah ini tampilan pesan autoreply yang dikirimkan siswa atau orang tua
sesuai dengan format yang telah ditentukan.
1) Info Data Nilai
Format: Nilai[spasi]Nama[spasi]Kode Mata pelajaran[spasi]semester.
Contoh: Nilai 111207003 pai 2
Gambar 5.28. Tampilan hasil cari info nilai.
2) Info Data Absensi
Format: Absen[spasi]Nama[spasi]Tanggal(TTTT-BB-HH)[spasi]semester
Contoh: Absen 111207003
Gambar 5.29. Tampilan hasil cari info absen.
139
3) Info Data SPP
Format: SPP[spasi]Nis[spasi]Bulan(B)[spasi]Tahun(TTTT)
Contoh: SPP 111207003 3 2012
Gambar 5.30. Tampilan hasil cari info spp.
5.1.5 Pengujian Sistem
Pengujian adalah satu aktifitas yang direncanakan dan sistematis untuk
menguji atau mengevaluasi kebenaran yang diinginkan. Pengujian diperlukan
tidak hanya untuk meminimalisasi kesalahan secara teknis seperti alur logika pada
sebuah kode program tetapi juga kesalahan non teknis seperti pesan kesalahan saat
user melakukan masukan atau keluaran sehingga user tidak dibuat bingung.
5.1.5.1 Pengujian Alpha
Pada fase construction lingkungan uji coba pada sistem dilakukan untuk
memvalidasi sistem menggunakan pengujian alpha. Pengujian alpha dilakukan
untuk mencari tahu adakah masalah teknis pada produk yang akan digunakan.
140
a. Lingkungan Uji Coba
Pengujian alpha menggunakan metode pengujian Black-Box Testing.
Black-Box Testing berfokus pada fungsionalitas fungsi-fungsi, masukan, dan
keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan.
b. Aturan Penomoran
Untuk memudahkan dalam pengujian, diperlukan aturan penomoran
sebagai berikut: SIAKAD-UC.xx.xxx.x adalah kode yang merepresentasikan
menu pengujian pada sistem. SIAKAD-UC adalah kode perangakat lunak.
SIAKAD kepanjangan dari Sistem Informasi Akademik dan Administrasi dan UC
kepanjangan dari use case. xx adalah digit/nomor urutan pengujian menu. xxx
adalah singkatan dari nama menu. x adalah urutan fungsi dari menu.
c. Rencana Pengujian
Pengujian akan dilakukan terhadap semua usecase yang telah diidentifikasi
pada tahap analisis dan perancangan, yaitu:
1) Use Case Login
2) Use Case Olah Data Pembayaran
3) Use Case Olah Data Absensi
4) Use Case Olah Data Nilai
5) Use Case Olah Data Users Profile
6) Use Case Olah Jadwal Mata pelajaran
7) Use Case Olah Jadwal Mengajar
8) Use Case Olah Data Kegiatan
9) Use Case Olah General Setting
141
10) Use Case Olah Setting SMS Gateway
11) Use Case Laporan Rekapitulasi Data
12) View Data Pembayaran
13) View Data Absensi
14) View Olah Data Nilai
15) Update Data Users Profile
16) View Jadwal Mata pelajaran
17) View Jadwal Mengajar
18) View Data Kegiatan
d. Kasus Uji dan Hasil Uji
Tabel 5.1. Pengujian Sistem
Kode Uji Deskripsi Prosedur Pengujian Hasil
SIAKAD-UC.01-LA Login Admin Login dengan mengisi
username dan password
Diterima
SIAKAD-UC.02-LS Login Siswa
SIAKAD-UC.03-LO Login Orang Tua
SIAKAD-UC.04-LG Login Guru
SIAKAD-UC.05-DP Olah Informasi
Pembayaran
SIAKAD-UC.05-DP.1 View Informasi
Pembayaran
Uji Lihat Info Pembayaran
sesuai keyword yang dicari
Diterima
Create Informasi
Pembayaran
Uji menyimpan data informasi
pembayaran
Diterima
Update Informasi
Pembayaran
Uji mengubah data informasi
pembayaran
Diterima
Delete Informasi
Pembayaran
Uji menghapus data informasi
pembayaran
Diterima
SIAKAD-UC.06-DA Olah Data
Absensi
SIAKAD-UC.06-DA.1 View Data
Absensi
Uji Lihat Data Absensi sesuai
keyword yang dicari
Diterima
Create Data
Absensi
Uji menyimpan Data Absensi Diterima
Update Data
Absensi
Uji mengubah Data Absensi Diterima
Delete Absensi Uji menghapus Data Absensi Diterima
142
Kode Uji Deskripsi Prosedur Pengujian Hasil
SIAKAD-UC.07-DN Olah Data Nilai
SIAKAD-UC.07-DN.1 View Data Nilai Uji Lihat Data Nilai sesuai
keyword yang dicari
Diterima
Create Data Nilai Uji menyimpan Data Nilai Diterima
Update Data Nilai Uji mengubah Data Nilai Diterima
Delete Data Nilai Uji menghapus Data Nilai Diterima
SIAKAD-UC.08-UP Olah Users
Profile
SIAKAD-UC.08-UP.1 View Users
Profile
Uji Lihat Users Profile Diterima
Create Users
Profile
Uji menyimpan data Users
Profile
Diterima
Update Users
Profile
Uji mengubah data Users
Profile
Diterima
Delete Users
Profile
Uji menghapus data Users
Profile
Diterima
SIAKAD-UC.09-JMP Olah Jadwal Mata
pelajaran
SIAKAD-UC.09-JMP.1 View Jadwal Mata
pelajaran
Uji Lihat Jadwal Mata
pelajaran
Diterima
Create Jadwal
Mata pelajaran
Uji menyimpan Jadwal Mata
pelajaran
Diterima
Update Jadwal
Mata pelajaran
Uji mengubah Jadwal Mata
pelajaran
Diterima
Delete Jadwal
Mata pelajaran
Uji menghapus Jadwal Mata
pelajaran
Diterima
SIAKAD-UC.10-JMJ Olah Jadwal
Mengajar
SIAKAD-UC.10-JMJ.1 View Jadwal
Mengajar
Uji Lihat Jadwal Mengajar Diterima
Create Jadwal
Mengajar
Uji menyimpan Jadwal
Mengajar
Diterima
Update Jadwal
Mengajar
Uji mengubah Jadwal
Mengajar
Diterima
Delete Jadwal
Mengajar
Uji menghapus Jadwal
Mengajar
Diterima
SIAKAD-UC.11-DK Olah Data
Kegiatan
SIAKAD-UC.11-DK.1 View Data
Kegiatan
Uji Lihat Data Kegiatan Diterima
Create Data
Kegiatan
Uji menyimpan Data Kegiatan Diterima
Update Data
Kegiatan
Uji mengubah Data Kegiatan Diterima
143
Kode Uji Deskripsi Prosedur Pengujian Hasil
Delete Data
Kegiatan
Uji menghapus Data Kegiatan Diterima
SIAKAD-UC.12-GS Olah General
Setting
View Kelas Uji Lihat Kelas sesuai keyword
yang dicari
Diterima
Create Kelas Uji menyimpan data Kelas Diterima
Update Kelas Uji mengubah data Kelas Diterima
Delete Kelas Uji menghapus data Kelas Diterima
View Semester Uji Lihat Semester Diterima
Create Semester Uji menyimpan data Semester Diterima
Update Semester Uji mengubah data Semester Diterima
Delete Semester Uji menghapus data Semester Diterima
View Tahun Ajar Uji Lihat Tahun Ajar Diterima
Create Tahun
Ajar
Uji menyimpan data Tahun
Ajar
Diterima
Update Tahun
Ajar
Uji mengubah data Tahun Ajar Diterima
Delete Tahun
Ajar
Uji menghapus data Tahun
Ajar
Diterima
SIAKAD-UC.13-SSG Setting SMS
Gateway
Kirim Pesan Uji Kirim Pesan Diterima
View Pesan Uji Lihat Pesan Diterima
Delete Pesan Uji menghapus data pesan Diterima
Aktivasi SMS Uji aktivasi SMS Diterima
SIAKAD-UC.14-Rekap Laporan
Rekapitulasi Data
Download
Pembayaran SPP
Uji Download Pembayaran Diterima
Download Data
Absensi
Uji Download Data Absensi Diterima
Download Data
Nilai
Uji Download Data Nilai Diterima
5.1.5.2 Kesimpulan Hasil Pengujian Alpha
Berdasarkan hasil prosedur pengujian yang telah dilakukan memberikan
kesimpulan bahwa pada proses sudah bisa diterima. Penyaringan kesalahan proses
dalam bentuk arahan tampilan halaman pesan sudah cukup maksimal. Secara
fungsional sistem sudah dapat menghasilkan output yang diharapkan.
144
BAB VI
KESIMPULAN DAN SARAN
6.1. Kesimpulan
Pada bab ini berisi kesimpulan dari seluruh proses pengerjaan tugas akhir
berserta saran untuk proses pengembangan selanjutnya. Berdasarkan hasil
penelitian tugas akhir yang dilakukan maka dapat disimpulkan beberapa hal
sebagai berikut:
a. Pelayanan informasi yang disediakan berupa web dan sms autoreply
memudahkan stakeholder untuk mengakses informasi kegiatan akademik dan
administrasi sekolah dimanapun dan kapanpun dibutuhkan.
b. Keuntungan menggunakan framework codeigniter untuk membangun aplikasi
web adalah mendukung sistem berorientasi objek dengan konsep MVC-nya
(Model, View, Controller), selain itu Codeigniter sudah dapat memenuhi
kebutuhan fungsional dari rancangan sistem dan mendukung proses SMS
Gateway.
c. Dengan dibangunnya aplikasi Sistem Informasi Akademik dan Administrasi
berbasis sms gateway ini, para stakeholder dapat memonitor proses akademik
dan administrasi yang disediakan sekolah berupa: data nilai, data absensi,
data pembayaran SPP, data siswa, data guru dan data kegiatan akademik serta
kegiatan tentatif di sekolah.
145
d. Pembagian fungsionalitas user diperlukan untuk membatasi hak akses setiap
stakeholder yang terlibat didalam pembangunan aplikasi ini agar sesuai
dengan fungsi masing-masing user.
e. Kinerja sistem SMS Gateway cukup baik dimana kinerja tersebut dapat
ditentukan oleh berbagai macam faktor antara lain : seperti proses program
yang dibuat serta kondisi jaringan operator juga dapat mempengaruhi kinerja
sistem.
6.2. Saran
Beberapa hal yang diharapkan dapat dikembangkan pada masa mendatang
adalah sebagai berikut :
a. Adanya penambahan fitur untuk mengolah jadwal ujian serta fitur SMS
Terjadwal untuk setiap kegiatan akademik maupun kegiatan tentatif dan
phonebook group dalam pengiriman pesan ke seluruh stakeholder yang
terlibat.
b. Desain yang lebih user friendly di dalam web dapat memudahkan stakeholder
mengetahui fungsi-fungsi yang disediakan.
c. Dalam pemilihan operator seluler yang akan digunakan, sekolah dapat
melakukan kerja sama dengan pihak operator untuk memfasilitasi pengiriman
sms atau dapat membangun aplikasi sms sendiri dan gratis.
d. Pada penelitian selanjutnya dapat dilakukan eksplorasi terhadap kinerja
sistem SMS Gateway untuk memberikan performance yang terbaik.
146
DAFTAR PUSTAKA
Fathansyah. 2007. Basis Data. Bandung: Informatika.
Kadir, Abdul. 2003. Pengenalan Sistem Informasi. Yogyakarta:Andi.
Kadir, Abdul. 2008. Tuntunan Praktis Belajar Database Menggunakan MySQL.
Yogyakarta: Andi.
Le Bodic, Gwenael. 2005. Mobile Messaging technologies and services SMS,
EMS, and MMS. John Wiley & Sons. West Sussex.
Nugroho, Adi. 2005. Rational Rose Untuk Pemodelan Berorientasi Objek.
Bandung: Informatika.
O’Docherty, Mike. 2005. Analysis and Design Understanding System
Development With UML 2.0. England: John Wiley and Sons Ltd.
Roger.S.Pressman, Ph. D. Rekayasa Perangkat Lunak. Andi, Yogyakarta, 2001.
Saputra, Agus. 2011. Step by Step Membangun Aplikasi SMS dengan PHP dan
MySQL. Elex Media Komputindo. Jakarta.
Shalahudin, Rosa A.S. 2010. Modul Pembelajaran Pemrograman Berorientasi
Objek. Bandung: Modula.
Wiswakarma, Komang. 2010. 9 Langkah Menjadi Master Framework
Codeigniter. Yogyakarta: Lokomedia.
Dengen, Nataniel., Marisa Kh, Dyna, 2009. Jurnal: Sistem Informasi Akademik
Berbasis Web SMP Negeri 4 Samarinda. Samarinda: Universitas
Mulawarman.
http://informatikamulawarman.files.wordpress.com/2010/02/07-sistem-
informasi-akademik-berbasis-web-_v-2-1_.pdf, (diakses tanggal 12 April
2012).
147
Khadijah. 2011. Pengembangan Sistem Informasi Seleksi Beasiswa Unggulan
P3SWOT Kemdiknas Online Menggunakan Unified Process. Semarang:
Universitas Diponegoro.
http://eprints.undip.ac.id/29022/1/Repositori_J2F006026.pdf, (diakses
tanggal 27 April 2012).
Muzakki, Achmad. 2008. Sistem Monitoring Akademik Dan Administrasi Pada
Sekolah Menengah Pertama Dengan Menggunakan SMS GATEWAY (Studi
Kasus SMP DR.Soetomo Surabaya). Surabaya: ITS.
http://digilib.its.ac.id/public/ITS-NonDegree-11885-2201039012-
Chapter1.pdf, (diakses tanggal 11 Agustus 2011).
Sparx Systems UML Tutorials. 2004. The Business Process Model. Enterprise
Architecture.
http://www.sparxsystems.com/downloads/whitepapers/The_Business_Proc
ess_Model.pdf, (diakses tanggal 19 April 2012).
Wahyuningrum, Endah. 2011. Software Engineering Methodology Rational
Unified Process.
http://www.ulfahumuhani.com/admin/upload/Software%20Enginering%2
0Metodelogi%20Rational%20Unified%20Process.ppt, (diakses tanggal 17
Agustus 2011).
Yunis, Roni., Surendro, Kridanto., Telaumbanua, Kristian, 2010. Arsitektur
Bisnis: Pemodelan Proses Bisnis Dengan Object Oriented,
http://repository.upnyk.ac.id/435/1/E-
20_ARSITEKTUR_BISNIS_PEMODELAN_PROSES_BISNIS_DENGA
N_OBJECT_ORIENTED.pdf, (diakses tanggal 18 April 2012).
149
SOURCE CODE PROGRAM
<?php
class Cabsen extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model('mabsen');
$this->load->model('mkelas');
$this->load-
>model('msemester');
$this->load->model('msiswa');
$this->load->model('mguru');
}
function index() {
if ($this->session-
>userdata('username') == TRUE) {
$gurusession = $this-
>session->userdata('username');
$data['guru'] =
$this->mguru->getGuru($gurusession);
$guru =
$data['guru']->row();
$data['username'] = $guru-
>username;
$data['nip'] =
$guru->nip;
$data['role'] =
$guru->role;
$th_ajaran = $this->msemester-
>get_active_th_ajar()->row();
$data['ajar'] = $th_ajaran->th_ajar;
// Cek semester yang sedang aktif
$semesters = $this->msemester-
>get_active_semester()->row();
$data['id_semester'] = $semesters-
>kd_semester;
$data['semes'] = $data['id_semester'];
$data['kls'] = $this->mkelas-
>get_kelas();
$data['jenis'] = "Absen";
$this->load->view('templateadmin',
$data);
}
else {
redirect('frontend');
}
}
function inputabsen() {
if ($this->session-
>userdata('username') == TRUE) {
$gurusession = $this->session-
>userdata('username');
$data['guru'] = $this->mguru-
>getGuru($gurusession);
$guru = $data['guru']->row();
$data['username'] = $guru->username;
$data['nip'] = $guru->nip;
$data['role'] = $guru->role;
$th_ajaran = $this-
>msemester->get_active_th_ajar()-
>row();
$data['ajar'] =
$th_ajaran->th_ajar;
// Cek semester yang
sedang aktif
$semesters = $this-
>msemester->get_active_semester()-
>row();
$data['id_semester'] =
$semesters->kd_semester;
$data['semes'] =
$data['id_semester'];
// Cek semester yang sedang aktif
$semesters = $this->msemester-
>get_active_semester()->row();
$id_semester = $semesters-
>kd_semester;
$data['sem'] = $id_semester;
if ($this->input->post('inputabsen'))
{
// Cek semester yang sedang aktif
$semesters = $this->msemester-
>get_active_semester()->row();
$id_semester = $semesters-
>kd_semester;
$data['sem'] = $id_semester;
$data['option_th_ajar'] = $this-
msemester->get_thajar_menu();
$data['kd_kelas'] = $this->input-
>post('kelasinput');
$dapat = $this->mkelas-
>getKelas($data['kd_kelas']);
$dapatkelas = $dapat->row();
$data['namkel'] = $dapatkelas-
>nama_kelas;
$data['tgl'] = $this->input-
>post('tgl1');
$data['bln'] = $this->input-
>post('bln1');
$data['thn'] = $this->input-
>post('thn1');
$data['tanggal'] = $data['thn']."-
".$data['bln']."-".$data['tgl'];
$cek = $this->mabsen-
>getAbsenKelas($data['kd_kelas'],$data
['tanggal']);
if($cek->num_rows==0) {
$hari_array = array('Minggu', 'Senin',
'Selasa', 'Rabu', 'Kamis', 'Jumat',
'Sabtu');
$hr = date('w',
strtotime($data['tanggal']));
$hari = $hari_array[$hr];
$tgl = date('d-m-Y',
strtotime($data['tanggal']));
$data['hr_tgl'] = "$hari, $tgl";
$data['nama_siswa']=$this->mabsen-
>Edit_Content("siswa","siswa.kd_kelas=
".$data['kd_kelas']."");
$data['jenis'] = "Input absen siswa";
$this->load->view('templateadmin',
$data); } else {?>
<script type="text/javascript">
alert("Tanggal tersebut sudah di
absen, coba masukkan tanggal yang
belum di absen");
javascript:history.go(-1);
</script>
150
<?php
}
//$this->load->view('absen/vinput');
} else {
$id_tgl = '';
if ($this->uri->segment(3) === FALSE)
{
$id_tgl=$id_tgl;
}
else {
$id_tgl = $this->uri->segment(3);
}
$id_kls = '';
if ($this->uri->segment(4) === FALSE)
{
$id_kls=$id_kls;
} else {
$id_kls = $this->uri->segment(4);
}
// Cek semester yang sedang aktif
$semesters = $this->msemester-
>get_active_semester()->row();
$id_semester = $semesters-
>kd_semester;
$data['sem'] = $id_semester;
$data['option_th_ajar'] = $this-
>msemester->get_thajar_menu();
$psh=array();
$psh=explode("-",$id_tgl);
$data['tgl'] = $psh[0];
$data['bln'] = $psh[1];
$data['thn'] = $psh[2];
$data['kd_kelas'] = $id_kls;
$dapat = $this->mkelas-
>getKelas($data['kd_kelas']);
$dapatkelas = $dapat->row();
$data['namkel'] = $dapatkelas-
>nama_kelas;
$cek = $this->mabsen-
>getAbsenKelas($id_kls,$id_tgl);
if($cek->num_rows==0) {
$hari_array = array('Minggu', 'Senin',
'Selasa', 'Rabu', 'Kamis', 'Jumat',
'Sabtu');
$hr = date('w', strtotime($id_tgl));
$hari = $hari_array[$hr];
$tgl = date('d-m-Y',
strtotime($id_tgl));
$data['hr_tgl'] = "$hari, $tgl";
$data['nama_siswa']=$this->mabsen-
>Edit_Content("siswa","siswa.kd_kelas=
".$id_kls."");
$data['jenis'] = "Input absen siswa";
$this->load->view('templateadmin',
$data);
} else {?>
<script type="text/javascript">
alert("Tanggal tersebut sudah di
absen, coba masukkan tanggal yang
belum di absen");
javascript:history.go(-1);
</script>
<?php
}
}
} else {
redirect('frontend');
}
}
//show absen per kelas
function showabsen() {
if ($this->session-
>userdata('username') == TRUE) {
$gurusession = $this->session-
>userdata('username');
$data['guru'] = $this->mguru-
>getGuru($gurusession);
$guru = $data['guru']->row();
$data['username'] = $guru->username;
$data['nip'] = $guru->nip;
$data['role'] = $guru->role;
$th_ajaran = $this->msemester-
>get_active_th_ajar()->row();
$data['ajar'] = $th_ajaran->th_ajar;
// Cek semester yang sedang aktif
$semesters = $this->msemester-
>get_active_semester()->row();
$data['id_semester'] = $semesters-
>kd_semester;
$data['semes'] = $data['id_semester'];
// Cek semester yang sedang aktif
$semesters = $this->msemester-
>get_active_semester()->row();
$id_semester = $semesters-
>kd_semester;
$data['sem'] = $id_semester;
if ($this->input->post('showabsen')) {
$data['kd_kelas'] = $this->input-
>post('kelasshow');
$dapat = $this->mkelas-
>getKelas($data['kd_kelas']);
$dapatkelas = $dapat->row();
$data['namkel'] = $dapatkelas-
>nama_kelas;
$tgl = $this->input->post('tgl2');
$bln = $this->input->post('bln2');
$thn = $this->input->post('thn2');
$data['tanggal'] = $thn."-".$bln."-
".$tgl;
$data['nama_siswa']=$this->mabsen-
>Edit_Content("siswa","siswa.kd_kelas=
".$data['kd_kelas']."");
$data['absenkelas'] = $this->mabsen-
>getAbsenKelas($data['kd_kelas'],$data
['tanggal']);
$data["jenis"] = "Show Absen Kelas";
$this->load-
>view('templateadmin',$data);} else {
$data['kd_kelas']='';
if ($this->uri->segment(3) === FALSE)
{
$data['kd_kelas']=$data['kd_kelas'];
} else {
$data['kd_kelas'] = $this->uri-
>segment(3);
}
$data['tanggal']='';
if ($this->uri->segment(4) === FALSE)
{
$data['tanggal']=$data['tanggal'];
} else {
151
$data['tanggal'] = $this->uri-
>segment(4);
}
$dapat = $this->mkelas-
>getKelas($data['kd_kelas']);
$dapatkelas = $dapat->row();
$data['namkel'] = $dapatkelas-
>nama_kelas;
$data['nama_siswa']=$this->mabsen-
>Edit_Content("siswa","siswa.kd_kelas=
".$data['kd_kelas']."");
$data['absenkelas'] = $this->mabsen-
>getAbsenKelas($data['kd_kelas'],$data
['tanggal']);
$data["jenis"] = "Show Absen Kelas";
$this->load-
>view('templateadmin',$data);
}
} else {
redirect('frontend');
}
}
function simpaninput() {
if ($this->session-
>userdata('username') == TRUE) {
$datadetail=array();
$data=array();
$simpan=$this->input->post('simpan');
$pecah1=explode("|",$simpan);
$data['tgl']=$this->input-
>post('tgl');
$data['bln']=$this->input-
>post('bln');
$data['thn']=$this->input-
>post('thn');
$data['kd_semester']=$this->input-
>post('kd_semester');
$data['tanggal'] = $data['thn']."-
".$data['bln']."-".$data['tgl'];
$kelas=$this->input->post('kelas');
$data['id_ajar']=$this->input-
>post('id_ajar');
$jumlah=count($pecah1);
$sis = $this->msiswa-
>Tampil_Data_Terseleksi_Join("siswa","
siswa.kd_kelas",$kelas,"left join
kelas on
siswa.kd_kelas=kelas.kd_kelas");
$jum = $sis->num_rows();
if($jumlah<$jum) {
$this->session-
>set_flashdata('message', 'centang
semua absen');
redirect('cabsen/inputabsen/'.$data['t
hn'].'-'.$data['bln'].'-
'.$data['tgl'].'/'.$kelas);
} else {
for($i=0;$i<count($pecah1);$i++) {
$pecah2=explode("_",$pecah1[$i]);
$datadetail['no_induk'][]=$pecah2[0];
$datadetail['kd_kelas'][]=$pecah2[1];
$datadetail['absen'][]=$pecah2[2];
}
$string="insert into tbl_absen
(no_induk,kd_kelas,kd_semester,id_ajar
,bulan,tahun,tanggal,absen) values";
$akhir="";
for($i=0;$i<$jum;$i++) {
if($akhir==""){
$akhir="(".$datadetail['no_induk'][$i]
.",".$datadetail['kd_kelas'][$i].",'".
$data['kd_semester']."','".$data['id_a
jar']."','".$data['bln']."','".$data['
thn']."','".$data['tanggal']."','".$da
tadetail['absen'][$i]."')";
} else{
$akhir.=",(".$datadetail['no_induk'][$
i].",".$datadetail['kd_kelas'][$i].",'
".$data['kd_semester']."','".$data['id
_ajar']."','".$data['bln']."','".$data
['thn']."','".$data['tanggal']."','".$
datadetail['absen'][$i]."')";
}
}
$query = $string.$akhir.';';
$this->mabsen->Simpan_Data($query);
$this->session-
>set_flashdata('message', '1 data
kegiatan akademik berhasil ditambah');
redirect('cabsen/showabsen/'.$kelas.'/
'.$data['tanggal']);
//echo "<meta http-equiv='refresh'
content='0;
url=".base_url()."index.php/cabsen'>";
}
} else {
redirect('frontend');
}
}
function editabsen($id_absen) {
if ($this->session-
>userdata('username') == TRUE) {
$gurusession = $this->session-
>userdata('username');
$data['guru'] = $this->mguru-
>getGuru($gurusession);
$guru = $data['guru']->row();
$data['username'] = $guru->username;
$data['nip'] = $guru->nip;
$data['role'] = $guru->role;
$th_ajaran = $this->msemester-
>get_active_th_ajar()->row();
$data['ajar'] = $th_ajaran->th_ajar;
// Cek semester yang sedang aktif
$semesters = $this->msemester-
>get_active_semester()->row();
$data['id_semester'] = $semesters-
>kd_semester;
$data['semes'] = $data['id_semester'];
// Cek semester yang sedang aktif
$semesters = $this->msemester-
>get_active_semester()->row();
$id_semester = $semesters-
>kd_semester;
$data['sem'] = $id_semester;
$data['detailabsen']=$this->mabsen-
>Tampil_Edit_Absen("tbl_absen",
$id_absen);
$this->session-
>set_flashdata('message', '1 data
kegiatan akademik berhasil di ubah');
$data['jenis'] = "Editabsen";
$this->load->view('templateadmin',
$data);
} else {
redirect('frontend');
152
}
}
function update() {
if ($this->session-
>userdata('username') == TRUE) {
// Cek semester yang sedang aktif
$semesters = $this->msemester-
>get_active_semester()->row();
$id_semester = $semesters-
>kd_semester;
$data['sem'] = $id_semester;
$id_absen= $this->input-
>post('id_absen');
$kd_kelas= $this->input-
>post('kd_kelas');
$tanggal= $this->input-
>post('tanggal');
$id_ajar= $this->input-
>post('id_ajar');
$data['detailabsen']=$this->mabsen-
>Tampil_Edit_Absen("tbl_absen",
$id_absen);
// Set validation rules
$this->form_validation-
>set_rules('absen', 'Absen',
'required');
if ($this->form_validation->run() ==
TRUE) {
$this->mabsen-
>update($id_absen,$id_semester);
$this->session-
>set_flashdata('message', '1 data
kegiatan akademik berhasil di ubah');
redirect('cabsen/showabsen/'.$kd_kelas
.'/'.$tanggal);
} else {
$data['siswa']=$this->mabsen-
>Edit_Content("siswa","no_induk=".$no_
induk."");
$data['jenis'] = "Editabsen";
$this->load->view('templateadmin',
$data);
}
} else {
redirect('frontend');
}
}
function
hapusabsen($id_absen,$kd_kelas,$tangga
l) {
$this->db->delete('tbl_absen',
array('id_absen' => $id_absen));
$this->session-
>set_flashdata('message', '1 data
kegiatan akademik berhasil dihapus');
redirect('cabsen/showabsen/'.$kd_kelas
.'/'.$tanggal);
}
}
<?php
class Mabsen extends CI_Model {
function __construct() {
parent::__construct();
}
function
Tampil_Data_Terseleksi_Join($tabel,$id
,$id_seleksi,$join) {
$q=$this->db->query("select *
from ".$tabel." left join kelas on
siswa.kd_kelas=kelas.kd_kelas where
".$id." = ".$id_seleksi."");
return $q;
}
function
Edit_Content($tabel,$seleksi) {
$query=$this->db-
>query("select * from $tabel, kelas
where $seleksi AND $tabel.kd_kelas =
kelas.kd_kelas");
return $query;
}
function
getAbsenKelas($kd_kelas,$tanggal) {
$query = $this->db-
>query("SELECT a.id_absen, a.hari,
a.tanggal, a.no_induk, sw.no_induk,
sw.nama_siswa,
k.kd_kelas,k.nama_kelas,
s.kd_semester, t.id_ajar, t.th_ajar,
a.absen
FROM tbl_absen a,
siswa sw, kelas k, semester s,
tbl_tahun_ajar t
WHERE k.kd_kelas =
$kd_kelas AND a.tanggal = '$tanggal'
AND sw.kd_kelas =
k.kd_kelas AND a.no_induk =
sw.no_induk AND s.kd_semester =
a.kd_semester and a.id_ajar =
t.id_ajar
order by sw.nama_siswa
ASC");
return $query;
}
function
update($id_absen,$id_semester)
{
$no_induk = $this->input-
>post('no_induk');
$kd_kelas =$this->input-
>post('kd_kelas');
$tanggal =$this->input-
>post('tanggal');
$absen = $this->input-
>post('absen');
$id_ajar = $this->input-
>post('id_ajar');
$data = array (
'no_induk' =>
$no_induk,
'kd_kelas' => $kd_kelas,
'kd_semester' =>
$id_semester,
'id_ajar' => $id_ajar,
'tanggal' =>
$tanggal,
'absen' =>
$absen
);
$this->db->where('id_absen',
$id_absen);
$this->db->update('tbl_absen',
$data);
}
153
function Tampil_Edit_Absen($tabel,
$id_absen) {
$q=$this->db->query("SELECT *
FROM $tabel a, siswa
sw, kelas k, semester s,
tbl_tahun_ajar t
WHERE a.id_absen =
$id_absen AND sw.kd_kelas = k.kd_kelas
AND a.no_induk = sw.no_induk AND
s.kd_semester = a.kd_semester and
a.id_ajar = t.id_ajar
order by a.tanggal
DESC");
return $q;
}
function getAbsenById($id,
$tgl_indo) {
$query = $this->db-
>query("SELECT * FROM tbl_absen WHERE
no_induk = $id AND bulan = '$tgl_indo'
order by tanggal ASC");
return $query;
}
function getSearchAbsenById($id,
$getBulan, $getTahun) {
$query = $this->db-
>query("SELECT * FROM tbl_absen WHERE
no_induk = $id AND (bulan =
'$getBulan' AND tahun = $getTahun)
order by tanggal ASC");
return $query;
}
function Simpan_Data($query)
{
$this->db-
>query($query);
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml
1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<title>Care for design - jQuery :
Plugin tytabs</title>
<script type="text/javascript"
src="<?php echo
base_url()?>js/jqsms/jquery.min.js"></
script>
<script type="text/javascript"
src="<?php echo
base_url()?>js/jqsms/tytabs.jquery.min
.js"></script>
<link type="text/css" rel="stylesheet"
href="<?php echo
base_url();?>css/csssms/table.css" />
<script type="text/javascript">
<!--
$(document).ready(function(){
$("#tabsholder").tytabs({
tabinit:"2",
fadespeed:"fast"
});
$("#tabsholder2").tytabs({
prefixtabs:"tabz",
prefixcontent:"contentz",
classcontent:"tabscontent",
tabinit:"3",
catchget:"tab2",
fadespeed:"normal"
});
});
-->
</script>
<link href="<?php echo
base_url()?>css/css/styles.css"
rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
* { margin:0; padding: 0;}
div.container {
width: 650px;
margin: 0 auto;
}
.center {
width:100%;
}
.marginbot {
margin-bottom:15px;
}
ul.list li {
list-style-type:none;
margin-left:20px;
}
ul.tabs {
width:100%;
overflow:hidden;
}
ul.tabs li {
list-style-type:none;
display:block;
font-size:14px;
float:left;
color:#fff;
padding:8px;
margin-right:2px;
border-bottom:2px solid #2f2f2f;
background-color:#1f5e6f;
-moz-border-radius: 4px 4px 0 0;
-webkit-border-radius: 4px 4px 0 0;
cursor:pointer;
}
ul.tabs li:hover {
background-color:#43b0ce;
}
ul.tabs li.current {
border-bottom:2px solid #43b0ce;
154
background-color:#43b0ce;
padding:8px;
}
.tabscontent {
border-top:2px solid #2e74b2;
padding:8px 0 0 0;
display:none;
width:100%;
text-align:justify;
}
-->
</style>
<style type="text/css">
<!--
.style2 {font-size: 18px}
-->
</style>
</head>
<body>
<div class="center">
<!-- Tabs -->
<div id="tabsholder">
<ul class="tabs">
<li id="tab1">Manajemen
Absensi</li>
</ul>
<div class="contents
marginbot">
<div id="content1"
class="tabscontent">
<h2><a
href="<?php echo site_url().
'/cabsen'; ?>">Beranda Manajemen
Absensi</a></h2>
<div class = "container">
<div class="title style2">Input
Absen</div>
</br>
</br>
<fieldset>
<?php echo
form_open('cabsen/inputabsen');
?>
<table width="100%">
<tr>
<td width="30%">
Masukkan Absen Berdasarkan
Kelas:
</td>
<td> </td>
<td>
<select
name="kelasinput"><?php foreach($kls-
>result_array() as $k) {
echo "<option
value='".$k['kd_kelas']."'>".$k['nama_
kelas']."</option>";} ?>
</select>
</td>
</tr>
<tr> <td
colspan="3"> </td></tr>
<tr>
<td width="30%">
dan Tanggal:
</td>
<td> </td>
<td>
<?php
$d = date('d');
$m = date('m');
$y = date('Y');
echo "<select
name='tgl1'>";
for($i=1;$i<32;$i++) {
if($i==$d) {
echo "<option value='".$i."'
selected>".$i."</option>";
}
else {
echo "<option
value='".$i."'>".$i."</option>";
}
}
echo "</select>
- ";
echo "<select
name='bln1'>";
function
getBulan1($bln){
switch ($bln){
case 1:
return "Jan";
break;
case 2:
return "Feb";
break;
case 3:
return "Mar";
break;
case 4:
return "Apr";
break;
case 5:
return "Mei";
break;
case 6:
return "Jun";
break;
case 7:
return "Jul";
break;
case 8:
return "Agustus";
break;
case 9:
return "Sep";
break;
case 10:
return "Okt";
break;
case 11:
return "Nov";
break;
case 12:
return "Des";
break;
}
}
for($i=1;$i<13;$i++) {
if($i==$m){
155
echo "<option value='".$i."'
selected>".getBulan1($i)."</option>";}
else {
echo "<option
value='".$i."'>".getBulan1($i)."</opti
on>";
}
}
echo "</select> - ";
echo "<select name='thn1'>";
for($i=2009;$i<2015;$i++) {
if($i==$y){
echo "<option value='".$i."'
selected>".$i."</option>";
}else{
echo "<option
value='".$i."'>".$i."</option>";
}
}
echo "</select>";
?>
</td>
<td><?php echo
form_submit(array('name' =>
'inputabsen', 'value' => 'Cari'));
?></td>
<tr>
</table>
<?php echo form_close(); ?>
</fieldset>
</br>
</br>
<div class="title style2">Show
Absen</div>
</br>
</br>
<fieldset>
<?php echo
form_open('cabsen/showabsen');
?>
<table width="100%">
<tr>
<td width="30%">
Lihat Absen Berdasarkan Kelas:
</td>
<td> </td>
<td>
<select name="kelasshow"><?php
foreach($kls->result_array() as $k) {
echo "<option
value='".$k['kd_kelas']."'>".$k['nama_
kelas']."</option>";} ?>
</select>
</td>
</tr>
<tr> <td
colspan="3"> </td></tr>
<tr>
<td width="30%">
dan Tanggal:
</td>
<td> </td>
<td>
<?php
$d = date('d');
$m = date('m');
$y = date('Y');
echo "<select
name='tgl2'>";
for($i=1;$i<32;$i++) {
if($i==$d) {
echo "<option value='".$i."'
selected>".$i."</option>";
}
else {
echo "<option
value='".$i."'>".$i."</option>";
}
}
echo "</select> - ";
echo "<select name='bln2'>";
function getBulan($bln){
switch ($bln){
case 1:
return "Jan";
break;
case 2:
return "Feb";
break;
case 3:
return "Mar";
break;
case 4:
return "Apr";
break;
case 5:
return "Mei";
break;
case 6:
return "Jun";
break;
case 7:
return "Jul";
break;
case 8:
return "Agustus";
break;
case 9:
return "Sep";
break;
case 10:
return "Okt";
break;
case 11:
return "Nov";
break;
case 12:
return "Des";
break;
}
}
for($i=1;$i<13;$i++) {
if($i==$m){
echo "<option value='".$i."'
selected>".getBulan($i)."</option>";
}
else {
echo "<option
value='".$i."'>".getBulan($i)."</optio
n>";
}
}
echo "</select> - ";
echo "<select name='thn2'>";
156
for($i=2009;$i<2015;$i++) {
if($i==$y){
echo "<option
value='".$i."'
selected>".$i."</option>";
}
else{
echo "<option
value='".$i."'>".$i."</option>";
}
}
echo
"</select>";
?>
</td>
<td><?php echo
form_submit(array('name' =>
'showabsen', 'value' => 'Cari'));
?></td>
<tr>
</table>
<?php echo form_close(); ?>
</fieldset>
</div>
</div>
</div>
</div>
<!-- /Tabs -->
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml
1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml
1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<title>Care for design - jQuery :
Plugin tytabs</title>
<script type="text/javascript"
src="<?php echo
base_url()?>js/jqsms/jquery.min.js"></
script>
<script type="text/javascript"
src="<?php echo
base_url()?>js/jqsms/tytabs.jquery.min
.js"></script>
<link type="text/css" rel="stylesheet"
href="<?php echo
base_url();?>css/csssms/table.css" />
<script type="text/javascript">
<!--
$(document).ready(function(){
$("#tabsholder").tytabs({
tabinit:"2",
fadespeed:"fast"
});
$("#tabsholder2").tytabs({
prefixtabs:"tabz",
prefixcontent:"contentz",
classcontent:"tabscontent",
tabinit:"3",
catchget:"tab2",
fadespeed:"normal"
});
});
-->
</script>
<link href="<?php echo
base_url()?>css/css/styles.css"
rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
* { margin:0; padding: 0;}
body {
}
div.container {
width: 650px;
margin: 0 auto;
}
.center {
width:100%;
}
.marginbot {
margin-bottom:15px;
}
ul.list li {
list-style-type:none;
margin-left:20px;
}
ul.tabs {
width:100%;
overflow:hidden;
}
ul.tabs li {
list-style-type:none;
display:block;
font-size:14px;
float:left;
color:#fff;
padding:8px;
margin-right:2px;
border-bottom:2px solid #2f2f2f;
background-color:#1f5e6f;
-moz-border-radius: 4px 4px 0 0;
-webkit-border-radius: 4px 4px 0 0;
cursor:pointer;
}
ul.tabs li:hover {
background-color:#43b0ce;
157
}
ul.tabs li.current {
border-bottom:2px solid #43b0ce;
background-color:#43b0ce;
padding:8px;
}
.tabscontent {
border-top:2px solid #2e74b2;
padding:8px 0 0 0;
display:none;
width:100%;
text-align:justify;
}
-->
</style>
<style type="text/css">
<!--
.style1 {color: #2e74b2}
.style2 {font-size: 18px}
-->
</style>
</head>
<body>
<div class="center">
<!-- Tabs -->
<div id="tabsholder">
<ul class="tabs">
<li id="tab1">Manajemen Absensi</li>
</ul>
<div class="contents marginbot">
<div id="content1"
class="tabscontent">
<h2><a href="<?php echo site_url().
'/cabsen'; ?>">Beranda Manajemen Absen
</a> > Show Absen</h2>
<div class = "container">
<div class="title">
<table width="100%"><tr><td><div
align="center">Show Absen
</div></td></tr>
<tr><td> </td></tr>
<?php $tanggal;
$hari_array = array('Minggu', 'Senin',
'Selasa', 'Rabu', 'Kamis', 'Jumat',
'Sabtu');
$hr = date('w', strtotime($tanggal ));
$hari = $hari_array[$hr];
$tgl = date('d-m-Y',
strtotime($tanggal ));
$hr_tgl = "$hari, $tgl";
?>
<tr><td><div align="center">Kelas :
<?php echo $namkel;?>, Tanggal : <?php
echo $hr_tgl;?></div></td></tr>
</table>
</div>
<br />
<?php
echo ! empty($message) ? '<p
class="message">' . $message . '</p>':
'';
$flashmessage = $this-
>session->flashdata('message');
echo ! empty($flashmessage) ?
'<p class="message"
style="color:#FF3300; font-
size:12px;">' . $flashmessage .
'</p>': '';
?>
</br>
<?php if ($absenkelas->num_rows()==0)
: ?>
<table id="mytable" cellspacing="0"
width=100%>
<tr>
<td width="5px" class=specalt
><center>No</center></td>
<td width="60px" class=alt
><center>Hari, Tanggal</center></td>
<td width="200px" class=alt
><center>No Induk</center></td>
<td width="50px" class=alt
><center>Nama Siswa</center></td>
<td width="30px" class=alt
><center>Absen</center></td>
<td width="50px" class=alt colspan="2"
><center>Aksi Data</center></td>
</tr>
<tr>
<td colspan="7"><center><h4
style="color:#F30; font-
size:16px;"><i>Tidak Ada Data
Absen</i></h4></center></td>
</tr>
</table>
<?php else: ?>
<table id="mytable" cellspacing="0"
width=100%>
<tr>
<td width="5px" class=specalt
><center>No</center></td>
<td width="100px" class=alt
><center>Hari, Tanggal</center></td>
<td width="30px" class=alt ><center>No
Induk</center></td>
<td width="250px" class=alt
><center>Nama Siswa</center></td>
<td width="30px" class=alt
><center>Absen</center></td>
<td width="30px" class=alt colspan="2"
><center>Aksi Data</center></td>
</tr>
<?php $no=0; foreach($absenkelas-
>result() as $ab) {
$no++;
echo "<tr>
<td
width='5px'><center>".$no."</center></
td>
<td
width='100px'><center>".$hr_tgl."</cen
ter></td>
<td width='30px'><center>".$ab-
>no_induk."</center></td>
<td width='250px'><center>".$ab-
>nama_siswa."</center></td>
<td width='30px'><center>";
if($ab->absen=='I') {
echo "Izin";
} elseif ($ab-
>absen=='A') { echo
"Alpha";
} elseif ($ab-
>absen=='S') echo "Sakit";
} else {
echo "Hadir";
}
echo "</center></td>
158
<td><a
href='".base_url()."index.php/cabsen/e
ditabsen/".$ab->id_absen."'>
<input type='submit' name='ubahnilai'
value='Ubah Absen' /></a></td>
<td><a
href='".base_url()."index.php/cabsen/h
apusabsen/".$ab->id_absen."/".$ab-
>kd_kelas."/".$ab->tanggal."'>
<input
type='submit' name='hapusabsen'
value='Hapus Absen' /></a></td>
</tr>";
}
?>
</table>
<?php endif ?>
</div>
</div>
</div>
</div>
<!-- /Tabs -->
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml
1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<title>Care for design - jQuery :
Plugin tytabs</title>
<script type="text/javascript"
src="<?php echo
base_url()?>js/jqsms/jquery.min.js"></
script>
<script type="text/javascript"
src="<?php echo
base_url()?>js/jqsms/tytabs.jquery.min
.js"></script>
<link type="text/css" rel="stylesheet"
href="<?php echo
base_url();?>css/csssms/table.css" />
<script type="text/javascript">
<!--
$(document).ready(function(){
$("#tabsholder").tytabs({
tabinit:"2",
fadespeed:"fast"
});
$("#tabsholder2").tytabs({
prefixtabs:"tabz",
prefixcontent:"contentz",
classcontent:"tabscontent",
tabinit:"3",
catchget:"tab2",
fadespeed:"normal"
});
});
-->
</script>
<link href="<?php echo
base_url()?>css/css/styles.css"
rel="stylesheet" type="text/css" />
<script type="text/javascript">
function lihatObjek()
{
var data="";
document.soal.simpan.value="";
for(i=0;i<document.soal.length
;i++)
{
if(document.soal.elements[i].t
ype=='radio')
{
if(document.soal.elements[i].c
hecked==true)
{
if(data=="")
data=document.soal.elements[i]
.value;
else
data+='|'+document.soal.elemen
ts[i].value;
}
}
}
document.soal.simpan.value=dat
a;
}
</script>
<style type="text/css">
<!--
* { margin:0; padding: 0;}
div.container {
width: 650px;
margin: 0 auto;
}
.center {
width:100%;
}
.marginbot {
margin-bottom:15px;
}
ul.list li {
list-style-type:none;
margin-left:20px;
}
ul.tabs {
width:100%;
overflow:hidden;
}
ul.tabs li {
list-style-type:none;
159
display:block;
font-size:14px;
float:left;
color:#fff;
padding:8px;
margin-right:2px;
border-bottom:2px solid #2f2f2f;
background-color:#1f5e6f;
-moz-border-radius: 4px 4px 0 0;
-webkit-border-radius: 4px 4px 0 0;
cursor:pointer;
}
ul.tabs li:hover {
background-color:#43b0ce;
}
ul.tabs li.current {
border-bottom:2px solid #43b0ce;
background-color:#43b0ce;
padding:8px;
}
.tabscontent {
border-top:2px solid #2e74b2;
padding:8px 0 0 0;
display:none;
width:100%;
text-align:justify;
}
-->
</style>
<style type="text/css">
<!--
.style1 {color: #2e74b2}
.style2 {font-size: 18px}
-->
</style>
</head>
<body>
<div class="center">
<!-- Tabs -->
<div id="tabsholder">
<ul class="tabs">
<li id="tab1">Manajemen
Absensi</li>
</ul>
<div class="contents
marginbot">
<div id="content1"
class="tabscontent">
<h2><a
href="<?php echo site_url().
'/cabsen'; ?>">Beranda Manajemen
Absensi </a> > Input Absen </h2>
<div class = "container">
<div
class="title">
<form
method="post" action="<?php echo
base_url();
?>index.php/cabsen/simpaninput"
name="soal">
<?php
echo "<input type='hidden' name='tgl'
value='".$tgl."' /><input
type='hidden' name='bln'
value='".$bln."'/><input type='hidden'
name='thn' value='".$thn."' />";
echo"<input type='hidden' value=''
name='simpan'/>";
echo"<input type='hidden'
value='".$kd_kelas."' name='kelas'/>";
echo"<input type='hidden'
value='".$sem."'
name='kd_semester'/>";
echo "<table width='100%'><tr><td><div
align='center'>Input Absen
</div></td></tr>
<tr><td> </td></tr>
<tr><td><div
align='center'>Kelas : ".$namkel.",
Tanggal : ".$hr_tgl."</div></td></tr>
</table>";
?>
</div>
</br>
<?php
echo ! empty($message) ? '<p
class="message">' . $message . '</p>':
'';
$flashmessage = $this-
>session->flashdata('message');
echo ! empty($flashmessage) ?
'<p class="message"
style="color:#FF3300; font-
size:12px;">' . $flashmessage .
'</p>': '';
?><br /></br>
Tahun AJaran :
<select
name="id_ajar">
<?php foreach ($option_th_ajar
as $row) {
$th_ajar = $row->th_ajar;
$id_ajar = $row->id_ajar;
if ($th_ajar == $ajar)
{
echo "<option
value='".$id_ajar."'
selected='selected'>".$th_ajar."</opti
on>";
} else {
echo "<option
value='".$id_ajar."'>".$th_ajar."</opt
ion>";
}
}
?>
</select>
<br />
<br />
<?php if ($nama_siswa->num_rows()==0)
: ?>
<table width="100%" id="mytable">
<tr>
<td class="specalt"
width="5px">No</td>
<td class="alt" width="30px">No
Induk</td>
<td class="alt" width="150px">Nama
Siswa</td>
<td colspan="4" class="alt"
width="200px">Keterangan
Absen</td></tr>
<tr>
<td colspan="7"><center><h4
style="color:#F30; font-
160
size:16px;"><i>Tidak Ada Data
Absen</i></h4></center></td>
</tr>
</table>
<?php else: ?>
<table width="100%" id="mytable">
<tr>
<td class="specalt"
width="5px">No</td>
<td class="alt" width="30px">No
Induk</td>
<td class="alt" width="150px">Nama
Siswa</td>
<td colspan="4" class="alt"
width="200px">Keterangan
Absen</td></tr>
<?php
$no=1;
foreach($nama_siswa->result_array() as
$n)
{
echo "<tr><td
width='5px'>".$no."</td><td
width='30px'>".$n['no_induk']."</td><t
d
width='150px'>".$n['nama_siswa']."</td
>
<td width='50px'><input type='radio'
onclick='javascript:lihatObjek();'
value='".$n['no_induk']."_".$n['kd_kel
as']."_S' name='".$n['no_induk']."'
>(S) Sakit </td>
<td width='50px'><input type='radio'
onclick='javascript:lihatObjek();'
value='".$n['no_induk']."_".$n['kd_kel
as']."_I' name='".$n['no_induk']."'
>(I) Izin </td>
<td width='50px'><input type='radio'
onclick='javascript:lihatObjek();'
value='".$n['no_induk']."_".$n['kd_kel
as']."_A' name='".$n['no_induk']."'
>(A) Alpha </td>
<td width='50px'><input type='radio'
onclick='javascript:lihatObjek();'
value='".$n['no_induk']."_".$n['kd_kel
as']."_H' name='".$n['no_induk']."'
>(H) Hadir</td>
</tr>";
$no++;
}
?>
<tr><td colspan="7"><div
align="right"><br />
<input type="submit" class="input"
value="Simpan Rekap Absensi" />
<input type="reset" class="input"
value="Hapus dan Ulang Pengisian" />
</div></td></tr></table>
<?php endif; ?>
</form>
</div>
</div>
</div>
</div>
<!-- /Tabs -->
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml
1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<title>Care for design - jQuery :
Plugin tytabs</title>
<script type="text/javascript"
src="<?php echo
base_url()?>js/jqsms/jquery.min.js"></
script>
<script type="text/javascript"
src="<?php echo
base_url()?>js/jqsms/tytabs.jquery.min
.js"></script>
<link type="text/css" rel="stylesheet"
href="<?php echo
base_url();?>css/csssms/table.css" />
<link href="<?php echo base_url();
?>cssbutton/css/idealForms/idealForms.
css" rel="stylesheet" type="text/css"
media="screen"/>
<link href="<?php echo base_url();
?>cssbutton/css/idealForms/idealForms-
theme-sapphire.css" rel="stylesheet"
type="text/css" media="screen"/>
<script type="text/javascript">
<!--
$(document).ready(function(){
$("#tabsholder").tytabs({
tabinit:"2",
fadespeed:"fast"
});
$("#tabsholder2").tytabs({
prefixtabs:"tabz",
prefixcontent:"contentz",
classcontent:"tabscontent",
tabinit:"3",
catchget:"tab2",
fadespeed:"normal"
});
});
-->
</script>
<link href="<?php echo
base_url()?>css/css/styles.css"
rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
* { margin:0; padding: 0;}
body {
}
div.container {
161
width: 650px;
margin: 0 auto;
}
.center {
width:100%;
}
.marginbot {
margin-bottom:15px;
}
ul.list li {
list-style-type:none;
margin-left:20px;
}
ul.tabs {
width:100%;
overflow:hidden;
}
ul.tabs li {
list-style-type:none;
display:block;
font-size:14px;
float:left;
color:#fff;
padding:8px;
margin-right:2px;
border-bottom:2px solid #2f2f2f;
background-color:#1f5e6f;
-moz-border-radius: 4px 4px 0 0;
-webkit-border-radius: 4px 4px 0 0;
cursor:pointer;
}
ul.tabs li:hover {
background-color:#43b0ce;
}
ul.tabs li.current {
border-bottom:2px solid #43b0ce;
background-color:#43b0ce;
padding:8px;
}
.tabscontent {
border-top:2px solid #2e74b2;
padding:8px 0 0 0;
display:none;
width:100%;
text-align:justify;
}
-->
</style>
<style type="text/css">
<!--
.style1 {color: #2e74b2}
.style2 {font-size: 18px}
-->
</style>
</head>
<body>
<div class="center">
<!-- Tabs -->
<div id="tabsholder">
<ul class="tabs">
<li id="tab1">Manajemen
Absensi</li>
</ul>
<div class="contents
marginbot">
<div id="content1"
class="tabscontent">
<h2><a
href="<?php echo site_url().
'/cabsen'; ?>">Beranda Manajemen Absen
</a> > <a href=javascript:history.go(-
1)> Show Absen</a> > Tambah Nilai</h2>
<div class =
"container">
<div
class="title">Edit Absen</div>
</br>
<center><fieldset
class="style4 style5">
<?php
foreach($detailabsen->result_array()
as $da) {
$id_absen = $da['id_absen'];
$nis = $da['no_induk'];
$nama_siswa =
$da['nama_siswa'];
$kd_kelas = $da['kd_kelas'];
$namkelas = $da['nama_kelas'];
$kd_semester =
$da['kd_semester'];
$tanggal = $da['tanggal'];
$absen = $da['absen'];
$id_ajar = $da['id_ajar'];
$th_ajar = $da['th_ajar'];
}
$hari_array = array('Minggu', 'Senin',
'Selasa', 'Rabu', 'Kamis', 'Jumat',
'Sabtu');
$hr = date('w',
strtotime($tanggal));
$hari =
$hari_array[$hr];
$tgl = date('d-m-Y',
strtotime($tanggal));
$hr_tgl = "$hari,
$tgl";
?>
<?php
echo $nis;
?>
|
&n
bsp;
<?php
echo $nama_siswa;
?>
|
&n
bsp;
<?php
echo $namkelas; ?></fieldset>
</center>
<div id="form_input">
<?php echo
form_open('cabsen/update'); ?>
162
<div class="idealWrap">
<label>Tahun
Ajar :</label>
<input
type="text" value="<?php echo
$th_ajar; ?>" readonly="readonly"/>
</div>
<div class="idealWrap">
<label>Tanggal
:</label>
<input
type="text" value="<?php echo $hr_tgl;
?>" readonly="readonly"/>
</div>
<div class="idealWrap">
</div>
<div class="idealWrap">
</div>
<div class="idealWrap">
<label>Absen:
</label>
<?php
if($absen=="S"){
?>
<input type="radio" value="S"
class="input" name="absen"
checked="checked" />Sakit
<input type="radio" value="I"
class="input" name="absen" />Izin
<input type="radio" value="A"
class="input" name="absen" />Alpha
<input type="radio" value="H"
class="input" name="absen" />Hadir
<?php
}
else if($absen=="I"){
?>
<input type="radio" value="S"
class="input" name="absen" />Sakit
<input type="radio" value="I"
class="input" name="absen"
checked="checked"/>Izin
<input type="radio" value="A"
class="input" name="absen" />Alpha
<input type="radio" value="H"
class="input" name="absen" />Hadir
<?php
}
else if($absen=="A"){
?>
<input type="radio" value="S"
class="input" name="absen" />Sakit
<input type="radio" value="I"
class="input" name="absen" />Izin
<input type="radio" value="A"
class="input" name="absen"
checked="checked"/>Alpha
<input type="radio" value="H"
class="input" name="absen" />Hadir
<?php
}
else{
?>
<input type="radio" value="S"
class="input" name="absen" />Sakit
<input type="radio" value="I"
class="input" name="absen" />Izin
<input type="radio" value="A"
class="input" name="absen" />Alpha
<input type="radio" value="H"
class="input" name="absen"
checked="checked"/>Hadir
<?php
}
?>
</div>
<?php echo
form_error('absen', '<p
class="field_error">', '</p>');?>
<div class="idealWrap">
</div>
<div class="idealWrap">
<label> </label><?php
echo form_submit('submit','Save')?>
<input
type="hidden" name="id_absen"
value="<?php echo $id_absen; ?>" />
<input
type="hidden" name="no_induk"
value="<?php echo $nis; ?>" />
<input
type="hidden" name="kd_kelas"
value="<?php echo $kd_kelas; ?>" />
<input
type="hidden" name="kd_semester"
value="<?php echo $kd_semester; ?>" />
<input
type="hidden" name="tanggal"
value="<?php echo $tanggal; ?>" />
<input
type="hidden" name="id_ajar"
value="<?php echo $id_ajar; ?>" />
<?php echo
form_close(); ?>
</div>
<div
class="title"></div>
</div>
</div>
</div>
</div>
</div>
<!-- /Tabs -->
</div>
<script type="text/javascript"
src="<?php echo base_url();
?>cssbutton/js/scripts.js"></script>
</body>
</html>