Modul Pemrograman Delphi 7

Tutoring Delphier Yugimage, M.Ber

Sekolah Tinggi Manajemen Informatika dan Komputer

BANI SALEH Bekasi 2014

 BAB 1 PENGANTAR PEMROGRAMAN VISUAL  BAB 2 PENGENALAN IDE DELPHI  BAB 3 PENGENALAN FORM SDI & MDI  BAB 4 TIPE DATA, STRUKTUR PROGRAM, FUNGSI DAN PROCEDURE  BAB 5 KONVERSI TIPE DATA  BAB 6 MICROSOFT ACCESS  BAB 7 PENGANTAR APLIKASI DATABASE MENGGUNAKAN DELPHI  BAB 8 PEMAKAIAN KOMPONEN DATA CONTROL DAN SYNTAX QUERY PADA DELPHI  BAB 9 APLIKASI DATABASE MASTER DETAIL  BAB 10 DELPHI REPORTING MENGGUNAKAN QUICK REPORT

Bab 1 Pengantar Pemrograman Visual Pada awal diperkenalkannya pemrograman menggunakan komputer, representasi sintaksis perintah-perintah program (command syntax) adalah berupa rangkaian karakter atau tekstual. Interaksi pengguna dengan komputer juga terbatas pada inptut keyboard dan representasi tombol, table dan garis yang merupakan gabungan dan manipulasi dari karakter ASCII. Seiring dengan perkembangan pada teknologi hardware/perangkat keras komputer, visualisasi antarmuka pengguna (user interface) komputer yang pada awalnya berupa text-based mengalami kemajuan dan berkembang menjadi graphical-based. Hal ini juga memicu perkembangan pengembangan aplikasi-aplikasi komputer yang lebih menuntut tampilan dan menu yang interaktif dan bersahabat (user friendly) seperti aplikasi pengolah kata, pengolah angka, aplikasi permainan (game), aplikasi pemutar musik/video (multimedia) dan lain sebagainya. 1.1. Visual Programming Perkembangan pada antarmuka pengguna komputer berupa graphical- based juga berdampak pada aplikasi pengembangan yang digunakan, saat ini dikenal istilah VPL (Visual Programming Language) dimana artinya adalah bahasa pemrograman yang dibantu atau lebih menggantungkan pada aplikasi pengembangan bersifat visual dibanding secara textual. Pengembangan aplikasi secara visual ini menggunakan penggabungan antara form, icon, notasi simbolik (symbolic notation) dan sintaksis program yang merupakan notasi sekunder dari sebuah lingkungan aplikasi pengembangan visual atau bisa kita sebut kode (Code). 1.2. Integrated Development Environment Aplikasi pengembangan visual menitikberatkan pada penggunaan alat- alat visual untuk pengembangan aplikasinya seperti tombol, kotat text, kotak dialog, label, table, bar, selain itu juga berbagai opsi untuk pengaturan atribut dari komponen visual, kustomisasi kode dan lain sebagainya. Hal ini menuntut sebuah lingkungan pengembangan yang terpadu dan terintegrasi atau dikenal dengan IDE (Integrated Development Environment). Saat ini banyak sekali digunakan berbagai macam IDE dari berbagai pengembang aplikasi yang berbeda baik komersil maupun opensource. Yang terkenal dan banyak digunakan pada saat ini diantaranya adalah: 1. Microsoft Visual Studio .Net IDE 2. Borland RAD IDE – Delphi, C++ Builder, dan Builder series lainnya 3. Eclipse IDE 4. Netbeans IDE, dan sebagainya.

Gambar 1-1 - Flowcode IDE

Tutor Delphier : Yugimage,M.Ber

1-1

Bab 1 Pengantar Pemrograman Visual Dengan adanya konsep IDE ini memungkinkan aktifitas pengembangan aplikasi lebih mudah dan lebih bersifat drag-drop untuk pengaturan kebanyakan opsi dan atribut visual.

Gambar 1-2 - Anjuta IDE – C / C++ Editor 1.3. Rapid Application Development RAD (Rapid Application Development) atau pengembangan aplikasi secara cepat, adalah sebuah tipe SDLC (Software Development Liffe Cycle) yang memungkinkan pengembangan aplikasi dengan menggunakan prototipe. RAD banyak diusung oleh aplikasi pengembangan visual yang memungkinkan pengembangan dari mulai perancangan fungsi, implementasi, dan pengujian secara cepat (rapid). Konsep RAD ini dimungkinkan dengan penggunaan IDE dalam aplikasi pengembangan visual.

Gambar 1-3 – Impelementasi Konsep RAD dengan Codegear Delphi IDE

Tutor Delphier : Yugimage,M.Ber

1-2

Bab 2 Pengenalan IDE Delphi Delphi adalah sebuah aplikasi pengembangan visual produksi Borland dan sekarang telah berganti nama menjadi Codegear Delphi setelah divisi software Borland di akuisisi oleh Codegear pada pertengahan tahun 2004. Sebagai aplikasi pengembagan visual, Delphi memakai notasi sintaksis sekunder berupa Object Pascal, dimana object pascal ini merupakan pengembangan dari bahasa pemrograman Pascal yang merupakan bahasa pemrograman yang bersifat prosedural. Dengan penggunaan pascal sebagai programming language atau notasi sekunder, membuat Borland Delphi lebih mudah dipelajari untuk programmer yang telah terbiasa memakai bahasa pascal atau programmer yang awam sekalipun dengan bantuan dan petunjuk dari fitur help (dokumentasi) nya yang terintegrasi dan mudah di akses. IDE Delphi pun lebih mudah digunakan dan memungkinkan adaptasi yang lebih cepat secara visual karena di lengkapi dengan penggunaan alat bantu visual berupa tombol-tombol dan icon yang mudah di akses dan di ingat. Saat ini Borland Delphi telah mengalami beberapa perubahan versi, yang terakhir adalah Codegear Delphi 2009 yang mendukung teknologi .Net 3.5 dari Microsoft dan komponen-komponen grafis yang mendukung trend antarmuka pengguna (user interface). Pada courseware ini digunakan Borland Delphi versi 7 yang cukup lengkap dan masih cukup banyak pemakaiannya di industriindustri pengembang aplikasi perangkat lunak. 2.1. Instalasi Borland Delphi Instalasi Borland Delphi 7 cukup mudah dan jelas, dengan panduan grafis berupa wizard yang memandu pengguna langkah demi langkah. Instalasi dimulai dengan menu dari Borland yang berisi beberapa opsi yaitu Delphi 7 itu sendiri, lalu Interbase, ModelMaker dan juga InstallShield Express yang mana merupakan aplikasi untuk membuat sebuah paket instalasi buatan kita sendiri.

Gambar 2-1 - Menu Installer Borland

Gambar 2-2 – Welcome Screen

Tutor Delphier : Yugimage,M.Ber

2-1

Bab 2 Pengenalan IDE Delphi

Gambar 2-3 - Verifikasi Serial Number

Gambar 2-4 - Pilihan Opsi Instalasi

Gambar 2-5 - Proses Installasi 2.2. Pengenalan IDE Borland Delphi Borland Delphi merupakan aplikasi pengembangan visual dengan lingkungan pengembangan yang terintegrasi (IDE – Intergrated Development Environment). IDE Borland Delphi terdiri dari beberapa bagian sebagai berikut: 2.2.1. Main Menu Pada main menu terdapat main toolbar, component palette, dan context menu. Toolbar berfungsi untuk mengatur semua fungsi pengembangan aplikasi. Component palette berfungsi

Tutor Delphier : Yugimage,M.Ber

2-2

Bab 2 Pengenalan IDE Delphi untuk menyimpan semua komponen-komponen yang bisa digunakan oleh sebuah program yang sedang dikembangkan.

Gambar 2-6 - Main Menu (Component Palette, Context Menu, Main Toolbar) 2.2.2. Code Editor Code Editor berfungsi untuk menambahkan notasi sintaksis sekunder berupa teks kode program, pascal. Code Editor ini dilengkapi dengan fitur code completion yaitu sebuah fitur dimana kita bisa menyisipkan deklarasi kelas, object, properties, tipe data, dan lain sebagainya dalam bentuk teks.

Gambar 2-7 - Code Editor 2.2.3. Component Palette Component Palette menampung berbagai macam notasi simbolis berupa icon-icon yang mewakili fungsi-fungsi tertentu sebuah komponen.

Gambar 2-8 - Main Component Palette 2.2.4. Form View Form view merupakan area kerja visual anda. Anda dapat menambahkan berbagai macam fungsi dengan penambahan komponen- komponen yang tersedia di component palette seperti label, button, text edit, memo, dan lain-lain.

Gambar 2-9 - Form View dengan satu komponen button dan satu label Tutor Delphier : Yugimage,M.Ber

2-3

Bab 2 Pengenalan IDE Delphi 2.2.5. Object Inspector Setiap komponen yang mempunyai representasi visual seperti button, label, edit, numedit dan lain-lain memiliki atribut-atribut seperti warna, ukuran, tipe font dan lain sebagainya yang bisa di ubah sesuai dengan kebutuhan di Object Inspector.

Gambar 2-10 - Object Inspector digunakan untuk melakukan perubahan atribut dari komponen. 2.3. File Project, Unit dan Form Borland Delphi Dalam sebuah project yang kita buat dalam Borland Delphi, secara default terdapat filefile yang diciptakan pada saat project tersebut di buat. 2.3.1. Project File File .dpr adalah file pusat atau utama dari sebuah project Delphi (satu file .dpr per project). File berekstensi *.dpr ini sebenarnya merupakan file sumber berisi kode bahasa pascal. File ini berfungsi sebagai pintu masuk untuk Delphi kedalam sebuah project. Meskipun file .dpr bisa di edit secara manual, tetapi tidak dianjurkan untuk mengubah isi dari file ini. 2.3.2. Unit File File berekstensi .pas ini berisi source code program dalam bahasa Object Pascal. File source ini merupakan impelementasi fungsi dari event yang ada di form atau sebuah file source yang digunakan untuk unit lain. 2.3.3. Form File File berekstensi .frm ini berisi seluruh informasi mengenai form, baik itu ukuran, caption, warna, event dan bahkan informasi komponen-komponen child yang berada di dalam form tersebut. 2.4. Event Driven Programming Event driven programming adalah tipe pemrograman yang hampir semua prosesnya dimulai/dipicu dari sebuah event yang terjadi di lingkungan atau siklus aktifnya sebuah aplikasi dalam memori. 2.5. Properties Setiap komponen di dalam delphi diperlakukan sebagai objek, objek tentunya memiliki atribut, dan method (metoda2) yang bisa dijalankan pada dirinya. Setiap atribut yang bisa diubah oleh programmer disebut properties, contoh properties untuk sebuah form adalah caption (nama di title bar), ukuran (width x height), anchor (jangkar), cursor, warna latar

Tutor Delphier : Yugimage,M.Ber

2-4

Bab 2 Pengenalan IDE Delphi (color), visibility (tampak atau tidak), dan lain-lain. Properties ini pun bisa di akses secara tekstual atau kode dari code editor, tentunya dengan event tertentu.

Gambar 2-11 - Pengaturan properties sebuah komponen melalui Object Insector. 2.6. Event Event adalah sebuah kejadian atau yang lebih tepat adalah sebuah aksi yang dilakukan ketika aplikasi menemui sebuah kondisi tertentu, misal ketika sebuah form pertama kali ditampilkan maka sebuah event bernama onCreate milik form tersebut dieksekusi, nah event onCreate memiliki notasi tekstual berupa prosedur di code editor nah sebagai contoh jika anda ingin mengeksekusi sebuah program pada event on create, anda bisa mengaktifkan nya dengan cara klik ganda di bagian event onCreate yang teradapat di Object Inspector, dan Delphi akan secara otomatis menyediakan kerangka untuk prosedur tersebut di dalam unit yang terdapat di code editor.

Gambar 2-12 - Pembuatan sebuah event dengan mengakses event dalam object inspector

Tutor Delphier : Yugimage,M.Ber

2-5

Bab 2 Pengenalan IDE Delphi

Gambar 2-13 - Kerangka yang di generate secara otomatis ketika event oncreate di Object Inspector Form1 di klik-ganda 2.7. Container Bayangkan sebuah "truk container", isinya bermacam-macam bukan? Begitu juga analoginya dengan pemrograman visual dengan Delphi. Sebuah component, bisa menjadi container atau wadah untuk component lainnya. container yang paling utama di dalam sebuah aplikasi di delphi adalah Form, setiap kali anda membuat sebuah program baru di delphi atau ketika anda membuka delphi untuk pertama kalinya, maka akan dibuatkan sebuah form dengan nama Form1, nah di dalam container berupa Form1 ini lah anda dapat memasukkan berbagai macam komponen lainnya yang mana sifat dari komponen tersebut disebut child (anak) dan Form1 disebut sebagai parent (orangtua).

Gambar 2.12 – Contoh Implementasi Container dengan satu panel dan satu button

Tutor Delphier : Yugimage,M.Ber

2-6

Bab 3 Pengenalan Form SDI dan MDI 3.1. MDI dan SDI MDI merupakan kepanjangan dari Multiple Document Interface. Di dalam suatu aplikasi MDI terdapat lebih dari satu dokumen atau child window, dimana child window ini dapat dibuka pada satu form induk (parent window). Penggunaan MDI banyak terdapat pada aplikasi seperti spreadsheet. Jadi secara keseluruhan MDI terdiri dari dua bagian yaitu sebuah form induk atau MDI Container atau MDI Parent dan satu atau lebih form anak atau disebut sebagai child forms. Child forms dibuka di MDI Container. Aplikasi yang mengimplementasikan MDI biasanya terdiri dari tiga komponen dasar yaitu : 1. Satu (dan hanya satu) form MDI Container atau form induk 2. Satu atau lebih form MDI Child 3. Menu utama MDI Aplikasi MDI biasanya dibuat untuk aplikasi yang menggunakan banyak file tetapi untuk memberi kemudahan akses, semua file itu ingin ditampilkan dalam sebuah form. SDI merupakan kepanjangan dari Single Document Interface. Di dalam suatu aplikasi SDI hanya terdapat sebuah form untuk sebuah file. Contoh aplikasi SDI adalah Notepad, dimana jika kita membuka notepad maka akan muncul sebuah form dan apabila kita akan membuat file notepad baru, maka akan muncul form yang kedua. Setiap kita membuat file baru maka akan muncul form (jendela) notepad yang baru. Contoh aplikasi MDI adalah Microsoft Word, dimana ketika kita membuka MS Word untuk pertama kalinya, maka akan muncul sebuah form (jendela) yang terdapat menu-menu dan sebuah form (jendela) tempat kita menulis. Jika kita ingin membuat file baru maka akan muncul form baru untuk menulis, tetapi form menu tetap satu. MS Word menggunakan MDI Application, dimana form yang terdapat menu-menu tersebut merupakan MDI Container (form induk) sedangkan form tempat kita menulis adalah Form MDI Child. 3.2. Struktur Aplikasi MDI Suatu aplikasi MDI mempunyai suatu struktur, yaitu : 1. Form utama aplikasi asalah sebuah frame atau sebuah container 2. Form khusus yang dinamakan MDI client, meliputi seluruh area client dari frame yang dilengkapi dengan kemampuan-kemampuan khusus. Misalnya MDI Client menangani sejumlah form anak. 3. Sejumlah form anak yang tipenya sama atau berbeda. Form anak tersebut tidak langsung ditempatkan di frame tetapi di definisikan sebagai anak dari form MDI Client, dimana MDI Client berada di dalam frame. Untuk menampilkan form anak jumlahnya lebih dari satu, maka diperlukan struktur penyusunan form, terdapat dua cara penyusunan form yaitu : 1. Cascade Form child akan diatur mulai dari ujung kiri atas frame dan bergerak ke ujung kanan bawah. Jendela akan saling tumpang tindih. 2. Tile Form child akan diatur seperti susunan ubin, sehingga tidak saling tumpang tindih. Area Form utama akan dibagi sama rata untuk semua form child. 3.3. Aplikasi MDI di Delphi Aplikasi MDI di Delphi dapat dilakukan dengan dua cara, cara yang pertama adalah dengan membuat beberapa form, sebuah form akan disetting menjadi form induk (MDI Container) dan form yang lain akan disetting menjadi form child (MDI Child). Membuat form menjadi MDI Container atau MDI Child dapat dilakukan dari properties FormStyle pada komponen Form, pada properties ini akan terdapat pilihan fsMDIForm untuk membuat form menjadi MDI Container dan fsMDIChild untuk membuat form menjadi MDI Child. Sedangkan cara yang kedua, kita dapat menggunakan aplikasi MDI dengan menggunakan wizard yang terdapat pada File  New  Other kemudian pilih tab Projects dan pilih MDI Application.

Tutor Delphier : Yugimage,M.Ber

3-1

Bab 3 Pengenalan Form SDI dan MDI Pada studi kasus pada bab ini akan dicontohkan penggunaan cara yang pertama. 3.4. Implementasi aplikasi MDI Untuk membuat aplikasi MDI lakukan langkah-langkah berikut : 1. Siapkan sebuah folder untuk menyimpan aplikasi dengan nama ProjectMDI1 2. Membuat Form Parent atau MDI Container a. Buat aplikasi baru dengan memilih menu File  New  Application, sehingga akan muncul Form1 b. Ubah properties Form1 sebagai berikut :

Komponen Form

Tabel 3-1 Properties Form1 Properties Nilai Properties Name Caption FormStyle Align BorderStyle Height Width Position

FormMain Form Utama fsMDIForm alCustom bsSizeToolWindow 500 600 poDesktopCenter

c. Simpan file unit dengan nama UnitMain.pas dan file project dengan nama PrjMDIApplication.dpr FormStyle fsMDIForm merupakan setting untuk form yang akan berperan sebagai MDI Parent atau MDI Container, dan hanya sebuah form yang mempunyai style fsMDIForm. 3. MDI Parent biasanya berisi menu-menu untuk memproses MDI Child. Masukkan komponen berikut ke dalam FormMain

Gambar 3-1 - Tampilan Form Utama

Komponen MainMenu Label1 Label2

Tabel 3-2 Komponen pada FormMain Properties Nilai Properties Name MainMenu1 Caption SISTEM INFORMASI Caption RENTAL VCD MERIAH

Untuk memasukkan komponen MainMenu, klik tanda pada tool pallete Standard. Kemudian klik pada komponen MainMenu1, klik tanda pada properties Items sehingga akan keluar dialog seperti berikut :

Tutor Delphier : Yugimage,M.Ber

3-2

Bab 3 Pengenalan Form SDI dan MDI

Gambar 3-2 - Dialog MainMenu Klik pada bagian yg berwarna kuning, kemudian ubah isi properties Caption menjadi Persewaan. Klik menu Persewaan sehingga akan muncul submenu dan seterusnya. Untuk selengkapnya struktur menu dapat dilihat dalam tabel berikut :

Menu Persewaan

Search Laporan

Help Exit

Tabel 3-3 Struktur Menu Submenu Data Sewa Data Anggota Data VCD Sewa Anggota VCD About

Maka hasilnya akan seperti gambar berikut ini

Tutor Delphier : Yugimage,M.Ber

3-3

Bab 3 Pengenalan Form SDI dan MDI

Gambar 3-3 - Menu dan Submenu Tutup dialog Main Menu dan di dalam Form Main akan muncul Menu seperti gambar berikut :

Gambar 3-4 - Form Utama dengan Menu 4. Membuat MDI Children Setiap MDI Container mempunyai paling tidak sebuah MDI Child. MDI Child hanya boleh tampil di dalam form MDI Container, dan jika di minimize maka icon MDI Child berada di dalam MDI Mother. Untuk membuat MDI Child adalah : a. Pilih menu File  New  Form, maka akan muncul Form1 b. Ubah properties Form1 sebagai berikut

Komponen Form

Tutor Delphier : Yugimage,M.Ber

Tabel 3-4 Pengubahan Properties Form1 Properties Nilai Properties Name FormAnggota Caption Data Anggota FormStyle fsMDIChild Align alCustom BorderStyle bsSizeable Height 440 Width 580 Position poMainFormCenter

3-4

Bab 3 Pengenalan Form SDI dan MDI c. Simpan file unit dengan nama UnitAnggota.pas di dalam folder yang sama dengan file UnitMain.pas dan PrjMDIApplication.dpr. FormStyle fsMDIChild merupakan setting untuk form yang akan berperan sebagai MDI Child, dan dapat terdiri dari satu atau lebih form. 5. Secara default FormAnggota akan langsung ditampilkan di Form Utama setelah di-Create ketika program dijalankan, seharusnya form ini akan tampil hanya ketika dipilih menu Persewaan  Data Anggota, oleh karena itu FormAnggota harus masuk ke Available Form. Cara membuat suatu form menjadi Available form adalah dengan memilih menu Project  Option sehingga akan muncul dialog sebagai berikut :

Gambar 3-5 - Project Option Pilih FormAnggota pada Auto-create Forms kemudian klik tanda sehingga FormAnggota akan masuk ke Available Forms. 6. Simpan perubahan dengan memilih menu File  Save All 7. Hubungkan FormMain dengan FormAnggota. Pindah ke FormMain kemudian pilih menu File  Use Unit, pilih UnitAnggota. 8. Ketika form menjadi Available form maka untuk menampilkannya form tersebut harus diCreate terlebih dahulu, yaitu dengan cara : Pindah ke FormMain, klik pada menu Persewaan  Data Anggota yang terdapat di dalam FormMain, sehingga akan muncul procedure TFormMain.DataAnggota.Click. Lengkapilah kode didalamnya sebagai berikut : procedure TFo rmMain.DataAnggotaClick(Sender: TObject); begin Application.CreateFo rm(TFormAnggota,FormAnggota); end;

Kode diatas menyebabkan form Anggota hanya muncul ketika user memilih menu Persewaan  Data Anggota 9. Jika Form Anggota ditutup maka form tersebut tidak tertutup tetapi menjadi minimize dan akan tampil di bagian bawah Form Parent. Hal ini terjadi karena aksi default yang ditimbulkan ketika form Child di close adalah menyembunyikan (hide). Untuk menutup form MDI harus dilakukan membebaskan dan melepaskan memori yang berkaitan dengan form tersebut. Caranya adalah : Pindah ke Form Anggota, klik bagian kosong pada form Anggota, kemudian pilih event OnClose sehingga akan muncul prosedur TFormAnggota.FormClose, lengkapi kode didalamnya sebagai berikut : procedure TFormAnggota.FormClose(Sender: TObject; var Action: TCloseAction);

Tutor Delphier : Yugimage,M.Ber

3-5

Bab 3 Pengenalan Form SDI dan MDI begin Action:=caFree; end;

10. Buatlah form baru dengan memilih menu File  New  Form, kemudian lakukan langkah 3 – 8 untuk Menu yang lain. Dengan penamaan Form dan file sebagai berikut Tabel 3-5 Penamaan Form dan File baru Komponen Properties Nilai Properties Form1 (Menu Data Sewa) Name FormSewa Save : UnitSewa.pas Caption Data Sewa Form2(Menu Data VCD) Name FormVCD Save : UnitVCD.pas Caption Data VCD Form3 (Menu Search) Name FormSearch Save : UnitSearch.pas Caption Search Data Form4 (Menu Laporan Sewa) Name FormLapSewa Save : UnitLapSewa.pas Caption Laporan Sewa Form5 (Menu Laporan Anggota) Name FormLapAnggota Save : UnitLapAnggota.pas Caption Laporan Anggota Form6 (Menu Laporan VCD) Name FormLapVCD Save : UnitLapVCD.pas Caption Laporan VCD Form7 (Menu About) Name FormAbout Save : UnitAbout.pas Caption Laporan About 11. Hasil running adalah sebagai berikut :

Gambar 3-6 - Running Program

Tutor Delphier : Yugimage,M.Ber

3-6

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur 4.1. Tipe Data Delphi menyediakan tipe data yang cukup banyak sehingga akan memberi keleluasaan pada pemrogram dalam membuat program sesuai permintaan. Penggunaan tipe data seharusnya disesuaikan dengan kebutuhan dan dibisaakan untuk menggunakan tipe data yang tepat sesuai dengan program sehingga tidak muncul permasalahan memori. Tipe data yang disediakan oleh Delphi adalah : 4.1.1. Integer Digunakan untuk menyatakan bilangan yang tidak mempunyai angka desimal.

Tipe Byte Word Longword ShortInt LongInt Integer Cardinal Int64

Tabel 4-1 Tipe Data Integer Rentang Nilai 0…255 0…65535 0…4294967295 -128…127 -2147483648…2147483647 -2147483648…2147483647 0…4294967295 -226…263-1

Byte 1 2 4 1 4 4 4 8

4.1.2. Real Digunakan untuk menyatakan bilangan yang mempunyai angka desimal.

Tipe Real48 Single Double Real Extended Comp Currency

Tabel 4-2 Tipe Data Real Rentang Nilai 2.9 x 10-39 … 1.7 x 1038 1.5 x 10-45 … 3.4 x 1038 5.0 x 10-324 … 1.7 x 10308 5.0 x 10-324 … 1.7 x 10308 3.6 x 10-4951 … 1.1 x 104932 -263-1 … 263-1 -922337203685477.5808… 922337203685477.5807

Byte 6 4 8 8 10 8 8

4.1.3. Boolean Digunakan untuk menyatakan data logika, yaitu True (benar) dan False (salah). Tabel 4-3 Tipe Data Boolean Tipe Byte Boolean 1 ByteBool 1 WorldBool 2 LongBool 4 4.1.4. Character Digunakan untuk menyatakan data berupa sebuah karakter.

Tipe Char

Tutor Delphier : Yugimage,M.Ber

Tabel 4-4 Tipe Data Character Isi Byte 1 karakter ANSI 1

4-1

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur AnsiChar WideChar

1 karakter ANSI 1 karakter Unicode

1 2

4.1.5. String Digunakan untuk menyatakan sederetan karakter yang membentuk satu kesatuan. Tipe string ini dapat digunakan untuk menyimpan karakter kosong dan juga sebuah karakter.

Tipe ShortString AnsiString WideString

Tabel 4-5 Tipe Data String Byte Isi Maksimum 2 sampai dengan 256 256 karakter 4 sampai dengan 2 GB 231 karakter 4 sampai dengan 2 GB 230 karakter

4.1.6. Array Digunakan untuk menyatakan sebuah variabel tunggal yang dapat menyimpan sekumpulan data yang sejenis. Pendeklarasian array pada Delphi : Nilai : a rray [1..10] of integer;

Pendeklarasian diatas akan membuat sebuah variabel bernama Nilai yang dapat digunakan untuk menyimpan 10 data bertipe integer. Sedangkan untuk pemberian nilai pada array Nilai harus diikuti dengan nomor elemen yang akan diakses. Nilai[1] := 80;

4.1.7. Record Digunakan untuk menyimpan sekumpulan data yang mungkin berbeda tipe tetapi saling berhubungan. Misal tipe data record untuk menyimpan data pribadi mahasiswa yang berisi Nama, Nim, dan Umur. Cara pendeklarasian tipe data record adalah sebagai berikut : type RecMhs = record NIM : AnsiString[10]; Na ma : AnsiString[30]; Umur : integer; end; var Mahasiswa : RecMhs;

4.2. Tipe Terenumerasi dan Subrange Tipe data terenumerasi dan subrange digunakan untuk menyatakan data berurutan yang mempunyai tipe data yang sama. Contoh deklarasi tipe terenumerasi : type warna = (Merah, Biru, Hijau, Kuning, Orange, Hitam, Putih); var WarnaCrayon : wa rna;

Contoh deklarasi tipe subrange Type Huruf = ‘A’ .. ‘Z’; Angka = 1 .. 100; var Nilai : Angka; Hu rufBesa r : Huruf;

Tutor Delphier : Yugimage,M.Ber

4-2

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur 4.2.1. Ordinal Tipe data ini terdiri dari tipe integer, character, Boolean, enumerated, dan subrange. Data bertipe ordinal dioperasikan dengan beberapa fungsi yang dirancang pada tipe ordinal. Misal argumen n adalah suatu bilangan integer.

Function Ord(n) Pred(n) Succ(n) High(n) Low(n)

Tabel 4-6 Tipe Data Ordinal Hasil Keterangan n Misal n=3, hasil = 3 n-1 Misal n=3, hasil = 2 n+1 Misal n=3, hasil = 4 Nilai tertinggi tipe data n Misal n adalah integer, maka hasil = 2147483647 Nilai terendah tipe data n Misal n adalah integer, maka hasil = -2147483648

4.3. Konstanta Konstanta merupakan suatu nilai yang bersifat tetap dan digunakan untuk mendeklarasikan suatu ketetapan. Konstanta tidak dapat diubah nilainya di dalam program, jika ingin mengubah nilainya maka harus melalui pendeklarasiannya. const phi = 3.14;

4.4. Variabel Variabel merupakan suatu tempat penyimpanan yang dialokasikan ke dalam memori, variabel diberi nama untuk pengenal dan digunakan untuk menyimpan sebuah data dengan nilai tertentu. Setiap variabel pasti mempunyai nama, penulisan nama variabel pada Delphi tidak memperhatikan besar kecilnya huruf. Aturan penulisan nama variabel : 1. Dimulai dengan karakter Alphabet 2. Harus unik pada lingkungan variabel yang sama 4.4.1. Variabel Global Variabel global adalah variabel yang mempunyai ruang lingkup luas yaitu variabel yang dideklarasikan di dalam ruang lingkup unit atau program. 4.4.2. Variabel Lokal Variabel Lokal adalah variabel yang mempunyai ruang lingkup kecil yaitu variabel yang di deklarasikan di dalam ruang lingkup function atau procedure. 4.5. Operator Operator digunakan untuk memanipulasi dan mengolah data. Delphi menyediakan bermacam-macam operator. 4.5.1. Operator Penugasan Berfungsi untuk memasukkan suatu data ke dalam suatu variabel.

4.5.2. Operator Aritmatika Digunakan untuk melakukan operasi Aritmatika.

Tutor Delphier : Yugimage,M.Ber

4-3

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur Operator * / Div Mod + -

Tabel 4-7 Operator Aritmatika Operasi Perkalian Pembagian Pembagian bulat Sisa pembagian Penambahan Pengurangan

4.5.3. Operator Relasi Digunakan untuk membandingkan suatu nilai dengan nilai yang lain. Hasil dari penggunaan operator ini berupa Boolean TRUE atau FALSE.

Operator = <> < > <= >=

Tabel 4-8 Operator Relasi Keterangan Sama dengan Tidak sama dengan Lebih Kecil Lebih besar Lebih kecil sama dengan Lebih besar sama dengan

4.5.4. Operator Logika Digunakan untuk mengekspresikan satu atau lebih data Boolean yang baru.

Operator Not And Or Xor

dan menghasilkan data

Tabel 4-9 Operator Logika Keterangan Tidak Dan Atau Exclusive Or

4.6. Kontrol Program Kontrol program digunakan untuk mengatur jalannya program. Dengan adanya kontrol program maka dapat diatur apakah suatu pernyataan perlu dijalankan atau tidak. Jenis kontrol program yang disediakan oleh Delphi adalah : 4.6.1. Pencabangan 4.6.1.1. If … then … else If then else

If pertama akan menguji kondisi jika bernilai true maka akan menjalankan pernyataan 1, jika bernilai false maka akan menjalankan pernyataan 2. Selain bentuk if then else, juga terdapat bentuk nested if jika kondisi yang akan diuji lebih dari satu. 4.6.1.2. Case … of Digunakan untuk mencabangkan ke pilihan tertentu berdasar pengujian suatu nilai. Pencabangan case ..of digunakan sebagai alternatif jika pencabangan cukup banyak. Case of :

Tutor Delphier : Yugimage,M.Ber

4-4

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur : . .. : end; 4.6.1.3. Go To Pernyataan GoTo dipakai untuk melakukan pencabangan tak bersyarat ke suatu label. Label dapat dibuat dengan kata kunci label dan diikuti nama labelnya. Contoh : Begin Label Awal; A:=A*2; If (A<100) then Goto Awal; 4.6.2. Perulangan 4.6.2.1. For to do Digunakan untuk melakukan pengulangan (iterasi) satu blok pernyataan selama beberapa kali yang ditentukan nilai awal dan nilai akhir. Terdapat dua bentuk yaitu For ..To..dan For ..DownTo For := to do , awal <=akhir Atau For := downto do , awal>=akhir 4.6.2.2. While Do Digunakan untuk melakukan pengulangan satu blok pernyataan selama suatu kondisi bernilai True. Perulangan akan berhenti jika kondisi bernilai False. While do 4.6.2.3. Repeat Until Pengulangan ini hampir sama dengan While…do. Perulangan Repeat Until melakukan pengecekan kondisi pada bagian setelah pernyataan, sehingga pernyataan akan dijalankan minimal satu kali. Repeat ; ; … ; until; 4.7. Function dan Procedure Function (fungsi) dan Procedure (prosedur) merupakan suatu susunan kode yang biasanya digunakan sebagai alat untuk melakukan tugas tertentu atau mendapatkan nilai tertentu. Pembuatan function dan procedure sama halnya seperti pembuatan function dan procedure di dalam Pascal. Ketika membuat program di Delphi, jika ingin melakukan suatu event pada komponen maka akan secara otomatis terbuat deklarasi procedure yang berkaitan dengan event tersebut, pemrogram dapat mendefinisikan isi dari procedure tersebut. Delphi juga menyediakan function dan procedure built in, artinya bisa langsung digunakan.

Tutor Delphier : Yugimage,M.Ber

4-5

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur 4.8. Studi Kasus 4.8.1. Apikasi Stopwatch Pada latihan kali ini akan digunakan komponen Timer, Edit, Label, dan Button. Studi kasus kali ini akan mempelajari cara pembuatan suatu aplikasi stop watch, dengan tampilan seperti gambar di bawah :

Gambar 4-1 - Gambar Tampilan Stop Watch Langkah-langkah untuk membuat aplikasi tersebut adalah sebagai berikut : 1. Buat aplikasi baru File  New Application. 2. Pilih object Form1, kemudian ubah properties Caption menjadi Stop Watch. ke Form1 yaitu Label1, Label2, Label3. 3. Masukkan 3 TLabel Atur tata letaknya. Ubah properties Caption pada Label1 menjadi Mulai, Label2 menjadi Selesai, dan Label3 menjadi Lama. 4. Masukkan 3 objek TEdit ke Form1 yaitu Edit1, Edit2, Edit3. Atur tata letaknya sehingga Edit1 di samping label Mulai, Edit2 disamping label Selesai dan Edit3 disamping label Lama. Kosongkan properties Text nya. 5. Masukkan 1 object TButton ke Form1, kemudian udabh properties Caption menjadi Start. Dan atur tata letaknya seperti gambar diatas. 6. Untuk memasukkan object Timer, klik kategori System pada tool palette.

Gambar 4-2 - System Tab – Component Palette Pilih TTimer kemudian masukkan ke Form1, TTimer boleh diletakkan dimana saja dalam Form1, karena TTimer tidak akan tampil pada saat aplikasi dijalankan. 7. Tampilkan source editor unit1 untuk menuliskan kode program. 8. Pada deklarasi variabel ketikkan kode sebagai berikut : var Form1: TForm1; awal, akhir : TDateTime; lama : real; 9. Pindah ke form kemudian klik ganda di daerah manapun pada form atau dengan memilih Form1 kemudian pada Object Inspector Event pilih OnCreate, maka akan muncul sebuah prosedur TForm1.FormCreate, kemudian lengkapi prosedur tersebut seperti di bawah : procedure TForm1.FormCreate(Sender: TObject); begin Timer1.Interval:=1; End;

Tutor Delphier : Yugimage,M.Ber

4-6

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur 10. Pindah ke form kemudian klik ganda pada object Timer1 maka akan muncul procedure TForm1.Timer1Timer kemudian lengkapilah program di dalamnya seperti berikut : procedure TForm1.Timer1Timer(Sender: TObject); var Slama : string; begin if Button1.Caption='Stop' then begin akhir := Time; Edit2.Text:=TimeToStr(akhir); lama := (akhir-awal)*100000; Str(lama:12:2,Slama); Edit3.Text:=Slama; End; end; 11. Pindah ke form kemudian klik ganda pada object Button1 maka akan muncul procedure TForm1.Button1Click kemudian lengkapilah program di dalamnya seperti berikut : procedure TForm1.Button1Click(Sender: TObject); begin if Button1.Caption='Start' then begin awal := Time; Edit1.Text:=TimeToStr(Time); Button1.Caption:='Stop'; end else if Button1.Caption='Stop' then begin Button1.Caption:='Selesai' end else Application.Terminate; end; 12. Simpan program dengan Save All. Beri nama file untuk untuk .pas file dengan UStopWatch.pas, dan utnuk .prj file dengan PrjStopWatch.prj 13. Jalankan program dengan klik icon Run 4.8.1.1. CARA KERJA APLIKASI STOP WATCH Sistem kerja stop watch menggunakan timer untuk mengambil waktu atau jam pada komputer. Ketika program dijalankan pada akan tampil sebuah form yang masih kosong pada bagian object Edit, pada waktu ini procedure TForm1.FormCreate sudah dijalankan yaitu memberikan interval Timer menjadi 1 milidetik. Ketika user klik tombol Start maka procedure TForm1.Button1Click akan dijalankan, procedure ini akan melakukan pengambilan waktu mulai kemudian ditampilkan pada Edit1 dan tombol start akan diubah caption nya menjadi stop. Selama user belum mengklik tombol stop, maka caption pada Button1 akan menjadi Stop sehingga procedure TForm1.Timer1Timer dijalankan, sebenarnya procedure ini sudah berjalan ketika program di run, tetapi terdapat pengkondisian didalamnya dimana kode hanya akan dijalankan ketika caption pada Button1 adalah Stop. Karena procedure TForm.Timer1Timer sudah menemui kondisi yang benar maka pada Edit2 akan ditampilkan waktu yang terus bergerak dan pada Edit3 akan ditampilkan lama penggunaan stop watch. Jika user klik tombol Stop maka caption pada Button1 akan berubah menjadi Selesai, karena Caption pada Button1 sudah tidak Stop lagi maka procedure TForm1.Timer1Timer tidak menemukan kondisi benar, maka tidak dilakukan penampilan nilai timer ke Edit2, sehingga seakan-akan perhitungan waktu telah berhenti. Jika user klik tombol Selesai maka program akan di terminasi.

Tutor Delphier : Yugimage,M.Ber

4-7

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur 4.8.2. Aplikasi Notepad Untuk dapat lebih memahami penggunaan delphi IDE dan hubungannya dengan penjelasan fungsi dan prosedur di atas maka dalam studi kasus yang kedua ini kita akan membuat sebuah aplikasi notepad. Aplikasi notepad yang dibuat memiliki fungsi sedekat mungkin dengan notepad bawaan Windows dimana aplikasi tersebut memiliki fitur-fitur diantaranya:  Dapat mengubah type font dari text yang diketikkan  Dapat membuka file text menggunakan open file dialog Dapat melakukan pencetakan  Dapat melakukan manipulasi text cut, copy, paste dan select all  Dapat melakukan saving (penyimpanan) file yang di edit Adapun komponen-komponen yang digunakan diantaranya:  Komponen dialog control: Open File Dialog, Save Dialog, Font Dialog.  Main Menu  Status Bar  Memo Komponen dialog adalah sebuah komponen yang digunakan dimiliki Delphi untuk mempermudah pemrogram membangun aplikasi yang membutuhkan inputan paramater dari user. Buatlah tampilan seperti berikut, dengan menggunakan beberapa komponen yang telah disebutkan di atas :

Gambar 4-3 - Delphi Notepad Adapun properties dan event yang harus di buat untuk masing- masing komponen adalah sebagai berikut:  PrintDialog Name PrintDialog1  OpenFileDialog Name OpenDialog1 DefaultExt *.txt Filter Text Files|*.txt|All Files|*.* InitialDir C:\MyDocuments Title Open File...  FontDialog Name FontDialog1  SaveDialog

Tutor Delphier : Yugimage,M.Ber

4-8

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur







Name InitialDir Filter DefaultExt ofOverwritePrompt Memo Name Scrollbars Align WordWrap StatusBar Name SimplePanel SimpleText MainMenu Name

Menu File

SaveDialog1 C:\ Text Files|*.txt|All Files|*.* *.txt True Memo1 ssBoth alClient True StatusBar1 True Ready MainMenu1 Tabel 4-10 Struktur Main Menu Sub Nama Procedure Menu Properties (Event on Click) New Enabled: True FileNewClick Name: FileNew Open Enabled: True FileOpenClick Name: FileOpen Save Enabled: True FileSaveClick Name: FileSave SaveAs Enabled: True FileSaveAsClick Name: FileSaveAs Print Enabled: True FilePrintClick Name: FilePrint

Edit Undo Cut Copy Paste Select All

Enabled: False Name: Undo Enabled: False Name: Cut Enabled: False Name: Copy Enabled: True Name: Paste Enabled: True Name: SelectAll

UndoClick

Enabled: True Name: WordWrap Enabled: True Name: Font

WordWrapClick

CutClick CopyClick PasteClick SelectAllClick

Format Word Wrap Font

Tutor Delphier : Yugimage,M.Ber

FontClick

4-9

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur Untuk setiap menu yang ada berikan masing-masing kode seperti tabel berikut : Tabel 4-11 Kode Program untuk setiap Menu Nama Procedure (Event on Click) Fungsi Sintaks Program FileNewClick Membuat file baru procedure TForm1.FileNewClick(Sender: TObject); begin if not (Memo1.Modified) then begin Memo1.Clear; Form1.Caption := 'UnNamed - Delphi Notepad'; OpenDialog1.FileName := ''; SaveDialog1.FileName := ''; end else if (Memo1.Modified) then begin ModalResult := MessageDlg('Save Changes?', mtConfirmation, [mbYes, mbNo,mbCancel], 0); if (ModalResult = mrYes) and (SaveChanges) then begin Memo1.Clear; Form1.Caption := 'UnNamed - Delphi Notepad'; Memo1.Modified := False; OpenDialog1.FileName := ''; SaveDialog1.FileName := ''; end else if ModalResult = mrNo then begin Memo1.Clear; Form1.Caption := 'UnNamed - Delphi Notepad'; OpenDialog1.FileName := ''; SaveDialog1.FileName := ''; Memo1.Modified := False; end; end; end; FileOpenClick Membuka File procedure TForm1.FileOpenClick(Sender: TObject); begin //jika tidak ada modifikasi pada Memo1 maka paggil prosedur OpenTheFile if not (Memo1.Modified) then //untuk bisa melihat detil dari sebuah prosedur maka klik kanan pada nama prosedur tersebut

Tutor Delphier : Yugimage,M.Ber

4 - 10

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur OpenTheFile else if (Memo1.Modified) then begin //untuk mendapatkan nilai button yang di pilih maka bisa di tampung di variable ModalResult ModalResult := MessageDlg('Save Changes?', mtConfirmation, [mbYes, mbNo, mbCancel], 0); if ((ModalResult = mrYes) and (SaveChanges)) or (ModalResult = mrNo) then begin OpenTheFile; Memo1.Modified := False; end; end; end; procedure TForm1.FileSaveClick(Sender: TObject); begin if SaveChanges then Memo1.Modified := False; end; FileSaveClick Menyimpan File procedure TForm1.FileSaveClick(Sender: TObject); begin if SaveChanges then Memo1.Modified := False; end; FileSaveAsClick Menyimpan File denga nama lain procedure TForm1.SaveAs1Click(Sender: TObject); begin if SaveDialog1.Execute then begin Memo1.Lines.SaveToFile(SaveDialog1.FileName); Form1.Caption := SaveDialog1.FileName + ' - Delphi Notepad'; Memo1.Clear; Memo1.Lines.LoadFromFile(SaveDialog1.FileName); end; end; FilePrintClick Mencetak Halaman procedure TForm1.FilePrintClick(Sender: TObject); begin if PrintDialog1.Execute then Print else PrinterSetupDialog1.Execute; end; UndoClick Mengembalikan kondisi procedure TForm1.UndoClick(Sender: TObject); begin if (Memo1.Modified) and (Memo1.CanUndo) then Memo1.Undo; end;

Tutor Delphier : Yugimage,M.Ber

4 - 11

Bab 4 Tipe Data, Struktur Program, Fungsi dan Prosedur CutClick

Memotong text dan menyimpannya di memory procedure TForm1.CutClick(Sender: TObject); begin Memo1.CutToClipboard; end; CopyClick Menduplikasi text dan menyimpannya di memory procedure TForm1.CopyClick(Sender: TObject); begin Memo1.CopyToClipboard; end; PasteClick Menyalin text hasil cut/copy pada posisi cursor yang diinginkan procedure TForm1.PasteClick(Sender: TObject); begin Memo1.PasteFromClipboard; end; SelectAllClick Memilih semua text yang ada di lembar kerja procedure TForm1.SelectAllClick(Sender: TObject); begin Memo1.SelectAll; end; WordWrapClick Mengatur agar semua text berada di dalam batas kiri-dan kanan dari sebuah memo edit procedure TForm1.WordWrapClick(Sender: TObject); begin if WordWrap.Checked then begin Memo1.WordWrap := True; Memo1.ScrollBars := ssVertical; end else begin Memo1.WordWrap := False; Memo1.ScrollBars := ssBoth; end; end; FontClick Membuka kotak dialog untuk pengaturan font text yang sedang di edit procedure TForm1.FontClick(Sender: TObject); begin if FontDialog1.Execute then begin Memo1.Font := FontDialog1.Font; Memo1.Font.Color := FontDialog1.Font.Color; end; end;

Tutor Delphier : Yugimage,M.Ber

4 - 12

Bab 5 Konversi Tipe Data 5.1. Konversi Tipe Data Konversi tipe data digunakan untuk mengubah satu tipe data menjadi tipe data lain. Kasus yang paling sering terjadi dimana konversi ini sangat diperlukan adalah ketika membuat suatu aplikasi yang melakukan operasi matematis berdasarkan data yang di-input user kemudian hasil operasi tersebut di-output-kan lagi kepada user. Delphi menerima input dan meng-outputkan data berupa string, sedangkan untuk melakukan operasi matematis diperlukan data numerik baik integer maupun real sehingga dari input string yang diterima harus dikonversi menjadi data numerik untuk dilakukan operasi matematis, kemudian hasil operasi yang berupa data numerik tersebut dikonversi kembali menjadi string untuk di-output-kan. Seperti pada aplikasi Currency Converter yang akan dibuat pada studi kasus modul ini. Gambaran umum dari kasus tersebut adalah sebagai berikut:

Gambar 5-1 - gambaran umum fungsi konversi dengan studi kasus converter mata uang Secara umum fungsi untuk melakukan konversi tipe data adalah: tipe_data _yang _akan_diubah to tipe_data _yang_diinginkan (data_yang_tipenya_akan_diubah)

Beberapa fungsi konversi tipe data yang terdapat pada Delphi diantaranya: 1. StrToInt(data_string) Untuk mengubah data bertipe string menjadi data bertipe integer. 2. StrToFloat(data_string) Untuk mengubah data bertipe string menjadi data bertipe real/ floating point. 3. IntToStr(data_integer) Untuk mengubah data bertipe integer menjadi data bertipe string. 4. FloatToStr(data_float) Untuk mengubah data bertipe real/ floating point menjadi data bertipe string. 5. Round(data_float) Merupakan fungsi pembulatan untuk mengubah data bertipe real menjadi data bertipe integer. Selain fungsi konversi di atas, masih banyak lagi fungsi-fungsi konversi tipe data yang lain. 5.1.1. Studi Kasus : Aplikasi Currency Converter Aplikasi Currency Converter merupakan suatu aplikasi untuk mengkonversi satu nilai mata uang ke mata uang lain berdasarkan nilai tukarnya. Pada aplikasi Currency Converter yang akan kita buat, terdiri dari empat bagian utama yaitu : 1. Change Currency Pada bagian ini user bisa memilih mata uang yang akan dikonversi dengan memilih salah satu item pada RadioGroupChangeCurrency.  USD – IDR untuk mengkonversi US Dollar ke Rupiah atau sebaliknya.  EUR – IDR untuk mengkonversi EURO ke Rupiah atau sebaliknya.  JPY – IDR mengkonversi Yen Jepang ke Rupiah atau sebaliknya. 2. Change Currency Rate Pada bagian ini user dapat mendefinisikan nilai tukar mata uang yang akan dikonversi dengan menginputnya pada EditChangeCurrencyRate. Pada saat ButtonChange diklik, nilai yang diinput pada EditChangeCurrencyRate akan diambil, disimpan pada variabel currency_rate kemudian dioutputkan pada LabelCurrencyRate4 di bagian Currency Rate. 3. Currency Rate Tutor Delphier : Yugimage,M.Ber

5-1

Bab 5 Konversi Tipe Data Bagian ini untuk menampilkan nilai tukar mata uang yang sebelumnya didefinisikan pada Change Currency Rate. 4. Currency Converter Bagian ini untuk mengkonversi nilai mata uang sesuai dengan pilihan mata uang pada Change Currency dan nilai tukar mata uang pada Currency Rate. Untuk melakukan konversi, disediakan dua buah Edit yang nilainya bisa diinput sendiri oleh user yaitu EditCurrencyConverter1 dan EditCurrencyConverter2. Jika nilai di EditCurrencyConverter1 berubah maka nilai di EditCurrencyConverter2 juga akan berubah sesuai dengan hasil konversi, begitu juga sebaliknya. Tampilan aplikasi Currency Converter yang akan kita buat adalah seperti pada gambar di bawah ini :

Gambar 5-2 - Rancangan Form Currency Converter Selain properties Caption dan Name seperti ditunjukkan pada gambar, beberapa objek ada yang memiliki properties tambahan dan event. Berikut objek-objek tersebut :

No 1 2

3 4 5

Tabel 5-1 Properties Tambahan pada Beberapa Objek Object Name Properties Event FormConverter BorderIcons > biMaximize : False RadioGroupChangeCurrency Items : OnClick USD – IDR EUR – IDR JPY - IDR ButtonChange OnClick EditCurrencyConverter1 OnChange EditCurrencyConverter2 OnChange

Adapun langkah – langkah untuk pembuatan aplikasi Currency Converter ini adalah: 1. Buat sebuah project baru yang terdiri dari satu form. Pada form tersebut, tambahkan objekobjek dengan tampilan seperti pada gambar. Sesuaikan properties dari objek-objek tersebut seperti pada gambar dan tabel.

Tutor Delphier : Yugimage,M.Ber

5-2

Bab 5 Konversi Tipe Data 2. Pada kode program tambahkan sebuah variabel global bertipe real dengan nama currency_rate. Variabel tersebut digunakan untuk menampung nilai tukar mata uang yang diinput dari EditChangeCurrencyRate. Var FormConverter: TFormConverter; currency_rate: real; 3. Buat sebuah fungsi IsNumber untuk mengecek apakah input nilai pada EditChangeCurrencyRate, EditCurrencyConverter1, atau EditCurrencyConverter2 berupa angka atau bukan. Fungsi ini diperlukan untuk menjamin bahwa nilai yang diinput benar-benar berupa angka karena Edit menerima semua input string baik berupa angka atau bukan, sedangkan aplikasi ini hanya menerima input berupa angka. Input tersebut akan dikonversi menjadi nilai numerik yang digunakan dalam operasi perhitungan matematis untuk konversi nilai mata uang. function IsNumber(number: string): Boolean; var i, sum: byte; result_IsNumber: boolean; begin result_IsNumber := false; sum := 0; for i := 1 to length(number) do begin case number[i] of '0'..'9': result_IsNumber := true; '.': sum := sum + 1; else result_IsNumber := false; break; end; end; if sum > 1 then result_IsNumber := false; IsNumber := result_IsNumber; end; 4. Beri event OnClick pada RadioGroupChangeCurrency dan ketikan kode program berikut : //memilih mata uang yang akan dikonversi procedure TFormConverter.RadioGroupChangeCurrencyClick(Sender: TObject); begin //memilih item USD-IDR if RadioGroupChangeCurrency.ItemIndex = 0 then begin LabelChangeCurrencyRate1.Caption := 'USD'; LabelCurrencyRate1.Caption := 'USD'; LabelCurrencyConverter1.Caption := 'USD'; end else {//memilih item EUR-IDR} if RadioGroupChangeCurrency.ItemIndex = 1 then begin LabelChangeCurrencyRate1.Caption := 'EUR'; Tutor Delphier : Yugimage,M.Ber

5-3

Bab 5 Konversi Tipe Data LabelCurrencyRate1.Caption := 'EUR'; LabelCurrencyConverter1.Caption := 'EUR'; end else {//memilih item JPY-IDR} if RadioGroupChangeCurrency.ItemIndex = 2 then begin LabelChangeCurrencyRate1.Caption := 'JPY'; LabelCurrencyRate1.Caption := 'JPY'; LabelCurrencyConverter1.Caption := 'JPY'; end; //inisialisasi EditChangeCurrencyRate.Text := '0'; LabelCurrencyRate4.Caption := '0'; EditCurrencyConverter1.Text := '0'; EditCurrencyConverter2.Text := '0'; end; 5. Beri event OnClick pada ButtonChange dan ketikan kode program berikut : //mendefinisikan nilai tukar mata uang procedure TFormConverter.ButtonChangeClick(Sender: TObject); begin if (EditChangeCurrencyRate.Text <> '') and (IsNumber(EditChangeCurrencyRate.Text)) then begin //konversi string menjadi real currency_rate := StrToFloat(EditChangeCurrencyRate.Text); //konversi real menjadi string LabelCurrencyRate4.Caption := FloatToStr(currency_rate); end else begin currency_rate := 0; LabelCurrencyRate4.Caption := '0'; end; end; 6. Beri event OnChange pada EditCurrencyConverter1 dan ketikan kode program berikut : //mengkonversi nilai mata uang lain ke Rupiah procedure TFormConverter.EditCurrencyConverter1Change(Sender: TObject); var convert_value, result: real; begin if (EditCurrencyConverter1.Text <> '') and (IsNumber(EditCurrencyConverter1.Text)) then begin //konversi string menjadi real convert_value := StrToFloat(EditCurrencyConverter1.Text); result := convert_value * currency_rate; //konversi real menjadi string EditCurrencyConverter2.Text := FloatToStr(result); end else Tutor Delphier : Yugimage,M.Ber

5-4

Bab 5 Konversi Tipe Data EditCurrencyConverter2.Text := '0'; end; 7. Beri event OnChange pada EditCurrencyConverter2 dan ketikan kode program berikut : //mengkonversi nilai Rupiah ke mata uang lain} procedure TFormConverter.EditCurrencyConverter2Change(Sender: TObject); var convert_value, result: real; begin if (EditCurrencyConverter2.Text <> '') and (IsNumber(EditCurrencyConverter2.Text)) then begin //konversi string menjadi real convert_value := StrToFloat(EditCurrencyConverter2.Text); result := convert_value * (1 / currency_rate); //konversi real menjadi string EditCurrencyConverter1.Text := FloatToStr(result); end else EditCurrencyConverter1.Text := '0'; end; 8. Simpan dan jalankan aplikasi. Berikut gambar dari tampilan aplikasi Currency Converter saat dijalankan :

Gambar 5-3 - Tampilan konversi US Dollar ke Rupiah atau sebaliknya

Gambar 5-4 - Tampilan konversi EURO ke Rupiah atau sebaliknya

Tutor Delphier : Yugimage,M.Ber

5-5

Bab 5 Konversi Tipe Data

Gambar 5-5 - Tampilan konversi Yen Jepang ke Rupiah atau sebaliknya

Tutor Delphier : Yugimage,M.Ber

5-6

Bab 6 Microsoft Access 6.1. Relational Database Database (basis data) merupakan suatu tempat untuk menyimpan data. Pada sebuah database bisa terdapat satu atau lebih tabel yang saling berelasi. Database seperti ini disebut relational database. Relational database mengatur informasi dalam tabel yang berisi baris-baris (record) dan kolom-kolom (field). Tabel-tabel yang dimiliki suatu database dapat direlasikan atau dihubungkan berdasarkan suatu field kunci tertentu. Field yang dapat digunakan sebagai kunci adalah field yang sama yang dimiliki oleh tabel-tabel yang akan direlasikan. Delphi mendukung penggunaan aplikasi relational database tersebut. 6.1.1. Membuat Relational Database dengan Microsoft Access Pada modul ini akan diberikan sebuah contoh kasus sederhana dalam membuat relational database yaitu membuat database untuk Penyewaan VCD dengan menggunakan Microsoft Access 2003 dan Microsoft Access 2007. Berikut rincian database Penyewaan VCD yang akan dibuat: Nama database: dbSewaVCD.mdb Tabel 6-1 Deskripsi Tabel Anggota 1 Nama Tabel : Anggota FieldName FieldType Field Properties NoAnggota Text Field Size = 6 NamaAnggota Text AlamatAnggota Text TelpAnggota Text

Field Size = 50 Field Size = 50 Field Size = 20

Tabel 6-2 Deskripsi Tabel VCD 2 Nama Tabel : VCD FieldName FieldType Field Properties KodeVCD Text Field Size = 6 JudulVCD Text Field Size = 50 KategoriVCD Text Field Size = 20 TahunVCD Text Field Size = 4 BesarSewaVCD Currency BatasSewaVCD Number Field Size = Byte BesarDendaVCD Currency

3

Ket Primary Key

Ket Primary Key

Tabel 6-3 Deskripsi Tabel Sewa Nama Tabel : Sewa FieldName FieldType Field Properties Ket KodeSewa Text Field Size = 6 PrimaryKey NoAnggota Text Field Size = 6 Foreign Key dari Tabel Anggota KodeVCD Text Field Size = 6 Foreign Key dari Tabel VCD TglSewa Date/Time Format = Medium Date TglKembali Date/Time Format = Medium Tanggal Date seharusnya VCD dikembalikan

Tutor Delphier : Yugimage,M.Ber

6-1

Bab 6 Microsoft Access TglPengembalian Date/Time Format = Medium Tanggal VCD Date dikembalikan penyewa LamaSewa Number Field Size = Byte BesarSewa Currency DendaSewa Currency TotalSewa Currency 6.1.2. Membuat Relational Database dengan Microsoft Access 2003 6.1.2.1. Membuat Database Hal pertama yang dilakukan untuk membuat relational database adalah membuat sebuah database. Untuk membuat sebuah database baru pada Microsoft Access 2003 lakukan langkah-langkah sebagai berikut : 1. Dari Windows jalankan program Microsoft Access 2003. Setelah program Microsoft Access dijalankan, akan keluar kotak dialog Microsoft Access 2003.

Gambar 6-1 - Microsoft Access 2007 2. Klik menu BlankDatabase pada bagian New, akan muncul kotak dialog File New Database.

Gambar 6-2 - Microsoft Access – New File Dialog 3. Pada kotak dialog File New Database, pilih folder untuk menyimpan file database dan isi nama database pada field File name. Pada contoh kasus ini database yang dibuat diberi nama dbSewaVCD. Tutor Delphier : Yugimage,M.Ber

6-2

Bab 6 Microsoft Access Tips : Untuk mempermudah pembangunan aplikasi database Delphi, pastikan file database dan file project Delphi berada dalam folder yang sama 4. Klik tombol Create, akan muncul editor Microsoft Access 2003. 5. Database dbSewaVCD.mdb telah dibuat. 6.1.2.2. Membuat Tabel Setelah dbSewaVCD.mdb dibuat, langkah selanjutnya adalah membuat tabel Anggota, VCD, dan Sewa berdasarkan rincian database Penyewaan VCD. Untuk membuat tabel Anggota pada Microsoft Access 2003, dapat dilakukan dengan cara sebagai berikut : 1. Buka database yang telah dibuat, pada kasus ini buka database dbSewaVCD.mdb, akan muncul kotak dialog Database.

Gambar 6-3 - Microsoft Access – Create Table 2. Klik ganda pada Create table in Design View, akan muncul kotak dialog Table untuk membuat sebuah tabel.

Gambar 6-4 - Microsoft Access - Table Designer 3. Isi Field Name dengan nama field untuk record-record dari tabel Anggota, Data Type dengan tipe data record dan Description untuk menuliskan keterangan jika diperlukan. 4. Untuk membuat Primary Key, pilih field yang akan dibuat menjadi primary key 5. Simpan tabel yang telah dibuat dengan memilih menu File >> Save, akan muncul kotak dialog Save As.

Tutor Delphier : Yugimage,M.Ber

6-3

Bab 6 Microsoft Access

Gambar 6-5 - Microsoft Access – Save Table Dialog Isi Table Name dengan nama tabel Anggota. Klik OK. 6. Tabel Anggota berhasil dibuat. Untuk membuat tabel VCD dan Sewa, lakukan cara yang sama dengan pembuatan tabel Anggota. Jika tabel Anggota, VCD, dan Sewa berhasil dibuat, pada kotak dialog Database dbSewaVCD.mdb akan muncul nama-nama tabel tersebut.

Gambar 6-6 - Microsoft Access – Console 6.1.2.3. Membuat Relasi Antar Tabel Setelah tabel Anggota, VCD, dan Sewa berhasil dibuat, langkah selanjutnya adalah membuat relasi antar tabel. Berdasarkan rincian database Penyewaan VCD, terdapat relasi antara tabel Sewa dengan tabel Anggota dan tabel VCD. Hal ini terlihat dari adanya field yang sama antara tabel Sewa dengan tabel Anggota dan tabel VCD yaitu pada tabel Sewa terdapat field NoAnggota yang berasal dari tabel Anggota dan KodeVCD yang berasal dari tabel VCD. Dengan adanya relasi tersebut, NoAnggota yang pada tabel Sewa harus terdaftar di tabel Anggota, begitu juga KodeVCD pada tabel Sewa harus terdaftar di tabel VCD. Untuk membuat relasi antara tabel-tabel tersebut, langkah-langkahnya adalah sebagai berikut : 1. Pilih menu Tools >> Relationships, akan muncul kotak dialog Show Table.

Gambar 6-7 - Microsoft Access – Show Table Tutor Delphier : Yugimage,M.Ber

6-4

Bab 6 Microsoft Access 2. Pilih tabel-tabel yang akan diberi relasi, lalu klik button Add. Jika sudah selesai memilih tabel, tutup kotak dialog. Akan muncul kotak dialog Relationships.

Gambar 6-8 - Microsoft Access – Relationship Dialog 3. Klik dan drag NoAnggota pada tabel Anggota menuju NoAnggota pada tabel Sewa, akan muncul kotak dialog Edit Relationship. Centang Enforce Referential Integrity.

Gambar 6-9 - Edit Relationship 4. Klik button Create. 5. Simpan relasi yang telah dibuat dengan memilih menu File  Save. 6. Relasi antara tabel Sewa dan Anggota telah dibuat. Lakukan langkah yang sama untuk membuat relasi antara tabel Sewa dan VCD. Jika relasi antara tabel Sewa dengan tabel Anggota dan tabel VCD berhasil dibuat, pada kotak dialog Relationships akan muncul relasi antar tabel tersebut.

Gambar 6-10 - Microsoft Access – Relationship Tutor Delphier : Yugimage,M.Ber

6-5

Bab 6 Microsoft Access 6.2.1. Membuat Relational Database dengan Microsoft Access 2007 Pada dasarnya untuk membuat relationship database dengan Microsoft Access 2007, langkah-langkahnya sama dengan membuat relationship database dengan Microsoft Access 2003 pada subbab sebelumnya. Yang membedakan hanya tampilannya saja, tapi mungkin tampilan itulah yang kadang membuat bingung, sehingga disini perlu dijelaskan lagi mengenai pembuatan relationship database dengan Microsoft Access 2007. 6.2.2.1. Membuat Database dalam Microsoft Access 2007 Untuk membuat sebuah database baru pada Microsoft Access 2007 lakukan langkahlangkah sebagai berikut: 1. Dari Windows jalankan program Microsoft Access 2007. Setelah program Microsoft Access dijalankan, akan keluar kotak dialog Microsoft Access 2007.

Gambar 6-11 - Microsoft Access 2007 2. Klik Blank Database pada bagian New Blank Database. Di sebelah kanan kotak dialog akan muncul Jendela Task Pane - Blank Database.

Gambar 6-12 - Microsoft Access – New Database Panel 3. Isi File Name dengan nama database yang ingin dibuat. Pada contoh kasus ini database yang dibuat diberi nama dbSewaVCD. Secara default database tersebut akan disimpan di My Documents. Untuk mengubah lokasi penyimpanan database dan

Tutor Delphier : Yugimage,M.Ber

6-6

Bab 6 Microsoft Access mengubah tipe file database klik ikon , akan muncul kotak dialog File New Database. Karena Delphi 7 belum mendukung penggunaan file Microsoft Office Access 2007 Databases (berekstensi *.accdb), maka pada Save as type, ubah menjadi Microsoft Office Access Databases (2002-2003 format) (berekstensi *.mdb).

Gambar 6-13 - Microsoft Access 2007 – New File Dialog 4. Klik button OK. Maka kita akan kembali ke kotak dialog sebelumnya. 5. Klik button Create, akan muncul editor Microsoft Access 2007.

Gambar 6-14 - Microsoft Access 2007 – Database console Database dbSewaVCD.mdb telah dibuat. 6.1.2.4. Membuat Tabel Setelah dbSewaVCD.mdb dibuat, langkah selanjutnya adalah membuat tabel Anggota, VCD, dan Sewa. Untuk membuat tabel Anggota pada Microsoft Access 2007, dapat dilakukan dengan cara sebagai berikut : 1. Pada editor Microsoft Access 2007, pilih tab Create  Table 2. Pada bagian All Tables, pilih tabel yang akan didesain. Misal Table1 : Table. 3. Pilih Tabs Datasheet  View  Design View. Akan muncul kotak dialog Save As.

Gambar 6-15 - Microsoft Access 2007 – Table Save Dialog Tutor Delphier : Yugimage,M.Ber

6-7

Bab 6 Microsoft Access 4. Isi Table Name dengan nama table Anggota. Klik OK. Akan muncul kotak dialog untuk mendesain tabel.

Gambar 6-16 - Microsoft Access 2007 – Console Isi Field Name dengan nama field untuk record-record dari tabel Anggota, Data Type dengan tipe data record dan Description untuk menuliskan keterangan jika diperlukan. 5. Untuk membuat Primary Key, pilih field yang akan dibuat menjadi Primary key 6. Simpan tabel yang telah dibuat 7. Tabel Anggota berhasil dibuat. Untuk membuat tabel VCD dan Sewa, lakukan cara yang sama dengan pembuatan tabel Anggota. Jika tabel Anggota, VCD, dan Sewa berhasil dibuat, pada bagian All Tables akan muncul nama-nama tabel tersebut. 6.1.2.5. Membuat Relasi Untuk membuat relasi antar tabel pada Microsoft Access 2007, langkah-langkahnya sama seperti membuat relasi pada Microsoft Access 2003 yaitu : 1. Pilih tab Database Tools  Relationships , akan muncul kotak dialog Show Table.

Gambar 6-17 - Microsoft Access 2007 – Show Table Dialog 2. Pilih tabel-tabel yang akan diberi relasi, lalu klik button Add. Jika sudah selesai memilih tabel, tutup kotak dialog. Akan muncul kotak dialog Relationships.

Tutor Delphier : Yugimage,M.Ber

6-8

Bab 6 Microsoft Access

Gambar 6-18 - Microsoft Access 2007 – Relationship 3. Klik dan drag NoAnggota pada tabel Anggota menuju NoAnggota pada tabel Sewa, akan muncul kotak dalog Edit Relationship. Centang Enforce Referential Integrity.

Gambar 6-19 - Microsoft Access 2007 – Edit Relationship Dialog 4. Klik button Create. 5. Simpan relasi yang telah dibuat 6. Relasi antara tabel Sewa dan Anggota telah dibuat. Lakukan-langkah yang sama untuk membuat relasi antara tabel Sewa dan VCD. Jika relasi antara tabel Sewa dengan tabel Anggota dan tabel VCD berhasil dibuat, pada kotak dialog Relationships akan muncul relasi antar tabel tersebut.

Gambar 6-20 - Access 2007 – Relationship

Tutor Delphier : Yugimage,M.Ber

6-9

Bab 7 Pengantar Aplikasi Database Menggunakan Delphi 7.1. Aplikasi Database Aplikasi database memungkinkan user berinteraksi dengan informasi yang tersimpan didalam suatu database. Delphi menyediakan dukungan terhadap dua jenis server database relasional: 1. Remote Database Server (RDS) dimana DBMS memiliki sistem yang terpisah dari aplikasinya, bisa dalam satu mesin atau beda mesin dengan aplikasi interfacenya. Remote Database Server menyediakan interface yang seragam bagi user untuk mengakses informasi yang tersimpan di dalamnya yaitu Structured Query Language (SQL). Contoh RDS yang ada saat ini : FireBird, Oracle, MS SQL Server, InterBase, Sybase, Informix, PostgreSQL, dan lain-lain. 2. Database Local dimana DBMS yang berada pada sistem yang sama dengan aplikasinya. Biasanya memiliki proprietary API untuk mengakses data dan hanya optimal untuk single user. Contoh database local : Paradox, dBase, FoxPro, MS Access, dan lain-lain. Delphi menyediakan fasilitas yang lengkap untuk mengolah database. Berbagai format database dapat diolah dengan Delphi, baik database local atau database server. 7.2. Mekanisme Akses Data Dengan Delphi Untuk mengakses database, Delphi menyediakan banyak pilihan mekanisme mengakses data. Di antaranya adalah: 1. BDE (Borland Database Engine) BDE merupakan teknologi database standar yang diperkenalkan pada versi awal Delphi dan pada saat itu merupakan satu-satunya teknologi akses database yang ditawarkan oleh Delphi. BDE awalnya merupakan Paradox Engine untuk mengakses database Paradox yang kemudian dikembangkan agar dapat mengakses database lokal yang lain seperti dBase, Foxpro, Access, dan teks file. BDE mempunyai kelemahan dimana BDE merupakan engine yang besar dengan banyak file yang dibutuhkan ketika instalasi dan membutuhkan banyak memori. 2. IBExpress IBExpress merupakan teknologi khusus untuk mengakses InterBase Server. IBExpress tidak dapat digunakan untuk mengakses Remote Database Server lain. 3. dbGO dbGO adalah implementasi ADO (ActiveX Data Objects) di Delphi yang merupakan standard Microsoft untuk akses data, digunakan untuk mengakses database melalui OLEDB. 4. dbExpress dbExpress adalah library pengaksesan database yang bersifat cross platform, merupakan standard pengaksesan data terbaru dari Delphi untuk platform Win32. dbExpress merupakan library yang sangat ringan dan cepat untuk mengakses SQL Server. 7.3. Arsitektur Dasar Aplikasi Database dalam Delphi Delphi menyediakan berbagai macam komponen dataset untuk mengakses data. Dataset merupakan representasi data dalam aplikasi yang kita buat. Ketika akan mengakses suatu data dari sebuah sumber data maka kita membutuhkan komponen dataset agar dapat berinteraksi dengan data tersebut. Untuk menampilkan data di dataset pada User Interface aplikasi yang kita buat, maka dibutuhkan komponen-komponen yang disebut sebagai Data Control. Dataset tidak dapat berhubungan secara langsung dengan Data Control, keduanya dihubungkan oleh suatu komponen yaitu DataSource. Dataset dapat memperoleh data dari sumber data dengan berbagai cara. Arsitektur aplikasi database pada Delphi digambarkan sebagai berikut:

Tutor Delphier : Yugimage,M.Ber

7-1

Bab 7 Pengantar Aplikasi Database Menggunakan Delphi

Gambar 7-1- Arsitektur Aplikasi Database pada Delphi 7.4. User Interface (UI) User Interface berisi berbagai data control yang menampilkan data dari database yang direpresentasikan oleh dataset. 7.4.1. DataSource DataSource adalah penghubung antara user interface dengan komponen dataset. Beberapa komponen data control pada sebuah form dapat berbagi sebuah data source 7.4.2. DataSet Inti dari aplikasi database adalah dataset. Dataset merupakan representasi data yang ada di dalam database, data dapat berupa record-record dari suatu database. 7.4.3. Connection Dataset menghubungkan diri ke database dengan berbagai macam cara tergantung dari tipe dataset yang digunakan. 7.4.4. DataModule Data Module merupakan container tempat semua komponen data akses diletakkan. 7.5. Menggunakan Database Desktop Biasanya jika kita ingin membuat suatu program aplikasi untuk manajemen database, akan diperlukan suatu file database yang akan diproses. Database desktop adalah suatu program “Add Ins” yaitu program terpisah yang ditempelkan dalam Delphi sehingga bisa dipakai sebagai bagian dari program Delphi. Database Desktop akan dipelajari secara terbatas pada membuat dan mengedit struktur database. Cara memanggil database desktop adalah melalui menu Tool  Database Desktop

Gambar 7-2 - Database Desktop

Tutor Delphier : Yugimage,M.Ber

7-2

Bab 7 Pengantar Aplikasi Database Menggunakan Delphi 7.5.1. Membuat file Database Desktop Dalam format Paradox, satu file database hanya berisi satu tabel, jadi agak berbeda dengan format MS Access yang memungkinkan kita untuk membuat beberapa tabel dalam satu file database. Untuk membuat database dengan format database Paradox, lakukan langkah berikut : 1. Pilih menu File  New  Table sehingga tampilan seperti gambar 7.3 muncul

Gambar 7-3 - Format database 2. Pilih tipe atau format table yang diinginkan, misalkan Paradox 7, lalu klik OK sehingga tampilan pada gambar 7.4 muncul

Gambar 7-4 - struktur table database 3. Pada kolom field name, tentukan nama field yang diinginkan. Nama field akan menjadi header atau pengenal kolom. 4. Tentukan tipe tiap field sesuai dengan data yang nanti akan dimasukkan ke dalam field tersebut dengan cara klik kanan pada kolom type. 5. Tentukan lebar field pada kolom Size (jika diperlukan)

Tutor Delphier : Yugimage,M.Ber

7-3

Bab 7 Pengantar Aplikasi Database Menggunakan Delphi 6. Pada kolom Key, dapat diberikan tanda * dengan menekan sembarang tombol. Field yang diberi tanda key harus merupakan urutan field yang paling atas. Field yang diberik tanda key akan digunakan sebagai kunci pengurutan index primer.

Gambar 7-5 - pengisian Nama Field pada table 7. Klik tombol Save As, hingga muncul dialog Save Table As. Pilih lokasi tempat penyimpanan database, dan beri nama pada database tersebut. Misal disimpan di C:\LatDelphi dengan nama Karyawan. 8. Klik tombol Save

Gambar 7-6 - menyimpan table Untuk keluar dari database desktop dengan memilih menu File > Exit. 7.6. Mengolah Database MS Access Pada modul ini akan digunakan pengolahan database dengan menggunakan database MS.Access yang telah dipelajari pada Bab sebelumnya. Database yang akan digunakan adalah database dbSewaVCD.mdb Kumpulan object untuk mengolah file database tersebut terdapat pada kategori Data Control dalam Tool Pallete. Sebelum mengolah suatu file databse menggunakan object yang terdapat dalam Data Control, maka terlebih dahulu harus menghubungkan database ke dalam form. Ada beberapa cara yang dapat digunakan untuk mengaitkan file database ke dalam form antara lain menggunakan object-object yang ada dalam kategori Data Access, ADO, InterBase, BDE (Borland Database Engine), dan lain lain tergantung dari system database yang dirancang.

Tutor Delphier : Yugimage,M.Ber

7-4

Bab 7 Pengantar Aplikasi Database Menggunakan Delphi Untuk mengakses database Access maka akan digunakan fasilitas pengolahan file database menggunakan Data Access, Data Control, dan ADO. 7.7. Menghubungkan Database ke dalam Form 1. Buat aplikasi baru dengan memilih menu File  New Application 2. Masukkan object TADOTable yang berada pada tab ADO didalam tool palette

Gambar 7-7 - Form View – TAdoTable Component Ubah property name TADOTable1 menjadi ADOTSewaVCD pada property ConnectionString maka akan muncul dialog 3. Klik tanda AdoTable1.ConnectionString

Gambar 7-8 - Form View – ConnectionString Properties 4. Pilih pada option Use Connection String 5. Klik tombol Build 6. Klik ganda pada opsi Microsoft Jet 4.0 OLE DB Provider maka akan muncul Dialog Data Link Properties

Tutor Delphier : Yugimage,M.Ber

7-5

Bab 7 Pengantar Aplikasi Database Menggunakan Delphi

Gambar 7-9 - Form View – Data Link Dialog 7. Pada Select or Enter a database name klik pada tanda 8. Kemudian pilih database yang akan digunakan pada aplikasi, misal database Global Inc yang berada pada D:\Delphi\ dbSewaVCD.mdb 9. Pada Enter information to log on to the database, kosongkan UserName, dan pilih opsi Blank Password 10. Kemudian klik Test Connection jika telah terhubung dengan database maka akan muncul Test Connection Succeeded.

Gambar 7-10 – Form View – Connection Success 11. Klik Ok pada Data Link Properties 12. Klik Ok pada Connection String 13. Klik drop down menu pada properties TableName, pilih salah satu table yang akan ditampilkan, misal Anggota 14. Ubah properties Active menjadi True 15. Masukkan TDataSource pada DataAccess Tool Pallete ke dalam form

Tutor Delphier : Yugimage,M.Ber

7-6

Bab 7 Pengantar Aplikasi Database Menggunakan Delphi

Gambar 7-11 - Form View – TDataSource Ubah properties Name pada TDataSource1 menjadi DSsewaVCD 16. Klik drop down pada properties DataSet, pilih ADOTSewaVCD. Hal ini untuk menyambungkan DataSource ke ADO table yg telah di buat. 17. Sampai disini koneksi database ke form telah selesai, database dbSewaVCD telah terhubung ke form 18. Save aplikasi dengan nama UKoneksiDB.pas dan PrjKoneksiDB.dpr Menampilkan Data dalam Bentuk Tabel Ada banyak cara untuk menampilkan isi database ke form. Salah satunya TDBGrid yang tampilannya akan berbentuk table. Tampilan dalam bentuk table akan sangat bermanfaat karena dapat menampilkan beberapa record sekaligus. 1. Buka project PrjKoneksiDB lewat menu File  Open Project 2. Masukkan TDBGrid pada DataControls Tool Pallete, kemudian atur tata letaknya.

Gambar 7-12 – Form View – TDBGrid Ubah property name nya menjadi DBGridAnggota 3. Klik drop down pada properties DataSource pilih DSsewaVCD 4. Maka pada DBGrid akan menampilkan data pada table Anggota 5. Untuk mengatur tampilan kolom maka klik tanda pada properties Columns, akan muncul dialog seperti gambar berikut

Tutor Delphier : Yugimage,M.Ber

7-7

Bab 7 Pengantar Aplikasi Database Menggunakan Delphi

Gambar 7-13 – DbGrid Properties Untuk mengatur lebar kolom, maka terlebih dahulu kita masukkan field-field dari table, dengan cara klik tanda maka field-field dalam table akan muncul. Klik pada salah satu field, maka pada Object Inspector akan muncul properties untuk field tersebut. Ubah ukuran lebar kolom pada properties width 6. Untuk menghilangkan field tertentu pada tampilan DBGrid maka pilih field yang akan dihilangkan, kemudian klik tanda 7. Untuk menambahkan sebuah field kosong pada tampilan DBGrid, maka klik tanda

Tutor Delphier : Yugimage,M.Ber

7-8

Bab 8 Pemakaian Komponen Data Control Selain untuk menampilkan data, aplikasi database pada Delphi juga dapat digunakan untuk memasukkan data (insert), mengubah data (update), mengapus data (delete), dan mencari data (searching). Hal ini akan mempermudah pengguna (user) yang tidak paham tentang database, karena dengan adanya aplikasi Delphi maka dapat dibuat tampilan yang lebih mudah untuk dimengerti. Untuk membuat fungsi diatas akan digunakan syntax sql yang sederhana. 8.1. Insert Data Insert data digunakan untuk memasukkan data baru ke suatu table pada database. Pemasukan data dilakukan satu persatu. Aplikasi Delphi digunakan untuk membuat tampilan yang akan memberikan keterangan lengkap sehingga penggguna tidak salah dalam memasukkan data dan akan mengirimkannya ke database. Pembuatan syntax insert dapat dilakukan melalui klik button atau dengan menggunakan DBNavigator. Sintax sql untuk insert adalah sebagai berikut insert into values(,, … ,) contoh akan dimasukkan nilai pada table Anggota pada database dbSewaVCD insert into Anggota values('A00022','Michael','Bandung','0227561234') Sintax diatas akan memasukkan A00022 pada field NoAnggota, Michael pada field NamaAnggota, Bandung pada field AlamatAnggota, dan 0227561234 pada field TelpAnggota. Tanda ‘ ‘digunakan jika field yang akan diisi bertipe Text. Pemasukan nilai harus sesuai dengan field pada tabelnya. 8.2. Select Data Syntax update dan delete digunakan untuk data yang telah disimpan sebelumnya, oleh karena itu data yang akan di update maupun di delete akan dicari terlebih dahulu untuk mempermudah proses update dan delete. Setelah nilai ditemukan maka dapat dilakukan langkah update atau delete. Proses pencarian ini lebih tepatnya adalah menampilkan data berdasarkan nilai tertentu. Sintax untuk menampilkan data adalah Select tetapi syntax ini akan diberi tambahan kriteria sehingga akan menghasilkan data yang lebih spesifik. Sintax sql untuk select adalah sebagai berikut : Select , , …, from Contoh akan ditampilkan keseluruhan isi table Anggota : Select * from Anggota Tanda * menunjukkan akan menampilkan data yang berada di keseluruhan field yaitu NoAnggota, NamaAnggota, AlamatAnggota, dan TelpAnggota. Jika ingin menampilkan n field, misal hanya NamaAnggota dan TelpAnggota maka : Select NamaAnggota, TelpAnggota from Anggota Sedangkan jika ingin menampilkan data berdasarkan nilai tertentu maka digunakan syntax WHERE. Select , , … , from where = Misal akan ditampilkan NamaAnggota dan AlamatAnggota yang NoAnggotanya = A00022, maka sintaxnya : Select NamaAnggota, AlamatAnggota from Anggota where NoAnggota = ‘A00022’

Tutor Delphier : Yugimage,M.Ber

8-1

Bab 8 Pemakaian Komponen Data Control Jika criteria lebih dari satu maka menggunakan syntax AND jika diharapkan nilai yang dihasilkan harus memenuhi semua criteria, dan syntax OR jika diharapkan nilai yang dihasilkan memenuhi salah satu dari criteria. Select NamaAnggota, AlamatAnggota from Anggota Where NoAnggota = ‘A00022’ AND AlamatAnggota = ’Bandung’ Maka hasil pencarian akan menampilkan NamaAnggota dan AlamatAnggota yang bernomor A00022 dan tinggal di Bandung. 8.3. Update Data Update data digunakan untuk mengubah nilai data yang sudah disimpan sebelumnya. Karena update dilakukan untuk data yang telah ada maka terlebih dahulu akan dilakukan pencarian data yang akan diubah tersebut. Pencarian dapat menggunakan field manapun. Setelah data ditemukan maka pengguna dapat mengubah nilai-nilainya. Pengubahan nilai dapat dilakukan pada 1 atau banyak field pada satu record. Sintax update adalah sebagai berikut : update set =,=, … , = where = Field acuan merupakan field yang tidak akan mengalami perubahan seperti field primary key. Contoh : Akan diubah nilai NamaAnggota : Michael menjadi Michelle, dimana NamaAnggota : Michael mempunyai NoAnggota : A00022, maka sintaksnya : Update Anggota set NamaAnggota = ’Michelle’ where NoAnggota = ‘A00022’ 8.4. Delete Data Delete data digunakan untuk menghapus suatu record yang telah disimpan sebelumnya. Delete dilakukan terhadap data yang sudah ada maka terlebih dahulu akan dilakukan pencarian data sehingga akan menampilkan data yang lebih spesifik. Setelah record ditemukan maka dapat dilakukan penghapusan data. Delete dapat dilakukan per record atau beberapa record sekaligus dengan menggunakan criteria. Sintaks delete adalah sebagai berikut : delete from where = Field criteria merupakan field yang akan digunakan acuan data yang akan dihapus. Misal akan dilakukan penghapusan data terhadap Anggota yang mempunyai NoAnggota : A00022, maka sintaksnya adalah : Delete from Anggota where NoAnggota = ‘A00022’ Jika ingin dilakukan penghapusan beberapa data, misal ingin menghapus semua Anggota yang beralamat di Bandung dan bernama Budi maka sintaksnya : Delete from Anggota where NamaAnggota = ‘Budi’ AND AlamatAnggota = ‘Bandung’ 8.5. Karakter Spesial Dalam pencarian data atau pemberian criteria, kemungkinan hanya diketahui sebagian dari nilai. Misal ingin mencari seseorang yang mempunyai nama yang berawalan huruf M. Jika menggunakan sintaks : Select * from Anggota where NamaAnggota = ‘M’ Maka sintaks diatas akan menampilkan anggota yang mempunyai nama : M, padahal yang dinginkan adalah menampilkan semua nama yang berawalan M. Hal ini dapat dilakukan dengan bantuan karakter spesial, karakter special tersebut adalah

Tutor Delphier : Yugimage,M.Ber

8-2

Bab 8 Pemakaian Komponen Data Control Tabel 8-1 Karakter Special Karakter Fungsi % Mewakili 0 atau banyak karakter, untuk karakter angka [0..9] atau huruf [a..z][A..Z] Penggunaan karakter spesial harus diawali dengan klausa Like. Maka sintaks untuk menampilkan anggota yang mempunyai nama berawalan M adalah : Select * from Anggota where NamaAnggota LIKE ‘M%’ Tanda ‘M%’ menandakan bahwa dibelakang huruf M terdapat 1 atau banyak karakter. Contoh penggunaan selengkapnya adalah sebagai berikut :

Pola a%a %Z% %a A%

Tabel 8-2 Contoh Penggunaan Karakter Special Cocok Tidak Cocok (pola yang benar) (Pola yang salah) aa, aBa, aCCCCCa aBC Z, aaabbbZ, aZbbxaaa, abZ aba Aaaavvvvz, z, az aza Abbbcccc, A, Ab bA

8.6. ADOConnection Pada bab ini akan mengimplementasikan penggunaan ADOConnection. Dalam pembuatan aplikasi ADOConnection tidak selalu harus digunakan, tetapi ADOConnection akan membuat program lebih efisien. Komponen ADOConnection terdapat pada Tool Pallete ADO. Jika akan menampilkan beberapa table dalam satu database dengan menggunakan ADOTable maka setiap kita menambahkan komponen ADOTable, terlebih dahulu harus mensetting ConnectionString, padahal isi dari ConnectionString pada tiap komponen ADOTable sama. Maka agar lebih efisien digunakan ADOConnection dimana didalam ADOConnection ini dilakukan setting ConectionString sehingga komponen ADOTable atau ADOQuery hanya perlu terhubung dengan ADOConnection dan tidak perlu setting ConnectionString lagi. 8.7. Aplikasi Insert, Update, Delete Anggota Pada aplikasi ini akan digunakan database dbSewaVCD.mdb. Table yang akan digunakan adalah table Anggota. 1. Buat aplikasi baru dengan memilih menu File  New  Application 2. Rancang tampilan form seperti gambar berikut dengan memasukkan komponen sebagai berikut dan ubah properties seperti table di bawah

Gambar 8-1- Tampilan Form Anggota

Tutor Delphier : Yugimage,M.Ber

8-3

Bab 8 Pemakaian Komponen Data Control Komponen Form GroupBox1 GroupBox2 Label1 Label2 Label3 Label4 Edit1 Edit2 Edit3 Edit4 Button1 Button2 Button3 Button4 DBGrid

Tabel 8-3 Properties FormDBAnggota Properties Nilai Properties Name FormDBAnggota Caption Form Anggota Name GBInputBarang Caption Input Barang Name GBTampilanBarang Caption Tampilan Barang Name LblNoAnggota Caption No Anggota Name LblNamaAnggota Caption Nama Anggota Name LblAlamatAnggota Caption Alamat Anggota Name LblTelpAnggota Caption Telp Anggota Name ENoAnggota Text Name EnamaAnggota Text Name EalamatAnggota Text Name EtelpAnggota Text Name BtnSimpan Caption Simpan Name BtnUbah Caption Ubah Name BtnHapus Caption Hapus Name BtnKeluar Caption Keluar Name DBGridAnggota

3. Komponen Label dan Edit diletakkan di dalam GroupBox1, sedangkan DBGrid diletakkan di dalam GroupBox2. 4. Simpan file dengan nama unit UnitDBAnggota.pas dan project dengan nama PrjDBAnggota.dpr. 5. Masukkan komponen yang dibutuhkan untuk koneksi ke database MS. Access yaitu ADOConnection, dan komponen untuk mengolah databse yaitu ADOQuery dan DataSource kedalam DataModule 6. Untuk membuat data module pilih File  New  Data Module, ubah properties Name menjadi DataModuleVCD. 7. Kemudian masukkan komponen kedalam DataModuleVCD seperti gambar berikut :

Tutor Delphier : Yugimage,M.Ber

8-4

Bab 8 Pemakaian Komponen Data Control

Gambar 8-2 - Data Module

Komponen ADOConnection ADOQuery DataSource

Tabel 8-4 Properties ADOConnVCD Properties Nilai Properties Name ADOConnVCD ConnectionString dbSewaVCD.mdb Name ADOQueryVCD Connection ADOConnVCD Name DSAnggotaVCD Dataset ADOQueryVCD

8. Untuk setting properties ADOConnVCD, a. Pada properties Connection String klik tanda sebagai berikut

sehingga akan muncul tampilan

Gambar 8-3 - Connection String b. Klik tombol build sehingga akan muncul pilihan OLEDB Provider, pilih yg Microsoft Jet 4.0 OLE DB Provider

Gambar 8-4 - Data Link Properties Provider

Tutor Delphier : Yugimage,M.Ber

8-5

Bab 8 Pemakaian Komponen Data Control c. Kemudian klik tombol Next, sehingga muncul tampilan sebagai berikut

Gambar 8-5 - Data Link Properties Connection d. Pada option Select or enter a database name, klik tanda kemudian cari dbSewaVCD.mdb e. Cek koneksi dengan menekan tombol Test Connection 9. Untuk setting properties ADOQueryVCD a. Pada properties Connection klik menu drop down kemudian pilih ADOConnVCD b. Pada properties SQL klik tanda sehingga akan muncul tampilan sebagai berikut :

Gambar 8-6 - SQL String List Editor Tuliskan sintaks berikut di dalamnya Select * from Anggota 10. Untuk setting properties DSAnggotaVCD Pada properties DataSet klik menu drop down kemudian pilih ADOQueryVCD 11. Simpan DataModuleVCD dengan nama UnitDataModuleVCD.pas Agar komponen yang ada pada DataModuleVCD dapat diakses dan digunakan oleh form utama yaitu FormDBAnggota, maka anda harus me-use unit UnitDataModule dengan cara, aktifkan FormDBAnggota, lalu pilih File > Use Unit (Alt + F11), lalu pilih UnitDataModuleVCD. 12. Ubah properties DataSource pada DBGridAnggota yang terdapat pada FormDBAnggota dengan klik drop down kemudian pilih DataModuleVCD.DSAnggotaVCD. 13. Pada DBGridAnggota kita setting tampilan kolom seperti gambar di bawah

Tutor Delphier : Yugimage,M.Ber

8-6

Bab 8 Pemakaian Komponen Data Control

Gambar 8-7 - Tampilan Form Anggota Lengkap a. Klik DBGridAnggota kemudian pilih properties Columns, sehingga akan muncul dialog seperti dibawah

Gambar 8-8 - Setting Column DBGrid b. Klik gambar sebanyak 4 kali, sehingga akan muncul tulisan 0-TColumn, 1TColumn, 2-TColumn, 3-TColumn. c. Klik pada tulisan tersebut sehingga akan muncul properties pada ObjectInspector. Ubah properties sebagai berikut

Komponen 0-TColumn

1-TColumn

2-TColumn

3-TColumn

Tabel 8-5 Properties Komponen ObjectInspector Properties Nilai properties Title > Caption No Anggota FieldName NoAnggota Width 60 Title > Caption Nama Anggota FieldName NamaAnggota Width 100 Title > Caption Alamat Anggota FieldName AlamatAnggota Width 125 Title > Caption No Telp FieldName TelpAnggota Width 60

14. Buat Prosedure Clear, prosedur ini berguna untuk mengosongkan Text pada komponen Edit. Caranya adalah :

Tutor Delphier : Yugimage,M.Ber

8-7

Bab 8 Pemakaian Komponen Data Control a. Pindah ke UnitDBAnggota, masukkan kode berikut didalam bagian interface > public Public { Public declarations } procedure Clear(); b. Kemudian tuliskan kode berikut di dalam bagian implementation procedure TFormDBAnggota.Clear(); begin ENoAnggota.Enabled := true; ENoAnggota.Clear; ENamaAnggota.Clear; EAlamatAnggota.Clear; ETelpAnggota.Clear; end; 15. Buat Procedure Refresh, prosedur ini untuk menampilkan isi table Anggota yang baru setelah dilakukan suatu prose‟s baik Insert, Update, maupun Delete. Caranya adalah : a. Pindah ke UnitDBAnggota, tambahkan kode berikut didalam bagian interface  public, sehingga kodenya akan menjadi seperti berikut : public { Public declarations } procedure Clear(); procedure Refresh(); b. Kemudian tambahkan kode berikut di dalam bagian implementation procedure TFormDBAnggota.Refresh(); begin with DataModuleVCD.ADOQueryVCD do begin Close; SQL.Clear; SQL.Text := 'Select * from Anggota'; Open; end; end; 16. Pindah ke FormDBAnggota kemudian klik di daerah manapun pada form atau dengan memilih FormDBAnggota pada Object Inspector, kemudian pada Object Inspector Event klik ganda pada Event OnShow, maka akan muncul sebuah prosedur TFormDBAnggota.FormShow, kemudian lengkapi prosedur tersebut seperti di bawah procedure TFormDBAnggota.FormShow(Sender: TObject); begin DataModuleVCD.ADOQueryVCD.Active := True; DataModuleVCD.ADOQueryVCD.Refresh; BtnSimpan.Enabled := True; BtnUbah.Enabled := False; BtnHapus.Enabled := False; end; 17. Pindah ke FormDBAnggota, klik ganda pada Button Simpan sehingga procedure TFormDBAnggota.BtnSimpanClick(Sender: TObject); begin with DataModuleVCD.ADOQueryVCD do begin Close; SQL.Text := 'Insert into Anggota values('+QuotedStr(ENoAnggota.Text)+', '+QuotedStr(ENamaAnggota.Text)+', ' + QuotedStr(EAlamatAnggota.Text) + ',' + QuotedStr(ETelpAnggota.Text) + ')'; ExecSQL; end;

Tutor Delphier : Yugimage,M.Ber

8-8

Bab 8 Pemakaian Komponen Data Control Clear(); {memanggil procedure Clear} Refresh(); {memanggil procedure Refresh} end; 18. Pindah ke FormDBAnggota, klik ganda pada Button Ubah sehingga akan memunculkan procedure TFormDBAnggota.BtnUbahClick, kemudian lengkapilah programnya seperti berikut procedure TFormDBAnggota.BtnUbahClick(Sender: TObject); begin with DataModuleVCD.ADOQueryVCD do begin Close; SQL.Text := 'Update Anggota set NamaAnggota = '+QuotedStr(ENamaAnggota.Text)+', AlamatAnggota = ' + QuotedStr(EAlamatAnggota.Text) + ',TelpAnggota=' + QuotedStr(ETelpAnggota.Text) + 'where NoAnggota=' + QuotedStr(ENoAnggota.Text); ExecSQL; end; Refresh(); Clear(); BtnSimpan.Enabled := True; BtnUbah.Enabled := False; BtnHapus.Enabled := False; end; 19. Pindah ke FormDBAnggota, klik ganda pada Button Hapus sehingga akan memunculkan procedure TFormDBAnggota.BtnHapusClick, kemudian lengkapilah programnya seperti berikut procedure TFormDBAnggota.BtnHapusClick(Sender: TObject); begin with DataModuleVCD.ADOQueryVCD do begin Close; SQL.Text := 'Delete from Anggota where NoAnggota = '+QuotedStr(ENoAnggota.Text); ExecSQL; end; Refresh(); Clear(); BtnSimpan.Enabled := True; BtnUbah.Enabled := False; BtnHapus.Enabled := False; end; 20. Pindah ke FormDBAnggota, klik pada DBGridAnggota atau pilih DBGridAnggota pada ObjectInspector kemudian pada Object Inspector Event klik ganda pada Event OnCellClick, maka akan muncul sebuah prosedur TFormDBAnggota.DBGridAnggotaCellClick, kemudian lengkapi prosedur tersebut seperti di bawah procedure TFormDBAnggota.DBGridAnggotaCellClick(Column: TColumn); begin BtnSimpan.Enabled := false; BtnUbah.Enabled := true; BtnHapus.Enabled := true; ENoAnggota.Text := DataModuleVCD.ADOQueryVCD.fieldByName('NoAnggota').AsString; ENoAnggota.Enabled := false;

Tutor Delphier : Yugimage,M.Ber

8-9

Bab 8 Pemakaian Komponen Data Control ENamaAnggota.Text := DataModuleVCD.ADOQueryVCD.fieldByName('NamaAnggota').AsString; EAlamatAnggota.Text := DataModuleVCD.ADOQueryVCD.fieldByName('AlamatAnggota').AsString; ETelpAnggota.Text := DataModuleVCD.ADOQueryVCD.fieldByName('TelpAnggota').AsString; end; 21. Pindah ke FormDBAnggota, klik ganda pada Button Keluar sehingga akan memunculkan procedure TFormDBAnggota.BtnKeluarClick, kemudian lengkapilah programnya seperti berikut procedure TFormDBAnggota.BtnKeluarClick(Sender: TObject); begin Application.Terminate; end; 22. Pilih File  Save All, untuk menyimpan semua perubahan 23. Jika ingin menghilangkan Dialog Login maka klik pada ADOConnVCD kemudian ubah properties LoginPrompt menjadi False. 8.8. Aplikasi Insert, Update, Delete dengan menggunakan DBNavigator Aplikasi yang akan dibuat akan mengimplementasikan penggunaan DBNavigator untuk melakukan Insert, Update, dan Delete. Komponen DBNavigator terdapat pada Tool Pallete Data Controls 1. Buat aplikasi baru dengan memilih menu File  New  Application 2. Rancang tampilan form seperti gambar berikut dengan memasukkan komponen sebagai berikut dan ubah properties seperti table di bawah:

Gambar 8-9 - Tampilan Form Anggota

Komponen Form GroupBox1 DBGrid DBNavigator

Tabel 8-6 Properties FormDBAnggota Properties Nilai Properties Name FormDBAnggota Caption Form Anggota Name GroupBoxAnggota Caption Data Anggota Name DBGridAnggota Name DBNavAnggota

3. Simpan file dengan nama unit UnitDBAnggotaVCD.pas dan nama project PrjDBAnggotaVCD.dpr 4. Masukkan komponen yang dibutuhkan untuk koneksi ke database MS.Access yaitu ADOConnection, dan komponen untuk mengolah databse yaitu ADOTable dan DataSource kedalam DataModule

Tutor Delphier : Yugimage,M.Ber

8 - 10

Bab 8 Pemakaian Komponen Data Control 5. Untuk membuat data module pilih File  New  Data Module, ubah properties Name menjadi DataModuleVCD. 6. Kemudian masukkan komponen kedalam DataModuleVCD seperti gambar berikut :

Gambar 8-10 - Data Module

Komponen ADOConnection ADOTable

DataSource

Tabel 8-7 Properties ADOConnVCD Properties Nilai Properties Name ADOConnVCD ConnectionString dbSewaVCD.mdb Name ADOTableAnggota Connection ADOConnVCD TableName Anggota Active True Name DSAnggotaVCD Dataset ADOTableAnggota

7. Simpan DataModuleVCD dengan nama UnitDataModule.pas 8. Agar komponen yang ada pada DataModuleVCD dapat diakses dan digunakan oleh form utama yaitu FormDBAnggota, maka anda harus me-use unit UnitDataModule dengan cara, aktifkan FormDBAnggota, lalu pilih File > Use Unit (Alt + F11), lalu pilih UnitDataModule. 9. Ubah properties DataSource pada DBGridAnggota yang terdapat pada FormDBAnggota dengan klik drop down kemudian pilih DataModuleVCD.DSAnggotaVCD. 10. Ubah properties DataSource pada DBNavAnggota yang terdapat pada FormDBAnggota dengan klik drop down kemudian pilih DataModuleVCD.DSAnggotaVCD. 11. Pada DBGridAnggota kita setting tampilan kolom seperti gambar di bawah a. Klik DBGridAnggota, kemudian pilih properties Column, maka akan muncul tampilan seperti berikut

Gambar 8-11 - Setting column DBGrid sebanyak 4 kali, sehingga akan muncul tulisan 0-TColumn, 1b. Klik gambar TColumn, 2-TColumn, 3-TColumn. c. Klik pada tulisan tersebut sehingga akan muncul properties pada ObjectInspector. Ubah properties sebagai berikut :

Tutor Delphier : Yugimage,M.Ber

8 - 11

Bab 8 Pemakaian Komponen Data Control Tabel 8-8 Properties Komponen ObjectInspector pada DBNavigator Komponen Properties Nilai properties 0-TColumn Title > Caption No Anggota FieldName NoAnggota Width 60 1-TColumn Title > Caption Nama Anggota FieldName NamaAnggota Width 100 2-TColumn Title > Caption Alamat Anggota FieldName AlamatAnggota Width 125 3-TColumn Title > Caption No Telp FieldName TelpAnggota Width 100 12. Klik File  Save All, untuk menyimpan perubahan 13. Run program, sehingga akan muncul tampilan sebagai berikut :

Gambar 8-12 - Running PrjDBAnggotaVCD 8.9. Aplikasi Searching Pada bab ini akan diberikan contoh pembuatan program untuk searching data. 1. Buatlah aplikasi baru dengan cara memilih menu File New  Application 2. Masukkan komponen seperti gambar di bawah

Gambar 8-13 - Gbr 10.18 Form Search

Tutor Delphier : Yugimage,M.Ber

8 - 12

Bab 8 Pemakaian Komponen Data Control Komponen Form GroupBox1 GroupBox2 Label1 Label2 ComboBox Edit ADOQuery

DataSource DBGrid

Tabel 8-9 Properties FormSearch Properties Nilai Properties Name FormSearch Caption Search Anggota Name GroupBox1 Caption Search Anggota Name GroupBox2 Caption Data Anggota Name Label1 Caption Search By Name Label2 Caption Data Name ComboBox1 Text Name Edit1 Text Name ADOQuery1 ConnectionString dbSewaVCD.mdb SQL Select * from Anggota Active True Name DataSource1 DataSet ADOQuery1 Name DBGRid1 DataSource DataSource1

3. Klik pada ComboBox1, pilih properties Items kemudian klik tanda muncul dialog sebagai berikut

sehingga akan

Gambar 8-14 - String List Editor 4. Kemudian tuliskan Item seperti diatas yaitu : No Anggota, Nama Anggota, Alamat Anggota, kemudian klik OK 5. Klik properties ItemIndex dan ubah isinya menjadi 0 6. Simpan Aplikasi dengan nama file unit USearchAnggota.pas dan file project dengan nama PrjSearchAnggota.dpr 7. Untuk dapat menjalankan fungsi search maka tambahkan kode berikut ke dalam Unit USearchAnggota 8. Tambahkan kode berikut di dalam bagian deklarasi variabel global var FormSearch: TFormSearch; selection : string; Tutor Delphier : Yugimage,M.Ber

8 - 13

Bab 8 Pemakaian Komponen Data Control pil : integer; 9. Klik pada bagian kosong di FormSearch atau pilih FormSearch pada object Inspector kemudian pilih event OnActivate sehingga akan muncul procedure TFormSearch.FormActivate, kemudian tambahkan kode berikut procedure TFormSearch.FormActivate(Sender: TObject); begin pil := 0; end; 10. Klik pada komponen ComboBox1, kemudian pilih Event OnChange sehingga muncul procedure TFormSearch.ComboBox1Change, tambahkan kode berikut procedure TForm1.ComboBox1Change(Sender: TObject); begin pil := ComboBox1.ItemIndex; end; 11. Klik pada Edit1, kemudian pilih Event OnChange sehingga muncul procedure TFormSearch.Edit1Change, tambahkan kode berikut procedure TForm1.Edit1Change(Sender: TObject); var dataquery: string; begin dataquery := QuotedStr('%' + Edit1.Text + '%'); with ADOQuery1 do begin Close; SQL.Clear; SQL.Text := 'Select * from Anggota where'; if (pil = 0) then sql.Add('NoAnggota like' + dataquery) else if (pil = 1) then sql.Add('NamaAnggota like' + dataquery) else sql.Add('AlamatAnggota like' + dataquery); ExecSQL; Open; end; end; 12. Simpan perubahan aplikasi dengan pilih File  SaveAll 13. Jika dirunning maka hasilnya adalah sebagai berikut

Gambar 8-15 - Running Program Search

Tutor Delphier : Yugimage,M.Ber

8 - 14

Bab 9 Aplikasi Database Master Detail 9.1. Aplikasi Database Master Detail Aplikasi Database Master Detail merupakan aplikasi yang menampilkan relasi master-detail (parent-child) di antara data yang terdapat di sebuah table Master dan di table Detail dalam database relasional. Dalam aplikasi ini terdapat dua buah blok data yang keduanya direlasikan dalam hubungan Master dan Detail. Aplikasi Master Detail digunakan untuk menampilkan keterhubungan one to many dari dua tabel artinya pada database secara fisik, satu record tunggal dalam table Master memiliki referensi satu atau lebih record yang ada di dalam tabel Detail. Dengan membuat aplikasi Master Detail maka kita dapat melihat rincian data yang berhubungan dengan suatu tabel. Pada studi kasus ini akan dibuat aplikasi master detail antara data Anggota dengan data VCD yang sedang disewa oleh Anggota tersebut. Data Anggota terdapat pada table Anggota dan data VCD yang disewa terdapat pada table Sewa. Langkah untuk membuat aplikasi Master Detail adalah sebagai berikut : 1. Buat aplikasi baru dengan memilih menu File  New  Application 2. Rancang tampilan form seperti gambar berikut dengan memasukkan komponen dan properties seperti tabel di bawah:

Gambar 9-1 - Form Master-Detail Anggota

Komponen Form GroupBox1 GroupBox2 DBGrid1 DBGrid2

Tabel 9-1 Properties FormMasterDetail Properties Nilai Properties Name FormMasterDetail Caption Master Detail Anggota Name GroupBoxMaster Caption Data Anggota Name GroupBoxDetail Caption Data Sewa Name DBGridAnggota Name DBGridSewa

3. Simpan file unit dengan nama UnitMasterDetail.pas dan file project dengan nama PrjMasterDetail.dpr. 4. Tambahkan sebuah data module dengan cara pilih File  New  Data Module, ubah properties Name menjadi DataModuleMasterDetail. 5. Masukkan komponen kedalam DataModuleMasterDetail seperti gambar berikut :

Gambar 9-2 - Data Module

Tutor Delphier : Yugimage,M.Ber

9-1

Bab 9 Aplikasi Database Master Detail Komponen ADOConnection ADOTable1

ADOTable2

DataSource1 DataSource2

6. 7. 8.

9. 10. 11.

12. 13.

Tabel 9-2 Properties ADOConnVCD Properties Nilai Properties Name ADOConnVCD ConnectionString dbSewaVCD.mdb Name ADOTableAnggota Connection ADOConnVCD TableName Anggota Active True Name ADOTableSewa Connection ADOConnVCD TableName Sewa Active True Name DSAnggotaVCD Dataset ADOTableAnggota Name DSSewaVCD Dataset ADOTableSewa

ADOTableAnggota dan DSAnggotaVCD digunakan untuk menghubungkan DBGridAnggota ke tabel Anggota yang berperan sebagai Master Table. ADOTableSewa dan DSSewaVCD digunakanuntuk menghubungkan DBGridSewa ke table Sewa yang berperan sebagai Detail Table. Simpan DataModuleMasterDetail dengan nama UnitDataModule.pas Kembali ke FormMasterDetail. Agar komponen yang ada pada DataModuleMasterDetail dapat diakses dan digunakan oleh form utama yaitu FormMasterDetail, maka harus use unit UnitDataModule dengan cara: aktifkan FormMasterDetail, pilih File  Use Unit (Alt+F11), lalu pilih UnitDataModule. Ubah properties DataSource pada DBGridAnggota dengan klik drop down kemudian pilih DataModuleMasterDetail.DSAnggotaVCD. Ubah properties DataSource pada DBGridSewa yang dengan klik drop down kemudian pilih DataModuleMasterDetail.DSSewaVCD. Sampai disini kita baru menampilkan data per tabel, untuk mengimplementasikan Master Detail maka table Anggota harus dihubungkan dengan table Sewa, langkah menghubungkan kedua tabel tersebut adalah sebagai berikut : Kembali ke DataModuleMasterDetail. Klik pada ADOTableSewa. a. Ubah properties MasterSource menjadi DSAnggotaVCD. b. Ubah properties IndexFieldName menjadi NoAnggota. c. Ubah properties MasterFields dengan cara klik tanda sehingga akan muncul kotak dialog Field Link Designer seperti berikut :

Gambar 9-3 - Field Link Designer

Tutor Delphier : Yugimage,M.Ber

9-2

Bab 9 Aplikasi Database Master Detail d. Klik NoAnggota pada Master Fields. e. Klik NoAnggota pada Detail Fields. f. Klik tombol Add, sehingga pada kotak dialog Field Link Designer akan muncul tampilan sebagai berikut, kemudian klik button OK. 14. Simpan perubahan pada aplikasi dengan memilih File  Save All 15. Run aplikasi. Jika pada field anggota diklik maka pada detail akan menampilkan data sewa yang berkaitan dengan anggota tersebut. Contoh tampilan saat aplikasi master detail dijalankan :

Gambar 9-4 - Aplikasi Running

Tutor Delphier : Yugimage,M.Ber

9-3

Bab 10 Delphi Reporting Menggunakan QuickReport 10.1 Installasi Quick Report Borland Delphi 7 sebagai versi terbaru memang telah menyertakan Rave Report sebagai pengganti dari Quick Report dalam proses pembuatan laporan. Sehingga pada Component Palette Delphi 7 tidak terdapat tab untuk fasilitas Quick Report. Namun demikian, Quick Report masih tetap bisa digunakan untuk membuat sebuah report/ laporan dengan menambahkan komponennya terlebih dahulu pada Component Palette. Langkah-langkah untuk menambahkan komponen Quick Report pada Component Palette adalah: 1. Pilih menu Component  Install Packages … sehingga muncul kotak dialog Project Options.

Gambar 10-1 - Project Options 2. Klik button Add … sehingga akan tampil kotak dialog Add Design Package.

Gambar 10-2 - Browse - pencarian library quickreport

Tutor Delphier : Yugimage,M.Ber

10 - 1

Bab 10 Delphi Reporting Menggunakan QuickReport 3. Pilih file bernama dclqrt70.bpl yang terdapat pada direktori C:\Program Files\Borland\Delphi7\Bin. 4. Klik button Open untuk mengaktifkannya, maka akan kembali ke kotak dialog sebelumnya. 5. Klik button OK. Komponen QReport akan ditambahkan pada Component Palette seperti pada gambar berikut :

Gambar 10-3 - Component Pallete QReport 10.2. Komponen Quick Report

Gambar 10-4 - Component Pallete QReport – Detail Berikut penjelasan mengenai beberapa komponen yang terdapat pada Quick Report : Tabel 10-1 Komponen pada Quick Report Keterangan Area untuk menempatkan komponen-komponen laporan Membagi area besar pada QuickRep menjadi beberapa area yang lebih kecil. QRLabel Untuk menampilkan teks statis yang tidak akan berubah pada saat laporan dijalankan. QRDBText QRDBText terhubung ke database untuk menampilkan data yang ada pada tabel. QRExpr Untuk menangani operasi kalkulasi. QRSysData Untuk menampilkan data yang berasal dari sistem komputer seperti nomor halaman atau tanggal. QRMemo Sebuah komponen yang memungkinkan satu komponen untuk memiliki banyak baris teks pada form laporan. QRRichText Mirip dengan QRMemo tapi memungkinkan teks untuk diformat. QRDBRichText Untuk menangani field memo dalam database. QRShape Untuk membuat bentuk geometri garis atau bentuk geometri lainnya. QRImage Untuk menambahkan suatu image bitmap atau image grafis lainnya pada laporan, seperti logo. QRDBImage Versi Dataware dari QRImage dan digunakan untuk menampilkan image grafis dari file.

No. Komponen 1 QuickRep 2 QRBand 3 4 5 6 7 8 9 10 11 12

10.3. Membuat Laporan dengan Quick Report 10.3.1. Membuat Form Aplikasi Laporan Komponen-komponen dalam QReport dapat digunakan untuk membangun sebuah laporan yang datanya diambil dari database. Berikut sebuah contoh kasus sederhana untuk membuat

Tutor Delphier : Yugimage,M.Ber

10 - 2

Bab 10 Delphi Reporting Menggunakan QuickReport laporan dari tabel-tabel yang terdapat pada database Penyewaan VCD yang telah dibuat pada modul sebelumnya. Tapi sebelum memulai pembuatan laporan, isilah tabel-tabel pada database tersebut dengan beberapa data. Langkah-langkah yang harus dilakukan untuk membuat laporan dengan Quick Report : 1. Buat aplikasi baru. 2. Desain form untuk menampilkan dan mencetak laporan seperti pada gambar berikut:

Gambar 10-5 - Form Navigasi Laporan

Komponen Form Label1 Label2 Label3 Button1 Button2 Button3 Button4 Button5 Button6

Tabel 10-2 Properties FormLaporan Properti Nilai Caption .: Form Laporan Name FormLaporan Caption Laporan Anggota Caption Laporan VCD Caption Laporan Penyewaan Caption Tampil Name ButtonTampilAnggota Caption Cetak Name ButtonCetakAnggota Caption Tampil Name ButtonTampilVCD Caption Cetak Name ButtonCetakVCD Caption Tampil Name ButtonTampilSewa Caption Cetak Name ButtonCetakSewa

3. Simpan unit form dengan nama UnitLaporan.pas dan project dengan nama ProjectLaporan.dpr. 4. Buat sebuah form baru dan simpan dengan nama UnitLaporanAnggota.pas. 5. Atur properti form baru dengan ketentuan sebagai berikut :  Name diisi dengan “FormLapAnggota”  Caption diisi dengan “.: Form Laporan Anggota” 6. Tambahkan komponen ADOQuery dan QuickRep pada FormLapAnggota. 7. Pilih komponen ADOQuery, atur propertinya dengan ketentuan sebagai berikut :

Properti Name

Tabel 10-3 Properties ADOQueryLapAnggota Keterangan ADOQueryLapAnggota

Tutor Delphier : Yugimage,M.Ber

10 - 3

Bab 10 Delphi Reporting Menggunakan QuickReport Connection String SQL

Active

Koneksikan form dengan database dbSewaVCD.mdb Klik tombol builder (…) sehingga akan muncul kotak dialog String List Editor, isi dengan sintaks SQL select * from anggota; untuk menampilkan semua data di tabel anggota dan klik button OK. True

8. Pilih komponen QuickRep, atur propertinya dengan ketentuan sebagai berikut :

Properti Name DataSet

Bands

Tabel 10-4 Properties QuickRepLapAnggota Keterangan QuickRepLapAnggota ADOQueryLapAnggota Untuk mengkoneksikan QuickRepLapAnggota dengan database melalui ADOQueryLapAnggota. Klik tanda + untuk menampilkan pilihan pengaturan band. HasTitle = True HasDetail = True HasSummary = True

9. Pilih komponen TitleBand pada QuickRepLapAnggota, atur propertinya dengan ketentuan sebagai berikut : Tabel 10-5 Properties TitleBandLapAnggota Properti Keterangan Name TitleBandLapAnggota ForceNewPage True Untuk mencetak bagian judul laporan hanya pada halaman pertama. HasChild True Untuk menampilkan band Child (anak) dan menghubungkannya dengan band tersebut. 10. Pilih komponen DetailBand pada QuickRepLapAnggota, atur propertinya dengan ketentuan sebagai berikut : Tabel 10-6 Properties DetailBandLapAnggota Properti Keterangan Name DetailBandLapAnggota 11. Pilih komponen SummaryBand pada QuickRepLapAnggota, atur propertinya dengan ketentuan sebagai berikut :

Properti Name ForceNewPage HasChild

Tabel 10-7 Properties SummaryBandLapAnggota Keterangan SummaryBandLapAnggota True True

Tutor Delphier : Yugimage,M.Ber

10 - 4

Bab 10 Delphi Reporting Menggunakan QuickReport Frame

Klik tanda +, isi property DrawTop = True untuk menampilkan garis pada bagian atas dan DrawBottom = True untuk garis bagian bawah. Gunakan properti lain untuk mengatur format garis-garis bingkai.

12. Pilih komponen ChildBand di bawah TitleBand, atur propertinya dengan ketentuan sebagai berikut : Tabel 10-8 Properties ChildBandLapAnggota Keterangan ChildBandLapAnggota DrawTop = True DrawBottom = True LinkBand TitleBandLapAnggota Agar band TitleBandLapAnggota dan ChildBandLapAnggota selalu dicetak bersama-sama. Properti Name Frame

13. Pilih komponen ChildBand di bawah SummaryBand, ketentuan sebagai berikut :

atur propertinya dengan

Tabel 10-9 Properties ChildBandLapAnggota2 Properti Keterangan Name ChildBandLapAnggota2 LinkBand SummaryBandLapAnggota

Gambar 10-6 – Lembar Kerja Laporan 10.3.2. Mendesain Laporan Setelah semua komponen yang dibutuhkan dalam pembuatan laporan dimasukkan ke dalam form, langkah selanjutnya adalah mendesain laporan sesuai dengan kebutuhan. Sebagi contoh kasus, buat desain untuk laporan anggota rental VCD “ABCD” seperti pada gambar berikut :

Tutor Delphier : Yugimage,M.Ber

10 - 5

Bab 10 Delphi Reporting Menggunakan QuickReport

Gambar 10-7 - Design Laporan 1. Pilih TitleBand dan isi dengan beberapa komponen dengan properti berikut :

Komponen QRLabel QRLabel QRLabel QRSysData

Properti Caption Caption Caption Data

Tabel 10-10 Properties TitleBand Nilai LAPORAN ANGGOTA RENTAL VCD "ABCD" Tanggal : qrsDate (menampilkan tanggal pencetakan laporan)

2. Pilih ChildBand di bawah TitleBand, isi dengan beberapa berikut

Komponen QRLabel QRLabel QRLabel QRLabel

komponen dengan properti

Tabel 10-11 Properties ChildBand Properti Nilai Caption No Anggota Caption Nama Anggota Caption Alamat Caption Telepon

Bila perlu ubah nilai properti WordWrap menjadi True dan properti AutoSize menjadi False pada masing-masing komponen di atas untuk mengaktifkan fungsi pelipatan teks. 3. Pilih DetailBand dan isi dengan beberapa komponen dengan properti berikut :

Komponen QRDBText QRDBText QRDBText QRDBText

Tabel 10-12 Properties DetailBand Properti Nilai DataSet ADOQueryLapAnggota DataField NoAnggota DataSet ADOQueryLapAnggota DataField NamaAnggota DataSet ADOQueryLapAnggota DataField AlamatAnggota DataSet ADOQueryLapAnggota DataField TelpAnggota

4. Pilih SummaryBand dan isi dengan beberapa komponen dengan properti berikut :

Tutor Delphier : Yugimage,M.Ber

10 - 6

Bab 10 Delphi Reporting Menggunakan QuickReport Tabel 10-13 Properties SummaryBand Komponen Properti Nilai QRLabel Caption Jumlah Anggota QRLabel Name QRLabelJumlahAnggota 5. Pilih ChildBand di bawah SummaryBand, isi dengan beberapa komponen dengan properti berikut :

Komponen QRLabel QRSysData

Tabel 10-14 Properties ChildBand di bawah SummaryBand Properti Nilai Caption Halaman : Data qrsPageNumber (menampilkan nomor halaman)

Langkah selanjutnya adalah menata komponen-komponen tersebut sehingga tampak lebih rapi dan menarik. Jika ingin mengubah ukuran kertas dan batas-batas pencetakan, maka double klik komponen QuickRepLapAnggota pada daerah kosong sehingga tampil kotak dialog Report Setting seperti berikut ini :

Gambar 10-8 - Report Setting 10.3.3. Menulis Kode Program Laporan Setelah desain laporan terbentuk, program.

langkah

berikutnya

adalah menuliskan kode

10.3.3.1. Kode Program pada FormLapAnggota 1. Pilih objek QuickRepLapAnggota, pilih event BeforePrint dan tuliskan kode program berikut : procedure TFormLaporanSewa.QuickRepSewaBeforePrint(Sender: TCustomQuickRep; var PrintReport: Boolean); begin halaman := 0; jumlahAnggota := 0; end;

Tutor Delphier : Yugimage,M.Ber

10 - 7

Bab 10 Delphi Reporting Menggunakan QuickReport Kode progam di atas berfungsi untuk inisialisasi awal variabel sebelum memulai pencetakan laporan. Kedua variabel tersebut bersifat global, oleh karena itu variabel tersebut harus dideklarasikan terlebih dulu pada bagian Var : var FormLaporanSewa: TFormLaporanSewa; Halaman, jumlahAnggota: integer; 2. Pilih objek DetailBandLapAnggota, pilih event BeforePrint dan tuliskan kode program berikut : procedure TFormLapAnggota.DetailBandLapAnggotaBeforePrint( Sender: TQRCustomBand; var PrintBand: Boolean); begin jumlahAnggota := jumlahAnggota + 1; end; Kode progam jumlahAnggota:=jumlahAnggota+1; menyatakan proses menghitung jumlah anggota melalui penambahan nilai pada variabel jumlahAnggota dengan 1 sebelum mencetak laporan. 3. Pilih objek SummaryBandLapAnggota, pilih event BeforePrint dan tuliskan kode program berikut: procedure TFormLapAnggota.SummaryBandLapAnggotaBeforePrint( Sender: TQRCustomBand; var PrintBand: Boolean); begin QRLabelJumlahAnggota.Caption := IntToStr(jumlahAnggota); end; Kode program QRLabelJumlahAnggota.Caption:=IntToStr(jumlahAnggota); menyatakan pengisian nilai pada komponen QRLabelJumlahAnggota dengan nilai dari variabel jumlahAnggota. 10.3.3.2. Kode Program pada FormLaporan 1. Pilih menu File  Use Unit … lalu pilih UnitLaporanAnggota sehingga muncul kode program seperti di bawah ini : Implementation uses UnitLaporanAnggota; Kode program di atas berfungsi untuk menghubungkan UnitLaporan dengan UnitLaporanAnggota. 2. Pilih objek ButtonTampilAnggota, pilih event OnClick dan tuliskan kode program berikut : procedure TFormLaporan.ButtonTampilAnggotaClick(Sender: TObject); begin FormLapAnggota.ADOQueryLapAnggota.SQL.Clear; FormLapAnggota.ADOQueryLapAnggota.SQL.Add('select * from anggota'); FormLapAnggota.ADOQueryLapAnggota.Prepared := true; FormLapAnggota.ADOQueryLapAnggota.Open; FormLapAnggota.QuickRepLapAnggota.Preview; end; Tutor Delphier : Yugimage,M.Ber

10 - 8

Bab 10 Delphi Reporting Menggunakan QuickReport Berikut penjelasan mengenai kode program di atas :  FormLaporanSewa.ADOQueryLapAnggota.SQL.Clear; Untuk mengosongkan sintaks SQL yang terdapat pada ADOQueryLapAnggota sebelumnya.  FormLapAnggota.ADOQueryLapAnggota.SQL.Add('select * from anggota'); Menulis sintaks SQL baru pada ADOQueryLapAnggota untuk menampilkan semua data di tabel anggota.  FormLaporanSewa.ADOQueryLapAnggota.Prepared:=true; FormLaporanSewa.ADOQueryLapAnggota.Open; Mempersiapkan dan membuka query ADOQueryLapAnggota.  FormLaporanSewa.QuickRepSewa.Preview; Menampilkan hasil laporan 3. Pilih objek ButtonCetakAnggota, pilih event OnClick dan tuliskan kode program berikut : procedure TFormLaporan.ButtonCetakAnggotaClick(Sender: TObject); begin FormLapAnggota.QuickRepLapAnggota.Print; end; Kode program FormLapAnggota.QuickRepLapAnggota.Print; berfungsi untuk mencetak laporan. Lakukan langkah yang sama untuk membuat laporan dari tabel VCD dan Sewa. Simpan project laporan yang telah dibuat dan jalankan. Tampilan saat aplikasi dijalankan :

Gambar 10-9 - Form Navigasi Laporan Running Contoh tampilan laporan anggota ketika button Tampil diklik :

Gambar 10-10 - Display Report

Tutor Delphier : Yugimage,M.Ber

10 - 9

Tutorial Pembuatan Aplikasi Rental VCD 1. Pengantar Aplikasi Rental VCD Aplikasi rental VCD ini memiliki fitur- fitur sebagai berikut: a. Memiliki Form Manajemen Anggota b. Memiliki Form Manajemen VCD c. Memiliki Form Transaksi Peminjaman d. Report Transaksi Peminjaman Pembuatan aplikasi ini akan diberikan dalam langkah demi langkah tutorial yang dimulai dengan perancangan dan pembuatan database rental vcd dengan menggunakan MS Access. Dilanjutkan dengan perancangan dan pembuatan Form di Delphi dan terkahir perancangan dan pembuatan report di Delphi. 1.2.Perancangan dan Pe mbuatan Database Rental VCD

Gambar 11-1 – Tampilan Awal MS Access 2007 Langkah- langkah pembuatan database: 1. Buatlah sebuah database menggunakan MS Access 2007

Gambar 11-2 – Membuat Database Baru 2. Klik tanda orb (start) lalu klik New 3. Pada bagian Blank Database sebelah klik tombol folder di sebelah kanan

Gambar 11-3 – Membuat Database Baru Tutor Delphier : Yugimage,M.Ber

RentalVCD - 1

Tutorial Pembuatan Aplikasi Rental VCD 4. Beri nama database tersebut DBRentalVCD.mdb

Gambar 11-4 – Memilih Format Access 2003 dan memasukkan nama 5. Pilih format Microsoft Access 2003 pada dialog box tersebut. 6. Tambahkan 4 table yaitu Anggota, VCD, PenyewaanDetil, dan PenyewaanMaster 7. Tambahkan Field- field ke dalam field tersebut Tabel 11-1 Deskripsi Tabel Anggota Tabel Anggota Type Data ID AutoNumber Nama Text Alamat Text Telepon Text NoKTP Text Tabel 11-2 Deskripsi Tabel VCD Tabel VCD Type Data ID AutoNumber Judul Text Tahun Date/Time Kategori Text Sewa Currency BatasSewa Number Denda Currency Tabel 11-3 Deskripsi Tabel Penyewaan Master Tabel Penyewaan Master Type Data ID AutoNumber TanggalPenyewaan Date/Time IDAnggota Number TotalSewa Currency TotalDenda Currency Tabel 11-4 Deskripsi Tabel PenyewaanDetil Tabel PenyewaanDetil Type Data ID AutoNumber TransaksiID Number IDVCD Number TanggalPengembalian Date/Time

Tutor Delphier : Yugimage,M.Ber

RentalVCD - 2

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-5 – Create new table

Gambar 11-6– Memberi nama pada table baru

Gambar 11-7 – Detil Table Anggota

Gambar 11-8– Detil Tabel VCD

Gambar 11-9– Detil Tabel PenyewaanDetil

Gambar 11-10 - Detil Tabel PenyewaanDetil

Tutor Delphier : Yugimage,M.Ber

RentalVCD - 3

Tutorial Pembuatan Aplikasi Rental VCD 8. Buatlah relationship untuk semua table tersebut

Gambar 11-11 – Membuat Relationship

Gambar 11-12 – Memilih table yang akan digunakan di relationship

Gambar 11-13 - Relationship Anggota - PenyewaanMaster

Gambar 11-14 – Relationship PenyewaanDetil - PenyewaanMaster Tutor Delphier : Yugimage,M.Ber

RentalVCD - 4

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-15 - Relationship VCD - PenyewaanDetil

Gambar 11-16 - Menghubungkan dua field dalam sebuah relasi

Gambar 11-17 - Relationship Complete

Gambar 11-18 - Database yang saling terhubung dan detil Tutor Delphier : Yugimage,M.Ber

RentalVCD - 5

Tutorial Pembuatan Aplikasi Rental VCD 1.3.Merancang dan Membuat Form me nggunakan Borland Delphi

Gambar 11-19 - Membuat aplikasi baru

Gambar 11-20 - Menambahkan beberapa form baru

Gambar 11-21 - Form Utama

Komponen Form

Label1 MainMenu1

Tutor Delphier : Yugimage,M.Ber

Tabel 11-5 Komponen frmUtama Properti Nilai Caption .: Form Utama Name frmUtama fsMDIForm FormStyle Caption RENTAL VCD MERAH Name MainMenu1

RentalVCD - 6

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-22 - Edit Main Menu Tabel 11-6 Properties MainMenu1 Komponen Properti Nilai Menu MainMenu1 Name MainMenu1 TMenuItem Caption Program Name Program1 Parent MainMenu1 TMenuItem Caption Exit Name Exit1 Parent Program1 TMenuItem Caption Master Name Master1 Parent MainMenu1 TMenuItem Caption VCD Name Parent VCD1 ShortCut Master1 F3 TMenuItem Caption Anggota Name Anggota1 Parent Master1 ShortCut F4 TMenuItem Caption Transaksi Name Transaksi1 Parent MainMenu1 TMenuItem Caption Peminjaman Name Parent Peminjaman1 ShortCut Transaksi1 F5 TMenuItem Caption Laporan Name Laporan1 Parent MainMenu1 ShortCut F6 TMenuItem Caption PeminjamanVCD Name PeminjamanVCD1 Parent Laporan1

Tutorial Pembuatan Aplikasi Rental VCD TMenuItem

TMenuItem

Caption Name Parent Caption Name Parent

Bantuan Bantuan1 MainMenu1 Tentang Tentang1 MainMenu1

Gambar 11-23 - Properties Windows Form Utama

Gambar 11-24 - Form VCD

Tutorial Pembuatan Aplikasi Rental VCD Komponen Menu TForm

TLabel TLabel TLabel TLabel TLabel TLabel TLabel TLabel TEdit TEdit TEdit TEdit TEdit TComboBox

TButton TButton TButton TButton TButton TDBGrid

Tabel 11-7 Properties frmVCD Properti Nilai Caption Name FormStyle Caption Caption Caption Name Caption Caption Caption Caption Caption Name Name Name Name Name Name Items [list]

Caption Name Caption Name Caption Name Caption Name Caption Name Name

Form VCD frmVCD fsMDIChild Judul ID VCD lblIDVCD Kategori Tahun Sewa Rp Batas Sewa Denda Rp EditJudulVCD EditTahunVCD EditSewa EditBatasSewa EditDenda cmbKategori [ Action Animasi Drama Fiksi Horor Komedi Thriller ] Tambah btnTambah Edit btnEdit Hapus btnHapus Simpan btnSimpan Batal btnBatal DBGrid1

Gambar 11-25 - Form Anggota

Tutorial Pembuatan Aplikasi Rental VCD Tabel 11-8 Properties Form Anggota Komponen Properti Nilai Menu TForm Caption Form VCD Name frmVCD FormStyle fsMDIChild TLabel Caption NoAnggota TLabel Caption Nama TLabel Caption Alamat TLabel Caption Telepon TLabel Caption KTP TEdit Name EditNamaAnggota TEdit Name EditAlamatAnggota TEdit Name EditTelepon TEdit Name EditKTP TButton Caption Tambah Name btnTambah TButton Caption Edit Name btnEdit TButton Caption Hapus Name btnHapus TButton Caption Simpan Name btnSimpan TButton Caption Batal Name btnBatal TDBGrid Name DBGrid1

Gambar 11-26 - Properties Windows Form Anggota

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-27 – Form Transaksi Penyewaan

Komponen Menu TForm

TGroupBox TGroupBox TLabel TLabel TLabel TLabel TLabel TLabel TLabel TLabel TLabel TLabel TLabel TRadioButton TRadioButton TRadioButton

Tabel 11-9 Properties Form Penyewaan Properti Nilai Caption Name FormStyle Caption Caption Caption Caption Caption Caption Caption Caption Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption

Form VCD frmVCD fsMDIChild Data Peminjam Data VCD Tanggal Sewa Kembali Tanggal Cari Anggota Filter VCD Harga Sewa Rp. Transaksi Penyewaan 00/00/00 lblTanggalSewa 00/00/00 lblTanggalSewa lblIDAnggota lblNamaAnggota 0 lblHargaSewa ID rbNoAnggota Nama rbNamaAnggota KTP

Tutorial Pembuatan Aplikasi Rental VCD TRadioButton TRadioButton TRadioButton TDBGrid TListBox TEdit TEdit TEdit TButton TButton TButton TDBGrid

Name Caption Name Caption Name Caption Name Name Name Name Name Name Caption Name Caption Name Caption Name Name

rbKTPAnggota ID rbIDVCD Judul rbJudul Kategori rbKategori DBGridDaftarVCD ListBoxPinjam EditAlamatAnggota EditTelepon EditKTP btnPilih btnHapus Simpan btnSimpan Batal btnBatal DBGrid1

Gambar 11-28 – Form Laporan Transaksi Peminjaman Tabel 11-10 Properties Form Laporan Transaksi Peminjaman Komponen Properti Nilai Menu TForm Caption Form Laporan Peminjaman Name frmLaporanPeminjaman fsMDIChild FormStyle TQuickReport Name QRPeminjaman HasDetail True HasTitle True QRLabel Caption Tanggal

Tutorial Pembuatan Aplikasi Rental VCD QRLabel

Caption

QRLabel QRLabel QRLabel QRLabel QRLabel QRLabel QRLabel QRLabel QRLabel QRLabel QRLabel TQRSysData TQRDBText

Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption Data Name DataSet Data Field Name DataSet Data Field Name DataSet Data Field Name DataSet Data Field Name DataSet Data Field Name DataSet Data Field Name DataSet Data Field

TQRDBText

TQRDBText

TQRDBText

TQRDBText

TQRDBText

TQRDBText

LAPORAN DETIL TRANSAKSI PEMINJAMAN RENTAL VCD MERIAH ID Transaksi ID Anggota Nama Anggota Judul Film Harga Sewa Tanggal Kembali Denda Rp. Rp. Total Pendapatan Sewa Rp. qrsDateTime QRDBIDTransaksi DM.ADOQueryLaporanPeminjaman ID Transaksi QRDBAnggota DM.ADOQueryLaporanPeminjaman ID Anggota QRDBNamaAnggota DM.ADOQueryLaporanPeminjaman Nama Anggota QRDBJudulFilm DM.ADOQueryLaporanPeminjaman ID Judul Film QRDBHargaSewa DM.ADOQueryLaporanPeminjaman Harga Sewa QRDBTanggalKembali DM.ADOQueryLaporanPeminjaman Tanggal Kembali QRDBDenda DM.ADOQueryLaporanPeminjaman Denda

Gambar 11-29 – Install Quickreport

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-30 – Menambah Package dari file bpl (Borland Package Library)

Gambar 11-31 – Memilih file dclqrt70.bpl

Gambar 11-32 – Menu Use Unit untuk menggunakan Unit pada form utama

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-33 – Daftar Unit yang akan digunakan

Gambar 11-34 – Representasi Sintaksis Uses pada Unit

Gambar 11-35 – Click Project – Options untuk menambahkan form child MDI sehingga ditampilkan hanya ketika di akses melalui form utama

Gambar 11-36 – Daftar Form-Form yang Tersedia dalam Project

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-37 – Daftar Form-Form yang telah dipilih

Gambar 11-38 – Menu create new Data Module

Gambar 11-39 – Data Access component: ADOConnection, ADOQuery, dan ADODataSet Tabel 11-11 Properties ADOConnRentalVCD Properti Keterangan Name ADOConnRentalVCD ConnectionString Provider=Microsoft.Jet.OLEDB.4.0; User ID=Admin; DataSource=C:\DBRentalVCD.mdb; Mode=Share Deny None; Extended Properties=""; Jet OLEDB:System database=""; Jet OLEDB:Registry Path="";

Tutorial Pembuatan Aplikasi Rental VCD

Connected LoginPrompt Mode Provider

Jet OLEDB:Database Password=""; Jet OLEDB:Engine Type=5; Jet OLEDB:Database Locking Mode=1; Jet OLEDB:Global Partial Bulk Ops=2; Jet OLEDB:Global Bulk Transactions=1; Jet OLEDB:New Database Password=""; Jet OLEDB:Create System Database=False; Jet OLEDB:Encrypt Database=False; Jet OLEDB:Don't Copy Locale on Compact=False; Jet OLEDB:Compact Without Replica Repair=False; Jet OLEDB:SFP=False True False cmShareDenyNone Microsoft.Jet.OLEDB.4.0 Tabel 11-12 Properties ADOQueryVCD Properti Keterangan Name ADOQueryVCD Connection ADOConnRentalVCD CursorType ctStatic Active True SQL select * from vcd Tabel 11-13 Properties DSVCD Properti Keterangan Name DSVCD Dataset ADOQueryVCD Tabel 11-14 Properties DSAnggota Properti Keterangan Name DSAnggota Dataset ADOQueryAnggota Tabel 11-15 Properties DSPenyewaan Properti Keterangan Name DSPenyewaan Dataset ADOQueryPenyewaan Tabel 11-16 Properties ADOQueryAnggota Properti Keterangan Name ADOQueryAnggota Connection ADOConnRentalVCD CursorType ctStatic Active True SQL select * from anggota Tabel 11-17 Properties ADOQueryPenyewaan Properti Keterangan

Tutorial Pembuatan Aplikasi Rental VCD Name Connection CursorType Active SQL

ADOQueryPenyewaan ADOConnRentalVCD ctStatic True select * from penyewaanmaster

Gambar 11-40 – Properties Window ADOConnRentalVCD

Gambar 11-41 – ConnectionString Dialog

Gambar 11-42 – Data Link Properties - ConnectionString Builder Dialog

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-43 – Data Link Properties – Test Connection Success

Gambar 11-44 – Memasukkan string SQL pada property SQL ADOQueryLaporanPeminjaman 1.4.Menulis Kode Program VCD Rental

Gambar 11-45 – Cara 1 – Mengakses object untuk memasukkan code

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-46 – Cara 2 – Men-generate procedure baru dengan menggunakan event OnClick pada properties

Gambar 11-47 – Membuat procedure baru dengan meng-klik ganda pada button 1.4.1.Kode Program pada Form Utama unit UnitUtama; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; type TfrmUtama = class(TForm) MainMenu1: TMainMenu; Program1: TMenuItem;

Tutorial Pembuatan Aplikasi Rental VCD Keluar1: TMenuItem; Master1: TMenuItem; Anggota1: TMenuItem; VCD1: TMenuItem; ransaksi1: TMenuItem; Penyewaan1: TMenuItem; Laporan1: TMenuItem; LaporanPeminjamanVCD1: TMenuItem; LaporanPengembalianVCD: TMenuItem; Bantuan1: TMenuItem; About: TMenuItem; LaporanPendapatan: TMenuItem; Label1: TLabel; procedure Keluar1Click(Sender: TObject); procedure Anggota1Click(Sender: TObject); procedure VCD1Click(Sender: TObject); procedure Penyewaan1Click(Sender: TObject); procedure LaporanPeminjamanVCD1Click(Sender: TObject); procedure LaporanPendapatanClick(Sender: TObject); procedure LaporanPengembalianVCDClick(Sender: TObject); procedure AboutClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmUtama: TfrmUtama; implementation uses DataModule, UnitAnggota, UnitTransaksi, UnitVCD, UnitAbout, UnitLaporanPeminjaman, UnitLaporanPendapatan, UnitLaporanPengembalian, Math, UnitKategori; {$R *.dfm} procedure TfrmUtama.Keluar1Click(Sender: TObject); begin Close; end; procedure TfrmUtama.Anggota1Click(Sender: TObject); begin Application.CreateForm(TfrmAnggota, frmAnggota); Anggota1.Enabled := false; end; procedure TfrmUtama.VCD1Click(Sender: TObject);

Tutorial Pembuatan Aplikasi Rental VCD begin Application.CreateForm(TfrmVCD, frmVCD); VCD1.Enabled := false; end; procedure TfrmUtama.Penyewaan1Click(Sender: TObject); begin Application.CreateForm(TfrmTransaksi, frmTransaksi); Penyewaan1.Enabled := false; end; procedure TfrmUtama.LaporanPeminjamanVCD1Click(Sender: TObject); begin frmLaporanPeminjaman.QRPeminjaman.Prepare; frmLaporanPeminjaman.QuickRep1.Preview; LaporanPeminjamanVCD1.Enabled := false; end; procedure TfrmUtama.LaporanPendapatanClick(Sender: TObject); begin Application.CreateForm(TfrmLaporanPendapatan, frmLaporanPendapatan); LaporanPendapatan.Enabled := false; end; procedure TfrmUtama.LaporanPengembalianVCDClick(Sender: TObject); begin Application.CreateForm(TfrmLaporanPengembalian, frmLaporanPengembalian ); LaporanPengembalianVCD.Enabled := false; end; procedure TfrmUtama.AboutClick(Sender: TObject); begin Application.CreateForm(TAboutBox, AboutBox); About.Enabled := false; end; end. 1.4.2.Kode Program pada Form Anggota unit UnitAnggota; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids; type TfrmAnggota = class(TForm)

Tutorial Pembuatan Aplikasi Rental VCD DBGrid1: TDBGrid; btnTambah: TButton; btnEdit: TButton; btnHapus: TButton; btnSimpan: TButton; EditNamaAnggota: TEdit; EditAlamatAnggota: TEdit; EditTeleponAnggota: TEdit; Label1: TLabel; Nama: TLabel; EditKTPAnggota: TEdit; Alamat: TLabel; Label4: TLabel; Label5: TLabel; lblNoAnggota: TLabel; btnBatal: TButton; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure btnTambahClick(Sender: TObject); procedure btnEditClick(Sender: TObject); procedure btnBatalClick(Sender: TObject); procedure btnSimpanClick(Sender: TObject); procedure btnHapusClick(Sender: TObject); private { Private declarations } sqlstring: string; db_manipulation_mode: string; public { Public declarations } procedure refresh_table_anggota(); procedure tampil_data_anggota(); procedure clear_all(); end; var frmAnggota: TfrmAnggota; implementation uses UnitUtama, DataModule, ADODB, DB; {$R *.dfm} procedure TfrmAnggota.refresh_table_anggota(); begin sqlstring := 'select * from anggota'; with DM.ADOQueryAnggota do begin Close;

Tutorial Pembuatan Aplikasi Rental VCD SQL.Clear; SQL.Add(sqlstring); Open; end; end; procedure TfrmAnggota.tampil_data_anggota(); begin refresh_table_anggota; with DM.ADOQueryAnggota do begin if (IsEmpty = True) then begin ShowMessage('Belum ada anggota yang terdaftar dalam system'); end else begin lblNoAnggota.Caption := FieldByName('ID').AsString; EditNamaAnggota.Text := FieldByName('nama').AsString; EditAlamatAnggota.Text := FieldByName('alamat').AsString; EditTeleponAnggota.Text := FieldByName('telepon').AsString; EditKTPAnggota.Text := FieldByName('noktp').AsString; end; end; end; procedure TfrmAnggota.clear_all(); begin lblNoAnggota.Caption := ''; EditNamaAnggota.Clear; EditAlamatAnggota.Clear; EditTeleponAnggota.Clear; EditKTPAnggota.Clear; end; procedure TfrmAnggota.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; frmUtama.Anggota1.Enabled := True; end; procedure TfrmAnggota.FormShow(Sender: TObject); begin tampil_data_anggota; end; procedure TfrmAnggota.DBGrid1CellClick(Column: TColumn); begin tampil_data_anggota;

Tutorial Pembuatan Aplikasi Rental VCD end; procedure TfrmAnggota.btnTambahClick(Sender: TObject); begin clear_all; btnEdit.Enabled := false; btnHapus.Enabled := false; btnTambah.Enabled := false; EditNamaAnggota.SetFocus; db_manipulation_mode := 'insert'; end; procedure TfrmAnggota.btnEditClick(Sender: TObject); begin if (DM.ADOQueryAnggota.IsEmpty = False) and (lblNoAnggota.Caption <> '') then begin btnTambah.Enabled := false; btnHapus.Enabled := false; btnEdit.Enabled := false; EditNamaAnggota.SetFocus; db_manipulation_mode := 'update'; end else begin ShowMessage('Tidak ada data yang diedit!'); end; end; procedure TfrmAnggota.btnBatalClick(Sender: TObject); begin clear_all; btnTambah.Enabled := true; btnEdit.Enabled := true; btnHapus.Enabled := true; refresh_table_anggota; end; procedure TfrmAnggota.btnSimpanClick(Sender: TObject); begin if (db_manipulation_mode = 'insert') then begin sqlstring := 'insert into anggota(nama, alamat, telepon, noktp)' + ' values( ' + QuotedStr(EditNamaAnggota.Text) + ', '+QuotedStr(EditAlamatAnggota.Text)+', '+QuotedStr(EditTeleponAnggota.Text)+', '+QuotedStr(EditKTPAnggota.Text)+')'; end else if (db_manipulation_mode = 'update') then begin sqlstring := 'update anggota set nama = ' +

Tutorial Pembuatan Aplikasi Rental VCD QuotedStr(EditNamaAnggota.Text) + ', ' + ' alamat = ' + QuotedStr(EditAlamatAnggota.Text) + ', ' + ' telepon = ' + QuotedStr(EditTeleponAnggota.Text) + ', ' + ' noktp ' + QuotedStr(EditKTPAnggota.Text) + ' where ID = '+QuotedStr(lblNoAnggota.Caption); end; with DM.ADOQueryAnggota do begin Close; SQL.Clear; SQL.Add(sqlstring); ExecSQL; end; refresh_table_anggota; end; procedure TfrmAnggota.btnHapusClick(Sender: TObject); begin if (lblNoAnggota.Caption <> '') then begin if (MessageDlg('Yakin akan menghapus data ini?', mtConfirmation, mbOKCancel, 0) = mrOk) then begin with (DM.ADOQueryAnggota) do begin sqlstring := 'delete from anggota where ID = ' + lblNoAnggota.Caption; Close; SQL.Clear; SQL.Add(sqlstring); ExecSQL; end; refresh_table_anggota; end; end; end; end. 1.4.3.Kode Program pada Form VCD unit UnitVCD; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids; type TfrmVCD = class(TForm) EditJudulVCD: TEdit; editTahunVCD: TEdit;

Tutorial Pembuatan Aplikasi Rental VCD Label1: TLabel; Nama: TLabel; editSewa: TEdit; Alamat: TLabel; Label4: TLabel; Label5: TLabel; lblIDVCD: TLabel; DBGrid1: TDBGrid; btnTambah: TButton; btnEdit: TButton; btnHapus: TButton; btnSimpan: TButton; btnBatal: TButton; cmbKategori: TComboBox; Label2: TLabel; editBatasSewa: TEdit; Label3: TLabel; editDenda: TEdit; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure btnBatalClick(Sender: TObject); procedure btnSimpanClick(Sender: TObject); procedure btnHapusClick(Sender: TObject); procedure btnEditClick(Sender: TObject); procedure btnTambahClick(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure FormShow(Sender: TObject); procedure editTahunVCDKeyPress(Sender: TObject; var Key: Char); procedure editSewaKeyPress(Sender: TObject; var Key: Char); procedure editBatasSewaKeyPress(Sender: TObject; var Key: Char); procedure editDendaKeyPress(Sender: TObject; var Key: Char); private { Private declarations } sqlstring: string; db_manipulation_mode: string; public { Public declarations } procedure refresh_table_vcd(); procedure tampil_data_vcd(); procedure clear_all(); end; var frmVCD: TfrmVCD; implementation uses UnitUtama, DataModule; {$R *.dfm}

Tutorial Pembuatan Aplikasi Rental VCD procedure TfrmVCD.refresh_table_vcd(); begin sqlstring := 'select * from vcd'; with DM.ADOQueryVCD do begin Close; SQL.Clear; SQL.Add(sqlstring); Open; end; end; procedure TfrmVCD.tampil_data_vcd(); begin refresh_table_vcd; with DM.ADOQueryVCD do begin if (IsEmpty = True) then begin ShowMessage('Belum ada VCD yang terdaftar dalam system'); end else begin lblIDVCD.Caption := FieldByName('ID').AsString; EditJudulVCD.Text := FieldByName('judul').AsString; cmbKategori.Text := FieldByName('kategori').AsString; EditTahunVCD.Text := FieldByName('tahun').AsString; EditSewa.Text := FieldByName('sewa').AsString; EditBatasSewa.Text := FieldByName('batassewa').AsString; EditDenda.Text := FieldByName('denda').AsString; end; end; end; procedure TfrmVCD.clear_all(); begin lblIDVCD.Caption := ''; EditJudulVCD.Clear; EditTahunVCD.Clear; EditSewa.Clear; EditBatasSewa.Clear; EditDenda.Clear; end; procedure TfrmVCD.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; frmUtama.VCD1.Enabled := True; end;

Tutorial Pembuatan Aplikasi Rental VCD procedure TfrmVCD.btnBatalClick(Sender: TObject); begin clear_all; btnTambah.Enabled := true; btnEdit.Enabled := true; btnHapus.Enabled := true; refresh_table_VCD; end; procedure TfrmVCD.btnSimpanClick(Sender: TObject); begin if (db_manipulation_mode = 'insert') then begin sqlstring := 'insert into VCD(judul, Kategori, tahun, sewa, batassewa, denda)'+ ' values( ' + QuotedStr(EditJudulVCD.Text) + ' ,' + QuotedStr(cmbKategori.Text) + ' ,' + EditTahunVCD.Text + ' ,' + EditSewa.Text + ' ,' + EditBatasSewa.Text + ' ,' + EditDenda.Text + ' )'; end else if (db_manipulation_mode = 'update') then begin sqlstring := 'update VCD set judul = ' + QuotedStr(EditJudulVCD.Text) + ', ' +' Kategori = ' + QuotedStr(cmbKategori.Text) + ' ,' + ' tahun = ' + EditTahunVCD.Text + ', ' + ' sewa = ' + EditSewa.Text + ', ' + ' batassewa = ' + EditBatasSewa.Text + ', ' + ' denda = ' + EditDenda.Text + ', ' + ' where ID = ' + QuotedStr(lblIDVCD.Caption); end; with DM.ADOQueryVCD do begin Close; SQL.Clear; SQL.Add(sqlstring); ExecSQL; end; refresh_table_VCD; end; procedure TfrmVCD.btnHapusClick(Sender: TObject); begin if (lblIDVCD.Caption <> '') then begin if (MessageDlg('Yakin akan menghapus data ini?', mtConfirmation, mbOKCancel, 0) = mrOk) then begin with (DM.ADOQueryVCD) do begin

Tutorial Pembuatan Aplikasi Rental VCD sqlstring := 'delete from VCD where ID = ' + lblIDVCD.Caption; Close; SQL.Clear; SQL.Add(sqlstring); ExecSQL; end; refresh_table_VCD; end; end; end; procedure TfrmVCD.btnEditClick(Sender: TObject); begin if (DM.ADOQueryVCD.IsEmpty = False) and (lblIDVCD.Caption <> '') then begin btnTambah.Enabled := false; btnHapus.Enabled := false; btnEdit.Enabled := false; EditJudulVCD.SetFocus; db_manipulation_mode := 'update'; end else begin ShowMessage('Tidak ada data yang diedit!'); end; end; procedure TfrmVCD.btnTambahClick(Sender: TObject); begin clear_all; btnEdit.Enabled := false; btnHapus.Enabled := false; btnTambah.Enabled := false; EditJudulVCD.SetFocus; db_manipulation_mode := 'insert'; end; procedure TfrmVCD.DBGrid1CellClick(Column: TColumn); begin tampil_data_vcd; end; procedure TfrmVCD.FormShow(Sender: TObject); begin tampil_data_vcd; end; procedure TfrmVCD.editTahunVCDKeyPress(Sender: TObject; var Key: Char); begin if (key <> #8) then

Tutorial Pembuatan Aplikasi Rental VCD if (key < '0') or (key > '9') then key := #0; end; procedure TfrmVCD.editSewaKeyPress(Sender: TObject; v ar Key: Char); begin if (key <> #8) then if (key < '0') or (key > '9') then key := #0; end; procedure TfrmVCD.editBatasSewaKeyPress(Sender: TObject; var Key: Char); begin if (key <> #8) then if (key < '0') or (key > '9') then key := #0; end; procedure TfrmVCD.editDendaKeyPress(Sender: TObject; var Key: Char); begin if (key <> #8) then if (key < '0') or (key > '9') then key := #0; end; end. 1.4.4.Kode Program pada Form Transaksi unit UnitTransaksi; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, DBCtrls; type TfrmTransaksi = class(TForm) Tambah: TButton; Label1: TLabel; lblTanggalSewa: TLabel; Label2: TLabel; lblTanggalKembali: TLabel; GroupPerminjam: TGroupBox; Label4: TLabel; EditCariAnggota: TEdit; rbNoAnggota: TRadioButton; rbNamaAnggota: TRadioButton; rbKTPAnggota: TRadioButton; GroupBox2: TGroupBox;

Tutorial Pembuatan Aplikasi Rental VCD Label6: TLabel; EditCariVCD: TEdit; rbIDVCD: TRadioButton; rbJudul: TRadioButton; rbKategori: TRadioButton; btnBatal: TButton; lblNamaAnggota: TLabel; btnPilih: TButton; DBGridDaftarVCD: TDBGrid; ListBoxPinjam: TListBox; Label3: TLabel; lblIDAnggota: TLabel; Label5: TLabel; lblHargaSewa: TLabel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure btnPilihClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure EditCariAnggotaChange(Sender: TObject); procedure EditCariVCDChange(Sender: TObject); procedure TambahClick(Sender: TObject); procedure btnBatalClick(Sender: TObject); private { Private declarations } sqlstring: string; harga_sewa: integer; ListPinjamVCD: array[1..2, 1..10] of string; public { Public declarations } procedure hitung_harga_sewa(); end; var frmTransaksi: TfrmTransaksi; implementation uses UnitUtama, DataModule, DB, ADODB; {$R *.dfm} procedure TfrmTransaksi.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; frmUtama.Penyewaan1.Enabled := True; end; procedure TfrmTransaksi.btnPilihClick(Sender: TObject); var i: integer; idvcd: string;

Tutorial Pembuatan Aplikasi Rental VCD begin i := 1; idvcd := DBGridDaftarVCD.SelectedField.DataSet.FieldByName('ID').AsString; while i <= 10 do begin if (ListPinjamVCD[1, i] = idvcd) then begin ShowMessage('Judul sudah ada!'); Exit; end else if (ListPinjamVCD[1, i] = '') or (ListPinjamVCD[1, i] = ' ') then begin ListPinjamVCD[1, i] := DBGridDaftarVCD.SelectedField.DataSet.FieldByName('ID').AsString; ListPinjamVCD[2, i] := DBGridDaftarVCD.SelectedField.DataSet.FieldByName('Judul').AsString; ListBoxPinjam.Items.Add(ListPinjamVCD[2, i]); with (DM.ADOQueryPenyewaan) do begin Close; SQL.Clear; SQL.Add('select * from vcd where ID = ' + string(ListPinjamVCD[1, i])); Open; harga_sewa := harga_sewa + FieldByName('sewa').AsVariant; lblHargaSewa.Caption := IntToStr(harga_sewa); end; Exit; end else i := i + 1; end; end; procedure TfrmTransaksi.FormShow(Sender: TObject); begin lblTanggalSewa.Caption := DateToStr(Now); lblTanggalKembali.Caption := DateToStr(Now + 3); end; procedure TfrmTransaksi.hitung_harga_sewa(); var i: integer; id_vcd: string; hargasewa: integer; begin for i := 1 to ListBoxPinjam.Count do begin id_vcd := string(ListPinjamVCD[1, i]); with (DM.ADOQueryPenyewaan) do

Tutorial Pembuatan Aplikasi Rental VCD begin Close; SQL.Clear; SQL.Add('select * from vcd where ID = ' + id_vcd); Open; hargasewa := hargasewa + FieldByName('sewa').AsInteger; end; end; end; procedure TfrmTransaksi.EditCariAnggotaChange(Sender: TObject); var sqlparam: string; begin with DM.ADOQueryPenyewaan do begin Close; SQL.Clear; if (rbNoAnggota.Checked) then sqlparam := ' NoAnggota like ' + QuotedStr('%' + EditCariAnggota.Text + '%') else if (rbNamaAnggota.Checked) then sqlparam := ' Nama like ' + QuotedStr('%' + EditCariAnggota.Text + '%') else if (rbKTPAnggota.Checked) then sqlparam := ' noKTP like ' + QuotedStr('%' + EditCariAnggota.Text + '%'); sqlstring := 'Select top 1 * from anggota where ' + sqlparam; SQL.Add(sqlstring); Open; if (not IsEmpty) then begin lblNamaAnggota.Caption := FieldByName('Nama').AsString; lblIDAnggota.Caption := FieldByName('ID').AsStr ing; end else begin lblNamaAnggota.Caption := 'Tidak ditemukan!'; lblIDAnggota.Caption := '-'; end; end; end; procedure TfrmTransaksi.EditCariVCDChange(Sender: TObject); var sqlparam: string; begin with DM.ADOQueryVCD do begin Close; SQL.Clear; if (rbIDVCD.Checked) then

Tutorial Pembuatan Aplikasi Rental VCD sqlparam := ' ID like ' + QuotedStr('%' + EditCariVCD.Text + '%') else if (rbJudul.Checked) then sqlparam := ' Judul like ' + QuotedStr('%' + EditCariVCD.Text + '%') else if (rbKategori.Checked) then sqlparam := ' kategori like ' + QuotedStr('%' + EditCariVCD.Text + '%'); sqlstring := 'Select * from vcd where ' + sqlparam; SQL.Add(sqlstring); Open; Refresh; end; end; procedure TfrmTransaksi.TambahClick(Sender: TObject); var i: integer; last_id: string; BatasSewa: integer; begin if (lblIDAnggota.Caption = '-') then ShowMessage('ID Peminjam tidak ditemukan!') else begin if (ListBoxPinjam.Count = 0) then ShowMessage('Tidak ada Judul yang dipilih!') else begin hitung_harga_sewa; with (DM.ADOQueryPenyewaan) do begin //insert master transaksi try sqlstring := 'insert into penyewaanmaster(TanggalPenyewaan, TotalSewa)values('+ QuotedStr(lblTanggalSewa.Caption) + ', ' + QuotedStr(lblIDAnggota.Caption) + ', ' + lblHargaSewa.Caption + ')'; Close; SQL.Clear; sql.Add(sqlstring); ExecSQL; SQL.Clear; SQL.Add('select @@identity as last_id from penyewaanmaster'); Open; last_id := DM.ADOQueryPenyewaan.FieldByName('last_id').AsString; //insert detil transaksi for i := 1 to ListBoxPinjam.Count do begin DM.ADOQueryVCD.Close; DM.ADOQueryVCD.SQL.Clear; DM.ADOQueryVCD.SQL.Add('Select top 1 * from vcd where ID = '+

IDAnggota,

Tutorial Pembuatan Aplikasi Rental VCD String(ListPinjamVCD[1,i])); DM.ADOQueryVCD.Open; if (not DM.ADOQueryVCD.IsEmpty) then BatasSewa := DM.ADOQueryVCD.FieldByName('BatasSewa').AsInteger; sqlstring := 'insert into penyewaandetil(TransaksiID, IDVCD,TanggalPengembalian)values('+ last_id + ', ' + string(ListPinjamVCD[1, i]) + ', ' + QuotedStr(DateToStr(Now + BatasSewa)) + ')'; Close; SQL.Clear; sql.Add(sqlstring); ExecSQL; end; except ShowMessage('Ada Kesalahan dalam input data detil, transaksi di batalkan'); end; end; ShowMessage('Data Peminjaman VCD berhasil disimpan'); Close; end; end; end; procedure TfrmTransaksi.btnBatalClick(Sender: TObject); begin Close; end; end. 1.4.5.Kode Program pada Form Laporan Pe minjaman unit UnitLaporanPeminjaman; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, QuickRpt, QRCtrls; type TfrmLaporanPeminjaman = class(TForm) QRPeminjaman: TQuickRep; TitleBand1: TQRBand; QRLabel10: TQRLabel; QRLabel11: TQRLabel; QRLabel12: TQRLabel; QRSysData1: TQRSysData;

Tutorial Pembuatan Aplikasi Rental VCD DetailBand1: TQRBand; QRDBText1: TQRDBText; QRDBText2: TQRDBText; QRDBText3: TQRDBText; QRDBText4: TQRDBText; QRDBText5: TQRDBText; QRDBText7: TQRDBText; QRDBText8: TQRDBText; QRLabel1: TQRLabel; QRLabel2: TQRLabel; SummaryBand1: TQRBand; QRLabel13: TQRLabel; ChildBand1: TQRChildBand; QRLabel3: TQRLabel; QRLabel4: TQRLabel; QRLabel5: TQRLabel; QRLabel6: TQRLabel; QRLabel7: TQRLabel; QRLabel8: TQRLabel; QRLabel9: TQRLabel; QuickRep1: TQuickRep; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure QRPeminjamanBeforePrint(Sender: TCustomQuickRep; var PrintReport: Boolean); procedure SummaryBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); private { Private declarations } public { Public declarations } totalsewa: integer; end; var frmLaporanPeminjaman: TfrmLaporanPeminjaman; implementation uses UnitUtama, DataModule; {$R *.dfm} procedure TfrmLaporanPeminjaman.FormClose(Sender: TCloseAction); begin Action := caFree; frmUtama.LaporanPeminjamanVCD1.Enabled := True; end;

TObject;

var

Action:

Tutorial Pembuatan Aplikasi Rental VCD procedure TfrmLaporanPeminjaman.QRPeminjamanBeforePrint( TCustomQuickRep; var PrintReport: Boolean); begin with (DM.ADOQueryLaporanPeminjaman) do begin totalsewa := totalsewa + (FieldByName('Harga Sewa').AsInteger); end; end; procedure TfrmLaporanPeminjaman.SummaryBand1BeforePrint( Sender: TQRCustomBand; var PrintBand: Boolean); begin QRLabel14.Caption := IntToStr(totalsewa); end; end. 1.5.Menjalankan Program VCD Rental

Gambar 11-48 - Aplikasi Rental VCD Running - Form Utama

Gambar 11-49 – - Aplikasi Rental VCD Running - Form Anggota

Sender:

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-50 - - Aplikasi Rental VCD Running - Form VCD

Gambar 11-51 - Aplikasi Rental VCD Running – Penyewaan Running

Gambar 11-52 - Aplikasi Rental VCD Running – Nama dan No Anggota

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-53 – Error Message – ID Peminjam

Gambar 11-54 Aplikasi Rental VCD Running – Judul VCD

Gambar 11-55 – Aplikasi Rental VCD Running – Harga sewa otomatis

Gambar 11-56 – Error Message – Judul VCD

Tutorial Pembuatan Aplikasi Rental VCD

Gambar 11-57 – Aplikasi Rental VCD Running – Data Peminjaman Sukses disimpan

Gambar 11-58 - Aplikasi Rental VCD Running – Tampilan Report

Daftar Pustaka 1. 2. 3. 4.

Cantù, Marco., Mastering Delphi 7, Sybex, New York, 2003 Gajic, Zarko., Delphi Programming, About.com,1998 Madcoms, Pemrograman Borland Delphi 7, Penerbit Andi, Yogyakarta, 2003 Marcus, Teddy, Delphi Developer dan SQL Server 2000, Penerbit Informatika, Bandung, 2004 5. Saiful, Kusnassriyanto, et.al., Pemrograman Delphi, Penerbit Informatika, Jakarta, 2005 6. Suryatiningsih, S.T, Pemrograman Visual, Politeknik Telkom, Bandung, 2009

Sang Tutor Delphier : Yugimage, M.Ber Perkenalkan saya Yugi Abdul Lathif sering dipanggil dengan sebutan “Mage”. Lahir di Jakarta, 11 April 1987. Semenjak lulus SMU pada tahun 2005, saya sangat bodoh dan tidak mengerti dunia komputer. Karena itulah pada tahun 2007 saya menuntut ilmu di STMIK Bani Saleh jurusan Teknik Komputer. Pada saat itulah saya memfokuskan diri untuk menggeluti dunia “Programming Delphi”. Kecintaan saya terhadap dunia “Programming Delphi” mengantarkan saya dengan profesi sebagai Freelance Professional Programmer Delphi. Banyak sudah aplikasi yang saya buat dan sudah diimplementasikan untuk kepentingan komersial, pembelajaran maupun individu. Tak hanya bidang “Programming Delphi”, Saya juga terbiasa menjinakkan bidang lainnya seperti : 1. Hardware Engineering (Robotika, Embedded System & Microcontroller) 2. Electronics Designer (CAD) 3. Programming Desktop (C,C++,Java,VB,VB.Net) 4. Programming Web (HTML, PHP,ASP,ASP.Net,Javascript) 5. Programming Mobile (Android & IOS) 6. Database Administrator (MySQL, SQL Server & Oracle). Beberapa project yang pernah saya kerjakan : 1. Sistem Parkir Prabayar Menggunakan RFID dan Delphi 2. SMS Controller Berbasis Atmega16 3. Peringatan Dini Tanah Longsor Menggunakan Mikrokontroler Atmega128 dan Delphi 4. Aplikasi Keamanan Rumah Berbasis Web, OpenWrt dan Arduino 5. Sistem Manufacturing Resource Planning (MRP) dengan Delphi XE5 (Project Perusahaan Industri Elektroplatting Di Cikarang) 6. Membangun Sistem Absensi Fingerprint Berbasis SMS Gateway (Project Pada Sekolah Lanjutan Tingkat Pertama Di Wilayah Cibitung) 7. Optimasi Perpanjangan Komunikasi Serial antara PLC dengan PC (Project Perusahaan Manufacturing Kertas Di Wilayah Bandung Timur) 8. Membangun Sistem Car Wash (Project Perusahaan Car Wash Di Wilayah Bintaro) 9. Etc Saat ini saya tergabung sebagai : 1. Anggota Forum Pencinta Alam Bekasi 2. Anggota Komunitas Eksperiment Dunia Mikrokontroler Bekasi 3. Anggota Komunitas Penggemar Programming Delphi Indonesia 4. Anggota Forum Delphi Indonesia 5. Mahasiswa STMIK Bani Saleh Jurusan Teknik Informatika 2013 - Sekarang Sebagai manusia yang masih belajar, saya sangat terbuka sekali untuk sharing dengan orang lain. Jadi jangan sungkan – sungkan untuk sharing dengan saya.

Modul Pemrograman Delphi 7.0.pdf

Gambar 1-1 - Flowcode IDE. Page 3 of 120. Modul Pemrograman Delphi 7.0.pdf. Modul Pemrograman Delphi 7.0.pdf. Open. Extract. Open with. Sign In.

7MB Sizes 24 Downloads 346 Views

Recommend Documents

modul-pemrograman-dasar.pdf
KD 3.6, 3.7, 4.6, 4.7 Operasi String dan Konversi Data. KD 3.8, 4.8, Pointer. KD 3.9, 3.10, 3.11, 3.12, 4.9, 4.10, 4.11, 4.12 Fungsi. KD 3.13, 3.14, 4.13, 4.14 ...

modul-pemrograman-dasar.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item.

PRAK. PEMROGRAMAN WEB - MODUL 10.pdf
Whoops! There was a problem loading this page. Retrying... PRAK. PEMROGRAMAN WEB - MODUL 10.pdf. PRAK. PEMROGRAMAN WEB - MODUL 10.pdf.

15. Modul Bahasa Pemrograman (Java).pdf
Page 1 of 62. Modul. Praktikum. ST-RK-1.16-082-007/R- Mahasiswa mengetahui konsep-konsep dasar dari bahasa pemrograman. dengan menggunakan java ...

pemrograman-web.pdf
... Kesenian Yogyakarta________________________________________________Rusfansyah. Page 3 of 68. pemrograman-web.pdf. pemrograman-web.pdf.

Descargar delphi 10 sz-delphi
descargar microsoft officeaccess 2007.descargar vlc media player gratis ... español pdf. ... descargar juegos gratis ios sin jailbreak.descargar gratisel virtual djen español ... celular gratis.descargar bbmparaios 6.descargar vlc player pro apk.

Teknik pemrograman Sem 2.pdf
Jl. Teluk Mandar, Arjosari Tromol Pos 5, Malang 65102, Telp. (0341) 491239, (0341) 495849,. Fax. (0341) 491342, Surel: [email protected], ...

24JAM Pintar Pemrograman Android.pdf
Your Testimoni here. Your Testimoni here. Your Testimoni here. Page 3 of 142. 24JAM Pintar Pemrograman Android.pdf. 24JAM Pintar Pemrograman Android.

MODUL INTERJAR.pdf
dan saran sangat kami harapkan demi pengembangan modul ini di masa yang akan datang. Depok, 05 November 2013. Penyusun. Page 2 of 32 ...

MODUL AKIDAH.pdf
õbÔi ́mŠÌÏ. @ @. ÝØ×. ðõbî ŠÐ3⁄4 âìØy. Mbßý ÝØ× aìèi ðb ŠÏ kuaë. @ @ bäîi å×a Ö†îm æa... tbßü. @ @[ 88 Z28 òía —–ÔÛa ñ‰ì a... æbߊϊi a. Žéflèuflë@Č ü g@ ÙčÛbflç@đõ@ófl'

Modul CCNA.pdf
Modem, termasuk interface voice-grade, channel service units/digital service units. (CSU/DSU) yang melayani interface T1/E1, dan Terminal Adapter/Network ...

Read Borland Delphi How-To: The Definitive Delphi ...
Read Borland Delphi How-To: The Definitive. Delphi Problem Solver Online Ebook. Download Borland Delphi How-To: The Definitive Delphi Problem Solver, Download Borland Delphi How-To: The Definitive Delphi Problem Solver PDF, Download Borland Delphi Ho

modul-blogspot.pdf
Karena kita membuat blog di blogspot, maka sebaiknya kita memiliki satu. alamat e-mail di gmail. Page 4 of 41. modul-blogspot.pdf. modul-blogspot.pdf. Open.

Modul CSS.PDF
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Modul CSS.PDF.

MODUL ORKOM.pdf
Memori berfungsi untuk menyimpan data dan program. Memori beraneka tipe. dari yang tercepat aksesnya sampai yang terlambat. Data Bus jalur-jalur ...

Modul Elektrodinamika.pdf
Di SMP, Anda pernah mempelajari konsep muatan listrik. Masih ingatkah. mengapa sebuah benda dapat bermuatan listrik? Dalam tinjauan mikroskopik,.

Delphi Connector_Catalog.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Delphi ...

Pemrograman Web - PHP & MySQL.pdf
Pemrograman Web - PHP & MySQL.pdf. Pemrograman Web - PHP & MySQL.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying Pemrograman Web ...

pemrograman c++ builder 11 Borland Database Engine.pdf ...
pemrograman c++ builder 11 Borland Database Engine.pdf. pemrograman c++ builder 11 Borland Database Engine.pdf. Open. Extract. Open with. Sign In.

Modul Mikrotik.pdf
Herika Hayurani, M.Kom. Sri Puji Utami A., M.T. PROGRAM STUDI TEKNIK INFORMATIKA. FAKULTAS TEKNOLOGI INFORMASI. UNIVERSITAS YARSI.

Modul Elektrodinamika.pdf
pompa sumber. energi. potensial rendah. (bak). elektron. Latief Foundation. 2 of 24. Page 3 of 25. Modul Elektrodinamika.pdf. Modul Elektrodinamika.pdf. Open.

Modul kelas XII.pdf
Mengetahui populer tentang. internet. • Mengetahui tentang kode etik. penulisan Email;. Page 3 of 44. Modul kelas XII.pdf. Modul kelas XII.pdf. Open. Extract.

MODUL PRAKTIKUM GIZI.pdf
karunia-Nya Modul Praktikum Analisis Bahan Makanan ini dapat kami susun. Modul praktikum ini disusun untuk memberikan gambaran dan panduan kepada.

Modul C++ Lengkap.pdf
Loading… Page 1. Whoops! There was a problem loading more pages. Retrying... Modul C++ Lengkap.pdf. Modul C++ Lengkap.pdf. Open. Extract. Open with. Sign In. Main menu.