PENGENALAN
ALGORITMA DAN
PEMROGRAMAN
Dasar Pemrograman Komputer
2
Pemecahan Implementasi
Masalah
Contoh
• Ibu Tati Mengupas Kentang
6
Ruang Lingkup
• Apakah kentangnya harus dibeli dulu atau sudah ada di
dapur ?
• Apakah yang dimaksud dengan mengupas kentang untuk
makan malam berarti sampai kentang terhidang?
• Ketika kentangnya terhidang,jadi sup,digoreng atau
direbus saja?
7
Constraint
• Initial State :
Kentang sudah ada di kantong kentang, yang ditaruh di
rak di dapur dimana ibu tati akan mengupasnya
• Final State :
Kentang dalam keadaan terkupas di panci, siap untuk
dimasak dan kantong kentangnya dikembalikan ke rak
lagi
8
Sub-Aksi
• Ambil kantong kentang dari rak
• Ambil panci dari almari
• Kupas kentang
• Kembalikan kantong kentang ke rak
9
Kasus lain
A B A B
Bagaimana Algoritmanya ??
13
Program dan
Bahasa Pemrograman
• Program adalah formulasi sebuah algoritma
dalam bentuk bahasa pemrograman sehingga
siap untuk dijalankan pada mesin komputer
• Bahasa pemrograman adalah bahasa buatan
yang digunakan untuk mengendalikan perilaku
dari sebuah mesin, biasanya berupa mesin
komputer, sehingga dapat digunakan untuk
memberitahu komputer tentang apa yang harus
dilakukan.
15
Piranti Piranti
CPU
Masukan Keluaran
Memori
17
Belajar Memprogram
• belajar bahasa pemrograman
• belajar tentang strategi pemecahan masalah, metodologi
dan sistematika pemecahan masalah kemudian
menuliskannya dalam notasi yang disepakati bersama
• bersifat pemahaman persoalan, analisis dan sintesis
• titik berat : designer program
19
FLOWCHART DAN
PSEUDOCODE
22
Flowchart
• bagan yang menggambarkan urutan instruksi untuk
proses dengan komputer dan hubungan antara suatu
proses dengan proses lainnya dengan menggunakan
simbol
• tidak digunakan untuk menggambarkan urutan langkah
untuk memecahkan masalah, tetapi hanya untuk
menggambarkan prosedur dalam sistem yang dibentuk
Flowchart
Terminator
Input/Output
Proses
Condisional / Decision
24
Flowchart (cont‟)
Preparation
Arrow
Display
25
26
Flowchart (cont‟)
• Keuntungan :
lebih mudah dilihat dan dipahami
• Kelemahan :
jika digunakan untuk menggambarkan proses atau
algoritma untuk skala kasus yang besar, maka akan
dibutuhkan banyak kertas
27
Kasus
• Pemimpin sebuah perusahaan otomotif perlu
menentukan besarnya bonus yang akan
diberikan kepada para pegawainya yang bekerja
sebagai account executive. Jika terdapat
pegawai yang dalam bulan ini telah menjual
mobil lebih dari dua unit, maka akan
mendapatkan bonus sebesar Rp 1.000.000,-
kemudian pegawai yang bisa menjual mobil tepat
dua buah maka, akan mendapatkan bonus Rp
500.000,- namun jika pegawai yang dalam bulan
ini penjualannya kurang dari dua unit maka,
pegawai tersebut tidak mendapatkan bonus.
28
Pseudocode
• Diarahkan untuk menyerupai aturan penulisan bahasa
pemrograman tertentu
29
Pseudocode
Judul
Kamus
Algoritma
30
Judul
• Tidak diawali dengan angka atau karakter lain selain
alphabet
• Tidak terdapat karakter spasi atau karakter selain
alphabet kecuali karakter underscore „_‟ (sebagai
pengganti karakter spasi)
• Mana yang benar ?
• Algoritma berhitung;
• Algoritma konversi suhu;
• Algoritma hitungan_pajak;
• Algoritma 2bilangan;
• Algoritma *kecil;
31
Kamus
• digunakan sebagai tempat untuk mencantumkan variabel,
konstanta, dan record
• Hal-hal yang dideklarasikan pada bagian ini digunakan
sebagai „reservasi‟ alokasi memory untuk penyimpanan
data dan akan digunakan selama program bekerja
32
Algoritma
• digunakan untuk meletakkan semua algoritma atau kode-
kode program
• Diawali dengan „BEGIN‟ dan diakhiri dengan „END‟
33
Pemilihan (Selection)
If kondisi then
aksi
endIf
If kondisi then
aksi1
else
aksi2
endIf
34
Contoh (Pemilihan) :
Pengulangan (Repetition)
for var awal to akhir do
aksi
Endfor
repeat
aksi
until kondisi_stop
while kondisi_ulang do
aksi
endwhile
36
Contoh (Pengulangan) :
For i 1 to 5 do
output(“Algoritma dan Pemrograman”)
EndFor
i1
Repeat
output(“Algoritma dan Pemrograman”)
ii+1
Until (i>5)
i1
While (i<=5) do
output(“Algoritma dan Pemrograman”)
ii+1
endwhile
37
Algoritma Masukkan_nilai
Kamus data
x : integer
BEGIN
x 5 /*panah ke kiri arah masuknya nilai*/
END.
38
Reference
• Rinaldi Munir. “Algoritma dan Pemrograman”
• Inggriani Liem.”Diktat Kuliah Algoritma dan
Pemrograman”. ITB