Sunday, December 18, 2016

Perancangan dan Implementasi Aplikasi Pembayaran Tagihan Sederhana

Pada post saya kali ini, saya akan membahas tentang perancangan aplikasi untuk pembayaran tagihan. Dalam hidup kita, sering kita jumpai atau kita alami sendiri bagaimana proses suatu pembayaran tagihan, misal tagihan listrik, tagihan air, dan lain sebagainya. Setiap proses pembayaran tagihan tersebut memiliki sebuah kesamaan. Misalnya tagihan listrik, air, dan telepon memiliki beberapa kesamaan yaitu diukur berdasarkan banyaknya penggunaan dan memiliki suatu tarif per satuan tertentu.

Untuk merancang sebuah program yang dapat melayani sistem tagihan ini, dapat kita gunakan design pattern Template untuk rancangan dasarnya. Design pattern Template adalah sebuah design pattern di mana kelas-kelas yang ada mengikuti sebuah pola/template dari sebuah kelas utama/superclass. Ciri-ciri dari design pattern ini adalah adanya satu atau beberapa kelas abstrak pada superclass yang harus di override terlebih dahulu. Selain itu di dalam superclas terdapat satu atau beberapa fungsi yang mendefinisikan bagaimana cara kelas-kelas abstrak tadi harus dijalankan.  Design pattern ini cocok untuk sistem di mana dibutuhkan proses-proses yang sebenarnya serupa antara yang satu dengan yang lainnya, sehingga semua fungsinya tidak perlu dibuat secara berulang-ulang, hanya perlu menulis fungsi yang perlu di override saja.

Dalam contoh kali ini, kita akan membuat sebuah sistem tagihan yang akan melayani tiga jenis layanan penagihan, yaitu air, listrik, dan telepon.

A. Diagram Kelas

Pertama-tama, kita buat terlebih dahulu diagram kelasnya:
Untuk menjalankan program, kita akan menggunakan sebuah kelas yang hanya memiliki fungsi main() yaitu kelas ProgramDemo, sehingga Class Diagramnya dalam aplikasi BlueJ adalah seperti berikut:

B. Implementasi dalam Bentuk Code

Untuk source code hasil implementasi dapat dilihat di sini.


C. Hasil Akhir

Hasil akhir dari program di atas adalah sebagai berikut:

























Referensi:

https://www.tutorialspoint.com/design_pattern/template_pattern.htm
http://www.oodesign.com/template-method-pattern.html

No comments:

Post a Comment