Selasa, 04 Desember 2012

PERULANGAN FOR





Salah  satu  kelebihan  komputer  dibandingkan  dengan  manusia adalah kemampuannya untuk melaksanakan suatu perintah berulangkali tanpa mengenali lelah dan bosan. Di dalam algoritma pengulangan atau kalang (repetition atau loop) dapat dilakukan sejumlah kali, atau sampai kondisi berhenti pengulangan tercapai.


IV.1 Struktur Pengulangan

Struktur pengulangan secara umum terdiri atas dua bagian :

1.  kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit);
2.  badan (body) pengulangan, yaitu bagian algoritma yang diulang. Disamping itu, struktur pengulangan biasanya disertai dengan bagian:
1. inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
2. terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilaksanakan.
Di  dalam  algoritma  terdapat  beberapa  macam  konstruksi pengulangan yang berbeda. Beberapa konstruksi dapat dipakai untuk masalah yang sama, namun ada konstruksi pengulangan yang hanya cocok dipakai masalah tertentu.
Pernyataan FOR adalah konstruksi pengulangan tanpa kondisi (uncoditional  looping),  artinya  instruksi-instruksi  di  dalam  badan pengulangan diulangi sejumlah kali yang dispesifikasikan oleh pemrogram. Dalam hal ini, jumlah pengulangan sudah diketahui sebelum konstruksi pengulangan eksekusi.




IV.2 Pernyataan FOR
               Konstruksi FOR digunakan untuk menghasilkan pengulangan sejumlah kali yang telah dispesifikasikan. Jumlah pengulangan dapat diketahui atau dapat ditentukan sebelum eksekusi. Untuk mencacah sudah berapa kali pengulangan dilakukan, kita memerlukan sebuah peubah (variabel) pencacah (counter). Peubah ini nilainya selalu bertambah satu setiap kali pengulangan dilakukan. Jika cacah pengulangan sudah mencapai jumlah yang dispesifikasikan maka proses pengulangan berhenti.
               Bentuk  umum pernyataan FOR ada dua macam : menaik (ascending) atau menurun (descending):


FOR menaik


for variable :=  nilai_awal to nilai_akhir do
Begin
    Pernyataan_1 ;
    Pernyataan_2 ;
    .
    .
    Pernyataan_N ;
End;


Keterangan  :

(i)         Variable  haruslah  dari  tipe  data  yang  memiliki  predecessor  dan successor, yaitu integer atau karakter. Tipe riil tidak dapat digunakan sebagai pencacah.
(ii)        pernyataan adalah satu atau lebih kecil atau sama dengan nilai_akhir.

Jika nilai_awal lebih besar dari nilai_akhir, maka badan pengulangan tidak dimasuki.
(iii)       Pada   awalnya,   variable diinisialisasi   dengan   nilai_awal.   Nilai variable           secara   otomatis   bertambah   satu   setiap   kali   badan pengulangan dimasuki, sampai akhirnya nilai variable sama dengan nilai_akhir.
(iv)       Jumlah pengulangan yang terjadi adalah nilai_akhir – nilai_awal + 1.





·         Contoh mencetak pesan “Hello,  world” sebanyak 10 kali

Sebagai  contoh  pertama,  misalkan  kita  mencetak  pesan  “hello,  world”

sebanyak 50  kali, maka algoritmanya adalah :


PROGRAM
 CetakBanyak_HelloWorld ;
USES
 Wincrt;
VAR
 i : integer ;
BEGIN

 for i := 1 to 50 do
 Begin
   writeln('Hello, World');
 End;

END.

·         Contoh mencetak 1 sampai 10

Misalkan kita ingin mencetak angka 1, 2 …., 8 di layar, dengan satu angka pada setiap baris. Algoritmanya adalah sebagai berikut :

PROGRAM
  CetakSampai50 ;
USES
  Wincrt;
VAR
  i : integer ;
BEGIN

 for i := 1 to 50 do
 Begin
   write(i,' ');
 End;

END.


Perhatikan  Algoritma  di  atas.  Angka-angka  yang  dicetak  bersesuaian dengan nilai variable pengulangan. Ketika variable i bernilai 1 dicetak, ketika variable i bernilai 2, angka 2 dicetak. Jadi instruksi yang diulang cukup kita tulis write(i)


·         Buatlah sebuah program dengan menggunakan mekanisme For To Do untuk menampilkan bilangan genap dari mulai 1 sampai dengan 20

PROGRAM
 ForGenap;
USES
 wincrt;
VAR
 i : integer;
BEGIN

 For i := 1 to 20 do
 Begin
     If i mod 2 = 0 then
     write(Bilangan,' ');
 End;

END.

·         Buatlah program menggunakan mekanisme For To Do untul menampilkan gambar segitiga samakaki yang tersusun  dari 1 sampai 10 symbol ‘*’
.
PROGRAM
 ForSegitigaBintang;
USES
 Wincrt;
VAR
 i,j : integer;
BEGIN

for i := 1 to 10 do
 Begin
  for j := 1 to i do
  begin
    write('*');
  end;
  Writeln('');
 End;
 readln;

END.


·         Buatlah program menjumlahkan deret bilangan

PROGRAM
 PenjumlahanDeret ;
USES
 Wincrt;
VAR
 i, N, Jumlah : integer ;
BEGIN
 Repeat
 clrscr;

 write('Inputkan Nilai Akhir Deret : ');
 readln(N);

 Jumlah := 0;                
 for i := 1 to N do
 Begin
    write(i,' ');
    Jumlah := Jumlah + i;
 End;

 write(' = ', jumlah);
 readln;
 Until Keypressed;
END.




















·         Buatlah Program untuk menghitung rata rata Deret

PROGRAM
  RatarataDere;
USES
 Wincrt;
VAR
 i,N,jumlah, index : integer;
 rata : real;
BEGIN
 repeat
 clrscr;

 write('Inputkan Nilai Akhir Deret :');
 readln(N);

 jumlah := 0;
 index := 0;

 for i := 1 to N do
 Begin
    write(i,' ');
    jumlah := jumlah + i;
    index := index + 1;
 End;

 rata := jumlah/index;              

 writeln('= ', jumlah)   ;
 write('rata rata = ', rata:2:2);
 readln;   
 until keypressed;
END.















·         Buatlah program perpangkatan

PROGRAM
 Perpangkatan ;
USES
 Wincrt;
VAR
 i, Pangkat, Bilangan : integer ;
 Hasil : LongInt;
BEGIN
 Repeat
 clrscr;

 write('Inputkan Bilangan : ');
 readln(Bilangan);

 write('Dipangkatkan dengan : ');
 readln(pangkat);

 Hasil := 1;
                 
 for i := 1 to Pangkat do
 Begin
    Hasil := Hasil * Bilangan;
 End;

 write('Hasil = ', Hasil);
 readln;
 Until Keypressed;
END.

















For menurun


For Variable := NilaiAkhir Downto NilaiAwal do
Begin
Pernyataan1
Pernyataan2
.
 .
PernyataanN
End;

Keterangan  :

(i)         Variable  haruslah  dari  tipe  data  yang  memiliki  predecessor  dan successor, yaitu integer atau karakter. Tipe riil tidak dapat digunakan sebagai pencacah.
(ii)      pernyataan adalah satu atau lebih kecil instruksi yang diulang.

(iii)       Nilai_akhir  harus  lebih  besar  atau  sama  dengan  nilai_awal.  Jika nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki
(iv)      Pada   awalnya   variable   dinisialisasi   dengan   nilai_akhir.   Nilai variable        secara   otomatis   berkurang   satu   setiap   kali   badan pengulangan dimasuki, sampai akhirnya pencacah sama dengan nilai_awal.
(v)      Jumlah pengulangan yang terjadi adalah nilai_akhir – nilai_awal + 1.


·         Buatlah sebuah program menggunakan mekanisme perulangan for Downto do untuk menampilkan bilangan bulat dari 20 s/d 1

PROGRAM
 DownDeretAngka ;
USES
 Wincrt;
VAR
 i : integer;
BEGIN

 For i := 20 downto 1 do
 Begin
   Write(i,' ');
 End;

END.
·         Buatlah sebuah program dengan menggunakan mekanisme for Downto do  untuk menampilkan bilangan genap dari mulai 20 sampai dengan 1

PROGRAM
 DownGenap;
USES
 wincrt;
VAR
 i : integer;
BEGIN

For i := 20 Downto 1 do
 Begin
     If i mod 2 = 0 then
     write(i,' ');
 End;

END.



0 komentar:

Posting Komentar

 
;