usk48 usk48 abdulkarim 17 1 skripsi m

140
DESAIN DAN IMPLEMENTASI APLIKASI PENGISIAN PULSA BERBASIS WEB (Studi Kasus : Konter Nurfa Cell) Skripsi Diajukan untuk memenuhi salah satu syarat dalam menempuh ujian Sarjana Komputer pada program studi Teknik Informatika Oleh : Abdul Karim 08411770040044 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS SINGAPERBANGSA KARAWANG 2012

Upload: cybermutz-rafieq

Post on 18-Jan-2016

119 views

Category:

Documents


0 download

DESCRIPTION

skripsi IT 2

TRANSCRIPT

Page 1: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

DESAIN DAN IMPLEMENTASI APLIKASI

PENGISIAN PULSA BERBASIS WEB

(Studi Kasus : Konter Nurfa Cell)

Skripsi

Diajukan untuk memenuhi salah satu syarat dalam menempuh ujian

Sarjana Komputer pada program studi Teknik Informatika

Oleh :

Abdul Karim

08411770040044

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER

UNIVERSITAS SINGAPERBANGSA KARAWANG

2012

Page 2: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

LEMBAR PENGESAHAN

DESAIN DAN IMPLEMENTASI APLIKASI

PENGISIAN PULSA BERBASIS WEB

(Studi Kasus : Konter Nurfa Cell)

SKRIPSI

Diajukan untuk memenuhi salah satu syarat dalam menempuh ujian

Sarjana komputer pada program studi Teknik Informatika

Oleh :

ABDUL KARIM

08411770040044

Disetujui Oleh :

Pembimbing I, Pembimbing II,

( Oman Komarudin, S.Si., M.Kom ) (Ade Andri Hendriadi, S.Si., M.Kom)

Karawang, 28 Juli 2012

Diketahui dan Disahkan

Oleh :

Dekan Fakultas Ilmu Komputer

(Dr. Dedi Mulyadi, S.E., M.M.)

Page 3: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

LEMBAR PENGESAHAN

DESAIN DAN IMPLEMENTASI APLIKASI

PENGISIAN PULSA BERBASIS WEB

(Studi Kasus : Konter Nurfa Cell)

SKRIPSI

Diajukan untuk memenuhi salah satu syarat dalam menempuh ujian

Sarjana komputer pada program studi Teknik Informatika

Oleh :

ABDUL KARIM

08411770040044

Disetujui Oleh :

Penguji I, Penguji II,

( Ahmad Fauzi, M.Kom ) ( Azhari Ali Ridha, S.Kom )

Karawang, 28 Juli 2012

Diketahui dan Disahkan

Oleh :

Dekan Fakultas Ilmu Komputer

(Dr. Dedi Mulyadi, S.E., M.M.)

Page 4: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

i

ABSTRAK

DESAIN DAN IMPLEMENTASI APLIKASI

PENGISIAN PULSA BERBASIS WEB

(Studi Kasus : Konter Nurfa Cell)

ABDUL KARIM

08411770040044

Konter merupakan salah satu jenis usaha yang bergerak dibidang penjualan

pulsa, handphone, dan aksesoris-aksesoris yang berhubungan dengan alat

komunikasi. Dalam kegiatan menjalankan usahanya konter melakukan banyak

pencatatan data transaksinya ke dalam sebuah buku penjualan. Di Konter Nurfa

Cell proses pencatatan laporan-laporan masih dilakukan dengan cara manual dan

belum terkomputerisasi. Dalam sarana penjualannya, Konter Nurfa Cell masih

menjual pulsanya ke wilayah dekat konter saja, sehingga jumlah para pelanggan

yang mengisi pulsa di konter tidak ada peningkatan.

Aplikasi Pengisian Pulsa Berbasis Web adalah aplikasi yang bisa digunakan

untuk mengisi pulsa melalui fasilitas internet. Dengan begitu pelanggan dari mana

saja dapat mendaftar pengisian pulsa lewat aplikasi ini. Dalam aplikasi disediakan

pula laporan transaksi yang dilakukan pelanggan yang mengisikan pulsa ke nomor

handphone yang dituju. Peneliti menggunakan bahasa pemrograman PHP dengan

databasenya menggunakan MySQL dan aplikasi sms gateway menggunakan

gammu.

Kata kunci : Pulsa, Konter, Website, Internet

Page 5: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

ii

ABSTRACT

DESAIN DAN IMPLEMENTASI APLIKASI

PENGISIAN PULSA BERBASIS WEB

(Studi Kasus : Konter Nurfa Cell)

ABDUL KARIM

08411770040044

Konter is one of kind of company that active in pulse sale, handphone, and

accesoriess that communication means. In activity runs the effort konter do many

the transaction data registrations into a sale book. At konter nurfa cell reports

registration process still done by manual and not yet computerized. In the sale

tool, konter nurfa cell still to sell the pulse to area near konter, so that total

customers that fill pulse at konter there is no enhanced.

Pulse admission filling application based on web application that can be

used to fill pulse pass internet facilities. That way customer from particular can

sign-up pulse admission filling via this application. In application is provided also

transaction report that done customer that fill pulse to handphone number that

aimed. Researcher uses programming language php with the database use mysql

and application sms gateway use gammu.

Keyword: pulse, konter, website, internet

Page 6: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

iii

KATA PENGANTAR

Assalamu’alaikum warahmatullahi wabarakatuh

Puji dan syukur kehadirat Allah SWT Tuhan semesta alam yang senantiasa

melimpahkan rahmat, kasih sayang dan karunia kepada seluruh makhluk-Nya

yang telah memberikan kekuatan kepada saya dalam menyelesaikan tugas akhir

Strata-I yang berjudul “Desain dan Implementasi Aplikasi Pengisian Pulsa

Berbasis Web”.

Tema yang diangkat dalam penyusunan tugas akhir ini berlatar belakang

sebuah tempat pengisian pulsa, yang merupakan sebuah realisasi penerapan

metode modern pada proses pengisian pulsa. Diharapkan pembuatan aplikasi

seperti ini dapat meningkatkan jumlah penjualan konter Nurfa Cell yang menjadi

bahan studi kasus dalam penelitian ini.

Penyusunan tugas akhir ini merupakan salah satu syarat untuk

menyelesaikan Program Pendidikan Sarjana Strata-1 (S1) Jurusan Teknik

Informatika pada Universitas Singaperbangsa Karawang (UNSIKA).

Dalam proses pelaksanaan hingga penyusunan laporan Tugas Akhir ini,

telah banyak kendala yang penulis hadapi. Namun berkat kemudahan dan

kelapangan yang diberikan Allah SWT, serta bantuan dan kerja sama dari berbagai

pihak, semuanya dapat dilalui.

Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan banyak

terima kasih dan rasa hormat kepada semua pihak yang telah memberikan bantuan

baik langsung maupun tidak langsung sehingga laporan tugas akhir ini dapat

diselesaikan, khususnya kepada:

1. Bapak Dr.Dedi Mulyadi, S.E., M.M., selaku Dekan Fakultas Ilmu Komputer

Universitas Singaperbangsa Karawang.

Page 7: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

iv

2. Bapak Oman Komarudin, S.Si., M.Kom, selaku Wakil Dekan Fakultas Ilmu

Komputer Universitas Singaperbangsa Karawang pembimbing I yang telah

banyak meluangkan waktu untuk memberikan bimbingan serta pengarahan.

3. Bapak Ade Andri Hendriadi,S.Si., M.Kom,. Selaku Ketua Program Studi

Teknik Informatika Fakultas Ilmu Komputer Universitas Singaperbangsa

Karawang sekaligus pembimbing II yang telah banyak meluangkan waktu

untuk memberikan bimbingan serta pengarahan.

4. Kedua orang tuaku, Bapak Endang Bahrudin dan Ibu Yati Casniati di

Karawang, yang telah memberikan dukungan moril maupun materil, serta doa,

semangat dan kasih sayang yang tak ternilai.

5. Seluruh Dosen di Fakultas Ilmu Komputer Universitas Singaperbangsa

Karawang.

6. Seluruh karyawan dan karyawati Universitas Singaperbangsa Karawang.

7. Semua pihak yang tidak dapat disebutkan satu persatu yang telah membantu

baik secara langsung maupun tidak langsung dalam penyusunan laporan

Tugas Akhir ini.

Dengan segala kerendahan hati penulis mengakui bahwa laporan tugas akhir

ini masih memiliki kekurangan. Oleh karena itu, penulis mengharapkan kritik dan

saran yang membangun dari semua pihak. Semoga laporan ini dapat bermanfaat.

Wassalamu’alaikum warrahmatullahi wabarakatuh.

Karawang, Juli 2012

Penulis,

Page 8: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

v

DAFTAR ISI

LEMBAR JUDUL

LEMBAR PENGESAHAN

ABSTRAK ......................................................................................................... i

KATA PENGANTAR ....................................................................................... iii

DAFTAR ISI ...................................................................................................... v

DAFTAR TABEL ............................................................................................. ix

DAFTAR GAMBAR ......................................................................................... x

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

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

1.2 Perumusan Masalah .............................................................. 3

1.3 Tujuan Penelitian................................................................... 3

1.4 Batasan Masalah.................................................................... 3

1.5 Kegunaan dan Manfaat ......................................................... 3

1.6 Metodologi Penelitian ........................................................... 4

1.7 Sistematika Penulisan ........................................................... 5

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

2.1 Konsep Dasar Sistem ............................................................ 6

2.1.1 Karakteristik Sistem ..................................................... 6

2.2 Konsep Dasar Informasi ........................................................ 7

2.3 Sistem Informasi ................................................................... 7

2.3.1 Manfaat Sistem Informasi ............................................ 8

2.3.2 Pemakai Sistem Informasi............................................ 8

2.3.3 Komponen Sistem Informasi ....................................... 8

2.4 Rekayasa Perangkat Lunak ................................................... 9

2.4.1 SDLC ................................................................................... 9

2.4.2 Model SDLC ................................................................ 10

2.4.2.1 Model Waterfall ................................................................. 10

Page 9: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

vi

2.4.2.2 Model Prototipe ......................................................... 12

2.4.2.3 Model RAD ............................................................... 13

2.4.2.4 Model Iteratif ............................................................ 14

2.4.2.5 Model Spiral .............................................................. 14

2.4.2.6 Kelebihan Model Waterfall ........................................... 15

2.4.3 Teknik Pengumpulan Data ....................................... 15

2.4.3.1 Teknik Pengumpulan Data Primer ............................ 16

2.4.3.2 Teknik Pengumpulan Data Sekunder ........................ 17

2.4.4 Teknik Pengujian ................................................................... 17

2.4.5 Teknik Pemodelan Perangkat Lunak ......................... 21

1. Pemodelan Berorientasi Objek .............................. 21

2. Pemodelan Terstruktur .......................................... 27

3. Perbandingan Berorientasi Objek dan Terstruktur 27

2.5 Perangkat Lunak Berbasis Web ............................................. 28

2.6 Database ............................................................................... 29

2.6.1 Teknik Perancangan Database .................................. 29

2.6.2 DBMS ....................................................................... 31

2.6.3 SQL ........................................................................... 33

2.6.4 Trigger ....................................................................... 33

2.7 SMS Gateway ........................................................................ 33

2.8 Authentication System ........................................................... 35

2.9 Diagram Editor ..................................................................... 36

2.10 Notepad++ ............................................................................ 36

2.11 Adobe Photoshop .................................................................. 36

2.12 Penelitian Sebelumnya .......................................................... 37

2.12.1 Pembuatan Aplikasi Sistem Penjualan Pulsa Pada Toko

Miyo Cell Menggunakan Netbeans 6.01 dan MySQL 37

2.12.2 Pembuatan Aplikasi Website Pengisian Pulsa secara

Online dengan menggunakan Macromedia Dreamweaver

MX ............................................................................. 37

2.13 Perbandingan Penelitian Sebelumnya ................................... 38

Page 10: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

vii

BAB III OBJEK DAN METODE PENELITIAN ................................. 40

3.1 Objek Penelitian ................................................................. 40

3.1.1 Profil Konter Nurfa Cell......................................... 40

3.1.2 Sejarah Konter Nurfa Cell ...................................... 40

3.1.3 Struktur Organisasi Konter Nurfa Cell................... 41

3.2 Metode yang Digunakan .................................................... 41

3.3 Teknik Pengumpulan Data ................................................. 42

3.4 Rancangan Penelitian ......................................................... 43

3.4.1 Analisis ................................................................... 43

3.4.1.1 Pendefinisian Masalah ........................................... 43

3.4.1.2 Pendefinisian Kebutuhan Software ........................ 43

3.4.1.3 Pendefinisian Pengguna Software .......................... 43

3.4.2 Desain ..................................................................... 44

3.4.3 Pembuatan Kode Program ..................................... 44

3.4.4 Pengujian ................................................................ 44

3.4.5 Pendukung dan Pemeliharaan ................................ 45

BAB IV HASIL DAN PEMBAHASAN ................................................. 46

4.1 Hasil Penelitian .................................................................. 46

4.1.1 Analisis ................................................................... 46

4.1.1.1 Pendefinisian Masalah ........................................... 48

4.1.1.2 Pendefinisian Kebutuhan Software ........................ 48

4.1.1.3 Pendefinisian Pengguna Software .......................... 49

4.1.2 Desain ..................................................................... 50

1. Desain Perangkat Lunak .................................... 50

2. Desain Struktur Data .......................................... 70

3. Representasi Antarmuka..................................... 71

4. Prosedur Pengodean ........................................... 76

4.1.3 Pembuatan Kode Program ..................................... 80

4.1.4 Instalasi .................................................................. 83

4.1.4.1 Instalasi Software ................................................... 83

Page 11: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

viii

4.1.4.2 Instalasi Database .................................................. 84

4.1.4.3 Dokumentasi Program ............................................ 85

4.1.5 Testing .................................................................... 86

4.1.5.1 Pengujian User ....................................................... 86

4.1.5.2 Pengujian Program ................................................. 88

4.2 Pembahasan ........................................................................ 95

BAB V KESIMPULAN DAN SARAN ................................................. 96

5.1 Kesimpulan ........................................................................ 96

5.2 Saran ................................................................................... 96

DAFTAR PUSTAKA................................................................................... xiv

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

LAMPIRAN A (Tampilan Program)

LAMPIRAN B (Query Database)

LAMPIRAN C (Panduan Penggunaan)

BIOGRAFI PENULIS

Page 12: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

ix

DAFTAR TABEL

Tabel 1.1 Laporan Transaksi Penjualan Pulsa ................................. 2

Tabel 2.1 Simbol Diagram Use Case .................................................. 23

Tabel 2.2 Simbol Diagram Sekuen ..................................................... 25

Tabel 2.3 Simbol-Simbol Diagram Aktivitas ..................................... 26

Tabel 2.4 Tabel Simbol ERD .............................................................. 30

Tabel 2.5 Tabel Simbol Diagram Kelas ............................................. 31

Tabel 2.6 Tabel Perbandingan Penelitian Sebelumnya .................... 38

Tabel 4.1 Laporan Penjualan Pulsa ................................................... 46

Tabel 4.2 Data Operator Pulsa ........................................................... 47

Tabel 4.3 Tabel Hak Akses Admin dan User ..................................... 50

Tabel 4.4 Tabel Definisi Aktor pada Diagram Use Case .................. 50

Tabel 4.5 Tabel Definisi Use Case pada Diagram Use Case ............. 51

Tabel 4.6 Skenario Use Case Login .................................................... 52

Tabel 4.7 Skenario Use Case Memasukkan Data Pelanggan ........... 53

Tabel 4.8 Skenario Use Case Mengubah Data Pelanggan ................ 54

Tabel 4.9 Skenario Use Case Menghapus Data Pelanggan .............. 55

Tabel 4.10 Skenario Use Case Menambahkan Saldo Pelanggan ....... 55

Tabel 4.11 Skenario Use Case Konfirmasi Transfer Rekening ......... 57

Tabel 4.12 Skenario Use Case Memasukkan Data Transaksi ........... 58

Tabel 4.13 Skenario Use Case Menampilkan Data Transaksi ........... 59

Tabel 4.14 Skenario Use Case Aktifasi Pendaftaran .......................... 59

Tabel 4.15 Keterangan Diagram Kelas ................................................ 71

Tabel 4.16 Tabel Pengujian User .......................................................... 86

Tabel 4.17 Tabel Pengujian Login ........................................................ 86

Tabel 4.18 Tabel Pengujian Pengisian Pulsa ....................................... 87

Tabel 4.19 Tabel Log Pengisian Pulsa ................................................. 87

Tabel 4.20 Kesimpulan Hasil Pengujian Black Box ........................... 87

Page 13: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

x

DAFTAR GAMBAR

Gambar 1.1 Grafik Pengguna Internet Di Indonesia ......................... 1

Gambar 1.2 Model Waterfall Al Bahra bin Ladjamudin ................... 4

Gambar 2.1 Lima Komponen Sistem Informasi ................................ 8

Gambar 2.2 Ilustrasi Model Waterfall .............................................. .. 10

Gambar 2.3 Ilustrasi Model Prototype .............................................. ... 13

Gambar 2.4 Ilustrasi Model RAD ..................................................... ... 13

Gambar 2.5 Ilustrasi Model Iteratif .................................................... 14

Gambar 2.6 Ilustrasi Model Spiral ...................................................... 15

Gambar 2.7 Flowgraph Proses Perintah Kerja .................................. 19

Gambar 2.8 Diagram UML .................................................................. 22

Gambar 2.9 Ilustrasi Perbandingan OO vs Terstruktur ................... 28

Gambar 3.1 Struktur Organisasi Konter Nurfa Cell ........................ 41

Gambar 3.2 Ilustrasi Langkah Penelitian Berdasarkan Metode yang

Digunakan ......................................................................... 42

Gambar 3.3 Ilustrasi Langkah Pemeliharaan .................................... 45

Gambar 4.1 Grafik Data Penjualan Konter Nurfa Cell .................... 46

Gambar 4.2 Prosedur Pengisian Pulsa Konter Nurfa Cell ............... 48

Gambar 4.3 Diagram Use Case pada Aplikasi Pengisian Pulsa ........ 60

Gambar 4.4 Diagram Aktivitas pada Use Case Login ........................ 61

Gambar 4.5 Diagram Aktivitas pada Use Case Memasukkan Data

Pelanggan .......................................................................... 61

Gambar 4.6 Diagram Aktivitas pada Use Case Mengubah Data Pelanggan

.... ........................................................................................ 61

Gambar 4.7 Diagram Aktivitas pada Use Case Menghapus Data

Pelanggan ..................................................................... ..... 62

Gambar 4.8 Diagram Aktivitas pada Use Case Menambahkan Saldo

Pelanggan ..................................................................... ..... 62

Page 14: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xi

Gambar 4.9 Diagram Aktivitas pada Use Case Konfirmasi Transfer

.. .......................................................................................... 62

Gambar 4.10 Diagram Aktivitas pada Use Case Memasukkan Data

Transaksi.. ...... ................................................................... 63

Gambar 4.11 Diagram Aktivitas pada Use Case Menampilkan Data

Transaksi ........................................................................... 63

Gambar 4.12 Diagram Aktivitas pada Use Case Aktivasi Pendaftaran

.......................................................................................... .. 63

Gambar 4.13 Diagram Sekuen untuk Use Case Login ......................... 64

Gambar 4.14 Diagram Sekuen untuk Use Case Memasukkan Data

Pelanggan .......................................................................... 64

Gambar 4.15 Diagram Sekuen untuk Use Case Mengubah Data Pelanggan

.... ........................................................................................ 65

Gambar 4.16 Diagram Sekuen untuk Use Case Menghapus Data Pelanggan

............................................................................................ 66

Gambar 4.17 Diagram Sekuen untuk Use Case Menghapus Data Transaksi

....................................................................................... ..... 67

Gambar 4.18 Diagram Sekuen untuk Use Case Memasukkan Data Transaksi

.. .......................................................................................... 68

Gambar 4.19 Diagram Sekuen untuk Use Case Menambahkan Saldo

Pelanggan.. ..... ................................................................... 68

Gambar 4.20 Diagram Sekuen untuk Use Case Konfirmasi Transfer

Rekening ........................................................................... 69

Gambar 4.21 Diagram Sekuen untuk Use Case Aktifasi Pendaftaran 69

Gambar 4.22 Diagram Kelas Aplikasi Pengisian Pulsa ....................... 70

Gambar 4.23 Diagram Struktur Menu ................................................. 72

Gambar 4.24 Tampilan Login ................................................................ 72

Gambar 4.25 Tampilan Main Admin .................................................... 72

Gambar 4.26 Tampilan Main User ........................................................ 73

Gambar 4.27 Tampilan Form Pendaftaran .......................................... 73

Gambar 4.28 Tampilan Ubah Data Profil Pelanggan .......................... 73

Page 15: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xii

Gambar 4.29 Tampilan Aktifasi Pendaftaran ...................................... 74

Gambar 4.30 Tampilan Konfirmasi Transfer ...................................... 74

Gambar 4.31 Form Transaksi Pulsa ...................................................... 74

Gambar 4.32 Tampilan Log Transaksi Pengisian Pulsa ...................... 75

Gambar 4.33 Penambahan Saldo Pelanggan ........................................ 75

Gambar 4.34 Pengelolaan Anggota Oleh Admin .................................. 75

Gambar 4.35 Prosedur Login ................................................................. 76

Gambar 4.36 Prosedur Pendaftaran ...................................................... 76

Gambar 4.37 Prosedur Mengubah Data Pelanggan ............................ 77

Gambar 4.38 Prosedur Aktifasi Pendaftaran ....................................... 77

Gambar 4.39 Prosedur Konfirmasi Transfer ....................................... 78

Gambar 4.40 Prosedur Pengisian Pulsa ................................................ 78

Gambar 4.41 Prosedur Laporan Pengisian Pulsa ................................ 79

Gambar 4.42 Prosedur Penambahan Saldo .......................................... 79

Gambar 4.43 Tampilan Kode Program Isi Pulsa ................................. 80

Gambar 4.44 Tampilan MySQL Database Aplikasi Pengisian Pulsa .. 82

Gambar 4.45 Isi SMS saat Konfirmasi Pendaftaran ........................... 83

Gambar 4.46 Logo Mozilla Firefox ........................................................ 83

Gambar 4.47 Tampilan Aplikasi XAMPP saat MySQL sedang Berjalan

.......................... .................................................................. 84

Gambar 4.48 Tampilan Menu Bantuan ................................................ 85

Gambar 4.49 Pengujian White Box Pada Program Pengisian Pulsa .. 89

Gambar 4.50 Pengujian White Box Kode Login ................................... 91

Gambar 4.51 Pengujian White Box Pada Log Pengisian Pulsa ........... 94

Gambar 6.1 Service MySQL Dijalankan .............................................. xxxvii

Gambar 6.2 Masukkan Address Localhost Di Browser ..................... xxxvii

Gambar 6.3 Tahapan Awal Pendaftaran ............................................ xxxviii

Gambar 6.4 Form Pendaftaran ............................................................ xxxviii

Gambar 6.5 Memasukkan Kode Aktifasi ............................................ xxxviii

Gambar 6.6 Tampilan User Aktif ........................................................ xxxix

Gambar 6.7 Halaman Utama User ....................................................... xxxix

Page 16: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xiii

Gambar 6.8 Pengisian Pulsa ................................................................. xxxix

Gambar 6.9 Tampilan Pulsa Berhasil Dikirim ................................... xxxix

Page 17: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dengan adanya kemajuan teknologi yang semakin pesat, berpengaruh pula

perkembangan perangkat telepon selular saat ini, sehingga perangkat telepon

selular semakin memasyarakat. Perkembangan ini sangat membantu dalam

menyajikan informasi yang cepat dan efisien dengan pengaksesan internet melalui

perangkat telepon selular tersebut. Pada masa sekarang, internet sudah menjadi

kebutuhan pokok para pengguna telepon selular. Mulai dari kegiatan browsing,

chatting, download maupun upload.

Berdasarkan data statistik dari tekno.kompas.com tanggal 12 Januari 2012,

pengguna internet di Indonesia tahun 2011 mencapai 55 juta pengguna. Angka

tersebut sudah termasuk pengaksesan internet di komputer dan ponsel.

Dibandingkan tahun sebelumnya yang mencapai angka 42 juta, pengguna internet

di Indonesia naik menjadi 10 %. Jika di tahun 2010 lalu rata-rata penetrasi

penggunaan internet di Indonesia masih 30-35 persen, di tahun 2011 ini

ditemukan oleh MarkPlus Insight bahwa angkanya sudah mencapai 40-45 persen

dari total pengguna internet di dunia. Hal tersebut didukung oleh semakin

berkembangnya bidang teknologi di Indonesia.

Gambar 1.1 Grafik Pengguna Internet Di Indonesia Tahun 2011

Page 18: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

2

Sebuah perangkat telepon selular tidak bisa berfungsi jika di dalamnya tidak

tersedianya cost atau biasa disebut dengan pulsa. Segala pelayanan yang ada

dalam perangkat telepon selular seperti SMS, MMS, dan panggilan tidak dapat

dilaksanakan tanpa adanya pulsa di dalamnya.

Penjualan pulsa tanpa menggunakan fasilitas website seperti pada masa-masa

sekarang, hanya dengan menggunakan kartu voucher dan isi ulang elektrik.

Pembelinya mayoritas orang-orang yang berdiam dan lewat di toko isi ulang

tersebut. Berdasarkan data penjualan pulsa di konter Nurfa Cell bulan Desember

tahun 2011, pulsa hanya mampu dijual sebanyak 3,2 juta rupiah dengan pembeli

sebanyak 38 orang. Pembeli tersebut juga terdiri atas berbagai macam operator

selular.

Tabel 1.1 Laporan Transaksi Penjualan Pulsa (Sumber : Buku Penjualan

Konter Nurfa Cell Bulan Januari 2012)

Kartu Operator Elektrik (Transaksi x Pulsa) Harga Jual Pengguna Jumlah

Simpati

(26 x 5.000) (26 x 7.000)

6

182.000

(24 x 10.000) (24 x 12.000) 288.000

(1 x 25.000) (1 x 26.000) 26.000

Flexi (5 x 10.000) (5 x 11.500) 1 57.500

IM3

(31 x 5.000) (31 x 7.000)

16

217.000

(85 x 10.000) (85 x 12.000) 1.020.000

(4 x 50.000) (4 x 51.000) 206.000

Mentari (6 x 10.000) (6 x 12.000)

3 72.000

(3 x 50.000) (3 x 51.500) 154.500

XL

(15 x 10.000) (15 x 11.000)

5

165.000

(5 x 25.000) (5 x 25.500) 125.000

(2 x 50.000) (2 x 51.500) 103.000

Three (14 x 5.000) (14 x 7.000)

2 98.000

(5 x 10.000) (5 x 11.500) 57.500

Axis (12 x 10.000) (12 x 12.000) 1 144.000

Esia (12 x 10.000) (12 x 12.000)

2 144.000

(2 x 50.000) (2 x 52.000) 104.000

Smartfren (2 x 10.000) (2 x 11.500)

2 23.000

(1 x 50.000) (1 x 52.000) 52.000

Jumlah 38 3.238.500

Page 19: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

3

Pengisian pulsa menggunakan fasilitas elektrik melalui sms, dapat

mengisikan pulsa ke nomor orang dimana pun dan kapan pun. Namun, pengisian

tersebut hanya bisa dilakukan dengan nomor yang sudah terdaftar menjadi agen

pulsa. Dengan fasilitas akun di website, menjadikan orang dapat melakukan

transaksi pulsa melalui internet dengan media apapun, baik handphone ataupun

PC.

1.2 Perumusan Masalah

Perumusan masalah yang diambil meliputi :

1. Bagaimana cara pengisian pulsa dimana pun dan kapan pun.

2. Bagaimana cara pengisian pulsa melalui internet dengan media PC.

3. Bagaimana cara pengisian pulsa user dengan memanfaatkan website.

1.3 Tujuan Penelitian

Adapun tujuan dari penelitian skripsi ini adalah :

1. Membuat aplikasi yang dapat memfasilitasi pengisian pulsa dimana pun dan

kapan pun.

2. Menghasilkan aplikasi yang dapat memfasilitasi pengisian pulsa melalui

internet dengan media PC.

3. Membuat aplikasi yang dapat memfasilitasi pengisian pulsa user dengan

memanfaatkan website.

1.4 Batasan Masalah

Batasan masalah yang diambil dalam penelitian ini, yaitu aplikasi yang dibuat

hanya memfasilitasi pengisian pulsa dengan memanfaatkan website.

1.5 Kegunaan dan Manfaat

Manfaat yang diharapkan dari kajian penelitian ini adalah :

1. Dapat melakukan trasnsaksi pulsa dengan fasilitas internet.

2. Dapat melakukan transaksi pulsa dimana pun dan kapan pun.

3. Dapat meningkatkan penjualan pulsa.

Page 20: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

4

1.6 Metodologi Penelitian

Penelitian ini menggunakan metode rekayasa dengan penelitian berbasis

objek. Dan menggunakan Software Development Life Cycle (SDLC) dalam

pengembangan aplikasi dengan model waterfall, yaitu analisis, desain dan

perancangan, implementasi, pengujian, dan pemeliharaan.

Gambar 1.2 Model waterfall Al Bahra bin Ladjamudin (2005:30)

1. Analisis

Proses pengumpulan kebutuhan dilakukan secara intensif untuk

menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat

lunak seperti apa yang dibutuhkan oleh user.

2. Desain

Proses multilangkah yang fokus pada desain pembuatan program perangkat

lunak termasuk struktur data, arsitektur perangkat lunak, representasi

antarmuka, dan prosedur pengodean.

3. Pembuatan Kode Program

Desain harus ditranslasikan ke dalam program perangkat lunak.

Page 21: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

5

4. Pengujian

Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan

memastikan bahwa semua bagian sudah diuji.

5. Pemeliharaan

Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan

ketika sudah dikirimkan ke user.

1.7 Sistematika Penulisan

Rangkuman dari pembuatan skripsi ini adalah :

BAB I Pendahuluan

Menjelaskan secara umum tentang latar belakang masalah, perumusan

masalah, tujuan penelitian, batasan masalah, kegunaan dan manfaat

serta metodologi penelitiannya.

BAB II Landasan Teori.

Berisi tentang dasar-dasar pemahaman yang akan dituangkan ke

dalam skripsi.

BAB III Objek dan Metodologi Penelitian.

Berisi objek, metode, dan langkah-langkah penelitian.

BAB IV Hasil dan Pembahasan.

Menjelaskan tentang hasil dari setiap langkah penelitian sampai

didapatkan hasil dari penelitian.

BAB V Kesimpulan dan Saran.

Berisi kesimpulan dari skripsi yang dibuat dan saran yang

membangun skripsi tersebut.

Page 22: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

6

BAB II

LANDASAN TEORI

2.1 Konsep Dasar Sistem

Al-Bahra bin Ladjamudin dalam bukunya yang berjudul Analisis dan Desain

Sistem Informasi (2005:3),

“Lucas (1989) mendefinisikan bahwa sistem sebagai suatu komponen atau

variabel yang terorganisir, saling berinteraksi, saling bergantung, satu sama lain

dan terpadu. Mc Leod berpendapat, sistem adalah sekelompok elemen yang

terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Begitu pula

Robert G. Murdick (1993), mendefinisikan sistem sebagai seperangkat elemen-

elemen yang terintegrasi dengan maksud yang sama untuk mencapai tujuan

bersama. Pendekatan sistem yang lebih menekankan pada prosedur didefinisikan

bahwa sistem yaitu suatu jaringan kerja dari prosedur-prosedur yang saling

berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau

menyelesaikan suatu sasaran tertentu (Gerald J. 1991).”

2.1.1 Karakteristik Sistem

Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu yang menjadi

acuan dalam pembentukan sistem, yaitu : (Ladjamudin, 2005 : 3)

1. Komponen Sistem

Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang

artinya dapat bekerjasama membentuk suatu kesatuan.

2. Batasan Sistem

Batasan sistem merupakan daerah yang membatasi antara suatu sistem dengan

sistem yang lainnya atau dengan lingkungan luarnya.

3. Lingkungan Luar Sistem

Lingkungan luar sistem adalah apapun di luar batas dari sistem yang

mempengaruhi operasi sistem.

4. Penghubung Sistem

Penghubung merupakan media yang menghubungkan antara satu subsistem

dengan subsistem lainnya.

Page 23: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

7

5. Masukan Sistem

Masukan sistem adalah energi yang dimasukkan ke dalam sistem.

6. Keluaran Sistem

Keluaran sistem adalah energi yang diolah dan diklasifikasikan menjadi

keluaran yang berguna. Keluaran dapat merupakan masukan untuk subsistem

yang lain.

7. Pengolahan Sistem

Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem itu sendiri

sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi keluaran.

8. Sasaran Sistem

Suatu sistem mempunyai tujuan atau sasaran, kalau sistem tidak mempunyai

sasaran makan sistem tidak akan ada. Suatu sistem dikatakan berhasil bila

mengenai sasaran atau tujuannya.

2.2 Konsep Dasar Informasi

Al-Bahra bin Ladjamudin dalam bukunya yang berjudul Analisis dan Desain

Sistem Informasi (2005:9) : Raymond McLeod (1995) mendefinisikan informasi

sebagai data yang telah diolah menjadi bentuk yang lebih berarti bagi

penerimanya. Alat pengolah informasi dapat meliputi elemen komputer dan

elemen non komputer atau kombinasinya.

Kegunaan informasi adalah untuk mengurangi ketidakpastian di dalam proses

pengambilan keputusan tentang suatu keadaan. Informasi digunakan tidak hanya

oleh satu orang pihak di dalam organisasi. Nilai sebuah informasi ditentukan dari

dua hal yaitu manfaat dan biaya untuk mendapatkannya.

2.3 Sistem Informasi

Sistem Informasi adalah suatu sistem di dalam suatu organisasi yang

mempertemukan kebutuhan pengolahan transaksi, mendukung operasi, bersifat

manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar

tertentu dengan laporan-laporan yang diperlukan. (Ladjamudin, 2005:14).

Page 24: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

8

Fathul Wahid dalam jurnalnya Metodologi Sistem Informasi (2004:1), secara

garis besar, lingkup penelitian sistem informasi meliputi pengembangan,

penggunaan dan aplikasi sistem informasi oleh individu, organisasi dan

masyarakat.

2.3.1 Manfaat Sistem Informasi

Organisasi menggunakan sistem informasi untuk mengolah transaksi-

transaksi, mengurangi biaya dan menghasilkan pendapatan sebagai salah satu

produk atau pelayanan mereka. (Ladjamudin, 2005:14).

2.3.2 Pemakai Sistem Informasi

Ladjamudin dalam bukunya Analisis dan Desain Sistem Informasi

(2005:14), Sebagian besar sistem informasi berlandaskan komputer terdapat di

dalam suatu organisasi dalam berbagai jenis. Anggota organisasi adalah pemakai

informasi yang dihasilkan sistem tersebut termasuk manajer yang bertanggung

atas pengalokasian sumber daya untuk pengembangan dan pengoperasian

perusahaan.

2.3.3 Komponen Sistem Informasi

Sistem informasi terbagi atas 5 komponen. Kelima komponen tersebut dapat

diklasifikasikan sebagai berikut :

1. Hardware dan software yang berfungsi sebagai mesin.

2. People dan procedures yang merupakan manusia dan tatacara menggunakan

mesin.

3. Data merupakan jembatan penghubung antara manusia dan mesin agar terjadi

suatu proses pengolahan data.

Gambar 2.1 Lima Komponen Sistem Informasi (Ladjamudin, 2005:15)

Hardware

(Perangkat

Keras)

Software

(Perangkat

Lunak)

DATA Procedures

(Prosedur)

People

(Manusia)

Mesin Manusia

Page 25: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

9

2.4 Rekayasa Perangkat Lunak

Rekayasa perangkat lunak (software engineering) merupakan pembangunan

dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan

perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien

menggunakan mesin. (Shalahuddin, 2011:4).

2.4.1 SDLC (Software Development Life Cycle)

M. Shalahuddin dalam bukunya Rekayasa Perangkat Lunak (2011:24) :

“SDLC atau Software Development Life Cycle atau sering disebut juga System

Development Life Cycle adalah proses pengembangan atau mengubah suatu

sistem perangkat lunak dengan menggunakan model-model dan metodologi yang

digunakan orang untuk mengembangkan sistem-sistem perangkat lunak

sebelumnya (berdasarkan best practice atau cara-cara yang sudah teruji baik).”

Tahapan-tahapan yang ada pada SDLC secara global adalah sebagai berikut

(Shalahuddin, 2011:24) :

1. Inisiasi, ditandai dengan pembuatan proposal proyek perangkat lunak.

2. Pengembangan konsep sistem, mendefinisikan lingkup konsep termasuk

dokumen lingkup sistem, analisis manfaat biaya, manajemen rencana, dan

pembelajaran kemudahan sistem.

3. Perencanaan, mengembangkan rencana manajemen proyek dan dokumen

perencanaan lainnya.

4. Analisis kebutuhan, menganalisis kebutuhan pemakai sistem perangkat lunak

(user) dan mengembangkan kebutuhan user.

5. Desain, mentransformasikan kebutuhan detail menjadi kebutuhan yang sudah

lengkap, dokumen desain sistem fokus pada bagaimana dapat memenuhi

fungsi-fungsi yang dibutuhkan.

6. Pengembangan, mengonversi desain ke sistem informasi yang lengkap

termasuk bagaimana memperoleh dan melakukan instalasi lingkungan sistem

yang dibutuhkan.

Page 26: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

10

7. Integrasi dan pengujian, mendemonstrasikan sistem perangkat lunak bahwa

telah memenuhi kebutuhan yang dispesifikasikan pada dokumen kebutuhan

fungsional.

8. Implementasi, pada persiapannya, implementasi perangkat lunak pada

lingkungan produksi (lingkungan pada user) dan menjalankan resolusi dari

permasalahan yang teridentifikasi dari fase integrasi dan pengujian.

9. Operasi dan pemeliharaan, mendeskripsikan pekerjaan untuk mengoperasikan

dan memelihara sistem informasi pada lingkungan produksi (lingkungan pada

user), termasuk implementasi akhir dan masuk pada proses peninjauan.

10. Disposisi, mendeskripsikan aktivitas akhir dari pengembangan sistem dan

membangun data yang sebenarnya sesuai dengan aktivitas user.

2.4.2 Model SDLC

Dalam pengembangannya, model SDLC terdiri dari beberapa model, yaitu:

2.4.2.1 Model Waterfall

M. Shalahuddin dalam bukunya yang berjudul Rekayasa Perangkat Lunak

(2011:26) :

“Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier

(sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun

menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau

terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung

(support).”

Gambar 2.2 Ilustrasi Model Waterfall (Ladjamudin, 2005:30)

Page 27: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

11

1. Analisis Kebutuhan Perangkat Lunak

M. Shalahuddin menjelaskan bahwa (2011:27), proses pengumpulan kebutuhan

dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak

agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user.

Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk

didokumentasikan.

2. Desain

Tahapan perancangan memiliki tujuan untuk mendesain sistem baru yang dapat

menyelesaikan masalah-masalah yang dihadapi perusahaan yang diperoleh dari

pemilihan alternatif sistem yang terbaik. Kegiatan yang dilakukan dalam tahap

perancangan ini meliputi perancangan output, input dan file. (Ladjamudin,

2005:39).

Desain perangkat lunak adalah proses multilangkah yang focus pada desain

pembuatan program perangkat lunak termasuk struktur data, arsitektur

perangkat lunak, representasi antarmuka, dan prosedur pengodean.

(Shalahuddin, 2011:27).

Dapat disimpulkan bahwa tahapan dalam desain pembuatan perangkat lunak,

yaitu :

a. Desain Perangkat Lunak

b. Desain Struktur Data

c. Representasi Antarmuka

d. Prosedur Pengodean

3. Pembuatan Kode Program

Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari

tahap ini adalah program komputer sesuai dengan desain yang telah dibuat

pada tahap desain. (Shalahuddin, 2011:27).

Page 28: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

12

4. Pengujian

Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan

memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk

meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan

sesuai dengan yang diinginkan. (Shalahuddin, 2011:28).

Shalahuddin juga menjelaskan (2011:29) :

“Sering perangkat lunak mengandung kesalahan (error) pada proses-proses

tertentu pada saat perangkat lunak sudah berada di tangan user. Kesalahan-

kesalahan (error) pada perangkat lunak ini sering disebut dengan "bug". Untuk

menghindari banyaknya bug maka diperlukan adanya pengujian perangkat

lunak sebelum perangkat lunak diberikan kepada pelanggan atau selama

perangkat lunak masih terus dikembangkan.”

5. Pendukung (Support) atau Pemeliharaan (Maintenance)

M. Shalahuddin menjelaskan dalam bukunya Rekayasa Perangkat Lunak

(2011:28).

“Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan

ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya

kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat

lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau

pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis

spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk

membuat perangkat lunak baru. “

Dapat disimpulkan bahwa pemeliharaan perangkat lunak menjadi tiga macam,

yaitu pemeliharaan korektif, pemeliharaan adaptif, dan pemeliharaan perfektif.

2.4.2.2 Model Prototipe

M. Shalahuddin dalam bukunya Rekayasa Perangkat Lunak (2011:29),

Model prototipe dapat digunakan untuk menyambungkan ketidakpahaman

pelanggan mengenai hal teknis dan memperjelas spesifikasi kebutuhan yang

diinginkan pelanggan kepada pengembang perangkat lunak.

Page 29: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

13

Gambar 2.3 Ilustrasi Model Prototype (Shalahuddin, 2011:30).

Mock-up adalah sesuatu yang digunakan sebagai model desain yang

digunakan untuk mengajar, demonstrasi, evaluasi desain, promosi, atau keperluan

lain. (Shalahuddin, 2011:30).

2.4.2.3 Model Rapid Aplication Development (RAD)

Rapid Application Development (RAD) adalah model proses

pengembangan perangkat lunak yang bersifat inkremental terutama untuk

pengerjaan waktu yang pendek. Model RAD adalah adaptasi dari model air terjun

versi kecepatan tinggi dengan menggunakan model air terjun untuk

pengembangan setiap komponen perangkat lunak. (M. Shalahuddin, 2011:32).

Gambar 2.4. Ilustrasi Model RAD (Shalahuddin, 2011: 33)

Membangun/

memperbaiki mock-

up

Pelanggan

Melihat/menguji mock-

up

Mendengarkan

pelanggan

Page 30: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

14

2.4.2.4 Model Iteratif

Model iteratif (iterative model) mengkombinasikan proses-proses pada

model air terjun dan iteratif pada model prototipe. Model inkremental akan

menghasilkan versi-versi perangkat lunak yang sudah mengalami penambahan

fungsi untuk setiap pertambahanya (inkremen/increment). (Shalahuddin, 2011:36)

Gambar 2.5. Ilustrasi Model Iteratif (Shalahuddin, 2011:36)

Model iteratif merupakan gabungan dari model waterfall dan model

prototipe. Model ini cocok digunakan pengembang dengan turnover (pergantian)

staf yang tinggi. (Shalahuddin, 2011:37).

2.4.2.5 Model Spiral

Model spiral (spiral model) memasangkan iteratif pada model prototipe

dengan control dan aspek sistematik yang diambil dari model air terjun. Model

spiral menyediakan pengembangan dengan cara cepat dengan perangkat lunak

yang memiliki versi yang terus bertambah fungsinya (increment). (Shalahuddin,

2011:37)

Page 31: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

15

Gambar 2.6. Ilustrasi Model Spiral (Shalahuddin, 2011:39).

“Model spiral cocok digunakan untuk mengembangkan sistem perangkat lunak

berskala besar karena memiliki proses analisis risiko yang dapat sangat

meminimalisir risiko yang mungkin terjadi. Model spiral memungkinkan

pengembang untuk menggunakan prototipe pada setiap tahap untuk mengurangi

risiko. (Shalahuddin, 2011:40)”

2.4.2.6 Kelebihan Model Waterfall

M. Shalahuddin dalam bukunya yang berjudul Rekayasa Perangkat Lunak

(2011:28-29) :

“Model air terjun sangat cocok untuk digunakan kebutuhan pelanggan yang sudah

dipahami dan kemungkinan terjadinya perubahan kebutuhan selama

pengembangan perangkat lunak kecil. Hal positif lain dari model air terjun adalah

struktur tahap pengembangan sistem jelas, dokumentasi yang dihasilkan disetiap

tahap pengembangan, dan sebuah tahap dijalankan setelah tahap sebelumnya

selesai dijalankan (tidak ada tumpang tindih dalam pelaksanaan tahap). Model

waterfall adalah model SDLC yang paling sederhana. Model ini hanya cocok

untuk pengembangan perangkat lunak dengan spesifikasi yang tidak berubah-

ubah.”

2.4.3 Teknik Pengumpulan Data

Sebuah penelitian selalu menggunakan teknik pengumpulan data dalam

mengumpulkan data-data penelitian. Sedangkan teknik pengumpulan data terbagi

Page 32: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

16

atas dua jenis, yaitu teknik pengumpulan data primer dan teknik pengumpulan

data sekunder. (repository.usu.ac.id).

2.4.3.1 Teknik Pengumpulan Data Primer

Teknik pengumpulan data primer adalah pengumpulan data yang

dilakukan secara langsung pada lokasi penelitian. (repository.usu.ac.id).

Ada beberapa teknik pengumpulan data yang sering dilakukan yaitu

sebagai berikut (Shalahuddin, 2011:17) :

1. Teknik Wawancara

Pengumpulan data dengan menggunakan wawancara mempunyai beberapa

keuntungan sebagai berikut (Shalahuddin, 2011:17) :

a. Lebih mudah dalam menggali bagian sistem mana yang dianggap baik dan

bagian mana yang dianggap kurang baik.

b. Jika ada bagian tertentu yang menurut anda perlu untuk digali lebih dalam,

anda dapat langsung menanyakan kepada narasumber.

c. Dapat menggali kebutuhan user secara lebih bebas.

d. User dapat mengungkapkan kebutuhannya secara lebih bebas.

2. Teknik Observasi

Pengumpulan data dengan dengan menggunakan observasi mempunyai

keuntungan, yaitu (Shalahuddin, 2011:18) :

a. Analisis dapat melihat langsung bagaimana sistem lama berjalan.

b. Mampu menghasilkan gambaran lebih baik jika dibanding dengan teknik

lainnya.

3. Teknik Kuisioner

Pengumpulan data dengan menggunakan kuisioner mempunyai keuntungan,

yaitu (Shalahuddin, 2011:19) :

a. Hasilnya lebih objektif, karena kuisioner dapat dilakukan kepada banyak

orang sekaligus.

Page 33: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

17

b. Waktunya lebih singkat.

2.4.3.2 Teknik Pengumpulan Data Sekunder

Teknik pengumpulan data sekunder adalah teknik pengumpulan data

yang dilakukan melalui studi bahan-bahan kepustakaan yang perlu untuk

mendukung data primer. Pengumpulan data sekunder dilakukan dengan instrumen

sebagai berikut (repository.usu.ac.id) :

1. Studi kepustakaan yaitu pengumpulan data yang diperoleh dari buku-buku,

karya ilmiah, pendapat para ahli yang memiliki relevansi dengan masalah yang

teliti.

2. Studi dokumentasi yaitu pengumpulan data yang diperoleh dengan

menggunakan catatan-catatan tertulis yang ada di lokasi penelitian serta

sumber-sumber lain yang menyangkut masalah yang diteliti dengan instansi

terkait.

2.4.4 Teknik Pengujian

Dalam bukunya Rekayasa Perangkat Lunak (2011:213-214), M.

Shalahuddin menjelasakan bahwa Pendekatan pengujian dibagi atas beberapa

tahap, yaitu :

1. Black Box Testing (Pengujian Kotak Hitam)

Yaitu menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji

desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah

fungsi-fungsi, masukan, dan keluaran dari perangkat lunak sesuai dengan

spesifikasi yang dibutuhkan.

2. White Box Testing (Pengujian Kotak Putih)

Yaitu menguji perangkat lunak dari segi desain dan kode program apakah

menghasilkan fungsi-fungsi, masukan, dan leluaran yang sesuai dengan

spesifikasi kebutuhan. Pengujian kotak putih dilakukan dengan memeriksa

lojik dari kode program.

Page 34: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

18

Dalam pelaksanaanya, teknik pengujian white box ini mempunyai empat

langkah, yaitu sebagai berikut (Zohrahayati, 2007 : 15),

a) Menggambar flowgraph (aliran kontrol),

b) Menghitung cyclomatic complexity (CC) untuk flowgraph yang telah dibuat

c) Menentukan jalur pengujian dari flowgraph yang berjumlah sesuai dengan

cyclomatic complexity yang telah ditentukan,

d) Bases path testing, yaitu teknik yang memungkinkan perangcang test case

mengukur kompleksitas logis dari desain prosedural dan menggunakannya

sebagai pedoman untuk menetapkan basis set dari jalur eksekusi.

Perhitungan CC untuk melihat kesamaan nilai antara white box testing dan

bases path testing, jika nilai V(G) = CC pada white box sama dengan nilai CC

pada bases path testing, maka proses pengujiannya telah berhasil.

(Zohrahayati, 2007 : 15).

Beberapa istilah dalam pembuatan flowgraph :

a) Node, yaitu lingkaran pada flowgraph yang menggambarkan satu atau lebih

perintah prosedural,

b) Edge, yaitu tanda panah yang menggambarkan aliran kontrol dan setiap

node harus mempunyai tujuan node,

c) Region, yaitu daerah yang dibatasi oleh node dan edge dan untuk

menghitung region daerah di luar flowgraph juga harus dihitung,

d) Predicate node, yaitu kondisi yang terdapat pada node dan mempunyai

karakteristik dua atau lebih edge lainnya.

Berikut contoh flowgraph proses perintah kerja dan cara mendapatkan region,

node, edge, dan predicate nodenya.

Page 35: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

19

Gambar 2.7 Flowgraph Proses Perintah Kerja (Zohrahayati, 2007 : 16)

Dalam membuat keterangan, dapat diambil dari kode program yang terlebih

dahulu dibuatkan prosedurnya, atau dengan keterangan seperti ini :

Node 1 : Tampilkan form perintah kerja, aktifkan file-file yang dibutuhkan,

serta input No.PK,

Node 2 : No. PK sudah ada ?

Node 3 : Jika ya, tampil data-data PK tersebut, kemudian apakah akan

mengedit atau menghapus data tersebut,

Node 4 : Jika edit, maka data-data PK dilanjutkan ke proses penyimpanan,

Node 5 : Jika hapus, maka data-data PK akan dihapus dari tabel,

Node 6 : Jika tidak, maka masuk ke input data PK,

Node 7 : Setelah selesai diinput atau diedit, apakah data-data tersebut akan

disimpan, dibatalkan atau keluar dari form perintah kerja,

Node 8 : Jika disimpan, maka data-data tersebut akan direkam ke tabel, dan

kembali ke pengisian No. PK lainnya,

Node 9 : Jika dibatalkan, maka kembali ke pengisian No. PK lainnya,

Node 10: Jika tidak disimpan atau dibatalkan, maka tutup form perintah kerja

dan kembali ke menu utama.

Dari flowgraph diatas, maka didapatkan :

Region (R) : 5

Node (N) : 10

Page 36: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

20

Edge (E) : 13

Predicate Node : 4

Maka, V(G) = E – N + 2

= 13 – 10 + 2

= 5

Maka, V(G) = P + 1

= 4 + 1

= 5

Dan Cyclometic Complexity (CC) = R1, R2, R3, R4, R5

Kemudian hasil diatas dibandingkan dengan hasil pengujian bases path.

Pengujian jalur logika pada flowgraph diatas adalah sebagai berikut

(Zohrahayati, 2007 : 17) :

Jalur 1 : 1 – 2 – 3 – 4 – 5 – 1 – 2 – 6 – 7 – 9 – 10

Jalur 2 : 1 – 2 – 3 – 4 – 7 – 8 - 1 – 2 – 6 – 7 – 9 – 10

Jalur 3 : 1 – 2 – 6 – 7 – 8 – 1 – 2 – 6 – 7 – 9 – 10

Jalur 4 : 1 – 2 – 6 – 7 – 9 – 1 – 2 – 6 – 7 – 9 – 10

Jalur 5 : 1 – 6 – 7 – 9 – 10

Jadi Cyclometic Complexity (CC) = 5, V(G) = 5

Pengujian test case dengan pendekatan white box dan bases path berdasarkan

flowgraph dapat menghasilkan :

Jalur 1 : No PK ada, lakukan penghapusan data, kembali mengisi No PK lain,

Jalur 2 : No PK ada, lakukan pengeditan, rekam ke tabel, dan kembali

mengisi No PK yang lain

Jalur 3 : No PK tidak ada, input data perintah kerja, batalkan penyimpanan,

dan kembali mengisi No PK yang lain

Jalur 5 : No PK tidak ada, input data perintah kerja, batalkan penyimpanan,

dan kembali ke menu utama

Berdasarkan hasil uji coba white box testing dan bases path testing di atas,

dapat disimpulkan bahwa logika flowchart benar.

Page 37: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

21

2.4.5 Teknik Pemodelan Perangkat Lunak

Dalam bukunya yang berjudul Rekayasa Perangkat Lunak (2011:116), M.

Shalahuddin menjelaskan bahwa pemodelan adalah gambaran dari realita yang

simpel dan dituangkan dalam bentuk pemetaan dengan aturan tertentu. Pemodelan

perangkat lunak digunakan untuk mempemudah langkah berikutnya dari

pengembangan sebuah sistem informasi sehingga lebih terencana.

1. Pemodelan Berorientasi Objek (Object Oriented Modeling)

Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat

lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang

berisi data dan operasi yang diberlakukan terhadapnya. (Shalahuddin, 2011:82)

M. Shalahuddin menjelaskan dalam bukunya Rekayasa Perangkat Lunak

(2011:86), bahwa :

“Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan

dalam melihat permasalahan dan sistem (sistem perangkat lunak, sistem

informasi, atau sistem lainnya). Pendekatan berorientasi objek akan

memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek

yang berkorespondensi dengan objek-objek dunia nyata.”

Unified Modeling Language (UML)

M. Shalahuddin (2011:118), menjelaskan UML merupakan bahasa visual untuk

pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan

diagram dan teks-teks pendukung.

Pada UML 2.3 terdiri dari 13 macam diagram yang dikelompokkan dalam 3

kategori. Pembagian kategori dan macam-macam diagram tersebut dapat

dilihat pada gambar di bawah :

Page 38: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

22

Gambar 2.8 Diagram UML (Shalahuddin, 2011:121)

Berikut ini penjelasan singkat dari pembagian kategori tersebut (Shalahuddin,

2011:121) :

a. Structure diagrams yaitu kumpulan diagram yang digunakan untuk

menggambarkan suatu struktur statis dari sistem yang dimodelkan.

b. Behavior diagrams yaitu kumpulan diagram yang digunakan untuk

menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi

pada sebuah sistem.

c. Interaction diagrams yaitu kumpulan diagram yang digunakan untuk

menggambarkan interaksi sistem dengan sistem lain maupun interaksi

antarsubsistem pada suatu sistem.

Berikut penjelasan masing-masing diagram :

Page 39: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

23

a. Use Case Diagram

Use case diagram atau diagram use case merupakan pemodelan untuk

kelakuan (behavior) sistem informasi yang akan dibuat. Use case

mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem

informasi yang akan dibuat. (Shalahuddin, 2011:130).

Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor

dan use case. (Shalahuddin, 2011:131).

1) Aktor merupakan orang, proses, atau sistem lain yang berinteraksi

dengan sistem informasi yang akan dibuat di luar sistem informasi yang

akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar

orang, tapi belum tentu aktor merupakan orang.

2) Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-

unit yang saling bertukar pesan antarunit atau aktor.

Berikut adalah simbol-simbol yang ada pada diagram use case

(Shalahuddin, 2011:131) :

Tabel 2.1 Simbol Diagram Use Case (Shalahuddin, 2011:131-133)

Simbol Deskripsi

Use case

Fungsionalitas yang disediakan sistem sebagai

unit-unit yang saling bertukar pesan antar unit atau

aktor; biasanya dinyatakan dengan menggunakan

kata kerja diawal frase nama use case

Aktor / actor

Nm_aktor

Orang, proses, atau sistem lain yang berinteraksi

dengan sistem informasi yang akan dibuat di luar

sistem informasi yang akan dibuat itu sendiri, jadi

walaupun simbol dari aktor adalah gambar orang,

tapi aktor belum tentu merupakan orang; biasanya

dinyatakan menggunakan kata benda diawal frase

nama aktor

Asosiasi /

association

Komunikasi antara aktor dan use case yang

berpartisipasi pada use case atau use case

memiliki interaksi dengan aktor.

Nm_usecase

Page 40: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

24

Tabel 2.1 Simbol Diagram Use Case (Lanjutan)

Simbol Deskripsi

Ekstensi / extend Relasi use case tambahan ke sebuah use case

dimana use case yang ditambahkan dapat berdiri

sendiri walau tanpa use case tambahan itu. Mirip

dengan prinsip inheritance pada pemrograman

berorientasi objek; biasanya use case tambahan

memiliki nama depan yang sama dengan use case

yang ditambahkan

Generalisasi/general

ization

Hubungan generalisasi dan spesialisasi (umum-

khusus) antara duah buah use case dimana fungsi

yang satu adalah fungsi yang lebih umum dari

lainnya.

Menggunakan /

include / uses

Relasi use case tambahan ke sebuah use case

dimana use case yang ditambahkan memerlukan

use case ini untuk menjalankan fungsinya atau

sebagai syarat dijalankan use case ini.

b. Sequence Diagram

Dalam bukunya yang berjudul Rekayasa Perangkat Lunak, M. Shalahuddin

menjelaskan bahwa (2011:137), diagram sekuen menggambarkan kelakuan

objek pada use case dengan mendeskripsikan waktu hidup objek dan

message yang dikirimkan dan diterima antarobjek.

M. Shalahuddin juga menambahkan,

“Banyaknya diagram sekuen yang harus digambar adalah sebanyak

pendefinisian use case yang memiliki proses sendiri atau yang penting

semua use case yang didefinisikan interaksi jalannya pesan sudah dicakup

pada diagram sekuen sehingga semakin banyak use case yang didefinisikan

maka diagram sekuen yang harus dibuat juga semakin banyak.”

Berikut adalah simbol-simbol yang ada pada diagram sekuen

(M.Shalahuddin, 2011:138-139) :

<<uses>>

<<include>>

Page 41: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

25

Tabel 2.2 Simbol diagram sekuen

Simbol Deskripsi

Aktor

atau

tanpa waktu aktif

Orang, proses, atau sistem lain yang berinteraksi

dengan sistem informasi yang akan dibuat itu

sendiri, jadi walaupun simbol dari aktor adalah

gambar orang, tapi aktor belum tentu merupakan

orang; biasanya dinyatakan menggunakan kata

benda di awal frase nama aktor

Garis hidup /

lifeline

Menyatakan kehidupan suatu objek

Objek

Menyatakan objek yang berinteraksi pesan

Waktu aktif Menyatakan objek dalam keadaan aktif dan

berinteraksi pesan

Paper tipe create Menyatakan suatu objek membuat objek yang lain,

arah panah mengarah pada objek yang dibuat

Pesan tipe call Menyatakan suatu objek memanggil operasi/metode

yang ada pada objek lain atau dirinya sendiri

Pesan tipe send

Menyatakan bahwa suatu objek mengirimkan

data/masukan/informasi ke objek lainnya, arah

panah mengarah pada objek yang dikirimi

Pesan tipe return

Menyatakan bahwa suatu objek yang telah

menjalankan suatu operasi atau metode

menghasilkan suatu kembalian ke objek tertentu,

arah panah mengarah pada objek yang meminta

kembalian

Pesan tipe destroy

Menyatakan suatu objek mengakhiri hidup objek

yang lain, arah panah mengarah pada objek yang

diakhiri, sebaliknya jika ada create, maka ada

destroy

Nama_objek : nama_kelas

Page 42: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

26

c. Activity Diagram

Dalam bukunya yang berjudul Rekayasa Perangkat Lunak, M. Shalahuddin

(2011:134) menjelaskan,

“Diagram aktivitas atau activity diagram menggambarkan workflow (aliran

kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu

diperhatikan disini adalah bahwa diagram aktivitas menggambarkan

aktivitas sistem bukan apa yang dilakukan oleh aktor, jadi aktivitas yang

dapat dilakukan oleh sistem.”

Berikut adalah simbol-simbol yang ada pada diagram aktivitas

(Shalahuddin, 2011:134-135) :

Tabel 2.3 Simbol-Simbol Diagram Aktivitas

Simbol Deskripsi

Status

awal

Status awal aktivitas sistem, sebuah diagram

aktivitas memiliki sebuah status awal

aktivitas Aktivitas yang dilakukan sistem, aktivitas biasanya

diawali dengan kata kerja

Percabangan /

decision

Asosiasi percabangan dimana jika ada pilihan

aktivitas lebih dari satu

Penggabungan /

join

Asosiasi penggabungan dimana lebih dari satu

aktivitas digabungkan menjadi satu

Status akhir Status akhir yang dilakukan sistem, sebuah diagram

aktivitas memiliki sebuah status akhir

Swimlane

Atau

Memisahkan organisasi bisnis yang bertanggung

jawab terhadap aktivitas yang terjadi

Page 43: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

27

2. Pemodelan Terstruktur

Pemrograman terstruktur adalah konsep atau paradigma atau sudut pandang

pemrograman yang membagi-bagi program berdasarkan fungsi-fungsi atau

prosedur-prosedur yang dibutuhkan program komputer. (Shalahuddin,

2011:62).

M. Shalahuddin juga menjelaskan (2011:63),

“Pemodulan dalam pemrograman terstruktur dibagi berdasarkan fungsi-fungsi

dan prosedur-prosedur. Oleh karena itu, pemodelan pada pemrograman

terstruktur lebih fokus bagaimana memodelkan data dan fungsi-fungsi atau

prosedur-prosedur yang harus dibuat. Jenis paradigma pemrograman yang

digunakan dapat dideteksi dari bahasa pemrograman apa yang akan digunakan

untuk membuat program, baru setelah itu ditentukan paradigma pemrograman

apa yang akan digunakan.”

Data Flow Diagram (DFD)

M. Shalahuddin menjelaskan dalam bukunya Rekayasa Perangkat Lunak

(2011:64), bahwa:

“DFD dapat digunakan untuk mempresentasikan sebuah sistem atau perangkat

lunak pada beberapa level abstraksi. DFD dapat dibagi menjadi beberapa level

yang lebih detail untuk mempresentasikan aliran informasi atau fungsi yang

lebih detail. DFD menyediakan mekanisme untuk pemodelan fungsional

ataupun pemodelan aliran informasi. Oleh karena itu, DFD lebih sesuai

digunakan untuk memodelkan fungsi-fungsi perangkat lunak yang akan

diimplementasikan menggunakan pemrograman terstruktur karena

pemrograman terstruktur membagi-bagi bagiannya dengan fungsi-fungsi dan

prosedur-prosedur.”

3. Perbandingan Berorientasi Objek dan Terstruktur

M. Shalahuddin dalam bukunya Rekayasa Perangkat Lunak (2011, 91),

menjelaskan bahwa :

“Perbedaan yang paling dasar dari pendekatan terstruktur dan pendekatan OO

(Object Oriented) atau berorientasi objek adalah pada metode berorientasi

fungsi atau aliran data / Data Flow Diagram (DFD)/pendekatan terstruktur,

dekomposisi permasalahan dilakukan berdasarkan fungsi atau proses secara

hirarki, mulai dari konteks sampai proses-proses paling kecil. Sementara pada

metode berorientasi objek, dekomposisi permasalahan dilakukan berdasarkan

objek-objek yang ada dalam sistem.”

Page 44: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

28

Shalahuddin juga menjelaskan (2011:92),

“Pendekatan berorientasi objek saat ini berkembang cukup pesat karena

mempunyai kelebihan dalam peningkatan produktifitas karena mempunyai

reusability yang cukup tinggi dibanding dengan pendekatan lain. Kelas-kelas

dalam pemrograman berorientasi objek dapat dengan mudah dimanfaatkan

untuk sistem lain yang dikembangkan.”

Gambar 2.9 Ilustrasi Perbandingan OO vs Terstruktur

2.5 Perangkat Lunak Berbasis Web

Perangkat lunak berbasis web merupakan perangkat lunak yang dapat diakses

menggunakan browser. (Shalahuddin, 2011 : 3).

Pemrograman Web (PHP)

PHP4 dengan versi-versi akhir menuju PHP5 sudah mendukung

pemrograman berorientasi objek. PHP merupakan bahasa pemrograman yang

digunakan untuk pemrograman web. (Shalahuddin, 2011 : 85)

PHP merupakan kepanjangan dari PHP Hypertext Preprocessor yang

merupakan suatu bahasa pemrograman yang berjalan pada sisi server (server side

scripting). Jadi, dapat disimpulkan, PHP membutuhkan web server untuk dapat

menjalankannya. PHP menyatu dengan kode HTML untuk membuat suatu web

yang dinamis. (Saputra, 2011:43)

Page 45: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

29

2.6 Database

Dalam bukunya yang berjudul Belajar Otodidak Membuat Database

Menggunakan MySQL, Budi Raharjo (2011:4), menjelaskan bahwa Database

memiliki beberapa model diantaranya adalah model relasional.

2.6.1 Teknik Perancangan Database (Basis Data)

M.Shalahudddin menjelaskan (2011:43), perancangan basis data merupakan

salah satu bagian dalam rekayasa perangkat lunak.

M. Shalahuddin juga menjelaskan (2011:44), sistem basis data adalah sistem

terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah

atau informasi dan membuat informasi tesedia saat dibutuhkan. Pada intinya basis

data adalah media untuk menyimpan data agar dapat diakses dengan mudah dan

cepat.

Kebutuhan basis data dalam sistem informasi, meliputi (Shalahuddin,

2011:44) :

1. Memasukkan, menyimpan, dan mengambil data.

2. Membuat laporan berdasarkan data yang telah disimpan.

Berikut beberapa teknik perancangan basis data :

1. Entity Relationship Diagram (ERD)

Pemodelan awal basis data yang paling banyak digunakan adalah

menggunakan Entity Relationship Diagram (ERD). ERD dikembangkan

berdasarkan teori himpunan dalam bidang matematika. ERD digunakan untuk

pemodelan basis data relasional. (Shalahuddin, 2011:49)

Berikut adalah simbol-simbol yang digunakan dalam ERD (Shalahuddin,

2011:49) :

Page 46: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

30

Tabel 2.4 Tabel Simbol ERD

Simbol Deskripsi

Entitas Entitas merupakan data inti yang akan disimpan;

bakal tabel pada basis data

Atribut Field atau kolom yang butuh disimpan dalam suatu

entitas

Atribut kunci primer Filed atau kolom data yang butuh disimpan dalam

suatu entitas dan digunakan sebagai kunci akses

record yang diinginkan; biasanya berupa id

Atribut

multinilai/multivalue

Field atau kolom data yang butuh disimpan dalam

suatu entitas yang dapat memiliki nilai lebih dari satu

Relasi Relasi yang menghubungkan antarentitas, biasanya

diawali dengan kata kerja

Asosiasi / 1 0..*

association

Penghubung antara relasi dan entitas di mana di

kedua ujungnya memiliki multiplicity kemungkinan

jumlah pemakaian

2. Class Diagram Pada UML

Shalahuddin (2011:122), menjelaskan bahwa Diagram kelas atau class diagram

menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan

dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan

metode atau operasi.

a. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.

b. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.

Berikut adalah simbol-simbol yang ada pada diagram kelas (Shalahuddin,

2011:123-124) :

Nm atrib

Page 47: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

31

nama_interface

Tabel 2.5 Tabel Simbol Diagram Kelas

Simbol Deskripsi

Kelas Kelas pada struktur sistem

Antarmuka / interface

Sama dengan konsep interface dalam

pemrograman berorientasi objek

Asosiasi / association Relasi antar kelas dengan makna umum,

Asosiasi berarah / directed

association

Relasi antar kelas dengan makna kelas yang

satu digunakan oleh kelas yang lain,

Generalisasi Relasi antar kelas dengan makna

generalisasi-spesialisasi (umum khusus)

Kebergantungan/dependency Relasi antar kelas dengan makna

kebergantungan antar kelas

Agregasi / aggregation Relasi antar kelas dengan makna semua-

bagian (whole-part)

2.6.2 Database Management System (DBMS)

Shalahuddin dalam bukunya Rekayasa Perangkat Lunak (2011:45), DBMS

adalah suatu sistem aplikasi yang digunakan untuk menyimpan, mengelola, dan

menampilkan data. Suatu sistem aplikasi disebut DBMS jika memenuhi

persyaratan minimal sebagai berikut :

1. Menyediakan fasilitas untuk mengelola akses data,

2. Mampu menangani integritas data,

3. Mampu menangani akses data,

4. Mampu menangani back up data.

Berikut ini adalah 4 macam DBMS versi komersial yang paling banyak

digunakan di dunia saat ini, yaitu (Shalahuddin, 2011:46) :

1. Oracle

2. Microsoft SQL Server

3. IBM DB2

nama_kelas

+atribut

+operasi

Page 48: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

32

4. Microsoft Access

Sedangkan DBMS versi open source yang cukup berkembang dan paling

banyak digunakan saat ini adalah sebagai berikut (Shalahuddin, 2011:46) :

1. MySQL

2. PostgreSQL

3. Firebird

4. SQLite

MySQL

Budi Raharjo dalam bukunya Belajar Otodidak Membuat Database

Menggunakan MySQl (2011:22), menyatakan karena MySQL menganut atau

mengimplementasikan model database relational maka MySQL disebut sebagai

Relational Database Management System (RDBMS).

Budi Raharjo juga menjelaskan (2011:22), MySQL merupakan software

RDBMS (atau server database) yang dapat mengelola database dengan sangat

cepat, dapat menampung data dengan jumlah sangat besar, dapat diakses oleh

banyak user (multi-user), dan dapat melakukan suatu proses secara sinkron atau

berbarengan (multi-threaded).

Berikut ini beberapa alasan mengapa mereka memilih MySQL sebagai

server database untuk aplikasi-aplikasi yang mereka kembangkan (Raharjo,

2011:23-24) :

1. Fleksibel

MySQL dapat digunakan untuk mengembangkan aplikasi dekstop maupun

aplikasi web dengan menggunakan teknologi yang bervariasi.

2. Performa Tinggi

MySQL memiliki mesin query dengan performa tinggi, dengan demikian proses

transaksional dapat dilakukan dengan sangat cepat.

3. Lintas Platform

MySQL dapat digunakan pada platform atau lingkungan (dalam hal ini sistem

operasi) yang beragam, bisa Microsoft Windows, Linux, atau UNIX.

Page 49: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

33

4. Gratis

MySQL dapat digunakan secara gratis.

5. Proteksi Data yang Handal

Perlindungan terhadap keamanan data merupakan hal nomor satu yang

dilakukan oleh para profesional di bidang database.

6. Komunitas Luas

Karena penggunanya banyak, MySQL memliki komunitas yang luas.

2.6.3 Structured Query Language (SQL)

SQL (Structured Query Language) adalah bahasa yang digunakan untuk

mengelola data pada Relational Manajemen Basis Data. SQL awalnya

dikembangkan berdasarkan teori aljabar relational dan kalkulus. (Shalahuddin,

2011:46).

2.6.4 Trigger

Trigger adalah objek di dalam database yang berasosiasi dengan suatu tabel.

Trigger akan diaktifasi ketika tabel tersebut dikenal event tertentu. Event yang

dimaksud di sini adalah suatu kejadian yang menimpa tabel, bisa berupa

penambahan, perubahan, maupun penghapusan data. (Raharjo, 2011:211).

Dalam pengelolaan database, trigger memiliki beberapa manfaat, yaitu

(Raharjo, 2011:212) :

1. Trigger dapat menguji validitas data yang akan dimasukkan maupun yang akan

digunakan untuk melakukan perubahan.

2. Trigger dapat memperoleh nilai lama dari basis data yang dihapus atau diubah

(misalnya untuk keperluan pencatatan histori data dari suatu tabel).

3. Trigger dapat mengubah nilai kolom pada tabel lain.

2.7 SMS Gateway

Sugiono dalam jurnalnya Perancangan Sistem Informasi Appointment Pasien

Berbasis SMS di Rumah Bersalin (2007:11), SMS Gateway melakukan

penerimaan message dari Service Center dan memeriksa parameter yang ada.

Page 50: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

34

SMS Gateway merupakan komunikasi dua arah. Maksud dua arah ini adalah

sistem akan membahas secara otomatis setiap pesan yang masuk. (Saputra,

2011:130).

Definisi SMS Gateway menurut E. Tarigan (2012:2) :

“SMS Gateway merupakan pintu gerbang bagi penyebaran informasi dengan

menggunakan SMS. Dapat menyebarkan pesan ke banyak nomor secara otomatis

dan cepat yang langsung terhubung dengan database nomor-nomor ponsel saja,

tanpa harus mengetik ratusan nomor dan pesan di ponsel, karena semua nomor

akan diambil secara otomatis dari database tersebut.”

Dewanto dalam jurnalnya yang berjudul Aplikasi SMS Gateway dengan

Koreksi Kesalahan Menggunakan Fuzzi String Matching (2007:2), menyatakan

bahwa :

“Aplikasi SMS Gateway adalah sebuah perangkat lunak yang mampu membaca

informasi SMS yang diterima dan melakukan pengelolaan sesuai kebutuhan.

Untuk koneksi dengan telpon selluler menggunakan perintah AT Command

melalui port I/O (serial/USB) yang mendukung GSM Modem ataupun berbagai

merk telpon selluler.”

Beberapa kemampuan SMS Gateway, yaitu untuk (Fikri, 2006:3) :

1. Memperbesar skala aplikasi teknologi informasi dengan menggunakan

komunikasi SMS interaktif.

2. Menyediakan aplikasi kolabo-rasi komunikasi SMS berbasis web untuk

pengguna di institusi atau perusahaan.

3. Menjangkau konsumen maupun pengguna jasa layanan institusi atau

perusahaan secara mudah menggunakan komunikasi SMS interaktif.

Cara kerja SMS Gateway pada dasarnya hampir sama dengan mengirimkan

SMS melalui handphone pada umumnya. Hanya saja, bedanya adalah perangkat

pengirimnya bukan lagi handphone, tetapi modem GSM. (E. Tarigan, 2012 : 2).

Dalam membangun aplikasi SMS Gateway diperlukan beberapa perangkat

pendukung, diantaranya (E. Tarigan, 2012 : 3) :

1. PC Server (Minimal : Pentium 3, 256 MB RAM, Harddisk 40 GB).

2. Modem GSM USB lengkap dengan SIM Card.

3. Driver Modem GSM.

Page 51: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

35

4. Gammu for Windows.

5. Apache + MySQL (paket XAMPP).

Beberapa aplikasi SMS, selain SMS Gateway (Saputra, 2011:130-134) :

1. SMS Autoreply Information

Pengirim menginginkan suatu informasi terhadap suatu perusahaan atau jasa

lainnya dengan harapan si pengirim mendapatkan balasan pesan sesuai yang

diharapkan dari penyedia layanan tersebut.

2. SMS Polling

Jenis SMS ini digunakan untuk mengetahui tingkat presentase dari suatu acara

untuk mengetahui peringkat jumlah vote tertinggi.

Gammu

Gammu adalah sebuah aplikasi yang dapat digunakan untuk mengelola

berbagai fuungsi pada handphone, modem, atau perangkat sejenis lainnya. Fungsi-

fungsi yang dapat dikelola gammu antara lain adalah fungsi nomor kontak

(phonebook) dan fungsi SMS. (E. Tarigan, 2012 : 24).

Kelebihan Gammu dibandingkan tool SMS Gateway lainnya (E. Tarigan,

2012 : 24) :

1. Gammu bisa dijalankan di Windows maupun di Linux.

2. Banyak device yang kompatibel dengan Gammu.

3. Gammu menggunakan database MySQL.

4. Baik kabel data USB maupun serial, semuanya kompatibel dengan Gammu.

5. Gammu adalah aplikasi open source yang dapat dipakai secara gratis.

6. Gammu tidak memerlukan banyak hardware (hanya memerlukan PC, modem),

sehingga memudahkan dalam mengembangkan aplikasi dengan modal

terjangkau.

2.8 Authentication System

Didalam SMS Gateway ada istilah Authentication system (sistem autentikasi)

adalah suatu sistem yang mengatur bagaimana cara melakukan user registration,

Page 52: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

36

log in, log out, permission access dan role didalam SMS Gateway yang akan

dibuat. (E. Tarigan, 2012 : 28).

1. Role

Role adalah suatu sistem yang mengatur bagaimana peran seorang user

(pengguna) didalam sistem yang akan dibuat. Sebagai contoh, misalnya dalam

aplikasi yang dibuat terdiri dari beberapa role, seperti administrator,

moderator, dan user register. Masing-masing user akan tergabung ke dalam

role-role tertentu.

2. User Permission

User Permission adalah hak akses yang dimiliki oleh seorang user dalam

sistem autentikasi. User Permission berkaitan erat dengan role. User

Permission akan diberikan kepada setiap role yang ada.

2.9 Diagram Editor (Dia)

Dalam bukunya yang berjudul Dia, Kevin Breit menyatakan (2009:1) bahwa

“Dia merupakan aplikasi untuk membuat diagram-diagram teknik. Tampilan dan

fiturnya tidak kalah baiknya dengan windows program visio. Dia memiliki fitur

yang didalamnya bisa mencetak beberapa halaman, file export ke beberapa format

(EPS, SVG, CGM, dan PNG), dan kemampuan untuk menggunakan custom shapes

yang dibuat oleh pengguna sebagai simple XML description. Dia juga dapat

digunakan untuk menggambar diagram UML, jaringan peta, dan flowchart.”

2.10 Notepad++

Dalam situsnya, notepad-plus-plus.org yang diakses pada tanggal 30 Maret

pada pukul 12.30 WIB, menjelaskan bahwa Notepad++ adalah sebuah

penyunting teks dan penyunting kode sumber yang berjalan di sistem operasi

Windows. Notepad++ menggunakan komponen scintilla untuk dapat

menampilkan dan menyuntingkan teks dan berkas kode sumber berbagai bahasa

pemrogaman.

2.11 Adobe Photoshop

Dari situs resminya, www.adobe.com yang diakses pada tanggal 2 Mei 2012

pada pukul 20.00 WIB, menyatakan bahwa Adobe Photoshop atau bisa disebut

Page 53: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

37

Photoshop, adalah perangkat lunak editor citra buatan Adobe System yang

dikhususkan untuk pengeditan foto atau gambar dan pembuatan efek.

2.12 Penelitian Sebelumnya

Selain literatur dari buku dan jurnal, penulis juga mencari penelitian lain

yang objenya sama agar bisa dibandingkan dengan penelitian yang penulis

kerjakan. Perbandingan ini dimaksudkan agar pembaca dapat melihat kelebihan

penelitian yang sedang dikerjakan dengan penelitian sebelumnya. Berikut hasil

rangkuman dari penelitian sebelumnya :

2.12.1 Pembuatan Aplikasi Sistem Penjualan Pulsa Pada Toko Miyo Cell

Menggunakan Netbeans 6.01 dan MySQL

Penelitian yang ditulis oleh Ratih Aulia, alumni Fakultas Ilmu Komputer

Universitas Gunadarma pada tahun 2010 menjelaskan tentang pembuatan suatu

aplikasi sistem penjualan pada toko “Miyo Cell” dengan menggunakan Netbeans

6.0.1 dan MySQL. Dengan adanya aplikasi ini, diharapkan pemilik toko “Miyo

Cell’ dapat dengan mudah mengetahui berapa penjualan yang masuk, berapa stok

barang yang ada, pembelian barang apa saja yang diperlukan, dan berapa

keuntungan yang diperoleh.

Sedangkan untuk metodologi penelitiannya, penulis menggunakan studi

pustaka, studi lapangan, UML sebagai desain sistemnya, dan kuisioner.

2.12.2 Pembuatan Aplikasi Website Pengisian Pulsa Secara Online dengan

Menggunakan Macromedia Dreamweaver MX

Penulisan ilmiah ini ditulis oleh Budi Prayitno, alumni Sekolah Tinggi

Manajemen Informatika dan Komputer Jakarta tahun 2008 menjelaskan tentang

pengisian pulsa dengan fasilitas internet. Internet banyak digunakan untuk media

informasi. Operator selular semakin banyak ke depannya. Hal tersebut

menunjukkan persaingan di dunia bisnis dalam bidang telekomunikasi mengalami

suatu kemajuan. Merupakan suatu peluang besar berbisnis dalam pengisian pulsa.

Oleh karena itu, diperlukan media informasi yang sering dikunjungi oleh

Page 54: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

38

masyarakat tentang jenis-jenis voucher, harga, operator untuk memudahkan

pengisian pulsa secara online. Aplikasi ini dibantu dengan software Macromedia

Dreamweaver MX sebagai tampilan websitenya.

2.12.3 Perbandingan Penelitian Sebelumnya

Perbandingan difokuskan pada jenis konsepnya. Setiap penelitian memiliki

konsep yang berbeda walaupun objek penelitiannya sama. Berikut hasil

perbandingan penelitian yang sedang dikerjakan dengan penelitian sebelumnya :

Tabel 2.6 Tabel Perbandingan Penelitian Sebelumnya

Jenis

Konsep

Aplikasi

Pengisian

Pulsa

Berbasis Web

Aplikasi Sistem

Penjualan Pulsa

Toko Miyo Cell

Aplikasi Pengisian Pulsa

Menggunakan

Macromedia Dreamweaver

Rancangan

Penelitian

SDLC SDLC SDLC

Konsep

Aplikasi

Isi Pulsa

Lewat Web

Sistem Penjualan

Menggunakan

Aplikasi Dekstop

Pendaftaran dilakukan lewat

website, isi pulsa lewat sms

Isi Pulsa

Lewat web

Ada Tidak ada Tidak ada, isi pulsa lewat

sms

Penyediaan

laporan

transaksi

Ada, transaksi

pengisian

pulsa

Ada, transaksi

penjualan voucher

pulsa

Tidak ada

Page 55: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

39

Tabel 2.6 Tabel Perbandingan Penelitian Sebelumnya (Lanjutan)

Jenis

Konsep

Aplikasi

Pengisian

Pulsa

Berbasis Web

Aplikasi Sistem

Penjualan Pulsa

Toko Miyo Cell

Aplikasi Pengisian Pulsa

Menggunakan

Macromedia Dreamweaver

Aplikasi

digunakan

oleh

pelanggan

ya Tidak, karena aplikasi

hanya untuk penjual

pulsa

Ya, namun sebatas

pendaftaran, selanjutnya

memanfaatkan sms, bukan

aplikasi yang dibuat

Cara daftar Lewat web Tidak ada pendaftaran Lewat web

Tambah

saldo pulsa

Menggunakan

Fasilitas

transfer rek.

Pelanggan langsung

ke konter untuk beli

voucher pulsa

Transfer rekening

Page 56: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

40

BAB III

OBJEK DAN METODOLOGI PENELITIAN

3.1 Objek Penelitian

Dalam penelitiannya, peneliti menetukan objek penelitian di Konter Nurfa

Cell.

3.1.1 Profil Konter Nurfa Cell

Konter Nurfa Cell beralamat di Dusun Sukaresmi desa Anggadita RT 15 RW

05 No. 60 Kecamatan Klari Kabupaten Karawang. Menjual berbagai macam

voucher pulsa, baik elektrik maupun fisik, handphone-handphone dengan

aksesorisnya, dan kartu perdana semua operator. Konter Nurfa Cell memiliki

keuntungan kotor rata-rata setiap bulannya yaitu sebanyak 3 juta rupiah.

3.1.2 Sejarah Konter Nurfa Cell

Pada tahun 2008, Asep T.P sang pemilik konter Nurfa Cell membangun

usaha isi pulsa elektrik. Belum ada tempat tetap untuk berjualan pulsa sehingga

orang yang ingin mengisi pulsa harus mencari Asep T.P. terlebih dahulu. Setelah

merasa memiliki modal cukup untuk mendirikan konter, maka pada tahun 2010

konter Nurfa Cell didirikan. Setelah memiliki tempat untuk berjualan, maka

penjualan pun semakin bertambah. Tidak hanya pulsa yang dijual, tetapi alat

komunikasi seperti handphone pun tersedia di konter Nurfa Cell. Pada saat

memasuki bulan pertama, pelanggan yang datang untuk mengisi pulsa semakin

banyak dan keuntungan pun semakin bertambah sebanyak 30 %.

Page 57: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

41

3.1.3 Struktur Organisasi Konter Nurfa Cell

Gambar 3.1 Struktur Organisasi Konter Nurfa Cell

(Sumber : Buku Profil Konter Nurfa Cell)

Penjelasan terhadap bagan di atas adalah :

1. Pemilik konter bernama Asep T.P yang merupakan pendiri konter Nurfa Cell.

2. Pengelola I bernama Nunung bertugas menjaga konter sekaligus melayani

pelanggan yang ingin membeli pulsa, membeli kartu perdana, atau membeli

handphone di konter Nurfa Cell.

3. Pengelola II bernama Syarif H. bertugas sebagai administrator pengadaan

barang-barang yang dijual di konter Nurfa Cell.

3.2 Metode yang Digunakan

Metode penelitian pada skripsi ini menggunakan metode rekayasa perangkat

lunak yang berorientasi pada objek dan setiap langkahnya dilakukan secara

terurut, artinya dalam penelitian tidak akan lanjut ke langkah berikutnya sebelum

langkah yang sedang dikerjakan selesai. Penelitian juga dalam setiap langkahnya

tidak selalu bergantung dengan user. Hanya langkah analisis saja yang merupakan

langkah pendekatan kepada user. Oleh karena itu, dalam pengembangan

softwarenya, peneliti menggunakan metode waterfall. Karena setiap langkahnya

yang terurut, yaitu tahapan analisis, tahapan desain dan perancangan, dan tahapan

implementasi.

Page 58: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

42

Gambar 3.2 Ilustrasi Langkah Penelitian Berdasarkan Metode yang Digunakan

3.3 Teknik Pengumpulan Data

Teknik pengumpulan data primer dilakukan melalui metode observasi dan

wawancara terhadap kegiatan pengisian pulsa di konter Nurfa Cell. Tujuan teknik

pengumpulan data ini adalah untuk mempermudah mencari data-data yang

digunakan dalam penelitian.

Data primer yang diperlukan dalam membuat aplikasi pengisian pulsa

berbasis web ini meliputi :

1. Data entitas (penjual, pelanggan, operator);

2. Prosedur sistem yang sedang berjalan;

3. Arsitektur sistem yang sedang berjalan.

Teknik pengumpulan data sekunder dilakukan melalui studi kepustakaan dan

penelitian sebelumnya. Data sekunder yang diperlukan antara lain :

1. Data penjualan Konter Nurfa Cell.

2. Data survey pengguna internet di Indonesia yang diperoleh dari

tekno.kompas.com.

3. Data survey pemilik handphone di Indonesia yang diperoleh dari Asosiasi

Telepon Selular Indonesia (ATSI)

Page 59: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

43

3.4 Rancangan Penelitian

Dalam rancangan penelitian terdapat tahapan yang saling berkesinambungan,

antara lain :

1. Analisis

2. Desain

3. Pembuatan kode program

4. Pengujian

5. Pemeliharaan

3.4.1 Analisis

Dalam tahapan analisis, peneliti menganalisis Konter Nurfa Cell melalui

metode observasi mencari data primer di konter Nurfa Cell dan wawancara

pelanggan Konter Nurfa Cell.

3.4.1.1 Pendefinisian Masalah

Berdasarkan hasil analisis, ditemukan beberapa masalah yang terjadi di

konter Nurfa Cell. Pada tahapan ini, akan dijelaskan tentang masalah-masalah

yang ada di konter Nurfa Cell.

3.4.1.2 Pendefinisian Kebutuhan Software (Berdasarkan User)

Pada tahapan ini, akan dijelaskan software atau perangkat lunak seperti

apa yang cocok untuk diterapkan di konter Nurfa Cell berdasarkan hasil dari

analisis dengan menggunakan metode observasi konter Nurfa Cell. Peneliti juga

akan mewawancarai pelanggan konter Nurfa Cell yang berperan sebagai user

pada perangkat lunak yang akan dibuat tentang spesifikasi apa saja yang

diinginkan.

3.4.1.3 Pendefinisian Pengguna Software

Akan dijelaskan tentang siapa saja pengguna software atau perangkat

lunak yang akan dibuat. Dimulai dari administratornya, hingga usernya.

Page 60: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

44

3.4.2 Desain

Dari hasil analisis yang didapatkan, akan dibuat ilustrasi yang

menggambarkan alur yang berjalan dan kebutuhan yang perlu dikembangkan

selanjutnya dibuat desain. Jenis-jenis desain yang akan digunakan dalam

perancangan aplikasi pengisian pulsa berbasis web adalah :

1. Desain Perangkat Lunak,

Peneliti akan membuat desain perangkat lunak menggunakan metode

pendekatan berorientasi objek dengan UML sebagai pemodelannya. Dalam

pembuatan UML, penulis menggunakan aplikasi Diagram Editor.

2. Desain Struktur Data,

Peneliti akan membuat desain database perancangannya berupa diagram kelas

yang dibuat menggunakan aplikasi Diagram Editor yang berfungsi

menggambarkan hubungan beberapa kelas.

3. Representasi Antarmuka,

Peneliti akan membuat desain interface menggunakan aplikasi image processor

yaitu Adobe Photoshop dalam menampilkan beberapa prinstcreen (tampilan

visual) perangkat lunak atau aplikasi yang akan dibuat.

4. Prosedur Pengodean,

Peneliti akan membuat Desain berupa flowchart yang menggambarkan

algoritma pemrograman yang dibuat menggunakan aplikasi Diagram Editor.

3.4.3 Pembuatan Kode Program/Implementasi

Untuk perancangan desain yang telah dibuat, Penulis menterjemahkan

desain ke dalam listing program menggunakan PHP sebagai pemrogramannya,

MySQL sebagai databasenya, dan Gammu sebagai sms gateway. Adapun tools

yang akan digunakan untuk pembuatan program berupa aplikasi teks editor, yaitu

Notepad++.

3.4.4 Pengujian

Pengujian terhadap aplikasi yang akan dibuat yaitu dengan metode

pendekatan black-box testing dan white-box testing karena pengujian tidak hanya

Page 61: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

45

menguji perangkat lunak dari segi spesifikasi fungsional yang meliputi

penggunaan tombol-tombol yang berfungsi sebagai link yang menghubungkan

satu halaman ke halaman lainnya. Pengujian tidak hanya menguji dari segi

spesifikasi, tetapi juga menguji desain dan kode program meliputi penggunaan

fungsi if, else, echo dan lain-lain.

3.4.5 Pendukung dan Pemeliharaan

Dalam melakukan pemeliharaan perangkat lunak, penulis menggunakan tiga

macam pemeliharaan yang penjelasannya sebagai berikut :

1. Pemeliharaan korektif, berupa pembetulan atas kesalahan-kesalahan yang

ditemukan pada saat sistem berjalan.

2. Pemeliharaan adaptif, berupa perubahan aplikasi untuk menyesuaikan diri

terhadap lingkungan perangkat keras dan perangkat lunak baru.

3. Pemeliharaan perfektif, ditujukan untuk memperbarui sistem sabagai

tanggapan atas perubahan kebutuhan pemakai.

Gambar 3.3 Ilustrasi Langkah Pemeliharaan

Page 62: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

46

BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil Penelitian

Dalam beberapa langkah penelitian yang dibahas dalam bab 3, didapatkan

hasil dari penelitian tersebut, antara lain :

4.1.1 Analisis

Dalam tahapan analisis, didapatkan hasil dari tahapan tersebut yaitu berupa

data-data penjualan, data pelanggan, dan data operator pulsa konter Nurfa Cell.

Tabel 4.1 Laporan Penjualan Pulsa (Sumber : Buku Penjualan Konter Nurfa Cell

Bulan November 2011 sampai Maret 2012)

Bulan Banyak Pelanggan Hasil Penjualan (Rp.)

November 2011 35 3,232,000,-

Desember 2011 32 3,430,000,-

Januari 2012 38 3,238,500,-

Februari 2012 34 3,200,000,-

Maret 2012 36 3,390,000,-

Rata-rata 35 3,314,625,-

Data Penjualan

28

30

32

34

36

38

40

Novem

ber

Desem

ber

Januari

Februari

Maret

Bulan

Ba

ny

ak

Pe

lan

gg

an

Banyak

Pelanggan

Data Penjualan

300031003200330034003500

Novem

ber

Desem

ber

Januari

Februari

Maret

Bulan

Ha

sil

Pe

nju

ala

n (

00

0)

Hasil

Penjualan

Gambar 4.1 Grafik Data Penjualan Konter Nurfa Cell

Page 63: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

47

Dalam tabel diatas, rata-rata pelanggan perbulan yaitu sebanyak 35 orang.

Itupun sebanyak 29 orang adalah pelanggan tetap, sisanya adalah pelanggan tidak

tetap.

Selain laporan penjualan pulsa tiap bulannya, peneliti juga mencari data

tentang operator-operator pulsa yang tersedia berdasarkan nominalnya. Berikut

tabel data operator pulsa dan nominal yang tersedia :

Tabel 4.2 Data Operator Pulsa (Sumber : Buku Penjualan Konter Nurfa Cell)

Nama Operator Nominal yang tersedia (Rp.) (.000,-)

Indosat (IM3, Mentari) 5,10,25,50,100

XL Axiata 5,10,25,50,100

Telkomsel (Simpati, As, Flexi) 5,10,15,20,25,50,100

Tri (3) 5,10,20,30,50,100

Axis 5,10,20.25,50,100

Esia 5,10,20,25,50,100

Smartfren 5,10,20,50,100

Selain data diatas, peneliti juga mencari data-data lain yang mendukung

penelitian yaitu menggunakan data survey yang dilakukan oleh kelompok lain.

Berdasarkan data statistik dari tekno.kompas.com tanggal 12 Januari 2012,

pengguna internet di Indonesia tahun 2011 mencapai 55 juta pengguna. Angka

tersebut sudah termasuk pengaksesan internet di komputer dan ponsel.

Data survey lain yang diambil dari Asosiasi Telepon Selular Indonesia,

bahwa jumlah pemilik sekaligus pengguna telepon seluler di Indonesia mencapai

250 juta pengguna.

Selain data, peneliti juga menganalisis prosedur yang sedang berjalan saat

ini di konter Nurfa Cell yaitu masih menggunakan pencatatan pada buku

penjualan.

Page 64: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

48

Gambar 4.2 Prosedur Pengisian Pulsa Konter Nurfa Cell

4.1.1.1 Pendefinisian Masalah

Masalah yang terjadi di konter Nurfa Cell berdasarkan data yang

tercantum dalam tahapan analisis yaitu hasil penjualan dari bulan November 2011

sampai bulan Maret 2012 tidak mengalami perubahan yang signifikan. Bahkan

jika dirata-ratakan hanya mencapai Rp. 3,314,625,00 (tiga juta tiga ratus empat

belas ribu enam ratus dua puluh lima rupiah).

Masalah lain yang sedang dihadapi konter Nurfa Cell yaitu pencapaian

jumlah pelanggan yang bergantung pada pelanggan tetap saja. Keutungan bahkan

lebih banyak dari pelanggan tetap. Karena pelanggan tetap adalah pelanggan yang

kediamannya tidak jauh dari objek penelitian. Hal ini berbeda jika pelanggan tidak

tetap menjadi pelanggan tetap. Kendalanya yaitu pelanggan tidak tetap hanyalah

pelanggan yang lewat konter Nurfa Cell.

Adanya data bahwa pengguna internet setiap tahunnya meningkat, dan

pemilik handphone di Indonesia tiap tahunnya meningkat. Itu menyebabkan bisnis

pulsa merupakan bisnis yang akan mengalami peningkatan penjualan setiap

tahunnya.

4.1.1.2 Pendefinisian Kebutuhan Software (Berdasarkan User)

Dari masalah yang terjadi diatas maka dibutuhkan perangkat lunak yang

dapat meningkatkan penjualan pulsa dengan cara salah satunya yaitu

memperbanyak jumlah pelanggan. Untuk memudahkan pendaftaran pelanggan,

Page 65: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

49

pelanggan tidak perlu datang ke konter Nurfa Cell, cukup dengan mengisi

formulir pada suatu halaman pada perangkat lunak.

Dari data pengguna internet yang setiap tahunnya meningkat, perangkat

lunak yang dibuat berbasis web. Dengan pemanfaatan website, pelanggan yang

ada dimana pun dapat mengakses perangkat lunak dengan mudah. Dengan

pemanfaatan website ini juga, media yang menyediakan fasilitas internet, dapat

mengakses perangkat lunak ini kapan pun.

Untuk mencegah kebocoran rahasia pelanggan yang satu dengan yang

lain, maka dalam perangkat lunak dibuatkan fasilitas log in. Yaitu hak akses yang

dimiliki oleh setiap pelanggan (user) untuk merubah saldo yang dimilikinya.

Untuk pengetahuan terhadap setiap user tentang pengurangan atau penambahan

saldo yang dimilikinya, maka diberikan fasilitas laporan pengisian pulsa atau

penambahan saldo.

Untuk penambahan saldo, maka pada salah satu halaman dalam perangkat

lunak tersebut disediakan cara-cara penambahan saldo yaitu dengan mentransfer

saldo yang diinginkan ke bank-bank admin yang sudah tersedia. Untuk

konfirmasinya dapat mengirimkan scan bukti transfer ke alamat email admin.

Berdasarkan hasil analisa diatas, maka spesifikasi software yang

diperlukan, antara lain :

1. Software berbasis web dan dijalankan menggunakan fasilitas internet dan

browser, sehingga dapat dijalankan di handphone atau PC.

2. Software menyediakan fasilitas pendaftaran bagi pengguna atau user baru.

3. Software menyediakan fasilitas log in untuk setiap user.

4. Software menyediakan halaman yang berisi laporan untuk setiap transaksi

pulsa yang dilakukan oleh user.

5. Software menyediakan halaman yang menerangkan cara menambahkan saldo

pulsa dengan mentrasnfer ke rekening admin pada bank tertentu.

4.1.1.3 Pendefinisian Pengguna Software

Terdapat dua klasifikasi pengguna perangkat lunak pengisian pulsa

berbasis web ini. Yang pertama yaitu penjual pulsa sebagai admin dan pelangggan.

Page 66: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

50

Berikut hak akses yang dimiliki oleh admin dan user yaitu :

Tabel 4.3 Tabel Hak Akses Admin dan User

Admin (Pengelola I & II Konter) User (Pelanggan Konter)

1. Melakukan log in

2. Mengkonfirmasi penambahan

saldo user,

3. Mengelola data pelanggan

1. Melakukan pendaftaran,

2. Melakukan log in,

3. Melakukan konfirmasi transfer ke

rekening admin,

4. Melakukan transaksi pulsa.

4.1.2 Desain

Hasil yang didapat dalam tahapan desain, yaitu :

1. Desain Perangkat Lunak

Dengan menggunakan pemodelan berorientasi objek yang penggambarannya

berupa UML, diambil beberapa diagram dalam UML untuk membuat desain

perangkat lunak. Beberapa diagram tersebut adalah :

a. Diagram Use Case

Diagram pada UML yang pertama kali dipakai adalah diagram use case,

karena diagram ini menginteraksikan satu aktor atau lebih dengan perangkat

lunak yang akan dibuat.

1) Definisi Aktor

Tabel 4.4 Tabel Definisi Aktor pada Diagram Use Case

Aktor Deskripsi

Pengelola

Konter

Berperan sebagai penjaga konter, menyediakan pulsa

bagi pelanggan, memiliki hak akses untuk mengelola

data pelanggan dan operator pulsa.

Pelanggan Seseorang yang membeli pulsa pada pengelola pulsa di

konter Nurfa Cell. Memiliki hak akses untuk melakukan

transaksi pulsa ke nomor yang dituju.

Page 67: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

51

2) Definisi Use Case

Tabel 4.5 Tabel Definisi Use Case Pada Diagram Use Case

Use Case Deskripsi

Login Merupakan proses pemeriksaan hak akses siapa

yang berhak mengakses proses pengisian pulsa,

login wajib bagi pengelola konter untuk fungsi-

fungsi berkaitan dengan akses pengubahan ke

basis data, login juga wajib bagi user yang

ingin melakukan transaksi pulsa.

Mengelola data

pelanggan

Kegiatan admin untuk mengelola data

pelanggan yang terdaftar, didalamnya terdapat

dua kegiatan lagi, yaitu mengubah data

pelanggan dan memasukkan data pelanggan.

Mengubah data

pelanggan

Kegiatan pengubahan data pelanggan

Memasukkan data

pelanggan

Kegiatan pendaftaran yang dilakukan oleh

pelanggan.

Menghapus data

pelanggan

Kegiatan penghapusan data pelanggan yang

sudah lama tidak log in

Mengelola saldo Kegiatan mengelola saldo yang dimiliki oleh

setiap user,

Menambah saldo Kegiatan menambahkan saldo ke user yang

telah mentransfer ke rekening admin

Konfirmasi transfer

rekening

Kegiatan user mengkonfimasi transfer rekening

untuk dijadikan saldo pulsa.

Mengelola data

transaksi

Kegiatan yang bertujuan untuk melaporkan

history-history transaksi yang dilakukan oleh

pelanggan.

Memasukkan data

transaksi

Pemasukkan laporan transaksi jika transaksi

berhasil dilakukan

Page 68: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

52

Tabel 4.5 Tabel Definisi Use Case Pada Diagram Use Case (Lanjutan)

Use Case Deskripsi

Menampilkan data

transaksi

Kegiatan menampilkan laporan transaksi

Aktifasi pendaftaran Kegiatan setelah memasukkan data pelanggan

(pendaftaran), pendaftaran harus diaktifasikan

jika ingin melakukan log in.

3) Skenario Use Case

Berikut adalah skenario jalannya masing-masing use case yang telah

didefinisikan sebelumnya.

a) Nama use case : Login

Skenario :

Tabel 4.6 Skenario Use Case Login

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Memasukkan username

dan password

2. Memeriksa valid tidaknya data

masukkan

3. Masuk ke aplikasi pengisian pulsa

Skenario Alternatif

1. Memasukkan username

dan password

2. Memeriksa valid tidaknya data

masukkan

3. Menampilkan pesan login tidak valid

4. Memasukkan username

dan password yang

valid

Page 69: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

53

Tabel 4.6 Skenario Use Case Login (Lanjutan)

Aksi Aktor Reaksi Sistem

5. Memeriksa validnya data masukan

6. Masuk ke aplikasi pengisian pulsa

b) Nama Use Case : Memasukkan data pelanggan

Skenario :

Tabel 4.7 Skenario Use Case Memasukkan Data Pelanggan

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Memasukkan data

pelanggan sesuai

kolom yang ada

2. Memeriksa validnya data masukkan

3. Menyimpan data pelanggan ke

dalam basis data

Skenario Alternatif

1. Memasukkan data

pelanggan

2. Memeriksa valid tidaknya data

masukan

3. Mengeluarkan pesan bahwa data

masukkan tidak valid

4. Memperbaiki data

masukan yang tidak

valid

5. Memeriksa valid tidaknya data

masukan

6. Menyimpan data pelanggan ke

dalam basis data

Page 70: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

54

c) Nama use case : Mengubah data pelanggan

Skenario :

Tabel 4.8 Skenario Use Case Mengubah Data Pelanggan

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Memilih data

pelanggan yang ingin

diubah

2. Menampilkan data pelanggan yang

akan diubah

3. Mengubah data

pelanggan

4. Memeriksa valid tidaknya data

masukan

5. Menyimpan data pelanggan ke

dalam database

Skenario Alternatif

1. Memilih data

pelanggan

2. Menampilkan data pelanggan yang

akan diubah

3. Mengubah data

pelanggan

4. Memeriksa valid tidaknya data

masukan

5. Mengeluarkan pesan bahwa data

masukkan tidak valid

6. Memperbaiki data

pelanggan yang

diubah dan tidak valid

Page 71: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

55

Tabel 4.8 Skenario Use Case Mengubah Data Pelanggan (Lanjutan)

Aksi Aktor Reaksi Sistem

7. Memeriksa valid tidaknya data

masukan

8. Menyimpan data pelanggan yang

telah diubah ke dalam basis data

d) Nama use case : Menghapus data pelanggan

Skenario :

Tabel 4.9 Skenario Use Case Menghapus Data Pelanggan

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Memilih data pelanggan

yang ingin dihapus

2. Menghapus data

pelanggan

3. Menghapus data pelanggan dari

database

e) Nama use case : Menambahkan saldo pelanggan

Skenario :

Tabel 4.10 Skenario Use Case Menambahkan Saldo Pelanggan

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Mendapatkan konfirmasi

dari pelanggan lewat sms

2. Memeriksa valid

tidaknya konfirmasi

Page 72: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

56

Tabel 4.10 Skenario Use Case Menambahkan Saldo Pelanggan

(Lanjutan)

Aksi Aktor Reaksi Sistem

3. Menambahkan saldo

pulsa ke pelanggan

4. Simpan perubahan dalam

database

Skenario Alternatif

1. Mendapatkan konfirmasi

dari pelanggan lewat sms

2. Memeriksa konfirmasi

yang dilakukan

pelanggan

3. Memberitahukan

konfirmasi tidak valid

kepada pelanggan

4. Pelanggan memperbaiki

konfirmasi transfer

rekening

5. Memeriksa konfirmasi

yang dilakukan

pelanggan

6. Menambahkan saldo

pulsa ke pelanggan

7. Simpan Perubahan dalam

database

Page 73: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

57

f) Nama use case : konfirmasi transfer rekening

Skenario :

Tabel 4.11 Skenario Use Case Konfirmasi Transfer Rekening

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Memasukkan data ke

kolom yang tersedia

2. Memeriksa valid tidaknya data

masukan

3. Menyimpan data masukan ke

dalam basis data

4. Memberi konfirmasi kepada

admin lewat sms

Skenario Alternatif

1. Memasukkan data ke

kolom yang tersedia

2. Memeriksa valid tidaknya data

masukan

3. Menampilkan pesan bahwa data

masukan tidak valid

4. Memperbaiki data

masukan konfirmasi

transfer

5. Memeriksa valid tidaknya data

masukan

6. Menyimpan data transaksi ke

dalam basis data

7. Memberi konfirmasi kepada

admin

Page 74: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

58

g) Nama use case : Memasukkan data transaksi

Skenario :

Tabel 4.12 Skenario Use Case Memasukkan Data Transaksi

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Memasukkan data ke

kolom yang tersedia

2. Memeriksa saldo yang tersedia

melebihi nominal

3. Menyimpan data transaksi ke

dalam basis data

Skenario Alternatif

1. Memasukkan data ke

kolom yang tersedia

2. Memeriksa saldo yang tersedia

kurang dari nominal

3. Menampilkan pesan bahwa saldo

yang dimiliki kurang

4. Menambahkan saldo

dengan mentransfer ke

rekening admin

5. Memeriksa saldo yang tersedia

lebih dari nominal

6. Menyimpan data transaksi ke

dalam basis data

Page 75: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

59

h) Nama use case : Menampilkan data transaksi

Skenario :

Tabel 4.13 Skenario Use Case Menampilkan Data Transaksi

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Ambil data transaksi dari

dalam database

2. Data transaksi yang ditampilkan

berdasarkan username

3. Data transaksi ditampilkan

i) Nama use case : aktifasi pendaftaran

Skenario :

Tabel 4.14 Skenario Aktifasi Pendaftaran

Aksi Aktor Reaksi Sistem

Skenario Normal

1. Memasukkan kode

aktifasi

2. Memeriksa valid tidaknya data

masukkan

3. Akun sudah aktif dan bisa log in

Skenario Alternatif

1. Memasukkan kode

aktifasi

2. Memeriksa valid tidaknya data

masukkan

3. Menampilkan pesan kode tidak

valid

4. Memasukkan kode

aktifasi yang valid

Page 76: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

60

Tabel 4.14 Skenario Aktifasi Pendaftaran (Lanjutan)

Aksi Aktor Reaksi Sistem

5. Memeriksa valid tidaknya data

masukkan

6. Akun aktif, bisa log in

Berikut diagram use case yang perinciannya sudah dijelaskan sebelumnya :

Gambar 4.3 Diagram Use Case pada Aplikasi Pengisian Pulsa

b. Activity Diagram

1) Use case : login

Page 77: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

61

Gambar 4.4 Diagram Aktivitas Pada Use Case Login

2) Use case : memasukkan data pelanggan

Gambar 4.5 Diagram Aktivitas Use Case Memasukkan Data Pelanggan

3) Use case : mengubah data pelanggan

Gambar 4.6 Diagram Aktivitas Mengubah Data Pelanggan

Page 78: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

62

4) Use case : menghapus data pelanggan

Gambar 4.7 Diagram Aktivitas Menghapus Data Pelanggan

5) Use case : menambahkan saldo pelanggan

Gambar 4.8 Diagram Aktivitas Use Case Menambahkan Saldo

Pelanggan

6) Use case : konfirmasi transfer rekening

Gambar 4.9 Diagram Aktivitas Use Case Konfirmasi Transfer

Page 79: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

63

7) Use case : memasukkan data transaksi

Gambar 4.10 Diagram Aktivitas Memasukkan Data Transaksi

8) Use case : menampilkan data transaksi

Gambar 4.11 Diagram Aktivitas Use Case Menampilkan Data Transaksi

9) Use case : aktifasi pendaftaran

Gambar 4.12 Diagram Aktivitas Use Case Aktifasi Pendaftaran

Page 80: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

64

c. Sequence Diagram

Berikut adalah diagram sekuen dari aplikasi pengisian pulsa :

1) Use Case : login

Gambar 4.13 Diagram Sekuen untuk Use Case Login

2) Use case : memasukkan data pelanggan

Gambar 4.14 Diagram Sekuen untuk Use Case Memasukkan Data

Pelanggan

Page 81: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

65

3) Use case : mengubah data pelanggan

Gambar 4.15 Diagram Sekuen Mengubah Data Pelanggan

Page 82: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

66

4) Use case : menghapus data pelanggan

Gambar 4.16 Diagram Sekuen untuk Use Case Menghapus Data

Pelanggan

Page 83: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

67

5) Use Case : menampilkan data transaksi

Gambar 4.17 Diagram Sekuen untuk Use Case Menghapus Data

Transaksi

Page 84: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

68

6) Use Case : memasukkan data transaksi

Gambar 4.18 Diagram Sekuen untuk Use Case Memasukkan Data

Transaksi

7) Use case : menambahkan saldo pelanggan

Gambar 4.19 Diagram Sekuen untuk Use Case Menambahkan Saldo

Pelanggan

Page 85: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

69

8) Use case : konfirmasi transfer rekening

Gambar 4.20 Diagram Sekuen untuk Use Case Konfirmasi Transfer

Rekening

9) Use case : aktifasi pendaftaran

Gambar 4.21 Diagram Sekuen untuk Use Case Aktifasi Pendaftaran

Page 86: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

70

2. Desain Struktur Data

Dalam desain database, peneliti menggunakan diagram kelas yang terdapat

pada UML. Berikut adalah diagram kelas pada aplikasi pengisian pulsa

berbasis web :

Gambar 4.22 Diagram Kelas Aplikasi Pengisian Pulsa

Page 87: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

71

Dari diagram kelas yang terlampir, berikut keterangannya :

Tabel 4.15 Keterangan Diagram Kelas

Nama Kelas Keterangan

Main kelas main yang merangkap sebagai kelas tampilan

Login kelas proses dari pendefinisian use case Login

MengelolaAnggota Kelas proses dari pendefinisian use case mengelola

data pelanggan

MengelolaTransaksi Kelas proses dari pendefinisian use case mengelola

data transaksi

MengelolaSaldo Kelas proses dari pendefinisian use case mengelola

saldo pelanggan

Tanggota Kelas yang berisi atribut data pelanggan dan

operasinya

Ttransaksi Kelas yang berisi atribut data transaksi yang

dilakukan oleh user (pelanggan)

TSaldo Kelas yang berisi atribut data saldo pelanggan,

pelanggan mengkonfirm saldo jika telah

mentransfer ke rekening admin

Koneksi Kelas utilitas (penunjang) untuk koneksi ke basis

data dan melakukan query

3. Representasi Antarmuka

Sebelum menampilkan desain antarmuka yang sebenarnya, dibuatkan dahulu

diagram struktur menunya atau biasa disebut sitemap yang bertujuan untuk

memudahkan pembuat dalam merinci fitur-fitur yang disediakan untuk para

pengguna, seperti yang terlihat pada gambar berikut :

Page 88: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

72

Gambar 4.23 Diagram Struktur Menu

Berikut Tampilan desain interface (antarmuka) aplikasi pengisian pulsa

berbasis web.

a. Tampilan login

Gambar 4.24 Tampilan Login

b. Tampilan main untuk admin

Gambar 4.25 Tampilan Main Admin

Page 89: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

73

c. Tampilan main untuk user

Gambar 4.26 Tampilan Main User

d. Tampilan form pendaftaran

Gambar 4.27 Tampilan Form Pendaftaran

e. Tampilan ubah profil pelanggan

Gambar 4.28 Tampilan Ubah Data Profil Pelanggan

Page 90: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

74

f. Tampilan aktifasi pendaftaran

Gambar 4.29 Tampilan Aktifasi Pendaftaran

g. Tampilan form konfirmasi transfer

Gambar 4.30 Form Konfirmasi Transfer

h. Tampilan form trasaksi pulsa

Gambar 4.31 Form Pengisian Pulsa

Page 91: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

75

i. Tampilan log transaksi pengisian pulsa

Gambar 4.32 Log Transaksi Pengisian Pulsa

j. Tampilan penambahan saldo pelanggan

Gambar 4.33 Penambahan Saldo Anggota

k. Tampilan pengelolaan anggota oleh admin

Gambar 4.34 Tabel Pengelolaan Anggota

Page 92: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

76

4. Prosedur Pengodean

Dalam prosedur pengodean, dijelaskan langkah-langkah atau prosedur setiap

kegiatan yang ada dalam aplikasi pengisian pulsa berbasis web.

a. Prosedur log in

Gambar 4.35 Prosedur Login

b. Prosedur pendaftaran

Gambar 4.36 Prosedur Pendaftaran

Page 93: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

77

c. Prosedur mengubah data pelanggan

Gambar 4.37 Prosedur Mengubah Data Pelanggan

d. Prosedur aktifasi pendaftaran

Gambar 4.38 Prosedur Aktifasi Pendaftaran

Page 94: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

78

e. Prosedur konfirmasi transfer

Gambar 4.39 Prosedur Konfirmasi Transfer

f. Prosedur pengisian pulsa

Gambar 4.40 Prosedur Pengisian Pulsa

Page 95: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

79

g. Prosedur laporan pengisian pulsa

Gambar 4.41 Prosedur Laporan Pengisian Pulsa

h. Prosedur penambahan saldo

Gambar 4.42 Prosedur Penambahan Saldo

Page 96: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

80

4.1.3 Pembuatan Kode Program/Implementasi

Karena aplikasi yang dibuat berhubungan dengan internet, maka program

dibuat menggunakan PHP sebagai bahasa pemrogramannya. PHP tersebut dibuat

melalui aplikasi notepad++. Berikut tampilan aplikasi notepad++ yang

mengimplementasikan halaman isi pulsa.

Gambar 4.43 Tampilan Kode Program Isi Pulsa

Sedangkan untuk kode program untuk pengisian pulsa, yaitu :

<?php

include 'ceksesi.php';

include 'koneksi.php';

mysql_select_db('pulsaonline');

$nodef = "082112555393";

$pindef = "8899";

$creatorid = $_SESSION["username"];

$no_tujuan = $_POST["txtnotujuan"];

$operator = $_POST["soperator"];

$nominal = $_POST["nominal"];

$realnominal;

switch($nominal)

{

case 5 : $realnominal = "5000";

Page 97: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

81

break;

case 10 : $realnominal = "10000";

break;

case 20 : $realnominal = "20000";

break;

case 25 : $realnominal = "25000";

break;

case 50 : $realnominal = "50000";

break;

case 100 : $realnominal = "100000";

}

$selectquery = mysql_query("select saldo.id,saldo.saldo from

saldo,anggota where saldo.id=anggota.id and

anggota.username='".$creatorid."'");

$dtsaldo=mysql_fetch_array($selectquery);

if($dtsaldo["saldo"] < $realnominal)

{

echo "<center>Maaf saldo anda saat ini Rp.$dtsaldo[saldo],-

,transaksi dibatalkan !";

}

else

{

if($insertquery = mysql_query("insert into

outbox(TextDecoded,DestinationNumber,CreatorID)

values('$operator$nominal.$no_tujuan.$pindef','$nodef','$creatorid')"))

{

echo "<center>Pulsa telah dikirim ke nomor $no_tujuan</center>";

$saldoakhir = $dtsaldo["saldo"] - $realnominal;

$updatequery = mysql_query("update saldo set saldo = $saldoakhir

where id='".$dtsaldo['id']."'");

}

else

{

echo "Gagal terkirim";

}

require("isipulsa.php");

}

?>

Page 98: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

82

Sedangkan untuk databasenya menggunakan aplikasi MySQL. Berikut

tampilan database aplikasi pengisian pulsa berbasis web.

Gambar 4.44 Tampilan MySQL Database untuk Aplikasi Pengisian Pulsa

Untuk kode program dalam membuat database pada query MySQL, yaitu

(dalam hal ini, hanya tabel anggota yang ditampilkan kodenya) :

CREATE TABLE IF NOT EXISTS `anggota` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`nama` varchar(50) NOT NULL,

`alamat` varchar(100) NOT NULL,

`hp` varchar(15) NOT NULL,

`username` varchar(20) NOT NULL,

`password` varchar(8) NOT NULL,

`aktivasi` varchar(20) NOT NULL,

`flag_aktivasi` enum('belum_aktif','aktif') NOT NULL,

PRIMARY KEY (`id`)

)

Untuk konfirmasi pendaftaran kepada pelanggan, pemberitahuan informasi

kepada pelanggan, dan melakukan transaksi ke nomor yang dituju menggunakan

fasilitas sms gateway dengan aplikasi gammu. Isi informasi atau SMS yang akan

diterima oleh user yaitu :

Page 99: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

83

Gambar 4.45 Isi SMS saat Konfirmasi Pendaftaran

4.1.4 Instalasi

Proses instalasi merupakan proses pemasangan aplikasi pengisian pulsa

berbasis web berikut dengan databasenya. Proses instalasi ini terbagi atas dua

bagian, yaitu instalasi software dan instalasi database.

4.1.4.1Instalasi Software

Proses instalasi software merupakan proses pemasangan aplikasi pengisian

pulsa berbasis web di konter Nurfa Cell. Sebelum memasang aplikasi pengisian

pulsa, terlebih dahulu memasang aplikasi yang mendukung berjalannya aplikasi

pengisian pulsa tersebut. Berikut aplikasi-aplikasi pendukung yang harus

dijalankan sebelum atau bersamaan dengan aplikasi pengisian pulsa :

1. Aplikasi browser atau mesin pencari yang dapat melakukan sinkronisasi data

dengan internet. Disini peneliti menggunakan aplikasi browser Mozila Firefox.

Aplikasi browser dipasang sebelum menjalankan aplikasi pengisian pulsa

berbasis web. Aplikasi browser juga berlaku untuk semua aktor, baik

administrator maupun user (pelanggan) dengan media baik PC maupun

handphone.

Gambar 4.46 Logo Mozilla Firefox

2. Aplikasi SMS Gateway yang berfungsi untuk mengirimkan pulsa maupun

informasi kepada pelanggan. Disini peneliti menggunakan aplikasi Gammu.

Aplikasi SMS Gateway harus dipasang dan diatur terlebih dahulu sebelum

Page 100: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

84

aplikasi pengisian pulsa berjalan. Aplikasi SMS Gateway berlaku hanya untuk

admin.

4.1.4.2Instalasi Database

Instalasi database merupakan proses pemasangan basis data yang

mendukung aplikasi pengisian pulsa berbasis web. Karena fungsi dari basis data

adalah tempat penyimpanan data-data yang menunjang berjalannya aplikasi

pengisian pulsa. Terdapat pula data-data tentang user yang terdaftar di aplikasi

pengisian pulsa maupun data-data harga pulsa.

Sudah diketahui bahwa aplikasi basis data yang digunakan oleh peneliti

dalam membuat database adalah MySQL. Berikut tahapan pemasangan aplikasi

MySQL :

1. Dalam area localhost, peneliti menggunakan aplikasi XAMPP yang didalamnya

terdapat aplikasi MySQL. Setelah jalankan XAMPP, maka jalankan service

MySQL agar aktivitas mengelola database dapat berjalan.

Gambar 4.47 Tampilan Aplikasi XAMPP saat MySQL sedang Berjalan

2. Dalam area hosting, biasanya tersedia aplikasi MySQL dalam control panel

sebagai tempat penyimpanan databasenya.

Page 101: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

85

4.1.4.3Dokumentasi Program

Tahapan ini menjelaskan dokumentasi program yang berisi dokumentasi

dari sebelum program dijalankan sampai pada proses transaksi selesai.

Dokumentasi tersebut dibuat dalam aplikasi dengan menu bantuan (panduan

penggunaan user). Tujuannya adalah untuk mempermudah pengguna (user) dalam

menjalankan aplikasi yang dibuat.

Berikut tampilan menu bantuan dan isi dari dokumentasi program yang

dibuat :

Gambar 4.48 Tampilan Menu Bantuan

Page 102: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

86

4.1.5 Testing (Pengujian)

Tahapan testing terdiri atas pengujian user dan pengujian program.

4.1.5.1Pengujian User

Dalam pengujian user, diuji fungsi aplikasi yang menjadi tujuan

pembuatan aplikasi tersebut. Dalam aplikasi pengisian pulsa, maka pengujian

dilakukan berdasarkan tidak atau berhasilnya pulsa terisi pada nomor handphone

yang ditujukan.

Selain itu, tahapan dalam aplikasi harus sesuai dengan rencana sebelum

pulsa terisi ke nomor tujuan. Berikut tabel tahapan tersebut :

Tabel 4.16 Tabel Pengujian User

Tahapan Menu Jenis Pengujian

Login Pengujian Black Box

Pengisian pulsa Transaksi Pengujian Black Box

Log pengisian pulsa Transaksi Pengujian Blackbox

Berdasarkan tahapan dari tabel diatas, maka dapat dilakukan pengujian sebagai

berikut :

1. Pengujian login

Tabel 4.17 Tabel Pengujian Login

Kasus dan Hasil Uji (Data Normal)

Data masukan Rencana Hasil kesimpulan

Username dan

password sesuai dengan

database

Masuk ke Main

(menu utama)

Masuk ke Main

(menu utama)

diterima

Kasus dan Hasil Uji (Data tidak Normal)

Data Masukan Rencana Hasil Kesimpulan

Username dan

password tidak sesuai

dengan database

Kembali login Kembali login diterima

Page 103: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

87

2. Pengujian pengisian pulsa

Tabel 4.18 Tabel Pengujian Pengisian Pulsa

Kasus dan Hasil Uji (Data Normal)

Data masukan Rencana Hasil kesimpulan

Saldo = 10000

No.Hp : 08132842

Operator : simpati

Nominal : 5000

Tampil pesan

pulsa telah

dikirim ke

08132842

Tampil pesan

pulsa telah

dikirim ke

08132842

diterima

Kasus dan Hasil Uji (Data tidak Normal)

Data Masukan Rencana Hasil Kesimpulan

Saldo lebih kecil dari

nominal

Tampil pesan

saldo kurang

Tampil pesan

Saldo kurang

diterima

3. Pengujian log pengisian pulsa

Tabel 4.19 Tabel Pengujian Log Pengisian Pulsa

Kasus dan Hasil Uji (Data Normal)

Data masukan Rencana Hasil kesimpulan

Klik menu log

pengisian pulsa di menu

utama

Tampil Log

Transaksi

Tampil Log

Transaksi

diterima

4. Kesimpulan hasil pengujian user

Berdasarkan hasil dari setiap pengujian diatas, maka didapatkan suatu

kesimpulan dalam pengujian user, yaitu :

Tabel 4.20 Kesimpulan Hasil Pengujian Black Box

Nama Pengujian Kesimpulan

Login Pengujian diterima

Pengisian pulsa Pengujian diterima

Log pengisian pulsa Pengujian diterima

Page 104: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

88

Hasil pengujian yang dilakukan dengan metode black box di konter Nurfa Cell

sudah selesai dengan yang diharapkan dan dapat diterima.

4.1.5.2Pengujian Program

Pengujian program merupakan pengujian secara internal. Tidak hanya alur,

namun juga kode program yang memiliki fungsi tertentu diuji apakah sesuai

dengan fungsinya atau tidak. Pengujian ini sering dinamakan whitebox testing.

Pengujian ini bersifat benar jika hasil uji white box testing dan bases path testing

dianggap sesuai. Dalam pengujian ini, penulis hanya menguji 3 proses dalam

aplikasi pengisian pulsa, diantaranya pengujian kode pengisian pulsa (transaksi

pulsa), pengujian kode login, dan pengujian kode log (laporan) pengisian pulsa.

1. Berikut pengujian pada kode transaksi pulsa :

1)

2)

3)

4)

5)

6)

7)

if($dtsaldo["saldo"] < $realnominal)

{

echo "<center>Maaf saldo anda saat ini Rp.$dtsaldo[saldo],-

,transaksi dibatalkan !";

}

Else

{

if($insertquery = mysql_query("insert into

outbox(TextDecoded,DestinationNumber,CreatorID)

values('$operator$nominal.$no_tujuan.$pindef','$nodef','$creat

orid')"))

{

echo "<center>Pulsa telah dikirim ke nomor $no_tujuan</center>";

$saldoakhir = $dtsaldo["saldo"] - $realnominal;

$updatequery = mysql_query("update saldo set saldo =

$saldoakhir where id='".$dtsaldo['id']."'");

}

else

{

echo "Gagal terkirim";

}

Page 105: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

89

Gambar 4.49 Pengujian White Box pada Program Pengisian Pulsa

Dari flowgraph diatas, maka didapatkan :

Region (R) = 3

Node (N) = 7

Edge (E) = 8

Predicate Node (P) = 2

Maka, V (G) = E – N + 2

= 8 – 7 + 2 = 3

Maka, V (G) = P + 1 = 2 + 1 = 3

Dan Cyclometic Complexity (CC) = R1, R2, R3

Kemudian hasil diatas dibandingkan dengan hasil pengujian bases path. Pengujian

jalur logika pada flowgraph di atas adalah sebagai berikut :

Jalur 1 : 1 – 2 – 7

Jalur 2 : 1 – 3 – 4 – 5 – 7

Jalur 3 : 1 – 3 – 4 – 6 – 7

Jadi Cyclometic Complexity (CC) = 3, V(G) = 3.

Pengujian test case dengan pendekatan white box dan bases path berdasarkan

flowgraph di atas menghasilkan :

Jalur 1 : Jika saldo lebih kecil dari nominal, maka akan muncul pesan “maaf anda

saat ini (kurang dari nominal yang diinginkan), transaksi dibatalkan”,

Jalur 2 : Jika saldo tidak lebih kecil dari nominal, juga data transaksi sudah masuk

ke tabel outbox di database, maka akan muncul pesan “Pulsa telah

dikirim ke nomor tujuan”, sedangkan sistem mengubah saldo menjadi

Page 106: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

90

saldo akhir setelah dikurangi nominal, lalu update database, dan simpan

sebagai data transaksi,

Jalur 3 : Jika saldo tidak lebih kecil dari nominal, tapi data transaksi tidak masuk

ke tabel outbox di database, maka akan muncul pesan “Gagal terkirim”.

Berdasarkan hasil uji coba white box testing dan bases path testing di atas,

dapat disimpulkan bahwa logika flowchart benar.

2. Selain kode transaksi pulsa, pengujian white box berlaku untuk kode log in :

1)

2)

3)

4)

5)

6)

$user = $_POST['txtusername'];

$pw = $_POST['txtpassword'];

$q_login = mysql_query("select * from user where

username='".$user."' and password='".$pw."'");

$datalogin = mysql_fetch_array($q_login);

if($datalogin['username'] == $user and $datalogin['password'] ==

$pw )

{

$_SESSION['username'] = $user;

$_SESSION['password'] = $pw;

if($user=='admin')

{

?>

<script type="text/javascript" >

location.href = 'admin/admin.php';

</script>

<?php

}

else

{

?>

<script type="text/javascript" >

location.href = 'main.php';

</script>

<?php

Page 107: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

91

7)

8)

9)

10-11

12)

13-14

15)

16)

17)

}

}

else

{

$error ="";

if(empty($user) and empty($pw)){

$error ="<b>Username</b> dan <b>Password</b> kosong";

} else if(empty($user)) {

$error ="<b>Username</b> kosong";

} else if(empty($pw)) {

$error ="<b>Password</b> kosong";

} else {

$error ="<b>Username</b> dan <b>Password</b> tidak sesuai";

}

Gambar 4.50 Pengujian White Box Kode Login

Dari flowgraph di atas, maka didapatkan :

Region (R) = 6

Node (N) = 17

Edge (E) = 21

Predicate Node (P) = 5

Maka, V(G) = E – N + 2

= 21 – 17 + 2 = 6

Maka, V(G) = P + 1 = 5 + 1 = 6

Dan Cyclometic Complexity (CC) = R1, R2, R3, R4, R5, R6

Page 108: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

92

Kemudian hasil di atas dibandingkan dengan hasil pengujian bases path.

Pengujian jalur logika pada flowgraph di atas adalah sebagai berikut :

Jalur 1 : 1 – 2 – 3 – 4 – 5 – 17

Jalur 2 : 1 – 2 – 3 – 4 – 6 – 17

Jalur 3 : 1 – 2 – 7 – 8 – 9 – 17

Jalur 4 : 1 – 2 – 7 – 8 – 10 – 11 – 12 – 17

Jalur 5 : 1 – 2 – 7 – 8 – 10 – 11 – 13 – 14 – 15 – 17

Jalur 6 : 1 – 2 – 7 – 8 – 10 – 11 – 13 – 14 – 16 – 17

Jadi, Cyclometic Complexity (CC) = 6, V(G) = 6.

Pengujian test case dengan pendekatan white box dan bases path berdasarkan

flowgraph di atas menghasilkan :

Jalur 1 : Input username dan password, jika masukkan username dan password

sama dengan yang ada dalam database, maka masuk ke pilihan cek sesi

yang didalamnya jika masukkan username berupa admin, maka masuk ke

halaman admin.php,

Jalur 2 : Input username dan password, jika masukkan username dan password

sama dengan yang ada dalam database, maka masuk ke pilihan cek sesi

yang didalamnya jika masukkan username bukan admin, maka masuk ke

halaman main.php,

Jalur 3 : Input username dan password, jika masukkan username dan password

tidak sama dengan yang ada dalam database, maka masuk ke dalam

pilihan errorr yang jika tidak ada masukkan username dan password,

maka akan muncul pesan “username dan password kosong”,

Jalur 4 : Input username dan password, jika masukkan username dan password

tidak sama dengan yang ada dalam database, maka masuk ke dalam

pilihan errorr yang jika tidak ada masukkan username dan ada masukkan

password, maka akan muncul pesan “username kosong”,

Jalur 5 : Input username dan password, jika masukkan username dan password

tidak sama dengan yang ada dalam database, maka masuk ke dalam

pilihan errorr yang jika ada masukkan username dan tidak ada masukkan

password, maka akan muncul pesan “password kosong”,

Page 109: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

93

Jalur 6 : Input username dan password, jika masukkan username dan password

tidak sama dengan yang ada dalam database, maka masuk ke dalam

pilihan errorr yang jika ada masukkan username dan password, namun

tidak sesuai, maka akan muncul pesan “username dan password tidak

sesuai”.

Berdasarkan hasil uji coba white box testing dan bases path testing di atas,

dapat disimpulkan bahwa logika flowchart benar.

3. Selain kode transaksi pulsa, dan kode log in, pengujian terakhir berupa

pengujian kode log (laporan) transaksi :

1)

2)

3)

4)

5)

<?php

$creatorid = $_SESSION["username"];

$selectquery1 = mysql_query("select saldo.id,saldo.saldo from

saldo,anggota where saldo.id=anggota.id and

anggota.username='".$creatorid."'");

$dtsaldo=mysql_fetch_array($selectquery1);

$selectquery2 = mysql_query("select * from log_pengisian where

id='".$dtsaldo['id']."'");

$j=mysql_num_rows($selectquery2);

for($k=0;$k<$j;$k++){

if ($k % 2 == 1) {

$dt=mysql_fetch_array($selectquery2);

echo "<tr bgcolor=#DEDEDE>

<td align = 'center'>$dt[no_tujuan]</td>

<td align = 'center'>$dt[operator]</td>

<td align = 'center'>$dt[nominal]</td>

<td align = 'center'>$dt[time]</td>

<td align=center><input type=submit value=$dt[msg_id]

name=peritem></td>

</tr>";

}

else

{

$dt=mysql_fetch_array($selectquery2);

echo "<tr bgcolor=white>

<td align = 'center'>$dt[no_tujuan]</td>

<td align = 'center'>$dt[operator]</td>

Page 110: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

94

6)

7)

<td align = 'center'>$dt[nominal]</td>

<td align = 'center'>$dt[time]</td>

<td align=center><input type=submit value=$dt[msg_id]

name=peritem></td>

</tr>";

}

}

?>

Gambar 4.51 Pengujian White Box Kode Log Pengisian Pulsa

Dari flowgraph di atas, maka didapatkan :

Region (R) = 3

Node (N) = 7

Edge (E) = 8

Predicate Node (P) = 2

Maka, V(G) = E – N + 2

= 8 – 7 + 2 = 3

Maka, V(G) = P + 1 = 2 + 1 = 3

Dan Cyclometic Complexity (CC) = R1, R2, R3

Kemudian hasil di atas dibandingkan dengan hasil pengujian bases path.

Pengujian jalur logika pada flowgraph di atas adalah sebagai berikut :

Jalur 1 : 1 – 2 – 7

Jalur 2 : 1 – 2 – 3 – 4 – 6 – 2 – 7

Jalur 3 : 1 – 2 – 3 – 5 – 6 – 2 – 7

Jadi, Cyclometic Complexity (CC) = 3, V(G) = 3.

Page 111: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

95

Pengujian test case dengan pendekatan white box dan bases path berdasarkan

flowgraph di atas menghasilkan :

Jalur 1 : Ambil data dari tabel log dalam database pulsaonline, data yang diambil

tidak ada

Jalur 2 : Ambil data dari tabel log dalam database pulsaonline, data yang diambil

ada dan dibuatkan tabel secara perulangan, jika nomor baris genap maka

warna background baris abu-abu,

Jalur 3 : Ambil data dari tabel log dalam database pulsaonline, data yang diambil

ada dan dibuatkan tabel secara perulangan, jika nomor baris bukan genap

maka warna background baris putih.

Berdasarkan hasil uji coba white box testing dan bases path testing di atas,

dapat disimpulkan bahwa logika flowchart benar.

4.2 Pembahasan

Setelah tahapan testing, terdapat tahapan pembahasan yang merupakan

kesimpulan dari aplikasi yang dibuat. Dilihat dari tujuan penelitiannya sudah

terlaksana atau belum.

1. Aplikasi dapat digunakan untuk mengisi pulsa ke nomor operator kapan pun

dan dimana pun. Dengan memanfaatkan modem yang selalu tersambung

dengan PC atau laptop. Dimana penggunaan modem tersebut untuk aplikasi

sms gateway yang membantu pengisian pulsa berbasis web.

2. Aplikasi dapat dijalankan dengan menggunakan media PC, handphone, tablet,

laptop dan media lain yang memiliki browser sebagai mesin pencari.

3. Aplikasi dapat digunakan untuk mengisi pulsa ke nomor operator dengan

memanfaatkan fasilitas internet. Karena aplikasi ini berbasis web, maka

pemanfaatan untuk memperluas jaringan penjualan pulsa sangat diperlukan.

Page 112: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

96

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan penjelasan-penjelasan dari tiap bab yang telah dilakukan dalam

pembuatan aplikasi pengisian pulsa berbasis web, dapat disimpulkan bahwa :

1. Aplikasi pengisian pulsa memudahkan pelanggan mengisi pulsa ke nomor

orang lain dengan berbagai nomor yang sedang pelanggan pakai. Tidak perlu

dengan nomor handphone pelanggan yang terdaftar untuk mengisi pulsa.

Dengan menggunakan handphone yang mempunyai browser minimal wap

dapat melakukan transaksi pulsa ini. Walaupun sedang menggunakan nomor

handphone yang lain.

2. Aplikasi pengisian pulsa berbasis web memudahkan pelanggan melihat data-

data transaksi dan penambahan saldo pelanggan yang telah dilakukan oleh

pelanggan.

3. Aplikasi pengisian pulsa berbasis web dapat digunakan kapan pun dan dimana

pun jika administrator dalam keadaan online.

4. Aplikasi pengisian pulsa berbasis web memanfaatkan fasilitas internet dan

browser. Oleh karena itu, bahasa pemrogramannya menggunakan php. Juga

media yang dapat mengakses aplikasi ini dapat berupa handphone, PC, tablet

(SIM/RUIM), dan media lainnya yang dapat mengakses browser.

5.2 Saran

Dalam mengembangkan aplikasi yang telah dibuat, peneliti memberikan

saran untuk penelitian selanjutnya, yaitu :

1. Aplikasi pengisian pulsa berbasis web akan lebih baik lagi jika memanfaatkan

internet. Pemanfaatan tersebut berupa diadakannya form kontak langsung

antara admin dan user, juga form kirim pesan antara user dengan user.

Page 113: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

97

2. Aplikasi pengisian pulsa berbasis web diisi lagi dengan aplikasi social network

yang memberikan kenyamanan bagi pelanggan dalam menambah tali

silaturahmi antar pelanggan. Fitur-fitur social network yang dapat dibenamkan

di aplikasi pengisian pulsa, yaitu tampilan foto profil pelanggan, chating

sesama pelanggan, update status dan komentar status sesama pelanggan.

Dengan adanya fitur-fitur ini, bisa kemungkinan jumlah pelanggan akan

semakin meningkat.

3. Aplikasi ini dapat berjalan tanpa gangguan jika pengelolaan yang baik

diterapkan pada Konter Nurfa Cell.

Page 114: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xiv

Daftar Pustaka

1. Aulia, Ratih. 2010. Pembuatan Aplikasi Sistem Penjualan Pulsa Pada

Toko Miyo Cell Menggunakan Netbeans 6.01 dan MySQL. Sistem

Informasi Universitas Gunadarma. 2010

2. Breit, Kevin, dkk.. Dia (Diagram Editor). Boston : Free Software

Foundation, Inc. 2009.

3. Corporation, Adobe. Adobe Photoshop. http://www.adobe.com (diakses

tanggal 2 Mei 2012 Pukul 20.00 WIB)

4. Dewanto, R.A., Aradea. 2007. Aplikasi SMS Gateway Dengan Koreksi

Kesalahan Menggunakan Fuzzy String Matching. Seminar Nasional

Aplikasi Teknologi Informasi, 2007.

5. Fikri, Azkal. 2006. Aplikasi Short Message Service (SMS) Gateway Untuk

Layanan Informasi Registrasi Administrasi Mahasiswa. Universitas

Pendidikan Indonesia. 2006.

6. Ladjamudin, Al-Bahra B. Analisis dan Desain Sistem Informasi.

Yogyakarta : Graha Ilmu. 2005.

7. Notepad. Notepad ++. http://www.notepad-plus-plus.org (diakses tanggal

30 Maret 2012 Pukul 12.30 WIB)

8. Prayitno, Budi. Skripsi : Pembuatan Aplikasi Website Pengisian Pulsa

Secara Online Dengan Menggunakan Macromedia MX. Jakarta : STIK.

2008.

9. Raharjo, Budi. Belajar Otodidak Membuat Database Menggunakan

MySQL (Studi Kasus : Membuat Toko Buku Online). Bandung :

Informatika. 2011.

10. Saputra, Agus. Step By Step Membangun Aplikasi SMS dengan PHP dan

MySQL. Jakarta : Elex Media Komputindo. 2011

11. Shalahuddin, M., Rosa A.S. Rekayasa Perangkat Lunak (Terstruktur dan

Berorientasi Objek). Bandung : Modula. 2011.

Page 115: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xv

12. Sugiono. 2007. Perancangan Sistem Informasi Appointment Pasien

Berbasis SMS di Rumah Bersalin. Seminar Nasional Teknologi Vol.1,

2007.

13. Sumatera Utara, Universitas. Teknik Pengumpulan Data.

http://repository.usu.ac.id/bitstream121Chapte20II.pdf (diakses tanggal 30

April 2012)

14. Tarigan, Daud Edison. Membangun SMS Gateway Berbasis Web dengan

CodeIgniter. Yogyakarta : Lokomedia. 2012.

15. Wahid, Fathul. 2004. Metodologi Penelitian Sistem Informasi. Media

Informatika, Volume 2, 2004.

16. Zohrahayati. 2007. Perancangan Sistem Informasi Pelayanan Pelanggan

Berbasis Jaringan Pada PT. PLN Wil. Sultenggo Cab. Gorontalo Kantor

Jaga Tapa. Jurnal Ichsan Gorontalo, Vol 2 No 1. 2007

Page 116: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xvi

LAMPIRAN 1

KODE PROGRAM

a. Admin.php

<?php

include '../ceksesiadmin.php';

?>

<html>

<head>

<title>Pengisian Pulsa Online.com</title>

<link rel="stylesheet" href="../css/main.css" type="text/css">

<link rel="icon" href="../image/app.ico" type="image/x-icon" />

<link rel="shortcut icon" href="../image/app.ico"

type="image/x-icon" />

<script type="text/javascript" >

function mulai()

{

iframe_tujuan.location.href = "homescreen_admin.php"; //Load suatu

URL secara otomatis untuk ditempatkan di frame atau windows

tertentu

}

</script>

</head>

<body onload='mulai();' id="body_tujuan" >

<center>

<!-- Buat kotak list aksesoris -->

<div class="list"></div>

<!-- Bagian Header:judul, tagline -->

<div id="head">

<div id="divlogo"><img src="../image/app.png" id="Logo"

name="Logo"></div>

<div id="namasitus">Pulsa Online Dot Com</div>

</div>

<!-- Bagian menu (Drop down) -->

<div id="menu">

<ul id="nav">

<li><span><a href="homescreen_admin.php"

target="iframe_tujuan">Beranda</a></span>

</li>

<li><span>Pengelolaan</span>

<ul>

<li><input type="button" value="Pengaturan

Anggota" class="tombolmenu"

onclick="javascript:iframe_tujuan.location.href ='anggota.php';"

/></li>

<li><input type="button" value="Pengaturan

Saldo" class="tombolmenu"

onclick="javascript:iframe_tujuan.location.href = 'saldo.php';" />

</li>

<li><hr></li>

Page 117: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xvii

<li><input type="button" value="Logout"

class="tombolmenu" onclick="javascript:iframe_tujuan.location.href

= '../logout.php';"></li>

</ul>

</li>

<li><span>Setting</span>

<ul>

<li><input type="button" value="Pengaturan

Gateway" class="tombolmenu"

onclick="javascript:iframe_tujuan.location.href = 'gateway.php';"

/></li>

</ul>

</li>

</div>

<!-- Badan situs -->

<div id="body">

<p>

<iframe name="iframe_tujuan" id="iframe_tujuan" >ini

iframe</iframe>

</p>

</div>

<div class="list"></div>

<!-- Footnote. Menampilkan copyright -->

<div id="footnote">Copyright &copy 2012 Karim untuk Konter Nurfa

Cell. All Rights Reserved.</div>

</center>

</div>

</body>

</html>

b. Act_aktivasi.php

<?php

include'koneksi.php';

mysql_select_db('pulsaonline');

$dtkode=$_POST['txtkode'];

$query_cari=mysql_query("select flag_aktivasi from anggota where

aktivasi = '".$dtkode."'");

$dt_cari = mysql_fetch_array($query_cari);

if($dt_cari['flag_aktivasi'] =='belum_aktif')

{

$query_update = mysql_query("update anggota set flag_aktivasi =

'aktif' where aktivasi = '".$dtkode."'");

$query_insert_user = mysql_query("insert into user select

username,password from anggota where aktivasi = '".$dtkode."'");

echo"User sudah aktif";

echo"<br>";

echo"Silahkan klik Login untuk memulai transaksi atau tambah

saldo.";

}

?>

Page 118: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xviii

c. Act_daftar.php

<?php

require_once("vigenere.class.php");

include 'koneksi.php';

$key = 'indukrusa77';

$vige = new Vigenere($key);

$nama = $_POST['txtnama'];

$alamat = $_POST['txtalamat'];

$hp = $_POST['txthp'];

$userid = $_POST['txtusername'];

$password = $_POST['txtpassword'];

$aktivasi = $vige->encrypt($userid);

mysql_select_db('pulsaonline');

//periksa apakah sudah ada username yang sama

$qcarianggota = mysql_query("select username from anggota where

username = '".$userid."'");

$data_anggota = mysql_fetch_array($qcarianggota);

if($data_anggota['username']!=$userid)

{

//buat nyimpan di tabel anggota

$qsimpananggota = mysql_query("insert into

anggota(nama,alamat,hp,username,password,aktivasi)

values('$nama','$alamat','$hp','$userid','$password','$aktivasi')"

);

//buat nge-update jumlah barang di tabel barang

$qusendkode = mysql_query("insert into

outbox(DestinationNumber,TextDecoded,CreatorID)

values('$hp','Terima kasih telah mendaftar di pulsaonline.com,

aktivasi akun Anda dengan kode $aktivasi di website

pulsaonline.com.','pulsaonline.com')");

echo "<p style={text-align:center;font-family:arial;font-

size:12px;}>Anda telah berhasil terdaftar di

pulsaonline.com..</p>";

}

else

{

echo "<p style={text-align:center;font-family:arial;font-

size:12px;}>Error, username sudah digunakan...</p>";

}

require ("aktivasi.php");

?>

d. Aktivasi.php

<html>

<head>

<title>Aktivasi akun</title>

</head>

<body>

<center>

<h2>Masukan kode aktivasi yang telah dikirim melalui SMS ke nomor

Hand Phone anda.</h2>

<form name="faktivasi" method="POST" action="act_aktivasi.php">

<label>Kode Aktivasi</label>

<input type="text" name ="txtkode" id="txtkode" />

<input type="submit" name="btnkode" value="Aktifkan" />

Page 119: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xix

</form>

</center>

</body>

</html>

e. Akun.php

<html>

<head>

<title>Form Pendaftaran Akun</title>

<link rel="stylesheet" href="css/transaksi.css" type="text/css">

<link rel="icon" href="image/app.ico" type="image/x-icon" />

<link rel="shortcut icon" href="image/app.ico" type="image/x-

icon" />

<?php

include 'ceksesi.php';

include 'koneksi.php';

mysql_select_db('pulsaonline');

$user = $_SESSION['username'];

$querydata = mysql_query("select * from anggota where username =

'".$user."'");

$dt_profil = mysql_fetch_array($querydata);

?>

</head>

<body>

<center>

<p class="judul" align="center" ><img src="image/user.jpg"

width="50px" height="50px" >Ubah Data Profil</p>

<form name = "fubahprofil" action = "act_ubahprofil.php" method

= "POST" target="iframe_tujuan">

<fieldset>

<legend>Data Profil</legend>

<table style="font-weight:bold">

<tr>

<td class="form" align="right">User ID :</td>

<td><label id="userid" class="userid"><?php echo

$dt_profil['username']; ?></label></td>

</tr>

<tr>

<td class="form" align="right">Nama lengkap :</td>

<td align = "left">

<input type = "text" name= "txtnama" id= "txtnama" value= "<?php

echo $dt_profil['nama']; ?> "size = "30" maxlength = 15 >

</td>

</tr>

<tr>

<td class="form" align="right">Alamat :</td>

<td align = "left">

<textarea name= "txtalamat" id= "txtalamat"

style="width:auto"><?php echo $dt_profil['alamat']; ?></textarea>

</td>

</tr>

<tr>

<td class="form" align="right">No. Handphone :</td>

<td align = "left">

<input type = "text" name= "txthp" id= "txthp" value= "<?php echo

$dt_profil['hp']; ?> "size = "30" maxlength = 15 >

Page 120: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xx

</td>

</tr>

</table>

</fieldset>

<fieldset id="kumbutton">

<table>

<td><input type ="submit" value ="Ubah" name="btnubahprofil"

></td>

</table>

</fieldset>

</form>

<form name = "fubahpassword" action = "act_ubahprofil.php"

method = "POST" target="iframe_tujuan">

<fieldset>

<legend>Ubah Password</legend>

<table style="font-weight:bold">

<tr>

<td class="form" align="right">Password baru :</td>

<td align = "left">

<input type = "text" name= "txtuserid" id= "txtuserid" size =

"40" maxlength = 15 >

</td>

</tr>

<tr>

<td class="form" align="right">Ulang password baru :</td>

<td align = "left">

<input type = "text" name= "txtnama" id= "txtnama" size = "40"

maxlength = 15 >

</td>

</tr>

</table>

</fieldset>

<fieldset id="kumbutton">

<table>

<td><input type ="submit" value ="Ubah Password"

name="btnubahpassword" ></td>

</table>

</fieldset>

</form>

</center>

</body>

</html>

f. Ceksesi.php

<?php

session_start();

//cek user logged in

if(!isset($_SESSION['username']) and

!isset($_SESSION['password'])){

header('location:index.php'); //ke halaman login

Page 121: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxi

}

?>

g. Ceksesiadmin.php

<?php

session_start();

//cek user logged in

if($_SESSION['username']!='admin'){

header('location:index.php'); //ke halaman login

}

?>

h. Daftar.php

<html>

<head>

<title>Form Pendaftaran Akun</title>

<link rel="stylesheet" href="css/transaksi.css" type="text/css">

<link rel="icon" href="image/app.ico" type="image/x-icon" />

<link rel="shortcut icon" href="image/app.ico" type="image/x-

icon" />

<script type="text/javascript" >

function start() {

document.getElementById("alertnama").style.visibility = "hidden";

document.getElementById("alerthp").style.visibility = "hidden";

document.getElementById("alertuser").style.visibility = "hidden";

document.getElementById("alertpassword").style.visibility =

"hidden";

document.getElementById("alertcpassword").style.visibility =

"hidden";

}

function cekvalidasi() {

if (txtnama.value == '')

{

txtnama.focus();

alertnama.style.visibility = "visible";

return false;

}

else if (txthp.value == '')

{

alertnama.style.visibility = "hidden";

txthp.focus();

alerthp.style.visibility = "visible";

return false;

}

else if (txtusername.value == '')

{

alerthp.style.visibility = "hidden";

txtusername.focus();

alertuser.style.visibility = "visible";

return false;

}

Page 122: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxii

else if (txtpassword.value == '')

{

alertuser.style.visibility = "hidden";

txtpassword.focus();

alertpassword.style.visibility = "visible";

return false;

}

else if (txtcpassword.value != txtpassword.value)

{

alertpassword.style.visibility = "hidden";

txtcpassword.focus();

alertcpassword.style.visibility = "visible";

return false;

}

else

{

alertcpassword.style.visibility = "hidden";

return true;

}

}

</script>

</head>

<body onLoad='start();'>

<center>

<p class="judul" align="center" ><img src="image/user.jpg"

width="50px" height="50px" >Pendaftaran Akun Baru</p>

<form name = "fdaftar" action = "act_daftar.php" method =

"POST" target="iframe_tujuan">

<fieldset>

<legend>Silahkan isi form di bawah ini dengan benar!</legend>

<table>

<tr>

<td class="form" align="right" width="300px">Nama :</td>

<td align = "left" width="100px">

<input type = "text" name= "txtnama" id= "txtnama" size = "40"

maxlength = 20 >

</td>

<td><label id="alertnama" class="alertdiisi">*harap

diisi</label></td>

</tr>

<tr>

<td class="form" align="right">Alamat :</td>

<td align = "left">

<input type = "text" name= "txtalamat" size = "40" maxlength =

100 >

</td>

</tr>

<tr>

<td class="form" align="right">No. Handphone :</td>

<td align = "left">

<input type = "text" name= "txthp" id= "txthp" size = "40"

maxlength = 15 >

</td>

<td><label id="alerthp" class="alertdiisi">*harap

diisi</label></td>

</tr>

Page 123: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxiii

<tr>

<td class="form" align="right">Username :</td>

<td align = "left">

<input type = "text" name= "txtusername" id= "txtusername" size =

"40" maxlength = 100 >

</td>

<td><label id="alertuser" class="alertdiisi">*harap

diisi</label></td>

</tr>

<tr>

<td class="form" align="right">Password :</td>

<td align = "left" colspan="2">

<input type = "password" name= "txtpassword" id= "txtpassword"

size = "40" maxlength = 8 >

</td>

<td><label id="alertpassword" class="alertdiisi">*harap

diisi</label></td>

</tr>

<tr>

<td class="form" align="right">Ulang Password :</td>

<td align = "left" colspan="2">

<input type = "password" name= "txtcpassword" id= "txtcpassword"

size = "40" maxlength = 8 >

</td>

<td><label id="alertcpassword" class="alertdiisi">*harap diisi

sama dengan kolom password</label></td>

</tr>

</table>

</fieldset>

<fieldset id="kumbutton">

<table>

<td><input type ="submit" value ="Daftar" name="btndaftar"

onClick='return cekvalidasi();'></a></td>

<td><input type ="reset" value ="Reset" name ="btnreset" ></td>

</table>

</fieldset>

</form>

<p>* Setelah klik daftar, akan ada sms pemberitahuan ke nomor

handphone yang diisi.</p>

<p> Isi sms seperti di bawah ini:</p>

<p> Terima kasih telah mendaftar di pulsaonline.com, aktivasi

akun anda dengan kode XXXXXX di website pulsaonline.com.</p>

<P> Setelah aktivasi maka akan dapat login untuk memulai

transaksi atau tambah saldo.</p>

</center>

</body>

</html>

i. Form_login.php

<html>

<head>

<title>Aplikasi Pengisian Pulsa Online</title>

<link rel="icon" href="image/app.png" type="image/x-png" />

Page 124: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxiv

<link rel="shortcut icon" href="image/app.ico" type="image/x-

icon" />

<link rel="stylesheet" href="css/index.css" type="text/css">

<script type="text/javascript" >

function start() {

document.getElementById("txtusername").focus();

document.getElementById("alertuser").style.visibility = "hidden";

document.getElementById("alertpassword").style.visibility =

"hidden";

}

function validasi() {

if (txtusername.value == '')

{

txtusername.focus();

alertuser.style.visibility = "visible";

return false;

}

else

{

alertuser.style.visibility = "hidden";

txtpassword.focus();

}

if (txtpassword.value == '')

{

txtpassword.focus();

alertpassword.style.visibility = "visible";

return false;

}

else

{

alertpassword.style.visibility = "hidden";

return true;

}

}

</script>

</head>

<body onLoad=start();>

<center>

<form name="f_login" action="login.php" method="POST">

<fieldset>

<legend align="top">Log in <img src="image/help.png" width="14"

height="14" title="Masukkan username dan password anda!"

/></legend>

<table>

<tr>

<td><pre> </pre></td>

<td><label>Username</label></td>

<td><input type="text" id="txtusername" name="txtusername"

size="19" ></td>

<td><label id="alertuser" class="alertdiisi">*harap

diisi</label></td>

</tr>

<tr>

<td><pre> </pre></td>

<td><label>Password</label></td>

<td><input type="password" id="txtpassword" name="txtpassword"

size="19" ></td>

<td><label id="alertpassword" class="alertdiisi">*harap

diisi</label></td>

Page 125: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxv

</tr>

</table>

</fieldset>

<fieldset id="login_btngo">

<input type="submit" value="Go" name="btngo" onclick="return

validasi();">

</fieldset>

</form>

</center>

</body>

</html>

j. Homescreen.php

<?php

include 'ceksesi.php';

?>

<html>

<head>

<title>Home screen</title>

<link rel="stylesheet" href="css/homescreen.css" type="text/css">

<link rel="icon" href="image/app.ico" type="image/x-icon" />

<link rel="shortcut icon" href="image/app.ico" type="image/x-

icon" />

<script type="text/javascript" >

function tutupwindow() {

window.unload();

}

</script>

</head>

<body>

<div class="hs">

<div class="hsHeader">Selamat datang di Pulsa Online,

<?php

$user = $_SESSION['username'];

echo"$user";

?>!</div>

<div>Saldo pulsa anda saat ini adalah Rp. 0,-</div>

<div>Anda memiliki 0 pesan yang belum dibaca</div>

<div>Silahkan pilih menu transaksi untuk pengisian pulsa atau

penambahan saldo. </div>

<div>Terima kasih.</div>

<div><hr></div>

</div>

<div class="hs">

<div class="hsHeader">Akun Saya</div>

<div class="hsItem1"><a href="akun.php"

target="iframe_tujuan"><img src="image/user.jpg"

border=0></a></div><div class="hsName1">Ubah Data Pribadi</div>

<div class="hsItem2"><a href="logout.php" target="iframe_tujuan"

><img src="image/printer.png" border=0></a></div><div

class="hsName2">Pesan</div>

<div class="hsItem3"><a href="logout.php" target="iframe_tujuan"

><img src="image/logout.gif" border=0></a></div><div

class="hsName3">Logout</div>

</div>

<div class="hs">

<div class="hsHeader">Transaksi</div>

Page 126: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxvi

<div class="hsItem1"><a href="user.php" target="iframe_tujuan"

><img src="image/saldo.jpg" border=0></a></div><div

class="hsName1">Tambah saldo</div>

<div class="hsItem2"><a href="supplier.php" target="iframe_tujuan"

><img src="image/supplier.png" border=0></a></div><div

class="hsName2">Pengisian pulsa</div>

<div class="hsItem3"><a href="unitkerja.php"

target="iframe_tujuan" ><img src="image/report.jpg"

border=0></a></div><div class="hsName3">Log pengisian pulsa</div>

<div class="hsItem4"><a href="unitkerja.php"

target="iframe_tujuan" ><img src="image/help.png"

border=0></a></div><div class="hsName4">Daftar Harga</div>

<div class="hsItem5"><a href="unitkerja.php"

target="iframe_tujuan" ><img src="image/help.png"

border=0></a></div><div class="hsName5">Lapor ke admin</div>

</div>

</body>

</html>

k. Index.php

<html>

<head>

<title>Aplikasi Pengisian Pulsa Online</title>

<link rel="icon" href="image/app.ico" type="image/x-icon" />

<link rel="shortcut icon" href="image/app.ico" type="image/x-

icon" />

<link rel="stylesheet" href="css/index.css" type="text/css">

<body>

<!-- Login form -->

<center>

<img src="image/app.png" id="Logo" name="Logo" border="0" />

<h2>Selamat Datang !</h2>

<h1>di PulsaOnline.com</h1>

<?php

include 'form_login.php'; //kenapa formnya dipisah? Nanti akan

berguna ketika user logout

?>

<p>Belum terdaftar? Daftar <a

href="pendaftaran.php">disini</a></p>

<p>Copyright &copy 2012 Karim untuk Konter Nurfa Cell. All rights

reserved.</p>

</center>

</body>

</html>

l. Koneksi.php

<?php

$koneksi=mysql_connect('localhost','root','');

if (!$koneksi)

{

die('Koneksi gagal' . mysql_error());

}

?>

Page 127: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxvii

m. Login.php

<?php

session_start();

include 'koneksi.php';

mysql_select_db('pulsaonline');

$user = $_POST['txtusername']; //menangkap data yang dikirim

barang.php dengan method yang sama yaitu POST

$pw = $_POST['txtpassword'];

$q_login = mysql_query("select * from user where

username='".$user."' and password='".$pw."'");

$datalogin = mysql_fetch_array($q_login);

if($datalogin['username'] == $user and $datalogin['password'] ==

$pw )

{

$_SESSION['username'] = $user; //buat sesi baru

$_SESSION['password'] = $pw;

if($user=='admin')

{

?>

<script type="text/javascript" >

location.href = 'admin/admin.php'; //kalo admin buka file

admin.php

</script>

<?php

}

else

{

?>

<script type="text/javascript" >

location.href = 'main.php'; //kalo bukan admin buka main.php

</script>

<?php

}

}

else

{

//penanganan error

$error ="";

if(empty($user) and empty($pw)){

$error ="<b>Username</b> dan <b>Password</b> kosong";

} else if(empty($user)) {

$error ="<b>Username</b> kosong";

} else if(empty($pw)) {

$error ="<b>Password</b> kosong";

} else {

$error ="<b>Username</b> dan <b>Password</b> tidak sesuai";

}

echo "<center>";

echo "<h3>Login Gagal</h3><p>$error. <br /><a

href='index.php'>Kembali</a><p>";

echo "</center>";

}

?>

Page 128: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxviii

n. Logout.php

<html>

<head>

<script type="text/javascript">

function breakout()

{

if (confirm ('Apakah anda yakin akan keluar dari aplikasi ?'))

//konfirmasi user akan logout

{

if (window.top!=window.self) //jika bukan di top window

{

location.href = 'logout_confirmed.php'; //Kalo user setuju logout

maka akan logout

window.top.location="index.php"; //Membuat file index.php diload

kembali di top window

}

else

{

location.href = 'homescreen.php'; //kalo ga setuju/cancel akan

kembali ke aplikasi

}

}

}

</script>

</head>

<body onload='breakout();' >

</body>

</html>

o. Main.php

<?php

include 'ceksesi.php';

?>

<html>

<head>

<title>Pengisian Pulsa Online.com</title>

<link rel="stylesheet" href="css/main.css" type="text/css">

<link rel="icon" href="image/app.ico" type="image/x-icon" />

<link rel="shortcut icon" href="image/app.ico" type="image/x-

icon" />

<script type="text/javascript" >

function mulai()

{

iframe_tujuan.location.href = "homescreen.php"; //Load suatu URL

secara otomatis untuk ditempatkan di frame atau windows tertentu

}

</script>

</head>

<body onload='mulai();' id="body_tujuan" >

<center>

<!-- Buat kotak list aksesoris -->

<div class="list"></div>

<!-- Bagian Header:judul, tagline -->

Page 129: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxix

<div id="head">

<div id="divlogo"><img src="image/app.png" id="Logo"

name="Logo"></div>

<div id="namasitus">Pulsa Online Dot Com</div>

</div>

<!-- Bagian menu (Drop down) -->

<div id="menu">

<ul id="nav">

<li><span><a href="homescreen.php"

target="iframe_tujuan">Beranda</a></span>

</li>

<li><span>Akun Saya</span>

<ul>

<li><input type="button" value="Ubah profil"

class="tombolmenu" onclick="javascript:iframe_tujuan.location.href

='akun.php';" /></li>

<li><input type="button" value="Logout"

class="tombolmenu" onclick="javascript:iframe_tujuan.location.href

= 'logout.php';"></li>

</ul>

</li>

<li><span>Transaksi</span>

<ul>

<li><input type="button" value="Tambah Saldo"

class="tombolmenu" onclick="javascript:iframe_tujuan.location.href

= 'tambah_saldo.php';" /> </li>

<li><input type="button" value="Isi Pulsa"

class="tombolmenu" onclick="javascript:iframe_tujuan.location.href

= 'isi_pulsa.php';" /></li>

<li><hr></li>

<li><input type="button" value="Laporan

Transaksi" class="tombolmenu"

onclick="javascript:iframe_tujuan.location.href =

'lap_transaksi.php';" /> </li>

</ul>

</li>

</div>

<!-- Badan situs -->

<div id="body">

<p>

<iframe name="iframe_tujuan" id="iframe_tujuan" >ini

iframe</iframe>

</p>

</div>

<div class="list"></div>

<!-- Footnote. Menampilkan copyright -->

<div id="footnote">Copyright &copy 2012 Karim untuk Konter Nurfa

Cell. All Rights Reserved.</div>

</center>

</div>

</body>

</html>

Page 130: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxx

p. Act_isipulsa.php

<?php

include 'ceksesi.php';

include 'koneksi.php';

mysql_select_db('pulsaonline');

$nodef = "082112555393";

$pindef = "8899";

$creatorid = $_SESSION["username"];

$no_tujuan = $_POST["txtnotujuan"];

$operator = $_POST["soperator"];

$nominal = $_POST["nominal"];

$realnominal;

switch($nominal)

{

case 5 : $realnominal = "5000";

break;

case 10 : $realnominal = "10000";

break;

case 20 : $realnominal = "20000";

break;

case 25 : $realnominal = "25000";

break;

case 50 : $realnominal = "50000";

break;

case 100 : $realnominal = "100000";

}

$selectquery = mysql_query("select saldo.id,saldo.saldo from

saldo,anggota where saldo.id=anggota.id and

anggota.username='".$creatorid."'");

$dtsaldo=mysql_fetch_array($selectquery);

if($dtsaldo["saldo"] < $realnominal)

{

echo "<center>Maaf saldo anda saat ini Rp.$dtsaldo[saldo],-

,transaksi dibatalkan !";

}

else

{

Page 131: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxxi

if($insertquery = mysql_query("insert into

outbox(TextDecoded,DestinationNumber,CreatorID)

values('$operator$nominal.$no_tujuan.$pindef','$nodef','$creatorid

')"))

{

echo "<center>Pulsa telah dikirim ke nomor $no_tujuan</center>";

$saldoakhir = $dtsaldo["saldo"] - $realnominal;

$updatequery = mysql_query("update saldo set saldo = $saldoakhir

where id='".$dtsaldo['id']."'");

}

else

{

echo "Gagal terkirim";

}

require("isipulsa.php");

}

?>

Page 132: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxxii

LAMPIRAN 2

QUERY DATABASE

CREATE TABLE IF NOT EXISTS `anggota` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`nama` varchar(50) NOT NULL,

`alamat` varchar(100) NOT NULL,

`hp` varchar(15) NOT NULL,

`username` varchar(20) NOT NULL,

`password` varchar(8) NOT NULL,

`aktivasi` varchar(20) NOT NULL,

`flag_aktivasi` enum('belum_aktif','aktif') NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

-- Table structure for table `daemons`

--

CREATE TABLE IF NOT EXISTS `daemons` (

`Start` text NOT NULL,

`Info` text NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- Table structure for table `gammu`

--

CREATE TABLE IF NOT EXISTS `gammu` (

`Version` int(11) NOT NULL DEFAULT '0'

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--

-- Dumping data for table `gammu`

--

INSERT INTO `gammu` (`Version`) VALUES

(12);

-- --------------------------------------------------------

--

-- Table structure for table `inbox`

--

CREATE TABLE IF NOT EXISTS `inbox` (

`UpdatedInDB` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON

UPDATE CURRENT_TIMESTAMP,

`ReceivingDateTime` timestamp NOT NULL DEFAULT '0000-00-00

00:00:00',

`Text` text NOT NULL,

`SenderNumber` varchar(20) NOT NULL DEFAULT '',

`Coding`

enum('Default_No_Compression','Unicode_No_Compression','8bit','Defaul

t_Compression','Unicode_Compression') NOT NULL DEFAULT

'Default_No_Compression',

`UDH` text NOT NULL,

`SMSCNumber` varchar(20) NOT NULL DEFAULT '',

`Class` int(11) NOT NULL DEFAULT '-1',

Page 133: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxxiii

`TextDecoded` text NOT NULL,

`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,

`RecipientID` text NOT NULL,

`Processed` enum('false','true') NOT NULL DEFAULT 'false',

PRIMARY KEY (`ID`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--

-- Dumping data for table `inbox`

--

--

-- Triggers `inbox`

--

DROP TRIGGER IF EXISTS `inbox_timestamp`;

DELIMITER //

CREATE TRIGGER `inbox_timestamp` BEFORE INSERT ON `inbox`

FOR EACH ROW BEGIN

IF NEW.ReceivingDateTime = '0000-00-00 00:00:00' THEN

SET NEW.ReceivingDateTime = CURRENT_TIMESTAMP();

END IF;

END

//

DELIMITER ;

-- --------------------------------------------------------

--

-- Table structure for table `outbox`

--

CREATE TABLE IF NOT EXISTS `outbox` (

`UpdatedInDB` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON

UPDATE CURRENT_TIMESTAMP,

`InsertIntoDB` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

`SendingDateTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

`Text` text,

`DestinationNumber` varchar(20) NOT NULL DEFAULT '',

`Coding`

enum('Default_No_Compression','Unicode_No_Compression','8bit','Defaul

t_Compression','Unicode_Compression') NOT NULL DEFAULT

'Default_No_Compression',

`UDH` text,

`Class` int(11) DEFAULT '-1',

`TextDecoded` text NOT NULL,

`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,

`MultiPart` enum('false','true') DEFAULT 'false',

`RelativeValidity` int(11) DEFAULT '-1',

`SenderID` varchar(255) DEFAULT NULL,

`SendingTimeOut` timestamp NULL DEFAULT '0000-00-00 00:00:00',

`DeliveryReport` enum('default','yes','no') DEFAULT 'default',

`CreatorID` text NOT NULL,

PRIMARY KEY (`ID`),

KEY `outbox_date` (`SendingDateTime`,`SendingTimeOut`),

KEY `outbox_sender` (`SenderID`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ;

--

-- Triggers `outbox`

--

DROP TRIGGER IF EXISTS `outbox_timestamp`;

DELIMITER //

Page 134: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxxiv

CREATE TRIGGER `outbox_timestamp` BEFORE INSERT ON `outbox`

FOR EACH ROW BEGIN

IF NEW.InsertIntoDB = '0000-00-00 00:00:00' THEN

SET NEW.InsertIntoDB = CURRENT_TIMESTAMP();

END IF;

IF NEW.SendingDateTime = '0000-00-00 00:00:00' THEN

SET NEW.SendingDateTime = CURRENT_TIMESTAMP();

END IF;

IF NEW.SendingTimeOut = '0000-00-00 00:00:00' THEN

SET NEW.SendingTimeOut = CURRENT_TIMESTAMP();

END IF;

END

//

DELIMITER ;

-- --------------------------------------------------------

--

-- Table structure for table `outbox_multipart`

--

CREATE TABLE IF NOT EXISTS `outbox_multipart` (

`Text` text,

`Coding`

enum('Default_No_Compression','Unicode_No_Compression','8bit','Defaul

t_Compression','Unicode_Compression') NOT NULL DEFAULT

'Default_No_Compression',

`UDH` text,

`Class` int(11) DEFAULT '-1',

`TextDecoded` text,

`ID` int(10) unsigned NOT NULL DEFAULT '0',

`SequencePosition` int(11) NOT NULL DEFAULT '1',

PRIMARY KEY (`ID`,`SequencePosition`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--

-- Dumping data for table `outbox_multipart`

--

-- --------------------------------------------------------

--

-- Table structure for table `pbk`

--

CREATE TABLE IF NOT EXISTS `pbk` (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`GroupID` int(11) NOT NULL DEFAULT '-1',

`Name` text NOT NULL,

`Number` text NOT NULL,

PRIMARY KEY (`ID`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--

-- Dumping data for table `pbk`

--

-- --------------------------------------------------------

--

-- Table structure for table `pbk_groups`

Page 135: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxxv

--

CREATE TABLE IF NOT EXISTS `pbk_groups` (

`Name` text NOT NULL,

`ID` int(11) NOT NULL AUTO_INCREMENT,

PRIMARY KEY (`ID`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--

-- Dumping data for table `pbk_groups`

--

-- --------------------------------------------------------

--

-- Table structure for table `phones`

--

CREATE TABLE IF NOT EXISTS `phones` (

`ID` text NOT NULL,

`UpdatedInDB` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON

UPDATE CURRENT_TIMESTAMP,

`InsertIntoDB` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

`TimeOut` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

`Send` enum('yes','no') NOT NULL DEFAULT 'no',

`Receive` enum('yes','no') NOT NULL DEFAULT 'no',

`IMEI` varchar(35) NOT NULL,

`Client` text NOT NULL,

`Battery` int(11) NOT NULL DEFAULT '0',

`Signal` int(11) NOT NULL DEFAULT '0',

`Sent` int(11) NOT NULL DEFAULT '0',

`Received` int(11) NOT NULL DEFAULT '0',

PRIMARY KEY (`IMEI`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--

-- Dumping data for table `phones`

--

--

-- Triggers `phones`

--

DROP TRIGGER IF EXISTS `phones_timestamp`;

DELIMITER //

CREATE TRIGGER `phones_timestamp` BEFORE INSERT ON `phones`

FOR EACH ROW BEGIN

IF NEW.InsertIntoDB = '0000-00-00 00:00:00' THEN

SET NEW.InsertIntoDB = CURRENT_TIMESTAMP();

END IF;

IF NEW.TimeOut = '0000-00-00 00:00:00' THEN

SET NEW.TimeOut = CURRENT_TIMESTAMP();

END IF;

END

//

DELIMITER ;

-- --------------------------------------------------------

--

-- Table structure for table `sentitems`

--

Page 136: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxxvi

CREATE TABLE IF NOT EXISTS `sentitems` (

`UpdatedInDB` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON

UPDATE CURRENT_TIMESTAMP,

`InsertIntoDB` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

`SendingDateTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',

`DeliveryDateTime` timestamp NULL DEFAULT NULL,

`Text` text NOT NULL,

`DestinationNumber` varchar(20) NOT NULL DEFAULT '',

`Coding`

enum('Default_No_Compression','Unicode_No_Compression','8bit','Defaul

t_Compression','Unicode_Compression') NOT NULL DEFAULT

'Default_No_Compression',

`UDH` text NOT NULL,

`SMSCNumber` varchar(20) NOT NULL DEFAULT '',

`Class` int(11) NOT NULL DEFAULT '-1',

`TextDecoded` text NOT NULL,

`ID` int(10) unsigned NOT NULL DEFAULT '0',

`SenderID` varchar(255) NOT NULL,

`SequencePosition` int(11) NOT NULL DEFAULT '1',

`Status`

enum('SendingOK','SendingOKNoReport','SendingError','DeliveryOK','Del

iveryFailed','DeliveryPending','DeliveryUnknown','Error') NOT NULL

DEFAULT 'SendingOK',

`StatusError` int(11) NOT NULL DEFAULT '-1',

`TPMR` int(11) NOT NULL DEFAULT '-1',

`RelativeValidity` int(11) NOT NULL DEFAULT '-1',

`CreatorID` text NOT NULL,

PRIMARY KEY (`ID`,`SequencePosition`),

KEY `sentitems_date` (`DeliveryDateTime`),

KEY `sentitems_tpmr` (`TPMR`),

KEY `sentitems_dest` (`DestinationNumber`),

KEY `sentitems_sender` (`SenderID`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Page 137: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxxvii

LAMPIRAN 3

DOKUMENTASI PROGRAM

1. Aktifkan service MySQL pada XAMPP

Gambar 6.1 Service MySQL Dijalankan

2. Jalankan program browser (ketikkan address : http://localhost/pulsaonline)

Gambar 6.2 Masukkan Address localhost di Browser

3. Klik disini dibawah form login

Page 138: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxxviii

Gambar 6.3 Tahapan Awal Pendaftaran

4. Masukkan data yang kolomnya sudah tersedia, klik daftar

Gambar 6.4 Form Pendaftaran

5. Masukkan kode aktifasi setelah menerima sms yang isinya kode aktifasi

Gambar 6.5 Memasukkan Kode Aktifasi

6. Jika berhasil, klik login, Masukkan username dan password yang didaftarkan

Gambar 6.6 Tampilan User Aktif, User Dapat Melakukan Login

Page 139: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xxxix

7. Masuk ke halaman utama, pilih pengisian pulsa, sebelumnya saldo

ditambahkan dengan mentransfer saldo ke rekening admin

Gambar 6.7 Halaman Utama User

8. Masukkan data sesuai dengan kolom yang tersedia

Gambar 6.8 Pengisian Pulsa

9. Transaksi selesai

Gambar 6.9 Pulsa Berhasil Dikirim

Page 140: Usk48 Usk48 Abdulkarim 17 1 Skripsi m

xl

BIOGRAFI PENULIS

ABDUL KARIM, anak sulung dari 3

bersaudara. Lahir dari pasangan Endang Bahrudin

dan Yati Casniati. Penulis lahir di Karawang pada

12 September 1990. Penulis memulai

kegemarannya pada ilmu komputer pada saat kelas

2 SMP. Saat itu ia pernah kursus di Lembaga

Pendidikan Komputer (LPK) selama 2 bulan.

Penulis memiliki cita-cita menjadi programmer

yang bisa berguna di kehidupan bermasyarakat.

Sebelum memasuki bangku kuliah di Universitas Singaperbangsa

Karawang, penulis pernah mengenyam pendidikan di Sekolah Dasar Anggadita 1

(1996-2002), Sekolah Menengah Pertama 1 Klari (2002-2005), Sekolah

Menengah Atas 5 Karawang (2005-2008).

Selain bangku pendidikan, penulis juga memiliki pengalaman pekerjaan

yaitu di Lembaga Pemerintahan Badan Pusat Statistik Kabupaten Karawang

(2008-2010) sebagai honorer staff entry penduduk Indonesia. Pada tahun 2010,

penulis pindah bekerja di PT. Yulifadatex sebagai staff administrasi. Pada tahun

2011, penulis pernah bekerja di PT. Bhineka Karya Manunggal sebagai staff

administrasi. Terakhir sampai sekarang penulis pindah bekerja di PT. Pupuk

Kujang.