Rabu, 06 April 2011

Modul 3 Looping


BAB I

PENDAHULUAN

  1. Latar Belakang
Blok pengulangan merupakan suatu blok program yang memiliki mekanisme untuk melakukan pengeksekusian statemen secara berulang. Hal ini tentu akan membuat program yang kita tulis menjadi lebih efisien. Konstruksi pengulangan FOR pada umunya digunakan untuk melakukan pengulangan yang banyaknya sudah diketahui secara pasti (tanpa adanya kondisi yang harus diperiksa). Dalam pengulangan jenis ini kita selalu membutuhkan sebuah variabel sebagi indeks pengulangan jenis ini kita selalu membutuhkan sebuah variabel sebagai indeks pengulangan yang dapat bertipe bilangan bulat, karakter maupun enumerasi. Di pengulangan WHILE ini terdapat suatu kondisi ynag harus diperiksa terlebih dahulu. Dalam pengulangan jenis ini, biasanya digunakan sebuah variabel sebagai indeks pengulangan sekaligus sebagai kondisi akan diperiksa.

  1. Tujuan
Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman Modul 3 ini adalah :
  1. Bisa memahami perbedaan antara FOR dan WHILE.
  2. Bisa membuat program pengulangan yang jauh lebih efisien.
BAB II

DASAR TEORI

  1. Teori Singkat
Terdapat dua model struktur pengulangan, yaitu:
    1. Struktur Pengulangan Tanpa Kondisi (unconditional looping). Di dalam struktur ini, instruksi-instruksi di dalam badan pengulangan diulangi sejumlah kali yang dispesifikasikan (jumlah pengulangan sudah diketahui sebelum eksekusi). Contoh: Struktur FOR.
    2. Struktur Pengulangan Dengan Kondisi (conditional looping). Di dalam struktur ini, jumlah pengulangan tidak diketahui sebelum eksekusi program. Yang dapat ditentukan hanya kondisi berhenti pengulangan, artinya instruksi-instruksi di dalam badan pengulangan diulangi sampai kondisi berhenti terpenuhi. Contoh: Struktur WHILE dan Struktur DO-WHILE.
Macam-macam struktur pengulangan:
        1. Struktur FOR
Struktur pengulangan FOR digunakan untuk mengulang statemen atau satu blok statemen berulang kali. Jumlah pengulangan diketahui atau dapat ditentukan sebelum eksekusi. Untuk mencacah sudah jumlah pengulangan diperlukan sebuah variabel pencacah (counter). Variabel ini nilainya selalu bertambah satu setiap kali pengulangan dilakukan. Jika cacah pengulangan sudah mencapai jumlah yang dispesifikasikan, maka proses pengulangan berhenti. Pada struktur FOR, pencacah haruslah dari tipe data yang memiliki predecessor dan successor, yaitu integer atau karakter. Tipe riil tidak dapat digunakan sebagai pencacah. Aksi adalah satu atau lebih instruksi yang diulang.
Bentuk struktur FOR ada dua macam:
  • Menaik (ascending)
Pada struktur FOR menaik, nilai_awal harus lebih kecil atau sama dengan nilai_akhir. Jika nilai_awal lebih besar dari nilai_akhir, maka badan pengulangan tidak dimasuki. Pada awalnya, pencacah diinisialisasikan dengan nilai_awal. Nilai pencacah secara otomatis bertambah satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_akhir. Jumlah pengulangan yang terjadi = nilai_akhir nilai_awal + 1. Struktur Bahasa C untuk pengulangan FOR menaik ditunjukkan pada Gambar 3.1.
for(pencacah=nilai_awal; pencacah<=nilai_akhir; pencacah++){
aksi
}
Gambar 3.1. Struktur Bahasa C Untuk Pengulangan FOR Menaik
  • Menurun (descending)
Pada struktur FOR menurun, nilai_akhir harus lebih besar atau sama dengan nilai_awal. Jika nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki. Pada awalnya, pencacah diinisialisasikan dengan nilai_akhir. Nilai pencacah secara otomatis berkurang satu setiap kali aksi diulangi, sampai akhirnya nilai pencacah sama dengan nilai_awal. Jumlah pengulangan yang terjadi = nilai_akhir nilai_awal + 1. Struktur Bahasa C untuk pengulangan FOR menurun ditunjukkan pada Gambar 3.2.
for(pencacah=nilai_akhir; pencacah>=nilai_awal; pencacah--){
aksi
}
Gambar 3.2. Struktur Bahasa C Untuk Pengulangan FOR Menurun
        1. Struktur WHILE
Pada struktur WHILE, aksi (atau runtunan aksi) akan dilaksanakan berulang kali selama kondisi bernilai true. Jika kondisi bernilai false, badan pengulangan tidak akan dilaksanakan, yang berarti pengulangan selesai. Yang harus diperhatikan adalah pengulangan harus berhenti. Pengulangan yang tidak pernah berhenti menandakan bahwa logika pemrograman tersebut salah. Pengulangan berhenti apabila kondisi bernilai false. Agar kondisi suatu saat bernilai false, maka di dalam badan pengulangan harus ada instruksi yang mengubah nilai variabel kondisi.
while (kondisi){
aksi
}
Gambar 3.3. Struktur Bahasa C Untuk Pengulangan WHILE
        1. Struktur DO-WHILE
Struktur ini mendasarkan pengulangan pada kondisi boolean. Aksi di dalam badan pengulangan diulang sampai kondisi boolean bernilai true. Dengan kata lain, jika kondisi boolean masih false, pengulangan masih terus dilakukan. Karena proses pengulangan suatu saat harus berhenti, maka di dalam badan pengulangan harus ada aksi yang mengubah nilai variabel kondisi.
do {
aksi
}
While(kondisi)
Gambar 3.4. Struktur Bahasa C Untuk Pengulangan DO-WHILE
BAB IV
IMPLEMENTASI

Soal
  1. Buat program untuk tugas prepraktikum 2!
  2. Buat program untuk tugas prepraktikum 3!
  3. Tugas tambahan (ditentukan oleh asisten praktikum)!
Jawaban
      1. Tampilan Source Code
      1. Tampilan Source Code

      1. -
Tugas Akhir
Soal
Buatlah algoritma dan terjemahkan dalam Bahasa C untuk membuat bentuk belah ketupat dari deretan angka berdasarkan batas nilai yang dimasukkan melalui piranti masukan! Contoh:
Masukkan batas nilai: 5
Hasil belah ketupat deretan angka:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 3 2 1
1 2 3 2 1
1 2 1
1
Jawaban
Algoritma Belah_Ketupat
Deklarasi :
Int : isi, batas, bil, temp, temp2, midkir, midkan, seg1, seg2, seg3, seg4, spas1, spas2;
Begin {
Write ("Masukan Bilangan : ");
Read ("%d",&bil);
isi=bil-1;
temp=isi;
temp2=isi;
for (batas=1;batas<=isi;batas++){
/*segitga bagian kiri atas*/
for (spas1=isi;spas1>=batas;spas1--)
write("%s"," ");
for (seg1=1;seg1<=batas;seg1++)
write("%d",seg1);
/*segitga bagian kanan atas*/
for (seg2=batas-1;seg2>=1;seg2--)
write("%d",seg2);
write("\n");
}
/*bagian tengah*/
for(midkir=1;midkir<=bil;midkir++)
write("%d",midkir);
for(midkan=bil-1;midkan>=1;midkan--)
write("%d",midkan);
write("\n");
for (batas=1;batas<=isi;batas++){
/*segitiga bagian kiri bawah*/
for (spas2=1;spas2<=batas;spas2++)
write("%s"," ");
for (seg3=1;seg3<=temp;seg3++)
write("%d",seg3);temp=temp-1;
/*segitiga bagian kanan bawah*/
for (seg4=temp2-1;seg4>=1;seg4--)
write("%d",seg4);temp2=temp2-1;
write("\n");}
getch(); }
Source Code


BAB V

PENUTUP


  1. Analisa
Kita dapat mengkombinasikan struktur FOR dan WHILE untuk melakukan pengulangan bersarang.
DO-WHILE ini banyak digunakan untuk kasus-kasus pengulangan yang tidak memperdulikan benar atau salahnya kondisi pada saat memulai proses pengulangan.
  1. Kesimpulan
FOR pada umumnya digunakan untuk melakukan pengulangan yang banyaknya sudah diketahui secaara pasti (tanpa adanya kondisi yang harus diperiksa).
WHILE terdapat suatu kondisi yang harus diperiksa terlebih dahulu.jenis pengulangan ini biasanya menggunakan sebuah variabel sebagai indeks pengulangan sekaligus sebagai kondisi yang akan diperiksa.


DO-WHILE, kondisi diletakkan di akhir blok pengulangan. Hal ini menyebabkan bahwa statemen yang terdapat di dalam blok pengulangan ini pasti akan dieksekusi minimal satu kali, walaupun kondisinya bernilai salah sekalipun.

















Tidak ada komentar:

Posting Komentar