7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt -...

Post on 04-Mar-2018

257 views 4 download

Transcript of 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt -...

Kontrak Kuliah

Menggunakan Fungsi-Fungsi SQL

1

Edi Sugiarto, S.Kom, M.Kom

Fungsi-Fungsi SQL

• Terdapat dua kategori fungsi dalam SQL

– Single-Row : fungsi ini menerima satu baris

sebagai operand.

– Multiple-Row : fungsi ini menerima lebih dari

satu operand.

• Contoh fungsi yang termasuk dalam multiple-

row antaralain : Group By, Sum, Max, Min,

Count, dan AVG.

2

• Fungsi-fungsi single-row terbagi menjadi

– Fungsi Character / String

– Fungsi Date

– Fungsi Numeric

– Fungsi General

3

• Fungsi Karakter/String

– Merupakan fungsi yang berorientasi pada

string.

4

Fungsi Hasil

Lower(‘MySQL Database’) mysql database

Upper(‘MySQL Database’) MYSQL DATABASE

Concat(‘MySQL’,’ Database’) MySQL Database

Substr(‘MySQL Database’,3,3) SQL

Left(‘MySQL Database’,5) MySQL

Right(‘MySQL Database’,5) Abase

Length(‘MySQL Database’) 14

Instr(‘MySQL Database’,’Q’) 4

5

Fungsi Hasil

Ascii(‘a’) 97

Char(65) A

Format(300000000,2) 300,000,000.00

Lpad(‘udinus’,8,’*’) **udinus

Rpad(‘udinus’,8,’*’) udinus**

Repeat(‘x’,10) xxxxxxxxxx

Ltrim(‘ udinus’) udinus

Rtrim(‘udinus ‘) udinus

Reverse(‘udinus’) sunidu

Replace(‘FIK’,’K’,’Komputer’) FIKomputer

Insert(‘sunshine’,1,3,’rain or ‘) rain or shine

Trim(‘ udinus ‘) udinus

Find_in_set(‘AB’,’A,B,AB,O’) 3

• Fungsi Numeric

– Merupakan fungsi yang berorientasi pada nilai

numerik.

6

Fungsi Hasil

Truncate(45.928,2) 45.92

Round(45.928,2) 45.93

Mod(10,3) 1

Sqrt(625) 25

Sign(45.928) 1

Floor(45.928) 45

Ceiling(45.928) 46

Abs(-45.928) 45.928

7

Fungsi Hasil

Cos(0) 1

Sin(0) 0

Tan(0) 0

Log(1) 0

Pi() 3.141593

• Contoh:

• Fungsi Tanggal dan Waktu

8

Fungsi Keterangan

Current_date atau Curdate() Menampilkan tanggal sekarang

Current_time atau Curtime() Menampilkan waktu sekarang

Current_timestamp() Menampilkan tanggal dan waktu sekarang

Now() Menampilkan tanggal dan waktu sekarang

Month() Menghasilkan angka nomor urut bulan

Monthname() Menampilkan nama bulan

Dayofmonth() Menampilakn nomor urut tanggal

To_days() Menghasilkan jumlah hari

Year() Menghasilkan angka tahun

9

Fungsi Keterangan

Dayname() Menghasilkan nama hari

Hour() Menghasilkan angka jam

Minute() Menghasilkan angka menit

Second() Menghasilkan angka detik

Weekday() Menghasilkan angka urut dalam satu minggu

Date_add() Menghasilkan penambahan tanggal

Datediff() Menghasilkan pengurangan tanggal

Date_format() Menghasilkan format tanggal

• Contoh1 :

• Contoh2 :

10

• Contoh3 :

• Contoh4:

11

• Fungsi General

– Merupakan fungsi yang tidak termasuk dalam

fungsi string, numeric dan tanggal

– Fungsi tersebut antaralain:

1.Fungsi Encode

• Digunakan untuk mengkonversi string ke binary

string.

• Bentuk umum :

Encode (str,password)12

– Contoh :

– Dimana str adalah string yang akan

dikonversi.

– Password adalah kata kunci untuk perintah

konversi tersebut.

13

2. Fungsi Decode

• Digunakan untuk mengembalikan nilai string yang

telah dilakukan proses encode

• Bentuk umum :

Decode (str,password)

– Contoh :

14

Lebih lanjut dengan SELECT

• Menggunakan perintah LIMIT

– Digunakan untuk membatasi jumlah record

yang akan ditampilkan.

– Contoh1 : masih menggunakan tabel

employee pada pertemuan sebelumnya.

Tampilkan 3 record data pada tabel

employee.

15

– Contoh2: tampilkan 5 record pada tabel

employee dihitung dari posisi record ke 2.

16

• Menggunakan option BINARY agar data case-sensitive

– Dengan menambahkan option BINARY maka

pencarian data akan bersifat case-sensitiv.

– Contoh :

17

• Menuliskan ekspresi pada kolom

– Contoh1: akan ditampilkan nama dan gaji

pegawai setelah gaji dinaikkan 5% dari gaji

semula.

18

• Memberi nama lain terhadap kolom

– Contoh1: akan menampilkan nama dan gaji

pegawai setelah dinaikkan 5% dari gaji

semula dengan perubahan nama kolom.

19

• Ekspresi berkondisi

– Digunakan untuk mengubah keluaran yang

berbeda dengan data asalnya.

– Syntax :

Case <nilai_ekspresi>

When <nilai_ekspresi> then <nilai_ekspresi>

End

20

– Contoh :ditampilakn empNo, empName dan

job dengan ekspresi berkondisi sbb:

21

• Ekspresi Berkondisi

– Selain menggunakan case, perintah lain untuk

ekspresi berkondisi dapat menggunakan

perintah IF.

– Syntax:

IF (<ekspresi>,<kondisi benar>,<kondisi salah>)

22

– Contoh :ditampilkan empNo, empName dan

status dengan kondisi jika job adalah

president tampilkan status ‘Leadership’, selain

itu tampilkan status ‘Staff’.

23

– Latihan :

• Untuk latihan buatlah query pada tabel employee

untuk menentukan grade gaji berdasarkan tabel

berikut:

24

Gaji Grade

>=10000000 6

>=7500000 dan <10000000 5

>=5000000 dan < 7500000 4

>=3000000 dan < 5000000 3

>=1000000 dan < 3000000 2

<1000000 1

– Sehingga hasilnya sbb:

25

Terima kasih

26

Latihan

Tulislah perintah SQL untuk menyelesaikan latihan berikut :

1.Buatlah tabel dosen dan struktur tabelnya sbb:

27

Nama Field Type Keterangan

Kode_dos Int(4)

Primary key, tidak boleh kosong

, unsigned, zerofill,

auto_increment

Nama_dos Varchar(30) Tidak boleh kosong

Alamat_dos Varchar(50)

Tgl_masuk date

2. Tambahkan field kota char(20) yang ditempatkan

setelah field alamat_dos

3. Masukkan record-record berikut ke tabel dosen sbb:

28

Kode_

dos

Nama_dos Alamat_dos Kota_dos Tgl_masuk

1 Agung Susanto Jl. A. Yani No 20 Semarang 10-02-1990

2 Mila Estianti Jl. Ranggalawe No 4 Semarang 13-10-1998

3 Dini Nurisanti Perum Korpri Blok

E4

Solo 20-09-1990

4 Sugeng Purnomo Jl. Kemuning Raya Demak 25-11-1992

5 Rahmadi Jl. Dahlia No 5 Kudus 18-06-2010

4. Ubah data alamat, kota dan tanggal masuk dosen yang

memiliki nama depan “sugeng” menjadi

– Alamat = “Perum. Majapahit no 5”

– Kota = “Semarang”

– Tgl_masuk = 21-09-1994

5. Tampilkan semua data dosen dimulai record ke 3

hingga 5, untuk nama tampilkan dalam huruf kapital

6. Tampilkan nama_dos, kota_dos dan lama_kerja seluruh

dosen.

29

7. Dari tabel dosen tampilkan data dosen dalam format

sbb

• Ketentuan

– Tampilkan tgl_masuk dalam format d M Y

– Untuk kota_dos tampilkan

» “SMG” jika kota “Semarang”

» “SLO” jika kota “Solo”

» “DMK” jika kota “Demak”

» “KDS” jika kota “Kudus”

30

Kode_dos Nama_Dos Kota_dos Tgl_masuk

8. Buatlah tabel krs dengan struktur tabel sbb:

9. Isikan record-record berikut pada tabel krs

‘A21-101’,’A21.2001.00234’,80

‘A21-101’,’A21.2001.00243’,60

‘A21-202’,’A21.2002.00451’,65

‘A21-203’,’A21.2002.00451’,45

‘A21-203’,’A21.2002.00651’,85

‘A21-203’,’A21.2002.00532’,90

‘A21-203’,’A21.2004.00720’,8731

Nama Field Type Keterangan

Kode_kul Char(7) Primary Key, Tidak boleh kosong

Nim Char (10) Primary Key, Tidak Boleh Kosong

Nilai Int

10.Tampilkan semua data krs untuk nim angkatan 2001

menggunakan fungsi substr()

11.Dari tabel krs tampilkan data nilai angka dan nilai huruf

dengan format sbb

– Ketentuan nilai huruf adalah :

• Nilai 0..49 adalah “E”

• Nilai 50..59 adalah “D”

• Nilai 60..69 adalah “C”

• Nilai 70..84 adalah “B”

• Nilai 85..100 adalah “A”32

Kode_kul NIM Nilai Angka Nilai Huruf