Rabu, 09 Mei 2012

PEMROGRAMAN MODULAR


PEMROGRAMAN MODULAR

Catatan ini akan membahas mengenai “ Pemrograman Modular “.Di mana pemrograman modular ini merupakan salah satu kemudahan yang diberikan oleh Turbo Pascal terhadap programmer, karena di sini programmer dapat membagi program yang sedang dibuatnya ke dalam modul-modul program tertentu. Sehingga dapat menghindari penulisan teks program yang sama berkali-kali dan dapat juga memudahkan dalam melakukan pelacakan kesalahan dalam program yang sedang dibuatnya.

Ada 2 jenis pemograman modelar yang dibahas dalam praktikum ini, yaitu :
1.      PROCEDURE (Prosedur)
2.      FUNCTION (Fungsi)

PROCEDURE

Deklarasi :
            Procedure       NamaProcedure(DaftarParameter) ;
                        {Deklarasi}
                        Begin
                                    .............
                                    .............
                        End ;

Pemanggilan Procedure :
      Suatu procedure bukan merupakan program yang berdiri sendiri sehingga tidak dapat dielsekusi 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).

Terdapat 2 jenis Procedure dan Fuction, diantaranya :
1.      Procedure Pustaka, yaitu procedure yang sudah disediakan oleh kompilernya sehingga programmer tidak perlu membuatnya sendiri, contoh procedure pustaka adalah antara lain CLRSCR, GOTOXY(..,..), dll.
2.      Procedure user defined, yaitu procedure yang dibuat oleh user/programmer dalam rangka agar programnya menjadi terstruktur.
(Pada catatan ini akan lebih dibahas tentang procedure user defined)
                       
Hal-hal yang berhubungan dengan procedure :
Ada beberapa hal yang berhubungan dengan penulisan sebuah procedure program yaitu :

1.      Variabel Global dan variabel
Variabel Global adalah variabel yang dapat dikenali diseluruh bagian program biasanya variabel ini merupakan variabel yang dideklarasikan pada deklarasi program umum.
Variabel Lokal adalah variabel yang dikenal pada lingkup yang lebih sempit dari pada variabel global. Biasanya dideklarasikan dalam procedure ataupun function.

Catatan :


Untuk deklarasi dalam procedure ataupun function yang memiliki nama variable yang sama dengan variable global, maka nilai yang akan diload adalah dalam scope (ruang lingkupnya) masing-masing.


Contoh :

Program tesvariabel;
Var a,b : integer;

Procedure vardalam();
Var a : integer;
Begin
      a := 10;
      b := 15;
      writeln(“a dalam = “,a);
End;

Begin
      a := 100;
      b := 200;
      writeln(“a = “,a);
      writeln(“b = “,b);
      vardalam();
      writeln(“a = “,a);
      writeln(“b = “,b);
      end;

      Hasil run program :

            a = 100            //    variable a yang diload merupakan variable global yang telah
                                          dideklarasikan sebelumnya dengan nilai 100
            b = 200            //    variable b yang diload merupakan variable global yang telah
                                          dideklarasikan sebelumnya dengan nilai 200
            a dalam = 10   //    variable a dalam yang diload merupakan variable lokal yang
dideklarasikan di dalam procedure vardalam(). Procedure ini hanya memberi nilai pada variable a di dalam,sehingga tidak merubah nilai variable a luar.
            a = 100            //    variable a yang diload tetapmemiliki nilai seperti awal karena
                                          tidak terpengaruh oleh procedure vardalam()
            b = 15              //    procedure vardalam() telah mengubah nilai variable b global
karena procedure vardalam() tidak memiliki variable b, maka ia akan menggunakan variable global, dan kemudian mengubahnya dengan 15.

2.      Parameter
Ada 2 parameter yang berlaku dalam sebuah procedure, yaitu :
a.       Parameter Formal
Yaitu parameter yang dideklarsikan mengikuti pendeklarasian program utama
b.      ParameterAktual
Yaitu parameter yang dituliskan mengikuti pemanggilan procedure

     Aturan antara parameter formal dan parameter aktual :
1)      Banyaknya parameter aktual harus sama dengan banyaknya parameter formal
2)      Tiap-tiap parameter aktual harus bertipe sama dengan parameter formal yang bersesuaian
3)      Tiap-tiap parameter aktual harus diekspresikan yang sesuai dengan parameter formal

     Pengiriman parameter :
a.       Pengiriman parameter secara nilai (by Value)
-    Tiap-tiap parameter dalam prosecure utama akan beisi nilai yang dikirim oleh parameter aktual dan bersifat lokal diprocedure
-    Pengiriman nilai parameter secara by value merupakan pengiriman searah, artinya hanya dari parameter aktual ke parameter formal
-    Perubahan parameter formal tifak mempengaruhi terhadap nilai parameter actual

Contoh :

Procedure Hitung(A,B,C : integer) ;
Begin
      B: = A;
      C: = A + B ;
      Writeln(A,B,C) ;
End;

Var                X,Y,Z : integer ;

Begin
Readln(X) ; Readln(Y) ; Readln(Z) ;
Hitung(X,Y,Z) ; Writeln(X,Y,Z) ;
Readln ;
End.


Ket :
Misalkan dimasukkan nilai dari  X=5, Y=7 dan Z=15 maka nilai ini akan dikirim ke parameter formal pada procedure yaitu  A,B,C sehingga nilai awal A=5, B=7 dan Z=15. Setelah melalui proses maka hasil outputnya adalah bahwa nilai  X=5 , Y=7 dan Z=15. Sebab apapun yang diproses pada procedure tidak akan mempengaruhi nilai dari parameter aktual X,Y,Z.

b.      Pengiriman parameter secara acuan (by Reference)
-    Merupakan pengiriman dua arah yaitu dari parameter aktual ke parameter formal dan dari parameter formal ke parameter aktual sebagai hasil output dari procedure
-    Perubahan nilai pada parameter formal mempengaruhi pada parameter aktual
-    Dicirikan dengan pengunaan deklarasi VAR , pada parameter procedurenya

Contoh :

Procedure Hitung(Var  A,B,C : integer) ;
Begin
            B: = A;
            C: = A + B ;
            Writeln(A,B,C) ;
End;
Var  X,Y,Z : integer ;
Begin
     Readln(X) ; Readln(X) ; Readln(X) ;
     Hitung(X,Y) ; Writeln(X,Y,Z) ;
     Readln ;
End.

Ket :
Misalkan dimasukkan nilai dari  X=5, Y=8 dan Z=15 maka nilai ini akan dikirim ke parameter formal pada procedure yaitu  A,B,C sehingga nilai awal A=5, B=8 dan C=15. Setelah melalui proses maka hasil outputnya adalah bahwa nilai  X=A=5 , Y=B=A=5 dan Z=C=10. Sebab apapun yang diproses pada procedure akan mempengaruhi nilai dari parameter aktual X,Y,Z.

Contoh program yang menggunakan procedure :

Program KOMBINASI;
uses crt;
var f1,f2,f3:longint;
    n,r,delta:integer;
    c: real;

Procedure facto( n:integer; var f:longint);
var i:integer;
begin
    f:=1;
    for i:=1 to n do
              f:= f * i;
end;

{======================PROGRAMUTAMA==================}

     Begin
clrscr;
gotoxy(12,3);
write('Kita akan menghitung nilai kombinasi dari suatu angka');
gotoxy(19,4);
writeln('Yang mempunyai rumus : rCn = n!/(r!(n-r)!)'); gotoxy(20,5);
writeln('Nilai r harus lebih kecil/sama dengan n');
writeln;gotoxy(28,6);
write('Masukkan nilai n :',' ');readln(n);
writeln;gotoxy(28,8);
write('Masukkan nilai r :',' ');readln(r);
      facto(n,f1);
      facto(r,f2);
      delta:=(n-r);
      facto(delta,f3);
      c:= f1/(f2*f3);gotoxy(30,10);
      write('Hasilnya :',' ',c:2:0);
      readln;
end.

Hasil Run Program :
Kita akan menghitung nilai kombinasi dari suatu angka
Yang mempunyai rumus : rCn = n!/(r!(n-r)!)
Nilai r harus lebih kecil/sama dengan n
Masukkan nilai n : 6
Masukkan nilai r : 2

Hasilnya : 15

FUNCTION

Deklarasi :
            Function NamaFungsi(NamaParameter) : TipeData ;
                        {Deklarasi}
                        Begin
                                    ...........
                                    ...........
                        End ;

Struktur dari fungsi ini hampir sama dengan procedur hanya saja function harus dideklarasikan beserta tipe datanya dan fungsi ini adalah mengembalikan nilai sehingga  Tipe data dalam sebuah function menunjukkan tipe dari data akhir dari deklarasi sebuah  fungsi.
Suatu fungsi dapat dipanggil dengan menggunakan beberapa cara, misalkan :
Nama Fungsinya adalah  Rata, maka ia akan dapat dipanggil dengan menggunakan

            Rata2 : = Rata(vector,Ukuran) ;
            X : = Y + Rata(vector,Ukuran) ;
            Write(‘Nilai rata-ratanya =  ‘, rata(vector,ukuran));


Perbedaan prinsip antara procedure dengan function :
1.      Pada function nilai yang dikirim balik terdapat nama fungsinya (Karena nama fungsi digunakan untuk menampung nama fungsi yang terakhir)
2.      Function dapat langsung ditampikan hasilnya. Misal : writeln( Hitung(X,Y)) ;

Catatan :


Untuk keterangan yang lain yang meliputi macam variabel, parameter, aturan antar parameter dan cara pengiriman parameter sama dengan yang ada pada procedure, sehingga tidak perlu dituliskan lagi.


Keuntungan menggunakan deklarasi procedure atau function:
a.       Program mudah dipahami
Dengan membuat procedure-procedure yang akan digunakan,misalnya procedure hitung, maka bentuk program utamanya kurang lebih sebagai berikut :

Begin
Readln(X) ; Readln(Y) ; Readln(Z) ;
Hitung(X,Y) ; Writeln(X,Y,Z) ;
Readln ;
End.

Terlihat lebih mudah untuk di pahami maksud dari program utama di atas.

b.      Program mudah diperbaiki jika terjadi kesalahan (error)
Jika terdapat error, baik sintax error, running error ataupun output error, maka akan mudah ditelusuri dimana letak errornya apakah pada program utama, pada procedure hitung atau pada waktu menentukan frekuensi.

c.       Program mudah dimodifikasi atau dikembangkan
Seandainya akan dilakukan modifikasi atau pengembangan program, akan lebih mudah, misalkan akan dimodifikasi bagian tampilan input atau output, atau akan diganti algoritma untuk mengurutkan datanya dengan algoritma yang lebih cepat, semua dapat dilakukan dengan lebih mudah
Program akan menjadi lebih ringkas
Jika pada program utama terdapat suatu alur procedure yangakan digunakan berulang kali, maka programmer tidak perlu mengetikkan isi dari procedure itu berulang kali, programmer hanya perlu memanggil nama dari Procedure atau Function tersebut.

Contoh:

Begin
Readln(X) ; Readln(Y) ; Readln(Z) ;
Hitung(X,Y) ;
Hitung(Y,Z);
Writeln(X,Y,Z) ;
Readln ;
End.

Pada listing program di atas, programmer hanya perlu memanggil Procedure Hitung dua kali, tidak perlu mengetikkan isi dari Procedure Hitung dua kali.


Contoh Program yang menggunakan fungsi :

Program faktorial;
Uses crt;
Var i,N,Hsl:integer;

Function  Fakto(N:integer):integer;
Var Fak: integer;
   Begin
     Fak:= 1;
     for i:=1 to N do
      Fak := Fak * i;
      Fakto:= Fak;
   end;
Begin
clrscr;
write('Faktorial berapa yang anda ingin  hitung : ');
readln(N);
writeln('Hasil perhitungan : ',Fakto(N));
readln;
end.

Hasil Run Program :

Faktorial berapa yang anda ingin  hitung : 5
Hasil perhitungan : 120

Dalam turbo Pascal telah dikenal ada beberapa tipe data yang kemudian dapat digolongkan menjadi 2  kelompok besar tipe data yaitu  tipe data standard  dan tipe data terstruktur. Pada laporan ini akan dibahas mengenai tipe-tipe data terstruktur yang meliputi tipe data array, tipe data record dan tipe data set.

REKURSI

Salah satu keistimewaan yang dimiliki oleh Turbo Pascal adalah bahwa pascal dapat melakukan suatu proses yang dinamakan sebagai proses Rekursi, yaitu proses untuk memanggil dirinya sendiri. Dalam procedure dan function proses ini bisa berarti proses berulang yang tidak diketahui kapan akan berakhirnya. Contoh paling sederhana dari proses rekursi adalah Proses mencari faktorial dari suatu.

Faktorial N =  N! = N (N-1) (N-2)……………..3.2.1
                        N! = N (N-1)!              ,untuk N>0
                        N! = N (N-1) (N-2)!

Jika ditulis dalam program menjadi :
            Faktorial(0)  = 1 ;
            Faktorial(N) = N (N-1)!

Ini merupakan sebuah hubungan rekurens yang berarti nilai suatu fungsi dengan argument tertentu dapat dihitung dengan menggunakan fungsi yang sama hanya saja dengan argument yang lebih kecil.

Contoh :

Program faktorial;
Uses crt ;
Var i , N , Hsl : integer
Function  Fakto(N:integer):integer ;
Var Fak: integer ;
   Begin
   if (N=0) or (N=1) then
         Fakto:= 1
   else
         Fakto:= N*Fakto(N-1) ;
   end;
Begin
clrscr;
write('Faktorial berapa yang anda ingin  hitung : ') ;
readln(N) ;
writeln('Hasil perhitungan : ',Fakto(N)) ;
readln ;
end .
Hasil Run Program :
Faktorial berapa yang anda ingin  hitung : 5
Hasil perhitungan : 120

Dari program diatas maka notasi Fakto(N-1) yang digunakan untuk memanggil program sebelumnya dinamakan sebagai Pemanggil atau rekursi.

Web Semantik


Pengertian Web Semantik
Pengertian Web Semantik (Semantic Web) atau definisi Web Semantik adalah pengembangan dari World Wide Web di mana makna semantik dari informasi di web didefinisikan, sehingga memungkinkan mesin untuk memprosesnya. Web Semantik berasal dari World Wide Web Konsorsium dari Web sebagai media universal data, informasi, dan pertukaran pengetahuan.
Web Semantik terdiri dari seperangkat prinsip-prinsip desain, kelompok kerja kolaboratif, dan berbagai teknologi. Beberapa elemen dari Web Semantik yang dinyatakan sebagai calon masa depan dan unsur-unsur lain dari Web Semantik disajikan dalam spesifikasi formal dimaksudkan untuk memberikan deskripsi formal konsep, istilah, dan hubungan dalam satu domain tertentu.
Istilah Web Semantik itu sendiri diperkenalkan oleh Tim Berners-Lee, penemu World Wide Web. Sekarang, prinsip web semantik disebut-sebut akan muncul pada Web 3.0, generasi ketiga dari World Wide Web. Bahkan Web 3.0 itu sendiri sering disamakan dengan Web Semantik. Web Semantik menggunakan XML, XMLS (XML Schema), RDF, RDFS (Resources Description Framework Schema) dan OWL.
Web Semantik merujuk kepada kemampuan aplikasi komputer untuk lebih memahami bahasa manusia, bukan hanya bahasa yang baku dari para penggunanya tetapi juga bahasa yang lebih kompleks, seperti dalam bahasa percakapan sehingga memudahkan penggunanya untuk berkomunikasi dengan mesin. Web Semantik dapat mengolah bahasa dan mengenali homonim, sinonim, atau atribut yang berbeda pada suatu database.
http://ewawan.com/pengertian-web-semantik-definisi-web-semantik.html
Definisi Ontology
Ontology merupakan suatu teori tentang makna dari suatu obyek, properti dari suatu obyek, serta relasi obyek tersebut yang mungkin terjadi pada suatu domain pengetahuan. Ontology merupakan penjelasan sebuah konsep dan memiliki hubungan atau kaitan dari ilmu tertentu. Ontology dalam semantic web adalah sebuah katalog dimana skemanya menggunakan ontology.
Pengertian tentang ontology memiliki banyak pengertian seperti yang dijelaskan pada berbagai sumber, termasuk yang dikemukakan oleh beberapa ilmuan.
  • Neches dan rekannya memberikan definisi awal tentang ontology yaitu ”Sebuah ontology merupakan definisi dari pengertian dasar dan relasi vokabulari dari sebuah area sebagaimana aturan dari kombinasi istilah dan relasi untuk mendefinisikan vokabulari”.
  • Gruber mendefinisikan yang sering digunakan oleh beberapa orang, definisi tersebut adalah ”Ontology merupakan sebuah spesifikasi eksplisit dari konseptualisme”.
  •  Berdasarkan definisi Gruber tersebut banyak orang yang mengemukakan definisi tentang ontology diantaranya Guarino dan Giaretta  yang pada tahun 1995 mengumpulkan hingga tujuh definisi yang berkoresponden dengan syntactic dan semantic interpretasi.
  • Pada tahun 1997, Borst melakukan penambahan dari definisi Gruber dengan mengatakan “Sebuah ontology adalah spesifikasi formal dari sebuah konseptual yang diterima (share)”.
  • Studer  mencoba mengemukakan definisi tentang ontology yang mengambil acuan dari definisi yang dikemukakan oleh Gruber dan Borst, definisi tersebut adalah : “Konseptualisasi mengacu kepada sebuah model abstrak dari beberapa fenomena di dunia dengan memiliki identifikasi konsep yang relevan dari fenomena tersebut“.
  • Ada buku yang memberikan definisi tentang Ontology, salah satunya adalah “The Semantic web” , definisi dari Ontology adalah :
  1.  Salah satu cabang metafisika yang terfokus pada alam dan hubungan antara mahluk hidup.
  2. Teori tentang sifat alami mahluk hidup. Ontology merupakan suatu teori tentang makna dari suatu obyek, property dari suatu obyek, serta relasi obyek tersebut yang mungkin terjadi pada suatu domain pengetahuan. Pada tinjauan filsafat, ontology adalah studi tentang sesuatu yang ada. Selain itu ontology adalah sebuah konsep yang secara sistematik menjelaskan tentang segala sesuatu yang ada atau nyata.

  • Barnaras  pada proyek KACTUS memberikan definisi ontology yang berdasarkan pada pengembangan ontology. Definisi yang diberikan adalah : “Sebuah ontology memberikan pengertian untuk penjelasan secara eksplisit dari konsep terhadap representasi pengetahuan pada sebuah basis pengetahuan”.
  • Proyek SENSUS  juga memberikan definisi : “Sebuah ontology adalah sebuah struktur hirarki dari istilah untuk menjelaskan sebuah domain yang dapat digunakan sebagai landasan untuk sebuah basis pengetahuan”.
Secara umum, ontology digunakan pada Artificial Intelligence (AI) dan representasi pengetahuan. Segala bidang ilmu yang ada di dunia, dapat menggunakan metode ontology untuk dapat berhubungan dan saling berkomunikasi dalam hal pertukaran informasi antara sistem-sistem yang berbeda. Untuk dapat digunakan, sebuah ontology harus diekspresikan dalam notasi yang nyata. Sebuah bahasa ontology adalah sebuah bahasa formal dari sebuah pembuatan ontology.
Referensi :
http://wahyudisetiawan.wordpress.com/2009/08/07/ontology/
http://paperwgdbis.abmutiara.info/tutorial/Bahasa_tool_ontology.pdf
http://cutegalzjelek.blogspot.com/2010/05/ontology-web.html