Anda di halaman 1dari 81

HALAM AN J UDUL

LAPORAN PRAKTEK KERJA LAPANGAN


APLIKASI SMS BROADCAST BERBASIS LINUX DAN CDMA
DIVISI MULTIMEDIA TELKOM INDONESIA SEMARANG

Disusun oleh:
Havit Choirul Rovik
J2F007016

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS DIPONEGORO
2011
HALAMAN PENGESAHAN

Laporan PKL dengan tema :


“Aplikasi SMS Broadcast Berbasis Linux dan CDMA
Divisi Multimedia Telkom Indonesia Semarang”
Disusun oleh :
Nama : Havit Choirul Rovik
NIM : J2F007016
Fak/Jurusan/ProgramStudi : MIPA/Matematika/Teknik Informatika
Telah disetujui dan diseminarkan pada 7 Februari 2011

Semarang, Februari 2011


Koordinator PKL Menyetujui,
Teknik Informatika FMIPA UNDIP Dosen Pembimbing

Beta Noranita, S.Si, M.Kom Drs. Suhartono, M.Kom


NIP. 1973 08 29 1998 02 2 001 NIP. 1955 04 07 1983 03 1 003

Mengetahui,
Ketua Jurusan Matematika Ketua Program Studi
FMIPA UNDIP Teknik Informatika FMIPA UNDIP

Dr. Widowati, S.Si, M.Si Drs. Eko Adi Sarwoko, M.Kom


NIP. 1969 02 14 1994 03 2 002 NIP. 1965 11 07 1992 03 1 003

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.

Kata kunci: SMS Broadcast, Linux, CDMA, 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.

Keywords: SMS Broadcast, Linux, CDMA, 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.

Semarang, 11 Februari 2011


Penulis,

Havit Choirul Rovik

vi
DAFTAR ISI

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

HALAMAN PENGESAHAN ......................................................................................... ii

ABSTRAK ...................................................................................................................... iii

ABSTRACT ................................................................................................................... iv

KATA PENGANTAR .......................................................................................................v

DAFTAR ISI ................................................................................................................. vii

DAFTAR GAMBAR ...................................................................................................... xi

DAFTAR TABEL ...........................................................................................................xv

DAFTAR LAMPIRAN .................................................................................................xvi

BAB I PENDAHULUAN ................................................................................................1

I.1. Latar Belakang Masalah .......................................................................................1

I.2. Rumusan Masalah ................................................................................................2

I.3. Batasan Masalah ..................................................................................................2

I.4. Tujuan dan Manfaat .............................................................................................2

I.5. Metodologi ..........................................................................................................3

I.6. Sistematika Penulisan ..........................................................................................4

BAB II TINJAUAN UMUM PERUSAHAAN ...............................................................5

II.1. Sekilas Telkom.....................................................................................................5

vii
II.2. Divisi Multimedia Telkom Indonesia Semarang ...................................................8

BAB III LANDASAN TEORI .........................................................................................9

III.1. SMS Broadcast .................................................................................................9

III.2. Linux..............................................................................................................10

III.3. Shell Linux..................................................................................................... 11

III.4. AT Commands ................................................................................................ 11

III.5. Proses Perangkat Lunak.................................................................................. 12

III.6. Konsep Internet Programming ........................................................................ 14

III.6.1. Server –side programming ....................................................................... 15

III.6.2. Client-side programming ......................................................................... 15

III.7. PHP................................................................................................................ 16

III.8. HTML ............................................................................................................ 17

III.9. CSS ................................................................................................................ 17

III.10. Javascript ....................................................................................................... 18

III.11. AJAX .............................................................................................................19

III.12. Entity Relationship Diagram ..........................................................................19

III.13. Data Flow Diagram ........................................................................................ 21

III.14. Structure Query Language (SQL) ................................................................... 22

III.15. MySQL ..........................................................................................................23

BAB IV PEMBAHASAN ............................................................................................... 24

IV.1. Deskripsi Umum Perangkat Lunak ................................................................. 24

viii
IV.2. Kebutuhan Antarmuka Pengguna .................................................................... 25

IV.3. Kebutuhan Antarmuka Perangkat Keras.......................................................... 25

IV.4. Kebutuhan Antarmuka Perangkat Lunak ......................................................... 26

IV.5. Pemodelan Data ............................................................................................. 26

IV.5.1. Entity Relationship Diagram ................................................................... 26

IV.5.2. Kamus Data............................................................................................. 27

IV.6. Pemodelan Fungsional.................................................................................... 28

IV.6.1. Data Flow Diagram Level 0 (DCD) ......................................................... 28

IV.6.2. Data Flow Diagram Level 1 .................................................................... 29

IV.7. Desain Antarmuka .......................................................................................... 30

IV.7.1. Desain Antarmuka Form Masuk .............................................................. 31

IV.7.2. Desain Antarmuka Form Kirim SMS ....................................................... 32

IV.7.3. Desain Antarmuka Form Buku Telepon ................................................... 33

IV.7.4. Desain Antarmuka Form Tambah Data .................................................... 34

IV.7.5. Desain Antarmuka Form Ubah Data ........................................................ 34

IV.7.6. Desain Antarmuka Form Hapus Data....................................................... 35

IV.7.7. Desain Antarmuka Form Ganti Sandi ...................................................... 35

IV.7.8. Desain Antarmuka Form Pesan ................................................................ 36

IV.8. Implementasi Sistem ...................................................................................... 37

IV.8.1. Mekanisme Mesin SMS Broadcast .......................................................... 37

IV.8.2. PHP untuk Mengirim Pesan ..................................................................... 38

ix
IV.8.3. Setting Minicom...................................................................................... 39

IV.8.4. Bash dan AT Commands untuk Mengirim Pesan......................................40

IV.8.5. Form Beranda.......................................................................................... 42

IV.8.6. Form Ganti Sandi .................................................................................... 43

IV.8.7. Form Masuk ............................................................................................ 45

IV.8.8. Form Kirim SMS .................................................................................... 46

IV.8.9. Form Buku Telepon ................................................................................. 49

IV.8.10. Form Tambah Data .................................................................................. 51

IV.8.11. Form Ubah Data ...................................................................................... 52

IV.8.12. Form Hapus Data .................................................................................... 53

IV.8.13. Form Pesan ............................................................................................. 53

IV.8.14. Form Tentang Kami................................................................................. 54

IV.8.15. Shortcut Untuk Aplikasi SMS Broadcast ................................................. 55

BAB V PENUTUP ..........................................................................................................56

V.1. Kesimpulan........................................................................................................ 56

V.2. Saran ................................................................................................................. 56

DAFTAR PUSTAKA......................................................................................................57

x
DAFTAR GAMBAR

Gambar 3.1. Skema Model Pengiriman Pesan ke Banyak Penerima ...................................9

Gambar 3.2. Logo Linux .................................................................................................. 10

Gambar 3.3. Model Linear Sekuensial (Pressman, 2001) .................................................. 13

Gambar 3.4. Model Waterfall (Sommerville, 2001) .......................................................... 13

Gambar 3.5. Abstraksi Server-Side Programming............................................................. 15

Gambar 3.6. Abstraksi Client-Side Programming ............................................................. 15

Gambar 3.7. Sintaks Dasar PHP ....................................................................................... 16

Gambar 3.8. Sintaks Dasar HTML ................................................................................... 17

Gambar 3.9. Contoh Sintaks CSS ..................................................................................... 18

Gambar 3.10. Contoh sintaks Javascript ...........................................................................18

Gambar 3.11. Contoh Sintaks AJAX ................................................................................ 19

Gambar 3.12. Notasi dalam ERD ..................................................................................... 20

Gambar 3.13. Notasi dalam DFD ..................................................................................... 21

Gambar 4.1. Modem CDMA Venus VT-12 ....................................................................... 25

Gambar 4.2. SIM Card Flexi Trendy ................................................................................ 25

Gambar 4.3. Entity Relationship Diagram SMS Broadcast ...............................................26

Gambar 4.4. Data Flow Diagram SMS Broadcast Level 0 ................................................ 28

Gambar 4.5. Data Flow Diagram SMS Broadcast Level 1 ................................................ 29

xi
Gambar 4.6. Desain Antarmuka Aplikasi ..........................................................................30

Gambar 4.7. Desain Form Masuk ..................................................................................... 31

Gambar 4.8. Desain Form Kirim SMS .............................................................................32

Gambar 4.9. Desain Form Buku Telepon ..........................................................................33

Gambar 4.10. Pencarian Berdasarkan Nama ..................................................................... 33

Gambar 4.11. Desain Antarmuka Form Tambah Data ....................................................... 34

Gambar 4.12. Desain Antarmuka Form Ubah Data .......................................................... 34

Gambar 4.13. Desain Antarmuka Form Hapus Data ........................................................ 35

Gambar 4.14. Desain Antarmuka Form Ganti Sandi ......................................................... 35

Gambar 4.15. Desain Form Pesan .................................................................................... 36

Gambar 4.16. Mekanisme Mesin SMS Broadcast ............................................................. 37

Gambar 4.17. Konfigurasi Minicom ................................................................................. 39

Gambar 4.18. Konfigurasi Perangkat Serial dan Bit Parity ...............................................39

Gambar 4.19. Batasan Akses Apabila Belum Login .......................................................... 42

Gambar 4.20. Tampilan Form Beranda Ketika Pengguna belum Login ............................. 42

Gambar 4.21. Tampilan Form Beranda Sesudah Login ..................................................... 43

Gambar 4.22. Tampilan Form Ganti Sandi ....................................................................... 43

Gambar 4.23. Peringatan Apabila Kata Sandi Lama Tidak Sesuai..................................... 44

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.28. Tampilan Form Masuk ...............................................................................45

Gambar 4.29. Tampilan Pesan Kesalahan Login ............................................................... 45

Gambar 4.30. Tampilan Form Kirim SMS ........................................................................ 46

Gambar 4.31. Mengisi Pesan yang Akan Dikirim ............................................................ 47

Gambar 4.32. Pilihan Mengirim Ke Semua Nomor Dalam Buku Telepon ......................... 47

Gambar 4.33. Pilih Nama Pada Nomor Tujuan ................................................................. 47

Gambar 4.34. Nomor Tujuan Terisi Otomatis ................................................................... 47

Gambar 4.35. Pesan Terkirim ........................................................................................... 48

Gambar 4.36. Mengisi Sendiri Nomor Tujuan .................................................................. 48

Gambar 4.37. Nomor Penerima Belum Ada Pada Basis Data ............................................ 48

Gambar 4.38. Tampilan Halaman Simpan Data Nomor Telepon ....................................... 49

Gambar 4.39. Tampilan Form Buku Telepon .................................................................... 49

Gambar 4.40. Pilih Nomor Atau Nama Sebagai Kunci Pencarian ..................................... 50

Gambar 4.41. Hint Saat Pencarian Berdasarkan Nomor .................................................... 50

Gambar 4.42. Hasil Pencarian Berdasarkan Nomor .......................................................... 50

Gambar 4.43. Hint Saat Pencarian Berdasarkan Nama ..................................................... 50

Gambar 4.44. Hasil Pencarian Berdasarkan Nama ............................................................ 50

Gambar 4.45. Tidak Ada Saran ......................................................................................... 51

Gambar 4.46. Form Tambah Data..................................................................................... 51

Gambar 4.47. Form Tambah Data Melalui File Eksternal ................................................. 51

xiii
Gambar 4.48. Menambah Data Melalui Unggah Berkas ................................................... 51

Gambar 4.49. File csv Dibuka Dengan OpenOffice Calc .................................................. 52

Gambar 4.50. File csv Dibuka Dengan Gedit.................................................................... 52

Gambar 4.51. Form Ubah Data ........................................................................................ 52

Gambar 4.52. Form Hapus Data ....................................................................................... 53

Gambar 4.53. Form Hapus Semua Data............................................................................ 53

Gambar 4.54. Tampilan Form Pesan ................................................................................. 53

Gambar 4.55. Tampilan Form Tentang Kami .................................................................... 54

Gambar 4.56. Default Permission Modem ........................................................................ 55

Gambar 4.57. File Permission Modem Setelah Diubah ..................................................... 55

xiv
DAFTAR TABEL

Tabel 2.1. Karyawan Organik pada Service Area Jateng .....................................................8

Tabel 3.1. Berbagai Macam Shell Linux ........................................................................... 11

Tabel 3.2. Sebagian Nilai Error Code dan Artinya ............................................................ 12

Tabel 4.1. Tabel Pengguna ................................................................................................ 27

Tabel 4.2. Tabel Penerima ................................................................................................ 27

Tabel 4.3. Tabel Pesan ......................................................................................................27

Tabel 4.4. Tabel Kotak_keluar .......................................................................................... 28

Tabel 4.5. AT Command untuk mengirim pesan ............................................................... 41

xv
DAFTAR LAMPIRAN

Lampiran 1 : Surat Keterangan Selesai Praktek Kerja Lapangan


Lampiran 2 : Notulensi Seminar Laporan Praktek Kerja Lapangan
Lampiran 3 : Daftar Hadir Peserta Seminar Laporan Praktek Kerja Lapangan
Lampiran 4 : Kartu Bimbingan Praktek Kerja Lapangan
Lampiran 5 : Kartu Kehadiran Seminar Praktek Kerja Lapangan
Lampiran 6 : User Manual Escasti

xvi
BAB I

PENDAHULUAN

I.1. Latar Belakang Masalah

Semakin hari teknologi seluler semakin berkembang. Teknologi seluler dapat


dimanfaatkan untuk berbagai keperluan sehari-hari. Salah satu teknologi yang paling mudah
digunakan adalah text messaging atau yang biasa disebut SMS (Short Message Service). SMS
sangat mudah penggunaannya, sehingga siapa saja dapat memanfaatkannya. Karena
mudahnya penggunaan ini maka sangat tepat jika pemanfaatan teknologi ini untuk berbagai
keperluan (Irwansyah, 2008).
Dengan pertumbuhan komunikasi tanpa kabel yang sedemikian cepat menyebabkan
kebutuhan kapasitas meningkat tajam. Jaringan komunikasi seluler GSM menggunakan
metode akses Time Division Multiple Access (TDMA) untuk mengijinkan sebuah saluran
diakses oleh beberapa pemakai. Walaupun metode ini telah terbukti berjalan dengan baik,
dalam waktu yang singkat, kapasitas sistem GSM tidak dapat lagi mencukupi permintaan
sambungan komunikasi. Sebagai solusi alternatif dari permasalahan tersebut maka metode
akses lain yang dapat digunakan adalah metode akses Code Division Multiple Access
(CDMA), yang diperkirakan memiliki kapasitas 4-5 kali jaringan komunikasi selular GSM
dengan metode akses TDMA (Dewanti, 2000).
Teknologi lain yang kini sangat berkembang adalah Linux. Linux adalah sistem operasi
terbuka yang biasa disebut dengan FOSS (Free and Open Source Software). Setiap orang
dapat menggunakan Linux tanpa harus membayar biaya tertentu untuk penggunaannya.
Dengan tidak adanya biaya ini tentu sangat baik untuk menurunkan biaya penyediaan layanan
ketika digunakan untuk kepentingan komersial (Irwansyah, 2008).
Program studi Teknik Informatika Universitas Diponegoro adalah salah satu program
studi yang diharapkan siap untuk mengikuti dan berperan serta aktif dalam perkembangan
teknologi. Mencetak tenaga kerja yang terampil dan mempunyai kemampuan khusus di
bidang teknologi informasi merupakan suatu tujuan yang harus dicapai. Untuk itu, diperlukan
suatu media khusus bagi mahasiswa Informatika guna menambah pengalaman dalam dunia
kerja serta meningkatkan kapabilitas dan keterampilan dalam melaksanakan suatu pekerjaan.
Salah satunya adalah dengan mengikuti mata kuliah Praktek Kerja Lapangan (PKL).
Pada kesempatan kali ini, penulis mendapat kesempatan mengambil PKL di Divisi
Multimedia Telkom Indonesia Semarang. Pada Divisi Multimedia akan dibangun suatu
aplikasi yang dapat melakukan pengiriman SMS masal ke banyak penerima sekaligus (SMS
Broadcast) berbasis web menggunakan modem CDMA dan sistem operasi Linux.

I.2. Rumusan Masalah

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.

I.3. Batasan Masalah

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.

I.4. Tujuan dan Manfaat

Laporan PKL ini ditulis untuk melaporkan hasil pembuatan aplikasi kepada pihak
Program Studi Teknik Informatika Universitas Diponegoro ataupun Divisi Multimedia
Telkom Indonesia Semarang.

Manfaat penyusunan laporan PKL ini adalah:


a. Bagi penulis
Memperoleh pengetahuan baru dalam pembuatan aplikasi, khususnya Aplikasi SMS
Broadcast. Di samping itu juga melatih sistematika serta kinerja yang runtut dan terarah,
baik dalam pembuatan aplikasi maupun penyusunan laporan.

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)

Penulis mengumpulkan data dengan melakukan pengamatan terhadap hal-hal yang


berkaitan dengan penelitian lalu mencatat hal-hal yang penting.

b. Konsultasi dan Diskusi

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

Laporan ini disusun dengan sistematika sebagai berikut:


BAB I PENDAHULUAN
Bab ini membahas latar belakang masalah, rumusan masalah, batasan masalah,
tujuan dan manfaat, metodologi, dan sistematika penulisan.
BAB II TINJAUAN UMUM PERUSAHAAN
Bab ini membahas sejarah singkat dan profil Divisi Multimedia Telkom
Indonesia Semarang.
BAB III LANDASAN TEORI
Bab ini mengemukakan dasar-dasar teori yang digunakan untuk merancang
Aplikasi SMS Broadcast Berbasis Linux dan CDMA Divisi Multimedia
Telkom Indonesia Semarang.
BAB IV PEMBAHASAN
Bab ini membahas mengenai analisis, pembuatan dan hasil dari aplikasi yang
dirancang.
BAB V PENUTUP
Bab ini merupakan kesimpulan dari bab-bab yang dibahas sebelumnya dan
saran sebagai bahan masukan untuk mengembangkan aplikasi.

4
BAB II

TINJAUAN UMUM PERUSAHAAN

II.1. Sekilas Telkom

PT. Telekomunikasi Indonesia, Tbk. (Telkom) merupakan perusahaan penyelenggara


informasi dan telekomunikasi (infoComm) serta penyedia jasa dan jaringan telekomunikasi
secara lengkap (full service and network provider) yang terbesar di Indonesia. Telkom yang
merupakan perseroan atau perusahaan penyedia jasa telepon tidak bergerak kabel (fixed wire
line), jasa telepon tidak bergerak nirkabel (fixed wireless), jasa telepon bergerak (cellular),
data, internet dan network & interkoneksi baik secara langsung maupun melalui perusahaan
asosiasi.
Pada awalnya Telkom dikenal sebagai sebuah badan usaha swasta penyedia layanan pos
dan telegrap atau dengan nama “JAWATAN”. Pada tahun 1961 status jawatan diubah menjadi
Perusahaan Negara Pos dan Telekomunikasi (PN Postel). PN Postel dipecah menjadi
Perusahaan Negara Pos dan Giro (Pos PN & Giro) dan Perusahaan Negara Telekomunikasi
(PN Telekomunikasi). Dan pada tahun 1974 PN Telekomunikasi disesuaikan menjadi
Perusahaan Umum Telekomunikasi (Perumtel) yang menyelenggarakan jasa telekomunikasi
nasional maupun internasional. Kemudian pada tanggal 14 November 1995 diresmikan PT.
Telekomunikasi Indonesia sebagai nama perusahaan telekomunikasi terbesar di Indonesia.
PT. Telkom merupakan salah satu BUMN yang sahamnya saat ini dimiliki oleh
Pemerintah Indonesia sebesar 51.19 % dan oleh publik sebesar 48.81 %. Sebagian besar
saham publik yaitu 45.58 % dimiliki oleh investor asing dan sisanya dimiliki oleh investor
dalam negeri. PT. Telkom juga menjadi pemegang saham mayoritas di 9 anak perusahaan,
termasuk PT. Telekomunikasi Selular (Telkomsel).
Demi meningkatkan usahanya serta memberikan proteksi yang sesuai dengan keinginan
masyarakat, PT. Telkom telah membuka kantor – kantor cabang dan perwakilan yang tersebar
di Indonesia. Kantor cabang ini merupakan unit operasional kerja Telkom pada beberapa
regional wilayah di Indonesia. Pada saat ini terdapat 7 divre Telkom di seluruh Indonesia,
yaitu :

5
1. Divre I Sumatera,

2. Divre II Jakarta,

3. Divre III Jawa Barat,

4. Divre IV Jawa Tengah dan D.I. Yogyakarta

5. Divre V Jawa Timur,

6. Divre VI Kalimantan,

7. Divre VII Kawasan Indonesia Timur.

Untuk menjalankan bisnis, PT. Telkom mempunyai lima pilar bisnis, diantaranya :
1. Fixed Phone (TELKOM Phone)

- Personal dan Corporate Line

- Wartel & Telum

2. Mobile Phone

- Prepaid Services (simPATI)

- Postpaid Services (Halo)

3. Network & Interconnection (TELKOM Intercarier)

- Interconnection Services

- Network Leased Services

4. Data & Internet

- Leased Channel Services (TELKOM Link)

- Internet Service (TELKOMNet)

- VoIP Service (TELKOM Save & Global 017)

- SMS Service (from TELKOMSEL, TELKOMFlexi & TELKOM SMS)

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

- PT. Pramindo Ikat Nusantara (Pramindo)

- PT. Dayamitra Telekomunikasi (Dayamitra)

2. Selular

- PT. Telekomunikasi Selular (Telkomsel)

3. Aplikasi, Content dan Datacom

- PT. Infomedia Nusantara (Infomedia)

- PT. Multimedia Nusantara

- PT. Indonesia Telemedia

4. Properti dan Konstruksi

- PT. Graha Sarana Duta (GSD)

5. TELKOM

- Fixed Wireline dan Fixed Wireless

- Selular

- Data dan Internet

- Network dan Interconnection

6. Internasional

- PT. Telekomunikasi Indonesia Internasional (TII)

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 :

Tabel 2.1. Karyawan Organik pada Service Area Jateng


Nama Jabatan
Epi Antonius OM Service Area Jateng
Bambang Irianto Asman Slg Management & Operation Support
Trisyanto Asman Enterprise Resource Provisioning & Service Activation
Wahyu Utomo Asman Order Management & Service Solution
Ruli Hakim Cahyono Asman Retail Customer Handling
Giyatno Off 2 Trouble & Problem Handling
Sutikno Off 2 Pok Site Eng.O&M Solo
Ervina Priyanti Off 3 Order Handling & Solution Design
Bernadetta Raras Indah Off 3 Customer Qos Performance & Support
Dion Kristadi Leksono Off 3 Retail Customer Handling

8
BAB III

LANDASAN TEORI

III.1. SMS Broadcast

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.

Gambar 3.1. Skema Model Pengiriman Pesan ke Banyak Penerima

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.

Gambar 3.2. Logo Linux

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).

Tabel 3.1.2 Berbagai Macam Shell Linux


Nama Shell Developer Lokasi
BASH (Bourne-Again Shell) Brian Fox and Chet Ramey Free Software Foundation
CSH (C Shell) Bill Joy University of California (for
BSD)
KSH (Korn Shell) David Korn AT & T Bell Labs
TCSH See the man page. --

III.4. AT Commands

AT Command adalah perintah untuk dapat berkomunikasi dengan perangkat keras.


Untuk memberikan perintah diawali dengan AT dan diikuti oleh karakter-karakter perintah
(contoh: A, D, +CMGF, dan lain sebagainya). Untuk menjaga kompatibilitas software dengan
berbagai modem, perintah yang diberikan dalam huruf besar. Pada modem modern, perintah
tidak case sensitive (Noprianto, 2010).
CDMA AT Command didefinisikan dalam TIA/EIA/IS707.3. Akan tetapi, seiring
peningkatan aplikasi wireless, TIA/EIA/IS707.3 tidak lagi mencukupi. Ditambah, banyak
aplikasi GSM telah hadir dan pelanggan GSM ingin mempertahankan antarmuka yang sama
untuk membuat perubahan seminimal mungkin atau bahkan tidak sama sekali pada aplikasi
yang digunakan untuk modem CDMA (Multi-Tech Systems, Inc., 2004).
AT yang merupakan singkatan dari Attention memiliki arti untuk mendapatkan

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:

Tabel 3.2.3 Sebagian Nilai Error Code dan Artinya


Error code Arti
300 Kesalahan pada perangkat
301 SMS Service reserved
302 Operasi tidak diizinkan
303 Operasi tidak didukung
304 Parameter yang diberikan tidak valid (PDU)
305 Parameter yang diberikan tidak valid (modus teks)
310 Tidak terdapat SIM Card
311 Membutuhkan PIN
312 Membutuhkan PH-SIM PIN
313 SIM Card gagal
314 SIM Card sibuk
315 SIM Card salah
316 Membutuhkan PUK
320 Kegagalan memori
321 Kesalahan memberikan indeks memori
322 Memori penuh
330 Nomor SMSC (SMS Center) tidak diketahui
331 Jaringan tidak tersedia
332 Timeout
500 Kesalahan tidak diketahui

III.5. Proses Perangkat Lunak

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.

Gambar 3.3. Model Linear Sekuensial (Pressman, 2001)

Gambar 3.4. Model Waterfall (Sommerville, 2001)

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.

III.6. Konsep Internet Programming

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

Gambar 3.5. Abstraksi Server-Side Programming

III.6.2. Client-side programming

Pada client-side programming, perintah program dijalankan di web browser, sehingga


ketika client meminta dokumen yang mengandung script, maka script tersebut akan diunduh
dari servernya kemudian dijalankan di browser yang bersangkutan (Sutarman, 2003).

Kode HTML INTERNET


Kode HTML
r
se
ow
br
eb
W

HTML dijalankan
HTML

`
`

Client
Server

Gambar 3.6. Abstraksi Client-Side Programming

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!”;
?>

Gambar 3.7. Sintaks Dasar PHP

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>

Gambar 3.8. Sintaks Dasar 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;
}

Gambar 3.9. Contoh Sintaks CSS

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>

Gambar 3.10. Contoh sintaks Javascript

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
}

Gambar 3.11. Contoh Sintaks AJAX

III.12. Entity Relationship Diagram

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

E Entitas Lemah 1 N Relasi Satu ke


R
Banyak

A Atribut N N Relasi Banyak ke


R
Banyak
A Atribut Kunci /
Kunci Primer Partisipasi Total
R E dari Entitas
A Atribut terhadap Relasi

r..t
A Atribut Turunan R E Limit Kardinalitas

Atribut Pembeda nama-


A
Entitas Lemah peran
R E Indikator Peran
R Relasi

ISA ISA
Relasi Penanda (Spesialisasi atau
R
Entitas Lemah Generalisasi)

Gambar 3.12. Notasi dalam ERD

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.

Notasi dalam DFD dapat dilihat pada gambar berikut:

Gambar 3.13. Notasi dalam DFD

21
Dalam penggambaran DFD, terdapat beberapa peraturan yaitu :

1. Antar entitas tidak diijinkan terjadi hubungan atau relasi.

2. Tidak diperbolehkan adanya aliran data antara entitas eksternal dengan data store.

3. Satu aliran data dapat mengalirkan beberapa paket data.

4. Semua objek harus mempunyai nama.

5. Aliran data selalu diawali atau diakhir dengan proses.

6. Semua aliran data harus mempunyai tanda arah.

III.14. Structure Query Language (SQL)

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

IV.1. Deskripsi Umum Perangkat Lunak

Aplikasi SMS Broadcast yang akan dikembangkan nantinya dapat melakukan


pengiriman SMS (Short Message Service) masal ke banyak penerima sekaligus. Aplikasi ini
nantinya diintegrasikan ke dalam sistem induk yang sudah ada. SMS yang akan dikirim
berupa pesan adanya gangguan yang diterima sistem induk dan pesan ini dikirim otomatis ke
nomor yang ada di basis data.
Aplikasi ini hanya bisa diakses oleh pengguna yang mempunyai otoritas, dalam hal ini
adalah pegawai yang diberi kewenangan untuk mengirim pesan. Sebelum menggunakan
aplikasi ini pengguna harus login terlebih dahulu. Hanya pengguna yang bisa login yang bisa
menggunakan aplikasi ini untuk mengirim pesan ataupun melakukan CRUD (create, retrieve,
update, delete) data penerima.

Kemampuan fungsional yang dapat dilakukan oleh aplikasi ini adalah:

a. Melakukan otentikasi pengguna


b. Mengganti sandi pengguna
c. Mengirim SMS Broadcast
d. Melihat SMS yang pernah dikirim
e. Melihat data penerima
f. Menambah data penerima
g. Mengubah data penerima
h. Menghapus data penerima
i. Mencari data penerima

24
IV.2. Kebutuhan Antarmuka Pengguna

Pengguna akan berinteraksi dengan aplikasi ini dengan menggunakan tools sebagai
berikut:

a. Monitor, digunakan untuk melihat tampilan dan berinteraksi dengan aplikasi.


b. Keyboard, digunakan oleh pengguna untuk menginputkan data maupun perintah ke
dalam aplikasi ini.
c. Mouse, digunakan untuk melakukan perintah terhadap aplikasi secara modus Graphical
UserInterface (GUI).

IV.3. Kebutuhan Antarmuka Perangkat Keras

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

Gambar 4.1. Modem CDMA Venus VT-12 14


f. SIM Card memakai Flexi Trendy (prabayar)

Gambar 4.2. SIM Card Flexi Trendy 15

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

IV.5. Pemodelan Data

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).

IV.5.1. Entity Relationship Diagram

Gambar 4.3. Entity Relationship Diagram SMS Broadcast 16

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.

Tabel 4.1.4 Tabel Pengguna


Field Deskripsi Tipe & Length
username nama pengguna, primary key varchar(32)
sandi sandi dienkripsi menggunakan MD5 varchar(32)

2. Tabel penerima berisi data penerima berupa id penerima, nomor telepon dan nama

Tabel 4.2.5 Tabel Penerima


Field Deskripsi Tipe & Length
id id untuk primary key int(11)
no_telp nomor telepon, menggunakan format angka varchar(13)
nama nama dari pemilik nomor telepon varchar(30)

3. Tabel pesan berisi data pesan yang dikirim, berupa id pesan, isi pesan dan waktu

Tabel 4.3.6 Tabel Pesan


Field Deskripsi Tipe & Length
idk id untuk primary key int(11)
pesan isi dari pesan yang dikirim mediumtext
waktu waktu dari pesan dikirim datetime

27
4. Tabel kotak_keluar berisi data pengirim pesan, id dari pesan, dan id penerima

Tabel 4.4.7 Tabel Kotak_keluar


Field Deskripsi Tipe & Length
ids id untuk primary key int(11)
idk id dari tabel pesan int(11)
id id dari tabel penerima int(11)
username id dari tabel pengguna varchar(32)

IV.6. Pemodelan Fungsional

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.

IV.6.1. Data Flow Diagram Level 0 (DCD)

data_login

login_gagal
pengguna data_pesan SMS_BROADCAST
informasi_pesan

data_penerima +
informasi_penerima

Gambar 4.4. Data Flow Diagram SMS Broadcast Level 0 17

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_login] 1.1 pengguna


data_pengguna
[login_gagal] otentikasi
pengguna
data_pengguna

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

Gambar 4.5. Data Flow Diagram SMS Broadcast Level 1 18

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

Gambar 4.6. Desain Antarmuka Aplikasi 19

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

Gambar 4.7. Desain Form Masuk 20

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

Gambar 4.8. Desain Form Kirim SMS 21

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

Gambar 4.9. Desain Form Buku Telepon 22

Button Nomor bisa diubah menjadi Nama untuk pencarian berdasarkan nama.

Gambar 4.10. Pencarian Berdasarkan Nama 23

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

Gambar 4.11. Desain Antarmuka Form Tambah Data 24

IV.7.5. Desain Antarmuka Form Ubah 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

Gambar 4.12. Desain Antarmuka Form Ubah Data 25

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

Gambar 4.13. Desain Antarmuka Form Hapus Data 26

IV.7.7. Desain Antarmuka Form Ganti Sandi

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

Gambar 4.14. Desain Antarmuka Form Ganti Sandi 27

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

Gambar 4.15. Desain Form Pesan 28

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.

IV.8.1. Mekanisme Mesin SMS Broadcast

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:

Gambar 4.16. Mekanisme Mesin SMS Broadcast 29

37
IV.8.2. PHP untuk Mengirim Pesan

Sintaks inti PHP untuk mengirim pesan sebagai berikut:

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

Gambar 4.17. Konfigurasi Minicom 30

3. Ubah beberapa poin


a. Point A – Perangkat Serial
Letak perangkat serial modem dapat diketahui dari folder /dev dengan
mengetikkan perintah ls – l | grep ttyUSB
Pada aplikasi SMS Broadcast ini, modem tertancap pada ttyUSB0
b. Point E – Bit Parity
Pada poin ini nilai Bit Parity diisi dengan kecepatan modem

Gambar 4.18. Konfigurasi Perangkat Serial dan Bit Parity 31

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>]]]]

Tabel 4.5.8 AT Command untuk mengirim pesan

Sumber: (Shandy F, 2010)

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.

Gambar 4.19. Batasan Akses Apabila Belum Login 32

Tampilan beranda meminta pengguna untuk memasukkan „pengguna‟ dan „sandi‟.


Tampilan form beranda pada state ini sama dengan tampilan form Masuk.

Gambar 4.20. Tampilan Form Beranda Ketika Pengguna belum Login 33

42
Ketika pengguna sudah login, Form Beranda akan menampilkan menu bantuan untuk
menggunakan aplikasi dan mengubah Sandi untuk login.

Gambar 4.21. Tampilan Form Beranda Sesudah Login 34

IV.8.6. Form Ganti Sandi

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.

Gambar 4.22. Tampilan Form Ganti Sandi 35

43
Apabila kata sandi lama yang dimasukkan salah, maka akan tampil tanda . Tanda

akan berubah menjadi apabila kata sandi sudah benar.

Gambar 4.23. Peringatan Apabila Kata Sandi Lama Tidak Sesuai 36

Gambar 4.24. Penanda Apabila Kata Sandi Lama Sudah Benar 37

Kata sandi baru harus diisi sebelum mengisi konfirmasi sandi baru. Apabila pengguna
melewatkan hal ini, akan muncul peringatan Sandi baru belum diisi.

Gambar 4.25. Sandi Baru Harus Diisi Sebelum Mengisi Konfirmasi 38

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.

Gambar 4.27. Ketiga Kotak Isian Telah Sesuai 40

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.

Gambar 4.28. Tampilan Form Masuk 41

Apabila salah memasukkan „pengguna‟ atau „sandi‟ akan muncul pesan peringatan
kesalahan „Masukkan Pengguna dan Sandi dengan Benar‟.

Gambar 4.29. Tampilan Pesan Kesalahan Login 42

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

Gambar 4.30. Tampilan Form Kirim SMS 43

46
Untuk mengirimkan pesan, berikut langkah-langkah yang harus dilakukan:
1. Mengisi kotak isian Pesan Anda dengan pesan yang akan dikirim

Gambar 4.31. Mengisi Pesan yang Akan Dikirim 44

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

Gambar 4.32. Pilihan Mengirim Ke Semua Nomor Dalam Buku Telepon 45

b. Pesan dikirim ke satu orang penerima


Untuk melakukan hal ini, isi Nomor Tujuan atau pilih nama pada combobox dan
Nomor Tujuan akan terisi otomatis.

Gambar 4.33. Pilih Nama Pada Nomor Tujuan 46

Gambar 4.34. Nomor Tujuan Terisi Otomatis 47

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.

Gambar 4.35. Pesan Terkirim 48

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.

Gambar 4.36. Mengisi Sendiri Nomor Tujuan 49

Setelah pengguna menekan tombol Kirim, akan muncul form pemberitahuan apabila
nomor penerima belum ada pada basis data.

Gambar 4.37. Nomor Penerima Belum Ada Pada Basis Data 50

48
Pengguna bisa memilih menu Simpan, gambar , untuk menyimpan nomor tersebut.
Dan akan dialihkan ke halaman simpan nomor telepon.

Gambar 4.38. Tampilan Halaman Simpan Data Nomor Telepon 51

IV.8.9. Form Buku 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

Gambar 4.39. Tampilan Form Buku Telepon 52

49
Pencarian data dilakukan berdasarkan nomor telepon atau nama. Untuk menentukan
kata kunci yang akan digunakan, pilih Nomor atau Nama.

Gambar 4.40. Pilih Nomor Atau Nama Sebagai Kunci Pencarian 53

Pada saat pengguna mengisi kata kunci pencarian, akan muncul hint (saran).

Gambar 4.41. Hint Saat Pencarian Berdasarkan Nomor 54

Kemudian tekan tombol Cari dan akan tampil hasil pencarian.

Gambar 4.42. Hasil Pencarian Berdasarkan Nomor 55

Hasil pencarian tidak selalu sama dengan hint. Berikut pencarian berdasarkan Nama.

Gambar 4.43. Hint Saat Pencarian Berdasarkan Nama 56

Gambar 4.44. Hasil Pencarian Berdasarkan Nama 57

50
Dan adakalanya tidak keluar hint karena data yang dicari tidak ada.

Gambar 4.45. Tidak Ada Saran 58

IV.8.10. Form Tambah Data

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

Gambar 4.46. Form Tambah Data 59

Gambar 4.47. Form Tambah Data Melalui File Eksternal 60

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 (;).

Gambar 4.48. Menambah Data Melalui Unggah Berkas 61

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.

Gambar 4.49. File csv Dibuka Dengan OpenOffice Calc 62

Gambar 4.50. File csv Dibuka Dengan Gedit 63

IV.8.11. Form Ubah Data

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.

Gambar 4.51. Form Ubah Data 64

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.

Gambar 4.52. Form Hapus Data 65

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

tidak untuk membatalkan.

Gambar 4.53. Form Hapus Semua Data 66

IV.8.13. Form Pesan

Form Pesan berisi history pengiriman pesan berupa nomor urut pesan, isi pesan, nomor
telepon penerima pesan, dan waktu pengiriman pesan.

Gambar 4.54. Tampilan Form Pesan 67

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

Gambar 4.55. Tampilan Form Tentang Kami 68

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

Gambar 4.56. Default Permission Modem 69

Gambar 4.57. File Permission Modem Setelah Diubah 70

- Baris 5 : menjalankan Mozilla Firefox


- Baris 6 : menghentikan LAMPP setelah aplikasi selsai digunakan

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

[1] Anonim, “PHP Example AJAX Live Search”, diakses dari


http://www.w3schools.com/php/php_ajax_livesearch.asp, pada tanggal 23 Februari
2010, pukul 10.13 WIB.
[2] Anonim, 2007, “Membangun SMS Gateway CDMA”, diakses dari
http://bengkelku.wordpress.com/2007/07/18/membangun-sms-gateway/, pada tanggal
16 Februari 2010, pukul 17.15 WIB.
[3] Anonim, 2007, “SMS Gateway Buatan Sendiri”, diakses dari
http://bengkelku.wordpress.com/2007/09/10/sms-gateway-buatan-sendiri/, pada tanggal
16 Februari 2010, pukul 17.16 WIB.
[4] Awangga R. M., 2008, “CDMA sms gateway dengan venus vt-10”, diakses dari
http://awangga.wordpress.com/2008/06/22/cdma-sms-gateway-dengan-venus-vt-10/,
pada tanggal 16 Februari 2010, pukul 17.15 WIB.
[5] Awangga R. M., 2009, “Membangun CDMA sms gateway menggunakan at command,
melalui serial communication”, diakses dari
http://awangga.wordpress.com/2009/04/10/membangun-cdma-sms-gateway-
menggunakan-at-command-melalui-serial-communication/, pada tanggal 16 Februari
2010, pukul 17.16 WIB.
[6] Ariyanto F, 2009, “Install XAMPP in Ubuntu Linux”, diakses dari http://fitri-
ariyanto.blogspot.com/2009/01/install-xampp-in-ubuntu-linux.html, pada tanggal 27
Januari 2010, pukul 09.25 WIB.
[7] Dewanti, Rr. Rizka Kartika, Tito Maulana, Ashif Aminulloh, 2000, “Sistem Komunikasi
CDMA”, Jurnal, Jurusan Teknik Elektro FT UGM, Yogyakarta.
[8] Elmasri Ramez and Shamkant B. Navathe, 2000, “Fundamentals of Database Systems,
Third Edition”, The Benyamin/Cummings Publ. Comp. Inc, Redwood City.
[9] haruelrovix, 2010, “tanya tentang /dev/ttyUSB”, diakses dari
http://www.kaskus.us/showthread.php?t=3850844, pada tanggal 15 April 2010, pukul
11.15 WIB.

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

1. Nama : Drs. Suhartono, M.Kom


Pertanyaan :
a. Halaman kirim SMS, angka pada kotak kecil itu maksudnya apa?
b. Apakah pengiriman pesan hanya khusus untuk handphone?
c. Nomor pengirim pada handphone penerima masih berupa nomor telepon biasa,
apakah dapat diganti nomor khusus atau nama?
Jawaban :
a. Angka tersebut menunjukkan jumlah sisa karakter yang dapat dimasukkan
pengguna. Seperti diketahui, jumlah karakter pada SMS dibatasi 160 karakter.
b. Tidak terdapat batasan apakan khusus untuk handphone atau tidak. Sejauh
nomor penerima pesan dapat dikirimi SMS, maka aplikasi SMS Broadcast ini
juga dapat mengirim pesan ke nomor tersebut.
c. Untuk hal tersebut, bisa saja dilakukan. Yaitu nomor pengirim didaftarkan dulu
pada pihak penyedia layanan. Dan ini berbayar.
Saran :
a. Pada Entity Relationship Diagram, terdapat entitas yang bebas. Seharusnya ada
relasi yang menghubungkan entitas tersebut dengan entitas lain.
b. Waterfall bukan metode pengembangan paling cocok karena terdapat metode
lain yang lebih bagus, contohnya seperti metode agile. Tapi waterfall adalah
metode yang paling sederhana untuk membangun aplikasi.

2. Nama : Hapsari Dita Anggraeni


NIM : J2F008033
Pertanyaan :
Apakah kendala-kendala selama menjalankan Praktek Kerja Lapangan?
Jawaban :
Kendala saya selama PKL ada dua, yaitu:
a. Kendala berhubungan dengan sistem kerja pada suatu perusahaan yang berbeda
dengan kehidupan kita sebagai mahasiswa di kampus (adaptasi).
b. Kendala dalam pembuatan aplikasi. Karena aplikasi ini berbasi CDMA dan
belum ada yang mengembangkan aplikasi sejenis dengan menggunakan
modem Venus VT-12.

3. Nama : Virgiawan Huda Akbar


NIM : J2F008080
Pertanyaan :
a. Perbedaan antara tampilan pengguna biasa dan Admin?
b. Bagaimana penanganan keamanan flooding melalui add-on browser?
Jawaban :
a. Perbedaan tampilan hanya pada halaman Buku Telepon. Pengguna biasa
tidak dapat melakukan proses menajemen data (menambah, mengubah dan
menghapus).
b. Pada tahap pengembangan aplikasi hanya melakukan testing terhadap
fungsionalitas yang ada.

4. Nama : Febriawan Widyasmara


NIM : J2F 007 013
Saran :
Terdapat satu ketidaksinkronan antara nama data flow pada DCD dengan DFD
Level 1.

5. Nama : Muchamad Yunus


NIM : J2F008049
Pertanyaan :
Apakah penerima pesan dapat membalas pesan yang masuk?
Jawaban :
Hal tersebut bisa saja. Namun merujuk kembali pada batasan masalah, aplikasi
ini adalah SMS Broadcast, bukan SMS Gateway. Jadi tidak terdapat interface
untuk melihat pesan balasan. Pesan yang masuk akan tetap tersimpan dalam
SIM Card.
Lampiran 3 : Daftar Hadir Peserta Seminar Laporan PKL
Lampiran 4 : Kartu Bimbingan Praktek Kerja Lapangan
Lampiran 5 : Kartu Kehadiran Seminar Praktek Kerja Lapangan
Lampiran 6 : User Manual Escasti

Anda mungkin juga menyukai