Beli Modem Wavecom Untuk SMS Gateway. FREE E-book Gammu + FREE Ongkos kirim !!
Ingin Punya Script SMS Gateway dengan PHP + MySQL?

Dapatkan segera phpSMS V3.0, software SMS Gateway multi fungsi berbasis web buatan saya sendiri untuk keperluan Anda.
[Info Lengkap...]

Kapan Digunakan Looping FOR dan WHILE?


September 15th, 2008 | by rosihanari | Cetak Artikel Ini Cetak Artikel Ini

“Pak… kapan kita harus menggunakan looping menggunakan FOR dan WHILE? ” Itulah pertanyaan yang sering dilontarkan mahasiswa yang baru mengambil matakuliah pemrograman dasar. Sebuah pertanyaan yang logis apabila dilontarkan mereka yang baru mengenal pemrograman dasar.

Dalam artikel ini akan saya coba kupas secara tuntas mengenai kapan kita menggunakan looping FOR dan WHILE, serta apa sih perbedaannya.

Looping adalah sesuatu proses yang dikerjakan secara berulang-ulang. Dalam pemrograman, looping ini harus berhenti pada suatu keadaan tertentu. Apa akibatnya jika tidak berhenti? Ya… bisa-bisa komputernya hang karena mengerjakan sesuatu yang tidak pernah berhenti, bila memorinya penuh dengan task yang diproses.

Secara umum, ada 2 hal yang dapat digunakan untuk menghentikan looping (stopping condition), yaitu:

  • Berdasarkan jumlah looping, artinya looping akan berhenti setelah mencapai jumlah perulangan tertentu
  • Berdasarkan syarat tertentu, artinya looping akan berhenti bila telah terpenuhinya suatu syarat/kondisi.

Agak bingung ya… OK, saya buat simpel saja dalam memahaminya dengan memberikan contoh dalam keseharian kita. Perhatikan dua kalimat ini:

  1. Saya akan terus makan bakso sampai habis 10 mangkuk
  2. Saya akan terus makan bakso sampai saya merasa kenyang

Nah… apabila kita lihat kalimat pertama, jelas bahwa proses ‘makan bakso’ ini belum akan selesai bila belum habis 10 mangkuk, artinya proses makan bakso ini akan terus diulang sampai dengan 10 kali. Setelah itu selesai.

Sekarang kita lihat kalimat kedua. Untuk kalimat ini, kita tidak mengetahui berapa kali makan baksonya, atau habis berapa mangkuk. Yang jelas disini hanya diketahui kapan perulangan makan baksonya selesai, yaitu ketika sudah kenyang.

Saya harap dari 2 contoh di atas bisa dilihat perbedaannya.

Dalam bahasa pemrograman, terdapat statement looping untuk mengakomodasi dua keadaan di atas, yaitu bentuk FOR dan WHILE.

Bila dijumpai looping yang diketahui jumlah perulangannya, maka kita bisa menggunakan FOR atau WHILE.

Sedangkan bila dijumpai looping yang tidak diketahui jumlah perulangannya, atau hanya diketahui syarat berhentinya perulangan, maka kita hanya bisa menggunakan WHILE saja.

Sebagai contoh, saya berikan contoh perulangan yang diketahui jumlah perulangannya sehingga dapat dituliskan dengan FOR atau WHILE (dalam Pascal).

for mangkuk := 1 to 10 do
begin
     writeln('Saya makan bakso mangkuk ke-', mangkuk);
end;

bila dinyatakan dalam WHILE menjadi

mangkuk := 1;
while (mangkuk <= 10) do
begin
   writeln('Saya makan bakso mangkuk ke-', mangkuk);
   mangkuk := mangkuk + 1;
end;

Selanjutnya bagaimana contoh perulangan yang tidak diketahui jumlah perulangannya, yang hanya bisa menggunakan WHILE? OK akan saya berikan contohnya. Dalam contoh ini, program akan terus meminta input user selama input yang dimasukkan bukan 0.

input = 1;   // kita buat nilai awal sebarang, asal bukan 0.
while (input <> 0) do
begin
    write('Masukkan sebarang input : ');
    readln(input);
end;

Mudah-mudahan penjelasan di atas bisa menjawab kebingungan mahasiswa terkait penggunaan FOR dan WHILE.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)

Anda ingin mendownload beberapa tool programming 100% gratis?
Silakan download di FREE PROGRAMMING TOOLS.
atau ingin berdonasi untuk pengembangan blog ini cukup dengan $1 via Paypal?



Beberapa artikel terkait


Share this article on:

Kata kunci:


Ada 18 komentar dalam artikel ini.

  1. agus santoso says:

    mas taw mbak yg punya site ney tlung akuw dunk tolong kirimin script pascal yang ada perintah WHILE,REPEAT n FOR.
    tak tungu kirim ke emailku yaw
    thanks sebelumnya?????

    ijonk tunggu

  2. rosihanari says:

    coba cek di tutorial pascal yang saya buat ini mas agus. Mudah-mudahan ketemu yang dicari.

  3. arief says:

    Pak, bagaimana kalau di dalam looping melakukan suatu pencarian apakah ada looping lagi di dalamnya?

  4. arief says:

    Begini, saya membuat program menggunakan VB untuk memanage keanggotaan berantai. Untuk melihatnya saya pakai treeview. tapi treeview tersebut tidak bisa menghitung total dari child suatu node, hanya bisa menghitung node dibawahnya. duh? email aja kali ya pak? kemana saya harus email?

    salam,

    arief

  5. ivan says:

    Pak, Kalau menampilkan looping berikut:
    1234
    5678
    11121314
    …dst
    s/d 100

    gimana caranya pak?

  6. rosihanari says:

    to ivan: kok habis 8 langsung 11?

  7. ivan says:

    oya, maaf!!
    maksud saya,
    1234
    5678
    9101112
    …dst
    s/d 100

  8. rosihanari says:

    @ivan: berarti kan itu setiap sampai bilangan kelipatan 4, bilangan berikutnya akan turun ke bawah kan? berarti pakai gini saja

    for($i=1; $i<=100; $i++)
    {
    if ($i % 4 == 0) echo “<br>”;
    echo $i;
    }

    Maaf.. saya nulisnya pakai bahasa PHP. Tanda % itu maksudnya adalah modulo dan <br> itu maksudnya tanda untuk ganti baris.

  9. ivan says:

    oya,terima kasih banyak pak!!saya cobain dulu y,kebetulan sekali saya emang butuh coding php nya,

  10. ivan says:

    oya,udah saya coba pak!!
    tp saya ganti hasil modul nya jadi 1!
    terima kasih ya pak!!

  11. rosihanari says:

    @ivan: sama-sama mas Ivan

  12. yuda says:

    pak gimana script program c++ dengan menggunakan for,while dan do while
    yg nanti hasilnya sbb:
    10 20 30 40 50 60 70 80 90 100
    9 18 27 36 45 54 63 72 81
    8 16 24 32 40 48 56 64
    7 14 21 28 35 42 49
    6 12 18 24 30 36
    5 10 15 20 25
    4 8 12 16
    3 6 9
    2 4
    1

    mohon script programnya pak….
    seklaigus penjelasannya..

  13. rosihanari says:

    @yuda: Saya buat pake C saja ya. Berarti itu kan konsepnya untuk setiap barisnya kita mengenerate bilangan-bilangan kelipatan dari bilangan pertamanya. JUmlah bilangan-bilangan pada suatu baris tergantung bilangan pertama dari setiap barisnya. Jadi codenya adalah:

    for(baris=10; baris>=1; baris--)
    {
      for (kolom=1; kolom<=baris; kolom++)
      {
         printf("%d \n", baris * kolom);
      }
    }
  14. elwinz says:

    pak, bagai mana coding-nya untuk if-else tapi digantikan dengan looping dan menggunakan looping apa (FOR/WHILE)?
    dimisalkan ada sebuah persegi panjang namun nilai panjang dan lebarnya birnilai 0 ~ 20 dan jika kita memasukan nilai diluar tersebuta keluar pesan “sytem hanya membaca nilai 0 sampai 20″.

    terimaksih.

  15. rosihanari says:

    @elwinz: oh IF dan looping itu beda mas. Jadi tidak bisa digantikan. Untuk kasus Anda, itu hendaknya menggunakan IF karena proses perhitungan luas akan dilakukan jika inputnya bernilai 0 – 20.

    if ((panjang >= 0) and (panjang <= 20) and (lebar >=0) and lebar (lebar <= 20))
    {
    lakukan perhitungan
    }
    else input salah

  16. riva ananta baskara says:

    assalamualaikum pak bagaimana ya cara membuat thumbnail yang beraturan jadi tidak selalu kebawah setelah diupload?

  17. samudera says:

    pak saya minta tolong diberi contoh kodingan untuk pengulangan for yg hasilnya seperti ini
    11111
    22222
    33333
    44444
    55555
    terima kasih ya pak

  18. rosihanari says:

    @samudera: coba lengkapi script ini ya mas

    for ($i = 1; $i <= ... ; $i++)
    {
         for($j = 1; $j <= ...; .....)
         {
              echo $j;
         }
         echo "<br>";
    }


Tolong beri komentar donk!

Komentar Anda akan berguna untuk kemajuan blog ini.


Mohon maaf, komentar yang menggunakan email palsu atau komentar bernada negatif atau cemooh secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil dalam daftar komentar.

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word