Software Klinik Dokter Gigi

Dear Sobat, salah satu aplikasi klinik gigi yang simple dan cukup populer di google search adalah Easy Dentist Assistant. Berikut ini kutipan dari sumbernya.

“Easy Dentist Assistant adalah aplikasi yang dibuat untuk membantu para dokter gigi yang membuka praktek pribadi dalam pencatatan medis pasien-pasiennya. Ketika jumlah pasien bertambah banyak, dan keluhan pasien semakin beragam, maka catatan anamnesis, diagnose, treatment, dan odontogram. Sehingga perkembangan pasien dapat dimonitor. Dan penanganan selanjutnya menjadi lebih terarah. Bisa jadi sifat manusiawi lupa para dokter muncul. Dokter tidak dapat mengingat, obat apa yang telah diberikan dan bagaimana keluhan tempo hari.

Tumpukan kertas catatan history medis pasien di meja dokter menjadi kurang berarti ketika jumlah kunjungan pasien semakin meningkat, karena butuh waktu untuk mencari data pasien tertentu pada tumpukan kertas tersebut, sementara pasien tersebut butuh segera ditangani.”

Cukup untuk menjadi pertimbangan alternatif bagi Anda yang berprofesi sebagai dokter gigi. Berikut ini beberapa screenshotnya:

Form Utama

Master Pasien

Master Diagnosa

Master Tindakan

Input Rekam Medis Odontogram

Input Rekam Medis – TIndakan

History Pasien

Print Out rekam medis/kwintansi

Download Trial

, , ,

Tinggalkan komentar

Free Ebook/Gratis Pembuatan Produk Aplikasi Database dengan Delphi 2010 (PDF)


Dalam buku ini saya berusaha tetap berkonsentrasi pada penjelasan teknik pembuatan aplikasi database itu sendiri, daripada membahas bagaimana menguasai Delphi 2010 yang cakupannya tentu lebih luas. Teknik pendukung saya bahas ketika dalam kasus tertentu diperlukan. Untuk membaca buku ini, dibutuhkan pengetahuan tentang dasar pemrograman Delphi.

Saya menekankan pada aspek produktivitas daripada pendalaman konsep pemrograman. Sebab dilihat dari sisi produksi, kebutuhan (atau lebih tepatnya keinginan) konsumen lebih diutamakan. Dan konsumen selalu ingin produk aplikasi/software yang dapat dibuat dengan cepat, stabil, sesuai spesifikasi yang diharapkan, dengan biaya murah. Umumnya konsumen tidak terlalu memperdulikan bagaimana aplikasi itu dibuat, apakah dengan teknik canggih dan rumit, atau dengan teknik mudah dan biasa-biasa saja, apakah dengan mengikuti spesifikasi akademis, atau mengedepankan sisi praktis.

Database yang pertama kali diperkenalkan dalam buku ini adalah Access.

Database kedua yang diperkenalkan dalam buku ini adalah MySQL, karena popularitas dan dukungan perintah SQL yang menurut hemat saya lebih lengkap daripada Access, dan sebagai langkah lanjut untuk memahami database lainnya. Karena hampir semua produk database, mempunyai konsep yang sama.

Juga saya bahas dalam buku ini pembuatan report, help, dan update sehingga diharapkan pembaca mempunyai kemampuan yang utuh dan lengkap tentang dasar-dasar pembuatan produk software profesional.

Free Download Link (.pdf)
Source Code Buku (.7z)

Untuk Source Code, silahkan extract dengan 7Zip

11 Komentar

Application –vs- Component Developer

Dalam suatu interview,  beberapa calon programmer  berkata sebagai berikut:

“ Saya adalah developer  aplikasi,  saya menggunakan komponen, dan tidak membuat komponen.”

Saya langsung berpikir, ‘ehem, saya ketemu dengan salah satu programmer  drag and drop yang tidak mengerti OOP’.  Karena kami bekerja dengan  komponen buatan sendiri,  calon programmer  yang berkata demikian tidak mungkin dipekerjakan di perusahaan kami.

Perkecualian  bagi  programmer Delphi  (di luar wawancara rekruitmen programmer) yang sangat akrab dengan OOP namun belum pernah membuat komponen.  Saya menyadari  bayangan sulitnya membuat komponen sering menjadi penghalang. Pada postingan mendatang saya akan bantah hal ini, dan akan saya tunjukkan betapa mudahnya membuat komponen. Pada posting kali ini saya akan tunjukkan kenapa  sebagai  developer aplikasi pun kita tetap dituntut mampu untuk membuat komponen.

Pada tahun 2007, kami memutuskan untuk mengkonversi aplikasi database yang masih menggunakan BDE  ke DBX.  Untuk melakukan hal ini, kami membuat suatu aplikasi yang dapat menkonversi seluruh  komponen TQuery ke komponen TDbxQuery.

Proses pengkoversian ke model 3  komponen DBX(TSqlQuery + TProvider + TClientDataset) akan sangat rawan terjadi kesalahan. Dan juga akan menghabiskan lebih banyak waktu dari yang dapat kami alokasikan.

Karena itu kami memutuskan untuk menghabiskan beberapa hari untuk membuat suatu komponen yang terlihat dan mempunyai sifat yang mirip seperti  TQuery namun secara internal mempunyai implementasi yang berbeda dengan menggunakan model 3 komponen DBX. Komponen tersebut mirip dengan TSimpleDataset namun mempunyai property dan function dengan nama yang sama dengan property dan function dari TQuery yang digunakan dalam aplikasi kami. Yang dengan hal tersebut memungkinkan bagi kami untuk mencari dan mengganti instance  TQuery dengan TDbxQuery.  Ini membuat kami dapat menyelesaikan proses konversi dalam waktu lebih singkat  daripada jika kami langsung me-replace satu persatu komponen dalam tiap form  dengan komponen yang sudah built in di Delphi. Selama kami hanya berurusan dengan implementasi kode komponen buatan tersebut, kami dapat menampilkan berbagai fungsi yang dibutuhkan dari model tiga komponen tersebut dengan tanpa secara langsung merubah kode aplikasi.

Ketika proses konversi ini berlangsung, tanpa disadari bahwa kami telah menggunakan ratusan komponen TDBGrid dalam aplikasi. Maka kami memutuskan mengembangkan aplikasi untuk dapat digunakan dalam jangka panjang. Kami mengganti komponen TDBGrid dengan TDwsGrid. Awal mulanya kode komponen TDwsGrid sebagai berikut.  Tidak ada perbedaan sama sekali dengan kode TDBGrid.

TDwsGrid = class(TCustomDBGrid)

published

property Align;

property Anchors;

property BiDiMode;

property BorderStyle;

property Color;

property Columns stored False;

property Constraints;

property Ctl3D;

property DataSource;

property DefaultDrawing;

property DragCursor;

property DragKind;

property DragMode;

property Enabled;

property FixedColor;

property Font;

property ImeMode;

property ImeName;

property Options;

property ParentBiDiMode;

property ParentColor;

property ParentCtl3D;

property ParentFont;

property ParentShowHint;

property PopupMenu;

property ReadOnly;

property ShowHint;

property TabOrder;

property TabStop;

property TitleFont;

property Visible;

property OnCellClick;

property OnColEnter;

property OnColExit;

property OnColumnMoved;

property OnDrawColumnCell;

property OnDblClick;

property OnDragDrop;

property OnDragOver;

property OnEditButtonClick;

property OnEndDock;

property OnEndDrag;

property OnEnter;

property OnExit;

property OnKeyDown;

property OnKeyPress;

property OnKeyUp;

property OnMouseActivate;

property OnMouseDown;

property OnMouseEnter;

property OnMouseLeave;

property OnMouseMove;

property OnMouseUp;

property OnMouseWheel;

property OnMouseWheelDown;

property OnMouseWheelUp;

property OnStartDock;

property OnStartDrag;

property OnTitleClick;

end;

Pada suatu hari kemudian, ketika saya mengamati komponen TDwsGrid, kini  telah mempunyai  tambahan kemampuan untuk:

–          Mengurutkan data sesuai dengan kolom Title yang diklik

–          Posisi dan ukuran kolom dapat diatur dalam suatu file konfigurasi

–          Mempunyai fasilitas ekspor ke file Excel

Memang  kemampuan yang ditambahkan dalam komponen tersebut bukan sesuatu yang sangat hebat, namun dengannya memungkinkan bagi kita untuk menambah banyak fungsionalitas TDBGrid tanpa harus menuliskan disetiap form yang menggunakan komponen ini.

Ketika hal ini kami jelaskan pada developer aplikasi, bisa jadi salah satu dari mereka akan bertanya: “Kenapa tidak membeli komponen pihak ketiga saja yang mempunyai fitur seperti itu?” Jawab Saya “Kami sudah melakukannya, ketika kami mendapatkan anggaran, kami telah membeli TMS Subscription dan sekarang kami menggunakan TDBAdvGrid   pada banyak tempat.”

Namun peristiwa yang kami alami pada kasus TDBGrid masih juga terjadi pada paket komponen pihak ketiga. Saat ini kami dalam proses pembuatan komponen baru kami  sebagai berikut:

TdwsAdvDbGrid = class(TAdvDBGrid)
end;

Sehingga memungkinkan bagi kami untuk menambahkan fungsi tambahan ketika dibutuhkan.  Memang betul, saat ini kami belum memerlukan untuk menambahkan fungsi-fungsi baru. Namun peristwa yang kami alami terdahulu menjadi pelajaran berharga buat kami.

Hal tersebut diatas tidak hanya diterapkan untuk fungsi tambahan, namun bisa kita terapkan untuk mensetting  nilai  property tertentu yang berlaku secara global. Misalkan, setiap menggunakan komponen TEdit Anda harus merubah Font ke  nilai tertentu yang telah Anda tetapkan. Maka daripada mengerjakan berulang-ulang merubah font setiap kali Anda meletakkan component TEdit pada form, Anda dapat membuat sendiri suatu komponen, katakanlah TMyEdit, yang dalam kode nya, kita tambahkan kode untuk merubah Font.  Sehingga setiap kali TMyEdit diletakkan pada form, otomatis Font nya telah berganti ke Font yang kita inginkan di awal mula.

interface

uses
  SysUtils, Classes, Controls, StdCtrls;

type
  TMyEdit = class(TEdit)
  public
    constructor Create(AOwner : TComponent); override;
  end;

procedure Register;

implementation
{ TMyEdit }

constructor TMyEdit.Create(AOwner: TComponent);
begin
  inherited;
  Font.Name := 'My Crazy Font';
end;

Dengan demikian, pada dasarnya sudah menjadi keharusan, bahwa seorang developer haruslah bisa membuat aplikasi dan sekaligus mampu membuat komponen. Menghabiskan sedikit waktu untuk mempelajari pembuatan komponen akan membantu meningkatkan kemampuan Anda untuk membuat aplikasi yang besar.

Diterjemahkan secara bebas dari sumber:
http://www.delphifeeds.com/go/f/80691?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+delphifeeds+%28DelphiFeeds.com%29

Oleh: mambamaestro: altaifa-dev.co.cc

2 Komentar

Biogas Kantong Plastik Pengganti LPG

Dusun Bendrong, Desa Argosari, Kecamatan Jabung Malang, telah berhasil mengembangkan biogas dengan menggunakan kantong  plastik sebagai tangki gas dengan bahan dasar kotoran sapi. Akibat sentuhan Muhamad Slamet, elpiji subsidi pemerintah menjadi barang tak laku di dusun terpencil itu.  Warga menjadi kelebihan bahan bakar gas, karena reaktor gas yang mereka bangun.

1 Komentar

Istilah-istilah Pajak

DBKB = Daftar Biaya Komponen Bangunan
DJP = Direktorat Jenderal Pajak
KPP = Kantor Pelayanan Pajak
NIR = Nilai Indikasi Rata-rata
NJOP = Nilai Jual Objek Pajak
NOP = Nilai Objek Pajak
OP = Objek Pajak
PBB = Pajak Bumi dan Bangunan
PST = Pelayanan Satu Tempat
SISMIOP = Sistem Manajemen Informasi Objek Pajak
SP = Subyek Pajak
SPOP = Surat Pemberitahuan Objek Pajak
LSPOP = Lampiran SPOP
SPPT = Surat Pemberitahuan Pajak Terhutang
STTS = Surat Tanda Terima Setoran
ZNT = Zona Nilai Tanah
WP = Wajib Pajak

Tinggalkan komentar

MVC Dalam Delphi Programming II – Meniru Konsep CI

CATATAN: Jangan menggunakan variabel bertipe interface untuk menyimpan data bertipe TObject. Bikin Error!

CI atau Code Igniter mempunyai konsep mvc yang menarik. Dibanding Tulisan saya sebelumnya, model mvc yang ditawarkan oleh CIebih elegan. Dibandingkan konsep MVC yang saya gambarkan dulu, yang hanya memanggil/memanfaatkan prosedur konsep MVC CI memanfaatkan kelas. Baca entri selengkapnya »

1 Komentar

MVC Dalam Delphi Programming

Author : Muchammad Aly mBA, S.Kom      * Download (*.doc)

Dalam pembuatan aplikasi database dengan Delphi, umumnya kita menggunakan komponen-komponen database, baik berupa komponen koneksi (Misal: TAdoConnection, IBDatabase, dst),   turunan TDataset (Misal: TAdoTable,  TQuery, dst) atau kontrol databound (DBGrid, DBEdit, dst).

Dengan pendekatan pengembangan aplikasi seperti ini,  kita biasa menuliskan perintah sql, business logic, validasi input, pengaturan tampilan sekaligus dalam satu form (satu unit).

Pengembangan aplikasi ini mempunyai kelemahan dari satu sisi. Diantaranya:

  1. Sulit dikembangkan dalam suatu tim yang saling bekerja sama. Misalkan tim yang menangani desain tampilan, ketika menyisipkan/ mengedit kode-kode yang merubah tampilan sangat boleh jadi business logic menjadi ikut terpengaruh. Demikian juga ketika tim yang menangani  database, ketika dibutuhkan perubahan perintah sql, sangat boleh jadi tingkah laku form akan berubah.
  2. Sulit dimaintenance. Programmer yang meneruskan pengembangan aplikasi mau tidak mau harus memahami source code secara keseluruhan sebelum dapat ikut berpartisipasi. Hal ini disebabkan keterkaitan yang demikian erat logika pemrograman dalam satu form/satu unit. Satu perubahan yang kecil dapat mempengaruhi keseluruhan  tingkah laku form.

Untuk menghindari hal tersebut di atas dibutuhkan pemisahan penulisan source code dalam bagian-bagian tertentu. Salah satu metode pemisahan source code ini adalah dengan menggunakan paradigma MVC yang merupakan kependekan dari Model View Controller.

Baca entri selengkapnya »

Tinggalkan komentar