PENGANTAR LOGIKA DAN ALGORITMA DENGAN PASCAL
Pengertian LOGIKA:
Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika
pada dasarnya filsafat berpikir. Berpikir berarti melakukan suatu tindakan yang
memiliki suatu tujuan. Jadi pengertian Logika adalah ilmu berpikir / cara
berpikir dengan berbagai tindakan yang memiliki tujuan tertentu.
Pengertian ALGORITMA:
Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma
diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau
menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan
algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.
Alat Bantu
untuk menuliskan Logika dan Algoritma, salah satunya adalah FLOWCHART.
Pengertian
FLOWCHART:
gambaran
dalam bentuk diagram alir dari algoritma dalam suatu program atau prosedur sistem
secara logika, yang menyatakan arah alur program dalam menyelesaikan suatu
masalah.
SIMBOL Flowchart

Pedoman-pedoman dalam Membuat Flowchart:
- Bagan alir sebaiknya digambar dari atas ke bawah dan mulai dari bagian kiri dari suatu halaman.
- Kegiatan di dalam bagan alir harus ditunjukkan dengan jelas.
- Harus ditunjukkan dari mana kegiatan akan dimulai dan dimana akan berakhirnya (diawali dari satu titik START dan diakhiri dengan END).
- Masing-masing kegiatan di dalam bagan alir sebaiknya digunakan suatu kata yang mewakili suatu pekerjaan, misalnya:
-
"Persiapkan"
dokumen
-
"Hitung"
gaji
- Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang semestinya.
- Kegiatan yang terpotong dan akan disambung di tempat lain harus ditunjukkan dengan jelas menggunakan simbol penghubung.
- Gunakanlah simbol-simbol bagan alir yang standar.
Secara garis
besar, Ada 3 bagian utama dalam flowchart :

Contoh:
Buat
algoritma dan Flowchart untuk Menghitung Luas Persegi Panjang:
Pekerjaan:
Rumus:
LuasPersegiPanjang
= Panjang x Lebar
Algoritma:
- Tentukan nama variabel yang akan menampung data Panjang, lebar dan luas persegi panjang.
- Masukkan (inputkan) data Panjang dan Lebar pada variabel yang sudah ditentukan.
- Hitung Luas persegi panjang.
- Tampilkan (outputkan) Luas persegi panjang.
Flowchart:

Latihan:
Buat
algoritma dan Flowchart untuk Menghitung:
- Luas Segitiga
- Luas Lingkaran
IMPLEMENTASI
DALAM PROGRAM
(Sebagai
contoh: Bahasa Pemrograman Pascal)
Pengertian
PROGRAM:
Kumpulan
instruksi (statements) yang disusun secara logis untuk memecahkan suatu
masalah. Instruksi-instruksi yang digunakan disesuaikan dengan jenis bahasa
pemrograman yang digunakan (reserved word yang disediakan).
Struktur Program Pascal
Secara
ringkas, struktur suatu program Pascal
dapat terdiri dari :
1. Judul Program
2. Tubuh Program
Tubuh program dibagi menjadi dua bagian utama :
a.
Bagian deklarasi
- deklarasi label
- deklarasi konstanta
- deklarasi tipe
- deklarasi variabel/perubah
- deklarasi prosedur
- deklarasi fungsi
b.
Bagian Pernyataan/Terproses
Struktur
Penulisan Pascal:
Program Nama_Program;
uses
. . .
{Unit-unit yang dipakai} ;
label
. . .
{label-label yang dipakai } ;
const
. . .
{pengumuman tetapan-tetapan} ;
type
. . .
{ pengumuman tipe-tipe data };
var
. . .
{ pengumuman peubah-peubah };
procedure Nama_Prosedur;
begin
. . .
end;
Function Nama_Fungsi;
begin
. . .
end;
{ Program utama }
begin
. . .
end.
Perintah
Input :
Perintah
Pascal yang digunakan untuk memasukkan/menginputkan data.
Bentuk
perintah:
Read
dan Readln
Struktur
penulisan:
Read(nama variabel);
Readln(nama Variabel)
Perintah
Output:
Perintah
Pascal yang digunakan untuk menampilkan/mengoutputkan data.
Bentuk
perintah:
Write : setelah menampilkan data atau teks, kursor berada tepat
disamping kanan data yang ditampilkan.
Writeln : setelah menampilkan data atau teks, kursor berada pada baris
berikutnya.
Struktur
penulisan:
write(nama variabel);
write(‘teks’);
writeln(nama Variabel);
writeln(‘teks’);
Contoh:
Buat program
sederhana untuk Menghitung Luas Persegi Panjang:
Program
LuasPersegiPanjang;
Var
Luas, Panjang,
Lebar : integer;
Begin
Write(‘masukkan
panjang : ‘);
Readln(panjang);
Write(‘masukkan
lebar : ‘);
Readln(Lebar);
Luas:=
Panjang*Lebar;
Writeln(‘Luas Persegi Panjang adalah:’,Luas);
Readln;
End.
Tampilan
pada lembar kerja Pascal:

Menjalankan
program dengan perintah:
Ctrl+F9(tekan tombol Ctrl dan F9 bersama-sama).
Apabila
Panjang diisi 7 dan lebar diisi 8 maka hasil perintah diatas tampil sbb:

Latihan:
Buat program
sederhana untuk Menghitung:
- Luas Segitiga Rumus := 0.5 *alas*tinggi
- Luas Lingkaran Rumus := PI*r*r PI berupa konstanta - Const pi = 3.14
- Menghitung rata-rata tiga buah data
- Masukkan bilangan a, b, dan c
- Jumlahkan ketiga bilangan tersebut
- Bagi jumlah tersebut dengan 3
- Tulis hasilnya
- Algoritma konversi suhu dalam derajat Celcius ke derajat Kalvin
Penyelesaian :
Input (Celcius)
Kalvin = Celcius + 273
Output (Kalvin)
STRUKTUR
KENDALI “IF’
Struktur
kendali aliran adalah suatu bentuk/struktur yang memiliki peranan khusus untuk mengatur aliran urutan pengerjaan
operasi atau beberapa operasi tertentu.
Salah satu contoh pernyataan kendali yaitu
pernyataan if .
Pernyataan
if (if statement) akan
memeriksa suatu persyaratan dan menentukan
apakah syarat tersebut benar atau salah, kemudian melakukan pekerjaan
sesuai dengan nilai pernyataan tersebut.
Struktur
Penulisan:
Berikut
adalah bentuk-bentuk dari pernyataan if
yang sering digunakan :
1. If dengan
satu pernyataan (statement)
If
(kondisi) then pernyataan ;
2.
If dengan dua atau lebih pernyataan (statement)
If (kondisi) then
begin
pernyataan1 ;
pernyataan2 ;
…..
end;
3.
If dan else
If (kondisi) then
begin
pernyataan1 ;
pernyataan2 ;
…..
end
else
begin
pernyataan1 ;
pernyataan2 ;
…..
end;
Dari bentuk bentuk pernyataan if di atas yang harus diperhatikan
adalah untuk pernyataan if dan else, pernyataan-pernyataan setelah then tanpa menggunakan “;”. Dengan kata
lain jika pernyataan setelah then hanya terdiri dari satu pernyataan saja maka
pernyataan tersebut tanpa menggunakan “;”, namun jika pernyataan setelah then
terdiri dari lebih dari satu pernyataan makan setelah end tanpa menggunakan “;”.
Penyeleksian Kondisi dengan Satu Kasus
Notasi
algoritma untuk penyeleksian kondisi dengan satu kasus adalah dengan
menggunakan perintah IF .. THEN .. ENDIF, dengan struktur sebagai berikut :
IF <kondisi>
THEN
<pernyataan>
ENDIF
Isi
dari <pernyataan> adalah suatu solusi yang mungkin, dan akan dijalankan
apabila <kondisi> dipenuhi (true). Apabila kondisi tidak dipenuhi
(false) maka tidak ada aksi apapun yang akan dijalankan selain
melanjutkan proses eksekusi algoritma atau program. kata ENDIF dituliskan untuk
mempertegas awal dan akhir dari perintah IF .. THEN.
Contoh :
Program if_then;
var
belanja : real;
begin
write('Jumlah Belanja :
Rp ');
readln(belanja);
if belanja >= 500000
then belanja := 0.95 * belanja;
write('Jumlah belanja
yang harus dibayar adalah Rp ', belanja:0:2);
readln;
end.
Kode program diatas berfungsi untuk
memberikan diskon sebesar 5% kepada pelanggan yang memiliki total belanja lebih
dari atau sama dengan Rp 500.000,- Sementara jika belanja dibawah Rp 500.000,-
tidak diberikan diskon apapun. Sebagai contoh jika script diatas dijalankan dan
kita melakukan input jumlah belanja sebesar Rp 500000, maka akan didapatkan
hasil sebagai berikut:
Jumlah Belanja : Rp 500000
Jumlah belanja yang harus dibayar
adalah Rp 475000.00
Penyeleksian Kondisi dengan Dua Kasus
Notasi
algoritma untuk penyeleksian kondisi dengan dua kasus adalah dengan menggunakan
perintah IF .. THEN .. ELSE .. ENDIF, dengan struktur sebagai berikut :
IF <kondisi> THEN
<pernyataan 1>
ELSE
<pernyataan 2>
ENDIF
Isi dari <pernyataan 1>
adalah suatu solusi yang mungkin, dan akan dijalankan apabila <kondisi>
dipenuhi (true). Apabila kondisi tidak dipenuhi (false) maka akan
dijalankan <pernyataan 2>.
Latihan:
Buat
flowchart dan program sederhana untuk menampilkan bilangan terbesar.
Program besar;
Var A, B, Terbesar : integer ;
Begin
Write (‘masukkan nilai A : ’);
Readln (A);
Write (‘masukkan nilai B : ’) ;
Readln (B);
If A > B then
Terbesar := A
Else
Terbesar := B;
Writeln(‘Nilai Terbesar adalah : ‘,Terbesar);
Readln;
End.

Program besar;
Var A, B, Terbesar : integer ;
Begin
Write (‘masukkan nilai A : ’);
Readln (A);
Write (‘masukkan nilai B : ’) ;
Readln (B);
If A > B then
Terbesar := A
Else
Terbesar := B;
Writeln(‘Nilai Terbesar adalah : ‘,Terbesar);
Readln;
End.
|
Penyeleksian kondisi dengan tiga kasus atau lebih
Notasi
algoritma untuk penyeleksian kondisi dengan tiga kasus atau lebih adalah
sebagai berikut :
IF <kondisi 1> THEN
<pernyataan 1>
ELSE
IF <kondisi 2> THEN
<pernyataan 2>
ELSE
IF <kondisi 3> THEN
<pernyataan 3>
… dan seterusnya
ENDIF
ENDIF
ENDIF
Contoh :
Susun algoritma
untuk menentukan wujud air pada suhu-suhu tertentu
Jawab
Wujud air pada suhu
tertentu adalah padat, cair dan gas. Misal T adalah suhu antara 0 sampai dengan
100 pada satuan derajat celcius, maka :
• pada T ≤ 0, air berwujud padat,
• pada 0 < T ≤ 100 , air berwujud
cair,
• pada T > 100, air berwujud gas.
Program suhu;
var T : integer;
begin
write('Masukkan Suhu = ');
readln
(T);
if T
<= 0 then
write('Padat')
else
if (T
> 0) and (T <= 100) then
write('Cair')
else
write('Gas');
readln;
end.
Latihan :
1.
Menentukan bilangan ganjil atau genap !
2.
Masukkan 3 buah bilangan. Carilah bilangan terbesar
dari ketiga bilangan tersebut !
Jika ada 2 atau 3
bilangan yang nilainya sama besar, maka muncul tulisan “Ada 2 atau 3 bilangan
yang nilainya sama” !
3.
Membuat
nilai huruf dari nilai angka yang kita input dengan kriteria sebagai berikut:
Nilai Angka
|
Nilai Huruf
|
N >= 85
|
A
|
70 ≤ N < 85
|
B
|
60 ≤ N < 70
|
C
|
50 ≤ N < 60
|
D
|
N < 50
|
E
|
4.
Misalkan karyawan PT. ABC dikelompokkan berdasarkan
golongannya. Upah per jam tiap karyawan bergantung pada golongannya (lihat
tabel). Susun algoritma dengan input nama karyawan dan golongan karyawan tersebut.
Golongan
|
Upah per jam
|
A
|
Rp. 4.000,00
|
B
|
Rp. 5.000,00
|
C
|
Rp. 6.000,00
|
D
|
Rp. 7.000,00
|
5.
Menampilkan nama hari dalam seminggu
Angka
|
Nama hari
|
1
|
Senin
|
2
|
Selasa
|
3
|
Rabu
|
4
5
6
7
|
Kamis
Jum’at
Sabtu
Minggu
|
PENYELEKSIAN KONDISI DENGAN CASE-OF
Selain IF, metoda penyeleksian kondisi dapat
juga menggunakan perintah CASE. Konstruksi Case dapat menyederhanakan perintah
IF-THEN-ELSE yang bertingkat-tingkat.
Struktur CASE-OF
mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah
statemen yang diawali dengan suatu label permasalahan (case label) yang
mempunyai tipe sama dengan selector.
Statement yang
mempunyai case label yang bernilai sama dengan nilai selector akan diproses
sedang statemen yang lainya tidak.
Bentuk struktur dari
CASE-OF :
CASE <kondisi> of
Nilai 1 : <pernyataan
1> ;
Nilai 2 : <pernyataan
2> ;
Nilai 3 : <pernyataan
3> ;
…
Nilai n : <pernyataan
n> ;
ELSE
<pernyataan
else> ;
ENDCASE
Isi dari <pernyataan> adalah suatu solusi yang mungkin,
dan akan dijalankan apabila <kondisi> dipenuhi (true). Apabila
kondisi tidak dipenuhi (false) maka pernyataan ELSE akan dijalankan.
kata ENDCASE dituliskan untuk mempertegas awal dan akhir dari perintah CASE. Daftar case label
dapat berupa konstanta, range dari konstanta yang bukan bertipe real.
Contoh program ;
Program Case_Nilai;
Var
nilai : char ;
begin
write('Nilai yang didapat = ');
readln(nilai);
case nilai of
'A': writeln('Sangat baik');
'B': writeln('Baik');
'C': writeln('Cukup');
'D': writeln('Kurang');
'E': writeln('Sangat kurang ');
end;
readln;
end.
Latihan :
Ukuran
|
Harga
|
S
|
Rp. 10.000,00
|
M
|
Rp. 20.000,00
|
L
|
Rp. 30.000,00
|
X
|
Rp. 40.000,00
|
1. Buatlah
program untuk menampilkan harga dari
suatu ukuran baju dengan ketentuan sebagai berikut :
2.
Buatlah program untuk menampilkan menu sebagai berikut
:
MENU
1. Input Data
2. Cetak Data
3. Rubah Data
4. Hapus Data
5. Keluar Program
Masukkan pilihan anda [1/2/3/4/5]
: _
3. Membuat nilai huruf dari nilai angka
yang kita input dengan kriteria sebagai berikut:
Nilai Angka
|
Nilai Huruf
|
N >= 85
|
A
|
70 ≤ N < 85
|
B
|
60 ≤ N < 70
|
C
|
50 ≤ N < 60
|
D
|
N < 50
|
E
|
4. Susun algoritma yang menampilkan
teks, misalnya ”SATU” apabila diinputkan bilangan 1. Gunakan input antara 1
sampai dengan 5.
6.
Menampilkan nama hari dalam seminggu :
Angka
|
Nama hari
|
1
|
Senin
|
2
|
Selasa
|
3
|
Rabu
|
4
5
6
7
|
Kamis
Jum’at
Sabtu
Minggu
|
7.
Buatlah program untuk menampilkan menu sebagai berikut
:
MENU EMPAT
PERSEGI PANJANG
1. Hitung Luas Rumus Luas := p * l
2. Hitung Keliling Rumus Keliling := 2 * (p + l)
3. Hitung Panjang Diagonal Rumus Panjang diagonal := sqrt (p2
+ l2)
4. Keluar Program
Masukkan pilihan
anda [1/2/3/4] : _
PERULANGAN
Struktur perulangan adalah
suatu susunan perintah atau pernyataan yang dijalankan untuk melakukan proses
berulang-ulang selama kondisi masih bernilai True atau kondisi masih
dipenuhi. Proses perulangan akan berhenti apabila kondisi bernilai False atau
kondisi menjadi tidak dipenuhi.
Terdapat tiga jenis struktur
perulangan, yaitu :
a. Perulangan dengan statement For
.. Do
b. Perulangan dengan statement While
.. Do
c. Perulangan dengan statement Repeat
.. Until
A. Perulangan dengan statement For ..
Do
Perulangan dengan
statement For .. Do adalah struktur perulangan dengan menggunakan suatu
variabel kontrol yang berfungsi sebagai indeks atau counter. Terdapat dua jenis
perulangan dengan menggunakan statement For .. Do, yaitu :
a. Perulangan menaik, dari kecil ke besar, atau
disebut juga dengan perulangan positif. Perintah yang digunakan adalah For
.. To .. Do.
b. Perulangan menurun, dari besar ke kecil,
atau disebut juga dengan perulangan negatif. Perintah yang digunakan adalah For
.. DownTo .. Do.
Struktur Perulangan For

Struktur perulangan For .. To ..
Do adalah sebagai berikut :
For counter:=awal To akhir
Do
Pernyataan
atau blok pernyataan
Struktur perulangan For .. DownTo .. Do adalah sebagai berikut :
For counter:=awal
DownTo akhir Do
Pernyataan atau blok pernyataan
Contoh 1
Susun program untuk
menampilkan bilangan 1 s/d 5 berurutan.
Jawab :


Contoh 2
Susun program untuk
menampilkan bilangan 5 s/d 1 berurutan.
Jawab :


Contoh 3
Susun program untuk menghitung jumlah dari data
berikut : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Jawab :


Contoh 4
Susun program untuk menghitung nilai rata-rata
data berikut : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Jawab :


Contoh 5
Susun program untuk menghitung nilai rata-rata
data yang diinputkan.
Jawab :


Jika statement yang diulang lebih dari satu
statement, maka penulisannya dapat dilakukan dengan menggunakan blok statement
(diawali dengan Begin dan diakhiri dengan End;).
contoh :
Program for_7;
var
i : integer;
begin
for i := 1 to 5 do
begin
write(i);
writeln(' Turbo
Pascal');
end;
readln;
end.
Bila kode program diatas dijalankan, akan didapat
hasil:
1 Turbo Pascal
2 Turbo Pascal
3 Turbo Pascal
4 Turbo Pascal
5 Turbo Pascal
Perulangan tersarang (nested-loop)
adalah perulangan yang berada dalam perulangan lainnya.
contoh :uses crt;
var
i, j : integer;
begin
for i := 1 to 5 do
begin
for j := 1 to 5 do
write(j, ' ');
writeln;
end;
readln; end.
Bila kode program diatas dijalankan, akan didapat hasil:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
uses crt;
var
i, j : integer;
begin
clrscr;
for i:=1 to 5 do
begin
for j:=1 to 3 do
begin
write(i:8, j:3);
end;
writeln;
end;
readln;
end.
Bila program dijalankan akan
menghasilkan:
1 1 1 2 1 3
2 1 2 2 2 3
3 1 3 2 3 3
4 1 4 2 4 3
5 1 5 2 5 3
Latihan :
1.
Buat program yang hasilnya :
12345 Pascal
2.
Buat deret
hitung 3,7,11,15,.........
3.
Buat deret seperti berikut 256, 196, 144,...
B. Perulangan dengan statement While ..
Do
Statement While-Do digunakan untuk melakukan proses
perulangan suatu statement atau blok statement secara terus-menerus selama
kondisi ungkapan logika pada while masih bernilai benar.
Struktur perulangan While .. Do adalah
sebagai berikut :
While ungkapan_logika Do
statement;
Contoh 1:
program
contoh_while_1;
uses crt;
var
i:integer;
begin
i:=0;
while i<5 do
begin
writeln(i);
i:=i+1;
end;
readln;
end.
Bila
program dijalankan akan menghasilkan:
0
1
2
3
4
Penjelasan:
Perulangan dari while akan terus menerus dikerjakan bila
kondisinya masih benar. Dalam hal ini kondisinya adalah member i nilai awal I
terlebih dahulu. Bila nilai I kurang dari 5, berarti kondisi di dalam While masih
terpenuhi dan perulangan akan selesai setelah nilai I lebih besar atau sama
dengan 5.
Contoh 2 :
program
contoh_while_2;
uses crt;
var
i
: integer;
begin
i
:= 0;
while
i < 5 do
begin
writeln(i, ' Turbo Pascal');
i := i + 1;
end;
readln;
end.
Bila
program dijalankan, akan didapatkan hasil:
0
Turbo Pascal
1
Turbo Pascal
2
Turbo Pascal
3
Turbo Pascal
4
Turbo Pascal
Latihan :
1.
Buat deret hitung
3,7,11,15,.........<100
2.
Susun program untuk menghitung nilai rata-rata data
berikut : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Perulangan While .. Do
Tersarang
Contoh 1:
Program while_tersarang;
uses crt;var i, j : integer;begini
:= 1; while i <= 5 do begin j := 1; while j <= 5 do begin write(j, ' '); j := j + 1; end; writeln; i
:= i + 1; end;readln; end.Contoh 2 :Program
while_tersarang_2;uses crt;var i,
j, n : integer; lagi
: char;begin clrscr; lagi
:= 'Y'; while
lagi = 'Y' do begin write('Input jumlah perulangan : ');
readln(n);
i := 1; while i <= n do begin j := 1; while j <= n do begin write(i, ' '); j := j + 1; end; writeln; i := i + 1; end; write('Apakah anda ingin mengulang lagi ?
'); readln(lagi); lagi := upcase(lagi); end; readln;end.
Bila program dijalankan, maka akan meminta
inputan jumlah perulangan terlebih dahulu. Sebagai contoh jika kita input
jumlah perulangan dengan nilai 5, maka didapatkan hasil sebagai berikut:
Input jumlah
perulangan : 5
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
Apakah anda
ingin mengulang lagi ? _
Kita bisa melakukan perulangan lagi dengan
menginput nilai Y jika ada pertanyaan apakah anda ingin
mengulang lagi. Jika ya maka perulangan akan dilakukan lagi. Sebagai contoh
jika kita menginput nilai 3 pada jumlah perulangan, maka akan
didapatkan hasil sebagai berikut:
Input jumlah perulangan
: 3
1 1 1
2 2 2
3 3 3
Apakah anda
ingin mengulang lagi ? _
Latihan :
1. Susun program yang bila dijalankan
akan menghasilkan:
1 1 1 2 1 3
2 1 2 2 2 3
3 1 3 2 3 3
4 1 4 2 4 3
5 1 5 2 5 3
2. Susun program yang bila dijalankan
akan menghasilkan:
i = 10 Saya belajar while do
i = 8
Saya belajar while do
i = 6
Saya belajar while do
i = 4
Saya belajar while do
i = 2
Saya belajar while do
C. Perulangan dengan statement Repeat
.. Until
Struktur
Repeat…Until digunakan untuk mengulang
pernyataan-pernyataan atau blok pernyataan sampai kondisi yang diseleksi di
Until terpenuhi.
Bentuk umumnya adalah:
Repeat pernyataan Until ungkapan_logika
Contoh 1:
Program repeat_1;
Uses crt;
Var
I:Integer
Begin
I:=0;
Repeat
I:=I+1;
Writeln(I);
Until I=5;
Readln;
End.
Bila program dijalankan akan menghasilkan
:
1
2
3
4
5
Penjelasan:
Pencetakan variabel I akan diulang-ulang
sampai harga I bernilai 5.
Beberapa hal
yang perlu diperhatikan dalam perulangan repeat until adalah:
- Paling sedikit statement didalam perulangan diproses sekali, karena seleksi kondisi pada statement until yang terletak dibawah. Jadi walaupun kondisi awal sudah tidak sesuai dengan kondisi statement until, tapi blok statement setelah repeat tetap akan dikerjakan hingga statement until.
- Pada repeat...until dapat tidak menggunakan blok statement (tidak diperlukan begin dan end untuk menunjukkan batas perulangannya), karena batas perulangannya telah ditunjukkan mulai Repeat sampai Until (Jadi Repeat dan Until merupakan pengganti begin dan end). Kalaupun ditambahkan blok statement begin dan end didalam perulangan repeat...until, hasilnya akan sama saja dengan tanpa menggunakan begin dan end.
Contoh perulangan dengan repeat...until :
var i : integer;begin i := 10; repeat write(i); writeln(' Turbo Pascal'); inc(i); until i > 5; readln;end.
Contoh perulangan dengan while-do:
var i : integer; begin i := 10; while i < 5 do begin write(i); writeln(' Turbo Pascal'); inc(i); end; readln;end.
Kedua
script diatas sengaja dibuat nilai awal yang tidak memenuhi kondisi pada tiap
perulangan, baik repeat...until maupun while-do. Jika kedua script diatas
dijalankan maka script dengan perulangan while-do tidak akan menampilkan hasil
apapun, sementara script dengan perulangan repeat...until tetap akan
menjalankan statement program minimal satu kali, dan menampilkan hasil seperti
ini:
10 Turbo
Pascal
Contoh 2 :
Program repeat_2;
Uses crt;
Var
Celcius, Fahrenheit : real;
Begin
Clrscr;
Writeln(‘----------------------------------‘);
Writeln(‘ Celcius Fahrenheit ‘);
Writeln(‘----------------------------------‘);
Celcius:=0;
Repeat
Fahrenheit:= 1.8 * celcius + 32;
Writeln(celcius:8:2,
Fahrenheit:14:2);
Celcius:= celcius + 0.5;
Until celcius > 5;
Writeln(‘----------------------------------‘);
Readln;
End.
Contoh 3: repeat…until tanpa nilai awal
Program berdoa;
uses crt;
var
jawab
: char;
begin
clrscr;
repeat
write('Apakah Anda sudah berdoa hari ini ?
(s/b)');
readln(jawab);
until
(jawab = 's') or (jawab = 'b');
if
jawab = 's' then
write ('Bagus')
else
write ('Berdoalah untuk mendekatkan diri
dengan Tuhan');
readln;
end.
Perulangan Repeat ..
Until Tersarang
Sama seperti perulangan lainnya, struktur
perulangan repeat...until tersarang adalah suatu perulangan repeat...until yang
berada didalam perulangan repeat...until lainnya.
Contoh:
Program
repeat_tersarang;uses crt;var i, j : integer;begin clrscr; i := 1; repeat j := 1; repeat write(j, ' '); inc(j); until j > 5; writeln; inc(i); until i > 5; readln;end.
Bila program dijalankan, maka akan dihasilkan:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
Latihan :
1.
Susun program yang bila dijalankan akan menghasilkan:
1 1 1 2 1 3
2 1 2 2 2 3
3 1 3 2 3 3
4 1 4 2 4 3
5 1 5 2 5 3
2.
Susun program yang bila dijalankan akan
menghasilkan:
Buat deret hitung
3,7,11,15,.........<100
3.
Susun program yang bila dijalankan akan menghasilkan:
i =
10 Saya belajar repeat until
i
= 8
Saya belajar repeat until
i
= 6
Saya belajar repeat until
i
= 4
Saya belajar repeat until
i
= 2
Saya belajar repeat until
4.
Susun program dengan REPEAT…UNTIL yang bila
dijalankan akan menghasilkan:


5.
Susun program dengan WHILE…DO yang bila dijalankan
akan menghasilkan:
1
1 2
1 2
3
1 2
3 4
1 2
3 4 5
6.
Susun program dengan FOR…DO yang bila dijalankan
akan menghasilkan:
1 1 1 1 1
2 2 2 2
3 3 3
4 4
5
No comments:
Post a Comment