Bab 2 Struktur Dasar
Pendahuluan Sebelum membuat program: Harus memahami masalah yang dihadapi Membuat perencanaan yang baik (Algoritma) untuk menyelesaikannya.
Algoritma Permasalahan komputasi : Pengendalian Program Dapat diselesaikan dengan mejalankan sekumpulan kegiatan dalam urutan tertentu. Pengendalian Program Urutan tertentu dalam bentuk pernyataan (statement) untuk dijalankan.
Pseudocode Pseudocode Bahasa buatan yang tidak formal dimana dapat membantu untuk mengembangkan algoritma Dapat menggunakan bahasa sehari-hari Tidak dapat dijalankan dengan komputer Membantu ‘membuat’ program sebelum membuat codingnya. Mudah untuk diterjemahkan ke dalam bentuk bahasa pemrograman
Perintah Dasar Perintah: Menyatakan algoritma Alur pemecahan masalah Mudah diimplementasi dengan bahasa pemrograman
Perintah Dasar Perintah: Singkat, jelas, terstruktur, fleksibel Konsep pengolahan data berbasis Komputer
Perintah Dasar Perintah-perintah dasar yang dapat digunakan pada pseudocode Perintah Lambang penulisan tulis/printf/write pembacaan baca/scanf/read pemuatan (assignment) = pengulangan while-do-ewhile pencabangan if-then-else-eif
Struktur Dasar Struktur Dasar pada pemrograman adalah sebagai berikut : Struktur berurut Struktur seleksi (pencabangan / pemilihan) Struktur pengulangan
Struktur Pengendali Proses A Proses B Proses C Eksekusi urutan/pernyataan tidak bersyarat Proses A Proses B Proses C
Struktur Pengendali Pengalihan pengendalian Bila perintah yang dijalankan adalah bukan perintah berikutnya dalam urutan program Hindari perintah ‘goto’ menimbulkan banyak masalah
Struktur Pengendali Bohm dan Jacopini Seluruh program dapat ditulis dalam 3 struktur pengendali : Struktur berurut Struktur seleksi / percabangan: if, if…else, and switch Struktur pengulangan: while, do…while and for
PERCABANGAN Tidak setiap baris program akan dikerjakan Hanya yang memenuhi syarat (kondisi) Syarat terdiri dari operand-operand, yang dihubungkan dengan operator relasi dan operator logika
PERCABANGAN Menghasilkan pernyataan Boolean, yang dapat bernilai benar (true) atau salah (false) Menggunakan perintah : if else-if switch
Pernyataan Seleksi if Struktur Seleksi Digunakan untuk memilih alur alternatif Pseudocode: If nilai mahasiswa lebih besar dari 60 Print “lulus”
Pernyataan seleksi if Jika kondisi true (benar) Pernyataan Print dijalankan dan program akan meneruskan ke perintah berikutnya. Jika false, pernyataan print diabaikan dan menjalankan perintah berikutnya.
Pernyataan seleksi if Pseudocode statement dengan bahasa C: if ( grade >= 60 ) printf( "Passed\n" ); Simbol Berlian (decision symbol) Digunakan untuk seleksi Hasilnya: benar atau salah Menguji kondisi dan mengikuti jalur yang tepat.
Struktur Seleksi Apakah Nilai >= 60 ? Cetak ‘LULUS’ YA TIDAK
Pernyataan if…else if Hanya melaksanakan aksi bila kondisinya adalah benar/true if…else Melaksanakan suatu aksi untuk kedua kondisi, baik benar/true atau salah/false Psuedocode: If nilai siswa lebih besar atau sama dengan 60 Cetak “Lulus” else Cetak“Gagal”
Pernyataan if…else Code C: if ( nilai >= 60 ) printf( “Lulus\n"); printf( “Gagal\n");
Flowchart Apakah Nilai >= 60 ? Cetak ‘Gagal’ TIDAK YA Cetak ‘LULUS’
Pernyataan if…else Pernyataan if…else nested / bersarang Pernyataan if…else didalam pernyataan if…else Satu kondisi terpenuhi, yang lain diskip
Pernyataan if…else Pseudocode If student’s grade is greater than or equal to 90 Print “A” else If student’s grade is greater than or equal to 80 Print “B” else If student’s grade is greater than or equal to 70 Print “C” else If student’s grade is greater than or equal to 60 Print “D” else Print “F”
Pernyataan if…else Syntax errors Logic errors: Caught by compiler Have their effect at execution time Non-fatal: program runs, but has incorrect output Fatal: program exits prematurely
Contoh 1 START Contoh : 5 == 5 True 3 > 5 False (A>5) AND (B>10) True jika keduanya benar (A>5) OR (B>10) True jika keduanya atau salah satu benar START Syarat Perintah 1 Perintah 2 END
Contoh 2 Contoh “Harga Mutlak Bilangan“ Tujuan : menentukan harga mutlak setiap bilangan yang dimasukkan lewat keyboard (akhirdata = 0) bagan alir perintah percabangan : if-else-eif
Contoh 2 tidak bil > 0 ya mutlak = - bil mutlak = bil
Contoh 2 Algoritmanya baca(bil) if bil > 0 then mutlak = bil else mutlak = -bil eif tulis (mutlak) {peragakan harga mutlak tersebut}
Contoh 3 Contoh “Bilangan genap dan ganjil” Tujuan : membuat algoritma yang dapat menyatakan suatu bilangan adalah genap atau ganjil Akhir data dinyatakan dengan nilai “0”
Contoh 3 Langkah-langkahnya menentukan suatu bilangan genap atau ganjil dengan membagi bilangan dengan bilangan 2 (mod) Sisa pembagian nol bilangan genap jika tidak nol bilangan ganjil
Contoh 3 Algoritmanya akhirData = 0 Baca (bil) while bil <> akhirData do sisa =bil mod 2 if sisa == 0 then write (‘genap’) else write (‘ganjil’) eif baca (bil) ewhile
Contoh 4 Contoh kasus “Persamaan Kuadrat” Tujuan : membuat algoritma program menghitung akar-akar persamaan kuadrat yang koefisiennya dimasukkan melalui keyboard
Contoh 4 Langkah-langkahnya menyeleksi kondisi salah dengan memeriksa nilai koefisien menentukan jenis akar persamaan berdasarkan koefisien
Contoh 4 Algoritma: baca (a) while a<>0 do baca (b,c) d=b^2-4*a*c continue
Contoh 4 if d<0 then {hitung akar kompleks} p= -b/(2*a) q = abs (sqr(-d)/((2*a)) tulis (‘x1=‘, p, ‘+’, q, ‘i’) tulis (‘x2=‘, p, ‘-’, q, ‘i’) else continue
Contoh 4 if d=0 then {hitung akar kembar} x1 = -b/(2*a) x2 = x1 {akar komplek atau tidak} if d=0 then {hitung akar kembar} x1 = -b/(2*a) x2 = x1
Contoh 4 else {hitung akar tidak kembar} x1 = (-b+sqr(d))/(2*a) eif tulis (‘x1=‘, x1) tulis (‘x2=‘,x2) Baca (a)
Contoh 5 Menentukan apakah kedua buah bilangan yang diinput sama, lebih kecil atau lebih besar
Tugas Kelompok C program (DevC++) Kel 1 – 3 contoh 1 Kel 4 – 6 contoh 2 Kel 7 – 9 contoh 3 Kel 10 – 12 contoh 4 Kel 13 – 14 contoh 5
Dev C++ Jangan lupa save program dalam .C Supaya window bisa freeze dan terlihat hasilnya sebelum ertutup otomatis, tambahkan: System(“pause”); Sebelum Return 0; }
SELESAI BAB 2-a