Pemrograman Dasar
Pengantar Algoritma
PTIIK- UB
Pemodelan Komputer Sederhana
Pengolah Data
(Processor)
(berbasis Aritmatika
dan Logika)
(Keluaran/Output)
COMPUTER TO – COMPUTE + ER
menghitung/mengolah bilangan
mengolah data
Data yg diolah
(Masukan/Input)
Data hasil olahan
Penyimpanan Data (Storage,
e.g. memory)
Algoritma
 Algoritma adalah sekumpulan langkah-langkah terbatas
untuk mencari solusi suatu masalah.
 Diambil dari nama Al Khawarizmi (Al Khawarizmi: On
Calculation with Hindu–Arabic numeral system, 825M).
Disalahpami sebagai Algoritmi (jamak latin dari
Algoritmus), yang akhirnya menjadi Algorithm, metode
kalkulasi.
 Di pemrograman komputer, algoritma diimplementasikan
dalam program komputer, i.e. satu set instruksi atau
langkah-langkah yang dijalankan dengan komputer untuk
menyelesaikan suatu masalah.
3
Tahap Pengembangan Algoritma
4
MASALAH /
IDE
PEMECAHAN SOLUSI /
HASIL
Algoritma Source
Code
Executable
Code
Tahap Pengembangan Algoritma
5
DEFINISI
MASALAH
BUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
Y
T
T
6
DEFINISI
MASALAH
BUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
Masalah:
Tentukan akar-akar dari suatu persamaan kuadrat.
Definisi:
Persamaan kuadrat : ax^2 + bx + c = 0
Data yg diperlukan :
Nilai dari a, b dan c : tipe double
Tahap Pengembangan Algoritma
7
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
Model Matematika :
Rumus ABC
x1 = (-b + sqrt(b^2 - 4ac))/2a
x2 = (-b – sqrt(b^2 - 4ac))/2a
Tahap Pengembangan Algoritma
8
8
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
Start
d = b^2 – 4ac
d < 0
Masukkan a,b,c
x1=(-b+sqrt(d))/2a
x2 =(-b-sqrt(d))/2a
Stop
Y
T
Cetak: x1, x2
Cetak:
“Akar imajiner”
Tahap Pengembangan Algoritma
9
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
Tahap Pengembangan Algoritma
10
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
Tahap Pengembangan Algoritma
11
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
Tahap Pengembangan Algoritma
12
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
Tahap Pengembangan Algoritma
Penyajian Algoritma
 Algoritma dapat diekspresikan dalam bentuk:
 Tulisan, misal: structured english,
pseudocode, notasi lain
 Visual, misal: flow chart, activity diagram
13
 Outline dari sebuah program komputer
 Ditulis dalam bahasa Inggris atau Indonesia
sederhana
 Kata kunci (keyword) digunakan untuk menjelaskan
struktur kendali (misalnya: “jika”, “ulangi”,
“sampai”,”if”,”repeat”, “until”)
14
Pseudocode
Algoritma Menggunakan Kalkulator
Mulai
Nyalakan kalkulator
Kosongkan Kalkulator
Ulangi
Input harga
Tekan tombol Plus (+)
Sampai semua harga diinput
Tampilkan total harga
Matikan kalkulator
Selesai
15
Contoh pseudocode
Algoritma Berangkat Kuliah
Mulai
Bangun dari tempat tidur
Mandi Pagi
Sarapan Pagi
Pergi Ke Kampus
Cari Ruang Kuliah
Masuk kelas untuk Kuliah
Selesai
16
Contoh pseudocode
Algoritma Sarapan Pagi
Mulai
Ambil piring
Masukkan nasi dan lauk dalam piring
Ambil sendok dan garpu
Ulangi
Angkat sendok dan garpu
Ambil nasi dan lauk
Suapkan ke dalam mulut
Taruh sendok dan garpu
Kunyah
Sampai (nasi dan lauk habis) ATAU kekenyangan
Bereskan piring, sendok dan garpu
Selesai
17
Contoh pseudocode
18
Terminator
Proses
Pemilihan
Input/Output
Dokumen
Pengulangan
Arah
Konektor antar
halaman
Konektor
Pemanggilan
Procedure
Flow Chart
19
Start
d = b^2 – 4ac
d < 0
x1=(-b+sqrt(d))/2a
x2 =(-b-sqrt(d))/2a
Stop
Y
T
Masukkan
a,b,c
Cetak x1,x2
Cetak Pesan
“Akar imajiner”
Contoh flow chart
 Mempunyai logika yang tepat untuk memecahkan
masalah.
 Menghasilkan keluaran yang benar dalam waktu yang
singkat.
 Ditulis dengan bahasa baku terstruktur sehingga tidak
menimbulkan arti ganda atau ambigu.
 Ditulis dengan format baku sehingga mudah
diimplementasikan kedalam bahasa pemrograman.
 Semua operasi didefinisikan dengan jelas dan berakhir
sesudah sejumlah langkah.
20
Kriteria algoritma yang baik
1. Buatlah algoritma menggunakan pseudocode dan
flowchart untuk menghitung luas persegi panjang
2. Buatlah algoritma menggunakan pseudocode dan
flowchart untuk mengubah jam dan menit yang diinput
ke dalam satuan detik.
3. Buatlah algoritma menggunakan pseudocode dan
flowchart untuk menghitung luas lingkaran.
4. Buatlah algoritma menggunakan pseudocode dan
flowchart untuk menginput 3 buah bilangan, kemudian
tentukan bilangan terbesar, terkecil dan rata-ratanya
21
Latihan

Dasar Pemrogaman Algoritma