Anda di halaman 1dari 11

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

A. TIPE DATA
Delphi merupakan bahasa pemrograman tingkat tinggi yang mendukung
perancangan terstruktur dan berorientasi Object. Bahasa pemrograman ini
berdasarkan Object pascal yang keuntungannya antara lain kodenya mudah dibaca,
cepat dikompilasi dan mengunakan file unit yang banyak untuk pemrograman
mudular.Penulisannya tidak case sensitive. Berikut dijelaskan struktur dasar bahasa
pemrograman Delphi.

1. Struktur Program Delphi


Program penyusunan suatu projek Delphi biasanya dibagi dalam modul source-
code yang disebut Unit. Khusus untuk unit yang berisi program utama disebut
dengan nama projek.

2. Struktur Proyek
Pada suatu projek yang akan dibangun, terdapat sebuah file program utama yang
berisi kode program untuk pengelolaan unit-unit. Kode program utama ini biasanya
juga disebut kode projek dan disimpan dalam file berektensi. DPR.

3. Struktur Unit
Sebuah Unit berisi tipe-tipe, konstanta-konstanta, variabel, dan rutin (fungsi dan
prosedur). Setiap unit didefinisikan dalam file .Pas

Sebuah unit dimulai dengan unit heading, yang diikuti dengan bagian interface,
implementation, initialization, dan finalization. Bagian initialization, dan finalization
bersifat opsional, boleh memiliki deklarasi atau tidak menyertakan, tergantung
kebutuhan.

4. Sintaks Dasar
Dalam suatu kode program unit atau projek, elemen sintaksis dasar (yang disebut
token) bergabung , membentuk ekspresi, deklarasi, statemen.
Statemen adalah aksi algoritma yang dieksekusi di dalam program.
Ekspresi adalah satuan sintaksis yang ada di dalam statemen dan menunjukkan
sebuah nilai.
Deklarasi adalah sebuah pengenal/identifier ( Contoh nama fungsi, variabel) yang
digunakan dalam ekspresi dan statemen.

5. Tipe Data, Variabel, dan Konstanta


Tipe data adalah suatu jenis data, ketika deklarasikan sebuah variabel.
Variabel adalah identifier yang nilainya dapat diubah pada saat aplikasi dijalankan.
Konstanta adalah identifier yang nilainya telah ditentukan.
6. Macam-Macam Tipe data

Beberapa hal tentang pertimbangan penggunaan tipe data dapat Anda simak
dalam penjelasan berikut ini.
a. 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
data Word (2 byte) atau Integer (4 byte). Akan tetapi, tentu saja, jika bilangan
yang diproses melebihi range tipe Byte, atau mempunyai bilangan desimal
(pecahan), Anda tidak boleh menggunakan tipe Byte.

b. Ketelitian perhitungan
Meskipun penghematan memory penting, tetapi kebenaran hasil perhitungan
jauh lebih penting. Oleh karena itu, jika ketelitian perhitungan (presisi) paling
tinggi. Sebagai contoh tipe data Double mempunyai ketelitian yang lebih baik
dibandingkan tipe Single, tetapi menggunakan memory lebih besar.

Borland Delphi 7.0 mempunyai tipe data yang dibagi dalam tujuh kelompok
dasar, yaitu integer, real, boolean, character, string, pointer, dan variant . Berikut ini
adalah penjelasan mengenai tipe-tipe data tersebut:

a. Tipe Integer
Tipe Integer fundamental terdiri atas Shortint, Smallint, Longint, Int64, Byte,
Word, dan Longword. Tabel 2.1 memperlihatkan range dan format penyimpanan
masing-masing tipe data tersebut.

Tabel 2.1 Range dan Format Tipe Data Integer Fundamental


Tipe Data Range Format
Shortint -128…127 8 bit, bertanda
Smallint -32768…32767 16 bit, bertanda
Longint - 32 bit, bertanda
2147483648…2147483647
Int64 -2^63…2^63-1 64 bit, bertanda
Byte 0…255 8 bit, bertanda
Word 0…65535 16 bit, bertanda
Longword 0…4294967295 32 bit, bertanda
b. Tipe Real
Tipe data real menyatakan himpunan bilangan yang dapat dinyatakan
dengan notasi floating point. Tabel 2.2 memperlihatkan range dan format
penyimpanan tipe real fundamental.

Tabel 2.2 Range dan Format Penyimpanan tipe Data Real


Tipe Range Digit Ukuran
Data (Byte)
Real48 2.9x10^-39…1.7x10^38 11-12 6
Single 1.5x10^-45…3.4x10^38 7-8 4
Double 5.0x10^-324…1.7x10^308 15-16 8
Extended 3.6x10^- 19-20 10
4951…1.1x10^4932
Comp -2^63+1…2^63-1 19-20 8
Currency - 19-20 8
922337203685477.5808…
922337203685477.5807

c. Tipe Boolean
Terdapat empat tipe data Boolean yaitu Boolean, ByteBool, WordBool, dan
LongBool. Sebuah variabel Boolean menempati satu byte memori, variabel
ByteBool juga menempati satu byte, variabel WordBool menempati dua byte (satu
word), dan variabel LongBool menempati empat byte (dua word). Nilai Boolean
ditunjukkan dengan true dan false. Tipe ordinal terdiri atas tipe integer, character,
boolean, enumerated, and subrange types. Tipe ordinal mempunyai sifat terurut.

Tabel 2.3 Hubungan tipe Boolean dengan ByteBool, WordBool, dan


LongBool

Boolean ByteBool, WordBool, LongBool


False < True False <> True
Ord (False) = 0 Ord (False) = 0
Ord (True) = 1 Ord (True) <> 0
Succ (False) = True Succ (False) = True
Pred (True) = False Pred (False) = True

d. Tipe Character

Tipe character fundamental adalah AnsiChar dan WideChar. Nilai


AnsiChar adalah karakter berukuran byte (8 bit) yang diurutkan menurut himpunan
character lokal, yang mungkin berupa multibyte.
Karakter WideChar menggunakan lebih dari satu byte untuk menyatakan
setiap karakter. Dalam implementasi ini, karakter WideChar berukuran word (16
bit) yang diurutkan berdasarkan himpunan karakter Unicode. Karakter Unicode
256 pertama berkaitan dengan karakter ANSI.
Tipe character generic adalah char, yang ekivalen dengan AnsiChar.
Karena implementasi char cenderung berubah, disarankan menggunakan fungsi
standar SizeOf daripada menggunakan konstanta yang sulit dikodekan ketika
menulis program yang memerlukan penanganan karakter dengan ukuran yang
berbeda-beda.

e. Tipe String
Tipe string merepresentasikan rangkaian karakter. AnsiString, yang
seringkali disebut dengan long string, adalah tipe yang dipilih untuk sebagian
besar pemakaian. Tipe string dapat dicampur pada penerapan nilai dan ekspresi.
Kompiler ini secara otomatis membentuk konversi yang diperlukan. Tetapi string
yang dilewatkan by reference pada fungsi atau prosedur haruslah tipe yang
sesuai. String dapat berlaku secara eksplisit menjadi tipe string yang berbeda.
Delphi mendukung tipe string yang didefinisikan seperti pada Tabel 2.4 .

Tabel 2.4 Macam-Macam Tipe Data String


Tipe Data Panjang Kebutuhan Dipakai untuk
Maksimum Memori
ShortString 255 karakter 2 sampai 256 byte Kompabilitas
AnsiString -2^31 4 byte sampai 2GB 8 bit (ANSI) character, DBCS
karakter ANSI, MBCS ANSI, dll
WideString -2^30 4 byte sampai 2GB Unicode characters, multi user
karakter server and aplikasi multi
language

f. Tipe Pointer
Pointer adalah sebuah variabel yang menunjukkan sebuah alamat memori.
Ketika sebuah pointer berisi alamat variabel lainnya, dapat dikatakan ia menunjuk
ke lokasi variabel tersebut di memori atau ke data yang disimpan di sana. Dalam
kasus sebuah array atau tipe terstruktur lainnya, pointer berisi alamat elemen
pertama dalam struktur tersebut. Jika alamat tadi telah diambil, maka pointer
tersebut mengandung alamat elemen pertama tersebut.
Pointer dipakai untuk mengindikasikan jenis data yang disimpan pada
alamat yang dikandungnya. Penggunaan umum tipe pointer dapat
merepresentasikan sembarang data, meskipun lebih banyak tipe pointer
dikhususkan untuk mengacu pada tipe data tertentu. Pointer menempati empat
byte memori.
g. Tipe Variant
Kadang-kadang diperlukan memanipulasi data yang tipenya berubah-ubah
atau tidak dapat ditentukan pada saat kompilasi. Dalam kasus demikian, satu
pilihannya adalah dengan menggunakan variabel dan parameter bertipe variant,
yang menyatakan nilai yang bisa berubah saat runtime.
Variant menawarkan fleksibilitas lebih tetapi membutuhkan memori yang
lebih besar dibanding variabel biasa, juga operasi menggunakannya menjadi lebih
lambat. Secara default, variant dapat berisi semua tipe data, kecuali record, set,
array statik, file, class, class reference, dan pointer. Dengan kata lain, variant
dapat berisi sembarang tipe data yang bukan tipe data terstruktur dan pointer.
B. Variabel

Variabel adalah suatu tempat yang dialokasikan dalam memory yang


diberi nama (sebagai pengganti) untuk menanmpung suatu data. Perbedaan
antara variabel dan konstanta adalah seperti berikut ini.
1. Konstanta digunakan pada saat kompilasi program, sedangkan variabel
digunakan pada saat pelaksanaan program.
2. Konstanta tidak dapat berubah pada saat program berjalan, sedangkan
variabel dapat berubah atau diubah nilainya.

1. Nama Variabel

Setiap variabel pasti mempunyai nama, yang sering disebut sebagai


Identifier. Identifier sebetulnya tidak terbatas pada nama variabel, melainkan
termasuk nama konstanta, function, procedure, field, type, property, unit,
program, library dan package. Dalam menggunakan nama variabel, sebaiknya
digunakan nama yang sesuai dengan data yang dikandungnya serta mudah
diingat.
Beberapa aturan yang berlaku pada penggunaan nama variabel adalah
seperti berikut ini.
1. Harus dimulai dengan karakter alfabet (huruf) atau garis bawah.
2. Harus unik (tidak boleh ada yang sama) pada ruang lingkup (scope) yang
sama.
3. Panjangnya boleh berapa saja, tetapi hanya 255 karakter pertama yang
dianggap sebagai nama variabelnya. Jadi, karakter ke 256 dan seterusnya
diabaikan.
4. Beberapa karakter tidak diperbolehkan dipakai, misalnya karakter yang
dipakai sebagai operator (+, -, *, /, <, >, dan lain - lain), titik dua, titik koma,
dan lain - lain. Nama variabel juga tidak boleh sama dengan procedure atau
function yang terdapat dalam Delphi (reserve words).

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 hanya
pada procedure atau function tempat variabel tersebut dideklarasikan dan
hidup hanya selama procedure atau function tersebut sedang berjalan.

Secara umum, suatu variabel dapat dikanali pada bagian variabel


tersebut dideklarasikan, jadi ruang lingkup variabel adalah pada lingkup
variabel tersebut dideklarasikan, seperti pada tabel berikut.

Tempat Deklarasi Ruang Lingkup


Mulai dari posisi deklarasi sampai akhir blok
Tampat deklarasi
(program, function atau procedure), termasuk
program, function atau
semua blok yang berada dalam blok (sub
procedure
blok).
Mulai dari posisi dideklarasikan sampai akhir
Bagian interface
unit. Juga termasuk program lain atau unit lain
sebuah unit
yang menggunakan unit sekarang.
Bagian implementation
sebuah unit, tetapi Mulai dari posisi dideklarasikan sampai akhir
bukan di dalam blok unit, termasuk dalam function atau procedure
function atau dalam unit tersebut.
procedure

Pada saat definisi tipe Mulai dari posisi dideklarasikan


record sampai akhir definisi tipe record

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, misalnya ruang lingkup unit, disebut
global.
C. OPERATOR
Dalam melaksanakan proses pengolahan data, Delphi menyediakan berbagai
operator dengan hirarki atau urutan proses pelaksanaan yang berbeda untuk
beberapa operator yang dilibatkan dalam suatu proses. Berikut ini hirarki operator
yang dimiliki Delphi.

Urutan Operator
1 @, not
*, /, div, mod, and, shl, shr,
2
as
3 +, -, or, xor
4 =, <,>, <=, >=, <>, in, is

Apabila terdapat ekspresi A + B / C, maka operasi yang akan dikerjakan terlebih


dahulu adalah B / C, setelah itu hasilnya ditambahkan dengan A. Urutan proses
tersebut terjadi karena operator pembagian mempunyai urutan proses pelaksanaan
yang lebih tinggi dari penjumlahan. Namun jika bentuk ekspresi diubah menjadi (A +
B) / C, maka operasi yang akan dikerjakan terlebih dahulu adalah (A+B), lalu hasilnya
dikalikan dengan C. Hal ini menunjukkan bahwa tanda kurung dapat digunakan untuk
mendahulukan proses. Bila ada proses yang terdiri dari beberapa operator yang
mempunyai urutan proses yang sama, maka urutan proses yang akan dikerjakan
dimulai dari kiri ke kanan.

a. Operator Pemberian
Operator pemberian (assignment) adalah operator yang dituliskan dengan notasi “:=”
(titik dua sama dengan) dan berfungsi untuk memasukkan atau memberikan suatu
nilai atau data ke dalam sebuah variabel, dengan sintaks sebagai berikut :

Nama_Variabel := Ekspresi ;

Contoh :

Harga : = 100;
Jumlah : = 20;
HTotal : = Harga * Jumlah ;
b. Operator Aritmatika
Berikut ini adalah operator aritmatika yang dapat digunakan untuk mengerjakan
proses operasi aritmatika.

Tipe yang Tipe Hasil


Operator Fungsi
Diperoses Proses
* Perkalian Integer, Real Integer, Real
/ Pembagian real Integer, Real Integer, Real
+ Penjumlahan Integer, Real Integer, Real
- Pengurangan Integer, Real Integer, Real
Div Pembagian integer Integer Integer
Sisa hasil
Mod Integer Integer
pembagian

Contoh :
Angka1 : = 15 * 2; {Hasil 30}
Angka2 : = 18 / 2; {Hasil 9}
Angka3 : = 5 + 2; {Hasil 7}
Angka4 : = 5 – 2; {Hasil 3}
Angka5 : = 10 Div 3; {Hasil 3}
Angka6 : = 10 mod 3; {Hasil 1}

Hasil pengerjaan 10 div 3 menghasilkan nilai 3 dengan pembulatan ke bawah, dan 10


mod 3 menghasilkan nilai 1 karena sisanya 1. Sedangkan untuk operasi
perpangkatan, Anda dapat menggunakan rumus sebagai berikut :

Ab = exp ( b * Ln (A))

Contoh :
Angka1 : = 5;
Angka2 : = 2;
Hasil1 : = exp (Angka1 * Ln (Angka2)); {Hasil 32 dari 25}
Hasil2 : = exp (Angka2 * Ln (Angka1)); {Hasil 25 dari 52}

c. Operator Relasi
Operator relasi berfungsi untuk membandingkan suatu nilai (ekspresi) dengan nilai
(ekspresi) yang lain dan menghasilkan suatu nilai logika (boolean) yaitu True atau
False. Kedua nilai yang dibandingkan harus memiliki tipe data yang sama. Berikut ini
adalah operator relasi yang disediakan oleh Delphi.

Tipe Hasil
Operator Operasi
Proses
= Sama dengan Boolean
<> Tidak sama dengan Boolean
< Lebih kecil Boolean
> Lebih besar Boolean
Lebih kecil atau sama
<= Boolean
dengan
Lebih besar atau sama
>= Boolean
dengan

d. Operator Logika
Operator logika dibagi menjadi dua kelompok : Operator bit dan operator boolean.
Operator bit berhubungan dengan pergeseran atau pembandingan pada level bit.
Operator boolean digunakan untuk menyatakan satu atau lebih data atau ekspresi
logika yang akan menghasilkan nilai logika (boolean) yang baru True atau False.

Operator Keterangan Tipe Data Tipe Hasil


And Dan Integer Boolean
Or Atau Integer Boolean
Not Tidak Integer Boolean
Xor Exclusive Or Integer Boolean
Shl Geser ke kiri Integer Boolean
Geser ke
Shr Integer Boolean
kanan

Operator boolean selalu memberikan hasil true atau false, sedangkan operasi bit
melakukan operasi bit per bit pada nilai tipe integer.

Operator Boolean :

Operator Keterangan Tipe Data Tipe Hasil


And Dan Booloean Booloean
Or Atau Booloean Booloean
Not Tidak Booloean Booloean
Xor Exclusive Or Booloean Booloean
Operator logika And hanya akan menghasilkan nilai True jika semua ekspresi yang
menggunakan operator And bernilai True. Apabila ada satu ekspresi yang bernilai
False maka operator logika And akan menghasilkan nilai False.

Contoh :
X : = (21 > 9) And (19 < 71); {Hasil X = True}
X : = (21 < 9) And (19 < 71); {Hasil X = False}
X : = (21 > 9) And (19 > 71); {Hasil X = False}

Operator logika Or akan menghasilkan nilai True jika salah satu dari seluruh ekspresi
yang menggunakan operator Or bernilai True. Operator Or hanya akan bernilai False
jika semua ekspresi yang menggunakan operator Or bernilai False.

Contoh :
X : = (21 > 9) Or (19 < 71); {Hasil X = True}
X : = (21 < 9) Or (19 < 71); {Hasil X = True}
X : = (21 < 9) Or (19 > 71); {Hasil X = False}

Operator logika Not merupakan operator yang menyatakan kondisi kebalikan dari
suatu ekspresi.

Contoh :
X : = Not (21 > 9) {Hasil X = False}
X : = Not (21 < 9) {Hasil X = True}
X : = Not (21 = 9) {Hasil X = True}

Operator logika Xor akan menghasilkan nilai True jika ekspresi yang terletak di kiri
operator Xor berbeda dengan ekspresi sebelah kanannya. Operator Xor hampir
memiliki fungsi yang sama dengan operator tidak sama dengan.

Contoh :

X : = (9 < 21) Xor (19 < 71); {Hasil X = False}


X : = (9 > 21) Xor (19 > 71); {Hasil X = False}
X : = (9 < 21) Xor (19 > 71); {Hasil X = True}
X : = (9 > 21) Xor (19 < 71); {Hasil X = True}

Anda mungkin juga menyukai