LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk...

98
LAYANAN BIND/U MEL (STUDI KASUS P Diaj PROG J FA U UNBIND PORT SPEEDY UNTUK AKSES IN LALUI SHORT MESSAGE SERVICE PADA PT TELKOM KANDATEL YOGYAK Skripsi jukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika Oleh: Henricus Wahyudi 045314003 GRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA AKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2008 NTERNET KARTA)

Transcript of LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk...

Page 1: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

LAYANAN BIND/UNBIND PORT

MELALUI SHORT MESSAGE SERVICE

(STUDI KASUS PADA PT TELKOM KANDATEL YOGYAKARTA)

Diajukan untuk Memenuhi Salah Satu Syarat

PROGRAM STUDI TEKNIK INFORMATIKAJURUSAN TEKNIK INFORMATIKAFAKULTAS SAINS DAN TEKNOLOGIUNIVERSITAS SANATA DHARMA

BIND/UNBIND PORT SPEEDY UNTUK AKSES INTERNET

MELALUI SHORT MESSAGE SERVICE

(STUDI KASUS PADA PT TELKOM KANDATEL YOGYAKARTA)

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Oleh: Henricus Wahyudi

045314003

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA

YOGYAKARTA 2008

SPEEDY UNTUK AKSES INTERNET

(STUDI KASUS PADA PT TELKOM KANDATEL YOGYAKARTA)

Page 2: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

LAYANAN BIND/UNBIND PORT

MELALUI S

(STUDI KASUS PADA PT

Diajukan untuk Memenuhi Salah Satu Syarat

PROGRAM STUDI TEKNIK INFORMATIKAJURUSAN TEKNIK INFORMATIKAFAKULTAS SAINS DAN TEKNOLOGIUNIVERSITAS SANATA DHARMA

i

BIND/UNBIND PORT SPEEDY UNTUK AKSES INTERNET

MELALUI SHORT MESSAGE SERVICE

(STUDI KASUS PADA PT TELKOM KANDATEL YOGYAKARTA)

Skripsi

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Oleh: Henricus Wahyudi

045314003

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA

YOGYAKARTA 2008

UNTUK AKSES INTERNET

TELKOM KANDATEL YOGYAKARTA)

Page 3: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

BIND/UNBIND SPEEDY PORT

USING SHORT MESSAGE SERVICE

(CASE STUDY

Presented as Partial Fulfillment of

STUDY PROGRAM OF INFORMATICS ENGINEERINGDEPARTMENT OF INFORMATIC ENGINEERINGFACULTY OF SCIENCE AND TECHNOLOGY

ii

BIND/UNBIND SPEEDY PORT SERVICE FOR INTERNET ACCESS

USING SHORT MESSAGE SERVICE

(CASE STUDY IN PT TELKOM KANDATEL YOGYAKARTA)

A Thesis

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

in Informatics Engineering

By: Henricus Wahyudi

045314003

STUDY PROGRAM OF INFORMATICS ENGINEERINGDEPARTMENT OF INFORMATIC ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

2008

FOR INTERNET ACCESS

PT TELKOM KANDATEL YOGYAKARTA)

STUDY PROGRAM OF INFORMATICS ENGINEERING

Page 4: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

iii

HALAMAN PERSETUJUAN

Page 5: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

iv

HALAMAN PENGESAHAN

Page 6: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

v

HALAMAN PERSEMBAHAN

Skripsi ini aku persembahkan untuk:

..Tuhan Yesus Kristus, Allah Bapa yang Maha Kuasa..

yang telah begitu baik menciptakan dan memberikan aku nafas hidup..

..Mama..Papa..

yang telah begitu baik melahirkan, membesarkan, dan mendidik aku hingga aku

bisa seperti sekarang ini..

..mas Bram..mbak Rosa..

yang telah begitu baik membantuku dalam menghadapi hidup yang begitu

banyak memiliki tantangan dan godaan..

..rizt..

yang telah begitu baik menemani hari dan hatiku..terima kasih juga telah

mengajariku bagaimana rasanya menyayang dan disayang, mencinta dan dicinta,

serta semua rasa senang, bahagia, sedih, dan pedih..

..dek Fenti, ka Mimi, mamih Puri, ade Nikita, dek Ratna..

yang telah begitu baik mau menjadi keluargaku..makasih buat semua waktunya

untuk keluh kesah serta bahagiaku..serta semangat dari kalian yang tanpa henti

saat aku sedang jatuh..

Page 7: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

..hari kemarin biarlah berlalu, hari esok akan kita jelang,

yang penting adalah jalani dulu hari ini..

..jangan pernah berkata berhenti jika kamu masih ingin terus maju..

..awalilah harimu dengan senyuman..

..just do the best let GOD do the rest..

vi

HALAMAN MOTTO

..i think..therefore I am..

..hari kemarin biarlah berlalu, hari esok akan kita jelang,

yang penting adalah jalani dulu hari ini..

..jangan pernah berkata berhenti jika kamu masih ingin terus maju..

..awalilah harimu dengan senyuman..

..just do the best let GOD do the rest..

..hari kemarin biarlah berlalu, hari esok akan kita jelang,

..jangan pernah berkata berhenti jika kamu masih ingin terus maju..

Page 8: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

vii

PERNYATAAN KEASLIAN KARYA

Page 9: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

viii

PUBLIKASI

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:

Nama : Henricus Wahyudi

Nomor Mahasiswa : 045314003

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul:

LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES INTERNET

MELALUI SHORT MESSAGE SERVICE

(STUDI KASUS PADA PT TELKOM KANDATEL YOGYAKARTA)

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada

Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam

bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya

secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan

akademis tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya

selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada tanggal: 22 September 2008

Yang menyatakan,

(Henricus Wahyudi)

Page 10: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

ix

ABSTRAKSI

Internet sudah menjadi hal yang tidak terpisahkan dari era informasi seperti sekarang. Hal yang sering dikeluhkan pelanggan maupun penyedia layanan akses internet adalah sering terjadi over quota yang mengakibatkan tagihan pelanggan membengkak. Untuk menangani masalah ini, dibuat sebuah aplikasi dengan memanfaatkan layanan SMS (Short Message Service). Pemilihan SMS ini dilakukan dengan alasan bahwa SMS merupakan salah satu cara komunikasi yang paling sering digunakan saat ini. Perkembangan SMS pun sudah meluas hingga digunakan dalam aplikasi perbankan dan layanan-layanan lainnya.

Pada tugas akhir ini, dibuat aplikasi yang berguna untuk mengatur layanan akses internet Speedy melalui SMS. Aplikasi ini dibuat agar pelanggan Speedy dapat mengatur pemakaian Speedy-nya sehingga biaya yang harus dibayarkan tidak jauh lebih besar dari biaya yang seharusnya dibayarkan. Pengaturan ini dilakukan dengan mengirim SMS permintaan bind atau unbind port yang akan dibaca oleh aplikasi ini. Hal ini berarti bahwa agar pengaturan pemakaian Speedy dapat dilakukan maka harus melibatkan proses bind atau unbind port. Bind port berarti pelanggan hanya dapat mengakses Speedy dari port (komputer) tertentu saja, sedangkan unbind port berarti pelanggan dapat mengakses Speedy dari port manapun.

Metodologi yang digunakan dalam pengembangan sistem ini adalah studi kasus pada PT Telkom Tbk Yogyakarta dengan langkah-langkah yang dilakukan yaitu melakukan studi literatur, merancang, dan mengimplementasikan sistem agar sistem ini siap untuk digunakan. Sistem ini dibangun dengan menggunakan bahasa pemrograman Java dan PHP, serta menggunakan basisdata MySQL. Aplikasi ini nantinya hanya dapat digunakan pada komputer yang memiliki lingkungan Java, web server, dan basisdata MySQL.

Hasil akhir yang diperoleh adalah sebuah aplikasi yang dapat digunakan untuk mengatur layanan akses internet Speedy, baik melalui SMS dari pelanggan maupun secara otomatis, dimana aplikasi tersebut hanya dapat digunakan dalam ruang lingkup PT Telkom Tbk karena proses bind atau unbind yang terjadi pada aplikasi ini melibatkan suatu halaman web pada web intranet PT Telkom Tbk.

Page 11: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

x

ABSTRACT

Internet has been an unseparateable thing in the informational era today. The jeremiads of the customer and the internet service provider have been focused on the reoccurring over quota problems which resulted in the high monthly bills. To overcome this problem, an application was created by the use of SMS (Short Message Service). The decision to use SMS was due to the wide use of this particular mean of communication. Moreover, the usage of SMS has spread in other areas such as finance, banking, and others as well.

In this final assignment, application that useful to control the Speedy internet access through SMS was created. This application was created for Speedy user so that they would be able to control the Speedy usage, hence the actual bill would not be too far off from the estimated bills. This control applied by sending an order bind or unbind port SMS which would be read by this application. This means, to control the speedy usage, it has to process bind or unbind port to be done. Bind port means that the customer can only access speedy from a certain port (computer), meanwhile unbind port means that the customer can access speedy from any port.

The methodology used in the development of the system is a case study to PT Telkom Tbk Yogyakarta with the following steps: literature study, design process, and implementation so that the system could be applicable. This system is built using Java and PHP, along with the usage of MySQL database. This application will later be used only for computer that has Java environment, web server, and MySQL database.

The end result was an application that can be used for setting the Speedy internet access, through SMS from the customer or automatically, where this application can only be used in the scope of PT Telkom Tbk because the bind or unbind process that occur in this application involved an intranet web from PT Telkom Tbk.

Page 12: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

xi

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Tuhan Yesus Kristus, Allah Bapa Yang

Maha Kuasa atas rahmat, berkat, serta kasih-Nya yang melimpah sehingga penulis

dapat menyelesaikan skripsi ini dengan baik.

Banyak bantuan, dorongan, dan perhatian yang diberikan kepada penulis

selama proses pengerjaan skripsi ini. Oleh karena itu, penulis ingin mengucapkan

terima kasih kepada:

1. Ibu Agnes Maria Polina, S.Kom, M.Sc, selaku Dosen Pembimbing I dan Bpk.

Henricus Agung Hernawan, S.T. selaku Dosen Pembimbing II yang bersedia

meluangkan waktunya untuk memberikan bimbingan selama proses penulisan

skripsi ini.

2. Papa, Mama, Mas Bram, Mbak Rosa yang selalu memberikan semangat dalam

menjalani hari-hariku dan senantiasa mendukungku dalam doa.

3. Nita Rizt yang mengisi ruang di hatiku selama beberapa tahun belakangan ini,

yang juga membantuku menjalani hidupku setiap hari.

4. Keluarga besar WIRATA yang menemaniku saat-saat aku berada di kos, terima

kasih untuk semua petualangannya, untuk Dimas terima kasih untuk pinjaman

mejanya.

5. Kak Mimi, Dek Fenti, Puri, Nikita, Ratna yang telah menjadi keluargaku dan

memberikan semangat saat aku jatuh.

Page 13: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

xii

6. Frans, Hari, Devi, Boge yang telah begitu baik memberi aku semangat untuk

terus maju dan bangkit ketika aku sedang berada di bawah di saat aku harus

mengejar deadline skripsiku, kalian adalah sahabat-sahabat terbaikku.

7. Vita dan Atun yang telah begitu baik membantuku dalam menerjemahkan

abstraksiku, serta Liemien yang membantuku dalam penyusunan skripsi ini.

8. Anita, Dias, Presty, serta semua teman-teman chatting-ku yang lain yang telah

begitu baik menemaniku saat aku mengerjakan skripsiku hingga dini hari.

9. Anak-anak TI USD yang telah begitu baik menemani hari-hari kuliahku di TI

USD. Timus, Jumpret terima kasih untuk bantuannya dalam membuat paket

instalasi.

10. Para dosen, laboran, dan pihak sekretariat yang telah begitu baik mengajarkan

ilmunya serta melayani segala kebutuhan selama masa kuliah.

11. Teman-teman yang lain dan semua pihak yang telah membantu dan

memberikan dukungannya yang tidak dapat disebutkan satu per satu.

Akhir kata, penulis menyadari bahwa skripsi ini belumlah sempurna. Oleh

karena itu, penulis sangat berterima kasih atas saran maupun kritik yang bersifat

membangun sehingga skripsi ini dapat bermanfaat bagi semua pihak yang

membacanya. Terima kasih.

Yogyakarta, September 2008

Penulis

Page 14: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

xiii

DAFTAR ISI

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

HALAMAN PERSETUJUAN .................................................................................... iii

HALAMAN PENGESAHAN ...................................................................................... iv

HALAMAN PERSEMBAHAN .................................................................................... v

HALAMAN MOTTO .................................................................................................. vi

PERNYATAAN KEASLIAN KARYA ..................................................................... vii

HALAMAN PUBLIKASI ......................................................................................... viii

ABSTRAKSI ............................................................................................................... ix

ABSTRACT .................................................................................................................. x

KATA PENGANTAR .................................................................................................. xi

DAFTAR ISI ............................................................................................................ xiii

DAFTAR GAMBAR ............................................................................................... xvii

DAFTAR TABEL ...................................................................................................... xix

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

1.1. Latar Belakang Masalah ........................................................................ 1

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

Page 15: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

xiv

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

1.4. Tujuan dan Manfaat Penelitian .............................................................. 3

1.5. Metodologi Penelitian ............................................................................ 3

1.6. Sistematika Penulisan ............................................................................ 4

BAB II LANDASAN TEORI .................................................................................... 6

2.1. Bind/Unbind........................................................................................... 6

2.2. AT Command ........................................................................................ 6

2.3. Java ........................................................................................................ 9

2.4. PHP ...................................................................................................... 12

2.4.1. Variabel dan Tipe Data ............................................................ 12

2.4.2. Form ......................................................................................... 13

2.4.3. Operasi File .............................................................................. 15

2.4.4. Koneksi ke Basisdata ............................................................... 17

2.5. SQL (Structured Query Language) ...................................................... 18

BAB III ANALISIS DAN PERANCANGAN SISTEM .......................................... 21

3.1. Gambaran Umum Sistem Lama ........................................................... 21

3.2. Gambaran Umum Sistem Baru ............................................................ 22

3.3. Konfigurasi Layanan TELKOMNet ADSL ......................................... 25

Page 16: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

xv

3.4. Perangkat dan Tools............................................................................. 27

3.5. Analisis Kebutuhan Sistem .................................................................. 28

3.5.1. Diagram Use Case ................................................................... 28

3.5.2. Diagram Konteks ..................................................................... 29

3.5.3. Diagram Alir Data ................................................................... 30

3.5.3.1. Super Admin ............................................................... 30

3.5.3.2. Admin ......................................................................... 33

3.5.4. Pemodelan Data (Diagram ER) ............................................... 33

3.6. Perancangan Sistem ............................................................................. 34

3.6.1. Perancangan Basisdata ............................................................. 34

3.6.1.1. Desain Logis ............................................................... 34

3.6.1.2. Desain Fisik ................................................................ 35

3.6.1.3. Contoh Isi Tabel.......................................................... 38

3.6.2. Perancangan Proses.................................................................. 41

3.6.3. Perancangan Antarmuka .......................................................... 44

BAB IV IMPLEMENTASI SISTEM ....................................................................... 49

4.1. Perangkat Lunak yang Digunakan dalam Pengimplementasian

Sistem................................................................................................... 49

Page 17: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

xvi

4.2. Tampilan Antarmuka dan Potongan Program ..................................... 50

4.3. Pemanggilan Proses Bind/Unbind ....................................................... 69

4.4. Proses Pembacaan dan Pengiriman SMS ............................................ 71

BAB V ANALISIS HASIL IMPLEMENTASI ....................................................... 75

5.1. Hasil Pengujian Sistem ........................................................................ 75

5.2. Kelebihan Sistem ................................................................................. 75

5.3. Kekurangan Sistem .............................................................................. 76

BAB VI PENUTUP .................................................................................................. 77

6.1. Kesimpulan .......................................................................................... 77

6.2. Saran .................................................................................................... 77

DAFTAR PUSTAKA .................................................................................................. 78

Page 18: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

xvii

DAFTAR GAMBAR

Halaman

Gambar 3.1 Skema registrasi dan aktivasi Speedy ......................................... 21

Gambar 3.2 Skema bind/unbind Speedy ......................................................... 22

Gambar 3.3 Konfigurasi layanan TELKOMNet ADSL ................................. 26

Gambar 3.4 Diagram Use Case ...................................................................... 28

Gambar 3.5 Diagram Konteks ........................................................................ 29

Gambar 3.6 Hirarki Diagram .......................................................................... 30

Gambar 3.7 Overview Diagram Level 0 ......................................................... 31

Gambar 3.8 Overview Diagram Level 1 Proses 3 .......................................... 32

Gambar 3.9 Overview Diagram Level 1 Proses 6 .......................................... 32

Gambar 3.10 Diagram ER ................................................................................ 33

Gambar 3.11 Desain Logis ............................................................................... 34

Gambar 3.12 Hubungan antar modul bind/unbind melalui SMS ..................... 41

Gambar 3.13 Hubungan antar modul bind/unbind secara otomatis .................. 41

Gambar 3.14 Bagan alir aplikasi Java untuk membaca SMS ........................... 42

Gambar 3.15 Bagan alir aplikasi PHP untuk melakukan bind/unbind

berdasarkan SMS ......................................................................... 43

Gambar 4.1 Halaman awal ............................................................................. 50

Gambar 4.2 Halaman login ............................................................................. 51

Page 19: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

xviii

Gambar 4.3 Halaman utama ........................................................................... 52

Gambar 4.4 Halaman registrasi ...................................................................... 53

Gambar 4.5 Halaman pencarian data .............................................................. 55

Gambar 4.6 Halaman hasil pencarian data ..................................................... 57

Gambar 4.7 Halaman data detail .................................................................... 58

Gambar 4.8 Halaman edit data ....................................................................... 59

Gambar 4.9 Halaman hapus data .................................................................... 60

Gambar 4.10 Halaman history SMS ................................................................. 61

Gambar 4.11 Halaman history binding ............................................................. 64

Gambar 4.12 Halaman menu admin ................................................................. 66

Gambar 4.13 Halaman ubah password ............................................................. 67

Gambar 4.14 Halaman tambah admin .............................................................. 68

Gambar 4.15 Halaman hapus admin ................................................................. 69

Page 20: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

xix

DAFTAR TABEL

Halaman

Tabel 2.1 Status SMS pada kartu SIM ........................................................ 7

Tabel 2.2 Fungsi pada ResultSet ................................................................. 11

Tabel 2.3 Mode akses terhadap sebuah file ................................................ 16

Tabel 3.1 Struktur tabel pelanggan ............................................................. 35

Tabel 3.2 Struktur tabel sms ....................................................................... 35

Tabel 3.3 Struktur tabel binding ................................................................. 36

Tabel 3.4 Struktur tabel detail_pemakaian ................................................. 36

Tabel 3.5 Struktur tabel admin .................................................................... 37

Tabel 3.6 Contoh tabel pelanggan .............................................................. 38

Tabel 3.7 Contoh tabel sms ......................................................................... 39

Tabel 3.8 Contoh tabel binding ................................................................... 39

Tabel 3.9 Contoh tabel detail_pemakaian ................................................... 40

Tabel 3.10 Contoh tabel admin ..................................................................... 40

Page 21: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

1

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Internet sudah menjadi suatu hal yang tidak terpisahkan dari kehidupan

manusia pada zaman sekarang ini, bahkan sampai membuat orang menjadi keasikan

dalam mengakses internet. Akibatnya, mereka yang berlangganan internet harus

membayar tagihan yang lebih besar dari yang seharusnya dibayarkan karena

pemakaian yang berlebihan. Penyedia layanan akses internet tentu menjadi khawatir

jika pelanggan tidak bisa membayar tagihan yang berlebihan tersebut karena akan

mengakibatkan kerugian bagi perusahaan. Pelanggan pun diharapkan dapat ikut serta

dalam mengontrol pemakaian internet setiap bulannya.

PT Telkom Tbk yang menyediakan layanan akses internet Telkom Speedy

(selanjutnya disebut Speedy) juga mengalami hal yang serupa. Hal inilah yang

mengakibatkan mahasiswa yang kos atau kontrak tidak bisa berlangganan Speedy,

karena tidak ada yang bertanggungjawab apabila tagihan membengkak dan

mahasiswa yang bersangkutan tidak mampu membayar. Tentu juga tidak mungkin

jika yang harus bertanggungjawab adalah pemilik kos tersebut, padahal banyak

mahasiswa yang kos yang ingin berlangganan Speedy.

Page 22: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

2

Pada layanan akses internet Speedy, terdapat aksi bind dan unbind yang hanya

dapat dilakukan oleh pihak-pihak yang berwenang di dalam lingkup Speedy. Bind

berarti pelanggan hanya dapat mengakses Speedy dari port yang telah ditentukan

(port yang dikaitkan pada username Speedy pelanggan tersebut), sedangkan unbind

berarti pelanggan dapat mengakses Speedy dari sembarang port. Port ini melekat

pada nomor telepon yang digunakan untuk layanan Speedy. Proses bind dan unbind

ini diharapkan dapat dilakukan oleh pelanggan sendiri atau secara otomatis

berdasarkan penghitungan pemakaian Speedy setiap bulannya untuk mengatasi

kelebihan tagihan seperti yang disebutkan di atas.

1.2. Rumusan Masalah

Bagaimana membuat sistem yang mana pelanggan Speedy dapat mengirim

SMS untuk mengatur boleh tidaknya pengaksesan Speedy dengan proses

bind/unbind?

1.3. Batasan Masalah

Dalam pembuatan aplikasi ini, dilakukan beberapa batasan sebagai berikut:

1. SMS (Short Message Service) yang akan diproses adalah SMS yang berasal dari

nomor Telkom Flexi Yogyakarta.

2. SMS digunakan hanya untuk melakukan permintaan bind/unbind, tidak termasuk

untuk melakukan registrasi.

Page 23: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

3

3. Aplikasi ini hanya menangani pelanggan Speedy di wilayah Yogyakarta (Divisi

Regional IV).

4. Aplikasi ini hanya menangani pelanggan Speedy dengan username yang diakhiri

@telkom.net.

5. Aplikasi ini hanya menangani permintaan bind dan unbind, proses bind dan

unbind itu sendiri sudah tersedia di dalam web intranet Speedy.

1.4. Tujuan dan Manfaat Penelitian

Tujuan penelitian ini adalah untuk membuat aplikasi yang dapat membantu

pelanggan Speedy untuk melakukan bind/unbind username Speedy pelanggan

tersebut melalui SMS dari nomor Flexi yang telah didaftarkan sebelumnya. Proses

bind/unbind juga dapat dilakukan secara otomatis berdasarkan pemakaian Speedy

setiap bulannya. Dengan ini, pelanggan Speedy dapat ikut mengatur pemakaian

Speedy-nya dan kelebihan pemakaian Speedy tiap bulannya bisa diminimalkan,

sehingga tagihannya tidak jauh lebih besar dari jumlah yang seharusnya dibayarkan.

1.5. Metodologi Penelitian

Metodologi penelitian yang digunakan adalah menggunakan studi kasus pada

PT Telkom Tbk Yogyakarta dengan langkah-langkah yang dilakukan sebagai berikut:

1. Studi pustaka tentang bagaimana membaca SMS dari kartu SIM (Subscriber

Identity Module) dengan menggunakan AT Command.

Page 24: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

4

2. Observasi mengenai data apa saja yang diperlukan agar seseorang dapat

menggunakan layanan SMS binding ini.

3. Analisis sistem yang sudah ada di PT Telkom Tbk yang menangani permintaan

proses bind/unbind port layanan akses internet Speedy.

4. Merancang aplikasi.

5. Mengimplementasikan sistem.

6. Menguji coba sistem dengan cara pengujian per modul program yang kemudian

dilanjutkan dengan pengujian keseluruhan program, serta pengujian langsung

kepada user.

1.6. Sistematika Penulisan

Sistematika penulisan pra TA ini adalah sebagai berikut:

BAB I PENDAHULUAN

Berisi latar belakang masalah, rumusan masalah, batasan masalah,

tujuan dan manfaat penelitian, metodologi penelitian, serta

sistematika penulisan.

BAB II LANDASAN TEORI

Berisi teori-teori mengenai tools yang digunakan dalam pembuatan

aplikasi ini, seperti SQL, PHP, Java, dan AT Command.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Berisi analisis dan perancangan sistem yang akan dibuat, mencakup

perancangan basisdata, diagram alir, serta user interface-nya.

Page 25: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

5

BAB IV IMPLEMENTASI SISTEM

Berisi penerapan rancangan sistem yang telah dibuat ke dalam

aplikasi yang sesungguhnya, terdapat pula kode-kode program yang

menjadi inti dari aplikasi yang dibuat.

BAB V ANALISIS HASIL IMPLEMENTASI

Bab ini membahas analisis hasil implementasi dari penerapan

aplikasi yang dilakukan.

BAB VI PENUTUP

Bab ini berisi kesimpulan dari hasil penerapan aplikasi serta

beberapa saran yang membangun.

Page 26: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

6

BAB II

LANDASAN TEORI

2.1. Bind/Unbind

Bind adalah pengikatan username Speedy dengan port yang melekat pada

nomor telepon pelanggan yang digunakan untuk mengakses Speedy. Jika dilakukan

bind, maka pelanggan hanya dapat mengakses Speedy dari port yang telah ditentukan.

Kebalikan dari bind adalah unbind. Jika dilakukan unbind, maka pelanggan dapat

mengakses Speedy dari sembarang port atau dengan kata lain dari sembarang nomor

telepon yang telah dipasang Spedy. Port yang dimaksud disini adalah port Speedy

yang terdapat pada setiap nomor telepon yang telah dipasang Spedy. Port ini akan

dicatat dalam basisdata PT Telkom Tbk sebagai informasi darimana seorang pelangan

mengakses Speedy.

2.2. AT Command

AT Command digunakan untuk berkomunikasi dengan perangkat komunikasi

(handphone atau modem) yang dihubungkan dengan komputer melalui serial port

pada komputer. Dengan menggunakan AT Command, komputer dapat digunakan

untuk mengirim pesan, membaca pesan, menghapus pesan, dan fungsi-fungsi lainnya.

Page 27: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

7

Pada modem Multi-Tech Systems model MTCBA-C, AT Command yang

digunakan untuk memanipulasi data SMS di antaranya:

a. AT+CMGR

Perintah tersebut digunakan untuk membaca SMS yang tersimpan pada kartu

SIM pada indeks tertentu.

Contoh penggunaan:

AT+CMGR=1

Perintah di atas akan membaca SMS yang terdapat pada indeks pertama. Jika

status SMS pada indeks pertama adalah “UREAD”, maka setelah perintah di atas

dijalankan statusnya akan berubah menjadi “READ”.

Status SMS yang tersimpan dalam memori di antaranya:

UREAD pesan yang diterima belum dibaca

READ pesan yang diterima sudah dibaca

USENT pesan yang tersimpan belum terkirim

SENT pesan yang tersimpan sudah terkirim

ALL semua pesan

Tabel 2.1 Status SMS pada kartu SIM

b. AT+CMGL

Perintah tersebut digunakan untuk membaca SMS yang tersimpan pada kartu

SIM dengan status tertentu.

Page 28: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

8

Contoh penggunaan:

AT+CMGL=”UREAD”

Perintah di atas akan membaca SMS yang diterima yang belum dibaca.

c. AT+CMGS

Perintah tersebut digunakan untuk mengirim SMS.

Contoh penggunaan:

AT+CMGS=”08562956669”<CR>

Apa kabar?<Ctrl+Z>

Perintah di atas akan mengirim SMS ke nomor 08562956669 dengan isi SMS

adalah “Apa kabar?”. Jika setelah Ctrl+Z ditekan muncul konfirmasi “OK”,

maka pesan tersebut berhasil dikirim.

d. AT+CMGD

Perintah tersebut digunakan untuk menghapus SMS pada indeks tertentu.

Contoh penggunaan:

AT+CMGD=3

Perintah di atas akan menghapus SMS yang terdapat pada indeks ketiga.

Selain perintah-perintah untuk memanipulasi data SMS, AT Command juga dapat

digunakan untuk melakukan hal-hal lain seperti melakukan pemanggilan telepon,

memanipulasi data phonebook, dan lain sebagainya.

Page 29: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

9

2.3. Java

Penggunaan bahasa pemrograman Java sudah semakin meluas, dari aplikasi

berbasis web sampai dengan peralatan-peralatan yang bersifat mobile. Untuk dapat

berkomunikasi dengan perangkat lain yang terhubung dengan komputer melalui serial

port pada komputer (misalnya modem), diperlukan paket Java tambahan. Paket

tambahan ini yaitu Java Communication Port. Program Java yang akan digunakan

untuk berkomunikasi dengan modem perlu mengimport paket

javax.comm.CommPortIdentifier.

Java juga dapat dihubungkan dengan basisdata MySQL. Agar Java dapat

mengakses basisdata MySQL, diperlukan library mysql-connector-java. Program

Java yang akan mengakses basisdata MySQL perlu disetting terlebih dahulu. Pada

properti dari proyek Java tersebut, pada bagian library di bagian compile dan run

perlu ditambahkan library mysql-connector-java, setelah itu perlu dilakukan langkah-

langkah berikut:

a. mengimport paket java.sql

import java.sql.*;

b. memanggil driver JDBC

Tersedia 2 driver dalam konektor untuk MySQL, yaitu com.mysql.jdbc.Driver

dan org.gjt.mm.mysql.Driver.

Cara pemanggilan driver:

Class.forName(“com.mysql.jdbc.Driver“);

Page 30: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

10

Cara pemanggilan di atas harus diletakkan di dalam try-catch dengan exception

yang digunakan adalah ClassNotFoundException.

c. membangun koneksi

Untuk membangun koneksi dengan basisdata, digunakan kelas DriverManager

dengan menggunakan fungsi getConnection. Hal ini juga harus diletakkan di

dalam try-catch dengan exception yang digunakan adalah SQLException.

DriverManager.getConnection(url,user,password);

dengan:

- url adalah alamat basisdata yang akan digunakan, contohnya:

jdbc:mysql://localhost:3306/nama_basisdata

- user adalah username untuk melakukan login ke dalam basisdata

- password adalah password yang sesuai dengan username yang digunakan

untuk melakukan login ke dalam basisdata.

Langkah-langkah di atas digunakan untuk mengakses suatu basisdata,

sedangkan untuk dapat melakukan perintah-perintah SQL, diperlukan objek

Statement dengan menggunakan fungsi createStatement() dari objek Connection:

Statement stmt = conn.createStatement();

dengan conn adalah objek dari kelas Connection. Terdapat 2 cara untuk

mengeksekusi perintah SQL, yaitu executeQuery() yang digunakan untuk perintah

SELECT, dan executeUpdate() yang digunakan untuk perintah INSERT, UPDATE,

DELETE. Pemanggilan fungsi executeQuery akan menghasilkan data dari query

yang diberikan. Data tersebut ditampung dalam ResultSet.

Page 31: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

11

ResultSet rs = stmt.executeQuery(“select * from basisdata”);

ResultSet adalah tabel yang terdiri dari baris dan kolom yang mengandung

hasil dari eksekusi perintah SQL. Data pada objek ResultSet dapat diperoleh melalui

fungsi getter (misalnya getString()) yang memungkinkan untuk mengakses kolom

yang diinginkan dari baris tertentu. Beberapa fungsi yang digunakan untuk

melakukan navigasi pada ResultSet:

Fungsi Kegunaan

boolean next() Memindahkan kursor ke baris berikutnya

boolean previous() Memindahkan kursor ke baris sebelumnya

boolean first() Memindahkan kursor ke baris pertama dari ResultSet

boolean last() Memindahkan kursor ke baris terakhir dari ResultSet

boolean isFirst() Mengecek apakah kursor berada pada baris pertama dari

ResultSet

boolean isLast() Mengecek apakah kursor berada pada baris terakhir dari

ResultSet

Tabel 2.2 Fungsi pada ResultSet

Listing-listing di atas (Statement, fungsi execute, dan fungsi-fungsi ResultSet) ditulis

di dalam try-catch dengan exception yang digunakan adalah SQLException.

Page 32: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

12

2.4. PHP

PHP merupakan bahasa pemrograman web yang cukup banyak digunakan saat

ini. Suatu skrip akan dikenali sebagai skrip PHP jika diapit oleh tanda:

<?php …… ?>

<? …… ?>

<script language=”PHP”> …… </script>

2.4.1. Variabel dan Tipe Data

PHP juga mengenal variabel dan tipe data. PHP membedakan huruf besar dan

kecil untuk nama variabel, misalnya $var berbeda dengan $VAR. Untuk tipe data,

PHP memiliki tipe data yang hampir sama dengan bahasa pemrograman yang lain.

PHP akan secara otomatis mengenali tipe data setiap kali data/nilai diisikan ke dalam

variabel, sehingga pembuat program tidak perlu menentukan tipe datanya.

Ada banyak hal yang dapat dilakukan untuk memanipulasi data string. Hal ini

dapat berguna karena semua masukan dari form akan dianggap sebagai string.

Beberapa manipulasi yang dapat dilakukan diantaranya:

1. untuk mendeteksi posisi suatu karakter dalam suatu string dapat digunakan

fungsi strpos dengan format penulisan:

strpos(data_string, karakter_yang_diinginkan);

2. untuk mengkapitalkan huruf pertama tiap kata dalam suatu string dapat

digunakan fungsi ucwords dengan format penulisan:

ucwords(data_string);

Page 33: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

13

3. untuk menghilangkan spasi di kanan dan kiri suatu string dapat digunakan fungsi

trim dengan format penulisan:

trim(data_string);

4. untuk mendapatkan sebagian string dari suatu string dapat digunakan fungsi

substr dengan format penulisan:

substr(data_string, posisi_awal, banyak_karakter);

2.4.2. Form

Form adalah sebuah tempat bagi komponen-komponen yang berfungsi untuk

menerima masukan data. Pada prinsipnya penanganan form pada PHP menggunakan

tag-tag form dari HTML yang kemudian diolah dalam skrip PHP. Tag HTML untuk

membuat form adalah:

<FORM METHOD = … ACTION = … > … </FORM>

Tag HTML di atas juga dapat disisipkan ke dalam skrip PHP, contohnya:

echo(“<FORM METHOD = … ACTION = … > … </FORM>”);

(perintah echo berfungsi untuk mencetak atau menampilkan sesuatu di layar)

Method dalam form dapat diisi dengan GET atau POST. Jika digunakan

method GET, data yang diisi akan dikirim ke server dengan cara diletakkan di

belakang URL. Jika digunakan method POST, data akan dikirim ke server secara

terpisah, artinya data tidak terlihat di belakang URL sehingga cocok untuk mengirim

data yang bersifat rahasia atau untuk mengirim data yang berjumlah banyak. Action

Page 34: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

14

dalam form diisi dengan nama file tujuan yang akan memproses data yang

dimasukkan dalam form tersebut.

Form memiliki berbagai komponen, di antaranya:

a. komponen text

<INPUT TYPE=text NAME=nama_komponen SIZE=panjang_komponen

MAXLENGTH=jumlah_maksimal_karakter>

Fungsinya untuk menerima masukan berupa data teks. Data yang diisi akan

disimpan di sebuah variabel dengan nama sesuai dengan isi pada atribut NAME

dari komponen text yang bersangkutan.

b. komponen radio

<INPUT TYPE=radio NAME=nama_komponen VALUE=data CHECKED>teks

Fungsinya untuk menyediakan pilihan bagi pengunjung web. Pilihan

pengunjung web tidak dapat lebih atau kurang dari satu. Radio yang diberi

atribut CHECKED akan menyebabkan radio tersebut dalam keadaan terpilih saat

skrip pertama kali dijalankan.

c. komponen checkbox

<INPUT TYPE=checkbox NAME=nama_komponen VALUE=data>teks

Checkbox juga menyediakan pilihan seperti komponen radio. Perbedaannya

adalah pada checkbox pilihan pengunjung web dapat lebih dari satu.

d. komponen text area

<TEXTAREA NAME=nama_komponen COLS=lebar

ROWS=tinggi>teks</TEXTAREA>

Page 35: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

15

Fungsinya sama seperti komponen text, hanya saja pada komponen ini dapat

dimasukkan teks yang lebih banyak dalam beberapa baris.

e. komponen select

<SELECT NAME=nama_komponen>

<OPTION>pilihan1

<OPTION>pilihan2

……

</SELECT>

Pada prinsipnya select juga berfungsi untuk memberi pilihan. Sifatnya sama

seperti komponen radio, yaitu hanya boleh ada satu pilihan. Pilihan akan diisi

menggunakan tag OPTION.

f. komponen button

<INPUT TYPE=submit NAME=nama_komponen VALUE=teks_pada_tombol>

<INPUT TYPE=reset NAME=nama_komponen VALUE=teks_pada_tombol>

Button atau tombol dibagi menjadi dua, yaitu submit dan reset. Tombol submit

berfungsi untuk mengeksekusi dan mengirim data masukan dari form ke server,

sedangkan tombol reset berfungsi untuk membatalkan atau menghapus data yang

telah terisi pada form.

2.4.3. Operasi File

PHP mampu melakukan akses, manipulasi, dan operasi terhadap file. Operasi

terhadap file diantaranya adalah membuka, membaca, dan menutup file. Untuk

Page 36: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

16

membuka atau mengakses sebuah file, digunakan fungsi fopen dengan format

penulisan:

$variabel = fopen(nama_file, mode_akses);

Mode akses terhadap sebuah file seperti dalam tabel berikut:

Mode akses Keterangan

r File hanya dapat dibaca.

r+ File dapat dibaca dan ditulis/diubah isinya. Data akan ditulis di

awal file.

w

File hanya untuk ditulis saja. Data file akan dihapus dan diganti

dengan data yang baru. Jika file belum ada, PHP akan otomatis

membuatkannya.

w+

File dapat ditulis dan dibaca. Data file akan dihapus dan diganti

dengan data yang baru. Jika file belum ada, PHP akan otomatis

membuatkannya.

a

File hanya untuk ditulis saja. Penambahan data diletakkan di

akhir file. Jika file belum ada, PHP akan otomatis

membuatkannya.

a+

File dapat ditulis dan dibaca. Penambahan data diletakkan di

akhir file. Jika file belum ada, PHP akan otomatis

membuatkannya.

Tabel 2.3 Mode akses terhadap sebuah file

Page 37: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

17

Untuk mendapatkan data dari file, digunakan fungsi fgets dengan format penulisan:

$variabel = fgets($nama_file, panjang_karakter);

Fungsi fgets digunakan untuk membaca data tiap baris dengan panjang_karakter

adalah banyaknya jumlah karakter yang ingin dibaca tiap barisnya.

File yang telah selesai dimanipulasi perlu ditutup dengan menggunakan fungi fclose.

Format penulisannya:

fclose($nama_file);

2.4.4. Koneksi ke Basisdata

PHP dapat dikoneksikan dengan basisdata MySQL. Untuk mengkoneksikan

PHP dengan MySQL diperlukan pemanggilan fungsi mysql_connect dan

mysql_select_db untuk memilih basisdata yang akan digunakan. Skripnya adalah:

if(!$dbh=mysql_connect($host,$username,$password))

{

echo mysql_error();

exit;

}

mysql_select_db($basisdata,$dbh) or die ("basisdata tidak

ditemukan");

dengan:

- $host adalah alamat host MySQL, misalnya localhost

- $username adalah username untuk melakukan login ke dalam basisdata

Page 38: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

18

- $password adalah password yang sesuai dengan username yang digunakan

untuk melakukan login ke dalam basisdata.

- $basisdata adalah nama basisdata yang akan digunakan.

Perintah-perintah query dituliskan di dalam fungsi mysql_query() dan untuk

mendapatkan data dari perintah query digunakan fungsi mysql_fetch_array() atau

mysql_fetch_index().

2.5. SQL (Structured Query Language)

Basisdata dapat diartikan sebagai suatu bentuk penyimpanan informasi yang

terpusat agar data-data atau informasi yang ada di dalamnya mudah dicari, dikelola,

dan digunakan kembali. Basisdata terdiri atas baris dan kolom. Baris dalam

basisdata disebut juga dengan record yang merepresentasikan masing-masing data.

Kolom dalam basisdata disebut juga dengan field yang merepresentasikan jenis data

yang ada dalam masing-masing kolom tersebut.

Query adalah bahasa yang digunakan untuk berkomunikasi atau bekerja

dengan sebuah basisdata. Perintah query dapat digunakan untuk melihat status tabel,

mengubah data-data yang ada dalam tabel, dan sebagainya. Ada banyak bahasa

query yang dapat digunakan, seperti SQL, DBASE, dan lain-lain. Dari sekian banyak

bahasa query tersebut, yang paling banyak digunakan adalah bahasa query SQL

(Structured Query Language).

Page 39: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

19

Pada dasarnya bahasa query SQL secara garis besar dapat dibagi menjadi tiga

bagian:

a. DDL (Data Definition Language)

DDL adalah bahasa SQL yang digunakan untuk membuat, memanipulasi, atau

menghapus schema yang ada di dalam basisdata.

b. DML (Data Manipulation Language)

DML adalah bahasa SQL yang digunakan untuk memanipulasi data yang

terdapat di dalam basisdata seperti memasukkan data, menghapus data, dan lain-

lain.

c. DCL (Data Control Language)

DCL adalah bahasa SQL yang digunakan untuk mengatur user.

Beberapa perintah SQL disebutkan di bawah ini:

1. untuk membuat basisdata, digunakan perintah CREATE DATABASE:

CREATE DATABASE [IF NOT EXISTS] nama_basisdata

2. untuk membuat tabel, digunakan perintah CREATE TABLE:

CREATE TABLE [IF NOT EXISTS] nama_tabel [LIKE tabel_lama]

{

nama_kolom1 tipe_kolom [NOT NULL | NULL]

[DEFAULT nilai_default],

……

}

Page 40: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

20

3. untuk menambahkan data atau record baru pada sebuah tabel, digunakan perintah

INSERT:

INSERT INTO nama_tabel [(nama_kolom1,…)]

VALUES (nilai_kolom1,…)

4. untuk menghapus data, digunakan perintah DELETE:

DELETE FROM nama_tabel [WHERE kriteria_penghapusan]

5. untuk mengubah data, digunakan perintah UPDATE:

UPDATE nama_tabel SET nama_kolom1=nilai [,nama_kolom2=nilai,…]

[WHERE kriteria_pengubahan]

6. untuk menampilkan dan mencari data, digunakan perintah SELECT:

SELECT [ALL | DISTINCT] ekspresi_select, …

[FROM nama_tabel]

[WHERE kriteria]

[GROUP BY nama_kolom [ASC | DESC]]

[ORDER BY nama_kolom [ASC | DESC]]

[INTO parameter_keluaran]

Page 41: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

21

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1. Gambaran Umum Sistem Lama

Pada layanan akses internet Speedy terdapat 3 bagian yang saling terkait, yaitu

PT Telkom Tbk, ISP (Internet Service Provider), dan pelanggan. PT Telkom Tbk

memiliki identitas nomor telepon untuk setiap pelanggan, ISP memiliki identitas port

Speedy dan id pelangan Speedy (username Speedy), sedangkan pelanggan memiliki

identitas nama pelanggan yang bersangkutan. Untuk dapat berlangganan Speedy,

seorang pelanggan harus melakukan registrasi terlebih dahulu ke ISP untuk kemudian

mendapatkan id pelanggan Speedy. Agar pelanggan tersebut dapat mengakses

Speedy, maka dilakukan aktivasi nomor telepon yang telah didaftarkan tadi sehingga

mendapatkan port yang kemudian akan digunakan untuk pengaksesan Speedy.

Gambar 3.1 Skema registrasi dan aktivasi Speedy

Proses bind/unbind melibatkan keempat data di atas, yaitu nomor telepon

yang digunakan untuk mengakses Speedy, port yang melekat pada nomor telepon

tersebut, id pelanggan Speedy, dan nama pelanggan yang bersangkutan. Dalam hal

Page 42: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

22

ini, nomor telepon menjadi satu bagian dengan port Speedy karena pada setiap nomor

telepon diberi port Speedy yang berbeda dengan nomor telepon yang lain, sedangkan

id pelanggan Speedy menjadi satu bagian dengan nama pelanggan. Pada proses

bind/unbind, id pelanggan Speedy-lah yang akan di bind/unbind dengan port

pengaksesan Speedy.

Gambar 3.2 Skema bind/unbind Speedy

Aplikasi untuk melakukan bind/unbind sudah tersedia pada web intranet PT

Telkom Tbk. Pihak yang dapat melakukan bind/unbind adalah orang yang memiliki

akses ke dalam web intranet PT Telkom Tbk (os3.divre4.co.id), sehingga pelanggan

tidak dapat meminta bind/unbind langsung kepada sistem, tetapi harus melalui admin

web tersebut. Untuk melakukan bind, admin memasukkan username Speedy yang

ingin di-bind dan memilih port yang akan digunakan, sedangkan untuk unbind hanya

perlu memasukkan username Speedy saja. Proses bind/unbind ini hanya akan terjadi

jika admin meminta proses tersebut melalui web intranet os3.divre4.co.id, selain itu

maka proses bind/unbind tidak akan terjadi.

3.2. Gambaran Umum Sistem Baru

Aplikasi yang akan dibuat digunakan untuk melakukan bind/unbind pelanggan

Speedy. Bind berarti pelanggan hanya dapat mengakses Speedy dari port yang telah

Page 43: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

23

ditentukan (port yang dikaitkan pada username Speedy pelanggan tersebut),

sedangkan unbind berarti pelanggan dapat mengakses Speedy dari sembarang port.

Permintaan bind/unbind dilakukan berdasarkan SMS (Short Message Service) dari

pelanggan atau berdasarkan pemakaian Speedy setiap bulannya. Proses bind/unbind

dilakukan dengan memanggil suatu halaman web dengan menyertakan parameter

nomor Speedy yang akan di-bind/unbind dan port yang berkaitan.

Pelanggan harus melakukan registrasi terlebih dahulu agar dapat

menggunakan layanan ini. Proses registrasi akan mencatat nomor Speedy, nama

pelanggan, paket Speedy, dan nomor Flexi yang akan digunakan untuk mengakses

layanan ini. SMS yang akan diproses adalah SMS yang berasal dari nomor Flexi.

SMS yang masuk akan dibaca menggunakan suatu aplikasi Java. Aplikasi ini akan

membaca SMS yang terdapat dalam kartu SIM (Subscriber Identity Module) yang

dimasukkan ke dalam modem. Jika SMS berasal dari nomor yang sudah didaftarkan

maka permintaan bind/unbind akan dilaksanakan. Pengirim SMS akan mendapat

SMS konfirmasi setelah proses yang diminta (bind/unbind) selesai dilaksanakan.

Proses bind/unbind secara otomatis dilakukan dengan menghitung pemakaian

Speedy oleh pelanggan setiap bulannya lalu dibandingkan dengan paket Speedy yang

digunakan. Jika pemakaian sudah melebihi kuota, maka username Speedy yang

bersangkutan akan di-bind ke port yang tidak digunakan (misalnya port 0) sehingga

pelanggan tersebut tidak dapat mengakses Speedy sampai bulan berikutnya atau

sampai dilakukan unbind. Data detail pemakaian Speedy oleh pelanggan didapat

dengan mengambil data pada web intranet PT Telkom Tbk untuk kemudian disimpan

Page 44: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

24

ke dalam basisdata (laporan kerja praktik “APLIKASI PENGAMBILAN DATA DARI

WEB INTRANET TELKOM MENGGUNAKAN PHP dan MYSQL”).

Akses ke dalam sistem ini dibagi menjadi 2, yaitu super admin dan admin.

Super admin memilki hak akses penuh terhadap sistem, yaitu dapat membuat dan

menghapus data admin. Admin hanya berhak melakukan tugas-tugas tertentu seperti

registrasi dan manipulasi data pelanggan, serta melihat history binding dan history

SMS. Hal-hal apa saja yang dapat dilakukan oleh super admin maupun admin dapat

dilihat pada Gambar 3.4. Pengguna sistem ini berhubungan dengan sistem melalui

suatu halaman website.

Struktur tugas-tugas yang dapat dilakukan super admin dapat dilihat pada

Gambar 3.6 dan aliran datanya dapat dilihat pada Gambar 3.7. Untuk masing-masing

prosesnya dapat dijelaskan sebagai berikut:

1. Login

Pada proses ini, user memasukkan data username dan password agar

dapat masuk ke dalam sistem.

2. Registrasi

Pada proses ini, user memasukkan data-data pelanggan Speedy untuk

disimpan ke dalam basisdata.

3. Cari Data Pelanggan

Pada proses ini, user memasukkan kata kunci dan kriteria pencarian

yang akan dilakukan. Data hasil pencarian kemudian dapat diedit atau

dihapus. Aliran data pada proses ini dapat dilihat pada Gambar 3.8.

Page 45: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

25

4. History SMS

Pada proses ini, user dapat melihat history SMS dari pelanggan yang

tersimpan di dalam basisdata.

5. History Binding

Pada proses ini, user dapat melihat history bind/unbind yang terjadi baik

itu berdasarkan SMS dari pelanggan maupun proses bind/unbind secara

otomatis.

6. Menu Admin

Pada proses ini, user yang bertindak sebagai super admin dapat

mengubah password, menambah data admin, dan menghapus data

admin, sedangkan user yang bertindak sebagai admin biasa hanya dapat

melakukan pengubahan password. Aliran data pada proses ini dapat

dilihat pada Gambar 3.9.

3.3. Konfigurasi Layanan TELKOMNet ADSL

Speedy menggunakan basis teknologi Asymetric Digital Subscriber Line

(ADSL). ADSL adalah suatu teknologi modem yang bekerja pada frekuensi antara

34 kHz sampai 1104 kHz. Untuk koneksi Speedy, modem ADSL melaksanakan 2

tahap koneksi, yaitu koneksi ADSL dari modem ke Digital Multiplexer di STO

terdekat dan koneksi ke BRAS (Broadband Remote Access Server) dengan

menggunakan username dan password masing-masing pelanggan.

Page 46: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

Setiap saluran telepon akan mendapat port yang akan digunakan untuk

mengakses Speedy. Pada saat pelanggan mengakses Speedy, akan dicek apakah

dilakukan bind pada username Speedy

akan dicek apakah permintaan pengaksesan Speedy berasal dari port yang bi

kan. Jika port asal permintaan pengaksesan

kan, maka pelanggan tersebut dapat mengakses Speedy. Jika tidak dilakukan

(unbind), maka pengaksesan Speedy dapat berasal dari sembarang port (nomor

telepon).

Gambar 3.3 Konfigurasi layanan TELKOMNet ADSL

Setiap saluran telepon akan mendapat port yang akan digunakan untuk

ada saat pelanggan mengakses Speedy, akan dicek apakah

pada username Speedy-nya atau tidak. Jika dilakukan

akan dicek apakah permintaan pengaksesan Speedy berasal dari port yang bi

kan. Jika port asal permintaan pengaksesan Speedy sama dengan port yang di

kan, maka pelanggan tersebut dapat mengakses Speedy. Jika tidak dilakukan

), maka pengaksesan Speedy dapat berasal dari sembarang port (nomor

Gambar 3.3 Konfigurasi layanan TELKOMNet ADSL

26

Setiap saluran telepon akan mendapat port yang akan digunakan untuk

ada saat pelanggan mengakses Speedy, akan dicek apakah

nya atau tidak. Jika dilakukan bind, maka

akan dicek apakah permintaan pengaksesan Speedy berasal dari port yang bi-bind-

Speedy sama dengan port yang di-bind-

kan, maka pelanggan tersebut dapat mengakses Speedy. Jika tidak dilakukan bind

), maka pengaksesan Speedy dapat berasal dari sembarang port (nomor

Page 47: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

27

3.4. Perangkat dan Tools

Aplikasi akan dibuat dengan menggunakan tools PHP 5, JDK 1.5, dan

MySQL 5. Spesifikasi komputer yang digunakan untuk membuat aplikasi ini

adalah:

- prosesor AMD Turion 64 X2

- RAM 1GB

- Microsoft Windows XP Service Pack 2

Modem yang digunakan untuk membaca SMS dari SIM-Card Flexi adalah

modem Multi-Tech Systems model MTCBA-C dengan spesifikasi:

- bits per second : 115200

- data bits : 8

- parity : none

- stop bits : 1

- flow control : none

Page 48: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

28

3.5. Analisis Kebutuhan Sistem

3.5.1. Diagram Use Case

Registrasi Pelanggan

Hapus Data Pelanggan

Lihat History Binding

Lihat Data Pelanggan

Edit Data Pelanggan

<<depend on>>

Login

<<depend on>>

Lihat History SMS

<<depend on>>

Tambah Admin

Hapus Admin

Super AdminCustomer Service

Relationship

Ubah Password

Gambar 3.4 Diagram use case

Page 49: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

29

3.5.2. Diagram Konteks

Gambar 3.5 Diagram Konteks

Page 50: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

30

3.5.3. Diagram Alir Data

3.5.3.1. Super Admin

Gambar 3.6 Hirarki diagram

Page 51: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

31

Gambar 3.7 Overview Diagram Level 0

Page 52: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

32

Super Admin

3.1 P

Lihat Data

Kata kunci

pelangganD2

3.2 P

Edit Data

Data pelanggan

Hasil pencarian

Hasil pencarian

Perubahan data

Kata kunci

3.3 P

Hapus Data

Data

admin

Gambar 3.8 Overview Diagram Level 1 Proses 3

Gambar 3.9 Overview Diagram Level 1 Proses 6

Page 53: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

33

3.5.3.2. Admin

Diagram alir data untuk admin sama dengan diagram alir data untuk super

admin, hanya saja pada diagram alir data untuk admin tidak terdapat proses

Tambah Admin (proses 6.2 P) dan Hapus Admin (proses 6.3 P).

3.5.4. Pemodelan Data (Diagram ER)

Berdasarkan dari data-data yang diperlukan oleh sistem ini, hubungan antar

entitasnya dapat dilihat seperti di bawah ini:

Gambar 3.10 Diagram ER

Page 54: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

34

3.6. Perancangan Sistem

3.6.1. Perancangan Basisdata

3.6.1.1. Desain Logis

Gambar 3.11 Desain Logis

Page 55: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

35

3.6.1.2. Desain Fisik

Tabel pelanggan

Field Tipe Data

noSpeedy char (12)

portTetap varchar(255)

nama varchar (50)

alamat varchar(255)

pstn int(11)

noFlexi int (11)

paket varchar (15)

waktuDaftar datetime

Tabel 3.1 Struktur tabel pelanggan

Tabel sms

Field Tipe Data

id_sms int (11)

pengirim char (11)

sms varchar (50)

waktuKirim datetime

status varchar (6)

Tabel 3.2 Struktur tabel sms

Page 56: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

36

Tabel binding

Field Tipe Data

id_bind int (11)

id_sms int (11)

noSpeedy char (12)

aksi varchar (6)

waktu datetime

Tabel 3.3 Struktur tabel binding

Tabel detail_pemakaian

Field Tipe Data

username varchar (25)

portPemakaian varchar (255)

start datetime

stop datetime

upload varchar (8)

download varchar (8)

total varchar (10)

lastUpdate datetime

Tabel 3.4 Struktur tabel detail_pemakaian

Page 57: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

37

Tabel admin

Field Tipe Data

username varchar (20)

password varchar (255)

status varchar (5)

Tabel 3.5 Struktur tabel admin

Page 58: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

38

3.6.1.3. Contoh Isi Tabel

pelanggan (PK: noSpeedy)

noSpeedy portTetap nama alamat pstn noFlexi paket waktuDaftar

141113100001 /YOG-SE800/0 0/0/0:4096.2537

00-d0-d0-81-95-d4/0/0/1/0/2:8.81 Kris

Puri Timoho

Asri B.17 886142 7471234 Time Based

17/11/2007

13:42:04

141114102987 /YOG-SE800/0 0/0/0:4096.2537

00-d0-d0-81-95-d4/0/0/1/0/28:8.81 Endang

Jl. Gejayan No

5 435262 6581723 Time Based

15/11/2007

10:21:57

141135100101

/YOG-SE800/0 0/0/0:4096.2537

00-d0-d0-81-95-

d4/0/0/13/0/20:8.81

Slamet Jl. Brigjen

Katamso 56 865864 6519829

Volume

Based

15/11/2007

14:02:07

141135102001 /YOG-SE800/0 0/0/0:4096.2526

00-d0-d0-81-95-d2/0/0/8/0/30:8.81 Benny

Jl. AM.

Sangaji No 23 432323 7468173 Proffesional

16/11/2007

09:13:28

141136100031 /YOG-SE800/0 0/0/0:4096.2537

00-d0-d0-81-95-d4/0/0/1/0/17:8.81 Ahmad

Jl. Kaliurang

KM 18 881345 7576172 Time Based

17/11/2007

10:35:09

Tabel 3.6 Contoh tabel pelanggan

Page 59: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

39

sms (PK: id_sms)

id_sms pengirim waktuKirim sms status

1 7471234 18/11/2007 08:30:52 BIND 141113100001 886142 baru

2 7365769 18/11/2007 08:50:13 BIND 141114102987 425543 baru

3 7576172 19/11/2007 14:20:19 UNBIND 141136100031 881345 sukses

4 7471234 20/11/2007 11:21:28 UNBIND 141113100001 886142 sukses

5 6567763 20/11/2007 11:45:48 UNBIND 141135102139 554344 sukses

Tabel 3.7 Contoh tabel sms

binding (PK: id_bind)

id_bind id_sms noSpeedy aksi waktu

1 1 141113100001 BIND 18/11/2007 08:43:09

2 2 141124109892 UNBIND 18/11/2007 08:49:52

3 3 141114102987 BIND 18/11/2007 09:00:34

4 4 141136100031 UNBIND 19/11/2007 14:31:52

5 5 141113100001 UNBIND 20/11/2007 11:41:12

Tabel 3.8 Contoh tabel binding

Page 60: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

40

detail_pemakaian (PK: noSpeedy dan start)

username portPemakaian start stop upload download total lastUpdate

141113100001 /YOG-SE800/0 0/0/0:4096.2537 00-d0-d0-81-

95-d4/0/0/1/0/2:8.81

2007-06-01

05:41:17

2007-06-02

05:41:18 2.131 13.335 15.466

2007-06-03

00:55:34

141113100001 /YOG-SE800/0 0/0/0:4096.2537 00-d0-d0-81-

95-d4/0/0/1/0/2:8.81

2007-06-02

05:41:40

2007-06-03

05:41:48 2.087 12.834 14.921

2007-06-02

01:17:35

141113100001 /YOG-SE800/0 0/0/0:4096.2537 00-d0-d0-81-

95-d4/0/0/1/0/2:8.81

2007-06-07

15:59:43

2007-06-08

00:42:11 7.660 22.385 30.045

2007-06-08

01:24:25

141114102987 /YOG-SE800/0 0/0/0:4096.2537 00-d0-d0-81-

95-d4/0/0/1/0/28:8.81

2007-06-01

12:45:19

2007-06-01

13:20:00 2.430 23.239 25.669

2007-06-03

00:43:27

141114102987 /YOG-SE800/0 0/0/0:4096.2537 00-d0-d0-81-

95-d4/0/0/1/0/28:8.81

2007-06-02

22:49:52

2007-06-02

23:05:38 699 6.799 7.499

2007-06-03

00:55:34

Tabel 3.9 Contoh tabel detail_pemakaian

admin (PK: username)

username password status

speedy d73138bef5a01d820e3511ab83562863 super

dwi 7aa2602c588c05a93baf10128861aeb9 admin

eni e3d96c321f2a71cb81cd7d5f05f1a8d7 admin

Tabel 3.10 Contoh tabel admin

Page 61: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

41

3.6.2. Perancangan Proses

Hubungan antar modul dalam melakukan bind/unbind melalui SMS:

aplikasi pada web intranet

(os3.divre4.telkom.co.id)

Gambar 3.12 Hubungan antar modul bind/unbind melalui SMS

Hubungan antar modul dalam melakukan bind/unbind secara otomatis:

Gambar 3.13 Hubungan antar modul bind/unbind secara otomatis

Page 62: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

42

Bagan alir aplikasi Java untuk membaca SMS dari modem:

Gambar 3.14 Bagan alir aplikasi Java untuk membaca SMS

Page 63: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

43

Bagan alir aplikasi PHP untuk melakukan bind/unbind berdasarkan SMS:

Gambar 3.15 Bagan alir aplikasi PHP untuk melakukan bind/unbind

berdasarkan SMS

Page 64: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

44

3.6.3. Perancangan Antarmuka

Pada sistem ini, antarmuka hanya terdapat pada aplikasi PHP. Rancangan

antarmuka untuk aplikasi PHP ini dapat dilihat sebagai berikut:

Halaman depan:

Jumlah SMS masuk hari ini: 8

LOGIN

Aplikasi SMS Bind/Unbind

Halaman login:

Page 65: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

45

Halaman utama:

Halaman registrasi:

Page 66: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

46

Halaman cari data:

Aplikasi Bind/Unbind Speedy

selamat datang, admin

Pencarian Data

cari

cari berdasarkan

datra yang dicari

registrasi

history sms

history binding

cari/ubah data

menu admin

logout

Halaman hasil cari data:

Page 67: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

47

Halaman edit data hasil pencarian:

Halaman history sms:

Page 68: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

48

Halaman history binding:

Aplikasi Bind/Unbind Speedy

selamat datang, admin

History Binding

Nomor Speedy Aksi Waktu

141113100976 27-11-07 15:06

141113100976 27-11-07 15:16

bind

unbind

registrasi

history sms

history binding

cari/ubah data

menu admin

logout

Page 69: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

49

BAB IV

IMPLEMENTASI SISTEM

4.1. Perangkat Lunak yang Digunakan dalam Pengimplementasian Sistem

Perangkat lunak yang digunakan dalam pengimplementasian sistem ini

adalah:

1. Apache2triad 1.5.4, yang merupakan paket dari Apache 2.2.0, MySQL

5.0.18, dan PHP 5.1.2

2. Netbeans 5.5.1

3. Crimson Editor 3.6

4. Mozilla Firefox v3.0

5. Internet Explorer 7

6. SQLyog 5.22

Page 70: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

50

4.2. Tampilan Antarmuka dan Potongan Program

Berikut ini akan ditampilkan antarmuka aplikasi yang telah dibuat beserta

potongan programnya.

a) Halaman awal

Gambar 4.1 Halaman awal

Gambar 4.1 merupakan tampilan halaman awal dari web pada sistem ini.

Pada halaman tersebut terdapat keterangan mengenai jumlah SMS yang masuk pada

hari ini dan link untuk melakukan login. Jumlah SMS diperoleh dari penghitungan

data SMS yang masuk pada hari ini di dalam basisdata. Berikut ini adalah potongan

kode program untuk menghitung jumlah SMS yang masuk pada hari ini:

Page 71: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

51

$tgl=date("d"); $bln=date("m"); $jumsms = mysql_fetch_array(mysql_query("select count(*) as jumlah from sms where day(waktuKirim) = $tgl and month(waktuKirim) = $bln"));

b) Halaman login

Gambar 4.2 Halaman login

Gambar 4.2 merupakan tampilan halaman login. Pada halaman tersebut user

memasukkan data username dan password untuk dapat mengakses sistem. Data yang

dimasukkan kemudian akan dibandingkan dengan data yang ada dalam basisdata.

Jika datanya sesuai, maka akses ke dalam sistem akan terbuka. Berikut ini adalah

potongan kode program untuk mengecek data yang ada dalam basisdata:

Page 72: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

52

$HTTP_POST_VARS['paswd']=md5($HTTP_POST_VARS['paswd']); $cek=mysql_fetch_array(mysql_query("

SELECT username, password, status FROM admin WHERE username='$HTTP_POST_VARS[nama]' AND password='$HTTP_POST_VARS[paswd]'")); if (!empty($cek['username'])) { $HTTP_SESSION_VARS['user']=$cek['username']; $HTTP_SESSION_VARS['pwd']=$cek['password']; $HTTP_SESSION_VARS['status']=$cek['status']; echo("silakan <a href='main.php'>masuk</a>"); } else { echo("data yang Anda masukkan salah<br>"); echo("<a href='index.php'>kembali</a>"); session_destroy(); }

c) Halaman utama

Gambar 4.3 Halaman utama

Page 73: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

53

Gambar 4.3 merupakan tampilan halaman utama setelah user melakukan

login. Pada halaman tersebut, pada bagian kiri atas terdapat keterangan mengenai

username yang melakukan login, dan pada bagian kiri tengah terdapat menu-menu

yang dapat diakses oleh user.

d) Halaman registrasi

Gambar 4.4 Halaman registrasi

Gambar 4.4 merupakan tampilan halaman registrasi. Pada halaman tersebut

user memasukkan data-data pelanggan untuk disimpan ke dalam basisdata. Data-data

yang harus sudah dimasukkan adalah data nomor Speedy, port, dan jenis paket yang

digunakan karena data-data ini nantinya akan digunakan untuk melakukan proses

Page 74: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

54

bind otomatis. Berikut ini adalah potongan kode program untuk memasukkan data ke

dalam basisdata:

if(empty($HTTP_POST_VARS['user']) || empty($HTTP_POST_VARS['port'])) {

echo("<br><br><br><br><br>nomor Speedy atau port belum diinputkan");

} else if(strlen(trim($HTTP_POST_VARS['user'])) < 12) { echo("<br><br><br><br><br>nomor Speedy yang diinputkan kurang"); } else { $cek=mysql_fetch_array(mysql_query(" SELECT noSpeedy FROM pelanggan WHERE noSPeedy='$HTTP_POST_VARS[user]'")); if(empty($cek['noSpeedy'])) { $HTTP_POST_VARS['nama'] =

ucwords($HTTP_POST_VARS['nama']); if(empty($HTTP_POST_VARS['flexi'])) { mysql_query("insert into pelanggan

(noSpeedy,portTetap,nama,paket,waktuDaftar) values('$HTTP_POST_VARS[user]', trim('$HTTP_POST_VARS[port]'), trim('$HTTP_POST_VARS[nama]'), '$HTTP_POST_VARS[paket]',current_timestamp)");

} else { mysql_query("insert into pelanggan

values('$HTTP_POST_VARS[user]', trim('$HTTP_POST_VARS[port]'), trim('$HTTP_POST_VARS[nama]'), trim($HTTP_POST_VARS[flexi]), '$HTTP_POST_VARS[paket]',current_timestamp)");

} echo("<br><br><br><br><br>data berhasil

ditambahkan"); } else {

Page 75: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

55

echo("<br><br><br><br><br>nomor Speedy sudah didaftarkan");

} }

e) Halaman pencarian data

Gambar 4.5 Halaman pencarian data

Gambar 4.5 merupakan tampilan halaman pencarian data. Pada halaman

tersebut user memasukkan kriteria pencarian data yang akan dilakukan dan data yang

akan dicari. Berikut ini adalah potongan kode program untuk mencari data dalam

basisdata:

$querycari=mysql_query( "SELECT noSpeedy FROM pelanggan WHERE $krit like '%$datac%'");

Page 76: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

56

$cekcari=mysql_fetch_array($querycari); if(empty($cekcari['noSpeedy'])) { echo("Data tidak ditemukan"); } else { $querycari2=mysql_query( "SELECT noSpeedy, nama, noFlexi FROM pelanggan WHERE $krit like '%$datac%'"); ?> <table border="0" cellspacing="0" cellpadding="10"

class="tabel"> <tr> <td align="center" width="100px" class="head">

No Speedy</td> <td align="center" width="200px" class="head">

Nama</td> <td align="center" width="70px" class="head">

No Flexi</td> <td align="center" width="100px" class="head">

Detail</td> </tr> <? while($hasil=mysql_fetch_array($querycari2)) { echo(" <tr> <td align=center class='isitabel'>

&nbsp;$hasil[noSpeedy]</td> <td align=center class='isitabel'>

&nbsp;$hasil[nama]</td> <td align=center class='isitabel'>

&nbsp;$hasil[noFlexi]</td> <td align=center class='isitabel'> <a href='carilengkap.php?

kode=$hasil[noSpeedy]&&cr1=$krit &&cr2=$datac'>selengkapnya</a>

</td> </tr> "); } ?> </table> <? }

Page 77: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

57

f) Halaman hasil pencarian data

Gambar 4.6 Halaman hasil pencarian data

Gambar 4.6 merupakan tampilan halaman hasil pencarian data. Pada halaman

tersebut ditampilkan data-data yang sesuai dengan kriteria pencarian yang diinputkan

user. Data yang ditampilkan hanya nomor Speedy, nama, dan nomor Flexi saja,

sedangkan untuk data lengkapnya dapat dilihat dengan mengklik link “selengkapnya”

yang terdapat pada kolom “Detail”.

Page 78: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

58

g) Halaman data detail

Gambar 4.7 Halaman data detail

Gambar 4.7 merupakan tampilan halaman data lengkap dari seorang

pelanggan Speedy. Pada bagian bawah tabel terdapat pilihan untuk mengedit atau

menghapus data yang bersangkutan.

Page 79: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

59

h) Halaman edit data

Gambar 4.8 Halaman edit data

Gambar 4.8 merupakan tampilan halaman edit data. Data yang tidak bisa

diedit adalah data nomor Speedy, sedangkan data lainnya dapat diedit. Berikut ini

adalah potongan kode program untuk mengedit data yang terdapat dalam basisdata:

if(empty($HTTP_POST_VARS['port'])) {

echo("<br><br><br><br><br>nomor Speedy atau port belum diinputkan");

} else { if(empty($HTTP_POST_VARS['flexi'])) { mysql_query(" update pelanggan set portTetap = '$HTTP_POST_VARS[port]', nama = '$HTTP_POST_VARS[nama]',

Page 80: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

60

paket = '$HTTP_POST_VARS[paket]' where noSpeedy = '$HTTP_POST_VARS[user]'"); } else { mysql_query(" update pelanggan set portTetap = '$HTTP_POST_VARS[port]', nama = '$HTTP_POST_VARS[nama]', noFlexi = $HTTP_POST_VARS[flexi], paket = '$HTTP_POST_VARS[paket]' where noSpeedy = '$HTTP_POST_VARS[user]'"); } echo("<br><br><br><br><br>Data berhasil diedit"); }

i) Halaman hapus data

Gambar 4.9 Halaman hapus data

Gambar 4.9 merupakan tampilan halaman hapus data. Terdapat konfirmasi

apakah akan melanjutkan penghapusan data atau tidak. Jika ya maka data akan

Page 81: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

61

dihapus dari basisdata, sedangkan jika tidak maka akan kembali ke halaman hasil

pencarian data. Berikut ini adalah potongan kode program untuk menghapus data

yang terdapat dalam basisdata:

mysql_query("delete from pelanggan where noSpeedy='$HTTP_GET_VARS[datahapus]'");

echo("<br><br><br><br><br>Data berhasil dihapus"); echo("<br><br><a href=caridata.php>klik untuk kembali</a>");

j) Halaman history SMS

Gambar 4.10 Halaman history SMS

Gambar 4.10 merupakan tampilan halaman history SMS. Pada halaman

tersebut ditampilkan data-data SMS yang tersimpan di dalam basisdata yang

ditampilkan urut dari SMS yang paling terakhir diterima. Halaman ini menampilkan

Page 82: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

62

5 data SMS pada setiap halamannya. Untuk melihat data SMS setelahnya atau

sebelumnya, terdapat link “<< sebelumnya” dan “sesudahnya >>” pada bagian bawah

tabel. Berikut ini adalah potongan kode program untuk menampilkan data SMS yang

terdapat dalam basisdata:

$jumhistsms=mysql_fetch_array(mysql_query("SELECT count(*) as jumSms FROM sms"));

$histsms=mysql_query("SELECT pengirim, sms, waktuKirim, status FROM sms ORDER BY waktuKirim DESC LIMIT $HTTP_GET_VARS[awal], 5");

if($jumhistsms['jumSms'] == 0) { echo("Tidak ada data history sms"); } else { ?> <table border="0" cellspacing="0" cellpadding="10"

class="tabel"> <tr> <td align="center" width="100px" class="head">

No Pengirim</td> <td align="center" width="200px" class="head">

Isi SMS</td> <td align="center" width="100px" class="head">

Waktu Kirim</td> <td align="center" width="50px" class="head">

Status</td> </tr> <?

while($hasil=mysql_fetch_array($histsms)) { echo(" <tr> <td align=center class='isitabel'>

&nbsp;$hasil[pengirim]</td> <td align=center class='isitabel'>

&nbsp;$hasil[sms]</td> <td align=center class='isitabel'>

&nbsp;$hasil[waktuKirim]</td> <td align=center class='isitabel'>

&nbsp;$hasil[status]</td> </tr> "); }

Page 83: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

63

?> </table> <br> <?

if($HTTP_GET_VARS['awal']==0) { if($HTTP_GET_VARS['awal']+4 < $jumhistsms['jumSms']) { $awal=$HTTP_GET_VARS['awal']+4; echo("<a href='historysms.php?awal=$awal'

class='history'>berikutnya >></a>"); } } else if($HTTP_GET_VARS['awal']+4 > $jumhistsms['jumSms']) { $awal=$HTTP_GET_VARS['awal']-4; echo("<a href='historysms.php?awal=$awal'

class='history'><< sebelumnya</a>"); } else { $awal1=$HTTP_GET_VARS['awal']-4; $awal2=$HTTP_GET_VARS['awal']+4; echo("<a href='historysms.php?awal=$awal1'

class='history'><< sebelumnya</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<a href='historysms.php?awal=$awal2' class='history'>berikutnya >></a>");

} }

Page 84: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

64

k) Halaman history binding

Gambar 4.11 Halaman history binding

Gambar 4.11 merupakan tampilan halaman history binding. Halaman ini

serupa dengan halaman history SMS hanya saja yang ditampilkan adalah data-data

proses bind/unbind yang pernah dilakukan. Berikut ini adalah potongan kode

program untuk menampilkan data proses bind/unbind yang terdapat dalam basisdata:

$jumhistbind=mysql_fetch_array(mysql_query("SELECT count(*) as jumBind FROM binding"));

$histbind=mysql_query("SELECT noSpeedy, aksi, waktu FROM binding ORDER BY waktu DESC LIMIT $HTTP_GET_VARS[awal], 5");

if($jumhistbind['jumBind'] == 0) { echo("Tidak ada data history binding"); } else {

Page 85: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

65

?> <table border="0" cellspacing="0" cellpadding="10"

class="tabel"> <tr> <td align="center" width="100px" class="head">

No Speedy</td> <td align="center" width="100px" class="head">

Aksi</td> <td align="center" width="200px" class="head">

Waktu</td> </tr> <? while($hasil=mysql_fetch_array($histbind)) { echo(" <tr> <td align=center class='isitabel'>

&nbsp;$hasil[noSpeedy]</td> <td align=center class='isitabel'>

&nbsp;$hasil[aksi]</td> <td align=center class='isitabel'>

&nbsp;$hasil[waktu]</td> </tr> "); } ?> </table> <br> <? if($HTTP_GET_VARS['awal']==0) { if($HTTP_GET_VARS['awal']+4 < $jumhistbind['jumBind']) { $awal=$HTTP_GET_VARS['awal']+4; echo("<a href='historybinding.php?awal=$awal'

class='history'>berikutnya >></a>"); } } else if($HTTP_GET_VARS['awal']+4 > $jumhistbind['jumBind']) { $awal=$HTTP_GET_VARS['awal']-4; echo("<a href='historybinding.php?awal=$awal'

class='history'><< sebelumnya</a>"); } else { $awal1=$HTTP_GET_VARS['awal']-4; $awal2=$HTTP_GET_VARS['awal']+4; echo("<a href='historybinding.php?awal=$awal1'

class='history'><< sebelumnya</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<a href='historybinding.php?awal=$awal2'

Page 86: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

66

class='history'>berikutnya >></a>"); } }

l) Halaman menu admin

Gambar 4.12 Halaman menu admin

Gambar 4.12 merupakan tampilan halaman menu admin. Pada halaman ini

terdapat link untuk mengubah password, menambah admin, atau menghapus admin.

Ketiga pilihan menu tadi akan tampil apabila user yang melakukan login memiliki

status admin, jika statusnya biasa maka pilihan yang tersedia hanya untuk melakukan

pengubahan password.

Page 87: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

67

m) Halaman ubah password

Gambar 4.13 Halaman ubah password

Gambar 4.13 merupakan tampilan halaman ubah password. Pada halaman ini,

user yang telah melakukan login dapat melakukan pengubahan password.

Page 88: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

68

n) Halaman tambah admin

Gambar 4.14 Halaman tambah admin

Gambar 4.14 merupakan tampilan halaman tambah admin. Pada halaman ini,

user dengan status admin dapat menambahkan data user baru yang nantinya dapat

digunakan untuk mengakses aplikasi ini.

Page 89: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

69

o) Halaman hapus admin

Gambar 4.15 Halaman hapus admin

Gambar 4.15 merupakan tampilan halaman hapus admin. Pada halaman ini,

user dengan status admin dapat menghapus data user lainnya yang tersimpan di dalam

basisdata.

4.3. Pemanggilan Proses Bind/Unbind

Proses bind/unbind dilakukan dengan cara memanggil sebuah alamat dari web

intranet PT Telkom Tbk dengan menyertakan nomor Speedy dan port yang akan di

bind/unbind. Pemanggilan proses bind/unbind ini dilakukan berdasarkan hasil

perhitungan pemakaian Speedy oleh pelanggan (secara otomatis) atau berdasarkan

Page 90: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

70

SMS yang dikirim oleh pelanggan yang telah terdaftar dalam sistem ini. Untuk

pemanggilan proses bind/unbind secara otomatis, jika paket yang digunakan adalah

Time Based, maka nomor Speedy akan di bind jika pemakaian Speedy telah melebihi

quota 50 jam. Jika paket yang digunakan adalah Volume Based, maka nomor Speedy

akan di bind jika pemakaian Speedy telah melebihi quota 1 GB (gigabyte).

Untuk mengetahui total waktu yang telah digunakan pelanggan dalam

mengakses Speedy, digunakan fungsi waktuAkses yang isinya sebagai berikut:

DELIMITER $$ DROP FUNCTION IF EXISTS `sms`.`waktuAkses`$$ CREATE FUNCTION `waktuAkses`(uname varchar(255), bln varchar(255)) RETURNS int(11) READS SQL DATA BEGIN declare done int default 0; declare a,b datetime; declare hasil time; declare hasilwaktu time default 0; DECLARE cur CURSOR FOR SELECT start,stop FROM detail_pemakaian where substr(username,1,12) like (uname) and substr(start,6,2) like bln; DECLARE CONTINUE HANDLER FOR 1329 SET done = 1; OPEN cur; REPEAT FETCH cur INTO a,b; IF NOT done THEN select timediff(b,a) into hasil; select addtime(hasilwaktu,hasil) into hasilwaktu; END IF; UNTIL done = 1 END REPEAT; CLOSE cur; RETURN HOUR(hasilwaktu); END$$ DELIMITER ;

Page 91: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

71

Untuk mengetahui total transfer data yang terjadi selama pelanggan

mengakses Speedy, digunakan perintah query yang dimasukkan ke dalam tag PHP

berikut:

$hasil=mysql_fetch_array(mysql_query("

select (sum(replace(total,'.','')))/1000000 as vol

from detail_pemakaian

where username like '$hslusername[username]'

and substring(start,6,2) like '$bln'"));

Pada pemanggilan proses bind/unbind berdasarkan SMS dari pelanggan,

terlebih dahulu akan dilakukan pembacaan data dari basisdata apakah ada SMS baru

atau tidak. Jika ada SMS baru, maka isi SMS tersebut (yang telah tersimpan dalam

basisdata) akan dicek apakah memenuhi kriteria atau tidak. Hal-hal yang dicek

adalah apakah nomor pengirim ada di dalam basisdata pelanggan, dan apakah sesuai

antara nomor pengirim, nomor Speedy, dengan nomor PSTN-nya. Jika semuanya

sesuai, maka permintaan bind/unbind akan dilakukan. Pemanggilan proses

bind/unbind dapat dilihat pada listing berikut:

$alamat="http://os3.divre4.telkom.co.id/?mode=RadMgt&func=bind_process&reffAct=$hslsms[aksi]&setKey1=2&usernm=$hslsms[nos]@telkom.net&CallID=0000";

$run=fopen("$alamat",'r');

4.4. Proses Pembacaan dan Pengiriman SMS

Proses pembacaan dan pengiriman SMS ditangani oleh aplikasi Java.

Aplikasi yang digunakan untuk melakukan proses tersebut akan membaca kartu SIM

yang terdapat di dalam modem melalui port yang sesuai. SMS yang diterima oleh

Page 92: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

72

kartu SIM akan dibaca oleh aplikasi ini dan jika berasal dari nomor Flexi Yogyakarta

maka data SMS tersebut akan disimpan ke dalam basisdata. SMS yang berasal dari

nomor-nomor lain, dan SMS yang telah disimpan ke dalam basisdata akan dihapus

dari kartu SIM agar memori SMS di dalam kartu SIM tidak penuh.

Kode program yang digunakan untuk mengecek apakah ada SMS baru atau

tidak adalah sebagai berikut:

String sAT = "AT+CMGL=\"uread\""; try { outStream.write((sAT+"\015").getBytes()); outStream.flush(); } catch (IOException ioe) { System.out.println(ioe); }

Sedangkan kode program yang digunakan untuk mengecek nomor pengirim SMS

adalah sebagai berikut:

posisiIndeksSms = isiSmsBaru[i].indexOf(",\"REC UNREAD")-2;

noAwal = posisiIndeksSms+21;

if(isiSmsBaru[i].substring(posisiIndeksSms,

posisiIndeksSms+1).equalsIgnoreCase(":")) {

posisiIndeksSms += 1;

noAwal = posisiIndeksSms+20;

}

isiSementara = isiSmsBaru[i].substring(posisiIndeksSms);

posisiAkhirIndeksSms = isiSementara.indexOf(",");

bacaIndeksSms = Integer.parseInt(

isiSmsBaru[i].substring(posisiIndeksSms,

posisiIndeksSms+posisiAkhirIndeksSms));

noKode = isiSmsBaru[i].substring(noAwal-4,noAwal);

noAwal = Integer.parseInt

(isiSmsBaru[i].substring(noAwal,noAwal+1));

if((noAwal == 6 || noAwal == 7) && noKode.equalsIgnoreCase("0274"))

{

indeksSms[arrIndeksSms]=bacaIndeksSms;

arrIndeksSms++;

} else {

Page 93: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

73

indeksSmsHapus[arrIndeksSmsHapus]=bacaIndeksSms;

arrIndeksSmsHapus++;

}

Pengiriman SMS ke pelanggan dilakukan jika proses bind/unbind telah

berhasil dilakukan. Untuk mengetahui apakah proses bind/unbind sudah berhasil

dilakukan, dilakukan pembacaan data pada basisdata. Jika status pada tabel “sms”

sudah “sukses”, maka berarti proses bind/unbind sudah berhasil dilakukan sehingga

SMS konfirmasi akan dikirimkan ke pelanggan dan status pada tabel “sms” akan

diubah menjadi “konfirm”. Kode programnya adalah sebagai berikut:

query = "select id_sms, pengirim from sms where status = 'sukses'

order by waktuKirim";

try {

Statement stmt = Koneksi.koneksi.createStatement();

ResultSet rs = stmt.executeQuery(query);

rs.last();

int n=rs.getRow();

String[] noPengirim = new String[n];

Integer[] idSMS = new Integer[n];

rs.beforeFirst();

int i=0;

while(rs.next()) {

idSMS[i] = rs.getInt(1);

noPengirim[i] = rs.getString(2);

i++;

}

rs.close();

stmt.close();

for(int krm=0; krm<i; krm++) {

String sAT = "AT+CMGS=\""+noPengirim[krm]+"\"";

try {

outStream.write((sAT+"\015").getBytes());

outStream.flush();

} catch (IOException ioe) {

System.out.println(ioe);

}

Page 94: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

74

sAT = "Permintaan Anda telah berhasil dilakukan";

try {

outStream.write((sAT+"\032").getBytes());

outStream.flush();

} catch (IOException ioe) {

System.out.println(ioe);

}

try {

Thread thread = Thread.currentThread();

thread.sleep(5000);

} catch (InterruptedException e) {}

}

for(int upd=0; upd<i; upd++) {

query = "update sms set status='konf' where

id_sms="+idSMS[upd];

try {

stmt = Koneksi.koneksi.createStatement();

stmt.executeUpdate(query);

stmt.close();

} catch(SQLException e) {

System.out.println("Eror sqlnya: " + e);

}

}

} catch(SQLException e) {

System.out.println("Eror sqlnya: " + e);

}

Format SMS yang dikirim oleh pelanggan agar permintaan bind/unbind dapat

dilakukan adalah “aksi nomor_speedy nomor_pstn”.

Contoh:

• BIND 141113100345 884354

• UNBIND 141116100004 442135

Page 95: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

75

BAB V

ANALISIS HASIL IMPLEMENTASI

5.1. Hasil Pengujian Sistem

Sistem ini dapat digunakan setelah lingkungan yang dibutuhkan oleh sistem

ini tersedia. User perlu melakukan instalasi Java, Apache, dan MySQL. User juga

perlu men-setting lingkungan Java-nya agar aplikasi Java pada sistem ini dapat

berjalan dengan baik. Pengujian dilakukan dengan menggunakan modem MultiTech

System, yaitu CDMA wireless modem dan kartu SIM yang digunakan adalah Flexi.

Pengaturan boleh tidaknya pelanggan mengakses Speedy dilakukan melalui

SMS dan otomatis (melalui penghitungan pengaksesan Speedy oleh pelanggan).

SMS dari pelanggan akan ditangani oleh aplikasi Java yang akan menyimpan SMS

tersebut ke dalam basisdata, untuk kemudian dilakukan proses bind/unbind yang

ditangani oleh aplikasi PHP.

Hasil yang didapat dari pengujian sistem adalah bahwa sistem ini dapat

berjalan dengan baik, dengan beberapa kelemahan yang masih terdapat di dalamnya.

5.2. Kelebihan Sistem

Berdasarkan pengujian yang dilakukan terhadap sistem ini, maka diperoleh

hasil bahwa sistem ini memiliki beberapa kelebihan berikut:

Page 96: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

76

1. Antarmuka yang disediakan oleh aplikasi mudah dimengerti sehingga

pengguna tidak mengalami kesulitan untuk menggunakan aplikasi SMS

binding ini.

2. Instalasi aplikasi ke dalam komputer pengguna dapat dilakukan dengan

cara yang sangat mudah, yaitu dengan meng-copy file ke dalam komputer

pengguna.

5.3. Kekurangan Sistem

Berdasarkan pengujian yang dilakukan terhadap sistem ini, maka diperoleh

hasil bahwa sistem ini memiliki beberapa kekurangan berikut:

1. SMS yang akan disimpan ke dalam basisdata adalah semua SMS yang

berasal dari nomor Flexi Yogyakarta (berawalan 6 atau 7) tanpa melihat

apa isi SMS tersebut. Hal ini dikarenakan pada saat melakukan

penyimpanan ke dalam basisdata tidak dilakukan pengecekan isi SMS

terlebih dahulu. Pengecekan dilakukan ketika akan dilakukan

pemanggilan proses bind/unbind.

2. Aplikasi Java untuk menangani SMS dari pelanggan tidak memiliki

antarmuka sehingga untuk menghentikan prosesnya harus melalui Task

Manager dari Windows.

3. Keberhasilan proses bind/unbind tidak dapat diketahui, karena nilai

balikan dari pemanggilan web intranet Telkom selalu sukses.

Page 97: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

77

BAB VI

PENUTUP

6.1. Kesimpulan

Aplikasi pengaturan layanan akses internet Speedy melalui SMS ini dapat

berfungsi dengan baik. Pelanggan Speedy dapat mengatur pemakaian Speedy melalui

SMS dari nomor Flexi sehingga membantu pelanggan dalam mengelola pengaksesan

layanan internet Speedy.

Sistem ini memiliki kelebihan pada proses instalasinya karena user hanya

perlu meng-copy file aplikasinya saja, namun juga memiliki beberapa kekurangan

antara lain semua SMS dari nomor Flexi Yogyakarta akan disimpan ke dalam

basisdata, penghentian proses yang menangani SMS harus melalui Task Manager,

dan berhasil tidaknya proses bind/unbind tidak dapat diketahui.

6.2. Saran

Aplikasi ini dapat dikembangkan lagi untuk menangani paket-paket Speedy

yang lain, tidak hanya pada paket Time Based dan Volume Based.

Page 98: LAYANAN BIND/UNBIND PORT SPEEDY UNTUK AKSES ...bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

78

DAFTAR PUSTAKA

AT Commands for CDMA Wireless Modems. (2004). Reference Guide MultiTech Systems. Gunawan, Ferry. Membuat Aplikasi SMS Gateway Server dan Client dengan Java

dan PHP. (2004). Jakarta: PT Elex Media Komputindo Kelompok Gramedia. Hakim, Lukmanul; Musalini, Uus. 150 Rahasia dan Trik Menguasai PHP. (2003) Jakarta: PT Elex Media Komputindo Kelompok Gramedia.

Pedoman Penulisan Skripsi. (2004). Yogyakarta: Universitas Sanata Dharma. Priyanto, Rahmat. Belajar Sendiri Menguasai MySQL. (2007). Jakarta: PT Elex Media Komputindo Kelompok Gramedia.

Wahyudi, Henricus (045314003); Ristikasari, Maria Yunita (045314023). (2007).

Aplikasi Pengambilan Data dari Web Intranet Telkom Menggunakan PHP dan

MySQL. Yogyakarta: Laporan Kerja Praktik Universitas Sanata Dharma. Whitten, Jeffrey L.; Bentley, Lonnie D.; Dittman, Kevin C. (2004). Metode Desain

dan Analisis Sistem (edisi 6). Yogyakarta: Penerbit Andi.