## SISTEM INFORMASI PELAYANAN TAGIHAN REKENING DAN PENGADUAN PELANGGAN BERBASIS SMS GATEWAY DI PDAM KOTA TEGAL
Aang Alim Murtopo Program Studi Teknik Informatika STMIK YMI Tegal Email: aang.alim@gmail.com
Devi Cici Angesti Program Studi Teknik Informatika STMIK YMI Tegal Email: dev.cici@gmail.com

## ABSTRAK
Perusahaan Daerah Air Minum (PDAM) Kota Tegal merupakan perusahaan daerah (Perusda) yang bergerak melayani dan mendistribusikan kebutuhan air bersih di wilayah kota tegal sesuai Keputusan Menteri Pendayagunaan Aparatur Negara Nomor: KEP/25/M.PAN/2/2004 menjelaskan bahwa pelayanan publik adalah segala kegiatan yang dilaksanakan oleh penyelenggara pelayanan publik sebagai upaya pemenuhan kebutuhan  penerima pelayanan, maupun dalam rangka pelaksanaan ketentuan peraturan perundang-undangan[1]. Permasalahan yang dihadapi adalah untuk mengetahui tagihan rekening pemakaian air dan jika ada pengaduan (komplain) pelanggan harus datang langsung kekantor PDAM ataupun melalui telepon, antrian yang terjadi, jarak yang jauh atau biaya telepon menjadi kendala utamanya. Selain itu proses yang begitu rumit menjadi tidak efektif dan efisien karena akan memakan waktu yang relatif lama.Metode perancangan dalam penelitian ini menggunakan SDLC ( System Development Life Cycle) waterfall model. Tahapan–tahapan  pada metode waterfall model  adalah Analisis,  Desain, Implementasi,  Testing,  Maintenance, dari analisis diperoleh hasil dengan ditemukannya kebutuhan-kebutuhan yang diperlukan untuk perangkat lunak yang dibangun.Analisis dilakukan dengan menganalisa kebutuhan sistem user dan fasilitas yang dibutuhkan oleh perangkat lunak. Berdasarkan hasil analisis, maka dirancanglah sebuah perangkat lunak yang dapat menangani tagihan rekening pemakaian air, dan pengaduan konsumen berbasis SMS Gateway. Perangkat lunak ini dapat meningkatkan kinerja dari tiap bagian, dan informasi yang dibutuhkan masing-masing bagian dihasilkan secara tepat, cepat dan akurat.Sehingga bisa menunjang kelancaran kegiatan pengolahan data pada PDAM Kota Tegal.Sistem yang dibangun ini mempunyai kelebihan kemudahan dan juga kecepatannya.Sehingga pihak PDAM bisa mengirimkan informasi kepada pelanggan tentang informasi tagihan rekening pemakaian air sebelum tanggal jatuh tempo agarpelanggan dapat menerima informasi tepat waktu dan pelanggan menjadi tidak terlambat dalam membayar tagihan.
Kata kunci: SMS gateway , PDAM kota tegal, pengaduan, message center, SDLC.

## ABSTRACT
Perusahaan Daerah Air Minum (PDAM) Kota Tegal is a regional company (Perusda) which is engaged in serving and distributing clean water needs in city areas according to Minister of Administrative Reform Decree No. KEP / 25 / M.PAN / 2/2004 explains that public service is any activity undertaken by public service providers as an effort to meet the needs of recipients of services, as well as in the implementation of the provisions of legislation [1]. The problem faced is to know the bill of water usage account and if there is a complaint (complaint) the customer must come directly to PDAM office or by phone, queue that happened, long distance or phone cost become the main constraint. In addition, the process is so complicated to be ineffective and efficient because it will take a relatively long time. Design method in this research using SDLC (System Development Life Cycle) waterfall model. Stages in the method of waterfall model is Analysis, Design, Implementation, Testing, Maintenance, from the analysis obtained results with the discovery of the necessary requirements for software built. Analysis is done by analyzing the needs of user systems and facilities required by the software. Based on the results of the analysis, a software designed to handle bill accounts of water consumption, and complaints of consumers based SMS Gateway. This software can improve the performance of each part, and the information required of each section is produced precisely, quickly and accurately. So that it can support the smoothness of data processing activities at PDAM Kota Tegal. The built system has advantages and
speed. So the PDAM can send the information to the customer about the account information of water usage before maturity date so that the customer can receive the information on time and the customer becomes not late in paying the bill.
Keywords: SMS gateway, PDAM kota tegal, complaints, message center, SDLC.

## 1. PENDAHULUAN
Perusahaan Daerah Air Minum (PDAM) Kota Tegal merupakan perusahaan daerah (Perusda) yang bergerak melayani dan mendistribusikan kebutuhan air bersih di wilayah kota tegal. Sesuai Keputusan Menteri Pendayagunaan Aparatur Negara Nomor: KEP/25/M.PAN/2/2004 menjelaskan bahwa pelayanan publik adalah segala kegiatan yang dilaksanakan oleh penyelenggara pelayanan publik sebagai upaya pemenuhan kebutuhan  penerima pelayanan, maupun dalam rangka pelaksanaan ketentuan peraturan perundang-undangan[1]. Selama ini permasalahan yang dihadapi adalah untuk mengetahui tagihan rekening pemakaian air dan jika ada pengaduan (komplain) pelanggan harus datang langsung kekantor PDAM ataupun melalui telepon, antrian yang terjadi, jarak yang jauh atau biaya telepon menjadi kendala utamanya. Selain itu proses yang begitu rumit menjadi tidak efektif dan efisien karena akan memakan waktu yang relatif lama.
Teknologi telepon seluler yang dapat memudahkan seseorang berkomunikasi dengan orang lain dimanapun berada. Salah satu fasilitas dari telepon seluler yang banyak dipakai saat ini adalah Short Message Service yang disingkat SMS. Komunikasi melalui SMS banyak digunakan oleh masyarakat karena cara penggunaannya yang sangat sederhana dan mudah disbanding dengan sistem komunikasi lainnya[2]. Teknologi telepon seluler memasuki Indonesia dan pasar pengguna telepon selular meningkat drastis, maka mulailah dikembangkan pemanfaatan teknologi pada telepon seluler.
Seperti kita ketahuiSMSmerupakan sebuah layanan dasar telekomunikasi seluler yang tersediauntuk jaringan GSM maupun CDMA. Sebagai layanan dasar SMS dapat  di  gunakan di semua jenis handphone [3], perkembangan sistem teknologi informasi tentu saja masalah yang dihadapi pelanggan tersebut dapat diatasi. Salah satu cara adalah penggunaan layanan berupa mobile application , yaitu SMS . SMS sudah menjadi kebutuhan sehari-hari dan akrab dengan setiap  orang,  dikarenakan  kemudahan  dan juga  kecepatannya.  Sehingga  dapat digunakan oleh pihak PDAM untuk mengirimkan informasi kepada pelanggan terutama tentang informasi tagihan rekening pemakaian air sebelum tanggal jatuh tempo agar pelanggan dapat menerima informasi tepat waktu dan tidak terlambat dalam membayar tagihan. Informasi tersebut dikirim secara otomatis oleh PDAM lewat layanan SMSgateway. Selain itu layanan SMSsebagai pelayanan pengaduan (komplain) tanpa harus datang langsung kekantor PDAM dan membuang waktu lama untuk mengantri. Melihat pentingnya sistem pelayanan terhadap pelanggan serta untuk menunjang kinerja PDAM agar lebih baik dan memuaskan maka dalam penelitian ini menekanankan pada Sistem Informasi Pelayanan Tagihan Rekening dan Pengaduan Pelanggan Berbasis SMS Gateway di PDAM Kota Tegal.

## 2. METODOLOGI PENELITIAN

## 2.1 Metode Pengumpulan Data
Dalam penelitian ini metode peneltian bersifat kualitatif, Penelitian kualitatif disebut juga penelitian natural karena data pada penelitian ini bersifat alami atau natural. Peneliti sebagai alat penelitian yang artinya peneliti sebagai alat utama pengumpulan data yang dilakukan dengan teknik sebagai berikut[4]:

## 2.1.1 Metode Wawancara (Interview)
Metode wawancara metode yang dilakukan dengan cara bertanya langsung kepada Manager dan bagian unit pelayanan langganan PDAM Kota Tegal dengan tujuan untuk mengetahui proses keluhan pelanggan.

## 2.1.2 Metode Pengamatan
Metode pengamatan metode yang dilakukan dengan mengadakan penelitian dengan cara pengamatan langsung pada bagian pelayanan langganan PDAM Kota Tegal dan mencatat hal–hal yang dianggap penting untuk mendapatkan informasi keluhan pelanggan.

## 2.1.3 Metode Kepustakaan
Metode kepustakaan metode yang dilakukan dengan mempelajari buku–buku dan jurnal penelitian yang telah dilakukan berkaitan dengan permasalahan yang akan dituangkan dalam penyusunan laporan ini.

## 2.2 Metode Perancangan
Metode  pengembangan  yang  dilakukan adalah  dengan  metode  SDLC ( System Development Life Cycle ) waterfall model. Tahapan–tahapan  pada metode waterfall model  adalah  Analisis,  Desain, Implementasi,  Testing,  Maintenance [5]. Metode SDLC waterfall model digambarkan pada gambar 1 sebagai berikut:
Gambar 1. SDLC Waterfall Model

## 3. HASIL DAN PEMBAHASAN
3.1 Rancangan Basis Data Dengan Menggunakan Entity Relationship Diagram (ERD)
Tahap ini digunakan untuk mengetahui relasi anata entitas dalam sistem yang di buat seperti yang terlihat di gambar 1 dibawah ini, ada 6 entitas tblpelanggan, tblpembayaran, tbltagihan, tblphonebook, tblpngaduhan dan tbluser. Dari setiap entitas yang ada saling terelasi satu sama lain adapaun Kardinalitas Relasi yang terbentuk antara lain:tblpelanggan ke tbltagihan one to many, tblpelanggan dengan tblphonebook One to one, tbltagihan dengan tblpembayaran one to one, tbltagihan dengan tbluser many to one, Tblphonebook ke tblpengaduan One to many. ERD tergambar pada gambar 2.
Gambar 2. ERD Sistem Informasi Pelayanan Tagihan Rekening Dan Pengaduan Pelanggan Berbasis SMS Gateway Di PDAM Kota Tegal

## 3.2 Rancangan Proses Dengan Menggunakan Data Flow Diagram (DFD)

## 3.2.1 Diagram Konteks
Dalam diagram kontek ini terdiri dari 5 entitas anatara lain entitas pelanggan dimana entitas ini yang memalukan proses sms_request_info tagihan dan sms_pengaduan, entias admin entitas ini yang melakukan input data_use dan data_pelanggan, entitas keuangan intitas yang melakukan proses data_tagihan_bank, entitas kasir pengolahan data_tagihan_manual dan entitas direktur entitas ini adalah penerima semua laporan kegiatan dari proses entitas yang telah disebutkan, hasil dari proses tersebut adalah lap_pengaduan_pelanggan dan lap_pembayaran. Proses pembuatan diagram konteks tergambar pada gambar 3.

## Gambar 3. Diagram Konteks

## 3.2.2 Diagram Level 1
Dalam diagram lavel 1 tergmbar pada gambar 4, dikembangkan menjadi empat buah proses, antara lain:
a) Proses satu: dalam proses ini dilakukan pengolahan data master dimana admin akan melakukan input data pelanggan, data user dan data phonebook kemudian data dari yang di inputkan akan tersimpan pada Data Store phonebook, pelanggan dan user .
b) Proses dua: proses kelola pesan proses ini dilakukan oleh user atau pelanggan yang nomor telponnya sudah tersimpan dalam phonebook , masing-masing pelanggan memiliki hak pengiriman sms antara lain sms pengaduan, sms info tagihan dari sms tersebut akan tersimpan Data Store pengaduan, hasil dari proses ini pelanggan mendapatkan informasi yang berupa sms replay pengaduan, sms info tagihan dan sms jatuh tempo.
c) Proses tiga: proses ini adalah proses dimana entitas dalam hal ini kasir dan pihak pihak bank melakukan proses transaksi yang antara lain proses pembayaran dan proses tagihan dari proses tersebut akan tersimpan antara lain Data Store pembayaran dan tagihan .
d) Proses 4: proses pembuatan laporan, proses ini adalah proses pengolahan hasil dari masing- masing proses sebelumnya dalam proses ini terbentuk dua laporan anatara lain laporan pembayaran dan laporan pengaduan pelanggan, laporan ini ditujukan untuk direktur. Proses pembuatan laporan ini mengabil data dari Data Store pengaduan, tagihan dan pembayaran.
0 SMSPDAM kasir keuangan pelanggan Direktur admin data_user data_pelanggan data_tagihan_bank data_tagihan_manual sms_request_info_tagihan sms_pengaduan sms_replay_info_tagihan sms_replay_pengaduan
sms_informasi_jatuh_tempo
lap.pengaduan_pelanggan
lap.pembayaran
2 KELOLA PESAN
1 KELOLA DATA MASTER 3 TRANSAKSI 4 LAPORAN admin keuangan kasir pelanggan direktur user pelanggan phonebook pengaduan tagihan pembayaran data pelanggan data phonebook data pembayaran melalui bank data tagihan data pembayaran manual data user pelanggan phonebook user tagihan pembayaran tagihan sms pengaduan sms info tagihan phonebook pengaduan sms reply pengaduan sms reply info tagihan sms jatuh tempo user tagihan pembayaran pengaduan lap. pembayaran lap. pengaduan pelanggan
Gambar 4 . DFD Lavel 1

## 3.3 Rancangan Dialog Layar

## 3.3.1 Struktur Tampilan
Struktur tampilan atau menu dalam sistem terdiri dari menu data master yang memiliki sub menu data pelanggan, data phonebook dan data user, menu sms manager memiliki sub menu autoresponder , kirim sms dan sms pengaduan, menu transaksi terdiri dari sub menu data tagihan dan pembayaran tagihan, menu laporan terdiri dari sub menu laporan data pengaduan dan laporan data tagihan dan menu utility menu ini memiliki sub menu backup dan restore yang diamnfaatkan untuk melakukan backup data aktifitas terakhir dan melakukan pengembalian ke data awal. Berikut diagram menu dalam sistem ini yang dapat dilihat pada gambar 5.
Gambar 5. Menu Sistem

## 3.3.2 Rancangan Dialog Layar
1) Tampilan Login
Login dimanfaatkan sebagai proses masuk kedalam sistem menu utama, login terdiri dari dua atribut input yaitu Username dan Password dan tombol yang dimilik adalah login serta cancel dimana masing-masing tombol memiliki fungsi yang berbeda, login digunakan untuk masuk kedalam sistem setelah mengisi username dan password, sedangan cancel dimanfaatkan jika user membatalkan untuk masuk ke sistem aplikasi tampilan form login bisa diliahat pada gambar 6.

## Gambar 6. Tampilan Dialog Layar
Login
2) Tampilan Menu Utama
Terdiri dari menu data master yang memiliki sub menu data pelanggan, data phonebook dan data user, menu sms manager memiliki sub menu autoresponder , kirim sms dan sms pengaduan, menu transaksi terdiri dari sub menu data tagihan dan pembayaran tagihan, menu laporan terdiri dari sub menu laporan data pengaduan dan laporan data tagihan dan menu utility menu ini memiliki sub menu backup dan restore yang diamnfaatkan untuk melakukan backup data aktifitas terakhir dan melakukan pengembalian ke data awal bentuk visual terdapat pada gambar 7.
Gambar 7. Tampilan Dialog Layar Menu Utama
3) Tampilan Form Pelanggan
Dalam form ini terdiri dari atribut yang bisa di lihat pada gambar 8, form ini merupakan proses awal input data pelanggan yang akan digunakan untuk proses selanjutnya, tombol yang terdapat dalam form antara lain: Add New, Save, Update, Edit, Cancel, Delete, close. Masing-masing tombol tersebut memiliki fungsi yang berbeda-beda tampilan form pelanggan bisa dilihat pada gambar 8.
Gambar 8. Tampilan Dialog Layar Form Pelanggan
4) Tampilan Form Autoresponder Autoresponder meruka salah satu fasilitas penjawab otomatis dimana pelanggan mendapatkan jawaban dari apa yang telah di minta.Proses ini, pelanggan mengirimkan SMS untuk mengetahui informasi tagihan atau jumlah biaya yang harus dibayar oleh pelanggan yang akan direspon secara langsung oleh sistem atau autoresponder, format pengetikan sms untuk mengetahui cek tagihan :CEK#TAGIHAN#PIN, untuk pengaduan masalah teknis KELUHAN#AIR#PIN, dan KELUHAN#LAYANAN#PIN untuk pengaduan masalah layanan. Dalam form ini memiliki tombol Start untuk mungaktifkan autoresponder , stop digunakan untuk menghentikan semua aktifitas autoresponder , system tray digunakan untuk menempatkan autoresponder secara minimize dan exit atau keluar digunakan untuk menutup/ mengakhiri kerja form . Tampilan form autoresponder dapat dilihat pada gambar 9.
Gambar 9. Tampilan Dialog Layar FormAutoresponder
5) Tampilan Form Pembayaran Tagihan
Pengunaan form pembayaran tagihan untuk proses transaksi pembayaran tagihan, dimana pelanggan secara langsung melakukan pembayaran, form ini memilik tombol Add New untuk tambah data, Save untuk menyimpan transaksi pembayaran, Edit sebagai sarana melakukan edit jika ada kesalahan, Cancel digunakan untuk membatalkan transaksi, Delete sebagai sarana menghapus data yang sudah tidak diperlukan serta Close untuk keluar dari aktifitas form .Untuk atribut yang digunakan dalam proses ini bisa dilihat pada gambar 10.
Gambar10. Tampilan Dialog Layar Form Pembayaran Tagihan

## 3.4 Pengujian Perangkat Lunak
Metode yang digunakan dalam melakukan pengujian perankat lunak adalah black box , sample yang diuji dari kode program pada form autoresponder dibawah ini sedangkan grafik alir black box yang dihasilkan dapat dilihat pada gambar 11.
Private Sub Form_Load() Me.Left = Val(Form1.Left) + 3480 Me.Top = Val(Form1.Top) + 1080 Call execCommand(App.Path & "\service.bat") txtstatus.Text = ReadTextFileContents(App.Path & "\service.log") Call CAriService End Sub private Sub Timer7_Timer() rstx.Open "Select * from inbox where processed= 'false' ", con, adOpenDynamic, adLockOptimistic While rstx.EOF = False Text1 = rstx!sendernumber Text2 = rstx!textdecoded Text3 = rstx!ID rstx.MoveNext Wend rstx.Close End Sub
Private Sub auto() Dim splitdata() As String Dim i As Integer On Error GoTo salah splitdata = VBA.Split(Text2, "#") For i = 0 To 4 If i < 5 Then
txtformat(i) = CStr(splitdata(i))
End If Next i Exit Sub End Sub
Private Sub cek() If txtformat(1) <> "" Then rst3.Open "select * from reply where format2 = '" &txtformat(1) & "' and format1 = '" & txtformat(0) & "'", con, adOpenDynamic, adLockOptimistic While rst3.EOF = False Text7 = rst3!id_reply Text8 = rst3!balasan
rst3.MoveNext
Wend rst3.Close End If End Sub
Private Sub Text9_Change() If Text6 = "" Then TXTPESAN = "Maaf PIN yang anda masukan salah, silahkan coba beberapa saat lagi." End If
If Text7 = "" Then TXTPESAN = "Maaf format yang anda kirimkan salah, ketik HELP#SMS untuk panduan"
End If
1
2
3 4 5 6
If Text7 = "D004" Then TXTPESAN = “Ketik CEK#TAGIHAN#PIN untuk cek tagihan anda, Ketik KELUHAN#AIR#PIN untuk pengaduan masalah teknis, Ketik KELUHAN#LAYANAN#PIN untuk pengaduan masalah layanan.” End If rst6.Open "Select * from tblphonebook where no_telp= '" & Text1 & "' ", con, adOpenDynamic, adLockOptimistic If rst6.EOF = True Then TXTPESAN = "Maaf anda belum terdaftar, silahkan hubungi customer service kami." Else txtpb = rst6!id_pb End If rst6.Close If Text7 = "D001" Then rst5.Open " Select * from tblpengaduan", con, adOpenDynamic, adLockOptimistic rst5.AddNew rst5!id_sms = Text3 rst5!id_pb = txtpb rst5!MASALAH = txtformat(1) rst5!pesan = txtformat(3) rst5!tanggal = Format(Now, "yyyy-MM-dd") rst5.Update rst5.Close End If If Text7 <> "" And Text6 <> "" Then Set rst2 = New ADODB.Recordset rst2.Open "Select * from tbltagihan where id_pelanggan= '" & Text6 & "'", con, adOpenDynamic, adLockOptimistic While rst2.EOF = False If Text7 = "D002" Then txtinfo = Format(rst2!tagihan, "##,##") rst2.MoveNext
Else rst2.Close
End If Wend
rst2.Close
End If rst5.Open " Select * from outbox", con, adOpenDynamic, adLockOptimistic rst5.AddNew rst5!destinationnumber = Text1 rst5!textdecoded = TXTPESAN rst5!coding = txtcoding rst5!creatorid = txtcreator rst5.Update rst5.Close Exit Sub End Sub
Private Sub Command4_Click()
Unload Me End Sub
7
8
9 11
12 10
Gambar 11 . Grafik Alir Black Box
Uji coba basis path adalah teknik uji coba black box [6],metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural dan menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan basis set dari jalur pengerjaan. Test case yg didapat digunakan untuk mengerjakan basis set yang menjamin pengerjaan setiap perintah minimal satu kali selama uji coba.
Dari basis test yang dicoba, maka basis path yang dihasilkan 1,2,3,4,5,11,12; 1,2,3,4,6,11,12; 1,2,3,4,7,11,12; 1,2,3,4,8,11,12 ; 1,2,3,4,9,11,12 ; 1,2,3,4,10,11,12 terlihat bahwa sample telah dieksekusi.Keterangan dari basis path yang dihasilkan bisa dilihat pada tabel 1.
Tabel 1. Keterangan basis path No Path Input Output Keterangan 1 1,2,3,4,5,11,12  PIN salah Maaf PIN yang anda masukan salah Percobaan Sesuai 2 1,2,3,4,6,11,12 Format SMS salah Maaf Format SMS salah ketik HELP#SMS untuk bantuan Percobaan Sesuai 3 1,2,3,4,7,11,12  HELP#SMS Reply semua format sms yang tersedia Percobaan Sesuai 4 1,2,3,4,8,11,12 No HP tidak terdaftar Maaf anda belum terdaftar, silahkan hubungi customer service kami Percobaan Sesuai 5 1,2,3,4,9,11,12 KELUHAN#AIR#PIN KELUHAN#LAYANAN# PIN Reply pengaduan masalah teknis Reply pengaduan layanan / kritik & saran Percobaan Sesuai 6 1,2,3,4,10,11,12  CEK#TAGIHAN#PIN Reply jumlah tagihan Percobaan Sesuai

## 4. KESIMPULAN
Sistem SMS gateway ini dapat memberikan kemudahan dan menunjang dalam meningkatkan pelayanan terhadap pelanggan dalam membantu pelanggan PDAM untuk mengakses mengenai jumlah tagihan rekening air dan mendapatkan informasi pembayaran rekening air tiap bulan secara otomatis
melalui SMS . Sistem informasi pelayanan tagihan rekening dan pengaduan pelanggan berbasis SMSgateway ini nantinya akan lebih meningkatkan efesiensi dalam membuat rekening tagihan. Selain itu dapat memudahkan pelanggan dalam melakukan pengaduan ( complain) dengan SMS.

## DAFTAR PUSTAKA
[1] N. KPE/25/M.PAN/2/2004, Keputusan Menteri Pendayagunaan Aparatur Negara. 2004.
[2] Setiyono, “Sistem Informasi Biaya Tagihan Air Pelanggan PDAM Kota Surakarta Berbasis Mobile,” 2014.
[3] J. S. Komputer, U. T. Jl, A. Sms, S. M. Service, and N. Jika, “Android Menggunakan Algoritma Aes Design and Implementation Sms ( Short Message Service ) Applications on Android Using Aes Algorithm,” vol. 2, no. 2, pp. 3318–3326, 2015.
[4] Nurasiah, “Perencanaan Pengembangan Sistem Informasi Pembayaran Uang Kuliah Dengan Metode SDLC Waterfall,” J. Teknol. dan Rekayasa , vol. 19, no. 3, pp. 72–81, 2014.
[5] Y. Bassil, “A Simulation Model for the Waterfall Software Development Life Cycle,” Int. J. Eng. Technol. , vol. 2, no. 5, pp. 2049–3444, 2012.
[6] Watson, Arthur H and T. J. McCabe, “Structured Testing : A Testing Methodology Using the Cyclomatic Complexity Metric,” 1996.