X-Steel - Link Select 2

Wednesday 15 January 2020

Perulangan (loop)

Perulangan (Looping) menggunakan For

Mengulang suatu proses merupakan tindakan yang banyak dijumpai dalam pemrograman. ada semua bahasa pemrograman, pengulangan proses ditangani dengan suatu mekanisme yang disebut loop. Dengan menggunakan loop, suatu proses yang berulang misalnya menampilkan tulisan yang sama seratus kali pada layar dapat diimpelementasikan dengan kode program yang pendek. Pada pemrograman proses perulangan dapat dibagi menjadi 2 bagian utama yaitu:
1.      Perulangan yang sudah di ketahui jumlah perulangannya sebelum perulangan tersebut di lakukan.
2.      Perulangan yang belum di ketahui jumlah perulangannya sebelum perulangan tersebut di lakukan. Dalam hal ini dapat dibagi menjadi dua bagian yaitu:
a.       kondisi perulangan diperiksa diawal perulangan.
b.      kondisi perulangan diperiksa diakhir perulangan.
Pada kasus pertama menggunakan perulangan dengan penyataan for. Bentuk pernyataan for :
for (ungkapan1; ungkapan2; ungkapan3)
pernyataan;

Keterangan:
          Ungkapan1 : digunakan untuk memberikan inisialisasi terhadap variabel pengendali loop.
          Ungkapan2 : dipakai sebagai kondisi untuk keluar dari loop.
          Ungkapan3 : dipakai sebagai pengatur kenaikan nilai variabel pengendali loop.
Ketiga ungkapan dalam for tersebut harus dipisahkan dengan tanda titik koma (;). Dalam hal ini pernyatan bisa berupa pernyataan tunggal maupun jamak. Jika pernyataannya berbentuk jamak, maka pernyataan-pernyataan tersebut harus diletakkan di antara kurung kurawal buka ({ ) dan kurung kurawal tutup (}), sehingga formatnya menjadi :
for (ungkapan1; ungkapan2; ungkapan3) {
pernyataan;
….
….
pernyataan; }
for(bilangan = 20; bilangan <= 100; bilangan += 10)
printf(“%d\n”, bilangan);



Pada program di atas, kenaikan terhadap variabel pengendali loop sebesar 10 (positif), yang dinyatakan dengan ungkapan bilangan += 10. Pada contoh yang melibatkan pernyataan for di atas, kenaikan variabel pengendali loop berupa nilai positif. Sebenarnya kenaikan terhadap variabel pengendali loop bisa diatur bernilai negatif.
for (bilangan = 60; bilangan >= 10; bilangan -= 10)
printf(“%d\n”, bilangan);
Kadang-kadang dijumpai adanya pernyataan for yang tidak mengandung bagian ungkapan yang lengkap (beberapa ungkapan dikosongkan). Dengan cara ini, pernyataan
for (bilangan = 20; bilangan <= 100; bilangan += 10)
printf(“%d\n”, bilangan);
dapat ditulis menjadi :
bilangan = 20; /* inisialisasi di luar for */
for ( ; bilangan <= 100; ) {
printf(“%d\n”, bilangan);
bilangan += 10; }
Pengosongan ini juga dilakukan pada ungkapan yang biasa dipakai untuk menaikkan nilai variabel pengendali loop. Sebagai gantinya, di dalam tubuh loop diberikan pernyataan untuk menaikkan nilai variabel pengendali loop, yaitu :
berupa bilangan += 10;
Ungkapan yang tidak dihilangkan berupa bilangan <=100. Ungkapan ini tetap disertakan karena dipakai sebagai kondisi untuk keluar dari loop.
Sesungguhnya ungkapan yang dipakai sebagai kondisi keluar dari loop juga bisa dihilangkan, sehingga bentuknya menjadi :
for ( ; ; )
pernyataan :
Suatu pertanyaan mungkin timbul “Lalu bagaimana caranya kalau ingin keluar dari loop pada bentuk di atas?”. Caranya adalah dengan menggunakan pernyataan yang dirancang khusus untuk keluar dari loop.
contoh soal :
1. Gunakan loop for untuk menampilkan nilai 1 sampai dengan 20 dalam baris-baris yang terpisah.
jawab :
source code :
#include<stdio.h>
main() {
int a;
for(a=1; a<=20; a++)
printf(“%d\n”, a);
}
2. Hitunglah bilangan triangular dari masukan pengguna, yang dibaca dari keyboard dengan menggunakan scanf(). Bilangan triangular adalah penjumlahan dari bilangan masukan dengan seluruh bilangan sebelumnya, sehingga bilangan triangular dari 7 adalah : 7 + 6 + 5 + 4 + 3 + 2 + 1.
Jawab :
source code :
#include<stdio.h>
main()
{
int a , b , c = 0;
printf(“masukan nilai ke – n = “);
scanf(“%d”, &b);
for(a = b; a>0; a–) {
printf(“%d”, a);
if (a != 1) printf(” + “);
c = c + a;
}
printf(“\n”);
printf(“hasil = %d \n”, c);
}
3. Gunakan loop for untuk menampilkan seluruh karaker dari A sampai dengan Z dalam baris-baris yang terpisah.
Jawab :
source code :
#include<stdio.h>
main ()
{
char a;
for(a = ‘A’; a<= ‘Z’; a=a+1) {
printf(“%c \n”, a);}
}
4. Gunakan loop for untuk membuat program sebagai berikut: input : n, output : 1 -2 3 -4 5 -6 7 -8 … n
Jawab :
source code :
#include<stdio.h>
main () {
int i, a;
printf(“masukan = “);
scanf(“%d”, &a);
for (i = 1; i <= a; i++)  {
if(i % 2 == 0){
printf (” %d “, -1*i);}
else{
printf (” %d “, i);}
}
}