SlideShare a Scribd company logo
Flowchart & Pseudocode
Teny Handhayani
PRAKTIKUM 1
Materi:
----------------------------------------------------------------
 Berfikir algoritmis
 Flowchart
 Pseudocode
 Latihan
Berfikir algoritmis
Program
harus ditulis
dalam suatu
bahasa yang
dimengerti
oleh
komputer
Belajar
programming
??  belajar
untuk
menyelesaikan
suatu masalah
Bahasa Pemrograman
Bahasa tingkat rendah (low level language):
Bahasa yang berorientasi ke mesin. Contoh
Assembly
Bahasa tingkat tinggi (high level language):
Bahasa yang berorientasi ke manusia (seperti
bahasa inggris). Contoh: Pascal, bahasa C, Lisp ,
Delphi, C++, .NET (Dotnet) , Perl(Processing
Lenguage), COBOL(Commont Business Oriented
Lenguage), FORTRAN (Formula Translator) , Delphi
, Kylix , C# , Java , VB , Prolog , SmallTalk, Turbo
Pascal.
Program (ditulis dlm
bahasa pemrograman)
Diterjemahkan dalam
bahasa mesin (digit
biner)
penerjemah
Interpreter : menerjemahkan
baris per baris instruksi. Contoh
bahasa Basic.
Compiler : menerjemahkan
setelah seluruh instruksi ditulis.
Contoh bahasa Pascal, bahasa
C/C++, dll.
Notasi Algoritma
 Notasi algoritma umumnya dapat dibuat dalam tiga cara yaitu :
 Kalimat Deskriptif
 Flowchart
 Pseudocode
 Dalam belajar algoritma notasi yang umum digunakan adalah
Flowchart dan Pseudocode.
 Flowchart dan Pseudocode memiliki keunggulan tersendiri.
 Menulis algoritma dengan Flowhart dan Pseudocode biasanya
dilakukan oleh programmer pemula (tahap belajar).
 Programmer yang mahir umumnya langsung menuangkan
algoritma dengan bahasa pemrograman tertentu.
 Namun programmer mahir terkadang menggunakan Flowchart
dan Pseudocode untuk dokumentasi.
Flow chart dan Pseudocode
 Flow chart diperkenalkan oleh Frank Gilberth tahun 1921
 Flow chart digunakan untuk menggambarkan (proses
bisnis) aliran input, proses, dan output dari sebuah
sistem
 Pseudocode merupakan struktur untuk mendeskripsikan
algoritma
 It allows the designer to focus on the logic of the
algorithm without being distracted by details of language
syntax
 Pseudocode merupakan logika lagoritma yang dituliskan
tanpa memperhatikan sin
Process
Decission
Data
(Input -
Output)
Terminator
(start/End)
Manual Input
Menggambarkan kondisi mulai atau berhenti
Menggambarkan input yang dilakukan secara manual
Menggambarkan sebuah proses
Menggambarkan data (input), juga digunakan untuk
menggambarkan output
Simbol dalam flow chart
Menggambarkan percabangan untuk menentukan kondisi
Garis penghubung
Simbol dalam Flow chart
Predefined
Process
Internal
storage
Document
Multidocuments
Or
Direct
Access
Storage
Mulai
Selesai
Input:
Panjang, Lebar
Luas = Panjang * Lebar
Cetak Luas
Contoh 1
Algoritma Menghitung Luas Persegi
Panjang
Tahap 1: Mulai
Tahap 2: Input Panjang, Lebar
Tahap 4: Hitung Luas = Panjang * Lebar
Tahap 4: Cetak Luas
Tahap 5: Selesai
Pseudocode
Input:
Panjang, Lebar : real
Output:
Luas : Real
read (Panjang)
Read (Lebar)
Luas = Panjang * Lebar
write(Luas)
Mulai
Selesai
Input
a,b,c
D = sqrt (b*b – 4* a * c)
X1 = (-b + D) / (2 * a)
X2 = (-b - D) / (2 * a)
Cetak
X1, X2
Contoh 2
Algoritma Menghitung nilai akar kuadrat dari
persamaan
Tahap 1: Mulai
Tahap 2: Input nilai a, b, c
Tahap 3: Menghitung D
D = sqrt (b * b – 4 * a * c)
Tahap 4: x1 = (-b + D) / (2 * a)
Tahap 5: x2 = (-b - D) / (2 * a)
Tahap 6: Cetak x1, x2
Tahap 7: Selesai
Pseudocode
Input:
a,b,c: real
Output:
x1, x2: Real
read (a)
Read (b)
Read (c)
x1 = (-b + D) / (2 * a)
x2 = (-b - D) / (2 * a)
Write(X1, X2)
Struktur (IF-Then-Else)
Apakah
A > B
Cetak A Cetak B
Benar Salah
Algoritma
 Studi Kasus 1
Sebuah sistem sederhana digunakan untuk menentukan
status kelulusan mahasiswa yang mengambil mata kuliah
Bahasa Pemrograman. Mahasiswa yang dinyatakan lulus
dari mata kuliah Bahasa Pemrograman adalah mahasiswa
yang memiliki nilai akhir lebih besar dari 60. Sedangkan
mahasiswa yang memiliki nilai akhir kurang dari 60 tidak
lulus. Nilai akhir dihitung dari rata-rata 4 komponen nilai
yaitu Tugas 1, Tugas 2, UTS dan UAS.
Mulai
Input N1,N2,N3,N4
NA = (N1+N2+N3+N4)/4
Pakah NA >
60
?
Cetak
LULUS
Cetak
TIDAK LULUS
Selesai
Algoritma menentukan kelulusan
Tahap 1: Mulai
Tahap 2: Input N1, N2, N3, N4
Tahap 3: NA = (N1+N2+N3+N4)/4
Tahap 4: if (NA > 60) then
Cetak “LULUS”
else
Cetak “TIDAK LULUS”
endif
Tahap 5: Selesai
Benar Salah
Pseudocode
Input:
N1,N2,N3,N4 : real
Output:
NA: real
read(N1,N2,N3,N4)
NA = (N1+N2+N3+N4)/4
if NA > 60 then
print “Lulus”
else
print “Tidak Lulus”
endif
Latihan
 Buatlah Flow chart untuk menentukan sebuah bilangan
N merupakan bilangan ganjil atau bilangan genap
Algoritma:
Tahap 1: Mulai
Tahap 2: Baca N
Tahap 3: x = N mod 2
Tahap 4: if(x == 0) then
cetak “Genap”
else
cetak “Ganjil”
Tahap 5: Selesai
Jawaban Mulai
Selesai
Baca N
x = N mod 2
Apakah
x = 0 ?
Cetak
Genap
Cetak Ganjil
Benar Salah
Input:
N : positive integer
Output:
String “Genap/Ganjil”
read(N)
x = N mod 2
if x =0 then
print (“Genap”)
else
print(“Ganjil”)
endif
Struktur Nested If
Struktur Nested IF
Algoritma menentukan nilai maksimum dari 3 buah
angka
Tahap 1: Mulai
Tahap 2: Input N1, N2, N3
Tahap 3: if (N1 > N2) then
if (N1 > N3) then
max = N1
else
max = N3
else
if (N2 > N3) then
max = N2
else
max = N3
endif
endif
Tahap 4: Return max
Tahap 5: Selesai
Pseudocode
Input
N1,N2,N3 : Real
Output
max : real
read (N1,N2,N3)
if N1 > N2 then
if N1 > N3 then
max = N1
else
max = N3
endif
else
if N2 > N3 then
max = N2
else
max= N3
endif
endif
return max
Mulai
Selesai
Input
N1,N2,N3
Apakah
N1 > N2
?
Apakah
N1 > N3
?
Apakah
N2 > N3
?
Return
max
Max = N1 Max = N3 Max = N2
Max = N3
Benar Salah
Benar Benar
Salah Salah
Flow chart
Menentukan nilai maksimum
dari 3 buah angka
Struktur For dan While
Mulai
Selesai
Baca N
i = 1
fact = 1
Apakah
i <= N?
i = i+1
fact = fact * i
Cetak fact
Benar Salah
Algoritma Menghitung nilai Factorial
Tahap 1. Mulai
Tahap 2: Baca input nilai N
Tahap 3: [Inisialisasi]
Tahap 4: Ulangi Tahap 4 – Tahap 6 sampai i = n
Tahap 5: fact = fact * I
Tahap 6: i = i+1
Tahap 7: Cetak fact
Tahap 8: Selesai
5! = 5 x 4 x 3 x 2 x 1! (perulangan)
Input
N: nonnegative integer
Output:
fact: nonnegative integer
Read(N)
i = 1
fact = 1
while i <= N
i = i+1
fact = fact * i
endwhile
write(fact)
Latihan
 Buatlah flowchart untuk menghitung deret fibonacci angka ke n
Tahap 1: Mulai
Tahap 2: Baca n
Tahap 3: if (n = 0)
return 0
else
x = 0
y = 1
i = 1
Tahap 4: Apakah i < N-1 ulangi Tahap 4 - 8
Tahap 5: z = x+y
Tahap 6: x = y
Tahap 7: y = z
Tahap 8: i = i + 1
Tahap 9: return y
Tahap 10: Selesai
Fibonacci (0) = 0
Fibonacci (1) = 1
Fibonacci (2) = 1
Fibonacci (3) = 2
Fibonacci (4) = 3
Fibonacci (5) = 5
Fibonacci (6) = 8
Fibonacci (7) = 13
Fibonacci (8) = 21
Fibonacci (9) = 34
Fibonacci (n) = ?
Mulai
Selesai
Baca n
x = 0
y = 1
i = 1
Apakah
n= 0
?
return 0
Apakah
i < n-1
?
z = x+y
x = y
Y = z
i = i+1
Flow chart Fibonacci ke n
return y
Benar Salah
Benar Salah
(perulangan)
Pseudocode
procedure fibonacci
Input
n: positive integer
Output
y: positive integer
read(n)
if n = 0 then return 0
else
x := 0
y := 1
for i := 1 to n-1
z := x+y
x := y
y := z
return y
/* output is the nth Fibonacci number */
Struktur do While
Melakukan validasi input
Tahap 1: Mulai
Tahap 2: Baca a,b
Tahap 3: Ulangi tahap 2 sampai a>b
Tahap 4: Cetak “Selamat”
Tahap 5: Selesai
Mulai
Selesai
Baca a,b
Apakah
a < b
?
Cetak
Selamat
Benar Salah
Pseudocode
Input: a, b: integer
Output: string “Selamat”
do{
read (a)
read (b)
} while (a<b)
write(“Selamat”)
Latihan:
Buatlah flow chart dan pseudocode untuk menghitung nilai
greatest common divisor (gcd)
(Faktor Persekutuan Terbesar)
24
12
2
3
2
2
6
23 x 3
36
3
2
2
18
9
3
22 x 32
gcd (24,36) = 3 x 4 = 12
gcd (17,22) = 1
Input:
a, b : positive integer
Output:
x : positive integer
procedure gcd(a,b: positive integer)
x := a
y := b
while (y ≠ 0)
r := x mod y
x := y
y := r
return x /* gcd (a,b) is x */
Mulai
Selesai
Baca a,b
x = a
y = b
Apakah
y ≠ 0
?
r = x mod y
x = y
y = r
return x
Benar Salah
Tugas Individu
1. Buatlah algoritma, flow chart, dan pseudocode untuk studi kasus berikut:
Sebuh toko roti membutuhkan sistem kasir sederhana. Fasilitas sistem yang
dibutuhkan yaitu menghitung jumlah total belanja dan menghitung uang
kembalian. Untuk mengamankan sistem dari kesalahan input uang maka
jumlah uang yang dibayar tidak boleh kurang dari jumlah total belanja. Toko
roti memberikan diskon 5% untuk pembelian lebih besar dari Rp 100.000,-.
2. Buatlah algoritma, flow chart, dan pseudocode untuk menghitung faktor
dari suatu nilai
Contoh :
Input 12
Output:
Faktor dari 12 adalah 1,2,3,4,6 dan 12
Input 15
Output:
Faktor dari 15 adalah 1,3,5,15
Tugas Individu
 Jawaban diketik rapi dan dicetak
 Pseudocode diketik dengan font Courier New 10pt
 Ketikkan Nama, NIM, Kelas sebagai Header, font Times
New Roman 10pt
 Selain Pseudocode & Header diketik dengan font Times
New Roman 11pt
 Setiap halaman wajib ada penomoran halaman
 Tugas dikumpulkan pada praktikum minggu berikutnya
 Jika terdapat jawaban yang sama lebih dari satu
mahasiswa maka akan diberikan nilai 0
 Tidak mengumpulkan tugas diberikan nilai 0, kecuali ybs
sakit dengan surat ijin
Flowchart.pdf
Flowchart.pdf

More Related Content

What's hot

Diferensial
DiferensialDiferensial
Diferensial
Budiman M. Said
 
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integralKeterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integralKurcaci Kecil
 
Aljabar fuzzy
Aljabar fuzzyAljabar fuzzy
Aljabar fuzzy
radar radius
 
Maksimum dan minimum
Maksimum dan minimumMaksimum dan minimum
Maksimum dan minimum
Martheana Kencanawati
 
Rekursi dan Induksi Matematika
Rekursi dan Induksi MatematikaRekursi dan Induksi Matematika
Rekursi dan Induksi Matematika
Heni Widayani
 
1 Bilangan Kompleks
1 Bilangan Kompleks1 Bilangan Kompleks
1 Bilangan Kompleks
Simon Patabang
 
Bab 2-kalkulus-ok1
Bab 2-kalkulus-ok1Bab 2-kalkulus-ok1
Bab 2-kalkulus-ok1
Fajar Istiqomah
 
Modul 2 variabel, tipe data dan operator
Modul 2   variabel, tipe data dan operatorModul 2   variabel, tipe data dan operator
Modul 2 variabel, tipe data dan operator
Fardian Syah
 
Bahan ajar alin 2 rev 2014 pdf
Bahan ajar alin 2 rev 2014 pdfBahan ajar alin 2 rev 2014 pdf
Bahan ajar alin 2 rev 2014 pdf
Pawit Ngafani
 
Sistem bilangan-real-1
Sistem bilangan-real-1Sistem bilangan-real-1
Sistem bilangan-real-1
NurFadhila6
 
Bilangan kompleks
Bilangan kompleksBilangan kompleks
Bilangan kompleks
PT.surga firdaus
 
Ppt. Struktur Aljabar Grup
Ppt. Struktur Aljabar GrupPpt. Struktur Aljabar Grup
Ppt. Struktur Aljabar Gruptrimuhtiharyani
 
Order dari Elemen Grup
Order dari Elemen GrupOrder dari Elemen Grup
Order dari Elemen Grupwahyuhenky
 
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHERTEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
Rivalri Kristianto Hondro
 
Mrv 4.1 fitriana &amp; fatmala yunita ruang n- euclidis
Mrv 4.1   fitriana &amp; fatmala yunita  ruang n- euclidisMrv 4.1   fitriana &amp; fatmala yunita  ruang n- euclidis
Mrv 4.1 fitriana &amp; fatmala yunita ruang n- euclidis
Nunink Apriani
 
nilai eigen dan vektor eigen
nilai eigen dan vektor eigennilai eigen dan vektor eigen
nilai eigen dan vektor eigen
elmabb
 
Metode modi
Metode modiMetode modi
Matematika Diskrit - 03 himpunan - 05
Matematika Diskrit - 03 himpunan - 05Matematika Diskrit - 03 himpunan - 05
Matematika Diskrit - 03 himpunan - 05
KuliahKita
 

What's hot (20)

Teori bilangan bab3_1
Teori bilangan bab3_1Teori bilangan bab3_1
Teori bilangan bab3_1
 
Diferensial
DiferensialDiferensial
Diferensial
 
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integralKeterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
Keterkaitan antara fungsi, limit, kekontinuan, turunan, dan integral
 
Aljabar fuzzy
Aljabar fuzzyAljabar fuzzy
Aljabar fuzzy
 
Maksimum dan minimum
Maksimum dan minimumMaksimum dan minimum
Maksimum dan minimum
 
Rekursi dan Induksi Matematika
Rekursi dan Induksi MatematikaRekursi dan Induksi Matematika
Rekursi dan Induksi Matematika
 
1 Bilangan Kompleks
1 Bilangan Kompleks1 Bilangan Kompleks
1 Bilangan Kompleks
 
Bab 2-kalkulus-ok1
Bab 2-kalkulus-ok1Bab 2-kalkulus-ok1
Bab 2-kalkulus-ok1
 
Modul 2 variabel, tipe data dan operator
Modul 2   variabel, tipe data dan operatorModul 2   variabel, tipe data dan operator
Modul 2 variabel, tipe data dan operator
 
Bahan ajar alin 2 rev 2014 pdf
Bahan ajar alin 2 rev 2014 pdfBahan ajar alin 2 rev 2014 pdf
Bahan ajar alin 2 rev 2014 pdf
 
Sistem bilangan-real-1
Sistem bilangan-real-1Sistem bilangan-real-1
Sistem bilangan-real-1
 
Bilangan kompleks
Bilangan kompleksBilangan kompleks
Bilangan kompleks
 
Ppt. Struktur Aljabar Grup
Ppt. Struktur Aljabar GrupPpt. Struktur Aljabar Grup
Ppt. Struktur Aljabar Grup
 
Order dari Elemen Grup
Order dari Elemen GrupOrder dari Elemen Grup
Order dari Elemen Grup
 
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHERTEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
 
Mrv 4.1 fitriana &amp; fatmala yunita ruang n- euclidis
Mrv 4.1   fitriana &amp; fatmala yunita  ruang n- euclidisMrv 4.1   fitriana &amp; fatmala yunita  ruang n- euclidis
Mrv 4.1 fitriana &amp; fatmala yunita ruang n- euclidis
 
Fungsi
FungsiFungsi
Fungsi
 
nilai eigen dan vektor eigen
nilai eigen dan vektor eigennilai eigen dan vektor eigen
nilai eigen dan vektor eigen
 
Metode modi
Metode modiMetode modi
Metode modi
 
Matematika Diskrit - 03 himpunan - 05
Matematika Diskrit - 03 himpunan - 05Matematika Diskrit - 03 himpunan - 05
Matematika Diskrit - 03 himpunan - 05
 

Similar to Flowchart.pdf

Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstruktur
Meiland Meebo
 
5 prosedur dan fungsi
5 prosedur dan fungsi5 prosedur dan fungsi
5 prosedur dan fungsi
Simon Patabang
 
Algoritma dan Pemrograman
Algoritma dan Pemrograman Algoritma dan Pemrograman
Algoritma dan Pemrograman
Farah Imaniar Rettyana
 
3 pemrograman matlab
3 pemrograman matlab3 pemrograman matlab
3 pemrograman matlab
Simon Patabang
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
Eko Widyanto Napitupulu
 
ALOGARITMA 4
ALOGARITMA 4ALOGARITMA 4
ALOGARITMA 4
arstwn
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
givaro igfar
 
Pseudocode
PseudocodePseudocode
Pseudocode
brigidaarie
 
Rangkuman soal TI SMK
Rangkuman soal TI SMKRangkuman soal TI SMK
Rangkuman soal TI SMK
Saprudin Eskom
 
modul algoritma Bab 7 record
modul algoritma Bab 7 recordmodul algoritma Bab 7 record
modul algoritma Bab 7 record
Eko Widyanto Napitupulu
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
STMIK AKAKOM
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048
James Montolalu
 
Pengenalan c++ bagian 2
Pengenalan c++ bagian 2Pengenalan c++ bagian 2
Pengenalan c++ bagian 2
Fazar Ikhwan Guntara
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Dian Aditya
 
SAP Pertemuan 3
SAP Pertemuan 3SAP Pertemuan 3
SAP Pertemuan 3
yohanisrn
 
modul algoritma Bab 2
modul algoritma Bab 2modul algoritma Bab 2
modul algoritma Bab 2
Eko Widyanto Napitupulu
 
Galeri PythonTeX
Galeri PythonTeXGaleri PythonTeX
Galeri PythonTeX
Hirwanto Iwan
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUR
EDIS BLOG
 

Similar to Flowchart.pdf (20)

Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstruktur
 
5 prosedur dan fungsi
5 prosedur dan fungsi5 prosedur dan fungsi
5 prosedur dan fungsi
 
Algoritma dan Pemrograman
Algoritma dan Pemrograman Algoritma dan Pemrograman
Algoritma dan Pemrograman
 
3 pemrograman matlab
3 pemrograman matlab3 pemrograman matlab
3 pemrograman matlab
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
 
ALOGARITMA 4
ALOGARITMA 4ALOGARITMA 4
ALOGARITMA 4
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Pseudocode
PseudocodePseudocode
Pseudocode
 
Rangkuman soal TI SMK
Rangkuman soal TI SMKRangkuman soal TI SMK
Rangkuman soal TI SMK
 
modul algoritma Bab 7 record
modul algoritma Bab 7 recordmodul algoritma Bab 7 record
modul algoritma Bab 7 record
 
Pk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchartPk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchart
 
Pk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchartPk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchart
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048
 
Pengenalan c++ bagian 2
Pengenalan c++ bagian 2Pengenalan c++ bagian 2
Pengenalan c++ bagian 2
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010
 
SAP Pertemuan 3
SAP Pertemuan 3SAP Pertemuan 3
SAP Pertemuan 3
 
modul algoritma Bab 2
modul algoritma Bab 2modul algoritma Bab 2
modul algoritma Bab 2
 
Galeri PythonTeX
Galeri PythonTeXGaleri PythonTeX
Galeri PythonTeX
 
PENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTURPENGEMBANGAN PROGRAM TERSTRUKTUR
PENGEMBANGAN PROGRAM TERSTRUKTUR
 

Recently uploaded

Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdfModul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
MiliaSumendap
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
Pemdes Wonoyoso
 
manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6
MhdFadliansyah1
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
acehirfan
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
AjrunAzhiima
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
subbidtekinfo813
 
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera PendidikanTransformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
deamardiana1
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
renprogarksd3
 
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasiAnalisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
afaturooo
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
BanjarMasin4
 
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
mtsarridho
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
Pemdes Wonoyoso
 
Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
AssyifaFarahDiba1
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
Ekhwan2
 

Recently uploaded (14)

Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdfModul Ajar Seni Rupa - Melukis Pemandangan  - Fase B.pdf
Modul Ajar Seni Rupa - Melukis Pemandangan - Fase B.pdf
 
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITASSURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
SURAT KEPUTUSAN TENTANG KAMPUNG BERKUALITAS
 
manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6manajer lapangan pelaksana gedung SKK JENJANG 6
manajer lapangan pelaksana gedung SKK JENJANG 6
 
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffffLAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
LAPORAN OPERATOR DAPODIK dfffffffffffffffffffff
 
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdfM. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
M. Fattahillah Ajrun Azhiima_2021B_Analisis Kritis Jurnal.pdf
 
bahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gatewaybahan belajar Application Programming Interface (API) Gateway
bahan belajar Application Programming Interface (API) Gateway
 
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera PendidikanTransformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
Transformasi Desa Vokasi Tata Kelola dan Penguatan Pera Pendidikan
 
654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021654Bagan akun standar Kep 331 Tahun 2021
654Bagan akun standar Kep 331 Tahun 2021
 
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasiAnalisis Korelasi dan penjelasannya juga bedanya dengan korelasi
Analisis Korelasi dan penjelasannya juga bedanya dengan korelasi
 
Materi matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptxMateri matriks dan determinan matriks.pptx
Materi matriks dan determinan matriks.pptx
 
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
Kisi-Kisi Asesmen Madrasah Akidah Akhlak MTs Arridho Tahun Pelajaran 2023-202...
 
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIPPERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
PERATURAN BUPATI TENTANG KODE KLASIFIKASI ARSIP
 
Apa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptxApa itu data dan pengertian data by manajemen 22.pptx
Apa itu data dan pengertian data by manajemen 22.pptx
 
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis JurnalA.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
A.Ekhwan Nur Fauzi_2021 B_ Analisis Kritis Jurnal
 

Flowchart.pdf

  • 3. Berfikir algoritmis Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer Belajar programming ??  belajar untuk menyelesaikan suatu masalah
  • 4. Bahasa Pemrograman Bahasa tingkat rendah (low level language): Bahasa yang berorientasi ke mesin. Contoh Assembly Bahasa tingkat tinggi (high level language): Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh: Pascal, bahasa C, Lisp , Delphi, C++, .NET (Dotnet) , Perl(Processing Lenguage), COBOL(Commont Business Oriented Lenguage), FORTRAN (Formula Translator) , Delphi , Kylix , C# , Java , VB , Prolog , SmallTalk, Turbo Pascal.
  • 5. Program (ditulis dlm bahasa pemrograman) Diterjemahkan dalam bahasa mesin (digit biner) penerjemah Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic. Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
  • 6. Notasi Algoritma  Notasi algoritma umumnya dapat dibuat dalam tiga cara yaitu :  Kalimat Deskriptif  Flowchart  Pseudocode  Dalam belajar algoritma notasi yang umum digunakan adalah Flowchart dan Pseudocode.  Flowchart dan Pseudocode memiliki keunggulan tersendiri.  Menulis algoritma dengan Flowhart dan Pseudocode biasanya dilakukan oleh programmer pemula (tahap belajar).  Programmer yang mahir umumnya langsung menuangkan algoritma dengan bahasa pemrograman tertentu.  Namun programmer mahir terkadang menggunakan Flowchart dan Pseudocode untuk dokumentasi.
  • 7. Flow chart dan Pseudocode  Flow chart diperkenalkan oleh Frank Gilberth tahun 1921  Flow chart digunakan untuk menggambarkan (proses bisnis) aliran input, proses, dan output dari sebuah sistem  Pseudocode merupakan struktur untuk mendeskripsikan algoritma  It allows the designer to focus on the logic of the algorithm without being distracted by details of language syntax  Pseudocode merupakan logika lagoritma yang dituliskan tanpa memperhatikan sin
  • 8. Process Decission Data (Input - Output) Terminator (start/End) Manual Input Menggambarkan kondisi mulai atau berhenti Menggambarkan input yang dilakukan secara manual Menggambarkan sebuah proses Menggambarkan data (input), juga digunakan untuk menggambarkan output Simbol dalam flow chart Menggambarkan percabangan untuk menentukan kondisi Garis penghubung
  • 9. Simbol dalam Flow chart Predefined Process Internal storage Document Multidocuments Or Direct Access Storage
  • 10. Mulai Selesai Input: Panjang, Lebar Luas = Panjang * Lebar Cetak Luas Contoh 1 Algoritma Menghitung Luas Persegi Panjang Tahap 1: Mulai Tahap 2: Input Panjang, Lebar Tahap 4: Hitung Luas = Panjang * Lebar Tahap 4: Cetak Luas Tahap 5: Selesai Pseudocode Input: Panjang, Lebar : real Output: Luas : Real read (Panjang) Read (Lebar) Luas = Panjang * Lebar write(Luas)
  • 11. Mulai Selesai Input a,b,c D = sqrt (b*b – 4* a * c) X1 = (-b + D) / (2 * a) X2 = (-b - D) / (2 * a) Cetak X1, X2 Contoh 2 Algoritma Menghitung nilai akar kuadrat dari persamaan Tahap 1: Mulai Tahap 2: Input nilai a, b, c Tahap 3: Menghitung D D = sqrt (b * b – 4 * a * c) Tahap 4: x1 = (-b + D) / (2 * a) Tahap 5: x2 = (-b - D) / (2 * a) Tahap 6: Cetak x1, x2 Tahap 7: Selesai Pseudocode Input: a,b,c: real Output: x1, x2: Real read (a) Read (b) Read (c) x1 = (-b + D) / (2 * a) x2 = (-b - D) / (2 * a) Write(X1, X2)
  • 12. Struktur (IF-Then-Else) Apakah A > B Cetak A Cetak B Benar Salah
  • 13. Algoritma  Studi Kasus 1 Sebuah sistem sederhana digunakan untuk menentukan status kelulusan mahasiswa yang mengambil mata kuliah Bahasa Pemrograman. Mahasiswa yang dinyatakan lulus dari mata kuliah Bahasa Pemrograman adalah mahasiswa yang memiliki nilai akhir lebih besar dari 60. Sedangkan mahasiswa yang memiliki nilai akhir kurang dari 60 tidak lulus. Nilai akhir dihitung dari rata-rata 4 komponen nilai yaitu Tugas 1, Tugas 2, UTS dan UAS.
  • 14. Mulai Input N1,N2,N3,N4 NA = (N1+N2+N3+N4)/4 Pakah NA > 60 ? Cetak LULUS Cetak TIDAK LULUS Selesai Algoritma menentukan kelulusan Tahap 1: Mulai Tahap 2: Input N1, N2, N3, N4 Tahap 3: NA = (N1+N2+N3+N4)/4 Tahap 4: if (NA > 60) then Cetak “LULUS” else Cetak “TIDAK LULUS” endif Tahap 5: Selesai Benar Salah Pseudocode Input: N1,N2,N3,N4 : real Output: NA: real read(N1,N2,N3,N4) NA = (N1+N2+N3+N4)/4 if NA > 60 then print “Lulus” else print “Tidak Lulus” endif
  • 15. Latihan  Buatlah Flow chart untuk menentukan sebuah bilangan N merupakan bilangan ganjil atau bilangan genap Algoritma: Tahap 1: Mulai Tahap 2: Baca N Tahap 3: x = N mod 2 Tahap 4: if(x == 0) then cetak “Genap” else cetak “Ganjil” Tahap 5: Selesai
  • 16. Jawaban Mulai Selesai Baca N x = N mod 2 Apakah x = 0 ? Cetak Genap Cetak Ganjil Benar Salah Input: N : positive integer Output: String “Genap/Ganjil” read(N) x = N mod 2 if x =0 then print (“Genap”) else print(“Ganjil”) endif
  • 18. Struktur Nested IF Algoritma menentukan nilai maksimum dari 3 buah angka Tahap 1: Mulai Tahap 2: Input N1, N2, N3 Tahap 3: if (N1 > N2) then if (N1 > N3) then max = N1 else max = N3 else if (N2 > N3) then max = N2 else max = N3 endif endif Tahap 4: Return max Tahap 5: Selesai Pseudocode Input N1,N2,N3 : Real Output max : real read (N1,N2,N3) if N1 > N2 then if N1 > N3 then max = N1 else max = N3 endif else if N2 > N3 then max = N2 else max= N3 endif endif return max
  • 19. Mulai Selesai Input N1,N2,N3 Apakah N1 > N2 ? Apakah N1 > N3 ? Apakah N2 > N3 ? Return max Max = N1 Max = N3 Max = N2 Max = N3 Benar Salah Benar Benar Salah Salah Flow chart Menentukan nilai maksimum dari 3 buah angka
  • 21. Mulai Selesai Baca N i = 1 fact = 1 Apakah i <= N? i = i+1 fact = fact * i Cetak fact Benar Salah Algoritma Menghitung nilai Factorial Tahap 1. Mulai Tahap 2: Baca input nilai N Tahap 3: [Inisialisasi] Tahap 4: Ulangi Tahap 4 – Tahap 6 sampai i = n Tahap 5: fact = fact * I Tahap 6: i = i+1 Tahap 7: Cetak fact Tahap 8: Selesai 5! = 5 x 4 x 3 x 2 x 1! (perulangan) Input N: nonnegative integer Output: fact: nonnegative integer Read(N) i = 1 fact = 1 while i <= N i = i+1 fact = fact * i endwhile write(fact)
  • 22. Latihan  Buatlah flowchart untuk menghitung deret fibonacci angka ke n Tahap 1: Mulai Tahap 2: Baca n Tahap 3: if (n = 0) return 0 else x = 0 y = 1 i = 1 Tahap 4: Apakah i < N-1 ulangi Tahap 4 - 8 Tahap 5: z = x+y Tahap 6: x = y Tahap 7: y = z Tahap 8: i = i + 1 Tahap 9: return y Tahap 10: Selesai Fibonacci (0) = 0 Fibonacci (1) = 1 Fibonacci (2) = 1 Fibonacci (3) = 2 Fibonacci (4) = 3 Fibonacci (5) = 5 Fibonacci (6) = 8 Fibonacci (7) = 13 Fibonacci (8) = 21 Fibonacci (9) = 34 Fibonacci (n) = ?
  • 23. Mulai Selesai Baca n x = 0 y = 1 i = 1 Apakah n= 0 ? return 0 Apakah i < n-1 ? z = x+y x = y Y = z i = i+1 Flow chart Fibonacci ke n return y Benar Salah Benar Salah (perulangan)
  • 24. Pseudocode procedure fibonacci Input n: positive integer Output y: positive integer read(n) if n = 0 then return 0 else x := 0 y := 1 for i := 1 to n-1 z := x+y x := y y := z return y /* output is the nth Fibonacci number */
  • 26. Melakukan validasi input Tahap 1: Mulai Tahap 2: Baca a,b Tahap 3: Ulangi tahap 2 sampai a>b Tahap 4: Cetak “Selamat” Tahap 5: Selesai Mulai Selesai Baca a,b Apakah a < b ? Cetak Selamat Benar Salah Pseudocode Input: a, b: integer Output: string “Selamat” do{ read (a) read (b) } while (a<b) write(“Selamat”)
  • 27. Latihan: Buatlah flow chart dan pseudocode untuk menghitung nilai greatest common divisor (gcd) (Faktor Persekutuan Terbesar) 24 12 2 3 2 2 6 23 x 3 36 3 2 2 18 9 3 22 x 32 gcd (24,36) = 3 x 4 = 12 gcd (17,22) = 1
  • 28. Input: a, b : positive integer Output: x : positive integer procedure gcd(a,b: positive integer) x := a y := b while (y ≠ 0) r := x mod y x := y y := r return x /* gcd (a,b) is x */ Mulai Selesai Baca a,b x = a y = b Apakah y ≠ 0 ? r = x mod y x = y y = r return x Benar Salah
  • 29. Tugas Individu 1. Buatlah algoritma, flow chart, dan pseudocode untuk studi kasus berikut: Sebuh toko roti membutuhkan sistem kasir sederhana. Fasilitas sistem yang dibutuhkan yaitu menghitung jumlah total belanja dan menghitung uang kembalian. Untuk mengamankan sistem dari kesalahan input uang maka jumlah uang yang dibayar tidak boleh kurang dari jumlah total belanja. Toko roti memberikan diskon 5% untuk pembelian lebih besar dari Rp 100.000,-. 2. Buatlah algoritma, flow chart, dan pseudocode untuk menghitung faktor dari suatu nilai Contoh : Input 12 Output: Faktor dari 12 adalah 1,2,3,4,6 dan 12 Input 15 Output: Faktor dari 15 adalah 1,3,5,15
  • 30. Tugas Individu  Jawaban diketik rapi dan dicetak  Pseudocode diketik dengan font Courier New 10pt  Ketikkan Nama, NIM, Kelas sebagai Header, font Times New Roman 10pt  Selain Pseudocode & Header diketik dengan font Times New Roman 11pt  Setiap halaman wajib ada penomoran halaman  Tugas dikumpulkan pada praktikum minggu berikutnya  Jika terdapat jawaban yang sama lebih dari satu mahasiswa maka akan diberikan nilai 0  Tidak mengumpulkan tugas diberikan nilai 0, kecuali ybs sakit dengan surat ijin