Anda di halaman 1dari 33

ALGORITMA & PEMROGRAMAN

Flowchart

Disadur dr :NILA FEBY PUSPITASARI


Tujuan

Memahami Logika berpikir Komputer

Memahami prinsip kerja Program
Komputer

Mampu menggambarkan logika jalannya
program secara tertulis dengan algoritma
(pseudo-code) dan dilengkapi dengan
diagram alir (flow-chart) menggunakan
suatu bahasa pemrograman.
Sejarah Algoritma

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

• Langkah-langkah sistematis yag dilakukan:

• Mendefinisikan masalah.
• Menganalisa dan membuat rumusan
pemecahan masalah.
• Desain algoritma dan representasi.
• Pengkodean, uji coba dan dokumentasi.
Menguji Program

• Terdapat 2 tipe kesalahan (error) yang akan dihadapi


programmer.
• Compile time errors / syntax errors.
• Runtime errors.
• Buat dokumentasi program, ini dilakukan untuk memudahkan
dalam memeriksa suatu kesalahan program ataupun memahami
jalannya program. Dokumentasi berisi informasi mulai dari
tujuan dan fungsi program, algoritma,serta cara penggunaannya.
Flowchart (Diagram Alur)

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

Contoh penggunaan system flowchart

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

Proses Input Bil

Jml = Jml + Bil


Output
Next K

Print “Jumlah = “; Jml


End
End
22
Simbol-simbol Flowchart
• Flow direction symbols
– Digunakan untuk menghubungkan simbol satu dengan
yang lain
– Disebut juga connecting line
• Processing symbols
– Menunjukan jenis operasi pengolahan dalam suatu
proses / prosedur
• Input / Output symbols
– Menunjukkan jenis peralatan yang digunakan sebagai
media input atau output

23
Flow Direction Symbols

• Simbol arus / flow


– Menyatakan jalannya arus suatu proses

• Simbol communication link


– Menyatakan transmisi data dari satu lokasi ke lokasi lain

• Simbol connector
– Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang sama

• Simbol offline connector


– Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang berbeda
24
Processing Symbols
• Simbol process
– Menyatakan suatu tindakan (proses) yang dilakukan
oleh komputer
• Simbol manual
– Menyatakan suatu tindakan (proses) yang tidak
dilakukan oleh komputer
• Simbol decision
– Menujukkan suatu kondisi tertentu yang akan
menghasilkan dua kemungkinan jawaban : ya / tidak
• Simbol predefined process
– Menyatakan penyediaan tempat penyimpanan suatu
pengolahan untuk memberi harga awal
• Simbol terminal
– Menyatakan permulaan atau akhir suatu program

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

Luas  panjang * lebar

Print Luas

End

32
FLOWCHART PENJUALAN TUNAI
Mulai 1 Menyetorka
n uang
keBank

BAGIAN KASA
Tiap hari

BAGIAN ORDER PENJUALAN


Meneri
ma order
FPT
dari Bukti Setor
pembeli

Mengi Menerima uang


dan
si FPT
mengoperasika
n register kas 6

Membubuhka
n cap lunas
FPT pada FPT

6
Pita register kas

Bersamaan dengan FPT


penyerahan barang ke 1
bagian
pembungkusan

2
1

Diserahkan kpd Diserahkan kepada


pembeli untuk pembeli untuk
pembayaran dibagian pengambilan barang
kasa
2

33

Anda mungkin juga menyukai