Proglan Pertemuan II

REVIEW

Issa Arwani, S.kom, M.sc.
Issa.arwani@ub.ac.id
UNIVERSITAS BRAWIJAYA
MALANG

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 1





Apa yang anda ketahui
tentang konsep DPK ?

DPK,

Algoritma ?

Bagaimana
merancang algoritma
dan tahapan
pembuatan algoritma
pemrograman
terstruktur.

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 2

COMPUTER

TO – COMPUTE + ER
(Menghitung/Mengolah bilangan)


Nil

Data yg Diolah
(Masukan/Input)

ta
a
ai D

(Mengolah Data)
Nil
ai D
ata

PUSAT PENGOLAH DATA
(berbasis Arithmatika
dan Logika)

Data hasil pengolahan
(Keluaran/Output)


Penyimpanan Data
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 3

MASALAH / IDEA

Algorit
ma

©Ian Sommerville 2004

PEMECAHAN

Source
Code


SOLUSI / HASIL

Software

Executabl
e Code

Software Engineering, 7th edition. Chapter 1

Slide 4

What is software?
Office Application

Simulation

Multimedia
Application

©Ian Sommerville 2004


Operating System

SOFT
WARE

Oh, I see...
personal
software

Programming IDE

Software Engineering, 7th edition. Chapter 1

Slide 5

DEFINISI
MASALAH

MEMBUAT

MODEL

RANCANG
ALGORITMA

TULIS PROGRAM
COMPILE

Y

Sintak Err

T

Executable code: =>
Run

Y

Output Err


T
DOKUMEN TASI

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 6

DEFINISI
MASALAH

MEMBUAT
MODEL

RANCANG
ALGORITMA

TULIS PROGRAM


COMPILE

Masalah:
Tentukan akar-akar dari suatu
persamaan kwadrat.
Definisi:
Persamaan kwadrat : ax^2 + bx + c = 0
Data input yg diperlukan ?

Nilai dari a, b dan c : tipe real

Sintak Err
Executable code: =>
Run

Output Err
DOKUMEN TASI

©Ian Sommerville 2004


Software Engineering, 7th edition. Chapter 1

Slide 7

DEFINISI
MASALAH

MEMBUAT
MODEL

RANCANG
ALGORITMA

TULIS PROGRAM

COMPILE

Model Matematika :


Sintak Err

Rumus ABC
x1 = (-b + sqrt(b^2 - 4ac))/2a

Executable code: =>
Run

x2 = (-b – sqrt(b^2 - 4ac))/2a
Output Err
DOKUMEN TASI
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 8

DEFINISI
MASALAH


MEMBUAT
MODEL

RANCANG
ALGORITMA

Start

TULIS PROGRAM
COMPILE

Masukkan a,b,c
Sintak Err

d = b^2 – 4ac

d
Run

Output Err

DOKUMEN TASI

Stop
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 9

DEFINISI
MASALAH

MEMBUAT
MODEL

RANCANG
ALGORITMA

TULIS PROGRAM

COMPILE

Sintak Err
Executable code: =>
Run

Output Err
DOKUMEN TASI
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 10

DEFINISI
MASALAH

MEMBUAT
MODEL

RANCANG
ALGORITMA

TULIS PROGRAM

COMPILE

Sintak Err
Executable code: =>
Run

Output Err
DOKUMEN TASI
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 11

DEFINISI
MASALAH

MEMBUAT
MODEL

RANCANG
ALGORITMA

TULIS PROGRAM

COMPILE

Sintak Err
Executable code: =>
Run

Output Err
DOKUMEN TASI
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 12

DEFINISI
MASALAH

MEMBUAT
MODEL

RANCANG
ALGORITMA

TULIS PROGRAM

COMPILE

Sintak Err
Executable code: =>
Run

Output Err
DOKUMEN TASI
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 13

DEFINISI
MASALAH

MEMBUAT
MODEL

RANCANG
ALGORITMA

TULIS PROGRAM

COMPILE

Sintak Err
Executable code: =>
Run

Output Err
DOKUMEN TASI
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 14

DEFINISI
MASALAH

MEMBUAT
MODEL

RANCANG
ALGORITMA

TULIS PROGRAM

COMPILE

Sintak Err
Executable code: =>
Run

Output Err
DOKUMEN TASI
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 15

REVIEW

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 16









Flexibility : mendekati low level language namun
mudah dimengerti.
Portability : dipakai mulai dari komputer mikro
sampai superkomputer
Bahasa yang banyak digunakan dalam ilmu
komputer untuk membuat O/S dan program
aplikasi, dll.
Didukung oleh banyak pustaka (libraries)

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 17



1.

Format penulisan fungsi main
main()
{
statements;

3.

}

2.

void main()
{
statements;
}

©Ian Sommerville 2004

4.

main()
{
statements;
return (0);
}
int main()
{
statements;
return (0);
}

Software Engineering, 7th edition. Chapter 1

Slide 18



Contoh:
int main()
{
printf(”Selamat datang di FT-UB\n”);
return (0);
}

Jika di kompilasi dengan DevC++ program ini akan error,
dgn Error Message: ‘printf’
undeclared.

#include
int main()
{
printf(”Selamat datang di FT-UB\n”);
return (0);
}

#include adalah sebuah
directive/arahan untuk
memberitahu compiler bahwa
function prototype untuk fungsi
printf ada pada header file stdio.h

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 19








Menggunakan pasangan /* dan */
Digunakan agar program lebih mudah dibaca dan dimengerti
Diabaikan oleh compiler
Untuk komentar 1 (satu) baris cukup menggunakan tanda //
diawal baris
Contoh program C sederhana:
/*---------------------------------Program Pertama
----------------------------------*/
#include
void main() {
printf(“Helloworld \n”); return (0);
}
//Program mencetak tulisan Helloworld
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 20













©Ian Sommerville 2004

\a
\b
\t
\n
\v
\r
\’
\”
\\
\xdd
\ddd

bell, alert, system beep
back space
horizontal tab
new line, line eed
vertical tab
carriage return
single quote
double quote
backslash
notasi hexadecimal
notasi octal

Software Engineering, 7th edition. Chapter 1

Slide 21










Variabel : Identifier yang memiliki alamat memori tertentu (di RAM)
untuk menyimpan nilai data.
Setiap variabel memiliki nama/identifier, alamat (L-Value), tipe,
size(rentang nilai) dan data (R-Value).
Nilai data atau isi variabel dapat diubah-ubah pada saat Run time
Format deklarasi variabel:
;
;
Contoh:
int a, b, c, jumlah;
float gaji, bonus;
int jml_mhs = 20;

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 22



Deklarasi Variabel:




Variabel dpt dideklarasikan di setiap awal blok statement.
Blok statement disebut juga “compound statement” adalah
statement-statement yang berada diantara { dan }.
Contoh deklarasi variabel:
int x;
int y;
int z;
atau bisa ditulis :
int x, y, z;
atau bisa juga ditulis :
int x; int y; int z;

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 23



Pada dasarnya tipe data primitif pada bahasa pemrograman
C ada 5, dan ditambah 4 tipe Modifier yaitu:
Tipe Data Primitif/Bawaan

Keyword

1.
2.
3.
4.
5.

1.
2.
3.
4.
5.

Character
Integer
Floating point
Double floating point
Void

©Ian Sommerville 2004

char
int
float
double
void

Software Engineering, 7th edition. Chapter 1

Slide 24

REVIEW

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 25



Spesifikai format sbb:
%[flags][width][.precision] type
Spes. Format

Keterangan

flags

Menentukan rata kanan, kiri atau bertanda:
• None : rata-kanan
• : rata-kiri

width

Menentukan jumlah kolom yang disediakan

precision

menentukan jumlah angka di belakang titik desimal
(untuk bilangan pecahan)

type

Menentukan tipe variabel/nilai-data yang akan
ditampilkan

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 26

Kode Format

Keterangan

“%c”

Menampilkan sebuah karakter tunggal terformat

“%nc”

Menampilkan sebuah karakter lebar n kolom rata kanan

“%-nc”

Menampilkan sebuah karakter lebar n kolom rata kiri

Contoh:
#include
#include
int main(){
printf("%c\n",65);
printf("%5c%5c%5c\n",65,66,67);
printf("%-5c%-5c%-5c\n",65,66,67);
system("PAUSE");
return(0);
}
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 27



Header file dari scanf terletak di stdio.h



Format:
int scanf( const char *format [, argument]... );



Semua tipe argument pada scanf adalah pointer (alamat dari
variabel yang akan diisi data).



Untuk memperoleh alamat dari variabel digunakan operator &.



Fungsi scanf didefinisikan di header file stdio.h



Contoh :
int umurTahun;
scanf(”%d”, &umurTahun);

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 28



Buat Program Luas Segi Empat

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 29



Contoh Program Luas Segi Empat

/* Program Luas_Segi_Empat v1*/
#include
int main()
{
int panjang, lebar, luas;
printf("Menghitung Luas Segiempat\n\n");
printf("Panjang : ");
scanf("%d",&panjang);
printf("Lebar
: ");
scanf("%d",&lebar);
luas = panjang * lebar;
printf("\nLuas = %d x %d = %d\n\n", panjang, lebar, luas);
return(0);
©Ian}Sommerville 2004
Software Engineering, 7th edition. Chapter 1

Slide 30

REVIEW

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 31









Komponen utama ekspresi adalah operand dan operator.
Operand dapat berupa variabel, konstanta, nilai data konstan
maupun fungsi. Setiap operand harus memiliki nilai data.
Operator adalah simbol yang mengolah nilai pada operand dan
menghasilkan satu nilai baru.

Dalam pemrograman komputer penulisan perhitungan
arithmatika/logika TIDAK BOLEH BERTINGKAT. Contoh:
xy  yz
x
xy  yz

Untuk itu setiap operator memiliki
presedensi (hirarki) dan assosiativitas.

Untuk itu
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 32



Contoh:



Ditulis dalam bhs pemrograman C:

xy  yz
x
xy  yz

x = (x * y + y * z) / (x * y – y * z);
1

4

2

5
6

3
7
8

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 33



Digunakan untuk melakukan operasi matematika
Simbol

Fungsi

Contoh

+

Penambahan

x = y + 6;

-

Pengurangan

y = x – 5;

*

Perkalian

y = y * 3;

/

Pembagian

z = x/y;

%

Modulo

++

Increment

x++;

--

Decrement

z--;

()

Menaikan Priority

©Ian Sommerville 2004

A = 10 % 3;

x=(2+3)*5

Software Engineering, 7th edition. Chapter 1

Slide 34



Digunakan untuk membandingkan dua nilai, dan hasilnya
TRUE atau FALSE
Simbol

©Ian Sommerville 2004

Fungsi

==

Sama Dengan

!=

Tidak Sama Dengan

<

Lebih Kecil Dari

>

Lebih Besar Dari

=

Lebih Besar atau Sama Dengan

?:

Conditional assignment

Software Engineering, 7th edition. Chapter 1

Slide 35





Digunakan untuk melakukan operasi logika
Simbol

Fungsi

&&

AND

||

OR

!

NOT

Table Kebenaran operator logika:
A

B

!A

A && B

A || B

True

True

False

True

True

True

False

False

False

True

False

True

True

False

True

False

False

True

False

False

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 36

#include
int main()
{ int x=10, y=6;
x *= 5 + y;
y += y * x;
printf(“x = %d\ny = %d",x,y);
return(0);
}
Apakah keluaran yang akan ditampilkan di layar monitor
bila program di atas berhasil dieksekusi ?
©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 37

End of This Session...

©Ian Sommerville 2004

Software Engineering, 7th edition. Chapter 1

Slide 38