RANCANG BANGUN SISTEM INFORMASI SEKOLAH VIA
SMS GATEWAY BERBASIS CMS
SKRIPSI
Oleh:
SURYANI
NIM: 04550033
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGER MALANG
2008
ii
RANCANG BANGUN SISTEM INFORMASI SEKOLAH VIA
SMS GATEWAY BERBASIS CMS
SKRIPSI
Diajukan Kepada:
Dekan Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Malang
untuk Memenuhi Salah Satu Persyaratan dalam
Memperoleh Gelar Sarjana Komputer (S.Kom)
Oleh:
SURYANI
NIM: 04550033
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI MALANG
2008
iii
RANCANG BANGUN SISTEM INFORMASI SEKOLAH VIA
SMS GATEWAY BERBASIS CMS
Oleh:
SURYANI
NIM: 04550033
Telah Disetujui untuk Diuji
Malang, 28 Juli 2008
Dosen Pembimbing I, Dosen Pembimbing II,
Syahiduz Zaman, M.kom. A.Nashichuddin, M.A.
NIP.150 368 777 NIP.150 302 531
Mengetahui,
Ketua Jurusan Teknik Informatika
Suhartono, S.Si, M.Kom.
NIP. 150 327 241
iv
LEMBAR PENGESAHAN
RANCANG BANGUN SISTEM INFORMASI SEKOLAH VIA SMS
GATEWAY BERBASIS CMS
SKRIPSI
OLEH
SURYANI
NIM 04550033
Telah Dipertahankan di Depan Dewan Penguji Skripsi dan
Dinyatakan Diterima sebagai Salah Satu Persyaratan
untuk Memperoleh Gelar Sarjana Komputer (S.Kom)
Tanggal: 29 Juli 2008
Susunan Dewan Penguji: Tanda Tangan
1. Penguji Utama : Ririen Kusumawati, M.Kom ( )
2. Ketua : Suhartono, S.Si, M.Kom ( )
3. Sekretaris : Syahiduz Zaman, M.Kom ( )
4. Anggota : Achmad Nashichuddin, M.A ( )
Mengetahui dan Mengesahkan,
Ketua Jurusan Teknik Informatika
Suhartono, S.Si, M.Kom.
NIP. 150 327 241
v
LEMBAR PERNYATAAN
Saya yang bertanda tangan dibawah ini :
Nama : Suryani
NIM : 04550033
Jurusan : Teknik Informatika
Judul Tugas Akhir : RANCANG BANGUN SISTEM INFORMASI
SEKOLAH VIA SMS GATEWAY BERBASIS CMS
Dengan ini menyatakan bahwa :
1. Isi dari tugas Akhir yang saya buat adalah benar-benar karya sendiri dan
tidak menjiplak karya orang lain, selain nama-nama termaktub di isi dan
tertulis di daftar pustaka dalam Tugas Akhir ini.
2. Apabila dikemudian hari ternyata Tugas Akhir saya tulis terbukti hasil
jiplakan, maka saya akan bersedia menanggung segala resiko yang akan
saya terima.
Demikian pernyataan ini dibuat dengan segala kesadaran.
Malang, 27 juli 2008
Yang menyatakan,
Suryani
NIM. 04550033
vi
Motto
Segala kehidupan belum tentu sesuai
dengan yang kita harapkan........
Kerja keras awal dari keberhasilan
Malulah ketika tidak bisa apa-apa
Tapi jangan malu untuk belajar
Umur bukan jadi ukuran.............
vii
Teriring Rasa Syukur kepadaNya Semoga Skripsi ini Bermanfaat untuk Kesuksesan Dunia dan Akhirat
Skripsi ini kupersembahkan kepada:
Kedua orang tuaku tercinta; Misdi dan Mariyah yang selalu mendidik, mendoakan dan menyayangiku… semoga Allah selalu memberikan kesehatan,
kebahagiaan dunia-akhirat dan umur panjang…Amin
Saudara-saudaraku; Mas Aji, Mas Jito, Mas Nono dan Adikku tercinta Diah Rif’atul Husna yang selalu memberiku bantuan dan motivasi…
Dosen2 Teknik Informatika yang terhormat; P.Syahid, P.Hartono, Bu.Ririn, P.yakin, Bu.roro, Cak Gun Semoga Allah membalas kebaikan Mereka…Amin
Para Dosen dan Guru-guruku terhormat yang telah menyalurkan ilmunya
kepadaku dengan penuh sabar dan semangat …
Teman-temanku seperjuangan; S’tol, C4tur, Danbul, Puma, Kronos, Giwar, Blacky, Gug dan kru badoger footsal club dan lain-lain…
viii
KATA PENGANTAR
Assalamualaikum Wr. Wb.
Puji syukur alhamdulillah penulis panjatkan kehadirat Allah SWT. atas
segala rahmat, taufiq serta hidayah-Nya yang telah diberikan kepada penulis,
sehingga penulis dapat menyelesaikan skripsi ini dengan judul “RANCANG
BANGUN SISTEM INFORMASI SEKOLAH VIA SMS GATEWAY
BERBASIS CMS”.
Shalawat serta salam tetap terlimpahkan kepada junjungan kita Nabi Besar
Muhammad SAW., yang telah membimbing ummatnya ke jalan yang diridloi
Allah SWT. yakni Diinul Islam.
Penulis menyadari bahwa baik dalam perjalanan studi maupun dalam
penyelesaian skripsi ini, penulis banyak memperoleh bimbingan dan motivasi dari
berbagai pihak, oleh karena itu pada kesempatan ini penulis menyampaikan
terimakasih yang sedalam-dalamnya kepada:
1. Prof. Dr. H. Imam suprayogo, selaku Rektor Universitas Islam Negeri
(UIN) Malang, dan para pembantu Rektor, atas segala motivasi dan
layanan fasilitas yang telah diberikan selama penulis menempuh studi.
2. Prof. Drs. Sutiman Bambang Sumitro, SU, Dsc. selaku Dekan Fakultas
Sains dan Teknologi Universitas Islam Negeri (UIN) Malang.
3. Bapak Suhartono, M.Kom Selaku Ketua Jurusan Teknik Informatika
Fakultas Sains Dan Teknologi Universitas Islam Negeri (UIN) Malang.
ix
4. Bapak Syahiduz Zaman, M.Kom, selaku dosen pembimbing dalam
pengerjaan tugas akhir ini yang telah memberikan kritik, saran,
kemudahan dan kepercayaan dalam dalam pengerjaan tugas akhir ini.
5. Achmad Nashichuddin, M.A, yang telah bersedia meluangkan waktunya
untuk memberikan bimbingan dan pengarahan selama penulisan skripsi di
bidang integrasi Sains dan Al-Qur’an.
6. Segenap dosen pengajar UIN Malang atas ilmu yang telah diberikan
kepada penulis.
7. Bapak Ibuku tercinta yang selalu memberikan do’a, materi dan semangat
yang sangat saya butuhkan serta Kakak-kakaku.
8. Temen-temenku semua kru krontrakan Teknik Informatika dan adikku
tercinta yang selalu menemaniku dan memberi support untuk
menyelesaikan tugas akahir ini.
9. Badhogger Fans Club thank’s for you’r time.
10. Dan semua pihak yang tidak dapat saya sebutkan satu-persatu terimakasih
banyak.
Penulis menyadari bahwa Tugas Akhir ini masih jauh dari sempurna, oleh
karena itu kritik dan saran yang sifatnya membangun sangat diperlukan untuk
memperbaiki mutu penulisan selanjutnya.
Wassalamu’alaikum Wr. Wb.
Malang, 27 Juli 2008
Penulis
xix
ABSTRAK
Suryani. 2008. Rancang Bangun Sistem Informasi Sekolah Via SMS Gateway
Berbasis CMS. Skripsi. Jurusan Teknik Informatika. Fakultas Sains dan
Teknologi. Universitas Islam Negeri (UIN) Malang.
Pembimbing: (1) Syahiduz Zaman, M. Kom (2) A. Nasichuddin, M.A.
Kata kunci : CMS , SMS, Informasi Sistem, Sekolah
Sistem informasi sekolah via sms gateway berbasis cms (content management
system) adalah suatu website yang menampilkan informasi sekolah yang dapat
diakses via ponsel, dengan format SMS yang telah ditentukan. Jadi siswa dapat
mengakses informasi dari sekolah tanpa harus datang langsung ke sekolah atau ke
warnet. Perkembanagan teknologi ini hadir untuk memberikan kemudahan-
kemudahan terhadap suatu masalah yang dihadapi oleh masyarakat. Kemudahan yang
didapatkan dari teknologi ini merupakan aplikasi firman Allah SWT (QS. Alam
Nasyrah, 94: 5-7).
Pada tulisan ini, tujuannya adalah membuat suatu konsep sistem informasi
sekolah via SMS gateway berbasis cms yang dapat memudahkan siswa dalam
mengakses informasi dari sekolah. Sistem informasi sekolah ini terdiri dari beberapa
konsep jenis layanan yaitu : jadwal sekolah, nilai siswa, SPP, jadwal ujian,
pengumuman serta layanan saran dan masukan untuk peningkatan layanan informasi
dari sekolah.
Hasil dari konsep layanan ini, siswa dapat mengakses informasi dari sekolah
tanpa harus datang langsung kesekolah, cukup hanya mengirimkan SMS ke layanan
informasi ini dengan format SMS yang telah ditentukan, maka secara otomatis akan
direspon langsung oleh sistem informasi sekolah. Prosedurnya sama seperti dengan
mengirimkan SMS biasa, tetapi format SMSnya yang ditentukan oleh sistem. Jadi
siswa dapat mengakses informasi dari sekolah kapan saja dan dimana saja.
x
DAFTAR ISI
HALAMAN JUDUL ..................................................................................... i
HALAMAN PENGAJUAN .......................................................................... ii
HALAMAN PERSETUJUAN ..................................................................... iii
HALAMAN PENGESAHAN ....................................................................... iv
LEMBAR PERNYATAAN .......................................................................... v
MOTTO ......................................................................................................... vi
HALAMAN PERSEMBAHAN ................................................................... vii
KATA PENGANTAR ................................................................................... viii
DAFTAR ISI .................................................................................................. x
DAFTAR TABEL ......................................................................................... xiv
DAFTAR GAMBAR ..................................................................................... xv
ABSTRAK ..................................................................................................... xix
BAB I PENDAHULUAN
1.1. Latar Belakang ............................................................................ 1
1.2. Rumusan Masalah ....................................................................... 3
1.3. Batasan Masalah .......................................................................... 3
1.4. Tujuan dan Manfaat Penelitian ................................................... 4
1.5. Metode Penelitian ........................................................................ 5
1.6. Sistematika Penulisan .................................................................. 7
xi
BAB II TINJAUAN PUSTAKA
2.1. CMS ............................................................................................. 8
2.2. Sistem Informasi .......................................................................... 13
2.3. SMS .............................................................................................. 16
2.4. Elemen Pendukung SMS .............................................................. 17
2.5. Short Messaging Entitas ................................................................ 19
2.6. Short Message Service Center ..................................................... 20
2.7. SMS-Gateway dan SMS-Interworking Mobile
Switching Center .......................................................................... 20
2.8. PHP (Hypertext Prepocessor) ...................................................... 21
2.9. MySQL ......................................................................................... 21
2.10. Ponsel GSM ............................................................................... 32
2.9. Ponsel CDMA .............................................................................. 33
2.10. Gammu ....................................................................................... 34
2.11. OLE Automation ........................................................................ 35
2.12. Structure Query Language ......................................................... 37
2.13. Server Side dan Client Side ........................................................ 41
BAB III ANALISIS DAN PERANCANGAN
3.1.Analisis Kebutuhan (Requirement Analysis) ................................ 43
3.1.1.Use Case Diagram ................................................................ 43
3.1.2. Penjelasan Setiap Aktor ...................................................... 44
3.1.3. Penjelasan Setiap Use Case Diagram .................................. 45
xii
3.1.4. Penjelasan Setiap Use Case ................................................ 47
3.1.5. Activity Diagram ................................................................. 50
3.2.Perancangan Basis Data ................................................................ 73
3.3. Analisis Domain ........................................................................... 77
3.3.1.Class Diagram ...................................................................... 77
3.3.2. Squence Diagram ................................................................ 79
3.4. Perancangan Format SMS ............................................................ 87
3.5. Desain Tampilan .......................................................................... 87
BAB IV PENGUJIAN DAN ANALISIS HASIL
4.1. Peralatan yang Digunakan ............................................................ 95
4.1.1. Perangkat Keras ................................................................ 95
4.1.2. Perangkat Lunak ............................................................... 96
4.1.3. Konfigurasi Perangkat Keras ............................................ 96
4.2. Modul-Modul yang Digunakan .................................................... 97
4.3. Prosedur Pengujian ...................................................................... 105
4.4. Hasil Pengujian dan Pembahasn .................................................. 106
4.4.1. Instalasi Web Server, PHP, MySQL .......................... 106
4.4.2. Instalasi Gammu ........................................................ 106
4.4.3. Pengecekan Hubungan Telpon Genggam Dengan
Gammu ...................................................................... 106
4.4.4. Pengujian Pengiriman SMS Melalui Browser .......... 107
xiii
4.4.5. Pengujian Melihat Daftar SMS Masuk .................... 109
4.4.6. Pengujian Pengiriman Perintah-perintah Melalui
SMS dan Respon Balikan dari SMS gateway .......... 109
BAB V PENUTUP
1.1.Kesimpulan ................................................................................... 119
1.2. Saran ............................................................................................. 119
DAFTAR PUSTAKA
Lampiran A-1, Format SMS
xiv
DAFTAR TABEL
Tabel.1 Tabel siswa ......................................................................................... 74
Tabel.2 Tabel Guru ......................................................................................... 75
Tabel.3 Tabel Nilai .......................................................................................... 75
Tabel.4 Tabel Jadwal ...................................................................................... 75
Tabel.5 Tabel SPP ........................................................................................... 76
Tabel.6 Tabel Absen ....................................................................................... 76
Tabel.7 Tabel User .......................................................................................... 76
Tabel.8 Tabel Pengumuman ............................................................................ 77
Tabel.9 Tabel Berita ........................................................................................ 77
xv
DAFTAR GAMBAR
Gambar 1.1 Skema Sistem .............................................................................. 5
Gambar 2.1 Arsitektur CMS ........................................................................... 10
Gambar 2.2 Elemen jaringan pendukung SMS ............................................... 17
Gambar 2.3 Penggunaan Trigger .................................................................... 24
Gambar 2.4 Ilustrasi timing pada Trigger ....................................................... 26
Gambar 2.5 Perintah AT Commands untuk GSM .......................................... 33
Gambar 2.6 Tahapan proses sebuah query ...................................................... 38
Gambar 3.1 Global Use Case Sistem Informasi Sekolah ............................... 43
Gambar 3.2 Detail Use Case Sistem Informasi Sekolah ................................ 46
Gambar 3.3 Activity diagram login ................................................................. 51
Gambar 3.4 Activity diagram maintain module .............................................. 52
Gambar 3.5 Activity diagram maintain module user ...................................... 53
Gambar 3.6 Activity Diagram Maintain Module Inbox .................................. 54
Gambar 3.7 Activity Diagram Maintain Module Outbox ................................ 55
Gambar 3.8 Activity Diagram Maintain Module Sent Items ........................... 56
Gambar 3.9 Activity Diagram Maintain Module Nilai ................................... 57
Gambar 3.10 Activity Diagram Maintain Module Jadwal .............................. 58
Gambar 3.11 Activity Diagram Maintain Module SPP ................................... 59
Gambar 3.12 Activity Diagram Maintain Module Absen ............................... 60
Gambar 3.13 Activity Diagram Maintain Module Phone Book ..................... 61
xvi
Gambar 3.14 Activity Diagram Maintain Module Guru ................................ 62
Gambar 3.15 Activity Diagram Registrasi Siswa ........................................... 63
Gambar 3.16 Activity Diagram Lihat Jadwal Sekoah Siswa .......................... 65
Gambar 3.17 Activity Diagram Izin Siswa ..................................................... 67
Gambar 3.18 Activity Diagram Lihat Absensi Siswa .................................... 68
Gambar 3.19 Activity Diagram Lihat Nilai Siswa ......................................... 69
Gambar 3.20 Activity Diagram Lihat SPP Siwa ............................................. 71
Gambar 3.21 Activity Diagram Lihat Pengajar .............................................. 72
Gambar 3.22 Basis Data Sistem Informasi Sekolah ....................................... 73
Gambar 3.23 Relasi Basis Data ....................................................................... 74
Gambar 3.24 Class Diagram Sistem Informasi Sekolah ................................ 78
Gambar 3.25 Squence Diagram Lihat Data Absensi ...................................... 79
Gambar 3.26 Squence Diagram Lihat Jadwal ................................................. 80
Gambar 3.27 Squence Diagram Lihat Nilai .................................................... 81
Gambar 3.28 Squence Diagram Lihat SPP ..................................................... 81
Gambar 3.29 Squence Diagram Lihat Data Guru ........................................... 82
Gambar 3.30 Squence Diagram Lihat Informasi Sekolah .............................. 83
Gambar 3.31 Squence Diagram Maintain Module ......................................... 84
Gambar 3.32 Squence Diagram Maintain Module Absen .............................. 85
Gambar 3.33 Squence Diagram Maintain Module Guru ................................ 86
Gambar 3.34 Login Administrator .................................................................. 88
Gambar 3.35 Halaman Utama Administrator ................................................. 88
Gambar 3.36 Maintain Module ....................................................................... 89
xvii
Gambar 3.37 Halaman Tambah Modul ........................................................... 90
Gambar 3.38 Halaman Edit Modul ................................................................. 90
Gambar 3.39 Halaman Kirim Pesan ................................................................ 91
Gambar 3.40 Halaman SPP ............................................................................. 91
Gambar 3.41 Halaman Nilai ........................................................................... 92
Gambar 3.42 Halaman Inbox .......................................................................... 93
Gambar 3.43 Halaman Sent Items ................................................................... 93
Gambar 3.44 Halaman Phone Book ................................................................ 94
Gambar 4.1 Konfigurasi Perangkat Keras ...................................................... 96
Gambar 4.2 Perintah Pengecekan Hubungan Telpon Genggam Dengan
Gammu ............................................................................................................ 107
Gambar 4.3 Hasil Perintah Pengecekan Hubungan Telpon Genggam
Dengan Gammu .............................................................................................. 107
Gambar 4.4 Pengiriman SMS ......................................................................... 108
Gambar 4.5 Hasil Pengiriman SMS ................................................................ 108
Gambar 4.6 SMS Masuk ................................................................................. 109
Gambar 4.7 Perintah SMS Untuk Lihat Nilai ................................................. 110
Gambar 4.8 Respon Balikan SMS Untuk Lihat Nilai ..................................... 110
Gambar 4.9 Perintah Untuk Mengetahui Nilai UAN ...................................... 110
Gambar 4.10 Respon Balikan SMS Untuk Mengetahui Nilai UAN ............... 111
Gambar 4.11 Perintah Untuk Mengetahui Pengajar ....................................... 111
Gambar 4.12 Respon Balikan SMS Untuk Mengetahui Pengajar .................. 111
Gambar 4.13 Perintah Untuk Mengetahui Jadwal UAS ................................. 112
xviii
Gambar 4.14 Respon Balikan SMS Untuk Mengetahui Jadwal UAS ............ 112
Gambar 4.15 Perintah Untuk Mengetahui Jadwal Harian .............................. 112
Gambar 4.16 Respon Balikan Untuk Mengetahui Jadwal Harian .................. 113
Gambar 4.17 Perintah Untuk Mengetahui Kegiatan Ekstrakurikuler ............. 113
Gambar 4.18 Respon Balikan Untuk Mengetahui Kegiatan
Ekstrakurikuler ................................................................................................ 113
Gambar 4.19 Perintah Untuk Mengetahui Pembayaran SPP .......................... 114
Gambar 4.20 Respon Balikan Untuk Mengetahui Pembayaran SPP .............. 114
Gambar 4.21 Perintah Untuk Mengetahui Jumlah Absensi tiap
Semester .......................................................................................................... 115
Gambar 4.22 Respon Balikan Untuk Mengetahui Jumlah Absensi Tiap Semester
110
Gambar 4.23 Perintah Untuk Mengetahui Absensi Harian Siswa .................. 115
Gambar 4.24 Respon Balikan Untuk Mengetahui Absensi Harian
Siswa ............................................................................................................... 115
Gambar 4.25 Perintah Untuk Melakukan Izin ................................................ 116
Gambar 4.26 Respon Balikan Izin Guru ......................................................... 116
Gambar 4.27 Perintah Untuk Mengetahui Wali Kelas Siswa ......................... 116
Gambar 4.28 Respon Balikan Untuk Mengetahui Wali Kelas ....................... 117
Gambar 4.29 Perintah Untuk Mengetahui Jadwal UAN ................................. 117
Gambar 4.30 Respon Balikan Untuk Mengetahui Jadwal UAN ..................... 117
Gambar 4.31 Perintah Untuk Mengetahui Nilai PSB ..................................... 118
Gambar 4.32 Respon Balikan Untuk Mengetahui Nilai PSB ......................... 118
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Sejak manusia mengenal dan memahami lingkungannya manusia mulai
belajar dan menciptakan teknologi untuk lebih meningkatkan kualitas kerjanya
misalnya panah, tombak dan kampak yang digunakan sebagai alat bantu pada
masa berburu. Teknologi-teknologi tersebut diciptakan sebagai alat bantu yang
dapat mempercepat kerja dan meningkatkan hasil. Dalam bidang komunikasi,
perkembangan peradapan dimulai dari penggunaan peralatan seadanya seperti
kentongan, api unggun dan merpati pos, radio, telepon, dan samapai ponsel
dewasa ini. Kemudahan yang didapatkan dari teknologi ini merupakan aplikasi
firman Allah SWT (QS. Alam Nasyrah, 94: 5-7) yaitu :
5. Karena Sesungguhnya sesudah kesulitan itu ada kemudahan,
6. Sesungguhnya sesudah kesulitan itu ada kemudahan.
2
7. Maka apabila kamu telah selesai (dari sesuatu urusan), kerjakanlah
dengan sungguh-sungguh (urusan) yang lain1,
Dari ayat di atas bahwasannya Allah SWT memberikan kemudahan
setelah adanya kesulitan. Itu semua sesuai dengan perubahan cara berkomunikasi
umat manusia pada saat ini. Pada zaman dulu manusia menggunakan alat-alat
tradisional seperti kentongan untuk berkomunikasi tapi sekarang cukup
menggunakan posel atau internet sebagai alat komunikasi dan mendapatkan
informasi http://www.motivasi-islami.com.
Ponsel yang pada umumnya digunakan oleh banyak orang telah dilengkapi
dengan aplikasi untuk pengiriman pesan. Aplikasi tersebut berkembang secara
pesat dalam beberapa tahun terakhir. Mulai dari Short Message Service (SMS),
kemudian Enhanced Message Service (EMS) dan Multimedia Message Service
(MMS).
SMS pada awalnya didesain untuk pertukaran message yang berukuran
kecil, terutama digunakan untuk keperluan notifikasi dan paging baik huruf
maupun angka. Aplikasi ini hanya terbatas pada pengiriman dan penerimaan data
berupa teks dengan panjang pesan antara 120-160 karakter bahkan ada yang
sampai 765 karakter. Akan tetapi, dengan perkembangan pesat SMS, kemudian
bermunculan berbagai jenis aplikasi yang memanfaatkan fasilitas SMS.
1 sebagian ahli tafsir menafsirkan apabila kamu (Muhammad) telah selesai berdakwah Maka
beribadatlah kepada Allah; apabila kamu telah selesai mengerjakan urusan dunia Maka
kerjakanlah urusan akhirat, dan ada lagi yang mengatakan: apabila telah selesai mengerjakan
shalat berdoalah.
3
Layanan SMS merupakan sebuah layanan yang bersifat nonreal time yaitu
sebuah short message dapat di-submit ke suatu tujuan, tidak peduli apakah tujuan
tersebut aktif atau tidak. Bila dideteksi bahwa tujuan tidak aktif, maka sistem akan
menunda pengiriman ke tujuan hingga tujuan aktif kembali. Pada dasarnya sistem
SMS akan menjamin delivery dari suatu short message hingga sampai ke tujuan.
Kegagalan pengiriman yang bersifat sem*ntara seperti tujuan tidak aktif akan
selalu teridentifikasi sehingga pengiriman ulang short message akan selalu
dilakukan kecuali bila diberlakukan aturan bahwa short message yang telah
melampaui batas waktu tertentu harus dihapus dan dinyatakan gagal terkirim
(Oetomo, 2003:34).
Sistem informasi sekolah via sms gateway berbasis cms (content
management system) adalah suatu website yang menampilkan informasi sekolah
yang dapat diakses via ponsel, dengan format SMS yang telah ditentukan. Dengan
konsep sistem ini, siswa dapat mengakses informasi dari sekolah tanpa harus
datang langsung ke sekolah atau ke warnet.
1.2 Rumusan Masalah
Permasalahan yang dihadapi dalam tugas akhir ini adalah ”Bagaimana
membangun Sistem Informasi Sekolah Via SMS Gateway Berbasis CMS?”
1.3 Batasan Masalah
Batasan masalah pada penelitian ini adalah
1. Sistem informasi ini dibuat hanya pada sekolah menengah atas
sederajat
4
2. Database yang digunakan hanya pada satu sekolah menegah atas
sederajat saja.
3. Aplikasi sistem informasi ini dikembangkan di atas lingkungan sistem
operasi Windows dengan dukungan perangkat-perangkat lunak
freeware dan open source.
4. Data nilai adalah nilai akhir siswa yang sudah diolah atau tetap.
5. Aplikasi sistem informasi sekolah ini hanya mengambil data SMS
masuk (inbox) yang ada di handphone.
1.4 Tujuan dan Manfaat Penelitian
A. Tujuan Penelitian
Tujuan penelitian ini adalah membangun sistem informasi sekolah via sms
gateway berbasis CMS.
B. Manfaat Penelitian
Dengan hasil konsep layanan ini, siswa dapat mengetahui informasi tentang
pendidikannya tanpa harus datang langsung kesekolah, cukup dengan
mengirimkan SMS ke layanan informasi ini, maka secara otomatis akan
direspon langsung oleh layanan sitem informasi sekolah via sms gateway
dengan menggunakan sarana layanan SMS. Prosedurnya sama seperti ketika
kita mengirimkan SMS dan dapat dilakukan kapan saja dan darimana saja.
5
1.5 Metode Penelitian
Metode yang digunakan pada penelitian ini adalah :
a. Studi pustaka
Mempelajari teori-teori yang menunjang dan mencari informasi yang
berhubungan dengan penelitian ini.
b. Perancangan sistem
Dalam sistem ini dibuat layanan informasi sekolah via SMS berbasis
CMS. Sehingga siswa bisa mendapatkan informasi seputar pendidikan
yang diinginkan dari sekolahannya.
Gambar 1.1 Skema Sistem
1. SMS dari pepengguna diterima oleh ponsel penerima atau pengirim
6
2. SMS dari pengguna yang ada dalam ponsel penerima atau
pengirim diambil oleh SMS Gateway.
3. SMS dari pengguna yang ada dalam SMS Gateway diambil oleh
program aplikasi sekolahan via SMS.
4. Program aplikasi database melakukan query berdasarkan isi SMS
dari pengguna.
5. Hasilnya kemudian diambil program aplikasi sekolah via SMS.
6. Hasil Query yang telah diproses oleh apliaksi sekolah dikirim ke
SMS Gateway.
7. SMS Gateway mengirimkan hasil query ke ponsel penerima atau
pengirim.
8. ponsel penerima atau pengirim mengirimkan SMS yang berisi
informasi sekolah ke ponsel pengguna.
9. ponsel pengguna menerima SMS yang berisi informasi pendidikan
yang diminta.
c. Pembuatan perangkat lunak
Dalam pembuatannya perangkat lunak ini menggunakan gammu, php dan
dikombinasikan dengan MySQL.
d. Pengujian dan analisis sistem
Menguji sistem/perangkat lunak yang telah dibuat apkah sesuai dengan
yang diharapkan.
e. Penyusunan laporan
Ini adalah langkah terakhir dalam penelitian ini.
7
1.6 Sistematika Penulisan
BAB I Pendahuluan
Bab ini berisi latar belakang, perumusan masalah, tujuan, batasan masalah
dan metodologi penelitian tugas akhir ini.
BAB II Dasar Teori
Bab ini menjelaskan konsep dan toeri dasar yang mendukung penulisan
tugas akhir ini seperti PHP,MySQL,gammu dan teknologi komunikasi.
BAB III Analisis dan Perancangan
Bab ini menjelaskan mengenai analisis dan perancangan Aplikasi Sistem
Informasi Sekolah Via SMS Gateway Berbasis CMS dan sistem secara
keseluruhan.
BAB IV Pengujian dan Analisis Hasil
Bab ini berisi pengujian dan analisis terhadap hasil pengujian dari aplikasi
yang telah dibangun.
BAB V Kesimpulan dan Saran
Bab ini berisi kesimpulan dan saran terhadap seluruh kegiatan tugas akhir
yang telah dilakukan.
8
BAB II
TINJAUAN PUSTAKA
2.1 CMS (Content Management System)
CMS (Content Management System) adalah suatu sistem yang digunakan
untuk mengelola dan memfasilitasi proses pembuatan, pembaharuan, dan
publikasi content secara bersama (colaboration content management). Content
mengacu pada informasi dalam bentuk teks, grafik, gambar, maupun dalam
format-format lain yang perlu dikelola dengan tujuan memudahkan pembuatan,
pembaharuan, distribusi, pencarian, analisis, dan meningkatkan fleksibilitas untuk
ditramformasikan dalam bentuk lain.
Semakin berkembangnya teknologi informasi dalam bidang komunikasi,
mempermudah umat manusia untuk saling berkomunikasi. Dalam Islam,
sesungguhnya sesudah kesulitan itu ada kemudahan. Kemudahan yang di
dapatkan dari teknologi ini merupakan aplikasi firman Allah SWT yaitu (QS.
Alam Nasyrah, 94: 5-6):
5. Karena Sesungguhnya sesudah kesulitan itu ada kemudahan,
9
6. Sesungguhnya sesudah kesulitan itu ada kemudahan.
Allah taala memberitahukan bahwa bersama kesulitan itu terdapat kemudahan.
Kemudian Dia mempertegas berita tersebut. Dengan demikian, dapat dikatakan
bahwa kesulitan itu dapat diketahui pada dua keadaan, dimana kalimatnya
terdapat bentuk mufrad (tunggal). Sedangkan kemudahan (al-yusr) dalam bentuk
nakirah (tidak ada ketentuannya) sehingga bilangannya bertambah banyak. Oleh
karena itu, beliau bersabda ”Satu kesulitan itu tidak akan mengalahkan dua
kemudahan.”(Ghoffar, 2006:498).
Terminologi CMS sendiri cukup luas, diantararanya mencakup software
aplikasi, database, arsip, workflow, dan alat bantu lain yang dapat dikelola sebagai
bagian dari mekanisme jaringan informasi suatu perusahaan maupun global.
[Teguh Widodo].
Jadi, Content Management System (CMS) adalah sebuah sistem yang
dapat membuat, mengatur, medestribusikan, mempublikasikan dan menjaga
informasi perusahaan atau institusi, dimana admin tidak harus mengetahui tag
HTML untuk menjalankanya. Secara umum, arsitektur CMS digambarkan seperti
gambar di bawah.
10
Gambar 2.1 Arsitektur CMS
Karena CMS memisahkan antara isi dan desain, konsistensi tampilan dapat
senantiasa dijaga dengan baik. Setiap bagian dari website dapat memiliki isi dan
tampilan yang berbeda-beda, tanpa harus khawatir kehilangan identitas dari
website secara keseluruhan. Oleh karena semua data disimpan dalam satu tempat,
pemanfaatan kembali dari informasi yang ada untuk berbagai keperluan dapat
dengan mudah dilakukan.
CMS juga memberikan kefleksibelan dalam mengatur alur kerja atau
„workflow‟ dan hak akses, sehingga memperbesar kesempatan berpartisipasi dari
pengguna dalam pengembangan website. Hal ini akan sangat menguntungkan bila
website yang dikelola memiliki kompleksitas yang tinggi dan mengalami
kemajuan yang cukup pesat.
11
2.1.1 Manfaat CMS
Selain dari beberapa hal yang telah disebutkan di atas, CMS juga dapat
memberikan sejumlah manfaat kepada penggunanya yang dapat dijabarkan
sebagai berikut:
• Manajemen data
• Mengatur siklus hidup website
• Mendukung web templating dan standarisasi
• Personalisasi website
2.1.2 Jenis-Jenis CMS
Saat ini terdapat dua jenis CMS dipasaran, CMS Komersial dan CMS Open
Source.
a. CMS Komersial
Dibuat dan dikembangkan oleh perusahaan-perusahaan software
yang menjalankan usahanya dengan motif mencari keuntungan. CMS jenis
ini memiliki dan menyediakan hampir semua feature yang diharapkan dari
sebuah CMS dan tentu saja tidak tersedia secara gratis. Setiap pengguna
yang ingin memanfaatkan CMS komersial untuk mengelola website-nya
haruslah membeli lisensi dari perusahaan pembuatnya.
Lisensi yang tersedia sangat bervariasi, mulai dari lisensi yang
berdasarkan kepada jumlah pengguna sampai kepada lisensi yang sifatnya
multiserver dan dari yang berharga ratusan dollar AS sampai kepada
jutaan dollar AS. Semua dapat disesuaikan dengan kebutuhan dan
12
implementasi yang diharapkan oleh pengguna. Sebagai layanan purna jual,
biasanya penyedia CMS akan memberikan pelatihan dan dukungan teknis
berkelanjutan kepada para penggunanya. Tidak hanya itu, versi terbaru
dari produk yang dipakai juga dapat diperoleh dengan leluasa, dengan cara
mengunjungi area anggota dari website penyedia CMS yang dimaksud.
b. CMS Open Source
Dibuat dan dikembangkan oleh sekelompok orang atau perusahaan
yang intinya memberikan sebuah alternatif murah dan terjangkau kepada
para pengguna. Tersedia secara gratis dan dapat dipergunakan sesuai
dengan kebutuhan tanpa ada batasan. CMS jenis ini juga memberikan
akses kepada penggunanya akan kode-kode pemograman, sehingga
memudahkan pengguna untuk memodifikasi CMS dimasa-masa yang akan
datang. Karena kode pemograman terbuka untuk umum, secara tidak
langsung para pengguna bahu-membahu dalam hal melacak dan
memperbaiki bugs yang ada, menambah dan meningkatkan fungsi dan
kemampuan CMS dan memberikan dukungan teknis dan non-teknis
kepada yang membutuhkan. Sehingga prinsip dari komunitas, oleh
komunitas dan untuk komunitas tidaklah terlalu berlebihan untuk
menggambarkan situasi pengembangan CMS Open Source ini. Walaupun
gratis, bukan berarti CMS Open Source tidak memerlukan lisensi dalam
pemakaiannya. Bedanya, lisensi di sini berbentuk sebuah pernyataan yang
biasanya menerangkan bahwasanya software CMS tersebut dapat
13
dimodifikasi dan dikembangkan lebih lanjut dengan syarat semua kredit
dihormati dan kode tetap terbuka untuk umum. Lalu, apakah seseorang
bisa memanfaatkan teknologi ini untuk keperluan komersial? Tentu saja
bisa. Asalkan tidak mengenakan biaya atas CMS yang dipakai kepada
klien, tapi lebih kepada biaya pembuatan dan perawatan website. Saat ini
sudah banyak pihak yang beralih ke CMS Open Source, setelah mengingat
dan menimbang kemampuan yang ditawarkan CMS Open Source tidak
berbeda jauh dengan CMS komersial dan biaya yang terjangkau
(Sitindoan, 2004:35-38).
2.2 Sistem Informasi
2.2.1 Sistem
Sistem berasal dari bahasa Latin (systēma) dan bahasa Yunani (sustēma)
adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan
bersama untuk memudahkan aliran informasi, materi atau energi.
“Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling
berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan
atau untuk menyelesaikan suatu sasaran yang tertentu.” (Jogianto,
1991:1)
Sistem terdiri dari sejumlah komponen yang saling berinteraksi dan bekerja
sama membentuk suatu kesatuan. Komponen-komponen sistem tersebut adalah:
1. Batasan Sistem adalah daerah yang membatasi antara suatu sistem dengan
yang lain atau dengan lingkungan luarnya.
14
2. Penghubung Sistem adalah media penghubung antara suatu sistem dengan
sistem lainnya yang dalam gambaran sistem ditunjukan dengan garis
panah.
3. Masukan Sistem (Input) adalah energi yang dimasukkan ke dalam sistem,
bisa berupa program, data lewat keyboard ataupun signal input.
4. Keluaran Sistem (Output) adalah hasil dari energi yang diolah dan
diklasifikasikan menjadi suatu keluaran berupa informasi atau data dan
sisa pembuangan seperti panas.
5. Pengolah Sistem adalah bagian dari sistem yang mengolah masukan
menjadi keluaran.
6. Sasaran sistem adalah tujuan (goal) atau sasaran (objective) dari sistem
tesebut.
Kualitas dari sistem tergantung dari tiga hal, yaitu :
1. Akurat yaitu informasi harus bebas dari kesalahan-kesalahan dan tidak
menyesatkan.
2. Tepat waktu yaitu informasi yang datang kepada penerima tidak boleh
terlambat.
3. Relevan yaitu informasi tersebut mempunyai manfaat untuk
pemakaiannya.
Elemen yang terdapat pada sistem ada 4 hal, yaitu:
Pada prinsipnya, setiap sistem selalu terdiri atas empat elemen:
15
1. Objek, yang dapat berupa bagian, elemen, ataupun variabel. Ia dapat benda
fisik, abstrak, ataupun keduanya sekaligus; tergantung kepada sifat sistem
tersebut.
2. Atribut, yang menentukan kualitas atau sifat kepemilikan sistem dan
objeknya.
3. Hubungan internal, di antara objek-objek di dalamnya.
4. Lingkungan, tempat di mana sistem berada.
Ada berbagai tipe sistem berdasarkan kategori:
1. Atas dasar keterbukaan:
o Sistem terbuka, dimana pihak luar dapat mempengaruhinya.
o Sistem tertutup.
2. Atas dasar komponen:
o Sistem fisik, dengan komponen materi dan energi.
o Sistem non-fisik atau konsep, berisikan ide-ide.
2.2.2 Informasi
Informasi adalah faktor terpenting dalam sistem untuk pengambilan suatu
keputusan. Definisi dari informasi adalah :
“Data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi
yang menerimanya.” (Jogianto, 1991: 6)
Data itu sendiri adalah fakta atau apapun yang dapat digunakan sebagai input
untuk menghasilkan informasi. Informasi merupakan hasil pengolahan dari sebuah
model, formasi, organisasi, ataupun suatu perubahan bentuk dari data yang
16
memiliki nilai tertentu, dan bisa digunakan untuk menambah pengetahuan bagi
yang menerimanya.
2.3 SMS
Pesan SMS merupakan ditetapkan oleh ETSI (European
Telecommunication Standards Institute) sebagai dokumen pada GSM 03.40 dan
GSM 03.38 yang bisa berisi text sampai di atas 160 karakter (standar karakter
umumnya 160) dimana masing-masing karakter dihitung dengan nilai 7 bit.
Selain yang 7-bit, ada juga pesan SMS dengan nilai 8-bit tetapi karakter
dibataskan pada 140 dan digunakan untuk gambar dan ringtone. Pesan SMS 16-bit
memiliki maksimal karakter sejumlah 70 yang digunakan untuk 'Flash SMS'
(Oetomo, 2003:47).
PDU (Protocol Description Unit) Format
Ada 2 cara untuk mengirim dan menerima pesan SMS, yaitu Text mode
dan PDU mode. Menerima pesan dalam bentuk mode PDU berisi PDU
string yang tidak hanya berisi pesan saja tetapi juga berisi mengenai
pengirim pesan seperti SMS Service Centre, waktu penerimaan pesan, dan
lain sebagainya.
AT Commands
Merupakan media komunikasi antara handphone dan komputer untuk
menulis, mengirim, dan membaca SMS, maupun menjadikan handphone
sebagai modem untuk hubungan koneksi ke HSCD atau GPRS. Antara
handphone dan komputer diperlukan kabel data. Memulai AT Commands,
dapat melalui program khusus atau menggunakan program HyperTerminal
17
yang sudah built-in pada Microsoft Windows. Dan jangan lupa handphone
telah tersambung dengan kabel data yang terhubung ke computer AT
Commands diawali dengan AT dan maksimal terdiri dari 140 karakter.
2.4 Elemen Pendukung SMS.
Untuk implementasi layanan SMS, operator menyediakan apa yang
disebut dengan SMS Center (SMSC). Secara fisik SMSC dapat berwujud sebuah
PC biasa yang mempunyai interkoneksi dengan jaringan GSM. SMSC secara
optional dapat pula terkoneksi dengan jaringan X.25 atau TCP/IP, sehingga bisa
dibangun berbagai aplikasi internet yang mempunyai hubungan dengan jaringan
GSM, sebagi contoh email-to-SMS, SMS calender reminder, dan sebgainya.
Arsitektur dasar jaringan dapat dilihat pada gambar 2.1. Dari gambar arsitektur
dasar SMS, disebelah kiri dapat dilihat SMSC memiliki interkonektivitas dengan
SME, (Short messaging entity) yang dapat berupa jaringan e-mail, Web, dan voice
e-mail. SMSSC inilah yang akan melakukan manajemen pesan SMS, baik untuk
pengiriman, pengaturan antrian SMS, atau penerimaan SMS (Oetomo, 2003:41).
SME
SC MSC
VLRHLR
SMS - GMSC
SMS - IWMSC
SME
SME
SME
BTS
BSC BSC
Gambar 2.2 Elemen jaringan pendukung SMS
18
Subsistem yang mutlak ada pada layanan SMS adalah:
SME(Short Message Entity), merupakan tempat penyimpanan dan
pengiriman message yang akan dikirimkan ke MS tertentu.
SC(Service Centre), bertugas untuk menerima message dari SME
dan melakukan forwarding ke alamat MS yang dituju.
SMS-GMSC (Short Message Service – Gateway Mobile Switcing
Center ), melakukan penerimaan message dari SC dan memeriksa
parameter yang ada. Selain itu GMSC juga mencari alamat MS
yang dituju dangan bantuan HLR, dan mengirimkannya kembali ke
MSC yang dimaksud.
SMS – IWMSC (Short Message Service – Interworking MSC ),
berperan dalam SMSMessage Origiating, yaitu menerima pesan
dari MSC
HLR (Home Location Register) merupakan sebuah database yang
digunakan sebagai tempat penyimpanan permanen data. Bila
diminta oleh SMSC, maka HLR dapat memberikan informasi
status tujuan apakah aktif atau tidak.
VLR (Visitor Location Register) merupakan sebuah database
tempat menyimpa informasi sem*ntara berisi data pelanggan dari
sebuah HLR yang sedang roaming pada HLR lain.
MSC (Mobile Switcing Center ) merupakan sebuah sistem yang
melakukan fungsi switching dan mengontrol panggilan telepon
dalam sebuah jaringan komunikasi bergerak.
19
Base Station System merupakan kesatuan system yang bertanggung
jawab mengatur transmisi sinyal elektronik untuk membawa data
dari MSC ke perangkat telepon bergerak. Base Station terdiri dari
BSC (Base Station Controller) dan BTS (Base Tranceiver Station).
2.5 Short Messaging Entitas
Short messaging entity (SME) adalah suatu piranti yang dapat menerima
atau mengirim pesan pendek. SME dapat berada dalam jaringan fixed, sebuah
piranti bergerak, atau pusat layanan (service center) lainnya seperti :
VMS
VMS bertanggung jawab untuk menerima, menyimpan, dan
memainkan pesan suara yang dimaksudkan untuk pelanggan yang
sibuk atau tidak dapat melakukan panggilan suara (voice call). Ia juga
bertanggung jawab mengirimkan notifikasi surat suara (voice-mail)
untuk para pelanggan kepada SMSC.
Web
Pertumbuhan Internet juga telah mempengaruhi dunia SMS. Oleh
karenanya sudah merupakan keharusan untuk mendukung interkoneksi
ke World Wide Web guna mengirimkan pesan dan notifikasi.
Peningkatan jumlah penguna Internet berdampak positif pada
peningkatan traffic SMS pada beberapa tahun terakhir ini.
20
Aplikasi SMS yang paling diminati adalah kemampuan untuk
mengirimkan notifikasi e-mail dan mendukung e-mail dua arah,
menggunakan terminal yang SMS-compliant. SMSC harus mendukung
interkoneksi ke server e-mail yang bertindak seperti mekanisme
masukan atau keluaran pesan (Oetomo, 2003: 42).
2.6 Short Message Service Center
Short Message Service Center (SMSC) adalah kombinasi perangkat keras
dan perangkat lunak yang bertanggung jawab memperkuat, menyimpan dan
meneruskan pesan pendek antara SME dan piranti bergerak. SMSC harus
memiliki kehandalan, kapasitas pelanggan, dan throughtput pesan yang tinggi.
Selain itu, SMSC juga harus dapat diskalakan dengan mudah untuk
mengakomodasi peningkatan permintaan SMS dalam jaringan yang ada (Oetomo,
2003:43).
2.7 SMS-Gateway dan SMS-Interworking Mobile Switching Center
SMS gateway Mobile Switching Center (SMS-GMSC) adalahg sebuah
aplikasi MSC yang mampu menerima pesan singkat dari SMSC, menginterogasi
home location register (HLR) untuk informasi routing, dan mengirimkan pesan
pendek tersebut ke MSC dari piranti bergerak yang dituju. SMS interworking
Mobile Switching Center (SMS-IWMSC) adalah aplikasi MSC yang mampu
menerima pesan pendek dari jaringan bergerak dan mengirimkannya ke SMSC
yang tepat. SMS-GMSC/SMS-IWMSC biasanya terintegrasi dengan SMSC
(Oetomo, 2003:43).
21
2.8 PHP (Hypertext Prepocessor)
PHP singkatan dari “Hypertext Prepocessor”. PHP digunakan sebagai
bahasa scripting yang berjalan pada sebuah web server. Script PHP tersebut
dimasukkan ke dalam dokumen HTML untuk diproses web server ketika ada
request dari user. PHP juga didesain untuk dapat bekerja dengan kebanyakan SQL
server termasuk open source SQL server, seperti MySQL. PHP pada awalnya
bernama PHP/FI, yakni singkatan dari Personal Home Page/Form
Interface.Diciptakan pertama kali oleh Rasmus Lerdoff pada tahun 1994. Semula
PHP diciptakan untuk menyimpan data dari orang-orang yang telah berkunjung ke
sebuah website, serta untuk mengetahui berapa jumlah orang yang telah
berkunjung kewebsite tersebut. Namun, karena software ini disebarluaskan
sebagai software opensource sehingga dalam pertumbuhannya banyak sekali
mendapatkan kontribusi atau masukan dari pengguna.
Pada dasarnya PHP dapat mengerjakan semua yang dapat dikerjakan oleh
program CGI (Common Gateway Interface), seperti menyimpan data yang
diinputkan melalui sebuah form dalam website, menampilkan isi website yang
dinamis, serta menerima cookies. Selain itu, kemampuan PHP yang paling
menonjol adalah dukungan kebanyak database. Adapun daftar database yang
dapat diakases melalui script PHP, antara lain : dBase,DBM, FilePro, mSQL,
MySQL, ODBC, Oracle, Postgres, Sybase, Velocis (Musyawarah, 2005:72).
2.9 MySQL
MySQL merupakan software sistem manajemen database Database
Management System (DBMS) yang sangat populer dikalangan pemrogaman web,
22
terutama dilingkungan Linux dengan script PHP dan perl. Software database ini
kini telah tersedia juga dalam platform sistem operasi windows. MySQL
merupakan database yang paling populer digunakan untuk membangun aplikasi
web yang menggunakan database sebagai sumber dan pengelola datanya.MySQL
merupakan database yang digunakan oleh situs-situs terkemuka di Internet untuk
menyimpan datanya.
Kepopuleran MySQL dimungkinkan karena kemudahannya untuk
digunakan, cepat secara kinerja query, dan mencukupi untuk kebutuhan database
perusahaan-perusahaan skala menengah kecil. MySQL merupakan database yang
digunakan situs-situs terkemuka di Internet untuk menyimpan datanya. Software
database MySQL kini dilepas sebagai software manajemen database yang open
source, sebelumnya merupakan merupakan database yang shareware. Shareware
adalah suatu soft ware yang dapat didistribusikan secara bebas untuk keperluan
penggunaan secara pribadi, tetapi jika digunakan secara komersial maka pemakai
harus mempunyai lisensi dari pembuatnya. Software open source menjadikan
software dapat didistribusikan secara bebas dan dapat dipergunakan untuk
keperluan pribadi atau pun komersial, termasuk didalamnya sourcode dari
software tersebut. Database MySQL tersedia secara bebas dan cuma-cuma dan
boleh digunakan oleh setiap orang, dengan lisensi open source GNU General
Public License (GPL) ataupun lisensi komersial non GPL. Saat ini diperkirakan
lebih dari 3 juta pemakai di seluruh dunia, dengan lebih dari setengah juta server
yang memasangnya, termasuk di dalamnya Yahoo!, MP3.com, Motorola, NASA,
Silicon Graphics, HP, Xerox, Cisco, dan Texas Instruments (Sidik, 2005:1).
23
2.9.1 Trigger
Trigger adalah blok PL/SQL atau prosedur yang berhubungan dengan
table, view, skema atau database yang dijalankan secara implicit pada saat terjadi
sebuah event.
Tipe dari trigger adalah :
Application trigger : diaktifkan pada saat terjadi event yang berhubungan
dengansebuah aplikasi
Database trigger : diaktifkan pada saat terjadi event yang berhubungan
dengan data (seperti operasi DML) atau event yang berhubungan dengan
sistem (semisal logon atau shutdown) yang terjadi pada sebuah skema atau
database.
2.9.2 Penggunaan Trigger
Trigger dibuat sesuai dengan keperluan. Ada kalanya trigger perlu dibuat,
dan kadangkala tidak perlu dibuat.
Trigger perlu dibuat pada saat :
membentuk sebuah aksi tertentu terhadap suatu event
Memusatkan operasi global
Trigger tidak perlu dibuat, jika :
Fungsionalitas yang diperlukan suatu ada pada Oracle server
Duplikat atau sama dengan fungsi trigger yang lain.
Prosedur bisa dibuat dalam database, kemudian prosedur tersebut dipanggil pada
trigger. Jika penggunaan trigger terlalu berlebihan, maka akan menyebabkan
24
terjadi sifat ketidaktergantungan yang terlalu kompleks sehingga akan
mempersulit pemeliharaan dari aplikasi yang besar.
Gambar berikut ini menunjukkan ilustrasi dari penggunaan trigger :
Gambar 2.3 Penggunaan Trigger
Pada gambar tersebut, database trigger CHECK_SAL memeriksa nilai gaji pada saat
suatu aplikasi mencoba untuk memasukkan baris baru ke dalam table
EMPLOYEES. Nilai yang terletak pada jangkauan diluar kategori pekerjaan akan
diabaikan.
Sintak penulisan dari database trigger, berisi komponen berikut :
1. Trigger timing :
Untuk tabel : BEFORE, AFTER
Untuk view : INSTEAD OF
2. Trigger event : INSERT, UPDATE atau DELETE
3. Nama tabel : yaitu nama tabel atau view yang berhubungan dengan trigger
4. Tipe trigger : Baris atau Pernyataan (statement)
25
5. klausa WHEN : untuk kondisi pembatasan
6. trigger body : bagian prosedur yang dituliskan pada trigger
2.9.3 Komponen Trigger
Komponen dari sebuah trigger ada 6 (enam), yaitu : trigger timing, trigger
event, nama tabel, tipe trigger, klausa WHEN, dan trigger body. Berikut ini
penjelasan komponen dari trigger. Trigger timing adalah waktu kapan trigger
diaktifkan. Ada tiga macam trigger
timing, yaitu :
BEFORE : trigger dijalankan sebelum DML event pada tabel
AFTER : trigger dijalankan setelah DML event pada tabel
INSTEAD OF : trigger dijalankan pada sebuah view.
Trigger event ada 3 kemungkinan : INSERT, UPDATE atau DELETE. Pada saat
trigger event UPDATE, kita dapat memasukkan daftar kolom untuk
mengidentifikasi kolom mana yang berubah untuk mengaktifkan sebuah trigger
(contoh: UPDATE OF salary ... ). Jika tidak ditentukan, maka perubahannya akan
berlaku untuk semua kolom pada semua baris.
Tipe trigger ada 2 macam, yaitu :
Statement : trigger dijalankan sekali saja pada saat terjadi sebuah
event.Statement trigger juga dijalankan sekali, meskipun tidak ada satupun
baris yangdipengaruhi oleh event yang terjadi.
26
Row : trigger dijalankan pada setiap baris yang dipengaruhi oleh
terjadinya sebuah event. Row trigger tidak dijalankan jika event dari
trigger tidak berpengaruh pada satu baris pun.
Trigger body mendefinisikan tindakan yang perlu dikerjakan pada saat terjadinya
event yang mengakibatkan sebuah trigger menjadi aktif. Contoh pembuatan
trigger berikut ini akan mengaktifkan sebuah trigger pada saat sebuah baris
tunggal dimanipulasi pada tabel :
Misal diberikan perintah DML untuk menyisipkan baris baru ke dalam table
sebagai berikut :
INSERT INTO departments (department_id, department_name,
location_id)VALUES (400, 'CONSULTING', 2400);
Ilustrasi dari trigger timing untuk event tersebut adalah sebagai berikut :
Gambar 2.4 Ilustrasi timing pada Trigger
Jika DML statement berlaku untuk lebih dari satu baris yang ada pada table
(multiple row), semisal :
UPDATE employees SET salary = salary * 1.1 WHERE department_id =
30;
Maka ilustrasi dari trigger timing untuk event tersebut adalah sebagai berikut :
27
2.9.4 DML Statement Trigger
Berikut ini sintak atau cara penulisan untuk pembuatan DML Statement trigger :
CREATE [OR REPLACE] TRIGGER trigger_name
timing
event1 [OR event2 OR event3]
ON table_name
trigger_body
Berikut contoh pembuatan DML Statement trigger :
CREATE OR REPLACE TRIGGER secure_emp
BEFORE INSERT ON employees
BEGIN
IF (TO_CHAR(SYSDATE,'DY') IN ('SAT','SUN')) OR
(TO_CHAR(SYSDATE,'HH24:MI') NOT BETWEEN '08:00' AND '18:00')
THEN RAISE_APPLICATION_ERROR (-20500,'Penyisipan data pada
table EMPLOYEES hanya diperbolehkan selama jam kerja');
END IF;
END;
Contoh trigger diatas akan membatasi penyisipan baris baru ke dalam table
EMPOYEES diperbolehkan hanya pada jam kerja mulai hari Senin sampai
Jum‟at. Jika user menyisipkan baris baru diluar ketentuan tersebut, missal pada
hari SAbtu maka akan tampil pesan kesalahan. Perintah berikut ini akan menguji
trigger SECURE_EMP dengan memberikan perintah SQL berikut ini pada jam
diluar jam kerja, sebagai berikut :
28
INSERT INTO employees (employee_id, last_name,first_name, email,
hire_date,job_id, salary, department_id)VALUES (300, 'Smith',
'Rob', 'RSMITH', SYSDATE,'IT_PROG', 4500, 60);
Perintah tersebut akan memberikan pesan kesalahan :
2.9.5 Mengkombinasikan Event pada Trigger
Beberapa event pada trigger bisa dikombinasikan dalam sebuah trigger dengan
menggunakan predikat kondisional INSERTING, UPDATING dan DELETING. Berikut
ini akan dibuat trigger yang menggunakan predikat kondisional INSERTING,
UPDATING dan DELETING untuk membatasi manipulasi data pada table
EMPLOYEES hanya diperbolehkan pada setiap jam kerja mulai hari Senin
sampai Jum‟at.
BEFORE INSERT OR UPDATE OR DELETE ON employees
BEGIN
IF (TO_CHAR (SYSDATE,'DY') IN ('SAT','SUN')) OR (TO_CHAR
(SYSDATE, 'HH24') NOT BETWEEN '08' AND '18')
THEN
IF DELETING THEN
RAISE_APPLICATION_ERROR (-20502,'You may delete from
EMPLOYEES table only during business hours.');
ELSIF INSERTING
THEN
RAISE_APPLICATION_ERROR (-20500,'You may insert into
EMPLOYEES table only during business hours.');
ELSIF UPDATING ('SALARY')
THEN
RAISE_APPLICATION_ERROR (-20503,'You may update
SALARY only during business hours.');
ELSE
RAISE_APPLICATION_ERROR (-20504,'You may update EMPLOYEES
29
table only during normal hours.');
END IF;
END IF;
END;
Berikut ini sintak atau cara penulisan untuk membuat Row Trigger :
CREATE [OR REPLACE] TRIGGER trigger_name
timing
event1 [OR event2 OR event3] ON table_name [REFERENCING OLD AS old
| NEW AS new]
FOR EACH ROW
[WHEN (condition)] trigger_body
Contoh berikut ini akan dibuat row trigger dengan timing BEFORE untuk
membatasi operasi DML pada table EMPLOYEES hanya diperbolehkan untuk
pegawai yang memiliki kode pekerjaan „AD_PRES‟ dan „AD_VP‟ serta memiliki
gaji kurang dari 15000.
CREATE OR REPLACE TRIGGER restrict_salary
BEFORE INSERT OR UPDATE OF salary ON employees
FOR EACH ROW
BEGIN
IF NOT (:NEW.job_id IN ('AD_PRES', 'AD_VP'))
AND :NEW.salary > 15000
THEN
RAISE_APPLICATION_ERROR (-20202,'Employee cannot earn this
mount');
END IF;
END;
Jika kita mencoba memberikan perintah SQL sebagai berikut, maka akan
ditampilkan pesan kesalahan :
UPDATE employees SET salary = 15500 WHERE last_name = 'Russell';
2.9.6 Menggunakan Old dan New Qualifiers
30
Pada Row Trigger, nilai dari kolom sebelum dan sesudah perubahan data
dapat dirujuk dengan menggunakan OLD dan NEW qualifier. OLD dan NEW
hanya digunakan pada Row Trigger. OLD dan NEW menggunakan prefiks (:)
untuk pernyataan dalam perintah SQL. Jika qualifier ini terlibat dalam pembatasan
kondisi pada klausa WHEN, maka tidak digunakan prefiks (:). Row triggers akan
menurunkan unjuk kerja jika banyak dilakukan update pada table yang cukup
besar. Contoh Trigger berikut ini menggunakan OLD dan NEW qualifier pada
Row Trigger :
CREATE OR REPLACE TRIGGER audit_emp_values
AFTER DELETE OR INSERT OR UPDATE ON employees
FOR EACH ROW
BEGIN
INSERT INTO audit_emp_table (user_name, timestamp,id,
old_last_name, new_last_name, old_title, new_title,
old_salary, new_salary) VALUES (USER, SYSDATE,
:OLD.employee_id, :OLD.last_name, :NEW.last_name,
:OLD.job_id, :NEW.job_id, :OLD.salary, :NEW.salary );
END;
Untuk memeriksa hasil dari pembuatan trigger diatas, diberikan perintah
SQL sebagai berikut :
INSERT INTO employees (employee_id, last_name, job_id, salary,
...) VALUES (999,Tempemp', 'SA_REP', 1000, ...);
UPDATE employees SET salary = 2000, last_name = 'Smith' WHERE
employee_id = 999;
Hasil dari perintah SQL tersebut adalah akan disimpan record perubahan pada
table AUDIT_EMP_TABLE sebagai hasil dari operasi Trigger :
SELECT user_name, timestamp, ... FROM audit_emp_table
31
2.9.7 Penggunaan Klausa When pada Trigger
Untuk membatasi operasi trigger hanya pada baris yang memenuhi kondisi
tertentu, maka digunakan klausa WHEN. Berikut ini akan dibuat trigger pada
table EMPLOYEES yang menghitung komisi yang diterima oleh seorang pegawai
pada saat sebuah baris ditambahkan ke dalam tabel EMPLOYEES, atau pada saat
dilakukan modifikasi pada gaji pegawai.
CREATE OR REPLACE TRIGGER derive_commission_pct
BEFORE INSERT OR UPDATE OF salary ON employees
FOR EACH ROW
WHEN (NEW.job_id = 'SA_REP')
BEGIN
IF INSERTING
THEN :NEW.commission_pct := 0;
ELSIF :OLD.commission_pct IS NULL
THEN :NEW.commission_pct := 0;
ELSE
:NEW.commission_pct := :OLD.commission_pct + 0.05;
END IF;
END;
Pada klausa WHEN, penggunaan OLD dan NEW qualifier tidak dengan prefiks
(:). Untuk menggunakan NEW qualifier, gunakan BEFORE Row Trigger, jika
timing BEFORE pada trigger di atas diganti dengan AFTER, maka akan didapat
pesan kesalahan:
CREATE OR REPLACE TRIGGER derive_commission_pct*
ERROR at line 1:
ORA-04084: cannot change NEW values for this trigger type
32
2.9.8 Perintah Umum
Berikut ini perintah-perintah umum yang digunakan pada trigger. Untuk
mengaktifkan atau menonaktifkan database trigger, digunakan perintah :
ALTER TRIGGER trigger_name DISABLE | ENABLE
Untuk mengaktifkan atau menonaktifkan semua trigger yang berlaku untuk
sebuah tabel, digunakan perintah :
ALTER TABLE table_name DISABLE | ENABLE ALL
Untuk melakukan kompilasi ulang sebuah trigger, digunakan perintah :
ALTER TRIGGER trigger_name COMPILE
Untuk menghapus trigger dari database, digunakan perintah :
DROP TRIGGER trigger_name
Catatan : Semua trigger yang berlaku pada sebuah tabel akan dihapus
pada saat table tersebut dihapus dari database.
2.10 Ponsel GSM
Eropa jelas lebih beruntung, mereka telah menyadari bahwa system
telepon baru tidak dapat mengakomodasi beberapa frekuensi. Karena itu dia
memutuskan untuk mulai membangun pada struktur radio seluler secara digital
penuh. Ternyata pilihan ini adalah pilihan yang sangat tepat pada waktu itu.
Mereka telah memetakan standar wireless yang baru setelah jalur telepon ISDN
(Integrated Service Digital Network) dibangun. Service baru ini disebut GSM.
GSM pada awalnya adalah singkatan dari Groupe Special Mobile.
Setelah menjadi standar internasional, akhirnya dikenal sebagai Global
System for Mobile Communications (GSM). Standar digital pertama di Eropa,
33
pengembangan ini digunakan untuk memberikan jaminan kompatibilitas selular di
seluruh Eropa. Kesuksesan ini ternyata telah menyebar ke suluruh dunia sehingga
lebih dari 80 jaringan GSM telah dioperasionalkan. Teknologi ini
dioperasionalkan pada 900 dan 1800 MHZ pada seluruh bagian di Eropa dan
Inggris. Di beberapa bagian Amerika menggunakn frekuensi 1900 MHZ dan
menggunkan TDMA base. Berikut ini beberapa contoh AT commands untuk
GSM yang umum digunakan (Mulyanta, 2005:9).
Gambar 2.5 Perintah AT Commands untuk GSM
2.11 Ponsel CDMA
Code Multiple Access (CDMA). IS-95.Dikembangkan oleh qualcomm
dengan ciri kapasitas tinggi dengan radius sel yang kecil. Menggunakan frekuensi
band yang sama dengan AMPS dan mendukung operasi AMPS, menggunakan
teknologi spread-spectrum dan menggunakan skema pengkodean yang
34
khusus.Teknologi ini diadopsi oleh Telecomuniocations Industry Association
(TIA) pada tahun 1993. Untuk pertama kalinya jaringan CDMA-based yang
dioperasikan (Mulyanta, 2005:15).
2.12 Gammu
Gammu berfungsi untuk menghubungkan antara computer dengan
ponsel.Gammu bisa dikoneksikan dengan berbagai macam handphone seperti
Nokia, Siemens, dll. Gammu menggunakan bahasa C, dimana gammu bersifat
open source sehingga source code dari gammu dapat dianalisa bagaimana gammu
memparsing SMS atau memberi perintah kepada telpon genggam.diantara
perintah yang digunakan gammu antara lain :
1. Identify
Perintah ini berfungsi untuk pengidentifikasian jenis HP yang
terhubung ke PC. Dan juga untuk mengetahu apakah koneksi HP
dengan PC sudah terhubung dengan benar.
Perintah yang digunkan biasanya adalah gammu –identify yang di
tuliskan pada command prompt (DOS) apabila koneksi HP dan PC
sudah terhubung dengan benar maka akan ditampilkan manufacturer
(Jenis HP),informasi model HP (versi HP),firmware (system operasi),
nomor serial dari HP yang sesuai dengan standar manufacturnya
(IMEI), International Mobile Subscriber Identify (IMSI).
2. Send SMS
Apabila proses indetify sudah terkoneksi dengan benar selanjutnya
yaitu proses untuk pengiriman SMS yang di lakukan oleh gammu
35
adalah dengan menuliskan perintah pada command prompt (DOS)
gammu –sendsms TEXT Destination Number kita dapat mengirimkan
SMS ke nomer yang kita tuju.
3. Del SMS
Perintah ini berfungsi untuk menghapus semua SMS yang ada di inbox
HP perintah yang digunkan adalah gammu –deleteallsms dengan
perintah itu maka inbox yang ada di HP akan terhapus.
4. Getallsms
Perintah ini berfungsi untuk mengetahui seluruh isi SMS yang ada
pada HP perintah yang digunakan adalah gammu getallsms.
Dari beberapa perintah diatas merupakan perintah yang umum digunkan.
Masih banyak perintah-perintah yang disediakan oleh gammu. Untuk mengetahui
lebih detail mengenai perintah-perintah yang disediakan oleh gammu dapat
merujuk ke manual gammu yaitu :
http://www.gammu.org/wiki/index.php?title=Gammu:Full_reference_manual.
2.13 OLE Automation
OLE (Object Linking and Embedding) adalah suatu protokol yang
mungkin adanya komunikasi diantara aplikasi yang berbeda. Bagian OLE yang
memungkinkan berbagai program salin berkomunikasi tersebut dikenal sebagai
OLE Automation.
Ada dua bentuk OLE Automation yaitu OLE Automation Client dan
Automation Server. OLE Automation Client dapat mengendalikan aplikasi lain
yaitu OLE Automation Server. Dengan kata lain OLE Automation Client adalah
36
suatu aplikasi yang dapat menggunakan berbagai objek beserta fungsi dan
prosedurnya yang memang disediakan oleh OLE Automation Server, untuk
mengendalikan aplikasi berbentuk OLE Automation Server tersebut (Budi Sutejdo
Darma Oetomo, 2003:84).
Protokol OLE dirancang berdasarkan arsitektur berbasis komponen yang
disebut dengan COM (Computer Object Model). Ada beberapa jenis komponen
COM, antara lain : In-Process Server dan Out-of Process Server
In-Process Server
Komponen ini merupakan jenis yang paling sederhana dimana suatu
Dynamic-Link Library (DLL) akan dieksekusi dalam ruang alamat yang
sama seperti aplikasi yang menggunakan DLL tersebut. Jenis komponen
ini adalah pilihan yang paling tepat apabila masalah kecepatan yang paling
diutamakan. Adapun kekurangannya adalah bahwa client tidak terlinfungi
dari kegagalan yang mungkin dialami oleh server, dan demikian pula
sebaliknya. Jadi jika suatu DLL mengalami kegagalan maka aplikasi client
yang menggunakan DLL tersebut akan mengalami crash.
Out-of Process Server
Dengan jenis komponen ini maka komponen yang dibuat akan di-compile
sebagai program EXE. Jadi dapat dibuat suatu aplikasi secara stand-alone
dan pada saat yang sama menawarkan objek-objeknya yang dapat
digunakan oleh aplikasi lain. Server EXE akan dieksekusi dalam ruang
alamat-alamatnya sendiri, sehingga komunikasi dengan client-nya akan
lebih lambat daipada server DLL. Namun demikian server EXE lebih
37
aman sebab jika ada komponen yang crash, aplikasi client biasanya dapa
di-recover.
2.14 Structure Query Language
SQL adalah suatu bahasa manipulasi yang digunakan untuk mengakses
data dalam basis data. SQL tidak didasarkan pada bahasa pemrograman tertentu,
tetapi justru dapat digunkan dalam bahasa pemrograman manapun sebagai suatu
cara meng-update dan melakukan query dalam basis data.
Setiap pernyataan SQL dapat melakukan operasi terhadap satu atau lebih
objek basis data (table, kolom, indeks, dan sebagainya). Pernyataan SQL terdiri
dari dua kategori, yaitu Data Definition Language (DDL) dan Data Manipulation
Language (DML). Yang termasuk DDL adalah sekelompok pernyataan yang
dapat digunakan untuk membuat struktur basis data seperti table, field, indexs,
dan sebagainya. Sedangkan DML meliputi semua perintah yang memungkinkan
dilakukan query dan mengubah data dalam basis data, menambah record baru,
atau menghapus record yang telah ada.
Database Manajemen Sistem (DBMS) adalah kumpulan dari program-
program yang membolehkan user untuk menciptakan dan memelihara sebuah
database. DBMS sudah menjadi peralatan standar untuk melindungi pengguna
komputer dari bagian-bagian kecil dalam pengelolaan secondary storage (hard
disk). DBMS didesain untuk meningkatkan produktivitas dari aplikasi para
programmer dan untuk memberikan kemudahan pengaksesan data oleh komputer.
Pengaksesan data di dalam DBMS dapat dilakukan dengan berbagai
macam cara. Dan tentunya dalam melakukan pengaksesan data ada hal-hal yang
38
perlu diperhatikan seperti ketepatgunaan implementasi dari data itu sendiri serta
waktu prosesnya. Ada banyak plan (rencana) yang dapat diikuti oleh database
manajemen sistem dalam memproses dan menghasilkan jawaban sebuah query.
Semua plan pada akhirnya akan menghasilkan jawaban (output) yang sama tetapi
pasti mempunyai harga yang berbeda-beda, seperti misalnya total waktu yang
diperlukan untuk menjalankan sebuah query.
Gambar 2.6 Tahapan proses sebuah query
Sebuah query yang diekspresikan dalam sebuah bahasa query tingkat
tinggi seperti SQL mula-mula harus dibaca, diuraikan dan disahkan (scanning,
parsing, validating). Query tersebut kemudian dibentuk menjadi sebuah struktur
data yang biasa disebut dengan query tree. Dan kemudian DBMS (Database
Manajemen Sistem) harus merencanakan sebuah strategi eksekusi untuk
mendapatkan kembali hasil dari query dari file-file database. Tahapan-tahapan
Hasil
Query
Query Language
(SQL)
PARSER
( Mengecek sintaks SQL keyword ) Menghasilkan parse tree
QUERY OPTIMIZER
( Mengecek sintaks SQL keyword ) CODE GENERATOR /
INTERPRETER
QUERY PROCESSOR
(Eksekusi Query)
Menghasilkan query plan
Menghasilkan kode query
SCANNER
( Mengecek sintaks SQL keyword )
39
proses dari sebuah query di dalam sebuah sistem database ditunjukkan pada
gambar 2.3 Berikut penjelasan dari masing-masing tahapan :
Scanner melakukan identifikasi (pengenalan) token-token seperti SQL
keywords, attribute, dan relation name. Proses ini disebut dengan
scanning.
Query Parser mengecek kevalidan query dan kemudian
menterjemahkannya ke dalam sebuah bentuk internal yaitu ekspresi relasi
aljabar atau parse tree. Proses ini disebut dengan parsing.
Query Optimizer memeriksa semua ekspresi-ekspresi aljabar yang sama
untuk query yang diberikan dan memilih salah satu dari ekspresi tersebut
yang terbaik yang memiliki perkiraan termurah. Dengan kata lain, tugas
dari query optimizer adalah menghasilkan sebuah rencana eksekusi. Proses
ini disebut dengan optimisasi query.
Code Generator atau Interpreter mentransformasikan rencana akses yang
dihasilkan oleh optimizer ke dalam kode-kode. Setelah itu, kode-kode
tersebut dikirimkan ke dalam query processor untuk dijalankan.
Query Processor melakukan eksekusi query untuk mendapatkan hasil
query yang diinginkan.
Bagian yang diarsir pada gambar diatas adalah merupakan komponen
utama yang berperan penting dalam proses optimisasi query. Sebuah query adalah
sebuah ekspresi bahasa yang menggambarkan data yang akan didapatkan kembali
dari sebuah database. Dalam hubungannya dengan optimisasi query, seringkali
diasumsikan bahwa query-query tersebut dinyatakan dalam sebuah dasar-dasar isi
40
dan sekumpulan cara orientasi, yang memberikan optimizer pilihan-pilihan
diantara alternatif prosedur-prosedur evaluasi.
Query dapat digunakan pada beberapa keadaan. Kebanyakan aplikasi
nyatanya adalah permintaan-permintaan secara langsung dari user yang
memerlukan informasi tentang bentuk maupun isi dari database. Apabila
permintaan user terbatas pada sekumpulan query-query standar, maka query-query
tersebut dapat dioptimisasi secara manual oleh pemrograman prosedur-prosedur
pencarian gabungan dan membatasi input dari user pada sebuah ukuran menu.
Tetapi bagaimanapun juga, sebuah sistem optimisasi query otomatis menjadi
penting apabila query-query khusus ditanyakan dengan menggunakan bahasa
query yang digunakan secara umum seperti SQL.
Aplikasi yang kedua dari query terjadi pada transaksi-transaksi yang
mengubah data yang disimpan berdasarkan nilainya saat itu. Pada akhirnya, query
seperti ekspresi-ekspresi dapat digunakan secara internal dalam sebuah DBMS,
sebagai contoh adalah untuk mengecek kebenaran akses dan menyamakan
kebenaran akses-akses yang terjadi.
Membicarakan tentang query, sangat erat hubungannya dengan cara
penulisan query tersebut ke dalam sebuah bentuk bahasa yang mudah dimengerti.
Pada umumnya, bahasa query yang digunakan untuk mengekspresikan sebuah
pernyataan dari query adalah SQL (Structure Query Language).
SQL adalah sebuah bahasa database yang luas yang memiliki statement-
statement (pernyataan) untuk definisi data, query dan update data (memperbaharui
41
data). SQL mempunyai satu statement dasar untuk mendapatkan kembali
informasi dari sebuah database. Statement dasar dari SQL adalah SELECT.
Bentuk dasar dari statement SELECT biasa disebut dengan blok select
from where yang terbentuk dari tiga macam klausa yaitu SELECT, FROM dan
WHERE yang mempunyai bentuk sebagai berikut :
SELECT <daftar Attribute>
FROM <daftar Tabel>
WHERE <kondisi>
Dimana <daftar attribute> adalah sebuah daftar dari nama-nama attribute yang
nilai-nilainya didapatkan oleh query. Sedangkan <daftar tabel> adalah sebuah
daftar dari nama-nama relasi yang diperlukan oleh proses sebuah query. <kondisi>
adalah sebuah kondisi ekspresi boolean yang mengidentifikasikan tuple-tuple
yang akan dikembalikan oleh query (Oetomo, 2003:85).
2.15 Server Side dan Client Side
Teknologi yang digunakan dalam pemrograman web dibagi menjadi dua
yaitu server side dan client side. Pada server side, perintah-perintah program
dijalankan di server dan dikirimkan ke browser sudah dalam bentuk HTML.
Sedangkan client side, proses akan dilakukan di web browser. Biasanya client side
digunakan untuk hal-hal yang membutuhkan interaksi user tetapi data yang
ditampilkan tetap dan seragam. Aplikasi web berjalan pada protokol HTTP, dan
semua protokol di internet selalu melibatkan antara server dan client.
Ketika seseorang mengetikkan suatu alamat di browser, maka browser
akan mengirimkan perintah tersebut ke web server. Jika yang diminta oleh client
adalah file yang mengandung perintah server side maka server web akan
42
menjalankan dahulu program tersebut lalu mengirimkannya kembali ke browser
dalam bentuk HTML sehingga dapat diterjemahkan oleh browser. Sedangkan jika
yang diminta oleh client adalah file yang mengandung file client side maka oleh
server file tersebut akan langsung dikirimkan ke browser. Banyak sekali bahasa
pemrograman yang dipakai pada pemrograman web, diantaranya : CGI/Perl,
Active Server Pages (ASP), Java Server Pages (JSP), PHP, ColdFusion (CFM),
dll, yang kesemuanya itu adalah program server side. Sedangkan untuk client side
misalnya saja JavaScript, VBScript, HTML (Musyawarah, 2005:70 ).
43
BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisa Kebutuhan ( Requirement Analysis )
3.1.1 Use Case Diagram
Untuk mendapatkan gambaran mengenai sistem yang digunakan
proses dan data model dari sistem dimodelkan dengan diagram use
case. Dengan diagram use case ini dapat diketahui proses yang terjadi
pada aktivitas sistem informasi sekolah. Dengan diagram ini juga dapat
diketahui fungsi yang digunakan oleh sistem yang digunakan. Gambar
use case bisa dilihat pada gambar 3.1 di bawah ini:
Siswa
Administrator
Verifikasi User
GuruSistem Informasi Sekolah
<<include>>
Masyarakat
Gambar 3.1 Global Use Case Sistem Informasi Sekolah
44
3.1.2 Penjelasan Setiap Actor
Actor menggambarkan pengguna software aplikasi ( user ). Actor membantu
memberikan suatu gambaran jelas tentang apa yang harus dikerjakan oleh
software aplikasi. Sebuah actor bisa berupa manusia, satu device hardware atau
sistem informasi lain. Pada studi kasus sistem informasi ini terdapat empat buah
actor yang mempunyai peran dan fungsi sendiri-sendiri.
a. Siswa
Siswa adalah seseorang yang akan mengakses sistem informasi sekolah
mengenai pendidikan dan informasi-informasi yang diberikan oleh
sekolah. Dengan ketentuan masih belajar dan terdaftar di sekolah.
b. Guru
Guru adalah seseorang yang mengajar pada sekolah. Guru dapat
mengakses sistem informasi sekolah baik untuk informasi mengenai
pendidikan siswa atau info-info yang diberikan oleh sekolah.
c. Masyarakat
Masyarakat adalah seseorang yang berada diluar sekolah seperti orang
tua siswa dan khalayak umum.
d. Administrator
Administrator adalah seseorang yang bertugas sebagai admin pada
sistem informasi sekolah. Seorang administrator harus mempunyai
persyaratan tertentu yang telah ditetapkan oleh pihak sekolah.
45
3.1.3 Penjabaran Setiap Use Case Diagram
Penjabaran setiap use case diagram yaitu menjelaskan secara detail
mengenai fungsionalitas keseluruhan dari sistem informasi sekolah.
Fungsionalitas-fungsionalitas dari beberapa actor yang terdapat pada gambar 3.1
akan digambarkan secara detail mengenai aktivitas-aktivitas yang dilakukan oleh
actor. Untuk mengetahui secara jelas detail use case diagram dapat dilihat pada
gambar 3.2 dibawah ini :
46
Maintain module Outbox
Maintain Module Sent Itms
Maintain Module Nilai
Maintain Module Phone
Book
Maintain Module Guru
Manajemen SIS
Maintain Module Jadwal
Maintain Module SPP
Maintain Module Absen
Maintain Module Inbox
Maintain Module User
Maintain Module
Update Profile Guru
Lihat Data Guru
Masyarakat
Administrator
Guru
Update Profile Siswa
Lihat Informasi Sekolah
Lihat Nilai Siswa
Log Out
Login
Lihat Absen
Lihat Jadwal
Lihat SPP
Registrasi
Siswa
Gambar 3.2 Detail Use Case Sistem Informasi Sekolah
47
3.1.4 Penjelasan Setiap Use Case
Use case dapat digambarkan sebagai suatu cara tertentu untuk
menggunakan sistem dari sudut pandang satu pengguna ( an actor ). Dalam kasus
sistem informasi sekolah ini ada beberapa use case yaitu :
e. Maintain Module
Merupakan jenis use case yang menggambarkan proses penambahan,
pengurangan, pengeditan semua module yang ada di sistem informasi
sekolah.
f. Maintain Module User
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data user yaitu admin.
g. Maintain Module Inbox
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data inbox atau pesan yang masuk pada
sistem informasi sekolah.
h. Maintain Module Outbox
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data outbox atau pesan yang akan terkirim
keluar dari sistem informasi sekolah.
i. Maintain Module Sent items
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data senitems atau pesan yang sudah
terkirim keluar oleh sistem informasi sekolah.
48
j. Maintain Module Nilai
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data nilai siswa yang terdiri dari nilai
UAS,UAN dan nilai raport.
k. Maintain Module Jadwal
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data jadwal harian siswa, jadwal UAN,
jadwal UAS sekolah.
l. Maintain Module SPP
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data SPP siswa.
m. Maintain Module Absen
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data absensi siswa dan guru.
n. Maintain Module Phone Book
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data phonebook siswa dan guru.
o. Maintain Module Guru
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan data Guru.
49
p. Manajemen SIS
Merupakan use case yang menggambarkan proses penambahan,
penghapusan dan pengeditan semua data yang ada di sistem informasi
sekolah.
q. Registrasi
Merupakan use case yang menggambarkan proses registrasi siswa
melalui HP untuk menggunakan sistem informasi sekolah.
r. Update Profile Siswa
Merupakan use case yang menggambarkan proses pengeditan data
biodata siswa yang berada di sistem informasi sekolah.
s. Lihat SPP
Merupakan use case yang menggambarkan proses untuk mengetahui
data siswa yang sudah membayar spp dengan menggunakan hp.
t. Lihat Jadwal
Merupakan use case yang menggambarkan proses untuk melihat data
jadwal sekolah siswa.
u. Lihat Absen
Merupakan use case yang menggambarkan proses untuk mengetahui
data absensi siswa.
v. Lihat Nilai
Merupakan use case yang menggambarkan proses untuk mengetahui
data nilai siswa.
50
w. Lihat Data Guru
Merupakan use case yang menggambarkan proses untuk mengetahui
data Guru.
x. Update Profile Guru
Merupakan use case yang menggambarkan proses pengeditan data
Guru.
y. Lihat Informasi Sekolah
Merupakan use case yang menggambarkan proses untuk mengetahui
informasi-informasi yang umum dari sekolah.
Pada Gambar terlihat ada empat buah actor yaitu siswa, guru, admin dan
masyarakat. Siswa dapat mengakses data siswa baikberupa nilai, jadwal dan
administrasi siswa yang ada di sekolah. Tetapi siswa tidak dapat melakukan
pengeditan, penghapusan, penambahan data-data dari sekolah kecuali untuk data
profile siswa. Guru dapat mengakses data siswa dan data guru itu sendiri.
Masyarakat dapat mengakses informasi-informasi dari sekolah yang sifatnya
umum. Admin dapat mengakses semua informasi di istem informasi sekolah. Dia
juga dapat melakukan edit, delete, tambah data yang berada pada sistem informasi
sekolah. Admin harus melakukan login terlebih dahulu untuk dapat mengakses
semua data sekolah. Dan melakukan logout untuk keluar dari sitem informasi
sekolah.
3.1.5 Activity Diagram
Activity diagram merupakan suatu bentuk flow diagram yang memodelkan
alur kerja ( workflow) sebuah proses sisteminformasi dan urutan aktivitas sebuah
51
proses. Diagram ini sangat mirip dengan sebuah flowchart karena kita dapat
memodelkan sebuah alur kerja dari suatu aktifitas ke aktifitas lainnya atau dari
suatu aktifitas kedalam keadaan sesaat. Activity diagram akan lebih bermanfaat
apabila terlebih dahulu kita memodelkan sebuah proses untuk membantu kita
memahami proses secara keseluruhan. Activity diagram juga sangat berguna
ketika kita ingin menggambarkan perilaku parallel atau menjelaskan bagaimana
perilaku dalam berbagai use case berinteraksi.
Berkaitan dengan use case diagram diatas, maka dapat beberapa buah
activity diagram yang dapat yaitu gambarkan yaitu:
a. Activity Diagram Login
Activity diagram login ini merupakan alur kerja sebuah proses
masuk ke sistem dari sistem informasi sekolah. Activity diagram login
digambarkan berikut ini:
start
Pengguna Mengiputkan username
dan password ke form loginSistem verivikasi
data user
Sistem display
halaman utama
finish
sesusai?
ya
tidak
Gambar 3.3 Activity diagram login
52
Pada gambar proses login diatas, seorang user yang telah registrasi
baik sebagai admin,siswa,guru dan telah mendapatkan username dan
password dapat melakukan login ke system informasi sekolah. Apabila
username dan password yang diinputkan valid atau ada pada database
maka sistem akan menampilkan halaman utam berdasarkan login user.
b. Activity Diagram Maintain Module
Activity diagram maintain module ini merupakan alur kerja proses
pengaturan seluruh module yang ada pada system informasi sekolah.
Activity diagram maintain module dapat digambarkan berikut ini:
Penggunan (Admin) memilih
menu manajemen module
Pengguna (Admin) Menambah/Delete/
Update Data
finish
false
Sistem Display
Data module
true
false
confirm
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data module
hasil verivikasi
start
Gambar 3.4 Activity diagram maintain module
53
akan menapilkan hasil dari verivikasi data module. Kemudian
pengguna (admin) dapat melakukan edit,delete atau menambah data
module sistem akan mengecek kebenaran dari data yang akan kita
edit,delete atau tambah sebelum sistem memproses edit,delete atau tambah
data. Setelah proses pengecekan selesai dan hasilnya true maka sistem
akan melakukan proses edit,delete atau tambah data. Setelah sistem selesai
memproses edit,delete atau tambah data sistem akan menampilkan hasil
dari proses itu.
c. Activity Diagram Maintain Module User
Activity diagram maintain module user ini merupakan alur kerja
proses manajemen pengguna (user) yang ada pada system informasi
sekolah. Activity diagram maintain module user dapat digambarkan
berikut ini:
Penggunan (Admin) memilih
menu manajemen user
Pengguna (Admin) Menambah/Delete/
Update Data user
finish
false
Sistem Display
Data user
true
false
confirm
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data user
start
Gambar 3.5 Activity diagram maintain module user
54
Pada gambar 3.5 diatas alur kerja proses manajemen user sama
dengan pada proses manajemen module pada gambar 3.4. yang
membedakan yaitu data yang diproses.
Semua alur kerja atau activity diagram yang ada pada administrator
sistem informasi sekolah, memiliki proses alur kerja yang sama. Yang
membedakan adalah data yang diolah dalam database masing-masing alur
kerja. Jadi pada proses alur kerja (activity diagram) yang selanjutnya
hanya akan ditampilkan gambar proses alur kerja (activity diagram) dari
masing-masing module.
d. Activity Diagram Maintain Module Inbox
Penggunan (Admin) memilih
menu Inbox
Pengguna (Admin) Menambah/Delete/
Update Data Inbox
finish
false
Sistem Display
Data Inbox
true
false
confirm
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data Inbox
start
Gambar 3.6 Activity Diagram Maintain Module Inbox
55
e. Activity Diagram Maintain Module Outbox
Penggunan (Admin) memilih
menu Outbox
Pengguna (Admin) Menambah/Delete/
Update Data Outbox
finish
false
Sistem Display
Data Outbox
true
false
confirm
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data Outbox
start
Gambar 3.7 Activity Diagram Maintain Module Outbox
56
f. Activity Diagram Maintain Module Sent Items
Penggunan (Admin) memilih
menu Sent Items
Pengguna (Admin) Menambah/Delete/
Update Data Sent Items
finish
false
Sistem Display
Data Sent Items
true
false
confirm
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data Sent Items
start
Gambar 3.8 Activity Diagram Maintain Module Sent Items
57
g. Activity Diagram Maintain Module Nilai
Penggunan (Admin) memilih
menu Nilai
Pengguna (Admin) Menambah/Delete/
Update Data Nilai
finish
false
Sistem Display
Data Nilai
true
false
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data Nilai
start
cofirm
Gambar 3.9 Activity Diagram Maintain Module Nilai
58
h. Activity Diagram Maintain Module Jadwal
Penggunan (Admin) memilih
menu Jadwal
Pengguna (Admin) Menambah/Delete/
Update Data Jadwal
finish
false
Sistem Display
Data Jadwal
true
false
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data Jadwal
start
cofirm
Gambar 3.10 Activity Diagram Maintain Module Jadwal
59
i. Activity Diagram Maintain Module SPP
Penggunan (Admin) memilih
menu SPP
Pengguna (Admin) Menambah/Delete/
Update Data SPP
finish
false
Sistem Display
Data SPP
true
false
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data SPP
start
cofirm
Gambar 3.11 Activity Diagram Maintain Module SPP
60
j. Activity Diagram Maintain Module Absen
Penggunan (Admin) memilih
menu Absen
Pengguna (Admin) Menambah/Delete/
Update Data Absen
finish
false
Sistem Display
Data Absen
true
false
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data Absen
start
cofirm
Gambar 3.12 Activity Diagram Maintain Module Absen
61
k. Activity Diagram Maintain Module Phone Book
Penggunan (Admin) memilih
menu Phone Book
Pengguna (Admin) Menambah/Delete/
Update Data Phone Book
finish
Sistem Display Data
Phone Book
false
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data Phone Book
start
cofirm
false
true
Gambar 3.13 Activity Diagram Maintain Module Phone Book
62
l. Activity Diagram Maintain Module Guru
Penggunan (Admin) memilih
menu Guru
Pengguna (Admin) Menambah/Delete/
Update Data Guru
finish
Sistem Display Data
Guru
false
Sistem Insert/Delete/Update
data dalam database
true
Sistem display
result
Sistem verivikasi apakah ada
atau tdak data Guru
start
cofirm
falsetrue
Gambar 3.14 Activity Diagram Maintain Module Guru
63
m. Activity Diagram Registrasi Siswa
Activity diagram registrasi siswa ini merupakan alur kerja proses
pendaftaran siswa ke sistem informasi sekolah agar dapat melakukan akses
ke sistem informasi sekolah via SMS Gateway. Proses Activity diagram
registrasi siswa dapat di gambarkan sebagai berikut :
Sistem
verivikasi data
Sistem insert data
dalam database
Sistem kirim pesan
verivikasi ke user
finish
Pengguna terima SMS
verivikasi dari sistem
Pengguna (Siswa) kirim SMS dengan
format(REG#NIS#PIN#NAMA)
start
hasil verivikasi
true
false
Gambar 3.15 Activity Diagram Registrasi Siswa
Pada gambar diatas, seorang siswa mengirim SMS ke server sistem
informasi sekolah dengan fromat yang ada pada gambar 3.7 diatas.
Setelah melakukan pengiriman ke server kemudian server sistem
informasi sekolah akan mengecek apakah data yang dikirimkan sesuai
64
dengan format SMS yang telah ditentukan oleh server sistem informasi
sekolah. Apabila sesuai maka sistem akan menginputkan data yang
dikirim siswa kedalam database. Setelah proses penginputan selesai
sistem akan otomatis mengirimkan balasan verivikasi berhasil terdaftar di
sistem informasi sekolah ke siswa.
65
n. Activity Diagram Lihat Jadwal Sekolah Siswa
Sistem
verivikasi data
Sistem ambil data
dari database
Sistem kirim data yang telah
diparsing dari database
Sistem
verivikasi data
Sistem kirim data yang telah
diparsing dari database
Sistem ambil data
dari database
Sistem
verivikasi data
Sistem ambil data
dari database
Sistem kirim data yang telah
diparsing dari database
finish
Pengguna mendapatkan data sesuai
format SMS yang dikirimnya
Pengguna mendapatkan data sesuai
format SMS yang dikirimnya
Pengguna kirim SMS dengan format
(JUAN#JRSN)
Pengguna kirim SMS dengan format
(JUAS#KLS#SMTR#JRSN#HARI)
Pengguna mendapatkan data sesuai
format SMS yang dikirimnya
Pengguna (Siswa) kirim SMS dengan
format(JDH#KLS#SMTR#JRSN#HARI)
start
hasil verivikasi
true
hasil verivikasi
true
hasil verivikasi
true
false
false
false
Gambar 3.16 Activity Diagram Lihat Jadwal Sekoah Siswa
66
Activity Diagram Lihat Jadwal Sekolah Siswa merupakan proses
alur kerja untuk melihat jadwal harian, jadwal UAS dan Jadwal UAN.
Alur kerjanya dapat dilihat pada gambar 3.8 diatas.
Pada gambar 3.8 diatas alur kerja lihat jadwal sekolah siswa yaitu
siswa mengirimkan SMS ke server sistem informasi sekolah dengan
fromat SMS yang telah ditentukan. Fromat-format SMS dapat dilihat pada
gambar 3.8. Setelah siswa mengirimkan SMS ke server, maka sistem akan
memverivikasi data atau format SMS yang dikirimnya. Apabila proses
verivikasi format SMS benar maka akan diparsing format SMS itu oleh
database sistem. Setelah proses parsing selesai, data dikirimkan ke user
berdasarkan format SMS yang dikirmkannya.
o. Activity Diagram Izin Siswa
Activity Diagram Izin Siswa merupakan proses alur kerja untuk
izin tidak masuk sekolah, proses izin siswa dapat dilihat pada gambar di
bawah ini:
67
start
Pengguna (siswa) kirim SMS dengan format
(IZN#NIS#KLS#SMTR#PIN#ALASAN)
Pengguna terima SMS
verivikasi dari sistem
finish
Sistem
verivikasi data
Sistem insert data
dalam database
Sistem kirim pesan
verivikasi ke user
hasil verivikasi
false
true
Gambar 3.17 Activity Diagram Izin Siswa
Pada gambar 3.9 diatas alur kerja izin siswa yaitu siswa
mengirimkan SMS ke server sistem informasi sekolah dengan format SMS
yang ada pada gambar 3.9 diatas. Setelah mengirim SMS ke sistem
berdasarkan format SMS yang telah ditentukan, maka sistem akan
memverivikasi apakah data yang dikirmkannya valid atau tidak. Apabila
data yang dikirimkannya valid maka sistem akan menginsertakn data siswa
ke dalam database. Setelah proses penginputan selesai maka sistem akan
memberikan konfirmasi ke siswa bahwa izin telah berhasil.
68
p. Activity Diagram Lihat Absensi Siswa
Sistem
verivikasi data
Sistem ambil data
dari database
Sistem kirim data yang telah
diparsing dari database
Sistem
verivikasi data
Sistem ambil data
dari database
Sistem kirim data yang telah
diparsing dari database
finish
Pengguna mendapatkan data sesuai
format SMS yang dikirimnya
Pengguna (Siswa,Ortu) kirim SMS dengan format
(ABS#NIS#KLS#SMTR#PIN)
Pengguna mendapatkan data sesuai
format SMS yang dikirimnya
Pengguna (Siswa/Ortu) kirim SMS dengan
format(ABSH#NIS#KLS#SMTR#PIN)
start
hasil verivikasi
true
hasil verivikasi
true
false
false
Gambar 3.18 Activity Diagram Lihat Absensi Siswa
Activity Diagram Lihat Absensi Siswa merupakan proses alur kerja
untuk melihat absensi harian ataupun persemester. Activity Diagram Lihat
Absensi Siswa dapat dilihat pada gambar 3.10 diatas.
Proses Activity Diagram Lihat Absensi Siswa dapat dilakukan
dengan mengirimkan SMS ke server sistem informasi sekolah berdasarkan
69
format SMS yang telah di tentukan. Format SMS dapat dilihat pada
gambar 3.10 diatas. Pertama siswa mengirimkan SMS ke sistem
berdasarkan format yang ditentukan. Kemudian sistem akan
memverivikasi data yang dikirimnya apabila data dikirimnya valid maka
database akan memparsing data yang diterima. Setelah proses parsing
selesai sistem akan mengirimkan data ke pengguna berdasarkan format
dan data yang telah dikirimnya.
q. Activity Diagram Lihat Nilai Siswa
Activity Diagram Lihat Nilai Siswa merupakan proses alur kerja
untuk melihat nilai siswa. Activity Diagram Lihat Nilai Siswa dapat pada
gambar dibawah ini:
Sistem ambil data
dari database
true
Sistem kirim data yang telah
diparsing dari database
finish
Pengguna mendapatkan data sesuai format
SMS yang dikirimnya
Pengguna (siswa) mengirim SMS dengan format
(NILAI#JRSN#NIS#KLS#SMTR#PIN)
false
start
Sistem
verivikasi data
Gambar 3.19 Activity Diagram Lihat Nilai Siswa
70
Proses Activity Diagram Lihat Nilai Siswa dapat dilakukan dengan
mengirimkan SMS ke server berdasarkan format SMS yang telah di
tentukan yaitu NILAI#JRSN#NIS#KLS#SMSTR#PIN setelah siswa
mengirimkan SMS ke server berdasarkan format SMS yang telah
ditentukan, maka sistem akan memverivikasi data yang dikirimnya setelah
proses verivikasi selesai dan bernilai true maka database akan memparsing
SMS yang telah dikirimya. Setelah proses parsing selesai maka sistem
akan mengirimkan data ke user berdasarkan format dan data SMS yang
dikirimnya.
r. Activity Diagram Lihat SPP Siwa
Activity Diagram Lihat SPP Siwa merupakan alur kerja untuk
melihat pembayaran SPP siswa. Activity Diagram Lihat SPP Siwa dapat
dilihat pada gambar dibawah ini:
71
Sistem
verivikasi data
Sistem ambil data
dari database
Sistem kirim data yang telah
diparsing dari database
finish
Pengguna mendapatkan data sesuai
format SMS yang dikirimnya
Pengguna (siswa) kirim SMS dengan
format(SPP#NIS#KLS#SMTR#PIN)
start
hasil verivikasi
true
false
Gambar 3.20 Activity Diagram Lihat SPP Siwa
Proses Activity Diagram Lihat SPP Siwa diatas yaitu siswa atau
ortu dapat mengirimkan SMS ke server dengan format
SPP#NIS#KLS#SMTR#PIN maka sistem akan memverivikasi data yang
dikirimnya. Setelah proses verivikasi bernilai true maka sistem akan
mengambil data dari database berasarkan format SMS yang diterima
kemudian sistem akan mengirimkan data ke pengguna berdasarkan format
dan data yang dikirimnya.
72
s. Activity Diagram Lihat Pengajar
Activity Diagram Lihat Pengajar merupakan alur kerja untuk
mengetahui pengajar dari suatu mata pelajaran dan juga wali kelas siswa.
Activity Diagram Lihat Pengajar dapat dilihat pada gambar dibawah ini:
start
Pengguna Kirim SMS dengan
format (GR#MTPLRAN)Sistem
verivikasi data
Sistem ambil data
dari database
Sistem kirim data yang telah
diparsing dari database
Pengguna mendapatkan data sesuai
format SMS yang dikirimnya
Pengguna kirim SMS
dengan format(WK#KLS)Sistem
verivikasi data
Sistem ambil data
dari database
Sistem kirim data yang telah
diparsing dari database
Pengguna mendapatkan data sesuai
format SMS yang dikirimnya
finish
Gambar 3.21 Activity Diagram Lihat Pengajar
Activity Diagram Lihat Pengajar dapat dilakukan dengan
mengirimkan SMS ke server sistem informasi sekolah dengan format SMS
GR#MTPLRAN untuk melihat guru mengajar mata pelajaran yang
diajarnya. WK#KLS untuk melihat wali kelas siswa. Setelah mengirimkan
73
SMS ke sistem berdasarkan format SMS diatas maka sistem akan
memverivikasi data yang di terimanya. Kemudian sistem akan mengambil
data dari database apabila proses verivikasi bernilai true setelah selesai
maka sistem akan secara otomatis mengirimkan data ke user berdasarkan
data dan format SMS yang dikirimnya.
3.2 Perancangan Basis Data
Perancangan basis data pada sistem dimaksudkan untuk mempermudah
hubungan-hubungan antar tabel satu dengan tabel lainnya. Basis data mempunyai
fungsi untuk memverifikasi, mencatat, menyimpan, dan menampilkan hasil.
Secara umum konsep rancangan basis data sistem dapat dilihat pada gambar
dibawah ini:
Data Base Sekolah
Database Sistem
Registrasi
- Tabel phonebook
- Tabel modul
Database
Menampung
Semua SMS
- Tabel inbox
- Tabel senitems
- Tabel outbox
Database Informasi
- Tabel berita
- Tabel guru
- Tabel siwa
- Tabel absen
- Tabel jadwal
- Tabel pengumuman
- Tabel spp
- Tabel user
- Tabel agenda
- Tabel nilai
Database Saran
- Tabel saran
Gambar 3.22 Basis Data Sistem Informasi Sekolah
74
user
PK id_user
password
nama_lengkap
pengumuman
PK id_pengumuman
judul
isi
tanggal
id_user
status
guru
PK id_guru
NIP
no_hp
Nama
berita
PK id_berita
id_user
judul
isi_berita
gambar
hari
jam
tanggal
siswa
PK id_siswa
nis
nama
j_klmn
jrsn
kls
smtr
alamt
jadwal
PK id_jadwal
id_guru
id_siswa
kls
jrsn
hari
jadwal
nilai
PK id_nilai
nis
nama_pelajran
nilai
spp
PK id_spp
nis
jmlh_bayar
ket
absen
PK id_absen
nis
hari
ket
Gambar 3.23 Relasi Basis Data
Dari struktur jenis tabel pada gambar.8 diatas dapat dijelaskan sebagai berikut:
a. Tabel siswa
Tabel.1 merupakan tabel yang berisi data-data siswa secara umum, adapun
strukturnya sebagai berikut:
Tabel.1 Tabel Siswa
Nama Field Jenis Panjang Deskripsi
id_siswa Integer Id siswa
nis Number 4 Nomor induk siswa
j_klmn Text 5 Jenis kelamin siswa
jrsn Text 7 Jurusan
kls Text 15 Kelas
smtr Text 15 Semester
alamat Text 25 Alamat siswa
email Text 25 Email siswa
b. Tabel Guru
Tabel.2 merupakan tabel yang berisi data-data guru secara umum, adapun
strukturnya sebagai berikut:
75
Tabel.2 Tabel Guru
Nama Field Jenis Panjang Deskripsi
id_guru Integer Id guru
nip Number 9 Nomor induk
pegawai
no_hp number 12 No handphone guru
nama Text 25 Nama guru
c. Tabel Nilai
Tabel.3 merupakan tabel yang berisi data-data nilai siswa, adapun
strukturnya sebagai berikut:
Tabel.3 Tabel Nilai
Nama Field Jenis Panjang Deskripsi
id_nilai Integer Id nilai
nis Number 4 Nomor induk siswa
nama_pelajaran Text 15 Nama mata
pelajaran
nilai Text 25 Nilai siswa
d. Tabel Jadwal
Tabel.4 merupakan tabel yang berisi data-data jadwal sekolah, adapun
strukturnya sebagai berikut:
Tabel.4 Tabel Jadwal
Nama Field Jenis Panjang Deskripsi
id_jadwal Integer Id jadwal
Id_guru Integer Id guru
Id_siswa Integer Id siswa
Kls Text 15 Kelas
Jrsn Text 7 Jurusan
hari Text Hari
jadwal Text Jadwal
76
e. Tabel SPP
Tabel.5 merupakan tebel yang berisi data-data pembayaran SPP,
strukturnya adalah sebagai berikut:
Tabel.5 Tabel SPP
Nama Field Jenis Panjang Deskripsi
id_spp Integer Id spp
nis Number 4 Nomor induk siswa
Jmlh_bayar Text 25 Jumlah pembayaran
ket Text 10 keterangan
f. Tabel Absen
Tabel.6 merupakan tabel yang berisi data-data absensi siswa, strukturnya
adalah sebagai berikut:
Tabel.6 Tabel Absen
Nama Field Jenis Panjang Deskripsi
id_absen Integer Id absen
nis Number 4 Nomor induk siswa
hari Text 15 Nama hari
ket Text 10 keterangan
g. Tabel User
Tabel.7 merupakan tabel yang menyimpan data admin, strukturnya adalah
sebagi berikut:
Tabel.7 Tabel User
Nama Field Jenis Panjang Deskripsi
id_user Integer Id user
password Text 25 Password
nama_lengkap Text 25 Nama lengkap
email Text 25 Email user
77
h. Tabel Pengumuman
Tabel.8 merupakan tabel yang berisi data-data pengumuman, strukturnya
adalah sebagai berikut:
Tabel.8 Tabel Pengumuman
Nama Field Jenis Panjang Deskripsi
id_pengumuman Integer Id pengumuman
judul Text 25 Judul pengumuman
isi Text 50 Isi pengumuman
tanggal Date Tanggal
id_user Integer Id user
status Text 5 Status
i. Tabel Berita
Tabel.9 merupakan tabel yang menyimpan data-data berita, strukturnya
adalah sebagai berikut:
Tabel.9 Tabel Berita
Nama Field Jenis Panjang Deskripsi
id_berita Integer Id berita
id_user Integer Id user
judul Text 25 Judul berita
isi_berita Text 50 Isi berita
gambar Text 100 Gambar
hari Text 20 Hari
jam Date/time Jam
tanggal Date/time tanggal
3.3 Analisis Domain ( Domain Analysis )
3.3.1 Class Diagram
Class diagram membantu kita dalam visualisasi struktur kelas-kelas dari
suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Class
78
diagram memperlihatkan hubungan antar kelas dan penjelasan detail tiap-tiap
kelas didalam model desain dari suatu sistem, seperti Gambar 3.14 berikut ini:
Gambar 3.24 Class Diagram Sistem Informasi Sekolah
79
Selama proses analisis, class diagram memperlihatkan aturan-aturan dan
tanggung jawab entitas yang menentukan perilaku sistem. Selama tahap desain,
class diagram berperan dalam menangkap struktur dari semua kelas yang
membentuk arsitektur sistem yang dibuat. Class diagram juga merupakan
fondasi untuk component diagram dan deployment diagram. Dalam sebuah model
mungkin terdapat beberapa diagram kelas dengan spesifikasi yang tersendiri.
3.3.2 Sequence Diagram
Sequence diagram menjelaskan interaksi object yang disusun dalam suatu
urutan waktu. Diagram ini secara khusus berasosiasi dengan use case. Sequence
diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk
menghasilkan sesuatu didalam use case. Pada Gambar dibawah ini digambarkan
sequence diagram dalam system informasi sekolah:
Gambar 3.25 Squence Diagram Lihat Data Absensi
80
: Siswa Server : Aplikasi SIS : controllertabel jdwl UAN
: juan
tabel jdwl
harian : jdwh
tabel jdwl UAS
: juas
kirimSMS( )
cekFormatSMS( )
getDataJdwlUAN( )
cekData( )
return( )KirimSMSBalasan( )
kirimSMS( )
cekFormatSMS( )
getJdwlHarian( )
cekData( )
return( )KirimSMSBalasan( )
terimaSMSBalasan( )
terimaSMSBalasan( )
kirimSMS( )
cekFormatSMS( )
getJdwlUAS( )
cekData( )
return( )
KirimSMSBalasan( )terimaSMSBalasan( )
Gambar 3.26 Squence Diagram Lihat Jadwal
81
Gambar 3.27 Squence Diagram Lihat Nilai
Ga
mbar 3.28 Squence Diagram Lihat SPP
82
Gambar 3.29 Squence Diagram Lihat Data Guru
83
: Siswa : Guru : Masyarakat Server : Aplikasi SIS : controllertabel :
pengumuman
kirimSMS( )
cekFormatSMS( )
cekData( )
getDataPengumuman( )
kirimSMS( )
cekFormatSMS( )
cekData( )
getDataPengumuman( )
kirimSMS( )
cekFormatSMS( )
cekData( )
getDataPengumuman( )
return( )
KirimSMSBalasan( )
terimaSMSBalasan( )
terimaSmsBalasan( )
terimaSmsBalasan
Gambar 3.30 Squence Diagram Lihat Informasi Sekolah
84
: Administrator web : Aplikasi SIS : controllertabel : module
getDataModule( )
tambahDataModule( )
cekData( )
hasilVerivikasi( )
return( )
display( )
cekData( )
isertData( )
return( )
display( )
updateDataModule( )
cekData( )
deleteDataModule( )
updateData( )
return( )
display( )
cekData( )
deleteData( )
return( )display( )
Gam
85
bar 3.31 Squence Diagram Maintain Module
86
: controller : Administrator web : Aplikasi SIStabel : absnh tabel : absn
getData( ):absensi harian
cekData( )
getDataAbsenHarian( )
getData( ):absensi per semester
cekData( )
getDataAbsen( )
return( )
return( )
display( )
tambahData( )
cekData( )
insert( )
insert( )
return( )
return( )
display( )
updateData( )
cekData( )
update( )
update( )
return( )
return( )
display( )
deleteData( )
cekData( )
delete( )
delete( )
return( )
return( )
display( )
Gambar 3.32 Squence Diagram Maintain Module Absen
87
: Administrator web : Aplikasi SIS : controllertabel : guru
getData( ):guru
cekData( )
select( ):getDataGuru
return( )
display( )
tambahData( )
cekData( )
insert( )
return( )
display( )
updateData( )
cekData( )
update( )
return( )
display( )
deleteData( )
cekData( )
delete( )
return( )
display( )
Gambar 3.33 Squence Diagram Maintain Module Guru
88
Dari beberapa gambar maintain module diatas, ada beberapa maintain
module yang tidak di tampilkan dalam gambar sequence diagram karena
mempunyai urutan proses yang sama. Yang membedakan adalah data yang di
prosesnya Gambar maintain module yang tidak ditampilkan adalah :
Maintain module inbox
Maintain module outbox
Maintain module sentitems
Maintain module SPP
Maintain module Jadwal
Maintain module Phone book
Maintain module Nilai
Maintain module user
3.4 Perancangan Format SMS
Untuk mendapatkan informasi-informasi yang akan diakses melalui SMS,
harus sesua dengan perintah-perintah yang telah di sediakan oleh sistem. Contoh
format SMS yang di sediakan dapat dilihat pada lampiran 1.
3.5 Desain Tampilan (Interface Design)
Berikut ini tampilan rancangan interface untuk sistem informasi sekolah dan
keterangan mengenai bagian-bagian dari interface tersebut. Yang akan
ditampilkan adalah interface yang memiliki rancangan dan fungsi yang saling
berbeda.
89
1. Halaman login
Gambar 3.34 Login Administrator
2. Halaman utama administrator
Gambar 3.35 Halaman Utama Administrator
90
3. Halaman maintain module
a. Halaman utama maintain module
Gambar 3.36 Maintain Module
91
b. Halaman tambah module
Gambar 3.37 Halaman Tambah Modul
c. Halaman edit module
Gambar 3.38 Halaman Edit Modul
4. Halaman maintain module Create Message
92
Gambar 3.39 Halaman Kirim Pesan
5. Halaman maintain module SPP
Gambar 3.40 Halaman SPP
6. Halaman maintain module Nilai
93
Gambar 3.41 Halaman Nilai
7. Halaman maintain module Jadwal
Gambar 3.42 Halaman Jadwal Harian
8. Halaman maintain module Inbox
94
Gambar 3.43 Halaman Inbox
9. Halaman maintain module Sent Items
Gambar 3.44 Halaman Sent Items
10. Halaman maintain module Phone Book
95
Gambar 3.45 Halaman Phone Book
96
BAB IV
PENGUJIAN DAN ANALISIS HASIL
Bab ini akan membahas analisa dan proses perancangan yang telah dibuat.
Tujuan dari pegujian ini adalah untuk mengetahui apakah aplikasi yang telah
dibuat sesuai dengan perancangannya. Selain itu juga untuk mengetahui detail
jalannya aplikasi serta kesalahan yang ada untuk pengembangan dan perbaikan
lebih lanjut.
4.1 Peralatan yang Digunakan
Pada proses pengujian ini dibutuhkan beberapa peralatan-peralatan baik
berupa perangkat keras dan perangkat lunak.
4.1.1 Perangkat Keras
Perangkat-perangkat keras yang akan digunakan dalam pengujian ini
adalah:
1. Satu buah PC
Fungsi dari PC ini adalah untuk menjalankan skrip PHP dengan
Gammu, juga untuk menghubungkan Gammu dengan telpon
genggam melalui port COM.
2. Dua buah telpon genggam
Dua buah telpon genggam ini mempunyai fungsi yang berbeda
yaitu satu telpon genggam berfungsi sebagai server yang terhubung
ke PC, satu lagi sebagai pengakses sistem informasi melalui SMS.
97
3. Kabel data
Kabel data ini berfungsi sebagai penghubung antara PC dengan
telpon genggam melalui port COM.
4.1.2 Perangkat Lunak
Perangkat lunak yang digunakan untuk pengujian aplikasi ini adalah :
1. Skrip PHP
Skrip PHP ini, merupakan bagian utama dari program. Karena
sebagian proses aplikasi terdapat pada skrip-skrip tersebut.
2. Gammu
Aplikasi ini berfungsi sebagai penghubung antara skrip PHP
dengan telpon genggam.
4.1.3 Konfigurasi Perangkat Keras
Konfigurasi perangkat keras dapat dilakukan dengan menghubungkan PC
dan telpon genggam menggunakan kabel data. Untuk mengetahui konfigurasi
perangkat keras dapat dilihat pada gambar 4.1 dibawah ini :
HP
PC
Port COM
Kabel Data
Gambar 4.1 Konfigurasi Perangkat Keras
98
4.2 Modul-Modul yang Digunakan
Beberapa modul atau skrip yang yang tersedia untuk mendukung
berjalannya sistem adalah :
1. Modul create message
Fungsi dari modul ini adalah untuk mengirimkan pesan kepada nomor
tujuannya melalui browser sistem informasi.
Form create message
<table> <tr>
<td>Phone Number</td>
<td>: <input type=text name=number size=60)</td>
<tr>
<td>Message</td>
<td>: <textarea name=message cols=60 rows=16></textarea>
</tr>
<tr>
<td colspan=2>
<input type=submit value=Send>
<input type=button value=Batal
onclick=self.history.back()>
";
$tampil = MySQL_query("SELECT * FROM outbox ORDER BY id
DESC ");
$jumlah=MySQL_num_rows($tampil);
if($jumlah > 0){
echo"still sending message";}
else{echo"message sent";}
echo"
</td>
</tr>
</table>
Kirim message
MySQL_query("insert into outbox
InsertIntoDB,SendingDateTime,DestinationNumber,Coding
,TextDecoded,SendingTimeOut,DeliveryReport)values(now
(),now(),'$number','Default_No_Compression','$message
',now(),'yes')");
99
2. Modul inbox
Modul ini berfungsi untuk menampilkan pesan di browser yang telah
diterima dari user. Skrip-skrip yang digunakan adalah :
$tampil = MySQL_query("SELECT * FROM inbox2 ORDER BY id_inbox2 DESC limit $posisi,$batas");
$no = $posisi+1;
while($r=MySQL_fetch_array($tampil))
{
if ($warna==$warna1)
{
$warna=$warna2;}
Else
{
$warna=$warna1;
} echo "<tr bgcolor=$warna><td>$no</td>
<td>$r[receive_date_time]</td>
<td>$r[phone_number]</td>
<td>$r[message]</td>
<td><a
href=?act=editinbox2&id=$r[id_inbox2]>Edit</a>
|<a
href=aksi.php?module=inbox2&act=hapus&id=$r[id_inb
ox2]>Hapus</a>
</td>
</tr>";
$no++;
}
3. Modul sent items
Modul ini berfungsi untuk mengetahui pesan yang telah terkirim ke user
skrip-skrip PHP yang digunakan adalah :
$tampil = MySQL_query("SELECT * FROM sentitems ORDER BY ID
DESC limit $posisi,$batas");
$no = $posisi+1;
while($r=MySQL_fetch_array($tampil))
{
if ($warna==$warna1)
{
$warna=$warna2;}
Else
{
$warna=$warna1;
}
echo "<tr bgcolor=$warna>
100
<td>$no</td>
<td>$r[SendingDateTime]</td>
<td>$r[DestinationNumber]</td>
<td>$r[TextDecoded]</td>
<td><a href=?act=editsentitems&id=$r[ID]>Edit</a>|<a
href=aksi.php?module=sentitems&act=hapus2&id=$r[ID]>
Hapus</a></td>
</tr>";
$no++;
}
4. Bagian Login
Pada bagian ini ada beberapa skrip PHP yang digunakan untuk login ke
browser sistem informasi yaitu :
Form login
<?php
echo "<form method=POST action=cek_login.php>
<table>
<tr>
<td>Username</td>
<td> : <input type=text name=username></td>
</tr>
<tr><td>Password</td>
<td> : <input type=password name=password></td>
</tr>
<tr><td colspan=2><input type=submit
value=Login></td></tr>
</table>
</form>"; ?>
Cek login
<?php
include "../config/koneksi.php";
$pass=md5($_POST[password]);
$login=MySQL_query("SELECT * FROM user WHERE
id_user='$_POST[username]' AND
password='$pass'");
$ketemu=MySQL_num_rows($login);
$r=MySQL_fetch_array($login);
// Apabila username dan password ditemukan
if ($ketemu > 0)
{
101
session_start();
session_register("namauser");
session_register("passuser");
$_SESSION[namauser]=$r[id_user];
$_SESSION[passuser]=$r[password];
header('location:media.php?module=home');
}
Else
{
echo "<link href=../config/adminstyle.css rel=stylesheet
type=text/css>";
echo "<center>Login gagal! username & password tidak
benar<br>";
echo "<a href=index.php><b>ULANGI
LAGI</b></a></center>";
}
?>
Logout login
<?php
session_start();
session_destroy();
echo "<center>Anda telah sukses keluar sistem
<b>[LOGOUT]<b>";
?>
5. Modul User
$tampil=MySQL_query("SELECT * FROM user ORDER BY
id_user");
$no=1;
while ($r=MySQL_fetch_array($tampil))
{
if ($warna==$warna1)
{
$warna=$warna2;
}
Else
{
$warna=$warna1;
}
echo "<tr bgcolor=$warna>
<td>$no</td>
<td>$r[id_user]</td>
<td>$r[nama_lengkap]</td>
<td><a href=mailto:$r[email]>$r[email]</a></td>
<td><a href=?act=edituser&id=$r[id_user]>Edit</a> |
<a
href=aksi.php?module=user&act=hapus&id=$r[id_user]>H
102
apus</a>
</td></tr>";
$no++;
}
6. Modul Guru
$tampil = MySQL_query("SELECT * FROM guru ORDER BY id_guru
DESC limit $posisi,$batas");
$no = $posisi+1;
while($r=MySQL_fetch_array($tampil))
{
if ($warna==$warna1)
{$warna=$warna2;}
Else
{$warna=$warna1;}
echo "<tr bgcolor=$warna>
<td>$no</td>
<td>$r[NIP]</td>
<td>$r[No_Hp]</td>
<td>$r[NAMA]</td>
<td>$r[Mata_peljran]</td>
<td><a
href=?act=editguru&id=$r[id_guru]>Edit</a> |
<a
href=aksi2.php?module=guru&act=hapus&id=$r[id_
guru]>H apus</a>
</tr>";
$no++;
}
7. Modul phone book
$tampil = MySQL_query("SELECT * FROM p_book ORDER BY
id_p_book DESC limit$posisi,$batas");
$no = $posisi+1;
while($r=MySQL_fetch_array($tampil))
{
$tgl_posting=tgl_indo($r[tanggal]);
if ($warna==$warna1)
{$warna=$warna2;}
Else
{$warna=$warna1;}
echo "<tr bgcolor=$warna>
<td>$no</td>
<td>$r[No_Hp]</td>
<td>$r[NIS]</td>
<td>$r[PIN]</td>
<td>$r[NAMA]</td>
103
<td><a
href=?act=editp_book&id=$r[id_p_book]>Edit</a>
|<a
href=aksi.php?module=p_book&act=hapus&id=$r[id
_p_book ]>Hapus</a></td>
</tr>";
$no++;
}
8. Modul Nilai
echo"<h6>Nilai Umum</h6>
<table>
<tr><th>no</th>
<th>NIS</th>
<th>PIN</th>
<th>NAMA</th>
<th>KLS</th>
<th>JRSN</th>
<th>SMTR</th>
<th>PPKN</th>
<th>BIND</th>
<th>BING</th>
<th>BAR</th>
<th>PJK</th>
<th>MTK</th></tr>";
$tampil = MySQL_query("SELECT * FROM n_man ORDER BY NIS
ASC limit $posisi,$batas");
$no = $posisi+1;
while($r=MySQL_fetch_array($tampil)){
if ($warna==$warna1){
$warna=$warna2;}
else{$warna=$warna1;}
echo"<tr bgcolor=$warna><td align=center>$no</td>
<td align=center>$r[NIS]</td>
<td align=center>$r[PIN]</td>
<td align=center>$r[NAMA]</td>
<td align=center>$r[KLS]</td>
<td align=center>$r[JRSN]</td>
<td align=center>$r[SMTR]</td>
<td align=center>$r[PPKN]</td>
<td align=center>$r[BIND]</td>
<td align=center>$r[BING]</td>
<td align=center>$r[BAR]</td>
<td align=center>$r[PJK]</td>
<td align=center>$r[MTK]</td
</tr>"
$no++;
}
echo"</table>";
echo"<h6>Nilai IPA dan IPS</h6>
104
<table>
<tr><th>no</th>
<th>NIS</th>
<th>PIN</th>
<th>NAMA</th>
<th>KLS</th>
<th>JRSN</th>
<th>SMTR</th>
<th>FSK</th>
<th>BIO</th>
<th>KIM</th>
<th>EKO</th>
<th>SOS</th>
<th>GEO</th></tr>";
$tampil = MySQL_query("SELECT * FROM n_man ORDER BY
id_n_man DESC limit $posisi,$batas");
$no = $posisi+1;
while($r=MySQL_fetch_array($tampil))
{
if ($warna==$warna1){
$warna=$warna2;}
else{$warna=$warna1;}
echo"<tr bgcolor=$warna>
<td align=center>$no</td>
<td align=center>$r[NIS]</td>
<td align=center>$r[PIN]</td>
<td align=center>$r[NAMA]</td>
<td align=center>$r[KLS]</td>
<td align=center>$r[JRSN]</td>
<td align=center>$r[SMTR]</td>
<td align=center>$r[FSK]</td>
<td align=center>$r[BIO]</td>
<td align=center>$r[KIM]</td>
<td align=center>$r[EKO]</td>
<td align=center>$r[SOS]</td>
<td align=center>$r[GEO]</td>";
$no++;
}
echo"</table>";
echo"<h6>Nilai Agama</h6>
<table>
<tr><th>no</th>
<th>NIS</th>
<th>PIN</th>
<th>NAMA</th>
<th>KLS</th>
<th>JRSN</th>
<th>SMTR</th>
<th>QH</th>
<th>FQH</th>
<th>AQAH</th>
<th>STATUS</th>
<th>AKTIF</th><th>aksi</th></th>
</tr>";
$tampil = MySQL_query("SELECT * FROM n_man ORDER BY
id_n_man DESC limit $posisi,$batas");
105
$no = $posisi+1;
while($r=MySQL_fetch_array($tampil))
{
if ($warna==$warna1){
$warna=$warna2;}
else{$warna=$warna1;}
echo"<tr bgcolor=$warna><td align=center>$no</td>
<td align=center>$r[NIS]</td>
<td align=center>$r[PIN]</td>
<td align=center>$r[NAMA]</td>
<td align=center>$r[KLS]</td>
<td align=center>$r[JRSN]</td>
<td align=center>$r[SMTR]</td>
<td align=center>$r[QH]</td>
<td align=center>$r[FQH]</td>
<td align=center>$r[AQAH]</td>
<td align=center>$r[STATUS]</td>
<td align=center>$r[AKTIF]</td>
<td><a
href=?act=editnilaiman&id=$r[id_n_man]>Edit</a
> |<a
href=aksi.php?module=n_man&act=hapus&id=$r[id_
n_man]> Hapus</a></td>
</tr>";
$no++;
}
9. Modul Jadwal
$tampil = MySQL_query("SELECT * FROM jdwh ORDER BY id_jdwh
DESC limit $posisi,$batas");
$no = $posisi+1;
while($r=MySQL_fetch_array($tampil))
{
if ($warna==$warna1)
{$warna=$warna2;}
else{$warna=$warna1;}
echo "<tr bgcolor=$warna><td>$no</td>
<td>$r[KLS]</td>
<td>$r[SMTR]</td>
<td>$r[JRSN]</td>
<td>$r[hari]</td>
<td>$r[jadwal]</td>
<td><a
href=?act=editjdwh&id=$r[id_jdwh]>Edit</a> |
<a
href=aksi.php?module=jdwh&act=hapus&id=$r[id_j
dwh]>Hapus</a></td>
</tr>";
$no++;
}
106
10. Koneksi db
<?
$server = "localhost";
$username = "root";
$password = "root";
$database = "sekolah";
MySQL_connect($server,$username,$password) or die("Koneksi
gagal");
MySQL_select_db($database) or die("Database tidak bisa
dibuka");
?>
4.3 Prosedur Pengujian
Pengujian dilakukan untuk mengetahui apakah tiap-tiap aplikasi yang telah
dibuat bisa berjalan dengan baik. Pengujian ini dilakukan untuk mengetahui
kelemahan-kelemahan dan kekurangan dari aplikasi. Pengujian yang dilakukan
meliputi :
1. Instalasi Web Server
2. Instalasi PHP
3. Instalasi MySQL
4. Instalasi Gammu
5. Pengecekan hubungan telpon genggam dengan Gammu
6. Pengujian pengiriman SMS melalui browser
7. Pengujian melihat daftar SMS masuk
8. Pengujian pengiriman perintah-perintah melalui SMS
9. Pengujian melihat respon balikan dari SMS Gateway
107
4.4 Hasil Pengujian dan Pembahasan
Berikut ini adalah hasil dan pengujian berdasarkan prosedur pengujian
diatas dan pembahasnnya.
4.4.1 Instalasi Web Server, PHP, MySQL
Penggunaan web server ini bertujuan untuk menjalankan aplikasi yang
berbasis web, maka untuk mendukung berjalannya program maka harus dilakukan
proses instalasi web server. Web server yang digunakan disini adalah appserv-
win32-2.5.8, di dalam web sever ini ketika sudah terinstal maka database MySQL
dan PHPnya juga langsung terinstal. Untuk mendapatkan appserv-win32-2.5.8
unduh di http://www.AppServNetwork.com. Untuk manual instalasinya dapat
merujuk langsung ke website tersebut.
4.4.2 Instalasi Gammu
Gammu ini berfungsi untuk menghubungkan skrip PHP dengan ponsel.
Disini gammu yang digunakan adalah Gammu-1.17.92-Windows, untuk
mendapatkan gammu dapat mengunduh gammu di
http://www.mwiacek.com/gsm/soft/gammu.rss dan untuk proses instalasi dan
konfigurasinya manualnya dapat merujuk ke
http://www.muhadkly.net/sms-gateway-menggunakan-gammu
http://www.freaksides.com/wp/2008/02/21/web-sms-application-dengan-gammu-
bag1/#comment-60.
4.4.3 Pengecekan Hubungan Telpon Genggam Dengan Gammu
Pengecekan hubungan telpon genggam dengan gammu dapat dilakukan
dengan mengetikkan perintah :
108
C:\Gammu\bin>gammu –identify
Gambar 4.2 Perintah Pengecekan Hubungan Telpon Genggam
Dengan Gammu
Perintah pada gambar diatas kita ketikkan di CMD. Adapun hasil perintah
yang dijalankan adalah :
Gambar 4.3 Hasil Perintah Pengecekan Hubungan Telpon Genggam Dengan
Gammu
4.4.4 Pengujian Pengiriman SMS melalui browser
Sebelum mengirimkan SMS terlebih dahulu jalankan SMS gatewaynya
dengan memilih menu Start SMS Gateway setelah itu baru proses pengiriman
SMS dapat dilakukan. Pengiriman SMS melalui browser dapat dilakukan dengan
memilih menu create message, maka akan tapil halaman web seperti dibawah ini:
109
Gambar 4.4 Pengiriman SMS
Pada gambar 4.4 diatas pesan dikirimkan ke no +6285649949332 dan isi pesannya
adalah Tes Kirim SMS maka browser akan memproses pesan yang akan dikirim.
Apabila sudah terkirim maka akan ada laporan message sent dan untuk melihat
hasil SMS yang telah terkirim dapat dilihat pada menu sent item. Untuk
mengetahui SMS telah terkirim dapat dilihat pada gambar dibawah ini:
Gambar 4.5 Hasil Pengiriman SMS
110
4.4.5 Pengujian Melihat Daftar SMS Masuk
Untuk melihat daftar SMS yang masuk dapat dilakukan dengan memilih
menu inbox untuk melihat hasil pengujiannya dapat dilihat pada gambar di bawah
ini:
Gambar 4.6 SMS Masuk
4.4.6 Pengujian Pengiriman Perintah-perintah Melalui SMS dan Respon
Balikan dari SMS gateway
Setelah sistem menerima SMS berisi perintah yang telah ditentukan oleh
sistem, maka sistem akan membaca SMS tersebut, yang kemudian akan diberikan
respon balikan atau balasan dari SMS yang diterima melalui SMS gateway.
Kemudahan dalam pengaksesan informasi dari sekolah ini, merupakan aplikasi
firman Allah SWT (QS. Alam Nasyrah, 94: 5-7) mengenai arti dan makna dari
ayat tersebut telah dijelaskan pada bab dua. Hasil pengujian perintah-perintah dan
respon balikan dari SMS gateway dapat dilihat pada gambar di bawah ini:
111
1. Melihat Nilai siswa
Gambar 4.7 Perintah SMS Untuk Lihat Nilai
Gambar 4.8 Respon Balikan SMS Untuk Lihat Nilai
2. Melihat Nilai UAN
Gambar 4.9 Perintah Untuk Mengetahui Nilai UAN
112
Gambar 4.10 Respon Balikan SMS Untuk Mengetahui Nilai UAN
3. Mengetahui Pengajar
Gambar 4.11 Perintah Untuk Mengetahui Pengajar
Gambar 4.12 Respon Balikan SMS Untuk Mengetahui Pengajar
113
4. Mengetahui Jadwal UAS
Gambar 4.13 Perintah Untuk Mengetahui Jadwal UAS
Gambar 4.14 Respon Balikan SMS Untuk Mengetahui Jadwal UAS
5. Mengetahui Jadwal Harian
Gambar 4.15 Perintah Untuk Mengetahui Jadwal Harian
114
Gambar 4.16 Respon Balikan Untuk Mengetahui Jadwal Harian
6. Mengetahui Kegiatan Ekstrakurikuler Siswa
Gambar 4.17 Perintah Untuk Mengetahui Kegiatan Ekstrakurikuler
Gambar 4.18 Respon Balikan Untuk Mengetahui Kegiatan
Ekstrakurikuler
115
7. Pemba yaran SPP
Gambar 4.19 Perintah Untuk Mengetahui Pembayaran SPP
Gambar 4.20 Respon Balikan Untuk Mengetahui Pembayaran SPP
8. Mengetahui Jumlah Absensi Tiap Semester
Gambar 4.21 Perintah Untuk Mengetahui Jumlah Absensi tiap
Semester
116
Gambar 4.22 Respon Balikan Untuk Mengetahui Jumlah Absensi
Tiap Semester
9. Mengetahui Absensi Harian Siswa
Gambar 4.23 Perintah Untuk Mengetahui Absensi Harian Siswa
Gambar 4.24 Respon Balikan Untuk Mengetahui Absensi Harian
Siswa
117
10. Izin Guru
Gambar 4.25 Perintah Untuk Melakukan Izin
Gambar 4.26 Respon Balikan Izin Guru
11. Mengetahui Wali Kelas
Gambar 4.27 Perintah Untuk Mengetahui Wali Kelas Siswa
118
Gambar 4.28 Respon Balikan Untuk Mengetahui Wali Kelas
12. Mengetahui Jadwal UAN
Gambar 4.29 Perintah Untuk Mengetahui Jadwal UAN
Gambar 4.30 Respon Balikan Untuk Mengetahui Jadwal UAN
119
13. Mengetahui Nilai Penerimaan Siswa Baru (PSB)
Gambar 4.31 Perintah Untuk Mengetahui Nilai PSB
Gambar 4.32 Respon Balikan Untuk Mengetahui Nilai PSB
120
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil penelitian yang telah dilakukan dapat diambil beberapa
kesimpulan yaitu :
1. Sistem informasi sekolah via SMS gateway ini dapat menggunakan
simcard yang berbeda, baik pada server yang ada di sekolah maupun
pengguna (user).
2. Sistem informasi sekolah ini dapat mengirim dan menerima SMS melalui
browser.
3. Sistem dapat membalas SMS secara otomatis apabila format SMS yang
diterima sesuai dengan format SMS dari sistem.
4. Data yang ada di database baik berupa profile lembaga, visi dan misi dapat
di sesuaikan dengan profile, visi dan misi lembaga-lembaga yang akan
menggunakan sistem informasi sekolah ini.
5.2 Saran
Bila sistem informasi sekolah via SMS gateway berbasis CMS ini akan
digunakan sebaiknya memperhatikan beberapa faktor :
1. Kualitas device seperti HP dan kabel data yang digunakan.
2. Trafik SMS pada jaringan operator cellular.
121
3. Biaya SMS balasan dari server yang masih dibebankan kepada server.
Dengan kata lain, server akan mengeluarkan biaya SMS setiap kali
membalas SMS balasan kepada pengirim atau pengguna yan mengirim
SMS permintaan informasi ke server. Untuk mengatasi kendala itu, dapat
dilakukan dengan para provider GSM yang ada untuk mendapatkan
sebuah nomor telepon GSM yang bertarif premium.
122
DAFTAR PUSTAKA
Budicahyanto, Dwi, 2004 “Membangun Aplikasi Handphone Dengan
MobileFBUS dan Visual Basic”, Penerbit Andi,Yogyakarta.
Dharma Oetomo, Budi Soetedjo & Handoko, Yosia, 2003 “ Teleakses Database
Pendidikan Berbasis Ponsel”, Penerbit Andi, Yogyakarta.
Hakim, Lukmanul, 2008 “Membongkar Trik Rahasia Para Master PHP”, Penerbit
Lokomedia, Yogyakarta.
Lukmanul Hakim dan Musalini,Uus, 2005 ”150 Rahasia dan Trik Mnguasai
PHP”, Penerbit, PT.Elex Media Komputindo, Jakarta.
Marcus Zakaria, Teddy & Widiadhi, Josef, 2006 “Aplikasi SMS Untuk Berbagai
Keperluan”, Penerbit Informatika, Bandung .
Mulyanta, Edi S, 2005 “Kupas Tuntas Telepon Seluler”, Penerbit Andi,
Yogyakarta.
Sidik, Betha, 2005 “MySQL” Penerbit Informatika, Bandung.
Wahana Komputer, Tim Penelitian dan Pengembangan, 2005 “Pengembangan
Aplikasi Sistem Informasi Akademik Berbasis SMS dengan Java”, Penerbit
Salemba Infotek, Jakarta.
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring
http://www.freaksides.com/wp/2008/02/21/web-sms-application-dengan-gammu-
bag1/#comment-60
http://dl.cihar.com/gammu/releases/windows/(10-04-08)