Modul ke:
Fakultas
Program Studi
Modulke:
Fakultas
Program Studi
ALGORITMA DAN PEMROGRAMAN
W152100002 (2A1156EA)
PSEUDOCODE DAN FLOWCHART
Sustono, Ir., MT
Letakkan foto Terbaik anda disini
02
ILMU
KOMPUTER
Teknik
Informatika
Pembuka Daftar Pustaka Akhiri Presentasi
2.
< >
MENU AKHIRI
←→
MENU AKHIRI
• ALGORRITMA menyeberangkan pemuda dan bawaannya:
{ sisi A: (P,S,K, Y) sisi B: (-, -, -. -) }
1. Pemuda menyeberangkan kambing dari sisi A ke sisi B.
{ sisi A: ( - , S, - , Y) sisi B: (P, -, K. -) }
2. Pemuda menyeberang sendiri dari B ke A.
{ sisi A: ( P , S , - , Y) sisi B: ( - , - , K, -) }
3. Pemuda menyeberangkan srigala dari sisi A ke sisi B.
{ sisi A: ( - , - , - , Y) sisi B: (P, S, K. -) }
4. Pemuda menyeberangkan kambing dari sisi B ke sisi A.
{ sisi A: ( P , - , K , Y) sisi B: ( - , S , - , - ) }
5. Pemuda menyeberangkan Sayur dari sisi A ke sisi B.
{ sisi A: ( - , - , K , - ) sisi B: ( P , S , - , Y ) }
6. Pemuda menyeberang sendiri dari B ke A.
{ sisi A: ( P , - , K , - ) sisi B: ( - , S , -, Y) }
7. Pemuda menyeberangkan kambing dari sisi A ke sisi B.
{ sisi A: ( - , - , - , -) sisi B: (P , S , K , Y) }
3.
< >
MENU AKHIRI
←→
MENU AKHIRI
Sebuah algoritma merupakan langkah -
langkah logis untuk menyelesaikan suatu
masalah.
Setiap Langkah di dalam algoritma dinyatakan
dalam sebuah pernyataan (Statement) atau
instruksi.
Sebuah pernyataan berisi aksi yang dilakukan.
Struktur Dasar Algoritma
4.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Misalkan di dalam algoritma ada pernyataan
berikut:
Tulis “ Hello , word ”
aksi → menulis pesan “Hello, word ”
Pernyataan 2
kalikan A dengan 2
aksi →
a) mengalikan A dengan 2
b) hasil perkalian disimpan di dalam peubah (variable
A lagi)
Contoh
5.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Pernyataan 3
Jika bulan = ‘januari’ maka tulis ‘Jumlah hari = 31’
aksi → terdiri dari dua aksi :
a) Membandingkan nilai variable bulan →
‘Januari’
b) Tulis pesan ‘Jumlah hari = 31’ jika
perbandingan itu benar
6.
< >
MENU AKHIRI
←→
MENU AKHIRI
Struktur Algoritma
Urutan pelaksanaan instruksi dalam satu
eksekusi program dapat dibedakan menjadi 3
buah struktur ( Runtunan – Pilihan –
Perulangan)
Kontruksi Dasar
7.
< >
MENU AKHIRI
←→
MENU AKHIRI
Terdiri dari satu atau lebih pernyataan ,setiap
pernyataan di tulis dalam satu baris
Pada struktur ini instruksi akan di kerjakan
secara berurutan dari baris atas sampai baris
terakhir program.
Artinya sebuah instruksi dilaksanakan setelah
instruksi sebelumnya selesai dilaksanakan
Urutan instruksi menentukan keadaan akhir
algoritma
Runtutan (sequence)
8.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Bila ada runtunan lima buah pernyataan yang
di lambangkan dengan S1,S2,S3,S4 dan S5 :
S1
S2
S3
S4
S5
Contoh Runtunan
→Mula-mula pemroses melaksanakan pernyataan
S1
→Pernyataan S2 dilaksanakan setelah pernyataan
S1 selesai.
→demikian seterusnya sampai pernyatan S5
dilaksanakan
9.
< >
MENU AKHIRI
←→
MENU AKHIRI
1. Tiap pernyataan akan diekseskusi dalam urutan
yang sama
2. Hasil akhir algoritma ini
a) ember A berisi air dari ember B semula
b) Ember B berisi air dari ember A semula
• Aksi
1. Tiap pernyataan akan diekseskusi dalam urutan
yang sama
2. Hasil akhir algoritma ini
a) ember A berisi air dari ember B semula
b) Ember B berisi air dari ember A semula
Contoh Runtunan Aksi
10.
< >
MENU AKHIRI
←→
MENU AKHIRI
Mempertukarkan nilai dari dua buah peubah
(Variable).Misalkan Variable A berisi nilai 81
dan Variable B berisi nilai 5
Kita akan mempertukarkan nilai A dan B ;
Kalau kita menuliskan Algoritma nya seperti
ini
Masukan nilai A ke dalam B
Masukan nilai B ke dalam A
Maka Hasilnya : A =
B =
Contoh Runtunan
11.
< >
MENU AKHIRI
←→
MENU AKHIRI
Untuk menyelesaikan masalah diatas agar
pertukaran keduanya benar,
Kita memerlukan peubah (Variable ) bantu,
Misalnya Variabel C ,sehingga algoritmanya
menjadi :
1) Masukkan nilai A ke dalam C
2) Masukkan Nilai B ke dalam A
3) Masukkan nilai C ke dalam B
12.
< >
MENU AKHIRI
←→
MENU AKHIRI
SEBELUM PERTUKARAN
81 5
A C B
A C B
5
81 Masukan Nilai A ke dalam C
A C B
5 81
Masukan Nilai B ke dalam A
B
5 81
Masukan Nilai C ke dalam B
13.
< >
MENU AKHIRI
←→
MENU AKHIRI
Pada Algoritma struktur pemilihan (selection)
akan dilakukan tes terhadap satu keadaan
yang hasilnya akan di gunakan untuk eksekusi
instruksi selanjutnya
Sebuah instruksi di kerjakan jika kondisi
tertentu terpenuhi
Bentuk umumnya ;
if Kondisi then
Aksi
Pemilihan (selection)
14.
< >
MENU AKHIRI
←→
MENU AKHIRI
If berarti "jika" dan then artinya "maka“
kondisi adalah persyaratan yang dapat
bernilai benar atau salah;
aksi sesudah kata then hanya dilaksanakan
apabila kondisi bernilai benar,
Sebaliknya, apabila kondisi benilai salah,
maka aksi tidak dilaksanakan
15.
< >
MENU AKHIRI
←→
MENU AKHIRI
if air di dalam ketel mendidih then
matikan api kompor
if x habis dibagi 2 then
tulis bahwa x bilangan genap
1) Struktur pemilihan if - then hanya memberikan satu
pilihan aksi bila kondisi (persyaratan) dipenuhi
(bernilai benar),
2) dan tidak memberi pilihan aksi lain bila kondisi
bernilai salah.
Contoh Selection
16.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Bentuk Umumnya
if kondisi then
Aksi 1
else
Aksi 2
a. else artinya "kalau tidak“
b. Bila kondisi terpenuhi, aksi 1 akan dikerjakan,
c. tetapi kalau tidak (yaitu kondisi salah), aksi 2
yang akan dikerjakan
17.
< >
MENU AKHIRI
←→
MENU AKHIRI
if lampu A nyala then
tekan tombol merah
else
tekan tombol biru
1. Jika lampu A menyala, maka aksi tekan tombol
merah dilakukan,
2. sebaliknya, aksi tekan tombol biru dilakukan bila
lampu A tidak menyala,
Contoh
18.
< >
MENU AKHIRI
←→
MENU AKHIRI
Apabila Pilihan aksinya akan dilakukan lebih
dari 2 buah
if lampu traffic light berwarna merah then
berhenti
else
if lampu traffic light berwarna kuning
then
jalan hati – hati
else
Jalan terus
19.
< >
MENU AKHIRI
←→
MENU AKHIRI
Kelebihan struktur pemilihan terletak pada
kemampuannya yang memungkinkan
pemroses mengikuti jalur aksi yang berbeda
berdasarkan kondisi yang ada,
Tidak setiap baris program akan dikerjakan.
Tanpa struktur pemilihan, kita tidak mungkin
menulis algoritma untuk permasalahan
praktis yang demikian kompleks.
Yang melakukan apakah suatu baris program
atau blok instruksi akan di proses atau tidak.
20.
< >
MENU AKHIRI
←→
MENU AKHIRI
Salah satu kelebihan komputer adalah
kemampuannya untuk mengerjakan pekerjaan yang
sama berulang kali tanpa kenal lelah,
lni berbeda dengan manusia yang cepat lelah bila
mengerjakan pekerjaan yang sama berulang ulang.
Tidak hanya lelah, tetapi juga cepat bosan.
Pengulangan adalah instruksi yang dapat mengulang
sederetan instruksi secara berulang-ulang sesuai
persyaratan yang ditetapkan.
Pengulangan (repeatition)
21.
< >
MENU AKHIRI
←→
MENU AKHIRI
Struktur instruksi perulangan pada dasarnya
terdiri atas:
Kondisi perulangan;
Suatu kondisi yang harus dipenuhi agar perulangan
terjadi.
Badan ( body) perulangan;
Deretan instruksi yang akan di ulang - ulang
pelaksanaannya.
Pencacah (counter);
Suatu variable yang nilainya harus berubah agar
perulangan dapat terjadi dan pada akhirnya membatasi
jumlah perulangan yang dapat dilaksanakan
22.
< >
MENU AKHIRI
←→
MENU AKHIRI
Di dalam algoritma terdapat banyak notasi
pengulangan yang bisa digunakan :
1) for
2) repeat – until dan
3) while
23.
< >
MENU AKHIRI
←→
MENU AKHIRI
Algoritma dapat diprensentasikan dengan tiga
macam cara sebagai berikut :
1) Kalimat deskriptif
2) Flowchart
3) Pseudocode
Beberapa buku teks menyebutkan bahwa kalimat deskriptif
dapat menggunakan bahasa yang dimengerti
Dari kalimat deskriptif ini selanjutnya penyelesaian masalah
dilanjutkan dengan pembuatan algoritma yang merupakan
langkah penyelesaian yang lebih rinci
2.3 Notasi Algoritmik
24.
< >
MENU AKHIRI
←→
MENU AKHIRI
Kalimat deskriptif merupakan langkah awal
dalam pemecahan masalah
Format kalimat deskriptif ini bebas
Contoh : untuk menghitung perhitungan akar
persamaan kuadrat ;
Caranya :
1. Pada persamaan kuadrat yang di berikan,tentukan nilai A,B,
dan C
2. Bagaimana hubungan nilai akar X1 dengan nilai A,B dan C
3. Bagaimana hubungan nilai akar X2 dengan nilai A,B dan C
(1). Kalimat Deskriptif
25.
< >
MENU AKHIRI
←→
MENU AKHIRI
Lalu → akan mengarah ke langkah yang logis,
lalu kalimat akan kita perbaiki menjadi
1. Tentukan nilai A,B,C
2. X₁ = (-B + (B² - 4*A*C))/ 2*A
3. X₂ = (-B – ( B² - 4*A*C))/2*A
Penyusunan kalimat deskriptif diatas :
26.
< >
MENU AKHIRI
←→
MENU AKHIRI
PROGRAM menghitung_akar
Diberikan satu persamaan kuadrat dalam bentuk umum,yaitu A
X₁ + B X₂ + C = 0.akar di hitung akar persaman , yaitu X₁ dan X₂
menggunakan rumus ABC
ALGORITMA
1. Tentukan nilai A,B,C
2. X₁ = (-B + (B² - 4*A*C))/ 2*A
3. X₂ = (-B – ( B² - 4*A*C))/2*A
27.
< >
MENU AKHIRI
←→
MENU AKHIRI
Flowchart atau diagram alir merupakan salah
satu cara mempresentasikan langkah –langkah
logis masalah
Diagram alir atau Flow chart adalah suatu
skema / gambar yang memperlihatkan urutan
instruksi/kegiatan dan hubungannya antara
proses beserta instruksinya
Gambaran ini dinyatakan dengan simbol
(menggambarkan proses tertentu)
Proses digambarkan dengan garis
penghubung
(2) Flowchart
28.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Diagram alir terdiri dari beberapa lambang
yang telah di sepakati di dunia
pemrogramannya.
• Terminal merupakan lambang untuk
mengawali dan menutup satu proses.Ketika
kita akan membuat diagram alir langkah logis
satu pernyelesaian masalah maka terminal
akan mengawali dan menutup langkah-langkah
logis.
• Input-output berfungsi untuk membaca input
dan menampilkan output.
• Proses melambangkan suatu pengolahan data
29.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Decission yaitu suatu perbandingan
antara dua atau lebih nilai
• Connector akan menggambarkan
proses jika dalam pembuatan
diagram alir ternyata harus pindah
ke lain halaman
• Flow lines,menunjukan arah
arus /pekerjaan
30.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Dalam pembuatan flow chart tidak ada rumus atau
patokan yang bersifat mutlak.
• Karena flowchart merupakan gambaran hasil
pemikiran dalam menganalisa suatu masalah dengan
komputer.
• Namun secara garis besar setiap pengolahan selalu
terdiri dari 3 bagian utama, yaitu
1) Input
2) Proses pengolahan dan
3) Output
31.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Flowchart secara umum di tulis dari atas ke
bawah
• Seluruh box/kotak dalam flowchart harus di
sambungkan / di hubungkan dengan tanda
panah
• Semua flowchart dimulai dengan terminal
atau simbol proses
• Simbol Decision mempunyai 2 tanda keluaran :
– Ya untuk kondisi ( True ) dan
– Tidak untuk kondisi (false)
Flowchart Ruler
32.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Untuk mengolah data dengan komputer, urutan dasar
pemecahan suatu masalah :
a) START , berisi instuksi untuk persiapan peralatan yang
diperlukan sebelum menangani pemecahan masalah
b) READ , berisi instruksi kegiatan untuk membaca data dari
suatu peralatan input
c) PROSES, berisi kegiatan yang berkaitan dengan
pemecahan persoalan sesuai dengan data yang di baca.
d) WRITE berisi instruksi untuk merekam hasil kegiatan ke
peralatan output
e) END , mengakhiri kegiatan pengolahan.
33.
< >
MENU AKHIRI
←→
MENU AKHIRI
• ada beberapa anjuran dalam penyusunan flowchart:
a) Hindari pengulangan proses yang tidak perlu dan logika
yang berbelit sehingga jalannya prosesmenjadi singkat.
b) Jalannya proses digambarkan dari atas ke bawah dan
diberikan tanda panah untuk memperjelas.
c) Sebuah flowchart diawali dari satu titik START dan diakhiri
dengan END.
34.
< >
MENU AKHIRI
←→
MENU AKHIRI
Menambahkan 10 dan 20
Algoritma ( ditulis dalam bahasa)
1. Inisialisasi Penjumlahan
= 0 ( proses)
2. Masukan
Angka/bilangan (I/O)
3. Tambahkan dan simpan
hasilnya dalam
penjumlahan ( Proses)
4. Cetak Hasil (I/O)
Contoh Flowchart (1)
mulai
Penjumlahan = 0
Masukan
10,20
Jumlahkan = 10 + 20
Cetak hasil
selesai
35.
< >
MENU AKHIRI
←→
MENU AKHIRI
Temukan Jumlah 5 Angka
Algoritma ( ditulis dalam bahasa)
1. Inisialisasi Penjumlahan =0 dan
pencacah = 0 ( proses)
2. Masukan n (I/O)
3. Cari jumlah + n dan masukkan ke
penjumlahan lalu menghitung
penambahan pencacah dengan 1 (
Proses)
4. Jika Pencacah < 5 (decision)
Jika Ya Lanjut ke langkah 2 jika Tidak
Cetak Hasil Penjumlahan (I/O)
Contoh Flowchart (2)
mulai
Penjumlahan = 0
Pencacah = 0
Masukan n
Jumlahkan = Jumlah + n
Pencacah = Pencacah + 1
Cetak hasil
selesai
< 5
36.
< >
MENU AKHIRI
←→
MENU AKHIRI
Cetak Kata Hello Word 10 kali
Algoritma ( ditulis dalam bahasa)
1.Inisialisasi pencacah = 0 ( proses)
2.Masukan Hello Word (I/O)
3.penambahan pencacah dengan
1 ( Proses)
4.Jika Pencacah < 10 (decision)
Jika Ya Lanjut ke langkah 2 jika
Tidak stop
Contoh Flowchart (3)
mulai
Pencacah = 0
Hello Word
Pencacah = Pencacah + 1
selesai
< 10
37.
< >
MENU AKHIRI
←→
MENU AKHIRI
mulai
Baca nilai
A,B dan C
X₁ = (-B + (B² - 4*A*C))/ 2*A
Cetax X1
dan X2
X₁ = (-B - (B² - 4*A*C))/ 2*A
selesai
38.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Notasi algoritmik yang baik adalah notasi yang
mudah di baca dan mudah pula di translasikan
ke dalam notasi bahasa pemrograman.
• Notasi algoritmik berupa pseudo-code
mempunyai korespondensi dengan notasi
bahasa pemrogram sehingga proses
penerjemahan dari pseudo-code ke kode
program menjadi lebih mudah
(3) Pseudocode
39.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Pseudo-code dibuat untuk menggambarkan
suatu program.
• Pseudecode bukan suatu program komputer
• Pseudocode tidak dimaksudkan untuk
kompilasi
• pseudocode dapat mengggunakan bahasa
alami atau notasi matematika
• Pseudocode adalah sketsa kasar dari program
yang sebenarnya
Sekilas Tentang Pseudocode
40.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Tidak ada aturan baku membuat pseudo-code.
• Tidak seperti bahasa pemrograman yang direpotkan:
• tanda titik koma (semicolon),
• Indeks,
• format keluaran,
• kata – kata khusus
• dan sebagainnya,
• sembarang versi pseudo code dapat di terima asalkan
notasinya bisa dipahami.
• Pseudocode biasanya menggunakan syntak dari
bahasa pemograman yang populer seperti
C,Fortran,Pascal,Java dan lain- lain
Syntak Pseudocode
41.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Bentuk umum pseudocode adalah sebagai
berikut :
PROGRAM Nama program
DEKLARASI
Berisi variable
ALGORITMA
Proses 1
Proses 2
..............
42.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Sebuah pernyataan dalam notasi deskriptif
tulis nilai X dan Y
• maka pseudo-code nya dalam notasi algoritmik
mungkin di tulis sebagai :
write ( X,Y)
• Notasi write berarti nilai x dicetak ke piranti
keluaran,
• Dengan notasi algoritmik, kita tidak terlalu
mempersoalkan format tampilan keluaran,
43.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Bagian Judul
a) Judul adalah bagian yang terdiri atas nama
program dan penjelasan (spesifikasi) tentang
program tersebut
b) Judul diawali dengan kata kunci PROGRAM
dan nama program X
c) Kata PROGRAM ini bukan menyatakan
program bahasa komputer. Ini sedang
menuliskan algoritma untuk program
pemecahan masalah
44.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Bagian Deklarasi
a) Digunakan untuk mengumumkan semua
nama yang di pakai di dalam algoritma
beserta propertinya (misalnya tipe)
a) Konstanta
b) Nama variable
c) Nama tipe
d) Nama fungsi
e) Nama prosedure
b) Semua nama yang di pakai di dalam algoritma
harus dikenali sebelum meraka di gunakan
c) Bagian deklarasi mungkin kosong jika tidak
45.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Bagian Algoritma
• Bagian ini berisi instruksi- intruksi pemecahan
masalah dalam notasi pseudocode
46.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Sebuah pernyataan dalam notasi deskriptif :
Isikan nilai x ke dalam min
Maka pseudo-code nya dalam notasi algoritmik
menjadi :
min ← x
a) Notasi “←“ berarti mengisi (assign) peubah
(variable) min dengan nilai x, translasi notasi “←”
b) bahasa Pascal adalah “ : = ”,
c) bahasa C adalah “ = ”,
jadi Transalasi min ←kedalam masing – masing bahasa
tersebut adalah :
•
47.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Algoritma untuk menulis “Hello ,word”
PROGRAM Hello , word
( Program untuk mencetak “Hello,word”
Masukan : -
Keluaran : string ‘Hello,word’
)
DEKLARASI
(tidak ada)
ALGORITMA :
write (“Hello,word”)
Contoh
48.
< >
MENU AKHIRI
←→
MENU AKHIRI
• Algoritma untuk menghitung akar pangkat
PROGRAM menghitung akar pangkat
• Diberikan satu persamaan kuadrat dalam bentuk umum,yaitu A X₁ + B X₂ +
C = 0.akan di hitung akar persaman , yaitu X₁ dan X₂ menggunakan rumus
ABC . Input A,B,C output X₁ , X₂
DEKLARASI
A,B,C : integer
X₁ , X₂ ; integer
ALGORITMA :
read (A,B,C)
X₁ ← (-B + (B² - 4*A*C))/ 2*A
X₂←(- B – ( B² - 4*A*C))/2*A
Contoh
49.
< >
MENU AKHIRI
←→
MENU AKHIRI
1. Buat algoritmanya untuk mencari bilangan
terbesar dari tiga bilangan acak yang di
inputkan !
2. Buat algoritmanya untuk menukarkan dua
buah data . Mula – mula A bernilai 19 dan b
bernilai 33. Jika nilai kedua variable A dan B di
tukar, A = 33 ; B = 19 !
3. Buat Algoritmanya untuk menghitung rata-
rata dari sejumlah data yang di masukan
melalui keyboard !
Latihan
50.
< >
MENU AKHIRI
←→
MENU AKHIRI
Sebuah algoritma pada hakekatnya berisi sekumpulan instruksi yang
menggambarkan langkah-langkah penyelesaian suatu persolan.
Instruksi adalah perintah untuk melakukan aksi tertentu.
Di dalam bahasa pemrograman, instruksi dinyatakan sebagai pernyataan.
Sebuah algoritma dibangun dari tiga konstruksi dasar, yaitu runtunan
(sequence), pemilihan (selection), dan pengulangan (repeatition).
Sebuah runtunan (sequence) terdiri atas satu atau lebih pernyataan yang
dikerjakan secara berurutan.
Pada penyeleksian (selection), sebuah aksi dikerjakan jika kondisi tertentu
terpenuhi.
Pada pengulangan (repetition), memungkinkan banyak aksi dikerjakan
dengan satu instruksi.
Kesimpulan
51.
Daftar Pustaka
< MENUAKHIRI
← MENU AKHIRI
Harwikarya, Desi Ramayanti, Nur Ani, Dasar Pemrograman 2:Implementasi Menggunakan Java, C++,
Matlab, dan Pascal,Yogyakarta, Andi, 2017
Luciano Manelli, Understanding Algorithms and Flowcharts:Step by Step Explanations of Simple and
Complex Algorithms with Implementation in C, CreateSpace ndependent Publishing Platform, 2015
Bill Lubanovic, Introducing Python: Modern Computing in Simple Packages 2nd Edition, Kindle
Edition, O'Reilly Media; 2edition (November 6, 2019)
Eric Matthes, Python Crash Course, 2nd Edition, No Starch Press, 2016
Sumber Internet :