Modul Delphi 7
Modul Delphi 7
Contoh = ketika kita menyalakan sebuah TV kita tidak tahu apa yang terjadi dengan proses dan percakapan antar alat yang berhubungan dengan TV tersebut sehingga mampu menampilkan sebuah gambar. Atau = ketika melakukan klik pada subuah object dalam suatu aplikasi program kita tidak tahu apa yang dilakukan program sehingga ditampilkan hasil yang sesuai. Catatan = dari dua contoh kasus tersebut terdapat kesamaan proses mengenai information hiding yang tidak diketahui oleh user sampai hasil ditampilkan. b.Inheritance atau penurunan Inherintance adalah sebuah object yang dapat diturunkan menjadi object yang baru dengan tidak menghilangkan sifat asli dari object tersebut. Contoh = TV merupakan salah satu media elektronik yang dgunakan untuk menampilkan gambar dengan tujuan untuk memberikan informasi kepada konsumen. Secara umum TV memunyai cara kerja yang sama dengan media elektronik yang lain dlam proses penyampaian informasi, tetapi mempunyai sifat yang unik yang dapat membedakan dengan media electronik yang ada. Atau = Dalam aplikasi program kita sering menggunakan command button, untuk beberapa perintah yang berbeda.
0.Polymorphism atau Polimorfisme Polymorphism merupakan penggunaan berbagai macam object yang berbeda tetapi secara fungsi bergantung pada satu object sebagai induk, dengan cara pelaksanaan yang berbeda beda.
Contoh = TV dan radio adalah media electronik yang mempunyai sistem yang sama tentang bagaimana meyebarkan suatu informasi, tetapi cara kerja dari masing masing sistem pasti berbeda. Atau Object Simpan dan Update adalah icon yang berasal dari induk yang sama yaitu , command button tetapi cara kerja tersebut berbeda beda.
1.3. Delphi dan OOP (Object Oriented Programming) Secara default ketika kita merancang suatu aplikasi program, mau tidak mua dan tanpa kita sadari bahwa kita telah menerapkan OOP, walupun secara teori kita kurang memahami OOP dalam arti yang sebenarnya.
Contoh sederhananya adalah ketika kita merancang suatu form (Tform1) baru, sadar atau tidak sebenarnya form yang kita aktifkan merupakan turunan dari Tform sebagai induknya atau ketika kita mengaktikan button pada form merupakan turunan dari tbutton.
Atau Contoh dalam bahasa program adalah sebagai berikut = ketika merancang suatu label di form secara otomatis delphi akan menuliskan label tersebut dalam jendela code editor tentang turunan dari label tersebut.
c. Bagian bagian dari Jendela Delphi 1.Object Tree View Merupakan sebuah diagram pohon yang menggambarkan hubungan logis menghubungkan semua komponen yang terdapat dalam suatu proyek program. Komponen tersebut meliputi form, modul atau frame. Fungsinya digunakan untuk menampilkan seluruh daftar komponen program dalm sebuah aplikasi program sesuai dengan penempatnnya.
Gambar 1.2 Jendela Object Tree View 2.Object Inspector Merupakan jendela yang digunakan utnuk mengatur tampilan komponen pada form, misal bagaimana mengubah tulisan button pada command button menjadi Simpan, atau menghapus tulisan pada label dan mengganti nama menjadi Nama Mahasiswa atau memberikan Gambar 1.3 Jendela Inspector (properties)
perintah tertentu pada sebuah komponen sehingga ada interaksi ketika program dijalankan.. Secara Umum Object Inspector terbagi menadi 2, yaitu = a. Properties Digunakan untuk mengatur tampilan pada sebuah komponen baik itu meliputi penggantian nama, warna, jenis huruf, border dan lain lain.
b. Events Merupakan jendela properties yang digunakan untuk memberikan fungsi yang lebih detail dari fungsi sebenarnya. Misalnya ketika tombol Simpan di klik maka program akan menjalankan perintah penyimpanan data. Dari kalimat tersebut ada Object Gambar 1.4. Jendela Events pada event clik untuk mengeksekusi sebuah tombol simpan. Perintah event clik tersebut dapat diberikan melalui jendela Inspector events.
3. Form Designer Merupakan tempat yang digunakan untuk merancang semua aplikasi program yang diambil dari komponen pallete.
4. Component Pallete Merupakan kumpulan icon yang digunakan untuk merancang suatu aplikasi pada untuk membentuk sebuah aplikasi user interface. Dalam komponen pallete semua icon dikelompokan dalam berbagai komponen sesuai dengan fungsi dan kegunaannya.
Fungsi Mengembalikan fungsi mouse ke defaultnya Membentuk suatu frame terhadap obyek yang ada didalamnya
Membuat menu Utama
5.Code Editor Bagian dari delphi yang digunakan untuk menuliskan kode program. Pada bagian code editor terdapat 3 bagian utama yaitu = bagian paling kir i yang berisi berupa angka menunjukan baris dan kolom. Keterangan modified menunjukan bahwa telah terjadi modifikasi terhapap baris program. Dan paling kanan menunjukan status keyboard tentang tombol insert atau over write.
Gambar 1.7 Jendela Code Editor 6.Code Explorer Jendela yang digunakan untuk menampilkan seluruh rountine yang didefinisikan pada sebuah unit. variabel , type, dan
7. Code Diagram Merupakan fasilitas pada delphi yang digunakan untuk mendesain sebuah diagram atas komponen komponen yang digunakan dalam seatu rancangan aplikasi.
Gambar 1.9. Jendela Code Diagram d. Proyek Delphi 1.File Proyek File ini disimpan dengan ber-ekstenion .dpr . File ini berisi informasi mengenai seluruh proyek program 2.File Unit File ini merupakan kumpulan dari barisan kode program yang terdapat di jendela code editor, baik itu yang dituliskan oleh progremmer maupun oleh system. Extention file ini adalah . pas File Unit dibagi menjadi 2 a.Bagian Interface Barisan ini dimulai dari kata Interface (setelah nama unit), berisi seluruh deklarasi variabel, tipe data object maupun deklarasi tambahan. b.Bagian Implementation Dimulai dari kata kunci implementation dan diakhiri dengan kata end. Fungsi digunakan untuk menuliskan kode program sebagai bagain dari interaksi antar komponen ataupun dengan user.
10
3. File Form Berisi tentang seluruh informasi yang ada kaitannya dengan form yang dibuat, meliputi tinggi, lebar, pososi form atau tentang komponen didalmnya. Penggunaan file ini tidak dianjurkan karena untu pengaturan sudah disediakan object inspector sebagai media pengaturan semua komponen. 1.5. Aplikasi Salam Kenal (LATIHAN 1) a.Hasil Program
11
d. Listing program 1. Ketika form dalam keadaan aktif maka form akan menampilkan nama dan alamat pembuat program procedure TForml.FormCreate(Sender: TObject); begin nama.Caption := 'Irnawan'; alamat.Caption := 'Jalan Bina Warga'; end; 2. Untuk keluar dari program user mengklik buton close procedure TForml.TcloseClick(Sender: TObject); begin close; end; end
.
praktek:= strtofloat(epraktek.Text); nil2:= 0.4 * praktek; ehpraktek.Text := floattostr(nil2); form2.ActiveControl := cmi; emurni.Text := floattostr(nill + nil2); if nill > 60 then egrade.Text := 'Lulus' else egrade.Text := 'Gagal' end; end;
2.3. Dasar umum merancang Program aplikasi berbasis visual a. Merancang tampilan program (user interface) hal ini meliputi = Form dan toolbox b. Desain properties. Hal ini digunakan untuk merubah tampilan icon yang asli toolbox agar sesuai dengan tampilan yang tampilan yang diinginkan. c. Jendela Code Editor , digunakan sebagai media komunikasi antar object pada form dengan system yang ada. 2.4. Mengenal Komponen label, edit & Button
Hanya untuk menampilkan Teks Untuk menampilkan dan input data (1 baris) Digunakan untuk melakukan eksekusi terhadap suatu proses
Symbol yang dikenal dalam delphi Symbol Keterangan + Penjumlahan Pengurangan * Perkalian / Pembagian Div Pembagian Integer Mod Sisa Pembagian Contoh B := 15 + 2; B := 15 div 2 B := 15/2 B := 15 * 2 B := 15 mod 2
hasil B = 17 B=7 B = 7,5 B = 30 B=1
Contoh A : = Aku; B := Bisa; C := A + B; Hasil C = Aku Bisa 2.5.4. Merancang Aplikasi Dengan Delphi a. Hasil ketika form dijalankan
b.Desain Form
Name
Caption Program pengenalan dasar operator delphi Nilai Praktek I Nilai Praktek II Nilai Perhitungan Hasil Hasil Hasil Hasil Text
-
Object Edit1 Edit2 Edit3 Edit4 Edit5 Edit6 Object Button 1 Button2 Button3 Button4 Button5
Name
Nil1 Nil2 Ehtambah ehkali Ehbagi ehkurang
1. Program Tambah Digunakan untuk menampilkan hasil penjumlahan antara nilai praktek 1 dengan nilai praktek II, cara double klik pada buton tambah dan tuliskan kode berikut ini = procedure TForm2.BtambahClick(Sender: TObject); var nill, nil2 : real; tambah: real; begin nill := strtofloat(enill.text); nil2 := strtofloat(enil2.text); tambah := nill + nil2; ehtambah.text := floattostr(tambah); end; Catatan Var
Var digunakan untuk mendeklarasikan suatu nama varibael yag dibuat oleh programmer yang berfungsi untuk menyimpan nilai atau data selama proses program berjalan.
Nil1,nil2 dan tambah adalah nama variabel baru yang dibentuk oleh progrmmer Real adalah nama dari sekeian banyak tipe data yang dikenal dalam bahasa peograman Delphi. Cakupan tipe data real adalah membaca bilangan angka dalam bentuk decimal.
Strtofloat adalah fungsi yang digunakan merubah nilai dari tipe data string menjadi tipe data numeric. Floattostr adalah fungsi yang digunakan merubah nilai pecahan menjadi data string. 2. Program untuk kali procedure TForm2.BkaliClick(Sender: TObject); var bill,bil2:real; kali : real; begin bill := strtofloat(enill.text); bil2 := strtofloat(enil2.text); kali := bill*bil2; ehkali.text := floattostr(kali); {ehkali.text := inttostr(strtoint(enill.text) strtoint(enil2.text));} end; 3 Program untuk bagi procedure TForm2.BbagiClick(Sender: TObject); var bill,bil2 : real; bagi : real; begin bill := strtofloat(enill.Text); bil2 := strtofloat(enil2.Text); bagi := bill/bil2; ehbagi.Text := floattostr(bagi); end; 4. Program untuk kurang procedure TForm2.BkurangClick(Sender: TObject); var bill,bil2,kurang : real; begin bill := strtofloat(enill.Text);
bil2 := strtofloat(enil2.Text); kurang := bill - bil2; ekurang.Text := floattostr(kurang); end; 5. Program untuk keluar procedure TForm2.bcloseClick(Sender: TObject); begin messageblg('Ingin Menutup form',mterror, [mbok],0); close; end; Catatan Messagedlg adalah penggalan program yang digunakan untuk menampilkan kotak pesan. Close digunakan untuk menutup form. 2.5.5. Latihan Program Pembayaran a.Form setelah dijalankan
Catatan : 1. Untuk Menambah Form Baru pilih dan klik icon New Form 2. Untuk Mengaktifkan Form Yang Pernah Dibuat adalah pilih dan klik Form
3.
View
, pada jendela View Form pilih form yang ingin diaktifkan dan klik OK Untuk Menjalankan Form yang diinginkan dari beberapa form yang telah dibuat adalah dengan cara pilh Project| option. Pada combo Project Option, pilih dan klik form yang diingikan dengan mengaktifkan Combo Main form. Setelah selesai klik OK. Untuk menyimpan semua project pilih dan klik
0.
Save All.
BAB III Percabangan dan Mengenal Object II (combo box, radio button)
3.1. Operator Percabangan
percabangan adalah merupakan operator yang digunakan untuk menentukan pilihan terhadap beberapa pilihan yang ada. Dalam bahasa pemograman Delphi mengenal dua operator per cabangan
3.1.1. Percabangan If
merupakan operator percabangan yang digunakan untuk menentukan pilihan atas beberapa kondisi yang merupakan syarat terhadap pilihan yang sudah ditentukan.
Bentuk Umum If Syarat then hasil; Contoh If Nilai > 80 then keterangan = Lulus; b.Percabangan untuk kondisi majemuk
Merupakan operator percabangan yang digunakan untuk menentukan pilihan dengan kondisi yang harus dipeuhi lebih dari satu.
Bentuk Umum If Syarat1 then Hasil 1 Else If syarat2 then Hasil2 Else ................ ...............
end; Contoh If nilai > 80 then Grade = A Else if nilai > 70 then grade = B else if nilai > 60 then grade = C else grade = E; 3.1.3. Percabangan case case of adalah merupakan metode lain dari sebuah percabangan, berfungsi sama seperti fungsi if yaitu untuk melakukan seleksi atas beberapa pilihan dengan kondisi sebagai syarat yang harus terpenuhi. Secara fungsi scee dan if tidak ada perbedaan tetapi untuk penulisan fungsi case lebih mudah diterapkn untuk pilihan atau kondisi lebih dari satu. Bentuk Umum fungsi Sace OF Case <variabel> of <pilihan ke 1> ; hasil 1; <pilihan ke 2>; hasil2; <pilihan ke 3>;hasil3;
<pilihan ke n>; hasiln;
end;
atau fungsi case of bisa juga diberikan else untuk piliahn terakhir.
Bentuk Umum Case <variabel> of <pilihan ke 1> ; hasil 1; <pilihan ke 2>; hasil2; <pilihan ke 3>;hasil3; else hasiln; end;
Contoh Case Bilangan of 1 :showmessage(Angka 1); 2:showmessage( Angka 2); 3:showmessage( A ngka 3); end; 3.2. Mengenal Object II (combo box, list box dan radio button) Digunakan untuk menentukan Checkbox 1 pilihan lebih dari satu Digunakan untuk menentukan pilhan, tetapi hanya satu pilhan Radio Button 2 yang bisa digunakan Menmpilkan pilihan dalam List Box 3 bentuk list Combo Box Menampilkan pilihan dalam 4
b.Desian Form
Gambar 3.2. Desain Form Gaji c.Desain Properties Object Label 1 Label 2 Label 3 Label 4 Label5 GroupBox RadioButton1 RadioButton2 Object Name
Label1 Label2 Label3 Label4 Label5 GroupBox1 Rtetap Rhonorer Name
Caption Nama Pegawai Jabatan Gaji Pokok Tunjangan Status Gaji Bersih Status Tetap Honorer Text
Name
Btotal Blagi Bclose
d. Listing Program
> Memberikan pilihan pada combo box sesuai dengan piihan pada
jabatan Dengan Menggunakan Object Properties
Langkah langkahnya 1. aktifkan combo box yang akan dipilih 2. pada properties pilih dan klik item, lalu klik command (...) 0.Pada jendela String list Editor , Seperti terlihat pada jendela berikut
0. Ketikan kata sebagai kata pilihan pada jendela seperti contoh tersebut diatas. 3. Setelah selesai klik OK
4.
Melalui jendela code editor Double click pada form, sebarang tempat dan ketikan program berikut ini. procedure TForm1.FormCreate(Sender: TObject); begin cjabatan.Items.Add(' birektur ' ); cjabatan.Items.Add(' Manager' ); cjabatan.Items.A dd(' Karyawan' ); end;
1. Aktifkan combo box untuk jabatan 2. Pada pada jendela properties pilih event, 3. pilih dan aktifkan onclick, Seperti yang terlihat seperti gambar berikut ini.
procedure TForm3.cjabatanClick(Sender: TObject); begin if cjabatan.Text = ' birektur' then epokok.Text := ' 5000000' else if cjabatan.Text = 'Manager' then epokok.Text := '2000000' else if cjabatan.Text = ' Karyawan' then epokok.Text := '1000000' else epokok.Text := '0' end;
Program menghitung Tunjangan Karyawan Tetap Double click pada option tetap dan ketikan program berikut ini procedure TForm3.etetapClick(Sender: TObject); begin if etetap.Checked = true then a := strtofloat(epokok.Text); hasil :=a*0.3; etunjangan.Text := floattostr(hasil) e end; Program menghitung Tunjangan Karyawan Honorer Double click pada option honorer dan ketikan program berikut ini procedure TForm3.rhonorerClick(Sender: TObject); begin if rhonorer.Checked = true then a := strtofloat(epokok.Text); hasil :=a*0.1; etunjangan.Text := floattostr(hasil) e end; Program menghitung Gaji Bersih Double click pada command total gaji, dan ketikan program berikut ini : procedure TForm3.btotalClick(Sender: TObject); begin a := strtofloat(epokok.Text); b := strtofloat(etunjangan.Text); c := a+b; ebersih.Text := floattostr(c); end;
Double click pada Isi Data Lagi, dan ketikan program berikut ini
procedure TForm3.blagiClick(Sender: TObject); begin cjabatan.Text := 'Jabatan'; enama.Text := ' '; ebersih.Text := '0'; etunjangan.Text := '0'; epokok.Text := '0'; etetap.Checked := false; rhonorer.Checked := false; end;
Gambar 3.4 Form Penilaian Siswa Ketentuan Pencarian Biaya 1. Nilai murni didapat dari penjumlahan (nilai Prkatek * 60%) ditambah (Nilai Teori * 40 %). 2. Keterangan = Gagal jika nilai murni < 60 dan dinyatakan lulus jika nilai murni >= 60 3. Biaya perjurusan diperoleh dari dua pilihan jurusan yang ada: 1.jika pilhan MI maka biayanya = 250000 2.jika pilihan TK maka biaya = 300000 4. Pilihan Biaya Waktu Ujian diperoleh dari 2 waktu kuliah yang ada. Jika pilihan pagi maka biaya kuliah = 50000, 1000000 untuk biaya kuliah malam. 5. Total biaya diperoleh dari penjumlahan Semua jurusan ditambah biaya waktu kuliah. 6. Isi data lagi untuk mengulang input data 7. close untuk mentup program.
c. Pemanggilan Prosedur Pemanggilan prosedur terdapat dalam bagian implementation, pada umumnya pemanggilan prosedur terdapat dalam suatu ruang lingkup object yang mempunyai sebuah event. Cara pemenggilannya cukup hanya dituliskan nama prosedurnya saj a. Procedure.TForm1.button1click(sender: Tobject); Begin Bersih; End; atau ketika program prosedur digunakan pada object yang lain untuk memanggil program yang sama kita hanya cukup menuliskan nama prosedurnya tanpa dibutuhkan pendeklarasian prosedur baru. Procedure TForm1.enamakeypress(sender: Tobject; var key:char); Begin If key = #13 then Bersih; End;
4.2. Perulangan Merupakan control program yang digunakan untuk suatu proses yang akan berjalan terus menerus. Kondisi perulangan merupakan proses berjalannya program secara terus menerus dan akan berhenti ketika proses mendapatkan kondisi yang sudah ditentukan. Di dalam Delphi mengenal 3 jenis perulangan a. Perulangan For To - Do Perulangan dengan statement for adalah perulangan yang digunakan untuk melakukan suatu proses dalam sebuah blok program. Proses perulangan For To Do dimulai dengan nilai terkecil ke besar. Bentuk Umum For variabel := nilai awal to nilaiakhir statement Catatan : semua variabel yang berhubungan dengan perulangan harus mempunyai tipe data sama.
Contoh
procedure TForm4.Button1Click(Sender: TObject); var i: integer; begin for i := 1 to 5 do editl.SelText := inttostr(i); end; end. Bila Program tesebut dijalankan maka nilai i akan ditampilkan pada edit 1 dengan hasil sebagai berikut =
b. Perulangan For DownTo-Do Perulangan For-Dowbto-Do adalah perulangan yang mengihutng suatu proses dengan nilai awal besar dan nilai akhinya lebih kecil, maka variabel sebagai control program yang diperoleh adalah dari besar ke kecil. Bentuk Umum For Variabel := nilai-awal Downto Nilai-akhir Do Pernyataan Contoh procedure TForm4.Button2Click(Sender: TObject); var i : integer; begin for i := 5 bownto 1 do edit2.SelText := inttostr(i); end; Bila program tersebut dijalankan maka hasil yang diperoleh adalah sebagai berikut ;
c.Perulangan While Do Perulangan While Do adalah statement perulangan akan terus melakukan suatu proses selama kondisi/syarat yang ditentukan bernilai benar. Bentuk Umum Statement While Variabel Syarat Do Pernyataan Contoh procedure TForrn4.Button3Click(Sender: TObject); var i : integer; begin i := 0; while i < 5 do begin edit3.5elText := inttostr(i); i := i + 1; end; end; Bila program tersebut dijalankan maka hasil yang akan diperoleh adalah sebagai berikut :
0.Perulangan Repeat Until Perulangan repeat until digunakan untuk mengulang suatu kondisi sampai (until) kondisi bernilai salah. Bentuk Umum
Contoh procedure TForrn4.Button4Click(Sender: TObject); var i : integer; begi n i := 1; repeat i := i + 2; edit4.5elText := inttostr(i); until i = 15; end; Bila program tersebut dijalankan maka akan diperoleh hasil sebagai berikut :
Gambar 4.2 Desain Form Penjualan c. Desain Properties Object Label 1 Label 2 Label 3 Label 4 GroupBox1 GroupBox2 Groupbox3 Command 1 Command2 Command3 Object Edit 1 Edit2 Edit3 Edit4 ListBox1 Listbox2 Caption Total Item yang dibeli Tanggal NO Faktur Total Penjualan Data Penjualan Daftar Nama Barang Yang Debeli Daftar Harga Barang OK Isi Data Lagi Close Text
-
Name Label1 Label2 Label3 Label4 Groupbox1 Groupbox2 Groupbox3 Cmdok Cmdlagi cmdclose Name
eitem enofaktur etgl Etotal lnama lharga
d. Listing Program Program untuk menampilkan tanggal secara otomatis ketika form dijalankan procedure TForm5.FormCreate(Sender: TObject); begin bateSeparator := '-'; ShortbateFormat := 'mm/dd/yyyy'; etanggal.Text := 'Hari ini' + bateToStr(bate); end; Program command OK procedure TForm5.bokClick(Sender: TObject); var inputnama : string; inputharga : string; i : integer; j : integer; harga : real; begin harga := 0; j := 0; j:= strtoint(eitem.Text); if j <= 0 then begin showmessage('bata Tidak boleh lebih kecil dari Nol'); exit; end else begin for i := 1 to j do begin inputnama := inputbox('INput','Ketikan Nama Barang',''); inputharga := inputbox('INput','Ketikan Harga Barang',''); lnama.Items.Add(inputnama) ; lharga.$tems.Add(inputharga); harga := harga + strtofloat(inputharga); end; end;
etotal.Text := floattostr(harga); end; Program Untuk Isi Data Lagi procedure TForm5.clagiClick(Sender: TObject); begin eitem.Text :=''; enofaktur.Text := ''; lnama.Clear; lharga.Clear; etotal.Text :=''; end; Program Untuk Menutup Form Close; 4.5. Aplikasi Konversi Suhu a.hasil yang Diinginkan
b. Ketentuan Program
1. Batas Awal dan Batas akhir diberikan untuk mengetahui nilai awal dan akhir derajat celcius yang ingin cetak.
2. 3. 4.
Penambahan diberikan untuk memberikan penambahan dari nilai awal untuk mencapai nilai akhir. Close adalah untuk keluar dari program Rumus Mencari Fahrenheit adalah = 1.8*Celcius+32
BAB V FUNGSI
5.1 Pengertian Fungsi
Pengertian secara umum mengenai fungsi adalah merupakan sebuah penggalan program yang terpisah dari program utama dan berfungsi sebagai sebuah program bagian dari program utama. Penulisan fungsi diawali dengan kata cadangan function dan dideklarasikan dalam bagian deklarasi fungsi. Dan penulisan program fungsi ditempatkan pada program utama. Satu ha yang perlu diperhatikan dalam penulisan fungsi adalah harus diikuti dengan tipe datanya.
b.Desain Form
0.Listing Program Dengan Fungsi function hitung(var a,b : integer): integer; begin hitung := a+b; end; procedure TForm10.bjumlahClick(Sender: TObject); var x,y : integer; c : integer; begin x := strtoint(enill.Text); y := strtoint(enil2.Text); c:= hitung(x,y); ehasil.Text := inttostr(c); end; Didalam program utama tidak ditempatkan rumus untuk menghitung penjumlahan tetapi ketika dilakukan eksekusi terhadap program dan kita melakukan input nilai 1 dan 2 dan kita klik jumlah maka akan ditampilkan hasil yang diinginkan. Hasil itu diperoleh dari pengiriman nilai dari teks ke nilai pada variabel deprogram utama (x := strtoint(enil1.Text);y := strtoint(enil2.Text);). Selanjutnya nilai pada variabel deprogram utama dikirim ke fungsi hitung untuk mendapat hasil penjumlahan (c:= hitung(x,y);).
0. Desain Form
c. Desain Properties Object Label 1 Label 2 Label 3 Label 4 Label5 Label6 GroupB ox 1 Edit1 Edit2 Edit3 Edit4 Edit5 Edit6 Button1 Button2 Button3 d. Listing Program Caption/Text Nama Peminjam Jumlah Uang Pinjam Tingkat Bunga (dalam %) Lama Pinjam Besarnya Uang Yang Dikembalikan Cicilan Uang Setiap Bulan Rincian Nama Anggota Total Bersih Close Name Label1 Label2 Label3 Label4 Harus Label5 Label6 Groupbox 1 Epeminjam Epinjam Ebunga Elama Ekembalian Ecicil Btotal Bbersih bclose
d := bunga(a,b,c); ekembalian.Text := floattostr(d); ekembalian.Text := formatfloat(I#.###,0I,d); e := d/c; ecicil.Text := floattostr(e); ecicil.Text := formatfloat(I#.###,0I,e); end;
BAB VI ARRAY
6.1. Pengertian Array
Array (larik) merupakan tipe data tersetruktur dimana didalamnya terdiri dari komponen komponen yang mempunyai tipe data yang sama. Didalam suatu array jumlah komponen banyaknya adalah tetap. Didalam suatu larik atau array setiap kompoenen ditunjukan oleh suatu index yang unik. Index dari setiap komponen array menunjukan urutan data atau identitas yang mewakili data yang ada didalamnya. Logika sederhananya array itu bisa disamakan dengan dua orang dengan nama yang sama didalam suatu komunitas, untuk membedakan antara nama yang satu atau dengan nama yang lain maka diberikan initial tambahan untuk setiap nama.
Contoh :
Var A : array[ 1. .4] of integer; B : array[1..5] of string; C: array[1..10] of real;
Keterangnan : A,B,C merupakan tanda pengenal/ nama variabel dari array; 1. .4 : merupakan tipe indek dari array, yang menunjukan banyaknya data yang mampu disimpan. Integer : menunjukan bahwa data yang diinput berupa bilangan bulat. 6.3. Alokasi Penggunaan Array a. Array Static ( Static Array)
array static adalah model pendeklarasian array dimana tipe data yang digunakan mempunyai nilai yang tetap. Nilai yang digunakan untuk menentukan jangkauan pada umumnya bernilai integer. Array Static juga bisa disebut Array dengan deklarasi tipe indeks subrange integer.
Bentuk Umum
array[indexType1, ..., indexTypen] of baseType Keterangan = index type menunjukan tipe data ordinal yang menunjukan batasan atau elemen maksimul terhadap seberapa besar variabel tersebut menyimpan komponen.
Contoh
Var arrayku : array[1..5] of char
Atau juga type jangkauan = 1..5; var nilai : array[jangkauan] of integer; b. Array Dinamis ( Dynamic arrays)
Larik atau array dinamis merupakan array yang tidak mempunyai suatu jangkauan atau ukuran yang tetap. Tetapi ketika program dijalankan maka memori untuk suatu array dinamis direalokasikan ketika kita menugaskan suatu nilai kepada array. Dynamic-Array jenis ditandai oleh konstruksi (menyangkut) format
Bentuk Umum
array of baseType
Contoh
var nilai: array of Real; Dari deklarasi tersebut nilai yang merupakan deklarasi array belum memperoleh nilai yang tetap, tetapi hanya diberikan batasan sebagai tipe data real. Untuk mendeklarasikan array tersebut kita harus menempatkan array didalam suatu memori, caranya adalah dengan memanfaatkan fungsi dari perintah sellength. Selllength (nilai,20) Dari penggalan program tersebut nilai untuk array nilai tersebut mempunyai range sebanyak atau cakupan 20 untuk tipe data real, dengan indeex dimulai dari 0 sampai dengan 20.
6.4. Studi Kasus program dengan Array a.Hasil ketika form Dijalankan
Gambar 5.1 Form Konversi Tanggal b.Desain Properties Object Caption/Text Label 1 Tanggal Label 2 Bulan Label 3 Tahun Label 4 Hari Pada Tanggal tersebut Adalah GroupBox 1 Entry Tanggal Edit1 Edit2 Edit3 Edit4 Command1 OK c.Listing Program Program untuk Command OK procedure TForm12.bhariClick(Sender: TObject); type x= string[7]; const faktorbln : array[1..12] of byte = (0,3,3,6,1,4,6,2,5,0,3,5); hari : array[0..8] of Name Label1 Label2 Label3 Label4 Groupbox 1 Etgl Ebln Etahun Ehari bok
x=(' Minggu' ,' Senin' ,' Selasa' ,'' ,' Rabu' ,' Karnis' ,' ' ,' Jurn' ' at' ,' Sabtu' ); var hr : string; narna : string[255]; j1,j2,j3,j4 : integer; tanggal,bulan,tahun : integer; begin tanggal := strtoint(etgl.Text); bulan := strtoint(ebln.Text); tahun := strtoint(ethn.Text); if tahun > 1900 then tahun := tahun - 1900; j1 := trunc(tahun * 365.25); j2 := j1 + faktorbln[bulan]; if (tahun/4 = int(tahun/4)) and (bulan < 3) then j2 := j2-1; j3 := j2 + tanggal; j4 := trunc(frac(j3/7) * 10); hr := Hari[j4]; ehari.Text := hr; end;
a.Model Penulisan
var nama : string[20]; saya : string[15]; namasaya : string[50]; Begin Nama := Nama Saya adalah = ; Saya : = Irnawan; Namasaya : = nama+ +saya; Ehasil.text : = namasaya; End.
Gambar 7.2 Desain Form Penggabungan String Desain Properties Object Label 1 Label 2 Label 3 Label 4 Edit1 Edit2 Edit3 Edit4 Button1 Caption/Text Nama Depan Nama Tengah Nama Akhir Nama Lengkap Gabung Name Label1 Label2 Label3 Label4 Edepan Etengah Eakhir Egabung bgabung
Listing Program procedure TForm13.bgabungClick(Sender: TObject); var depan : string[20]; tengah : string[20]; akhir : string[20]; gabung : string[80]; begin depan := edepan.Text ; tengah := etengah.Text; akhir := eakhir.Text;
gabung := depan+' '+tengah+' '+akhir; elengkap.Text := gabung; end; 7.2. Menghapus Teks Prosedur standart ini digunakan untuk menghapus atau mengurangi sebagian atau seluruh karakter terhadap string atau teks. Bentuk umum penulisan Delete(teks, index, jumlah) Delete adalah prosedur standart yang digunakan untuk menghapus teks. Teks merupakan kalimat atau string yang akan dihapau, Index menunjukan posisi awal yang akan dihapus. Jumlah menunjukan jumlah karakter yang akan dihapus. Contoh a. Hasil Setelah Form Dijalankan
Desain Form
Gambar 7.4 Desain Form Hapus teks c.Desain Properties Object Caption/Text Label 1 Nama Anda Label 2 Ketikan urutan mulai penghapusan Label 3 Jumlah Karakter yang dihapus Label 4 Nama Sesudah dihapus Edit1 Edit2 Edit3 Edit4 Button1 OK Button2 Close Group Box 1 Rincian Nama Yang Ingin Dihapus Name Label1 Label2 Label3 Label4 Enama Eurut Ejumlah Ehasil bOK Bclose Group box 1
d. Listing Program
Desain Form
begin karakter: = enama.Text; pos := strtoint(eurut.Text); jumlah := strtoint(ejumlah.Text); belete(karakter,pos,jumlah); ehasil.Text := karakter; end;
Program untuk keluar dari form
procedure TForm9.bcloseClick(Sender: TObject); begin close; end; 7.3. Mencari Panjang teks (length)
fungsi ini digunakan untuk menghitung panjang atau jumlah karakter dari suatu teks atau kalimat. Dalam menghitung jumlah karakter dalam suatu teks spasi akan dibaca sebagai satu karakter. Sebagai catatan hasil yang diperoleh dari perhitungan adalah bilangan bulat positif.
Bentuk Umum
Length(teks)
Gambar 7.6 Desain Form Panjang String 0.Desain properties Object Caption/Text Label 1 Operasi Standart Length Label 2 Nama Anda Label 3 Panjang Karakter dari Nama Anda Edit1 Edit2 Button1 OK Button2 Close Name Label1 Label2 Label3 Enama Ehasil bOK Bclose
0.Listing Program
pencarian panjang karakter procedure TForm8.bokClick(Sender: TObject); var nama:string; begin nama := enama.Text ; ehasil.Text := inttostr(length(nama)); end; Program Untuk menutup Form procedure TForm8.bcloseClick(Sender: TObject); begin
Desain Properties
Object Label 1 Label 2 Label 3 Label4 Edit1 Edit2 Edit3 Button1 Button2
Caption/Text Operasi Standart Pos Kata Awal Huruf yang Dicari Huruf tersebut ada diposisi ke........ OK Close
a.Listing Program
Program untuk
eksekusi perintah pencarian procedure TForti7.bokClick(Sender: TObject); var karakter : string; kar : string; hasil : integer; begin karakter:= eawal.Text; kar:= ecari.Text; hasil := pos(kar,karakter); ehasil.Text := inttostr(hasil); end; Program Untuk menutup Form procedure TFortig.bcloseClick(Sender: TObject); begin close; end; end.
Desain Properties
Object Label 1 Label 2 Label 3 Label4 Edit1 Edit2 Edit3 Button1 Button2
Caption/Text Operasi Copy Teks Kata Awal Hasil Copy 1 Hasil Copy 2 OK Close
Name Label1 Label2 Label3 Label4 eawal Ehasil1 Ehasil2 bOK Bclose
Program untuk
procedure TForm6.bokClick(Sender: TObject); var karakter:string; begin karakter := eawal.Text; ehasil1.Text := copy(karakter,5,3); ehasil2.Text := copy(karakter,3,10) end; Program untuk menutup Form procedure TForm6.bcloseClick(Sender: TObject); begi n close ; end; 7.6. Konversi Karakter ke Ascii (Chr) Fungsi ini digunakan untuk mengkonversi Kode Acsii menjadi nilai karakter atau huruf. Bentuk Umum Chr(karakter);
Gambar 7.12 Desain Form Konversi ASCII c.Desain properties Object Label 1 Label 2
Edit 1 Edit2 Button 1 Groupbox1
Caption/Text Ketikan angka dari kode ASCII Karakter dari kode Ascii tersebut adalah OK Konversi dari Angka ke huruf
Name
Label1 Label2 eangka ehuruf bOK Groupbox1
d. Listing Program procedure TFormll.bokClick(Sender: TObject); var angka : integer; begin angka:= strtoint(eangka.Text); ehuruf.Text := chr(angka); end;
a.Melalui Icon Start - Klik start | Pilih programs | Pilih Borland Delphi | Klik Data Base Dekstop b.Melalui IDE Delphi
- Pilih dan klik Menu Tools | pilih dan klik Database Dekstop
Gambar 8.3 Gambar Desain Tabel Penjelasan Untuk Struktur tabel Field Name = digunakan untuk menuliskan nama field
> Unik dan mudah diingat > Diawali dengan Karakter > Tidak diperbolehkan penulisan dengan tanda baca (! , . ? / + & % # @) > Untuk field dengan dua kata atau lebih dihubungkan dengan Undecsare ( _ )
Type = Digunakan untuk menentukan tipe data pada Field
Type Data yang Dikenal Pada Paradox adalah
> Alpha
= tipe data yang menampung semua karakter baik berupa huruf, angka maupun tanda baca. = tipe data yang menampung angka (numeric), jangkauannya mempunyai range untuk bilangan negative dan bilangan positif, (-10307 sampai dengan 10308). Dengan digit maksimal adalah 15 digit.
> Number
= Tipe data yang hanya untuk angka. Sama seperti dengan Tipe Data Number hanya berbeda pada jangkauan. Pada tipe data number tidak mengenal dedsimal, tipe data money mengenal adanya decimal dan format mata uang. Short = tipe data angka yang hanya mempunyai jangkauan -32,767 to 32,767 Long Integer = Sama seperti tipe data integer dengan jangkauan lebih luas (2147483648 to 2147483647 ) Date = Tipe Data untuk tanggal (1 Januari 9999 BC to 31 Desember 9999 AD). Time = Tipe Data yang digunakan untuk setup waktu. Memo = Tipe Data untuk semua unit karakter dengan jangkauan 1 sampai dengan 240 karakter. Graphic = Tipe Data untuk gambar. (..BMP, .PCX, .TIF, .GIF, and .EPS file formats). Logical = Tipe data yang hanya mengenal benar atau salah (Yes or No).
Size
Catatan : Size yang kompatibel untuk diganti hanya tipe data Alpha dan memo.
Key
= Digunakan untuk menentukan kunci utama (primary key) space bar atau double klik pada
Catatan = untuk memberikan primary key cukup ditekan field yang akan dibuat sebagai key ( ditandai dengan *)
Misal = Buatlah Struktur tabel untuk tabel Mahasiswa seperti berikut ini
Size 5 30 *
Key
Dari tampilan tersebut diatas ada beberapa hal yang bisa kita lakukan a.Kembali ke Struktur Tabel
Langkahnya = Dari jendela tersebut klik icon
restructure
b.Mengisi Data Langkahnya = Dari Jendela tersebut diatas klik icon 8.6. Membuat Index (secondary Index)
Edit Data
Index digunakan sebagai kunci untuk pencarian data ataupun digunakan untuk mengurutan data pada tabel. Didalam satu tabel diperkenankan menggunakan lebih dari satu index secondary.
Langkahnya
> Aktifkn tabel barang > Dari DBD pilih table | restructure atau icon Restructure > Klik combo table properties dan pilih Secondary Index > Klik tombol Define
> Pilih dan klik field yang akan dijadikan secondary index (Misal nama barang) > Klik tanda panah kekanan sehingga akan ditampilkan seperti gambar berikut
K Klik OK untuk mengakhiri pembuatan Secondary index Berikan nama index (missal Nm_barang) ketika ditampilkan jendela sebagai berikut
Klik Ok untuk menutup form Save index dan kembali ke menu table barang, seperti berikut :
Catatan : Secondary Index dalam satu tabel boleh lebih dari satu dan yang perlu diingat dalam pemberian nama index tidak boleh sama dengan nama field.
> Aktifkan database Dekstop | buka tabel barang > Pada tamilan data pilih dan klik edit Data > Isi Data Sebagai Berikut :
Kdbarang A0000 A0001 A0002 A0003 A0004 A0006 Nama Barang Mie Goreng Raya Sapi Mie Goreng Rasa Baso Indomie Rebus rasa Soto Mie Rasa Kari Ayam Biore Roti tawar Harga Beli 2.000,00 1.500,00 2.100,00 1.600,00 4.500,00 6.000,00 Harga Jual 2.200,00 1.600,00 2.300,00 1.700,00 5.000,00 6.500,00
Kdpemasok
Stok 2 25 34 36 56 56
Dengan Alias
Pemanggilan program dengan alias kita tinggal panggil nama Alias baru kita tuliskan nama tabel. Dengan alias tidak mengenal penggunaan folder yang bertumpuk, karena Alias ditempatkan pada system Sistem Operasi Langkah - langkahnya 1.Dari jendela Data base desktop pilih tools 2.pilih dan klik alias manager, perhatikan tampilan jendela Alias manager
3. Pada Jendela Alias Manger pilih dan klik New 4. Ketikan nama alias pada database alias, misal toko 5. Pada Database Type pilih Standard 6. Pada jendela path ketikan path tempat penyimpanan field tabel atau klik browse untuk pencarian secara otomatis. 7. Klik OK 8. Jika Yes jika muncul tampilan sebagai berikut
0. Jika tidak tampil Public Aliases Have Changed berarti pada kesalahan dalam menuliskan path pada jendela Alias Manager. Catatan = dalam pembuatan nama alias cukup dibuat satu kali untuk satu project program, walaupun ada penambahan tabel setelah pembuatan Alias karena fungsi Alias sama seperti fungsi dari database. 8.9. Latihan Tambahkan tabel baru dan simpan pada folder yang sama dengan nama = Pemasok Struktur Tabel Field Kdpemasok Nmpemasok Almpemasok Ktpemasok Tlppemasok Tipe Data Alpha Alpha Alpha Alpha Alpha Size 5 30 50 20 10 * Key
Ketentuan Lain = 1. Buat Secondary Indeks untuk field nmpemasok dengan nama indek = nama dan ktpemasok dengan nama indeks = kota 2. Isi Data pemasok dengan data sebagai berikut
Kdpemasok nmpemasok Almpemasok Ktpemasok Jakarta Tlppemasok
PT Wahana Kencana Pt Kencana Abadi PT Makmur Sejahtera PT Abadi Raya PT Cinta Abadi PT Mutiara Makmur
Jalan Bangka no 14 Jalan Bekasi Raya No 45 Jalan Raya Cibubur no 56 Jalan Bandung No 35 Jalan Lenteng Agung NO 62 Jalan Jaksa NO 53
021-736666 02 1-450000
Bandung
021-888888
Bandung Jakarta Jakarta Jakarta
SQL adalah bahasa standar untuk query yang difungsikan untuk memanipulasi suatu data pada Database. Hal itu meluputi DDL (Data Definition Language) meliputi pembuatan Data Base ataupun pembuatan tabel dan DML (Data Manipulation Language) meliputi perintah perintah standar query. 9.2. Dasar Dasar mengenai Metode SQL 9.2.1. DDL ( Data Defenition Language) a. Membuat Tabel Pembuatan tabel dengan perintah SQL dapat dilakukan dengan perintah Create diikuti dengan nama tabel dan field yang dibutuhkan Bentuk Umum Create table nama_tabel ( Nm_filed1 tipedata1, Nm_field2 tipedata2, nm_fieldN tipedataN ); Contoh Create table barang ( Kdbarang varchar(5) not null primary key, Nmbarang varchar(15) ); 9.2.2. DML ( Data Manipulation Language) a. Metode Select Metode Select digunakan untuk menampikan dan memilih suatu data dengan kondisi ataupun syarat yang sudah ditentukan dari satu atau beberapa tabel sekaligus dalam satu data base.
Contoh
Bentuk Umum
Select * From barang where hargabeli < = 2000 and Stok >= 5
Adalah menampilkan seluruh data pada tabel barang untuk harga beli dibawah atau sama dengan 2000 dan Stok diatas sama dengan 5.
Bentuk Umum
Bentuk Umum
d.Fungsi Angregasi
Fungsi Agregasi adalah fungsi matematika yang digunakan bersamaan dengan perintah Select. Berbagai macam agregasi yang digunakan bersamaan dengan peritah Select
Kegunaan Untuk memperoleh jumlah record hasil Query Untuk memperoleh total nilai dari suatu field Untuk memperoleh nilai rata rata Untuk memperoleh nilai terbesar Untuk memperoleh nilai terkecil
Select Fungsi_agregasi (namajield) From nama_tabel Contoh Select Sum( stok) From barang e.Query Untuk banyak Tabel
Adalah fungsi Query yang digunakan untuk menampilkan lebih dari satu tabel
Bentuk Umum Select index1. daftar_field_tabel1, index2.daftarjield_tabel2 tabel2 index2 Where index2. tabel1 = index1.tabel2
Atau
Select Distinct tabel1.daftar_field, tabel2.Daftarjield From tabel1, tabel2 Where tabel1.nama_field = tabel2.namajield Contoh Select Distinct barang. nmba rang, barang.harga_bel, pemasok.nmpemasok, pemasok.alamat From Pemasok, barang Where bar an g.kdpemas ok = pemasok.kdpemasok.
Perintah tersebut akan menampilkan nama barang dari tabel barang, harga beli dari tabel barang, nama pemasok dari tabel pemasok, dan alamat dari tabel pemasok dari tabel pemasok dan tabel barang dengan kondisi dimana kdpemasok di tabel barang sama dengan kode pemasok pada tabel pemasok.
f. Manipulasi Data
Perintah SQL yang digunakan untuk memanipulasi data pada sebuah tabel. Hal ini meliputi = menambah data, mengedit data ataupun menghapus data. Ada tiga perintah yang sering digunakan untuk perintah SQl dalam hal memanipulasi Data
1.Insert
Perintah SQl yang digunakan untuk menambahkan data pada tabel. Bentuk umum penulisan perintah Insert.
Insert Into nama_tabel (field], field2, field3,.........fieldn) Values (nilai1, nilai2, nilai3, ....... .nilain)
Yang perlu diperhatikan adalah jumlah semua field dengan jumlah nilai yang akan dimasukan adalah sama. Untuk field dengan tipe Alpha (string) maka diantara nilai yang diinput diberikan dengan tanda kutif ( ).
Contoh Insert Into barang(kdbarang, nmba rang, hargabeli, hargajual, stok) Values (A00], Indomei rasa Soto ,20000, 30000,23) 2.Update
Perintah SQL yang digunakan untuk mengedit data yang sudah ada sebelumnya pada tabel.
Update nama_tabel Set field] = nilai], field2 =nilai2, field3 = nilai3, ..............fieldn = nilain) Where syarat Contoh Update barang Set kdbarang = A001, nmbarang = Idomie rasa Ayam, hargabeli = 2000, hargajual = 3000, stok = 34 where kdbarang = A002
Perintah SQl tersebut diatas adalah mengganti seluruh data yang ada ditabel barang untuk kode barang = A002 menjadi A001.
3. Delete
Perintah SQL digunakan untuk menghapus data yang ada ditabel. Bentuk umum penulisan perintah Delete.
Delete From nama_tabel where syarat (digunakan untuk menghapus record dengan kondisi yang diinginkan). Atau Delete From nama_tabel (digunakan untuk menghpus seluruh record pada tabel terpilih) Contoh Delete From barang where kdbarang = A001
Merupakan kondisi dimana ada perintah untuk menghapus data barang untuk kode barang = A001
Langkah - langkahnya
a.Aktifkan Data Base Dekstop b.Dari Menu File | New | SQL File . Jendela SQL Editor akan ditampilkan
d. Dari Menu SQl pilih Select Alias ( untuk tabel yang ada dalam folder penyimpanan), sehingga pada layer akan ditampilkan jendela Select Alias.
Gambar 9.2. Jendela Select Alias e. f. Dari jendela Select Alias pilih dan aktifkan nama alias yang sudah dibuat sebelumnya (TOKO) . Setelah selesai klik OK. Pada jendela editor tulisakn perintah SQL dan jalankan dengan memilih icon Run SQL.
Sintaks Penulisan
Hasil
Sintaks Penulisan
Hasil
0. Menampilkan kode barang dan nama barang dari tabel barang dengan pengurutan secara descending berdasar nama barang serta mengganti judul kdbarang menjadi KodeBarang.
Sintaks Penulisan
Hasil
Sintaks Penulisan
Hasil
0. Menambahkan data barang dengan data sebagai berikut = Kdbarang Nmbarang Harga Beli Harga Jual A0010 Gula Pasir 1 Kg 3400 3500
Stok 34
Kdpemasok 03002
Sintaks Penulisan
Hasil
Untuk melihat semua data gunakan perintah menampilkan data seluruhnya f. Mengganti Stok barang untuk kode A001 menjadi 15
Sintaks Penulisan
Hasil
G. Tugas
1. Hapus Data barang untuk field stok dibawah 20 2. Tampilkan Nama Pemasok, Kode Pemasok dari tabel pemasok dan nama barang, harga beli dari tabel barang. Sesuai dengan pemasok masing masing seperti yang ada dalam tabel barang. Dengan hasil seperti berikut ini
0. Tampilkan Nama Pemsaok, Kode Pemasok dari tabel pemasok dan nama barang, harga beli dari tabel barang sesuai dengan pemasok masing masing seperti yang ada dalam tabel barang khusus nama barang yang berawalan dengan kata Mie . Dengan hasil seperti berikut ini
Komponen Delphi
Keterangan Komponen ADO Connection = Komponen ini digunakan untuk mengkases Data base (terdapat dalam Tab ADO)
c.dbexpress
merupakan teknologi pengaksesan database dengan kemampuan yang bersifat terbatas pada teknologi akses untuk database yang bersifat client/Server. Kemampuan terbaik untuk dbepress adalah didalam pembuatan laporan.
0.Desain Form
Properties Name Label1 Bawal Bsebelum BSesudah Bakhir bLoncat Bclose Eloncat Data Base Name Toko Data Set Table1 Data Source Data Source1 Active True Caption/text Aplikasi Penj .... Pertama Sebelum Sesudah Akhir Go To Close Table Name Barang.db
procedure TForm1 .bsesudahClick(Sender: TObject); begin if table 1 .Eof then showmessage('Anda berada pada record terakhir') else table 1 .Last; end; procedure TForm1 .bakhirClick(Sender: TObject); begin table 1 .Next; end; procedure TForm1 .bloncatClick(Sender: TObject); begin table 1 .MoveBy(strtoint(eloncat.Text)); end; procedure TForm1 .bcloseClick(Sender: TObject); begin if (application.MessageBox('Anda yakin form akan ditutup','Info',MB_YESNO)= IDYES) then close; end;
Contoh
If not tablel.locate ('nama', enama.text, []) then Messagedlg('R' + enama.text +' " Tdak ditemukan', mterror, [mbok],0); 2.Findkey Metode finkey digunakan mencari record yang sama . Metode ini dapat digunakan untuk tabel dengan index. Contoh Tablel.indexname := ' '; If not tablel.findkey (['00099']) then Messagedlg('data Tdak ditemukan', mterror, [mbok],0); Proses pencarian data diatas digunakan untuk table dengan index sebagai primary key. Sedangkan untuk pencarian dengan indes secondary dapat terlihat seperti contoh berikut ini. Tablel.indexname := 'nama'; If not tablel.findkey([enama.text]) then Messagedlg('R' + enama.text +' " Tdak ditemukan', mterror, [mbok],0); Else Tampil;
3.Find Nearest Metode ini digunakan untuk tabel dengan index selaian itu juga dapat digunakan untuk pencarian record yang paling mendekati. Contoh Tablel.indexname ;= 'nama'; Tablel.findnearest([enama.text]) 4.Gotokey Metode ini sama seperti dengan metode dengan findkey, tetapi dalam hal penulisan lebih rumit karena harus menjalankan terlebih dahulu event Setkey ataupun editkey. Konsep ini juga dapat digunakan untuk tabel dengan index maupun tidak. Contoh Tablel.setkey; Table~.fieldbyname('nama').Asstring := enama.text; If not tablel.gotokey then Messagedlg('R' + enama.text +' " Tdak ditemukan', mterror, [mbok],0); Else Tampil; 5.Gotonearest Metode ini hampis sama dengan metoded findnearest. Perbedaan utamanya hanya dalam hal penulisan. Contoh Tablel.setke y Tablel.fieldbyname('nama').Asstring := enama.text; Table 1 .gotokey; b Konsep pencarian data dengan perintah SQL Metode ini merupakan metode pencarian data yang banyak digunakan oleh para pengembang aplikasi karena konsep ini dapat digunakan untuk semua bahasa pemograman dengan berbagai macam database. Luwes merupakan salah satu keunggulan penggunaan konsep pencarian dengan perintah SQl. Selain itu konsep yang digunakan tidak perlu mengingat property yang digunakan.
Contoh Var strsql : string; Begin Strsql := 'Select * from barang where nama like n' + enama.text +'%" '; Queryl.sql.clear; Queryl.sql.add(strsql); Query.close; Query.open; End; 11.2. Aplikasi Program Pencarian Data a. Dengan Propeti 1.Hasil Form Setelah Dijalankan
0.Desain Form
3.Desain Properties Catatan = Koneksi table dan data base akan dilakukan secara programming, jadi untuk setting properties tidak perlu disetup. Object Properties Name Caption/text Group Box 1 Group Box 1 Cari Data Barang Edit1 Ecari Edit2 Enmbarang Edit3 Ehrgbeli Edit4 Kdpemasok Label1 Label1 Kode Barang Label2 Label2 Nama Barang Label3 Label3 Harga Beli Label4 Label4 Kode Pemasok Button1 Ecari Cari Button2 Ebatal Batal Button3 Eclose Close Object Data Base Name Table Name Table1 Object Data Set Data Source1 Object Data Source Dbgrid1 Object Active Table1 4.Listing Program
Ketika pada saat program dijalankan maka proses koneksi program akan diaktifkan selama form tersebut diaktifkan.
procedure TFormll.FormCreate(Sender: TObject); begin tablel.batabaseName := 'penjualan' ; tablel.TableName := 'barang.db'; tablel.Active:= true; datasourcel.bataSet:= tablel; dbgridl.bataSource := datasourcel; end;
Program pencarian dimulai dengan input kode barang pada txtcari dan diakhiri dengan button cari. Jika data barang tidak ditemukan maka akan ditampilkan pesan, tetapi jika tditemukan maka data barang akan ditampilkan.
procedure TFormll.bcariClick(Sender: TObject); begin tablel.IndexName := ''; if not table1.FindKey([ecari.Text]) then begin showmessage(' Data Belum ada'); exit; formll.ActiveControl := ecari; end else enmbarang.Text := table1['nmbarang']; ehrgbeli.Text := tablel['hrgbeli']; ekdpemasok.Text := tablel[' kdpemasok' ]; end; Penjelasan Table1.indexname := menunjukan bahwa proses pencarian deengan memanfaatkan kunci utama (primary key), sehingga koneksi program dianjurkan dengan menggunakan metode findkey . If Not table1.findkey([ecari.text]) menunjukan bahwa jika data tidak ada, maka akan ditampilkan pesan bahwa tidak ditemukan dan kursor dikembalikan ke txtcari, tetapi jika ada maka data akan ditampilkan.
Program untuk membatalkan proses pencarian dengan mengaktifkan txtcari kembali.
0.Desain Form
0.Desain Properties Catatan = untuk koneksi dengan perintah SQL maka icon table tidak dibutuhkan tetapi icon query yang dibutuhkan. Icon Query terdapat dalam tab BDE.
Object
Group Box 1 Edit1 Label1 Button1 Button2 Button3 Object Query1 Object Data Source1 Object Dbgrid1 Object Query
Properties Name Group Box 1 Ecari Label1 Ecari Ebatal Eclose Data Base Name Data Set Data Source Active Caption/text Cari Data Barang Nama Barang Cari Batal Close Table Name -
4. Listing Program Program koneksi dengan perintah SQl. procedure TForml2.FormCreate(Sender: TObject); //var strsql : string; begin queryl.batabaseName := 'penjualan'; queryl.SQL.Add (' Select * from barang'); queryl.Active := true; datasourcel.bataSet := queryl; dbgridl.bataSource := datasourcel; end; Penjelasan Secara umum koneksi databse dan tabel hampir sama dengan koneksi dengan icon table, hanya terdapat perbedaan ketika harus mengkatifkan tabel. Dengan query harus dituliskan sintaks perintah SQL. Kondisi ini lebih luwes karena bisa menampilkan data lebih dari satu tabel.
Program pencarian nama procedure TForm12.bcariClick(Sender: TObject); var strsql : string; begin strsql := 'Select * from barang where nmbarang like ..' + ecari.Text + './...'; queryl.SQL.Clear; query~.SQL.Add(strsql); queryl.Close; queryl.Open; end; Program Untuk mengembalikan data ke semua record procedure TForm12.bbatalClick(Sender: TObject); var sql : string; begin sql := 'Select * from barang' ; queryl.SQL.Clear; queryl.SQL.Add(sql); queryl.Close; queryl.Open; end; Program menutup Form procedure TForm12.bcloseClick(Sender: TObject); begi n close ; end;
12.1. Filter
merupakan fungsi yang digunakan untuk membatasi tampilan data pada setiap tabel sesuai dengan data yang diinginkan. Method yang sering digunakan didalam penulisan fungsi filter adalah :
a. Tablefilterecord : fungsi ini digunakan untuk kontrol data terhadap field mana yang digunakan sebagai kunci. b. Filtered : fungsi ini digunakan untuk mengaktifkan fungsi dari event filter. c. Fieldbyname : berfungsi untuk menentukan field yang digunakan sebagai kunci pengurutan. d. Indexname : digunakan untuk mengaktifkan nama index dari suatu tabel. 9.2. Range
merupakan fungsi yang dapat digunakan untuk menampilkan data berdasarkan cakupan data atau kelompok data. Dalam hal ini fungsi range membutuhkan nilai yang dapat digunakan sebagai batasan awal kelompok maupun nilai untuk menentukan batasan akhir terhapa kelompok tersebut.
a. serangestart : digunakan untuk menentukan nilai awal terhadap suatu range. b. Setrangeend : digunakan untuk menentukan nilai akhir terhadap suatu range. c. Fieldbyname: digunakan sebagai kunci field mana yang digunakan sebagai kunci. d. Applyrange : digunakan untuk mengeksekusi terhadap batasan range yang diingikan. e. Canceclrange : digunakan untuk membatalkan perintah range yang sudah diberikan dan mengembalikan data ke fungsi normal. f. Indexname : digunakan untuk memanggil index primary key.
12.3.Merancang Aplikasi Program Dengan Fungsi Range dan Filter a. Hasil setelah form dijalankan
b. Desain Form
c.Desain Properties Object Group Box 1 Group Box 2 Edit1 Edit2 Edit3 Label1 Label2 Label3 Button1 Button2 Button3 Object Table1 Object Data Source1 Object Dbgrid1 Object Query d.Listing Program Name Group Box 1 Group box2 Eawal Eakhir Efilter Label1 Label2 Label3 Brange bfilter Bnormal Data Base Name Penjualan Data Set Table1 Data Source Data Source1 Active True
Properties Caption/text Menampilkan Data (berdasarkan kode) Filter Data (berdasarkan kode) Batas Bawah Batas Akhir Stok Barang Tampilkan Tampilkan Normal Table Name Barang
Untuk mengaktifkan fungsi filter record klik table dan pada event pilih dan doubleklik onfilterrecord. Ketikan kode program berikut :
procedure TForm3.TablelFilterRecord(bataSet: TbataSet; var Accept: Boolean); begin accept := tablel.FieldByName('stok').AsFloat = strtofloat(efilter.Text); end;
Program untuk mengeksekusi hasil filter record, ketikan program pada button Filter.
98
end; Program mengeksekusi range tabel , ketikan program berikut pada button range procedure TForm3.brangeClick(Sender: TObject); begin tablel.IndexName := 'indstok'; tablel.SetRange([strtofloat(eawal.Text)], [strtofloat(eakhir.Text)]); tablel.ApplyRange; end;
Program untuk mengembalikan data ke posisi default
procedure TForm3.bnormalClick(Sender: TObject); begin tablel.IndexName := II; tablel.CancelRange ; tablel.Filtered := false; end;
b.Desain Form
Properties Name Ekdbarang Enmbarang Ehrgbeli Ehrgjual Estok Label1 Label2 Label3 Label4 Label5 Btambah Bsimpan Bbatal B exit Data Base Name Data Set Data Source Active Caption/text Kode Barang Nama Barang Harga Beli Harga Jual Stok &Tambah &Simpan &Batal &Exit Table Name -
d. Listing Program
ekdbarang.Enabled := false; enmbarang.Enabled := false; ehrgbeli.Enabled := false; ehrgjual.Enabled := false; estok.Enabled := false; end; Program Untuk Prosedur Hidup Fungsi ini digunakan untuk mengembalikan fungsi edit text, seperti fungsi normalnya. procedure tform6.hidup; begin ekdbarang.Enabled := true; enmbarang.Enabled := true; ehrgbeli.Enabled := true; ehrgjual.Enabled := true; estok.Enabled := true; end; Program Prosedur Kosong procedure tform6.kosong; begin ekdbarang.Text := ''; enmbarang.Text := ' '; ehrgbeli.Text := ''; ehrgjual.Text := ' '; estok.Text := ''; end;
> Perintah ini terdapat pada formcreate. perangkat tabel untuk mengaktifkan tabel. Langkah awal menghubungkan semua
procedure TForm6.FormCreate(Sender: TObject); begin tablel.batabaseName := 'penjualan' ; tablel.TableName := 'barang.db';
end; Program tampil diaktifkan untuk menampilkan data pada edit text box, program digunakan sema form diaktifkan. procedure TForm6.FormActivate(Sender: TObject); begin tampil; mati; bsimpan.Enabled := false; end;
Program tambah
procedure TForm6.btambahClick(Sender: TObject); begin mati; ekdbarang.Enabled := true; bsimpan.Enabled := true; form6.ActiveControl := ekdbarang; kosong; end;
Program Pencarian Data. Control data yang digunakan adalah enter ketika kode barang diinput pada edit text kodebarang.
procedure TForm6.ekdbarangKeyPress(Sender: TObject; var Key: Char); begin if key = #13 then begin if tablel.FindKey([ekdbarang.Text]) then begin showmessage('bata Sudah ada'); exit; end else hidup; ekdbarang.Enabled := false; form6.ActiveControl := enmbarang; end; end;
Program Penyimpanan Data ke Dalam tabel procedure TFortn6.bsitnpanClick(Sender: TObject); begin tablel.Append; tablel[' kdbarang'] := ekdbarang.Text; tablel['ntnbarang'] := entnbarang.Text ; tablel['hrgbeli'] := strtofloat(ehrgbeli.Text); tablel[' hrgjual' ] := strtofloat(ehrgjual.Text); tablel['stok']:= strtofloat(estok.Text); tablel.Post; tnati; end; Program Membatalkan penyimpanan data procedure TFortn6.bbatalClick(Sender: TObject); begin kosong ; tablel.First; tatnpil ; tnati; end; Program Mengaktifkan data sesuai deengan pilihan pada setiap record pada grid. procedure TFortn6.N'GridlCellClick(Colutnn: TColutnn); begin tatnpil; end; Program untuk menutup form procedure TFortn6.bexitClick(Sender: TObject); begin tablel.Close ; close ; end;
12.4. Aplikasi Program Edit Dan Hapus Data a. Hasil Setelah Form Dijalankan
b Desain Form
Properties Name Ekdbarang Enmbarang Ehrgbeli Ehrgjual Estok Label1 Label2 Label3 Caption/text Kode Barang Nama Barang Harga Beli
Label4 Label5 Button1 Button2 Button3 Button4 Button5 Object Table1 Object Data Source1 Object Dbgrid1 Object Query
Label4 Label5 Bedit Bupdate Bhapus Bbatal Bexit Data Base Name Data Set Data Source Active -
Harga Jual Stok &Edit &Update &Hapus &Batal &Exit Table Name -
d. Listing program
enmbarang.Enabled := false; ehrgbeli.Enabled := false; ehrgjual.Enabled := false; estok.Enabled := false; end; procedure tform7.hidup; begin ekdbarang.Enabled := true; enmbarang.Enabled := true; ehrgbeli.Enabled := true; ehrgjual.Enabled := true; estok.Enabled := true; end;
Program Untuk Mengaktifkan Database dan tabel pada form
procedure TForm7.FormCreate(Sender: TObject); begin tablel.batabaseName := 'penjualan' ; tablel.TableName := 'barang.db'; tablel.Active:= true; datasourcel.bataSet:= tablel; dbgridl.bataSource := datasourcel; end;
Program Selama Form Aktif
procedure TForm7.FormActivate(Sender: TObject); begin tampil ; mati; bupdate.Enabled := false; bhapus.Enabled := false; end;
Program untuk button Edit
mati; ekdbarang.Enabled := true; bupdate.Enabled := true; bhapus.Enabled := true; form7.ActiveControl := ekdbarang; kosong; end;
end;
Program hapus Data
b.Simpan tabel tersebut pada folder project dengan nama transaksi c.Struktur Tabel Semtransaksi Field Name Type Kdbarang A Jmlbeli N Subtotal N nmbarang N hrgjual N Size 5 Key
d.Desain Form
Edit6 Edit7 Edit8 Edit9 Label1 Label2 Label3 Label4 Label5 Label6 Label7 Label8 Label9 Button1 Button2 Button3 Button4 Object Table1 Table2 Table3 Object Data Source1 Object Dbgrid1 Object Table1 Table2 Table3
Ebeli Etotbayar Ecash Ekembali Label1 Label2 Label3 Label4 Label5 Label6 Label7 Label8 Label9 Bnew Bsimpan Bclose Bbatal Data Base Name Data Set Data Source Active -
No Transaksi Kode Barang Nama Barang Harga Jual Stok Jumlah beli Total Bayar Cash Kembali &New &Simpan &Close &Batal Table Name -
d. Listing Program
begin enotransaksi.Enabled := false; ekdbarang.Enabled := false; ebeli.Enabled := false; ecash.Enabled := false; end; procedure tforml3.hidup; begin ekdbarang.Enabled := true; ebeli.Enabled := true; ecash.Enabled := true; end;
c:string;
a:integer; begin if table1.RecordCount = 0 then begin enotransaksi.Text := '00001'; exit; end else table1.Last; c:=table1['notrans']; a:= strtoint(c) +1; if a < 10 then begin enotransaksi.Text := '0000' + (inttostr(a)); end else if a < 100 then begin enotransaksi.Text := '000' + (inttostr(a)); end else if a < 1000 then begin enotransaksi.Text := '00' + (inttostr(a)); end else if a < 10000 then begin enotransaksi.Text := '0' + (inttostr(a)); end else enotransaksi.Text := inttostr(a); end;
table3.First; table3.Delete; table3.Next ; end; ekdbarang.Enabled := true; form13.ActiveControl := ekdbarang; ecash.Enabled := true; bsimpan.Enabled := true; etotbayar.Text :=' 0'; kosong; end; while table3.RecordCount , 0 m e r u p a k a n p e r i n t a h p r o g r a m y a n g digunakan untuk membaca tabel sementara apakah jumlah recordnya lebih dari satu atau kurang, jika kondisinya lebih dari satu maka dilakukan perintah penghapusan data pada tabel semtransaksi. Hal ini ditunjukan dengan perintah table3.Delete; keadaan ini akan terus berulang selama kondisi jumlah record masih lebih dari satu.
Sesuai dengan data yang diinput melalui edit text kode barang. Jika ada maka rincian data akan ditampilkan tetapi jika tidak maka akan ditampilkan pesan.
if (table2[' stok']< 0) or (table2['stok'] < (strtofloat(ebeli.Text))) then begin showmessage('Stok barang tidak mencukupi');
exit; end Penggalan program tersebut untuk memberikan batasan apakah stok pada tabel barang ada atau tidak atau memberikan batasan agar kondisi jumlah barang yang dibeli tidak melebihi jumlah stok barang. Jika kondisinya benar maka akan ditampilkan pesan bahwa stok barang sudah tidak mencukupi. table2.Edit; table2[' stok' ] := table2[' stok' ] - strtofloat(ebeli.Text); table2.Post; kondisi tersebut diatas dilakukan untuk tabel barang yang kondisinya stok lebih dari satu atau jumlah beli lebih kecil dari jumlah stok pada tabel barang. Perintah awal yang dilaksanakan adalah melakukan edit data pada tabel barang, khusunya jumlah stok yang berkurang sesuai dengan jumlah beli.
Kondisi selanjutnya adalah menyimpan data penjualan kedalam tabel sementara penjualan.
Penggalan program ini digunakan untuk membatalkan transaksi sebelum data disimpan didalam tabel penjualan dan mengembalikan stok barang ke kondisi semula.
15.1. Aplikasi Program Hapus Dan Retur Stok Barang a.Hasil Setelah Form Dijalankan b.Desain Form
c. Desain Properties Object Edit1 Edit2 Edit3 Edit4 Edit5 Edit6 Combo box1 Label1 Label2 Label3 Label4 Label5 Label6 Button1 Button2 Object Table1 Table2 Table3 Object Data Source1 Object Dbgrid1 Object Table1 Table2 Table3 d.Listing Program Name Enotransaksi Ekdbarang Enmbarang Estok Ehrgjual Ejmlbeli ckdbarang Label1 Label2 Label3 Label4 Label5 Label6 Bretur BClose Data Base Name Data Set Data Source Active -
Properties Caption/text [Kode Barang] No Transaksi Kode Barang Nama Barang Harga Jual Stok Jumlah beli &Retur Penjualan &Close Table Name -
Form dengan Database procedure TForml4.FormCreate(Sender: TObject); begin queryl.batabaseName := 'penjualan'; queryl.SQL.Add ('Select p.notrans, p.jmlbeli, p.kdbarang, b.nmbarang, b.hrgjual, p.subtotal from transaksi p, barang b where b.kdbarang = p.kdbarang'); query2.batabaseName := 'penjualan';
query2.SQL.Add(' Select * from barang'); query3.batabaseName := 'penjualan'; queryl.Active := true; datasourcel.bataSet := queryl; dbgridl.bataSource := datasourcel; end; Penjelasan Query.databasename : penjualan . penggalan program untuk menghubungkan database dengan form. Pada grid kalau diperhatikan ada field field dari dua tabel yaitu tabel transaksi dengan tabel barang dengan hanya data barang yang ada ditabel transaksi yang ditampilkan. Hal itu bisa dilihat dari perintah 'Select p.notrans, p.jmlbeli, p.kdbarang, b.nmbarang, b.hrgjual, p.subtotal from transaksi p, barang b where b.kdbarang = p.kdbarang' . S e l e c t p. n o t r a n s , pjmlbeli, p.kdbarang, b.nmbarang, b.hrgjual, p.subtotal from transaksi p, barang b adalah menampilkan data dari tabel barang dan transaksi. where b.kdbarang = p.kdbarang' adalah kondisi dimana hanya data barang yang ada ditabel transaksi yang ditampilkan, tanpa diberikan kondisi seperti ini maka semua data barang akan ditampilkan walaupun ditabel transaksi tidak ada.
> Program Untuk menampilkan data transaksi dan data barang sesuai dengan pilihan
nomor transaksi yang ada di text nomor transaksi. Dan menampilkan kode barang pada combo box sesuai dengan jumlah barang yang dibeli procedure TForm14.enotransaksiKeyPress(Sender: TObj ect; var Key: Char); var strsql : string; begin if key = #13 then begin strsql := 'Select p.notrans, p.jmlbeli, p.kdbarang, b.nmbarang, b.hrgjual, p.s ubtota l from tra nsa ks i p, ba ra ng b whe re n ot ra ns lik e "' + enotransaksi.Text + '%" and p.kdbarang = b.kdbarang'; queryl.SQL.Clear; query1.SQL.Add(strsql);
queryl.Close; queryl.Open; while not queryl.Eof do begin ckdbarang.Items.Add (queryl[' kdbarang' ]); queryl.Next; end;
end; end; Penjelasan Secara umum perintah ini adalah sama seperti pada perintah untuk menampilkan data barang sesuai dengan data barang yang ada ditabel transaksi. Perbedaan disini adalah kondisi dimana data yang ditampilkan tidak semuanya tetapi hanya disesuaikan dengan pilihan kondisi sesuai dengan nomor transaksi yang sudah diinput (where notrans like "' + enotransaksi.Text + '%" and p.kdbarang = b.kdbarang'; ). Kondisi yang selanjutnya adalah menampilkan data barang sesuai dengan data barang yang ada ditabel transaksi. Hal itu bisa dilihat dari penggalan program berikut : while not queryl.Eof do begin ckdbarang.Items.Add (queryl[' kdbarang' ]); queryl.Next; end
Program untuk menampilkan data pada grid diperoleh dari penggalan program berikut :
queryl.Close; queryl.Open;
> Program menampilkan rincian data barang ketikan kode barang terpilih
procedure TForm14.ckdbarangClick(Sender: TObject); var sql : string; begin sql := 'Select p.jmlbeli, b.kdbarang, b.nmbarang, b.hrgjual, b.stok from transaksi p, barang b where kdbarang like "' + ckdbarang.Text + '%" and p.kdbarang = b.kdbarang'; query2.SQL.Clear; query2.SQL.Add(sql); query2.Close; query2.Open; ekdbarang.Text := query2[' kdbarang' ]; enmbarang.Text := query2['nmbarang']; estok.Text := query2['stok']; ehrgjual.Text := query2[' hrgjual']; ejmlbeli.Text := query2[' jmlbeli'];
end;
> Program untuk menghapus data transaksi dan mengupdate data stok yang ada
ditabel barang.
procedure TForm14.hapusitemClick(Sender: TObject); var sql : string; strsql : string; strsqll : string; a : integer; b : integer; c : integer ; begin a := strtoint(ejmlbeli.Text); b := strtoint(estok.Text); c := a + b; sql := 'update barang set stok = "%d" where kdbarang = "' + ckdbarang.Text + '"'; query2.SQL.Clear; query2.SQL.Add(format(sql,[c])); query2.ExecSQL; strsql := 'Delete from transaksi where kdbarang = "' + ckdbarang.Text + '" and notrans = "' + enotransaksi.Text + '"'; query3.SQL.Clear; query3.SQL.Add(strsql); query3.ExecSQL; strsqll := 'Select p.notrans, p.jmlbeli, p.kdbarang, b.nmbarang, b.hrgjual, p.subtotal from transaksi p, barang b where p.kdbarang = b.kdbarang'; queryl.SQL.Clear; queryl.SQL.Add(strsql1); queryl.Close; queryl.Open; forml4.ActiveControl := enotransaksi; end; Penjelasan sql := 'update barang set stok = "%d" where kdbarang = "' + ckdbarang.Text + '"'; query2.SQL.Clear;
strsql := 'Delete from transaksi where kdbarang = "' # ckdbarang. Text # '" and notrans = "' # enotransaksi. Text # '"'; query3.SQL.Clear; query3.SQL.Add(strsql); query3.ExecSQL;
Adalah penggalan program untuk menghapus data barang yang ada ditabel transaksi. Hal itu di dikarenakan pada query diberikan perintah 'Delete from transaksi where kdbarang = "' # ckdbarang. Text # '" and notrans = "' # enotransaksi. Text # '"';.
strsqll := 'Select p.notrans, p.jmlbeli, p.kdbarang, b.nmbarang, b.hrgjual, p.subtotal from transaksi p, barang b where p.kdbarang = b.kdbarang'; queryl.SQL.Clear; queryl.SQL.Add(strsql1); queryl.Close; queryl.Open;
Adalah penggalan program untuk menampilkan data transaksi setelah adanya pengurangan data pengembalian (retur).
0.Desain laporan
0. KOmponen yang dibutuhkan, Table (KOmponen BDE), Data Sorce (Data Access), DBgrid1 (Data Control), Rvproject1 dan RvDatasetconnention (KOmponen Rave). 3. Konenksikan Table (Data Base name. Table name, Active), Data source (Data Set) dan Dbgrid1 (Data Source) sesuai dengan komponen Masing masing. 4. Klik RvDataConnention, pada properties pilih dataset dan koneksikan ke Table 1 5. Doubleklik pada Rvproject, sehingga pada form akan ditampilkan layer sebagai berikut.
7.
Dari Jendela Report Rave , Klik File New Data Object, perhatikan tampilan jendela baru pada jendela report
0. 8. 9.
Dari jendela Data Connention, pilih Direct Data View dan klik Next. Klik Finish Pada Jendeela Onbject tri View, Klik report Library, dan klik report 1, seperti yag terlihat pada gambar berikut.
0. Klik Report1, pada properties pilih name dan ganti menjadi Lapbarang 10. Dari menu Tools, Pilih Riport Wizard, Simple table
14. Klik All, jika ingin menampilkan Data Dalam table pada jendeela Report, tetapi jika hanya sebagian field dijadikan report, cek list satu per satu field yang dibutuhkan. 15. klik next
18. Pada text Report Title, hapus dan ganti dengan judul laporan yang diinginkan.misal = Laporan Data Barang. 19. Klik Next
0.
Pada Wizard ini berfungsi untuk mengganti pilihan font untuk setiap masing = masing bagian dari report. Caranya klik pada command change Font 20. Jika sudah selesai klik generate untuk mengakhiri perintah. Dan perhatikan perubahan tampilan pada jendela report seperti beikut.
Memanipulasi Tampilan a.Menggeser Document Laporan > Klik Document (pada document yang berwarna gelap), sehinggan setiap sisi document diberikan handle kecil berwarna hijau. > Klik dan drag mouse sesuai dengan tampilan yang diinginkan. b.Mengganti text pada Judul > Klik text (missal = Kdbarang), pada tab Data View1Region, Data View1 Band. Klik text pada jendela properties dan ganti tulisan sesuai dedngan tampilan yang diinginkan. (missal = Kode Barang) Catatan = ada 2 text dengan tulisan yang sama, text pada tab pertama (Data View 1 band) ini hanya merupakan judul, jadi pad tekx disini tulisan bisa diganti maupun diedit. Tetapi untuk teks pada Tab ke 2 (DataView1DataBand) jangan diganti karena berhubungan dengan nama field yang ada pada tabel. c.Memperlebar jendela setiap tab > Klik mouse anda pada judul tab yang ingin diperlebar jendelanya, perhatikan pada sub tab tersebut akan ditampilkan handle kecil berwarna hijau > Klik hande tersebut, dan drag mouse dan geser untuk mendapatkan ruang jendela sesuai dengan kebutuhan. d.Membuat garis > Komponen garis ada pada komponen drawaing pada tab Drawing. > Klik icon garis (sesuai dengan kebutuhan), drag pada document laporan sehingga diperoleh desain laporan yang diinginkan. > Ulangi langkah tersebut untuk membentuk laporan lebih kompleks. e.Membuat teks untuk menjumlah data > Klik icon Calc teks component (pada komponen Report) > Drag dan desain pada document dibawah stok. > Setting jendala properties sebagai berikut = - Untuk Data Field 1. klik (....)
2.Pada Combo Data Filed pilih Field Stok 3.Klik Command Insert Field 4.Klik OK - Pada Data View pilih data view 1 - Pada Controler = pilih Data View 1DataBand
f. Menjalankan Laporan o Tekan F9 o Pilih option priview o Klik OK 15.2. Mencetak laporan Melalui Form
1.Kembali ke jendela Project Delphi, pada form rev Project 2.tambahkan dua button dang anti nama masing menjadi priview dan close
3. Ketikan program sebagai berikut procedure TForm8.Button1 Click(Sender: TObject); begin rvproject1 .ExecuteReport('lapbarang'); end; procedure TForm8.Button2Click(Sender: TObject); begin close end;
0.Langkah - langkahnya
1.tambahkan form baru 2.pada jendela properties ganti caption menjadi = Sistem Informasi TOKO 3.Pada Windows State = pilih maximized 4.tambhakan icon main Menu (komponen Standart), tempatkan pad sembarang form 5.Double Klik Icon main menu, sehingga ditampilkan jendela sebagai berikut:
5. ketikan Desain menu Utam Seperti tabel berikut Master - Cari Data - Tambah Data - Edit Data Transaksi Penjualan Retur Penjualan Laporan - Laporan Barang Exit
6.Setelah Selesai klik tanda (X), untuk kembali ke form menu utama 7.Double Click Setiap object dan ketikan program sebagai berikut : procedure TForm9.Exit1 Click(Sender: TObject); begin close; end; procedure TForm9.CariData1 Click(Sender: TObj ect); begin form2.Show; end; procedure TForm9.ambahData1 Click(Sender: TObject); begin form6.Show; end; procedure TForm9.EditData1 Click(Sender: TObj ect); begin form7.show; end; procedure TForm9.penjualanClick(Sender: TObj ect); begin form13.show; end; procedure returpenjualanClick(Sender: TObject); begin form14.show; end;
Catatan : Pada saat form dijalankan, dan kita mengaktifkan salah satu pilihan menu. Ada dua hal bisa terjadi. Pertama form langsung bisa diaktifkan dan yang kedua form belum bisa diaktifkan. Ketika form tidak bisa langsung diaktifkan, dan muncul pertanyaan, maka pilih yes, pada jendela object triee View, pilih uses dan double click unit yang akan diaktifkan, setelah itu coba dijalankan ulang.