Pemrograman Visual Object Pascal : Kondisional, Aliran Program dan Subrutin
Kondisional Inti dari sebuah program adalah bagaimana mengambil keputusan berdasarkan masukan yang ada Pengambilan keputusan dilakukan dengan eksekusi kondisional Ada dua pernyataan kondisional di dalam object Pascal, yaitu If-Then-Else dan Case-Of
If Then Else Pernyataan If-Then-Else mempunyai kondisi (syarat) Jika syarat benar, akan dikerjakan pemyataan-pemyataan di bagian Then. Sebaliknya, jika syarat salah, dikerjakan pernyataan-pemyataan di bagian Else
Contoh If Then Else Buatlah aplikasi baru, ubahlah caption pada form dengan If Then Else Tambahkan komponen: 2 Label, 2 Edit dan 1 Button, Ubahlan captionnya sehingga nampak seperti pada gambar Edit1 Label1 Label2 Edit2 Button1
Kode If Then Else - Klik 2x Event OnClick untuk Button1 - Ketikkan kode berikut procedure TForm1.Button1Click(Sender: TObject); Var N : Integer; begin N := StrToInt(Edit1.Text); if (N<17) then Edit2.Text:='17 Tahun Kebawah' else Edit2.Text:='17 Tahun Keatas' end;
Beberapa hal yang harus diperhatikan Pernyataan else tidak harus ada, pemberian else tergantung kondisi Misalkan If expr Then pernyataan Artinya : Artinya bagian pernyataan akan dijalankan jika expr bernilai benar dan jka salah akan dilanjutkan program berikutnya
Beberapa hal yang harus diperhatikan Untuk pernyataan lebih dari satu baris harus diawali dengan kata kunci begin, setiap baris ditutup dengan titik koma (;) dan dibagian akhil ditutup dengan kata kunci end Contoh: If expr Then Begin xxxx; xxxx: end; Jika ada syarat lebih dari 1, maka tiap-tiap syarat harus diapit oleh tanda kurung. Contoh : If (a=x) and (b=y) then
Case-Of Digunakan dalam kondisi yang tidak hanya mempunyai 2 kemungkinan saja (benar atau salah). Pemakaian Case Variabel of Nilai1,Nilai2 : …… Nilai3..Nilai4 : …… end;
Contoh Case-Of Buatlah aplikasi baru, ubahlah caption pada form dengan Case Of Tambahkan komponen: 2 Label, 2 Edit dan 1 Button, Ubahlan captionnya sehingga nampak seperti pada gambar Edit1 Label1 Label2 Edit2 Button1
Kode Case Of - Klik 2x Event OnClick untuk Button1 procedure TForm1.Button1Click(Sender: TObject); Var Nilai : Integer; begin Nilai := StrToInt(Edit1.Text); Case Nilai Of 0 : Edit2.Text:='Angka 0'; 1..10 : Edit2.Text:='diantara 1 samapi 10'; 11..20 : Edit2.Text:='diantara 11 samapi 20'; 21..30 : Edit2.Text:='diantara 21 samapi 30'; 31..100 : Edit2.Text:='diantara 31 samapi 100'; end;
Yang harus diperhatikan Jika Anda memakai beberapa konstanta dalam sebuah perbandingan, Anda harus menggunakan koma dan memakai dua buah titik untuk subrange Contoh: Case Nilai of ‘10’,’20’ : …… ‘50’..’100’ : …… end;
Yang harus diperhatikan - Konstanta yang dipakai tidak boleh tumpang tindih (dipakai dua kali). Contoh yang salah : Case Nilai of ‘10’,’50’ : …… ‘50’..’100’ : …… end;
Pengulangan Ada tiga perintah dasar untuk melakukan pengulangan. - Repeat..Until - While..Do - For..Do
Repeat..Until Peryataan-peryataan di antara repeat..until akan dikerjakan sampai kondisi yang ada setelah kata until terpenuhi Pemakaian : repeat xxxxxx; until (kondisi);
Contoh Repeat-Until Buatlah aplikasi baru, ubahlah caption pada form dengan Repeat Until Tambahkan komponen: 1 Label, 1 Edit, 1 Button dan 1 Listbox. Ubahlan captionnya sehingga nampak seperti pada gambar Edit1 Label1 ListBox1 Button1
Kode Repeat-Until - Klik 2x Event OnClick untuk Button1 procedure TForm1.Button1Click(Sender: TObject); var x:integer; begin x:=StrToInt(Edit1.Text); ListBox1.Clear; repeat ListBox1.Items.Add (IntToStr (x)); x := x-1; until (x<=0); end;
While-Do Peryataan-peryataan setelah do akan dikerjakan sampai kondisi while terpenuhi Pemakaian : while (kondisi) do Begin xxxxxx; End;
Perbedaan While..Do – Repeat..Until - Peryataan kondisional diperiksa sebelum masuk ke pernyataan pengulangan. - Jika kondisinya salah pada mulanya, pernyataan di dalam While..Do tidak akan dikerjakan. Bandingkan dengan Repeat..Until
Contoh While-Do Buatlah aplikasi baru, ubahlah caption pada form dengan While_Do Tambahkan komponen: 1 Label, 1 Edit, 1 Button dan 1 Listbox. Ubahlan captionnya sehingga nampak seperti pada gambar Edit1 Label1 Listbox1 Button1
Kode While-Do - Klik 2x Event OnClick untuk Button1 procedure TForm1.Button1Click(Sender: TObject); var x:integer; begin x:=StrToInt(Edit1.Text); ListBox1.Clear; while (x > 0) do ListBox1.Items.Add (IntToStr (x)); x := x-1; end;
For Do Pengulangan For..Do adalah pengulangan yang paling sederhana, karena kita mengetahui berapa kali pengulangan dilakukan Pemakaian : For kondisi1 to kondisi2 do Begin xxxxxx; End;
Contoh For do Buatlah aplikasi baru, ubahlah caption pada form dengan For Do Tambahkan komponen: 1 Label, 1 Edit, 1 Button dan 1 Listbox. Ubahlan captionnya sehingga nampak seperti pada gambar Label1 Listbox1 Edit1 Button1
Kode For Do - Klik 2x Event OnClick untuk Button1 procedure TForm1.Button1Click(Sender: TObject); var x,y:integer; begin x:=StrToInt(Edit1.Text); ListBox1.Clear; For y:=1 to x do ListBox1.Items.Add (IntToStr(y)+' Pemrograman Visual'); end;
For Do Bersarang Pengulangan For..Do bersarang adalah Pengulangan yang berada dalam suatu pengulangan Pemakaian : For kondisi1 to kondisi2 do For kondisi3 to kondisi4 do Begin xxxxxx; End;
Contoh For do Bersarang Buatlah aplikasi baru, ubahlah caption pada form dengan For Do Bersarang Tambahkan komponen: 1 Label, 1 Edit, 1 Button dan 1 Listbox. Ubahlan captionnya sehingga nampak seperti pada gambar Label1 Listbox1 Edit1 Button1
Kode For Do Bersarang - Klik 2x Event OnClick untuk Button1 procedure TForm1.Button1Click(Sender: TObject); var x,y,z:integer; begin x:=StrToInt(Edit1.Text); ListBox1.Clear; For y:=1 to x do For z:=1 to 2 do ListBox1.Items.Add (IntToStr(y)+' '+IntToStr(z)); end;
Kode For Do Bersarang For y:=1 to x do For z:=1 to 2 do ListBox1.Items.Add (IntToStr(y)+’ ‘+IntToStr(z)); Hasil misalnya x diisi angka 3: 1 1 1 2 2 1 2 2 3 1 3 2
Lat Listing program lihat di buku mulai halaman 45
Latihan 1. Buatlah aplikasi yang hasilnya berupa : 3 4 6 8 2 3 4 7 8 2 3 5 6 8 2 3 5 7 8 2 3 4 6 9 2 3 4 7 9 2 3 5 6 9 2 3 5 7 9 2 2. Buatlah aplikasi yang bisa mengartikan Uang dalam rupiah Misal : 100 : seratus rupiah 1000 : seribu rupiah 1510 : seribu lima ratus sepuluh rupiah
Percabangan Percabangan dapat diartikan sebagai lompatan atau melompat ke suatu tempat. Ada 5 perintah dasar untuk menangani percabangan Goto, Break, Continue, Exit dan Halt.
Go To Pernyataan Goto dipakai untuk melompat ke sebuah baris yang telah diberi kata kunci “label”. Contoh aplikasi : Edit1 Listbox1 Button1
Kode For Do - Klik 2x Event OnClick untuk Button1 procedure TForm1.Button1Click(Sender: TObject); label lagi; begin lagi: ListBox1.Items.Add(Edit1.Text); Edit1.Text:='Lagi ?'; if (Edit1.Text <> 'Lagi ?') then goto lagi; end;
Break Break digunakan untuk menghentikan suatu pengulangan (loop). Contoh aplikasi : Label1 Listbox1 Edit1 Button1
Kode Break procedure TForm1.Button1Click(Sender: TObject); var i,j,k:integer; begin k:=StrToInt(Edit1.Text); ListBox1.Items.clear; for i := 0 to k do for j := 0 to 5 do if (j=2) then break; ListBox1.Items.Add(IntToStr(i)); end;
Continue Contiue digunakan dalam kondisi untuk memberhentikan sebuah iterasi dan melanjutkan iterasi berikutnya Contoh aplikasi : Label1 &2 Listbox1 Edit1 Button1
Kode Continue procedure TForm1.Button1Click(Sender: TObject); var i,k:integer; begin k:=StrToInt(Edit1.Text); ListBox1.Items.clear; for i := 0 to k do if ((i mod 3) > 0) then continue; ListBox1.Items.Add(IntToStr(i)); end;
Exit Exit dipakai untuk mengakhiri blok program yang sedang dikerjakan. Pemakaian Exit hamir sama dengan break. bedanya break digunakan untuk menghentikan pengulangan (loop) sedangkan exit dipakai untuk menghentikan program
Contoh Exit Label1 &2 Listbox1 Edit1 Button1
Kode Exit procedure TForm1.Button1Click(Sender: TObject); var i,k:integer; begin k:=StrToInt(Edit1.Text); ListBox1.Items.clear; for i := 1 to k do if (i > (k div 2)) then exit; ListBox1.Items.Add(IntToStr(i)); end;
Procedure Procedure adalah bagian program yang melaksanakan tugas tertentu pada saat dipanggil dan kembali ke bagian pemanggilnya . Button1 Listbox1
Kode Procedure type TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public Procedure Tulis; end; var Form1: TForm1; implementation {$R *.DFM}
Kode Procedure Procedure TForm1.Tulis; begin ListBox1.Items.Add('------------------'); ListBox1.Items.Add('Pemrograman Visual'); end; procedure TForm1.Button1Click(Sender: TObject); Tulis;
Procedure Parameter Nilai Artinya Procedure hanya membutuhkan pengiriman nilai, dan nilai tersebut diprogram utama tidak akan berubah Contoh : Edit1 Label1 Button1 Listbox1
Kode Procedure Par. Nilai public procedure Garis(x:integer); end; ********* procedure TForm1.Garis(x:integer); var i: integer; begin for i:=1 to x do ListBox1.Items.Add(IntToStr(i)+' Parameter Nilai'); procedure TForm1.Button1Click(Sender: TObject); var y : integer; y:=StrToInt(Edit1.Text); garis(y);
Procedure Parameter Variabel Parameter yang dapat berubah sesuai masukan dari program utama (pemanggil). Artinya disini parameter variable akan mengembaikan isi parameter ke pemanggilnya . Edit1 Label1 Button1 Listbox1
Kode Procedure public procedure nama(n:string); end; ************* procedure TForm1.nama(n:string); begin ListBox1.Items.Add(n); procedure TForm1.Button1Click(Sender: TObject); nama(Edit1.Text); end.
Variabel Global dan Variabel local Variabel global adalah variabel yang dapat dipakai di seluruh program, di program utama atau di dalam procedure. Variabel lokal hanya dapat dipakai di tempat pendefinisiannya. Jika variabel lokal didefinisikan di dalam procedure, maka hanya procedure tersebut yang mengenalnya
Contoh Variabel Global dan Variabel local Buatlah aplikasi seperti gambar dibawah Button1 Label1 Edit1 Label2 Edit2
Kode Variabel Global dan Variabel local public procedure tulis; end; var Form1: TForm1; vg : integer; procedure TForm1.tulis; var vl:integer; begin vl:=50; Edit1.Text:=IntToStr(vg); Edit2.Text:=IntToStr(vl); procedure TForm1.Button1Click(Sender: TObject); vg:=100; tulis; end.
Function Function hampir sama seperti procedure, hanya saja function menghasilkan sebuah nilai. Parameter nilai, parameter variabel, variabel global dan variabel lokal dapat dipakai di dalam function Contoh :
public function rata(a,b,c:integer):real; end; ********* function TForm1.rata(a,b,c:integer): real ; var r:real; begin r:=(a+b+c)/3; rata:=r; procedure TForm1.Button1Click(Sender: TObject); var a,b,c :integer; na:real; a:=StrToInt(Edit1.Text); b:=StrToInt(Edit2.Text); c:=StrToInt(Edit3.Text); na:=rata(a,b,c); Edit4.Text:=FloatToStr(na); end.
Tugas