billing delphi
TRANSCRIPT
BAB I
PENDAHULUAN
1.1 Latar Belakang
Setiap bidang usaha kini selalu melakukan transaksi, apalagi bidang-bidang yang selalu
melakukan transaksi dalam jumlah besar seperti rumah sakit atau departement store atau bidang
usaha yang transaksinya berbentuk abstrak seperti usaha rental pengetikan, warung internet atau
warung game online, dan disinilah sistem billing bekerja.
Sistem billing merupakan sistem yang membantu para usahawan untuk mengatur dan
mencatat segala transaksi yang terjadi. Contohnya bagi pengusaha warung internet, billing sistem
digunakan untuk memonitor penggunaan dan pemasukan warnetnya. Sedangkan jika bagi
usahawan di bidang perumahsakitan sistem billing digunakan untuk mencatat proses pelayanan,
mulai pasien datang sampai dengan pasien pulang. Menghitung biaya yang harus dibayar pasien
secara otomatis, serta memberikan informasi sebagai analisa pengambilan keputusan secara
cepat dan akurat.
Keakuratan dalam penghitungan merupakan keuntungan yang lebih pada setiap usaha.
Karena kesalahan sekecil apapun yg dilakukan oleh usahawan akan mendatangkan kerugian pada
usahanya maupun konsumen. Tempat usaha yang belum banyak menggunakan sistem billing
yakni pada usaha rental pengetikan. Banyak pemlik usaha ini masih mengukur lamanya
pemakaian menggunakan jam manual. Sehingga kemungkinan human error sangatlah tinggi
dalam penentuan tarif pemakaian setiap komputer user.
Berdasarkan keakuratan sistem billing pada setiap usaha, penulis ingin membuat aplikasi ini
dalam penyusunan Tugas Akhir Semester dengan judul “Billing Komputer Sederhana”. Aplikasi
ini diharapkan dapat diaplikasikan pada usaha rental pengetikan yang membutuhkan pencatatan
waktu yang akurat.
1.2 Rumusan Masalah
Berdasarkan latar belakang tersebut, maka rumusan masalah yang dibahas adalah sebagai
berikut;
1. Apa saja komponen Delphi7 yang dibutuhkan dalam pembuatan aplikasi?
2. Bagaimana merancang program aplikasi billing pada Delphi7?
3. Bagaimana menguji aplikasi tersebut agar sesuai dengan yang diinginkan?
1
1.3 Tujuan
Berdasarkan rumusan masalah tersebut, maka tujuan yang ingin dicapai dalam pembuatan
aplikasi ini antara lain:
1. Menjelaskan komponen Delphi7 dalam pembuatan aplikasi.
2. Membuat program aplikasi billing menggunakan Delphi7.
3. Menguji aplikasi agar sesuai dengan yang diinginkan.
1.4 Manfaat Aplikasi
Manfaat yang dapat dirasakan dengan adanya Billing Komputer Sederhana adalah sebagai
berikut:
1. Bagi Mahasiswa
Aplikasi ini merupakan bentuk implementasi ilmu yang diperoleh mahasiswa selama
menempuh mata kuliah Pemrograman Visual di STT STIKMA Internasional Malang.
2. Bagi Masyarakat
Para pengusaha rental pengetikan tidak perlu lagi menghafal waktu awal pemakaian
komputer serta melakukan pembuatan ringkasan pendapatan usaha secara manual.
1.5 Batasan Masalah
Batasan masalah dalam tugas pembuatan aplikasi yang diberi judul “Billing Komputer
Sederhana” adalah sebagai berikut:
1. Aplikasi ini dibuat menggunakan Borland Delphi7
2. Aplikasi ini hanya bekerja menghitung lamanya pemakaian komputer dan penjumlahan
keseluruhan pemakaian.
3. Aplikasi ini hanya dibuat untuk 3 unit komputer.
4. Penghitungan waktu dalam aplikasi ini bergantung pada waktu dari komputer pengguna.
5. Biaya yang dibebankan pada aplikasi ini adalah Rp.59,-/menit.
6. Aplikasi ini dibuat tanpa database.
7. Penggunaan aplikasi ini yakni diletakkan pada komputer master sebagai admin yang
mengatur aplikasi dimulai dan penghitungan biaya.
2
BAB II
PEMBAHASAN
2.1 Landasan Teori
2.1.1 Borland Delphi7
Borland Delphi merupakan suatu bahasa pemograman yang memberikan berbagai
fasilitas pembuatan aplikasi visual. Keunggulan bahasa pemograman ini terletak pada
produktivitas, kualitas, pengembangan perangkat lunak, kecepatan kompilasi, pola desain yang
menarik serta diperkuat dengan program yang terstruktur. Keunggulan lain dari Delphi ini adalah
dapat digunakan untuk merancang program aplikasi yang memiliki tampilan seperti program
aplikasi lain yang berbasis Windows.
Lingkungan pengembangan terpadu atau Integrated Development Environment (IDE)
dalam program Delphi terbagi menjadi delapan bagian utama, yaitu Main Window, ToolBar,
Component palette, Form Designer, Code Editor, Object Inspector, dan Code Exploring.
Gambar 2.1 Lembar Kerja Delphi
2.1.2 Komponen Main Menu
Menu pada Delphi memiliki kegunaan yang sama seperti menu pada aplikasi windows.
Dengan menggunakan fasilitas menu, Anda dapat memanggil form lain dengan lebih ringkas.
Sehingga apabila aplikasi menggunakan banyak form, maka pemakaian komponen Main Menu
akan sangat membantu. Nama-nama menu ditampilkan pada bagian menu bar yang terdapat pada
3
bagian atas layar. Untuk bekerja dengan menggunakan menu, dapat menggunakan fasilitas
mouse maupun keyboard. Main Menu terletak didalam komponen standard Delphi.
Dalam aplikasi ini main menu digunakan untuk memanggil form komputer 1, 2 dan 3
serta form untuk menghitung total pendapatan yang diterima. Agar memudahkan pemanggilan
antar form, maka Main Menu tidak hanya digunakan pada form utama saja melainkan pada
semua form yang saling berhubungan.
2.1.3 Komponen Edit
Terletak didalam komponen standard. Komponen yang digunakan untuk menerima satu
baris teks yang merupakan data input pemakai. Komponen ini juga dapat digunakan untuk
menampilkan teks. Teks yang terdapat dalam komponen Edit dapat dirubah oleh user. Sehingga
komponen Edit ini sangat cocok untuk digunakan sebagai input username pemakai komputer
pada aplikasi.
2.1.4 Komponen Label
Terletak didalam komponen standard. Komponen ini berfungsi untuk menampilkan teks
tapi tidak dapat diubah oleh user. Sehingga teks yang ditampilkan adalah teks yang telah ditulis
dalam program. Penampilan teks ini digunakan untuk pemberian judul, pembuatan nama dan
sebagai penampil data yang tidak dapat diubah oleh user seperti biaya.
2.1.5 Komponen Timer
Sesuai nama dari komponen ini yakni Timer yang memiliki arti sebagai pewaktu.
Komponen ini dapat digunakan untuk menampilkan jam dan tanggal. Timer terletak pada
komponen system. Dalam aplikasi ini komponen timer digunakan untuk menentukan waktu awal
dan akhir pemakaian komputer agar durasi penggunaan komputer.
2.1.6 Komponen StringGrid
Digunakan untuk menampilkan table dalam form. Jumlah baris dan kolom dapat
ditentukan pada saat pembuatan aplikasi. Isi dari table dapat diatur melalui komponen lain
seperti Edit maupun Label. Selain itu pengisian tael juga dapat langsung dilakukan pada
StringGrid, namun harus ada penyesuaian terlebih dahulu dalam pembuatan program. Komponen
StringGrid ini dipakai untuk pembuatan laporan biaya pemakaian komputer.
4
2.1.7 Komponen Button
Komponen yang dipakai untuk membuat tombol eksekusi dari aplikasi yang akan
dijalankan. Jika tombol button tersebut diklik maka suatu perintah atau kejadian akan dijalankan.
Komponen Button digunakan untuk menentukan kapan memulai dan selesai pemakaian
komputer user. Button ini juga digunakan untuk menampilkan jumlah total pendapatan dari
penggunaan komputer.
2.1.8 Komponen Panel
Hampir sama dengan komponen Label, dimana komponen ini hanya menampilkan teks
tanpa bias diedit oleh user. Namun dalam Panel bentuk dari tempat penempatan teks tersebut
dapat dibuat mejadi tiga dimensi agar lebih menarik dan membuat perbedaan jika ada data yg
penting. Dalam aplikasi ini Panel digunakan utuk menampilkan jumlah pendapatan agar lebih
mudah dibaca.
2.2 Hasil Pembuatan Aplikasi
Untuk memudahkan dalam penggunaan, maka aplikasi Billing Komputer Sederhana ini
menggunakan beberapa form yang saling berhubungan dan memiliki fungsi masing-masing.
2.2.1 Form Utama
Form Utama merupakan tampilan awal ketika aplikasi dijalankan. Form ini beisi judul
aplikasi serta Main Menu yang berfungsi untuk memanggil form selanjutnya. Isi dari Main Menu
tersebut antara lain:
1. Menu => Keluar digunakan untuk keluar dari aplikasi.
2. Billing => Komputer1/2/3 digunakan untuk memanggil billing Komputer1/2/3
3. Total digunakan untuk memanggil form total pendapatan.
4. Bantuan => Pemakaian digunakan untuk memanggil form cara menggunakan aplikasi
Info digunakan untuk memanggil form info tentang aplikasi.
2.2.2 Form Komputer1/2/3
Merupaka form inti dari aplikasi Billing Komputer Sederhana yang berisi waktu
mulai, waktu selesai dan penghitungan durasi untuk mendapatkat biaya pemaikaian. Setelah
5
biaya pemakaian didapat maka akan tersimpan dalam Tabel laporan yang nantinya akan berisi
Username, Durasi dan biaya.
2.2.3 Form Total
Form Total akan bekerja jika dalam komputer1/2/3 telah dilakukan pentotalan biaya
disetiap komputer. Hal ini dikarenakan fungsi form total adalah menjumlahkan seluruh
pendapatan mulai dari komputer1, komputer2 dan komputer3 agar dapat direkap secara runtut
dan jelas.
2.2.4 Form Bantuan
Terdiri dari dua pilhan yakni pemakaian dan info, kedua form ini hanya sebagai literatur
user dalam menggunakan aplikasi agar tidak mengalami kesulitan. Form bantuan ini
dimaksudkan seperti menu help pada aplikasi berbasis windows lainnya.
2.3 Pengujian Aplikasi
Pengujian aplikasi ini dimaksudkan agar aplikasi yang telah dibuat dapat berjalan sesuai
dengan yang diharapkan. Pengujian dilakukan pada setiap form dari aplikasi agar dapat diketahui
dengan mudah apabila terjadi sebuah kesalahan (error) dalam pembuatan aplikasi.
Pengujian dilakkukan melalui Form Utama terlebih dahulu yang menjadi form pusat dalam
menjalankan aplikasi keseluruhan. Mulai dari pemanggilan setiap form dari Main Menu apakah
dapat terpanggil semua atau masih terdapat kesalahan dalam pemanggilan. Jika terjadi kesalahan
dalam pemanggilan maka dapat langsung dituju form apa yang terjadi kesalahan.
Pengujian selanjutnya adalah pada masing-masing billing komputer. Mulai dari pengisian
username, penghitungan durasi, pengisian laporan hingga total dari keseluruhan dari laporan per
komputer didapatkan. Yang menjadi inti dari pengujian setiap form billing ini adalah button yang
member perintah dan juga timer sebagai yang diperintah oleh button.
Jika dalam form masing-masing billing komputer tidak terjadi kesalahan, pengujian
selanjutnya adalah form total. Form ini hanya menampilkan kembali biaya total setiap komputer
untuk dijumlahkan seluruhnya. Jika pada setiap komputer belum ditotal maka Form Total tidak
akan menampilkan jumlah yang didapat.
6
Form selanjutnya yakni bantuan yang hanya menampilkan Form dengan teks informasi
pemakaian aplikasi jika user mengalami kesulitan dalam menggunkan aplikasi Billing Komputer
Sederhana ini.
Apabila permasalahan dalam setiap for telah diatasi, maka tampilan aplikasi yang telah
dibuat adalah sebagai berikut:
Gambar 2.2 Tampilan Form Utama dan Form Billing Komputer1/2/3
Gambar 2.3 Tampilan Form Total
7
2.4 Kode Program
3.4.1 Program Form Utama
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, ComCtrls, jpeg, StdCtrls;
type
TFMain = class(TForm)
MainMenu1: TMainMenu;
Menu1: TMenuItem;
Keluar1: TMenuItem;
Biling1: TMenuItem;
Bantuan1: TMenuItem;
Pemakaian1: TMenuItem;
Info1: TMenuItem;
StatusBar1: TStatusBar;
Timer1: TTimer;
Komputer11: TMenuItem;
Komputer21: TMenuItem;
Komputer31: TMenuItem;
Image1: TImage;
Timer2: TTimer;
Label1: TLabel;
otal1: TMenuItem;
procedure Keluar1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Komputer11Click(Sender: TObject);
procedure Komputer21Click(Sender: TObject);
procedure Komputer31Click(Sender: TObject);
procedure Pemakaian1Click(Sender: TObject);
procedure Info1Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure otal1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FMain: TFMain;
f : integer;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7;
{$R *.dfm}
procedure TFMain.Keluar1Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TFMain.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[1].Text:= '10141130';
statusbar1.Panels[2].Text:= 'Versi1.0';
statusbar1.Panels[3].Text:=
formatdatetime('dddd',now);
statusbar1.Panels[4].Text:=
formatdatetime('mmmm',now);
statusbar1.Panels[5].Text:= timetostr(now());
end;
procedure TFMain.Komputer11Click(Sender:
TObject);
8
begin
Fkomp1.Show;
end;
procedure TFMain.Komputer21Click(Sender:
TObject);
begin
fkomp2.show;
end;
procedure TFMain.Komputer31Click(Sender:
TObject);
begin
Fkomp3.show;
end;
procedure TFMain.Pemakaian1Click(Sender:
TObject);
begin
FLap.ShowModaL;
end;
procedure TFMain.Info1Click(Sender: TObject);
begin
FInfo.ShowModal;
end;
procedure TFMain.Timer2Timer(Sender: TObject);
var
xx, yy : string;
begin
f := f + 1;
statusbar1.Panels[0].Text:= 'Ahmad Dian
Firmansyah
';
XX:=COPY(statusbar1.Panels[0].Text,f,LENGTH(st
atusbar1.Panels[0].Text));
YY:=XX+COPY(statusbar1.Panels[0].Text,1,f);
statusbar1.Panels[0].Text := YY;
IF f=1+LENGTH(statusbar1.Panels[0].Text) THEN
f := 1;
end;
procedure TFMain.otal1Click(Sender: TObject);
begin
FTotal.Show;
end;
end.
3.4.1 Program Billing Komputer
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, Menus,
Grids;
type
TFkomp1 = class(TForm)
Timer1: TTimer;
MainMenu1: TMainMenu;
Biling1: TMenuItem;
Komputer21: TMenuItem;
Komputer31: TMenuItem;
Close1: TMenuItem;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label1: TLabel;
Label2: TLabel;
9
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Lmul1: TLabel;
LWkt1: TLabel;
LDur1: TLabel;
LBiaya: TLabel;
BMul1: TButton;
Edit1: TEdit;
TabSheet2: TTabSheet;
SG_lap1: TStringGrid;
Label7: TLabel;
P1: TPanel;
Panel2: TPanel;
BTot1: TButton;
Label8: TLabel;
Bsel1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BMul1Click(Sender: TObject);
procedure Bsel1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure Close1Click(Sender: TObject);
procedure Komputer21Click(Sender: TObject);
procedure Komputer31Click(Sender: TObject);
procedure BTot1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure Hitung;
end;
laporan = record
nama : string;
biaya : string;
dur : string;
end;
var
Fkomp1: TFkomp1;
user : array of laporan;
N : Integer;
implementation
uses Unit5, Unit1, Unit3, Unit4;
{$R *.dfm}
procedure TFkomp1.FormCreate(Sender: TObject);
begin
N := 0;
end;
procedure TFkomp1.FormShow(Sender: TObject);
begin
Edit1.Text:='';
Lmul1.Caption:='00:00:00';
LWkt1.Caption:='00:00:00';
LDur1.Caption:='00:00:00';
LBiaya.Caption:='';
timer1.Enabled:=false;
BSel1.Enabled:=false;
with SG_lap1 do
begin
cells[0,0]:='Username';
cells[1,0]:='Durasi';
cells[2,0]:='Biaya';
end;
end;
procedure TFkomp1.BMul1Click(Sender: TObject);
10
begin
LMul1.Visible:=true;
LMul1.Caption:=TimeToStr(Now);
Bsel1.Enabled:=true;
BMul1.Enabled:=false;
timer1.Enabled:=true;
LDur1.Caption:='00:00:00';
LBiaya.Caption:='';
end;
procedure TFkomp1.Bsel1Click(Sender: TObject);
var
jam,menit:word;
bayar : integer;
begin
LDur1.Caption:=formatdatetime('hh:mm:ss',
(strtotime(Lwkt1.Caption)-
strtotime(LMul1.Caption)));
BSel1.Enabled:=false;
Timer1.Enabled:=false;
jam:=strtoint(copy(LDur1.Caption,1,2));
menit:=strtoint(copy(LDur1.Caption,4,2));
bayar:=((jam*60)+menit)*59;
LBiaya.Caption:= inttostr(bayar);
N:=N+1;
setlength(user,N);
with user[N-1] do
begin
Nama:=Edit1.Text;
Dur:=LDur1.Caption;
biaya:=Lbiaya.Caption;
end;
BMul1.Enabled:=true;
end;
procedure TFkomp1.Timer1Timer(Sender: TObject);
begin
LWkt1.Caption:=timetostr(Time);
end;
procedure TFkomp1.TabSheet2Show(Sender:
TObject);
var
i : integer;
begin
with SG_lap1 do
begin
rowcount:=N+1;
for i:=0 to N-1 do
begin
cells[0,i+1]:=user[i].nama;
cells[1,i+1]:=user[i].dur;
cells[2,i+1]:=user[i].biaya;
end;
end;
end;
procedure TFkomp1.Close1Click(Sender: TObject);
begin
close;
end;
procedure TFkomp1.Komputer21Click(Sender:
TObject);
begin
Fkomp2.show;
end;
procedure TFkomp1.Komputer31Click(Sender:
TObject);
begin
FKomp3.Show;
end;
11
procedure TFkomp1.Hitung;
var i, j : integer;
begin
For i:=1 To SG_lap1.RowCount-1 do
j :=j+ StrToint(SG_lap1.Cells[2,i]);
P1.Caption:=Inttostr(j);
end;
procedure TFkomp1.BTot1Click(Sender: TObject);
begin
Hitung;
end;
end.
3.4.1 Program Total
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TFTotal = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
P1: TPanel;
P2: TPanel;
P3: TPanel;
Btot: TButton;
PTot: TPanel;
Button1: TButton;
procedure FormShow(Sender: TObject);
procedure BtotClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FTotal: TFTotal;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
procedure TFTotal.FormShow(Sender: TObject);
begin
P1.Caption:=Fkomp1.P1.Caption;
P2.Caption:=Fkomp2.P2.Caption;
p3.Caption:=FKomp3.P3.Caption;
PTot.Caption:='';
end;
procedure TFTotal.BtotClick(Sender: TObject);
begin
PTot.Caption:=inttostr(strtoint(p1.Caption)
+StrToInt(p2.Caption)+StrToInt(p3.Caption));
end;
procedure TFTotal.Button1Click(Sender: TObject);
begin
close;
end;
end.
12
3.4.2 Program Bantuan Pemakaian
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls;
type
TFLap = class(TForm)
Memo1: TMemo;
private
{ Private declarations }
public
{ Public declarations }
end;
datauser = record
username : STRING;
Mulai : string;
waktu : Integer;
bayar : string;
end;
var
FLap: TFLap;
implementation
{$R *.dfm}
end.
3.4.1 Program Bantuan Info
unit Unit6;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TFInfo = class(TForm) Memo1: TMemo; private { Private declarations } public { Public declarations } end;
var FInfo: TFInfo;
implementation
{$R *.dfm}
end.
13
BAB III
PENUTUP
3.1 Kesimpulan
1. Aplikasi Billing Komputer Sederhana ini menggunakan Borland Delphi7 dengan
komponen pendukung yakni; MainMenu, Edit, Label, Timer, StringGrid, Button dan
Panel.
1. Perancangan program aplikasi Billing Komputer sederhana dirancang untuk 3 unit
komputer dengan form utama sebagai form tampilan awal dan form lain untuk
pendukung aplikasi.
3. Pengujian aplikasi harus dilakukan pada setiap form terlebih dahulu agar memudahkan
dalam pengecekan kesalahan (error). Sehingga untuk menyesuaikan program dengan yang
diinginkan dapat dilakukan dengan cepat.
3.2 Saran
1. Billing Komputer Sederhana hanya sebagai penghitung biaya durasi pemakaian komputer.
Kedepannya diharapkan ada pengembangan dengan penambahan fitur baru agar Billing
Komputer Sederhana bisa mencakup kebutuhan yang diinginkan oleh pengusaha rental
pengetikan.
2. Billing Komputer Sederhana belum terdapat sistem database. Sehingga apabila program
tersebut dimatikan maka data dalam laporan juga akan hilang atau reset. Maka untuk
menympan data agar lebih aman dapat dipergunakan database sebagai media
penyimpanan.
3. Semoga makalah ini dapat menjadi media pembelajaran dalam mata kuliah Pemrograman
Vsual nantinya.
14
DAFTAR PUSTAKA
Andi. 2002. Pemrograman Borland Delphi 7. Madiun: Andi dan Madcoms.
http://www.google.com, diakses tanggal 25 Juni 2011
http://www.id.wikipedia.org, diakses tanggal 27 Juni 2011
15