Anda di halaman 1dari 29

RESUME RUMUS-RUMUS

MATERI PEMROGRAMAN
TERSTRUKTUR YANG
SUDAH DIKAJI
Dengan tujuan :
1. Sebagai koleksi pribadi untuk di copy banyak sebagai referensi belajar
2. Mengingat kembali rumus-rumus atau struktur program yang sudah dikaji
3. Menambah pengetahuan sekaligus mengarsip file-file yang terbuang.

RESUME SYNTAK LOGIKA IF

1. Statement IF tunggal (Pemrosesan berurut)


Khasus : Statement yang dikerjakan hanya jika kondisi "IF" terpenuhi hanya satu kali
pemrosesan.
Penulisan Syntax :

if<condition>then
<statement>
2. Statement IF THEN ELSE (Percabangan bersyarat)
Penulisan Syntax :

if<condition>then
<statement1>
else
<statement2>
Analisa saya : Jika kita menggunakan If then Else, ketika dalam sebuah program yang
mempunyai pilihan statement atau pilihannya ada dua pilihan. Oleh karena itu syntax
yang kedua cocok dijadikan pedoman, misalkan contoh beberapa kasus variabel x
dam y, jika x = 10 sedangkan y= 11, yang bernilai benar dan salah, jika pilihan itu
benar angka yang dipilih lebih kecil maka x yang benar, jika tidak maka y yang lebih
besar.
3. Statement IF ganda
Penulisan Syntak :

if<condition>then
<statement 1>
elseif
<statement 2>
elseif
<statement 3>
elseif
<statement 4>
Analisa saya: Statement yang ketiga ini cocok dengan pemilihan statement yang lebih
dari satu, dengan pilihan yang cocok sesuai keinginan, contoh kasusnya
1. Statement 1 dikarjakan jika variable x lebih dari sama dengan 90,
2. Statement 2 dikerjakan jika variable x lebih dari sama dengan 70,
3. Statement 3 dikerjakan jika variable x lebih dari sama dengan 60,
3

4. Statement 4 dikerjakan jika variable x kurang dari 60,

RESUME SINTAK LOOPING


(PERULANGAN)

1. FOR DO
Di dalam Pemrograman Pascal, Syntak Looping dengan menggunakan FOR
dibedakan menjadi 2 jenis yaitu:
1.1 Increasement (bertambah) / For to do
For<variable>: = <nilai_awal>To<nilai_akhir>Do
5

Increasement (bertambah) / For to do


<variable><nilai_awal><nilai_akhir>
Syntak FOR di atas digunakan untuk perulangan yang nilai awalnya terus bertambah
hingga akhir. Misalkan contohnya : tampilkan urutan bilangan mulai dari 1 sampai 10.
1.2 Decreasement (berkurang) / Down to
<variable><nilai_awal><nilai_akhir>
Berbalikan dengan FOR untuk Increasement, Syntak FOR untuk Decreasement diatas
digunakan untuk perulangan dengan penurunan nilai. Salah satu contohnya :
Tampilkan urutan bilangan mulai dari 10 hingga 5.
1.3 Perulangan For
For varinittotest [step] do
.......
// statement
........
enFor;
Perulangan For :
-

Insialisasi init, pertama var diisi dengan nilai init.

Uji kondisi test, dilaksanakan sebelum bagian perulangan (statement), jika true
laksanakan bagian intruksi-intruksi yang akan diulang, jika false keluar dari
struktur perulangan (ke intruksi selanjutnya)

Langkah step, perubahan nilai var dapat diatur menggunakan step. Jika tidak
dituliskan, maka step adalah +1.

Banyaknya perulangan, pada perulangan for dapat diketahui.

2. WHILE DO

while(condition / test)do(statement);

Perulangan While do :
-

Kondisi di cek terlebih dahulu (While), dilaksanakan sebelum bagian perulangan


(statement). Jika kondisi true, laksanakan bagian intruksi-intruksi yang akan
diulang(statement). dan jika itu kondisi false, keluar dari stuktur perulangan (ke
intruksi berikutnya).

Jika kondisi terpenuhi, maka kerjakan statement (Do), dan statement bisa jadi
tidak pernah satu kalipun dikerjakan.

3. REPEAT UNTIL
Repeat
(statement 1)
(statement 2)
........
........
(statement)
Until
(condition/test)
Perualangan repeat-until
-

Uji kondisi test, dilaksanakan setelah bagian perulangan (statement).

Jika false, laksanakan bagian intruksi-intruksi yang akan diulang (statement)

Jika true, keluar dari struktur perulangan ( ke intruksi berikutnya).

Pada perulangan repeat-until, pertama dilaksanakan statement satu kali, baru


kemudian dilakukan uji kondisi ( test / statement)

Dan statement dikerjakan minimal satu kali.

Kondisi percabangan negasi dari perulangan do-while.

RESUME SINTAK CASE OF

1. Bentuk Case ......... Of


Case< Condition>of
nilai1 :< statemen1>;
nilai2 : <statemen2>;
nilai3 : <statemen3>;
.
End;

2. Bentuk Case ... Of .... Else


Case<Condition>of
nilai1 :< statemen1>;

nilaiN : statemenN;
Else
statemenLain;
End;

RESUME SINTAK
PROSEDUR DAN FUNGSI

1. Struktur Prosedur
Format PenulisanI :procedurenama_prosedur;
procedureTIF;
begin
writeln(Hasil Dari Prosedure..);
end;
10

PenulisanII :procedurenama_prosedur(parameter: tipe_parameter);


proceduretuliskan_kalimat(kalimat1, kalimat2 :string);
begin
kalimat1;
kalimat2;
end;

2. Struktur Fungsi
Format PenulisanI :functionnama_fungsi: tipe_fungsi;
Function haii:string;
begin
haii:='Haii, SelamatPagi';
end;
PenulisanII :functionnama_fungsi(parameter: tipe_parameter) : tipe_fungsi;
functionbilangan(angka:integer):integer;
begin
bilangan:=angka;
end;

3. Unit Fungsi
Unit merupakan suatu model program yang terpisah dan digunakan
untuk menyimpan proses-proses tertentu yang berkaitan.

11

Secara umum unit terbagi menjadi tiga bagian, yaitu ibterface,


impementation, dan initialization.
Struktur Unit:Penulisanawal :Unitnama_unit;
Unitnama_unitnya;
Interface
Procedure {prototipeprosedur};
Function {prototipefungsi};
Implementation
Declaration function/procedure here.
Begin
{initialization};
{statement}
End.

12

TUGAS UNIT FUNGSI


PROGRAM HITUNG

UNIT FUNGSI
PROGRAM HITUNG

13

Sekarang saya akan mencoba menyelesaikan tugas kemarin yaitu unit


fungsi program hitung, sebelumnya program tersebuat kurang lengkap,
karena operator yang digunakan masih terbatas hanya penjumlahan dan
pengurangan, oleh karena itu saya akan mencoba menyelesaikan
program hitung

dengan operator tambahan seperti perkalian dan

pembagian.
Program sebelum di modifikasi.
Nama fungsi:

Load Fungsi :
14

Dan saya akan mencoba mengeksplor dengan menampilkan 4 operator


dalam satu prosedur. Dan itu tidaklah mudah, oleh karena itu harus butuh
konsentrasi dan ketelitian dalam mengerjakan program tersebut.

15

Program dengan kode yang sudah diperbaiki dibawah ini:


Nama fungsi :

16

Loadfungsi :

Keterangan :
1. Warna merah
: Bagian dari Nama Fungsi
2. Warna biru : Bagian dari Load Fungsi
Ini salah satu contoh output dari hasil program yang dibuat, cukup satu
contoh untuk mewakili program tersebut.

17

No
1
2
3
4
5

Kode

Keterangan
// bagian darifungsi
// interface dari fungsi

unit fungsi;
Interface

// fungsihasil dengan variabel

function hasil(vara,b:integer):real;
procedure hitung(a,b:integer; vary,c,q,u:real);
procedure kotak;

// prosedurhitung
// proseduruntukmembuatkotak

Implementation

// mendeklarasikan program

uses crt;

// kata tercadang (reserved word)

procedure kotak;

// prosedurmembuatkotak

9
10

vari,j:integer;
Begin

// variablebil. Bulat
// memulai sebuah program

11

for i:=1 to 30 do

// looping 1 30

12

begin

// mulaiuntuk for

13

gotoxy(25+i,6);write('_');delay(50);

// menujuke x : 25+i dan y: 6, delay 50

14

playsound(600+(50*i),50);

// memutar sound

15

gotoxy(25+i,15);write('_');delay(50);

// menujuke x : 25+i dan y: 15,delay 50

16
17

end;
for j:=1 to 9 do

// endsementara for
// looping 1 9

18

begin

// mulai for

19

gotoxy(25,6+j);write('|');delay(50);

// menujuke x : 25 dan y: 6+j, delay 50

20

playsound(2100-(50*j),50);

// memutar sound

21

gotoxy (55,6+j);write('|');delay(50);

// menujuke x : 55 dan y: 6+j,delay 50

22

end;

// end for

23
24

end;
function hasil(vara,b :integer):real;

// fungsihasildenganhasila+b

25

begin

// mulai sebuah fungsi

26

hasil:=a+b;

// dalam program initidakdigunakan

27
28

end;
procedure hitung (a,b:integer; vary,c,q,u:real);

// endfungsi
// prosedurhitung, dg varp,q,r,s : real

29

begin

// memulaiprosedur

30

p:=a+b;

// operatorpejumlahan

31

q:=a-b;

// operatorpengurangan

32

r:=a*b;

// operatorperkalian

33

s:=a/b;

// operatorpembagian

34

end;

35 end.
No
1
uses crt,fungsi;
2

varj,k:integer; h,e,r,a:real; tanya,l:char;

// berakhirprosedur
Kode

// berkahirnya program
Keterangan
// memanggilfungsi.vpi
// variable yang akan di pakai
18

3
4

begin
kotak;

// memulai sebuah program


// memangilprosedurkotak

gotoxy(29,8); write('nilai a : '); readln(j);

// menujuke x : 29, y: 8 & 9 menulis input a

gotoxy(29,9); write('nilai b : '); readln(k);

dan b

gotoxy(29,10); writeln('1 : Tambah ');

// menujuke x : 29, y: 10-13 menulis 1:

gotoxy(29,11); writeln('2 : Kurang ');

tambah,kurangkali,danbagi

gotoxy(29,12); writeln('3 : Kali ');

10
11

gotoxy(29,13); writeln('4 : Bagi ');


repeat

// mengulang (Looping)

12

hitung(k,j,h,e,r,a);

// memanggilprosedurhitung

13
14
15

l:=readkey;
case l of
'1':begin

// tekan sembarang
// kasus l

16

gotoxy(29,10); write('prosedurea+b : ',h:2:2);

// jikatekan 1 makaakanmelakukan proses

17

gotoxy(29,11); write('2 : Kurangi ');

ini ,

18

gotoxy(29,12); write('3 : Kali ');

// proses membentuk kotak

19

gotoxy(29,13); write('4 : Bagi ');

// dengan output penjumlahan

20

gotoxy(29,14); write('Keluar, tekan Y : ');

21

end;

22
23

'2':begin

24

gotoxy(29,10); write('prosedure a-b : ',e:2:2);

// jikatekan 2 makaakanmelakukan proses

25

gotoxy(29,11); write('1 : Tambah');

ini ,

26

gotoxy(29,12); write('3 : Kali ');

// proses yang dilakukanpengurangan

27

gotoxy(29,13); write('4 : Bagi');

28

gotoxy(29,14); write('Keluar, tekan Y : ');

29

end;

30
31

'3':begin

32

gotoxy(29,10); write('prosedure a*b : ',r:2:2);

// jikatekan 3 makaakanmelakukan proses

33

gotoxy(29,11); write('1 : Tambah');

ini ,

34

gotoxy(29,12); write('2 : Kurang');

// proses yang dilakukanperkalian

35

gotoxy(29,13); write('4 : Bagi ');

36

gotoxy(29,14); write('Keluar,tekan Y : ');

37

end;

38
39

'4':begin

40

gotoxy(29,10); write('prosedure a/b : ',a:2:2);

//

41

gotoxy(29,11); write('1 : Tambah');

proses ini ,

jikatekanpilihan

4makaakanmelakukan

19

42

gotoxy(29,12); write('2 : Kurang');

// proses yang dilakukanpembagian

43

gotoxy(29,13); write('3 : Kali');

44

gotoxy(29,14); write('Keluar, tekan Y : ');

45

end;

46
47

end;

48

until l ='y';

// perulangan berhentijikaketik y.

49

end.

// berkahirnya program.

// end case

20

TUGAS KELOMPOK BAGIAN MANAGER


MENU UTAMA

21

Konsep fungsi dalam pascal hamper sama dengan konsep matematika. Sebuah fungsi dalam
pascal digunakan untuk menghitung sebuah nilai masukan. Dalam pascal fungsi akan
membantu mewujudkan pemecahan masalah yang lebih sederhana, sehingga program
semakin mudah diubah dan disimpan.fungsi dalam pascal mempunyai nama dan baris
statement yang merupakan implementasi fungsi tersebut. Sebuah fungsi dapat emmpunyai
atau lebih parameter. Fungsi akan mengirimkan sebuah nilai yang tipenya didefinisikan.
Prosedur adalah serangkaian statement digunakan untuk memcahkan masalah. Seperti halnya
fungsi, prosedur juga memuliki nama dan parameter.prosedur harus dideklarasikan terlebih
dahulu sebelum dipanggil.

22

Syntak program secarakeseluruhandari menu, 4 unit, dan 4 dll :


programmenuutama; // judul program
usescrt,p_span,tgsgunawan,malik,esa;// memanggil unit fungsi yang tertera
vara,y,i,k,f,g,o,h,m: integer;// denganvariabelbil. bulat
c: char; q,r:byte; z:string; p:longint; v:integer;// jugakarakter, memesankalimat,dll
begin// memulaisebuah program
gotoxy(26,2); textcolor(blue+red); write('SELAMAT DATANG DI MENU UTAMA');
gotoxy(26,3); textcolor(green+black); write('---------------------------- ');
textcolor(green);
k:=0;
for i:=1 to 25 Do// looping untuk program kotak
begin
gotoxy(52-i,5);write('=');
end;
for i:=1 to 25 Do
begin
gotoxy(26+i,15); write('=');
Bagiandari menu utama
end;
for i:=10 to 20 Do
begin
gotoxy(25,25-i);write('||');
end;
for i:=1 to 11 Do
begin
gotoxy(52,4+i);write('||');
end;
gotoxy(30,8); write('FirmanArr');// menujupos x dan y denganmencetaknamaFirman ...
gotoxy(30,9); write('Gunawan');// menujupos x dan ydenganmencetaknamaGunawan
gotoxy(30,10); write('Esa');// menujupos x dan ydenganmencetaknamaEsa
gotoxy(30,11); write('Malik');// menujupos x dan ydenganmencetaknama Malik
y:=8; // denganinisialisasipos y adalah 8
gotoxy(28,8); write('>');
repeat
c:=readkey;
case c of// denganbeberapakasusataupilihan
#72 : if y=9 then// tekantombolatas, jika y=9 maka
Begin// memulaisebuah program
y:=8;// inisialisasi y= 8
gotoxy(28,9); write (' ');
gotoxy(28,y); writeln('>');gotoxy(28,y);
end
else// jikatidaksebagaipilihanketikadiprosesuntukmengembalikan program awal
if y=8 then
begin
y:=9;
gotoxy(28,8); write (' ');
gotoxy(28,y); writeln('>'); gotoxy(28,y);
23

end
else
if y=10 then
begin
y:=9;
gotoxy(28,10); write (' ');
gotoxy(28,y); writeln('>'); gotoxy(28,y);
end
else
if y=11 then
begin
y:=10;
gotoxy(28,11); write (' ');
gotoxy(28,y); writeln('>'); gotoxy(28,y);
end;
#80 : if y=8 then
begin
y:=9;
gotoxy(28,8); write (' ');
gotoxy(28,y); writeln('>'); gotoxy(28,y);
end
else
if y=9 then
begin
y:=10;
gotoxy(28,9); write (' ');
gotoxy(28,y); writeln('>'); gotoxy(28,y);
end
else
if y=10 then
begin
y:=11;
gotoxy(28,10); write (' ');
gotoxy(28,y); writeln('>'); gotoxy(28,y);
end ;
#13 : begin // memulaisebuah program
case y of// pilihan y adalah
8 :begin
animasi(q,r,z,p,v);
clrscr;
garis;
gotoxy(35,8); writeln('FirmanArr');
writeln;
gotoxy(30,9); write('NilaiPanjang : ');// denganmencetak nilaipanjang dalamkotak
readln(f);
gotoxy(30,10); write('NilaiLebar : ');
readln(g);
gotoxy(30,11); write('Keliling : ',perspan(f,g):2:2);
readln; clrscr;
24

k:=0;
for i:=1 to 25 Do
begin
gotoxy(52-i,5);write('=');
end;
for i:=1 to 25 Do
Hasildari Program Perspan
begin
gotoxy(26+i,15); write('=');
end;
for i:=10 to 20 Do
begin
gotoxy(25,25-i);write('||');
end;
for i:=1 to 11 Do
begin
gotoxy(52,4+i);write('||');
end;
gotoxy(26,2); textcolor(blue+red); write('SELAMAT DATANG DI MENU UTAMA');
gotoxy(26,3); textcolor(green+black); write('---------------------------- ');
gotoxy(30,8);write ('FirmanArr');
gotoxy(30,9);write ('Gunawan');
gotoxy(30,10); write('Esa');
gotoxy(30,11); write('Malik');
gotoxy(28,8);write ('>');
end;
9 :begin
clrscr;
animasigwn(a,y,i,k,f,g,o,h);
gotoxy(23,13); textcolor(White); write('RUMUS KUBUS');
gotoxy(13,15); write('SisiKubus = ');
gotoxy(34,15); readln(a);
rmskubus(a,f,g);
gotoxy(13,17); write('Volume Kubus =');
gotoxy(34,17); writeln(f:2);
gotoxy(13,18); write('LuasPermukaan =');
gotoxy(34,18); writeln(g:2);
readkey;
readln; clrscr;
k:=0;
for i:=1 to 25 Do
begin
gotoxy(52-i,5);write('=');
end;
for i:=1 to 25 Do
begin
gotoxy(26+i,15); write('=');
end;
for i:=10 to 20 Do
begin
gotoxy(25,25-i);write('||');
end;
for i:=1 to 11 Do
begin

Hasildari Program Kubus

25

gotoxy(52,4+i);write('||');
end;
gotoxy(26,2); textcolor(blue+red); write('SELAMAT DATANG DI MENU UTAMA');
gotoxy(26,3); textcolor(green+black); write('---------------------------- ');
gotoxy(30,8);write ('FirmanArr');
gotoxy(30,9);write ('Gunawan');
gotoxy(30,10); write('Esa');
gotoxy(30,11); write('Malik');
gotoxy(28,8);write ('>');
end;
10 :begin
clrscr;
writeln('Esa');
animasi_esa(a,y,i,k,f,g,o,h,m);
animasi2_esa(a,v);
gotoxy(8,7);
write ('Panjang : '); readln(a);
gotoxy(8,9);
write ('Lebar : '); readln(y);
gotoxy(8,11);
write ('Tinggi : '); readln(i);
balok(a,y,i,k,f);
gotoxy(26,7);
write ('LuasPermukaan = ');
gotoxy(33,9); writeln(k:2);
gotoxy(26,11);
write (' Volume = ');
gotoxy(33,13); writeln(f:2);
readkey;
readln; clrscr;
k:=0;
for i:=1 to 25 Do
begin
gotoxy(52-i,5);write('=');
end;
for i:=1 to 25 Do
begin
gotoxy(26+i,15); write('=');
end;
for i:=10 to 20 Do
begin
gotoxy(25,25-i);write('||');
end;
for i:=1 to 11 Do
begin
gotoxy(52,4+i);write('||');
end;

Hasildari program segitiga

gotoxy(26,2); textcolor(blue+red); write('SELAMAT DATANG DI MENU UTAMA');


gotoxy(26,3); textcolor(green+black); write('---------------------------- ');
gotoxy(30,8);write ('FirmanArr');
gotoxy(30,9);write ('Gunawan');
gotoxy(30,10); write('Esa');
26

gotoxy(30,11); write('Malik');
gotoxy(28,8);write ('>');
end;
11 :begin
clrscr;
gotoxy(30,7);writeln('Malik');
write('Jari-jari : '); readln(o);
writeln('KelilingLingkaran : ',ling(o):2:3);
readln; clrscr;
k:=0;
for i:=1 to 25 Do
begin
gotoxy(52-i,5);write('=');
end;
Hasildari Program Lingkaran
for i:=1 to 25 Do
begin
gotoxy(26+i,15); write('=');
end;
for i:=10 to 20 Do
begin
gotoxy(25,25-i);write('||');
end;
for i:=1 to 11 Do
begin
gotoxy(52,4+i);write('||');
end;
gotoxy(26,2); textcolor(blue+red); write('SELAMAT DATANG DI MENU UTAMA');
gotoxy(26,3); textcolor(green+black); write('---------------------------- ');
gotoxy(30,8);write ('FirmanArr');
gotoxy(30,9);write ('Gunawan');
gotoxy(30,10); write('Esa');
gotoxy(30,11); write('Malik');
gotoxy(28,8);write ('>');
end;
end;
end;
end; // berhentisementara
until c=#27; // sampaiberakhirnyatomboltekan
end. // berakhirnyasebuah program

27

Output program kurang lebih seperti dibawah ini, tampilan menu utama
Dan semua program telah di simpan didalam CD.

28

29