IKG2I4 / Software Project I

dokumen-dokumen yang mirip
IKG2I4 / Software Project I

STRUCTURE QUERY LANGUAGE DDL & DML

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

Arsitektur Basis Data Oracle

Tutorial Database Oracle Chapter4 Pembatasan dan Pengurutan

Menggunakan Set Operators

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

Pertemuan 10 Structure Query Language(SQL)

Oracle Academic Initiative

Oracle Academic Initiative

PRACTISE

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

DESAIN DATABASE. Pertemuan 06 3 SKS

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

INTERNET PROGRAMMING DATABASE

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 C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

Pengantar Basis Data SISTEM BASIS DATA I. WAN H. Manihuruk, S.kom

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

MUHAMMAD ZEN S. HADI, ST. MSC.

Oracle Academic Initiative

Pengenalan Basis Data

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

Oracle Academic Initiative

Tutorial Database Oracle Chapter3 Menampilkan Data Menggunakan Perintah SQL SELECT

PERTEMUAN 2 PEMILIHAN DAN PENGURUTAN DATA

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

SATUAN ACARA PERKULIAHAN(SAP)

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

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

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

PERTEMUAN 10 PEMBUATAN TABEL

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

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

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

SATUAN ACARA PERKULIAHAN(SAP)

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Microsoft Access 2007

MICROSOFT ACCESS. Database Relationship. Basis Data Relationship Database and Query - Teknik Informatika UNSIL Page 1

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

BAB 3 ANALISIS DAN PERANCANGAN. menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi

Microsoft Access 2007

Normalisasi Bagian I

BAB 4 PERANCANGAN SISTEM DAN EVALUASI. perancangan diagram UML (use case, activity, class, dan sequence), perancangan

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

BAB II LANDASAN TEORI

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

Oracle Academic Initiative

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

ER (ENTITY RELATIONSHIP) MODEL

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

SISTEM BASIS DATA (Lanjutan) :

Modul ke: Aplikasi Komputer 13TEKNIK. Pengantar Ms. Access Lanjutan. Fakultas. Hendri, ST. MT. Program Studi

POKOK BAHASAN: TUJUAN PEMBELAJARAN:

PRAKTIKUM 4 MENGURUTKAN DAN MENYARING DATA 24 Hasilnya akan sama dengan : SELECT KodeBuku, Judul FROM Buku ORDER BY Judul; Karena secara default data

Pertemuan 2-3 ER-MODEL

Praktikum Basis Data 2017 TE UM

Tutorial Java Desktop 1 Membuat Database dengan JavaDB bawaan Netbeans

Basis Data. Pemodelan Database dengan ER Diagram (Entity Relationship Diagram) Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

PERTEMUAN IV ADVANCED ENTITY RELATIONSHIP DIAGRAM FAK. TEKNIK JURUSAN TEKNIK INFORMATIKA

B. PETUNJUK. 2. Join. Praktikum Basis Data 2017 TE UM

Oleh: Nisa Miftachurohmah, S. Kom

Satuan Acara Perkuliahan

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

Objek Relational Mapping

PENGENALAN MICROSOFT QUERY ANALYZER

P7 Perancangan Database

Model Entity Relationship Bagian I

d. Primary Key Primary key atau unique key adalah suatu nilai di basis data yang digunakan untuk mengidentifikasi keunikan baris-baris di dalam tabel.

BAB II LANDASAN TEORI

GARIS-GARIS BESAR PROGRAM PENGAJARAN PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 2

MEMAHAMI KONSEP DATABASE. Oleh : Yuhefizar, S.Kom

C H A P T E R. Copyright 2005 PENS-ITS

Pertemuan IV Advanced Entity Relationship Diagram Fak. Teknik Jurusan Teknik Informatika

BASISDATA. Basis Data Secara Umum

Basis Data. Bagian IV SQL (1) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

PERANCANGAN SISTEM DATABASE

ASSALAMU ALAIKUM WR.WB

BAB II LANDASAN TEORI

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

Normalisasi Donny Yulianto, S.Kom

BAB II LANDASAN TEORI Membangun Aplikasi Database Oracle dengan VB. Koneksi database adalah sebuah modul (obyek) yang bekerja untuk

MODUL II SQL A. TUJUAN

BAB 3 MODEL RELASIONAL

BAB II LANDASAN TEORI

BAB 3 MEMBUAT MASTER-DETAIL FORM

Oracle Academic Initiative

BAB II LANDASAN TEORI

BAB 1 PEMBUATAN REPORT

BAB III ANALISA DAN DESAIN SISTEM

BASIS DATA. Model Data Relational. Fakultas Ilmu Komputer UDINUS

Oracle Academic Initiative

C H A P T E R DUKUNGAN DATABASE DALAM PEMBANGUNAN SISTEM INFORMASI : KONSEP DASAR PERANCANGAN DATABASE

Oleh : Rahmady Liyantanto

BAB III ANALISA DAN DESAIN SISTEM

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

BAB II LANDASAN TEORI

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

Transkripsi:

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 key Query SQL sederhana: SELECT-FROM-WHERE Query ke 2 tabel: JOIN 2 3/11/2015

ENTITY RELATIONSHIP DIAGRAM ERD atau Entity Relationship Diagram adalah diagram yang menggambarkan entitas data (entity) dan hubungannya. Entity sangat mirip dengan class pada OOP, akan tetapi entity lebih terkait dengan data yang disimpan secara fisik pada database. Perancangan ERD dilakukan pada tahap awal fase pengembangan software dan harus dilakukan dengan cermat dan detail, karena sedikit saja perubahan pada ERD dapat berdampak besar pada proses implementasi coding. 3 3/11/2015

ENTITY RELATIONSHIP DIAGRAM Ketika pengembangan software sudah mulai masuk tahap implementasi (coding), sedikit perubahan pada ERD dapat berakibat cukup besar pada arsitektur software, dan programmer mungkin harus mengubah sebagian besar source codenya. Oleh karena itu, tanggung jawab seorang System Analyst sangat besar dalam merancang ERD yang tepat untuk software yang sedang dikembangkan. 4 3/11/2015

ENTITY RELATIONSHIP DIAGRAM Pada kuliah ini kita akan menggunakan skema HRM (Human Resource Management) pada Oracle untuk studi kasus. Sebagai bahan perbandingan, lihat juga BANKING SYSTEM, pada textbook Silberschatz Korth Sudarshan. Database System Concepts, 4 th ed, McGrawHill. Chapter 2. 5 3/11/2015

ENTITY DAN ATRIBUT Pada studi kasus BANKING SYSTEM, ada beberapa entitas yang teridentifikasi (mirip seperti class pada materi object oriented): Employee: pegawai bank Customer: semua nasabah yang tercatat di bank Depositor: nasabah yang menyimpan uang di bank Borrower: nasabah yang meminjam uang dari bank Account: rekening penyimpanan Loan: rekening peminjaman Catatan: sistem di atas hanya asumsi saja, dan mungkin tidak sesuai dengan sistem banking sebenarnya. 6 3/11/2015

ENTITY DAN ATRIBUT Tiap entity memiliki atribut (mirip seperti attribute class): Employee: employee-id, name, telephone number, dsb Customer: customer-id, name, address (street & city) Depositor: daftar nasabah yang menyimpan uang di bank Borrower: daftar nasabah yang meminjam uang dari bank Account: rekening penyimpanan Loan: rekening peminjaman Atribut pada entity bersifat atomic yaitu hanya mengandung sebuah nilai. Bila yang dibutuhkan adalah beberapa nilai, maka atribut tsb sebaiknya dijadikan entity baru. 7 3/11/2015

PRIMARY KEY Tiap entity utama memiliki primary key. Primary key yaitu atribut yang bersifat unique. Contoh: Untuk tabel mahasiswa, primary key-nya adalah NIM Untuk tabel employee: employee-id, name, telephone number, dsb Customer: customer-id, name, address (street & city) Depositor: daftar nasabah yang menyimpan uang di bank Borrower: daftar nasabah yang meminjam uang dari bank Account: rekening penyimpanan Loan: rekening peminjaman 8 3/11/2015

ERD ENTITY RELATIONSHIP DIAGRAM 9 3/11/2015

HUBUNGAN ANTAR ENTITY Hubungan antar entity dapat berupa: One-to-one: relasi 11 Contoh: tiap mahasiswa hanya boleh punya satu NIM One-to-many atau many-to-one: relasi 1N Many-to-many: relasi MN Coba ingat kembali tentang multilist pada matakuliah Pemrograman Terstruktur 2: Relasi 1N: hubungan list pegawai dan list anak Tiap pegawai boleh punya banyak anak, tiap anak hanya boleh punya 1 bapak Relasi NM: hubungan list dosen dan list matakuliah 10 3/11/2015

ERD & TABLE DIAGRAM Setelah ERD selesai dirancang, ERD tersebut harus dimapping atau dipetakan ke dalam table diagram, untuk kemudian disetting di software DBMS (Database Management System) misalnya Microsoft SQL SERVER atau ORACLE. Saat ini para system analyst yang sudah berpengalaman dan punya skill biasanya langsung merancang table diagram tanpa terlebih dahulu merepresentasikan diagram ERD secara formal. Contoh table diagram ada di halaman berikut. 11 3/11/2015

TABLE DIAGRAM HRM (Oracle) 12 3/11/2015

MAPPING ERD KE TABLE DIAGRAM Thumb rule (aturan tak resmi) untuk melakukan mapping ERD ke table diagram: Untuk 2 entitas yang memiliki relasi 1-1 maka kedua entitas itu digabungkan dalam 1 tabel Untuk 2 entitas yang memiliki relasi 1-N maka masingmasing entitas dibuat menjadi 1 tabel, sehingga ada 2 tabel untuk 2 entitas. Contoh: relasi pegawai-anak adalah relasi 1N, maka dibuat tabel pegawai dan ada tabel anak, di mana tabel anak memiliki foreign key (asosiasikan sebagai pointer pada relasi 1N) yang mengacu pada orangtuanya di tabel pegawai 13 3/11/2015

MAPPING ERD KE TABLE DIAGRAM Thumb rule (aturan tak resmi) untuk melakukan mapping ERD ke table diagram: Untuk 2 entitas yang memiliki relasi N-M maka masingmasing entitas dibuat menjadi 1 tabel, ditambah tabel baru yaitu tabel relasi, sehingga ada 3 tabel untuk 2 entitas. Contoh: relasi dosen-matakuliah adalah relasi N-M, maka dibuat tabel dosen dan tabel matakuliah, serta tabel MKDOS di mana tabel MKDOS ini memiliki dua foreign key yang masingmasing mengacu ke tabel dosen dan ke tabel matakuliah. Mekanisme pointer (pada kuliah PT2) sekarang digantikan dengan mekanisme foreign key. 14 3/11/2015

JADI APA ITU FOREIGN KEY? Foreign key adalah atribut suatu entity yang mengacu pada atribut (primary key) dari entity lain. Contoh, tabel dosen primary key-nya NIP, tabel matakuliah primary key-nya KodeMK, maka tabel MKDOS punya dua atribut foreign key yang masing-masing mengacu ke NIP (dosen) dan ke KodeMK (matakuliah). Semua nilai pada foreign key di tabel MKDOS harus sudah ada datanya di tabel dosen dan tabel matakuliah. Tabel dosen dan tabel matakuliah adalah tabel master atau reference, karena tabel ini menyimpan data yang dirujuk oleh tabel lain. 15 3/11/2015

NORMALISASI Dalam proses pengembangan software, database yang dirancang haruslah memenuhi kriteria : Integrity: keutuhan sistem, bila ada data berubah maka perubahan itu harus diketahui oleh keseluruhan sistem No redundancy: tidak ada data yang sama tersimpan di 2 tabel (repetition of information atau duplikasi data) Ada beberapa tingkat kenormalan database: 1 st Normal Form: masih banyak redundancy (very loose) 2 nd Normal Form 3 rd Normal Form Boyce Codd Normal Form 4 th Normal Form: paling sedikit redundancy (very strict) 16 3/11/2015

NORMALISASI Proses untuk menormalkan atau mengurangi redundancy pada sebuah rancangan database disebut normalisasi. 4 th Normal Form menetapkan kriteria yang sangat ketat (strict) dalam menerapkan prinsip integrity dan no-redundancy, namun akibatnya membutuhkan waktu yang lebiih lama untuk query ke banyak tabel. Oleh karena itu untuk menangani database yang sangat kompleks terkadang 3NF atau BCNF saja sudah cukup. 17 3/11/2015

QUERY SELECT KE SATU TABLE Query SELECT * FROM <table> Digunakan untuk meretrieve atau mengambil data dari sebuah tabel database. Untuk memilih kolom tertentu, tuliskan nama kolomnya. 18 3/11/2015

CONTOH SELECT customer_id, customer_name FROM customer; SELECT * FROM customer; 19 3/11/2015

QUERY SELECT + WHERE Query SELECT * FROM <table> WHERE WHERE digunakan untuk menyeleksi atau menyaring (filter) data yang ingin ditampilkan sesuai kebutuhan. Kondisi yang dituliskan di dalam WHERE adalah pernyataan/kalimat logika. Setiap baris data pada DBMS akan diseleksi berdasarkan kondisi tersebut. Jika memenuhi syarat kondisi (TRUE), maka baris tersebut ditampilkan. Jika sebaliknya (FALSE), maka tidak ditampilkan. 20 3/11/2015

CONTOH 21 3/11/2015

QUERY KE DUA TABLE (JOIN) Query SELECT * FROM <table1> JOIN <table2> JOIN digunakan untuk mendapatkan data dari dua tabel. Setiap tabel dianggap sebagai himpunan, dan proses JOIN pada dasarnya adalah perkalian (cross product) antara dua buah himpunan, dengan syarat tertentu misalnya adanya kesamaan pada salah satu atribut (foreign key). Contoh: 22 3/11/2015

TUGAS PEKAN INI Menginstal ORACLE Mengimport skema HUMAN RESOURCE MANAGEMENT (file hr_master.sql) ke ORACLE Pada tampilan utama Web Oracle di atas (http://127.0.0.1:8080/apex/), klik SQL Workshop -> klik SQL Scripts -> klik Upload -> Klik Choose File, arahkan ke file hr_master.sql. Isi nama script name = HR. Klik Upload. 23 3/11/2015

TUGAS PEKAN INI 24 3/11/2015

TUGAS PEKAN INI Selanjutnya akan muncul tampilan berikut: Klik di gambar icon di bawah Run. 25 3/11/2015

TUGAS PEKAN INI Selanjutnya, muncul tampilan di samping ini: Klik Run Now dan tunggu beberapa detik sampai seluruh query dieksekusi. Bila berhasil maka akan muncul status COMPLETE (lihat gambar di halaman berikutnya): 26 3/11/2015

TUGAS PEKAN INI Selanjutnya akan muncul tampilan berikut: Untuk menguji skema yang sudah Anda import, klik menu Home -> SQL Workshop -> Object Browser. Bila di situ ada table COUNTRIES, DEPARTMENTS, EMPLOYEES, JOBS, JOB_HISTORY, LOCATIONS, dan REGIONS, maka Anda telah berhasil meng-import skema HR. 27 3/11/2015

TUGAS PEKAN INI Eksekusi query-query berikut, amati hasil yang muncul, dan pahami mengenai arti query tersebut: SELECT * FROM departments; SELECT department_id, location_id FROM departments; SELECT last_name, hire_date, salary FROM employees; SELECT last_name, salary, (salary + 300) FROM employees; SELECT last_name, salary, (12*salary+100) FROM employees; SELECT last_name, job_id, salary, commission_pct FROM employees; SELECT last_name AS name, commission_pct comm FROM employees; 28 3/11/2015

TUGAS PEKAN INI Eksekusi query-query berikut, amati hasil yang muncul, dan pahami mengenai arti query tersebut: SELECT first_name last_name ' adalah ' job_id AS "Detail Pegawai" FROM employees; SELECT * FROM locations; SELECT * FROM countries; SELECT * FROM jobs; SELECT * FROM job_history; 29 3/11/2015

TUGAS PEKAN INI Apa perbedaan hasil antara dua query berikut? SELECT department_id FROM employees; SELECT DISTINCT department_id FROM employees; Apa perbedaan hasil antara dua query berikut? SELECT job_id FROM employees; SELECT DISTINCT job_id FROM employees; Apa perbedaan hasil antara dua query berikut? SELECT department_id, job_id FROM employees; SELECT DISTINCT department_id, job_id FROM employees; Apa arti perintah DESCRIBE berikut ini? DESCRIBE employees; DESCRIBE departments; 30 3/11/2015

TUGAS PEKAN INI Apa perbedaan hasil antara dua query berikut? SELECT department_id FROM employees; SELECT DISTINCT department_id FROM employees; Apa perbedaan hasil antara dua query berikut? SELECT job_id FROM employees; SELECT DISTINCT job_id FROM employees; Apa perbedaan hasil antara dua query berikut? SELECT department_id, job_id FROM employees; SELECT DISTINCT department_id, job_id FROM employees; Apa arti perintah DESCRIBE berikut ini? DESCRIBE employees; DESCRIBE departments; 31 3/11/2015

TUGAS PEKAN INI Eksekusi query-query berikut, amati hasil yang muncul, dan pahami mengenai arti query tersebut: SELECT employee_id, last_name, job_id, department_id FROM employees WHERE department_id = 90 ; SELECT last_name, job_id, department_id FROM employees WHERE last_name = 'Whalen'; SELECT first_name, last_name, hire_date FROM employees WHERE hire_date = '02/17/1996'; 32 3/11/2015

TUGAS PEKAN INI Eksekusi query-query berikut, amati hasil yang muncul, dan pahami mengenai arti query tersebut: SELECT first_name, last_name, salary FROM employees WHERE salary > 6000; SELECT last_name, salary FROM employees WHERE salary BETWEEN 2500 AND 3500; SELECT first_name, last_name FROM employees WHERE last_name LIKE 'Mar%'; 33 3/11/2015

TUGAS PEKAN INI Eksekusi query-query berikut, amati hasil yang muncul, dan pahami mengenai arti query tersebut: SELECT employee_id, last_name, job_id, salary FROM employees WHERE salary >= 10000 AND job_id LIKE '%MAN%'; SELECT employee_id, last_name, job_id, salary FROM employees WHERE salary >= 10000 OR job_id LIKE '%MAN%'; SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date; 34 3/11/2015

TUGAS PEKAN INI Eksekusi query-query berikut, amati hasil yang muncul, dan pahami mengenai arti query tersebut: SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date DESC; SELECT last_name, department_id, salary FROM employees ORDER BY department_id, salary DESC; 35 3/11/2015

TUGAS PEKAN INI Buatlah query SQL untuk menampilkan data berikut ini: Create a query that displays the last name and salary of employees who earn more than 12000. Create a query that displays the last name and department number for employee number 176. Buatlah query untuk menampilkan data employees yang memiliki salary antara 5000-12000 (>= 5000 dan <= 12000). Buat juga query untuk menampilkan data di luar range itu. Create a query to display the last name, job ID, and start date for the employees with the last names of Matos and Taylor. Order the query in ascending order by the start date. Create a query to display the last name and department number of all employees in departments 20 or 50 in ascending alphabetical order by name. 36 3/11/2015

TUGAS PEKAN INI Buatlah query SQL untuk menampilkan data berikut ini: Create a query that displays the last name and hire date for all employees who were hired in 1994. Create a query to display the last name and job title of all employees who do not have a manager. Create a query to display the last name, salary, and commission of all employees who earn commissions. Sort data in descending order of salary and commissions. Create a query to display the last name, job, and salary for all employees whose jobs are either those of a sales representative or of a stock clerk, and whose salaries are not equal to 2500, 3500, or 7000. Create a query to display the last name, salary, and commission for all employees whose commission_pct is 20%. 37 3/11/2015

THANK YOU