Sabtu, 01 Februari 2014

MATEMATIKA DESKRIP



MATEMATIKA DESKRIP
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:
*      for to do
*      while do
*      repeat until
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
*      For…To…do (pernyataan naik),
*      For…downto …do (pernyataan turun)
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.



*      Apa itu procedure dan function dalam program
*      Bentuk program procedure dan function dalam program

 

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;
*      Pemanggilan Procedure :
*      Prosedur bukan program yg beridiri sendiri 
*      Prosedur tidak dapat dieksekusi secara langsung. 
*      Instruksi-instruksi di dalam prosedur dapat dilaksanakan bila prosedur itu diakses. 
*      Prosedur diakses dg cara memanggil namanya dari program pemanggil (misalnya dari program utama atau modul program lainnya) 
*      Jika prosedur tanpa parameter, maka pemanggilannya cukup dg nama prosedurnya saja,
Sedangkan cara pemanggilannya adalah dengan : menuliskan nama procedurenya berikut parameternya (jika ada).
                               
*      Contoh algoritma yang menggunakan procedure
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.




*      Contoh Program

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.

*      Bentuk umum pendefinisian fungsi:
Function NamaFungsi(Parameter-Parameter) : Tipe Fungsi;
Tipe Lokal
Konstanta Lokal
Variabel Lokal
Sub Program Lokal (Fungsi/Prosedur)
Begin
End;

*Contoh program:

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 Rekursif

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;
{Program Utama}
Begin
I:=1;
{Panggil Prosedur}
 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.
*      Fungsi Konversi Type Data
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  

*      Contoh output
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


*      Fungsi dapat mengembalikan suatu nila yang dapat digunakan dalam ekspresi, sedangkan prosedur tidak memiliki nilai yang berhubungan dengan namanya.
*      Fungsi digunakan untuk membuat operasi-operasi yang tidak ada dalam fungsi utama, sedangkan prosedur digunakan untuk menstrukturkan suatu program dan untuk untuk memperbaiki kejelasan da keumumannya.

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