Saturday, July 16, 2011

Overview Delphi Day 3

Melanjutkan Overview Delphi Day 2..

Object Pascal Part I

1. Constant
- adalah sebuah nama yang didefinisikan untuk menyimpan suatu nilai yang tetap.
- nilai yang disimpan dapat bertipe data string, integer, real.
- nama yang digunakan dapat sepanjang apapun, tapi hanya 63 karakter pertama yang dikenali.
- sebaiknya pilih nama yang unik dan deskriptif

2. Variable
- adalah sebuah nama yang didefinisikan untuk menyimpan suatu nilai yang dapat dirubah ketika eksekusi program.
- nilai suatu variable harus didefinisikan dalam tipe data tertentu.

3. Simple Data Types
- Beragam Tipe data disediakan untuk digunakan sesuai dengan kebutuhan, disesuaikan dengan alokasi memory masing-masing tipe data.
Misal menyimpan nilai 10 pada tipe data yang dapat menampung 1 juta.
- Object Pascal dikenal dengan bahasa 'strongly typed', yaitu memastikan data dengan tipe yang berbeda dapat berinteraksi dengan baik.
- Bahasa 'strongly typed' memastikan aplikasi berjalan dengan benar, membuat programmer melakukan apa yang seharusnya dilakukan bukan apa yang bisa dilakukan.

a. Integer
- untuk merepresentasikan nilai angka bulat
1. Byte 0 s.d. 255 1 bytes No negative number
2. Word 0 s.d. 65535 2 bytes No negative number
3. ShortInt -128 s.d. 127 1 bytes Yes negative number
4. SmallInt -32768 s.d. 32767 2 bytes Yes negative number
5. Integer -2147483648 s.d. 2147483647 4 bytes Yes negative number
6. Cardinal 0 s.d. 2147483647 4 bytes No negative number
7. LongInt -2147483648 s.d. 2147483647 4 bytes Yes negative number

b. Real
- untuk merepresentasikan nilai angka pecahan
1. Real
2. Single
3. Double
4. Extended
5. Comp

c. Currency
- untuk merepresentasikan nilai mata uang (hingga 4 angka dibelakang koma)
- kelebihan currency dengan real
1. memiliki kemampuan menangani jumlah yang besar
2. digunakan dalah currencyField dan komponen lainnya, yang kompatibel dengan tipe database yang merepresentasikan uang.

d. Boolean
- untuk merepresentasikan nilai logic, misal true dan false, yes dan no, on dan off.
Perbedaan macam-masam tipe data Boolean di bawah ini adalah kompatibilitas. Dalam beberapa kejadian Windows membutuhkan nilai Boolean.
1. Boolean
2. ByteBool
3. Bool
4. WordBool
5. LongBool

e. Characters
- untuk merepresentasikan nilai 1 karakter, sepanjang 1 byte (8 bits).
- tipe Char = tipe ANSIChar
- dapat menggunakan nilai ASCII untuk mendefinisikan nilainya. Misal : #66 = 'B'
1. ANSIChar 1 bytes 1 karakter ANSI
2. WideChar 2 bytes 1 karakter Unicode
3. Char 1 bytes 1 karakter

f. String
- Hampir sama dengan Char, namun mampu menyimpan hingga 255 karakter.
1. ShortString 255
2. ANSIString hingga 3GB
3. String 255 hingga 3GB
4. WideString hingga 1.5GB
- Untuk menentukan panjang string dapat menggunakan SetLength(), kalau dalam script dapat menggunakan String[X] dimana X adalah panjang yang diinginkan
- Mulai Delphi 2, komponen VCL menggunakan ANSIString type untuk semua parameter properties dan event.

4. Struktur Data
a. Array
- digunakan untuk mendeklarasikan sekumpulan data dengan tipe data yang sama.
- gunanya agar salah satu atau lebih elemen array tsb dapat digunakan berkali2 tanpa harus mendeklarasikannya lagi
- contoh :
type
MyArray = array [1..3] of integer;
var
usia : MyArray;
begin
usia[1]:=1;
usia[2]:=2;
usia[3]:=3;
end;

b. Multidimensional Array
- array dapat dikembangkan menjadi lebih dari 1 dimensi
- contoh :
type
MyArray = array [1..2,1..2] of integer;
var
usia : MyArray;
begin
usia[1,1]:=1;
usia[2,2]:=2;
usia[3,3]:=3;
end;

c. Records
1. digunakan untuk mendeklarasikan sekumpulan data dengan tipe data yang berbeda.
- contoh :
type
MyRecord = Record
Nama:String[30];
Usia:Integer;
JenKel:Char
end;
var
Orang : MyRecord;
begin
Orang.Nama :='Iis';
Orang.Usia :=2;
Orang.JenKel :='P';
end;
2. record dapat digunakan bersama array
- contoh :
type
MyRecord = Record
Nama:String[30];
Usia:Integer;
end;
MyArray = array [1..2] of MyRecord ;
var
Orang : MyArray;
begin
Orang[1].Nama :='Iis';
Orang[1].Usia :=2;
Orang[2].Nama :='Tia';
Orang[2].Usia :=3;
end;
3. record bersarang, yaitu record di dalam record
- contoh :
type
AlamatRecord = Record
Jalan:String[50];
Kota:String[20];
end;
OrangRecord = Record
Nama:String[50];
Alamat:AlamatRecord;
end;
var
Orang : OrangRecord ;
begin
Orang.Nama :='Iis';
Orang.Alamat.Jalan:='Jalan Cempaka Putih';
Orang.Alamat.Kota:='Jakarta Pusat';
end;
- bisa menjadi :
type
AlamatRecord = Record
Jalan:String[50];
Kota:String[20];
end;
OrangRecord = Record
Nama:String[50];
Alamat:AlamatRecord;
end;
var
Orang : OrangRecord ;
begin
Orang.Nama :='Iis';
with Orang.Alamat do
begin
Jalan:='Jalan Cempaka Putih';
Kota:='Jakarta Pusat';
end;
end;

d. Subrange
- dideklarasikan pada clause type
- digunakan untuk mempermudah pengecekan error(debugging). Object Pascal cukup mengecek apakah nilai yang diinput sesuai dengan range yang dideklarasikan

e. Set
- merupakan group dari subrange
- dapat dikombinasikan dengan array atau record

f. Typed Constant
- adalah : memberikan sebuah nilai constant ke dalam sebuah statement
- agar dapat digunakan berkali-kali tanpa perlu merubah nilainya

g. Enumarated
- merupakan grup dari beberapa variabel yang sejenis
- gunanya : agar code lebih mudah dibaca dan dikembangkan, sekalipun jika programmmernya diganti

h. Variant
- merupakan variable yang dapat diisi dengan nilai dari berbagai tipe data

i. Operator
1. Arihthmetic
- melakukan operasi binary dan unary arithmatic
2. Logical
01. logic
memasukkan nilai dengan tipe integer yang menghasilkan dengan tipe nilai boolean.
02. boolean
memasukkan nilai dengan tipe boolean yang menghasilkan nilai dengan tipe boolean.
3. Relational
- membandingkan 2 nilai.
4. Precendence = Priority
01. Unary Operator
02. Multiplying Operator
03. Adding Operator
04. Relational Operator

Reference : Teach Yourself Delphi 2 in 21 days by Dan Osier, Steve Grobman, and Steve Batson; SAMS Publishing

CMMIW..

^_^