Modul ke:
Fakultas
Program Studi
Modul ke:
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
< >
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) }
< >
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
< >
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
< >
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
< >
MENU AKHIRI
← →
MENU AKHIRI
 Struktur Algoritma
Urutan pelaksanaan instruksi dalam satu
eksekusi program dapat dibedakan menjadi 3
buah struktur ( Runtunan – Pilihan –
Perulangan)
Kontruksi Dasar
< >
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)
< >
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
< >
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
< >
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
< >
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
< >
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
< >
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)
< >
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
< >
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
< >
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
< >
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
< >
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
< >
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.
< >
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)
< >
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
< >
MENU AKHIRI
← →
MENU AKHIRI
 Di dalam algoritma terdapat banyak notasi
pengulangan yang bisa digunakan :
1) for
2) repeat – until dan
3) while
< >
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
< >
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
< >
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 :
< >
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
< >
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
< >
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
< >
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
< >
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
< >
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
< >
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.
< >
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.
< >
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
< >
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
< >
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
< >
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
< >
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
< >
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
< >
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
< >
MENU AKHIRI
← →
MENU AKHIRI
• Bentuk umum pseudocode adalah sebagai
berikut :
PROGRAM Nama program
DEKLARASI
Berisi variable
ALGORITMA
 Proses 1
 Proses 2
 ..............
< >
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,
< >
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
< >
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
< >
MENU AKHIRI
← →
MENU AKHIRI
• Bagian Algoritma
• Bagian ini berisi instruksi- intruksi pemecahan
masalah dalam notasi pseudocode
< >
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 :
•
< >
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
< >
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
< >
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
< >
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
Daftar Pustaka
< MENU AKHIRI
← 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 :
Terima Kasih
Sustono, Ir., MT

M02 Pembelajaran Algoritma Dan Pemrograman.pptx

  • 1.
    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 :
  • 52.