Bab 2 Tinjauan Pustaka
1.6
Penelitian Sebelumnya Agus Koswara pada penelitiannya yang berjudul Pembangunan
Aplikasi Sistem Pakar
untuk Membantu Menyelesaikan Masalah
Kerusakan dan Perawatan Mobil menyebutkan bahwa Tak dapat dipungkiri lagi, bahwa mobil pada masa sekarang ini telah menjadi sebuah alat transportasi atau alat yang sangat dibutuhkan oleh masyarakat. Pada masa kini, banyak orang yang memiliki mobil sendiri atau dia sebagai supir. Tapi amat disayangkan kurangnya pengetahuan seorang pengemudi untuk dapat menyelesaikan masalah-masalah yang ada pada mobil. Terkadang para mekanik bengkel lupa akan mekanisme kerja pada mobil yang sedang diperbaiki oleh para mekanik tersebut. Sistem pakar ini dibuat untuk mendiagnosa kerusakan serta perawatan pada mobil dan sistem pakar ini dapat memberikan informasi mengenai solusi kerusakan dan perawatan pada mobil. Pembangunan sistem pakar ini terdiri dari beberapa
tahap
yaitu
direpresentasikan
dalam
perancangan bentuk
aturan
basis
pengetahuan
yang
berlaku,
dan
kemudian
dilanjutkan dengan perancangan basis data dan perancangan antar muka, kemudian basil perancangan dituangkan ke dalam bahasa pemrograman Microsoft Visual Basic 6.0 dan basis datanya Microsoft Access. Sistem pakar ini akan dipergunakan sebagai pedoman bagi mekanik untuk menyelesaikan masalah-masalah yang dihadapi. Sistem pakar ini dapat digunakan untuk mempercepat pencarian dan pengaksesan terhadap
5
6
pengetahuan oleh orang-orang yang membutuhkan informasi perawatan serta perbaikan mobil. (Koswara, 2006). Uky Yudatama pada penelitiannya yang berjudul Sistem Pakar untuk Diagnosa Kerusakan Mesin Mobil Panther Berbasis Mobile menyebutkan bahwa kerusakan pada mesin mobil terjadi akibat kelalaian dalam melakukan perawatan. Pemilik mobil baru menyadari kerusakan setelah mobil tidak dapat beroperasi sebagaimana mestinya. Oleh karena itu dalam penggunaan mobil kemungkinan besar membutuhkan perawatan berkala. Dengan cara mendeteksi kerusakan apa yang terjadi pada mobil. Penyampaian informasi pun dilakukan menggunakan perangkat mobile dengan meminta request dari user. Request tersebut akan diproses dalam sistem kemudian hasilnya akan dikirim lagi ke user dengan ditampilkan pada layar perangkat mobile. Diharapkan sistem ini mampu memberikan informasi yang optimal dari timbal balik user dan sistem (Yudatama, 2008). Berdasarkan paparan penelitian terdahulu, pada penelitian ini mengambil beberapa hal yang penting sehingga dapat menjadi tujuan. Beberapa hal yang dapat diambil adalah bahwa sistem pakar dapat menjadi penasehat atau panduan di dalam pengambilan keputusan. Informasi yang telah ada, diolah menggunakan sistem pakar sehingga menjadi sebuah perangkat yang satu kesatuan dan dapat digunakan untuk tujuan efisiensi atau efektifitas pekerjaan.
7
1.7
Sistem Pakar Sistem
pakar
adalah
sistem
yang
berusaha
mengadopsi
pengetahuan manusia ke komputer yang dirancang untuk menyelesaikan masalah seperti layaknya seorang pakar. Sistem pakar diharapkan dapat bekerja selayaknya pakar pada bidang yang menjadi tujuan sistem tersebut (Arhami, 2005). Menurut Turban (2005), keahlian dipindahkan dari pakar ke suatu program komputer. Pengetahuan ini kemudian disimpan di dalam komputer. Pada saat pengguna menjalankan komputer untuk mendapatkan informasi, sistem pakar menanyakan fakta-fakta dan dapat membuat penalaran (inferensi) dan sampai pada suatu kesimpulan. Kemudian, sistem pakar memberikan penjelasan (memberikan kesimpulan atas hasil konsultasi yang telah dilakukan sebelumnya). Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar ini juga dapat membantu aktivitas para pakar sebagai asisten yang mempunyai pengetahuan yang dibutuhkan. Pada dasarnya sistem pakar diterapkan untuk mendukung aktivitas pemecahan masalah. Beberapa aktivitas pemecahan yang dimaksud seperti pembuatan
keputusan
(knowledge
fusing),
(decision pembuatan
making), desain
pemandu
pengetahuan
(designing),
perencanaan
(planning), prakiraan (diagnosing), perumusan (prescribing), penjelasan (explaining), pemberian nasihat (advising) dan pelatihan (tutoring). (Kusrini, 2006).
8
2.2.1 Sejarah Sistem Pakar Sistem pakar mulai dikembangkan pada pertengahan tahun 1960 oleh Artificiall Intelligence Corporation. Periode penelitian kecerdasan buatan ini didominasi oleh suatu keyakinan bahwa nalar yang digabungkan dengan komputer canggih akan menghasilkan pakar atau bahkan manusia super. Suatu usaha kea rah ini adalah General Purpose Problem Solver (GPS) yang dikembangkan oleh Allen Newell, John Cliff Shaw dan Herbert Alexender Simon. GPS merupakan sebuah percobaan untuk menciptakan mesin yang cerdas. Sistem pakar
untuk
melakukan diagnose kesehatan
telah
dikembangkan sejak pertengahan tahun 1970 yang untuk pertama kali dibuat oleh Bruce Buchanan dan Edward Shortliffe di Standford University diberi nama MYCIN. MYCIN merupakan program interaktif yang melakukan diagnose penyakit meningitis dan infeksi becremia serta memberikan
rekomendasi
terapi
antimikrobia.
MYCIN
mampu
memberikan penjelasan atas penalarannya secara detail. Dalam uji coba, program ini mampu menunjukkan kemampuan seperti seorang spesialis (Dhany, 2009).
2.2.2 Keuntungan Sistem Pakar Sistem pakar merupakan paket perangkat lunak atau paket program komputer yang ditujukan sebagai penyedia nasihat dan saran bantu dalam memecahkan masalah di bidang-bidang spesialisasi tertentu seperti bisnis, perekayasaan, matematika, kedokteran, pendidikan dan sebagainya. Sistem pakar merupakan subset dari Artificial Inteligence.
9
Ada beberapa keunggulan sistem pakar, diantaranya dapat: 1. Menghimpun data dalam jumlah yang sangat besar. 2. Menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk tertentu. 3. Mengerjakan perhitungan secara cepat dan tepat dan tanpa jemu mencari kembali data yang tersimpan dengan kecepatan tinggi. Sementara kemampuan sistem pakar di antaranya adalah: 1. Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya. 2. Bila diperlukan dapat menyajikan asumsi dan alur penalaran yang digunakan untuk sampai ke jawaban yang dikehendaki. 3. Menambah fakta kaidah dan alur penalaran sahih yang baru ke dalam otaknya. Selanjutnya ada banyak keuntungan bila menggunakan sistem pakar, diantaranya: 1. Menjadikan pengetahuan dan nasihat lebih mudah didapat. 2. Meningkatkan output dan produktivitas. 3. Menyimpan kemampuan dan produktivitas. 4. Meningkatkan penyelesaian masalah - menerusi paduan pakar, penerangan, sistem pakar khas. 5. Meningkatkan realibilitas. 6. Memberikan respons (jawaban) dengan cepat. 7. Merupakan panduan yang cerdas. 8. Dapat bekerja dengan informasi yang kurang lengkap dan mengandung ketidakpastian.
10
9. Sistem pakar dapat digunakan untuk mengakses basis data secara cerdas. Selain keuntungan-keuntungan di atas, sistem pakar seperti halnya sistem lainnya, juga memiliki kelemahan, diantaranya adalah: 1.
Masalah di dalam mendapatkan pengetahuan di mana pengetahuan tidak selalu bisa didapatkan dengan mudah. Karena kadangkala pakar dari masalah yang kita buat tidak ada, dan kalaupun ada kadang-kadang pendekatan yang dimiliki oleh pakar berbeda-beda.
2. Untuk membuat suatu sistem pakar yang benar-benar berkualitas tinggi sangatlah sulit dan memerlukan biaya yang sangat besar untuk pengembangan dan pemeliharaannya. 3. Boleh jadi sistem tak dapat membuat keputusan. 4. Sistem pakar tidaklah 100% menguntungkan, walaupun seseorang tetap tidak sempurna atau tidak selalu benar. Oleh karena itu perlu dikaji ulang secara teliti sebelum digunakan. Dalam hal ini peran manusia tetap merupakan faktor dominan. Kelemahan-kelemahan sistem pakar tersebut bukanlah sama sekali tidak bisa diatasi, tetap dengan terus melakukan perbaikan dan pengolahan berdasarkan pengalaman yang telah ad maka hal itu diyakini akan dapat diatasi, walaupun dalam waktu yang panjang dan terus menerus.
2.2.3 Ciri-ciri Sistem Pakar Sistem
pakar
merupakan
program-program
praktis
yang
menggunakan strategi heuristic yang dikembangkan oleh manusia untuk menyelesaikan masalah-masalah yang spesifik (khusus). Disebabkan oleh
11
keheuristikannya dan sifatnya yang berdasarkan pada pengetahuan, maka umumnya sistem pakar bersifat: 1. Memiliki informasi yang handal, baik dalam menampilkan langkah-langkah antara maupun dalam menjawab pertanyaanpertanyaan tentang proses penyelesaian. 2. Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu kemampuan dari basis pengetahuannya. 3. Heuristic dalam menggunakan pengetahuan (yang sering kali tidak sempurna) untuk mendapatkan penyelesaiannya. 4. Dapat digunakan dalam berbagai jenis komputer. 5. Memiliki kemampuan untuk beradaptasi. Sistem pakar saat ini telah dibuat untuk memecahkan berbagai macam permasalahan dalam berbagai bidang seperti matematika, teknik, kedokteran, kimia, farmasi, sains komputer, bisnis, hokum, pendidikan sampai pertahanan. Secara umum ada beberapa kategori dan area permasalahan sistem pakar, yaitu: 1. Interpretasi, yaitu pengambilan keputusan atau deskripsi tingkat tinggi dari sekumpulan data mentah, termasuk di antaranya juga pengawasan, pengenalan ucapan, analisis citra, interpretasi sinyal dan beberapa analisis kecerdasan. 2. Proyeksi, yaitu memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi tertentu. Diantaranya peramalan, prediksi demografis, peramalan ekonomi, prediksi lalulintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan. 3. Diagnosis,yaitu menentukan sebab malfungsio dalam situasi kompleks yang didasarkan pada gejala-gejala yang teramati,
12
diataranya medis, elektronis, mekanis dan diagnosis perangkat lunak. 4. Desain, yaitu menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuan-tujuan kinerja tertentu yang memenuhi kendala-kendala tertentu, diantaranya layout sirkuti dan perancangan bangunan. 5. Perencanaan, yaitu merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu. Diantaranya perencanaan keuangan, komunikasi militer, pengambangan produk, routing dan manajemen proyek. 6. Monitoring, yaitu membandingkan tingkah laku suatu sistem yang teramati dengan tingkah laku yang diharapkan darinya diataranya CAMS (Computer Aided Monitoring System). 7. Debugging
dan
repair,
yaitu
menentukan
dan
mengimplementaiskan cara-cara untuk mengatasi malfungsi di antaranya memberikan resep obat terhadap suatu kegagalan. 8. Instruksi, yaitu mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subjek, di antaranya melakukan instruksi untuk diagnosis, debugging, dan perbaikan kerja. 9. Pengendalian, yaitu mengatur tingkah laku suatu environment yang
kompleks
seperti
kontrol
terhadap
interpretasi-
interpretasi, prediksi, perbaikan dan monitoring kelakukan sistem. 10. Seleksi, mengidentifikasi pilihan terbaik dari sekumpulan kemungkinan. 11. Simulasi, pemodelan interaksi antara komponen-komponen sistem.
13
2.2.4 Dasar Pembuatan Sistem Pakar Ada beberapa alasan mendasar mengapa sistem pakar dikembangkan untuk menggantikan seorang pakar, diantaranya: 1.
Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
2.
Secara
otomatis
mengerjakan
tugas-tugas
rutin
yang
membutuhkan seorang pakar. 3.
Seorang pakar akan pensiun atau pergi.
4.
Seorang pakar mahal harganya.
5.
Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile environment).
2.2.5 Perbedaan Sistem Pakar dengan Konvensional Tabel 2.1. Perbedaan sistem konvensional dan sistem pakar (Arhami, 2005)
Sistem Konvensional Informasi dan pemrosesan umumnya digabung dalam satu program sekuensial Program tidak pernah salah (kecuali pemrogramnya yang salah) Tidak menjelaskan mengapa input dibutuhkan atau bagaimana hasil yang diperoleh Membutuhkan semua input data
Sistem Pakar Basis pengetahuan dari mekanisme pemrosesan (inferensi) Program bisa saja melakukan kesalahan Penjelasan (explanation) merupakan bagian dari sistem pakar
Tidak harus membutuhkan semua input data atau fakta Perubahan pada program Perubahan pada kaidah dapat merepotkan dilakukan dengan mudah Sistem bekerja jika sudah lengkap Sistem dapat bekerja hanya dengan kaidah yang sedikit Eksekusi secara algoritmik Eksekusi dilakukan secara heuristic dan logis Manipulasi efektif pada database Manipulasi efektif pada basis yang besar pengetahuan yang besar Efisiensi adalah tujuan utama Efektivitas adalah tujuan utama
14
Data kuantitatif Representasi dalam numeric
Data kualitatif Representasi pengetahuan dalam simbolik Menangkap, menambah dan Menangkap, menambah dan mendistribusi data numerik atau mendistribusi pertimbangan dan informasi pengetahuan 2.2.6 Struktur Sistem Pakar Sistem pakar disusun oleh dua bagian utama, yaitu lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment). Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar. Sedangkan lingkungan konsultasi digunakan oleh pengguna yang bukan pakar untuk memperoleh pengetahuan pakar (Arhami, 2005). Komponen-komponen sistem pakar terdiri dari User Interface (antarmuka pengguna), basis pengetahuan, akuisisi pengetahuan, mesin inferensi, fasilitas penjelasan dan perbaikan pengetahuan. Antarmuka pengguna merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya ke dalam bentuk yang dapat diterima oelh sistem. Selain menerima informasi, antarmuka juga menyajikan informasi ke dalam bentuk yang dapat dimengerti oleh pemakai. Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi dan penyelesaian masalah. Komponen ini disusun berdasarkan dua elemen dasar yaitu fakta dan aturan. Fakta merupakan informasi obyek dalam area permasalahan tertentu, sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui.
15
Akuisisi pengetahuan adalah akumulasi atau transfer atau transformasi keahlian untuk menyelesaikan masalah dari sumber pengetahuan ke dalam program komputer. Dalam tahap ini engineer berusaha untuk mentransfer pengetahuan ke dalam program komputer. Pengetahuan dapat diperoleh dari pakar, dan dapat dikuatkan oleh pengetahuan lain yang berasal dari buku, basis data, laporan penelitian dan pengalaman pemakai. Terdapat tiga metode yang dapat digunakan untuk melakukan akuisisi pengetahuan yaitu metode wawancara yang paling banyak digunakan. Metode ini melibatkan pembicaraan secara langsung dengan pakar. Metode yang kedua adalah analisis protocol. Pada metode ini pakar diminta untuk melakukan pekerjaan dan mengungkapkan proses pemikirannya dengan
menggunakan kata-kata. Pekerjaan
tersebut
direkam, dituliskan dan dianalisis. Metode ketiga adalah observasi. Pada metode ini, pengakuisisi cukup melihat apa yang dilakukan pakar untuk direkam dan diobservasi. Mesin Inferensi, komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi memberikan metodologi penalaran informasi yang ada di dalam basis pengetahuan untuk memformulasikan kesimpulan. Terdapat dua pendekatan untuk mengontrol inferensi dalam sistem pakar berbasis aturan yaitu pelacakan ke belakang (backward chaining) dan pelacakan ke depan (forward chaining). Pelacakan ke belakang dimulai dari tujuan untuk selanjutkan dilakukan pelacakan aturan yang memiliki tujuan tersebut untuk kesimpulannya.
16
Pelacakan ke depan adalah pendekatan yang dimotori data. Dalam pendekatan ini pelacakan dimulai dari informasi masukan dan selanjutnya akan dicoba menggambarkan kesimpulan. Pelacakan ke depan mencari fakta yang sesuai dengan bagian IF dari aturan IF-THEN. Fasilitas penjelasan, adalah komponen sistem pakar yang akan membuat sistem pakar tersebut menjadi lebih bermanfaat dengan cara meningkatkan penalaran pemakai. Fasilitas penjelasan dapat menjelaskan perilaku sistem pakar. Bagaimana sistem pakar digunakan? Mengapa muncul pertanyaan-pertanyaan tertentu? Mengapa suatu alternative ditolak? Bagaimana mendapatkan kesimpulan? Perbaikan pengetahuan, komponen terakhir di dalam sistem pakar. Pakar memiliki kemampuan untuk menganalisis kinerja serta belajar dari kinerja. Kemampuan tersebut penting dalam pembelajaran terkomputerisasi
sehingga
program
dapat
menganalisis
penyebab
kesuksesan atau kegagalan yang dialami.
1.8
Java Java adalah bahasa pemrograman yang dapat dijalankan di
berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems. Saat ini merupakan bagian dari Oracle dan dirilis pada Tahun 2005. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun pada sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang
minimal. Aplikasi-aplikasi berbasis Java umumnya
dikompilasi ke dalam bytecode dan dapat dijalankan pada Mesin Virtual (JVM). Java merupakan bahasa yang bersifat umum untuk keperluan berbagai macam kebutuhan.
17
2.3.1 Kelebihan Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform
yang
didukung
sampai
saat
ini
adalah Microsoft
Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut. Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan
program
program
yang
disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. Bergaya
C++,
memiliki
sintaks
seperti
bahasa
pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid
18
dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
2.3.2 Kekurangan Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi
sebelumnya
seperti
C/C++ danPascal (lebih
spesifik
lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
19
2.3.3 Konsep Pemrograman Berorientasi Obyek Selama
hampir
lima
belas
tahun
belakangan
ini
telah
diperkenalkan paradigman pemrograman baru yang dikenal dengan konsep Pemrograman Berorientasi Obyek (PBO) atau Object Oriented Programming (OOP). Konsep ini membagi program menjadi objek-objek yang saling berinteraksi satu sama lain. Objek adalah kesatuan entitas yang memiliki sifat dan tingkah laku. Dalam kehidupan sehari-hari, objek adalah benda, baik benda berwujud nyata seperti manusia, hewan, mobil, komputer, handphone, pena maupun benda yang tidak nyata atau konsep, seperti tabungan bank, sistem antrian, sistem internet banking dan sebagainya. Keuntungan OOP paling tidak terdapat enam sebagai berikut: 1. Alami (natural) 2. Dapat diandalkan (reliable) 3. Dapat digunakan kembali (reusable) 4. Mudah untuk dimaintain (maintainable) 5. Dapat diperluas (extendable) 6. Efisiensi waktu
1.9
XML XML (Extensible Markup Language) adalah bahasa markup untuk
keperluan umum yang disarankan oleh W3C untuk membuat dokumen markup
keperluan
pertukaran
data
antar sistem yang
beraneka
ragam. XML merupakan kelanjutan dari HTML (HyperText Markup Language) yang merupakan bahasa standar untuk melacak Internet.
20
XML didesain untuk mempu menyimpan data secara ringkas dan mudah diatur. Kata kunci utama XML adalah data (jamak dari datum) yang jika diolah bisa memberikan informasi. XML menyediakan suatu cara terstandarisasi namun bisa dimodifikasi untuk menggambarkan isi dari dokumen. Dengan sendirinya, XML dapat digunakan untuk menggambarkan sembarang view database, tetapi dengan suatu cara yang standar.
2.4.1 Tipe XML XML memiliki tiga tipe file : •
XML, merupakan standar format dari struktur berkas (file).
•
XSL, merupakan standar untuk memodifikasi data yang diimpor atau diekspor.
•
XSD, merupakan standar yang mendefinisikan struktur database dalam XML.
2.4.2 Keunggulan XML Keunggulan XML bisa diringkas sebagai berikut : •
Pintar (Intelligence). XML dapat menangani berbagai tingkat (level) kompleksitas.
•
Dapat
beradaptasi.
membuat bahasa sendiri.
Dapat
mengadaptasi untuk
Seperti Microsoft membuat
bahasa
MSXML atau Macromedia mengembangkan MXML. •
Mudah pemeliharaannya.
•
Sederhana. XML lebih sederhana.
•
Mudah
dipindah-pindahkan
(Portability).
XML
kemudahan perpindahan (portabilitas) yang lebih bagus.
mempunyai
21
2.4.3 Perbedaan XML dan HTML Secara singkat perbandingan XML dan HTML adalah: •
HTML menyatakan bagaimana teks ditampilkan pada jendela browser sedangkan XML menyatakan apa arti dari setiap kata.
•
HTML memiliki sintaks yang lebih leluasa sedang XML lebih kaku.
•
Tag HTML dibatasi tetapi XML tidak.
•
Pencarian HTML mengembalikan sejumlah besar data dan dokumen, sedangkan XML ditujukan untuk mengembalikan data yang tepat yang diinginkan user.
2.4.4 Kebutuhan Penggunaan XML Dari
perspektif
direpresentasikan
bisnis
sebagai
XML,
hampir dengan
semua suatu
tipe
data
bisa
grammar
yang
mendeskripsikan strukturnya. Terdapat sejumlah lapangan bisnis yang akan mendapatkan keuntungan secara langsung dari penggunaan XML, yaitu: •
E-commerce Dalam domain bisnis terdapat bahasa XML yang spesifik untuk
menyatakan pesanan, transaksi, inventory dan billing. Bahasa XML terbuka tersebut akan memungkinkan produsen, pengecer, dan konsumen serta sistem perbankan dan akuntansi untuk berbagi data yang sama. •
Platform independence Jika data dikodekan ke dalam xml, dengan mendeskripsikan makna
dari isi sebenarnya, customer bisa menemukan produk atau layanan, dan membelinya, tanpa tergantung dari platform yang melayani data, atau platform yang dipergunakan client.
22
•
Kemampuan pengaksesan data Dokumen XML bisa dikodekan ke tipe data informasi dan
relasinya yang terdapat di database. Informasi database bisa diakses dengan
XML
lewat
web.
Web
server
di
masa
depan
akan
mengikutsertakan prosessor XML untuk mengakses data dari database dan sistem file, dan mengembalikan sebagai HTML atau XML. •
Penyederhanaan aplikasi Pada saat ini konsumsi aplikasi pada disk dan memori banyak
disebabkan oleh format file yang beragam. Aplikasi seringkali harus membaca dan menulis banyak format gambar dan teks yang berbeda. Sifat XML
yang
terbuka
dan
extensible
memungkinkan
kita
untuk
merepresentasikan semua kegunaan format yang berbeda dalam satu XML yang spesifik dengan domain grammar tertentu. Suatu aplikasi bisa dengan mudah membaca dan menulis XML untuk domainnya. •
Memungkinkan sharing data lewat internet Sejak data aktual dikodekan dan bukan tampilannya maka bisa
ditampilkan ke setiap perangkat keluaran dari PC dengan browser sampai ponsel dan PDA. Browser dan aplikasi akan menjadi lebih XML-aware. XML membuka kesempatan akses pada end user ke data dan kemampuan membuat pilihan yang cerdas. XML akan jauh lebih mempercepat koneksi antara bisnis dengan konsumen. Alasan penggunaan XML adalah XML memiliki format yang mudah dibaca dari berbagai bahasa pemrograman. Tujuannya adalah ketika data sudah dibuat dalam format xml, untuk pengembangan berbasis mobile atau web dapat membaca langsung dari berkas xml tersebut.
23
1.10 XOM XOM (XML Object Model) adalah sebuah api berbasis Java yang menyediakan kemampuan untuk melakukan pemrosesan berkas XML. XOM didesain agar mudah digunakan, mudah dipelajari dan memiliki performa yang bagus. XOM merupakan salah satu api yang sangat melihat korektivitas dari berkas XML. XOM tidak akan memberikan toleransi terhadap berkas XML yang memiliki format tidak well-formed. Dengan menggunakan XOM, kita cukup berfokus pada aplikasi yang akan dibangun. Kita tidak perlu memikirkan bagaimana cara melakukan pengambilan data-data di dalam XML. Kita juga tidak perlu memikirkan bagaimana cara menuliskan berkas XML. XOM cukup unik karena memiliki fasilitas streaming. Setiap cabang diambil secara berurutan dan tidak harus menunggu semua cabang telah diambil. Hal ini memungkinkan XOM untuk beroperasi dengan cepat seperti layaknya parser secara lokal. Kita tidak perlu menunggu dokumen harus benar-benar diparsing secara total sebelum kita memulai bekerja terhadap dokumen tersebut. XOM menggunakan memori dengan sangat efisien. Jika kita membaca dokumen ke dalam memori, XOM akan mengatur penggunaan memori sesedikit mungkin. Lebih penting lagi, XOM memungkinkan kita untuk melakukan penyaringan dokumen. Sehingga kita tidak harus mengambil cabang-cabang data yang tidak kita inginkan. Kita cukup mengambil yang diperlukan saja. Kita bahkan dapat memproses berkas secara sepotong-sepotong dokumen dan membuang setiap bagian ketika kita sudah selesai terhadap hal tersebut. XOM telah diuji untuk memproses
berkas
XML
yang
memiliki
ukuran
gigabyte.