Laporan untuk Memenuhi Tugas Besar Mata Kuliah Basis Data Lanjutan
Oleh
B. TUJUAN
Tujuan dari perancangan database alumni sekolah SMK Tunas Bangsa
adalah sebagai berikut :
1. Untuk memenuhi tugas akhir matakuliah praktikum basis data.
2. Memudahkan mendapatkan informasi mengenai data alumni sekolah
3. Memahami proses perancangan dan pembuatan database
4. Membantu para guru agar mudah dalam menghubungi para alumni yang telah
keluar.
C. LANDASAN TEORI
Database atau basis data adalah kumpulan data yang disimpan secara
sistematis di dalam komputer dan dapat diolah atau dimanipulasi menggunakan
perangkat lunak (program aplikasi) untuk menghasilkan informasi. Pendefinisian
basis data meliputi spesifikasi berupa tipe data, struktur, dan juga batasan-batasan
data yang akan disimpan. Basis data merupakan aspek yang sangat penting dalam
sistem informasi dimana basis data merupakan gudang penyimpanan data yang
akan diolah lebih lanjut. Basis data menjadi penting karena dapat menghidari
duplikasi data, hubungan antar data yang tidak jelas, organisasi data, dan juga
update yang rumit.
Proses
memasukkan dan
mengambil data ke
dan dari media
penyimpanan data
memerlukan
perangkat lunak yang
disebut dengan sistem
manajemen basis data
(database
management system |
DBMS). DBMS
merupakan sistem perangkat lunak yang memungkinkan user untuk memelihara,
mengontrol, dan mengakses data secara praktis dan efisien. Dengan kata lain
semua akses ke basis data akan ditangani oleh DBMS. Ada beberapa fungsi yang
harus ditangani DBMS yaitu mengolah pendefinisian data, dapat menangani
permintaan pemakai untuk mengakses data, memeriksa sekuriti dan integriti data
yang didefinisikan oleh DBA (Database Administrator), menangani kegagalan
dalam pengaksesan data yang disebabkan oleh kerusakan sistem maupun disk, dan
menangani unjuk kerja semua fungsi secara efisien.
Tujuan utama dari DBMS adalah untuk memberikan tinjauan abstrak data
kepada user (pengguna). Jadi sistem menyembunyikan informasi tentang
bagaimana data disimpan, dipelihara, dan tetap dapat diambil (akses) secara
efisien. Pertimbangan efisien di sini adalah bagaimana merancang struktur data
yang kompleks tetapi masih tetap bisa digunakan oleh pengguna awam tanpa
mengetahui kompleksitas strukturnya.
Basis data flat-file. Basis data flat-file ideal untuk data berukuran kecil dan
dapat dirubah dengan mudah. Pada dasarnya, mereka tersusun dari sekumpulan
string dalam satu atau lebih file yang dapat diurai untuk mendapatkan informasi
yang disimpan. Basis data flat-file baik digunakan untuk menyimpan daftar atau
data yang sederhana dan dalam jumlah kecil. Basis data flat-file akan menjadi
sangat rumit apabila digunakan untuk menyimpan data dengan struktur kompleks
walaupun dimungkinkan pula untuk menyimpan data semacam itu. Salah satu
masalah menggunakan basis data jenis ini adalah rentan pada korupsi data karena
tidak adanya penguncian yang melekat ketika data digunakan atau dimodifikasi.
Basis data relasional. Basis data ini mempunyai struktur yang lebih logis
terkait cara penyimpanan. Kata "relasional" berasal dari kenyataan bahwa tabel-
tabel yang berada di basis data dapat dihubungkan satu dengan lainnya. Basis data
relasional menggunakan sekumpulan tabel dua dimensi yang masing-masing tabel
tersusun atas baris (tupel) dan kolom (atribut). Untuk membuat hubungan antara
dua atau lebih tabel, digunakan key (atribut kunci) yaitu primary key di salah
satu tabel dan foreign key di tabel yang lain. Saat ini, basis data relasional
menjadi pilihan karena keunggulannya. Beberapa kelemahan yang mungkin
dirasakan untuk basis data jenis ini adalah implementasi yang lebih sulit untuk
data dalam jumlah besar dengan tingkat kompleksitasnya yang tinggi dan proses
pencarian informasi yang lebih lambat karena perlu menghubungkan tabel-tabel
terlebih dahulu apabila datanya tersebar di beberapa tabel.
MySQL
MySQL adalah sistem manajemen database SQL yang bersifat Open Source
dan paling populer saat ini.Sistem Database MySQL mendukung beberapa fitur
seperti multithreaded, multi-user, dan SQL database managemen sistem
(DBMS).Database ini dibuat untuk keperluan sistem database yang cepat, handal
dan mudah digunakan.
Ulf Micheal Widenius adalah penemu awal versi pertama MySQL yang
kemudian pengembangan selanjutnya dilakukan oleh perusahaan MySQL AB.
MySQL AB yang merupakan sebuah perusahaan komersial yang didirikan oleh
para pengembang MySQL.MySQL sudah digunakan lebih dari 11 millar instalasi
saat ini.
MySQL dibuah oleh TcX dan telah dipercaya mengelola system dengan 40
buah database berisi 10.000 tabel dan 500 di antaranya memiliki 7 juta baris.
Pada saat ini MySQL merupakan database server yang sangat terkenal di dunia,
semua itu tak lain karena bahasa dasar yang digunakan untuk mengakses database
yaitu SQL. SQL (Structured Query Language) pertama kali diterapkan pada
sebuah proyek riset pada laboratorium riset San Jose, IBM yang bernama system
R. Kemudian SQL juga dikembangan oleh Oracle, Informix dan Sybase.Dengan
menggunakan SQL, proses pengaksesan database lebih user-friendly dibandingan
dengan yang lain, misalnya dBase atau Clipper karena mereka masih
menggunakan perintah-perintah pemrograman murni.
SQL dapat digunakan secara berdiri sendiri maupun di lekatkan pada bahasa
pemograman seperti C, dan Delphi.
1. Elemen SQL
Elemen dari SQL yang paling dasar antara lain pernyataan, nama, tipe data,
ekspresi, konstanta dan fungsi bawaan.
Pernyataan
Perintah dari SQL yang digunakan untuk meminta sebuah tindakan kepada
DBMS.
Nama
Tipe data
Ekspresi
Misalnya : jumlah=harga-diskon
1. + : tambah
2. – : kurang
3. / : bagi
4. * : kali
Fungsi bawaan
Fungsi adalah subprogram yang dapat menghasilkan suatu nilai apabila fungsi
tersebut dipanggil.Fungsi Agregat adalah fungsi yang digunakan untuk melakukan
summary, statistik yang dilakukan pada suatu tabel/query.
1. Membuat Database
2. Menghapus Database
3. Membuat Tabel
4. Menghapus Database
Field2 TipeData2
);
( Field1 TipeData1,
);
Field2 TipeData2
);
( Field1 TipeData1,
Field2 TipeData2,
PRIMARY KEY(Field1)
);
3) ALTER TABEL namatabel ADD CONSTRAINT namaconstraint
PRIMARY KEY (NAMAKOLOM)
( Field1 TipeData1,
Field2 TipeData2,
DML berfungsi untuk memanipuladi data yang ada di dalam basis data, contohnya
untuk pengambilan data, penyisipan data, pengubahan data dan penghapusan data.
1. INSERT
2. DELETE
3. UPDATE
4. SELECT
Menampilkan isi dari suatu tabel yang bisa dihubungkan dengan tabel
yang lainnya;
Kelebihan MySQL
Berikut ini beberapa kelebihan MySQL sebagai database server antara lain :
Source MySQL dapat diperoleh dengan mudah dan gratis.
Sintaksnya lebih mudah dipahami dan tidak rumit.
1. MySQL
MySQL (dieja “My Ess Que Ell”) merupakan perangkat lunak basis data
yang dikembangkan oleh perusahaan bernama MySQL AB. Sebagai sebuah
produk, ada beberapa poin penting mengenai MySQL, yaitu:
MySQL merupakan suatu Dataase Management System (DBMS)
MySQL adalah suatu Relational Database Management System (RDBMS)
MySQL merupakan sebuah produk yang didistribusikan secara open
source.
MySQL dapat berjalan baik hampir semua platfrom sistem operasi.
2. Server dan Client MySQL
Arsitektur DBMS MySQL dapat diklarifikasikan ke dalam dua jenis, yaitu
server dan client. Secara garis besar, client digunakan untuk melakukan request
informasi, sedangkan server bertindak merespon permintaan dari client. Dengan
demikian, lingkungan yang nantinya akan digunakan pada praktikum ini adalah
client.
3. Objek Basis Data
Di MySQL, basisdata direpresentasikan sebagai suatu direktori, dimana di
dalamnya terdapat himpunan file-file tabel yag terdefinisi. Pembuatan basis data
dilakukan menggunakan pernyataan CREATE DATABASE dan diikuti dengan
nama basis data yang akan dibuat.
Bentuk sintaks pembuatan basis data:
CREATE DATABASE [IF NOT EXISTS] nama_database;
Oleh karena basis data merupakan suatu schema, maka penghapusannya
dilakukan menggunakan perintah DDL DROP DATABASE
Bentuk formal penghapusan basis data:
DROP DATABASE [IF EXISTS] nama_database;
4. Objek Tabel
MySQL endukung penuh standart ANSI/ISO SQL. Dengan demikian,
perintah pembuatan tabel di MySQL juga sama seperti DBMS lainnya. Bentuk
sintaks pembuatan tabel diperihatkan sebagai berikut:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] nama_tabel
[(create_definisi,...)]
[table_options] [select_statement]
Untuk menghapus operasi-operasi modifikasi, baik modifikasi tabel maupun
field, dapat dilakukan dengan memanfaatkan perintah ALTER>
5. Akses dan Manipulasi Data
Operasi-operasi dan manipulasi data-data mencangkup pengambilan atau
seleksi, penambahan, pengubahan, dan penghapusan di MySQL juga didasarkan
pada standart SQL. Dengan demikian, adanya standardisasi ini memungkinkan
keseragaman operasi di lintas DBMS
Relationship
1. Relationship
Relationship adalah suatu hubungan antara beberapa entitas. Konsep ini sangat
penting sekali di dalam basis data, di mana memungkinkan entitas-entitas
untuk saling berhubungansatu sama lain.
Di dalam sebuah relationship, primary key memiliki peran penting untuk
mengaitkan entitas. Selain itu, primary key juga digunakan untuk
mendefinisikanbatasan keterhubungan.
Jenis-jenis relasi entitas :
a. Satu ke satu (one to one)
Setiap data pada entitas A berhubungan dengan maksimal satu data pada
entitas B, begitu pula sebaliknya.
b. Satu ke banyak (one to many) atau banyak ke satu (many to one)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas
B, tetapi data pada entitas B berhubungan maksimal hanya dengan sebuah data
di A.
c. Banyak ke banyak (many to many)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas
B, demikian pula sebaliknya.
d. ERD
Merupakan suatu model untuk menjelaskan hubungan antar data dalam
basisdata berdasarkan obyek obyek dasar data yang mempunyai hubungan
antar relasi. ERD untuk memodelkan struktur data dan hubungan antar data,
untuk menggambarkannya digunakan beberapa notasi dan simbol.
2. Normalisasi
Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-
atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang
non-redundant, stabil, dan fleksible. Normalisasi dilakukan sebagai uji coba
pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu
sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi
pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam
relasi tersebut.
3. Join
Join merupakan salah satu konstruksi dasar dari SQL dan basis data. Join
dapat didefinisikan sebagai kombinasi record dari dua atau lebih tabel di dalam
basis data relasional dan menghasilkan sebuah tabel (temporary) baru—yang
disebut sebagai joined table. Join dapat diklasifikasikan ke dalam dua jenis, yaitu
inner join dan outer join.
a. Inner Join
Inner join pada dasarnya adalah menemukan persimpangan (intersection)
antara dua buah tabel.
Sintaks inner join diperlihatkansebagai berikut:
SELECT A1, A2, ..., An
FROM r1 INNER JOIN r2
ON r1.join_key = r2.join_key
Inner join juga dapat direpresentasikan dalam bentuk implisit sebagai berikut:
SELECT A1, A2, ..., An
FROM r1, r2
WHERE r1.key = r2.key
Misalkan terdapat tabel A dan B, maka hasil inner join dapat diperlihatkan—
sebagai bidang terarsir—dalam diagram Venn seperti Gambar1.
Gambar 1. Inner Join
b. Outer Join
Outer join dibagi ke dalam tiga jenis, yaitu left outer join, right outer join,
dan full outer join.
Left Outer Join
Left outer join (atau left join) mengembalikan semua nilai dari tabel kiri
ditambah dengan nilai dari tabel kanan yang sesuai (atau NULL jika tidak ada
nilai yang sesuai).
Sintaks left outer join diperlihatkan sebagai berikut:
SELECT A1, A2, ..., An
FROM r1
LEFT OUTER JOIN r2
ON r1.join_key = r2.join_key
Left outer join antara tabel A dan B dapat diilustrasikan dalam diagram
Venn seperti Gambar 2.
Selain empat jenis join yang utama di atas, masih ada beberapa variasi join
lainnya, seperti CROSS JOIN (cartesian product), NATURAL JOIN,dan
sebagainya.
Perlu juga diperhatikan, join bisa diimplementasikan dalam bentuk
bersarang (nested join). Jadi, di dalam sebuah operasi join bisa terdapat operasi
join lainnya.
Subquerry
Subquery adalah perintah SELECT yang berada di dalam perintah SQL lain.
Subquery sangat berguna ketika kita ingin menampilkan data dengan kondisi yang
bergantungpada data di dalam table itu sendiri.
Kegunaan-kegunaan Subquery dalam memanipulasi data:
Contoh:
Menampilkan data karyawan yang bekerja satu departemen dengan Biri.
SELECT last_name, titleFROM employee
WHERE dept_id =
( SELECT dept_id
FROM employee
WHERE UPPER(last_name) = ‘BIRI’ );
b. Multiple-Row Subquery
Subquery baris ganda (multiple-row) mengembalikan lebih dari satu baris data.
Bentuk subqueryini diperlihatkan sepertiGambar 2.
Gambar 2 Multiple-rowsubquery
Subquery baris ganda dapat menggunakan operator komparasi IN, ANY / SOME,
atau ALL.
c. Multiple-Column Subquery
Subquery kolom ganda (multiple-column) mengembalikan lebih dari satu baris
dan satu kolom data. Bentuk subquery ini diperlihatkan sepertiGambar 3.
Gambar 3 Multiple-columnsubquery
Stored Procedure
Pengertian Stored Procedure
Stored Procedure adalah sebuah kelompok kode SQL yang di simpan di
katalog database dan dapat di panggil kemudian oleh program, trigger atau bahkan
stored procedure.Sebuah Stored Procedure yang memanggil diri nya sendiri di
sebut rekursif stored procedure.
4) Aman.
Penggunaan Stored Procedure dapat di akses hak nya oleh aplikasi oleh
Database Administrator
Trigger
1. Trigger timing :
3. Nama tabel : yaitu nama tabel atau view yang berhubungan dengan trigger
Trigger timing adalah waktu kapan trigger diaktifkan. Ada tiga macam trigger
timing, yaitu :
Pada saat trigger event UPDATE, kita dapat memasukkan daftar kolom
untuk mengidentifikasi kolom mana yang berubah untuk mengaktifkan sebuah
trigger (contoh : UPDATE OF salary ... ). Jika tidak ditentukan, maka
perubahannya akan berlaku untuk semua kolom pada semua baris.
Statement : trigger dijalankan sekali saja pada saat terjadi sebuah event.
Statement trigger juga dijalankan sekali, meskipun tidak ada satupun baris
yang dipengaruhi oleh event yang terjadi.
Row : trigger dijalankan pada setiap baris yang dipengaruhi oleh terjadinya
sebuah event. Row trigger tidak dijalankan jika event dari trigger tidak
berpengaruh pada satu baris pun.
Trigger body mendefinisikan tindakan yang perlu dikerjakan pada saat terjadinya
event yang mengakibatkan sebuah trigger menjadi aktif. Manfaat dari penggunaan
trigger :
3. Trigger dapat melakukan perubahan cascade melalui melalui relasi tabel pada
database, akan tetapi perubahan ini akan lebih efisien jika dieksekusi
menggunakan referential integrity constraints.
Trigger MySQL
MySQL mendukung fitur trigger termasuk juga stored procedure dan view sejak
versi 5.0.2 sebagaimana objek-objek lainnya, trigger diciptakan menggunakan
pernyataan CREATE.
Syntaks pendefinisian trigger diperlihatkan sebagai berikut:
MySQL tidak mengizinkan multiple trigger dengan waktu aksi dan event sama
per tabel. Misalkan di tabel A sudah didefinisikan trigger AFTER INSERT, maka
kita tidak boleh mendefinisikan trigger AFTER INSERT lagi, namun AFTER
EDIT, AFTER DELETE, atau BEFORE (INSERT, EDIT, dan DELETE) bisa
diterima.
VIEW
1. View
View dapat didefinisikan sebagai tabel maya (virtual) atau logikal yang terdiri
dari himpunan hasil query. Tidak seperti umumnya tabel didalam basis data
relasional, view bukanlah bagian dari skema fisik. View bersifat dinamis; ia
mengandung data dari tabel yang direpresentasikannya. Dengan demikian,
ketika tabel yang menjadi sumber datanya berubah, data di view juga akan
berubah.
Merujuk pada dokumentasi MySQL, sintaks pendefinisian view diperlihatkan
sebagai berikut:
2. Updatable View
View dapat bersifat read-only atau updatable. Kondisi ini sangat dipengaruhi
oleh pendefinisian view itu sendiri. Bagaimanapun, untuk menciptakan
updatable view, pernyataan SELECT yang didefinisikan di view harus
mengikuti aturan-aturan berikut:
Pernyataan SELECT tidak boleh merujuk ke lebih dari satu tabel.
Pernyataan SELECT tidak boleh menggunakan klausa GROUP BY atau
HAVING.
Pernyataan SELECT harus tidak menggunakan DISTINCT
Pernyataan SELECT harus tidak merujuk ke view lain yang tidak
updatable
Pernyataan SELECT tidak boleh mengandung ekspresi apapun, misalnya
fungsi atau agregat.
Pada hakekatnya, jika sistem database mampu menentukan pemetaan balik
dari skema view ke skema tabel dasar, maka view memungkinkan untuk di
update. Dalam kondisi ini, operasi-operasi INSERT, UPDATE, dan DELETE
dapat diterapkan pada view.
Keuntungan VIEW
Kekurangan VIEW
1. Performance : Queri terhadap view dapat menjadi lambat terutama
jika view tersebut dibuat menggunakan view yang lain
2. Table Dependencies : Jika tabel berubah maka otomatis kita juga
harus mengubah viewnya.
View adalah perintah query yang disimpan pada database dengan suatu
nama tertentu, sehingga bisa digunakan setiap saat untuk melihat data tanpa
menuliskan ulang query tersebut. Views merupakan suatu tampilan tabel virtual.
Views dapat digunakan untuk mempermudah kita dalam pembuatan laporan atau
tampilan database yang diinginkan dengan cepat.
D. DESAIN DATABASE
Dalam perancangan database alumni sekolah ini terdapat 10 buah tabel
yaitu tabel alumni, siswa, kelas, jurusan, kota_tinggal, jenis_pekerjaan,
rentang_gaji, perusahaan, jenjang_pendidikan dan institusi_pendidikan.
Dalam tabel alumni terdapat 4 buah field yaitu No_Ijazah, NIS, Angkatan,
dan Kota_Tinggal yang dijadikan sebagai Primary Key adah No_Ijazah. Struktur
table alumni adalah gambar berikut ini:
Gambar 1 Struktur tabel alumni
Dalam table siswa terdapat 7 buah field yaitu NIS, Nama, TTL, JK,
Agama, Alamat, dan Kode_Kelas. Pada table ini yang dijadikan sebagai Primary
Key adalah NIS. Struktur table siswa seperti gambar berikut ini:
Struktur database ta
Relasi dari kesepuluh tabel pada database “ta” yaitu tabel alumni,
institusi_pendidikan, jenis_pekerjaan, jenjang_pendidikan, jurusan, kelas,
kota_tinggal, perusahaan, rentang_gaji, dan table siswa. Diperlihatkan seperti
gambar dibawah ini:
Gambar Relasi tabel pada database “ta”
Dari diagram relationship tersebut, dapat diketahui bahwa setiap tabel
saling memiliki relasi dengan tabel yang lain. Cara merelasikannya dengan
menghubungkan field yang merupakan Primary key dengan field dari tabel lain
yang bukan Primary Key.
Primary key ditunjukkan dengan kunci berwarna kuning. Nilai dari
Primary Key adalah unique, artinya nilai dari primary key tersebut tidak ada yang
sama.
RELASI TABEL
a. 0NF
b. 1NF
Data :
c. 2NF
d. 3NF
ERD
E. IMPLEMENTASI DATABASE
MEMBUAT DATABASE
Sebelum memulai membuat tabel terlebih dahulu membuat database untuk
menyimpan tabel-tabelnya. Berikut ini syntax beserta hasilnya :
22
Kemudian menggunakan database yang sudah dibuat sebelumnya :
Source code :
Printscreen :
Source code :
Prinscreen :
Printscreen :
Printscreen :
Source code :
Printscreen :
Printscreen :
Source code :
Printscreen :
Source code :
Printscreen :
Membuat tabel rentang gaji :
Berikut langkah-langkahnya :
Source code :
Printscreen :
Printscreen :
STUDY KASUS
1. FUNGSI AGREGATE
a. Berdasarkan tabel jenjang_pendidikan. Tampilkan jumlaht ahun lulus yang
tahun lulusnya 2014.
Berikut ini query-nya :
Hasil :
Penjelasan :
Perintah sql ini digunakan untuk menampilkan tahun lulus dan jumlah
tahun lulus dari tabel jenjang_pendidikan ketika tahun lulusnya adalah
2014.
b. Berdasarkan tabel kelas tampilkan kode jurusan dan rata-rata dari jumlah
siswa. Namun, dengan syarat kode jurusan bukan 101 dan 105.
Berikut ini query-nya :
Hasil :
Penjelasan:
Perintah sql ini digunakan untuk menampilkan kode_jurusan dan rata-rata
dari jumlah_siswa dari tabel kelas. Kemudian syaratnya adalah
kode_jurusan bukan 101 dan 105
2. JOIN
a. Ambil nama dari tabel siswa dan no_ijazah dari tabel alumni
menggunakan inner join.
Berikut Query-nya :
Hasil :
Penjelasan :
pernyataan sql diatas digunakan untuk menampilkan nama dan no ijazah
dengan cara menggabungkan dua tabel yaitu tabel siswa dan tabel alumni.
b. Kelompokkan data siswa berdasarkan jenis kelaminnya, kemudian hitung
banyaknya. Selesaikan dengan menggunakan left outer join.
Berikut Query-nya :
Hasil :
Penjelasan :
pernyataan sql diatas digunakan untuk mengelompokkan dan menghitung
jumlah siswa berdasar jenis kelaminnya. Dengan menggabungkan dua
tabel yaitu tabel alumni dan tabel siswa.
c. Dapatkan no ijazah alumni yang jenis pekerjaannya ‘PNS’. Selesaikan
dengan menggunakan right outer join.
Berikut Query-nya :
Hasil :
Penjelasan :
pernyataan sql diatas digunakan untuk menampilkan no ijazah alumni
yang bekerja sebagai 'PNS'.dengan menggunakan pendekatan right outer
join dengan menggabungkan dua tabel yaitu tabel alumni dan tabel jenis
pekerjaan.
d. Gabungkan tabel jenjang pendidikan dan institusi pendidikan dengan
menggunakan cross join.
Berikut Query-nya :
Hasil :
Penjelasan :
pernyataan sql diatas digunakan untuk menggabungakan dua tabel yaitu
tabel jenjang pendidikan dan tabel institusi pendidikan dengan
menggunakan cross join.tabel jenjang pendidikan dan tabel institusi
pendidikan merupakan dua himpunan maka cros join nya sama seperti
pada hasil output diatas.
e. Tampilkan gabungan data alumni serta jenjang_pendidikan dengan
menggunakan metode Full Outer Join.
Berikut Query-nya :
Hasil :
Penjelasan :
pernyataan sql diatas menggunakan full join. dengan menggabungkan dua
tabel yaitu tabel alumni dan tabel jenjang pendidikan yaitu yang pertama
menampilkan null pada tabel jenjang pendidikan. dan yang kedua
menampilkan null pada pada tabel alumni.
3. SUBQUERY
a. Dapatkan nama, jenis kelamin dan alamat siswa yang tahun angkatannya
2011.
Berikut Query-nya :
Hasil :
Penjelasan :
Sub-Query di atas menggunakan Scalar Sub-Query atau Sub-Query baris
tunggal yang hanya dapat mengembalikan hasil satu baris data. Subquery
baris tunggal dapat menggunakan operator baris tunggal =, >,>=, <, <=,
atau <>, dan pada sub-query diatas saya menggunakan operator "=".
b. Dapatkan data siswa dimana jumlah siswa pada kelasnya lebih dari atau
sama dengan 30 siswa.
Berikut Query-nya :
Hasil :
Penjelasan :
Sub-Query di atas menggunakan Multiple-Column Sub-Query atau Sub-
Query kolom ganda yang dapat mengembalikan lebih dari satu baris dan
satu kolom data. Subquery kolom ganda dapat menggunakan operator
komparasi IN, ANY /SOME, atau ALL, dan pada sub-query di atas saya
menggunakan operator "IN".
4. VIEW
a. Definisikan view untuk mendapatkan alumni angkatan yang bukan
angkatan 2015.
Berikut Query-nya :
Hasil :
Penjelasan :
Perintah sql ini digunakan untuk menampilkan seluruh data pada table
alumni dengan persyaratan Angakatan tidak sama dengan 2015 dan
dimasukkan pada view. View mengandung data dari tabel yang
direpresentasikannya yaitu table alumni.
b. Definisikan view bersarang untuk mendapatkan jenis pekerjaan yang
golongan rentang gajinya lebih dari 1, dan kemudian diurutkan
berdasarkan golongan rentang gaji.
Berikut Query-nya :
Hasil :
Penjelasan :
Perintah sql ini implementasi dari view bersarang. Awalnya membuat view
jp yang mempresentasikan data dari table jenis_pekerjaan. Kemudian
membuat view yang kedua yaitu view bayar1 dengan mempresentasikan
view jp. Pada view jp diberi persyaratan Gol_Rentang_Gaji bukan 1.
Kemudian diurutkan berdasarkan Gol_Rentang_Gaji. Kemudian
keluarannya merupakan table jenis_pekerjaan dengan menghilangkan
Gol_rentang_gaji selain 1 dan kemudain diurutkan.
5. TRIGGER
a. Buat tabel log_alumni dengan field operasi dan waktudengan
mendefinisikan trigger di tabel alumni untuk merekam operasi INSERT,
UPDATE, dan DELETE. Berikut Query-nya :
Penjelasan :
Pembuatan tabel log_alumni diatas digunakan untuk mendefinisikan
trigger dengan field operasi dan waktu. Ada 3 operasi dalam trigger ini
yaitu INSERT, UPDATE, dan DELETE. Waktu operasi dan jenis
operasinya akan tersimpan sebagai bukti transaksi di tabel log_alumni.
Disini fungsi tambahan yang digunakan adalah NOW( ) untuk
menampilkan waktu eksekusi.
b. Buat pernyataan trigger yang mendefinisikan untuk menambah jumlah
siswa sesuai dengan penambahan yang dilakukan!
Berikut langkah-langkahnya :
Hasil :
Penjelasan :
Pernyataan diatas digunakan untuk mendefinisikan trigger dengan operasi
INSERT untuk menambahkan data siswa dan dengan begitu secara
otomatis jumlah siswa yang ada pada tabel kelas akan bertambah jumlah
siswanya.
6. STORED PROCEDURE
a. Pemanggilan atau menampilkan data strored procedure yang memiliki
parameter, data alumni yang, melanjutkan kejenjang_pendidikan pada
"tahun_lulus" 2015 ?
Berikut Query-nya :
Hasil :
Penjelasan :
Perintah SQL pada stored procedure di atas menggunakan parameter IN
dengan dua argument, data diambil dari tabel jenjang_pendidikan dimana
penampilan tahun lulus pada tahun 2015.
b. Tampilkan data strored procedure yang memiliki parameter OUT, data
alumni yang bekerja pada Golongan 2
Berikut Query-nya :
Hasil :
Penjelasan :
Perintah SQL pada stored procedure di atas menggunakan parameter OUT
analog dengan passing-by-reference. Pada parameter OUT ini pada tabel
gol_rentang_gaji, menampilkan data jumlah golongan gaji yang berada
pada golongan 2 dari jenis_pekerjaan nya.
7. TRANSACTION
a. Tambahkan data pada tabel jurusan dengan menggunakan insert pada
metode transaction kemudian data tersebut di ROLLBACK.
Berikut langkah-langkahnya :
Hasil :
Penjelasan :
Pernyataan diatas digunakan untuk mendefinisikan proses transaksi
dengan menggunakan operasi INSERT. Kemudian setelah di INSERT
datanya, maka data pada tabel jurusan akan bertambah dan akan dip roses
ROLLBACK, dimana ROLLBACK berfungsi menggugurkan semua
perintah yang dilakukan sebelumnya. Maka data tersebut akan kembali ke
tampilan awal seperti sebelumnya.
b. Tampilkan nama, jenis kelamin, tempat tanggal lahir, kode kelas, kode
jurusan dan nama kajur pada siswa yang nama kajurnya ‘Sulastri’!
gunakan metode stored procedure dan transaction!
Berikut langkah-langkahnya :
Hasil :
Penjelasan :
Pernyataan diatas digunakan untuk mendefinisikan proses transaksi
dengan menggunakan metode stored procedure. Dalam stored procedure
ini terdapat deklarasi parameter. Jadi, saat melakukan pemanggilan
procedure tersebut harus disertai dengan parameter karena parameter
tesebut merupakan acuan menjalankan proses stored perusahaan.
F. KESIMPULAN
1. Dalam pembuatan tugas akhir ini kelompok kami dapat
mengimplementasikan materi matakuliah basis data yang dipelajari dan
digunakan untuk membantu alumni sekolah SMK Tunas Bangsa dan
sebagai informasi sekolah SMK Tunas Bangsa.
2. Setelah membuat Tugas Akhir basis data bermanfaat agar mengetahui data
alumni sekolah SMK Tunas Bangsa yang digunakan menghubungi alumni
yang lainnya.
3. basis data adalah kumpulan data yang disimpan secara sistematis di dalam
komputer dan dapat diolah atau dimanipulasi menggunakan perangkat
lunak (program aplikasi) untuk menghasilkan informasi adapun pada tugas
kami yaitu alumni sekolah.
4. ada 3 kelompok pada sql, yaitu : DDL, DML dan DCL. DDL digunakan
mendefinisikan atribut basis data, table, atribut(kolom), batasan-batasan
terhadap suatu atribut, serta hubungan antar tabel. Kemudian DML
digunakan untuk memanipuladi data yang ada di dalam basis data.
Kemudian DCL adalah untuk melakukan pengontrolan data dan server
data base
5. Relationship adalah suatu hubungan antara beberapa entitas. Gambaran
relationship digambarkan pada ERD untuk memodelkan struktur data dan
hubungan antar data, untuk menggambarkannya digunakan beberapa
notasi dan symbol. Kemudian Normalisasi dilakukan sebagai uji coba pada
suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah
baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi
pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam
relasi tersebut.
6. Join dapat didefinisikan sebagai kombinasi record dari dua atau lebih tabel
di dalam basis data relasional dan menghasilkan sebuah tabel (temporary)
baru—yang disebut sebagai joined table.
7. Subquery adalah perintah SELECT yang berada di dalam perintah SQL
lain. Ada Kata kunci EXIST dan NOT EXIST dirancang hanya untuk
digunakan di subquery. Kata kunci-kata kunci ini menghasilkan nilai
TRUE atau FALSE.
8. Stored Procedure adalah sebuah kelompok kode SQL yang di simpan di
katalog database dan dapat di panggil kemudian oleh program, trigger atau
bahkan stored procedure.
9. trigger merupakan kode prosedural yang akan secara otomatis dieksekusi
akibat dipicu oleh seuah event / kejadian pada suatu Tabel.
10. View dapat didefinisikan sebagai tabel maya (virtual) atau logikal yang
terdiri dari himpunan hasil query.
Daftar Pustaka
Tim Asisten Dosen, 2016. Modul 5 Subquery dan View. Basis Data. Universitas
Negeri Malang : Malang
Tim Asisten Dosen, 2016. Modul 8 Transaction. Basis Data. Universitas Negeri
Malang : Malang
Tim Asisten Dosen. 2016. Modul 3 Fungsi Agregate. Basis Data. Universitas
Negeri Malang : Malang.
Tim Asisten Dosen. 2016. Modul 4 Join dan Union. Basis Data. Universitas
Negeri Malang : Malang.
Tim Asisten Dosen. 2016. Modul 6 Trigger. Basis Data. Universitas Negeri
Malang : Malang.
Tim Asisten Dosen. 2016. Modul 7 Stored Procedure. Basis Data. Universitas
Negeri Malang : Malang.