Kamis, 20 Desember 2012

SUBQUERY, SQL, DAN OPTIMASI QUERY

haiii guys... jumpa lagi sama nha disini,,,sekarang nha mau bagi materi lagi nih..kali ini tentang"SUBQUERY, SQL, dan Optimasi Query"..
kalian tau apa itu subquery???

Pengertian Subquery

            Subquery merupakan statement SELECT yang dilampirkan sebagai klausa SQL statement yang lain. Dengan kata lain Subquery adalah query didalam query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui.
artinya dengan  memakai   subquery   kita   dapat    mempersingkat    perintah   dan    menggunakan    fungsi   logika  yang  lebih   mudah  dipahami  daripada  query  biasa. Subquery ini dapat diletakkan pada WHERE klausa, FROM klausa, dan SELECT klausa.
Adapun syntak penulisan subquery yaitu sebagai berikut:
SELECT select_list
FROM table
WHERE expr operator
(SELECT select_list
FROM table);
contoh:
misal dalam suatu database terdapat tabel "mahasiswa", "ambilMK", "makul". perintah untuk menampilkan nama dan nilai mahasiswa yang nilainya diatas rata-rata pada salah satu mata kuliah. Untuk menyelesaikan persoalan itu kita bisa menggunkan syntak berikut:
SELECT mahasiswa.nama, ambilMK.nilai FROM mahasiswa, ambilMK WHERE mahasiswa.NIM=ambilMK.NIM AND ambilMK.nilai > (SELECT avg(nilai) FROM ambilMK where kodeMK='M01');

Seperti yang sudah saya sebutkan tadi, yaitu mengenai peletakan subqueqy. subquery bisa diletakan pada WHERE klausa. WHERE klausa ini paling banyak digunakan, subquery ini disebut NESTED QUERY. kemudian yang kedua FROM query, subquery ini dinamakan INLINE VIEWES, dan yang ketiga SELECT klausa, subquery yang diletakkan pada SELECT klausa harus yang bersifat singel value.Oleh karena  itu Aggregate function seperti SUM, COUNT, MIN, MAX biasanya digunakan pada subquery jenis ini.

Structured Query Language (SQL)

      Structured Query Language (SQL) ini adalah sebuah bagian dari sejumlah DBMS, seperti MYSQL, Oracle, dan sebagainya. SQL ini dapat digunakan baik secara berdiri sendiri maupun diletakkan pada bahasa-bahasa lain, seperti C++, C,dll. SQl ini juga mempunyai elemen-elemen dasar, seperti:
a. Pernyataan
    Pernyataan yang dimaksud disini adalah perintah SQL yang meminta sesuatu tindakan kepada DBMS, seperti DELETE (untuk menghapus), SELECT (untuk memilih atau menampilkan baris atau kolom, juga bisa menampilkan semua isi tabel), UPDATE (untuk mengubah atau mengedit nilai pada sebuah tabel), dan masih banyak lagi pernyataan yang lain.
b. Nama
    Nama ini digunakan sebagai identitas bagi objek-objek pada DBMS.
c. Konstanta
    Konstanta menyatakan nilai yang tetap.
d. Aggregate function
    Aggregate function merupakan sebuah subprogram dimana jika dipanggil akan menghasilkan suatu nilai, fungsi ini digunakan untuk malakukan summary, fungsi satatistika standar yang dikenakan pada suatu tabel atau query. Aggregate function ini, seperti AVG, MAX, MIN, SUM, COUNT.

Optimasi Query

           Optimasi query merupakan suatu proses untuk menganalisis dan menentukan sumber apa saja yang digunakan oleh query tsb dan apakah penggunaan dari sumber tsb dapat dikurangi tanpa merubah output. Tujuan dari optimasi query ini adalah untuk menentukan jalan akses yang temudah untuk meminimalisir waktu. Optimasi query dipengaruhi oleh faktor optimasi aplikasi dan penggunaan cluster dan index.
a. Optimasi Aplikasi
    Dalam pembuatan aplikasi, yang diperhatikan adalah akses data itu sendiri, apakah akses data sudah efisien apa belum. Efisien dalam hal ini mencakup index dan cluster, dan bagaimana database itu didesain. desain database maksudnya, apakah database sudah melakukan normalisasi data secara tepat. Misalnya tabel yang hubungannya 1-1 labih baik disatukan dalam satu tabel.
b. Cluster dan Index
     Dari tadi sudah berbicara tentang cluster, mungkin teman-teman masih bingung apa itu cluster. Cluster merupakan suatu segment yang menyimpan data dari tabel yang berbeda dalam struktur fisik yang berdekatan. penggunaan cluster yaitu setelah menganalisa tabel-tabel mana saja yang sering di-query secara bersama-sama menggunakan perintah SQL. Jika aplikasi sering melakukan query pada klausa SELECT, maka harus digunakan index yang melibatkan kolom tersebut.

Sabtu, 24 November 2012

DEPENDENCY DAN NORMALISASI

FUNCTION DEPENDENCY..???
NORMALISASI..???
 
       Mungkin dari temen-temen masih ada yang belum tau, apa itu function dependency. Dependency itu berasal dari kata dependece yang artinya ketergantungan. Jadi function dependency itu artinya fungsi ketergantungan. ok setelah kita tau apa itu function dependency secara umum,selanjutnya kita akan membahas mengenai funtion dependency secara lebih lanjut.
       Function dependency itu menggambarkan suatu hubungan antar atributte dalam suatu relasi. attribut itu dikatakan sebagai fungsi ketergantungan jika kita menggunakan attribute tersebut untuk menentukan harga attribut lain. Fungsi ketergantungan(funtion dependency) ini dilambangkan dengan simbol --> .
contoh:
Dalam suatu database terdapat data mahasiswa dengan attribut : NIM, nama_mhs, nama_orangtua. karena nama_mhs tergantung pada NIM, dan nama_orangtua tergantung pada nama_mhs. maka relasinya adalah seperti berikut: NIM--> nama_mhs dan NIM --> nama_orangtua.

Macam-Macam Functional Dependency
1. Full functional dependency
suatu relasi dikatakan full funtional dependency jika dalam relasi tersebut terdapat attribut yang saling bergantungan, misal attribut X dan Y, dimana attribut Y memiliki ketergantungan secara penuh pada attribut X(bukan subset X).
{NIM, nama_mhs} --> nama_orangtua
relasi diatas bukan termasuk full funtion dependency karena attribut nama_mhs merupakan subset. attribut nama_mhs itu sendiri tergantung pada attribut NIM. jadi jika attribut nama_mhs itu dihilangkan menjadi:
NIM--> nama_orangtua
maka relasi tersebut sudah bisa dikatakan full funtion dependency.
2. Partially dependency
ini merupakan kebalikan dari full funtion dependency. pada jenis ini kita bisa menghilangkan slah satu attribut, tanpa menghilangkan ketergantungan antar attribut, dan atribut Y memiliki dependence(ketergantungana) pada subset X.
3. Transitive dependency 
transitive dependency ini merupakan salah satu funtional dependency dimana keterhubungan anatara 3 relasi saling berkaitan.
contoh: dalam suatu database terdapat relasi X,Y,Z. dinotasikan seperti ini
X-->Y dan Y-->Z. jika kita ingin mengaitkan  relasi X-->Z, maka kita harus melibatkan relasi Y.

ya, mungkin cuma itu yang bisa saya sampaikan mengenai dependency. selanjutnya saya akan membahas tentang "NORMALISASI". apakah kalian semua tau, apa itu normalisasi??

Normalisasi yaitu suatu proses untuk mendapatkan struktur tabel yang efisien dan untuk mengahsilkan suatu relasi berdasarkan sifat-sifat yang kita inginkan.

Langkah-Langkah Normalisasi

1. 1NF(First Normal Form)

First Normal Form merupakan suatu relasi dimana setiap irisan antara baris & kolom berisikan satu & hanya akan menghsilkan satu nilai.
Langkah perubahan dari UNF ke1NF:
- Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalizied.
- Identifikasi grup yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut
- Hapus grup yang berulang dengan cara memasukkan data yang semestinya ke dalam kolom yang kosong pada baris yang berisikan data yang berulang atau dengan cara menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya  ke dalam relasi terpisah.

2. 2NF(Second Normal Form)
langkah normalisasi yang kedua ini merupakan suatu relasi dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada primary key.
Langkah perubahan dari 1NF ke 2NF yaitu:
- Mengidentifikasi primary key untuk relasi 1NF.
- Mengidentifikasi functional dependency dalam relasi.
- Jika terdapat partial dependency terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.

3. 3NF(Third Normal Form)
Dan yang terkahir(3NF) ini merupakan sebuah relasi dalam 1NF dan 2NF dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitive dependent pada primary key.
Langkah-langkah perubahan dari 2NF ke 3NF:
- Mengidentifikasi primary key dalam relasi 2NF.
- Mengidentifikasi functional dependency dalam relasi.
- Jika terdapat transitive dependency terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.

Sebenarnya masih ada langkah normalisasi yang lain, kurang lebih 2 atau 3 point lagi. tapi baru 3langkah ini yang saya pahami. insyaallah langkah-langkah lainnya akan menyusul pada posting berikutnya.

                                        
                                                   SEE YOU NEXT TIME.. ^___^



Kamis, 15 November 2012

Query Languages

Nah, pengen posting lagi nih kali ini tentang query languages, semoga bermanfaat ..!!

QUERY LANGUAGES
            Relational Query Languages
ERD --> MODEL DATA RELATIONAL --> QUERY LANGUAGES
Query languages adalah sebuah bahasa special yang meminta pertanyaan atau perintah yang akan melibatkan data dalam database.
 
Ada 2 jenis Query Languages, yaitu :
  1.  Procedural : user menginstruksikan ke sistem agar membentuk serangkaian operasi ke dalam  basis data untuk mengeluarkan hasil yang diinginkan. Contoh : Aljabar Relational yang terdiri dari operasi dasar dan operasi tambahan. 
  2.  Non-Prosedural : hanya menampilkan informasi. Contoh : Kalkulus Relational.
Jenis Operasi dalam Aljabar Relational :
  • Operasi Unary
  • Operasi Binary

Terdapat beberapa operasi dasar dalam aljabar relasional, yaitu: 
1.    Selection ( σ ) 
    Selection / Select (σ ), adalah operasi untuk menyeleksi tupel – tupel yang memenuhi suatu  predikat, kita dapat menggunakan operator perbandingan (<,>,>=,<=,=,#) pada predikat. Beberapa predikat dapat dikombinasikan menjadi predikat manjemuk menggunakan penghubung AND ( ) dan OR ( ).
Sintaks : σnamafield=’kondisi penentu’ (nama relasi)  


      2.    Projection ( π )
Projection / Project ( π ), adalah operasi untuk memperoleh kolom – kolom tertentu. Operasi project adalah operasi unary yang mengirim relasi argumen dengan kolom – kolom tertentu. Karena relasi adalah himpunan, maka baris – baris duplikasi dihilangkan.
Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
π colum1,…,column ( tabel)

3.      Cartesian – product ( X, juga disebut sebagai cross product )
Cartesian-product ( X ), adalah operasi untuk menghasilkan table hasil perkalian kartesian.
Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
R X S = {(x,y) | xR dan yS}
Operasi cartesian-product memungkinkan kita mengkombinasikan informasi beberapa relasi, operasi ini adalah operasi biner. Sebagaimana telah dinyatakan bahwa relasi adalah subset hasil cartesian-product dan himpunan domain relasi – relasi tersebut. Kita harus memilih atribut – atribut untuk relasi yang dihasilkan dari cartesian-product.
  

4.      Union ( ) 
Union ( ), adalah operasi untuk menghasilkan gabungan table degan syarat kedua table memiliki atribut yangsama, yaitu domain atribut ke-i masing – masing table harus sama. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
                             R S = {x | xR atau X S} 
Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang sama sehingga jumlah komponennya sama. 


5.      Set – difference ( - )
Set-difference ( -- ), adalah operasi untuk mendapatkan table pada suatu relasi, tapi tidak ada pada relasi yang lainnya. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
                R – S = { x | xR dan X S}
Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang tidak sama yang akan ditampilkan, artinya adalah atribut R yang tidak ada di S akan ditampilkan, sedangkan atribut yang sama tidak ditampilkan.
6.      Rename ( ρ )
Rename ( ρ ), adalah operasi untuk menyalin table lama kedalam table yang baru. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
ρ [nama_table] (table_lama)
cukup dulu ya buat materinya, See you..

Minggu, 28 Oktober 2012

Transformasi Model Data

          Uummm udah lama rasanya ga posting.. sekarang saya mau bahas mengenai transformasi model data nih.. Tapi sebelum membahas transformasi model data, saya akan membahas sedikit masalah varian entitas dan agregasi.

Varian entitas dibagi menjadi 2, yaitu:
  • entitas kuat
         entitas kuat ini tidak memilki ketergantungan dengan entitas lainnya.
  • entitas lemeh
        sedangkan entitas lemah ini memiliki ketergantungan dengan entitas lain dan tidak memiliki atribut yang dapat berfungsi sebagai key ettribute.

Agregasi
Agregasi menggambarkan sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD.

      Nah selanjutnya saya akan membahas masala Transformasi Model Data. Dalam transformasi model data ke dalam basis data fisik ERD dipresentasikan menjadi sebuah basis data secara fisik. sedangkan komponen ERD ditransformasikan menjadi tabel, dan attribut-attribut yang melekat dinyatakan sebagai field dari tabel tersebut.
contoh:

Macam-macam relasi

1. relasi one-one
relasi one to one ini adalah relasi yang menghubungkan dua buah himpunan entitas yang direpresentasikan dalam bentuk penyertaan atribut-atribut relasi ke tabel yang mewakili salah satu dari kedua himpunan entitas.

2. relasi one-many
relasi one-many(satu ke banyak) adalah relasi yang menghubungkan satu entitas pertama dengan banyak entitas kedua.
contoh : relasi antara dosen wali dengan mahasiswa.
mengapa disebut relasi one to many??
karena satu dosen bisa berhubungan dengan satu atau lebih mahasiswa.

3. relasi many-one
relasi many-one ini adalah kebalikan dari relasi one to many, yaitu relasi yang menghubungkan banyak entitas pertama dengan satu entitas kedua.
contoh : banyak mahasiswa hanya memiliki satu disen wali.

4. relasi many-many
 relasi many-many(banyak ke banyak) merupakan relasi yang menghubungkan banyak pada entitas pertama dengan banyak pada entitas kedua.
contoh : relasi antara mahasiswa dengan mata kuliah.
contoh diatas disebut relasi many to many karena satu mahasiswa bisa saja mengambil lebih dari satu mata kulaih, dan satu mata kuliah bisa saja diambil oleh lebih dari satu mahasiswa.


Implementasi Himpunan Entitas Lemah & Sub Entitas

        Implementasi himpunan entitas lemah sebenarnya hampir sama dengan himpunan entitas kuat. Hanya saja pada himpunan entitas lemah hanya dapat ditranformasikan menjadi sebuah tabel dengan menyertkan pula atribut key dari hasil implementasi himpunan entitas lemah tersebut.



ya mungkin cuma itu yang bisa saya sampaikan...
see you next time... :)

Kamis, 04 Oktober 2012

Model Data Relationship

Model data relation..????
ya kali ini, saya akan membahas tentang model data relation. pertama kita harus tahu dulu, apa itu model data relationship.
           Model data relation ship adalah kumpulan tabel berdimensi dua dengan masing-masing relasi(relation) dan tersusun atas tuple (baris) dan atribut (kolom) pada suatu basis data. model data ini sering dijadikan acuan dalam merancang suatu sistem basis data. Relasi menunjukan adanya hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.

Ada juga nih istilah-istilah dalam basis data relation:
  • Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan baris
  • Atribute merupakan kolom pada sebuah relasi
  • Tuple merupakan baris pada sebuah relasi
  • Domain merupakan seluruh kemungkinan nilai yang dapat diberikan ke suatu atribut. Mendefinisikan domain dengan cara: memberi nama domain yang sesuai dengan nilai, menentukan tipe data dari nilai tersebut, kemudian menentukan format domain.
  • Degree merupakan jumlah atribute dalam sebuah relasi 
  • Cardinality merupakan jumlah tuple dalam sebuah relasi.

Relation Key
  • Candidate key, digunakan untuk membedakan antara suatu baris dengan baris lainnya.
  • Primary key, candidate key yang digunakan untuk mengidentifikasikan tipe yang unik pada suatu relasi.
  • Alternate key, candidate key yang tidak menjadi primery key.
  • Forigein key, atribute suatu relasi yang merujuk ke primary key relasi lain

Batasan integritas
          Batasan integritas ini maksudnya adalah batasan yang diberikan terhadap suatu relasi.  Ditetapkan ketika schema didefinisikan, kemudian dicek ketika relasi dimanipulasi.
Adapun aturan-aturan integritas relasinya, antara lain:
  • Null, nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris(tuple) tersebut digunakan untuk menyatakan atau mengisi atribut yang nilainya belum atau tidak ada.
  • Entity integrity, tidak ada satu komponen primary key yang bernilai null.
  • Referntial integrity, garis yang menghubungkan satu tabel dengan tabel lain.


LATIHAN 1


Tentukan relation key-nya!
jawab:
  1. Primery key : account-number, loan-number, customer-name, branch-name
  2.  Alternate key: branch-city, customer-city
  3. Candidate key : account-number, loan-number, branch-name, branch-city, customer-name, customer-city
  4. Foreign key : loan-number, account-number


LATIHAN 2

  1. Siswa, pelajaran, guru dengan minimal masing-masing tabel mempunyai 5 tuple
  2. Buatlah tabel baru untuk keterhubungannya
  3. Tunjukan atribut kunci yang ada
  4. EDR 

jawab:

  1. a. Tabel Siswa
          b. Tabel Guru

          c. Tabel Mata Pelajaran



   
     2. Tabel Keterhubungan


     3. Atribut kunci yang digunakan:
  • Primary key : NIS, NIP, Kode
  • Alternate key : Nama-siswa, nama-guru, matapelajaran
  • Candidate key : NIM, nama-siswa, NIP, nama-dosen, kode, matapelajaran
  • Foreigen key : NIS, NIP, kode

     4. EDR








                                yaaaa....inilah materi aku kali in, semoga bermanfaat.... ^_^
                                                                 SEE YOU... ^_^



Kamis, 27 September 2012

Entity Relationship Diagram


(21 September 2012)

Haii..jumpa lagi guys, aku mau berbagi materi lagi nih, semoga bermanfaat buat temen-temen semua. Materi kali ini yaitu tentang Entity Relationship.

Entity Relathionship dibagi menjadi 2, yaitu:
 
   1. ERM (Entity Relathionship Model)
       ERM ini belum bisa diaplikasikan dalam basis dat sebenarnya. 

   2. ERD (Entity Relationship Diagram)
       ERD merupakan diagram yang mengekspresikan struktur logis sebuah basis data, menggambarkan hubungan antar entitas.

       Entitas itu sendiri adalah objek yang dapat dibedakan dari objek yang lain.
       Contoh:
       Manusia: Makasiswa, Dosen, Guru, dll
      Tempat : Kampus, Sekolah, Rumah, dll

       Entity set, merupakan kumpulan entitas yang mempunyai tipe data yang sama.properti descriptif yang dimilki oleh semua anggota dari set entitas. Setiap atribut pada entitas memilki kunsi atribute yang bersifat unik (primery key).
      Contoh: 
      Mahasiswa :Nama, NIM, TTL, Alamat
      pada contoh diatas Primery key nya adalah NIM.

      Value set, merupakan kumpulan nilai yang dapat dimasukan pada setiap attribute, kumpulan nilai yang dapat dimiliki oleh attribute dari suatu entitas.

      Jenis-Jenis Attribute
  1. Atomatic attribute, attribute ini hanya mempunyai satu komponen tunggal dan tidak bisa diurai.
  2. Komposit, terdiri dari beberapa attribute dan bisa di urai.contoh: entity mahasiswa mempunyai alamat entity berupa alamat rumah, kota, dan kode pos.
  3. Attribute tunggal, hanya memepunyai satu nilai untuk entitas tertentu. Contoh: attribute jenis kolom pada entity mahasiswa.
  4. Berharga banyak(Multi valued), terdiri dari sekumpulan nilai untuk suatu entitas tretentu. Contoh: Hobi. 
  5. Derived, tidak berasal dari satu entitas tetapi berasal dari attribute lain. Contoh: attribute umur, dapat dihasilkan dari attribute tanggal lahir.
Cardinality Ratio, menjelaskan jumlah keterhubungan.
  • One to one, artinya satu entitas A berhubungan paling banyak dengan satu entitas B dan sebaliknya.
  • One to many, artinya suatu entitas di A dihubungkan dengan sejumlah entitas di B.
  • Many to many, artinya suatu entitas A dapat berhubungan dengan banyak entitas B dan selabihnya.
Tahap Pembuatan ERD
  1. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat.
  2. Mennetukan attribute dari setiap entity
  3. Menentukan attribute primary key dari setiap entity.
  4. Menentukan relationship antar entity.
  5. Menentukan attribute dari relationship.
  6. Cardionality
  7. Menentukan participantion constrat. 



                                   CUKUP SEKIAN DAN TERIMAKASIH... ^_^






Sabtu, 15 September 2012

Lingkungan Basis Data

Hai guys, pertemuan kemarin aku dapet sedikit materi lagi nih, dan sekarang aku pengen share sama kalian.... SELAMAT MEMBACA.... :)


Data adalah sesuatu yang belum mempunyai arti atau makna dan masih memerlukaan suatu pengolahan. Data itu sendiri bisa berupa angka, huruf, kejadian, dll.
 apa hubungan antara data dan informasi..??
Seperti yang sudah dijelaskan diatas bahwa data adalah fakta mentah yang belum diolah untuk mempunyai makna. sedangkan informasi merupakan hasil pengolahan dari sebuah model atau formasi dari sebuah data yang memiliki nilai tertentu dan sudah mempunyai makna atau arti. Dalam hal ini, data bisa dianggap sebagai objek dan informasi adalah suatu subjek. Informasi bisa disebut sebagai hasil pengolahan ataupun pemrosesan data.

Objektif Basis Data 
1. kecepatan dan kemudahan
2. efisiensi ruang penyimpanan
3. kebersamaan pemakaian
4. menangani data dalam jumlah yang besar
5. meniadakan duplikasi data
6. keamanan

Komponen Basis Data 
1. Hardware
    contoh: PC, laptop, dll
2. Operating System
    contoh: Windows, Linux, dll
3. Database
4. DBMS (Database Management System)
    contoh: MySQL 5. User(pengguna)
6. Application

Arsitektur Basis Data
1. Stand Alone basis data hanya ditempatkan pada komputer yang sama,itu artinya hanya bisa dipakai oleh satu user saja.
2. Sistem terpusat basis data terdiri dari sebuah server dan sejumlah terminal.
3. Sistem client server ini digunakan untuk mengatasi kelemahan pada sistem terpusat.

Bahasa Basis Data: 
1. DDL(Data definition Language)
    Bahasa yang digunakan untuk mendefinisikan data.
    contoh: create table, create database
2. DML(Data Manipulation Language)
    Bahasa yang digunakan untuk memanipulasi data.
    contoh: insert, delete, update

Materinya mungkin tidak seberapa, tapi mudah-mudahan bermanfaat... :)
Sampai ketemu pada kesempatan dan materi selanjutnya guys.. :)

Rabu, 12 September 2012

Alasan Menggunakan Basis Data Serta Kelebihan dan kekurangannya

Apa Itu Basis Data..???

Basis Data adalah kumpulan file-file yang mempunyai kaitan antara satu file dengan file lain. Sistem basis data sebuah tatanan atau keterpaduan yang terdiri atas sejumlah komponen fungsional (dengan suatu fungsi atau tugas tertentu yang saling berhubungan dan secara bersama-sama bertujuna untuk memenuhi suatu proses atau pekerjaan tertentu.
Prinsip utama basis data adalah pengaturan data atau arsip. Dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data atau arsip. Yang perlu diingat bahwa tidak semua bentuk penyimpanan data secara elektronis bisa disebut basis data. Yang sangat ditonjolkan dalam basis data adalah pengaturan atau pengelompokan data yang akan kita simpan sesuai fungsi atau jenisnya. Pengelompokan ini dapat berbentuk sejumlah file yang terpisah atau dalam pendefinisia field-field data dalam setiap file.

Tujuan dibangunnya basis data adalah sebagai berikut :
 
1.  Kecepatan & kemudahan (speed)
Dengan memanfaatkan basis data, memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data tersebut secara lebih cepat & mudah.
2.  Efisiensi ruang penyimpanan (space)
Karena keterkaitan yang erat antara kelompok data dalam sebuah basisdata,maka redundansi (pengulangan) pasti akan selalu ada, sehingga akan memperbesar ruang penyimpanan. Dengan basisdata, efisiensi ruang penyimpanan dapat dilakukan dengan menerapkan sejumlah pengkodean, atau dengan membuat relasi-relasi antar kelompok data yang saling berhubungan.
3.  Keakuratan (accuracy)
Pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint), dmain data, keunikan data, dsb, yang secara ketat dapat diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidak akuratan penyimpanan data.
4.  Ketersediaan (availability)
Dengan pemanfaatan jaringan komputer, maka data yang berada di suatu lokasi/cabang dapat juga diakses (tersedia/available) bagi lokasi/cabang lain.
5.  Kelengkapan (completeness)
Kelengkapan data yang disimpan dalam sebuah database bersifat relatif, bisa jadi saat ini dianggap sudah lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Untuk mengakomodasi kelengkapan data, seperti
6.  Keamanan (security)
Aspek keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat menentukan pemakai basis data serta obyek-obyek didalamnya ,serta jenis-jenis operasi apa saja yang boleh dilakukannya.
7.  Kebersamaan pemakaian (sharability)
           Basis data yang dikelola dengan aplikasi multi user dapat memenuhi kebutuhan ini.


Alasan menggunakan sisitem basis data adalah agar kita dapat memperoleh data yang kita cari dengan mudah dan cepat. Selain itu sistem basis data juga memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan dan menampilkan kembali data tersebut dengan mudah dan cepat, daripada kita menyimpan data secara manual. 


 
Kelebihan Sistem Basis Data
 
    1.       Mengurangi kerangkapan data
             Dalam basis data hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya.
    2.       Mencegah ketidakkonsistenan
              Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan
    3.       Keamanan data dapat terjaga
                 DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi user (misal : modify, delete, insert, retrieve).
    4.       Integritas dapat dipertahankan
                  Jika kerangkapan data dikontrol dan ke konsistenan data dapat dijaga maka data menjadi lebih akurat.
    5.       Data dapat digunakan bersama-sama
                Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan.
    6.       Menyediakan recovery
    7.       Memudahkan standarisasi
            Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran data.
    8.       Data bersifat mandiri
              Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada.
    9.       Keterpaduan dapat terjaga


Kekurangan Sistem Basis Data

    1.       Diperlukan tempat penyimpanan yang besar
    2.       Kerusakan sistem basis data mempengaruhi departemen yang terkait
    3.       Kompleks 
    4.   Perangkat lunaknya mahal