Anda di halaman 1dari 17

STRUKTUR FLOW CONTROL

ALGORITMA
(SEKUENSIAL, PERCABANGAN dan
PERULANGAN)

Oleh :
TIM PENYUSUN MOU PENGANTAR CODING

Lisensi Dokumen:
CoJ1x rig/i/ 0. 2020 Unii ersiIa s Nege ri Poâong
Selu i iili ‹lokwneii ‹li e-Learning Hniversitas Negeri Padang, li‹i›i›‹i ‹tizimakan untuk kal‹mgan
Internal Linii'e rsitos, unlitk kebittiilicm Perku lioli on Oii liii e. Pen ggunnon Dokumen ini cli luoi- UNP trunk
dii•iiikii ‹lair tidak diper-boleh kan iiielakiikaii peiitilis an uliai g, kecii‹ili iiienila ›atkan ijiii te rlebili dale ulti
dai-i Periiifis dan I/ftfversffas Negerf Padang.

A. Capaian Pembelajaran‘
Mahasiswa mampu mengenali, memahami, menunjukan, dan
menerapkan struktur kontrol dalam menyelesaikan masalah
pemrograman.
B. Indikator Pencapaian Kompetensi*
Mampu memilih dan menentukan struktur control percabangan
dalam menyelesaikan masalah pemrograman.
1. Mahasiswa mampu menjelaskan pengertian struktur dan alur
kontrol program
2. Mahasiswa mampu menyusun alur kontrol sekuensial untuk
menyelesaikan masalah sederhana
3. Mahasiswa mampu menyusun alur kontrol percabangan untuk
menyelesaikan masalah sederhana
4. Mahasiswa mampu menyusun alur kontrol perulangan untuk
menyelesaikan masalah sederhana

C. Pokok — Pokok Materi‘


1. Struktur dan Alur kontrol Program
2. Struktur Kontrol Sekuensial
3. Struktur Kontrol Percabangan
4. Struktur Kontrol Perulangan

D. Uraian Materi‘
1. Struktur dan Alur Kontrol Program
Seperti halnya pada bahasa pemrograman VB dan Java bahasa C
juga menyediakan struktur kontrol program untuk pemilihan
maupun pengulangan. Ada 3 bentuk struktur kontrol program yaitu
sekuensial, percabangan dan perulangan, untuk lebih jelasnya bisa
dilihat pada tabel berikut :
Sekuensial Percabangan Perulangan

Tabel 4.1Struktur Kontrol Program


2. Struktur Kontrol Sekuensial
Sekuensial merupakan struktur penulisan program yang terurut
dan sistematis. Dimana semua proses yang dijalankan saling
berkaitan antara baris demi baris. Sebagai contoh misalkan kita
ingin menghitung luas sebuah persegi, maka dapat dibuat sebuah
code sebagai berikut:
/* File program : IuaspersegiPanjang.c
*/ #incIude <stdio.h>
int main()

int panjang, lebar, luas;


printf("Masukkan panjang :
"); scanf( /d", &panjang);
printf("Masukkan lebar : ");
scanf("%d", &Iebar);
luas = panjang lebar;
printf("Luas persegi panjang adalah %d\n", luas);
return 0;

Dari source code diatas dapat dilihat bahwa untuk menghitung


luas dilakukan urutan penulisan program sebagai berikut :
Baris 1 : melakukan import library stdio.h untuk in put dan output

Baris 3 : fungsi main dari program

Baris 5 : mendeklarasikan variable luas, panjang dan lebar


yang bertipe data integer
Baris 7-8 : melakukan input nilai panjang ke dalam variabel
panjang
Baris 9-10 : melakukan input nilai lebar ke dalam variabel lebar
Baris 12 : perhitungan luas dimana nilai variabel panjang dikali
nilai
variabel lebar dan hasilnya akan dimasukkan kedalam
variabel luas
Baris 14 : menampilkan nilai dari variable luas
Langkah untuk menghitung luas persegi panjang adalah dengan
mendeklarasikan variabel panjang, lebar dan luas kemudian
input nilai panjang dan lebar. Setelah mendapatkan variabel
lengkap dengan nilainya, baru bisa dilakukan perhitungan luas
dengan rumus panjang x lebar. Selanjutnya akan didapatkan hasil
perhitungan yang disimpan ke dalam variabel luas. Setelah
mendapatkan nilai luas, kemudian baru ditampilkan luas.
Struktur penulisan diatas dilakukan dengan cara berurutan dan
sistematis atau program dijalankan mulai dari perintah paling
atas/ awal sampai paling akhir secara berurutan (sekuensial)
sehingga dengan cara yang sama kita bisa membuat program lain
bahkan dengan bahasa pemrograman yang lain.

3. Struktur Kontrol Percabangan


Struktur kontrol percabangan adalah kondisi dimana
programmer memilih beberapa kemungkinan solusi yang harus
dilakukan.
Pemilihan kondisi harus dilakukan jika kondisi yang dihadapi
menghasilkan nilai benar. Dengan menggunakan struktur kontrol
percabangan maka program dapat bertingkah laku secara lebih
fleksibel.
a. Struktur Kontrol Percabangan Sederhana
Merupakan perintah yang memungkinkan pemilihan atas
perintah yang akan dijalankan sesuai dengan kondisi tertentu.
Contoh :
5> 3 : bernilai benar (TRUE)
6< 2 : bernilai salah (FALSE)
45 l=34 : bernilai benar (TRUE)
(5+4) <=(3x3) : bernilai benar (TRUE)
6/7>=12/17 : bernilai benar (TRUE)
Beberapa bentuk struktur kontrol percabangan sederhana
yaitu sebagai berikut:

1). Pola If
Pada pola if sederhana pemeriksan kondisi akan berakhir
jika ternyata kondisi yang diperiksa salah. Perintah ini
tidak akan mengerjakan apa-apa dan berlanjut kebaris
perintah berikutnya. Pada kasus-kasus tertentu pola ini
sangat berguna.
Contoh program :
Menghitung nilai discount menggunakan if
/’ File program : discount.c
*/ #include <stdio.h>
main()

double total pembelian, discount =


0; printf("Total pembelian = Rp ");
scanf("%lf", &total pembelian);
if(total pembelian >= 100.000)
discount = 0.05 * total pembelian;
printf("Besarnya discount = Rp %.2lf\n",
discount);

2). Bentuk lf‘Else


Bentuk if else pasti akan mengerjakan salah satu bagian
dari perintah if atau else, baru kemudian dilanjutkan ke
baris perintah berikutnya.
Sintaks :
IF(<kondisi>) <statement_jika_benar>; E LSE <statement_jika_salah>;

Bentuk IF ELSE juga bisa dibuat menggunakan ternary


operator,yaitu operator yang menggunakan tiga operand.
Perintah ternary operator harus ditulis dalam satu baris.
Sintaks umumnya adalah:
<kondisi>?<statement jika benar>:<statement jika salah>;
Contoh program :
Pemakaian if-else untuk menyeleksi bilangan pembagi
Pemakaian if-else untuk menyeleksi bilangan penibagi
/* File program : bagi1.c */
#include <stdio.h>
main()

float a, b;
printf("Masukkan nilai a : ");
scanf("if", &a);
printf("Masukkan nilai b : ");
scanf("%f", &b);
printf("\n");
if (b == 0)
printf("%g dibagi dengan nol = TAK BERHINGGA\
n", a);
else
printf("%g dibagi dengan %g = %g\n", a, b, a/b);

3). Bentuk If Else dengan Blok


Cara mengelompokkan perintah yang akan dijalankan jika
suatu kondisi tertentu dipenuhi adalah dengan
menggunakan tanda kurung kurawal buka dan diakhiri
dengan tanda kurung kurawal tutup.
Contoh program:
#include <stdio.h>
int main(void)

int a;
printf("Input sembarang angka:
"); scanf("%d",&a);
printf("\n");
if (a % 2 == 0) (
printf(”%d adalah angka genap \n", a);
Kesalahan-kesalahan dalam menggunakan operator if:
a) Kondisi pada statement if bukan merupakan nilai integer.
b) Menggunakan = bukan==
c) Menggunakan elseif, bukan else if.

b. Struktur Kontrol Percabangan Kompleks

Percabangan dimana kondisi pemilihan tidak hanya satu


tetapi bisa terdiri atas banyak alternatif. Perintah-perintah
yang dikerjakan juga bisa lebih dari satu.
Dengan menggunakan IF bertingkat maka eksekusi perintah
menjadi lebih baik dan efisien. Waktu eksekusi pun lebih
cepat.
Contoh program :
Implementasi Program kalkulator sederhana
/* File program : kalkulator1.c */
#include <stdio.h>
main()

/* valid operator diinisialisasi dg logika

1 int valid operator1;


char operator;
float bill, bil2, hasil;
printf("Masukkan 2 buah bilangan dan sebuah
operator\n");
printf("dengan format : bill
operator bi12\n\n");
scanf("%f %c %f", &bill,
&operator, &bil2);
if(operator == '*')
hasil = bill * bi12;
else if(operator ==
'/') hasil = bill /
bi12;
else
valid operator = 0;
if(valid operator)
printf("%g %c %g is %g\n", bill, operator,
bi12,
hasil);
else
printf("Invalid operator! \n");

c. Struktur Kontrol dengan Perintah Switch


Digunakan sebagai alternatif pengganti dari sintaks if ... else
secara sederhana dimana alternatif pilihan bisa lebih dari satu.
Namun switch tidak bisa digunakan untuk pilihan yang
mengandung kondisi tertentu. Dengan perintah ini program
percabangan akan semakin murah dibuat dan dipelajari.
Karakteristik perintah switch:
1). Perintah switch akan menyeleksi kondisi yang diberikan
dan kemudian membandingkan hasilnya dengan
konstanta-konstanta yang ada di case.
2). Pembandingan akan dimulai dari konstanta 1 sampai
konstanta terakhir.
3). Jika hasil dari kondisi sama dengan nilai konstanta
tertentu, misalnya konstanta 1, maka pernyataan 1 akan
dijalankan sampai ditemukan break.
4). Pernyataan break akan membawa proses keluar dari
perintah switch. Jika hasil dari kondisi tidak ada yang
sama dengan konstanta-konstanta yang diberikan,
maka pernyataan pada default akan dijalankan.

Contoh program :
Implementasi program kalkulator sederhana menggunakan
switch — case
/’ File program : kalkulator2.c */
#include <stdio.h>
main()

/* valid operator diinisialisasi dg logika 1 */


int valid operator = 1;
char operator;
float bill, bil2, hasil;
printf("Masukkan 2 buah bilangan dan sebuah
operator\n");
printf(”dengan format : bill operator bil2\n\n");
scanf("%f %c %f", &bill, &operator, &bil2);
switch(operator) (
case '*' : hasil = bill ’ bil2;
break; case '/' : hasil = bill /
bil2; break; case '{' : hasil = bill
bi12; break; case '-' : hasil = bill
- bil2; break; default valid

operator 0;
if(valid operator)
printf("%g %o %g is %g\n", bill, operator,
bi12,hasil);
else
printf("Invalid operator!\n");
4. Struktur Kontrol Perulangan

Struktur kontrol perulangan digunakan untuk mengulangi satu


atau lebih algoritma (perintah) tertentu yang dikehendaki
programmer guna menyelesaikan masalah tertentu. Hal ini
mengakibatkan suatu program akan lebih singkat karena
perintah yang sama tidak perlu diulang-ulang.

Karakteristik struktur kontrol perulangan:

1. Mengerjakan hal yang sama berulang-ulang


2. Jumlah perulangan dapat ditetapkan, atau dapat juga sesuai
kondisi
3. Ada kondisi awal dan kondisi akhir
4. Perulangan dimulai dari kondisi awal, naik secara bertahap
dan berhenti saat kondisi mencapai kondisi akhir.

a. Jenis-Jenis Struktur Kontrol Perulangan Pada Bahasa C


Pada Bahasa Pemrograman C dikenal 3 macam jenis
perulangan, yaitu:

1). Struktur Whhe() (...}


Karakteristik struktur whilet1 { ... } adalah sebagai berikut:

a) Dilakukan pengecekan kondisi terlebih dahulu sebelum


dilakukan perulangan. Jika kondisi yang dicek bernilai
benar {true) maka perulangan akan dilakukan. Jika
kondisi yang diperiksa bernilai salah false) maka
perulangan tidak akan dilakukan. Ada kemungkinan
tidak dikerjakan.
b) Blok statement tidak harus ada. Struktur tanpa
statement akan tetap dilakukan selama kondisi masih
true.
c) Perulangan akan terns dilakukan sampai kondisi false.
Bentuk umum: Contoh :
<inisialisasi>; i 1;
while
while (i <= 5)
(<kondisi>)
<pernyataan yang (
akandijalankan>;
Printf(“%d\n”,i);

Con i++;
d
er“ ''
"
Menghitung jumlah kata dan karakter dalam satu kalimat
/* File program : jumkar.c
*/ #include <stdio.h>
main()

char kar;
int jumkar = 0, jumspasi = 0;
puts("Masukkan sebuah kalimat dan akhiri
dengan ENTER.");
puts("Saya akan menghitung jumlah
karakter"): puts("pada kalimat tersebut.\
n");
while((kar = getchar()) != '\n')

jumkar**;
if (kar == ' ') jumspasi{+;
printf("\nJumlah karakter = %d", jumkar);
printf("\nJumlah SPASI = %d\n\n",
jumspasi);

2). Struktur Do ... While()


Karakteristik struktur do ... while() adalah sebagai
berikut:
a) Perulangan akan dilakukan minimal satu kali terlebih
dahulu, kemudian baru dilakukan pengecekan
terhadap kondisi. Jika kondisi benar maka perulangan
masih akan tetap dilakukan.
b) Perulangan dengan do...while t) akan dilakukan sampai
kondisi false.
Bentuk umum: Contoh:
<inisiaIisasi>; i = 1;
do do

<pernyataan yang Printf(”%d\n",i); i+


akan dijaIankan>; +;
<perubahan kondisi>;
while (i <= 5);
while (<kondisi>)

°roPram mencetak kata Hello world seban vak 5x


#include <stdio.h> int main(void)

do (
printf("Hello World \n");
i,’

while (i <= 5); return 0;

3). Struktur For() {...}


Karakteristiknya struktur For() [...} adalah sebagai
berikut:

a) Digunakan untuk perulangan yang batasnya sudah


diketahui dengan jelas, misalnya dari 1 sampai 10.
b) Memerlukan 2 buah variable awal dan akhir
perulangan, misalnya counter_awal dan counter
akhir.
c) Nilai variable penghitung akan secara otomatis
bertambah atau berkurang trap kali sebuah
pengulangan dilaksanakan.
Bentuk umum Contoh
For for (i = 3; i <= 7; i++)

(<niIai awaI>;<kondisi>;<pen
ambahan/penurunan>)
Printf(”Indonesia Raya\n”);
<pernyataan yang
akan dijalankan>;
Printf(”Indonesia Raya\n”);

Contoh Program: Menampilkan deret naik

/* File program : for.c


*/ #incIude <stdio.h>
main()

potr f a n=b gan <= 100; bilangan += 10)


b l

Beberapa variasi yang mungkin pada struktur kontrol


perulangan adalah:

1. Tidak hanya increment (penambahan meningkat) tetapi


juga decrement (pengurangan menurun)
2. Increment atau decrement dengan nilai pencacah lebih dari
satu.
3. Penggunaan perintah break.
4. Penggunaan perintah continue.
Beberapa yang perlu diperhatikan dalam penggunaan
struktur kontrol perulangan adalah:
1. Hati-hati dengan infinite loop (loop yang tidak pernah
selesai)
2.Struktur kontrol perulangan dapat digabungkan dengan
struktur kontrol percabangan
3. Ketiga struktur tersebut dapat saling menggantikan
4. Pemilihan struktur kontrol disesuaikan dengan kebutuhan

b. Perintah Break dan Continue


Pada saat program melakukan perulangan, kadang-kadang
diperlukan kondisi tertentu untuk menghentikan perulangan
atau bahkan melewati suatu perulangan tertentu dan
kemudian melanjutkan ke perulangan berikutnya. Untuk
dapat menghentikan atau melewati suatu perulangan tertentu
dibutuhkan perintah-perintah khusus, yaitu perintah break
dan continue.

1. Perintah Break
Perintah ini digunakan untuk menghentikan proses
perulangan yang sedang terjadi. Biasanya disebabkan oleh
suatu kondisi tertentu yang diimplementasikan
menggunakan perintah IF.

Contoh penggunaan break();


/* File program : tamat.c
*/ #incIude <stdio.h>
main()

char kar;
printf("Ketik sembarang kalimat");
printf(" dan akhiri dengan ENTER\n\
n"); for ( ; ; )

kar =
getchar();
if(kar == '\n')
break;
2. Perintah Continue
Perintah continue menyebabkan proses perulangan
kembali ke awal mula, dengan mengabaikan statement-
statement berikutnya setelah continue. Biasanya perintah
continue juga diimplementasikan menggunakan perintah
IF.

Contoh. Menampilakan bilangan genap 4-20 kecuali 12

/* File program : genap.c */


#inc1ude <stdio.h>
main()

int x;
for (x = 4; x <= 20; x += 2)

if (x == 12)
continue;
printf("%4d", x);

printf("\n");

c. Struktur Kontrol Perulangan Kompleks


Struktur perulangan kompleks adalah bentuk perulangan
dimana didalam suatu perulangan terdapat perulangan lain,
sehingga terjadi perulangan bertingkat yang mengakibatkan
waktu proses semakin lama.

Anda mungkin juga menyukai