Rabu, 06 Mei 2015

Program percabangan pada Delphi

Untuk membuat program ini pertama-tama kita buat desain formnya terlebih dahulu dengan menggunakan komponen Label yang diberi caption: Rangkuman nilai, Nama, Kelas, Nilai UTS, Nilai UAS; Textbox dan CommandButton yang diberi caption “Proses”.
seperti pada gambar dibawah ini:



Setelah kita buat desain form seperti pada gambar diatas, klik 2x pada command button lalu ketikan kode program seperti ini :


Begin
a := strtoInt(Edit3.text);
b := strtoInt(Edit4.text);
c := (a*0.7)+(b*0.3);
if (c>=90) and (c<=100) then
Begin
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’GradeA’);
End


else if (c>=80) and (c<=89) then
Begin
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’GradeB’);
End
else if (c>=70) and (c<=79) then
Begin
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’GradeC’);
End
else if (c>=60) and (c<=69) then
Begin
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’GradeD’);
End
else if (c<60)
Begin
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’TIDAK LULUS’);
End;
End;
End.


Logika:


a := strtoInt(Edit3.text);
b := strtoInt(Edit4.text);
c := (a*0.7)+(b*0.3);
pada potongan program ini dibuat untuk mencari/menentukan nilai rata2 dari nilai UTS dan UAS yaitu dimasukan tipe data INT dan kemudian dibuat perhitungan dengan rumus yaitu c := (a*0.7)+(b*0.3); jadi ketika kita masukan nilai UTS (a) dan UAS(b) program akan menghitung dengan rumus tersebut sehingga dapat ditentukan nilai rata2nya.


1.    if (c>=90) and (c<=100) then
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’GradeA’);
Pada potongan blok program diatas adalah jika kita memasukan nilai dengan hasil rata2 lebih dari sama dengan 9 dan kurang dari sama dengan 100 maka output yang keluar yaitu “ Nilai Anda GradeA” karena kita membuat sebuah kondisi pada fungsi yaitu if (c>=90) and (c<=100) sehingga jika nilai rata2 termasuk pada kondisi diatas maka nilai grade A. ShowMessage adalah untuk menampilkan output yaitu ’Nilai Anda’+FloattoStr(c). +Floatto str(C) itu maksudnya adalah tipe data yang dimasukan float dan hasil c diperoleh dari c := (a*0.7)+(b*0.3); sehingga bisa ditentukan nilai rata2nya dengan rumus yang dimasukan pada statement c.


2.    else if (c>=80) and (c<=89) then
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’GradeB’);
Pada potongan blok program ini, dibuat untuk jika kondisi pertama tidak terpenuhi pada kondisi pertama nilai yang dimasukan yaitu (c>=90) and (c<=100) sehingga jika nilai rata2 tidak memenuhi syarat kondisi yang pertama maka dibuat kondisi yang kedua yaitu dengan nilai else if (c>=80) and (c<=89) ketika kita mendapat nilai rata2 <90 dan >=80 maka output yang keluar yaitu “Nilai Anda GradeB” kenapa bisa seperti itu, karena ketika nilai rata2nya <90 dan >=80 program tidak mengeksekusi fungsi if pada kondisi yang pertama karena syarat tidak terpenuhi sehingga kondisi yang kedua lah yang di eksekusi karena syarat terpenuhi yaitu nilai (c>=80) and (c<=89).


3.     else if (c>=70) and (c<=79) then
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’GradeC’);
Pada potongan blok program ini, sama sperti pada kondisi kedua yaitu untuk mengeksekusi ketika nilai pada kondisi diatasnya atau 1 dan 2 tidak terpenuhi. sehingga jika nilai rata2 tidak memenuhi syarat kondisi yang pertama dan kedua maka dibuat kondisi yang ketiga yaitu dengan nilai else if (c>=70) and (c<=79) ketika kita mendapat nilai rata2 <80 dan >=70 maka output yang keluar yaitu “Nilai Anda GradeC” karena ketika nilai rata2nya <80 dan >=70 program tidak mengeksekusi fungsi if pada kondisi yang pertama dan kedua karena syarat tidak terpenuhi sehingga kondisi yang ketiga lah yang di eksekusi karena syarat terpenuhi yaitu nilai (c>=70) and (c<=79).


4.    else if (c>=60) and (c<=69) then
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’GradeD’);
Pada potongan blok program ini, sama sperti pada kondisi kedua dan ketiga yaitu untuk mengeksekusi ketika nilai pada kondisi diatasnya atau 1,2 dan 3 tidak terpenuhi. sehingga jika nilai rata2 tidak memenuhi syarat kondisi yang pertama dan kedua maka dibuat kondisi yang keempat yaitu dengan nilai else if (c>=60) and (c<=69) ketika kita mendapat nilai rata2 <70 dan >=60 maka output yang keluar yaitu “Nilai Anda GradeD” karena ketika nilai rata2nya <70 dan >=60 program tidak mengeksekusi fungsi if pada kondisi yang pertama,kedua dan ketiga karena syarat tidak terpenuhi sehingga kondisi yang keempat lah yang di eksekusi karena syarat terpenuhi yaitu nilai (c>=60) and (c<=69).

5.    else if (c<60)
ShowMessage(Edit1.Text+’’+Edit2.Text+’’+’Nilai Anda’+FloattoStr(c)+’TIDAK LULUS’);
Pada potongan blok program ini, sama sperti pada kondisi diatasnya yaitu untuk mengeksekusi ketika nilai pada kondisi diatasnya atau 1,2,3 dan 4 tidak terpenuhi. sehingga jika nilai rata2 tidak memenuhi syarat kondisi yang pertama, kedua, ketiga, dan keempat. maka dibuat kondisi yang kelima yaitu dengan nilai (c<60) ketika kita mendapat nilai rata2 <60 maka output yang keluar yaitu “Nilai Anda TIDAK LULUS” karena ketika nilai rata2nya <60 program tidak mengeksekusi fungsi if pada kondisi yang pertama,kedua dan ketiga karena syarat tidak terpenuhi sehingga kondisi yang kelima lah yang di eksekusi karena syarat terpenuhi yaitu nilai (c<60).
Dari potongan program diatas dapat dilihat bahwa pada pembuatan program ini menggunakan percabangan IF mengeksekusi program ketika memenuhi syarat dan apabila tidak memenuhi syarat maka dibuat else if samapai kondisi memenuhi sayarat.

ketika kita jalankan programnya dan kita masukan angkanya sesuai keinginan output yang keluar akan seperti ini :


semoga bermanfaat.....

Tidak ada komentar:

Posting Komentar