3 programming basic

49
3. PROGRAMMING BASIC

Upload: mochamad-fajar-ramdani

Post on 27-Nov-2015

48 views

Category:

Documents


1 download

TRANSCRIPT

3. PROGRAMMING BASIC

To translate mathematical algorithm in numerical methods into a language that computers understand.

3.1 WHY PROGRAMMING?

Mathematical Model

Numerical Methods

Arithmetical Model

Logical Skill

Algorithm

Prog

ram

min

g Sk

illsComputer

Program

Computer Power

Numerical Solution

Pengetahuan mengenai NM untuk memecahkan suatu

masalah

Kemampuan logika dalam

menerjemahkan masalah kedalam

algoritma

Pengetahuan mengenai Bahasa Pemrograman& kemampuan

untuk membuat bahasa pemrograman untuk

memecahkan suatu masalah

Kemampuan komputer dalam

menjalankan program yang diperintahkan

CASE STUDY:

Diketahui:Seorang penerjun yang mempunyai massa m (= mpenerjun + mbarang) meloncat dari

pesawat yang membawanya.Jika percepatan gravitasi (g) dan koefisien drag (c).

Ditanyakan:Turunkan persamaan matematika untuk menjelaskan bagaimana hubungan antara kecepatan (v) terhadap waktu (t)?

Jwb:

FD

FU

a

Dari DBB didapat:

Dengan:

Maka:

(*)

ANALITYCAL SOLUTIONFOR THE FALLING PARACHUTIST PROBLEM:

Diketahui:Jika massa dari penerjun dan perlengkapannya adalah 68,1 kg, percepatan gravitasinya (g = 9,8 m/s2), dan koefisien dragnya (c =12,5 kg/s).

Ditanyakan:Bagaimana hubungan kecepatan terhadap waktu yang terjadi dari mulai dia melompat dari pesawat dan kapan dia mencapai terminal velocity-nya?

Jawab:Dari persamaan (*) akan didapat:

untuk setiap harga “t” akan didapat harga “v” sbb:

Untuk t = 0 detik, akan didapat v sbb:

DENGAN BANTUAN EXCELDIDAPAT HUBUNGAN KECEPATAN TERHADAP WAKTU SBB:

0 10 20 30 40 50 600.00

10.00

20.00

30.00

40.00

50.00

60.00

v (m/s) vs t (s)

t (s)

v (m/s)

Terminal Velocity

pada t = 52 s dengan v = 53,39 m/s

Metode Numerik adalah mereformula persamaan matematika yang telah diturunkan pada slide sebelumnya menjadi operasi aritmetika sbb:

Maka:

Sehingga:

New Value = Old Value + Slope x Step Size

t

v

ti

v(ti

)

ti+1

v(ti+1

)

Δt

Δv

Approximate slope

True slope

NUMERICAL SOLUTIONFOR THE FALLING PARACHUTIST PROBLEM:

Diketahui:Dengan soal yang sama seperti pada Analytical Solution. Dan mempergunakan step size 2 untuk perhitungannya.

Ditanyakan:Bagaimana hubungan kecepatan terhadap waktu yang terjadi dari mulai dia melompat dari pesawat dan kapan dia mencapai terminal velocity-nya?

Jawab:Untuk

didapat

Untukdidapat

3.2 COMPUTERS PROGRAMS

Computer program are a set of instructions that direct the computer to perform a certain task

Classification:- High Level: Programming language

(Fortran, Basic, Pascal, C, etc.)

- Low Level : Machine language

Programming Topics:a. Simple information representation

ex. constants (m, g), variables (v, t), etc. b. Advanced information representation (data structure, arrays, records) c. Mathematical formulae d. Input (m)/Output (v, graph) e. Logical representation (Y/N) f. Modular Programming (Sub Routine/Sub Program)

3.3 STRUCTURED PROGRAMMING

Structured program is a set rules that prescribe good style habits for the programmer

Apart from structured programming:- Top-Down Programming (Bhs. BASIC) Keunggulan: Faster for computer to read but less simple Kekurangan:

Difficult to understand/read by human- Modular Programming Keunggulan: Easier to understand Communicative

Characteristics:- Clear and easy to understand- Easier to debug, test, run, and update/modify- Sequence, selection, and repetition- Requires computers that can translate it to unstructured version before running it

Communications: - Algorithm is a set of steps to instruct a

computer to perform a certain task- Flow Chart is a virtual/graphical

representation of an algorithm- Pseudo Code is an alternative approach to express an algorithm that bridges the gap between flow chart & computer code

3.4 SIMBOLS USED IN FLOWCHART

SYMBOL NAME FUNCTION

Terminator Represents the beginning or end of a program

Flowlines

Represents the flow of logic. The humps on the horizontal arrow indicate that it passes over and does not connect with the vertical flowlines

Process Represents calculations or data manipulations

Input/Output Represents inputs or outputs of data and information

DecisionRepresents a comparison, question, or decision that determines alternative paths to be follow

SYMBOL NAME FUNCTION

On-page connector

Represents a break that is continued on the same page

Off-page connector

Represents a break that is continued on another page

Count-controlled loop

Used for loops which repeat a prespecified number of iterations

PERBEDAAN PENGGUNAAN ON-PAGE & OFF-PAGE CONNECTOR

α

α β

β δ

N

Y

Page-1

δ

YN

Page-2

3.5 LOGICAL REPRESENTATION

A. Sequence

(a) Flowchart

(b) Pseudocode

B. Selection

(a) Single-alternative structure (IF/THEN)

Flowchart Pseudocode

(b) Double-alternative structure (IF/THEN/ELSE)

Flowchart Pseudocode

(c) Multi-alternative structure (IF/THEN/ELSEIF)

Flowchart Pseudocode

(d) CASE structure (SELECT or SWITCH)

Flowchart Pseudocode

C. Repetition

(a) The DOEXIT or break loop

Flowchart Pseudocode

(b) The count-controlled or DOFOR construct

Flowchart Pseudocode

EXAMPLE-1:

Buat Flowchart, Algoritma, dan Pseudocode untuk menjumlahkan dua buah bilangan A dan B kedalam variabel C.

JAWAB:A. Flowchart

START

A, B

C = A + B

C

END

B. Algoritma

1. Memulai Program

2. Memasukkan data A dan B

3. Menjumlahkan data A dan B kedalam variabel C

4. Menampilkan hasil penjumlahan, C

5. Mengakhiri program

C. Pseudocode

INPUT A, B C = A + BDISPLAY C

EXERCISE-1:

Buat Flowchart, Algoritma, dan Pseudocode untuk menghitung:a. Luas Persegipanjangb. Luas Kubusc. Luas Segitigad. Luas Jajaran Genjange. Luas Lingkaranf. Volume Balokg. Volume Bolah. Volume Tabungi. Keliling Persegipanjangj. Keliling Lingkaran

EXAMPLE-2:

Buatlah Flowchart, Algoritma, dan Pseudocode untuk menentukan bilangan terbesar dari 2 buah bilangan.

JAWAB:

A. Flowchart

START

Bil_1, Bil_2

Bil_1 adalah bilangan yang

terbesar

END

Bil_1 > Bil_2

Bil_1 = Bil_2

Bil_1 sama besar dengan

Bil_2

Bil_2 adalah bilangan yang

terbesar

Y

Y

N N

B. Algoritma

1. Memulai Program2. Memasukkan data Bil_1 dan Bil_23. Membandingkan, apakah Bil_1 lebih dari Bil_2?

Jika Ya, lanjutkan program ke langkah-4,Jika Tidak, lanjutkan program ke langkah-5

4. Menampilkan “Bil_1 adalah bilangan yang terbesar” dan lanjutkan ke langkah-8

5. Membandingkan apakah Bil_1 sama dengan Bil_2?Jika Ya, lanjutkan program ke langkah-6,Jika Tidak, lanjutkan program ke langkah-7

6. Menampilkan “Bil_1 sama besar dengan Bil_2” dan lanjutkan ke langkah-8

7. Menampilkan “Bil_2 adalah bilangan yang terbesar”8. Mengakhiri Program

C. Pseudocode

INPUT Bil_1, Bil_2IF Bil_1 > Bil_2 THEN DISPLAY “Bil_1 adalah bilangan yang terbesar”ELSE IF Bil_1 = Bil_2 THEN DISPLAY “Bil_1 sama besar dengan Bil_2” ELSE DISPLAY “Bil_2 adalah bilangan yang terbesar” ENDIFENDIF

EXERCISE-2:

Buatlah Flowchart, Algoritma, dan Pseudocode untuk menentukan Grade dari suatu nilai, dengan ketentuan sbb:

80 < A ≤ 10065 < B ≤ 8055 < C ≤ 6545 < D ≤ 55

0 < E ≤ 45

EXAMPLE-3:

Buatlah Flowchart, Algoritma, dan Pseudocode untuk membuat deret Bilangan dari 1 s.d 10

JAWAB:

A. Flowchart

START

J

END

J > 10

J

Y

N

J = 0

J = J + 1

B. Algoritma

1. Memulai Program2. Memasukkan data J3. Mengisi J dengan 04. Membandingkan apakah J lebih dari 10?

Jika Ya, lanjutkan program ke langkah-5,Jika Tidak, lanjutkan program ke langkah-8

5. Menjumlahkan J yang lama dengan 1 dan memasukkannya ke J yang baru

6. Menampilkan nilai J yang baru7. Kembali ke langkah-48. Program Selesai

C. Pseudocode

INPUT J J = 0IF J > 10 THEN ENDIF ELSE J = J + 1 DISPLAY JENDIF

3.6 MODULAR PROGRAMMING

SP1 SP2

Main Program

Sub Program 1 (SP1)

Sub Program 2 (SP2)

3.7 EXCEL

3.8 MATLAB

TASK-2:

Buatkan Algoritma dan Pseudocode untuk Flowchart di samping ini!

Buatkan Algoritma dan Pseudocode untuk Flowchart di samping ini!