halim42.files.wordpress.com · web viewketika ada seorang petugas baa sedang mengakses data krs di...

27
Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075 UJIAN AKHIR SEMESTER I TAHUN 2012 Mata Ujian : Manajemen Data Hari/Tanggal : Sabtu / 22 Desember 2012 Dosen : Dr. Ir. Wendi Usino, MSc, MM Kelompok : XA Disusun Oleh Nama : Nurhalim Nim : 1211600075 1

Upload: ngodan

Post on 11-Jun-2018

246 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

UJIAN AKHIR SEMESTER I TAHUN 2012

Mata Ujian : Manajemen Data

Hari/Tanggal : Sabtu / 22 Desember 2012

Dosen : Dr. Ir. Wendi Usino, MSc, MM

Kelompok : XA

Disusun Oleh

Nama : Nurhalim

Nim : 1211600075

Program Pasca Sarjana Magister Ilmu KomputerUniversitas Budi Luhur2012

1

Page 2: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Jawaban Soal UAS :

1. Desain Sebuah database relasional

Tahapan-Tahapan dalam Normalisasi mulai dari relasi yang belum normal hingga bentuk relasi yang normal yaitu :

Unnormalized

Menghilangkan group berulang sehingga setiap irisana baris dan kolom hanya berisi satu atau hanya satu nilai

Bentuk 1 NF

Menghilangkan partial dependency terhadap primary key, sehingga didapat attribut non primarykey yang fully function dependency primarykey-nya

Bentuk 2 NF

Menghilangkan transitive dependency

Bentuk 3 NF

Jika dan hanya jika setiap determinan merupakan candidate key

BNC

Memindahkan multivalue dependency

Bentuk 4 NF

Memindahkan Remaining anomalies

Bentuk 5 NF

Normal Pertama (1st Normal Form) Yaitu tidak adanya atribut multivalue, atribut komposit atau kombinasinya, mendefinisikan atribut kunci dan setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi). Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data.

2

Page 3: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Misal data mahasiswa sbb:

Npm Nama Hobi1211600091

Ika Nur’aini Baca, Dengerin musik

1211600083

Fiki Basket, Renang

1211600075

Nurhalim Catur, Bola dan drumer

1211600100

Annisa Baca, Memasak dan Main Biola

Atau :

Npm Nama Hobi 1 Hobi 2 Hobi 3 1211600091

Ika Nur’aini

Baca Musik

1211600083

Fiki Basket Renang

1211600075

Nurhalim Catur Bola Main Drum

1211600100

Annisa Baca Memasak Main Biola

Tabel-tabel di atas tidak memenuhi syarat 1NF Didekomposisi menjadi : Tabel Mahasiswa

Npm Nama 1211600091

Ika Nur’aini

1211600083

Fiki

1211600075

Nurhalim

1211600100

Annisa

3

Page 4: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Tabel Hobi

Normalisasi Kedua (2nd Normal Form) Yaitu suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap key-nya atau Sudah memenuhi dalam bentuk normal kesatu (1NF) , Semua atribut bukan kunci hanya boleh tergantung (functional dependency) pada atribut kunci, jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain dan perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi. Misal data mahasiswa sbb:

Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:Mhs_Nrp Mhs_nam

aMhs_alam

atMk_kod

eMk_nam

aMk_sk

snihur

uf

Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai primary key sedangkan:

{Mhs_nrp, mk_kode} à mhs_nama {Mhs_nrp, mk_kode} à mhs_alamat {Mhs_nrp, mk_kode} à mk_nama {Mhs_nrp, mk_kode} à mk_sks

4

Npm Hobi 1211600091

Baca, Dengerin Musik

1211600083

Basket, Renang

1211600075

Catur, Bola dan Main Drumer

1211600100

Baca, Memasak dan Main Biola

Page 5: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

{Mhs_nrp, mk_kode} à nihuruf

Tabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NF. Functional dependencynya sbb: {Mhs_nrp, mk_kode} à nihuruf

(fd1)Mhs_nrp à {mhs_nama, mhs_alamat}

(fd2)Mk_kode à {mk_nama, mk_sks}

(fd3)

fd1 (mhs_nrp, mk_kode, nihuruf) à Tabel Nilai fd2 (Mhs_nrp, mhs_nama, mhs_alamat) à Tabel Mahasiswa fd3 (mk_kode, mk_nama, mk_sks) à Tabel MataKuliah

Normalisasi Ketiga (3rd Normal Form)Yaitu suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap key-nya. Misal data mahasiswa sbb: Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:Mahasiswa

Nrp

Nama Alm_Jl Alm_Kota

Alm_Provinsi

Alm_KodePos

karena masih terdapat atribut non primary key (yakni alm_kota dan alm_Provinsi) yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni alm_kodepos):

alm_kodepos à {alm_Provinsi, alm_kota} Sehingga tabel tersebut perlu didekomposisi menjadi:

5

Page 6: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)Kodepos (alm_kodepos, alm_provinsi, alm_kota)

Boyce-Codd Normal Form ( BCNF)BCNF mempunyai paksaan yg lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk normal kesatu dan setiap atribute harus bergantung fungsi pada atribute superkeyPada contoh di bawah ini terdapat relasi seminar dengan ketentuan sbb :kunci primer adalah Npm + Mk_kode. a. Siswa boleh mengambil satu atau dua Mk_kode

pelajaran.b. Setiap siswa dibimbing oleh salah satu diantara 2

guru.c. Setiap guru hanya boleh mengambil satu Mk_kode

pelajaran saja.

Pada contoh ini Npm dan Mk_Kode menunjuk seorang Guru di relasi kuliah : Relasi Kuliah

Npm Mk_kode

Guru

1211600091

CS209 Ir. Dana Indra Sensuse, Ph.D

1211600075

CS209 Goenawan Brotosaputro, S.Kom, Msc

1211600083

CS201 Dr. Ir. Wendi Usino, Msc, MM

6

Page 7: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

1211600075

CS201 Yan Rianto

Bentuk relasi kuliah adalah bentuk normal ketiga, tetapi tidak BCNF karena nomor seminar masih bergantung fungsi pada guru, jika setiap guru dapat mengajar hanya pada satu Mk_kode /materi pelajaran kuliah. Mk_kode bergantung fungsi pada satu atribute bukan superkey seperti yg disyaratkan oleh BCNF. Maka relasi kuliah haruslah dipecah menjadi dua yaitu :

Relasi Pengajar

Guru Mk_kode

Ir. Dana Indra Sensuse, Ph.D CS209Goenawan Brotosaputro, S.Kom, Msc

CS209

Dr. Ir. Wendi Usino, Msc, MM CS201

Guru NpmIr. Dana Indra Sensuse, Ph.D 12116000

91Goenawan Brotosaputro, S.Kom, Msc

1211600075

Dr. Ir. Wendi Usino, Msc, MM 1211600083

Yan Rianto 1211600075

7

Page 8: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Bentuk Normal Ke Empat (4 NF)Relasi R adalah bentuk 4 NF jika dan hanya jika relasi tersebut juga termasuk BCNF dan semua ketergantungan multivalue adalah juga ketergantungan fungsional.

Bentuk Normal Ke Lima (5 NF)Disebut juga PJNF (Projection Join Normal Form) dari 4 NF dilakukan dengan menghilangkan ketergantungan join yang bukan merupakan kunci kandidat.

Istilah-Istilah yang digunakan pada tahapan Normalisasi, yaitu : a. Primary Key adalah atribut unik yang mengidentifikasikan setiap

row dalam table atau Candidate Key yang terpilih untuk mengidentifikasikan secara unik suatu entitas.

b. Foreign key adalah sebuah atribut atau set dari atribut, yang berada dalam suatu relasi yang serasi dengan Candidate Key dari relasi yang lain. Atribut sebuah table yang menggabungkan diri ketable yang lain.

c. Composite key adalah Candidate Key yang terdiri dari dua atribut atau lebih.

d. Refential integrity constraint adalah suatu aturan terhadap relasi antar tabel untuk menjamin validasi hubungan antara record-record didalam tabel-tabel yang terkait. Data secara otomatis akan memastikan relasi tersebut ada atau tidaknya record pada sisi Many (tabel yang terhubung dengan tabel Utama ) yang foregn key nya tidak memiliki pasangan ditabel sisi One (Tabel Utama).

e. Anomali adalah sebuah kondisi dimana sebuah object memiliki nilai yang unik atau memiliki perbedaan nilai yang sangat jauh dari aturan yang ditetapkan.

f. Repeating group adalah satu set atau lebih data yang dapat muncul berkali-kali dalam jumlah yang bervariasi.

8

Page 9: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

g. Functional dependency adalah constraint pada himpunan legal relation, mensyaratkan nilai untuk himpunan atribut tertentu menentukan nilai himpunan atribut lainnya secara unik d merupakan generalisasi konsep key

h. Partial dependency adalah Suatu atribut Y dikatakan memiliki dependensi parsial terhadap X apabila memenuhi dua kondisi sebagai berikut:Y adalah atribut non-kunci primer dan X adalah kunci primerY memiliki dependensi terhadap bagian dari X

(tetapi tidak terhadap keseluruhan dari X) i. Transitive dependency adalah ketika ada atribut yang secara

tidak langsung tergantung sama key dan atribut stb tergantung pada atribut lain yang bukan key.

2. Concurrency C ontrol Tujuan utama dalam pengembangan database adalah membuat banyak pengguna bisa mengakses data secara bersamaan.Pengaksesan data ini tidak bermasalah jika semua pengguna hanya membaca data dan mereka tidak mengganggu satu sama lain. Tap iketika dua pengguna atau lebih mengakses database yang sama secara bersamaan dan salah satu melakukan perubahan terhadap data, maka hal ini akan dapat menimbulkan adanya data yang tidak konsisten (inconsistency data).

Untuk mengatasi adanya kemungkinan inconsistency data, maka dibutuhkan adanya suatu mekanisme yang mengatur jalannya transaksi pengaksesan data yang sama tersebut. Mekanisme ini dikenal dengan istilah concurrency control.

Concurrency control adalah proses pengaturan operasi–operasi dalam banyak transaksi yang berjalan secara simultan pada database tanpa mengganggu operasi pada transaksi lainnya sehingga dapat menghasilkan data yang konsisten ( Connolly, 2005, p577 ). Tiga contoh masalah penting yang terkait oleh concurrency

9

Page 10: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Lost Update => permasalahan timbul pada saat operasi update berjalan sukses kemudian ditindih oleh operasi update lain yang dilakukan oleh pemakai lain.Uncommited Depedency => permasalahan timbul pada saat transaksi sibiarkan melihat hasil dari transaksi lain yang belum commit. Masalah ini timbul jika transaksi membaca suatu record yang sudah dimodifikasi oleh transaksi lain tetapi belum terselesaikan (uncommited), terdapat kemungkinan kalau transaksi tersebut dibatalkan (rollback).Inconsistent Analysis => permasalahan timbul apabila suatu transaksi membaca beberapa nilai tetapi transaksi berikutnya memodifikasi salah satu nilai.

Contoh 1 : Ketika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa dengan dosen yang akam mengajar matakuliah tersebut, sementara pada saat bersamaan petugas BAA lain sedang merubah data yang sama pada table KRS mahasiswa tersebut akibatnya akan terjadi object locking (object hold) sehingga data menjadi tidak inconsistent, Ini akan mengakibatkan data tidak konsisten karena masalah lost-update, Uncommitted Depedency ataupun Inconsistent Analysis.Contoh lain :Transaksi T1 dan T2 mulai pada waktu yang hampir bersamaan, dan keduanya membaca saldo $100. T2 menambah saldo $100 menjadi $200 dan menyimpan hasil perubahannya dalam database. Di sisi lain, transaksi T1 mengurangi copy dari saldo $10 menjadi $90 dan menyimpan nilai ini dalam database, menimpa hasil update sebelumnya dan akhirnya menghilangkan $100 yang telah ditambahkan sebelumnya kedalam saldo. Kehilangan update transaksi T2 dapat dihindari dengan mencegah T1 membaca nilai dari saldo sampai update T2 telah selesai.

10

Page 11: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Masalah ini bisa diatasi dengan menggunakan concurrency control technical mechanism menggunakan locking dan time stamping. Locking dan timestamping adalah pendekatan konservatif karena mereka menyebabkan transaksi ditunda dalam kasus mereka konflik dengan transaksi lain pada beberapa waktu di masa yang akan datang. Metode optimistik, didasarkan pada premis bahwa konflik itu jarang ditemui, jadi mereka mengijinkan transaksi untuk lanjut tidak tersinkronisasi dan hanya mengecek konflik di bagian akhir, ketika transaksi melakukan operasi commit.

Metode LockingLocking adalah sebuah prosedur yang digunakan untuk mengendalikan akses bersamaan ke data. Ketika sebuah transaksi sedang mengakses database, sebuah lock mungkin menolak akses ke transaksi lain untuk mencegah hasil yang salah ( Connolly, 2005, p587 ). Ada dua macam lock, yaitu shared lock dan exclusive lock yang harus digunakan sebelum melakukan akses membaca ataupun menulis terhadap database. Penggunaan lock ini adalah untuk menjaga konsistensi data didalam database. Jika sebuah transaksi mempunyai sebuah shared lock pada sebuah item data, transaksi tersebut dapat membaca item tapi tidak dapat mengubah datanya ( Connolly, 2005, p588 ). Jika sebuah transaksi mempunyai sebuah exclusive lock pada sebuah item data, transaksi tersebut dapat membaca dan mengubah item data ( Connolly, 2005, p588 ). Teknik Pengontrolan Konkurensi

Locking, apabila suatu transaksi mengakses suatu data maka suatu lock (kunci) dapat mencegah pengaksesan oleh transaksi lain.Konsep dasar: ketika suatu transaksi memerlukan jaminan jika record yang diingini tidak akan berubah secara mendadak, maka diperlukan kunci untuk record tersebut.Fungsi Kunci (Lock):menjaga record tersebut agar tidak dimodifikasi transaksi lain.

11

Page 12: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Timestamping DEADLOCK adalah situasi dimana dua atau lebih transaksi masing-masing menunggu (wait) suatu kunci yang ditahan oleh transaksi lain untuk dilepaskan. Dua teknik menangani Deadlock:Deadlock Prevention, DBMS mengamati transaksi apakah menimbulkan deadlock dan tidak akan membiarkan deadlock terjadi.Deadlock prevention dan recovery, DBMS membiarkan terjadi deadlock, mengenalinya lalu menanganinya.

3. Proyek Aplikasi database Program aplikasi SMS Gateway dan sebuah Mobile Application

yang nantinya di-install pada handphone siswa atau wali siswa, Mobile Application ini hanya sebagai aplikasi pendukung untuk proses pengiriman SMS request, Mobile Application akan mempermudah siswa atau wali siswa untuk mendapatkan informasi yang diinginkan, siswa atau wali siswa tidak perlu lagi repot-repot mengetik SMS untuk memperoleh informasi yang diinginkan, tetapi cukup hanya dengan memilih menu-menu yang tersedia didalamnya. Keuntungan yang didapatkan jika menggunakan kedua aplikasi ini adalah mempermudah serta membuat lebih efisien dan efektif dalam hal penerimaan maupun pengiriman informasi melalui SMS.

Informasi penting bagi siswa atau wali siswa yang terkait dengan kegiatan belajar mengajar di sekolah seperti informasi nilai, jadwal ujian, absensi siswa atau lainnya biasanya diperoleh saat pihak sekolah sudah mengumumkannya, dan informasi tersebut bisa diperoleh hanya di sekolah saja. Artinya, akan sulit bagi para siswa atau wali siswa untuk memperoleh informasi yang diinginkan pada saat kapanpun dan di manapun. Masalah lain yang ditemukan adalah sulitnya para orang tua atau wali siswa untuk mengetahui secara detil bagaimana prestasi dan prilaku anaknya selama di sekolah. Selama ini para orang tua atau wali siswa memperoleh informasi tentang putra-putri mereka sebatas hanya pada saat pembagian laporan hasil belajar saja.

12

Page 13: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

System Database mobile application adalah yang pertama kali ditampilkan saat aplikasi dijalankan pada handphone atau perangkat mobile lainnya. Pertama kali tampilkan menu utama kemudian akan muncul beberapa pilihan menu yang dapat dipilih oleh user. Menu yang tersedia diantaranya adalah Registrasi, Wali Siswa dan Siswa, Saran/Kritik, Ganti No. Ponsel, Unregistrasi, dan No. Ponsel Sekolah. Jika memilih salah satu menu tersebut maka akan ditampilkan form dari menu yang dipilih tersebut. Untuk keluar dari aplikasi, user dapat memilih ‘Keluar’.

Flowchart Form Menu Utama

13

Page 14: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

a. Analisa database Model E-R

14

Page 15: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

b. Arsitektur Database ( Transformasi Model E-R Menjadi Relational Database berbentuk Arsitektur Database )

15

Page 16: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Pemetaan Model ER ke Skema Relasional

16

Page 17: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

c. Physical Database

17

Page 18: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Table Siswa Create table Siswa (NIS char(4), Nama varchar(25), TempatLhr varchar(10), TglLhr date, Agama char(1), Jenkel char(1), Alamat varchar (35), NoTelp varchar(12), Status char(1), Password varchar(25), KdKelas varchar(4), Jurusan char(1), primary key(NIS));

INSERT INTO Siswa VALUES (0074”,”Fiki”,”Bogor”,”14/05/1980”,”1”,”L”,”Jl. Bogor No.85","085811514642","1”,”123456","PM1","PM");INSERT INTO Siswa VALUES ("0075","Nurhalim","Tangerang","18/02/1978”,”1","L","Jl. Ketapang Rt.004/004 No.71","085697151464","1","123456","XAK2","AK");INSERT INTO Siswa VALUES ("0076","Nurhalim","Jakarta","23/03/1979”,”1","L","Jl. Thamrin Raya Rt.023/003 No.33","081219643434","1","123456","XAK2","AK");INSERT INTO Siswa VALUES ("0091","Ika","Tangerang","22/03/1978”,”1","L","Jl. Pondok Aren No.45","085781001234","1","123456","XAK1","AK");

Table Guru

18

Page 19: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

Create table Guru (NIP char(9), Nama varchar(25), TmptLhr varchar(10), TglLhr date, Jenkel char(1), Alamat varchar (35), primary key(NIP));

INSERT INTO GuruVALUES ("470064301","Asep","Tangerang","1964-02-12","L","Tangerang Banten");INSERT INTO GuruVALUES ("470064302","Rudi","Tangerang","1978-02-18","L","Jl. Ketapang Rt.004/004 No.71");INSERT INTO GuruVALUES ("470064303","Oktaviana","Tangerang", "1970-11-16","P","Tangerang Selatan");INSERT INTO GuruVALUES ("470064304","Halim","Jakarta","1979-03-13","P","Jakarta");

Table Wali KelasCreate table WaliKelas (NIP char(9), Nama varchar(25), TmptLhr varchar(10), TglLhr date/time, Jenkel char(1), Alamat varchar (35), primary key(NIP));

INSERT INTO WAliKelasVALUES ("470064301","Asep","Tangerang","1964-02-12","L","Tangerang Banten");INSERT INTO WAliKelasVALUES ("470064302","Rudi","Tangerang","1978-02-18","L","Jl. Ketapang Rt.004/004 No.71");INSERT INTO WAliKelasVALUES ("470064303","Oktaviana","Tangerang", "1970-11-16","P","Tangerang Selatan");

Table Jurusan Create table Jurusan (KdJurusan char(2), Jurusan varchar(25), primary key(KdJurusan));

INSERT INTO Jurusan VALUES ("AK","Akuntansi");INSERT INTO Jurusan VALUES ("PM","Pemasaran");INSERT INTO Jurusan VALUES ("AP","Administrasi Perkantoran");INSERT INTO Jurusan VALUES ("BC","Broadcasting");

Table Kelas Create table Kelas (KdKelas char(4), NamaKelas varchar(25), Ruang varchar(4), Kapasitas char(3), Nip char(9), primary key(KdKelas));

Insert into Kelas Values ("XAK2","X Akuntansi 1","1.1","470064302","40"); Table Pelajaran

Create table Pelajaran (KdPelajaran char(5), NmPelajaran char(50), Singkatan char(10), primary key(KdPelajaran));

INSERT INTO Pelajaran VALUES ("PL0001", " B. Inggris","Eng");INSERT INTO Pelajaran VALUES ("PL0002", "Matematika", "MTK");INSERT INTO Pelajaran VALUES ("PL0003", "Biologi", "Bio”);INSERT INTO Pelajaran VALUES ("PL0004”, "Sosiologi", "Sos");INSERT INTO Pelajaran VALUES ("PL0005", "Mengelola Buku Jurnal Perusahaan Dagang", "MBJPD");

19

Page 20: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

INSERT INTO Pelajaran VALUES ("PL0006", "Mengelola Buku Jurnal Perusahaan Jasa", "MBJPJ");

Table UjianCreate table Ujian (KdUjian char(6), KdPelajaran char(6), Kelas char(4), Tgl date, NIS char(4), Durasi char(3), MulaiJam varchar(8), SelesaiJam varchar(8), Jenis varchar(6), ThnAjaran varchar(9), Semester char(1), primary key(KdUjian));

Insert into Ujian Values (“UJ0001”,”PL0001”,”XAK”,”0075”,”01/06/2012”,”120”,”08:00”, ”10:00”,”Mid”,”2011/2012”,”1”);Insert into Ujian Values (“UJ0002”,”PL0002”,”XAK1”,”0091”,”02/06/2012”,”120”,”08:00”, ”10:00”,”Mid”,”2011/2012”,”1”);Insert into Ujian Values (“UJ0003”,”PL0003”,”XAK2”,”0075”,”01/06/2012”,”120”,”08:00”, ”10:00”,”Mid”,”2011/2012”,”1”);Insert into Ujian Values (“UJ0004”,”PL0004”,”XAK2”,”0075”,”01/06/2012”,”120”,”08:00”, ”10:00”,”Mid”,”2011/2012”,”1”);Insert into Ujian Values (“UJ0005”,”PL0005”,”XAK2”,”0075”,”01/06/2012”,”120”,”08:00”, ”10:00”,”Mid”,”2011/2012”,”1”);Insert into Ujian Values (“UJ0006”,”PL0002”,”XPM1”,”0074”,”01/06/2012”,”120”,”08:00”, ”10:00”,”Mid”,”2011/2012”,”1”);Insert into Ujian Values (“UJ0007”,”PL0002”,”XAK1”,”0091”,”01/06/2012”,”120”,”08:00”, ”10:00”,”Mid”,”2011/2012”,”1”);Insert into Ujian Values (“UJ0008”,”PL0002”,”XAK2”,”0076”,”01/06/2012”,”120”,”08:00”, ”10:00”,”Mid”,”2011/2012”,”1”);

Table NilaiCreate table Nilai (KdNilai Char(6), KdUjian char(6), NIS char(4), Nilai Number(longint), primary key (KdNilai));

Insert into Nilai Values (“N00001”,”UJ0001”,”0075”,”80”);Insert into Nilai Values (“N00002”,”UJ0007”,”0091”,”65”);Insert into Nilai Values (“N00003”,”UJ0002”,”0091”,”90”);Insert into Nilai Values (“N00004”,”UJ0005”,”0075”,”88”);Insert into Nilai Values (“N00005”,”UJ0003”,”0075”,”90”);Insert into Nilai Values (“N00006”,”UJ0004”,”0075”,”75”);Insert into Nilai Values (“N00007”,”UJ0006”,”0074”,”75”);Insert into Nilai Values (“N00008”,”UJ0008”,”0076”,”85”);

20

Page 21: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

d. SQL dengan 4 Relasi Tabel

contoh query untuk mencari siswa yang ikut ujian mata pelajaran dapat nilai matematika > 70 SQL CommercialSELECT Siswa.NIS, Siswa.KdKelas, Siswa.Nama, Siswa.Alamat, Pelajaran.NmPelajaran, nilai.NilaiFROM Pelajaran INNER JOIN (Siswa INNER JOIN (nilai INNER JOIN Ujian ON (nilai.KdUjian = Ujian.KdUjian) AND (nilai.NIS = Ujian.NIS)) ON (Siswa.NIS = nilai.NIS) AND (Siswa.NIS = Ujian.NIS)) ON Pelajaran.KdPelajaran = Ujian.KdPelajaranWHERE (((Pelajaran.NmPelajaran)="Matematika") AND ((nilai.Nilai)>70));

Hasilnya :

NIS KdKelas Nama Alamat NmPelajaran Nilai

0091 XAK1 Ika Jl. Pondok Aren No.45 Matematika 90

0074 XPM1 Fiki Jl. Bogor No.85 Matematika 75

0076 XAK2 Nurhalim Jl. Thamrin Rt.023/003 No.33 Matematika 85

Relation Algebra :

ÕSiswa.NIS, Siswa.Nama , Siswa.Alamat, Siswa.KdKelas, Pelajaran.NmPelajaran,Nilai.Nilai ( sPelajaran.NmPelajaran=”Matematika” ^ Nilai.Nilai >70 ( Ujian X (Nilai X ( Pelajaran X Siswa ))))

Relation Tuple Calculus :

{ s|$ t Î Siswa ( s[NIS], s[Nama], s[Alamat], s[KdKelas] ^ $ p Î Pelajaran ( p[NmPelajaran], p[NmPelajaran] = ”Matematika” ^ $ n Î Nilai ( n[Nilai], n[Nilai] > 70 ^ n[NIS] = s[NIS] ^ $ u Î Ujian ( u[KdUjian] = n[KdUjian] ^ u[KdPelajaran] = p[KdPelajaran] ^ u[NIS] = s[NIS] )))) }

21

Page 22: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

e. SQL dengan 5 Relasi Tabel

contoh query untuk mencari siswa yang memiliki nilai ujian pelajaran pada jurusan akuntansi yang ikut ujian di semeseter 1 SQL CommercialSELECT Siswa.NIS, Siswa.Nama, Siswa.Alamat, Jurusan.Jurusan, nilai.Nilai, Ujian.Semester, Ujian.Jenis, Ujian.Tgl_Ujian, Pelajaran.NmPelajaranFROM Pelajaran INNER JOIN ((Siswa INNER JOIN Jurusan ON Siswa.Kd_Jurusan = Jurusan.KdJurusan) INNER JOIN (nilai INNER JOIN Ujian ON (nilai.KdUjian = Ujian.KdUjian) AND (nilai.NIS = Ujian.NIS)) ON Siswa.NIS = Ujian.NIS) ON Pelajaran.KdPelajaran = Ujian.KdPelajaranWHERE (((Jurusan.Jurusan)="Akuntansi") AND ((Ujian.Semester)="1") AND ((Ujian.Tgl_Ujian)=#01/06/2012#));

Hasilnya :

NIS Nama Alamat Jurusan Nilai Semester Jenis Tgl_Ujian NmPelajaran

0075 Nurhalim Jl. Ketapang Rt.004/004 No.71 Akuntansi 80 1 Mid 01/06/2012 B. Inggris

0075 Nurhalim Jl. Ketapang Rt.004/004 No.71 Akuntansi 90 1 Mid 01/06/2012 Biologi

0075 Nurhalim Jl. Ketapang Rt.004/004 No.71 Akuntansi 75 1 Mid 01/06/2012 Sosiologi

0075 Nurhalim Jl. Ketapang Rt.004/004 No.71 Akuntansi 88 1 Mid 01/06/2012 Mengelola Buku Jurnal Perusahaan Dagang

0091 Ika Jl. Pondok Aren No.45 Akuntansi 65 1 Mid 01/06/2012 Matematika

0076 Nurhalim Jl. Thamrin Rt.023/003 No.33 Akuntansi 85 1 Mid 01/06/2012 Matematika

Relation Algebra :

ÕSiswa.NIS, Siswa.Nama , Siswa.Alamat, Jurusan.Jurusan, Nilai.Nilai, Ujian.Semester, Ujian.Jenis, Ujian.Tgl_Ujian, Pelajaran.NmPelajaran ( sJurusan.Jurusan=”Akuntanis” ^ Ujian.Semester = 1 ^ Ujian.Tgl_Ujian = ”01/06/2012” ( Ujian X (Nilai X ( Jurusan X ( Pelajaran X Siswa ))))

Relation Tuple Calculus :

{ s|$ t Î Siswa ( s[NIS], s[Nama], s[Alamat] ^$ j Î Jurusan ( j[Jurusan], j[KdJurusan] = s[KdJurusan] ^

j[Jurusan]=”Akuntansi” ^$ n Î Nilai ( n[Nilai], n[NIS] = s[NIS] ^ $ u Î Ujian ( u[Semester], u[Jenis], u[Tgl_Ujian],

n[Tgl_Ujian] = “01/06/2012” ^ u[Semester] = 1 ^ u[KdUjian] = n[KdUjian] ^ u[NIS] = s[NIS] ^

22

Page 23: halim42.files.wordpress.com · Web viewKetika ada seorang petugas BAA sedang mengakses data KRS di kampus pada table Matakuliah untuk melihat mata kuliah yang sedang diambil mahasiswa

Ujian Akhir Semester 1 Tahun 2012 Nurhalim / 1211600075

$ p Î Pelajaran ( p[NmPelajaran], p[KdPelajaran] = u[KdPelajaran] ))))) }

23