PRAKTIKUM 8 SINGLE ROW & GROUP FUNCTION Langkah – langkah melakukan praktikum 8: a. Jalankan Oracle 10g caranya : All program Oracle Application Development SQL Plus
OraDb10g_home1
b. Masukkan username : system dan password: amikom (sesuai dengan password yang telah dibuat) 1. Untuk menyimpan setiap hasil eksekusi instruksi sql ke dalam file maka aktifkan mode spool diikuti parameter nama file yang akan digunakan untuk menyimpan hasil eksekusi tersebut. Kemudian untuk menonaktifkan ketikkan SPOOL OFF 2. Aktifkan mode SPOOL dengan mengarahkan ke folder masing-masing, misal fina001 maka ketikkan perintah: SQL > SPOOL D:\fina001\sales.txt
Secara garis besar Oracle database built-in function dibagi dalam dua bagian, yaitu: Single-row function : Memproses satu baris data pada satu saat dan memberikan satu output untuk setiap satu baris data masukan. Contoh single-row functions adalah UPPER yang berfungsi mengubah data input menjadi huruf kapital Group Function : Memproses multi-row data pada saat bersamaan dan memberikan satu output. Contoh group function adalah SUM untuk menghitung nilai total. Perbedaan Single Row Function dan Group Function dapat diperlihatkan pada gambar berikut: Single-row function : Nama_Pegawai: ------------------------AYU NAYLA PUTRI
INITCAP
INITCAP (Nama_Pegawai) ----------------------------------Ayu Nayla Putri 1
Group Function : Gaji ------------------------1000000 1500000 500000
INITCAP
SUM (Gaji) --------------3000000
A. Single-row function Berdasarkan tipe data yang diproses, single-row function dibagi menjadi lima jenis, yaitu: 1. Character Function digunakan untuk memproses data karakter. 2. Numeric Function digunakan untuk memproses data numerik. 3. Date Function digunakan untuk memproses data tanggal. 4. Convension Function digunakan untuk melakukan konversi data. 5. General Function merupakan function yang bisa digunakan untuk memproses semua tipe data. 1. CHARACTER FUNCTION Character function menerima input berupa karakter yang diambil dari kolom pada tabel atau berupa ekspresi. Berikut ini beberapa contoh character function: ASCII ( ) dan CHR ( ) Digunakan untuk menampilkan nilai ASCII dari karakter X dan CHR(x) berfungsi sebaliknya untuk mengembalikan karakter dari suatu nilai ASCII.
CONCAT ( ) Concat(x,y) digunakan untuk menggabungkan karakter string x dan y. Berikut ini perintah untuk menggabungkan nilai dari kolom. (Sekarang kita menggunakan tabel barang pada user sales)
2
INITCAP( ), LOWER ( ) dan UPPER( ) Ketiga fungsi ini biasa disebut dengan case-manipulation. INITCAP(x) untuk mengubah karakter awal suatu kata dari string x menjadi huruf kapital. LOWER(x) untuk mengubah string (x) menjadi huruf kecil sedangkan UPPER(x) digunakan untuk mengubah string (x) menjadi huruf kapital.
SUBSTR( ) SUBSTR(x, y [,z] ) digunakan untuk menampilkan substring mulai dari posisi y sebanyak z karakter dari string x. Jika nilai z tidak ditentukan maka akan ditampilkan mulai dari posisi y sampai karakter terakhir. Jika nilai y negatif (-) maka posisi karakter diambil dari sisi kanan atau belakang string.
KOMBINASI CHARACTER FUNCTION Kombinasi dari beberapa character function bisa dilakukan dengan menjadikan hasil dari suatu function sebagai parameter untuk function berikutnya. Hal seperti ini biasa disebut nested function. Sebagai contoh adalah kombinasi antara function LOWER, SUBSTR dan CONCAT berikut ini untuk menghasilkan email pelanggan. Berikut ini isi tabel pelanggan:
3
2. NUMERIC FUNCTION FLOOR ( ) Floor (x) digunakan untuk pembulatan ke bawah dari nilai desimal x
MOD ( )
3. DATE FUNCTION ADD_MONTHS ADD_MONTHS (x,y) mengembalikan hasil penjumlahan tanggal x dengan y bulan. Jika y bernilai negatif maka terjadi pengurangan tanggal x dengan y bulan. Sebagai contoh, tanggal ’02-Nov-09’ ditambah 6 bulan maka hasilnya adalah tanggal ’02May-10’.
4. CONVERTION FUNCTION Konversi tipe data bisa dilakukan secara implisit maupun eksplisit. Konversi implisit dilakukan secara otomatis oleh Oracle untuk data-data dengan format default. Sedangkan konveri secara eksplisit dilakukan menggunakan fungsi konversi yang sudah disediakan oleh Oracle. Konversi Tanggal ke Karakter dengan TO_CHAR
4
5. GENERAL FUNCTION General functional merupakan function yang bisa dioperasikan pada semua tipe data. Ada empat jenis general function yaitu NVL, NVL2, NULLIF, dan COALESCE. Walaupun bisa dioperasikan pada semua tipe data tetapi argumen-argumen dalam satu function harus mempunyai tipe data yang sama. NULLIF NULLIF(x,y) digunakan untuk membandingkan nilai x dan y. Jika nilai x sama dengan nilai y maka akan menghasilkan nilai null, tetapi jika x dan y tidak sama akan ditampilkan x.
B. GROUP FUNCTION Group function akan memproses banyak data dan memberikan satu hasil. Group function sering juga disebut aggregate function. Beberapa jenis group function: AVG (x) Digunakan untuk menghitung nilai rata-rata dari kelompok data x. Berikut ini perintah untuk menghitung rata-rata harga jual barang.
COUNT Digunakan untuk menghitung jumlah data dari kelompok data x. Berikut ini perintah untuk menghitung jumlah barang yang ada.
MAX ( ) dan MIN ( ) MAX ( ) digunakan untuk mencari nilai paling tinggi dari kelompok data x. MIN ( ) digunakan untuk mencari nilai yang paling rendah dari kelompok data x.
5
STDDEV( ) Digunakan untuk menghitung nilai standar deviasi dari kelompok data x. Standar deviasi adalah fungsi statistik yang didefinisikan sebagai square root dari nilai variance.
SUM ( ) Digunakan untuk menghitung jumlah total dari data yang ada di kelompok data x.
VARIANCE( ) VARIANCE( ) digunakan untuk menghitung nilai variance dari kelompok data x. Variance merupakan fungsi statistik yang didefinisikan sebagai square of standart deviasi.
Mengelompokkan data menggunakan GROUP BY GROUP BY digunakan untuk mengelompokkan data berdasarkan suatu kriteria pada perintah select.
6
Menyeleksi Hasil GROUP BY dengan HAVING Pada single-row function klausa where digunakan untuk menyeleksi data berdasarkan kriteria tertentu. Prinsip kerja klausa HAVING sama dengan klausa WHERE, tetapi klausa HAVING digunakan untuk menyeleksi data hasil dari group function.
7