Anda di halaman 1dari 13

< Proses berulang / loop / kalang program panjang

dilakukan penyerdahanaan dengan proses


perulangan.
< %urbo Pascal menyediakan 3 bentuk:
#
WHLE
#EPEA%
< Pernyataan # digunakan untuk melakukan
pengulangan yang jumlahnya telah diketahui
sebelumnya.
< Pernyataan #% untuk perulangan dengan
cacah menaik
< ormat :
# variabel := awal % akhir Do
pernyataan
< Aturannya:
variabel awal akhir harus bertipe sama dan kompatibel.
%ipe data yang digunakan tipe data ordinal
awal harus lebih kecil dari akhir
< ontoh:
# i:=1 % 10 D
writeln ('Belajar PASAL');
# i:='A' % 'J' D
writeln ('Belajar PASAL');
< Digunakan untuk melakukan pengulangan yang
jumlahnya telah diketahui sebelumnya dengan
cacah menurun.
< ormat :
# variabel := awal DWN% akhir Do
pernyataan
< Aturannya:
variabel awal akhir harus bertipe sama dan kompatibel.
%ipe data yang digunakan tipe data ordinal
awal harus lebih besar dari akhir
< ontoh:
# i:=10 DWN% 1 D
writeln ('Belajar PASAL');
# i:='J' DWN% 'A' D
writeln ('Belajar PASAL');
< Hitunglah jumlah dari bilanganbilangan yang dimasukkan user.
Program Mencari_Jumlah;
uses wincrt;
var i jbilangan bilangan jumlah: integer;
begin
write('Berapa bilangan yang ingin dimasukkan ? '); readln(jbilangan);
writeln('masukkan bilanganbilangan tersebut : ');
for i:=1 to jbilangan do
begin
write('bilangan ke 'i' : '); readln(bilangan);
jumlah := jumlah + bilangan;
end;
writeln('Jumlah semua bilangan yang dimasukkan adalah : 'jumlah);
end.
< Bagaimana bentuk downto nya?
< Perulangan dengan jumlah perulangan yang
belum diketahui sebelumnya.
< Perulangan dengan selang pencacahnya tidak
harus 1 atau 1
< Minimal pernyataan dikerjakan nol kali
< Harus menggunakan blok jika lbh dr 1
pernyataan.
< ormat:
WHLE kondisi D
pernyataan
< ontoh:
i := 1
WHLE i<=10 D
begin
writeln ('Belajar PASAL');
i:=i+1;
end;
i:='A'
WHLE i<='J' D
begin
writeln ('Belajar PASAL');
i:=i+1;
end;
< Perulangan dengan jumlah perulangan yang
belum diketahui sebelumnya.
< Perulangan dengan selang pencacahnya tidak
harus 1 atau 1
< Minimal pernyataan sekali dikerjakan
< %idak menggunakan blok walau ada lbh dr 2
pernyataan.
< ormat:
#EPEA%
pernyataan
UN%L kondisi
< ontoh:
i := 1
#EPEA%
writeln ('Belajar PASAL');
i:=i+1;
UN%L i>10
i:='A'
#EPEA%
begin
writeln ('Belajar PASAL');
i:=i+1;
UN%L i>'J'
Soal1:
Buatlah tabel faktor bunga majemuk dengan rumus sebagai berikut:
B = (1 + i)
n
Misalkan: n = 1 .. 15
bunga manjemuk = 1 %
Soal2:
Seorang pegawai akan menerima tunjangan dan potongan gaji yang
besarnya tergantung dari jumlah anaknya. Jika seorang pegawai
mempunyai anak kurang dari 3 maka tunjangannya adalah 20% dari gaji
kotornya dan potongan 5% dari gaji kotornya. Jika jumlah anaknya lebih
besar atau sama dengan 3 maka besarnya tunjangan adalah 30% dari gaji
kotornya dan potongan 7% dari gaji kotornya. Buatlah program untuk
menghitung besarnya tunjangan yang akan diterima oleh seorang pegawai.
Jika terdapat 10 pegawai dalam satu devisi carilah siapa yang mempunyai
gaji bersih paling banyak.
Soal3:
Buatlah program untuk membuat tampilan berikut:
1
2 6
3 7 10
4 8 11 13
5 9 12 14 15
Soal4:
Seorang siswa akan mendapatkan nilai akhir (alfabet) berdasarkan ratarata nilai (nilai
dalam jangkauan 1 10) yang diperoleh selama satu semester yang kemudian
dikonversi ke nilai alfabet dengan ketentuan berikut:
A : 8.5 s/d 10
B : 7 s/d 8.4
: 5.9 s/d 6.9
D : 3.5 s/d 5.8
E : 0 s/d 3.4
Soal5:
Suatu surat berharga saat ini dijual dengan harga #p. 95773. Bunga yang diterima
setiap tahun dari surat berharga ini adalah sebesar #p. 180. Pada saat jatuh
temponya yaitu 3 tahun lagi dari sekarang surat bergarga ini akan bernilai #p. 1000
.
Nilai NPV dapat dihitung sebagai berikut:
NPV = #p 180(1/(1+i)
1
+ #p 180(1/(1+i)
2
+ #p 180(1/(1+i)
3
+ #p 180(1/(1+i)
3
#p 9573
Nilai i atau suku bunga efektif adalah ## jika NPV bernilai nol. Perhitungan nilai i ini
supaya didapatkan nilai NPV sama dengan nol merupakan hal yang tidak mudah
karena melibatkan perhitungan trial and error.
Buatlah program yang akan menghitung nilai dari ## (nternal #ate of #eturn) yaitu
tingkat pengembalian yang akan menyebabkan nilai bersih sekarang (Net Present
Value) dari surat berharga adalah bernilai 0. Nilai ## ini menunjukkan tingkat suku
bunga efektif yang akan diperoleh dari surat berharga tersebut.
Kemudian analisa hasilnya.

Anda mungkin juga menyukai