Asal kata Algoritma
Algorism
atau
Algorithm
berarti
proses menghitung.
Al-Khuwarizmi dalam buku berjudul
Kitab Al Jabar Wal-Muqabala
yang
artinya “Buku pemugaran dan
pengurangan”
(The book of
restoration and reduction
).
ALGORITMA
Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara
sistematis dan logis .
Langkah-langkah dalam Algoritma harus logis
dan harus dapat ditentukan bernilai salah atau
benar.
Algoritma adalah jantung ilmu komputer atau
informatika.
Algoritma tersebut ditulis dalam notasi bahasa
PROGRAM KOMPUTER
Program adalah perwujudan atau
implementasi teknis Algoritma yang ditulis
dalam bahasa pemrogaman tertentu
sehingga dapat dilaksanakan oleh komputer.
Komputer hanyalah salah suatu pemroses.
Pemroses artinya melaksanakan atau
“mengeksekusi” algoritma yang
menjabarkan proses tersebut.
Algoritma harus dinyatakan dalam bentuk
Penulisan algoritma
Ditulis dalam bahasa natural,
misalnya Algoritma untuk
menghitung luas lingkaran:
Step 1: memberi nilai
π
=3,14
Step 2: memasukkan nilai diameter D
Step 3: menghitung luas A=
π
* (D/2)2
Penulisan algoritma
Ditulis dalam bentuk
flowchart
.
: untuk awal/akhir program
: untuk memberikan inialisasi
: untuk input/output
: untuk proses
BELAJAR PEMROGRAMAN
Memprogram: belajar tentang metodologi
pemecahan masalah, kemudian
menuangkannya dalam suatu notasi
tertentu yang mudah dibaca dan dipahami.
Bahasa pemrograman: belajar memakai
suatu bahasa, tata bahasanya,
instruksi-instruksinya, tata cara pengoperasian
compiler-
nya, dan memanfaatkan
Bahasa pemrograman
High level
Pascal dan Visual Pascal (Delphi)
Basic dan Visual Basic
Fortran
Midle level
Bahasa C
Low level
Unsur-unsur dasar PASCAL
Komentar
 dengan tanda (* komentar *) untuk satu baris atau
lebih
 dengan tanda { komentar } untuk satu baris atau
lebih
Variable dan Konstanta
Var
nama_identifier : tipe_variable;
Const
nama_identifier = nilai_konstanta;
Contoh
 Var a: integer {a adalah variable untuk data dengan tipe bilangan bulat}  Const b=10; {b adalah suatu konstanta yang bernilai 10}
Tipe data dalam Pascal
Integer
digunakan untuk bilangan bulat
Real
digunakan untuk bilangan dengan angka desimal
String
digunakan untuk sederetan karakter
Array
operator aritmatik
Operator
Operasi
Tipe Data
Tipe hasil
Contoh
+
penambahan
integer, real
integer, real X + Y
–
pengurangan
integer, real
integer, real Result - 1
*
perkalian
integer, real
integer, real P * InterestRate
/
pembagian
integer, real
real
X / 2
div
Pembagian bulat integer
integer
Total div UnitSize
mod
sisa
integer
integer
Y mod 6
+ (unary)
sign identity
integer, real
integer, real +7
operator relasi
Operator Operasi Tipe Data Tipe hasil Contoh = Sama dengan simple, class, class reference,
interface, string, packed string
Boolean I = Max
<> Tidak sama dengan simple, class, class reference, interface, string, packed string
Boolean X <> Y
< Lebih kecil dari simple, string, packed string, PChar
Boolean X < Y
> Lebih besar dari simple, string, packed string, PChar
Boolean Len > 0
<= Kurang dari sama dengan simple, string, packed string, PChar
Boolean Cnt <= I
>= Lebih dari sama dengan simple, string, packed string, PChar
operator logika
Operator
Operasi
Tipe Data
Tipe hasil
Contoh
not
tidak
integer
integer
not X
and
dan
integer
integer
X and Y
or
atau
integer
integer
X or Y
xor
Exlusive OR
integer
integer
X xor Y
Operator Boolean
Operator Operasi Tipe Data Tipe hasil Contoh not Tidak Boolean Boolean not (C in MySet)
and Dan Boolean Boolean Done and (Total > 0)
or atau Boolean Boolean A or B
xor exclusive OR Boolean Boolean A xor B
operator assigment (:= )
nama_variable:=ekspresi;
contoh
Latihan
Turbo Pascal
Delphi
program Luas_Lingkaran; uses
crt;
var
luas, diameter, radius : real; begin
diameter := 5;
radius := diameter/2; luas := pi * sqr(radius);
writeln('Luas lingkaran: ', luas); readln; end. program Luas_Lingkaran; uses Forms; var
luas, diameter, radius : real; begin
diameter := 5;
radius := diameter/2; luas := pi * sqr(radius);
writeln('Luas lingkaran: ', luas); readln;
program latihan1;
uses
Forms;
var
msk : integer;
begin
write('Berapakah umur Anda? ');
readln(msk);
writeln('Baru ',msk,' tahun, hebat sekali!');
readln;
KONTROL PROGRAM
Struktur IF… THEN
IF <kondisi> THEN
Begin
KONTROL PROGRAM
 Struktur IF… THEN .. ELSE
IF <kondisi> THEN begin
{stetemen yang dijalankan}; end // tanpa titik koma (;)
ELSE IF <kondisi> THEN begin
{statemen 2 yang dijalankan}; end // tanpa titik koma (;)
ELSE begin
program latihan2; uses
Forms;
var
msk : integer; begin
write('Berapakah umur Anda? '); readln(msk);
if (msk<1) or (msk>130) then
writeln('Anda salah memasukkan!') else
writeln('Baru ',msk,' tahun, hebat sekali!'); readln;
KONTROL PROGRAM
 Struktur CASE …OF
Variable_pilih;
CASE <variable_pilih> OF nilai_variable: begin
{statemen 1 yang dijalankan} end;
nilai_variable: begin
{statemen 2 yang dijalankan} end;
else // tanpa titik dua (:)
begin
{statemen 3 yang dijalankan} end;
program latihan3; uses
Forms;
var
msk : char; begin
readln(msk); case msk of
'a' : writeln('Itu adalah huruf a kecil');
'z','Z' : writeln('Itu adalah huruf z kecil atau Z besar') else
writeln('Itu huruf selain a, z atau Z'); end;
PERULANGAN
Struktur REPEAT … UNTIL
Variable_ulang:=nilai_awal;
Repeat
{bagian yang diulang}
program latihan4; uses
Forms;
var
I : char; begin repeat
write('Ketik suatu nilai: '); readln(I);
until (I = 'q') or (I = 'Q'); readln;
PERULANGAN
Struktur WHILE … DO
Variable_ulang:=nilai_awal;
While <kondisi> DO
Begin
{statemen yang diulang}
program latihan5; uses
Forms;
var
I : char; begin I := ‘ ';
while (I <> 'q') do begin
write('Ketik suatu nilai: '); readln(I);
PERULANGAN
Struktur FOR …. TO … DO
For <variable_ulang:=nilai_awal> To <nilai akhir>
Do
Begin
program latihan6; uses
Forms;
var
count : integer;
begin
for count := 1 to 10 do writeln('Hello '); readln end. program latihan6a; uses Forms; var
count : integer;
begin
for count := 10 downto 1 do writeln('Hello ');
Break
program latihan7; uses
Forms; var
I : char; begin I := ' ';
while TRUE do begin
write('Ketik suatu nilai: '); readln(I);
if (I = 'q') or (I = 'Q') then break;
continue
program latihan8; uses
Forms; var
I : char;
count : integer; begin
I := ' ';
for count := 1 to 100 do begin
write('Ketik suatu nilai: '); readln(I);
if (I = 'q') or (I = 'Q') then continue;
writeln('Ini hanya dieksekusi jika anda tidak mengetik q atau Q') end;
Exit
program latihan9; uses
Forms;
var
I : char;
begin repeat
write('Ketik suatu nilai: '); readln(I);
if (I = 'q') then Exit;
until FALSE; readln;
PROCEDURE
program latihan12; uses
Forms;
begin
writeln(' | | '); writeln('---'); writeln(' | | '); writeln('---'); writeln(' | | '); readln; end. program latihan13; uses Forms; procedure CetakVertikal; begin
PROCEDURE – varibel pass
program latihan14; uses
Forms; var
number : integer;
procedure CetakVertikal (BrpKali : integer); var
I : integer; begin
for I := 1 to BrpKali do writeln(' | | '); end;
begin
writeln('Berapa kali garis vertikal ingin dicetak? '); readln(number);
CetakVertikal(number); readln;
PROCEDURE - FUNCTION
program latihan15; uses
Forms;
procedure kwadrat(bilangan : real; var hasil : real); begin
hasil := bilangan * bilangan; end;
var
msk, jwb : real; begin
writeln('Ketik bilangan yang akan dikwadratkan : '); readln(msk);
kwadrat(msk, jwb);
writeln(msk,' dikwadratkan menjadi ', jwb); readln;
FUNCTION
program latihan16; uses
Forms;
function kwadrat(bilangan : real) : real; begin
kwadrat := bilangan * bilangan; end;
var
msk : real; begin
writeln('Ketik bilangan yang akan dikwadratkan : '); readln(msk);
writeln(msk,' dikwadratkan menjadi ', kwadrat(msk)); readln;