Logika percabangan, IF dan

Modul ini akan membahas tentang percabangan, yaitu bila terdapat 2 kemungkinan jawaban atau lebih maka harus menggunakan perintah percabangan IF atau switch, siswa juga akan dikenalkan dengan operator-operator yang digunakan di dalam program C++

Shortcut

  • Ctrl + D = hapus baris
  • Ctrl + / = memberikan komentar
  • F9 = Compile / cek kesalahan
  • F10 = lihat hasil di console
  • F5 = Debug / mirip dengan F10

operator

Operator, Arti
< Lebih kecil
> lebih besar
<= lebih kecil atau sama dengan
>= lebih besar atau sama dengan
== apakah isinya sama
!= apakah isnya tidak sama
operator lain, Arti
&& And
! Not
0 false
1 true

IF

  • for penulisan IF
if (kondisi) {

} 
else if {

} 
else if {

}
else {

}

#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <string.h> // dibutuhkan untuk strcpy

using namespace std;

void contoh21() {
  // penggunaan div dan mod
  // contoh soal bila ada 278 siswa , dimana satu bis hanya mampu
  // menampung 50 siswa , dan sisanya akan dinaikan mobil
  // maka butuh berapa bis dan berapa siswa yang naik mobil
  int bis=0,sisa=0;
  int siswa=0;

  printf("masukkan jumlah siswa: ");scanf("%d",&siswa);

  bis = (int) siswa/50;  // ini bentuk perintah div
                         // jadi siswa dibagi 50, 
                         // lalu dibulatkan ke bawah dengan (int)
  sisa = siswa % 50;  // bentuk mod dengan tanda %

  printf("Dibutuhkan total %d bis dan sebanyak %d orang yang naik mobil",bis,sisa);  // output       
}


void contoh22() {
  // demo penggunaan tanda increment ++
  int nomor=0;

  printf("nilai awal nomor      = %d \n",nomor);  
  nomor++;   // nomor otomatis ditambah 1
  printf("nilai setelah nomor++ = %d \n",nomor);
  nomor = nomor + 1; 
  printf("nilai setelah nomor = nomor + 1   = %d \n",nomor);
  nomor--; 
  printf("nilai setelah nomor = nomor--     = %d \n",nomor);
}

void contoh23() {
  // demo penggunaan IF
  // berikut table nilai dan gradenya,
  // program akan berusaha mencari grade dari siswa
  // 0  - 45 = E
  // 46 - 55 = D
  // 56 - 69 = C
  // 70 - 79 = B
  // 80 - 100= A  

  int nilai=0;
  char grade1;

  printf("masukkan nilai siswa: ");scanf("%d",&nilai);
  if (nilai <= 45) {
    grade1 = 'E';    // perhatikan penggunaan char harus dengan petik 1
  } else if (nilai <= 55) {
    grade1 = 'D';
  } else if (nilai <= 69) {
    grade1 = 'C';
  } else if (nilai <= 79) {
    grade1 = 'B';
  } else {
    grade1 = 'A';
  }
  printf("Grade siswa      = %c \n",grade1);  
}

void contoh24() {
  // demo penggunaan Switch
  // berikut table nilai dan gradenya,
  // program akan berusaha mencari grade dari siswa

  int pilih=0;
  char komentar[50];

  printf("Masukkan angka pilihan anda \n");
  printf("1. Merah      \n");
  printf("2. Merah Muda \n");
  printf("3. Oranye     \n");
  printf("4. Kuning     \n");
  printf("5. Hijau      \n");
  printf("Masukkan angka pilihan anda (1-5) ");scanf("%d",&pilih);
  switch (pilih) {
    case 1 : 
      strcpy(komentar,"Cerdas, berani dan vokal!");
      break;
    case 2 : 
      strcpy(komentar,"Feminim, misterius!");
      break;
    case 3 : 
      strcpy(komentar,"Tulus dan suka hal hal baru");
      break;
    case 4 : 
      strcpy(komentar,"Optimis, suka tantangan, fleksibel!");
      break;
    case 5 : 
      strcpy(komentar,"keras kepala, tapi teman yang menyenangkan!");
      break;
    default:
      strcpy(komentar,"maaf pilihan anda tidak ada");
  }
  printf("berdasarkan pilihan anda, anda termasuk orang yang %s \n",komentar); 
}

main() {
  system("cls"); // membersihkan layar

  contoh24(); 

  getch();
  return 0;
}