Anda di halaman 1dari 31

Pertemuan 5

Tahapan dalam Pemrograman


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

1
Syarat Program yang Baik

2
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 langkah-
langkah 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 4
Jika masalah kompleks, maka ada
baiknya masalah tersebut dipecah
menjadi modul-modul kecil agar lebih
mudah diselesaikan.

5
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

7
8
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

9
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
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
11
Data Format
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
12
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.
------------------------------------------------------------------------
n en faktorial fibonacci
-----------------------------------------------------------------------
1 . .. ..
2 . .. ..
. .. ..
10 . .. ..
------------------------------------------------------------------------

16
Scalar Operations
variable_name = expression;
addition a+b a+b
subtraction a-b a-b
multiplication axb a*b
division a/b a/b
exponent ab a^b

17
Scalar Operations
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
18
Operator Hierarchy
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)

19
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 1
3 <= 4 1
3 == 4 0
3 ~= 4 1
3>4 0
4 >= 4 1
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
More complex conditions can be represented by
combining relational operations using logic
operators
Logical operators:
& AND
| OR
xor Exclusive OR
~ NOT
23
Logical Operators
input and or xor not
a b a&b a|b xor(a,b) ~a

0 0 0 0 0 1

0 1 0 1 1 1

1 0 0 1 1 0

1 1 1 1 0 0

24
Branching Examples
Example: Assigning letter grades
Range Grade
100 grade > 95 A
95 grade > 86 B
86 grade > 76 C
76 grade > 66 D
66 grade > 0 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 ), Hasil:
break;
end ii = 1
fprintf( 'ii = %d\n', ii ); ii = 2
end End of loop
disp( 'End of loop' );

27
Latihan

Prima genap
28
LATIHAN
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
29
LATIHAN
1. 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.
2. 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