Looping Pascal
Looping Pascal
LOGO
LOGO
Struktur Pengulangan
Terbagi atas:
1. Kondisi Pengulangan
yaitu ekspresi boolean yang harus
dipenuhi
untuk melaksanakan pengulangan
2. Badan (body) pengulangan
yaitu bagian algoritma yang diulang
LOGO
Struktur FOR
- Digunakan untuk menghasilkan pengulangan
sejumlah kali yang dispesifikasikan
- Terdapat variabel pencacah (counter) yang
nilainya bertambah satu setiap kali pengulangan
- Pengulangan berhenti jika sudah mencapai
jumlah yang dispesifikasikan
- Termasuk pengulangan tanpa kondisi
(unconditional looping) yaitu instruksi yang ada
diulangi sejumlah kali yang dispesifikasikan
LOGO
Bentuk Umum Struktur FOR
Pencacah haruslah tipe data yang
memiliki predecessor atau successor
yaitu integer atau karakter. Tipe riil tidak
1. FOR menaik dapat digunakan
2. FOR menurun
for pencacah nilai_akhir downto nilai_awal
do
aksi
endfor
LOGO
Contoh
Algoritma cetak_bilangan
{menampilkan bilangan 1 sampai 5}
Deklarasi:
bil : integer
Deskripsi:
for bil 1 to 5 do
write(bil)
endfor
LOGO
Flowchart FOR
variabel nilai_awal
F
Variabel <= nilai_akhir
T akhir FOR
pernyataan (aksi)
variabel variabel+1
LOGO
Struktur While
- Digunakan untuk menghasilkan
pengulangan
sampai kondisi yang telah ditentukan
- Termasuk pengulangan dengan kondisi
(conditional looping) yaitu instruksi yang
ada diulangi sampai kondisi berhenti
terpenuhi
LOGO
Bentuk Umum
while kondisi do
aksi
endwhile
Keterangan :
aksi/runtunan aksi akan dilaksanakan
berulang kali selama kondisi bernilai true,
jika kondisi bernilai false berarti
pengulangan selesai
LOGO
Contoh
Algoritma cetak_bilangan
{menampilkan bilangan 1 sampai 5}
Deklarasi:
bil : integer
Deskripsi:
bil 1
while bil <= 5 do
write(bil)
bil bil +1
endwhile
LOGO
Flowchart WHILE
F
kondisi
T akhir WHILE
pernyataan (aksi)
Struktur Repeat…Until LOGO
Algoritma PENJUMLAHAN_DERET
{Menjumlahkan deret 1+2+3+...+N, N adalah bilangan bulat positif
yang dibaca dari piranti masukan. Jumlah deret dicetak ke piranti
luaran}
DEKLARASI
N : integer {banyaknya suku deret}
k : integer {suku deret}
Jumlah : integer {jumlah deret}
DESKRIPSI
read(N) {banyaknya suku deret}
jumlah 0 {inisialisasi jumlah deret}
for k 1 to N {ulangi sebanyak N kali}
jumlah jumlah+k
endfor
write(jumlah)
LOGO
Algoritma PENJUMLAHAN_DERET
{Menjumlahkan deret 1+2+3+...+N, N adalah bilangan bulat positif
yang dibaca dari piranti masukan. Jumlah deret dicetak ke piranti
luaran}
DEKLARASI
N : integer {banyaknya suku deret}
k : integer {suku deret}
Jumlah : integer {jumlah deret}
DESKRIPSI
read(N) {banyaknya suku deret}
angka 1 {suku deret}
while k < N do
jumlah jumlah+k {jumlah deret sekarang}
k k+1 {suku deret berikutnya}
endwhile
{k>N} {kondisi setelah perulangan berhenti}
write(jumlah)
LOGO
Algoritma PENJUMLAHAN_DERET
{Menjumlahkan deret 1+2+3+...+N, N adalah bilangan bulat positif
yang dibaca dari piranti masukan. Jumlah deret dicetak ke piranti
luaran}
DEKLARASI
N : integer {banyaknya suku deret}
k : integer {suku deret}
Jumlah : integer {jumlah deret}
DESKRIPSI
read(N) {banyaknya suku deret}
Jumlah0
k1 {suku deret}
repeat
jumlah jumlah+k {jumlah deret sekarang}
k k+1 {suku deret berikutnya}
until k>N
write(jumlah)
Pascal – Struktur For LOGO
Program PENJUMLAHAN_DERET
{Menjumlahkan deret 1+2+3+...+N, N adalah bilangan bulat positif yang
dibaca dari piranti masukan. Jumlah deret dicetak ke piranti luaran}
(* DEKLARASI *)
var
N : integer; {banyaknya suku deret}
k : integer; {suku deret}
jumlah : integer; {jumlah deret}
(*DESKRIPSI*)
begin
write(‘Berapa N?’);readln(N);
jumlah:=0; {inisialisasi jumlah deret}
for k:=1 to N {ulangi sebanyak N kali}
begin
jumlah:=jumlah+k; {jumlah deret sekarang}
end; {for}
writeln(‘Jumlah deret= ‘, jumlah);
end.
Pascal – Struktur While LOGO
Program PENJUMLAHAN_DERET
{Menjumlahkan deret 1+2+3+...+N, N adalah bilangan bulat positif yang
dibaca dari piranti masukan. Jumlah deret dicetak ke piranti luaran}
(* DEKLARASI *)
var
N : integer; {banyaknya suku deret}
k : integer; {suku deret}
jumlah : integer; {jumlah deret}
(*DESKRIPSI*)
begin
write(‘Berapa N?’);readln(N); {banyaknya suku deret}
jumlah:=0; {inisialisasi jumlah deret}
k:=1; {suku deret}
while k<=N
begin
jumlah:=jumlah+k; {jumlah deret sekarang}
k:=k+1; {suku deret berikutnya}
end; {while}
{k>N} {kondisi setelah pengulangan berhenti}
writeln(‘Jumlah deret= ‘, jumlah);
end.
Pascal – Struktur Repeat-Until LOGO
Program PENJUMLAHAN_DERET
{Menjumlahkan deret 1+2+3+...+N, N adalah bilangan bulat positif yang
dibaca dari piranti masukan. Jumlah deret dicetak ke piranti luaran}
(* DEKLARASI *)
var
N : integer; {banyaknya suku deret}
k : integer; {suku deret}
jumlah : integer; {jumlah deret}
(*DESKRIPSI*)
begin
write(‘Berapa N?’);readln(N); {banyaknya suku deret, nilainya positif
jumlah:=0; {inisialisasi jumlah deret}
k:=1; {suku deret}
repeat
jumlah:=jumlah+k; {jumlah deret sekarang}
k:=k+1; {suku deret berikutnya}
until k>N;
writeln(‘Jumlah deret= ‘, jumlah);
end.
C – Struktur For LOGO
/* Program PENJUMLAHAN_DERET */
/* Menjumlahkan deret 1+2+3+...+N, N adalah bilangan bulat positif yang
dibaca dari piranti masukan. Jumlah deret dicetak ke piranti luaran */
#include <stdio.h>
main() {
/* DEKLARASI */
int N; /*banyaknya suku deret*/
int k; /*suku deret*/
int jumlah; /*jumlah deret*/
(*DESKRIPSI*)
printf(‘Berapa N?’);scanf(“%d”,&N);
jumlah=0; /*inisialisasi jumlah deret*/
for (k=1;k<=N;k++) /*ulangi sebanyak N kali*/
{
jumlah:=jumlah+k; /*jumlah deret sekarang*/
}
printf(“Jumlah deret= %d”, jumlah);
}
C – Struktur While-Do LOGO
/* Program PENJUMLAHAN_DERET */
/* Menjumlahkan deret 1+2+3+...+N, N adalah bilangan bulat positif yang
dibaca dari piranti masukan. Jumlah deret dicetak ke piranti luaran */
#include <stdio.h>
main() {
/* DEKLARASI */
int N; /*banyaknya suku deret*/
int k; /*suku deret*/
int jumlah; /*jumlah deret*/
(*DESKRIPSI*)
printf(‘Berapa N?’);scanf(“%d”,&N);
jumlah=0; /*inisialisasi jumlah deret*/
k=1;
while (k<=N) /*ulangi sebanyak N kali*/
{
jumlah:=jumlah+k; /*jumlah deret sekarang*/
k++; /*suku deret berikutnya*/
} /* k>N /*kondisi setelah pengulangan berhenti */
printf(“Jumlah deret= %d”, jumlah);
}
C – Struktur Do-While LOGO
/* Program PENJUMLAHAN_DERET */
/* Menjumlahkan deret 1+2+3+...+N, N adalah bilangan bulat positif yang
dibaca dari piranti masukan. Jumlah deret dicetak ke piranti luaran */
#include <stdio.h>
main() {
/* DEKLARASI */
int N; /*banyaknya suku deret*/
int k; /*suku deret*/
int jumlah; /*jumlah deret*/
(*DESKRIPSI*)
printf(‘Berapa N?’);scanf(“%d”,&N); /*banyaknya suku deret */
jumlah=0; /*inisialisasi jumlah deret*/
k=1;
do /*ulangi sebanyak N kali*/
{
jumlah:=jumlah+k; /*jumlah deret sekarang*/
k++; /*suku deret berikutnya*/
} while (k<=N);
printf(“Jumlah deret= %d”, jumlah);
}
LOGO
Latihan
1. Buatlah algoritma untuk menghitung jumlah N buah bilangan ganjil pertama
(yaitu: 1+3+5+...). Catatan: N adalah bilangan bulat tidak negatif.
2. Buatlah algoritma untuk menghitung jumlah bilangan ganjil dari 1 sampai N
(yaitu: 1+3+5+...+N). (Perhatikan perbedaan soal latihan ini dengan soal
nomor 1).
3. Tuliskan program pascal dan C untuk mencetak gambar segitiga bintang
sebanyak N baris, setiap baris ke-i berisi i buah bintang. Nilai N dibaca dari
papan kunci.
contoh: masukan: N=5
keluaran:
*
**
***
****
*****
www.themegallery.com
LOGO