SlideShare a Scribd company logo
1 of 13
BAB 4
PERULANGAN/ LOOP
Salah satu kelebihan komputer adalah dapat melakukan perhitungan dengan sangat
cepat. Dengan demikian, salah satu algoritma yang penting adalah mempelajari aspek –
aspek perulangan.
A. Konsep Counter
Perhatikan penugasan berikut ini :
i  i + 1
Arti dari penugasan di atas adalah i disebelah kiri merupakan harga i yang baru setelah
harga i sebelah kanan ditambah dengan 1. Dengan demikian, i merupakan counter
(pencacah) dimana setiap kali pernyataan penugasan itu dieksekusi, harga i akan bertambah
1.
B. Konsep Total
Misalnya kita diminta untuk menghitung jumlah deret :
Harga awal dari nilai kumulatif penjumlahan i ini dimulai dengan 0 (mengingatkan kita
pada unsur identitas penjumlahan adalah 0). Misalkan :
jumlah  0
Dengan menggunakan salah satu bentuk perulangan, misalnya for, kita dapat menghitung
jumlah deret diatas dengan pernyataan :
for i  1 to n do
jumlah  jumlah + i
Konsep total ini merupakan konsep dasar untuk penerapan yang melibatkan harga
kumulatif.
Konsep inipun dapat digunakan untuk operator perkalian. Misalkan kita diminta
menghitung :
Harga awal dari kumulatif perkalian dimulai dengan 1 (mengingatkan kita pada unsur
identitas perkalian adalah 1). Misalkan :
kali  1
kemudian dengan perulangan yang mirip (hanya mengganti operator penjumlahan (+)
dengan perkalian (*)) kita peroleh :
for i  to n do
kali  kali * i
C. Pemrograman
Hampir semua bahasa pemrograman mempunyai pernyataan yang berkaitan dengan
perulangan. Untuk bahasa Pascal dan bahasa C tersaji berikut ini :
Algoritmik Pascal C
for i  awal to akhir do
aksi
end for
for i := awal to akhir do
aksi;
for (i = awal; i <=akhir; i+
+)
aksi;
for i  awal downto akhir do
aksi
end for
for i := awal downto akhir do
aksi;
for (i = awal; i <=akhir; i
--)
aksi;
while (kondisi) do
aksi
end while
while (kondisi) do
aksi;
while (kondisi)
aksi;
repeat
aksi
until (kondisi)
repeat
aksi;
until (kondisi);
do {
aksi;
} while (kondisi)
Dengan aksi dapat berupa pernyataan tunggal mauoun majemuk. Pernyataan
majemuk dalam bahasa pascal diawali dengan begin dan diakhiri dengan end, sementara
untuk bahasa c diawali dengan { dan diakhiri dengan }.
Contoh 4.1
Cetaklah bilangan 1 sampai 4 menggunakan perulangan.
Algoritma 4.1
Algoritma Cetak_Angka
{Mencetak angka 1, …,4 ke piranti keluaran}
Deklarasi
i : integer
for loop while loop repeat until loop
Deskripsi
for i  1 to 4 do
Deskripsi
i  1
Deskripsi
i  1
write (i)
endfor
while (i <=4) do
write (i)
i  i + 1
endwhile
repeat
write (i)
i  i + 1
until (i>4)
Flow Chart 4.1
Struktur for Struktur while – do Struktur repeat – until
Translasi 4.1.a. Bahasa Pascal
for loop while loop repeat until loop
Mulai
Selesai
for i = 1 to 4 do
Mulai
Selesai
Mulai
i
i = 1
i
<=
4
i
i = i + 1
i = 1
i
i = i + 1
i >
4
Selesai
program cetak_angka_for;
var i : integer;
begin
for i := 1 to 4 do
write (i, ’ ‘);
end.
program cetak_angka_while;
var i : integer;
begin
i := 1; {inisialisasi}
while (i <= 4) do begin
write (i, ’ ‘); i := i + 1 ;
end;
end.
program cetak_angka_repeat;
var i : integer;
begin
i := 1; {inisialisasi}
repeat
write (i, ’ ‘); i := i + 1 ;
until (i > 4);
end.
Translasi 4.1.b. Bahasa C
for loop while loop do while loop
#include <stdio.h>
main() {
int i;
for (i=1 ; i <=4;i++)
printf(“%d “,i);
return 0;
}
#include <stdio.h>
main() {
int i= 1;
while (i <=4) {
printf(“%d “,i); i ++;
}
return 0;
}
#include <stdio.h>
main() {
int i= 1;
do { printf(“%d “,i); i +
+;
} while (i <=4);
return 0;
}
Contoh 4.2.
Cetaklah Bilangan ganjil dari 0 sampai 10 menggunakan perulangan (for, while –
do, repeat – until).
Ide :
Bilangan ganjil dari 0 sampai 10 diawali dengan 1, kemudian bertambah dengan 2
atau bilangan ganjil adalah bilangan yang bila dibagi 2 bersisa 1.
Algoritma 4.2.
Algoritma Cetak Ganjil
{mencetak bilangan ganjil dari 0 sampai 10 ke piranti keluaran}
Deklarasi
i = integer
Deskripsi
for i  0 to 10 do
if (i mod 2 = 1) then
write (i)
endif
endfor
Deskripsi
i  1
while (i < = 10) do
write (i)
i  i + 2
endwhile
Deskripsi
i  1
repeat
write (i)
i  i + 2
until (i > 10)
Flow Chart 4.2.
t
t
y y
t
Struktur for Struktur while – do Struktur repeat – until
for loop while loop repeat until loop
program Cetak_Ganjil1;
uses wincrt;
var i : integer;
begin
for i := 0 to 10 do
if (i mod 2 = 1) then
write (i, ‘ ‘);
end.
program Cetak_Ganjil2;
uses wincrt;
var i : integer;
begin
i := 1;
while (i <= 10) do
begin
write (i,’ ‘);
i := i + 2;
end;
end.
program Cetak_Ganjil3;
uses wincrt;
var i : integer;
begin
i := 1;
repeat
write (i,’ ‘);
i := i + 2;
until (i > 10);
end.
Contoh 4.3.
Carilah rata – rata dari n bilangan bulat positif.
Analisis :
Rumus rata – rata adalah :
yaitu jumlah data dibagi dengan banyaknya data, dengan xi adalah data ke-i.
Algoritma 4.3.
Algoritma mencari rata – rata dari n bilangan
{diberikan n data kemudian dicari rata–ratanya}
Deklarasi
i, n, jumlah, x : integer
rata : real
Deskripsi
read(n)
Mulai
for i = 0 to 10 do
i mod 2 = 1
?
i
Selesai
Mulai
i = 1
i
<=10
i
i = i + 2
Selesai
Mulai
i = 1
i
i = i + 2
i > 10
Selesai
jumlah  0
for i  1 to 10 do
read(x)
jumlah  jumlah + x
endfor
rata  jumlah/n
write(rata-rata)
Flowchart 4.3.
Translasi 4.3.
Bahasa Pascal Bahasa C
program rata_rata;
uses wincrt;
var
i, n, jumlah, x : integer;
rata : real;
begin
write(‘Banyak Data : ’);
readln(n);
jumlah :=0;
for i :=1 to n do begin
write(‘Data ke -‘,i,’ : ‘);
readln(x);
jumlah := jumlah + x;
end;
rata := jumlah/n;
#include <stdio.h>
main() {
int i, n, jumlah, x;
float rata;
printf(“banyak data : “);
scanf(“%d”,&n);
jumlah = 0;
for (i = 1;i <=n; i++){
printf(“data ke-%d : “,i);
scanf(“%d”,&x);
jumlah = jumlah + x;
}
rata = (float)jumlah/n;
printf(“rata-rata = %6.3f”,rata);
Mulai
n
Jumlah=0
for i=1 to n do
x
jumlah=jumlah/n
rat
a
Selesai
write(‘rata-rata = ‘,rata:6:3);
end.
return 0;
}
D. Sentinel
Kadang banyaknya masukan tidak diketahui, tetapi sifat datanya diketahui. Seperti
kasus 4.3. Di mana semua data adalah bilangan bulat positif, maka untuk menghentikan
masukan, kita dapat menggunakan harga lain (bisa negative atau 0). Setiap masukan akan
dicek dengan harga lain tersebut (yang dinamakan sentinel/pengawal).
Contoh 4.4.
Hitunglah rata-rata dari bilangan bulat positif, di mana banyak data ditentukan dari
data yang dimasukkan.
Algoritma 4.4.
Algoritma mencari rata-rata
{Diberikan data bilangan bulat positif kemudian dicari rata--ratanya}
Deklarasi
n, jumlah, x : integer
rata : real
Deskripsi
jumlah  0
read(x)
n  1
while (x>0) do
jumlah  jumlah + x
read(x)
n  n+1
endfor
rata  jumlah/(n-1)
write(rata)
Penjelasan :
Terlihat rumus yang digunakan agak berbeda, yaitu pembaginya (n-1). Hal
disebabkan pada saat nilai terakhir dimasukkan, nilai ini masih digunakan untuk validasi
masukan (apakah masih ada masukan berikutnya atau tidak) sehingga benyaknya data
selalu “kelebihan” 1. Untuk itu, pembagi dalam rumus rata-rata “haruslah” dikurangi
dengan 1.
Flowchart 4.4.
Mulai
Jumlah=0
f
t
Translasi 4.4.
Bahasa Pascal Bahasa C
program rata_rata2;
uses wincrt;
var
i, n, jumlah, x : integer;
rata : real;
begin
jumlah := 0;
write(‘data ke-1 : ‘); readln(x);
n := 1 ;
#include <stdio.h>
main () {
int n, jumlah, x;
float rata;
jumlah = 0;
printf(“Data ke-1 : “): scanf(“%d”,&x);
n = 1;
while (x > 0) do begin
jumlah := jumlah + x;
write(‘data ke-‘,n+1,’ : ‘);
readln(x);
n := n+1;
end;
while (x>0) {
jumlah – jumlah + x;
printf(“Data ke-%d : “,n+1);
scanf(“%d”,&x);
n++;
}
x
n = 1
x >
0
jumlah=jumlah+x
x
n = n+1
rata=jumlah/(n-1)
rat
a
Selesai
rata :=jumlah/(n-1);
write(‘Rata-rata = ‘,rata:6:3);
end.
rata = (float)jumlah/(n-1);
printf(“Rata-rata = %6.3f”,rata);
return 0;
}
Contoh 4.5.
Tentukan nilai dari :
sampai selisih 2 suku tidak lebih dari 0.001. Tentukan pula nilai n terakhir.
Algoritma 4.5.
Algoritma mencari jumlah deret
Deklarasi
n, jumlah, x : integer
rata : real
Deskripsi
jumlah  0
i  1
repeat
jumlah  jumlah + (1/i)
i  i+1
selisih  (1/i)-(1/(i-1))
until abs(selisih) < 0.001
write(jumlah, i)
Flowchart 4.5.
T
Jumlah=0
i = 1
jumlah=jumlah+(1/i)
i =i+ 1
Mulai
F
Translasi 4.5.
Bahasa Pascal
program jumlah_deret;
var selisih, jumlah : real; i : integer;
begin
jumlah :=0; i := 1; {inisialisasi}
repeat
jumlah :=jumlah +(1/i);
i := i+1; {counter}
selisih :=(1/i)-(1/i-1));
until abs(selisih) <0.001;
write(‘jumlah suku=’,jumlah:6:3,’harga n terakhir : ‘,i);
end.
Contoh 4.6.
Carilah nilai dari n! (n factorial).
Analisis :
Nilai n faktorial secara matematis didefinisikan sebagai berikut :
dengan 0! = 1 atau 1! = 1.
Algoritma 4.6.
Algoritma mencari n factorial
selisih=(1/i)-(1/i-1))
│selisi
h│
<0.001
jumlah, i
Selesai
{Dicari n factorial dengan masukan n}
Deklarasi
i, n : integer
Factorial : longint
Deskripsi
Read (n)
faktorial  1
for i  1 to n do
faktorial  factorial *i
endfor
write(faktorial)
Flowchart 4.6.
Translasi 4.6.
Bahasa Pascal Bahasa C
Program Menghitung_Faktorial;
uses wincrt;
var
faktorial : longint;
n, i : integer;
begin
writeln (‘Menghitung nilai n! (n factorial),’);
write (‘Ketikkan sebuah bilangan :’);
readln (N);
faktorial := 1;
for i := 1 to N do
faktorial := faktorial * i ;
writeln (N,’! =’, faktorial);
#include <stdio.h>
main () {
long faktorial;
int N, i;
printf(“Menghitung nilai n! (n
factorial)n”);
printf(“Ketikkan sebuah bilangan :”);
scanf(“%d”,&N);
factorial = 1;
for (i=1; i<N; i++)
faktorial = faktorial * i;
printf(“%d!=%|d”, N, faktorial);
Mulai
n
faktorial=1
for i=1 to n do
faktorial=
faktorial*i
faktoria
l
Selesai
end. return 0;
}
Contoh 4.7.
Hitunglah nilai dari xy
dengan x bilangan real dan y bilangan bulat.
Analisis :
Algoritma 4.7.
Algoritma Pangkat
{Diberikan masukan x dan y, dihitung nilai dari x pangkat y}
Deklarasi
x, y, i : integer {input}
pangkat : integer {output}
Deskripsi
read ((x, y)
pangkat  1
for i  1 to y do
pangkat  pangkat * x
enfor
write(pangkat)
Flowchart 4.7.
Mulai
x,
y
pangkat=1
for i=1 to y
do
pangkat=
pangkat *x
pangka
tSelesai
Translasi 4.7.
Bahasa Pascal Bahasa C
Program Menghitung_pangkat;
uses wincrt;
var
x, y, i : integer;
pangkat : integer;
begin
writeln (‘Menghitung hasil perpangkatan ‘);
write (‘Tulis sebuah bilangan : ‘); readln (x);
write (‘Pangkat berapa : ‘); readln (y);
pangkat := 1 ;
for i := 1 to y do
pangkat := pangkat * x;
writeln (x,’ pangkat’,y,’ = ‘,pangkat);
end.
#include <stdio.h>
main () {
int x, y, i;
int pangkat;
printf(“Menghitung hasil
perpangkatann”);
printf(“Tulis sebuah bilangan :”);
scanf(“%d”,&x);
printf(“Mau dipangkat berapa :”);
scanf(“%d”,&y);
pangkat = 1;
for (i= 1; i<=y; i++)
pangkat = pangkat * x;
printf(“%d pangkat %d = %d”,x
,y,pangkat);
return 0;
}

More Related Content

What's hot

Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaDEDE IRYAWAN
 
Organisasi Komputer- representasi informasi
Organisasi Komputer- representasi informasiOrganisasi Komputer- representasi informasi
Organisasi Komputer- representasi informasidaru2501
 
Contoh soal penyelsaian metode biseksi menggunakan excel erna
Contoh soal penyelsaian metode biseksi menggunakan excel ernaContoh soal penyelsaian metode biseksi menggunakan excel erna
Contoh soal penyelsaian metode biseksi menggunakan excel ernaernajuliawati
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linierIzhan Nassuha
 
Persamaan differensial part 1
Persamaan differensial part 1Persamaan differensial part 1
Persamaan differensial part 1Jamil Sirman
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksimuhamadaulia3
 
Metode interpolasi linier
Metode  interpolasi linierMetode  interpolasi linier
Metode interpolasi linierokti agung
 
Metode Numerik Trapesium
Metode Numerik TrapesiumMetode Numerik Trapesium
Metode Numerik TrapesiumWahyu Priyanti
 
Panduan matlab
Panduan matlabPanduan matlab
Panduan matlabgiya12001
 
Perbedaan sistem linier dan non linier
Perbedaan sistem linier dan non linierPerbedaan sistem linier dan non linier
Perbedaan sistem linier dan non linierRioardha777
 
Korelasi dan regresi sederhana
Korelasi dan regresi sederhanaKorelasi dan regresi sederhana
Korelasi dan regresi sederhanaDia Cahyawati
 
Transformasi z
Transformasi zTransformasi z
Transformasi zIbnu Hakim
 
Transformasi Linear ( Aljabar Linear Elementer )
Transformasi Linear ( Aljabar Linear Elementer )Transformasi Linear ( Aljabar Linear Elementer )
Transformasi Linear ( Aljabar Linear Elementer )Kelinci Coklat
 
Fungsi Gamma dan Beta (Kalkulus Peubah Banyak)
Fungsi Gamma dan Beta (Kalkulus Peubah Banyak)Fungsi Gamma dan Beta (Kalkulus Peubah Banyak)
Fungsi Gamma dan Beta (Kalkulus Peubah Banyak)Kelinci Coklat
 
Iterasi gauss seidel
Iterasi gauss seidelIterasi gauss seidel
Iterasi gauss seidelNur Fadzri
 
Bab 2 perhitungan galat
Bab 2  perhitungan galatBab 2  perhitungan galat
Bab 2 perhitungan galatKelinci Coklat
 

What's hot (20)

Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
Organisasi Komputer- representasi informasi
Organisasi Komputer- representasi informasiOrganisasi Komputer- representasi informasi
Organisasi Komputer- representasi informasi
 
Contoh soal penyelsaian metode biseksi menggunakan excel erna
Contoh soal penyelsaian metode biseksi menggunakan excel ernaContoh soal penyelsaian metode biseksi menggunakan excel erna
Contoh soal penyelsaian metode biseksi menggunakan excel erna
 
Metode numerik persamaan non linier
Metode numerik persamaan non linierMetode numerik persamaan non linier
Metode numerik persamaan non linier
 
Persamaan differensial part 1
Persamaan differensial part 1Persamaan differensial part 1
Persamaan differensial part 1
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksi
 
Metode interpolasi linier
Metode  interpolasi linierMetode  interpolasi linier
Metode interpolasi linier
 
Metode Numerik Trapesium
Metode Numerik TrapesiumMetode Numerik Trapesium
Metode Numerik Trapesium
 
Interpolasi Newton
Interpolasi  NewtonInterpolasi  Newton
Interpolasi Newton
 
Proses stokastik
Proses stokastikProses stokastik
Proses stokastik
 
Teori antrian
Teori antrianTeori antrian
Teori antrian
 
Panduan matlab
Panduan matlabPanduan matlab
Panduan matlab
 
Perbedaan sistem linier dan non linier
Perbedaan sistem linier dan non linierPerbedaan sistem linier dan non linier
Perbedaan sistem linier dan non linier
 
Korelasi dan regresi sederhana
Korelasi dan regresi sederhanaKorelasi dan regresi sederhana
Korelasi dan regresi sederhana
 
Teori Sampling and Hold
Teori Sampling and HoldTeori Sampling and Hold
Teori Sampling and Hold
 
Transformasi z
Transformasi zTransformasi z
Transformasi z
 
Transformasi Linear ( Aljabar Linear Elementer )
Transformasi Linear ( Aljabar Linear Elementer )Transformasi Linear ( Aljabar Linear Elementer )
Transformasi Linear ( Aljabar Linear Elementer )
 
Fungsi Gamma dan Beta (Kalkulus Peubah Banyak)
Fungsi Gamma dan Beta (Kalkulus Peubah Banyak)Fungsi Gamma dan Beta (Kalkulus Peubah Banyak)
Fungsi Gamma dan Beta (Kalkulus Peubah Banyak)
 
Iterasi gauss seidel
Iterasi gauss seidelIterasi gauss seidel
Iterasi gauss seidel
 
Bab 2 perhitungan galat
Bab 2  perhitungan galatBab 2  perhitungan galat
Bab 2 perhitungan galat
 

Viewers also liked

Topic planning outline
Topic planning outlineTopic planning outline
Topic planning outlinejwolgamot
 
SmartRecruiters-MakingTheRightHire
SmartRecruiters-MakingTheRightHireSmartRecruiters-MakingTheRightHire
SmartRecruiters-MakingTheRightHireNatalia Baryshnikova
 
Evaluation question 1
Evaluation question 1 Evaluation question 1
Evaluation question 1 curtisfrench
 
台灣的小漁港
台灣的小漁港台灣的小漁港
台灣的小漁港Eve Guo
 
The red hunter
The red hunterThe red hunter
The red hunterpaige97
 
Buchanan /ASI Parent SART Meeting on Social Media LIteracy
Buchanan /ASI Parent SART Meeting on Social Media LIteracy Buchanan /ASI Parent SART Meeting on Social Media LIteracy
Buchanan /ASI Parent SART Meeting on Social Media LIteracy Michael Niehoff
 
Lago Smallgoods 300kW install
Lago Smallgoods 300kW installLago Smallgoods 300kW install
Lago Smallgoods 300kW installLee Fernandes
 
ATreVEE IN: Using Natural Interaction in Procedure Simulator for Training in ...
ATreVEE IN: Using Natural Interaction in Procedure Simulator for Training in ...ATreVEE IN: Using Natural Interaction in Procedure Simulator for Training in ...
ATreVEE IN: Using Natural Interaction in Procedure Simulator for Training in ...Tatiana Tavares
 
Dracula 150331060816-conversion-gate01
Dracula 150331060816-conversion-gate01Dracula 150331060816-conversion-gate01
Dracula 150331060816-conversion-gate01David Lunn
 
Family flash
Family flashFamily flash
Family flashSunny Day
 
Как известно собеседование подходит к концу, когда интервьюер Вас спрашивает
Как известно собеседование подходит к концу, когда интервьюер Вас спрашиваетКак известно собеседование подходит к концу, когда интервьюер Вас спрашивает
Как известно собеседование подходит к концу, когда интервьюер Вас спрашиваетBOSSHUNT
 

Viewers also liked (16)

Topic planning outline
Topic planning outlineTopic planning outline
Topic planning outline
 
Tarea#2 salas michelle1.docx
Tarea#2 salas michelle1.docxTarea#2 salas michelle1.docx
Tarea#2 salas michelle1.docx
 
SmartRecruiters-MakingTheRightHire
SmartRecruiters-MakingTheRightHireSmartRecruiters-MakingTheRightHire
SmartRecruiters-MakingTheRightHire
 
Dracula d
Dracula dDracula d
Dracula d
 
Massa e cozzile ic pasquini
Massa e cozzile ic pasquiniMassa e cozzile ic pasquini
Massa e cozzile ic pasquini
 
IC Grosseto 3
IC Grosseto 3IC Grosseto 3
IC Grosseto 3
 
Evaluation question 1
Evaluation question 1 Evaluation question 1
Evaluation question 1
 
台灣的小漁港
台灣的小漁港台灣的小漁港
台灣的小漁港
 
Ch02
Ch02Ch02
Ch02
 
The red hunter
The red hunterThe red hunter
The red hunter
 
Buchanan /ASI Parent SART Meeting on Social Media LIteracy
Buchanan /ASI Parent SART Meeting on Social Media LIteracy Buchanan /ASI Parent SART Meeting on Social Media LIteracy
Buchanan /ASI Parent SART Meeting on Social Media LIteracy
 
Lago Smallgoods 300kW install
Lago Smallgoods 300kW installLago Smallgoods 300kW install
Lago Smallgoods 300kW install
 
ATreVEE IN: Using Natural Interaction in Procedure Simulator for Training in ...
ATreVEE IN: Using Natural Interaction in Procedure Simulator for Training in ...ATreVEE IN: Using Natural Interaction in Procedure Simulator for Training in ...
ATreVEE IN: Using Natural Interaction in Procedure Simulator for Training in ...
 
Dracula 150331060816-conversion-gate01
Dracula 150331060816-conversion-gate01Dracula 150331060816-conversion-gate01
Dracula 150331060816-conversion-gate01
 
Family flash
Family flashFamily flash
Family flash
 
Как известно собеседование подходит к концу, когда интервьюер Вас спрашивает
Как известно собеседование подходит к концу, когда интервьюер Вас спрашиваетКак известно собеседование подходит к концу, когда интервьюер Вас спрашивает
Как известно собеседование подходит к концу, когда интервьюер Вас спрашивает
 

Similar to BAB 4 PERULANGAN

ALOGARITMA 4
ALOGARITMA 4ALOGARITMA 4
ALOGARITMA 4arstwn
 
Artikel tentang perulangan
Artikel tentang perulanganArtikel tentang perulangan
Artikel tentang perulanganditaku
 
Algoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdfAlgoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdfmtsarridho
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANSenna Hendrian
 
Looping Algoritma
Looping AlgoritmaLooping Algoritma
Looping AlgoritmaFirdaus1212
 
Algoritma dan pemograman
Algoritma dan pemogramanAlgoritma dan pemograman
Algoritma dan pemogramanSyahran Mohamed
 
3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrogramanRoziq Bahtiar
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Dian Aditya
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaSenna Hendrian
 
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada javaSaprudin Eskom
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxDikicandra6
 

Similar to BAB 4 PERULANGAN (20)

ALOGARITMA 4
ALOGARITMA 4ALOGARITMA 4
ALOGARITMA 4
 
Artikel tentang perulangan
Artikel tentang perulanganArtikel tentang perulangan
Artikel tentang perulangan
 
Algoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdfAlgoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdf
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGAN
 
Topik 8 Perulangan
Topik 8 PerulanganTopik 8 Perulangan
Topik 8 Perulangan
 
207 p05
207 p05207 p05
207 p05
 
Pertemuan 3
Pertemuan 3Pertemuan 3
Pertemuan 3
 
6 lanjutan perulangan
6 lanjutan perulangan6 lanjutan perulangan
6 lanjutan perulangan
 
5 perulangan
5 perulangan5 perulangan
5 perulangan
 
5 perulangan
5 perulangan5 perulangan
5 perulangan
 
Looping Algoritma
Looping AlgoritmaLooping Algoritma
Looping Algoritma
 
Algoritma dan pemograman
Algoritma dan pemogramanAlgoritma dan pemograman
Algoritma dan pemograman
 
3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman
 
Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010
 
Perulangan for
Perulangan forPerulangan for
Perulangan for
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritma
 
9. algoritma perulangan pada java
9. algoritma perulangan pada java9. algoritma perulangan pada java
9. algoritma perulangan pada java
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
 
bab3_alpro1.pptx
bab3_alpro1.pptxbab3_alpro1.pptx
bab3_alpro1.pptx
 

More from Eko Widyanto Napitupulu (15)

klasifikasi-komputer
klasifikasi-komputerklasifikasi-komputer
klasifikasi-komputer
 
Soal un paket b 2009
Soal un paket b 2009Soal un paket b 2009
Soal un paket b 2009
 
Indonesian edition
Indonesian editionIndonesian edition
Indonesian edition
 
modul algoritma Bab 7 record
modul algoritma Bab 7 recordmodul algoritma Bab 7 record
modul algoritma Bab 7 record
 
modul algoritma Bab 6
modul algoritma Bab  6modul algoritma Bab  6
modul algoritma Bab 6
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
 
modul algoritma Bab 3
modul algoritma Bab 3modul algoritma Bab 3
modul algoritma Bab 3
 
modul algoritma Bab 2
modul algoritma Bab 2modul algoritma Bab 2
modul algoritma Bab 2
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
 
Presentasi pkn "HAM"
Presentasi pkn "HAM"Presentasi pkn "HAM"
Presentasi pkn "HAM"
 
Resistor paralel
Resistor paralelResistor paralel
Resistor paralel
 
pengertian ihsan dan masalah ihsan
pengertian ihsan dan masalah ihsanpengertian ihsan dan masalah ihsan
pengertian ihsan dan masalah ihsan
 
perangkat-keras
perangkat-kerasperangkat-keras
perangkat-keras
 
perangkat-lunak
perangkat-lunakperangkat-lunak
perangkat-lunak
 
Fungsi otak manusia
Fungsi otak manusiaFungsi otak manusia
Fungsi otak manusia
 

Recently uploaded

PEDOMAN PENYELENGGARAAN BEASISWA LPPD JATIM - 2024.pdf
PEDOMAN PENYELENGGARAAN BEASISWA LPPD JATIM - 2024.pdfPEDOMAN PENYELENGGARAAN BEASISWA LPPD JATIM - 2024.pdf
PEDOMAN PENYELENGGARAAN BEASISWA LPPD JATIM - 2024.pdfachsofyan1
 
Sizi99 : Situs Judi Slot Online Gacor Terpercaya & Slot Terbaik Hari Ini
Sizi99 : Situs Judi Slot Online Gacor Terpercaya & Slot Terbaik Hari IniSizi99 : Situs Judi Slot Online Gacor Terpercaya & Slot Terbaik Hari Ini
Sizi99 : Situs Judi Slot Online Gacor Terpercaya & Slot Terbaik Hari IniSizi99
 
Jasatoto99 : Daftar Situs Slot Gacor Maxwin & Situs Slot Terbaru Hari Ini
Jasatoto99 : Daftar Situs Slot Gacor Maxwin & Situs Slot Terbaru Hari IniJasatoto99 : Daftar Situs Slot Gacor Maxwin & Situs Slot Terbaru Hari Ini
Jasatoto99 : Daftar Situs Slot Gacor Maxwin & Situs Slot Terbaru Hari IniJasatoto99
 
IDMPO : SITUS TARUHAN BOLA ONLINE TERPERCAYA, KEMENANGAN DI BAYAR LUNAS Arnet...
IDMPO : SITUS TARUHAN BOLA ONLINE TERPERCAYA, KEMENANGAN DI BAYAR LUNAS Arnet...IDMPO : SITUS TARUHAN BOLA ONLINE TERPERCAYA, KEMENANGAN DI BAYAR LUNAS Arnet...
IDMPO : SITUS TARUHAN BOLA ONLINE TERPERCAYA, KEMENANGAN DI BAYAR LUNAS Arnet...Neta
 
MONITORING DAN EVALUASI PROGRAM PPI CILOTO oke.pp...............................
MONITORING DAN EVALUASI PROGRAM PPI CILOTO oke.pp...............................MONITORING DAN EVALUASI PROGRAM PPI CILOTO oke.pp...............................
MONITORING DAN EVALUASI PROGRAM PPI CILOTO oke.pp...............................teeka180806
 
Nila88 : Situs Slot Gacor Scatter Hitam Mahjong & Link Slot Resmi Hari Ini
Nila88 : Situs Slot Gacor Scatter Hitam Mahjong & Link Slot Resmi Hari IniNila88 : Situs Slot Gacor Scatter Hitam Mahjong & Link Slot Resmi Hari Ini
Nila88 : Situs Slot Gacor Scatter Hitam Mahjong & Link Slot Resmi Hari IniNila88
 
Bento88slot : Situs Judi Slot Online Gacor Hari Ini Viral Gampang Maxwin
Bento88slot : Situs Judi Slot Online Gacor Hari Ini Viral Gampang MaxwinBento88slot : Situs Judi Slot Online Gacor Hari Ini Viral Gampang Maxwin
Bento88slot : Situs Judi Slot Online Gacor Hari Ini Viral Gampang MaxwinBento88slot
 
MAKALAH agama.11docx.docx. ppt agama katolik
MAKALAH agama.11docx.docx. ppt agama katolikMAKALAH agama.11docx.docx. ppt agama katolik
MAKALAH agama.11docx.docx. ppt agama katolikssuser328cb5
 

Recently uploaded (8)

PEDOMAN PENYELENGGARAAN BEASISWA LPPD JATIM - 2024.pdf
PEDOMAN PENYELENGGARAAN BEASISWA LPPD JATIM - 2024.pdfPEDOMAN PENYELENGGARAAN BEASISWA LPPD JATIM - 2024.pdf
PEDOMAN PENYELENGGARAAN BEASISWA LPPD JATIM - 2024.pdf
 
Sizi99 : Situs Judi Slot Online Gacor Terpercaya & Slot Terbaik Hari Ini
Sizi99 : Situs Judi Slot Online Gacor Terpercaya & Slot Terbaik Hari IniSizi99 : Situs Judi Slot Online Gacor Terpercaya & Slot Terbaik Hari Ini
Sizi99 : Situs Judi Slot Online Gacor Terpercaya & Slot Terbaik Hari Ini
 
Jasatoto99 : Daftar Situs Slot Gacor Maxwin & Situs Slot Terbaru Hari Ini
Jasatoto99 : Daftar Situs Slot Gacor Maxwin & Situs Slot Terbaru Hari IniJasatoto99 : Daftar Situs Slot Gacor Maxwin & Situs Slot Terbaru Hari Ini
Jasatoto99 : Daftar Situs Slot Gacor Maxwin & Situs Slot Terbaru Hari Ini
 
IDMPO : SITUS TARUHAN BOLA ONLINE TERPERCAYA, KEMENANGAN DI BAYAR LUNAS Arnet...
IDMPO : SITUS TARUHAN BOLA ONLINE TERPERCAYA, KEMENANGAN DI BAYAR LUNAS Arnet...IDMPO : SITUS TARUHAN BOLA ONLINE TERPERCAYA, KEMENANGAN DI BAYAR LUNAS Arnet...
IDMPO : SITUS TARUHAN BOLA ONLINE TERPERCAYA, KEMENANGAN DI BAYAR LUNAS Arnet...
 
MONITORING DAN EVALUASI PROGRAM PPI CILOTO oke.pp...............................
MONITORING DAN EVALUASI PROGRAM PPI CILOTO oke.pp...............................MONITORING DAN EVALUASI PROGRAM PPI CILOTO oke.pp...............................
MONITORING DAN EVALUASI PROGRAM PPI CILOTO oke.pp...............................
 
Nila88 : Situs Slot Gacor Scatter Hitam Mahjong & Link Slot Resmi Hari Ini
Nila88 : Situs Slot Gacor Scatter Hitam Mahjong & Link Slot Resmi Hari IniNila88 : Situs Slot Gacor Scatter Hitam Mahjong & Link Slot Resmi Hari Ini
Nila88 : Situs Slot Gacor Scatter Hitam Mahjong & Link Slot Resmi Hari Ini
 
Bento88slot : Situs Judi Slot Online Gacor Hari Ini Viral Gampang Maxwin
Bento88slot : Situs Judi Slot Online Gacor Hari Ini Viral Gampang MaxwinBento88slot : Situs Judi Slot Online Gacor Hari Ini Viral Gampang Maxwin
Bento88slot : Situs Judi Slot Online Gacor Hari Ini Viral Gampang Maxwin
 
MAKALAH agama.11docx.docx. ppt agama katolik
MAKALAH agama.11docx.docx. ppt agama katolikMAKALAH agama.11docx.docx. ppt agama katolik
MAKALAH agama.11docx.docx. ppt agama katolik
 

BAB 4 PERULANGAN

  • 1. BAB 4 PERULANGAN/ LOOP Salah satu kelebihan komputer adalah dapat melakukan perhitungan dengan sangat cepat. Dengan demikian, salah satu algoritma yang penting adalah mempelajari aspek – aspek perulangan. A. Konsep Counter Perhatikan penugasan berikut ini : i  i + 1 Arti dari penugasan di atas adalah i disebelah kiri merupakan harga i yang baru setelah harga i sebelah kanan ditambah dengan 1. Dengan demikian, i merupakan counter (pencacah) dimana setiap kali pernyataan penugasan itu dieksekusi, harga i akan bertambah 1. B. Konsep Total Misalnya kita diminta untuk menghitung jumlah deret : Harga awal dari nilai kumulatif penjumlahan i ini dimulai dengan 0 (mengingatkan kita pada unsur identitas penjumlahan adalah 0). Misalkan : jumlah  0 Dengan menggunakan salah satu bentuk perulangan, misalnya for, kita dapat menghitung jumlah deret diatas dengan pernyataan : for i  1 to n do jumlah  jumlah + i Konsep total ini merupakan konsep dasar untuk penerapan yang melibatkan harga kumulatif. Konsep inipun dapat digunakan untuk operator perkalian. Misalkan kita diminta menghitung :
  • 2. Harga awal dari kumulatif perkalian dimulai dengan 1 (mengingatkan kita pada unsur identitas perkalian adalah 1). Misalkan : kali  1 kemudian dengan perulangan yang mirip (hanya mengganti operator penjumlahan (+) dengan perkalian (*)) kita peroleh : for i  to n do kali  kali * i C. Pemrograman Hampir semua bahasa pemrograman mempunyai pernyataan yang berkaitan dengan perulangan. Untuk bahasa Pascal dan bahasa C tersaji berikut ini : Algoritmik Pascal C for i  awal to akhir do aksi end for for i := awal to akhir do aksi; for (i = awal; i <=akhir; i+ +) aksi; for i  awal downto akhir do aksi end for for i := awal downto akhir do aksi; for (i = awal; i <=akhir; i --) aksi; while (kondisi) do aksi end while while (kondisi) do aksi; while (kondisi) aksi; repeat aksi until (kondisi) repeat aksi; until (kondisi); do { aksi; } while (kondisi) Dengan aksi dapat berupa pernyataan tunggal mauoun majemuk. Pernyataan majemuk dalam bahasa pascal diawali dengan begin dan diakhiri dengan end, sementara untuk bahasa c diawali dengan { dan diakhiri dengan }. Contoh 4.1 Cetaklah bilangan 1 sampai 4 menggunakan perulangan. Algoritma 4.1 Algoritma Cetak_Angka {Mencetak angka 1, …,4 ke piranti keluaran} Deklarasi i : integer for loop while loop repeat until loop Deskripsi for i  1 to 4 do Deskripsi i  1 Deskripsi i  1
  • 3. write (i) endfor while (i <=4) do write (i) i  i + 1 endwhile repeat write (i) i  i + 1 until (i>4) Flow Chart 4.1 Struktur for Struktur while – do Struktur repeat – until Translasi 4.1.a. Bahasa Pascal for loop while loop repeat until loop Mulai Selesai for i = 1 to 4 do Mulai Selesai Mulai i i = 1 i <= 4 i i = i + 1 i = 1 i i = i + 1 i > 4 Selesai
  • 4. program cetak_angka_for; var i : integer; begin for i := 1 to 4 do write (i, ’ ‘); end. program cetak_angka_while; var i : integer; begin i := 1; {inisialisasi} while (i <= 4) do begin write (i, ’ ‘); i := i + 1 ; end; end. program cetak_angka_repeat; var i : integer; begin i := 1; {inisialisasi} repeat write (i, ’ ‘); i := i + 1 ; until (i > 4); end. Translasi 4.1.b. Bahasa C for loop while loop do while loop #include <stdio.h> main() { int i; for (i=1 ; i <=4;i++) printf(“%d “,i); return 0; } #include <stdio.h> main() { int i= 1; while (i <=4) { printf(“%d “,i); i ++; } return 0; } #include <stdio.h> main() { int i= 1; do { printf(“%d “,i); i + +; } while (i <=4); return 0; } Contoh 4.2. Cetaklah Bilangan ganjil dari 0 sampai 10 menggunakan perulangan (for, while – do, repeat – until). Ide : Bilangan ganjil dari 0 sampai 10 diawali dengan 1, kemudian bertambah dengan 2 atau bilangan ganjil adalah bilangan yang bila dibagi 2 bersisa 1. Algoritma 4.2. Algoritma Cetak Ganjil {mencetak bilangan ganjil dari 0 sampai 10 ke piranti keluaran} Deklarasi i = integer Deskripsi for i  0 to 10 do if (i mod 2 = 1) then write (i) endif endfor Deskripsi i  1 while (i < = 10) do write (i) i  i + 2 endwhile Deskripsi i  1 repeat write (i) i  i + 2 until (i > 10) Flow Chart 4.2.
  • 5. t t y y t Struktur for Struktur while – do Struktur repeat – until for loop while loop repeat until loop program Cetak_Ganjil1; uses wincrt; var i : integer; begin for i := 0 to 10 do if (i mod 2 = 1) then write (i, ‘ ‘); end. program Cetak_Ganjil2; uses wincrt; var i : integer; begin i := 1; while (i <= 10) do begin write (i,’ ‘); i := i + 2; end; end. program Cetak_Ganjil3; uses wincrt; var i : integer; begin i := 1; repeat write (i,’ ‘); i := i + 2; until (i > 10); end. Contoh 4.3. Carilah rata – rata dari n bilangan bulat positif. Analisis : Rumus rata – rata adalah : yaitu jumlah data dibagi dengan banyaknya data, dengan xi adalah data ke-i. Algoritma 4.3. Algoritma mencari rata – rata dari n bilangan {diberikan n data kemudian dicari rata–ratanya} Deklarasi i, n, jumlah, x : integer rata : real Deskripsi read(n) Mulai for i = 0 to 10 do i mod 2 = 1 ? i Selesai Mulai i = 1 i <=10 i i = i + 2 Selesai Mulai i = 1 i i = i + 2 i > 10 Selesai
  • 6. jumlah  0 for i  1 to 10 do read(x) jumlah  jumlah + x endfor rata  jumlah/n write(rata-rata) Flowchart 4.3. Translasi 4.3. Bahasa Pascal Bahasa C program rata_rata; uses wincrt; var i, n, jumlah, x : integer; rata : real; begin write(‘Banyak Data : ’); readln(n); jumlah :=0; for i :=1 to n do begin write(‘Data ke -‘,i,’ : ‘); readln(x); jumlah := jumlah + x; end; rata := jumlah/n; #include <stdio.h> main() { int i, n, jumlah, x; float rata; printf(“banyak data : “); scanf(“%d”,&n); jumlah = 0; for (i = 1;i <=n; i++){ printf(“data ke-%d : “,i); scanf(“%d”,&x); jumlah = jumlah + x; } rata = (float)jumlah/n; printf(“rata-rata = %6.3f”,rata); Mulai n Jumlah=0 for i=1 to n do x jumlah=jumlah/n rat a Selesai
  • 7. write(‘rata-rata = ‘,rata:6:3); end. return 0; } D. Sentinel Kadang banyaknya masukan tidak diketahui, tetapi sifat datanya diketahui. Seperti kasus 4.3. Di mana semua data adalah bilangan bulat positif, maka untuk menghentikan masukan, kita dapat menggunakan harga lain (bisa negative atau 0). Setiap masukan akan dicek dengan harga lain tersebut (yang dinamakan sentinel/pengawal). Contoh 4.4. Hitunglah rata-rata dari bilangan bulat positif, di mana banyak data ditentukan dari data yang dimasukkan. Algoritma 4.4. Algoritma mencari rata-rata {Diberikan data bilangan bulat positif kemudian dicari rata--ratanya} Deklarasi n, jumlah, x : integer rata : real Deskripsi jumlah  0 read(x) n  1 while (x>0) do jumlah  jumlah + x read(x) n  n+1 endfor rata  jumlah/(n-1) write(rata) Penjelasan : Terlihat rumus yang digunakan agak berbeda, yaitu pembaginya (n-1). Hal disebabkan pada saat nilai terakhir dimasukkan, nilai ini masih digunakan untuk validasi masukan (apakah masih ada masukan berikutnya atau tidak) sehingga benyaknya data selalu “kelebihan” 1. Untuk itu, pembagi dalam rumus rata-rata “haruslah” dikurangi dengan 1. Flowchart 4.4. Mulai Jumlah=0
  • 8. f t Translasi 4.4. Bahasa Pascal Bahasa C program rata_rata2; uses wincrt; var i, n, jumlah, x : integer; rata : real; begin jumlah := 0; write(‘data ke-1 : ‘); readln(x); n := 1 ; #include <stdio.h> main () { int n, jumlah, x; float rata; jumlah = 0; printf(“Data ke-1 : “): scanf(“%d”,&x); n = 1; while (x > 0) do begin jumlah := jumlah + x; write(‘data ke-‘,n+1,’ : ‘); readln(x); n := n+1; end; while (x>0) { jumlah – jumlah + x; printf(“Data ke-%d : “,n+1); scanf(“%d”,&x); n++; } x n = 1 x > 0 jumlah=jumlah+x x n = n+1 rata=jumlah/(n-1) rat a Selesai
  • 9. rata :=jumlah/(n-1); write(‘Rata-rata = ‘,rata:6:3); end. rata = (float)jumlah/(n-1); printf(“Rata-rata = %6.3f”,rata); return 0; } Contoh 4.5. Tentukan nilai dari : sampai selisih 2 suku tidak lebih dari 0.001. Tentukan pula nilai n terakhir. Algoritma 4.5. Algoritma mencari jumlah deret Deklarasi n, jumlah, x : integer rata : real Deskripsi jumlah  0 i  1 repeat jumlah  jumlah + (1/i) i  i+1 selisih  (1/i)-(1/(i-1)) until abs(selisih) < 0.001 write(jumlah, i) Flowchart 4.5. T Jumlah=0 i = 1 jumlah=jumlah+(1/i) i =i+ 1 Mulai
  • 10. F Translasi 4.5. Bahasa Pascal program jumlah_deret; var selisih, jumlah : real; i : integer; begin jumlah :=0; i := 1; {inisialisasi} repeat jumlah :=jumlah +(1/i); i := i+1; {counter} selisih :=(1/i)-(1/i-1)); until abs(selisih) <0.001; write(‘jumlah suku=’,jumlah:6:3,’harga n terakhir : ‘,i); end. Contoh 4.6. Carilah nilai dari n! (n factorial). Analisis : Nilai n faktorial secara matematis didefinisikan sebagai berikut : dengan 0! = 1 atau 1! = 1. Algoritma 4.6. Algoritma mencari n factorial selisih=(1/i)-(1/i-1)) │selisi h│ <0.001 jumlah, i Selesai
  • 11. {Dicari n factorial dengan masukan n} Deklarasi i, n : integer Factorial : longint Deskripsi Read (n) faktorial  1 for i  1 to n do faktorial  factorial *i endfor write(faktorial) Flowchart 4.6. Translasi 4.6. Bahasa Pascal Bahasa C Program Menghitung_Faktorial; uses wincrt; var faktorial : longint; n, i : integer; begin writeln (‘Menghitung nilai n! (n factorial),’); write (‘Ketikkan sebuah bilangan :’); readln (N); faktorial := 1; for i := 1 to N do faktorial := faktorial * i ; writeln (N,’! =’, faktorial); #include <stdio.h> main () { long faktorial; int N, i; printf(“Menghitung nilai n! (n factorial)n”); printf(“Ketikkan sebuah bilangan :”); scanf(“%d”,&N); factorial = 1; for (i=1; i<N; i++) faktorial = faktorial * i; printf(“%d!=%|d”, N, faktorial); Mulai n faktorial=1 for i=1 to n do faktorial= faktorial*i faktoria l Selesai
  • 12. end. return 0; } Contoh 4.7. Hitunglah nilai dari xy dengan x bilangan real dan y bilangan bulat. Analisis : Algoritma 4.7. Algoritma Pangkat {Diberikan masukan x dan y, dihitung nilai dari x pangkat y} Deklarasi x, y, i : integer {input} pangkat : integer {output} Deskripsi read ((x, y) pangkat  1 for i  1 to y do pangkat  pangkat * x enfor write(pangkat) Flowchart 4.7. Mulai x, y pangkat=1 for i=1 to y do pangkat= pangkat *x pangka tSelesai
  • 13. Translasi 4.7. Bahasa Pascal Bahasa C Program Menghitung_pangkat; uses wincrt; var x, y, i : integer; pangkat : integer; begin writeln (‘Menghitung hasil perpangkatan ‘); write (‘Tulis sebuah bilangan : ‘); readln (x); write (‘Pangkat berapa : ‘); readln (y); pangkat := 1 ; for i := 1 to y do pangkat := pangkat * x; writeln (x,’ pangkat’,y,’ = ‘,pangkat); end. #include <stdio.h> main () { int x, y, i; int pangkat; printf(“Menghitung hasil perpangkatann”); printf(“Tulis sebuah bilangan :”); scanf(“%d”,&x); printf(“Mau dipangkat berapa :”); scanf(“%d”,&y); pangkat = 1; for (i= 1; i<=y; i++) pangkat = pangkat * x; printf(“%d pangkat %d = %d”,x ,y,pangkat); return 0; }