.

.

Instalasi MS4W – MapServer for Windows

Posted by swilsarblog Thursday, June 3, 2010 0 comments

Pada pembahasan sebelumnya tentang mapserver secara global kita sedikitnya telah mengenal apa itu mapserver dari fitur, anatomy dan cara kerjanya. Sekarang kita akan coba masuk ke pembahasan yang lebih spesifik yaitu mapserver yang bekerja di lingkungan tertentu dalam hal ini adalah windows atau yang lebih dikenal dengan MS4W (MapServer for Windows), kenapa saya memlilih MS4W, alasanya klasik saja yaitu kemudahannya dan saya ga ingin di repotkan dengan hal-hal yang merepotkan. Oje langsung ke pengertian detailnya tentang MS4W, MS4W adalah bundle instalasi MapServer untuk platform Windows. Dimana MapServer (http://mapserver.gis.umn.edu) merupakan aplikasi freeware dan Open Source untuk dapat menampilkan Sistem Informasi Geografis di web. Paket MS4W ini sangat memudahkan para user dalam meng-install dan menghindari segala detail yang rumit. Untuk memudahkan user dalam membangun dan mengadministrasi sistem WebGIS maka disediakan pula modul tambahan (optional) antara lain :

MapLab
Maplab digunakan untuk mempermudah kita membuat file konfigurasi MapServer ( *.map )

KaMap
Framework yang merupakan paket open source yang menyediakan javascript API untuk mengembangkan antarmuka web yang sangat interaktif. kamap dikembangkan untuk bekerja dengan MapServer, tapi dapat dengan mudah diintegrasikan dengan paket perangkat lunak lain.

Chameleon
Framework yang memang disesuaikan dan beradaptasi untuk mengaplikasikan dan mengelola aplikasi Web GIS

MS4W Base Package

Berikut ini adalah paket dasar MS4W dari versinyayang terakhir (Jan 27, 2010) :
* Apache version 2.2.14
* PHP version 5.3.1
* MapServer 5.6.1 CGI and MapScript (CSharp, Java, PHP, Python)
* GDAL 1.7.0
* mapserver utilities
* gdal/ogr utilities
* proj.4 utilities
* shp2tile utility
* shapelib utilities
* shpdiff utility
* avce00 utilities
* PHP_OGR Extension 1.1.1
* OWTChart 1.2.0

Instalasi Package MS4W
  1. Terlebih dulu anda harus mendownload Package MS4W, yang berisi aplikasi MapServer versi lengkap, downloadlah Paket MS4W yang sudah stabil contohnya di versi ke ms4w_2.3.1.zip
  2. Dekompress-lah (Unzip) file *.zip yang telah anda download tadi pada direktori root komputer anda dalam hal ini adalah (c:\ms4w)
  3. Lakukan instalasi aplikasi web-servernya dalam hal ini “Apache” dengan cara mendouble-click file “apache-install.bat” yang terletak di dalam sub direktori “ms4w”
  4. Lakuakan pengujian hasil instalasi MS4W anda di browser (”http://localhost“), jika anda sebelumnya telah menginstall aplikasi semacam xampp dalam komputer anda pastikan service apache di matikan terlebih dahulu atau ganti portnya.
  5. Setelah program aplikasi Apache dan MapServer-nya terinstall dengan baik, langkah selanjutnya adalah menguji apakah PHP/MapScriptnya telah terpasang dengan benar. Cara adalah aktifkan terlebih dahulu modul PHP/Mapscript, kita harus melakukan sedikit perubahan pada konfiurasi php.ini yang terletak di D:\ms4w\Apache\cgi-bin\php.ini. hilangkan karakter ”;” pada ”;extension=php_mapscript.dll”. Kemudian restart Apache dengan mengeksekusi apache-restart.bat. setelah itu lakukan pengujian untuk mengujinya adalah, buatlah file berekstensi *.php missal : “mapserversion.php“, kemudian ketikan kode di bawah ini:
  6. dl(”php_mapscript.dll”);
    phpinfo();
    ?>

  7. Kemudian pangillah file yang tadi kita buat dari browser (”http://localhost/mapserversion.php” ). Jika sukses dan tidak terjadi error apapun pada browser, maka PHP/MapScript pendukung MapServer telah terinstal dengan benar dan siap untuk digunakan.

Belakangan ini lagi mencoba explore mapserver, supaya tidak lupa tentang apa yang sedang dipelajari karena banyak juga yang dipelajari, jadi saya tuangkan dalam tulisan kali ini dari berbagai referensi yang ada, oke langsung aja ke pembahasannya. MapServer adalah sebuah lingkungan pengembangan yang bersifat open source yang digunakan untuk pengembangan aplikasi internet yang memungkinkan pengolahan suatu data spasial (peta, citra dan data vektor).Aplikasi ini pertama kali dikembangkan di Universitas Minesotta, Amerika Serikat untuk proyek ForNet (sebuah proyek untuk menajemen sumber daya alam) yang disponsori NASA (Nasional Aeronautics and Space Administration). Dukungan NASA dilanjutkan dengan dikembangkan proyek TerraSIP untuk menajemen data lahan. Saat ini, karena sifatnya yang terbuka (open source), pengembangan MapServer dilakukan oleh pengembang dari berbagai negara.


Fitur Mapserver

* Dukungan pada bahasa script dan lingkungan pengembangan populer seperti: PHP, Python, Perl, Ruby, Java dan C#
* Dukungan lintas platform seperti: Linux, Windows, Mac OS X, Solaris dan lainnya
* Mendukung data spasial dalam format raster seperti TIFF/GeoTIFF, EPPL7 dan berbagai format data raster lain dengan menggunakan library GDAL
* Mendukung data spasial dalam format vektor seperti : Shapefile (ESRI), ArcSDE (ESRI), PostGIS dan berbagai format data vektor lain dengan menggunakan library OGR
* Mendukung rendering karakter berupa font TrueType
* Dukungan pada proyeksi peta : Proyeksi peta on-the-fly dengan lebih dari 1000 sistem proyeksi lewat library Proj. 4
Anatomy Aplikasi Mapserver

Anatomy of Maspserver Application


Sebuah aplikasi mapserver sederhana terdiri dari:

* Mapfile – adalah file konfigurasi terstruktur untuk aplikasi mapserver anda. Berisi konfigurasi wilayah peta anda, lokasi data dalam server dan format output dan lainnya. Juga berisi layer-layer peta anda, sumber data, proyeksi dan simbologi. Biasanya adalah file teks dengan ekstensi .map.
* Data Geografis – Mapserver bisa menggunakan beberapa jenis/format sumber data geografis. Format utama yang didukung adalah ESRI Shapefile.
* Halaman HTML – merupakan jembatan antara user dan mapserver. Berupa file HTML dalam server/hosting anda. Mapserver bisa dipanggil untuk membuat peta statis dalam halaman HTML anda, atau untuk membuatnya interaktif anda bisa membuat form dalam HTML ini.

CGI adalah program yang ’stateless’, setiap rekues yang dikirim adalah selalu baru, dia tidak bisa mengingat apa yang sudah dilakukannya sebelumnya lewat permintaan anda. Itulah sebabnya, aplikasi anda harus mengirim terus parameter-parameter yang diinginkan (layer apa saja, di wilayah mana peta ditampilkan, mode aplikasi, dsb) yang bisa ditentukan lewat variabel tersembunyi dalam form atau lewat URL.

Aplikasi/form mapserver sederhana bisa terdiri dari dua halaman HTML:
o File inisialisasi – menggunakan form dengan variabel tersembunyi untuk mengirim kueri awal ke webserver dan mapserver. Form ini bisa ditempatkan secara terpisah atau digantikan dengan mengirim variabel lewat URL.
o File templat – untuk mengatur bagaimana tampilan peta, legenda dan informasi lainnya disajikan dalam halaman HTML lewat browser. Dengan mengirim referensi variabel Mapserver CGI pada templat HTML, anda akan meminta mapserver menerjemahkannya menjadi nilai variabel bergantung pada status terakhirnya (misalnya nama peta, peta referensi, besar/cakupan peta, dsb). Templat ini juga akan menentukan bagaimana nantinya pengunjung berinteraksi dengan aplikasi mapserver (perbesaran/pengecilan, menggeser peta, kueri, dsb).
* Mapserver CGI – file biner yang dieksekusi untuk menerima permintaan/rekues dan menerjemahkannya menjadi gambar peta, data, dsb. Berada di direktori cgi-bin atau direktori lain yang ditentukan pada webserver. Di RuangWeb.com ini berada di /cgi-sys pada domain anda.
* HTTP Server (Webserver) – aplikasi yang menyajikan halaman HTML pada browser. RuangWeb.com menggunakan Apache sebagai webservernya.
Cara Kerja Mapserver

Cara kerja Mapserver


Secara teknis MapServer adalah program CGI yang terpasang dan berjalan tapi tidak aktif dalam server, aktif hanya ketika pada saat di panggil saja. Ketika ada request dari klient, maka request tersebut akan dikirimkan ke mapserver, dari informasi yang dikirimkan lewat URL dan mapfile untuk membuat (generate) peta yang diinginkan. request ini bisa juga termasuk request untuk membuat legenda, peta referensi, skala, dan variabel lain yang dikirimkan ke CGI.


Kriptografy apa sieh..

Posted by swilsarblog Tuesday, March 9, 2010 2 comments

Kriptografi (cryptography) berasal dari bahasa Yunani yaitu cryptos artinya rahasia (secret) dan graphein artinya tulisan (writing). Jadi kriptografi berarti tulisan rahasia (secret writing). Kriptografi tidak hanya ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, nirpenyangkalan, otentikasi tetapi juga sekumpulan teknik yang berguna.

Terminologi Kriptografi

a. Pesan, Plainteks dan Cipherteks

Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah plainteks. Agar pesan tidak bisa dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks

b. Pengirim dan Penerima

Pengirim adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer), kartu kredit dan sebagainya.

c. Enkripsi dan dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi. Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi

d. Cipher dan kunci

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua buah himpunan yaitu himpunan yang berisi elemen-elemen plainteks dan himpunan yang berisi cipherteks. Enkripsi dan dekripsi adalah fungsi yang memetakan elemen-elemen antara kedua himpunan tersebut.

e. Sistem kriptografi

Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin dan kunci.

f. Penyadap

Penyadap adalah orang yang berusaha mencoba menangkap pesan selama ditransmisikan dengan tujuan mendapatkan informasi sebanyak-banyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan cipherteks.

g. Kriptanalisis dan kriptologi

Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis. Kriptologi adalah studi mengenai kriptografi dan kriptanalisis.

Sejarah Kriptografi

Sejarah kriptografi sebagian besar merupakan sejarah kriptografi klasik yaitu metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan bantuan alat mekanik sederhana. Secara umum algoritma kriptografi klasik dikelompokkan menjadi dua kategori, yaitu algoritma transposisi (transposition cipher) dan algoritma substitusi (substitution cipher). Cipher transposisi mengubah susunan huruf-huruf di dalam pesan, sedangkan cipher substitusi mengganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf lain.

Kriptografi modern dipicu oleh perkembangan peralatan komputer digital. Tidak seperti kriptografi

klasik yang mengenkripsi karakter per karakter (dengan menggunakan alfabet tradisionil), kriptografi modern beroperasi pada string biner. Kriptografi modern tidak hanya memberikan aspek keamanan confidentially, tetapi juga aspek keamanan lain seperti otentikasi, integritas data dan nirpenyangkalan.


Kriptografi Kunci Simetri dan Asimetri
Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan lagi menjadi kriptografi kunci simetri dan kriptografi kunci asimetri. Pada sistem kriptografi kunci simetri, kunci untuk enkripsi sama dengan kunci untuk dekripsi. Jika kunci untuk enkripsi tidak sama dengan kunci untuk dekripsi, maka dinamakan sistem kriptografi asimetri.


Sistem Kriptografi

Kriptografi (Cryptography) adalah seni dan ilmu tentang cara-cara menjaga kemanan [1]. Istilah-istilah yang digunakan dalam bidang kriptografi antara lain :

a. Plainteks, merupakan data atau pesan asli yang ingin dikirim.

b. Cipherteks, merupakan data hasil enkripsi.

c. Enkripsi, merupakan proses untuk mengubah plainteks menjadi chiperteks.

d. Deskripsi, merupakan proses untuk mengubah chiperteks menjadi plainteks atau pesan asli.

e. Key(Kunci), suatu bilangan yang dirahasiakan, dan digunakan untuk proses enkripsi dan deskripsi.

Pada intinya Kriptosistem (Cryptosystem) adalah sistem kriptografi yang meliputi algoritma, plainteks, cipherteks, dan key (kunci). Namun setiap teknologi tentu memiliki kelemahan. Kriptanalisis (Cryptanalysis) adalah ilmu dan seni dalam membuka ciphertext dengan memanfaatkan kelemahan yang ada pada kriptosistem tersebut berdasar Kriptologi (Ilmu matematika yang melatarbelakangi ilmu kriptografi dan ilmu kriptanalisis). Secara umum, kriptografi terdiri dari dua buah bagian utama yaitu bagian enkripsi dan bagian dekripsi. Enkripsi adalah proses transformasi informasi menjadi bentuk lain sehingga isi pesan yang sebenarnya tidak dapat dipahami, hal ini dimaksudkan agar informasi tetap terlindung dari pihak yang tidak berhak menerima. Sedangkan dekripsi adalah proses kebalikan enkripsi, yaitu transformasi data terenkripsi ke data bentuk semula. Proses transformasi dari plainteks menjadi cipherteks akan dikontrol oleh kunci. Peran kunci sangatlah penting, kunci bersama-sama dengan algoritma matematisnya akan memproses plainteks menjadi cipherteks dan sebaliknya. Adapun blok proses enkripsi-dekripsi secara umum dapat kita lihat pada gambar di bawah ini

proses enkripsi-dekripsi secara umum.jpg

Secara matematis sederhana, proses enkripsi-dekripsi dapat dituliskan dengan persamaan sebagai berikut :

rumus mc.jpg

Dimana :

m = message / plainteks

c = cipherteks

D = fungsi Dekripsi

d = kunci dekripsi

E = fungsi Enkripsi

e = kunci enkripsi

Dari dua persamaan diatas dapat ditulis

rumus mc 2.jpg


Sehingga terlihat pesan yang telah tersandi dapat dikembalikan menjadi pesan semula.

Algoritma Kriptografi

Berdasarkan jenis kunci yang digunakan, dikenal dua buah algoritma kriptografi , yaitu:

Algoritma kriptografi simetris / private key algorithm. Algoritma kriptografi asimetris / public key algorithm

Algoritma Kriptografi Simetris

Disebut sebagai algoritma simetris, karena dalam proses enkripsi dan dekripsinya menggunakan kunci yang sama. Algoritma enkripsi dan deskripsi bias merupakan algoritma yang sudah umum diketahui, namun kunci yang dipakai harus terjaga kerahasiaanya, dan hanya diketahui oleh pihak pengirim dan penerima saja. Kunci ini disebut sebagai private key. Sebelum berkomunikasi kedua pihak harus bersepakat lebih dahulu tentang kunci yang dipergunakan. Pendistribusian kunci dari satu pihak ke pihak lainnya memerlukan suatu kanal tersendiri yang terjagaan kerahasiaannya. Adapun proses kriptografi simetris dapat kita lihat pada Gambar

proses kriptografi simetris.jpg

Algoritma kunci simetris memiliki beberapa kelebihan dan kekurangan, yakni:

Kelebihan :

1. Waktu proses untuk enkripsi dan dekripsi relatif cepat, hal ini disebabkan karena efisiensi yang terjadi pada pembangkit kunci.
2. Karena cepatnya proses enkripsi dan dekripsi, maka algoritma ini dapat digunakan pada sistem secara real-time seperti saluran telepon digital.

Kekurangan :

3. Untuk tiap pasang pengguna dibutuhkan sebuah kunci yang berbeda, sedangkan sangat sulit untuk menyimpan dan mengingat kunci yang banyak secara aman, sehingga akan menimbulkan kesulitan dalam hal manajemen kunci.
4. Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini akan menimbulkan masalah yang baru karena tidak mudah u menentukan jalur yang aman untuk kunci, masalah ini sering disebut dengan “Key Distribution Problem”.
5. Apabila kunci sampai hilang atau dapat ditebak maka kriptosistem ini tidak aman lagi.

Contoh skema enkripsi kunci simetrik adalah :

a. DES (Data Encryption Standard)

b. IDEA (International Data Encryption Algorithm)

c. FEAL

Algoritma Kriptografi Asimetris

Algoritma asimetrik disebut juga algoritma kunci publik. Disebut kunci publik karena kunci yang digunakan pada proses enkripsi dapat diketahui oleh orang banyak[1] tanpa membahayakan kerahasiaan kunci dekripsi, sedangkan kunci yang digunakan untuk proses dekripsi hanya diketahui oleh pihak yang tertentu (penerima). Mengetahui kunci publik semata tidak cukup untuk menentukan kunci rahasia. Pasangan kunci publik dan kunci rahasia menentukan sepasang transformasi yang merupakan invers satu sama lain, namun tidak dapat diturunkan satu dari yang lain. Dalam sistem kriptografi kunci publik ini, proses enkripsi dan dekripsi menggunakan kunci yang berbeda, namun kedua kunci tersebut memiliki hubungan matematis (karena itu disebut juga sistem asimetris). Adapun proses kriptografi asimetris secara umum dapat kita lihat pada Gambar

Gambar 2.3 Proses Kriptografi Asimetris

Algoritma kunci asimetris memiliki beberapa kelebihan dan kekurangan, yakni:

Kelebihan :

1. Masalah keamanan pada distribusi kunci dapat diatasi.
2. Manajemen kunci pada suatu sistem informasi dengan banyak pengguna menjadi lebih mudah, karena jumlah kunci yang digunakan lebih sedikit.
3.

Kekurangan :

1. Kecepatan proses algoritma ini tergolong lambat bila dibandingkan dengan algoritma kunci simetris.
2. Untuk tingkat keamanan yang sama, rata-rata ukuran kunci harus lebih besar bila dibandingkan dengan ukuran kunci yang dipakai pada algoritma kunci simetris.

Contoh skema enkripsi kunci asimetrik adalah [1]:

a. DSA (Digital Signature Algorithm)

b. RSA

c. Diffie-Hellman (DH)

Sistem Informasi Geografis (GIS) - Lanjutan

Posted by swilsarblog Thursday, February 18, 2010 0 comments

Sistem Informasi Geografi (SIG) atau Geographic Information System (GIS) adalah suatu sistem informasi yang dirancang untuk bekerja dengan data yang bereferensi spasial atau berkoordinat geografi atau dengan kata lain suatu SIG adalah suatu sistem basis data dengan kemampuan khusus untuk menangani data yang bereferensi keruangan (spasial) bersamaan dengan seperangkat operasi kerja (Barus dan Wiradisastra, 2000). Sedangkan menurut Anon (2001) Sistem Informasi geografi adalah suatu sistem Informasi yang dapat memadukan antara data grafis (spasial) dengan data teks (atribut) objek yang dihubungkan secara geogrfis di bumi (georeference). Disamping itu, SIG juga dapat menggabungkan data, mengatur data dan melakukan analisis data yang akhirnya akan menghasilkan keluaran yang dapat dijadikan acuan dalam pengambilan keputusan pada masalah yang berhubungan dengan geografi.

Sistem Informasi Geografis dibagi menjadi dua kelompok yaitu sistem manual (analog), dan sistem otomatis (yang berbasis digital komputer). Perbedaan yang paling mendasar terletak pada cara pengelolaannya. Sistem Informasi manual biasanya menggabungkan beberapa data seperti peta, lembar transparansi untuk tumpang susun (overlay), foto udara, laporan statistik dan laporan survey lapangan. Kesemua data tersebut dikompilasi dan dianalisis secara manual dengan alat tanpa komputer. Sedangkan Sistem Informasi Geografis otomatis telah menggunakan komputer sebagai sistem pengolah data melalui proses digitasi. Sumber data digital dapat berupa citra satelit atau foto udara digital serta foto udara yang terdigitasi. Data lain dapat berupa peta dasar terdigitasi (Nurshanti, 1995).

Pengertian GIS/SIG saat ini lebih sering diterapkan bagi teknologi informasi spasial atau geografi yang berorientasi pada penggunaan teknologi komputer. Dalam hubungannya dengan teknologi komputer, Arronoff (1989) dalam Anon (2003) mendifinisikan SIG sebagai sistem berbasis komputer yang memiliki kemampuan dalam menangani data bereferensi geografi yaitu pemasukan data, manajemen data (penyimpanan dan pemanggilan kembali), memanipulasi dan analisis data, serta keluaran sebagai hasil akhir (output). Sedangkan Burrough, 1986 mendefinisikan Sistem Informasi Geografis (SIG) sebagai sistem berbasis komputer yang digunakan untuk memasukkan, menyimpan, mengelola, menganalisis dan mengaktifkan kembali data yang mempunyai referensi keruangan untuk berbagai tujuan yang berkaitan dengan pemetaan dan perencanaan. Komponen utama Sistem Informasi Geografis dapat dibagi kedalam 4 komponen utama yaitu: perangkat keras (digitizer, scanner, Central Procesing Unit (CPU), hard-disk, dan lain-lain), perangkat lunak (ArcView, Idrisi, ARC/INFO, ILWIS, MapInfo, dan lain-lain), organisasi (manajemen) dan pemakai (user). Kombinasi yang benar antara keempat komponen utama ini akan menentukan kesuksesan suatu proyek pengembangan Sistem Informasi Geografis.

Aplikasi SIG dapat digunakan untuk berbagai kepentingan selama data yang diolah memiliki refrensi geografi, maksudnya data tersebut terdiri dari fenomena atau objek yang dapat disajikan dalam bentuk fisik serta memiliki lokasi keruangan (Indrawati, 2002).

Tujuan pokok dari pemanfaatan Sistem Informasi Geografis adalah untuk mempermudah mendapatkan informasi yang telah diolah dan tersimpan sebagai atribut suatu lokasi atau obyek. Ciri utama data yang bisa dimanfaatkan dalam Sistem Informasi Geografis adalah data yang telah terikat dengan lokasi dan merupakan data dasar yang belum dispesifikasi (Dulbahri, 1993).

Data-data yang diolah dalam SIG pada dasarnya terdiri dari data spasial dan data atribut dalam bentuk digital, dengan demikian analisis yang dapat digunakan adalah analisis spasial dan analisis atribut. Data spasial merupakan data yang berkaitan dengan lokasi keruangan yang umumnya berbentuk peta. Sedangkan data atribut merupakan data tabel yang berfungsi menjelaskan keberadaan berbagai objek sebagai data spasial.

Penyajian data spasial mempunyai tiga cara dasar yaitu dalam bentuk titik, bentuk garis dan bentuk area (polygon). Titik merupakan kenampakan tunggal dari sepasang koordinat x,y yang menunjukkan lokasi suatu obyek berupa ketinggian, lokasi kota, lokasi pengambilan sample dan lain-lain. Garis merupakan sekumpulan titik-titik yang membentuk suatu kenampakan memanjang seperti sungai, jalan, kontus dan lain-lain. Sedangkan area adalah kenampakan yang dibatasi oleh suatu garis yang membentuk suatu ruang homogen, misalnya: batas daerah, batas penggunaan lahan, pulau dan lain sebagainya.

Struktur data spasial dibagi dua yaitu model data raster dan model data vektor. Data raster adalah data yang disimpan dalam bentuk kotak segi empat (grid)/sel sehingga terbentuk suatu ruang yang teratur. Data vektor adalah data yang direkam dalam bentuk koordinat titik yang menampilkan, menempatkan dan menyimpan data spasial dengan menggunakan titik, garis atau area (polygon) (Barus dan Wiradisastra, 2000).

Lukman (1993) menyatakan bahwa sistem informasi geografi menyajikan informasi keruangan beserta atributnya yang terdiri dari beberapa komponen utama yaitu:

1. Masukan data merupakan proses pemasukan data pada komputer dari peta (peta topografi dan peta tematik), data statistik, data hasil analisis penginderaan jauh data hasil pengolahan citra digital penginderaan jauh, dan lain-lain. Data-data spasial dan atribut baik dalam bentuk analog maupun data digital tersebut dikonversikan kedalam format yang diminta oleh perangkat lunak sehingga terbentuk basisdata (database). Menurut Anon (2003) basisdata adalah pengorganisasian data yang tidak berlebihan dalam komputer sehingga dapat dilakukan pengembangan, pembaharuan, pemanggilan, dan dapat digunakan secara bersama oleh pengguna.

2. Penyimpanan data dan pemanggilan kembali (data storage dan retrieval) ialah penyimpanan data pada komputer dan pemanggilan kembali dengan cepat (penampilan pada layar monitor dan dapat ditampilkan/cetak pada kertas).

3. Manipulasi data dan analisis ialah kegiatan yang dapat dilakukan berbagai macam perintah misalnya overlay antara dua tema peta, membuat buffer zone jarak tertentu dari suatu area atau titik dan sebagainya. Anon (2003) mengatakan bahwa manipulasi dan analisis data merupakan ciri utama dari SIG. Kemampuan SIG dalam melakukan analisis gabungan dari data spasial dan data atribut akan menghasilkan informasi yang berguna untuk berbagai aplikasi

4. Pelaporan data ialah dapat menyajikan data dasar, data hasil pengolahan data dari model menjadi bentuk peta atau data tabular. Menurut Barus dan wiradisastra (2000) Bentuk produk suatu SIG dapat bervariasi baik dalam hal kualitas, keakuratan dan kemudahan pemakainya. Hasil ini dapat dibuat dalam bentuk peta-peta, tabel angka-angka: teks di atas kertas atau media lain (hard copy), atau dalam cetak lunak (seperti file elektronik).

Menurut Anon (2003) ada beberapa alasan mengapa perlu menggunakan SIG, diantaranya adalah:

1. SIG menggunakan data spasial maupun atribut secara terintegrasi

2. SIG dapat digunakansebagai alat bantu interaktif yang menarik dalam usaha meningkatkan pemahaman mengenai konsep lokasi, ruang, kependudukan, dan unsur-unsur geografi yang ada dipermukaan bumi.

3. SIG dapat memisahkan antara bentuk presentasi dan basis data

4. SIG memiliki kemampuan menguraikan unsur-unsur yang ada dipermukaan bumi kedalam beberapa layer atau coverage data spasial

5. SIG memiliki kemapuan yang sangat baik dalam memvisualisasikan data spasial berikut atributnya

6. Semua operasi SIG dapat dilakukan secara interaktif

7. SIG dengan mudah menghsilkan peta-peta tematik

8. semua operasi SIG dapat di costumize dengan menggunakan perintah-perintah dalam bahaa script.

9. Peragkat lunak SIG menyediakan fasilitas untuk berkomunikasi dengan perangkat lunak lain

10. SIG sangat membantu pekerjaan yang erat kaitannya dengan bidang spasial dan geoinformatika.

Barus dan Wiradisastra (2000) juga mengungkapkan bahwa SIG adalah alat yang handal untuk menangani data spasial, dimana dalam SIG data dipelihara dalam bentuk digital sehingga data ini lebih padat dibanding dalam bentuk peta cetak, tabel atau dalam bentuk konvensional lainnya yang akhirnya akan mempercepat pekerjaan dan meringankan biaya yang diperlukan.

Sarana utama untuk penanganan data spasial adalah SIG. SIG didesain untuk menerima data spasial dalam jumlah besar dari berbagai sumber dan mengintergrasikannya menjadi sebuah informasi, salah satu jenis data ini adalah data pengindraan jauh. Pengindraan jauh mempunyai kemampuan menghasilkan data spasial yang susunan geometrinya mendekati keadaan sebenarnya dengan cepat dan dalam jumlah besar. Barus dan Wiradisastra (2000) mengatakan bahwa SIG akan memberi nilai tambah pada kemampuan pengindraan jauh dalam menghasilkan data spasial yang besar dimana pemanfaatan data pengindraan jauh tersebut tergantung pada cara penanganan dan pengolahan data yang akan mengubahnya menjadi informasi yang berguna.

Sistem Informasi Geografis merupakan sistem berbasis computer yang didesain untuk mengumpulkan, mengelola, memanipulasi, dan menampilkan informasi spasial (keruangan)1. yakni informasi yang mempunyai hubungan geometric dalam arti bahwa informasi tersebut dapat dihitung, diukur, dan disajikan dalam sistem koordinat, dengan data berupa data digital yang terdiri dari data posisi (data spasial) dan data semantiknya (data atribut). SIG dirancang untuk mengumpulkan, menyimpan dan menganalisis suatu obyek dimana lokasi geografis merupakan karakteristik yang penting, dan memerlukan analisis yang kritis. Penanganan dan analisis data berdasarkan lokasi geografis merupakan kunci utama SIG. Oleh karena itu data yang digunakan dan dianalisa dalam suatu SIG berbentuk data peta (spasial) yang terhubung langsung dengan data tabular yang mendefinisikan bentuk geometri data spasial. Misalnya apabila kita membuat suatu theme atau layer tertentu, maka secara otomatis layer tersebut akan memiliki data tabular yang berisi informasi tentang bentuk datanya (point, line atau polygon) yang berada dalam layer tersebut .

SIG juga merupakan sebuah alat bantu manajemen berupa informasi berbantuan komputer yang berkait erat dengan sistem pemetaan dan analisis terhadap segala sesuatu serta peristiwa-peristiwa yang terjadi di muka bumi. Teknologi SIG mengintegrasikan operasi pengolahan data berbasis database yang biasa digunakan saat ini, seperti pengambilan data berdasarkan kebutuhan dan analisis statistik dengan menggunakan visualisasi yang khas serta berbagai keuntungan yang mampu ditawarkan melalui analisis geografis melalui gambargambar petanya. Kemampuan tersebut membuat SIG berbeda dengan system informasi pada umumnya. Dengan SIG kita mampu melakukan lebih banyak dibanding hanya dengan menampilkan data semata-mata. SIG menggabungkan semua kemampuan, baik yang hanya berupa sekedar tampil saja, sistem informasi yang tersaji secara thematis, dan sistem pemetaan yang berdasarkan susunan dan jaringan lalu-lintas jalan, bersamaan dengan kemampuan untuk menganalisa lokasi geografis dan informasi-informasi tertentu yang terkait terhadap lokasi yang bersangkutan. Dan jangan lupa, SIG adalah sebuah aplikasi dinamis yang akan terus berkembang. Peta yang dibuat pada aplikasi ini tidak hanya akan berhenti dan terbatas untuk keperluan saat dibuatnya saja. Peremajaan terhadap informasi yang terkait pada peta tersebut dapat dilakukan dengan mudah, dan secara otomatis peta tersebut akan segera menunjukkan akan adanya perubahan informasi tadi. Semuanya itu dapat dikerjakan dalam waktu singkat, tanpa perlu belajar secara khusus. SIG sangat memungkinkan untuk membuat tampilan peta, menggunakannya untuk keperluan presentasi dengan menunjuk dan meng-kliknya, serta untuk menggambarkan dan menganalisis informasi dengan cara pandang baru, mengungkap semua keterkaitan yang selama ini tersembunyi, pola, beserta kecenderungannya.


Konsep Sistem Informasi Geografis

Sumber data untuk keperluan GIS dapat berasal dari data citra, data lapangan, survei kelautan, peta, sosial ekonomi dan GPS. Selanjutnya diolah dilaboratorium atau studio GIS dengan software tertentu sesuai dengan kebutuhannya untuk menghasilkan produk yang berupa informasi yang berguna dapat berupa peta konvensional maupun peta digital sesuai keperluan user, maka harus ada input kebutuhan yang diiinginkan user, dapat dilihat pada gambar berikut :


Komponen Sistem Informasi Geografis

Secara umum, Sistem Informasi Geografis bekerja berdasarkan integrasi komponen, yaitu: Hardware, Software, Data, Manusia, dan Metode. Kelima komponen tersebut dapat dijelaskan sebagai berikut:

1. Hardware

Sistem Informasi Geografis memerlukan spesifikasi komponen hardware yang sedikit lebih tinggi dibanding spesifikasi komponen sistem informasi lainnya. Hal tersebut disebabkan karena data-data yang digunakan dalam SIG, penyimpanannya membutuhkan ruang yang besar dan dalam proses analisanya membutuhkan memory yang besar dan processor yang cepat. Beberapa Hardware yang sering digunakan dalam Sistem Informasi Geografis adalah: Personal Computer (PC), Mouse, Digitizer, Printer, Plotter, dan Scanner.

2. Software

Sebuah software SIG haruslah menyediakan fungsi dan tool yang mampu melakukan penyimpanan data, analisis, dan menampilkan informasi geografis.

Dengan demikian elemen yang harus terdapat dalam komponen software SIG adalah:

o Tools untuk melakukan input dan transformasi data geografis

o Sistem Manajemen Basis Data.

o Tools yang mendukung query geografis, analisis, dan visualisasi.

o Geographical User Interface (GUI) untuk memudahkan akses pada tool geografi.

3. Data

Hal yang merupakan komponen penting dalam SIG adalah data. Secara fundamental, SIG bekerja dengan 2 tipe model data geografis, yaitu model data vector dan model data raster.

Dalam model data vector, informasi posisi point, garis, dan polygon disimpan dalam bentuk koordinat x,y. Bentuk garis, seperti jalan dan sungai dideskripsikan sebagai kumpulan daru koordinat-koordinat point. Bentuk polygon, seperti daerah penjualan disimpan sebagai pengulangan koordinat yang tertutup. Data raster terdiri dari sekumpulan grid atau sel seperti peta hasil scanning maupun gambar atau image. Masing-masing grid memiliki nilai tertenti yang bergantung pada bagaimana image tersebut digambarkan.

4. Manusia

Komponen manusia memegang peranan yang sangat menentukan, karena tanpa manusia maka sistem tersebut tidak dapat diaplikasikan dengan baik. Jadi manusia menjadi komponen yang mengendalikan suatu sistem sehingga menghasilkan suatu analisa yang dibutuhkan.

5. Metode

SIG yang baik memiliki keserasian antara rencana desain yang baik dan aturan dunia nyata, dimana metode, model dan implementasi akan berbeda untuk setiap permasalahan.



[event] Seminar Nasional Web 3.0 (Semantic Web, HTML 5, CSS 3)

Posted by swilsarblog Tuesday, February 2, 2010 0 comments

Seminar Nasional Web 3.0 ini merupakan seminar Teknologi Informasi yang diselenggarakan oleh institusi pendidikan tinggi Universitas Udayana Bali.

Event ini akan diselenggarakan pada hari Jumat tanggal 12 Februari 2010 di sebuah hotel yang bertempat di kawasan wisata Sanur Bali.

Seminar ini diharapkan bisa mengumpulkan para akademisi, praktisi dan pengguna TI, pelajar serta mahasiswa dari seluruh Indonesia yang mendalami keilmuan di bidang sistem informasi dan teknik informatika.

Lokasi Kegiatan:Inna Sindhu Beach Hotel, Sanur Bali Indonesia.

Waktu Pelaksanaan:Jumat, 12 Februari 2010

Pendaftaran sampai dengan 11 Februari 2010.

Registrasi Online melalui http://ilkom.unud.ac.id/web3ods/

Biaya Pendaftaran
- Pelajar/Mahasiswa = Rp 150.000,
- Umum = Rp 200.000,

Informasi selengkapnya bisa diakses melalui :http://ilkom.unud.ac.id/web3ods/

Windows XP like Windows Seven

Posted by swilsarblog Tuesday, January 26, 2010 0 comments

Maraknya berita soal windows seven yang merupakan penyempurnaan dari windows vista membuat aku pengen coba buat kompiku yang masih menggunakan XP untuk bisa setara dengan windows 7. Nah coba - coba browsing, mang cukup lama sie dapetnya akhirnya aku dapat juga nih. bonus deh dengan theme royale. Sebenarnya menggunakan windowblinds si bisa, cuma lebih berat dan juga ya itu harus crack dolo males ah. Salah - salah bisa ancur kompiku.

Lihat Contoh :


Nah kemudian aku menemukan satu jurus nih .. kalian silahkan unduh di sini ...

FITUR - FITURNYA
Widget ini memiliki banyak kustomisasi dan Anda dapat:

  • Ubah Widget Judul
  • Kontrol Widget Tinggi
  • Ubah Blog Url feed, Anda dapat mengambil posting dari blog lain
  • Tampilan post thumbnail
  • Tampilan posting ringkasan
  • Sesuaikan post Ringkasan panjang
  • Tampilan post date
  • Display jumlah komentar
  • Menampilkan link Selengkapnya
  • Display a Separator b / w posting

Bagaimana Untuk membuat widget ini

Ini sangat mudah untuk men-setup widget ini,
Silakan pergi ke account blogger Anda, dan klik layout, pada Elemen Halaman halaman, silahkan klik Add A Gadget pada sidebar Anda,

Dalam jendela yang baru terbuka Anda akan menemukan bar pencarian, silakan masukkan kata kunci berikut dan tekan enter "posting terbaru dengan thumbnail",
kemudian dalam hasil Anda akan menemukan sebuah widget yang disebut: lanjutan posting terbaru
kemudian klik (tambahkan) ikon dan pastikan untuk mengklik ikon menambahkan bahwa di sebelah lanjutan posting terbaru widget.

Blogger Recent Posts Widget With Thumbnail

And on the next page, please customize you widget, and once you finish please click Save

Bookmark sosial kini merupakan faktor yang sangat penting ketika datang ke blog Anda seo, karena dapat memberi Anda banyak back link, dan aku yakin bahwa Anda ingin membuat mudah bagi pengunjung untuk berbagi dan penunjuk posting blog Anda.
Jadi di sinilah aku daftar 6 terbaik sharing dan bookmark widget untuk blogger (blogspot) pengguna Dan saya akan menjelaskan masing-masing dan akan mengatakan kepadamu dan pro kontra untuk masing-masing.


1. AddtoAny

Add to any for blogger
AddtoAny.com

  • Lebih dari 120 situs bookmark
  • Pengguna dapat mencari layanan khusus
  • Memungkinkan pengguna untuk mengirim halaman anda untuk seorang teman melalui email.
  • Memungkinkan pengguna untuk mem-bookmark blog Anda pada browser mereka
  • Customizable mudah.

2. AddThis

AddThis for blogger
Addthis.com

  • Terpintar berbagi alat lamanya.
  • Terbesar koleksi layanan, dan berkembang. 170 + jasa
  • Otomatis diterjemahkan dalam lebih dari 50 bahasa.
  • Sesuaikan warna dan menu
  • Track bagaimana pengguna Anda berbagi dengan analisis.

3. ShareThis

ShareThis for blogger
ShareThis.com

  • Hanya layanan 45
  • Customize Mampu
  • Bahasa Inggris saja.
  • Anda dapat mendaftar dan impor alamat email teman Anda untuk mengirim berita mereka dengan mudah.

4. Share The Love

Share The Love for blogger
AllBlogTools.com

  • 18 Layanan
  • JQuery Expanding system

Nah kalian bisa memilih deh mana yang lebih bagus dan paling cocok untuk situs anda ... OK !!!

secondlife Bagai Kehidupan Nyata

Posted by swilsarblog Friday, January 15, 2010 0 comments


Sebelumnya saya mengucapkan terimakasih kepada Bapak Rendy Febriano Sukardi atas informasi yang diberikan tadi siang. langsung saja, Ada yang pernah mencoba untuk mengunjungi secondlife.com..?
Bagi pengunjung yang belum pernah, coba deh iseng-iseng berkunjung kesana. Nanti kita dapat melakukan aktivitas keseharian kita tapi lewat dunia maya. keren kan..!? Ini review mengenai secondlife.com

Apa itu secondlife.com ?
Second Life atau Kehidupan Kedua (bahasa Indonesia) adalah dunia maya berbasis internet dan diluncurkan pada tahun 2003. Second Life dikembangkan oleh perusahaan riset Linden Research, Inc (sering disebut juga sebagai lab Linden), komunitas maya ini menjadi perhatian dunia saat diliput oleh media berita pada akhir tahun 2006 dan awal 2007. Sebuah program yang diberi nama "Pratayang Kehidupan Kedua" (Second Life Viewer) dapat diunduh saat penggunanya ingin menamakan dirinya "Penghuni" (Residents). Hal ini memungkinkan penghuni satu dan lainnya untuk saling berinteraksi melalui avatar-avatar yang dapat bergerak. Second Life memungkinkan penggunanya untuk memiliki jaringan sosial berbasis internet.

Kegunaan secondlife.com ?
Hampir sama dengan jejaring sosial lainnya seperti facebook, friendster, twitter dan lainnya. Pada secondlife kita juga dapat melakukan chatting, add teman, video streaming, dan masih banyak lagi keunggulannya. Dalam bidang ekonomi banyak orang sudah memanfaatkan secondlife sebagai tempat mempublikasikan produk mereka. Terkadang bagi pebisnis menggunakan secondlife sebagai tempat melakukan meeting atau melakukan persentasi produk. canggih kan...

Kelebihan secondlife.com ?
- software menggunakan 3 dimensi animasi jadi terlihat seperti kehidupan nyata.
- memiliki layanan yang lengkap seperti chatting, video streaming, melakukan meeting secara virtual atau pun melakukan penjualan secara online dengan 3 dimensi.

Cara bergabung di secondlife.com :
- masuk ke website secondlife.com
- lakukan register/registrasi terlebih dahulu,
- isi keterangan sesuai dengan perintah yang diminta,
gambar : register1

gambar : register2

gambar : register3

- kemudian klik Create Account,
- system akan meminta anda untuk mengecek email yang digunakan pada saat mendaftar atau melakukan register, karena pada email tersebut akan diberikan suatu link agar anda dapat melakukan login.
gambar : Halaman setelah melakukan register,

Progam Sistem Pakar Deteksi Penyakit Yang Disebabkan Oleh Nyamuk

Posted by swilsarblog Wednesday, January 13, 2010 0 comments

Awal dari tugas dari dosen pengajar Pengantar Kecerdasan Buatan (Artificial Intelligence) yang mengharuskan membuat sebuah program sistem pakar apa saja terserah kita. akhirnya setelah melakukan googling selama beberapa lama akhirnya ketemu judul yang lumayan keren,
"Sistem Pakar Deteksi Penyakit Yang Disebabkan Oleh Nyamuk".

Judul ini kemudian saya buatkan sebuah program dengan menggunakan bahasa prolog. Apa itu prolog bisa dilihat di sini. Karakteristik dari program tersebut ada mencari kesimpulan penyakit dari data-data atau keterangan pengguna program. program akan menentukan apakah data tersebut merupakan ciri-ciri penyakit yang disebabkan oleh nyamuk atau tidak.

Untuk program dapat didownload disini !!,
program ini membutuhkan program tambahan dalam pengoperasiannya yaitu Borland Turbo Prolog 2.0.

Programming in Logic (Prolog Tutorial)

Posted by swilsarblog Friday, January 8, 2010 0 comments

singkatan dari Programming in Logic. Dikembangkan oleh Alain Colmenraurer dan P.Roussel di Universitas Marseilles Perancis, tahun1972. Prolog populer di Eropa untuk aplikasi artificial intelligence, sedangkan di Amerika peneliti mengembangkan aplikasi yang sama, yaitu LISP.

Perbedaan Prolog dengan Bahasa Lainnya :
a. Bahasa Pemrograman yang Umum (Basic, Pascal, C, Fortran):
-Diperlukan algoritma/prosedur untuk memecahkan masalah (procedural languange)
-Program menjalankan prosedur yang sama berulang-ulang dengan data masukan yang berbeda-beda.
-Prosedur dan pengendalian program ditentukan oleh programmer dan perhitungan dilakukan sesuai dengan prosedur yang telah dibuat.

b. Bahasa Pemrograman Prolog :
-Object oriented languange atau declarative languange.
-Tidak terdapat prosedur, tetapi hanya kumpulan data-data objek (fakta) yang akan diolah, dan relasi antar objek tersebut membentuk aturan yang diperlukan untuk mencari suatu jawaban
-Programmer menentukan tujuan (goal), dan komputer menentukan bagaimana cara mencapai tujuan tersebut serta mencari jawabannya.
-Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data yang telah ada dan relasinya.
-Prolog ideal untuk memecahkan masalah yang tidak terstruktur, dan prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non numerik.
-Prolog bekerja seperti pikiran manusia, proses pemecahan masalah bergerak di dalam ruang masalah menuju suatu tujuan (jawaban tertentu).
- Contoh : Pembuatan program catur dengan Prolog

Aplikasi Prolog :

* Sistem Pakar (Expert System)
Program menggunakan teknik pengambilan kesimpulan dari data-data yang didapat, layaknya seorang ahli.
Contoh dalam mendiagnosa penyakit

* Pengolahan Bahasa Alami (Natural Languange Processing)
Program dibuat agar pemakai dapat berkomunikasi dengan komputer dalam bahasa manusia sehari-hari, layaknya penterjemah.

* Robotik
Prolog digunakan untuk mengolah data masukanyang berasal dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan.

* Pengenalan Pola (Pattern Recognition)
Banyak digunakan dalam image processing, dimana komputer dapat membedakan suatu objek dengan objek yang lain.

* Belajar (Learning)
Program belajar dari kesalahan yang pernah dilakukan, dari pengamatan atau dari hal-hal yang pernah diminta untuk dilakukan.

Fakta dan Relasi
* Prolog terdiri dari kumpulan data-data objek yang merupakan suatu fakta.
* Fakta dibedakan 2 macam :
- Menunjukkan relasi.
- Menunjukkan milik/sifat.
* Penulisannya diakhiri dengan tanda titik “.”

- Contoh :

Fakta

Prolog

Slamet adalah ayah Amin ayah (slamet, amin).
Anita adalah seorang wanita wanita (anita).
Angga suka renang dan tenis suka(angga, renang). dan suka(angga,tenis).
Jeruk berwarna jingga jngga(jeruk).

Aturan (“Rules”)
- Aturan adalah suatu pernyataan yang menunjukkan bagaimana fakta-fakta berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan.
- Sebuah aturan dinyakatakan sebagai suatu kalimat bersyarat.

- Kata “if” adalah kata yang dikenal Prolog untuk menyatakan kalimat bersyarat atau disimbolkan dengan “:-”.

- Contoh :

Fakta dan Aturan

Prolog

F : Tino suka apel

A : Yuli suka sesuatu yang disukai Tino

suka(tino, apel).

suka(yuli,Sesuatu) :- suka(tino,Sesuatu).

- Aturan memiliki sifat

- Setiap aturan terdiri dari kesimpulan(kepala) dan tubuh.

- Tubuh dapat terdiri dari 1 atau lebih pernyataan atau aturan yang lain, disebut subgoal dan dihubungkan dengan logika “and“.

then/if conditional

“Kepala(head) benar jika tubuh (body) benar”.

- Contoh : Silsilah keluarga :

aturan terdiri dari kesimpulan(kepala) dan tubuh.
- Tubuh dapat terdiri dari 1 atau lebih pernyataan atau aturan yang lain, disebut subgoal dan dihubungkan dengan logika “and”.
then/if conditional

“Kepala(head) benar jika tubuh (body) benar”.

- Contoh : Silsilah keluarga :

Fakta dan Aturan

Prolog

F : Slamet adalah ayah dari Amin

F : Amin adalah ayah dari Badu

F : Slamet adalah kakek dari Badu

A :

Slamet adalah benar kakek Badu jika Slamet adalah benar ayah Amin dan Amin adalah benar ayah Badu.

ayah(slamet,amin).

ayah(amin,badu).

kakek(slamet,badu).

kakek(slamet,amin) :-

ayah(slamet,amin) and

ayah(amin,badu).

F : Amin adalah saudara kandung Anang

F : Amin mempunyai ayah Slamet

F: Anang mempunyai ayah Slamet.

A :

Amin adalah benar saudara kandung Anang, jika Amin mempunyai ayah Slamet dan Anang juga mempunyai ayah Slamet.

saudara_kandung(amin,anang).

ayah(slamet,amin).

ayah(slamet,anang).

saudara_kandung(amin,anang) :-

ayah(slamet,amin) and

ayah(slamet,anang).

Pertanyaan (“Query”)

- Setelah memberikan data-data berupa fakta dan aturan, selanjutnya kita dapat mengajukan pertanyaan berdasarkan fakta dan aturan yang ada.

- Penulisannya diawali simbol “?-” dan diakhiri tanda “.“.

- Contoh :

Pertanyaan

Prolog dan Jawaban Program

Apakah Tini suka boneka ? ?- suka(tini,boneka).

Yes ……. (jika faktanya Tini suka boneka)

No………..(jika tidak sesuai fakta).

Apakah yang disukai Tini ? ?- suka(tini,Apa).

Apa=boneka

Siapakah yang suka boneka ? ?- suka(Siapa,boneka).

Siapa=tini

Dari contoh silsilah keluarga di atas :

Siapakah kakek Budi ?

Siapakah cucu Slamet ?

?- kakek(Siapa,budi).

Siapa=slamet

?- kakek(slamet,Cucu).

Cucu=budi ;

Cucu=badu

(jika kemungkinan ada lebih dari satu jawaban gunakan tanda “;” pada akhir setiap jawaban).

Predikat (“Predicate”)
- Predikat adalah nama simbolik untuk relasi.
- Contoh : ayah(slamet,amin).
Predikat dari fakta tersebut ditulis : ayah(simbol,simbol).
dimana ayah adalah nama predikat, sedangkan slamet dan amin adalah menujukkan argumen.
Sebuah predikat dapat tidak memiliki atau memiliki argumen dengan jumlah bebas. Jumlah argumen suatu predikat disebut aritas (arity).
ayah(nama) …… aritas-nya 1
ayah(nama1,nama2) ….. aritasnya 2

- Syarat-syarat penulisan nama predikat :
o Harus diawali dengan huruf kecil dan dapat diikuti dengan huruf, bilangan atau garis bawah.
o Panjang nama predikat maksimum 250 karakter.
o Tidak diperbolehkan menggunakan spasi, tanda minus, tanda bintang dan garis miring.

Variabel
- Varibel adalah besaran yang nilainya dapat berubah-ubah.
- Tata cara penulisan variabel :

1. Nama varibel harus diawali huruf besar atau garis bawah(_)
2. Nama variabel dapat terdiri dari huruf, bilangan, atau simbol dan merupakan kesatuan dengan panjang maksimum 250 karakter.
3. Nama variabel hendaknya mengandung makna yang berkaitan dengan data yang dinyatakannya.

- Contoh : dari silsilah di atas :

?- ayah(slamet,Anak).
Anak=budi ;
Anak=badu
No

Dari query di atas akan dicari siapakah anak dari ayah yang bernama Slamet. Karena mempunyai relasi yang sama (yaitu ayah), variabel Anak akan mencari nilai dari konstanta suatu fakta/aturan yang sepadan.
Tanda “;” digunakan bila terdapat kemungkinan ada lebih dari satu jawaban.
“No” berarti tidak ada lagi kemungkinan jawaban.

Contoh : dari silsilah di atas :
?- ayah(slamet,X),ayah(X,Y).
X=amin
Y=budi ;
X=amin
Y=badu ;
X=anang
Y=didi ;
X=anang
Y=didi
No

Contoh : Silsilah Keluarga
%% FAKTA */
%%orang tua */
ayah(slamet,amin).
ayah(slamet,anang).
ayah(amin,budi).
ayah(amin,badu).
ayah(anang,didi).
ayah(anang,dadi).
ayah(santoso,bu_amin).
ayah(supardi,bu_anang).
ibu(bu_slamet,amin).
ibu(bu_slamet,anang).
ibu(bu_amin,budi).
ibu(bu_amin,badu).
ibu(bu_anang,didi).
ibu(bu_anang,dadi).
ibu(bu_santoso,bu_amin).
ibu(bu_santoso,bu_anang).

/* ATURAN */
/*Kakek adalah kakek Cucu */
kakek(Kakek,Cucu) :-
ayah(Ayah,Cucu),
ayah(Kakek,Ayah).
kakek(Kakek,Cucu) :-
ibu(Ibu,Cucu),
ayah(Kakek,Ibu).
%% Nenek adalah nenek Cucu */
nenek(Nenek,Cucu) :-
ayah(Ayah,Cucu),
ibu(Nenek,Ayah).
nenek(Nenek,Cucu) :-
ibu(Ibu,Cucu),
ibu(Nenek,Ibu).
%% Nama1 adalah saudara kandung Nama2
saudara_kandung(Nama,Name) :-
ayah(Ayah,Nama),
ayah(Ayah,Name),
ibu(Ibu,Nama),
ibu(Ibu,Name),
Nama \= Name.
%% Sdr1 adalah saudara sepupu Sdr2
saudara_sepupu(Sdr1,Sdr2) :-
ayah(Ayah1,Sdr1),
ayah(Ayah2,Sdr2),
saudara_kandung(Ayah1,Ayah2).
saudara_sepupu(Sdr1,Sdr2) :-
ayah(Ayah,Sdr1),
ibu(Ibu,Sdr2),
saudara_kandung(Ayah,Ibu).
saudara_sepupu(Sdr1,Sdr2) :-
ibu(Ibu,Sdr1),
ayah(Ayah,Sdr2),
saudara_kandung(Ibu,Ayah).
saudara_sepupu(Sdr1,Sdr2) :-
ibu(Ibu1,Sdr1),
ibu(Ibu2,Sdr2),
saudara_kandung(Ibu1,Ibu2).

Download software installer prolog 2.0 klik disini

Basis Data Terdistribusi

Posted by swilsarblog Thursday, January 7, 2010 0 comments

DATABASE TERDISTRIBUSI : Database yang disimpan pada beberapa komputer didistribusi dalam sebuah sistem terdistribusi melalui media komunikasi seperti high speed buses atau telepone line.

SISTEM DATABASE TERDISTRIBUSI : berisi kumpulan site eksekusi transaksi lokal (mengakses data pada satu site) & transaksi global (mengakses data pada site berbeda )

Contoh :
Transaksi lokal : transaksi menambahkan dana pada nomor rekening 1112234 yang berada di cabang margonda. Transaksi ditentukan pada cabang margonda.

Transaksi global : transaksi transfer dari rekening 1112234 ke rekening 2223410 yang berada di kramat jati (rekening didua site berbeda telah diakses sebagai hasil dari eksekusinya).
Artikel selengkapnya dapat dilihat pada file dibawah ini,

Materi yang dapat dipelajari :
- Materi1
- Materi2
- Materi3
- Materi4
- Materi5
- Materi6

Query Pada Basis Data

Posted by swilsarblog Wednesday, January 6, 2010 0 comments

Query

Adalah perintah SQL yang dirancang untuk memnggil kelompok record tertentu dari 1 tabel atau lebih.

Bahasa Query mulai dikembangkan oleh IBM pada tahun 1970 yang hingga saat ini telah digunakan pada hampir semua produk DBMS (Database Management System) yaitu Structure Query Language yang dikenal dengan standar SQL.

contoh :
SELECT * FROM [TABLE] WHERE [KOLOM]=[KONDISI YANG INGIN DICARI]
atau
SELECT [NAMA JUDUL] FROM [TABLE] WHERE [KOLOM]=[KONDISI]

Materi yang dapat dipelajari, Download disini :
- Materi1.ppt
- Materi2.ppt
- Materi3.ppt
- Materi4.ppt
- Materi5.ppt

Tabel Pada Basis Data

Posted by swilsarblog 0 comments

Tabel

Tabel adalah inti dari sebuah database. Tabel menyimpan data yang dikelompokkan di dalam bentuk baris dan kolom seperti layaknya lembar kerja.

- Setiap baris mewakili record, dan setiap kolom adalah atribut atau field.
- Setiap field mengandung satu jenis informasi.

Sebagai contoh :
Field bernama Value memiliki tipe data Numeric, sementara field bernama Name memiliki informasi bertipe Teks.

Field-field pada tabel bisa memiliki pembatasan mengenai isi yang akan disimpan ke dalam field tersebut.

Sebagai contoh :
Sebuah field bernama Quantity tidak bisa menyimpan teks, hanya bisa menyimpan angka, dan tidak bisa menerima nilai di bawah 1 atau di atas 100.

Materi yang dapat dipelajari, Download disini :
- Materi1.ppt
- Materi2.ppt
- Materi3.ppt
- Materi4.ppt
- Materi5.ppt

Entity Relationship Model

Posted by swilsarblog 0 comments

Model Entity-Relationship (ER)

Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data.

Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan perluasan.

Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yang disebut entitas dan keterhubungan (relationship) antar entitas-entitas itu.

Konsep paling dasar di model ER adalah entitas, relationship dan atribut.


Komponen-komponen utama model ER adalah :

a. Entitas (entity), Entitas memodelkan objek-objek yang berada diperusahaan/lingkungan.

b. Relationship. Relationship memodelkan koneksi/hubungan di antara entitas-entitas.

c. Atribut-atribut (properti-properti), memodelkan properti-properti dari entitas dan relationship.

d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas.


Entitas (Entity) dan Himpunan Entitas (Entitas Sets)

Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas.

Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity sets). Sederhananya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut.

Seorang pasien, misalnya akan dimasukkan dalam himpunan entitas pasien. Sedang seorang dokter akan ditempatkan dalam himpunan entitas dokter.

Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang praktis) ini seringkali digantikan dengan sebutan entitas saja.

Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah literature sebenarnya menunjuk pada himpunan entitas.


Kunci Entitas

Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yang diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S, adalah himpunan atribut A. Sehingga tidak ada dua entitas di S yang mempunyai nilai sama untuk tiap atribut di A dan tidak ada subset di A yang dapat menjadi kunci di S, dengan demikian kunci mempunyai property minimal.


Atribut (Atributes/Properties)

Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas tersebut.

Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model ER. Contoh : nim, nama, alamat, kode.


Relasi (Relationship) dan Himpunan Relasi (Relationship Sets)

Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.

Misalnya, entitas seorang mahasiwa dengan

nim = �980001� dan
nama_mhs = �Ali Akbar� (yang ada di himpunan entitas Mahasiswa)

mempunyai relasi dengan entitas sebuah mata kuliah dengan

kode_kul=�IF-110� dan
nama_kul=�Struktur Data�.

Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi yang ditinjau.

Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas-himpuan entitas tersebut membentuk himpunan relasi (relationship sets).

Sebagaimana istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan istilah relasi saja.


Kardinalitas/derajat Relasi

Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya.


Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :

a. Satu ke satu (One to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B,
begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.

b. Satu ke Banyak (one to many),
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.

c. Banyak ke Satu (Many to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B.

d. Banyak ke Banyak (Many to Many)
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.


Diagram Entity-Relationship (ER)

Penggambaran Model ER secara sistematis dilakukan melalui diagram ER. Notasi-notasi simbolik di dalam Diagram ER yang dapat digunakan adalah:

a. Persegi panjang, menyatakan Himpunan Entitas.

b. Lingkaran/Elips, menyatakan atribut (Atribut yang berfungsi sebagai key digaris bawahi).

c. Belah ketupat, menyatakan Himpunan Relasi.

d. Garis, sebagai penghubung antara Himpunan Relasi dengan Himpunan Entitas dan Himpunan Entitas dengan Atributnya.

e. Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi one to one, 1 dan N untuk relasi one to many atau N dan N untuk relasi many to many).


Tahap Pembuatan Diagram ER

Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok penahapan yang biasa ditempuh di dalam pembuatan diagram ER, yaitu :

a. Tahap pembuatan Diagram ER awal (preliminary design). Yaitu :

- Melakukan pengidentifikasian dan menetapkan seluruh himpunan entitas yang akan terlibat.
- Menentukan atribut-atribut key dari masing-masing himpunan entitas.
- Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta foreign key nya.
- Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.
- Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key).

b. Tahap optimasi Diagram ER (final design).

Materi yang dapat dipelajari, Download disini :
- Materi1.ppt
- Materi2.ppt
- Materi3.ppt
- Materi4.ppt
- Materi5.ppt

Normalisasi Pada Basis Data

Posted by swilsarblog 0 comments

Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:

a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bJustify Fullisa dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang.

b. Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.
Gambar : ERD Diagram

Dekomposisi tabel dapat mengurangi redudansi yang ada dan menghilangkan anomali.


Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagai berikut :

a. Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.

b. Meminimalkan resiko inkonsistensi data pada basis data.

c. Meminimalkan kemungkinan anomaly pembaruan.

d. Memaksimalkan stabilitas struktur data.























Gambar : ERD dari Database

Bentuk Normal
Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :

a. Bentuk normal pertama (1NF)
b. Bentuk normal kedua (2NF)
c. Bentuk normal ketiga (3NF)
d. Bentuk normal Boyce-Codd (BCNF)
e. Bentuk normal keempat (4NF)
f. Bentuk normal kelima (5NF)


Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF (Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977), kemudian Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979).

Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua untuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk menghilangkan kebergantungan transitif. Bentuk normal Boyce-Codd untuk menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk normal keempat untuk menghilangkan kebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa.

Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai (multi-valued dependencies).


Bentuk Normal Pertama
Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit).










Gambar : Contoh Normalisasi Bentuk 1

Bentuk Normal Kedua
Bentuk normal kedua memiliki ketentuan harus telah berbentuk normal pertama (1NF), dan semua atribut bukan utama harus bergantung fungsional penuh pada kunci relasi.

Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima.















Gambar : Contoh Normalisasi Bentuk 2


Bentuk Normal Ketiga
Bentuk normal ketiga memiliki ketentuan harus telah berbentuk normal kedua (2NF) dan relasi tidak boleh memuat kebergantungan fungsional di antara atribut-atribut bukan utama.

Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd.


Bentuk Normal Boyce-Codd (BCNF)
BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan.





















Gambar : Contoh Normalisasi Bentuk 3

Bentuk Normal Keempat
Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing -masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.


Bentuk Normal Kelima
Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara praktis.

Materi yang dapat dipelajari, Download disini :
- Materi1.ppt
- Materi2.ppt
- Materi3.ppt
- Materi4.ppt
- Materi5.ppt

Finite Automata

Posted by swilsarblog 0 comments

Finite automata adalah mesin abstrak berupa sistem model matematika dengan masukan dan keluaran diskrit yang dapat mengenali bahasa paling sederhana (bahasa reguler) dan dapat diimplementasikan secara nyata dimana sistem dapat berada disalah satu dari sejumlah berhingga konfigurasi internal disebut state.

State sistem merupakan ringkasan informasi yang berkaitan dengan masukan-masukan sebelumnya yang diperlukan untuk menentukan perilaku sistem pada masukan-masukan berikutnya.

Finite Automata menggunakan prosedur yang saat diberikan masukan "string berhingga" akan berhenti

Finite Automata menyatakan "ya" dengan sejumlah berhingga komputasi jika string tersebut merupakan elemen bahasa sehingga lebih berfokus pada pengenalan dimana bila diberikan suatu program (string) akan menyatakan apakah string tersebut termasuk di bahasa atau tidak.


Model Finite Automata

Model Finite Automata memiliki ciri-ciri:
- Memori 'infinite'-nya adalah null (tidak ada memori sementara).
- head hanya bergerak 1 arah.
- Hanya berisi memori masukan berupa tape berisi string masukan dan sejumlah kendali berhingga.


Properti Finite Automata

Finite Automata memiliki:

- 1 himpunan state kendali berhingga

- Simbol-simbol masukan yang dibolehkan/diijinkan

- State mula (initial state)

- Himpunan state akhir (set of final states)
State-state yang menandai diterimanya masukan.

- Fungsi transisi state (state transition function)
Adanya fungsi yang memberikan state saat itu (current state) dan simbol masukan saat itu (current input symbol). Selain itu juga fungsi memberikan/menyatakan semua state berikutnya yang dimungkinkan.

Semua kemungkinan transisi dipandang dijalankan secara paralel. Bila terdapat transisi yang menuju/sampai state akhir, berarti string masukan diterima otomata.


Cara Kerja Finite Automata

Finite Automata bekerja dengan cara mesin membaca memori masukan berupa tape yaitu 1 karakter tiap saat (dari kiri ke kanan) menggunakan head baca yang dikendalikan oleh kotak kendali state berhingga dimana pada mesin terdapat sejumlah state berhingga.

Finite Automata selalu dalam kondisi yang disebut state awal (initial state) pada saat Finite Automata mulai membaca tape. Perubahan state terjadi pada mesin ketika sebuah karakter berikutnya dibaca.

Ketika head telah sampai pada akhir tape dan kondisi yang ditemui adalah state akhir, maka string yang terdapat pada tape dikatakan diterima Finite Automata (String-string merupakan milik bahasa bila diterima Finite Automata bahasa tersebut).


Implementasi Finite Automata

Sistem dengan state berhingga diterapkan pada:
- Sistem elevator
- Mesin pengeluar minuman kaleng (vending machine)
- Pengatur lampu lalu lintas (traffic light regulator)
- Sirkuit penyaklaran (switching) di komputer dan telekomunikasi
- Protokol komunikasi (communication protocol)
- Analisis Leksikal (Lexical analyzer)
- Neuron nets
- sistem Komputer


Finite State Diagram (FSD)

Perilaku Finite Automata dimodelkan dengan Finite State Diagram (FSD) dapat juga disebut State Transition Diagram.

Finite State Diagram terdiri dari:

1. Lingkaran menyatakan state
Lingkaran diberi label sesuai dengan nama state tersebut.

Adapun pembagian lingkaran adalah:
- Lingkaran bergaris tunggal berarti state sementara
- Lingkaran bergaris ganda berarti state akhir

2. Anak Panah menyatakan transisi yang terjadi
Label di anak panah menyatakan simbol yang membuat transisi dari 1 state ke state lain

1 anak panah diberi label start untuk menyatakan awal mula transisi dilakukan


Contoh :

Gambar dibawah menggambarkan perilaku FA untuk penerimaan bilangan nyata (riil) yang paling tidak mempunyai 1 digit setelah titik desimal adalah sebagai berikut:

Simpul-simpul (berbentuk lingkaran) pada FSD dibawah mengambarkan state-state dari FA, yaitu :
- Simpul S
- Simpul A
- Simpul B

Busur dari 1 simpul ke simpul lainn menandakan transisi state. Karakter samping atau diatas busur menandakan karakter yang menyebabkan terjadinya transisi state.

Simpul dengan garis ganda menunjukkan state akhir.

Digit adalah nilai 0,1,2,3,4,5,6,7,8,9



Gambar: FSD Bilangan Nyata Dengan Minimal Satu Angka di Belakang Titik Desimal



Contoh string : 9.8765


- Busur berlabel Start
Menunjukkan transisi ke state S

- Head membaca nilai "9"
Terdapat kondisi yang menunjukkan kesesuaian dengan aturan kendali pada state S yaitu adanya busur yang menunjukkan digit kembali ke state S (berarti memiliki kesesuaian bahasa)

- pembacaan ke karakter berikutnya adalah "."
Terdapat kesesuaian dengan aturan kendali pada state S, yaitu adanya busur yang menunjukkan nilai "." ke state A (kondisi berada di state A)

- pembacaan karakter berikutnya = "8"
Terdapat kesesuaian dengan aturan kendali yang sekarang sudah berada di state A, yaitu busur ke state B yang menunjukkan digit (kondisi berada di state B)

- pembacaan karakter berikutnya = "7"
Terdapat kesesuaian dengan aturan kendali pada state B, yaitu adanya busur yang menunjukkan digit kembali ke state B (kondisi tetap berada di posisi B)

- pembacaan karakter berikutnya = "6"
Terdapat kesesuaian dengan aturan kendali pada state B, yaitu adanya busur yang menunjukkan digit kembali ke state B (kondisi tetap berada di posisi B)

- pembacaan karakter berikutnya = "5"
Terdapat kesesuaian dengan aturan kendali pada state B, yaitu adanya busur yang menunjukkan digit kembali ke state B (kondisi tetap berada di posisi B)

- penyesuaian aturan kendali
Pada akhir pembacaan dilakukan penyesuaian apakah karakter terakhir berada pada state akhir.

Bila kesesuai kondisi "YA" maka string termasuk di dalam bahasa, dalam hal ini karakter "5" berada pada state B yaitu state dengan lingkaran bergaris ganda yang menandakan state akhir, maka sesuai.

String 9.8765 termasuk di dalam bahasa Finite Automata pada FSD di atas.


Contoh string : a

- Busur berlabel Start
Menunjukkan transisi ke state S

- Head membaca nilai "a"
Terdapat kondisi yang menunjukkan ketidaksesuaian dengan aturan kendali pada state S yaitu tidak adanya busur yang menunjukkan persamaan simbol dengan simbol yang dibaca ("a")

- Ketidaksesuaian simbol
Aturan kendali pada kondisi "TIDAK" menandakan string a tidak termasuk di dalam bahasa FSD di atas.


Klasifikasi Finite Automata

Finite automata dapat berupa:

- Deterministic Finite Automata (DFA)
Terdiri dari 1 transisi dari suatu state pada 1 simbol masukan.

- Nondeterminictic Finite Automata (NDFA)
Lebih dari 1 transisi dari suatu state dimungkinkan pada simbol masukan yang sama

Kedua finite automata tersebut mampu mengenali himpunan reguler secara presisi. Dengan demikian kedua finite automata itu dapat mengenali string-string yang ditunjukkan dengan ekspresi reguler secara tepat.

DFA dapat menuntun recognizer(pengenal) lebih cepat dibanding NDFA.

Namun demikian, DFA berukuran lebih besar dibanding NDFA yang ekivalen dengannya.

Lebih mudah membangun NDFA dibanding DFA untuk suatu bahasa, namun lebih mudah mengimplementasikan DFA diabnding NDFA.

Materi Automata dapat didownload disini:
- Materi1.pdf
- Materi2.pdf
- Materi3.pdf
- Materi4.pdf
- Materi5.pdf
- Materi6.pdf
- Materi7.pdf
- Materi8.pdf
- Materi9.ppt
- Materi10.ppt