Flowchart

28
Fery Feriyanto, SE, Ak, CA Algoritma dan Flowchart

description

ff

Transcript of Flowchart

Page 1: Flowchart

Fery Feriyanto, SE, Ak, CA

Algoritma dan Flowchart

Page 2: Flowchart

Objectives2

Setelah menyelesaikan bab ini,anda diharapkan dapat: Mengerti tentang algoritma. Membuat algoritma dari suatu

permasalahan. Mengerti tentang flowchart. Membuat flowchart dari suatu

permasalahan.

Page 3: Flowchart

Tahapan Pembuatan Program3

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

Page 4: Flowchart

Algoritma• Asal kata Algoritma

berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi

• Ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction)

• Tahun 825 M • Berasal dari Iran

4

Page 5: Flowchart

Definisi Algoritma5

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)

Page 6: Flowchart

Contoh Algoritma

dalamkehidupansehari-hari

6

Page 7: Flowchart

Algoritma dalam bidang Komputer7

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

Page 8: Flowchart

Manusia - Komputer8

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

Page 9: Flowchart

Berdasarkan Platform BP dibagi menjadi

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.

9

Page 10: Flowchart

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 instruksi-instruksi 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

Page 11: Flowchart

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

Page 12: Flowchart

Contoh Algoritma

Algoritma Luas Lingkaran{menghitung luas lingkaran apabila jari-jarinya diketahui}Deklarasi1.Deklarasi phi = 3.142.Deklarasi jari-jari, luas;Deskripsi3.Input jari-jari4.Hitung luas = phi * jari-jari * jari-jari5.Cetak luas;

Algoritma Luas Lingkaran{menghitung luas lingkaran apabila jari-jarinya diketahui}Deklarasi{Definisi nama tetapan}

const phi = 3.14;{Definisi nama variabel}

real jari-jari, luas;Deskripsi

read(jari-jari);luas = phi * jari-jari * jari-jariwrite(luas);

Page 13: Flowchart

Flowchart13

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.

Page 14: Flowchart

14

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

Page 15: Flowchart

15

Processing Symbols

Simbol process Menyatakan suatu tindakan (proses) yang

dilakukan oleh komputerSimbol 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 awalSimbol terminal

Menyatakan permulaan atau akhir suatu program

Page 16: Flowchart

16

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

Page 17: Flowchart

17

Input / Output Symbols

Simbol input/output Menyatakan proses input atau output

tanpa tergantung jenis peralatannyaSimbol 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

Page 18: Flowchart

18

Input / Output Symbols

Simbol document Mencetak keluaran dalam bentuk

dokumen (melalui printer)

Simbol display Mencetak keluaran dalam layar

monitor

Page 19: Flowchart

19

Contoh System FlowchartData jawaban ujian

Koreksi

Daftar Koreksi Data File

utama ujian

Periksa Ujian

Tabel Siswa

File siswa lulus

Laporan Hasil Ujian

Page 20: Flowchart

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

Page 21: Flowchart

Pembuatan Flowchart - continued21

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.

Page 22: Flowchart

Contoh Flowchart22

Hitung lagi ?

START

END

x2 = x * x

Readx = ?

Writex2

Buat variabelx, x2 = integer

T

Y

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

Page 23: Flowchart

Again Another Example

Cetak B

Mulai

Selesai

Input A,B

A > B ? Cetak AY

N

1. Mulai

2. Masukkan nilai A dan B

3. Pertanyaan seleksi : apakah A>B

4. Jika Benar Cetak A

5. Jika Salah Cetak B

6. Selesai

Page 24: Flowchart

Again Another Example

Page 25: Flowchart

Again Another Example

Page 26: Flowchart

Again Another Example

Page 27: Flowchart
Page 28: Flowchart

T U G A S

1.Menjumlahkan 2 buah bilangan dan mencetak hasilnya

2.Menulis kata “ALGORITMA” sebanyak 5 kali3.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