7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt -...
Transcript of 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt -...
![Page 1: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/1.jpg)
Kontrak Kuliah
Menggunakan Fungsi-Fungsi SQL
1
Edi Sugiarto, S.Kom, M.Kom
![Page 2: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/2.jpg)
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
![Page 3: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/3.jpg)
• Fungsi-fungsi single-row terbagi menjadi
– Fungsi Character / String
– Fungsi Date
– Fungsi Numeric
– Fungsi General
3
![Page 4: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/4.jpg)
• 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
![Page 5: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/5.jpg)
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
![Page 6: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/6.jpg)
• 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
![Page 7: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/7.jpg)
7
Fungsi Hasil
Cos(0) 1
Sin(0) 0
Tan(0) 0
Log(1) 0
Pi() 3.141593
• Contoh:
![Page 8: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/8.jpg)
• 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
![Page 9: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/9.jpg)
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
![Page 10: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/10.jpg)
• Contoh1 :
• Contoh2 :
10
![Page 11: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/11.jpg)
• Contoh3 :
• Contoh4:
11
![Page 12: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/12.jpg)
• 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
![Page 13: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/13.jpg)
– Contoh :
– Dimana str adalah string yang akan
dikonversi.
– Password adalah kata kunci untuk perintah
konversi tersebut.
13
![Page 14: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/14.jpg)
2. Fungsi Decode
• Digunakan untuk mengembalikan nilai string yang
telah dilakukan proses encode
• Bentuk umum :
Decode (str,password)
– Contoh :
14
![Page 15: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/15.jpg)
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
![Page 16: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/16.jpg)
– Contoh2: tampilkan 5 record pada tabel
employee dihitung dari posisi record ke 2.
16
![Page 17: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/17.jpg)
• Menggunakan option BINARY agar data case-sensitive
– Dengan menambahkan option BINARY maka
pencarian data akan bersifat case-sensitiv.
– Contoh :
17
![Page 18: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/18.jpg)
• Menuliskan ekspresi pada kolom
– Contoh1: akan ditampilkan nama dan gaji
pegawai setelah gaji dinaikkan 5% dari gaji
semula.
18
![Page 19: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/19.jpg)
• Memberi nama lain terhadap kolom
– Contoh1: akan menampilkan nama dan gaji
pegawai setelah dinaikkan 5% dari gaji
semula dengan perubahan nama kolom.
19
![Page 20: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/20.jpg)
• Ekspresi berkondisi
– Digunakan untuk mengubah keluaran yang
berbeda dengan data asalnya.
– Syntax :
Case <nilai_ekspresi>
When <nilai_ekspresi> then <nilai_ekspresi>
End
20
![Page 21: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/21.jpg)
– Contoh :ditampilakn empNo, empName dan
job dengan ekspresi berkondisi sbb:
21
![Page 22: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/22.jpg)
• Ekspresi Berkondisi
– Selain menggunakan case, perintah lain untuk
ekspresi berkondisi dapat menggunakan
perintah IF.
– Syntax:
IF (<ekspresi>,<kondisi benar>,<kondisi salah>)
22
![Page 23: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/23.jpg)
– Contoh :ditampilkan empNo, empName dan
status dengan kondisi jika job adalah
president tampilkan status ‘Leadership’, selain
itu tampilkan status ‘Staff’.
23
![Page 24: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/24.jpg)
– 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
![Page 25: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/25.jpg)
– Sehingga hasilnya sbb:
25
![Page 26: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/26.jpg)
Terima kasih
26
![Page 27: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/27.jpg)
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
![Page 28: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/28.jpg)
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
![Page 29: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/29.jpg)
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
![Page 30: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/30.jpg)
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
![Page 31: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/31.jpg)
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
![Page 32: 7. EDI SBD Menggunakan Fungsi-Fungsi SQL.ppt - …dinus.ac.id/repository/docs/ajar/7._EDI_SBD_Menggunakan_Fungsi... · fungsi string, numeric dan tanggal ... • Menggunakan perintah](https://reader036.fdocuments.net/reader036/viewer/2022082217/5a9b3fd17f8b9adb5c8de276/html5/thumbnails/32.jpg)
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