for


SLIDE IV

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.

 

 

 

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s