DASHBOARD SISTEM PENGISIAN PULSA ELEKTRONIK Nur Ani, 1 Yogi Eka Hardiprasetyo2 1,2
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana JL. Raya Meruya Selatan, Kembangan, Jakarta, 11650
[email protected] 1,
[email protected] Abstraksi
Transaksi jual beli pulsa saat ini sudah demikian banyak, dalam satu menit bisa terjadi ratusan transaksi jual-beli pulsa telepon baik secara retail ataupun grosir. Pengusaha grosir pulsa biasanya melakukan pemantauan transaksi pulsa secara berkala perhari, perbulan dan pertahun. Untuk mempermudah pemantauan transaksi dibutuhkan sebuah perangkat yang dapat memberikan informasi yang cepat dan tepat bagi pihak manajemen maupun pemilik usaha pengisian pulsa. Untuk menunjang pengambilan keputusan bagi pihak manajemen dibutuhkan sebuah perangkat yang dapat memberikan informasi yang tepat sesuai yang dibutuhkan dan mudah untuk dibaca. Seperti halnya penggunaan perangkat dashboard pada panel kendaraan yang berfungsi menampilkan informasi penting mengenai kendaraan tersebut sangat membantu pengendara, pihak manejemenpun akan sangat terbantu jika data penting disajikan dalam bentuk panel seperti pada panel kendaraan. Berdasarkan hal itu dibangun sebuah Dashboard Sistem Pengisian Pulsa Elektronik yang berisikan datadata rekapitulasi transaksi dalam bentuk diagram/grafik yang digunakan sebagai alat untuk memantau kegiatan operasional system pengisian pulsa elektronik. Untuk itu, dilakukan proses pengembangan perangkat lunak yang didasarkan pada rekayasa perangkat lunak. Desain dan implementasi Dashboard Sistem Pengisian Pulsa Elektronik ini dibatasi pada laporan penjualan, pembelian, deposit pelanggan, status transaksi dan status server. Aplikasi ini dibangun menggunakan bahasa pemrograman Java dan MySQL untuk DBMS-nya. Kata kunci: Dashboard, Pengisian pulsa elektronik, Java, MySQL
I.
PENDAHULUAN
Teknologi informasi dan komunikasi telah menyentuh berbagai kegiatan dalam kehidupan manusia, salah satunya adalah sistem pengisian pulsa elektronik. Transaksi penjualan dan pembelian pulsa sangatlah tinggi dari hari ke hari, dengan jumlah transaksi yang sangat banyak akan menyulitkan pemilik usaha dalam mengontrol dan mengevaluasi kegiatan operasionalnya, sehingga akan terdapat kendala dalam mengambil keputusan strategis. Dashboard adalah sebuah panel kontrol yang berisikan informasi-informasi penting guna memudahkan pengguna informasi dalam mengambil keputusan strategis. Berdasarkan hal itu maka rumusan masalah yang diangkat adalahbagaimana merancang dan membuat Dashboard Sistem Pengisian Pulsa Elektronik yang dapat memberikan informasi yang akurat dan mudah dipahami oleh pihak pengambil keputusan dalam hal ini adalah pihak manajemen ataupun pemilik. Dari permasalahan yang telah disebutkan di atas, perlu suatu batasan masalah agar perluasan masalah dapat dihindari. Batasan masalahnya adalah sebagai berikut : 1. Membuat Dashboard Sistem Pengisian Pulsa Elektronik dalam bentuk diagram/grafik/table, Volume III/No.1/Mei/2011
2.
3.
4.
laporan-laporan yang akan dibuat adalah sebagai berikut: a. Laporan transaksi penjualan: penjualan pertahun dan penjualan perbulan b. Laporan transaksi pembelian: Pembelian pertahun dan penjualan perbulan c. Laporan deposit bulanan dan tahunan. d. Laporan status transaksi penjualan bulanan dan tahunan e. Laporan status server. Laporan-laporan di atas dihasilkan dari pembuatan table VIEW yang akan mengambil data dari table Transaksi. Merancang dan membuat Dashboard Sistem Pengisian Pulsa berbasis web dibuat dengan menggunakan bahasa pemrograman Java dan basis data MySQL. ETL (Extract, Transform, and Load) yang digunakan adalah menggunakan pendekatan view pada database MySQL.
Dasboard Sistem Pengisian Pulsa ini diharapkan dapat: a. Mempermudah pemantauan dan pengelolaan transaksi bagi pemilik. b. Memberikan laporan yang akurat dan sesuai kebutuhan pengguna.
53
c. Membantu pengguna dalam melakukan evaluasi terhadap kegiatan operasional. d. Membantu pengguna untuk melakukan perbandingan harga dan kestabilan penjualan sehingga membantu mempermudah pengambilan keputusan. II. EXTRACTION, TRANSFORMATION, & LOADING (ETL) ETL adalah suatu proses pengambilan data dari sumber data, proses pengambilan data ini tidak mengambil data keseluruhan data yang ada di database operasional, melainkan memprosesnya sehingga siap digunakan oleh dashboard. Extraction Data Extraction adalah proses pengambilan data yang diperlukan dari sumber datawarehouse dan selanjutnya dimasukkan pada staging area untuk diproses pada tahap berikutnya. Pada fungsi ini, kita akan banyak berhubungan dengan berbagai tipe sumberdata. Format data, mesin yang berbeda, software dan arsitektur yang tidak sama. Sehingga sebelum proses ini kita lakukan, sebaiknya perlu kita definisikan requirement terhadap sumber data yang akan kita butuhkan untuk lebih memudahkan pada extraction data ini. Transformation Pada kenyataannya, pada proses transaksional data disimpan dalam berbagai format sehingga jarang kita temui data yang konsisten antara aplikasi-aplikasi yang ada. Transformasi data ditujukan untuk mengatasi masalah ini. Dengan proses transformasi data ini, kita melakukan standarisasi terhadap data pada satu format yang konsisten. Beberapa contoh ketidakkonsistenan data tersenut dapat diakibatkan oleh tipe data yang berbeda, data length dan lain sebagainya. Untuk lebih jelasnya dapat dilihat pada tabel 2.1 yang menunjukkan permasalahan dasar pada proses pengintegrasian data. Tabel 2.1 Transformasi data dalam ETL
•
•
•
berbagai format. Elemen data tersebut dapat tersimpan dalam format text, integer dan sebagainya. Untuk itu standarisasi perlu dilakukan dengan melihat kegunaan pokok dari elemen data pada proses transaksinal dan datawarehouse. Description: Pada tabel terlihat representasi ketiga nama pelanggan adalah sama. Namun dengan penulisan yang beda terlihat adanya perbedaan format pada data. Oleh karena itu perlu diambil salah satu dari deskripsi tersebut untuk konsistensi data. Unit: Adanya perbedaan satuan ukuran dapat menimbulkan permasalahan yang komplek. Jika user tidak mengetahui adanya perbedaan ini dan menganggap sama, maka akan terjadi kesalahan ketika kita melakukan penghitungan matematis. Encoding: Huruf atau nomor dapat dijadikan label sebagi identifikasi suatu objek. Seperti pada tabel diatas, kesalahan dapat terjadi karenanya.
Loading Data loading adalah memindahkan data ke datawarehouse. Ada dua loading data yang kita lakukan pada datawarehouse. Pertama adalah inisial load, proses ini dilakukan pada saat kita telah selesai mendesign dan membangun datawarhouse. Data yang kita masukkan tentunya akan sangat besar dan memakan waktu yang relati lebih lama. Kedua Incremental load, dilakukan ketka datawarehouse telah dioperasikan. Kita melakukan data extraction, transformation dan loading terhadap data tersebut. Untuk inisial load dilakukan sekali saja, namun untuk incremental load dapat kita jadwalkan sesuai dengan kebutuhan, bisa setiap hari, bulan, kuartal atau tahun sesuai dengan kebutuhan sistem kita.
View Merepresentasikan sub himpunan dari data yang berasal dari satu atau lebih table. Kegunaan dari view adalah : 1. Membatasi akses database 2. Membuat query kompleks secara mudah 3. Mengijinkan independensi data 4. Untuk menampilkan view (pandangan) data yang berbeda dari data yang sama. III. ANALISA SISTEM DAN PERANCANGAN SISTEM
Keterangan : • Format: Pada transaksional data dapat disimpan dalam Volume III/No.1/Mei/2011
A. Analisa Sistem Dashboard Sistem Pengisian Pulsa Elektronik adalah suatu aplikasi panel kontrol yang berisi informasi-informasi kegiatan-kegiatan operasional, 54
mulai dari transaksi penjualan, pembelian sampai dengan aktifitas server. Sehingga dengan adanya aplikasi dashboard ini, pemilik/pihak eksekutif dapat menggunakannya sebagai bahan pertimbangan untuk mengambil keputusan secara tepat dan cepat.
ETL menjalankan query rekap data penjualan (harian, bulanan, tahunan) dan/atau rekap data pembelian (harian, bulanan, tahunan) pada database transaksional sistem penjualan pulsa untuk mendapatkan rekap data penjualan. Aliran utama yang diharapkan adalah query rekap data penjualan dan/atau query rekap data pembelian akan di jalankan untuk mendapatkan data yang diinginkan, Jika Pemilik mengakses laporan grafik dan data yang dihasilkan oleh query rekap data penjualan/ pembelian kosong maka akan memunculkan pesan bahwa data tidak ada. Hasil akhir dari proses ini adalah akan menghasilkan data-data rekap penjualan/pembelian yang di akan di gunakan oleh laporan grafik data penjualan/ data pembelian. Proses tergambarkan pada gambar 2.
Pengguna sistem adalah orang yang mengoperasikan dan berinteraksi secara langsung dengan sistem. Berdasarkan tugas dan fungsinya, pengguna sistem ini dibagi menjadi 2 bagian yaitu pemilik dan administrator. Pemilik bertugas melihat dan memantau laporan-laporan yang dihasilkan oleh system. Admin bertugas memantau laporan status dan aktivitas server. Laporan-laporan yang dihasilkan oleh aplikasi Dasboard System ini akan menampilkan data sebagai berikut: • • • •
Data transaksi penjualan pulsa Data transaksi pembelian pulsa kepada upline (dealer) Status transaksi penjualan (Gagal, Sukses) Data deposit dari pelanggan
B. Desain Sistem Desain sistem untuk Dashboard Pengisian Pulsa Elektronik ini menggunakan diagramdiagram sebagai berikut Statechart Diagram, Use Case, Activity Diagram, Class Diagram. Untuk mempermudah pemahaman mengenai proses bisnis dan pemindahan data pada system yang akan dibangun dapat dilihat pada gambar 1 di bawah ini.
Gambar 2. Use Case Dasboard Sistem Penjualan Pulsa •
Activity Diagram Activity diagram dari rekap data penjualan dimulai dari ETL menjalankan Query Rekap Penjualan pada Database Transaksi dan menghasilkan SQL View Rekap Penjualan seperti terlihat pada gambar 3.
Gambar 1. Statechart Diagram •
Use Case Diagram
Skenario use case rekap data penjualan dan Pembelian Volume III/No.1/Mei/2011
55
Gambar 3. Diagram Aktivitas rekap data penjualan Activity diagram lihat laporan status server dimulai dari Admin melihat laporan status server, yang di tampilkan pada dashboard dan data di peroleh dari View Status Server pada ETL, selanjutnya Admin dapat melihat laporan status server seperti terlihat pada gambar 4.
Gambar 4. Diagram Aktivitas lihat laporan status server Activity diagram dari lihat laporan (Lihat gambar 5) dimulai dari pemilik melihat laporan secara global, selanjutnya dapat memilih laporan harian, bulanan, atau tahunan. Jika dipilih harian, pada dashboard akan memunculkan laporan harian, dimana datanya didapatkan dari View Harian pada ETL. Jika dipilih bulanan, pada dashboard akan memunculkan laporan bulanan, dimana datanya didapatkan dari View Bulanan pada ETL. Jika dipilih tahunan, pada dashboard akan memunculkan laporan tahunan, dimana datanya didapatkan dari View Tahunan pada ETL.
Gambar 5. Diagram Aktivitas Lihat Laporan C. Perancangan Basis Data Untuk memahami konsep basis data yang dibangun maka disajikan dalam bentuk ERD seperti tergambar pada gambar 6. Terdapat 6 entitas yang saling terhubung, dan 2 entitas yang berdiri sendiri.
Volume III/No.1/Mei/2011
Derajat keterhubungan antar entitas pada ERD ini mecakupi keterhubungan 1 – 1 dan 1 – banyak.
56
Gambar 6. ER- Diagram D. Struktur Menu Menu yang terdapat pada aplikasi ini adalah sebagai berikut: a. Dashboard b. Rekap Penjualan c. Rekap Pembelian d. Status Transaksi e. Deposit Pelanggan f. Status Server
IV. IMPLEMENTASI DAN PENGUJIAN Pada implementasi ini aplikasi ini dibagi menjadi 2 bagian, yaitu implementasi table-tabel transaksi & master dan implementasi view. A. Skenario Pengujian Halaman login terlihat pada gambar 7, akan mengecek jenis pengguna berdasarkan nama user dan kebenaran password. Jenis pengguna terdiri dari dua, yaitu pemilik dan Admin. Jika pengguna adalah pemilik maka akan ditampilkan halaman dashboard (gambar 8) dan menu yang tampil adalah Dashboard, Rekap Penjualan, Rekap Pembelian, Status Transaksi, Deposit Pelanggan (gambar 9). Namun jika pengguna adalah Admin maka akan menampilkan halaman status server dan Volume III/No.1/Mei/2011
menu yang tampil adalah Status Server (Gambar 10). Pada kasus uji melihat laporan/grafik, baik oleh Pemilik/Admin yang dilakukan adalah memilih grafik yang di inginkan pada menu yang tersedia, kemudian grafik tersebut akan meminta data ke server, jika data tersedia maka akan muncul di grafik, sesuai tipe grafik yang telah dipilih. Jika tidak, akan muncul pesan bahwa data kosong. Modul ini telah dilakukan pengujian dan atau dapat dijalankan sesuai dengan rancangan yang telah dibangun. Logout digunakan untuk keluar dari aplikasi, setelah proses logout diesekusi sistem akan menampilkan kembali halaman login. Modul ini telah dilakukan pengujian dan hasilnya dapat dijalankan sesuai dengan rancangan yang telah dibangun. B. Implementasi Tabel Terdapat 8 table yaitu: customer, dealer, deposit, pembelian, penjualan, status_server, user_application, voucher_pulsa. Berikut table – table yang dibutuhkan: 1. Tabel Customer 57
SQL Script: CREATE TABLE customer ( ID int(10) UNSIGNED AUTO_INCREMENT NOT NULL, NAMA varchar(64) NULL, ALAMAT varchar(64) NULL, HANDPHONE varchar(20) NULL, PASSWD varchar(20) NULL, SALDO float NULL, PRIMARY KEY(ID) ) ENGINE = InnoDB
2. Tabel Dealer SQL Script: CREATE TABLE dealer ( ID int(10) UNSIGNED AUTO_INCREMENT NOT NULL, NAMA_DEALER varchar(32) NULL, VOUCHER varchar(32) NULL, HARGA float NULL, PRIMARY KEY(ID) ) ENGINE = InnoDB
3. Tabel Deposit SQL Script: CREATE TABLE deposit ( ID int(10) UNSIGNED AUTO_INCREMENT NOT NULL, CUSTOMER_ID int(10) UNSIGNED NOT NULL, TANGGAL datetime NULL, NOMINAL float NULL, PRIMARY KEY(ID) ) ENGINE = InnoDB
4. Tabel Pembelian SQL Script: CREATE TABLE "pembelian" ( "ID" int(10) UNSIGNED AUTO_INCREMENT NOT NULL, "DEALER_ID" int(10) UNSIGNED NOT NULL, "VOUCHER_PULSA_ID" int(10) UNSIGNED NOT NULL, "TANGGAL" datetime NULL, "HARGA" float NULL, PRIMARY KEY("ID") ); CREATE INDEX "PEMBELIAN_FKIndex2" ON "pembelian"("DEALER_ID"); CREATE INDEX "PEMBELIAN_FKIndex1" ON "pembelian"("VOUCHER_PULSA_ID"); ALTER TABLE "pembelian" ADD CONSTRAINT "pembelian_ibfk_2" FOREIGN KEY("DEALER_ID") REFERENCES "dealer"("ID") ON DELETE NO ACTION ON UPDATE NO ACTION ; ALTER TABLE "pembelian" ADD CONSTRAINT "pembelian_ibfk_1" FOREIGN KEY("VOUCHER_PULSA_ID") REFERENCES "voucher_pulsa"("ID") ON DELETE NO ACTION ON UPDATE NO ACTION, ;
Volume III/No.1/Mei/2011
5. Tabel Penjualan SQL Script: CREATE TABLE "penjualan" ( "ID" int(10) UNSIGNED AUTO_INCREMENT NOT NULL, "VOUCHER_PULSA_ID" int(10) UNSIGNED NOT NULL, "CUSTOMER_ID" int(10) UNSIGNED NOT NULL, "TANGGAL" datetime NULL, "HARGA" float NULL, "HP_TUJUAN" varchar(20) NULL, "STATUS_TRANSAKSI" int(2) UNSIGNED NULL, PRIMARY KEY("ID") ); CREATE INDEX "PENJUALAN_FKIndex1" ON "penjualan"("CUSTOMER_ID"); CREATE INDEX "PENJUALAN_FKIndex2" ON "penjualan"("VOUCHER_PULSA_ID"); ALTER TABLE "penjualan" ADD CONSTRAINT "penjualan_ibfk_2" FOREIGN KEY("VOUCHER_PULSA_ID") REFERENCES "voucher_pulsa"("ID") ON DELETE NO ACTION ON UPDATE NO ACTION ; ALTER TABLE "penjualan" ADD CONSTRAINT "penjualan_ibfk_1" FOREIGN KEY("CUSTOMER_ID") REFERENCES "customer"("ID") ON DELETE NO ACTION ON UPDATE NO ACTION, ;
6. Tabel Status Server SQL Script: CREATE TABLE "status_server" ( "ID" int(10) UNSIGNED AUTO_INCREMENT NOT NULL, "STATUS_NAME" varchar(32) NULL, "VALUE" varchar(32) NULL, PRIMARY KEY("ID") );
7. Tabel User Application SQL Script: CREATE TABLE "user_application" ( "ID" int(10) UNSIGNED AUTO_INCREMENT NOT NULL, "NAME" varchar(32) NULL, "UNAME" varchar(32) NULL, "PASSWD" varchar(32) NULL, PRIMARY KEY("ID") );
8. Tabel Voucher Pulsa SQL Script: CREATE TABLE "voucher_pulsa" ( "ID" int(10) UNSIGNED AUTO_INCREMENT NOT NULL, "NAMA_VOUCHER" varchar(32) NULL, "OPERATOR" varchar(32) NULL, "NOMINAL" float NULL, "HARGA" float NULL, 58
"SALDO" float NULL, PRIMARY KEY("ID")
e. Deposit Pelanggan f. Status Server
);
C. Implementasi View Pada sistem ini terdapat 12 view, yaitu: deposit_harian, deposit_bulanan, deposit_tahunan, penjualan_harian, penjualan_bulanan, penjualan_tahunan, pembelian_harian, pembelian_bulanan, pembelian_tahunan, transaksi_harian, transaksi_bulanan, transaksi_tahunan
Gambar 9. Tampilan Halaman Deposit Pelanggan
Gambar 7. Tampilan Login
Gambar 8. Tampilan Halaman Dasboard
D. Implementasi Tampilan Tampilan pada system memiliki struktur menu sebagai berikut: a. Dashboard b. Rekap Penjualan c. Rekap Pembelian d. Status Transaksi Volume III/No.1/Mei/2011
Gambar 10. Tampilan Halaman Status server E. Pengujian Pilihan status login hanya ada 2, yaitu: Pemilik dan Admin. Kasus uji yang dilakukan adalah memasukan username dan password, dengan melakukan dua kelompok uji. Pada kelompok uji benar memasukan data yang benar, maka akan dibagi jika: • Pemilik: akan menampilkan halaman dashboard dan menu yang tampil adalah Dashboard, Rekap Penjualan, Rekap Pembelian, Status Transaksi, Deposit Pelanggan. • Admin: akan menampilkan halaman status server dan menu yang tampil adalah Status Server. Sedangkan pada kelompok uji yang salah akan muncul pesan kesalahan dan pengguna harus melakukan login ulang. Modul ini telah dilakukan pengujian dan hasilnya dapat dijalankan sesuai dengan rancangan yang dibangun. Pada kasus uji melihat laporan/grafik, baik oleh Pemilik/Admin yang dilakukan adalah memilih grafik yang di inginkan pada menu yang tersedia, kemudian grafik tersebut akan meminta data ke server, jika data tersedia maka akan muncul 59
di grafik, sesuai tipe grafik yang telah dipilih. Jika tidak, akan muncul pesan bahwa data kosong. Modul ini telah dilakukan pengujian dan atau dapat dijalankan sesuai dengan rancangan yang telah dibangun. Logout digunakan untuk keluar dari aplikasi, setelah proses logout diesekusi sistem akan menampilkan kembali halaman login. Modul ini telah dilakukan pengujian dan hasilnya dapat dijalankan sesuai dengan rancangan yang telah dibangun. Hasil analisis terhadap aplikasi yang dibangun secara keseluruhan telah berfungsi dengan baik dan layak digunakan. V. KESIMPULAN DAN SARAN A. Kesimpulan Setelah membahas mengenai dashboard sistem pengisian pulsa elektronik ini, maka pada akhirnya dapat ditarik kesimpulan sebagai berikut : 1. Dengan menggunakan dashboard ini pihak pemilik ataupun administrator akan mendapatkan informasi yang cepat dan akurat guna mendukung pengambilan keputusan strategis. 2. Dengan memanfaatkan sistem ini akan dapat meningkatkan pelayanan kepada pelanggan. 3. Tampilan informasi yang berisi rekapitulasi transaksi dalam bentuk diagram/grafik yang digunakan sebagai alat untuk memantau kegiatan operasional system pengisian pulsa elektronik dapat mempermudah pemilik/pengambil keputusan dalam melihat perubahan-perubahan yang signifikan sehingga membantu pengambilan keputusan yang tepat. B. Saran Aplikasi dashboard yang dibangun masih dirasakan memiliki beberapa kekurangankekurangan. Sehingga diharapkan untuk melakukan
pengembangan-pengembangan guna memberikan informasi yang lengkap dan akurat kepada penggunanya. Saran-saran tersebut antara lain : 1. Web dashboard ini masih dalam tahapan local testing di satu komputer, belum di uji menggunakan web server khusus dan diakses oleh beberapa user, hal tersebut perlu dilakukan untuk melihat performa sistem apabila digunakan pada saat kegiatan sesungguhnya baik dari segi efisiensi dan efektivitasnya. 2. Desain tampilan dari web dashboard ini masih merupakan usulan, untuk pengembangan lebih lanjut diharapkan lebih baik. 3. Keamanan pada aplikasi ini hanya dibuat untuk keamanan informasi data pada aplikasi saja yaitu berupa keamanan data password yang dienkripsi.
VI. REFERENSI [AK01] Kadir, Abdul, Pengenalan Sistem Informasi, Andi, Yogyakarta, 2003. [BM01] Muliawan, Bondan, ”Membuat MySQL Monitor dengan PHP”, [FA01] Fathansyah, Basis Data, Informatika, Bandung, 2002. [IN01] Indrajani, S.Kom, MM., Martin, S.Kom, Pemrograman Berorientasi Objek dengan Java, PT Elex Media Komputindo, Jakarta, 2004. [PH01] Pohan, Husni Iskandar, Kusnassriyanto Saiful Bahri, Pengantar Perancangan Sistem, Erlangga, Jakarta, 1997. [TS01] Sutabri, Tata, Sistem Informasi Manajemen, Andi, Yogyakarta, 2005. [WA01] Web Asep HS UGM, “Basis Data dan DBMS”, http://asep-hs.web.ugm.ac.id www.ilmukomputer.com, 25 Agustus 2003.
Volume III/No.1/Mei/2011
60