©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 REVIEW Issa Arwani, S.kom, M.sc. UNIVERSITAS BRAWIJAYA MALANG
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 2 l Apa yang anda ketahui tentang konsep DPK ? l Bagaimana merancang algoritma dan tahapan pembuatan algoritma pemrograman terstruktur. DPK, Algoritma ?
©Ian Sommerville 2004Software 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 COMPUTER TO – COMPUTE + ER (Menghitung/Mengolah bilangan) (Mengolah Data)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 4 MASALAH / IDEA PEMECAHANSOLUSI / HASIL Algoritma Source Code Executable Code Software
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 5 What is software? Oh, I see... Office ApplicationOperating System Programming IDE Multimedia Application Simulationpersonal software SOFT WARE
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 6 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI Y Y T T
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 7 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI 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
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 8 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI Model Matematika : Rumus ABC x1 = (-b + sqrt(b^2 - 4ac))/2a x2 = (-b – sqrt(b^2 - 4ac))/2a
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 9 TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA Start d = b^2 – 4ac d < 0 Masukkan a,b,c x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Stop Y T Cetak: x1, x2 Cetak: “Akar majiner”
©Ian Sommerville 2004Software 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 2004Software 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 2004Software 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 2004Software 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 2004Software 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 2004Software Engineering, 7th edition. Chapter 1 Slide 15 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Sintak Err Executable code: => Run Output Err DOKUMEN TASI
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 16 REVIEW
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 17 l Flexibility : mendekati low level language namun mudah dimengerti. l Portability : dipakai mulai dari komputer mikro sampai superkomputer l Bahasa yang banyak digunakan dalam ilmu komputer untuk membuat O/S dan program aplikasi, dll. l Didukung oleh banyak pustaka (libraries)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 18 l Format penulisan fungsi main main() { statements; } void main() { statements; } main() { statements; return (0); } int main() { statements; return (0); }
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 19 l 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 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 2004Software Engineering, 7th edition. Chapter 1 Slide 20 l Menggunakan pasangan /* dan */ l Digunakan agar program lebih mudah dibaca dan dimengerti l Diabaikan oleh compiler l Untuk komentar 1 (satu) baris cukup menggunakan tanda // diawal baris l Contoh program C sederhana: /* Program Pertama */ #include void main() { printf(“Helloworld \n”); return (0); } //Program mencetak tulisan Helloworld
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 21 l \abell, alert, system beep l \b back space l \thorizontal tab l \nnew line, line eed l \v vertical tab l \rcarriage return l \’single quote l \”double quote l \\backslash l \xdd notasi hexadecimal l \ddd notasi octal
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 22 l Variabel : Identifier yang memiliki alamat memori tertentu (di RAM) untuk menyimpan nilai data. l Setiap variabel memiliki nama/identifier, alamat (L-Value), tipe, size(rentang nilai) dan data (R-Value). l Nilai data atau isi variabel dapat diubah-ubah pada saat Run time l Format deklarasi variabel: ; l Contoh: int a, b, c, jumlah; float gaji, bonus; int jml_mhs = 20;
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 23 l 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 2004Software Engineering, 7th edition. Chapter 1 Slide 24 l Pada dasarnya tipe data primitif pada bahasa pemrograman C ada 5, dan ditambah 4 tipe Modifier yaitu: Tipe Data Primitif/BawaanKeyword 1.Character 2.Integer 3.Floating point 4.Double floating point 5.Void 1.char 2.int 3.float 4.double 5.void
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 25 REVIEW
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 26 l Spesifikai format sbb: %[flags][width][.precision] type Spes. FormatKeterangan flagsMenentukan rata kanan, kiri atau bertanda: None : rata-kanan - : rata-kiri widthMenentukan jumlah kolom yang disediakan precisionmenentukan jumlah angka di belakang titik desimal (untuk bilangan pecahan) typeMenentukan tipe variabel/nilai-data yang akan ditampilkan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 27 Kode FormatKeterangan “%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 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 2004Software Engineering, 7th edition. Chapter 1 Slide 28 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 2004Software Engineering, 7th edition. Chapter 1 Slide 29 l Buat Program Luas Segi Empat
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 30 l 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 2004Software Engineering, 7th edition. Chapter 1 Slide 31 REVIEW
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 32 l Komponen utama ekspresi adalah operand dan operator. l Operand dapat berupa variabel, konstanta, nilai data konstan maupun fungsi. Setiap operand harus memiliki nilai data. l Operator adalah simbol yang mengolah nilai pada operand dan menghasilkan satu nilai baru. l Dalam pemrograman komputer penulisan perhitungan arithmatika/logika TIDAK BOLEH BERTINGKAT. Contoh: Untuk itu Untuk itu setiap operator memiliki presedensi (hirarki) dan assosiativitas.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 33 l Contoh: l Ditulis dalam bhs pemrograman C: x = (x * y + y * z) / (x * y – y * z);
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 34 l Digunakan untuk melakukan operasi matematika 34 SimbolFungsiContoh +Penambahanx = y + 6; -Pengurangany = x – 5; *Perkaliany = y * 3; /Pembagianz = x/y; %ModuloA = 10 % 3; ++Incrementx++; --Decrementz--; ()Menaikan Priorityx=(2+3)*5
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide Digunakan untuk membandingkan dua nilai, dan hasilnya TRUE atau FALSE SimbolFungsi = 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 2004Software Engineering, 7th edition. Chapter 1 Slide Digunakan untuk melakukan operasi logika Table Kebenaran operator logika: AB!AA && BA || B True FalseTrue False True FalseTrue FalseTrue False TrueFalse SimbolFungsi &&AND ||OR !NOT
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 37 #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 ? 37
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 38 End of This Session...