5 perulangan

32
LOOP (Perulangan)

Transcript of 5 perulangan

LOOP (Perulangan)

Definisi

• Adalah proses yang mengerjakan pernyataan yang sama secara berulang kali hingga memenuhi syarat batas yang ditentukan.

• Digunakan untuk mengerjakan suatu pernyataan yg sama dengan data yg berbeda-beda.

• Bertujuan untuk meng-efisien-kan pembuatan program, sehingga penulisan program menjadi sederhana.

Perintah Perulangan

1. For

2. While – do

3. Repeat - Until

FOR

Adalah perintah perulangan yang digunakan apabila jumlah atau banyaknya perulangan yang akan dilakukan sudah diketahui.

Ada 2 macam :

1. For – to – do

2. For – down - to

1. For – To - Do

FOR i := n1 TO n2 DO

Begin

{pernyataan}

End;

Ket : i = Var. kontrol, n1=Nilai awal, n2 = nilai batas, n1<n2

Digunakan untuk melakukan peru-

langan dengan indeks dari bilangan

yg kecil ke bilangan yg lebih besar.

Bentuk Perintah :

Flowchart

Contoh 1

Buatlah program untuk mencetak angka 1 hingga n.

Algoritma :

1. Mulai

2. Definisikan variabel n, i

3. Input nilai n

4. Cetak nilai i secara berulang hingga i=n.

5. Selesai

Program Angka;

Uses crt;

Var i,n : integer;

Begin

clrscr;

Write(‘Input jumlah data = ‘);

Readln(n);

For i:=1 to n do

Write(n,’ ‘);

Readln;

End.

Contoh-2

Buatlah program untuk mencetak bilangan Ganjil antara 1 hingga 50.

Jawab :

Algoritma

1. Mulai

2. Def var I,n

3. Cari bil ganjil antara 1 hingga 50

4. Jika ditemukan, cetak bil ganjil dan ulangi pencarian

5. Jika tidak ditemukan, ulangi pencarian

6. Selesai

Flowchart

Program Bil_Ganjil;

Uses crt;

Var I,n : integer;

Begin

clrscr;

for i:=1 to 50 do

Begin

n:= I mod 2;

if n=1 then write(I, ‘ ‘);

End;

readln;

End.

Contoh-3

Buatlah program untuk mencetak kata “Unika Atmajaya” sebanyak 5 kali.

Contoh 4

Buatlah program untuk mencetak

angka 1 hingga 8 secara ascending.

For- Downto - Do

Digunakan untuk melakukan perulangan

dengan indeks perulangan mulai dari bilangan

besar ke bilangan yg lebih kecil.

FOR i := n1 Downto n2 DO

Begin

{pernyataan} End;

Ket :

i = Var. kontrol, n1=Nilai awal, n2 = nilai batas, n1>n2

Bentuk Perintah :

Flowchart

Contoh 5

Buatlah program untuk mencetak bilangan n hingga 1.

Algoritma :

1. Mulai

2. Definisikan variabel n, i

3. Input nila n

4. Cetak nilai i mulai dari i=n secara berulang selama i>=1.

5. Selesai

Program Contoh5;

Uses crt;

Var I,n : integer;

Begin

clrscr;

write(‘Input n = ‘);

readln(n);

for i:=n downto 1 do

Begin

write(I,‘ ‘);

End;

Readln;

End.

Contoh 6

Buatlah program untuk mencetak bilangan mulai 40 hingga 30.

Latihan

1. Jumlahkan data sebanyak n dan

hitung nilai rata2-nya.

2. Cari nilai maksimum dan minimum

dari data sebanyak n.

3. Hitung y = �

� +

� +

� +

� + ………

Menjumlahkan Data

Jika ada sebanyak N data yg terdiri dari n1, n2, n3, ….ni, maka jumlah datanya adalah :

Jumlah = n1 + n2 + n3 + .. + .. + ni

Dimana n1 s/d ni harus diinput.

Proses penjumlahan data dalam loop dinyatakan dengan pernyataan :

Jumlah := Jumlah + ni;

Algoritma Penjumlahan Data

1. Mulai

2. Definisikan Variabel Jumlah,I,n

3. Tentukan nilai awal Jumlah = 0

4. Tentukan banyaknya data (n)

5. Input data sebanyak n dan Jumlahkan

selama i<=n.

6. Cetak hasil penjumlahan data

7. Selesai

Flowchart Penjumlahan Data

Program Jumlah;

Uses crt;

Var j,i,n : integer;

Begin

J := 0;

clrscr;

write(‘Input banyaknya data =‘);

readln(n);

For i:= 1 to n do

Begin

write(‘Input data ke- ‘,I,’ = ‘);

Readln(data);

J:=J + data;

End;

Write(Jumlah Data = ‘,j);

Readln;

End.

Menghitung Nilai Rata-Rata

Secara Matematik, Rumus untuk menghitung nilaia rata-rata adalah :

Nilai rata-rata = Jumlah Data / Banyaknya Data

Algoritma :

1. Mulai

2. Definisikan Variabel Jumlah,I,n

3. Tentukan nilai awal Jumlah = 0

4. Tentukan banyaknya data (n)

5. Input data dan Jumlahkan data sebanyak n hingga i=n.

6. Hitung nilai rata-rata

7. Cetak jumlah data dan Nilai rata-rata

8. Selesai

Program JumlahdanRata2;

Uses crt;

Var j,i,n : integer;

r : real;

Begin

J := 0;

clrscr;

write(‘Input banyaknya data =‘);

readln(n);

For i:= 1 to n do

Begin

write(‘Input data ke- ‘,I,’ = ‘);

Readln(data);

J:=J + data;

End;

R := j / n;

Write(Jumlah Data = ‘,j);

write(Nilai Rata-rata = ‘,r:6:2);

Readln;

End.

Mencari Data Maksimum dan

Minumum

• Data maksimum adalah data yg paling besar dari sekelompok data sedangkan Data minimum adalah data yg paling kecil dari sekelompok data.

• Misalnya ada sekelompok data yg terdiri dari 8 buah data sbb :

23 56 90 87 32 65 87 13

• Untuk mendapatkan data maks dan min, maka definisikan var maks =0 (terkecil), dan min = 100 (terbesar).

• Bandingkan data pertama dengan data ke-2, ke-3, hingga ke-8.

• Jika nilai Maks lebih kecil, maka ganti nilai Maks = data ke-i

• Jika nilai Min lebih besar, maka ganti niilai Min= data ke-i

Cara mencari Nilai Maksimum

Data: 23 56 90 87 32 65 87 13

1. Bandingkan data1 dengan Maks, Apakah 0<23?, jika Ya, maka simpan 23 sebagai data maksimum ke dalam var maks, maks = data1. Jika tidak, maka tetap. Jadi maks = 23

2. Bandingkan maks dengan data2, apakah 23<56 jika Ya, maks = data2. Jika tidak, maka tetap. Jadi Maks = 56.

3. Bandingkan maks dengan data3, apakah 56<90 jika Ya, maks = data3. Jika tidak, maka tetap. Jadi Maks = 90.

4. Bandingkan maks dengan data4, apakah 90<87 jika Ya, maks = data4. Karena tidak , maka Maks = 90.

5. Bandingkan maks dengan data5, apakah 90<32 jika Ya, maks = data5. Karena tidak , maka Maks = 90.

6. Bandingkan maks dengan data6, apakah 90<65 jika Ya, maks = data6, Karena tidak , maka Maks = 90.

7. Bandingkan maks dengan data7, apakah 90<87 jika Ya, maks = data7. Karena tidak , maka Maks = 90.

8. Bandingkan maks dengan data8, apakah 90<13 jika Ya, maks = data2. Karena tidak , maka Maks = 90.

Hasilnya nilai maksmum adalah 90.

Cara mencari Nilai Minimum

Data: 23 56 90 87 32 65 87 13

1. Bandingkan data1 dengan var Min, Apakah 100>23?, jika Ya, maka simpan 23 sebagai data minimum ke dalam var min, min = data1. Jadi min = 23

2. Bandingkan data2 dengan var Min, Apakah 23>56?, jika Ya, maka min = data2. Jika tidak maka tetap min = 23

3. Bandingkan data3 dengan var Min, Apakah 23>90?, jika Ya, maka min = data3. Jika tidak maka tetap min = 23

4. Bandingkan data4 dengan var Min, Apakah 23>87?, jika Ya, maka min = data4. Jika tidak maka tetap min = 23

5. Bandingkan data5 dengan var Min, Apakah 23>32?, jika Ya, maka min = data5. Jika tidak maka tetap min = 23

6. Bandingkan data6 dengan var Min, Apakah 23>65?, jika Ya, maka min = data6. Jika tidak maka tetap min = 23

7. Bandingkan data7 dengan var Min, Apakah 23>87?, jika Ya, maka min = data7. Jika tidak maka tetap min = 23

8. Bandingkan data8 dengan var Min, Apakah 23>13?, jika Ya, maka min = data8. Jika tidak maka tetap min = 13

Hasilnya nilai minimum adalah 13

Algoritma

1. Mulai

2. Definisikan var I, n, maks, min, data

3. Definisikan maks=0, dan min=100

4. Input n, banyaknya data

5. Input data sebanyak n selama i<=n

6. Bandingkan setiap data input dengan var maks dan min selama i<=n

7. Jika maks<data, maka maks=data

8. Jika min>data, maka min=data

9. Cetak maks dan min

10.Selesai

Flowchart Program JumlahdanRata2;

Uses crt;

Var i,n, maks, min, data: integer;

Maks := 0; Min:=100;

Begin

clrscr;

write(‘Input banyaknya data =‘);

readln(n);

For i:= 1 to n do

Begin

write(‘Input data ke- ‘,I,’ = ‘);

Readln(data);

if maks<data then

maks:=data;

If min>data then

min := data

End;

Write(‘Data Maksimum = ‘,maks);

write(‘Data Minimum = ‘,min);

Readln;

End.

Penjumlahan Bil Pecahan

Hitunglah y = �

� +

� +

� +

� + ………

Algoritma :

1. Mulai

2. Defin var j, y, n

3. Defin nilai awal y=0

4. Input n, jumlah suku

5. Jumlahkan setiap suku dan simpan dalam var y

6. Cetak y

7. Selesai

Flowchart dan Program

Program Jumlah_Pecahan;

Uses crt;

Var j,n : integer;

y : real;

y := 0;

Begin

clrscr;

write(‘Input banyaknya data =‘);

readln(n);

For j:= 1 to n do

Begin

y:=y + 1/n;

End;

Write(Jumlah Data = ‘,j);

Readln;

End.

TUGAS

Kumpulkan Tgl 25 Nov ‘14

1. Buatlah Algoritma, flowchart, dan program

untuk menjumlahkan bilangan genap antara 50

s.d 100 dan hitung nilai rata-ratanya.

2. Diketahui ada data sebanyak 10. Buatlah

Algoritma, flowchart, dan program untuk

menginput data dan hitunglah :

a. Nilai rata-ratanya

b. Carilah nilai maksimum dan minimumnya.