PEMBUATAN CLASS BERDASARKAN INPUT BERUPA
TABEL PADA BORLAND DELPHI 6
S k r i p s i
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Disusun Oleh :
Zita Ary Wulandari
NIM : 005314038
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
TABLE INPUT BASED CLASS COMPOSING USING
BORLAND DELPHI 6
A FINAL PROJECT
Submitted for The Partial Fulfillment of The Requirements
for The Degree of Informatic Engineering Study Program
By :
Zita Ary Wulandari
NIM : 005314038
INFORMATIC ENGINEERING STUDY PROGRAM
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
YOGYAKARTA
HALAMAN PERSEMBAHAN
Yesus Kristus, Sahabat hatiku yang selalu
melimpahkan kasih karunia dan terang Roh
Kudus-Nya di dalam hidupku. Terimakasih atas kado
terindah darimu yang tak cukup aku ungkapkan
dengan kata syukur yang teramat dalam sekalipun
pada-Mu. Engkaulah sumber kekuatan terbesar
dalam hidupku Sahabat. Thanks for your bless in
my life.
Teruntuk Papiku yang selalu mendukungku dalam keheningan hati dan teruntuk Mamiku
yang tanpa lelah dan mengenal waktu selalu mendoakanku untuk keber hasilanku.
Terimakasih Mum and Dad atas kasih
kalian selama ini kepada kami anak-anaknya yang selalu bandel.
For My Sweetheart, Dick thanks for your love and your care. It support me to do the best in my future. Donn't feel tyred to support me now until forever.
Boeat Nuky dan Evy yang centil-centil, Thanks to love me. I Love You too My Sisters.
Untuk Maz Diar dan Mbak Valen kami ngucapin banyak terimakasih atas diterimanya kami sebagai tamu tak diundang. Maz, gojlokanmu tidak sia-sia. ☺
Tuhan akan memberi segala sesuatu yang indah
tepat pada waktunya.
Tuhan akan mendatangi kita saat dalam kesulitan tanpa kita memintanyapun.
Segala sesuatu yang kita lakukan di dalam nama Tuhan akan indah hasilnya kelak
jadikan kegagalan kemarin sebagai pemicu keberhasilan di masa depan
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa atas segala rahmat dan
kasihnya, sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik.
Tugas akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana
Teknik pada jurusan Teknik Informatika Fakultas Teknik Universitas Sanata
Dharma.
Dalam kesempatan ini, penulis mengucapkan terima kasih kepada pihak
yang telah membantu sehingga penulis dapat menyelesaikan tugas akhir ini.
Dengan penuh rasa hormat, penulis mengucapkan terima kasih kepada :
1.
Ibu A.M. Polina, S.Kom, M.Sc. selaku ketua jurusan Teknik Informatika
Universitas Sanata Dharma Yogyakarta yang telah memberikan
kesempatan dan fasilitas untuk menyelesaikan studi pada Jurusan Teknik
Informatika.
2.
Bapak JB. Budi Darmawan, S.T., M.Sc. selaku dosen pembimbing I yang
memberikan bimbingan, perhatian, motivasi, nasehat, serta kemudahan
dalam mengerjakan tugas akhir ini.
3.
Staff Laboratorium (Pak Bele, Mas Danang dan Mas Catur), terima kasih
atas semua bantuannya dan udah mau direpotin.
4.
Keluargaku, Papi, Mami, Nuky, Evy dan Donny, Kak Dick yang
senantiasa setia mendoakan.
Penulis menyadari bahwa tugas akhir ini masih banyak kekurangannya dan masih memerlukan banyak perbaikan. Oleh sebab itu, penulis menerima kritik dan saran yang bersifat membangun untuk lebih sempurnanya tugas akhir ini. Atas kritik dan saran yang diberikan, penulis mengucapkan terima kasih. Harapan penulis,semoga tugas akhir ini dapat bermanfaat bagi semua pihak.
Yogyakarta, 02 April 2007
SURAT PERNYATAAN BUKTI KEASLIAN SKRIPSI
Dengan ini saya menyatakan bahwa skripsi ini adalah asli hasil karya saya dan tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Demikian surat pernyataan ini saya buat dengan sebenar – benarnya.
\Yogyakarta,Mei 2007
ABSTRAKSI
Programmer sering dihadapkan pada kenyataan bahwa dalam penulisan program (coding) tidak jarang harus menuliskan berulang-ulang. Misalnya pada waktu tertentu seorang programmer harus menyelesaikan beberapa program yang terdapat fasilitas untuk searching, update, delete, insert, dan browse. Ini menyebabkan kerja programmer tidak efisien. Belum lagi ketelitian dituntut dalam penulisan program (coding).
Dalam Tugas Akhir ini akan dibuat sebuah program yang akan membantu programmer dalam penulisan program (coding) pada Borland Delphi 6. Program ini akan mengolah informasi yang berupa tabel dari database MySQL menjadi kelas. Dari program yang dibuat akan menghasilkan source code yang terdapat metode searching, insert, delete, update, dan browse. Dari hasil program ini, user dapat memilih tabel dari database MySQL yang diinginkan. Sebagai contoh dipilih tabel buku dari database perpus. Dalam tabel buku terdapat field kodebuku, judulbuku, pengarang, dan hargabuku. lalu kita dapat memilih field yang akan dijadikan sumber untuk searching dan browse. Misal dipilih semua field yang ada pada tabel buku sebafai field sumber untuk searching dan browse, maka metode searching dan browse yang terbentuk berdasarkan pada semua field yang ada pada tabel buku. Sedangkan untuk update dan delete berdasarkan field kunci. Misal dipilih kodebuku dan judulbuku sebagai kunci, maka metode update dan delete yang terbentuk akan berdasarkan kodebuku dan judulbuku.
ABSTRACT
Programmer was often brought face to face in fact that in the writing of
the program (coding) not rare must write repeatedly. For example when certain a
person programmer must complete several programs that were received by
facilities to searching, update, delete, insert, and browse. This caused the work
programmer inefficient. That not to mention care was demanded in the writing of
the program (coding).
in the Task of this End will be made by a program that will help
programmer in the writing of the program (coding) to Borland Delphi 6.
DAFTAR
ISI
HALAMAN JUDUL ………... i
HALAMAN PERSETUJUAN ………... ii
PENGESAHAN ……….. ……. iii
PERSEMBAHAN………. iv
MOTTO ……… v
PENGANTAR ………. vi
SURAT BUKTI KEASLIAN ……… vii
ABSTRAKSI ………. .…… ix
ABSTRACT ………... x
DAFTAR ISI ………. xi
BAB I PENDAHULUAN
1.1 Latar Belakang ……… 11.2 Rumusan Masalah ……….... 2
1.3 Batasan Masalah ………. 2
1.4 Tujuan Penulisan ……….… 3
1.5 Manfaat Penulisan ... 3
1.6 Metodologi Penulisan ... 3
1.7 Sistematika Penulisan ………. 3
BAB II LANDASAN TEORI
2.1 Pemrograman Berorientasi Objek (PBO) ….………….………52.1.1 Kelas dan Objek pada Delphi ………7
2.1.2 Property ……… ……….8
2.1.3 Konstruktor dan Destruktor ……….. …… 9
2.1.5 Event Class ………. ………….. 10
2.1.6 Entity Class ……….. ….………. 10
2.2 Database dan Tabel ..……… ……….….. 10
2.2.1 ER-Diagram ………..…… 12
2.3 Data Flow Diagram (DFD) ……… 12
2.4 Database MySQL ………. 13
2.4.1 SQL (Structured Query Languange) ……… ……… .13
2.5 Borland Delphi ………. ………… .. 14
BAB III ANALISA DAN PERANCANGAN SISTEM 3.1 Gambaran Sistem Secara Umum ………..……… ………... 15
3.1.1 Identifikasi Masalah .……….
16
3.1.2 Cara Kerja Sistem ……….
17
3.2 Tahap Perancangan Sistem ……… ……….. 19
3.2.1 Konteks diagram .……… ……….. 19
3.2.2 Diagram Berjenjang ………. ……… 20
3.2.3 Diagram Arus Data Level 0 ……… 21
3.2.3 Diagram Arus Data Level 1……….… 22
3.3 Analisa Kebutuhan Sistem ……….… 22
3.4.1 Pemilihan Bahasa Pemrograman ……….. . 22
3.4.2 Kebutuhan Perangkat Lunak (
Software
) ……….….…. 23
3.4.3 Kebutuhan Perangkat Keras (
Hardware
) ……….… 23
BAB IV IMPLEMENTASI
4.1 Implementasi Program ………24
4.1.1.1 Koneksi Database ……… …...24
4.1.2 Form Tabel ……… …….25
4.1.2.1 Menampilkan Tabel ……… … …...25
4.1.2.2 Menampilkan Field……… …26
4.1.3 Form Searching... ...27
4.1.3.1 Fungsi getFields ……… …29
4.1.4 Form Insert ……… …30
4.1.5 Form Update ……… …32
4.1.6 Form Delete ……… …35
4.1.7 Form Browse ……… ….37
4.1.8 Form Execute ……… …40
4.1.8.1 Fungsi setProperty……….. .40
4.1.8.2 Prosedur setConstructor……… ...41
4.1.8.3 Prosedur setInisiasiAwal……… . 41
4.1.8.4 Prosedur Execute……… ..43
4.2 Hasil Program……….……….44
4.2.1 Tampilan Antar Muka Form Start ……….44
4 2.2 Tampilan Antar Muka Form Connect………....…….... 45
4.2.3 Tampilan Antar Muka FormTabel……….45
4.2.4 Tampilan Antar Muka Form Menu………... 46
4.2.5 Tampilan Antar Muka Form Insert………... . 47
4.2.6 Tampilan Antar Muka Form Browse………... . 48
4.2.7 Tampilan Antar Muka Form Searching………... . 49
4.2.8 Tampilan Antar Muka Form Update………... . 50
4.2.9 Tampilan Antar Muka Form Delete………... . 52
BAB V ANALISA SISTEM
5.1 Langkah-langkah pembuatan class ……….. 54
BAB VI PENUTUP
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan jaman saat ini menuntut manusia untuk melakukan
pekerjaan dengan efektif dan efisien waktu. Komputer menjadi salah satu sarana
yang tepat untuk mencapai tujuan tersebut. Salah satu profesi yang membutuhkan
komputer adalah programmer. Pekerjaan seorang programmer dituntut ketelitian
dan ketepatan waktu, sehingga waktu dan hasil maksimal sangat berarti bagi
seorang programmer. Ada kalanya seorang programmer dihadapkan pada situasi
yang menuntut untuk menyelesaikan beberapa pekerjaan (pembuatan program)
dalam waktu yang terbatas (singkat). Dalam situasi seperti ini waktu sskecil
apapun menjadi berharga bagi seorang programmer.
Pada kesempatan ini, penulis membuat program yang membantu
programmer dalam pembuatan kelas yang berdasarkan pada tabel database
MySQL. Program ini membantu programmer dalam keefisienan dan keefektifan
waktu pembuatan program aplikasi dalam Borland Delphi 6.
Dengan adanya penjelasan di atas, penulis tertarik untuk mengambil topik
“Pembuatan Kelas Berdasarkan Input Berupa Tabel pada Borland Delphi 6.”
1.2 Rumusan Masalah
Rumusan masalah dalam tugas akhir ini adalah “Bagaimana membuat
sebuah
class
dalam pemrograman Borland Delphi 6, yang mempunyai metode
browse, insert, searching, update dan delete dari informasi sebuah tabel
database
MySQL, sehingga diharapkan dapat mempermudah dan menyingkat waktu kerja
user khususnya programmer dalam pembuatan kode program. dalam
pemrograman Borland Delphi 6.”
1.3 Batasan Masalah
Batasan masalah dalam pembuatan tugas akhir ini adalah.
1. Tabel yang digunakan merupakan tabel tunggal dari database mySQL
2. Bahasa pemrograman yang digunakan dalam program untuk pembuatan class dalam pemrograman Borland Delphi 6, dari informasi sebuah tabel database MySQL ini adalah Borland Delphi 6.
1.4 Tujuan Penulisan
1.5 Manfaat Penulisan
Manfaat dari penulisan tugas akhir ini adalah membantu user untuk penulisan kode class dari informasi sebuah tabel MySQL pada Borland Delphi 6
1.6 Metodologi Penulisan
1. Analisa program
Perancangan program digambarkan dengan Diagram Arus Data (DAD). Diagram Arus Data (DAD) dibuat berdasarkan pada program yang akan dibuat, yaitu Pembuatan Class Berdasarkan Input berupa tabel pada Borland Delphi 6.
2. Pembuatan program
Pembuatan program berdasarkan perancangan program yang telah dibuat. Dari Diagram Arus Data (DAD), dapat dibuat program untuk Pembuatan Class Berdssarkan Input berupa tabel pada Borland Delphi 6.
1.7 Sistematika Penulisan Laporan
Untuk mempermudah dalam pembahasannya, sistematika penulisan laporan ini terbagi atas lima bab dengan garis besar sebagai berikut :
BAB I PENDAHULUAN
Bab ini menjelaskan beberapa hal yaitu latar belakang masalah,
batasan masalah, rumusan masalah, tujuan penulisan dan
sistematika penulisan.
BAB II LANDASAN TEORI
BAB III PERANCANGAN SISTEM
Bab ini merupakan bab yang membahas tentang analisis dan
perancangan sistem aplikasi yang akan dibuat.
BAB IV IMPLEMENTASI
Bab ini berisi implementasi dari rancangan sistem yang dibuat pada
bab sebelumnya ke dalam pemrograman sesungguhnya berupa
kode program dan tampilan antar muka. Bab ini juga berisi analisis
hasil program yang telah dibuat beserta kelebihan dan kekurangan
dari program.
BAB V
PENUTUP
BAB II
LANDASAN TEORI
Pada bab ini akan diberikan uraian mengenai Pemrograman Berorientasi Objek (PBO).yang dibentuk atas dasar kelas (class), database dan Tabel, Database MySQL dan Borland Delphi
2.1 Pemrograman Berorientasi Objek (PBO).
Sesuai namanya, pada Pemrograman Berorientasi Objek (PBO), segala sesuatu yang dimanipulasi dalam program adalah objek. Konsep Pemrograman Berorientasi Objek (PBO) sebenarnya meniru kehidupan nyata. Sebagai contoh mobil, buku dan pensil adalah objek. Konstruksi utama dari Pemrograman Berorientasi Objek ini terdiri dari dua hal, yaitu:
1. Atribut, yaitu sesuatu yang menentukan karakteristik sebuah objek.. sebagai contoh objek mobil mempunyai atribut seperti mesin, roda, rem, setir, dan sebagainya. Di dalam software, atribut ini dapat juga diartikan sebagai data.
2. Operasi, yaitu aksi objek terhadap atribut. Sebagai contoh mobil mempunyai operasi belok ke kanan, mengerem, dan sebagainya. Di dalam software, operasi ini direalisasikan dalam bentuk procedure dan function.
Pemrograman Berorientasi Objek memungkinkan pengembang perangkat lunak (software) untuk mengorganisasikan suatu permasalahan/sistem menjadi bagian-bagian yang lebih kecil. Keuntungan dari pemrograman berorientasi objek adalah:
1. Kode yang dituliskan mudah dimegerti karena kode tersebut dapat dikelompokkan ke dalam kelas sesuai permasalahannya.
2. Programmer dapat dengan mudah mengembangkan atau mengubah bagian-bagian dari program.
4. Kelas-kelas yang telah dibuat dapat digunakan untuk aplikasi lain.
Istilah lain yang masih berkaitan erat dengan objek adalah kelas. Kelas merupakan struktur umum dari objek-objek tertentu. Sebagai contoh mobil termasuk dalam kelas kendaraan.objek dari suatu kelas tidak dapat memiliki definisi atribut yang berbeda dengan kelas dari objek tersebut. Jadi pada dasarnya, kelas mempunyai atribut, sedangkan objek memiliki nilai dari atribut tersebut. Sifat objek biasanya merupakan function atau procedure yang diaplikasikan pada suatu kelas. Method merupakan implementasi dari operasi yang telah diaplikasikan pada kelas. Setiap bahasa pemrograman berorientasi objek harus mendukung tiga konsep dasar berikut:
• Pengkapsulan (encapsulation) yaitu penggabungan data dan method ke dalam satu kesatuan yang disebut kelas.
• Pewarisan (inheritance) yaitu konsep yang memungkinkan pembuatan kelas baru yang memiliki data dan method dari kelas lain tetapi juga memiliki data dan method sendiri.
• Polimorfisme (polymorphism) yaitu kemampuan meminta objek yang berbeda untuk menjalankan tugas/fungsi yang sama.
2.1.1 Kelas dan objek pada Delphi
Pada Delphi, kelas dan objek merupakan hal dasar yang banyak digunakan di dalam pemrograman. Kelas di Delphi didefinisikan dengan menggunakan kata kunci class. Kelas dapat dikatakan merupakan tipe data yang memiliki atribut dan operasi. Sedangkan objek merupakan implementasi dari kelas. Di dalam kelas terdapat atribut dan operasi. Pada Delphi, operasi ini biasa disebut sebagai method dan direpresentasikan dalam bentuk prosedur dan fungsi. Sedangkan atribut direpresentasikan dalam bentuk data/variabel yang dimiliki oleh kelas tersebut.
Di dalam Delphi dikenal tiga macam cara untuk membatasi tingkat pengaksesan data ataupun method yang ada, yaitu dengan membaginya menjadi tiga bagian private, protected dan public. Berikut akan dijelaskan mengenai ketiga hal ini:
2. Kata kunci public menandakan bahwa data dan method dari kelas tersebut dapat diakses secara bebas dari manapun sebagaimana dapat diakses pada unit dimana kelas tersebut didefinisikan.
3. Kata kunci protected menandakan bahwa data dan method hanya dapat diakses oleh kelas turunan dan subkelasnya. dari kelas tersebut tidak dapat diakses
Umumnya data dari suatu kelas diletakkan pada bagian public. Method dapat diletakkan pada bagian private (jika method ini hanya dibutuhkan untuk kepentingan internal dari kelas yang bersangkutan) ataupun protected (jika untuk kepentingan turunannya).
Pada Delphi, apabila ada lebih dari satu kelas yang dibuat dalam satu unit, maka kelas-kelas tersebut akan dapat saling mengakses method dan atribut masing-masing walaupun sudah diletakkan pada bagian private ataupun protected. Hal ini disebabkan pembatasan pengaksesan pada Delphi hanya pada satu unit saja. Jadi agar konsep pemrograman berorientasi objek ini berjalan dengan baik, sebaiknya dibuat satu kelas pada satu unit. (Wahana Komputer, 2003).
2.1.2 Property
mengakses suatu data tanpa mengganti kode program yang menggunakan property. Pemakai kelas cukup mengkompilasi ulang kelas yang terdapat property. (Wahana Komputer, 2003).
2.1.3 Konstruktor dan Destruktor
konstruktor merupakan method khusus dari suatu objek yang digunakan untuk mengalokasikan memori untuk digunakan oleh objek tersebut. setiap konstruktor yang hendak didefinisikan harusdiawali dengan kata kunci constructor.
Selain konstruktor, pada pemrograman berorientasi objek juga terdapat method khusus lain, yaitu destruktor. Destruktor digunakan untuk membersihkan data-data yang dimiliki oleh suatu objek dan kemudian menghapus alokasi memori yang digunakan oleh objek tersebut. Kita Destruktor dapat dibuat sama halnya dengan membuat konstruktor baru. (Wahana Komputer, 2003).
2.1.4 Interface
Kelas dapat merupakan implementasi dari sebuah interface, yaitu kelas abstrak. Untuk mendefinisikan kelas abstrak, maka akan sampai pada suatu titik yang nantinya hanya akan mendefinisikan abstrak methodnya saja, karena semua implementasinya tidak dapat di implementasikan pada kelas dasar. Jika sampai pada titik tersebut, maka dapat mulai beralih dari kelas ke interface guna mendefinisikan kelas abstrak tersebut.
Interface pada dasarnya berisi kerangka dari suatu objek yaitu abstract method, sehingga pada interface ini tidak ada implementasi dari setiap method yang ada pada interface tersebut. Sedangkan implementasi untuk setiap method yang didefinisikan pada interface ini dilakukan oleh setiap kelas yang mengimplementasi interface ini. (Wahana Komputer, 2003).
2.1.5 Event Class
2.1.6 Entity Class
Entity Class adalah kesatuan kunci dan nilai yang tidak dapat dipisahkan karena kunci dan nilai saling mengikat.
2.2 Database dan Tabel
Database adalah kumpulan data yang saling berelasi, berisi informasi bagi pemakainya. Istilah dalam perancangan database:
• Entity adalah objek yang nyata dan dapat dibedakan dengan objek yang lain. Contoh entity pada universitas adalah mahasiswa, buku, pembayaran, dan lain-lain.
• Atribut adalah sebutan untuk mewakili suatu entity. Contoh atribut dari mahasiswa adalah NIM, nama, dan alamat.
Dalam satu database terdiri dari satu atau lebih file. File ini dapat disamakan dengan tabel. Tabel adalah kumpulan dua atau lebih record yang mempunyai kategori sama (sejenis, sama besar, sama bentuk). Record adalah kumpulan field yang saling berhubungan. Contoh tabel pegawai
No NIP Nama Alamat
1 2
5318 5417
Adi Jonathan Bella Rosiana
Jl. Mawar no.5, Yk Jl. Pendawa no.7, Yk :
Dari tabe di atas terlihat tabel pegawai mempunyai field NIP,
Namapegawai, dan Alamatpegawai. Dari contoh tabel pegawai dapat dibuat kelas
pegawai:
Class
Pegawai
{
Char Alamat [50];
};
Dari teori tentang kelas dan tabel di atas, maka dapat ditarik sebuah pendapat bahwa sebuah tabel dapat dijadikan dasar dalam pembuatan sebuah kelas, tetapi tidak semua kelas dapat dijadikan sebuah tabel
2.2.1 ER-Diagram
ER merupakan model tingkat tinggi, karena didasarkan pada dunia nyata yang terdiri dari kumpulan objek-objek dasar yang disebut entitas (entity) dan hubungan (relationship) antara entitas tersebut.
2.3 Data Flow Diagram (DFD)
Source (Kesatuan luar)
Proses
Data Arus (Data Flow)
Simpanan data (Data Source)
1.
2.
3.
4.
Keterangan:
1) Source (Kesatuan luar) merupakan Kesatuan di luar sistem yang aka memberikan input atau menerima output dari system, dapat berupa orang, organisasi, sumber informasi lain atau penerima akhir dari suatu laporan.
2) Proses merupakan kegiatan atau pekerjaan yang dilakukan oleh orang atau mesin komputer, dimana aliran data masuk ditransformasikan ke aliran data keluar.
3) Simpanan data (data source) dapat berupa suatu file atau suatu sistem database dari suatu komputer, dokumen, bulu.
4) Data arus (data flow) mengalir diantara proses, simpangan data, kesatuan luar, kesatuan ruang.
2.4 Database MySQL
cepat secara kinerja query.. Database MySQL merupakan database alternatif pilihan yang dapat digunakan untuk sistem database personal atau organisasi.
2.4.1 SQL (Structured Query Languange)
SQL (Structured Query Languange) adalah bahasa yang digunakan dalam suatu software Database. Beberapa perintah dalam SQL adalah:.
• Select : digunakan untuk mengambil data dari database.
• Delete : digunakan untuk menghapus data pada database.
• Insert : digunakan untuk menambahkan data ke database.
• Update : digunakan untuk memodifikasi data pada database.
2.5 Borland Delphi
Borland Delphi adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan merupakan pengembangan dari bahasa Pascal. Pemrograman Borland Delphi ini kompatibel dengan sistem operasi Windows dan Linux. Delphi merupakan bahasa pemrograman yang mempunyai cakupan kemampuan yang luas dan canggih, berbagai jenis aplikasi dapat dibuat dengan Delphi, termasuk aplikasi untuk mengolah teks, grafik, angka, database dan aplikasi web. Delphi memiliki beberapa kemampuan, seperti kompilasi yang cepat, dukungan terhadap pemrograman database yang sangat baik, sangat dekat dengan pemrograman Windows beserta teknologi komponen-komponennya.
Untuk mempermudah pemrogram dalam membuat program aplikasi, Delphi menyediakan fasilitas yang dibagi dalam dua kelompok, yaitu objek dan bahasa pemrograman. Objek biasanya dipakai untuk melakukan tugas tertentu dan mempunyai batasan-batasan tertentu. Sedangkan bahasa pemrograman adalah sekumpulan teks yang mempunyai arti dan aturan tertentu untuk menjalankan tugas tertentu.
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1 Gambaran Sistem Secara Umum
Seorang
user
sering dihadapkan pada kenyataan bahwa pekerjaan (proyek)
yang lebih dari satu dan semuanya mengharuskan untuk diselesaikan secara cepat
dan tepat. Oleh karena itu
user
harus dapat memanfaatkan waktu sebaik mungkin
untuk memperoleh hasil yang baik. Pada kondisi seperti ini
user
membutuhkan
suatu program bantu untuk menyingkat waktu pembuatan program aplikasi yang
menyediakan operasi pencarian data (
searching
), penghapusan data (
delete
),
pengubahan data (
update
), penginputan data (
insert
), dan menampilkan data
(
browse
).
kesamaan-kesamaan antara tabel dan kelas, maka dari sebuah tabel dapat dibangun sebuah
kelas.
3.1.1 Identifikasi Masalah
3.1.2 Cara Kerja Sistem
Perangkat lunak yang dikembangkan adalah perangkat lunak yang membantu user dalam penulisan program (coding), sehingga efektif dan efisien bagi user dalam membuat kode class berdasarkan tabel database MySQL pada Borland Delphi 6. Perangkat lunak yang dikembangkan ini akan menghasilkan source code(kode program) yang di dalamnya terdapat metode pencarian data(searching), penghapusan data(delete), pengubahan data(update), penginputan data (insert) dan menampilkan data(browse). Perangkat lunak yang dikembangkan ini dapat dipakai oleh seorang user untuk keefisienan dan keefektifan dalam pembuatan program aplikasi pada Borland Delphi 6
Perangkat lunak yang dikembangkan adalah mengolah tabel menjadi kelas. Ini didasarkan pada keuntungan-keuntungan dari Pemrograman Berorientasi Objek (PBO). Untuk lebih jelasnya dapat diambil sebuah contoh .misalnya terdapat tabel buku dari database Perpustakaan. Misal dalam tabel buku terdapat field kodebuku, judulbuku, dan pengarang. Maka dari informasi tersebut, perangkat lunak yang dibuat akan mengolah dan akan menghasilkan kelas Buku yang mempunyai atribut kodebuku, judulbuku, dan pengarang. Selain itu, dari source code yang dihasilkan terdapat metode pencarian data (searching), penghapusan data (delete), pengubahan data (update), penginputan data (insert), dan menampilkan data (browse). Kelas yang terbentuk ini merupakan kelas yang digunakan untuk proses mengolah data yang ada pada tabel. Untuk lebih jelasnya terlihat pada keterangan di bawah ini:
Tabel buku Kodebuku judulbuku pengarang
type
Tbuku = class; Protected
fKodebuku : String; fJudulbuku : String; fPengarang : String;
Publshed
Implementation
Konstruktor
Destruktor
Metode yang terbentuk
End;
Pada
metode
searching, update, delete
dan
browse
yang terbentuk, dapat
dipilih
field
mana saja yang akan dijadikan sumber informasi sesuai kebutuhan
user
.
3.2 Tahap Perancangan Sistem
3.2.1 Konteks Diagram
USER
0
PROGRAM PEMBUATAN CLASSDatabase, Tabel, Field
class
3.2.2 Diagram Berjenjang
0
PROGRAM PEMBUATAN
CLASS
1 2 3 4 5 6 7
3.2.3 Diagram Arus Data (DAD) Level 0
USER
1 Memilih Tabel & Database 2 Membuat browse method 3 M embuat insert method 4 Membuat searching method 5 Membuat update method 6 Membuat delete methodD1 Tabel DB My SQL
D1 Tabel DB My SQL
7 Membuat class Tabel terpilih Tabel terpilih Tabel terpilih Tabel terpilih Tabel terpilih Tabel, field terpilih Database, Tabel Tabel terpilih Tabel terpilih Tabel terpilih Tabel terpilih Tabel terpilih Field tabel terpilih Field tabel terpilih Field tabel terpilih Field tabel terpilih Field tabel terpilih Browse method Insert method Searching method Update method Delete method
D2 Unit kode class Class berisi
Data, method
3.2.4 Diagram Arus Data (DAD) Level 1
7.1
Membuat perintah
class
7.2
Menambah method
Tabel, field terpilih
class berisi data
D2 Unit kode class
class berisi data, method Browse method
Insert method Swarching method
Update method Delete method
3.3 Cara Pembuatan Program
Pada unit kode class dari hasil program Pembuatan Class berdasarkan Input berupa Tabel pada Borland Delphi 6, terdapat method Searching, Browse, Insert, Update dan Delete.Method – method yang dihasilkan program ini berasal dari unit Searching, unit Browse, unit Insert, unit Update, dan unit Delete yang sebelumnya telah dibuat.
Pada unit Insert terdapat :
1. Fungsi getparInsert untuk membentuk parameter pada method Insert. 2. Prosedur setPublishedInsert untuk membentuk pendeklarasian methodInsert. 3. Prosedur setInsert digunakan untuk membentuk method Insert secara keseluruhan.
Pada unit Browse terdapat :
1. Fungsi getfield yang digunakan untuk mendapatkan semua nama field yang dipilih untuk method Browse pada StringGrid di unit Browse
1. Prosedur setPublishedSearching untuk membentuk pendeklarasian method Searching. 2. Prosedur setSearching digunakan untuk membentuk method Searching secara
keseluruhan. Pada unit Update terdapat :
1. Fungsi getparUpdate1 untuk membentuk parameter pada method Update1.
2. Fungsi getsetUpdate1 yang digunakan untuk mendapatkan nama-nama field yang digunakan sebagai data untuk perintah SET pada method Update.
3. Prosedur setPublishedUpdate1 untuk membentuk pendeklarasian method Update1. 4. Prosedur setUpdate1 digunakan untuk membentuk method Update1 secara keseluruhan.
Pada unit Delete terdapat :
1. Prosedur setPublishedDelete untuk membentuk pendeklarasian method Delete. 2. Prosedur setDelete digunakan untuk membentuk method Delete secara keseluruhan. Semua fungsi dan prosedur yang telah terbentuk, akan dipanggil dalam unit Exe, sehingga akan terbentuk unit class yang berisi data dan method Searching, Update, Delete, Insert dan Browse yang telah terbentuk.
3.4 Analisa Kebutuhan Sistem
Analisa kebutuhan sistem meliputi pemilihan bahasa pemrograman,
kebutuhan perangkat keras dan perangkat lunak yang akan dipakai pada saat uji
coba program.
3.4.1 Pemilihan Bahasa Pemrograman
sistem yang bagus. Pada sistem pembuatan kelas berdasarkan tabel MySQL ini
digunakan bahasa pemrograman Borland Delphi 6.
3.4.2 Kebutuhan Perangkat Lunak (Software)
Perangkat lunak yang digunakan di dalam pengembangan sistem aplikasi
ini adalah sebagai berikut:
a.
Sistem
Operasi :
Windows
XP
b.
Pengelolaan Basis Data
: MySQL
c.
Pengelolaan Antar Muka : Borland Delphi 6
3.4.3 Kebutuhan Perangkat Keras (Hardware)
Perangkat Keras yang digunakan dalam simulasi atau uji coba program
adalah sebagai berikut ini :
a.
Komputer Pentium 4
b.
Memory 256 MB
c.
Hard disk 20 GB
BAB IV
IMPLEMENTASI
Pada bab ini akan dijelaskan mengenai implementasi program dalam
bentuk kode program dan hasil program dalam bentuk tampilan antar
muka.
4.1 Implementasi Program
Program pembuatan
Class
Bedasarkan Input Berupa Tabel Pada Borland
Delphi ini diimplementasikan menggunakan bahasa pemrograman Borland Delphi
6. Di sini akan dijelaskan bagaimana program dibentuk dan dibuat, berdasarkan
masing – masing tampilan atau
form
yang ada..
4.1.1 Form Connect
Form Connect digunakan sebelum user masuk ke dalam form Tabel. Form Connect digunakan untuk memasukkan informasi berupa username dan password dari sebuah database MySQL-4.1.7-win yang akan digunakan.
4.1.1.1 Koneksi Database
Dalam implementasi ini, pengelolaan databasenya menggunakan mySQL-4.1.7-win dan langkah utama yang dilakukan adalah melakukan koneksi database dengan sistem. Sintaks yang digunakan untuk mengkoneksikan mySQL-4.1.7-win dengan Borland Delphi 6 dapat terlihat pada gambar 4.1:
dm.xkoneksi.Username := eduser.Text;
dm.xkoneksi.Password := edpassword.Text; dm.xkoneksi.Database := 'mysql';
procedure Tdm.konek; begin
xkoneksi.Connect; end;
Gambar 4.1 kode program koneksi data
konek merupakan prosedur yang digunakan untuk mengkoneksikan database ke dalam sistem. Username dan password diisikan ke edit dalam bentuk text yang diberi nama eduser dan edpassword. Database yang digunakan adalah mySQL. Prosedur konek dipanggil untuk mengkoneksikan database ke dalam sistem.
4.1.2 Form Tabel
form tabel digunakan untuk memilih database dan tabel yang dibutuhkan user. Pada form tabel user juga harus memilih field yang akan dijadikan kunci untuk membedakan record satu dengan yang lainnya.
4.1.2.1 Menampilkan Tabel
Pada saat combobox database berubah(ditekan), maka variabel xStr akan menampung perintah SQL untuk menampilkan semua tabel yang ada di dalam database yang user pilih sebelumnya. Lalu semua item pada combobox tabel akan dihapus dan fungsi xOpen akan mengeksekusi perintah SQL yang ditampung oleh variabel xStr. Selama file tidak berakhir, maka semua tabel yang ada pada sebuah database yang user pilih akan ditampilkan pada comboBox tabel. Kode program yang terbentuk seperti yang terlihat pada gambar 4.2::
procedure TFormTabel.cbDBChange(Sender: TObject); var xStr:string;
begin
xStr := 'show tables from '+cbDB.Text; cbTabel.Items.Clear;
dm.xopen(xStr);
while not dm.xQuery.Eof do begin
cbTabel.Items.Add(dm.xQuery.Fields[0].AsString); dm.xQuery.Next;
end; end;
4.1.2.2 Menampilkan Field
Pada saat combobox tabel berubah(ditekan), maka variabel xStr akan menampung perintah SQL untuk menampilkan semua field yang ada di dalam tabel yang user pilih sebelumnya. Lalu semua item pada checklistBox (CekLB1) akan dihapus dan fungsi xOpen akan memproses perintah SQL yang ditampung oleh variabel xStr. Selama file tidak berakhir, maka semua field yang ada pada sebuah tabel yang user pilih akan ditampilkan pada checklistBox(CekLB1). Kode program yang terbentuk seperti yang terlihat pada gambar 4.3::
procedure TFormTabel.cbtabelChange(Sender: TObject); var xStr : string;
begin
xStr := 'show columns from '+cbDB.Text+'.'+cbtabel.Text; CekLB1.Items.Clear;
dm.xopen(xstr);
while not dm.xQuery.Eof do begin
CekLB1.Items.Add(dm.xQuery.Fields[0].AsString); dm.xQuery.Next;
end; end;
Gambar 4.3 Kode program menampilkan field
4.1.3 Form Searching
Pada form Searching terdapat Prosedur setPublishedSearch(var f:textfile). Prosedur ini digunakan untuk mendeklarasikan metode searching yang terbentuk. Pada prosedur ini terdapat variabel f sebagai variabel untuk menampung string yang akan ditampilkan sebagai hasil program. Selama kolom StringGrid(GridCari) tidak kosong, maka kode program yang menyatakan deklarasi metode searching akan terbentuk sebanyak jumlah kolom-2 pada
GridCari. Kode program yang terbentuk seperti yang terlihat pada gambar 4.4::
Procedure TFormcari.setPublishedSearch(var f:textfile); var i : integer;
begin
if GridCari.ColCount <> -1 then
begin
begin
if GridCari.Cols[i].Text <> '' then begin writeln(f,'Procedure Searching'+trim(GridCari. Cols[i].Text)+'(x'+trim(GridCari.Cols[i]. Text)+':string);'); end; end; end; end;
Gambar 4.4 Kode program prosedur setPublishedSearch
Selain itu, terdapat Prosedur setSearching (var f:textfile) yang digunakan untuk menampilkan kode program dari metode searching yang terbentuk.. variabel kunci digunakan untuk menyimpan field yang dipilih dari checklistbox(CekLB1) sebagai field filter yang dapat membedakan record satu dengan record yang lainnya. Jika counter lb2cari tidak kosong, maka semua string untuk membentuk kode program pada metode searchimg akan ditampilkan sebanyak jumlah kolom-2 pada GridCari. Kode program yang terbentuk seperti yang terlihat pada gambar 4.5::
procedure TFormcari.setSearching (var f:textfile); var kunci : string;
i : integer; begin
for i := 0 to Formtabel.CekLB1.count-1 do begin
if Formtabel.CekLB1.Checked[i] then kunci := Formtabel.CekLB1.items[i]; end;
if lb2cari.Count <> -1 then begin
for i := 0 to GridCari.ColCount-2 do begin
if GridCari.Cols[i].Text <> '' then begin
writeln(f,'ProcedureT'+Formtabel.cbtabel.Text+'.searching'+ trim(GridCari.Cols[i].Text)+'(x'+
trim(GridCari.Cols[i].Text)+':String);'); writeln(f,'var xStr : String;');
writeln(f,' isEscape : boolean;'); writeln(f,'Begin');
writeln(f, 'xStr :='+chr(39)+'Select '+getFields+
' From '+Formtabel.cbDB.Text+'.'+Formtabel.cbtabel.Text+ ' where upper(‘+trim(GridCari.Cols[i].Text)+
') like "%'+chr(39)+'+'+
' uppercase(x'+trim(GridCari.Cols[i].Text)+')+ '+chr(39)+'%"'+chr(39)+';');
Writeln(f,' if dm.xOpen(xStr) then'); Writeln(f,' begin ');
Writeln(f,' if dm.xQuery.RecordCount > 1 then'); Writeln(f,' begin');
Writeln(f,' Application.CreateForm(TfrmSrc, frmSrc);');
Writeln(f,' frmSrc.DBGrid1.DataSource := dm.dsx;'); Writeln(f,' frmSrc.DBGrid1.Columns.Add;');
Writeln(f,' frmSrc.DBGrid1.Columns[0].FieldName :=
'+chr(39)+ kunci+chr(39)+';');
Writeln(f,'frmSrc.DBGrid1.Columns[0].Title.Caption:= '+chr(39)+ kunci+chr(39)+';');
Writeln(f,' frmSrc.DBGrid1.Columns.Add;');
Writeln(f,' frmSrc.DBGrid1.Columns[1].FieldName :=
'+chr(39)+trim(GridCari.Cols[i].Text)+chr(39)+';');
Writeln(f,' frmSrc.DBGrid1.Columns[1].Title.Caption :=
'+chr(39)+trim(GridCari.Cols[i].Text)+chr(39)+';');
Writeln(f,' frmSrc.ShowModal;');
Writeln(f,' isEscape := frmSrc.isEscape;'); Writeln(f,' frmSrc.Free;');
Writeln(f,' end else');
Writeln(f,' isEscape := false;'); Writeln(f,' end;');
Writeln(f,' if not isEscape then'); Writeln(f,' Begin');
Writeln(f,' setProperty'); Writeln(f,' End;//endEscape'); writeln(f,' end;');
writeln(f,' '); end;
Gambar 4.5 Kode program prosedur setSearching
4.1.3.1 Fungsi getFields
menunjukkan counter pada CekLB1 dari 0 sampai counter-1. Kode program yang terbentuk seperti yang terlihat pada gambar 4.6::
function Tformexe.getFields:string; var
xbufield : string; i : integer;
begin
for i := 0 to Formtabel.CekLB1.count-1 do
begin
if Formtabel.CekLB1.items[i] <> '' then
begin
xbufield := xbufield+Formtabel.CekLB1.items[i]+','; end;
result := copy(xbufield,1,length(xbufield)-1);
end;
end;
Gambar 4.6 Kode program fungsi getfield
4.1.4 Form Insert
Pada form Insert terdapat Prosedur setPublishedInsert (var f:textfile). Prosedur ini digunakan untuk mendeklarasikan metode Insert yang terbentuk. Pada prosedur ini terdapat variabel f sebagai variabel untuk menampung string yang akan ditampilkan sebagai hasil program. Kode program yang terbentuk seperti yang terlihat pada gambar 4.7::
procedure TFormInsert.setpublishedInsert(var f : TextFile); begin
writeln(f,'procedure Insert'+formtabel.cbtabel.text+ '('+getparInsert+');');
end;
Gambar 4.7 Kode program prosedur setpublishInsert
form Insert dengan ditambahkan string ‘x’ di depan sebagai parameter untuk metode Insert. . Kode program yang terbentuk seperti yang terlihat pada gambar 4.8::
function TFormInsert.getParInsert:string; var i : integer;
xbuff : string; begin
for i := 0 to Lb2insert.Count-1 do
begin
xbuff := xbuff + 'x'+Lb2insert.Items[i]+',';
end;
result := copy(xbuff,1,length(xbuff)-1)+':string'; end;
Gambar 4.8 Kode program fungsi getparInsert
Selain itu, terdapat Prosedur setInsert (var f:textfile) yang digunakan untuk menampilkan kode program dari metode Insert yang terbentuk. Variabel xbuff digunakan untuk menampung item yang ada pada ListBox2 pada form Insert, menunjukkan semua field yang akan ditambah datanya. Lalu variabel xbuff dikosongkan, dan digunakan kembali untuk menampung item yang ada pada ListBox2 pada form Insert dengan ditambahkan string ‘x’ di depan dan string '","' untuk menunjukkan suatu nilai pada perintah values. Kode program yang terbentuk seperti yang terlihat pada gambar 4.9::
procedure TFormInsert.setInsert(var f : TextFile); var i : integer;
xbuff : string; begin
writeln(f,'procedure T'+formtabel.cbtabel.text+'.Insert'+ formtabel.cbtabel.text+'('+getparInsert+');');
writeln(f, 'var xStr : string;'); writeln(f, 'Begin');
for i:= 0 to Lb2insert.count-1 do
begin
xbuff := xbuff +Lb2insert.Items[i]+',';
end;
xbuff := copy(xbuff,1,length(xbuff)-1);
writeln(f, ' xStr :='+chr(39)+' insert into '
+formtabel.cbDB.text+'.'+formtabel.cbtabel.text+ '('+xbuff+') values("'+chr(39)+'+');
xbuff := '';
begin
xbuff := xbuff+'x'+Lb2insert.Items[i]+' + '+chr(39)+'","'+chr(39)+'+';
end;
xbuff := copy(xbuff,1,length(xbuff)-8);
writeln(f, xbuff+'+'+chr(39)+'")'+chr(39)+';'); writeln(f, ' dm.xExecute(xStr);');
writeln(f,'end;'); writeln(f,' '); end;
Gambar 4.9 Kode program prosedur setInsert
4.1.5 Form Update
Pada form Update terdapat fungsi getParUpdate1 yang digunakan untuk membuat parameter pada metode Update. Variabel xbuff berfungsi untuk menampung item ke-i yang ada pada CekLB1 dengan ditambahkan string ‘x’ di depan sebagai parameter untuk method Update. Variable i menunjukkan counter pada CekLB1 yang dimulai dari 0 sampai counter-1. Kode program yang terbentuk seperti yang terlihat pada gambar 4.10::
function TFormUpdate1.getParUpdate1:string; var i : integer;
xbuff : string; begin
for i := 0 to formtabel.CekLB1.Count-1 do
begin
if formtabel.CekLB1.Items[i] <> '' then
xbuff := xbuff + 'x'+formtabel.CekLB1.Items[i]+',';
end;
result := copy(xbuff,1,length(xbuff)-1)+':string'; end;
Gambar 4.10 Kode program fungsi getparUpdate1
program. string ini akan ditampilkan sebanyak jumlah kolom counter-2 pada GridUp. Kode program yang terbentuk seperti yang terlihat pada gambar 4.11::
procedure TFormUpdate1.setpublishedupdate1(var f : TextFile);
var i : integer; begin
if GridUp.ColCount <> -1 then
begin
for i := 0 to GridUp.ColCount-2 do
begin
if trim(GridUp.Cols[i].Text) <> '' then
begin writeln(f,'procedure Update'+trim(GridUp.Cols[i]. Text)+'('+getparupdate1+');'); end; end; end; end;
Gambar 4.11 Kode program prosedur setpublishUpdate1
Selain itu, ada juga fungsi getsetUpdate1 yang berfungsi mendapatkan item yang ada pada CheckListBox, untuk diset pada saat proses update data dilakukan. Variabel xBuffResult digunakan untuk menampung string yang akan dipakai dalam perintah SET pada method Update. String yang terbentuk mengambil item ke-i psda CekLB1. variable i menunjukkan counter pada CekLB1 dari 0 sampai counter-1. Kode program yang terbentuk seperti yang terlihat pada gambar 4.12:
function TformUpdate1.getsetUpdate1:string; var i : integer;
xBufResult : string; begin
xBufResult := '';
for i := 0 to formtabel.CekLB1.count-1 do begin
xBufResult:=xBufResult+chr(39)+formtabel.CekLB1.Items[i]+ '="'+chr(39)+'+x'+formtabel.CekLB1.Items[i]+' + '+chr(39)+'" ,'+chr(39)+'+';
result := copy(xBufResult,1,Length(xBufResult)-4)+chr(39); end;
Gambar 4.12 Kode program fungsi getsetUpdate1
Prosedur yang lainnya adalah Prosedur setUpdate1 (var f:textfile) yang digunakan untuk menampilkan kode program dari metode Update yang terbentuk. Prosedur ini mengambil data pada kolom ke-i GridUp. i menunjukkan kolom counter pada GridUp dari 0 sampai kolom counter-2. Kode program yang terbentuk seperti yang terlihat pada gambar 4.13:
procedure TFormUpdate1.setUpdate1(var f : TextFile); var i : integer;
begin
if GridUp.ColCount <> -1 then
begin
for i := 0 to GridUp.ColCount-2 do
begin
if GridUp.Cols[i].Text <> '' then
begin
writeln(f, 'procedure
T'+formtabel.cbtabel.text+'.Update'+
trim(GridUp.Cols[i].Text)+'(' +getparUpdate1+');'); writeln(f, 'var xStr : string;');
writeln(f, 'Begin');
writeln(f, ' xStr :='+chr(39)+' Update
'+formtabel.cbDB.text+'.'+formtabel.cbtabel.text+ ' set '+chr(39)+'+'+getsetUpdate1+'+');
writeln(f, chr(39)+'where ('+trim(GridUp.Cols[i].Text)+' = "'+chr(39)+'+x'+trim(GridUp.Cols[i].Text)+'+'+chr(39)+
'")'+chr(39 )+';');
writeln(f, 'dm.xExecute(xStr);'); writeln(f, 'end;');
writeln(f, ' ');
end;
end;
end;
end;
Gambar 4.13 Kode program prosedur setUpdate1
4.1.6 Form Delete
variabel untuk menampung string yang akan ditampilkan sebagai hasil program. Dari GridDel diambil field pada kolom ke-i. variable i dipakai untuk menunjukkan kolom counter dari 0 sampai kolom counter-2 pada GridDel. Kode program yang terbentuk seperti yang terlihat pada gambar 4.14:
procedure TFormDelete1.setpublishedDelete1(var f : TextFile);
var i : integer; begin
if GridDel.ColCount <> -1 then
begin
for i := 0 to GridDel.ColCount-2 do begin
if GridDel.Cols[i].Text <> '' then
begin writeln(f,'procedure Delete'+trim(GridDel.Cols[i].Text)+ '(x'+trim(GridDel.Cols[i].Text)+':string);'); end; end; end; end;
Gambar 4.14 Kode program prosedur setpublishedDelete1
Prosedur yang lainnya adalah Prosedur setDelete1 (var f:textfile) yang digunakan untuk menampilkan kode program dari metode Delete yang terbentuk. Pada perintah WHERE berdasarkan field tertentu, diambil dari GridDel kolom ke-i. Variabel i menampung kolom counter GridDel mulai 0 sampai kolom counter-2. Kode program yang terbentuk seperti yang terlihat pada gambar 4.15:
procedure TFormDelete1.setDelete1(var f : TextFile); var i : integer;
begin
if GridDel.ColCount <> -1 then
begin
for i := 0 to GridDel.ColCount-2 do begin
if GridDel.Cols[i].Text <> '' then
begin
writeln(f, 'procedure
Cols[i].Text)+':String);');
writeln(f, 'var xStr : string;'); writeln(f, 'Begin');
writeln(f, ' xStr :='+chr(39)+' Delete From
'+formtabel.cbDB.text+'.'+formtabel.cbtabel.text+ ' where ('+trim(GridDel.Cols[i].Text)+' =
"'+chr(39)+'+x'+trim(GridDel.Cols[i].Text)+'+'
+chr(39)+'")'+chr(3 9)+';');
writeln(f, 'dm.xExecute(xStr);'); writeln(f, 'end;');
writeln(f, ' ');
end;
end;
end;
end;
Gambar 4.15 Kode program prosedur setDelete1
4.1.7 Form Browse
Pada form Browse terdapat prosedur setPublishedBrowse yang digunakan untuk mendeklarasikan metode Browse yang terbentuk. Pada prosedur ini terdapat variabel f sebagai variabel untuk menampung string yang akan ditampilkan sebagai hasil program. Metode Browse yang terbentuk berdasarkan kolom counter pada Grid1 mulai dari 1 sampai kolom counter-1. Kode Kode program yang terbentuk seperti yang terlihat pada gambar 4.16:
procedure TFormBrowse.setpublishedBrowse(var f : TextFile); var i :integer;
begin
for i:=1 to Grid1.ColCount-1 do
begin
writeln(f,' procedure Browse'+inttostr(i)+ '(xDBGrid:TDBGrid);');
end;
end;
Gambar 4.16 Kode program prosedur setpublishedBrowse
terbentuk akan memanggil fungsi getfields. Pada perintah ORDER BY akan memanggil kunci. Kunci berisi item pada CekLB1 yang telah dipilih user sebelumnya. Kode program yang terbentuk seperti yang terlihat pada gambar 4.17:
procedure TFormBrowse.setBrowse(var f : TextFile); var i :integer;
kunci : string; begin
for i := 0 to Formtabel.CekLB1.count-1 do
begin
if Formtabel.CekLB1.Checked[i] then kunci := Formtabel.CekLB1.items[i];
end;
if Grid1.ColCount <> -1 then begin
for i:=0 to Grid1.ColCount-2 do begin
x := i;
if Grid1.Cols[i].Text <> '' then
begin
writeln(f, ' procedure
T'+formtabel.cbtabel.text+'.Browse'+inttostr(i+1)+ '(xDBGrid:TDBGrid);');
writeln(f, ' var xStr : string;'); writeln(f, ' begin');
writeln(f, ' xStr :='+chr(39)+' select '+getfields+ ' From '+formtabel.cbDB.text+'.'+formtabel.
cbtabel.text+' order by '+kunci+chr(39)+';'); writeln(f, ' dm.zopen(xStr);');
writeln(f, ' xDBGrid.DataSource:=dm.dsz;'); writeln(f, 'end;');
writeln(f, ' ');
end;
end;
end;
end;
Gambar 4.17 Kode program prosedur setBrowse
pada pembentukan metode browse juga terdapat fungsi getFields. Fungsi ini digunakan untuk mendapatkan semua field dari Stringgrid yang akan digunakan untuk perintah SELECT pada metode Browse. Kode program yang terbentuk seperti yang terlihat pada gambar 4.18:
xbufield : string; k,j : integer; begin
k := x;
for j := 0 to Grid1.RowCount do
begin
if Grid1.Cells[k,j] <> '' then begin
xbufield := xbufield+Grid1.Cells[k,j]+',';
end;
end;
result := copy(xbufield,1,length(xbufield)-1); end;
Gambar 4.18 Kode program prosedur setpublishedBrows
4.1.8 Form Execute
Form Execute digunakan untuk memproses seluruh informasi yang telah diinputkan oleh user, sehingga akan dihasilkan sebuah unit berisi sebuah class berekstensi PAS. Untuk membentuk sebuah unit yang berisi sebuah class, perlu beberapa fungsi dan prosedur yang harus disiapkan.
4.1.8.1 Fungsi setProperty
Fungsi ini digunakan untuk mengeset seluruh field dari sebuah tabel yang telah user pilih, untuk dijadikan property pada class yang akan terbentuk. Property yang terbentuk ini mengambil item pada Cek LB1 dan ditambah string ‘f’. Kode program yang terbentuk seperti yang terlihat pada gambar 4.19:
procedure Tformexe.setProperty(var f:TextFile); var i :integer;
begin
Writeln(f,'procedure
T'+formtabel.cbTabel.Text+'.SetProperty;'); Writeln(f,'Begin');
for i := 0 to Formtabel.CekLB1.count-1 do
begin
if Formtabel.CekLB1.items[i] <> '' then
begin
Writeln(f,'f'+Formtabel.CekLB1.items[i]+':= dm.xQuery.FieldByName('+
end;
end;
Writeln(f,'end; '); Writeln(f,' '); end;
Gambar 4.19 Kode program prosedur setproperty
4.1.8.2 Prosedur setConstructor
prosedur ini digunakan untuk membentuk konstruktor pada class yang akan dihasilkan. Kode program yang terbentuk seperti yang terlihat pada gambar 4.20:
procedure Tformexe.setConstructor(var f:TextFile); begin
Writeln(f,'constructor T'+formtabel.cbTabel.Text+ '.Create;');
Writeln(f,'Begin');
Writeln(f,' inherited Create;');
Writeln(f,'end; ');
end;
Gambar 4.20 Kode program prosedur setconstructor
4.1.8.3 Prosedur setInisiasiAwal
Prosedur ini digunakan untuk membentuk unit berisi class yang akan dihasilkan. Prosedur ini memanggil prosedur dari unit lain, yaitu setpublishedUpdate1(f), setpublisheddelete1(f), setpublishedBrowse(f), setpublishedInsert(f), setPublishedSearch(f), setupdate1(f), setDelete1(f), setBrowse(f) dan setInsert(f).untuk membentuk unit berisi class sesuai dengan keinginan user. Kode program yang terbentuk seperti yang terlihat pada gambar 4.21:
procedure Tformexe.setInisiasiAwal(var f : TextFile); var i : integer;
xStr : string;
xfile : String; begin
xfile :=
copy(trim(xfile),length(GetCurrentDir)+2,length(xfile)); ShowMessage(xfile);
xStr := 'unit '+xfile+';'#13#10+ ' interface'#13#10+
uses windows,SysUtils,Forms, Classes, uSrcForm, DB, DBAccess,MyAccess,Registry,StdCtrls,'#13#10+ ' MemDS,uDm,Dialogs, DBGrids;'#13#10+
' type '#13#10+
' T'+Formtabel.cbtabel.Text+' = class'#13#10+ ' private '#13#10+
' procedure setProperty;'#13#10+ ' protected'#13#10;
Writeln(f,xStr); Writeln(f, ' ');
Writeln(f, 'public');
Writeln(f, 'Constructor create');
Writeln(f, 'Destructor Destroy; override; '); Writeln(f, ' ');
Writeln(f, 'published ');
for i := 0 to Formtabel.CekLB1.count-1 do
begin
if Formtabel.CekLB1.items[i] <> '' then
begin
Writeln(f, ' property '+Formtabel.CekLB1.items[i]+ ' : String read f'+Formtabel.CekLB1.items[i]+';');
end;
end;
Writeln(f, ' ');
Formupdate1.setpublishedUpdate1(f); Formdelete1.setpublisheddelete1(f); FormBrowse.setpublishedBrowse(f); FormInsert.setpublishedInsert(f); Formcari.setPublishedSearch(f);
Writeln(f, 'end;');
Writeln(f, ' ');
Writeln(f, 'implementation');
Writeln(f, ' '); setProperty(f); setConstructor(f);
Writeln(f, '');
Writeln(f,'DestructorT'+formtabel.cbTabel.Text+'.Destroy;');
Writeln(f, 'Begin');
Writeln(f, ' Inherited'); Writeln(f, 'end; '); Writeln(f, ' ');
Formupdate1.setupdate1(f); FormDelete1.setDelete1(f); FormBrowse.setBrowse(f); FormInsert.setInsert(f);
Writeln(f, '');
Writeln(f, 'end.');
end;
4.1.8.4 Prosedur Execute
prosedur ini digunakan untuk mengeksekusi seluruh informasi yang telah diinputkan user sebelumnya. Jika kotak savedialog(dlgsimpan) ditampilkan, maka file baru yang terbentuk akan dibuka. Lalu prosedur setInisiasiAwal dipanggil dan akhirnya program menutup file yang terbentuk. Kode program yang terbentuk seperti yang terlihat pada gambar 4.22:
procedure TFormexe.btnexeClick(Sender: TObject); var f : textfile;
begin
if dlgsimpan.Execute then
begin
assignfile(f,dlgsimpan.FileName );
rewrite(f);
setinisiasiawal(f);
CloseFile(F);
end;
end;
Gambar 4.22 Kode program prosedurbtnexeClick
4.2 Hasil Program
Pada bagian ini akan dibahas mengenai hasil akhir program berupa tampilan antar muka untuk setiap form yang dipakai dalam program Pembuatan Class Bedasarkan Input Berupa Tabel Pada Borland Delphi.
4.2.1 Tampilan Antar Muka Form Start
Gambar 4.1 Tampilan Form Start
4.2.2 Tampilan Antar Muka Form Connect
Gambar 4.2 Tampilan Form Connect
4.2.3 Tampilan Antar Muka FormTabel
Gambar 4.3 Tampilan Form Tabel
4.2.4 Tampilan Antar Muka Form Menu
Gambar 4.4 Tampilan Form Menu
4.2.5 Tampilan Antar Muka Form Insert
Gambar 4.5 Tampilan Form Insert
4.2.6 Tampilan Antar Muka Form Browse
Gambar 4.6 Tampilan Form Browse
4.2.7 Tampilan Antar Muka Form Searching
Gambar 4.7 Tampilan Form Searching
4.2.8 Tampilan Antar Muka Form Update
Gambar 4.8 Tampilan Form Update
4.2.9 Tampilan Antar Muka Form Delete
Gambar 4.9 Tampilan Form Delete 4.2.10 Tampilan Antar Muka Form Execute
Pada form Execute terdapat tombol EXECUTE untuk memproses semua informasi yang telah diinputkan user sebelumnya, sehingga akan menghasilkan sebuah unit class berekstensi PAS. Sedangkan tombol CLOSE digunakan untuk menampilkan form Start, dan dari form Start ini user dapat keluar dari program secara keseluruhan dengan menekan tombol EXIT. Tampilannya tampak seperti pada gambar berikut
BAB V
ANALISA SISTEM
4.1 Langkah-langkah Pembuatan Class
Pada unit kode class dari hasil program Pembuatan Class berdasarkan Input berupa Tabel pada Borland Delphi 6, terdapat method Searching, Browse, Insert, Update dan Delete.Method – method yang dihasilkan program ini berasal dari unit Searching, unit Browse, unit Insert, unit Update, dan unit Delete yang sebelumnya telah dibuat.
Pada unit Insert terdapat :
4. Fungsi getparInsert untuk membentuk parameter pada method Insert. 5. Prosedur setPublishedInsert untuk membentuk pendeklarasian methodInsert. 6. Prosedur setInsert digunakan untuk membentuk method Insert secara keseluruhan. Pada unit Browse terdapat :
4. Fungsi getfield yang digunakan untuk mendapatkan semua nama field yang dipilih untuk method Browse pada StringGrid di unit Browse
5. Prosedur setPublishedBrowse untuk membentuk pendeklarasian method Browse. 6. Prosedur setBrowse digunakan untuk membentuk method Browse secara keseluruhan.
Pada unit Searching terdapat :
3. Prosedur setPublishedSearching untuk membentuk pendeklarasian method Searching. 4. Prosedur setSearching digunakan untuk membentuk method Searching secara
keseluruhan. Pada unit Update terdapat :
5. Fungsi getparUpdate1 untuk membentuk parameter pada method Update1.
6. Fungsi getsetUpdate1 yang digunakan untuk mendapatkan nama-nama field yang digunakan sebagai data untuk perintah SET pada method Update.
8. Prosedur setUpdate1 digunakan untuk membentuk method Update1 secara keseluruhan. Pada unit Delete terdapat :
BAB V
PENUTUP
Pada bagian akhir penulisan Tugas Akhir ini akan diberikan beberapa
kesimpulan dan saran yang dapat digunakan sebagai sarana dalam pengembangan
program Pembuatan Class Berdasarkan Input berupa Tabel pda Borland Delphi 6..
5.1 Kesimpulan
Beberapa kesimpulan yang dapat diambil dari pembuatan program Pembuatan Class Berdasarkan Input berupa Tabel pada Borland Delphi 6 adalah sebagai berikut:
1. Program Pembuatan Class Berdasarkan Input berupa Tabel pada Borland Delphi 6 ini telah berhasil dijalankan dan metode yang terbentuk antara lain Insert, Browse, Searching, Update dan Delete, sehingga bermanfaat untuk menyingkat waktu dalam membuat kode class pada Borland Delphi 6 dari informasi sebuah tabel database MySQL bagi user, khususnya programmer.
2. Kekurangan dari program Pembuatan Class Berdasarkan Input berupa Tabel pada Borland Delphi 6 ini, pada metode-metode yang terbentuk hanya dapat memproses berdasarkan satu field saja. .
5.2 Saran
Beberapa saran yang dapat disampaikan untuk keperluan pengembangan program Pembuatan Class Berdasarkan Input berupa Tabel pada Borland Delphi 6 adalah:
1. Tabel yang digunakan tidak terbatas pada tabel tunggal saja. Sehingga tabel yang berelasipun dapat dijadikan sumber informasi dalam program Pembuatan Class Berdasarkan Input berupa Tabel pada Borland Delphi 6 ini.
DAFTAR PUSTAKA
M.Agus J Alam, Belajar sendiri Mengolah Database dengan Borland Delphi 7, PT Elex Media Komputindo Kelompok Gramedia, Jakarta, 2003
Wahana Komputer, Panduan Praktis Pemrograman Borland Delphi 6.0, ANDI OFFSET,Yogyakarta, 2003
http://ilkom.unsri.ac.id/dosen/dianpaluprini/materi/algo/Bab%20VIII%20DFD.pdf