0% menganggap dokumen ini bermanfaat (0 suara)
321 tayangan22 halaman

Switch Case Ok

Kondisi SWITCH CASE digunakan untuk membandingkan isi variabel dengan beberapa nilai. Jika cocok, blok kode akan dieksekusi. SWITCH CASE terdiri dari perintah SWITCH dan satu atau lebih CASE untuk setiap nilai. Jika tidak cocok, blok DEFAULT dieksekusi. Contoh menggunakan SWITCH CASE untuk menampilkan pesan berdasarkan nilai input pengguna.

Diunggah oleh

rony putra
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
321 tayangan22 halaman

Switch Case Ok

Kondisi SWITCH CASE digunakan untuk membandingkan isi variabel dengan beberapa nilai. Jika cocok, blok kode akan dieksekusi. SWITCH CASE terdiri dari perintah SWITCH dan satu atau lebih CASE untuk setiap nilai. Jika tidak cocok, blok DEFAULT dieksekusi. Contoh menggunakan SWITCH CASE untuk menampilkan pesan berdasarkan nilai input pengguna.

Diunggah oleh

rony putra
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 22

SWITCH CASE

Pengertian SWITCH CASE Bahasa C++


Kondisi SWITCH CASE adalah percabangan kode program dimana kita membandingkan isi
sebuah variabel dengan beberapa nilai. Jika proses perbandingan tersebut menghasilkan true,
maka block kode program akan di proses.
Kondisi SWITCH CASE terdiri dari 2 bagian, yakni perintah SWITCH dimana terdapat
nama variabel yang akan diperiksa, serta 1 atau lebih perintah CASE untuk setiap nilai yang
akan diperiksa.
Berikut format dasar penulisan kondisi SWITCH CASE dalam bahasa C++
switch (nama_variabel) {
case 'nilai_1'
// Kode program yang dijalankan jika nama_variabel == nilai_1
break;
case 'nilai_2'
// Kode program yang dijalankan jika nama_variabel == nilai_2
break;
case 'nilai_3'
// Kode program yang dijalankan jika nama_variabel == nilai_3
break;
...
...
default
// Kode program yang dijalankan jika tidak ada kondisi yang terpenuhi
}
Di awal kode program, terdapat perintah SWITCH untuk menginput variabel yang akan
diperiksa. Kemudian terdapat beberapa perintah CASE yang diikuti dengan sebuah nilai.
Jika isi dari nama_variabel sama dengan salah satu nilai ini, maka blok kode program akan
dijalankan. Jika ternyata tidak ada kondisi CASE yang dipenuhi, blok default di baris paling
bawah-lah yang akan dijalankan.
Di dalam setiap block case, diakhiri dengan perintah break agar struktur CASE langsung
berhenti begitu kondisi terpenuhi. Mari langsung lihat contoh prakteknya.

Contoh Kode Program SWITCH CASE Bahasa C++


Dalam tutorial sebelumnya, terdapat kode program untuk menampilkan nilai dengan
struktur IF ELSE IF. Kita akan coba konversi menjadi bentuk SWITCH CASE.
Berikut saya tampilkan kembali kode program dengan struktur IF ELSE IF
1 #include <iostream>
2
3 using namespace std;
4
5 int main()
6 {
7 char nilai;
8
9 cout << "Input Nilai Anda (A - E) ";
10 cin >> nilai;
11
12 if (nilai == 'A' ) {
13 cout << "Pertahankan!" << endl;
14 }
15 else if (nilai == 'B' ) {
16 cout << "Harus lebih baik lagi" << endl;
17 }
18 else if (nilai == 'C' ) {
19 cout << "Perbanyak belajar" << endl;
20 }
21 else if (nilai == 'D' ) {
22 cout << "Jangan keseringan main" << endl;
23 }
24 else if (nilai == 'E' ) {
25 cout << "Kebanyakan bolos..." << endl;
26 }
27 else {
28 cout << "Maaf, format nilai tidak sesuai" << endl;
29 }
30
31 return 0;
32 }
Program yang sama bisa dikonversi ke dalam bentuk SWITCH CASE berikut ini
1 #include <iostream>
2
3 using namespace std;
4
5 int main()
6 {
7 char nilai;
8
9 cout << "Input Nilai Anda (A - E) ";
10 cin >> nilai;
11
12 switch (nilai) {
13 case 'A'
14 cout << "Pertahankan!" << endl;
15 break;
16 case 'B'
17 cout << "Harus lebih baik lagi" << endl;
18 break;
19 case 'C'
20 cout << "Perbanyak belajar" << endl;
21 break;
22 case 'D'
23 cout << "Jangan keseringan main" << endl;
24 break;
25 case 'E'
26 cout << "Kebanyakan bolos..." << endl;
27 break;
28 default
29 cout << "Maaf, format nilai tidak sesuai" << endl;
30 }
31
32 return 0;
33 }
Hasil kode program
Input Nilai Anda (A - E) A
Pertahankan!

Input Nilai Anda (A - E) D


Jangan keseringan main

Input Nilai Anda (A - E) E


Kebanyakan bolos...

Input Nilai Anda (A - E) F


Maaf, format nilai tidak sesuai
Di baris 10 terdapat perintah untuk meminta user menginput salah satu huruf antara ‘A’ – ‘E’.
Nilai huruf ini kemudian disimpan ke dalam variabel nilai yang sudah di set ber tipe data char.
Kondisi SWITCH CASE dimulai pada baris 12. Di sini terdapat perintah switch (nilai) yang
artinya kita ingin memeriksa isi dari variabel nilai. Seluruh block SWITCH berada di dalam
tanda kurung kurawal yang dimulai dari baris 12 sampai 30.
Di baris 13 terdapat perintah case ‘A’ Ini artinya jika variabel nilai berisi karakter ‘A‘, maka
jalankan isi dari block CASE, yakni perintah cout << “Pertahankan!” << endl. Lalu terdapat
perintah break di baris 15 agar struktur CASE lain tidak perlu di proses lagi.
Di baris 16 terdapat perintah CASE kedua, yakni case ‘B’. Sama seperti sebelumnya, blok ini
akan dijalankan jika variabel nilai berisi huruf ‘B‘. Demikian seterusnya sampai case ‘E’ di
baris 25.
Jika ternyata tidak ada nilai yang sesuai, maka block default di baris 28 yang akan di eksekusi.
Struktur SWITCH CASE ini terlihat lebih rapi daripada struktur IF ELSE IF, dan kadang kala
bisa lebih efisien. Namun SWITCH CASE juga memiliki batasan, dimana tidak bisa dipakai
untuk kondisi yang lebih kompleks seperti perbandingan dengan tanda lebih besar dari ” > “,
maupun penggabungan kondisi.
Kita tidak bisa membuat struktur CASE seperti berikut
1// ini akan error
2case > '90'
3 cout << "Pertahankan!" << endl;
4 break;
Kondisi perbandingan di atas hanya bisa ditulis menggunakan struktur IF. Sehingga jika
kondisi yang diperiksa cukup rumit, maka terpaksa harus menggunakan struktur IF ELSE IF.
Struktur SWITCH CASE yang kita pelajari kali ini hanya cocok untuk operasi perbandingan
sederhana, dimana nilai yang diperiksa hanya terdiri dari nilai yang tetap.

Bentuk Blok Percabangan pada C++


Pada flow chart, logika “jika…maka” digambarkan dalam bentuk cabang.
Karena itu, ini disebut percabangan.
Selain percabangan, struktur ini juga disebut control flow, decision, struktur kondisi, Struktur
if, dsb.
Percabangan akan mampu membuat program berpikir dan menentukan tindakan sesuai
dengan logika/kondisi yang kita berikan.
Pada pemrograman C++, terdapat 6 bentuk percabangan yang harus kita kitahui.
Apa saja itu?
Mari kita bahas…
1. Percabangan if
Percabangan if merupakan percabangan yang hanya memiliki satu blok pilihan saat kondisi
bernilai benar.
Coba perhatikan flowchart berikut ini
Flowchart tersebut dapat kita baca seperti ini
“Jika total belanja lebih besar dari Rp 100.000, Maka tampilkan pesan Selamat, Anda dapat
hadiah”
Kalau dibawah Rp 100.000 bagaimana?
Ya pesannya tidak akan ditampilkan.
Mari kita coba dalam program C++.
Buatlah file bernama if.cpp, kemudian isi dengan kode berikut.
#include <iostream>
using namespace std;

int main(){

cout << "=== Program Pembayaran ===" << endl;


unsigned int total_belanja;

cout << "Masukan total belanja ";


cin >> total_belanja;

// menggunakan percabangan if
if(total_belanja > 100000){
cout << "Selamat! anda dapat hadiah" << endl;
}

cout << "Terimakasih sudah berbelanja di toko kami" << endl;

return 0;
}
Kompilasi kode tersebut dengan perintah
g++ if.cpp -o if
Lalu eksekusi dengan perintah
./if

Perhatikan pada bagian ini


// menggunakan percabangan if
if(total_belanja > 100000){
cout << "Selamat! anda dapat hadiah" << endl;
}
Inilah yang disebut blok program.
Blok program berisi sekumpulan ekpresi dan statement untuk dikerjakan oleh komputer.
Blok program pada C++, selalu diawali dengan tanda buka kurung kurawal { dan akan
diakhiri dengan tutup kurung kurawal }.
Apabila di dalam blok hanya terdapat satu baris ekspresi atau statement, maka boleh tidak
ditulis tanda kurungnya.
if (total_belanja > 100000)
cout << "Selamat! anda dapat hadiah" << endl;
2. Percabangan if/else
Percabangan if/else merupakan percabangan yang memiliki dua blok pilihan.
Blok pilihan pertama untuk kondisi benar, dan pilihan kedua untuk kondisi salah (else).
Coba perhatikan flowchart ini
Ini adalah flowchart untuk mengecek password.
Apabila password benar, pesan yang ada pada blok hijau akan ditampilkan “Selamat datang
bos!"
Tapi kalau salah, maka pesan yang ada di blok merah yang akan ditampilkan “Password
salah, coba lagi!"
Kemudian, pesan yang berada di blok abu-abu akan tetap ditampilkan, karena dia bukan
bagian dari blok percabangan if/else.
Perhatikan arah panahnya, setiap blok if/else mengarah ke sana…
Untuk lebih jelasnya, mari kita coba dalam program.
Buatlah file baru bernama if_else.cpp, kemudian isi dengan kode berikut
#include <iostream>
using namespace std;

int main(){

string password;

cout << "========= Login =========" << endl;


cout << "Masukan password ";
cin >> password;

// percabangan if/else
if (password == "kopi"){
cout << "Selamat datang bos!" << endl;
} else {
cout << "Password salah, coba lagi!" << endl;
}

cout << "Terimakasih sudah menggunakan aplikasi ini!" << endl;

return 0;
}
3. Percabangan if/else/if
Percabangan if/else/if merupakan percabangan yang memiliki lebih dari dua blok pilihan.
Coba perhatikan flowchart berikut
Perhatikan blok yang saya beri warna…
Ini adalah blok untuk percabangan if/else/if. Kita bisa menambahkan berapapun blok yang
kita inginkan.
Contoh Program
#include <iostream>
using namespace std;

int main(){
int nilai;
string grade;

cout << "=== Program Grade Nilai ===" << endl;


cout << "Inputkan nilai akhir ";
cin >> nilai;

// menggunakan percabangan if/esle/if


if (nilai >= 90) {
grade = "A";
} else if (nilai >= 80) {
grade = "B+";
} else if (nilai >= 70) {
grade = "B";
} else if (nilai >= 60) {
grade = "C+";
} else if (nilai >= 50) {
grade = "C";
} else if (nilai >= 40) {
grade = "D";
} else if (nilai >= 30) {
grade = "E";
} else {
grade = "F";
}

cout << "Grade anda " << grade << endl;

return 0;
}
4. Percabangan Switch/Case
Percabangan switch/case adalah bentuk lain dari percabangan if/else/if.
Strukturnya seperti ini
switch(variabel){
case <value>
// blok kode
break;
case <value>
// blok kode
break;
default
// blok kode
}
Kita dapat mermbuat blok kode (case) sebanyak yang diinginkan di dalam blok switch.
Pada <value>, kita bisa isi dengan nilai yang nanti akan dibandingkan dengan varabel.
Setiap case harus diakhiri dengan break. Khusus untuk default, tidak perlu diakhiri
dengan break karena dia terletak di bagian akhir.
Pemberian break bertujuan agar program berhenti mengecek case berikutnya saat
sebuah case terpenuhi.
Contoh
#include <iostream>
using namespace std;

int main(){

char grade;

cout << "Inputkan grade ";


cin >> grade;
switch (toupper(grade)){
case 'A'
cout << "Luar biasa!" << endl;
break;
case 'B'
case 'C'
cout << "Bagus!" << endl;
break;
case 'D'
cout << "Anda lulus" << endl;
break;
case 'E'
case 'F'
cout << "Anda remidi" << endl;
break;
default
cout << "Grade Salah!" << endl;
}

return 0;
}

Perhatikan program di atas…


Kita menggunakan fungsi toupper() untuk mengubah huruf kecil menjadi huruf kapital atau
huruf besar.
switch (toupper(grade)){
...
}
Mengapa menggunakan toupper()?
Ini karena agar kita dapat menginputkan huruf kecil dan huruf besar untuk mengecek grade.
Berikutnya coba perhatikan case 'B' dan case 'E'.

Kedua case ini tidak memiliki isi.


Ini artinya…dia akan mengikut pada case berikutnya.
Sebagai contoh, apabila kita inputkan B maka case C yang akan terpilih.
Begitu juga saat kita inputkan E, maka case F yang akan terpilih.
5. Percabangan dengan Opertor Ternary
Percabangan menggunakan opreator ternary merupakan bentuk lain dari percabangan if/else.
Bisa dibilang
Bentuk singkatnya dari if/else.
Operator ternary juga dikenal dengan sebutan operator kondisi (conditional operator).
Bentuk strukturnya seperti ini
(kondisi) ? true false
Bagian kondisi dapat kita isi dengan ekspresi yang menghasilkan nilai true dan false.
Lalu setlah tanda tanya ? adalah bagian pilihan.
Jika kondisi bernilai benar, maka true yang akan dipilih. Tapi kalau salah, maka false yang
akan dipilih.
Untuk lebih jelasnya, mari kita coba…
Buatlah file baru bernama ternary.cpp, kemudian isi dengan kode berikut
#include <iostream>
using namespace std;
int main(){

int jawaban;

cout << "Berapakah hasil 3+4?" << endl;


cout << "jawab> ";
cin >> jawaban;

string hasil = (jawaban == 7) ? "Benar" "Salah";

cout << "Jawaban anda " << hasil << endl;

return 0;
}

6. Percabangan Bersarang (Nested)


Kita juga dapat membuat blok percabangan di dalam percabangan. Ini disebut percabangan
bersarng atau nested if.
Contoh nested.cpp
#include <iostream>
using namespace std;

int main(){

string username, password;

cout << "=== Welcome ===" << endl;


cout << "Username ";
cin >> username;
cout << "Password ";
cin >> password;
if (username == "petanikode"){
if (password == "kopi"){
cout << "Selamat datang bos!" << endl;
} else {
cout << "Password salah, coba lagi!" << endl;
}
} else {
cout << "Anda tidak terdaftar" << endl;
}

return 0;
}

Apa Selanjutnya?
Blok percabangan merupakan blok kode yang harus kita pahami.
Karena kita akan banyak menggunakannya dalam membuat program.
Keenam bentuk percabangan di atas, merupakan bentuk-bentuk dasar.
Karena itu, sebaiknya perbanyak latihan dengan contoh kasus yang lain agar semakin paham.
Memahami Blok Perulangan di C++
Apa yang akan kamu lakukan saat disuruh mencetak kalimat berulang-ulang?
Misalnya
Tolong tampilkan kalimat "Tutorial Pemrograman C++!" sebanyak 10x ke layar!
Mungkin kamu akan menggunakan cout sebanyak 10 kali seperti ini
#include <iostream>
using namespace std;

int main(){
cout << "Tutorial Pemrograman C++!" << endl;
cout << "Tutorial Pemrograman C++!" << endl;
cout << "Tutorial Pemrograman C++!" << endl;
cout << "Tutorial Pemrograman C++!" << endl;
cout << "Tutorial Pemrograman C++!" << endl;
cout << "Tutorial Pemrograman C++!" << endl;
cout << "Tutorial Pemrograman C++!" << endl;
cout << "Tutorial Pemrograman C++!" << endl;
cout << "Tutorial Pemrograman C++!" << endl;
cout << "Tutorial Pemrograman C++!" << endl;
return 0;
}

Apakah boleh seperti ini?


Ya, boleh-boleh saja.
Tapi…
Bagaimana kalau nanti mau menampilkan sebanyak 1000 kali.
Pasti capek donk ngetiknya.
Karena itu, kita harus menggunakan perulangan.
Perulangan akan membantu kita mengeksekusi kode yang berulang-ulang, berapapun yang
kita mau.
Ada empat macam bentuk perulangan pada C.
Secara umum, dibagi menjadi dua kelompok.
Yaitu counted loop dan uncounted loop.
Perbedaanya
• Counted Loop merupakan perulangan yang jelas dan sudah tentu banyak kali
perulangannya.
• Sedangkan Uncounted Loop, merupakan perulangan yang tidak jelas berapa kali ia
harus mengulang.
Perulangan yang termasuk dalam Counted Loop
1. Perulangan For
Perulangan yang termasuk dalam Uncounted Loop
1. Perulangan While
2. Perulangan Do/While
Mari kita bahas satu per satu…
1. Blok Perulangan For
Perulangan for merupakan perulangan yang termasuk dalam couted loop, karena sudah jelas
berapa kali ia akan mengulang.

Flowchart perulangan for


Bentuknya kodenya seperti ini
for(int i = 0; i < 10; i++){
printf("Perulangan ke-%i\n", i);
}
Yang perlu diperhatikan adalah kondisi yang ada di dalam kurung setelah kata for.
Kondisi ini akan menentukan
• Hitungan akan dimulai dari 0 (i = 0);
• Hitungannya sampai berapa? Sampai i < 10;
• Lalu di setiap perulangan i akan bertambah +1 (i++).
Variabel i pada perulangan for berfungsi untuk menyimpan nilai hitungan.
Jadi setiap perulangan dilakukan nilai i akan selalu bertambah satu. Karena kita
menentukannya di bagian i++.
Contoh program loop dengan for
#include <iostream>
using namespace std;

int main(){
for(int i = 0; i < 10; i++){
printf("Perulangan ke-%i\n", i);
}

return 0;
}
Ini hasil outputnya

Apakah nama variabelnya harus selalu i?


Tidak.
Kita juga bisa menggunakan nama lain.
Misalnya
#include <iostream>
using namespace std;

int main(){
for(int counter = 0; counter < 10; counter += 2){
printf("Perulangan ke-%i\n", counter);
}

return 0;
}
Pada contoh tersebut, kita melakukan perulangan dimulai dari nol 0. Lalu di setiap
perulangan nilai variabel couter akan ditambah 2 (counter+=2).
Bagaimana kalau counter perulangannya dimulai dari akanga yang lebih besar sampai yang
ke paling kecil?
Ini biasanya kita buat saat ingin menghitung mundur…
Caranya gampang.
Kita tinggal isi nilai counter dengan nilai terbesarnya.
Misalnya kita akan mulai hitungan dari 10 sampai ke 0.
Maka nilai counter, kita isi awalnya dengan 10.
Lalu di kondisi perbandingannya, kita berikan counter > 0. Artinya perulangan akan
dilakukan selama nilai counter lebih besar dari 0.
Lalu kita kurangi (-1) nilai counter di setiap perulangan (counter--).
for(int counter = 10; counter > 0; counter--){
printf("Perulangan ke-%i\n", counter);
}

Mengapa tidak sampai nol (0)?


Karena kondisi yang kita berikan counter > 0. Apabila counter bernilai 0, maka kondisi ini
akan menjadi false.
Kecuali kita menggunakan operator lebih besar sama dengan (>=), maka
jika counter bernilai 0, kondisi akan menjadi true.
2. Perulangan While pada C++
Perulangan while merupakan perulangan yang termasuk dalam perulangan uncounted loop.
Perulangan while juga dapat menjadi perulangan yang counted loop dengan
memberikan counter di dalamnya.
Bentuk flow chart-nya sama seperti flow chart for.

Flowchart perulangan while


Untuk memahami perulangan ini…
…mari kita coba lihat contohnya
#include <iostream>
using namespace std;

int main(){
char ulangi = 'y';
int counter = 0;

// perulangan while
while(ulangi == 'y'){
printf("Apakah kamu mau mengulang?\n");
printf("Jawab (y/t) ");
cin >> ulangi;

// increment counter
counter++;
}

printf("\n\n----------\n");
printf("Perulangan Selesai!\n");
printf("Kamu mengulang sebanyak %i kali.\n", counter);

return 0;
}
Coba perhatikan blok kode while
// perulangan while
while(ulangi == 'y'){
printf("Apakah kamu mau mengulang?\n");
printf("Jawab (y/t) ");
cin >> ulangi;
// increment counter
counter++;
}
Di sana… Perulangan akan terjadi selama variabel ulangi brenilai y.
Lalu kita menggunakan fungsi scanf() untuk mengambil input.
Selama kita menjawab y pada input, maka perulangan akan terus dilakukan.
Tapi kalau kita jawab yang lain, maka perulangan akan dihentikan.
Karena kondisi perulangannya tidak terpenuhi.
3. Perulangan Do/While pada C++
Perulangan do/while sama seperti perulangan while.
Perbedaanya
Perulangan do/while akan melakukan perulangan sebanyak 1 kali terlebih dahulu, lalu
mengecek kondisi yang ada di dalam kurung while.
Flow chart perulangan do/while

Bentuk kodenya seperti ini


do {
// blok kode yang akan diulang
} while (<kondisi>);
Jadi perbedaanya
Perulangan do/while akan mengecek kondisi di belakang (sesudah mengulang),
sedangkan while akan mencek kondisi di depan atau awal (sbelum mengulang).
Mari kita coba lihat contohnya
#include <iostream>
using namespace std;
int main(){
char ulangi = 'y';
int counter = 0;

do {
printf("Apakah kamu mau mengulang?\n");
printf("Jawab (y/t) ");
cin >> ulangi;

// increment counter
counter++;
} while(ulangi == 'y');

printf("\n\n----------\n");
printf("Perulangan Selesai!\n");
printf("Kamu mengulang sebanyak %i kali.\n", counter);

return 0;
}
Contoh tersebut sama seperti contoh pada perulangan while.
Saat perulangan pertama, cobalah untuk membatalkan perulangannya dengan menjawab t.
Maka

4. Perulangan Bersarang (Nested Loop)


Di dalam blok perulangan, kita juga dapat membuat perulangan.
Ini disebut dengan nested loop atau perulangan bersarang atau perulangan di dalam
perualangan.
Mari kita coba lihat contohnya
#include <iostream>
using namespace std;

int main(){
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
printf("Perulangan ke (%d, %d)\n", i, j);
}
}

return 0;
}

Pada perulangan tersebut, kita menggunakan dua perulangan for.


Perulangan pertama menggunakan variabel i sebagai counter, sedangkan perultangan kedua
menggunakan variabel j sebagai counter.
Apa Selanjutnya?
Intinya perulangan digunakan untuk melakukan pengulangan. Ini merupakan hal dasar yang
harus dipahami setiap programmer.
Karena ke depan, kita akan banyak menggunakannya dalam membuat program dengan C++.
Yang perlu diingat, perulangan itu ada dua macam Counted loop dan uncounted loop.

Anda mungkin juga menyukai