Nama File : Perhitungan Nilai Mahasiswa
Nama Program : Nilai Mahasiswa
Listing Program :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Label3: TLabel;
Edit3: TEdit;
Button2: TButton;
Button3: TButton;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var nilai:double;
begin
if edit1.Text='' then
application.MessageBox('Kolom Belum Diisi','Pesan')
else
nilai:=strTofloat(edit2.Text);
if nilai >100 then
begin
edit3.Text:='Nilai Yang Di Input Salah'
end
else if nilai >80 then
begin
edit3.text:='Nilai Anda A'
end
else if nilai >65 then
begin
edit3.text:='Nilai Anda B'
end
else if nilai >50 then
begin
edit3.text:='Nilai Anda C'
end
else if nilai >40 then
begin
edit3.text:='Nilai Anda D'
end
else if nilai >0 then
begin
edit3.text:='Nilai Anda E'
end
else if nilai <0 then
begin
edit3.Text:='Nilai Yang Di Input Salah'
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if edit1.Text='' then
application.MessageBox('Kolom Belum Diisi','Pesan')
else
edit1.Text:='';
edit2.Text:='';
edit3.text:='';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Close ();
end;
end.
Logika Program :
Ø Analisa Program :
Program ini dibuat bertujuan untuk menghitung nilai mahasiswa, ketika nama dan nilai diinput ke dalam kolom Nama dan Nilai, dan ketika diklik tombol Cetak maka hasil atau nilai yang diperoleh akan tampil dikolom Hasil. Dan ketika kita ingin mengisi data lagi maka bisa langsung mengklik tombol Reset, sedangkan kita ingin keluar dari program bisa langsung mengklik Close yang ada didalam program.
Ø Penjelasan Program :
Dari analisa diatas kita bisa sedikit memahami bagaimana program ini berjalan dan dipenjelasan Program akan dijelaskan lebih lanjut. Ketika kita memasukkan nama diEdit1, dan memasukkan nilai diEdit2 serta mengklik tombol Cetak maka secara otomatis program akan memproses data sesuai perintah yang dimasukkan didalam source kode. Tidak hanya itu ketika kita menekan tombol Cetak tanpa memasukkan nama atau nilai maka akan tampil kotak dialog yang berisi “Kolom Belum DiIsi” dan ada tombol Reset untuk mengkosongkan kembali data yang ada dikolom program serta tombol Close untuk keluar langsung.
Ø Penjelasan Unit-unit :
Nama Form : Form1
Label1 : berisi Nilai Mahasiswa
Label2 : berisi Nama
Label3 : berisi Nilai
Edit1 : dikosongkan untuk input data Nama
Edit2 : dikosongkan untuk input data Nilai
Edit3 : dikosongkan untuk output Hasil
Button1 : berisi Action yang bernama Cetak
Button2 : berisi Action yang bernama Reset
Button3 : berisi Action yang bernama Close
Output :
Ø Object TreeView :
Ø Object Inspector
Ø Code List Button1 (Cetak)
Ø Code List Button2 (Reset)
Ø Output Sebelum di Input
Ø Output Setelah di Program
Ø Struktur Perulangan
Pascal memberikan tiga alternatif pengulangan, yaitu dengan For, While, atau Repeat. Masing-masing memiliki karakteristik, yang akan dipelajari pada modul ini. Ada dua hal yang penting dalam melakukan merancang perintah pengulangan, yaitu :
a. Inisialisasi awal.
b. Nilai akhir pengulangan atau kondisi berhenti.
Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan beberapa kali. Jadi anda bisa menjalankan beberapa pernyataan hanya dengan menuliskan pernyataan tersebut satu kali saja.
1. FOR – TO- DO
Pernyataan pengulangan yang paling sering digunakan adalah For. Pernyataan ini digunakan bila anda sudah tahu berapa kali anda akan mengulang satu atau beberapa pernyataan.
Pada pengulangan dengan For, inisialisasi awal dan kondisi akhir ditentukan dengan menggunakan suatu variabel kendali yang nilainya dibatasi dalam suatu range tertentu.
Perbedaan antara to dan downto adalah pada kondisi nilai awal dan akhir. Pada to; nilai awal lebih kecil dari nilai akhir, sedangkan pada downto nilai awal lebih besar dari nilai akhir. Perlu diingat, bahwa variable kendali harus dideklarasikan dengan tipe data integer.
Untuk lebih jelasnya peerhatikan contoh berikut ini :
For x := 1 to 10 do
ListBox1.Items.Add (‘Borland Delphi’) ;
For x := 1 to 10 do
ListBox1.Items.Add (‘Borland Delphi’) ;
Pernyataan ini akan menambahkan ‘ Borland Delphi ‘ pada ListBox1 sebanyak sepuluh kali. Anda juga dapat menghasilkan hasil yang sama dengan menuliskan program berikut :
For x := 3 to 12 do
ListBox1.Items.Add (‘Borland Delphi’) ;
Meskipun hasil yang di dapat sama tetapi penulisan yang pertama lebih mudah dibaca karena anda akan segera tahu bahwa teks ‘Borland Delphi’ dituliskan sepuluh kali. Pada penulisan yang kedua anda harus menghitung ( 12 – 3 + 1) sebelum tahu berapa jumlah pengulangan yang dilakukan.
Anda dapat melakukan pengulangan dari bilangan yang lebih besar ke bilangan yang lebih kecil. Caranya adalah dengan mengganti to dengan downto seperti contoh berikut :
For x := 10 downto 1 do
Jangan menambahkan tanda koma di belakang kata kunci do, seperti contoh berikut :
For x := 1 to 10 do ;
ListBox1.Items.Add (‘Borland Delphi’) ;
Bila anda menambahkan tanda koma di belakang kata kunci do, Delphi tidak akan menjalankan pernyataan apapun. Akibatnya teks ‘Borland Delphi’ hanya akan berjumlah satu saja.
Pernyataan For Bersarang
Pernyataan For Bersarang
Anda bisa juga menuliskan pernyataan for di dalam pernyataan for . Konstruksi semacam ini sering disebut dengan pernyataan for bersarang. Perhatikan contoh berikut :
For x := 1 to 3 do ;
For y := 1 to 2 do ;
ListBox1.Items.Add (IntToStr (x) + ‘ ‘ + IntToStr (y)) ;
Kalau for yang di luar ( dengan pencacah variabel x ) akan menjalankan kalang yang dalam (dengan pencacah y) sebanyak 3 kali. Dan pada setiap pengulangan di layar akan ditambahkan nilai X dan Y. Bila anda menjalankan program di atas, pada ListBox1 akan terdapat hasil sebagai berikut :
1 1
1 2
2 1
2 2
3 1
3 2
Hasilnya adalah : 1, 2, 3, 4, 5
1 2
2 1
2 2
3 1
3 2
Hasilnya adalah : 1, 2, 3, 4, 5
2. WHILE – DO
Pernyataan pengulangan ini biasanya digunakan bila anda belum tahu pasti berapa banyak anda akan mengulang pernyataan – pernyataan. Berakhirnya pengulangan ini di tentukan oleh suatu kondisi. Bila kondisi sudah tidak terpenuhi maka pengulangan akan berakhir. Dengan kata lain, selama kondisi masih terpenuhi, pengulangan akan terus dilakukan.
Pada metode pengulangan ini aksi hanya akan diproses bila kondisi pengulangan terpenuhi, bentuk sintaks dari pengulangan ini adalah :
Selama kondisi pengulangan bernilai true maka aksi kan dilakukan, dan baru akan berhenti setelah kondisi pengulangan bernilai false. Karena kondisi pengulangan diperiksa pada bagian awal, maka ada kemungkinan aksi tidak pernah dilakukan, yaitu bila kondisi pengulangan tidak pernah bernilai true.
3. REPEAT – UNTIL
Pernyataan pengulangan ini hamper sama dengan pernyataan pengulangan While, dan biasanya digunakan bila jumlah pengulangan belum dapat dutentukan pada saat program ditulis.
Perbedaan pernyataan repeat … until dengan while terletak pada letak pengecekan kondisi. Jika pada pernyataan while, kondisi di cek pada awal kalang, pada pernyataan repeat .. until kondisi dicek pada akhir kalang.
Perbedaan yang lain, bila pernyataan while mengulang pernyataan selama kondisi masih terpenuhi, pernyataan repeat … until mengulang pernyataan selama kondisi belum terpenuhi.
Metode pengulangan ini juga melakukan pengulangan berdasarkan pemeriksaan kondisi pengulangan. Hanya saja nature dari pengulangan ini adalah system seakan-akan memaksa untuk melakukan pengulangan, sampai diketahui adanya kondisi berhenti.
Berlawanan dengan While, yang akan memproses aksi hanya bila kondisi pengulangan bernilai true, pada pengulangan Repeat, system akan memproses aksi selama kondisiberhenti false. Dengan demikian aksi pasti akan selalu diproses (minimal satu kali). Pada tipe ini, pengulangan dapat terjadi terus menerus (tidak pernah berhenti), yaitu bila kondisi berhenti tidak pernah bernilai true.
Contoh potongan program berikut :
Repeat
X := X – 1;
Y := Y – 1;
Until ( X<=0 );
Repeat
X := X – 1;
Y := Y – 1;
Until ( X<=0 );
Program ini akan mengulang dua pernyataan (X := X – 1) dan (Y := Y – 1) sampai nilai X lebih kecil atau sama dengan 0.
Mungkin anda menduga bahwa contoh ini adalah pengkorvesian dari contoh pengulangan dengan pernyataan while di atas. Bila diperhatikan sekilas memang keduanya seolah-olah sama. Tetapi keduanya memiliki sedikit perbedaan. Untuk lebih jelasnya ikuti penjelasan berikut :
Pada contoh while di atas, program akan melakukan pengulangan selama nilai X masih lebih besar dari pada 0., sedangkan pada contoh repeat … until disini, program akan melakukan pengulangan sampai nilai X lebih kecil atau sama dengan 0. Bila nilai X sebelum masuk kalang adalah positif, kedua pernyataan pengulangan ini memang sama. Tetapi jika nilai X negative, masalahnya akan berbeda.
Untuk pernyataan while, program tidak akan pernah melakukan pengulangan karena sebelum masuk kalang, nilai X sudah negative. Sebaliknya pada pernyataan repeat … until program akan melakukan pengulangan satu kali. Oleh karena itu sebaiknya anda harus berhati-hati dalam memilih menggunakan pernyataan while atau repeat … until.
4. BREAK AND CONTINUE
Pada beberapa kasus, anda mungkin ingin menghentikan suatu pengulangan di tengah jalan. Untuk menghentikan pengulangan, gunakanlah pernyataan break. Anda bisa menggunakan pernyataan break pada pernyataan for while, maupun repeat … until.
Contoh :
X : = 0;
While (X >= 0) do
begin
X := X + 1;
If ( X > 100) then
Break;
end;
While (X >= 0) do
begin
X := X + 1;
If ( X > 100) then
Break;
end;
Bila di lihat sekilas, kalang di atas sepertinya tidak akan pernah berakhir. Namun bila dijalankan, setelah nilai X lebih besar dari 100, pengulangan akan berhenti. Hal ini dikarenakan adanya pernyataan break.
Pernyataan Continue, adalah bentuk pernyataan khusus lain yang digunakan pada pengulangan. Pernyataan ini digunakan untuk mengembalikan aliran program ke pengujian kondisi pengulangan. Dengan kata lain, pernyataan-pernyataan di bawah continue akan di abaikan.
Contoh :
For i := 0 to100 do ;
Begin
If ( ( i mod 3) <> 0 ) then
Continue ;
ListBox1.Items.Add (IntToStr ( i ) ;
End ;
For i := 0 to100 do ;
Begin
If ( ( i mod 3) <> 0 ) then
Continue ;
ListBox1.Items.Add (IntToStr ( i ) ;
End ;
Program ini akan menuliskan semua bilangan kelipatan tiga yang kurang dari 100. Mengapa bisa demikian ? Karena pada saat nilai pencacah pengulangan habis di bagi 3, program akan memanggil pernyataan continue, akibatnya pernyataan ListBox1.Item.Add (IntToStr i)) tidak dipanggil.
Pernyataan break dan continue dapat juga digunakan pada pernyataan pengulangan bersarang (baik for, while, maupun repeat ... until) Pada pernyataan bersarang, pernyataan break dan continue akan menghentikan atau melanjutkan kalang paling dalam.
Contoh :
For i := 0 to 2 do
For j := 0 to5 do
Begin
If ( j=3 ) then
Break ; ;
ListBox1.Items.Add (IntToStr ( i )) ;;
End ;
For i := 0 to 2 do
For j := 0 to5 do
Begin
If ( j=3 ) then
Break ; ;
ListBox1.Items.Add (IntToStr ( i )) ;;
End ;
Program di atas hanya akan menampilkan 0, 1, dan 2 masing-masing sebanyak 3 kali (bukan 5 kali seperti yang tertulis pada kalang j ). Hal ini dikarenakan pada saat nilai j sama dengan 3, kalang j dihentikan.
5. PEMILIHAN
IF…THEN : Pemilihan 1 kasus
Perintahn bersyarat If-then digunakan hanya melakukan 1 aksi bila kondisi dipenuhi. Bentuk sintaks dari perintah bersyarat ini adalah :
Perintahn bersyarat If-then digunakan hanya melakukan 1 aksi bila kondisi dipenuhi. Bentuk sintaks dari perintah bersyarat ini adalah :
IF..THEN …ELSE : Pemilihan 2 kasus
Perintah bersyarat If umumnya digunakan untuk melakukan pencabangan sederhana (antara 2 atau 3 cabang). Atau untuk pencabangan yang banyak, dimana kondisi yang menjadi prasyaratnya melibatkan lebih dari satu parameter. Bentuk sintaks dari perintah bersyarat ini adalah :
IF…THEN…ELSE : Pemilihan N kasus
CASE…OF…
CASE…OF…
Perintah bersyarat Case umumnya digunakan untuk kondisi dengan banyak pencabangan. Syarat pencabangan pada bentuk ini hanya boleh melibatkan satu buah parameter dengan tipe data bukan Real. Pemeriksaan kondisi di sini lebih tepat disebutkan dalam hubungan relasi samadengan (=). Dengan demikian bila parameter bernilai tertentu maka dilakukan suatu aksi terkait, bila bernilai lain maka dilakukan aksi yang lain juga, demikian seterusnya.
Contoh:
If then else
unit if_then_else;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Data:integer;
begin
Data:=strtoint(edit1.Text);
if (data>=80) and (data<100) then
begin
showmessage('Nilai saya A');
edit1.Text:='';
end
else
if (data>=70) and (data<80) then
begin
showmessage('Nilai saya B');
edit1.Text:='';
end
else
if (data>=60) and (data<70) then
begin
showmessage('Nilai saya C');
edit1.Text:='';
end
else
if (data>=50) and (data<60) then
begin
showmessage('Nilai saya D');
edit1.Text:='';
end
else
if (data>=0) and (data<50) then
showmessage('Nilai saya E');
edit1.Text:='';
end;
end.
If then else
unit if_then_else;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Data:integer;
begin
Data:=strtoint(edit1.Text);
if (data>=80) and (data<100) then
begin
showmessage('Nilai saya A');
edit1.Text:='';
end
else
if (data>=70) and (data<80) then
begin
showmessage('Nilai saya B');
edit1.Text:='';
end
else
if (data>=60) and (data<70) then
begin
showmessage('Nilai saya C');
edit1.Text:='';
end
else
if (data>=50) and (data<60) then
begin
showmessage('Nilai saya D');
edit1.Text:='';
end
else
if (data>=0) and (data<50) then
showmessage('Nilai saya E');
edit1.Text:='';
end;
end.
0 komentar:
Posting Komentar