visual programing

110
KONSEP DAN APLIKASI PEMROGRAMAN MENGGUNAKAN BORLAND C++ BUILDER 6 BAGIAN 2: APLIKASI VISUAL DATABASE DENGAN ADO.NET (MS ACCESS & MS SQL SERVER 2000) M. FACHRURROZI

description

vb

Transcript of visual programing

Page 1: visual programing

KONSEP DAN APLIKASI PEMROGRAMAN MENGGUNAKAN

BORLAND C++ BUILDER 6

BAGIAN 2: APLIKASI VISUAL DATABASE

DENGAN ADO.NET (MS ACCESS & MS SQL SERVER 2000)

M . F A C H R U R R O Z I

Page 2: visual programing

2

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

Page 3: visual programing

3

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.

Page 4: visual programing

4

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

Page 5: visual programing

5

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

Page 6: visual programing

6

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++.

Page 7: visual programing

7

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.

P E R B E D A A N P E M R O G R A M A N V I S U A L D E N G A N P E M R O G R A M A N T E R S T R U K T U R

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.

Input

Process

Output

event execute yes

no

other action

Page 8: visual programing

8

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:

Page 9: visual programing

9

Prosedur A

Prosedur B

Prosedur C

Prosedur D

Unit

Unit 1

Unit 2

Unit 3

Unit 4

Project

Page 10: visual programing

10

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.

Page 11: visual programing

11

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. A P L I K A S I S E D E R H A N M E N G U N A K A N B O R L A N D C + + B U I L D E R 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:

Page 12: visual programing

12

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,

Page 13: visual programing

13

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:

Page 14: visual programing

14

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. //---------------------------------------------------------------------------

Page 15: visual programing

15

#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

Page 16: visual programing

16

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" //---------------------------------------------------------------------------

Page 17: visual programing

17

#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. B O R L A N D C + + B U I L D E R 6 B A G I P R O G R A M M E R 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. V C L ( V I S U A L C O M P O N E N T L I B R A R Y )

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.

Page 18: visual programing

18

- 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.

Gambar Nama Komponen

Default Name

Posisi Tab Fungsi Dasar Komponen Sejenis

Button Button1 Standard Proses/event BitBtn, SpeedButton

Edit Edit1 Standard Input/output berupa teks

MaskEdit, LabeledEdit, DBEdit

ListBox ListBox1 Standard Input/output berupa pilihan

DBListBox, DBLookupListBox

ComboBox ComboBox1 Standard Input berupa pilihan

DBComboBox, DBLookupComboBox

Memo Memo1 Standard

Input/output dengan length yang lebih panjang

DBMemo

Label Label1 Standard Teks tetap, output

DBLabel

CheckBox CheckBox1 Standard Input dengan nilai True or False

DBCheckBox

RadioButton RadioButton1 Standard Input berupa pilihan

RadioGroup, DBRadioGroup

GroupBox GroupBox1 Standard Group beberapa komponen

Panel

Panel Panel1 Standard Group beberapa komponen

GroupBox

Image Image1 Additional Memasukkan gambar

DBImage

Shape Shape1 Additional

Membuat bentuk gambar bulat, lingkaran dll

Timer Timer1 System

Proses perulangan menggunakan satuan interval 1

Page 19: visual programing

19

mili detik

MainMenu MainMenu1 Standard Membuat menu aplikasi

UpDown UpDown1 Win32

Menambahkan/ mengurangkan nilai dengan step tertentu

CSpinEdit

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:

Page 20: visual programing

20

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:

Page 21: visual programing

21

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:

Page 22: visual programing

22

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:

Page 23: visual programing

23

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:

Page 24: visual programing

24

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;

Page 25: visual programing

25

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;

Page 26: visual programing

26

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

Page 27: visual programing

27

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:

Page 28: visual programing

28

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)

Page 29: visual programing

29

#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 //---------------------------------------------------------------------------

Page 30: visual programing

30

#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:

Page 31: visual programing

31

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

Page 32: visual programing

32

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:

Page 33: visual programing

33

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:

Page 34: visual programing

34

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;

Page 35: visual programing

35

} //--------------------------------------------------------------------------- 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>

Page 36: visual programing

36

#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.

Page 37: visual programing

37

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

Page 38: visual programing

38

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

Page 39: visual programing

39

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:

Page 40: visual programing

40

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

berikut:

Page 41: visual programing

41

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" //---------------------------------------------------------------------------

Page 42: visual programing

42

#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);

Page 43: visual programing

43

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(); } //---------------------------------------------------------------------------

Page 44: visual programing

44

K O N S E P T I M E R

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

Page 45: visual programing

45

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:

Page 46: visual programing

46

4. Konsep Dasar Perancangan Database Sebelum merancang sebuah aplikasi database, haruslah dipahami dulu apa itu database, bagaimana konsep database dan bagaiman merancang sebuah database. A P A I T U D A T A B A S E

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. T I P S P E R A N C A N G A N D A T A B A S E

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

Tabel

Query

Tabel Tabel Tabel

Query

Database

Page 47: visual programing

47

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)

Page 48: visual programing

48

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)

Index Nama Field Type Size Default Allow

NULL Unique Primary Arahan

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)

Index Nama Field Type Size Default Allow

NULL Unique Primary Arahan

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)

Index Nama Field Type Size Default Allow

NULL Unique Primary Arahan

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)

Index

Nama Field Type

Size

Default

Allow NULL Arahan Keterangan

0 bulan Char 10 No Bulan Pembelian

Page 49: visual programing

49

1 tahun Char 4 No Tahun Pembelian

2 kodeplgn Char 6 No Kode Agen dari tabel pelanggan

3 kodebrg Char 6 No Kode Barang dari tabel barang

4 qty Numbe

r 4 0 No Jumlah 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

Page 50: visual programing

50

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.

Page 51: visual programing

51

Page 52: visual programing

52

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. M E N G G U N A K A N D A T A B A S E D E S K T O P

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:

Page 53: visual programing

53

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:

Page 54: visual programing

54

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:

Page 55: visual programing

55

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:

Page 56: visual programing

56

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.

Page 57: visual programing

57

6. Aplikasi Database Sederhana Menggunakan Borland Database Engine (BDE) M E M B U A T A P L I K A S I D A T A B A S E S E D E R H A N A

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

No Arahan Nama Form *.cpp *.h

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,

Data Pelanggan Flookup lookup.cpp lookup.h

9 Konfirmasi Rekap Bulanan Penjualan dan Pembelian

FKRek krek.cpp krek.h

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

Page 58: visual programing

58

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:

Page 59: visual programing

59

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:

Page 60: visual programing

60

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

Page 61: visual programing

61

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

Page 62: visual programing

62

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

Page 63: visual programing

63

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

Page 64: visual programing

64

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

Page 65: visual programing

65

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|

Page 66: visual programing

66

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:

Page 67: visual programing

67

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:

Page 68: visual programing

68

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)

Page 69: visual programing

69

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:

Page 70: visual programing

70

- 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:

Page 71: visual programing

71

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:

Page 72: visual programing

72

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

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

Page 73: visual programing

73

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.

Page 74: visual programing

74

§ 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%’ “

Page 75: visual programing

75

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:

Page 76: visual programing

76

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

Page 77: visual programing

77

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

Page 78: visual programing

78

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:

Page 79: visual programing

79

- 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:

Page 80: visual programing

80

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:

Page 81: visual programing

81

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.

Page 82: visual programing

82

Page 83: visual programing

83

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:

Page 84: visual programing

84

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:

Page 85: visual programing

85

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:

Page 86: visual programing

86

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:

Page 87: visual programing

87

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:

Page 88: visual programing

88

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:

Page 89: visual programing

89

Page 90: visual programing

90

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:

Page 91: visual programing

91

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.

Page 92: visual programing

92

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:

Page 93: visual programing

93

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

Page 94: visual programing

94

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:

Page 95: visual programing

95

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)

Page 96: visual programing

96

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

Page 97: visual programing

97

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:

Page 98: visual programing

98

Page 99: visual programing

99

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:

Page 100: visual programing

100

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

Page 101: visual programing

101

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

Page 102: visual programing

102

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:

Page 103: visual programing

103

Tampilan pada saat di Preview:

Page 104: visual programing

104

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:

Page 105: visual programing

105

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

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

Page 106: visual programing

106

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:

Page 107: visual programing

107

Page 108: visual programing

108

Page 109: visual programing

109

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.

Page 110: visual programing

110

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 [email protected] .