Materi delphi
-
Upload
rhendy-thanaya -
Category
Education
-
view
164 -
download
0
Transcript of Materi delphi
![Page 1: Materi delphi](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/1.jpg)
Materi DELPHI
Dibuat Oleh RENDI
Kelas 2 B
Jurusan Eektro Prodi Teknik Informatika
Tahun 2015
![Page 2: Materi delphi](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/2.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/3.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/4.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/5.jpg)
"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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/6.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/7.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/8.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/9.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/10.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/11.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/12.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/13.jpg)
>= 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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/14.jpg)
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](https://reader035.fdokumen.com/reader035/viewer/2022081806/55ac7d1a1a28ab81618b4644/html5/thumbnails/15.jpg)
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/