NIM : 1908561030
Kelas : B
2020
BAB I
PENDAHULUAN
I. Penyeleksian Kondisi
Penyeleksian Kondisi atau biasa disebut percabangan merupakan salah satu
solusi yang dapat dilakukan dalam menyelesaikan suatu masalah yang
memerlukan pemilihan dengan kondisi dua pilihan atau lebih. Penyeleksian
kondisi sangat berperan penting dalam menyusun sebuah program yang
kompleks. Ada 4 bentuk percabangan yang dikenal dalam bahasa C.
1. If-Else
Dalam penyeleksian kondisi If-Else terdapat dua buah pilihan atau
kondisi. Kondisi If umumnya diisi dengan statement yang benar, dan
Else diisi dengan statement yang salah. Jadi, jika kondisi memenuhi
syarat maka statement pertama akan dilakukan dan jika kondisi tidak
memenuhi syarat maka statement kedua yang akan dilakukan. Berikut
ini sintaks umum penyeleksian kondisi If-Else :
if (kondisi){
//statement pertama
else{
//statement kedua
int main(){
int belanja;
scanf("%d",&belanja);
if (belanja>=100000){
printf("\nSelamat Anda Mendapatkan Diskon
15%%");
else{
return 0;
Artinya, apabila user menginputkan nilai lebih dari atau sama dengan
100.000
} maka program akan mengoutputkan tulisan “Selamat Anda
Mendapatkan Diskon 15%”. Jika yang diinputkan nilai kurang dari
100.000 maka program akan mengoutputkan tulisan “Maaf, Anda
Kurang Beruntung”.
2. If-Else-If
Penyeleksian kondisi If-Else-If memiliki tiga buah pilihan atau lebih.
Sama seperti penyeleksian kondisi If-Else, kondisi If pada
penyeleksian kondisi If-Else-If juga diisi dengan statement yang benar
dan kondisi Else-If diisi dengan statement bukan If.
if (kondisi){
//statement pertama
//statement kedua
else{
//statemnet ketiga
}
Contoh implementasi dalam bahasa C :
#include<stdio.h>
int main(){
int belanja;
scanf("%d",&belanja);
if(belanja>=250000){
else if(belanja>=100000){
else if(belanja>=50000){
else if(belanja<=15000){
else{
return 0;
Artinya, apabila user menginputkan nilai lebih dari atau sama dengan
250.000 maka program akan mengoutputkan tulisan “Selamat Anda
Mendapatkan Diskon 20%”. Jika user menginputkan nilai lebih dari
atau sama dengan 100.000 maka program akan mengoutputkan tulisan
“Selamat Anda Mendapatkan Diskon 15%”. Jika user menginputkan
nilai lebih dari atau sama dengan 50.000 maka program akan
mengoutputkan tulisan “Selamat Anda Mendapatkan Diskon 10%”.
Jika user menginputkan nilai kurang dari atau sama dengan 15.000
maka program akan mengoutputkan tulisan “Maaf, Anda Kurang
Beruntung”. Jika user menginputkan nilai selain dari 4 kondisi
tersebut, maka program akan mengoutputkan tulisan “Anda
Mendapatkan Sebuah Piring Cantik”.
if (kondisi 2){
//statement
int main(){
int a;
if(a>=15){
if(a>15){
printf("\nBilangan %i Lebih Besar dari 15", a);
}
else{
else{
return 0;
Artinya, apabila user menginputkan nilai lebih dari atau sama dengan
15 maka akan masuk ke penyeleksian kondisi selanjutnya. Jika tidak
maka program akan mengoutputkan tulisan “Inputan Anda Tidak
Sesuai”. Jika bilangan yang diinputkan lebih dari 15 maka program
akan mengoutputkan tulisan “Bilangan Lebih Besar dari 15”. Selain
itu yang artinya user menginputkan bilangan 15, maka program akan
mengoutputkan tulisan “Bilangan Sama dengan 15”.
4. Switch-Case
Switch-Case umumnya digunakan ketika ingin menyeleksi kondisi
dengan pilihan atau kondisi yang cukup banyak. Salah satu dari
kondisi atau case akan dieksekusi tergantung dari nilai kondisi pada
switch. Jika nilai kondisi yang terdapat pada switch tidak sesuai
dengan semua case yang ada, maka yang akan dieksekusi adalah
statement dari default.
switch(kondisi){
case 1:
//statement pertama
break;
case 2:
//statement kedua
break;
....
....
case n:
//statement ke-n
break;
default:
//statement default
int bil;
switch(bil){
case 1:
printf("\nSatu");
break;
case 2:
printf("\nDua");
break;
case 3:
printf("\nTiga");
break;
case 4:
printf("\nEmpat");
break;
case 5:
printf("\nLima");
break;
default:
return 0;
II. Perulangan
Perulangan atau looping digunakan untuk mengeksekusi perintah secara
berulang-ulang sesuai dengan keinginan user. Contohnya ketika ingin
menampilkan tulisan “Hello World!” sebanyak 5 kali tentunya tidak akan
efisien jika kita menuliskannya satu persatu pada program. Sehingga dapat
digunakan fungsi perulangan untuk mencetak tulisan “Hello World!”
sebanyak 5 kali dengan hanya satu perintah saja. Terdapat tiga jenis
perulangan yang dikenal dalam bahasa C. Diantaranya yaitu, perulangan For,
While-Do dan Do-While.
1. For
Perulangan For umumnya digunakan ketika banyak perulangan sudah
diketahui. Struktur Perulangan For lebih sederhana dibanding
perulangan lainnya. Sintaks umum untuk Perulangan For adalah
sebagai berikut :
for(start;kondisi;penambahan){
//statement
int main(){
int i;
for(i=1;i<=10;i++){
printf("%i\n", i);
return 0;
2. While-Do
Perulangan While-Do digunakan untuk proses perulangan yang belum
diketahui jumlah perulangannya. Selama kondisi while bernilai benar,
maka perulangan akan terus dilakukan. Berikut ini bentuk umum
perulangan While-Do :
while(kondisi){
//statement
#include<stdio.h>
int main(){
int i;
i=1;
while(i<=10){
printf("%i\n", i);
i++;
return 0;
}
3. Do-While
Perulangan Do-While pada dasarnya sama dengan perulangan While-
Do. Hanya saja pada perulangan Do-While, kondisi while terletak di
bawah perulangan. Proses perulangan akan dilakukan terlebih dahulu
baru dilakukan pengecekan kondisi while. Sehingga dalam perulangan
Do-While akan terjadi paling tidak satu kali perulangan. Bentuk umum
perulangan Do-While :
do{
//statement
}while(kondisi)
#include<stdio.h>
int main(){
int i;
i=1;
do{
printf("%i\n", i);
i++;
}while(i<=10);
return 0;
Sama halnya seperti penyeleksian kondisi, dalam perulangan juga dikenal Nested
Looping atau perulangan bersarang. Berikut ini contoh implementasi Nested Looping
dalam bahasa C.
#include<stdio.h>
int main(){
int i,j,k;
for(i=1;i<=5;i++){
for(j=1;j<=10;j++){
k=i*j;
printf("%i x %i = %i\n",i,j,k);
printf("\n");
return 0;
Program diatas akan mencetak angka 1 sampai 5 yang kemudian akan dikalikan
dengan angka 1 sampai 10 dan juga hasilnya.
BAB II
PERMASALAHAN
PEMBAHASAN
int main(){
string a;
getline(cin,a);
switch(a){
case "satu":
cout<<"ini satu"<<endl;
break;
case "dua":
cout<<"ini dua"<<endl;
break;
default:
return 0;
}
Ketika di compile and run, program tersebut akan error dan muncul
kalimat kuantitas pada switch bukan tipe data integer. Tetapi, ketika
menggunakan tipe data char atau karakter program dapat berjalan.
Contohnya sebagai berikut.
#include<iostream>
int main(){
char a;
cin>>a;
switch(a){
case 'A':
cout<<"ini satu"<<endl;
break;
case 'B':
cout<<"ini dua"<<endl;
break;
default:
return 0;
int main(){
int a,b,c;
string nama;
cout<<".==================****==================."<<end
l;
cout<<".==================****==================."<<end
l<<endl;
cin>>a;
switch(a){
case 1:
cout<<"Nama\t: ";
getline(cin,nama); getline(cin,nama);
cout<<"Umur\t: ";
cin>>b;
cin>>c;
cout<<endl;
switch(c){
case 1:
cout<<"Nama\t: "<<nama<<endl;
cout<<"Umur\t: "<<b<<endl;
break;
case 2:
cout<<"Nama\t: "<<nama<<endl;
cout<<"Umur\t: "<<b<<endl;
cout<<"Ngekost"<<endl;
break;
default:
break;
case 2:
cout<<"Nama\t: ";
getline(cin,nama); getline(cin,nama);
cout<<"Umur\t: ";
cin>>b;
cin>>c;
cout<<endl;
switch(c){
case 1:
cout<<"Nama\t: "<<nama<<endl;
cout<<"Umur\t: "<<b<<endl;
break;
case 2:
cout<<"Nama\t: "<<nama<<endl;
cout<<"Umur\t: "<<b<<endl;
cout<<"Berangkat
sendiri"<<endl;
break;
default:
return 0;
Pada bagian kondisi diisi dengan operasi atau nilai yang akan diseleksi
dan kemudian menghasilkan nilai_1 atau nilai_2 tergantung dari kondisi
yang diberikan. Nilai_1 dan nilai_2 berisi jawaban atau statement yang
akan dipilih nantinya. Nilai_1 diisi dengan jawaban benar atau If
sedangkan Nilai_2 diisi dengan jawaban yang salah atau Else. Contoh
implementasi Operator Ternary dalam bahasa C++ :
#include<iostream>
int main(){
int a,b;
string jawab;
cin>>a;
cin>>b;
return 0;
int main(){
int a,b;
cin>>b;
if(a>b){
return 0;
Seperti yang dibahas pada landasan teori, perulangan for digunakan ketika
jumlah perulangan sudah diketahui. Jadi, apabila kita tidak
menginisialisasikan batas awal dan batas akhir dari perulangan tersebut
maka akan terjadi infinity looping atau perulangan sejumlah tidak
terhingga.
#include<iostream>
int main(){
for(;;){
cout<<"Hello World!"<<endl;
return 0;
Program akan terus melakukan perintah perulangan karena tidak ada batas
atau kondisi untuk keluar dari perulangan tersebut. Maka dari itu, pada
perulangan for harus dilakukan inisialisasi untuk batas awal dan akhir dari
perulangan itu sendiri.
2. Pembahasan Permasalahan dalam Program
2.1 Bagaimana logika dalam menentukan apakah sebuah kata atau
kalimat termasuk palindrome atau tidak?
int main(){
int i,index;
char in[100];
cin.getline(in,sizeof(in));
index=strlen(in)-1;
for(i=0;i<=index;i++){
if(in[i]==in[index]){
break;
else{
break;
}
index--;
return 0;
Pada saat menginputkan kata atau kalimat yang berisi huruf kapital
dengan menggunakan program yang diatas, program akan menghasilkan
bahwa kata atau kalimat tersebut bukan palindrome. Hal yang dapat
dilakukan adalah kita harus menginisialisasikan bahwa kalimat atau kata
yang diinputkan sama dengan bentuk lowercase dari inputan tersebut.
Artinya, kita harus mengubah terlebih dahulu inputan yang berisikan huruf
kapital menjadi bentuk lowercase.
Dalam kasus ini, kita dapat menggunakan bantuan fungsi tolower() yang
terdapat di dalam library untuk mendapatkan bentuk lowercase dari
inputan. Tolower() merupakan fungsi untuk mengubah huruf kapital
menjadi huruf kecil atau lowercase. Sehingga, kita dapat menambahkan
fungsi tolower() ini pada program palindrome tadi. Program tersebut akan
menjadi :
#include<iostream>
#include<string.h>
int main(){
int i,index;
char in[100];
cin.getline(in,sizeof(in));
index=strlen(in)-1;
for(i=0;i<=index;i++){
in[i]=tolower(in[i]);
in[index]=tolower(in[index]);
if(in[i]==in[index]){
break;
else{
break;
index--;
return 0;