Home > Praktikum Desain Basis Data > Laporan Praktikum bab 6 indek

Laporan Praktikum bab 6 indek

Judul
INDEK
A.    Tujuan :
      1. Mahasiswa memahami dan menggunakan indeks dalam pengelolaan database.
      2. Mahasiswa memahami cara penggunaan cluster, kolom unik dan trim.
B.     Landasan Teori
Indeks disini berguna dalam suatu pencarian nilai atau data dalam database. Dalam suatu kasus ketika mengakses sebuah tabel biasanya DBMS akan membaca seluruh tabel baris perbaris hingga selesai. Ketika baris sangat banyak dan hasil dari query hanya sedikit, maka hal ini sangat tidak efisien. Seperti halnya ketika kita membaca sebuah buku dan ingin mencari kata atau istilah tertentu dalam buku maka biasanya akan di cari dengan membuka setiap halaman dari awal sampai akhir. Dengan adanya indeks buku maka kita cukup dengan membuka indeks, sehingga akan cepat dalam pencarian kata tersebut. PostgreSQL tidak bisa mem buat indeks dengan otomatis, sehingga user dapat membuat indeks tersebut untuk seringkali digunakan kolom, biasanya dalam clause WHERE. Berikut struktur SQL :
CREATE INDEX [nama index] ON [nama tabel] (nama kolom);
          indeks sebaiknya jangan digunakan pada tabel yang sangat jarang atau tidak pernah diakses. Selain untuk perintah SELECT Indeks juga bermanfaat untuk UPDATE dan DELETE yang menggunakan kondisi pencarian. Sedangkan Unique index mirip dengan indeks tetapi lebih digunakan untuk mencegah duplikasi nilai yang terdapat dalam tabel. Jadi dengan adanya unique index berarti pembaca tidak dapat meng-insert nilai yang sama dalam sebuah tabel. Berikut struktur SQL nya :
CREATE UNIQUE INDEX [nama index] ON [nama tabel] (nama kolom);
KOLOM UNIK
Unique berfungsi untuk menjaga agar tidak terjadinya duplikasi nilai (kesamaan data) dalam sebuah kolom, hal ini dapat ditangani dengan membuat sebuah indeks unik atau fungsi unik sendiri pada kolom yang dimaksud. Unique ini sering digunakan dalam pembuatan primary key, karena dalam primary key tidak boleh terdapat dua atau lebih data yang salam dalam satu kolom. Berikut Struktur SQL saat pembuatan tabel baru :
            CREATE TABLE [nama tabel] ([nama kolom] [tipe data] [unique]);
            Ketika tabel sudah ada kita bisa menggunakan cara seperti pada BAB. 2 berikut struktur SQL nya :
ALTER TABLE [nama tabel] ADD UNIQUE ([nama kolom]);
CLUSTER
Perintah CLUSTER digunakan untuk melakukan perubahan pada tabel berdasarkan informasi pada Indeks, sehingga sebelum melakukan cluster terlebih dulu harus membuat indeks. Ketika sebuah tabel di cluster, maka secara fisik akan diurutkan kembali berdasarkan informasi dari indeks. Proses cluster hanya one-time operation artinya tidak bisa secara otomatis berulang seperti indeks, jadi meskipun terjadi perubahan maka tidak secara otomatis akan di cluster.
Sebagai contoh misalnya kita ingin memindahkan kolom nama dari tabel mahasiswa ke sebuah tabel baru, kita tidak perlu terlebih dahulu membuat tabel baru tersebut karena perintah CLUSTER secara otomatis akan membuat tabel itu. Sehingga untuk memindahkan data yang berada dalam kolom tersebut cukup dengan menggunakan perintah SELECT, CLUSTER juga mendukung perintah ORDER BY dan WHERE untuk spesifikasinya, berikut struktur SQL yang digunakan :
db_contoh=> CLUSTER [nama index] ON [nama tabel] ;
CLUSTER
db_contoh=> SELECT [nama kolom] INTO TABLE [nama tabel baru sebagai penyimpanan]
db_contoh-> FROM [nama tabel]
db_contoh-> ORDER BY [nama kolom untuk pengurutan] ;
SELECT
Check
Check berfungsi untuk melakukan pembatasan nilai masukan dalam sebuah kolom, sebagai contoh misalkan kita ingin agar kolom gender yang terdiri dari satu karakter hanya memiliki dua pilihan karakter yaitu M (mail) atau F (Fimail) ini dapat kita seting dengan menggunakan CHECK. Dengan menggunakan CHECK maka sebuah kolom hanya bisa diisi dengan data yang memenuhi kriteria dalam CHECK. Berikut query contoh pengunaan check :
db_contoh=> CREATE TABLE pelanggan (
db_contoh(> nama varchar(35),
db_contoh(> kode_area CHAR(10) CHECK (length(trim(kode_area)) = 2),
db_contoh(> umur INTEGER CHECK (umur >= 0),
db_contoh(> gender CHAR(1) CHECK (gender IN (‘L’, ‘P’)),
db_contoh(> ttl DATE CHECK (ttl BETWEEN ‘1998-01-01’ AND CURRENT_DATE),
db_contoh(> CHECK (upper(trim(nama)) != ‘nita’ OR
db_contoh(> upper(trim(nama)) != ‘jeki’)
db_contoh(> );
CREATE
 Penggunaan TRIM
            Suatu ketika pasti akan memiliki data yang di dalamnya terdapat spasi kosong yang tidak diperlukan, misalnya spasi ganda. Jika ada masalah seperti ini, kita dapat memberikan spasi-spasi kosong yang tidak diperlukan menggunakan fungsi TRIM, RTRIM, dan LTRIM. Ketiga fungsi ini memiliki bentuk penggunaan sebagai berikut :
–          RTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kanan (Right) String.
–          LTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri (Left) String.
–          TRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri, kanan, maupun tengah String
Berikut Struktur SQL nya :
Select trim([nama kolom]) from [nama tabel];
Dalam penggunaannya, fungsi TRIM memiliki tiga opsi. Ketiga opsi ini dapat digunakan untuk menentukan karakter apa yang akan dihapus dari suatu String. Jadi, fungsi TRIM juga dapat menghilangkan karakter tertentu (bukan spasi kosong saja) dari suatu string. Opsinya sebagai berikut :
–          LEADING : merupakan opsi untuk menghilangkan karakter terpilih yang ada di sebelah kiri. Parameter Leading diartikan sebagai sufik dari karakter yang ada.
–          TRAILING : merupakan opsi untuk menghilangkan karakter terpilih yang ada di sebelah kanan String. Parameter Trailing diartikan sebagai sufik dari karakter yang ada.
–         BOTH : merupakan opsi yang dapat menangani parameter Leading maupun Trailing.
Berikut Struktur SQL nya :
Select trim(LEADING ‘[karakter, misal : -]’ from [nama kolom]) from [nama tabel];
C.    Langkah Kerja
1.      Buka pgAdmin
2.      Buat database baru, dengan nama sembarang
3.      Buka SQL shell
4.      Kerjakan tugas yang ada di modul bab 6 tentang INDEK
D.    Pembahasan
Tugas Praktikum
1.      Buatlah index di tabel mahasiswa, fakultas, jurusan. Kemudian buat  lagi index yang bersifat unik disetiap tabel kemudian amati perbedaannya!
2.      Buat salah satu kolom di mahasiswa menjadi unik dan inputkan 2 data yang sama. Kemudian amati perbedaannya !
3.      Pindahkan data dari tabel mahasiswa, fakultas, jurusan ambil kolom nim, nama mahasiswa, nomor telp, nama fakultas, nama jurusan ke tabel baru yang dinamai ‘tabel identitas’.
4.      Buatlah contoh penggunaan check pada sub bab pembahasan CHECK. Kemudian masukkan beberapa data baik yang sesuai dengan criteria check maupun yang bukan dan amati perbedaannya.
5.      Inputkan data di tabel mahasiswa dimana pada kolom nama sebelum inputkan karakter dahulukan dengan spasi dan di akhiri dengan spasi contoh : “ andi cahyono ”. kemudian munculkan seluruh data dan hilangkan spasi didepan maupun di belakang karakter!
6.      Munculkan data mahasiswa dengan hilangkan karakter “o” di akhir data dan karakter “a” di awal kata pada kolom nama!
.
E.     Kesimpulan
Penggunaan index pada database merupakan salah satu teknik pembuatan database yang baik. Hal ini terutama sangat berguna pada implementasi database dengan skala VLDB (Very Large Database) atau OLDB (Online Large Database). Saat database dibuat tanpa menggunakan index, maka kinerja server database dapat menurun secara drastis. Hal ini dikarenakan resource komputer banyak digunakan untuk pencarian data atau pengaksesan query SQL dengan metode table-scan. Index pada kolom-kolom tabel database mempunyai fungsi seperti indeks kamus atau indeks buku. Hal ini membuat pencarian data akan lebih cepat dan tidak banyak menghabiskan resource komputer. Oleh karena itu, memiliki pemahaman akan konsep indexing, teknik implementasi, dan memahami kapan saat tepat untuk menerapkan metode ini merupakan hal yang berguna terutama bagi para enterprise application developer atau database administrator.
Daftar Pustaka
Modul Prakrikum DBD BAB VI INDEK

http://ilmukomputer.org/2008/05/28/penggunaan-index-pada-sql-server-2005/

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: