1 PERANCANGAN SISTEM INFORMASI BERBASIS SMS DAN IMPLEMENTASINYA DI SEKOLAH MENENGAH ATAS PANCA BUDI MEDAN SKRIPSI SRI FITRIATI PROGRAM STUDI S1 ILMU K...
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: PERANCANGAN SISTEM INFORMASI BERBASIS SMS DAN IMPLEMENTASINYA DI SEKOLAH MENENGAH ATAS PANCA BUDI MEDAN : SKRIPSI : SRI FITRIATI : 041401024 : SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 17 Maret 2009
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Drs. Agus Salim Harahap, M.Si NIP. 130 936 279
Prof. Dr. Muhammad Zarlis NIP. 131 570 434
Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,
Puji dan syukur penulis panjatkan kepada Allah SWT, yang selalu melimpahkan rahmat, kasih sayang, dan rizki yang tiada putus-putusnya, sehingga Alhamdulillah akhirnya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Bapak Prof. Dr. Muhammad Zarlis dan Bapak Drs. Agus Salim Harahap, M.Si selaku pembimbing yang membimbing penulis pada penyelesaian skripsi ini dan telah memberikan panduan dengan penuh kepercayaan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas dan padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Prof. Dr. Muhammad Zarlis dan Syariol Sitorus, S.Si., MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Ilmu Komputer FMIPA USU, pegawai di Departemen Ilmu Komputer USU. Ucapan terima kasih juga ditujukan kepada Bapak Prof. Dr. Iryanto, M.Si, dan Ibu Drs. Mardiningsih, M.Si selaku dosen penguji dan tidak lupa kepada rekan-rekan kuliah, Lintang Pratama, Dewi, Yona, Dede, Nita, Awe, Tri, Atika, Leni, Farida, Ainul, Fajar, Canggih, Yudhi Andrian yang selalu memberi semangat dan motivasi. Tidak terlupakan kepada Ibunda tercinta Suryati, Ayahanda Irwan dan Hasbi Madjid, adikadik tersayang, dan semua sanak keluarga yang selama ini memberikan bantuan dan dorongan yang penulis butuhkan. Jazakallah khairan katsiran. Akhirnya penulis mengharapkan skripsi ini bermanfaat bagi penulis sendiri khususnya dan teman-teman yang memiliki minat dalam mengembangkan perancangan sistem informasi berbasis SMS (Short Message Service), serta mampu memberi warna dalam aktivitas ilmu di Departemen Ilmu Komputer FMIPA USU. Penulis menyadari kajian ini masih sangat jauh dari sempurna. Oleh karena itu, kritik dan saran penulis harapkan, agar menjadi lebih baik lagi di masa depan.
Kemajuan teknologi yang ada sekarang telah memungkinkan penggunaan fasilitas SMS pada handphone semakin mudah, dan penggunaan SMS untuk layanan data pendidikan siswa akan memungkinkan penyediaan data pendidikan kepada siswa secara cepat, kapanpun dan dimanapun mereka membutuhkannya. Oleh karena itu, akan dirancang sebuah sistem informasi sekolah berbasis SMS yang dikembangkan dengan bekerja sama dengan Sekolah Menengah Atas Panca Budi Medan. Aplikasi meliputi layanan data jadwal pelajaran, data nilai semester, data absensi, serta pengiriman pengumuman dan penerimaan saran. Pemrograman dilakukan dengan menggunakan paket software XAMPP 1.6.7 yang meliputi bahasa pemrograman PHP 4.3.8, database server MySQL 5.0.51b, serta web server Apache2. Untuk SMS Hardware menggunakan handphone NOKIA 3310 dan SMS Gateway menggunakan Gammu. Gammu adalah software open source yang berfungsi menyalin SMS dari ponsel ke database MySQL dan mengirim SMS yang ada di dalam database MySQL sehingga memory ponsel untuk SMS tidak akan pernah penuh. Aplikasi yang telah diuji cukup bermanfaat dalam memberikan layanan, sehingga membantu pengguna atau siswa mendapat informasi yang dibutuhkan.
DESIGNING OF SHORT MESSAGE SERVICE INFORMATION SYSTEM AND ITS IMPLEMENTATION IN PANCA BUDI MEDAN SENIOR HIGH SCHOOL
ABSTRACT
Technological advancement today has made using the SMS feature in cell phones easier. And, through the use of SMS for education data serve, those data can be provided quickly for students wherever and whenever they need them. To fully utilize this opportunity, the application of short message service information system will be designed to provide students with education data that is developed together with Panca Budi Medan Senior High School. This application covering lesson schedule, semester values, attendance, sending information, and receive text suggestion service. The system is developed using software package named XAMPP 1.6.7 that is include of PHP 4.3.8 as a programming language, MySQL 5.0.51b as the database server, and Apache2 as the web server. For the SMS hardware, a NOKIA 3310 phone cells is used. And for the SMS Gateway, Gammu is used. Gammu is an open source software have function to move messages inbox from phone cells to MySQL and send message outbox from MySQL so that the memory of phone cells never be overfull. And this application is useful enough to give information services that needed by user or students.
Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Bab 1
PENDAHULUAN 1.1. Latar Belakang 1.2. Rumusan Masalah 1.3. Batasan Masalah 1.4. Tujuan Penelitian 1.5. Manfaat Penelitian 1.6. Metode Penelitian 1.7. Sistematika Penulisan
Bab 2
LANDASAN TEORI 2.1 Teknologi Komunikasi dan Informasi 2.2 Short Message Service (SMS) 2.3 Arsitektur Jaringan 2.4 Cara Kerja SMS 2.5 Header PDU 2.5.1 SMS PDU Pengirim (Mobile Originated) 2.5.2 SMS PDU Penerima (Mobile Terminated) 2.6 AT Command 2.6.1 Menggunakan AT Command 2.6.2 Menetukan Format Mode 2.6.3 Menetukan Jenis Encoding 2.6.4 Membuka Daftar SMS 2.6.5 Mendeteksi SMS Masuk Secara Otomatis 2.6.6 Membaca SMS 2.6.7 Menghapus SMS 2.6.8 Mengirim SMS 2.7 Pangkalan Data 2.7.1 DBMS (Database Management System) 2.7.2 Istilah dalam RDBMS 2.7.2.1 Baris dan Kolom 2.7.2.2 Hubungan 2.7.2.3 Kunci Primer dan Kunci Asing 2.7.2.4 Indeks
ii iii iv v vi vii x xi 1 1 3 3 4 4 5 7 9 9 9 10 12 15 15 19 21 21 22 22 23 25 25 26 27 27 28 29 29 29 30 30
ANALISIS DAN PERANCANGAN APLIKASI 3.1 Analisis 3.2 Konsep Sistem Informasi Sekolah Berbasis SMS 3.3 Perancangan Sistem 3.3.1 Info on Demand 3.3.2 Receive Message 3.3.3 Sending Message 3.4 Data Flow Diagram (DFD) 3.5 Perancangan Pangkalan Data 3.5.1 Struktur Tabel Siswa 3.5.2 Struktur Tabel Mata Pelajaran 3.5.3 Struktur Tabel Jadwal Pelajaran 3.5.4 Struktur Tabel Nilai Ujian 3.5.5 Struktur Tabel Absensi 3.5.6 Struktur Tabel Kelas 3.5.7 Struktur Tabel Saran 3.5.8 Truktur Tabel Pengumuman 3.5.9 Struktur Tabel Registrasi 3.5.10 Struktur Tabel SMS
32 32 32 33
IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi 4.2 Pengujian 4.2.1 Persiapan Teknis 4.2.2 Pengujian Aplikasi Berbasis SMS 4.2.2.1 Halaman Utama 4.2.2.2 Halaman Kode SMS 4.2.2.3 Halaman Data Siswa 4.2.2.4 Halaman jadwal Pelajaran 4.2.2.5 Halaman Nilai Semester 4.2.2.6 Halaman Absensi 4.2.2.7 Halaman Pengumuman 4.2.2.8 Halaman Saran 4.2.2.9 Halaman Registrasi 4.2.2.10 Halaman Inbox 4.2.3 Proses Pengujian Layanan dalam Basis Data 4.2.3.1 Proses Pengujian layanan Info on Demand 4.2.3.2 Proses Pengujian layanan Receive Message 4.2.3.3 Proses Pengujian layanan Sending Message 4.2.4 Pengujian Layanan yang Dikirim dan Diterima Pengguna 4.2.4.1 Pengujian Layanan Registrasi 4.2.4.2 Pengujian Layanan Jadwal Pelajaran 4.2.4.3 Pengujian Layanan Nilai Semester 4.2.4.4 Pengujian Layanan Absensi 4.2.4.4 Pengujian Layanan Saran 4.2.4.4 Pengujian Layanan Pengumuman
Tabel Jangka Waktu Validitas SMS Format Mode Keterangan CMGF Jenis Encoding Keterangan CSCS Membuka Daftar SMS Keterangan CMGL Mendeteksi Pesan SMS yang masuk Keterangan CNMI Membuka Daftar SMS Keterangan CMGR Menghapus Pesan SMS Keterangan CMGL Mengirim Pesan SMS Keterangan CMGS Spesifikasi Proses DFD Level 2 Proses 2 Struktur Tabel Siswa Struktur Tabel Mata Pelajaran Struktur Tabel Jadwal Pelajaran Penamaan Tabel Jadwal Pelajaran Setiap Kelas Struktur Tabel Nilai Ujian Semester Penamaan Tabel Nilai Ujian Semester Setiap Kelas Struktur Tabel Absensi Struktur Tabel Kelas Struktur Tabel Saran Struktur Tabel Pengumuman Struktur Tabel Registrasi Struktur Tabel SMS Struktur Tabel Inbox Struktur Tabel Outbox
Halaman Gambar 2.1 Gambar 2.2 Gambar 2.3 Gambar 2.4 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6 Gambar 4.7 Gambar 4.8 Gambar 4.9 Gambar 4.10 Gambar 4.11 Gambar 4.12 Gambar 4.13 Gambar 4.14 Gambar 4.15 Gambar 4.16 Gambar 4.17 Gambar 4.18 Gambar 4.19 Gambar 4.20 Gambar 4.21 Gambar 4.22 Gambar 4.23 Gambar 4.24 Gambar 4.25 Gambar 4.26 Gambar 4.27
Arsitektur Dasar untuk Sebuah Jaringan Layanan SMS Skenario SMS MO (Mobile Originated) Skenario SMS MT (Mobile Terminated) Fungsi dan Komponen Sistem Database Model Arsitektur Konsep Sistem Informasi Sekolah Berbasis SMS Diagram Konteks Sistem Infromasi Sekolah Berbasis SMS DFD Level 1 Sistem Infromasi Sekolah Berbasis SMS DFD Level 2 Proses 2 Sistem Informasi Sekolah Berbasis SMS Pangkalan Data Sistem Informasi Sekolah Berbasis SMS Perintah untuk mengaktifkan Gammu Tampilan Halaman Utama Tampilan Halaman Kode SMS Tampilan Halaman Data Siswa Tampilan Menambah Data Siswa Tampilan View Siswa Tampilan Edit Data Siswa Tampilan Halaman Jadwal Pelajaran Tampilan Halaman Nilai Semester Siswa Tampilan Halaman Absensi Tampilan Halaman Tambah Data Absensi Tampilan Halaman Edit Absensi Tampilan Halaman Pengisian Data Pengumuman Tampilan Halaman Saran Tampilan Halaman Registrasi Tampilan Halaman Inbox Alur Kerja Pengiriman SMS Autorespond untuk Registrasi pada Basis Data Alur Kerja Penerimaan SMS Saran pada Basis Data Alur Kerja Pengiriman Pengumuman pada Basis Data Hasil Pengujian Layanan Registrasi pada Handphone Pengguna Hasil Pengujian Layanan Data Jadwal Pelajaran Kelas IPA Pada Handphone Pengguna Data Nilai Semester Untuk NIS 058166 Pada Basis Data Hasil Pengujian Layanan Data Nilai Semester Pelajaran Matematika pada Handphone Pengguna Hasil Pengujian Layanan Data Ranking pada Handphone Pengguna Data Absensi Untuk NIS 058166 Pada Basis Data Hasil Pengujian Layanan Absensi pada Handphone Pengguna Tampilan Pengiriman Saran dari Pengguna
Gambar 4.28 Hasil Pengujian Layanan Saran pada Basis Data 70 Gambar 4.29 Pengisian Data Pengumuman pada Aplikasi 71 Gambar 4.30 Hasil Pengujian Layanan Pengumuman pada Handphone Pengguna 71
BAB 1
PENDAHULUAN
1.1
Latar Belakang
Dalam konteks pengembangan Sumber Daya Manusia, pendidikan adalah usaha yang secara sadar diarahkan untuk mengembangkan potensi generasi muda agar memiliki kemampuan, keterampilan, sikap, dan
kepribadian. Hal ini
sesuai
dengan tujuan Pendidikan Nasional yaitu terbentuknya manusia yang beriman dan bertakwa kepada Tuhan YME, berbudi pekerti luhur, berkepribadian, mandiri, maju, tangguh, cerdas, kreatif, berdisiplin, profesional, bertanggung jawab, produktif, serta sehat jasmani dan rohani.
Untuk mewujudkan tujuan ini diperlukan perhatian dan kerjasama yang terpadu dari semua elemen masyarakat dunia pendidikan, termasuk orang tua dan guru, sebagai elemen yang berhubungan langsung dengan proses pendidikan seorang anak.
Mengingat akan pesatnya kemajuan teknologi yang sudah merambah ke semua bidang, serta pola kehidupan masyarakat indonesia yang sudah relatif maju, dapat dipastikan bahwa hampir semua orang saat ini sudah memanfaatkan teknologi selular. Dan layanan SMS sebagai salah satu layanan selular yang paling populer serta paling diminati saat ini karena penggunaannya yang relative mudah serta biayanya yang sangat murah.
Information service/ information retrieval, dan aplikasi SMS lainnya (Dharma Oetomo, 2003). Dengan adanya aplikasi-aplikasi dari fasilitas SMS untuk aplikasi pengaksesan data, maka fasilitas SMS ini dapat digunakan untuk pengaksesan data informasi pendidikan sebuah sekolah.
Menyadari akan semua ini, timbul inisiatif untuk berpartisipasi aktif dalam membangun suatu aplikasi sistem informasi yang berbasis SMS pada Sekolah Menengah Atas Panca Budi Medan, terutama untuk mendapatkan layanan informasi ketika penerimaan siswa baru atau ketika pemberitahuan tunggakan SPP. Untuk bisa mendapatkan layanan informasi tersebut biasanya harus melalui prosedur yang harus dilakukan seperti harus datang ke sekolah untuk mendaftar serta mengantri. Maka aplikasi ini akan sangat membantu dalam melayani informasi terkait sekolah dengan harapan memudahkan sekolah, orangtua, dan siswa untuk mendapat informasi dimanapun dan kapanpun.
Dan aplikasi yang akan dibuat ini berfungsi sebagai suatu media komunikasi antara sekolah dengan orang tua dan sekolah dengan siswa, bukan hanya sebagai layanan untuk memudahkan orang tua dalam
mengawasi perkembangan putra-
putrinya di sekolah, tapi juga siswa sendiri yang akan merasa terpacu untuk belajar karena adanya informasi terkait sekolah.
Pengiriman informasi melalui media SMS akan menjamin tersampaikannya informasi secara cepat, tepat, akurat, online dan up to date, seperti informasi jadwal pelajaran, nilai ujian, absensi, informasi pembayaran SPP, dan pengiriman pengumuman masal.
perancangan aplikasi pengisian kartu rencana studi dan kartu hasil studi berbasis web dan SMS di program studi S-1 Ilmu Komputer Universitas Sumatera Utara. Aplikasi berbasis web menggunakan bahasa pemrograman PHP. Dan perangkat lunak bantu yang digunakan untuk perancangan aplikasi berbasis SMS adalah Gammu yang memproses SMS sesuai dengan format-format tertentu.
Adanya perbedaan dari hasil penelitian yang dilakukan oleh Fajar Andika (2007) dan Kurniawan (2007), memotivasi peneliti untuk melakukan penelitian mengenai penerapan aplikasi sistem informasi berbasis SMS yang akan menyajikan banyak fitur, seperti receive message, sending message, info on demand (automatic reply), dengan menggunakan PHP sebagai bahasa pemrograman berbasis SMS dan Gammu sebagai SMS gateway.
1.2
Rumusan Masalah
Berdasarkan latar belakang yang telah disebutkan, maka rumusan masalah yang dikaji dalam tugas akhir ini adalah:
1. Bagaimana membuat suatu sistem informasi pendidikan yang dapat diakses via sms dari berbagai operator telpon yang ada dengan menggunakan handphone berteknologi GSM maupun CDMA. 2. Bagaimana membantu segenap civitas pendidikan Sekolah Menengah Atas Panca Budi Medan untuk mendapatkan informasi terkini dari Sekolah Menengah Atas Panca Budi Medan yaitu dengan menyajikan layanan informasi berbasis SMS.
1. Aplikasi yang akan dibuat meliputi SMS untuk mendapatkan informasi jadwal pelajaran, nilai semester, peringkat kelas, absensi, pengumuman masal, dan pengiriman saran. 2. Sistem informasi yang akan dibuat hanya untuk digunakan oleh administrator sebagai operator, yaitu penerima dan pengirim pesan. 3. Tidak semua ponsel mendukung aplikasi ini, dan pada tugas akhir ini tidak dibahas mengenai compatibility perangkat keras. 4. Perancangan aplikasi berbasis SMS ini tidak membahas mengenai keamanan data, sosialisasi kata kunci untuk melakukan permintaan data, dan kerahasiaan nomor pengirim.
1.4
Tujuan Penelitian
Tugas akhir ini memiliki tujuan untuk merencanakan dan mengimplementasikan suatu aplikasi sistem informasi yang memudahkan sekolah, orang tua, dan siswa dalam berkomunikasi mobile berbasis SMS. Selain itu tujuan penulisan tugas akhir ini juga bertujuan untuk memperlihatkan bahwa kita mempunyai sumber daya untuk membuat aplikasi akademik sehingga di waktu yang akan datang mahasiswa bisa dilibatkan dalam pembuatan berbagai aplikasi.
1.5
Manfaat Penelitian
Manfaaat penelitian dari tugas akhir ini melibatkan beberapa pihak, yaitu sekolah, orang tua siswa, dan siswa.
memberikan data-data absensi, nilai atau tunggakan yang cepat dan autentik. 4. Sebagai
alternatif
pengiriman
pengumuman/
pemberitahuan/
peringatan kepada orang tua siswa sebagai ganti surat edaran sekolah, yang akan lebih menjamin informasi tersebut sampai ke orang tua siswa, dengan biaya yang
relatif tidak berbeda jauh dengan biaya
fotocopy surat edaran bahkan mungkin di masa mendatang akan jauh lebih murah.
b. Manfaat bagi orang tua/ wali siswa 1. Memudahkan pemantauan dan pengawasan putra-putrinya kapanpun dan dari manapun. 2. Mengetahui perkembangan prestasi siswa di sekolah dalam bentuk laporan nilai UAN di kelasnya. 3. Memonitor kehadiran putraputrinya di sekolah secara online tanpa harus menunggu laporan dari guru maupun pada saat pengambilan rapor. 4. Mengetahui status pembayaran SPP serta biaya pendidikan lainnya.
c. Manfaat bagi siswa 1. Memudahkan memperoleh data nilai ulangan harian atau ujian semester disertai dengan nilai rata-rata kelas perujian sebagai bahan evaluasi belajar maupun sebagai informasi kelulusan UAS dan UAN. 2. Siswa dapat melihat nilainya melalui SMS. 3. Siswa dapat meminta nilai remedial melalui SMS.
SMS, format pesan yang digunakan, proses pengiriman pesan, dan metode koneksi antara telepon selular dan komputer.
2. Observasi Metode ini dilaksanakan dengan melakukan pengamatan langsung di sekolah dan dengan pengamatan secara langsung tersebut akan diperoleh data–data yang dibutuhkan sesuai dengan tema penelitian. Misalnya seperti data siswa, kelas, jadwal pelajaran, jadwal ujian, data absensi, data administrasi, data penerimaan siswa baru, termasuk data-data up to date lainnya.
3. Analisis data Menganalisis kebutuhan yang berfokus pada domain informasi, unjuk kerja, konsep teknologi yang akan dipakai untuk membangun sistem informasi berbasis SMS, seperti antarmuka, jenis perangkat lunak yang digunakan, siapa pemakainya dan apa yang harus dihasilkan.
4. Perancangan Merancang sistem sesuai dengan kebutuhan. Perancangan dimulai dari tahap merancang Data Flow Diagram (DFD), dan dilanjutkan dengan merancang pangkalan data (database).
5. Pengkodean Menerjemahkan desain atau perancangan ke dalam bentuk yang bisa dibaca mesin atau bahasa pemrograman. Aplikasi berbasis SMS dikembangkan dengan menggunakan PHP sebagai bahasa pemrograman, MySQL sebagai pangkal datanya dan software Gammu sebagai SMS Gateway.
6. Pengujian Melakukan serangkaian ujicoba terhadap hasil dari implementasi aplikasi, dan memperbaiki jika masih terdapat kesalahan dan menarik kesimpulan dari analisis yang dilakukan.
7. Penulisan laporan dalam bentuk skripsi Menyusun laporan hasil analisis dan perancangan ke dalam format penulisan skripsi dengan disertai kesimpulan akhir.
1.7
Sistematika Penulisan
Pembahasain dalam tugas akhir ini secara garis besar terbagi dalam lima bab dengan susunan sebagai berikut:
BAB 1
:
PENDAHULUAN Berisi tentang
latar
belakang
diambilnya
judul tugas akhir
“Perancangan Sistem Informasi Berbasis SMS dan Implementasinya di Sekolah Menengah Atas Panca Budi Medan” , rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.
BAB 2
:
LANDASAN TEORI Membahas tentang pengertian SMS secara umum, arsitektur SMS, cara kerja pengiriman dan penerimaan SMS, pemahaman mengenai header PDU, perintah-perintah AT Command dan pangkalan data.
BAB 3
:
ANALISIS DAN PERANCANGAN SISTEM Berisi diagram konteks, DFD, serta struktur tabel dari aplikasi yang akan dibuat, yaitu aplikasi sistem informasi dengan menggunakan teknologi SMS.
BAB 4
:
IMPLEMENTASI DAN PENGUJIAN SISTEM Bab ini menjelaskan bagaimana mengimplementasikan aplikasi yang telah dirancang dan dilanjutkan dengan menguji aplikasi yang dibangun.
Salah satu teknologi yang sekarang berkembang dengan sangat pesat adalah tenologi komunikasi dan informasi. Short Message Service atau SMS merupakan dampak perkembangan teknologi selular yang memanfaatkan setiap kanal dan fasilitas yang tersedia seoptimal mungkin untuk memberikan layanan kepada pelanggannya.
2.2 Short Message Service (SMS)
Short Message Service atau SMS merupakan teknologi yang memungkinkan penggunanya melakukan pengiriman dan penerimaan pesan text melalui perangkat telepon selular (Bernatchez). Pada awalnya, SMS merupakan fitur standar yang hanya dimiliki oleh perangkat yang menggunakan teknologi GSM (Global System for Mobile) (Satriyantono, 2002). Dalam perkembangannya, fitur SMS ini akhirnya digunakan oleh teknologi wireless seperti CDMA dan TDMA untuk menjawab kebutuhan masyarakat luas dalam berkomunikasi.
(Buckingham dalam Santriyantono, 2002). Dalam perkembangannya, SMS menjadi salah satu service yang banyak diminati dan digunakan oleh user, hal ini karena teknologi SMS memiliki beberapa keunggulan, antara lain :
1. Harganya murah. 2. Merupakan ”deliver oriented service”, artinya pesan akan selalu diusahakan untuk dikirimkan ke tujuan. Jika suatu saat nomor tujuan sedang tidak aktif atau di luar coverage, maka pesan akan disimpan di SMSC server dan akan dikirimkan segera setelah nomor tujuan aktif kembali. Pesan juga akan tetap terkirim ke tujuan walaupun nomor tujuan sedang melakukan pembicaraan (sibuk). 3. Dapat dikirim ke banyak penerima sekaligus pada saat yang bersamaan. 4. Pesan dapat dikirmkan ke berbagai jenis tujuan, seperti e-mail, IP ataupun aplikasi lain. 5. Kegunaannya banyak, dengan cara diintegrasikan dengan applikasi content, SMS dapat digunakan untuk berbagai macam keperluan seperti kuis, voting, chatting, reservasi, request informasi, sensus/ survey, dan lainnya tergantung dengan kegunaan dan fungsi aplikasi content yang terhubungan dengan SMSC.
2.3 Arsitektur Jaringan SMS
SMS menyediakan mekanisme untuk menigirimkan pesan singkat dari dan menuju media-media wireless dengan menggunakan sebuah Short Messaging Service Center (SMSC), yang bertindak sebagai sistem yang berfungsi menyimpan dan mengirimkan kembali pesan-pesan singkat. Jaringan wireless menyediakan mekanisme untuk menemukan station yang dituju dan mengirimkan pesan singkat antara SMSC dengan wireless station. SMS mendukung banyak mekanisme input sehingga memungkinkan adanya interkoneksi dengan berbagai sumber dan tujuan pengiriman pesan yang berbeda.
Gambar 2.1 Arsitektur Dasar untuk Sebuah Jaringan Layanan SMS
Gambar 2.1 menunjukkan arsitektur dasar yang digunakan untuk sebuah jaringan layanan SMS. Jaringan ini dapat melayani berbagai macam sumber input, diantaranya voice mail system (VMS), messaging berbasis Web, integrasi dengan email, serta entitas-entitas pesan singkat eksternal (External Short Messaging Entiites/ ESME) lainnya.
Bila sebuah SMS dikirimkan dari MS A ke MS B, maka SMS itu akan diteruskan oleh BSS ke MSC dan kemudian ke SMSC. SMSC berfungsi mengirimkan SMS tersebut ke MS B. Untuk keperluan ini, SMSC harus tahu bagaimana status subscriber (aktif/ tidak aktif), dimana lokasi MS B berada. Informasi-informasi mengenai MS B ini didapat dari HLR.
Jika misalnya, MS B dalam keadaan tidak aktif, maka SMS tidak akan diforward dan diteruskan ke MSB, tapi akan disimpan untuk sementara di SMSC. Pada kondisi ini, SMSC A akan selalu berkomunikasi dengan HLR untuk mengetahui kondisi MS B. Bila suatu saat SMSC mendapatkan informasi dari HLR bahwa MS B aktif kembali, maka SMS akan diteruskan ke MSC A, MSCB, dan MS B.
2.4 Cara Kerja SMS
Untuk memahami cara kerja SMS, maka perlu diketahui komponen-komponen apa saja yang digunakan dalam mengirim dan menerima sebuah SMS. Komponenkomponen SMS meliputi:
a. External Short Messaging Entities (ESME)
ESME merupakan perlengkapan yang dapat mengirim dan menerima pesan pendek.
b. Short Messaging Service Center (SMSC)
SMSC bertanggung jawab untuk pengiriman, penyimpanan, dan penerusan pesan pendek antara SME dan MS.
c. Signal Transfer Point (STP)
STP merupakan elemen jaringan yang mengijinkan interkoneksi.
d. Home Location Register (HLR)
HLR merupakan database yang berguna sebagai tempat penyimpanan permanent dan pengelolaan abonemen dan profil layanan.
VLR merupakan database yang berisikan informasi sementara lokasi pelanggan.
f. Mobile Switcing Center (MSC)
MSC mnyelenggarakan fungsi pensaklaran (switching) system serta mengontrol panggilan ke dan dari telepon lain dan sistem data.
Gambar 2.2 Skenario SMS MO (Mobile Originated)
Gambar 2.2 menunujukan alur skenario pengiriman SMS MO dari MS ke ESME (SMS Originating). Penjelasannya adalah sebagai berikut:
1. MS diaktifkan dan ter-register ke networknya. 2. MS mengirimkan SMS ke MSC. 3. MSC berkomunikasi dengan VLR untuk memverifikasi bahwa message yang dikirimkan sesuai dengan supplementary service yang ada dan tidak MS tidak sedang dalam keaddan diblok untuk mengirimkan SMS. 4. MSC
5. SMSC meneruskan SMS ke SME. Secara optional, SMSC dapat juga menerima acknowledgment bahwa SMS telah diterima SME. 6. SMSC memberitahukan MSC bahwa SMS telah dikirimkan ke SME.
Gambar 2.3 Skenario SMS MT (Mobile Terminated)
Dan gambar 2.3 menunjukan alur skenario SMS yang diterima MS dari ESME (SMS Terminating). Penjelasannya adalah sebagai berikut:
1. ESME mengirimkan SMS ke SMSC. 2. Setelah menerima SMS, SMSC akan berkomunikasi dengan HLR mengetahui status dan lokasi MS. 3. SMSC meneruskan SMS ke MSC. 4. MSC akan menghubungi VLR untuk mengetahui informasi dari MS. Dalam tahap ini termasuk juga proses authentikasi MS. 5. Jika MS dalam keadaan aktif dan tidak diblock, MSC mentransfer SMS ke MS. 6. MSC akan mengirimkan informasi delivery message ke SMSC 7. Jika diminta oleh ESME, SMSC akan mengirimkan status report ke ESME.
Dibalik kemudahan yang diberikan layanan SMS, terdapat suatu sistem yang sangat kompleks. Pesan yang telah diketik di ponsel tidak langsung begitu saja dikirim ke SMSC (SMS Center), namun terlebih dahulu diubah kedalam suatu bentuk yang dikenal dengan istilah PDU (Protocol Data Unit), yaitu paket data dimana pesan dikemas. PDU berisi bilangan heksadesimal yang mencerminkan bahasa Input Output. PDU terdiri dari beberapa Header atau potongan informasi. Header untuk mengirim SMS atau pesan ke SMSC berbeda dengan SMS yang diterima dari SMSC.
2.5.1 SMS PDU Pengirim (Mobile Originated)
Jika sebuah ponsel akan mengirim pesan “halo” ke nomor +6281397777071 melalui SMS center +6281100000, maka ponsel akan mengirimkan sederetan bilangan heksa dalam bentuk PDU yang terdiri atas delapan header, yaitu :
1. Nomor SMS-Center
Header pertama ini terbagi atas tiga subheader, yaitu : a. Jumlah pasangan Heksadesimal SMSC dalam bilangan heksa. b.
National/ International Code Untuk National Code atau kode nasional , kode subheadernya adalah 81. Sedangkan untuk International Code atau kode internasional kode subheadernya adalah 91.
c. Nomor SMSC itu sendiri disusun dalam pasangan heksa yang dibalikbalik. Jika tertinggal satu angka heksa yang tidak memiliki pasangan, angka tersebut akan dipasangkan dengan huruf F di depannya.
b. Nomor SMSC itu sendiri disusun terbalik-balik sehingga menjadi 2618010000.
Jumlah pasangan header adalah 6 pasang (1 pasang National Code dan 5 pasang untuk SMSC itu sendiri, sehingga header untuk SMSC menjadi 0691 2618010000.
2. Tipe SMS
Untuk proses pengiriman, maka tipe SMS adalah adalah 01 heksadesimal.
3. Nomor Referensi SMS
Nomor referensi ini dibiarkan saja bernilai 0, jadi bilangan heksanya adalah 00. Nanti nomor referensi ini akan diberikan secaara otomatis oleh ponsel.
4. Nomor Tujuan
Cara penulisan nomor tujuan hampir sama seperti cara penulisan untuk SMSCentre. Misalnya nomor tujuannya adalah 6281397777071, maka nomor ini akan dikonversikan ke dalam bentuk PDU dengan cara sebagai berikut : a. Jumlah nomor tujuan adalah 13 angka sehingga bilangan heksanya adalah 0D b. Nomor tujuan 6281397777071 menggunakan kode nasional sehingga subheadernya adalah 91. c. Nomor tujuan tersebut lalu disusun dibalik-balik sehingga menjadi 261893777707F1
Jika SMS dikirim sebagai bentuk SMS biasa, maka kodenya adalah 00 heksadesimal. Namun jika SMS dikirim sebagai telex, maka kodenya adalah 01. Sedangkan jika dikirim sebagai fax, maka kodenya adalah 02.
6. Skema Encoding
Kebanyakan ponsel yang ada dipasaran sekarang menggunakan skema 7 bit sehingga kode skema encodingnya adalah 00 heksadesimal.
7. Jangka Waktu Pengiriman SMS
Jika bagian ini dilewatkan, berarti kita tidak membatasi waktu berlakunya SMS. Sedangkan jika kita isi dengan suatu bilangan integer yang kemudian diubah ke pasangan bilangan heksa tertentu, bilangan yang telah kita berikan tersebut akan mewakili jumlah waktu validitas SMS tersebut.
Adapun Rumus untuk menghitung jangka waktu validitas SMS adalah sebagai berikut :
Tabel 2.1 Tabel Jangka Waktu Validitas SMS Integer(INT) Jangka waktu validitas SMS 0 -143
Jika hendak mengirim kata “halo”, maka kata ini harus diubah ke dalam bentuk PDU dengan langkah sebagai berikut: a. mengubahnya menjadi kode biner 7 bit h
110 1000
a
110 0001
l
110 1100
o
110 1111
b. mengubah 7 bit ke 8 bit yang diwakili oleh pasangan bilangan heksa h
E 8 1 110 1000
a
3 0 00 11 0 000 1
l
F B 111 1 10 11 00
o
0 0000
D 110 1 111
c. Panjang dari pesan SMS, dalam hal ini adalah 4 huruf (dalam mode 7 bit), sehingga bilangan heksanya adalah 04.
Dengan demikian kata “halo” telah diubah menjadi 04 E830FB0D
Setelah diperoleh delapan header untuk mengirim SMS, lalu kedelapan header tersebut digabung menjadi sebuah PDU yang lengkap. Sehingga untuk mengirim pesan “halo” ke nomor +6281397777071 melalui SMSC 081100000, maka bentuk PDU lengkap untuk proses tersebut adalah : 06 91 80110000F0 01 00 0D 91 26189377707F1 00 00 04 E830FB0D
SMS PDU Penerima adalah terminal yang berfungsi menerima pesan yang akan datang atau masuk dari SMSC dalam format PDU. Pada prinsipnya pesan yang kita terima dari SMSC masih dalam format PDU, kemudian terminal handphone menerima pesan yang akan melakukan pengkodean menjadi teks, proses ini sering disebut proses decodec. Cara pengkodean format PDU sudah diatur dan distandarkan oleh ETSI. PDU untuk handphone penerima ini terbagi atas 8 header.
Berikut ini adalah contoh PDU yang diterima oleh handphone: 07 91 2658050000F0 04 0C 91 265836164900 00 00 806020 31133180 04 C830FB0D Maka, keterangannya adalah sebagai berikut: 1. Nomor SMS-Center
Nomor SMS-Center dapat diperoleh sebagai berikut: a. 07 heksadesimal adalah panjang atau jumlah pasangan digit dari nomor SMSC (service number) yang digunakan, dalam hal ini adalah 7 pasangan (14 digit berikutnya). b. 91 heksadesimal adalah jenis nomor SMSC. Angka 91 menandakan format
nomor
internasional
(misal
+6281xxx).
Untuk
081xxx
menggunakan angka 81. c. 2658050000F0 heksadesimal adalah omor SMSC yang digunakan. Karena jumlah digit nomor SMS adalah ganjil, maka digit paling belakang dipasangkan dengan huruf F. Kalau diterjemahkan, nomor SMSC yang digunakan adalah +62855000000 (IM3).
Nomor ponsel pengirim dapat diketahui dengan cara berikut: a.
0B heksadesimal adalah panjang digit dari nomor pengirim (0C hex = 12 desimal).
b.
91 heksadesimal adalah jenis nomor pengirim (sama dengan jenis nomor SMSC).
c.
265836164900 heksadesimal adalah nomor pengirim SMS, yang jika diterjemahkan adalah +628563619400.
4. Bentuk SMS
00 heksadesimal artinya pesan diterima dalam bentuk SMS.
5. Skema Encoding
00 heksadesimal adalah nilai skema pengkodean SMS.
6. Tanggal dan waktu SMS sampai di SMSC
806020 311331 80 heksadesimal adalah waktu pengiriman, yang berarti 05-06-08 (2 Juni 2008), dan jam 13:31:13. Sedangkan 80 adalah Timezone yang digunakan.
C830FB0D heksadesimal adalah Pesan SMS dalam mode 7 bit. Jika diterjemahkan kedalam 8 bit, lalu dirubah ke ASCII, maka didapat pesan “Halo”.
2.6 AT Command
AT command adalah perintah-perintah yang digunakan untuk berkomunikasi dengan serial port pada sebuah perangkat lunak (Purnomo, 2005). Dengan AT command kita dapat mengetahui vendor handphone yang sedang digunakan, kekuatan sinyal, membaca pesan yang ada pada SIM card, mengirim pesan, mendeteksi SMS baru yang masuk secara otomatis, menghapus pesan pada SIM card, dan lain-lain.
Pada tahap awal, koneksi antara handphone dan PC dapat diuji melalui perintah-perintah AT yang diketikkan pada hyper terminal. Hyper terminal adalah perangkat lunak yang terintegrasi dengan sistem operasi windows. Kegunaan dari perangkat lunak ini adalah melakukan hubungan dengan terminal yang ada. Untuk melakukan koneksi dan serangkaian fungsi-fungsi yang berhubungan dengan SMS, ada beberapa perintah AT yang digunakan.
2.6.1 Menggunakan AT Command
Dalam menggunakan AT command beberapa hal yang harus diperhatikan yaitu perintah-perintah apa saja yang harus dimasukkan pada terminal, tindakan apa yang harus dilakukan setelah perintah-perintah dimasukkan ke terminal, dan yang terakhir mengetahui respons apa yang didapat setelah melakukan tindakan pada perintahperintah yang dimasukkan. Tidak semua AT command memiliki tindakan dan respons yang sama.
Keterangan Angka yang menunjukkan: “0” = Pesan SMS yang belum dibaca pada Inbox SIM card “1” = Pesan SMS yang sudah dibaca pada Inbox SIM card
<stat>
“2” = Pesan SMS yang belum terkirim pada Outbox SIM card “1” = Pesan SMS yang sudah terkirim pada Outbox SIM card “4” = Semua pesan SMS yang ada dalam SIM card
Nomor urut penyimpan pesan SMS
Panjang dari PDU
Pesan SMS dalam format PDU
OK
ERROR
Proses membuka daftar pesan SMS berhasil Tidak mendukung <stat> yang digunakan
Jika pada saat memasukkan perintah “AT+CMGL = <stat>” respons yang didapat hanya OK tanpa +CMGL, ini menunjukkan bahwa tidak ada pesan SMS yang terdapat pada daftar yang dimaksud, perintah ini juga dapat digunakan untuk membuka pesan SMS yang belum terbaca pada inbox kartu SIM. Ini dimaksudkan jika ada pesan SMS yang diterima pada saat SMS Server belum tersambung ke terminal. Dengan perintah ini SMS Server dapat membuka pesan SMS tersebut dan memprosesnya lebih lanjut.
Keterangan Angka yang menunjukkan: “0” = Pesan SMS yang belum dibaca pada Inbox SIM card “1” = Pesan SMS yang sudah dibaca pada Inbox SIM card
<stat>
“2” = Pesan SMS yang belum terkirim pada Outbox SIM card “1” = Pesan SMS yang sudah terkirim pada Outbox SIM card “4” = Semua pesan SMS yang ada dalam SIM card
Secara umum, sebuah pangkalan data atau database adalah sekumpulan records yang saling berhubungan yang menggambarkan dirinya sendiri (Kroenke, 2005). Dengan menggambarkan dirinya sendiri, berarti bahwa deskripsi struktur pangkalan data terkandung dalam pangkalan data itu sendiri.
Secara sederhana basis data dapat diungkapkan sebagai suatu pengorganisasian data dengan bantuan komputer yang memungkinkan data dapat diakses dengan mudah dan cepat(Kadir, 1999). Dalam hal ini pengertian akses dapat mencakup perolehan data maupun pemanipulasian data seperti menambah dan menghapus data. Hal-hal lain yang dapat dilakukan oleh sistem basis data adalah operasi:
a. menambah file baru ke sistem basis data b. mengosongkan berkas c. menyisip data ke suatu berkas d. mengambil data yang ada pada suatu berkas e. mengubah data pada suatu berkas f. menghapus data pada suatu berkas g. menyaijikan suatu informasi yang diambil dari sejumlah berkas.
2.7.1 DBMS (Database Management System)
Database Management System (DBMS) secara umum diartikan sebagai suatu program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi dan memperoleh data informasi dengan praktis dan efisien. Semua operasi input dan output yang berhubungan dengan database harus menggunakan DBMS. Bila pemakai akan mengakses pangkalan data, DBMS menyediakan penghubung (interface) antara pemakai dengan pangkalan data.
instruksi ke sistem operasi komputer untuk membaca dan menulis data dalam file pangkalan data.
Program Aplikasi
SQL
Database
DBMS
User Membuat Forms Membuat dan mentransmisi Queries Membuat Reports Mengeksekusi Aplikasi Mengontrol Aplikasi
Membuat Database Membuat Tabel Membaca dan Mengupdate Database Memelihara Struktur Database Menyediakan Keamanan Data Backup dan Recovery Data
User Data Metadata Indexes Prosedur Tersimpan Triggers
Gambar 2.4 Fungsi dan Komponen Sistem Database
2.7.2 Istilah dalam RDBMS Sebuah basis data mencakup sejumlah tabel dan juga objek-objek lain seperti indeks dan pandangan (view). Dibawah ini beberapa istilah dalam RDBMS antara lain :
2.7.2.1 Baris dan Kolom
Sebuah tabel berisi sejumlah baris data dan sejumlah kolom. Kolom (field) dapat didefinisikan sebagai satuan data terkecil dalam sebuah tabel. Sedangkan baris (record) adalah kumpulan yang menyatakan suatu data yang saling terkait.
hubungan (relationship). Hubungan berderajat dua sangatlah umum dan sering disebut dengan isitlah binary relationships. Tiga jenis binary relationships itu adalah:
a. 1:1 (baca “one to one”), yakni satu data pada suatu tabel berpasangan dengan hanya satu data pada tabel lain.
b. 1:N (baca “one to N” atau “one to many”), yakni satu data pada suatu tabel berpasangan dengan banyak data pada tabel lainnya. c. N:M (baca “N to M” atau “many to many”), yakni banyak data pada suatu tabel berpasangan dengan banyak data pula pada tabel lainnya.
2.7.2.3 Kunci Primer dan Kunci Asing Secara konsep, setia tabel harus mempunyai kunci primer (primary key). Kunci primer dapat tersusun dari sebuah kolom atau beberapa kolom. Kunci berperan sebagai identitas yang unik untuk masing-masing baris data. Sebagai contoh, No_Tlp adalah kunci primer bagi tabel telepon. Jadi dengan menyebut No_Tlp 1234 pada tabel telepon dipastikan tidak mungkin terdapat lebih dari satu baris yang memenuhi.
Selain kunci primer terdapat istilah kunci asing/tamu (foreign key). Kunci asing/ tamu adalah sebuah kolom dalam sebuah tabel yang menjadi penghubung dengan kunci primer pada tabel lain.
menggunakan indeks, suatu item buku dapat dicari dengan cepat.
2.7.2.5 Normalisasi
Normalisasi merupakan suatu proses untuk mengubah suatu tabel yang memiliki masalah tertentu kedalam dua buah tabel atau lebih. Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada tabel-tabel dalam basis data dan harus dipenuhi oleh tabel-tabel tersebut pada level normalisasi.
Suatu tabel dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu. Misalnya suatu tabel berada dalam bentuk normal pertama (biasa disebut INF) jika setiap atribut bernilai tunggal untuk setiap baris. Bentuk normal yang biasa dipakai pada normalisasi adalah bentuk normal pertama (1NF), bentuk normal kedua (2NF), dan bentuk normal ketiga (3NF). Bentuk-bentuk normal lain seperti bentuk normal keempat (4NF) dan bentuk normal kelima (5NF) digunakan untuk kasus-kasus tertentu.
2.7.2.6 Overnormalisasi
Tabel yang memenuhi bentuk normal ketiga kadangkala dipecah lagi. Proses pemecahan ini dikenal dengan sebutan overnormalisasi. Ada berbagai alasan untuk melakukab hal ini. Pertama, kolom-kolom data yang sering diperlukan dipisahkan dengan kolom-kolom yang jarang diakses dengan tujuan untuk mempercepat pengaksesan data. Alasan yang lain, susunan kolom didasarkan pada pengelompokkan tertentu.
Tahapan analisis terhadap suatu sistem dilakukan sebelum tahapan perancangan dilakukan. Tujuan diterapkannya analisis terhadap suatu sistem adalah untuk mengetahui alasan mengapa sistem tersebut diperlukan, merumuskan kebutuhankebutuhan dari sistem tersebut untuk mereduksi sumber daya yang berlebih serta membantu merencanakan penjadwalan pembentukan sistem, meminimalisir distorsidistorsi yang mungkin terdapat di dalam sistem tersebut sehingga fungsi yang terdapat di dalam sistem tersebut bekerja secara optimal.
Aplikasi sistem informasi berbasis SMS ini dirancang dengan menggunakan metode pendekatan atas-bawah (Top-Down Approach) sehingga perancangan dimulai dari bentuk yang paling global yaitu diagram konteks, kemudian diturunkan secara bertahap menjadi bentuk yang lebih detail. Salah satu unsur pokok yang harus dipertimbangkan dalam tahapan analisis sistem ini yaitu masalah perangkat lunak, karena perangkat lunak yang digunakan haruslah sesuai dengan masalah yang akan diselesaikan.
Pada perancangan sistem informasi ini dibuatlah konsep untuk mengolah pesan SMS berupa permintaan data dari sebuah telepon selular ke sebuah telepon selular yang terhubung ke sebuah PC, dimana pada PC tersebut terdapat basis data informasi sekolah yang akan diakses. Kemudian PC dapat mengirimkan data yang diminta ke telepon selular peminta data via SMS dengan memanfaatkan telepon selular yang terhubung ke PC tersebut. Sebagai langkah awal perancangan, dibuatlah suatu model arsitektur konsep informasi sekolah berbasis SMS tersebut seperti terlihat pada gambar 3.1 berikut:
Gambar 3.1 Model Arsitektur Konsep Sistem Informasi Sekolah Berbasis SMS
Dalam hal ini, pengguna dapat melakukan permintaan data yang telah disediakan penyedia data, seperti permintaan data jadwal pelajaran, nilai ujian, pringkat siswa atau absensi melalui SMS. Data-data yang disediakan oleh penyedia data dkelompokkan dengan kode-kode tertentu yang sudah distandarkan dan sudah berbentuk format tertentu yang disesuaikan dengan kemampuan SMS. Jadi, pengguna dapat menggunakan layanan ini dimana saja dan kapan saja selama ia telah terdaftar dalam basis data aplikasi berbasis SMS ini.
Perancangan aplikasi sistem informasi berbasis SMS ini akan menyajikan banyak fitur, seperti menerima pesan, mengirim pesan, serta mengirim dan menerima pesan berdasarkan permintaan atau format tertentu. Maka pada dasarnya, ada tiga sistem pengiriman dan penerimaan SMS yang akan dikerjakan sistem, yaitu Info on Demand, Receive Message, dan Sending Message.
3.3.1 Info on Demand
Mengirim pesan berdasarkan format tertentu dan kemudian sistem akan membalasnya secara otomatis (automatic reply). Info on demand akan diperoleh seperti keterangan di bawah ini:
a. Registrasi Sebelumnya pengguna (siswa atau orang tua) melakukan registrasi terlebih dahulu. Registrasi dilakukan 1 kali. Format penulisan: REG<spasi>NoInduk Contoh: REG 058166
Hal ini dimaksudkan agar nomor handphone yang digunakan memiliki relasi dengan nomor induk. Sehingga pada saat pengguna mengirimkan SMS untuk mengetahui nilai atau absensi tidak perlu menuliskan nomor induk lagi.
Menerima pesan berupa saran dari pengguna untuk membangun sekolah dari bidang apapun.
3.3.3 Sending Message
Mengirim pesan berupa informasi pembayaran SPP ataupun informasi penting lainnya dari pihak sekolah.kepada pengguna.
3.4 Data Flow Diagram (DFD)
Data Flow Diagram (DFD) digunakan untuk menggambarkan aliran informasi dan proses data yang bergerak dari pemasukan data hingga keluaran. Data Flow Diagram memudahkan pemakai yang kurang menguasai bidang komputer untuk mengerti sistem yang akan dikerjakan atau dikembangkan. Data Flow Diagram dari sistem informasi sekolah berbasis SMS dapat dilihat pada gambar 3.2 menjelaskan diagram konteks. Sedangkan diagram level 1 dapat dilihat pada gambar 3.3 dan dilanjutkan dengan diagram level 2 dapat dilihat pada gambar 3.4.
Pengiriman data Sistem Informasi Berbasis SMS
User Penerimaan data
Administrator Data Sekolah
Gambar 3.2 Diagram Konteks Sistem Infromasi Sekolah Berbasis SMS
Pengembangan proses yang terjadi pada diagram konteks di atas dapat dijabarkan pada DFD level 1 berikut:
Gambar 3.3 DFD Level 1 Sistem Infromasi Sekolah Berbasis SMS
Pada gambar di atas terlihat ada dua proses utama yang dilakukan sistem informasi berbasis SMS: 1. Proses pengiriman SMS Proses ini bertujuan untuk mengirim berbagai informasi dari pihak sekolah. Interaksi terjadi hanya satu arah, yaitu administrator mengirim pesan berupa informasi yang diperlukan.
2. Proses SMS sesuai permintaan. Proses ini terjadi ketika user menginginkan data tertentu. Jika keyword dikenal, maka sistem akan melakukan proses sesuai dengan keyword tersebut.
DFD pada level 2 untuk sistem informasi sekolah berbasis SMS dapat digambarkan sebagai berikut:
Tabel 3.1 Spesifikasi Proses DFD Level 2 Proses 2 Nama
Input
Proses 2.1
Keyword
Keterangan proses Output Memeriksa Format
Keyword yang benar
SMS
diambil untuk melakukan proses selanjutnya
Proses 2.2
Data format
Registrasi data
registrasi
pengguna ke dalam dan dapat melanjutkan basis data siswa
Proses 2.3
Pengguna telah terdaftar
permintaan selanjutnya.
Data format
Proses pengambilan Data jawal pelajaran
jadwal pelajaran
data dari basis data jadwal pelajaran
Proses 2.4
Data format
Proses pengambilan Data peringkat kelas
peringkat kelas
data dari basis data nilai
Proses 2.5
Data format nilai
Proses pengambilan Data nilai ujian semester
ujian semester
data dari basis data nilai
Proses 2.6
Data format
Proses pengambilan Data absensi
absensi
data dari basis data absensi
Proses 2.7
Data format
Proses
Saran akan masuk dan
saran
mengirimkan text
dibaca oleh
saran dari pengguna administrator
3.5 Perancangan Pangkalan Data
Perancangan pangkalan data pada sistem dimaksudkan untuk mempermudah hubungan-hubungan antara tabel satu dengan tabel lainnya. Pangkalan data mempunyai fungsi untuk memferivikasi, mencatat, menyimpan, dan menampilkan
hasil. Secara umum konsep rancangan pangkalan data layanan SMS untuk siswa dan orang tua siswa di sekolah dapat dilihat pada gambar di bawah ini:
Sistem Informasi Berbasis SMS
Database Informasi Sekolah
Database Registrasi
Database Jadwal Pelajaran
Database Nilai ujian
Database Absensi
Database Saran
Database Pengumuman
Database yang menampung semua SMS yang masuk
Gambar 3.5 Pangkalan Data Sistem Informasi Sekolah Berbasis SMS
Pada dasarnya, perancangan Sistem Informasi Sekolah Berbasis SMS ini terdiri atas beberapa tabel-tabel yang dirancang dapat dibagi menjadi 7 bagian pangkalan data yaitu Registrasi, Jadwal Pelajaran, Nilai Ujian, Absensi, Saran, Pengumuman, dan pangkalan data yang menampung semua SMS yang masuk.
3.5.1 Struktur Tabel Siswa
Tabel 3.2 merupakan tabel yang berisi data-data pasien secara umum, adapaun strukturnya adalah sebagai berikut:
Tabel 3.4 struktur tabel untuk menyimpan jadwal pelajaran, dan mempunyai struktur sebagai berikut:
Tabel 3.4 Struktur Tabel Jadwal Pelajaran Field
Type
Keterangan
id
AutoNumber
Primary Key
KodeMP
Varchar(6)
Kode mata pelajaran
NamaMP
Varchar(40)
Nama mata pelajaran
Hari
Date
Hari mata pelajaran
Jam
int(1)
Durasi mata pelajaran
Dalam perancangan aplikasi berbasis SMS ini, struktur tabel jadwal pelajaran di atas akan dirancang untuk 4 kelas terpilih. Kedelapan kelas terpilih itu adalah:
Tabel 3.5 Penamaan Tabel Jadwal Pelajaran Setiap Kelas No
Nama Tabel
Keterangan
1
tblJPX
Tabel jadwal pelajaran kelas X
2
tblJPXI
Tabel jadwal pelajaran kelas XI
3
tblJPIPA
Tabel jadwal pelajaran kelas IPA
4
tblJPIPS
Tabel jadwal pelajaran kelas IPS
3.5.4 Struktur Tabel Nilai Ujian Semester
Tabel 3.6 struktur tabel untuk menyimpan nilai ujian, dan mempunyai struktur sebagai berikut:
Tabel 3.6 Struktur Tabel Nilai Ujian Semester Field
Type
Keterangan
Id
AutoNumber
Primary Key
Nama
Varchar(30)
Nama lengkap siswa
NamaMP
Varchar(40)
Nama mata pelajaran
Nilai
Int(3)
Nilai mata pelajaran
Dalam perancangan aplikasi berbasis SMS ini, struktur tabel nilai ujian di atas akan dirancang untuk 4 kelas terpilih. Kedelapan kelas terpilih itu adalah:
Tabel 3.7 Penamaan Nilai Ujian Semester Setiap Kelas No
Nama Tabel
Keterangan
1
tblNUX
Tabel nilai ujian semester kelas X
2
tblNUXI
Tabel nilai ujian semester kelas XI
3
tblNUIPA
Tabel nilai ujian semester kelas IPA
4
tblNUIPS
Tabel nilai ujian semester kelas IPS
3.5.5 Struktur Tabel Absensi
Tabel 3.8 struktur tabel untuk menyimpan data absensi setiap bulan, dan mempunyai struktur sebagai berikut:
Aplikasi ini hanya dapat digunakan oleh pengguna yang nomor teleponnya telah terdaftar.
Dalam mengimplementasikan aplikasi ini dibutuhkan 3 buah komponen penting yaitu: 1. Hardware (Perangkat Keras) Hardware adalah komponen atau peralatan yang terdapat pada sebuah komputer yang diperlukan agar komputer tersebut dapat beroperasi. Untuk mengimplementasikan aplikasi ini sebaiknya menggunakan komputer yang memiliki spesifikasi hardware yang tinggi karena komputer ini harus menangani request dalam jumlah yang banyak. Adapun spesifikasi yang direkomendasikan adalah sebagai berikut :
f. Keyboard dan Mouse g. Ponsel yang berkomunikasi melalui port com1, misalnya Nokia 3210, 3310, 8210 atau lebih baik lagi menggunakan modem GSM h. Kabel data penghubung antara ponsel dan komputer
2. Software (Perangkat Lunak) Software adalah program atau instruksi yang terpasang di dalam komputer yang memiliki fungsi tertentu tujuan utamanya adalah memudahkan pekerjaan manusia. Software yang dibutuhkan dalam mengimplementasikan aplikasi ini adalah sebagai berikut :
a. Sistem Operasi Windows b. XAMPP (Apache, MySQL, PHP) c. Gammu sebagai SMS Gateway
Software-software di atas harus sudah terpasang pada komputer untuk aplikasi XAMPP dan Gammu bisa di download dari internet karena aplikasi di atas bersifat Open Source. Pada saat implementasi, XAMPP dan Gammu harus diaktifkan terlebih dahulu.
3. Brainware (Pengguna) Brainware mutlak diperlukan karena aplikasi ini memerlukan perawatan atau maintenance, baik perawatan hardware maupun software. Aplikasi ini tidak dapat beroperasi dengan sendirinya tanpa ada instruksi dari operator. Operator diperlukan untuk proses administrasi seperti proses update data siswa, proses menjalankan service dan proses administrasi lainnya.
Proses pengujian aplikasi ini dilakukan pada sebuah komputer yang bersifat lokal atau tidak terhubung dengan jaringan.
4.2.1 Persiapan teknis
Aplikasi ini dipasang pada sebuah komputer yang memiliki sistem operasi Windows, dan memiliki spesifikasi hardware sebagai berikut: 1.
RAM 256 Mb
2.
Processor Intel Pentium IV 2.26 GHz
3.
Harddisk 40 Gb
4.
Monitor 15”
5.
VGA Card 64 Mb
Selain itu aplikasi ini juga memerlukan perangkat tambahan penting yaitu sebuah ponsel Nokia 3210, 3310, atau 8210 yang berfungsi untuk menerima dan pengirim SMS dari dan kepada pengguna, serta sebuah kabel data sebagai penghubung antara ponsel dan komputer.
Aplikasi ini diletakkan di Document Root windows yaitu di c:/xampp/htdocs/. Direktori untuk aplikasi SMS ini diletakkan di c:/xampp/htdocs/sms/, sehingga untuk menguji
layanan
berbasis
SMS
dapat
dilakukan
dengan
mengetikkan
http://localhost/sms/.
Sebelum melakukan pengujian harus dipastikan terlebih dahulu bahwa Gammu sudah aktif. Untuk Apache, MySQL dan PHP telah berjalan otomatis jika menggunakan paket software XAMPP. Untuk mengaktifkan Gammu digunakan perintah dibawah ini atau seperti pada gambar 4.1:
Pada gambar 4.4 di atas, administrator dapat melakukan beberapa instruksi, seperti menambah data siswa, mengubah data siswa dan menghapus data siswa.
1. Menambah data siswa Administrator dapat melakukan penambahan data dengan mengisi setiap field untuk keperluan pendataan siswa. Proses penambahan data ini ditampilkan pada gambar 4.5 dibawah ini:
2. Melihat detail data pribadi siswa Administrator dapat melihat seluruh detail data siswa dengan mengklik “VIEW” pada baris data siswa yang ingin dilihat.
3. Mengedit data siswa Administrator dapat melakukan perubahan data setiap siswa yang telah tersimpan. Proses perubahan data ini ditampilkan pada gambar 4.7 dibawah ini:
Gambar 4.7 Tampilan Edit Siswa
4. Menghapus data siswa Administrator juga dapat melakukan penghapusan data setiap siswa yang telah tersimpan. Apabila administrator memilih “HAPUS” suatu baris daripada seorang siswa, maka semua data siswa tersebut akan dihapus dari basis data.
4.2.2.4 Halaman Jadwal Pelajaran
Menu jadwal menampilkan halaman jadwal pelajaran masing-masing seperti terlihat pada gambar 4.8. Maka dalam satu tampilan menu akan ada 4 tabel sekaligus, yaitu kelas X, kelas XI, kelas IPA, dan kelas IPS. Ini dimaksudkan untuk memudahkan administrator merubah jadwal pelajaran yang hampir setiap saat bisa berubah.
1. Nilai Semester Siswa Kelas X 2. Nilai Semester Siswa Kelas XI 3. Nilai Semester Siswa Kelas IPA 4. Nilai Semester Siswa Kelas IPS
Pada setiap submenu tersebut, administrator dapat melakukan penambahan, perubahan, dan penghapusan data nilai semester.
4.2.2.6 Halaman Absensi
Pada halaman absensi, aplikasi mengambil NIS dari tabel siswa, dan kemudian akan menampilkan absensi seperti jumlah sakit, jumlah izin, dan jumlah alpa pada semester berjalan. Administrator juga dapat melakukan penambahan, perubahan, dan penghapusan data. Tampilan halaman absensi ditunjukkan pada gambar 4.10, penambahan data absensi siswa ditunjukkan pada gambar 4.11, dan pengeditan data absensi siswa ditunjukkan pada gambar 4.12.
Pada halaman pengumuman, administrator dapat mengirimkan informasi atau pengumuman apa saja yang diperlukan sekolah dengan cara pengiriman satu ataupun banyak. Pengiriman dilakukan dengan mengambil id siswa yang ditampilkan dalam iframe registrasi yang kemudian akan dikirimkan pengumuman.
Gambar 4.13 Tampilan Halaman Pengisian Data Pengumuman
4.2.2.8 Halaman Saran
Halaman saran berisi saran-saran yang dikirm pengguna dengan menggunakan kode sms. Saran-saran akan tersimpan dalam database saran yang kemudian akan digunakan sekolah untuk meningkatkan kualitasnya. Tampilan halaman saran dapat dilihat pada gambar 4.14.
Halaman registrasi berisi informasi peregistrasian yang dilakukan pengguna. Nomor induk dan nomor telepon pengguna akan disimpan dalam tabel registrasi dan akan diakses selanjutnya untuk melakukan proses-proses SMS Request lainnya.
4.2.2.10 Halaman Inbox
Halaman inbox menampilkan pesan-pesan masuk yang terjadi pada SMS Gateway. Tabel yang digunakan adalah tabel inbox, yang menampilkan tanggal penerimaan pesan, nomor pengirim, dan setiap isi SMS Request yang dilakukan oleh pengguna. Data-data inbox yang terjadi pada SMS Gateway harus dihapus secara berkala oleh administrator untuk mencegah terjadinya overload.
Fitur-fitur yang tersedia pada sistem seperti info on demand, receive message, dan sending message memiliki proses kerja yang berbeda. Berikut akan dijelaskan proses pengujian setiap fitur layanan yang terjadi dalam basis data.
4.2.3.1 Proses Pengujian Layanan Info on Demand
Setiap pesan SMS yang masuk ke SMS Gateway akan diterjemahkan oleh sistem yang menggunakan software Gammu dan kemudian disimpan dalam tabel inbox. Struktur tabel inbox yang disediakan Gammu tersebut adalah sebagai berikut:
Nomor telepon pengirim Pesan SMS dalam bentuk text
TextDecoded
Varchar(20)
yang telah diterjemahkan dari bentuk PDU
Apabila
pengguna
yang
memiliki
nomor
telepon
+6281260588371
mengirimkan pesan SMS berupa: ”REG 058166”, maka SenderNumber = +6281260588371 dan TextDecoded = REG 058166. Nomor telepon dan nomor induk tersebut akan diambil nilainya ke tabel SMS dengan trigger auto1 untuk diproses kata kuncinya . INSERT INTO smsmasuk SET TextDecoded = NEW.TextDecoded, SenderNumber = NEW.SenderNumber;
Pemeriksaan kata kunci “REG” dibuat dalam tabel SMS dalam sebuah trigger auto2: DECLARE nilai_NIS TEXT; IF (NEW.TextDecoded) LIKE 'REG%' THEN UPDATE temporary SET temp2 = NEW.SenderNumber, temp3 = NEW.TextDecoded, temp4 NEW.ReceiveDataTime; SELECT temp3 INTO nilai_NIS FROM temporary WHERE temp1 = 'temp'; INSERT INTO registrasi SET telepon = NEW.SenderNumber, NIS MID(nilai_NIS,5,6), ReceiveDataTime = NEW.ReceiveDataTime; END IF;
=
=
Nomor telepon pengguna dan nomor induk siswa yang diambil setelah keyword REG akan disimpan dalam tabel registrasi. Pada tabel registrasi dibuat trigger auto3: INSERT INTO outbox SET DestinationNumber = NEW.telepon, TextDecoded = 'REGISTRASI SUKSES TERIMAKASIH', Coding = 'Default_No_Compression'; UPDATE siswa SET telepon = NEW.telepon WHERE NIS = NEW.NIS;
disertai pesan SMS balasan kepada pengguna dalam field TextDecoded. Setiap registrasi yang terjadi, nomor telepon pada tabel siswa akan diupdate.
Tabel 3.15 Struktur Tabel Outbox Field
Type
Keterangan
SendingDateTime
Timestamp
Tanggal pengiriman pesan
DestinationNumber
Varchar(20)
Nomor telepon tujuan
TextDecoded
Varchar(20)
Pesan SMS yang akan dikirim
Struktur tabel outbox di atas adalah tabel yang telah disediakan Gammu untuk mengirimkan pesan SMS. Setelah setiap field diisi, maka pesan akan dikirimkan kepada nomor tujuan melalui telepon selular SMS Gateway.
Dari proses penerimaan dan pengiriman pesan registrasi di atas dapat digambarkan alur kerjanya dalam basis data pada gambar 4.17 berikut:
Inbox SMS ReceivingDateTime Text SenderNumber TextDecoded
insert insert
Temporary
ReceiveDateTime SenderNumber TextDecoded
update update
REG 058166
insert (NIS=MID(nilai_NIS,5,6)) Registrasi
Outbox
Telepon selular pengguna
REGISTRASI SUKSES TERIMAKASIH
Temp1 Temp2 Temp3
PK SendingDateTime Text DestinationNumber TextDecoded
insert
ID NIS telepon ReceiveDateTime
insert
Gambar 4.17 Alur Kerja Pengiriman SMS Autorespond untuk Registrasi pada Basis Data
Selain itu tabel temporary bertujuan agar program tidak perlu ditulis dalam bentuk yang panjang dan kompleks.
4.2.3.2 Proses Pengujian Layanan Receive Message
Layanan Receive Message ini adalah pengiriman saran dari pengguna. Cara melakukan pengiriman saran sama seperti registrasi, yaitu memerlukan validasi keyword agar pesan yang dikirim sesuai dengan format dan dapat diterima sistem. Hanya saja pengiriman saran tidak terjadi secara automatic reply atau dibalas secara otomatis. Oleh karena itu, layanan saran termasuk ke dalam layanan receive message.
Sama seperti registrasi, pemeriksaan kata kunci “SARAN” dibuat dalam tabel SMS dalam sebuah trigger auto2: IF (NEW.TextDecoded) LIKE 'SARAN%' THEN SELECT NIS INTO nilai_NIS FROM registrasi WHERE telepon = NEW.SenderNumber; INSERT INTO saran SET telepon = NEW.SenderNumber, NIS = nilai_NIS, ReceiveDataTime = NEW.ReceiveDataTime, Saran = NEW.TextDecoded; END IF;
Dari proses penerimaan saran di atas dapat digambarkan alur kerjanya dalam basis data pada gambar 4.18 berikut: Registrasi PK
Telepon selular pengguna
SARAN saran
Inbox
ReceivingDateTime Text SenderNumber TextDecoded
SMS
ReceiveDateTime SenderNumber TextDecoded
ID NIS telepon ReceiveDataTime
Saran
NIS telepon ReceiveDateTime IsiSaran
Gambar 4.18 Alur Kerja Penerimaan SMS Saran pada Basis Data
Layanan Sending Message berupa layanan pengumuman. Isi pengumuman diinput oleh administrator, sedangkan nomor tujuan diinput dengan melihat basis data siswa yang telah melakukan registrasi. Maka dibutuhkan suatu trigger dalam tabel pengumuman yang disebut autopengumuman untuk memasukkan field-field yang terjadi pada tabel pengumuman ke tabel outbox untuk diteruskan SMS Gateway dan dikirimkan kepada pengguna. Berikut isi dari trigger autopengumuman dalam tabel pengumuman:
DECLARE nomor INT; DECLARE tlp TEXT; SELECT ID INTO nomor FROM registrasi WHERE ID = NEW.id_awal; ulang: LOOP SELECT telepon INTO tlp FROM registrasi WHERE ID = nomor; INSERT INTO outbox SET TextDecoded = NEW.isi, DestinationNumber = tlp, Coding = 'Default_No_Compression'; SET nomor = nomor + 1; IF Nomor > NEW.id_akhir THEN LEAVE ulang; END IF; END LOOP ulang;
Proses pengiriman pengumuman di atas dapat digambarkan alur kerjanya dalam basis data pada gambar 4.19 berikut:
nomor tlp ReceivingDateTime SenderNumber TextDecoded
Pengumuman
Telepon selular pengguna id_awal id_akhir pengumuman
If nomor>id_akhir End loop;
Gambar 4.19 Alur Kerja Pengiriman Pengumuman pada Basis Data
4.2.4 Pengujian Layanan yang Dikirim dan Diterima Pengguna
Pengujian ini dilakukan dengan cara mengirim pesan SMS ke telepon selular yang dijadikan sebagai SMS Gateway.
4.2.4.1 Pengujian Layanan Registrasi
Registrasi harus dilakukan pertama kali oleh pengguna untuk dapat mengakses permintaan data lainnya. Maka, setiap siswa atau orang tua dapat memperoleh data yang diinginkan sesuai dengan nomor induk yang telah didaftar.
Pada tahap pengujian ini, misalnya siswa yang memiliki nomor induk 058166 harus melakukan registrasi dengan mengirim SMS yang berisi: “REG 058166” dan beberapa
Gambar 4.20 Hasil Pengujian Layanan Registrasi pada Handphone Pengguna
4.2.4.2 Pengujian Layanan Jadwal Pelajaran
Untuk menggunakan layanan jadwal pelajaran, pengguna harus mengirim SMS sesuai dengan format yang telah ditentukan, misalnya “JADWAL IPA” maka beberapa saat kemudian aplikasi akan membalas secara otomatis ke handphone pengguna seperti yang terlihat pada gambar 4.21 di bawah ini.
Gambar 4.21 Hasil Pengujian Layanan Data Jadwal Pelajaran Kelas IPA Pada Handphone Pengguna
4.2.4.3 Pengujian Layanan Nilai Semester
Pengujian layanan nilai semester dilakukan dengan mencoba menampilkan data nilainilai semester untuk NIS 058166. Maka, data nilai matematika untuk NIS 058166 pada basis data ditunjukkan pada gambar 4.22.
Gambar 4.22 Data Nilai Semester Untuk NIS 058166 Pada Basis Data
Misalnya pengguna mengirim SMS yang berisi: “NILAI MAT” dan “NILAI RANK”, maka tampilan dari hasil pengujian layanan data nilai semester pelajaran matematika dan ranking pada layar handphone pengguna ditunjukkan pada gambar 4.23 dan gambar 4.24.
Pengujian layanan absensi dilakukan dengan mencoba menampilkan data jumlah sakit, jumlah izin, dan jumlah alpa untuk NIS 058166. Maka, data nilai absensi untuk NIS 058166 pada basis data ditunjukkan pada gambar 4.25.
Gambar 4.25 Data Absensi Untuk NIS 058166 Pada Basis Data
Sementara tampilan dari hasil pengujian layanan data absensi pada layar handphone pengguna ditunjukkan pada gambar 4.26.
Gambar 4.26 Hasil Pengujian Layanan Absensi pada Handphone Pengguna
Ketika pengguna mengirimkan SMS yang diawali dengan kata “SARAN”, maka isi SMS akan masuk ke dalam basis data aplikasi untuk dibaca oleh administrator/ operator. Gambar 4.27 adalah tampilan hasil pengujian layanan saran pada basis data aplikasi.
Gambar 4.27 Tampilan Pengiriman Saran dari Pengguna
4.28 Hasil Pengujian Layanan Saran pada Basis Data
Berdasarkan pembahasan dan evaluasi dari bab-bab sebelumnya, maka dapat diambil beberapa kesimpulan sebagai berikut:
1. Sistem pengiriman pesan pada SMS Gateway sama dengan prinsip pengiriman pesan pada telepon selular biasa. Proses pengiriman pesan dilakukan melalui telepon selular pengguna sebagai terminal pengirim. Pesan kemudian dilanjutkan ke SMS Center operator komunikasi tertentu dengan bantuan jaringan tanpa kabel. SMS Center akan meneruskan pesan client ke SMS Gateway dengan prinsip store and forward.
2. Nomor induk siswa merupakan kunci primer yang bersifat unik. Agar nomor telepon selular pengguna mempunyai relasi dengan nomor induk siswa, maka dilakukanlah pendaftaran yang menggunakan nomor induk. Hal ini juga dimaksudkan agar pengguna tidak perlu menuliskan nomor induk lagi pada saat mengirim SMS permintaan data lainnya.
3. Seperti SMS pada umumnya, SMS Respons yang dikirimkan panjangnya tidak lebih dari 160 karakter. Maka pengiriman pesan SMS dari sistem kepada pengguna dirancang sesingkat mungkin, seperti pengiriman jadwal pelajaran yang ditulis menggunakan kode mata pelajaran.
4. SMS Request yang tidak sesuai dengan format yang telah ditentukan tidak diperkenan dan akan diabaikan oleh sistem.
5. Waktu proses informasi layanan ini dapat berlangsung secara singkat, cepat dan akurat dengan rata-rata membutuhkan waktu proses secara keseluruhan berkisar 3 – 3,5 detik.
3.2 Saran
Berikut adalah saran-saran untuk pengembangan lebih lanjut terhadap aplikasi sistem informasi berbasis SMS ini :
1. Untuk pengembangan lebih lanjut, server aplikasi berbasis SMS sebaiknya menggunakan sebuah modem GSM atau dengan menggunakan lebih dari 1 buah ponsel agar server tidak mengalami overload jika terjadi request dalam jumlah yang banyak.
2. Aplikasi ini sebaiknya menyediakan fasilitas grafik yang merepresentasikan suatu kondisi, misalnya grafik tingkat nilai siswa terhadap suatu mata pelajaran, dan kondisi-kondisi lainnya sehingga aplikasi ini bisa dijadikan sebagai DSS (Decision Support System).
3. Untuk pengembangan lebih lanjut, aplikasi ini sebaiknya menyediakan fasilitas bagi orangtua dan guru, seperti informasi absensi siswa dan guru per hari, jadwal mengajar guru, mengirim informasi ke suatu kelompok/ grup seperti POMG, wali murid perkelas, atau wali murid seluruh sekolah.
Andika, Fajar. 2007. Perancangan SMS (Short Message Service) Server untuk Pengiriman Data Secara Autorespond di Universitas Sumatera Utara. Program Studi S-1 Ilmu Komputer USU: Tugas Akhir Tidak Diterbitkan. Bernatchez,
INSERT INTO smsmasuk SET TextDecoded = NEW.TextDecoded, SenderNumber = NEW.SenderNumber; END // //smsmasuk DROP TRIGGER IF EXISTS `smsd`.`auto2`// CREATE TRIGGER `smsd`.`auto2` AFTER INSERT ON `smsd`.`smsmasuk` FOR EACH ROW BEGIN DECLARE nilai_NIS TEXT; IF (NEW.TextDecoded) LIKE 'REG%' THEN UPDATE temporary SET temp2 = NEW.SenderNumber, temp3 = NEW.TextDecoded, temp4 NEW.ReceiveDataTime; SELECT temp3 INTO nilai_NIS FROM temporary WHERE temp1 = 'temp'; INSERT INTO registrasi SET telepon = NEW.SenderNumber, NIS MID(nilai_NIS,5,6), ReceiveDataTime = NEW.ReceiveDataTime; END IF; IF (NEW.TextDecoded) LIKE 'JADWAL%' THEN UPDATE temporary SET temp2 = NEW.SenderNumber, temp3 = NEW.TextDecoded, temp4 NEW.ReceiveDataTime; SELECT temp3 INTO nilai_NIS FROM temporary WHERE temp1 = 'temp'; INSERT INTO aksesjadwal SET telepon = NEW.SenderNumber, NIS MID(nilai_NIS,8,4), ReceiveDataTime = NEW.ReceiveDataTime; END IF;
=
=
=
=
IF (NEW.TextDecoded) LIKE 'UJIAN%' THEN UPDATE temporary SET temp2 = NEW.SenderNumber, temp3 = NEW.TextDecoded, temp4 = NEW.ReceiveDataTime; SELECT temp3 INTO nilai_NIS FROM temporary WHERE temp1 = 'temp'; INSERT INTO aksesjadwalujian SET telepon = NEW.SenderNumber, NIS = MID(nilai_NIS,7,4), ReceiveDataTime = NEW.ReceiveDataTime; END IF; IF (NEW.TextDecoded) LIKE 'NILAI%' THEN UPDATE temporary SET temp2 = NEW.SenderNumber, temp3 = NEW.TextDecoded, temp4 NEW.ReceiveDataTime; SELECT temp3 INTO nilai_NIS FROM temporary WHERE temp1 = 'temp'; INSERT INTO aksesnilai SET telepon = NEW.SenderNumber, NIS MID(nilai_NIS,7,4), ReceiveDataTime = NEW.ReceiveDataTime; END IF; IF (NEW.TextDecoded) LIKE 'ABSENSI%' THEN UPDATE temporary SET temp2 = NEW.SenderNumber, temp3 = NEW.TextDecoded, temp4 NEW.ReceiveDataTime; SELECT temp3 INTO nilai_NIS FROM temporary WHERE temp1 = 'temp'; INSERT INTO aksesabsensi SET telepon = NEW.SenderNumber, NIS MID(nilai_NIS,9,4), ReceiveDataTime = NEW.ReceiveDataTime; END IF;
END // //aksesjadwalx DROP TRIGGER IF EXISTS `smsd`.`autojadwalx`// CREATE TRIGGER `smsd`.`autojadwalx` `smsd`.`aksesjadwalx` FOR EACH ROW BEGIN DECLARE kelas TEXT; DECLARE kode_MP1 TEXT; DECLARE kode_MP2 TEXT; DECLARE kode_MP3 TEXT; DECLARE kode_MP4 TEXT; SELECT KodeMP INTO WHERE ID = '01'; SELECT KodeMP INTO WHERE ID = '02'; SELECT KodeMP INTO WHERE ID = '03'; SELECT KodeMP INTO WHERE ID = '04';
AFTER
INSERT
ON
kode_MP1 FROM jadwalpelajaranx kode_MP2 FROM jadwalpelajaranx kode_MP3 FROM jadwalpelajaranx kode_MP4 FROM jadwalpelajaranx
SELECT KodeMP INTO kode_MP4 FROM jadwalpelajaranx WHERE ID = '16'; UPDATE temporary SET temp2 = temp8, temp3 = 'Kamis', temp4 = kode_MP1, temp5 = kode_MP2, temp6 = kode_MP3, temp7 = kode_MP4, temp8 = CONCAT_WS('',temp2,temp3,temp4,temp5,temp6,temp7); SELECT KodeMP INTO kode_MP1 FROM jadwalpelajaranx WHERE ID = '17'; SELECT KodeMP INTO kode_MP2 FROM jadwalpelajaranx WHERE ID = '18'; SELECT KodeMP INTO kode_MP3 FROM jadwalpelajaranx WHERE ID = '19'; UPDATE temporary SET temp2 = temp8, temp3 = 'Jumat', kode_MP2, temp6 = kode_MP3, ',temp2,temp3,temp4,temp5,temp6);
temp4 = temp7
kode_MP1, temp5 = = CONCAT_WS('-
SELECT KodeMP INTO kode_MP1 FROM jadwalpelajaranx WHERE ID = '20'; SELECT KodeMP INTO kode_MP2 FROM jadwalpelajaranx WHERE ID = '21'; SELECT KodeMP INTO kode_MP3 FROM jadwalpelajaranx WHERE ID = '22'; UPDATE temporary SET temp2 = temp7, temp3 = 'Sabtu', kode_MP2, temp6 = kode_MP3, ',temp2,temp3,temp4,temp5,temp6);
temp4 = temp7
kode_MP1, temp5 = = CONCAT_WS('-
SELECT temp7 INTO kode_MP1 FROM temporary WHERE temp1 = 'temp'; INSERT INTO outbox SET DestinationNumber = NEW.telepon, TextDecoded = kode_MP1, Coding = 'Default_No_Compression'; END // //aksesjadwalxi DROP TRIGGER IF EXISTS `smsd`.`autojadwalxi`// CREATE TRIGGER `smsd`.`autojadwalxi` AFTER `smsd`.`aksesjadwalxi` FOR EACH ROW BEGIN DECLARE kelas TEXT; DECLARE kode_MP1 TEXT; DECLARE kode_MP2 TEXT; DECLARE kode_MP3 TEXT; DECLARE kode_MP4 TEXT; SELECT KodeMP INTO WHERE ID = '01'; SELECT KodeMP INTO WHERE ID = '02'; SELECT KodeMP INTO WHERE ID = '03'; SELECT KodeMP INTO WHERE ID = '04';
INSERT
ON
kode_MP1 FROM jadwalpelajaranxi kode_MP2 FROM jadwalpelajaranxi kode_MP3 FROM jadwalpelajaranxi kode_MP4 FROM jadwalpelajaranxi
SET temp2 = 'Senin', temp3 = kode_MP1, temp4 = kode_MP2, temp5 = kode_MP3, temp6 = kode_MP4, temp7 = CONCAT_WS('',temp2,temp3,temp4,temp5,temp6); SELECT KodeMP INTO kode_MP1 FROM jadwalpelajaranxi WHERE ID = '05'; SELECT KodeMP INTO kode_MP2 FROM jadwalpelajaranxi WHERE ID = '06'; SELECT KodeMP INTO kode_MP3 FROM jadwalpelajaranxi WHERE ID = '07'; SELECT KodeMP INTO kode_MP4 FROM jadwalpelajaranxi WHERE ID = '08'; UPDATE temporary SET temp2 = temp7, temp3 = 'Selasa', temp4 = kode_MP1, temp5 = kode_MP2, temp6 = kode_MP3, temp7 = kode_MP4, temp8 = CONCAT_WS('',temp2,temp3,temp4,temp5,temp6,temp7); SELECT KodeMP INTO WHERE ID = '09'; SELECT KodeMP INTO WHERE ID = '10'; SELECT KodeMP INTO WHERE ID = '11'; SELECT KodeMP INTO WHERE ID = '12';
kode_MP1 FROM jadwalpelajaranxi kode_MP2 FROM jadwalpelajaranxi kode_MP3 FROM jadwalpelajaranxi kode_MP4 FROM jadwalpelajaranxi
UPDATE temporary SET temp2 = temp8, temp3 = 'Rabu', temp4 = kode_MP1, temp5 = kode_MP2, temp6 = kode_MP3, temp7 = kode_MP4, temp8 = CONCAT_WS('',temp2,temp3,temp4,temp5,temp6,temp7); SELECT KodeMP INTO WHERE ID = '13'; SELECT KodeMP INTO WHERE ID = '14'; SELECT KodeMP INTO WHERE ID = '15'; SELECT KodeMP INTO WHERE ID = '16';
kode_MP1 FROM jadwalpelajaranxi kode_MP2 FROM jadwalpelajaranxi kode_MP3 FROM jadwalpelajaranxi kode_MP4 FROM jadwalpelajaranxi
UPDATE temporary SET temp2 = temp8, temp3 = 'Kamis', temp4 = kode_MP1, temp5 = kode_MP2, temp6 = kode_MP3, temp7 = kode_MP4, temp8 = CONCAT_WS('',temp2,temp3,temp4,temp5,temp6,temp7); SELECT KodeMP INTO kode_MP1 FROM jadwalpelajaranxi WHERE ID = '17'; SELECT KodeMP INTO kode_MP2 FROM jadwalpelajaranxi WHERE ID = '18'; SELECT KodeMP INTO kode_MP3 FROM jadwalpelajaranxi WHERE ID = '19'; UPDATE temporary SET temp2 = temp8, temp3 = 'Jumat', kode_MP2, temp6 = kode_MP3, ',temp2,temp3,temp4,temp5,temp6);
SELECT KodeMP INTO kode_MP3 FROM jadwalpelajaranxi WHERE ID = '22'; UPDATE temporary SET temp2 = temp7, temp3 = 'Sabtu', temp4 = kode_MP1, temp5 = kode_MP2, temp6 = kode_MP3, temp7 = CONCAT_WS('',temp2,temp3,temp4,temp5,temp6); SELECT temp7 INTO kode_MP1 FROM temporary WHERE temp1 = 'temp'; INSERT INTO outbox SET DestinationNumber = NEW.telepon, TextDecoded = kode_MP1, Coding = 'Default_No_Compression'; END // //aksesjadwalips DROP TRIGGER IF EXISTS `smsd`.`autoips`// CREATE TRIGGER `smsd`.`autoips` `smsd`.`aksesjadwalips` FOR EACH ROW BEGIN DECLARE kelas TEXT; DECLARE kode_MP1 TEXT; DECLARE kode_MP2 TEXT; DECLARE kode_MP3 TEXT; DECLARE kode_MP4 TEXT; SELECT KodeMP INTO WHERE ID = '01'; SELECT KodeMP INTO WHERE ID = '02'; SELECT KodeMP INTO WHERE ID = '03'; SELECT KodeMP INTO WHERE ID = '04';
AFTER
INSERT
ON
kode_MP1 FROM jadwalpelajaranips kode_MP2 FROM jadwalpelajaranips kode_MP3 FROM jadwalpelajaranips kode_MP4 FROM jadwalpelajaranips
UPDATE temporary SET temp2 = 'Senin', temp3 = kode_MP1, temp4 = kode_MP2, temp5 = kode_MP3, temp6 = kode_MP4, temp7 = CONCAT_WS('',temp2,temp3,temp4,temp5,temp6); SELECT KodeMP INTO WHERE ID = '05'; SELECT KodeMP INTO WHERE ID = '06'; SELECT KodeMP INTO WHERE ID = '07'; SELECT KodeMP INTO WHERE ID = '08';
kode_MP1 FROM jadwalpelajaranips kode_MP2 FROM jadwalpelajaranips kode_MP3 FROM jadwalpelajaranips kode_MP4 FROM jadwalpelajaranips
UPDATE temporary SET temp2 = temp8, temp3 = 'Rabu', temp4 = kode_MP1, temp5 = kode_MP2, temp6 = kode_MP3, temp7 = kode_MP4, temp8 = CONCAT_WS('',temp2,temp3,temp4,temp5,temp6,temp7); SELECT KodeMP INTO WHERE ID = '13'; SELECT KodeMP INTO WHERE ID = '14'; SELECT KodeMP INTO WHERE ID = '15'; SELECT KodeMP INTO WHERE ID = '16';
kode_MP1 FROM jadwalpelajaranips kode_MP2 FROM jadwalpelajaranips kode_MP3 FROM jadwalpelajaranips kode_MP4 FROM jadwalpelajaranips
WHERE NIS = nilai_NIS; END IF; IF (kode_MP) = 'KIM' THEN SELECT KIM INTO nilai_MP FROM nilaisemester WHERE NIS = nilai_NIS; END IF; IF (kode_MP) = 'KWN' THEN SELECT KWN INTO nilai_MP FROM nilaisemester WHERE NIS = nilai_NIS; END IF; IF (kode_MP) = 'SEJ' THEN SELECT SEJ INTO nilai_MP FROM nilaisemester WHERE NIS = nilai_NIS; END IF; IF (kode_MP) = 'RANK' THEN INSERT INTO aksesrank SET telepon = NEW.telepon; END IF; UPDATE temporary SET temp2 = temp5, temp3 = ' Nilai', temp4 = nilai_MP, temp5 = CONCAT_WS('-',temp2,temp3,temp4); SELECT temp5 INTO nilai_MP FROM temporary WHERE temp1 = 'temp'; INSERT INTO outbox SET DestinationNumber = NEW.telepon, TextDecoded = nilai_MP, Coding = 'Default_No_Compression'; DELETE FROM aksesnilai WHERE telepon = nilai_NIS; END // //aksesrank DROP TRIGGER IF EXISTS `smsd`.`autorank`// CREATE TRIGGER `smsd`.`autorank` AFTER INSERT ON `smsd`.`aksesrank` FOR EACH ROW BEGIN DECLARE nilai_NIS TEXT; DECLARE kode_MP TEXT; DECLARE nilai_Rank TEXT; SELECT NIS INTO nilai_NIS FROM registrasi WHERE telepon = NEW.telepon; UPDATE temporary SET temp2 = 'NIS', temp3 = nilai_NIS, ',temp2,temp3); SELECT NIS INTO kode_MP FROM aksesnilai WHERE telepon = NEW.telepon;
WHERE temp1 = 'temp'; INSERT INTO outbox SET DestinationNumber = NEW.telepon, TextDecoded = nilai_Rank, Coding = 'Default_No_Compression'; DELETE FROM aksesnilai WHERE telepon = nilai_NIS; END //
//aksesabsensi DROP TRIGGER IF EXISTS `smsd`.`auto4`// CREATE TRIGGER `smsd`.`auto4` AFTER INSERT ON `smsd`.`aksesabsensi` FOR EACH ROW BEGIN DECLARE nilai_NIS TEXT; DECLARE nilai_absensi TEXT; SELECT NIS INTO nilai_NIS FROM registrasi WHERE telepon = NEW.telepon; SELECT JmlS INTO nilai_absensi FROM absensi WHERE NIS = nilai_NIS; UPDATE temporary SET temp2 = 'JmlS', temp3 = nilai_absensi, ',temp2,temp3); SELECT JmlI INTO nilai_absensi FROM absensi WHERE NIS = nilai_NIS;
temp4
=
CONCAT_WS('-
UPDATE temporary SET temp2 = temp4, temp3 = 'JmlI', temp4 = nilai_absensi, temp5 = CONCAT_WS('-',temp2,temp3,temp4); SELECT JmlA INTO nilai_absensi FROM absensi WHERE NIS = nilai_NIS; UPDATE temporary SET temp2 = temp5, temp3 = 'JmlA', temp4 = nilai_absensi, temp5 = CONCAT_WS('-',temp2,temp3,temp4); SELECT temp5 INTO nilai_absensi FROM temporary WHERE temp1 = 'temp'; INSERT INTO outbox SET DestinationNumber = NEW.telepon, TextDecoded = nilai_absensi, Coding = 'Default_No_Compression'; END // //pengumuman DROP TRIGGER IF EXISTS `smsd`.`autopengumuman`// CREATE TRIGGER `smsd`.`autopengumuman` AFTER `smsd`.`pengumuman` FOR EACH ROW BEGIN