welcome

Welcome to My Blog :)

Sunday, November 29, 2015

Algoritma Perulangan



Algoritma perulangan
a.struktur perulangan                         
       Perulangan atau Looping  adalah kemampuan untuk melakukan suatu proses yang sama secara berulang-ulang tanpa mengalami kesalahan dan kelelahan hingga ratusan bahkan jutaan kali proses.Perulangan merupakan salah satu kelebihan yang dimiliki oleh mesin computer.Contohnya:Proses untuk menulis kalimat “Selamat Belajar Pemrograman Pascal” sebanyak 2000 baris.
Bagian-bagian yang harus diperhatikan dalam membangun algoitma perulangan yaitu:
1.Ekspresi Kondisi
       Ekspresi kondisi merupakan  sebuah kondisi yang memiliki nilai data Boolean (true dan false) sebagai  syarat mutlak dilakukannya sebuah proses.Ekpresi kondisi terletak pada awal perulangan tetapi ada juga yang terletak pada akhir perulangan.
2.Bagian Body Perulangan
      Bagian body perulangan merupakan bagian di mana proses kerja program terjadi  dan akan terus diulang hingga mencapai kondisi tertentu.Dalam mendeskripsikan sebuah proses,perlu memperhatikan beberapa hal sebagai berikut:
a)       Pernyataan nilai awal yaitu sebuah ekspresi kondisi sebagai syarat berjalannya proses pada badan perulangan (body).
b)     Perintah untuk melakukan proses perulangan seperti FOR,WHILE,dan REPEAT.
c)      Pernyataan terminasi yaitu sebuah pernyataaan untuk mengubah nilai awal menjadi nilai baru.
Berikut ini adalah struktur perulangan:
Pernyataan nilai awal
<perintah Perulangan>
       Aksi…
           Terminasi nilai awal
<akhir perintah perulangan>
 


         Ada dua jenis perulangan yang dikenal dalam algoritma,yaitu:
a)      Unconditional Looping adalah perulangan yang tidak menyertakan kondisi terentu sebagai syarat terjadinya perulangan,sebagai contoh struktur perulangan dengan FOR.
b)     Conditional Looping  adalah  perulangan dengan adanya syarat sebuah kondisi yang harus terpenuhi,sebagai contoh struktur perulangan dengan   WHILE dan   REPEAT.
B.STRUKTUR PERULANGAN FOR…DO
     Konstruksi perintah  “For…Do” merupakan bentuk Unconditional Looping yang telah menetapkan jumlah perulangan seberapa banyak perulangan tersebut dilakukan.Jumlahnya telah didefinisikan pada awal deklarasi “For…Do”.
Jenis-jenis perulangan dengan “For…Do”:
1.      Nilai Perulangan secara Menaik (Ascending)
Format penulisannya adalah sebagai berikut:
For pengulang           nilai_awal to nilai_akhir do
       Aksi
End for
 
Penjelasan :
ü  For adalah perntah untuk memulai melakukan perulangan.
ü  Pangulang adalah variable yang memiliki tipe data bersifat predecessor dan successor,yaitu tipe data yang dapat dioperasikan secara aritmatik,seperti bilangan bulat dan karakter.
ü  Nilai_awal adalah nilai dasar yang dijadikan acuan pertama dilakukannya prosesperulangan dengan catatan harus lebih kecil nilainya daripada nilai_akhir.
ü  Nilai_akhir adalah batasan akhir terjadinya perulangan.
ü  Aksi adalah pernyataan untuk melakukan proses tertentu yang tidak terkait dengan perulangan.
ü  End for adalah pernyataan akhir badan perulangan dengan for.
ü  Prinsip kerjanya adalah pertama kali pengulang akan di set dengan nlai_awal kemudian melanjutkan ke Aksi.Setelah Aksi selesai dilakukan,secara otomatis variable pengulang akan bertambah sebesar satu kali,yaitu pengulang=nilai_awal+1 kemudian melakukan Aksi yang serupa seperti sebelumnya hingga pengulang=nilai_akhir.
 Contoh:Algoritma untuk menampilkan deretan bilangan dari 1 sampai 9.



Program deret_ascending_1_to_9
Deklarasi
      X   :   integer  
Algoritma
     For  x    1 to 9 do 
           Write (x)   
     End for


Penjelasan :
ü  Penentuan x bertipe data integer pada deklarasi,lihat baris  x:integer.
ü  For x               1 to 9 menyatakan perulangan  x menaik dari 1 sampai 9.
ü  Write (x) menyatakan proses cetak nilai x setiap kali perulangan.
ü  End for enyatakan akhir badan perulangan dengan for.
ü  Output yang dihasilkan adalah 1 2 3 4 5 6 7 8 9.

2.Nilai Pengulang secara Menurun                                                                           
    Format penulisannya adalah sebagai berikut:
For pengulang           nilai_akhir to nilai_awal  do
       Aksi
End for
 

           Penjelasan :
ü  For adalah perntah untuk memulai melakukan perulangan.
ü  Pangulang adalah variable yang memiliki tipe data bersifat predecessor dan successor,yaitu tipe data yang dapat dioperasikan secara aritmatik,seperti bilangan bulat dan karakter.
ü  Nilai_akhir adalah nilai dasar yang dijadikan acuan pertama dilakukannya proses perulangan dengan catatan harus lebih besar  nilainya daripada nilai_awal.
ü  Nilai_awal adalah batasan akhir terjadinya perulangan.
ü  Aksi adalah pernyataan untuk melakukan proses tertentu yang tidak terkait dengan perulangan.
ü  End for adalah pernyataan akhir badan perulangan dengan for.
ü  Prinsip kerjanya adalah pernyataan akhir badan oerulangan  akan di set dengan nilai_akhir kemudian melanjutkan ke Aksi.Setelah Aksi selesai dilakukan,secara otomatis variable pengulang akan dikurangi sebesar satu kali,yaitu pengulang=nilai_akhir - 1 kemudian melakukan Aksi yang serupa seperti sebelumnya hingga pengulang=nilai_awal.
 Contoh:Algoritma untuk menampilkan deretan bilangan dari 5 sampai 2.
Program deret_ascending_5_to_2
Deklarasi
      X   :   integer  
Algoritma
     For  x    5 downto 2 do 
           Write (x)   
     End for

Penjelasan :
ü  Penentuan x bertipe data integer pada deklarasi,lihat baris  x:integer.
ü  For x              5  downto 9 menyatakan perulangan  x menurun dari 5 sampai 2.
ü  Write (x) menyatakan proses cetak nilai x setiap kali perulangan.
ü  End for menyatakan akhir badan perulangan dengan for.
ü  Output yang dihasilkan adalah 5 4 3 2.
C.STRUKTUR PERULANGAN WHILE…DO  
           Berbeda dengan struktur perulangan For…Do,pernyataan perulangan While…Do akan selalu melihat kondisi perulangan apakah sudah terpenuhi atau belum.Jika kondisi terpenuhi (bernilai true ),akan mengerjakan Aksi.
 Bentuk  penulisannya adalah sebagai berikut:
While kondisi do
        Aksi
End while

  Contoh :Algoritma untuk menampilkan deretan bilangan genap dari 1 sampai 100.

Program deret_genap_1_to_100
Deklarasi
      X        :   integer
      Sisa   :  integer
Algoritma
      X     1           

      While    x   <=  100 do
             Sisa      x  mod    2
             If sisa   =  0    then
                      Write   (x)
            End if
            X              x+1
            End while  



 
Penjelasan algoritma di atas adalah sebagai berikut:
ü  Deklarasi untuk menentukan bahwa variable x dan sisa memiliki tipe data  integer.
ü  Inisiaisasi atau pernyataaan (assigment) yaitu memasukkan nilai 1pada variable x
ü  While x<=100 do  merupakan proses seleksi apakah x <=100,jika benar maka dilanjutkan proses             x mod 2     sebagai syarat mengetahui sisa hasil bagi.
ü  If sisa =0 then menunjukkan bahwa syarat bilangan dikatakan genap jika sisa hasil bagi  2 adalah 0. Jika kondisi tersebut  benar,maka akan dicetak nilai x,lihat baris write (x)
ü  Setelah selesai mengerjakan aksi percetakan ,maka dilanjutkan proses increment atau penambahan nilai x sebesar 1,lihat baris x           x+1
ü  Selanjutnya proses berulang seperti dari awal kembali hingga looping berhenti ketika x=101
D.STRUKTUR PERULANGAN REPEAT…UNTIL
       Berbeda dengan perulangan While…Do yang harus memiliki kondisi bernilai True agar dapat mengerjakan Aksi,perlangan Repeat…Until akan selalu mengerjakan sebuah Aksi tanpa mempedulikan kondisi bernilai True atau False.Perulangan dengan Repeat…Until akan berhenti mengerjakan aksi di dalam badan looping ketika kondisi bernilai True.
 Format penulisan struktur perulangan dengan Repeat…Until :
Repeat
       Aksi
Until kondisi


Contoh:Algoritma untuk menghitung jumlah total dari deret bilangan genap dari 1 sampai 100.

Program sum_deret_genap_1_to_100
Deklarasi
      X              :   integer
     Total      :   integer
     Sisa          :   integer
Algoritma
     X       1  
     If sisa = 0  then
          Total = total + x
     End if
    X              x  + 1
   Until   x  >   100
Write  (total)



Penjelasan :
ü  Deklarasi untuk menentukan bahwa variable x,total,dan sisa memiliki tipe data integer.
ü   Inisiaisasi atau pernyataaan (assigment) yaitu memasukkan nilai 1pada variable x.
ü  Repeat merupakan baris penanda awal terjadinya proses looping tanpa memedulikan nilai dari kondisi.
ü  Dilanjutkan proses sisa           x mod 2 sebagai syarat mengetahui sisa hasil bagi.
ü  If sisa = 0 then menunjukkan bahwa syarat bilangan dikatakan genap jika sisa hasil bagi 2 adalah 0.Jika kondidsi tersebut benar ,maka akan dijumlahkan nilai x dengan total,lihat baris pernyataan total=total+x
ü  Setelah selesai mengerjakan aksi penjumlahan, dilanjutkan proses increment atau penambahan nilai x sebesar 1,lihat baris x            x + 1
ü  Kemudian nilai x akan dibandingkan sebagai sebuah kondisi,di mana jika x masih bernilai kurang dari 100 maka prosesakan diulang dari awal.Namun,jika nilai x mencapai 101 maka proses akan berhenti.

No comments:

Post a Comment