Post on 10-Mar-2019
1
Method & Tools for Program Analysis & Design
1
TMB208 – Pemrograman Teknik
Kredit: 3 (2-3)
2
Reminder For Software Developers!Programming mengasumsikan bahwa coding adalah tujuan.
Pengembang perangkat lunak (software developer) cenderung menjadi
pecandu software yang berpikir pekerjaan mereka adalah untuk menulis
kode program. Tapi itu tidak benar. Tugas mereka adalah untuk
memecahkan masalah (solving a problem). Maka jangan merayakan
(bertepuk dada) untuk penciptaan kode (program komputer), tapi
merayakan penciptaan solusi.
Michael Bloomberg
Entrepreneur, philanthropist, three-term mayor of New
York City, programmer
Programming menempatkan metode sebelum masalah. Sebelum Anda
pergi bergegas keluar untuk belajar kode, mencari tahu apa masalah
Anda sebenarnya. Apakah Anda bahkan memiliki masalah? Anda dapat
menjelaskan kepada orang lain dengan cara yang mereka bisa mengerti?
Anda telah meneliti masalah, dan solusi yang mungkin terjadi secara
mendalam? Apakah coding memecahkan masalah? Apakah anda yakin?
2
Programming Logic and Design, Introductory, Fourth Edition 3
A Process View of An Algorithm
• A process is depicted as a circle and has a name
• A process is representing an algorithm that
transforms a set of inputs into a set of ouputs
4
ABC -Program
A
B
C
X1
X2
A s
et o
f in
pu
ts
A s
et o
f ou
tpu
ts
3
Tools for Program Analysis & Designof Program Development
• Pseudocode: using narrative symbols to express programming logic
• Structured Charts: using graphical diagrams/charts to express programming logic
• Mathematical Models: using mathematical formulas and notations 5
Pseudocode
• Bahasa alami untuk penggunaan
spesifik dalam mengekspresikan
algoritma dg kosakata dan gramatika
yang terbatas/spesifik.
Programming Logic and Design, Introductory, Fourth Edition 6
4
Contoh Membangun Program Untuk
Menggambar Rumah
• Problem: Write a program that draws this picture of
a house.
• Draw the outline of the house
• Draw the chimney
• Draw the door
• Draw the windows
Algoritma dlm bentuk Pseudocode
Contoh Penggunaan Pseudocode Dari Contoh Algoritma Faktorial
Programming Logic and Design, Introductory, Fourth Edition 8
5
Contoh Pseudocode Jawaban Ass#1
9
Flowchart Symbols
BasicOval
Parallelogram
Rectangle
Diamond
Hybrid
Name Symbol Use in Flowchart
Denotes the beginning or end of the program
Denotes an input operation
Denotes an output operation
Denotes a decision (or branch) to be made.
The program should continue along one of
two routes. (e.g. IF/THEN/ELSE)
Denotes a process to be carried out
e.g. addition, subtraction, division etc.
Flow line Denotes the direction of logic flow in the program
6
Example
“PASS”
Step 1: Input M1,M2,M3,M4
Step 2: GRADE (M1+M2+M3+M4)/4
Step 3: if (GRADE <50) then
Print “FAIL”
else
Print “PASS”
endif
START
Input
M1,M2,M3,M4
GRADE(M1+M2+M3+M4)/4
IS
GRADE<5
0
“FAIL”
STOP
YN
Programming Logic and Design, Introductory, Fourth Edition 12
Understanding the Reasons for
Structure (continued)
7
Programming Logic and Design, Introductory, Fourth Edition 13
Pohon keputusan (Decision Tree) adalah alat bantu
dalam bentuk grafik yang menggunakan metode
bercabang untuk menggambarkan setiap kemungkinan
hasil dari kondisi dan hasil keputusan.
Decision Tree
Systems Analysis and Design in a Changing World, 4th Edition 14
Decision Tree for Calculating
Shipping Charges (Figure 6-24)
8
Systems Analysis and Design in a Changing World, 4th Edition 15
Decision Tables and Decision Trees
• Can summarize complex decision logic better than structured
English
• Incorporate logic into the table or tree structure to make
descriptions more readable
16
Assignment #21. Develop algorithm assignment no. 1 using a flowchart.
2. Develop an algorithm using a decision tree structure for the following problem:
Suatu koperasi penyewaan alat dan mesin pertanian memberikan tarif penyewaan yang nilai diskonnya
tergantung jenis alat yang dipinjam, banyaknya alat yang dipinjam (jumlah alat yang dipinjam) , dan lama
peminjaman (jumlah hari). Jenis alat dan mesin yang disewakan adalah traktor pengolah tanah, traktor
penugal dan penanam serta pemupuk, alat penanam, pemupuk dan penyemprot manual, traktor harvester,
dan hand tractor pemanen. Setiap penyewaan satu alat jenis traktor yang disewa oleh petani anggota
koperasi memberikan diskon biaya sewa 5% perhari sewa per traktor dan tidak ada diskon bagi petani non-
anggota. JIka menyewa 2-3 traktor maka diberikan diskon 7% perhari sewa per traktor bagi anggota, dan
hanya 2% diskon perhari sewa per traktor bagi petani non-anggota. JIka menyewa > 3 traktor maka
diberikan diskon 10% perhari sewa per traktor bagi anggota, dan hanya 4% diskon perhari sewa per traktor
bagi petani non-anggota. Setiap penyewaan satu alat jenis non-traktor yang disewa oleh petani anggota
koperasi memberikan diskon biaya sewa 3% perhari sewa per non-traktor dan tidak ada diskon bagi petani
non-anggota. JIka menyewa 2-5 non-traktor maka diberikan diskon 5% perhari sewa per non-traktor bagi
anggota, dan hanya 1% diskon perhari sewa per non-traktor bagi petani non-anggota. JIka menyewa > 3
non-traktor maka diberikan diskon 8% perhari sewa per non-traktor bagi anggota, dan hanya 2% diskon
perhari sewa per non-traktor bagi petani non-anggota. Kalau penyewaannya dari traktor maupun non-
traktor adalah seminggu (7hari) maka diskon perhari per alat adalah 1.5 kali dari diskon sewa harian. JIka
penyewaannya adalah sebulan (30 hari) atau lebih maka diskon perhari per alat adalah 2 kali dari diskon
sewa harian. Buatlah decision tree untuk menghitung diskon perhari per alat bagi penyewa.
It must be done using “hand writing” !
9
17
Learn More at:1. http://study.com/academy/lesson/pseudocode-definition-examples-quiz.htm
2. https://www.youtube.com/watch?v=vOEN65nm4YU