Materi delphi

15
Materi DELPHI Dibuat Oleh RENDI Kelas 2 B Jurusan Eektro Prodi Teknik Informatika Tahun 2015

Transcript of Materi delphi

Page 1: Materi delphi

Materi DELPHI

Dibuat Oleh RENDI

Kelas 2 B

Jurusan Eektro Prodi Teknik Informatika

Tahun 2015

Page 2: Materi delphi

Pengenalan Pemrograman Delphi

A.Kelas dan Objek

Setelah pemrograman terstruktur, berkembang pemrograman berorientasi pada objek Object

Oriented Programming atau (OOP). Ide dasar pada pemrograman berorientasi objek adalah

mengkombinasikan data dan prosedur-prosedur untuk mengakses data menjadi sebuah

kesatuan unit. Unit ini dikenal dengan nama objek (object). Objek sebenarnya mencerminkan

pola kerja manusia dalam kehidupan seharihari. Sebuah objek dapat diibaratkan sebagai

departemen-departemen di dalam sebuah perusahaan bisnis. Konsep-konsep yang mendasari

pendekatan berorientasi objek ini adalah objek dan kelas.

Kelas adalah suatu cetakan yang dapat digunakan untuk membuat sejumlah objek. Sering

Page 3: Materi delphi

dikatakan bahwa sebuah objek adalah instan sebuah kelas. Sebuah objek dapat dianalogikan

dengan sebuah kue dan kelas adalah cetakan kue. Dengan menggunakan sebuah cetakan kue

bisa dibuat sejumlah kue. Begitu halnya dengan kelas.

Dengan menggunakan sebuah kelas, sejumlah objek dapat diciptakan. Sebuah kelas

mengandung sejumlah elemen data dan sejumlah prosedur (sekumpulan kode yang diberi

sebuah nama) yang ditunjukkan untuk mengakses elemenelemen data tersebut. Dengan

demikian, suatu objek yang didefinisikan sebagai instan sebuah kelas akan memiliki elemen-

elemen data dan prosedur-prosedur untuk mengakses elemen data yang didefinisikan dalam

kelas. Elemen data dalam sebuah objek biasa disebut dengan data, anggota data, atribut, atau

terkadang disebut properti, sedangkan prosedur yang digunakan untuk mengakses elemen data

biasa disebut metode atau fungsi anggota.

Contoh sebuah kelas adalah Orang. Kelas Orang dapat mengandung atribut seperti nama dan

tanggal_lahir dan prosedur seperti isi_nama dan isi_pekerjaan dan peroleh_nama dan peroleh

pekerjaan. Selanjutnya, kelas Orang dapat digunakan untuk membentuk objek bernama orang1

dan orang2. Pada contoh, seperti ini masing-masing objek orang1 dan orang2 memiliki atribut

nama dan pekerjaan yang independen. Masing-masing prosedur yang dimiliki kedua objek

tersebut akan terkait dengan atribut masing-masing.

B. Contructor & Destructor

constructor– yaitu sebuah function khusus yang dipakai untuk mengalokasikan memori untuk

objek dari kelas di mana constructor tersebut dideklarasikan. By default, suatu kelas

mempunyai sebuah constructor yaitu create. Sebenarnya kita bisa

mendeklarasikan constructor sendiri untuk kelas-kelas yang kita buat. Caranya sama dengan

membuat sebuah method. Dengan membuat cosntructor sendiri, kita bisa memperloleh

keuntungan yaitu kita bisa melakukan inisialisasi properti ketika constructor dipanggil.

Sebagai contoh, berikut ini saya tuliskan baris kode untuk mengalokasikan memori untuk objek

bertipe kelas TSquare, setelah itu dilakukan inisialisi properti dari objek tersebut. :

o := TSquare.Create;

Page 4: Materi delphi

o.FX := 10;

o.FY := 10;

o.FWidth := 5;

o.FCaption := ‘First Square';

Jika kita menuliskan constructor sendiri untuk kelas TSquare ini, kita bisa mengirimkan nilai

awal (initial value) dari atribut-atribut kelas TSQuare ini. Kita bisa menuliskan :

o := TSquare.Create( 10, 10, 5, ‘First Square');

Baris kode di atas lebih elegan dan menguntungkan. Dengan membuat constructor sendiri, kita

bisa menjamin ada nilai awal untuk atribut dari kelas ketika pertama kali constructor dipanggil.

Jika ada atribut yang tidak mempunyai nilai awal , lalu atribut-atribut tersebut dipakai pada

suatu method, bisa jadi error yang akan ditampilkan oleh compiler. Lihat kode di bawah ini :

o := TSquare.Create;

// Calculate its area;

a := o.Area;

Baris kode di atas, kita menjalankan method area (untuk menghitung luas) , tapi kita lupa

melakukan inisialisasi atribut panjang dan lebar. Jika kita membuat contructor sendiri,

kesalahan yang seperti ini akan bisa dihindari karena kita dipaksa untuk memasukkan nilai awal

untuk atribut panjang dan lebar pada saat memanggil constructor.

Keuntungan lain dengan membuat constructor sendiri yaitu kita bisa melakukan inisialisasi suat

objek yang dalam kelas. Dibagian awal dari artikel OOP Pada Delphi ini, kita membuat sebuah

kelas yaitu TMRUList. Kelas ini mempunyai atribut yang bertipe TStringList. Sebelum bisa

digunakan, atribut yang bertipe TStringList ini harus dialokasikan memori untuknya (Instansiasi,

saya kebelakang akan menggunakan istilah instansiasi untuk menggantikan istilah

Page 5: Materi delphi

"Mengalokasikan Memori"). Tempat yang paling tepat untuk meng-instantsiasi atribut ini

adalah constructor. Jadi, ketika kelas TMRUList di-instantsiasi, pada saat yang sama kelas ini

juga meng-instantsiasi atribut yang berti TStringList tersebut.

Sekarang, artibut yang bertipe TStringlist tadi juga perlu dibebaskan memori-nya (destroy, saya

akan memakai istilah ini untuk menggantikan istilah "membebaskan memori") .Kapan yang

tepat untuk men-destroy atribut tersebut? Saat yang yaitu ketika proses destryo objek yang

bertipe TMRUList itu sendiri. Sama dengan proses instansiasi, proses destroy juga tidak

otomatis dilakukan. Ketika objek TMRUList di-destroy, kita perle mengeksekusi baris kode yang

akan men-destroy atribut yang bertipe TStringList. Di dalam delphi, disediakan method yang

dipakai untuk men-destroy suatu object, yaitu destructor. Destructor bisa dibilang sebagai

kebalikan dari constructor – destructor ini dipanggil ketia sebuah objek di-destroy.

Lebih jelasnya lihat baris kode berikut ini :

Kita deklarasikan sebuah constructor pada bagian deklarasi kelas dengan kata

kunci Constructor :

Type

TSquare = Class

FX, FY : Integer;

FCaption : String;

FWidth : Integer;

Function Area : Integer;

Constructor Create( px, py : Integer; // deklarasi constructor

pWidth : Integer; Caption : String;

Page 6: Materi delphi

End;

Kemudian, kita tuliskan isi dari constructor tersebut pada bagian implementation. Pada bagian,

kita juga menggunakan kata kunci Constructor:

Constructor TSquare.Create(px, py : Integer;

pWidth : Integer; pCaption : String);

Begin

Self.FX := px;

Self.FY := py;

Self.FWidth := pWidth;

Self.FCaption := pCaption;

End;

Seperti yang terlihat pada baris kode di atas, , yang dilakukan constructor adalah meng-

copy nilai dari parameter ke atribut yang ada pada kelas tersebut. Untuk kasus di atas,

penggunaan keyword adalah optional saja. Hal ini karena nama parameter dengan atribut kelas

berbeda. Jika anda menamakan paramer sama dengan atribut kelas, maka

penggunaan keyword Self adalah sebuah keharusan. Namun, lebih baik anda menghindari

penamaan yang sama antara paramer dan nama atribut kelas.

C.Karakteristik

Pemrograman berorientasi objek memiliki karakteristik :

1. Pengkapsulan (Encapsulation)

Page 7: Materi delphi

Pengkapsulan adalah konsep yang mengintegrasikan state dan interface

menjadi suatu object atau pengemasan data dan prosedur dalam objek. State dari

object berupa jenis, warna, dan semua atribut objek, hanya dapat diakses dan

dimanipulasi melalui interface. Interface merupakan kumpulan dari operasi-operasi

(hanya spesifikasi) yang implementasinya dan data tidak dapat diakses secara

langsung serta tidak diketahui oleh pihak di luar objek.

Misalnya

prosedur menyalakan mobil, kita tidak perlu tahu detil proses yang

terjadi ketika menyalakan mobil dan data-data apa saja yang terlibat

dalam proses tersebut tetapi yang kita tahu adalah bagaimana cara

menyalakan mobil itu saja.

kita hanya tahu cara menggunakan komponen tombol tetapi tidak

perlu tahu cara membuat komponen tombol.

2. Pewarisan (Inheritance)

Pewarisan adalah mekanisme untuk mendefinisikan kelas yang baru dari kelas

yang lama dimana kelas yang baru mewarisi sifat-sifat dari kelas yang lama

(mewarisi atribut-atribut dan operasi-operasinya). Contohnya kelas orang memiliki

atribut-atribut nama dan alamat dengan operasi-operasi ubahnama, ubahalamat dan

display. Kemudian kita membuat kelas baru, misalnya kelas pegawai (subkelas

orang), yang mewarisi atribut-atribut dan operasi-operasi tersebut. Kelas pegawai

yang merupakan kelas baru itu dapat menambah atribut-atribut dan operasioperasi

yang baru sesuai dengan kebutuhan.

Misalnya

Setiap tombol pasti mempunyai event onClick.

3. Polimorfisme

Polimorfisme Suatu konsep yang menyatakan sesuatu nama yang sama dapat

memiliki berbagai bentuk dan perilaku yang berbeda. Istilah ini berasal dari Bahasa

Page 8: Materi delphi

Yunani, yang berarti ƒmempunyai banyak bentuk≈. Berdasarkan karakteristik

tersebut, bahasa pemrograman berorientasi objek memudahkan dalam

pengembangan program. Istilah reusability digunakan untuk menyatakan hal ini.

Reusability (kepemakaian kembali) adalah suatu sifat yang memperkenankan kelas

yang telah dibuat dan diuji dapat didistribusikan ke pemrogram lain untuk dipakai

pada programprogram mereka dan bahkan dikembangkan tanpa perlu mengubah

kelas tersebut. Sifat inilah yang dikatakan bahwa pemrograman berorientasi objek

dapat mengurangi kekompleksitasan pemrogram dan dapat meningkat produktivitas

pemrogram. Pemrograman Visual.

Misalnya

Tombol OK dan Cancel meskipun diturunkan dari satu komponen

tetapi dalam implementasinya mereka mempunyai fungsi yang

berbeda.

4. Eksepsi

Eksepsi merupakan sebuah mekanisme untuk mengatasi kesalahan sewaktu

program di eksekusi. Dengan memberikan kode pada penanganan eksepsi,

suatutindakan dapat diatur sendiri oleh pemrogram sekiranya kesalahan – kesalahan

yang tidak normal terjadi.

Delphi menyediakan dua konstruksi yang terkait dengan eksepsi, yaitu berupa

try…except dan

try…finally

Bentuk umum try…except adalah sebagai berikut :

try

pernyataan_1;

except

pernyataan_2;

end;

Page 9: Materi delphi

Pemilihan penggunaan eksepsi tersebut diatas, disesuaikan dengan keadaan yang

dihadapi oleh pemrogram. Bila ingin meyakinkan bahwa apapun yang terjadi suatu

kode harus dieksekusi (missal pembebasan memory seperti sintak diatas), maka

gunakan try…finally.

Sedang untuk mengatur agar suatu kode dieksekusi manakala sesuatu eksepsi

terjadi, maka gunakan try…except.

D.OPERATOR

Operator adalah bagian dari program untuk membuat operasi pada data. Terdapat beberapa operator untuk

menangani operasi program sesuai tipe data.

Macam-macam operator pada Delphi 7 :

1. Operator Aritmatika

Adalah operator untuk keperluan operasi bilangan. Operator aritmatika dibagi menjadi dua, yaitu operator binary

dan operator unary.

Macam-macam operator aritmatika binary:

Operator Operasi Tipe

Operand Tipe Hasil Contoh

+ Penjumlahan integer,

real

integer,

real X + Y

- Pengurangan integer,

real

integer,

real X – Y

* Perkalian integer,

real

integer,

real X * Y

/ Pembagian

real

integer,

real real X / Y

div Pembagian

integer integer X div Y

Page 10: Materi delphi

integer

mod Sisa integer integer X mod Y

2. Macam-macam operator aritmatika unary:

Operator Operasi Tipe

Operand Tipe Hasil Contoh

+ (unary) Tanda positif integer,

real

integer,

real +X

- (unary) Tanda negatif integer,

real

integer,

real -X

3. Operator Boolean

Adalah operator yang dipakai untuk menangani operasi data bertipa boolean . Operator ini juga menghasilkan

data bertipe boolean.

Macam-macam operator boolean:

Operator Operasi Tipe

Operand Tipe Hasil Contoh

not Negasi Boolean Boolean not lulus

and Konjungsi Boolean Boolean pria and

single

or Disjungsi Boolean Boolean pria or

wanita

xor Disjungsi

Eksklusif Boolean Boolean

anak xor

balita

Page 11: Materi delphi

4. Operator Logika

Adalah operator untuk menangani operasi logika pada bit-bit angka. Berbeda dengan operator boolean, operator

logika berfungsi mirip dengan operator aritmatika, artinya operator ini tidak menangani data berupa pernyataan

namun berupa angka / integer.

Macam-macam operator logika :

Operator Operasi Tipe

Operand Tipe Hasil Contoh

not bit negation integer integer not A

and bit and integer integer A and B

or bit or integer integer A or B

xor bit xor integer integer A xor B

shl bit shift left integer integer A shl 2

shr bit shift right integer integer B shr 3

5. Operator String

Adalah operator yang menangani data berupa string atau huruf/karakter. Operator string hanya satu, yaitu

operator +. Operator ini berfungsi sebagai perangkai, jadi tidak sama dengan + pada operator aritmatika.

Operator Operasi Tipe

Operand Tipe Hasil Contoh

+ Perangkaian String,

Character String ‘A’+’ku’

6. Operator Pointer

adalah operator yang khusus menangani data berupa pointer, hasil operator pointer bisa berupa pointer, integer,

atau boolean.

Macam-macam operator pointer:

Page 12: Materi delphi

Operator Operasi Tipe

Operand Tipe Hasil Contoh

+ Penjumlahan

Pointer

Character

pointer,

Integer

Character

pointer P+I

- Pengurangan

Pointer

Character

Pointer,

Integer

Character

Pointer,

Integer

P-Q

^ Selisih Pointer Pointer Tipe dasar

pointer P^

= Persamaan Pointer Boolean P=Q

<> Pertidaksamaan Pointer Boolean P<>Q

7. Operator Himpunan

Adalah operator yang menangani data berupa himpunan.

Macam-macam operator himpunan :

Operator Operasi Tipe

Operand

Tipe

Hasil Contoh

+ Union set set S1+S2

- Selisih set set S1-S2

* Intersection set set S1*S2

<= Subset set boolean S1<=S2

Page 13: Materi delphi

>= Superset set boolean S2>=S1

= Persamaan set boolean S1=S2

<> Pertidaksamaan set boolean S1<>S2

in Keanggotaan ordinal,

set boolean S1 in S2

8. Operator Relasional

Adalah operator yang menangani perbandingan antara dua buah data. Operator relasional menghasilkan nilai

boolean.

Macam-macam operator relasional:

Operator Operasi Tipe

Operand

Tipe

Hasil Contoh

= Persamaan

simple,

class,

class

reference,

interface,

string,

packed

string

Boolean A=B

<> Pertidaksamaan

simple,

class,

class

reference,

interface,

string,

Boolean A<>B

Page 14: Materi delphi

packed

string

< Kurang dari

simple,

string,

packed

string,

PChar

Boolean A<B

> Lebih Dari

simple,

string,

packed

string,

PChar

Boolean A>B

<= Kurang dari atau

sama dengan

simple,

string,

packed

string,

PChar

Boolean A<=B

>= Lebih dari atau

sama dengan

simple,

string,

packed

string,

PChar

Boolean A>=B

9. Operator Class

Operator as dan is menerima class dan instan obyek sebagai operand, operator = dan juga beroperasi dengan

class

10. Operator @

Operator @ menghasilkan alamat variabel, function, procedure, atau method. Operator @ mengkonstruksi

pointer dengan operandnya

Page 15: Materi delphi

Referensi::

http://niaetmack11.blogspot.sg/2011/04/modul-delphi.html

https://lutfiiceice.wordpress.com/2015/03/13/pengkapsulanpewarisanpolimorfismeeksep

si/

http://delphigurus.blogspot.sg/2011/03/object-oriented-programming-pada-

delphi_22.html#.VQQjG4iAZIw

https://abisabrina.wordpress.com/2010/12/19/operator-operator-pada-delphi/