google ads

Jumat, 03 Desember 2010

LOOPING


LOOPING


Kompetensi Dasar:
Dapat menggunakan instruksi perulangan dalam pemecahan masalah.

Indikator Kompetensi:
  1. Mengenal dan memahami kapan diperlukannya perulangan.
  2. Memahami syntax perintah perulangan
  3. Dapat menggunakan perulangan untuk suatu aplikasi.

PERULANGAN

Contoh berikut digunakan untuk menampilkan tulisan ”Selamat datang” dilayar sebanyak 5 baris.

Contoh 1:

#include <iostream.h>
#include <conio.h>

main() {
  cout<<"\nSelamat datang";
  cout<<"\nSelamat datang";
  cout<<"\nSelamat datang";
  cout<<"\nSelamat datang";
  cout<<"\nSelamat datang";
  getch();}

Tidak menjadi masalah jika yang ditampilkan ke layer hanya 5 baris, tetapi bagaimana halnya jika kita ingin menampilkan tulisan tersebut dilayar sebanyak 10 baris, 50 baris atau bahkan lebih.
Tentunya sangat tidak efisien jika harus mengcopy instruksi yang sama berulang ulang. Itulah sebabnya muncul instruksi perulangan untuk mengatasi permasalahan tersebut.

Ada dua jenis perulangan:
  1. Perulangan yang jumlahnya diketahui pasti.
Menggunakan instruksi for.
  1. Perulangan yang jumlahnya tidak diketahui pasti, tetapi diketahui kapan perulangan tersebut dikerjakan (syarat agar perulangan dikerjakan.
Menggunakan instruksi while atau do while.


For

for(variabel=nilai_awal;kondidi_awal;batas_perulangan;variabel++)
{ statemen_yang_akan_diulang;}




Contoh 2:

#include <iostream.h>
#include <conio.h>

main() {
  for(int i=1;i<=5;i++)
     cout<<"\nSelamat datang";
  getch();
}



Pernyataan untuk nilai awal dapat dituliskan lebih dari satu.

Contoh 3:

#include <iostream.h>
#include <conio.h>

main() {
  int a;
  for(int i=1,a=5;i<=10;i++)
  { cout<<"\nNilai ke "<<i<<" = "<<a;
    a+=5;
  }
  getch();}


Contoh 4:

#include <iostream.h>
#include <conio.h>

main() {
  int b;
  cout<<"Masukkan batas = ";cin>>b;
  for(int i=1;i<=b;i=i+2)
     cout<<i<<"\n";
  getch();
}

Contoh 5:


#include <iostream.h>
#include <conio.h>

main() {
  int b;
  cout<<"Masukkan batas = ";cin>>b;
  for(int i=b;i>=1;i=i-2)
     cout<<i<<"\n";
  getch();
}



While

Syntax :

while (syarat)
{ instruksi;
   .
   .
}



Contoh 6:

#include <iostream.h>
#include <conio.h>

main() {
  int i=1;
  while (i<=5)
  { cout<<"\nSelamat datang";
    i++;
  }
  getch();
}



Contoh 7:
#include <iostream.h>
#include <conio.h>

main() {
  int a=5,i=1;
  while (i<=10)
  { cout<<"\nNilai ke "<<i<<" = "<<a;
    a+=5;
    i++;
  }
  getch();}






Do While

Syntax:
do
{ instruksi;
   .
   .
}
while (syarat);


Mirip dengan while, perbedaannya adalah:

While
Do while
Bisa jadi tidak akan pernah dikerjakan jika syarat tidak dipenuhi.
Ini dikarenakan sebelum instruksi dikerjakan, syarat dicek terlebih dahulu.
Minimal dikerjakan satu kali walaupun syarat tidak dipenuhi.
Ini dikarenakan instruksi dikerjakan dahulu, baru syarat dicek untuk melanjutkan perulangan.

Contoh 8:

#include <iostream.h>
#include <conio.h>

main() {
  int i=1;
  do
  { cout<<"\nSelamat datang";
    i++;
  }
  while (i<=5);
  getch();}


Contoh 9:

#include <iostream.h>
#include <conio.h>

main() {
  int a=5,i=1;
  do
  { cout<<"\nNilai ke "<<i<<" = "<<a;
    a+=5;
    i++;
  }
  while (i<=10);
  getch();}



PERULANGAN YANG JUMLAHNYA TDK PASTI

Perhatikan contoh 10 berikut ini. Program digunakan untuk menginputkan n data. Seandainya pada saat program dijalankan n diinputkan 10, tetapi karena kesalahan, terinput 100 maka tetap harus diinputkan 100 data. Ada cara lain untuk ini, dimana menggunakan perulangan yang tidak diketahui pasti jumlahnya, tetapi diketahui kapan perulangan dikerjakan, yakni selama masih ada data lagi. Sehingga program dimodifikasi menjadi contoh no 11.

Contoh 10:

#include <iostream.h>
#include <conio.h>

main() {
  int b,angka;
  cout<<"Masukkan banyaknya data = ";cin>>b;
  for(int i=1;i<=b;i++)
  {  cout<<"Data ke "<<i<<" = ";cin>>angka; }
  getch();
}


Contoh 11:

#include <iostream.h>
#include <conio.h>

main() {
  int angka;
  char ada;
  cout<<"Apakah ada data yang ingin diinputkan (Y/T) = ";cin>>ada;
  while (ada=='Y')
  { cout<<"\nData  = ";cin>>angka;
    cout<<"Apakah ada data yang ingin diinputkan (Y/T) = ";cin>>ada;
  }
  getch();}




0 komentar:

Posting Komentar