Anda di halaman 1dari 17
Algoritma Algoritma dan dan Pemrograman Pemrograman Algoritma Algoritma dan dan Flowchart Flowchart Tujuan Tujuan Perkuliahan: Perkuliahan:
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Algoritma
Algoritma dan
dan Flowchart
Flowchart
Tujuan
Tujuan Perkuliahan:
Perkuliahan:
Memahami fungsi
Memahami
fungsi algoritma
algoritma di
di dalam
dalam
pemrograman
pemrograman
Mampu memecahan
Mampu
memecahan suatu
suatu kasus/
kasus/masalah
masalah dalam
dalam
bentuk
bentuk yang
yang runut
runut dan
dan logis
logis
Mampu
Mampu membuat
membuat algoritma
algoritma dalam
dalam bentuk
bentuk
flowchart
flowchart untuk
untuk memecahkan
memecahkan masalah
masalah//kasus
kasus
Algoritma Algoritma dan dan Pemrograman Pemrograman Apa yang Apa yang dimaksud dimaksud dengan dengan algoritma? algoritma?
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Apa yang
Apa
yang dimaksud
dimaksud dengan
dengan algoritma?
algoritma?
Algoritma berasal
Algoritma
berasal dari
dari nama
nama ilmuwan
ilmuwan Islam
Islam bernama
bernama
Abu
Abu Ja’far
Ja’far Muhammad
Muhammad Ibnu
Ibnu Musa
Musa Al
Al--Khuarizmi
Khuarizmi
..
Orang
Orang
barat
barat
membaca
membaca
Al
Al--Khuarizmi
Khuarizmi
menjadi
menjadi
Algorism
Algorism..
IaIa
mengarang
mengarang buku
buku dasar-
dasar-dasar
dasar matematika
matematika yang
yang berjudul
berjudul
Al
Al Jabar Wal--Muqabala
Jabar Wal
Muqabala..
Definisi
Definisi Algoritma
Algoritma
Urutan
Urutan
instruksi
instruksi
atau
atau
langkah-
langkah-langkah
langkah
dalam
dalam
menyelesaikan
menyelesaikan suatu
suatu masalah
masalah
Algoritma
Algoritma disusun
disusun sebelum
sebelum membuat
membuat program
program
Program
Program == Algoritma
Algoritma ++ Bahasa
Bahasa
Algoritma Algoritma dan dan Pemrograman Pemrograman Sifat Sifat Algoritma Algoritma Algoritma Algoritma tidak tidak bergantung bergantung
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Sifat
Sifat Algoritma
Algoritma
Algoritma
Algoritma tidak
tidak bergantung
bergantung pada
pada bahasa
bahasa
pemrograman
pemrograman yang
yang digunakan
digunakan
Notasi algoritma harus mudah diterjemahkan
Notasi algoritma harus mudah diterjemahkan
keke dalam
dalam bahasa
bahasa pemrograman
pemrograman
Apapun
Apapun bahasa
bahasa pemrogramannya,
pemrogramannya, output
output
yang
yang dihasilkan
dihasilkan akan
akan sama
sama jika
jika algoritmanya
algoritmanya
sama
sama
Algoritma Algoritma dan dan Pemrograman Pemrograman Syarat Syarat suatu suatu Algoritma Algoritma Mudah Mudah dimengerti, dimengerti,
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Syarat
Syarat suatu
suatu Algoritma
Algoritma
Mudah
Mudah dimengerti,
dimengerti, siapapun
siapapun yang
yang melihat
melihat akan
akan dapat
dapat
memahami
memahami algoritma
algoritma tersebut
tersebut
Setiap
Setiap langkah
langkah harus
harus jelas
jelas dan
dan pasti,
pasti, tidak
tidak ambiguous
ambiguous
Langkah
Langkah pemecahan
pemecahan masalah
masalah logis
logis dan
dan menghasilkan
menghasilkan
output yang benar
output yang
benar
Jumlah
Jumlah instruksi
instruksi berhingga
berhingga dan
dan tertentu,
tertentu, instruksi
instruksi
algoritma
algoritma harus
harus terminate
terminate // ada
ada output
output akhir.
akhir.
Efektif
Efektif dan
dan efisien,
efisien, membuat
membuat langkah
langkah pemecahan
pemecahan
masalah
masalah yang
yang sependek
sependek mungkin
mungkin
Algoritma Algoritma dan dan Pemrograman Pemrograman Penyajian Penyajian Algoritma Algoritma Algoritma Algoritma dapat dapat disajikan disajikan
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Penyajian
Penyajian Algoritma
Algoritma
Algoritma
Algoritma dapat
dapat disajikan
disajikan dalam
dalam bentuk
bentuk pseudocode
pseudocode
atau
atau flowchart
flowchart
Pseudocode adalah kode
Pseudocode adalah
kode yang
yang mirip
mirip dengan
dengan kode
kode
program dalam bentuk urutan instruksi yang mudah
program dalam bentuk urutan instruksi yang mudah
dipahami
dipahami pembuat
pembuat program.
program. Pseudocode
Pseudocode dapat
dapat dibuat
dibuat
dalam bahasa formal
dalam bahasa
formal (Indonesia/Inggris
(Indonesia/Inggris))
Flowchart adalah gambar
Flowchart adalah
gambar atau
atau bagan
bagan yang
yang
memperlihatkan
memperlihatkan urutan
urutan dan
dan hubungan
hubungan antar
antar proses
proses
beserta pernyataannya
beserta pernyataannya
Algoritma dan Algoritma dan Pemrograman Pemrograman Urutan Urutan dasar dasar pemecahan pemecahan masalah masalah START START,,
Algoritma dan
Algoritma
dan Pemrograman
Pemrograman
Urutan
Urutan dasar
dasar pemecahan
pemecahan masalah
masalah
START
START,, pernyataan
pernyataan awal
awal dalam
dalam pemecahan
pemecahan
masalah
masalah
READ
READ,, pernyataan
pernyataan untuk
untuk membaca
membaca data
data atau
atau
input data
input data
PROSES
PROSES,, berisi
berisi kegiatan
kegiatan yang
yang berkaitan
berkaitan dengan
dengan
pemecahan
pemecahan persoalan
persoalan sesuai
sesuai dengan
dengan data
data yang
yang
dibaca
dibaca
WRITE, berisi pernyataan
WRITE, berisi
pernyataan untuk
untuk merekam
merekam hasil
hasil
kegiatan
kegiatan keke peralatan
peralatan output
output
END
END,, mengakhiri
mengakhiri kegiatan
kegiatan pengolahan
pengolahan
Algoritma Algoritma dan dan Pemrograman Pemrograman Simbol Simbol Flowchart Flowchart
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Simbol
Simbol Flowchart
Flowchart
Algoritma Algoritma dan dan Pemrograman Pemrograman Struktur Struktur Dasar Dasar Algoritma Algoritma Struktur Struktur Sekuensial Sekuensial
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Struktur
Struktur Dasar
Dasar Algoritma
Algoritma
Struktur
Struktur Sekuensial
Sekuensial ((Runut
Runut))
Struktur
Struktur Seleksi
Seleksi ((Pemilihan
Pemilihan))
Struktur Repetition(Pengulangan
Struktur Repetition(
Pengulangan))
Algoritma Algoritma dan dan Pemrograman Pemrograman STRUKTUR SEKUENSIAL STRUKTUR SEKUENSIAL ((Runut Runut)) Pada Pada struktur struktur
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
STRUKTUR SEKUENSIAL
STRUKTUR SEKUENSIAL ((Runut
Runut))
Pada
Pada struktur
struktur sekuensial
sekuensial instruksi
instruksi dikerjakan
dikerjakan secara
secara
berurutan baris
berurutan
baris perbaris
perbaris mulai
mulai dari
dari baris
baris pertama
pertama hingga
hingga
baris
baris terakhir,
terakhir, tanpa
tanpa ada
ada loncatan
loncatan atau
atau perulangan.
perulangan.
Contoh
Contoh :: Menghitung luas persegi panjang
Menghitung luas persegi panjang
Urutan
Urutan Instruksi:
Instruksi:
1)
1) Masukkan
Masukkan panjang
panjang ((p)
p)
2)
2) Masukkan
Masukkan lebar
lebar (( ll ))
3)
3) Hitung
Hitung Luas
Luas (p(p ** ll ))
4)
4) Tulis
Tulis Luas
Luas
Algoritma Algoritma dan dan Pemrograman Pemrograman STRUKTUR SEKUENSIAL STRUKTUR SEKUENSIAL Algoritma Algoritma dalam dalam bentuk bentuk
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
STRUKTUR SEKUENSIAL
STRUKTUR SEKUENSIAL
Algoritma
Algoritma dalam
dalam bentuk
bentuk flowchart
flowchart
Mulai
Mulai
Urutan
Urutan instruksi
instruksi dalam
dalam
Masukan
Masukan
algoritma adalah
algoritma
adalah penting.
penting.
pp
Urutan instruksi
Urutan
instruksi menunjukan
menunjukan
Masukan
Masukan
urutan logika penyelesaian
urutan logika penyelesaian
ll
masalah ..
masalah
Urutan instruksi
Urutan
instruksi yang
yang berbeda
berbeda
Luas
Luas == pp ** ll
mungkin
mungkin tidak
tidak ada
ada pengaruh
pengaruh
terhadap solusi
terhadap
solusi persoalan,
persoalan, tetapi
tetapi
Tulis luas
Tulis
luas
mungkin juga menghasilkan keluaran
mungkin juga menghasilkan keluaran
yang berbeda,
yang
berbeda, tergantung
tergantung pada
pada
masalahnya
masalahnya
Selesai
Selesai
Algoritma Algoritma dan dan Pemrograman Pemrograman STRUKTUR SEKUENSIAL STRUKTUR SEKUENSIAL Contoh Contoh urutan urutan instruksi instruksi
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
STRUKTUR SEKUENSIAL
STRUKTUR SEKUENSIAL
Contoh
Contoh urutan
urutan instruksi
instruksi yang
yang berbeda
berbeda tetapi
tetapi tidak
tidak
mempengaruhi
mempengaruhi hasil
hasil ..
Deklarasi ::
Deklarasi
Deklarasi
Deklarasi ::
A, B, C,
A, B, C, DD :: integer
integer
A, B, C, DD :: integer
A, B, C,
integer
Deskripsi
Deskripsi ::
Deskripsi
Deskripsi ::
1.
1.
read
read (A,
(A, B)
B)
1.
1.
read
read (A,
(A, B)
B)
2.
2.
CC == AA ++ BB
2.
2.
DD == AA ** BB
3.
3.
DD == AA ** BB
3.
3.
CC == AA ++ BB
4.
4.
write
write (C,
(C, D)
D)
4.
4.
write
write (C,
(C, D)
D)
Algoritma Algoritma dan dan Pemrograman Pemrograman STRUKTUR SEKUENSIAL STRUKTUR SEKUENSIAL Tetapi Tetapi jika jika algoritma algoritma
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
STRUKTUR SEKUENSIAL
STRUKTUR SEKUENSIAL
Tetapi
Tetapi jika
jika algoritma
algoritma di
di atas
atas urutan
urutan no.
no. 1,
1, 22 dan
dan 33
diubah (ditukarkan )) maka menghasil keluaran
diubah (ditukarkan
maka menghasil keluaran
yang
yang berbeda
berbeda seperti
seperti berikut
berikut ::
Deklarasi
Deklarasi ::
Deklarasi
Deklarasi ::
A, B, C,
A, B, C, DD :: integer
integer
A, B, C, DD :: integer
A, B, C,
integer
Deskripsi ::
Deskripsi
Deskripsi ::
Deskripsi
1.
1.
read
read (A,
(A, B)
B)
1.
1.
CC == AA ++ BB
2.
2.
CC == AA ++ BB
2.
2.
DD == AA ** BB
3.
3.
DD == AA ** BB
3.
3.
read
read (A,
(A, B)
B)
4.
4.
write
write (C,
(C, D)
D)
4.
4.
write
write (C,
(C, D)
D)
Algoritma Algoritma dan dan Pemrograman Pemrograman STRUKTUR SELEKSI STRUKTUR SELEKSI ((Pemilihan Pemilihan)) Struktur seleksi adalah instruksi
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
STRUKTUR SELEKSI
STRUKTUR SELEKSI ((Pemilihan
Pemilihan))
Struktur seleksi adalah instruksi yang dipakai untu
Struktur seleksi adalah instruksi yang dipakai untukk
memilih satu aksi dari beberapa
memilih satu aksi dari
beberapa kemungkinan
kemungkinan aksi
aksi
berdasarkan suatu syarat
berdasarkan suatu syarat
Bentuk ke-
Bentuk
ke-11 dari
dari pemilihan
pemilihan
Tidak
Tidak
Jika nilai
Jika
nilai
Suatu aksi hanya dilakukan
Suatu aksi hanya dilakukan
>> 6060
bila
bila persyaratan
persyaratan atau
atau kondisi
kondisi
YaYa
tertentu dipenuhi.
tertentu
dipenuhi. Jika
Jika kondisi
kondisi
bernilai benar kerjakan aksi,
bernilai benar kerjakan aksi,
Lulus
Lulus
jika salah tidak ada aksi
jika salah tidak ada aksi
apapun yang
apapun yang dikerjakan.
dikerjakan.
Selesai
Selesai
Algoritma Algoritma dan dan Pemrograman Pemrograman Bentuk Bentuk ke- ke-22 dari dari pemilihan pemilihan Apabila syarat
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Bentuk
Bentuk ke-
ke-22 dari
dari pemilihan
pemilihan
Apabila syarat
Apabila
syarat dipenuhi
dipenuhi maka
maka
aksi
aksi--11 dilaksanakan,
dilaksanakan, bila
bila syarat
syarat
tidak dipenuhi maka aksi-- 22
tidak dipenuhi maka aksi
YaYa
Jika nilai
Jika
nilai
yang dilaksanakan
yang dilaksanakan
Lulus
Lulus
>> 6060
Tidak
Tidak
Tidak
Tidak Lulus
Lulus
Selesai
Selesai
Algoritma dan Algoritma dan Pemrograman Pemrograman STRUKTUR REPETITION STRUKTUR REPETITION ((Perulangan Perulangan)) Perulangan Perulangan adalah adalah
Algoritma dan
Algoritma
dan Pemrograman
Pemrograman
STRUKTUR REPETITION
STRUKTUR REPETITION ((Perulangan
Perulangan))
Perulangan
Perulangan adalah
adalah instruksi
instruksi yang
yang dapat
dapat mengulang
mengulang
sederetan
sederetan instruksi
instruksi secara
secara berulang
berulang--ulang
ulang sesuai
sesuai
persyaratan
persyaratan yang
yang ditetapkan.
ditetapkan.
Dari bentuk pengulangan di
Dari bentuk pengulangan
di
atas instruksi
atas
instruksi akan
akan
SALAH
SALAH
Selama
Selama
dilaksanakan
dilaksanakan berulang
berulang kali
kali
NN << 1010
selama kondisi
selama
kondisi bernilai
bernilai
BENAR
BENAR
BENAR
BENAR ,, jika
jika SALAH
SALAH maka
maka
Instruksi
Instruksi
badan pengulangan tidak
badan pengulangan tidak
akan
akan dilaksanakan
dilaksanakan yang
yang
berarti
berarti pengulangan
pengulangan selesai
selesai
Algoritma Algoritma dan dan Pemrograman Pemrograman Latihan Latihan Buatlah Buatlah algoritma algoritma untuk untuk menyelesaikan menyelesaikan
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Latihan
Latihan
Buatlah
Buatlah algoritma
algoritma untuk
untuk menyelesaikan
menyelesaikan kasus
kasus berikut:
berikut:
1.
1.
Menjumlahkan
Menjumlahkan 22 buah
buah bilangan
bilangan ((A,B
A,B)) dan
dan
mencetak hasilnya
mencetak
hasilnya
2.
2.
Memberikan Memberikan opsi opsi menjumlahkan menjumlahkan dan dan mengalikan mengalikan
22 buah
buah bilangan
bilangan dan
dan menampilkan
menampilkan hasilnya
hasilnya
33
..
MM
eng
eng hit
hit ung uas
ung
ll
uas
dd
anan
kk
ee
lili
lili
ngng
lili
ngng aran yang
kk aran yang
berjari
berjari--jari
jari rr serta
serta menampilkannya
menampilkannya
4.
4.
Menghitung
Menghitung rata-
rata-rata
rata tiga
tiga buah
buah bilangan
bilangan a, b, dan
a, b,
dan
cc serta
serta menampilkannya
menampilkannya
5.
5.
Mengkonversi
Mengkonversi suhu
suhu dari
dari derajat
derajat Celcius
Celcius keke derajat
derajat
Kalvin serta menampilkannya
Kalvin serta
menampilkannya
6.
6.
Mencetak
Mencetak angka
angka 11 sampai
sampai 1010 dengan
dengan metode
metode
perulangan
perulangan
Algoritma Algoritma dan dan Pemrograman Pemrograman Tugas Tugas Buatlah Buatlah Algoritma Algoritma dalam dalam bentuk bentuk
Algoritma
Algoritma dan
dan Pemrograman
Pemrograman
Tugas
Tugas
Buatlah
Buatlah Algoritma
Algoritma dalam
dalam bentuk
bentuk Flowchart
Flowchart untuk
untuk
kasus di
kasus
di bawah
bawah ini
ini
1.
1.
Menampilkan
Menampilkan deret
deret bilangan
bilangan ganjil
ganjil sampai
sampai suku
suku keke-10
-10
2.
2.
Menampilkan
Menampilkan deret
deret aritmatika
aritmatika 2, 4, 6,
2, 4, 6, 8…8… sampai
sampai suku
suku
keke-10 -10
3.
3.
Menampilkan deret geometri 44 1212 3636
Menampilkan deret geometri
,,
,,
,, … sampai suku
… sampai suku
..
keke-10 -10
4.
4.
Menampilkan
Menampilkan deret
deret Fibonaci
Fibonaci 0, 1, 1, 2, 3, 5…. sampai
0, 1, 1, 2, 3, 5…. sampai
suku
suku keke-10
-10
5.
5.
Membuat
Membuat pilihan
pilihan konversi
konversi suhu
suhu dari
dari Celsius
Celsius keke
Fahrenheit,
Fahrenheit, Reamur
Reamur,, dan
dan Kelvin
Kelvin
6.
6.
Menampilkan
Menampilkan hurup
hurup mutu
mutu dari
dari nilai
nilai angka,
angka, AA jika
jika ≥≥≥≥≥≥≥≥ 8080,,
B:
B: 6868 sampai 80, C:
sampai 80, C: 5555 sampai 68, D:
sampai 68, D: 4545 sampai 55, dan
sampai 55, dan
EE ≤≤≤≤≤≤≤≤ 45.
45.