Rabu, 30 Maret 2011

Tugas komdat tanggal 29/03/2011

©2009 STMIK LIKMI, allrights reserved.  Web Designer : Henry Darmawan | Web Programmer : Harry Santoso | Team Leader : Hery Heryanto
Variabel Global dan Variabel Lokal

Variabel Global adalah variabel yang dikenal di seluruh badan program dan di definisikan di dalam program utama.

Variabel Lokal adalah variabel yang hanya dikenal di badan program yang mendefinisikannya, di definisikan di prosedure atau fungsi.

Contoh :
Program <Nama Program>
Var A : Tipe variabel {Variabel Global}

Procedure / Fungsi
Var C : Tipe Variabel {Variabel Lokal}

Dari contoh diatas A adalah variabel global karena A didefinisikan di program utama sehingga bisa dikenal oleh seluruh badan program. Sedahg variabel C adalah variabel lokal dan hanya dikenal di tempat didefinisikannya
 
Function

FUNGSI - Sebuah TIPE KHUSUS YANG PROSEDUR PENGEMBALIAN NILAI A
Prosedur menerima data atau variabel ketika mereka dieksekusi. Fungsi juga menerima data, tetapi memiliki kemampuan untuk mengembalikan nilai ke prosedur atau program yang memintanya. Fungsi digunakan untuk melakukan tugas-tugas matematika seperti perhitungan faktorial.

Sebuah fungsi

     * dimulai dengan fungsi kata kunci
     * mirip dalam struktur dengan prosedur
     * suatu tempat di dalam kode yang terkait dengan fungsi, nilai ditugaskan untuk nama fungsi
     * Fungsi yang digunakan pada sisi tangan kanan dari sebuah ekspresi
     * hanya dapat mengembalikan tipe data sederhana

Sebenarnya pos dari suatu fungsi sedikit berbeda daripada prosedur. Format adalah,

       function_name fungsi (deklarasi variabel): return_data_type;


Setelah kurung yang mendeklarasikan variabel tersebut diterima oleh fungsi, tipe data yang dikembalikan (didahului oleh tanda titik dua) dinyatakan.


fungsi ADD_TWO (nilai1, nilai2: integer): integer;
mulai
ADD_TWO: = nilai1 + nilai2
akhir;


Baris berikut menunjukkan bagaimana memanggil fungsi,


Hasil: = ADD_TWO (10, 20);

demikian, ketika ADD_TWO dieksekusi, itu sama dengan nilai yang diberikan dengan namanya (dalam hal ini 30), yang kemudian ditugaskan untuk hasil.

Function Menghitung Pangkat Bilangan dengan Pascal


July 26th, 2008 | by rosihanari
Free Software
Pada artikel ini akan dibahas tentang bagaimana membuat program Pascal untuk menghitung pangkat bilangan.
Seperti yang kita ketahui bahwa dalam Pascal tidak ada suatu function atau perintah tertentu untuk menghitung pangkat bilangan secara langsung. Dengan demikian kita harus membuat function sendiri untuk menghitung pangkat bilangan tersebut.
Dalam pembahasan ini akan dibedakan dua jenis pangkat a^b, yaitu untuk b berupa bilangan bulat non negatif dan a berupa bilangan riil.
Untuk a^b dengan b bilangan bulat non negatif, tentu saja berlaku:
a^b = a x a x … x a
dengan jumlah perkalian a sebanyak b kali.
Apabila untuk kasus pertama ini diimplementasikan dengan program Pascal, maka kasus ini dapat teratasi dengan perulangan. Berikut ini adalah function untuk menghitung pangkat berupa bilangan bulat non negatif dengan Pascal:
01.function pangkatBulat(a : real, <strong>b : integer</strong>) : real;
02.var i : integer; temp : real;
03.begin
04.     temp := 1;
05.     for i := 1 to b do
06.     begin
07.         temp := temp * a;
08.     end;
09.     pangkat := temp;
10.end;
Jika Anda perhatikan pada function di atas, maka terdapat perintah temp := temp * a; Proses ini dilakukan b kali, dengan nilai awal temp adalah 1. Mengapa demikian? Untuk menjawab ini kita ambil contoh kasus. Sebagai contoh misalkan akan dicari 3^4 (a = 3 dan b = 4). Hasil perpangkatan ini akan diperoleh dari perkalian 3 x 3 x 3 x 3. Berikut ini adalah proses perhitungannya dengan menggunakan algoritma yang diambil dari program di atas:
01.temp = 1
02. 
03.perulangan pertama (i = 1)
04.temp = temp x a = 1 x 3 = 3
05. 
06.perulangan kedua (i = 2)
07.temp = temp x a = 3 x 3 = 9
08. 
09.perulangan ketiga (i = 3)
10.temp = temp x a = 9 x 3 = 27
11. 
12.perulangan keempat (i = 4)
13.temp = temp x a = 27 x 3 = 81
Nah.. dari hasil di atas benar bahwa hasil perhitungan 3^4 = 81. Dengan algoritma ini, bisa diimplementasikan pada sebarang  nilai  a dan b (a riil dan b bulat non negatif).
Selanjutnya bagaimana dengan b yang berbentuk bilangan riil? misalnya 4^1.5? Hmmm… kalau yang ini gak bisa pakai algoritma sebelumnya karena kesulitan mengimplementasikan ke bentuk perulangan. Lantas bagaimana?
OK… untuk menjawab ini mari kita ingat kembali pelajaran di SMA mengenai konsep Ln atau Log dan juga eksponen. Sekarang kita gunakan konsep Ln ini ke masalah kita. Dalam hal ini kita akan mencari nilai y = a^b. Perhatikan:
y = a^b
<=> Ln y = Ln (a^b)
<=> Ln y = b Ln(a)
<=> e^(Ln y) = e^(b Ln(a))
<=> y = e^(b Ln(a))
Dari langkah di atas, kita sudah dapatkan formulasi baru untuk mencari y = a^b dengan b adalah riil. Dalam Pascal telah tersedia function exp() untuk mencari nilai eksponensial, serta function Ln() untuk mencari nilai logaritma bilangan natural. Sehingga implementasinya ke Pascal adalah:
1.function pangkatRiil(a : real, <strong>b : real</strong>) : real;
2.begin
3.    pangkatRiil := exp(b * ln(a));
4.end;
Selanjutnya akan kita implementasikan function-function di atas di program Pascal:
01.Program MencariPangkat;
02.Var x : real; y : integer; z : real;
03. 
04.function pangkatBulat(a : real, b : integer) : real;
05.var i : integer; temp : real;
06.begin
07.     temp := 1;
08.     for i := 1 to b do
09.     begin
10.         temp := temp * a;
11.     end;
12.     pangkat := temp;
13.end;
14. 
15.function pangkatRiil(a : real, <strong>b : real</strong>) : real;
16.begin
17.    pangkatRiil := exp(b * ln(a));
18.end;
19. 
20.Begin
21.    x := 5;
22.    y := 3;
23.    z := 3.5;
24.    Write('Nilai ',x,' pangkat ',y,' adalah ',
25.           pangkatBulat(x,y):3:0);
26.    Write('Nilai ',x,' pangkat ',z,' adalah ',
27.           pangkatRiil(x,z):3:4);
28.End.
 PROSEDUR DAN DAFTAR PARAMETER
. Prosedur (Procedure)
Prosedur adalah modul program yang mengerjakan aktivitas/tugas yang spesifik dan menghasilkan efek netto.
Suatu efek netto diketahui dengan membandingkan Keadaan Awal (Initial State) dan Keadaan Akhir (Final State) pada pelaksanaan sebuah prosedur
Oleh karena itu pada setiap prosedur harus dapat didefinisikan Keadaan Awal sebelum rangkaian instruksi di dalam prosedur dilaksanakan dan Keadaan Akhir yang diharapkan setelah rangkaian instruksi dilaksanakan.
1.1. Pendefinisian Prosedur
  Pada dasarnya prosedur sama dengan struktur algoritma yang sudah dikenal, yaitu ada bagian judul (Header) yang terdiri atas nama prosedur dan komentar yang menjelaskan spesifikasi prosedur tersbut, bagian deklarasi dan badan prosedur
Setiap prosedur mempunyai nama yang unik, dan sebaiknya dimulai dengan kata kerja karena prosedur berisi suatu aktivitas.
  Contoh HitungLuas, Tukar, CariMaksimum, Inisialisasi, dan sebagainya.
Notasi algoritma yang digunakan untuk mendefinisikan prosedur tanpa parameter adalah sebagai berikut :
Procedure NamaProsedur
 
{K.Awal  : Keadaan sebelum prosedur dilaksanakan
  K. Akhir  : Keadaan setelah prosedur dilaksanakan
  Proses  : Spesifikasi prosedur, yang berisi penjelasan     tentang apa yang dilakukan oleh prosedur}
Deklarasi
  {Semua nama yang dipakai dalam prosedur dan hanya berlaku lokal di dalam prosedur didefinisikan disini}
Deskripsi
  {Badan prosedur, yang berisi kumpulan instruksi}
 
Parameter
Parameter aktual adalah parameter yang sisertakan   pada saat pemanggilan prosedur.
Sedangkan parameter formal adalah parameter   yang dideklarasikan di dalam prosedur itu   sendiri. Ketika prosedur dipanggil parameter   aktual menggantikan parameter formal dan   tiap-tiap parameter aktual berpasangan   dengan parameter foemal yang bersesuaian.
Parameter Formal dibagi menjadi 3 bagian :
1.   Parameter Masukan (Input)
  adalah parameter yang nilainya berlaku sebagai masukan untuk prosedur.
2.   Parameter Keluaran (Output)
  adalah parameter yang menampung keluaran yang dihasilkan oleh prosedur tersebut
4.   Parameter Masukan/Keluaran (Input/Output)
  adalah parameter yang berfungsi sebagai masukan sekaligus sebagai keluaran bagi prosedur tersebut
 
Pemanggilan prosedur
Prosedur tidak dapat berdiri sendiri, jadi ia tidak   dapat dieksekusi secara langsung, instruksi-  instruksi dalam prosedur baru dapat   dilaksanakan jika prosedur tersebut diakses,   dengan cara pemanggilan prosedur.
Pemanggilan prosedur tanpa parameter pada
bagian program utamanya adalah
  NamaProsedur
Pemanggilan prosedur dengan parameter adalah
  NamaProsedur(Parameter Aktual)

Tidak ada komentar:

Posting Komentar