Anda di halaman 1dari 6

Laporan 3

PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

“Logika Percabangan dan Operator-Operator”

ASISTEN :
1. Mufrihatun El Walidayni
2. Kafriansyah
OLEH :
Nama : Akhmad Zuhdy Hafid
Nim : 60900119035
Kelas :B

LABORATORIUM KOMPUTER TERPADU

JURUSAN SISTEM INFORMASI

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI ALAUDDIN MAKASSAR

2019
A. Tujuan Praktikum
1. Mahasiswa mampu menggunakan logika IF, IF-ELSE, Nested IF, dan CASE
dalam pemrograman.
2. Mahasiswa mampu menghasilkan rancangan algoritma penyelesaian masalah
yang melibatkan penggunaanlogika IF, IF-ELSE, Nested IF, atau CASE
dalam program computer.
3. Mahasiswa secara khusus memahami dan mampu memecahkan kasus
menggunakan operator kendali tenary.
B. Dasar Teori
Logika kendali yang paling populer dan umum digunakan adalah logika if dan
if else. Namun dalam beberapa kasus logika switch-case lebih tepat digunakan,
misalnya jika seleksi itu melibatkan seleksi nilai percabangan yang sudah tetap.
Sebaliknya seleksi kondisi nilai variabel yang dinamis lebih tepat menggunakan if
atau if-else.
Operator tenary memiliki kemiripan dengan fungsi if atau if-else. Hanya saja
pada Bahasa pemrograman C++, operator tenary hanya mengijinkan assignment
snilai dalam kondisi percabangan.
Berikut ini adalah bentuk paling sederhana dari logika kendali if:
int i = 0;
// if cara pertama
if(i<10) cout << "Halo\n";

// if cara kedua
if(i<10)
cout << "Halo\n";

// if cara ketiga
if(i<10){ cout << "Halo\n"; }

Struktur kendali if-else pada contoh diatas bisa dinyatakan dalam satu baris.
Namun jika baris perintah yang akan dieksekusi lebih dari 1 baris perintah, maka
baris-baris perintah tersebut harus diapit dengan kurung { dan }.

Berikut ini adalah contoh if-else dengan satu baris perintah dan dua baris
perintah dalam kondisi percabangannya.

int i = 40;
// if else cara pertama
if(i<10)
cout << "Halo\n";
else
cout << "Welcome\n";
// if else cara kedua
if(i<10){
cout << "Kurang dari 10\n";
cout << "Halo\n";
}
else{
cout << "Lebih dari 10\n";
cout << "Welcome\n";
}

Seleksi kondisi dengan menggunakan variabel bilangan bulat atau nilai tunggal
yang pasti, lebih tepat diselesaikan dengan menggunakan logika switch-case.
Misalnya kondisi kelulusan mahasiswa yang ditentukan dari nilai huruf A, B, C, D,
dan E atau penilaian tersebut jika dikonversi menjadi nilai angka berturut-turut 5,
4, 3, 2, dan 1, akan lebih bagus jika menggunakan kode seleksi switch-case seperti
contoh berikut :

// Contoh switch-case dengan variabel nilai tetap char


char nilaiHuruf = 'A';

switch(nilaiHuruf){
case 'A':
cout << "Anda Lulus Memuaskan\n";
break;
case 'B':
cout << "Anda Lulus Baik\n";
break;
case 'C':
cout << "Anda Lulus Cukup Baik\n";
break;
case 'D':
cout << "Anda Lulus Kurang Baik\n";
break;
case 'E':
cout << "Anda Tidak Lulus\n";
break;
default:
cout << "Anda Tidak Lulus\n";
break;
}

// Contoh switch-case dengan variabel nilai tetap integer


int nilai = 3;
switch(nilai){
case 5:
cout << "Anda Lulus Memuaskan\n";
break;
case 4:
cout << "Anda Lulus Baik\n";
break;
case 3:
cout << "Anda Lulus Cukup Baik\n";
break;
case 2:
cout << "Anda Lulus Kurang Baik\n";
break;
case 1:
cout << "Anda Tidak Lulus\n";
break;
default:
cout << "Anda Tidak Lulus\n";
break;
}

Adapun jika kondisi seleksi itu melibatkan rentang nilai variabel yang variatif
dan tidak bisa diprediksikan, maka struktur kendali if atau if-else lebih tepat
digunakan. Contohnya adalah menyeleksi kelulusan mahasiswa dengan variabel
rentang nilai sebagai acuan. Nilai 85-100 lulus memuaskan, nilai 70 sampai lebih
kecil 85 lulus baik dan seterusnya sangat tepat dikodekan dalam struktur kendali if-
else dengan operator logika.

// Contoh logika if-else dengan operator logika


int nilai = 89;

if(nilai>=85){
cout << "Anda Lulus Memuaskan\n";
}else if(nilai>=75 && nilai<85){
cout << "Anda Lulus Baik\n";
}else if(nilai>=65 && nilai<75){
cout << "Anda Lulus Cukup Baik\n";
}else if(nilai>=51 && nilai<60){
cout << "Anda Lulus Kurang Baik\n";
}else{
cout << "Anda Tidak Lulus\n"; }
Logika if atau if-else kadang disusun berjenjang atau nested-if untuk menyeleksi
kondisi didalam kondisi. Perhatikan contoh dibawah ini untuk memeriksa
mahasiswa penerima beasiswa yaitu mahasiswa dengan IP semester diatas 3.0 dan
nilai Algoritma Pemrograman adalah A mendapat beasiswa pendidikan, sedangkan
jika IP diatas 3.5 akan mendapat jenis beasiswa prestasi.

// Contoh nested-if
double ipSemester = 3.8;
char nilaiAlgoritma = 'A';
if(ipSemester > 3.0){

//nested if
if(ipSemester>3.5 && nilaiAlgoritma=='A'){
cout << "Anda Menerima Beasiswa Prestasi\n";
}else if(nilaiAlgoritma=='A'){
cout << "Anda Menerima Beasiswa Pendidikan\n";
}
}

Operator lain selain if dan switch adalah operator tenari. Operator ini dapat
mempersingkat penulisan kondisional menggunakan if. Bentuk paling sederhana
operator tenari adalah sebagai berikut :

// Contoh tenary
double ipSemester = 1.8;

(ipSemester>2) ? cout << "Anda lulus\n" : cout << "Anda


tidak lulus\n";
Operasi kendali tenary pada contoh di atas ekuivalen dengan operator if-else.
Operator tenari menggunakan tanda kurung ( dan ) jika operator ini dilakukan
secara berjenjang. Perhatikan contoh :

// Contoh tenary berjenjang


double ipSemester = 3.8;

(ipSemester>2) ?
(
(ipSemester>3.5) ?
cout << "Anda lulus dan dapat beasiswa\n" :
cout << "Anda lulus\n"
) : cout << "Anda tidak lulus\n";
/*
bentuk di atas tidak lain mengikuti format berikut:
(kondisi_1) ? (
(kondisi_2) ? (statemen jika benar) : (statemen jika
salah) ) : (statemen jika salah)
*/
Tenari berjenjang ekuivalen dengan logika nested-if.

Anda mungkin juga menyukai