Tugas Basis Data Dosen : Khabib Mustofa

dokumen-dokumen yang mirip
TUGAS BASIS DATA DOSEN : KHABIB MUSTOFA

Problem Solving SQL Kasus : Database Akademik oleh Otniel Yosi V

Penyelesaian: Soal A.i

QUERI DATABASE SISTEM AKADEMIK PERGURUAN TINGGI

Contoh-contoh query SQL

1. Mahasiswa mampu mengenal dan memahami Bahasa Pemrograman MySQL 2. Mahasiswa mampu mengimplementasikan DDL dan DML.

Normalisasi Vs Denormalisasi

Latihan : Sebutkan record berapa saja yang akan ditampilkan berdasarkan perintah berikut :

Satuan Acara Perkuliahan

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

Pertemuan 11. Bahasa Query Terapan Lanjutan

BUKU PANDUAN PENGGUNAAN SIMAK (SISTEM INFORMASI AKADEMIK) UNIVERSITAS UDAYANA

V. BASIS DATA RELATIONAL. Baris berupa RECORD Model Data Relational Kolom berupa FIELD

Stored Procedure. M. Saefudin SKom, MMSI

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

LAPORAN PRAKTIKUM BASIS DATA LANJUT I

SQL LANJUT BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Join Antar Tabel. M. Saefudin SKom, MMSI

Modul Praktikum II Matakuliah Basis Data 2

MODUL SISTEM BASIS DATA FUNGSI AGREGAT

MODUL IV FUNGSI AGREGAT

Sistem Manajemen Basis Data. Normalisasi vs Denormalisasi

SOAL TES KEMAMPUAN LOGIKA PROGRAM STUDI SISTEM INFORMASI TAHUN AJARAN 2013/2014 SEMESTER GANJIL. Tipe Soal I (Satu) TTD NIM Nama Ruang

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

SUBQUERY VIEW JOIN PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

Kontrak Kuliah. Perintah Manipulasi Data Lanjutan. Edi Sugiarto, S.Kom, M.Kom

Panduan Penggunaan SISTEM INFORMASI AKADEMIK UNIVERSITAS TADULAKO MAHASISWA

BIDANG AKADEMIK. Program Studi Pendidikan Ekonomi dan Koperasi. Tahun Disampaikan dalam Sosialisasi Pedoman Perilaku dan Sistem Perkuliahan

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4

BAHASA QUERY KOMERSIAL

System Technology Database 1. Struktur Dasar SQL. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

MODUL 8 STRUCTURED QUERY LANGUAGE (BAGIAN 2)

PRAKTIKUM 4 PENGAMBILAN DATA LANJUT

Sistem Informasi Terpadu Universitas Gadjah Mada

SQL QUERY. Penggunaan Select untuk menampilkan data

ALUR REGISTRASI MAHASISWA

Praktikum Basis Data 2017 TE UM

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

MANUAL PROSEDUR SEMESTER PENDEK

ER-Diagram. KodeMK NamaMK. Nim. Ambil. KdJur SKS 1 JURUSAN. Milik

DATA MANIPULATION LANGUAGE

PERTEMUAN 5 PENGGUNAAN FUNGSI GROUP

SISTEM INFORMASI Marta Lenah Haryan8 Copyright Wondershare So3ware

RENCANA PEMBELAJARAN

Rencana Pelaksanaan Pembelajaran


BAHASA QUERY KOMERSIAL

SQL (STRUCTURED QUERY LANGUAGE)

Oracle Academic Initiative

Pertemuan 10. Bahasa Query Terapan

RENCANA PEMBELAJARAN SEMESTER (RPS) DAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

CONTOH SQL. ERD untuk entitas Mahasiswa mengambil/mengikuti Kuliah. N mengikuti. N Kuliah. Mahasiswa MEMBUAT (CREATE) TABEL. Buat tabel mahasiswa:

Kurikulum Kurikulum Mahasiswa Angkatan 2015 dan sebelumnya. Mahasiswa angkatan 2016 dan setelahnya

MENU ENTRY Pengisian Kartu Rencana Studi (KRS) Entry judul skripsi dan data lainnya MENU INFORMASI

SATUAN ACARA PERKULIAHAN(SAP)

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMPLEKS

KONSEP DASAR MEMBANGUN SISTEM INFORMASI AKADEMIK JURUSAN /PRODI

Kontrak Kuliah. Aljabar Relasi. Edi Sugiarto, S.Kom, M.Kom

Macam - Macam Perintah Pada SQL

KEPUTUSAN REKTOR UNIVERSITAS INDONESIA NOMOR: 838A/SK/R/UI/2007 REKTOR UNIVERSITAS INDONESIA,

Berikut ini akan diberikan contoh-contoh penggunaan fungsi agregasi dalam klausa SQL: Contoh 1 Menampilkan banyaknya record dosen select count ( * )

Untuk mempermudah, buat tabel perkembangan hasil belajar (PHB) melalui aplikasi microsoft office word dengan fomat seperti pada tabel berikut.

Modul 3 : Query Penggabungan Tabel

MODUL 9 VIEW A. TUJUAN B. PETUNJUK C. DASAR TEORI. Praktikum Basis Data 2017 TE UM

Database Systems: Lab. Actvity 3: Fungsi-Fungsi MySql Advance. Pendahuluan. Pendahuluan

BAB 11 FUNGSI-FUNGSI SQL SERVER

4.1. Setelah login, scroll down layar kemudian di bawah Blog Menu click Add a new entry

STMIK SUMEDANG DATA DEFINITION LANGUAGE (DDL) TUGAS PRAKTEK PEMROGRAMAN BASIS DATA. Nama : NIKKI BAGUS N A NIM : A Kelas : TI 4A

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

PANDUAN SISTEM INFORMASI AKADEMIK UNTUK MAHASISWA

FORMAT PENYUSUNAN RPKPS

MENAMPILKAN DATA DARI BANYAK TABEL

Microsoft Access 2007

BAB IV HASIL PENELITIAN DAN PEMBAHASAN

BAHASA QUERY KOMERSIAL

Halaman muka Sistem Informasi Akademik Universitas Lampung (

Basis Data. Structured Query Language (SQL)

Bab 4 Hasil dan Pembahasan

PETUNJUK PENGGUNAAN SIKADU UNIVERSITAS WAHID HASYIM HAK AKSES : MAHASISWA

BAB II SISTEM PENDIDIKAN

Gambar 3.1 Diagram konteks (DFD level 0)

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

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

Statement DDL Create database drop database Create table drop table alter table

Tim Penyusun Panduan Pembimbingan Akademik

Pertemuan 11 Structure Query Language(SQL)

Praktikum Basis Data 2017 TE UM MODUL 6 SUB QUERY

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

BAB 3 METODE PENELITIAN. Jenis sumber data yang didapatkan peneliti adalah data primer dan data sekunder.

MODUL VII STORED PROCEDURE

PRAKTIKUM BASIS DATA

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

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

MANUAL PROSEDUR BIMBINGAN & KONSELING MAHASISWA

Transkripsi:

Tugas Basis Data Dosen : Khabib Mustofa Diberikan sejumlah tabel untuk memodelkan sebagian dari suatu sistem akademik perguruan tinggi sebagai berikut. Matakuliah(kodemk,namamk,sks) berisi daftar matakuliah yang ditawarkan Dosen(nip,nama) daftar dosen pengampu matakuliah Mahasiswa(nim,nama,dosenpembimbing) daftar mahasiswa Kuliah(kodekuliah,kodemk,nip,thnakademik,semester) daftar matakuliah dan dosen pengampu. Seorang dosen bisa mengajar matakuliah yang sama untuk kelas yang berbeda pada suatu semester. semester bernilai '1' untuk ganjil atau '2' untuk genap. thnakademik dinyatakan dalam format panjang seperti '2007-2008' Peserta(nim,kodekuliah,nilai) nilai mahasiswa dalam a, b s.d. e. Catatan : Asumsi 1. matakuliah hanya ditawarkan sekali dalam setahun, yaitu pada semester 1 (ganjil) saja atau semester 2 (genap) saja dan tidak kedua-duanya 2. bila pernah mengulang matakuliah, nilai yang diikutkan untuk perhitungan IP adalah nilai terakhir 3. Matakuliah dikatakan lulus bila nilai yang diperoleh minimal 'd'

Tuliskan perintah SQL untuk permasalahan berikut: A. Tampilkan banyaknya SKS yang telah diselesaikan oleh masing-masing mahasiswa i. Bila matakuliah yang diulang semua masuk dalam perhitungan ii. Bila matakuliah yang diulang hanya yang sesuai dengan asumsi yang masuk dalam perhitungan B. Tampilkan data-data yang bisa untuk melakukan perhitungan IPK (berdasar asumsi di atas) C. Tampilkan dosen yang pernah mengampu kelas matakuliah yang pesertanya tidak lebih dari 15 mahasiswa. D. Bila kode matakuliah untuk Tugas Akhir adalah M0012, tampilkan banyaknya siswa yang telah lulus tugas akhir E. Tampilkan daftar nomor dan nama mahasiswa beserta IP (Indeks Prestasinya) berdasar dua asumsi di atas F. Tampilkan nama mahasiswa yang telah lulus lebih dari 100 SKS

Jawab : A. Tampilkan banyaknya SKS yang telah diselesaikan oleh masing-masing mahasiswa i. Bila matakuliah yang diulang semua masuk dalam perhitungan ii. Bila matakuliah yang diulang hanya yang sesuai dengan asumsi yang masuk dalam perhitungan Penjelasan : i) Sebelumnya terlebih dulu kita buat tabel untuk memudahkan penampilan jumlah semua sks yang telah diselesaikan oleh mahasiswa, yaitu dengan membuat tabel dengan kolom nim, nama, kodekuliah, sks yang diambil dari tabel mahasiswa, kuliah, peserta, matakuliah. Yang kemudian di inner join kan. Query : CREATE VIEW `ngulang` AS SELECT peserta.nim, mahasiswa.nama, kuliah.kodekuliah, matakuliah.sks FROM kuliah, matakuliah, peserta, mahasiswa WHERE kuliah.kodekuliah = peserta.kodekuliah AND matakuliah.kodemk = kuliah.kodemk AND peserta.nim = mahasiswa.nim Kemudian kita lakukan penjumlahan sks terhadap tabel ngulang. Query : SELECT nim, nama, sum( sks ) AS totalsks FROM ngulang GROUP BY nim, nama ORDER BY nim, nama Gambaran hasilnya seperti di bawah ini : ii) Untuk masalah yang kedua juga dibutuhkan tabel baru untuk

memudahkan penyelesaiannya. Tabel baru ini akan menampilkan beberapa kolom, yaitu nim, nama, kodekuliah, sks, kodemk, nilai, tahunterakhir dan semester yang diambil dari tabel kuliah, matakuliah, peserta, mahasiswa. Konsep yang digunakan hampir sama dengan permasalahan di atas. Tabel ini akan digunakan seterusnya untuk menyelesaikan permasalahan berikutnya. Query : CREATE VIEW `takulang` AS SELECT peserta.nim, mahasiswa.nama, kuliah.kodekuliah, matakuliah.sks, matakuliah.kodemk, peserta.nilai, max(kuliah.thnakademik ) AS tahunterakhir, max( semester ) as semester FROM kuliah, matakuliah, peserta, mahasiswa WHERE kuliah.kodekuliah = peserta.kodekuliah AND matakuliah.kodemk = kuliah.kodemk AND peserta.nim = mahasiswa.nim GROUP BY peserta.nim, mahasiswa.nama, kuliah.kodemk order by nim Kemudian kita lakukan penjumlahan pada kolom sks untuk menghasilkan jumlah sks yang telah diselseaikan oleh mahasiswa. Query : SELECT nim, nama, sum( sks ) as totalsks FROM takulang GROUP BY nama, nim order by nim Hasil dari query di atas adalah seperti ini : Pada gambar di atas tidak semua data ditampilkan.

B. Tampilkan data-data yang bisa untuk melakukan perhitungan IPK (berdasar asumsi di atas) Penjelasan : Untuk melakukan perhitungan IPK kita membutuhkan tabel yang memuat kolom nim, nama, kodekuliah, sks, kodemk, nilai, thnakademik dan semester yang diambil dari tabel kuliah, matakuliah, peserta, mahasiswa. Kemudian dari tabel-tabel tersebut dilakukan join. Syarat untuk melakukan perhitungan terakhir yaitu nilai yang diambil adalah nilai terakhir. Oleh karena itu, dilakukan fungsi agregat max pada thnakademik dari tabel kuliah. Query : SELECT peserta.nim, mahasiswa.nama, kuliah.kodekuliah, matakuliah.sks, matakuliah.kodemk, peserta.nilai, max(kuliah.thnakademik ) AS tahunterakhir, max( semester ) as semester FROM kuliah, matakuliah, peserta, mahasiswa WHERE kuliah.kodekuliah = peserta.kodekuliah AND matakuliah.kodemk = kuliah.kodemk AND peserta.nim = mahasiswa.nim GROUP BY peserta.nim, mahasiswa.nama, kuliah.kodemk order by nim Dari query di atas dihasilkan beberapa contoh data sebagai berikut : Pada gambar di atas tidak semua data ditampilkan.

C. Tampilkan dosen yang pernah mengampu kelas matakuliah yang pesertanya tidak lebih dari 15 mahasiswa. Penjelasan : Dalam menyelesaikan permasalahan di atas dibutuhkan tabel view untuk memudahkan langkah-langkah pemrosesan selanjutnya. Tabel yang dibuthkan memuat kolom nip, namadosen, nim, namamahasiswa, dan kodekuliah yang diambil dari tabel mahasiswa, dosen, kuliah, peserta. Query : CREATE VIEW Dosen AS SELECT dosen.nip, dosen.nama AS namadosen, mahasiswa.nim, mahasiswa.nama AS namamahsiswa, kuliah.kodekuliah FROM mahasiswa, dosen, kuliah, peserta WHERE kuliah.kodekuliah = peserta.kodekuliah AND peserta.nim = mahasiswa.nim AND kuliah.nip = dosen.nip order by nip Kemudian dilakukan fungsi agregat count untuk mendapatkan jumlah peserta pada kelas mata kuliah yang diampu oleh dosen. Query : SELECT count( nip ) AS pesertakuliah, nip, namadosen, kodekuliah FROM dosen1 GROUP BY nip, namadosen, kodekuliah HAVING pesertakuliah <15 Dari query di atas dihasilkan beberapa contoh data sebagai berikut : Pada gambar di atas tidak semua data ditampilkan.

D. Bila kode matakuliah untuk Tugas Akhir adalah M0012, tampilkan banyaknya siswa yang telah lulus tugas akhir Penjelasan : Dalam menentukan banyaknya mahasiswa yang telah lulus tugas akhir dengan syarat kodemk adalah M0012 dan nilai minimal D maka dibutuhkan tabel dengan kolom nim dan nama yang diambil dari tabel view takulang yang telah dibuat pada soal (A.i) di atas. Kemudian ditambahkan syarat ASCII( nilai ) <69, maksudnya adalah nilai lebih dari E (kode ASCII E adalah 69). Lalu dilakukan fungsi agregat count untuk mendapatkan jumlah mahasiswa yang telah lulus tugas akhir. Query : SELECT count( nim ) AS mhasiswalulus FROM (SELECT nim, nama FROM takulang WHERE kodemk = 'M0012'AND ASCII( nilai ) <69) AS tabel

E. Tampilkan daftar nomor dan nama mahasiswa beserta IP (Indeks Prestasinya) berdasar dua asumsi di atas Penjelasan : Pada permasalahan ini diminta untuk menampilkan IP yang didapat oleh mahasiswa. Dibutuhkan kolom nim, nama, dan ip. Syarat IP adalah nilai terakhir yang diambil. Kemudian untuk mendapatkan IP, digunakan fungsi agregat sum SUM( ( 69 - ASCII( nilai ) ) * sks ) / SUM( sks ). Jumlah ASCII dari kolom nilai digunakan untuk mengurangi 69 dimana akan menghasilkan bobot pada kolom nilai lalu dikalikan dengan kolom sks dan dibagi dengan jumlah sks. Query : CREATE VIEW `ip` AS SELECT nim, nama, SUM( ( 69 - ASCII( nilai ) ) * sks ) / SUM( sks ) AS ip FROM takulang GROUP BY nim, nama order by nim Beberapa contoh data yang dihasilkan dari data di atas : F. Tampilkan nama mahasiswa yang telah lulus lebih dari 100 SKS Penjelasan : Dari permasalahan ini diharapkan dapat menampilkan mahasiswa yang telah lulus lebih dari 100 sks. Syarat kelulusan mata kuliah adalah nilai minimal D. Kolom yang dibutuhkan adalah nim, nama, skslulus. Yang dimana data diambil dari tabel takulang yang telang dibuat pada soal (A.ii). Kemudian diberi kondisi WHERE ASCII( nilai ) <69 kode ASCII untuk nilai E adalah 69.

Query : SELECT nim, nama, sum( sks ) AS skslulus FROM takulang WHERE ASCII( nilai ) <69 GROUP BY nim, nama having skslulus>99 Tidak data yang dihasilkan karena belum ada mahasiswa yang telah lulus dari 100 sks.