Join With Me On Twitter

Join With Me On Twitter : @supersahrul

Jumat, 16 Maret 2012

Pengulangan dalam Turbo Pascal.

I. Judul Praktikum : Pengulangan

II. Tujuan Praktikum :
1. Agar dapat mengetahui dan memahami pernyataan-pernyataan pengulangan yang ada dalam program Turbo Pascal.
2. Agar dapat memahami fungsi dari Pengulangan dan penggunaannya di dalam proses pemrograman.
3. agar mahasiswa dapat memahami kapan digunakannya pengulangan pada turbo pascal.



III. Dasar Teori
Komputer mempunyai beberapa kelebihan dibandingkan dengan manusia. Salah satunya, komputer bisa melakukan suatu perintah secara berulang-ulang. Pengulangan tersebut kn kit pelajari pada program pascal. Secara alamiah, suatu proses bisa berupa proses berurutan dari awal hingga selesai, pilihan berdasarkan kondisi tertentu atau pengulangan berdasarkan batasan tertentu pula. Pascal menyediakan beberapa konstruksi perintah untuk melakukan proses-proses itu, yaitu :
A. For ...to.... do

Pernyatan For digunakan jika jumlah pengulangan sudah diketahui sebelum proses dimulai. Pengulangan ini bergantung pada suatu variabel integer. Pada setiap pengulangan, variabel tersebut akan bertambah atau berkurang satu. Batas bawah dan batas atas proses For ini ditentukan oleh kedua batas tersebut.Ada dua bentuk pengulangan For, yaitu pengulangan positif dan pengulangan negatif.
1. Pengulangan Positif
Bentuk umumnya :
For indeks := nilai awal indeks to nilai akhir indeks do statement.
Contoh sederhana penggunaan For yaitu untuk menampilkan bilangan asli sampai ke N. Implementasinya : For bilangan := 1 to N do
Writeln (Bilangan);
Dengan Bilangan mrupakan variable bertipe bilangan bulat. Pada perintah ini, mula-mula Bilangan bernilai 1. karena nilai bilangan lebih kecil dari N (nilai akhir) maka pernyataan writeln dijalankan, lalu isi Bilangan dinaikkan sebesar 1, menjadi 2. Jika bilangan lebih kecil atau sama engan N. Maka pernyataan Writeln ini dikerjakan lagi, dan seterusnya. Dengan demikian pada layar akan tampil
1
2
3
:
:
N
Program menampilkan bilangn asli sampai ke N (dengan N dimasukkan melalui papan ketik sewaktu program dijalankan) dapat dilihat pada program di bwah ini.
Program Bilangan_asli;
Uses wincrt;
Var N, Bilangan : Byte;
Begin
CLRSCR;
Write(‘masukkan sebuah bilangan bulat positif < 256 : ’); readln (N);
For bilangan := 1 to N do
Writeln (bilangan :3);
Readln
End.

Contoh eksekusi :
masukkan sebuah bilangan bulat positif < 256 : 3
1
2
3
masukkan sebuah bilangan bulat positif < 256 : 0

pada program ini jika nilai 0 dimasukkan (sebagai N) maka pernyataan writeln tidak dikerjakan sama sekali.
Contoh lain pengguanan For misalnya untuk menampilkan tulisan ‘Jonizar’ sebanyak 10 kali. Penulisan pernyataannya,
For I := 1 to 10 do
Writeln (‘Jonizar’);
Dengan I berupa variable bertipe bilangan bulat.

2. Pengulangan Negatif
Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil. Statement yang digunakan adalah For-DownTo-Do
Bentuk umumnya :
For indeks := nilai akhir indeks downto nilai awal indeks do statement.

Contoh berikut menunjukkan tipe char pada variable pencacah. Dalam hl ini, pernyataan for digunakan untuk menampilkan huruf Z sampai dengan huruf A dalam satu baris.
Program AZ;
Uses wincrt;
Var karakte : char;
Begin

For karakter := ‘Z’ Downto ‘A’ do
Write (karakter);
Rewadln
End.
Hasil eksekusi :
ZYXWVUTSRQPONMLKJIHGFEDCBA

Dalam pembuatan program terkadang diperlukan adanya pernyataan for di dalam pernyataan for atau yang sering disebut pernyataan for berkalang. Misalnya, pada persoalan untuk menampilkan tabel perkalian sebagai berikut :
1 2 3 4 5 6
1 1
2 2 4
3 3 6 9
4 4 8 12 16
5 5 10 15 20 25
6 6 12 18 24 30 36

programnya dapat dilihat pada program berikut :
Program TabelKali;
Uses wincrt;
Const spasi = # 32;
Var N, Hasilkali, Kolom, Brs : word;
Begin
CLRSCR;
Write(‘masukkan nilai N’); readln (N);
Write (spasi : 4);
For kolom := 1 to N do
Write(kolom : 4);
Writeln;
For Brs := 1 to N do
Begin
Write Brs := 1 to Brs do
Begin
HasilKali := Brs * kolom;
Write (hasilKali : 4)
End;
writeln
End;
Readln
End.

Pada program, pernyataan yang mengikuti For terluar berupa pernyataan majemuk. Dalam pernyataan mejemuk tersebut ada pernyataan for lagi. For terluar digunakan untuk mengatur tampilan sebanyak N baris. Sedangkan For bagian dalam untuk mengatur tampilan pada posisi kolom (dalam satu baris).
For kolom := 1 to Brs do
Begin
hasilKali := Brs * kolom;
write (hasilKali : 4);
end;
menyebabkan sebanyak Baris buah nilai hasil perkalian dicetak pada satu baris (karena pernyataan yang digunakan adalah Write, dan bukanlah Writeln).
Perulangan For tersarang
Perulangan For tersarang adalah perulangan For yang berada pada perulangan yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.
Contoh :
Var
a,b : Integer;
Begin
For a := 1 To 3 Do
Begin
For b := 1 To 2 Do Write (a :4,b:2);
Writeln;
End;
End.
Hasil :
1 1 1 2
2 1 2 2
3 1 3 2

B. Pengulangan pada While-Do
Pernyataan lain yang sering dipakai untuk pengulangan adalah pernyataan While. Terutama digunakan jika jumlah pengulangan belum diketahui dengan pasti. Pernyataan while sering dikatakan sebagai pengulang proses selama kondisi benar.
Statement while-do digunakan untuk melakukan proses perulangan suatu statement atatu blok statement secara terus menerus selama kondisi ungkapan logika pada while masih benar.
Bentuk umumnya :
While do
Begin
Statement 1
Statement 2
Statement n
End;

Artinya : selama kondisi tersebut terpenuhi maka proses akan berulang pada blok statement tersebut.
Pada saat while dikerjakan, mula-mula ungkapan nalar yang merupakan kondisi pengulangan diperiksa terlebih dahulu. Jika ungkapan nalar bernilai benar maka statement akan dikerjakan. Selanjutnya akan dilakukan pengujian lagi terhadap ungkapan nalrnya. Selama ungkapan nalar bernilai benar, maka Statement akan dikerjakan terus. Berdasarkan sifat ini dapat disimpulkan :
a. Pada statement atau ungkapan nalar harus ada suatu bagian yang bisa mengubah nilai ungkapan nalar untuk kondisi tertentu. Kalau tidak, bisa menyebabkan proses berulang tiada hentinya.
b. Pada saat While dikerjakan pertama kali, kalau ungkapan nalar bernilai salah, maka statement tidak dikerjakan sama sekali.
Contoh persoalan yang menggunakan While yaitu untuk menentukan sisa pembagian bulat tanpa menggunakan operator bawaan mod dan div. Algoritma yang dipakai untuk memperoleh solusi sisa pembagian bulat adalah sebagai berikut (algoritma ini hanya berlaku untuk bilangan bulat positif saja).
1) Masukkan Penyebut
2) Masukkan Pembilang
3) Berikan nilai Penyebut ke Sisa.
4) Selama nilai Sisa lebih besar atau sama dengan Pembilang, maka kurangilah nilai Sisa sebesar Pembilang.
5) Tampilkan nilai Sisa ke layar.

Program Sisa_pembagian;
Uses wincrt;
Var Penyebut, Pembilang, Sisa : Word;
Begin
CLRSCR;
Write (‘masukkan nilai Penyebut dan Pembilang (positif) : ’);
Readln(Penyebut, Pembilang);
Sisa := Penyebut;
While (Sisa >= Pembilang) do
Dec (Sisa, Pembilang);
Writeln (‘Sisa pembagian ’, Penyebut, ‘ dengan ‘, Pembilang,’ = ‘, Sisa);
Readln
End.

Contoh eksekusi :
Masukkan nilai Penyebut dan Pembilang (positif) : 7 2
Sisa pembagian 7 dengan 2 = 1

Pada program ini, pernyataan
While (Sisa= Pembilang) DO
DEC (Sisa, Pembilang);

Adalah implementasi langkah nomor 4 dalam algoritma untuk memperoleh sisa pembagian bulat (yang artinya, selama nilai Sisa lebih besar dari atau sama dengan pembilang, maka kurangilah nilai Sisa sebesar Pembilang).
Pernyataan yang ada dalam WHILE (DEC Sisa, Pembilang) tidak akan dikerjakan sama sekali apabila pada saat masuk ke WHILE, kondisi dalam WHILE bernilai salah (yaitu jika Penyebut < Pembilang).
Pernyataan WHILE juga bisa diterapkan untuk menggantikan pernyataan REPEAT. Sebagai contoh, program tentang pembuatantabel konversi suhu (Program 5-9) akan dilaksanakan dengan menggunakan pernyataan WHILE pada program 5-10. Pada Program 5-10 ungkapan nalar sesudah kata-tercadang WHILE harus dibuat terlebih dulu bernilai benar, supaya pernyataan yang mengikutinya diproses.

C. Pengulangan Repeat....Until
Tidak jauh berbeda dengan pengulangan pada while do, statement repeat until juga dapat digunakan untuk melakukan proses perulangan suatu statement atau blok statement secara terus menerus selama kondisi pada until terpenuhi. Perbedaannya jika while-do penyeleksian di awal kalang maka repeat-until di akhir kalang, dan pada repeat-until tidak perlu blok statement karena akhir statement sudah sitentukan yaitu pada Until.

Bentuk umumnya :
Repeat
Statement 1
Statement 2
Statement n
Until
Artinya : selama kondisi tersebut terpenuhi maka proses akan berulang pada statement tersebut. Prose pengulangan akan berhenti jika kondisinya salah.
Pernyataan REPEAT digunakan untuk pengulangan proses yang jumlahnya belum pasti, tetapi minimal proses akan dikerjakan sekali. Pengujian kondisi pengulangan pada REPEAT dilakukan setelah proses dikerjakan. Selama ungkapan nalar yang dijadikan kondisi bernilai salah, maka proses akan dikerjakan terus-menerus. Oleh karena itu, pernyataan REPEAT sering dikatakan sebagai pengulangan proses selama kondisi salah.
Persoalan yang menggunakan pernyataan REPEAT misalnya yaitu untuk menghitung jumlah deret :
1/1 + 1/3 + 1/5 + ... + 1/N
Jika dituangkan dalam program :

Program Deret;
Uses Wincrt;
Const
BEL = ^G;
Var
N, Pembagi : Byte;
Jumlah : Real;
Ganjil : Boolean;
Begin
CLRSCR;
Writeln (‘Menghitung : 1/1 + 1/3 + 1/5 + ... + 1/N’);
Writeln;
{ Peroleh bilangan ganjil }
Repeat
Write (‘Masukkan nilai N: ‘);
Readln (N);
Ganjil := ODD(N);
If Not Ganjil Then
Writeln (BEL, ‘N harus berupa bilangan ganjil !’)
Until ganjil;
{Hitung Jumlah deret}
Jumlah := 0;
Pembagi : = 1;
Repeat
Jumlah := Jumlah + 1 / Pembagi;
INC (Pembagi, 2)
Until Pembagi > N;

{Cetak jumlah}
Writeln (‘Jumlah = ‘, Jumlah : 12 : 6);
Readln
End.

Contoh eksekusi:
Menghitung : 1/1 + 1/3 + 1/5 + ... + 1/N

Masukkan nilai N : 5
Jumlah = 1.533333

Pada Program :
Repeat
Write (‘Masukkan nilai N:’);
Readln (N);
Ganjil : = ODD(N);
If Not Ganjil Then
Writeln (BEL, ‘N harus berupa bilangan ganjil !’);
Until Ganjil;

D. Label dan Goto
Pernyataan goto mentransfer program ke lokasi lain yang dinyatakan dengan label, dimana

13 komentar:

  1. tutorialnya lengkap banget gan :) terima kasih sharingnya

    BalasHapus
  2. terima kasih atas artikelnya.. mantaps gan..

    BalasHapus
  3. gan seumpama tampilannya 1+2+3+4+5=15 gmn? penting gan tugas kul nih... hoho makasih

    BalasHapus
  4. Gan umpamanya bikin gini
    1
    11
    111
    1111
    11111
    nah gimana tuh?

    BalasHapus
  5. gan mau nanya
    kl pengen nampilin yang seperti ini :
    s= 1 - 2/3 + 3/5 - 4/7 = 0.36

    gmn ya gan?
    mohon pencerahannya

    BalasHapus
  6. 1
    23
    456
    78910

    sama 1 3 5 7 9
    gimana gan ?

    BalasHapus
  7. klw bkin segi tiga bintang gmna ???? supaya jd giniii
    *
    **
    ***
    ****
    *****

    BalasHapus
  8. Kalau mau nyari banyaknya bilangan ganjil dan genap dari N bilangan gimana caranya Gan....PR nih...tolongin dong....milsalkan suatu deret bilangan : 10, 21, 32, 37, 40,45, 55....hasilnya mau : bilangan genap 3, bilangan ganjil 4...gimana gan...

    BalasHapus
  9. sore gan..
    gimna kalau yg hasil nya
    123 567 910 ?

    BalasHapus
  10. gan misalkan bikin kek gini
    *
    **
    ***
    ****
    *****
    *****
    ****
    ***
    **
    *
    gimana gan. help me

    BalasHapus
  11. gimana kalo hasilnya
    1 2 3 4 5
    6 7 8 9 10
    11 12 13 14 15

    BalasHapus
  12. gimana proses pengulangan menggunakan NMP dari besar ke kecil ??
    NMP:201343501603

    balas :)

    BalasHapus