410 likes | 852 Views
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 ?.
E N D
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 ? • Apa yang anda ketahui tentang konsep DPK ? • Bagaimana merancang algoritma dan tahapan pembuatan algoritma pemrograman terstruktur.
Konsep Dasar Pemrograman Komputer COMPUTER TO – COMPUTE + ER (Menghitung/Mengolahbilangan) (Mengolah Data) Nilai Data Nilai Data Data hasil pengolahan Data yg Diolah PUSAT PENGOLAH DATA (berbasis Arithmatika dan Logika) (Keluaran/Output) (Masukan/Input) Penyimpanan Data
TAHAP PENGEMBANGAN ALGORITMA MASALAH / IDEA Software PEMECAHAN SOLUSI / HASIL Source Code Executable Code Algoritma
Bahasa C REVIEW
Struktur Program • 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 adalah sebuah directive/arahan untuk memberitahu compiler bahwa function prototype untuk fungsi printf ada pada header file stdio.h #include <stdio.h> int main() { printf(”Selamat datang di FT-UB\n”); return (0); }
Komentar • Menggunakanpasangan/*dan*/ • Digunakan agar program lebihmudahdibacadandimengerti • Diabaikanolehcompiler • Untukkomentar 1 (satu) bariscukupmenggunakantanda//diawalbaris • Contoh program C sederhana: /*---------------------------------- Program Pertama ----------------------------------*/ #include<stdio.h> void main() { printf(“Helloworld \n”); return (0); } //Program mencetak tulisan Helloworld
Variabel • 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;
Tipe Data • Pada dasarnya tipe data primitif pada bahasa pemrograman C ada 5, dan ditambah 4 tipe Modifier yaitu:
Operasi Output Input REVIEW
Fungsiprintf • Spesifikai format sbb: %[flags][width][.precision] type
Format Karakter 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); }
Fungsiscanf() • Header file dari scanf terletak di stdio.h • Format: • int scanf( const char *format [,argument]... ); • Semua tipe argument pada scanfadalahpointer(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);
LATIHAN • Buat Program Luas Segi Empat
LATIHAN • 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); }
Ekspresi • 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: Untuk itu setiap operator memiliki presedensi (hirarki) dan assosiativitas. Untuk itu
OPERATOR denganPrioritas danUrutan Pengerjaan • Contoh: • Ditulis dalam bhs pemrograman C: x = (x * y + y * z)/(x * y – y * z); 4 5 1 2 6 3 7 8
Operator Aritmatika • Digunakan untuk melakukan operasi matematika
Operator Relasional • Digunakanuntukmembandingkanduanilai, danhasilnya TRUE atau FALSE
Operator Logika • Digunakan untuk melakukan operasi logika • Table Kebenaran operator logika:
Latihan #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 dilayar monitor bila program di atas berhasil dieksekusi ?
Pencabangan Percabangan? • Apa yang anda ketahui tentang konsep Percabangan?
Case Pilih mana ya …… • 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
Pernyataan if • Penggambaran dalam flow-chart Statements sebelum if Eks.boolean Eks.boolean true true Statement; Statement; ... Statement; Statement; ... false false Statements setelah if
Pernyataan if-else • Penggambaran dalam flow-chart Statements sebelum if Eks.boolean Eks.boolean false true false true Statement_11; Statement_12; ... Statement_01; Statement_02; ... Statement_11; Statement_12; ... Statement_01; Statement_02; ... Statements setelah if
Pernyataan switch-case • Struktur logika switch-case dapat digambarkan sbb.: true true case a case a action(s) break case a case a action(s) break false false true true case b case b action(s) break case b case b action(s) break false false true true case z case z action(s) break case z case z action(s) break false false default action(s) default action(s)
ContohAlgoritma AlgoritmaSarapanPagi Mulai Ambilpiring Masukkannasidanlaukdalampiring Ambilsendokdangarpu Ulangi Angkatsendokdangarpu Ambilnasidanlauk Suapkankedalammulut Taruhsendokdangarpu Kunyah Sampai (nasidanlaukhabis) ATAU kekenyangan Bereskanpiring, sendokdangarpu Selesai
Struktur Pengulangan for • Struktur logika pengulangan for exp1 exp1 exp3 exp3 statements statements true true exp2 exp2 false false
Struktur Pengulangan for • Contoh : • for (x=1; x <= 10; x++) printf(“%d\n”,x); x = 1 x++ printf(“%d\n”,x) true x<=10 false
Struktur Pengulangan while • Sintaks : while (eks.boolean) statements; atau : while(eks.boolean){ statement1; statement2; ….. } statements true eks. boolean false
Struktur Pengulangan while • Contoh : • while(product <= 1000) product = 2*product; product=2*product; product <= 1000 true false
Struktur Pengulangan do - while • Sintaks : do statement while (eks.boolean); atau : do { statement1; statement2; ….. } while(eks.boolean) • Selamaeks.booleanbernilaitrue makastatements dieksekusiberulang-ulang. • Pengetesaneks.booleandilakukansetelahmeng-eksekusistatements. statements true eks. boolean false
Struktur Pengulangan do - while • Contoh: inti = 0; do { printf(”%d\n”, i); } while(++i<=10); I = 0 Cetak i true ++i <= 10 false
Pengulangan • 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.
Statement break dan continue • 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
Break • Contoh penggunaan statement breakpada loop yangmenyebabkan program keluardari loop tersebut #include<stdio.h> int main() { int x = 1; while (x<=10) { printf( "%d\n", x ); x++; if (x>5) break; } return 0; } Keluardari loop
continue • Contoh: #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
break vs continue do { scanf(“%f”, &x); if(x<0) { printf”\nEror. Negatif”); continue; } /*Prosesnonnegatif */ … } while(exp); • do { • scanf(“%f”, &x); • if(x<0) { • printf”\nEror. Negatif”); • break; • } • /*Proses nonnegatif */ • … • } while(exp);