Anda di halaman 1dari 9

Implementasi ALGORITMA

Kedalam Pemrograman DELPHI


Bahasa Pemrograman DELPHI merupakan pengembangan dari bahasa
pemrograman PASCAL. Bahasa PASCAL maupun DELPHI mudah untuk
dipelajari, mengingat bahasanya mendekati bahasa manusia.
Pemrograman DELPHI menyediakan dua model pemrograman yaitu
pemrograman konsol dan pemrograman visual.
Untuk praktek Pemanfaatan DELPHI saat ini diarahkan pada
penggunaan aplikasi konsol (console aplication). Bertujuan agar
mahasiswa mampu menerapkan algoritma yang sudah dipelajari
sebelumnya dan sebagai alat pembuktian kebenaran susunan instruksi
logika algoritmanya.

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.

Struktur Bagan Pascal/Delphi


1) Bagian Judul Program
2) Bagian Deklarasi
 Deklarasi Unit TPU {$APPTYPE CONSOLE} Uses SysUtils;
 Deklarasi tipe data (TYPE)
 Deklarasi variabel (VAR)
 Deklarasi konstanta (CONST)
 Deklarasi label (LABEL)
 Deklarasi sub-program (PROCEDURE dan FUNCTION)
3) Bagian Program Utama
Berisikan baris –baris perintah (IPO).
1
Page
Kasus -1:
Buat algoritma dan program delphi yang dapat membaca 2 buah bilangan, dapat
menentukan dan mencetak bilangan terbesar dari 2 buah bilangan tersebut. Kedua
bilangan tidak boleh sama.
Pemecahan masalah
1. Input ada 2 buah bilangan (mis: X,Y)
2. Proses
a) Baca data : bilangan X, Y
b) Bandingkan jika X>Y maka cetak keterangan X>Y jika tidak maka
cetak Y>X
3. Output : Keterangan bilangan terbesar dari 2 buah bilangan tersebut.
4. selesai

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.

Mengolah Program Delphi


1. Pastikan Anda sudah menginstal DELPHI
2. Siapkan folder untuk menyimpan data program agar tidak
tersebar dan dapat dengan mudah dalam pencarian program
selanjutnya.
3. Saat Anda menggunakan Delphi 2010 maka pilih File New,
other kemudian tampil kotak dialog New Items, pilih Delphi
Project dan item Console Aplication
4. Ketiklah program berikut ini :Program Latih-1.docx
5. Setelah itu simpanlah program dengan langkah berikut ini : pilih
Save As, pilih folder data Anda kemudian nama Latih-1 dan pilih
save.
6. Lakukan Compile untuk memastikan baris perintah sudah ditulis
dengan benar dengan menekan tombol CTRL+F9
7. Menjalankan program Delphi dengan memilih menu run/F9
8. Mengedit program delphi dengan memilih menu file open nama
2
Page

file Latih-1 klik open (maka program sudah dapat diperbaiki).


Buat Algoritma berbentuk Flowchart dan tulis koding DELPHI dari Mencari
Luas Segitiga.
Algoritma
1. Mulai
2. Deklarasi (menentukan DATA yang digunakan)
Var Luas, Alas, Tinggi : REAL
3. INPUT (DATA yang di cari nilainya menggunakan perintah input)
Alas dan Tinggi
4. PROCESS (menulis Rumus/persamaan)
Luas := (Alas X Tinggi)/2
5. OUTPUT (menulis hasil dari perhitungan menggunakan perintah output)
Hasilnya berupa jumlah LUAS yang diperoleh dari perhitungan.
6. Selesai

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);

{menghitung luas segitiga}


Luas :=(Alas*Tinggi)/2;

{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

 Jika golongan = ‘IV’ maka gaji = 4.500.000


Page
Menggunakan CASE
Buat algoritma untuk mencetak nama-nama hari dalam sepekan. Nama
hari di cetak berdasarkan nomor hari yang diberikan spt : „1‟ maka di cetak
hari „Ahad‟, „Senin‟, „1‟, „Selasa‟, „2‟ dst.
PSEODOCODE
VAR
No_hari : integer ;
Nama_hari : string[6] ;
BEGIN
{baca No hari}
ReadLn (No_Hari) ;
CASE No_Hari OF
1 : Nama_Hari := „Senin‟;
2 : Nama_Hari := „Selasa‟ ;
3 : Nama_Hari := „Rabu‟ ;
4 : Nama_Hari := „Kamis‟ ;
5 : Nama_Hari := „Jum`at‟ ;
6 : Nama_Hari := „Sabtu‟;
7 : Nama_Hari := „Ahad‟;
ENDCASE ;
WRITE (Nama_hari);
END.

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

Contoh penggunaan repeat ...until.


PSEODOCODE
 Deklarasi
Integer Cacah, N, Jum;
 Deskripsi
write („Masukkan Nilai N :‟); read (N);
cacah  1;
Jum  1;
Repeat
Jum  Jum + Cacah ;
cacah  Cacah + 1;
Until (Cacah > N);
write („Hasilnya =„, Jum);

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 BACA; {VARIABEL INPUT SAMA}


Begin
Write ('Nilai Pertama :');Readln (A);
Write ('Nilai Kedua :');Readln (B);
END;

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;

procedure KURANG; {procedure ini menggunakan varibel global}


VAR E:INTEGER;
begin
E:= A-B; READLN;
writeln('Hasil pengurangan (E)=',E:5);
end;
{ modul utama}
begin
BACA;
kali;
jumlah;
KURANG;
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 kali (a,b:byte); {parameter formal}


var
c:byte; {variabel lokal}
begin
c:= a*b;{proses perhitungan}
Writeln('Hasil a x b : ',c);//pencetakan hasil proses
end;

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

Anda mungkin juga menyukai