Konsep Dasar Pemrograman Komputer

40
©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 REVIEW Issa Arwani, S.kom, M.sc. [email protected] http://www.power.lecture.ub.ac.id PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS BRAWIJAYA MALANG

description

Konsep Dasar Pemrograman Komputer. REVIEW. Issa Arwani, S.kom, M.sc. [email protected] http://www.power.lecture.ub.ac.id PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS BRAWIJAYA MALANG. Konsep Dasar Pemrograman Komputer. DPK, Algoritma ?. - PowerPoint PPT Presentation

Transcript of Konsep Dasar Pemrograman Komputer

Page 1: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

REVIEW

Issa Arwani, S.kom, [email protected]

http://www.power.lecture.ub.ac.id

PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS TEKNIK

UNIVERSITAS BRAWIJAYAMALANG

Page 2: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 2

Apa yang anda ketahui tentang konsep DPK ?

Bagaimana merancang algoritma dan tahapan pembuatan algoritma pemrograman terstruktur.

DPK, Algoritma ?

Page 3: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 3

Penyimpanan Data

PUSAT PENGOLAH DATA(berbasis Arithmatika

dan Logika)

Data yg Diolah

(Masukan/Input)

Data hasil pengolahan

(Keluaran/Output)

Nilai Data Nilai Data

COMPUTER TO – COMPUTE + ER

(Menghitung/Mengolah bilangan)

(Mengolah Data)

Page 4: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 4

MASALAH / IDEA PEMECAHAN SOLUSI / HASIL

Algoritma

Source Code

Executable Code

Software

Page 5: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 5

REVIEW

Page 6: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 6

Contoh:

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

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

#include <stdio.h>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

Page 7: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 7

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<stdio.h>void main() { printf(“Helloworld \n”); return (0);} //Program mencetak tulisan Helloworld

Page 8: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 8

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:<tipe> <nama [, ...]>;<tipe> <nama = nilai_awal [, ...]>;

Contoh: int a, b, c, jumlah;float gaji, bonus;int jml_mhs = 20;

Page 9: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 9

Pada dasarnya tipe data primitif pada bahasa pemrograman C ada 5, dan ditambah 4 tipe Modifier yaitu:

Tipe Data Primitif/Bawaan Keyword

1. Character2. Integer3. Floating point4. Double floating point5. Void

1. char2. int3. float4. double5. void

Page 10: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 10

REVIEW

Page 11: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 11

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

Page 12: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 12

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<stdio.h>#include<iostream.h>

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);}

Page 13: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 13

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);

Page 14: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 14

Buat Program Luas Segi Empat

Page 15: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 15

Contoh Program Luas Segi Empat

/* Program Luas_Segi_Empat v1*/

#include <stdio.h>

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);}

Page 16: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 16

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:

yzxy

yzxyx

Untuk itu

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

Page 17: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 17

Contoh:

Ditulis dalam bhs pemrograman C:

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

yzxy

yzxyx

1 2

3

4 5

6

7

8

Page 18: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 18

Digunakan untuk melakukan operasi matematika

18

Simbol Fungsi Contoh

+ Penambahan x = y + 6;

- Pengurangan y = x – 5;

* Perkalian y = y * 3;

/ Pembagian z = x/y;

% Modulo A = 10 % 3;

++ Increment x++;

-- Decrement z--;

() Menaikan Priority x=(2+3)*5

Page 19: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 19 19

Digunakan untuk membandingkan dua nilai, dan hasilnya TRUE atau FALSE

Simbol Fungsi

= = Sama Dengan

!= Tidak Sama Dengan

< Lebih Kecil Dari

> Lebih Besar Dari

<= Lebih Kecil atau Sama Dengan

>= Lebih Besar atau Sama Dengan

?: Conditional assignment

Page 20: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 20 20

Digunakan untuk melakukan operasi logika

Table Kebenaran operator logika:

A B !A A && B A || BTrue True False True True

True False False False True

False True True False True

False False True False False

Simbol Fungsi

&& AND

|| OR

! NOT

Page 21: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 21

#include <stdio.h>int main(){ int x=10, y=6; x *= 5 + y; // hasil x=110

y += y * x; //hasil y=66 printf(“x = %d\ny = %d",x,y); return(0);}

Apakah keluaran yang akan ditampilkan di layar monitor bila program di atas berhasil dieksekusi ?

21

Page 22: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 22

Apa yang anda ketahui tentang konsep Percabangan?

Percabangan?

Page 23: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 23

Case

Ada 2 wanita, A dan B. B itu kurang cantik tapi baik dan pintar, sedangkan A itu cantik dan baik tapi kurang pintar. Pilih A atau B ?

A B

Pilih mana ya

……

Page 24: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 24

Penggambaran dalam flow-chart

Eks.boolean

Statement;Statement;

...

true

false

Statements sebelum if

Statements setelah if

Eks.boolean

Statement;Statement;

...

true

false

Page 25: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 25

Penggambaran dalam flow-chart

Statements sebelum if

Statements setelah if

Eks.boolean

Statement_01;Statement_02;

...

truefalse

Statement_11;Statement_12;

...

Eks.boolean

Statement_01;Statement_02;

...

truefalse

Statement_11;Statement_12;

...

Page 26: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 26

Page 27: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 27

Struktur logika switch-case dapat digambarkan sbb.:

case b

case a

case z

case a action(s)

case b action(s)

case z action(s)

break

break

break

default action(s)

true

true

true

false

false

false

case b

case a

case z

case a action(s)

case b action(s)

case z action(s)

break

break

break

default action(s)

true

true

true

false

false

false

Page 28: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 28

Algoritma Sarapan Pagi

MulaiAmbil piringMasukkan nasi dan lauk dalam piringAmbil sendok dan garpuUlangi

Angkat sendok dan garpu

Ambil nasi dan laukSuapkan ke dalam mulutTaruh sendok dan garpuKunyah

Sampai (nasi dan lauk habis) ATAU kekenyangan Bereskan piring, sendok dan garpu

Selesai28

Page 29: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 29 29

Struktur Pengulangan Struktur Pengulangan ffor Struktur logika pengulangan for

exp1

exp3

statements

exp2 true

false

exp1

exp3

statements

exp2 true

false

Page 30: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 30 30

Struktur Pengulangan Struktur Pengulangan ffor Contoh :

for (x=1; x <= 10; x++) printf(“%d\n”,x);

x = 1

x++

printf(“%d\n”,x)

x<=10

true

false

Page 31: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 31

Sintaks :while (eks.boolean) statements;

atau :

while(eks.boolean){

statement1;

statement2;

…..

}

31

Struktur Pengulangan Struktur Pengulangan whilewhile

eks. boolean

statements

true

false

Page 32: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 32

Contoh : while(product <= 1000) product = 2*product;

32

product <= 1000

product=2*product;

false

true

Struktur Pengulangan Struktur Pengulangan whilewhile

Page 33: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 33

Sintaks :do statement while (eks.boolean);

atau :

do { statement1; statement2; …..} while(eks.boolean)

Selama eks.boolean bernilai true maka statements dieksekusi berulang-ulang.

Pengetesan eks.boolean dilakukan setelah meng-eksekusi statements.

33

Struktur Pengulangan Struktur Pengulangan do - whiledo - while

eks. boolean

true

false

statements

Page 34: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 34

Contoh:int i = 0;do {

printf(”%d\n”, i);} while(++i <=10);

34

++i <= 10 true

false

I = 0

Cetaki

Struktur Pengulangan Struktur Pengulangan do - whiledo - while

Page 35: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 35

Pada pengulangan while, statement atau blok statement mungkin tidak akan pernah dilaksanakan, bila nilai ekspresi boolen bernilai false, karena operasi pengulangan diawali dengan mengeksekusi ekspresi boolean terlebih dahulu.

Pada pengulangan do-while statement atau blok statement pasti dikerjakan paling sedikit satu kali, karena ekspresi boolean baru diuji pada akhir blok pengulangan.

35

PengulanganPengulangan

Page 36: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 36

break • Digunakan untuk keluar dari loop (for, while dan do-

while)• Digunakan untuk keluar dari switch

continue • skip sisa instruksi dalam loop, dan eksekusi loop

berjalan ke tahap selanjutnya

36

Statement Statement breakbreak dan dan continuecontinue

Page 37: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 37

#include<stdio.h>int main() { int x = 1; while (x<=10) { printf( "%d\n", x ); x++; if (x>5) break; } return 0;}

37

Contoh penggunaan statement break pada loop yang menyebabkan program keluar dari loop tersebut

Keluar dari loop

BreakBreak

Page 38: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 38

Contoh:

38

#include <stdio.h> int main() { int x; for(x=1; x<=10; x++) { if (x == 5) continue; printf("%d ", x); } return 0;}

Output : 1 2 3 4 6 7 8 9 10

continuecontinue

Page 39: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 39 39

do {

scanf(“%f”, &x);

if(x<0) {

printf”\nEror. Negatif”);

break;

}

/*Proses nonnegatif */

} while(exp);

do {

scanf(“%f”, &x);

if(x<0) {

printf”\nEror. Negatif”);

continue;

}

/*Proses nonnegatif */

} while(exp);

breakbreak vs vs continuecontinue

Page 40: Konsep Dasar Pemrograman Komputer

©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 40

End of This Session...End of This Session...