Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
3. teknik looping dalam_pemrograman
1. BAB V PROSES PENGULANGAN DALAM PEMROGRAMAN
Pertemuan Minggu V dan VI
Alokasi Waktu
:
4 Jam Pertemuan
Standar Kompetensi
:
Mahasiswa dapat membuat program komputer sederhana dengan menggunakan bahasa
C
Kompetensi Dasar
:
Memahami program komputer yang mengandung unsur Pengulangan (looping)
Indikator
:
Mahasiswa dapat memahami struktur program bahasa C yang mengandung unsur do
while, while do, for
:
Mahasiswa dapat membuat program dengan melibatkan struktur pengulangan
Proses pengulangan pada suatu program merupakan salah satu kekuatan yang dimiliki ketika kita
mengembangan suatu program komputer. Proses pengulangan merupakan suatu proses yang dilakukan
oleh komputer secara berulang-ulang hingga kondisi yang diinginkan terpenuhi. Dalam beberapa buku
proses pengulangan diistilahkan sebagai proses looping atau kalang. Bahasa C mempunyai tiga struktur
untuk melakukan proses pengulangan yaitu struktur while do, do while, dan for.
Pernyataan 1
Periksa
Logika?
Tidak
Gambar 5.1
Diagram Alir Struktur
Pengulangan (looping)
Umum
Ya
Pernyataan 2
Tambahkan angka
1 untuk looping
Pernyataan 3
Sebelum membahas lebih jauh tentang proses looping, terlebih dahulu akan dibahas mengenai operator
decrement (--) dan operator increment (++). Operator decrement adalah operator dimana variabel yang
dirujuk akan melakukan pengurangan secara otomatis satu angka untuk seitap kali proses looping.
Operator increment adalah sebaliknya akan menambah angka satu pada variable yang dirujuk setiap kali
proses looping. Pada pemakaiannya operator ini dapat dituliskan dibelakang ataupun di depan sebuah
variabel yang dirujuk sebagai contoh
Int i;
i ++ , i-- penulisan setelah variabel
++ i , -- I penulisan sebelum variabel
1
2. Penerapan kedua operator diatas akan dibahas lebih lanjut dalam penggunaannya dalam proses
pengembagan program dengan melibatkan proses looping.
Tiga struktur ini mempunyai karakteristik masing-masing, untuk struktur for dan while do proses
pengulangan mengisyaratkan untuk mengevaluasi kondisi masukan terlebih dahulu kemudian baru
menjalankan pernyataan yang sesuai dengan kondisi yang terpenuhi. Berikut adalah struktur umum dari
for
1.1. LOOPING DENGAN MENGGUNAKAN STRUKTUR FOR
for (batas awal ; batas akhir ; increment/decrement)
{
}
Batas awal mengisyaratkan bahwa proses pengulangan dimulai pada angka 1, 2,atau 3, batas akhir
mengisyaratkan batas atas dari suatu kondisi dimana proses pengulangan harus berhenti.
increment/decrement adalah proses untuk melakukan penambahan/pengurangan satu demi satu saat
melakukan proses pengulangan. Berikut adalah contoh penggunaan stuktur for dalam pemrograman
Contoh 5.1.
#include <stdio.h>
#include <conio.h>
main()
{
int digit;
for (digit=1; digit<=10; digit++)
{
printf(“%d”n,digit);
printf(“nSelesain”);
}
getch();
}
Program diatas akan mengeluarkan output program sebagai berikut:
1
2
3
4
5
6
7
8
9
10
Selesai
Looping for mengisyaratkan bahwa program akan menampilkan angka di layar monitor dengan dimulai
dengan angka 1 melaui perintah digit=1, kemudian digit akan berangsur – angsur meningkat setiap kelipatan
1 melalui perintah digit++, sedangkan perintah digit<= 10 mengisyratkan kapan berakhirnya proses looping,
dalam hal ini dinyatakan proses looping berhenti pada angka 10, karena angka yang lebih dari 10 yaitu 11
keatas mempunyai logika yang salah dari pernyataan digit <= 10. Kata Selesai akan di cetak pada layar
2
3. monitor ketika logika program digit < = 10 bernilai salah yang berarti akan keluar dari proses looping.
Kemdian program akan berlanjut secara sequence mengerjakan instruksi berikutnya yang dalam hal ini
adalah intruksi printf(“nSelesain”), dimana perintah tersebut memerintahkan program untuk menampilkan
kata Selesai dilayar monitor. Berikut adalah diagram alir dari contoh program diatas
digit = 1
Digit <= 10
Tidak
Ya
Gambar 5.2
Diagram Alir Struktur Program
Penulisan Angka 1 – 10 (looping)
printf(“%d”n,digit);
Tambahkan angka 1 ke
variable digit untuk looping
printf(“nSelesain”)
;
Contoh 5.2.
#include <stdio.h>
#include <conio.h>
main()
{
int jumlah, counter, i;
jumlah = 0;
printf("Masukan angka yang akan anda hitung jumlah deretnya : ");
scanf("%d",&counter);
for (i=1; i<=counter; i++)
jumlah = jumlah + i;
printf("Total Jumlah Deret = %d",jumlah);
getch();
}
Pada contoh 2 diatas program akan menghitung jumlah deret dari nilai yang dimasukan, semisal nilai
yang dimasukan adalah 10 maka program akan melakukan proses penjumlahan yang berulang sebagai
berikut; bertama variable jumlah bernilai 0, pada instruksi jumlah = jumlah + I menyatakan proses
perhitungan sebagai berikut jumlah = 0 + 1 untuk proses looping yang pertama. Hasil dari perhitungan
tersebut di simpan dalam variable jumlah, sehingga variable jumlah yang semula 0 sekarang bernilai 1.
Program berlanjut untuk looping yang kedua, instruksi jumlah = jumlah + I sekarang menyatakan proses
perhitungan jumlah = 1 + 2, varibel jumlah dari proses looping yang bertama mengakibatkan variable
tersebut menyimpan angka 1 dan i pada proses looping yang kedua bernilai 2. Proses looping yang kedua
akan disimpan dalam variable jumlah sehingga yang tadinya bernilai 1 pada proses looping yang kedua
3
4. akan bernilai 3. Demikian proses looping terus berlanjut hingga kondisi i <= 10 terpenuhi sebagai akhir
dari looping.
1.2. LOOPING DENGAN MENGGUNAKAN STRUKTUR WHILE– DO
Pernyataan while do pada C umumnya di ekspresikan dalam bentuk umum sebagai berikut :
while (ekspresi)
pernyataan ;
ekpresi yang dikandung di dalam tanda kurung akan di uji seperti halnya ekpresi pada struktur
pemrograman if – else. Jika ekepresi tersebut bernilai benar maka pernyataan di bawah struktur while
akan dijalankan, jika sebaliknya maka pernyataan tersebut tidak akan pernah dijalankan. Berikut adalah
proses yang dijalankan oleh computer ketika untuk menguji while do statement.
Uji ekspresi yang diberikan
Jika ekspresi bernilai benar / true /1 maka
a. Jalankan pernyataan
b. kembali ke langkah 1 untuk kembali menguji eksprsi setelah menjalankan pernyataan
else (jika ekspresi yang diuji bernilai salah / false / 0 maka
keluar dari proses looping while do statement
Diagram alir struktur while do adalah sebagi berikut:
Pernyataan 1
Periksa
Logika?
Gambar 5.3
Diagram Alir
while – do
Struktur
looping
Tidak
Ya
Pernyataan 2
Tambahkan angka
1 untuk looping
Pernyataan 3
Diagram Alir untuk teknik looping dengan menggunakan struktur while – do sama dengan pola yang
digunakan pada teknik looping dengan struktur for. Kedua pola looping ini akan menguji kondisi
pengulangan terlebih dahulu sebelum mengekeskusi pernyataan yang terdapat dalam looping, lainnya
halnya denga teknik looping dengan struktur do – while.
Contoh 5.3.
#include <stdio.h>
#include <conio.h>
main()
{
4
5. int jumlah, counter, i;
jumlah = 0;
i = 1;
printf("Masukan angka yang akan anda hitung jumlah deretnya : ");
scanf("%d",&counter);
while (i <= counter)
{
jumlah = jumlah + i;
i++;
}
printf("Total Jumlah Deret = %d",jumlah);
getch();
}
Pada program contoh 5.3 program terlebih dahulu akan menginisialiasi variable jumlah = 0, dan i = 1,
program akan menampilkan perintah pada layar monitor kepada pengguna untuk memasukan angka yang
akan dihitung jumlah deretnya, angka yang dimasukan oleh pengguna akan ditangkap oleh variable
counter. Pada instruksi selanjutnya program akan menguji dengan struktur pengulangan while do.
Pernyataan while (i <= counter) mengisyaratkan pengecekan apakah I yang bernilai 1 yang diketahui pada saat
inisialisasi awal akan dibandingkan dengan nilai yang tertera pada variable counter. Sebagai contoh
pengguna memasukan angka 10, melalui pernyataan while akan diuji apakah 1 <= 10. Ketika logika dalam
pernyataan tersebut bernilai benar maka instruksi jumlah = jumlah + i akan dijalankan, dari insruksi ini akan
didapatkan hasil penjumlahan dari deret angka 1 sampai 10. Instruksi i++ mengisyaratkan varibel i
melakukan proses increment dengan menambahkan nilai 1 setiap loopingnya. Sebagai contoh pada proses
looping ke dua i akan bernilai 2, nilai ini kemudian akan dimasukan dalam pernyataan while (i <= counter)
yang selanjutnya akan diuji apakah 2 <= 10, logika pernyataan tersebut masih bernilai benar maka program
akan menjalankan instruksi dibawahnya. Instruksi i++ akan menyebabkan i bertambah dari 2 menjadi 3,
nilai 3 tersebut kemudian diperiksa lagi dalam pernyataan while (i <= counter), demikian seterusnya hingga
logika while (i <= counter) bernilai salah, sebagai contoh 11 <= 10. Ketika logika pernyataan bernilai salah maka
proses loopig akan berakhir dan program akan mengeksekusi instruksi printf("Total Jumlah Deret = %d",jumlah).
1.3. LOOPING DENGAN MENGGUNAKAN STRUKTUR DO-WHILE
Teknik pemrograman yang dijelaskan diatas yaitu while do dan for, keduanya akan memeriksa suatu
kondisi pengulangan di awal program,
for (ekspresi)
…..
……
……..
while (ekspresi)
…..
……
……..
Sedangkan struktur do while akan memeriksa kondisi pengulangan pada akhir program,
do
……….
……….
……….
While (ekspresi)
Struktur ini akan memungkinkan program untuk di jalankan minimal sekali sebelum pernyataan dari
program tersebut di periksa oleh kondisi while, jika kondisi yang diperiksa bernilai benar maka
pernyataan diatas while akan di jalankan kembali hingga kondisi salah tercapai. Diagram alir struktur do
while adalah sebagi berikut:
Pernyataan 1
Pernyataan 2
Tambahkan angka
1 untuk looping
5
6. Gambar 5.4
Diagram Alir Struktur looping do –
while
Contoh 5.4
#include <stdio.h>
#include <conio.h>
main()
{
int counter, jumlah, i;
jumlah = 0;
i = 1;
printf("Masukan angka: ");
scanf("%d",&counter);
do
{
jumlah = jumlah + i;
printf("n%d",jumlah);
i++;
}
while (i <= counter);
getch();
}
Contoh 5.5
#include <stdio.h>
#include <conio.h>
main()
{
int counter,i;
i = 1;
printf("Masukan Angka : ");
scanf("%d",&counter);
while(i <= counter)
{
printf("nBelajar Pemrograman");
i++;
6
7. }
getch();
}
Contoh 5.6
#include <stdio.h>
#include <conio.h>
main()
{
int counter,i;
i = 1;
printf("Masukan Angka : ");
scanf("%d",&counter);
do
{
printf("nBelajar Pemrograman");
i++;
}
while(i <= counter);
getch();
}
Program contoh 5.5. dan 5.6 memperlihatkan perbedaan penggunaan teknik pengulangan while do dan do
while. Dua program tersebut akan mengeluarkan hasil yang sama ketika kita memasukan angka lebih dari
0, akan tetapi ketika kita berikan angka 0 baru terlihat perbedaan yang mencolok tentang penggunaan
kedua teknik looping tersebut.
Pengayaan
Latihan 5.1
#include <stdio.h>
#include <conio.h>
main()
{
int n, count = 1;
float x, average, sum = 0;
printf("Berapa Angka yang Akan di hitung? " ) ;
scanf ("%d", &n) ;
while (count <= n)
{
printf (" x = ");
scanf("%f", &x);
sum += x;
++count;
}
average = sum/n;
printf("nRata-ratanya adalah %fn", average);
7
8. getch();
}
Latihan 5.2
#include <stdio.h>
#include <conio.h>
main()
{
int n, count, loops, loopcount;
float x, average, sum;
/* read i n the number of l i s t s */
printf ("How many lists ? " );
scanf ("%d", &loops);
/* outer loop (process each l i s t of numbers */
for (loopcount = 1; loopcount <= loops; ++loopcount)
{
/* initialize and read in a value for n */
sum = 0;
printf ( " n List number %dnHow many numbers? ", loopcount);
scanf ("%d", &n) ;
/* read i n the numbers */
for (count = 1; count <= n; ++count)
{
printf ( " x = " );
scanf ( "%f", &x);
sum += x;
} /* end inner loop */
/* calculate the average and display the answer */
average = sum/n;
printf ("nThe average i s %fn", average) ;
} /* end outer loop */
getch();
}
8