Anda di halaman 1dari 5

BAB II

NOTASI ALGORITMA
DAN CONTOH PENGGUNAANNYA PADA DATA TUNGGAL

Pendahuluan
Pada bab ini akan dijelaskan 3 notasi algoritma dan contoh penggunaannya pada
beberapa algoritma sederhana. Diharapkan mahasiswa dapat menuliskan algoritma untuk
suatu penyelesaian masalah.

Penyajian
2.1 Notasi Algoritma
Notasi algoritma bukan notasi bahasa pemrograman. Ada beberapa notasi yang
digunakan dalam penulisan algoritma.
1. Notasi I : menyatakan langkah-langkah algoritma dengan kalimat deskriptif.
Algoritma Euclidean
Diberikan dua buah bilangan bulat tak negatif m dan n (m>=n). Carilah FPB dari kedua bilangan
tersebut.
Deskripsi
1. Jika n = 0, maka m adalah jawabannya; stop.Tetapi jika n<>0, lanjutkan ke langkah 2.
2. Bagilah m dengan n, misalkan r adalah sisanya.
3. Ganti nilai m dengan n, dan nilai n dengan r. Ulang kembali ke langkah 1
2.Notasi II :menggunakan diagram alir (flowchart)
Flowchart adalah serangkaian bagan-bagan yang menggambarkan alir program.
Flowchart atau diagram alir memiliki bagan-bagan yang melambangkan fungsi tertentu.
Bagan, nama dan fungsinya seperti yang disajikan pada tabel berikut :

Tabel 2.1 Bagan Flowchart
BAGAN NAMA FUNGSI

TERMINATOR Awal atau akhir program

FLOW Arah aliran program

PREPARATION inisialisasi/pemberian nilai awal

PROCES Proses/pengolahan data

INPUT/OUTPUT
DATA
input/output data

SUB PROGRAM sub program

DECISION Seleksi atau kondisi

ON PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart pada halaman yang sama

OFF PAGE
CONNECTOR
Penghubung bagian-bagian
flowchart pada halaman yang
berbeda

COMMENT
Tempat komentar tentang suatu
proses

Flowchart selalu diawali dan diakhiri oleh bagan terminator. Aliran selalu dari atas ke
bawah, satu demi satu langkah. Tidak ada proses yang dikerjakan bersamaan, semua
dikerjakan satu persatu.
Proses yang dilakukan komputer sebenarnya hanya ada 3 proses: input, proses data
dan output.
Misal Masalah 1: bagaimana menentukan bahwa suatu bilangan itu adalah bilangan
genap atau ganjil?
Input : bilangan bulat.
Proses : menentukan bilangan ganjil atau genap dengan melakukan
pembagian bilangan dengan bilangan 2. Jika sisa pembagian NOL
maka bilangan tersebut genap, sebaliknya ganjil.
Output : Bilangan Ganjil atau Bilangan Genap

Gambaran penyelesaian dengan Flowchart :

















mulai
Masukkan Bilangan Bulat
Bilangan dibagi 2 dengan
operasi sisa bagi
Sisa
bagi=0 ?
Tulis
GENAP
Tulis
GANJIL
Selesai
YA
Tidak
3. Notasi III : menggunakan pseudo-code
Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi,
khususnya Bahasa Pascal dan C.










Contoh algoritma yang lain, misalnya :
1. Menghitung Luas Lingkaran
Algoritma LuasLingkaran
deklarasi
jari2, Luas : real
deskripsi
read(jari2)
Luas314*jari2*jari2
write(Luas)

2. Menghitung selisih waktu
Algoritma SelisihWaktu
{menghitung selisih waktu antara jam1 : menit 1: detik1 dengan jam2: menit2 : detik2}
deklarasi
jam1,menit1, detik1,jam2, menit2,detik2 : integer;
sisa, tdetik2, tdetik1, selisih,sjam, smenit,sdetik : integer;
deskripsi
read(jam1,menit1,detik1)
read(jam2,menit2,detik2)
tdetik1 3600*jam1+60*menit1*detik1
tdetik2 3600*jam2+60*menit2*detik2
selisihtdeti2-tdetik1
Algoritma Euclidean
{Dibaca dua buah bilangan bulat tak negatif m dan n (m>=n). Carilah FPB dari
kedua bilangan tersebut.}
Deklarasi
m,n,r : integer
Deskripsi
read(m,n)
while n<> 0 do
r m mod n
m n
n r
endwhile
write(m)


sjamselisih div 3600
sisa selisih mod 3600
smenitselisih div 60
sdetikselisih mod 60
write(sjam,smenit,sdetik)

Penutup
Latihan soal :
1. Tulislah algoritma menentukan bilangan terbesar dari 3 bilangan bulat A, B, C
menggunakan notasi bahasa alami.
2. Tulislah algoritma mengurutkan dari kecil ke besar 3 bilangan bulat A, B, C menggunakan
notasi diagram alir.
3. Tulislah algoritma menghitung luas segi tiga menggunakan pseudocode.

Anda mungkin juga menyukai