J.a.i.m’s Diary

Trik menyiasati kodifikasi nomor dokumen yang dinamis

Ada kasus yang cukup menggelitik yang pernah saya temui dalam proses pengembangan aplikasi Invoicing: perusahaan memiliki cukup banyak pelanggan/customer dan dalam menerbitkan dokumen invoice, perusahaan menerapkan bentuk format penomoran dokumen invoice yang berbeda-beda untuk tiap-tiap pelanggan yang ada. Kasus ini aslinya sebenarnya terselesaikan dengan trik yang saya buat dengan menggunakan bahasa pemrograman delphi, namun kali ini saya akan mencoba mengupasnya dengan memanfaatkan python. :)

Studi Kasus

Adalah satu hal yang lumrah dalam penerbitan dokumen invoice perusahaan menerapkan kodifikasi penomoran untuk setiap dokumen invoice yang diterbitkan, sebagai contoh: 30912/INV/EXP/III/2010. Hal ini dilakukan untuk mempermudah manajemen dan pengaturan atas dokumen yang dibuat. Permasalahannya adalah bagaimana jika kodifikasi tersebut bersifat dinamis, dalam artian bergantung pada pelanggan-nya, dalam arti misalnya: untuk pelangan PT. DAUN BUAH menggunakan format dokumen 30912/EXP/MAR/2010, sementara untuk PT. SEGARA PERKASA berformat 30912/EXP/03/2010, dan untuk PT. ABADI NUSA menggunakan format 30912/EXP/INV/2010. Hal ini tentunya akan menjadi kasus yang cukup menggelitik untuk dipecahkan.
(more…)

Membuat Aplikasi Modular secara Dinamis

Aplikasi yang bersifat modular sebenarnya tidaklah asing saat ini, dengan memecah kompleksitas software ke dalam sejumlah modul akan memudahkan developer memaintain lifetime aplikasi yang dibuatnya secara lebih baik, hal ini karena developer dapat lebih memfokuskan permasalahan pada modul-modul yang ada. Delphi secara RAD sebenarnya sudah mempermudah developer untuk menyusun aplikasi ini sebagai modul-modul yang disusun baik dengan memanfaatkan TDataModule ataupun TForm. Namun seringkali pula kita terjebak dalam proses pangil memanggil modul satu dengan modul yang lain yang biasanya dilakukan secara langsung seperti contoh berikut:


  with TForm2.Create(Self) do
  try
    ShowModal;
  finally
    Free;
  end;

Tidak salah sebenarnya, namun proses panggil memanggil seperti ini menjadikan aplikasi menjadi kompleks, karena modul pemanggil sebagai aplikasi utama harus menyertakan pula unit atas modul-modul yang akan dipanggil. Program berskala yang lebih besar semacam dan kompleks akan melibatkan puluhan, ratusan, atau bahkan ribuan modul di dalamnya, apakah untuk program semacam ini semua modul tersebut harus disertakan? tentunya akan lebih baik bila modul-modul itu dapat dipanggil secara dinamis dan otomatis oleh pemanggil dengan mudah. Kita cukup membuat modulnya, meregistrasikannya, dan recompile. Aplikasi utama akan secara otomatis menampilkan modul baru tersebut. :)

Dynamic modular application

(more…)

 

About Me

Jaimy Azle My name is
Jaimy Azle, hufflepuff, I am a software developer with Delphi and C/C++ as major programming language. Living in Ungaran, Jawa Tengah.

Search

Categories:

Tag Cloud

Friends

Interests

Archives:

Meta:


Get Firefox!
Perhatian: Informasi yang terdapat disini bener-bener hanya merepresentasikan cerita, pengalaman, ataupun pandangan yang merupakan opini pribadi dari saya sebagai ego. Segala hal yang bersifat pandangan ke depan sebenarnya lebih bersifat spekulatif dan bisa saja berobah meski saya bukan bunglon.