Ingat .....
Apapun bahasa pemrograman yang digunakan tidak menjadi
masalah, tapi harus diperhatikan bahwa konsep algoritma
dimengerti dengan baik agar dapat membuat kode program yang
rapi dan terstruktur.
Beda programmer yang belajar dengan konsep dan programmer
yang tidak belajar dengan konsep, terlihat pada kerapihan dan
struktur program yang dibuat.
ALGORITMA (PSEODOCODE)
Program_Dua_Angka;
Var
X, Y : Angka (Int)
Begin
Read (X,Y)
if X>Y then
write (“Bilangan X besar dari bilangan Y”)
else
write (“Bilangan Y besar dari bilangan X”)
endif
End.
Program Latih2;
{$APPTYPE CONSOLE}
Uses SysUtils;
Var
Alas,Tinggi : Integer; Luas :real;
Begin
Write(‘------------ operasi Luas -----------------‘);readLn;
{memasukkan data}
Write( ‘Nilai Alas :’ ) ; readln (Alas);
Write( ‘Nilai Tinggi :’ ) ; readln (Tinggi);
{mencetak hasil}
Writeln(‘Luas yang di hitung :’, Luas :2:2); readln;
Write(‘------------ Dibuat oleh : AKU -----------------‘);readLn;
End.
Latihan :
Tulis FLOWCHART dan Listing DELPHI dari Operasi Aritmatika dua
bilangan untuk melakukan operasi Penjumlahan, Perkalian dan
Pembagian.
Var
A, B, C, D : Integer ; E:Real;
Begin
Write (‘Nilai Pertama :’);Readln (A);
Write (‘Nilai Kedua :’);Readln (B);
C:= A + B; D:=A*B; E:=A/B;
WRITE (‘Hasil Penjumlahan :’, C); READLN;
WRITE (‘Hasil Perkalian :’, D); READLN;
WRITE (‘Hasil Pembagian :’, E:2:2); READLN;
END
3
Page
PERINTAH PENCABANGAN / STRUKTUR PEMILIHAN
Pada beberapa kasus terkadang kita menginginkan komputer melakukan suatu aksi tertentu bila suatu
kondisi terpenuhi. Bahasa DELPHI menyediakan dua cara penyajian perintah bersyarat, yaitu
If…Then…Else dan Case…of.
Pada prinsipnya pemilihan aksi dapat dikelompokkan menjadi 3 bagian :
Pemilihan 1 pilihan/kasus. Gunakan perintah IF – THEN
Pemilihan 2 pilihan/kasus. Gunakan perintah IF – THEN – ELSE
Pemilihan N pilihan/kasus. Gunakan Case – of (Catatan sebenarnya dapat menggunakan if—
then – else bersarang).
Kasus -2:
Menggunakan IF
Buat algoritma untuk membaca sebuah bilangan bulat, menentukan dan
mencetak keterangan bilangan tersebut ganjil atau genap.
Pemecahan Masalah
1. Output Keterangan “bil. Ganjil” atau “bil genap”
2. Input bilangan bulat
3. Proses
a) Baca data sebuah bilangan
b) Lakukan operasi pembagian, jika hasil pembagian = 0 maka
di cetak “bil. Genap” dan sebaliknya jika hasilnya
bukan = 0 maka di cetak “bil ganjil”
PSEODOCODE
Var
Bilangan : Integer ;
Begin
Write („Tulis sebuah bilangan : ‟ ) ; ReadLn (Bilangan) ;
If (Bilangan MOD 2) = 0 THEN
WriteLn (“Bilangan ini Genap”)
ELSE
WriteLn (“Bilangan ini Ganjil”) ;
End.
Menggunakan IF Majemuk
Buat flowchart dan program Delphi untuk menampilkan data nama, nik dan gaji seorang
karyawan. Untuk menentukan gaji disesuaikan dengan golongan karyawan, sebagai
berikut :
Jika golongan = ‘I’ maka gaji = 2.500.000
Jika golongan = ‘II’ maka gaji = 3.250.000
Jika golongan = ‘III’ maka gaji = 4.150.000
4
PERINTAH PERULANGAN/LOOPING
Dalam bahasa pemrograman apapun pasti dikenal suatu mekanisme
looping atau perulangan. Looping disini sangat berguna sekali untuk
mengontrol jalannya program, terutama jika ada aktivitas yang berulang-
ulang dan bahkan ada suatu kondisi tertentu di dalam looping tersebut.
Perintah Perulangan merupakan control program yang digunakan untuk suatu
proses yang akan berjalan terus menerus.
Perulangan for to do adalah jenis perulangan yang digunakan untuk
melakukan suatu proses dalam sebuah blok program ayng dimulai dengan
nilai yang terkecil ke besar.
var
i: integer;
begin
for i := 1 to 5 do
readln(i);
end;
end.
5
Page
Perulangan while do adalah statement perulangan akan terus
melakukan suatu proses selama kondisi /syarat yang ditentukan bernilai
benar. Perulangan repeat until digunakan untuk mengulang suatu
kondisi sampai kondisi bernilai salah.
var
i : integer; Var
i : integer;
begin begin
i := 0; i := 1;
while i < 5 do repeat
begin i := i + 2;
ReadLn(i); readLn(i);
i := i + 1;
until i = 15;
end;
end;
end;
var
Kasus -3:
Buat algoritma untuk menampilkan 10 buah angka dan cetak 10 angka
tersebut dan jumlahkan nilai dari 10 angka yang di tampilkan.
Var A ,B : INT ; Var A ,B : INT ;
Begin Begin
write (header); write (header);
A:=1 A:=1
While A <= 10 Do B:=1
write (A) Repeat
B:= B + A write (A)
A:= A+1 B:= B + A
Endwhile A:= A+1
write(B) Until A >=10
End. write(B)
End.
Kasus -4:
Buat algoritma untuk menghitung jumlah angka 1+2+3+..+N, dimana N
angka bulat yang dimasukkan lewat keyboard.
Pemecahan Masalah
Output tidak ada
Input misalnya N=10 buah bilangan
Proses
a) Baca data 10 buah bilangan
b) Jika bilangan yang dibaca belum sampai 10 maka ulangi
langkah a
6
Selesai
Page
Buat flowchart dan listing program untuk mencetak suku deret aritmatika
menggunakan rumus N = N + 4 dan hasil OUTPUT adalah 4, 7, 11, 15, 19, 23,
27, 31, dan 35.
Program Project1;
{$Apptype Console}
Uses
Sysutils;
Var I:Integer;
Begin
I:=3; While I < 35 Do
Begin
Writeln (I);
I:=I+3; Readln;
End;
End.
Procedure
Procedure adalah suatu program yang terpisah dalam block tersendiri yang
berfungsi sebagai subprogram (program bagian).
Procedure Garis;
begin
writeln('---------------------------');
end;
Procedure Judul;
begin
writeln('Belajar Pemrograman');
end;
{modul utama}
begin
garis; judul; garis;
end.
7
PROGRAM ANGKA_1;
Page
{$APPTYPE CONSOLE}
Uses
Sysutils;
Var A, B, C: Integer;
procedure JUMLAH;
begin
C:=A+B;
writeln('hasil Penjumlahan (c) =',c:5); readln;
end;
procedure kali;
VAR D:INTEGER;
begin
D:=A*B;
writeln('Hasil PERKALIAN (D) =',D:5); REadln; end;
Function
Blok pada function hampir sama dengan blok pada procedure, hanya pada
function harus dideklarasikan dengan tipe dari function tersebut yang
merupakan tipe hasil dari function itu sendiri. Sehingga dikatakan
function dapat mengembalikan nilai.
Sintaks :
FUNCTION identifier(daftar parameter) : type;
Program faktorial;
8
Var
Page
n : integer;
function f(n:integer);integer;
var
i, f : integer;
begin
f:=1;
for i:=1 to n do
f:=f +1;
end;
begin
write (’jumlah faktorial :’);readln(n);
writeln(f);
end.
program Coba3;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
x,y,z:byte; {variabel global}
procedure garis;
begin
writeln('--------------------------------');
end;
function bagi(a,b:byte):byte;
begin
Bagi:=a div b;{nama proses = nama fungsi}
end;
begin
writeln('Program Matematika Sederhana');
garis;//pemanggilan procedure garis
write('Nilai 1 : ');readln(x);
write('Nilai 2 : ');readln(y);
garis;
kali(x,y);
garis;
writeln('Hasil a / b : ',bagi(x,y));
garis;
readln;
end.
9
Page