Senin, 23 Februari 2009

Delphi menyediakan tipe data yang cukup banyak dan lengkap, sehingga memberi ruang yang luas bagi pemrogram untuk membuat program yang efisien dan kuat, sesuai dengan tugas yang dilakukan program.
Pemilihan tipe data yang digunakan secara tepat akan sangat berguna, misalnya dalam hal menghemat memory, kecepatan proses, ketelitian penghitungan dan lain-lain. Namun, janganlah Anda sampai terbebani untuk selalu memikirkan secara masak-masak penggunaan tipe data yang tepat, terutama bagi Anda yang baru belajar bahasa pemrograman.
Dengan perkembangan kapasitas memory perangkat keras dan kecepatan unit pemroses computer yang sudah sangat maju, menyebabkan pemborosan penggunaan memory dan kecepatan proses yang diakibatkan ketidaktepatan pemilihan variabel dapat sangat dikurangi pengaruhnya. Meskipun demikian, memang ada baiknya Anda menyadari dan membiasakan penggunaan tipe data yang tepat, sesuai program yang Anda buat, sehingga jika nantinya Anda membuat program yang besar dan kompleks, masalah, penggunaan memory dan kecepatan proses tidak menjadi hambatan.
Beberapa hal tentang pertimbangan penggunaan tipe data dapat Anda simak dalam penjelasan berikut ini.
===
1. Penggunaan memory dan rentang data
Ada perbedaan pengalokasian atau pemakaian memory untuk satu tipe data dengan tipe data lainnya. Tentu saja yang paling baik adalah sebisa mungkin menggunakan tipe data yang menggunakan memory paling kecil. Misalnya jika Anda memproses data nilai yang mempunyai range (rentang) 0 sampai 100 tanpa desimal (pecahan), maka yang paling tepat adalah menggunakan tipe data Byte (perlu memory 1 byte), dibandingkan kalau Anda menggunakan tipe Word (2 byte) atau Integer (4 byte). Namun tentu saja, jika bilangan yang diproses bisa melebihi range tipe Byte, atau mempunyai bilangan desimal (pecahan), maka Anda tidak boleh menggunakan tipe Byte.
2. Ketelitian penghitungan
Meskipun penghematan memory penting, tetapi kebenaran hasil penghitungan jauh lebih penting. Oleh karena itu, jika ketelitian penghitungan sangat diperlukan, maka gunakan tipe data dengan ketelitian (presisi) paling tinggi. Sebagai contoh, tipe data Double mempunyai ketelitian yang lebih baik dibandingkan tipe Single, tetapi menggunakan memory lebih besar.
Sebagai contoh, buatlah sebuah program aplikasi baru dengan langkah-langkah berikut ini.
1. Pilih menu File, New Ialu Application. Setelah itu, tampilkan form dengan menekan tombol F 12 (jika belum tampil).
2. Tambahkan dua buah object Label (TLabel) dan sesuaikan property Caption-nya
3. Tambahkan dua buah object TEdit dan atur ukuran dan tata letaknya seperti
4. Tekan tombol F12 atau klik ganda pada object TForm (Form1), sehingga muncul jendela editor kode program.
5. Ketik kode programnya seperti pada contoh Lat02 di bawah.
6. Pilih menu File lalu Save Project As atau klik icon Save All. Selanjutnya berilah nama Lat02 untuk menyimpan unit dan PLat02 untuk menyimpan project.
7. Jalankan program dengan memilih menu Run lalu Run atau klik icon Run atau tekan tombol F9. Perhatikan bahwa ketelitian penghitungan tipe data Double lebih baik dari Single.
===

unit Lat02;

interface

uses windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrIs;

type
TForm1= class(TForm);
Label1: TLabel;
Label2: TLabel;
Edit1 TEdit;
Edit2: TEdit;
procedure FormCreate(Sender: Tobject);
private
{ Private declarations public }
public
{ Public declarations }
end;

var
Form1: TForm1
Sgl :single;
Dbl :double;
SSgl, SDbl : string;

implementation

{$R *.dfm) 1

procedure TForm1.FormCreate(Sender: TObject);
begin
Sgl:=1/3;
Dbl:=1/3;
Sgl:=Sgl*10e7;
Dbl:=Dbl*10e7;
str(Sgl:10:20,SSgl);
str(Dbl:10:20,SDbl);
Edit1.Text:=SSgl;
Edit2.Text:=SDbl;
End;

1.1 Tipe Integer
Tipe data integer digunakan untuk menyatakan bilangan yang tidak mempunyai angka desimal. Tipe data integer terdiri atas beberapa tipe lagi, yang sebagian berbeda rentang nilai dan penggunaan memory-nya.

Tipe


Rentang Nilai


Byte

Byte


0..255


1

Word


0..65535


2

Longword


0..4294967295


4

ShortInt


-128..127


1

SmallInt


-32768 .. 32767


2

LongInt


-2147483648...2147483647


4

Integer


-2147483648..2147483647


4

Cardinal


0. . 4294967295


4

Int64


-263 . .2 63-1


8

1.2 Tipe Real
Tipe data real merupakan floating-point (ditulis dalam a x 10^b yang digunakan untuk menyatakan bilangan yang mempunyai angka desimal. Tipe data real ini terdiri atas beberapa tipe lagi, yang sebagian berbeda rentang nilai dan ukuran penggunaan memory-nya.

Tipe


Rentang Nilai


Byte

Real48


2.9 x 10-39 ..1.7 x 1038


6

Single


1.5 x 10-45 ..3.4 x 1038


4

Double


5.0 x 10-314.. 1.7 x 10308


8

Extended


3.6 x 10-4951.. 1.1 x 104932


10

Comp


-263+1 ..263-1


8

Currency


-922337203685477.5808.. 922337203685477.5807


18

Tipe Double ekuivalen dengan tipe Real yang umum dipakai. Tipe Real48 digunakan untuk menjaga kompatibilitas dengan versi versi sebelumnya. Tipe Real48 menghasilkan proses yang lebih lambat Tipe Extended menghasilkan ketelitian yang lebih baik, tetapi kurang kompatibilitas jika program nantinya didesain untuk sharing dengan platform lain. Tipe Comp adalah tipe ash yang digunakan CPU Intel yang sebetulnya mewakili tipe integer 64 bit, tetapi dikelompokkan dalam tipe real karena tidak mempunyai sifat ordinal. Comp dipakai untuk menjaga kompatibilitas dengan versi sebelumnya. Sebaiknya gunakan Int64 untuk unjuk kerja yang lebih baik.
Tipe Currency termasuk fixed-point (tidak ditulis dalam a x 10b) yang mempunyai sifat meminimalkan kesalahan penghitungan pembulatan. Tipe ini sangat cocok untuk penggunaan penghitungan yang melibatkan nilai mata uang.

1.3 Tipe Boolean
Tipe data boolean dipakai untuk menyatakan data logika, yaitu True (benar) dan False (salah). Delphi rnempunyai empat tipe boolean seperti berikut ini.

Tipe


Byte

Boolean


1

ByteBool


1

WordBool


2

LongBool


4

Disarankan yang digunakan adalah tipe Boolean. Tipe yang lain, yaitu ByteBool, WordBool dan LongBool sebaiknya hanya digunakan untuk menjaga kompatibilitas, yaitu jika program akan dihubungkan dengan program dalam bahasa lain atau dengan bagian Windows yang menggunakan tipe yang sama.

1.4 Tipe Character
Tipe data character digunakan untuk menyatakan karakter satu huruf. Delphi menyediakan tiga tipe data character berikut ini.

Tipe


Isi


Byte

Char


1 karakter ANSI


1

AnsiChar


1 karakter ANSI


1

WideChar


1 karakter Unicode


2

1.5 Tipe String
Tipe data string dipakai untuk menyatakan sederetan karakter yang membentuk satu kesatuan, misalnya nama, alamat, kode barang dan lain-lain. Tipe data string bisa juga diisi karakter kosong atau satu karakter. Delphi mempunyai tiga tipe data string, yaitu seperti berikut ini.

Tipe


Byte


Isi Maksimum

ShortString


2 s.d. 256


256 karakter

AnsiString


4 s.d. 2GB


231 karakter

WideString


4 s.d. 2GB


230 karakter

Tipe ShortString disediakan hanya untuk menjaga kompatibilitas dengan versi sebelumnya. AnsiString untuk menyimpan karakter ANSI dan WideString untuk menyimpan karakter Unicode.
Pada saat menulis kode program, Anda bisa menggunakan tipe data String yang umum dipakai. Pada saat dikompilasi, tipe String ini akan otomatis dianggap sebagai AnsiString jika direktif yang dIgunakan adalah {$H+} atau dianggap sebagai ShortString jika direktif yang digunakan adalah {$H-1} Jika tidak menggunakan direktif di atas, maka dianggap defaultnya {$H+}

1.6 Tipe Array
Array adalah variabel tunggal yang dapat dipakai untuk menyimpan sekumpulan data sejenis . Untuk membedakan tempat menyimpan satu data dengan data lainnya, array menggunakan nomor elemen di sebelah kanan nama array. Sebagai contoh, perhatikan potongan program berikut ini.

var
Bulan : array[1..12] of AnsiString;

begin
Bulan[1] := 'Januari';
Bulan[2]:= 'Pebruari';
.....
.....
Edit1.text . Bulan[1];

1.7 Tipe Record
Tipe data record dipakai untuk menyimpan sekumpulan data yang mungkin berbeda tipe, tetapi saling berhubungan. Contoh tipe data record misalnya untuk menampung data barang yang tiap satu data record berisi data kode barang, nama barang dan harga satuan. Perhatikan contoh potongan program berikut ini.

type
RecBrg = record
Kode : Ansistring[6];
Nama : Ansistring[30];
HSatuan : Currency;
end;

var
Barang: recBrg;
begin
Barang.Kode := 'Ps.001';
Barang.Nama := 'PENSIL 2B';
Barang.HSatuan:= 2500;

1.8 Tipe Terenumerasi dan Subrange
Tipe data terenumerasi dan tipe data subrange dipakai untuk menyatakan data berurutan yang bertipe sama. Contoh deklarasi tipe data terenumerasi seperti berikut ini.

type
Warna = (Merah, Biru, Hijau, Kuning, Orange, Hitam Putih);

var
WarnaCat : warna;

Contoh deklarasi tipe subrange seperti berikut ini.

type
warnaku = Biru..Orange;
HurufBesar = 'A'..'Z';
Nilai := 0..100;

var
WarnaCat : Warnaku;
NilaiUjian : Nilai;
NilaiAkhir : HurufBesar;

1.9 Tipe Ordinal
Tipe ordinal terdiri atas tipe integer, character, Boolean, enumerated, and subrange types. Tipe ordinal mempunyai sifat terurut. Tiap anggota ordinal, kecuali urutan pertama, akan mempunyai "Nilai sebelumnya" atau n-1 dan tiap anggota, kecuall yang terakhir, akan mempunyai "nilai sesudahnya" atau n+1.

Data bertipe ordinal akan dapat dioperasikan dengan beberapa function yang dirancang pada tipe ordinal. Sebagai contoh perhatikan tabel di bawah ini, dengan anggapan argumen n adalah suatu bilangan integer.

Function


Hasil


Keterangan

Ord(n)


n


Misal n=3, hasil=3

Pred(n)


n-1


Misal n=3, hasi 1=2

Succ(n)


n+l


Misal n=3, hasil=4

High(n)


Nilai tertinggi

tipe data n


Misal n adalah integer, maka

hasil=2147483647

Low(n)


Nilai terendah

tipe data n


Misal n adalah integer, maka

hasil=-2147483648

2. Konstanta
Konstanta adalah suatu nilai yang bersifat tetap. Anda dapat menggunakan suatu nama untuk mewakili suatu konstanta. Misalnya Anda mempunyai program yang menggunakan niali konstanta 0. 1 untuk mewakili nilai diskon anggota dan angka 0.15 untuk mewakili diskon tunai, maka dalam programnya dapat Anda tuliskan seperti berikut ini.

begin
. . .
. . .
JumDisc:= Jumlah * 0.1 + Jumlah * 0.15;

Potongan program di atas boleh ditulis dalam bentuk seperti di bawah ini.

const
DiscAng = 0.1;
DiscTunai = 0.15;

begin
. . .
. . .
JumDisc:=Jumlah * DiscAng + Jumlah * DiscTunai;

Keuntungan penggunaan konstanta antara lain seperti berikut ini.
1. Program lebih mudah dimengerti (terbaca).
2. Menghindarkan salah ketik, karena jika Anda salah mengetik nilainya, maka pada saat kompilasi tidak terdeteksi kesalahan. Sedangkan jika Anda salah mengetik nama konstanta, maka pada saat kompilasi akan terdeteksi kesalahannya.
3. Jika dalarn satu program nilai konstanta dipakai berulang kali, maka jika ada perubahan data nilai konstanta, cukup yang diubah adalah pada deklarasi konstantanya saja.

3. Variabel
Variabel adalah suatu tempat yang dialokasikan dalarn memory yang diberi nama (sebagai pengenal) untuk menampung suatu data. Perbedaan antara variabel dan konstanta adalah seperti berikut ini.

1. Konstanta dipergunakan pada saat kompilasi program, sedangkan variabel digunakan pada saat pelaksanaan program. Jadi, pada saat kompilasi Delphi akan mengganti semua konstanta dengan nilai konstantanya, sehingga hasil kompilasi sudah berupa nilai konstantanya, sedangkan variabel tidak diganti, pada hasil kompilasi tetap berupa nama variabelnya. Pada saat program dijalankan, barulah Delphi dapat mengambil nilai dari suatu variabel, sedangkan konstanta sudah berupa nilainya.
2. Konstanta tidak dapat berubah pada saat program berjalan, sedangkan variabel dapat berubah atau diubah nilainya. Untuk mengubah nilai konstanta, maka harus diubah pada deklarasi konstanta dalarn kode programnya dan harus dikompilasi lagi.

3.1 Nama Variabel
Setiap variabel pasti mempunyai nama, yang sering disebut sebagai Identifier. Identifier sebetuInya tidak terbatas pada nama variabel, melainkan termasuk nama konstanta, function, procedure, field, type, property, unit, program, library dan packages. Dalam menggunakan nama variabel, sebaiknya digunakan nama yang sesuai dengan data yang dikandungnya serta mudah diingat.
Gunakan nama variabel yang singkat tapi jelas, misalnya NamaSiswa, Alamat, GajiPokok dan lain-lain. Penulisan huruf besar dan kecilnya diatur supaya mudah dibaca. Anda tidak perlu mengkhawatirkan konsistensi penulisan huruf besar kecilnya, karena Delphi akan menganggap sama antara huruf besar dan kecil.
Beberapa aturan yang berlaku pada penggunaan nama variabel adalah seperti berikut ini.
1. Harus dimulai dengan karakter alfabet (huruf) atau bawah
2. Harus unik (tidak boleh ada yang sarna) pada ruang lingkup (scope) variabel yang sama.
3. Panjangnya boleh berapa saja, tetapi hanya 255 karakter pertama yang dianggap sebagai nama variabeInya. Jadi, karakter ke-256 dan seterusnya diabaikan.
4. Beberapa karakter tidak diperbolehkan dipakai, misainya karakter yang dipakal sebagai operator (+, -, *, /, c, -- dan lain-lain), titik dua, korna dan lain-lain. Nama variabel juga tidak boleh sama dengan nama procedure atau function yang terdapat pada Delphi (reserved words).

3.2 Ruang Lingkup Variabel
Ruang lingkup variabel (variable scope) adalah ruang atau daerah di mana variabel yang dibuat dapat dikenali (dapat dipakai). Ruang lingkup variabel biasanya juga berhubungan dengan umur (waktu hidup) variabel. Ada variabel yang dapat dikenal di seluruh bagian program (project) dan hidup selama program masih berjalan, ada juga variabel yang hanya dikenal pada procedure atau function tempat variabel tersebut dideklarasikan dan hidup hanya selama procedure atau function tersebut sedang berjalan.
Secara umum, suatu variabel dapat dikenali pada bagian variabel tersebut dideklarasikan, jadi ruang lingkup variabel adalah pada lingkup variabel tersebut dideklarasikan, seperti pada tabel berikut ini

Tempat Deklarasi


Ruang Lingkup

Tempat deklarasi program, function atau procedure


Mulai dari posisi deklarasi sampai akhir blok (program, function atau semua blok yang berada dalarn blok procedure), termasuk (sub-blok).

Bagian interface sebuah unit


Mulai dari posisi dideklarasikan sampai akhir unit. Juga termasuk program lain atau unit lain yang menggunakan unit sekarang.

Bagian implementa tion sebuah unit, tetapi bukan di dalam blok function atau procedure


Mulai posisi dideklarasikan sampai akhir unit, termasuk dalarn function atau procedure dalam unit tersebut.

Pada definisi tipe record


Mulai posisi dideklarasikan sampai akhir definisi tipe record

3.3 Ruang Lingkup Global dan Lokal
Secara umum, nama variabel atau identifier dibagi dalam dua kategori, yaitu lokal dan global. Variabel atau identifier yang mempunyai ruang lingkup yang sempit, terutama ruang lingkup function dan procedure disebut lokal dan yang mempunyai ruang lingkup yang luas, misaInya ruang lingkup unit, disebut global.
Seperti sudah dibahas sebelumnya, nama variabel harus bersifat unik (tidak ada yang sama) pada satu ruang lingkup yang sama. Namun Anda dapat membuat nama variabel yang. sama pad& ruang lingkup yang berbeda. Variabel yang mempunyai nama yang sama, tetapi berbeda ruang lingkupnya, tidak akan saling mengganggu.
Sebagai contoh, jika Anda mendeklarasikan sebuah variabel di bagian interface dengan nama A (bersifat global), kemudian mendeklarasikan lagi variabel bernama A pada suatu procedure X (bersifat lokal), maka jika program sedang menjalankan procedure X, yang berlaku adalah variabel A yang bersifat lokal dan tidak mengganggu variabel A yang bersifat global.
Sebagai contoh, buatlah program aplikasi dengan langkah langkah berikut ini.
1. Pilih menu File, New Ialu Application sehingga muncul form baru yang. masih kosong dan pada Object Inspector hanya ada satu object, yaitu object bernama Form1 berupa object TForm.
2. Klik pada tab Events pada jendela Object Inspector Ialu klik ganda di kanan event OnClick (bukan pada tanda segitiga), sehingga muncul editor kode program Oengan procedure TForm1.FormClick. Ketikkan kode programnya seperti pada contoh di bawah.
3. Klik ganda di kanan event OnDbIClick (bukan pada tanda segitiga), sehingga muncul editor kode program dengan procedure TForm1.FormDblClick. Ketikkan kode programnya seperti pada contoh di bawah.
4. Lengkapi kode program sepert! pada contoh di bawah.
5. Simpan unit dengan nama Lat03 dan simpan project dengan nama PLat03.
6. Jalankan program. Cobalah klik dan klik ganda secara berulang pada form dan perhatikan caption (judul) form. Dapat Anda lihat variabel tidak saling mengganggu.

unit Lat03;

interface

uses
windows, Messages, SysUtils, Variants, Classes, Graphics, controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormClick(Sender: Tobject);
procedure FormDblClick(Sender: Tobject);
private
{Private declarations}
public
{ Public declarations}
end;

var
Form1: TForm1;
A : string; //deklarasi global

implementation

{$R *.dfm}

procedure TForm1.FormClick(Sender: Tobject);
var A : string; //deklarasi lokal
begin
A:='Isi variabel A lokal'; //isi variabel lokal
Form1.Caption:=A; //cetak variabel lokal pada caption
end;

procedure TForm1.FormDblClick(Sender:Tobject);
begin
Form1.Caption:=A; //cetak variabel global pada caption
end;
begin //program utama, dijalankan pertama
A:='Isi variabel A global'; //kali mengisi variabel global,
end. //tetapi belum dicetak pada caption
4. Operator
Operator dipakai untuk memanipulasi dan mengolah data. Delphi menyediakan bermacam-macam operator. Setiap operator memiliki tingkat hierarki, yaitu urutan pelaksanaan jika ada beberapa operator dalam satu proses.
Sebagai contoh, jika terdapat ekspresi X+Y*Z, maka akan dilaksanakan terlebih dahulu operasi Y*Z, baru setelah itu, hasil operasi X*Y ditambah X. Hal ini disebabkan operator perkalian (dengan simbol *) hierarkinya lebih tinggi dari operator penambahan (dengan simbol +).
Jika dalam satu ekspresi terdapat beberapa operator dengan tingkat hierarki yang sama, maka pelaksanaannya didahulukan mulai dari paling kiri.
Anda dapat menggunakan tanda kurung untuk mendahulukan suatu operasi mendahului semua tingkat hierarki. Jika terdapat tanda kurung dalam tanda kurung, maka didahulukan yang paling dalam. Sebagai contoh, bila ada ekspresi (X+Y)*Z, maka yang dilaksanakan pertama kali adalah operasi X+Y, kemudian hasilnya baru ditambah dengan Z.
Hierarki operator dalam Delphi adalah seperti pada tabel berikut.

Operator


Hierarki

@, not first


Tertinggi

*,/, div, mod, and, shl, shr, as


Kedua

+,-,or, xor


Ketiga

=,<>,<,>,<=,>=,in,is


Keempat

4.1 Operator Penugasan (Assignment)
Operator penugasan (assignment) disimbolkan dengan tanda titik dua diikuti tanda sama dengan dan ditulis berdempetan tanpa spasi. Operator penugasan berfungsi untuk memasukkan suatu data ke dalarn suatu variabel. Bentuk penulisannya seperti berikut ini.

:= ;

Contoh:

Nama :='Budi';
Bilangan:= 0;
Harga :=500;
Banyak:= 5;
Jumlah:= Banyak * Harga;

4.2 Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi aritmatika. Delphi mempunyai beberapa operator aritmatika, yaitu seperti pada tabel di bawah ini.

Operator


Operasi


Tipe Diproses


Tipe Hasil

*


Perkalian


Integer

Real


Integer Real

/


Pembagian


Integer

Real


Real

Real

Div


Pembagian bulat


Integer


Integer

Mod


Sisa pem bagian


Integer


Integer

+


Penambahan


Integer Real


Integer Real

-


Pengurangan


Integer

Real


Integer

Real

Operator aritmatika di atas disebut juga sebagai operator aritmatika binari. Selain itu, ada juga operator aritmatika unari, yaitu tanda + (plus) sebagai tanda positif dan operator (minus) sebagai tanda negatif. Operator aritmatika unari dapat dipakai pada tipe data integer maupun real. Hierarki operator unari lebih tinggi dari semua operator binari.
Sebagai contoh, perhatikan potongan program berikut ini

A:= 2 * 3; //hasilnya 6
A:= 2 * 3; //hasilnya 6
A:= 5 / 2; //hasilnya 2.5
A:= 5 div 2; //hasilnya 2
A:= 5 mod 2; //hasilnya 1
A:= 5 + 2; //hasilnya 7
A:= 5 2; //hasilnya 3

Lalu bagaimana dengan operasi pangkat? Delphi secara tradisi memang tidak menyediakan operator untuk pemangkatan. Sebagai gantinya Anda dapat menggunakan rumus matematika a^x = exp(x*ln(a)) atau jika hanya pangkat 2, misalnya a^2, maka dapat ditulis a*a. Perhatikan potongan program berikut ini.

A:=2;
B:=3;
C:=exp(B*ln(A)); //C berisi 8
D:=exp(B*ln(5)); //D berisi 125

Untuk lebih mudah mengingat, rumus untuk menulis pangkat menjadi exp( * ln()).

4.3 Operator Relasi
Operator relasi atau pembandingan digunakan untuk membandingkan suatu ekspresi atau data dengan ekspresi atau data lain. Hasil penggunaan operator relasi adalah data logika (boolean) benar atau salah. Tentu saja, antara dua ekspresi atau data yang dibandingkan harus mempunyai tipe yang sama. Tabel operator relasi yang disediakan Delphi adalah seperti berikut ini

Operator


Keterangan

=


Sama dengan

<>


Tidak sama dengan

<


Lebih kecil

>


Lebih besar

<=


Lebih kecil atau sarna dengan

>=


Lebih besar atau sama dengan

Beberapa contoh penggunaan operator relasi dapat Anda lihat seperti di bawah ini.
A := 2 > 3; //A berisi False
A := 2 + 2 > 3; //A berisi True
A := 3 > 2 + 2; //A berisi False
A := 3 >= 3; //A berisi True

Dari contoh di atas terlihat bahwa operator relasi hierarkinya lebih rendah dari operator aritmatika, sehingga operator aritmatika selalu dijalankan lebih dahulu sebelum operator relasi.

4.4 Operator Logika
Digunakan untuk mengekspresikan satu atau lebih data atau ekspresi logika (boolean), menghasilkan data logika (boolean) baru. Tabel operator logika dengan hierarki dari atas ke bawah adalah seperti berikut ini.

Operator


Keterangan

Not


Tidak

And


Dan

Or


Atau

Xor


Exclusive Or
Operator Logika Not
Operator logika Not dipakai untuk menghasilkan nilai kebalikan dari suatu ekspresi atau data logika. Operator Not mempunyai hierarki paling tinggi di antara operator logika lainnya. Tabel hasil ekspresi logika Not dapat Anda lihat seperti pada tabel berikut ini.

Ekspresi


Hasil

Not True


False

Not False


True
Contoh hasil penggunaan operator logika Not dapat Anda lihat di bawah ini.

Tes:= Not(5 > 4) //Tes berisi False
Tes:= Not(5 = 4) //Tes berisi True

Operator Logika And
Operator logika And akan menghasilkan niial boolean True hanya jika dua buah ekspresi di kiri dan kanan operator Anda bernilai True. Tabel hasil ekspresi logika And dapat Anda lihat seperti pada tabel di bawah ini

Ekspresi


Hasil

False And False


False

False And True


False

True And False


False

True And True


True
Contoh hasil penggunaan operator logika And dapat Anda lihat seperti berikut ini.

Tes:= (5 < 4) And (3 < 2); //Tes berisi False
Tes:= (5 <> 2); //Tes berisi False
Tes:= (5 > 4) And (3 < 2); //Tes berisi False
Tes:= (5 > 4) And (3 > 2); //Tes berisi True

Operator Logika Or
Operator logika Or akan menghasilkan nilai boolean True jika salah satu dari dua buah ekspresi atau kedua ekspresi di kiri dan kanan operator Or bernilai True. Jadi operator Or akan menghasilkan nilai False hanya jika kedua ekspresi di kiri dan kanan operator Or semuanya bernilai False. Tabel hasil ekspresi logika Or adalah seperti berikut ini.

Ekspresi


Hasil

False Or False


False

False Or True


True

True Or False


True

True Or True


True
Contoh hasil penggunaan operator logika Or dapat Anda lihat seperti berikut ini.

Tes := (5 < 4) Or (3 < 2); //Tes berisi False
Tes := (5 <> 2); //Tes berisi True
Tes := (5 > 4) Or (3 < 2); //Tes berisi True
Tes := (5 > 4) Or (3 > 2); //Tes berisi True

Operator Logika Xor
Operator logika Xor akan menghasilkan nilai True jika ekspresi di sebelah kiri Xor berbeda dengan ekspresi di sebelah kanannya. Jadi, operator logika Xor dapat diartikan "jika beda" akan bernilai True. Tabel hasil ekspresi logika Xor adalah seperti berikut ini.

Ekspresi


Hasil

False Xor False


False

False Xor True


True

True Xor False


True

True Xor True


False
Contoh hasil penggunaan operator logika Xor dapat Anda lihat seperti berikut ini.

Tes := (5 < 4) Xor (3 < 2); //Tes berisi False
Tes := (5 <> 2); //Tes berisi True
Tes := (5 > 4) Xor (3 < 2); //Tes berisi True
Tes := (5 > 4) Xor (3 > 2); //Tes berisi False

(Artikel Asli dari delphiscript.blogspot.com)

0 comments:

Posting Komentar

Katakan Sesuatu