9
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?

Method & Tools for Program Analysis & Design · Programming Logic and Design, Introductory, Fourth Edition 3 ... Systems Analysis and Design in a Changing ... Systems Analysis and

Embed Size (px)

Citation preview

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

PRINT

“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

PRINT

“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