Belajar memrogram :
belajar tentang metodologi penyelesaian
masalah, kemudian menuangkannya dalam
suatu notasi yang mudah dipahami
Jadi :
* algoritma adalah urutan langkah-langkah
penyelesaian masalah
* program komputer adalah realisasi algoritma
dalam bahasa pemrograman
Menuliskan Algoritma
• Algoritma dapat dituliskan dengan
berbagai cara:
– Teks
• Level kedekatan dengan kode program: mulai dari
teks bebas sampai pseudocode
– Diagram, misal: bagan alir (flowchart)
Contoh Persoalan 1
• Buatlah algoritma untuk menentukan
apakah suatu bilangan bulat positif adalah
bilangan genap atau bilangan gasal.
Contoh Algoritma 1:
Menggunakan Teks Bebas
ALGORITMA:
input (n)
m n mod 2
if m = 0 then output (n, ‘ adalah bilangan genap’)
else { m = 1 } output (n, ‘ adalah bilangan gasal’)
Contoh Algoritma 3:
Menggunakan Flowchart
Kamus: Start A
n : integer > 0
m : integer > 0
input
(n) m=0 Tidak
m = n mod Ya
2 output output
{ Hitung (‘Genap’) (‘Gasal’)
sisa bagi n
dengan 2 }
End
A
Bagan Alir (Flowchart)
• Bagan alir (flowchart): skema grafis untuk
merepresentasikan algoritma
• Kelebihan:
– Bentuk grafis memudahkan interpretasi dan pembacaan
– Relatif mudah dimengerti
– Relatif mudah untuk dibuat
• Kekurangan:
– Tidak ringkas (membutuhkan media penulisan yang relatif besar)
– Untuk algoritma dalam ukuran besar menjadi tidak praktis
– Kurang fleksibel untuk menjelaskan konsep-konsep spesifik
dalam pemrograman
• Misalnya: struktur data (type data tidak terdefinisi eksplisit),
kondisional dengan banyak kasus, dsb.
Simbol Flowchart
SIMBOL NAMA FUNGSI
Terminator Permulaan/akhir
algoritma
Garis alir / flow Arah aliran program
line
Preparation Proses
inisialisasi/pemberi
an harga awal
Proses Proses
perhitungan/proses
pengolahan data
Simbol Flowchart
SIMBOL NAMA FUNGSI
Input/output data Proses input/output
data, parameter,
informasi
Predefined process/ Permulaan sub
subprogram program/proses
menjalankan sub
program
Decision Perbandingan
pernyataan,
penyeleksian data
yang memberikan
pilihan untuk langkah
selanjutnya
Simbol Flowchart
SIMBOL NAMA FUNGSI
On Page Penghubung bagian-bagian
Connector flowchart yang berada pada
satu halaman
Off Page Penghubung bagian-bagian
Connector flowchart yang berada pada
halaman yang berbeda
Dll.
Dari Spesifikasi Masalah ke Flowchart
Contoh Persoalan 2
• Buatlah sebuah algoritma yang membaca
sebuah harga berupa bilangan bulat yang
mewakili pengukuran suhu air (dalam
derajat Celcius) pada tekanan atmosfir dan
menuliskan wujud air pada temperatur dan
tekanan tersebut:
– Jika suhu0 derajat, maka wujud air: beku
– Jika suhu>0 derajat dan 100 derajat, maka
wujud air: cair
– Jika suhu>100 derajat, maka wujud air: uap
Contoh Persoalan 2
Start
Kamus
T : integer {suhu air}
input(T)
T0 T>100
T
0<T100
End
Dari Spesifikasi Masalah ke Flowchart
Contoh Persoalan 3
• Buatlah sebuah algoritma yang membaca
sebuah nilai N yang merupakan integer
positif > 0 dan menuliskan output
1,2,3…,N berderet ke bawah,
• contoh: N = 4
1
2
3
4
Contoh Persoalan Start
3 input(N)
Kamus:
N : integer > 0 {input bilangan}
I : integer > 0 {counter} I=1
output(I)
I=I+1
Tidak
I>N
Ya
End
Latihan
• Buatlah algoritma dalam bentuk flowchart untuk
persoalan-persoalan berikut:
– Menentukan apakah suatu huruf adalah huruf ‘A’ atau bukan.
– Menentukan rangking (urutan) dari 3 buah bilangan bulat yang
berbeda dan menuliskan urutannya secara menaik.
– Menentukan apakah masukan tahun (bilangan bulat positif)
adalah tahun kabisat atau bukan.
• Buatlah algoritma untuk menghitung nilai faktorial dari
masukan sebuah bilangan bulat positif atau 0.
• Buat algoritma untuk menghitung jumlah N suku dari
deret aritmatika berikut: Sn = 3 + 7 + 11 + …… + (4n-1)
• Buat algoritma untuk mencetak pasangan nilai X dan Y di
mana hubungan antara X dan Y memenuhi persamaan Y
= X3 – 2X +1 dan nilai x berubah dari –10 sampai 10.