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
             nilai2 : aksi2
             nilai3 : aksi3
            .
            .
            .
          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

Postingan populer dari blog ini

Cara install dan menggunakan crack Ulead video studio 11 plus dengan Mudah

Driver Lengkap ACER Aspire 4732z

Membuat segitiga siku dengan looping for dan while pada PHP