MODUL PRAKTIKUM BASIS DATA OLEH ASISTEN BASIS DATA

Ukuran: px
Mulai penontonan dengan halaman:

Download "MODUL PRAKTIKUM BASIS DATA OLEH ASISTEN BASIS DATA"

Transkripsi

1 MODUL PRAKTIKUM BASIS DATA OLEH ASISTEN BASIS DATA S1 ILMU KOMPUTER JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG

2 DAFTAR ISI Pertemuan 1 SQL Data Modeler... 4 Pertemuan 2 Relasi dalam SQL Data Modeler Pertemuan 3 Supertypes, Subtypes, dan Transferability Pertemuan 4 Normalisasi dalam Database Pertemuan 5 Arcs Pertemuan 6 Hierarki dan Rekursif Pertemuan 7 Historical Data Model Pertemuan 8 Mapping Pertemuan 9 SQL SELECT * STATEMENT Pertemuan 10 Syntax SQL ARITHMATIC,COLUMNS, ROWS Pertemuan 11Logical Comparisons and Predence Rules Pertemuan 12 Function Pertemuan 13 JOIN dan GROUP Pertemuan 14 INSERT DAN CREATE TABLE

3 Pertemuan 1 Pengenalan SQL Data Modeler Tujuan Intruksional : Pokok Bahasan ini mengenalkan tentang SQL Data Modeler Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang SQL Data Modeler termasuk cara instalasi, tools - tools SQL Data Modeler, dan cara menggunakannya. Waktu Pertemuan : 100 Menit 1.1 Dasar Teori SQL Data Modeler adalah sebuah software yang disediakan oleh Oracle untuk mempermudah dalam merancang database. 1.2 Instalasi SQL Modeler 1.Untuk menginstal dan menggunakan SQL Developer Data Modeler, download file datamodeler.zip pada situs oracle.com. 4

4 3.Pilih Developer Tools. 5

5 4.Pilih SQL Developer Data Modeler. 5.Klik Accept License Agreement kemudian download SQL Data Modeler sesuai dengan sistem operasi yang digunakan. 6

6 6.Setelah file terdownload, unzip Data Modeler ke dalam direktori (folder) pilihan. lokasi direktori ini akan disebut sebagai <datamodeler_install>. Sebagai contoh, pada sistem Windows mungkin ingin memilih C: \ sebagai lokasi unzip. 7.Untuk menjalankan Data Modeler, klik dua kali datamodeler64.exe (Windows sistem 64- bit) atau datamodeler.exe (sistem Windows 32-bit). Pada Linux dan Mac OS X sistem, jalankan sh datamodeler.sh. 8.Pada sistem Windows Jika Anda diminta untuk memasukkan nama path lengkap untuk JDK, klik Browse dan temukan file JDK pada direktori Java yang telah terinstal. Sebagai contoh, pada sistem Windows mungkin file ada pada direktori: C: \ Program Files \ Java \ jdk1.7.0_51 9.SQL Data Modeler siap digunakan 7

7 1.3 Data Modeler User Interface 1.Untuk memulai pembuatan desain database, klik kanan pada Logical Model kemudian pilih show 8

8 2.Setelah muncul lembar Logical(untitled_) klik new entity untuk menambahkan entity pada lembar Logical(untitled_) 3.Isi kolom name dengan nama entity 9

9 4.Pilih attributes sehingga muncul dialog attribute seperti gambar, klik icon + untuk membuat atribut baru, kemudian isi kolom name dengan nama attribute, klik logical dan tentukan tipe data yang digunakan untuk attribute, ceklis dialogbox Primary UID jika attribute tersebut merupakan primary key, kemudian klik Apply 5.Klik icon + untuk menambahkan attribute lainnya, untuk tipe data seperti varchar akanmuncul kolom size untuk menentukan ukuran data yang akan disimpan, jika sudah selesai klik OK 10

10 6.Buat tiga entity seperti contoh pada gambar 7.Untuk membuat relasi, klik icon relasi (contoh yang digunakan adalah relasi 1.N) kemudian akan muncul dialog relation seperti gambar, isi kolom name untuk menentukan nama relasi, isi kolom Name on source dan Name on target, kemudian klik OK 11

11 9.Untuk mengubah tampilan menjadi lebih detail, klik view pada menubar, pilih Logical Diagram Notation, kemudian pilih Bachman Notation 12

12 Tugas : Buatlah Conceptual Model Database yang mengimplementasikan seluruh jenis relasi (One-to-Many, One-to-One, Many-to-Many)! 13

13 Pertemuan 2 Relasi dalam SQL Data Modeler Tujuan Intruksional : Pokok Bahasan ini mempelajari tentang penggunaan Relasi di dalam SQL Data Modeler Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang penggunaan Relasi dalam SQL Data Modeler termasuk jenis-jenis relasi, dan pembagian relasi berdasarkan kardinalitas dan opsionalitas. Waktu Pertemuan : 100 Menit 2.1 Pengertian Relasi Relasi merupakan hubungan yang terjadi pada suatu tabel dengan tabel lainnya yang mempresentasikan hubungan antar objek di dunia nyata dan berfungsi untuk mengatur operasi suatu database. 1.2 Jenis-jenis Relasi Dalam Oracle SQL Data Modeler, relasi antar tabel dibagi berdasarkan dua hal, yaitu kardinalitas dan opsionalitas. a. Kardinalitas (Cardinality) Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya. 14

14 a. Satu ke satu (One to One), b. Satu ke Banyak / Banyak ke Satu (one to many / many to one), c. Banyak ke Banyak (Many to Many). b. Opsionalitas (Optionality) Opsionalitas Relasi menunjukkan haruskah atau tidak harus adanya suatu relasi antara satu entitas dengan entitas lainnya. Contoh : Cara Membacanya : Setiap Mahasiswa harus memilih satu jurusan, sedangkan suatu jurusan tidak harus memiliki Mahasiswa. 15

15 Contoh Kasus 1: Suatu Rumah Sakit ingin merancang database untuk menyimpan data rekam medis pasien. Database terbesut memiliki ketentuan sebagai berikut: 1. Satu rekam medis hanya boleh dimiliki oleh satu orang pasien, sedangkan satu orang pasien bisa memiliki lebih dari satu atau tidak memiliki rekam medis. 2. Satu rekam medis hanya boleh memuat satu resep obat, tetapi boleh juga tidak memuat resep obat. 3. Satu resep obat harus berisi minimal satu jenis obat. Penyelesaian : 1. Kita perlu membuat 4 buah entity yaitu : Pasien, Rekam Medis, Resep, dan Obat 2. Dari ketentuan 1, maka relasi yang akan terbentuk adalah : 3. Dari ketentuan 2, maka relasi yang akan terbentuk adalah : 16

16 4. Untuk ketentuan 3, kita tidak bisa langsung me-relasikan tabel Resep dan Obat, oleh karena itu kit perlu membuat tabel bantu. 17

17 TUGAS Suatu fakultas merancang database untuk menyimpan data mahasiswa dan dosen. Database terbesut memiliki ketentuan sebagai berikut: 1. Satu fakultas memiliki banyak jurusan, dan satu jurusan hanya dimiliki oleh 1 fakultas 2. Satu dosen hanya bisa mengepalai satu jurusan. 3. Satu dosen hanya bisa mengajar satu mata kuliah, sedangkan satu mata kuliah bisa diajar oleh banyak dosen. Buatlah Conceptual Diagram dari kasus di atas. 18

18 Pertemuan 3 Supertypes, Subtypes, dan Transferability Tujuan Intruksional : Pokok Bahasan ini mempelajari tentang Supertype, Subtype, dan Relasi Transferability Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang Supertype, Subtype, dan Relasi Transferability termasuk mendefinisikan serta memberikan contoh Supertype. Subtype dan Relasi Transferability Waktu Pertemuan : 100 Menit 3.1 Pengertian Subtype, Supertype, dan Transferability Subtype : Pengelompokan sebagian entitas instances dari suatu entitas type yang memiliki attribute yang berbeda dengan kelompok lain Supertype : Sebuah entitas type umum yang memiliki satu atau lebih subtypes. Transferability : Relasi antar table yang menunjukkan bisa tidaknya suatu instance 19

19 3.2 Relasi dan Subtypes Relasi pada tingkat supertype berarti semua subtypes ikut serta dalam relasi tersebut Relasi pada tingkat subtype berarti hanya subtype tersebut yang terkait dengan relasi yang dimaksud Gambar 3.1 ER Diagram Relationship dengan Subtype/Supertype 20

20 3.3 Contoh Supertype dan Subtype Contoh 1 : Supertypes : Kendaraan Subtypes : Motor ID Harga Ukuran Mesin Truk ID Harga Ukuran Mesin Kapasitas Bak Jenis Bak Mobil ID Harga Ukuran Mesin Jumlah Penumpang attributs milik semua Kendaraan Kendaraan_ Harga Kendaraan Ukuran_Me Truk Mobil attributs milik Truk Jenis_B Ukuran_B Jumlah_Penump attributs milik Mobil saja Gambar 3.2 Contoh ER Diagram Kendaraan Subtype dan Supertype 21

21 Pada desain ER Diagram kendaraan diatas ada tidak terdapat entitas Motor. Entitas Motor tidak ditulisakn karena dalam suatu supertype dapat memiliki entitas instance yang bukan merupakan instance dari subtype yang manapun. Gambar 3.3 Contoh ER Diagram Kendaraan Subtype dan Supertype 22

22 Contoh 2 Supertypes : Pasien Subtypes : Rawat Inap ID Nama Tanggal Lahir Tanggal Masuk Tanggal Keluar Rawat Jalan ID Nama Tanggal Lahir Tanggal Kembali Pasien_ID Nama Tanggal_Lahir Tangal_masuk Pasie n Pasien Rawat Inap Pasien Rawat Jalan Tanggal_Keluar Tanggal_Kembali Dari diagram yang dibuat tersebut, dapat diambil kesimpulan bahwa semua pasien memiliki nama dan tanggal lahir, namaun hanya pasien rawat inap yang memiliki tanggal masuk dan tanggal keluar. 23

23 3.4 Transferbilty dan Non-Transferbilty Transferbilty Dalam suatu desain database yang dibuat ada sebuah relasi antar entitas. Setiap entitas yang berelasi dengan entitas lainnya saling berpengaruh. Dalam suatu contoh nyata dalam pembuatan desain database Kepegawaian terdapat hubungan antara EMPLOYEE dan DEPARTMENT. Setiap EMPLOYEE ditugaskan ke sebuah DEPARTMENT. Dalam hal ini seorang EMPLOYEE bisa dipindah tugaskan untuk kesebuah DEPARTMENT lain, hal ini kita sebut dengan relasi Transferbility. Transferbilty adalah sebuah relasi antar entitas yang nilainya dapat berpindah (Transferable). Contoh : Hubungan antara STUDENT dan STUDY GROUP Seorang Siswa diperbolehkan untuk berpindah dari satu STUDY GROUP ke STUDY GROUP yang lain. Dalam hal ini hubungan relasi antara STUDENT dan STUDY GROUP adalah dapat Tranferable. 24

24 3.4.2 Non-Transferbilty Non-Transferbilty adalah sebuah relasi antar entitas yang nilainya tidak dapat berpindah/dipindahkan (Transferable). Ini merupakan kebalikan dari Relasi Transferbility. 25

25 Contoh : Hubungan antara POEM dan AUTHOR Satu POEM tidak bisa untuk berpindah nilai lagi menjadi AUTHOR yang lain, karena nilai POEM sudah ditentukan nilainya pada tepat satu AUTHOR. Dalam hal ini hubungan relasi antara POEM dan AUTHOR adalah dapat Non-Tranferable. TUGAS : 26

26 Implementasikan dan berikan contoh data modeler yang menggunakan Subtype, Supertype, dan Transferbility! 27

27 Pertemuan 4 Normalisasi dalam Database Tujuan Intruksional : Pokok Bahasan ini mempelajari tentang normalisasi pada model database Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang normalisasi pada model database termasuk aturan First Normal Form, Second Normal Form, dan Third Normal Form dan dapat mengimplementasikan bentuk normal diatas pada permasalahan yang ada. Waktu Pertemuan : 100 Menit 4.1. Pengertian Normalisasi Normalisasi merupakan sebuah proses mengorganisir data dalam suatu database untuk menghindari redundansi data, anomali pada penyisipan (insertion), anomali pada perubahan (update), dan anomali pada penghapusan (deletion) Anomali pada DBMS Ada tiga jenis anomali yang terjadi ketika database tidak dinormalisasi. Anomaly yang terjadi adalah - Insertion, update dan deletion anomaly. Mari kita ambil contoh untuk memahami hal ini. Misalkan sebuah perusahaan perabotan menyimpan rincian pegawai dalam tabel bernama pegawai yang memiliki empat atribut: id_pegawai untuk menyimpan id pegawai, nama 28

28 untuk menyimpan nama pegawai, alamat untuk menyimpan alamat pegawai dan divisi untuk menyimpan rincian divisi di mana pegawai bekerja. Pada suatu waktu table pegawai terlihat seperti ini: id_pegawai nama alamat divisi 101 Agus Bandar Lampung D Agus Bandar Lampung D Budi Pringsewu D Susi Pesawaran D Susi Pesawaran D004 Tabel diatas tidaklah normal. Kita akan lihat masalah yang didapat pada tabel yang tidak normal. Update Anomaly: Dalam tabel di atas kita memiliki dua baris untuk pegawai bernama Agus karena ia bekerja pada 2 divisi. Jika kita ingin memperbaharui (update) alamat dari Agus kita harus memperbaharui 2 baris data karena jika tidak, hal tersebut tidak konsisten. Jika entah bagaimana, alamat Agus yang benar berada pada 1 baris namu tidak pada baris yang lain, Agus akan mempunyai 2 alamat berbeda dan bisa menyebabkan data yang tidak konsisten. Insert Anomaly: Jika ada pegawai baru yang bergabung, namun masih dalam masa training dan belum terdaftar pada divisi manapun, maka data tidak akan bisa dimasukkan (insert) ke table jika atribut divisi tidak memperbolehkan nilai null. Delete Anomaly: Jika pada suatu waktu perusahaan akan menutup divisi D890 lalu menghapus baris yang memiliki nilai pada atribut divisi yaitu D890 maka informasi 29

29 mengenai pegawai Budi akan terhapus karena hanya ia terdaftar sebagai pegawai yang bekerja pada divisi D Bentuk Normal Berikut adalah bentuk-bentuk normal yang paling umum digunakan: 1. First Normal Form (1NF) Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa atomic value. Untuk memeriksa 1NF, setiap atribut harus memiliki nilai tunggal untuk setiap instance dari sebuah entitas. (Tidak ada set atribute yang berulang atau bernilai ganda). 30

30 Satu kode, satu nama, dan satu alamat ada untuk gedung sekolah, tetapi tidak satu kelas. Satu sekolah akan memiliki banyak kelas, oleh karena itu banyak data yang akan mengalami redundansi. Karena banyak ruang kelas yang ada di gedung sekolah, ruang kelas adalah multivalued dan melanggar 1NF. Jika ada atribut multi-valued, buatlah suatu entitas tambahan dan hubungkan dengan entitas asli dengan jenis relasi 1: M (one to many). Pelanggaran Bentuk Normal Pertama (First Normal Form) 31

31 Coba perhatikan entitas-entitas diatas. Apakah ada atribut yang bersifat multi-valued? Solusi Bentuk Normal Pertama (First Normal Form) Ketika semua atribut dalam suatu entitas yang bernilai tunggal, entitas yang dikatakan dalam Bentuk Normal Pertama. 32

32 2. Second Normal Form (2NF) 33

33 Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF, berikut adalah beberapa fungsi normalisasi 2NF. Menghapus beberapa subset data yang ada pada tabel dan menempatkan mereka pada tabel terpisah. Menciptakan hubungan antara tabel baru dan tabel lama dengan menciptakan foreign key. Tidak ada atribut dalam tabel yang secara fungsional bergantung pada candidate key tabel tersebut. Dari entitas diatas 1. Apakah purchase price milik dari supplier number, product number, atau keduanya? 2. Apakah supplier name milik dari supplier number, product number, atau keduanya? Solusi Bentuk Normal Kedua (Second Normal Form) 34

34 Bahwasanya entitas sebelumnya merupakan pelanggaran dalam 2NF, jika menggunakan entitas tersebut maka terjadinya data rangkap. maka perlu dibuat entitas baru untuk mendefinisikan Supplier dan Product Supplier. 3. Third Normal For (3NF) Normalisasi database dalam bentuk 3NF bertujuan untuk menghilangkan seluruh atribut atau field yang tidak berhubungan dengan primary key. Dengan demikian tidak ada ketergantungan transitif pada setiap kandidat key. Syarat dari bentuk normal ketiga atau 3NF adalah : 1. Memenuhi semua persyaratan dari bentuk normal kedua. 2. Menghapus kolom yang tidak tergantung pada primary key. 35

35 Perhatikan entitas diatas. Apakah store name berhubungan dengan UID dari CD? Apakah store address berhubungan dengan UID dari CD? Tidak, dan ini merupakan pelanggaran pada 3NF. Model 3NF menunjukkan bahwasanya, perlunya dibuat entitas baru dengan nama STORE yang terdiri dari number, name, dan address yang terhubung dengan entitas CD. 36

36 Contoh Aturan 2 Entitas diatas merupakan entitas CITY yang didalamnya, Juga terdapat atribut state. Dalam 3NF itu merupakan pelanggaran, karena pada entitas diatas termasuk dalam Transitive Dependency -> Ketergantungan Transitif 37

37 Model 3NF menunjukkan bahwasanya, perlunya dibuat entitas baru dengan nama STATE yang terdiri dari id, name, dan flower yang terhubung dengan entitas CITY. Contoh 3 Pada entitas diatas, diasumsikan bahwasanya setiap employee memiliki partner. Mengingat bahwasanya pada 3NF tidak diperbolehkan adanya Transitive Dependency -> Ketergantungan Transitif. Pada entitas diatas apakah partner name dan birth date berhubungan dengan UID dari EMPLOYEE? Tentu tidak, maka diperlukan entitas baru yang mendefinisikan partner yang terhubung dengan Employee. 38

38 Latihan : 39

39 ID Bu ku Judul_ Buku TglTerb it ID_Pener bit Nama_ Penerbit Alama t_pene rbit IDPeminja man NamaPe minjama n Alamat_Pem injaman B1 Sistemk 20-jan- P102 Gramed Teluk PJ65 Ateng Jakarta 2 u 12 A6 Bukuku 12-feb- P454 PencetP Karan PJ77 Deri Palembang 7 17 in g H6 ORAC 8-des- P54 ChuMar Metro PJ34 Iman Medan 3 LE 10 t J53 MySQL 9-feb- P87 Indomei Rajaba PJ2 Saddik Surabaya 13 sa 40

40 Pertemuan 5 Arcs Tujuan Intruksional : Pokok Bahasan ini mengenalkan tentang Arcs Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang konsep Arcs dan cara membuat Arcs di data modeler. Waktu Pertemuan : 100 Menit 1. Pengertian Arcs Arc dalam pemodelan data membantu perancang memperjelas relasi XOR (Exclusive OR) dalam pada database. Hubungan OR Eksklusif adalah hubungan antara satu entitas dan dua (atau lebih) entitas lain dimana hanya satu dari hubungan bisa eksis dalam satu waktu. Contoh XOR : Seorang pemenang undian, hanya akan menerima mobil ATAU uang tunai. Dari kalimat diatas dapat ditarik kesimpulan bahwa pemenang undian tersebut hanya dapat menerima mobil, atau hanya dapat menerima uang tunai, HANYA SALAH SATU TIDAK KEDUANYA. Arc digunakan dalam kasus pemodelan data pada relasi XOR. 2. Studi Kasus Papan iklan adalah media yang bisa menampilkan film, iklan barang, atau pengumuman masyarakat. Papan iklan dapat menampilkan hanya 1 dari ketiga kategori iklan diatas dalam satu waktu atau dalam arti tidak dapat memasang 3 jenis iklan dalam 1 waktu. Papan iklan hanya dapat memasang 1 film, 1 iklan barang, atau 1 pengumuman masyarakat pada satu waktu. 41

41 a. Langkah Pertama yaitu membuat ENTITAS. Dari kasus diatas dapat dilihat bahwa memiliki 4 entitas yaitu Papan Iklan, Film, Iklan Barang, dan Pengumuman Masyarakat. Satu Film dapat dipasang pada banyak Papan Iklan. Satu Iklan Barang dapat dipasang pada banyak Papan Iklan. Satu Pengumuman Masyarakat dapat dipasang pada banyak Papan Iklan. b. Langkah Kedua yaitu : Karena pada satu waktu hanya dapat diisi oleh 1 film, atau 1 Iklan Barang, atau 1 Pengumuman Masyarakat dan tidak dapat ketiganya sekaligus, berarti relasi pada diagram diatas mengimplementasikan relasi XOR, maka harus dibuatkan Arc. Cara Membuat ARC pada datamodeler yaitu : Klik pada Entitas yang utama atau yang dapat berisi 3 kategori tersebut. (Contoh diatas yaitu PAPAN IKLAN). Tekan Shift atau Ctrl. Pilih semua relasi yang akan dibuat Arc. 42

42 Lalu Klik New Arc. 43

43 Arc akan terbentuk. Arc relasi XOR 3. Perbedaan Arc dan Supertype/Subtype Pada beberapa kasus tidak semua mutual eksklusif harus dibuat Arc, namun ada beberapa kasus yang hanya harus dibuatkan Supertype/Subtype pada pemodelannya. Contoh : Pada sebuah ACARA, ada dua LOKASI acara yang dapat dipilih yaitu RUMAH, atau GEDUNG. Tentunya tidak dapat dipilih keduanya sekaligus pada satu waktu. a. Haruskah dibuatkan Arc pada relasi diatas? b. Apakah Rumah dan Gedung memiliki Atribut yang sama? c. Dapatkah RUMAH dan GEDUNG dijadikan Subtype pada SuperType LOKASI? 44

44 Benarkah pemodelan data diatas? Pemodelan data diatas tentu kurang tepat. Karena Entitas GEDUNG dan Entitas RUMAH memiliki atribut yang hampir sama. Maka, akan lebih tepat jika dijadikan Subtype dari Supertype LOKASI dan tidak memerlukan Arc. 45

45 SOAL LATIHAN Pada sebuah acara PELATIHAN, acara tersebut dapat diambil pemateri dari PERSEORANGAN, atau PERUSAHAAN TRAINING tidak dapat diambil pemateri dari keduanya dalam 1 waktu. Buatkan pemodelan data di data modeler! 46

46 Pertemuan 6 Hierarki dan Rekursif Tujuan Intruksional : Pokok Bahasan ini mengenalkan tentang Arcs Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang konsep Arcs dan cara membuat Arcs di data modeler. Waktu Pertemuan : 100 Menit 1. Pengertian Hierarki Hierarki pada pemodelan data adalah cara untuk menggambarkan tingkatan pada data. Contoh : Presiden Mengepalai beberapa Menteri. Menteri Mengepalai beberapa Deputi. Deputi Mengepalai beberapa Kepala Daerah. PRESIDEN MENTERI MENTERI DEPUTI DEPUTI DEPUTI DEPUTI KEPALA DAERAH KEPALA DAERAH 47

47 Gambar diatas menggambarkan salah satu contoh hierarki atau struktur. 48

48 2.1 Studi Kasus Pada sebuah kantor terjadi seperti dibawah ini : PRESDIR mengepalai beberapa DIREKTUR DIREKTUR mengepalai beberapa MANAGER MANAGER mengepalai beberapa KADIV. Bagaimana memodelkan hierarki pada kasus diatas? 1. Langkah pertama membuat entitas. 49

49 2. Pengertian Rekursif Rekursif adalah pemodelan data yang memiliki relasi pada entitas itu sendiri. 2.1 Studi Kasus Pada sebuah perusahaan terjadi dimana para pegawai mengepalai pegawai lainnya. Contoh : MANAGER mengepalai KADIV. KADIV mengepalai Pegawai Divisi. Lalu, Bagaimana menggambarkan pemodelan rekursif? 50

50 2. Karena beberapa pegawai akan mengepalai beberapa pegawai lainnya, maka akan terjadi relasi rekursif. Lalu, apa perbedaan Hierarki dan Rekursif? Hierarki akan menjelaskan pemodelan data lebih rinci, dimana dijelaskan para pegawai perusahaan langsung dibagi - bagi atas struktur organisasi perusahaan, namun tidak dengan Rekursif. Pemodelan dengan rekursif lebih simple namun tidak mendetail. 51

51 Pertemuan 7 Historical Data Model Tujuan Instruksional : Pokok bahasan ini menjelaskan tentang konsep Historical Data Model Kompetensi yang Diharapkan : Mahasiswa diharapkan dapat memahami tentang konsep Historical Data Model serta cara membuat Historical Data Model Pada Data Modeler. Waktu Pertemuan : 100 menit 1. Pengertian Historical Data Model Historical Data Model adalah pemodelan database yang dapat menyimpan sejarah daripada suatu data (History Data) yang memungkinkan terjadinya perubahan, penambahan, ataupun pengurangan data tersebut dari masa ke masa. Contoh: Pada tahun 2014 terdapat barang X dengan harga Rp ,00. Barang X tersebut terjual 4 barang dengan total pembayaran Rp ,00. Namun, pada tahun 2015 terjadi kenaikan harga pada barang X menjadi Rp ,00. Barang X tersebut juga terjual 4 barang dengan total pembayaran Rp ,00. Dari contoh diatas, dengan terjadinya perubahan harga pada barang X, tentunya diperlukan suatu pemodelan database yang dapat menyimpan perubahan data tersebut, serta tidak mengganggu data sebelumnya yang telah di proses. 52

52 2. Studi Kasus Seorang ARTIS akan meminjam PERHIASAN pada suatu toko perhiasan untuk menghadiri Gala Premiere Film. Toko perhiasan tersebut saat ini hanya dapat melihat siapa yang sedang meminjam perhiasan saat ini. Namun, manager ingin melihat siapa saja yang telah menyewa perhiasan tersebut? Bagaimana cara melihat siapa saja yang meminjam jika dibuatkan pemodelan data seperti diatas? Tentu kita harus membuat entitas baru yaitu RIWAYAT PEMINJAMAN 53

53 Pertemuan 8 Mapping Tujuan Intruksional : Pokok Bahasan ini mempelajari tentang pemetaan dari Conseptual Model menjadi tabel. Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang pemetaan entitas-entitas ataupun relasinya kedalam sebuah table Waktu Pertemuan : 100 Menit 1. Mapping One-to-One and One-to-Many Relationship Dalam sebuah Conseptual Model terdapat tiga entitas yang saling berhubungan yaitu entitas Fakultas, Jurusan, dan Dosen dimana satu Fakultas memiliki banyak Jurusan dan satu Jurusan dikepalai tepat oleh satu Dosen. Hasil pemetaan dari Conseptual Model adalah. 54

54 Entitas Fakultas, Jurusan, dan Dosen dipetakan menjadi tabel Fakultas, Jurusan, dan Dosen. Relasi One-to-Many antara entitas Fakultas dengan entitas Jurusan dipetakan dengan adanya Primary Key (PK) dari tabel Fakultas yang menjadi Foreign Key (FK) pada tabel Jurusan. Relasi One-to-One antara entitas Dosen dengan entitas Jurusan dipetakan dengan adanya Primary Key (PK) dari tabel Dosen yang menjadi Foreign Key (FK) pada tabel Jurusan. 2. Mapping Many-to-Many Relationship Terdapat sebuah Conseptual Model dengan entitas dan relasi sebagai berikut. 55

55 Hasil pemetaan dari Conseptual Model adalah. 56

56 Entitas Film, Kritikus, dan Review dipetakan menjadi tabel Film, Kritikus, dan Review. Entitas Review merupakan Intersection Entity yang menjadi solusi untuk relasi Many-to- Many antara entitas Film dan Kritikus. Pada Coneptual Model terdapat simbol bar atau Barred Relationship yang menjadikan Foreign Key (FK) pada tabel Review (FLM_ID, KRT_ID) juga menjadi Primary Key (PK) dari tabel Review. 3. Mapping Heirarchy Relationship Sebuah Heirarchy Relationship dengan Cascade Barred Relationship digambarkan melalui contoh Conseptual Model berikut Hasil pemetaan dari Conseptual Model adalah. 57

57 Entitas Gedung, Lantai, dan Ruang dipetakan menjadi tabel Gedung, Lantai, dan Ruang. Cascade Barred Relationship pada relasi hirarki menjadikan PK dari tabel Lantai merupakan kombinasi atribut Nomor dan FK GDG_ID sehingga saat dijadikan FK untuk tabel Ruang maka PK dari tabel Lantai (Nomor, GDG_ID) menjadi FK pada tabel ruang dan juga menjadikannya sebagai PK dari tabel Ruang sehingga PK dari tabel Ruang terdiri dari kombinasi atribut Nomor, LNT_No, dan GDG_ID. 4. Mapping Recrusive Relation Terdapat sebuah Conseptual Model yang terdiri dari dua entitas yaitu entitas Divisi dan Karyawan dimana banyak Karyawan yang bekerja pada satu Divisi dan terdapat karyawan yang merupakan manajer dari beberapa karyawan lain. 58

58 Hasil pemetaan dari Conseptual Model adalah. 59

59 Entitas Karyawan dan Divisi dipetakan menjadi tabel Karyawan dan Divisi. Hasil pemetaan dari Recrusive Relation pada entitas Karyawan berupa PK dari tabel Karyawan yang menjadi FK pada tabel Karyawan sendiri yaitu pada atribut mgr_id. 5. Mapping Arcs Terdapat sebuah Conseptual Model yang menggambarkan bahwa beberapa Tiket untuk sebuah pertunjukan dapat dibeli melalui Agen, Situs_Web, atau Gerai_Penjualan. Hasil pemetaan dari Conseptual Model adalah. 60

60 Entitas Tiket, Gerai_Pernjualan, Agen, dan Situs_Web dipetakan menjadi tabel Tiket, Gerai_Pernjualan, Agen, dan Situs_Web. Pemetaan dari Arcs dapat dilakukan dengan menambahkan kode program atau menggunakan Trigger dimana dari tiga atribut yang menjadi FK (AGN_ID, WEB_ID, GRP_ID) hanya salah satu yang dapat terisi. Jika satu atribut sudah terisi (Misalnya AGN_ID) maka atribut lain (WEB_ID, GRP_ID) tidak dapat terisi. 61

61 6. Mapping Supertype and Subtype Terdapat sebuah Conseptual Model dengan entitas Supertype dan Subtype sebagai berikut. Hasil pemetaan dari Conseptual Model adalah. 62

62 Supertype mewarisi seluruh atribut dan relasi yang dimiliki kepada Subtypenya. 63

63 7. Mapping Non-Transferable Relationship Terdapat sebuah Conseptual Model dengan entitas dan relasi sebagai berikut. Hasil pemetaan dari Conseptual Model adalah. Nilai yang menjadi FK pada tabel Person (GOL_Kode) tidak boleh diubah. 64

64 Pertemuan 9 Database Programming with SQL Syntax SQL SELECT * STATEMENT menggunakan APEX Tujuan Intruksional : Pokok Bahasan ini mempelajari tentang Database Programming dengan SQL Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang Database Programming termasuk cara instalasi dan penulisan syntax SQL menggunakan aplikasi Oracle Application Express (APEX). Waktu Pertemuan : 100 Menit 1-1. ORACLE APPLICATION EXPRESS (APEX) Oracle Application Express (APEX) adalah sebuah software yang disediakan oleh Oracle untuk membangun dan mengakses aplikasi seolah-olah bekerja di database terpisah, serta mempercepat proses pengembangan aplikasi. 3 Komponen APEX : SQL Workshop, Application Builder, Object Browser. Log in ke Oracle Application Express (APEX) Akses halaman login APEX : Workspace : US_A001APAC6416 Username : US_A001APAC6416_SQL01_S01 Password :

65 SQL WORKSHOP SQL Commands 66

66 2. Statement Window: ketik perintah SQL di sini 1. Run SQL button : Klik tombol ini untuk mengeksekusi pernyataan SQL. 3. Result Window : Output dari perintah SQL (atau pesan kesalahan) akan ditampilkan Basic SELECT Statement 1. SELECT * : mengambil semua baris pada tabel. Syntax dasar SELECT * FROM <table name>; Contoh SELECT * FROM employees; 2. SELECT Statement dengan sebuah Condition Ubah pernyataan SELECT: mengembalikan subset dari data. Syntax dasar SELECT <column name 1, column name 2, etc.> FROM <table name> WHERE <condition>; Contoh SELECT first_name, last_name, job_id FROM employees WHERE job_id = 'SA_REP'; Hasil: 67

67 68

68 3. Correcting errors Saat memasukkan perintah SQL, gunakan ejaan yang benar, jika tidak maka akan mendapatkan pesan error. Contoh: 1. Salah ejaan SELECT SEECT * FROM employees; 2. Salah memasukkan nama tabel employees. SELECT * FROM employee; 3. Salah memasukkan kolom first_name SELECT name FROM employees; 69

69 1-2. RELATIONAL DATABASE Relational Database menghubungkan tabel dengan menggunakan field yang sama, dengan minimal 2 tabel. Contoh Tabel "countries" yang ditampilkan adalah salah satu dari beberapa tabel di database employee. SELECT * FROM countries; Hasil: Accessing Data in an RDBMS Relational Database-Management System (RDBMS) mengatur data ke dalam baris dan kolom yang terkait dengan memasukkan pernyataan SQL di APEX. Permintaan tersebut kemudian dikirim ke Oracle Server (sebuah database yang berjalan di komputer), lalu diproses dan data akan ditampilkan. 70

70 Categories of SQL Statements 1. Data Manipulation Language (DML): dimulai dengan INSERT, UPDATE, DELETE, atau MERGE yang digunkaan untuk memodifikasi data tabel dan memasukkan baris baru, mengubah baris yang ada, atau menghapus baris yang ada. 2. Data Definition Language (DDL) : membuat, mengubah, dan menghapus struktur data dari database dimulai dengan CREATE, ALTER, DROP, RENAME, dan TRUNCATE begin DDL statements. 3. Transaction Control Language (TCL) : mengelola perubahan yang dibuat oleh pernyataan DML menggunakan COMMIT, ROLLBACK, dan SAVEPOINT, dapat dikelompokkan menjadi logical transactions. 4. Data Control Language (DCL): memberi atau menghapus hak akses ke database dan struktur di dalamnya menggunakan GRANT dan REVOKE. 71

71 1-3. ANATOMY OF A SQL STATEMENT SELECT Keyword : mencari data tertentu. SELECT Statement : mengambil informasi dari database. Syntax dasar: SELECT <column_name(s)> FROM <table_name>; SELECT : menentukan kolom yang akan ditampilkan. FROM : menentukan tabel yang berisi kolom yang tercantum dalam klausa SELECT. Konvensi SELECT last_name FROM employees sebuah klausa (clause): bagian dari pernyataan SQL. sebuah pernyataan: kombinasi dari dua / lebih klausa. keyword Projection and Selection Projection: memilih kolom dalam sebuah tabel Selection: memilih baris dalam sebuah tabel. A. Selecting All Colums: menampilkan semua kolom: gunakan asterisk symbol (*) dari sebuah nama kolom dalam klausa SELECT. Contoh: 72

72 1. Menampilkan tabel countries SELECT * FROM countries; 2. Menampilkan semua kolom dalam tabel menggunakan daftar masing-masing. SELECT country_id, country_name, region_id FROM countries; Hasil: B. Projecting Specific Columns: menampilkan PROJECT dengan kolom tertentu dari tabel. Masukkan nama kolom dan pisahkan setiap nama dengan koma (,). Hasil: SELECT location_id, city, state_province FROM locations; Tuliskan syntax untuk menghasilkan output sebagai berikut: Petunjuk: 1. Semua soal menggunakan tabel employees. 2 No. soal sesuai nomor materi

73

74 SELECT * FROM employees WHERE salary <= AND job_id LIKE 'ST%' OR last_name LIKE 'a%'; Output dari syntax diatas adalah. 75

75 3-2 76

76 Pertemuan 10 Database Programming with SQL Syntax SQL ARITHMATIC,COLUMNS, ROWS Menggunakan APEX Tujuan Intruksional : Pokok Bahasan ini mempelajari tentang Database Programming dengan SQL Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang Database Programming termasuk cara instalasi dan penulisan syntax SQL menggunakan aplikasi Oracle Application Express (APEX). Waktu Pertemuan : 100 Menit Menggunakan Operator Aritmatika add (+), subtract (-), multiply (*) and divide (/) Hasil perhitungan hanya ditampilkan pada output, tidak membuat sebuah kolom baru pada tabel/ mengganti nilai data. Contoh: Kolom nilai awal SALARY dan output SALARY untuk semua employees. 77

77 SELECT last_name, salary, salary FROM employees; Hasil: Precedence in Arithmetic Operators Precedence adalah urutan di mana Oracle mengevaluasi operator yang berbeda dalam ekspresi yang sama. Saat mengevaluasi sebuah ekspresi yang mengandung banyak operator, Oracle mengevaluasi operator dengan prioritas yang lebih tinggi sebelum mengevaluasi yang lebih rendah. Oracle mengevaluasi operator dengan prioritas yang sama dari kiri ke kanan dalam sebuah ekspresi. Gunakan tanda kurung ( ) untuk mendahulukan ekspresi yang dievaluasi. Operator Precedence (Tidak menggunakan tanda kurung) SELECT last_name, salary, 12*salary +100 FROM employees; Hasil: 78

78 79

79 Using Parentheses (Menggunakan tanda kurung) SELECT last_name, salary, 12*(salary +100) FROM employees; Hasil: NULL Values NULL adalah nilai yang unavailable, unassigned, unknown, atau inapplicable. NULL tidak sama dengan nol atau spasi. Relational databases menggunakan placeholder yang disebut NULL / null untuk mewakili nilai-nilai yang tidak diketahui. Contoh: SELECT last_name, job_id, salary, commission_pct, salary*commission_pct FROM employees; Hasil: Salaries dan Commissions NULL 80

80 Aliases (AS) Alias adalah penamaan kembali sebuah judul kolom pada output. Tanpa alias, ketika hasil pernyataan SQL ditampilkan, nama kolom yang ditampilkan akan sama dengan nama kolom pada tabel atau nama yang menunjukkan operasi aritmatika seperti 12 * (SALARY + 100). Kolom alias: Mengganti nama judul, berguna dalam perhitungan, diikuti nama kolomnya, bisa terdapat keyword AS opsional antara nama kolom dan alias, menggunakan tanda kutip ( ) jika berisi spasi / karakter khusus / case-sensitive. Menggunakan Kolom Aliases Syntax dasar: SELECT * column expr [ AS alias],... FROM table; Contoh: SELECT last_name AS name, commission_pct AS comm FROM employees; SELECT last_name "Name", salary*12 "Annual Salary" FROM employees; 81

81 2-1 COLUMNS, CHARACTERS, AND ROWS DESCRIBE DESCRIBE (DESC) digunakan untuk menampilkan struktur tabel (nama tabel, tipe data, Primary Key dan Foreign Key, Nullable. Sintaks dasar DESC <nama_tabel>; Contoh DESC customers; Hasil : Operator Concatenation (Penggabungan) Concatenation (Penggabungan) berfungsi untuk menggabungkan dua atau lebih karakter menjadi satu kesatuan kalimat. Simbol concatenation adalah 2 garis vertikal atau disebut pipes. Sintaks dasar : string1 string2 string_n Contoh : Concatenation SELECT department_id department_name FROM departments; Hasil : 82

82 Concatenation dengan Literal Values SELECT last_name ' has a monthly salary of ' salary ' dollars.'as Pay FROM employees; Hasil : Concatenation dengan Alias SELECT first_name ' ' last_name AS "Employee Name" FROM employees; Hasil : 83

83 2-2 LIMIT ROWS SELECTED DISTINCT DISTINCT digunakan adalah salah satu operator di database Oracle bahkan hampir di semua database yang digunakan untuk mencegah adanya duplikasi data atau record. Misalkan ada 10 orang yang bernama 'AHMAD', maka dengan menggunakan operator Distinct, bisa mengeliminasi data 'AHMAD' menjadi satu nama saja. DISTINCT digunakan setelah klausa SELECT. Sintaks dasar SELECT DISTINCT <nama_kolom> FROM <nama_tabel>; Contoh SELECT DISTINCT department_id FROM employees; Hasil : WHERE Klausa WHERE pada perintah SELECT digunakan untuk menyeleksi data atau record sesuai dengan kondisi yang diinginkan. Klausa WHERE bersifat opsional. a. WHERE dengan Operator Perbandingan Contoh : SELECT employee_id, last_name, department_id FROM employees WHERE department_id = 90; 84

84 Hasil : b. WHERE dengan Karakter Contoh : SELECT first_name, last_name FROM employees WHERE last_name = 'Taylor'; Hasil : 85

85 2-3 COMPARISON OPERATORS (OPERATOR PERBANDINGAN) BETWEEN...AND Operator ini digunakan untuk memilih dan menampilkan baris berdasarkan range nilai. Range nilai yang ditampilkan termasuk nilai batas terendah dan nilai batas tertinggi. Contoh : Hasil : SELECT last_name, salary FROM employees WHERE salary BETWEEN 9000 AND 11000; IN IN digunakan untuk menguji apakah sebuah nilai berada dalam seperangkat nilai tertentu. Contoh : SELECT city, state_province, country_id FROM locations WHERE country_id IN('UK', 'CA'); Hasil : LIKE Perintah LIKE merupakan kondisi untuk mendapatkan data dengan memilih data yang sesuai dengan kondisi. Dalam melakukan pencarian dengan kondisi like, maka perlu menyebutkan wildcard berupa garis bawah (_ ) atau persen (%). Berikut penjelasannya : 86

86 Tanda garis bawah ( _ ) berarti cocok dengan sebuah karakter apa saja dengan panjang karakter harus sesuai dengan jumlah karakter garis bawah. Contohnya like a_i berarti cocok dengan ani, adi atau ali namun tidak cocok dengan abri atau andi karena garis bawahnya hanya satu karakter diantara a dan i. Tanda persen (%) berarti cocok dengan karakter apa saja tanpa bergantung panjangnya. Contoh : Mencari last_name pada tabel employees yang memiliki huruf kedua terakhir o last_name. Hasil : SELECT last_name FROM employees WHERE last_name LIKE '_o%'; Opsi ESCAPE dapat digunakan untuk menunjukkan bahwa _ atau% adalah bagian dari namanya, bukan nilai wildcard. Contoh : Hasil : Mencari JOB_ID dari tabel employees yang berisi pola _R. SELECT last_name, job_id FROM EMPLOYEES WHERE job_id LIKE '%\_R%' ESCAPE '\'; 87

87 IS NULL, IS NOT NULL Tes kondisi IS NULL digunakan untuk data yang tidak tersedia, belum ditetapkan, atau tidak diketahui. IS NOT NULL digunakan untuk data yang tersedia di database. Contoh : Mencari semua last_name dari employees yang tidak memiliki manajer. SELECT last_name, manager_id FROM employees WHERE manager_id IS NULL; Hasil : IS NOT NULL menampilkan baris yang memiliki nilai di kolom commission_pct. SELECT last_name, commission_pct FROM employees WHERE commission_pct IS NOT NULL; Hasil : 88

88 Pertemuan 11 Database Programming with SQL Logical Comparisons and Predence Rules menggunakan APEX Tujuan Intruksional : Pokok Bahasan ini mempelajari tentang Database Programming dengan SQL Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang Database Programming termasuk cara instalasi dan penulisan syntax SQL menggunakan aplikasi Oracle Application Express (APEX). Waktu Pertemuan : 100 Menit 3-1 LOGICAL COMPARISONS AND PRECEDENCE RULES Logical Operators: menggabungkan dua atau lebih kondisi untuk menghasilkan satu hasil. Returned ONLY IF keseluruhan hasil dari kondisi ini benar. AND : Returns TRUE jika kedua kondisi benar. OR : Returns TRUE jika salah satu kondisi benar. NOT : Returns TRUE jika kondisi salah. Operator AND Hasil yang dikembalikan akan menjadi baris yang memenuhi KEDUA kondisi yang ditentukan dalam klausa WHERE. SELECT last_name, department_id, salary FROM employees WHERE department_id > 50 AND salary > 12000; SELECT last_name, hire_date, job_id FROM employees WHERE hire_date > '01/jan/1998' AND job_id LIKE 'SA%'; 89

89 Operator OR Jika klausa WHERE menggunakan kondisi OR, hasil yang dikembalikan dari kueri akan menjadi baris yang memenuhi salah satu dari kondisi OR. Semua baris kembali memiliki location_id = 2500 OR mereka memiliki seorang manager_id = 124. SELECT department_name, manager_id, location_id FROM departments WHERE location_id = 2500 OR manager_id=124; 3-1 LOGICAL COMPARISONS AND PRECEDENCE RULES Logical Operators: menggabungkan dua atau lebih kondisi untuk menghasilkan satu hasil. Returned ONLY IF keseluruhan hasil dari kondisi ini benar. AND : Returns TRUE jika kedua kondisi benar. OR : Returns TRUE jika salah satu kondisi benar. NOT : Returns TRUE jika kondisi salah. Operator AND Hasil yang dikembalikan akan menjadi baris yang memenuhi KEDUA kondisi yang ditentukan dalam klausa WHERE. SELECT last_name, department_id, salary FROM employees WHERE department_id > 50 AND salary > 12000; SELECT last_name, hire_date, job_id FROM employees WHERE hire_date > '01/jan/1998' AND job_id LIKE 'SA%'; 90

90 Operator OR Jika klausa WHERE menggunakan kondisi OR, hasil yang dikembalikan dari kueri akan menjadi baris yang memenuhi salah satu dari kondisi OR. Semua baris kembali memiliki location_id = 2500 OR mereka memiliki seorang manager_id = 124. SELECT department_name, manager_id, location_id FROM departments WHERE location_id = 2500 OR manager_id=124; Hasil: 91

91 Operator NOT Mengembalikan baris yang TIDAK memenuhi syarat dalam klausa WHERE. SELECT department_name, location_id FROM departments WHERE location_id NOT IN (1700,1800); Hasil: Aturan yang diutamakan AND-OR SELECT last_name ' ' salary*1.05 AS "Employee Raise" FROM employees WHERE department_id IN(50,80) AND first_name LIKE 'C%' OR last_name LIKE '%s%'; 1. Operator AND dievaluasi sebelum operator OR. 2. Jika salah satu dari kondisi dalam pernyataan AND tidak terpenuhi, maka operator Hasil: OR digunakan untuk memilih baris. 92

92 Konsep penting: AND OR Contoh: ORDER OPERATORS 1 Aritmatika + - * / 2 Concatenation 3 Comparison <, <=, >, >=, <> 4 IS (NOT) NULL, LIKE, (NOT) IN 5 (NOT) BETWEEN 6 NOT 7 AND 8 OR SELECT last_name ' ' salary*1.05 AS "Employee Raise",department_id, first_name FROM employees WHERE department_id IN(50,80) AND first_name LIKE 'C%' OR last_name LIKE '%s%'; 1. Kondisi AND dievaluasi, sehingga semua karyawan yang bekerja di dept 80 atau 50, AND yang memiliki nama depan dimulai dengan huruf "C" dikembalikan. 2. Klausa OR kemudian dievaluasi dan mengembalikan employees dengan nama terakhir huruf "s". Hasil: OR-AND Contoh: 93

93 SELECT last_name ' ' salary*1.05 AS "Employee Raise", department_id, first_name FROM employees WHERE department_id IN(50,80) OR first_name LIKE 'C%' AND last_name LIKE '%s%'; 1. first_name dimulai dengan "C" AND last_name berisi "s". Kedua kondisi ini harus dipenuhi untuk dikembalikan. 2. Setiap employees di department 50 dan 80 akan dikembalikan. Hasil: Menambahkan tanda kurung akan mengubah cara klausa WHERE dievaluasi, dan baris kembali. SELECT last_name ' ' salary*1.05 AS "Employee Raise", department_id, first_name FROM employees WHERE (department_id IN(50,80) OR first_name LIKE 'C%') AND last_name LIKE '%s%'; 1. Nilai dalam tanda kurung dipilih. 2. Semua nilai dalam tanda kurung yang juga mengandung huruf "s" pada last_name Hasil: akan dikembalikan. 94

94 3-2 SORTING ROWS ORDER BY ORDER BY digunakan untuk mengurutkan data. Contoh : Ascending SELECT last_name, hire_date FROM employees ORDER BY hire_date; Hasil : Descending SELECT last_name, hire_date FROM employees ORDER BY hire_date DESC; Hasil : Menggunakan kolom Alias SELECT last_name, hire_date AS "Date Started" FROM employees ORDER BY "Date Started"; Hasil : 95

95 Menggunakan kolom lain SELECT employee_id, first_name FROM employees WHERE employee_id < 105 ORDER BY last_name; Hasil : Menggunakan banyak kolom SELECT department_id, last_name FROM employees WHERE department_id <= 50 ORDER BY department_id, last_name; Hasil : 96

96 Operator NOT Mengembalikan baris yang TIDAK memenuhi syarat dalam klausa WHERE. SELECT department_name, location_id FROM departments WHERE location_id NOT IN (1700,1800); Hasil: Aturan yang diutamakan AND-OR SELECT last_name ' ' salary*1.05 AS "Employee Raise" FROM employees WHERE department_id IN(50,80) AND first_name LIKE 'C%' OR last_name LIKE '%s%'; 1. Operator AND dievaluasi sebelum operator OR. 2. Jika salah satu dari kondisi dalam pernyataan AND tidak terpenuhi, maka operator Hasil: OR digunakan untuk memilih baris. 97

97 Konsep penting: AND OR Contoh: ORDER OPERATORS 1 Aritmatika + - * / 2 Concatenation 3 Comparison <, <=, >, >=, <> 4 IS (NOT) NULL, LIKE, (NOT) IN 5 (NOT) BETWEEN 6 NOT 7 AND 8 OR SELECT last_name ' ' salary*1.05 AS "Employee Raise",department_id, first_name FROM employees WHERE department_id IN(50,80) AND first_name LIKE 'C%' OR last_name LIKE '%s%'; 1. Kondisi AND dievaluasi, sehingga semua karyawan yang bekerja di dept 80 atau 50, AND yang memiliki nama depan dimulai dengan huruf "C" dikembalikan. 2. Klausa OR kemudian dievaluasi dan mengembalikan employees dengan nama terakhir huruf "s". Hasil: OR-AND Contoh: 98

98 SELECT last_name ' ' salary*1.05 AS "Employee Raise", department_id, first_name FROM employees WHERE department_id IN(50,80) OR first_name LIKE 'C%' AND last_name LIKE '%s%'; 1. first_name dimulai dengan "C" AND last_name berisi "s". Kedua kondisi ini harus dipenuhi untuk dikembalikan. 2. Setiap employees di department 50 dan 80 akan dikembalikan. Hasil: Menambahkan tanda kurung akan mengubah cara klausa WHERE dievaluasi, dan baris kembali. SELECT last_name ' ' salary*1.05 AS "Employee Raise", department_id, first_name FROM employees WHERE (department_id IN(50,80) OR first_name LIKE 'C%') AND last_name LIKE '%s%'; 1. Nilai dalam tanda kurung dipilih. 2. Semua nilai dalam tanda kurung yang juga mengandung huruf "s" pada last_name Hasil: akan dikembalikan. 99

99 3-2 SORTING ROWS ORDER BY ORDER BY digunakan untuk mengurutkan data. Contoh : Ascending SELECT last_name, hire_date FROM employees ORDER BY hire_date; Hasil : Descending SELECT last_name, hire_date FROM employees ORDER BY hire_date DESC; Hasil : Menggunakan kolom Alias SELECT last_name, hire_date AS "Date Started" FROM employees ORDER BY "Date Started"; Hasil : 100

100 Menggunakan kolom lain SELECT employee_id, first_name FROM employees WHERE employee_id < 105 ORDER BY last_name; Hasil : Menggunakan banyak kolom SELECT department_id, last_name FROM employees WHERE department_id <= 50 ORDER BY department_id, last_name; Hasil : 101

101 Pertemuan 12 Function Tujuan Intruksional: Pokok bahasan ini mempelajari tentang fungsi-fungsi dalam APEX Kompetensi Yang Diharapkan: Mahasiswa diharapkan memahami tentang fungsi-fungsi dalam APEX Waktu Pertemuan : 100 Menit 4.1 Case and Character Manipulation Dual Table Dual Table memiliki satu baris yang disebut "X" dan satu kolom bernama "DUMMY." Dual Table digunakan untuk membuat pernyataan SELECT dan menjalankan fungsi yang tidak terkait langsung dengan tabel database tertentu. Conoh : LOWER (column expression) mengubah karakter alfa menjadi huruf kecil. Query : 102

102 Output : UPPER (column expression) mengubah karakter alfa menjadi huruf besar. Query : Output : INITCAP(column expression) mengubah karakter alfa menjadi huruf besar pada setiap awal kata. Query : Output : Character Manipulation Functions Character manipulation function digunakan untuk mengekstrak, mengubah, memformat, atau mengubah beberapa string karakter. 103

103 CONCAT : untuk menggabungkan dua nilai. Mengambil dua argumen karakter string, dan menggabungkan string kedua dengan yang perta ma. Dapat juga ditulis menggunakan concatenation operator ( ). Query : Output : Output : SUBSTR : untuk mengekstrak string dengan panjang yang ditentukan. Argumennya adalah (character String, starting position, length). Length argument bersifat opsional, dan jika dihilangkan, akan mengembalikan semua karakter ke akhir string. Query : 104

104 Output : Output : Query : Output : 105

105 LENGTH : untuk menampilkan panjang string dengan nilai angka. Fungsi ini mengambil karakter string sebagai argumen dan mengembalikan angka yang merupakan panjang dari dari karakter string tersebut. Query : Output : Output : INSTR : untuk menemukan posisi numerik dari karakter tertentu. INSTR mencari substring pertama dalam string karakter dan mengembalikan posisinya sebagai angka. Jika substring tidak ditemukan, angka nol akan dikembalikan. Query : 106

106 Output : Output : LPAD : Pads pada sisi kiri karakter string, menghasilkan right-justified. LPAD membutuhkan 3 argumen: string karakter, jumlah karakter dalam padded string, dan karakter untuk pad. Query : Output : 107

107 Output : RPAD : Pads pada sisi kanan karakter string, menghasilkan left-justified. Query : Output : 108

108 Output : TRIM : untuk menghapus semua karakter spesifik dari awal, akhir, atau awal dan akhir string. Query : Output : Query : Output : 109

109 Output : REPLACE : untuk menggantikan urutan karakter dalam string dengan kumpulan karakter lainnya. - string1 adalah string yang akan memiliki karakter pengganti di dalamnya - string_to_replace adalah string yang akan dicari dan diambil dari string1 - [replacement_string] adalah string baru yang akan dimasukkan ke dalam string1 Query : Output : Query : Output : 110

110 Output : Column Aliases Kolom alias digunakan untuk memberi nama sebuah fungsi. Bila kolom alias digunakan, kolom alias hanya akan muncul di output dan bukan pada sintaks fungsi sebenarnya. Contoh : 111

111 Ketika dicoba untuk kedua kalinya tanpa menggunakan kolom alias, nama kolom akan kembali seperti semula. Subtitution Variables Subtitution variables digunakan untuk menjalankan query yang sama dengan banyak nilai berbeda untuk mendapatkan set hasil yang berbeda. Oracle Application Express mendukung variabel substitusi. Untuk menggunakannya, nilai hardcoded dalam pernyataan harus diganti dengan : named_variable. Misalnya ini adalah query aslinya : Lalu ingin menjalankan dengan nilai yang berbeda (20, 30, 40, dsb). Maka dapat ditulis dengan : 112

112 Catatan : gunakan simbol titik dua ( : ) di depan enter_dept_id. Ini adalah simbol yang membuat Oracle Application Express mengenali teks sebagai variabel. 4.2 Number Function Terdapat 3 jenis fungsi angka dalam SQL query, yaitu: 1. Round 2. Trunc 3. Mod 1. ROUND ROUND dapat digunakan untuk membulatkan angka ke jumlah tertentu dari nilai decimal. Query: 2. TRUNC TRUNC digunakan untuk mengakhiri kolom, ekspresi, atau nilai ke angka tertentu dari nilai decimal. Query: TRUNC tidak membulatkan angka, tetapi mengakhiri angkat pada titik tertentu. 113

113 Query: SELECT MIN_salary, Max_salary, MIN_salary / Max_salary AS "Koma", TRUNC(MIN_salary/Max_salary,2) FROM JOBS WHERE max_salary=8500 ROUND(MIN_salary/Max_salary,2), Output: 3. MOD MOD digunakan untuk menemukan sisa setelah satu nilai dibagi dengan nilai lain. Contoh: MOD dari 5 dibagi dengan 2 adalah 1. Query: SELECT region_id, MOD(region_id,2) FROM countries; Output: Kolom MOD(REGION_ID,2) menunjukkan jumlah bandara pada setiap region berjumlah ganjil (1) atau genap (0). 4.2 Date Function 1. SYSDATE SYSDATE adalah fungsi tanggal yang digunakan untuk menghasilkan tanggal dan waktu saat ini dari database server. 114

114 Query: Output: Date Data Type Tipe data Date pada Oracle selalu menyimpan informasi sebagai 4 digit angka: 2 digit pertama menunjukkan abad dan 2 digit terakhir untuk menunjukkan tahun. Contoh: Database Oracle menyimpan tahun sebagai 1996 atau 2004, bukan hanya 96 atau 04. Query: Output: 115

115 Query: Output: Query: Output: 116

116 MONTHS_BETWEEN: Mengambil 2 buah data DATE dan menghasilkan nilai berupa jumlah bulan diantara kedua tanggal tersebut. Query: Output: ADD_MONTHS: Mengambil 2 data berupa tanggal (DATE) dan angka, kemudian menghasilkan tanggal 117

117 (DATE) dengan menambahkan angka tersebut kedalam komponen bulan dari data DATE. Query: Output: NEXT_DAY Mengambil 2 argumen berupa tanggal (DATE) dan hari, kemudian menghasilkan tanggal dari hari tersebut pada minggu setelahnya. Query: Output: LAST_DAY: Mengambil tanggal (DATE) untuk mencari hari terakhir pada bulan dari tanggal (DATE) yang diilih. Query: Output: 118

118 ROUND Menghasilkan nilai DATE yang telah dibulatkan kedalam unit yang telah ditentukan pada argument kedua. Query: Output: TRUNC Menghasilkan nilai DATE yang telah dipotong kedalam unit yang telah ditentukan pada statement kedua. Query: Output: 119

119 Berikut adalah contoh query SQL query dengan menggunakan beberapa fungsi DATE: Output: 120

120 TUGAS OBSERVASI-DEMONTRASI/PRAKTIK 1. Tampilkan gabungan kata Oracle dan Academy dari tabel dual kedalam kolom Subject menggunakan huruf kapital, serta tampilkan pula angka yang menyatakan panjang string dari subject tersebut kedalam kolom Length of Subject dalam satu kali output. 2. Tampilkan semua last_name dari table employees yang memiliki karakter a pada posisi kedua dalam urutan karakter string last_name. 3. Tulisakan query yang dapat menghasilkan output berikut : 4. Tuliskan query untuk menampilkan karakter pertama dari first_name yang digabungkan dengan last_name, dan salary untuk karyawan yang bekerja di departemen 20 dalam kolom alias Employees Data. Gunakan tabel EMPLOYEES. Gunakan konsep Subtitution Variable untuk menjalankan kasus yang berbeda (department_id = 30, 40, 50, dst). 121

121 5. Tuliskan query untuk menampilkan: employee_id, salary, commission_pct, nilai round dari salary dibagi comission_pct dengan nilai decimal 4) jadikan kolom hasil bagi, trunc dari salary dibagi commission_pct dengan nilai decimal 2, dan MOD 2 dari employee_id dari tabel employees, dimana salary lebih dari Tampilkan last_name dan tanggal employee dipekerjakan (hire date) dikurangi sebulan sebagai kolom H-30 dari tabel employees. 122

122 5. Tampilkan tanggal employee dipekerjakaan ditambah 24 bulan dan tanggal di hari selasa seminggu setelah employee mulai bekerja dari tabel employees. 123

123 Pertemuan 13 JOIN dan GROUP Tujuan Intruksional: Pokok bahasan ini mempelajari tentang fungsi JOIN dan GROUP dalam APEX Kompetensi Yang Diharapkan: Mahasiswa diharapkan memahami tentang fungsi JOIN dan GROUP dalam APEX Waktu Pertemuan : 100 Menit 9.1 JOIN JOIN adalah salah satu fungsi untuk menghubungkan beberapa atribut dari tabel (Entitas) yang berbeda yang memiliki relasi. Contoh : Ingin menghubungkan entitas Departments dan Location. Tabel Departments : 124

124 Tabel Locations : A. NATURAL JOIN Tidak memerlukan sesuatu yang secara spesifik untuk menggabungkan 2 tabel, jika tabel itu memiliki relasi maka akan dapat dihubungkan. SQL : SELECT department_name, city FROM departments NATURAL JOIN locations ; Hasil : 125

125 B. USING USING digunakan untuk menentukan atribut apa yang akan digunakan untuk menggabungkan beberapa tabel. Contoh : SELECT last_name, job_title FROM employees JOIN jobs USING (job_id) Hasil : C. JOIN ON dan PENGGUNAAN ALIAS Contoh PENGGUNAAN ALIAS : SELECT e.last_name, e. FROM employees e ; Penggunaan huruf "e" diatas adalah contoh meng-alias-kan entitas. 126

126 Contoh JOIN ON : SELECT last_name, job_title FROM employees e JOIN jobs j ON (e.job_id = j.job_id); Hasil : C. LEFT OUTER JOIN bagian paling kiri dari tabel yang akan menjadi referensi. Contoh : SQL : SELECT e.last_name, d.department_id, d.department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id);

127 Hasil : D. RIGHT OUTER JOIN Bagian kanan tabel yang akan menjadi referensi atau acuan. Contoh : SQL : SELECT e.last_name, d.department_id, d.department_name FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id);

128 E. FULL OUTER JOIN : FULL OUTER JOIN adalah gabungan dari LEFT OUTER JOIN dan RIGHT OUTER JOIN. Contoh : SQL : SELECT e.last_name, d.department_id, d.department_name FROM employees e FULL OUTER JOIN departments d ON (e.department_id = d.department_id);

129 F. INNER JOIN INNER JOIN adalah penggabungan data yang dimunculkan hanya data yang terdapat pada tabel - tabel yang dihubungkan. Contoh : SQL : SELECT e.last_name, d.department_id, d.department_name FROM employees e INNER JOIN departments d ON (e.department_id = d.department_id);

130 Hasil : 9.2 GROUP Group By Clause Group By merupakan kalusa yang digunakan untuk menampilkan sekumpulan data pada tabel berdasarkan kelompok tertentu. Query: SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ORDER BY department_id;

131 Output: Query pada contoh diatas menampilkan data department_id, dan rata-rata salary dari tabel employees, dimana baris data dikelompokkan berdasarkan department_id kemudian dihitung rata-rata dari salary dan diurutkan berdasarkan department_id. Sehingga pada tiap baris misalnya baris pertama menampilkan karyawan yang bekerja pada department 10 memiliki rata-rata gaji sebesar Group Withn Group Group Withn Group merupakan istilah yang digunakan untuk pengelompokan bersarang. Query: SELECT department_id, job_id, count(*) FROM employees WHERE department_id > 40 GROUP BY department_id, job_id ORDER BY department_id; Output:

132 Query pada contoh diatas menampilkan data karyawan yang dikelompokkan berdasarkan department_id, lalu di dalam masing-masing departemen, dilakukan pengelompokan lagi berdasarkan job_id kemudian menampilkan jumlah karyawan yang bekerja pada setiap pekerjaan di setiap departemen. Having Clause Klausa Having digunakan untuk menyeleksi data berdasarkan kriteria tertentu, kriteria tersebut menentukan kondisi bagi Group By. Kelompok data yang memenuhi klausa Having saja yang akan ditampilkan. Query: SELECT department_id, AVG(salary), Count(department_id) FROM employees HAVING AVG(salary)>7000 GROUP BY department_id ORDER BY department_id; Output: Query pada contoh diatas menampilkan hasil pengelompokan data berdasarkan department_id kemudian menampilkan hasil pengelompokan data yang memiliki rata- rata salary lebih dari 7000.

133 ROLLUP ROLLUP digunakan untuk menghitung subtotal dan total dari setiap kelompok data. Syarat penggunaannya adalah adanya tipe data numerik yang akan dihitung. kumpulan data yang sejenis dalam kumpulan data. Query: SELECT department_id, job_id, SUM(salary) FROM employees WHERE department_id < 50 GROUP BY ROLLUP (department_id, job_id); Output:

134 CUBE CUBE memiliki fungsi yang hampir sama dengan ROLLUP yaitu menghitung total dan sub total, namun CUBE digunakan untuk membuat cross-tabulasi(sub-total lebih dari satu dimensi). Query: SELECT department_id, job_id, SUM(salary) FROM employees WHERE department_id < 50 GROUP BY CUBE (department_id, job_id); Output:

135 Grouping Set Grouping Sets adalah perluasan dari klausa Group By. Grouping Sets digunakan untuk mendefinisikan pengelompokkan lebih dari satu dalam query yang sama. Query: SELECT department_id, job_id, manager_id, SUM(salary) FROM employees WHERE department_id < 50 GROUP BY GROUPING SETS ((job_id, manager_id), (department_id, job_id), (department_id, manager_id)); Output:

136 GRUPING Function Funsi GRUPING digunakan untuk mengetahui baris mana yang menampilkan data dari hasil dari perhitungan, dan baris mana yang menampilkan data sebenarnya dari database, penggunaan fungsi GRUPING akan mengembalikan nilai 0 atau 1, di mana: - Nilai 0 yang dihasilkan menandakan : Atribute telah digunakan untuk menghitung nilai agregat Nilai NULL yang ada pada kolom adalah stored NULL. - Nilai 1 yang dihasilkan menandakan : Atribute tidak pernah digunakan untuk menghitung nilai agregat Nilai NULL yang ada pada kolom adalah nilai NULL yang dihasilkan dari penggunaan operator ROOLUP atau CUBE sebagai hasil dari pengelompokan data. Query: SELECT department_id, job_id, SUM(salary), GROUPING(department_id) AS "Dept sub total", GROUPING(job_id) AS "Job sub total" FROM employees WHERE department_id < 50 GROUP BY CUBE (department_id, job_id); Output:

137 1. Nilai menunjukkan total gaji dari seluruh karyawan yang memenuhi syarat klusa WHERE. Di sini sudah tidak digunakan apa jenis pekerjaannya atau kode departmentnya. Karena kedua kolom, yaitu department_id dan job_id tidak digunakan dan nilai NULL yang ada pada kolom department_id dan job_id merupakan hasil dari penggunaan operator CUBE, maka nilai yang dihasilkan dari fungsi GROUPING adalah 1 di kolom Dept sub total dan Job sub total. 2. Nilai 6000 pada kolom salary menunjukkan total gaji seluruh karyawan yang bekerja sebagai MK_REP (tidak menggunakan department_id). Kolom yang digunakan adalah kolom jobt_id. Karena itu, nilai kembalian yang dihasilkan pada kolom Job sub total adalah 0, sedangkan kolom Dept sub total berisi nilai 1, karena kolom department_id tidak digunakan untuk menghitung total gaji ini. 3. Nilai 4400 pada kolom salary menunjukkan total gaji seluruh karyawan yang berada di departemen 10 (tidak menggunakan job_id). Kolom yang digunakan adalah kolom department_id. Karena itu, nilai kembalian yang dihasilkan pada kolom Dept sub total adalah 0, sedangkan kolom Job sub total berisi nilai 1, karena kolom job_id tidak digunakan untuk menghitung total gaji ini. 4. Nilai 6000 pada kolom salary menunjukkan total gaji karyawan yang bekerja sebagai MK_REP pada department 20. Kolom yang digunakan adalah kolom department_id dan job_id. Karena itu, nilai kembalian yang dihasilkan pada kolom Dept sub total dan Job sub total adalah 0.

138 LATIHAN SOAL JOIN 1. Buatkan perintah SQL untuk memunculkan last_name dari tabel (entitas) employees, city dari tabel (entitas) locations, menggunakan NATURAL JOIN! 2. Buatkan perintah SQL untuk tampilan dibawah ini menggunakan : A. USING B. JOIN ON Clue : - department_name ada di entitas DEPARTMENTS - salary ada di entitas EMPLOYEES 3. Buatlah tampilan seperti dibawah ini dengan mengimplementasikan salah satu fungsi INNER JOIN, LEFT OUTER JOIN, FULL OUTER JOIN, RIGHT OUTER JOIN! A.

139 B. C. D. 4. Tulisan SQL untuk gambar dibawah ini menggunakan ON dan ALIAS Clue :

140 - last_name dan salary dari entitas employees - department_name dari entitas departments - city dari entitas locations SOAL MATERI GROUPING 1. Tuliskan query yang dapat menampilkan manager_id, jumlah karyawan dan rata-rata gaji yang diterima oleh suatu kelompok karyawan yang dikelompokkan berdasarkan manager_id, dan diurutkan berdasarkan rata rata gaji yang terbesar ke yang terkecil.

141 2. Tuliskan query yang dapat menampilkan data job_id,manager_id, jumlah karyawan dan rata-rata gaji karyawan yang dikelompokan berdasarkan manager_id yang berada dalam suatu kelompok job_id, dan diurutkan berdasarkan job_id karyawan. 3. Tuliskan query yang dapat menampilkan job_id, jumlah karyawan dan rata-rata gaji yang karyawan yang dikelompokkan berdasarkan job_id yang memiliki rata-rata gaji kurang dari Tuliskan query yang dapat menampilkan data department_id, manager_id, dan total gaji yang dikelompokkan berdasarkan manager_id yang berada dalam suatu kelompok department_id dengan kondisi department_id dibawah 60 dan tampilkan subtotal dan total dari gaji yang diterima pada tiap tiap kelompok data serta keterangan apakah baris tersebut menggunakan perhitungan dari kelompok manager_id atau department_id.

142 5. Tuliskan query yang dapat menampilkan data department_id, manager_id, dan total gaji yang dikelompokkan berdasarkan manager_id yang berada dalam suatu kelompok department_id dengan kondisi department_id dibawah 50 dan tampilkan subtotal dan total dari gaji berdasarkan dimensi kelompok department_id dan dimensi kelompok manager_id serta keterangan apakah baris tersebut menggunakan perhitungan dari kelompok manager_id atau department_id.

143 Pertemuan 14 INSERT DAN CREATE TABLE Tujuan Intruksional : Pokok Bahasan ini mempelajari tentang INSERT dan CREATE tabel dalam APEX Kompetensi Yang Diharapkan : Mahasiswa diharapkan memahami tentang cara INSERT dan CREATE table dalam APEX Waktu Pertemuan : 100 Menit 10.1 INSERT INSERT adalah sebuah fungsi yang digunakan untuk memasukkan data ke dalam suatu tabel. Dengan fungsi ini kita akan menambahkan satu row/baris data baru pada tabel yang diinginkan. SQL untuk melakukan INSERT yaitu : INSERT INTO nama_tabel (kolom1, kolom2, kolom3, kolom4) VALUES ( isi_kolom1, isi_kolom2, isi_kolom3, isi_kolom4); Contoh : Kita ingin menambahkan data baru pada tabel copy_employees. Sebelum melakukan INSERT ke dalam tabel, kita harus tahu dulu kolom apa saja yang terdapat pada tabel tesebut. Jadi kita perlu melihatnya dengan perintah SELECT * FROM.

144 Dari situ kita bisa melihat kolom yang terdapat pada tabel copy_employees. Sehingga perintah SQL untuk meng-insert data baru yaitu : INSERT INTO copy_employees (employee_id, first_name, last_name, , phone_number, hire_date, job_id, salary, commission_pct, manager_id, department_id) VALUES (300,'Fadhli', 'Iman', 'fadhli@unila.ac.id', ' ', '06-Jun-2016', 'AD_MGR', 50000, '.3', 100, 80); Hasil : Selain dengan menggunakan SQL diatas, kita juga bisa melakukan INSERT pada TABEL tanpa perlu menuliskan nama kolom pada tabel, dengan syarat kita harus mengisi semua VALUES pada setiap kolom tabel. SQL: INSERT INTO copy_employees VALUES (300,'Fadhli', 'Iman', 'fadhli@unila.ac.id', ' ', '06-Jun-2016', 'AD_MGR', 50000, '.3', 100, 80); Namun untuk menghindari kekeliruan lebih dianjurkan untuk menuliskan setiap nama kolom pada tabel yang akan di-insert.

145 HAL-HAL yang perlu diperhatikan dalam melakukan INSERT pada TABLE. - Untuk setiap kolom yang memiliki tipe data selain INTEGER (misal VARCHAR, DATE, dll) harus menggunakan tanda petik ( ' ) pada VALUES yang akan di- INSERT. - Jika ingin mengosongkan salah satu kolom pada TABEL yang akan di-insert (memasukkan nilai NULL) maka dapat dilakukan dengan cara sebagai berikut: Contoh : kita akan menginputkan data ke tabel copy_employees, tetapi tidak mengisi kolom manager_id dan department_id. Maka ada 2 cara untuk SQL yang dipakai : Cara 1 (mengosongkan nilai VALUES): INSERT INTO copy_employees (employee_id, first_name, last_name, , phone_number, hire_date, job_id, salary, commission_pct, manager_id, department_id) VALUES (300,'Fadhli', 'Iman', 'fadhli@unila.ac.id', ' ', '06-Jun-2016', 'AD_MGR', 50000, '.3', '', ''); Cara 2 (tidak memasukkan kolom yang ingin dikosongkan): INSERT INTO copy_employees (employee_id, first_name, last_name, , phone_number, hire_date, job_id, salary, commission_pct) VALUES (300,'Fadhli', 'Iman', 'fadhli@unila.ac.id', ' ', '06-Jun-2016', 'AD_MGR', 50000, '.3'); Sebelum memasukkan nilai null kita harus mengecek terlebih dahulu apakah kolom tersebut bisa diisi NULL (NULLABLE) atau tidak. Caranya adalah dengan menggunakan query SQL : DESCRIBE copy_employees

146 Hasil : Dari situ kita bisa melihat kolom mana yang bisa diisi nilai NULL dan yang tidak bisa CREATE Fungsi CREATE digunakan untuk membuat sebuah TABEL baru di dalam database. Sebelum membuat TABEL baru ada beberapa hal yang perlu diperhatikan dalam memberi nama pada TABEL dan KOLOM pada tabel tersebut : - Harus diawali dengan huruf. - Harus terdiri dari 1-30 karakter. - Karakter yang diperbolehkan adalah huruf A-Z, angka 0-9, _ (underscore), $, dan #.

STRUCTURE QUERY LANGUAGE DDL & DML

STRUCTURE QUERY LANGUAGE DDL & DML STRUCTURE QUERY LANGUAGE DDL & DML OUTLINE Data Definiton Language (DDL) Data Manipulation Language (DML) Data Control Language (DCL) Proses Pembangunan Database Perintah SQL DATA DEFINITION LANGUAGE (DDL)

Lebih terperinci

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek. Perkenalan SQL Sebuah database adalah sekumpulan informasi yang disusun dengan baik. Untuk mengatur sebuah database, dibutuhkan sebuah Database Management System (DBMS). DBMS merupakan program untuk menyimpan,

Lebih terperinci

Arsitektur Basis Data Oracle

Arsitektur Basis Data Oracle Arsitektur Basis Data Oracle Oracle pertama kali dicetuskan oleh Larry Elisson beserta dua temannya pada tahun 1977. Nama Oracle diambil dari proyek milik CIA di mana dia sebelumnya bekerja. (Wikipedia)

Lebih terperinci

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE MODUL 4 Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE BAGIAN 1 QUERY SELECT Tujuan Pembelajaran : Mengetahui kemampuan dari

Lebih terperinci

Esson Sihombing, S.Kom. Lab. Basisdata 1 Sistem Informasi UNIKOM 2013

Esson Sihombing, S.Kom. Lab. Basisdata 1 Sistem Informasi UNIKOM 2013 Esson Sihombing, S.Kom. Lab. Basisdata 1 Sistem Informasi UNIKOM 2013 PRACTICE 1 1. Initiate an isql*plus session using the user ID and password that are provided by the instructor (pada pengerjaan tugas

Lebih terperinci

Menggunakan Set Operators

Menggunakan Set Operators 7 Menggunakan Set Operators Tujuan Setelah menyelesaikan pelajaran ini, Anda akan dapat melakukan berikut ini : Menjelaskan set operators Menggunakan suatu set operator untuk mengkombinasikan beberapa

Lebih terperinci

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel Sistem Basis Data 1 Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel 2 SQL SQL (Structured Query Language) Bahasa standar yang

Lebih terperinci

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015 C H A P T E R 15 SQL Operasi DML Arif Basofi PENS 2015 Objectives Tujuan: Mengenal operasi perintah SQL dalam: - DML (Data Manipulation Language) [1] - DDL (Data Definition Language) [2] S Q L DML DML

Lebih terperinci

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS

B a s i s D a t a. Tatap MUka. SQL Query & Agregate Function. Arif Basofi PENS Tatap MUka 3 SQL Query & Agregate Function Arif Basofi Topik Sintaks Dasar SQL Query Operasi Aritmatika dalam SQL SQL Fungsi Agregate dan Group SQL Joint Table S Q L - Pendahuluan Bahasa user yang meminta

Lebih terperinci

Tutorial Database Oracle Chapter3 Menampilkan Data Menggunakan Perintah SQL SELECT

Tutorial Database Oracle Chapter3 Menampilkan Data Menggunakan Perintah SQL SELECT Tutorial Database Oracle Chapter3 Menampilkan Data Menggunakan Perintah SQL SELECT Oleh: Ardie Jocong Pada Tutorial ketiga ini, saya akan memberikan tutorial bagaimana Menampilkan data yang telah dibuat

Lebih terperinci

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS C H A P T E R 15 SQL Operasi DML Objectives Tujuan: Mengenal operasi perintah SQL dalam: - DML (Data Manipulation Language) - DDL (Data Definition Language) S Q L DML DML (Data Manipulation Language) adalah

Lebih terperinci

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc. DATABASE - MySQL Muhammad Zen S. Hadi, ST. MSc. Objectives Tujuan: Memahami perintah-perintah dasar DDL dan DML Contents Database DBMS Relational model SQL MySQL MySQL yang support ke relational model

Lebih terperinci

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML Objectives Tujuan: DATABASE - MySQL Memahami perintah-perintah dasar DDL dan DML Acep Irham Gufroni, M.Eng. Pemrograman Internet Teknik Informatika Univ. Siliwangi Database Constraints Database a collection

Lebih terperinci

Perangkat Lunak Pengembangan Web

Perangkat Lunak Pengembangan Web Perangkat Lunak Pengembangan Web Pertemuan 5 Database I Program Diploma IPB - Aditya Wicaksono, SKomp 1 Apa itu SQL? Structured Query Language SQL adalah bahasa standar untuk mengakses database SQL memungkinkan

Lebih terperinci

Pertemuan 10 Structure Query Language(SQL)

Pertemuan 10 Structure Query Language(SQL) Pertemuan 10 Structure Query Language(SQL) INDIKATOR 1. Mengenal perintah dasar SQL (SELECT,FROM,WHERE) 2. Menggunakan SELECT dan FROM dalam satu tabel 3. Menggunakan asterisk(*) 4. Menggunakan nama lain

Lebih terperinci

Tutorial Database Oracle Chapter4 Pembatasan dan Pengurutan

Tutorial Database Oracle Chapter4 Pembatasan dan Pengurutan Tutorial Database Oracle Chapter4 Pembatasan dan Pengurutan Oleh: Ardie Jocong Pada Tutorial Database Oracle Chapter4 ini, saya akan Memberikan sedikit ilmu Bagaimana Melakukan Pembatasan dan Pengurutan

Lebih terperinci

IKG2I4 / Software Project I

IKG2I4 / Software Project I IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 9 1 3/11/2015 WEEK 9 Entity Relationship Diagram (ERD) Primary key Foreign

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER

RENCANA PEMBELAJARAN SEMESTER RENCANA PEMBELAJARAN SEMESTER Mata kuliah : Data Management Semester : 2 Kode : SM421224 SKS : 4 Prodi : Manajemen Bisnis Telekomunikasi dan Informatika Dosen : Yudi Priyadi, S.T.,M.T. Capaian pembelajaran

Lebih terperinci

Konsep Sistem Informasi B. BAB 2 - SQL Overview

Konsep Sistem Informasi B. BAB 2 - SQL Overview Konsep Sistem Informasi B BAB 2 - SQL Overview Summary Definisi SQL Komponen-Komponen SQL Latihan What is? Introduction SQL Structured Query Language adalah sebuah bahasa yang digunakan untuk mengakses

Lebih terperinci

Basis Data 1. Dasar SQL Query. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

Basis Data 1. Dasar SQL Query. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS Basis Data 1 Dasar SQL Query Arif Basofi, S.Kom. MT. Teknik Informatika, PENS Tujuan Mengenal dan Memahami Struktur Dasar Perintah- Perintah SQL Query Database 2 SQL - Pendahuluan Bahasa user yang meminta

Lebih terperinci

BAB 2 : Dasar Penulisan Statemen SQL. 2.1. Sasaran Mengetahui kemampuan dari SQL SELECT Statement Dapat membuat perintah SQL dengan SELECT Statement

BAB 2 : Dasar Penulisan Statemen SQL. 2.1. Sasaran Mengetahui kemampuan dari SQL SELECT Statement Dapat membuat perintah SQL dengan SELECT Statement BAB 2 : Dasar Penulisan Statemen SQL 2.1. Sasaran Mengetahui kemampuan dari SQL SELECT Statement Dapat membuat perintah SQL dengan SELECT Statement 2.2. Dasar Statement SELECT Sintak (cara penulisan) dari

Lebih terperinci

Praktikum Basis Data 14 Structure Query Language 2

Praktikum Basis Data 14 Structure Query Language 2 Praktikum Basis Data 14 Structure Query Language 2 Pokok Bahasan : - DDL create table - DDL alter table - DDL drop table - DML insert - DML update - DML delete Tujuan : - Mahasiswa dapat menerapkan perintah

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya BAB 11 : Constraint Halaman : 11-0

Lebih terperinci

KSI B ~ M.S. WULANDARI

KSI B ~ M.S. WULANDARI 1 MODUL II : QUERY Pengertian Query Query artinya pertanyaan atau penyelidikan. Dalam database, query adalah permintaan akan kumpulan data tertentu. Jenis-jenis query 1. Select query Select query digunakan

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Bab 2 : Dasar Penulisan Statement

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Oracle Academic Initiative Halaman

Lebih terperinci

DESAIN DATABASE. Pertemuan 06 3 SKS

DESAIN DATABASE. Pertemuan 06 3 SKS Materi 1. Era Informasi 2. Strategi dan Peluang Yang Kompetitif 3. Database dan Database Warehouse 4. Desain Database 5. Sistem Pendukung Keputusan dan Sistem Cerdas 6. E-Commerce DESAIN DATABASE Pertemuan

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya BAB 10 : Pembuatan & Pengelolaan

Lebih terperinci

LAPORAN TUGAS BASIS DATA I

LAPORAN TUGAS BASIS DATA I LAPORAN TUGAS BASIS DATA I Disusun untuk Memenuhi Tugas Matakuliah Basis Data I yang dibimbing oleh Bapak Muhammad Zainal Arifin Oleh : KATYA LINDI CHANDRIKA 140535605307 UNIVERSITAS NEGERI MALANG FAKULTAS

Lebih terperinci

MySQL J A M K E T I G A

MySQL J A M K E T I G A J A M K E T I G A MySQL l Apa itu MySQL? l Membuat User Baru l Membuat Database l Tipe Data MySQL l Membuat Tabel l Structured Query Language l Latihan Jam Ketiga l Soal Jam Ketiga Jam Ketiga Apa itu MySQL?

Lebih terperinci

Basis Data Relational

Basis Data Relational Basis Data Relational Kebanyakan model yang digunakan adalah Model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). RDBMS menyediakan layanan pengorganisasian data

Lebih terperinci

RENCANA PEMBELAJARAN

RENCANA PEMBELAJARAN FRM/KUL/01/ Written by Checked by Approved by valid date Leon Andretti Abdillah, S.Kom.,MM Merry Agustina, M.M.,M.Kom M.Izman Herdiansyah, ST., MM., Ph.D Mata Kuliah : Praktikum Basis Data Semester :1

Lebih terperinci

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle. 1 2 3 Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle. 4 Isilah konfigurasi instalasi yang akan dibuat. Oracle Home Location : biasanya terisi otomatis dgn drive yang paling banyak

Lebih terperinci

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel Konsep Dasar Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel Halaman 1 dari 12 Relasional Database dan RDBMS Sebelum membahas berbagai

Lebih terperinci

BAB 2 LANDASAN TEORI. pengolahan data, pengolahan gambar, pengolahan angka, dan lainnya.

BAB 2 LANDASAN TEORI. pengolahan data, pengolahan gambar, pengolahan angka, dan lainnya. BAB 2 LANDASAN TEORI 2.1 Pengertian Aplikasi Aplikasi merupakan komponen atau perangkat lunak pendukung sistem operasi yang bisa digunakan untuk keperluan membantu kerja manusia sehari-hari seperti pengolahan

Lebih terperinci

INTERNET PROGRAMMING DATABASE

INTERNET PROGRAMMING DATABASE INTERNET PROGRAMMING DATABASE Muhmmad Zen Samsono Hadi, ST. MSc. zenhadi@eepis-its.edu POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Bahasan Sistem Database ER Diagram Database MySQL Internet Application Pendahuluan

Lebih terperinci

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data Kompetensi Dasar Setelah mengikuti kegiatan proses belajar mengenai Pengenalan SQL, mahasiswa dapat mendefinisikan dan memanipulasi sistem basis data menggunakan bahasa SQL dengan tepat Tujuan Pembelajaran

Lebih terperinci

MySQL AL AZHAR COMPUTER CLUB

MySQL AL AZHAR COMPUTER CLUB MODUL Pelatihan Web MySQL AL AZHAR COMPUTER CLUB Oleh : Achmad Fachrie Jakarta, 2006 Al Azhar Computer Club MySQL Dalam melakukan pengembangan aplikasi, salah satu komponen yang terpenting adalah database.

Lebih terperinci

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL) STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL) A. Pengenalan SQL SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San Jose, IBM). Kini SQL juga dijumpai

Lebih terperinci

MODUL 4 INTERNET PROGRAMMING DATABASE

MODUL 4 INTERNET PROGRAMMING DATABASE MODUL 4 INTERNET PROGRAMMING DATABASE A. Tujuan : 1. Memahami tentang penggunaan Ms. Access 2. Memahami tentang pembuatan tabel 3. Memahami tentang relasi antar tabel INTERNET PROGRAMMING PENS-ITS B. Dasar

Lebih terperinci

Mahasiswa mampu menjelaskan fungsi data management, business process management dalam suatu perancangan SIM suatu organisasi.

Mahasiswa mampu menjelaskan fungsi data management, business process management dalam suatu perancangan SIM suatu organisasi. Dibuat oleh: Yudi Priyadi (Prodi Manajemen Bisnis Telekomunikasi & Informatika) CP-MK: 1. Mahasiswa mampu melakukan analisis penerapan data management pada suatu organisasi/industri, melalui pembuatan

Lebih terperinci

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

Jobsheet SQL Dasar : Hari Zulianto, ST [Year] JOB SHEET Nama SMK : SMK IPTEK Weru Sukoharjo Kompetensi Keahlian : Rekayasa Perangkat Lunak Mata Pelajaran / SK : SQL Dasar Guru Mapel : Hari Zulianto, ST Semester/Tahun : 3 / 2017 Dasar-Dasar SQL 1.

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya. BAB 12 : Pembuatan View Halaman

Lebih terperinci

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

MODUL III STRUCTURED QUERY ANGUAGE (SQL) MODUL III STRUCTURED QUERY ANGUAGE (SQL) Tujuan : 1. Memahami tentang sistem database 2. Memahami instalasi MySQL di lingkungan Windows 3. Memahami dasar-dasar MySQL. Tugas Pendahuluan 1. Apa yang anda

Lebih terperinci

Pertemuan 12 Pengenalan Structured Query Language

Pertemuan 12 Pengenalan Structured Query Language Pertemuan 12 Pengenalan Structured Query Language Apa Itu SQL? Membuat, Menampilkan, Membuka dan Menghapus Database Membuat, Mengubah dan Menghapus Table Menambah Record dengan INSERT Mengedit Record dengan

Lebih terperinci

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

PRAKTIKUM 5 SISTEM BASIS DATA JOIN Mochammad Yusa Sistem Basis Data 1 PRAKTIKUM 5 SISTEM BASIS DATA JOIN Praktikan Mengetahui Asisten Laboratorium NIM. NIM. A. TUJUAN Tujuan dari praktikum ini adalah: 1. Mampu menginputkan data dan record

Lebih terperinci

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs. Praktikum Basis Data By. Rita Wiryasaputra, ST., M. Cs. SQL: DDL (Data Definition Language) Create Database Create Table Create View Create Index Alter Database Alter Table Alter View Drop Database Drop

Lebih terperinci

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela Pertemuan 15-16 DDL INDIKATOR 1. Memahami object utama dari database 2. Membuat table 3. Memahami tipe data yang digunakan pada saat pendefinisian kolom pada table 4. Merubah definisi table 5. Drop, rename

Lebih terperinci

PERTEMUAN 9 MANIPULASI DATA

PERTEMUAN 9 MANIPULASI DATA PERTEMUAN 9 MANIPULASI DATA Tujuan Pembelajaran : Memahami Statement DML (Data Manipulation Language) Menyisipkan baris ke dalam table Merubah baris dalam table Menghapus baris dari table Mengontrol transaksi

Lebih terperinci

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2 PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2 PERTEMUAN 5 & 6 STRUCTURE QUERY LANGUAGE STRUCTURE QUERY LANGUAGE SQL adalah bahasa query baku untuk DBMS. SQL diambil sebagai bakuan sejak tahun 1992.

Lebih terperinci

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng Sistem Basis Danny Kriestanto, S.Kom., M.Eng SQL Introduction Setelah Membuat ERD dan Model Relasional, what s next? Bagaimana cara membangun entitas dan relationship tersebut agar dapat digunakan? Bagaimana

Lebih terperinci

TABLE JOIN SQL SERVER 2005

TABLE JOIN SQL SERVER 2005 i TABLE JOIN SQL SERVER 2005 Disusun untuk : Membuat Laporan Table Join SQL SERVER 2005 Oleh : CHOIRUL FADHOLANII NIM : 0931140068 POLITEKNIK NEGERI MALANG Tahun 2011 DAFTAR ISI 1 DAFTAR GAMBAR 2 1 1.

Lebih terperinci

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW PERTEMUAN 12 VIEW Tujuan Pembelajaran : Memahami definisi View Dapat membuat View Dapat Memanggil data melalui View Merubah definisi View Insert, Update, dan Delete data melalui View Menghapus (drop) view

Lebih terperinci

Bab 5 Data Control Language dan Teknik Normalisasi

Bab 5 Data Control Language dan Teknik Normalisasi Bab 5 Data Control Language dan Teknik Normalisasi. 5a. Data Control Language DCL adalah perintah-perintah yang digunakan untuk membantu mengontrol keamanan setiap database atau sebagian isi dari database

Lebih terperinci

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA Modul 2 Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop Disusun oleh Sri Siska Wirdaniyati JURUSAN STATISTIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

PERINTAH SQL DAN INTERKONEKSI PHP-MySQL

PERINTAH SQL DAN INTERKONEKSI PHP-MySQL PERINTAH SQL DAN INTERKONEKSI PHP-MySQL Muhammad Zen Samsono Hadi, ST. MSc. zenhadi@eepis-its.edu PRODI TEKNIK TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 1 Konsep Dasar SQL Query 2 Bentuk SQL

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya BAB 9 : Manipulasi Data Halaman

Lebih terperinci

STRUCTURE QUERY LANGUAGE (SQL)

STRUCTURE QUERY LANGUAGE (SQL) STRUCTURE QUERY LANGUAGE (SQL) Structure Query Language (SQL) adalah bahasa query standar yang digunakan untuk mengakses basis data relasional. SQL mempunyai kemampuan sebagai berikut : a. Query (memperoleh

Lebih terperinci

Praktikum Basis Data 2017 TE UM

Praktikum Basis Data 2017 TE UM MODUL 3 SQL A. TUJUAN - Memahami SQL, komponen-komponen, dan penggunaannya. - Mengenal operasi-operasi DML menggunakan phpmyadmin. - Mampu melakukan operasi-operasi retrieve yang spesifik - Mampu penguraikan

Lebih terperinci

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR: Bab 3 Query Lanjutan POKOK BAHASAN: Subquery dan penggunaannya Subquery dengan banyak kolom Pairwise Comparison SubQuery NonPairwise Comparison SubQuery Penggunaan Query dalam Klausa FROM Ekspresi Scalar

Lebih terperinci

MODUL 5. Advanced Query : Pemilihan dan Pengurutan Data PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

MODUL 5. Advanced Query : Pemilihan dan Pengurutan Data PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE MODUL 5 Advanced Query : Pemilihan dan Pengurutan Data PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE Tujuan Pembelajaran : Membatasi baris yang didapatkan dari suatu query

Lebih terperinci

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database Data Manipulation Language (DML) & Data Control Language (DCL) pada Database Karunia Suci Lestari k.sucilestari97@gmail.com :: http://ksucilestari97.wordpress.com Abstrak Setelah artikel sebelumnya membahas

Lebih terperinci

PERTEMUAN 10 PEMBUATAN TABEL

PERTEMUAN 10 PEMBUATAN TABEL PERTEMUAN 10 PEMBUATAN TABEL Tujuan Pembelajaran : Memahami object utama dari database Membuat table Memahami tipe data yang digunakan pada saat pendefinisian kolom pada table Merubah definisi table Drop,

Lebih terperinci

SQL Data Definition Language (DDL)

SQL Data Definition Language (DDL) Structured Query Language - DML (Pert. 12) Oleh : Umi Laili Yuhana, S.Kom, M.Sc. Sarwosri, S.Kom, M.T. Dr. Ir. Siti Rochimah 1 SQL Data Definition Language (DDL) Perintah DDL dalam SQL meliputi : CREATE

Lebih terperinci

Pengenalan Structured Query Language

Pengenalan Structured Query Language Pengenalan Structured Query Language Apa Itu SQL? SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk

Lebih terperinci

Tahap Instalasi PostgreSQL di Windows

Tahap Instalasi PostgreSQL di Windows Tahap Instalasi PostgreSQL di Windows 1. Unduh file installer PostgreSQL terbaru dari alamat http://www.enterprisedb.com/productsservices-training/pgdownload#windows 2. Setelah file installer berhasil

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal. A. Kompetensi Mahasiswa diharapkan dapat memahami: 1. Pengertian databases, DBMS, MySQL 2. Apa Itu SQL? 3. Membuat, Menampilkan, Membuka dan Menghapus Database 4. Membuat, Mengubah dan Menghapus Table

Lebih terperinci

B a s i s D a t a C H A P T E R. SQL Operasi DDL. Arif Basofi PENS 2015

B a s i s D a t a C H A P T E R. SQL Operasi DDL. Arif Basofi PENS 2015 C H A P T E R 16 SQL Operasi DDL Arif Basofi PENS 2015 Objectives Tujuan: Mengenal operasi perintah SQL dalam: - DDL (Data Definition Language) S Q L DDL Data Definition Language (DDL) Dengan perintah

Lebih terperinci

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL Diajukan Sebagai Tugas Mata Kuliah Basis Data Oleh: Maulidya Yulianingtyas 1431140013 POLITEKNIK NEGERI MALANG PROGRAM STUDI MANAJEMEN INFORMATIKA MALANG 2015

Lebih terperinci

M O D U L K U L I A H

M O D U L K U L I A H M O D U L K U L I A H Basis Data PENGANTAR Selamat datang di zone belajar basis data!! Saya bersyukur bisa menyelesaikan modul ini tepat pada waktunya untuk digunakan sebagai pelengkap bahan ajar materi

Lebih terperinci

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui Database Management Database Management System Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui Database Management System Pada thn 1970, IBM menciptakan bahasa

Lebih terperinci

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA PENGANTAR SQL TINGKAT DASAR Basisdata atau database adalah kumpulan dari

Lebih terperinci

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL SQL Basis Data 1 Apakah SQL? SQl singkatan dari Structured Query Language yang merupakan bahasa komputer standar ANSI (American National Standards Institute). Dengan SQL kita dapat Membuat basis data dan

Lebih terperinci

Modul 3 : Query Penggabungan Tabel

Modul 3 : Query Penggabungan Tabel Modul 3 : Query Penggabungan Tabel Tujuan Praktikum - Mahasiswa dapat membedakan perbedaan macam-macam join tabel. - Mahasiswa mampu melakukan query untuk join tabel. - Mahasiswa dapat membedakan union,

Lebih terperinci

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG M O D U L S Q L SISTEM BASIS DATA 2 Disusun oleh : Siti Yuliyanti, ST SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG Jl. Brigjen Katamso No.92 Km 2.5 Tanjungpinang Kepulauan Riau November 24, 2010 SQL

Lebih terperinci

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number)); Five types of constraints exist within an Oracle database. Each type enforces a different rule. The types are: NOT NULL constraints UNIQUE constraints PRIMARY KEY constraints FOREIGN KEY constraints CHECK

Lebih terperinci

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA SUBQUERY-2 MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA dedyrw@tass.telkomuniversity.ac.id Sasaran Pembelajaran Mampu menulis multiple-column subquery Mampu menyelesaikan kasus menggunakan correlated

Lebih terperinci

SQL (Structured Query Language)

SQL (Structured Query Language) DIK-034 Database Berbasis Web SQL (Structured Query Language) Dr. Taufik Fuadi Abidin, M.Tech www.informatika.unsyiah.ac.id/tfa Universitas Syiah Kuala Intro: SQL SQL = "Structured Query Language Memiliki

Lebih terperinci

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DDL. Copyright 2005 PENS-ITS

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DDL. Copyright 2005 PENS-ITS C H A P T E R 16 SQL Operasi DDL Objectives Tujuan: Mengenal operasi perintah SQL dalam: - DDL (Data Definition Language) S Q L DDL Data Definition Language (DDL) Digunakan dalam membuat tabel baru, indeks,

Lebih terperinci

P10 Database SQL Server 2008

P10 Database SQL Server 2008 P10 Database SQL Server 2008 A. Tujuan Mahasiswa dapat membuat database dan data source pada SQL Server 2008 Mahasiswa dapat membuat tabel dan relationship tabel pada SQL Server 2008 B. Pembahasan SQL

Lebih terperinci

BAB 4 : Interaksi PL/SQL dengan Oracle Server

BAB 4 : Interaksi PL/SQL dengan Oracle Server Oracle9i : Program with PLSQL BAB 4 : Interaksi PLSQL dengan Oracle Server BAB 4 : Interaksi PLSQL dengan Oracle Server Tujuan Pembelajaran : Membuat SELECT Statement dalam PLSQL Membuat DML (Data Manipulation

Lebih terperinci

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language) SQL (Structure Query Language) S Q L SQL merupakan transform-oriented language dengan 2 komponen utama: DDL & DML Mendefinisikan bahasa yang disebut Structured English Query Language (SEQUEL) Standar ISO

Lebih terperinci

MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA

MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA MODUL PRAKTIKUM PEMROGRAMAN BASIS DATA MYSQL Disusun Oleh : Adri Priadana, S.Kom Fakultas Bisnis Dan Teknologi Informasi Universitas Teknologi Yogyakarta 2014 DAFTAR ISI DAFTAR ISI... 2 BAB I MENGENAL

Lebih terperinci

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS Copyright 2005 PENS-ITS C H A P T E R Operasi DML Objectives Tujuan: Mengenal operasi perintah dalam: - DML (Data Manipulation Language) S Q L DML DML (Data Manipulation Language) adalah inti dari. DML

Lebih terperinci

Praktikum Basis Data 2. BAB 1 : Pendahuluan

Praktikum Basis Data 2. BAB 1 : Pendahuluan BAB 1 : Pendahuluan 1.1. Sasaran Memahami fitur-fitur Oracle9i Dapat menjelaskan aspek teori maupun fisik dari database relasional Menggambarkan Implementasi Oracle pada RDBMS dan ORDBMS 1.2. Oracle9i

Lebih terperinci

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

MODUL V DATA MANIPULATION LANGUAGE (DML) 1 MODUL V DATA MANIPULATION LANGUAGE (DML) 1 Tujuan : Praktikan dapat memahami dan mengisi tabel dalam database Praktikan dapat memahami dan memanipulasi data dalam database Tugas Pendahuluan Apa yang anda

Lebih terperinci

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA 2011 PENGENALAN DATABASE MYSQL Praktikum ke-1 A. Pengenalan MySQL MySQL merupakan software yang tergolong sebagai DBMS (Database Management System) yang bersifat

Lebih terperinci

TABEL. Tabel Halaman 25

TABEL. Tabel Halaman 25 2 TABEL Objektif: Mengenal Tipe Data Mengenal Batasan,kolom Pengenalan, nilai Null, kunci Primer, kunci Asing Membuat,menghapus,mengganti dan memodifikasi Tabel Dengan Enterprise Manager Menyunting Data

Lebih terperinci

SOAL KUIS. 3. Data aktual yang disimpan pada tiap elemen atau atribute: a. Atribute d. Enterprise b. Data Value e. Tuple c. File

SOAL KUIS. 3. Data aktual yang disimpan pada tiap elemen atau atribute: a. Atribute d. Enterprise b. Data Value e. Tuple c. File Pertemuan 7 Quiz 1. Kumpulan data yang diorganisir menggunakan metode tertentu sehingga menghasilkan informasi yang berguna bagi pemakainya, pengertian dari: a. Arsip d. Basis Data b. Data e. Sistem c.

Lebih terperinci

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL Model data relasional diperkenankan oleh Codd pada tahun 1970. Didasarkan pada suatu struktur data yang sederhana dan seragam (uniform), yaitu : Relasi

Lebih terperinci

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( ) TUGAS I PRAKTIKUM SISTEM BASIS DATA Nama: Krisna Pandu Wibowo(12131353) SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER EL RAHMA YOGYAKARTA 2014 1. Buat database dan 1 tabel dengan objek yang ada

Lebih terperinci

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini: JOIN Dalam menampilkan sebuah data seringkali kita perlu menggunakan lebih dari 1 tabel, 2 tabel, bahkan lebih, karena data yang akan ditampilkan terletak pada beberapa tabel. Setiap tabel biasanya memiliki

Lebih terperinci

MODUL II SQL A. TUJUAN

MODUL II SQL A. TUJUAN MODUL II SQL A. TUJUAN Memahami SQL, komponen-komponen, dan kegunaannya Mengenal operasi-operasi DDL dan DML Mampu melakukan operasi-operasi retrieve yang spesifik Mampu menguraikan dan mentranslasikan

Lebih terperinci

PERTEMUAN 2 PEMILIHAN DAN PENGURUTAN DATA

PERTEMUAN 2 PEMILIHAN DAN PENGURUTAN DATA PERTEMUAN 2 PEMILIHAN DAN PENGURUTAN DATA Tujuan Pembelajaran : Membatasi baris yang didapatkan dari suatu query Mengurutkan baris yang didapat dari suatu query TEORI DAN PERCOBAAN 2.1. Membatasi Baris

Lebih terperinci

Oracle Academic Initiative

Oracle Academic Initiative Oracle Academic Initiative Oracle9i Introduction to SQL Oleh: Tessy Badriyah, SKom.MT Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya BAB 18 : SubQuery Lanjutan Halaman

Lebih terperinci

Basis Data Terapan. Yoannita, S.Kom

Basis Data Terapan. Yoannita, S.Kom Basis Data Terapan Yoannita, S.Kom SELECT Syntax paling dasar untuk mengambil data dari database adalah sebagai berikut : SELECT nama-nama kolom FROM nama tabel Dan SELECT * FROM nama tabel Contoh SQL

Lebih terperinci

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML) MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML) TUJUAN PRAKTIKUM 1. Praktikan dapat mengetahui pengertian SQL. 2. Praktikan dapat mengetahui klasifikasi SQL. 3. Praktikan

Lebih terperinci

Pertemuan 10. Bahasa Query Terapan

Pertemuan 10. Bahasa Query Terapan Pertemuan 10 Bahasa Query Terapan Structured Query Language (SQL) SQL merupakan bahasa query terapan yang banyak digunakan oleh berbagai DBMS, diterapkan dalam berbagai development tools dan program aplikasi

Lebih terperinci

PERTEMUAN 10. SQL : Data Manipulation (Chap. 6 Conoly)

PERTEMUAN 10. SQL : Data Manipulation (Chap. 6 Conoly) PERTEMUAN 10 SQL : Data Manipulation (Chap. 6 Conoly) TUJUAN DAN PENTINGNYA SQL SQL adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. SQL adalah sebuah bahasa permintaan

Lebih terperinci

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN Bab 5 Database Trigger POKOK BAHASAN: Pembuatan dan Penggunaan Trigger Statement trigger Row Trigger Menggunakan Old dan New Qualifiers Klausa WHEN pada trigger Perintah-perintah umum pada Trigger TUJUAN

Lebih terperinci