Anda di halaman 1dari 28

Algoritma dan Flowchart

Fery Feriyanto, SE, Ak, CA

Objectives
2

Setelah menyelesaikan bab ini,


anda diharapkan dapat:
Mengerti tentang algoritma.
Membuat algoritma dari suatu permasalahan.
Mengerti tentang flowchart.
Membuat flowchart dari suatu permasalahan.

Tahapan Pembuatan Program


3

Mengerti permasalahan yang akan diselesaikan.

Input layout
Proses-proses
Output layout
Menganalisa penyelesaian masalah.

Membuat algoritma dan flowchart.


Menulis program.
Melakukan testing program selesai.
Membuat dokumentasi

Algoritma
Asal kata Algoritma
berasal dari nama
Abu Jafar
Mohammed Ibn
Musa al-Khowarizmi
Ilmuan Persia yang
menulis kitab al
jabr wal-muqabala
(rules of restoration
and reduction)
Tahun 825 M
Berasal dari Iran
4

Definisi Algoritma
5

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)

Alur pemikiran dalam menyelesaikan suatu pekerjaan yang

dituangkan secara tertulis.

Alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari


algoritma orang lain.
Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu.
(Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh
Moh Sjukani hal 1)

Contoh
Algoritm
a
dalam
kehidup
an
seharihari

Algoritma dalam bidang Komputer


7

Dalam bidang komputer, algoritma sangat diperlukan

dalam menyelesaikan berbagai masalah


pemrograman, terutama dalam komputasi numeris.
Tanpa algoritma yang dirancang baik maka proses
pemrograman akan menjadi salah, rusak, atau lambat
dan tidak efisien

Manusia - Komputer
8

Pelaksana algoritma adalah Komputer.


Manusia dan komputer berkomunikasi dengan cara:

manusia memberikan perintah-perintah kepada komputer


berupa instruksi-instruksi yang disebut program.
Alat yang digunakan untuk membuat program tersebut
adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++,
Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan
masih banyak bahasa lainnya. Dari berbagai bahasa
pemrograman cara memberikan instruksinya berbeda-beda
namun bertujuan menghasilkan output yang sama

Berdasarkan Platform BP dibagi menjadi


9

Pemrograman Desktop : Pascal, delphi,

VB, Java (J2SE), Fortran dll


Pemrograman Mobile : Java (J2ME),
Flash.
Pemrograman Web : PHP, JSP,
Javascript, XML, HTML, Ajax, CSS dll
Pemrograman Network : Delphi, VD,
JAva, PHP.

Kriteria Algoritma
(Donald E. Knuth)
10

Input: algoritma dapat memiliki nol atau lebih inputan


dari luar.
Output: algoritma harus memiliki minimal satu buah
output keluaran.
Definiteness (pasti): algoritma memiliki instruksiinstruksi yang jelas dan tidak ambigu.
Finiteness (ada batas): algoritma harus memiliki titik
berhenti (stopping role).
Effectiveness (tepat dan efisien): algoritma sebisa
mungkin harus dapat dilaksanakan dan efektif. Contoh
instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Namun ada beberapa program yang memang dirancang untuk


unterminatable: contoh Sistem Operasi

Struktur Algoritma
Bagian Kepala (Header)

memuat nama dan informasi tentang algoritma yang dibuat

Bagian Deklarasi/Definisi Variabel

memuat definisi tentang nama variabel, konstanta, prosedur,


fungsi, tipe data yang digunakan

Bagian Deskripsi/Rincian Langkah

memuat langkah-langkah penyelesaian masalah

Contoh Algoritma
Algoritma Luas Lingkaran

Algoritma Luas Lingkaran

{menghitung luas lingkaran apabila jarijarinya diketahui}

{menghitung luas lingkaran apabila


jari-jarinya diketahui}

Deklarasi
1.Deklarasi phi = 3.14
2.Deklarasi jari-jari, luas;
Deskripsi
3.Input jari-jari
4.Hitung luas = phi * jari-jari * jarijari
5.Cetak luas;

Deklarasi
{Definisi nama tetapan}

const phi = 3.14;


{Definisi nama variabel}

real jari-jari, luas;


Deskripsi
read(jari-jari);
luas = phi * jari-jari * jari-jari
write(luas);

Flowchart
13

Bagan-bagan yang mempunyai arus yang

menggambarkan langkah-langkah penyelesaian


suatu masalah.
Merupakan cara penyajian dari suatu algoritma.
Ada 2 macam Flowchart:
System Flowchart Flowchart yang menggambarkan
prosedur dari sebuah proses pengolahan data.
Program Flowchart urutan instruksi yang
digambarkan dengan symbol tertentu untuk
memecahkan masalah dalam suatu program.

Flow Direction Symbols


14

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

Processing Symbols
15

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

Processing Symbols
16

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

Input / Output Symbols


17

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

Input / Output Symbols


18

Simbol document

Mencetak keluaran dalam bentuk


dokumen (melalui printer)

Simbol display

Mencetak keluaran dalam layar monitor

Contoh System Flowchart


Data jawaban
ujian

19

Koreksi

Daftar Koreksi
Data

Tabel
Siswa

File
utama
ujian

Periksa Ujian

File
siswa
lulus

Laporan Hasil
Ujian

Pembuatan Flowchart
20

Tidak ada kaidah yang baku.


Flowchart = gambaran hasil analisa suatu masalah

Flowchart dapat bervariasi antara satu


pemrogram dengan pemrogram lainnya.
Secara garis besar ada 3 bagian utama:
Input
Proses
Output

Pembuatan Flowchart - continued


21

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.
Sebuah flowchart diawali dari satu titik START
dan diakhiri dengan END.

Contoh Flowchart
22

1. Mulai
2. Buat variabel X dan X2
3. Masukkan nilai X
4. Hitung X2 = X*X
5. Cetak X2
6. Pertanyaan Kondisi :
Hitung Lagi?
7. Jika Ya mengulang langkah 2
8. Jika Tidak selesai

Again Another Example


1. Mulai

Mulai

2. Masukkan nilai A dan B

Input A,B

Y
A>B?
N
Cetak B

Cetak A

3. Pertanyaan seleksi :
apakah A>B
4. Jika Benar Cetak A
5. Jika Salah Cetak B
6. Selesai

Selesai

Again Another Example

Again Another Example

Again Another Example

TUGAS

1. Menjumlahkan 2 buah bilangan dan


mencetak hasilnya
2. Menulis kata ALGORITMA sebanyak 5 kali
3. Menentukan apakah umur yang dimasukkan
termasuk telah tua atau masih muda,
dengan aturan jika umur lebih kecil dari 45
masih muda dan jika umur lebih besar dari
45 sudah tua

Anda mungkin juga menyukai