PENDAHULUAN
1.1 LATAR BELAKANG
Algoritma,
merupakan kumpulan langkah-langkah logis untuk menyelesaikan suatu masalah.
langkah-langkah untuk menyelesaikan masalah ini pada dasarnya terbagi menjadi
tiga komponen utama yaitu runtutan (sekuensial), pemilihan (selection), dan
perulangan (looping).
Ketiga
komponen ini sangat penting untuk dipahami karena ketiga komponen ini yang
menjadi dasar dari suatu algoritma. Dengan ketig komponen ini maka dapat
disusun sebuah agoritma yang lebih fleksibel, ringkas, dan tepat untuk
menyelesaikan permasalahan-permasalahan yang terlihat rumit.
Runtutan
merupakan perintah yang bersifat urut dan dilaksanakan sesuai dengan urutan
penulisan. Perulangan merupakan perintah untuk melakukan sesuatu dengan cara
diulang-ulang, sedangkan pemilihan merupakan perintah untuk melakukan sesuatu
berdasarkan kondisi yang terjadi (sesuai). Katiga komponen ini akan dibahas secara
detil pada bagian-bagian tesendiri
Untuk
menyatakan sebuah pemilihan, didalam algritma pseudocode maupun pada program
dapat nyatakan dengan perintah If ..
Then .. Else dan perintah Case
.. Of.
1. Pernyataan If .. Then ..
Else
Perintah if .. Then .. Else secara
umum memiliki tiga struktur yang berbeda. Struktur ini menunjukan jumlah
kondisi dan aksi yang berlaku.
2. Pernyataan Case .. Of
Pernyataan case .. of merupakan
perluasan dari pernyataan if. Untuk pemilihan yang terdiri dari banyak kondisi,
struktur if melakukan pengecekan terhadap setiap kondisi, bila satu kondisi
tidak terpenuhi baru akan dilanjutkan pada kondisi yang berikutnya. Berbeda
dengan pernyataan if, penyataan case melakukan pengecekan dengan pemilihan
kondisi yang sesuai parameter yang ada.
Didalam
bahasa pemrograman pascal perulangan dapat dituliskan dengan tiga
pernyataan yang berbeda. Pernyataan tersebut adalah:



Penjelasan mengenai ketiga
pernyataan diatas akan dibahas pada bagian-bagian tersendiri.
1.
Struktur
For
Struktur perulangan for merupakan
struktur untuk meuliskan perulangkan selama dalam kondisi tertentu. Nilai
perulangan sudah ditentukan dengan sebuah nilai awal dan nilai akhir. Terdapat
dua buah jenis pernyataan dengan menggunakan struktur for yaitu


2.
While
do
Struktur while do merupakan perintah
untuk melakukan perulangan selama sebuah kondisi terpenuhi atau bernilai benar.
Jika kondisi yang disyaratkan sudah tidak terpenuhi maka perulangan akan
berhenti.
3.
Repeat..until
Struktur Repeat..until merupakan
sebuah perintah untuk melakukan perualangan terhadap suatu pernyataan atau blok
pernyataan sampai suatu kondisi terpenuhi. Jika kondisi sudah terpenuhi maka
pernyataan tidak akan diulang lagi.
Daman
menjanlankan program kita memerlukan bahasa pascal,,seperti pengulangan pada
program pascal.sebuah program dapat di jalankan jka bahasa pascalnya sudah
terpenuhi.


v Mempelajari prosedur dan function
v Agar dapat mempermudah dalam membuat
program program yang besar.
v
Agar
dapat mempermudah memahami setiap program dalam penggunaan prosedur dan fungsi
PEMBAHASAN
2.1 PROCEDURE
Prosedur artinya menuliskan nama prosedur,
mendeklrasikan nama-nama konstanta, peubah dan tipe (jika ada), dan menjabarkan
rangkaian aksi yang dilakukan. (Rinaldi,
M.,2007) Prosedure adalah suatu program terpisah dalam blok sendiri yang
berfungsi sebagai subprogram (program
bagian).
Prosedur diawali dengan kata
cadangan Procedure di dalam bagian deklarasi prosedur.
Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan
menyebutkan judul prosedurnya.
Prosedur banyak digunakan pada
program yang terstruktur, karena:
1. Merupakan penerapan konsep program
modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian
yang lebih sederhana dalam bentuk prosedur-prosedur.
2. Untuk hal-hal yang sering dilakukan
berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil
atau dipergunakan sewaktu-waltu bila diperlukan.
Ada dua tipe prosedur yang akan dibahas
dalam bagian ini yaitu subrutin dan fungsi. Subrutin dan fungsi merupakan
bagian dari kode yang akan mengerjakan tugas tertentu dan dapat dipanggil dari
berbagai bagian aplikasi untuk melakukan operasi yang sama, biasanya pada data
yang berbeda. Perbedaan keduanya kalau fungsi return value/mengembalikan nilai
sedangkan subrutin tidak.
1. Subrutin
Subrutin adalah blok
pernyataan untuk mengerjakan suatu tugas yang didefinisikan dengan baik. Blok
pernyataan diletakkan di antara pernyataan Sub...End Sub. Subrutin dapat
dipanggil melalui namanya. Contoh subrutin berikut akan menampilkan suatu pesan
pada kotak pesan.
a.
Sub Pesan()
b.
MsgBox(“Belajar VB, siapa takut!”)
c.
End Sub
Kebanyakan prosedur disertai dengan
argumen. Subrutin TampilkanTgl() berikut akan menampilkan tanggal sekarang pada
kotak pesan. Jika anda ingin menampilkan tanggal lainnnya Anda dapat
mem-passing-kan (meneruskan) argumen dengan nilai yang berbeda:
a.
Sub TampilkanTgl(ByVal TglLahir As Date)
b.
MsgBox(TglLahir)
c.
End Sub
TglLahir adalah variabel yang menangani
tanggal yang akan ditampilkan dengan tipe Date. Kata kunci ByVal artinya
subrutin tidak dapat mengubah nilai dari variabel TglLahir. Untuk memanggil
subrutin TglLahir ketik kode berikut di dalam program anda: Call
TampilkanTgl(Date) ‘Ditampilkan tanggal sistem dalam kotak pesan. Untuk
menampilkan tanggal lain, Anda dapat memasukkan nilainya dengan Call
TampilkanTgl(#12/23/1963#).
Aturan
penulisan deklarasi prosedur adalah :
v Procedure
nama-prosedur (parameter input ; var parameter output);
v Begin
v {statemen-statemen
implementasi prosedur (badan prosedur), hasil perhitungan yang dilakukan
prosedur (ika ada), disimpan pada parameter output}
v End;






Sedangkan
cara pemanggilannya adalah dengan : menuliskan nama procedurenya berikut
parameternya (jika ada).

Buatlah
Program yang berisi procedure yang menambahkan nilai x dan y masing dengan 4,
kemudian jumlahkan nlai x dan y
Contoh
Output :
Program
TugasAlgoritma;
{Program
di Bawah ini Adalah Tugas Algoritma X Y + 4}
Uses Wincrt;
Var
A,B,C:Real;
Procedure
Input(X,Y:Real);
Begin
Writeln('Masukkan
Nilai : ');
Write('X = ');Read(X);
Write('Y = ');Read(Y);
A:=X+4;
B:=Y+4;
Writeln;
Writeln('Nilai X dan Y diakhir Prosedur 4 :
');
Writeln('X = ',A:0:0);
Writeln('Y = ',B:0:0);
End;
Procedure
Output(A,B:Real;Var C:Real);
Begin
Writeln;
Writeln('Hasil
Masukan X + Y = ',C:0:0);
End;
Begin
Input(A,B);
Output(A,B,C);
End.

A. Prosedure
tanpa variable
program prosedure1;
uses wincrt;
procedure tampil1;
begin
writeln('***MAHAYADI***');
writeln('***AYO SEMANGAT***');
writeln('*BELAJAR, BELAJAR dan BELAJAR*');
end;
begin
writeln('***PROCEDURE TANPA
VARIABEL***');
writeln('------------------------------');
tampil1; {pemanggilan nama
procedure}
writeln('------------------------------');
writeln('------------------------------');
end.
B.
Procedure dengan variable
program prosedure2;
uses wincrt;
var
a,b,c,d,jumlah,kali :integer;
procedure jumlah1;
begin
writeln('masukan nilai a: ');
readln(a);
writeln('masukan nilai b: ');
readln(b);
jumlah:=a+b;
writeln('hasil jumlahnya: ',jumlah);
end;
procedure kali1;
begin
writeln('masukan nilai c: ');
readln(c);
writeln('masukan nilai d: ');
readln(d);
kali:=c*d;
writeln('hasil kalinya: ',kali);
end;
begin
writeln('***PROCEDURE DENGAN VARIABEL***');
writeln('------------------------------');
jumlah1; {pemanggilan nama procedure}
writeln('------------------------------');
writeln('------------------------------');
kali1;
writeln('------------------------------');
writeln('------------------------------');
end.
2.2 FUNCTION
Fungsi adalah suatu bagian
program yang mengerjakan satu tugas dan hasilnya biasanya hanya satu. Fungsi
juga menerima parameter-paramter seperti procedure yaitu Parameter Nilai dan
Parameter Variabel. Selain itu fungsi juga diperbolehkan memiliki deklarasi
lokal tersendiri. Dan Cara memanggil fungsi adalah dengan menuliskan nama
fungsi beserta parameter-parameter yang diperlukan.

Function
NamaFungsi(Parameter-Parameter) : Tipe Fungsi;
Tipe Lokal
Konstanta Lokal
Variabel Lokal
Sub Program Lokal (Fungsi/Prosedur)
Begin
End;

Function Hitung (X, Y, Z : Byte):
Byte;
Begin
Z : = X + Y;
Writeln (‘Nilai X = ‘, X);
Writeln (‘Nilai Y = ‘, Y);
Writeln (‘Nilai Z = ‘, Z);
End;
Var
A, B, C : Byte;
Begin
A := 5; B:= 7; C:=3;
Hitung (A, B, C);
Writeln (‘Nilai A = ‘,A,’Nilai B =
‘,B,’Nilai C = ‘,C);
Readln;
End.

fungsi
yang memanggil dirinya sendiri disebut sebagai prosedur rekursif. Pemanggilan
terhadap dirinya sendiri akan tetap dilakukan Prosedur Cetak karena tidak ada
pernyataan yang menghentikan pemanggilan. Pemanggilan ini akan terus
berlangsung terus-menerus (continues call). Untuk mengatasi masalah ini maka
perlu dibuat suatu pernyataan yang membatasi pemanggilan prosedur. Misalkan
kode program seperti berikut ini:
Var
I : Byte;
function Cetak : sting;
Begin
IF (I<=5) Then
begin
writeln('Respati');
{Prosedur Memanggil Dirinya Sendiri}
Cetak;
I:=I+1;
end;
End;
I : Byte;
function Cetak : sting;
Begin
IF (I<=5) Then
begin
writeln('Respati');
{Prosedur Memanggil Dirinya Sendiri}
Cetak;
I:=I+1;
end;
End;
{Program Utama}
Begin
I:=1;
Begin
I:=1;
{Panggil Prosedur}
Cetak;
End.
Cetak;
End.
Pascal
juga menyediakn beberapa fungsi yang dapat langsung digunakan tanpa dibuat
terlebih da¬hulu (built-in function). Dengan kata lain fungsi merupakan suatu
bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan
letaknya dipisahkan dari bagian program yang dijalankan.
Fungsi
mirip dengan subrutin, bedanya fungsi menghasilkan return value/mengembalikan
nilai. Suatu fungsi adalah blok kode yang dapat dipanggil untuk mengerjakan
suatu tugas tertentu dan menghasilkan nilai kembalian.
a. Passing Parameter
Pada
VB 6 parameter dipassing- kan (diteruskan) ke fungsi. Default-nya adalah
passing parameter melalui referensi (ByRef). Ada dua metode passing parameter
yaitu melalui nilai/value (ByVal) artinya semua perubahan yang dibuat ke nilai
parameter hanya efektif dalam fungsi yang memanggil. Nilai asli sekarang dalam
fungsi yang dipanggil tidak terpengaruh. Sedangkan pada passing parameter melalui
referensi (ByRef), jika parameter di dalam fungsi berubah, perubahan juga
dicerminkan di luar fungsi.

Aturan
penulisan deklarasi fungsi adalah :
Function
nama-fungsi (parameter) : tipe-hasil;
Begin
Nama-fungsi
:= nilai yang dikirimkan/hasil;
End;
Ø Contoh
algoritma yang menggunakan function:
Buatlah
program menghitung total gaji dengan menggunakan Function, dengan ketentuan sbb
:
Total
gaji seorang pegawai dipengaruhi oleh Gaji Pokok dan besarnya tunjangan anak
Total
Gaji = Gaji Pokok + Tunjangan Anak
Gaji
Pokok ditentukan dari kepangkatan/Golongan
Golongan
GajiPokok
1 2.000.000
2 3.000.000
3 4.000.000
4 5.000.000
Besarnya
tunjangan anak ditentukan dari banyaknya anak
N
Anak Tunjangan
1 500.000
>=
2 1.000.000

Menghitung
Total_ Gaji
USES wincrt;
VAR
Golongan : Char;
N_Anak : integer;
Gaji_Pokok, Tunjangan_Anak, Total_Gaji :
Longint;
FUNCTION
Hitung_Gaji_Pokok(a : char):longint;
Begin
case a of
'1' :
Hitung_Gaji_Pokok := 2000000;
'2' :
Hitung_Gaji_Pokok := 3000000;
'3' :
Hitung_Gaji_Pokok := 4000000;
'4' :
Hitung_Gaji_Pokok := 5000000;
end;
End;
FUNCTION
Hitung_Tunjangan(a : integer):longint;
Begin
If a = 1 then
Begin
Hitung_Tunjangan := 500000;
End
Else if a >= 2 then
Begin
Hitung_Tunjangan := 1000000;
End
Else
Begin
Hitung_Tunjangan := 0;
End;
End;
PROCEDURE
Input;
Begin
write('Inputkan Golongan/Pangkat : ');
readln(Golongan);
write('Inputkan Jumlah Anak : ');
readln(N_Anak);
writeln;
End;
BEGIN
Input;
Writeln('Gaji Pokok = ',
Hitung_Gaji_Pokok(Golongan));
Writeln('Tunjangan Anak = ',
Hitung_Tunjangan(N_Anak));
Writeln('Total Gaji =
',Hitung_Gaji_Pokok(Golongan) + Hitung_Tunjangan(N_Anak));
END.
2.3 PERBEDAAN FUNGSI DAN PROSEDUR


v Aplikasi fungsi pada program pascal
:
program
fungsi_persegi_panjang;
uses
crt;
function
luas(p,l:integer):integer;
begin
luas:=p*l;
end;
function
kel(p,l:integer):integer;
begin
kel:=2*(p+l);
end;
var
p,l:integer;
begin
clrscr;
writeln('program
untuk menghitung luas dan keliling persegi panjang');
writeln;
write('masukan
panjang : ');
readln(p);
writeln;
write('masukan
lebar : ');
readln(l);
writeln;
write('luasnya
: ',luas(p,l));
writeln;
write('kelilingnya
: ',kel(p,l));
end.
Aplikasi
prosedur dalam pascal
uses
crt;
var
p,l,luas,kel:integer;
procedure
hitung_luas;
begin
luas:=p*l;
writeln('luas
: ',luas);
end;
procedure
hitung_keliling;
begin
kel:=2*(p+l);
writeln('keliling
: ',kel);
end;
begin
clrscr;
writeln('program
untuk menghitung luas dan keliling persegi panjang');
writeln;
write('masukan
panjang : ');
readln(p);
writeln;
write('masukan
lebar : ');
readln(l);
writeln;
hitung_luas;
hitung_keliling;
end.
Konsep
fungsi (function) dalam Pascal hampir sama dengan konsep fungsi dalam
matematika. sebuah fungsi digunakan untuk menghitung sebuah nilai berdasar satu
atau beberapa nilai masukan. Sebuah fungsi tersebut harus dideklarasikan atau
didefinisikan terlebih dahulu sebelum dipanggil atau digunakan. Suatu fungsi
adalah blok kode yang dapat dipanggil untuk mengerjakan suatu tugas tertentu
dan menghasilkan nilai kembalian..
PENUTUP
3.1 KESIMPULAN
Prosedure adalah suatu program terpisah dalam blok sendiri yang
berfungsi sebagai subprogram (program
bagian)
Prosedur banyak digunakan pada
program yang terstruktur, karena:
1. Merupakan penerapan konsep program
modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian
yang lebih sederhana dalam bentuk prosedur-prosedur.
2. Untuk hal-hal yang sering dilakukan
berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil
atau dipergunakan sewaktu-waltu bila diperlukan.
Suatu procedure bukan merupakan program
yang berdiri sendiri sehingga tidak dapat dieksekusi secara langsung. Untuk itu
suatu procedure memerlukan sebuah akses pada program utama / modul lain yang
befungsi sebagai pemanggil. Sedangkan cara pemanggilannya adalah dengan :
menuliskan nama procedurenya berikut parameternya (jika ada).
Sedangkan fungsi adalah suatu bagian program yang mengerjakan satu
tugas dan hasilnya biasanya hanya satu. Fungsi juga menerima parameter-paramter
seperti procedure yaitu Parameter Nilai dan Parameter Variabel. Selain itu
fungsi juga diperbolehkan memiliki deklarasi lokal tersendiri. Dan Cara
memanggil fungsi adalah dengan menuliskan nama fungsi beserta
parameter-parameter yang diperlukan.
3.2 SARAN
Algoritma adalah mata pelajaran yang sangat
penting bagi mahasiswa yang berada di jurusan teknik informatika,sebagai
mahasiswa yang mengambil jurusan teknik informatika sebaiknya lebih mendalami
dan memahami tentang pemrograman agar dapat menguasai dan mampuh merancang dan
mengembangkan jaringan,sehingga dapat berwirausaha berbasis tegnilogi nantinya.
Tidak ada komentar:
Posting Komentar