Method & Tools for Program Analysis & Design TMB208 – Pemrograman Teknik Kredit: 3 (2-3) 1
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.
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? Michael Bloomberg Entrepreneur, philanthropist, three-term mayor of New York City, programmer
2
1
Programming Logic and Design, Introductory, Fourth Edition
3
A Process View of An Algorithm
A
X1 B
ABC -Program X2
C
A set of outputs
A set of inputs
• 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
2
Tools for Program Analysis & Design of 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
3
Contoh Membangun Program Untuk Menggambar Rumah • Problem: Write a program that draws this picture of a house. Algoritma dlm bentuk Pseudocode • • • •
Draw the outline of the house Draw the chimney Draw the door Draw the windows
Contoh Penggunaan Pseudocode Dari Contoh Algoritma Faktorial
Programming Logic and Design, Introductory, Fourth Edition
8
4
Contoh Pseudocode Jawaban Ass#1
9
Flowchart Symbols Name
Symbol
Use in Flowchart
Basic
Oval
Denotes the beginning or end of the program
Parallelogram
Denotes an input operation
Rectangle
Denotes a process to be carried out e.g. addition, subtraction, division etc.
Diamond
Denotes a decision (or branch) to be made. The program should continue along one of two routes. (e.g. IF/THEN/ELSE)
Hybrid
Denotes an output operation
Flow line
Denotes the direction of logic flow in the program
5
Example START
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
Input M1,M2,M3,M4
GRADE(M1+M2+M3+M4)/4
N
IS GRADE<5 0
PRINT “PASS”
Y
PRINT “FAIL”
STOP
Understanding the Reasons for Structure (continued)
Programming Logic and Design, Introductory, Fourth Edition
12
6
Decision Tree Pohon keputusan (Decision Tree) adalah alat bantu dalam bentuk grafik yang menggunakan metode bercabang untuk menggambarkan setiap kemungkinan hasil dari kondisi dan hasil keputusan.
Programming Logic and Design, Introductory, Fourth Edition
13
Decision Tree for Calculating Shipping Charges (Figure 6-24)
Systems Analysis and Design in a Changing World, 4th Edition
14
7
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
Systems Analysis and Design in a Changing World, 4th Edition
15
Assignment #2 1. 2.
Develop algorithm assignment no. 1 using a flowchart. Develop an algorithm using a decision tree structure for the following problem:
It must be done using “hand writing” ! 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 nonanggota. 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 nontraktor 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.
16
8
Learn More at: 1. 2.
http://study.com/academy/lesson/pseudocode-definition-examples-quiz.htm https://www.youtube.com/watch?v=vOEN65nm4YU
17
9