Bab 2 Struktur Dasar

40
Bab 2 Bab 2 Struktur Dasar Struktur Dasar

description

Bab 2 Struktur Dasar. Pendahuluan. Sebelum membuat program: Harus memahami masalah yang dihadapi Membuat perencanaan yang baik (Algoritma) untuk menyelesaikannya. Algoritma. Permasalahan komputasi : Dapat diselesaikan dengan mejalankan sekumpulan kegiatan dalam urutan tertentu. - PowerPoint PPT Presentation

Transcript of Bab 2 Struktur Dasar

Page 1: Bab  2  Struktur Dasar

Bab 2 Bab 2 Struktur DasarStruktur Dasar

Bab 2 Bab 2 Struktur DasarStruktur Dasar

Page 2: Bab  2  Struktur Dasar

Pendahuluan• Sebelum membuat program:

– Harus memahami masalah yang dihadapi

– Membuat perencanaan yang baik (Algoritma) untuk menyelesaikannya.

2

Page 3: Bab  2  Struktur Dasar

Algoritma• Permasalahan komputasi :

– Dapat diselesaikan dengan mejalankan sekumpulan kegiatan dalam urutan tertentu.

• Pengendalian Program– Urutan tertentu dalam bentuk

pernyataan (statement) untuk dijalankan.

3

Page 4: Bab  2  Struktur Dasar

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

4

Page 5: Bab  2  Struktur Dasar

Perintah Dasar•Perintah:

–Menyatakan algoritma •Alur pemecahan masalah•Mudah diimplementasi dengan bahasa pemrograman

Page 6: Bab  2  Struktur Dasar

Perintah Dasar•Perintah:

–Singkat, jelas, terstruktur, fleksibel

–Konsep pengolahan data berbasis Komputer

Page 7: Bab  2  Struktur Dasar

Perintah DasarPerintah-perintah dasar yang dapat digunakan

pada pseudocodePerintah Lambang

penulisan tulis/printf/writepembacaan baca/scanf/readpemuatan (assignment)=pengulangan while-do-ewhilepencabangan if-then-else-eif

Page 8: Bab  2  Struktur Dasar

Struktur Dasar• Struktur Dasar pada pemrograman

adalah sebagai berikut : •Struktur berurut•Struktur seleksi (pencabangan /

pemilihan)•Struktur pengulangan

Page 9: Bab  2  Struktur Dasar

Struktur Pengendali• Eksekusi urutan/pernyataan tidak

bersyarat

9

Proses AProses A

Proses BProses B

Proses CProses C

Page 10: Bab  2  Struktur Dasar

Struktur Pengendali• Pengalihan pengendalian

– Bila perintah yang dijalankan adalah bukan perintah berikutnya dalam urutan program

– Hindari perintah ‘goto’ menimbulkan banyak masalah

10

Page 11: Bab  2  Struktur Dasar

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

11

Page 12: Bab  2  Struktur Dasar

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

Page 13: Bab  2  Struktur Dasar

PERCABANGAN• Menghasilkan pernyataan Boolean,

yang dapat bernilai benar (true) atau salah (false)

• Menggunakan perintah : – if– else-if– switch

Page 14: Bab  2  Struktur Dasar

Pernyataan Seleksi if• Struktur Seleksi

– Digunakan untuk memilih alur alternatif

– Pseudocode:If nilai mahasiswa lebih besar dari 60Print “lulus”

14

Page 15: Bab  2  Struktur Dasar

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.

Page 16: Bab  2  Struktur Dasar

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.

16

Page 17: Bab  2  Struktur Dasar

Struktur Seleksi

Apakah Nilai >= 60 ?

Cetak ‘LULUS’YA

TIDAK

Page 18: Bab  2  Struktur Dasar

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 60Cetak “Lulus”

elseCetak“Gagal”

18

Page 19: Bab  2  Struktur Dasar

Pernyataan if…else• Code C:

if ( nilai >= 60 ) printf( “Lulus\n");else printf( “Gagal\n");

19

Page 20: Bab  2  Struktur Dasar

Flowchart

Apakah Nilai >= 60 ?

Cetak ‘LULUS’YATIDAK

Cetak ‘Gagal’

Page 21: Bab  2  Struktur Dasar

Pernyataan if…else• Pernyataan if…else nested /

bersarang– Pernyataan if…else didalam

pernyataan if…else– Satu kondisi terpenuhi, yang lain

diskip

21

Page 22: Bab  2  Struktur Dasar

Pernyataan if…else– Pseudocode

If student’s grade is greater than or equal to 90Print “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”

22

Page 23: Bab  2  Struktur Dasar

Pernyataan if…else• Syntax errors

– Caught by compiler

• Logic errors: – Have their effect at execution time– Non-fatal: program runs, but has

incorrect output– Fatal: program exits prematurely

23

Page 24: Bab  2  Struktur Dasar

Contoh 1START

END

Syarat Perintah 1

Perintah 2

– Contoh :5 == 5 True3 > 5 False5 <> 3 True(A>5) AND (B>10) True jika keduanya

benar(A>5) OR (B>10) True jika keduanya

atau salah satu benar

Page 25: Bab  2  Struktur Dasar

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

Page 26: Bab  2  Struktur Dasar

Contoh 2

bil > 0

mutlak = bilmutlak = - bil

tidak

ya

Page 27: Bab  2  Struktur Dasar

Contoh 2• Algoritmanya

baca(bil)if bil > 0 then mutlak = bil else mutlak = -bil eif

tulis (mutlak) {peragakan harga mutlak tersebut}

Page 28: Bab  2  Struktur Dasar

Contoh 3Contoh “Bilangan genap dan ganjil”• Tujuan : membuat algoritma yang

dapat menyatakan suatu bilangan adalah genap atau ganjil

• Akhir data dinyatakan dengan nilai “0”

Page 29: Bab  2  Struktur Dasar

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

Page 30: Bab  2  Struktur Dasar

Contoh 3• Algoritmanya

akhirData = 0Baca (bil)while bil <> akhirData do sisa =bil mod 2 if sisa == 0 then write (‘genap’) else write (‘ganjil’) eif baca (bil)ewhile

Page 31: Bab  2  Struktur Dasar

Contoh 4Contoh kasus “Persamaan

Kuadrat”• Tujuan : membuat algoritma

program menghitung akar-akar persamaan kuadrat yang koefisiennya dimasukkan melalui keyboard

Page 32: Bab  2  Struktur Dasar

Contoh 4• Langkah-langkahnya

–menyeleksi kondisi salah dengan memeriksa nilai koefisien

–menentukan jenis akar persamaan berdasarkan koefisien

Page 33: Bab  2  Struktur Dasar

Contoh 4

Algoritma: baca (a) while a<>0 do baca (b,c) d=b^2-4*a*c

continue

Page 34: Bab  2  Struktur Dasar

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

Page 35: Bab  2  Struktur Dasar

Contoh 4 {akar komplek atau tidak} if d=0 then {hitung akar kembar} x1 = -b/(2*a) x2 = x1

Page 36: Bab  2  Struktur Dasar

Contoh 4else {hitung akar tidak kembar} x1 = (-b+sqr(d))/(2*a) x2 = (-b-sqr(d))/(2*a) eif tulis (‘x1=‘, x1) tulis (‘x2=‘,x2)eifBaca (a)

Page 37: Bab  2  Struktur Dasar

Contoh 5• Menentukan apakah kedua buah

bilangan yang diinput sama, lebih kecil atau lebih besar

Page 38: Bab  2  Struktur Dasar

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

Page 39: Bab  2  Struktur Dasar

Dev C++• Jangan lupa save program dalam .C• Supaya window bisa freeze dan

terlihat hasilnya sebelum ertutup otomatis, tambahkan:

• System(“pause”);• Sebelum Return 0; }

Page 40: Bab  2  Struktur Dasar

SELESAI BAB 2-a