Selamat Datang !

Selamat Datang di Yus Waroeng Software ! Saya ucapkan terima kasih anda sudah masuk ke blog kami, dimana anda dapat mencari informasi Software Aplikasi yang anda butuhkan dan berbagi ilmu pemograman.
Cari Artikel

Friday, May 15, 2009

Variable, Tipe Data & Operator

Pada bahasan materi kuliah Delphi 1, Anda telah mengetahui penjelasan mengenai variabel, tipe data dan operator. Agar Anda lebih memahami mengenai penggunaan variabel, tipe data dan operator ini, berikut adalah rangkuman bahasan ketiga topik tersebut yang langsung diterapkan pada program.
Kasus ;
Menghitung nilai rata-rata, indeks dan status mahasiswa dengan asumsi sbb :

Input : NIM, Nilai Pascal, Nilai Delphi, Nilai Foxpro

Proses : Menghitung nilai rata-rata, menentukan nilai indeks dan status, dengan ketentuan sbb :
Nilai Rata-rata = (Nilai Pascal + Nilai Delphi + Nilai Foxpro ) / 3
Indeks, yaitu diperoleh dengan ketentuan sbb :
Nilai > = 85, Indeks ‘A’
Nilai antara 75 – 84,9 Indeks ‘B’
Nilai antara 65 – 74,9 Indeks ‘C’
Nilai antara 55 – 64,9 Indeks ‘D’
Nilai <= 54.9 Indeks ‘E’

Status, yaitu diperoleh dengan ketentuan sbb :
Indeks ‘A’ Status ‘Istimewa’
Indeks ‘B’ Status ‘Baik’
Indeks ‘C’ Status ‘Cukup’
Indeks ‘D’ Status ‘Kurang’
Indeks ‘E’ Status ‘Gagal’

Output : Nilai Rata-rata, Indeks dan Status

Untuk penerapan pada programnya yaitu sbb (halaman selanjutnya) :



Gambar 2.1. Project menghitung nilai Mahasiswa














Prosedur pengerjaan, atur properti sbb :



















Setelah selesai, simpan terlebih dahulu dengan cara klik menu | File |, | Save All |. Isi file unit (*.pas) dengan nama fmLatih1.pas dan file project (*.dpr) dengan nama Latih1.dpr
Setelah selesai meletakkan dan mengatur komponen-komponen tsb, klik ganda (double click) komponen TButton1 (Proses), dan ketikkan listing program sebagai berikut :

procedure TForm1.Button1Click(Sender: TObject);
//deklarasi variabel
var
Rata : Real;
Hasil : String;
begin
if NIM.text='' then
begin
showmessage('Data NIM harus diisi !');
NIM.setfocus;
end else
if NPascal.text='' then
begin
showmessage('Data nilai Pascal harus diisi !');
NPascal.setfocus;
end else
if NDelphi.text='' then
begin
showmessage('Data nilai Delphi harus diisi !');
NDelphi.setfocus;
end else
if NFoxpro.text='' then
begin
showmessage('Data nilai Foxpro harus diisi !');
NFoxpro.setfocus;
end else
begin
Rata:=(strtofloat(NPascal.text)+strtofloat(NDelphi.text)+
strtofloat(NFoxpro.text))/3;
Hasil:=Floattostr(Rata);

{Membatasi angka dibelakang koma 2 digit}
str(Rata:0:2,Hasil);
NRata.Text:=Hasil;

if Rata>=85 then
begin
NIndeks.text:='A';
NStatus.text:='Istimewa';
end else
if Rata>=75 then
begin
NIndeks.text:='B';
NStatus.text:='Baik';
end else
if Rata>=65 then
begin
NIndeks.text:='C';
NStatus.text:='Cukup';
end else
if Rata>=55 then
begin
NIndeks.text:='D';
NStatus.text:='Kurang';
end else
begin
NIndeks.text:='E';
NStatus.text:='Gagal';
end;
end;


Setelah selesai, simpan lagi hasil pengerjaan dengan perintah Ctrl + S.
Tekan F12, lalu klik ganda (double click) komponen TButton2 (Batal), dan ketikkan listing program sebagai berikut :


procedure TForm1.Button2Click(Sender: TObject);
begin
NIM.text:='';
NPascal.text:='0';
NDelphi.text:='0';
NFoxpro.text:='0';
NRata.text:='0';
NIndeks.text:='';
NStatus.text:='';
NIM.setfocus;
end;



Tekan F12, lalu klik ganda (double click) komponen TButton3 (Tutup), dan ketikkan listing program sebagai berikut :

procedure TForm1.Button6Click(Sender: TObject);
begin
close;
end;


Setelah selesai, simpan lagi hasil pengerjaan dengan perintah Ctrl + S, lalu jalankan program (F9).


2.2. Penjelasan

Pada listing program tersebut, terdapat variabel sbb :
var
Rata : Real;
Hasil : String;

Tipe data Real digunakan untuk hasil perhitungan yang mengandung angka dibelakang koma (desimal), sedangkan tipe String yaitu digunakan untuk jenis huruf lebih dari satu.
Pemisah antara variabel dengan tipe data yaitu tanda titik dua ( : ). Jenis tipe data bilangan yang sering digunakan yaitu biasanya tipe data Integer (bilangan bulat) dan Real (bilangan pecahan).

Pada kedua tipe bilangan tersebut, berlaku proses konversi, dengan aturan sbb :
- Konversi dari tipe huruf (string) ke tipe bilangan bulat yaitu ‘STRTOINT’ (string to integer)
- Konversi dari tipe huruf (string) ke tipe bilangan desimal yaitu ‘STRTOFLOAT’ (string to real)
- Konversi dari tipe bilangan bulat ke tipe huruf yaitu ‘INTTOSTR’ (integer to string)
- Konversi dari tipe bilangan desimal ke tipe huruf yaitu ‘FLOATTOSTR’ (real to string)

Pada listing program diatas, terdapat perintah konversi sbb :

Rata:=(strtofloat(NPascal.text)+strtofloat(NDelphi.text)+strtofloat(NFoxpro.text))/3;

dan

Hasil:=Floattostr(Rata);


Pada listing yang kesatu, yaitu proses konversi dari tipe string ke bilangan desimal ( STRTOFLOAT ). Sedangkan pada listing yang kedua, terdapat proses konversi dari tipe bilangan desimal ke tipe huruf ( FLOATTOSTR ).

Pertanyaannya, mengapa harus dilakukan proses konversi ?
Jawab :

Proses konversi dari tipe huruf ke tipe bilangan (baik tipe bilangan bulat maupun desimal) terjadi karena semua data yang dimasukkan atau ditampilkan melalui komponen EDIT akan dianggap sebagai tipe huruf, meskipun datanya berupa angka. Sehingga jika akan dilakukan perhitungan operasi matematika, maka harus dilakukan proses konversi terlebih dahulu dari tipe huruf ke tipe bilangan ( ‘STRTOFLOAT’ atau ‘STRTOINT’ ). Dan setelah dilakukan proses perhitungan, maka untuk menampilkannya kembali pada komponen EDIT, perlu dilakukan kembali proses konversi dari tipe bilangan ke tipe huruf ( ‘FLOATTOSTR’ atau ‘INTTOSTR’ ).

Selain terdapat proses konversi, pada listing tersebut juga bisa kita lihat cara penulisan operator. Misalnya yaitu pada listing program berikut (penggalan listing diatas) :

if Rata>=85 then
begin
NIndeks.text:='A';
NStatus.text:='Istimewa';
end else
dst…..

Anda lihat, pada kalimat if Rata>=85 then…. Setelah kata ‘then’ tidak terdapat tanda titik koma (;), karena hal ini akan menyebabkan proses dibawahnya tidak akan dilakukan dan pada akhirnya akan terjadi “error”. Selain itu, penulisan operator sama dengan (=) pada pernyataan kondisi ‘ If ’ tidak menggunakan tanda titik dua (:). Sedangkan penulisan operator sama dengan (=) selain pada kondisi if harus menggunakan tanda titik dua (:=).

0 comments:

Post a Comment

Leave Your Comment Here!

Komentar Terbaru