DISUSUN OLEH BAB VI. Lat-6.1.c HAL 1

dokumen-dokumen yang mirip
Pemrograman I Bab VI Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

PEMROGRAMAN BERORIENTASI OBJEK. Pengulangan. Budhi Irawan, S.Si, M.T

DISUSUN OLEH BAB IX. Structt. //untuk. long. int nip; char. nama[31]; char } HAL 1

DISUSUN OLEH BAB II C DAN C++ berikut ini: pilih radio HAL 1

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

DIKTAT MATA KULIAH PEMROGRAMAN I BAB VIII

Pemrograman I Bab V Percabangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

PENGULANGAN. pencacah harus bertipe integer atau karakter pernyataan adalah satu atau lebih instruksi yang. Pernyataan

PENGANTAR KOMPUTER & SOFTWARE II

Proses Perulangan (Looping) DASAR PROGRAMMING 1

3. Struktur Perulangan dalam C++

Pengantar Pemrograman

PERULANGAN Pengampu : Agus Priyanto, M.Kom

DISUSUN OLEH BAB IV INPUT DATAA. Pemasukkan. data dapat. dilakukan. Programmer : Kegunaan. Format %i atau %d. %u %f %o %x %s. Contoh: Lat-4.1.

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

DISUSUN OLEH BAB V. percabangan. Operator Contoh. Arti variabel B HAL 1

Dasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I

PRAKTIKUM 4 PERCABANGAN

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to

P R E T R EM N 5 STRUKTUR LOOPING

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Kondisi dan Perulangan

DISUSUN OLEH BAB XI POINTER. alamat. memori. sepenuhnya. pointer. dan Pointer. menggunakan. menyebabkan. Alamat. untuk.

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

IF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T.

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

OPERATOR DAN STATEMEN I/O

Konsep Dasar Pemrograman Dan Pengenalan C++

ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

PERULANGAN Pengampu : Agus Priyanto, M.Kom

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Object Oriented Programming (OOP)

Algoritma Perulangan. Kuliah algoritma dan pemrograman

Pertemuan 06. Dasar Pemrograman Komputer [TKL-4002] 2010

MODUL V PERULANGAN. Perulangan digunakan untuk menjalankan satu atau lebih perintah secara berulang selama kondisi tertentu.

Pengulangan for. Konstruksi for. keberadaan exp1, exp2, dan exp3 bersifat optional. for (exp1; exp2; exp3){ statement; atau. statement1; statement2;

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

BAB 5 REPETITION / PERULANGAN

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

REVIEW ARRAY. Institut Teknologi Sumatera

Rekursif/ Iterasi/ Pengulangan

Praktikum 5 PERULANGAN PROSES

PEMROGRAMAN WEB 1. Statement Control Pemilihan dan Perulangan. Rio Andriyat Krisdiawan, M.Kom

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

BAB VI PERULANGAN (LOOP)

PERULANGAN PROSES. Proses perulangan ditandai dengan mekanisme yang disebut loop. Proses Loop : Proses yang berulang-ulang

PEMROGRAMAN BERORIENTASI OBJEK. Percabangan. Budhi Irawan, S.Si, M.T

Kasus 6.1 Buatlah algoritma dan program untuk mencetak nama Anda sebanyak 10 kali

A. Dasar Teori. Urutan (Sequence) Pemilihan (Selection) Pengulangan (Iteration) Pernyataan Kondisional (If Statement)

V. PENGULANGAN. while (kondisi) { Pernyataan ; } Copyright PIK Unsri Agustus 2006

DISUSUN OLEH BAB X. String pemrogram dapat menampilkan. string. sebuah string. byte dalm. memori. Catatan dikatakan. dan.

BAB VI. STATEMENT CONTROL

Identitas dosen POKOK BAHASAN. Struktur Pengulangan. proses perhitungan dan mengulang. perhitungan PENGULANGAN PENGULANGAN. Suherman,, ST Address

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

DPK UNIVERSITAS BRAWIJAYA MALANG

Algoritma Pemrograman 2B (Pemrograman C++)

DISUSUN OLEH BAB VII. merupakan. baik. Fungsi. melaksanakan. dikemas dalam. program. 3. Program. fungsi HAL 1

PERTEMUAN 9-11 STATEMENT

Bab 3. Decision 1 (Pengambilan Keputusan)

Tipe Data, Identifier, Operator dan Control Statement

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

BAB V. STATEMEN KONTROL

MODUL 6 PERULANGAN. Contoh1: 1. Pernyataan while Digunakan untuk pengambilan keputusan dan looping. Bentuk Umum:

STRUKUR KENDALI : PERCABANGAN

PEMROGRAMAN TERSTRUKTUR D3MI 2016

PRAKTIKUM 6 PENGULANGAN PROSES 2

MODUL II PERCABANGAN DAN PERULANGAN

Pemrograman I Bab IV Input dan Output. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

KONTROL ALIR PERULANGAN

PERULANGAN (LOOP) PERNYATAAN WHILE

DIKTAT MATA KULIAH PEMROGRAMAN I BAB IX STRUCT. tipe_data_1 variabel_1 ; tipe_data_2 variabel_2 ; tipe_data_n variabel_n ;

DISUSUN OLEH BAB III OPERAS. macam, yaitu: baru. karakter. Tipe. Tipe Data. Tetapi. dataa tersebut. HAL 1

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Pemrograman Fery Updi,M.Kom

STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom

TEORI KONSEP PEMPROGRAMAN 3.1

Selection / Pemilihan PEMILIHAN

Pemrograman Dasar R E P E T I T I O N

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Looping : break, continue, nested loop

Pertemuan 5 PEMILIHAN/PERCABANGAN

P 6 Bab 5 : Perulangan. 5.1 Tujuan. 5.2 Materi. 5.3 Struktur Perulangan. SQ

Perulangan, Percabangan, dan Studi Kasus

MENGENDALIKAN PROSES PROGRAM

LOOPING. Brigida Arie Minartiningtyas, M.Kom

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

QUEUE (ANTREAN) Prinsip Antrean : FIFO (First In First Out) FCFS (First Come First Serve) Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu

IT234 - Algoritma dan Struktur Data. Ramos Somya

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

Struktur Perulangan Ema Utami STMIK AMIKOM Yogyakarta

MODUL 5 PERULANGAN (LOOPING)

Transkripsi:

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S..Kom. DIKTAT MATAA KULIAH PEMROGRAMAN I BAB VI PENGULANGAN IF Pendahuluan Pengulangan Salah satu kelebihan komputer dibandingkann dengan manusia adalah kemampuannya untuk melaksanak kan suatu instruksi berulang kali tanpa mengenal lelah dan bosan. Di dalam pemrograman, perulangan dapat dilakukan sejumlah yang telah ditentukan atau sampai kondisi perulangan tercapai. Pengulangan adalah suatu proses yang melakukan perintah-perintah dalam sebuah program secara terus- kondisi untuk menghentikannya. Struktur pengulangan menerus sampai terdapat sangat membantu dalam menjaga efisiensi program. Untuk lebih jelasnya lihat kasus berikut ini: Tampilkan kata Saya tidak akan bolos lagi! sebanyak lima kali. Apabila tidak memahami fungsi perulangan maka seorang programmer akan membuat program seperti di bawah ini: Program. Nama File : Programmer : Lat-..c Adam Mukharil Bachtiar, S.Kom. #include <stdio.h> #include <stdlib.h> 0 printf("sayaa tidak akan bolos lagi!!\n"); printf("sayaa tidak akan bolos lagi!!\n"); printf("sayaa tidak akan bolos lagi!!\n"); printf("sayaa tidak akan bolos lagi!!\n"); printf("sayaa tidak akan bolos lagi!!\n"); return 0; DIKTAT PEMROGRAMAN I HAL

0 0 Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> using namespace std; cout<<"saya tidak akan bolos lagi!"<<endl; cout<<"saya tidak akan bolos lagi!"<<endl; cout<<"saya tidak akan bolos lagi!"<<endl; cout<<"saya tidak akan bolos lagi!"<<endl; cout<<"saya tidak akan bolos lagi!"<<endl; return EXIT_SUCCESS; Mungkin untuk kasus seperti ini masih bisa diselesaikan dengan pemecahan di atas. Tapi apabila kata tersebut harus ditampilkan sebanyak 00 kali maka pemecahan di atas tidak efisien lagi. Struktur pengulangan dapat memecahkan kasus di atas dengan efisien. Struktur Pengulangan Struktur pengulangan secara umum terdiri atas dua bagian, yaitu:. Kondisi pengulangan Ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh programmer atau dikelola sendiri oleh komputer (implisit).. Badan pengulangan Bagian algoritma yang diulang.. Inisialisasi Aksi yang dilakukan sebelum pengulangan dilakukan pertama kali. Bagian ini akan memberi nilai awal kondisi perulangan DIKTAT PEMROGRAMAN I HAL

. Terminasi Aksi yang dilakukan setelah pengulangan selesai dilaksanakan. Inisialisasi dan terminasi tidak harus selalu ada. Tapi kebanyakan kasus pengulangan memerlukan struktur ini. Secara umum bentuk struktur pengulangan adalah sebagai berikut: <inisialisasi> Awal pengulangan Badan pengulangan Akhir pengulangan <terminasi> Di dalam pemrograman C dan C++ ada bentuk pengulangan, yaitu:. For. While. Do while. Label. Struktur Pengulangan for Struktur pengulangan for digunakan untuk menghasilkan pengulangan sejumlah yang dispesifikasikan (sudah diketahui banyaknya). Struktur for mempunyai minimal pengulangan sebanyak satu kali artinya minimal dalam pengulangannya, badan pengulangan dieksekusi sebanyak satu kali. Struktur ini paling banyak digunakan untuk kasus pengulangan yang berurut dan sudah diketahui kondisi akhir pengulangannya. Untuk bisa menggunakan struktur ini, dibutuhkan sebuah variabel sebagai indeksnya. Bentuk umum pengulangan for adalah sebagai berikut: for(inisialisasi counter;kondisi pengulangan;statement) pernyataan; DIKTAT PEMROGRAMAN I HAL

Keterangan:. Inisialisasi counter Berbentuk sebuah variabel yang diinisialisasi dengan nilai kondisi awal pengulangan. Sebagai contoh: i=;.. Kondisi pengulangan Bagian ini berisi kondisi yang menggambarkan akhir dari pengulangan for ini. Sebagai contoh: i<=;. Statement Biasanya diisi dengan operasi perhitungan increment dan decrement dari variabel yang disebutkan di bagian inisialisasi counter. Apabila bagian ini dilewatkan maka pengulangan ini tidak akan berhenti (kecuali apabila di pernyataan terdapat statement increment atau decrement dari variabel tersebut). Ada dua jenis pengulangan for, yaitu:. Ascending (sifatnya menaik) Bentuk umum: for(variabel=nilai_awal;kondisi;variabel++) pernyataan;. Descending (sifatnya menurun) Bentuk umum: for(variabel=nilai_akhir;kondisi;variabel--) pernyataan; Sebagai contoh buatlah program untuk menampilkan angka sampai dan angka dari sampai dengan sintaks sebagai berikut: DIKTAT PEMROGRAMAN I HAL

0 0 0 0 Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> int i; for(i=;i<=;i++) printf("%i\n",i); printf("\n"); for(i=;i>=;i--) printf("%i\n",i); printf("\n"); return 0; Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> using namespace std; int i; for(i=;i<=;i++) cout<<i<<endl; cout<<endl; for(i=;i>=;i--) DIKTAT PEMROGRAMAN I HAL

cout<<i<<endl; cout<<endl; return EXIT_SUCCESS; Hasil eksekusi: Gambar. Hasil eksekusi program Lat. Catatan Untuk for ascending maka inisialisasi counter variabelnya diisi dengan batas bawah pengulangan. Sebaliknya untuk for descending, inisialisasi counter variabelnya diisi dengan batas atas pengulangannya. Salah satu pengaplikasian penggunaan for adalah untuk program penjumlahan deret. Sintaksnya sebagai berikut: 0 Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> DIKTAT PEMROGRAMAN I HAL

0 int i,j,jumlah; jumlah=0; printf("masukkan bilangan : ");scanf("%i",&j); printf("\njumlah deret = "); for(i=;i<=j;i++) jumlah=jumlah+i; printf("%i ",i); if(i<j) printf("+ "); printf("\n = %i\n\n",jumlah); return 0; 0 0 0 Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> using namespace std; int i,j,jumlah; jumlah=0; cout<<"masukkan bilangan : ";cin>>j; cout<<endl; cout<<"jumlah deret = "; for(i=;i<=j;i++) jumlah=jumlah+i; cout<<i<<" "; if(i<j) cout<<"+ "; cout<<endl; cout<<" = "<<jumlah<<endl<<endl; return EXIT_SUCCESS; DIKTAT PEMROGRAMAN I HAL

Hasil eksekusi: Gambar. Hasil eksekusi program Lat. Struktur Pengulangan while Struktur pengulangan while akan memeriksa kondisi pengulangan si awal blok struktur. Badan pengulangan hanya akan dilakukan apabila kondisi pengulangan bernilai true (benar). Oleh sebab itu, pengulangan while mempunyai minimal pengulangan sebanyak nol kali, artinya apabila kondisi pengulangan bernilai false (salah) ketika pertama kali eksekusi blok maka badan pengulangan tidak akan dieksekusi. Bentuk umum dari pengulangan while adalah sebagai berikut: while(kondisi) pernyataan; DIKTAT PEMROGRAMAN I HAL

Untuk lebih jelasnya buatlah program di bawah ini: 0 0 Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> int baris,kolom; printf("masukkan jumlah baris : ");scanf("%i",&baris); while(baris>=) kolom=; while(kolom<=baris) printf("%i ",baris*kolom); kolom++; printf("\n"); baris--; printf("\n"); return 0; 0 Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int baris,kolom; cout<<"masukkan jumlah baris : ";cin>>baris; DIKTAT PEMROGRAMAN I HAL

0 0 while(baris>=) kolom=; while(kolom<=baris) cout<<setw()<<baris*kolom<<" "; kolom++; cout<<endl; baris--; cout<<endl; return EXIT_SUCCESS; Hasil eksekusi: Gambar. Hasil eksekusi program Lat. Salah satu pengaplikasian pengulangan while adalah untuk menghitung rata-rata sampai kondisi yang tidak diinputkan di awal (contohnya sampai nilai masih memenuhi ketentuan umum yaitu antara 0 sampai 00). Sintaksnya adalah sebagai berikut: Program. Nama File : Lat-..c DIKTAT PEMROGRAMAN I HAL 0

0 0 0 0 0 #include <stdio.h> #include <stdlib.h> int jml_data; float nilai,rata,jml_nilai; jml_data=0; jml_nilai=0; printf("masukkan nilai : ");scanf("%f",&nilai); while((nilai>=0)&&(nilai<=00)) jml_data=jml_data+; jml_nilai=jml_nilai+nilai; printf("masukkan nilai : ");scanf("%f",&nilai); if(jml_data!=0) else rata=jml_nilai/jml_data; printf("\nrata-rata = %.f\n\n",rata); printf("\ntidak ada data inputan!\n\n"); return 0; Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int jml_data; float nilai,rata,jml_nilai; jml_data=0; jml_nilai=0; cout<<"masukkan nilai : ";cin>>nilai; while((nilai>=0)&&(nilai<=00)) DIKTAT PEMROGRAMAN I HAL

0 0 jml_data=jml_data+; jml_nilai=jml_nilai+nilai; cout<<"masukkan nilai : ";cin>>nilai; if(jml_data!=0) rata=jml_nilai/jml_data; cout<<endl; cout<<setiosflags(ios::fixed); cout<<"rata-rata = "<<setprecision() else <<rata<<endl<<endl; cout<<endl; cout<<"tidak ada data inputan!"<<endl<<endl; return EXIT_SUCCESS; Hasil eksekusi: Gambar. Hasil eksekusi program Lat. DIKTAT PEMROGRAMAN I HAL

Struktur Pengulangan do while Pengulangan do while akan memeriksa kondisi pengulangan di akhir blok pengulangan. Hal ini tentunya sangat berbeda dengan pengulangan while yang memeriksa kondisi pengulangan di awal blok. Perintah ini ekuivalen dengan perintah repeat until yang ada di algoritma. Karena pemeriksaan kondisi ada di akhir blok maka badan pengulangan minimal akan dieksekusi sebanyak satu kali. Bentuk umum pengulangan do while adalah sebagai berikut: do pernyataan; while(kondisi); Ada beberapa pengaplikasian pengulangan do while antara lain untuk membuat struktur menu (beserta validasi inputannya) serta untuk membuat login menggunakan password (kata kunci). Untuk pengaplikasian pada struktur menu, programnya adalah sebagai berikut: 0 0 Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> #include <conio.h> int pil; int i; do printf(" =======================\n"); printf(" Menu \n"); printf(" =======================\n"); printf(". Tampilkan Hai \n"); printf(". Tampilkan Hoi \n"); printf(". Tampilkan Hui \n"); DIKTAT PEMROGRAMAN I HAL

0 0 printf(". Keluar \n"); printf(" =======================\n"); printf(" Pilihan [..] : \n"); printf(" =======================\n"); gotoxy(0,);scanf("%d",&pil); gotoxy(,); switch(pil) case :printf("hai\n\n");break; case :printf("hoi\n\n");break; case :printf("hui\n\n");break; case :printf("bye\n\n");break; default:printf("anda salah pilih\n\n"); system("cls"); while(pil!=); printf("\n\n"); return 0; 0 0 Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> #include <conio.h> using namespace std; int pil; int i; do cout<<" ======================="<<endl; cout<<" Menu "<<endl; cout<<" ======================="<<endl; cout<<". Tampilkan Hai "<<endl; cout<<". Tampilkan Hoi "<<endl; cout<<". Tampilkan Hui "<<endl; cout<<". Keluar "<<endl; cout<<" ======================="<<endl; DIKTAT PEMROGRAMAN I HAL

0 0 cout<<" Pilihan [..] : "<<endl; cout<<" ======================="<<endl; gotoxy(0,);cin>>pil; gotoxy(,); switch(pil) case :cout<<"hai"<<endl<<endl;break; case :cout<<"hoi"<<endl<<endl;break; case :cout<<"hui"<<endl<<endl;break; case :cout<<"bye"<<endl<<endl;break; default:cout<<"anda salah pilih" <<endl<<endl; system("cls"); while(pil!=); return EXIT_SUCCESS; Hasil eksekusi: Gambar. Hasil eksekusi program Lat. Selain itu pengaplikasian do while yang kedua adalah untuk membuat login yang akan membatasi password yang salah sebanyak tiga kali. Sintaksnya adalah sebagai berikut: DIKTAT PEMROGRAMAN I HAL

0 0 0 0 Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> #include <conio.h> #define pass int password,i; i=0; do printf("masukkan password yang benar : "); scanf("%i",&password); if(password==pass) printf("password anda benar!\n"); else printf("password anda salah\n"); getch(); system("cls"); i++; while((password!=pass)&&(i!=)); return 0; Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> #include <conio.h> #define pass using namespace std; DIKTAT PEMROGRAMAN I HAL

0 0 int password,i; i=0; do cout<<"masukkan password yang benar : "; cin>>password; if(password==pass) cout<<"password anda benar!"<<endl; else cout<<"password anda salah"<<endl; getch(); system("cls"); i++; while((password!=pass)&&(i!=)); return EXIT_SUCCESS; Hasil eksekusi: Gambar. Hasil eksekusi program Lat. Selain bisa menggunakan do while, program password juga bisa dibangun menggunakan struktur while. Sintaksnya adalah sebagai berikut: DIKTAT PEMROGRAMAN I HAL

0 0 0 Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> #include <conio.h> #define pass int password,i; i=; printf("masukkan password yang benar : "); scanf("%i",&password); while((password!=pass)&&(i!=)) printf("password anda salah!\n\n"); getch(); gotoxy(,);clreol();//menghapus satu baris dimulai dari pointer gotoxy(,);clreol(); scanf("%i",&password); i++; return 0; Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> #include <conio.h> #define pass using namespace std; int password,i; DIKTAT PEMROGRAMAN I HAL

0 0 i=; cout<<"masukkan password yang benar : "; cin>>password; while((password!=pass)&&(i!=)) cout<<"password anda salah!"<<endl<<endl; getch(); gotoxy(,);clreol();//menghapus satu baris dimulai dari pointer gotoxy(,);clreol(); scanf("%i",&password); i++; return EXIT_SUCCESS; Hasil eksekusi: Gambar. Hasil eksekusi program Lat. Struktur Pengulangan Menggunakan Label Pengulangan dengan teknik label adalah teknik pengulangan yang pertama kali dikenal (bahasa assembly). Penggunaan label mempunyai banyak kelebihan akan tetapi sangat tidak dianjurkan penggunaanya untuk memecahkan suatu kasus pengulangan. Label akan membuat alur program yang struktural menjadi berantakan. Ada dua kasus yang menggambarkan kelemahan label,yaitu: DIKTAT PEMROGRAMAN I HAL

0 0. Kasus baris yang tidak tereksekusi Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> int i; i=0; awal: i=i+; printf("%i\n",i); if(i<0) goto awal; else goto akhir; printf("perintah ini tak akan dieksekusi\n"); printf("perintah ini juga tak akan dieksekusi\n"); akhir: printf("\n"); return 0; 0 Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> using namespace std; int i; i=0; DIKTAT PEMROGRAMAN I HAL 0

0 0 awal: i=i+; cout<<i<<endl; if(i<0) goto awal; else goto akhir; cout<<"perintah ini tak akan dieksekusi"<<endl; cout<<"perintah ini juga tak akan dieksekusi" <<endl; akhir: cout<<endl; return EXIT_SUCCESS; Hasil eksekusi: Gambar. Hasil eksekusi program Lat. Terlihat dari hasil eksekusi bahwa ada dua baris perintah yang tidak dieksekusi sama sekali diakibatkan adanya label. Hal ini jelas membuat struktur program menjadi tidak baik. Catatan Untuk beberapa kasus, pengulangan menggunakan label sangat membantu. Tetapi apabila tidak hati-hati dalam peletakan labelnya akan mengakibatkan adanya baris yang tidak tereksekusi dan membuat alur program menjadi rumit. DIKTAT PEMROGRAMAN I HAL

0 0. Kasus label yang mengingkari kondisi if (merusak logika program) Program.0 Nama File : Lat-.0.c #include <stdio.h> #include <stdlib.h> int i; for(i=;i<=;i++) goto free_pass; if(i%==0) printf("%i bilangan genap!\n\n",i); else free_pass: printf("%i bilangan ganjil!\n\n",i); return 0; 0 Program.0 Nama File : Lat-.0.cpp #include <cstdlib> #include <iostream> using namespace std; int i; for(i=;i<=;i++) goto free_pass; if(i%==0) DIKTAT PEMROGRAMAN I HAL

0 else cout<<i<<" bilangan genap!"<<endl<<endl; free_pass: cout<<i<<" bilangan ganjil!" <<endl<<endl; return EXIT_SUCCESS; Hasil eksekusi: Gambar. Hasil eksekusi program Lat.0 Dari hasil eksekusi terlihat bahwa label membuat logika program menjadi salah. Angka dan yang seharusnya masuk ke dalam kategori bilangan genap malah ditampilkan sebagai bilangan ganjil. Hal itu disebabkan karena adanya label free_pass yang langsung masuk ke dalam else. Perintah break dan continue Perintah break digunakan untuk menghentikan eksekusi pengulangan dan program akan langsung meloncat ke pernyataan yang ada di blok selanjutnya. Untuk dapat memahami penggunaan perintah break lihat program berikut ini: DIKTAT PEMROGRAMAN I HAL

0 0 0 0 Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> int i,j; printf("masukkan banyak pengulangan : "); scanf("%i",&j); for(i=;i<=j;i++) printf("%i\n",i); if(i==(j-)) break; printf("\ni terakhir (break=banyak-) = %i\n\n",i); return 0; Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> using namespace std; int i,j; cout<<"masukkan banyak pengulangan : ";cin>>j; for(i=;i<=j;i++) cout<<i<<endl; if(i==(j-)) break; cout<<endl; DIKTAT PEMROGRAMAN I HAL

cout<<"i terakhir (break=banyak-) = "<<i <<endl<<endl; return EXIT_SUCCESS; Hasil eksekusi: Gambar.0 Hasil eksekusi program Lat. Dari hasil eksekusi terlihat bahwa pengulangan akan dihentikan apabila i-nya sudah sama dengan banyak pengulangan dikurangi tiga. Berbeda dengan perintah break, perintah continue berguna untuk meneruskan perulangan. Dengan kata lain perintah ini akan menyebabkan program meloncat ke pernyataan awal yang terdapat di dalam badan pengulangan. Untuk lebih jelasnya lihat program di bawah ini: 0 Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> int bil; DIKTAT PEMROGRAMAN I HAL

0 for(bil=;bil<=;bil++) printf("%i\n",bil); continue; printf("diskriminasi!!!! Saya kok tidak muncul??"); return 0; 0 0 Program. Nama File : Lat-..c #include <cstdlib> #include <iostream> using namespace std; int bil; for(bil=;bil<=;bil++) cout<<bil<<endl; continue; cout<<"diskriminasi!!!! Saya kok tidak muncul??"; return EXIT_SUCCESS; DIKTAT PEMROGRAMAN I HAL

Hasil eksekusi: Gambar. Hasil eksekusi program Lat. Dari hasil eksekusi terlihat bahwa ada satu baris perintah di dalam badan pengulangan yang tidak dieksekusi akibat adanya perintah continue sebelumnya. Perintah continue ini akan menyebabkan eksekusi pengulangan selanjutnya tanpa membereskan terlebih dahulu badan pengulangan yang terletak di bawah perintah continue. Kombinasi Pengulangan dengan Conio.h Salah satu fungsi pengulangan yang bisa digunakan adalah untuk membentuk kombinasi warna dalam satu layar. Tentunya untuk dapat menggunakan warna di dev c++ harus menginstal conio.h seperti yang sudah disebutkan di bab IV. Salah satu contoh programnya adalah sebagai berikut: 0 Program. Nama File : Lat-..c #include <stdio.h> #include <stdlib.h> #include <conio.h> DIKTAT PEMROGRAMAN I HAL

0 0 0 int i; textbackground(white);system("cls"); for(i=;i<=;i++) gotoxy(,i); textbackground(lightgreen); printf(" "); for(i=;i<=;i++) gotoxy(,i); textbackground(yellow); printf(" "); for(i=;i<=;i++) gotoxy(,i); textbackground(lightblue); printf(" "); for(i=;i<=;i++) gotoxy(,i); textbackground(lightmagenta); printf(" "); textbackground(white); printf("\n\n\n"); textcolor(black); return 0; Program. Nama File : Lat-..cpp #include <cstdlib> #include <iostream> #include <conio.h> DIKTAT PEMROGRAMAN I HAL

0 0 0 0 using namespace std; int i; for(i=;i<=;i++) gotoxy(,i); textbackground(lightgreen); cout<<" "; for(i=;i<=;i++) gotoxy(,i); textbackground(yellow); cout<<" "; for(i=;i<=;i++) gotoxy(,i); textbackground(lightblue); cout<<" "; for(i=;i<=;i++) gotoxy(,i); textbackground(lightmagenta); cout<<" "; textbackground(white); cout<<endl<<endl<<endl; textcolor(black); return EXIT_SUCCESS; DIKTAT PEMROGRAMAN I HAL

Hasil eksekusi: Gambar. Hasil eksekusi program Lat. DIKTAT PEMROGRAMAN I HAL 0