6 BAB 2 LANDASAN TEORI
2.1
Teori-teori Basis Data Perlu diketahui sebelumnya, bahwa dasar perancangan aplikasi basis data akan
dibuat memiliki tahapan-tahapan pengembangan sendiri.
2.1.1
File Processing System Sebelum adanya basis data, sistem yang digunakan untuk mengelola data
adalah sistem file atau lebih dikenal dengan file processing system. Menurut Eaglestone (1998,p8), File Processing System adalah untuk merancang program computer dalam mendukung kegiatan informasi yang spesifik, dan untuk merancang file-file data yang juga menyediakan program aplikasi dengan data yang dibutuhkan, dan menghasilkan suatu laporan. File Processing System sebagai system penyimpanan dan pengurutan data dengan cara mengumpulkan data-data yang sejenis, memberi judul atau label dan melakukan index berdasarkan alphabet, untuk memudahkan proses pencarian data kembali (Connolly,2002,p7). Sistem ini menggunakan metode desentralisasi yang berarti masingmasing departemen menyimpan dan mengontrol datanya masing-masing. File Processing System menggunakan program aplikasi yang dapat memproses data sehingga dapat menghasilkan laporan yang dapat digunakan oleh masing-masing departemen yang mengelolanya.
7 Sistem ini dapat bekerja dengan baik apabila jumlah data yang disimpan tidak terlalu banyak, bahakan dapat bekerja dengan baik pada data dengan jumlah banyak tetapi apabila proses yang dilakukan adalah proses menyimpan dan mengambil data. Sistem mulai tidak bekerja dengan baik saat diperlukan proses cek silang antar data, atau saat data berhubungan dengan data lain. Dari keterangan di atas dapat diambil kesimpulan bahwa system file adalah system penyimpanan data dengan system pengurutan tertentu dengan tingkat keterkaitan antar file yang sangat rendah.
2.1.2
Basis Data Istilah data bermakna untuk mengetahui fakta-fakta yang dapat direkam
dan disimpan pada media komputer. Definisi ini kini berkembang untuk mencerminkan realitas baru. Basis data sekarang digunakan untuk menyimpan objek seperti dokumen, foto, suara, dan video, sebagai tambahan dari data teks dan data numerik. Untuk mencerminkan realitas, kita menggunakan definisi yang diperluas berikut: Data terdiri dari fakta-fakta, hasil-hasil pengujian, grafik, gambar, dan video yang mempunyai arti dalam lingkungan pengguna (Hoffer,2002,p4). Kita telah mendefinisikan basis data sebagai kumpulan data yang terorganisasi dan saling berhubungan. Terorganisasi maksudnya adalah data yang terstruktur sehingga mudah disimpan, dimanipulasi, dan diambil kembali oleh pengguna.. Saling berhubungan maksudnya adalah data menggambarkan suatu domain yang menjadi perhatian sekelompok pengguna dan pengguna-pengguna dapat menggunakan data untuk menjawab pertanyaan yang menjadi perhatian dari domain tersebut (Hoffer,2002,p5).
8 Menurut Hoffer (2002,p9), Metoda basis data menekankan pada pengintegrasian dan pembagian seluruh data di dalam suatu organisasi. Metoda ini memerlukan asas reorientasi atau perubahan didalam suatu gagasan proses, dimulai dari dari top management. Sedangkan Metoda basis data menurut Eaglestone (1998,p11), Basis data haruslah menggambarkan suatu kewajaran dari suatu informasi dengan data yang ada, dengan sedikit memaksakan atau memberikan larangan, mampu digunakan oleh seluruh aplikasi yang berhubungan tanpa adanya duplikasi.
Menurut Hoffer (2002,p21), Keuntungan dari penggunaan metoda basis data adalah : 1.
Program independensi data Indepedensi data adalah pemisahan dari suatu gambaran data dari programprogram aplikasi yang menggunakan suatu data. Dengan metode basis data, gambaran suatu data disimpan didalam suatu pusat penyimpanan yang biasa disebut repository. Dengan adanya property yang dimiliki dari suatu system basis data, membolehkan suatu pengaturan data untuk merubah dan mengembangkan (dalam batas tertentu) tanpa merubah program aplikasi yang memproses data tersebut.
2.
Meminimalisasi duplikasi data Tujuan dari perancangan metode basis data adalah memisahkan dan meminimalisasi pengulangan file data yang terintegrasi ke dalam suatu struktur logical tunggal.
9 3.
Meningkatkan konsistensi data Dengan menghilangkan atau mengawasi pengulangan data, kita bisa mengurangi kesempatan atau peluang ketidakkonsistenan suatu data.
4.
Meningkatkan pembagian data Basis data dirancang sebagai sumber daya perusahaan yang dipakai bersama. Pengguna internal dan eksternal yang diberikan ijin untuk menggunakan basis data, dan setiap pengguna (kelompok pengguna) diberikan satu atau lebih view untuk memfasilitasi penggunaan ini. User view adalah gambaran logikal sebagian basis data yang dibutuhkan pengguna untuk melakukan tugasnya.
5.
Meningkatkan produktivitas dari pengembangan suatu aplikasi Kelebihan utama pendekatan basis data adalah sangat mengurangi biaya dan waktu untuk membangun aplikasi bisnis baru. Ada dua alasan penting yang membuat aplikasi basis data dapat dikembangkan lebih cepat dibandingkan aplikasi file konvensional: •
Anggaplah bahwa basis data dan pengumpulan data yang berhubungan dan pemeliharaan aplikasi telah dirancang dan diimplementasikan, programmer dapat berkonsentrasi pada fungsi-fungsi khusus yang dibutuhkan aplikasi baru, tanpa harus khawatir mengenai rancangan file atau detil implementasi tingkat rendah.
•
Sistem manajemen basis data menyediakan banyak alat bantu seperti pembuat formulir dan laporan dan bahasa tingkat tinggi yang mengotomatisasi aktifitas-aktifitas perancangan dan implementasi basis data.
10 6.
Pelaksanaan suatu standar atau ukuran Bila pendekatan basis data diimplementasikan dengan dukungan penuh manajemen, fungsi administrasi basis data seharusnya diberikan otoritas dan tanggung jawab untuk membuat dan menerapkan standarisasi data. Standarisasi ini termasuk konvensi penamaan, standar kualitas data, penyeragaman prosedur untuk mengakses, merubah, dan melindungi data.
7.
Meningkatkan kualitas data Memperhatikan rendahnya kualitas data adalah masalah pokok dalam administrasi basis data saat ini, pendekatan basis data menyediakan alat bantu dan pemrosesan untuk meningkatkan kualitas data. Dua hal yang lebih penting dari pendekatan basis data adalah: •
Perancang basis data dapat merinci batasan integritas yang diterapkan DBMS.
•
Salah satu tujuan lingkungan data warehouse adalah untuk membersihkan data operasional sebelum dimasukkan dalam data warehouse.
8.
Meningkatkan pencapaian dan tanggapan suatu data Dengan basis data, end user tanpa pengetahuan pemrograman dapat mengambil dan menampilkan data, walaupun melewati batasan departemen.
9.
Mengurangi pemeliharaan program Penyimpanan pasti sering berubah karena berbagai alasan, tipe data baru yang ditambahkan, formulir data berubah, dan lain-lain. Dalam lingkungan pemrosesan file, penggambaran data dan logika untuk pengaksesan data dibangun untuk program aplikasi individual. Hasilnya, perubahan format data dan metode pengaksesan menyebabkan akibat yang merugikan, yaitu keharusan
11 untuk merubah program aplikasi. Dalam lingkungan basis data, data tidak tergantung pada aplikasi program yang menggunakannya. Kita dapat merubah data atau program aplikasi tanpa harus merubah yang lainnya. Hasilnya pemeliharaan program dapat dikurangi dalam lingkungan basis data modern.
2.1.3
Database Management System (DBMS) Definisi DBMS menurut Connolly (2002,p16), DBMS adalah suatu
sistem perangkat lunak yang bisa mendefinisikan, membuat, memelihara dan mengontrol akses ke basis data. Biasanya suatu DBMS memiliki fasilitas seperti berikut ini : 1. Terdapat fasilitas untuk mendefinisikan basis data, bisasanya menggunakan suatu Data Definition Language (DDL). Suatu DDL memberikan fasilitas pada user untuk menspesifikasikan tipe data dan strukturnya dan batasan aturan mengenai data yang bisa disimpan ke dalam tersebut. 2. Terdapat fasilitas yang memperbolehkan pengguna untuk, menambah, mengedit, menghapus, dan mendapatkan kembali data. Biasanya dengan menggunakan suatu Data Manipulation Language (DML). Biasanya ada suatu fasilitas untuk melayani pengaksesan data yang disebut Query Language. Bahasa query yang paling diakui adalah Structured Query Language (SQL), yang secara de facto merupakan standar bagi DBMS. 3. Terdapat fasilitas untuk mengontrol akses ke basis data. Sebagai contoh : •
Suatu sistem keamanan untuk mencegah pengguna yang tidak mempunyai otoritas atau hak untuk mengakses data.
12 •
Suatu sistem terintegrasi yang mana memelihara konsistensi penyimpanan data.
•
Suatu sistem kontrol yang memperbolehkan akses ke basis data.
•
Suatu sistem kontrol pengembalian data yang mana dapat mengembalikan data ke keadaan sebelumnya apabila terjadi kegagalan perangkat keras atau perangkat lunak.
•
Terdapat suatu katalog yang dapat diakses oleh pengguna yang mana menjelaskan data di dalam basis data tersebut.
Keuntungan dari adanya DBMS (Connolly,2005,p26) adalah : •
Terdapat kontrol untuk pengulangan data. Pendekatan basis data mencoba untuk menghilangkan redundansi dengan mengintegrasikan file sehingga penggandaan data yang sama tidak disimpan. Tetapi, pendekatan basis data tidak menghilangkan redundansi sepenuhnya, tetapi mengendalikan jumlah redundansi basis data.
•
Data yang konsisten. Dengan menghilangkan atau mengendalikan redundansi, kita mengurangi resiko terjadinya ketidakkonsistenan. Bila suatu data disimpan hanya sekali dalam basis data, perubahan nilainya harus dilakukan hanya sekali dan nilai baru tersedia secepatnya ke semua pengguna. Bila data disimpan lebih dari sekali dan sistem mengetahuinya, sistem dapat memastikan bahwa semua duplikasi data dijaga tetap konsisten. Sayangnya, banyak DBMS saat ini yang tidak otomatis memastikan konsistensi.
13 •
Semakin banyaknya informasi yang didapat dari data yang sama. Dengan pengintegrasian data operasional, akan memungkinkan organisasi untuk mendapatkan informasi tambahan dari data yang sama.
•
Penggunaan data bersama Biasanya, file dimiliki oleh orang atau departemen yang menggunakannya. Padahal, basis data dimiliki oleh seluruh organisasi dan dapat digunakan bersama oleh pengguna yang berhak. Dengan cara ini, pengguna akan dapat membagi lebih banyak data. Lebih jauh lagi, aplikasi baru dapat dibangun pada data yang telah ada dalam basis data dan hanya menambah data yang tidak disimpan saat itu, dibanding harus mendefinisikan seluruh kebutuhan data lagi. Aplikasi baru dapat juga bergantung pada fungsi-fungsi yang disediakan DBMS, seperti definisi dan manipulasi data, dan pengendalian conncurency dan pemulihan, dibanding harus menyediakan fungsi-fungsi ini sendiri.
•
Meningkatkan integritas data. Integritas basis data mengacu pada validitas dan konsistensi data yang disimpan. Integritas biasanya menunjukkan batasan-batasan, yaitu aturan-aturan konsistensi yang tidak boleh dilanggar dalam basis data. Batasan-batasan dapat diterapkan pada data atau pada relasi antar data. Integrasi memungkinkan DBA untuk mendefinisikan, dan DBMS menerapkan batasan integitas
•
Meningkatkan keamanan data. Keamanan basis data adalah perlindungan basis data dari pengguna yang tidak berhak. Tanpa langkah-langkah pengamanan yang tepat, integrasi membuat data lebih rawan dibanfing sistem berbasis file. Tetapi, integrasi memungkinkan DBA
14 untuk mendefinisikan, dan DBMS untuk menerapkan, keamanan basis data. Hal ini akan membutuhkan nama pengguna dan kata kunci untuk mengidentifikasi apakah seseorang berhak untuk menggunakan basis data. Pengaksesan dari pengguna yang dibolehkan pada data dapat dibatasi oleh operation type (retrieval, insert, update, delete). •
Penerapan standariasi. Integrasi
memungkinkan
DBA
untuk
mendefinisikan
dan
menerapkan
standarisasi yang dibutuhkan. Hal ini dapat mencakup standarisasi departemen, organisasi, nasional, atau internasional seperti format data untuk memfasilitasi pertukaran data antar sistem, konvensi penamaan, standarisasi dokumentasi, prosedur update, dan aturan pengaksesan. •
Penghematan Menggabungkan seluruh data operasional organisasi ke dalam satu basis data, dan membuat serangkaian aplikasi yang bekerja pada satu sumber data ini, dapat menghemat biaya. Dalam kasus ini, anggaran yang biasanya dialokasikan tiap depatemen untuk mengembangkan dan merawat sistem berbasis file dapat digabungkan,
menghasilkan
biaya
total yang rendah, mengarah pada
penghematan. Penggabungan anggaran dapat digunakan untuk membeli konfigurasi sistem yang lebih sesuai untuk memenuhi kebutuhan organisasi. •
Keseimbangan kebutuhan-kebutuhan yang bertentangan Masing-masing pengguna atau departemen mempunyai kebutuhan yang berbeda dengan pengguna lainnya. Karena basis data dibawah pengendalian DBA, DBA dapat memutuskan perancangan dan penggunaan operasional basis data yang
15 terbaik bagi organisasi secara keseluruhan. Keputusan ini akan menghasilkan kinerja yang optimal bagi aplikasi. •
Peningkatan pengaksesan data dan responsiveness Sebagai hasil dari integrasi, data yang melewati batasan departemen dapat langsung diakses oleh pengguna. Hal ini menghasilkan sistem yang potensial untuk melakukan lebih banyak fungsi, contohnya, untuk menyediakan layanan yang lebih baik bagi pengguna akhir atau organisasi pelanggan. Banyak DBMS menyediakan bahasa queri atau pembuat laporan yang memungkinkan pengguna untuk menanyakan pertanyaan khusus dan untuk mendapatkan informasi secara cepat dari terminalnya, tanpa membutuhkan programmer untuk membuat perangkat lunak untuk mengambil informasi ini dari basis data.
•
Meningkatkan produktivitas. DBMS menyediakan banyak fungsi-fungsi standar yang biasanya programmer harus tulis di aplikasi berbasis file. Perlengkapan dari fungsi-fungsi ini memungkinkan programmer untuk berkonsentrasi pada fungsi-fungsi khusus yang dibutuhkan oleh pengguna tanpa harus khawatir tentang detil implementasi. Banyak DBMS menyediakan alat bantu untuk menyederhanakan aplikasi basis data. Hasilnya meningkatkan produktifitas programmer dan mengurangi waktu pengembangan (yang berhubungan dengan penghematan biaya).
•
Meningkatkan pemeliharaan dengan data yang bebas Dalam sistem berdasarkan file, penggambaran data dan logika untuk mengakses data dibangun ke dalam masing-masing program, sehingga program tergantung pada data. Perubahan struktur data, seperti merubah alamat 41 karakter ke 40
16 karakter, atau merubah cara data disimpan ke media, akan membutuhkan perubahan yang besar pada program. Sebaliknya, DBMS memisahkan data aplikasi, sehingga membuat aplikasi tidak harus terpengaruh oleh perubahan data. •
Meningkatkan concurrency Bila dua atau lebih pengguna dapat mengakses file yang sama secara bersamaan, kemungkinan pengaksesan tersebut akan saling mempengaruhi, mengakibatkan kehilangan informasi dan integritas. Banyak DBMS mengelola pengaksesan secara bersamaan pada basis data dan memastikan masalah di atas tidak terjadi.
•
Memperbaiki backup dan layanan pemulihan Banyak sistem berbasis file meletakkan tanggung jawab pada pengguna untuk menyediakan fasilitas pengamanan data terhadap gangguan pada sistem atau program aplikasi. Caranya adalah dengan membuat backup data. Bila terjadi gangguan, backup akan memulihkan data. Sebaliknya, DBMS menyediakan fasilitas untuk meminimalisasi pemrosesan yang hilang akibat kegagalan.
2.1.4
Konsep Berbasis Objek
2.1.4.1 Abstraksi, Enkapsulasi, dan Penyembunyian Informasi Menurut Larman (2005,p689) Abstraksi adalah kegiatan pemusatan pada intisari atau kualitas umum dari objek-objek yang serupa dan menghasilkan karakteristik inti pada objek. Menurut Larman (2005,p690) Enkapsulasi adalah suatu mekanisme yang digunakan untuk menyembunyikan data, struktur internal, dan detil implementasi
17 elemen-elemen, seperti objek atau subsistem. Semua interaksi dengan objek adalah melalui antarmuka umun suatu operasi. Sedangkan menurut Eaglestone (1998,p33) Enkapsulasi adalah fasilitas yang mengintegrasikan data dan prosedur-prosedur dalam objek. Menurut Connolly (2005,p814) Penyembunyian informasi artinya bahwa kita memisahkan aspek ekternal objek dari detil internalnya, yang tersembunyi dari dunia luar. Dengan demikian detil internal objek dapat dirubah tanpa mempengaruhi aplikasi yang menggunakannya. Dalam bahasa pemrograman berbasis objek, enkapsulasi dicapai melalui Abstract Data Types (ADTs). Objek mempunyai bagian antarmuka dan bagian implementasi. Bagian antarmuka menyediakan spesifikasi operasi yang dapat dilakukan objek, sedangkan bagian implementasi terdiri dari struktur data ADT dan fungsi yang merealisasikan antarmuka. Hanya bagian antarmuka yang dapat dilihat objek lain atau pengguna.
2.1.4.2 Objek dan Atribut Menurut Eaglestone (1998,p32) Objek adalah entitas yang disajikan basis data berbasis objek sebagai struktur tertentu. Setiap objek harus menyimpan informasi keadaannya (state) saat itu, dan mempunyai beberapa aksi (behavior) yang dimodelkan. Keadaan (state) objek digambarkan oleh atribut. Menurut Larman (2005,p689) Atribut adalah karakteristik atau properti suatu kelas.
18 2.1.4.3 Identitas Objek Menurut Larman (2005,p691) Identitas objek adalah fitur dimana keberadaan suatu objek adalah bebas dari nilai-nilai yang berkenaan dengan objek tersebut. Didalam objek model, setiap object instance adalah unik, identitas tidak berubah disebut sebagai object identification, atau OID. OID digunakan untuk merefrensikan object instance (Barry,1996,p6). Menurut Barry (1996,p8) OID mempunyai beberapa karakteristik : •
OID tidak tergantung pada yang dikandung objek. Nilai data internal tidak digunakan untuk membuat identitas.
•
OID dibuat oleh system objek. Pengguna atau program tidak dapat mengatur identitas.
•
OID adalah yang paling akhir bertahan dalam masa hidup objek. Identifikasi objek tidak pernah berubah walaupun kandungan data berubah.
2.1.4.4 Method dan Message Menurut Larman (2005,p691) Method dalam UML adalah implementasi atau alogritma operasi dari kelas atau prosedur perangkat lunak yang dapat mengeksekusi respon terhadap message. Menurut Larman (2005,p691) Message adalah mekanisme komunikasi suatu objek, biasanya berupa permintaan untuk mengeksekusi suatu method.
19 2.1.4.5 Classes Menurut Larman (2005,p689) Classes dalam UML adalah penggambaran sekumpulan objek yang berbagi atribut-atribut, operasi-operasi, methods, relasi-relasi, dan behavior yang sama.
2.1.4.6 Subclass, Superclass, dan Inheritance Menurut Larman (2005,p692) Subclass adalah suatu pengkhususan dari kelas lain (Superclass). Suatu subclass mewarisi attributes dan methods dari superclass. Menurut Larman (2005,p693) Superclass adalah suatu class dimana class lain mewarisi attributes dan methods. Menurut Larman (2005,p691) Inheritance adalah fitur dari bahasa pemrograman berbasis objek dimana classes dapat dispesialisasikan dari superclasssuperclass yang lebih umum. Attributes dan methods superclass secara otomatis dimiliki oleh subclass.
2.1.4.7 Overriding dan Overloading Menurut Hoffer (2002,p540) Overriding adalah proses penggantian suatu method yang diwarisi dari superclass oleh implementasi yang lebih spesifik dari method tersebut didalam subclass. Overriding
adalah
salah
satu
jenis
overloading.
Overloading
memungkinkan nama suatu method digunakan kembali dalam definisi class atau diluar definisi class. Ini memungkinkan suatu message dapat melakukan fungsi-fungsi yang berbeda tergantung objek penerimanya (Connolly,2005,p822).
20 2.1.4.8 Polymorphism Menurut Larman (2005,p692) Polymorphism adalah konsep bahwa dua atau kebih kelas dapat merespon suatu message yang sama dengan cara yang berbeda, menggunakan operasi-operasi Polymorphic.
2.1.4.9 Complex Object Menurut Eaglestone (1998,p38) Complex Object adalah objek yang terdiri dari objek-objek lain. Menurut Barry (1996,p30) untuk mengetahui suatu Complex object dapat dilihat dari kurangnya identifikasi yang unik dari data, hubungan many to many dalam data, akses data secara traversal, atau seringnya menggunakan type codes dalam data.
2.1.5
Konsep DBMS berbasis objek
2.1.5.1 Definisi Basis Data Berbasis Objek Menurut Connolly (2005,p849) definisi Object-Oriented Data Model (OODM), Object-Oriented Database (OODB), dan Object-Oriented DBMS (OODBMS) adalah: OODM
Suatu model data logikal yang menangkap semantik dari objek yang didukung oleh pemrograman berbasis objek.
OODB
Sekelompok objek persistent dan sharable yang didefinisikan OODM
OODBMS
Merupakan manajer dari OODB
21 2.1.5.2 Metodologi Disain Basis Data Berbasis Objek Menurut Connolly (2005,p842) petunjuk untuk mendisain basis data adalah dengan menggunakan diagram UML sebagai berikut : •
Buat
use
case
diagram
dari
spesifikasi
kebutuhan
informasi
untuk
menggambarkan fungsi-fungsi yang dibutuhkan dari system. •
Buat class diagram.
•
Buat sequence diagram untuk masing-masing use case. Ini untuk menunjukan interaksi antar class yang dibutuhkan untuk mendukung fungsionalitas yang ditentukan dalam masing-masing use case. Collaboration diagram dapat dihasilkan dengan mudah dari sequence diagram.
•
Mungkin akan berguna bila menambahkan class control ke class diagram untuk mewakili interface antara actor dan system (operasi control class dapat diturunkan dari use case).
•
Perbaiki class diagram untuk menunjukan method yang dibutuhkan masingmasing class.
•
Buat statechart diagram untuk masing-masing class untuk menunjukan bagaimana kelas berubah state dalam merespon message yang diterimanya. Message yang cocok diidentifikasi dari sequence diagram.
•
Perbaiki diagram sebelumnya berdasarkan pengetahuan baru selama proses ini (misalnya state diagram dapat mengidentifikasi method tambahan untuk class diagram).
22 2.1.5.3 Karakteristik Basis Data Berbasis Objek Menurut Bancilhon (1992,p5) ada tiga belas fitur yang dimiliki suatu OODBMS. Delapan fitur pertama merupakan karakteristik object oriented, sedangkan selebihnya merupakan karakteristik DBMS. 1.
Harus mendukung complex object.
2.
Harus mendukung identitas objek.
3.
Harus mendukung encapsulation.
4.
Harus mendukung class.
5.
Kelas harus dapat mewarisi sifat (inheritance) dari superclassnya.
6.
Harus mendukung dynamic binding.
7.
DML harus lengkap diperhitungkan.
8.
Tipe data harus dapat dikembangkan.
9.
Harus menyediakan data persistent.
10.
DBMS harus mampu mengelola basis data yang sangat besar.
11.
DBMS harus mendukung penggunaan dalam waktu bersamaan (concurrent).
12.
DBMS harus dapat pulih dari kegagalan perangkat keras dan perangkat lunak.
13.
DBMS harus menyediakan kemudahan dalam mengkueri data.
2.1.5.4 Alternatif-alternatif Strategi Membangun OODBMS Menurut Connolly (2005,p859) ada beberapa strategi untuk membangun OODBMS, yaitu : •
Menambahkan kemampuan basis data pada bahasa pemrograman berbasis objek. GemStone menggunakan strategi ini pada Smalltalk, C++ dan Java.
23 •
Menambahkan libraries yang mendukung kemampuan basis data pada bahasa pemrograman berbasis objek. Srategi ini digunakan Ontos, Versant, dan Object Store.
•
Menanam bahasa basis data berbasis objek dalam bahasa pemrograman konvensional. Strategi ini digunakan oleh O2 pada bahasa C.
•
Menambah kemampuan berbasis objek pada bahasa basis data yang ada. Strategi ini digunakan Ontos dan Versant yang menggunakan standar Object SQL dari Object Data Management Group (ODMG).
•
Membangun bahasa basis data / model data baru. Strategi ini digunakan SIM (Semantic Information Manager).
2.1.5.5 Persistence Suatu DBMS harus menyediakan fasilitas untuk menyimpan objek yang persistent. Objek yang persistent adalah objek yang tetap ada setelah user session atau program aplikasi yang membuatnya dimatikan. Ini kontras dengan transient object yang hanya ada selama program menjalankannya. Persistent object akan tetap ada hingga tidak dibutuhkan lagi atau dihapus.
2.1.5.6 Kelebihan dari penggunaan Object Oriented Database Management System (OODBMS) Menurut Connolly (2005,p881) ada beberapa kelebihan OODBMS, yaitu : •
Memperkaya kemampuan pemodelan
•
Dapat dikembangkan
24 •
Menghilangkan impedance mismatch
•
Bahasa kueri yang lebih ekspresif
•
Mendukung evolusi schema
•
Mendukung transaksi berdurasi panjang
•
Dapat diterapkan pada aplikasi basis data yang canggih
•
Meningkatkan kinerja
2.1.6
Standar dan sistem OODBMS
2.1.6.1 Object Management Group Menurut Connolly (2005,p889) Object Management Group (OMG) adalah suatu konsorsium industri non profit internasional yang didirikan pada tahun 1989 untuk membuat standarisasi objek. Ada empat hal yang distandarisasi OMG, yaitu: Object Model (OM), Object Request Broker (ORB), Object Services, dan Common Facilities. 2.1.6.2 Object Data Management Group Menurut Eaglestone (1998,p30) Object Data Management Group (ODMG) adalah suatu konsorsium dari vendor-vendor system basis data berbasis objek. Standar ODMG mendominasi pasar basis data berbasis objek dan menjadi standar de facto. Menurut Connolly (2005,p897) Object Data Managenent Group (ODMG) membuat standarisasi untuk Object Oriented Data Model (OODM). Ada empat komponen utama arsitektur OODBMS menurut ODMG, yaitu : •
Object Model (OM)
25 •
Object Definition Language (ODL)
•
Object Query Language (OQL)
•
C++, Java, dan Smalltalk language bindings
2.1.6.2.1
Object Model Menurut Eaglestone (1998,p29) model data objek memungkinkan lebih
banyak informasi yang dapat disajikan dengan memanfaatkan fasilitas bahasa pemrograman berbasis objek, dimana pengguna dapat menambahkan tipe data baru yang sesuai dengan aplikasinya. Pemodelannya adalah sebagai berikut : •
Entitas dan objek. Entitas adalah segala sesuatu yang dapat diidentifikasikan secara unik dan kita ingin menyimpan fakta-fakta didalamnya. Objek adalah entitas yang disajikan basis data berbasis objek sebagai struktur tertentu. Objek terdiri dari data yang ditunjukan oleh state atau nilai dan prosedur yang mewakili behavior.
•
Tipe dan kelas. Objek-objek yang memiliki karakteristik-karakteristik yang sama disebut memiliki tipe objek yang sama. Tipe yang diimplementasikan disebut class.
•
Identitas objek dan komples objek. Identitas objek secara otomatis diberikan pada objek sejak objek pertama kali dibuat, tidak dapat diubah atau digunakan kembali oleh objek lain. Kompleks objek adalah objek yang terdiri dari objekobjek lainnya.
26 •
Inheritance. Suatu jenis relasi antar tipe objek, dimana satu tipe merupakan subtype dari tipe lainnya dan karenanya mewarisi semua karakteristiknya.
Menurut Connolly (2005,p900) model objek ODMG memungkinkan perancangan dan implementasi dipindahkan antar system yang mengikuti standarnya. Model objek ODMG menspesifikasikan pemodelan dasar, sebagai berikut : •
Objek dan literal.
•
Objek-objek dan literal-literal dapat dikategorikan sebagai type. Semua objek dan literal dari suatu type menunjukan behavior dan state yang umum.
•
Behavior ditentukan oleh sekumpulan operasi yang dilakukan pada objek atau oleh objek. Operasi dapat mempunyai parameter-parameter input / output dan dapat mengembalikan nilai.
•
State ditentukan oleh nilai propertinya. Suatu property dapat berupa atribut atau berupa relasi suatu objek dengan objek lainnya.
Menurut Hoffer (2002,p525) Keuntungan dari pemodelan menggunakan orientasi objek adalah : 1. Memiliki kemampuan untuk menangani permasalahan yang lebih beraneka ragam atau lebih menantang. 2. Memiliki kemampuan yang lebih bervariasi untuk mengkomunikasikan antara users, analysts, designers, and programmers. 3. Meningkatkan konsistensi di antara aktivitas analisis, perancangan, dan pemrograman.
27 4. Memiliki gambaran yang jelas dalam menggambarkan bagian sistem. 5. Memiliki sistem yang tangguh. 6. Memiliki kemampuan untuk dipergunakan dalam hasil analisa, perancangan dan pemrograman.. 7. Meningkatkan konsistensi pengembangan model selama menggunakan analisa, perancangan, dan pemrograman berorientasi objek.
2.1.6.2.2
Object Definition Language Menurut Eaglestone (1998,p92), Object Definition Language (ODL)
adalah bahasa untuk mendefinisikan tipe objek yang sesuai dengan model data objek. ODL memungkinkan program aplikasi untuk mengakses dan menggunakan isi dari basis data berbasis objek. Program aplikasi basis data berbasis objek yang ditulis dalam bahasa pemrograman seperti C++ , Smalltalk, atau Java
Definisi ODL sebagai antar muka antara aplikasi dengan basis data berbasis objek
Implementasi basis data berbasis objek yang ditulis dalam bahasa pemrograman seperti C++, Smalltalk, atau Java Gambar 2.1 Relasi antara ODL dan bahasa pemrograman lainnya
Gambar 2.1 menunjukan pemisahan fungsi antara bahasa pemrograman dan ODL. ODL menyediakan basis data berbasis objek dengan metadata, yang disimpan
28 sebagai kumpulan dari objek (meta objek). ODL juga menyediakan antar muka uuntuk program aplikasi dalam bahasa pemrograman lain ke tipe objek yang harus diakses dan dimanipulasi. Fasilitas dimana ODL, OQL, dan bahasa pemrograman tertentu dapat digunakan bersama-sama disebut binding. ODL atau OQL binding ditentukan untuk memungkinkan aplikasi dibuat menggunakan berbagai bahasa pemrograman, untuk saat ini C++, Smalltalk, dan Java.
2.1.6.2.3
Object Query Language Menurut Eaglestone (1998,p175) Object Query Language (OQL) adalah
bahasa untuk mengkueri dan memanipulasi basis data berbasis objek yang sesuai dengan model data objek. Sintaks OQL berasal dari SQL, tetapi juga dikembangkan untuk menangani kelebihan konsep berbasis objek.
2.1.6.2.4
ODMG Language Bindings Menurut Connolly (2005,p918) ODMG language bindings menentukan
bagaimana ODL / OML dipetakan ke bahasa pemrograman. Bahasa yang mendukung adalah Smalltalk, C++, dan Java.
2.2
Analisis dan disain basis data berbasis objek dengan The Unified Modeling
Language (UML) Diagram-diagram UML Menurut Bahrami (1999,p94) ada delapan diagram UML : 1. Class Diagram
29 2. Use Case Diagram 3. Behavior Diagram (dynamic) : a. Interaction Diagram i.
Sequence Diagram
ii.
Collaboration Diagram
b.Statechart Diagram c. Activity Diagram 4. Implementation Diagram : a. Component Diagram b. Deployment Diagram
UML Class Diagram UML class diagram adalah diagram analisis statis utama. Diagram ini menunjukan struktur statis model. Class diagram adalah kumpulan dari elemen-elemen pemodelan statis, seperti kelas-kelas dan relasinya. Pemodelan objek adalah proses dimana objek logical dalam dunia nyata dipetakan ke objek actual dalam program. Untuk membangun suatu model dunia nyata yang efektif, anda harus mempertanyakan objek-objek apa yang dibutuhkan didalam sistem. Tujuan pemodelan objek adalah untuk menunjukan secara grafis apa yang objek lakukan didalam problem domain, menggambarkan struktur (hirarki kelas atau part whole) dan relasi antar objek (seperti asosiasi) dengan notasi visual. Gambar di bawah ini menunjukkan notasi dasar class diagram. Dalam analisis, biasanya cukup untuk menggambarkan class dengan namanya. Struktur dibuat sesederhana mungkin.
30 Association dan aggregation dapat mempunyai multiplicity. Multiplicity dapat berupa angka atau interval, seperti 0..3, 1..*, dan “*” disebut “many”. Kita dapat menambahkan detil class dengan menambahkan atribut dan operasi lengkap dengan parameter. Kita juga dapat menunjukkan apakah atribut dan operasi itu public atau private.
Gambar 2.2 Notasi class diagram
Use Case Diagram Use case diagram menggambarkan fungsi-fungsi dari suatu system. Use case berhubungan dengan serangkaian transaksi, dimana setiap transaksi dipicu dari luar system (actor) dan membuat objek-objek internal saling berinteraksi dan juga dengan lingkungan system. Keterangan dari use case menentukan apa yang terjadi dalam sistem ketika use case dijalankan. Intinya, model use case menentukan model luar (actor) dan model dalam (use case) dari behavior system.
31
Gambar 2.3 Notasi use-case diagram
Sequence Diagram Sequence diagram adalah cara yang mudah untuk menggambarkan behavior system dengan memperhatikan interaksi antara system dengan lingkungannya. Sequence diagram menunjukan interaksi yang disusun berdasarkan urutan waktu. Diagram ini juga menunjukan objek-objek yang terlibat dalam interaksi dengan garis hidupnya, dan message yang dikirim, diatur berdasarkan urutan kejadian. Sequence diagram memiliki dua dimensi. Dimensi vertikal berdasarkan waktu, sedangkan dimensi horizontal mewakili objek-objek yang berbeda. Garis vertikal disebut lifeline object. Life line mewakili keberadaan objek selama interaksi. Setiap message diwakili oleh anak panah antara lifeline dua objek. Urutan kemunculan message diperlihatkan dari atas ke bawah dalam halaman. Masing-masing message diberi label dengan nama message. Label juga dapat berisi argumen dan informasi pengendalian.
32 Sequence diagram adalah cara alternatif untuk memahami keseluruhan alur pengendalian dari program. Akan lebih mudah menggunakan sequence diagram untuk memahami urutan behavior dibandingkan dengan melihat kode program.
Gambar 2.4 Notasi sequence diagram
Statechart Diagram Statechart diagram menggambarkan urutan state yang objek lalui selama hidupnya dalam merespon rangsangan luar dan message. State adalah kumpulan nilai yang menggambarkan objek berada pada suatu titik dalam waktu yang digambarkan oleh simbol state dan transisinya digambarkan dengan anak panah yang menghubungkan simbol-simbol state. Suatu statechart dapat mempunyai subdiagram. Statechart diagram menggambarkan state dari eksekusi method (state dari objek mengeksekusi method), dan aktivitas dalam diagram mewakili aktivitas objek
33 yang melakukan method tersebut. Statechart diagram berguna untuk memahami algoritma dalam menjalankan suatu method.
Gambar 2.5 Notasi statechart diagram
Collaboration Diagram Tipe lain dari diagram interaksi adalah collaboration diagram. Collaboration diagram menggambarkan kolaborasi, yaitu serangkaian message yang dikirimkan antar objek dalam kerjasama untuk mencapai tujuan tertentu. Seperti sequence diagram, anak panah menunjukkan message yang dikirimkan dalam suatu use case. Dalam collaboration diagram, urutannya ditunjukkan dengan menomori message.
Activity Diagram Activity diagram adalah variasi dari state diagram yang digunakan untuk memodelkan seluruh proses bisnis. State adalah kegiatan yang mewakili terjadinya operation, dan transition dipicu oleh selesainya operation. Kegunaan activity diagram adalah untuk menyediakan view dari aliran proses bisnis dan apa yang terjadi dalam use case.
34 Component Diagram Component diagram memodelkan komponen fisik dalam perancangan (seperti source code, executable program, user interface). Package digunakan untuk menunjukkan bagaimana mengelompokkan class.
Deployement Diagram Deployment diagram menunjukkan konfigurasi komponen-komponen, proses-proses, dan objek-objek. Deployment diagram berisi node-node yang dihubungkan dengan jalur komunikasi. Node dapat berisi component instance. Component dapat berisi objek. Component dihubungkan dengan component lain melalui dependency, biasanya melalui antarmuka, yang menunjukkan bahwa satu component menggunakan layanan component lainnya.
2.3
Teori-teori Eksplorasi Minyak dan Gas Bumi
2.3.1
Pengertian Menurut Koesoemadinata (1990,p208), Eksplorasi merupakan kegiatan
penting dalam industri energi pada umumnya dan pada khususnya industri minyak dan gas bumi. Jelaslah, bahwa demi kelangsungan peradaban kita, diperlukan produksi minyak dan gas bumi secara terus menerus. Dengan demikian cadangan makin menciut, dan hanya dengan kegiatan eksplorasi sajalah cadangan akan bertambah atau setidaknya dipertahankan. Suatu pengertian yang salah dewasa ini adalah bahwa eksplorasi merupakan suatu aktivitas satu kali saja. Banyak ahli ekonomi ataupun hal layak ramai mengira, bahwa jika suatu daerah telah diselidiki atau dieksplorasi dapatlah diketahui apakah daerah itu mengandung cadangan minyak atau tidak. Mereka kemudian
35 mengharapkan bahwa dengan dilakukannya eksplorasi untuk seluruh daerah tersebut, misalnya seluruh daerah Indonesia, dapatlah diadakan inventarisasi mengenai jumlah cadangan minyak kita dan sampai kapan habisnya minyak bumi ini. Jangankan mengetahui seluk-beluk cara terdapatnya minyak didalam suatu daerah, apalagi untuk seluruh daerah Indonesia, sedangkan cara terbentuk dan terdapatnya minyak bumi didalam kerak bumipun belum kita mengerti sedalamdalamnya ataupun meramalkannya. Beberapa konsepsi dari teori antiklin, perangkap stratigrafi, dan kosepsi mengenai hidrodinamika, menunjukan bahwa pemikiran kita terus menerus berkembang dan menghasilkan konsepsi baru tentang terdapatnya dan keadaan geologi minyak bumi. Sebagai suatu contoh ialah misalnya, pencarian minyak dan gas bumi di Amerika Serikat sudah berlangsung puluhan tahun, dan dilakukan oleh puluhan ribu ahli geologi, dengan modal yang sangat besar serta menggunakan berbagai metoda yang paling modern, tetapi sampai kini masih tetap dapat ditemukan cadangan baru di dalam daerah yang sudah lama dieksplorasi, walaupun makin lama cadangan memang makin kecil dan makin sulit untuk ditemukan. Adalah paradoxal sekali, bahwa sampai kini cadangan minyak bumi bukannya menciut, tetapi tambah meningkat, berkat usaha eksplorasi, walaupun tidak merata dari tahun ke tahun. Telah banyak contoh untuk Indonesia diberikan, seperti misalnya, suatu daerah di Sumatra Tengah yang telah dieksplorasi oleh perusahaan asing yang cukup besar dan telah mengadakan hampir 20 pemboran dan menyatakan daerah itu tidak menghasilkan minyak. Tetapi kemudian daerah tersebut diambil oleh perusahaan lain dan ternyata dapat menghasilkan beberapa lapangan minyak dan cadangan baru dalam daerah yang sama.
36 Semua hal tersebut bukannya karena kebodohan para ahli geologi yang ditugaskan pada waktu itu, tetapi semata-mata disebabkan kemajuan pengetahuan ilmu geologi minyak dan gas bumi serta digunakannya berbagai metoda baru. Misalnya saja pada zaman dahulu belum ada pengertian mengenai batuan induk, fungsi gradient geothermal, cara pertumbuhan terumbu koral, sedimentasi karbonat. Selain itu juga, pada waktu itu metoda seismic masih pada permulaan taraf perkembangannya. Dewasa ini metoda seismic telah mengalami kemajuan begitu pesat, dengan menggunakan komputer untuk pengolahan datanya sedemikian rupa sehingga telah jauh lebih maju dari sebelumnya. Walaupun demikian sampai kinipun metoda seismic belum sama sekali dapat memberikan gambaran yang sebenarnya, sehingga masih tetap harus berkembang di masa mendatang. Meskipun penilaian orang terhadap metoda seismic dewasa ini begitu tinggi, tetapi jumlah cadangan minyak sebenarnya belumlah dapat diketahui, karena sebagaimana telah dikatakan cara terdapatnya minyak bumi pun belum diketahui seluruhnya. Kita tidak mengetahui apakah minyak bumi terdapat selain dalam perangkap antiklin, dan dalam perangkap stratigrafi, juga terdapat dalam perangkap jenis lain. Kita pun tidak mengetahui, apakah ada batuan reservoir jenis lain, tempat minyak bumi dapat berkumpul, dan apakah ada keadaan geologi yang lain sama sekali, yang memungkinkan pembentukan dan akumulasi minyak bumi itu. Seorang eksplorator pada waktu mendatang haruslah lebih cerdas, dan harus mempergunakan konsepsi dan teori baru serta menemukan cadangan tambahan didaerah yang hingga kini dikira tidak ada minyak bumi. Sejalan dengan eksplorasi, penelitian dalam bidang geologi minyak dan bumi haruslah senantiasa dilaksanakan untuk menstimulasi timbulnya berbagai konsepsi serta teori baru tentang terbentuknya dan terdapatnya minyak dan gas bumi.
37 2.3.2
Dasar Filsafat Eksplorasi Eksplorasi jangan hanya diartikan sebagai usaha penambahan lapangan
minyak baru atau perluasan daeerah produksi, sebab hal ini jelas bukanlah demikian dilihat dari pandangan bahwa tidaklah mungkin suvey di suatu daaerah dapat mengetahui segala sesuatu yang terdapat di bawahnya. Usaha eksplorasi harus dianggap sebagai
suatu
bagian
integral
dari
pada
produksi,
yaitu
setidak-tidaknya
mempertahankan besarnya cadangan. Jika kita harus meningkatkan minyak lebih banyak, maka kita harus mendapatkan cadangan lebih banyak. Motto dari pada suatu eksplorasi minyak bumi adalah untuk setiap barel minyak yang diproduksikan, paling sedikit harus ditemukan satu barel cadangan baru. Hal ini berarti, kalau kita meningkatkan produksi minyak bumi harus kita tingkatkan pula penemuan cadangan baru. Dengan dasar filsafat ini sesuai dengan konsepsi bahwa usaha eksplorasi minyak bumi itu bukan hanya merupakan suatu survey atau inventarisasi tempat terdapatnya minyak bumi dalam suatu daerah, tetapi lebih merupakan peningkatan cadangan minyak bumi, dengan menguji kita sendiri untuk dapat berfikir serta menemukan minyak dalam daerah yang sama.
2.3.3
Urutan Eksplorasi Minyak dan Gas Bumi Dalam eksplorasi minyak dan gas bumi tidak dibedakan antara suatu
survey pendahuluan atau prospeksi dan eksplorasi sebagaimana dalam bidang pertambangan. Yang diartikan eksplorasi minyak dan gas bumi dalam industri minyak adalah semua kegiatan dari permulaan sampai akhir dalam usaha penemuan dan penambahan cadangan minyak dan gas bumi yang baru. Sebagaimana telah dikatakan, operasi eksplorasi mencakup semua kegiatan yang merupakan bagian integral dalam
38 usaha pencarian minyak bumi, termasuk pemboran eksplorasi. Pekerjaan penyelidikan dalam suatu eksplorasi minyak bumi ini dilakukan pada umumnya oleh para ahli geologi, termasuk juga mereka yang berspesialisasi dalam geofisika, paleontology, dan sebagainya. Fasa ini berlangsung terus menerus, hingga pada taraf eksploitasi. Dalam hal ini seorang ahli geologi harus membantu dalam penentuan cadangan dan juga dalam rencana pemboran eksploitasi. Urutan suatu operasi eksplorasi meliputi proses sebagai berikut : 1.
Perencanaan eksplorasi (exploration planning).
2.
Operasi survey lapangan.
3.
Penilaian dan prognosis prospek.
4.
Pemboran eksplorasi.
5.
Pengembangan dan reevaluasi daerah.
Sejajar dengan dilakukannya urutan operasi eksplorasi ini juga dilakukan pengkajian dan evaluasi secara terus menerus oleh suatu kelompok studi yang menunjang eksplorasi dan yang menyarankan berbagai garis kebijaksanaan dalam bidang eksplorasi. Dalam urutan operasi survey eksplorasi minyak dan gaas bumi, yang pertama-tama harus dilakukan adalah suatu studi mengenai keadaan geologi regional daerah yang telah dipilih, sehingga kita dapat mengetahui misalnya, jenis cekungannya, geologi sejarah perkambangan cekungan serta sedimentasinya, kerangka tektonik dan sebagainya. Dari studi ini kemudian dilakukan suatu tinjauan sepintas lalu (reconnaissance survey) yang merupakan suatu operasi lapangan, dengan cara mengunjungi daerah tertentu. Semua survey itu dimaksudkan untuk mendapatkan kesan umum mengenai keadaan geologinya dengan memilih bagian daerah yang kritis untuk meyakinkan suatu gejala geologi yang penting ataupun struktur yang dapat merupakan perangkap. Dari survey yang bersifat
39 sepintas lalu ini, didapatkan setidaknya beberapa daerah yang prospektif. Untuk lebih mengetahui keadaan geologi daerah ini, seringkali pada stadium ini dilakukan suatu pemboran stratigrafi. Dari penyelidikan peninjauan umum itu kita harus melakukan penelitian detil pada prospek yang telah ditemukan itu. Penelitian detil ini bisa dilaksanakan dengan penyelidikan geologi permukaan atau geologi lapangan, terutama dengan mengadakan survey seismic yang dilakukan dengan system kisi yang dewasa ini merupakan penyelidikan baku (standard). Kisi ini di buat dengan jarak misalnya setiap 3 atau 2 kilometer, bahkan kadang-kadang juga dengan jarak ½ kilometer apabila ingin lebih teliti. Dari pekerjaan sesismik, pekerjaan geologi lapangan dan studi regional, dapatlah dinilai prospek yang mempunyai harapan paling baik untuk menghasilkan minyak bumi ataupun yang tidak. Dari penilaian dan prognosis tersebut, dapat dilakukan pemboran eksplorasi dan baru dari pemboran eksplorasi inilah sebetulnya dapat dikatakan berhasil atau tidaknya ditemukan suatu lapangan munyak baru. Dapatlah dilihat bahwa sebelum pemboran eksplorasi tersebut dilakukan, haruslah dilakukan serentetan penyelidikan dan evaluasi untuk menentukan lokasi pemboran eksplorasi yang mahal harganya. Biaya satu pemboran eksplorasi dapat mencapai beberapa puluh milyar rupiah. Penyelidikan untuk menentukan lokasi ini seharusnya tidak lebih dari pada biaya pemboran. Pada tahap eksplorasi ini metoda seismic (seismic survey) dan pengukuran daya tarik bumi (gravity survey) sering dilakukan. Juga survey magnetic udara (aeromagnetic) ataupun survey magnetic daratan pada tahap reconnaissance. Selain itu pada tahap reconnaissance ini penyelidikan dengan metoda pengideraan jauh (remote sensing) dan foto udara sering dilakukan. Juga pemetaan yang bersifat pengukuran stratigrafi serta penyelidikan lapangan lainnya dilakukan pada tahap tersebut.
40 Pada tahap detil, geologi lapangan masih juga dilakukan dengan mengadakan pemetaan detil, yang sering juga ditunjang dengan pemboran tangan ataupun pemboran dangkal. Dewasa ini metoda tersebut sudah jarang dilakukan dan pada umunya operasi seismic detil
lebih
banyak
dilakukan
(Koesoemadinata,1990,p208-212).
untuk
mendetilkan
suatu
prospek