• Tidak ada hasil yang ditemukan

PEMBUATAN CLASS BERDASARKAN INPUT BERUPA TABEL PADA BORLAND DELPHI 6 Skripsi

N/A
N/A
Protected

Academic year: 2019

Membagikan "PEMBUATAN CLASS BERDASARKAN INPUT BERUPA TABEL PADA BORLAND DELPHI 6 Skripsi"

Copied!
66
0
0

Teks penuh

(1)

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

(2)

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

(3)
(4)
(5)

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

(6)

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

(7)

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.

(8)

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

(9)

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

(10)

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.

(11)

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.

(12)

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 ……… 1

1.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) ….………….………5

2.1.1 Kelas dan Objek pada Delphi ………7

2.1.2 Property ……… ……….8

2.1.3 Konstruktor dan Destruktor ……….. …… 9

(13)

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

(14)

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

(15)

BAB V ANALISA SISTEM

5.1 Langkah-langkah pembuatan class ……….. 54

BAB VI PENUTUP

(16)

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.

(17)

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

(18)

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

(19)

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

(20)

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.

(21)

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:

(22)

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

(23)

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

(24)

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

{

(25)

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)

(26)

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

(27)

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.

(28)

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

).

(29)

kesamaan-kesamaan antara tabel dan kelas, maka dari sebuah tabel dapat dibangun sebuah

kelas.

3.1.1 Identifikasi Masalah

(30)

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

(31)

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

(32)

3.2.1 Konteks Diagram

USER

0

PROGRAM PEMBUATAN CLASS

Database, Tabel, Field

class

3.2.2 Diagram Berjenjang

0

PROGRAM PEMBUATAN

CLASS

1 2 3 4 5 6 7

(33)

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 method

D1 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

(34)

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

(35)

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

(36)

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

(37)

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';

(38)

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;

(39)

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

(40)

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)+';');

(41)

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

(42)

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

(43)

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 := '';

(44)

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

(45)

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)+'+';

(46)

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

(47)

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

(48)

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

(49)

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:

(50)

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('+

(51)

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

(52)

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;

(53)

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

(54)

Gambar 4.1 Tampilan Form Start

4.2.2 Tampilan Antar Muka Form Connect

(55)

Gambar 4.2 Tampilan Form Connect

4.2.3 Tampilan Antar Muka FormTabel

(56)

Gambar 4.3 Tampilan Form Tabel

4.2.4 Tampilan Antar Muka Form Menu

(57)

Gambar 4.4 Tampilan Form Menu

4.2.5 Tampilan Antar Muka Form Insert

(58)

Gambar 4.5 Tampilan Form Insert

4.2.6 Tampilan Antar Muka Form Browse

(59)

Gambar 4.6 Tampilan Form Browse

4.2.7 Tampilan Antar Muka Form Searching

(60)

Gambar 4.7 Tampilan Form Searching

4.2.8 Tampilan Antar Muka Form Update

(61)

Gambar 4.8 Tampilan Form Update

4.2.9 Tampilan Antar Muka Form Delete

(62)

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

(63)

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.

(64)

8. Prosedur setUpdate1 digunakan untuk membentuk method Update1 secara keseluruhan. Pada unit Delete terdapat :

(65)

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.

(66)

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

Gambar

TABEL PADA BORLAND DELPHI 6
TABLE INPUT BASED CLASS COMPOSING USING BORLAND DELPHI 6
tabel pegawai
gambar 4.5::
+7

Referensi

Dokumen terkait

Kelembaban normal pada ruang tanam tanpa menggunakan sistem ini adalah sebesar 61% dan hal ini tidak sesuai dengan kelembaban untuk budidaya tomat ceri, karena kelembaban

Menunjuk Peraturan Direktur Jenderal Perbendaharaan Nomor PER-57/PB/2010 tentang Tata Cara Penertiban Surat Perintah Membayar dan Surat Perintah Pencairan Dana, dengan ini kami

Upaya guru dalam mengatasi hambatan yang datang dari diri siswa saat. pelaksanaan keterampilan tataboga adalah dengan

Apabila di kemudian hari terdapat kelebihan atas pembayaran Tunjangan Profesi Guru PNS/Non PNS tersebut atau terdapat unsur kerugian negara, kami bersedia

Unsur-unsurna téh moal madeg mandiri, tapi mangrupa hiji beungkeutan (struktur) antara nu hiji jeung nu lianna. Silih lengkepan nepi kahontal totalitas ma‟na nu

Pengertian Perkawinan campuran sebagaimana disebut dalam Pasal 1 RGH, memiliki jangkauan luas asalkan pihak-pihak yang melangsungkan tunduk pada hukum yang berlainan adalah

Sistem prediksi resiko penyakit jantung yang diusulkan terdiri dari dua fase: (1) pendekatan otomatis untuk menghasilkan weighted fuzzy rule dan (2) pengembangan

[r]