Week 02 Representasi Dan Flowchart
Week 02 Representasi Dan Flowchart
Representasi
Algoritma:
Flowchart
ISA 105 Algoritma dan Pemrograman
Sofia Umaroh, S.Pd., M.T
SOFIA UMAROH
1 Representasi Algoritma
Agenda
Hari Ini 2 Pseudocode dan Flowchart
4 Contoh Implementasi
5 Struktur Algoritma
SOFIA UMAROH
Representasi
Algoritma
SOFIA UMAROH
Membutuhkan Complie
representasi algoritma
yang dipahami oleh
Solusi dalam semua programmer
Kode Program Problem solved!
bahasa manusia
(algoritma dan
logika)
Membuat
kode
Output program
dapat diakses
Programmer
user
SOFIA UMAROH
Algoritma
1 3
Tunjukkan logika bagaimana masalah
diselesaikan - bukan bagaimana
implementasinya. Deskriptif Flowchart
Tidak ada aturan baku dalam menuliskan
algoritma, yang penting mudah dibaca dan
menggunakan bahasa yang mudah dipahami.
Meskipun demikian untuk menghindari 2
kekeliruan, ketaatan terhadap notasi perlu
diperhatikan.
Pseudocode
SOFIA UMAROH
Bentuk pertama
Deskriptif &
Pseudocode
SOFIA UMAROH
Deskriptif 1
Judul (header): nama algoritma
dan penjelasan (spesifikasi)
tentang algoritma tersebut
Menuliskan instruksi-instuksi yang harus
Deklarasi (kamus): mendefinisikan
dilaksanakan dalam bentuk untaian kalimat 2
deskriptif dengan menggunakan bahasa semua nama (input/ output) yang
yang jelas. dipakai di dalam algoritma.
Cocok untuk algoritma yang pendek. Deskripsi: berisi uraian langkah-
3
Untuk masalah algoritma yang panjang, langkah penyelesaian masalah.
notasi ini kurang efektif.
SOFIA UMAROH
1. Kalimat Deskriptif
Algoritma Menghitung Luas Lingkaran menggunakan
Kalimat Deskriptif
Algoritma Luas Lingkaran
Deklarasi kamus:
jari_jari = real {input, tipe data bilangan pecahan}
Deklarasi
luas = real {output, tipe data bilangan pecahan}
PHI = 3.14 {konstanta}
Deskripsi:
1. Masukan nilai jari-jari lingkaran
2. setelah memiliki nilai jari-jari dan phi maka berikutnya hitung luas lingkaran.
Deskripsi
3. luas <- PHI * jari_jari * jari_jari
4. Cetak nilai luas
5. Selesai
SOFIA UMAROH
Bentuk ketiga
Flowchart
SOFIA UMAROH
2. Flowchart
Flowchart secara visual (gambar atau bagan)
yang menyajikan urutan atau langkah-langkah
dari suatu program dan hubungan antar
proses beserta pernyataannya.
Flowchart dapat digunakan untuk mewakili
suatu algoritma
Mengan melihat Flowchart, dapat diketahui
operasi-operasi yang dilakukan dan urutan
operasi-operasi dalam suatu sistem.
SOFIA UMAROH
Simbol Flowchart
Berikut simbol dasar yang biasa digunakan dalam menggambarkan flowchart, yaitu:
Simbol Flowchart
Berikut simbol dasar yang biasa digunakan dalam menggambarkan flowchart, yaitu:
Simbol Decision
Simbol pengambilan keputusan hanya memiliki Dalam melakukan pengujian kondisi,
satu buah input dan 2 buah output terdapat beberapa notasi relasional
Dalam mengambil keputusan, kita perlu sebagai berikut:
mengetahui kondisi yang sedang dihadapi.
Hasil pengujian kondisi adalah "yes" atau "no", Notasi Ketarangan
atau "true" atau "false" > Lebih dari
Jika kondisi benar, maka lakukan proses di < Kurang dari
cabang "yes", jika salah maka cabang "no" >= Lebih dari sama dengan
<= Kurang dari sama dengan
<> Tidak sama dengan
no yes
i <= 6?
SOFIA UMAROH
Simbol Decision
Beberapa keputusan membutuhkan lebih dari 1 kondisi Operasi aljabar boolean AND, OR,
Kondisi lebih dari satu membutuhkan operator logika: NOT pada dua variabel:
AND atau OR
X Y X AND Y X OR Y
Misalnya dalam memutuskan suatu bilangan apakah
T T T T
positif genap atau bukan.
Syarat bilangan positif genap: T F F T
write(bukan genap
positif)
write(genap positif)
End
SOFIA UMAROH
Aturan Menggambar
Flowchart
Semua simbol terhubung dengan Konektor digunakan untuk
1 5
panah menghubungkan flowchart yang terputus.
Contoh Flowchart
Flowchart berangkat ke kampus Start
Pseudocode
cek waktu
Algoritma berangkatKuliah (Judul Algoritma)
Judul {Menentukan cara berangkat ke kampus
berdasarkan waktu}
belum no
naik subway
jam 7?
Deklarasi kamus:
Deklarasi yes
jam {input}
naik bus
Deskripsi:
1. start
2. cek waktu (input)
3. Jika belum jam 7 maka naik bus Sampai kampus
Deskripsi
4. Jika tidak maka naik subway
5. Sampai di kampus
6. selesai End
SOFIA UMAROH
Contoh Flowchart
Flowchart Menghitung Luas Lingkaran berdasarkan Pseudocode
Start
Pseudocode
jari2,luas: real
Algoritma Luas_Lingkaran (Judul Algoritma)
{Menghitung luas lingkaran untuk ukuran jari-jari
Judul tertentu. Algoritma menerima masukan jari-jari
lingkaran, menghitung luasnya, lalu cetak luasnya ke
piranti keluaran}
read(jari2)
Deklarasi kamus:
jari2 : real {var input, tipe data bil pecahan}
Deklarasi luas <- PHI * jari2 * jari2
luas : real {var output, tipe data bil pecahan}
PHI : 3.14 {konstanta}
Deskripsi:
1. start
write(luas)
2. read(jari2)
Deskripsi 3. luas <- PHI * jari2 * jari2
4. write(luas)
End
5. end
SOFIA UMAROH
Pseudocode
read(a,b,c)
Algoritma Mencari nilai terbesar dari 3 buah
Judul bulangan, dan mencetak nilai terbesarnya}
no
a>b maks <- b
Deklarasi kamus:
Deklarasi a,b,c : integer {input,bil bulat} yes
maks : integer {output,bil bulat}
maks <- a
Deskripsi:
1. start
2. read(a,b,c) yes
c > maks maks <- c
3. if (a > b) then maks <- a
Deskripsi 4. else maks <- b
5. endif
6. if (c > maks) then maks <- c write(maks)
7. write(maks)
8. end End
SOFIA UMAROH
Coba kita
Latihan
Flowchart
SOFIA UMAROH
i=2
no
End i <= 6?
yes i=i+2
print (i + 1)
Kerjakan mandiri!
Feedback diberikan
saat diskusi Tatap Muka
SOFIA UMAROH
Weekly Activity 3
Kerjakan mandiri! Jika di bulan ini pegawai mencapai penjualan lebih dari dua unit mobil,
Feedback diberikan maka akan mendapatkan bonus sebesar Rp. 1.500.000,-. Kemudian
saat diskusi Tatap Muka pegawai yang menjual mobil tepat dua unit maka akan mendapatkan
bonus Rp. 500.000,-. Namun jika pegawai yang dalam penjualan bulan
ini kurang dari dua unit, maka pegawai tersebut mendapat potongan
5% dari gaji pokok.
Gaji pokok pegawai dalam satu minggu adalah Rp. 4.500.000. Adapun
Gaji bersih adalah gaji pokok ditambah bonus dan dikurangi potongan
(jika ada).
Tugas 4
Tuliskan output dari flowchart berikut!
Start
Kerjakan mandiri!
Feedback diberikan
saat diskusi Tatap Muka i=2
no
i <= 6?
yes
print (i + 1)
i=i+2
End
SOFIA UMAROH
2. Pseudocode
Pseudocode Menghitung Luas Lingkaran berdasarkan algoritma deskripsi
Deskripsi:
Masukan nilai jari-jari lingkaran Deskripsi:
setelah memiliki nilai jari-jari dan phi maka 1. start
Deskripsi berikutnya hitung luas lingkaran. 2. read(jari_jari)
luas <- PHI * jari_jari * jari_jari 3. luas <- PHI * jari_jari * jari_jari
Cetak nilai luas 4. write(luas)
Selesai 5. end
SOFIA UMAROH
Coba kita
Latihan
Pseudocode
SOFIA UMAROH
PERHATIKAN!
Bagi ke dalam JUDUL,
DEKLARASI dan DESKRIPSI Latihan
2. Pseudocode
Algoritma mencari nilai terbesar dari 3 buah bilangan menggunakan Pseudocode.
Ingat bagaimana komputer bekerja, INPUT - PROSES - OUTPUT
Ingat Langkahnya!
2. Pseudocode
Algoritma mencari nilai terbesar dari 3 buah bilangan menggunakan Pseudocode.
Ingat bagaimana komputer bekerja, INPUT - PROSES - OUTPUT
Ingat Langkahnya! Output:
Masukkan a,b,c: 3 8 4
4 Terjemahkan! Mulai Coding :) nilai maks: 8
Weekly Activity 1
Program aritmatika
Deklarasi
a,b,c,d,e,f: integer
BEGIN
a <- 1
b <- 3
c <- 5
d <- 2
e <- 4
read(g)
a <- a+3
b <- b+4
c <- c+b-a
Kerjakan mandiri! d <- d+e-c
Feedback diberikan write(a,b,c,d,e);
END
saat diskusi Tatap Muka
SOFIA UMAROH
Contoh:
Misal input nilai =84, maka nilai dibulatkan ke 85 karena 85 - 84 = 1 (< 3)
Misal nilai 29 tidak dibulatkan karena gagal (hasilnya kurang dari 40)
grade 57 tidak dibulatkan (karena 60 - 57 = 3 atau tidak kurang dari tiga)
Kerjakan mandiri!
Buatlah pseudocode untuk membatu Sony menentukan nilai akhir keputusan
Feedback diberikan
(berhasil/gagal) mahasiswanya berdasarkan nilai yang diinputkan.
saat diskusi Tatap Muka
SOFIA UMAROH
Sekian Representasi
Algoritma!
TUGAS Mandiri @ Elearning
Due date: 10 Oktober jam 23.50
Next:
Tipe Data, Variable,
Opertor, Ekspresi