Anda di halaman 1dari 22

Studi Kasus

Program Algoritma Percabangan C++

Muhammad Irfan Jalil

201011450437

Universitas Pamulang
ABSTRAK

Program adalah kumpulan instruksi computer, sedangkan metode dan tahapan


sistematis dalam Program adalah algoritma. Program ini ditulis dengan menggunakan
bahasa pemprograman. Jadi bisa kita sebut juga Program adalah suatu implementasi
bahasa pemprograman.
Dalam kehidupan sehari-hari tentu anda pernah menemukan sebuah pilihan, sebagai
contoh sederhana ketika anda akan memasuki sebuah toilet umum.
Hal tersebut termasuk sebuah percabangan dengan algoritma "jika anda adalah laki-laki
(True) maka masuk toilet pria, jika tidak (False) maka masuk toilet wanita".
Jadi setiap program percabangan hanya mengenal kondisi True (benar) atau False
(salah), tidak ada konsidi bisa jadi atau kondisi lainnya yang tidak ada kepastian.
A. Pendahuluan
Algoritma merupakan suatu langkah-langkah logis tertentu yang digunakan
untuk menyelesaikan suatu masalah. Dalam hal ini, masalah yang dimaksud adalah
masalah dalam membangun sebuah sistem ataupun program yang berjalan di dalam
sebuah komputer. Algoritma sendiri merupakan salah satu bahasan yang merupakan
topik dasar, terutama bagi mereka yang mengambil perkuliahan pada jurusan teknik,
terutama teknik komputer dan sistem informasi. (baca juga: keuntungan kuliah jurusan
teknik informatika)

Saat ini, algoritma memiliki fungsi yang sangat penting bagi manusia, yaitu
membantu manusia dalam menyelesaikan suatu masalah, yang didasarkan pada pola
pikirnya masing-masing. Jadi, dengan menggunakan prinsip-prinsip algoritma,
seseorang bisa menyelesaikan masalahnya masing-masing.

Ciri – Ciri dari Algoritma

Algoritma sendiri memiliki beberapa ciri-ciri utama, yaitu :

 Algoritma memiliki sebuah input atau masukan

 Algoritma membutuhkan suatu proses tertentu

 Algoritma merupakan pola pikiran dan pola logis yang menghasilkan output

 Algoritma memiliki instruksi yang tegas dan jelas, tanpa memberikan kesan
ambiguitas

 Algoritma harus memiliki apa yang disebut dengan stopping role.

Kelima poin diatas merupakan ciri-ciri utama dari sebuah siklus algoritma. Jadi,
apabila sebuah sistem ataupun sebuah pemikiran tidak memiliki poin-poin yang sudah
disebutkan diatas, maka hal tersebut tidak dapat disebut sebagai algoritma.

Sifat – Sifat dari Algoritma

Selain memiliki ciri-ciri utama, algoritma sendiri juga memiliki beberapa sifat-sifat
penting, yaitu:
a. Tidak menggunakan symbol ataupun suatu bahasa pemrograman, meskipun nantinya
berguna untuk memecahkan permasalahan yang berhubungan dengan komputer
ataupun pemrograman. (baca juga: macam-macam bahasa pemrograman)
b. Tidak tergantung pada suatu bahasa pemrograman khusus, sehingga sifatnya universal
dan bisa digunakan di mana saja.
c. Notasinya yang digunakan pada algoritma adalah universal, sehingga bisa digunakan
pada seluruh bahasa pemrograman apapun, tanpa terkecuali.

Itulah beberapa sifat dari algoritma, yang tentu saja sangat mudah untuk dipahami.
Jenis-jenis Algoritma

1. Algoritma Sekuensial
Algoritma sekuensial merupakan algoritma yang langkah-langkahnya secara urut dari
awal hingga akhir. Langkah demi langkah yang dijalankan harus urut dari atas sampai
bawah.
2. Algoritma Perulangan
Algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa langkah
tertentu secara berulang-ulang atau looping. Pada masalah yang dihadapi, ada pula
sebuah langkah yang harus dilakukan secara berulang-ulang.
3. Algoritma Percabangan atau Bersyarat
Algoritma bersyarat merupakan algoritma yang menjalankan langkah berikutnya
apabila terdapat syarat yang sudah dapat dipenuhi.

B. PEMBAHASAN/STUDI KASUS

Pengertian algoritma pemrograman percabangan, adalah salah satu jenis


algoritma yang digunakan untuk memberitahukan program tentang perintah apa yang
harus dijalankan, dimana perintah tersebut akan disesuaikan dengan beberapa kondisi.
Fungsi algoritma ini adalah untuk memproses keputusan yang tepat dan cepat sesuai
dengan yang keinginan pengguna berdasarkan kondisi yang terjadi pada sistem yang
digunakan. Algoritma percabangan ini biasa disebut juga sebagai algoritma seleksi
kondisi, flow control, dan algoritma pemilihan.

Algoritma percabangan memiliki beberapa macamnya. Meskipun begitu, tujuan dari


algoritma ini sama-sama untuk menentukan perintah mana yang akan dikerjakan oleh
sebuah program yang disesuaikan dengan kondisi atau syarat tertentu. Apa sajakah
macam-macam algoritma percabangan tersebut?

1. Percabangan untuk 1 kondisi. Percabangan jenis ini hanya memiliki satu kondisi yang
menjadi syarat untuk melakukan sebuah instruksi.
2. Percabangan untuk 2 kondisi. Percabangan jenis ini memiliki dua kondisi yang menjadi
syarat untuk mengerjakan salah satu dari dua buah instruksi.
3. Percabangan untuk 3 kondisi atau lebih. Percabangan jenis ini adalah pengembangan
dari dua jenis algoritma percabangan yang telah dibahas di atas. Oleh karena itu,
percabangan jenis ini akan memiliki banyak variasi.
4. Percabangan “Case of….”. Percabangan ini digunakan untuk memeriksa data yang
bertipe karakter atau integer.
5. Percabangan bersarang. Percabangan ini terdiri dari percabangan yang berada di dalam
percabangan, atau maksudnya di dalam sebuah percabangan terdapat percabangan lagi.
1. Kasus algoritma satu kondisi

Percabangan if atau satu kondisi 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.

#include <stdio.h>

void main(){
printf("== Program Pembayaran ==\n");
int total_belanja = 0;

printf("Inputkan total belanja: ");


scanf("%i", &total_belanja);

// menggunakan blok percabangan if


if( total_belanja > 100000 ){
printf("Selamat, Anda mendapatkan hadiah!\n");
}

printf("Terimakasih sudah berbelanja di toko kami\n\n");


}

Hasilnya:

Saat kita masukan nilai di bawah 100000.

Saat kita masukan nilai di atas 100000.


Sekarang mari kita perhatikan kode programnya…

Perhatikan pada bagian ini:

// menggunakan percabangan if
if( total_belanja > 100000 ){
printf("Selamat, Anda mendapatkan hadiah!\n");
}

Inilah yang disebut blok program.

Blok program berisi sekumpulan ekpresi dan statement untuk dikerjakan oleh
komputer.

Blok program pada bahasa 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 seperti ini:

if (total_belanja > 100000)


printf("Selamat, Anda mendapatkan hadiah!\n");
2. Kasus algoritma dua kondisi

Percabangan if/else atau dua kondisi 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.

#include <stdio.h>

void main(){
// membuat array karakter untuk menyimpan password
char password[30];

printf("==== Program Login ====\n");


printf("Masukan password: ");
scanf("%s", &password);

// percabangan if/esle
if( strcmp(password, "kopi") == 0 ){
printf("Selamat datang bos!\n");
} else {
printf("Password salah, coba lagi!\n");
}

printf("Terimakasih sudah menggunakan aplikasi ini!\n");


}

Hasilnya:

Saat password yang diinputkan benar.

Saat password yang diinputkan salah.


Sekarang coba perhatikan kode programnya.

Pertama kita membuat sebuah array dari karakter dengan panjang 30 karakter untuk
menyimpan password.

// membuat array karakter untuk menyimpan password


char password[30];

Setelah itu kita mengisi nilai password dengan mengambil input dari scanf().

scanf("%s", &password);

Berikutnya pada percabangan if/else, kita menggunakan fungsi strcmp() untuk


membandingkan dua teks (string).

if( strcmp(password, "kopi") == 0 ){


printf("Selamat datang bos!\n");
} else {
printf("Password salah, coba lagi!\n");
}
Fungsi strcmp() akan menghasilkan nilai false atau nol (0) jika kedua teks yang
dibandingkan sama.

Oleh sebab itu, kita menggunakan perbandingan seperti ini

strcmp(password, "kopi") == 0
pada blok if/else.

3. Percabangan 3 kondisi

Percabangan if/else/if atau 3 kondisi 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.
#include <stdio.h>

void main(){
int nilai;
char grade;

printf("=== Program Grade Nilai ===\n");


printf("Inputkan nilai: ");
scanf("%i", &nilai);

// menggunakan percabangan if/esle/if


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

printf("Nilai: %i\n", nilai);


printf("Grade anda: %c\n", grade);
}

Hasilnya:
Perhatikan di bagian else if untuk >= 80 dan >= 60, seharusnya di sana kita mengisi
variabel grade dengan B+ dan C+.

Tapi kita mengisinya dengan B dan C saja.

Ini karena variabel tersebut bertipe char dan tipe data ini hanya mampu menyimpan
satu karakter saja.

Jika ingin menggunakan B+ dan C+, kita bisa pakai tipe data string.

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 <stdio.h>

void main(){

char grade;

printf("Inputkan grade: ");


scanf("%c", &grade);

switch (toupper(grade)){
case 'A':
printf("Luar biasa!\n");
break;
case 'B':
case 'C':
printf("Bagus!\n");
break;
case 'D':
printf("Anda lulus\n");
break;
case 'E':
case 'F':
printf("Anda remidi\n");
break;
default:
printf("Grade Salah!\n");
}
}

Hasilnya:

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 Bersarang
Semua bentuk blok percabangan di atas dapat kita buat di dalam
percabangan yang lainnya.
Ini disebut dengan percabangan bersarng atau nested if.

#include <stdio.h>

void main(){
char username[30], password[30];

printf("=== Welcome to Awesome Program ===\n");


printf("Username: ");
scanf("%s", &username);
printf("Password: ");
scanf("%s", &password);

if(strcmp(username, "petanikode") == 0){


if(strcmp(password, "kopi") == 0){
printf("Selamat datang bos!\n");
} else {
printf("Password salah, coba lagi!\n");
}
} else {
printf("Anda belum terdaftar\n");
}

Hasilnya:

Anda mungkin juga menyukai