• Tidak ada hasil yang ditemukan

LAYANAN INFORMASI LETAK FASILITAS UMUM KOTA YOGYAKARTA VIA SMS (Short Messages service)

N/A
N/A
Protected

Academic year: 2019

Membagikan "LAYANAN INFORMASI LETAK FASILITAS UMUM KOTA YOGYAKARTA VIA SMS (Short Messages service)"

Copied!
88
0
0

Teks penuh

(1)

KOTA YOGYAKARTA

VIA SMS (

Short Messages service

)

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Jurusan Teknik Informatika

Disusun Oleh :

Nama : Ony Purba Kesuma

NIM : 015314072

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

INFORMATION SERVICE

VIA SMS (

Short Messages service

)

FINAL PROJECT

Presented as Partial Fulfillment of the Requirements to Obtain the Sarjana Teknik Degree Department

of Informatics Technology

Disusun Oleh :

Nama : Ony Purba Kesuma

NIM : 015314072

DEPARTMENT OF INFORMATICS TECHNOLOGY

FACULTY OF ENGINEERING

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)
(4)
(5)

HALAMAN PERSEMBAHAN

Karya Ini Kupersembahkan untuk

mereka yang ku cintai dan kasihi

Tuhan Allah dan Putra dan Roh Kudus

Bapak-ku Dan Ibu-ku

Kakak-ku

Dan Orang-orang Disekitar-ku

(6)

HALAMAN MOTTO

Berjuanglah dengan semangat yang keras dan kamu akan

mendapakan apa yang kamu inginkan

Jangan melakukan pekerjaan karena terpaksa, lakukanlah

dengan ketulusan hati

Lakukanlah apa yang seharusnya kamu lakukan sekarang dan

jangan pernah menundanya

Biarlah kita jatuh, namun bagai mana kita dapat mengurangi

rasa sakit yang kita alami

dan dapat kembali berdiri lagi dengan tegak

(7)

KEASLIAN KARYA

Saya menyatakan dengan ini, bahwa sesungguhnya skripsi yang telah saya susun dan dipertahankan di depan Panitia Penguji ini, tidak memuat atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 8 Agustus 2007

Penulis

(8)

KATA PENGANTAR

Penulis ucapkan puji syukur kepada Tuhan Yang Maha Kuasa yang telah melimpahkan berkat-Nya sehingga penulis dapat menyelesaikan pendidikan, dan penelitian serta penulisan tugas akhir ini dengan baik.

Tugas akhir ini dapat disusun dan diselesaikan juga atas dukungan dan bantuan dari berbagai pihak. Pada kesempatan ini, penulis ingin mengucapkan terima kasih banyak kepada pihak-pihak yang telah memberikan bimbingan, petunjuk, kerjasama, kritikan, maupun saran:

1. Bapak Agung Hernawan, S.T., dan Ibu Ridowati Gunawan, S.Kom., M.T., selaku dosen pembimbing.

2. Ir. Gregorius Heliarko SJ, SS, BST, MA, M.Sc., selaku Dekan Fakultas

Teknik Universitas Sanata Dharma.

3. Ibu A.M. Polina, M.Sc. selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma.

4. Bapak Agung Hernawan, S.T., Ibu Ridowati Gunawan, S.Kom., M.T., Bapak Stevanus Wijaya, ST., Anastasia Rita Widiarti, S.Si., M.Kom, selaku panitia penguji pada ujian pendadaran penulis.

5. Kedua orang tua penulis serta kakak penulis, yang selalu berdoa kepada Tuhan, memberikan dorongan dan semangat untuk menyelesaikan kuliah ini. 6. Seluruh Staf dan dosen pengajar di Universitas Sanata Dharma pada umumnya

dan Jurusan Teknik Informatika pada khususnya.

7. Narko “Gasong”, yang selalu membantu, membimbing, dengan segenap hati kepada penulis dalam menyelesaikan tugas akhir ini.

8. Sigit MS, terima kasih untuk semuanya.

9. Keluarga besar Pak Darno dan Bu Wiji, Dani, Wulan, Tika, dan Bagus.

(9)

11.Keluarga besar BFF, Danang ‘bogel’, Joko ‘bolot’, Gunawan ‘sodom’, Eko ‘kodok’, Dhani ‘kancil’, Afik ‘goupur’, Edi ‘otong’, Ardi ‘daan’, Jun. Terimakasih atas persahabatan dan kebersamaannya selama ini.

12.Adrianus Mado,S.T., Damianus S, S.T., Anand Silaonang (makasih untuk kertasnya), Sigit Giant S.T, Ucok Firdaus (makasih untuk cd linux-nya dan buku-bukunya), makasih untuk kebersamaanya selama ini dan juga yang telah memberikan semangat agar cepat lulus.

13.Vivi, yang selalu membantu untuk menyelesaikan tugas akhir.

14.Christine S.T, Bali Nita, Vindi, Desni S.T, Tiwi, Robin S.T, Yakob, Wahyu S.T, Theo S.T, Tanto, Danu, Andi, Tria, Ida, Heni, Ema, Tio, Grace Cempluk, Grace ‘Unyil’, Indra, Nia, Willy, Mario dan Angel, semangat-semangat.

15.Teman – teman TI’01, yang gak bisa disebutin satu persatu. Lanjutkan perjuangan kalian ya.

16.Anak-anak kost “Bu Siti”, Wiwin Agus, Sigit PTK ,Wahyu Gentho, Nathan, Ervan, terima kasih untuk semuanya.

Akhir kata, penulis berharap bahwa skripsi yang masih jauh dari sempurna ini dapat bermanfaat bagi pihak yang membutuhkannya, khususnya di kalangan USD. Semoga skripsi ini dapat memberikan inspirasi dan sumbangan ilmu pengetahuan.

Yogyakarta, Agustus 2007

Ony Purba Kesuma

(10)

DAFTAR ISI

HALAMAN JUDUL...………...i

HALAMAN PERSETUJUAN…...…….……….ii

HALAMAN PENGESAHAN...………....iii

HALAMAN PERSEMBAHAN...……….iv

HALAMAN MOTTO...………...v

KEASLIAN KARYA ...………...vi

ABSTRAKSI...………...vii

ABSTRACT...………...viii

KATA PENGANTAR...………...ix

DAFTAR ISI...……….…..xi

DAFTAR GAMBAR...………...xiv

DAFTAR TABEL...………...xvii

BAB I Pendahuluan ………1

1.1Latar Belakang Masalah………...1

1.2Rumusan Masalah..………...2

1.3Batasan Masalah.……….………..2

1.4Tujuan Penulisan...………2

1.5Manfaat Penulisan...………3

1.6Metodologi Penelitian .……….3

1.7Sistematika Penulisan………....4

BAB II Landasan Teori………5

2.1 Siatem Informasi………...………5

2.2 Use Case Diagram...…………..………5

2.3 ERD ( Entity Relationship Diagram )...7

2.4 DFD ( Data Flow Diagram )...11

2.5 SMS dan SMS Gaateway...12

2.6 Kannel...13

2.7 PHP (Personal Home Page)...19

(11)

BAB III Analisis dan Perancangan Sistem...23

3.1 Analisa Sistem...23

3.1.1 Gambaran Umum Sistem...23

3.1.2 Desain Arsitektur...23

3.1.3 Desain Aplikasi SMS...25

1. Proses Aplikasi Kannel...25

2. Proses Aplikasi smsbalikuser.php...26

3. Proses Aplikasi updatesms.php...27

3.1.4 Requirement Analysis...29

3.1.4.1 Use Case Diagram...29

3.1.5 Logical Design...30

3.1.5.1.1 Proses Modeling...30

3.1.5.1.2 Context Diagram...30

3.1.5.1.3 Bagan Berjenjang...31

3.1.5.1.4 Overview Diagram...32

3.1.5.1.5 Data Modeling...36

3.2 Disain Sistem...37

3.2.1 Disain Database...37

3.2.2 Relasi Antar Tabel...40

3.2.3 Disain Input...41

3.2.3.1 Disain Input Super Admin...41

3.2.3.1 Disain Input Admin...42

3.2.4 Disain Output...45

3.2.3.1 Disain Output Super Admin...45

3.2.3.1 Disain Output Admin...46

BAB IV Implementasi...50

4.1 Kebutuhan Sistem...50

4.2 Konfigurasi Kannel...51

4.3 Proses Aplikasi SMS...53

(12)

4.3.1.1 Sms masuk...53

4.3.1.2 Sms keluar...53

4.3.2 Updatesms.php...54

4.3.3 Smsbalikuse.php...57

4.4 Aplikassi Web...58

4.4.1 Proses Tambah...58

4.4.2 Proses Ubah...59

4.4.3 Proses Hapus...60

4.4.4 User Interface...62

BAB V Analisis Dan Hasil Implentasi...67

5.1 Hasil Pengujian Sistem...67

5.1.1 Pengujian Melalui SMS...67

5.1.2 Pengujian Melalui Web...69

5.2 Kelebihan Sistem...70

5.3 Kekurangan Sistem...70

BAB VI Analisis Dan Hasil Implentasi...71

6.1 Kesimpulan...71

6.2 Saran...71

(13)

DAFTAR GAMBAR

Gambar Keterangan Halaman

2.1 Simbol Use Case 6

2.2 Simbol Aktor 6

2.3 Contoh dari E-R Diagram 7

2.4 Contoh dari Entity 7

2.5 Contoh dari Atribut 8

2.6 Contoh dari identifier atau key 9

2.7 Contoh dari Relasi 9

2.8 Notasi dari Cardinality 10

2.9 Simbol Proses menurut Gane dan Sarson 11

2.10 Simbol dari arus data 11

2.11 Simbol kesatuan luar menurut Gane dan Sarson 12

2.12 Simbol penyimpanan data menurut Gane dan Sarson 12

2.13 cara kerja PHP 20

3.1 Gambar desain arsitektur 23

3.2 Gambar desain arsitektur server 24

3.3 flow chart kannel 25

(14)

3.7 Use Case Diagram 29

3.8 Context Diagram 30

3.9 Bagan berjenjang 31

3.10 Overview diagram 32

3.11 Overview diagram level 1 proses 2 33

3.12 Overview diagram level 1 proses 3 34

3.13 Overview diagram level 1 proses 35

3.14 ER Diagram 36

3.15 Relasi antar tabel 40

3.16 desain input login 41

3.17 desain halaman input data admin 41

3.18 desain halaman input data user 42

3.19 desain halaman perintah 42

3.20 desain halaman detail perintah 43

3.21 desain halaman send sms 43

3.22 output halaman admin 45

3.23 output halaman user 46

3.24 output halaman perintah 46

3.25 output halaman detail perintah 47

3.26 output halaman inbox 47

3.27 output halaman detail perintah 48

(15)

3.29 output halaman sent item admin 49

4.1 halaman login 62

4.2 halaman data admin 62

4.3 halaman data user 63

4.4 halaman perintah 63

4.5 halaman detail perintah 64

4.6 halaman inbox 64

4.7 halaman inbox admin 65

4.8 halaman sent item user 65

4.9 halaman sent item admin 66

(16)

DAFTAR TABEL

Table Keterangan Halaman

3.1 Tabel Input Output Proses Modeling 30

3.2 Tabel admin 37

3.3 Tabel user 37

3.4 Tabel perintah 37

3.5 Tabel detail_perintah 38

3.6 Tabel inbox 38

3.7 Tabel inbox_admin 38

3.8 Tabel sent_item_user 39

3.9 Tabel sent_item_admin 39

3.10 tabel desain input sms untuk admin 44

3.11 tabel sintaks penulisan sms untuk admin 44

3.12 tabel desain penulisan sms untuk 44

3.13 tabel sintaks penulisan sms untuk user 45

3.14 Tabel output sms untuk admin 46

4.15 Tabel output sms untuk user 47

5.1 output input user yang terdaftar 67

5.2 output input User yang sisa dananya tidak mencukupi 68

5.3 output input User yang tidak terdaftar 68

5.4 output input Admin yang terdaftar 68

(17)

1.1Latar Belakang Masalah

Yogyakarta sebagai kota besar menyediakan berbagai macam layanan dan

fasilitas umum untuk mencukupi kebutuhan warganya. Terdapat banyak fasilitas

umum di kota Yogyakarta misalnya: rumah sakit, tempat parwisata, pom bensin,

hotel, pasar, sekolah dll. Keberadaan fasilitas-fasilitas layanan publik tersebut,

tersebar di berbagai tempat dan membutuhkan adanya pengelolaan sistem

informasi sehingga warga dan pendatang yang membutuhkan pelayanan dapat

mengakses dengan lebih cepat.

Kebutuhan untuk mengakses informasi mengenai letak fasilitas publik

secara cepat mendorong pembangunan suatu layanan informasi yang efektif dan

efisien. Salah satu cara yang dapat dipakai adalah layanan pesan singkat (short

messages service SMS). Layanan informasi dalam bentuk sms dinilai cukup

efektif karena saat ini sebagian besar orang sudah memiliki telepon selular

(handphone).

Saat ini teknologi untuk membangun sms gateway sudah banyak, salah satunya ialah menggunakan kannel. Kannel adalah sebuah program yang dapat bekerja sebagai SMS gateway untuk GSM modem, dimana telpon GSM dapat

(18)

1.2Rumusan Masalah

Dari latar belakang di atas dapat dirumuskan suatu permasalahan yaitu:

Bagaimana menerapkan teknologi kannel pada layanan informasi letak fasilitas umum kota Yogyakarta melalui layanan pesan singkat (SMS).

1.3Batasan Masalah

1. Hanya untuk menangani informasi letak fasilitas umum kota Yogyakarta

berupa alamat dan no telpon. Kategori yang akan dibuat dalam skipsi ini

adalah kategori hotel, rumah sakit, dan stasiun. Untuk kategori yang lain

nantinya dapat ditambah oleh admin melalui web atau melalui sms. 2. Update yang dilakukan lewat sms hanya untuk tambah perintah, tambah

detail perintah, tambah user, ubah user, hapus user.

3. Layanan ini hanya diberlakukan bagi semua nomor yang telah terdaftar.

4. Informasi yang di terima oleh pengguna berupa teks.

5. Untuk masalah keamanan sistem, tidak dibahas dalam skripsi ini.

1.4Tujuan Penelitian

Menerapkan teknologi kannel sebagai sms gateway pada implementasi layanan informasi letak fasilitas umum kota Yogyakarta melalui layananpesan

(19)

1.5Manfaat Penelitian

Memberikan kemudahan bagi pihak-pihak yang membutuhkan informasi

mengenai letak fasilitas umum di kota Yogyakarta secara cepat

1.6 Metodologi Penelitian

Metode penelitian yang digunakan adalah :

1. Studi literatur

Mengumpulkan data dan informasi yang sesuai dengan permasalahan

yang akan dikerjakan melalui buku-buku, internet dan informasi yang

sesuai dengan system yang akan dibuat.

2. Identifikasi masalah

Menggunakan teknik antara lain :

a. Pengamatan (observasi) : pengumpulan data dan pengamatan langsung di kantor pemerintahan kota yogyakarta.

b. Wawancara (interview) : cara memperoleh keterangan untuk tujuan penelitian dengan cara tanya jawab secara langsung dengan

pemerintah kota Yogyakarta.

3. Menganalisa sistem dan merancang sistem yang akan dibangun.

4. Implementasi sistem

Implementasi sistem berbasis SMS ini dibuat menggunakan program

(20)

1.7 Sistematika Penulisan

Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Bab I membahas mengenai latar belakang masalah, rumusan masalah,

batasan masalah, tujuan dan manfaat penelitian, metode penelitian dan

sistematika penulisan.

BAB II LANDASAN TEORI

Bab II berisi tentang acuan-acuan yang mendukung pokok pembahasan

penulisan ini.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab III berisi analisa sistem yang ada dan gambaran mengenai

perancangan sistem yang akan dibuat. Metode penulisan menggunakan

pendekatan tersruktur.

BAB IV IMPLEMENTASI PERANGKAT LUNAK

Bab IV berisi tentang penjelasan rinci mengenai proses implementasi

perangkat lunak sesuai dengan analisa dan rancangan yang

dikembangkan.

BAB V ANALISA HASIL PERANGKAT LUNAK

Bab V berisi tentang analisa perangkat lunak yang telah

diimplementasikan.

BAB VI PENUTUP

(21)

2.1 Sistem Informasi

Sistem informasi dapat didefinisikan sebagai sebuah sistem di dalam suatu

organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi,

media, prosedur-prosedur dan pengendalian yang ditujukan untuk mendapatkan

jalur komunikasi penting. Sistem informasi memproses tipe transaksi rutin

tertentu, memberi sinyal kepada manajemen dan yang lainnya terhadap

kejadian-kejadian internal dan eksternal yang penting dan menyediakan suatu dasar

informasi untuk pengambilan keputusan( Jogiyanto,2001 ).

Sistem informasi terdiri dari komponen-komponen yang disebut dengan

istilah blok bangunan ( building block ). Blok bangunan tersebut terdiri dari blok masukan( input block ), blok model( model block ), blok keluaran( output block ) dan blok teknologi( technology block ), blok basis data( database block ) dan blok kendali( control block ). Sebagai suatu sistem, keenam blok tersebut masing-masing saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan

untuk mencapai sasarannya( Jogiyanto, 2001 ).

2.2 Use Case Diagram

(22)

horizontal dan nama dari use case yang tertera di atas, di bawah atau di dalam elips. Gambar 2.1 di bawah ini merupakan simbol use case:

Simbol Use case

Gambar 2.1. Simbol Use Case

Actor merupakan segala sesuatu yang dibutuhkan untuk berinteraksi dengan sistem untuk mengubah informasi. Actor dapat berupa orang, organisasi atau

sistem informasi yang lain atau juga suatu waktu kejadian. Gambar 2.2 di bawah

ini merupakan simbol dari actor:

Simbol Actor

Gambar 2.2. Simbol Aktor

(23)

2.3 ERD (Entity Relationship Diagram)

ERD merupakan sebuah data model yang memanfaatkan beberapa notasi

untuk menggambarkan data dalam entity dan relasi yang dijelaskan oleh data. Data model adalah sebuah teknik untuk mengorganisasikan dan

mendokumentasikan data dari sistem. Juga disebut dengan database modeling. Gambar 2.3 di bawah ini merupakan contoh E-R diagram

Gambar 2.3. Contoh dari E-R Diagram

Entity adalah sebuah kumpulan dari orang, tempat, objek, kejadian atau konsep yang diperlukan untuk menyimpan data. Nama entity berupa kata benda tunggal (singular noun). Gambar 2.4 merupakan contoh dari entity student

(24)

Atribut merupakan sebuah properti yang deskriptif atau karakteristik dari sebuah

entity. Sinonimnya adalah element, property, dan field. Gambar 2.5 merupakan contoh dari atribut student

Gambar 2.5 Contoh dari Atribut

Key merupakan sebuah atribut atau kelompok atribut yang diasumsikan memiliki nilai yang unik untuk setiap instance. Sering juga disebut dengan identifier.

1. Concatenated key merupakan sekelompok atribut yang memiliki identitas instance dari sebuah entity yang unik Sinonimnya composite key dan compound key.

2. Candidate key merupakan satu dari nilai key yang akan berfungsi sebagai primary key dari sebuah entity. Sinonimnya adalah candidate identifier

3. Primary key merupakan sebuah candidate key yang paling umum digunakan untuk mengidentifikasikan secara unik instance dari entity

(25)

4. Alternate key merupakan sebuah candidate key yang tidak dapat dipilih untuk menjadi primary key. Sinonimnya adalah secondary key.

Gambar 2.6 merupakan contoh dari identifier atau key

Gambar 2.6. Contoh dari identifier atau key

Relationship adalah sebuah asosiasi bisnis normal yang ada antara satu atau lebih

entity. Relasi mungkin juga mewakili suatu kejadian yang menghubungkan antara

entity atau logika gabungan antara entity. Gambar 2.7 merupakan contoh dari relasi

Student

Is being studied by is enrolled in

Curriculum

Gambar 2.7. Contoh dari Relasi

Cardinality merupakan minimum dan maksimum kejadian dari sebuah entity yang

(26)

adalah bidirectional maka cardinality haru didefinisikan pada kedua direction

untuk setiap relasi. Gambar 2.8 merupakan notasi dari cardinality.

Gambar 2.8. Notasi dari Cardinality

Foreign key adalah sebuah primary key dari sebuah entity yang digunakan oleh

entity yang lain untuk mengidentifikasikan instance dari sebuah relasi.

Nonspecific relationship merupakan relasi dimana banyak instance dari sebuah

entity berasosiasi dengan banyak instance dari entity yang lainnya. Disebut juga dengan relasi many-to-many relationship. Nonspecific relationship harus diselesaikan. Kebanyakan dari nonspecific relationship diselesaikan dengan sebuah associative entity.

Key-base data model bertujuan untuk mengeliminasikan nonspecific relationship jika ada, menambah asosiatif entity termasuk primary dan alternate key, dan

kardinalitas yang tepat.

(27)

2.4DFD (Data Flow Diagram)

Data Flow Diagram merupakan sebuah model proses yang digunakan untuk mengambarkan aliran dari data yang melalui sebuah system dan proses

yang dibentuk oleh sistem.

DFD terdiri dari 4 buah simbol yaitu :

1. Proses (Process)

Proses adalah kerja yang dilakukan oleh sistem dalam merespon arus data

yang datang atau suatu kondisi.

Gambar 2.9 merupakan simbol proses menurut Gane dan Sarson :

Nama Proses

Gambar 2.9 Simbol Proses menurut Gane dan Sarson

2. Arus data (Data Flow)

Arus data adalah data sebagai masukan ke proses atau keluaran dari

sebuah proses.

Gambar 2.10 merupakan simbol dari arus data :

Gambar 2.10 Simbol dari arus data

Arus data adalah data yang bergerak.

Arus data juga digunakan untuk mewakili creation, reading, deleting, atau

updating dari data dalam file atau database (disebut datastore atau penyimpanan data).

(28)

3. Kesatuan Luar (External Agent).

Kesatuan luar adalah orang, unit organisasi, sistem atau organisasi luar

yang berinteraksi dengan sistem. Disebut juga dengan external entity.

Gambar 2.11 merupakan simbol kesatuan luar menurut Gane dan Sarson :

Gambar 2.11 Simbol kesatuan luar menurut Gane dan Sarson Nama

kesatuan luar

4. Penyimpanan data (Data Store)

Penyimpanan data digunakan untuk menyimpan data hasil proses maupun

menyediakan data untuk diproses. Sinonim dengan file dan database.

Gambar 2.12 merupakan simbol penyimpanan data menurut Gane dan

Sarson

Gambar 2.12 Simbol penyimpanan data menurut Gane dan Sarson

Penyimpanan data

2.5 SMS dan SMS Gateway

SMS ( Short Messages service ) adalah sebuah teknologi dimana kita dapat mengirimkan pesan singkat antara handphone dengan handphone yang lain. SMS Gateway merupakan pintu gerbang bagi penyebaran Informasi dengan menggunakan SMS. Anda 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 anda karena

(29)

Selain itu, dengan adanya SMS Gateway anda 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.

Untuk kebutuhan SMS Gateway tidak terlalu belebihan dan juga fleksibel karena bisa dibuat dengan PC maupun Notebook. Yang mutlak dibutuhkan adalah

sebuah komputer, sebuah ponsel dengan kabel data ( Kabel berantarmuka serial

yang dapat menghubungi ponsel dengan PC ) atau dapat munggunakan InfraRed

dan piranti lunak sebagai SMS Gateway. Untuk menggunakan InfraRed anda membutuhkan sebuah ponsel yang juga memiliki fasilitas tsb, tapi tidak

dianjurkan untuk kebutuhan SMS gateway karena komunikasi dengan InfraRed tidak terlalu baik jika tergeser gampang putus.

2.6Kannel

Kannel adalah oppen source WAP gateway. Kannel juga dapat bekerja

sebagai SMS gateway untuk jaringan GSM. Semua telpon GSM dapat menerima

dan mngirim pesan.

Telpon seluler yang dapat bekerja di kannel adalah wavecom, premicell,

siemens (c 35, m20, sl45), nokia phone, falcom, ericsson (R520m, t68),

sonyericsoon (gr47, T630-T628), alcatel. Berikut konfigurasinya : group = modems

id = wavecom name = Wavecom

(30)

group = modems id = premicell name = Premicell

detect-string = "PREMICEL" no-pin = true

no-smsc = true

group = modems id = premicell name = Premicell

detect-string = "PREMICEL" no-pin = true

no-smsc = true

group = modems id = siemens_tc35 name = "Siemens TC35" detect-string = "SIEMENS" detect-string2 = "TC35"

init-string = "AT+CNMI=1,2,0,1,1" speed = 19200

enable-hwhs = "AT\\Q3" need-sleep = true

group = modems id = siemens_m20 name = "Siemens M20" detect-string = "SIEMENS" detect-string2 = "M20" speed = 19200

enable-hwhs = "AT\\Q3"

keepalive-cmd = "AT+CBC;+CSQ" need-sleep = true

group = modems id = siemens_sl45 name = "Siemens SL45" detect-string = "SIEMENS" detect-string2 = "SL45"

init-string = "AT+CNMI=1,2,2,2,1" keepalive-cmd = "AT+CBC;+CSQ" speed = 19200

enable-hwhs = "AT\\Q3" need-sleep = true message-storage = "SM"

group = modems id = nokiaphone name = "Nokia Phone"

detect-string = "Nokia Mobile Phone" need-sleep = true

keepalive-cmd = "AT+CBC;+CSQ" enable-mms = true

(31)

name = "Falcom"

detect-string = "Falcom" #no-smsc = true

group = modems id = ericsson_r520m name = "Ericsson R520m" detect-string = "R520m"

init-string = "AT+CNMI=3,2,0,0"

group = modems id = ericsson_t68 name = "Ericsson T68" detect-string = "T68"

init-string = "AT+CNMI=3,3" keepalive-cmd = "AT+CBC;+CSQ" broken = true

group = modems

id = sonyericsson_gr47 name = "Sony Ericsson GR47" detect-string = "GR47" message-storage = "ME"

# use this init-string for non sim-buffering init-string = "AT+CNMI=3,2,0,0"

# use this init-string for sim-buffering #init-string = "AT+CNMI=3,1,0,0"

reset-string = "ATZ" broken = true

group = modems id = alcatel name = "Alcatel"

detect-string = "Alcatel"

init-string = "AT+CNMI=3,2,0,0"

group = modems

id = sonyericsson_T630-T628 name = "Sony Ericsson T630-T628?

init-string = "AT+CNMI=2,3,2,0,0;+CMGF=0? keepalive-cmd = "AT+CBC;+CSQ;+CMGF=0? broken = true

Konfigurasi sms kannel terdapat di smskannel.conf dimana file ini terletak

pada folder gw, berikut ini isi dari file smskannel.conf:

#

# THIS IS A SAMPLE CONFIGURATION FOR SMS KANNEL #

(32)

# send messages which are replied with simple fixed text message.

# It is run like this: #

# 1% gw/bearerbox gw/smskannel.conf # 2% gw/smsbox gw/smskannel.conf

# 3% test/fakesmsc -i 0.1 -m 100 "123 345 text nop" #

# ..all 3 commands in separate shells (or screen sessions) # Note that you can run them in different machines but have to

# add certain command line argument and configuration variables then

# #

# For any modifications to this file, see Kannel User Guide # If that does not help, see Kannel web page

(http://www.kannel.org) and

# various online help and mailing list archives #

# Notes on those who base their configuration on this: # 1) check security issues! (allowed IPs, passwords and ports)

# 2) groups cannot have empty rows inside them! # 3) read the user guide

#

# Kalle Marjola for Kannel project 2001, 2004

#--- # CORE

#

# There is only one core group and it sets all basic settings

# of the bearerbox (and system). You should take extra notes on

# configuration variables like file' (or 'store-dir'),

# 'admin-allow-ip' and 'access.log'

group = core

admin-port = 13000 smsbox-port = 13001 admin-password = bar #status-password = foo #admin-deny-ip = "" #admin-allow-ip = ""

#log-file = "/tmp/kannel.log" #log-level = 0

box-deny-ip = "*.*.*.*" box-allow-ip = "127.0.0.1"

#unified-prefix = "+358,00358,0;+,00" #access-log = "/tmp/access.log"

#store-file = "kannel.store"

(33)

#ssl-certkey-file = "mycertandprivkeyfile.pem"

#--- # SMSC CONNECTIONS

#

# SMSC connections are created in bearerbox and they handle SMSC specific

# protocol and message relying. You need these to actually receive and send

# messages to handset, but can use GSM modems as virtual SMSCs

# This is a fake smsc connection, _only_ used to test the system and services.

# It really cannot relay messages to actual handsets!

group = smsc smsc = fake smsc-id = FAKE port = 10000

connect-allow-ip = 127.0.0.1

#--- # SMSBOX SETUP

#

# Smsbox(es) do higher-level SMS handling after they have been received from

# SMS centers by bearerbox, or before they are given to bearerbox for delivery

group = smsbox

bearerbox-host = 127.0.0.1 sendsms-port = 13013

global-sender = 13013

#sendsms-chars = "0123456789 +-" #log-file = "/tmp/smsbox.log" #log-level = 0

#access-log = "/tmp/access.log"

#--- # SEND-SMS USERS

#

# These users are used when Kannel smsbox sendsms interface is used to

# send PUSH sms messages, i.e. calling URL like #

http://kannel.machine:13013/cgi-bin/sendsms?username=tester&password=foobar...

group = sendsms-user username = tester password = foobar #user-deny-ip = "" #user-allow-ip = ""

(34)

# SERVICES #

# These are 'responses' to sms PULL messages, i.e. messages arriving from

# handsets. The response is based on message content. Only one sms-service is

# applied, using the first one to match.

group = sms-service keyword = nop

text = "You asked nothing and I did it!"

# There should be always a 'default' service. This service is used when no

# other 'sms-service' is applied.

group = sms-service keyword = default

text = "No service specified"

Untuk menjalankan kannel maka, bearerbox dan smsbox harus bekerja.

Perintah untuk menjalankan bearerbox adalah ./bearerbox –v 1 smskannel.conf

sedangkan untuk smsbox./smsbox –v 1 smskannel.conf.

Kannel memiliki beberapa parameter yang dapat digunakan untuk

mendapatkan data yang dibutuhkan yaitu:

Parameter Keterangan

%k Kata pertama isi pesan

%r Seluruh isi dari sms selain kata pertama

%p Nomor pengirim

%t Waktu sms diterima

Untuk menjalankan kannel maka, harus menjalankan bearerbox dan

smsbox. Untuk menjalankan bearerbox maka, harus mengetikkan ./bearerbox –v 1

smskannel.conf pada konsul, sedangkan untuk menjalankan smsbox adalah

(35)

2.7PHP ( Personal Home Page )

PHP adalah PHP Hypertext Preposesor yang merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses dalam server. Hasilnya dikirim ke client, tempat user menggunakan browser. PHP adalah salah satu teknologi yang biasa digunakan untuk membuat halaman web yang dinamis dan interaktif.

Secara umum, halaman web dapat dibuat secara statis dan dinamis. Web statis

biasanya dibuat dengan menggunakan HTML. Teknologi web dinamis dapat

digolongkan atas 2 golongan besar:

1. client-side technologies

2. server-side technologies

PHP dibangun sekitar tahun 1994 oleh Rasmus Lerdoff. PHP versi 3

ditulis ulang oleh Zeev Suraski dan Andi Gutmans pada tahun 1998.

PHP bekerja hampir sama seperti JSP dan ASP. Skrip diawali dengan tag

<?php …… dan diakhiri dengan tag ……?> serta dimasukkan ke halaman HTML. Skrip ini akan dieksekusi oleh server sebelum halaman tersebut dikirim ke

browser klien, sehingga tidak mungkin ada ketidakcocokan platform mesin

browser klien. Tidak seperti ASP, PHP dapat dijalankan multiplatform. PHP dapat

dijalankan di web server IIS dan Apache, di sistem operasi Windows, UNIX dan

(36)

2.7.1 Cara kerja PHP

Cara kerja PHP dapat dilihat pada gambar di bawah ini:

web server

client

HTTP request HTTP responseGets page

<HTML> <?php echo (" Hello "); ?>

</HTML>

Hello

Browser akan membentuk halaman web

Gambar 2.13. cara kerja PHP

Saat ada permintaan suatu halaman dari browser klien, server web akan

melakukan 3 langkah :

1. membaca permintaan browser.

2. mencari halaman html yang diminta di server.

3. mengeksekusi perintah PHP sehingga halaman html termodifikasi

4. mengirim halaman html yang diminta ke browser klien melalui media

internet atau intranet.

Setelah halaman html diterima oleh klien, browser klien akan menerjemahkan

halaman html tersebut ke bentuk web.

2.7.2 Penulisan PHP

Tata cara penulisan php:

(37)

2. <? echo(“ PHP Code goes here”); ?>

Sintaks dasar PHP bersifat case sensitive.

2.7.3 Tipe Data

PHP mempunyai 6 tipe data.

Empat tipe skalar:

1. boolean

2. integer

3. floating-point number (float)

4. string

Dua tipe gabungan:

1. array

2. object

2.7.4 Operator

Operator di PHP sama dengan operator di C.

1. Arithmetic Operators

Example Name Result

$a + $b Addition Sum of $a and $b. $a - $b Subtraction Difference of $a and $b. $a * $b Multiplication Product of $a and $b. $a / $b Division Quotient of $a and $b.

$a % $b Modulus Remainder of $a divided by $b.

2. Comparison Operators

Example Name Result

(38)

Example Name Result

$a = = = $b Identical TRUE if $a is equal to $b, and they are of the same type. (PHP 4 only)

$a != $b Not equal TRUE if $a is not equal to $b. $a <> $b Not equal TRUE if $a is not equal to $b.

$a !== $b Not identical TRUE if $a is not equal to $b, or they are not of the same type. (PHP 4 only)

$a < $b Less than TRUE if $a is strictly less than $b. $a > $b Greater than TRUE if $a is strictly greater than $b. $a <= $b Less than or

equal to TRUE if $a is less than or equal to $b. $a >= $b Greater than or

equal to TRUE if $a is greater than or equal to $b.

2.7.5 Regular Expression Functions (POSIX Extended)

Regular Expression Functions (POSIX Extended) digunakan untuk memanipulasi string yang kompleks. PHP menggunakan POSIX extended regular expression. Dalam hal ini penulis mengunakan preg split. Berikut ini sintaks penulisannya:

preg_split ( string pattern, string subject [, int limit [, int flags]] )

2.8MySQL

MySql adalah sebuah database management system (DBMS) yang dalam

pengolahan data dan pengaksesan database server mengunakan perintah structur

query language(SQL). SQL adalah suatu standar bahasa terstruktur yang

digunakan sebagai metode komunikasi antara script pemrograman dengan

(39)

3.1 Analisis Sistem

3.1.1 Gambaran Umum Sistem

Sistem yang akan dibuat adalah sistem layanan informasi letak fasilitas

kota Yogyakarta via sms, dimana pelanggan dapat mengirimkan sms untuk

menerima informasi berupa letak fasilitas yang dibutuhkan. Sistem ini hanya

melayani nomor-nomor yang telah terdaftar.

Teknologi untuk sms gateway mengunakan kannel. Kannel adalah sebuah program yang dapat bekerja sebagai SMS gatway untuk GSM modem, dimana

GSM phones dapat mengirim dan menerima pesan. Kannel dapat berjalan di sistem operasi Linux. Sedangkan aplikasi web yang digunakan untuk update data

dibangun dengan menggunakan PHP dan MySQL.

3.1.2 Desain arsitektur

Berikut ini adalah desain arsitektur yang akan di ujicobakan

(40)

Arsitektur server

Table 3.2 Gambar desain arsitektur server

Keterangan :

1. Telpon pengirim digunakan untuk mengim SMS.

2. Telpon penerima digunakan untuk mengirim SMS dari server.

3. Kabel data yang menghubungkan antara telpon penerima dengan

komputer.

4. Sistem operasi Linux Mandriva 2007.

5. SMS gateway server menggunakan Kannel 1-4-1.

6. Web server menggunakan apache 2 dan php 5.

(41)

3.1.3 Desain aplikasi SMS

1. Proses aplikasi kannel

(42)

Proses ini merupakan aplikasi yang mengendalikan SMS, dimana SMS

yang masuk akan disesuaikan dengan keyword yang elah ditentukan. Untuk

keyword update maka akan menjalankan aplikasi updatesms.php, jika tidak maka

akan menjalankan aplikasi smsbalikuser.php.

2. Proses aplikasi smsbalikuser.php

Gambar 3.4 flow chart aplikasi smsbalikuser.php

Aplikasi smsbalikuser.php ini merupakan aplikasi yang akan digunakan

(43)

Untuk user yang tidak terdaftar maka akan mendapat balasan bahwa user belum

terdaftar, sedangkan untuk yang terdaftar akan diberikan jawaban jika dana yang

ada mencukupi.

3. Proses aplikasi updatesms.php

Gambar 3.5 flow chart aplikasi updatesms.php

Aplikasi updatesms.php ini merupakan aplikasi yang digunakan untuk

meng update data melalui sms. Perintah update tersebut adalah tambah, edit, dan

hapus. Data yang dapat di tambah adalah data perintah, data detail perintah, dan

data user, untuk data yang dapat di edit hanya data user, sedangkan data yang

dapat dihapus adalah data data user. Berikut ini adalah flow chart tambah, ubah

(44)

Proses tambah

(45)

3.1.4 Requirement Analysis 3.1.4.1 Use Case Diagram

Sistem Layanan Informasi Letak Fasilitas Kota Yogyakarta via

<<depend on>> <<depend on>>

Mendapat balasan Mengirim sms

admin

login Update perintah

Update detail perintah

Update pelanggan

Update admin

Super Admin

Hapus inbox

Hapus inbox admin

Hapus sent item user

Hapus sent item admin

(46)

3.1.5 Logical Design 3.1.5.1Proses Modeling

Table 3.1 Tabel Input Output Proses Modeling

Entity Input Output

user karakter sms informasi letak fasilitas kota yogyakarta berupa text

admin id_admin dan password, data perintah, data user

Informasi data perintah,

informasi data inbox,

informasi data inbox_admin,

informasi data sent_item_admin,

informasi data sent_item_user,

informasi data user

Super Admin id_admin, password, dan data admin

informasi data admin

3.1.5.2Context Diagram

Informasi letak fasilitas kota yogyakarta, Data kategori, Isi hategori

perintah sms

user admin

0

Sistem Layanan Informasi Letak Fasilitas Kota Yogyakatra via

SMS

username dan password data perintah, data user

Informasi data perintah,

informasi data inbox,

informasi data inbox_admin,

informasi data sent_item_admin,

informasi data sent_item_user,

informasi data user

Gambar 3.8 Context Diagram

username dan password data admin

informasi data admin

(47)

Fasilitas Kota Yogyakarta via SMS

5 p

proses hapus inbox mengubah data

user menghapus data

user

4.4 p

proses melihat data

user

proses hapus sent_item_user

8p

proses hapus sent_item_admin mengubah data

admin menghapus data

admin

2.4 p

proses melihat data

admin mengubah data

perintah menghapus data

perintah

3.4 p

proses melihat data

perintah

(48)

``

Gambar 3.10 Overview diagram

1p

Proses hapus Data sent_item_user 3

Proses Data perintah

usename dan password

Update perintah

id_petugas dan password yang valid

Detail data perintah

Update data isi

Data sent_item_user Detail data isi

pemakai

5p

Proses hapus Data inbox

Data smsmasuk Username,

password, level

Data smsmasuk

admin *

Data perintah Informasi data kategori

Informasi data isi

8p

Proses hapus Data sent_item_admin

data sms admin masuk

Informasi data sent_item_user Informasi data sent_item_admin

6p

Proses hapus Data inbox_admin Proses sms admin

masuk

data inbox_admin

Informasi data inbox Informasi data inbox admin

admin *

Inbox admin D7

Proses logout

(49)

2

admin

D2

2.1p

Menambah data admin

2.2p

Melihat data admin

2.3p

Mengubah data admin

2.4p

Menghapus data admin

username dan password yang valid

Data admin yang akan dirubah

Data admin yang telah dirubah Detail data admin Data admin

Data admin yang telah

Informasi data admin

Data admin

(50)

3

perintah

D2

3.1p

Menambah data perintah

3.2p

Melihat data perintah

3.3p

Mengubah data perintah

3.4p

Menghapus data perintah username dan password

yang valid

Data perintah yang akan dirubah

Data perintah yang telah dirubah Detail data perintah Data perintah

Data perintah yang telah dihapus Data perintah yang akan di hapus

Admin *

Informasi data perintah

Data perintah

(51)

4

user

D2

4.1p

Menambah data user

3.2p

Melihat data user

3.3p

Mengubah data user

3.4p

Menghapus data user

username dan password yang valid

Data user yang akan dirubah

Data user yang telah dirubah Detail data user Data user

Informasi data user

Data user

(52)

memiliki

(53)

3.2 Desain Sistem 3.2.1 Desain Database

Pada desain database ini mengunakan 8 tabel admin, user, perintah, detail_perintah, inbox, inbox_admin, sent_item_user, dan sent_item_admin.

Tabel 3.2 Tabel admin

Nama field Type data Panjang Keterangan

no_telp_admin* varchar 25

nama varchar 60

username varchar 60

password varchar 32

Nama field Type data Panjang Keterangan

No_telp_user* varchar 25

nama varchar 60

Alamat Varchar 100

Sisa_dana Varchar 10

Nama field Type data Panjang Keterangan

Id_perintah varchar 60

Perintah_2 varchar 10

(54)

Table 3.5 Tabel detail_perintah

Nama field Type data Panjang Keterangan

Id_detperintah* int 10 Auto increment

Perintah_2 varchar 60

isi Varchar 160

Id_perintah varchar 60 fk

Table 3.6 Tabel inbox

Nama field Type data Panjang Keterangan

Id_inbox* int 10 Auto increment

No_telp_pengirim varchar 25

isi varchar 160

Tgl_masuk date

Table 3.7 Tabel inbox_admin

Nama field Type data Panjang Keterangan

Id_inbox_admin* int 10 Auto increment

No_telp_pengirim varchar 25

isi varchar 160

(55)

Table 3.8 Tabel sent_item_user

Nama field Type data Panjang Keterangan

Id_outbox* int 10 Auto increment

no_telp_tujuan_user varchar 25

isi varchar 160

keterangan date 160

Table 3.9 Tabel sent_item_admin

Nama field Type data Panjang Keterangan

Id_outbox_admin* varchar 10

no_telp_tujuan_admin varchar 25

isi varchar 160

(56)

Detail_perintah perintah

user admin

Inbox_admin Sent_item_user

Gambar 3.15 Relasi antar tabel

3.2.2 Relasi Antar Tabel

(57)

3.2.3 Desain Input

Desain login untuk web maintenance

Reset Login

Password : Username :

Gambar 3.16 desain input login

3.2.3.1Desain Input Super Admin

Desain input data admin

Data Admin

header

Username Level

submit

Password No telp Admin Nama

logout

(58)

3.2.3.2Desain Input Admin

Halaman data user

Sent item user Data user

inbox

Sent item admin

submit

Sisa dana alamat nama no telp user

header

perintah

Inbox admin

logout Send sms

Gambar 3.18 desain halaman input data user

Halaman perintah

Sent item user Data user

inbox

Sent item admin

header

submit

Perintah 1 Id perintah perintah

Inbox admin

logout Send sms

(59)

Halaman detail perintah

Sent item user Data user

inbox

Sent item admin

header

submit

isi Perintah 2 perintah

Inbox admin

logout Send sms

Gambar 3.20 desain halaman detail perintah

Halaman send sms

Sent item user Data user

inbox

Sent item admin

header

perintah

Inbox admin

Isi pesan

submit

Gambar 3.21 desain halaman send sms

No tujuan

(60)

Desain input untuk aplikasi sms

Desain untuk admin

Tabel 3.10 tabel desain input sms untuk admin

Printah keterangan

update Fasilitas ini digunakan untuk

menambah, menghapus, mengubah

Sintaks penulisan

Tabel 3.11 tabel sintaks penulisan sms untuk admin

Perintah update Sintaks Contoh

Tambah perintah update

tambah#perintah#id_perintah#perintah_1

update tambah#perintah#stadiun#stdn

Tambah Detail

perintah

uwoharjo depok sleman#stadiun

Tambah user Update tambah#user#

no_telp_user#nama#alamat#sisa dana

Update tambah#user#

+6285868479554#jony#jl kantil#100000

Ubah user Update ubah#user# no_telp_user#1000 Update ubah#user#

+6285868479554#1000

Hapus user Update hapus#user#no_telp_user Update hapus#user#+6285868479554

Desain untuk user

Tabel 3.12 tabel desain penulisan sms untuk user

Perintah keterangan hot Untuk mendapatkan informasi letak hotel

rs Untuk mendapatkan informasi rumah sakit

stsn Untuk mengetahui letak stasiun

help Untuk mengetahui perintah yang tersedia

(61)

Sintaks penulisan sms user

Tabel 3.13 tabel sintaks penulisan sms untuk user

Perintah Sintaks Contoh

hot hot<spasi>Nama hotel hot santika

rs rs<spasi>nama rumahsakit rs sarjito

stsn stns<spasi>nama stasiun stsn lempuyangan

help help help

help hotel help<spasi>nama fasilitas help hotel

3.2.4 Desain output

3.2.4.1Desain Output Super Admin

Nama No Telp Admin Level Username Password

ony +6285868479554 1 ony

03c7c0ace395d801 82db07ae2c30f034

Data user

Tambah Tabel Admin

header

logout

(62)

3.2.4.2Desain Output Admin

Halaman user

Gamabar 3.24 output halaman perintah

no telp user nama alamat

sisa

dana pilihan

+6285868479554 ony jl kanthil 5 100000 [hapus] [ubah]

Sent item user Data user

inbox

Sent item admin

Tambah Tabel User

header

perintah

Inbox admin

logout Send sms

Halaman perintah

id perintah perintah 1 pilihan

hotel hot [hapus][ubah][detail]

Sent item user Data user

inbox

Sent item admin

Tambah Tabel Perintah

header

perintah

Inbox admin

logout Send sms

(63)

Halaman detail perintah

Gamabar 3.25 output halaman detail perintah

Gamabar 3.26 output halaman inbox Halaman inbox

Perintah 2 Isi pilihan

Santika

Jl jendral sudirman no 19

(563036) [hapus][ubah]

no telp pengirim isi

tanggal

masuk pilihan

+6285868479554 Help 2007-0717 [hapus] +6285868479554 Hot santika 2007-0717 [hapus]

Sent item user Data user

inbox

Sent item admin

header

perintah

Inbox admin

Tambah Tabel Detail Perintah

Send sms

logout

Sent item user Data user

inbox

Sent item admin

header

perintahi

Inbox admin

Tabel Inbox

Send sms

(64)

Halaman inbox admin

Gamabar 3.27 output halaman detail perintah

Gamabar 3.38 output halaman sent item user Halaman sent item user

no telp pengirim isi

tanggal

masuk pilihan

+6285868479554 ubah#user#+6285868479554#100000

2007-0717 [hapus] +6285868479554 tambah#perintah#rumah sakit#rs

2007-0717 [hapus]

no telp pengirim isi keterangan pilihan

+6285868479554 Help

Terkirim sebagai

pelanggan [hapus]

+6285868479554 Hot santika

Terkirim sebagai

pelanggan [hapus]

Sent item user Data user

inbox

Sent item admin

header

perintahi

Inbox admin

Tambah Tabel Detail Perintah

Send sms

logout

Sent item user Data user

inbox

Sent item admin

header

perintahi

Inbox admin

Tabel sent item user

Send sms

(65)

Halaman sent item admin

Gamabar 3.29 output halaman sent item admin

Table 3.15 Tabel output sms untuk user Table 3.14 Tabel output sms untuk admin Output untuk sms

Untuk admin

Sintaks Isi pesan

Update

tambah#perintah#rumah sakit#rs

terkirim berhasil mengubah isi tabel user

Untuk user

Sintaks Isi pesan

Hot santika Jl jendral sudirman no 19 (563036), sisa dana anda 10000

Rs sarjito Jl kesehatan 1 (587333,518689,518689,547784),sisa dana anda 6000

Stsn lempuyangan Jl lempuyangan 10 (512454), sisa dana anda 1000

HELP Hot hotel, rs rumah sakit sakit, stsn stasiun, sisa dana anda 7000

HELP HOTEL novotel,santika,hyatt,ibis,inna garuda, sisa dana anda 6000

no telp pengirim isi keterangan pilihan

+6285868479554 ubah#user#+6285868479554#100000

Terkirim sebagai

pelanggan [hapus]

+6285868479554 ubah#user#+6285868479554#100000

Terkirim sebagai

pelanggan [hapus]

Sent item user Data user

inbox

Sent item admin

header

perintahi

Inbox admin

Tabel Sent item admin

Send sms

(66)

Setelah melakukan analissis dan rancangan, kemudian tahap selanjutnya

adalah mengimplementasikan hasil dan rancangan yang telah dibuat. Dalam Bab ini

membahas implementasi sistem berdasarkan analisa dan rancangan yang telah dibuat.

4.1 Kebutuhan Sistem

Untuk dapat menjalankan sistem dibutuhkan beberapa sistem penunjang,

antara lain :

SMS Gateway Server

o Kannel 1.4.1.

Web Server

o Apache2.

o Php 5.

Database Server

o MySQL - 5.0.21.

Sistem Operasi

(67)

4.2 Konfigurasi Kannel 1.4.1

Agar telpon seluler dapat dikenali oleh komputer harus melakukan

konfigurasi terlebih dahulu. Dalam kannel file configurasinya terdapat di

smskannel.conf, berikut ini configurasinya;

group = smsc smsc = at

smsc-id = GSMModem

modemtype = siemens_sl45 device = /dev/ttyUSB0

#sms-center = "+6281100000" sms-center = "+62816124" #port = 10000

#connect-allow-ip = 127.0.0.1

Group diset dengan smsc, dimana smsc sebagai sms center. Smsc = at karena telpon yang digunakan adalah siemens (Nokia diset dengan cimd). GSMModem

adalah nama koneksinnya, kemudian /dev/ttyUSB0 adalah port yang digunakan untuk menghubungkan telpon dengan komputer, dimana port yang digunakan adalah port

usb ke 1 untuk port usb yang ke 2 diset /dev/ttyUSB1. sms-center adalah sms center kartu yang digunakan, dalam hal ini penulis menggunakan kartu simpati sehingga sms-center di set dengan sms-center = “+6281100000”.

#--- # SMSBOX SETUP

#

group = smsbox

sendsms-port = 13013 global-sender = 13013

konfigurasi diatas adalah konfigurasi untuk smsbox dimana mengunakan port

13013 untuk sendsms-port dan global-sender. Dimana sendsms-port digunakan untuk

(68)

#--- # SEND-SMS USERS

#

group = sendsms-user username = tester password = foobar #user-deny-ip = ""

user-allow-ip = "127.0.0.1"

Konfigurasi diatas adalah konfigurasi untuk sendsms-user dimana untuk

melakukan pengiriman melalui web, dimana diset username = tester dan password =

foobar.

#--- # SERVICES

#

group = sms-service keyword = update get-url =

"http://localhost/sms/updatesms.php?sender=%p&pesan=%r&time=%t "

group = sms-service keyword = default get-url =

"http://localhost/sms/smsbalikuser.php?sender=%p&pesan=%k%20%r &time=%t"

Konfigurasi diatas adalah konfigurasi untuk balasan perintah sms yang

dikirimkan. Group diset dengan sms-service. Dalm konfigurasi diatas terdapat dua

keyword yaitu; update dan default. Untuk keyword update digunakan bila perintah sms yang dimasukkan sesuai. Keyword update ini nantinya digunakan untuk

mengupdate data lewat sms. Semua perintah sms selain keywordnya update akan

diproses pada keyword default.

(69)

detect-string = "SIEMENS" detect-string2= "SL45"

init-string = "AT+CNMI=1,1,0,2,1" keepalive-cmd = "AT+CBC;+CSQ" speed = 19200

enable-hwhs = "AT\\Q3" need-sleep = true

message-storage = "SM"

Konfigurasi diatas adalah untuk modem yang digunakan. Dalam hal ini penulis

menggunakan telpon seluler sebagai modem. Telpon seluler yang digunakan

adalah siemens sl45

4.3 Prose Aplikasi SMS 4.3.1 Proses Aplikasi Kannel

4.3.1.1SMS Masuk

Saat melakukan perintah sms, kannel akan memroses berdasarkan keyword

yang ada. Kemudian kannel akan mngirimkan parameter-parameter yang nantinya akan diproses oleh web server. Berikut ini adalah keword yang tersedia di kannel:

1. Update

Pada keyword update kannel akan memangil file updatesms.php beserta

variabel yang disertakan. Berikut ini adalah perintah untuk memanggil

updatesms.php:

get-url=

"http://localhost/sms/updatesms.php?sender=%p&pesan=%r&t

ime=%t"

Pada Perintah diatas terdapat variabel yang berisikan parameter. Untuk

(70)

adalah nomor telpon pengirim, untuk variabel pesan berisikan parameter

%r dimana isi dari parameter tersebut adalah isi pesan yang dikirimkan

tanpa menyertakan kata pertama pada pesan, sedangkan variabel time

berisikan parameter %t dimana isi dari parameter tersebut adalah waktu

pesan diterima.

2. Default

Keyword default akan menampung semua perintah selain perintah update.

Selanjutnya akan memnggil smsbalikuser.php beserta variabel yang

disertakan. Berikut ini adalah perintah untuk memanggil

smsbalikuser.php:

get-url =

"http://localhost/sms/smsbalikuser.php?sender=%p&pesan=%

k%20%r&time=%t"

Variabel yang disertakan adalah sender, pesan dan time. Variabel sender

menggunakan parameter %p yang isinya adalah no telpon pengirim, variabel pesan menggunakan parameter %k%20%r yang artinya untuk %k

adalah kata pertama dari perintah sms ikut disertakan kemudian %20

(71)

4.3.1.2SMS Keluar

Sms keluar adalah jawaban kepada user yang melakukan perintah sms.

Jawaban sesuai dengan perintah yang dikirimkan. Contohnya bila user yang terdaftar

dan memiliki sisa dana lebih dari atau =1000 melakukan perintah hot santika, maka

isi dari jawaban tersebut adalah Jl jendral sudirman no 19 (563036), sisa dana anda

10000.

4.3.2 Proses Aplikasi updatesms.php

Pada aplikasi ini digunakan untuk melakukan perintah update data melalui

sms. Proses yang akan dilakukan adalah sebagai berikut;

1. Proses yang pertamakali adalah menyimpan variabel yang dikirimkan oleh

kannel. Variabel-variabel tersebut akan disimpan di tabel inbox_admin.

Berikut ini potongan programnya;

$query = "INSERT INTO

".$cfg["tbl_inbox_admin"]."(id_inbox_admin,no_telp_admin,is i,tgl_masuk) ". " VALUES

('','".$sender."','".$pesan."','".$time."')"; $hasil = send_query($query);

2. Dari data sms yang dikirimkan data akan dipecah. Variabel yang akan

dipecah adalah variabel text. Berikit ini adalah perintah untuk memecah

variabel text.

$perintah = preg_split("/#/",$text,3);

Dari perintah diatas maksudnya adalah variabel akan dipecah menjadi

array. Isi variabel text akan dipecah bila menemukan karakter #. Jumlah

(72)

maka kata yang diterima adalah kata setelah kata update, misalnya update

tambah#perintah#sekolah#skl data yang dipakai nantinya hanya

tambah#perintah#sekolah#skl saja, kata update tidak dipakai. Hasil dari

pemecahan perintah sms tersebut adalah $perintah[0] = tambah,

$perintah[1] = perintah, $perintah[2] = sekolah#skl.

3. Untuk selanjutnya bila nomor telpon tidak terdaftar maka program tidak

akan melakukan proses selanjutnya. Bila nomor terdaftar maka program

akan mengeksekusi perintah selanjutnya, misalnya $perintah[0] = tambah,

kemudian perintah selanjutnya adalah tabel apa yang akan ditambah

misalnya $perintah[1] = perintah.

4. Proses selanjutnya adalah memecah kembali $perintah[2], berikut ini

adalah potongan programnya;

$kata= preg_split("/#/",$perintah[2]);

Perintah diatas akan memecah $perintah[2] menjadi dua bagian lagi yaitu

$kata[0] = sekolah, $kata[1] = skl. Kemudian adalah proses untuk

menambah dimanan potongan programnya adalah sebagai berikut;

$query = "INSERT INTO

".$cfg["tbl_perintah"]."(id_perintah,perintah_1) ". " VALUES ('".$kata[0]."','".$kata[1]."')";

program diatas adalah proses menambah table perintah dimana

(73)

4.3.3 Smsbalikuser.php

Aplikasi ini digunakan untuk mendapatkan informasi dari perintah sms yang

di kirimkan oleh user. Berikut ini proses yang akan dilakukan.

1. Proses yang pertama adalah melakukan pemecahan kata. Kata yang

disertakan adalah semua kata yang dikirimkan oleh pengirim, misalnya

hot adem ayem, dari seluruh perintah tersebut maka akan digunakan

seluruhnya. Berbeda dengan perintah update, perintah update tidak

disertakan. Berikut potongan programnya;

$kata = preg_split("/\s/",$text,2);

perintah diatas digunakan untuk memecah $text menjadi dua bagian,

yaitu; $kata[0] = hot, $kata[1] = adem ayem.

2. Proses selanjutnya adalah proses untuk membandingkan apakah nomor

yang digunakan sudah terdaftar, berikut ini potongan programnya;

$sql = "select sisa_dana from user where no_telp_user='".$sender."'";

diatas adalah proses pencarian apakah nomor pengirim memiliki sisa dana

untuk mengakses informasi yang ada. Informasi tidak dapat diterima jika

nomor pengirim belum terdaftar dan dana yang tersisa tudak mencukupi.

Untuk

3. Proses selanjutnya adalah mencari informasi yang dibutuhkan, misalkan

(74)

ayem, maka perintah smsnya adalah hot adem ayem. Berikut ini potongan

program untuk pencarian perintah sms dari user;

$query = "select b.perintah_2, b.isi from " .$cfg["tbl_perintah"] ."

a,".$cfg["tbl_detail_perintah"]." b " ."where a.id_perintah=b.id_perintah "

."and a.perintah_1='".$kata[0]."' and b.perintah_2 like '%".$kata[1]."%'";

Program diatas digunakan untuk melakukan pencarian perintah_2 dan isi,

dimana id_perintah pada table perintah sama dengan id_perintah pada

table detail_perintah dan perintah_1 sama dengan $kata[0] dan perintah_2

sama dengan $kata[1].

4. Untuk nomor yang terdaftar bila melakukan perintah sms sisa dananya

akan selalu berkurang 1000. berikut ini potongan programnya;

$jml['sisa_dana']=$jml['sisa_dana']-1000;

$sql= "UPDATE ".$cfg["tbl_user"] ." SET "

. " sisa_dana='".$jml["sisa_dana"]."' "

. " where no_telp_user='".$sender."' ";

4.4 Aplikasi Web

Aplikasi ini dugunakan untuk melakukan proses update data melalui web.

Proses yang akan dilakukan adalah melakukan perintah tambah, hapus dan ubah data.

4.4.1 Proses Tambah 4.4.1.1Proses tambah user

Pada proses ini akan dilakukan proses untuk menambah user. Berikut adalah

potongan program proses.php untuk menambah user;

$sql= "insert into ".$cfg["tbl_user"] ."

(75)

"])."','".trim($_POST["alamat"])."','".trim($_POST["sisa_dana" ])."')";

4.4.1.2Proses tambah perintah

Pada proses ini akan dilakukan proses untuk menambah isi tabel perintah.

Berikut potongan program prses.php untuk menambah perintah;

$sql= "insert into ".$cfg["tbl_perintah"] ."

values('".$_POST["id_perintah"]." ',' ".$_POST["perintah_1"]." ')";

4.4.1.3Proses tambah detail_perintah

Proses ini adalah untuk menambah isi dari tabel detail_perintah. Potongan

program proses.php sebagai berikut;

$sql= "insert into ".$cfg["tbl_detail_perintah"] ."

values('','".trim($_POST["perintah_2"])."','".trim($_POST["isi "])."','".trim($_POST["id_perintah"])."')";

4.4.2 Proses Ubah 4.4.2.1Proses ubah user

Proses ini adalah untuk mengubah isi tabel user. Berikut potongan program

peoses.php;

$sql= "UPDATE ".$cfg["tbl_user"]." SET " . "

no_telp_user='".$_POST["no_telp_user"]."', "

. " nama='".$_POST["nama"]."', " . " alamat='".$_POST["alamat"]."', "

. "

sisa_dana='".$_POST["sisa_dana"]."' ". " where no_telp_user='".$_POST["no_telp_user_ori"]."'";

4.4.2.2Proses ubah perintah

Proses ini digunakan untuk mengubah isi dari tabel perintah. Berikut ini

(76)

$sql= "UPDATE ".$cfg["tbl_perintah"] ." SET "

. " id_perintah='".$_POST["id_perintah"]."', " . " perintah_1='".$_POST["perintah_1"]."' "

. " where id_perintah='".$_POST["id_perintah_ori"]."'";

4.4.2.3Proses ubah detail_perintah

Proses ini digunakan untuk mengubah isi dari tabel detail perintah. Berikut ini

adalah potongan perintah proses.php;

$sql= "UPDATE ".$cfg["tbl_detail_perintah"] ." SET "

. " id_detperintah='".$_POST["id_detperintah"]."', " . " perintah_2='".$_POST["perintah_2"]."', "

. " isi='".$_POST["isi"]."', "

. " id_perintah='".$_POST["id_perintah"]."' "

. " where id_detperintah='".$_POST["id_detperintah_ori"]."'";

4.4.3 Proses Hapus 4.4.3.1Proses hapus user

Proses ini digunakan untuk melakukan proses hapus untuk tabel user. Berikut

potongan program proses.php untuk melakukan proses hapus;

$sql = "delete from ".$cfg["tbl_user"]." where

no_telp_user='".$no_telp_user."'"; 4.4.3.2Proses hapus perintah

Proses untuk melakukan proses hapus pada tabel perintah. Berikut potongan

program proses.php;

$sql = "delete from ".$cfg["tbl_perintah"]." where id_perintah='".$id_perintah."'";

4.4.3.3Proses hapus detail_perintah

Berikut ini adalah proses hapus pada tabel detail_perintah. Berikut ini adalah

potongan program untuk menghapu detail_perintah;

(77)

4.4.3.4Proses hapus inbox

Proses untuk menghapus data dari tabel inbox. Berikut potongan perintah

proses.php;

$sql = "delete from ".$cfg["tbl_inbox"]." where

id_inbox='".$id_inbox."'";

4.4.3.5Proses hapus inbox_admin

Proses untuk menghapus data dari tabel inbox_admin. Berikut potongan

perintah proses.php;

$sql = "delete from ".$cfg["tbl_inbox_admin"]." where

id_inbox_admin='".$id_inbox_admin."'";

4.4.3.6Proses hapus sent_item_user

Proses untuk menghapus data dari tabel sent_item_user. Berikut potongan

perintah proses.php;

$sql = "delete from ".$cfg["tbl_sent_item_user"]." where id_outbox='".$id_outbox."'";

4.4.3.7Proses hapus sent_item_admin

Proses untuk menghapus data dari tabel sent_item_admin. Berikut potongan

perintah proses.php;

(78)

4.4.4 User Interface 1. Halaman login

Gamabar 4.1 halaman login

2. User Interface Super Admin Halaman Data Admin

(79)

Gamabar 4.4 halaman data user

3. User Interface Data User Halaman data user

Halaman Perintah

(80)

Halaman Detail Perintah

Gamabar 4.6 halaman detail perintah

Halaman Inbox

(81)

Halaman Inbox Admin

Gamabar 4.8 halaman inbox admin

Halan Sent Item User

(82)

Halaman Sent Item Admin

Gamabar 4.10 halaman sent item admin

Halaman Send SMS

Gambar

Gambar Keterangan
Gambar 2.3. Contoh dari E-R Diagram
Gambar 2.5 Contoh dari Atribut
Gambar 2.6 merupakan contoh dari identifier atau key
+7

Referensi

Dokumen terkait

Karakteristik sensor untuk pemantauan SDA di wilayah laut: a) memiliki kanal pada gelombang tampak (biru, hijau dan merah) yang mampu mendeteksi parameter perairan

JMLH SAT 1 Penetapan rasio dosen dan mahasiswa sesuai standar ideal Terealisasi rasio dosen dibanding mahasiswa 1 : 20 1:20 Rasio 2 Meningkatnya penyerapan

Identifikasi Masalah pada penelitian ini yaitu melakukan analisis pengaruh pada Sistem Informasi Kepegawaian (SIMPEG) terhadap Perencanaan Sumber Daya Manusia di Dinas

Dua dari lima genotip tersebut, BTM 2064 dan BTM 867, memiliki karakter jumlah cabang produktif, jumlah bunga per tanaman, jumlah tandan bunga per tanaman,

Alasan peneliti memilih lokasi Pondok Pesantren Al Akhlakul Karimah Budi Mulyo yaitu pertama, Pondok Pesantren Al Akhlakul Akrimah Budi Mulyo merupaka pesantren yang tidak

Berdasarkan observasi dan wawancara di atas dapat penulis ambil pemahaman bahwa di antara aktivitas latihan dalam proses pembelajaran bidang studi Quran Hadis di MAN

komunitas global dalam bidang ilmu pengetahuan, (4) peningkatan budaya ilmiah masyarakat Indonesia, dan (5) pelaksanaan dukungan manajemen. 2) Indikator jumlah industri

Dimana dalam tahap ini sumber-sumber yang telah terkumpul dilakukan kritik, baik itu kritik internal maupun kritik eksternel.Kritik internal merupakan kritik yang dilakukan