- Var digunakan untuk merubah Edit1: TEdit1; menjadi variabel nantinya atau Mendefinisikan sebuah variabel
- Integer untuk merubah tipe data bilangan bulat yang hanya mengenal bilangan decimal dan tidak dapat mengenal bilangan pecahan
- StrToInt digunakan untuk merubah tipe data string ke tipe data integer.
- IntToStr untuk merubah tipe data integer ke tipe data string.
- Caption untuk Membuat caption pada table
- End; untuk mengakhiri sebuah script namun masih ada lanjutannya
- End. Untuk mengakhiri sebuah script
- Begin untuk memulai suatu penulisan scrip pada program
- String Merupakan Tipe data yang isinya berupa Anumerik yang tidak dapat diberikan operator perhitungan karena bukan bersifat numerik value
- If untuk membuat pengandaian atau membuat pernyataan sesuai dengan kondisi
- For todo untuk membuat perulangan angka berurutan atau merupakan struktur pengulangan dimana aksi dilakukan sebanyak hitungan pencacah pengulangan atau for variable := nilai_awal to nilai_akhir do pernyataan
- For downto do for variable := nilai_awal downto nilai_akhir do pernyataan
- While do memasukan fungsi pada awal program
- Repeat until untuk membuat program menjadi perulangan atau struktu pengulangan dimana aksi dilakukan hingga kondisi ( persyaratan ) berhenti terpenuhi.
- While I do struktur pengulangan dimana selama kondisi ( persyaratan ) pengulangan masih benar, maka aksi dikerjakan
- Integer = berlaku hanya untuk bilangan bulat
- Real = untuk bilangan campuran desimal
- Tanda petik (‘ ‘) setelah write = digunakan untuk menulis teks (apa adanya)
- Writeln = untuk mencetak hasil (output)
- Readln = untuk mencetak / (meng-input) nilai konstanta
- Luas : 10 : 1 = angka 1 adalah untuk mengatur banyaknya angka dibelekang koma, itu dikarenakan kita menggunakan kode real pada luas
- Tanda titik koma (;) adalah untuk meng-akhiri sebuah program
Jumat, 19 Juni 2015
MATERI DASAR
LATIHAN 1
1.
Buat susunan tampilan seperti ini
2.
Klik ganda Button HASIL dan tulis scriptnya seperti dibawah ini
var
Form1: TForm1;
implementation
{$R
*.dfm}
procedure
TForm1.Button1Click(Sender: TObject);
var
gaji,tot,tunjangan:integer;
begin
gaji:=StrToInt(tGaji.Text);
if
tGol.Text = 'A' then tunjangan:=10000;
if
tGol.Text = 'B' then tunjangan:=20000;
if
tGol.Text = 'C' then tunjangan:=30000;
Tunj.Caption
:= IntToStr (tunjangan);
tot:=Tunjangan+Gaji;
Total.Caption
:= IntToStr(Tot);
end;
end.
3.
Program berhasil dijalankan
LATIHAN 2
1. Buat
aplikasi dengan tampilan sebagai berikut!
2.
Ubah properti dari object inspector!
3.
Buat kode Program!
a.
Klik ganda Button INPUT
procedure
TForm1.Button1Click(Sender: TObject);
Var
i: integer;
Nama1,nama2
:array [1..5] of string;
S:
string;
begin
s:=inputbox('input
data','masukkan jumlah data :','0');
For
i:=1 to strtoint(s) do
Begin
nama1[i]:=inputbox('data
ke:'+inttostr(i),'nama awal','');
nama2[i]:=inputbox('data
ke:'+inttostr(i),'nama belakang','');
LBData.Items.Add(nama1[i]+''+nama2[i]);
Edit1.text:=inttostr(LBData.Items.count);
end;
end;
procedure
TForm1.Button2Click(Sender: TObject);
begin
LBData.Clear;
Edit1.text:='';
end;
procedure
TForm1.Button3Click(Sender: TObject);
begin
close;
end;
end.
b.
Klik ganda Button CLEAR
procedure
TForm1.Button2Click(Sender: TObject);
begin
LBData.Clear;
Edit1.text:='';
end;
procedure
TForm1.Button3Click(Sender: TObject);
begin
close;
end;
end.
c.
Klik ganda Button CLOSE
procedure
TForm1.Button3Click(Sender: TObject);
begin
close;
end;
end.
4.
Klik Button Running atau tekan tombol F9 pada keyboard untuk melihat
hasilnya.
- Masukkan jumlah data
- Masukkan nama awal
- Masukkan nama akhir
- Maka akan ditampilkan daftar nama seperti dibawah ini
LATIHAN 3
REKURSI atau recursion adalah proses dari suatu subprogram (dapat berupa fungsi atau prosedur) yang memanggil dirinya sendiri. Proses rekursi untuk beberapa kasus merupakan algoritma yang baik dan dapat membuat pemecahan masalah lebih mudah. Akan tetapi sebagai imbalannya, proses rekursi ini harus dibayar mahal dengan memori yang banyak digunakan, dikarenakan setiap kali suatu subprogram dipanggil, maka diperlukan sejumlah tambahan memori.
Jika kita menulis siatu fungsi atau prosedur rekursi, yang perlu diperhatikan adalah fungsi atau prosedur tersebut harus mengandung suatu kondisi akhir dari proses rekursi. Kondisi ini diperlukan untuk mencegah terjadinya proses rekursi yang tidak berujung (indefinite), yaitu proses rekursi akan dilakukan tanpa henti.
Berikut ini contoh program : Rekursi mengurutkan data metode quick sort dalam bentuk prosedur.
program sort;
{$APPTYPE CONSOLE}
uses SysUtils;
type
tipelarik=string[20];
larikUrut=array[1..1000] of Tipelarik;
Procedure QuickSort (var x : LarikUrut;bawah,atas:word);
var
I,J:word;
sementara:TipeLarik;
begin
While atas>Bawah Do
begin
I:=Bawah;
J:=Atas;
sementara:=x[bawah];
{memecak larik menjadi dua bagian}
while I<J Do
begin
while x[j]>sementara do
J:=J-1;
x[i]:=x[j];
while (I<J) and (x[i]<=sementara) do
I:=I+1;
x[j]:=x[i];
end;
x[i]:=sementara;
{urutkan rekursi}
quicksort(x,bawah,I-2);
bawah:=I+1;
end;
end;
var
nama:larikurut;
N,I:word;
begin
write ('jumlah data akan diurutkan ?');readln(n);
writeln;
writeln('masukkan data = ');
for I:=1 to N do
begin
write ('data ke',I,'?');readln(nama[I]);
end;
{urutkan dengan procedure quick sort}
quicksort (nama,1,N);
{tampilkan data yang urut}
writeln;
writeln ('data yang telah urut = ');
for I:=1 to n do
writeln (nama[I]);
readln;
end.
Jika kita menulis siatu fungsi atau prosedur rekursi, yang perlu diperhatikan adalah fungsi atau prosedur tersebut harus mengandung suatu kondisi akhir dari proses rekursi. Kondisi ini diperlukan untuk mencegah terjadinya proses rekursi yang tidak berujung (indefinite), yaitu proses rekursi akan dilakukan tanpa henti.
Berikut ini contoh program : Rekursi mengurutkan data metode quick sort dalam bentuk prosedur.
program sort;
{$APPTYPE CONSOLE}
uses SysUtils;
type
tipelarik=string[20];
larikUrut=array[1..1000] of Tipelarik;
Procedure QuickSort (var x : LarikUrut;bawah,atas:word);
var
I,J:word;
sementara:TipeLarik;
begin
While atas>Bawah Do
begin
I:=Bawah;
J:=Atas;
sementara:=x[bawah];
{memecak larik menjadi dua bagian}
while I<J Do
begin
while x[j]>sementara do
J:=J-1;
x[i]:=x[j];
while (I<J) and (x[i]<=sementara) do
I:=I+1;
x[j]:=x[i];
end;
x[i]:=sementara;
{urutkan rekursi}
quicksort(x,bawah,I-2);
bawah:=I+1;
end;
end;
var
nama:larikurut;
N,I:word;
begin
write ('jumlah data akan diurutkan ?');readln(n);
writeln;
writeln('masukkan data = ');
for I:=1 to N do
begin
write ('data ke',I,'?');readln(nama[I]);
end;
{urutkan dengan procedure quick sort}
quicksort (nama,1,N);
{tampilkan data yang urut}
writeln;
writeln ('data yang telah urut = ');
for I:=1 to n do
writeln (nama[I]);
readln;
end.
LATIHAN 4
1.
Buatlah tampilan program seperti dibawah ini
2. Buat Kode Program!
a.
Klik ganda Button PROSES, lalu tuliskan script dibawah ini.
procedure
TForm1.btnProsesClick(Sender: TObject);
var
a,i,c,b:integer;
begin
a:=strtoint(Edit1.text);
Memo1.Clear;
i:=-1;
c:=-2;
while
i<=a do
begin
b:=i;
Memo1.Lines.Add(inttostr(b));
i:=(b+c)*-1;
c:=c*-1;
end;
end;
end.
b.
Klik ganda Button TUTUP, lalu tuliskan script dibawah ini.
procedure
TForm1.Button1Click(Sender: TObject);
begin
CLOSE;
end;
end.
3.
Jalankan aplikasi!
- Masukkan angka 10
- Klik PROSES, dan muncullah deretan angka dengan pola -1, 3, -5, 7, -9
- Klik TUTUP untuk mengakhiri program
LATIHAN 5
1.
Buatlah tampilan seperti dibawah ini!
2.
Buat Kode Program!
- Tulis script pada form unit1.pas seperti dibawah ini.
unit
Unit1;
interface
uses
Windows, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
edit1: TEdit;
edit2: TEdit;
edit3: TEdit;
btnPANGKAT1: TButton;
btnPANGKAT2: TButton;
btnPANGKAT3: TButton;
btnPANGKAT4: TButton;
Label4: TLabel;
Button1: TButton;
procedure
btnPANGKAT1Click(Sender: TObject);
procedure
btnPANGKAT2Click(Sender: TObject);
procedure
btnPANGKAT3Click(Sender: TObject);
procedure
btnPANGKAT4Click(Sender: TObject);
procedure Button1Click(Sender:
TObject);
private
{
Private declarations }
public
{
Public declarations }
procedure pangkat1(p,l:string);
function
pangkat2(p,l:string):string;
function
pangkat3(m,n:integer):integer;
end;
var
Form1: TForm1;
implementation
{$R
*.dfm}
- Klik ganda button PANGKAT1 dan tulis script ini :
procedure
TForm1.btnPANGKAT1Click(Sender: TObject);
var
a,b,i,c:integer;
begin
i:=1;
c:=1;
a:=strtoint(edit2.Text);
b:=strtoint(edit1.Text);
While
i<=a do
begin
c:=c*b;
i:=i+1;
end;
edit3.Text:=inttostr(c);
end;
procedure
TForm1.pangkat1(p,l:string);
var
a,b,c,i:integer;
begin
i:=1;
c:=1;
a:=strtoint(p);
b:=strtoint(l);
while
i<=a do
begin
c:=c*b;
i:=i+1;
end;
edit3.Text:=inttostr(c);
end;
function
TForm1.pangkat2(p,l:string):string;
var
a,b,c,i:integer;
begin
i:=1;
c:=1;
a:=strtoint(p);
b:=strtoint(l);
while
i<=a do
begin
c:=c*b;
i:=i+1;
end;
pangkat2:=inttostr(c);
end;
function
TForm1.pangkat3(m,n:integer):integer;
var
c,i:integer;
begin
i:=1;
c:=1;
while
i<=n do
begin
c:=c*m;
i:=i+1;
end;
pangkat3:=c;
end;
- Klik ganda button PANGKAT2 dan tulis script ini :
procedure
TForm1.btnPANGKAT2Click(Sender: TObject);
begin
pangkat1(edit2.Text,edit1.Text);
end;
- Klik ganda button PANGKAT3 dan tulis script ini :
procedure
TForm1.btnPANGKAT3Click(Sender: TObject);
begin
edit3.Text:=pangkat2(edit2.Text,edit1.Text);
end;
- Klik ganda button PANGKAT4 dan tulis script ini :
procedure
TForm1.btnPANGKAT4Click(Sender: TObject);
var
a,b,c:integer;
begin
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);
c:=pangkat3(a,b);
edit3.text:=inttostr(c);
end;
- Klik ganda button CLOSE dan tulis script ini :
procedure
TForm1.Button1Click(Sender: TObject);
begin
CLOSE;
end;
end.
3.
Tampilkan hasilnya dengan klik tombol Running!
- Ketikkan angka pada kolom BILANGAN. Misalnya angka 4, lalu masukkan PANGKAT 1. Untuk melihat hasilnya, klik button PANGKAT1.
- Coba hingga PANGKAT4 dengan cara yang sama.
- Klik Button CLOSE untuk keluar dari aplikasi.
LATIHAN 6
Cara menggunakan fungsi procedure
contoh script
program Procedure2;
{$APPTYPE CONSOLE}
uses
SysUtils;
procedure tambah;
var
a,b,c : integer;
begin
write('Masukkan Nilai A= '); readln(a);
write('Masukkan Nilai B= '); readln(b);
c:=a+b;
writeln('A+B= ',c:2);
end;
begin
tambah;
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
LATIHAN 7
Buat
program untuk menghitung penjumlahan deret dengan rumus d=a+b/c,
dengan menggunakan function. nilai a, b ,c adalah hasil penjumlahan
deret 1+2+3 . . .
nilai
a, b, c minimal 1
contoh
jika
:
a=3,
b=5, c=6
maka
:
a=1+2+3=6
b=1+2+3+4+5=15
c=1+2+3+4+5+6=21
d
= 6+15/21
d
=0.95
berikut
langkah-langkahnya.
1. Buat dulu interface program seperti gambar dibawah ini. kemudian klik
2 kali button 'PROSES' selanjutnya lihat gambar Listing Program 1 dan
2.
2. Tulis
Listing Program seperti gambar dibawah ini.
Function
Pangkat(m,n:integer):integer;
m
mewakili bilangan bernilai integer/bilangan bulat
n
mewakili pangkat bernilai integer/bilangan bulat
sedangkan
Function Pangkat adalah hasil perpangkatan itu sendiri yang bernilai
integer/bilangan bulat
3. Setelah
selesai, jalankan program dengan tekan "F9" dan running
program berjalan seperti gambar dibawah ini.
Gambar
1 menunjukkan awal program yang sedang berjalan, gambar 2 menunjukkan
kotak a, b, dan c diisi dengan angka masing-masing 2 dan gambar 3
menunjukkan button 'PROSES' menghasilkan keluaran d menjadi 1,5
LATIHAN 8
cara
menggunakan fungsi faktorial
Contoh
script
program
Project2;
{$APPTYPE
CONSOLE}
uses
SysUtils;
Procedure
Faktorial (var fak,hasil:integer);
var
i:integer;
{variabel lokal}
begin
hasil:=1;
for
i := 2 to fak do
hasil:=hasil*i;
end;
var
N,F
: integer; {Variabel Global}
begin
write('Berapa
Faktorial ? ');readln(N);
Faktorial(N,F);
writeln(N,'
Faktorial = ',F);
readln;
{
TODO -oUser -cConsole Main : Insert code here }
end.
LATIHAN 9
cara
menggunakan procedur by Refrence
contoh
script
program
Project2;
{$APPTYPE
CONSOLE}
uses
SysUtils;
var
x,y,z:integer;
Procedure
tambah (var a,b,c:integer);
begin
c:=a+b;
end;
begin
write('Masukkan
Nilai X = ');readln(x);
write('Masukkan
Nilai Y = ');readln(y);
tambah(x,y,z);
writeln('X+Y
= ',z:10);
readln;
{
TODO -oUser -cConsole Main : Insert code here }
end.
LATIHAN 10
menggunakan
fungsi procedure by valve
Contoh
script
program
Project2;
{$APPTYPE
CONSOLE}
uses
SysUtils;
var
x,y
: integer;
Procedure
tambah(a,b:integer);
var
c:integer;
begin
c:=a+b;
writeln('Hasil
Penjumlahan = ',c:10);
end;
begin
write('Masukkan
Nilai X = ');readln(x);
write('Masukkan
Nilai Y = ');readln(y);
tambah(x,y);
readln;
{
TODO -oUser -cConsole Main : Insert code here }
end
LATIHAN 11
1. Buat program seperti dibawah ini :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
txtA: TEdit;
txtB: TEdit;
txtC: TEdit;
txtD: TEdit;
btnProses: TButton;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
procedure btnProsesClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Function Pangkat(m,n:integer):integer;
end;
var
Form1: TForm1;
hasil:integer;
D:real;
implementation
{$R *.dfm}
Function TForm1.Pangkat(m,n:integer):integer;
var
a,b,i:integer;
begin
i:=1;
hasil:=1;
while i<=n do
begin
hasil:=hasil*m;
i:=i+1;
end;
pangkat:=hasil;
end;
procedure TForm1.btnProsesClick(Sender: TObject);
var
A2,B3,C3,A,B,C:integer;
begin
a:=strtoint(txtA.Text);
B:=strtoint(txtB.Text);
C:=strtoint(txtC.Text);
A2:=Pangkat(A,2);
B3:=Pangkat(B,3);
C3:=Pangkat(C,3);
D:=(A2+B3)/C3;
txtD.Text:=floattostr(d);
end;
end.
3. Jalankan aplikasi
4. Masukkan angka lalu klik button PROSES, maka akan muncul hasilnya.
Langganan:
Postingan (Atom)






































