Pert 3 -_function

45
FUNCTION Team Pemrograman Sistem Informasi 1

Transcript of Pert 3 -_function

Page 1: Pert 3 -_function

1

FUNCTIONTeam Pemrograman Sistem Informasi

Page 2: Pert 3 -_function

2

Fungsi mirip dengan operator bahwa mereka memanipulasi item data dan mengembalikan hasilnya. Fungsi berbeda dari operator dalam format argumen mereka. Format ini memungkinkan mereka untuk beroperasi pada nol, satu, dua, atau lebih argumen:

fungsi (argumen, argumen, ...)

Fungsi tanpa argumen biasanya mengembalikan nilai yang sama untuk setiap baris.

Page 3: Pert 3 -_function

3

Fungsi SQL dibangun ke dalam Oracle Database dan tersedia untuk digunakan dalam berbagai statement SQL yang sesuai. Jangan bingung dengan fungsi-fungsi user-defined SQL yang ditulis dalam PL/SQL.

Page 4: Pert 3 -_function

4

Dalam diagram sintaks untuk fungsi-fungsi SQL, argumen ditandai dengan datatypes mereka. Ketika parameter fungsi muncul dalam sintaks SQL, gantikan dengan salah satu fungsi yang diuraikan dalam bagian ini. Fungsi dikelompokkan oleh datatypes dari argumen mereka dan return value-nya.

Page 5: Pert 3 -_function

5

SINTAKS MENUNJUKKAN KATEGORI DARI FUNGSI SEBAGAI BERIKUT:Function Single Row Function

Page 6: Pert 3 -_function

6

Bagian-bagian yang mengikuti daftar built-in fungsi SQL pada masing-masing kelompok diilustrasikan dalam diagram tersebut kecuali fungsi user-defined. Semua built-in fungsi SQL ini kemudian dijelaskan dalam urutan abjad.

Page 7: Pert 3 -_function

7

SINGLE ROW FUNCTION Single Row Function mengembalikan hasil

tunggal untuk setiap baris dari sebuah query tabel atau view. Fungsi-fungsi tersebut dapat muncul dalam daftar pilih, klausa WHERE, START WITH dan klausa CONNECT BY, serta klausa HAVING.

Page 8: Pert 3 -_function

8

NUMERIC FUNCTIONS Numeric Functions menerima input numerik

dan mengembalikan nilai numerik. Kebanyakan Numeric Functions yang mengembalikan nilai NUMBER yang akurat sampai 38 digit desimal. Fungsi transendental COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, dan TANH akurat sampai 36 digit desimal. Fungsi transendental ACOS, ASIN, ATAN, dan ATAN2 akurat sampai 30 digit desimal.

Page 9: Pert 3 -_function

9

FUNGSI NUMERIK ADALAH: ABS ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSH EXP

FLOOR LN LOG MOD NANVL POWER REMAINDER ROUND

(number) SIGN SIN

SINH SQRT TAN TANH TRUNC

(number) WIDTH_BUCK

ET

Page 10: Pert 3 -_function

10

CHARACTER FUNCTIONS RETURNING CHARACTER VALUESKarakter fungsi yang mengembalikan nilai

karakter, nilai pengembaliannya dari datatypes berikut kecuali dinyatakan dibuktikan:

Jika argumen input CHAR atau VARCHAR2, maka nilai yang dikembalikan VARCHAR2.

Jika argumen input NCHAR atau NVARCHAR2, maka nilai yang dikembalikan NVARCHAR2.

Page 11: Pert 3 -_function

11

Panjang (length) nilai yang dikembalikan oleh fungsi ini dibatasi oleh panjang (length) maksimum dari datatype yang dikembalikan.

Untuk fungsi yang mengembalikan CHAR atau VARCHAR2, jika panjang (length) dari nilai pengembalian melebihi batas, Oracle Database akan memotong dan mengembalikan hasilnya tanpa pesan kesalahan.

Untuk fungsi yang mengembalikan nilai CLOB, jika panjang melebihi batas nilai-nilai pengembalian, Oracle akan menampilkan kesalahan dan tidak ada pengembalian data.

Page 12: Pert 3 -_function

12

FUNGSI KARAKTER YANG MENGEMBALIKAN NILAI KARAKTER ADALAH: CHR CONCAT INITCAP LOWER LPAD LTRIM NLS_INITCAP NLS_LOWER NLSSORT NLS_UPPER REGEXP_REPLACE

REGEXP_SUBSTR REPLACE RPAD RTRIM SOUNDEX SUBSTR TRANSLATE TREAT TRIM UPPER

Page 13: Pert 3 -_function

13

NLS CHARACTER FUNCTIONS Fungsi karakter NLS mengembalikan

informasi tentang karakter set. Fungsi Karakter NLS adalah:

NLS_CHARSET_DECL_LEN NLS_CHARSET_ID NLS_CHARSET_NAME

Page 14: Pert 3 -_function

14

CHARACTER FUNCTIONS RETURNING NUMBER VALUES Karakter fungsi yang mengembalikan nilai

angka (number) dapat mengambil sebagai argumen mereka setiap datatype karakter.

Fungsi karakter yang mengembalikan nilai-nilai angka (number) :

ASCII INSTR LENGTH REGEXP_INSTR

Page 15: Pert 3 -_function

15

DATETIME FUNCTIONS Fungsi datetime (Datetime Functions) beroperasi pada nilai-nilai

tanggal (DATE), timestamp (TIMESTAMP, TIMESTAMP WITH TIME ZONE, dan TIMESTAMP WITH LOCAL TIME ZONE), dan interval (INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH).

Beberapa fungsi datetime dirancang untuk datatype Oracle DATE (ADD_MONTHS, CURRENT_DATE, LAST_DAY, NEW_TIME, dan NEXT_DAY). Jika Anda memberikan nilai timestamp sebagai argumen mereka, Oracle Database secara internal mengubah tipe input menjadi nilai DATE dan mengembalikan nilai DATE. Pengecualian adalah fungsi MONTHS_BETWEEN, yang mengembalikan angka, dan fungsi ROUND dan TRUNC, yang tidak menerima timestamp atau interval nilai sama sekali.

Fungsi datetime lainnya dirancang untuk menerima salah satu dari tiga jenis data (tanggal, timestamp, dan interval) dan untuk mengembalikan nilai salah satu jenis.

Page 16: Pert 3 -_function

16

FUNGSI DATETIME ADALAH: ADD_MONTHS CURRENT_DATE CURRENT_TIMESTAMP DBTIMEZONE EXTRACT (datetime) FROM_TZ LAST_DAY LOCALTIMESTAMP MONTHS_BETWEEN NEW_TIME NEXT_DAY NUMTODSINTERVAL NUMTOYMINTERVAL

ROUND (date) SESSIONTIMEZONE SYS_EXTRACT_UTC SYSDATE SYSTIMESTAMP TO_CHAR (datetime) TO_TIMESTAMP TO_TIMESTAMP_TZ TO_DSINTERVAL TO_YMINTERVAL TRUNC (date) TZ_OFFSET

Page 17: Pert 3 -_function

17

GENERAL COMPARISON FUNCTIONSFungsi perbandingan umum yang menentukan

nilai terbesar dan atau paling kecil dari satu set nilai.

Fungsi perbandingan umum adalah: GREATEST LEAST

Page 18: Pert 3 -_function

18

CONVERSION FUNCTIONS Conversion Functions (fungsi Konversi)

mengkonversi nilai dari satu datatype ke yang lain. Secara umum, bentuk nama fungsi mengikuti konvensi datatype TO datatype. Datatype yang pertama adalah datatype masukan (input datatype). Datatype kedua adalah output datatype.

Page 19: Pert 3 -_function

19

FUNGSI KONVERSI SQL ADALAH: ASCIISTR BIN_TO_NUM CAST CHARTOROWID COMPOSE CONVERT DECOMPOSE HEXTORAW NUMTODSINTERVAL NUMTOYMINTERVAL RAWTOHEX RAWTONHEX ROWIDTOCHAR ROWIDTONCHAR SCN_TO_TIMESTAMP

TIMESTAMP_TO_SCN TO_BINARY_DOUBLE TO_BINARY_FLOAT TO_CHAR

(character) TO_CHAR

(datetime) TO_CHAR (number) TO_CLOB TO_DATE TO_DSINTERVAL TO_LOB TO_MULTI_BYTE TO_NCHAR

(character) TO_NCHAR

(datetime) TO_NCHAR

(number) TO_NCLOB TO_NUMBER TO_DSINTERVAL TO_SINGLE_BYTE TO_TIMESTAMP TO_TIMESTAMP_TZ TO_YMINTERVAL TO_YMINTERVAL TRANSLATE ...

USING UNISTR

Page 20: Pert 3 -_function

20

LARGE OBJECT FUNCTIONSLarge Object Functions beroperasi pada LOBs.

Fungsi Large Object Functions adalah: BFILENAME EMPTY_BLOB, EMPTY_CLOB

Page 21: Pert 3 -_function

21

COLLECTION FUNCTIONSCollection Functions beroperasi pada tabel

nested dan varrays.

Fungsi SQLCollection Functions adalah: CARDINALITY COLLECT POWERMULTISET POWERMULTISET_BY_CARDINALITY SET

Page 22: Pert 3 -_function

22

HIERARCHICAL FUNCTION Hierarchical Function menerapkan informasi

jalur hirarkis pada set hasil.

SYS_CONNECT_BY_PATH

Page 23: Pert 3 -_function

23

DATA MINING FUNCTIONSfungsi data mining yang beroperasi pada model yang telah

dibangun dengan menggunakan paket DBMS_DATA_MINING atau Oracle Data Mining Java API.

Fungsi data mining SQL adalah: CLUSTER_ID CLUSTER_PROBABILITY CLUSTER_SET FEATURE_ID FEATURE_SET FEATURE_VALUE PREDICTION PREDICTION_COST PREDICTION_DETAILS PREDICTION_PROBABILITY PREDICTION_SET

Page 24: Pert 3 -_function

24

XML FUNCTIONS Fungsi XML beroperasi pada dokumen atau

fragmen XML .

Page 25: Pert 3 -_function

25

XML SQL FUNGSI: APPENDCHILDXML DELETEXML DEPTH EXTRACT (XML) EXISTSNODE EXTRACTVALUE INSERTCHILDXML INSERTXMLBEFORE PATH SYS_DBURIGEN SYS_XMLAGG SYS_XMLGEN UPDATEXML XMLAGG

XMLCDATA XMLCOLATTVAL XMLCOMMENT XMLCONCAT XMLFOREST XMLPARSE XMLPI XMLQUERY XMLROOT XMLSEQUENCE XMLSERIALIZE XMLTABLE XMLTRANSFORM

Page 26: Pert 3 -_function

26

ENCODING AND DECODING FUNCTIONS fungsi encoding dan decoding

memungkinkan Anda memeriksa dan decode (membaca kode) data dalam database.

DECODE DUMP ORA_HASH VSIZE

Page 27: Pert 3 -_function

27

NULL-RELATED FUNCTIONSNULL-Related Functions memfasilitasi

penanganan null

NULL-Related Functions adalah: COALESCE LNNVL NULLIF NVL NVL2

Page 28: Pert 3 -_function

28

ENVIRONMENT AND IDENTIFIER FUNCTIONS Lingkungan dan fungsi pengenal

memberikan informasi tentang instance dan sesi.

SYS_CONTEXT SYS_GUID SYS_TYPEID UID USER USERENV

Page 29: Pert 3 -_function

29

AGGREGATE FUNCTIONS Fungsi Aggregate mengembalikan baris tunggal

hasil berdasarkan kelompok baris, bukan pada baris tunggal. Fungsi Aggregate dapat muncul dalam daftar select dan dalam klausa ORDER BY dan HAVING. Mereka umumnya digunakan dengan klausa GROUP BY dalam perintah SELECT, di mana Oracle Database membagi baris dari sebuah tabel query atau view ke dalam grup. Dalam query yang mengandung klausa GROUP BY, unsur-unsur dari daftar select bisa berupa Fungsi Aggregate , ekspresi GROUP BY, konstanta, atau ekspresi yang melibatkan salah satunya. Oracle menerapkan fungsi aggregate untuk setiap kelompok baris dan mengembalikan hasil baris tunggal untuk setiap kelompok.

Page 30: Pert 3 -_function

30

Jika Anda menghilangkan klausa GROUP BY, maka Oracle menerapkan fungsi aggregate dalam daftar select untuk semua baris dalam tabel query atau view. Anda menggunakan fungsi aggregate pada klausa HAVING untuk menghilangkan kelompok-kelompok dari output berdasarkan hasil fungsi aggregate, bukan pada nilai-nilai individu baris tabel query atau view.

Page 31: Pert 3 -_function

31

MODEL FUNCTIONSModel Functions dapat digunakan hanya dalam

model_clause dari SELECT.

Fungsi model: CV ITERATION_NUMBER PRESENTNNV PRESENTV PREVIOUS

Page 32: Pert 3 -_function

32

ORACLE/PLSQL: CREATING FUNCTIONS Di Oracle Anda dapat membuat fungsi sendiri Syntax untuk membuat Function:

Page 33: Pert 3 -_function

33

Bila Anda membuat prosedur atau fungsi, Anda dapat menentukan parameter. Ada tiga jenis parameter yang dapat dideklarasikan:

1. IN - Parameter yang dapat direferensikan oleh prosedur atau fungsi. Nilai parameter tersebut tidak dapat ditimpa oleh prosedur atau fungsi.

2. OUT - Parameter yang tidak dapat direferensikan oleh prosedur atau fungsi, tetapi nilai parameter dapat ditimpa oleh prosedur atau fungsi.

3. IN OUT - Parameter yang dapat direferensikan oleh prosedur atau fungsi dan nilai parameter dapat ditimpa oleh prosedur atau fungsi.

Page 34: Pert 3 -_function

34

FUNCTIONS WITHOUT PARAMETERS Simple Function Creation

Page 35: Pert 3 -_function

35

Page 36: Pert 3 -_function

36

FUNCTION WITHOUT PARAMETERS USED IN A SELECT CLAUSE

Page 37: Pert 3 -_function

37

Page 38: Pert 3 -_function

38

SIMPLE FUNCTION USED IN AN INSERT STATEMENT

Page 39: Pert 3 -_function

39

SIMPLE FUNCTION USED IN A WHERE CLAUSE

Page 40: Pert 3 -_function

40

SIMPLE FUNCTION USED IN A VIEW

Page 41: Pert 3 -_function

41

FUNCTIONS WITH PARAMETERS Fungsi untuk menentukan apakah sebuah

string memiliki format nomor social security yang valid

Page 42: Pert 3 -_function

42

Page 43: Pert 3 -_function

43

Page 44: Pert 3 -_function

44

FUNCTION WITH OUT PARAMETER

Page 45: Pert 3 -_function

45

FUNCTION WITH IN OUT PARAMETER