Bab II

download Bab II

of 14

description

Bab II

Transcript of Bab II

Bab II

Bab IILandasan Teori

II.1 Pengintegrasian Dokumen XML pada RDBMS dalam Sistem E-learning di Magister Teknologi Informasi Universitas Gadjah MadaKonsep dasar e-learning adalah untuk mendistribusikan data atau informasi yang berhubungan dengan pembelajaran (perkuliahan) melalui media elektronis seperti internet. Tujuannya agar peserta pembelajaran maupun masyarakat umum yang membutuhkannya bisa mendapatkan bahan dan materi yang mereka butuhkan dengan cepat. Sistem ini terutama dibangun berkaitan dengan adanya kendala-kendala seperti waktu dan geografis yang banyak dihadapi dosen maupun mahasiswa, terutama di tingkat magister.

Di Magister Teknologi Informasi UGM (MTI UGM) konsep ini diterapkan dengan jalan membangun sebuah aplikasi yang berbasis web. Dari situ, mahasiswa dapat mengetahui mengenai materi, baik yang berada dalam bentuk modul maupun diktat dari kuliah yang sedang mereka ambil. Begitu pula halnya dengan masyarakat yang menginginkan informasi tentang MTI UGM.

Materi perkuliahan yang diberikan dosen seperti misalnya diktat, presentasi, soal-soal ujian, dan ringkasan dapat diberikan dalam format yang sudah ditetapkan, seperti .doc(ms word), .ppt(ms powerpoint) sebagai media presentasi, .pdf untuk diktat dan ringkasan. Namun demikian modifikasi tetap diperlukan agar mampu memberikan materi dan informasi yang terkini. Oleh karena itulah dalam perancangannya sistem yang diterapkan di MTI ini diupayakan supaya lebih fleksibel, modular, dan mudah untuk dimodifikasi. Dengan demikian diperlukan adanya fasilitas-fasilitas pendukung untuk dapat melakukan hal tersebut. Masing masing fasilitas dibangun terpisah untuk kemudian diintegrasikan ke dalam sebuah sistem yang lebih terpadu.

II.1.1 XML Sebagai Database

Seperti halnya sudah disebutkan dalam Bab I, XML memiliki keunggulan dalam hal kemudahan pertukaran data dan susunan struktur hierarkisnya yang mirip database relasional. Bahkan sekarang ini sudah banyak yang memanfaatkan xml ini sebagai database. Sistem ini disebut dengan native XML database. Di sini file-file XML saling direlasikan seperti pada sistem basis data relasional. Terbukti juga bahwa ia mampu bertindak sebagai suatu basis data sederhana yang sanggup menerima query dan menampilkan sesuai dengan query tersebut. Sistem ini juga diterapkan dalam sistem e-learning yang diterapkan di MTI-UGM. Namun demikian sampai sekarang belum ada vendor native XML database yang mampu membuktikan kesetaraan database XML dengan DBMS dalam hal keamanan dan manajemen data internalnya.

II.1.2 Pengembangan sistem konversi XML ke RDBMS

Adanya kekurangan pada sistem database XML menimbulkan ide untuk melakukan konversi dari data dalam bentuk XML ke dalam RDBMS. Dari data XML yang sudah ada kemudian dipindahkan ke dalam database relasional, yang dalam hal ini menggunakan mySQL. Dengan demikian sistem ini tidak kemudian meniadakan penyimpanan yang sudah ada dalam bentuk XML, namun hanya melakukan back up. Kelebihan dari sistem ini adalah data masih tersimpan dalam sistem DBMS, sehingga keunggulan DBMS dalam hal penyimpanan data masih dapat dimanfaatkan.

Adanya latar belakang tersebut kemudian mendasari tugas akhir ini untuk secara khusus lebih menekankan pembahasan dalam masalah mengenai pengolahan data dari bentuk XML ke database terutama untuk data yang berupa mata kuliah, modul, dan topik-topik dalam perkuliahan.

II.2 Rekayasa Perangkat Lunak

Dalam penerapannya, proses perancangan sistem yang hendak dibuat mengimplementasikan aturan-aturan yang ada dalam rekayasa perangkat lunak. Pada dasarnya terdapat empat langkah-langkah utama rekayasa perangkat lunak yang ditempuh, terdiri atas analisis, perancangan, pengkodean dan pengujian.

Analisis

Pada tahap ini dilakukan analisis terhadap masalah, diamana proses analisis ini dapat dibagi dalam lima tahapan, yaitu (1) identifikasi masalah; (2) evaluasi dan sintesa; (3) pemodelan; (4) spesifikasi; dan (5) review

Pada tahap pengenalan masalah, analis mengidentifikasikan semua elemen dasar permasalahan. Pada tahapan evaluasi dan sintesa, analis harus dapat mendefinisikan semua fungsi software; memahami perilaku software; menetapkan karakteristik interface sistem; dan membuat pembatasan perancangan. Semua proses ini dilakukan untuk mendapatkan deskripsi masalah, sehingga solusi yang menyeluruh dapat disintesa.

Setelah melakukan evaluasi masalah dengan informasikan input dan output yang diharapkan, analis mulai mensintesa satu atau lebih solusi. Data, fungsi proses, dan perlaku sistem didefinisikan secara detail.

Selama tahap evaluasi dan sintesis, fokus utama analis adalah menjawab pertanyaan apa. Data apa yang dihasilkan dan dibutuhkan oleh sistem, fungsi apa yang harus dilakukan oleh sistem, interface apa yang akan dipakai, hal-hal apa yang menjadi pembatas.

Selama melakukan evaluasi dan sintesa, analis juga membuat model sistem sebagai usaha untuk lebih memahami data dan control flow, fungsi proses, perilaku sistem, dan isi informasi. Model yang dibuat analis ini menjadi pondasi dalam merancang software.

Proses menentukan spesifikasi software adalah proses puncak dari keseluruhan proses analisis. Fungsi dan performansi yang akan dialokasikan pada software disaring lagi dengan membuat deskripsi informasi lengkap, penjelasan fungsi dan perilaku detail sistem, kriteria validasi yang cocok, dan data yang berhubungan dengan requirement.

Review terhadap spesifikasi kebutuhan software dilakukan oleh pengembang dan pelanggan. Pada proses ini, pengembang meyakinkan pelanggan, apakah semua system requirement sudah tercakup.

Perancangan

Perancangan adalah proses penggunaan berbagai teknik dan prinsip untuk tujuan mendefinisikan proses atau sistem secara detail. Tujuan utama desainer adalah menghasilkan model atau representasi sebuah entitas yang akan dibangun.

Implementasi dan Pengkodean

Implementasi atau pengkodean adalah proses menterjemahkan dokumen hasil desain menjadi baris-baris perintah bahasa pemrograman komputer. Semakin baik hasil analisis dan disain yang dilakukan, maka proses pengkodean ini akan lebih mudah dilakukan.

Pengujian

Pengujian software adalah proses untuk memastikan apakah semua fungsi sistem bekerja dengan baik, dan mencari apakah masih ada kesalahan pada sistem.

Pengujian atau testing software sangat penting untuk dilakukan. Pengujian ini bertujuan untuk menjamin kualitas software, dan juga menjadi peninjauan terakhir terhadap spesifikasi, disain dan pengkodean.

Terdapat dua pendekatan dalam melakukan pengujian software , yaitu :

1. Pendekatan black-box testing

Pendekatan ini melakukan pengujian terhadap fungsi operasional software. Pendekatan ini biasanya dilakukan oleh penguji yang tidak ikut serta dalam pengkodean software.

2. Pendekatan white-box testing

Metoda ini dilakukan oleh orang yang memahami cara kerja operasi internal software yang membentuk keseluruhan operasi software.

II.3 Perangkat lunak yang dibutuhkan

2.3.1xml-DBMS (eXtensible Mark Up Language - Database Management Management System)

XML-DBMs adalah sebuah middleware yang merupakan sekumpulan paket-paket dalam bahasa pemrograman Java yang digunakan untuk mentransfer data XML ke dalam database relasional. XML-DBMS menjaga struktur hierarkis dari dokumen XML, seperti misalnya data (data karakter dan nilai nilai atribut) yang ada padanya. Perlu diingat bahwa dalam XML terdapat pemisahan antara data dengan presentasinya. Dalama hal ini jika dibutuhkan, XML-DBMS dapat menjaga kondisi data kelas anak sampai pada level tertentu secara hierarki. Karena XML-DBMs ini mentransfer data, tidak termasuk presentasinya, ia tidak menjaga tipe deklarasi dokumen, tidak juga struktur fisik dokumen sebagai satu kesatuan.

XML-DBMS bersifat freeware. Ia bisa digunakan oleh siapa saja, kapan saja, untuk tujuan apapun. Pada awalnya dibuat oleh Ron Bourret dan kemudian dikembangkan bersama oleh komunitas mailing list XML-DBMS yang beralamat di Yahoogroups. Software ini bisa di dapat dengan mendownload dari situs http://www.rpbourret.com

2.3.2JDK (Java Development Kit)

Software ini bisa didapat dengan bebas dari situsnya di http://java.sun.com/products/jdk/1.1/index.html. Pada tugas ini, JDK terdapat dalam paket J2SE (Java 2 Standard Edition) dan di situ disebut dengan Java 2 SDK (Standard Development Kit). Sudah banyak diketahui JDK adalah bagian dari bahasa pemrograman Java yang merupakan development environment untuk membangun aplikasi-aplikasi, applet dan komponen.

2.3.3 Sebuah program database relational (MySQL)

Program database yang akan digunakan dalam tugas ini adalah MySQL. MySQL merupakan salah satu produk database yang populer dikarenakan kehandalan, kelengkapan fiturnya, dan kesederhanaannya. MySQL merupakan salah satu database relasional (RDBMS/Relational Database Management System) yang diminati dan handal. MySQL sudah tersedia dalam basis Linux maupun Windows dan keduanya kompatible.

2.3.4 Sebuah driver JDBC untuk database MySQL

Kebanyakan database sudah memiliki driver JDBC maupun ODBC dalam satu paket drivernya. Tetapi ada juga yang hanya memiliki driver ODBC maka dapatlah digunakan jembatan (bridge) JDBC-ODBC sebagai driver JDBC-nya. Jembatan ini akan menterjemahkan request standar JDBC ke request ODBC yang berkaitan dan mengirimkannya ke data source (sumber data). Bagan jalur komunikasi tersebut dapat dilihat seperti di berikut ini:

Gambar 2. JDBC-ODBC sebagai jembatan antardriver API JDBC dan ODBC

2.3.5 XML Parser yang ditulis dalam bahasa pemrograman Java yang mendukung DOM level 2 dan SAX 2

Parser merupakan sebuah interface antara dokumen XML dengan berbagai program aplikasi yang menggunakannya. Parser seperti ini bisa didapatkan dari berbagai sumber seperti misalnya dari Oracle, Sun, IBM, dan Microsoft. Sedangkan parser open source bisa didapatkan pula dari James Clark, OpenXML, dan Apache.

DOM merupakan singkatan dari dari Document Object Model. DOM Parser menterjemahkan dokumen XML dan menempatkan elemen-elemen yang ditemuinya ketika memproses dokumen ke dalam struktur pohon. Informasi mengenai struktur dokumen ini kemudian disimpan ke dalam memori. Informasi inilah yang digunakan program aplikasi untuk mengakses dokumen XML.SAX adalah singkatan dari Simple API for XML. API sendiri adalah singkatan dari Application Program Interface. Seperti namanya, dibanding DOM Parser, isi program SAX Parser lebih sederhana. SAX parser bekerja berdasarkan apa yang disebut event-based. SAX Parser berjalan menjelajahi dokumen. Begitu SAX Parser menemukan deklarasi sebuah elemen, ia akan mencatatnya dan menyimpannya dalam suatu event-handler. Event-handler inilah yang menyediakan akses ke isi dokumen XML.

2.3.6 Paket Biner JDBC 2.0 API

Paket ini bersifat opsional dan biasanya bernama jdbc2_0-stdext.jar, berisi kelas-kelas javax.sql. Paket ini kemungkinan besar sudah ada dalam JDK jika kita menggunakan versi 1.2 ke atas. Hal itu terbukti dalam versi 1.4 yang digunakan dalam tugas akhir ini, paket tersebut sudah langsung terinstal.

JDBC 2.0 API memiliki banyak fasilitas yang dapat menyederhanakan pemrograman JDBC dalam paradigma terdistribusi seperti J2EE (Java 2 Enterprise Edition). Fasilitas-fasilitas tersebut di antaranya dipergunakan untuk :

1. Memuat driver database

2. Membangun koneksi

3. Membuat dan menjalankan statement

4. Mengambil hasil dari database.

5. Menutup koneksi ke database.

2.2.7 JNDI ( Java Naming and Directory Interface )

JNDI adalah API Java untuk naming service dan directory. Naming service atau layanan penamaan adalah sebuah layanan yang menyediakan pembuatan nama standar untuk satu kumpulan data. Konsep kunci untuk mengingat sebuah naming service yaitu bahwa jndi menyediakan nama unik untuk setiap entri yang didaftarkan, yang dinamakan dengan binding.

Directory service adalah sebuah naming service yang menyertakan metadata yang mendefinisikan objek yang direferensikan oleh nama tersebut. Hal ini memungkinkan kita untuk mencari directory service pada metadata untuk menemukan objek tanpa mengetahui namanya. Directory service selalu memiliki naming service namun naming service tidak harus memiliki directory service. Contoh directory service adalah dalam dunia nyata adalah buku telepon. Buku telepon memungkinkan kita untuk mencari nomor telepon seseorang dengan cepat jika kita tahu nama orang tersebut.

2.2.8 Sumber Data yang mengimplementasikan pooling koneksi dan statemenXML-DBMS sudah langsung terpaket bersama sumber data yang berbeda yang mengimplementasikan pooling koneksi dan statement.

Dalam prosedur JDBC sebuah sumber data dilihat sebagai sebuah resource network yang diambil dari JNDI. Servis JNDI mengimplementasikan JNDI API dan menyediakan suatu cara yang seragam dalam mengakses objek dari tempat penyimpanannya.

Gambar 3. Diagram JNDI dan DataSource

Diagram di atas memperlihatkan skema bagaimana obyek-obyek yang mengimplementasikan interface DataSource dengan servis JNDI, serta bagaimana aplikasi client JDBC dapat mencari obyek-obyek ini dan membuat obyek untuk koneksi.

Object pooling adalah suatu teknik untuk mengatur dan menggunakan kembali sekumpulan obyek. Membuat obyek Connection merupakan salah satu operasi yang menggunakan banyak resources. Server database harus mengalokasikan resources untuk memori dan komunikasi, juga otentikasi user serta men-setup keamanan untuk setiap koneksi. Dengan berbagi koneksi pada beberapa klien akan mengefektifkan penggunaan resource dan memperbaiki respon aplikasi.

Sumber Data

ODBC Layer

ODBC API

Jembatan

JDBC-ODBC

JDBC API

Aplikasi java

Infrastruktur Aplikasi Server

Servis JNDI

Connection

Aplikasi JDBC

Data Source

Driver JDBC

Database

1. Bind objek Data Source

2. Cari objek Data Source

3. Ambil koneksi dari Data Source

4. Gunakan objek Connection untuk akses data