BAB 1 PENGENALAN DELPHI 1.1 Asal Mula Delphi Borland Delphi merupakan program aplikasi database yang berbasis Object Pascal dari Borland. Selain itu, Delphi juga memberikan fasilitas pembuatan aplikasi visual. Delphi merupakan pilihan dalam pembuatan aplikasi visual karena memberikan produktifitas yang tinggi. Delphi 7 memberikan fasilitas untuk dua platform, yaitu untuk platform Windows dan Linux. Delphi untuk Linux sebelumnya dikemas dalam sebuah aplikasi terpisah yang bernama Kylix, tetapi Delphi 7 menyatukannya dalam sebuah aplikasi. Library untuk Windows disebut VCL dan library untuk Linux disebut CLX. Delphi merupakan bahasa pemrograman yang mudah, karena Delphi adalah bahasa perograman tingkat tinggi (high level) sehingga sangat memudahkan user untuk bermain- main di tingkat ini, apa lagi bagi mereka yang malas berurusan dengan level-level yang MODUL PELATIHAN DELPHI rendah. Pemrograman Delphi sangatlah mudah, kita tinggal click and drag, dan jadilah program aplikasi yang kita inginkan. 1.2 Form dan Unit Berbeda dengan pascal, pada Delphi kita akan mengenal OOP (Object oriented programming), jadi bila pada pascal kita akan melihat tampilan yang menjemukan, pada • Pengenalan Delphi Delphi kita bisa mengatur tampilan kita semenarik mungkin pada form yang kita gunakan. Caranya cukup mudah, kita hanya menaruh komponen-komponen yang kita inginkan pada • Object Oriented Programming (OOP) form tersebut, dan memfungsikan masing-masing komponen sesuai dengan yang kita • Form, Tipe Data dan Menu inginkan. • Membuat Aplikasi Database Dengan Delphi – Ms. Access • Membuat Form Laporan Dengan Rave Report Gambar 1.1 Tampilan Utama Program Delphi Sistem Logistik dan Bisnis Teknik Industri | UNS Laboratorium Sistem Logistik Dan Bisnis 2 Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta 1.3. Komponen Pallete Gambar 1.2 Contoh Form Gambar 1.4 Komponen Pallete Unit Dalam membuat program, Delphi telah menyediakan banyak kemudahan, yaitu Setiap perubahan pada form akan berakibat perubahan pada unit yang kita miliki, dengan disediakannya komponen-komponen. Komponen ini merupakan sebuah Untuk pindah dari form ke unit, anda bisa tekan F12. Berikut ini adalah bentuk unit yang procedure/program yang sudah di kompile dan langsung dapat digunakan, sesuai dengan diberikan Delphi saat pertama kita membuka sebuah form. fungsinya masing-masing. Untuk menggunakan komponen ini kita dapat meng-klik komponen yang diinginkan, kemudian kita klik di form, maka komponen tersebut akan muncul di form. Kegunaan beberapa komponen : a. Button/ Bitbtn Biasa digunakan sebagai tombol kendali. Perbedaan antara bitbtn dengan btn : pada bitbtn kita dapat menyisipkan warna pada tombol dan icon tertentu, lain halnya bila kita menggunakan btn. b. Panel Panel berfungsi untuk mengelompokan komponen-komponen didalamnya. c. Label Kita dapat menamakan atau memberi keterangan pada program. d. Edit Edit berfungsi sebagai masukan data (input) dalam bentuk string, dari bentuk string ini kita dapat mengolahnya menjadi bentuk integer atau bentuk lainnya. Yang kemudian dapat digunakan untuk operasi selanjutnya. Gambar 1.3 Contoh Unit e. Chart Data-data yang telah kita analisa, dapat kita tampilkan ke dalam grafik, sehinga memudahkan kita untuk menganalisanya. f. Stringgrid Laboratorium Sistem Logistik Dan Bisnis 3 Laboratorium Sistem Logistik Dan Bisnis 4 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta Stringgrid berguna untuk menaruh data string kedalam bentuk kolom tabel, seperti • Pilih komponen (klik komponen yang diinginkan) pada Components Palette kemudian klik pada Excel. Kita harus mengubah type data ke dalam bentuk string bila data yang ingin pada form dimana komponen itu akan diletakkan. kita tampilkan data bukan string. • Klik ganda pada komponen yang diinginkan, maka komponen tersebut akan ditambahkan pada form g. PopupMenu • Anda dapat menggunakan Copy dan Paste bila ingin membuat komponen yang sama yang Popup Menu berfungsi sebagai perintah yagn aktif bila kita meng-klik kanan mouse, sudah ada pada form. Caranya Shift-Klik kiri pada komponen yang ada di form, lalu pilih Untuk mengaktifkannya kita harus mengaktifkan popup menu pada komponen yang menu Copy (Ctrl-C) kemudian pilih menu Paste (Ctrl-V). dinginkan, caranya : ubah pada object inspector. h. MainMenu 1.5. Object Inspector Object inspector berguna sebagai options dari masing-masing komponen. Dengan Contoh main menu adalah Option pada tiap aplikasi porgram, dengan komponen ini, object inspector ini kita dapat memanipulasi komponen yang kita gunakan (walaupun kita bisa menaruh fungsi-fungsi program seperti pada aplikasi umumnya. sebenarnya kita juga dapat menggunakannya dengan menuliskannya lewat text mode). i. ComboBox Combo Box berfungsi sebagai petunjuk untuk pemilihan berbagai masukan. Lihat contoh. j. CheckBox Bila komponen ini di check maka ada aplikasi yang bisa disetting untuk bekerja dibawahnya. k. RadioButton Prinsip kerjanya hampir sama dengan check box, cuma tampilannya saja yang berbeda. l. Media Player Biasa digunakan untuk mennyalakan atau memainkan musik (format wav atau midi) dan menjalankan film (format avi). m. Timer Timer berfungsi sebagai jam yang telah disediakan Delphi. Dengan timer kita juga dapat mendecode time, sehingga dapat terjadi akusisi data. n. Clientsocket Digunakan di client pada saat koneksi ke server. a. tampilan properties b. tampilan event Gambar 1.5 Object Inspector o. Serversocket Digunakan di server, yang akan menyediakan layanan koneksi ke client. Beberapa contoh pada Propertis : Font Masih banyak komponen lain. Untuk mempelajari lebih lanjut dapat dibaca pada help Menunjukan font yang akan kita gunakan. Dalam menu ini juga terdapat macam- menu. macam font berikut style dan ukurannya. 1.4 Menempatkan Komponen pada Form Caption Karena Delphi merupakan bahasa pemrograman visual, maka komponen-komponen Merupakan judul dari form itu. Perhatikan perbedaannya dengan name. akan Nampak pada layar. Anda tinggal menempatkan komponen yang diinginkan pada form. Ada empat cara menempatkan komponen pada form. Misal anda memilih komponen Button Name pada Components Palette bagian Standard Page. Anda dapat memilih salah satu langkah Merupakan nama dari komponen itu. Biasanya bila kita mengambil sebuah komponen, berikut: Delphi otomatis menyediakan nama sesuai dengan nama komponen tersebut. Namun nama ini dapat dengan mudah kita ubah agar mudah mengingatnya. Berbeda dengan • Klik pada kompenen tersebut, pindahkan kursor ke form, sambil menekan tombol kiri caption pada caption kita tidak mengubah nama componen, melainkan hanya mouse mengubah juduk yang tertera pada komponen tersebut. Sehingga bila kita ingin (drag komponen dan geser pada form) atau menggunakan komponen tersebut, yang kita gunakan adalah namanya, dan bukan nama pada caption. Laboratorium Sistem Logistik Dan Bisnis 5 Laboratorium Sistem Logistik Dan Bisnis 6 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta Enabled Bila kita menekan suatu key (tombol) maka komponen tersebut akan aktif. Perlu Menunjukan bahwa komponen ini bisa digunakan atau tidak. Perintah ini cukup diperhatikan pada event ini, delphi mengenal character yang kita tekan melalui kode penting bila kita tidak ingin user menekan tombol yang tidak diinginkan. yang masuk kedalam variabel key. Lihat contoh ini. Height procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Merupakan tinggi dari komponen yang bakalan kita taruh pada form, atau komonen Char); lainnya. begin if key =#13 then .....(isikan perintah) Width end; Merupakan lebar komoponen. Bila key =#13 (enter) maka perintah yang ikuti akan dijalankan. Popup menu Fungsi ini berguna saat kita mengkilik kanan dan akan tampil perintah. Pada penggunaanya kita mengambuil komponen popup menu dan menset popup menu pada 1.6. Memulai File Baru form. Auto size Fungsi ini berisi mengenai apakah form yang kita mil;iki bisa diperbesar atau tidak. Text Biasanya tedapat pada komponen edit dan mask edit. Kegunaanya untuk menaruh kata-kata pada komonen ini. Color Warna pada komponen. Kita dapat mengubah warna-warna tiap komponen (hanya yang disediakan) dengan point ini. Visible Berfungsi untuk menampilkan dan tidak menampilkan komponen yang kita inginkan. Hint Bila kursor kita diatas komponen, maka akan muncul suatu keterangan. Keterangan ini yang disebut dengan hint. Jangan lupa untuk mengganti properti show hint menjadi tru untuk mengaktifkannya. Gambar1.6 Cara Membuat File Baru Borderstyle Menunjukan berbagai macam bingkai yang diinginkan. File-file pada Delphi . *.pas Masih banyak properti lainnya, bisa dipelajari lebih lanjut. Merupakan source file, disini akan disimpan kode pascal yang kita tulis. Dengan Object inspector kita juga dapat menentukan event apa yang akan kita buat dengan komponen tersebut. Gambar 1.2b menunjukan object inspector untuk event pada *.dpr form. Merupakan project file. Sebagai project file, file ini berguna untuk meggabungkan satu atau lebih file-file source (*.pas). Beberapa contoh event. Onclick *.dcu (Delphi compiled Unit) Bila kita mengklik komponen tersebut maka prosedur yang kita inginkan akan Pada saat kita membuat sebuah aplikasi, Delphi akan membuat file ini. File ini dijalankan oleh program tersebut. berfungsi untuk me-link-kan kita dengan file lain (*.dcu) sehingga kita bisa membuat beberapa form yang terhubung satu dengan yang lainnya. Onkeypress *.dfm (Delpi Form) File ini berisi informasi mengenai data-data form. Laboratorium Sistem Logistik Dan Bisnis 7 Laboratorium Sistem Logistik Dan Bisnis 8 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta *.res (Windows Resources) Tab Events, dan klik ganda pada area putih disebelah kanan event OnClick • Pilih button, pilih Tab Events, dan masukkan nama method yang dikehendaki, misal *.dof (Delphi project options) btnHelloClick pada area putih di sebelah kanan event OnClick Kita dapat mengubah icon aplikasi tersebut, dan datanya disimpan pada file ini. Contoh program : Buatlah sebuah program dengan sebuah click button, yang bila diklik namannya berubah *.exe dari start ke stop, dan bila diklik lagi namannya berubah dari stop ke start. Merupakan appllication file setelah kita compile program kita. Solusi : Ambil komponen button1, dan klik 2 kali pada button tersebut. Isikan pada unit 1 1.7. Cara Delphi Bekerja procedure berikut: Saat anda menambahkan Components pada Form1 dan merubah nilai properti, Delphi procedure TForm1.Button1Click(Sender: TObject); akan membuat (pseudo) code (dalam Unit1.dfm) untuk mendefinikan apa yang anda lakukan. begin Secara normal, ANDA TIDAK DIHARAPKAN MENGUBAHNYA Unit1.dfm File; Anda if Button1.Caption ='Start' then hanya bekerja pada Form1 secara Visual. Ini yang dinamakan bahasa pemrograman Visual button1.Caption:='Stop' // check caption pada button1 apabila = Start maka ubah (Visual Programming). // caption ke Stop else button1.Caption:='Start'; Apakah Delphi itu? end ; • Delphi (IDE) adalah sebuah Visual Interface antara anda (the User) dan Komputer anda Ganti caption button1 pada Object Inspector = Start; (yang berjalan diatas Windows ). Keterangan : Program ini bekerja ketika button1 di klik maka caption pada button1 akan • Delphi menterjemahkan Visual Components (Buttons, Panels,..) yang ada pada Form berubah menjadi stop, bila stop di klik, makan button1.caption akan berubah menjadi start. kedalam sebuah kode-kode komputer (pseudo in Unit1.dfm) yang mendefinisikan bagaimana dibentuknya form dan komponennya termasuk juga propertinya. Saat anda mengkompilasi program, apa yang terjadi? • Delphi akan memanggil file .dpr file (file proyek anda) • Delphi meminta program yang ada dalam proyek tersebut dan file dpr memberikan sbb : uses Gambar1.7 Hasil Dari Program Event On Click Forms, 1.9. Cara Menyimpan File Baru Unit1 in ‘Unit1.pas’ {Form1}; • Delphi meminta, Apa yang dilakukan pertama kali ? .dpr file memberikan sbb : begin Application.Initialize; itializes stuff Application.CreateForm(Tform1, Form1); Application.Run; end. 1.8. Membuat Method/Procedure lewat Event Saat anda menekan tombol pada sebuah form atau komponen, Windows memberitahukan bahwa aplikasi mengirim pesan yang dibangkitkan oleh event tertentu . Delphi akan menanggapi dengan menerima event atau panggilan tersebut. Hal ini yang dinamakan penanganan event (event-handler method). Delphi mendefinisikan sejumlah event pada setiap komponennya. Daftar event ini bebeda untuk setiap komponen. Event yang paling umum pada komponen Button adalah OnClick. Artinya jika komponen Button tersebut di Klik maka akan melakukan procedure apa. Ada beberapa teknik yang dapat dilakukan untuk menangani event misal OnClick pada komponen button : • Klik ganda pada button tersebut, maka sebuah method/procedure btnHelloClick • Pilih button, kemudian pilih Object Inspector’s combo box (called the Object Selector), pilih Gambar1.8 Cara Menyimpan File Baru Laboratorium Sistem Logistik Dan Bisnis 9 Laboratorium Sistem Logistik Dan Bisnis 10 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta 1.20. Cara Menjalankan program 1.22. Melihat Daftar Unit yang Ada Gambar1.9 Cara Menjalankan program Gambar1.10 Cara Melihat daftar unit yang ada 1.21. Melihat Daftar Form yang Ada Tugas : buatlah program yang bila bitbutton1.caption di klik, maka bitbutton1.color berubah, dan form2 terbuka. (gunakan form2.show)!!!! Gambar1.8 Cara Melihat daftar form yang ada Laboratorium Sistem Logistik Dan Bisnis 11 Laboratorium Sistem Logistik Dan Bisnis 12 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta BAB 2 yang dimiliki objek pada suatu saat merupakan keadaan objek pada saat itu. Informasi OBJECT ORIENTED PROGRAMMING (OOP) tersebut pada akhirnya memberikan identitas khusus yang membedakan suatu objek dengan objek lainnya. 2.1 Apa itu OOP? OP atau Object Oriented Programming (Pemrograman Berorientasi Objek) 2.2. Kelas merupakan suatu bentuk pemrograman yang memodelkan masalah dengan pendekatan objek. Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data. Dalam bukunya yang berjudul An Introduction to Object Oriented Programming, Timothy Kelas juga dikenal sebagai tipe objek. Karenanya, representasi atau wakil dari suatu kelas Budd dalam Wishnu Widiarta mengutip karakteristik fundamental OOP dari Alan Kay (yang adalah objek kelas tersebut. Sebuah kelas merupakan tipe data yang mengenkapsulasi data dianggap oleh sebagian orang sebagai bapak OOP), adalah sebagai berikut [Budd]: dan operasi pada data dalam suatu unit tunggal. Berbeda dengan procedural programming 1. Semua adalah objek. yang memisahkan antara data dan fungsi sebagai elemen yang berbeda. 2. Komputasi dilakukan dengan komunikasi antarobjek. Setiap objek berkomunikasi dengan 2.3. Enkapsulasi objek yang lain melalui pengiriman dan penerimaan pesan. Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan untuk Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam menyelesaikan suatu tugas tertentu. sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi. Inilah salah satu konsep dalam OOP yang tidak terdapat pada procedural programming. Tipe data record pada 3. Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya. Pascal atau struct pada C hanya mengumpulkan data namun tidak untuk fungsi atau operasi. 4. Setiap objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat mewakili Kelas menyatukan data dengan operasi dalam satu kesatuan. Sebagai tambahan dalam sekelompok objek yang sama enkapsulasi, OOP lebih dikarakterisasikan dengan pewarisan (inheritance) dan polimorfisme (polymorphism). Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari 5. Kelas merupakan kumpulan tingkah laku yang berkaitan dengan sebuah objek. Jadi, semua suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci. Sebuah contoh, kelas objek yang merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula. Mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa kita perlu 6. Kelas-kelas diorganisasi ke dalam struktur pohon yang berakar tunggal, dinamakan jenjang tahu komposisi bahan bakar, udara, dan kalor yang diperlukan untuk proses tersebut. Disini pewarisan (inheritance hierarchy). Memori dan tingkah laku yang berkaitan dengan wakil terjadi proses enkapsulasi terhadap rincian bagaimana sebuah mobil dijalankan. dari sebuah kelas secara otomatis tersedia pada tiap kelas yang berasosiasi dengan sebuah turunan dalam struktur pohon ini. Jenjang ini bisa juga dipandang sebagai jenjang 2.4. Pewarisan piramida, dengan kelas super atau kelas utama menduduki peringkat teratas dari semua Sebuah objek dideskripsikan melalui sebuah kelas. Semua perilaku dari sebuah objek, kelas turunannya. dapat diketahui dengan mengenali kelas dari objek yang bersangkutan. Jika kita tahu bahwa objek “Dodol” adalah sebuah makanan, maka kita tahu bahwa objek itu bisa kita makan, mengandung zat-zat pembentuknya, dengan sejumlah protein atau mineral, misalnya. 2.5. Polimorfisme Polimorfisme merupakan kemampuan objek-objek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama [Deitel]. Polmorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan [Cornell]. Misalnya kita mempunyai kelas Truk yang memiliki method Jalan, dengan kelas TrukMini yang merupakan turunan dari kelas Truk, yang juga memiliki method Jalan. Sebuah objek yang bertipe TrukMini dan memanggil method Jalan, akan memanggil method Jalan yang terdapat pada kelas TrukMini, dan bukan method Jalan pada kelas Truk. Dengan menginstruksikan tugas khusus dan terbatas pada setiap objek, programmer dapat memecah masalah pemrograman menjadi bagian-bagian kecil sehingga dapat mengatasi kompleksitas permasalahan dengan lebih mudah. Setiap objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi, dan identitas objek ([Horstmann] hal. 1). Sebuah objek dapat menyimpan informasi sebagai hasil operasi sebelumnya. Informasi tersebut menentukan bagaimana objek melakukan operasi selanjutnya. Koleksi dari seluruh informasi Laboratorium Sistem Logistik Dan Bisnis 13 Laboratorium Sistem Logistik Dan Bisnis 14 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta BAB 3 end; FORM, TIPE DATA DAN MENU 3.2.2. IF … THEN … ELSE : Pemilihan 2 kasus 3.1. Form, Dialog Boxes, Messages Perintah bersyarat If umumnya digunakan untuk melakukan pencabangan sederhana (antara 2 atau 3 cabang). Atau untuk pencabangan yang banyak, dimana kondisi yang menjadi Menampilkan Form atau Window prasyaratnya melibatkan lebih dari satu parameter. Bentuk sintaks dari perintah bersyarat ini adalah: Anda dapat bekerja dengan beberapa form pada sebuah project. Saat anda berada di Form1 untuk menampilkan form yang lain misal Form2 sbb : If <kondisi_pencabangan> then Begin Form2.Show; ... {aksi-1} Membuka (Shows) Form2 (tetapi user diijinkan untuk dapat mengklik Form1) end else Form2.ShowModal; Begin Membuka (Shows) Form2 (tetapi user TIDAK DIIJINKAN mengklik Form1) ... {aksi-2} end; Menampilkan Pesan (Message) ShowMessage('Ini kotak pesan); 3.2.3. IF … THEN … ELSE : Pemilihan N kasus Tampilan sederhana sebuah baris/teks; User dapat menekan tombol OK untuk keluar dari kotak pesan (message window). If <kondisi_pencabangan1> then Begin MessageDlg('Msg',mtConfirmation,[mbYes],0); ... {aksi-1} Mirip ShowMessage tapi dapat lebih dari satu tombol pilihan. end else if MessageDlg('Please say YES or NO',mtConfirmation,[mbYes,mbNo],0)=mrYES then If <kondisi_pencabangan2> then begin Begin ... {aksi-2} Label1.Text:='Tekan tombol YES'; end end; else Begin 3.2. PERINTAH PENCABANGAN / STRUKTUR PEMILIHAN ... {aksi-3} End; Pada beberapa kasus terkadang kita menginginkan komputer melakukan suatu aksi tertentu bila suatu kondisi terpenuhi. Keberadaan perintah bersyarat pada suatu program 3.4. CASE … OF … : Pemilihan N kasus memberikan pencabangan proses seperti ditunjukkan oleh Error! Not a valid link.. Bahasa Pascal menyediakan dua cara penyajian perintah bersyarat, yaitu If…Then…Else dan Perintah bersyarat Case umumnya digunakan untuk kondisi dengan banyak pencabangan. Case…of. Syarat Pada prinsipnya pemilihan aksi dapat dikelompokkan menjadi 3 bagian : pencabangan pada bentuk ini hanya boleh melibatkan satu buah parameter dengan tipe data • Pemilihan 1 pilihan/kasus. Gunakan perintah IF – THEN bukan Real. Pemeriksaan kondisi di sini lebih tepat disebutkan dalam hubungan relasi • Pemilihan 2 pilihan/kasus. Gunakan perintah IF – THEN – ELSE samadengan (=). Dengan demikian bila parameter bernilai tertentu maka dilakukan suatu aksi terkait, bila bernilai lain maka dilakukan aksi yang lain juga, demikian seterusnya. • Pemilihan N pilihan/kasus. Gunakan Case – of (Catatan sebenarnya dapat menggunakan if—then – else bersarang) Case <Parameter> Of <nilai_1> : <aksi_1> ; 3.2.1. IF … THEN : Pemilihan 1 kasus <nilai_2> : <aksi_2> ; Perintah bersyarat If – then digunakan hanya melakukan 1 aksi bila kondisi dipenuhi. Bentuk ... sintaks dari perintah bersyarat ini adalah: <nilai_n> : <aksi_n> ; Else <aksi_n+1> ; If <kondisi_pencabangan> then End; Begin ... {aksi-1} Laboratorium Sistem Logistik Dan Bisnis 15 Laboratorium Sistem Logistik Dan Bisnis 16 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta 3.3 Tipe Data Setiap kali kita membuat program akan selalu diperhadapkan dengan tipe data. Tipe data ini memegang peranan penting saat kita akan memproses data tersebut. Karena kita tidak bisa memproses data tersebut jika tidak mengetahui tipe data dari nilai atau variabel yang akan diproses. Melalui tulisan ini penulis akan memperkenalkan beberapa tipe data yang umum dipakai dan contoh penggunaannya. Seperti kita ketahui di Delphi penggunaan tipe data sangat ketat, contoh suatu variabel bertipe string akan kita isi dengan variabel lain dengan tipe data integer, maka sistem akan menolaknya. Kasus ini akan serupa jika kebalikannya. Untuk dapat mengisikan nilai ke variabel lain yang berbeda nilainya diperlukan konversi tipe data. Dibawah ini adalah sebagian dari tipe data pada Delphi : BERLATIH TIPE DATA DI DELPHI Setiap data yang disimpan di memori komputer harus memiliki tipe data. Tipe data yang sederhana sekali adalah dikelompokkan menjadi 2 bagian : 1. Teks : a. Char (terdiri dari 1 huruf / 1 angka) b. String (terdiri dari beberapa huruf/ angka) 2. Bilangan : a. Integer (bilangan bulat ) b. Real (bilangan pecahan) Di Delphi ada beberapa tipe data varian dari kedua tipe data tersebut, yang membedakan adalah range (rentang nilainya). Lihat lampiran tipe data lebih lengkap. Berlatih Tipe Data Integer dan String Dengan memahami seperti ini kita akan coba membuat sebuah program (projek) untuk menghitung Volume dan Luas Permukaan Balok, rumusnya sbb : Volume := P * L * T Luas := (2 * P * L) + (2 * P * T) + (2 * L * T) Berikut desain form di Delphi : Gambar 3.1 Tampilan Form Menghitung Volum dan Luas Balok Tempatkan komponen-komponen berikut pada form kemudian ubah nilai properties-nya : 1. Label1 : - Caption : Menghitung Volume & Luas Permukaan Balok - Font.Style : Bold - Font.Size : 16 Laboratorium Sistem Logistik Dan Bisnis 17 Laboratorium Sistem Logistik Dan Bisnis 18 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta 2. Label2 3.6. Membuat Menu - Caption : Panjang 3. Label3 Memakai Menu - Caption : Lebar 4. Label4 Menu memberikan cara yang mudah untuk menjalankan kelompok perintah-perintah. - Caption : Tinggi Menu Designer memungkinkan Anda untuk menambahkan sebuah menu ke dalam form. 5. Label5 Anda hanya perlu menambahkan sebuah komponen menu ke dalam form, membuka Menu - Caption : Volume Designer dan mengetikkan item-item menu pada jendela Menu Designer. Pada saat 6. Label6 perancangan, Anda dapat menambah, menghapus item-item menu, atau drag dan drop untuk - Caption : Luas Permukaan mengatur ulang. 7. Edit1.Text, Edit2.Text, sampai dengan Edit5.Text diisi dengan nilai 0 8. Button1: Ada dua komponen menu, yaitu MainMenu dan PopUpMenu. Komponen MainMenu - Caption : Hitung membuat menu yang menempel pada title bar dari form. Sedangkan PopUpMenu membuat menu pada saat - Event Onclick sebagai berikut : user mengklik kanan pada form atau pada sebuah komponen. Kita akan membuat sebuah aplikasi yang memakai MainMenu dan PopUpMenu. Var p,l,t, vol, luas : integer; //tempatkan variable di atas procedure procedure TForm1.Button1Click(Sender: TObject); 1. Buatlah aplikasi baru, ubah caption dari form menjadi ‘Mencoba Menu’. begin // Konversi dari String ke Integer 2. Tambahkan MainMenu, PopUpMenu dan Edit. MainMenu dan PopUpMenu P := StrToInt(Edit1.Text); adalah komponen NonVisual, jadi Anda dapat menempatkannya di mana saja. L := StrToInt(Edit2.Text); 3. Pilih MainMenu dan kita akan membuka Menu Designer. T := StrToInt(Edit3.Text); Caranya: • Klik ganda pada komponen menu. Vol := P * L * T; • Dari page Properties Object Inspector, pilih Items, lalu klik ganda [Menu} pada Luas := (2*P*T) + (2*P*L) + (2*T*L); kolom isian atau klik tanda (…). Menu Designer ditampilkan dengan item pertama //Konversi dari Integer ke String yang kosong dan dipilih. Edit4.Text := IntToStr(Vol); Edit5.Text := IntToStr(Luas); end; 9. Image1 : untuk menampilkan gambar bertipe BMP atau JPEG (optional) - Picture : Balok.bmp (sebelumnya sudah dibuat menggunakan Program PAINT) Hasil Running : (Isikan nilai panjang=10, Lebar=15, Tinggi=12) Gambar 3.3 Tampilan Form Menu 4. Ketikkan &Pilihan. Karakter & dipakai untuk menyatakan shortcut dari menu. Pada tampilan menu, karakter P akan bergaris bawah. Pada saat menjalankan aplikasi, Anda dapat memanggil menu dengan menunjuknya atau tekan Ctrl+P. Gambar 3.2 Tampilan Form Hasil Menghitung Volum dan Luas Balok Gambar 3.4 Membuat Form Menu Laboratorium Sistem Logistik Dan Bisnis 19 Laboratorium Sistem Logistik Dan Bisnis 20 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta 5. Lengkapi menu tersebut dengan beberapa item di bawahnya: Edit Warna &Biru Edit Warna &Menu Edit Warna &Hijau 6. Di samping kanan item &Pilihan tambahkan &Keluar. Menu lengkapnya sebagai berikut. Gambar 3.6 Tampilan Hasil Form Menu Source code : unit UMenu1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; Gambar 3.5 Mengisi Menu type 7. Sekarang kita akan mengisikan item pertama (Edit Warna Biru). Klik ganda item TForm1 = class(TForm) tersebut dan Anda akan masuk ke Code Editor dan isikan: MainMenu1: TMainMenu; PopupMenu1: TPopupMenu; Edit1: TEdit; Edit1.Color := clBlue; Pilihan1: TMenuItem; Keluar1: TMenuItem; EditWarnaBiru1: TMenuItem; 8. Selanjutnya untuk item kedua dan ketiga, masing-masing isikan: EditWarnaMerah1: TMenuItem; Edit1.Color := clMenu ; EditWarnaHijau1: TMenuItem; dan eksWarnaKuning1: TMenuItem; eksWarnaMErah1: TMenuItem; Edit1.Color := clLime ; eksWarnaDefault1: TMenuItem; procedure EditWarnaBiru1Click(Sender: TObject); 9. Tekan tombol Close untuk mengakhiri main menu. procedure EditWarnaMerah1Click(Sender: TObject); procedure EditWarnaHijau1Click(Sender: TObject); procedure eksWarnaKuning1Click(Sender: TObject); 10. Kita akan mengisi PopUpMenu. Dari form, klik ganda pada PopUpMenu, sekali lagi procedure eksWarnaMErah1Click(Sender: TObject); Anda akan masuk ke Menu Designer dan isikan item-item menu berikut. procedure eksWarnaDefault1Click(Sender: TObject); private { Private declarations } Teks Warna K&uning public Teks Warna Me&rah { Public declarations } end; Teks Warna &Default var 9. Untuk setiap item isikan: Form1: TForm1; Edit1.Font.Color := clYellow ; implementation {$R *.dfm} Edit1.Font.Color := clRed ; procedure TForm1.EditWarnaBiru1Click(Sender: TObject); Edit1.Font.Color := clWindowText ; begin Edit1.Color := clBlue ; end; 11. Terakhir untuk item Keluar, isikan: procedure TForm1.EditWarnaMerah1Click(Sender: TObject); begin Application.Terminate ; Edit1.Color := clRed ; end; procedure TForm1.EditWarnaHijau1Click(Sender: TObject); PopUpMenu1 akan ditampilkan jika Anda mengklik kanan pada komponen Edit1. begin Untuk menghubungkan kedua komponen tersebut, klik Edit1. Dari Object Inspector, pilih Edit1.Color := clGreen ; end; property PopUpMenu, Anda dapat mengklik anak panah bawah dan pilih PopUpMenu1. procedure TForm1.eksWarnaKuning1Click(Sender: TObject); Rancangan form: begin Edit1.Font.Color := clYellow end; procedure TForm1.eksWarnaMErah1Click(Sender: TObject); Laboratorium Sistem Logistik Dan Bisnis 21 Laboratorium Sistem Logistik Dan Bisnis 22 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta begin Edit1.Font.Color := clRed ; end; 4. Isikan item pertama, yaitu Biru muda. Tekan Enter atau panah bawah untuk item procedure TForm1.eksWarnaDefault1Click(Sender: TObject); selanjutnya, yaitu Biru tua. begin Edit1.Font.Color := clWindowText ; end; Event OnContextPopup end. Komponen PopupMenu dapat dihubungkan ke sebuah komponen dengan mengatur Membuat Submenu properti PopupMenu dari komponen tersebut. Cara lain dengan memanggil PopupMenu Beberapa menu aplikasi mempunyai daftar drop-down yang muncul di samping sebuah menggunakan method Popup. Method ini memerlukan posisi layar untuk menampilkan item menu, dipakai untuk member pilihan tambahan (perintah-perintah yang berhubungan). menu. Salah satu cara menentukan posisinya adalah dengan mengubah posisi lokal dari Daftar tersebut ditunjukkan oleh sebuah anak panah di sebelah kanan item menu. Cara komponen menjadi posisi layar. Untuk itu Anda memerlukan method ClientToScreen, yaitu demikian dapat menghemat tempat secara vertikal. Cara membuat submenu: untuk mengubah posisi lokal menjadi posisi layar. 1. Buka kembali aplikasi menu sebelumnya, dan pilih sebuah item menu, misalnya Edit Event OnContextPopup terjadi pada saat user mengklik kanan tombol mouse pada Warna Biru. sebuah kontrol, atau memanggil menu popup dengan keyboard. Untuk mencoba kemampuan- kemampuan tersebut, kita akan membuat sebuah aplikasi. 2. Klik kanan tombol mouse untuk menampilkan menu local (popup menu). 1. Tambahkan komponen ColorDialog (dari page Dialogs) dan tiga buah Label. 2. Tambahkan sebuah PopupMenu dengan sebuah menu, yaitu Warna. 3. Tambahkan sebuah PopupMenu lagi, dengan tiga buah menu, yaitu Kiri, Tengah, Kanan. 4. Misalnya jika Anda mengklik kanan tombol mouse pada Label1, kita akan menampilkan PopupMenu pertama dengan posisi mouse pada saat diklik. Jadi posisi menu dapat berubah-ubah bergantung pada tempat klik. Untuk itu kita harus mengubah posisi lokal pada Label1 menjadi posisi di layar dengan method ClientToScreen. Buatlah event handler OnMouseDown dari Label1. 5. Event handler OnContextPopup dari Label2 akan menampilkan menu Popup yang kedua dengan menambahkan dua menu, yaitu garis batas dan informasi waktu. Setelah selesai, kedua menu tambahan akan dihapus. Menu dihapus dengan urutan terbalik, dari yang terakhir dan berjalan mundur. Gambar 3.7 Membuat SubMenu 6. Event handler OnContextPopup tidak hanya untuk menampilkan menu popup, tetapi juga dapat melakukan operasi lain. Misalnya untuk menampilkan kotak dialog. Tambahkan 3. Pilih Create Submenu, akan muncul anak panah kanan dan tempat mengisikan item OnContextPopup dari Label3 untuk menampilkan kotak dialog. menu. Source code : unit UMenu2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; type TForm1 = class(TForm) ColorDialog1: TColorDialog; Label1: TLabel; Label2: TLabel; Label3: TLabel; PopupMenu1: TPopupMenu; Warna1: TMenuItem; Gambar 3.8 Menambah SubMenu PopupMenu2: TPopupMenu; Laboratorium Sistem Logistik Dan Bisnis 23 Laboratorium Sistem Logistik Dan Bisnis 24 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta Kiri1: TMenuItem; BAB 4 Tengah1: TMenuItem; MEMBUAT APLIKASI DATABASE DENGAN DELPHI – MS. ACCESS Kanan1: TMenuItem; procedure Label1MouseDown(Sender: TObject; Button: STUDI KASUS “INPUT DATA BARANG” TMouseButton; Shift: TShiftState; X, Y: Integer); Langkah Pertama procedure Label2ContextPopup(Sender: TObject; MousePos: TPoint; Langkah pertama yang harus kita lakukan dalam membuat aplikasi ini adalah var Handled: Boolean); membuat database di MS. Access dengan nama db_toko. Lalu buat sebuah tabel barang procedure Label3ContextPopup(Sender: TObject; MousePos: bernama b_barang dengan 2 field yaitu kd_barang dan nama_barang. Seperti 2 tampilan TPoint; var Handled: Boolean); gambar di bawah ini. private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var PosisiLokal, PosisiLayar : TPoint ; begin if Button = mbRight then begin PosisiLokal.X := X ; PosisiLokal.Y := Y ; PosisiLayar := Label1.ClientToScreen(PosisiLokal) ; PopupMenu1.Popup(PosisiLayar.X, PosisiLayar.Y); end ; end; Gambar 4.1 Tampilan Pada MS. Access procedure TForm1.Label2ContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean); var PosisiLayar : TPoint ; begin // menambah menu secara dinamik PopupMenu2.Items.Add(NewLine) ; PopupMenu2.Items.Add(NewItem(TimeToStr(Now),0,False,True,nil,0, Gambar 4.2 Membuat Tabel '')); // menampilkan menu Letakkan file database MS. Access tersebut pada folder yang sama dengan aplikasinya. PosisiLayar := ClientToScreen(MousePos) ; PopupMenu2.Popup(PosisiLayar.X, PosisiLayar.Y) ; // menghapus menu tambahan Langkah Kedua PopupMenu2.Items[4].Free ; Setelah kita selesai membuat database, maka saatnya kita beralih ke Delphi untuk PopupMenu2.Items[3].Free ; end; membuat interface aplikasinya. Pada latihan kali ini, kita akan menggunakan komponen procedure TForm1.Label3ContextPopup(Sender: TObject; MousePos: koneksi ke MS. Access dengan ADO yang merupakan komponen bawaan Delphi. TPoint; var Handled: Boolean); Rancangan form untuk input barang, simpan dengan nama file U_Utama.pas. begin ColorDialog1.Color := Label3.Color ; if ColorDialog1.Execute then Label3.Color := ColorDialog1.Color ; end; end. Laboratorium Sistem Logistik Dan Bisnis 25 Laboratorium Sistem Logistik Dan Bisnis 26 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta Gambar 4.5 Mengkoneksikan Delphi Ke Database Klik tombol Build, maka akan terlihat form berikut. Lalu pilih Provider-nya yaitu Microsoft Jet 4.0 OLE DB Provider Gambar 4.3 Rancangan Form Pada Delphi Komponen yang dibutuhkan untuk koneksi ke database MS. Access yaitu ADOConnection. Sedangkan komponen lainnya untuk mengolah data di database, yaitu ADOQuery dan DataSource(dari Pallete DataAccess). Letakkan komponen2 tersebut di DataModule seperti berikut. Simpan dengan nama file U_dm.pas. Gambar 4.4 Data Module Tempat Menyimpan Komponen yang Terhubung Ke Database Agar komponen yang ada pada datamodule dapat diakses dan digunakan oleh form tama, maka anda harus me-use unit datamodule dengan cara, aktifkan form utama, lalu tekan Alt + 11(File >> Use Unit), lalu pilih form datamodule. Seting properties komponen ADOconnection1: Gambar 4.6 Memilih Tipe Database Yang Ingin Dikoneksi • Dobleclick pada komponen ADOConnection1, maka akan tampil seperti berikut ini. Klik tombol Next, maka akan tampil gambar berikut. Pada bagian no.1 yaitu untuk memilih database yang akan digunakan. Anda klik tombol titik2 di samping untuk mem- browse file databasenya. Sehingga tampil pada bagian isian kosong tadi. Untuk mengetes koneksinya, sukses atau tidak, anda klik tombol Test Connection. Laboratorium Sistem Logistik Dan Bisnis 27 Laboratorium Sistem Logistik Dan Bisnis 28 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta procedure TForm1.btnSimpanClick(Sender: TObject); begin with DataModule1.ADOQueryTemp do begin Close; sql.Text:='insert into tb_barang values ('+QuotedStr(txtkd_brg.Text)+','+ QuotedStr(txtnama_brg.Text)+')'; ExecSQL; end; clear; Refresh; end; Kode program pada tombol Edit procedure TForm1.btnEditClick(Sender: TObject); begin with DataModule1.ADOQueryTemp do begin Close; sql.Text:='update tb_barang set nama_barang='+QuotedStr(txtnama_brg.Text)+ ' where kd_barang='+QuotedStr(txtkd_brg.Text)+''; ExecSQL; Gambar 4.7 Tes Koneksi end; Refresh; • Klik tombol OK, maka akan tampil seperti berikut ini. clear; • Klik tombol OK lagi, untuk finish. Dengan demikian seting koneksi anda btnSimpan.Enabled:=true; sudah selesai btnEdit.Enabled:=false; btnDelete.Enabled:=false; end; Kode program pada tombol Delete procedure TForm1.btnDeleteClick(Sender: TObject); begin with DataModule1.ADOQueryTemp do begin Close; sql.Text:='delete from tb_barang where kd_barang='+QuotedStr(txtkd_brg.Text)+ ' and nama_barang='+QuotedStr(txtnama_brg.Text)+''; ExecSQL; Gambar 4.8 Setting Koneksi Selesai end; Kode program pada event OnShow Form Refresh; procedure TForm1.FormShow(Sender: TObject); clear; begin btnSimpan.Enabled:=true; DataModule1.ADOQueryData.Active:=true; btnEdit.Enabled:=false; DataModule1.ADOQueryData.Refresh; btnDelete.Enabled:=false; btnSimpan.Enabled:=true; end; btnEdit.Enabled:=false; Kode program pada DBGRID event CellClick btnDelete.Enabled:=False; procedure TForm1.DBGrid1CellClick(Column: TColumn); end; begin Kode program pada tombol Simpan btnSimpan.Enabled:=false; Laboratorium Sistem Logistik Dan Bisnis 29 Laboratorium Sistem Logistik Dan Bisnis 30 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta btnEdit.Enabled:=true; BAB 5 btnDelete.Enabled:=true; MEMBUAT FORM LAPORAN DENGAN RAVE REPORT txtkd_brg.Text:=DataModule1.ADOQueryData.fieldByName('kd_ba rang').AsSt Rave Report pada Delphi 7 merupakan Rave versi 5 Borland Edition. Rave Designer ring; sendiri dapat berjalan jika Delphi 7 juga turut dijalankan. Kita dapat memanggil Rave txtnama_brg.Text:=DataModule1.ADOQueryData.fieldByName('nam Designer dengan mengakses menu Tools | Rave Designer dari Delphi 7 atau dengan a_barang'). meletakkan komponen RaveProject (yang ada pada page rave pada component pallete AsString; Delphi), lalu mengklik-kanan komponen tersebut dan memilih Rave Visual Designer. end; Kode program procedure Clear dan Refresh untuk mengosongkan 5.1. Rave Designer edittext procedure TForm1.refresh; Rave Designer, seperti dijelaskan namanya, digunakan untuk merancang, mengatur, begin dan menyimpan report-report yang akan dibuat. Pada Rave Report, suatu file Rave Project with DataModule1.ADOQueryData do (.rav) dapat berisi banyak report. Akibatnya dalam begin close; 5.2. Lingkungan Rave Designer SQL.Clear; Di bawah ini adalah tampilan Rave Designer: SQL.Text:='select * from tb_barang'; Open; end; end; procedure TForm1.clear; begin txtkd_brg.ReadOnly:=False; txtkd_brg.Clear; txtnama_brg.Clear; end; Sebelumnya pada bagian interface deklarasikan dulu procedure nya sbb. public { Public declarations } procedure clear; procedure refresh; Tampilan akhir setelah di running Gambar 5.1 Tampilan Rave Designer 5.3 Page Pada gambar Rave Designer di atas, di bagian tengah terdapat page. Page adalah tempat kita merancang report yang diinginkan. Suatu page juga mempunyai properti yang dapat diatur pada “Property Panel”. Di antaranya adalah properti PageHeight, PageWidth, dan PaperSize untuk mengatur ukuran kertas, dan juga orientasi kertas report yang akan Gambar 4.9 Tampilan Akhir dibuat. Laboratorium Sistem Logistik Dan Bisnis 31 Laboratorium Sistem Logistik Dan Bisnis 32 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta Gambar 5.2 Halaman Tampilan Cetak 5.4 Project Tree Panel Project Tree terletak pada bagian kanan tampilan utama Rave Designer. Project Tree Gambar 5.4 Property panel berfungsi untuk melakukan navigasi proyek yang dibuat dengan cara menampilkannya dalam bentuk treeview. Mirip dengan Object Treeview pada Delphi, pada project tree ditampilkan 5.6 Komponen Toolbar nama-nama report, Global Pages, dan Data View. Di bawah node report terdapat page dan di Terdapat empat komponen toolbar standar, yaitu: dalam node tersebut juga terdapat informasi komponen apa saja yang ada dalam page 1. Drawing tersebut. 2. Bar Code 3. Standard 4. Report o Komponen Drawing Digunakan untuk keperluan tampilan yang membutuhkan bentuk seperti garis, kotak, lingkaran, elips, atau gabungan dari komponen drawing tersebut. Gambar 5.3 Project Tree Panel Gambar 5.5 Drawing Toolbars Bila node aktif, tulisan node akan menjadi tebal dan berefek bayangan berwarna hijau. Pada Project Tree Panel di bawah node RaveProject terdapat tiga node utama, yaitu: ◘ Report Library Komponen-komponen tersebut adalah Menampilkan nama-nama report pada proyek yang aktif. Pada tiap report mungkin saja · Line · Hline terdapat lebih dari satu page yang berisi komponen-komponen. · Vline · Rectangle ◘ Global Page Catalog · Square · Elipse Berisi report templates dan mengatur report templates yang dapat berisi komponen- · Circle komponen. Report templates dapat digunakan kembali dengan menggunakan Mirroring. ◘ Data View Dictionary o Komponen Barcode Menampilkan koneksi-koneksi yang telah didefinisikan. Data diambil dari aplikasi melalui Terdapat enam komponen barcode, yaitu: koneksi yang ada pada aplikasi yang bersangkutan. · PostNetBarcode · 2of5BarCode · Code39BarCode · 128BarCode 5.5 Property Panel · UPCBarCode · EANBarCode Property Panel digunakan untuk mengatur properti-properti komponen yang dipilih. Property Panel berfungsi seperti Object Inspector pada Delphi. Gambar 5.6 Komponen Barcode Laboratorium Sistem Logistik Dan Bisnis 33 Laboratorium Sistem Logistik Dan Bisnis 34 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta Komponen Output o Komponen Standard Komponen-komponen ini adalah komponen-komponen yang cukup sering digunakan, yaitu untuk keperluan menampilkan teks atau image yang tidak terkait dengan data yang terkoneksi pada database. Gambar 5.7 Komponen Standard • Text, digunakan untuk menampilkan teks (satu baris). Teks dapat diubah melalui properti text. • Memo, digunakan untuk menampilkan beberapa baris teks. • Section yang dapat menampung beberapa komponen sekaligus (seperti komponen panel pada Delphi). • Bitmap dan MetaFile, digunakan untuk menampilkan images. • FontMaster, digunakan untuk mendefinisikan font standar untuk bagian dari report, seperti header, body, dan footer. • PageNumInit, untuk penomoran page. o Komponen Report Terdapat 11 komponen report, yaitu: · DataText · Region · CalcOp · DataMemo · Band · CalcTotal · CalcText · DataBand · CalcController · DataMirrorSection · DataCycle Gambar 5.8 Komponen Report Titik merah pada sudut kanan atas ikon menandakan bahwa komponen tersebut adalah komponen data-aware yang dapat menampilkan data dari database. Setiap komponen mempunyai properti DataView untuk berinteraksi dengan database. Komponen berwarna hijau adalah komponen nonvisual dan tidak terlihat pada Page Designer, tetapi terlihat pada Project Tree Panel. Komponen Band dan DataBand harus diletakkan bersama region. Sebelum meletakkan Band atau Databand pada Page Designer, letakkan region terlebih dahulu. Selanjutnya letakkan Band atau DataBand pada region tersebut. Suatu region dapat menampung banyak Band dan jumlah region pada Page Designer dapat lebih dari satu. Report Class 5.7 Page Rave Report Gambar 5.8 Komponen Rave Report pada Delphi Ada dua tipe obyek pada Rave, yaitu komponen Output dan Report Class. Laboratorium Sistem Logistik Dan Bisnis 35 Laboratorium Sistem Logistik Dan Bisnis 36 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta 4. Namakan report baru tersebut sebagai RepBarang. Caranya klik tanda “+” Report Library, lalu pilih Report1 pada Project Tree, dan ketikkan RepBarang di properti Name pada Property Panel. 5. Untuk membuat report anggota, kita memerlukan data dari database. Untuk itu kita memerlukan DataView. Caranya, klik Menu File | New Data Object. Setelah itu pilih Direct Data View, lalu klik Next. 5.8 Membuat Laporan 1. Letakkan ADOQuery (beri nama ADOQueryLapAgtAktif) pada DataModule (DM) yang telah ada. Isi properti Connection-nya dengan ADOConnection1 (yang sudah terkoneksi ke database Perpustakaan, dan pastikan nilai dari properti Connected adalah TRUE). Kemudian masukkan contoh query berikut pada properti SQL: SELECT *FROM Kd_barang Selanjutnya akan tampil koneksi yang aktif (RvDataSetConnectionLapAgtAktif) pada aplikasi yang sedang kita buat. Pilih Active Data Connection tersebut, lalu klik Finish. Isi properti Active dengan nilai TRUE. Selanjutnya letakkan RvDataSetConnection yang berada pada Page Rave dan beri nama RvDataSetConnectionLapBarang. Isi properti DataSet 6. Setelah itu terbentuklah DataView menjadi ADOQueryLapbarang. 2. Jalankan Rave Designer melalui menu Tools | Rave Designer pada Delphi. 3. Setelah itu, masuk pada Rave Designer, dan buatlah proyek baru dari menu File | New. Hasilnya akan terlihat seperti Gambar: Laboratorium Sistem Logistik Dan Bisnis 37 Laboratorium Sistem Logistik Dan Bisnis 38 Teknik Industri UNS Teknik Industri UNS Modul Pelatihan Delphi Modul Pelatihan Delphi By: Ardy Denta By: Ardy Denta 7. Setelah DataView sudah ada, report sudah siap dirancang. Letakkanlah komponen Region (pada page report) pada page yang aktif sehingga seperti Gambar (sebelah kanan): Setelah itu klik OK (Preview), sehingga muncul tampilan seperti Gambar LAPORAN INPUT DATA 8. letakkan data band dan data text beserta bentuk desain yang diinginkan. Jangan lupa ubah data view dan data field pada Data band dan data text neggunakan panel property sesuai dengan data view yang ingin ditampilkan. LAPORAN INPUT DATA DAFTAR PUSTAKA Marcus, Teddy. 2003. Pemrograman Delphi untuk Pemula: IDE dan Struktur Pemrograman. Ilmu komputer.com Marlina, Euis , Membuat Aplikasi Database dengan Delphi – MS. Access-Studi Kasus “Input Data Barang”. http://lina84.wordpress.com. 9. Bila sudah terbentuk desain sesuai dengan yang diharapkan program dapat deieksekusi Martina, Inge. 2004. “B36 Jam Belajar Komputer Pemrograman Visual Borland Delphi 7’. (F9), danakan tampil dialog Output Options: Jakarta:Elex Media Komputindo. Widiarta, Wisnu. 2009. ‘Buat Komponen Delphi Anda Sendiri”, ebook. Yanuar, Yahya dan Lukmanul Hakim.2004. pemrograman Delphi dengan database Microsoft SQL server. Jakarta: Elex Media Komputindo. Laboratorium Sistem Logistik Dan Bisnis 39 Laboratorium Sistem Logistik Dan Bisnis 40 Teknik Industri UNS Teknik Industri UNS