Anda di halaman 1dari 52

Penyajian Algoritma

 Penyajian algoritma dapat disajikan dengan


menggunakan dua teknik, yaitu dengan
tulisan dan gambar
 Penyajian algoritma dalam bentuk tulisan
biasanya menggunakan metode English
Structure dan Pseudocode, sedangkan
penyajian algoritma dengan teknik gambar
biasanya menggunakan metode Structure
Chart, Hierarchy Plus Input-Process-Output,
Flowchart, dan Nassi Schneiderman Chart.
 English Structure merupakan alat yang cukup
efisien untuk menggambarkan suatu algoritma.
 Basis dari English Structure adalah bahasa
Inggris, tetapi juga dapat menggunakan bahas
Indonesia.
 Bahasa manusia digunakan sebagai dasar
penggambaran suatu algoritma, oleh karena itu
English Structure lebih tepat digunakan untuk
menggambarkan suatu algoritma yang akan
dikomunikasikan kepada pemakai sistem.
 Pseudocode adalah kode yang mirip dengan kode
pemrograman yang sebenarnya.
 Pseudocode berasal dari kata pseudo yang
berarti imitasi atau mirip atau menyerupai, dan
code yang berarti program.
 Pseudocode ditulis berbasiskan bahasa
pemrograman seperti BASIC, PASCAL, atau C,
sehingga lebih tepat digunakan untuk
menggambarkan algoritma yang akan
dikomunikasikan dengan programmer.
 Pseudocode lebih rinci dari English Strucuture,
misalnya dalam menyatakan tipe data yang
digunakan.
 if(Nilai > 80)
 Output ‘A’
 else if(Nilai > 60)
 Output ‘B’
 else if(Nilai > 50)
 Output ‘C’
 else if(Nilai > 30)
 Output ‘D’
 Dalam penulisan English Structure dan
Pseudocode juga dikenal struktur penulisan
program seperti Sequence Structure,
Selection Structure, dan Looping Structure.
 Terdiri dari sebuah instruksi atau blok instruksi
yang tidak mempunyai perulangan atau
keputusan di dalamnya.
 Contoh dalam Bahasa Indonesia (menghitung
luas dan volume dari persegi panjang):
1. Masukkan panjang
2. Masukkan lebar
3. Masukkan tinggi
4. Luas = (2*p*l)+(2*p*t)+(2*l*t)
5. Volume = p*l*t
6. Tampilkan Luas
7. Tampilkan Volume
 Contoh dengan Pseudocode
 Merupakan struktur logika guna mengambil suatu
keputusan. Struktur ini dapat menggunakan instruksi-
seperti IF-THEN atau CASE
 Contoh dalam Bahasa Indonesia (menghitung diskon
pembelian):
1. Inisialisasi variabel.
2. Baca data nilai pembelian.
3. Jika nilai pembelian lebih besar dari Rp. 100.000,
maka dikenakan diskon 10% dari nilai pembelian.
Selain itu maka hanya dikenakan diskon 5% dari nilai
pembelian.
4. Hitung total yaitu nilai pembelian dikurangi diskon.
5. Tampil nilai pembelian, diskon, dan total pembelian.
 Contoh dengan Pseudocode:
 Struktur ini diterapkan pada situasi di mana suatu
instruksi atau grup dari instruksi diproses berulangkali
sampai kondisi yang diinginkan terpenuhi.
 Pada struktur perulangan ini dapat digunakan instruksi
FOR, DO-WHILE.
 Contoh dalam Bahasa Indonesia (menampilkan kalimat
“Bahasa C” sebanyak 5 kali):
1. Inisialisasi variabel
2. Tentukan nilai awal sama dengan 0
3. Untuk nilai lebih kecil dari nilai akhir 5 dimulai dari
nilai awal, ulangilah blok instruksi berikut ini:
- Cetak kalimat “Bahasa C”
- Tambah nilai dengan satu
4. Selesai
 Contoh dengan Pseudocode:
 Beberapa gaya penulisan pada English Structure:
1. Common Style yaitu menggunakan huruf
besar di awal selanjutnya huruf kecil semua.
2. Capitalized Common Style yaitu menggunakan
huruf besar semua
3. Outline Common Style yaitu dengan
menggunakan nomor urut
4. Narative Style yaitu berbentuk uraian
5. Gaya lain yaitu tiap kata kunci ditulis dengan
huruf besar semua.
 Beberapa aturan penulisan Pseudocode:
1. Satu pseudocode satu baris.
2. Pisahkan modul-modul atau kelompok pseudocode
dengan memberikan spasi beberapa baris untuk
mempermudah pembacaan.
3. Pseudocode ditulis dengan huruf kapital, sedangkan
komentar atau variabel dalam huruf kecil.
4. Berikanlah tabulasi yang berbeda untuk penulisan
pseudocode-pseudocode yang berada dalam loop-nya.
5. Lakukan pembatasan jumlah baris pseudocode setiap
modulnya, misalnya 50 – 75 baris pseudocode per
modul, sehingga tidak terlalu panjang.
 Digunakan untuk mendefinisikan dan
mengilustrasikan organisasi dari sistem
secara berjenjang dalam bentuk modul dan
submodul.
 Structure chart juga menunjukkan hubungan
elemen data dan elemen kontrol serta
hubungan antarmodulnya sehingga structure
chart dapat memberikan penjelasan yang
lengkap tentang sistem dipandang dari
elemen data, elemen kontrol, modul dan
hubungan antarmodulnya.
Gambar Nama Keterangan

Module Simbol ini menunjukkan suatu modul

Simbol ini digunakan untuk menghubungkan


Connection
suatu modul dengan modul lainnya

Simbol ini menunjukkan suatu perulangan di


Loop
dalam modul

Simbol ini menunjukkan suatu penyeleksian


Decision
kondisi di dalam modul
Simbol ini menunjukkan suatu data/elemen
yang dikirimkan dari satu modul ke modul
lainnya. Anak panah dengan lingkaran yang
Couple kosong menunjukkan data yang dikirimkan,
sedangkan anak panah dengan lingkaran
padat menunjukkan elemen kontrol yang
dikirimkan
 Di samping simbol-simbol standar tersebut,
pemrogram juga dapat menambahkan bentuk
simbol lain asalkan pemrogram memberikan
penjelasan tentang maksud dari simbol yang
dibuat tersebut dalam bentuk kamus simbol.
Namun demikian sebaiknya pemrogram
menggunakan simbol-simbol standar untuk
menggambarkan struktur sistem tersebut
agar mudah dipahami oleh pemrogram lain.
 Contoh penggunaan simbol-simbol pada
structure chart dalam menggambarkan
struktur suatu sistem

Gambar Keterangan

Luas
Persegi Menunjukkan suatu modul dengan nama “Luas
Panjang
Persegi Panjang”.
 Contoh penggunaan simbol-simbol pada
structure chart dalam menggambarkan
struktur suatu sistem

Gambar Keterangan

A
Modul A memanggil Modul B. Setelah proses
dari modul B selesai, maka proses kembali ke
modul A yang memanggilnya.
B
 Contoh penggunaan simbol-simbol pada
structure chart dalam menggambarkan
struktur suatu sistem

Gambar Keterangan

A
Modul A memanggil Modul B, di mana elemen
Q
P data P dikirimkan. Hasil proses dari modul B
diperoleh elemen hasil pengolahan Q dan
Flags elemen kontrol Flag.

B
 Contoh penggunaan simbol-simbol pada
structure chart dalam menggambarkan
struktur suatu sistem

Gambar Keterangan

Modul A memanggil Modul B bila kondisi yang


diseleksi di modul A terpenuhi.
B C
 Contoh penggunaan simbol-simbol pada
structure chart dalam menggambarkan
struktur suatu sistem

Gambar Keterangan

Proses pengulangan dapat diberi simbol


A panah yang melingkar. Banyaknya
x Total perulangan yang dilakukan secara eksplisit
x
Habis memang tidak tampak pada structure
Total
chart, tetapi ditunjukkan oleh proses pada
Masukkan
Data
Hitung
Total
Tampilkan
hasil modul di mana letak perulangan tersebut
terjadi.
 Structure Chart memiliki dua model
penggambaran sistem, yaitu Transformed-
Centered dan Transaction-Centered
 Structure chart dengan model ini
menggambarkan sistem dalam 3 cabang utama:
1. Cabang Input yang merupakan cabang yang
akan menerima input dan menentukan status
input untuk siap proses.
2. Cabang Proses yang merupakan cabang yang
akan melakukan fungsi utama dari sistem,
yaitu memproses input yang dikirim dari
cabang input.
3. Cabang Output merupakan cabang yang akan
memformat data menjadi output.
Sistem

Input A Proses A Output B


menjadi B

INPUT BRANCH / PROCESS BRANCH OUTPUT BRANCH /


AFFERENT BRANCH TRANSFORM BRANCH EFFERENT BRANCH
CENTRAL TRANSFORM
Proses
Transaksi

Masukkan Analyser
Data tipe Dispatcher
Transaksi Transaksi

Proses Proses Proses


tipe tipe tipe
A B C

Edit Update Edit Update Edit Update


Transaksi file Transaksi File Transaksi File
A P B Q C R

Cetak
Jurnal
 Adalah bentuk penggambaran secara logika
di mana suatu modul berada di dalam modul
yang lainnya. Pada contoh berikut ini, tipe
transaksi dispatch merupakan modul yang
sangat sederhana. Modul tersebut hanya
berisi keputusan ke mana proses akan
diarahkan. Oleh karena itu modul ini dapat
digabungkan pada modul Proses Pesanan.
Proses
Pesanan

Memasukkan Tentukan Dispatch


barang ketersedian tipe
dipesan barang transaksi

Proses Proses Proses sebagian


tidak semua tidak sebagian
dikirim dikirim dikirim

Rekam record Rekam record Rekam record Update record


order khusus barang habis barang dikirim persediaan
 Biasa disingkat HIPO (Hierarchy Plus Input-
Process-Output), merupakan alat
dokumentasi program yang dikembangkan
dan didukung oleh IBM. Tetapi kini HIPO juga
telah digunakan sebagai alat bantu untuk
merancang dan mendokumentasikan siklus
pengembangan sistem.
 HIPO telah dirancang dan dikembangkan secara
khusus untuk menggambarkan suatu struktur
bertingkat guna memahami fungsi dari modul-
modul suatu sistem
 HIPO juga dirancang untuk menggambarkan
modul-modul yang harus diselesaikan oleh
program.
 HIPO tidak dipakai untuk menunjukkan instruksi-
instruksi program yang akan digunakan, di
samping itu HIPO menyediakan penjelasan yang
lengkap dari input yang akan digunakan, proses
yang akan dilakukan serta output yang
diinginkan.
 HIPO menggunakan tiga macam diagram
untuk masing-masing tingkatannya, yaitu
1. Visual table of contents
2. Overview diagrams
3. Detail diagram
Sistem
Perpus

Data Pelayanan Laporan


Entry Sirkulasi Laporan
1.0 2.0 3.0

Karyawan Anggota Pustaka Pinjaman Kembalian Laporan Laporan Laporan


Denda Pustaka Peminjam
1.1 1.2 1.3 2.1 2.2 3.1 3.2 3.3

Tambah Tambah Tambah Tambah Tambah

1.1.1 1.2.1 1.3.1 2.1.1 2.2.1

Edit Edit Edit Edit Edit

1.1.2 1.2.2 1.3.2 2.1.2 2.2.2

Lihat Lihat Lihat Lihat Lihat

1.1.3 1.2.3 1.3.3 2.1.3 2.2.3

Hapus Hapus Hapus Hapus Hapus

1.1.4 1.2.4 1.3.4 2.1.4 2.2.4


 Overview diagram digunakan untuk
menunjukkan secara garis besar hubungan
dari input, proses, dan output, di mana
bagian input menunjukkan item-item data
yang akan digunakan oleh bagian proses
(bagian proses berisi langkah-langkah yang
menggambarkan kerja dari fungsi atau
modul) dan bagian output berisi hasil
pemrosesan data.
INPUT PROSES OUTPUT
Data Memasukkan data - Kartu identitas
Karyawan - Daftar karyawan
- Slip gaji
 Detil diagram berisi elemen-elemen dasar
dari paket yang menggambarkan secara rinci
kerja dari fungsi atau modul
INPUT PROSES OUTPUT
Data Karyawan meliput: - Masukkan data - Kartu Identitas
- NIP - Uji kesamaan data - Daftar Karyawan
- Nama Lengkap - Uji akhir input data - Slip Gaji
- Tempat Lahir - Pemberitahuan kesamaan
- Tanggal Lahir data
- Alamat Lengkap - Pemberitahuan kesalahan
- Golongan data
- Jabatan - Kembali ke menu induk
- Status
- Jumlah Anak
- Gaji Pokok
- Tunjangan
 English Structure (atau Language Structure)
disusun dengan tujuan untuk menggambarkan
tahap-tahap penyelesaian satu masalah dengan
kata-kata (teks). Metode ini memiliki kelemahan,
di mana penyusunan algoritma sangat
dipengaruhi oleh tata bahasa pembuatnya,
sehingga kadang-kadang sulit dipahami oleh
orang lain.
 Oleh karena itu dikembangkan suatu metode
untuk menggambarkan tahap-tahap pemecahan
masalah dengan merepresentasikan simbol-
simbol tertentu yang mudah dimengerti, mudah
digunakan, dan standar. Salah satu metode
penulisan simbol ini adalah Flowchart.
 Merupakan bagan-bagan yang
mempunyai arus yang
menggambarkan langkah-langkah
penyelesaian suatu masalah.
 Merupakan salah satu cara
penyajian dari suatu algoritma.
 Tujuan utama dari penggunaan flowchart
adalah untuk menggambarkan suatu tahapan
penyelesaian masalah secara sederhana,
terurai, rapi, dan jelas dengan menggunakan
simbol-simbol yang standar.
 Tahap penyelesaian masalah yang disajikan
harus jelas, sederhana, efektif, dan tepat.
 Simbol – simbol yang digunakan
dalam flowchart, yaitu
- Flow Direction Symbols (Simbol
penghubung alur)
- Processing Symbols (Simbol
proses).
- Input-output Symbols (Simbol
input-output)
 Simbol – simbol flowchart
 Simbol – simbol flowchart
 Pembuatan flowchart
- Sebuah flowchart diawali dari satu titik START dan
diakhiri dengan END.
- Hindari pengulangan proses yang tidak perlu dan
logika yang berbelit sehingga jalannya proses
menjadi singkat.
- Jalannya proses digambarkan dari atas ke bawah
dan diberikan tanda panah untuk memperjelas.
- Masing – masing simbol sebaiknya menggunakan
suatu kata yang mewakili suatu pekerjaan
- Jika flowchart terpotong yang dikarenakan
keterbatasan tempat maka gunakan simbol
penghubung yang tepat.
 Ada 2 macam Flowchart :
– System Flowchart, yaitu urutan proses
dalam system dengan menunjukkan alat
media input, output serta jenis media
penyimpanan dalam proses pengolahan
data.
– Program Flowchart, yaitu urutan instruksi
yang digambarkan dengan simbol tertentu
untuk memecahkan masalah dalam suatu
program.
 Merupakan diagram alir yang
menggambarkan suatu sistem peralatan
komputer yang digunakan dalam proses
pengolahan data serta hubungan antar
peralatan tersebut.
 Sistem Flowchart tidak digunakan untuk
menggambarkan urutan langkah untuk
memecahkan masalah, tetapi hanya untuk
menggambarkan prosedur dalam sistem yang
dibentuk.
 Dalam menggambarkan flowchart biasanya
digunakan simbol-simbol yang standar,
tetapi pemrogram juga dapat membuat
simbol-simbol sendiri apabila simbol-simbol
yang telah tersedia dirasa masih kurang.
 Dalam kasus ini pemrogram harus
melengkapi gambar flowchart tersebut
dengan kamus simbol untuk menjelaskan arti
dari masing-masing simbol yang digunakan
agar pemrogram lain dapat mengetahui
maksud dari simbol-simbol tersebut.
 Simbol-simbol standar yang diguanakan
untuk menggambarkan sistem flowchart
adalah:

Pita Magnetik Kartu Plong/Keyboard Punched Paper Type On Line Storage/VDU

Input/Output Magnetic Drum Process Magnetic Disc

Off Line Storage Proses Sortir Proses Merge Arus


Keyboard

CPU Disket

VDU
 Merupakan diagram alir yang
menggambarkan urutan logika dari suatu
prosedur pemecahan masalah. Untuk
menggambarkan program flowchart telah
tersedia simbol-simbol standar namun
demikian seperti halnya pada sistem
flowchart, pemrogram dapat menambah
simbol-simbol sendiri asalkan pemrogram
melengkapinya dengan penggambaran
program flowchart dengan kamus simbol .
 Simbol-simbol standar yang digunakan untuk
menggambarkan program flowchart adalah:

Proses Input/Output Keterangan

Pengujian Pemberian Nilai Awal Awal/Akhir Program

Konektor pada satu halaman Konektor pada halaman lain Arah


 Pada penggambaran program flowchart
terdapat dua jenis metode, yaitu conceptual
flowchart, dan detail flowchart.
 Conceptual Flowchart menggambarkan
tentang alur dari suatu pemecahan masalah
secara global.
 Detail Flowchart menggambarkan alur
pemecahan masalah secara rinci.
START

INPUT

PROSES

OUTPUT

STOP
START

INPUT “Berapa data :”; N

Jml = 0

For K = 1 to N

Input Bil

Jml = Jml + Bil

Next K

Print “Jumlah n”; Jml

STOP
 Salah satu cara untuk menggambarkan algoritma
selain dengan flowchart adalah dengan
menggunakan flowchart Nassi-Schneidermen.
 Flowchart Nassi-Schneiderman adalah flowchart
terstruktur yang tidak menggunakan anak panah
sebagai penunjuk proses.
 Pada flowchart Nassi-Schneiderman juga dikenal
tiga macam struktur program, yaitu Struktur
Urut, Struktur Perulangan, dan Struktur
Keputusan.
 Simbol-simbol yang digunakan
Statement 1 While kondisi

Statement 2 Operasi

Statement 3

Case Of

if if

1 2 3
Ya Tidak Ya Tidak

Statement Statement Statement Tanpa State State State


A B A Proses A B C
 Penerapannya
Mulai
Print “Mencari akar persamaan kuadrat”
Print “AX^2+BX+C”
Input “Konstanta A = ”;A
Input “Konstanta B = ”;B
Input “Konstanta C = ”;C
D = B^2-4A*C
D<0

Ya Tidak

D=0
Print “Akar Imaginer” Ya Tidak
X1=(-B+(sqrD))/2A
Print “X1=X2”; X2=(-B-(sqrD))/2A
Print –B/(2*A)
Print “X1= ”; X1
Print “X2= “;X2
Selesai

Anda mungkin juga menyukai