Skip navigation

Tag Archives: web development


Web Ontology menjelaskan definisi entitas-entitas yang ada pada sebuah semantic web dan relasi satu sama lain. Untuk itu di dalam pengembangan semantic web, ontology merupakan hal yang paling penting. Saat ini belum ada metode pengembangan web ontology yang sudah formal. Langkah-langkah pengembangan ontology sebuah web pada domain tertentu secara sederhana adalah

  1. Acquire Domain Knowledge
    Sumber-sumber informasi dan narasumber harus dikumpulkan untuk dapat mendefinisikan istilah-istilah yang ada pada sebuah domain tertentu.
  2. Organize the OntologyPengembang harus merancang konsep keseluruhan dari domain tersebut. Kegiatan ini mencakup identifikasi konsep-konsep penting pada domain dan properti-propertinya, mengidentifikasi relasi antara konsep-konsep tersebut, membuat konsep abstrak untuk mengorganisasikan hal-hal yang ada, dan menerapkan panduan dari metodologi yang dipilih.
  3. Flesh out the Ontology
    Menambahkan konsep, relasi, dan instansiasi pada tingkat detail yang cukup penting untuk memenuhi tujuan ontology.
  4. Check Work
    Memeriksa konsistensi logika, sintaks, dan semantik dari elemen-elemen yang ada pada ontology. Pemeriksaan konsistensi dapat mencakup klasifikasi otomatis yang mendefinisikan konsep-konsep baru berdasarkan properti dan relasi.
  5. Commit the Ontology
    Melakukan verifikasi ontology kepada para ahli di domain tersebut.

OWL atau Web Ontology Language merupakan bahasa untuk mendefinisikan dan menginstansiasi ontologi sebuah web. Sementara itu ontology merupakan ilmu untuk mendeskripsikan jenis-jenis entitas yang ada di dunia dan bagaimana mereka terkait satu sama lain. Sebuah ontologi OWL mencakup deskripsi dari sebuah kelas, properti, dan instansiasi kelas tersebut.

OWL dibangun di atas skema RDF. OWL dan RDF memiliki fungsi dasar yang sama: mendefinisikan kelas, properti, dan relasi. Meski demikian OWL menawarkan kapabilitas lebih daripada RDF dalam mendefinisikan relasi-relasi yang kompleks seperti subClass, restriction, disjoint, constraint, dan juga cardinality.

<owl:Class rdf:ID="ExpensiveSLR">
   <rdfs:subClassOf rdf:resource="#SLR"/>
     <rdfs:subClassOf>
       <owl:Restriction>
         <owl:onProperty rdf:resource="#owned_by"/>
         <owl:allValuesFrom rdf:resource="#Professional"/>
       </owl:Restriction>
   </rdfs:subClassOf>
</owl:Class>

Di dalam dunia web sekarang ini, pengembangan web yang ada hanya memfokuskan pengguna kepada pengguna manusia. Dengan menggunakan HTML, data yang ditampilkan dalam sebuah web hanya berisi informasi yang sifatnya presentasi bagi manusia. Jika sebuah mesin membaca dokumen tersebut maka mesin hanya dapat menerima data tersebut dan bagaimana data tersebut ditampilkan dalam browser. Mesin tidak dapat menerima pengetahuan (knowledge) apa yang terkandung di dalam data tersebut.

RDF (Resource Description Format) merupakan format XML yang memiliki fungsi sebagai metadata yakni untuk memberikan representasi knowledge dari data. Sebuah model data RDF memiliki 4 buah aturan

  1. Sebuah fakta direpresentasikan dalam bentuk triple Subject – Predicate – Object atau lebih dikenal sebagai statement.
  2. Baik Subject, Predicate, dan Object merupakan sebuah entitas atau sering disebut resource dan node. Entitas dapat melambangkan benda, orang, website, keadaan, dan relasi.
  3. Nama yang digunakan merupakan URI yang selalu menunjuk pada entitas yang sama.
  4. Obyek dapat berupa teks atau literal dan dapat direpresentasi baik menggunakan tipe data pada XML Schema ataupun tida
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
    xmlns:edu="http://www.example.org/">
    <rdf:Description rdf:about="http://www.princeton.edu">
        <geo:lat>40.35</geo:lat>
        <geo:long>-74.66</geo:long>
        <edu:hasDept rdf:resource="http://www.cs.princeton.edu"
            dc:title="Department of Computer Science"/>
    </rdf:Description>
</rdf:RDF>

Kode di atas merupakan kode RDF dari representasi tabel di bawah.

Subject Predicate Object
http://www.princeton.edu geo:lat 40.35
http://www.princeton.edu geo:long -74.66
http://www.princeton.edu edu:hasDept http://www.cs.princeton.edu
http://www.cs.princeton.edu dc:title Department of Computer Science

Di dalam kode tersebut terdapat 4 buah representasi triple: 3 buah representasi dari entitas “http://www.princeton.edu” dan 1 buah milik “http://www.cs.princeton.edu “.  Kedua triple berikutnya menjelaskan letak geografis dari Universitas Princeton. Triple ketiga menjelaskan bahwa Universitas Princeton memiliki departemen Computer Science. Dan triple terakhir menjelaskan nama dari departemen tersebut.

Selain dengan format XML, RDF juga dapat diekspresikan dengan menggunakan format Notation3.

@prefix rdf:  .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix geo: <http://www. w3.org/2003/01/geo/wgs84_pos#> .
@prefix edu: <http://www.example.org/> .

<http://www.princeton.edu> geo:lat "40.35" ; geo:long "-74.66" .
<http://www.cs.princeton.edu> dc:title "Department of Computer Science" .
<http://www.princeton.edu> edu:hasDept <http://www.cs.princeton.edu> .

Kohana adalah salah satu dari banyak sekali framework PHP. Sebenarnya Kohana adalah framework yang diturunkan dari Code Igniter, framework terpopuler di dunia dan diakui sebagai framework PHP yang memiliki kecepatan paling tinggi.

Sama seperti framework lainnya dan mengikuti framework orang tuanya, Kohana didesain untuk pengembangan dengan desain MVC (Modeller-Viewer-Controller). Perbedaannya dengan Code Igniter adalah Kohana sudah memiliki implementasi ORM (Object-Relational-Mapping) yakni langsung dapat memetakan sebuah class terhadap database. Pemetaan ini dipengaruhi oleh pengguna fitur ORM paling terkenal di dunia, Ruby on Rails dengan Active Recordsnya.

Sama halnya dengan Ruby on Rails, penggunaan ORM ditekankan pada Convention over Configuration, yakni pengembang harus mematuhi konvensi-konvensi dasar yang sudah ditetapkan oleh Kohana untuk dapat menggunakan ORM.

Dengan tetap mempertahankan kecepatan dari Code Igniter, Kohana memiliki beberapa kelebihan lain, yakni cascading resource structure. Model ini memudahkan pengembang untuk mengembangkan modul-modul pada Kohana. Selain itu, Kohana juga memiliki library dasar yang diambil dari Code Igniter.

Akan tetapi Kohana masih memiliki banyak kekurangan terlebih lagi karena masih banyak fitur-fitur dari Ruby on Rails yang belum diimplementasikan pada Kohana. Kekurangan lain adalah Kohana masih belum memiliki scaffolding terintegrasi sehingga agak sedikit merepotkan. Selain itu, sebagai framework yang sedang berkembang pesat, perkembangan ini tidak diikuti oleh dokumentasi yang up to date, karena banyak sekali penambahan fitur-fitur pada setiap versinya.

%d blogger menyukai ini: