Anda di halaman 1dari 31

Pertemuan 5

Tahapan dalam Pemrograman


Program: Reserve word,
special values, data format,
operator, dll
1

Syarat Program yang Baik

Tahapan dalam Pemrograman (1)


1. Pendefinisian Masalah
a. Tentukan apa yang menjadi masalah
b. Tentukan data input yang diperlukan
c. Tentukan output yang diinginkan
Contoh : (bagaimana?)
Membuat sistem informasi pengelolaan
beasiswa di IPB
3

Tahapan dalam Pemrograman (2)


2. Buat bagan yang menggambarkan langkahlangkah penyelesaian
a. Bagan secara global :
proses manual & automatisasi
b. Bila masalah besar, pecah menjadi
beberapa bagian
c. Buat bagan dan deskripsi setiap bagian
Contoh : (bagaimana?)
Membuat sistem informasi pengelolaan
beasiswa di IPB

Jika masalah kompleks, maka ada


baiknya masalah tersebut dipecah
menjadi modul-modul kecil agar lebih
mudah diselesaikan.

Tahapan dalam Pemrograman (3)


3. Pilih Metode Penyelesaian
Pilih struktur data dan Algoritma terbaik
4. Pengkodean
a. Pilih bahasa pemrograman yang sesuai
b. Menterjemahkan algoritma ke bahasa
pemrograman
6

Tahapan dalam Pemrograman (4)


5. Mencari Kesalahan (debugging)
a. Kesalahan sintaks (penulisan program)
b. Kesalahan Pelaksanaan:
Semantik, Logika, dan ketelitian

Tahapan dalam Pemrograman (5)


6. Uji dan Verifikasi Program :

White-box testing vs Black-box testing


(by developer )
(by user)
7. Dokumentasi Program :

Internal vs External Documentation

Tahapan dalam Pemrograman (6)


8. Pemeliharaan Program (maintenance)
a. Memperbaiki kekurangan yang
ditemukan kemudian
b. Memodifikasi, karena perubahan
spesifikasi

Membutuhkan sekitar 10% dari total biaya


pembuatan sistem
Dapat digunakan sebagai jaminan dari developer
10

Special Values/ Reserve words

11

pi: value up to 15 significant digits


i, j: sqrt(-1)
Inf: infinity (such as division by 0)
NaN: Not-a-Number (such as division of zero by
zero)
clock: current date and time as a vector
date: current date as a string (e.g. 8-Okt-2015)
eps: epsilon
ans: default variable for answers

Data Format

12

Changing the data format


value = 12.345678901234567
format short
12.3457
long
12.34567890123457
short e 1.2346e+001
long e 1.234567890123457e+001
rat
1000/81
compact
loose

Contoh beberapa tipe data

13

Format Keluaran

14

Example:

15

LATIHAN:

Buat program untuk menghitung


bilangan eksponensial, faktorial dan
fibonacci untuk n = 1, 2, .., 10.

------------------------------------------------------------------------

en

faktorial

fibonacci

----------------------------------------------------------------------1
.
..
..
2
.
..
..

.
..
..
10
.
..
..
-----------------------------------------------------------------------16

Scalar Operations

17

variable_name = expression;
addition
a+b
subtraction
a-b
multiplication
axb
division
a/b
exponent
ab

a+b
a-b
a*b
a/b
a^b

Scalar Operations

18

x=3*2+6/2
x = ?
Processing order of operations is important
parenthesis (starting from the innermost)
exponentials (left to right)
multiplications and divisions (left to right)
additions and subtractions (left to right)
x=3*2+6/2
x = 9

Operator Hierarchy

19

Processing order of operations:


parenthesis (starting from the innermost)
exponentials (left to right)
multiplications and divisions (left to right)
additions and subtractions (left to right)
relational operators (left to right)
~ operators
& operators (left to right)
| operators (left to right)

Relational Operators
Relational operators are used to represent
conditions
Result of the condition is either true or
false
false is represented by 0
true is represented by 1 (non-zero)

20

Relational Operators
Operation

Result

3<4

3 <= 4

3 == 4

3 ~= 4

3>4

4 >= 4

A < B

1
21

Relational Operators
Dont confuse equivalence (==) with
assignment (=)
Be careful about round off errors during
numeric comparisons (you can represent
x == y as abs(x-y) < eps)
Relational operations have lower priority
than arithmetic operations (use parentheses
to be safe, though)

22

Logical Operators

23

More complex conditions can be represented by


combining relational operations using logic
operators
Logical operators:
&
AND
|
OR
xor
Exclusive OR
~
NOT

Logical Operators
input
a
b

and
a&b

or
a|b

xor
xor(a,b)

not
~a

24

Branching Examples

Example: Assigning letter grades


Range
100 grade >
95 grade >
86 grade >
76 grade >
66 grade >

95
86
76
66
0

Grade
A
B
C
D
F

How can we compute the letter corresponding


to a given numeric grade?
25

Letter grade example:


if ( grade > 95 ),
disp( Grade is A );
elseif ( grade > 86 ),
disp( Grade is B );
elseif ( grade > 76 ),
disp( Grade is C );
elseif ( grade > 66 ),
disp( Grade is D );
else
disp( Grade is F );
end

26

Apa keluaran dari program


algoritma berikut?
for ii = 1:5,
if ( ii == 3 ),
break;
end
fprintf( 'ii = %d\n', ii );
end
disp( 'End of loop' );

27

Hasil:
ii = 1
ii = 2
End of loop

Latihan

Prima genap
28

LATIHAN

29

Perusahaan daerah air minum menentukan


tarif per m3 air berdasarkan ketentuan sebagai
berikut:
Air(m3) Tarif per m3
0-15
300
>15
650
Buatlah algoritma dan flowchart program yang
membaca jumlah pemakaian air, untuk
menghitung biaya yang harus dibayar setiap
pelanggan

LATIHAN
1.

2.

Dibaca dua buah bilangan bulat positif (M dan N).


Kedua bilangan akan dikalikan (MxN) dengan
melakukan perjumlahan. Misal 5x4=5+5+5+5.
Buatlah algoritma dan program untuk melakukan
perkalian dengan cara perjumlahan.
Dibaca dua buah bilangan bulat positif (M dan N).
Kedua bilangan akan dihitung pangkatnya (MN)
dengan melakukan perkalian M sebanyak N. Misal
54=5x5x5x5. Buatlah algoritma dan program untuk
melakukan perpangkatan dengan cara perkalian.
30

31

Anda mungkin juga menyukai