13
LAPORAN TERTULIS ON THE JOB TRAINING I. TANGGAL : 13 17 Oktober 2014 II. TUJUAN : 1. Dapat memahami Fungsi single row dan multi row. 2. Dapat membuat contoh penggunaan fungsi pada tabel. 3. Dapat menerapkan command pada tabel. SUBJEK PEMBAHASAN : ************** 1. Single Row Function Single row function adalah fungsi yang digunakan pada baris tunggal (baris per baris) dan mengembalikan satu hasil per baris tersebut. Yang termasuk dalam single row function yaitu ditunjukkan seperti pada gambar berikut: SV Manager Team Manager

Fungsi Single Row dan Multi Row pada Oracle

Embed Size (px)

Citation preview

Page 1: Fungsi Single Row dan Multi Row pada Oracle

LAPORAN TERTULIS

ON THE JOB TRAINING

I. TANGGAL : 13 – 17 Oktober 2014

II. TUJUAN :

1. Dapat memahami Fungsi single row dan multi row.

2. Dapat membuat contoh penggunaan fungsi pada tabel.

3. Dapat menerapkan command pada tabel.

SUBJEK PEMBAHASAN :

**************

1. Single Row Function

Single row function adalah fungsi yang digunakan pada baris tunggal (baris per baris) dan

mengembalikan satu hasil per baris tersebut. Yang termasuk dalam single row function yaitu ditunjukkan

seperti pada gambar berikut:

SV Manager Team Manager

Page 2: Fungsi Single Row dan Multi Row pada Oracle

a. Fungsi general

Yang termasuk fungsi general yaitu:

1. NVL 2. NVL2 3. NULLIF 4. COALESCE

5. CASE 6. DECODE 7. GREATEST 8. LEAST

Penggunaan dari tiap fungsi diatas telah dijelaskan pada pembahasan sebelumnya.

b. Fungsi character

Yang termasuk fungsi character yaitu:

1. ASCII 2. ASCIISTR 3. CHR

4. COMPOSE 5. CONCAT 6. Concat with || 7. CONVERT 8. DECOMPOSE 9. DUMP 10. INITCAP

11. INSTR 12. INSTR2

13. INSTR4 14. INSTRB 15. INSTRC

16. LENGTH 17. LENGTH2 18. LENGTH4 19. LENGTHB 20. LENGTHC 21. LOWER 22. LPAD

23. LTRIM 24. NCHR

25. REPLACE 26. RPAD 27. RTRIM

28. SOUNDEX 29. SUBSTRTO_CHAR 30. TO_DATE 31. TRANSLATE 32. TRIM 33. UPPER 34. VSIZE

Penggunaan dari fungsi yang umum digunakan telah dijelaskan pada pembahasan sebelumnya.

c. Fungsi number

Yang termasuk dalam fungsi number (angka) yaitu:

1. ABS 2. ACOS 3. ASIN 4. ATAN 5. ATAN2 6. AVG 7. BIN_TO_NUM 8. BITAND 9. CEIL 10. CORR 11. COS 12. COSH 13. COUNT 14. COVAR_POP 15. COVAR_SAMP

16. CUME_DIST 17. DENSE_RANK 18. EXP 19. EXTRACT 20. FLOOR 21. GREATEST 22. LEAST 23. LN 24. LOG 25. MAX 26. MEDIAN 27. MIN 28. MOD 29. POWER 30. RANK

31. REMAINDER 32. ROUND (numbers) 33. SIGN 34. SIN 35. SINH 36. SQRT 37. STDDEV 38. SUM 39. TAN 40. TANH 41. TO_NUMBER 42. TRUNC (numbers) 43. VARIANCE 44. VAR_POPVAR_SAMP

Dari beberapa fungsi tersebut, dalam pembahasan ini akan dibahas beberapa fungsi yang sering

digunakan yaitu:

Page 3: Fungsi Single Row dan Multi Row pada Oracle

1. ABS Fungsi ABS merupakan singkatan dari ABSOLUTE yaitu mengambil nilai mutlak dari suatu

bilangan. Walaupun nilai yang digunakan adalah bilangan negatif, dengan menggunakan fungsi ABS nilai tersebut bernilai positif. Adapun syntax penulisan dari fungsi ABS yaitu:

ABS( angka )

Contoh penggunaan ABS ditunjukkan pada gambar berikut:

2. CEIL Fungsi CEIL mengembalikan hasil pembulatan angka lebih besar atau sama dengan dari suatu angka.

Adapun syntax dari CEIL ini ditunjukkan sebagai berikut:

CEIL( number )

Berikut diberikan contoh penggunaan dari CEIL

Terlihat bahwa fungsi CEIL akan membulatkan ke atas nilai yang memiliki digit koma lebih dari 0. Meskipun tidak sama dengan kaidah matematika dimana pembulatan keatas akan dilakukan jika nilai tersebut lebih dari 0.5.

3. FLOOR Fungsi dari FLOOR adalah untuk membulatkan angka ke bawah atau sama dengan nilai angka

tersebut. Berlawanan dengan CEIL, FLOOR akan membulatkan kebawah meskipun nilai digit di belakang koma >=5.

Adapun syntax dan contoh penggunaan dari fungsi FLOOR ditunjukkan sebagai berikut:

FLOOR( number )

Page 4: Fungsi Single Row dan Multi Row pada Oracle

4. MOD Fungsi MOD dalah modulus, yaitu mengembalikan sisa hasil pembagian dari 2 buah angka. Yang

dikembalikan adalah sisa hasil bagi, bukan angka hasil pembagian antara 2 bilangan tersebut. Adapun syntax dan contoh penggunaan fungsi MOD ditunjukkan sebagai berikut:

MOD( m, n )

Dimana m = bilangan utama

n = bilangan pembagi

5. POWER Fungsi POWER adalah pemangkatan dan POWER akan mengembalikan hasil dari pemangkatan

kedua nilai tersebut. Adapun contoh dari

POWER( m, n )

Pada gambar terlihat bahwa jika angka dipangkatkan dengan bilangan negatif maka akan menghasilkan bilang berkoma.

6. ROUND Fungi ROUND adalah untuk membulatkan angka sesuai dengan kaedah matematika (jika < 5

pembulatan ke bawah dan jika >= 5 pembulatan ke atas) dan pembulatan berdasarkan sejumlah tertentu. Adapun syntax penulisan dan contoh penggunaan dari fungsi round yaitu sebagai berikut:

Page 5: Fungsi Single Row dan Multi Row pada Oracle

ROUND( angka, [ jumlah_angka_dibelakang_koma ] )

7. SIGN Fungsi SIGN adalah untuk mengembalikan nilai indikator atau tanda dari suatu angka. Dimana :

- Jika bilangan = 0, maka akan dikembalikan 0 - Jika bilangan < 0 , maka akan dikembalikan -1 - Jika bilangan > 0, maka dikembalikan 1.

Adapun syntax penulisan dan contoh penggunaan ditunjukkan sebagai berikut:

SIGN(bilangan)

8. TRUNC (numbers) Fungsi TRUNC adalah untuk memotong digit pada bilangan desimal suatu bilangan berdasarkan

sejumlah angka tertentu. Adapun syntax dan contoh penggunaan TRUNC ditunjukkan sebagai berikut:

TRUNC( angka, [ jumlah_angka_dibelakang_koma] )

Pada gambar bahwa fungsi TRUNC tidak membulatkan angka, fungsi ini hanya memotong jumlah

angka di belakang koma sesuai dengan format yang telah di buat.

Page 6: Fungsi Single Row dan Multi Row pada Oracle

d. Fungsi date

Yang termasuk dalam fungsi date (tanggal) yaitu:

1. ADD_MONTHS

2. CURRENT_DATE

3. CURRENT_TIMESTAMP

4. DBTIMEZONE

5. FROM_TZ

6. LAST_DAY

7. LOCALTIMESTAMP

8. MONTHS_BETWEEN

9. NEW_TIME

10. NEXT_DAY

11. ROUND (dates)

12. SESSIONTIMEZONE

13. SYSDATE

14. SYSTIMESTAMP

15. TO_CHAR

16. TO_DATE

17. TO_TIMESTAMP

18. TO_TIMESTAMP_TZ

19. TO_YMINTERVAL

20. TRUNC (dates)

21. TZ_OFFSET

e. Fungsi conversion

Fungsi konversi terbagi menjadi dua jenis, yaitu:

a. Implisit

b. Eksplisit

1. Implisit

Fungsi implisit maksudnya adalah fungsi yang secara tidak terlihat (oleh user) akan mengubah suatu

tipe data menjadi tipe data yang lain. Pada suatu kasus akan terjadi dimana ketika penulisan program,user

tidak membuat fungsi konversi secara langsung, namun Oracle akan tetap memperkirakan dan

mengkonversi tipe data tersebut sehingga bisa dimengerti dan diproses oleh system. Adapun tipe data

yang diizinkan dalam fungsi konversi implisit yaitu seperti gambar berikut:

Misal pada ekspresi berikut:

- hire_date > ’01JAN 90’ ; maksudnya adalah oracle akan mengubah karakter string dalam tanda ‘ ‘ menjadi

suatu format tanggal yang bersesuaian dengan 1 Januari 1990.

- salary = ’50000’ ; maksudnya adalah oracle akan mengubah karakter string dalam tanda ‘ ‘ menjadi

format angka 50000. Pengkonversian akan berhasil jika angka yang digunakan dalam string merupakan angka

yang benar dan valid.

2. Eksplisit

Fungsi konversi eksplisit maksudnya adalah fungsi konversi yang tipe pengkonversiannya ditentukan

oleh User. Yang termasuk dalam fungsi konversi eksplisit yaitu:

Page 7: Fungsi Single Row dan Multi Row pada Oracle

1. BIN_TO_NUM

2. CAST

3. CHARTOROWID

4. FROM_TZ

5. HEXTORAW

6. NUMTODSINTERVAL

7. NUMTOYMINTERVAL

8. RAWTOHEX

9. TO_CHAR

10. TO_CLOB

11. TO_DATE

12. TO_DSINTERVAL

13. TO_LOBTO_MULTI_BYTE

14. TO_NCLOB

15. TO_NUMBER

16. TO_SINGLE_BYTE

17. TO_TIMESTAMP

18. TO_TIMESTAMP_TZ

19. TO_YMINTERVAL

Dari fungsi-fungsi di atas, adapun fungsi yang dibahas dalam laporan ini yaitu

1. TO_CHAR

2. TO_DATE

3. TO_NUMBER

Untuk memudahkan mengingat bagaimana penggunaan fungsi konversi diatas maka contohnya

ditunjukkan pada gambar berikut:

- TO_CHAR

Fungsi dari TO_CHAR adalah untuk mengkonversi nilai suatu bilangan (angka) atau tanggal menjadi suatu karakter string VARCHAR2. Adapun syntax penulisan dari TO_CHAR ditunjukkan seperti berikut:

TO_CHAR( nilai, [format])

Untuk penulisan format, biasanya pada TOC_AHR dibuat berdasarkan elemen yang digunakan.

Berikut dijelaskan tentang elemen pada format dan contoh penggunaan TO_CHAR.

Page 8: Fungsi Single Row dan Multi Row pada Oracle

- TO_NUMBER Fungsi dari TO_NUMBER adalah untuk mengubah karakter string menjadi karatker bilangan

(angka). Fungsi TO_NUMBER akan berhasil jika pada karakter string,merupakan angka yang benar, angka yang valid, dan tidak bercampur dengan karakter huruf, dll.

- TO_DATE Fungsi dari TO_DATE adalah untuk mengubah format karakter string menjadi format tanggal

berdasarkan format yang telah ditentukan. Jika format tidak ditulis, maka format yang digunakan adalah DDMONYY. Dalam penggunaan TO_DATE, format penulisan harus dituliskan, dan berikut dijelaskan format tanggal yang digunakan

Page 9: Fungsi Single Row dan Multi Row pada Oracle

Berikut contoh penggunaaan pada TO_DATE.

2. Multi Rows Function

Multi row function adalah fungsi yang digunakan pada beberapa baris, berdasarkan group, kategori

ataupun keseluruhan baris yang ada pada tabel dan mengembalikan satu buah hasil. Multi row function

disebut juga aggeragate function. Adapun yang termasuk dalam aggregate function ini adalah :

1. AVG

2. COLLECT

3. CORR

4. CORR_*

5. COUNT

6. COVAR_POP

7. COVAR_SAMP

8. CUME_DIST

9. DENSE_RANK

10. FIRST

11. GROUP_ID

12. GROUPING

13. GROUPING_ID

14. LAST

15. MAX

16. MEDIAN

17. MIN

18. PERCENTILE_CONT

19. PERCENTILE_DISC

20. PERCENT_RANK

21. RANK

22. REGR_ (Linear Regression)

Functions

23. STATS_BINOMIAL_TEST

24. STATS_CROSSTAB

25. STATS_F_TEST

26. STATS_KS_TEST

27. STATS_MODE

28. STATS_MW_TEST

29. STATS_ONE_WAY_ANOVA

30. STATS_T_TEST_*

31. STATS_WSR_TEST

32. STDDEV

33. STDDEV_POP

34. STDDEV_SAMP

35. SUM

36. VAR_POP

37. VAR_SAMP

38. VARIANCE

Page 10: Fungsi Single Row dan Multi Row pada Oracle

Dari fungsi-fungsi diatas, dalam pembahasan ini akan dibahas beberapa fungsi yang sering digunakan

yaitu:

1. AVG

Fungsi AVG ini akan mengembalikan nilai rata-rata dari beberapa baris (sesuai dengan

pengkondisian atau syarat yang digunakan) atau keseluruhan baris dari suatu kolom. Oleh karena itu

penggunaan fungsi AVG ini digunakan pada tipe data yang berupa angka (bilangan) yang valid dan

menolak tipe data lain. Adapun syntax penulisan dari AVG dijelaskan sebagai berikut:

SELECT AVG(nama_kolom)

FROM nama_table

WHERE kondisi_syarat; -- ini opsional (bisa digunakan bisa juga tidak)

Penggunaan kondisi WHERE tergantung pada kebutuhan akan nilai yang ingin dihasilkan. Adapun

contoh penggunaan AVG ditunjukkan sebagai berikut:

2. COUNT

Fungsi COUNT adalah untuk menghitung jumlah ‘baris’ yang terdapat pada suatu kolom. Adapun

syntax dari fungsi COUNT ditunjukkan sebagai berikut:

SELECT COUNT( ekspresi_nama_kolom )

FROM tabel

WHERE kondisi; -- ini opsional (bisa digunakan bisa juga tidak)

Adapun contoh penggunaan COUNT ditunjukkan sebagai berikut:

Terlihat bahwa dengan menggunakan perintah COUNT (*) kita bisa mengetahui jumlah baris dari

tabel customers tanpa tahu data apa saja yang terdapat di dalamnya. Pada tanda (*) , tanda * kita bisa

merubah nya dengan menggunakan nama kolom yang terdapat pada tabel.

Page 11: Fungsi Single Row dan Multi Row pada Oracle

3. MIN

Fungsi MIN akan mengambil nilai terkecil / minimum dari beberapa baris. Adapun syntax dari

fungsi min ditunjukkan sebagai berikut.

SELECT MIN( nama_kolom )

FROM tabel

WHERE kondisi; -- ini opsional (bisa digunakan bisa juga tidak)

Berikut contoh penggunaan dari fungsi MIN

4. MAX

Kebalikan dari fungsi MIN, fungsi MAX akan mengembalikan nilai terbesar dari beberapa baris yang

ada dalam tabel. Berikut syntax penulisan dari fungsi MAX yaitu sebagai berikut:

SELECT MIN( nama_kolom )

FROM tabel

WHERE kondisi; -- ini opsional (bisa digunakan bisa juga tidak)

Adapun contoh penggunaan fungsi MAX dijelaskan pada gambar:

Dengan menggunakan fungsi agregat, kita bisa mengetahui nilai rata-rata, minimum dan dan

maksimum dari suatu kolom (dalam gambar ini disebutkan nilai ‘salary’).

Page 12: Fungsi Single Row dan Multi Row pada Oracle

5. SUM

Fungsi SUM adalah menjumlahkan nilai yang terdapar beberapa baris atau keseluruhan baris dari

suatu kolom. Fungsi SUM hanya berlaku untuk bilangan (angka) yang valid dan benar, karena jika

digunakan pada tipe data selain daripada angka maka akan menghasilkan eror.

Adapun syntax dari penulisan fungsi SUM ditunjukkan sebagai berikut:

SELECT SUM( nama_kolom )

FROM tabel

WHERE kondisi; -- ini opsional (bisa digunakan bisa juga tidak)

Contoh penggunaan dari fungsi SUM ditunjukkan pada gambar berikut:

Fungsi fungsi agregat (AVG,COUNT, MIN, MAX, dan SUM) akan menolak atau mengabaikan jika

dalam suatu baris yang diproses mengandung nilai NULL sehingga akan berpengaruh pada hasil yang

akan didapatkan. Seperti contoh pada fungsi COUNT berikut.

Page 13: Fungsi Single Row dan Multi Row pada Oracle

Pada perhitungan dengan menggunakan (*) terlihat bahwa data yang ditampilkan yaitu 10, sedangkan

ketika menggunakan (address) didapatkan data 6. Address yang bernilai NULL tidak termasuk dalam

perhitungan.

Oleh karena itu, untuk mengantisipasi keadaan tersebut maka digunakanlah fungsi general yaitu

NVL yang berfungsi untuk mengolah ekspresi NULL. Dengan menggunakan NVL, kita dapat mengubah

nilai NULL (nilai kosong, tidak mempunyai isi atau belum terdefinisi) tersebut dengan nilai 0 untuk yang

bertipe angka, dan karakter spasi jika bertipe string (nilai 0 digunakan jika kita tidak ingin mengisi data

apapun ke dalam baris tersebut). Dengan nilai 0 tersebut, fungsi agregat akan memproses baris tersebut

dan baris tersebut akan ‘dihitung’ total jumlah barisnya yang akan berpengaruh ke proses.