konsep dasar pemrograman komputer

Post on 04-Feb-2016

234 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

DESCRIPTION

Konsep Dasar Pemrograman Komputer. REVIEW. Issa Arwani, S.kom, M.sc. Issa.arwani@ub.ac.id 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

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

REVIEW

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

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

PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS TEKNIK

UNIVERSITAS BRAWIJAYAMALANG

©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 ?

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

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

MASALAH / IDEA PEMECAHAN SOLUSI / HASIL

Algoritma

Source Code

Executable Code

Software

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

REVIEW

©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

©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

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

©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

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

REVIEW

©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

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

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

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

Buat Program Luas Segi Empat

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

©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.

©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

©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

©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

©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

©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

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

Apa yang anda ketahui tentang konsep Percabangan?

Percabangan?

©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

……

©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

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

...

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

©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

©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

©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

©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

©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

©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

©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

©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

©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

©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

©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

©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

©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

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

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

top related