6 BAB II LANDASAN TEORI 2.1. SMS SMS atau yang dikenal dengan Short Message Service merupakan suatu layanan penggunaan pesan singkat berupa text dari penyedia jasa layanan komunikasi untuk berkomunikasi dengan pengguna telepon selular lainnya melalui jaringan komunikasi. Dengan layanan ini pengguna layanan dapat mengirim dan menerima pesan singkat berupa text dengan maksimal 160 karakter. Kapasitas maksimal ini tergantung dari alfabet yang digunakan. Untuk alfabet Latin maksimal 160 karakter dan untuk non Latin seperti alfabet arab dan china hanya 70 karakter. Pengiriman SMS menggunakan kanal signaling yang merupakan kanal kendali dan memiliki dua tipe : 1. SMS Point to Point Pengiriman SMS hanya dari satu MS (Mobile Station) ke MS tertentu. 2. SMS Broadcast Pengiriman SMS ke beberapa MS sekaligus, misalnya dari operator kepada seluruh penggunanya Elemen pendukung layanan SMS yang terintegrasi dengan jaringan GSM. SME SME SC SMS - GMSC SMS - IWMSC MSC BC BC SME BTS SME HLR VLR Gambar 2.1. Elemen jaringan penyusun layanan SMS
7 Elemen jaringan penyusun yang mutlak ada pada layanan SMS adalah : 1. SME (Short Messaging Entity), merupakan tempat penyimpanan dan pengiriman pesan yang akan dikirimkan ke suatu MS tertentu. 2. SC (Service Center) bertugas untuk menerima message dari SME dan melakukan forwarding ke alamat MS yang dituju. 3. SMS-GMSC (Short Message Service Gateway MSC), melakukan penerimaan message dari SC dan memeriksa dari SC dan memeriksa parameter yang ada. Selain itu GMSC juga mencari alamat MS yang dituju dengan bantuan HLR, dan mengirimkannya kembali ke MSC yang dimaksud. 4. SMS-IWMSC (Short Message Service Interworking MSC), berperan dalam SMS Message Originating, yaitu menerima pesan dari MSC. [Wibisono, Gunawan dan Gunadi Dwi Hantoro Mobile Broadband Teknologi Wireless Saat ini dan Masa Datang, 46-48] 2.1.1. Prinsip kerja SMS Prinsip kerja SMS tersebut adalah setiap jaringan yang memiliki satu atau lebih SC dengan fungsi sebagai berikut: Menyimpan dan meneruskan (store and forward fashion) pesan dari pengirim ke pelanggan tujuan. Merupakan interface antara Public Land Mobile Network (PLMN) GSM dengan berbagai sistem lainnya, seperti: electronic mail, facsimile, atau suatu content provider. SC terhubung dengan PLMN melalui BSC. Berdasarkan fungsinya dalam pengiriman SMS fungsi MSC dapat dibedakan menjadi dua: a. SMS-GMSC (Gateway MSC for Short Message Service), yaitu fungsi dari MSC yang mampu menerima pesan dari SC, kemudian mencari informasi routing ke HLR selanjutnya mengirimkan ke VMSC di mana pelanggan tersebut berada SC.
8 b. SMS-IWMMSC (Interworking MSC for Short Message Service), yaitu fungsi dari MSC yang mampu mengirim pesan dari PLMN dan meneruskannya ke SC. [Wibisono, Gunawan dan Gunadi Dwi Hantoro Mobile Broadband Teknologi Wireless Saat ini dan Masa Datang, 46] 2.1.2. Pengiriman SMS Dalam pengiriman SMS Point to Point dibagi menjadi dua layanan dasar yaitu SM-MT dan SM-MO: a. SM-MT (Short Message Mobile Terminate Point to Point) Adalah kemampuan sistem GSM untuk mentansfer pesan singkat dari suatu SC ke suatu MS, dan mengirimkan kembali informasi pengiriman berupa laporan keberhasilan dan kegagalan pengiriman tersebut. Proses pengiriman SMS-MT dapat digambarkan sebagai berikut: SME SMS HLR MSC VLR Submit SM Send Routing info for SM Forward SM Send info for MT SMS Page Send info for MT SMS (Ack) Authentication Delivery Report Message Transfer Status Respon Gambar 2.2. Proses Pengiriman SM-MT Proses routing pengiriman SMS MT sebagai berikut:
9 a. SMS akan diterima oleh SMSC dari SMSE. b. Setelah dilakukan pengontrolan parameter, maka SMSC melalui SMS- GMSC akan mencari informasi routing tentang MS pelanggan di HLR. c. SMSC akan mengirimkan message melalui SMS-GMSC kepada MS yang akan dituju dengan format forward Short Message. d. MSC akan mencari informasi MS yang dituju dari VLR, dalam hal ini prosedur authentikasi juga dijalankan. e. MSC mengirimkan message ke MS. f. MSC akan mengirimkan forward short message kembali ke SMSC g. Jika diminta oleh SME, maka SMSC akan mengirimkan laporan status ke SME yang mengindikasikan terkirimnya message. b. SM-MO (Short Message Mobile Originate Point to Point) Adalah kemampuan sistem GSM untuk mentransfer pesan singkat dari suatu MS ke SME (Short Message Entity) melalui SC, serta mengirimkan lembali informasi pengiriman baik itu berhasil maupun tidak. Proses pengiriman SMS MO dapat dilihat sebagai berikut: SME SMS HLR MSC VLR Authen.tication Message Transfer Forward SM Send info for MO SMS Delivery Report Delivery Report Gambar 2.3 Proses Pengiriman SM-MO
10 Proses routing pengiriman SMS MO pada Gambar.2.3 sebagai berikut : a. MS akan membangkitkan data berupa message yang akan dikirimkan ke MSC b. MSC akan menginterogasi VLR apakah MS yang bersangkutan memiliki layanan SMS atau tidak dalam proses autentikasi c. MSC akan mengirimkan SM ke SMSC melalui SMS IWMSC dengan format forward Short Message d. SMSC akan mengirimkan message ke SME. e. SMSC akan memberikan SMSC Acknowledgement ke MSC bahwa pengiriman forward short message telah berlangsung sukses f. MSC akan memberikan laporan pengiriman kepada MS yang bersangkutan. [Wibisono, Gunawan dan Gunadi Dwi Hantoro Mobile Broadband Teknologi Wireless Saat ini dan Masa Datang, 48-50] 2.1.3. Mode Transfer Pesan Dalam pengiriman/penerimaan SMS ada dua mode yakni mode PDU (Protocol Data Unit) dan mode teks. 1. Mode PDU merupakan format pesan dalam bentuk oktet heksadesimal dan oktet semidesimal dengan panjang mencapai 160 karakter (7 bit) atau 140 karakter (8 bit). 2. Mode teks merupakan hasil pengkodean PDU. Pada pengiriman SMS ada 2 mobile, yakni mobile terminated (telepon selular penerima) dan mobile originated (telepon selular pengirim) 2.1.4. SMS Gateway Pada hakekatnya SMS gateway adalah sama dengan kita menggunakan hand phone seperti biasanya. Hanya yang membedakan adalah dalam hal interface-nya saja. Bila menggunakan telepon selular, maka interface-nya berupa keypad dan display dari telepon selular tersebut, sedangkan bila menggunakan SMS gateway maka
11 interface-nya berupa keyboard komputer dengan layar monitor. Karena dalam implementasinya, diperlukan sebuah GSM Modem atau sebuah telepon selular yang berfungsi sebagai GSM Modem. Jadi, aplikasi SMS gateway tersebut bisa dibuat pada sistem yang kompleks atau bahkan yang sangat sederhana sekali. Proses bisnis dan bidang layanan yang bisa ditangani oleh aplikasi SMS Gateway: 1. Manajemen Inventory. 2. CRM (Customer Relationship Management) misal: Rumah Makan, Cafe, Executive Club, Stasiun Radio, Stasiun TV, Lembaga Pendidikan. 3. Call Center dan SMS Pengaduan misal: Polisi, PLN, PAM, Instansi Pemerintah. SMS Gateway memanfaatkan arsitektur teknologi komunikasi SMS untuk menerapkan aplikasi bernilai tambah dengan memanfaatkan komunikasi SMS untuk optimalisasi proses bisnis perusahaan dan peningkatan kualitas layanan dari institusi pelayanan publik. (Website PT. Apollo Asia Multimedia). 2.2 Bahasa Pemrograman PHP Bahasa Pemrograman PHP pertama kali diciptakan pada awal tahun 1995 oleh Rasmus Lerdorf. Sebelum berubah nama menjadi PHP, bahasa pemrograman web ini dikenal dengan nama PHP/FI (Personal Home Page / Forms Interpreter ).* Produk ini merupakan cikal bakal PHP yang dituliskan menggunakan bahasa C dan memiliki kemampuan untuk berkomunikasi dengan basis data serta membuat halaman dinamis. Produk yang cukup sukses ini dirilis dengan disertai source code-nya sehingga setiap orang dapat melihat dan menggunakannya dengan bebas. Beberapa tahun kemudian, tepatnya November 1997, Rasmus melepas PHP/FI versi 2.0. namun tidak lama kemudian, Andi Gutmans dan Zeev Suraski melepas PHP 3.0 yang dihasilkan dengan menulis ulang PHP/FI, hal ini juga berarti usia PHP/FI tidak bertahan lama. Pada generasi ini pula disepakati bahwa PHP/FI akan berubah nama menjadi PHP yang merupakan singkatan dari PHP Hypertext Preprocessor.
12 Sekarang PHP merupakan bahasa pemrograman yang banyak digunakan oleh developer web karena sifatnya yang open source tapi dapat menghasilkan halaman yang dinamis apabila digabungkan dengan javascript, html dan flash. Dengan menggunakan PHP maka halaman web yang ditampilkan dapat diganti ganti sesuai dengan permintaan user karena datanya dapat disimpan di basis data. PHP memiliki beberapa versi dan yang terakhir ini PHP sudah mencapai versi 6. [Dwi Prasetyo, Didik. Solusi Menjadi Web Master Melalui Manajemen Web dengan PHP, 2-3] 2.3 Mysql Mysql merupakan software basis data yang dikembangkan oleh sebuah perusahaan di Swedia, yaitu Mysql AB. Mysql di rilis dalam dua versi yaitu Mysql yang bersifat open source dan Mysql yang bersifat lisensi komersial. Software ini banyak digunakan oleh para web developer untuk mengembangkan website dinamis karena kecepatan dan ukurannya yang kecil sehingga cocok untuk aplikasi berbasis website. Berikut ini merupakan kelebihan software Mysql. 1. Kecepatannya, Mysql dari awal sudah diciptakan agar dapat mengeksekusi perintah SQL dengan cepat. 2. Memiliki lisensi opensource yang gratis sehingga memberikan keunggulan dalam harga dibandingkan dengan basis data seperti Oracle dan SQL Server yang berbayar. 3. Penggunaan yang mudah karena menggunakan dengan hanya menggunakan perintah yang sederhana dalam Bahasa SQL. Bahasa SQL merupakan bahasa standar untuk berkomunikasi menggunakan basis data relasional (RDBMS). 4. Dapat berjalan di berbagai sistem operasi apapun, seperti Windows, Linux, Unix, Mac OS, FreeBSD, OS/2. 5. Dukungan terhadap dukungan teknis yang luas dan gratis terhadap masalahmasalah yang ada dalam Mysql melalui milis atau mailing list. Namun Mysql AB juga menyediakan dukungan teknis kepada penggunanya dengan biaya yang kecil. 6. Keamanan dari Mysql menyediakan privileges atau hak akses kepada user tertentu untuk membuat basis data atau melakukan penghapusan basis data. Password yang disediakan Mysql juga dilengkapi oleh fasilitas enkripsi
13 7. MySQL dapat menangani basis data sampai dengan 50 juta baris atau lebih 8. Karena memiliki lisensi GPL sehingga MySQL bebas untuk dirubah atau dikostumisasi oleh developer sesuai keinginannya. [Valade, Janet. PHP and MySQL for Dummies 2 nd edition, 12] 2.4 Gammu Gammu adalah nama dari proyek yang menggunakan command line untuk mengontrol telepon. Gammu dibuat dengan bahasa C dan dibangun diatas libgammu. Command line gammu menyediakan akses yang luas untuk menggunakan fitur dari telepon namun tingkat dukungan berbeda-beda antar telepon selular. Untuk itu pengguna aplikasi gammu dapat menggunakan basis data yang disediakan oleh developer gammu untuk melihat pengalaman dari pengguna lain yang menggunakan telepon selular dengan jenis yang berbeda-beda. Walaupun berbeda-beda antara satu telepon selular dengan telepon selular yang lain secara umum fitur-fitur dari telepon selular yang dapat digunakan adalah sebagai berikut: 1. Daftar panggilan, memulai panggilan dan pengaturan panggilan. 2. Penerimaan pesan SMS,backup dan mengirim pesan SMS. 3. Penerimaan MMS. 4. Daftar buku telepon, ekspor dan impor (juga dari format standar seperti vcard) 5. Kalender dan daftar tugas, ekspor dan impor (juga dari format standar seperti vcalendar atau icalendar). 6. Penerimaan jaringan dan informasi telepon. 7. Akses ke file sistem telepon (perhatikan bahwa beberapa telepon selular memiliki fungsi sebagai perangkat penyimpanan USB dan hal itu dapat membuat telepon selular tidak dapat diakses melalui Gammu). Proyek ini berawal dari Gnokii dan sampai ke versi 0.58 yang telah berganti nama menjadi MyGnokii2. Kemudian pihak developer merasa perlu mengganti nama Gnokii ini dengan nama yang lebih baik tiba dan Gammu dipilih sebagai akronim untuk semua penggunaan Gammu Manajemen Mobile, tanpa mengetahui bahwa kata Gammu diambil dari buku "Heretics of Dune" yang ditulis oleh Frank Herbert.
14 2.3.1 LibGammu Paket Gammu tidak hanya file biner aja, tetapi juga Gammu SMS Daemon, library Gammu dan binding Python yang dapat digunakan untuk mengembangkan aplikasi pengakses telepon selular. LibGammu merupakan library inti dari proyek Gammu. Library ini menyediakan lapisan abstraksi untuk bekerja dengan telepon selular yang berbeda-beda dari berbagai vendor seperti Nokia, Sony-Ericsson, `Motorola, Samsung, Siemens, Huawei dan vendor lainnya. Dengan menggunakan library ini pengguna telepon selular dapat berkomunikasi dengan telepon selular berbeda-beda menggunakan Standar API. Fungsi API tersebut antara lain: 1. Daftar Panggilan, memulai panggilan dan pengaturan panggilan 2. Penerimaan pesan SMS,backup dan mengirim pesan SMS 3. Penerimaan MMS. 4. Daftar buku telepon, ekspor dan impor (juga dari format standar seperti vcard) 5. Kalender dan daftar tugas, ekspor dan impor (juga dari format standar seperti vcalendar atau icalendar) 6. Penerimaan jaringan dan informasi telepon 7. Akses ke file sistem telepon (perhatikan bahwa beberapa telepon selular memiliki fungsi sebagai perangkat penyimpanan USB dan hal itu dapat membuat telepon selular tidak dapat diakses melalui Gammu). 2.3.2 Gammu SMS Daemon Gammu SMS Daemon merupakan program yang secara periodik melakukan scan pada modem GSM untuk menerima pesan yang masuk, lalu menyimpannya di tempat penyimpanan yang telah disediakan dan didefinisikan dan juga mengirimkan pesan yang terdapat pada basis data dengan menggunakan antrian. Gammu SMS Daemon ini merupakan tools yang tepat untuk melakukan manajemen untuk menerima dan mengirimkan pesan yang dalam jumlah banyak yang diproses secara otomatis.
15 Developer aplikasi ini dapat menerima pesan dalam bentuk file atau dapat disimpan pada basis data yang berbeda seperti basis data MYSQL dan PostgreSQL. Paket ini berisi tool gammu-smsd-inject yang membantu developer aplikasi gammu untuk mengirimkan pesan yang panjang dan tool gammu-smsd-monitor yang membantu developer untuk memonitor status dari SMS Daemon dan telepon selular. Untuk tampilan antar muka dapat menggunakan aplikasi front end Kalkun yang hanya bekerja dengan basis data MYSQL. 2.5 Task Scheduler Dengan scheduled task komputer dapat di atur untuk melakukan penjadwalan script, program ataupun dokumen untuk dijalankan pada satu waktu yang diinginkan. Scheduled task dapat berjalan setiap pengguna menghidupkan komputer dan berjalan di belakang layar, dan mulai menjalankan setiap task yang didefinisikan pada saat membuat task baru sehingga proses ini dapat membantu administrator untuk menjalankan semua service yang harus berjalan ketika komputer mengalami crash dan harus dilakukan restart. Penjadwalan task scheduler ini mirip dengan penjadwalan menggunakan crontab di Sistem operasi Linux. Proses task scheduler ini digunakan di dalam aplikasi ini digunakan untuk memulai service gammu pada saat komputer pertama kali dihidupkan. Task scheduler dapat digunakan pada sistem operasi windows dengan mengklik ikon Task scheduled yang terdapat pada menu Start Programs Accessories System Tools. Selanjutnya akan terbuka halaman window scheduled task. Klik pada Add Scheduled Task. Setelah diklik akan muncul halaman windows scheduled task wizard. Klik Next untuk melanjutkan ke tahap memilih aplikasi yang akan dijalankan pada setelah melakukan pemilihan klik next. Selanjutnya masuk ke tahap pemberian nama task dan waktu penjadwalan task.
16 Ada beberapa Pilihan waktu penjadwalan diantaranya, yaitu: 1. Daily (Harian) 2. Weekly (Mingguan), 3. Monthly (Bulanan), 4. One time only (satu waktu), 5. When Computer Starts (Ketika komputer dihidupkan) 6. When I Log On (Ketika log on) Setelah memilih waktu dan memberi nama penjadwalan klik next lagi. Pada bagian ini merupakan fitur keamanan pada task schedule. Hanya Administrator atau pengguna yang memiliki password administrator yang dapat menggunakan task scheduler. Selanjutnya klik finish untuk menambahkan task schedule yang telah dibuat. [http://support.microsoft.com/kb/308569]