Dasar Pemrograman-10 ( Statemen Terstruktur)
Transcript of Dasar Pemrograman-10 ( Statemen Terstruktur)
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
1/13
Statemen Perulangan (Iterasi) 58
V STATEMEN PERULANGAN (ITERASI)
V.1 Pendahuluan
- Mengulang suatu proses merupakan tindakan yang banyak
dijumpai dalam pemrograman.- Pada semua bahasa pemrograman, pengulangan proses ditangani
dengan suatu mekanisme yang disebut loop.
- Dengan menggunakan loop, suatu proses yang berulang dapat
diimplemetnasikan dengan baris program yang pendek.
- Pada bahasa C terdapat tiga struktur loop, yaitu dengan
menggunakan statemen while, do-while, dan for.
- Berhubungan dengan penanganan loop ada beberapa pernyataan
lain yang berfungsi diantaranya untuk keluar dari loop, sepertibreak, goto, dan continue.
V.2 Statemen do-while
- Statemen do-while digunakan untuk mengulang suatu proses
selama kondinya dipenuhi.
- Bentuk sintaks statemen do-whileadalah:
do Pernyataan
while (kondisi)
- Pada pernyataan do-while, tubuh loopberupapernyataanyang bisa
berupa pernyataan tunggal, pernyataan majemuk maupun
pernyataan kososng.
- Pada statemen do, mula-mula pernyataan akan dieksekusi,
selanjutnya nilai kondisiakan diuji. Jika nilai kondisibenar, maka
pernyataan akan dieksekusi lagi, kemudian kondisi diperiksakembali, begitu seterusnya, sampai nilai kondisisalah.
- Diagram alir statemen do-while dapat dilihat pada Gambar 5.1.
pernyataan
kondisi
salah
benar
tubuh
loop
keluar loop
Gambar 5.1 Diagram alir do-while.
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
2/13
Statemen Perulangan (Iterasi) 59
- Contoh program berikut memberi gambaran pemakaian statemen
do-while untuk mengatur penampilan tulisan Turbo C sebanyak
sepuluh kali.
/* --------------------------------------*//* File Program : TurboC.C */
/* Menampilkan tulisan Turbo C */
/* sepuluh kali */
/* --------------------------------------*/
#include
main (){
char pencacah;
pencacah = 0;
do
{
puts("Turbo C++\n");
pencacah++;
}
while (pencacah < 10);
}
Program 5-1.
- Pada program di atas, variabel pencacah digunakan untuk
menghitung jumlah tulisan yang sudah ditampilkan pada layar.
- Selama nilaipencacahkurang dari 10, maka perintah :
puts(Turbo C++);
akan dieksekusi kembali.
- Contoh lain pemakaian do-while misalnya untuk mengatur agar
tombol yang ditekan oleh pemakai program berupa salah satu
diantara Y, y, T, atau t. Implementasi programnya adalah:
do
{
pilihan = getch(); /* baca tombol */
sudah_benar = (pilihan == Y)|| (pilihan= = y) ||
(pilihan= = T) || (pilihan= = t);
}
while(!sudah_benar);
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
3/13
Statemen Perulangan (Iterasi) 60
- Mula-mula tombol dibaca dengan menggunakan statemengetch(),
dan kemudian diberikan ke variabelpilihan.
- Setelah itu variabelsudah_benarakan diisi dengan nilai benar (1)
atau salah (0) tergantung dari nilaipilihan.- Jika pilihanberisi salah satu diantara Y, y, T, atau t, maka
sudah_benar akan berisi benar.
- Nilai variabel sudah_benar ini selanjutnya dijadikan sebagai
kondisi do-while.
- Pengulangan terhadap pembacaan tombol akan dilakukan kembali
selama variabelsudah_benar bernilai salah.
/* -----------------------------*//* File Program : Pilihan.C */
/* Membaca tombol Y atau T */
/* -----------------------------*/
#include
#include
main ()
{
char pilihan;
int sudah_benar;
printf("Pilihlah Y atau T. ");
/* Program hanya mau dilanjutkan
kalau tombol Y, y, T, t yang ditekan */
do
{
pilihan = getch(); /* baca tombol */
sudah_benar = (pilihan == 'T') || (pilihan == 't')||
(pilihan == 'Y') || (pilihan == 'y');
}
while (!sudah_benar);
/* Memberi keterangan tentang pilihan */
switch(pilihan)
{
case 'Y':
case 'y':
puts("\nPilihan anda adalah Y");
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
4/13
Statemen Perulangan (Iterasi) 61
break;
case 'T':
case 't':
puts("\nPilihan anda adalah T");
}}
Program 5-2.
V.3 Statemen While
- Berbeda dengan do-while, pada statemen whilepengujian terhadap
loop dilakukan di bagian awal (sebelum tubuh loop). Bentuksintaksisnya adalah sebagai berikut:
While (kondisi)
pernyataan
dengan pernyataan dapat berupa pernyataan tunggal, pernyataan
majemuk ataupun pernyataan kosong.
Proses pengulangan terhadap pernyataan diperlihatkan pada Gambar
5.2.
pernyataan
kondisi
benar
keluar loop
Gambar 5.2 Diagram alir while.
- Dengan melihat gambar 5.2 di atas tampak bahwa ada
kemungkinan pernyataan yang merupakan tubuh loop tidak
dijalankan sama sekali, yaitu jika pada pengujian kondisi while
yang pertama kali ternyata kondisi bernilai salah.
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
5/13
Statemen Perulangan (Iterasi) 62
- Contoh lain penggunaan while dapat dilihat pada Program 5-3,
yang digunakan untuk menghitung benyaknya karakter dari
kalimat yang dimasukkan melalui papan-ketik. Disamping itu juga
menghitung banyaknya spasi.
- Untuk mengakhiri pemasukan kalimat, maka tombol ENTER harusditekan. Jadi tombol ENTER yang dijadikan sebagai kondisi
perhitungan jumlah spasi maupu karakter keseluruhannya.
(karakter = getch()) != ENTER
- Ungkapan di atas mempunyai arti:
o Bacalah sebuah karakter dan berikan ke variabel karakter.
o Kemudian bandingkan apakah karakter tersebut tidak samadengan ENTER (Catatan: ENTER didefinisikan dalam
#define).
o Ungkapan akan menghasilkan nilai benar jika tombol yang
ditekan bukan ENTER.
- Pada program, jika tombol yang ditekan bukan ENTER, maka:
o Jumlah karakterr dinaikkan sebesar satu (jumkar++;)
o Kalau karakter berupa spasi, maka jumlah spasi dinaikkan
sebesar satu melalui pernyataan:
If (karakter == SPASI)jumspasi++;
/* -----------------------------------*/
/* File Program : Jumkar.C */
/* Menghitung jumlah kata dan */
/* karakter dlm kalimat */
/* ------------------------------------*/
#include
#include
#define ENTER '\R' /* Karakter CR */
#define SPASI ' ' /* Karakter spasi */
main ()
{char karakter;
int jumkar = 0;
int jumspasi = 0;
puts("Masukkan sebuah kalimat dan akhiri dengan ENTER.");
puts("Saya akan menghitung jumlah karakter");
puts("pada kalimat tersebut. \n");
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
6/13
Statemen Perulangan (Iterasi) 63
while((karakter = getche()) != ENTER)
{
jumkar++;
if (karakter == SPASI) jumspasi++;
}printf("\n Jumlah karakter = %d",jumkar);
printf("\n Jumlah SPASI = %d\n", jumspasi);
}
Program 5-3.
Latihan 5.1
Apa hasil eksekusi dari program berikut:
#include
main( )
{
int i, jum;
i = 5; jum = 0;
while (i--)
{
printf(%d ,i);
jum = jum + i;
}
printf(%d, jum);
}
Latihan 5.2
Buatlah program untuk menampilkan deret berikut :
20 30 40 . . . 200
dengan menggunakan
a. while
b. do-while
V.4 Statemen for
- Statemen for digunakan untuk mengulang eksekusi suatu ungkapan
dengan jumlah pengulangan yang sudah tertentu. Bentuk
sintaksisnya adalah sebagai berikut:
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
7/13
Statemen Perulangan (Iterasi) 64
For (ungkapan1; ungkapan2; ungkapan3)
pernyataan;
- Fungsi dari masing-masing ungkapan pada statemenforadalah:
o Ungkapan1 : digunakan untuk memberikan inisialisasiterhadap variabel pengendali loop.
o Ungkapan2 : digunakan sebagai kondisi utnuk keluar dari
loop.
o Ungkapan3 : digunakan sebagai pengatur kenaikan nilai
variabel pencacah/pengendali loop.
- Ketiga ungkapan dalamfortersebut dipisahkan dengan tanda titik
koma (;).
- Loop for sebenarnya identik dengan bentuk loop while sebagaiberikut:
ungkapan1;
while (ungkapan2)
{
pernyataan ungkapan3
}
bilangan = 20
bilangan
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
8/13
Statemen Perulangan (Iterasi) 65
-Contoh penggunaan for misalnya untuk menampilkan deretan angka
sebagai berikut:
20
30
40.
.
.
100
- Untuk keperluan ini, pernyataanfor yang digunakan berupa:
for(bilangan = 20; bilangan
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
9/13
Statemen Perulangan (Iterasi) 66
V.5 Loop Di Dalam Loop
- Dalam suatu loop dapat terkandung loop yang lain.
- Loop yang terletak di dalam loop biasa disebut dengannested loop.
- Salah satu contoh penggunaan nested loopmisalnya untuk
membuat tabel perkalian berikut:
1 2 3 4 5 6 7 8
1 1 2 3 4 5 6 7 8
2 2 4 6 8 10 12 14 16
3 3 6 9 12 15 18 21 244 4 8 12 16 20 24 28 32
5 5 10 15 20 25 30 35 40
6 6 12 18 24 31 36 42 48
7 7 14 21 28 35 42 49 56
8 8 16 24 32 40 48 56 64
- Bagian yang terletak di dalam bingkai dapat diperolehmelalui ungkapan sebagai berikut:
For (baris = 1; baris
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
10/13
Statemen Perulangan (Iterasi) 67
- Untuk berpindah ke baris berikutnya, digunakan pernyataan
Printf(\n);
Latihan 5.3
Buatlah suatu program untuk menampilkan semua bilangan
genap yang terletak antara 20 sampai 100.
V.6 Loop Yang Tidak Pernah Berhenti
- Loop yang tidak pernah berhenti (berputar terus) seringterjadi disebabkan adanya kesalahan pada penanganan
kondisi yang digunakan untuk keluar dari loop.
- Sebagai contoh, jika ditulis:
for(bilangan = 80; bilangan >= 10; bilangan -= 0)
printf(%d\n, bilangan);
- Maka statemen di atas tidak akan pernah berhenti berputar
dalam menampilkan nilai 60. Kesalahan yang terjadi
disebabkan kondisi yang tidak pernah tercapai.
- Hal ini karena ungkapan ketiga dalam for salah tulis.
Seharusnya berupa:
bilangan -= 10
- namun yang tertulis adalah:
bilangan -= 0
- Oleh karena kondisi bilangan >= 10selalu bernilai benar
(sebab bilangan tetap bernilai 60) , maka pernyataan:
printf(%d\n, bilangan);
akan dijalankan terus menerus (biasa disebut hang).
- Jika kondisi di atas terjadi, maka dapat dihentikan dengan
menggunakan tombol CTRL-BREAK.
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
11/13
Statemen Perulangan (Iterasi) 68
V.7 Statemen Break
- Statemen break berfungsi untuk keluar dari loop for, do-while,dan while.
- Sedangkan pada statemenswitch, digunakan untuk menuju
ke akhir (keluar dari) strukturswitch.
- Gambar 5.4 memperlihatkan ilustrasi statemen break pada
struktur loop for. Jika statemen break dijalankan maka
eksekusi akan dilanjutkan ke statemen sesudah akhir tubuh
loop for.
Gambar 5.4 Ilustrasi pengaruh statemen break.
for ( ; ; ) {
.
:
if ( ... )
break;
.
:}
puts("\nSelesai ... ");
akhir tubuh loop for
/* ---------------------------------------*/
/* File Program : Ketik.C */
/* Pemakaian break pada loop for */
/* ---------------------------------------*/
#include
#include
#define ENTER '\R'
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
12/13
Statemen Perulangan (Iterasi) 69
main ()
{
char karakter;
puts("Ketikkan apa saja");puts("Sampai tombol ENTER ditekan. \n");
for( ; ;)
{
karakter = getche();
if (karakter == ENTER)
break; /* keluar dari loop for */
}
puts("\nSelesai ...");}
Program 5-5
V.8 Statemen continue
- Statemen continue digunakan untuk mengarahkan eksekusike iterasi (proses) berikutnya pada loop yang sama.
- Pada do-while dan while, pernyataan continue
menyebabkan eksekusi akan menuju ke kondisi pengujian
pengulangan, seperti yang diperlihatkan pada Gambar 5.5.
- Pada loop for, pernyataan continue akan menyebabkan
bagian penaik variabel pengendali loop dikerjakan
(ungkapan 3 pada struktur loop for) dan kondisi untuk
keluar dari loop (ungkapan2) akan diuji kembali.
while ( kondisi )
{
continue;
}
do
{
continue;
}
while ( kondisi )
Gambar 5.5 Pengaruh continue pada while dan do-while.
-
7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)
13/13
Statemen Perulangan (Iterasi) 70
/* ------------------------------------*/
/* File Program : Deret.C *//* Pemakaian continue pada for */
/* ------------------------------------*/
#include
main ()
{
int x;
/* Menampilkan bilangan ganjil
antara 7 sampai 25, kecuali 15 */
for(x = 7;x