SQL pada umumnya adalah bahasa deklaratif yang secara natural tidak dirancang untuk membuat program. Pada slide ini diberikan penjelasan mengenai fitur-fitur pemrograman yang ada pada bahasa khas SQL Server, yaitu Transact SQL (T-SQL).
4. 1. Konsep Pemrograman
• Manakah di bawah ini yang termasuk “Bahasa Pemrograman”?
• HTML
• XML
• CSS
• JavaScript
• Java
• C++
• JSON
• SQL
• Mengapa suatu bahasa bisa disebut sebagai “Bahasa Pemrograman” dan mengapa yang lainnya tidak?
• Kata kuncinya adalah pada ada atau tidaknya fitur “Kontrol Alur” atau “Control of Flow”.
• Control of Flow adalah Fitur yang memungkinkan jalannya baris kode tidak monoton lurus dari baris awal ke baris akhir
(atas à bawah).
• Bisa dibelok-belokkan sesuai keinginan.
• Kontrol alur banyak macamnya, tetapi yang paling utama:
• Blok
• Perulangan
• Pencabangan
• Rutin (Routine)
04/12/21 Jurusan Teknologi Informasi - Politeknik Negeri Malang 4
5. • Blok
• Kelompok baris perintah.
• Di bahasa pemrograman yang seperti C biasanya ditandai dengan { dan }
• Perulangan
• Fitur yang memungkinkan suatu blok yang ditulis 1x, bisa dieksekusi secara berulang-ulang secara otomatis.
• Biasanya berupa FOR, DO..WHILE
• Pencabangan
• Fitur yang memungkinkan blok tertentu dijalankan/tidak dijalankan berdasarkan kondisi tertentu.
• Ditandai dengan IF, SWITCH..CASE
• Rutin (Routine)
• Adalah blok yang memiliki input tertentu dan mengolah input tersebut dengan proses tertentu sehingga
menghasilkan sesuatu.
• Dibeberapa Bahasa pemrograman biasanya rutin dibedakan menjadi 2:
• Prosedur à Tidak memiliki nilai balik (RETURN value).
• Fungsi à Memiliki nilai balik.
04/12/21 Jurusan Teknologi Informasi - Politeknik Negeri Malang 5
1. Konsep Pemrograman
Kontrol Alur
6. 04/12/21 6
• Sebuah bahasa tanpa keempat kontrol alur tersebut, pada umumnya tidak bisa dikatakan sebagai bahasa
pemrograman.
• Contoh: HTML, XML, CSS
• Lalu bagaimana dengan SQL?
• Aslinya, SQL BUKAN sebuah bahasa pemrograman.
• Melainkan hanya sebuah bahasa deklaratif yang digunakan untuk memerintah DBMS dalam mengolah data.
• Kemudian Microsoft menambahkan elemen-elemen pemrograman bada SQL buatan mereka yaitu Transact
SQL.
• Sehingga menjadi laris, dan akhirnya diikuti oleh Oracle (PL-SQL), Postgre (PG-SQL), dan akhir-akhir ini (MySQL
versi > 8.0) juga menambahkan beberapa fitur pemrograman di dalamnya.
• Pada T-SQL:
1. Konsep Pemrograman
Pemrograman dengan SQL
No. Kontrol Alur Ditandai dengan:
1 Blok BEGIN .. END
2 Perulangan WHILE
3 Pencabangan IF..ELSE
4 Rutin FUNCTION, PROCEDURE
Jurusan Teknologi Informasi - Politeknik Negeri Malang
8. 04/12/21 8
• Adalah sekumpulan baris perintah.
• Pada T-SQL, blok diawali dengan ‘BEGIN’ dan diakhiri dengan ’END’;
• Ingat: “GO” bukan blok!
2. Kontrol Alur Dasar pada T-SQL
Blok
Jurusan Teknologi Informasi - Politeknik Negeri Malang
9. 04/12/21 9
• Pada T-SQL, perulangan ditandai dengan kata kunci ’WHILE’
• Jika perintah yang ingin diulang lebih dari satu baris, maka harus diletakkan dalam sebuah blok.
• Diawali dengan ‘BEGIN’ dan diakhiri dengan ’END’;
2. Kontrol Alur Dasar pada T-SQL
Perulangan
Jurusan Teknologi Informasi - Politeknik Negeri Malang
10. 04/12/21 10
• Pada T-SQL, pencabangan ditandai dengan kata kunci ’IF..ELSE’.
• Juga perlu ‘BEGIN..END’ jika lebih dari 1 baris.
2. Kontrol Alur Dasar pada T-SQL
Pencabangan
Jurusan Teknologi Informasi - Politeknik Negeri Malang
12. 1. Rutin pada T-SQL
• Rutin (Routine) Blok perintah yang memiliki input yang diproses, dan
akan menghasilkan sesuatu.
• Sesuatu tersebut ada yang:
• Berupa nilai (value) yang diteruskan ke baris berikutnya Function.
• Berupa perubahan yang bukan berupa nilai Stored Procedure
• Pada T-SQL:
• Walaupun Procedure tidak memiliki nilai balik, tetapi ia bisa mengubah
data.
• Functon hanya bisa membaca data saja.
• Pada SQL Server, keduanya dapat dijumpai pada folder ‘Programmability’
di Object Explorer.
04/12/21 12
Jurusan Teknologi Informasi - Politeknik Negeri Malang
13. 1. Rutin pada T-SQL
FUNCTION
04/12/21 13
• Function adalah routine yang mengembalikan nilai.
• “Mengembalikan” à Output yang dihasilkan berupa suatu nilai yang bisa dibaca oleh baris kode
yang memanggil fungsi tersebut.
• Pada SQL Server fungsi ditandai dengan ‘(‘ dan ‘)’.
• Jika dilihat dari siapa yang membuat, terdapat 2 jenis fungsi:
• Built-in function à Dibuat oleh Microsoft, kita tinggal menggunakan saja.
• User-defined function à Kita membuat sendiri.
• Untuk membuat function sendiri, digunakan sintaksis: ‘CREATE FUNCTION’.
• Agar bisa dijalankan, sintaksis tersebut haruslah berada sendirian dalam sebuah batch.
• Diapit oleh dua buah ‘GO’.
Jurusan Teknologi Informasi - Politeknik Negeri Malang
14. 1. Rutin pada T-SQL
FUNCTION: Cara Membuat
04/12/21 14
• Contoh: Membuat fungsi untuk menentukan harga produk ‘MAHAL’ atau ‘MURAH’ berdasarkan
perbandingan dengan rata-rata harga semua produk yang ada.
Jurusan Teknologi Informasi - Politeknik Negeri Malang
15. 1. Rutin pada T-SQL
FUNCTION: Cara Memanggil
• Untuk memanggil function kita harus
menggunakan keyword SELECT.
• Apabila tidak diberi alias, maka kolom yang
dihasilkan tidak akan ada namanya.
04/12/21 15
Jurusan Teknologi Informasi - Politeknik Negeri Malang
16. 1. Rutin pada T-SQL
PROCEDURE
04/12/21 16
• Function adalah routine yang tidak bisa mengubah data.
• Apabila ingin membuat sebuah rutin yang bisa mengubah data, maka kita harus membuat sebuah
STORED PROCEDURE.
• Stored procedure tidak memiliki RETURN VALUE, tetapi pada pendefinisiannya, ia bisa
ditambahkan statement-statement DML.
• Apabila sangat terpaksa, STORED PROCEDURE dapat diakali agar ia seolah-olah memiliki return
value.
• Dengan menambahkan keyword OUTPUT pada saat membuatnya.
Jurusan Teknologi Informasi - Politeknik Negeri Malang
17. 1. Rutin pada T-SQL
PROCEDURE: Membuat dan memanggil
04/12/21 17
• Untuk memanggil, digunakan keyword EXEC atau EXECUTE.
• Nama parameternya ditulis, tidak menggunakan kurung buka dan tutup.
• Contoh: Membuat procedure untuk memeriksa apakah kolom ‘shipregion’ bernilai NULL, jika NULL, maka akan
diganti nilainya dengan string ‘Not Available’.
Jurusan Teknologi Informasi - Politeknik Negeri Malang
20. Tugas
• Buatlah sebuah fungsi yang menampilkan:
• ‘SD’ apabila pada parameternya dimasukkan angka 1-6
• ‘SMP’ apabila dimasukkan angka 7-9
• ‘SMA’ apabila 10-12.
• Buatlah sebuah stored procedure yang apabila dijalankan akan menyalin seluruh struktur maupun isi
dari tabel HR.Employees ke sebuah tabel baru dengan nama HR.Employees_Backup.
• Kumpulkan bersama dengan SQL yang sudah Anda buat hari ini ke Google Classroom.
04/12/21 20
Jurusan Teknologi Informasi - Politeknik Negeri Malang