Selasa, 05 November 2013

Lingkungan Basis Data

PENDAHULUAN

  • Latar Belakang
     Basis data terdiri dari dua kata yaitu basis dan data. Basis dapat diartikan sebagai tempat berkumpul, markas atau sarang, sedangkan data suatu fakta dari dunia nyata yang mewakili suatu objek seperti kaset ( lagu, penyanyi, pencipta dan lain-lain ) atau kendaraan (mobil, motor, bus, dan lain-lain). Basis data dan lemari kaset memiliki prinsip kerja dan tujuan yang sama, yaitu pengaturan, kemudahan dan kecepatan dalam pengambilan suatu objek.
      Pengaturan yang dilakukan pada lemari kaset merupakan pengaturan secara manual di mana pengaturan tersebut dapat diaplikasikan dalam ke dalam suatu data abstrak yang berisi karakteristik dari suatu kaset dan disimpan didalam suatu basis data atau tempat penyimpanan data tau file. Sehingga perbedaannya ada pada media penyimpanannya. Basis data menggunakan media penyimpanan elektronis sedangkan kaset menggunakan lemari untuk media penyimpanannya. Perbedaan ini akan mengakibatkan perbedaan-perbedaan lainnya seperti jenis metode / cara yang digunakan dalam upaya penyimpanan atau jumlah yang akan disimpan.
     Sebuah basis data dapat dipandang sebagai suatu jenis filing cabinet elektronik yang disebut juga sebuah tempat penyimpanan untuk files data yang terkomputerisasi.
PEMBAHASAN
*   Pengertian Sistem
Sistem berasal dari bahasa latin (systēma) dan bahasa yunani (sustēma) adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi,materi atau energi untuk mencapai suatu tujuan. Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas yang berinteraksi, di mana suatu model matematika seringkali bisa dibuat.
Sistem juga merupakan kesatuan bagian-bagian yang saling berhubungan yang berada dalam suatu wilayah serta memiliki item-item penggerak, contoh umum misalnya seperti negara. Negara merupakan suatu kumpulan dari beberapa elemen kesatuan lain seperti provinsi yang saling berhubungan sehingga membentuk suatu negara dimana yang berperan sebagai penggeraknya yaitu rakyat yang berada dinegara tersebut.
Kata "sistem" banyak sekali digunakan dalam percakapan sehari-hari, dalam forum diskusi maupun dokumen ilmiah. Kata ini digunakan untuk banyak hal, dan pada banyak bidang pula, sehingga maknanya menjadi beragam. Dalam pengertian yang paling umum, sebuah sistem adalah sekumpulan benda yang memiliki hubungan di antara mereka.
*      Pengertian Sistem Basis Data
SISTEM DATABASE adalah suatu sistem penyusunan dan pengelolaan record-record
dengan menggunakan komputer, dengan tujuan untuk menyimpan atau merekam serta
memelihara data operasional lengkap sebuah organisasi/perusahaan, sehingga mampu
menyediakan informasi yang optimal yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan.


*   Komponen Utama Sistem Basis Data
1. Perangkat Keras (Hardware)
2. Sistem Operasi (Operating System)
3. Basis Data (Database)
4. Sistem (Aplikasi/Perangkat Lunak) Pengelola Bisnis Data (DBMS)
5. Pemakai (User)
6. Aplikasi (perangkat lunak) lain (bersifat opsional)[2]
Komponen Utama Database

    Untuk membuat suatu database kalian harus mengetahui komponen-komponen apa saja yang diperlukan dalam membuat database.
Untuk itu saya akan memberitahu komponen-komponen dasar apa saja yang dibutuhkan dalam membuat database.

Perangkat Keras ( Hardware )
    Perangkat keras yang dibuthkan dalam pengolaan database berupa komputer beserta kelengkapannya seperti monitor, memory, keyboard, mouse dan lain-lain.

Data
    Komponen yang akan diolah sehingga bernilai informasi dan dapat dijadikan sebagai bahan pengambilan keputusan.

Perangkat Lunak ( Sotware )
    Aplikasi yang digunakan untuk mengelola database misalnya Visual Basic.

Pengguna ( User )
    Pengguna atau user ini dibagi menjadi 3 bagian yaitu:
1.    Database Manager
Modul program menyediakan antar muka ( Interves ) antara penyimpanan data tingkat rendah dalam databasedengan program aplikasi dan query yang diajukan system database.
2.    Database administrator ( DBA )
Orang yang mempunyai kekuasaan sebagai pusat pengontrol terhadap seluruh system baik data maupun program yang  mengakses data.
3.    Database User
Pemakai database berdasarkan cara berinteraksi terhadap system.
database user ini juga dibagi menjadi  beberapa macam yaitu:
    * Programer Aplikasi
Seorang prefesional computer  yang berinteraksi terhadap system Database dengan penulis program dan menggunakan Data Manipulation Language ( DML ) yang dibuat bahasa pemrograman seperti , bahasa c, pascal cobol, dll. Program – program yang dibuatnya disebut dengan program aplikasi.
    * User Mahir
Pemakai yang berinteraksi  terhadap system database menggunakan fasilitas query yang telah disediakan  oleh DBMS dan telah mahir mengggunakannya.
    * User Umum
Pemakai yang tidak berpengalaman, berinteraksi dengan system database tanpa menulis program dan query, tetapi hanya menjalankan program- program aplikasi yang dibuat oleh Programer Aplikasi.
    * User Khusus
Pemakai yang menulis aplikasi data secara traditional, tetapi untuk keperluan khusus, seperti untuk aplikasi Artificial Intelegen, system pakar, pengolahan dll.

*      Tingkatan Arsitektur Basis Data ANSI-SPARC
  Ada 3 tingkat dalam arsitektur basis data yang bertujuan membedakan cara pandang pemakai terhadap basis data dan cara pembuatan basis data secara fisik. 
 Tingkatan arsitektur basis data,yaitu :
  1. Tingkat Eksternal (External Level)     
  2. Tingkat Konseptual (Conseptual Level)
  3. Tingkat Internal (Internal Level) 
 
 
 
 
Contoh : sebuah file Pegawai yang akan didefinisikan
  • Tingkat Eksternal (External Level)
   Cobol
       01 PEG_REC.
          02 PEG_NO PIC X(6).
          02 DEPT_NO PIC X(4).
          02 GAJI PIC 9(6).
  • Tingkat Konseptual (Conceptual Level)
       PEGAWAI
      NOMOR_PEGAWAI        CHARACTER 6
     NOMOR_DEPT      CHARACTER 4
       GAJI  NUMERIC 6
  •   Tingkat Internal (Internal Level)
FILE_PEGAWAI   LENGTH = 22
PREFIX       TYPE = BYTE (6), OFFSET = 0
EMP#          TYPE = BYTE (6), OFFSET = 6, INDEX = EMPX
DEPT#        TYPE = BYTE (4), OFFSET = 12
PAY    TYPE = FULLWORD, OFFSET = 16 
*   Data Independence
  Tujuan utama dari 3 tingkat arsitektur adalah memelihara kemandirian data (data independence) yang berarti perubahan yang terjadi pada tingkat yang lebih rendah tidak mempengaruhi tingkat yang lebih tinggi.
Ada 2 jenis data independence, yaitu
1. Physical Data Independence
2. Logical Data Independence 
    Prinsip Data independence adalah salah satu hal yang harus diterapkan di dalam pengelolaan sistem basis data dengan alasan-alasan sbb :
1. DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi basis data tanpa mengganggu program-program aplikasi yang sudah ada.
2. Pabrik / agen peralatan / software pengolahan data dapat memperkenalkan produk-produk baru tanpa mengganggu program-program aplikasi yang sudah ada.
3. Untuk memindahkan perkembangan program-program aplikasi .
4. Memberikan fasilitas pengontrolan terpusat oleh DBA demi keamanan dan integritas data dengan memperhatikan perubahan-perubahan kebutuhan pengguna. 
*   Bahasa Dalam DBMS
  DBMS (Database Management systems) adalah kumpulan program yang mengkoordinasikan semua kegiatan yang berhubungan dengan basis data. Dengan adanya berbagai tingkatan pandangan dalam suatu basis data maka untuk mengakomodasikan masing-masing pengguna dalam piranti lunak manajemen basis data biasanya terdapat bahasa-bahasa tertentu yang disebut Data Sub language.
  Data sub language adalah subset bahasa yang dipakai untuk operasi manajemen basis data. Dalam penggunaan biasanya dapat ditempelkan (embedded) pada bahasa tuan rumah (Cobol, PL/1, dsb). Secara umum maka setiap pengguna basis data memerlukan bahasa yang dipakai sesuai tugas dan fungsinya.
Dalam basis data secara umum dikenal 2 data sub language, yaitu:
1. Data Definition Language (DDL)
2. Data Manipulation Language (DML)
Ada 2 jenis DML,yaitu :
1. Procedural DML
2. Non Procedural
    Programmer aplikasi menggunakan bahasa-bahasa seperti Cobol, Informix, dll (host language) yang ditempelkan dengan bahasa yang dipakai dalam DBMS. Pemakai terminal menggunakan bahasa Query (misal SQL) atau menggunakan program aplikasi (yang dirancang oleh programmer). Sedangkan DBA lebih banyak menggunakan bahasa DDL dan DML yang tersedia dalam DBMS.
  • Model Data
   Model data adalah kumpulan konsep yang terintegrasi yang menggambarkan data, hubungan antara data dan batasan-batasan data dala suatu organisasi. Fungsi dari sebuah model data untuk merepresentasikan data sehingga data tersebut mudah dipahami.
Untuk menggambarkan data pada tingkat eksternal dan konseptual digunakan model data berbasis objek atau model data berbasis record.
1. Model Data Berbasis Objek
    Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar entitas. Beberapa jenis model data berbasis objek yang umum adalah :
       - entity-relationship
       - semantic
       - functional
       - object-oriented
2. Model Data Berbasis Record
     Pada model data berbasis record, basis data terdiri dari sejumlah record dalam bentuk yang tetap yang dapat dibedakan dari bentuknya. Ada 3 macam jenis model data berbasis record yaitu :
          - Model data relasional (relational)
          - Model data hierarkhi (hierarchical) 
- Model data jaringan (network)
   Model data jaringan dikenal sebagai STRUKTUR PLEX .

*   Fungsi DBMS
Layanan-layanan yang sebaiknya disediakan oleh database management system  adalah :
1.  Penyimpanan, pengambilan dan perubahan data
2.  Katalog yang dapat diakses pemakai
3.  Mendukung Transaksi
4.  Melayani kontrol concurrency
5.  Melayani recovery
6.  Melayani autorisasi
7.  Mendukung komunikasi data
8.  Melayani integrity
9.  Melayani data independence
10. Melayani utility
*      Komponen DBMS
 
Penjelasan
   1. Query Processsor
     Komponen yang merubah bentuk query ke dalam instruksi tingkat rendah ke database manager .
  2. Database Manager
    Database manager menerima query dan menguji skema eksternal dan konseptual untuk menentukan apakah record-record dibutuhkan untuk memenuhi permintaan. Kemudian DM memanggil file manager untuk menyelesaikan permintaan .
  3. File Manager
    Memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpanan pada disk.
  4. DML Preprocessor
   Modul yang merubah perintah DML embedded ke dalam Program aplikasi dalam bentuk fungsi-fungsi yang memanggil dalam host language.
  5. DDL Compiler
    Merubah perintah DDL menjadi kumpulan tabel yang berisi metadata.
  6. Dictionary Manager
   Mengatur akses dan memelihara data dictionary. Data dictionary diakses oleh komponen DBMS yang lain.
 *   Komponen Software Utama Database Manager
 
 

Komponen software utama database manager adalah :
1. Authorization Control
   Modul yang memeriksa apakah pemakai mempunyai wewenang untuk menyelesaikan operasi .
2. Command Processor
 Memeriksa apakah pemakai mempunyai wewenang untuk menyelesaikan operasi .
3. Integrity Checker
 Untuk semua operasi yang merubah basis data, integrity checker memeriksa operasi yang diminta memerlukan batasan integritas.
4. Query Optimizer
  Modul ini menentukan strategi yang optimal untuk eksekusi query.
5. Transaction Manager
  Modul ini mengerjakan proses-proses yang dibutuhkan operasi yang diterima transaksi 
6. Scheduler
  Modul ini bertanggung jawab untuk menjamin operasi secara bersamaan terhadap basis data sehingga berjalan tanpa ada masalah antara yang satu dengan yang lain.
7. Recovery Manager
  Modul ini menjamin basis data tetap konsisten walaupun terjadi kerusakan.
8. Buffer Manager
  Modul ini bertanggung jawab terhadap pemindahan data antara main memory dan secondary storage, seperti disk dan tape.
*   Arsitektur DBMS Multi User

  •  Teleprocessing
   Arsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal.
 
  • File-Server
     Proses didistribusikan ke dalam jaringan sejenis LAN (Local Area Network). File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan pada masing-masing workstation tetapi tetap meminta file dari file server jika diperlukan.
  

Kerugian arsitektur file-server adalah :

  • Terdapat lalulintas jaringan yang besar.
  •    Masing-masing workstation membutuhkan copy DBMS .
  • Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan .
  •  Client Server
      Untuk mengatasi kelemahan arsitektur-arsitektur di atas maka dikembangkan arsitektur client-server. Client-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem.
Sesuai dengan namanya, ada sebuah pemroses client yang membutuhkan sumber dan sebuah server yang menyediakan sumbernya. Tidak ada kebutuhan client dan server yang harus diletakkan pada mesin yang sama. Secara ringkas, umumnya server diletakkan pada satu sisi dalam LAN dan client pada sisi yang lain. 
 

Ada beberapa keuntungan jenis arsitektur ini adalah :
  • Memungkinkan akses basis data yang besar
  •  Menaikkan kinerja
  •   Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU yang berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah merubah mesin server jika hanya memproses basis data.
  •  Biaya untuk hardware dapat dikurangi
  •  Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk menyimpan dan mengatur basis data  
  •   Biaya komunikasi berkurang
  • Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian yang dibutuhkan untuk akses basis data melewati jaringan, menghasilkan data yang sedikit yang akan dikirim melewati jaringan
  •  Meningkatkan kekonsistenan
  • Server dapat menangani pemeriksaan integrity sehingga batasan perlu didefinisikan dan validasi hanya di satu tempat, aplikasi program mengerjakan pemeriksaan sendiri
  •   Map ke arsitektur open-system dengan sangat alami     
 
 
 
*      Abstraksi Data
Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface) kepada user.untuk itu system tersebut akan menyembunyikan detail tentang bagaimana data disimpan dan dipelihara, sehingga data yang terlihatoleh user sebenarnya berbeda dengan yang tersimpan secara fisik.
Abstraksi data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana sebenarnya data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang sebenarnya dihadapi oleh pengguna sehari-hari.Sebuah DBMS seringkali menyembunyikan detail tentang bagaimana sebuah data disimpan dan dipelihara (diolah) dalam sebuah sistem database, dengan tujuan untuk memudahkan pengguna dalam menggunakan DBMS tersebut. Karena itu seringkali data yang terlihat oleh pemakai sebelumnya berbeda dengan yang tersimpan secara fisik.
*   Data Dictionary
Data dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam basis data. Data dictionary biasa disebut juga dengan metadata atau data mengenai data. Modul pengontrol otorisasi menggunakan data dictionary untuk memeriksa apakah seorang pemakai perlu mempunyai wewenang.
Untuk mengerjakan pemeriksaan tersebut data dictionary menyimpan :
   • Nama-nama pemakai yang mempunyai wewenang untuk menggunakan DBMS
   Nama-nama data item yang ada dalam basis data
  Data item yang dapat diakses oleh pemakai dan jenis akses yang diijinkan,   misalnya: insert, update, delete atau read
  Sedangkan untuk memeriksa integritas data, data dictionary menyimpan :
  Nama-nama data item dalam basis data
  Jenis dan ukuran data item
  Batasan untuk masing-masing data item 
     Sistem data dictionary dapat dibedakan atas sistem aktif dan pasif. Sistem aktif selalu konsisten dengan struktur basis data karena secara otomatis dikerjakan oleh sistem. Sebaliknya, sistem pasif tidak konsisten terhadap perubahan basis data yang dilakukan oleh pemakai.

*   Keuntungan Perangkat Lunak Basis Data

Keuntungan mengelola dokumen dengan perangkat lunak basis data, yaitu:
  • Integrasi
Dengan perangkat lunak basis data, data tidak disimpan di dokumen yang berbeda. Istilahnya, terintegrasi. Sehingga, alamat anda hanya perlu dicatat satu kali, dan semua kantor administrasi bisa mengakses informasi yang sama.
  • Integritas Data Meningkat
Integritas data berarti data itu akurat, konsisten, dan terbaru. Dalam perangkat lunak basis data, berkurangnya pengulangan data berarti meningkatkan kesempatan integritas data karena semua perubahan hanya dilakukan di satu tempat. Selain itu, banyak perangkat lunak basis data menyediakan sistem cek bawaan yang membantu memastikan akurasi data yang dimasukkan. Ungkapan "garbage in, garbage out" (disingkat GIGO) menunjukkan bahwa sebuah basis data dengan data yang tidak benar tidak akan bisa menghasilkan informasi yang benar.
  • Keamanan Data Meningkat
Meskipun berbagai departemen bisa berbagi pakai data, namun akses ke informasi bisa dibatasi hanya untuk pengguna tertentu. Hanya dengan menggunakan password maka informasi finansial, medis, dan nilai mahasiswa dalam basis data sebuah universitas tersedia hanya bagi mereka yang memiliki hak untuk mengetahuinya.
  • Kemudahan Memelihara Data
Perangkat lunak basis data menawarkan prosedur standar untuk menambahkan, mengedit, dan menghapus rekaman, juga untuk memvalidasi pemeriksaan untuk memastikan bahwa data yang tepat sudah dimasukkan dengan benar dan lengkap ke dalam masing-masing jenis field. Pelayanan backup data membantu memastikan tersedianya data jika terjadi kegagalan sistem primer.
KESIMPULAN
Basis data (database) adalah kumpulan dari berbagai data yang saling berhubungan satu dengan yang lainnya. Basis data tersimpan di perangkat keras, serta dimanipulasi dengan menggunakan perangkat lunak. Pendefinisian basis data meliputi spesifikasi dari tipe data, struktur dan batasan dari data atau informasi yang akan disimpan. Database merupakan salah satu komponen yang penting dalam sistem informasi, karena merupakan basis dalam menyediakan informasi pada para pengguna atau user.
          • Penyusunan basis data meliputi proses memasukkan data kedalam media penyimpanan data dan diatur dengan menggunakan perangkat Sistem Manajemen Basis Data (Database Management System DBMS). Manipulasi basis data meliputi pembuatan pernyataan (query) untuk mendapatkan informasi tertentu, melakukan pembaharuan atau penggantian (update) data, serta pembuatan report data
 Tujuan utama DBMS adalah untuk menyediakan tinjauan abstrak dari data bagi user. Jadi sistem menyembunyikan informasi mengenai bagaimana data disimpan dan dirawat, tetapi data tetap dapat diambil dengan efisien. Pertimbangan efisien yang digunakan adalah bagaimana merancang struktur data yang kompleks, tetapi tetap dapat digunakan oleh pengguna yang masih awam, tanpa mengetahui kompleksitas struktur data. Basis data menjadi penting karena munculnya beberapa masalah bila tidak menggunakan data yang terpusat, seperti adanya duplikasi data, hubungan antar data tidak jelas, organisasi data dan update menjadi rumit. Jadi tujuan dari pengaturan data dengan menggunakan basis data adalah :
  •  Menyediakan penyimpanan data untuk dapat digunakan oleh organisasi saat sekarang dan masa yang akan datang.
  •  Kemudahan pemasukan data, sehingga meringankan tugas operator dan menyangkut pula waktu yang diperlukan oleh pemakai untuk mendapatkan data serta hak-hak yang dimiliki terhadap data yang ditangani. 
  • Pengendalian data untuk setiap siklus agar data selalu up-to-date dan dapat mencerminkan perubahan spesifik yang terjadi di setiap sistem. 
  • Pengamanan data terhadap kemungkinan penambahan, pengubahan, pengerusakan dan gangguan-gangguan lain.
Daftar Pustaka
Connoly, Thomas; Begg, Carolyn; Strachan, Anne; Database Systems : A Practical Approach to Design, Implementation and Management, 3rd edition, Addison Wesley, 2001.
Korth, H.; Database System Concept, 4th edition, Mc Graw Hill, New York, 1991.
http://fardian.mhs.uksw.edu/2013/01/pengertian-sistem-basis-data-database.html
http://id.wikipedia.org/wiki/Perangkat_lunak_basis_data