Belajar Bahasa C #6 : Macam Bentuk Percabangan Bahasa C

Pada bahasa C, Percabangan merupakan alur program yang bercabang untuk menjalankan suatu instruksi berdasarkan logika/kondisi yang ditetapkan. Pada artikel ini kita akan membahas macam jenis percabangan serta contoh program sederhana,

Macam-macam percabangan bahasa C

Sama seperti percabangan pada bahasa program yang lainnya, bahasa C juga terdapat 6 jenis percabangan, yaitu :

  1. Percabangan If
  2. Percabangan If/Else
  3. Percabangan If/Elseif/Else
  4. Percabangan Switch/Case
  5. Percabangan dengan Operator Ternary
  6. Percabangan Bersarang

Percabangan If Pada Bahasa C

Percabangan if merupakan percabangan yang paling sederhana karena hanya memiliki satu blok pilihan saat kondisi bernilai benar. Adapun yang dimaksud dengan ”blok” pada program, nanti akan di bahas di bagian keterangan.

Silahkan perhatikan flowchart berikut :

program percabangan bahasa c

Pada flowchart diatas dapat di baca seperti berikut :

Jika total belanja lebih dari dari Rp 5.000, maka akan menampilkan pesan ”Selamat, Anda mendapat kupon undian”. Setelah itu baru diikuti pesan selanjutnya ”Terimakasih sudah berbelanja di toko kami”

Namun apabila total belanja dibawah Rp 5.000, maka hanya menampilkan pesan ”Terimakasih sudah berbelanja di toko kami”

Contoh program bahasa C pada percabangan if seperti flowchart diatas :

#include <stdio.h>

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

    printf("Masukkan total belanja anda : ");
    scanf("%i", &total_belanja);

    // menggunakan blok percabangan if
    if( total_belanja > 5000 ){
        printf("Selamat Anda mendapat kupon undian \n");
    }

    printf("Selamat belanja di praktekotodidak.com \n\n");
}

Keterangan :

Yang disebut blok program adalah pada kode dibawah ini ..

// menggunakan blok percabangan if
    if( total_belanja > 5000 ){
        printf("Selamat Anda mendapat kupon undian \n");
    }

Blok program berisi sekumpulan ekpresi dan pernyataan/statement untuk dikerjakan oleh komputer yang selalu diawali dengan tanda buka kurung kurawal { dan akan diakhiri dengan tutup kurung kurawal }. Namun, jika di dalam blok hanya ada satu baris ekspresi atau statement, maka kurawalnya boleh tidak ditulis. Contohnya seperti ini:

    if( total_belanja > 5000 )
        printf("Selamat Anda mendapat kupon undian \n");

Adapun hasil dari kode program pada percabangan if adalah seperti tampak gambar berikut ini.

program percabangan bahasa c

Percabangan If Else Pada Bahasa C

Percabangan if/else merupakan percabangan yang memiliki dua kondisi pada blok pilihan yaitu, untuk kondisi benar dan kedua untuk kondisi salah (else).

Silahkan perhatikan flowchart berikut :

program percabangan bahasa c

Pada flowchart diatas dapat di baca seperti berikut :

Jika total belanja lebih besar dari Rp 5.000, Maka akan menampilkan pesan :

” Selamat Anda mendapat kupon undian”

Namun, jika total belanja kurang dari Rp 5.000, maka pesannya adalah :

” Dapatkan kupon undian dengan minimal belanja Rp.5000 !”

Sedangkan pesan ”Selamat belanja di praktekotodidak.com” akan tetap ditampilkan, karena bukan bagian dari blok percabangan if/else.

Untuk lebih jelasnya, kita akan membuat program sederhana percabangan if/else pada bahasa C :

#include <stdio.h>

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

    printf("Masukkan total belanja anda : ");
    scanf("%i", &total_belanja);

    // menggunakan blok percabangan if
    if( total_belanja > 5000 ){
        printf("Selamat Anda mendapat kupon undian \n");
    } else {
        printf("Dapatkan kupon undian dengan minimal belanja Rp.5000 \n");
    }

    printf("Selamat belanja di praktekotodidak.com \n\n");
}

Hasilnya :

Percabangan If Else If

Percabangan if/else/if merupakan percabangan yang memiliki lebih dari dua blok pilihan.

Contoh kode program bahasa C pada pada percabangan If Else If :

#include <stdio.h>

void main(){
    int nilai;
    char grade;

    printf("=== Program Nilai ===\n");
    printf("Masukkan nilai anda: ");
    scanf("%i", &nilai);

    // menggunakan percabangan if/esle/if
    if (nilai >= 90) {
        grade = 'A';
    } else if (nilai >= 75) {
        grade = 'B';
    }  else if (nilai >= 50) {
        grade = 'C';
    }  else if (nilai >= 35) {
        grade = 'D';
    } else {
        grade = 'E';
        printf("Mohon di tingkatkan lagi belajarnya \n");
    }

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

Keterangan :

Disini saya mendefinisikan sebuah variabel ”grade” sebagai char di baris 5.

Variabel grade ini digunakan untuk menampung input dari perintah dari scanf() di baris 9.

Untuk setiap block IF ELSE, terdapat 4 pemeriksaan kondisi pada baris 12 hingga 22.

Dalam setiap kondisi, isi variabel grade akan ditentukan sesuai dari nilai yang diinput.

Block kode program akan di eksekusi apabila salah satu kondisi ini terpenuhi.

Namun jika angka yang diinputkan bukan dari variabel ”nilai”, maka block ELSE di baris 20 akan dijalankan.

Percabangan Switch Case Pada Bahasa C

Percabangan switch/case adalah bentuk lain dari percabangan if/else/if. Pada kode program bahasa C, Struktur dari percabangan Switch/Case adalah sebagai berikut :

switch(variabel){
    case <value>:
        // blok kode
        break;
    case <value>:
        // blok kode
        break;
    default:
        // blok kode
}

Anda bisa membuat blok kode (case) berapun di dalam blok switch. Setiap case harus diakhiri dengan break. Fungsi dari break yaitu agar program berhenti mengecek case berikutnya saat sebuah case terpenuhi.

Namun untuk default yang terletak di bagian akhir ini, tidak perlu tidak perlu diakhiri dengan break. Sedangkan pada <value>, bisa isi dengan nilai yang nantinya akan dibandingkan dengan variabel.

Contoh kode program bahasa C untuk percabangan switch case :

#include <stdio.h>

int main(void)
{
  char nilai;

  printf("Masukkan Nilai Anda (A,B,C,D): ");
  scanf("%c",&nilai);

  switch (nilai) {
    case 'A':
      printf("Sangat baik \n");
      break;
    case 'B':
      printf("Bagus \n");
      break;
    case 'C':
      printf("Cukup \n");
      break;
    case 'D':
      printf("Kurang baik \n");
      break;
    default:
      printf("Nilai tidak ada dalam format \n");
  }

  return 0;
}

Hasilnya :

program percabangan bahasa c

Percabangan switch/case ini terkadang tidak dapat digunakan pada program dengan kondisi yang lebih kompleks. Switch/case hanya cocok untuk operasi perbandingan sederhana dan nilai yang diperiksa merupakan nilai yang tetap.

Percabangan dengan Operator Ternary

Percabangan dengan operator ternary ini merupakan bentuk lain dari percabangan if/else. Operator ini juga juga di sebut dengan operator kondisi. Bentuk strukturnya seperti ini:

(kondisi) ? true : false

Pada bagian kondisi, bisa diisi dengan ekspresi yang menghasilkan nilai true dan false. Jika kondisi bernilai benar, maka yang akan dipilih adalah true. Sebaliknya kalau salah, maka yang akan dipilih adalah false.

Contoh kode program bahasa C untuk percabangan dengan operator ternary :

#include <stdio.h>

void main(){

    int jawaban;

    printf("5+5+5 = ... \n");
    printf("jawab> ");
    scanf("%d", &jawaban);

    printf("Jawaban anda: %s\n", (jawaban == 15) ? "Benar" : "Salah");

}

Hasilnya :

Percabangan Bersarang (Nested)

Percabangan bersarang adalah bentuk blok percabangan yang di dalamnya juga terdapat percabangan lain (nested). Semua bentuk blok percabangan dapat dibuat di dalam percabangan yang lainnya.

Contoh kode program bahasa C untuk percabangan bersarang :

#include <stdio.h>

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

    printf("=== Program Login ===\n");
    printf("Username: ");
    scanf("%s", &username);
    printf("Password: ");
    scanf("%s", &password);

    if(strcmp(username, "surya16") == 0){
        if(strcmp(password, "filter") == 0){
            printf("Selamat datang di praktekotodidak.com !\n");
        } else {
            printf("Password yang anda masukkan salah, silahkan coba lagi!\n");
        }
    } else {
        printf(" Hubungi CS jika ada kendala login\n");
    }
}

Keterangan :

Pada baris ke 4, kita membuat sebuah array dari karakter dengan panjang 30 karakter untuk menyimpan username dan password.

Setelah itu kita mengisi nilai username dan password dengan mengambil input dari scanf() di baris 8 dan 10.

Di baris 12 dan 13 kita menggunakan fungsi strcmp() untuk membandingkan dua teks (string) pada percabangan if/else. Jika kedua teks yang dibandingkan sama, maka Fungsi strcmp() akan menghasilkan nilai false atau nol (0).

Terakhir kita membuat blok percabangan lagi di baris 18 yaitu blok else. Jika nilai username dan password yang diinputkan bukan dari nilai dari fungsi strcmp(), maka block percabangan ini akan dijalankan

Adapun hasil dari kode program Percabangan Bersarang adalah sebagai berikut :

program percabangan bahasa c

Begitulah pembahasan mengenai jenis dan blok Percabangan pada C. Baca juga artikel berikutnya yaitu : Macam Macam Operator Pada C

Sekian untuk pembahasan mengenai bahasa C kali ini. Semoga bermanfaat

Tinggalkan Balasan

Scroll to Top