P. 1
SQL 2008

SQL 2008

|Views: 799|Likes:
Published by mr_bete

More info:

Published by: mr_bete on Nov 18, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/16/2013

pdf

text

original

Modul Praktikum

SQL

Sekolah Tinggi Informatika dan Komputer Indonesia 2008 i

Winner vs. Looser
Winner is always a part of solutions Looser is always a part of problems Winner sees answer in every problem Looser sees problem in every answer Winner always has a program Looser always has an excuse Winner always says, “It’s difficult, but it’s possible.” Looser always says, “It’s possible, but it’s difficult.”

ii

Kata Pengantar

P

ertama-tama penyusun ingin mengucapkan puji syukur kehadirat Tuhan Yang Maha Esa atas segala rahmat, taufik dan hidayah-Nya yang dilimpahkan kepada penyusun, sehingga dapat meneyelesaikan Buku Pedoman Praktikum SQL ini. Buku Pedoman Praktikum ini kami susun untuk membantu mahasiswa dalam mengikuti praktikum SQL. MS SQL Server adalah salah satu produk Relational Database Management System (RDBMS) populer saat ini. Fungsi utamanya adalah sebagai database server yang mengatur semua proses penyimpanan data dan transaksi suatu aplikasi. Popularitas SQL Server akhir-akhir ini mulai menanjak dan setara dengan pesaing terdekatnya yaitu Oracle 9i dan Oracle 10g. Saat ini versi terbaru adalah SQL Server 2005. Namun dalam praktikum SQL ini kita masih menggunakan Versi 2000 karena SQL Server 2005 saat modul ini dibuat masih dalam tahapan BETA. Versi 2000 memiliki feature-feature lengkap untuk membangun aplikasi mulai skala kecil sampai dengan tingkat enterprise. Tak lupa Alhamdulillah kami ucapkan karena akhirnya revisi Modul SQL ini dapat diselesaikan. Pembuatan modul ini tak lepas dari campur tangan para asisten praktikum SQL Server yang telah meluangkan waktunya untuk merevisi modul ini. Terima kasih juga kami ucapkan kepada Kapuskom, Bpk. Sugeng Widodo yang senantiasa mendukung kami. Tentunya, dalam penulisan modul ini tak lepas dari kesalahan, untuk itu kritik dan saran yang sifatnya membangun sangat kami harapkan dari berbagai pihak. Akhirnya mudah-mudahan buku pedoman ini bermanfaat bagi pembaca. Malang, Februari 2008 Penyusun

iii

.............................................. Looser...........SQL .................... 1.............. Daftar Isi ..... Trigger ..................... View dan Index ........ Kata Pengantar.......................................................................................................................................................................... Fungsi dalam SQL ....... Membangun Database dan Mengatur Keamanannya 2..................................................Daftar Isi Winner vs............. 3..... 4........................ Transact .............. Stored Procedure.......... 7........................... Memanipulasi Data .............................................................................................. 5.......................... Tabel .............................................................. 6................................................. ii iii iv 1 7 26 38 47 57 66 80 iv ... 8......

4 Kerjakan Tugas Praktikum I sebagai latihan dirumah. Tunjuk dan kumpulkan modul praktikum Anda yang berisi hasil pekerjaan Tugas Praktikum I kepada asisten pada pertemuan berikutnya. kemudian lanjutkan dengan mengerjakan langkah-langkah praktikum pada modul yang telah disiapkan. Hasil : 1 Kumpulkan modul praktikum Anda yang berisi jawaban Tugas Pendahuluan dan jawaban Soal Praktikum I sesuai dengan pertanyaan yang ada. 2 Praktikan mampu untuk mengatur keamanan database-nya. Persiapan : 1 Baca buku literatur mengenai sistem database. Pekerjaan : 1 Kerjakan dan selesaikan semua tugas dan soal pada praktikum I di lembar jawaban yang sudah disediakan di modul. 2 Selesaikan Tugas Pendahuluan praktikum I. 2 Modul praktikum I.Praktikum 1 MEMBANGUN DATABASE DAN MENGATUR KEAMANANNYA Tujuan : 1 Praktikan mampu untuk membuat database dengan tiga (3) metode yang akan diujicobakan pada praktikum I ini. setelah selesai mengerjakan langkah-langkah praktikum. 3 Kerjakan Soal Praktikum I yang telah disediakan di modul. 2 1 . khususnya mengenai pembuatan database serta manajemen user dan akses privileges. terutama yang menggunakan DBMS SQL Server 2000.

mencatat data baru (insert). yaitu : create database wizard.  Database dapat mempunyai penyimpanan sekunder sebagai backup dalam file extensi *. 2 Pembuatan Database SQL Server menyediakan tiga method untuk membuat database. 3 Manajemen User dan Akses Privileges Suatu database yang kompleks dapat diakses oleh banyak user dengan batasan-batasan tertentu. Beberapa ijin ajses yang dapat diberikan oleh suatu user pada user yang lain terlihat pada tabel berikut : 2 . Dengan adanya manajemen user yang baik maka data tersebut dapat dijamin. memanipulasi. Salah satu alasan mengapa perlu adanya beberapa user dengan tingkat hak akses yang berbeda-beda adalah untuk keamanan data. SQL Server Enterprise Manager. mencatat penghapusan data (delete).ldf. yaitu : mencatat modifikasi table (update).ldf. menghapus. Data-data yang penting dan sifatnya rahasia kadang tidak boleh diakses oleh user secara umum. Sebagai contoh DBMS yang sering kita gunakan adalah Ms. Antara user yang satu dengan user yang lainnya dapat mempunyai tingkatan yang berbeda. dan lain-lain. File ini berkembang dengan penyimpanan table dan objek database lainnya. Database managemen system adalah sebuah program komputer yang memungkinkan pengguna untuk membuat dan memelihara database sehingga pengguna dapat memasukkan. Ms. SQL Server mengimplementasikan database dengan menyimpan 2 struktur. dan perintah T-SQL (Query) yang dapat disimpan dalam file dan dijalankan sebagaimana sebuah script. LOG Disimpan dalam file dengan extensi *. hanya user tertentu saja yang boleh mengaksesnya. Ms. mengubah. file ini berisi catatan transaksi. Access. dan memperoleh kembali data tersebut dengan mudah.mdf.Landasan Materi : 1 Definisi database & Database Management System (DBMS) Database adalah kumpulan fakta-fakta sebagai representasi dari dunia nyata yang berhubungan dan mempunyai arti tertentu. yaitu :  Data Disimpan dengan file extensi *. SQL Server.

Statemen untuk memberikan ijin akses pada user untuk membuat fungsi. Statemen untuk memberikan ijin akses pada user untuk melakukan backup log database. Statemen untuk memberikan ijin akses pada user untuk membuat prosedur. Statemen untuk memberikan ijin akses pada user untuk membuat rule. Ijin akses untuk menghapus data. Statemen untuk memberikan ijin akses pada user untuk membuat default database. Ijin akses untuk menulis atau memasukkan data baru. Semua ijin akses yang telah disebutkan diatas. Dan daftar statemen ijin akses untuk membuat objek database yang baru terlihat pada daftar tabel berikut : Statemen Create Database Create Default Create Function Create Procedure Create Rule Create Table Create View Backup Database Backup Log Deskripsi Statemen untuk memberikan ijin akses pada user untuk membuat database. Statemen untuk memberikan ijin akses pada user untuk melakukan backup database. yaitu select. fan references. Statemen untuk memberikan ijin akses pada user untuk membuat tabel. Ijin akses untuk memodifikasi data. execute. Ijin akses untuk mengeksekusi atau menjalankan prosedur tersimpan (stored procedure) Ijin akses untuk menciptakan tabel yang merferensikan pada tabel yang lain.Ijin Akses Select Delete Insert Update Execute References ALL Deskripsi Ijin akses untuk membaca data. Statemen untuk memberikan ijin akses pada user untuk membuat view. 3 . update. insert. delete.

Jelaskan dengan singkat mengenai sistem database ! 2. SQL Server mengimplementasikan database-nya ? 4 . Bagaimana Ms.Tugas Pendahuluan Praktikum I 1. Sebutkan sedikitnya 3 DBMS yang Anda kenal selain DBMS yang disebutkan di modul ! 3.

Buka SQL Server Enterprise Manager.Langkah selanjutnya : Ikuti langkah-langkah praktikum. Pembuatan Database Pastikan SQL Server dalam keadaan running dengan cara melihat pada service manager. 5 . SQL Server. mulai dengan meng-klik folder Ms. dan kemudian klik nama server (local)(Windows NT) yang akan Anda gunakan. Klik folder SQL Server Group. Membangun database menggunakan Create Database Wizard 1. dan pilih server mana yang ingin Anda gunakan untuk membuat database. Untuk memilih server. pilih Wizard. Dari menu tools. Langkah-langkah praktikum : 1.

Klik database.2. Anda dapat mencari dan memilih foldernya. Setelah Anda memberi nama database dan lokasi ke path. 6 . kemudian klik OK untuk melanjutkan. atau klik Create Database Wizard. 3. Jika Anda klik tombol browse […] disebelah kanan dua kotak teks. Lokasi tersebut harus berisi valid drive dan folder yang telah ada pada local system Anda. klik next untuk melanjutkan. Ketikkan nama database yang ingin Anda buat dan path lokasi dimana Anda ingin menyimpan data file dan log file. Klik next untuk melanjutkan ke tampilan nama database dan spesifikasi lokasi. lalu klik ganda Create Database Wizard untuk mulai membuat database.

tinggalkan default size. Primary data file berektensi *.ndf.mdf. akan menjadi secondary file dan secara otomatis aan diberi ektensi *. Anda dapat menyetujui nama itu atau mengetikkan yang berbeda. Bila sebaliknya. Tampilan Name The Database File muncul. 7 .4. Primary file database secara otomatis dibuat dan diberi nama dalam awalan. Jika Anda telah memikirkan seberapa besar file database itu. Beberapa file yang Anda buat pada saat pertama. Anda dapat memodifikasinya dikemudian hari menggunakan enterprise manager atau command ALTER DATABASE. Tidak ada option user-defined filegroup pada Create Database Wizard. atau primary file. ketik nilai untuk initial size sekarang. Pada kotak dialog ini Anda dapat mengetikkan nama dan initial size untuk masingmasing file database. semua file yang dibuat ini akan ditempatkan pada primary filegroup.

Secara umum. Anda harus memilih fasilitas Automatic file growth bila membutuhkan overhead. Tampilan Define The Database File Growth akan muncul. Klik next untuk melanjutkan. Bila sebaliknya. maka Anda perlu mengatur ukuran database secara manual sesuai kebutuhan.5. 8 . Anda dapat menspesifikasikan bagaimana database Anda seharusnya bertambah : Apakah menggunakan ukuran MB atau menggunakan ukuran persen dari ukuran sekarang.

Tampilan Define The Transaction Log File Growth tampil. tapi yang ini untuk log file.6. Tampilan ini terlihat sama dengan Define The Database File 9 . 7. Tampilan Name The Transaction Log Files muncul. Klik next untuk melanjutkan. Tampilan ini nampak sama dengan tampilan Name The Database Files.

Bila sebaliknya. tetapi ini untuk mendifinisikan option growth untuk log file. Kotak dialog Create Database Wizard Message muncul untuk memberi informasi kepada Anda bahwa database Anda telah dibuat dengan sukses. Ketikkan nama database dalam kotak Name. 8. Membangun database menggunakan Enterprise Manager 1. Pembuatan maintenance plan direkomendasikan untuk memastikan bahwa performance database Anda bagus. Jika Anda setuju. 10 . klik SQL Server group yang berisi nama dari server yang Anda inginkan untuk membangun database. memback up secara tetap pada saat system failure. Klik OK untuk menutup kotak dialog ini. dengan tab General aktif. klik Finish untuk mengakhiri pembuatan database. menanyakan apakah Anda akan membuat maintenance plan untuk database Anda yang baru. Klik next untuk melanjutkan. klik Back dan lakukan perubahan lagi seperlunya. Tampilan Completing The Create Database Wizard muncul. dan melakukan pengecekan pada saat tidak konsisten. Buka Enterprise manager. Pada jendela sebelah kiri. Window Database Properties terbuka. dan kemudian klik server itu. 9. Lihat ulang informasi yang telah Anda spesifikasikan untuk database yang baru Anda buat. Kotak Message yang lain muncul. 10. Klik kanan folder database dan pilih new database 2.Growth.

Anda dapat mengetikkan userdefined filegroup. Untuk data file selain dari primary file.3. Klik tab Data Files. dan filegroup akan dibuat untuk Anda. dan ukuran primary file. tetapi Anda tidak dapat mengubah filegroup untuk primary data file. Ketikkan nama (logical name). 11 . lokasi (physical name). Anda dapat mengubah nama. Enterprise manager secara otomatis akan membuat primary data filedengan nama database Anda seperti awalan dan dengan PRIMARY sebagai file group. ukuran dan file group untuk masing-masing data file yang Anda buat. lokasi.

Anda kemudian dapat menspesifikasikanpertumbuhan file itu dalam megabytes (dengan memilih in megabytes) atau percetage (dengan memilih By percent) dari free space yang ada dalam file. 4. Anda dapat mengubah setting dengan mengetikkan path baru atau dengan menggunakan browse. Dalam file properties pada bagian bawah. Anda juga dapat menspesifikasikan ukuran maksimum file dengan meng-klik Restrict File Growth dan memasukkan ukuran yang mendekati dalam megabytes. Anda juga dapat meninggalkan defaults dan mengesetnya di kemudian hari menggunakan window Enterprise Manager Database Properties.Lokasi untuk masing-masing file ada pada default folder pada drive yang diinstall SQL Server. atau Anda dapat meniggalkan file size tanpa restrict dengan memilih unrestricted file growth. kecuali bahwa Anda tidak dapat 12 . 5. Anda dapat memilih option Automatic-grow file pada per-file basis. Pilih nama dari file yang ingin Anda set pilihan pertumbuhannya. klik tab Transaction Log dalam window Database Properties untuk konfigurasi file transaction log. Jika Anda ingin menghapus file dari daftar. Anda dapat mengatur option tersebut pada masing-masing file. Log file dikonfigurasi dengan cara yang sama dengan data files. pilih nama dari file dan tekan tombol Delete. Setelah selesai mengkonfigurasi semua data file.

(NAME = MyData_Secondary. FILEGROWTH=100KB) ------Log data file FILENAME = 'E:\02113216\MyData_Log.mdf'. ------Primary data file FILENAME = 'E:\02113216\MyData_Primary. MAXSIZE=1MB. MAXSIZE=9MB. Membangun database menggunakan command T-SQL (Query Analyzer) Untuk membuat sebuah database dengan T-SQL. Pilih option Atomatic-growth untuk log files seperti yang dijelaskan pada langkah 4. yang sisanya dalam primary filegroup secara default. ------Secondary data file FILENAME = 'E:\02113216\MyData_Secondary. dan satu transaction log file (MyData_Log) ) CREATE DATABASE MyData ON (NAME = MyData_Primary. FILEGROWTH=100KB) LOG ON (NAME = MyData_Log. SIZE=512KB.ldf'. MAXSIZE=9MB. SIZE=8MB. Ketikkan nama file(logical name). diperlukan syntax sebagai berikut :  Tanpa parameter nilai-nilai optional CREATE DATABASE MyData  Dengan menggunakan parameter lengkap (dicontohkan pembuatan database dengan nama MyData yang berisi data file (MyData_Primary). lokasi (physical name). 13 .ndf'. satu secondary data file (MyData_Secondary). SIZE=8MB.memilih filegroup untuk log files karena tidak termasuk pada beberapa filegroup. FILEGROWTH=100KB). dan initial size untuk log files atau file.

atau yang lainnya. klik next untuk melanjutkan. Buka control panel melalui menu start di bagian kiri taskbar. klik Next untuk melanjutkan. Windows Panel akan muncul. user yang dapat ditambahkan ke dalam SQL server merupakan user sistem operasi. Jika sudah. Isilah kotak edit pada field Username dengan ‘tamu’. Klik ganda pada ikon Users and Passwords sehingga muncul kotak dialog user and Passwords. 2. Restricted user. Klik OK untuk mengakhirinya. Kedua field tersebut harus diisi dengan value yang sama. Pada kotak dialog ini ada field yang harus diisi. klik tombol Add … sehingga muncul kotak dialog Add New User. 14 . tidak semuanya menjadi user pada SQL Server. Standard user berarti user dapat memodifikasi setting komputer dan menginstall program tetapi tidak dapat membaca file milik user lain bila tanpa ijin. kemudian pilih setting dan pilih Control Panel. Di antara beberapa user dari sistem operasi tersebut. Dengan pilihan ini user dapat menjadi administrator. 5. fullname dengan ‘semua tamu’ dan description dengan ‘login untuk semua tamu’. Setelah selesai mengisi field-field tersebut. Kotak dialog permintaan password akan muncul. yaitu Password dan Confirm Password. Pada kotak dialog tersebut. ikuti langkah-langkah berikut: 1. yaitu Standard user. Sebelum melangkah membuat user baru pada database server. Sebagai contoh dalam pembahasan ini gunakan password ‘test’. Tampilan berikutnya adalah level akses dari user yang dibuat. Pilih Standard user kemudian klik Finish. Pilihan yang ketiga adalah Other. 3.Untuk menghapus sebuah database yang sudah dibuat dapat dilakukan dengan instruksi : DROP DATABASE MyData 2. Dalam windows User and Passwords terlihat ada satu user baru dengan nama tamu. ORA DBA. dan Other. Restric user berarti user dapat menjalankan komputer dan menyimpan dokumen tetapi user tidak dapat menginstall program dan mengubah sistem setting. Anda telah selesai membuat user baru untuk sistem operasi. 4. 7. perlu didaftar terlebih dahulu. Manajemen User dan Akses Privileges Membuat User Baru Di dalam SQL server yang berjalan di mesin windows NT atau Windows 2000 Family. User sistem operasi yang belum menjadi user database server. Anda akan diperkenalkan dulu dengan bagaimana menambahkan user baru pada sistem operasi Windows 2000. Dalam hal ini ada tiga pilihan. ketika ingin menjadi user pada database server. 6.

Jika Anda memilih Windows Authentication. 15 . klik objek database server. 5. 4. 6. Jika anda ingin melakukan login dengan user lain. 4. Field User name akan otomatis terisi sendiri. 2. jika SQL Server disetting berdasar Windows Authentication.. 3. anda dapat melakukan langkah-langkah berikut: 1. Anda dapat mengetikkan password dari user yang akan login. anda akan masuk pada Public. Melakukan Login Untuk menjalankan Ms. Setelah muncul semua database. Klik tombol New Login pada toolbar sehingga muncul kotak dialog SQL Server Login Properties. Pada list tersebut akan muncul beberapa user yang ada. klik tombol OK. Anda dapat mengisi dengan nama user yang akan melakukan login. Klik kanan objek user. kembangkan folder database MyData. Pada bagian Authentication Anda dapat memilih apakah secara Windows Authentication atau SQL Server Authentication. Langkah untuk membuat user untuk database server. Pada bagian ini Anda dapat mencoba memasukkan untuk user tamu. Jika sudah selesai. pada bagian field Name anda dapat melakukan klik tombol bertanda .Setelah selesai membuat user untuk sistem operasi Windows. Langkah untuk membuat user baru pada SQL server adalah sebagai berikut : 1. Anda dapat memilih user tamu. selanjutnya Anda dapat membuat user untuk database server. Pada bagian database Role membersip. untuk memilih usernya. Pada aplikasi Interprese Manager. dan lain sebagainya. Pada Field Name. Setelah kotak dialog Database User Properties muncul. Jika sudah selesai. Terlihat pada Window Enterprise Manager. user yang digunakan secara otomatis menggunakan user yang sedang menggunakan sistem operasinya. Jika anda sedang login pada sistem operasi dengan menggunakan administrator maka ketika anda membuka aplikasi Enterprise Manager dari SQL Server secara otomatis akan melakukan login sebagai administrator. Field Password akan aktif. Artinnya Anda sebagai pengguna user umum dimana user ini tidak mempunyai hak istimewa seperti melakukan administrasi terhadap database server. objek user akan bertambah satu user. Pada window Enterprise Manager. Anda klik tombol OK. Pada bagian database anda dapat memilih pada database mana user tersebut aktif. 2. kemudian klik New Database User. kembangkan folder databases. SQL Server. Jika anda memilih SQL Server Autehntication Anda masukkan nama user dengan cara mengetikkannya. yaitu user tamu. klik tombol drop down list dari field Login name. 3.

…n] } To user_account {. Sintaks dari statemen GRANT secara lengkap adalah sebagai berikut: Statement permissions: GRANT { ALL | statement [. 16 . tetapi mungkin anda akan menemukan beberapa pesan yang memberitahukannya bahwa user tersebut belum dapat mengakses database karena belum ada ijin akses terhadap data-datanya. jika semua ijin akses akan diberikan. Anda telah selesai melakukan login dengan user tamu. ALL adalah menspesifikasikan bahwa semua ijin akses diberikan. - Ijin akses dapat diberikan menggunakan keyword ALL. Kotak dialog ini muncul karena ketika Anda membuat user baru pada SQL Server. User_account adalah nama user yang diber ijin akses. Statemen ini merupakan statemen ijin akses yang telah disebutkan pada pembahasan sebelumnya. Tetapi jika hanya beberapa statemen ijin akses saja. Statemen dalam T-SQL yang dapat digunakan untuk memberikan ijin akses adalah dengan statemen GRANT. Memberikan Ijin Akses Seorang user yang telah membuat suatu objek database dapat memberikan ijin akses kepada user yang lain.…n} Keterangan : GRANT adalah statamen untuk menspesifikasikan pemberian ijin akses. Hal ini disebabkan karena user tamu belum diberi ijin untuk mengakses data pada database tersebut.5. Kotak dialog Confirm New Password akan muncul. Anda belum memasukkan password. TO adalah keyword untuk menspesifikasikan kepada siapa ijin akses tersebut diberikan. Statemen yang lebih dari satu dipisahkan dengan tanda koma. Anda dapat menyebutkan langsung statemen ijin akses tersebut. Statement adalah berisi statement ijin akses apa saja yang diberikan. Klik OK pada kotak dialog tersebut.

Jika ijin akses yang diberikan lebih dari satu maka dipisahkan dengan tanda koma. Table adalah nama-nama tabel yang diijinkan untuk diakses.Object permissions : GRANT { ALL [ PRIVILEGEs] | permission [ . User defined function adalah nama-nama user defined function (fungsi) yang diijinkan untuk dieksekusi. Stored procedure adalah nama-nama stored procedure yang diijinkan untuk dieksekusi (dijalankan). anda akan mencoba beberapa contoh penggunaan dari statemen GRANT. stored procedure. - - Untuk memahami bagaimana penggunaan sintaks di atas. Objek database tersebut dapat berupa tabel. view. Langkah pertama menjalankan SQL Query Analyser dan melakukan koneksi dengan 17 . AS{group | Role } menspesifikasikan optional nama dari user account dalam database pada group atau role untuk mengeksekusi statemen GRANT.…n ])] | ON {stored_procedure | extended_procedure } | ON { user_defined_function} Keterangan : Privileges adalah keyword opsional yang dapat Anda sertakan pada SQL92 Permission adalah ijin akses yang diberikan. WITH GRANT OPTION adalah untuk menspesifikasikan bahwa user yang diberi ijin akses tersebut dapat memberikan ijin aksesnya kepada user yang lain. Column adalah nama-nama kolom yang diijinkan untuk diatas sesuai dengan ijin akses yang diberikan pada daftar ijin akses tersebut. View adalah nama-nama view yang diijinkan untuk diakses.…n] ) ] ON { table | View} | ON { table | view } [ ( column [ . dan lain-lain. Extended procedure adalah nama-nama eksetended prosedur yang diijinkan untuk dijalankan.…n] } { [ ( column [ . Daftar ijin akses telah dijelaskan pada bagian sebelumnya. Pembahasan mengenai Role akan disampaikan pada bagian selanjutnya. extended procedure. Ijin akses ini disertai dengan nama-nama objek database yang diberikan.

Masukkan statemen berikut pada window SQL Editor user sa untuk memberikan ijin akses pada user tamu. Anda dapat memberikan beberapa ijin akses sekaligus seperti yang telah disampaikan sebelumnya dengan menuliskannya dengan dipisahkan tanda koma..user sa. Anda dapat mengecek apakah user tamu yang baru saja anda gunakan untuk berhubungan dengan database sudah dapat mengakses data pada database MyData atau belum dengan mengeksekusi statemen T-SQL berikut : USE MyData GO SELECT * FROM {nama_tabel} Ketika anda mengeksekusi pernyataan di atas. Setelah anda melakukan koneksi dengan dua user tersebut. Anda dapat melakukan eksekusi pernyataan T-SQL untuk masing-masing user. Setelah berhasil melakukan koneksi dan menjalankan SQL Query Analyser.UPDATE ON {nama_tabel} TO tamu 18 . Statamen berikut adalah statemen untuk memberikan ijin akses SELECT dan UPDATE untuk tabel dosen. Hal ini terjadi karena user tamu tidak mempunyai ijin akses terhadap tabel mata kuliah. selanjutnya anda lakukan koneksi dengan user tamu melalui menu File kemudian pilih Connect. kemudian anda mencoba mengeksekusi statemen SELECT untuk user tamu seperti statemen sebelumnya. pada window SQL Query Analyser akan terdapat dua buah window SQL Editor. Satu buah window untuk user sa dan satu buah lainnya untuk user tamu. SQL Server akan menampilkan pesan error. USE MyData GO GRANT SELECT ON {nama_tabel} TO tamu Setelah Anda mengeksekusi pernyataan diatas. Setelah kedua window SQl Editor tersebut muncul. USE MyData GO GRANT SELECT. Contoh diatas adalah contoh pemberian ijin akses dengan satu ijin akses. maka SQL server akan mengumpulkan hasilnya.

USE MyData GO CREATE TABLE contoh( no int. USE MyData GO INSERT INTO contoh VALUES (1. Anda dapat melakukan retrieving data dengan statemen SELECT berikut: USE MyData GO SELECT * FROM {nama_tabel} Selanjutnya Anda juga dapat melakukan modifikasi data pada table tersebut dengan menggunakan user tamu. user tamu akan mempunyai ijin akses untuk melihat dan memodifikasi data pada tabel dosen. Eksekusi statemen berikut untuk memasukkan data. Contoh-contoh diatas adalah contoh penggunaan statetemen GRANT untuk memberikan ijin akses. Untuk mencoba hasil eksekusi dari statemen di atas. Selaint itu. anda juga dapat memberikan ijin akses statemen. nama varchar(10)) Setelah menjalankan statemen diatas.Setelah mengeksekusi statemen dicatat. Melalui window SQL editor user tamu Anda dapat menjalankan statemen berikut untuk membuat table sample kemudian mengisi tabel tersebut dengan beberapa kata. ‘Contoh 1’) INSERT INTO contoh VALUES (2. Contoh pemberian ijin akses statemen adalah pada pernyataan T-SQL berikut : Use MyData GO GRANT CREATE TABLE TO tamu Dengan mengeksekusi pernyataan T-SQL di atas maka user tamu akan mempunyai ijin untuk membuat tabel pada database MyData. Anda dapat memasukkan data dengan menggunakan statemen insert. ‘Contoh 2’) 19 .

Mencabut Ijin Akses Ijin akses yang telah diberikan oleh seseorang uses kepada user yang lain dapat dicabut kembali oleh user yang memberikan hak akses. Anda dapat mengecek hasilnya dengan menjalankan statemen SELECT. Untuk membuktikannya anda dapat menjalankan statemen SELECT pada table mata kuliah menggunakan user tamu. Contoh berikut adalah contoh bagaimana mencabut ijin akses statemen CREATE TABLE dari user tamu. USE MyData GO REVOKE SELECT ON {nama_tabel} FROM tamu Setelah ini anda mengeksekusi statemen di atas. Statemen berikut adalah statemen untuk mencabut ijin akses tersebut.Setelah anda selesai mengeksekusi pernyataaan-pernyataan di atas. maka ijin akses SELECT pada tabel mata kuliah untuk user tamu telah dicabut. Kapan saja user tersebut ingin mencabutnya maka dengan statemen REVOKE ijin akses tersebut dapat dicabut tanpa harus konfirmasi dengan user yang bersangkutan. Jika ini dilakukan maka SQL Server akan menampilkan pesan error yang sama. Pada bagian sebelumnya anda telah memberikan ijin akses SELECT pada tabel mata kulliah untuk user tamu. Perbedaannya adalah kalau pada statemen GRANT menggunakan keyword TO sedanggkan pada statemen REVOKE menggunakan keyword FROM. USE MyData GO REVOKE CREATE TABLE FROM tamu Setelah statemen dia atas dieksekusi. 20 . Statemen REVOKE menggunakan sintaks yang sama dengan statemen GRANT. SQL server akan menampilkan pesan error seperti pada gambar berikut : Dengan cara yang sama anda dapat menggunakan statemen REVOKE untuk mencabut ijin akses statemen. user tamu tidak bisa lagi membuat tabel pada database MyData.

Soal Praktikum I 1. 2. Buat database menggunakan T-SQL dengan parameter lengkap ! (Ketentuan bebas). Apa perbedaan antara GRANT dan REVOKE ? 21 .

InnoDB c. kemudian simpan dengan nama created. Jelaskan yang dimaksud dengan : 22 . MyISAM b.Tugas Praktikum I 1. Catatan : ( X = tiga digit terakhir nrp ) a. LINQ 2.sql dengan ketentuan sebagai berikut :       Nama database : STIKI_XXX Nama Primary data : STIKI_XXX_DATA Ukuran awal = 20 Mb Ukuran maksimal = 50 Mb Ukuran perkembangan file = 2 Mb Nama log : STIKI_XXX_LOG dengan nilai – nilai parameter sama dengan diatas. Dari query Analyzer buatlah script untuk membangun sebuah database.

khususnya mengenai tabel. Praktikan memahami struktur pembuatan tabel. Landasan Materi : 1. Baca buku literatur mengenai sistem database. Kerjakan dan selesaikan semua tugas dan soal pada praktikum II di lembar jawaban yang sudah disediakan di modul. Tunjuk dan kumpulkan modul praktikum Anda yang berisi hasil pekerjaan Tugas Praktikum I kepada asisten pada pertemuan berikutnya. 2. Persiapan : 1. 3. Pekerjaan : 1. 4. Selesaikan Tugas Pendahuluan praktikum II. 2. Kumpulkan modul praktikum Anda yang berisi jawaban Tugas Pendahuluan dan jawaban Soal Praktikum I sesuai dengan pertanyaan yang ada. 2. Praktikan mampu membuat tabel. setelah selesai mengerjakan langkah-langkah praktikum. Data Definition Language (DDL) 23 . Hasil : 1. terutama yang menggunakan DBMS SQL Server 2000.Praktikum 2 TABEL Tujuan : 1. Modul praktikum II. 3. Praktikan dapat memasukkan data ke dalam tabel. 2. Kerjakan Tugas Praktikum II sebagai latihan dirumah. kemudian lanjutkan dengan mengerjakan langkah-langkah praktikum pada modul yang telah disiapkan. Kerjakan Soal Praktikum II yang telah disediakan di modul.

DELETE. mengubah. DROP TABLE Pada contoh dibawah ini adalah sebuah table Mahasiswa STIKI Malang dengan bentuk sebagai berikut : Tabel : Mahasiswa NRP Nama Jenis kelamin Alamat Kota Propinsi Telpon Setiap kolom mempunyai nilai yang terkait dengan tipe data tertentu.Cara untuk mengatur dan memanipulasi data pada database dilakukan dengan bantuan instruksi SQL seperti SELECT. ALTER TABLE. Instruksi untuk membuat. Baris(row) dan kolom (column) mengindikasikan data (record).Tabel dalam database adalah komponen utama yang membentuk database itu sendiri. dan menghapus table dilakukan melalui DDL yaitu dengan CREATE TABLE. INSERT. Usaha untuk mengelompokkkan nilai dalam himpunan yang berlaku disebut dengan CONSTRAINT atau batasan nilai. Nilai kolom diluar domain tersebut dianggap sebagai pelangggaran atas integritas data. 2. Himpunan yang berupa nilai kolom yang valid atau dapat diterima (acceptable) disebut sebagai DOMAIN. Tipe Data Adapun tipe yang banyak digunakan pada Ms. UPDATE.SQL Server adalah : 24 .

Bila n tidak didefinisikan maka panjang karakter adalah 1. smallint int : Sama dengan int. hari. menit. : Untuk menyimpan bit pattern seperti heksadecimal. JPG.p). Digunakan untuk perhitungan moneter. numeric(n. float(n) : Mendefinisikan angka pecahan (floating point). sysname real(n) smalldatetime : sama dengan float namun menempati memory 50% dari float.p) : Mendefinisikan angka pecahan baik fixed desimal ataupun floating point. : sama dengan datetime hanya dengan presisi lebih kecil dimana satuan waktu terkecil adalah menit dan nilai tanggal sampai dengan 6 juni 2079. Contoh : 0x0fa9008e datetime : Mendefinisikan tanggal. jam. membutuhkan 50% memory yang ditempati int.char(n) : Mendefinisikan string sepanjang n karakter. money : Bilangan pecahan dengan 4 angka dibelakang koma. Nilai tanggal sampai dengan 31 desember 9999. bulan. Numeric analog dengan DECIMAL(n. menyimpan tahun. varchar(n) binnary(n) : Mendefinisikan string sepanjang variabel n. 25 . detik dan seperseribu detik (milliseconds). Text disebut juga dengan binary large objects (BLOBs) image : Mendefinisikan binary data untuk menyimpan image seperti GIF. Nilai n adalah jumlah bytes total dan p adalah presisi angka dibelakang koma. TIFF. : Mendefinisikan integer. dll. Nilai n adalah jumlah angka yang dapat ditampung . text : Menyimpan teks sampai dengan 2 GB. bilangan bulat yang menampung angka sebanyak 4 byte.

Sysname adalah contoh tipe data yang didefinisikan sebagai synonym dari nvarchar(128) dan digunakan untuk referensi ke nama object database.SQL Server adalah dengan menggunakan perintah stored procedure sp_datatype_info.3.823)karakter. dll. Syntax secara umum untuk membuat tipe data baru : USE nama_database SP_ADDTYPE nama_tipe_data_baru.tipe_data_SQL Syntax secara umum untuk menghapus tipe data baru : USE nama_database SP_DROPTYPE nama_tipe_data_baru Kunci kata NOT NULL atau NULL dapat ditambahkan dalam mendefinisikan tipe data.000 karakter. Untuk dapat melihat semua tipe data yang ada dalam Ms. Thai. Unicode karakter dengan data variable maksimum 4. Unicode Charakter String Unicode adalah karakter international yang menampung 16 bit per karakter. misalnya Jepang. Jerman. Unicode digunakan oleh bahasa non latin.073.000 karakter. 4. 26 . nchar nvarchar : : Unicode karakter maksimum 4. Mendefinisikan tipe data baru Tipe data dapat dibangun dari tipe data yang sudah ada.741. ntext : Unicode texts dengan panjang dua pangkat tigapuluh (1.

Tidak bersifat case sensitive. 3. 'varchar(9)'. 'NOT NULL' Alur komunikasi data antara user dengan database menggunakan SQL Dalam membuat sebuah tabel dan kolom ada beberapa aturan : 1. tetapi dalam tabel yang berbeda boleh memiliki nama kolom yang sama. create. 2. Perintah perintah yang berhubungan dengan tabel : INSTRUKSI CREATE TABLE SP_COLUMN ALTER TABLE DROP TABLE KETERANGAN : Membuat tabel : Memeriksa struktur suatu table : Mengubah struktur tabel : Menghapus tabel 27 . where. Dalam satu user tidak boleh mempunyai nama tabel yang sama. 4. garis bawah dan angka dan tidak diperbolehkan mengandung spasi. Nama tabel dan kolom mempunyai panjang karakter 1-30 dan karakter pertama harus huruf. karakter berikutnya boleh gabungan huruf. dll). Tidak mengandung Reserved word yang ada pada SQL (contoh:select.Contoh : SP_ADDTYPE alamat.

……. Foreign Key.) Batasan (constraint) = Yang mengikat atribut apakah sebagai primary Key. syntax: ALTER TABLE Nama_tabel ALTER COLUMN Nama_Field tipe_data(panjang) constraint Untuk menambah sebuah field pada tabel . 7. Membuat Tabel Syntax: CREATE TABLE nama_tabel(nama_filed1 tipedata batasan.. 6. syntax: ALTER TABLE Nama_tabel ADD Nama_Field_baru tipe_data(panjang) constraint 28 . Melihat Struktur Tabel Syntax: sp_columns Nama tabel. nama_filed2 tipedata batasan.SELECT INSERT UPDATE DELETE : Memilih query tabel : Menyisipkan baris data ke tabel : Mengubah data pada tabel : Menghapus data pada suatu table 5. dll. Unique. Memodifikasi dan menambah Field pada Tabel Untuk memodifikasi sebuah field pada tabel . Not Null.

Menghapus Tabel Syntax: DROP TABLE Nama_tabel. System dalam hal ini melakukan CHECK sesuai dengan aturan (rule)yang berlaku. 9. antara lain : Validasi field secara individual Verifikasi satu field melalui field yang lainnya Validasi data dari satu table ke table yang lainnya. Verifikasi bahwa transaksi berjalan secara sukses dari awal hingga akhir Beberapa jenis integritas data Integritas Entitas Dalam tabel setiap baris harus mempunyai identitas yang unik yang disebut dengan primary key. Integritas data tetap dijaga melalui beberapa cara. agar mempunyai arti yang sesuai.8. Hubungan antara primary key dan foreign key menyatakan apakah sebuah baris table dapat diubah atau di hapus. INTEGRITAS DATA Integritas data adalah konsistensi dan kebenaran data yang disimpan. 29 . Antara kehidupan nyata dan nilai dari data harus dilindungi oleh system. Batasan : PRIMARY KEY UNIQUE KEY UNIQUE INDEX IDENTITY Integritas Domain Menyatakan bahwa nilai data sesuai dengan kenyataannya.

default. rules Integritas Referensial Menyatakan relasi antar table bahwa hubungan foreign key dengan primary key. 30 .Batasan dan implementasi : DEFAULT CHECK FOREIGN KEY Tipe data. Batasan dan implementasi : Batasan melalui table dan kolom pada saat pembuatan table. Sebuah foreign key tidak dapat dimasukkan kedalam sebuah table bila primary key tidak atau belum ada.SQL Server beserta contoh penggunaannya. Batasan dan implementasi : CHECK FOREIGN KEY TRIGGERS DAN STORE PROCEDURE Integritas melalui aturan yang didefinisikan sendiri Sesuai dengan aturan logika dan bisnis yang ada maka pemakai dapat menetapkan batasan dan aturan dari data yang disimpan. FOREIGN KEY TRIGGERS DAN STORE PROCEDURE Sekarang akan dibahas constraint yang ada dalam Ms.

Primary key sebaliknya tidak boleh kosong karena primary key secara implicit adalah NOT NULL. NamaField4 TipeData4. Bila satu kolom mempunyai nilai NULL. NamaField7 TipeData7. 31 . NamaField2. maka nilai NULL tidak boleh muncul lagi. … ) Atau jika primary key terdiri atas banyak kolom (multiple column). PRIMARY KEY Primary Key disebut sebagai constraint untuk menjaga integritas data. NOT NULL Jika sebuat kolom pada tabel tidak boleh kosong maka constraint NOT NULL harus diberikan.10. Primary key dan unique keduanya adalah kunci kata yang mempunyai arti sama. NamaField7) ) 11. Ms. maka constraint dapat dibuat sebagai berikut: CREATE TABLE NamaTabel(NamaField1 TipeData1. 12. CONSTRAINT pk_NamaTabel PRIMARY KEY (NamaField3. NamaField2 TipeData2. yaitu sebuah primary key tidak boleh mempunyai duplikat dan otomatis tidak boleh kosong.SQL Server mengijinkan field dengan constraint unique untuk mempunyai nilai NULL. NamaField3 TipeData3. NamaField5 TipeData5. Secara umum syntax untuk membuat sebuah primary key adalah: CREATE TABLE Nama_Tabel (Nama_Field Tipedata CONSTRAINT pk_Namatabel PRIMARY KEY. UNIQUE UNIQUE digunakan untuk menjamin bahwa nilai kolom adalah tunggal tidak mempunyai duplikat. NamaField6 TipeData6.

98111761( field nrp di tabelmahasiswa) masih ada. dan NOT dapat disertakan dalam pembuatan batasan ini. Operator logika seperti AND. record (TKK-04. Tabel Mahasiswa NRP Nama JK Alamat Dinoyo Permai 8 Kota Propinsi Telpon 0341572498 02113216 Ballacksave Tabel Mata_kuliah Kode_mata_kuliah TKK-04 Tabel ambil_kuliah Kode_mata_kuliah TKK-04 NRP Malang Jatim Nama_Kuliah Sistem Database SKS 3 Nilai_Uts 90 Nilai_Uas 98 Grade A 02113216 Pada sekenario di atas.13. Penulisan constraint foreignkey adalah : CONSTRAINT fk_nama_constraint FOREIGN KEY field REFERENCES nama_tabel(field) 32 . Misalnya nilai mata kuliah dibatasi tidak boleh melebihi nilai 100. 14.98111761) pada tabel ambil_kuliah tidak dapat dihapus karena referensi dari TKK-04 (filed kode_mata_kuliah ditabel mata_kuliah). OR. CHECK CHECK digunakan untuk menjamin bahwa nilai kolom dalah dalam ruang nilai tertentu. FOREIGN KEY FOREIGN KEY adalah kolom pada sebuah tabel yang menunjukkan bahwa kolom tersebut adalah primary key pada tabel lain.

Penggunaan: NamaKolom Tipe IDENTITY(No_awal. maka kolom akan mendapatkan nomor urut. yaitu system menciptakan nomor urut secara otomatis pada setiap memasukkan record baru. nama char(20)) Pada awalnya no_daftar adalah 100. CREATE TABLE pendaftar( no_daftar int IDENTITY(100. Untuk setiap record baru berikutnya. yang dimulai dari No_awal.2). 16. DEFAULT tidak berlaku untuk kolom dengan tipe data timestamp atau field yang mempunyai property IDENTITY. 33 . IDENTITY IDENTITY merupakan property sebuah field. jika pemakai tidak memberikan nilai pada field tersebut. 106. dan seterusnya. DEFAULT Nilai default sebuah kolom dapat disuplai oleh system. incremen) Setiap terjadi INSERT. 104. dan setiap record berikutnya ditambahkan nilai inkremen (default adalah 1). no_daftar akan bernilai 102. 15.Foreign key harus menunjuk ke primary key atau unique pada tabel lain.

Syntax: INSERT INTO Nama_tabel_tujuan (Field1. Sebut dan jelaskan dengan singkat tentang jenis integritas data ! 34 . Drop Constraint DROP digunakan untuk menghapus constraint yang ada. Field3) SELECT field_sumber1. field dan record ! 2. Mengisi data pada Tabel Syntax: INSERT INTO Nama_tabel (Nama_Field1. Nama_Field2. Jelaskan dengan singkat mengenai table. field_sumber3) FROM Nama_tabel_sumber Jika 2 buah tabel mempunyai struktur yang sama maka syntax di atas dapat dipersingkat menjadi : INSERT INTO Tabel_tujuan SELECT * FROM Tabel_asal Tugas Pendahuluan Praktikum II 1. data2. 19.data3).17. field_sumber2. Contoh: ALTER TABLE nama_tabel DROP fk_nama_constraint 18. Meng-copy data dari Tabel lain Suatu kolom pada sebuah tabel dapat diisi dengan data yang sama dengan kolom tabel lain dengan syarat type data dan panjang field kedua table tersebut sama. Field2. Nama_Field3)VALUES (data1.

Jk mempunyai nilai ‘L’ atau ‘P’ char 8 varchar 50 char 1 varchar 150 varchar 50 varchar 50 varchar 20 2. Buat tabel berikut melalui QUERY ANALYZER.Nrp merupakan primary key . telpon) Nrp Nama Jk Alamat Kota Propinsi Telpon Perhatikan: . nama. alamat. Buat tabel Mata_kuliah_XXX Mata_Kuliah (kode_mata_kuliah. Nama_kuliah. Sks) kode_mata_kuliah Nama_kuliah Sks Perhatikan: Kode_mata_kuliah merupakan primary key Nama_kuliah dan Sks tidak boleh kosong char 8 varchar 100 int 35 . lengkap dengan constraint: Mahasiswa_XXX(Nrp.LANGKAH-LANGKAH PRAKTIKUM: 1.Nama.Kota bila tidak disisi maka akan otomatis diisi dengan ‘MALANG ‘ . jk. kota. propinsi. Alamat tidak boleh kosong .

’Jl. Nrp. Bandulan 8’. ’Jatim’.Grade) kode_mata_kuliah Nrp Nilai_Uts Nilai_Uas Grade char 8 char 8 smallint smallint Char 1 Perhatikan: Kode_mata_kuliah merupakan Foreign key yang mengacu pada tabel Mata_Kuliah_XXX (field kode_ mata_kuliah). ’877769’) 36 . Isi satu record pada Data mahasiswa yang telah dibuat. Nrp merupakan Foreign key yang mengacu pada tabel Mahasiswa_XXX (field Nrp). Nilai_Uas tidak boleh melebihi 100 4. Buat tabel ambil_kuliah_XXX Ambil_Kuliah (kode_mata_kuliah. Alamat. Nilai_Uts. Kota. Modifikasi field Telpon pada tabel Mahasiswa_XXX sehingga type-nya menjadi char. ’Ballacksave’. Perintah SQL nya adalah : INSERT INTO Mahasiswa_XXX (NRP. Jk. ’ Malang’. ’L’. 5. Propinsi. Nilai_Uts.3. Telpon) VALUES (‘02113216’. Nama. Nilai_Uts.

Cendrawasih 27 Asrama PUSDIK ARHANUD no 114 KOTA Jakarta Banjarmasin Banyuwangi PROPINSI DKI Jakarta Kalsel Jatim TELFON 081803803163 081803803202 08561234678 04113753 Roh Widiono L Batu Jatim 03417677993 6. 2. Tambahkan data di bawah ini: NRP 03113550 04113716 04113732 NAMA Adhis Mahaswi Herfiena Kartika Eko Fiat P.5. Tampilkan data dari tabel Mahasiswa_XXX Perintah SQL: SELECT * FROM Mahasiswa_XXX. JK P P L ALAMAT Jl. Jaya 25 no. Apa perbedaan antara Primary Key dan Foreign Key ?. Apa persamaan antara Primary Key dan keyword UNIQUE ? 37 . Bumi Handayani 4 Jl. Soal Praktikum II 1. 21 Jl.

Isi data minimal 3 data. 5 dan 6) 3. Tampilkan data anggota yang beralamat di Banyuwangi. Default = ‘Malang’ Telepon Varchar 15 Can Be Null Tabel Buku Nama Field No_Buku Judul Pengarang Penerbit Jumlah Type Char Varchar Varchar Varchar Int Panjang 8 20 30 20 Aturan Not Null. 5. 38 . 6. Primary Key Not Null Can Be Null Can Be Null Not Null 2. (Sesuaikan dengan soal no. Buat tabel-tabel dari sebuah perpustakaan dengan tipe data dan aturanaturannya: Tabel Anggota Nama Field No_Anggota Type Char Panjang 8 Aturan Not Null. Unique.Tugas Praktikum II 1. Unique. Jelaskan hubungan keduanya. Tampilkan data anggota yang ada di kota Malang dan Banjarmasin. 4. Jelaskan apa yang dimaksud dengan primary key dan foreign key. Primary Key Nama Alamat Varchar Varchar 20 30 Not Null Can Be Null. Tampilkan semua data dari tabel anggota dan tabel buku.

Praktikum 3 MEMANIPULASI DATA Tujuan : 1. khususnya mengenai transactsql. kemudian lanjutkan dengan mengerjakan langkah-langkah praktikum pada modul yang telah disiapkan. 2. 2. 4. Pekerjaan : 1. terutama yang menggunakan DBMS SQL Server 2000. Tunjuk dan kumpulkan modul praktikum Anda yang berisi hasil pekerjaan Tugas Praktikum III kepada asisten pada pertemuan berikutnya. Modul praktikum III. setelah selesai mengerjakan langkah-langkah praktikum. Selesaikan Tugas Pendahuluan praktikum III. Landasan Materi : 1. 3. Kerjakan dan selesaikan semua tugas dan soal pada praktikum III di lembar jawaban yang sudah disediakan di modul. Kerjakan Soal Praktikum III yang telah disediakan di modul. Kumpulkan modul praktikum Anda yang berisi jawaban Tugas Pendahuluan dan jawaban Soal Praktikum III sesuai dengan pertanyaan yang ada. 2. Kerjakan Tugas Praktikum III sebagai latihan dirumah. Baca buku literatur mengenai sistem database. Mengupdate data pada Tabel Syntax: 39 . Praktikan mampu untuk memanipulasi data dan mampu mencari data (Retrieval) Persiapan : 1. Hasil : 1.

Field3=Data3 WHERE kondisi1.UPDATE Nama_tabel SET Field1=Data1. Menghapus data pada Tabel Syntax: DELETE FROM Nama_tabel WHERE kondisi1 Dalam menghapus dan update bisa dilakukan untuk menghapus banyak baris atau menghapus semua isi dari tabel tergantung dari kondisi yang diberikan. kota=’Malang’ WHERE nrp= ’04113753’ Pemanfaatan operasi aritmatika untuk merubah data.2 2. Perintah SQL nya adalah : DELETE FROM Mahasiswa_XXX WHERE Alamat= ’Malang’ 40 . Misalnya Sebuah perusahaaan akan menaikkan gaji pegawainya sampai 20 %. Contoh : Hapus Isi semua record pada Data mahasiswa yang telah dibuat dimana Mahasiswa dengan alamat yang tidak diisi<nilai=default> akan dihapus. UPDATE Data_Gaji SET gaji= gaji*1. Field2=Data2. kondisi2 Contoh : Merubah data mahasiswa dengan NRP ‘04113753’ pada Mahasiswa_XXX dengan data baru UPDATE Mahasiswa_XXX SET Alamat= ‘Junrejo ’.

… FROM NamaTabel WHERE predikat Bila kunci kata “WHERE” tidak diberikan. kolom2. Sks FROM Mata_kuliah_XXX 4. maka yang diseleksi adalah seluruh record dalam tabel. maka record tersebut akan dipilih. Mencari Data / Retrieval (SELECT) Select adalah instruksi yang paling banyak digunakan dalam SQL. Predikat menyatakan kualifikasi dari record yang ditemukan. Bentuk klausa WHERE adalah: WHERE Kolom <operator> <nilai> Beberapa operator yang berlaku yaitu: = sama dengan 41 . bila memenuhi syarat. SELECT memilih spesifik kolom dari satu atau beberapa tabel. Select * adalah karakter khusus (wild character) yang menyatakan bahwa kolom yang dipilih adalah seluruh kolom yang ada pada tabel tersebut. maka seleksi dilakukan tidak pada seluruh record.3. Predikat dengan WHERE Dengan menggunakan WHERE. Sks FROM Mata_Kuliah_XXX Contoh berikut menampilkan Nama_kuliah dan Sks: SELECT Nama_kuliah. Secara umum bentuk SELECT adalah: SELECT Kolom1. melainkan hanya pada record yang memenuhi syarat. SELECT * FROM mata_kuliah_XXX mempunyai arti sama dengan: SELECT Kode_mata_kuliah. Nama_Kuliah.

Sedangkan untuk negasi. diperlukan logical AND dan OR. dan NOT Untuk menggabungkan lebih dari satu kondisi. Kolom2 FROM tabel WHERE kolom BETWEEN nilai1 AND nilai2 Contoh : 42 . OR. Dengan menggunakan BETWEEN maka bentuk query adalah : SELECT Kolom1. Kota FROM Mahasiswa_XXX WHERE kota=‘Malang’ AND jk=‘L’ Prioritas AND lebih kuat dari OR. 6. sehingga kondisi OR harus dipisahkan dalam kurung sebelum AND. AND. Alamat. BETWEEN dan NOT BETWEEN BETWEEN menyederhanakan pencarian “antara” (range) seperti berikut: Cari Nama_kuliah yang mempunyai sks antara 1 sampai 3.<> < <= > >= tidak sama dengan lebih kecil lebih kecil atau sama lebih besar lebih besar atau sama Contoh : Tampilkan data kuliah yang jumlah sks nya dibawah 3 SELECT * FROM Mata_kuliah WHERE sks < 3 5. diperlukan NOT Contoh : Tampilkan Mahasiswa laki-laki yang berasal dari Malang SELECT Nama.

alamat. LIKE & NOT LIKE Umumnya LIKE digunakan untuk permintaan yang mencari suatu teks berdasarkan prefix (kata depan). . sufix (kata akhir) atau kata tengah. . FROM NamaTabel WHERE Kolom LIKE nilai Contoh : Cari Mahasiswa yang bertempat tinggal di kota “Jakarta” SELECT nama. kota FROM Mahasiswa_XXX WHERE alamat NOT LIKE ‘%Jl%’ 43 . SELECT Kolom1. kota FROM Mahasiswa_XXX WHERE kota LIKE ‘B%’ Perhatikan bahwa tanda % menyerupai “wild character” yang bisa di variasi dalam menggunakannya. Kolom2. kota FROM Mahasiswa_XXX WHERE kota LIKE ‘Jakarta’ Cari Mahasiswa yang tempat tinggalnya dimulai dengan ‘B’ SELECT nama.Cari Nama_kuliah yang jumlah Sks nya tidak diantara 1 sampai 3 jam SELECT nama_kuliah FROM Mata_kuliah_XXX WHERE SKS NOT BETWEEN 1 AND 3 7.. alamat.1 atau beberapa karakter. maka tanda _ (under score/garis bawah) merepresentasikan persis satu karakter. tanda % adalah terdiri dari 0..” SELECT nama. alamat. NOT LIKE digunakan sebagai negasi misalnya dengan pertanyaan Contoh : Cari Mahasiswa yang alamat rumahnya tidak mengandung kata “Jl.

alamat. NULL tidak identik dengan spasi(blank). alamat. Defaultnya adalah ASC.… FROM namatabel WHERE Kolom IN Contoh : Cari mahasiswa yang bertempat tinggal di kota “Malang” dan “Jakarta” SELECT nama. IN & NOT IN IN digunakan untuk mencari nilai dalam satu kelompok nilai (daftar/list).8.'Jakarta') 9. SELECT Kolom1. Tampilan Tersusun (Sortir) Tampilan dari hasil SELECT dapat di susun (sort) menurut satu atau beberapa kolom. kota FROM Mahasiswa_XXX WHERE kota IN ('Malang'. 44 . maka seluruh record dalam tabel akan ditampilkan.'Jakarta') Bila di negatifkan pertanyaan tersebut. maka hasilnya adalah : SELECT nama. IS NULL & IS NOT NULL NULL adalah nilai yang belum diisi. Nilai dalam daftar terdiri atas satu atau lebih. SELECT Kolom1. Contoh : Tampilkan seluruh mahasiswa urut berdasarkan alamat SELECT * FROM Mahasiswa_XXX ORDER BY alamat Susunan dapat diatur dari A ke Z (ASCending)atau dari Z ke A (DESCending). 10.Kolom2. kota FROM Mahasiswa_XXX WHERE kota NOT IN ('Malang'.Kolom2.… FROM namatabel WHERE predikat ORDER BY Kolom Bila kunci kata where tidak diberikan.

sehinggga membuatnya menjadi tunggal. DISTINCT DISTINCT menghilangkan nilai ganda. Hal ini dilakukan dengan mengeliminasi nilai yang sama. maka digunakan kunci kata DISTINCT SELECT DISTINCT kota FROM mahasiswa_XXX Tugas Pendahuluan Praktikum III 1. Sebut dan jelaskan perintah yang digunakan untuk mencari data (Retrival) ! 45 . Sebut dan jelaskan perintah yang digunankan untuk memanipulasi data ! 2.Untuk menyususn secara terbalik adalah : SELECT * FROM Mahasiswa_XXX ORDER BY inisial DESC 11. Contoh : Berasal dari kota mana saja mahasiswa yang ada ? SELECT kota FROM mahasiswa_XXX untuk menghilangkan duplikasi pada tampilan.

langkah berikut ini : a) Aktifkan Tools Query Analyzer b) Update semua data mahasiswa yang beralamat di Malang sehingga alamatnya berubah menjadi ’Jl. Langkah-langkah praktikum : Agar anda dapat lebih memahami tentang manipulasi data ikutilah langkah .Langkah selanjutnya : Ikuti langkah-langkah praktikum. sehingga jumlah SKS menjadi 2 kalinya d) isi data pada tabel ambil_kuliah : Kode_mata_kuliah TKD1113 TKD1111 TKD1224 NRP 04113732 04113716 03113550 Nilai_Uts 60 75 89 Nilai_Uas 60 80 98 Grade C B A 46 .Raya tidar 100 Malang’ dan nomor telfonnya menjadi ‘0341567448’ c) Isikan data berikut pada tabel Mata_Kuliah_XXX yang telah anda buat pada praktikum II KODE_mata_kuliah TKD1113 TKD1111 TKD1224 TKK1248 TKK1247 TKK1249 NAMA_KULIAH Sistem Operasi Manajemen Umum Matematika Diskrit Praktikum Visual Basic Tugas Akhir Sistem Berkas SKS 3 2 3 1 6 4 Update kolom SKS.

huruf kedua tidak di ketahui. Buat tabel-tabel yang diperlukan dan isikan data minimal 5 data pada tabel master dan 10 data pada tabel transaksi. huruf kelima adalah ‘i’ dan huruf selanjutnya tidak diketahuai h) Tampilkan seluruh Mahasiswa yang tidak lulus i) Tampilkan mahasiswa yang punya nilai ‘A’ dan bertempat tinggal di luar Malang atau Jakarta (gunakan IN) j) Susun daftar Mahasiswa menurut abjad. Soal Praktikum III 1. namun dibuat berdasarkan alamat kota mereka k) Tampilkan nama kota tersusun dari secara descending dari para mahasiswa l) Tampilkan nilai mahasiswa dari yang paling besar ke yang paling kecil.hilangkan duplikasi tampilan (untuk nrp yang sama).TKK1249 TKK1248 TKK1113 02113216 02113753 02113753 57 40 60 61 55 80 C D B e) Lihat daftar mahasiswa wanita yang berasal bukan dari Malang f) Cari nama mahasiswa yang namanya dimuali dengan huruf ‘D’. Berikan kesimpulan tentang praktikum III ! Tugas Praktikum III Buatlah suatu database untuk praktikum di STIKI Malang. huruf ketiga adalah ‘D’ dan huruf selanjutnya tidak diketahui g) Cari nama mahasiswa yang namanya dimulai dengan huruf ‘F’. huruf kedua tidak di ketahui. 47 .

Kerjakan Tugas Praktikum IV sebagai latihan dirumah. Kerjakan Soal Praktikum IV yang telah disediakan di modul. Kumpulkan modul praktikum Anda yang berisi jawaban Tugas Pendahuluan dan jawaban Soal Praktikum IV sesuai dengan pertanyaan yang ada. Praktikan mampu untuk memahami dan menguasai fungsi-fungsi SQL Persiapan : 1. Kerjakan dan selesaikan semua tugas dan soal pada praktikum IV di lembar jawaban yang sudah disediakan di modul. Tunjuk dan kumpulkan modul praktikum Anda yang berisi hasil pekerjaan Tugas Praktikum IV kepada asisten pada pertemuan berikutnya. 2. 2. setelah selesai mengerjakan langkah-langkah praktikum. 2. 3. terutama yang menggunakan DBMS SQL Server 2000.Praktikum 4 FUNGSI DALAM SQL Tujuan : 1. kemudian lanjutkan dengan mengerjakan langkah-langkah praktikum pada modul yang telah disiapkan. Selesaikan Tugas Pendahuluan praktikum IV. 4. Baca buku literatur mengenai sistem database. khususnya mengenai transactsql. 48 . Hasil : 1. Modul praktikum IV. Pekerjaan : 1.

MIN. SUM.Landasan Materi 1. AVG Mencari rata-rata SELECT AVG(field_numerik) from nama_tabel Nilai perbandingan adalah “subquery”). 3. MAX Mencari maksimum SELECT MAX(nilai_uas) FROM ambil_kuliah_XXX 5. Contoh : hasil dari query baru (yang disebut sebagai SELECT * FROM Ambil_kuliah_XXX WHERE nilai_uas>(select AVG (nilai_uas) from ambil_kuliah_XXX) 4. Max. COUNT(*) menyatakan hitung seluruh record yang berlaku. COUNT adalah fungsi yang memproses tabel dengan kualifikasi tertentu.seperti umumnya 2. MIN Mencari minimum SELECT MIN(nilai_uas) FROM ambil_kuliah_XXX 6. COUNT Menghitung record dengan kualilfikasi tertentu. 49 . Aritmatik Penghitungan aritmatika dapat dilakukan dengan menggunakan * / + . Kelompok Nilai Fungsi AVG.

GROUP BY … HAVING HAVING berlaku untuk kelompok query Group By dan berfungsi seperti WHERE. Berikut adalah daftar mahasiswa yang mempunyai nilai uas rata-rata diatas 80 : SELECT nrp. Perhatikan tabel sesi di bawah ini SELECT nrp. JOIN Join adalah teknik yang digunakan untuk mengakses lebih dari satu tabel dan menggabungkan hasilnya. mahasiswa_XXX. SUM Menjumlah nilai dari kolom tertentu SELECT SUM(nilai_uas) FROM ambil_kuliah_XXX 8. mahasiswa_XXX WHERE ambil_kuliah_XXX.COUNT(*) FROM ambil_kuliah GROUP BY nrp 9. GROUP BY Group By Menyeleksi himpunan yangdihitung berdasarkan fungsi spesifik seperti AVG.nrp=mahasiswa_XXX.AVG(nilai_uas) FROM ambil_kuliah GROUP BY nrp HAVING AVG(nilai_uas)>80 10. Hanya group yang mempunyai kriteria tersebut yang akan diproses(pada where yang diproses adalah setiap record dalam tabel).nama. SELECT nrp. grade FROM ambil_kuliah_XXX. COUNT atau lainya.SELECT COUNT(*) FROM mahasiswa_XXX 7.nrp 50 .

nrp = B.nama. grade FROM ambil_kuliah_XXX.perintah diatas dapat juga di tulis menggunakan INNER JOIN SELECT nrp.nama.nrp Alias dapat juga di berikan pada inner joint : SELECT nrp. Tugas Pendahuluan Praktikum IV 1. grade FROM ambil_kuliah_XXX A INNER JOIN mahasiswa_XXX B ON A.nrp=mahasiswa_XXX. grade FROM ambil_kuliah_XXX INNER JOIN mahasiswa_XXX ON ambil_kuliah_XXX. SELECT nrp. M.nama. Kapan alias digunakan ? 3.nama.mahasiswa_XXX M WHERE A.nrp = M.nrp Join biasa dilakukan pada 2 buah tabel atau lebih. mahasiswa_XXX. Apa yang Anda ketahui tentang join ? sebutkan macam-macam join yang Anda tahu ! 51 .nrp 11.nrp=mahasiswa_XXX.grade FROM ambil_kuliah_XXX A .nrp Penulisan dapat disederhanakan menjadi : SELECT nrp. M. agar tidak terlalu panjang. Apa yang dimaksud dengan subquery ? 2. Menggunakan Alias Alias digunakan untuk menyederhanakan tulisan. mahasiswa_XXX WHERE ambil_kuliah_XXX. mahasiswa_XXX.

honor) kd_ass jumlah_jam honor char 8 smallint money 52 . nama_praktikum.Nrp) Kd_ass Nrp char 8 char 8 Kd_ass merupakan primary key Nrp merupakan foreign key yang mengacu pada tabel mahasiswa_XXX c) Buat tabel praktikum_XXX dengan ketentuan : praktikum_XXX(kd_prak. jumlah_jam.Langkah selanjutnya : Ikuti langkah-langkah praktikum.ruang) kd_prak Nama_praktikum Ruang char 8 Varchar 50 varchar 50 Kd_prak merupakan primary key d) Buat tabel honor_XXX dengan ketentuan : honor_XXX(kd_ass. Langkah-langkah praktikum : Agar anda dapat lebih memahami tentang manipulasi data ikutilah langkah langkah berikut ini : a) aktifkan Tools Query Analyzer b) Buat tabel asisten_XXX dengan ketentuan : Asisten_XXX(kd_ass.

D B. C.kd_ass merupakan foreign key yang mengacu pada tabel asisten_XXX (field kd_ass) e) Isi data asisten_XXX : Kd_ass S10054 S78678 S45389 NRP 02113216 03113550 04113732 f) Isi data praktikum_XXX : Kd_prak P10054 P22094 P90877 P78678 P45389 S43535 S56743 Nama_praktikum Pascal Delphi Database PPN 1 Sistem Operasi Visual Basic RPG LAB B. C A. E B. E A A. C AS400 g) Isi data honor_XXX : Kd_ass S10054 S78678 S45389 Jumlah_jam Honor 12 6 8 96000 48000 64000 h) Tambahkan 10% honor untuk mereka yang mempunyai honor dibawah ratarata 53 .

Having.000 j) tampilkan asisten yang honornya lebih kecil dari rata-rata. k) Tampilkan daftar honor asisten dan kurangi dengan pajak penghasilan 15% l) Tampilkan data asisten secara lengkap (nrp. Order By. (dengan menggunakan tabel yang dibuat pada tugas sebelumnya) 2.000 sampai dengan 100. Distinct. Buat query dengan menggunakan perintah-perintah SQL : Join (join biasa dan inner join.nama.i) Cari asisten yang honornya antar 50. Kenapa nilai field pada foreign key harus ada terlebih dahulu pada field primary key yang diacu? 2.alamat) yang honornya paling kecil m) Berapa banyak asisten yang honornya diatas rata-rata n) Hitung jumlah honor asisten yang honornya diatas rata-rata Soal Praktikum IV 1. Tulis juga output setiap perintah. 54 . Berikan kesimpulan Anda mengenai praktikum IV ini ! Tugas Praktikum IV 1. boleh menggunakan alias) Group By.

Selesaikan Tugas Pendahuluan praktikum V. 55 . khususnya mengenai view dan index. Tunjuk dan kumpulkan modul praktikum Anda yang berisi hasil pekerjaan Tugas Praktikum V kepada asisten pada pertemuan berikutnya. Hasil : 1. Kumpulkan modul praktikum Anda yang berisi jawaban Tugas Pendahuluan dan jawaban Soal Praktikum V sesuai dengan pertanyaan yang ada. setelah selesai mengerjakan langkah-langkah praktikum. 4.Praktikum 5 VIEW DAN INDEX Tujuan : 1 Praktikan mampu memahami view dan index. Kerjakan dan selesaikan semua tugas dan soal pada praktikum V di lembar jawaban yang sudah disediakan di modul. Modul praktikum V. 2. 2. 3. Kerjakan Soal Praktikum V yang telah disediakan di modul. 2. terutama yang menggunakan DBMS SQL Server 2000. kemudian lanjutkan dengan mengerjakan langkah-langkah praktikum pada modul yang telah disiapkan. Persiapan : 1. Pekerjaan : 1. Kerjakan Tugas Praktikum V sebagai latihan dirumah. Baca buku literatur mengenai sistem database.

Secara umum aturan membuat VIEW adalah: CREATE VIEW NamaView (Kolom1. Menghapus VIEW VIEW dapat dihapus dengan menggunakan DROP VIEW seperti berikut: DROP VIEW v1 b. Secara fisik VIEW tidak membuat penyimpanan data seperti tabel. Kolom2 FROM NamaTabel WHERE predikat Sebagai contoh adalah sebuah VIEW yang terbentuk dari satu tabel: CREATE VIEW v1 AS SELECT nrp. dan honor_XXX 56 . Menjalankan view diatas : SELECT * FROM v1 a.Landasan Materi : 1. maka v1 mewarisi kolom yang yang dipilih pada tabel mahasiswa_XXX. Asisten_XXX. VIEW disebut juga sebagai “Virtual Table”. yaitu mahasiswa_XXX. Kolom2) AS SELECT Kolom1. misalnya sebuah join sederhana seperti berikut: VIEW V4 terdiri atas kolom yang dihasilkan melalui SELECT. VIEW Dari Beberapa Tabel VIEW dapat diciptakan dari beberapa tabel. Nama FROM mahasiswa_XXX Karena VIEW dibentuk tanpa mencantumkan nama kolom baru. View Sebuah VIEW adalah tabel yang dibangun dari satu atau beberapa tabel yang sudah ada. melainkan hanya menyimpan referansi/pointer ke record pada tabel-tabel yang berkaitan.

M. gunakan ALTER sama dengan syntax alter pada tabel.nrp c. ‘Maya Kusuma’. Kalimosodo 9’. Salahutu 10’.Mahasiswa_XXX M WHERE A. kota) AS SELECT nrp. namun SQL tidak dapat menolak nilai kota yang bukan ‘JAKARTA’ Agar konsistensi dapat dijaga. kota FROM mahasiswa_XXX WHERE kota=’JAKARTA’ INSERT INTO v6 VALUES (’03113331’. nama. ‘Malang’) Akan muncul error : ERROR at line 2: ORA-01402: view WITH CHECK OPTION where-clause violation 57 . ’Jl. ‘Malang’) Perhatikan bahwa walaupun dalam WHERE dibatasi kota=’JAKARTA’.nrp=M.nama FROM asisten_XXX A. kota FROM mahasiswa_XXX WHERE kota=’JAKARTA’ WITH CHECK OPTION INSERT INTO v6 VALUES (’02113316’. Namun perlu diperhatikan “NOT NULL” optioan dan CONSTRAINT lainnya. sebelum memasukkan nilai ke dalam VIEW. pada akhir instruksi harus ditambahkan “WITH CHECK OPTION” Contoh : ALTER VIEW v6(nrp.nrp. alamat. ‘Puspasari’. nama. Mengubah VIEW Untuk dapat langsung mengubah VIEW. Updating dan insert data Melalui VIEW Updating dapat dilakukan ke dalam VIEW dengan memberikan nilai seperti pada inserting dan updating tabel. ’Jl. alamat.CREATE VIEW v4 AS SELECT A. maka pada saat VIEW dibuat. kota) AS SELECT nrp. alamat. alamat. nama. nama. d. CREATE VIEW v6 (nrp.

Anda dapat menggunakan daftar isi atau index untuk menemukan topik tertentu secara mudah. melainkan menggunakan algoritma pencarian yang efisien. juga reorganisasi data karena operasi insert dan delete menjadi lebih kompleks. atau DELETE jika dalam VIEW terdapat GROUP BY atau DISTINCT. Penggunaan Index Dalam konteks SQL-Server. Tanpa index.data tidak perlu dicari dari awal hingga akhir. UPDATE. UPDATE. dan DELETE dengan beberapa limitasi yaitu:  Tidak dapat memasukkan record baru jika mengabaikan nilai NOT NULL pada basis tabel dari VIEW tersebut. proses pemanggilan table scan terjadi. 58 . Proses ini sama dengan mengalokasikan informasi spesifik di dalam buku. Tanpa itu semua. yang berarti query processor harus melalui masingmasing record dalam tabel secara indvidual untuk menemukan record yang sesuai dengan kriteria yang dipilih. INDEX a. index adalah sebuah obyek database yang dibuat berdasarkan kolom dalam tabel. sehingga waktu proses menjadi semakin cepat. Batasan Manipulasi Melalui VIEW Melalui VIEW dapat dilakukan INSERT.   2. melainkan dengan perencanaan dan performance tuning yang baik. Index mempercepat pencarian data. Index mempunyai Overhead selain tempat memory yang lebih besar. Dengan menggunakan index . Tidak dapat melakukan INSERT atau UPDATE jika salah satu kolom dalam VIEW merupakan hasil kalkulasi atau hasil dari nilai balik fungsi.e. Anda harus membuka dan mencari melalui semua halaman sampai Anda menemukan yang Anda cari. Dengan demikian index tidak boleh digunakan secara sembarang. Tidak dapat melakukan INSERT.

b. Memilih kolom untuk index Index dipilih berdasarkan selektifitas dari query yaitu beberapa sereing record diakses melalui select, update atau delete. Selektifitas dipengaruhi oleh criteria pencarian, yaitu bagaimana memenuhi criteria tersebut dengan mengakses atribut apa saja. Hal-hal yang dapat dijadikan landasan untuk membuat index adalah : o Kolom yang sangat sering dicari o Primary key dan Foreign key o Kolom yang diakses secara abjad o Kolom yang diakses dan sering digunakan dengan join o Kolom yang sering dicari berdasarkan urutan (range) o Kolom yang sering menjadi predikat pada kunci kata “Where” Hal-hal yang menyarankan untuk tidak menggunakan index adalah : o Hasil query melebihi 20% jumlah record o Kolom yang mempunyai nilai valid sedikit (misalnya jenis kelamin) o Panjang kolom yang besar. Untuk melihat index yang sudah ada gunakan stored procedure sp_helpindex namatabel dan sp_spaceused untuk mengetahui pemakaian disk.

c. Clustered Index Dengan Clustered index secara fisik record disusun sesuai dengan susunan index. Dengan demikian hanya ada satu clustered index yang boleh didefinisikan dalam satu tabel. Primary key adalah kandidat baik untuk menjadi clustered index (index secara implicit diciptakan melalui constraint primary key). Dalam menciptakan index, maka secara default otomatis yang dipilih adalah non clustered index. Cara membuat index adalah:
DROP INDEX CI_NoPeg CREATE CLUSTERED INDEX CI_NoPeg ON Pegawai (NoPeg)

DROP dijalankan untuk memastikan bahwa index tersebut belum ada. 59

d. Non Clustered Index Dalam non clustered index secara fisik susunan record tidak berpengaruh. Non clustered index menyimpan pointer yang menunjuk ke baris atau record dari tabel. Dalam sebuah tabel dapat dibuat banyak non clustered index, sejauh index tersebut dibutuhkan. Dalan syntax create index pilih NONCLUSTERED adalah default. Cara membuatnya adalah:
DROP INDEX NI_Nama CREATE NONCLUSTERED INDEX NI_Nama ON Pegawai (Nama)

Atau:
CREATE INDEX NI_Nama ON Pegawai (Nama)

e. Unique Index Secara otomatis unique index diciptakan melalui constraint primary key dan unique. Sistem akan memeriksa setiap saat record baru diciptakan atau di-update. Membuat unique index secara manual adalah:

CREATE UNIQUE INDEX UI_KTP ON Pegawai (KTP)

Tugas Pendahuluan Praktikum V
1. Apa yang dimaksud dengan view ? Sebutkan keuntungan dari view ! 2. Apa yang dimaksud dengan index ? Sebutkan keuntungan dari index ! 3. Apa yang dimaksud dengan clustering ? Sebutkan keuntungan dari clustering!

60

Langkah selanjutnya : Ikuti langkah-langkah praktikum. Langkah-langkah praktikum :

a. Aktifkan Tools Query Analyzer b. Buat sebuah VIEW yang terdiri dari kd_ass dan nama asisten yang mempunyai honor diatas rata-rata (join tabel mahasiswa_XXX dan Honor_XXX) c. Buat sebuah view yang akan menampilkan isi data Nrp, Nama, Alamat, dan nomor telpon dari mahasiswa_XXX dimana hanya mahasiswa yang mempunyai nama ‘Ballack’dan nomor telfonya mengandung ’081803’ saja. d. Isi data pada data mahasiswa_XXX melalui view yang dibuat dengan data : Nrp 02311815 Nama Erich Irmanto 03113406 Nyoman Sutrisna 02311832 Dyah Ayu L Puspita Sarie JL. Danau Tondano Dalam 42 Malang Jatim 023772739 L Poharin B20 Malang Jatim 023772739 JK L Alamat Jl. KS. Tubun Kota Banjarmasin Propinsi Kalsel Telpon 553201

e. Buat view dari tabel honor_XXX dan Lakukan update data honor dengan memberikan THR pada setiap assiten dengan jumlah 23 % dari honor yang diterima. f. Buat view dari tabel honor_XXX dan Lakukan update data honor dengan memberikan bonus bagi yang mengajar lebih dari 10 jam sebasar 5 % dari total honor yang diterima. g. Buat view dari tabel praktikum_XXX dan Lakukan update data ruangan menjadi UNIX bila kd_prak memiliki angka ganjil di setiap akhir kode. Gunakan fungsi IN

61

62 .buku. dan pinjam yang telah anda buat untuk menampilkan data nama anggota yang mempunyai huruf depannya ‘A’ atau ‘a’ tampilkan menjadi huruf besar semua dengan menggunakan view. Apa kegunaan dari index ? Tugas Praktikum V Gunakan tabel anggota.Soal Praktikum V 1. Sebutkan batasan manipulasi melalui view ! 2.

setelah selesai mengerjakan langkah-langkah praktikum. 2. Hasil : 1. 2. kemudian lanjutkan dengan mengerjakan langkah-langkah praktikum pada modul yang telah disiapkan. khususnya mengenai trigger. Pekerjaan : 1. Praktikan mampu untuk mengerti dan memahami Transact-SQL Persiapan : 1. 3. Kumpulkan modul praktikum Anda yang berisi jawaban Tugas Pendahuluan dan jawaban Soal Praktikum VII sesuai dengan pertanyaan yang ada. Kerjakan Soal Praktikum VII yang telah disediakan di modul. 4. 2. terutama yang menggunakan DBMS SQL Server 2000. Kerjakan dan selesaikan semua tugas dan soal pada praktikum VII di lembar jawaban yang sudah disediakan di modul. Tunjuk dan kumpulkan modul praktikum Anda yang berisi hasil pekerjaan Tugas Praktikum VII kepada asisten pada pertemuan berikutnya. 63 . Modul praktikum VII.Praktikum 6 TRANSACT-SQL Tujuan : 1. Selesaikan Tugas Pendahuluan praktikum VII. Kerjakan Tugas Praktikum VII sebagai latihan dirumah. Baca buku literatur mengenai sistem database.

Case. Seperti diketahui SQL adalah bahasa non procedural. melainkan melalui “request” dan “response”. Melalui perintah SQL seseorang melakukan query atau transaksi. Transact-SQL mengembangkan kemampuan SQL. Procedure.sedangkan pemrosesan dilakukan pada Server. Kerangka Transact-SQL TRANSACT-SQL dimulai dengan deklarasi variable dan disusul dengan blok program. Nama variable selalu dimulai dengan karakter @. artinya alur program tidak seperti bahasa pemrograman bisa. yang kemudian akan menerima jawaban dari Database Server berupa hasil atau ResultSet.100 64 . Query dan transaksi dilakukan di bagian Client.Landasan Materi : 1. Transact-SQL TRANSACT-SQL adalah bahasa pemrograman yang dikembangkan dari SQL. Variable dapat diberikan nilai melalui instruksi SELECT. sehingga Transact-SQL dapat melengkapi SQL dengan instruksi logic (procedural logic). @nama varchar(30) Keterangan : SELECT digunakan juga untuk eksekusi aritmatika atau lainnya. 2. Loop. dan lainnya. Misalnya : SELECT @v1 = @v1 . Variable harus dideklarasikan sebelum digunakan. DECLARE /* deklarasi variable */ @v1 int. Hasil proses SQL-Server (ResultSet) dapat diolah lebih lanjut dengan menggunakan logic pemrograman procedural seperti Fungsi. yaitu program aplikasi. If Then Else.

@instansi char(10). @nama varchar(30). dan lainnya. 65 .Variable dapat digunakan untuk mengambil nilai dari sebuah query: Contoh : DECLARE @nama char(30) SELECT @nama = nama FROM mahasiswa_XXX WHERE nrp=’02113216’ PRINT @nama Hasil: Ballacksave PRINT adalah fungsi yang menampilkan teks dan variable pada console (layar). int. @total int. Contoh: PRINT “Nama yang ditemukan adalah :” PRINT @nama PRINT “Nama yang ditemukan adalah :”+@nama 3. varchar. Contoh deklarasi Variable: DECLARE @honor int. money. datetime. Menjalankan Program Transact-SQL Deklarasi Variable Tipe dari variable yang dapat dideklarasikan adalah bagian dari Ms. SQL yaitu char.

Variable global bersifat read-only. Variable Global Variable global adalan variable yang disiapkan oleh SQL-Server untuk memberikan informasi kepada Client.@tgl_hari_ini datetime. @tgl_nanti datetime SELECT @Berat=100 SELECT @nama=’CLARK KENT’ SELECT @tgl_hari_ini=getdate() SELECT @posisi=’SUPERMAN’ SELECT @tgl_nanti=@tgl_hari_ini PRINT ( ‘Berat anda adalah’) PRINT ( @Berat ) PRINT ( @nama ) PRINT ( @posisi ) PRINT ( @tgl_hari_ini ) PRINT ( @tgl_nanti ) Hasil: Berat anda adalah 100 CLARK KENT SUPERMAN APRIL 4 2008 10:18AM APRIL 4 2008 10:18AM 4. 66 .

IF kondisi Instruksi IF kondisi Instruksi1 ELSE Instruksi2 IF kondisi BEGIN Instruksi1 Instruksi2 …… END 67 . @@error adalah bilangan bulat yang menyatakan nomor error. @@nestlevel adalah nesting level dari stored procedures atau triggers @@rowcount memberikan nilai balik berupa jumlah baris (rows) yang terpengaruh oleh instruksi terakhir. maka system memberikan indikasi bahwa terjadi error dan identitas error dinyatakan dalam angka. maka @@rowcount dihapus menjadi 0. @@fetch_status adalah nilai balik dari “fetch” pada cursor. Jika variable tersebut tidak sama dengan 0. @@identitymemberikan nilai otomatis setiap kali INSERT dilakukan. Setelah instruksi IF atau WHILE. @@cursor_rows adalah nilai balik dari cursor yang terakhir kali diolah. @@spid adalah Server Process Id 5. IF IF digunakan dalam mengendalikan alur program berdasarkan kondisi. Nilai 0 adalah OK. Nilai ini adalah identitas dari record tersebut.Nama variable global diawali dengan @@.

@asisten char(8) SELECT @asisten=’02113216’ SELECT @honor=honor FROM asisten_XXX WHERE nrp=@asisten SELECT @rata_rata=200000 IF @honor > @rata_rata PRINT “Honor diatas rata-rata” ELSE PRINT “Honor dibawah rata-rata” 68 . @rata_rata int SELECT @honor=100000 SELECT @rata_rata=200000 IF @honor > @rata_rata PRINT “Honor diatas rata-rata” ELSE PRINT “Honor dibawah rata-rata” Hasil: Honor dibawah rata-rata Bila diaplikasikan pada tabel asisten_XXX.Contoh: DECLARE @honor int. @rata_rata int. maka nilai honor dapat diambil dari asisten: DECLARE @honor int.

WHILE kondisi BEGIN … … END Contoh: DECLARE @i int SELECT @i=5 WHILE @i > 0 BEGIN PRINT “ i = “ + str( @i) SELECT @i = @i . WHILE WHILE digunakan dalam mengeksekusi satu blok program berulang-ulangsampai kondisi pada WHILE menjadi false.. 6.1 END Hasil: i = 5 i = 4 i = 3 i = 2 i = 1 69 .penggunaan blok IF BEGIN END dapat dilakukan bila instruksi dalam IF lebih dari satu instruksi.

RETURN dapat digunakan dalam memproses error. WHILE kondisi1 BEGIN … … IF kondisi2 CONTINUE … END WHILE kondisi1 BEGIN … … IF kondisi2 BREAK … … END 8. CONTINUE melanjutkan alur program pada pemeriksaan kondisi WHILE. sedangkan BREAK mengakibatkan alur program keluar dari WHILE. 7.Perhatikan bahwa fungsi str() diperlukan untuk mengkonversi bilangan integer menjadi string (teks). IF @@error <> 0 BEGIN PRINT “Error…” 70 . RETURN RETURN akan menghentikan program dari eksekusi. CONTINUE dan BREAK CONTINUE dan BREAK berkaitan dengan WHILE.

@hasil varchar(255) SELECT @t=’B’ SELECT @hasil= CASE WHEN @t=’A’ THEN ‘Karakter A’ WHEN @t=’B’ THEN 71 .RETURN END 9. IF kondisi1 ELSE IF kondisi2 ELSE IF kondisi3 ELSE Dapat diganti: CASE WHEN kondisi1 THEN WHEN kondisi1 THEN WHEN kondisi1 THEN ELSE END Contoh: DECLARE @t char(1). CASE CASE menyederhanakan IF yang berlapis dengan tujuan agar program dapat dimengerti/dibaca lebih mudah.

@hasil varchar(255) SELECT @t=’X’ SELECT @hasil= CASE @t WHEN ’A’ THEN ‘Karakter A’ WHEN ’B’ THEN ‘Karakter B’ ELSE ‘Tidak diketahui’ END 72 .‘Karakter B’ ELSE ‘Tidak diketahui’ END PRINT “Hasil adalah “+@hasil Hasil: Hasil adalah : Karakter B Perhatikan bahwa CASE diatas digunakan untuk mengambil nilai variable: SELECT @hasil=CASE Berikut adalah variasi dari CASE: DECLARE @t char(1).

@teks varchar(255) SELECT @jk=jk.PRINT “Hasil adalah “+@hasil Contoh pada SQL-Query: DECLARE @jk char. Bagaimana kerangka dari T-SQL ? 73 . @nama=nama FROM mahasiswa_XXX WHERE nrp=’02113216’ SELECT @teks= CASE @jk WHEN ’L’ THEN ‘Laki-laki’ WHEN ’P’ THEN ‘Perempuan’ ELSE ‘?’ END PRINT @nama + “ adalah “ + @teks Hasil: Ballacksave adalah Laki-laki Soal Pendahuluan Praktikum VII 1. @nama varchar(16). Apa yang dimaksud dengan T-SQL ? 2.

4. Bilangan genap 3. 7.1 Gunakan tabel anggota. Bilangan real 2. 10 Ganjil = 1.Langkah selanjutnya : Ikuti langkah-langkah praktikum. sehingga menjadi menjadi satu baris saja seperti berikut: 1. 5. Buat keterangan bahwasannya assieten tersebut memiliki honor diatas rata-rata atau dibawah rata-rata. Buat sebuah T-SQL untuk menghitung Nilai rata-rata langsung dari tabel asisten_XXX. 3. 4. 6. 9 Nb: harus sama seperti contoh di dalam kotak diatas (ada tulisan dan tanda koma) b. Langkah-langkah praktikum : a. Bilangan ganjil Urut = 1. 8. 5 Genap = 2. 2. buku. Soal Praktikum VII 1. dan pinjam yang telah anda buat untuk membuat T-SQL : menghitung denda anggota yang paling banyak dan berdasarkan rata-rata yang ada cari yang paling besar jumlah denda yang diterima. 74 . Struktur kontrol apa saja yang dapat digunakan dalam T-SQL ? 2. Modifikasilah contoh while pada halaman 79. 3. Bagaimana menjalankan T-SQL ? Tugas Praktikum VII 4.

Praktikum 7 TRIGGER Tujuan : 1 Praktikan mampu memahami trigger. setelah selesai mengerjakan langkah-langkah praktikum. khususnya mengenai trigger. terutama yang menggunakan DBMS SQL Server 2000. kemudian lanjutkan dengan mengerjakan langkah-langkah praktikum pada modul yang telah disiapkan. 2 Selesaikan Tugas Pendahuluan praktikum VI. 2 Modul praktikum VI. 2 Tunjuk dan kumpulkan modul praktikum Anda yang berisi hasil pekerjaan Tugas Praktikum VI kepada asisten pada pertemuan berikutnya. 3 Kerjakan Soal Praktikum VI yang telah disediakan di modul. Hasil : 1 Kumpulkan modul praktikum Anda yang berisi jawaban Tugas Pendahuluan dan jawaban Soal Praktikum VI sesuai dengan pertanyaan yang ada. 75 . Persiapan : 1 Baca buku literatur mengenai sistem database. 2 Praktikan mampu membuat trigger. Pekerjaan : 1 Kerjakan dan selesaikan semua tugas dan soal pada praktikum VI di lembar jawaban yang sudah disediakan di modul. 4 Kerjakan Tugas Praktikum VI sebagai latihan dirumah.

update. Database Trigger Trigger adalah blok program transact-SQL yang diassosiasikan dengan tabel dan disimpan dalam database. update dan delete. Database event adalah insert. delete AS DECLARE …………. kapan trigger dilepaskan (fired) tabel yang diassosiasikan dengan trigger tersebut program transact-sql yang dijalankan oleh trigger tersebut Manfaat Trigger      Meluruskan aturan-aturan yang harus berlaku Menjaga nilai sebelum dimasukkan ke dalam database Keamanan Sistem Membuat historical record (riwayat perubahan) Dan lain-lain Deklarasi Trigger : CREATE TRIGGER namatrigger ON namatabel FOR insert. <deklarasi variable> teks program Sql 76 .Landasan Materi : 1. Trigger dieksekusi bila terjadi suatu database “event”.. Trigger akan beraksi bila terjadi misalnya : sebuah baris baru (record) dimasukkan ke tabel peremajaan record penghapusan record Karena itu sebuah trigger terdiri atas : uraian.

CREATE TRIGGER mytrigger ON mahasiswa_XXX FOR INSERT AS PRINT 'Record baru :' +CONVERT(char(30). maka program trigger akan aktif.103) +’ By Fienfine^_^’ Trigger yang bernama mytrigger dibuat dan setiap sesudah record baru diisi ke tabel.Sepanjang 80'.getdate().'P'. berikut adalah contoh sebuah tabel sederhana. Test trigger yang baru dibuat : INSERT INTO mahasiswa_XXX (nrp.propinsi) VALUES (‘03113429’.Tergantung dari event yang dipilih : FOR INSERT Trigger aktif pada saat record baru FOR UPDATE Trigger aktif pada saat record diubah FOR DELETE Trigger aktif pada saat record dihapus Untuk melihat efek trigger. kota.’Kaltim’) Hasil : Record baru :04/04/2008 By Fienfine^_^ (1 row(s) affected) 77 . jk.'Jl. Trigger mytrigger akan dilepaskan. alamat.'. nama.'Sagita M. setiap kali tabel tersebut diisi dengan record baru.’Balikpapan'.

------------Jl.'P'. maupun kumpulan record yang dihapus (“deleted”) Record tersebut masuk ke dalam tabel virtual yang bernama “inserted” dan “deleted”.'Sagita M. P -------------------------.'.kota FROM Inserted Test Trigger: INSERT INTO peserta (nrp. jk. Sepanjang 80 GL Balikpapan (1 row(s) affected) Demikian juga pada saat terjadi proses pengupdate-an dan penghapusan data bisa memanggil koleksi record yang dihasilkan. sedangkan record yang baru masuk ke tabel virtual “inserted” CREATE TRIGGER mytrigger ON mahasiswa_XXX FOR INSERT AS PRINT 'Record baru :' +CONVERT(char(30). record yang lama masuk ke tabel “deleted”. kota) VALUES (‘03113429’.Sepanjang 80'.--Sagita M. sedangkan pada “DELETE” hanya terdapat tabel virtual “deleted”. nama.103) SELECT No_peserta. Untuk “UPDATE” muncul 2 buah tabel virtual.'Jl.’Balikpapan') Hasil: Record baru :04/04/2008 No_peserta ---------------13 Nama JK Alamat Kota ---------------.jk. Pada kasus “INSERT” hanya ada tabel virtual “inserted”.getdate().nama.Di dalam trigger secara implicit dapat diakses “koleksi” record yang dimasukkan (“inserted”). alamat. 2.alamat. Menghapus Trigger 78 .

Menghapus trigger dilakukan dengan instruksi DROP TRIGGER NamaTrigger Contoh: DROP TRIGGER trupd1 Tugas Pendahuluan Praktikum VI 1. Apa manfaat dari trigger ? 79 . Kapan sebuah trigger dieksekusi ? 2.

Isi data pada 2 buah tabel yang telah dibuat minimal 3 data secara variasi. Buat sebuah tabel prak_jln_XXX dengan ketentuan : id_dtr peserta maximum : : : char 5 smallint smallint id_dtr merupakan primary key max merupakan jumlah maksimum praktikan dalam satu sesi c. Aktifkan Tools Query Analyzer b. Sebaliknya jika ada pendaftar yang 80 . Buat sebuah tabel daftar_praktikum_XXX dengan ketentuan : no_daftar nrp kd_prak id_dtr : : : : int char 8 char 8 char 5 No_daftar merupakan primary key dan otomatis isinya dimulai dengan 1 (gunakan identity) Nrp mereferensi ke tabel Mahasiswa_XXX (field nrp) Kd_Prak merupakan referensi ke tabel praktikum_XXX (field kd_prak) Id_dtr foreignkey ke tabel prak_jln_XXX (field id_dtr) d. e. buatlah trigger yang setiap kali jika ada pendaftar baru maka jumlah peserta pada tabel prak_jln_XXX akan ditambahkan 1. Dengan menggunakan 2 tabel yang sudah dibuat.LANGKAH_LANGKAH PRAKTIKUM: a.

yang berarti NULL. yakni setiap kali ada perubahan honor asisten. Perhatikan bahwa awalnya kolom jumlah peserta pada tabel sesi adalah kosong. Dengan menggunakan 2 tabel yang sudah dibuat. maka perubahan itu akan dicatat di tabel khusus yang bernama h_asisten_XXX Struktur tabel h_asisten_XXX Kd_ass honor tgl_update char 8 money datetime h.dihapus maka jumlah peserta akan dikurangi 1. g. Lakukan testing terhadap trigger yang telah dibuat dengan memperhatikan cara kerja trigger tersebut.0) +1 f. 81 . Sebaliknya jika ada pendaftar yang dihapus maka jumlah peserta akan ditambah 1. diperlukan fungsi ISNULL (namavariable.0) sebagai berikut: UPDATE sesi SET jumlahpeserta = ISNULL (jumlahpeserta. bukan 0. Oleh karena itu untuk mengubah nilai NULL. rubahlah trigger yang telah dibuat pada langkah ‘e’ dimana setiap kali jika ada pendaftar baru maka jumlah maksimal peserta pada tabel prak_jln_XXX akan dikurangi 1. Buat sebuah trigger yang mencatat riwayat honor asisten (historical).

Soal Praktikum VI 1. apa yang dimaksud dengan ‘event’ pada trigger ? 2. Apa yang dimaksud dengan tigger ? Sebutkan bagian dari trigger ?

Tugas Praktikum VI 1. Gunakan tabel anggota,buku, dan pinjam yang telah anda buat untuk membuat trigger : a. membuat riwayat / historical setiap kali ada denda yang masuk dan buat total terakhir jumlah denda yang ada menurut event terakhir kali. b. membuat penghitungan jumlah record yang ada.

82

Praktikum

8
STORED PROCEDURE
Tujuan : 1. Praktikan mampu untuk memahami stored procedure. Persiapan : 1. Baca buku literatur mengenai sistem database, terutama yang menggunakan DBMS SQL Server 2000, khususnya mengenai trigger. 2. Modul praktikum VIII. Pekerjaan : 1. Kerjakan dan selesaikan semua tugas dan soal pada praktikum VIII di lembar jawaban yang sudah disediakan di modul. 2. Selesaikan Tugas Pendahuluan praktikum VIII, kemudian lanjutkan dengan mengerjakan langkah-langkah praktikum pada modul yang telah disiapkan. 3. Kerjakan Soal Praktikum VIII yang telah disediakan di modul, setelah selesai mengerjakan langkah-langkah praktikum. 4. Kerjakan Tugas Praktikum VIII sebagai latihan dirumah. Hasil : 1. Kumpulkan modul praktikum Anda yang berisi jawaban Tugas Pendahuluan dan jawaban Soal Praktikum VIII sesuai dengan pertanyaan yang ada. 2. Tunjuk dan kumpulkan modul praktikum Anda yang berisi hasil pekerjaan Tugas Praktikum VIII kepada asisten pada pertemuan berikutnya.

83

Landasan Materi : 1. PROSEDUR Prosedur adalah program yang dapat dipanggil/dielsekusi oleh program lainnya, atau dieksekusi dari SQL-Prompt seperti ISQL. Prosedur yang paling sering digunakan adalah stored procedure yang berawalan sp, dan extended stored procedure (xp), program yang dikompilasi sebagai EXE atau DLL (Dynamic Link Library). Membuat Prosedur
CREATE PROCEDURE NamaProsedur AS Deklarasi_variable … … RETURN

CREATE PROCEDURE dapat disingkat dengan CREATE PROC. Berikut adalah contoh sebuah prosedur yang menampilkan honor instruktur: CREATE PROCEDURE pr_honor AS SELECT kd_ass, honor FROM honor_xxx RETURN

Menjalankan prosedur tersebut dengan EXEC atau langsung nama prosedure
EXEC pr_honor

Untuk mengkoreksi sebuah prosedur, maka kunci kata ALTER harus digunakan.
ALTER PROCEDURE pr_honor AS SELECT kd_ass, honor,jumlah_jam FROM honor_xxx RETURN

84

… 85 .’teks’. CREATE PROC NamaProsedur (@p1 int. parameter diberikan sebagai berikut: EXEC namaprocedure 210. …) AS Deklarasi_variable … … Pada saat eksekusi. @p2 char(16).Untuk menghapus prosedur gunakan DROP DROP PROCEDURE NamaProsedur Untuk secara otomatis mengubah prosedur tanpa ALTER. honor. Parameter Prosedur dapat mempunyai parameter berupa variable yang disuplai oleh program yang memanggilnya.jumlah_jam FROM honor_xxx go 2. dapat dibuat script sebagai berikut: USE stiki_xxx IF EXIST (SELECT name FROM sysobjects WHERE name = ‘pr_honor’ AND type = ‘P’) DROP PROCEDURE pr_honor go CREATE PROCEDURE pr_honor AS SELECT kd_ass.

honor FROM honor_xxx WHERE kd_ass=@ini Cara mengeksekusi : EXEC pr_honor ‘S56743’ Hasil : Jumlah_jam ------------------42 honor ----------330000 3. Untuk menghindari niali null.Contoh: Tampilkan honor untuk asisten tertentu yang diberikan berdasarkan kode asisten ALTER PROCEDURE pr_honor (@ini char(6)) AS SELECT jumlah_jam. maka nilai parameter tersebut menjadi kosong (null). Nilai Default Bila pada saat eksekusi procedure tidak diberikan parameter. ALTER PROCEDURE pr_honor (@ini char(6)=’S56743’) AS SELECT jumlah_jam. honor FROM honor_xxx WHERE kd_ass=@ini RETURN EXEC pr_honor ‘S90877’ Hasil : Jumlah_jam ------------------34 honor ----------200000 86 . maka pemberian nilai pada parameter dapat menggunakan nilai default.

@h int OUTPUT) AS SELECT @h=@p1*@p2 87 . CREATE PROC m (@p1 int. bila kosong maka pesan error akan ditampilkan. Parameter Output Nilai parameter bisa diolah pada program procedure dan untuk kemudian parameter tersebut dapat diubah dan diberikan nilainya pada program yang memanggilnya.EXEC pr_honor Hasil : Jumlah_jam ------------------42 honor ----------330000 Berikut adalah contoh program yang menedeteksi parameter. honor FROM honor_xxx WHERE kd_ass=@ini RETURN 4. ALTER PROCEDURE pr_honor (@ini char(6)=NULL) AS IF @ini=NULL BEGIN DECLARE @pesan char(6) SELECT @pesan='kosong' PRINT @pesan RETURN END SELECT jumlah_jam. @p2 int.

CREATE PROC pr_honor1 (@ini char(6)=NULL. p2 adalah 20 dan hsl merupakan hasil perkalian.Eksekusi : DECLARE @hsl int EXEC m 10. Berikut adalah program pr_honor1 yang memberikan nilai balik berupa parameter output @dana @dana akan dibaca oleh program yang memenggilnya dan mencetak hasilnya ke layar.@hsl OUTPUT print 'hasil = ' +str(@hsl) Pada contoh ada 3 parameter. Pada saat eksekusi p1 adalah 10.20. yaitu p1 dan p2 sebagai input parameter dan h sebagai output parameter.@h OUTPUT PRINT 'honor = ' +str(@h) 88 .@dana int OUTPUT) AS IF @ini=NULL BEGIN PRINT 'parameter kosong' RETURN END SELECT @dana = honor FROM honor_xxx WHERE kd_ass=@ini RETURN Eksekusi : DECLARE @h int EXEC pr_honor1 ' S56743'.

Apa yang dimaksud dengan store procedure ? 2. Apa yang dimaksud dengan parameter output ? Apa kegunaannya ? 89 .Soal Pendahuluan Praktikum VIII 1.

b. 90 . buku. Samakan dengan kartu praktikum anda). Buat sebuah Store Procedure untuk menghitung Nilai rata-rata tiap praktikan dalam satu kelas praktikum.Langkah selanjutnya : Ikuti langkah-langkah praktikum. Bagaimana menjalankan sebuah store procedure ? Tugas Praktikum VIII Gunakan tabel anggota. Buat keterangan bahwasannya assisten tersebut memiliki honor diatas rata-rata atau dibawah rata-rata. Langkah-langkah praktikum : a. Buat keterangan bahwasannya praktikan tersebut memiliki nilai diatas rata-rata atau dibawah rata-rata. Soal Praktikum VIII 1. (Buat tabel baru untuk menampung nilai-nilai praktikum. dan pinjam yang telah anda buat untuk membuat Store Procedure : menghitung denda anggota yang paling banyak dan berdasarkan rata-rata yang ada cari yang paling besar jumlah denda yang diterima. Buat sebuah Store Procedure untuk menghitung Nilai rata-rata langsung dari tabel asisten_XXX.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->