Translate to your languages

Selamat Datang . Suatu kehormatan bagi saya atas kunjungan ini. Saya sangat berharap kunjungan berikutnya.

29 Oktober 2008

PENGULANGAN

PENGULANGAN


 

Struktur pengulangan terdiri atas dua bagian :

  1. Kondisi pengulangan : ekspresi boolean yg harus dipenuhi untuk melaksanakan pemrograman pengulangan. Kondisi ini ada yg dinyatakan secara eksplisit oleh pemrogram atau dikelola sendiri oleh komputer(implisit).
  2. Badan (body) pengulangan : satu atau lebih aksi yg akan diulang.

Struktur pengulangan biasanya disertai dengan bagian :

  1. inisialisasi : aksi yg dilakukan sebelum pengulangan dilakukan pertama kali;
  2. terminasi : aksi yg dilakukan setelah pengulangan selesai dilaksanakan.

3 macam notasi struktur pengulangan :

  1. struktur WHILE-DO ;
  2. struktur REPEAT-UNTIL : statement perulangan dapat dilakukan min 1X;
  3. struktur FOR : jika banyak pengulangan yg harus dilakukan sudah diketahui; jika banyak pengulangan belum diketahui harus ditambahkan lagi keadaannya.

Tabel Translasi Notasi Algoritmik Pengulangan ke Notasi bahasa Pascal

Struktur 

Algoritmik 

Pascal

Keterangan 

WHILE-DO 

While <kondisi> do

aksi

endwhile 

While kondisi do

aksi;

(*endwhile*)

 

REPEAT-

UNTIL 

Repeat

Aksi 1

Until <kondisi>

repeat

aksi;

until kondisi;

 

FOR 

FOR menaik :

for peubah←a to b do

aksi

endfor

FOR menaik :

for peubah :=a to b do

aksi;

(*endfor*)

 
  

for peubah:=a to b do

begin

aksi 1;

aksi 2;

.

.

.

end; (*for*)

bila aksi lebih dari satu buah, runtunan aksi diawali dengan begin dan end.


 

For menurun :

for peubah←b downto a do

Aksi

Endfor

For menurun :

for peubah :=b downto a do

aksi;

(*endfor*)

 
  

for peubah :=b downto a do

begin

aksi 1;

aksi 2;

.

.

.

end; (*for*)

bila aksi lebih dari satu buah runtunan aksi diawali dengan begin dan end..


 

Struktur WHILE-DO

Contoh1 : Algoritma menghitung jumlah Deret 1 + 2 + 3+ … +N.

ALGORITMIK

Algoritma JUMLAH_DERET_1

{ Menjumlahkan deret

1 + 2 + 3+ … +N

dengan N adalah bilangan bulat Positif yang dibaca dari piranti masukan. Jumlah deret dicetak ke piranti keluaran.}


 

DEKLARASI

N : integer
{banyaknya suku deret}

Angka : integer
{ suku deret}

Jumlah : integer
{jumlah deret}


 

DESKRIPSI


read (N) { banyaknya suku deret }

jumlah←0 {inisialisasi jumlah deret}

angka←1 {suku deret}


while angka ≤ N do

jumlah←jumlah + angka { jumlah deret sekarang}

angka←angka + 1 { suku deret berikutnya}


endwhile

(angka > N ) {kondisi setelah pengulangan berhenti}

write (jumlah)


 

PASCAL

Program JUMLAH_DERET_1;

Uses wincrt;

var

N         : integer;

Angka     : integer;

Jumlah     : integer;


 

begin


write ('Berapa banyak suku deret ?'); read (N)

jumlah := 0 ;

angka := 1;


while angka <= N do

begin

Jumlah := jumlah + angka;

Angka := angka + 1;


end;


writeln ('Jumlah deret = ', jumlah);

end.


 

Struktur REPEAT-UNTIL

Contoh2 : Algoritma menghitung jumlah Deret 1 + 2 + 3+ … +N.

ALGORITMIK

Algoritma JUMLAH_DERET_2

{ Menjumlahkan deret

1 + 2 + 3+ … +N

dengan N adalah bilangan bulat Positif yang dibaca dari piranti masukan. Jumlah deret dicetak ke piranti keluaran.}


 

DEKLARASI

N : integer
{banyaknya suku deret}

Angka : integer
{ suku deret}

Jumlah : integer
{jumlah deret}


 

DESKRIPSI


read (N) { banyaknya suku deret }

jumlah←0 {inisialisasi jumlah deret}

angka←1 {suku deret}


repeat

jumlah←jumlah + angka { jumlah deret sekarang}

angka←angka + 1 { suku deret berikutnya}


until angka > N


write (Jumlah)


 

PASCAL

Program JUMLAH_DERET_2;

Uses wincrt;

var

N         : integer;

Angka     : integer;

Jumlah     : integer;

begin


write ('Berapa banyak suku deret ?'); read (N)

jumlah := 0 ;

angka := 1;


repeat

begin

Jumlah := jumlah + Angka;

Angka := Angka + 1;


until angka > N;


writeln ('Jumlah deret = ', jumlah);

end.


 

Struktur FOR-TO-DO

Contoh3 : Algoritma menuliskan deret angka

ALGORITMIK

ALGORITMA DERET_ANGKA1

{ menuliskan angka mulai 1 sampai dengan batas }


 

DEKLARASI

i : integer
{banyaknya suku deret}

batas : integer
{ batas deret}


 

DESKRIPSI

baca (i)


for i
ß 1 to batas do


write (i)


endfor


 

PASCAL

Program DERET_ANGKA1;

Uses wincrt;

var

i : integer;

batas : integer;


 

begin

write ('Masukkan batas bilangan yang akan ditampillkan ?'); readln (batas);


for i := 1 to batas do


write (i, ' ' ) ;

end.


 


 

Struktur FOR-DOWNTO-DO

Contoh4 : Algoritma menuliskan deret angka

ALGORITMIK

ALGORITMA DERET_ANGKA2

{ menuliskan deret mulai batas sampai dengan 1 }


 

DEKLARASI

i : integer
{banyaknya suku deret}

batas : integer
{ batas deret}


 

DESKRIPSI

baca (i)


for i
ß batas to 1 do


write (i)


endfor


 

PASCAL

Program DERET_ANGKA2;

Uses wincrt;

var

i : integer;

batas : integer;


 

begin

write ('Masukkan batas bilangan yang akan ditampillkan ?'); readln (batas);


for i := batas downto 1 do


write (i, ' ' ) ;

end.


 

TUGAS :

Buatlah Program menggunakan bahasa pascal untuk algoritma berikut ini !!!

ALGORITMIK

ALGORITMA SUDAH_BISA

{ menanyakan jawaban sampai jawaban yang diberikan valid }


 

DEKLARASI

jawab : char
{banyaknya suku deret}


 

DESKRIPSI


baca (jawab)


while not ((jawab = 'Y') or (jawab = 'T'))


baca (jawab)


endfor

1 komentar:

Unknown mengatakan...

bagiamana membuat algoritma , jika out put yang diinginkan sebagai berikut :

masukan angka 8

maka 1 + 2 + 3 + 4 + 5 + 5 + 7 = 36

Trims atas jawabannya,