Anda di halaman 1dari 15

BAB IV

PERULANGAN & SELEKSI KONDISI


4.1

Tujuan
1. Mampu memahami penggunaan dasar dari perulangan & seleksi kondisi
2. Mampu menetapkan penggunaan yang tepat dari macam-macam perulangan &
seleksi kondisi pada Bahasa C

4.2

Tinjauan Pustaka
Looping adalah sebuah program perulangan statement dengan jumlah tertentu

jika kondisi terpenuhi. Perulangan akan berhenti jika nilai yang dimasukan sudah tidak
memenuhi syarat yang diberikan. Perulangan atau dalam istilah lain disebut dengan
loop. Perulangan dipakai ketika kita dihadapkan pada suatu masalah dalam mencari
jalan keluar dari banyak masalah yang berulang.

Misalnya saja, bila kita ingin

menginput dan mencetak bilangan dari 1 sampai 100 bahkan 1000, tentunya kita akan
merasa kesulitan. Namun dengan struktur perulangan proses, kita tidak perlu
menuliskan perintah sampai 100 atau 1000 kali, cukup dengan beberapa perintah saja.
Sedangkan penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu
proses. Penyeleksian kondisi dapat diibaratkan sebagai katup atau kran yang mengatur
jalannya air. Bila katup terbuka maka air akan mengalir dan sebaliknya bila katup
tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain. Fungsi
penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk
program yang kompleks.

4.2.1

Struktur Perulangan While


Perulangan WHILE banyak digunakan pada program yang terstruktur.

Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses
perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akan
berhenti bila kondisinya bernilai salah.
4.2.2

Struktur Perulangan Do,While


Pada dasarnya struktur perulangan do....while sama saja dengan struktur while,

hanya saja pada proses perulangan dengan while, seleksi berada di while yang letaknya
di atas sementara pada perulangan do....while, seleksi while berada di bawah batas
perulangan. Jadi dengan menggunakan struktur dowhile sekurang-kurangnya akan
terjadi satu kali perulangan.
4.2.3

Struktur Perulangan For


Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang

telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for
tampaknya lebih efisien karena susunannya lebih simpel dan sederhana.
Keterangan :
1. Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol.
2. Syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan.
3. Penambahan : pengatur perubahan nilai variabel kontrol.
4.2.4

Struktur Kondisi If
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.
4.2.5

Struktur Kondisi If,Else


Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisi

yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang

dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang
kedua yang dilaksanakan.
4.2.6

Struktur Kondisi Switch,Case,Default


Struktur kondisi switch....case....default digunakan untuk penyeleksian kondisi

dengan kemungkinan yang terjadi cukup banyak. Struktur ini akan melaksanakan salah
satu dari beberapa pernyataan case tergantung nilai kondisi yang ada di dalam
switch.Selanjutnya proses diteruskan hingga ditemukan pernyataan break. Jika tidak
ada nilai pada case yang sesuai dengan nilai kondisi, maka proses akan diteruskan
kepada pernyataan yang ada di bawah default.

4.3

Pembahasan dan Analisa


Pembahasan dan analisa pada rumusan masalah yaitu cara membuat program

konversi satuan memory dan program menampilkan bintang berurut, tangga bintang dan
tangga bilangan prima adalah :
4.3.1

Program Konversi Satuan Memory

1. Program Konversi Satuan Memory


Program ini adalah program untuk menkonversikan satuan memory dari byte, atau
hingga gigabyte menjadi satuan memory yang lain.
2. Rancangan Pseudocode
1.
2.
3.
4.
5.
6.

Mulai
Masukkan pilihan (k)
Masukkan nilai yang akan di konversikan ( n )
Hitung satuan memory
Print hasil konversi
Selesai

3. Flowchart
Flowchart Konversi Memori

Ya

Tida
k

Ya

Tida
k

Ya

Tida
k

Ya

Tida
k

Ya

Ya

4. Kode Program dalam bahasa C


#include<stdio.h>
#include<stdlib.h>
void main()
{
int konversi;
float s, a,b,c;
char pil;
Start :
system("cls");
printf("_______________________\n");
printf("Program Konversi Memori\n");
printf("-----------------------\n");
printf("Pilihan konversi:");
printf("\n1.Byte");
printf("\n2.Kilobyte");
printf("\n3.Megabyte");
printf("\n4.Gigabyte");
printf("\n");
printf("-----------------------\n");
printf("\npilih jenis konversi yang diinginkan="); /* input pilihan konversi yang
diinginkan */
scanf("%d",&konversi);
switch(konversi)
/* Pada Case 1 berfungsi untuk rumus pengkonvesian pada byte */
{

case 1 :
printf("Anda mengkonversikan byte to Kilobyte,Megabyte,Gigabyte\n");
printf ("\nMasukkan nilai dalam byte="); /* input nilai byte yang
diinginkan */
scanf ("%f",&s);
a = s/1024;
b = a/1024;
c = b/1024;
printf("\nHasil Konversi : \n\n");
printf("%.f byte= %f Kilobyte\n%.0f byte= %f Megabyte\n%.0f byte= %.9f
Gigabyte\n",s,a,s,b,s,c);
break;
/* Pada Case 2 berfungsi untuk rumus pengkonversian pada kilobyte */
case 2 :
printf("Anda mengkonversikan kilobyte to Byte,Megabyte,Gigabyte\n");
printf ("\nMasukkan nilai dalam KiloByte ="); /* input nilai kilobyte yang
diinginkan */
scanf ("%f",&s);
a = s*1024;
b = s/1024;
c = b/1024;
printf("\nHasil Konversi : \n\n");
printf("%.0f Kilobyte= %f Byte\n%.0f Kilobyte= %f Megabyte\n%.0f
Kilobyte= %f Gigabyte\n",s,a,s,b,s,c);
break;
/* Pada Case 3 berfungsi untuk rumus pengkonversian pada megabyte */
case 3 :
printf("Anda mengkonversikan MegaByte to Byte,Kilobyte,Gigabyte\n");
printf ("\nMasukkan nilai dalam MegaByte ="); /* input nilai megabyte
yang diinginkan */
scanf ("%f",&s);

a = s*(1024*1024);
b = s*1024;
c = s/1024;
printf("\nHasil Konversi : \n\n");
printf("%.0f Megabyte= %f Byte\n%.0f Megabyte= %f Kilobyte\n%.0f
Megabyte= %f Gigabyte\n",s,a,s,b,s,c);
break;
/* Pada Case 4 berfungsi untuk rumus pengkonversian pada Gigabyte */
case 4:
printf("Anda mengkoversikan Gigabyte to Byte,Kilobyte,Megabyte\n");
printf ("\nMasukkan nilai Gigabyte ="); /* input nilai gigabyte yang
diinginkan */
scanf ("%f",&s);
a = s*(1024*1024*1024);
b = s*(1024*1024);
c = s*1024;
printf("\nHasil Konversi : \n\n");
printf("%.f Gigabyte= %f Byte\n%.0f Gigabyte= %f Kilobyte\n%.f
Gigabyte= %.9f Megabyte\n",s,a,s,b,s,c);
break;
/* Pada bagian ini berfungsi untuk mengulangi program */
}
printf ("\n Ulangi lagi tekan 1, selesai tekan 2 ");
pilih :
pil=toupper(getch());
switch (pil)
{
case '1' :
goto Start;
break;

case '2' :
exit(0);
default :
goto pilih;
}
system("pause");
}

5. Tampilan Program

Gambar saat pemilihan konversi memori :

Gambar konversi memori Byte :

Gambar konversi memori Kilobyte :

Gambar konversi memori Megabyte :

Gambar konversi memori Gigabyte :

4.3.2

Program Tangga Bilangan Ganjil

1. Program Tangga Bilangan Ganjil

Program ini adalah program yang menampilkan tangga bilangan ganjil sebanyak 5
anak tangga.
2. Rancangan Pseudocode
1.
2.
3.
4.
5.
6.
7.
8.

Mulai
k = 1, i = 0
j=0
Print k , k + 2, dan j + 1
Apakah j <= i ? jika ya ulang ke nomor 4
Print \n (Berganti Baris), dan i + 1
Apakah i <= 5 ? jika ya ulang ke nomor 3
Selesai

3. Flowchart

4. Kode Program dalam bahasa C

#include <stdio.h>
#include <conio.h>
#include<stdlib.h>
void main ()
{
int i,n,x,y;
printf("-_-_-_-_-_-_-_-_-_-_-_- \n ");
printf("Program Tangga Bilangan \n ");
printf("_-_-_-_-_-_-_-_-_-_-_-_ \n ");
printf("Masukkan nilai awal : ");

/* mencetak "Masukkan nilai awal"*/

scanf("%i", &x);

/* membaca inputan x*/

printf("Masukkan nilai akhir : ");

/* mencetak "Masukkan nilai akhir"*/

scanf("%i", &y);

/* membaca inputan x*/

for(i=0; i<=y; i++)

/* pernyataan for*/

{
for(n=x; n<=i; n++)
printf("%i",n);
printf("\n");
}
getch ();
}

5. Tampilan Program

/*pernyataan for kedua*/

4.4

Lampiran Form Laporan Sementara