Anda di halaman 1dari 25

Algoritma dan Flowchart

HOW TO THINK

DASAR PEMROGRAMAN
by: Ahmad Syauqi Ahsan
Modified : Dian Syafitri
Khasnur Hidjah
Den Askhari
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.
Sistem Komputer
• Sebuah sistem komputer terdiri dari:
Hardware

3
Sistem Komputer
• Software dapat dikelompokkan menjadi:

Operating Programming Aplication


System Language Program

4
Tahapan Pembuatan Program
5

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
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
6
Definisi Algoritma
7

 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
Algoritma
dalam
kehidupan
sehari-hari

8
Algoritma dalam bidang Komputer
9

 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
10

 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
Tingkat Bhs Pemrograman
11

Bahasa tingkat rendah (mesin) :


Assembler
Bahasa tingkat tinggi (bahasa
manusia)
 Semuabahasa pemrograman selain
assembler
Berdasarkan Platform BP dibagi menjadi
12

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)
13

 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
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 jari- {menghitung luas lingkaran apabila
jarinya diketahui} jari-jarinya diketahui}
Deklarasi Deklarasi
1.Deklarasi phi = 3.14 {Definisi nama tetapan}
2.Deklarasi jari-jari, luas; const phi = 3.14;
{Definisi nama variabel}
Deskripsi
real jari-jari, luas;
3.Input jari-jari
Deskripsi
4.Hitung luas = phi * jari-jari * jari- read(jari-jari);
jari luas = phi * jari-jari * jari-jari
5.Cetak luas; write(luas);
Flowchart
16

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.
SIMBOL FLOWCHART SYSTEM
17


18
Contoh Flowchart System
D ata
jawaban
ujian

K oreks i

D aftar K oreks i File


D ata utama Tabel Sis wa
ujian

Periksa
Ujian

Laporan
File
Hasil
s is wa
Ujian
lulus

19
SIMBOL FLOWCHART PROGRAM

20
Contoh Program Flowchart
Start

Print Judul

READ
Data

Ya
Akhir
End
file ?

Tidak

Ya PRINT
Kode = "P" Nama, Alamat
"Perempuan"

Tidak

21
Pembuatan Flowchart
22

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
23

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
24
START
1. Mulai

Buat variabel
x, x2 = integer
2. Buat variabel X dan X2

3. Masukkan nilai X
Read
x=?
4. Hitung X2 = X*X
x2 = x * x
5. Cetak X2
Write
x2
6. Pertanyaan Kondisi :
Hitung Lagi?

Hitung lagi ? Y
7. Jika Ya  mengulang langkah 2
T
8. Jika Tidak  selesai
END
Again Another Example

Mulai 1. Mulai

2. Masukkan nilai A dan B


Input A,B

3. Pertanyaan seleksi :
Y
apakah A>B
A>B? Cetak A

4. Jika Benar  Cetak A


N

Cetak B 5. Jika Salah  Cetak B

6. Selesai
Selesai

Anda mungkin juga menyukai