Transcript Algoritma

Pemrograman Dasar
Pengantar Algoritma
PTIIK- UB
Pemodelan Komputer Sederhana
COMPUTER
TO – COMPUTE + ER
menghitung/mengolah bilangan
mengolah data
Data yg diolah
Pengolah Data
(Processor)
(Masukan/Input)
(berbasis Aritmatika
dan Logika)
Data hasil olahan
(Keluaran/Output)
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).
Disalahpahami 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
MASALAH /
IDE
Algoritma
PEMECAHAN
Source
Code
SOLUSI /
HASIL
Executable
Code
4
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
COMPILE
Y Sintak Err
T
Executable code:
=> Run
Y Output Err
T
DOKUMEN TASI
5
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
COMPILE
Masalah:
Tentukan akar-akar dari suatu persamaan
kwadrat.
Sintak Err
Definisi:
Persamaan kwadrat : ax^2 + bx + c = 0
Executable code:
=> Run
Data yg diperlukan :
Nilai dari a, b dan c
Output Err
DOKUMEN TASI
6
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
COMPILE
Model Matematika :
Sintak Err
Rumus ABC
x1 = (-b + sqrt(b^2 - 4ac))/2a
Executable code:
=> Run
x2 = (-b – sqrt(b^2 - 4ac))/2a
Output Err
DOKUMEN TASI
7
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
Start
COMPILE
Masukkan a,b,c
Sintak Err
d = b^2 – 4ac
d<0
T
TULIS PROGRAM
Executable code:
=> Run
Y
x1=(-b+sqrt(d))/2a
x2 =(-b-sqrt(d))/2a
Cetak:
“Akar majiner”
Output Err
Cetak: x1, x2
DOKUMEN TASI
Stop
8
Tahap Pengembangan Algoritma
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
9
Tahap Pengembangan Algoritma
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
10
Tahap Pengembangan Algoritma
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
11
Tahap Pengembangan Algoritma
DEFINISI
MASALAH
MEMBUAT
MODEL
RANCANG
ALGORITMA
TULIS PROGRAM
Executable code:
=> Run
Error
DOKUMEN TASI
12
Penyajian Algoritma

Algoritma dapat diekspresikan dalam bentuk:
 Tulisan, misal: structured english,
pseudocode, notasi lain
 Visual, misal: flow chart, activity diagram
13
Pseudocode

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
Contoh 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
Flow Chart
Terminator
Arah
Proses
Konektor
Input/Output
Konektor antar
halaman
Dokumen
Pemanggilan
Procedure
Pemilihan
Pengulangan
18
Contoh flow chart
Start
Masukkan
a,b,c
d = b^2 – 4ac
Y
d<0
T
x1=(-b+sqrt(d))/2a
x2 =(-b-sqrt(d))/2a
Cetak Pesan
“Akar imajiner”
Cetak x1,x2
Stop
19
Kriteria algoritma yang baik

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
Latihan
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