[go: up one dir, main page]

Academia.eduAcademia.edu
LEMBAR JUDUL APLIKASI SMS GATEWAY UNTUK LAYANAN SISTEM INFORMASI BIMBINGAN BELAJAR PADA BIMBINGAN BELAJAR SMART EDU Oleh DEVI LING LING NIM: 0511510036 UNIVERSITAS BUDI LUHUR FAKULTAS TEKNOLOGI INFORMASI JAKARTA SEMESTER GENAP 2011/2012 APLIKASI SMS GATEWAY UNTUK LAYANAN SISTEM INFORMASI BIMBINGAN BELAJAR PADA BIMBINGAN BELAJAR SMART EDU TUGAS AKHIR Diajukan untuk memenuhi persyaratan guna memperoleh gelar Sarjana Komputer Oleh DEVI LING LING NIM: 0511510036 UNIVERSITAS BUDI LUHUR FAKULTAS TEKNOLOGI INFORMASI JAKARTA SEMESTER GENAP 2011/2012 UNIVERSITAS BUDI LUHUR Fakultas Teknologi Informasi TANDA PERSETUJUAN TUGAS AKHIR NAMA : Devi Ling Ling Nomor Induk Mahasiswa : 0511510036 Program Studi : Teknik Informatika Jenjang Studi : Strata 1 Judul : APLIKASI SMS GATEWAY UNTUK LAYANAN SISTEM INFORMASI BIMBINGAN BELAJAR PADA BIMBINGAN BELAJAR SMART EDU Jakarta, 16 Januari 2012 Dosen Pembimbing (Ir. Siswanto, M.M) Ketua Penguji ( ) Anggota Penguji ( ) Dekan Fakultas Teknologi Informasi (Goenawan Brotosaputro, S.Kom, M.Sc) ) Ketua Program Studi Teknik Informatika (M.Ainur Rony,S.Kom,M.TI) ABSTRAKSI Nim : 0511510036 Nama : DEVI LING LING JUDUL SKRIPSI : APLIKASI SMS GATEWAY UNTUK LAYANAN SISTEM INFORMASI BIMBINGAN BELAJAR PADA BIMBINGAN BELAJAR SMART EDU Smart Edu adalah layanan bimbingan belajar yang memberikan tambahan pelajaran di luar sekolah bagi siswa dan siswi. Selama ini pelayanan Smart Edu masih dikerjakan secara manual misalnya pemilihan jadwal, guru dan mata pelajaran dilakukan melalui telepon atau datang langsung ke sekretariat sehingga secara waktu dan administrasi memerlukan waktu yang cukup lama. SMS atau Short Messaging Service merupakan salah satu media komunikasi saat ini yang banyak digunakan dikarenakan biaya yang cukup murah, prosesnya lebih cepat, dan langsung ke tujuan. Aplikasi SMS Gateway ini terbilang murah dan mempermudah proses penyampaian informasi kepada orangtua siswa/siswi, sehingga Smart Edu memilih program ini untuk menjembatani penyampaian segala informasi dan transaksi yang berkaitan dengan proses kegiatan. Kelebihan-kelebihan tersebut diwujudkan dalam bentuk program SMS Gateway bimbingan belajar Smart Edu. Dengan adanya aplikasi berbasis SMS yang memberikan informasi dan kemudahan transaksi diharapkan dapat membantu pihak bimbingan belajar meningkatkan mutu layanan yang ada. Perangkat lunak yang digunakan dalam pembuatan dan pengembangan aplikasi ini yaitu NET Framework 2.0 sebagai aplikasi desktop dan J2ME sebagai aplikasi mobile, Visual studio 2005 dan MySQL 5.0 serta perangkat kerasnya menggunakan sebuah Laptop (notebook) dan Handphone Blackberry 9300 Curve. Beberapa Fitur request penyampaian lewat SMS yang akan di aplikasikan yaitu SMS Register, informasi jadwal, daftar jadi peserta, request dinamis, request jadwal, ubah jadwal, request paket pelajaran, ubah paket, laporan evaluasi, broadcast. Selain itu fasilitas lain yang diberikan di sistem ini adalah SMS broadcast yaitu mengirim SMS yang bersifat pesan promo kepada seluruh siswa/i yang nomor Handphonenya telah terdaftar atau hanya ke beberapa nomor tertentu secara serentak. Kata kunci : SMS Gateway, Java J2ME C#, NET Framework 2.0, visual studio 2005, dan MySQL 5.0 xiv+115 halaman; 64 gambar; 13 table. SURAT PERNYATAAN TIDAK PLAGIAT DAN PERSETUJUAN PUBLIKASI Sebagai sivitas akademik Universitas Budi Luhur, saya yang bertanda tangan dibawah ini : Nim : 0511510036 Nama : Devi Ling Ling Judul tugas akhir : APLIKASI SMS GATEWAY UNTUK LAYANAN SISTEM INFORMASI BIMBINGAN BELAJAR PADA BIMBINGAN BELAJAR SMART EDU Program Studi : Teknik Informatika Fakultas : Teknologi Informasi Dengan ini menyatakan : Karya tulis saya, Laporan tugas akhir ini adalah asli dan belum pernah diajukan untuk mendapatkan gelar sarjana, baik di Universitas Budi Luhur maupun di perguruan tinggi lainnya. Karya tulis ini bukan saduran / terjemahan, murni gagasan, rumusan dan pelaksanan penelitian / implementasi saya sendiri, tanpa bantuan pihak lain, kecuali arahan pembimbing akademik dan nara sumber di organisasi tempat riset. Dalam karya tulis ini tidak terdapat karya atau pendapat yang telah ditulis atau dipublikasikan orang lain, kecuali secara tertulis dengan dicantumkan sebagai acuan dalam naskah dengan disebutkan nama pengarang dan dicantumkan dalam daftar pustaka. Saya menyerahkan hak milik atas karya tulis ini kepada Universitas Budi Luhur, dan oleh karenanya Universitas Budi Luhur berhak melakukan pengelolaan atas karya tulis ini sesuai dengan norma hukum dan etika yang berlaku. Pernyataan ini saya buat dengan sesungguhnyanya dan apabila di kemudian hari terdapat penyimpangan dan ketidakbenaran dalam pernyataan ini, maka saya bersedia menerima sanksi akademik berupa pencabutan gelar yang telah diperoleh karena karya tulis ini, serta sanksi lainnya sesuai dengan norma yang berlaku di Universitas Budi Luhur. Jakarta, 16 Januari 2012 (Devi Ling Ling) KATA PENGANTAR Puji syukur saya ucapkan kepada Tuhan Yesus Kristus yang telah memberikan kekuatan kepada saya dalam penulisan skripsi ini. Tanpa kekuatan dan anugerah-Nya saya tidak akan dapat menyelesaikan penyusunan tugas akhir ini dengan judul “APLIKASI SMS GATEWAY UNTUK LAYANAN SISTEM INFORMASI BIMBINGAN BELAJAR PADA BIMBINGAN BELAJAR SMART EDU” Adapun maksud dan tujuan ini, adalah untuk diajukan sebagai salah satu persyaratan didalam meyelesaikan program pendidikan jenjang Strata (S-1) pada Program Studi Tehnik dan Informatika Fakultas Teknologi Informasi Universitas BUDI LUHUR. Penulis menyadari sepenuhnya bahwa penyusunan tugas akhir ini masih banyak kekurangan dan keterbatasan, namun demikian penulis berusaha agar penyusunan tugas akhir ini tetap memiliki syarat sebagai karya tulis yang bersifat ilmiah. Pada kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada pihak yang telah memberikan bantuan sehingga penulisan tugas akhir ini dapat terselesaikan sebagaimana mestinya. Penulis ingin menyampaikan ucapan terimakasih dan penghargaan yang sebesar-besarnya kepada : Bapak Prof.DR.Tb.Ronny Rahman Nitibaskara, selaku Rektor Universitas Budi Luhur Bapak Goenawan Brotosaputro, S.Kom, M.Sc, selaku Dekan Fakultas Teknologi Informasi. Bapak Muhammad Ainur Rony, S.Kom, M.T.I, selaku Ketua Program Studi Teknik Informatika. Bapak Ir. Siswanto,MM selaku dosen pembimbing skripsi, yang telah membimbing saya selama pembuatan skripsi ini. Kepada keluarga, rekan-rekan kantor dan sahabat yang sudah memberikan kekuatan selama ini. Semua teman-teman Budi Luhur Roxy Mas yang sudah banyak membantu Serta semua pihak yang namanya tidak dapat disebutkan satu persatu baik secara langsung maupun tidak langsung telah berperan serta dan mendukung dalam doa untuk mewujudkan tugas akhir ini. Penulis sadar bahwa skripsi ini masih jauh dari sempurna baik dalam isi maupun penulisan oleh karena keterbatasan penulis, oleh karena itu penulis sangat mengharapkan kritik dan saran yang membangun sehingga tulisan dapat menjadi panduan bagi yang memerlukannya. Jakarta, 16 Januari 2012 Penulis Devi Ling Ling NIM : 0511510036 DAFTAR TABEL Halaman Tabel 2.1 : Contoh penulisan nomor SMSC 22 Tabel 2.2 : Format PDU Type 23 Tabel 2.3 : DCS yang dapat menentukan message class 24 Tabel 2.4 : Karakter dari 7 binari digit (Alphabet Standard GSM 3.38) 25 Tabel 2.5 : Tipe Data dalam MySQL 37 Tabel 3.1 : Tabel Siswa 49 Tabel 3.2 : Tabel Kelas Private 50 Tabel 3.3 : Tabel Kelas Peserta 50 Tabel 3.4 : Tabel Jadwal Kelas 50 Tabel 3.5 : Tabel Kelas 51 Tabel 3.6 : Tabel Guru 51 Tabel 3.7 : Tabel Pelajaran 51 DAFTAR GAMBAR Halaman Gambar 2.1 : Proses Pengiriman dan Penerimaan SMS Center 9 Gambar 2.2 : Pengaturan Status Pengiriman Pesan SMS………………………………………… ... 9 Gambar 2.3 : Arsitektur Sistem GSM ………………………………...... 11 Gambar 2.4 : Mekanisme Store and Forward pada Pengiriman Pesan SMS…………........... 12 Gambar 2.5 : Struktur Time Slot dan Frame pada Sistem GSM ………………………………..... 13 Gambar 2.6 : Arsitektur Dasar SMS ………………………………………………….... .. 13 Gambar 2.7 : Infrastruktur Jaringan untuk Merealisasikan Layanan SMS yang Inovatif…. 17 Gambar 2.8 : Simulasi Pengiriman dan Penerimaan SMS Gateway ………………………….... 18 Gambar 2.9 : Ilustrasi SMS Gateway ………………………….... 19 Gambar 2.10 : Ilustrasi Aplikasi SMS Gateway ………………………….... 19 Gambar 2.11 : Skema Format SMS Deliver PDU …………………………………………………..... 26 Gambar 3.1 : ER Diagram………………………………………………….. .. 47 Gambar 3.2 : Transformasi ER Diagram ……………………………………………….. 48 Gambar 3.3 : Logical Record Structure …………………………………………….... 49 Gambar 3.4 : Rancangan Layar Menu Connection……………………………………………….... 52 Gambar 3.5 : Rancangan Layar Menu Inbox…………………………………………... 53 Gambar 3.6 : Rancangan Layar Menu Outbox…………………………………………... 54 Gambar 3.7 : Rancangan Layar Mata Pelajaran………………………………... 55 Gambar 3.8 : Rancangan Layar Data Guru………………………….... 56 Gambar 3.9 : Rancangan Layar Data Siswa……………………………………….. 57 Gambar 3.10 : Rancangan Layar Periode Kelas………………………………... 58 Gambar 3.11 : Rancangan Layar Kelas Reguler………………………………………………. 59 Gambar 3.12 : Rancangan Layar Kelas Private…………………………………………. 60 Gambar 3.13 : Rancangan Layar Broadcast………………………………………………….. 61 Gambar 3.14 : Rancangan Layar Modem Log……………………… 62 Gambar 3.15 : Rancangan Layar Menu Smart-Edu………………………………………….. 63 Gambar 3.16 : Rancangan Layar Form Info Periode Kelas………………………………………….. 63 Gambar 3.17 : Rancangan Layar Tab Informasi Kelas………………………………………………… 64 Gambar 3.18 : Rancangan Layar Tab pendaftaraan Kelas…………………………………………….. 65 Gambar 3.19 : Rancangan Layar Tab Pindah Kelas……………………………………………………… 66 Gambar 3.20 : Rancangan Layar Tab Hasil Les Kelas…………………………………………………… 67 Gambar 3.21 : Rancangan Layar Tab set Pemberitahuan Jadwal……………… 68 Gambar 3.22 : Rancangan Layar Tab Permintaan Les Private……………………………………… 68 Gambar 3.23 : Rancangan Layar Tab Data Siswa………………………………………………………… 69 Gambar 3.24 : Rancangan Layar Tab Menu Smart Edu-Teacher…………………………………… 69 Gambar 3.25 : Rancangan Layar Tab informasi Kelas………………………………………………… 70 Gambar 3.26 : Rancangan Layar Tab Pembatalan Kelas……………………………………………… 71 Gambar 3.27 : Rancangan Layar Tab Kirim Nilai………………………………………………… 72 Gambar 3.28 : Rancangan Layar Tab Kirim Catatan…………………………………… 72 Gambar 3.29 : Flowchart Tab General…………………………………………………… 73 Gambar 3.30 : Flowchart Tab Pilihan Program……………………………………………………… 75 Gambar 3.31 : Flowchart Tab Data Master…………………………………………………… 76 Gambar 3.32 : Flowchart Tab Kelas Reguler……………………………………… 78 Gambar 3.33 : Flowchart Tab Kelas Private…………………………………………… 80 Gambar 3.34 : Flowchart Tab Inbox…………………………………… 82 Gambar 3.35 : Flowchart Tab Outbox……………………………………………… 83 Gambar 3.36 : Flowchart Broadcast…………………………………… 84 Gambar 3.37 : Flowchart Administrator Mobile - Student……………………………………………… 87 Gambar 3.38 : Flowchart Administrator Mobile - Teacher……………………………………………… 89 Gambar 4.1 : Tampilan Tab Menu Modem Connection ……………………………………………… 99 Gambar 4.2 : Tampilan Tab Menu Mata Pelajaran ……………………………………………… 100 Gambar 4.3 : Tampilan Tab Menu Data Guru ……………………………………………… 100 Gambar 4.4 : Tampilan Tab Menu Data Siswa ……………………………………………… 101 Gambar 4.5 : Tampilan Tab Menu Periode Kelas ……………………………………………… 102 Gambar 4.6 : Tampilan Tab Menu Kelas Reguler ……………………………………………… 102 Gambar 4.7 : Tampilan Tab Menu Kelas Private ……………………………………………… 103 Gambar 4.8 : Tampilan Tab Menu Inbox ……………………………………………… 104 Gambar 4.9 : Tampilan Tab Menu Outbox ……………………………………………… 105 Gambar 4.10 : Tampilan Tab Menu Broadcast ……………………………………………… 106 Gambar 4.11 : Tampilan Tab Menu Modem Log ……………………………………………… 107 Gambar 4.12 : Tampilan Tab Menu Smart Edu - Student ……………………………………………… 108 Gambar 4.13 : Tampilan Form Info Periode Kelas ……………………………………………… 108 Gambar 4.14 : Tampilan Tab Informasi Kelas ……………………………………………… 109 Gambar 4.15 : Tampilan Tab Pendaftaraan Kelas ……………………………………………… 109 Gambar 4.16 : Tampilan Tab Pindah Kelas ……………………………………………… 110 Gambar 4.17 : Tampilan Tab Hasil Les Kelas ……………………………………………… 111 Gambar 4.18 : Tampilan Tab Pemberitahuan Jadwal Kelas ……………………………………………… 112 Gambar 4.19 : Tampilan Tab Permintaan Les Private ……………………………………………… 113 Gambar 4.20 : Tampilan Tab Data Siswa ……………………………………………… 113 Gambar 4.21 : Tampilan Tab Menu Smart Edu - Teacher ……………………………………………… 113 Gambar 4.22 : Tampilan Tab Informasi Kelas ……………………………………………… 114 Gambar 4.23 : Tampilan Tab Pembatalan Kelas ……………………………………………… 115 Gambar 4.24 : Tampilan Tab Kirim Nilai ……………………………………………… 115 Gambar 4.25 : Tampilan Tab Kirim Catatan Ke Kelas ……………………………………………… 116 DAFTAR SIMBOL Daftar Simbol pada Flowchart Terminator Menggambarkan kegiatan awal/akhir suatu proses Input / Output Menggambarkan suatu kegiatan masukan atau keluaran Process Menerangkan sebuah operasi atau aksi yang dilakukan Predefined Process Menerangkan pemanggilan sub-program atau fungsi beberapa program Decision Menggambarkan suatu keputusan / tindakan yang harus diambil dalam kondisi tertentu Connector Digunakan untuk menghubungkan satu proses ke proses berikutnya On-Page Connector Digunakan sebagai penghubung antara satu proses dengan proses lainnya dalam satu halaman Off-Page Connector Digunakan sebagai penghubung antara satu proses dengan proses lainnya antar halaman Daftar Simbol pada Entity Relationship Diagram (ERD) Process Menggambarkan entitas data Decision Menggambarkan relationship antar entitas Connector Digunakan sebagai penghubung antara entitas dengan relationship DAFTAR ISI Halaman BAB I PENDAHULUAN Latar Belakang Smart Edu merupakan Lembaga bimbingan belajar yang bergerak dibidang pendidikan berdiri sejak tahun 2001 berlokasi di daerah Tambun Bekasi. Untuk meningkatkan kemampuan siswa sekolah untuk mendapatkan kemampuan lebih baik lagi untuk menghadapi hasil ujian maupun pelajaran di sekolah, Smart Edu juga membantu siswa/siswi yang memiliki kekurangan dalam pelajaran tertentu untuk dapat memaksimalkan kemampuan mereka dalam menghadapi tingkat pendidikan yang terus berkembang belakangan ini. Kemajuan jaman mendorong untuk semakin meningkat juga tingkat kecepatan dan kebutuhan setiap individu, dengan demikian Smart Edu menawarkan layanan yang bukan hanya sekedar menjadi sarana bimbingan belajar bukan di tempat, melainkan bagi beberapa siswa yang ingin dilayani secara pribadi/khusus, Smart Edu melayani penyediaan guru dan juga mempermudah orangtua dan siswa untuk berhubungan dengan bagian pelayanan pendidikan untuk menyediakan kebutuhan prasarana yang baik dan didukung dengan teknologi cerdas. Sistem pelayanan yang lama membutuhkan waktu yang lama, pelayanan service yang kurang memuaskan dan juga kadangkala kondisi pelayanan manual turut menjadi kendala dalam memilih jadwal, kelas, guru dan paket pendidikan yang tepat. Dengan adanya Smart Edu ini, maka diharapkan akan mempermudah bagi para siswa/i untuk menentukan point-point penting untuk belajar tambahan di luar sekolah. Masalah Dari pengamatan yang telah dilakukan di lapangan terhadap kegiatan bimbingan belajar Smart Edu ini, maka permasalahannya dapat disimpulkan sebagai berikut : Penyebaran informasi hanya dengan mengandalkan penyebaran brosur saja tidak cukup efektif, brosur yang hilang, tiupan angin dan hujan dapat menjadi kendala dan masalah untuk menyampaikan informasi dengan baik. Keterbatasan staff dapat menjadi masalah dalam melayani siswa/siswi bimbingan belajar yang akan mendaftar. Smart Edu juga belum memiliki sarana penyampaian informasi yang dapat memberikan informasi secara otomatis dan efisien. Masalah penyimpanan data siswa yang belum tersimpan dengan rapi dan baik juga suatu kendala, sehingga pada saat dibutuhkan membutuhkan waktu yang lama untuk menemukan data tersebut. Tujuan Penulisan Penulisan ini bertujuan untuk mengembangkan informasi sistem yang diharapkan dapat mengatasi permasalah dan hal-hal yang berhubungan dengan sistem dan teknologi seperti : Merancang suatu sistem informasi yang mudah mengakses hal-hal yang sesuai dengan kebutuhan siswa/siswi. Dapat meningkatkan dan mengoptimalkan pelayanan bimbingan belajar dengan aplikasi SMS Gateway ini. Meningkatkan nilai pelayanan bimbingan belajar ini kepada para siswa/siswi. Memberikan arahan yang lebih baik bukan saja dalam hal pengembangan, namun juga dalam hal bisnis kedepannya. Selanjutnya mencoba implementasi pemahaman yang diperoleh dengan membangun suatu aplikasi atau simulasi pada masalah yang nyata. Penggunaan teks SMS saat ini sudah menjadi alternative yang digunakan oleh beberapa bimbingan belajar ataupun perusahaan dalam memperkenalkan produknya lebih lanjut. Adapun fitur-fitur request sebagai berikut : Informasi Jadwal Informasi mengenai jadwal yang tersedia yang dapat diambil oleh siswa/siswi dan ketersediaan guru mengajar. Daftar Jadi Peserta Permintaan daftar jadi siswa bimbingan belajar. Siswa akan diregistrasi untuk dimintai data berupa : nama, alamat, no telp, dan noHP. Request Dinamis Request dinamis merupakan request yang memberikan informasi mengenai guru bimbingan belajar yang akan dipilih para siswa/siswi atau berupa tambahan menu. Request Jadwal Pelajaran. Permintaan jadwal jam dan guru paket pelajaran yang tersedia. Ubah Jadwal Ubah permintaan jadwal jam dan guru paket pelajaran yang telah disepakati. Request Paket Pelajaran Permintaan jadwal paket pelajaran yang tersedia. Ubah paket Ubah jadwal paket pelajaran yang ada dengan paket pelajaran yang baru. Laporan Evaluasi Pelajaran Laporan mengenai evaluasi hasil pelajaran yang telah diberikan oleh guru pembimbing selama 1 bulan kepada orangtua sebagai bentuk hubungan informasi antara guru pembimbing dan orangtua/wali. Broadcast. Pesan sms yang memiliki isi yang sama dan dapat disebarkan ke beberapa nomor ponsel sekaligus. Ruang Lingkup Agar dapat tercapainya tujuan penulisan, maka tugas akhir ini hanya membatasi masalah yang ada supaya tidak menyimpang dari pokok pembahasan pada pembuatan dan penggunaan aplikasi informasi. Pembuatan aplikasi dimulai dengan beberapa teori dasar, kemudian dilanjutkan dengan tahap perancangan dan pembuatannya. Tahap akhir adalah perancangan dan pembuatannya. Sehingga dengan penggabungan tersebut akan dapat menyediakan informasi yang lebih lengkap dan akurat mengenai layanan informasi dan komunikasi terhadap orangtua dan siswa/i. Metodelogi Perancangan Metode perancangan dalam skripsi ini menggunakan model waterfall, dengan langkah-langkah sebagai berikut : Requirement Analysis Semua kebutuhan perangkat lunak harus bisa kumpulkan, termasuk kegunaan perangkat lunak yang diharapkan pengguna dan batasannya. Hal-hal tersebut dapat kumpulkan melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya. System Design Tahap ini dilakukan sebelum melakukan coding. Tujuan dari tahap ini adalah memberikan gambaran dari apa yang akan dikerjakan dan bagaimana tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan perangkat keras dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan. Implementation Tahap implementation ini adalah tahap pembuatan pemrograman. Pembuatan perangkat lunak dipecah menjadi beberapa modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap ini juga dilakukan pemeriksaan terhadap modul yang dibuat. Apakah sudah memenuhi syarat dan fungsi yang diinginkan atau belum. Integration & Testing Dalam tahap ini penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian untuk mengetahui apakah perangkat lunak yang dibuat telah sesuai dengan designnya dan masih terdapat kesalahan atau tidak. Operation & Maintenance Ini merupakan tahap terakhir. Perangkat lunak yang sudah jadi dijalankan serta dilakukan pemeliharaan. Termasuk dalam memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru. Sistematika Penulisan Skripsi ini terdiri dari 5 (lima) bab dengan sistematika penulisan sebagai berikut : BAB I : PENDAHULUAN Bab ini membahas tentang latar belakang masalah, tujuan penulisan, ruang lingkup, metode perancangan dan sistematika penulisan. BAB II : LANDASAN TEORI Bab ini membahas tentang teori mengenai pemrograman SMS dengan menggunakan format PDU, pemrograman Modern menggunakan AT command, aplikasi mobile J2ME C# dan pemrograman Database melalui perintah SQL. BAB III : ANALISA DAN PERANCANGAN APLIKASI SMS GATEWAY UNTUK LAYANAN SISTEM INFORMASI BIMBINGAN BELAJAR PADA BIMBINGAN BELAJAR SMART EDU Bab ini membahas mengenai analisa masalah dari kondisi yang sudah ada dan pemecahannya. Kemudian diikuti denan analisa program yang dirancang dalam flowchart, kemudian algoritma program dan rancangan database serta rancangan layar aplikasi. BAB IV : IMPLEMENTASI DAN ANALISA PROGRAM YANG DIBUAT Bab ini membahas uraian mengenai perangkat keras dan perangkat lunak yang digunakan dalam membuat aplikasi. Pada Bab ini juga diuraikan implementasi dan tentang cara kerja aplikasi yang dibuat. Interaksi sistem dengan pengguna melalui tambahan aplikasi, dilanjutkan dengan analisa hasil yang dicapai oleh program yang dikembangkan dan pengembangan lebih lanjut program. BAB V : PENUTUP Bab ini berisi kesimpulan yang diperoleh dari tahap-tahap analisa dan perancangan sistem serta saran-saran yang berisi pandangan dan usulan tentang hal-hal yang dapat dilakukan. BAB II LANDASAN TEORI 1. SMS (Short Message Service) Pengguna ponsel pasti tahu, kalau pesan di SMS terdiri dari 160 karakter. Namun, tak banyak yang mengetahui sejarah, bagaimana awal terciptanya batasan 160 karakter di SMS tersebut. Banyak teori yang menyebutkan tentang batasan 160 karakter. Namun, teori yang paling umum diketahui adalah batasan 160 karakter ini diciptakan oleh pengembang telekomunikasi dari Deutsche Telekom Jerman, Friedhelm Hillebrand, 1985, demikianlah menurut Pascal Michaelis, 2011 ditulis dalam webnya. SMS singkatan dari Short Message Service adalah merupakan suatu teknologi yang memungkinkan untuk mengirim dan menerima pesan antar pengguna mobile phone. SMS (Short Message Service) atau layanan singkat adalah salah satu layanan yang disediakan ponsel dan sedang menjadi trend di masyarakat saat ini. SMS merupakan teknologi yang memungkinkan untuk menerima dan mengirim pesan antar telepon bergerak (ponsel). Teknologi ini pertama kali diperkenalkan pada tahun 1992 di Eropa oleh ETSI (European Telecommunications Standards Institude) dan pada awalnya menjadi standar untuk telepon wireless yang berbasis GSM (Global SystEMS for Mobile Communications). Seperti namanya Short Message Service yang dapat dikirim dengan SMS sangat terbatas. Satu pesan SMS dapat berisi paling banyak 140 bytes (1120 bit) dari data, maka satu pesan SMS dapat berisi sampai : 160 karakter, jika 7-bit character encoding digunakan (jika 7-bit character encoding adalah penggunaan karakter latin seperti karakter English). 70 karakter, jika 16-bit Unicode UCS2 character encoding digunakan (pesan teks SMS berisi karakter bukan latin, seperti karakter Cina maka perlu menggunakan 16-bit character encoding). Pesan teks SMS mendukung berbagai bahasa internasional. Bahasa yang didukung oleh Unicode termasuk bahasa Arab, Cina, Jepang, Korea. Selain teks, pesan SMS dapat membawa data biner yang memungkinkan untuk mengirimkan ringtones, gambar, logo operator, animasi, kartu bisnis (V.Card) dan WAP satu kelemahan dari teknologi SMS adalah jumlah data yang dapat dibawa sangat dibatasi. Suatu teknik perluasan atau penggabungan pesan yang sering disebut dengan Concatenated SMS untuk menghilangkan kelemahan ini maka telah dikembangkan suatu pemecah masalah untuk mengatasinya. Pesan teks Concatenated SMS dapat berisi lebih dari 160 karakter standar (karakter English). Selain pembatasan ukuran data, SMS mempunyai kelemahan utama yang lainnya, yaitu isi pesan SMS tidak dapat berisi rich-media seperti gambar, animasi, dan melodi. EMS (Enhanced Messaging Service) telah dikembangkan sebagai jawaban mengenai ini. Pesan EMS dapat berisi gambar, animasi dan melodi. Dalam satu pesan EMS dapat dilakukan pengaturan teks seperti huruf miring, huruf tebal, huruf kecil serta dapat menyisipkan gambar, melodi dan animasi. SMS merupakan layanan Messaging yang pada umumnya terdapat pada setiap sistem jaringan wireless digital. SMS adalah layanan untuk mengirim dan menerima pesan tertulis (teks) dari maupun kepada perangkat bergerak (mobile device). Pesan teks yang dimaksud tersusun dari huruf, angka, atau karakter alfa numerik. SMS Center / SMSC Center/pusat (SMSC) bertugas untuk melakukan penanganan operasi SMS dari suatu jaringan wireless. Ketika suatu pesan SMS dikirim dari mobile phone, maka akan diterima oleh SMS pusat terlebih dahulu kemudian akan diteruskan ke nomor yang dituju. Gambar 2.1 : Proses Pengiriman dan Penerimaan SMS Center Konsep Dasar Teknologi SMS Menurut Skyvillezz, 2011, sejak konsep wireless telepon ditemukan pertama kali oleh Nathan B. Stubblefield, 1908 hingga menjadi ponsel (telepon seluler) saat ini, ponsel/hp telah melalui berbagai tahapan perubahan. Berikut ini akan dijelaskan beberapa konsep dasar teknologi SMS. Validity Period of an SMS Message. Suatu pesan SMS akan disimpan sementara di SMS Center, jika penerima SMS sedang dalam keadaan offline. Pesan SMS ini akan dikirim kembali apabila penerima sudah online. Untuk pesan SMS yang tersimpan di SMS Center dalam waktu yang melebihi masa aktif pesan, maka secara otomatis pesan SMS akan dihapus oleh SMS Center dan tidak akan disampaikan ke penerima. Periode aktif pesan ini disebut juga dengan validasi periode aktif. Sebuah mobile phone mempunyai pilihan menu yang dapat digunakan untuk mengatur validasi periode ini, sehingga dapat mengatur berapa lama pesan itu akan dikirim apabila penerima sedang keadaan offline. Message Status Reports terkadang ingin diketahui apakah sebuah pesan SMS yang dikirim sudah berhasil diterima atau belum. Untuk mendapatkan informasi ini, kita harus menetapkan atau mengatur pada pesan SMS yang akan dikirim. Ini bertujuan agar SMS Center mengetahui bahwa pengirim memerlukan informasi mengenai laporan status pengiriman pesan. Laporan status yang disampaikan ke pengirim berupa pesan SMS. Sebuah mobile phone /handphone mempunyai pilihan menu yang dapat digunakan untuk mengatur status pengiriman pesan SMS. Berikut pengaturan status pengiriman pesan SMS tergambar dalam gambar 2.2. Gambar 2.2 : Pengaturan Status Pengiriman Pesan SMS Arsitektur Teknologi SMS Menurut Wahana Ponsel, 2007 Keberhasilan dan popularitas SMS, antara lain disebabkan oleh: Pengguna dapat mengirimkan SMS ke nomor tujuan walaupun ponsel tujuan sedang tidak aktif. Hal ini dikarenakan SMS memiliki masa tunggu. Jadi, selama masa tunggu SMS tersebut belum habis, SMS akan tetap terkirim ke nomor tujuan walaupun terlambat. SMS adalah layanan yang pasti ada pada setiap ponsel. Hal ini dikarenakan SMS merupakan sebuah standar yang pasti ada untuk setiap ponsel yang berbasis GSM. Pengguna tidak dapat menolak SMS yang masuk ke ponsel. Berbeda dengan panggilan langsung yang dapat ditolak apabila tidak ingin menerimanya. Sampai saat ini, belum ada cara khusus dalam ponsel maupun operator untuk menolak SMS yang telah dikirimkan. Harganya yang relatif murah. Dalam forum studi dan pembicaraan mengenai standar 3G, SMS (atau disebut layanan Messaging) tetap disebut sebagai layanan penting yang diperlukan dan menjadi bagian dari standar 3G. Dalam standar 3G - IMT 2000, tersebut 4 layanan utama 3G, yaitu: Voice Layanan voice tetap merupakan layanan utama 3G, yang diharapkan akan menyamai kualitas layanan voice pada jaringan PSTN. Messaging Layanan Messaging SMS pada 3G akan dikembangkan menjadi EMS (Enhanced Messaging Service) yang mampu E-mail attachment serta merupakan bagian dari layanan Unified Messaging, dan kemudian MMS (Multimedia Messaging Service) yang merupakan Messaging dengan kemampuan image attachment. Paket Data Teknologi switched data pada 2G akan ditinggalkan dan diganti menjadi teknologi paket data yang lebih cepat dan efisien. Teknologi paket data ini menjadi dipercaya menjadi teknologi yang akan menjadi pembuka perkembangan internet bergerak (mobile internet). Streaming Multimedia Seiring dengan diperkenalkannya standar 3G mengenai teknologi paket data dan peningkatan efisiensi jaringan, maka kecepatan data (data rate) pada jaringan wireless dapat mencapai 2 Mbps yang akan memungkinkan streaming data multimedia yang akan menjadi bagian dari layanan video conferencing /video phones dan telepresence. Sebagai bagian dari sistem GSM, SMS adalah layanan yang sebenarnya merupakan bearer sevice atau packet pengirim dari data GSM. Bearer service ini bekerja pada layer fisik yang merupakan layer terbawah dari protokol aplikasi data GSM. Arsitektur sistem GSM sendiri adalah seperti tergambar dalam gambar 2.3. Gambar 2.3 : Arsitektur Sistem GSM SMS adalah data tipe asynchoronous message yang pengiriman datanya dilakukan dengan mekanisme protokol store and forward. Hal ini berarti bahwa pengirim dan penerima SMS tidak perlu berada dalam status berhubungan (connected / online) satu sama lain ketika akan saling bertukar pesan SMS. Pengiriman pesan SMS secara store and forward berarti pengirim pesan SMS menuliskan pesan dan nomor telepon tujuan dan kemudian mengirimkannya (store) ke server SMS (SMS-Center) yang kemudian bertanggung jawab untuk mengirimkan pesan tersebut (forward) ke nomor telepon tujuan. Hal ini mirip dengan mekanisme store and forward pada protokol SMTP yang digunakan dalam pengiriman E-mail internet. Keuntungan mekanisme store and forward pada SMS adalah, penerima tidak perlu dalam status online ketika ada pengirim yang bermaksud mengirimkan pesan kepadanya, karena pesan akan dikirim oleh pengirim ke SMSC yang kemudian dapat menunggu untuk meneruskan pesan tersebut ke penerima ketika ia siap dan dalam status online di lain waktu. Ketika pesan SMS telah terkirim dan diterima oleh SMSC, pengirim akan menerima pesan singkat (konfirmasi) bahwa pesan telah terkirim (message sent). Hal-hal inilah yang menjadi kelebihan SMS dan populer sebagai layanan praktis dari sistem telekomunikasi bergerak. Mekanisme tersebut terdapat dalam gambar 2.4. Gambar 2.4 : Mekanisme Store and Forward pada Pengiriman Pesan SMS Keterbatasan SMS adalah pada ukuran pesan yang dapat dikirimkan, yaitu maksimal sebesar 160 byte. Keterbatasan ini disebabkan karena mekanisme transmisi SMS itu sendiri. SMS pada awalnya adalah layanan yang ditambahkan pada sistem GSM yang digunakan untuk mengirimkan data mengenai konfigurasi dari handset pelanggan GSM. SMS dikirimkan menggunakan signalling frame pada kanal frekuensi atau time slot frame GSM yang biasanya digunakan untuk mengirimkan pesan untuk kontrol dan sinyal setup panggilan telepon, seperti pesan singkat tentang kesibukan jaringan atau pesan CLI (Caller Line indentification). frame ini bersifat khusus dan ada pada setiap panggilan telepon serta tidak dapat digunakan untuk membawa voice atau data dari pelanggan. Ukuran frame pada sistem GSM sendiri adalah sebesar 1250 bit (kurang lebih sama dengan 160 byte). Karena hanya menggunakan satu frame inilah pengiriman pesan SMS menjadi sangat murah, karena beban biaya hanya dihitung dari penggunaan satu frame melalui kanal frekuensi. Pengiriman SMS menggunakan frame pada kanal frekuensi adalah berarti SMS dikirim oleh pengirim ke nomor telepon tertentu yang bertindak sebagai SMSC (SMS-Center) dan kemudian SMSC bertugas untuk meneruskannya ke penerima. Pengiriman SMS berlangsung cepat karena, SMSC selain terhubung ke LAN aplikasi juga terhubung ke MSC (Mobile Switching Network) melalui SS7 (Signaling System 7) yang merupakan jaringan khusus untuk menangkap frame kontrol dan sinyal. Mekanisme pengiriman pesan singkat SMS yang serupa juga ditemukan dalam sistem jaringan lain seperti TDMA, PDC, dan cdmaOne. Beda antara sistem jaringan satu dengan yang lainnya adalah ukuran dari pesan SMS itu sendiri yang bergantung pada ukuran frame yang digunakan pada masing-masing sistem. Pada sistem TDMA dan PDC ukuran pesan SMS sama dengan sistem GSM, yaitu 160 byte, dan pada cdma-One ukuran pesan SMS sebesar 256 byte. Struktur time slot dan frame pada sistem GSM tersebut terdapat pada gambar 2.5. Gambar 2.5 : Struktur Time Slot dan Frame pada Sistem GSM Pada akhirnya SMS menjadi layanan Messaging yang populer dan digemari oleh pelanggan telepon seluler. Layanan SMS dapat diintegrasikan dengan layanan GSM yang lain seperti voice, data, dan fax, dan karena itu pesan SMS selain digunakan untuk pengiriman pesan person to person juga digunakan untuk notifikasi voice dan fax mail yang datang kepada pelanggan. Selain itu SMS juga berharga murah, bersifat simpel dan personal, serta dalam pengoperasiannya tidak terlalu mengganggu kesibukan pemakainya, karena mereka dapat mengirim atau menerima pesan pada waktu yang mereka kehendaki. SMS merupakan layanan messaging yang pada umumnya terdapat pada setiap sistem jaringan wireless digital. SMS adalah layanan untuk mengirim dan menerima pesan tertulis (teks) dari maupun kepada perangkat bergerak (Mobile Device). Pesan teks yang dimaksud tersusun dari huruf, angka, atau karakter alfanumerik. Pesan teks dikemas dalam satu paket / frame yang berkapasitas maksimal 160 byte yang dapat direpresentasikan berupa 160 karakter huruf latin atau 70 karakter alfabet non-latin seperti alfabet Arab atau Cina. Arsitektur Jaringan SMS Operator menyediakan SMS Center (SMSC ) untuk implementasi jaringan SMS. Secara fisik SMSC dapat berwujud sebuah PC biasa yang mempunyai interkonektivitas dengan jaringan GSM. Contoh arsitektur dasar SMS terdapat pada gambar 2.6. Gambar 2.6 : Arsitektur Dasar SMS Dari gambar 2.6 arsitektur dasar SMS, disebelah kiri dapat dilihat SMSC memiliki interkonektivitas dengan SME (Short Messaging Entity) yang dapat berupa jaringan email, Web dan voice E-mail. SMSC inilah yang melakukan manajemen pesan SMS baik untuk pengiriman, pengaturan antrian SMS atau penerimaan SMS. Short Messaging Entieties (SME) 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 : WEB, E-mail, dan Lainnya. Short Message Service Center (SMSC) SMSC adalah sebuah kombinasi perangkat keras dan perangkat lunak yang bertanggung jawab memperkuat, menyimpanan meneruskan pesan pendek antara SME dan piranti bergerak. SMSC harus memiliki kehandalan, kapasitas pelanggan, dan throuput pesan yang tinggi. Selain itu SMSC juga harus dapat diskalakan dengan mudah untuk mengakomodasi peningkatan permintaan SMS dalam jaringan yang ada. Faktor lain yang harus dipertimbangkan adalah kemudahan operasi dan pemeliharaan aplikasi dan juga fleksibilitas untuk mengaktifkan layanan baru dan mengupgrade software terbaru. SMS Gateway dan SMS Interworking Mobile Switching Center SMS-GMSC adalah sebuah aplikasi MSC yang mampu menerima pesan singkat dari SMSC, menginterogasi Home Location Register (HLR) untuk informasi routing, dan mengirimkan pesan tersebut ke MSC dari piranti bergerak yang dituju. SMS-IWMSC adalah aplikasi MSC yang mampu menerima pesan pendek dari jaringan begerak dan mengirimkannya ke SMSC yang tepat SMSGMSC / SMSIWMSC biasanya terintegrasi dengan SMSC. Home Location Register (HLR) HLR adalah basis data yang digunakan untuk penyimpanan permanent, pengelolaan pelanggan dan profil layanan. Ketika diinterogasi oleh SMSC, HLR memberikan informasi routing mengenai pelanggan yang ingin dituju. HLR juga dapat memberitahu SMSC, yang sebelumnya mengalami kegagalan usaha pengiriman pesan pendek ke piranti bergerak tertentu, bahwa sekarang piranti mobile tersebut telah dikenali oleh jaringan bergerak, dan dengan demikian pesan telah dapat dikirimkan. Mobile Switching Center (MSC) MSC melakukan fungsi penyaklaran sistem dan mengendalikan panggilan ke dan dari sistem telepon dan data yang lain. MSC akan mengirimkan pesan pendek ke pelanggan tertentu melalui base stasion yang sesuai. Visitor Location Register (VRL) VLR adalah basis data yang berisi informasi temporal mengenai pelanggan yang berasal dari suatu HLR yang roaming ke HLR lainnya. Informasi ini dibutuhkan oleh MSC untuk melayani pelanggan yang berkunjung. Base Station System (BSS) Semua fungsi yang terkait dengan transmisi sinyal radio elektromagnetis antara MSC dan piranti bergerak dilakukan di BSS. BSS terdiri dari Base Station Controller (BSC) dan Base Transceiver Stasion (BTS), juda dikenal sebagai wilayah sel. BSC dapat mengendalikan dua atau lebih BTS dan bertanggung jawab pada pemberian sumber data yang semestinya ketika pelanggan bergerak dari satu sector suatu BTS ke sector lain, terlepas dari apakah sektor berikutnya tersebut berada di BTS yang sama atau berbeda. Mekanisme Kerja SMS Ketika pengguna mengirimkan SMS ke suatu nomor, SMS tersebut tidak akan langsung dikirimkan ke nomor tujuan, namun akan masuk terlebih dahulu ke SMS Center (SMSC) operator telepon yang digunakan oleh pengguna. SMS Center sendiri dapat diartikan sebagai sebuah server yang bertanggung jawab pada proses pengiriman SMS dalam suatu operator. SMS yang dikirimkan dari suatu ponsel akan masuk ke SMSC ini, kemudian baru diteruskan ke nomor tujuan SMS tersebut. Apabila nomor yang dituju sedang mati (offline), SMSC ini akan menyimpan SMS tersebut untuk sementara waktu hingga nomor tujuan hidup kembali. Lamanya waktu penyimpanan SMS, sangat tergantung dari lamanya waktu yang telah ditetapkan oleh operator untuk menyimpan SMS tersebut. Nomor yang telah menerima SMS akan mengirimkan laporan ke SMSC bahwa SMS telah diterima. Laporan tersebut kemudian akan diteruskan kembali ke nomor pengirim SMS. Aplikasi Berbasis SMS Tergantung dari metode akses dan enkoding pada pembawa data, layanan pesan pendek point-to-point dapat mengirimkan sampai 190 karakter ke suatu Short Message Entity (SME). Untuk pesan yang segera dikirimkan, hanya dilakukan satu kali pengiriman untuk setiap permintaan layanan. Untuk pesan yang tidak membutuhkan pengiriman dengan segera dapat dilakukan satu kali atau lebih pengiriman sampai suatu acknowledgment diterima. Dalam jaringan GSM, jenis layanan pesan diidentifikasikan dengan protocol identifier information element, yang membedakan antara protokol tingkat tinggi atau interworking yang sedang digunakan. Misalkan telex, group 3 telefax X400, Messaging European Radio Messaging System (ERMES), dan telepon suara. Dalam jaringan IS-41. Jenis layanan dibedakan dengan menggunakan teleservice identifier, seperti: Cellular Messaging Teleservice (CMT), Celular Paging Teleservice (CPT), VoicE-mail Notification Teleservice (VMN). CMT berbeda dengan CPT karena diikutkan mekanisme pembalasan (reply) yang memungkinkan acknowledgment dari pengguna atau jaringan dipilih per pesan. Acknowledgment dari pengguna mengikutsertakan suatu kode tanggapan yang memungkinkan adanya layanan interaktif di antara SMSC-SMSC. Beberapa aplikasi SMS yang menarik untuk dibuat : Notification Service. Jenis aplikasi SMS yang meliputi hal-hal yang bisa dinotifikasi Internetworking melalui SMS, seperti reminder, alerting jika ada Email masuk atau jika ada fax yang masuk. E-mail. Jenis aplikasi ini memungkinkan penggunaan SMS dalam jaringan Email, misalnya untuk SMS-to-email dan email-to-SMS. Web Interworking. Jenis aplikasi ini memungkinkan pengaksesan layanan WEB dengan SMS, layanan informasi kurs, cuaca melalui SMS, juga aplikasi pegiriman SMS dari WEB. Mobile Banking. Layanan SMS digunakan untuk mengirim informasi password, jenis transaksi dan sebagainya. Tracking. Umumnya digunakan untuk perusahaan pemaketan untuk mengetahui lokasi barang yang dikirim. Layanan Service. Jika sekarang umumnya digunakan telepon untuk call Center. Banyak aplikasi layanan yang dapat diimplementasikan dengan mengkombinasikan elemen-elemen layanan ini. Di samping layanan notifikasi yang sudah ada, SMS juga dapat digunakan dalam layanan satu arah atau layanan interaktif yang memungkinkan akses nirkabel ke semua jenis informasi dimanapun berada. Dengan memanfaatkan berbagai teknologi baru yang menggabungkan browser, server dan markup language yang baru yang didesain untuk piranti bergerak, SMS memungkinkan piranti nirkabel untuk mengakses dan mengirimkan informasi secara aman dari internet maupun intranet dengan cepat dan efisien. Salah satu teknologi tersebut dimana SMS dapat memberikan suatu pendekatan yang kooperatif adalah WAP, yang memungkinkan pengiriman data bagi para pengguna piranti bergerak nirkabel. Infrastruktur jaringan secara umum untuk merealisasikan layanan SMS yang inovatif adalah seperti pada gambar 2.7. SMS Gateway Menurut Blogger Kebumen, 2010 saat ini banyak sekali pengguna layanan pesan singkat atau SMS yang digunakan di beberapa lini bisnis, baik perusahaan besar, perusahaan kecil maupun perorangan. Dimana tujuannya pun beragam, seperti yang sering kita lihat bahkan menggunakannya. Sebagai contoh penggunaan yang sering kita lihat adalah dalam acara atau program televisi dimana semakin maraknya polling quiz yang menggunakan layanan SMS atau dapat kita lihat dalam penjualan pulsa elektronik. Dimana untuk mendukung proses tersebut diperlukan sebuah aplikasi penghubung yang dapat mengelola dan menangani pesan SMS yang masuk. Dapat dibayangkan apabila hal seperti ini ditangani secara manual tanpa adanya aplikasi pembantu untuk mengelolanya. Berdasarkan permasalahan diatas maka disini kita akan membahas bagaimana membuat aplikasi SMS Gateway yang dapat membantu menangani pesan-pesan yang masuk dan mengelolanya sesuai dengan kebutuhan. Pembahasan akan dibatasi hanya mengenai SMS Gateway. SMS Gateway adalah suatu platform yang menyediakan mekanisme untuk EUA menghantar dan menerima SMS dari peralatan mobile (HP, PDA phone, dan lain-lain) melalui SMS Gateway shortcode (sebagai contoh 9221). SMS Gateway membolehkan UEA untuk berkomunikasi dengan Telco SMSC (Telkomsel, Indosat, Mentari, XL, dan lain-lain) atau SMS platform untuk menghantar dan menerima pesan SMS dengan sangat mudah, Karena SMS Gateway akan melakukan semua proses dan koneksi dengan Telco. SMS Gateway juga menyediakan UEA dengan interface yang mudah dan standar. UEA dapat berupa berbagai aplikasi yang memerlukan penggunaan SMS. Seperti berbagai aplikasi web yang telah banyak menggunakan SMS (free SMS, pendaftaran, konfirmasi melalui SMS, aplikasi perkantoran, dan sebagainya), CMS, acara pengundian di televisi, dan lain-lain. UEA melakukan komunikasi dengan SMS Gateway melalui internet menggunakan standard HTTP GET atau HTTPS (untuk komunikasi yang aman).Telco SMSC akan menghantar pesan (SMS) tersebut kepada perusahaan SMS Gateway (sesuai dengan nomor yang telah disewa) dengan menggunakan protokol yang khusus. Dan berdasarkan keyword yang telah dituliskan pada SMS, maka sistem SMS Gateway akan menghantar SMS tersebut ke URL yang telah ditentukan. UEA dapat menghantar SMS reply kepada pelanggan melalui SMS. Gateway tersebut. Dan UEA dapat menentukan besarnya biaya (charging) yang akan dikenakan kepada pelanggan. Biasanya telah ditentukan regulasi biayanya (microcharging mechanism), contoh Rp 0 (gratis); Rp 150,- ; Rp 300,- ; Rp1000,- dst. Suatu perusahaan SMS Gateway biasanya support untuk pesan yang berupa teks, Unicode Character, dan juga smart Messaging (ringtone, picture message, logo operator,dan lain-lain). Berikut gambar 2.8 simulasi pengiriman dan penerimaan SMS Gateway. Gambar 2.8 : Simulasi Pengiriman dan Penerimaan SMS Gateway Istilah gateway dapat diartikan sebagai pintu gerbang. Namun pada dunia komputer, gateway dapat diartikan sebagai jembatan penghubung antara satu sistem dengan sistem yang lain, sehingga dapat terjadi pertukaran data antar sistem tersebut. Dengan demikian, SMS Gateway dapat diartikan sebagai penghubung untuk lalu lintas data-data SMS. Pada awalnya, SMS Gateway dibutuhkan untuk menjembatani antar SMSC. Hal ini dikarenakan SMSC yang dibangun oleh perusahaan yang berbeda memiliki protokol komunikasi sendiri, dan protokol tersebut bersifat pribadi. SMS Gateway ini kemudian ditampatkan di antara kedua SMSC yang berbeda protokol tersebut, yang akan menerjemahkan data dari protokol SMSC satu ke protokol SMSC lainnya yang dituju. Gambar2.9 menunjukkan ilustrasi SMS Gateway: Gambar 2.9 : Ilustrasi SMS Gateway Namun seiring perkembangan teknologi komputer dan perkembangan teknologi komunikasi, SMS Gateway tidak lagi dimaksudkan sebagaimana yang tampak pada gambar tersebut. Dewasa ini, masyarakat lebih mengartikan SMS Gateway sebagai suatu jembatan komunikasi yang menghubungkan perangkat komunikasi (dalam hal ini ponsel) dengan perangkat komputer. Gambar 2.10 menunjukan ilustrasi aplikasi SMS Gateway. Gambar 2.10 : Ilustrasi Aplikasi SMS Gateway SMS Gateway kemudian lebih mengarah kepada sebuah program yang mengkomunikasikan sistem operasi komputer dengan perangkat komunikasi yang terpasang untuk mengirim atau menerima SMS. Perangkat Komunikasi Perangkat komunikasi SMS Gateway merupakan perangkat yang dapat digunakan untuk mengirim atau menerima SMS. Perangkat tersebut dapat berupa: Telepon seluler (ponsel) Agar dapat terhubung ke komputer, ponsel harus memiliki dukungan konektivitas ke perangkat lain, seperti kabel data, Bluetooth, atau infra merah. GSM modem GSM modem merupakan sebuah modem wireless yang bekerja dengan GSM. Bila modem biasa menggunakan kabel telepon untuk transfer data, maka GSM modem menggunakan gelombang radio sebagai medianya. GSM modem yang digunakan dapat berupa PC card / PCMCIA card maupun berupa device eksternal yang menggunakan kabel serial atau USB untuk koneksi ke komputer. Sebagaimana namanya, GSM modem memerlukan SIM card GSM untuk mengoperasikannya. GPRS modem Perbedaan mendasar antara GSM modem dan GPRS modem adalah tambahan dukungan teknologi GPRS pada transmisi datanya. Kecepatan proses SMS pada GPRS modem lebih cepat dibandingkan dengan GSM modem. Media Koneksi Media koneksi digunakan untuk mengirimkan data dari perangkat komunikasi ke komputer atau sebaliknya. Media-media tersebut di antaranya adalah: Kabel Data Ada banyak jenis kabel data yang dapat digunakan untuk menghubungkan sebuah ponsel ke komputer, tergantung merk dan tipe ponsel. Berikut ini adalah beberapa jenis kabel data yang dapat dijumpai di pasaran: DAU9(P) : Kabel jenis ini merupakan jenis kabel yang tertua. Kabel data ini mendukung ponsel Nokia seri 6210 atau 7110 serta protokol FBUS. DLR3(P) : Bentuk mirip dengan kabel DAU9(P) dan telah mendukung mode AT. Ponsel yang dapat digunakan dengan kabel jenis ini adalah Nokia seri 6310, 6310i, 7110. DKU5 : Pada kabel ini terdapat chip yang berfungsi mengemulasikan (emulator) port serial melalui konektor USB. Kabel ini digunakan untuk ponsel Nokia seri 2285, 3100, 3120, 3200, 3205, 3220, 3570, 3585, 3585i, 3586i, 3587i, 3588i, 3589i, 5100, 5140, 6015i, 6016i, 6019i, 6100, 6200, 6225, 6560, 6585, 6610, 6800, 6820, 7210, dan 7250i. DKU2 : Bentuk kabel ini mirip dengan DKU5, namun tidak memiliki chip sebagaimana yang dimiliki oleh kabel DKU5. Ponsel yang didukung kabel DKU2 ini adalah Nokia seri 9500, 9300, 7710, 7700, 7610, 7600, 7270, 6682, 6670, 6651, 6650, 6620, 6255i, 6230, 6170, dan 3300. CA-42 : Jenis kabel baru pengganti DKU5. R-DATA : Ada beberapa jenis kabel seperti ini. Untuk R-Data-3310, digunakan untuk ponsel Nokia seri 3330, 3390, 3395, 3410, dan 5550. Untuk R-Data-3510, digunakan untuk ponsel Nokia seri 3595, 3590, 3580, 3510. Bluetooth Bluetooth adalah sebuah standar spesifikasi yang mendefinisikan bagaimana antar perangkat (telepon, komputer, PDA atau perangkat digital lain) dapat saling berhubungan dan berkomunikasi tanpa melalui kabel (wireless). Media yang dipakai dalam transmisi datanya adalah gelombang radio frekuensi 2,4 GHz. Jarak maksimal yang mungkin untuk komunikasi antar perangkat ini adalah 100 meter. Agar sebuah komputer dapat berkomunikasi dengan perangkat lain yang memiliki Bluetooth, diperlukan sebuah Bluetooth adapter. IrDA IrDA (Infrared Data Association) adalah sebuah organisasi nonprofit yang dibentuk untuk membuat sebuah standar transmisi data tanpa kabel dengan sinar infra merah sebagai medianya. Untuk selanjutnya, penggunaan istilah IrDA adalah mengacu pada teknologi itu sendiri. Secara umum, jarak maksimal antar perangkat IrDA agar dapat berkomunikasi adalah sepanjang 1 meter tanpa penghalang. Keuntungan SMS Gateway SMS Gateway merupakan pintu gerbang bagi penyebaran informasi dengan menggunakan SMS. Dapat menyebarkan pesan ke ratusan nomor secara otomatis dan cepat yang langsung terhubung dengan database nomor-nomor ponsel saja tanpa harus mengetik ratusan nomor dan pesan di ponsel karena semua nomor akan diambil secara otomatis dari database tersebut. Selain itu, dengan adanya SMS Gateway dapat mengustomisasi pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengirim pesan dapat lebih fleksibel dalam mengirim berita karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya. Pengiriman SMS dengan Komputer Secara umum ada beberapa cara untuk mengirimkan pesan SMS dari PC atau komputer. Menghubungkan komputer dengan handphone atau GSM/GPRS modem. Selanjutnya tinggal menggunakannya perintah-perintah AT Command untuk mengirimkan pesan. Menghubungkan komputer langsung dengan SMS Center (SMSC) atau SMS service provider. Untuk mengirimkan pesan SMS menggunakan beberapa protocol interface yang mendukung SMSC. Sebagai contoh protocol yang sering digunakan adalah HTTP atau HTTPS atau protocol lainnya. Beberapa alat pendukung, seperti handphone, GSM atau GPRS modem dan sebuah kartu SIM untuk mengirimkan pesan SMS dengan komputer dibutuhkan. Ada beberapa cara untuk menghubungkan komputer dengan handphone ataupun GSM modem yaitu dengan menggunakan kabel serial, kabel USB, Bluetooth atau dengan menggunakan Infrared. Ini semua tergantung dari fasilitas yang disediakan oleh handphone atau GSM modem tersebut. Setelah komputer terhubung dengan alat atau handphone / GSM modem, kita dapat mengendalikan handphone / GSM modem dengan cara mengirimkan perintah ke alat tersebut. Kelemahan pengiriman Pesan SMS melalui Modem GSM/ GPRS Penggunaan handphone atau GSM/GPRS modem untuk megirimkan pesan SMS mempunyai titik kelemahan yang utama, yaitu tingkat pengiriman terlalu rendah atau bisa dikatakan lambat. Hanya 6-10 pesan SMS yang dapat dikirim per menitnya. Performa pengiriman pesan ini bukan disebabkan oleh koneksi komputer dengan alat. Melainkan disebabkan oleh jasa layanan operator jaringan GSMnya. PDU (PROTOCOL DATA UNIT) SMS Menurut Global Komputer, 2006, Dalam proses pengiriman atau penerimaan pesan pendek (SMS), data yang dikirim maupun diterima oleh stasiun bergerak menggunakan salah satu dari 2 mode yang ada, yaitu: mode teks, atau mode PDU (Protocol Data Unit) (Wavecom, 2000). Dalam mode PDU, pesan yang dikirim berupa informasi dalam bentuk data dengan beberapa kepala-kepala informasi. Hal ini akan memberikan kemudahan jika dalam pengiriman akan dilakukan kompresi data, atau akan dibentuk sistem penyandian data dari karakter dalam bentuk untaian bit-bit biner. Senarai PDU tidak hanya berisi pesan teks saja, tetapi terdapat beberapa meta-informasi yang lainnya, seperti nomor pengirim, nomor SMS Centre, waktu pengiriman, dan sebagainya. Semua informasi yang terdapat dalam PDU, dituliskan dalam bentuk pasangan-pasangan bilangan heksadesimal yang disebut dengan pasangan okt. Jenis PDU SMS yang akan digunakan adalah: SMS-Penerimaan (SMS-DELIVER) dan SMS Pengiriman( SMS-SUBMIT). PDU mode adalah format message dalam hexadesimal octet dan semi-desimal octet dengan panjang mencapai 160 (7 bit default alphabet) atau 140 (8 bit) karakter. Kelebihan menggunakan mode PDU ini adalah enkoding dapat dilakukan sendiri oleh pengguna yang tentunya harus pula didukung oleh hardware dan operator GSM, selain itu juga dapat melakukan kompresi data, menambahkan nada dering dan gambar pada pesan yang akan dikirim. Beberapa tipe encoding yang umum digunakan adalah “PCCP437”, “PCDN”, “8859-1”, “IRA” dan “GSM”. SMS Deliver PDU (Mobile Terminated) SMS Deliver PDU ialah terminal menerima pesan yang datang/masuk dari SMSC (lihat topik Teknologi SMS) dalam format PDU. Skema format SMS Deliver PDU adalah : | SCA | PDU Type | OA | PID | DCS | SCTS | UDL | UD | SCA (Service Cent er Address) SCA memiliki 3 komponen utama, yaitu: Len (Length) yaitu panjang informasi SMSC dalam octet. Type of Number sebagai Type address dari SMSC nilai 81h untuk format local nilai 91h untuk format internasional. BSC Digits berupa nomor SMSC. Jika panjangnya ganjil, pada akhir karakter ditambahkan "F" hekasdesimal. Contoh: SCA bernilai 059126181642. maka, Len = 05, Type of Number = 91 menyatakan format internasional. BSC Digits = 26 18 16 42. Berikut contoh penulisan nomor SMSC untuk masing-masing operator terdapat pada tabel 2.1. Tabel 2. : Contoh penulisan nomor SMSC Operator Nomor SMSC Format PDU Satelindo-------> ---62816124 05 91 26 18 16 42 -- -- Excelcomindo--> 62818445009 07 91 26 18 48 54 00 F9 Telkomsel------> -6281100000 06 91 26 18 01 00 00 -- IM3-------------> 62855000000 05 91 26 58 05 00 00 F0 Pada IM3 Nomor SMSC 62855000000 bernilai ganjil, maka mendapat tambahan F menjadi 62855000000F. Setelah itu dilakukan perpindahan tempat setiap 2 digit untuk mengubah Nomor SMSC ke Format PDU (swapped nibble presentation) dari 62 85 50 00 00 0F menjadi 26 58 05 00 00 F0. Begitu juga halnya pada Nomor SMSC Excelcomindo. PDU Type (Protocol Data Unit Type) Format PDU Type adalah terdapat pada tabel 2.2. Berikut contoh format PDU Type terdapat pada tabel 2.2. Tabel 2. : Format PDU Type RP UDHI SRI <none> <none> MMS MTI MTI Bit7 Bit6 Bit5 Bit ke 4 Bit ke 3 Bit 2 Bit1 Bit0 Nilai default dari PDU untuk SMS-Deliver adalah 04 hekasdesimal, akan tetapi pada PDU Type diubah ke biner menjadi 00000100, dimana nilai "1" berada pada biner ke 2 yaitu MMS. Contoh: PDU Type bernilai 24 hekasdesimal = 00100100 biner. Nilai "1" berada pada biner 2 (MMS) dan 5(SRI). Originator Address (OA) OA memiliki 3 komponen utama, yaitu: Len (length) yaitu panjang nomor Originator Address Format OA pada PDU dengan default = 14 dan berType local format OA pada PDU = 0C bila nomor OA berawalan "+" dan berType internasional. Type of Number sebagai Type Address dari Originator Address nilai 81h untuk format local nilai 91h untuk format internasional. BSC Digits berupa nomor OA. Jika panjangnya ganjil, pada akhir karakter ditambahkan "F" hekasdesimal. Contoh: Bila Nomor OA = ABCDEFGHIJKLMNOPQRST, maka Len = 14. Type of Number = 81 (lokal) BSC Digits = BA DC FE HG JI LK NM PO RQ TS TS Bila Nomor OA = +ABCDEFGHIJKL, Maka Len = 0C. Type of Number = 91 (internasional) BSC Digits = BA DC FE HG JI LK Bila Nomor OA dalam format PDU = 0C91261885980482, Maka Len = OC. Type of Number = 91 (internasional) BSC Digits = 26 18 85 98 04 82 Nomor OA sebenar adalah +628158894028, yaitu nomor yang mengirim SMS ke penerima. Tanda +62 merupakan asal negara dimana 62 adalah negara Indonesia, sedangkan 8158894028 merupakan nomor handphone yang ditambah prefiks "0" (nol) menjadi 08158894028. PID (Protocol Identifier) Nilai default dari PID ialah 00 = "Standard-Text-SMS" DCS (Data Coding Scheme) DCS dapat menentukan message class terdapat pada tabel 2.3. Tabel 2. : DCS yang dapat menentukan message class Nil Hexa Character Coding Message Class 00 default(7 bit) no class F0 default(7 bit) class 0(immediate display) F1 default(7 bit) class 1(Mobile Equipment-specific) F2 default(7 bit) class 2(SIM specific message) F3 default(7 bit) class 3(Terminate Equipment-specific) F4 8 bit class 0(immediate display) F5 8 bit class 1(Mobile Equipment-specific) F6 8 bit class 2(SIM specific message) F7 8 bit class 3(Terminate Equipment-specific) Hal yang perlu diperhatikan, pada beberapa handphone message dengan class 0 dengan enkoding 7 bit berupa flash SMS Sedangkan dengan enkoding 16 bit Unicode (ucs2), message yang didahului "0001" dengan class 0 berupa blinking flash SMS. SCTS (Service Center Time Stamp) Format SCTS menggunakan format 2 digit per satuan waktu dimulai dari Tahun, Bulan, Tanggal, Jam, Menit, Detik dan Zona waktu. Dalam 2 digit tersebut dilakukan pemindahan posisi (swapped nibble presentation) pada format PDU. Contoh : Pada format PDU SCTS bernilai 30503161403482, maka pemisahan tiap 2 digit untuk pembagian satuan waktu adalah 30 50 31 61 40 34 82 dimana dilakukan swapped nibble presentation : Tahun = 30 menjadi 03 yaitu tahun 2003 Bulan = 50 menjadi 05 yaitu bulen Mei Tanggal = 31 menjadi 13 Jam = 61 menjadi 16 Menit = 40 menjadi 04 Detik = 34 menjadi 43 Zona Waktu = 82 menjadi 28 unit => 15 x 28 = 420 menit (1 unit = 15 menit) => 420 menit / 60 = 7 jam => GMT+07.00 merupakan zona jam di negara Indonesia, Thailand, Vietnam. Penerimaan SMS terjadi pada tanggal 13 Mei 2003 jam 16:04:43 waktu Indonesia (GMT+07:00). UDL (User Data Length) UDL menunjukkan panjang User Data. Contoh : Bila data yang diterima adalah "terima SMS", maka panjang data adalah 10 desimal pada format PDU menjadi 0A hekasdesimal. User Data Data berupa isi SMS yang diterima. Pada PDU bernilai hekasdesimal diubah ke biner (berbasis 8 digit / oktet) dimana penulisan tiap biner oktet berikutnya disebelah kiri biner oktet sebelumnya lalu tiap karakter diambil 7 digit (septet) dari kanan ke kiri pada konversi biner. Berikut tabel karakter dari 7 binari digit (Alphabet Standard GSM 03.38) terdapat pada tabel 2.4. Tabel 2. : Karakter dari 7 binari digit (Alphabet Standard GSM 3.38). Tanda b1, b2, b3, b4 pada tabel merupakan perwakilan biner septet (7 digit) dari bit ke 1,2,3,4 dimana nilai tiap bit tertera pada baris-baris di bawahnya. Tanda b5,b6,b7 pada tabel merupakan perwakilan biner septet (7 digit) dari bit ke 5,6,7 dimana nilai tiap bit tertera pada kolom-kolom di sebelah kanannya. Karakter yang dihasilkan dari oktet adalah gabungan dari baris bit 1,2,3,4 dengan kolom bit 5,6,7 yang membentuk koordinat mengacu pada 1 kolom. Contoh : UD pada format PDU adalah "F4B23CDD0E83E6ED39" berupa heksadesimal. Nilai-nilai tiap 2 karakter heksadesimal diubah ke biner 8 digit dimulai dari yang paling kiri menjadi biner yang paling kanan. 2 karakter heksadesimal itu adalah F4h B2h 3Ch DDh 0Eh 83h E6h EDh 39h. Peletakkannya ke biner menjadi 39h EDh E6h 83h 0Eh DDh 3Ch B2h F4h. Untuk lebih mudah diubah ke format desimal menjadi 57 237 230 131 14 221 60 178 224. Lalu diubah ke biner 8 digit : 57 = 00111001 131 = 10000011 60 = 00111100 237 = 11101101 14 = 00001110 178 = 10110010 230 = 11100110 221 = 11011101 244 = 11110100 Penulisannya menjadi : 00111001 11101101 11100110 10000011 00001110 11011101 00111100 10110010 11110100 Dilakukan penggabungan biner lalu dipisah tiap-tiap 7 digit dimulai dari yang paling kanan ke kiri menjadi : 00 1110011 1101101 1110011 0100000 1100001 1101101 1101001 1110010 1100101 1110100. Dimana "00" tidak akan di konversi karena biner tidak memiliki 7 digit. Lalu mengubah tiap 7 digit menjadi 1 karakter berdasarkan tabel, menjadi: "s" "m" "s" " " "a" "m" "i" "r" "e" "t" = "SMS amiret" Kemudian data dibaca dari kanan ke kiri menjadi "terima SMS" UD dapat ditulis sebanyak 140 oktet yaitu 140x8/7 = 160 Karakter SMS. Review Berdasarkan dari penjelasan format SMS Deliver PDU diatas, maka bila PDU bernilai "059126181642240C912618859804820000305031614034820AF4B23CD D0E83E6 ED39" adalah: 05 91 26181642 - 24 - 0C 91 261885980482 - 00 - 00 - 30503161403482 - 0A - F4B23CDD0E83E6ED39 yaitu : Melalui service Center Satelindo berformat Internasional dimana nomor handphone pengirim +628158894028 dengan Id protokol = "Standad-Text-SMS" tanpa Message Class melakukan pengiriman SMS pada tanggal 13 Mei 2003 jam 16:04:43 waktu Indonesia sebanyak 10 karakter dengan isi SMS adalah "terima SMS". SMS Submit PDU (Mobile Originated) SMS Deliver PDU ialah terminal mengirim pesan ke SMSC (lihat topik Teknologi SMS) dalam format PDU. Skema format SMS Deliver PDU terdapat pada gambar 2.11. | SCA | PDU Type | MR | DA | PID | DCS | VP | UDL | UD | Gambar 2.11 : Skema Format SMS Deliver PDU AT COMMAND Menurut Global Komputer, 2006, perintah AT (AT Command) digunakan untuk berkomunikasi dengan terminal melalui port pada komputer. Handphone GSM dan modem dapat dioperasikan melalui remote control menggunakan port serial (kabel data atau koneksi infra merah), Bluetooth, atau usb, akan tetapi semua antarmuka tersebut akan dikenali oleh komputer sebagai Serial Port. Remote Control diimplementasikan melalui bahasa AT+Command menurut spesifikasi dari ETSI GSM 07.07 dan GSM 07.05. AT Command merupakan kepanjangan dari Attention Command, dan selalu digunakan untuk memulai pengiriman baris perintah dari Terminal Equipment (TE) kepada Terminal Adaptor (TA). Contoh TE adalah komputer, sedangkan contoh TA adalah GSM Data Card. Baris perintah terdiri dari karakter string (alphanumeric) yang dikirimkan kepada modem untuk melakukan perintah tertentu. AT Command digunakan untuk mengoperasikan modem, dengan fungsi secara umum adalah sebagai berikut : Konfigurasi dan mengkontrol dari dan ke jaringan GSM. Konfigurasi koneksi modem melalui antarmuka Serial RS-232. Memperoleh status informasi dari jaringan GSM. Penggunaan pernitah AT dapat memberi kemudahan untuk mengetahui : Kekuatan sinyal dari terminal, mengirim pesan, menambahkan item pada buku alamat, mematikan terminal, dan banyak fungsi lainnya. Setiap vendor biasanya memberikan referensi tentang daftar perintah AT yang tersedia. Jadi AT Command inilah bahasa yang dipahami oleh modem. Untuk memulai suatu perintah AT Command, diperlukan prefiks “AT” atau “at” dalam setiap perintah AT Command, dan diakhiri dengan”<CR>” (= 0x0D). Beberapa perintah AT Command dapat dituliskan pada baris yang sama dengan hanya menggunakan satu prefiks “AT” atau “at”, kemudian antar perintah dibatasi oleh karakter “;”. Beberapa perintah AT Command yang digunakan untuk keperluan SMS (pengiriman, penerimaan) adalah sebagai berikut : AT+CMGD Perintah ini digunakan menghapus sebuah SMS pada memory SMS. Format yang digunakan adalah “AT=CMGD=<index>”, respon yang diterima adalah “OK/ERROR/+CMS ERROR ” Delete an SMS in the SMS memory * Test Command : AT+CMGD=? - Response : OK * Write Command : AT+CMGD=<index> ------------------------------------------- # Parameter Write Command <index> Index of message in the Selected memory <mem 1> ------------------------------------------- - Response : OK/ERROR/+CMS ERROR AT+CMGL Perintah ini digunakan untuk membaca daftar SMS sesuai parameter tertentu. Format yang digunakan adalah “AT+CMGL [=<stat>]”. parameter status pesan adalah sebagai berikut : 0 : pesan yang diterima dan belum dibaca, merupakan parameter standar. 1 : pesan yang diterima dan sudah dibaca. 2 : pesan tersimpan pada memory SMS yang tidak terkirim. 3 : pesan tersimpan pada memory SMS yang berhasil dikirimkan. 4 : semua pesan pada memory SMS. Respon yang diterima adalah : “+CMGL:<index>,<stat>,<oa/da>,[<alpha>],[<scts>][,<tooa/toda>,<length>]<C R><LF><data>[<CR><LF> +CMGL: <index>,<stat>,<da/oa>,[<alpha>],[<scts>][,<tooa/toda>,<length>]<CR><LF> <data>[...]] OK ” Atau “+CMS ERROR : <err>”. “[<alpha>]”, adalah deretan alfanumerik yang merepresentasikan nomor pengirim atau penerima. Yang terpenting adalah mengetahui perintah AT Command untuk terima, kirim, dan delete SMS. Kemudian perintah tersebut dimasukkan ke dalam coding program yang telah dibuat. List SMS * Test Command : AT+CMGL=? - Response : +CMGL:(list of supported <stat>) ------------------------------------------- # Parameter Response Test Command <stat> 0 "REC UNREAD" : received unread messages (default) 1 "REC READ" : received read messages 2 "STO UNSENT" : stored unsent messages 3 "STO SENT" : stored sent messages 4 "ALL" : all messages ------------------------------------------- * Write Command : AT+CMGL [<stat>] ------------------------------------------- # Parameter Write Command <stat> 0 "REC UNREAD" : received unread messages (default) 1 "REC READ" : received read messages 2 "STO UNSENT" : stored unsent messages 3 "STO SENT" : stored sent messages 4 "ALL" : all messages ------------------------------------------- - Response If PDU mode (+CMGF=0) and command are successful: +CMGL:<index>,<stat>,[<alpha>],<length><CR><LF><PDU>[<CR><LF>+CMGL:<index>,<stat>,[alpha],<lenght><CR><LF><PDU><CR><CR><LF>[...]] ------------------------------------------- # Parameter Response Write Command <PDU>:The PDU begins with the service-Center address (according to GSM04.11), followed by the TPDU according to GSM03.40 in hexadecimal format otherwise: +CMS ERROR: <err> ------------------------------------------- AT+CNMI Display new incoming SMS * Test Command : AT+CNMI=? - Response : +CNMI: (list of supportes <mode>s),(list of supported <mt>s),(list of supported <bm>s),(list of supported <ds>s),(list of supported <bfr>s) ------------------------------------------- # Parameter Response Test Command <mode> 0 : Buffers unexpected messages (but is equivalent to rejecting; see &ltbfr>) 1 : Discard indication and reject new received message unsolicited result codes when TA-TE linkis reserved. Otherwise foward them directly to the TE. (only with S25ff) 2 : Buffers unexpected messages if serial interface is occupied, otherwise they are output (only models before S25) <mt> 0 : Suppresses unexpected messages for incoming short messages. 1 : Unexpected messages of a received short message (SMS-DELIVER) that is stored on a chip card are output in the form +CMTI: <mem>,<index> 2 : Unexpected messages of a received short message (SMS-DELIVER) (except class 2 and the message "Waiting indication Group: store message") are output in the form +CMT: [<alpha>], <length><CR><LF><PDU>(<alpha> is not supported) Class 2 and the message "Waiting Indication Group: store message" are output as <mt>=1 3 : Unexpected messages of a received short message (SMS-DELIVER) class 3 are output as <mt>=2. Messages with other data coding schemes are output as <mt>=1. NOTE:<mt>=2 and <mt>=3 are not possible unless the Phase 2+ compatibility has been activated by means of +CSMS=1 <bm> 0 : Suppresses unexpected messages for incoming cell broadcast messages 2 : Outputs unexpected messages for cell broadcast messages in the form +CBM: <length><CR><LF><PDU> <ds> 0 : Suppresses unexpected messages for incoming SMS status reports 2 : Outputs unexpected messages for SMS status reports in the form +CDS:<length><CR><LF><PDU><bfr> 1 : Buffered unexpected messages are rejected when switching from <mode> 0 to <mode> 2. <mem> See +CPMS <index> Index of the record on the chip card <alpha> alphanumeric representation of the sender address <length> Length of <PDU> <PDU> The PDU begins with the service-Center address (according to GSM04.11), followed by the TPDU according to GSM03.40 in hexadecimal format ------------------------------------------- * Read Command : AT+CNMI? - Response : +CNMI: <mode>,<mt>,<bm>,<ds>,<bfr> ------------------------------------------- # Parameter Response Read Command <mode> See Test command AT+CNMI <mt> See Test command AT+CNMI <bm> See Test Command AT+CNMI <ds> See Test Command AT+CNMI <bfr> See Test Command AT+CNMI ------------------------------------------- * Test Command : AT+CNMI=[<mode>[,<mt>[,<bm>[,<ds>[,<bfr>]]]]] ------------------------------------------- # Parameter Test Command <mode> See Test command AT+CNMI <mt> See Test command AT+CNMI <bm> See Test Command AT+CNMI <ds> See Test Command AT+CNMI <bfr> See Test Command AT+CNMI ------------------------------------------- - Response : OK/ERROR/+CMS ERROR :: Unexpected message "+CMTI: <mem>,<index>" -> Indication that new message has arrived "+CMT: <length><CR><LF><PDU>" -> Direct output of the short "+CDS: <length><CR><LF>&ltPDU>" 31 -> Direct output of the status report "+CBM: <length><CR><LF><PDU>" -> Direct output of the cell broadcast message AT+CMGR Perintah ini digunakan untuk membaca sebuah SMS pada indeks tertentu. Format yang digunakan adalah “AT+CMGR = <index>”. Apabila perintah ini berhasil diesekusi, format respon yang diterima adalah “+CMGR: <stat>,,<length><CR><LF><PDU>”. “<stat>” berarti status, parameter status pesan adalah sebagai berikut : 0 : pesan yang diterima dan belum dibaca, merupakan parameter standar. 1 : pesan yang diterima dan sudah dibaca. 2 : pesan tersimpan pada memory SMS yang tidak terkirim. 3 : pesan tersimpan pada memory SMS yang berhasil dikirimkan. 4 : semua pesan pada memory SMS. Read in an SMS * Test Command : AT+CMGR=? - Response : OK * Write Command : AT+CMGR=<index> ------------------------------------------- # Parameter Write Command <index> Index of message in the Selected memory <mem 1> ------------------------------------------- - Response If PDU Mode (+CMGF=0) and command are successful: +CMGR: <stat>,[<alpha>],<length><CR><LF><PDU> ------------------------------------------- # Parameter Response Write Command <PDU> : The PDU begins with the service-Center address (according to GSM04.11), followed by the TPDU according to GSM03.40 in hexadecimal format otherwise : +CMS ERROR: <err> AT+CMGS Perintah AT Command ini digunakan untuk mengirimkan SMS. Format yang digunakan adalah “AT+CMGS = <length> <CR> <PDU is given>”. Apabila pengiriman sukses dilakukan, format respon yang diterima adalah “+CMGS : <mr>”, dengan “<mr>” adalah message reference dari SMSC. Sedangkan jika pengiriman gagal dilakukan, respon yang diterima adalah “+CMS error”. Send an SMS * Test Command : AT=CMGS=? - Response : OK * Write Command If PDU mode (+CMGF=0) : +CMGS=<length><CR> (PDU is given <ctrl-Z/ESC>) ------------------------------------------- # Parameter Write Command 32 <length> :Length og PDU <PDU>:The PDU begins with the service-Center address (according to GSM04.11), followed by the TPDU according to GSM03.40 in hexadecimal format <mr> : Message Reference ------------------------------------------- - Response If sending is successful : +CMGS: <mr> If sending is not successful : +CMS ERROR: <err> AT+CMGW Write an SMS to the SMS memory * Test Command : AT+CMGW=? - Response : OK * Write Command If PDU mode (+CMGF=0) : AT+CMGW=<length>[,<stat>]<CR> (PDU is given <ctrl-Z/ESC>) ------------------------------------------- # Parameter Write Command <length> Length of PDU <stat> 0 "REC UNREAD" : received unread messages (default) 1 "REC READ" : received read messages 2 "STO UNSENT" : stored unsent messages 3 "STO SENT" : stored sent messages 4 "ALL" : all messages <PDU>:The PDU begins with the service-Center address (according to GSM04.11), followed by the TPDU according to GSM03.40 in hexadecimal format AT+CHUP Terminate call * Test Command : AT+CHUP=? - Response : OK * Write Command : AT+CHUP - Response : OK/ERROR :: Description : All active calls and all calls on hold are terminated *********************************************** AT+CMGF SMS Format * Test Command : AT+CMGF=? - Response : +CMGF:(list of supported <mode>s) ------------------------------------------- # Parameter Response Test Command 33 <mode> 0: PDU mode ------------------------------------------- * Read Command : AT+CMGF? - Response : OK/ERROR ------------------------------------------- # Parameter Response Read Command <mode> 0: PDU mode ------------------------------------------- * Write Command : AT+CMGF=[<mode>] ------------------------------------------- # Parameter Write Command <mode> 0: PDU mode ------------------------------------------- - Response : OK/ERROR i. AT+CSCA Address of the SMS service Center * Test Command : AT+CSCA=? - Response : OK * Read Command : AT+CSCA? - Response : +CSCA:<sca>,<tosca> ------------------------------------------- # Parameter Response Read Command <sca> : Service-Center address in string format <tosca> : Service-Center address format ------------------------------------------- * Write Command : AT+SCCA=<sca>[,<tosca>] ------------------------------------------- # Parameter Write Command <sca> : Service-Center address in string format <tosca> : Service-Center address format ------------------------------------------- - Response : OK/ERROR <index> Index of message in the Selected memory <mem 1> ------------------------------------------- - Response If writing is successful : +CMGW: <index> If writing is not successful : +CMS ERROR: <err> AT+CSCS Select TE character set * Test Command : AT+CSCS=? - Response : +CSCS: (list of supported <chset>s) OK * Read Command : AT+CSCS? - Response : +CSCS:<chset> OK/ERROR/+CME ERROR ------------------------------------------- # Parameter Response Read Command <chset> String; determines which TE characters set is used ------------------------------------------- * Write Command : AT+CSCS=[<chset>] - Response : OK/ERROR/+CME ERROR 34 k. AT+CMEE Expanded error messages according to GSM 07.07 * Test Command : AT+CMEE=? - Response : +CMEE: (list of supported <>s) ------------------------------------------- # Parameter Response Test Command <n> 0 : Suppressed the expanded error format 1 : Expanded error messages as number 2 : Expanded error messages as text ------------------------------------------- * Read Command : AT+CMEE? - Response : +CMEE: <n> ------------------------------------------- # Parameter Response Read Command <n> 0 : Suppressed the expanded error format 1 : Expanded error messages as number 2 : Expanded error messages as text ------------------------------------------- * Write Command : AT+CMEE=<n> ------------------------------------------- # Parameter Write Command <n> 0 : Suppressed the expanded error format 1 : Expanded error messages as number 2 : Expanded error messages as text ------------------------------------------- - Response : OK/ERROR/+CME ERROR AT+CSQ Output Signal Quality * Test Command : AT+CSQ=? - Response : +CSQ:(list of supported <rssi>s), list of supported <ber>)OK/ERROR/+CME ERROR ------------------------------------------- # Parameter Response Test Command <rssi> Reception level: 0 - 113 dBm or less 1 - 111 dBm 2-30 -109 to -53 dBm 31 - 51 dBm or more 99 Unknown <ber> Bit error rate: 0-7 Like RXQUAL values from Table GSM 05.08 in Section 8.2.4 99 Unknown ------------------------------------------- * Execute Command : AT+CSQ - Response : +CSQ: <rssi>, <ber> OK/ERROR/+CME ERROR 35 ------------------------------------------- # Parameter Response Execute Command <rssi> Reception level: 0 - 113 dBm or less 1 - 111 dBm 2-30 -109 to -53 dBm 31 - 51 dBm or more 99 Unknown <ber> Bit error rate: 0-7 Like RXQUAL values from Table GSM 05.08 in Section 8.2.4 99 Unknown ------------------------------------------- AT+CSMS Selection of message service * Test Command : AT+CSMS=? - Response : +CSMS:(list of supported &ltservice>s) ------------------------------------------- # Parameter Response Test Command <service> 0 : GSM 3.40 and 3.41 1 : GSM 3.40 and 3.41 and compatibility of the AT command syntax for phase 2+ NOTE : Deactivating the phase 2+ compatibility is only possible if the direct output of short messages +CNMI=1,2 or +CNMI=1,3 is not activated. If necessary, the latter should bedeactivated first. ------------------------------------------- * Read Command : AT+CSMS? - Response : OK/ERROR :: Description : All active calls and all calls on hold are terminated * Write Command : AT+CSMS=<service> ------------------------------------------- # Parameter Write Command <service> 0 : GSM 3.40 and 3.41 ------------------------------------------- - Response : +CSMS:<mt>,<mo>,<bm> OK/ERROR/+CMS ERROR n. AT^SCID Output card ID * Test Command : AT^SCID - Response : OK/ERROR/+CME ERROR * Write Command : AT^SCID - Response : ^SCID: <cid> OK/ERROR/+CME ERROR ------------------------------------------- # Parameter Response Write Command <cid> number of SIM Card ------------------------------------------- Tentang Aplikasi Mobile J2ME Aplikasi Mobile J2ME adalah suatu komponen Windows yang terintergrasi yang dibuat dengan tujuan untuk mensupport pengembangan berbagai macam jenis aplikasi serta untuk dapat dijalankan berbagai macam aplikasi generasi mendatang termasuk pengembangan aplikasi Web Services XML. J2ME didesign untuk dapat memenuhi beberapa tujuan berikut ini : Untuk menyediakan environment kerja yang konsisten bagi bahasa pemrograman yang berorientasi objek baik kode objek itu disimpan dan di eksekusi secara lokal, atau dieksekusi secara lokal tapi didistribusikan melalui internet atau dieksekusi secara remote. Untuk menyediakan environment kerja di dalam mengeksekusi kode yang dapat meminimaliasi proses software deployment dan menghindari konflik penggunaan versi software yang di buat. Untuk menyediakan environment kerja yang aman dalam hal pengeksekusian kode, termasuk kode yang dibuat oleh pihak ketiga. Untuk menyediakan environment kerja yang dapat mengurangi masalah pada persoalan performa dari kode atau dari lingkungan interpreter nya. Membuat para developer lebih mudah mengembangkan berbagai macam jenis aplikasi yang lebih bervariasi, seperti aplikasi berbasis windows dan aplikasi berbasis web. Membangun semua komunikasi yang ada di dalam standar industri untuk memastikan bahwa semua kode aplikasi yang berbasis J2ME dapat berintegrasi dengan berbagai macam kode aplikasi lain Sebagai salah satu sarana untuk dapat memenuhi tujuan di atas, maka dibuatlah berbagai macam bahasa pemrograman yang dapat digunakan dan dapat berjalan di atas platform J2ME seperti bahasa C#, VB.NET, J#, Perl.NET dan lain-lain. Masing-masing bahasa tersebut mempunyai kelebihan dan kekurangannya masing-masing, namun yang pasti, apapun bahasa pemrograman yang digunakan, semuanya akan dapat saling berkomunikasi dan saling compatible satu dengan yang lainnya dengan bantuan J2ME. C# adalah bahasa pemrograman yang dikembangkan Microsoft dibawah kepemimpinan Anders Hejlsberg. Anders Hejlsberg ini juga yang sebenarnya mengembangkan berbagai macam bahasa pemrograman termasuk Borland Turbo C++ dan Borland Delphi. Bahasa pemrograman C# juga telah di standarisasi secara internasional oleh ECMA. Seperti halnya bahasa pemrograman yang lain, C# bisa digunakan untuk membangun berbagai macam jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan aplikasi berbasis web serta aplikasi berbasis web services. C# sangat tepat digunakan untuk pemrograman berbasis J2ME karena berbagai kelebihan dan yang paling penting adalah menggunakan paradigma berorientasi obyek Pemrograman SQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management System) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius. Menyimpan data dalam file biasa memiliki banyak keterbatasan. Semakin besar ukuran file, pencarian data menjadi lebih sulit. File biasa juga tidak memiliki kemampuan untuk mengolah data, misalnya menghitung total nilai, rata-rata, dan lain sebagainya. Adanya keterbatasan untuk mengendalikan akses terhadap data. Kita tidak dapat menentukan siapa yang boleh dan siapa yang tidak boleh mengakses data. Operasi data dalam database umumnya mengikuti pola yang sama, yaitu melalui rangkaian langkah sebagai berikut : Membuka sambungan dengan database server. Memilih dan membuka database yang diinginkan. Mengirim perintah untuk mengambil/mengubah/menghapus. Mengakses hasil pengambilan data. Mengakhiri sambungan Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi terdiri dari baris (row atau record) dan kolom (column atau field). Sedangkan dalam sebuah database dapat terdiri dari beberapa table. Beberapa tipe data dalam MySQL yang sering dipakai terdapat dalam tabel 2.5: Tabel 2. : Tipe Data dalam MySQL Sistem manajemen basis data relasional MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan at au seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional. Keistimewaan MySQL MySQL memiliki beberapa keistimewaan, antara lain : Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle. Bahasa pemrograman Terdapat beberapa API (Application Programming Interface) tersedia yang memungkinkan aplikasi-aplikasi komputer yang ditulis dalam berbagai bahasa pemrograman untuk dapat mengakses basis data MySQL antara lain: bahasa pemrograman C, C++, C#, bahasa pemrograman Eiffel, bahasa pemrograman Smalltalk, bahasa pemrograman Java, bahasa pemrograman Lisp, Perl, PHP, bahasa pemrograman Python, Ruby, REALbasic dan Tcl. Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap bahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL. Kebanyakan kode sumber MySQL dalam ANSI C Komunitas MySQL Indonesia MySQL termasuk salah satu database utama yang digunakan di Indonesia terutama di kalangan developer PHP. Ini disebabkan native integration antara PHP dan MySQL serta banyaknya hosting yang menyertakan kedua produk tersebut karena bebas lisensi dan sudah terbukti tangguh dan efisien. Website komunitas MySQL Indonesia yang terpisah dari komunitas PHP dapat dlihat pada situs di HTTP://groups.google.com/group/MySQL-indonesia. Pengenalan Sintaks Dasar SQL dalam MySQL Dalam modul ini yang paling penting adalah dengan memperbanyak latihan dan mempraktekkan semua yang telah disampaikan. Disini hanya akan diberikan pengenalan tentang sintaks SQL dalam MySQL yang sederhana dan paling sering digunakan baik untuk penggunaan biasa ataupun untuk administratif. Berikut adalah beberapa sintaks dasar SQL dalam MySQL : Level Database Membuat database Perintah untuk membuat database baru dalam SQL sehingga tidak berlaku jika database sudah ada atau tidak memiliki privilege. Sintaksnya : CREATE DATABASE nama_db Menghapus database Perintah untuk menghapus database beserta seluruh table di dalamnya. Perintah ini tidak berlaku jika database tidak ada atau tidak memiliki privilege. Sintaksnya : DROP DATABASE nama_db Menggunakan database Perintah untuk menjadikan database menjadi default dan referensi dari table yang nantinya digunakan. Perintah ini tidak berlaku jika database tidak ada atau tidak memiliki privilege. Sintaksnya : USE nama_db Menampilkan database Perintah untuk menampilkan daftar yang ada dalam System saat itu. Sintaksnya : SHOW DATABASES Tampilannya adalah : +--------------------+ | Database | +--------------------+ | contoh_db | | MySQL | | test | | ujian | +--------------------+ 4 rows in set (0.00 sec) Level Tabel Membuat tabel Perintah untuk membuat tabel minimal harus menentukan namanya dan tipe kolom yang diinginkan. Sintaks yang paling sederhana (tanpa ada definisi lain) adalah : CREATE TABLE nama_tbl (kolom1 tipekolom1(),kolom2 tipekolom2(), …) Contoh : Anda ingin membuat tabel dengan nama profil yang memiliki kolom nama (bertipe char, lebar 20), kolom umur (bertipe integer), kolom jenis_kelamin (bertipe enum, berisi M dan F). Sintaksnya : CREATE TABLE profil (nama CHAR(20), umur INT NOT NULL, jenis_kelamin ENUM(‘F’,’M’) ) Sedangkan perintah yang agak lengkap dalam membuat sebuah table adalah dengan menyertakan definisi tertentu. Misalnya perintah seperti ini: CREATE TABLE peserta (No SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, Nama CHAR(30) NOT NULL, BidangStudi ENUM(‘TS’,’WD’) NOT NULL, PRIMARY KEY (No), INDEX (Nama, BidangStudi) ) Perintah di atas berarti membuat tabel peserta dengan kolom No sebagai PRIMARY KEY yaitu indeks table yang unik yang tidak bisa diduplikat dengan atribut AUTO_INCREMENT yaitu kolom yang otomatis dapat mengurutkan angka yang diisikan padanya. Sedangkan kolom Nama dan BidangStudi dijadikan indeks biasa. Membuat indeks pada tabel Perintah untuk menambahkan indeks pada tabel yang sudah ada baik yang unik ataupun yang biasa. Sintaksnya : CREATE INDEX nama_index ON nama_tbl (nama_kolom) CREATE UNIQUE INDEX nama_index ON nama_tbl (nama_kolom) Menghapus tabel Perintah untuk menghapus tabel dalam database tertentu. Jika dilakukan maka semua isi, indeks dan atribut lain akan terhapus. Sintaksnya : DROP TABLE nama_tbl Menghapus indeks Perintah untuk menghapus indeks pada suatu tabel. Sintaksnya : DROP INDEX nama-index ON nama_tbl Melihat informasi tabel Perintah untuk melihat tabel apa saja yang ada di database tertentu. Sintaksnya : SHOW TABLES FROM nama_db Sedangkan perintah untuk melihat deskripsi tabel atau informasi tentang kolom gunakan sintaks : DESC nama_tbl nama_kolom Atau SHOW COLUMNS FROM nama_tbl FROM nama_db Misal untuk contoh di atas akan ditampilkan : 3 rows in set (0.02 sec) Mendapatkan atau menampilkan informasi dari tabel Perintah untuk menampilkan isi tabel dengan option-option tertentu. Misalnya untuk menampilkan seluruh isi tabel digunakan : SELECT * FROM nama_tbl Perintah untuk menampilkan kolom-kolom tertentu saja : SELECT kolom1,kolom2,... FROM nama_tbl Perintah untuk menampilkan isi suatu kolom dengan kondisi tertentu SELECT kolom1 FROM nama_tbl WHERE kolom2=isikolom Modifikasi struktur tabel Memodifikasi struktur tabel dapat digunakan untuk mengganti nama tabel atau mengubah strukturnya seperti manambah kolom atau indeks, menghapus kolom atau indeks, mengubah tipe kolom dan sebagainya. Sintaks umum : ALTER TABLE nama_tbl action Perintah untuk menambah kolom baru di tempat tertentu dapat menggunakan: ALTER TABLE nama_tbl ADD kolom_baru Type() definisi Perintah untuk menambah kolom_baru bertipe integer setelah kolom1 digunakan : ALTER TABLE nama_tbl ADD kolom_baru INT NOT NULL AFTER kolom1 Perintah untuk menambah indeks baru pada tabel tertentu baik yang unik ataupun yang biasa: ALTER TABLE nama_tbl ADD INDEX nama_index (nama_kolom) ALTER TABLE nama_tbl ADD UNIQUE nama_indeks (nama_kolom) ALTER TABLE nama_tbl ADD PRIMARY KEY nama_indeks (nama_kolom) Perintah untuk mengubah nama kolom dan definisinya, misalnya mengubah nama kolom_baru dengan tipe integer menjadi new_kolom dengan tipe char dengan lebar 30 digunakan: ALTER TABLE nama_tbl CHANGE kolom_baru new_kolom CHAR(30) NOT NULL Perintah untuk menghapus suatu kolom dan seluruh atributnya, misal menghapus kolom1 : ALTER TABLE nama_tbl DROP kolom1 Perintah untuk menghapus indeks baik yang unik ataupun yang biasa digunakan : ALTER TABLE nama_tbl DROP nama_index ALTER TABLE nama_tbl DROP PRIMARY KEY Modifikasi informasi dalam tabel Perintah untuk menambah record atau baris baru dalam tabel, sintaksnya : INSERT INTO nama_tbl (nama_kolom) VALUES (isi_kolom) atau INSERT INTO nama_tbl SET nama_kolom=isi_kolom Misalnya untuk menambah dua baris pada tabel profil dengan isi nama = deden & ujang dan isi umur = 17 & 18 adalah : INSERT INTO profil (nama,umur) VALUES (deden,17), (ujang,18) Atau INSERT INTO profil SET nama=deden, umur=17 INSERT INTO profil SET nama=ujang, umur=18 Perintah untuk memodifikasi record atau baris yang sudah ada yang bersesuaian dengan suatu kolom. Misalnya untuk mengubah umur Deden menjadi 18 pada contoh di atas dapat digunakan sintaks : UPDATE profil SET umur=18 WHERE nama=Deden Perintah untuk menghapus record atau baris tertentu dalam suatu tabel. Misalnya untuk menghapus baris yang ada nama ujang digunakan sintaks : DELETE FROM profil WHERE nama=kalina Jika WHERE tidak disertakan maka semua isi dalam tabel profil akan terhapus. BAB III RANCANGAN SISTEM APLIKASI SMS GATEWAY Permasalahan dan Strategi Pemecahan Masalah Bimbingan belajar Smart Edu adalah sebuah badan usaha yang bergerak di bidang layanan pendidikan di luar sekolah, dimana layanan ini telah mulai berdiri sejak tahun 2001 di daerah Tambun Bekasi. Tujuan dan sasaran bimbingan belajar ini adalah untuk menjangkau anak-anak sekolah tingkat SD-SMP-SMA yang memerlukan tambahan baik di tempat maupun pribadi untuk memperlengkapi diri. Bimbingan belajar Smart Edu ini adalah usaha dibidang pendidikan yang menuntut bukan sekedar bimbingan saja melainkan bagaimana memperlengkapi anak-anak untuk mampu berkompetisi dengan sehat dan cerdas, sehingga bimbingan belajar ini memiliki tingkat persaingan yang tinggi, oleh karena itu usaha untuk mempertahankan usaha ini adalah dengan memberikan mutu pelayanan bimbingan belajar yang baik dan juga memberikan layanan yang baik. Dengan demikian usaha untuk meningkatkan kualitas pelayanan adalah melakukan peningkatan terus menerus dan beraneka ragam kepada para orang tua dan siswa. Misalnya siswa dapat mengganti layanan mata pelajaran, memilih guru bimbingan belajar atau merubah jadwal. Banyak macam hal-hal yang dilakukan untuk meningkatkan bimbingan belajar ini, namun sebelumnya hal-hal ini dilakukan dengan sistem manual atau pencatatan melalui kertas saja, kegiatan-kegiatan tersebut memiliki beberapa kelemahan sebagai berikut: Kesalahan pencatatan transaksi, penempatan jadwal, pemilihan guru atau pencatatan kelas yang salah, hal ini berakibat pada timbulnya komplain dari para siswa/i dan orang tua yang telah mengatur jadwal belajar di rumah sehingga menimbulkan permasalahan saat penagihan pembayaran bulanan bimbingan belajar. Biaya yang mahal, orang tua atau siswa merasa mahal karena harus menelepon pihak bimbingan belajar hanya untuk mengecek atau memilih sesuatu yang berurusan dengan bimbingan belajar. Sedangkan bila menggunakan SMS biasa, terjadi kerepotan dalam mengelola urusan administrasi. Penggunaan SMS saat ini juga semakin luas, mudah, dan murah karena operator seluler sudah mempunyai fasilitas ini dan memiliki minat bisnis yang kuat terhadap fasilitas ini. Oleh karena itu, dengan melihat segala aspek yang ada, bimbingan belajar Smart Edu merasakan pentingnya penyediaan sarana baru, yaitu Layanan SMS bimbingan belajar. Dengan adanya layanan tersebut, maka para orangtua ataupun siswa dapat dengan cepat, mudah, dan murah untuk melakukan berbagai layanan yang disediakan oleh pihak bimbingan belajar dan transaksi yang terjadi dapat dikelola dengan lebih baik. Sistem Usulan Layanan-layanan yang disediakan pihak bimbingan belajar supaya lebih maksimal, maka diusulkan untuk membuat aplikasi berbasis SMS. Aplikasi berbasis SMS ini menjadi sarana bagi para siswa/i dan orangtua untuk melakukan transaksi. Aplikasi berbasis SMS yag akan dibuat membutuhkan perangkat seperti komputer yang berfungsi sebagai gateway untuk memproses SMS yang masuk dan mengirimkan hasil pemrosesan. Komputer tersebut dihubungkan dengan telepon seluler atau modem GSM dengan menggunakan kabel data untuk dapat menerima dan mengirimkan SMS. Para orang tua atau siswa cukup mengakses aplikasi yang telah ditanam pada telepon seluler mereka untuk melakukan transaksi, dan mengisi form-form yang telah tersedia. Aplikasi embedded tersebut akan memformat inputan form tersebut menjadi format SMS dan mengirimkan ke server untuk diproses. SMS yang telah diproses oleh server akan dikirimkan kembali ke telepon seluler siswa/i dalam bentuk SMS normal. Aplikasi untuk siswa Fasilitas yang dapat diakses siswa dalam aplikasi SMS ini terdiri dari beberapa request dan broadcast antara lain sebagai berikut: Info Periode Les Sebuah layanan untuk mengetahui informasi periode Les yang akan dimulai. Format pesan: ICOURSE Result: Les mulai 1/3/2010 s/d 1/5/2010,Kelas: FIS, BIO, MATH, ENG, IND Info Kelas Sebuah layanan untuk mengetahui informasi jadwal mata pelajaran kursus. Format pesan: ICLASS;CODE_CLASS Result: FISIKA, Jadwal :Senin,Kamis; Daftar Kelas Sebuah layanan untuk mendapatkan informasi daftar kelas yang sudah diambil oleh siswa. Format pesan: REGCLASS;CODE_CLASS;CODE_STUDENT Result: Anda telah mendaftar untuk fisika untuk setiap hari senin & jumat. Jadwal selanjutnya adalah 23/4/11 15:00. Pindah Kelas Sebuah layanan untuk mendapatkan informasi merubah jadwal pindah kelas mata pelajaran yang sudah dipilih ke matapelajaran kelas lain. Format pesan: CHGCLASS;OLD_CLASS;NEW_CODE_CLASS;CODE_STUDENT Result: Anda telah pindah kelas dari fisika ke biologi untuk setiap hari selasa & kamis. Jadwal selanjutnya adalah 23/4/11 15:00 Info hasil Kelas Les Sebuah layanan untuk memberikan hasil nilai keseluruhan setelah mengikuti keseluruhan les. Format Pesan: CRESULT;CODE_CLASS;CODE_STUDENT Result: Hasil Kelas Fisika, Nilai: 7.89, Note: Lebih kosentrasi, jangan panik apalagi menghadapi ujian. Set Pemberitahuan Kelas Les Sebuah layanan untuk pemberitahuan kelas les dan untuk dan berhenti mengingatkan mata pelajaran les yang akan berlangsung. Format pesan: REMINDER;CODE_STUDENT;ON_OFF;INTERVAL_HOUR Result: Kami mulai mengingatkan untuk mengikuti kelas setiap 1 jam sebelum les Fisika. Kami berhenti mengingatkan untuk mengikuti kelas setiap sebelum les Fisika. Minta Les Private Sebuah layanan yang memungkinkan siswa/i mengubah informasi dirinya. Perubahan dilakukan per-kolom karena keterbatasan SMS. Format pesan: REQPRIVATE;CODE_STUDENT;CODE_CLASS;DATE Result: Terima kasih, staff kami akan segera mengkonfirmasi permintaan anda. Aplikasi Request List-Guru Fasilitas yang dapat diakses oleh Guru dalam aplikasi SMS ini terdiri dari beberapa request antara lain sebagai berikut: Info Kelas Sebuah layanan untuk menambah menu utama. Format pesan: MYCLASS;CODE_TEACHER Result: Anda Mengajar untuk kelas Fisika, English Batalkan Kelas Sebuah layanan untuk membuat jadwal menu pada tanggal yang dipilih. Format pesan: CANCLASS;CODE_CLASS;CODE_TEACHER; Date Result: Anda telah membatalkan kelas Fisika untuk 23/4/11. Staff kami akan segera mengkonfirmasi permintaan anda. Maaf, tanggal yang anda masukan tidak sesuai dengan jadwal yang ada Kirim Nilai Siswa Sebuah layanan untuk memperbarui data menu. Format pesan: RSTCLASS;CODE_CLASS;CODE_STUDENT;NILAI;NOTE Result: Terima kasih anda telah mengirim penilaian terhada Devi 510036. Kami sangat menghargai hasil evaluasi anda. Kirim Catatan Ke Kelas Sebuah layanan untuk mengirimkan berita atau pengumuman pendek kepada para siswa/i. Format pesan: BRCNOTE;CODE_CLASS;SCHEDULE_NUMBER;NOTE Result: Pesan anda telah kami teruskan ke setiap siswa anda. Struktur Data Pembuatan aplikasi SMS ini perlu model perancangan struktur data yang baik untuk membuat database yang baik dan benar. Model struktur data yang digunakan dalam membuat aplikasi SMS ini terdiri dari diagram ER, transformasi diagram ER, Diagram LRS, dan tabel basis data. Struktur Data Aplikasi SMS Gateway Pada sub bab dibawah ini akan dibahas mengenai rancangan struktur data untuk Aplikasi SMS-Gateway. Struktur data SMS Gateway digunakan untuk menyimpan konfigurasi pemroses request/broadcast, menyimpan SMS masuk dan keluar, dan sebagai arsip laporan untuk digunakan pada kebutuhan selanjutnya bila ada. Diagram ERD Entity Relationship Diagram atau disingkat ERD ini berisi komponen-komponen himpunan entitas dan himpunan relasi. Masing-masing dilengkapi dengan atribut-atribut yang mewakili seluruh data yang ada. Rancangan ERD dapat dilihat pada gambar 3.1. Gambar 3.1 : ER Diagram Diagram Transformasi ERD ke LRS ERD perlu ditransformasikan ke Logical Record Structure agar lebih terstruktur dan detil. Diagram transformasi ERD ke LRS membantu untuk memetakan bentuk abstrak rancangan database ke bentuk yang lebih kongkrit. Hasil proses transformasi ERD ke LRS dapat dilihat pada gambar 3.2. Gambar 3.2 : Transformasi ER Diagram Diagram LRS Hasil dari transformasi ERD adalah Logical Record Structure. Diagram LRS adalah diagram yang menggambarkan implementasi ERD ke basis data secara kongkrit. Berikut ini adalah gambar dari rancangan Logical Record Structure yang dibuat: Gambar 3.3 : Logical Record Structure Tabel Basis Data Dalam aplikasi SMS yang dibuat ini terdiri dari beberapa tabel yang digunakan. Berikut ini adalah penjelasan dari tabel-tabel yang ada di dalam aplikasi Tabel Siswa memiliki 5 kolom yang berisikan nim, nama, alamat, telepon, dan noHP. Tabel Siswa ini berguna untuk menyimpan database siswa Smart Edu. Tabel 3.1 di bawah ini menjelaskan struktur tabel secara lebih detail. Tabel 3.: Tabel Siswa Nama Kolom Tipe Data Panjang Keterangan nim varchar 10 primary key, berisi nomor induk murid nama varchar 50 berisi nama murid alamat varchar 100 berisi alamat murid telepon varchar 15 berisi nomor telepon murid noHp varchar 15 berisi nomor handphone Tabel Kelas Private memiliki 5 kolom yang berisikan IDRequest, nim, tanggal, keterangan dan status. Tabel Kelas Privat berguna untuk memberikan informasi permintaan kelas private ke siswa. Tabel 3.2 di bawah ini menjelaskan struktur tabel secara lebih detail. Tabel 3.: Tabel Kelas Private Nama Kolom Tipe Data Panjang Keterangan IDRequest integer 3 primary key, berisi no permintaan kelas private murid nim varchar 10 foreign key berisi nomor induk murid tanggal datetime 10 berisi tanggal SMS di proses keterangan varchar 50 berisi keterangan permintaan kelas status varchar 20 berisi status murid Tabel Kelas Peserta memiliki 5 kolom yang berisikan IDPeserta, kodeKelas, nim, nilai, catatanGuru. Tabel ini berguna untuk memberikan nilai atau catatan guru kepada siswa. Tabel 3.3 di bawah ini menjelaskan struktur tabel secara lebih detail. Tabel 3.: Tabel Kelas Peserta Nama Kolom Tipe Data Panjang Keterangan IDPeserta integer 10 berisi id pesera kodeKelas integer 2 foreign key, berisi kode kelas nim varchar 10 berisi nomor induk murid nilai float 2 berisi hasil nilai mata pelajaran catatanGuru varchar 50 berisi catatan guru les Tabel Jadwal Kelas memiliki 4 kolom yang berisikan ID, kodeKelas, tanggal, status. Tabel ini berguna untuk memilih jadwal mata pelajaran dan kelas. Tabel 3.4 di bawah ini menjelaskan struktur tabel secara lebih detail. Tabel 3.: Tabel Jadwal Kelas Nama Kolom Tipe Data Panjang Keterangan ID integer 3 primary key kodeKelas integer 2 foreign key tanggal datetime 10 tanggal jadwal status varchar 15 status pemilihan Tabel Kelas memiliki 5 kolom yang berisikan kodeKelas, kodeLes, nik, tanggalMulai, tanggalSelesai. Tabel Kelas ini berguna untuk melihat tgl mulai dan tanggal selesai les dalam satu periode. Tabel 3.5 di bawah ini menjelaskan struktur tabel secara lebih detail. Tabel 3.: Tabel Kelas Nama Kolom Tipe Data Panjang Keterangan kodeKelas integer 2 foreign key kodeLes varchar 10 foreign key kodeLes nik varchar 10 no induk murid tanggalMulai datetime 10 tanggal mulai tanggalSelesai datetime 10 tanggal selesai Tabel Guru memiliki 4 kolom yang berisikan nik, nama, alamat dan noHp. Tabel Guru ini berguna untuk menyimpan database guru Smart Edu yang mengajar. Tabel 3.6 di bawah ini menjelaskan struktur tabel secara lebih detail. Tabel 3.: Tabel Guru Nama Kolom Tipe Data Panjang Keterangan nik varchar 10 primary key nama varchar 50 nama guru alamat varchar 100 alamat noHp varchar 15 nomor handphone Tabel Pelajaran memiliki 4 kolom yang berisikan kodeKelas, namaPelajaran, hariPertama, dan hariKedua. Table Pelajaran ini berguna untuk melihat jadwal dari pelajaran les. Tabel 3.7 di bawah ini menjelaskan struktur tabel secara lebih detail. Tabel 3.: Tabel Pelajaran Nama Kolom Tipe Data Panjang Keterangan kodeLes varchar 10 primary key namaPelajaran varchar 50 nama mata pelajaran hariPertama varchar 20 keterangan hari hariKedua varchar 20 keterangan hari Rancangan Layar Rancangan layar adalah tampilan suatu aplikasi yang sangat penting dalam menampilkan hasil kerja dari seluruh rangkaian aplikasi yang telah jadi. Tampilan aplikasi ini harus memiliki tampilan yang menarik, mudah dimengerti, jelas, penempatan kontrol yang baik, memiliki menu yang sederhana dan mudah digunakan oleh pengguna aplikasi ini. Sehingga memudahkan pengguna untuk memahami penggunaannya tanpa mengurangi fungsi-fungsi yang diperlukan dalam aplikasi. Pembahasan rancangan layar dalam bab ini akan dibagi menjadi dua yaitu rancangan layar aplikasi SMS Gateway dan rancangan layar aplikasi klien mobile. rancangan layar aplikasi SMS Gateway membahas mengenai rancangan interaksi pengguna dalam melakukan kontrol terhadap program. Sedangkan rancangan layar aplikasi klien membahas mengenai rancangan interaksi user dalam mengirimkan permintaan layanan informasi melalui ponsel. Rancangan Layar SMS-Gateway Rancangan Layar SMS Gateway adalah rancangan layar untuk aplikasi SMS Gateway. Dengan rancangan layar ini, dapat dirancang interaksi pengguna program dalam memeriksa SMS yang masuk atau keluar, dan dapat melakukan beberapa kegiatan administrasi dalam proses mengontrol aplikasi. Rancangan Layar Connection Rancangan layar general, akan tampil secara otomatis sebagai tab default saat program pertama kali dijalankan di menu aplikasi komputer seperti tampak pada gambar 3.4. Dalam rancangan layar ini, terdapat form yang mengatur inputan parameter yang digunakan program untuk terkoneksi dengan modem GSM. Tab connection adalah form inputan yang menghubungkan antara menu administrator dengan database mysql melalui media modem yaitu dengan menditect port modem yg terpasang, dalam tab connection terdapat 2 tombol yaitu tombol connect, dan tombol disconnect. Tombol disconnect secara default, tidak dapat digunakan atau disable selama program belum terhubungkan dengan modem. Gambar 3.4: Rancangan Layar Menu Connection Rancangan Layar Tab Inbox Rancangan layar tab inbox adalah layar yang menampilkan informasi mengenai SMS yang diterima oleh program untuk diproses seperti tampak pada gambar 3.5. Dalam tampilan layar ini, pengguna dapat melihat daftar SMS yang masuk dalam bentuk tabel, dan melakukan filter untuk menyaring informasi yang ditampilkan. Sedangkan layar teks diatasnya, menampilkan informasi SMS yang masuk setiap program menerima SMS baru, dan akan dibersihkan sesuai parameter diatasnya. Gambar 3.5: Rancangan Layar Tab Inbox Rancangan Layar Tab Outbox Rancangan layar tab outbox adalah layar yang menampilkan informasi mengenai SMS yang dibuat oleh Program SMS sebagai balasan dari SMS yang masuk ataupun SMS yang dikirim secara broadcast. Dalam tampilan layar ini seperti tampak pada gambar 3.6, pengguna dapat melihat SMS baik yang masih belum dikirim (masih dalam antrian pengiriman) dan SMS yang sudah berhasil dikirim dengan melakukan filter yang sudah disediakan. Sedangkan layar teks diatasnya, menampilkan informasi SMS yang masuk setiap program menerima SMS baru, dan akan dibersihkan sesuai parameter yang telah ditentukan pada combo box yang tersedia. Pengguna juga dapat melakukan pembersihan segera dengan menekan tombol clear now. Gambar 3.6: Rancangan Layar Tab Outbox Rancangan Layar Mata Pelajaran Rancangan layar mata pelajaran adalah layar yang menampilkan informasi mengenai mata pelajaran yang tersedia seperti tampak pada gambar 3.7. dalam tampilan layar ini pengguna dapat melihat daftar mata pelajaran yang ada. Pada menu inputan berisi menu inputan untuk kode dan mata pelajaran baru yang akan ditampilkan, dan pada tampilan tabel akan menampilkan form inputan diatasnya. Gambar 3.7: Rancangan Layar Mata Pelajaran Rancangan Layar Data Guru Rancangan layar data guru adalah layar yang menampilkan informasi data guru pengajar yang akan mengajar di kelas bimbingan belajar seperti tampak pada gambar 3.8. Dalam tampilan layar ini pengguna dapat melihat daftar data guru pengajar. Pada menu inputan berisi form inputan untuk mengisi data guru baru dan pada tabel akan menampilkan data form inputan diatasnya. Gambar 3.8: Rancangan Layar Data Guru Rancangan Layar Data Siswa Rancangan layar data siswa adalah rancangan layar yang menampilkan informasi data siswa yang akan belajar seperti tampak pada gambar 3.9. dalam tampilan layar ini akan di tampilkan menu form inputan untuk mengisi data siswa baru dan pada tabel di bawahnya akan ditampilkan data siswa yang telah terdaftar. Gambar 3.9: Rancangan Layar Data Siswa Rancangan Layar Periode Kelas Rancangan layar periode kelas adalah rancangan layar yang menampilkan informasi periode kelas yang akan dimulai dan selesai meliputi setiap mata pelajaran dan guru yang akan mengajar seperti tampak pada gambar 3.10. dalam tampilan layar ini akan di tampilkan menu form inputan berupa tanggal mulai dan tanggal selesai beserta kode mata pelajaran dan guru yang akan mengajar. Setelah itu pada menu form tampilan di bawahnya akan menampilkan tabel hasil inputan form diatasnya. Gambar 3.10: Rancangan Layar Periode Kelas Rancangan Layar Kelas Reguler Rancangan layar kelas regular adalah rancangan layar yang menampilkan informasi periode, tanggal mulai, tanggal selesai, kode palajaran dan kode guru yang akan mengajar seperti tampak pada gambar 3.11. dalam tampilan layar ini terdiri dari menu form inputan dan tabel yang akan menampilkan inputan form kelas regular diatasnya. Gambar 3.11: Rancangan Layar Kelas Reguler Rancangan Layar Kelas Private Rancangan layar kelas private adalah rancangan layar yang menampilkan informasi kelas private bagi siswa khusus berupa tanggal, nim, mata pelajaran dan status seperti tampak pada gambar 3.12. dalam tampilan ini akan menampilkan tabel siswa private apabila tombol refresh di klik. Gambar 3.12: Rancangan Layar Kelas Private Rancangan Layar Broadcast Rancangan layar broascast adalah rancangan layar yang akan menampilkan informasi sms yang berisi data untuk di sebarkan kepada seluruh siswa mengenai informasi kelas seperti tampak pada gambar 3.13. dalam tampilan ini akan menampilkan data siswa dan pesan yang telah disebarluaskan. Gambar 3.13: Rancangan Layar Broadcast Rancangan Layar Modem Log Rancangan layar modem log adalah rancangan layar yang akan menampilkan informasi mengenai AT command dan juga PDU dari sms yang terkirim seperti pada tampilan layar gambar 3.14. dalam tampilan ini akan menampilkan SMS PDU dari sms yang telah terkirim. Gambar 3.14: Rancangan Layar Modem Log Rancangan Layar Mobile Smart Edu Student Dan Teacher Rancangan Layar Menu Smart Edu-Student Rancangan layar menu Smart-Edu, akan tampil secara otomatis sebagai tab default saat program pertama kali dijalankan seperti tampak pada gambar 3.15. Dalam rancangan layar ini, terdapat form yang mengatur Pilihan Tab pada aplikasi yang tekoneksi dengan ponsel GSM. Selain form Tab, terdapat 2 tombol yaitu tombol Keluar, dan tombol Pilih. Tombol Keluar adalah pilihan untuk keluar dari Menu Smart Edu-Student, dan Tombol Pilih hanya dapat digunakan untuk mengirim pesan dari form yang sudah diisi. Gambar 3.15: Rancangan Layar Menu Smart Edu-Student Sedangkan tombol Info Periode Kelas apabila ditekan akan menampilkan rancangan layar form Info Periode Kelas seperti pada gambar 3.16 dibawah ini. Form tersebut berisikan informasi mata pelajaran kelas yang tersedia. Gambar 3.16: Rancangan Layar Form Info Periode Kelas Rancangan Layar Tab Informasi Kelas Rancangan layar tab Informasi Kelas adalah layar yang menampilkan informasi mengenai SMS yang dikirimkan untuk mengetahui informasi ketersediaan kelas untuk mata pelajaran yang akan di ambil seperti tampak pada gambar 3.17. Dalam tampilan layar ini, pengguna dapat melihat daftar SMS informasi kelas yang ada dalam susunan radio button yang dapat dipilih sesuai dengan kebutuhan dan send request akan menggecek akan ketersediaan dari kelas yang ada. Gambar 3.17: Rancangan Layar Tab Informasi Kelas Rancangan Layar Pendaftaraan Kelas Rancangan layar tab Pendaftaraan Kelas adalah layar yang menampilkan informasi mengenai Pendaftaraan Kelas yang dapat dilakukan oleh siswa dengan SMS yang dikirim. Dalam tampilan layar ini seperti tampak pada gambar 3.18. Layar teks No siswa yang di masukkan adalah no siswa untuk dapat mengakses aplikasi dari pendaftaraan kelas, setelah itu baru menentukan pilihan dari kelas yang dituju kemudian Send Request . Gambar 3.18: Rancangan Layar Tab Pendaftaraan Kelas Rancangan Layar Tab Pindah Kelas Rancangan layar tab Pindah Kelas adalah layar yang menampilkan laporan pindah kelas dari kelas yang lama ke kelas yang baru dengan mata pelajaran yang berbeda, program seperti tampak pada gambar 3.19. Pengguna dapat memilih mata pelajaran dan kelas baru yang diambil. Layar teks No siswa yang di masukkan adalah no ID siswa untuk dapat mengakses aplikasi dari pendaftaraan kelas, setelah itu baru menentukan pilihan dari kelas lama pilihan selanjutnya kelas baru dan jadwal pelajaran yang dituju kemudian Send Request. Gambar 3.19: Rancangan Layar Tab Pindah Kelas Rancangan Layar Tab Hasil Les Kelas Rancangan layar tab Les Kelas adalah layar yang berfungsi menyediakan hasil Les Kelas bagi pengguna seperti tampak pada gambar 3.20. Tampilan hasil Les kelas ini berfungsi untuk memberikan hasil evaluasi dari Les kelas yang telah di ambil. Gambar 3.20: Rancangan Layar Tab Hasil Les Kelas Rancangan Layar Tab Set Pemberitahuan Jadwal Pengguna dapat melakukan setting pemberitahuan Les dan interval waktu dalam jam dengan cara memberikan pilihan On/Off. Program kemudian akan menampilkan form entry seperti gambar 3.21 dibawah ini. Gambar 3.21: Rancangan Layar Tab Set Pemberitahuan Jadwal Rancangan Layar Tab Permintaan Les Private Pengguna dapat melakukan permintaan Les Private dengan memasukan customer ID dan memberikan pilihan kelas yang dituju dan tanggal Les. Program kemudian akan menampilkan form entry seperti gambar 3.22 dibawah ini. Gambar 3.22: Rancangan Layar Tab Permintaan Les Private Rancangan Layar Tab Data Siswa Rancangan layar tab data siswa adalah aplikasi yang memuat keseluruhan data siswa yang telah terigister dibagian Les, di tab ini seperti tampak pada gambar 3.23. Gambar 3.23: Rancangan Layar Tab Data Siswa Rancangan Layar Menu Smart Edu - Teacher Rancangan layar menu utama bagi guru untuk dapat mengakses seluruh perubahan kegiatan mengajar di dalam Les sehingga tidak menggangu kegiatan mengajar. Gambar 3.24 di bawah ini merupakan design tampilan untuk menu utama. Gambar 3.24: Rancangan Layar Tab Menu Smart Edu – Teacher Rancangan Layar Tab Informasi Kelas Rancangan layar Informasi kelas adalah menu yang memberitahukan kepada guru jadwal kelas yang akan diajar, seperti tampak pada gambar 3.25. guru dapat memasukan ID guru dalam kolom yang tersedia. Gambar 3.25: Rancangan Layar Tab Informasi Kelas Rancangan Layar Tab Pembatalan Kelas Rancangan layar tab pembatalan kelas adalah menu bagi guru pengajar untuk menentukan kelas yang akan dibatalakan at au tidak jadi untuk di ajar selama periode yang telah ditentukan seperti tampak pada gambar 3.26. Pengguna memilih kategori menu yang ingin diperoleh melalui radiogroup yang disediakan. Gambar 3.26: Rancangan Layar Tab Pembatalan Kelas Rancangan Layar Tab Kirim Nilai Rancangan layar tab kirim nilai adalah menu yang disediakan bagi guru pengajar untuk memberikan evaluasi belajar Les dengan mengirimkan nilai selama Les yang diperoleh siswa seperti tampak pada gambar 3.27. Gambar 3.27: Rancangan Layar Tab Kirim Nilai Rancangan Layar Kirim Catatan Rancangan layar Kirim catatan adalah tampilan menu rancangan layar untuk meneruskan kepada siswa catatan singkat melalui SMS tampak pada gambar 3.28. Gambar 3.28: Rancangan Layar Tab Kirim Catatan Flowchart dan Algoritma Program Flowchart dan algoritma program dapat mempermudah pemahaman mengenai alur program yang telah dibuat. Penggambaran seluruh proses yang terjadi dalam program SMS Gateway ini dibagi menjadi 3 bagian, yaitu: flowchart SMS Gateway, flowchart aplikasi mobile siswa dan guru, flowchart aplikasi administrator mobile. Flowchart Program SMS Gateway Flowchart dan algoritma SMS Gateway menggambarkan alur program untuk program SMS Gateway. Proses-proses yang tercakup dalam flowchart tidak secara sangat detil, namun cukup mewakili keseluruhan alur agar mudah dipahami. Flowchart Tab General Tab General adalah proses yang pertama kali dalam menjalankan aplikasi SMS ini. Proses dimulai dengan tampilan form utama dengan tab general sebagai fokus pertama. Pengguna dapat mengisi form konfigurasi modem, kemudian memilih tombol connect. Gambar 3.29 di bawah ini menggambarkan alur proses flowchart tab General. Gambar 3.29: Flowchart Tab General Berikut ini adalah algoritma untuk proses diagnosa ke modem. Di dalam algoritma tersebut, program akan membuka koneksi ke modem dan membaca attribut yang ada di modem. Hasil pembacaan tersebut akan ditampilkan di form hasil diagnosa. Berikut ini adalah algoritma untuk proses koneksi ke modem. Di dalam algoritma tersebut, program akan membuka koneksi ke modem dan memulai proses-proses pengiriman, broadcast, dan penerimaan pesan. Berikut ini adalah algoritma untuk proses pemutusan koneksi modem. Di dalam proses ini, program akan memerika koneksi modem. Apabila status koneksi modem adalah terbuka, maka program akan menutup akses ke modem. Kemudian program akan mematikan fungsi-fungsi pengiriman, broadcast dan penerimaan pesan. Flowchart pilihan Program Setelah pengguna melakukan koneksi ke modem, maka pengguna dapat melakukan proses selanjutnya. Proses-proses yang dapat dilakukan oleh pengguna diantaranya adalah memilih tab general, memilih tab Data Master, tab Kelas Reguler, tab Kelas Private, tab Kelas Broadcast, tab Modem Log ,dan beberapa pilihan lainnya. Gambar 3.30 berikut ini adalah algoritma dari proses pilihan program tersebut. Gambar 3.30: Flowchart Tab Pilihan Program Flowchart Data Master Tampilan tab Data Master akan muncul, apabila pengguna memilih Data Master. Tab Data Master menampilkan informasi tab mata pelajaran, tab guru, tab siswa, tab periode kelas. Pengguna dapat melihat detail SMS yang masuk di bagian layar atas, dan dapat melihat daftar SMS dalam bentuk datagrid di bagian bawah. Gambar 3.31 berikut ini menggambarkan alur proses tersebut. Tampilan tab Data Master tampil apabila pengguna memilih tab Data Master. Pengguna dapat melakukan penambahan, perubahan, dan penghapusan data Master. Gambar 3.31 menggambarkan alur proses tab Data Master. Program akan menampilkan form perubahan Data Master apabila pengguna memilih melakukan perubahan data. Setelah form diisi, pengguna dapat memilih tombol save untuk menyimpan data, atau cancel untuk membatalkan perubahan data. Gambar 3.31 berikut ini adalah algoritma dari proses perubahan data. Gambar 3.31: Flowchart Tab Data Master Apabila pengguna memilih menghapus data, program akan menampilkan pesan konfirmasi untuk penghapusan data. Setelah pengguna memberikan konfirmasi, maka program akan menghapus baris-baris yang ditandai dan merefresh datagrid. Berikut ini adalah algoritma dari proses penghapusan data Data Master. Flowchart Kelas Reguler Tampilan tab Kelas Reguler akan muncul, apabila pengguna memilih tab kelas Reguler. Tab Kelas Reguler menampilkan informasi SMS yang keluar. Pengguna dapat melihat detail SMS yang masuk di bagian layar atas, dan dapat melihat daftar SMS dalam bentuk datagrid di bagian bawah. Gambar 3.22 berikut ini menggambarkan alur proses tersebut. Tampilan tab Data Master tampil apabila pengguna memilih tab Data Master. Pengguna dapat melakukan penambahan, perubahan, dan penghapusan data Master. Gambar 3.32 menggambarkan alur proses tab Kelas Reguler. Program akan menampilkan form perubahan Kelas Reguler apabila pengguna memilih melakukan perubahan data. Setelah form diisi, pengguna dapat memilih tombol save untuk menyimpan data, atau cancel untuk membatalkan perubahan data. Gambar 3.32 berikut ini adalah algoritma dari proses perubahan data. Gambar 3.32: Flowchart Tab Kelas Reguler Apabila pengguna memilih menghapus data, program akan menampilkan pesan konfirmasi untuk penghapusan data. Setelah pengguna memberikan konfirmasi, maka program akan menghapus baris-baris yang ditandai dan merefresh datagrid. Berikut ini adalah algoritma dari proses penghapusan data Kelas Reguler. Flowchart Kelas Private Tampilan tab Kelas Private akan muncul apabila pengguna memilih tab Kelas Private. Tab Private menampilkan daftar SMS yang dibuat baik broadcast atau request. Data yang ditampilkan oleh program untuk pertama kali adalah SMS yang diproses pada saat ini. Gambar 3.23 berikut ini menggambarkan alur proses tersebut. Tampilan tab Data Master tampil apabila pengguna memilih tab Kelas Private. Pengguna dapat melakukan penambahan, perubahan, dan penghapusan Kelas Private. Gambar 3.23 menggambarkan alur proses tab Kelas Private. Program akan menampilkan form perubahan Kelas Private apabila pengguna memilih melakukan perubahan data. Setelah form diisi, pengguna dapat memilih tombol save untuk menyimpan data, atau cancel untuk membatalkan perubahan data. Gambar 3.33 berikut ini adalah algoritma dari proses perubahan data. Gambar 3.33: Flowchart Tab Kelas Private Apabila pengguna memilih menghapus data, program akan menampilkan pesan konfirmasi untuk penghapusan data. Setelah pengguna memberikan konfirmasi, maka program akan menghapus baris-baris yang ditandai dan merefresh datagrid. Berikut ini adalah algoritma dari proses penghapusan data Kelas Private. Flowchart Inbox Tampilan tab inbox akan muncul, apabila pengguna memilih tab inbox. Tab inbox menampilkan informasi SMS yang masuk. Pengguna dapat melihat detail SMS yang masuk di bagian layar atas, dan dapat melihat daftar SMS dalam bentuk datagrid di bagian bawah. Apabila checkbox pembersih ditandai, maka program akan membersihkan layar atas setiap interval waktu pembersih. Apabila pengguna memilih membersihkan layar dengan memilih tombol clear, maka program akan membersihkan layar atas segera. Pengguna dapat memfilter daftar SMS yang masuk berdasarkan status pemrosesan. Apabila nilai combobox filter berubah, maka program akan melakukan requery database dan menampilkan hasil query tersebut ke datagrid. Gambar 3.34 berikut ini menggambarkan alur proses tersebut. Gambar 3.34 : Flowchart Tab Inbox Flowchart Outbox Tampilan tab outbox akan muncul, apabila pengguna memilih tab outbox. Tab outbox menampilkan informasi SMS yang keluar. Pengguna dapat melihat detail SMS yang masuk di bagian layar atas, dan dapat melihat daftar SMS dalam bentuk datagrid di bagian bawah. Apabila checkbox pembersih ditandai, maka program akan membersihkan layar atas setiap interval waktu pembersih. Apabila pengguna memilih membersihkan layar dengan memilih tombol clear, maka program akan membersihkan layar atas segera. Pengguna dapat memfilter daftar SMS yang masuk berdasarkan status pemrosesan. Apabila nilai combobox filter berubah, maka program akan melakukan requery database dan menampilkan hasil query tersebut ke datagrid. Gambar 3.35 berikut ini menggambarkan alur proses tersebut. Gambar 3.35: Flowchart Tab Outbox Flowchart Broadcast Tampilan tab Broadcast akan tampil apabila pengguna memilih tab Broadcast. Jadwal broadcast berfungsi untuk mengatur waktu eksekusi broadcast yang akan dilakukan oleh program. Gambar 3.36 berikut ini adalah flowchart yang berkaitan dengan proses tab Broadcast. Gambar 3.36: Flowchart Broadcast Jadwal broadcast adalah sebuah informasi kapan sebuah broadcast harus dieksekusi dan menentukan kapan broadcast berhenti dilakukan berdasarkan syarat-syarat yang sudah ditentukan. Proses penambahan jadwal broadcast akan membuat record baru berdasarkan input data dan memperbarui datagrid dengan hasil query database yang baru. Berikut ini adalah algoritma dari penambahan jadwal broadcast. Proses pembaruan jadwal broadcast akan memperbarui record jadwal broadcast berdasarkan hasil input form dan memperbarui datagrid. Berikut ini adalah algoritma pembaruan jadwal broadcast. Proses penghapusan jadwal broadcast akan menghapus record sesuai dengan baris yang dipilih dan merefresh datagrid. Berikut ini adalah algoritma penghapusan jadwal broadcast. Register berguna untuk menerjemahkan dan memproses perintah-perintah request yang untuk memperoleh hasil balikan. Konsep ini sangat berguna untuk memenuhi kebutuhan adapt to change, sehingga program dapat mengakomodasi perubahan kebutuhan dalam skala terbatas. Proses penambahan daftar register akan menambah record berdasarkan hasil input dan merefresh datagrid. Berikut ini adalah algoritma penambahan daftar register. Proses perubahan daftar register akan memperbarui data berdasarkan hasil inputan dan merefresh datagrid. Berikut ini adalah algoritma proses perubahan daftar register. Proses penghapusan daftar register akan menghapus daftar register dan merefresh datagrid. Berikut ini adalah algoritma dari proses penghapusan daftar register tersebut. Flowchart Program Mobile Student Flowchart program mobile student menggambarkan alur proses untuk program bantu pengiriman SMS request di sisi siswa/i. Flowchart di bawah ini menggambarkan alur mulai dari program dijalankan hingga pengguna keluar dari program. Saat pertama kali dijalankan, program akan menampilkan menu-menu untuk pengiriman request SMS. Selanjutnya pengguna akan memilih menu sesuai dengan request yang diinginkan. Program akan menampilkan form request sesuai dengan dengan yang dipilih. Apabila pengguna memilih tombol send, maka program setelah mengirim format SMS akan kembali ke menu utama. Gambar 3.37: Flowchart Administrator Mobile Student Berikut ini adalah algoritma untuk form request Mobile Student menu. Program akan menampilkan form request mobile student menu untuk diisi oleh pengguna. Apabila pengguna memilih tombol send, program akan meminta konfirmasi pengiriman SMS. Jika pengguna memberikan konfirmasi, program akan mengirim SMS ke nomor SMS Gateway Smart-Edu dan mengarahkan tampilan kembali ke menu utama. Flowchart Program Administrator Mobile Teacher Flowchart program administrator mobile menggambarkan alur proses untuk membantu pengiriman SMS Request di sisi pengajar. Flowchart di bawah ini menggambarkan alur mulai dari program dijalankan hingga pengguna keluar dari program. Saat pertama kali dijalankan, program akan menampilkan menu-menu untuk pengiriman Request SMS. Selanjutnya pengguna akan memilih menu sesuai dengan request yang diinginkan. Program akan menampilkan form request sesuai dengan dengan yang dipilih. Apabila pengguna memilih tombol send, maka program setelah mengirim format SMS akan kembali ke menu utama. Demikianlah seluruh tampilan form pada program Administrator Mobile - Teacher apabila dijalankan akan mengirim dan menerima format pesan balasan dari server sesuai dengan perintah yang dikirimkan, hal ini untuk mempermudah kebutuhan guru pengajar dalam menggunakan aplikasi ini. Gambar 3.38: Flowchart Administrator Mobile Teacher Berikut ini adalah algoritma untuk Administrator Mobile Teacher. Program akan menampilkan form request menu teacher. Setelah pengguna memilih tombol send, program akan meminta konfirmasi pengiriman SMS. Apabila pengguna memberikan konfirmasi pengiriman SMS, program akan mengirimkan SMS. Selanjutnya program akan mengarahkan tampilan layar ke menu utama. Berikut ini adalah algoritma untuk perubahan administrator Teacher. Program akan menampilkan form request perubahan data teacher. Setelah pengguna memilih tombol send, program akan meminta konfirmasi pengiriman SMS. Program akan mengirim sms setelah pengguna memberikan konfirmasi. Selanjutnya program akan mengarahkan tampilan layar ke menu utama. Berikut ini adalah algoritma untuk pembuatan berita pendek. Program akan menampilkan form request pembuatan berita. Setelah pengguna memilih tombol send, program akan meminta konfirmasi pengiriman SMS. Apabila pengguna memberikan konfirmasi pengiriman SMS, program akan mengirimkan SMS. Selanjutnya program akan mengarahkan tampilan layar ke menu utama. Algoritma SMS Request dan Broadcast Berikut ini adalah algoritma untuk proses request pemberitahuan guru kelas. Berikut ini adalah algoritma untuk proses request jadwal kelas. Berikut ini adalah algoritma untuk proses request penggantian jadwal kelas. Berikut ini adalah algoritma Pembatalan Kelas. Berikut ini adalah algoritma pemesanan kelas. Berikut ini adalah algoritma perubahan data siswa. Berikut ini adalah algoritma penambahan matapelajaran. Berikut ini adalah algoritma perubahan jadwal kelas . Berikut ini adalah algoritma untuk pembuatan jadwal kelas. Berikut ini adalah algoritma dari catatan guru. Berikut ini adalah algoritma dari pengiriman berita secara broadcast. Algoritma untuk pembentukan teks SMS menjadi format PDU digambarkan dalam algortima berikut ini. Proses pembacaan PDU menjadi teks SMS yang dapat dibaca manusia digambarkan dalam algoritma di bawah ini. Berikut ini adalah algoritma untuk konversi pesan SMS 7 bit menjadi 8 bit. Berikut ini adalah algoritma untuk konversi pesan PDU 8 bit menjadi pesan teks 7 bit. BAB IV IMPLEMENTASI DAN ANALISA PROGRAM YANG DIBUAT Implementasi Program Spesifikasi Perangkat Keras dan Perangkat Lunak Dalam setiap proses pengembangan sebuah aplikasi, ada dua komponen penting yang selalu dibutuhkan yaitu perangkat keras dan perangkat lunak. Kedua komponen ini, satu dan lainnya saling menunjang sehingga membentuk sebuah sistem. Semua perangkat keras dan perangkat lunak yang dipakai dalam pengembangan aplikasi SMS ini dapat digunakan dan berjalan dengan baik. Namun, tidak menutup kemungkinan ada perangkat keras atau perangkat lunak yang lebih baik yang dapat digunakan sebagai pengganti untuk membuat aplikasi ini menjadi semakin lebih baik. Berikut ini adalah spesifikasi perangkat lunak yang digunakan dalam proses pembuatan dan pengimplementasian program aplikasi SMS: Bahasa Pemrograman : PHP 5.0, C# (.Net 2.0), Java Mobile (J2ME 1.5) Aplikasi Web Server : Apache HTTP Server 2.0 Database: MySQL 5.0 Framework : J2ME, .Net framework 2.0 Sistem Operasi : Windows seven Sedangkan spesifikasi perangkat keras yang digunakan baik dalam proses pembuatan dan pengimplementasi program adalah sebagai berikut: Processor Intel® Core™2 Duo CPU T6500 @2.10GHz, 2100 MHz, 2Core(S), 2 Log Memory 2 GB Ram Harddisk 320 GB USB Port Modem Huawei E220 Handphone Blackberry 9300 Curve Operasi Program SMS Gateway Program SMS Gateway ini adalah program berbasis desktop untuk sistem operasi Windows. Untuk menjalankannya cukup mengeksekusi program tersebut yang memiliki extension .EXE. Tampilan Tab Menu Administrator Smart Edu Pada saat aplikasi dijalankan, program akan menampilkan tab general sebagai tampilan pertama. Program secara otomatis juga telah menentukan nilai default dan mengisi form konfigurasi modem. Nilai default yang dimasukkan tidak berdasarkan deteksi otomatis, tapi berdasarkan nilai secara umum yang biasa digunakan untuk modem GSM. Tab general mempunyai dua tombol yang dapat digunakan oleh pengguna. Tombol pertama adalah tombol connect, berfungsi untuk membuka koneksi ke modem dan memulai layanan SMS. Tombol kedua adalah tombol disconnect, berfungsi untuk menutup koneksi ke modem dan menghentikan layanan SMS. Untuk menutup aplikasi, pengguna cukup klik icon close Windows, dan program secara otomatis akan memutuskan modem apabila akses ke modem masih terbuka. Tampilan Tab Connection Tampilan tab connection ini akan menampilkan form untuk menghubungkan antara modem dan computer. Pada gambar 4.1 layar modem connection menghubungkan modem dengan computer apabila memilih tombol connect. Gambar 4.: Tampilan Tab Menu Modem Connection Tampilan tab Mata Pelajaran Tampilan tab mata pelajaran akan menampilkan form isian untuk menginput data mata pelajaran yang tersedia sesuai jadwal yang sudah di tentukan, artinya pengguna nantinya dapat memilih mata pelajaran sesuai jadwal yang sudah ditentukan, yaitu pada saat memilih akses melalui aplikasi klien. Berikut tampilan tab menu Mata pelajaran seperti pada tampilan gambar 4.2 dibawah ini. Gambar 4.2: Tampilan Tab Menu Mata Pelajaran Tampilan tab Data Guru Tampilan tab menu data guru adalah tampilan layar dimana seluruh data guru pengajar akan disimpan dalam database Smart Edu dan apabila pengguna membutuhkan untuk menggunakan data yang ada dapat di akses melalui table yang tersedia dalam layanan menu tab Data guru yang ada. Berikut ini adalah tampilan menu data guru seperti tampak pada gambar 4.3 dibawah ini. Gambar 4.3: Tampilan Tab Menu Data Guru Tampilan Tab Data Siswa Tampilan tab data siswa adalah tampilan menu data siswa yang menampilkan seluruh data siswa yang belajar di Smart Edu. Menu tab data siswa ini menyimpan seluruh data siswa dalam database dan apabila pengguna membutuhkannya dapat menampilkannya dengan mengakses menu tab data siswa ini. Berikut ini adalah tampilan gambar menu tab data siswa seperti pada gambar 4.4 di bawah ini. Gambar 4.4: Tampilan Tab Menu Data Siswa Tampilan Tab Periode Kelas Tampilan tab menu periode kelas adalah tampilan tab menu yang menampilkan form periode kelas dari suatu mata pelajaran berdasarkan guru pengajar yang ada. Pada tampilan periode kelas ini pengguna dapat menampilkan seluruh informasi mengenai periode kelas dari tanggal mulai s/d tanggal selesai, kode pelajaran dan kode guru yang mengajar. Berikut ini adalah tampilan menu tab periode kelas seperti tampak pada gambar 4.5 dibawah ini. Gambar 4.5: Tampilan Tab Menu Periode Kelas Tampilan Tab Kelas Reguler Tampilan tab kelas regular adalah tampilan tab menu kelas regular yang menampilkan periode, tanggal mulai, tanggal selesai, kode pelajaran dan kode guru yang apabila pengguna memilih tombol refresh maka seluruh informasi akan di tampilkan pada tabel di bawah nya. Berikut ini adalah tampilan menu tab kelas regular seperti tampak pada gambar 4.6 dibawah ini. Gambar 4.6: Tampilan Tab Menu Kelas Reguler Tampilan Tab Kelas Private Tampilan tab kelas private adalah tampilan tab menu yang menampilkan data keseluruhan jadwal kelas private dari regestrasi, tanggal, nim, nama, mata pelajaran dan status siswa. Pengguna dapat menampilkan seluruh informasi apabila tombol refresh di pilih. Berikut ini adalah tampilan tab menu kelas private seperti tampak pada gambar 4.7 dibawah ini. Gambar 4.7: Tampilan Tab Menu Kelas Private Tampilan SMS Tampilan Inbox Apabila pengguna memilih tab inbox, maka program akan menampilkan tab inbox seperti pada gambar 4.8. Tab ini berfungsi untuk menampilkan setiap SMS yang masuk secara real time. Apabila checkBox intervalCheck ditandai, program secara otomatis akan membersihkan log inbox dengan interval tertentu sesuai dengan nilai comboBox TimeInterval. Pengguna dapat membersihkan log segera dengan cara memilih tombol clear. Pengguna juga dapat memfilter SMS yang masuk apakah sudah diproses atau belum dengan merubah combobox filter yang ada. Gambar 4.8: Tampilan Tab Menu Inbox Tampilan Tab Outbox Apabila pengguna memilih tab outbox, maka program akan menampilkan tab outbox seperti pada gambar 4.9. Tab ini berfungsi untuk menampilkan setiap SMS yang dikirim keluar secara real time. Apabila checkbox intervalChek ditandai, program secara otomatis akan membersihkan log outbox dengan interval tertentu sesuai dengan nilai comboBox TimeInterval. Pengguna dapat membersihkan log segera dengan cara memilih tombol clear. Pengguna juga dapat memfilter SMS yang masuk apakah sudah diproses atau belum dengan merubah combobox filter yang yang ada. Gambar 4.9: Tampilan Tab Menu Outbox Tampilan Tab Broadcast Tampilan menu tab broascast adalah menu tampilan yang akan mengirimkan pesan secara broadcast keseluruh no selular siswa dengan isi pesan yang sama. Pengguna dapat mengisi pesan yang ingin di sampaikan dan setelah itu menekan tombol broadcast. Berikut ini adalah tampilan menu tab broadcast seperti tampak pada gambar 4.10 dibawah ini. Gambar 4.10: Tampilan Tab Menu Broadcast Tampilan Tab Modem Log Tampilan tab menu modem log adalah tampilan menu AT command perintah dari aplikasi ponsel yang akan dijalanakan dan juga menu PDU. Berikut ini adalah tampilan dari menu modem log seperti tampak pada gambar 4.11 dibawah ini. Gambar 4.11: Tampilan Tab Menu Modem Log Tampilan Tab Menu Mobile Smart-Edu Tampilan tab menu mobile smart edu ini terdiri dari tampilan menu student dan tampilan menu teacher. Berikut ini adalah tampilan menu dari aplikasi klien yang akan ditampilan diantaranya adalah : Tampilan tab menu Smart Edu student Pada tampilan tab menu smart Edu student ini akan di tampilkan seluruh aplikasi menu student yang akan diakses hanya oleh siswa untuk mendapatkan informasi yang dibutuhkan pada saat proses belajar mengajar, dimana siswa bisa mendapatkan informasi layanan melalui sms seputar kegiatan bimbingan belajar. Gambar 4.12 adalah tampilan tab menu Smart Edu Student dengan kondisi program sudah terkoneksi ke modem. Pengguna dapat memilih tab-tab lain ataupun memilih tombol-tombol yang ada. Gambar 4.1: Tampilan Tab Menu Smart-Edu Student Tampilan Tab Menu Info Periode Kelas Apabila pengguna memilih tab Info Periode Kelas, maka program akan menampilkan tab info periode kelas seperti pada gambar 4.13. Tab ini berfungsi untuk menampilkan setiap SMS yang masuk secara real time. Gambar 4.13: Tampilan Form Info Periode Kelas Tampilan Tab Informasi kelas Apabila pengguna memilih tab informasi kelas, maka program akan menampilkan tab informasi kelas seperti pada gambar 4.14. Tab ini berfungsi untuk menampilkan setiap SMS yang masuk secara real time. Gambar 4.14: Tampilan Tab Informasi Kelas Tampilan Tab Pendaftaraan Kelas Apabila pengguna memilih tab pendaftaraan kelas, maka program akan menampilkan tab pendaftaraan kelas seperti pada gambar 4.15. Tab ini berfungsi untuk menampilkan setiap SMS yang pendaftaraan kelas secara real time. Apabila textbox dan radio button ditandai, program secara otomatis akan mengecek ketersediaan kelas yang ada sesuai dengan mata pelajaran yang diambil. Gambar 4.15: Tampilan Tab Pendaftaraan Kelas Tampilan Tab Pindah Kelas Apabila pengguna memilih tab pindah kelas, maka program akan menampilkan tab pindah kelas seperti pada gambar 4.16. Tab ini berfungsi untuk menampilkan SMS pindah kelas dari mata pelajaran kelas yang lama ke mata pelajaran kelas yang baru. Untuk melihat detil SMS tersebut, pengguna dapat melakukan pilihan dengan mengisi text box dari noSiswa dan juga memilih radio button. Program akan menampilkan detail SMS tersebut. Gambar 4.16: Tampilan Tab Pindah Kelas Tampilan Tab Hasil Les Kelas Apabila pengguna memilih tab Hasil Les Kelas, maka program akan menampilkan tab Hasil Les Kelas seperti pada gambar 4.17. Gambar 4.17: Tampilan Tab Hasil Les Kelas Tampilan Tab Set Pemberitahuan Jadwal Apabila pengguna memilih tab set Pemberitahuan Jadwal, program akan menampilkan data Siswa pada tab set pemberitahuan Jadwal Kelas seperti pada gambar 4.18. Gambar 4.18: Tampilan Tab Pemberitahuan Jadwal Kelas Tampilan permintaan les Private Apabila pengguna memilih tab permintaan les private, program akan menampilkan kelas mata pelajaran dan waktu yang tersedia sesuai yang di pilih. Permintaan les private seperti pada gambar 4.19. Gambar 4.19: Tampilan Permintaan Les Privat Tampilan Tab Data Siswa Apabila pengguna memilih tab data siswa maka pengguna dapat memilih tab menu data siswa ini dan akan mendapatkan informasi mengenai data siswa yang sudah di input sebelumnya. Tab data siswa tampak seperti gambar 4.20. Gambar 4.20: Tampilan Tab Data Siswa Tampilan tab menu smart edu-teacher Tampilan tab menu smart edu teacher adalah tampilan menu aplikasi klien yang disediakan untuk dapat diakses oleh pengajar melalui sms. Tampilan Tab Menu Smart Edu - Teacher Apabila pengguna memilih tab menu Smart Edu - Teacher, program akan menampilkan data menu pada tab menu seperti pada gambar 4.21. Program akan menampilkan dengan menekan tombol pilih. Gambar 4.21: Tampilan Tab Menu Smart Edu - Teacher Tampilan menu tab informasi kelas Apabila pengguna memilih tombol send program akan menampilkan form menu seperti pada gambar 4.22. Setelah mengisi field no Guru yang disediakan. Gambar 4.22: Tampilan Tab Informasi Kelas Tampilan Tab Pembatalan Kelas Apabila pengguna memilih tab pembatalan kelas, program akan menampilkan jadwal kelas pada tab Pembatalan Kelas seperti pada gambar 4.23. Gambar 4.23: Tampilan Tab Pembatalan Kelas Tampilan tab menu kirim nilai. Apabila pengguna menggunakan layanan menu kirim nilai ini maka program akan menampilkan layar sebagai berikut : Gambar 4.24: Tampilan Tab Kirim Nilai Tampilan Tab Kirim Catatan ke kelas Apabila pengguna memilih tab kirim catatan ke kelas, program akan menampilkan data transaction harian yang terjadi di selama program berjalan seperti di gambar 4.25. Selain melihat data transaksi, pengguna dapat melihat kiriman catatan ke kelas. Gambar 4.25: Tampilan Tab Kirim Catatan Ke Kelas BAB V PENUTUP Kesimpulan Setelah melihat dan menganalisa hasil penyusunan skripsi ini, dapat disimpulkan sebagai berikut : Dengan menerapkan “Implementasi sistem informasi bimbingan belajar melalui sms gateway pada bimbingan belajar Smart Edu, maka pembuatan data yang di dapat akan lebih cepat dan efisien. Dapat lebih cepat, karena pengumpulan data dilakukan menggunakan teknologi internet dan phone seluler sebagai media bantu. Aplikasi SMS yang dibuat mampu memberikan nilai tambah bagi Bimbingan Belajar Smart Edu untuk memberikan pelayanan yang maksimal bagi siswa, orangtua dan guru. Aplikasi SMS ini dibuat sederhana, sehingga mudah dipahami dan digunakan oleh pengguna tanpa harus memiliki kemampuan khusus. Aplikasi klien untuk siswa, orangtua dan guru menyediakan layanan request seperti tampilan Data Master. Saran Sistem Informasi Bimbingan Belajar Smart Edu ini belumlah sempurna, masih banyak perbaikan-perbaikan yang harus dilakukan untuk dapat meningkatkan manfaat dari penerapan sistem ini. Adapun beberapa saran yang kiranya dapat membantu untuk membuat sistem tersebut lebih baik, adalah: Melakukan sosialisasi baik kepada siswa, orangtua dan guru mengenai penerapan aplikasi SMS ini baik sebelum implementasi ataupun selama masa awal penerapan aplikasi, sehingga dapat diterima dan dipahami dengan baik oleh semua pihak. Penggunaan GSM Modem sebagai interface ke jaringan seluler lebih dianjurkan dibandingkan penggunaan telepon seluler. Pertimbangan anjuran ini disebabkan tidak adanya ketergantungan terhadap baterai pada GSM modem dibandingkan telepon seluler. Melakukan evaluasi secara berkala terhadap kinerja aplikasi SMS sebagai bahan masukan untuk pengembangan aplikasi selanjutnya. Dalam aplikasi sms gateway pada Bimbingan Belajar Smart Edu ini masih memiliki beberapa kekurangan seperti menampilkan tagihan, report dll. Itu semua karena keterbatasan waktu yang di harapkan dikemudian hari dapat di kembangkan lagi. DAFTAR PUSTAKA Bunafit Nugroho, 2004, Database Relational dengan MYSQL. Yogyakarta : Penerbit ANDI PHP & MySQL, 2004 Wicaksono, Ady., 1999, Dasar - dasar Pemrograman Java 2. Jakarta: PT Elex Media Komputindo. Purnama, Rangsang., 2002, Tuntunan Pemrograman Java Jilid 1. Jakarta: PT Elex Media Komputindo. Utomo, Prasetya Ambang., 2005, Membangun Aplikasi SMS Berbasis Open Source. Jogjakarta: Andi Yogyakarta. Wahana Komputer., 2005, Pengembangan Aplikasi Sistem Informasi Akademik Berbasis SMS dengan Java. Jakarta: Salemba Infotek. Gunawan., Ferry., 2003, Membuat Aplikasi SMS Gateway dan Client. Jakarta: PT Elex Media Komputindo. Pascal Michaelis, 2011, Sejarah Terciptanya 160 Karakter di SMS <URL: http://www.kaorinusantara.web.id/forum/f57/sejarah-terciptanya-160-karakter-di-sms-13032.html/>, Oktober 2011 Skyvillezz, 2011, Sejarah Perkembangan Ponsel <URL: http://www.teknoup.com/forum/topic/212/sejarah-perkembangan-ponsel>, Juni 2011 WahanaPonsel, 2007, Arsitektur dan Teknologi SMS <URL: http://www.wahanaponsel.com/articles/latest_news/arsitektur-dan-teknologi-sms.html>, Agustus, 2007 Blogger Kebumen, 2010, Mengenal Bagaimana cara Kerja SMS <URL: http://mazarie.web.id/mengenal-bagaimana-cara-kerja-sms-short-message-service.html>, Mei 2010 Global Komputer, 2006, SMS Deliver PDU <URL: http://www.globalkomputer.com/Bahasan/Komunikasi-Data/Topik/PDU/Subtopik/SMS-Deliver-PDU.html>, 2006 Global Komputer, 2006 AT Command <URL: http://www.globalkomputer.com/Bahasan/Komunikasi-Data/Topik/PDU/Subtopik/AT-Command.html>, 2006 PAGE \* MERGEFORMAT 40 PAGE \* MERGEFORMAT i Gambar 2.7 : Infrastruktur Jaringan untuk Merealisasikan Layanan SMS yang Inovatif Inisialisasi modem Buka koneksi modem Cek koneksi modem If koneksi = buka Then Baca attribut modem Else Tampilan konfirmasi kesalahan End If Inisialisasi modem Buka koneksi modem Cek koneksi modem If koneksi = buka Then Start Broadcast Timer Start Sender Timer Start SMS Listener Set Tombol Disconnect available Set Menu Tab Available Disable Tombol Connect End If Inisialisasi modem Buka koneksi modem Cek koneksi modem If koneksi = buka Then Stop Broadcast Timer Stop Sender Timer Stop SMS Listener Disable Menu Tab Disable Tombol Disconnect Enable Tombol Connect End If Tampilkan Form Data Master If Submit Then Insert Form Data To Data Master Profile Refresh Datagrid Data Master End If Tampilkan Form Data Master If Submit Then Update Form Data To Data Master Profile Refresh Datagrid Data Master End If Tampilkan Form Konfirmasi Hapus If Terkonfirmasi Then Delete Data From Data Master Profile Refresh Datagrid Data Master End If Tampilkan Form Kelas Reguler If Submit Then Insert Form Data To Kelas Reguler Profile Refresh Datagrid Kelas Reguler End If Tampilkan Form Kelas Reguler If Submit Then Ubah Form Data To Kelas Peserta Profile Refresh Datagrid Kelas Reguler End If Tampilkan Form Konfirmasi Hapus If Terkonfirmasi Then Delete Data From Kelas Reguler Profile Refresh Datagrid Kelas Reguler End If Tampilkan Form Kelas Private If Submit Then Insert Form Data To Kelas Private Profile Refresh Datagrid Kelas Private End If Tampilkan Form Kelas Private If Submit Then Ubah Form Data To Kelas Private Profile Refresh Datagrid Kelas Private End If Tampilkan Form Konfirmasi Hapus If Terkonfirmasi Then Delete Data From Kelas Private Profile Refresh Datagrid Kelas Private End If Tampilkan Form Broadcast If Submit Then Insert Form Data To Jadwal_Broadcast Refresh Datagrid Jadwal Broadcast End If Tampilkan Form Broadcast If Submit Then Update Form Data To Jadwal_Broadcast Refresh Datagrid Jadwal Broadcast End If Tampilkan Form Konfirmasi Hapus If Terkonfirmasi Then Delete Data From Jadwal_Broadcast Refresh Datagrid Jadwal Broadcast End If Tampilkan Form Register If Submit Then Insert Form Data To Daftar Register Refresh Datagrid Register End If Tampilkan Form Register If Submit Then Update Form Data To Daftar Register Refresh Datagrid Register End If Tampilkan Form Konfirmasi Hapus If Terkonfirmasi Then Delete Data From Daftar Register Refresh Datagrid Register End If Tampilkan Form Menu Mobile Student If Send Then Format pesan request Buka koneksi telepon seluler Tampilkan konfirmasi pengiriman pesan If Kirim Then Kirim pesan request End If End If Kembali ke Form Utama Tampilkan Form Administrator - Teacher If Send Then Format pesan request Buka koneksi telepon seluler Tampilkan konfirmasi pengiriman pesan If Kirim Then Kirim pesan request End If End If Kembali ke Form Utama Tampilkan Form ubah administrator teacher If Send Then Format pesan request Tampilkan konfirmasi pengiriman pesan If Kirim Then Kirim pesan request End If End If Kembali ke Form Utama Tampilkan Form Catatan Guru If Send Then Format pesan request Tampilkan konfirmasi pengiriman pesan If Kirim Then Kirim pesan request End If End If Kembali ke Form Utama Select from tabel jadwal_kelas where ms_date = parameter tanggal. If data = ada Then Ambil kolom nama_siswa, kelas, jadwal_kelas Format pesan balasan Else balas “jadwal kelas belum ada” End If Kirim pesan balasan End If Select from tabel menu where type = ‘ADDT’ limit 5 If data = ada Then Ambil kolom noSiswa, nama_siswa Format pesan balasan Else balas “jadwal kelas” End If Kirim pesan balasan End If Baca parameter noSiswa, tanggal, pilih jadwal kelas Baca tabel noSiswa = noSiswa and ms_date = tanggal Then If data = ada Then Select pilihan menu Case A: Jadwal_1 = A Case B: Jadwal_2 = B Case C: Jadwal_3 = C End select Ubah mataPelajaran set com_selected = noSiswa where noSiswa= noSiswa and com_order_date = tanggal Pilihan matapelajaran tanggal dd-mm-yyy sudah diubah Else Jadwal Pelajaran belum ada End If Kirim pesan balasan Baca parameter noSiswa Baca tabel tanggal ubah Kelas_Reguler_kirim set Com_kirim_Status = ‘CANCEL’ where noSiswa= noSiswa and com_kirim_date = tanggal If ubah Then Jadwal Kelas untuk tanggal dd-mm-yyy sudah dibatalkan Else Jadwal kelas belum ada End If Kirim pesan balasan Baca parameter noSiswa Baca parameter tanggal Baca parameter ID Baca Tabel kelas where siswa_id=siswa_ID Ambil nilai Baca Tabel_jadwal_kelas noSiswa_Order where no_siswa=noSiswa and com_kirim_date=tanggal Ambil nilai kolom kelas_reguler If nilai ada Then Insert Into Siswa_Order_Detail Anda telah memesan kelas untuk tanggal dd-mm-yyyy Else Belum ada jadwal kelas End If Kirim pesan balasan Baca parameter noSiswa Baca parameter kolom Baca parameter nilai Ubah siswa_profil set kolom = nilai where noSiswa= noSiswa Profil anda telah berhasil dirubah. Kirim pesan balasan Baca parameter name Baca parameter matapelajaran Baca parameter kelas Baca parameter jadwal Insert into tabel pelajaran Menu berhasil ditambahkan ke database. Kirim pesan balasan Baca parameter ID Baca parameter kodeKelas Baca parameter tanggal Baca parameter status Update tabel jadwalKelas JadwalKelas berhasil ditambahkan ke database. Kirim pesan balasan Baca parameter tanggal Baca parameter kodeKelas Baca parameter status Baca parameter ID Insert into jadwal_kelas If Sukses Then Jadwal berhasil ditambahkan ke database. Else Jadwal gagal disimpan End If Kirim pesan balasan Baca parameter news Insert into news If Sukses Then Berita berhasil ditambahkan ke database. Else Berita gagal disimpan End If Kirim pesan balasan Baca Tabel news_broadcast where status OK limit 1 Baca kolom no mobile phone Baca kolom news Select from tabel no mobile_phone While (read) Create SMSOutgoing Insert SMS_output End While Ubah news_brodcast set status=OK where id_news=ID Set SMSC Number = “”(default / use sim card value) Set Status Report Request = 0 (default) Set Encoding Status = 7 bit (default) Set TP_MR = 1 (default) Set TP_VP Period = 3 Hours (default) Set Destination Number = destination Set User Data = message Set TP_MTI = 1 Set TP_VPF = 16 PDU += Encode(SMSC Number) // 00 PDU += Format (TP_MTI + TP_VPF, X2) // 11 PDU += Format (TP_MR, X2) // 01 PDU += Encode(Destination Number) PDU += Format(TP_PID, X2) // 00 PDU += Format(TP_DCS, X2) // 00 – 7bit PDU += Format(TP_VP, X2) // 1D – 3Hours(29d) PDU += Format(Length(User Data), X2) PDU += Encode7bit(User Data) Return PDU Get SMSC Length Get SMSC Type Get SMSC Address Get First Octet // 04 – SMS RECEIVE Set t1 = First Octet & 3 // 0 Set t2 = First Octet & 64 // 0 If (t1+t2 == 0) Then Obj = new SMS_RECEIVE End If Get Sender Address Length Get Sender Address Type Get Sender Address Get TP_PID Get TP_DCS Get TP_SCTS Get TP_UDL Get TP_UD Obj.MSISDN = Sender Address Obj.TimeStamp = TP_SCTS Obj.SMSC = SMSC Address Obj.TimeZone = GetGMT(TP_SCTS) Obj.Message = decode7bit(TP_UD) // IF TP_DCS = 0 / 242 Return Obj CharArray = Message.ToCharArray For Each c In CharArray bitReserved = CharTo7Bits(c) + bitReserved Next If (bitReserved.Length Mod 8) <> 0 Then For i = 1 To 8 - (bitReserved.Length Mod 8) bitReserved = "0" + bitReserved Next End If For i = bitReserved.Length - 8 To 0 Step -8 result = result + BitsToHex(Mid(bitReserved, i + 1, 8)) Next Return result inv7BitCode = InvertHexString(Pdu8Bit) For i = 0 To inv7BitCode.Length - 1 Step 2 hexVal = inv7BitCode.Substring(i, 2) binary += ByteToBinary(Val("&H" & hexVal)) Next For i = 1 To Pdu8BitLength Temp = BinaryToInt(binary.Substring(binary.Length - i * 7, 7)) result = result + Chr(Temp) Next Return result