Senin, 12 Desember 2011

Tugas Praktikum DBD Modul 7 (Fungsi dan PL/SQL)

Minggu yg lalu praktikum Desain Basis Data telah sampailah pada meteri tentang Fungsi dan PL/SQL. Pada postingan kali ini saya akan membahas sedikit tentang Fungsi dan PL/SQL beserta contoh pada SQLShellnya. Lebih jelasnya kita ikuti saja postingan dibawah ini. 
1. Membuat fungsi konversi untuk menghitung keliling persegi panjang
2. Menentukan alamat dosen tertentu menggunakan Fungsi


3. Membuat fungsi konversi nilai mahasiswa 
 
Hasil konversi nilai mahasiswa


4. Menentukan jabatan dosen menggunakan fungsi


5. Membuat test Trigger pada tabel Dosen
 
Membuat Trigger dan meng-insertkan dengan data 

Mohon dikoreksi ya :)

Laporan Praktikum DBD Modul 7 (Fungsi dan PL/SQL)

Minggu yg lalu saya menjalani praktikum tentang Fungsi dan PL/SQL. So... dalam postingan kali ini saya akan sedikit mengulas tentang materi minggu lalu yaitu mengenai Fungsi dan PL/SQL. Lebih jelasnya mari kita simak penjelasan dibawah ini :

1. Fungsi SQL adalah sebuah kumpulan query, biasanya query yang detail dan panjang yang dibungkus menjadi satu dan disimpan dalam database dan kemudian apabila diperlukan hanya tinggal mengaksesnya tanpa mengetikan query detail.

Ada beberapa konsep yang menarik dari fungsi antara lain:

• Bahasa yang dip akai dapat didefenisikan sendiri dengan tersedianya parameter LANGUAGE, tanpa harus mengkompilasi ulang PostgreSQL.

• Kita dapat membuat dua buah fungsi dengan nama yang sama namun parameter masukkannya yang berbeda, baik tipe data maupun jumlahnya.

Selain itu ada beberapa faktor yang perlu diperhatikan dalam membuat fungsi antara lain:

• Nama Fungsi
• Nomor dari fungsi argument
• Tipe data dari setiap argument
• Tipe dari hasil fungsi
• Fungsi action • Bahasa yang digunakan oleh fungsi action.

Contoh :
Fungsi konversi suhu

2. Fungsi PL/SQL  
PL/PGSQL merupakan bahasa yang lain untuk membuat sebuah fungsi, biasanya bahasa ini digunakan untuk menangani fungsi yang lebih kompleks. Pl/pgsql sudah terdapat dalam instalasi PostgreSQL, namun kita perlu mendaftarkannya pada masing-masing database yang akan menggunakannya. 

Contoh 1:

Contoh 2 :



Hasil dari konversi nilai :


Contoh 3 :

3. Triger

Trigger digunakan untuk menyisipkan sebuah fungsi pada saat suatu record di-INSERT, UPDATE dan DELETE. Trigger sangat ideal untuk mengecek atau memodifikasi sebuah data pada kolom sebelum dimasukkan ke dalam database, sehingga sebuah fungsi dapat dipanggil setiap saat secara otomatis ketika sebuah row akan dimodifikasi. Ciri khas dari fungsi yang diperuntukkan untuk trigger adalah menghasilkan output bertipe OPAQUE. Tipe opaque adalah sebuah tipe yang menginformasikan pada database bahwa fungsi tersebut tidak menghasilkan satu dari tipe data yang ditetapkan SQL dan tidak secara langsung dapat digunakan dalam statemen SQL. Language (bahasa) PL/PGSQL dapat digunakan untuk trigger procedure, fungsi untuk trigger ini memiliki beberapa variabel khusus yang terdeklarasi secara otomatis.
 
 Contoh membuat test trigger :

Membuat trigger :

 Test insert trigger :

Mungkin hanya sekilas penjelasan mengenai materi yg dipraktekkan dalam praktikum minggu yg lalu. Semoga bermanfaat :)

Tugas Praktikum DBD Modul 6 (Indeks)


Pada postingan ubik kali ini akan mengulas lagi tentang materi indeks yg kemarin tetapi menggunakan tabel yg berbeda. Ini merupakan tugas praktikum desain basis data modul 6. Berikut kejadiannya :
1.      Membuat indek pada tabel jadwal dengan menggunakan kolom nip dosen dan kode matakuliah.

2. Membuat kode matkul menjadi  unik pada tabel matkul dan inputkan 2 data  yang  sama.

3. Menampilkan coba pindahkan data  dari  tabel  jadwal,  dengan menampilkan nip dosen,namadosen,matkul,sks,ruang dan pukul ke tabel baru yang dinamai jadwalku.

4. Membuat penggunaan check pada tabel peserta .Kemudian masukkan beberapa data yang memenuhi syarat check dan yang tidak.

5. Menampilkan data mahasiswa dengan hilangkan karakter “h” di akhir data dan karakter “i” di awal kata pada kolom nama!

6. Memasukkan data  di tabel  peserta  dimana  pada  kolom  nama  sebelum inputkan karakter dahulukan dengan spasi dan di akhiri.munculkan seluruh data dan hilangkan spasi didepan maupun di belakang karakter.

Ya seperti itulah tugasnya... mohon di koreksi jika ada kesalahan :)

Minggu, 11 Desember 2011

Laporan Praktikum DBD Modul 6 (Indeks)

Pada postingan kali ini saya akan membahas mengenai INDEKS. Yaitu merupakan meteri yg dibahas pada praktikum desain basis data meinggu lalu. Ok... untuk lebih jelasnya qt ikuti postingan dibawah ini. Penjelasan mengnai indeks :


1. INDEKS
Indeks 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. 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);

contoh pada SQLShell :

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);

contoh :


 contoh input :


2. 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]);

Contoh 1 :
Contoh 2 :

3. 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.
Contoh 1 :



Contoh 2 :

 

4. 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. Contoh di SQLShellnya :
 

5. 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. 
Contoh :

  • LTRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri (Left) String. 
Contoh :

  • TRIM : digunakan untuk membersihkan spasi kosong yang ada di bagian kiri, kanan, maupun tengah String
Contoh :

  • LEADING : merupakan opsi untuk menghilangkan karakter terpilih yang ada di sebelah kiri. Parameter Leading diartikan sebagai sufik dari karakter yang ada.
Contoh :
Ya kurang lebih seperti itulah materi mengenai indeks yg disampaikan pada praktikum minggu yg lalu. Semoga ada manfaat dibalik semua itu hehehe.

 

Software

Internet

Tutorial