Disusun oleh:
Havit Choirul Rovik
J2F007016
Mengetahui,
Ketua Jurusan Matematika Ketua Program Studi
FMIPA UNDIP Teknik Informatika FMIPA UNDIP
ii
ABSTRAK
Pemanfaatan teknologi SMS (Short Message Service) untuk mengirim informasi sudah
merupakan hal yang wajar di masa sekarang. PT Telkom Indonesia Semarang selaku
perusahaan yang bergerak dalam bidang telekomunikasi juga tidak ingin ketinggalan dalam
hal ini. SMS Broadcast adalah aplikasi yang mampu mengirim satu pesan, dalam hal ini
informasi, ke banyak nomor penerima sekaligus. Selain itu, aplikasi ini juga dapat
menyimpan nomor dan nama penerima. Aplikasi SMS Broadcast yang akan
dikembangkan berbasis web dan untuk SMS service berjalan pada sistem operasi Linux.
Sebagai mesin SMS Broadcast dipilih modem dengan jaringan CDMA yang dapat
mengirim pesan menggunakan AT Command.
iii
ABSTRACT
Technology utilization SMS (Short Message Service) to send the information is already a
natural thing in the present. PT Telkom Indonesia Semarang as a company engaged in the
telecommunications sector also do not want to miss this. SMS Broadcast is an application
that is able to send one message, in this case information, to many recipients at the same
number. In addition, this application can also save a number and name of the recipient.
SMS Broadcast which will be developed based on web and for the SMS service running on
the Linux operating system. As the machine selected SMS Broadcast modem with a
CDMA network that can send messages using AT Command.
iv
KATA PENGANTAR
Segala puji syukur bagi Allah SWT atas karunia-Nya yang diberikan kepada penulis
sehingga penulis dapat menyelesaikan penulisan laporan praktek kerja lapangan yang
berjudul “Aplikasi SMS Broadcast Berbasis Linux dan CDMA Divisi Multimedia Telkom
Indonesia Semarang”.
Laporan ini disusun guna melengkapi pengambilan mata kuliah Praktek Kerja
Lapangan (PKL) setelah melakukan praktek di PT. Telkom Indonesia Semarang.
Dalam penyusunan laporan ini tentulah banyak mendapat bimbingan dan bantuan
dari berbagai pihak. Untuk itu, pada kesempatan ini penulis mengucapkan rasa hormat dan
terima kasih kepada:
1. Dra. Rum Hastuti, M.Si selaku Dekan FMIPA UNDIP yang telah memberikan
permohonan izin untuk melakukan PKL di PT. Telkom Indonesia Semarang.
2. Dr. Widowati, M.Si selaku Ketua Jurusan Matematika yang membantu dalam
proses perizinan PKL di PT. Telkom Indonesia Semarang dan proses
penyelenggaraan seminar.
3. Beta Noranita, S.Si, M.Kom, selaku Koordinator PKL yang telah membantu
dalam proses perizinan PKL di PT. Telkom Indonesia Semarang dan proses
penyelenggaraan seminar.
4. Drs. Suhartono, M.Kom, selaku dosen pembimbing yang telah membantu dalam
proses perizinan dan bimbingan hingga terselesaikannya laporan PKL ini.
5. Pihak PT. Telkom Indonesia Semarang yang telah memberi kesempatan PKL,
khususnya untuk Bapak Gatot, Bapak Teguh, Bapak Epi Antonius (Manajer
Divisi Multimedia), Bapak Ruli Hakim (Pembimbing Lapangan) dan Mbak Santi,
Pak Bambang, Pak Fauzi serta seluruh staf dan jajaran Divisi Multimedia yang
telah memberikan bimbingan selama PKL.
6. Handini Sekar Utami selaku partner kerja dan sahabat yang telah bersedia
membantu administrasi selama PKL.
7. Dani dan Yuni, teman PKL di Divisi Multimedia.
8. Keluarga dan kekasih, Anggun Marlina, yang telah memberikan dukungan dan
dorongan.
v
9. Teman-teman Teknik Informatika Universitas Diponegoro, khususnya Keluarga
Zink 2007.
10. Saudaraku di Kontrakan Sumurboto, Ragil, Bang Fauzi, Mas Anton, Gama, Mas
Adi.
11. Semua pihak yang telah membantu kelancaran dalam pelaksanaan PKL, yang
tidak dapat penulis sebutkan satu persatu.
Penulis menyadari bahwa dalam laporan ini masih banyak kekurangan baik dari segi
materi ataupun dalam penyajiannya karena keterbatasan kemampuan dan pengetahuan
penulis. Oleh karena itu, kritik dan saran sangat penulis harapkan.
Semoga laporan ini dapat bermanfaat bagi pembaca pada umumnya dan penulis pada
khususnya.
vi
DAFTAR ISI
ABSTRACT ................................................................................................................... iv
vii
II.2. Divisi Multimedia Telkom Indonesia Semarang ...................................................8
III.2. Linux..............................................................................................................10
III.7. PHP................................................................................................................ 16
viii
IV.2. Kebutuhan Antarmuka Pengguna .................................................................... 25
ix
IV.8.3. Setting Minicom...................................................................................... 39
V.1. Kesimpulan........................................................................................................ 56
DAFTAR PUSTAKA......................................................................................................57
x
DAFTAR GAMBAR
xi
Gambar 4.6. Desain Antarmuka Aplikasi ..........................................................................30
Gambar 4.20. Tampilan Form Beranda Ketika Pengguna belum Login ............................. 42
Gambar 4.24. Penanda Apabila Kata Sandi Lama Sudah Benar ........................................ 44
Gambar 4.25. Sandi Baru Harus Diisi Sebelum Mengisi Konfirmasi ................................ 44
Gambar 4.26. Peringatan Apabila Kata Konfirmasi Sandi Baru Tidak Sesuai ................... 44
xii
Gambar 4.27. Ketiga Kotak Isian Telah Sesuai ................................................................. 44
Gambar 4.32. Pilihan Mengirim Ke Semua Nomor Dalam Buku Telepon ......................... 47
Gambar 4.37. Nomor Penerima Belum Ada Pada Basis Data ............................................ 48
Gambar 4.40. Pilih Nomor Atau Nama Sebagai Kunci Pencarian ..................................... 50
xiii
Gambar 4.48. Menambah Data Melalui Unggah Berkas ................................................... 51
xiv
DAFTAR TABEL
xv
DAFTAR LAMPIRAN
xvi
BAB I
PENDAHULUAN
Melihat latar belakang permasalahan maka masalah yang dirumuskan yaitu bagaimana
membangun Aplikasi SMS Broadcast Berbasis Linux dan CDMA Divisi Multimedia Telkom
Indonesia Semarang yang dapat melakukan pengiriman SMS masal ke banyak penerima
sekaligus.
Pembatasan masalah untuk Praktek Kerja Lapangan (PKL) ini yaitu pembuatan Aplikasi
SMS Broadcast Berbasis Linux dan CDMA Divisi Multimedia Telkom Indonesia Semarang
untuk nantinya diterapkan pada sistem induk yang sudah ada. Pembuatan aplikasi ini berbasis
web menggunakan sistem operasi Linux, bahasa pemrograman PHP dan basis data MySQL.
Aplikasi ini nantinya hanya akan mengirimkan SMS dan tidak sebaliknya.
Laporan PKL ini ditulis untuk melaporkan hasil pembuatan aplikasi kepada pihak
Program Studi Teknik Informatika Universitas Diponegoro ataupun Divisi Multimedia
Telkom Indonesia Semarang.
2
b. Bagi perusahaan
Laporan ini dapat digunakan sebagai bukti pertanggungjawaban praktek kerja lapangan
yang telah dilakukan oleh penulis di perusahaan dan aplikasi yang dibuat dapat menjadi
acuan untuk perusahaan jika ingin menggunakan dan mengembangkan aplikasi ini lebih
lanjut.
c. Bagi universitas
Aplikasi dan laporan ini dapat dijadikan bahan pertimbangan untuk diterapkan pada
universitas, misalnya untuk pengiriman pesan informasi kepada mahasiswa. Informasi
tersebut dapat berupa informasi beasiswa, pembayaran SPP, dan informasi seputar
kampus lainnya.
I.5. Metodologi
Untuk mencapai tujuan kegiatan seperti yang telah disebutkan di atas, maka dilakukan
beberapa metode pelaksanaan, antara lain:
a. Observasi (Pengamatan)
Tahap ini merupakan tanya jawab kepada pembimbing baik kepada dosen pembimbing
maupun kepada pembimbing lapangan mengenai rancangan program yang akan dibuat.
Dengan adanya konsultasi dan diskusi, maka akan diperoleh suatu petunjuk praktis
sehingga dapat berguna untuk menambah parameter berpikir bagi penulis untuk
merekayasa rancangan program.
c. Studi Pustaka
Penulis mempelajari literatur, yang berupa buku-buku, diktat ataupun bentuk lain yang
berhubungan guna mendukung penyelesaian PKL sampai dengan penyusunan laporan.
3
I.6. Sistematika Penulisan
4
BAB II
5
1. Divre I Sumatera,
2. Divre II Jakarta,
6. Divre VI Kalimantan,
Untuk menjalankan bisnis, PT. Telkom mempunyai lima pilar bisnis, diantaranya :
1. Fixed Phone (TELKOM Phone)
2. Mobile Phone
- Interconnection Services
6
5. Fixed Wireless Access (Telkom Flesi), Prepaid Services (Flexi Trendy), Postpaid
Services (Flexi Classy).
PT. Telkom juga mempunyai kelompok bisnis dan beberapa anak perusahaan di
berbagai bidang, diantaranya :
1. Fixed-Phone
2. Selular
5. TELKOM
- Selular
6. Internasional
7
II.2. Divisi Multimedia Telkom Indonesia Semarang
Seperti diketahui TELKOM telah menggelar layanan Multimedia sejak tahun 1997
dengan layanan inti dioperasikan oleh DIVISI MULTIMEDIA. Dalam perjalanan waktu,
TELKOM telah berhasil memposisikan diri sebagai penyedia layanan Multimedia di
Indonesia. Untuk mendukung peran DIVISI MULTIMEDIA sebagai Product Owner (PO)
layanan Multimedia yang sudah tergelar di seluruh Indonesia, maka sangat diperlukan wakil-
wakilnya agar komunikasi dengan Distribution Channel (DC) terjalin dengan baik, dan
dibentuklah Service Area-Service Area di beberapa Kota antara lain : Batam, Medan, Jakarta,
Bandung, Semarang, Surabaya, Balikpapan, Denpasar & Makasar.
Service Area Jateng dibentuk tahun 2003 dan merupakan wakil DIVMEDIA di Area
DIVRE IV Jateng dan DIY. SA Jateng sadar bahwa tugas yang dibebankan tidaklah mudah
untuk meningkatkan layanan, mengawal produk dan mengoperasikan perangkat guna
mencapai target-target yang dibebankan.
SA Jateng memiliki total 18 karyawan yang terdiri dari 10 karyawan Organik dan 8
Tenaga Outsource, berikut datanya :
8
BAB III
LANDASAN TEORI
Short Message Service atau yang lebih dikenal dengan SMS adalah sebuah teknologi
yang memungkinkan untuk menerima maupun mengirim pesan antar telepon bergerak
(ponsel). Teknologi baru ini pertama kali diperkenalkan pada tahun 1992 di Eropa oleh ETSI
(European Telecommunications Standards Institute), dan pada awalnya menjadi suatu standar
untuk telepon wireless yang berbasis GSM (Global System for Mobile Communications).
Namun, teknologi lain seperti CDMA dan TDMA pun memasukkan SMS ini sebagai fitur
standar mereka (Yunianto, 2006).
Sebagaimana namanya, SMS yang berarti layanan pesan pendek, maka besar data yang
dapat ditampung oleh SMS ini sangatlah terbatas. Untuk satu SMS yang dikirimkan, hanya
dapat menampung paling banyak sebesar 140 bytes atau sekitar 1120 bits. Bila diubah ke
dalam bentuk karakter, maka untuk satu SMS hanya dapat berisi paling banyak 160 karakter
untuk karakter latin, dan 70 karakter untuk karakter non-latin seperti karakter Cina maupun
Jepang.
SMS Broadcast adalah pengiriman SMS secara masal ke banyak nomor tujuan
sekaligus. Proses pengiriman pesan ini mirip seperti fasilitas send to many yang ada pada
ponsel. Dengan fasilitas ini, pesan yang sama bisa langsung dikirim ke banyak nomor
penerima tanpa harus mengetik ulang pesan. Gambar skema model pengiriman pesan ke
banyak penerima bisa dilihat pada gambar di bawah.
9
III.2. Linux
Linux, sebuah nama yang tidak asing lagi di dunia komputer saat ini. Kelahiran dan
keberadaanya bisa dikatakan begitu fenomenal ketika dominasi Microsoft Windows sebagai
sistem operasi, dirasa mulai tidak menyenangkan bagi pemakai komputer. Hal ini diakibatkan
dengan adanya isu legalitas penggunaan dan biaya tinggi yang harus dikeluarkan, untuk dapat
menggunakan sistem operasi dan aplikasi yang berjalan di dalamnya (Yunianto, 2006).
Adalah seorang mahasiswa Universitas Helsinki Finlandia bernama Linus B. Torvalds,
yang memperkenalkan Linux pertama kalinya. Pada awalnya, Linux hanyalah sebuah proyek
hobi yang dikerjakan oleh Linus semasa kuliah, dengan Minix sebagai sumber inspirasinya.
Minix sendiri adalah sistem operasi Unix kecil (Minix: Mini Unix) yang dikembangkan oleh
Andrew S. Tanenbaum, seorang profesor yang menggeluti penelitian masalah OS, dari Vrije
Universiteit, Belanda.
Saat itu, Linus menggunakan sistem operasi Minix dalam komputernya. Linus merasa
sistem operasi Minix yang ia gunakan memiliki banyak kekurangan dan kelemahan, dan ia
memiliki keyakinan mampu membuat yang lebih baik dari itu. Dengan dasar keyakinan itu,
pada usia 23 tahun, Linus mulai mengotak-atik kernel Minix dan menjalankannya pada mesin
intel x86. Tidak lama kemudian, tepatnya pada awal oktober 1991, Linus mengumumkan
versi resmi Linux versi 0.02 yang hanya dapat menjalankan shell Bash dan GCC.
Melihat perkembangan respon pengguna internet terhadap Linux yang terus meningkat,
Linus terus mengembangkan kernel hasil kreasinya tersebut sampai sekarang, sehingga
menjadi sebuah sistem Unix yang lengkap. Dengan bantuan para hacker di seluruh dunia,
berbagai bug yang mungkin ada pada sistem operasi Linux, segera dapat diperbaiki dengan
cepat. Berbagai aplikasi yang dibutuhkan untuk menjawab segala kebutuhan operasi
komputer saat inipun, dengan cepat tersedia.
10
III.3. Shell Linux
Shell adalah sebuah program penerjemah perintah yang menjembatani user dengan
sistem operasi. Pada umumnya shell menyediakan prompt sebagai user interface, tempat di
mana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell,
ataupun perintah eksternal untuk mengeksekusi suatu file program.
Vivek G.. Gite (2002), mendefinisikan shell script sebagai berikut:
“Shell Script is series of command written in plain text file. Shell script is just like batch
file in MS-DOS but have more power than the MS-DOS batch file.”
Shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa
file dengan menggunakan editor teks, untuk dieksekusi sebagai layaknya sebuah program
(Wahyono, 2005).
III.4. AT Commands
11
perhatian dari perangkat keras. Dalam hal ini perangkat keras yang digunakan adalah modem.
Modem akan mengirim nilai kembalian untuk perintah yang diberikan. Nilai kembalian
umum:
Proses perangkat lunak merupakan serangkaian kegiatan dan hasil yang berhubungan
dengannya, yang menuju pada dihasilkannya produk perangkat lunak (Sommerville, 2001).
12
Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat aplikasi maupun
proyeknya, metode dan alat-alat bantu yang dipakai, serta kontrol dan penyampaian yang
dibutuhkan (Pressman, 2001).
Salah satu model proses untuk rekayasa perangkat lunak adalah model air terjun
(waterfall). Model ini mengusulkan sebuah pendekatan kepada perkembangan perangkat
lunak secara sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada
seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Model air terjun (waterfall)
dimodelkan sebagai siklus rekayasa konvensional.
Selain model air terjun terdapat juga model yang hampir sama dengan model air terjun,
yaitu model linear sekuensial. Model linear sekuensial dan model air terjun dapat dilihat pada
Gambar berikut.
13
Dalam pembuatan Aplikasi SMS Broadcast ini penulis menggunakan model waterfall
karena sudah terbiasa menggunakan model ini dalam pembuatan aplikasi.
Tahap-tahap utama dari model ini memetakan kegiatan-kegiatan pengembangan dasar
yaitu (Sommerville, 2001):
1. Analisis kebutuhan Sistem. Pelayanan, batasan, dan tujuan sistem ditentukan
melalui konsultasis dengan user sistem. Persyaratan ini kemudian didefinisikan
secara rinci dan berfungsi sebagai spesifikasi sistem.
2. Desain perangkat lunak dan sistem. Kegiatan ini menentukan arsitektur sistem
secara keseluruhan. Perancangan perangkat lunak melibatkan identifikasi dan
deskripsi abstraksi sistem perangkat lunak yang mendasar dan hubungan-
hubungannya.
3. Implementasi dan pengujian unit. Pada tahap ini, perancangan perangkat lunak
direalisasikan sebagai serangkaian program atau unit program. Pengujian unit
melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya.
4. Integrasi dan pengujian sistem. Unit program atau program individual diintegrasikan
atau diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem
telah dipenuhi. Setelah pengujian sistem, perangkat lunak dikirim kepada
pelanggan.
5. Operasional dan pemeliharaan. Pemeliharaan mencakup koreksi dari berbagai eror
yang tidak ditemukan pada tahap-tahap terdahulu, perbaikan atas implementasi unit
sistem dan pengembangan pelayanan sistem.
Menurut Sutarman (2003), situs web dapat dikategorikan menjadi dua, yaitu web statis
dan web dinamis. Web statis adalah web yang berisi/menampilkan informasi-informasi yang
sifatnya statis (tetap), sedangkan web dinamis adalah web yang menampilkan informasi serta
dapat berinteraksi dengan user yang sifatnya dinamis.
Untuk membuat web dinamis dibutuhkan kemampuan pemrograman web. Dalam
pemrograman web ada dua kategori :
14
III.6.1. Server –side programming
Pada server side programming, perintah – perintah program (script) dijalankan di web
server, kemudian hasilnya dikirimkan ke browser dalam bentuk HTML biasa (Sutarman,
2003). Model ini cirinya adalah lebih kompleks, membutuhan server khusus namun aman.
Contoh programnya adalah Common Gateway Interface (CGI)/ Perl, PHP, ASP (Active
Server Pages), dan JSP (Java Server Pages) (Supriyanto, 2007). Berikut adalah abstraksi
server side programming.
script INTERNET
script
r
se
ow
br
eb
W
Hasil eksekusi
script dalam
hasil
bentuk HTML
`
`
Client
Web Server
HTML dijalankan
HTML
`
`
Client
Server
15
III.7. PHP
PHP adalah singkatan dari PHP Hypertext Preprocessor. PHP merupakan sebuah bahasa
skrip yang bersifat server-side. Artinya skrip PHP ini ditempatkan dan diproses di dalam
server kemudian hasilnya yang akan dikirimkan ke klien.
Rasmus Lerdorf adalah orang yang pertama kali menyusun bahasa skrip PHP pada
tahun 1994. Bermula pada saat Rasmus Lerdorf membuat sebuah skrip Perl yang dapat
mengamati siapa saja yang melihat daftar riwayat hidupnya. Selanjutnya skrip tersebut
dikemas menjadi tool yang disebut Personal Home Page. Paket inilah yang menjadi cikal
bakal dari PHP. Kemudian pada tahun 1995, Rasmus menciptakan PHP/FI Versi 2. Pada versi
ini pemrogram dapat menempelkan kode terstruktur dalam tag HTML. Selain itu PHP juga
bisa berkomunikasi dengan basis data dan melakukan perhitungan yang kompleks. PHP bisa
berjalan pada berbagai platform seperti Linux, UNIX, Windows dan Macintosh. Tidak hanya
itu, PHP juga didukung oleh banyak web server. Diantaranya adalah Apache, Microsoft
Internet Information Server, Personal Web Server, Netscape dan iPlanet Server, Oreilly
Website Pro Server, Caudium, Xitami, OmniHTTPd dan web server lainnya.
PHP dirancang secara khusus untuk membentuk suatu web yang dinamis. Artinya
dengan menggunakan skrip PHP maka bisa dibentuk suatu tampilan web berdasarkan
permintaan terkini yang dilakukan oleh klien atau user. Selain itu PHP juga mampu
berkomunikasi dengan berbagai sistem database yang terkenal. Sehigga, untuk menampilkan
data yang bersifat dinamis, yang diambil dari database, merupakan hal yang mudah untuk
diimplementasikan.
<?php
echo “Hello World!”;
?>
16
III.8. HTML
HTML (Hyper Text Markup Language) adalah sebuah bahasa markup yang digunakan
untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah
browser internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia
penerbitan dan percetakan yang disebut SGML (Standard Generalized Markup Language).
HTML sekarang digunakan secara luas sebagai standar untuk menampilkan halaman web.
HTML dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). Ini
merupakan bahasa standar yang digunakan oleh protokol HTTP (Hypertext Transfer
Protocol). HTML bukanlah sebuah bahasa pemograman akan tetapi sebuah bahasa markup
(Markup Language). Skrip HTML terdiri dari sekumpulan tag yang digunakan untuk
mendeskripsikan sebuah halaman website.
<html>
<head>
<title>Membuat HTML Sederhana</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
III.9. CSS
CSS merupakan singkatan dari Cascading Style Sheet. CSS adalah suatu bahasa
stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa
markup. Dengan arti kata bahwa CSS mendefinisikan bagaimana untuk menampilkan suatu
elemen HTML atau bahasa lainnya. Penggunaan paling umum CSS dalah untuk halaman web
yang ditulis dengan bahasa HTML atau XHTML. Akan tetapi juga bisa digunakan untuk
semua jenis dokumen XML, SVG dan XUL. Spesifikasi CSS diatur oleh World Wide Web
Consortium (W3C).
Secara umum CSS biasa digunakan oleh penulis atau pembaca sebuah halaman web
untuk menentukan warna, jenis huruf, tata letak dan berbagai aspek tampilan dokumen. Salah
satu tujuan dari CSS adalah untuk memisahkan antara isi dokumen yang ditulis dengan
17
HTML atau bahasa markup lainnya dengan presentasi dokumennya. Pemisahan ini
diharapkan dapat meningkatkan aksesibilitas isi, memberikan keleluasaan dan kontrol
terhadap tampilan serta mengurangi kompleksitas dan pengulangan pada struktur isi.
a {
text-decoration:none; color: #048ece;
}
a:hover {
text-decoration:underline; color: #0f3167;
}
III.10. Javascript
Javascript pertama kali diperkenalkan oleh Netscape pada tahun 1995. Awalnya bahasa
ini dinamakan Livescript yang berfungsi sebagai bahasa sederhana pada browser Netscape
Navigator 2. Kemudian sejalan dengan berkembangnya kerjasama antara Netscape dengan
Sun (pengembang bahasa pemograman Java), maka Netscape memberikan nama Javascript
kepada bahasa tersebut pada tanggal 4 Desember 1995. Dan pada tahun yang sama Microsoft
juga mengadoptasi teknologi ini yang mereka sebut dengan Jscript pada browser Internet
Explorer 3.
Javascript adalah bahasa yang berbentuk kumpulan skrip yang pada fungsinya berjalan
pada suatu dokumen HTML. Javascript merupakan bahasa skrip pertama di bidang web.
Bahasa ini merupakan bahasa pemograman untuk memberikan kemampuan tambahan
terhadap HTML dengan mengizinkan pengeksekusian perintah – perintah dilakukan pada sisi
user yang artinya pada sisi browser bukan pada server.
<script language="Javascript">
function cetakNama() {
document.getElementById("notelpajax").innerHTML=
"<img src=\"gambar/loadingSmall.gif\" />"
}
</script>
18
III.11. AJAX
Asynchronous Javascript and XML atau yang disingkat dengan AJAX adalah suatu
teknik pemograman untuk menciptakan suatu aplikasi web yang lebih interaktif atau Rich
Internet Application (RIA). AJAX bukanlah sebuah bahasa pemograman baru, akan tetapi
AJAX merupakan sebuah teknik pemanfaatan objek XMLHttpRequest dengan Javascript
untuk berkomunikasi dengan server secara asynchronous. Dengan pemanfaatan obyek
XMLHttpRequest dapat membuat proses berjalan secara background atau bekerja di belakang
layar sementara user masih tetap berinteraksi dengan halaman web yang masih ada. Hal ini
dapat meningkatkan interaktivitas, kecepatan dan usability.
AJAX pertama kali diperkenalkan oleh Jesse James Garrett. Garret memberi istilah
AJAX untuk singkatan dari Asynchronous Javascript and XML. Namun pada
perkembangannya data yang dikomunikasikan secara asynchronous tidaklah harus data XML.
Format data lain juga bisa digunakan untuk berkomunikasi secara asynchronous dengan
server seperti : plain text file, data HTML atau juga berupa data SWF (Flash file). Contoh web
yang menggunakan teknologi AJAX ini adalah Google Map, Flickr.com serta situs jejaring
yang sangat terkenal saat ini yaitu Facebook.
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null) {
alert ("Browser tidak support HTTP Request")
return
}
Data adalah fakta mengenai objek, orang, dan lain-lain. Basis data adalah kumpulan
data, yang dapat digambarkan sebagai aktivitas dari satu atau lebih organisasi yang berelasi.
Basis data sering digambarkan dengan menggunakan Entity Relationship Diagram (ERD)
yaitu suatu diagram yang banyak menggunakan simbol-simbol. Terdiri dari entity, atribut dan
relationship. Entity adalah suatu obyek yang nyata dan bisa dibedakan dengan obyek lainnya.
Atribut adalah perbendaharaan yang dimiliki oleh entity atau relationship. Relationship adalah
asosiasi yang terjadi antara beberapa entity.
19
Dalam ERD hubungan (relasi) dapat terdiri dari sejumlah entitas yang disebut dengan
derajat relasi. Derajat relasi maksimum disebut dengan kardinalitas sedangkan derajat
minimum disebut dengan modalitas. Jadi kardinalitas relasi menunjukkan jumlah maksimum
entitas yang dapat berelasi dengan entitas pada himpunan entitas lain. Kardinalitas relasi yang
terjadi diantara dua himpunan entitas (misalnya A dan B) dapat berupa :
1. Satu ke satu (one to one/ 1-1)
Setiap entitas pada himpunan entitas A dapat berelasi dengan paling banyak satu
entitas pada himpunan entitas B, demikian juga sebaliknya.
2. Satu ke banyak (one to many/ 1-N)
Setiap entitas pada himpunan entitas A dapat berelasi dengan banyak entitas pada
himpunan entitas B, tetapi tidak sebaliknya.
3. Banyak ke banyak (many to many/ M–N)
Setiap entitas pada himpunan entitas A dapat berelasi dengan banyak entitas pada
himpunan entitas B, demikian juga sebaliknya.
ERD memiliki beberapa simbol. Entity diwakili oleh gambar persegi panjang, atribut
diwakili gambar elips dan relationship diwakili gambar diamond. Notasi selengkapnya yang
digunakan dalam ERD dapat dilihat pada gambar di bawah ini:
1 1 Relasi Satu
E Entitas R
ke Satu
r..t
A Atribut Turunan R E Limit Kardinalitas
ISA ISA
Relasi Penanda (Spesialisasi atau
R
Entitas Lemah Generalisasi)
20
III.13. Data Flow Diagram
Data Flow Diagram (DFD) adalah suatu model logika data atau proses yang dibuat
untuk menggambarkan dari mana asal data dan kemana tujuan data yang keluar dari sistem,
dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data
yang tersimpan dan proses yang dikenakan pada data tersebut. DFD sering digunakan untuk
menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan
secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau
dimana data tersebut akan disimpan. DFD merupakan alat yang digunakan pada metodologi
pengembangan sistem yang terstruktur.
DFD terdiri dari context diagram dan diagram rinci (DFD Levelled). Context diagram
berfungsi memetakan model lingkungan (menggambarkan hubungan antara entitas luar,
masukan dan keluaran sistem), yang direpresentasikan dengan lingkaran tunggal yang
mewakili keseluruhan sistem. DFD levelled menggambarkan sistem sebagai jaringan kerja
antara fungsi yang berhubungan satu sama lain dengan aliran dan penyimpanan data, model
ini hanya memodelkan sistem dari sudut pandang fungsi.
Dalam DFD levelled akan terjadi penurunan level dimana dalam penurunan level yang
lebih rendah akan merepresentasikan proses tersebut ke dalam spesifikasi proses yang jelas.
DFD levelled dapat dimulai dari DFD level 0 kemudian turun ke DFD level 1 dan seterusnya.
Setiap penurunan hanya dilakukan bila perlu. Aliran data yang masuk dan keluar pada suatu
proses di level x harus berhubungan dengan aliran data yang masuk dan keluar pada level x+1
yang mendefinisikan proses pada level x tersebut. Proses yang tidak dapat diturunkan/dirinci
lagi dikatakan primitif secara fungsional dan disebut sebagai proses primitif.
21
Dalam penggambaran DFD, terdapat beberapa peraturan yaitu :
2. Tidak diperbolehkan adanya aliran data antara entitas eksternal dengan data store.
Salah satu bahasa query yang banyak digunakan adalah bahasa SQL. SQL digunakan
untuk mengkombinasikan konstruksi relasional aljabar dan relasional kalkulus. SQL tidak
hanya terbatas digunakan untuk query ke dalam basis data saja, akan tetapi juga dapat
digunakan untuk mendefinisikan struktur data, modifikasi data, dan menspesifikasikan
security constraint. Atau dengan kata lain bahwa SQL ini memiliki kemampuan untuk Data
Manipulation Language dan Data Definition Language.
Struktur dasar bahasa SQL terdiri dari tiga klausa, yaitu :
a. SELECT digunakan untuk menampilkan list atribut pada hasil query. SELECT ini
berkorespondensi dengan operasi projection pada operasional aljabar.
b. FROM digunakan sebagai list suatu relasi (tabel) yang akan diproses dan dievaluasi.
Klausa FROM berkorespondensi dengan operasi cartesion product pada relasional
aljabar.
c. Klausa WHERE terdiri dari predikat yang meliputi atribut dalam relasi yang muncul
pada klausa FROM. Klausa WHERE berkorespondensi dengan operasi selection
pada relasional aljabar.
22
III.15. MySQL
MySQL adalah salah satu database server yang sangat terkenal. Kepopulerannya
disebabkan MySQL menggunakan SQL sebagai bahan dasar untuk mengakses basis datanya.
Selain itu, MySQL bersifat free dan bisa dipakai dalam pada berbagai platform. Database
server ini bisa di-download pada http://www.mysql.org atau http://www.mysql.com
MySQL termasuk jenis RDBMS (Relational Database Management System). Sehingga
istilah seperti tabel, baris dan kolom digunakan pada MySQL ini. Pada MySQL, sebuah
database mengandung satu atau lebih tabel. Tabel terdiri dari sejumlah baris dan setiap baris
mengandung satu atau beberapa kolom.
23
BAB IV
PEMBAHASAN
24
IV.2. Kebutuhan Antarmuka Pengguna
Pengguna akan berinteraksi dengan aplikasi ini dengan menggunakan tools sebagai
berikut:
Perangkat keras yang digunakan dalam perancangan memakai perangkat keras yang
disediakan oleh pihak tempat penulis menjalani praktek kerja lapangan, dalam hal ini Telkom
Indonesia. Perangkat keras disini mencakup seperangkat komputer, modem serta SIM Card
untuk mengirim SMS Broadcast. Berikut spesifikasi perangkat keras tersebut:
a. Prosesor Pentium IV 2,8 GHz
b. Kapasitas harddisk 80 GB
c. Memori 784 MB
d. Monitor dengan resolusi 1024x768 Pixel
e. Modem CDMA Venus VT-12
25
IV.4. Kebutuhan Antarmuka Perangkat Lunak
Mengacu pada batasan masalah, pembuatan aplikasi SMS Broadcast berbasis web
menggunakan sistem operasi Linux, bahasa pemrograman PHP dan basis data MySQL,
berikut perangkat lunak yang digunakan:
a. Linux Ubuntu 9.10 Karmic Koala
b. Web browser Mozilla Firefox 3.5
c. Web server XAMPP For Linux (LAMPP) 1.7.0
Data-data yang diproses dalam aplikasi ini meliputi data pengguna, data pesan dan data
penerima. Untuk menggambarkan pemetaan data yang digunakan, maka akan dibuat sebuah
ERD (Entity Relationship Diagram).
Entitas Pesan dan Penerima dihubungkan dengan relationship SMS. Kardinalitas m:n
(many to many) menggambarkan banyak penerima bisa menerima banyak pesan. Untuk
entitas Pengguna sendiri tidak terhubung ke dalam entitas Pesan ataupun Penerima karena
hanya digunakan untuk dapat masuk ke dalam aplikasi (login process).
26
IV.5.2. Kamus Data
Dalam mendesain suatu database, kamus data digunakan untuk mendefinisikan file –
file yang ada di dalam database secara lengkap. Hal ini sangat diperlukan dalam perancangan
database secara fisik. Pada aplikasi ini terdapat kamus data file berupa:
1. Tabel pengguna berisi data-data pengguna untuk dapat masuk ke dalam aplikasi.
2. Tabel penerima berisi data penerima berupa id penerima, nomor telepon dan nama
3. Tabel pesan berisi data pesan yang dikirim, berupa id pesan, isi pesan dan waktu
27
4. Tabel kotak_keluar berisi data pengirim pesan, id dari pesan, dan id penerima
Untuk memodelkan seluruh fungsi yang tercakup dalam aplikasi ini, digunakan Data
Context Diagram (DCD) serta DFD (Data Flow Diagram). DCD dapat juga dikatakan
sebagai DFD Level – 0. Untuk DFD merupakan penjabaran lebih lanjut dari DCD. DFD
berguna untuk menggambarkan fungsi-fungsi yang mentransformasikan data, serta berguna
untuk menggambarkan bagaimana data ditransformasikan pada perangkat lunak.
data_login
login_gagal
pengguna data_pesan SMS_BROADCAST
informasi_pesan
data_penerima +
informasi_penerima
Ada 1 (satu) entitas luar dalam aplikasi ini, yaitu pengguna. Untuk dapat menggunakan
aplikasi, pengguna diharuskan melakukan login terlebih dahulu. Data-data yang dikirimkan
saat login adalah data nama dan sandi. Apabila proses login gagal, maka aplikasi akan
mengembalikan pesan error. Setelah berhasil login, pengguna dapat mengirim pesan.
28
IV.6.2. Data Flow Diagram Level 1
data_penerima
data_penerima
1.2 data_penerima penerima
pengguna informasi_penerima pengolahan_d
ata_penerima
data_penerima pesan
data_pesan
1.3
kotak_keluar
data_pesan
[data_pesan] sms
[informasi_pesan]
data_penerima
data_pesan
Dalam DFD level 1 ini, aplikasi SMS Broadcast terdiri atas 3 subproses, yaitu:
a. Sub proses otentikasi pengguna
Menangani otentikasi pengguna. Melibatkan data store pengguna berupa Nama dan
Sandi. Alur data yang masuk ke proses ini adalah data pengguna. Dan alur data yang
keluar dari proses ini yaitu informasi mengenai login.
b. Sub proses pengolahan data penerima
Sebagai proses CRUD (Create, Retrieve, Update, Delete) terhadap data penerima. Proses
ini melibatkan data store penerima.
c. Sub proses SMS
Merupakan proses untuk mengirim pesan. Melibatkan data store pesan, data store
penerima dan data store kotak_keluar. Data pesan terdiri atas: isi pesan dan waktu
pengiriman sementara data penerima terdiri atas: nama dan nomor penerima.
29
IV.7. Desain Antarmuka
Secara garis besar, desain antarmuka aplikasi SMS Broadcast terdiri dari 4 (empat
bagian), yaitu:
- Header : berisi logo dan nama aplikasi
- Menu : berisi menu yang bisa dipilih pengguna
- Isi : merupakan isi utama dari halaman aplikasi
- Footer : berisi keterangan nama dan tahun pembuatan aplikasi
Pada Menu sendiri, terdapat 6 (enam) menu untuk berinteraksi dengan pengguna, yaitu:
Beranda, Kirim SMS, Buku Telepon, Pesan, Tentang Kami, dan Masuk (ketika pengguna
belum login) atau Keluar (ketika pengguna telah login).
30
IV.7.1. Desain Antarmuka Form Masuk
Desain form Masuk ini merupakan penjabaran pada DFD pada proses otentikasi
pengguna. Pada form ini, terdapat beberapa button dengan kegunaan sebagai berikut:
- textbox Pengguna : diisi nama pengguna
- textbox Sandi : diisi kata sandi pengguna
- button Batal : untuk membatalkan pengisian Pengguna dan Sandi
- button Masuk : untuk mengeksekusi perintah
Jika „Pengguna‟ dan „Sandi‟ yang dimasukan valid maka akan menuju halaman Beranda
dan dapat mengakses semua halaman, jika tidak valid maka akan dikembalikan ke halaman
ini dengan peringatan pesan kesalahan.
31
IV.7.2. Desain Antarmuka Form Kirim SMS
Form Kirim SMS merupakan fitur utama dari aplikasi SMS Broadcast. Pada form ini,
terdapat beberapa button dengan kegunaan sebagai berikut:
- textarea Pesan Anda : untuk mengetik isi pesan yang dikirim
- textbox Nomor Tujuan : diisi nomor tujuan pengiriman pesan
- combobox Nama : untuk mengisi textbox Nomor Tujuan dengan nomor
yang ada pada basis data
- checkbox Kirim Semua : untuk mengirim pesan ke semua nomor yang ada pada
basis data (SMS Broadcast)
- button Batal : membatalkan pengiriman pesan
- button Kirim : mengeksekusi perintah pengiriman pesan
32
IV.7.3. Desain Antarmuka Form Buku Telepon
Form Buku Telepon berisi nomor telepon dan nama. Pada form ini, terdapat beberapa
button dengan kegunaan sebagai berikut:
- hyperlink ubah : untuk mengedit nomor telepon atau nama
- hyperlink hapus : untuk menghapus nomor telepon atau nama
- hyperlink Tambah Data : untuk untuk menambah nomor telepon atau nama
- button Nomor : pencarian nomor telepon
- textbox Kunci : kata kunci pencarian
- button Cari : mengeksekusi perintah pencarian nomor telepon atau
nama
Button Nomor bisa diubah menjadi Nama untuk pencarian berdasarkan nama.
33
IV.7.4. Desain Antarmuka Form Tambah Data
Pada Form Tambah Data pengguna dapat menambahkan data baru berupa nomor
telepon dan nama. Terdapat beberapa button dengan kegunaan sebagai berikut:
- textbox Nomor Telepon : nomor telepon baru yang akan dimasukkan
- textbox Nama : nama baru
- button Batal : membatalkan penambahan data
- button Tambah : mengeksekusi perintah penambahan data
Pada Form Ubah Data pengguna dapat mengubah data yang sudah ada. Terdapat
beberapa button dengan kegunaan sebagai berikut:
- textbox Nomor Telepon : berisi nomor telepon yang akan diubah
- textbox Nama : berisi nama yang akan diubah
- button Batal : membatalkan pengubahan data
- button Tambah : mengeksekusi perintah pengubahan data
34
IV.7.6. Desain Antarmuka Form Hapus Data
Pada Form Hapus Data pengguna dapat menghapus data nomor telepon dan nama.
Terdapat beberapa button dengan kegunaan sebagai berikut:
- textbox Nomor Telepon : berisi nomor telepon yang akan dihapus
- textbox Nama : berisi nama yang akan dihapus
- button Batal : membatalkan penghapusan data
- button Tambah : mengeksekusi perintah penghapusan data
Pada Form Ganti Sandi pengguna dapat mengganti sandi yang digunakan untuk masuk
ke dalam aplikasi. Terdapat beberapa button dengan kegunaan sebagai berikut:
- textbox Sandi lama : diisi kata sandi yang akan diganti
- textbox Sandi baru : diisi kata sandi baru
- textbox Konfirmasi : pengguna diminta mengetik ulang sandi baru
- button Batal : untuk membatalkan penggantian sandi
- button Ganti : untuk mengeksekusi perintah
35
IV.7.8. Desain Antarmuka Form Pesan
Form Pesan berisi history pengiriman pesan. Berikut penjelasan masing-masing kolom
pada Form Pesan:
- No : nomor urut pesan
- Pesan : isi pesan
- Penerima : nomor telepon penerima pesan
- Waktu : waktu pengiriman pesan, dalam format tahun-bulan-tanggal
jam-menit-detik
36
IV.8. Implementasi Sistem
Aplikasi SMS Broadcast ini merupakan aplikasi berbasis web yang diimplementasikan
dengan menggunakan script PHP, CSS, AJAX dan HTML. Manajemen basis data
menggunakan MySQL. Koneksi ke modem pengirim pesan menggunakan Minicom yang
dijalankan dari Shell Linux dan AT Command untuk berkomunikasi.
Pengguna berinteraksi dengan aplikasi melalui browser. Data nama penerima dan
nomor telepon disimpan dengan MySQL dan diakses melalui PHP. Melalui PHP ini juga
proses pengiriman pesan dijalankan.
Perintah shell_exec pada PHP menjembatani antara pemrograman PHP dengan
pemrograman Bash pada Shell Linux. Dari Bash Shell, perintah diteruskan ke Minicom.
Minicom merupakan aplikasi untuk berkomunikasi dengan modem. Kemudian Minicom
menginstruksikan dengan AT Command dan pesan terkirim ke nomor penerima.
Mekanisme tersebut dapat dilihat pada gambar berikut:
37
IV.8.2. PHP untuk Mengirim Pesan
1 ...
2 $tablename = "bukutelp";
3 ...
4 $sqlQuery = "SELECT no_telp, nama FROM $tablename";
5 ...
6 $result = mysql_query ($sqlQuery);
7 $teksArea = $_POST['teksArea'];
8 ...
9 //tulis pesan k PESAN d folder bashsms
10 $file = 'bashsms/pesan';
11 $pesan = "$teksArea\n";
12 file_put_contents($file, $pesan);
13 //end tulis pesan
14 ...
15 while ($row=mysql_fetch_array($result)) {
16 $notelp = $row['no_telp'];
17 $nomorPenerima .= "$notelp\n";
18 }
19 ...
20 //tulis penerima k NOMOR folder bashsms
21 $file = 'bashsms/nomor';
22 file_put_contents($file, $nomorPenerima);
23 //end tulis penerima
24 //eksekusi shell via php
25 $output = shell_exec('./bashsms/kirim');
26 //end eksekusi shell
27 ...
Penjelasan :
- Baris 2 : mengisi variabel tablename dengan tabel bukutelp
- Baris 4 : perintah SQL, untuk mengambil data nomor telepon dan nama dari
tabel bukutelp
- Baris 7 : mengisi variabel teksArea dengan isi pesan
- Baris 10 – 12 : menulis pesan ke dalam folder bashsms. Folder ini berhubungan
dengan Shell Linux
- Baris 15 – 18 : mengambil semua nomor telepon yang ada pada basis data
- Baris 21 – 22 : menulis nomor telepon ke dalam folder bashsms
- Baris 25 : jalankan shell_exec untuk mengeksekusi perintah pengiriman pesan
38
IV.8.3. Setting Minicom
Minicom merupakan aplikasi penghubung antara pemrograman Bash pada Shell Linux
dengan AT Command pada modem. Setting Minicom seperti berikut:
1. Masuk terminal dan ketikkan perintah minicom –s
2. Pada menu konfigurasi pilih Konfigurasi Port Serial
39
IV.8.4. Bash dan AT Commands untuk Mengirim Pesan
Fitur pengiriman pesan dijalankan oleh pemrograman Bash dan AT Command. Listing
program pengirim pesan secara lengkap dapat dilihat sebagai berikut :
1 #!/bin/bash
2
3 #minicom -S bashsms/cekmodem
4 echo ".: Sukses menginisialisasi modem :."
5 sleep 3
6 pesan=`cat bashsms/pesan`
7 echo "========================================" >> bashsms/riwayat.log
8 echo `date` >> bashsms/riwayat.log
9 echo "========================================" >> bashsms/riwayat.log
10 echo "pesan : $pesan" >> bashsms/riwayat.log
11 echo "penerima : " >> bashsms/riwayat.log
12 hitKar=`wc \-m bashsms/pesan`
13 kar=${hitKar%% bashsms/pesan*}
14 let pjg=$kar-1
15 i=1
16 while read ANYNAME; do
17 echo "send at\$hsmssd=${ANYNAME},$pjg,0,1" >> bashsms/sms.send
18 echo "send $pesan" >> bashsms/sms.send
19 echo "sleep 7" >> bashsms/sms.send
20 echo "$ANYNAME" >> bashsms/riwayat.log
21 minicom -S bashsms/kirimpesan
22 rm bashsms/sms.send
23 let i=$i+1
24 done < bashsms/nomor
25 echo "========================================" >> bashsms/riwayat.log
26 echo " " >> bashsms/riwayat.log
27 echo " " >> bashsms/riwayat.log
28 echo ".: Selesai :."
Baris 1, #!/bin/bash memberitahu Shell Linux bahwa Shell yang akan digunakan
adalah BASH (Bourne-Again Shell).
Perintah #minicom -S bashsms/cekmodem (baris 3) digunakan untuk inisialisasi
modem. Panjang pesan didapat dengan menggunakan perintah wc (word count), yaitu pada
baris 12, hitKar=`wc \-m bashsms/pesan`.
Lewat minicom dikirimkan perintah AT Command : (baris 17)
send at\$hsmssd=${ANYNAME},$pjg,0,1.
Dan eksekusi akhir disampaikan ke minicom (baris 21)
minicom -S bashsms/kirimpesan
40
Untuk dapat mengirimkan pesan dibutuhkan beberapa parameter :
AT$HSMSSD=<destID>,<length>[,<ack>[,<format>[,<prt>[,<prv>]]]]
41
IV.8.5. Form Beranda
Form Beranda merupakan form yang pertama kali tampil ketika pengguna membuka
Aplikasi SMS Broadcast. Pengguna diharuskan untuk login terlebih dahulu. Apabila belum
login, menu yang ada tidak bisa diakses.
42
Ketika pengguna sudah login, Form Beranda akan menampilkan menu bantuan untuk
menggunakan aplikasi dan mengubah Sandi untuk login.
Untuk mengganti sandi, pengguna diminta memasukkan kata sandi lama, kata sandi
baru dan konfirmasi ulang kata sandi baru. Untuk mengeksekusi perintah penggantian sandi,
pengguna bisa menekan tombol Ganti, dan untuk membatalkan, tekan tombol Batal.
43
Apabila kata sandi lama yang dimasukkan salah, maka akan tampil tanda . Tanda
Kata sandi baru harus diisi sebelum mengisi konfirmasi sandi baru. Apabila pengguna
melewatkan hal ini, akan muncul peringatan Sandi baru belum diisi.
Setelah kata sandi baru diisi, akan muncul penanda dan pengguna bisa melanjutkan
mengisi konfirmasi. Apabila kata sandi konfirmasi yang dimasukkan tidak sesuai dengan kata
sandi baru, akan muncul peringatan Konfirmasi sandi baru salah.
Gambar 4.26. Peringatan Apabila Kata Konfirmasi Sandi Baru Tidak Sesuai 39
Ketika ketiga kotak isian telah ditandai dengan pengguna bisa mengeksekusi
perintah penggantian sandi dengan menekan tombol Ganti.
44
IV.8.7. Form Masuk
Form Masuk mengharuskan pengguna untuk login dengan mengetikkan „pengguna‟ dan
„sandi‟. Tampilan form dapat dilihat pada gambar 4-9 berikut.
Apabila salah memasukkan „pengguna‟ atau „sandi‟ akan muncul pesan peringatan
kesalahan „Masukkan Pengguna dan Sandi dengan Benar‟.
45
IV.8.8. Form Kirim SMS
Form Kirim SMS merupakan fitur utama dari aplikasi SMS Broadcast. Pada form ini,
terdapat beberapa button dengan kegunaan sebagai berikut:
- textarea Pesan Anda : untuk mengetik isi pesan yang dikirim
- textbox Nomor Tujuan : diisi nomor tujuan pengiriman pesan
- combobox Nama : untuk mengisi textbox Nomor Tujuan dengan nomor
yang ada pada basis data
- checkbox Kirim Semua : untuk mengirim pesan ke semua nomor yang ada pada
basis data (SMS Broadcast)
- button Batal : membatalkan pengiriman pesan
- button Kirim : mengeksekusi perintah pengiriman pesan
46
Untuk mengirimkan pesan, berikut langkah-langkah yang harus dilakukan:
1. Mengisi kotak isian Pesan Anda dengan pesan yang akan dikirim
2. Mengisi kotak isian Nomor Tujuan. Pada langkah ini, terdapat dua pilihan
a. Pesan dikirim masal (SMS Broadcast)
Untuk melakukan hal ini, pilih Kirim Ke Semua Nomor dalam Buku Telepon
47
3. Selanjutnya tekan tombol Kirim dan pesan akan terkirim
Gambar berikut merupakan tampilan setelah proses pengiriman pesan dilakukan.
Pada form ini, terdapat textarea Pesan Anda berisi pesan yang telah dikirimkan.
Tabel Terkirim Ke, menunjukkan tujuan pengiriman pesan.
Untuk pesan yang dikirim ke satu nomor tujuan (poin 2.b) di atas, selain memilih nama,
pengguna juga bisa mengisikan Nomor Tujuan. Hal ini apabila nomor tujuan belum ada pada
basis data.
Setelah pengguna menekan tombol Kirim, akan muncul form pemberitahuan apabila
nomor penerima belum ada pada basis data.
48
Pengguna bisa memilih menu Simpan, gambar , untuk menyimpan nomor tersebut.
Dan akan dialihkan ke halaman simpan nomor telepon.
Form Buku Telepon berisi nomor telepon dan nama. Icon digunakan untuk mengedit
nomor telepon atau nama. Dan untuk menghapus nomor telepon atau nama pengguna bisa
menekan icon .
Apabila ingin menambah nomor telepon atau nama, pengguna bisa menekan tombol
Tambah Data?. Untuk menambah data melalui file eksternal, pengguna bisa menekan icon
49
Pencarian data dilakukan berdasarkan nomor telepon atau nama. Untuk menentukan
kata kunci yang akan digunakan, pilih Nomor atau Nama.
Pada saat pengguna mengisi kata kunci pencarian, akan muncul hint (saran).
Hasil pencarian tidak selalu sama dengan hint. Berikut pencarian berdasarkan Nama.
50
Dan adakalanya tidak keluar hint karena data yang dicari tidak ada.
Seperti telah dibahas sebelumnya, apabila ingin menambah nomor telepon atau nama,
pengguna bisa menekan tombol Tambah Data?. Untuk menambah data melalui file eksternal,
pengguna bisa menekan icon
File eksternal yang didukung adalah file dengan ekstensi csv atau txt. Pengguna
dapat memilih file tersebut melalui pilihan browse. Selanjutnya tentukan pemisah datanya,
dengan pemisah data berupa koma (,) atau titik koma (;).
51
File csv dapat dibuat dengan menggunakan aplikasi OpenOffice Calc atau Text Editor
Gedit. Berikut tampilan file csv ketika dibuka menggunakan OpenOffice Calc dan Gedit.
Untuk mengedit nomor telepon atau nama, pengguna bisa menekan icon dan akan
dialihkan ke halaman Ubah Data sebagai berikut. Pada kotak isian akan tampil data yang akan
diubah. Untuk melakukan pengubahan, tekan tombol Ganti. Sedangkan untuk membatalkan
tekan tombol Batal.
52
IV.8.12. Form Hapus Data
Untuk menghapus nomor telepon atau nama, pengguna bisa menekan icon dan akan
dialihkan ke halaman Hapus Data sebagai berikut. Pada kotak isian akan tampil data yang
akan dihapus. Untuk melakukan penghapusan, tekan tombol Hapus. Sedangkan untuk
membatalkan tekan tombol Batal.
Untuk menghapus semua data nomor telepon dan nama, pengguna bisa menekan tombol
- dan akan dialihkan ke halaman konfirmasi. Pilih ya untuk mengosongkan buku telepon,atau
Form Pesan berisi history pengiriman pesan berupa nomor urut pesan, isi pesan, nomor
telepon penerima pesan, dan waktu pengiriman pesan.
53
IV.8.14. Form Tentang Kami
Form Tentang Kami berisi keterangan singkat mengenai Aplikasi SMS Broadcast yang
dikembangkan menggunakan :
- Linux Ubuntu Karmic Koala 9.10
- Apache
- PHP
- MySQL
- Bash Shell
- Minicom
54
IV.8.15. Shortcut Untuk Aplikasi SMS Broadcast
Untuk memudahkan penggunaan aplikasi, dibuatlah shortcut pada desktop. Shortcut ini
memiliki empat kegunaan:
1. Menjalankan web server LAMPP
2. Mengubah default permission dari character device modem.
3. Menjalankan web browser Mozilla Firefox
4. Menghentikan service LAMPP setelah aplikasi selesai digunakan
Shortcut ini merupakan file berekstensi sh dan isinya berhubungan dengan
pemrograman BASH pada Shell Linux. Berikut isi shortcut tersebut:
1 #!/bin/bash
2
3 sudo /opt/lampp/lampp start
4 sudo chmod ugo+rw /dev/ttyUSB0
5 firefox
6 sudo /opt/lampp/lampp stop
Penjelasan:
- Baris 1 : memberitahu bahwa yang akan dipakai adalah Bash Shell
- Baris 3 : menjalankan service LAMPP
- Baris 4 : mengubah file permission modem
55
BAB V
PENUTUP
V.1. Kesimpulan
1. Aplikasi SMS Brodcast berhasil dibangun di atas mesin Linux dengan menggunakan
bahasa pemrograman PHP, basis data MySQL, serta Shell Linux dan AT Commands
untuk komunikasi dengan modem pengirim pesan.
2. Aplikasi SMS Broadcast berhasil digunakan untuk melakukan pengiriman SMS masal
ke banyak penerima sekaligus.
V.2. Saran
1. Penambahan fitur grouping pada penerima pesan sehingga bisa mengirim pesan kepada
kelompok tertentu.
2. Aplikasi SMS Broadcast ini bisa dikembangkan lebih lanjut dengan mengedepankan
aspek optimasi pengiriman pesan.
56
DAFTAR PUSTAKA
57
[10] Irwansyah, Iqbal, 2008, “Rancang bangun SMS gateway berbasis web dengan sistem
operasi Linuk Ubuntu”, Tesis, Universitas Indonesia.
[11] Multi-Tech Systems, Inc., 2004, “AT Commands For CDMA Wireless Modems”, hal.11,
Multi-Tech Systems, Inc., Minnesota.
[12] Noprianto, 2010, “Bekerja dengan AT Command pada GSM Modem untuk SMS”,
InfoLINUX Edisi 03/2010 hal. 42-43, Jakarta.
[13] Pressman, Roger S., 2001, “Software Engineering: A Practitioner's Approach (6th
edition)”, New York: McGrawHill.
[14] Shandy F., 2010, "User Manual M1 Series Wireless Modem", Bab AT Command Sub
Bab M13H211/M13H311 SMS hal 19, Forwell Wireless Co., Ltd.,China.
[15] Sommerville, Ian, 2001, “Software Engineering 6th”, Addison Wesley.
[16] Supriyanto Aji, 2007, “Web dengan HTML dan XML”, Graha Ilmu, Yogyakarta.
[17] Sutarman, 2003, “Membangun Aplikasi Web dengan PHP dan MySQL”, Graha Ilmu,
Yogyakarta.
[18] Utomo Prasetya Ambang, 2006, “Membangun Aplikasi SMS Berbasis Open Source”,
ANDI, Yogyakarta.
[19] Utami, Handini S, 2010, “Pengembangan Aplikasi SMS Broadcast pada PT. Telkom
Semarang”, Laporan Praktek Kerja Lapangan, Teknik Informatika, Universitas
Diponegoro.
[20] Wahyono Teguh, 2005, “Tutorial Pemrograman Shell Linux”, ANDI, Yogyakarta.
[21] Widodo A. P., Riyanto D. E., Noranita B., 2004, “Buku Ajar Basis Data”, Jurusan
Matematika FMIPA Universitas Diponegoro, Semarang.
[22] Yunianto, 2006, “Membangun Aplikasi SMS Gateway di Linux”, Dian Rakyat, Jakarta.
58
Lampiran 1 : Surat Keterangan Selesai Praktek Kerja Lapangan
Lampiran 2 : Notulensi Seminar Laporan Praktek Kerja Lapangan