04 if-ifelse-switch-break

20
STRUKTUR KENDALI PROSES

Upload: evert-sandye-taasiringan

Post on 05-Dec-2014

350 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 04 if-ifelse-switch-break

STRUKTUR KENDALI PROSES

Page 2: 04 if-ifelse-switch-break

STRUKTUR KENDALI PEMILIHANSuatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk struktur dasar pemilihan ini :

Sebuah pernyataan yang dapat dipakai muntuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam :

- if dan

- if else

Page 3: 04 if-ifelse-switch-break

PEMILIHAN (SELECTION)if (kondisi) pernyataan;

Pernyataan dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak program tidak memberikan hasil apa-apa.

Contoh ptongan program :

If(nilai >= 56)

puts(“Lulus”);

kondisi

pernyataan

truefalse

Page 4: 04 if-ifelse-switch-break

PEMILIHAN (SELECTION)

if(kondisi) pernyataan1; else pernyataan2;

•Pernyataan1 dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak, lakukan pernyataan2. •Jika Anda tidak mempergunakan pernyataan else program tidak akan error, namun jika anda mempergunakan pernyataan else tanpa didahului pernyataan if, maka program akan error. •Jika pernyataan1 atau pernyataan2 hanya terdiri dari satu baris, maka tanda { } tidak diperlukan, namun jika lebih maka diperlukan. •Selain dari if … else, juga dikenal bentuk if … else if.

kondisi

pernyataan1

truefalse

pernyataan2

Page 5: 04 if-ifelse-switch-break

PEMILIHAN (SELECTION) Instruksi switch Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan

salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian.

Pernyataan if…else jamak dapat dibangun dengan pernyataan switch.

Switch (ekspresi) {

case konstanta1 : pernyataan_1;

[break;]

case konstanta2 : pernyataan_2; [break;]

case konstantan : pernyataan_n; [break;]

[default] : pernyataan_x

}

Ekspresi dievaluasi, jika hasilnya konstanta1, maka pernyataan_1 dikerjakan, jika hasilnya konstanta2, maka pernyataan_2 dikerjakan. Jika hasilnya bukan merupakan semua konstanta1.. n, maka pernyataan_x dikerjakan.

Klausa [default] dan [break] bersifat oprtional

Page 6: 04 if-ifelse-switch-break

PEMILIHAN (SELECTION)//contoh : Switch : 1 = senin, 2= selasa dst.#include <stdio.h>#include <stdlib.h>

int main() { int angka; printf(“input Angka 1 - 7: “);scanf(“%d”,&angka); switch(angka) { case 1 : puts(“senin”);break; case 2 : puts(“selasa”);break; case 3 : puts(“rabu”);break; case 4 : puts(“kamis”);break; case 5 : puts(“jumat”);break; case 6 : puts(“sabtu”);break; case 7 : puts(“minggu”); // PERLU BREAK ATAU TIDAK? } system(“PAUSE”);}

Page 7: 04 if-ifelse-switch-break

PEMILIHAN (SELECTION)//contoh : Switch

#include <stdio.h>

#include <stdlib.h>

int main() {

int nilai;

printf(“input nilai : “);scanf(“%d”,&nilai);

switch(nilai/10) {

case 10 :

case 9 :

case 8 : puts(“hebat”);break;

case 7 :

case 6 : puts(“cukup”);break;

case 5 : puts(“buruk”);break;

default: puts(“Anda harus mengulang !”);

}

system(“PAUSE”);

}

Page 8: 04 if-ifelse-switch-break

break dan continue break digunakan untuk menghentikan sebuah loop, walaupun

sebenarnya kondisi dalam loop tersebut masih mungkin bernilai true. Selain untuk statement looping juga bisa digunakan untuk switch

Contoh :#include <stdio.h>#include <stdlib.h>int main() { int a; for(a=1;a < 5;a ++) { printf(“a = %d\n”,a); if(a==3) break; } system(“PAUSE”);}

Page 9: 04 if-ifelse-switch-break

break dan continue continue digunakan untuk melanjutkan loop ke nilai

counter berikutnya dengan mengabaikan semua statement yang ada setelah statement continue tersebut

Contoh :#include <stdio.h>#include <stdlib.h>

int main() { int i; for(i=0;i<=100;i++) if(i % 2 == 0) continue; printf(“%3d”,i); }

Page 10: 04 if-ifelse-switch-break

Latihan

Page 11: 04 if-ifelse-switch-break

IF (1) Masukkan Nilai Akhir

Contoh: Nilai Akhir ? 90 Cari Grade berdasarkan aturan sbb:

Jika Nilai Akhir lebih besar dari 79.99 dan lebih kecil sama dengan 100 maka Grade A

Jika Nilai Akhir lebih besar dari 67.99 dan lebih kecil sama dengan 79.99 maka Grade B

Jika Nilai Akhir lebih besar dari 55.99 dan lebih kecil sama dengan 67.99 maka Grade C

Jika Nilai Akhir lebih besar dari 49.99 dan lebih kecil sama dengan 55.99 maka Grade D

Jika Nilai Akhir lebih besar sama dengan 0 dan lebih kecil sama dengan 44.99 maka Grade E

Cetak Grade: Contoh: Grade = A

Page 12: 04 if-ifelse-switch-break

IF (2)GUNAKAN STATEMEN IF SAJA

Input : Nilai Grade Algoritma ? (isinya adalah 1 huruf ‘A’ – ‘E’);

Proses: jika Grade = ‘A’ atau ‘B’ atau ‘C’ maka dinyatakan Lulus Mata

kuliah algoritma jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma

Harus diulang Selain itu berikan warning “ Salah isi Grade “ (Misalkan user

menginput grade ‘R’.

Output : “Lulus Mata Kuliah Algoritma” ATAU “Mata Kuliah Algoritma harus diulang” atau “SALAH ISI GRADE”

Page 13: 04 if-ifelse-switch-break

IF (3)Tulis program untuk menampilkan bilangan bulat terbesar di antara ketiga bilangan bulat yang berbeda.

GUNAKAN IF

•Input: 3 buah bilangan

Misalkan Input 3 bilangan: 15 90 20

• Proses: Cari Bilangan terbesar diantara 3 bilangan yang diinput

•Output: Bilangan Terbesar : (misalkan 90)

Page 14: 04 if-ifelse-switch-break

IF ELSE (1)

Input: IPK ? (Contoh 1.75) SKS? (contoh 20)

Proses: Seorang mahasiswa kemungkinan akan jadi calon sarjana jika Jika IPK lebih besar dari 2.00 dan SKS yang sudah ditempuh MINIMAL 60 SKS.Selain itu mahasiswa tersebut Calon Drop Out.

Output: Calon Sarjana atau Calon Drop Out.

Page 15: 04 if-ifelse-switch-break

IF ELSE (2)GUNAKAN STATEMEN IF-ELSE (untuk kondisi ke 2 dan 3)

Input : Nilai Grade Algoritma ? (isinya adalah 1 huruf ‘A’ – ‘E’);

Proses: 1. jika Grade = ‘A’ atau ‘B’ atau ‘C’ maka dinyatakan Lulus Mata

kuliah algoritma2. jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma

Harus diulang3. Selain itu berikan warning “ Salah isi Grade “ (Misalkan user

menginput grade ‘R’.

Output : “Lulus Mata Kuliah Algoritma” ATAU “Mata Kuliah Algoritma harus diulang” atau “SALAH ISI GRADE”

Page 16: 04 if-ifelse-switch-break

IF ELSE (4)Tulis program untuk menampilkan bilangan bulat terbesar di antara ketiga bilangan bulat yang berbeda.

GUNAKAN IF ELSE

•Input: 3 buah bilangan

Misalkan Input 3 bilangan: 15 90 20

• Proses: Cari Bilangan terbesar diantara 3 bilangan yang diinput

•Output: Bilangan Terbesar : (misalkan 90)

Page 17: 04 if-ifelse-switch-break

IF ELSE (5)Terdapat tiga bilangan bulat (a, b, c dengan a <= b dan b <= c) yang menyatakan panjang tiga ruas garis. Tulis program untuk menguji apakah ketiga ruas garis ini dapat membentuk sebuah segitiga.

a b

c

??RUMUS ?

Page 18: 04 if-ifelse-switch-break

Switch – Break – Continue (1)

Input : Kode Pos (5 digit) , Contoh 15180

Proses: jika 2 digit pertama dari Kode Pos adalah: 10 maka wilayah tersebut : Jakarta Pusat 11 maka wilayah tersebut : Jakarta Barat 12 maka wilayah tersebut : Jakarta Selatan 13 maka wilayah tersebut : Jakarta Timur 14 maka wilayah tersebut : Jakarta Utara 15 maka wilayah tersebut : Tangerang 16 maka wilayah tersebut : Bogor 17 maka wilayah tersebut : Bekasi Selain itu wilayah tersebut : diluar Jabotake;

Output : Contoh : Wilayah = Tangerang.

Page 19: 04 if-ifelse-switch-break

Switch – Break – Continue (2)

Input : Nilai Grade Algoritma ? (isinya adalah 1 huruf ‘A’ – ‘E’);

Proses: jika Grade = ‘A’ atau ‘B’ atau ‘C’ maka dinyatakan Lulus Mata

kuliah algoritma jika Grade = ‘D’ atau ‘E’ atau ‘F’ maka Mata Kuliah Algoritma

Harus diulang Selain itu berikan warning “ Salah isi Grade “ (Misalkan user

menginput grade ‘R’.

Output : “Lulus Mata Kuliah Algoritma” ATAU “Mata Kuliah

Algoritma harus diulang” atau “SALAH ISI GRADE”

Page 20: 04 if-ifelse-switch-break

Switch – Nested (3) Program Menghitung Uang Sekolah Input:

A) Program: 1 Jika kelas Internasional, 2 Jika Kelas Nasional B) Kelas: 1. Preschool, 2. Kindergarten

Program / Kelas Preschool Kindergarten

1 Rp. 500.000 Rp. 750.000

2 Rp. 600.000 Rp. 850.000

Output : Uang Sekolah : Rp. 999.999