Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Dasar Pemrograman Komputer

Presentasi serupa


Presentasi berjudul: "Dasar Pemrograman Komputer"— Transcript presentasi:

1 Dasar Pemrograman Komputer
Seleksi/Pencabangan Sutrisno Ismiarta Aknuranda Issa Arwani Adharul Muttaqin Teknik Informatika - UB

2 Aliran Kendali (Flow Control)
Pernyataan-pernyataan yang menentukan urutan eksekusi Pernyataan/struktur berurutan (sequence) Pencabangan bersyarat (selection, conditional structure) if, if-else, switch-case Pengulangan (repetition, iteration, loop) for, while, do-while Aliran Kendali Pencabangan - TIF UB 2010

3 Pencabangan bersyarat
Dalam sebuah algoritma, seringkali suatu atau sekelompok instruksi harus dilaksanakan bila suatu persyaratan dipenuhi (bernilai benar) dan sebaliknya, dilewati atau tidak dilaksanakan jika persyaratan tersebut tidak dipenuhi (bernilai salah). Pernyataan pencabangan bersyarat terdiri dari: if, if-else switch-case Aliran Kendali Pencabangan - TIF UB 2010

4 Aliran Kendali Pencabangan - TIF UB 2010
Pernyataan if Penggambaran dalam flow-chart Statements sebelum if Eks.boolean Statement; ... true false Boolean expression Statement; ... Statements setelah if Aliran Kendali Pencabangan - TIF UB 2010

5 Aliran Kendali Pencabangan - TIF UB 2010
Pernyataan if Sintaksis : if (boolean expression)statement; atau if (boolean expression) { statement1; statement2; …… } Jika ekspresi boolean bernilai TRUE, maka statement atau block statement akan dilaksanakan. Block statement Aliran Kendali Pencabangan - TIF UB 2010

6 Aliran Kendali Pencabangan - TIF UB 2010
Pernyataan if-else Penggambaran if-else dalam flow-chart Statements sebelum if Eks.boolean Statement_01; Statement_02; ... true false Statement_11; Statement_12; Boolean expression Statement_11; Statement_12; ... Statement_01; Statement_02; ... Statements setelah if Aliran Kendali Pencabangan - TIF UB 2010

7 Aliran Kendali Pencabangan - TIF UB 2010
Pernyataan if-else Sintaksis : if (ekspresi boolean) statement_01; else statement_02; atau if (ekspresi boolean) { statement_01; …… } else statement_02; …... Jika ekspresi boolean bernilai TRUE, maka statement_01 atau block statement_01 yang dilaksanakan, jika bernilai FALSE maka statement_02 atau block statement_02 yang dilaksanakan. Block statement_01 Block statement_02 Aliran Kendali Pencabangan - TIF UB 2010

8 Aliran Kendali Pencabangan - TIF UB 2010
Pernyataan if-else Contoh program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung diskriminan d = b*b – 4*a*c 3. Bila d >= 0 maka hitung x1 dan x2 Bila d < 0 maka akar imajiner dan stop 4. Stop Menghitung x1, dengan rumus : Menghitung x2, dengan rumus : -b + d 2*a -b - d 2*a Aliran Kendali Pencabangan - TIF UB 2010

9 Aliran Kendali Pencabangan - TIF UB 2010
Pernyataan if-else Contoh : #include <stdio.h> #include <math.h> #include <stdlib.h> int main(){ float a,b,c,d,x1,x2; printf("PERHITUNGAN AKAR PERS. KUADRAT\n\n"); printf("Masukan koef. a : "); scanf("%f",&a); printf("Masukan koef. b : "); scanf("%f",&b); printf("Masukan koef. c : "); scanf("%f",&c); d = b*b - 4 * a * c; if (d >= 0){ x1 = (-b + sqrt(d)) / (2 * a); x2 = (-b - sqrt(d)) / (2 * a); printf("\nx1=%f\nx2=%f\n\n",x1,x2); } else printf("Akar Persamaan Imajiner\n\n"); system("PAUSE"); return 0; Aliran Kendali Pencabangan - TIF UB 2010

10 Aliran Kendali Pencabangan - TIF UB 2010
Pernyataan if-else Konstruksi if-else dapat memiliki kondisi (pengecekan) lebih dari satu. If-else if-...-else Contoh: Semua statements dalam level yang sama if (boolean exp) { statement; } else if (boolean exp) { else { Aliran Kendali Pencabangan - TIF UB 2010

11 Aliran Kendali Pencabangan - TIF UB 2010
Pernyataan if-else Konstruksi if-else dapat digunakan secara bersarang (nested) Contoh: Konstruksi if-else bersarang; terdapat statements dalam level yang berbeda if (boolean exp) { statement; } else if (boolean exp) { if (boolean exp) statement; else statement; else { Aliran Kendali Pencabangan - TIF UB 2010

12 Seleksi Perhatikan potongan program dibawah ini: if(n > 0)
if(a > b) z = a; else z = b; Keyword else berpasangan dengan if yang mana ? Perbaiki penulisan potongan program di atas agar terbaca jelas algoritmanya!

13 Aliran Kendali Pencabangan - TIF UB 2010
Pernyataan if Aliran Kendali Pencabangan - TIF UB 2010

14 Pernyataan switch-case
Pernyataan switch-case dapat dipergunakan sebagai pengganti pernyataan if-else, jika pernyataan if-else bertingkat terlalu banyak, sehingga menjadi sulit dibaca. Sintaksis: switch (int or char expression) { case constant1 : statements1; break; case constant2 : statements2; [ default : statements; ] } Aliran Kendali Pencabangan - TIF UB 2010

15 Pernyataan switch-case
Pernyataan switch mengevaluasi ekspresi dan kemudian melihat isi case constant. Jika nilai ekspresi ada didalam constant list maka pernyataan dieksekusi. Jika tidak ada yang cocok, pernyataan default yang dieksekusi. Catatan: Nilai ekspresi harus integer atau character dan constant harus integer constant termasuk char constant. Aliran Kendali Pencabangan - TIF UB 2010

16 Pernyataan switch-case
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 default action(s) true false case a case a action(s) break case b case b action(s) break case z case z action(s) break default action(s) Aliran Kendali Pencabangan - TIF UB 2010

17 Pernyataan switch-case
Contoh : #include <stdio.h> #include <stdlib.h> int main(){ float bil1, bil2; char op; scanf("%f %c %f", &bil1, &op, &bil2); switch(op){ case '+': printf(" = %f", bil1 + bil2); break; case '-': printf(" = %f", bil1 - bil2); break; case '*': printf(" = %f", bil1 * bil2); break; case '/': printf(" = %f", bil1 / bil2); break; default: printf("operator TAK DIKENAL"); } printf("\n\n"); system("PAUSE"); return(0); Aliran Kendali Pencabangan - TIF UB 2010

18 Pernyataan switch-case
Aliran Kendali Pencabangan - TIF UB 2010


Download ppt "Dasar Pemrograman Komputer"

Presentasi serupa


Iklan oleh Google