Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum:
if(kondisi)
pernyataan;
pernyataan;
Contoh Program 1 :
/* Program struktur kondisi if tunggal untuk memeriksa suatu kondisi */
//Nama programmer :........
#include "stdio.h"
#include "conio.h"
int main()
{
float nilai;
printf("Masukan nilai yang didapat :");
scanf("%f", &nilai);
if(nilai > 65)
printf("\n ANDA LULUS !!!!\n");
getch();
}
//Nama programmer :........
#include "stdio.h"
#include "conio.h"
int main()
{
float nilai;
printf("Masukan nilai yang didapat :");
scanf("%f", &nilai);
if(nilai > 65)
printf("\n ANDA LULUS !!!!\n");
getch();
}
Bila program tersebut dijalankan dan kita memasukan nilai 80, maka perintah mencetak perkataan LULUS !!!! akan dilaksanakan, namun sebaliknya bila kita memasukan sebuah nilai yang kurang dari 65 maka program akan berhenti dan tidak dihasilkan apa-apa.
Contoh Program 2 :
/* Program contoh penerapan struktur kondisi if tunggal*/
//Nama programmer :........
#include "stdio.h"
#include "conio.h"
int main()
{
int a,b,c,max;
printf("Masukan bil 1 : ");fflush(stdin); scanf("%i",&a);
printf("Masukan bil 2 : ");fflush(stdin); scanf("%i",&b);
printf("Masukan bil 3 : ");fflush(stdin); scanf("%i",&c);
if((a>b)&&(a>c))
max=a;
if((b>a)&&(b>c))
max=b;
if((c>a)&&(c>b))
max=c;
printf("Bil terbesar : %i \n",max);
if(max>0)
printf("Bil tsb adalah bil positif \n");
if(max<0)
printf("Bil tsb adalah bil negatif \n");
getch();
}
//Nama programmer :........
#include "stdio.h"
#include "conio.h"
int main()
{
int a,b,c,max;
printf("Masukan bil 1 : ");fflush(stdin); scanf("%i",&a);
printf("Masukan bil 2 : ");fflush(stdin); scanf("%i",&b);
printf("Masukan bil 3 : ");fflush(stdin); scanf("%i",&c);
if((a>b)&&(a>c))
max=a;
if((b>a)&&(b>c))
max=b;
if((c>a)&&(c>b))
max=c;
printf("Bil terbesar : %i \n",max);
if(max>0)
printf("Bil tsb adalah bil positif \n");
if(max<0)
printf("Bil tsb adalah bil negatif \n");
getch();
}
B. Percabangan Ganda
Percabangan ganda apabila terdapat 2 alternatif instruksi yang dijalankan. Logika ini memungkinkan kompiler menjalankan salah satu dari 2 alternatif instruksi yang ada, dan salah satu instruksi pasti dijalankan. Notasi algoritmik yang digunkanan :
If (kondisi) {
Instruksi pertama
}else{
Instruksi kedua
}
Instruksi pertama
}else{
Instruksi kedua
}
Contoh :
Program memeriksa inputan apakah bilangan ganjil atau genap. Apabila diperiksa bilangan genap maka tulis “Bilangan genap” dan kalau bukan maka tulis “Bilangan ganjil”.
#include <stdio.h>
void main(){
int angka;
scanf(“%d”,&angka);
if (angka % 2 == 0)
printf (“Bilangan Genap”);
else
printf(“Bilangan Ganjil”);
}
void main(){
int angka;
scanf(“%d”,&angka);
if (angka % 2 == 0)
printf (“Bilangan Genap”);
else
printf(“Bilangan Ganjil”);
}
3. Percabangan Lebih dari 2
Pada dasarnya hanya terdapat 2 jenis seleksi dalam struktur algoritma pemrograman, namun bukan berarti hanya bisa dikembangkan pada 2 jenis tersebut saja. Struktur seleksi dapat dikembangkan menjadi bentuk yang tidak terbatas dan dapat dikombinasikan kedalam bentuk perulangan selama notasi penulisannya tidak terdapat kesalahan.
Kemampuan logika seseorang dalam merancang program dan mengamati dari permasalahan yang ada menjadi bagian yang paling penting dalam melakukan pengembangan dari bentuk seleksi ini.
Dibawah ini akan diberikan contoh seleksi menggunakan kondisi lebih dari 2.
Dibawah ini akan diberikan contoh seleksi menggunakan kondisi lebih dari 2.
Contoh :
Program untuk menentukan grade dari sebuah nilai ujian, dengan aturan grade A untuk rentang nilai 80 – 100, grade B untuk nilai 70 – 80 dan grade C untuk nilai 50 – 70 dan grade D untuk nilai dibawah itu.
#include <stdio.h>
void main(){
int nilai;
scanf(“%d”,&nilai);
if (nilai >= 80 && nilai <= 100)
print(“Grade A”);
else if (nilai >= 70 && nilai <= 80)
printf(“Grade B”);
else if (nilai >= 50 && nilai <= 70)
printf(“Grade C”);
else
printf(“Grade D”);
}
void main(){
int nilai;
scanf(“%d”,&nilai);
if (nilai >= 80 && nilai <= 100)
print(“Grade A”);
else if (nilai >= 70 && nilai <= 80)
printf(“Grade B”);
else if (nilai >= 50 && nilai <= 70)
printf(“Grade C”);
else
printf(“Grade D”);
}
4. Percabangan Bersarang Struktur Case
Struktur case sebenarnya memiliki fungsi yang sama dengan struktur if yang telah kita pelajari diatas. Struktur case ini dapat meringkaskan alur logika yang terjadi apabila diaplikasikan pada pada alur seleksi yang memiliki lebih dari 2 kondisi. Berikut adalah notasi algoritmanya :
switch (kondisi){
case kondisi_1 :
break;
case kondisi2 :
break;
default : }
case kondisi_1 :
break;
case kondisi2 :
break;
default : }
Struktur logika seleksi menggunakan struktur case ini jauh lebih ringkas apabila diaplikasikan pada struktur seleksi yang memiliki kondisi lebih dari 2. Kompiler program akan menjalankan instruksi dari struktur case dan memeriksa setiap kondisi yang ada, apabila belum ada kondisi yang bernilai benar maka kompiler akan terus menjalankan instruksi dibawahnya sampai ditemukan kondisi yang bernilai benar. Namun apabila hingga kondisi terakhir diperiksa dan tidak ditemukan kondisi yang bernilai benar maka kondisi default yang akan dijalankan.
Contoh :
Program untuk menentukan apakah karakter „%‟, spasi, „&‟ atau „$‟ yang ditekan oleh
pengguna melalui keyboard.
pengguna melalui keyboard.
#include <stdio.h>
void main(){
int tombol;
scanf(“%d”,&tombol);
void main(){
int tombol;
scanf(“%d”,&tombol);
swicth(tombol){
case „32‟:
printf(“Anda menekan tombol spasi”);
break;
case „32‟:
printf(“Anda menekan tombol spasi”);
break;
case ‟36: printf(“Anda menekan tombol $”);
break;
case „37‟ : printf(“Anda menekan tombol %”);
break;
case „38‟: printf(“Anda menekan tombol &”);
break;
default : printf(“Anda tidak mematahui aturan.”);
}}
Perbedaan yang paling jelas antara stukrut if dengan struktur case adalah :
- Struktur if dapat menerima kondisi yang berupa operasi logika. Sedangkan stuktur case tidak.
- Struktur case lebih efektif apabila digunakan untuk logika seleksi lebih dari 2 kondisi.
- Struktur case dan sktuktur if dapat dikombinasikan kedalam satu bagian, dengan catatan tata cara penulisan notasi tidak terdapat kesalahan.
- Struktur case tidak dapat melakukan pengecekan terhadap tipe data string / kalimat.
0 komentar:
Posting Komentar