Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
P– 6 Bab 5 : Perulangan
5.1 Tujuan Mahasiswa mampu : • Mengetahui Perintah Perulangan • Mengetahui penggunaan statemen While • Mengetahui penggunaan statement Do ... While • Mengetahui penggunaan statement For
5.2 Materi 1. Perulangan ✔ While ✔ Do While ✔ For 2. Perulangan dan Kondisi
5.3 Struktur Perulangan •
Secara umum struktur perulangan terdiri dari dua bagian, yaitu : ◦ Kondisi perulangan ▪ Merupakan ekspresi boolean yang harus dipenuhi untuk melaksanakan perulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh pemrogrram, atau dikelola sendiri oleh komputer (implisit). ◦ Tubuh (body) perulangan ▪ Merupakan bagian algoritma yang diulang.
•
Selain itu, struktur perulangan biasanya disertai dengan dua bagian lagi, antara lain yaitu : ◦ Inisiasi ▪ Merupakan aksi yang dilakukan sebelum perulangan dilakukan pertama kali. ◦ Terminasi ▪ Merupakan aksi yang dilakukan setelah perulangan selesai dilakukan.
SQ – http://sidiq.mercubuana-yogya.ac.id –
[email protected] - 1
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
•
Struktur perulangan secara umum dapat dilihat sebagai berikut :
awal perulangan body akhir perulangan
5.4 While • •
Statement while digunakan untuk mengeksekusi sebuah blok secara berulang, perulangan akan dilakukan secara terus menerus selama kondisi bernilai benar. Bentuk dari WHILE adalah sebagai berikut : while (kondisi) pernyataan;
•
Contoh : /* * * *
-------------------------Contoh While author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int A; printf("Masukkan Nilai A = "); scanf("%d",&A); /* awal variabel */ while(A<=5) /* Batas akhir perulangan */ { printf("%d \n",A++); /* variabel x ditambah dengan 1 */ } }
Output :
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 2
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
Keterangan : • Jika A <5/A=5 (jika kondisi benilai benar), maka perulangan akan dilakukan dengan nilai awal (misal A=0), dan akan diulang sampai nilai A<=5. • A>5 (jika kondisi bernilai salah), maka perulangan tidak akan dikerjakan.
5.5 Do … While • • •
Statement do...while prinsipnya sama dengan statement while. Perbedaannya jika pada while seleksi berada di atas, sementara pada perulangan do...while seleksi while berada di bawah batas perulangan. Bentuk dari DO...WHILE adalah sebagai berikut :
do pernyataan; while (kondisi);
•
Contoh : /* * * *
-------------------------Contoh Do While author : SidiQ - UMBY -------------------------*/
#include "stdio.h" main() {
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 3
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
int A; printf("Masukkan Nilai A = "); scanf("%d",&A); /* awal variabel */ do { printf("%d \n",A++); /* variabel x ditambah dengan 1 */ } while(A<=5); /* Batas akhir perulangan */ }
Output :
Keterangan : • Jika A <5/A=5 (jika kondisi benilai benar), maka perulangan akan dilakukan dengan nilai awal (misal A=0), dan akan diulang sampai nilai A<=5. • A>5 (jika kondisi bernilai salah), maka perulangan tidak akan dikerjakan.
5.6 For •
Statement For digunakan untuk mengeksekusi sebuah blok secara berulang dalam range tertentu (jumlah perulangan sudah diketahui/pasti).
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 4
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
•
Bentuk dari FOR adalah sebagai berikut : for (nilai_awal; nilai_akhir; peningkatan) pernyataan;
•
Keterangan : ◦ Nilai awal → pernyataan yang menyatakan keadaan awal (batas minimal). Contoh : ▪ Nilai awal : A >= 0 ◦ NIlai akhir → pernyataan yang menyatakan suatu kondisi yang harus dipenuhi, sebelum keluar dari pernyataan. Contoh : ▪ Nilai akhir : A <= 10 ▪ Keterangan : perulangan akan dihentikan jika nilai A lebih dari 10 (perulangan akan dilakukan sampai nilai A memenuhi syarat yaitu kurang dari atau sama dengan 10). ◦ Peningkatan → merupakan suatu variabel yang digunakan untuk mengontrol perulangan. Contoh : ▪ Peningkatan : A++ ▪ Keterangan : setiap dilakukan perulangan maka nilai A akan ditambah dengan 1.
•
Contoh 1 : /* * * *
-------------------------Contoh For 1 author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int A,B; printf("Masukkan Nilai A = "); scanf("%d",&A); for(B=A;B<=5;B++) { printf("%d Wellcome ...! \n",B); } }
Output :
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 5
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
•
Contoh 2 : /* * * *
-------------------------Contoh For 2 author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int A,B; printf("Masukkan Nilai A = ");scanf("%d",&A); for(B=A;B>=5;B--) { printf("%d Wellcome ...! \n",B); } }
Output :
• •
Pernyataan For juga dapat digunakan untuk menuliskan lebih dari satu ekspresi perulangan. Contoh 3 :
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 6
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
/* * * *
-------------------------Contoh For 3 author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int A,B,C; printf("Masukkan Nilai A = ");scanf("%d",&A); for(B=A;B<=4;B++) for(C=A;C<=2;C++) { printf("B = %d \n",B); printf("C = %d ",C); } }
Output :
5.7 Perulangan & Kondisi •
Contoh 1 : /* * * *
-------------------------Contoh While If author : SidiQ - UMBY -------------------------*/
#include <stdio.h> main() { int A; printf("Masukkan Nilai A = ");scanf("%d",&A);
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 7
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
while(A<=5) { printf("While = %d",A++);printf("\n");
/* 0 1 2 3 4 5 */
if(A>3) /* 4 5 6*/ { printf(" If = %d ",A);printf("\n"); } } }
Output :
•
Contoh 2 : /* -------------------------* Contoh Do While If * author : SidiQ - UMBY * -------------------------*/ #include <stdio.h> main() { int A; printf("Masukkan Nilai A = ");scanf("%d",&A); do { printf("While = %d",A++);printf("\n"); /* 0 1 2 3 4 5 */ if(A>3) /* 4 5 6 */ { printf(" If = %d ",A);printf("\n"); } } while(A<=5) ; }
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 8
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
Output :
•
Contoh 3 : /* * * *
-------------------------Contoh For If 1 author : SidiQ - UMBY -------------------------*/
#include<stdio.h> main() { int a; for(a=0;a<=5;a++) /* 0 1 2 3 4 5 */ { if((a % 2)==0) /* 0 2 4 */ { printf(" %d ",a);printf("\n") } } }
Output :
•
Contoh 4 : /* -------------------------* Contoh For If 2
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 9
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
* author : SidiQ - UMBY * -------------------------*/ #include<stdio.h> main() { int a,b; for(a=0;a<=5;a++) /* 0 1 2 3 4 5 */ { if((a % 2)==0) /* 0 2 4 */ { for(b=0;b<=a;b++) /* 0 || 0 1 2 || 0 1 2 3 4 */ { printf(" %d ",a);printf("\n"); } } }
Output :
5.8 Evaluasi 1. Buatlah algoritma dan program perulangan untuk menyeleksi apakah bilangan tersebut genap atau ganjil. Misalnya : ✔ nilai awal = 1 ✔ batas maksimal = 10 contoh output :
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 10
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta
Kampus II, Jl. Jembatan Merah, Nomor 84.C. Gejayan, Yogyakarta 55283, Telp: (0274) 584922, Fax (0274) 550703
2. Buat algoritma dan program perulangan untuk menampilkan bentuk segitiga seperti pada contoh berikut. Contoh output :
Ketentuan : 1. File name : P6_Elr_23_Algo_NIM.docx (Ex : P6_Elr_23_Algo_10111071.docx) 2. Kirimkan dengan subject P6_Elr_23_Algo_NIM (Ex : P6_Elr_23_Algo_10111071) 3. Ke email : [email protected]
SQ – http://sidiq.mercubuana-yogya.ac.id – [email protected] - 11