Flowchart
Al Khawarizmi
ahli matematika, astronomi
Definisi Algoritma
Algoritma adalah urutan langkah logis
tertentu untuk memecahkan suatu
masalah.
Urutan langkah logis, yang berarti
algoritma harus mengikuti suatu urutan
tertentu, tidak boleh melompat-lompat.
(Dari Microsoft Press Computer and
Internet Dictionaary 1997, 1998)
Definisi Algoritma (Lanjutan)
Algoritma merupakan kumpulan perintah yang saling
berkaitan untuk menyelesaikan suatu masalah.
Faktor yang dipertimbangkan: Sintaksis, semantik dan
kebenaran logika.
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang
dituangkan secara tertulis.
Alur pikiran, sehingga algoritma seseorang dapat juga
berbeda dari algoritma orang lain.
(Dari Algoritma dan Struktur Data dengan Bahasa Java oleh
C. Ramadhani hal 1)
DEFINISI P ROGRAM
Adalah kumpulan instruksi-instruksi tersendiri yang
biasanya disebut source code yang dibuat oleh
programmer (pembuat program)
Program adalah kumpulan instruksi atau perintah yang
disusun sedemikian rupa sehingga mempunyai urutan
nalar yang tepat untuk menyelesaikan suatu persoalan.
(Menurut P. Insap Santosa)
Instruksi (statement) yang dimaksud adalah syntax
(cara penulisan) sesuai dengan bahasa pemrograman
yang digunakan yang mempunyai komponen-
komponen : Input, Output, Proses, Percabangan dan
Perulangan.
PERBEDAAN ALGORITMA
& PROGRAM
Program adalah kompulan instruksi
komputer
sedangkan metode dan tahapan sistematis
dalam program adalah algoritma
Program ini ditulis dengan menggunakan
bahasa pemrograman.
Jadi bisa kita sebut bahwa program
adalah suatu implementasi dari bahasa
pemrograman
PERBEDAAN ALGORITMA
& PROGRAM (LANJUT)
Beberapa pakar memberi formula bahwa:
program = struktur data + algoritma
Bagaimanapun juga struktur data dan
algoritma berhubungan sangat erat pada
sebuah program
Algoritma yang baik tanpa pemilihan
struktur data yang tepat akan membuat
program menjadi kurang baik, semikian
juga sebaliknya
MENILAI SEBUAH
ALGORITMA
Tingkat kepercayaannya tinggi (realibility). Hasil yang
diperoleh dari proses harus berakurasi tinggi dan benar
Pemrosesan yang efisien (cost rendah).
Sifatnya general. Bukan sesuatu yang hanya untuk
menyelesaikan satu kasus saja, tapi juga untuk kasus lain
yang lebih general
Bisa Dikembangkan (expandable).
Mudah dimengerti.
Portabilitas yang tinggi (Portability). Bisa dengan mudah
diimplementasikan di berbagai platform komputer.
SISTEM KOMPUTER
Bahasa Pemrograman
• Adalah alat untuk membuat program
• Contoh: C, C++, C#,Java, Pascal,
Basic, Perl, PHP, ASP, JHP, Java, dll.
• Perbedaan: cara memberikan instruksi
• Persamaan: bertujuan menghasilkan
output yang sama
Penulisan Algoritma
• Dalam Bahasa Natural (Bahasa Indonesia, Inggris,
dan Bahasa manusia Lainnya)
– Tapi terkadang membingungkan(Ambigoe)
• Menggunakan Flowchart (Diagram Alir)
– Bagus secara visual tapi repot jika
algoritmanya panjang
• Menggunakan Pseudocode
– Sudah lebih dekat ke pemroraman, namun sulit
di mengerti bagi orang yang tidak tahu
pemrograman
Tahapan Pembuatan Program
• Mendefinisikan masalah.
• Menganalisa dan membuat rumusan
pemecahan masalah.
• Desain algoritma dan representasi.
• Pengkodean, uji coba dan dokumentasi.
Menguji Program
15
Flowchart
• Bagan-bagan yang mempunyai arus
• Menggambarkan langkah-langkah
penyelesaian suatu masalah
• Merupakan salah satu cara penyajian
algoritma
16
Tujuan
• Menggambarkan suatu tahapan
penyelesaian masalah
• Secara sederhana, terurai, rapi dan jelas
• Menggunakan simbol-simbol standar
17
Model / Jenis Flowchart
• System Flowchart
• Program Flowchart
18
System Flowchart
• Menggambarkan suatu sistem peralatan
komputer yang digunakan dalam proses
pengolahan data serta hubungan antar
peralatan tersebut
• Tidak digunakan untuk menggambarkan
urutan langkah untuk memecahkan masalah
• Hanya untuk menggambarkan prosedur
dalam sistem yang dibentuk
19
Keyboard
CPU Disket
VDU
20
Program Flowchart
• Menggambarkan urutan logika dari suatu
prosedur pemecahan masalah
• Dua jenis metode penggambaran program
flowchart :
– Conceptual flowchart, menggambarkan alur
pemecahan masalah secara global
– Detail flowchart, menggambarkan alur
pemecahan masalah secara rinci
21
Start
Start
Input “Berapa data” ; N
Jml = 0
Input
For K = 1 to N
23
Flow Direction Symbols
• Simbol connector
– Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang sama
25
Processing Symbols
• Simbol keying operation
– Menyatakan segal jenis operasi yang
diproses dengan menggunakan suatu
mesin yang mempunyai keyboard
• Simbol offline-storage
– Menunjukkan bahwa data dalam simbol
ini akan disimpan ke suatu media tertentu
• Simbol manual input
– Memasukkan data secara manual dengan
menggunakan online keyboard
26
Input / Output Symbols
• Simbol input/output
– Menyatakan proses input atau output tanpa
tergantung jenis peralatannya
• Simbol punched card
– Menyatakan input berasal dari kartu atau output
ditulis ke kartu
• Simbol magnetic tape
– Menyatakan input berasal dari pita magnetis
atau output disimpan ke pita magnetis
• Simbol disk storage
– Menyatakan input berasal dari dari disk atau
output disimpan ke disk
27
Input / Output Symbols
• Simbol document
– Mencetak keluaran dalam bentuk
dokumen (melalui printer)
• Simbol display
– Mencetak keluaran dalam layar
monitor
28
Contoh System Flowchart
Data jawaban
ujian
Koreksi
Daftar Koreksi
Data File Tabel
utama Siswa
ujian
Periksa Ujian
Laporan Hasil
File Ujian
siswa
lulus
29
Kaidah Pembuatan Flowchart
Start
Input
Proses
Output
End
30
Pengolahan data
START
READ
Ya
HABIS ?
Tidak
PROCESS
WRITE
END
31
Menghitung luas persegi panjang
Start
Input panjang
Input lebar
Print Luas
End
32
FLOWCHART PENJUALAN TUNAI
Mulai 1 Menyetorka
n uang
keBank
BAGIAN KASA
Tiap hari
Membubuhka
n cap lunas
FPT pada FPT
6
Pita register kas
2
1
33