Sunday, December 11, 2016

PENGANTAR LOGIKA DAN ALGORITMA DENGAN PASCAL



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:
  1. Bagan alir sebaiknya digambar dari atas ke bawah dan mulai dari bagian kiri dari suatu halaman.
  2. Kegiatan di dalam bagan alir harus ditunjukkan dengan jelas.
  3. Harus ditunjukkan dari mana kegiatan akan dimulai dan dimana akan berakhirnya (diawali dari satu titik START dan diakhiri dengan END).
  4. Masing-masing kegiatan di dalam bagan alir sebaiknya digunakan suatu kata yang mewakili suatu pekerjaan, misalnya:
-          "Persiapkan" dokumen
-          "Hitung" gaji
  1. Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang semestinya.
  2. Kegiatan yang terpotong dan akan disambung di tempat lain harus ditunjukkan dengan jelas menggunakan simbol penghubung.
  3. 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:
  1. Tentukan nama variabel yang akan menampung data Panjang, lebar dan luas persegi panjang.
  2. Masukkan (inputkan) data Panjang dan Lebar pada variabel yang sudah ditentukan.
  3. Hitung Luas persegi panjang.
  4. Tampilkan (outputkan) Luas persegi panjang.







Flowchart:


Latihan:
Buat algoritma dan Flowchart untuk Menghitung:
  1. Luas Segitiga
  2. 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:
  1. Luas Segitiga         Rumus := 0.5 *alas*tinggi
  2. Luas Lingkaran     Rumus := PI*r*r   PI berupa konstanta - Const pi = 3.14
  3. Menghitung rata-rata tiga buah data
- Masukkan bilangan a, b, dan c
- Jumlahkan ketiga bilangan tersebut
- Bagi jumlah tersebut dengan 3
- Tulis hasilnya
  1. 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.


 








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 for .. do tersarang
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

contoh :
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;
begin
     i := 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:
  1. 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.
  2. 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.
Untuk dapat lebih memahami maksud dari pernyataan diatas, bisa kita lihat contoh perbedaan penggunaan perulangan repeat...until dengan perulangan while-do:



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

SLIDE SHOW PADA BLOG

  Langkah - langkah mengganti slide show 1.       Buka blog www.blogger.com , kemudian login. 2.       Masukkan alamat g-mail d...