• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III ANALISIS DAN PERANCANGAN"

Copied!
15
0
0

Teks penuh

(1)

19

Pada bab ini akan dibahas mengenai metodologi perancangan sistem yang akan digunakan. Pada tahap awal yang dilakukan adalah melakukan pengumpulan data-data yang dibutuhkan dalam perancangan sistem. Data yang dibutuhkan berupa gambaran sistem yang sedang berjalan dan data log transaksi. Data yang sudah terkumpul kemudian dianalisis dan diolah untuk dapat memenuhi kebutuhan sistem yang tepat. Setelah pengolahan data lalu semua proses tersebut digambarkan dalam diagram aliran data.

3.1 Analisis Sistem Yang Sedang Berjalan

Aplikasi SMS Gateway yang sedang berjalan pada PT Intitek Virtulindo Mandiri dapat dilihat pada Gambar 3.1.

Gambar 3.1 Sistem SMS Gateway yang sedang berjalan

Sedikit penjelasan dari Gambar 3.1, ketika ada permintaan SMS dari user yang dikirim oleh operator, SMS langsung ditangani oleh gateway in umumnya berupa file PHP yang akan menerima data SMS dari operator (protokolnya berupa HTTP dan SMPP). Selanjutnya, SMS akan dilempar ke server lain untuk diolah

Start Gateway In Proses SMS dan Gateway Out Database SQL Server 2000 end

(2)

datanya, kemudian setelah diolah SMS akan dikirim lagi ke operator dengan menggunakan parameter-parameter yang sudah ditentukan. Dan terakhir data SMS di simpan ke basis data sebagai log transaksi. Aplikasi Gateway SMS ini berjalan secara syncronous/langsung (tidak terputus).

3.1.1 Gateway In

Gateway in adalah server linux yang digunakan sebagai pintu masuk SMS dari operator. Untuk koneksi ke operator yang mengunakan protokol HTTP, maka gateway in berupa file php. Sedangan untuk koneksi yang menggunakan protokol SMPP, maka gateway in berupa aplikasi kannel.

Data yang dikirim operator dengan protokol HTTP bisa berupa teks atau XML (Telkomsel, Flexi dan Indosat). Sedangkan XL dan ESIA yang menggunakan protokol SMPP, datanya berupa teks yang menggunakan aplikasi kannel.

3.1.2 Pemroses SMS dan Gateway Out

Pemroses SMS berupa server Windows yang digunakan untuk melakukan proses data SMS untuk memperoleh balasan SMS sesuai dengan permintaan yang dilakukan oleh user. Server ini tidak terkoneksi dengan internet dengan alasan keamanan. Proses pengolahan data SMS dilakukan oleh file php yang berjalan pada webserver apache dengan menggunakan SQL Server 2000 sebagai basis data untuk memproses SMS.

Setelah diproses, balasan SMS kemudian secara langsung dikirim ke operator (Gateway Out). Karena server tidak bisa terkoneksi dengan internet, maka pengirimannya menggunakan socket yaitu w3socket yang dapat diunduh : (http://www.dimac.net/Products/FreeProducts/w3Sockets/start.htm).

Bagian akhir dari pemroses SMS adalah data akan disimpan ke basis data SQL Server 2000 sebagai log transaksi. Ada 3 tabel yang digunakan sebagai log transaksi yaitu sms_in, sms_out dan sms_dlr.

(3)

3.1.3 Data Log Transaksi

Sebagai informasi tambahan, terlampir rangkuman data log transaksi selama periode bulan Mei – Juni 2011:

Tabel 3.1 Data log transaksi periode bulan Mei - Juni 2011 Bulan Total Data SMS Total service-id null

Mei 226,982 25,822

Juni 218,042 21,695

Data transaksi di atas adalah data yang diperoleh dari basis data transaksi. Dan untuk data lengkapnya bisa dilihat di lampiran. Berdasarkan tabel di atas, ada beberapa data yang service-id null atau kosong karena sistem gagal melakukan query ke basis data pada saat proses SMS. Sehingga ketika SMS dikirim ke operator, akan gagal (invalid transaksi) karena data yang dikirim kurang lengkap. Semua itu menunjukkan bahwa sistem aplikasi SMS gateway yang sedang berjalan kurang optimal.

3.1.4 Alternatif Solusi

Dengan permasalahan yang sudah dikemukakan, maka ada beberapa solusi yang bisa dilakukan untuk mengatasinya:

1. Menambah komputer server yang digunakan sebagai pemroses SMS.

2. Menggunakan penyeimbang beban (Load Balancing), bisa berupa perangkat keras ataupun perangkat lunak.

3. Membuat aplikasi antrian (Queue) SMS.

Jika solusi pertama dipilih, maka perusahaan harus mengeluarkan biaya yang besar untuk membeli komputer server dan license perangkat lunak untuk sistem operasinya. Belum biaya pemeliharaan untuk menyewa rak di data center dan lain sebagainya. Disamping itu pembelian komputer server kurang efisien, karena sebenarnya data SMS yang banyak tidak terjadi setiap hari. Biasanya jika terjadi promo oleh operator terutama melalui cek pulsa, maka permintaan SMS dari pelanggan akan meningkat.

(4)

Alternatif solusi yang kedua yaitu penyeimbang beban, jika menggunakan perangkat keras maka sama seperti solusi pertama. Perusahaan akan mengeluarkan biaya yang tidak sedikit untuk pembelian perangkat keras penyeimbang beban. Jika penyeimbang beban menggunakan perangkat lunak, perusahaan tetap harus menyediakan tambahan server untuk penyeimbang beban. Misalnya menggunakan 2 server yang digunakan sebagai pemroses SMS. Penggunaan penyeimbang beban sendiri tidak wajib karena hanya operator Flexi yang mengharuskan proses SMS gateway terjadi secara synchronous (sinkron). Operator yang lainnya (Telkomsel, Indosat, XL dan Esia), proses SMS bisa dilakukan secara asynchronous. Artinya untuk operator selain Flexi kita bisa mengirimkan balasan SMS dari permintaan user secara terpisah dengan datangnya permintaan SMS.

Solusi yang terakhir adalah dengan membuat aplikasi antrian (queue) SMS. Yaitu dengan memutus alur program yang selama ini berjalan, sehingga proses SMS Gateway menjadi asynchronous. Tetapi aplikasi ini tidak akan bisa berjalan untuk operator Flexi karena memang mengharuskan proses SMS Gateway secara synchronous.

Dengan beberapa alternatif solusi yang diberikan, maka penulis memilih alternatif terakhir yaitu membuat aplikasi antrian. Karena dengan membuat aplikasi antrian, tidak akan ada biaya yang dikeluarkan oleh perusahaan. Dan semua permintaan SMS akan ditampung, sehingga tidak akan ada data SMS yang tidak valid ketika dikirim ke operator. Dan akan memudahkan dalam proses pemeliharaan aplikasi SMS Gateway itu sendiri. Dengan catatan bahwa proses SMS Gateway untuk operator Flexi berjalan seperti aplikasi yang sekarang berjalan.

3.2 Perancangan Sistem

Setelah dilakukan analisis terhadap sistem yang berjalan, solusi yang dipilih adalah membuat suatu aplikasi antrian. Dalam tahap perancangan inilah dijelaskan bagaimana sistem aplikasi antrian akan dibuat dengan spesifikasi proses-proses yang diterangkan secara rinci.

(5)

Metodologi penelitian yang digunakan untuk membuat aplikasi ini adalah build and fix. Dimana model ini sangat cocok untuk mengerjakan proyek yang berskala kecil. Dan aplikasi antrian ini, akan terus mengalami pengembangan sampai aplikasi antrian ini bisa menangani permintaan SMS yang sangat besar. 3.2.1 Sistem Yang Diusulkan

3.2.2

Aplikasi SMS Gateway yang diusulkan dapat dilihat pada Gambar 3.2.

Gambar 3.2 Perancangan SMS gateway dengan menggunakan antrian Multiple Channel dan Multi Phase Sistem

Start Gateway In Antrian Proses XL Proses SMS Antrian Kirim Antrian Database Y Kirim SMS ke Operator end Antrian Proses TSEL Proses SMS Antrian Kirim Kirim SMS ke Operator PILIH OPERATOR Antrian Proses ISAT Proses SMS Antrian Kirim Kirim SMS ke Operator Antrian Proses ESIA Proses SMS Antrian Kirim Kirim SMS ke Operator

DATA OK DATA OK DATA OK DATA OK

Y Y Y Y T T T T Database SQL Server 2000

(6)

Sesuai dengan Gambar 3.2, maka konfigurasi aplikasi antrian yang digunakan yaitu multiple channel dan multi phase sistem. Karena setiap pelanggan akan dilayani sesuai dengan operatornya (multiple channel), ada 4 operator yaitu Esia, Indosat, Telkomsel dan XL. Dan setiap pelanggan akan mengalami 3 kali pemberhentian (multi phase) dari sistem antrian yaitu antrian proses, antrian kirim dan terakhir antrian basis data.

Gambar 3.1 bagian ”Proses SMS dan Gateway Out” akan dibagi menjadi 3 bagian, yaitu:

1. Antrian Proses

Adalah antrian yang menampung data SMS sebelum data diproses. Datanya diperoleh dari Gateway In berupa parameter GET, yang diterima oleh aplikasi PHP. Kemudian data SMS tersebut dibuat menjadi file teks yang disimpan ke dalam suatu folder.

Aplikasi antrian proses akan berjalan di background untuk membaca file teks tersebut satu demi satu, mengirim datanya ke URL pemroses SMS kemudian menghapus file tersebut. Aplikasi ini akan membaca inputan file konfigurasi, yang berisi parameter-parameter yang digunakan dalam menjalankan program. Aplikasi ini berupa program konsol yang dijalankan melalui command prompt dan dibuat menggunakan bahasa pemrograman Delphi 7.

2. Antrian Kirim

Adalah antrian yang menampung data SMS setelah diproses. Sama seperti antrian proses, antrian kirim juga menggunakan file teks yang disimpan kedalam folder untuk menampung datanya. Data file teks dari antrian kirim, dibuat oleh pemroses SMS.

Aplikasi untuk membaca file teksnya sama seperti antrian proses menggunakan program konsol yang dijalankan melalui command prompt. Tugas utamanya adalah membaca file teks satu demi satu, mengirim datanya ke operator dan menghapus filenya apabila sudah dikirim. Untuk menyimpan alamat URL tiap operator beserta parameter yang dikirim, digunakanlah file konfigurasi.

3. Antrian Basis Data

Adalah antrian yang menampung data SMS untuk disimpan ke dalam basis data transaksi. Sama seperti antrian proses dan kirim, antrian basis data juga menggunakan file teks yang disimpan dalam folder. File teksnya dibuat oleh

(7)

aplikasi antiran kirim. Antrian basis data akan membaca file teks dan menyimpannya kedalam basis data transaksi. Koneksi ke basis data SQL Server 2000 menggunakan komponen ADO (ActiveX Data Object).

3.2.3 Perancangan Format File

Gambar perancangan format file, dapat dilihat pada Gambar 3.3–3.7. [SMSQUEUE] msisdn= sms= trx_id= trx_date= operator= sdc= channel= meta_data= ip=

Gambar 3.3 Perancangan format file teks antrian proses

Keterangan:

1. [SMSQUEUE] : tag pengenal antrian proses.

2. msisdn, varchar(20) : nomor pelanggan yang melakukan permintaan SMS, menggunakan internasional kode. Contoh: 628161455992.

3. sms, varchar(500) : isi permintaan SMS dari pelanggan. Contoh: REG THR. 4. trx_id, varchar(100) : id transaksi, yang bersifat uniq dan dikirim oleh

operator. Contoh: 1sms11130465545369525046422.

5. trx_date, datetime : tanggal transaksi dengan format: 20110709181315.

6. operator, varchar(8) : operator telekomunikasi. Contoh: TSEL (telkomsel), ISAT (indosat), XL dan ESIA.

7. sdc, varchar(8) : Short Dial Code atau nomor pendek untuk pengiriman SMS. contoh: 9886.

8. channel, varchar(5): channel promo. Contoh: UMB, SMS.

9. meta_data, varchar(50) : data tambahan yang khusus digunakan untuk operator XL. Contoh: ?smpp?TX_ID=627665760.

(8)

[SMSC] live= protocol= get_response= proxyhost= proxyport= addrsuffix= smsin= [SDC] url_9886=

Gambar 3.4 Perancangan format file konfigurasi antrian proses

Keterangan:

1. [SMSC] : tag pengenal antrian proses, bagian SMSC.

2. live, boolean : menandai apakah program dijalankan live atau tidak. 3. protocol, varchar(10) : keterangan koneksi protokol yang digunakan.

4. get_response, boolean : response ketika data dikirim, berupa boolean variabel. 5. proxyhost, varchar(20) : proxy host yang digunakan.

6. proxyport, varchar(6) : port proxy yang digunakan.

7. addrsuffix, varchar(2) : format awalan nomor pelanggan menggunakan internasional kode. Contoh: 62.

8. smsin, varchar(100) : folder yang menampung data SMS antrian proses. contoh: D:\app\inbox\QueueProccess\TSEL\

9. [SDC] : tag pengenal antrian proses, bagian SDC.

10.url_9886, varchar(500) : alamat URL pemroses dari SDC yang digunakan. contoh:

http://localhost/port_http/receive.php?msisdn=@@msisdn@@&sms=@@sms @@&trx_id=@@trx_id@@&trx_date=@@trx_date@@&operator=@@oper ator@@&sdc=@@sdc@@&channel=@@channel@@&meta_data=@@meta _data@@&ip=@@ip@@

(9)

[SMSOUT] ip= keyword= fullsms= channel= operator= sdc= msisdn= sid= text= tid= tarif= type= programid= short_name= content_type=

Gambar 3.5 Perancangan format file teks antrian kirim

Keterangan:

1. [SMSOUT] : Tag pengenal antrian proses bagian SMSOUT.

2. ip, varchar(15) : Informasi IP address dari operator. Contoh: 202.3.219.2. 3. keyword, varchar(20) : keyword dari program SMS. Contoh: THR.

4. fullsms, varchar(500) : isi permintaan SMS dari pelanggan. Contoh: REG THR.

5. channel, varchar(5) : channel promo. Contoh: UMB, SMS.

6. operator, varchar(8) : operator telekomunikasi. Contoh: TSEL (telkomsel), ISAT (indosat), XL dan ESIA.

7. sdc, varchar(8) : Short Dial Code atau nomor pendek untuk pengiriman SMS. Contoh: 9886.

8. msisdn, varchar(20) : nomor pelanggan yang melakukan permintaan SMS, menggunakan internasional kode. Contoh: 628161455992.

9. sid, varchar(30) : service id yang digunakan dalam program SMS. Contoh: ivm_9886_push250.

10.text, varchar(200) : reply balasan SMS. Contoh: Slmt dtg anda akn dpt info arti dibalik hr kelahiran Anda. 2rb/sms/hr. CS:0217201478.

(10)

11.trx_id, varchar(100) : id transaksi, yang bersifat uniq dan dikirim oleh operator. Contoh: 1sms11130465545369525046422.

12.tarif, varchar(5) : tarif SMS. Contoh: 2000.

13.type, varchar(8) : type SMS. Contoh: REG, UNREG, PULL. 14.programid, varchar(4) : id program SMS. Contoh: 2045.

15.short_name, varchar(15) : parameter tambahan untuk operator XL. 16.content_type, varchar(15) : parameter tambahan untuk operator XL.

[SMSC] live= protocol= get_response= proxyhost= proxyport= addrsuffix= qbox= smsbox= dlrbox= sleep= [DB] conn= [SDC] ok_status_tsel= ok_status_isat= ok_status_esia= ok_status_xl= sdc= url_isat= url_tsel= url_tsel_pull= url_xl= url_esia=

(11)

Keterangan:

1. [SMSC] : tag pengenal antrian proses, bagian SMSC.

2. live, boolean : menandai apakah program dijalankan live atau tidak. 3. protocol, varchar(10) : keterangan koneksi protokol yang digunakan.

4. get_response, boolean : response ketika data dikirim, berupa boolean variabel. 5. proxyhost, varchar(20) : proxy host yang digunakan.

6. proxyport, varchar(6) : port proxy yang digunakan.

7. addrsuffix, varchar(2) : format awalan nomor pelanggan menggunakan internasional kode. Contoh: 62.

8. qbox, varchar(100) : folder yang menampung data SMS antrian kirim. Contoh: D:\app\inbox\ReQueue\

9. smsbox, varchar(100) : folder yang menampung data SMS antrian kirim. Contoh: D:\app\inbox\QueueSend\TSEL\

10.dlrbox, varchar(100) : folder yang menampung data SMS antrian kirim. Contoh: D:\app\inbox\QueueDatabase\

11.sleep, integer : jeda waktu pengiriman SMS, menggunaan mili second. Contoh: 1000.

12.[DB] : tag pengenal antrian kirim bagian DB.

13.conn, varchar(300) : settingan koneksi ke basis data transaksi. Contoh: Provider=SQLOLEDB.1; Password=c4r3r4; Persist Security Info=True; User ID=sa; Initial Catalog=smsgw; Data Source=192.168.2.5.

14.[SDC] : tag pengenal antrian kirim bagian SDC.

15.ok_status_tsel, varchar(10) : status sukses operator Telkomsel. Contoh: 1. 16.ok_status_isat, varchar(10) : status sukses operator Indosat. Contoh: 2. 17.ok_status_esia, varchar(10) : status sukses operator Esia. Contoh: 1. 18.ok_status_xl, varchar(10) : status sukses operator XL. Contoh: 0.

19.sdc, varchar(8) : Short Dial Code atau nomor pendek untuk pengiriman SMS. Contoh: 9886.

20.url_isat, varchar(500) : alamat URL operator Indosat.

Contoh:http://202.152.162.221:55000/?uid=intiv&pwd=intivpwd&msisdn=@ @msisdn@@&serviceid=@@serviceid@@&trx_date=@@tid@@&transid= @@tid@@&smstype=0&sms=@@sms@@

(12)

21.url_tsel, varchar(500) : alamat URL operator Telkomsel.

Contoh:http://@@ip@@:9100/push/submit.jsp?&cp_name=IVM&pwd=ivm3 61&msisdn=@@msisdn@@&sid=@@sid@@&tid=@@tid@@&sms=@@s ms@@

22.url_tsel_pull, varchar(500) : alamat URL operator Telkomsel untuk type SMS Pull.

Contoh:http://@@ip@@:8100/cp/submitSM.jsp?&appsid=IVM&pwd=ivm36 1&msisdn=@@msisdn@@&sid=@@sid@@&sms=@@sms@@&trx_id=@ @tid@@

23.url_xl, varchar(500) : alamat URL operator XL. Contoh:http://192.168.2.2:14013/cgi-bin/sendsms?username=ivm9886&password= ivmpass9886&from=@@serviceid@@&to=+@@msisdn@@&text=@@sms @@&meta-data=%3Fsmpp%3FTX_ID=@@tid@@&Shortname%3D@@short_name@ @%26Content-Type%3D@@content_type@@

24.url_esia, varchar(500) : alamat URL operator Esia.

Contoh:http://192.168.2.1:16013/cgi-bin/sendsms?username=ivm9886&password

=ivmpass9886&from=@@serviceid@@&to=+@@msisdn@@&text=@@sm s@@&dlr-mask=3&dlr-url=@@dlr_url@@

(13)

[SMSADO] keyword= fullsms= channel= operator= sdc= ok_status= msisdn= sid= text= tid= tarif= type= programid= dlr_status= dtm= trx_date=

Gambar 3.7 Perancangan format file teks antrian basis data

Keterangan:

1. [SMSADO] : Tag pengenal antrian basis data.

2. keyword : keyword dari program SMS. Contoh: THR.

3. fullsms : isi permintaan SMS dari pelanggan. Contoh: REG THR. 4. channel: channel promo. Contoh: UMB, SMS.

5. operator : operator telekomunikasi. Contoh: TSEL (telkomsel), ISAT (indosat), XL dan ESIA.

6. sdc : Short Dial Code atau nomor pendek untuk pengiriman SMS. Contoh: 9886.

7. ok_status : status sukses delivery SMS. Contoh: 1.

8. msisdn : nomor pelanggan yang melakukan permintaan SMS, menggunakan internasional kode. Contoh: 628161455992.

9. sid : service id yang digunakan dalam program SMS. Contoh: ivm_9886_push250.

10.text : reply balasan SMS. Contoh: Slmt dtg anda akn dpt info arti dibalik hr kelahiran Anda. 2rb/sms/hr. CS:0217201478.

(14)

11.trx_id : id transaksi, yang bersifat uniq dan dikirim oleh operator. Contoh: 1sms11130465545369525046422.

12.tarif : tarif SMS. Contoh: 2000.

13.type : type SMS. Contoh: REG, UNREG, PULL. 14.programid : id program SMS. Contoh: 2045. 15.dlr_status : delivery report SMS.

Contoh: <?xml version='1.0'?> <PUSH><STATUS>0</STATUS> <TRANSID>3608757700</TRANSID>

<MSG>Message processed successfully</MSG> </PUSH>

16.dtm: tanggal transaksi dengan format: 07-17-2011.

17.trx_date : tanggal dan jam transaksi dengan format: 07-17-2011 5:49:19 PM. Format file konfigurasi yang digunakan untuk antrian basis data sama seperti format file konfigurasi antrian kirim.

3.2.4 Perancangan Tampilan

Karena aplikasi berupa konsol yang dijalankan menggunakan command prompt maka praktis tidak ada rancangan tampilan seperti bila menggunakan form. Gambar 3.8 – 3.10 mempelihatkan rancangan format tampilan output.

Gambar 3.8 Perancangan tampilan antrian proses

Gambar 3.9 Perancangan tampilan antrian kirim Bulan/tanggal/tahun jam:menit:detik am/pm > nama_folder\ is empty directory

URL operator response status

Bulan/tanggal/tahun jam:menit:detik am/pm > nama_folder\ is empty directory Bulan/tanggal/tahun jam:menit:detik am/pm > nama_folder\ is empty directory

URL proses reply SMS

(15)

Gambar 3.10 Perancangan tampilan antrian basis data Bulan/tanggal/tahun jam:menit:detik am/pm > nama_folder\ is empty directory

nama_file

nama_file deleted OK

Gambar

Gambar 3.1 Sistem SMS Gateway yang sedang berjalan
Tabel 3.1 Data log transaksi periode bulan Mei - Juni 2011  Bulan  Total Data SMS  Total  service-id null
Gambar 3.2 Perancangan SMS gateway dengan menggunakan antrian Multiple  Channel dan Multi Phase Sistem
Gambar perancangan format file, dapat dilihat pada Gambar 3.3–3.7.
+5

Referensi

Dokumen terkait

Bagi masyarakat suku DHK, oleh karena sakit di pandang tidak hanya merupakan gejala biolo- gis yang bersifat individual, tetapi di pandang berkaitan secara holistik dengan

Juga tidak dilupakan kepada semua kakitangan akademik dan pentadbiran Universiti Utara Malaysia, Kuala Lumpur yang terlibat secara langsung atau tidak langsung dalam

• Nama penyedia sudah bisa diketahui dan link tabel kualifikasi dan file penawaran rhs sudah aktif dan dapat didownload. Halaman

yang didirikan dengan Peraturan Pemerintah Nomor 15 Tahun 1963.. (Lembaran Negara Tahun 1963 Nomor 21) setelah melalui

[r]

• Denda sebesar 100% dari biaya program untuk pembatalan yang dilakukan pada tanggal penyelenggaraan. • Seluruh biaya yang telah diterima akan dikembalikan apabila pembatalan

Bakso ikan dan olahan ikan lainnya merupakan produk yang dipercaya memiliki kandungan gizi (protein tinggi dan lemak rendah) yang sangat baik bagi tubuh, memberikan peluang

Pada tindakan siklus I juga masih ditemui kekurangan dalam pelaksanaan yak- ni: (1) pembelajaran belum sesuai dengan langkah strategi SQ4R; (2) guru belum