Anda di halaman 1dari 110

KONSEP DA N APLIKASI

PEMROGRAMAN MENGGUNAKAN
BORLAND C++ BUILDER 6

BAGIAN 2:
APLI KASI VISUAL DATABASE
DENG AN ADO.NET
( MS A C C E S S & MS S QL S E RV E R 2 0 0 0 )
M . F A C H R U R R O Z I
Daftar Isi
MUQADDIMAH

1. PENDAHULUAN

2. KONSEP DASAR PEMROGRAMAN VISUAL

3. PEMROGRAMAN VISUAL MENGGUNAKAN BORLAND C++ BUILDER 6

4. KONSEP DASAR PERANCANGAN DATABASE

5. PENGENALAN BORLAND DATABASE DESKTOP INTERFACE

6. APLIKASI DATABASE SEDERHANA MENGGUNAKAN BORLAND DATABASE ENGINE


(BDE)

7. KONSEP DASAR PERANCANGAN SOFTWARE SISTEM INFORMASI

8. APLIKASI DATABASE MENGGUNAKAN ADO.NET – MS ACCESS DATABASE

9. APLIKASI DATABASE MENGGUNAKAN ADO.NET – MS SQL SERVER DATABASE

10. TIPS & TRIKS

11. PENUTUP

REFERENSI

RIWAYAT HIDUP

2
Muqaddimah

“Allah mengangkat derajat orang yang beriman dan orang yang berilmu pengetahuan
beberapa derajat”. (Mujaddalah 11)

“Abu Hurairah r.a. berkata: Rasulullah SAW bersabda: Barang siapa yang ditanya suatu
ilmu agama lalu menyembunyikannya, maka akan dikendalikan mulutnya pada hari
kiamat dengan kendali dari api neraka”. (Abu Dawud, Attirmidzi)

“Tiada akan pernah mampu seseorang dalam mengerjakan sesuatu tanpa pernah
mencobanya terlebih dahulu”.

Dari ketiga sumber ilmu inilah penulis ingin berusaha membuat sesuatu yang
bermanfaat bagi orang lain, walaupun masih banyak kekurangan yang terdapat di
dalam buku ini.

3
Buku merupakan lanjutan dari Konsep dan Aplikasi Pemrograman mengunakan Borland C++
Builder 6 Bagian 1 : Aplikasi Konsol. Buku ini membahas mengenai permograman secara
visual yang berorientaskan database. Adapun jenis database yang digunakan adalah MS
Acces dan MS SQL Server 2000. Sebagian besar isi dari buku ini merupakan rangkuman
dari sumber-sumber yang telah dibuat penulis lain. Penulis berharap agar buku ini dapat
bermanfaat bagi semua kalangan pembaca. Terima kasih untuk semuanya yang telah
memberikan banyak kritik dan saran serta dukungan dalam penulisan buku ini. Dunia
akan selalu indah karena kejujuran dan kebersamaan.

Palembang, Juni 2005

Penulis

4
1. Pendahuluan
Situasi persaingan bidang teknologi informasi membuat semua kalangan berlomba-
lomba untuk menjadi yang terbaik. Dimulai dari produk sistem informasi yang berbasis
konsol (dos) maupun yang berbasis wndow. Perusahaan-perusahaan telah melirik ke
arah pengembangan sistem informasi yang berbasis window, selain penggunaannya
tidak sulit, fungsi dan fasilitasnya sudah memnuhi kebutuhan mereka. Seperti kalu
dilihat pada masa lalu, perusahaaan menggunakan aplikasi dos untuk pelayanan
terhadap kastamernya.. Selain penggunaannya yang berbelit-belit, penampilan dan
fasilitasnya tidak memenuhi kebutuhan mereka.

Ambil sebuah contoh kasus sederhana. Sebuah perusahaan yang bergerak di bidang
tekstil. Perusahaan terserbut memiliki bagian-bagian kerja yang saling berkait. Ada
bagian keuangan yang mengatur pengeluaran dan pemasukkan perusahaan, ada bagian
produksi yang hanya memproduksi saja, ada bagian personalia yang mengatur jumlah
dan kinerja para karyawan, dan ada bagian pemasaran yang akan menawarkan produk
ke konsmen. Bayangkan, jika perusahaan tersebut tidak mempunyai sistem informasi
yang baik untuk pengelolaan perusahaannya, bagaimana bagian pemasarannya bisa
bekerja jika informasi dari bagian produksi tidak cepat diterima atau tidak sama sekali,
bagaimana bagian produksi bisa menghasilkan sebuah produk yang baik jika informasi
kinerja dan kebutuhan pegawai produksi lambat diterima oleh bagian personalia, dan
bagaimana bagian keuangan bisa menerima dan mengeluarkan dana jika informasi dari
personalia dan pemasaran tidak jelas diterima. Maka akan terjadi inefisiensi dari
perusahaan tersebut, baik dari segi waktu, maupun dari segi materi.

Masalah di atas banyak terjadi di perusahaan-perusahaan, untuk itu perlu dirancang


sebuah sistem informasi yang tepat untuk mengelola alur kerja di perusahaan tersebut.
Analisa penyebab keterlambatan penyampaian informasi, misalkan informasi yang
digunakan masih menggunakan kertas., tidak terkomputerisasi, atau data yang
dimasukkan tiap-tiap bagian tidak terintegrasi ke satu tempat, sehingga menyebabkan
data yang ada di tiap bagian itu berbeda satu sama lain.

Dikarenakan keadaan inilah Beberapa pengembang meningkatakan kemampuan


mereka dengan mendalami software yang berbasi window untuk membangun sebuah
sistem informasi yang dapat memenuhi kebutuhan kastamer. Salah satu software
pengembang yang mampu memberikan hal itu adalah Borland C++ Builder 6.

Borland C++ Builder 6 memiliki fasilitas-fasilitas yang penuh dalam mendukung


pengembang software sistem informasi, selain mampu untuk aplikasi-aplikasi yang

5
sederhana, ia juga mampu untuk pengembangan softaware yang berorientasikan
database standalone (tunggal) maupun client-server (database jaringan).

Sampai saat ini, pembuatan aplikasi visual dengan menggunakan bahasa C++ masih
merupakan sebuah mimpi buruk bagi para programmer, karena di dalamnya banyak
menuntut pembuatan file-file library yang sangat rumit. Namun sekarang Borland C++
Builder 6 telah mengembangkan aplikasi visual secara mudah dan cepat dimengerti.
Namum bagi para pemula yang ingin mengembangkan aplikasi visual dengan bahasa
C++, ada baiknya tanamkan konsep-konsep dasarnya dulu yang disediakan di buku dari
Konsep dan Aplikasi Pemrograman mengunakan Borland C++ Builder 6 Bagian 1 : Aplikasi
Konsol, karena di dalam buku ini merupakan lanjutan dari buku tersebut dan tidak
membahas lagi mengenai sintak-sintak dasar bahasa C++.

6
2. Konsep Dasar
Pemrograman Visual
Borland C++ Builder 6 merupakan salah aplikasi pengembang terbaik yang mempunyai
fasilitas yang lengkap. Aplikasi secara visual secara logika hampir sama dengan aplikasi
secara konsol, karena aplikasi secara visual merupakan pengembangan aplikasi secara
konsol.

PERBEDAAN PEMROGRAMAN V ISUAL DENGAN


PEMROGRAMAN TERSTRUKTUR

Dalam pengeksekusian kode programnya, pemrograman visual menerapkan konsep


event-driven, yaitu peksekusian yang didasarkan atas kejadian (event) tertentu. Setiap
kejadian tersebut mempunyai kode program sendiri yang disimpan dalam sebuah
fungsi. Berbeda dengan pemrograman terstruktur atau prosedural yang mengeksekusi
kode-kode programnya mulai dari awal sampai akhir program secara beruntun.

Pada dasarnya konsep pemrograman visual sama dengan konsep pemrograman


prosedura, yaitu adanya input, proses dan output. Tapi ada penambahan konsep
pemilihan untuk mengeksekusi proses programnya. Konsep pemilihan inilah yang
dipakai untuk menjalankan eventnya.

event execute yes Input

no

other action Process

Output

7
Untuk memahami konsep dasar pemrograman secara visual yang menerapkan konsep
event-driven, perhatikan pada saat menggunakan aplikasi-aplikasi yang yang terdapat
pada Microsoft Windows. Pada Windows pertama kali berjalan (running), aplikasi
tersebut masih berada dalam keadaan diam. Jika ingin menampilkan menu start, maka
harus mengklik tombol start yang terdapat di pojok kanan paling bawah, tampilan yang
akan muncul sebagai berikut:

Gambar 2.1 Menu Start

artinya, event (kejadian)nya adalah apakah tombol Start diklik. Jika diklik, maka akan
melakukan input data yang diperlukan, lalu memproses pengalohan data, kemudian
menampilkan data , yaitu menampilkan menu start seperti pada Gambar 2.1., dan hanya
proses itu yang dilakukan oleh aplikasi windows, aplikasi lainnya tetap berjalan seperti
semula.

Secara umum konsep pemrograman visual dapat digambarkan sebagai berikut:

8
Unit

Prosedur A Prosedur B

Prosedur C Prosedur D

Project

Unit 1 Unit 2

Unit 3 Unit 4

9
Dari gambar di atas, dapat dijelskan bahwa setiap prosedur atau fungsi yang terdapat di
dalam unit, dapat saling bebas mengekspresikan pernyataan di dalam tubuhnya masing-
masing, namun bisa juga saling membutuhkan. Jika suatu prosedur membutuhkan
informasi dari prosedur lain, maka ia harus mendefinisikan atau memasukkan (include)
nama prosedur yang ia ingingkan tersebut. Begitu juga yang terjadi di dalam suatu
project.

10
3. Pemrograman Visual
Menggunakan Borland C++
Builder 6
Borland C++ Builder 6, merupakan bahasa pemrograman yang mempunyai cakupan
kemampuan yang luas dan sangat canggih. Berbagai jenis aplikasi dapat dibuat dengan
software ini, termasuk aplikasi untuk mengolah teks, grafik, angka, database dan aplikasi
web. Khusus untuk pemrograman database, software ini menyediakan object yang
sangat kuat, canggih dan lengkap, sehingga memudahkan pemrogram dalam
merancang, membuat dan menyelesaikan aplikasi database yang diinginkan. Selain itu
software ini juga menangani data dalam berbagai format database, misalnya format MS
Access, Sybase, Oracle, FoxPro, dBase, Informix, MS SQL Server, MySQL dan lain-lain.
Namun secara default software menggunakan format Paradox dan dBase.

APLIKAS I SEDERHAN MENGUNAKAN BORLAND C++


BU ILDER 6

Untuk membuat aplikasi baru, langkah-langkah yang harus dilakukan yaitu:

1. Tutup semua aplikasi yang ada dengan cara memilih menu File à Close All.
2. Buka aplikasi baru dengan memilih menu File à New à Application, seperti
pada tampilan berikut:

11
3. Setelah itu akan muncul aplikasi baru dengan tampilan Form awal yang masih
kosong.

4. Untuk aplikasi pertama ini, pengaturan properti untuk aplikasi ini, tetap
dibiarkan secara default terlebih dahulu, sebagai dasar pemahaman kerja sebuah
aplikasi visual. Simpan aplikasi baru yang telah dibuat dengan memilih menu
File à Save All. Pastikan selalu memilih Save All setiap kali penyimpanan,

12
karena semua file-file yang terbentuk (file project, file source, file h, dll) akan
tersimpan secara keseluruhan.
5. Buat folder baru sebagai tempat penyimpanan file-file aplikasi, agar tidak
berantakan dan bercampur dengan file-file selain file aplikasi yang telah dibuat.

6. Pada setelah menyimpan, beberapa file terbentuk (created) secara otomatis,


seperti terlihat pada tampilan berikut:

13
a. File Project1.bpr (berektensi bpr)
File ini merupakan file project yang berfungsi sebagai penggabung antara
unit – unit yang terbentuk dengan program utama.

b. File Project1.cpp (berektensi cpp)


File ini merupakan program utama yang berisi kode untuk proses inisialisasi
dan jalannya aplikasi (application running). Bagi programmer pemula, file
ini biasanya tidak diubah. Namun bagi programmer yang berpengalaman
sering kali melakukan penambahan kode program pada file ini untuk
keperluan – keperluan tertentu. Untuk melihat isi file ini, pilihlah menu
project – view source pada C++ Builder IDE. Adapun kerangka dari file ini
dapat di lihat pada listing dibawah ini.

//---------------------------------------------------------------------------

14
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
//---------------------------------------------------------------------------

c. Unit1.h (berekstensi h)
File ini merupakan file header yang berisi pendeklarasian data dan fungsi –
fungsi yang akan digunakan di dalam pembuatan aplikasi. Untuk melihat
dan memodifikasi isi file ini, tekanlah tombol F12 dan memilih tab Unit1.h di
bawah source code atau lakukan klik kanan pada Code Editor dalam IDE
C++ Builder, kemudian akan tampil sebuah popup menu, pilih menu open

15
source / header file. Adapun kerangka dari file ini dapat dilihat pada listing
di bawah ini.

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

d. Unit1.cpp (berekstensi cpp)


File ini merupakan file yang bertipe C++ Builder Source dan akan digunakan
untuk mendefinisikan fungsi – fungsi yang telah dideklarasikan pada file
header (unit1.h) di atas. Pada file inilah programmer akan banyak bekerja
untuk menuliskan kode – kode program. Adapun kerangka dari file ini dapat
dilihat pada listing di bawah ini.

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------

16
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

e. Unit1.dfm (berekstensi dfm)


File ini berfungsi menyimpan form yang dibuat.

f. Project1.res (berekstensi res)


File ini berfungsi sebagai compiled resource yang berisi file-file pelengkap
yang digunakan oleh aplikasi, misalnya file gambar ataupun suara.

Setelah aplikasi disimpan, maka aplikasi siap untuk dimodifikasi sesuai kebutuhan.

BORLAND C++ BU ILDER 6 BAGI PROGRAMMER C++

C++ Builder tentu mudah sekali digunakan oleh mereka yang telah terbiasa
membuat program dengan compiler C++. Meskipun demikian terdapat sedikit
perbedaan antara bahasa C++ tradisional dengan C++ Builder. C++ Builder tidak
mengizinkan programmer C++ untuk melakukan visualisasi program seperti yang
biasa mereka lakukan dalam compiler C++. Perbedaan yang paling terlihat adalah
bahwa C++ Builder itu didasarkan pada pemrograman dengan model property
method – event (PME), sedangkan C++ masih bersifat prosedural.

VCL (VISUAL COMPONENT L IBRARY)

Istilah VCL (Visual Component Library) pada C++ Builder sebenarnya adalah
sebuah kelas juga, sama halnya dengan kelas – kelas yang didefinisikan di dalam
C++. Namun keduanya berbeda dalam hal –hal berikut.
- VCL dan kelas dalam C++ mempunyai induk hirarki yang berbeda. Semua
VCL pada C++ Builder diturunkan dari kelas TObject.
- Pada VCL proses pengesetan data dilakukan melalui propertinya, sedangkan
pada C++ dilakukan melalui penggunaan atau pendefenisian fungsi.

17
- Setiap VCL hanya dapat dialokasikan pada head memory, bukan pada stack.
Artinya, VCL harus dibuat dengan menggunakan operator new, sedangkan
kelas dalam C++ masih dapat dialokasikan di dalam stack.

Komponen-komponen yang sering digunakan di dalam aplikasi visual Borland


C++ Builder 6.

Nama Default Posisi


Gambar Fungsi Dasar Komponen Sejenis
Komponen Name Tab
BitBtn, SpeedButton
Button Button1 Standard Proses/event
Input/output MaskEdit,
Edit Edit1 Standard
berupa teks LabeledEdit, DBEdit
Input/output DBListBox,
ListBox ListBox1 Standard
berupa pilihan DBLookupListBox
Input berupa DBComboBox,
ComboBox ComboBox1 Standard
pilihan DBLookupComboBox
Input/output
dengan length
Memo Memo1 Standard DBMemo
yang lebih
panjang
Teks tetap,
Label Label1 Standard DBLabel
output
Input dengan
CheckBox CheckBox1 Standard nilai True or DBCheckBox
False
Input berupa RadioGroup,
RadioButton RadioButton1 Standard
pilihan DBRadioGroup
Group
GroupBox GroupBox1 Standard beberapa Panel
komponen
Group
Panel Panel1 Standard beberapa GroupBox
komponen
Memasukkan
Image Image1 Additional DBImage
gambar
Membuat
bentuk gambar
Shape Shape1 Additional
bulat,
lingkaran dll
Proses
perulangan
Timer Timer1 System
menggunakan
satuan interval 1

18
mili detik
Membuat menu
MainMenu MainMenu1 Standard
aplikasi
Menambahkan/
mengurangkan
UpDown UpDown1 Win32 CSpinEdit
nilai dengan step
tertentu

Kasus 1 (Penerapan konsep dasar pemrograman visual):


Buat Aplikasi menghitung Luas Segitiga sama kaki.

Langkah-langkah:

1. Buat aplikasi baru, lalu set properti-properti komponen sebagai berikut:

No Komponen Properti Nilai


1 Form1 BorderStyle Single
Caption Aplikasi Segitiga
Font Verdana 10
Height 300
Name FUtama
Position poScreenCenter
Width 300

2 Label1 Caption Mencari Luas Segitiga


Font Verdana 12 Bold

3 Label2 Caption Luas Alas


4 Label3 Caption Tinggi
5 Label4 Caption Luas

6 Button1 Caption Hitung

7 Edit1 MaxLength 5
8 Edit2 MaxLength 5
9 Edit3 ReadOnly true

Hasilnya seperti pada tampilan berikut:

19
2. Simpan aplikasi dengan memilih menu File à Save All. Pada saat menyimpan,
buat folder tersendiri untuk aplikasi ini dengan nama Aplikasi_Segitiga.
• Ganti Unit1.cpp dengan nama lain yaitu dengan nama utama.cpp.
• Ganti Project1.bpr dengan nama lain yaitu dengan nama Segitiga.bpr.

3. Lihat ke bagian object inspector à Button1à event à Klik 2 kali pada event
OnClick atau langsung double klik pada komponen Button1, akan muncul
tampilan source code sebagai berikut:

Isi dengan sintak seperti pada tampilan berikut:

20
Artinya, sintak yang ada di dalam fungsi ini akan diproses pada saat Button1
diklik satu kali.

Penjelasan sintak:
• StrToInt, berfungsi untuk mengkonversi nilai string ke integer. Dalam kasus
di atas, jika nilai dari Edit1 dan Edit2 yang diinput tidak dikonversi, maka
angka yang dibaca oleh komputer adalah sebagai string, artinya tidak dapat
dieksekusi secara aritmatik. Ilustrasinya seperti berikut:
Jika nilai 2 dan 3 bertipe string, maka:
2 + 3 = 23,
2 * 3 = Error
Jika nilai 2 dan 3 bertipe integer, maka:
2+3=5
2 * 3 = 6.
• Edit1->Text dan Edit2-> Text, adalah mengambil nilai yang berupa
teks/string di komponen Edit1 dan Edit2.
• Edit3-> Text = Luas, adalah nilai Luas akan dioutputkan di komponen Edit3.

4. Lihat ke bagian object inspector à FUtamaà event à Klik 2 kali pada event
OnCreate atau langsung double klik pada komponen FUtama, akan muncul
tampilan source code sebagai berikut:

21
Isi dengan sintak sebagai berikut:

Artinya, Text di Edit1, Edit2 dan Edit3 akan dihapus (dikosongkan). Sintak-
sintak yang ada di dalam fungsi ini akan diproses pada saat Futama dibuat
(create).

5. Simpan aplikasi, lalu tekan Alt + F9 untuk Compiling. Jika ada error, akan
muncul pesan error. Lihat letak kesalahan yang dibuat, lalu perbaiki.
Contoh kesalahan yang terjadi terlihat pada tampilan berikut:

22
Keterangan error:
• Statement Missing ; , artinya ada baris yang tidak memberikan tanda tutup
baris dengan Semicolon (;).
• Undefined symbol ‘t’, artinya variabel t tidak dideklarasikan dahulu,
sehingga program tidak kenal dengan variabel tersbut.
• Warning, ‘A’ is assigned a value that is never used, artinya variabel
dideklarasikan, tapi tidak berfungsi pada program tersebut.

6. Setelah semua program benar, maka tekan F9 untuk menjalankan aplikasi,


seperti pada tampilan berikut ini:

23
Seluruh source program di utama.cpp adalah sebagai berikut:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "utama.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFUtama *FUtama;
//---------------------------------------------------------------------------
__fastcall TFUtama::TFUtama(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::Button1Click(TObject *Sender)
{
int A,t;
float Luas;

24
A = StrToInt(Edit1->Text);
t = StrToInt(Edit2->Text);

Luas = 0.5 * A * t;

Edit3->Text = Luas;
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::FormCreate(TObject *Sender)
{
Edit1->Clear();
Edit2->Clear();
Edit3->Clear();
}
//---------------------------------------------------------------------------

Isi dari file header utama.h adalah sebagai berikut:

//---------------------------------------------------------------------------

#ifndef utamaH
#define utamaH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TFUtama : public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TLabel *Label4;
TButton *Button1;
TEdit *Edit1;
TEdit *Edit2;

25
TEdit *Edit3;
void __fastcall Button1Click(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TFUtama(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TFUtama *FUtama;
//---------------------------------------------------------------------------
#endif

Kasus 2 (Penerapan konsep logika pemilihan):


Buat aplikasi dimana user harus memasukkan password untuk masuk ke aplikasi
tertentu.

Langkah-langkah:

1. Tutup semua aplikasi yang sedang berjalan dengan memilih menu File à Close
All.
2. Buka aplikasi baru dengan memilih menu File à New à Application.
3. Setelah tampilan aplikasi baru muncul, atur tampilan seperti terlihat di bawah
ini:

4. Atur properti komponen sebagai berikut

26
No Komponen Properti Nilai
1 Form1 BorderStyle Single
Caption Login
Font Verdana 12
Height 250
Name FUtama
Position poScreenCenter
Width 400

2 Edit1 MaxLength 20
3 Edit2 MaxLength 20
PasswordChar #

5. Simpan seluruh unit aplikasi dengan memilih menu File à Save All. Ganti
nama unit1.cpp dengan password1.cpp dan project dengan Password.bpr.

6. Klik 2 kali di Button1 (login) untuk event Button1Click, isi sintak seperti berikut:

7. Klik 2 kali di FUtama untuk event FormCreate, isi sintak sebagai berikut:

27
8. Klik 2 kali di Button2 (Exit) untuk event Button2Click, isi sintak sebagai berikut:

9. Tekan Alt + F9 untuk kompilasi. Jika tidak ada yang error, tekan F9 untuk
menjalankan aplikasi. Hasil akhir seperti tampilan berikut:

Isi sintak secara keseluruhan di password1.cpp

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "password1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)

28
#pragma resource "*.dfm"
TFUtama *FUtama;
//---------------------------------------------------------------------------
__fastcall TFUtama::TFUtama(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::Button1Click(TObject *Sender)
{
if(Edit1->Text=="User"&&Edit2->Text=="oke")
{
ShowMessage("Selamat datang di aplikasi ini");
}
else
{
ShowMessage("Username dan Password Anda SALAH!");
}
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::FormCreate(TObject *Sender)
{
Edit1->Clear();
Edit2->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::Button2Click(TObject *Sender)
{
Application->Terminate();
}
//---------------------------------------------------------------------------

Isi sintak di password1.h:

//---------------------------------------------------------------------------

#ifndef password1H
#define password1H
//---------------------------------------------------------------------------

29
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TFUtama : public TForm
{
__published: // IDE-managed Components
TLabel *Label1;
TLabel *Label2;
TButton *Button1;
TButton *Button2;
TEdit *Edit1;
TEdit *Edit2;
void __fastcall Button1Click(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TFUtama(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TFUtama *FUtama;
//---------------------------------------------------------------------------
#endif

Kasus 3 (Latihan logika TRUE dan FALSE pada komponen)


Buat aplikasi untuk menghitung total biaya pembelian untuk suatu barang tertentu.

Langkah-langkah

1. Tutup semua aplikasi yang sedang berjalan dengan memilih menu File à Close
All.
2. Buka aplikasi baru dengan memilih menu File à New à Application.
3. Setelah tampilan aplikasi baru muncul, atur tampilan seperti terlihat di bawah
ini:

30
4. Atur properti komponen sebagai berikut

No Komponen Properti Nilai


1 Form1 BorderStyle Single
Caption Total Biaya Pembelian
Font Verdana 12
Height 300
Name FUtama
Position poScreenCenter
Width 400

2 Panel1 Caption (kosong)


BorderStyle Single
Height&Width Sesuaikan dengan tampilan

2 Edit1 MaxLength 20

3 Edit2 MaxLength 10
Text 0

4 Edit3 ReadOnly true


Text 0

31
6 CSpinEdit Increment 50
(Tab Sample) Max Value 1000000
TabOrder 1

7 UpDown1 Associate Edit2


Increment 1
Max 200

8 BitBtn1 Caption Mulai


Glyph Browse (*.bmp), biasanya ada
di C:\Program
Files\Common Files\Borland
Shared\Images\Buttons
9 BitBtn2 Caption Selesai
Glyph Browse (*.bmp)

5. Simpan seluruh unit aplikasi dengan memilih menu File à Save All. Ganti
nama unit1.cpp utama.cpp dan project dengan Barang.bpr.

6. Klik 2 kali di FUtama untuk event FormCreate, isi sintak sebagai berikut:

7. Klik 2 Kali di Edit2 untuk event Edit2Change, artinya proses akan dijalankan
pada saat nilai di dalam Edit2 berubah. Isi sintak sebagai berikut:

32
8. Klik 2 Kali di CSpinEdit1 untuk event CSpin1EditChange, artinya proses akan
dijalankan pada saat nilai di dalam CSpinEdit1 berubah. isi sintak sebagai
berikut:

9. Klik ganda di BitBtn1, lalu isi sintak dibawah ini:

10. Klik ganda di BitBtn2, lalu isi sintak dibawah ini:

11. Tekan Alt + F9 untuk kompilasi. Jika tidak ada yang error, tekan F9 untuk
menjalankan aplikasi. Hasil akhir seperti tampilan berikut:

33
Isi sintak secara keseluruhan di utama.cpp

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "utama.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TFUtama *FUtama;
//---------------------------------------------------------------------------
__fastcall TFUtama::TFUtama(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::FormCreate(TObject *Sender)
{
Edit1->Clear();
BitBtn1->Enabled = true;
BitBtn2->Enabled = false;
Panel1->Enabled = false;

34
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::Edit2Change(TObject *Sender)
{
Edit3->Text = StrToInt(CSpinEdit1->Text) * StrToInt(Edit2->Text);
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::CSpinEdit1Change(TObject *Sender)
{
Edit3->Text = StrToInt(CSpinEdit1->Text) * StrToInt(Edit2->Text);
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::BitBtn2Click(TObject *Sender)
{
BitBtn1->Enabled = true;
BitBtn2->Enabled = false;
Panel1->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::BitBtn1Click(TObject *Sender)
{
BitBtn1->Enabled = false;
BitBtn2->Enabled = true;
Panel1->Enabled = true;
}
//---------------------------------------------------------------------------

Isi utama.h secara keseluruhan

//---------------------------------------------------------------------------

#ifndef utamaH
#define utamaH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>

35
#include <ComCtrls.hpp>
#include "CSPIN.h"
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TFUtama : public TForm
{
__published: // IDE-managed Components
TBitBtn *BitBtn1;
TBitBtn *BitBtn2;
TPanel *Panel1;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TLabel *Label4;
TEdit *Edit1;
TEdit *Edit2;
TEdit *Edit3;
TUpDown *UpDown1;
TCSpinEdit *CSpinEdit1;
void __fastcall FormCreate(TObject *Sender);
void __fastcall Edit2Change(TObject *Sender);
void __fastcall CSpinEdit1Change(TObject *Sender);
void __fastcall BitBtn2Click(TObject *Sender);
void __fastcall BitBtn1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TFUtama(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TFUtama *FUtama;
//---------------------------------------------------------------------------
#endif

Kasus 4 (Aplikasi menggunakan komponen ComboBox, CheckBox dan


RadioButton).
Buat aplikasi untuk menghitung total biaya pembelian untuk suatu barang, dengan
diskon tertentu.

36
Jika pembeli adalah langganan lama, maka diskon 20%.
Jika pembeli membayar dengan LUNAS, maka diskon 10%.

Langkah-langkah:

1. Tutup semua aplikasi yang sedang berjalan dengan memilih menu File à Close
All.
2. Buka aplikasi baru dengan memilih menu File à New à Application.
3. Setelah tampilan aplikasi baru muncul, atur tampilan seperti terlihat di bawah
ini:

4. Atur properti komponen sebagai berikut

No Komponen Properti Nilai


1 Form1 BorderStyle Single
Caption Total Biaya Pembelian

37
Font Verdana 12
Height 420
Name FUtama
Position poScreenCenter
Width 400

2 Panel1 Caption (kosong)


BorderStyle Single
Height&Width Sesuaikan dengan tampilan

3 ComboBox1 MaxLength 20
CharCase ecUpperCase
Text NAMA BARANG
Items PENA
PENSIL
PENGHAPUS

4 Edit1 ReadOnly true


Text 0

5 CSpinEdit Increment 1
(Tab Sample) Max Value 100

6 RadioGroup1 Caption Langganan?


Columns 2
Items Ya
Tidak

7 CheckBox1 Caption Lunas


State cbChecked

8 Edit2 Text 0
ReadOnly true

9 Edit3 Text 0
ReadOnly true

38
10 Edit4 Text 0
ReadOnly true

11 BitBtn1 Caption Hitung


Glyph Browse (*.bmp), biasanya ada
di C:\Program
Files\Common Files\Borland
Shared\Images\Buttons
12 BitBtn2 Caption Keluar
Glyph Browse (*.bmp)

5. Simpan seluruh unit aplikasi dengan memilih menu File à Save All. Ganti
nama unit1.cpp dengan utama.cpp dan project dengan Barang2.bpr.

6. Klik ganda di komponen ComboBox1 untuk event ComboBox1Change, isi sintak


berikut:

7. Klik ganda di komponen BitBtn1 (Hitung) dan isi sintak berikut:

39
8. Klik ganda di BitBtn2 (Keluar) untuk event BitBtn2Click, isi sintak sebagai
berikut:

40
9. Simpan aplikasi, tekan Alt + F9 untuk kompilasi. Jika tidak ada yang error, tekan
F9 untuk menjalankan aplikasi. Hasil akhir seperti tampilan berikut:

Isi sintak utama.cpp secara keseluruhan:


//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "utama.h"
//---------------------------------------------------------------------------

41
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TFUtama *FUtama;
//---------------------------------------------------------------------------
__fastcall TFUtama::TFUtama(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::ComboBox1Change(TObject *Sender)
{
if(ComboBox1->Text == "PENA")
{
Edit1->Text = 10000;

}
else if(ComboBox1->Text == "PENSIL")
{
Edit1->Text = 7000;

}
else if(ComboBox1->Text == "PENGHAPUS")
{
Edit1->Text = 4000;
}
else
{
Edit1->Text = 0;
}
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::BitBtn1Click(TObject *Sender)
{
float Jumlah, Total;
float Diskon1,Diskon2,TotDisk;

/* Jumlah awal */
Jumlah = StrToInt(Edit1->Text) * StrToInt(CSpinEdit1->Text);

42
Edit2->Text = Jumlah;

/* Diskon Langganan */
if(RadioGroup1->ItemIndex == 0)
{
Diskon1 = 0.2;
}
else
{
Diskon1 = 0;
}

/* Diskon Lunas */
if(CheckBox1->State == cbChecked)
{
Diskon2 = 0.1;
}
else
{
Diskon2 = 0;
}

TotDisk = Jumlah * (Diskon1 + Diskon2);


Total = Jumlah - TotDisk;

Edit3->Text = TotDisk;
Edit4->Text = Total;
}
//---------------------------------------------------------------------------
void __fastcall TFUtama::BitBtn2Click(TObject *Sender)
{
Application->Terminate();
}
//---------------------------------------------------------------------------

43
KONSEP TIMER

Secara umum Timer didefinisikan sebagai event/proses yang terjadi secara berulang
dengan satuan/interval waktu tertentu. Konsep kerja Timer adalah menggunakan
konsep perulangan for, hanya saja proses dan step perulangan ditentukan oleh
interval waktu yang ditentukan. Sebagai contoh, untuk penulisan jam. Jika tanpa
menggunakan timer, output yang dihasilkan menunjukkan jam pada saat proses itu
saja, dan tidak berubah lagi selayaknya jam pada umumnya. Jika menggunakan
timer, maka akan menunjukkan yang selalu berubah hasilnya setiap interval waktu
1 detik.

Kasus 5 (penerapan konsep Timer):


Membuat aplikasi jam digital.

Langkah-langkah:

1. Tutup semua aplikasi yang sedang berjalan dengan memilih menu File à Close
All.
2. Buka aplikasi baru dengan memilih menu File à New à Application.
3. Setelah tampilan aplikasi baru muncul, atur tampilan seperti terlihat di bawah
ini:

4. Atur properti komponen sebagai berikut

No Komponen Properti Nilai


1 Form1 BorderStyle Single
Caption Jam Digital

44
Font Verdana 22
Height 200
Name FUtama
Position poScreenCenter
Width 300

2 Timer1 Interval 1000

3 Label1 Alignment taCenter


Autosize false

5. Simpan seluruh unit aplikasi dengan memilih menu File à Save All. Ganti
nama unit1.cpp dengan utama.cpp dan project dengan JamDigital.bpr.

6. Klik ganda di komponen Timer1 untuk event Timer1Timer, isi sintak berikut:

7. Simpan aplikasi, tekan Alt + F9 untuk kompilasi. Jika tidak ada yang error, tekan
F9 untuk menjalankan aplikasi. Hasil akhir seperti tampilan berikut:

45
4. Konsep Dasar
Perancangan Database
Sebelum merancang sebuah aplikasi database, haruslah dipahami dulu apa itu database,
bagaimana konsep database dan bagaiman merancang sebuah database.

APA ITU DATABASE

Database adalah suatu unit yang berisikan data-data yang tersimpan di dalam tabel dan
query.
Tabel adalah tempat record disimpan berdasarkan baris dan kolom.
Query adalah satu kolom atau lebih yang diambil dan diacu dari satu atau beberapa
tabel dalam satu database.

Tabel Tabel Tabel Tabel

Query Query

Database

T IPS PERANCANGAN DATABASE

Dalam perancangan database, perhatikan betul mana data-data yang harus diinput,
jangan sembarangan dalam menentukan kolom-kolom tabel. Buatlah kolom-kolom
sesuai dengan kebutuhan klien.

Dalam hal perancangan, database dibedakan menjadi 3 jenis tempat data disimpan,
yaitu:
1. Data Master

46
Data master adalah identitas yang didapat dari objek tertentu. Misalkan data
mahasiswa, mata kuliah, barang, pegawai, dll.

2. Data Transaksi
Data transaksi adalah data yang diambil dengan mengacu ke data lain. Misalkan
data pembelian, penjualan, pengambilan mata kuliah, dll.

3. Data Report
Data yang dikeluarkan ke laporan berdasarkan data-data yang ada di data transaksi
dan data master. Misalnya Rekap tahunan penjualan, rekap bulanan pembelian, dll.

Contoh Kasus:
Sebuah toko alat tulis ingin membuat sistem pendataan secara komputerisasi untuk data
barang yang masuk dan data barang yang keluar. Data yang masuk artinya barang yang
dibeli dari agen, dan data yang keluar artinya barang yang dijual ke pelanggan. Dari
hasil transaksi penjualan dan pembelian akan direkap setiap satu bulan sekali.
Kebutuhan:
- Jumlah inventaris barang (stock) ditampilkan dalam satu tabel/query

Perancangan database:

Nama database : dbtoko.


Dari kasus di atas, data dapat dibagi menjadi 3 bagian, yaitu:
1. Data Master
a. Data Barang (nama tabel : barang)
b. Data Agen (nama tabel : agen)
c. Data Pelanggan (nama tabel : pelanggan)

2. Data Transaksi
a. Data Penjualan Bulanan (nama tabel : t_jual)
b. Data Pembelian Bulanan (nama tabel : (t_beli)

3. Report (Laporan) yang berupa Rekap.


a. Rekap Penjualan Bulanan (nama query : q_jual)
b. Rekap Pembelian Bulanan (nama query : q_beli)

47
Dari hasil survei terhadap toko tersebut, diperoleh filed-field yang dibutuhkan untuk
diinput dari ketiga jenis data di atas, yaitu:

1. Data Master : Data Barang (nama tabel : barang)

Nama Allow
Index Type Size Default Unique Primary Arahan
Field NULL
0 kodebrg Char 6 No Yes Yes Kode Barang
1 namabrg Char 50 No No No Nama Barang
4 satuan Char 20 Yes No No Satuan Ukuran
5 hjual Number 10 0 Yes No No Harga Jual
6 hbeli Number 10 0 Yes No No Harga Beli
7 gambar Char 50 Yes No No Gambar Barang

Mengapa Field gambar menggunakan Char? Karena data gambar tidak disimpan di
tabel, field tersebut hanya berisikan alamat tempat gambar itu berada.

2. Data Master : Data Agen (nama tabel : agen)

Nama Allow
Index Type Size Default Unique Primary Arahan
Field NULL
0 kodeagen Char 6 No Yes Yes Kode Agen
1 namagen Char 50 No No No Nama Agen
2 alamat Char 50 Yes No No Alamat Agen
3 telepon Char 25 Yes No No Nomor Telepon

3. Data Master : Data Pelanggan (nama tabel : pelangan)

Nama Allow
Index Type Size Default Unique Primary Arahan
Field NULL
0 kodeplgn Char 6 No Yes Yes Kode Pelanggan
1 namaplgn Char 50 No No No Nama Pelanggan
2 alamat Char 50 Yes No No Alamat Pelanggan
3 telepon Char 25 Yes No No Nomor Telepon

4. Data Transaksi : Data Penjualan Bulanan (nama tabel : t_jual)

Inde Nama Siz Defaul Allow


x Field Type e t NULL Arahan Keterangan
0 bulan Char 10 No Bulan Pembelian

48
1 tahun Char 4 No Tahun Pembelian
dari tabel
2 kodeplgn Char 6 No Kode Agen pelanggan
3 kodebrg Char 6 No Kode Barang dari tabel barang
Numbe Jumlah
4 qty r 4 0 No Pembelian
5 lunas Logical Yes Status Pelunasan True atau False

5. Data Transaksi : Data Pembelian Bulanan (nama tabel : t_beli)

Index Nama Field Type Size Default Allow NULL Arahan Keterangan
0 bulan Char 10 No Bulan Pembelian
1 tahun Char 4 No Tahun Pembelian
2 kodeagen Char 6 No Kode Pelanggan dari tabel agen
3 kodebrg Char 6 No Kode Barang dari tabel barang
4 qty Number 4 0 No Jumlah Pembelian
5 lunas Logical Yes Status Pelunasan True atau False

6. Data Report : Rekap Penjualan Bulanan (nama tabel : q_jual)

Index Nama Field Type Size Arahan Keterangan


0 bulan Char 10 Bulan Pembelian dari tabel t_jual
1 tahun Char 4 Tahun Pembelian dari tabel t_jual
2 kodeplgn Char 6 Kode Pelanggan dari tabel t_jual
3 namaplgn Char 50 Nama Pelanggan dari tabel pelanggan
4 kodebrg Char 6 Kode Barang dari tabel t_jual
5 namabrg Char 50 Nama Barang dari tabel barang
6 satuan Char 20 Satuan Ukuran dari tabel barang
7 hjual Number 10 Harga Satuan dari tabel barang
8 qty Number 3 Jumlah Pembelian dari tabel t_jual
9 lunas Logical Status Pelunasan dari tabel t_jual

7. Data Report : Rekap Pembelian Bulanan (nama tabel : q_beli)

Index Nama Field Type Size Arahan Keterangan


0 bulan Char 10 Bulan Pembelian dari tabel t_beli
1 tahun Char 4 Tahun Pembelian dari tabel t_beli
2 kodeagen Char 6 Kode Pelanggan dari tabel t_beli
3 namagen Char 50 Nama Pelanggan dari tabel agen

49
4 kodebrg Char 6 Kode Barang dari tabel t_jual
5 namabrg Char 50 Nama Barang dari tabel barang
8 satuan Char 20 Satuan Ukuran dari tabel barang
9 hbeli Number 9 Harga Satuan dari tabel barang
11 qty Number 3 Jumlah Pembelian dari tabel t_beli
12 lunas Logical Status Pelunasan dari tabel t_beli

Tabel Relationships
1. Transaksi Penjualan

2. Transaksi Pembelian

Setelah rancangan database dibuat, tentukan jenis format tabel yang sesuai. Misalnya
dengan dBase, Ms Access, MySQL, MS SQL Server, dll. Format ini ditentukan sesuai
dengan kebutuhan.
1. Untuk aplikasi yang standalone (tunggal), gunakan dBase atau Paradox.
2. Untuk aplikasi yang datanya terintegrasi ke satu komputer, gunakan MS Access,
MySQL atau MS SQL Server atau Oracle.

50
51
5. Pengenalan Borland
Database Desktop Interface
Borland Database Desktop Interface adalah salah satu program aplikasi yang tergabung
di Borland C++ Builder 6. Fasilitas ini berfungsi untuk membuat dan mengolah database
yang menggunakan Jenis Borland Database Engine (BDE) dengan format utama adalah
dBase dan Paradox. Fasilitas ini terinstal secara bersamaan pada saat menginstal Borland
C++ Builder 6.

MENGGUNAKAN DATABASE DESKTOP

Cara memanggil aplikasi ini yaitu dengan mengklik menu Start à Programs à Borland
C++ Builder 6 à Database Desktop. Setelah aplikasi terbuka, akan muncul tampilan
awal seperti berikut:

52
File Database
Secara default, database yang digunakan di aplikasi ini adalah dengan nama
“BCDEMOS”, dengan dBase dan Paradox (STANDARD) sebagai format tabelnya.
Namun jika ingin membuat database selain itu, caranya adalah:

1. Pilih menu Tools à Alias Manager. Muncul tampilan berikut:

2. Klin New, kemudian ketik nama database dan pilih format tabelnya.

Membuat Tabel Baru

1. Pilih menu File à New à Table sehingga muncul tampilan berikut ini:

53
2. Pilih jenis tabel yang diinginkan, lalu klik OK. Lalu akan muncul tampil an sebagai
berikut:

Keterangan:
• Pada kolom Field Name, tentukan nama field yang diinginkan. Nama Field
adalah nama pengenal kolom dalam tabel database. Aturan pemberian nama
filed adalah sebagai berikut:
i. Panjang maksimum 10 karakter untuk format dBase, dan 25 Karakter untuk
Paradox.
ii. Tidak boleh diawali dengan spasi, tapi boleh mengandung spasi.
iii. Harus unik, artinya setiap nama field harus berbeda dalam satu tabel.
iv. Jangan menggunakan tanda koma (,), tanda pipe (|) dan data seru (!).
v. Hindarkan penggunaan kata perintah SQL, misalnya SELECT, WHERE,
COUNT.
• Pada kolom Type, tentukan tipe field yang tepat sesuai kebutuhan. Tekan spasi
untuk menampilkan pilihan yang tersedia. Untuk format dBase, jenis tipe yang
ada, yaitu:

54
i. Character (C), untuk menampung kumpulan karakter huruf, angka dan
karakter ASCII dapat tercetak, ukuran field tipe ini antara 1 sampai 255 byte.
Jenis ini tidak dapat dieksekusi secara aritmatika.
ii. Float (F), untuk menampung kumpulan angka yang dapat diproses secara
aritmatika dengan range dari -10307 sampai dengan 10308 dengan 15 digit
angka signifikan.
iii. Number (N), untuk menampung kumpulan angka yang dapat diproses secara
aritmatika dengan range dari -2147483648 sampai dengan 2147483647.
iv. Date (D), untuk menampung tanggal sampai dengan 31 Desember 9999.
v. Logical (L), untuk menampung data yang berjenis boolean.
vi. Memo (M), untuk menampung kumpulan karakter huruf, angka dan karakter
ASCII dapat tercetak, ukuran field tipe ini antara 1 sampai 255 MB. Jenis ini
tidak dapat dieksekusi secara aritmatika.

3. Setelah semuanya diisi, klik Define untuk menentukan kolom kunci (index primary
key) tabel tersebut. Klik ganda pada filed yang akan dijadikan index seperti tampilan
berikut ini:

55
Jika selesai tekan OK.

4. Setelah semuanya selesai, simpan dengan menekan Save As, letakkan di folder yang
tepat, misalnya di folder data bersamaan dengan folder aplikasi yang akan dibuat.

5. Untuk memodifikasi tabel, pilih menu Table à Restructure.

Setelah semua tabel dibuat, selanjutkan menghubungkan tabel-tabel tersebut ke dalam


aplikasi Borland C++ Builder 6.

56
6. Aplikasi Database
Sederhana Menggunakan
Borland Database Engine
(BDE)
MEMBUAT APLIKASI DATABASE SEDERHANA

Dari tabel yang telah dirancang di bab 4 di atas, sekarang bagaimana merancang aplikasi
dengan menggunakan tabel tersebut.

Persiapan:
- Software Borland C++ Builder 6
- Database Desktop
- Jenis Database menggunakan Borland Database Engine (BDE)
- Tabel menggunakan format dBase IV

Perancangan Form Aplikasi dengan Borland C++ Builder 6

Nama
No Arahan *.cpp *.h
Form
1 Menu Utama Fmenu menu.cpp menu.h
2 Data Modul untuk database DM1 modul1.cpp modul1.h
3 Input Data Barang Fbarang barang.cpp barang.h
4 Input Data Agen Fagen agen.cpp agen.h
5 Input Data Pelanggan Fpelanggan pelanggan.cpp pelanggan.h
6 Transaksi Penjualan Ft_jual t_jual.cpp t_jual.h
7 Transaksi Pembelian Ft_beli t_beli.cpp t_beli.h
8 Lookup Data Barang, Data Agen, Flookup lookup.cpp lookup.h
Data Pelanggan
9 Konfirmasi Rekap Bulanan Penjualan FKRek krek.cpp krek.h
dan Pembelian
10 Report Rekap Bulanan Penjualan FRekJual RekJual.cpp RekJual.h
11 Report Rekap Bulanan Pembelian FRekBeli RekBeli.cpp RekBeli.h
12 Password Fpassword password.cpp password.h

57
Persiapan Folder:

Buat Folder baru dengan nama Aplikasi_BDE untuk meletakkan data-data aplikasi dan
tabel yang akan dibuat. Di dalam folder tersebut buat 2 folder lagi dengan nama Data
dan Program. Folder Data sebagai tempat menyimpan tabel dan folder Program tempat
menyimpan data program aplikasi Borland C++ Builder 6, hasilnya seperti pada
tampilan berikut:

Pembuatan Tabel:

Sebelum membuat tabel, atur dulu Working Directory di Database Desktop, arahkan
(browse) ke Folder Data yang telah dibuat di atas. Kemudian buat tabel-tabel dengan
spesifikasi seperti tabel-tabel pada kasus di bab 4 dengan menggunakan Database
Desktop (cara membuat tabel dijelaskan di bab 5). Letakkan semua folder di dalam folder
Data dengan hasil akhir seperti pada tampilan berikut:

58
Pembuatan Form Aplikasi:

Setelah semua tabel dibuat, buka aplikasi baru di Borland C++ Builder 6, dengan
menutup semua aplikasi yang berjalan terlebih dahulu.

1. Form Menu Utama (Fmenu, menu.cpp, menu.h)

Form menu ini adalah form pertama pada saat membuka aplikasi baru. Tambahkan
komponen-komponen ke dalam form ini seperti terlihat pada tampilan berikut:

59
Klik ganda di toolbar Menu yang ada di Form, isi menu sesuai kebutuhan
ditambahkan dengan menu Help yang isinya ada pilihan Exit:

60
Setelah selesai, tutup isian Menu, kemudian pilih menu Exit, lalu isi sintak seperti di
bawah ini:

Atur properti komponen seperti dalam tabel berikut:

No Komponen Properti Nilai


1 Form1 BorderStyle Single
Caption Toko Maya
Font Verdana 10
Height 450
Name Fmenu

61
Position poScreenCenter
Width 600
FormStyle fsMDIForm

2 MainMenu1 (lihat di gambar


6.2)

Simpan seluruh aplikasi (Save All), ganti project dengan nama TokoMaya.bpr

2. Data Modul (DM1, modul1.cpp, modul1.h)

Untuk membuat Data Modul,pil menu File à New à Data Modul. Karena kasus ini
menggunakan format tabel dBase, maka digunakan Database STANDARD yang
ditambahkan dari tab BDE. Seperti pada tampilan berikut:

DataSource, berfungsi sebagai penghubung antar tabel/query ke form

Atur properti komponen sebagai berikut:

No Komponen Properti Nilai


1 DataModule1 Name DM1

2 Database1 DatabaseName dbtoko


Name dbtoko
DriverName STANDARD
LoginPrompt false
Connected True

62
3 Tabel1 DatabaseName dbtoko
TableName ../data/barang.dbf
IndexFieldName KODEBRG
Name barang
Active true

4 Tabel2 DatabaseName dbtoko


TableName ../data/agen.dbf
IndexFieldName KODEAGEN
Name agen
Active true

5 Tabel3 DatabaseName Dbtoko


TableName ../data/pelanggan.dbf
IndexFieldName KODEPLGN
Name pelanggan
Active true

6 DataSource1 Name DSbarang


DataSet barang

7 DataSource2 Name DSagen


DataSet agen

8 DataSource3 Name DSpelanggan


DataSet pelanggan

9 Query1 DatabaseName dbtoko


Name Qjual

10 Query2 DatabaseName dbtoko


Name Qbeli

11 Query3 DatabaseName dbtoko


Name Qlookup

12 DataSource4 Name DSQjual


DataSet Qjual

13 DataSource5 Name DSQbeli


DataSet Qbeli

14 DataSource6 Name DSlookup


DataSet lookup

63
3. Form Input Data Barang (Fbarang, barang.cpp, barang.h)

Buka Form baru, dengan memilih menu File à New à Form. Lalu tambahkan dan
atur setiap komponen dengan mengacu pada rancangan tabel yang telah dibuat,
seperti pada tampilan berikut:

Tab Data Controls

Tambahkan unit Modul (DM1) ke barang.cpp dengan sintak sebagai berikut:

No Komponen Properti Nilai


1 Form1 BorderStyle bsNone

64
Caption Data Barang
Font Verdana 10
Height 400
Name Fbarang
Position poMainFormCenter
Width 590
FormStyle fsMDIChild
BorderIcons [biMaximize]
WindowStatae wsMaximized

2 Panel1 Caption (kosong)


BorderStyle bsSingle

3 DBEdit1 DataSource DSbarang


DataField KODEBRG
CharCase ecUpperCase

4 DBEdit2 DataSource DSbarang


DataField NAMABRG
CharCase ecUpperCase

5 DBEdit3 DataSource DSbarang


DataField SATUAN

6 DBEdit4 DataSource DSbarang


DataField HJUAL

7 DBEdit5 DataSource DSbarang


DataField HBELI

8 DBEdit6 DataSource DSbarang


DataField GAMBAR

9 BitBtn1 Caption Browse


Glyph

10 OpenDialog1 DefaultExt *.bmp


Filter Bitmap Files|*.bmp|

65
JPEG Files|*.jpg

11 DBNavigator1 DataSource DSbarang


Show Hints true

Tampilan Filter di OpenDialog1

Klik ganda pada BitBtn1, isi sintaks sebagai beriku untuk melelatakkan alamat folder
tempat gambar berada di DBEdit6:

66
Kemudian masukkan unit ini (barang.h) ke unit menu dengan menambahkan
sintaks di unit menu.cpp sehingga form menu dapat memanggil form barang, seperti
berikut:

Tips:
- cara ini bisa juga dilakukan dengan memilih menu File à Include Unit Hdr (ALT
+ F11).
- Tekan F12 untuk pindah antar unit.
- Tekan Shift + F12 untuk melihat Form yang lain
- Tekan Ctrl + F12 untuk melihat Unit source yang lain.

Kemudian pada Form menu, klik pada menu Data Master à Barang, isikan sintak di
bawah ini.

Tekan Alt+F9 untuk Compile, jika tidak ada error tekan F9 untuk menjalankan
aplikasi, seperti tampilan berikut:

67
First, ke record yang pertama
Previous (Prior), ke record sebelumnya
Next, ke record berikutnya
Last, ke record terakhir
Insert, menambah record
Delete, menghapus record
Edit, mengedit record
Post, konfirmasi Insert atau Edit
Cancel, batal Insert atau Edit
Refresh Data

Untuk melakukan pencarian terhadap record, ada beberapa metode yang dapat
digunakan, antara lain yaitu:
- Menggunakan kolom kunci (index column).
- Menggunakan perintah SQL

Berikut adalah metode pencarian dengan menggunakna kolom kunci (index column)

68
Langkah-langkah:
- Pastikan pada saat membuat tabel, sudah ditentukan kolom (field) kunci terlebih
dahulu, seperti dijelaskan di bab 5.
- Di di Data Module (DM1), pada komponen tabel barang, pastikan set properti
IndexFieldName sudah terisi sesuai dengan kolom kunci yang telah ditentukan.
- Kemudian pada kasus di atas, tambahkan komponen-komponen di form barang
sehingga, seperti tampilan berikut:

Komponen yang ditambahkan:

Komponen Properti Nilai


Edit1 CharCase ecUpperCase
Text (kosong)

BitBtn2 Caption Cari


Default True

- Klik ganda pada BitBtn2 (Cari) lalu isi sintak berikut:

69
- Jalankan aplikasi (tekan F9), lalu coba ketikkan kode barang di Edit dan tekan
tombol Cari. Jika data ditemukan maka akan langsung mengeset record ke kode
yang dicari, jika tidak ketemu, maka akan mengeluarkan pesan “Data tidak
ditemukan!”. Tampilan form saat dijalankan akan seperti berikut:

70
Tips:
o Pelajari juga mengenai FindNearest, FindKey dan GotoNearest.
o Pelajari untuk mencari berdasarkan nama barang.

4. Form Input Data Agen (Fagen, agen.cpp, agen.h)

Lakukan cara yang sama dengan point 3 (Data Barang).

Tampilan desain:

Tampilan saat aplikasi dijalankan:

71
5. Form Input Data Pelanggan (Fpelanggan, pelanggan.cpp, pelanggan.h)

Lakukan cara yang sama dengan point 3 (Data Barang).

Tampilan desain:

72
Tampilan saat aplikasi dijalankan:

Pengenalan Perintah SQL

Sebelum masuk ke pembuatan form transaksi dan seterusnya, akan dikenalkan apa dan
bagaimana perintal SQL itu.

Perintah SQL (Structured Query Language) adalah bahasa yang berbasis pada hubungan
relasi kalkulus (relasi aljabar) dan banyak digunakan dalam lingkungan back end, baik
untuk membuat tabel, manipulasi data, maupun untuk pengontrolan transaksi yang
dilakukan di dlam database. Di dalam Borland C++ Builder 6, SQL dapat digunakan
melalui komponen Query.

Seara umum SQL dibagi ke dalam tiga kategori, yaiut Data Definition (DDL), Data
Manipulation Language (DML) dan Data Control Language (DCL). SQL juga dilengkapi
dengan kemampuan untuk melakukan fungsi-fungsi khusus lainnya seperti menghitung
banyaknya record (count), melakukan penjumlahan nilai dari sebuah field (sum),
menentukan nilai maksimum (max) dan sebagainya.

Berikut adalah sintak SQL yang sering digunakan di dalam transaksi.

73
§ Insert, digunakan untuk memasukkan sebuah record baru ke dalam tabel.
Contoh:
“ insert into barang values(‘ATK003’,’PENGHAPUS’,’Kodi’,1000,2000,’C:\’) ”

§ Update, digunakan untuk mengubah nilai-nilai field yang terdapat pada suatu
tabel.
Contoh:
“Update barang set SATUAN = ‘Lusin’ where KODEBRG = ‘ATK003’ “

Perintah ini akan mengubah nilai SATUAN menjadi Lusin dari tabel barang
yang memiliki KODEBRG = ATK003.

§ Select, digunakan untuk menampilkan field-field yang terdapat pada tabel


dalam database.
Bentuk Umum:
“select field1,field2,field3,...,fieldn from nama_tabel”
Contoh:
“ select KODEBRG, NAMABRG, SATUAN from barang “

Peintah ini akan menampilkan field KODEBRG, NAMABRG dan SATUAN dari
tabel barang.

“ select * from barang”

Perintah ini akan menampilkan seluruh field dari tabel barang,

“ select * from barang where KODEBRG = ‘ATK001’ “

Perintah ini akan menampilkan seluruh field dari tabel barang dengan klausa
(kondisi) KODEBRG = ATK001.

“ select KODEBRG, NAMABRG, SATUAN from barang


where HJUAL = 2000 and AND Hbeli = 3000 “

Perintah ini akan menampilkan field KODEBRG, NAMABRG dan SATUAN dari
tabel barang yang mempunyai nilai HJUAL = 2000 dan HBELI = 3000.

“ select * from barang where NAMABRG like ‘%PEN%’ “

74
Perintah ini akan menampilkan seluruh field dari tabel barang dengan nilai
NAMABRG = ??????PEN?????, artinya seluruh NAMABRG yang mempunyai
kata PEN.

Tips:
o Perbanyak latihan dengan menggunakan perintah SQL.
o Pelajari juga mengenai perintah membuat dan menghapus tabel, menambah
field.
o Pelajari mengenai penggabungan 2 tabel atau lebih.
o Pelajari mengenai berbagai macam klausa yang lain.
o Pelajari perintah fungsi0fungsi yang lain.

Setelah paham mengenai perintah SQL, lanjutkan dengan pembuatan form transaksi.

6. Form Transaksi Pembelian (Ft_beli, t_beli.cpp, t_beli.h)

Tampilan desain awal:

Atur properti komponen sebagai berikut:

75
Komponen Properti Nilai Arahan
Form1 BorderStyle bsNone
Caption Transaksi Pembelian
Font Verdana 10
Height 400
Name Ft_beli
Position poMainFormCenter
Width 590
FormStyle fsMDIChild
BorderIcons [biMaximize]
WindowStatae wsMaximized

Panel1 Caption (kosong)


BorderStyle bsSingle

Panel2 Caption (kosong)


BorderStyle bsSingle

ComboBox1 CharCase ecUpperCase Bulan


Items JANUARI
FEBRUARI
MARET
.
.
.
DESEMBER
Style csDropDown
Text BULAN

CSpinEdit1 MaxValue 3000 Tahun


MinValue 2000
Value 2000

Edit1 CharCase ecUpperCase Kode Barang


MaxLength 6
Text (kosong)

Button1 Caption List

Edit2 CharCase ecUpperCase Kode Agen

76
MaxLength 6
Text (kosong)

Button2 Caption List

Edit3 Text 0 Harga Beli


ReadOnly true

CSpinEdit2 MaxValue 5000 Quantity


MinValue 0
Value 0

Edit4 Text 0 Harga Beli


ReadOnly true

Panel3 Caption (kosong)


BorderStyle bsSingle

BitBtn1 Caption Simpan


BitBtn2 Caption Update
BitBtn3 Caption Hapus

Panel4 Caption (kosong)


BorderStyle bsSingle

ComboBox2 CharCase ecUpperCase Bulan


Items JANUARI
FEBRUARI
MARET
.
.
.
DESEMBER
Style csDropDown
Text BULAN

CSpinEdit3 MaxValue 3000 Tahun


MinValue 2000
Value 2000

77
Edit5 CharCase ecUpperCase Cari Kode Barang
MaxLength 6
Text (kosong)

Edit6 CharCase ecUpperCase Cari Kode Agen


MaxLength 6
Text (kosong)

BitBtn4 Caption Semua Kriteria


BitBtn5 Caption Refresh
DBGrid1 DataSource DM1->DSQbeli
Align alClient

Pilih menu Event di Ft_beli, klik ganda pada event OnShow pada form Ft_beli untuk
event FormShow, isi sintak sebagai berikut:

Tambahkan sintak berikut ini untuk mendefiniskan dua buah prosedur, yaitu:

78
- EQbeli(), untuk mengeksekusi perintah SQL yang diberikan oleh str1. Perintah ini
hanya akan berjalan dengan perintah SQL yang menggunakan perintah selain
select.
- OQbeli(), untuk mengeksekusi perintah SQL yang diberikan oleh str2. Perintah
ini hanya akan berjalan dengan perintah SQL yang menggunakan perintah select.

Tambahkan juga deklarasi prosedur di t_beli.h seperti tampilan berikut:

Deklarasikan variabel str1 dan str2 di kode t_beli.cpp paling atas (variabel bersifat
global), seperti berikut:

Klik ganda pada Edit1 untuk event Edit1OnChange, artinya proses di prosedur ini
akan berjalan pada saat nilai di dalam Edit1 berubah. Isi sintak sebagai berikut:

79
Sintak ini untuk memeriksa apakah kode barang yang ada di Edit1 ada di tabel
barang. Jika ada maka akan menuliskan nama barang di Label6.

Sama halnya untuk validasi kode agen, klik ganda di Edit2 untuk event OnChange,
isi sintak di bawah ini:

80
Klik ganda di CSpinEdit2 untuk event OnChange. Prosedur ini adalah untuk
menghitung jumlah harga dari pembelian. Isi sintak sebagai berikut:

Komponen Button1 dan Button2 (List) digunakan untuk melihat data barang dan
agen. Cara membuat Form Flookup dan menghubungkannya dengan form transaksi
dapat dilihat di point 8.

Klik ganda di BitBtn1 (Simpan) untuk event OnClick. Prosedur ini untuk
menyimpan data ke dalam record baru, dengan memvalidasi jika data telah ada,
maka tidak akan disimpan ke data baru.

81
82
Kemudian, klik ganda pada BitBtn2 (Update) untuk event OnClick. Prosedur ini
digunakan untuk mengupdate data yang telah ada, dengan mencari data tersebut
terlebih dahulu. Acuan yang digunakan adalah ComboBox2, CSpinEdit3, Edit5,
Edit6, CSpinEdit4 danCheckBox2. Isi sintak seperti di bawah ini:

83
Kemudian klik ganda di BitBtn3 (Hapus) untuk even OnClick. Prosedur ini
digunakan untuk menghapus data berdasarkan klausa ada di ComboBox2,
CSpinEdit3, Edit5, Edit6, CSpinEdit4 danCheckBox2. Isi sintak seperti di bawah ini:

84
Kemudian klik ganda di ComboBox2 untuk event OnChange. Prosedur ini untuk
mencari data di tabel transaksi pembelian dengan klausa BULAN. Isi sintak di
bawah ini:

85
Kemudian klik ganda di CSpinEdit3 untuk event OnChange. Prosedur ini untuk
mencari data di tabel transaksi pembelian dengan klausa TAHUN. Isi sintak di
bawah ini:

Kemudian klik ganda di Edit5 untuk event OnChange. Prosedur ini untuk mencari
data di tabel transaksi pembelian dengan klausa KODEBRG. Isi sintak di bawah ini:

Kemudian klik ganda di Edit6 untuk event OnChange. Prosedur ini untuk mencari
data di tabel transaksi pembelian dengan klausa KODEAGEN. Isi sintak di bawah
ini:

86
Kemudian klik ganda di CSpinEdit4 untuk event OnChange. Prosedur ini untuk
mencari data di tabel transaksi pembelian dengan klausa QTY. Isi sintak di bawah
ini:

Kemudian klik ganda di CheckBox2 untuk event OnClick. Prosedur ini untuk
mencari data di tabel transaksi pembelian dengan klausa LUNAS. Isi sintak di bawah
ini:

87
Kemudian klik ganda di BitBtn4 (Semua Klausa) untuk event OnClick. Prosedur ini
untuk mencari data di tabel transaksi pembelian dengan semua klausa di Panel4, jika
ketemu akan menuliskan hasilny ake Panel2. Isi sintak di bawah ini:

88
89
Kemudian klik ganda di BitBtn5 (Refresh) untuk event OnClick. Prosedur ini untuk
menampilkan seluruh data di tabel transaksi pembelian. Isi sintak di bawah ini:

Jika semuanya telah selesai, jalankan aplikasi. Jika tidak ada yang error, tampilan
form akhir saat dieksekusi sebagai berikut:

90
Kemudian masukkan unit ini (t_beli.h) ke unit menu dengan menambahkan sintaks
di unit menu.cpp sehingga form menu dapat memanggil form barang, seperti
berikut:

Tips:
- cara ini bisa juga dilakukan dengan memilih menu File à Include Unit Hdr (ALT
+ F11).
- Tekan F12 untuk pindah antar unit.
- Tekan Shift + F12 untuk melihat Form yang lain
- Tekan Ctrl + F12 untuk melihat Unit source yang lain.

91
Kemudian pada Form menu, klik pada menu Transaksi à Pembelian, isikan sintak
di bawah ini.

Tombol List digunakan untuk meliahat daftar barang, agen dan pelanggan yang
ditampilkan dalam bentuk tabel di Grid. Tabel ini dibuat di form baru dengan nama
Flookup . Cara pembuatan Form akan dijelaskan di nomor 8.

7. Form Transaksi Penjualan (Ft_jual, t_jual.cpp, t_jual.h)

Dengan cara yang sama dengan point 6, Buatlah Form untuk transaksi penjualan.

Tampilan desain form:

92
Tampilan akhir form saat dieksekusi:

8. Form Lookup Data Barang, Data Agen, Data Pelanggan (Flookup, lookup.cpp,
lookup.h)

Komponen Properti Nilai Arahan


Form1 BorderStyle bsSingle
Caption Tabel Lookup
Font Verdana 8
Height 350
Name Flookup
Position poScreenCenter
Width 430
FormStyle fsStayOnTop
BorderIcons [biSystemMenu,biMinimize]

Panel1 Caption (kosong)


BorderStyle bsSingle

93
Align alTop

ComboBox1 CharCase ecUpperCase


Items BARANG
AGEN
PELANGGAN
Style csDropDown
Text TABEL LOOKUP

DBGrid1 DataSource DM1->DSQlookup include modul first


Align alClient

Tampilan Desain awal:

Komponen ComboBox1 berfungsi untuk memilih tabel yang akan dilihat, yaitu tabel
barang, agen dan pelanggan. Jika salah satu tabel dipilih, maka secara otimatis akan
menampilkan data-data yang ada di tabel tersebut di Grid1.

Klik ganda di komponen ComboBox1 untuk even OnChange. Isikan sintak di bawah
ini:

94
Kemudian kenalkan (include) unit ini (lookup.h) ke unit transaksi pembelian
(t_beli.h) dan unit penjualan (t_jual.h) agar unit ini dapat dipanggil dengan
menggunakan tombol list.

Kemudian klik ganda di setiap tombol list, baik itu di Form Pembelian maupun di
Form Penjualan (unit lookup.h telah dikenalkan terlebih dahulu), lalu isi sintak di
bawah ini:

9. Form Konfirmasi Rekap Bulanan Penjualan dan Pembelian (FKRek, krek.cpp, krek.h)

95
Sebelum membuat Report, terlebih dahulu buat Form untuk konfirmasinya, antara
lain untuk konfirmasi bulan berapa, tahun berapa dan report apa yang akan
ditampilkan.

Untuk membuat Form Konfirmasi report, langkah pertama yaitu buat Form dan
letakkan komponen-komponen baru dengan rincian sebagai berikut:

Komponen Properti Nilai Arahan


Form1 BorderStyle bsSingle
Caption Konfirmasi Report
Font Verdana 10
Height 200
Name FKRek
Position poScreenCenter
Width 300
FormStyle fsNormal
BorderIcons [biSystemMenu,biMinimize]

ComboBox1 CharCase ecUpperCase Bulan


Items JANUARI
FEBRUARI
MARET
.
.
.
DESEMBER
Style csDropDown
Text BULAN

ComboBox2 CharCase ecUpperCase Rekap


Items PENJUALAN
PEMBELIAN
Style csDropDown
Text REKAP

CSpinEdit1 MaxValue 3000 Tahun


MinValue 2000
Value 2000

BitBtn1 Caption Preview

96
BitBtn2 Caption Tutup

Tampilan desain awal:

Klik ganda di BitBtn2 (Tutup), isi sintak sebagai berikut:

Sebelum sintak di BitBtn1 (Preview) diisi, buatlah dulu Form untuk Reportnya
terlebih dahulu.

Kemudian Klik ganda di BitBtn1 (Preview), isi sintak di bawah ini:

97
98
Tambahkan unit Form Rekap Penjualan dan Pembelian di unit ini.

10. Form Report Rekap Bulanan Penjualan (FRekJual, RekJual.cpp, RekJual.h)

Pada prinsipnya, sama dengan komponen-komponen standard, Komponen-


komponen yang digunakan di report terdapat di Tab QReport.

Untuk membuat Form report, langkah pertama yaitu buat Form dan letakkan
komponen-komponen baru dengan rincian sebagai berikut:

99
Komponen Properti Nilai Arahan
Form1 BorderStyle bsSingle
Caption Konfirmasi Report
Font Verdana 10
Height 480
Name FrekJual
Position poScreenCenter
Width 700
FormStyle fsNormal
BorderIcons [biSystemMenu,biMinimize]
AutoScroll true

Query1 Name QRJual


DatabaseName DM1 : dbtoko
SQL String
SELECT D.NAMABRG, D1.NAMAPLGN,
D2.BULAN, D2.TAHUN, D2.KODEPLGN,
D2.KODEBRG, D2.QTY, D2.LUNAS
FROM "..\Data\barang.DBF" D,
"..\Data\pelanggan.DBF" D1,
"..\Data\t_jual.DBF" D2
WHERE
(D2.KODEPLGN = D1.KODEPLGN)
AND (D2.KODEBRG = D.KODEBRG)
ORDER BY D.NAMABRG, D1.NAMAPLGN,
D2.BULAN, D2.TAHUN, D2.KODEPLGN,
D2.KODEBRG, D2.QTY, D2.LUNAS

Active true

DataSource1 Name DSQRJual


DataSet QRJual

QuickRep1 Dataset QRJual


Bands HasColumnHeader = true tempat
meletakkan
nama kolom
(field)
HasDetail = true tempat
melatakkan
record
HasPageFooter = true
HasPageHeader = true
HasSummary = true

100
Tampilan desain awal:

Sebelum menambahkan komponen lain, akan dijelaskan beberapa komponen yang


sering di Qreport, yaitu:

Nama Komponen Deskripsi


QuickRep Induk awal dari Report
QRSubDetail
QRStringsBand
QRband
QRChildBand
QRGroup
QRLabel
QRDBText
QRExpr
QRSysData
QRMemo

101
QRShape
QRImage
QRDBImage

Kemudian tambahkan komponen-komponen QRLabel, QRDBText, QRExpr, dan


QRShape sehingga tampilan seperti di bawah ini:

Tampilan desain:

Tampilan setelah properti tiap kkomponen diisi dengan DataSource dan DataField
yang sesuai:

102
Tampilan pada saat di Preview:

103
Tambahkan unit modul1 (DM1) di unit rekjual.cpp seperti di bawah ini:

11. Form Report Rekap Bulanan Pembelian (FRekBeli, RekBeli.cpp, RekBeli.h)

Untuk pembuatan Form Report Pembelian, lakukan cara yang sama dengan Form
Report Penjualan.

12. Form Password (Fpassword, password.cpp, password.h)

Komponen Properti Nilai Arahan


Form1 BorderStyle bsNone
Caption Transaksi Pembelian
Font Verdana 10
Height 400
Name Ft_beli
Position poMainFormCenter
Width 590
FormStyle fsMDIChild
BorderIcons [biMaximize]
WindowStatae wsMaximized

Panel1 Caption (kosong)


BorderStyle bsSingle

BitBtn1 Caption Login


Default true
BitBtn2 Caption Exit

Tampilan desain:

104
Kemudian tambhakna unit menu di unit ini dengan sintak di bawah ini:

Klik ganda di BitBtn1 (Login), isi sintak di bawah ini:

105
Tambahkan sintak di bawah ini untuk event FpasswordShow:

Lalu pada unit Menu (Fmenu), tambahkan sintak di bawah ini pada event
FmenuShow:

Tampilan hasil akhir aplikasi:

106
107
108
Referensi
Al-Qur’an & Al-Hadits.
Heriyanto, Imam, Budi Raharjo (2003). Pemrograman Borland C++ Builder. Informatika
Bandung..
Indrajit, Richardus Eko. Manajemen Sistem Informasi dan Teknologi Informasi.
Indrajit, Richardus Eko. Kajian Strategis Analisa Cost-Benefit Investasi Teknologi Informasi.
Lidya, Leoni, rinaldi Munir (2002). Algoritama dan Pemrograman dalam Bahas Pascal dan C.
Informatika Bandung.
Solichin, Achmad (2003). Pemrograman Bahasa C dengan Turbo C. IlmuKomputer.Com.
Wahono, Romi Satria(2003). Cepat MahirBahasa. IlmuKomputer.Com.

109
Riwayat Hidup

Muhammad Fachrurrozi dilahirkan di Palembang, 22 Mei1980.


Saat ini mengabdikan dirinya untuk sebuah lembaga pendidikan yaitu Program
Diploma Komputer Universitas Sriwijaya di Palembang sebagai Tenaga Laboran dan
Staff Pengajar. Menyelesaikan studi sarjananya di Jurusan Matematika Fakultas MIPA
Universitas Sriwijaya Desember 2002. Memulai debutnya di bidang komputer pada usia
11 tahun, dengan berbagai pengalaman selama mendalami dan memahani komputer
baik dari sisi hardware maupun software. Saat duduk di bangku kuliah semester 3, ia
telah dipercaya untuk menjadi salah satu asisten laboratorium komputer di jurusannya
di bidang pemrograman. Saat waktu di bangku kuliah juga ia telah ditempa berbagai
pengalaman dalam bidang teknologi informasi, yaitu pada tahun 2001 dan 2002
dipercaya sebagai asissten dan instruktur untuk Pelatihan Internet dan Database untuk
pegawai Pendidikan Nasional se-Sumsel. Sejak setelah menamatkan kuliahnya ia
mengabdikan diri di Program Diploma Komputer Universitas Sriwijaya. Sehari-hari
dapat dihubungi melalui email m_fach@unsri.ac.id .

110

Anda mungkin juga menyukai