Jumat, 05 Juni 2015

STRUKTUR PERULANGAN


STRUKTUR PERULANGAN

•    SP terdiri dari
–    Kondisi pengulangan
•    Ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan
–    Badan (body) pengulangan
•    Bagian algoritma yang diulang
•    Struktur perulangan disertai :
–    Inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali
–    Terminasi, aksi yang dilakukan setelah pengulangan selesai dilaksanakan
Notasi struktur Perulangan
•    Struktur FOR
•    Struktur WHILE
•    Struktur REPEAT

    STRUKTUR FOR
•    Digunakan untuk menghasilkan pengulangan sejumlah (n) kali yang dispesifikasikan.
•    Jumlah pengulangan diketahui (dapat ditentukan) sebelum eksekusi.
•    Variabel pencacah
–    Nilainya selalu bertambah setiap kali perulangan dilakukan.
–    Jika nilainya sudah mencapai jumlah yang dispesifikasikan, maka proses perulangan akan berhenti
•    Bentuk umum for :
–    Menaik (ascending)
–    Menurun (descending)
•    FOR menaik
•    for pencacah ß nilai_awal to nilai_akhir do
•          Aksi
•    endfor
•    FOR menurun
•    for pencacah ß nilai_awal downto nilai_akhir do
•          Aksi
•    endfor


    STRUKTUR WHILE
•    Bentuk umum struktur WHILE
while kondisi do
       aksi
endwhile
•    Keterangan :
–    Aksi akan dilakukan selama kondisi bernilai true.
–    Jika kondisi bernilai false, badan pengulangan tidak akan dilaksanakan, yang berarti perulangan selesai.
•    Yang harus diperhatikan à pengulangan harus berhenti.
•    Supaya  kondisi bernilai false,
–    Di dalam badan pengulangan harus ada instruksi yang mengubah nilai peubah kondisi.
Contoh 1
•    Algoritma Cetak_banyak_Hallo
•    {Mencetak ‘Hello Word’ sebanyak 10 kali}
•    DEKLARASI
•      k : integer { pencacah pengulangan }
•    DESKRIPSI
•      k ß 1
•      while  k <= 10 do
•            write (‘Hello Word’)
•            k ß k + 1
•      endwhile
•      { kondisi akhir pengulangan : k > 10}

    STRUKTUR REPEAT
•    Bentuk umum struktur REPEAT
repeat
       aksi
Until kondisi
•    Keterangan :
–    Aksi akan dilakukan sampai kondisi boolean bernilai true.
–    Jika kondisi bernilai false, badan pengulangan akan dilaksanakan, yang berarti perulangan selesai jika kondisi bernilai true

Contoh 2
Algoritma Cetak_banyak_Hallo
{Mencetak ‘Hello Word’ sebanyak 1 kali}
DEKLARASI
  k : integer { pencacah pengulangan }
DESKRIPSI
  k ß 6
  repeat
        write (‘Hello Word’)
        k ß k + 1
  until k > 5
  { kondisi akhir pengulangan : k > 5}
    PERULANGAN (2)
FOR
•    Pascal
for pencacah:=a to b do
begin
      aksi1;
    aksi2;
    .
    .
    .
End;

    WHILE
•    PASCAL
 while kondisi do
  begin
        aksi1;
        aksi2;
        .
        .
        .
  end

    REPEAT
•    PASCAL
 repeat
        aksi1;
        aksi2;
        .
        .
        .
 until kondisi;


    Contoh 1 -- FOR
(Algoritma menghitung deret 1+2+3+ . . . +N)
Algoritma PENJUMLAHAN_DERET
{ Menjumlahkan deret
        1+2+3+ . . . +N
dengan N adalah bilangan bulat positif yang dibaca dari piranti masukkan.
Dan mencetak jumlah deret }
DEKLARASI :
    N : integer  {banyak suku deret}
    k : integer  {suku deret}
    jumlah : integer {jumlah deret}
DESKRIPSI :
    read(N)
    jumlah ß 0
    for k ß1 to N
        jumlah ß jumlah + k
    endfor
    write (jumlah)



    PASCAL FOR
Program PENJUMLAHAN_DERET
 var
    N : integer;
    k : integer;
    Jumlah : integer;

begin
    write(‘Berapa N?’);
    readln(N);
    jumlah:=0;
    for k:=1 to N
        begin
        jumlah:=jumlah + k;
        end;
    writeln(‘Jumlah deret = ‘, jumlah);
 end

    CONTOH 1 – WHILE
(Algoritma menghitung deret 1+2+3+ . . . +N)
Algoritma PENJUMLAHAN_DERET
{ Menjumlahkan deret
        1+2+3+ . . . +N
dengan N adalah bilangan bulat positif yang dibaca dari piranti masukkan.
Dan mencetak jumlah deret }
DEKLARASI :
    N : integer  {banyak suku deret}
    k : integer  {suku deret}
    jumlah : integer {jumlah deret}
DESKRIPSI :
    read(N)
    jumlah ß 0
    k ß 1
    while k < N do
        jumlah ß jumlah + k
       k ß k + 1
    endwhile
    write (jumlah)

    PASCAL WHILE
Program PENJUMLAHAN_DERET
 var
    N : integer;
    k : integer;
    Jumlah : integer;

begin
    write(‘Berapa N?’);
    readln(N);
    jumlah:=0;     k:=1;
    while k <= N do
        begin
        jumlah:=jumlah + k;
        k:=k+1;
        end;
    writeln(‘Jumlah deret = ‘, jumlah);
 end

    FLOWCHART




TERIMA KASIH

Tidak ada komentar:

Posting Komentar