konsep dasar pemrograman komputer
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 PresentationTRANSCRIPT
©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
©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...