Struktur Perulangan Week 4 & 5
Tujuan Memberikan pemahaman mengenai struktur perulangan dan implementasinya dalam algoritma dan Flowchart menggunakan while do dan for , sehingga mahasiswa dapat memanfaatkan struktur perulangan tersebut dalam menyelesaikan persoalan pemrograman.
Struktur Perulangan Struktur Perulangan struktur kontrol yang mengulang eksekusi sekumpulan langkah dalam program. Kumpulan langkah yang dikerjakan berulang-ulang disebut juga dengan loop body. T. Informatika, PT_5
Struktur Perulangan Untuk menentukan perlu tidaknya struktur loop, serta bentuk loop apa yang dipilih, perlu dijawab pertanyaan-pertanyaan berikut: Adakah langkah-langkah dalam program yang perlu dikerjakan berulang-ulang? Jika jawaban dari pertanyaan nomor 1 adalah ada, pertanyaan selanjutnya, apakah bisa diketahui sebelumnya berapa kali langkah-langkah tersebut harus dikerjakan? Jika jawaban dari pertanyaan nomor 2 adalah tidak, bagaimana kita bisa mengetahui berapa kali langkah-langkah tersebut harus dikerjakan? T. Informatika, PT_5
2 model struktur pengulangan Struktur Pengulangan Tanpa Kondisi (unconditional looping). Instruksi-instruksi di dalam badan pengulangan diulangi sejumlah kali yang dispesifikasikan (jumlah pengulangan sudah diketahui sebelum eksekusi). Contoh: Struktur FOR. 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 REPEAT.
Struktur Perulangan FOR Untuk counter i = 1 sampai 10 step 1 Statement 1 Bentuk : for (inisialisasi variabel perulangan; test variabel perulangan; ubah variabel perulangan) Statement; Statement 1 i selanjutnya
Cetak “STMIK Bumigora” Contoh Outputnya : Tulisan “STMIK Bumigora” tercetak 5 kali STMIK Bumigora Untuk i = 1 to 5 lakukan Cetak “STMIK Bumigora” i selanjutnya 7
Contoh Menampilkan Deret : 2 4 6 8 10 12 14 16 18 20 Cetak X X = i*2 Untuk i = 1 to 10 lakukan X = i*2 Cetak X i selanjutnya 8
1 8 27 64 125 Mulai Deklarasi variabel M, A dan N M = 1 ; A=1 1 8 27 64 125 Mulai Deklarasi variabel M, A dan N M = 1 ; A=1 For N = 1 to 5 step 1 M = A3 Cetak M A = A+1 Selesai 9
Struktur WHILE Jika kondisi perulangan bernilai : Benar : statement dalam “loop body” dijalankan Salah : statement dalam “loop body” tidak dijalankan Variable Pengontrol Perulangan (pada contoh sebelumnya adalah JumlahPegawai) harus : Diinisialisasi contoh: JumlahPegawai=0; Ditest contoh: JumlahPegawai < 7 Diubah contoh: JumlahPegawai += 1;
Struktur Perulangan dengan WHILE JumlahPegawai < 7 Masukkan data Hitung gaji Tampilkan gaji Tambah JumlahPegawai dengan 1 Benar Salah Bentuk : Jika kondisi benar maka lakukan statement dalam blok perulangan
Algoritmanya Deklarasi JumlahPegawai, Jam : integer Honor, gaji : real Deskripsi JumlahPegawai=0; while (JumlahPegawai < 7) Do a. Input jam b. Input honor c. Hitung gaji = jam * honor; d. Cetak (‘Gaji adalah Rp. ‘, gaji); e. JumlahPegawai = JumlahPegawai +1; Selesai; T. Informatika, PT_5
Deret 1 2 4 8 16 32 64 128 Nilai X berikutnya = Nilai X sebelumnya * 2 1 2 4 8 16 32 64 128 Nilai X berikutnya = Nilai X sebelumnya * 2 X = X * 2 T. Informatika, PT_5
Perulangan dalam Pengolahan Data Buatlah flowchart / algoritma untuk menginputkan data mahasiswa sebanyak N data. Dimana N merupakan jumlah mahasiswa yang diinputkan oleh operator. Nilai Akhir = (Nilai Harian+Nilai Mid+Nilai Semester)/3 Form Input Data Mahasiswa ------------------------------------------------ Jumlah Mahasiswa : ____ Mahasiswa ke : 1 Nim : ___________________ Nama : ___________________ Nilai Harian : _______ Nilai Mid : _______ Nilai Semester : _______ Nilai Akhir : _______ Hasil : Lulus / Tidak Grade :
program loop_Data; uses wincrt; var i,jmlmhs : integer; nim,nama,hasil : string; nh,nm,ns,na : real; begin write('Jumlah Mhasiswa : '); readln(jmlmhs); for i:=1 to jmlmhs do writeln('Mahasiswa ke ',i); write('Nama : ');readln(nama); write('Nim : ');readln(nim); write('Nilai Harian: ');readln(nh); write('Nilai Mid : ');readln(nm); write('Nilai Final : ');readln(ns); na := (nh+nm+ns)/3; IF (na>=60) then hasil := 'LULUS' else hasil := 'TIDAK LULUS'; writeln('Nilai Akhir : ',na:5:1); writeln('Hasil : ',hasil); IF (na>=80) then writeln('Grade : A') else if(na>=60) then writeln('Grade : B') else if(na>=50) then writeln('Grade : C') else writeln('Grade : D'); end; end.
Perulangan dalam Pengolahan Data Buatlah flowchart / algoritma untuk menginputkan data mahasiswa sebanyak N data. Dimana N merupakan jumlah mahasiswa yang diinputkan oleh operator. Nilai Akhir = (Nilai Harian+Nilai Mid+Nilai Semester)/3 Form Input Data Mahasiswa ------------------------------------------------ Jumlah Mahasiswa : ____ Mahasiswa ke : 1 Nim : ___________________ Nama : ___________________ Nilai Harian : _______ Nilai Mid : _______ Nilai Semester : _______ Nilai Akhir : _______ Grade : _______
Perbedaan Struktur For & While Struktur While dapat digunakan untuk perulangan diketahui jumlah pengulangannya maupun yang belum diketahu jumlah pengulangannya Struktur For digunakan untuk perulangan yang telah jelas jumlah pengulangannya. Pemberian nilai awal, kondisi perulangan, dan counter dituliskan pada tempat terpisah Pemberian nilai awal, kondisi perulangan, dan counter dituliskan pada satu tempat yaitu pada statetemen for itu sendiri. T. Informatika, PT_5
Latihan Tuliskan program yang menghasilkan output sebagai berikut : 0 1 1 2 2 4 3 8 4 16 5 32 6 64 T. Informatika, PT_5
Latihan Buatlah program yang menampilkan tabel perkalian untuk bilangan 0 sampai dengan 9! Tuliskan perulangan yang menampilkan output berikut : 0 1 0 1 2 0 1 2 3 T. Informatika, PT_5
Form Input Data MABA No Registrasi : Nama : Program Studi : Selesai Tambah Selesai Jumlah Pendaftar S1TI : ….. Orang Jumlah Pendaftar D3TI : ….. Orang Jumlah Pendaftar D3MI : … Orang T. Informatika, PT_5
Deklarasi Deskripsi Noreg, nama, program, Button : string Js1ti, Jd3ti, Jd3mi : integer Deskripsi Inisialisasi Button = “Tambah” Selama Button = “Tambah” maka lakukan perulangan berikut: Input noreg, nama, program Jika program = “s1ti” maka Js1ti = Js1ti + 1 Jika program = “d3ti” maka jd3ti = Jd3ti + 1 Jika program = “d3mi” maka jd3mi = jd3mi + 1 Input Button Cetak Js1ti, Jd3ti, Jd3mi Selesai