Dokumen ini membahas tentang algoritma dan flowchart. Terdapat penjelasan tentang definisi algoritma, contoh algoritma dalam kehidupan sehari-hari dan komputer, jenis proses algoritma, kriteria algoritma, serta penjelasan tentang flowchart dan pseudo code. Mahasiswa diberikan tugas kelompok untuk membuat algoritma dan flowchart dari beberapa permasalahan yang diberikan dan akan dipresentasikan hasilnya.
3. TUJUAN
• Mahasiswa mampu menganalisa,
menentukan atau membuat algoritma untuk
menyelesaikan suatu permasalahan.
• Mahasiswa dapat membuat flowchart
dengan benar
• Mahasiswa mampu mengimplementasikan
algoritma dan flowchart dalam bahasa
pemrograman Pascal.
3
5. Algoritma
• Algoritma adalah urutan langkah logis
tertentu untuk memecahkan suatu masalah.
• Urutan langkah logis mempunyai arti bahwa
algoritma harus mengikuti suatu urutan
tertentu, tidak boleh melompat-lompat.
5
6. Contoh
Algoritma dalam kehidupan nyata:
• jika seorang ingin memasak mie instan, maka
langkah-langkah yang harus dilakukan :
Merebus air hingga mendidih
Memasukkan mie ke dalam air tersebut sambil
diaduk, tunggu hingga 3 menit
Masukkan bumbu ke dalam mangkok
Tuang mie ke dalam mangkok, aduk merata
Mie siap disajikan.
6
7. Algoritma
• Dalam bidang komputer, algoritma sangat
diperlukan untuk menyelesaikan berbagai
masalah pemrograman, terutama dalam
komputasi numeris
• Notasi Algoritma
Kalimat deskriptif
Flowchart
Pseudo-code
7
8. Kriteria Algoritma Menurut Donal E.
Knuth :
Algoritma dapat memiliki nol atau
Input : lebih inputan dari luar
Output : Algoritma harus memiliki minimal
satu output
Definiteness (Pasti) :
Algoritma memiliki instruksi-instruksi yang
jelas dan tidak ambigu
8
9. Kriteria Algoritma Menurut Donal E.
Knuth :
Finiteness (Ada Batas) :
Algoritma harus memiliki titik berhenti
(stopping role)
Effectiveness (Tepat dan Efisien) :
Algoritma sebisa mungkin harus dapat
dilaksanakan dan efektif
A = A+0, A=A*1 Tidak efektif
9
10. Jenis Proses Algoritma
Sequence Process : instruksi dikerjakan secara
sekuensial, berurutan
Selection Process : instruksi dikerjakan jika
memenuhi kriteria tertentu
Iteration Process : instruksi dikerjakan selama
memenuhi suatu kondisi tertentu
10
12. Algoritma
• Dalam Algoritma, tidak dipakai simbol-simbol
/ sintaks dari suatu bahasa pemrograman
tertentu, melainkan bersifat umum dan tidak
tergantung pada suatu bahasa pemrograman
apapun juga.
• Notasi-notasi algoritma dapat digunakan
untuk seluruh bahasa pemrograman
manapun.
12
13. Contoh Algoritma
Menghitung Luas Lingkaran
1. Start
2. Masukkan jari-jari (r)
3. Masukkan phi
4. Hitung Luas = phi x r x r
5. Cetak Luas
6. Stop
13
15. Langkah-langkah dalam Pemrograman
Komputer
• Mendefinisikan masalah
Tentukan masalahnya
Tentukan apa saja yang harus dikerjakan oleh
komputer
Tentukan input dan outputnya
• Menemukan solusi
Jika masalah terlalu kompleks, maka ada
baiknya masalah tersebut dipecah menjadi
modul-modul kecil agar lebih mudah
diselesaikan.
15
16. Langkah-langkah dalam Pemrograman
Komputer
• Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai
dan efisien untuk permasalahan tersebut
• Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah
digunakan, dan lebih baik lagi jika sudah
dikuasai, memiliki tingkat kompatibilitas tinggi
dengan perangkat keras dan platform lainnya.
16
18. Flowchart
• Flowchart adalah bentuk gambar/diagram
yang mempunyai aliran satu atau dua arah
secara sekuensial.
• Flowchart harus bisa merepresentasikan
komponen-komponen dalam bahasa
pemrograman.
18
19. Keterangan Lambang Contoh
Mulai/selesai Mulai
Input/Output
Input r
Memberi nilai awal
Input phi
Proses
Lß phi*r*r
Percabangan
Cetak L
Cetak
Selesai
Aliran Data
19
20. Pseudo code
• Kode atau tanda yang menyerupai (pseudo)
atau merupakan penjelasan cara
menyelesaikan suatu masalah.
• Pseudo-code sering digunakan untuk
menuliskan algoritma.
20
21. Problem: mencari bilangan terbesar dari
dua bilangan yang diinputkan
• Solusi :
1. Algoritma dengan kalimat deskriptif :
a. Start
b. Masukkan bilangan pertama
c. Masukkan bilangan kedua
d. Jika bilangan pertama > bilangan kedua maka
kerjakan langkah e, jika tidak,kerjakan langkah f
e. Tampilkan bilangan pertama
f. Tampilkan bilangan kedua
g. Stop
21
22. • Contoh Algoritma
1. Start
2. Input (a)
3. Input (b)
4. if a > b then kerjakan langkah 5, jika tidak maka ke
langkah 6
5. print a
6. print b
7. Stop
Pseudo-code Kalimat dekriptif
AßA+5 Nilai A ditambah dengan 5
IF A > 10 THEN PRINT A Cetak nilai A bila lebih besar dari
10
IF A > B THEN PRINT A ELSE Dari dua bilangan A dan B, cari
PRINT B bilangan yang terbesar
22
23. Tugas Di Kelas
1. Buatlah Algoritma dan flowchart dari kasus berikut :
Mengkonversi suhu dari Fahrenheit ke Celcius
2. Buatlah algoritma menjalankan sepeda motor
a. bukan matic
b. matic
3. Diketahui dua buah algirotma berikut, yang
menjelaskan tentang sikap yang harus dilakukan bila
menemui traffic-light di jalan raya:
23
24. Tugas Di Kelas
(1) if trafific light menyala then
if lampu merah then
berhenti
else
jalan
(2) if trafific light menyala then
if lampu merah then
berhenti
else
jalan
24
25. Tugas di Kelas
(dikerjakan secara berkelompok)
Buat algoritma dan flowchart dari kasus berikut :
4. Menentukan bilangan terbesar dari tiga bilangan yang di
inputkan (dikerjakan oleh kel 9, kel 14,)
5. Menampilkan 10 bilangan asli yang pertama (dikerjakan kel 7
kel 10)
6. Meng-outputkan N bilangan ganjil yang pertama (misal utk
N=5 maka bilangan tersebut 1 3 5 7 9 ) ( dikerjakan oleh kel
5, kel 11, )
7. Meng-outputkan N bilangan genap yang pertama (misal utk
N=5 maka bilangan tersebut 2 4 6 8 10) (dikerjakan oleh kel
4, kel 6)
25
26. Tugas di Kelas
(dikerjakan secara berkelompok)
Buat algoritma dan flowchart dari kasus berikut :
8. Menghitung rata-rata N bilangan asli ( dikerjakan oleh kel 3,
kel 15)
9. Menghitung jumlah kumulatif N bilangan asli (misal
diinputkan N=5 maka jumlah kumulatifnya adl 1+2+3+4+5=15
(dikerjakan oleh kel 8, kel 12)
10. Menghitung jumlah kumulatif dari dua pangkat semua cacah
dari N, misal diinputkan N=3 maka jumlah kumulatifnya adl
(dikerjakan oleh kel 1, kel 2, kel
13)
26
27. Tugas di Kelas
(dikerjakan secara berkelompok)
Minggu depan dikumpulkan dalam folio
bergaris. Di beri penjelasan lengkap ttg alur dr
flowchart yg kelompok anda buat.
Dari masing2 kelompok akan ditunjuk 2 orang
utk menjelaskan algoritma dan flowchart
masing2.
Jika saat menjelaskan menggunakan bhs Inggris,
akan diberi point lebih utk individu yg
menjelaskan
27