PERULANGAN
PERULANGAN FOR
Kita akan membahas bentuk perulangan lain, yaitu perulangan for.
Setiap bentuk perulangan for dapat diubah
menjadi bentuk perulangan while dengan fungsi yang sama tanpa mengubah alur
program. Tetapi tergantung dari
permasalahan yang akan kita pecahkan.
Menulis program dengan for akan membuat
Bentuk Umum
for (ungkapan1;ungkapan2;ungkapan3) {
Pernyataan; }
Keterangan :
ungkapan1 merupakan pernyataan inisialisasi ungkapan2 sebagai kondisi yang menentukan
pengulangan terhadap pernyataan atau tidak
ungkapan3 digunakan sebagai pengatur
contoh
Contoh berikut merupakan kasus yang serupa dengan kasus yang sudah dibahas untuk while dan do..while. Cetaklah bilangan 1 sampai
dengan 5
Langkah algoritmanya :
tentukan nilai awal = 1 , batas akhir = 5 dan pertambahan nilai i = i + 1
cetak bilangan
Implementasi program
1. import java.util.Scanner; 2. public class UlangFor 3. {
4. public static void main(String args[])
5. {
6. Scanner masuk = new Scanner(System.in);
7. int bil;
8. for (bil=1;bil<=5;bil++)
9. System.out.println(bil);
10. }
Keterangan Program
Baris 7 merupakan deklarasi dan inisialisasi
variabel bil. Baris 8-9 merupakan pernyataan for dan pernyataan yang dikerjakan dalam for.
Argumen pertama dalam for (bil=1) adalah
memberikan nilai awal kepada variabel bil dengan nilai 1. Sedangkan argumen kedua (bil<=5) untuk membandingkan variabel bil dengan 5, jika masih lebih kecil, maka perulangan jalan terus.
Keterangan Program
Langkah pertama
Nilai bil = 1. Baris 9 dikerjakan.
Kemudian, nilai bil ditambah 1, sehingga menjadi 2. Jadi bil<=5 bernilai benar. Perulangan masih
dikerjakan lagi.
Langkah kedua
Nilai bil = 2. Baris 9 dikerjakan.
Kemudian, nilai bil ditambah 1, sehingga menjadi 3. Jadi bil<=5 bernilai benar. Perulangan masih
Keterangan Program
Langkah ketiga
Nilai bil = 3. Baris 9 dikerjakan.
Kemudian, nilai bil ditambah 1, sehingga menjadi 4. Jadi bil<=5 bernilai benar. Perulangan masih
dikerjakan lagi.
Langkah keempat
Nilai bil = 4. Baris 9 dikerjakan.
Kemudian, nilai bil ditambah 1, sehingga menjadi 5. Jadi bil<=5 bernilai benar. Perulangan masih
Keterangan Program
Langkah kelima
Nilai bil = 5. Baris 9 dikerjakan.
Kemudian, nilai bil ditambah 1, sehingga
menjadi 6.
Jadi bil<=5 bernilai salah. Perulangan
Contoh
Cetaklah bilangan 5 sampai dengan 1. Kasus
ini serupa juga dengan kasus pada
perulangan dengan while dan do while.
Langkah algoritmanya :
tentukan nilai awal = 5 , batas akhir =1 dan
pengurangan nilai bil = bil - 1
cetak bilangan
Implementasi Program dan output
1. import java.util.Scanner; 2. public class UlangFor1 3. {
4. public static void main(String args[])
5. {
6. Scanner masuk = new Scanner(System.in);
7. int bil;
8. for (bil=5;bil>=1;bil--)
9. System.out.println(bil);
10. }
Contoh
Cetaklah karakter dari A sampai dengan Z
Langkah algoritmanya :
tentukan karakter awal = A , karakter akhir
= Z dan pertambahan karakter kar = kar + 1
cetak karakter
Implementasi Program
1. import java.util.Scanner;
2. public class UlangFor2
3. {
4. public static void main(String args[])
5. {
6. char kar;
7. for (kar='A';kar<='Z';kar++)
8. System.out.print(kar);
Contoh
Cetaklah bilangan ganjil dari 1 sampai 10 dan
gunakanlah fungsi mod.
Langkah Algoritmanya :
tentukan nilai awal = 1 , batas akhir =10 dan
perubahan nilai bil = bil + 1
jika bil % 2 = 1 cetak bilangan
Implementasi program
1. import java.util.Scanner; 2. public class UlangFor2a 3. {
4. public static void main(String args[])
5. {
6. Scanner masuk = new Scanner(System.in); 7. int bil;
8. for (bil=0;bil<=10;bil++) 9. if (bil % 2 == 1)
10. System.out.println(bil); 11.
12. }
Contoh
Cetaklah bilangan genap dari 0 sampai 10
dan gunakanlah fungsi mod.
Langkah Algoritmanya :
tentukan nilai awal = 1 , batas akhir =10 dan
pertambahan nilai bil = bil + 1
jika bil % 2 = 0 cetak bilangan
Implementasi program
1. public class UlangFor3 2. {
3. public static void main(String args[])
4. {
5. int bil;
6. for (bil=0;bil<=10;bil++)
7. if (bil % 2 == 0)
8. System.out.println(bil);
9. }
Contoh
Hitunglah rata-rata bilangan positif, dimana
banyaknya data ditentukan dari data yang dimasukan.
Langkah algoritmanya :
definisikan varibel i untuk counter,
definisikan variabel n untuk banyaknya data
definisikan varibel x untuk memasukan data
definisikan variabel jum untuk menghitung jumlah
Lanjutan Algoritma
Masukan banyak data yang akan dihitung tentukan harga awal i = 1, batas akhir =
banyaknya data
nilai perhitungan i sebagai counter bertambah
satu
masukan bil yang akan dihitung hitung jumlahnya
hitung rata-ratanya ulangi langkah 8
Implementasi Program
import java.util.Scanner; public class UlangFor6 {
public static void main(String args[]) {
Scanner masuk = new Scanner(System.in); int i;
float n, jum, x, rata;
System.out.print("Banyaknya data : "); n = masuk.nextFloat();
Implementasi Program
for (i=1;i<=n;i++){
System.out.print("Data ke-"+i+" : "); x=masuk.nextFloat();
jum += x;
}
rata = jum / n;
System.out.println("Rata-rata : "+rata); System.out.println("Jumlah : "+jum);
}
Output
Banyaknya data : 3 Data ke-1 : 3
Contoh
Menghitung nilai XY dengan X dan Y adalah
sembarang bilangan.
Langkah Algoritmanya :
1.Definisikan/masukan bilangan yang akan dipangkatkan
2.definisikan/masukan pangkat dari bilangan
3.tentukan nilai awal = 1 , batas akhirdan pertambahan nilai i = i + 1
4.hitung pangkat = pangkat * x 5.cetak hasil pangkat
Implementasi Program
import java.util.Scanner;
public class UlangFor4
{
public static void main(String args[])
{
Scanner masuk = new Scanner(System.in);
int x,y,i;
int pangkat;
System.out.print("Masukkan bilangan : ");
Implementasi program
System.out.print("Pangkat berapa : ");
y = masuk.nextInt();
pangkat=1;
for (i=1;i<=y;i++) {
pangkat=pangkat*x; }
System.out.println(“Hasil:
"+pangkat);
}
Output
Masukan bilangan : 2
Pangkat berapa : 3
Hasil = 8
Jika script dimodifikasi menjadi for (i=1;i<=y;i++)
{
pangkat=pangkat*x;
Output
Maka hasilnya menjadi:
Masukan bilangan : 2 Pangkat berapa : 3
Contoh lain
Kita ingin menghitung maju dan mundur
pada saat yang bersamaan, misalnya i dari 1 hingga 10 dan j dari 10 hingga 1, kita bisa ekspresikan dengan
for (i = 1, j = 10; i <= 10,j>=0; i++, j--)
contoh
Contoh While, Do-While, For
Buatlah algoritma, flowchat dan program
untuk menghasilkan deret suatu bilangan, yang banyaknya data (n) di inputkan.
Jika n =3 menghasilkan deret 1 4 9
Jawab For
Langkah algoritmanya :
tentukan nilai awal = 1 , batas akhir dan
pertambahan nilai i = i + 1
masukan banyaknya data (n) cetak i * i
Implementasi Program For
1. import java.util.Scanner; 2. public class UlangFor7 3. {
4. public static void main(String args[])
5. {
6. Scanner masuk = new Scanner(System.in);
7. int n,i;
8. System.out.print("Banyaknya N : ");
9. n = masuk.nextInt();
10. for (i=1;i<=n;i++)
11. System.out.println(i+ " * " +i+" = " + i * i);
12. }
Jawab While
Langkah Algoritmanya :
masukan banyaknya data tentukan nilai awal = 1 lakukan pengulangan cetak i * i
nilai perhitungan bertambah satu
Implementasi Program
1. import java.util.Scanner; 2. public class UlangWhile7 3. {
4. public static void main(String args[]) {
5. Scanner masuk = new Scanner(System.in); 6. int n,i;
Jawab Do-While
Langkah Algoritmanya :
masukan banyaknya data tentukan nilai awal = 1 lakukan pengulangan cetak i * i
nilai perhitungan bertambah satu lakukan proses jika i <= n
ulangi langkah 3 sampai ketemu
Implementasi Program
1. import java.util.Scanner; 2. public class UlangDo7 3. {
4. public static void main(String args[]) 5. {
6. Scanner masuk = new Scanner(System.in); 7. int n,i;