Belajar SWITCH-CASE-DEFAULT
Jumpa lagi dengan Mas Hyda !!
Mengisi waktu senggang sekaligus mengerjakan
tugas, kali ini Mas Hyda akan sedikit memberi pencerahan kepada Sobat Hyda
sekalian tentang SWITCH-CASE-DEFAULT
Switch-case itu semacam if-then-else cuma dia lebih ke menu, kaya Sobat bikin menu, misal
Sobat input 1 nanti keluarnya menu yg ke 1 dan seterusnya. Bingungkan? Makanya
baca dulu Pernyataan IF-THEN, IF-THEN-ELSE dan NESTED IF. Kalo Sobat baca dari
awal, pasti sampai sini gak bakalan bingung deh... :D
Switch-case-default sama saja dengan fungsi if-then-else jamak. Konstruksi, ini dapat menyederhanakan penulisan
If-then-else yang bertingkat-tingkat
seperti pada contoh-contoh postingan sebelum ini.
Dengan pernyataan switch-case-default, memungkinkan Sobat untuk memilih salah satu
pilihan dari berbagai ekspresi.
Pemilihan dilakukan berdasarkan nilai
ekspresi yang telah ditetapkan. Pemilihan berbagai kemungkinan nilai switch
dilakukan satu demi satu berdsarkan nilai case.
Jika nilai dalam ekpresi switch tidak
ada yang sesuai dengan nilai-nilai case,
maka pilihan akan secara otomatis ke alihkan ke default.
Konstruksi case :
switch (variabel)
case ekspresi
nilai1 : aksi1
.
.
.
nilai-n
: aksi-n
Otherwise
:
Endcase
Ekspresi
adalah sembarang ekpresi
(aritmatika atau boolean) yang menhasilkan satu nilai (konstanta). Konstruksi case memeriksa apakah nilai dari
ekspresi tersebut sama dengan salah satu dari niali1 , nilai2 ,
...,nilai-n (catatan : semua nilai-nilai ini harus
berbeda). Jika nilai ekspresi sama dengan nilai-k benar, maka aksi-k dilaksanakan. Aksi yang bersesuaian dengan nilai-k dapat lebih dari satu, karena ia berupa
runtunan. Jika tidak ada satu pun nilai ekspresi yang cocok, maka aksi sesudah
otherwise dikerjakan. Otherwise bersifat optional, artinya ia boleh di tulis
atau tidak di dalam konstruksi case. (di
kutip dari : Munir, Rinaldi, Algoritma & Pemrograman, Informatika Bandung,
2011)
Setelah di jelaskan di atas maka jadilah bentuk umum penulisan statemen switch case sbb:
switch
(variabel)
{
case konstanta1
{
statement;
break;
}
case
konstanta ke-n
{
statement;
break;
}
default
{
statemen;
}
}
Note :
*ingat ya sobat, setiap statemen pada case
harus di akhiri dengan break, karena
break merupakan batasan agar fungsi tidak masuk ke fungsi lain. Ibarat kata
break itu penutup lah..hehee
*nah untuk otherwise di masukan pernyataan default.
*tidak semua bahasa perograman menyediakan
struktur case (misalnya bahasa Fortran). Bahasa Pascal dan C menyediakan
struktur ini. Jika bahasa pemrograman tidak menyediakan struktur case, maka
case dapat di ganti dengan struktur IF-THEN-ELSE yang ekivalen.
Berikut contoh algoritmik dengan struktur
IF-THEN-ELSE akan di transtalasikan ke notasi algoritmik dengan struktur
SWITCH-CASE :
Algoritma konstruksi IF-THEN-ELSE
:
Program
KonversiAngkaKeTeks
{Mencetak
kata untuk angka 1 sampai 4.}
DEKLARASI
angka
: integer {angka yang di baca}
ALGORITMA
:
read
(angka)
if
angka = 1 then
write
(‘satu’)
else
if
angka = 2 then
write
(‘dua’)
else
if
angka = 3 then
write
(‘tiga’)
else
if
angka = 4 then
write
(‘empat’)
else
write
(‘angka yang dimasukan harus 1 s/d 4’)
endif
endif
endif
endif
Algoritma konstruksi SWITCH-CASE-DEFAULT :
Program
KonversiAngkaKeTeks
{Mencetak
kata untuk angka 1 sampai 4.}
DEKLARASI
angka
: integer {angka yang di baca}
ALGORITMA
:
read
(angka)
case angka
1
: write (‘satu’)
2
: write (‘dua’)
3
: write (‘tiga’)
4
: write (‘empat’)
otherwise
: write (‘angka yang dimasukan salah’)
endcase
Dengan konstruksi switch-case, algoritma akan
menjadi lebih singkat bukan? Inilah kelebihan Switch case sobat...
Nah inilah pengaplikasian Algoritma tadi
kedalam bahasa C dan C++ :
Bahasa C :
/* PROGRAM NAMA NAMA HARI */
/* Mencetak nama hari berdasarkan nomor bulan
(1..3) */
//blogemashyda.blogspot.com
#include <stdio.h>
main ()
{
/* DEKLARASI */
int nomor_hari;
/*ALGORITMA */
printf(“Masukan amgka hari (1-7) :”); scanf(“%d”,
&nomor_hari);
switch (AngkaHari)
{
case
1 : printf(“senin \n”); break;
case
2 : printf(“selasa \n”); break;
case
3 : printf(“rabu \n”); break;
case
4 : printf(“kamis \n”); break;
case
5 : printf(“jumat \n”); break;
case
6 : printf(“sabtu \n”); break;
case
7 : printf(“minggu \n”); break;
default
: printf(“bukan hari yang benar”); break;
}
}
Bahasa C++ :
/* PROGRAM NAMA NAMA HARI */
/* Mencetak nama hari berdasarkan nomor bulan
(1..3) */
//blogemashyda.blogspot.com
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
/* DEKLARASI */
int nomor_hari;
/*ALGORITMA */
printf("Masukan angka hari (1-7)
:"); scanf("%d",&nomor_hari);
switch (nomor_hari)
{
case
1 : printf("senin \n"); break;
case
2 : printf("selasa \n"); break;
case
3 : printf("rabu \n"); break;
case
4 : printf("kamis \n"); break;
case
5 : printf("jumat \n"); break;
case
6 : printf("sabtu \n"); break;
case
7 : printf("minggu \n"); break;
default
: printf("bukan hari yang benar"); break;
}
system("PAUSE");
return EXIT_SUCCESS;
}
Semoga bermanfaat :) sampai jumpa di postingan selanjutnya Sobat Hyda...
Komentar
Posting Komentar