Basis Data Non Relasional

by hdnetz , at 06.23.00 , have 0 komentar

Basis Data Non Relasional 

“ Rancangan Basis Data Temporal Dan Bitemporal


Basis data (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.

Beberapa definisi tentang Database :
1. Menurut Gordon C. Everest :
Database adalah koleksi atau kumpulan data yang mekanis, terbagi/shared, terdefinisi secara formal dan dikontrol terpusat pada organisasi.

2. Menurut C.J. Date :
Database adalah koleksi “data operasional” yang tersimpan dan dipakai oleh sistem aplikasi  dari suatu organisasi.
  • Data input adalah data yang masuk dari luar sistem
  • Data output adalah data yang dihasilkan sistem
  • Data operasional adalah data yang tersimpan pada sistem
Baca Juga :  Rahasia Sukses Usaha

3. Menurut Toni Fabbri :
Database adalah sebuah sistem file-file yang terintegrasi yang mempunyai minimal primary key untuk pengulangan data.

4. Menurut S. Attre :
Database adalah koleksi data-data yang saling berhubungan mengenai suatu organisasi / enterprise dengan macam-macam pemakaiannya.

Jadi SISTEM DATABASE adalah sistem penyimpanan data memakai komputer.

Sifat-sifat database :
  • Internal          :  Kesatuan (integritas) dari file-file yang terlibat.
  • Terbagi/share :  Elemen-elemen database dapat dibagikan pada para user baik secara sendiri-sendiri maupun secara serentak dan pada waktu yang sama (Concurrent sharing).
Basis data : 

Adalah sekumpulan data persistence yang saling terkait, menggambarkan suatu organisasi(enterprise).

Sistem Basis data (DBS):

Suatu sistem yang mengelola data dan menyediakan data tersebut apabila dibutuhkan. Komponen utama Sistem Basis data :
  • H/W : storage, processor, memory. 
  • Data yang disimpan dalam basis data.
  • S/W : DBMS, Report-writer, design arts, dll.

  Penggguna :
  • Pengguna Biasa (Casual User)
  • Programmer
  • Administrator
  • Pengguna Awam (Naïve User)


    Sistem basis data vs Kertas :
    Kepadatan : 
    Tidak diperlukan jumlah kertas yang sangat banyak untuk menyimpan data dan cukup ringkas.  
    Kecepatan : 
    Data dapat diambil dan dimanipulasi lebih cepat dibandingkan pencarian secara manual dari kertas.
    Kemudahan :
     Mengurangi pekerjaan yang menjemukan jika harus berurusan dengan berlembar-lembar kertas.
    Kekinian : 
    Data yang disimpan adalah data yang akurat sesuai perkembangan (up to date) dan dapat disediakan pada saat yang dibutuhkan.

    Baca Juga : Tips Membuat Daftar Riwayat Hidup

    Keuntungan Basis data :
    • Mereduksi redundansi yang akibatnya mengurangi inkonsistensi.
    • Data dapat dishare antar aplikasi.
    • Standarisasi data dapat dilakukan.
    • Batasan security dapat diterapkan.
    • Mengelola integritas (Keterjaminan Akurasi) data.
    • Menyeimbangkan kebutuhan yang saling konflik.
    • Independensi data (objektif DBS) : kekebalan aplikasi terhadap perubahan struktur penyimpanan dan teknik pengaksessan data. 
    • Basis data harus dapat berkembang tanpa mempengaruhi aplikasi yang telah ada. 

    Database Administrator : 
    Adalah orang yang memiliki kontrol utama terhadap keseluruhan sistem basis data (mencakup data & program). 
    Fungsi :  
    • Pendefinisian skema. 
    • Pendefinisian struktur penyimpanan & metode akses. 
    • Modifikasi skema & organisasi fisik. 
    • Pemberian otorisasi bagi pengaksesan data.  
    • Mendefinisikan bagian basis data yang mana yang dapat diakses oleh seorang pemakai, termasuk operasi-operasi yang dapat dilakukan.  
    • Spesifikasi batasan integritas 

    Data Administrator :   
    Fungsi :  
    • Adalah orang yang bertanggung jawab dalam kontrol terhadap data. 
    • Menentukan data apa yang harus disimpan.  
    • Menentukan aturan dalam penanganan data.  
    Abstraksi Data/Arsitektur ANSI/SPARC :




                                         Gambar1. Abstraksi Data

    Penjelasan :
    • Physical/Internal Level :
    -          Bagaimana data disimpan.
    -          Deskripsi detil struktur data.
    • Conceptual Level :
    -          Data apa yang tersimpan (Reprensentasi abstrak).
    -          Relasi antar data.
    -          Digunakan oleh DBA.
    • View/External Level :
    -          Mendeskripsikan sebagian basis data.
    -          Digunakan oleh pengguna.

    Baca Juga : Simulasi Tes Potensi Alademik·     

    Bahasa/language dalam Sistem Basis data :
    1. Data Definition Language(DDL)
    Perintah-perintah yang digunakan oleh database administrator untuk mendefinisikan sekema ke DBMS. Secara detil hal yang perlu dijabarkan pada DBMS :
    -          nama basis data,
    -          nama seluruh berkas pada basis data,
    -          nama rekaman dan medan,
    -          deskripsi berkas, rekaman dan medan,
    -          nama medan kunci,
    -          nama indeks dan medan yang menjadi indeks  .
    -          hal lain seperti ukuran basis data.
    DDl juga digunakan untuk menciptakan, mengubah, dan menghapus basis data.

    1. Data Manipulation Language(DML)
    DML adalah perintah-perintah yang digunakan untuk mengubah, memanipulasi dan mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML. DML dibagi atas 2 jenis :
      1. Prosedural
    Yang menuntut pengguna menetukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya.
      1. Nonprosedural
    Yang menuntut pengguna menentukan data apa yang diperlukan tetapi tidak perlu menyebutkan cara mendapatkannya.

    ·         Pemodelan Data :
    o   Object based Logical Model
    -          Untuk mendeskripsikan data level konseptual dan view.
    -          Penstrukturan data dilakukan berbasis objek.
    -          Contoh : entity-Relationship model, Object-oriented Model.
    o   Record based Logical Model
    -          Untuk mendeskripsikan data level Koseptual & view.
    -          Mendeskrisikan struktur lojik keseluruhan basis data.
    -          Menstrukturkan basis data dalam sejumlah fixed format records. 
    o   Physical data Model
    -          Untuk mendeskripsikan data pada level terendah.

    ·         Instans dan skema :
    o   Instan :
    -          Adalah sekumpulan data yang tersimpan di dalam basis data pada suatu waktu tertentu.
    -          Memiliki frekuensi perubahan yang tinggi.
    o   Skema :
    -          Adalah desain keseluruhan basis data.
    -          Memiliki frekuensi perubahan yang sangat rendah.
    -          Umumnya, sebuah basis data akan memliki satu skema fisik.
    -          Idependensi data : kemampuan untuk mendefinisikan skema pada suatu level tanpa mempengaruhi skema di level berikutnya.

    ·         Struktur Sistem Basis Data :
    o   File Manager
    Mengelola space & struktur data.
    o   Database Manager
    Menyediakan antarmuka dengan data fisik.
    o   Query Processor
    Menterjemahkan query ke instruksi yang dimengerti Database Manager.
    o   DML Precompiler
    Mengkonversi perintah DML menjadi calls normal.
    o   DDL Compiler
    Mengkonversi perintah DDL menjadi metadata.

    Baca Juga :  Tips Wawancara Kerja

    Database Temporal:
    Database temporal merupakan database non-relational yang terintegrasi dengan aspek waktu, misalnya model data temporal dan versi temporal dari bahasa query terstruktur. Lebih spesifik lagi aspek temporalnya biasa sudah termasuk waktu yang valid dan waktu transaksi.  Atribut-atribut ini muncul bersamaan pada form data bitemporal.
    • Waktu yang valid ditunjukkan dengan periode waktu kejadian yang sama dengan waktu pada dunia sebenarnya
    • Waktu transaksi adalah periode waktu saat menyimpan suatu kejadian ke database
    • Data bitemporal mengkombinasikan waktu valid dan waktu transaksi
    Keterangan: kedua periode waktu tidak harus sama untuk suatu kejadian yang sama. Misalkan kita menyimpan databse pada database temporal pada abad ke 18. Waktu yang valid adalah diantara 1701 dan 1800. Sedangkan waktu transaksi dihitung pada saat kita memasukan suatu kejadian ke dalam databse, contoh 21 Januari 1998.
    Mengapa Kita Butuh Database Temporal:
    Sejak dua decade terakhir, model data relational sudah menjadi sangat popular karena simpel dan memiliki fondasi matematis yang solid. Namun, model data relational seperti yang dikatakan Codd[Cod70] tidak menyimpan address dari dimensi temporal suatu data. Data yang seharusnya dibedakan dari waktunya tetap diperlakukan sama dengan data lainnya. Hal ini tidak memenuhi aplikasi yang harus membedakan nilai data pada waktu lampau, saat ini, dan/atau data pada masa depan—padahal dikehidupan nyata kita akan sering berurusan dengan data seperti ini. Kenyataannya, kebanyakan aplikasi membutuhkan data temporal untuk keperluan tertentu.

    « Tujuan Utama dari Database Temporal:
    • Mengidentifikasi tipe data yang cocok dengan waktu
    • Mencegah hilang/berubahnya deskripsi suatu objek tertentu
    • Menyediakan aljabar query untuk mengatasi data temporal
    • Tetap compatible dengan database lama yang tidak menggunakan data temporal
    « Apa yang Dapat Kita Lakukan dengan Database Temporal:
    • Mudah dalam mengerjakan data temporal
    • Merecord setiap perubahan data dengan baik sekali
    • Setiap pendeskripsian objek dapat didefinisikan tanpa ada perubahan yang tidak diinginkan
    • Memiliki model relational untuk mendeskripsikan data temporal
    • Memiliki aljabar query untuk mengatasi data temporal
    • Tetap mampu mengatasi data static (tanpa dimensi waktu) pada database temporal
    • Aljabar database yang lama tetap dapat berjalan di database temporal
    • Aljabar query yang baru untuk mengkontrol dimensi waktu mirip dengan aljabar database yang lama
    « Solusi lain tentang Database Temporal:
    • Menambahkan waktu valid
    • Menambahkan waktu transaksi
    • Menambahkan kedua hal di atas
    • Pendekatan lainnya
    Untuk memperjelas pengertian mengenai database temporal, maka saya akan memasukan sebuah contoh yang membandingkan penanganan suatu kasus bila dibuat database secara biasa dan dengan database menggunakan database temporal.

    Contoh kasus :

    yang diambil berasal dari biografi singkat tokoh buatan bernama Firmansyah. Firmansyah lahir pada tanggal 3 April 1975 di rumah sakit Medicine County, sebagai anak dari Willy Mulyadi dan Irma Mulyadi yang bertempat tinggal di Smallville. Willy Mulyadi dengan bangga mendaftarkan kelahiran anak pertamanya tanggal 4 April 1975 di kota Smallville. Firman tumbuh besar menjadi seorang pelajar cemerlang dan lulus dengan sangat baik pada tahun 1993. Setelah kelulusan, ia pergi untuk hidup sendiri di kota Bigtown. Meski Firman pindah pada tanggal 26 Agustus 1994, ia lupa untuk mendaftarkan perubahan alamatnya secara resmi. Hingga akhirnya pada akhir musim, ibunya mengingatkan Firman untuk mendaftarkan kepindahannya, yang kemudian ia lakukan beberapa hari setelahnya yaitu pada 27 Desember 1994. Meskipun Firman memiliki masa depan yang sangat menjanjikan, namun kisahnya berakhir dengan tragis. Firmansyah mengalami kecelakaan tertabrak truk pada 1 April 2001. Yang pada hari itu juga langsung dilaporkan berita kematiannya secara resmi.

    «Menggunakan Database Standar:
    Untuk menyimpan kehidupan Firmansyah di sebuah (non-temporal) tabel database, kita menggunakan table Person(Name,Address). Untuk memudahkan, Name kita buat menjadi primary key dari tabel Person.
    Ayah Firman secara resmi melaporkan kelahiran anaknya pada 4 April 1975. Hal ini berarti pada sebuah kantor di Smallville, dimasukan data berikut ke database pada tanggal saat itu: Person(Firmansyah,Smallville). Perhatikan bahwa tanggalnya sendiri tidak dimasukan ke database. Setelah lulus kemudian Firman pindah, namun ia lupa mendaftarkan alamat barunya. Data milik Firman pada database tidak berubah sampai 27 Desember 1994, yaitu ketika akhirnya ia mendaftar ke kantor di Bigtown. Kantor di Bigtown mengupdate alamatnya di database. Tabel Person saat ini berisi Person(Firmansyah,Bigtown). Perhatikan bahwa informasi alamat Firman di Smallville telah ditimpa. Maka tidak ada cara untuk mengakes informasi yang hilang tersebut melalui database. Setiap kantor yang mengakses databse pada 28 Desember 1994 akan mendapatkan Firman tinggal di Bigtown. Secara teknis: jika sebuah komputer melakukan query SELECT ADDRESS FORM PERSON WHERE NAME=’Firmansyah’ pada 26 Desember 1994, menghasilkan: Smallville. Menjalankan query yang sama pada 2 hari selanjutnya menghasilkan Bigtown.
    Sampai dengan kematian trgaisnya, database akan menyatakan Firman tinggal di Bigtown. Pada 1 April 2001 akhirnya petugas menghapus Firmansyah dari databse. Maka pemanggilan query di atas tidak akan menghasilkan hasil apapun.

    Tanggal
    Yang terjadi di dunia nyata
    Perubahan di Database
    Tampilan di Database
    3 April 1975
    Kelahiran Firman
    Tidak ada
    Tidak ada Person dengan nama Firmansyah
    4 April 1975
    Hendro melaporakan kelahiran anaknya ke kantor secara resmi
    Inserted:Person(Firmansyah, Smallville)
    Firmansyah tinggal di Smallville
    26 Agustus 1994
    Setelah kelulusan, Firman pindah ke Bigtown, namun lupa untuk meregristasikan alamat barunya
    Tidak ada
    Firmansyah tinggal di Smallville
    26 Desember 1994
    Tidak ada
    Tidak ada
    Firmansyah tinggal di Smallville
    27 Desember 1994
    Firman mendaftarkan alamat barunya
    Updated:Person(Firmansyah, Bigtown)
    Firmansyah tinggal di Bigtown
    1 April 2001
    Firman meninggal
    Deleted:Person(Firmansyah)
    Tidak ada Person dengan nama Firmansyah

    Baca Juga :  Tips Menulis Surat Lamaran Kerja

    «Menggunakan Database Temporal dengan Waktu yang Valid:
    Waktu yang valid (valid time) yang berarti waktu sebernarnya di dunia nyata. Pad contoh di atas, tabel Person mendapat dua fields tambahan, yaitu Valid-From dan Valid-To, yang menjelaskan kapan Address seseorang berlaku di dunia nyata. Pada 4 April 1975, Hendro dengan bangga mendaftarkan kelahiran anak pertamanya. Maka petugas akan memasukkan data tersebut ke database yang menjelaskan Firman bertempat tinggal di Smallville sejak 3 April. Perlu diketahui meski data dimasukkan pada 4 April, namun database menjelaskan bahwa informasi tersebut berlaku sejak tanggal 3. Petugas belum mengetahui apakah atau kapan Firman akan berpindah ke tempat lain, sehingga pada field Valid-To di database diisi dengan infinity (∞). Pemasukkan data ke basisdata berupa:
    Person(Firmansyah, Smallville, 3-Apr-1975, ∞).
    Pada tanggal 27 Desember 1994, Firman melaporkan alamat barunya di Bigtown yang sudah ia tinggali sejak 26 Agustus 1994. Petugas di kantor Bigtown tidak merubah alamat milik Firman di database. Sang petugas menambahkan yang baru:
    Person (Firmansyah, Big Town, 26-Aug-1994, ∞).
    Masukan data milik Firman sebelumnya (Firmansyah, Smallville, 3-Apr-1975, ∞) kemudian diupdate (tidak dihapus!). karena diketahui Firman sudah tidak tinggal di Smallville pada 26 Agustus 1994, maka kolom Valid-To dapat terisi. Database kemudian memiliki dua buah entry milik Firman
    Person(Firmansyah, Smallville, 3-Apr-1975, 26-Aug-1994).
    Person(Firmansyah, Bigtown, 26-Aug-1994, ∞).
    Saat Firman meninggal, database diupdate sekali lagi. Entry terbaru akan diupdate menyatakan bahwa Firman tidak tinggal di Bigtown lagi. Tidak ada entry yang ditambahkan karena tidak pernah dilaporkan surge sebagai alamat baru. Maka database sekarang akan seperti ini
    Person(Firmansyah, Smallville, 3-Apr-1975, 26-Aug-1994).
    Person(Firmansyah, Bigtown, 26-Aug-1994, 1-Apr-2001).

    «Menggunakan Database Temporal dengan Waktu Transaksi:
    Waktu transaksi adalah penggunaan database temporal menggunakan waktu pada saat transaksi dilakukan. Dengan ini kita dapat menggunakan queri-queri yang menampilkan status database pada waktu tertentu. Maka ada dua tambahan kolom di tabel Person: Transaction-From dan Transaction-To. Transaction-From merupakan waktu saat transaksi dilakukan, sedangkan Transaction-To adalah waktu transaksi dibatalkan (atau menggunakan tak terhingga jikan belum akan dibatalkan).
    Apakah yang akan terjadi jika alamat seseorang yang ada di database merupakan alamat yang salah? Anggap seorang petugas secara tidak sengaja memasukkan alamat atau tanggal yang salah? Atau, anggap orang yang memasukkan data berbohong ketika memberi informasi untuk keperluan tertentu. Setelah mengetahui data yang benar, maka petugas harus kembali mengupdate database tersebut.
    Sebagai contoh, dari 1 Juni 1995 hingga 3 September 2000 Firmansyah pindah ke Beachy. Namun untuk menghindari membayar pajak kota Beachy yang sangat mahal, Firman tidak pernah melapor ke yang berwewenang. Akhirnya, hal tersebut terungkap pada 2 Februari 2001 saat ada pengecekan pembayaran pajak, bahwa dia sebenarnya tinggal di Beachy selama ini, maka para petugas mengupdate database menjadi seperti ini:
    Person(Firmansyah, Bigtown, 26-Aug-1994, 1-Jun-1995).
    Person(Firmansyah, Beachy, 1-Jun-1995, 3-Sep-2000).
    Person(Firmansyah, Bigtown, 3-Sep-2000, 1-Apr-2001).
    Maka 2 data yang sudah ada di update, dan sebuah data baru dimasukkan menyimpan keberadaannya di Beachy.
    Bagaimanapun, hal ini tidak meninggalkan catatan di database yang menyatakan Firman tinggal di Bigtown dari 1 Juni 1995 hingga 3 September 2000, yang mungkin sangat penting untuk alasan mengaudit data (atau untuk menjadi bukti pada investigasi kantor pajak). Di sini kita dapat melihat waktu transaksinya. Kita harus menyimpan setiap data ketika dimasukkan dan ketika dibatalkan. Maka dari itu, kita memperoleh data seperti berikut:
    Person(Firmansyah, Smallville, 3-Apr-1975,  ∞,           4-Apr-1975,  27-Dec-1994).
    Person(Firmansyah, Smallville, 3-Apr-1975,  26-Aug-1994, 27-Dec-1994, ∞          ).
    Person(Firmansyah, Bigtown,    26-Aug-1994, ∞,           27-Dec-1994, 2-Feb-2001 ).
    Person(Firmansyah, Bigtown,    26-Aug-1994, 1-Jun-1995,  2-Feb-2001,  ∞          ).
    Person(Firmansyah, Beachy,     1-Jun-1995,  3-Sep-2000,  2-Feb-2001,  ∞          ).
    Person(Firmansyah, Bigtown,    3-Sep-2000,  ∞,           2-Feb-2001,  1-Apr-2001 ).
    Person(Firmansyah, Bigtown,    3-Sep-2000,  1-Apr-2001,  1-Apr-2001,  ∞          ).
    Jadi, kita tidak hanya  menyimpan apa yang terjadi di waktu yang berbeda, tetapi kita juga menyimpan data yang berubah secara resmi pada waktu yang berbeda.
    Permasalah utama pada database dengan waktu transaksi adalah saat mengembangkan queri-queri temporal dibawah penggunaan skemanya. Untuk mencapai pengarsipan data yang sempurna, sangat penting untuk menyimpan data dibawah skema awal ketika database dibuat. Namun, sesimpel apapun queri temporal, riwayat sebuah atributnya tetap butuh ditulis manual di setiap versi skemanya, dan mungkin ratusan kasus seperti pada kasus MediaWiki (http://yellowstone.cs.ucla.edu/schema-evolution/index.php/Schema_Evolution_Benchmark). Proses ini membutuhkan usaha yang sangat besar dari pengguna untuk merapihkan database tersebut. Penyelesaian umumnya dilakukan dengan menyediakan penulis queri secara otomatis.
    Sebelum melanjutkan ke topik selanjutnya, perlu diingat satu konsep penting tentang ke presisian waktu yang di simpan di database temporal. Konsep ke presisian dari sebuah database temporal disebut granularity of the time (serpihan waktu). Granularity merupakan unit terkecil durasi waktu yang disimpan pada database temporal kita. Contoh serpihan waktunya yaitu satu hari, satu jam, atau satu detik.
    «Konsep Utama dalam Memahami Database Temporal
    Telah kita ketahui dua tipe waktu utama dalam konsep database temporal, yaitu waktu transaksi (transaction time) dan waktu yang valid (valid time), memungkinkan 3 bentuk database temporal : Historical, Rollback, dan Bitemporal. Sebuah database temporal historical dapatmensuport valid time, tapi tidak dapat menggunakan transaction time. Tipe kedua yaitu rollback database, database ini kebalikannya dari database historical, yaitu menggunakan transaction time dan tidak dapat menggunakan valid time. Rollback database sangat berguna dalam data recovery setelah jika terdapat kerusakan pada temporal database. Sebuah database rollback juga diperlukan jika database tidak di proteksi untuk menjaga keamanan data. Sehingga saat ini pada pasar tingkat dunia, minimal biasanya menyediakan beberapa fitur rollback.
    Temporal database yang sebenarnya adalah database bitemporal. Database ini mensuport keduanya, yaitu transaction time dan valid time, sehingga menghasilkan kombinasi bentuk database historical dan rollback. Database bitemporal mampu mengatasi permasalahan dimensi waktu; dalam tingkat DBMS yaitu transaction time, dalam tingkat data yaitu valid time, dan dalam tingkat user menggunakan user-defined time.
    «Tujuan Utama bagi Database Temporal ( Kemampuan Query )
    Salah satu faktor terpenting dalam menggunakan database yang mensuport dimensi temporal, yaitu kemampuan untuk menjalankan data dengan query. Saat ini yang umum digunakan untuk database conventional (relational) adalah Structured Query Language atau yang biasa kenal dengan SQL. SQL sudah menjadi bahasa standar di industri untuk Relational Database Management Systems (RDBMS) karena kemudahan dalam menggunakannya yang sintaksnya mirip dengan bahasa Inggris langsung. SQL termasuk user friendly dan dapat digunakan untuk berbagai keperluan. Bagaimanapun penambahan element temporal ini meningkatkan kompleksitas query pada data temporal. Dengan penambahan elemen time, dalam kemampuannya saat ini SQL tidak dapat memproses query query tersebut seperti biasanya pada kondisi database klasik (relational). Bahasa query yang baru atau perluasan dari SQL sangat diperlukan di sini. Perlu diketahui, salah satu permasalahan terbesar yang diteliti saat-saat ini adalah di bagian temporal database. Hari-hari ini, tidak sedikit bahasa-bahasa dan perluasan bahasa-bahasa query yang mengajukan dan membahas topik ini. Topik ini cukup memerlukan perhatian khusus, dan salah satu contohnya akan diberikan berikut ini.
    Bahasa query temporal yang baru harus dapat mensuport kemampuan SQL tanpa mengurangi kemampuan sebelumnya. SQL sudah memberi bantuan yang sangat besar dan mendominasi RDBMS saat ini karena, seperti yang kita ketahui sebelumnya, SQL cocok untuk banyak keperluan bisnis dan merupakan bahasa yang user friendly. Salah satu bahasa query yang paling diharapkan adalah bahasa query yang mensuport dimensi waktu dan tetap memungkinkan user memasukan query tanpa menetapkan dimensi waktunya (hal tersebut menhindari biaya lebih). Dan bahasa tersebut bukanlah sebuah bahasa yang baru, melainkan perluasan dari bahasa SQL. Satu contoh yang paling menarik adalah TSQL. TSQL yang merupakan Temporal Structured Query Language dapat berjalan tanpa harus memasukkan kriteria waktu. Karena demikian, ketentuan-ketentuan utama dari query TSQL masih sama dengan ketentuan-ketentuan di SQL: yaitu ‘SELECT’ dan ‘FORM’. Jika perlu juga terdapat ‘WHERE’, ‘GROUP BY’, ‘HAVING’, dan ‘ORDER BY’. Kriteria tambahan pada TSQL dapat berupa ‘WHEN’ atau ‘WHILE’. Kedua nama query tersebut bermaksud menjelaskan perbedaan kondisi waktu. Klausa ‘WHEN’ menjelaskan perincian “sepotong waktu” untuk data yang valid atau tidak valid tergantung hasil yang diinginkan. Saat ini, pengajuan untuk menambahkan TSQL ke ANSI dan ISO milik SQL standar sedang dipertimbangkan oleh pihak-pihak yang mengaudit.
    « Beberapa tipe bisnis
    Setelah membahas teori-teori mengenai database temporal, pada bagian terakhir ini saya akan menggabungkan bagian teori dengan bagian praktiknya langsung mengenai database temporal. Di sini,akan dijelaskan mengenai beberapa tipe bisnis yang dapat mendapat keuntungan lebih dengan bantuan database temporal.
    «Data Warehouse
    Data warehouse atau pergudangan data bukan merupakan bisnis per se (bukan bisnis itu sendiri, tapi mengambil dari bisnis lain). Data warehouse ini merupakan usaha yang sangat luas, yaitu bisnis yang diperuntukan menyimpan seluruh informasi dari beberapa perusahaan. Data warehouse terbukti sangat berguna sebagai tempat penyimpanan informasi yang dikumpulkan dengan tools data mining dan digunakan untuk sumber informasi. Seperti yang sudah kita ketahui, elemen waktu sangat penting untuk berbagai bisnis, dan dalam sebuah data warehouse dimensi waktu dapat disimpan dan digunakan dalam peng query an data. Sebenarnya apa yang data warehouse lakukan dengan adanya database temporal? Menurut Ralph Kimball, setiap data warehouse memiliki dimensi waktu yang membuat setiap data warehouse menjadi database warehouse [Kimball 1997],[Snodgrass 1998].”Dimensi waktu adalah unik dan merupakan dimensi yang kuat dalam setiap kumpulan data dan usaha data warehouse”[Kimball 1997].
    «Laboratorium Ilmiah
    Jenis bisnis yang kedua adalah lab ilmiah (scientific laboratory). Setiap lab tentu melakukan banyak uji coba dan banyak versi untuk percobaan yang sama, dan setiap percobaan sering kali melibatkan urutan waktu yang sangat teliti. Agar informasinya tidak ada yang hilang, tentunya harus disimpan dalam sebuah database. Karena elemen waktu di test ini jelas tidak bisa dihilangkan, sehingga informasi yang disimpan di sini harus disimpan dalam database temporal. Satu keuntungan dalam menyimpan informasi ujicoba ilmiah pada temporal database yang mendukung bahasa query temporal adalah, sebuah pola baru dan pengetahuan baru dapat digali dari basis data [Loomis 1997].
    «Sales dan Marketing
    Kedua bisnis ini sangat berkantung pada temporal database, karena keberhasilan sales dan marketing sangat bergantung pada waktu yang tepat. Waktu untuk pendekatan dengan pelanggan dan kapan untuk mengiklankan  di lokasi tertentu sangat diperlukan, dan kemampuan untuk meramalkan informasi ini jauh lebih baik disediakan database temporal daripada database klasik biasa.
    «Multimedia
    Jenis bisnis yang terakhir adalah multimedia. Multimedia merupakan salah satu area bisnis yang paling cepat berkembang saat ini, terutama melalui jalus internet. Seseorang saat ini dengan mudah menonton film dari internet, dimana gambar video tersebut sudah tersimpan di database multimedia yang harus disinkronisasikan dengan data audio yang mungkin berada di database yang sama atau berbeda. Pengsinkronisasian ini, seperti kata tersebut sendiri, jelas melibatkan elemen waktu. “Karen multimedia berbasis waktu, sinkronisasi sangat di butuhkan. Jika diimplementasikan dengan baik, maka komponen-komponen media tersebut akan ditampilkan dengan ketepatan dari sinkronisasi yang baik[David]”. “Objek-objek multimedia memiliki relasi dan ruang temporary  yang harus dijaga saat ditampilkan beberapa data memiliki batasan waktu nyata (real time) saat menyampaian ke stasiun clien[Ozsu]”. Karena itu, database untuk multimedia, seperti data warehouse, merupakan instance dari database temporal juga.
    Sebagai penutup, akan dibahas sedikit mengenai database temporal di masa mendatang. Dengan meningkatnya persaingan di lingkungan bisnis, pengetahuan akan informasi antar organisasi menjadi sumber yang berharga. Salah satu elemen kunci dari informasi ini adalah dimensi waktu. Untuk mendapatkan informasis ini, dalam bisnis harus digunakan database temporal. Dalam menerapkan kemampuan menyimpan variable waktu pada bisnis yang ada, akan terdapat dua hal yang berpengaruh. Pertama, kebanyakan produsen basis data komersial akan berlomba-lomba memasukkan kemampuan temporal data di produk basis data mereka. Kedua, extension temporal database akan dimasukkan ke ANSI dan ISO SQL standar yang sudah ada. Hal ini akan memungkinkan pengguna untuk mengambil keuntungan dari fitur temporal baru pada produk database yang biasa mereka gunakan. Pada titik ini, sebagian besar dari produsen database komersil akan menggunakan database temporal. Hal ini memungkinkan pengetahuan akan informasi yang lebih lengkap dan lebih baik dapat disimpan dan diambil dari database temporal, yang membuat bisnis-bisnis beralih menggunakan temporal database untuk bersaing dengan bisnis lainnya.

    Bitemporal Database
    Tabel temporal memungkinkan untuk periode waktu yang akan disimpan dalam database. Ini sangat ideal untuk menunjukkan perubahan keadaan obyek . Bitemporal memperluas model ini untuk tidak hanya waktu yang valid, tetapi untuk saat transaksi tambahan model..Transaksi waktu merupakan waktu fisik di mana transaksi terjadi dalam database.
    Ambil contoh kiriman tiba di gudang. Hal ini bisa terjadi pada hari Rabu (yang akan menjadi waktu yang valid bahwa pengiriman itu di gudang). Seorang operator mungkin update sistem pada Kamis untuk negara ketika kiriman tiba. Saat mereka menambahkan catatan ke sistem akan saat transaksi. Apa ini memungkinkan kita untuk menentukan di kemudian hari adalah ketika pengiriman yang diyakini berada di gudang, dan juga ketika pengiriman yang dikenal berada di gudang sesuai dengan database.
    Contoh  - Sebuah Tabel Bitemporal
    Berikut adalah contoh tabel yang merinci Bursa saham di berbagai gudang:
    ID
    Saham
    Qty
    WHouseId
    ValidFrom
    ValidTo
    TrxStart
    TrxEnd
    OperatorId
    101
    Susu
    12
    LOND01
    12/11/2006
    18/11/2006
    13/11/2006
    18/11/2006
    1111
    115
    Telur
    15
    LOND01
    12/11/2006
    23/11/2006
    13/11/2006
    24/11/2006
    1111
    101
    Susu
    5
    LOND01
    18/11/2006
    31/12/9999
    25/11/2006
    31/12/9999
    1201
    101
    Susu
    7
    LOND02
    18/11/2006
    31/12/9999
    25/11/2006
    31/12/9999
    1201
    115
    Telur
    10
    LOND01
    23/11/2006
    31/12/9999
    24/11/2006
    31/12/9999
    1111

    Dari tabel ini kita dapat menentukan informasi seperti:
    • Gudang LOND01 memiliki 12 peti susu di saham antara November-12 dan 18. Pada 7 titik krat telah dihapus dan (mungkin) diserahkan kepada LOND02 gudang.
    • Susu itu diyakini akan dipindahkan pada tanggal 18 November tapi hanya direkam pada tanggal 25.
    • Sampai dengan 23 November ada 15 peti telur di LOND01.Pada hari ini 5 krat telah dihapus.
    • Pada waktu saat ini, ada 5 peti susu dan 10 peti Telur di LOND01, dan 7 peti Susu di LOND02.
    • Kita juga dapat menyimpulkan waktu tunda rata-rata antara ketika sebuah peristiwa terjadi dan ketika login dalam sistem.
    • OperatorId tambahan dapat memberitahu kita yang mencatat setiap transaksi.


    KESIMPULAN
    Basis data (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.
    Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
    Database temporal merupakan database non-relational yang terintegrasi dengan aspek waktu, misalnya model data temporal dan versi temporal dari bahasa query terstruktur. Lebih spesifik lagi aspek temporalnya biasa sudah termasuk waktu yang valid dan waktu transaksi.  Atribut-atribut ini muncul bersamaan pada form data bitemporal.
    • Waktu yang valid ditunjukkan dengan periode waktu kejadian yang sama dengan waktu pada dunia sebenarnya
    • Waktu transaksi adalah periode waktu saat menyimpan suatu kejadian ke database
    • Data bitemporal mengkombinasikan waktu valid dan waktu transaksi
    Tabel temporal memungkinkan untuk periode waktu yang akan disimpan dalam database. Ini sangat ideal untuk menunjukkan perubahan keadaan obyek . Bitemporal memperluas model ini untuk tidak hanya waktu yang valid, tetapi untuk saat transaksi tambahan model..Transaksi waktu merupakan waktu fisik di mana transaksi terjadi dalam database.

    DAFTAR PUSTAKA

    http://www.cs.aau.dk/~csj/Thesis/pdf/chapter1.pdf, waktu akses: 10 Juni 2009
    http://www.csie.ntu.edu.tw/~hh_lee/temporal/introduction.html, waktu akses: 10 Juni 2009
    http://en.wikipedia.org/wiki/Temporal_database, waktu akses: 10 Juni 2009
    http://www.csie.ntu.edu.tw/~tempdb2007/, waktu akses: 10 Juni 2009
    http://citm.utdallas.edu/publications/whitepapers/wp_temporaldb.htm, waktu akses : 24 July 2009
    http://www.dbdebunk.com/page/page/2317382.htm, waktu akses: 23 Juni 2009

    Baca Juga : Tes Potensi Akademik
    Basis Data Non Relasional
    Basis Data Non Relasional - written by hdnetz , published at 06.23.00, categorized as Teknologi Informasi . And have 0 komentar
    No comment Add a comment
    Cancel Reply
    GetID
    Copyright ©2013 Knowledge for Life by
    Theme designed by Damzaky - Published by Proyek-Template
    Powered by Blogger
    -->