Anda di halaman 1dari 18

Teknik Penyajian Algoritma

Teknik Tulisan
Structure English
Pseudocode

Teknik Gambar
Structure Chart
HIPO
Flowchart
Nassi Schneiderman Chart

Pseudocode

Pseudocode

Kode mirip dengan kode pemrograman yang


sebenarnya.
Arti pseudo: imitasi atau mirip atau menyerupai
Arti code: kode program.
Basis: bahasa pemrograman
Lebih rinci dari structure English,

Dapat menyatakan tipe data yang digunakan

struktur penulisan:

sequence structure
selection structure
looping structure.

Aturan Penulisan
Algoritma

Setiap Algoritma akan selalu terdiri dari


tiga bagian yaitu :
Judul (Header)
Kamus (Deklarasi)
Algoritma (Deskripsi)

Komentar mengenai setiap bagian


dituliskan diantara tanda kurung kurawa
contoh:
{ Komentar }

Judul (header)

adalah bagian teks algoritma yang


digunakan sebagai tempat
mendefinisikan nama dengan
menentukan apakah teks tersebut
adalah program, prosedur, fungsi.
Judul Algoritma
Contoh:

Program
ProgramLuas_Kubus
Luas_Kubus
{{Menghitung
Menghitungluas
luaskubus
kubusuntuk
untukukuran
ukuransisi
sisiyang
yangdibaca
dibacadari
daripiranti
pirantimas
ma
lalu
lalumencetak
mencetakhasilnya
hasilnyakepiranti
kepirantikeluaran}
keluaran}
Spesifikasi Algoritma

Kamus (Deklarasi)

adalah bagian teks algoritma sebagai


tempat untuk mendefinisikan :
Nama
Nama
Nama
Nama
Nama

type
konstanta
variabel
fungsi
prosedur

Kamus (Deklarasi)
Contoh

Kamus
Kamus
{Nama
{Namatype,
type,hanya
hanyauntuk
untuktype
typeyang
yangbukan
bukantype
typedasar}
dasar}
type
jam
:
<hh,mm,ss
:integer>
{yaitu
hh
jam.
type jam : <hh,mm,ss :integer> {yaitu hh jam.mm
mmsebagai
sebagaimenit
menitdan
danss
sssebagai
sebagai
detik}
detik}
{Nama
{Namakonstanta,
konstanta,harus
harusmenyebutkan
menyebutkantype
typedan
dannilai
nilai}}
constant
constant phi
phi: :real
real==3,14159
3,14159
constant
nama
:
string
constant nama : string==Alex
Alex
constant
benar
:
boolean
=
constant benar : boolean =true
true
{Nama
{NamaInformasi,
Informasi,menyebutkan
menyebutkantype}
type}
x,y
:
integer
{suatu
nilai
yang
x,y : integer {suatu nilai yangbertype
bertypebilangan
bilanganbulat}
bulat}
NMax
:
real
{nilai
maksimum
yang
bertype
bilangan
NMax : real
{nilai maksimum yang bertype bilanganreal}
real}
Nama
:
string
{suatu
nilai
yang
merupakan
kumpulan
character}
Nama : string {suatu nilai yang merupakan kumpulan character}
Cari
Cari: :Boolean
Boolean{suatu
{suatunilai
nilailogika}
logika}
{Nama
{Namafungsi,
fungsi,menyebutkan
menyebutkandomain
domaindan
danrange}
range}
function
RealToInt
(x:real)

integer
function RealToInt (x:real) integer
{mengubah
{mengubahharga
hargaxxyang
yangbertype
bertypereal
realmenjadi
menjadiharga
hargaekivalen
ekivalenyang
yangbertype
bertype
integer}
integer}
{Nama
{Namaprosedur,
prosedur,menyebutkan
menyebutkanIS
ISinitial
initialstate,
state,FS
FSfinal
finalstate
statedan
danproses}
proses}
procedure
tukar
(input/output
x,y
:
real)
procedure tukar (input/output x,y : real)
{{ISISxxdan
danyyterdefinisi,
terdefinisi,xx==aadan
danyy==bb

Algoritma (Deskripsi)
adalah bagian inti dari suatu algoritma
yang berisi instruksi atau pemanggilan
aksi yang telah didefinisikan
Komponen algoritma (deskripsi)
berupa :

Instruksi dasar seperti input/output,


assignment
Sequence (runtutan)
Operasi kondisional
Perulangan

Algoritma (Deskripsi)

Contoh

Contoh lengkap:

Algoritma
Algoritma
input
input(c,d)
(c,d) {menerima
{menerimamasukan
masukan22bilangan
bilanganccdan
dand}
d}
ififcc<<ddthen
then{operasi
{operasikondisional}
kondisional}
eeaa++bb {e
{edi
diassignment
assignmentoleh
olehnilai
nilaiaadan
danb}
b}
else
else
eeaabb
output
output(e)
(e) {hasil
{hasilkeluaran
keluaranberupa
berupabilangan
bilangane}
e}

Program
ProgramCetak_string
Cetak_string
{mencetak
{mencetakstring
stringSelamat
SelamatBelajar
BelajarAlgoritma
Algoritmadan
danPemrograman
Pemrogramanke
ke
keluaran}
keluaran}
Kamus
Kamus
{tidak
{tidakada}
ada}
Algoritma
Algoritma
Output
Output(Selamat
(SelamatBelajar
BelajarAlgoritma
Algoritmadan
danPemrograman)
Pemrograman)

Contoh Penulisan Algoritma


Lengkap
Program
ProgramNilai_Maksimal
Nilai_Maksimal
{Menentukan
{Menentukannilai
nilaitertinggi
tertinggiyang
yangdibaca
dibacadari
daripiranti
pirantimasukan
masukandan
danhasilnya
hasilnya
dicetak
dicetak
ke
kepiranti
pirantikeluaran}
keluaran}
Kamus
Kamus
hasil,x,y
hasil,x,y: :integer
integer{hasil
{hasilmerupakan
merupakanvariabel
variabeluntuk
untukmenampung
menampungnilai
nilai
keluaran}
keluaran}
{x,y
{x,yadalah
adalahvariabel
variabeluntuk
untukmenampung
menampungnilai
nilaimasukan}
masukan}
Algoritma
Algoritma
input
{membaca
input(x,y)
(x,y)
{membacanilai
nilaixxdan
danyydari
daripiranti
pirantimasukan}
masukan}
ififxx<<yythen
then {operasi
{operasikondisional}
kondisional}
hasil
{hasil
hasilxx
{hasildi
diassignment
assignmentoleh
olehnila
nilaterbesar}
terbesar}
else
else
hasil
hasilyy
output
output(hasil)
(hasil) {nilai
{nilaididalam
didalamvariabel
variabelhasil
hasildicetak
dicetakke
kepiranti
pirantikeluaran}
keluaran}

Flowchart

Simbol simbol standard flowchart


Awal/Akhir
Program

Pengujian

Input/Output

Proses

Variable/Nilai Awal

Garis Alir

Input/Output

Penghubung
Satu Halaman

proses terdefinisi

Penghubung
Berbeda Halaman

Teknik Penyajian Algoritma


dengan Flow Chart

Sequence Structure (struktur urut)

Instruksi A

Instruksi B

Instruksi C

Teknik Penyajian Algoritma


dengan Flow Chart

Selection Structure (Struktur Seleksi)


IF Selection

A=5
?

Contoh
Contoh C++
C++ syntax:
syntax:

Ya

Tidak

if
if (A==5)
(A==5) {{
instruksi
instruksi C;
C;
}}

Teknik Penyajian Algoritma


dengan Flow Chart

Selection Structure (Struktur Seleksi)


IF ELSE Selection

Tidak

A=5
?

Contoh
Contoh C++
C++ syntax:
syntax:

Ya

if
if (A==5)
(A==5) {{
instruksi
instruksi
}}
else
else {{
instruksi
instruksi
}}

C;
C;
B;
B;

Teknik Penyajian Algoritma


dengan Flow Chart

Selection Structure (Struktur Seleksi)


CASE Selection
Contoh
Contoh C++
C++ Syntax:
Syntax:
w

default

Var
x

switch
switch (var)
(var) {{
case
case w:
w:
instruksi
instruksi
break;
break;
case
case x:
x:
instruksi
instruksi
break;
break;
case
case y:
y:
instruksi
instruksi
break;
break;
default:
default:
instruksi
instruksi
}}

A;
A;
B;
B;
C;
C;
D;
D;

Teknik Penyajian Algoritma


dengan Flow Chart

Looping/Repetition Structure (Struktur


Pengulangan)
Front Check Repetition
Contoh
Contoh C++
C++ syntax:
syntax:

A
Kondisi
?

while
while (kondisi)
(kondisi) {{
instruksi
instruksi A;
A;
}}
instruksi
instruksi B;
B;
Catatan:
-Kondisi berisi nilai true atau false
-Kondisi dapat berupa persamaan relasi
spt: z < 5
z >= 10
dsb

Teknik Penyajian Algoritma


dengan Flow Chart

Looping/Repetition Structure (Struktur


Pengulangan)
Rear Check Repetition
Contoh
Contoh C++
C++ syntax:
syntax:
A

Kondisi
?

do
do {{
instruksi
instruksi A;
A;
}} while
while (kondisi)
(kondisi)
instruksi
instruksi B;
B;
Catatan:
-Kondisi berisi nilai true atau false
-Kondisi dapat berupa persamaan relasi
spt: z < 5
z >= 10
dsb

Teknik Penyajian Algoritma


dengan Flow Chart

Looping/Repetition Structure (Struktur


Pengulangan)
Fixed Repetition
Contoh
Contoh C++
C++ syntax:
syntax:
For x = 0 to 5

x
B

for
for (x=0;x<=5;x++)
(x=0;x<=5;x++) {{
instruksi
instruksi A;
A;
}}
instruksi
instruksi B;
B;

Thanks

See Ya Next Week

Anda mungkin juga menyukai