APLIKASI SISTEM QUICK COUNT ( SI-Q-CUP ) PILKADA PEMILIHAN KEPALA DAERAH STUDI KASUS PILKADA PROPINSI DIY
Armadyah Amborowati Dosen STMIK AMIKOM Yogyakarta
Abstraksi Pilkada ini sangat tergantung pada kelancaran dalam proses pengambilan suara dan proses penghitungan hasil suara. Pada prakteknya pada saat perhitungan suara muncul indikasi-indikasi kecurangan. Indikasi kecurangan ini tidak hanya terjadi di TPS ( Tempat pengambilan Suara ) setempat tapi juga bisa terjadi di level di atas, contohnya di kecamatan atau di tempat lainnya. Hal ini disebabkan karena hasil perhitungan suara dari tiap-tiap TPS harus dikumpulkan terlebih dahulu sebelum dihitung total keseluruhan. Tidak hanya indikasi kecurangan yang menjadi isu tetapi juga kecepatan dari proses perhitungan total. Banyak pihak-pihak yang terkait yang membutuhkan informasi yang cepat tentang hasil perhitungan suara dan dokumentasi dari proses PILKADA ini seperti LSM, Peneliti, dan masyarakat yang selama ini tidak ada dokumentasi yang ter-publis dari masing-masing daerah. SI-Q-CUP berfungsi untuk membantu mempercapat perhitungan suara pada pemilu/pilkada yang berbasis SMS sehingga datanya dapat dipublikasikan secara langsung dalam sebuah aplikasi web. Kata kunci: Si-Q-Cup, Sistem Quick Count, Pilkada
23
Pendahuluan Penelitian mengenai Sistem Quick-Count Pilkada sudah pernah ada. Aswadi ( 2007 ) meneliti tentang aplikasi sistem quick_count Pilkada dengan SMS dan aplikasi tersebut belum di integrasikan dengan aplikasi web. Berangkat dari penelitian-penelitian sebelumnya, peneliti tertarik untuk melakukan penelitian mengenai aplikasi sistem quick-count Pilkada berbasis SMS yang di integrasikan dengan aplikasi web. Aplikasi ini dibuat dengan konsep OOP ( object-oriented programming ) agar mudah dalam melakukan maintenance ke depannya. Berdasarkan latar belakang yang penelitian, maka permasalahan dalam bentuk pertanyaan adalah sebagai berikut: Bagaimana menbangun aplikasi sistem QUICK-Count Pilkada berbasis SMS yang terintergrasi dengan aplikasi web, yang digunakan untuk mempercepat hasil perhitungan suara Pilkada secara real-time dan mengurangi indikasi kecurangan? Adapun metode penelitian yang digunakan untuk melakukan penelitian ini adalah sebagai berikut: 1. Tempat. Penelitian ini dilaksanakan di Wilayah Daerah Istimewah Yogyakarta ( DIY ). 2. Teknik Pengumpulan Data Teknik pengumpulan data penelitian ini adalah dengan wawancara langsung kepada petugas KPUD DIY. 3. Populasi dan Sampel Penelitian Populasi penelitian ini adalah seluruh penyelenggara pemilihan umum daerah di DIY terutama di Kelurahan, Kecamatan, sampai kabupaten/ Kotamadya.
25
Pembahasan Karakteristik Produk Dalam SI-Q-CUP, masing-masing TPS akan mengirimkan hasil perhitungan suara menggunakan handphone (HP) yang sudah teregistrasi sebelumnya. Pesan yang diterima SMS Gateway akan diberikan balasan informasi untuk memberitahukan bahwa SMS telah diterima. Selanjutnya akan disimpan dalam sebuah database (DB) yang berhubungan langsung dengan sebuah aplikasi web untuk menampilkan secara real-time hasil perhitungan suara yang diperoleh, yang kemudian akan disajikan dalam 2 bentuk, yaitu dalam bentuk grafik dan teks. Aplikasi web ini dikelola oleh seorang administrator, yang bertugas mengontrol kerja aplikasi.
Gambar 1. Deskripsi Umum SI-Q-CUP
26
Karakteristik Pengguna Karakteristik dari pengguna SI-Q-CUP terbagi atas 2, seperti yang terlihat pada tabel karakteristik pengguna berikut ini: 1. Aktor Pengelola SI-Q-CUP Tabel 1. Tabel aktor pengelola SI-Q-CUP
Nama Aktor
Definisi
Administrator Administrator bertugas untuk mengontrol jalannya aplikasi web. Petugas Petugas yang mempunyai KPUD hak akses untuk mengirim hasil perhitungan suara 2. Aktor Pengguna SI-Q-CUP Tabel 2. Tabel aktor pengguna SI-CUP
Nama Aktor Eksternal (Peneliti, Politisi, LSM, Masyarakat Umum dan pihak-pihak lain)
Definisi Aktor yang mendapatkan service untuk melihat hasil perhitungan suara.
Kebutuhan Antarmuka Eksternal Antarmuka Pemakai Server SI-Q-CUP menggunakan antarmuka berbasis Linux. Pengguna dapat mengoperasikan SI-Q-CUP menggunakan pirarti input-an, keyboard dan mouse yang dilengkapi dengan sistem operasi Windows/Linux.
27
Antarmuka Perangkat-Keras Server SMS Gateway, server Database dan server web SI-Q-CUP berjalan diatas perangkat-keras Personal Computer (PC) dengan spesifikasi Processor Intel Xeon 3GHz, Memory RAM 1G, Harddisk 80G, dan sistem operasi Linux. Handphone yang digunakan untuk mengirim pesan ke SMS Gateway dapat dari berbagai jenis tipe dan merek, dengan sebelumnya pemilik HP (Petugas KPUD) melakukan registrasi nomor terlebih dahulu.
Antarmuka Perangkat-Lunak SI-Q-CUP adalah program yang dibangun dengan menggunakan bahasa pemograman Java, Compiler dan Tools Java.
Antarmuka Komunikasi SI-Q-CUP merupakan system yang terhubung ke jaringan komputer, dan komunikasi yang terjadi antar perangkat-keras dalam jaringan melewati protokol TCP/IP.
Kebutuhan Fungsional Deskripsi Proses 1. Proses pada SMS Center 1. Registrasi nomor handphone 2. Pengiriman SMS Konfirmasi 3. Pengiriman SMS Perhitungan Suara 4. Pengiriman Balasan 2. Proses pada aplikasi web 1. Proses registrasi nomor handphone 2. Proses menampilkan hasil kalkulasi suara pilkada 28
Conceptual Data Model Conceptual Data Model menunjukkan hubungan antar entitas serta atribut-atribut dari masing-masing entitas tersebut. CDM untuk SI-Q-CUP di gambarkan pada gambar berikut ini:
Gambar 2. Conceptual Data Model SI- Cup
Kebutuhan Non-Fungsional Performasi Tidak ada batasan performasi, karena kemampuan perangkat-keras yang digunakan telah memadai. Batasan Memori Besarnya memory yang dibutuhkan untuk menjalankan perangkat lunak SI-Q-CUP minimal 512 MB. Modus Operasi Modus operasi perangkat lunak SI-Q-CUP ada dua, yaitu sebagai berikut: 1. Level pengelola: dapat melihat sistem secara keseluruhan dan melakukan perbaikan untuk aplikasi web jika diperlukan.
29
2. Level pengguna: pada level ini, pengguna di bagi menjadi dua, yaitu sebagai berikut: • Petugas KPUD: dapat melakukan pengiriman hasil suara yang diperoleh oleh masing-masing TPS • Pengguna Eksternal: terdiri atas peneliti, politisi, LSM, masyarakat, dan pihak lain yang menggunakan system ini, yang mana pengguna eksternal ini hanya dapat melihat hasil perolehan suara dalam aplikasi web yang tersaji dalam bentuk grafik dan teks. Kebutuhan Adaptasi Lokasi SI-Q-CUP hanya dapat diaplikasikan dalam lokasi yang memiliki jaringan terkoneksi ke internet.
Keandalan Sistem disajikan dalam bentuk aplikasi web, yang dapat diakses dengan protokol HTTP (RFC 2816). Protokol HTTP merupakan protokol yang umum digunakan dalam aplikasi internet. Sedangkan untuk SMS Center yang digunakan sebagai penerima SMS adalah modem GSM yang mampu bekerja pada area band 800Mhz, 1800Mhz dan 1900Mhz. 3.4.4
Ketersediaan
Aplikasi web dapat diakses selama 7 hari seminggu dan 24 jam sehari, dalam jangka waktu tertentu selama event pilkada berlangsung. 3.4.5
Keamanan
Aplikasi web diakses dengan menggunakan protokol HTTPS (RFC 2660). Protokol HTTPS merupakan protokol HTTP yang dilapisi lapisan TLS Protocol Version 1.1 (RFC 4346) di atasnya. 3.4.6
Keremawatan (Maintainability)
30
Sistem yang terdiri dari dua bagian utama, yaitu SMS Gateway dan Aplikasi Web, dimonitor kinerjanya dengan menggunakan alat bantu (tool) yang sudah tersedia pada Java, yaitu dengan VisualGC. Kepemindahan (Portability) Semua modul pada sistem ini dapat di-deploy secara cross-platform, karena bagian-bagian modul pada sistem ini dikembangkan dengan bahasa pemograman yang berorientasi objek, yaitu Java. Sedangkan aplikasi web dikembangkan dengan JSP/Servlet versi 2.1 (JSR 245, sehingga dapat di-deploy pada berbagai macam application server. Persyaratan SI-Q-CUP SI-Q-CUP StakeHolder Stakeholder merupakan orang-orang yang berpengaruh langsung maupun tidak langsung pada persyaratan sistem. Stakeholder untuk SI-Q-CUP terdiri atas: 1. Administrator 2. Petugas KPUD 3. Masyarakat (Peneliti, Politisi, LSM, Masyarakat umum dan pihak-pihak lain yang berkepentingan terhadap SI-Q-CUP).
31
Hierarki Viewpoint SI-Q-CUP Berikut ini digambarkan hierarki viewpoint dari SI-Q-CUP:
Gambar 3. Hierarki viewpoint SI-Q-CUP
Use-Case Use case merupakan teknik berdasarkan skenario yang mendeskripsikan model sistem berorientasi objek, yang mengidentifikasikan aktor yang terlibat dalam interaksi dan nama dari tipe interaksi tersebut. Untuk SI-Q-CUP, ada 3 aktor yang terlibat dalam sistem, yaitu administrator, petugas TPS dan masyarakat umum. Sedangkan use case yang terjadi ada 4, yaitu mendaftarkan petugas TPS yang dilakukan oleh aktor administrator, mengirimkan SMS jumlah suara yang dilakukan oleh aktor petugas TPS, mendata jumlah suara dilakukan oleh sistem, sedangkan aktor masyarakat umum hanya dapat melihat hasil pilkada.
32
Seperti yang dapat dilihat pada gambar berikut ini:
Gambar 4. UML SI-Q-CUP
Sequence Diagram Sequence diagram digunakan untuk menambahkan informasi pada use-case, yang menunjukkan aktor yang terlibat pada interaksi, objek di dalam sistem dengan apa objek-objek tersebut berinteraksi dan operasi yang berhubungan dengan objek-objek tersebut. Gambar sequence diagram dari SI-Q-CUP dibawah ini menunjukkan 2 aktor yang terlibat dalam interaksi, yaitu aktor petugas TPS dan aktor masyarakat.
Gambar 5. Sequence diagram SI-Q-CUP
33
Model Objek (Object Model) Model objek digunakan untuk merepresentasikan data sistem dan pemrosesannya. Model objek direpresentasikan dalam tiga buah model, yaitu model inheritansi (inheritance model), model agregrasi (aggregation model) dan model interaksi (interaction model).
Gambar 6. Model objek SI-Q-CUP
34
Tampilan Hasil Pengujian Hasil Perolehan Suara Calon Pilkada
Gambar 7. Hasil Perolehan Suara Calon Pilkada
Tampilan SMS
35
Penutup Berdasarkan hasil dari pembuatan SI-Q-CUP ini dapat kami simpulkan bahwa: 1. Aplikasi SI-Q-CUP ini mempercepat hasil perhitungan suara sehingga mengurangi terjadinya kecurangan. 2. Hasil yang didapat dari SI-Q-CUP ini sudah akurat dan tepat waktu sesuai pengiriman sms hasil suara dari tiap-tiap TPS. Saran yang bisa kami sampaikan dari implementasi SI-Q-CUP ini adalah: 1. Pada saat implementasi dibutuhkan spesifikasi modem GSM yang berkualitas karena akan mempengaruhi proses pengiriman sms dari petugas KPUD. 2. Sebaiknya pada saat proses pengiriman SMS hasil perhitungan suara, dikirimkan ke nomor yang menggunakan format 4 digit nomor, sebagai contoh: 3899
Daftar Pustaka Fowler, Martin, UML Distilled 3th., Panduan singkat bahasa pemodelan object standar, Andi offset, 2004. Hoffer, Jeffrey A., Modern Database Management eighth edition, Pearson Education, 2007. Sommerville, Ian, Software Engineering ( Rekayasa Perangkat Lunak ) Jilid 1, Erlangga, 2003. Sommerville, Ian, Software Engineering ( Rekayasa Perangkat Lunak ) Jilid 2, Erlangga, 2003 http://www.dprddiy.go.id/index.cfm?x=berita&id_berita=14022008104528 “
36
Meskipun pada Posisi Sulit: KUPD lakukan Persiapan Pilkada DIY “ tanggal 21 Februari 2008 jam 14.23 http://id.wikipedia.org/wiki/Pilkada#Penyelenggara_Pilkada “ Pemilihan Umum Kepala Daerah dan Wakil Kepala Daerah “ tanggal 21 Februari 2008 jam 14.43
37
PERANCANGAN SISTEM PENERIMAAN DAN PENGIRIMAN SMS SECARA OTOMATIS PADA MODEL PENGECEKAN PASSING GRADE SEKOLAH MENENGAH ATAS
Ema Utami dan Cecep Yedi Permana Dosen STMIK AMIKOM Yogyakarta
Abstraksi Short Message Service (SMS) merupakan sebuah layanan yang banyak di aplikasikan pada sistem komunikasi tanpa kabel (wireless), yang memungkinkan kita untuk melakukan pengiriman pesan dalam bentuk alphanumeric antar terminal pelanggan dengan sistem eksternal seperti e-mail, paging, voice mail, dan lain-lain. Dalam sistem SMS, mekanisme utama yang dilakukan dalam sistem adalah melakukan pengiriman Short Message dari satu terminal pelanggan ke terminal yan lain. Hal ini dapat dilakukan berkat adanya sebuah entitas dalam sistem SMS yang bernama Short Message Service Center (SMSC), disebut juga Messege Center (MC). SMSC merupakan sebuah perangkat yang melakukan tugas Store and Forward traffic short message. Didalamnya termasuk penentuan atau pencarian rute tujuan akhir dari Short Message. Kata Kunci: SMS. Passing Grade
Pendahuluan Bagaimana cara mengkoneksikan ponsel dengan komputer dan cara menampilkan data ponsel ke dalam computer. Bagaimana cara membuat model pengecekan passing grade secara otomatis melalui SMS. Bagaimana cara mendapatkan nilai passing grade dari sekolah menengah atas.
38
Pembahasan Sistem yang akan dibangun adalah sebuah sistem berupa perangkat lunak yang membantu para calon siswa untuk mendapatkan informasi Passing Grade Sekolah yang dimaksud dengan menggunakan layanan SMS. Calon siswa diberi kemudahan dalam mendapatkan informasi tentang Passing Grade saat itu, serta rating mereka apakah dalam posisi aman atau tidak dengan cara mengirimkan SMS dengan format yang sudah ditentukan oleh sistem yang akan dibangun ini, lalu pada saat itu juga calon siswa akan mendapat balasan SMS berupa informasi tentang Passing Grade Sekolah yang bersangkutan karena system ini menggunakan metode auto replay. Perancangan Sistem Perancangan sistem secara umum merupakan tahap persiapan dan perancangan secara rinci terhadap Model Pengecekan Passing Grade berbasis SMS yang akan dibangun. Adapun langkah-langkah yang harus diperhatikan dalam perancangan sebuah sistem yaitu :
39
Flowchart Koneksi Ke HP Menggambarkan tentang proses koneksi dari Ponsel ke dalam PC Mulai
Pilih Sambungan dan COM Port
False Sambungkan
Tampilkan kesalahan Koneksi
True
Pengambilan Data Ponsel(Model,IMEI,SMS Center, Signal, Battery)
Tampilkan data ponsel pada panel koneksi yang disediakan
Selesai
Gambar 1: Flowchart Koneksi Ke HP
Keterangan : a. Mulai b. Pilih sambungan dan COM Port artinya memilih sambungan koneksi ke hp melalui kabel data apa (sudah tersedia pilihannya). Pilih Com Port sambungan melalui serial com berapa, sudah tersedia pada combo box tinggal memilihnya saja. c. Sambungkan, yaitu menyambungkan dari PC ke HP
40
d. jika kondisinya (False) sambungannya tidak sesuai dengan kabel data yang dipakai dan serial comnya tidak sesuai maka program akan menampilkan kode kesalahannya, lalu kembali lagi ke pilih sambungan dan Comp port e. Jika kondisinya benar (True) maka akan menjalankan proses selanjutnya, yaitu mendapatkan data ponsel (Model HP, IMEI,SMSC,Signal,Baterray) Berikut ini adalah penggalan skrip untuk koneksi ke ponsel dan menampilkan data ponsel ke komputer Private Sub Mobile1_OnOpen(ByVal PhoneIMEI As String, ByVal ConnectTime As Double) lblStatusKonek.Caption = "Terkoneksi" Lbl(0).Caption = "Nokia " & Mobile1.PhoneName & " (" & Mobile1.PhoneType & ")" Lbl(1).Caption = Mobile1.SW & " " & Mobile1.SWDate Lbl(2).Caption = Mobile1.HW Lbl(3).Caption = PhoneIMEI txtSmsC.Text = Mobile1.GetDefaultSMSCenterNumber() Mobile1.SMSCenterNumber = txtSmsC.Text Call IsiLaporan(TxtLaporan, "Status Sambungan SMS Gateway Terkoneksi : " & CDate(ConnectTime)) End Sub
Flowchart Auto Replay Menggambarkan proses pengiriman atau jawaban SMS yang dikirimkan secara otomatis sesuai dengan format jawaban yang sudah ditentukan baik format jawaban yang benar maupun format jawaban salah yang diakibatkan oleh salah pengetikan atau tidak, sesuai dengan format yang sudah ditentukan.
41
Gambar 2: Flowchart Auto Replay
Keterangan: A1: konektor jawaban informasi passing grade sementara yang akan dilanjutkan pada proses mencari nilai passing grade sementara B1: konektor jawaban informasi rating yang akan dilanjutkan pada proses mencari nilai rating calon siswa a. Mulai b. Ketikan SMS, artinya ketik SMS sesuai dengan format lalu kirim ke no tujuannya 42
c. Sistem menerima pesan SMS dari klien lalu merubah semua karakter menjadi hurup besar semua . d. Cek Format SMS, berfungsi untuk mengecek kondisi Format penulisan SMS apakah sesuai dengan format yang telah ditentukan oleh sistem apa tidak e. Jika Kondisi tidak sesuai (False) maka sistem akan menjawab dengan Format kesalahan yang telah ditentukan yaitu Jawab kesalahan 1 f. Jawab Kesalahan 1, artinya klien akan dikirim SMS balasan tentang format penulisan yang benar yaitu : ketik 1.INFO#PASSGRADE 2.INFO#RATING#ID kirim ke no tujuan yang telah ditentukan g. Lalu pesan tadi disimpan ke dalam Database h. Jika kondisinya memenuhi (True), maka akan dihadapkan pada dua kondisi yang benar, yaitu 1.INFO#PASSGRADE, 2.INFO#RATING#ID i. Jika kondisi 1 benar(True), maka sistem akan menjalankan proses pada halaman berikutnya yaitu mendapatkan nilai passing grade sementara. j. Jika format 1 salah (False), maka sistem akan mengecek pola kesalahannya. Pola kesalahan pada kondisi 1 ada 2 macam yaitu: INFO, INFO#. Jika salah satu kondisi kesalahan tersebut terpenuhi maka sistem akan menjawab dengan format kesalahan yang sudah ditentukan yaitu jawab kesalahan 1. k. Jika format 2 benar(True), maka akan dilanjutkan pada halaman berikutnya yaitu mendapatkan informasi tentang rating. l. Jika format 2 salah(False), maka sistem akan mengecek pola kesalahannya. Pola kesalahan pada format 2 ada 4 macam yaitu: INFO, INFO#, INFO#RATING# ,INFO#RATING#ID_Salah,. Jika salah satu kondisi kesalahan tersebut terpenuhi maka sistem akan menjawab dengan format kesalahan yang sudah ditentukan yaitu kirim Jawab kesalahan 1(untuk INFO, INFO#), Kirim Jawab kesalahan 2(untuk
43
INFO#RATING#), Kirim Jawab Kesalahan 3(untuk INFO#RATING#ID_Salah) m. Kemudian jawaban kesalahan tersebut disimpan kedalam database.
Flowchart Info Passing Grade dan Rating Menjelaskan tentang format jawaban sms yang benar dari format “INFO#PASSGRADE” dan “INFO#RATING#ID” kemudian mengirimkannya ke calon siswa yang bersangkutan.
44
A1
M a s u k a n S trin g n a m a s e k o la h d a n n ila i p a s s in g g ra d e ta h u n la lu d a ri ta b e l d a ta s e k o la h
P e n g a m b ila n n a m a s e k o la h d a n n ila i p a s s in g g ra d e ta h u n la lu p a d a ta b e l d a ta s e k o la h
B 2
M a s u k a n S tr in g n a m a s e k o la h d a n n ila i Q u o ta d a ri ta b e l d a ta s e k o la h
P e n g a m b ila n n a m a s e k o la h d a n p a d a ta b e l d a ta s e k o la h
q u o ta
K e lu a r a n b e r u p a N a m a S e k o la h d a n q u o ta
M a s u k a n N ila i P a s s in g G ra d e
K e lu a ra n b e ru p a N a m a S e k o la h d a n n ila i p a s s in g g ra d e ta h u n la lu M a s u k a n N ila i P a s s in g G ra d e ,Q u o ta d a ri ta b e l s is w a ,d a ta s e k o la h
P e n g u r u t a n r e c o r d p a s s ig n G r a d e d a r i ta b e l s is w a s e c a r a D e s c + I= I+ 1 u n tu k m e n e tu k a n r a t in g c a lo n s is w a
K e lu a r a n b e r u p a N ila i P a s s in g g r a d e y a n g s u d a h d i u r u t k a n d a n d ik a s ih p e r in g k a t
M a s u k a n I D S is w a t a b e l S is w a
P e n g u ru ta n re c o rd p a s s ig n G ra d e d a ri ta b e l s is w a s e c a ra D e s c d a n a m b il n ila i te ra k h ir b e rd a s a rk a n Q u o ta
K e lu a ra n b e ru p a n ila i P a s s in g G ra d e s e m e n ta ra
d a ri
P e n g h it u n g a n ju m la h c a lo n s is w a d a f ta r p a d a t a b e l S is w a
K e lu a r a n b e r u p a N ila i ju m la h c a lo n S is w a y a n g d a fta r
M a s u k a n H a s il d a r i k e k e lu a r a n d i a ta s
M a s u k a n H a s il d a ri k e 2 k e lu a ra n d i a ta s
P e n y u s u n a n fo rm a t ja w a b a n P a s s in g G ra d e d a ri k e 2 k e lu a ra n p ro s e s d ia ta s
P e n y u s u n a n f o r m a t ja w a b a n a ta u p e r in g k a t
3
R a t in g
H a s il a k h ir y a n g a k a n d ik ir im a k a n le w a t s m s
S im p a n
H a s il a k h ir y a n g a k a n d ik irim a k a n le w a t s m s
y a n g
K e
D B
S e le s a i
S im p a n K e D B
S e le s a i
Gambar 3: A1 Info Passing grade; A2 Info Rating
45
Keterangan A1: A1: Masukan berupa nilai true dari proses auto replay pada format SMS (INFO#PASSGRADE) Penjelasan : Proses mendapatkan nilai passing grade sementara diawali dengan proses pengambilan string nama sekolah dan nilai passing grade tahun lalu pada tabel data sekolah yang nantinya akan menghasilkan keluaran pertama berupa string nama sekolah dan nilai passing grade tahun lalu dari sekolah yang bersangkutan. Masukan nilai passing grade dan quota dari tabel data calon siswa dan data sekolah secara otomatis. Kemudian Nilai passing grade dan quota diproses yaitu nilai passing grade di urutkan secara descending kemudian diambil nilai terakhir berdasarkan quota yang sudah ditentukan pada tabel data sekolah maka akan diperoleh keluaran berupa nilai passing grade sementara. Proses selanjutnya, masukan keluaran berupa nama sekolah dan passing grade sementara kemudian lakukan proses penyusunan format jawaban, maka keluarannya adalah “passing grade tahun lalu ‘nama_sekolah’ adalah ‘nilai_passing_grade_tahun_lalu’ passing grade sementara saat ini adalah ‘get_passinggrade_sementara’ ” kemudian format jawaban sms ini dikirimkan kepada calon siswa yang bersangkutan yaitu yang mengirimkan sms selanjutnya format jawaban tersebut disimpan kedalam data base. Keterangan B1: B2 : Masukan berupa nilai True dari proses Auto Replay pada format SMS (INFO#RATING#ID) Penjelasan : Proses mendapatkan rating atau peringkat diawali dengan proses pengambilan string nama sekolah dan nilai quota pada tabel data sekolah yang nantinya akan menghasilkan keluaran pertama berupa string nama sekolah dan nilai quota dari sekolah yang bersangkutan. Masukan nilai passing grade dari tabel data calon siswa secara otomatis. Kemudian Nilai passing grade diproses yaitu nilai passing grade di urutkan secara descending kemudian ditambah I=I+1 untuk
46
menentukan rating atau peringkat maka akan diperoleh keluaran berupa nilai passing grade yang sudah di urutkan dan dikasih peringkat. Langkah selanjutnya yaitu masukan ID_Siswa dari tabel siswa, masukan ini digunakan untuk proses penghitungan jumlah calon siswa yang daftar pada sekolah yang bersangkutan, keluarannya berupa jumlah calon siswa yang daftar. Langkah berikutnya yaitu memasukan ketiga keluaran diatas, ketiga keluaran tersebut digunakan untuk proses penyusunan format jawaban rating atau peringkat, keluarannya berupa “Saat ini anda menduduki rating ke ‘nilai rating’ dari ‘nilai_jumlah_calon_siswa’ calon siswa yang daftar Quota ‘nama_sekolah’ adalah ‘GetQuota’ ”. kemudian format jawaban sms ini dikirimkan kepada calon siswa yang bersangkutan yaitu yang mengirimkan sms selanjutnya format jawaban tersebut disimpan kedalam database Berikut adalah listing program yang digunakan untuk membalas SMS secara otomatis sesuai dengan format yang sudah ditentukan Private Sub BalasSMS(ByVal noPhone$, ByVal Isi$) 'On Error GoTo out Dim Rs As New ADODB.Recordset Dim RsPassG As New ADODB.Recordset Dim RsRating As New ADODB.Recordset Dim pSms() As String Dim sOUT$ Dim Cek As Boolean: Cek = False 'Kondisi untuk mengecek keberadaan kata depan Dim i As Integer Dim DefaultJawab$: DefaultJawab = "Ketik : " + _ " 1.INFO#PASSGRADE" + _ "; 2.INFO#RATING%ID" + _ " Kirim ke " & NoTelepon & "" If InStr(1, Isi, "#") >= 1 Then 'Jika mengandung karakter unsur kres '#'
47
pSms = Split(Isi, "#") If UCase$(Left(pSms(0), 4)) = "INFO" Then 'Jika kata pertama adalah "INFO" If CStr(pSms(1)) = "" Then sOUT = DefaultJawab ElseIf UCase$(CStr(pSms(1))) <> "PASSGRADE" And _ UCase$(CStr(pSms(1))) <> "RATING" Then 'Jika kata kedua bukan _"PASSGRADE" dan bukan "RATING" sOUT = DefaultJawab ElseIf UCase$(CStr(pSms(1))) = "PASSGRADE" Then 'Jika kata kdeua adalah "PASSGRADE" Set RsPassG = Conn.Execute("SELECT * FROM DataSekolah") If Not RsPassG.EOF Then sOUT = "Passing Grade Tahun Lalu" & RsPassG.Fields("Nama_Sekolah") & " adalah " & RsPassG.Fields("PassGrade") & _ " Pass Grade sementara saat ini adalah " & getPassGradeSementara End If ElseIf UCase$(CStr(pSms(1))) = "RATING" Then 'Jika kata kedua adalah _ "RATING" If UBound(pSms) = 1 Then 'Jika hanya sampai kata kedua(tidak ada kelanjutannya) sOUT = "Pola yang Anda masukan salah!.. Ketik : INFO#RATING#ID (c/h:INFO#RATING#SB004) kirim ke " & NoTelepon & "" ElseIf UBound(pSms) = 2 And Trim$(pSms(2)) = "" Then 'Kata ketiga kosong(hanya ada tanda # saja) sOUT = "Pola yang Anda masukan salah!.. Ketik : INFO#RATING#ID (c/h:INFO#RATING#SB004) kirim ke " & NoTelepon & "" ElseIf UBound(pSms) = 2 And Trim$(pSms(2)) <> "" Then 'Kata ketiga ada Set RsPassG = Conn.Execute("SELECT * FROM DataSekolah")
48
Set RsRating = Conn.Execute("SELECT * FROM Siswa ORDER BY PASSGRADE DESC") If Not RsRating.EOF Then 'Jika Id ditemukan dlm database For i = 0 To RsRating.RecordCount - 1 'Berulang sebanyak jumlah siswa If UCase$(Trim$(RsRating.Fields("ID_Siswa"))) = UCase$(Trim$(pSms(2))) Then 'Jika sOUT = "Saat ini Anda menduduki rating ke : " & i + 1 & " dari " & RsRating.RecordCount & " Siswa yang daftar" & _ " Quota " & RsPassG.Fields("Nama_Sekolah") & " adalah " & getQuota Cek = True Exit For End If RsRating.MoveNext DoEvents Next i If Cek = False Then If Len(UCase$(Trim$(pSms(2)))) = 0 Then sOUT = "Ketikan ID untuk mengetahui rating Anda!" + vbCrLf + "Coba lakukan kirim ulang dengan ID yang benar!" Else sOUT = "ID (" & UCase$(Trim$(pSms(2))) & ") yang Anda kirimkan tidak terdaftar! Coba lakukan kirim ulang dengan ID yang benar!" End If End If End If End If End If Else sOUT = DefaultJawab End If
49
Else ' Exit Sub 'mengaktipkan pola sembarang agar tidak dijawab sOUT = DefaultJawab End If 'MsgBox sOUT 'buat ngecek program Call Mobile1.SendSMSMessage(noPhone, sOUT, 100, True, False, "") Set Rs = Conn.Execute("select * from Outbox where Tgl='" & Format(Date, "dd/mm/yyyy") & "' AND Jam='" & Format(Time, "hh:mm:ss") & "'") If Rs.EOF Then Conn.Execute ("Insert into Outbox (cek,No_HP,Tgl,Jam,Isi) values('0','" & noPhone & "','" & Format(Date, "dd/mm/yyyy") & "','" & Format(Time, "hh:mm:ss") & "','" & sOUT & "')") Else Conn.Execute ("Update Outbox set Isi='" & Isi & "',No_HP='" & noPhone & "' where Tgl='" & Format(Date, "dd/mm/yyyy") & "' AND Jam='" & Format(Time, "hh:mm:ss") & "'") End If Call GetOutbox Set RsRating = Nothing Set RsPassG = Nothing Exit Sub OK: Exit Sub out: Set RsRating = Nothing Set RsPassG = Nothing MsgBox Err.Description DoEvents End Sub Fungsi untuk mendapatkan nilai passing grade sementara
50
'----
---Public Function getPassGradeSementara() Dim Rs As New ADODB.Recordset Set Rs = Conn.Execute("SELECT Id_Siswa,PassGrade FROM Siswa WHERE Id_Siswa='" & getIDQuota & "'") If Not Rs.EOF Then getPassGradeSementara = Rs.Fields("PassGrade") End Function Public Function getIDQuota() As String Dim Rs As New ADODB.Recordset Dim RsQuota As New Recordset Dim Quota As Integer Dim temp As Integer Dim ID_Siswa As String Dim Cek As Boolean Cek = False Set RsQuota = Conn.Execute("SELECT Quota FROM DataSekolah") If Not RsQuota.EOF Then Quota = RsQuota.Fields("Quota") End If Set Rs = Conn.Execute("SELECT ID_Siswa FROM Siswa ORDER BY PassGrade desc") Do While Not Rs.EOF temp = temp + 1 If temp = Quota Then Cek = True getIDQuota = Rs.Fields("Id_Siswa") Exit Do
51
End If ID_Siswa = Rs.Fields("Id_Siswa") Rs.MoveNext Loop If Cek = False Then getIDQuota = ID_Siswa End If End Function '-------Public Function getQuota() Dim Rs As New ADODB.Recordset Set Rs = Conn.Execute("SELECT distinct Quota FROM DataSekolah ") If Not Rs.EOF Then getQuota = Rs.Fields("Quota") End Function
Penutup -
Daftar Pustaka Jogiyanto, HM. 2005. Analisis & Disain Sistem Informasi Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis. Yogyakarta: ANDI OFFSET Utami, Ema. 2005. RDBMS Using MS SQL Server 2000. Yogyakarta: NRAR.NET Publisher. Utami, Ema dan Sukrisno. 2005. Konsep Pengolahan dan Pemrograman Database dengan SQL Server, Ms.Access dan Ms.Visual Basic. Yogyakarta: ANDI OFFSET
52
Rosidi, Romzi Imron. 2004. Membuat Sendiri SMS Gateway Berbasis Protokol SMPP. Yogyakarta: ANDI OFFSET Budicahyanto, Dwi. 2004. Membangun Aplikasi Handphone dengan MobileFBUS dan Visual Basic. Yogyakarta: ANDI OFFSET Pohan, I. Husni, Bahri, S. Kusnasriyanto. 1997. Pengantar Perancangan Sistem. Jakarta: Penerbit Erlangga http://www.planetsourcecode.com, diakses tanggal 2 September 2007. http://www.vb-bego.com, diakses tanggal 12 Oktober 2007.
53