^___^

TuHan Memberi apa yang aku BUTUHKAN bukan yang aku INGINKAN . . .

Sabtu, 04 Desember 2010

Struktur Pemrograman Suatu Bahasa Pemrograman


Bahasa Pascal disusun dengan menggunakan teknik pemrograman terstruktur dan modular.

Terstruktur berarti semua label, tipe, konstanta, variabel, fungsi dan prosedur dideklarasikan secara tegas dan terinci.

Modular berarti tiap program dapat di pecah menjadi bagian  (modul/sub program) yang lebih sederhana dan mempunyai tujuan yang khusus.
Modul/sub program  dalam bahasa pascal disebut PROCEDURE dan FUNCTION.

Dengan menggunakan Sub Program dalam membuat program maka
-          Programmer akan lebih mudah membuat program terstruktur yang mudah dibaca, dipelajari dan dimodifikasi.
-          Sub program dapat digunakan oleh program lain yang membutuhkan penyelesaian masalah yang sama, sehingga tidak perlu menuliskan source code lagi.


A.    Deklarasi Variabel
Contoh :
Untuk membuat program menghitung luas persegi panjang
Buat nama_pengenal variabel utamanya yaitu : Luas, Panjang dan Lebar.

Var
   Luas : integer;
   Panjang,Lebar : integer;

Porgram untuk menghitung panjang string.

Var
   Pj_String: integer;
   Bufer : String;
Begin
   Bufer := ‘Aku belajar Pascal’;
   Pj_String := length(Bufer);
   Writeln(‘Panjang String = ’,pj_String);
   Readln;
End.
Hasil :
   Panjang Sting = 18




B.     Deklarasi Konstanta
CONST
Digunakan untuk pendeklarasian sebuah tetapan.
Tetapan/konstanta harus diberi nama pengenal dan harga.

Contoh :
const
     nilai_max = 100;
     judul = ‘turbo pascal’;
     phi   = 3.14


Contoh penggunaan constanta.

const
  phi = 3.14;
var
Rectangular Callout: Phi langsung digunakan seperti variabel tetapi nilai tetap

  r, luas_lingkaran : real;
begin
 
   r := 2;
   luas_lingkaran := phi * r * r ;
   writeln('harga phi',phi:3:2);
   writeln('luas lingkaran =',luas_lingkaran:3:2);
   readln;
end.
Hasil :
   harga phi = 3.14
   luas segitiga =12.56

C.     Deklarasi Tipe Data
Cara pendeklarasian tipe data dalam Pascal menggunakan kata cadangan /resserved word TYPE.

Contoh :
TYPE
      Anggota = (Amir,Badu,Hasan,Karim);                   Tipe data Enumerated/
      Buah = (Mangga, Apel, Rambutan, Duku);           tipe data terbilang
tipe data yang macamnya
dirinci secara jelas
     

Type
   Buah = (Mangga, Apel, Rambutan, Duku);
var
   NamaBuah : Buah;  à variabel NamaBuah bertipe data Buah.
begin
 
   for NamaBuah := Mangga to Duku do
      writeln (NamaBuah);
   readln;
end.
Hasil :
   Mangga
   Apel
   Rambutan
   Duku

TYPE
      PointerDataSiswa = ^DataSiswa;
      DataSiswa = record
              Nama  : string[30];     Tipe Data Record
              Alamat: string;
              Telp  : string;
              JKelamin : boolean;
      end;
         
Contoh Penggunaan tipe data RECORD

type
  DataSiswa = record
              Nama  : string[30];
              Alamat: string;
                    Telp  : string;
                    JKelamin : boolean;
                 end;
var
   Mhs : DataSiswa;
begin
  Mhs.Nama := 'Andi';
  Mhs.Alamat := 'BSD';
  Mhs.Telp   := '0813xxxx';
  Mhs.JKelamin := TRUE;

  writeln('Nama  :',Mhs.Nama);
  writeln('Alamat  :',Mhs.alamat);
  writeln('Telp  :',Mhs.Telp);
  writeln('Kelamin  :',Mhs.JKelamin);
  if Mhs.JKelamin = True then
     writeln('Kelamin : Laki-Laki')
  else
     writeln('Kelamin : Perempuan');
  readln;

end.
Hasil :
   Nama  :Andi
   Alamat  :BSD
   Telp  :0813xxxx
   Kelamin  :TRUE
   Kelamin : Laki-Laki

 TIPE DATA DALAM PASCAL
1.      Tipe  Data Sederhana
Tipe data integer, real, boolean, string.
2.      Tipe Data Terstruktur
Contoh : tipe data array, record.
3.      Tipe Data Pointer.
Contoh :
      PointerDataSiswa = ^DataSiswa; à tipe data pointer.
      DataSiswa = record
              Nama  : string[30];     Tipe Data Record
              Alamat: string;
              Telp  : string;
              JKelamin : boolean;
      end;

contoh Program Menggunakan Pointer
type
  PointerDataSiswa = ^DataSiswa;
  DataSiswa = record
              Nama  : string[30];
              Alamat: string;
                    Telp  : string;
                    JKelamin : boolean;
                 end;
var
   Mhs : PointerDataSiswa;
begin
 
  New(Mhs);
  Mhs^.Nama := 'Andi';
  Mhs^.Alamat := 'BSD';
  Mhs^.Telp   := '0813xxxx';
  Mhs^.JKelamin := TRUE;


  writeln('Nama  :',Mhs^.Nama);
  writeln('Alamat  :',Mhs^.alamat);
  writeln('Telp  :',Mhs^.Telp);
  writeln('Kelamin  :',Mhs^.JKelamin);
  readln;

end.
Hasil :
Nama  :Andi
Alamat  :BSD
Telp  :0813xxxx
Kelamin  :TRUE
Kelamin : Laki-Laki

Variabel Pointer tidak berisi data hanya berisi ke suatu alamat di memori.

D.    DEKLARASI FUNGSI DAN PROSEDUR.
Fungsi dan Prosedur bisa disebut modul/sub-program/sub-routine.

Prosedur adalah subroutine yang terdiri dari blok perintah/statement untuk mengolah suatu masalah dengan satu atau lebih  masukan untuk menghasilkan satu atau lebih keluaran.

Bentuk umum :
  Procedure Nama_Prosedur(param1:tipedata,param2:tipedata,)

Contoh:
Procedure TambahKali;  à procedure tanpa parameter.
Procedure  Hitung(a,b : integer);  à procedure  dengan parameter

Fungsi adalah subroutine yang mengolah suatu nasalah tertentu untuk menghasilkan suatu keluaran tertentu. Keluaran Fungsi harus memiliki tipe data.

Bentuk Umum :
  Function Nama_fungsi(param1:tipedata,param2:tipedata,)
  :integer


Contoh:
function Tambah:integer;  à fungsi tanpa parameter.
function  hitung(a,b : integer): integer;
à fungsi  dengan parameter


Contoh Program menggunakan Procedure
Var
  Tambah,Kali,a,b : integer;

Procedure TambahKali;  à Deklarasi procedure
Begin
   Tambah := a + b;           blok perintah prosedur
   Kali   := a * b;

   writeln(‘a+b = ‘,Tambah);
   writeln(‘a*b = ’,Kali);
End;

{**** BLOK PROGRAM UTAMA *****}
begin
   write(‘Input A = ’); readln(a);
   write(‘Input B = ’); readln(b);
  
   TambahKali;   à Program utama memanggil  procedure TambahKali
   readln;
end.
Hasil :
   Input A = 5
   Input B = 10
   A+b = 15
   A*b = 50
   


Contoh Program menggunakan FUNCTION
Var
  a,b : integer;

function Tambah : integer;  à Deklarasi fungsi tambah
Begin
   Tambah := a + b;           blok perintah function Tambah
End;

function kali: integer;  à Deklarasi fungsi kali
begin  
  Kali   := a * b;  à mengisi fungsi kali dengan nilai yaitu perkalian a * b.
End;

  

{**** BLOK PROGRAM UTAMA *****}
begin
   write(‘Input A = ’); readln(a);
   write(‘Input B = ’); readln(b);
  
   writeln(‘a+b = ‘,Tambah);
   writeln(‘a*b = ’,Kali);  à Program utama memanggil 
                                                                                 fungsi Tambah dan Kali dan
                                                                                 menampilkan nilai dari fungsi tambah
                                                                                 dan kali
   readln;
end.
Hasil :
   Input A = 5
   Input B = 10
   A+b = 15
   A*b = 150
   

Tidak ada komentar:

Posting Komentar