Академический Документы
Профессиональный Документы
Культура Документы
BASIS DATA
Oleh :
Ibnu Zidni Ilman A710160069
NIM : A710160069
Kelas : D
Dosen Pengampu,
Laporan praktikum Basis Data ini masih jauh dari sempurna. Oleh karena itu
saya mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan
Laporan Basis Data ini semoga Laporan ini memberikan informasi dan bermanfaat
untuk pengembangan ilmu pengetahuan bagi kita semua.
Jadi Basis data terdistribusi (distributed database) adalah suatu basis data
yang berada di bawah kendali sistem manajemen basis data (DBMS) terpusat
dengan peranti penyimpanan (storage devices) yang terpisah-pisah satu dari yang
lainnya. Tempat penyimpanan ini dapat berada di satu lokasi yang secara fisik
berdekatan (misal: dalam satu bangunan) atau terpisah oleh jarak yang jauh dan
terhubung melalui jaringan internet. Penggunaan basis data terdistribusi dapat
dilakukan di server internet, intranet atau ekstranet kantor, atau di jaringan
perusahaan.
Untuk menjaga agar basis data yang terdistribusi tetap up-to-date, ada dua
proses untuk menjaganya, yakni replikasi dan duplikasi. Dalam replikasi, digunakan
suatu perangkat lunak untuk mencari — atau lebih tepatnya melacak — perubahan
yang terjadi di satu basis data. Setelah perubahan dalam satu basis data
teridentifikasi dan diketahui, baru kemudian dilakukan perubahan agar semua basis
data sama satu dengan yang lainnya. Proses replikasi memakan waktu yang lama
dan membebani komputer karena kompleksitas prosesnya. Sementara itu, proses
duplikasi tidak sama dan tidak sekompleks replikasi. Dalam proses ini, satu basis
data dijadikan master, kemudian diperbanyak menjadi sejumlah duplikat. Selama
proses duplikasi berlangsung, perubahan hanya boleh dilakukan pada basis data
master agar data lokal tidak tertimpa.
Pengguna (user) dari sebuah basis data terdistribusi dapat mengakses basis
data melalui dua jenis aplikasi, yakni
aplikasi lokal: aplikasi yang tidak memerlukan data dari tempat lain
aplikasi global: aplikasi dengan kebutuhan akan data dari tempat lain
A. Tujuan Praktikum
1. Siswa mampu merancang basis data dengan tahapannya.
2. Siswa memahami arti entitas, atribut dan relasi.
3. Siswa mampu membuktikan integritas data dengan tabel yang saling terhubung
(relasi).
4. Siswa mampu menggambarkan hasil rancangan basis data ke dalam diagram E-
R menggunakan DBDesigner.
B. Hasil Dan Analisa
1.1 Kegiatan 1: Menggambar ERD ( Entity Relationship Diagram ) dengan
menggunakan DB Designer
Pada kegiatan ini membuat tabel basis data yang memiliki relasi antara satu
table dengan table lainnya. Alur dari table ini adalah nasabah (memiliki : nama,
alamat dan no.rek) yang memiliki rekening (no.rek, nasabah id nasabah, cabang
bank kode cabang, cabang bank kode bank, pin dan saldo) dapat melakukan
transaksi asal memiliki beberapa prasyarat(no.transaksi, id nasabah, rek no rek, rek
id rek, jenis transaksi, tanggal dan jumlah) dengan bantuan bank(kode cabang, nama
cabang, dan alamat cabang). Banyak nasabah dapat memiliki banyak rekening. Satu
nasabah dapat melakukan banyak transaksi. Satu nasabah dapat melakukan
traknsaksi melalui banyak cabang. Menjaga agar basis data di bank yang
terdistribusi tetap up-to-date, ada dua proses untuk menjaganya, yakni replikasi dan
duplikasi. Dalam replikasi, digunakan suatu perangkat lunak untuk mencari — atau
lebih tepatnya melacak — perubahan yang terjadi di satu basis data. Setelah
perubahan dalam satu basis data teridentifikasi dan diketahui, baru kemudian
dilakukan perubahan agar semua basis data sama satu dengan yang lainnya. Proses
replikasi memakan waktu yang lama dan membebani komputer karena
kompleksitas prosesnya. Sementara itu, proses duplikasi tidak sama dan tidak
sekompleks replikasi. Dalam proses ini, satu basis data dijadikan master, kemudian
diperbanyak menjadi sejumlah duplikat. Selama proses duplikasi berlangsung,
perubahan hanya boleh dilakukan pada basis data master agar data lokal tidak
tertimpa.
1.2 Tugas
Buatlah rancangan sebuah database untuk menangani data pengajaran yang
dimulai dari ERD umum dengan menggunakan symbol entitas, atribut dan
relasi, kemudian gambarkan dengan lebih detil dengan DBDesigner. Data-
data yang akan ditanganinya adalah: data pribadi mengenai siswa, data
pribadi mengenai guru, data mata pelajaran, data ruang kelas dan data
jadwal pengajaran. Siswa memperoleh lebih dari satu mata pelajaran, dan
satu mapel diambil oleh lebih dari satu orang siswa. Buatlah ER Diagram
manual untuk kasus tersebut dari tahap 1 sampai tahap 4.
Analisa :
1. Menentukan entitas:
siswa: menyimpan semua data pribadi semua siswa.
guru: menyimpan semua data pribadi semau guru.
mata_pelajaran: menyimpan informasi tentang semua mata pelajaran
yang ada.
ruang_kelas: menyimpan informasi tentang semua ruang kelas yang
digunakan.
Jadwal: menyimpan informasi tentang jadwal yang akan digunakan guru
dan siswa
2. Menentukan attributes:
siswa:
nama_siswa: nama lengkap siswa (varchar(50))
NIM: nomor induk siswa (char(10)) PK
alamat: alamat tempat tinggal siswa (varchar(255))
tempat_lahir: kota tempat lahir siswa (varchar(20))
tgl_lahir: tanggal, bulan dan tahun lahir siswa (varchar(20))
guru:
nama_guru: nama lengkap guru (varchar(50))
NIK: nomor induk kepegawaian guru (varchar(20)) PK
alamat: alamat tempat tinggal guru (varchar(255))
no_HP: nomor handphone guru (integer)
mata_pelajaran:
nama_mapel: nama mata pelajaran (varchar(40))
kode_mapel: kode mata pelajaran (varchar(15)) PK
jumlah_jam: jumlah jam mata pelajaran (integer)
kelas: kelas dan jam pada mata pelajaran (varchar(2))
jadwal: jadwal pelajaran mata pelajaran meliputi hari dan jam
(varchar(20))
ruang_kelas:
id_kelas: identitas kelas seperti gedung, lantai dan nomor
ruang (char(5)) PK
kapasitas: jumlah kursi atau kapasitas maksimal yang dapat
ditampung (integer)
3. Menetukan relationship antar entitas:
D. Daftar Pustaka
1. http://www.kajianpustaka.com/2012/10/teori-basis-data-database.html
2. http://agustinfilologusdatabase.blogspot.com/2012/02/keuntungan-dan-
manfaat-basis-data.html
3. http://nurmanto.com/komponen-sistem-basis-data/
4. http://ipanripai.com/materi/istilah-istilah-dalam-basis-data
5. http://nurmanto.com/model-model-basis-data/
6. http://expresiaku.wordpress.com/category/ilmu-komputer/analisa-dan-
perancangan-basis-data/
Column − berarti data elemen, adalah suatu struktur yang memegang
datadari satu tipe; sebagai contoh, tanggal pengiriman.
Row − baris adalah struktur pengelompokan data terkait; sebagai contoh,
data untuk pelanggan. Hal ini juga dikenal sebagai tupel, catatan atau
catatan.
Redundansy − istilah ini merujuk kepada menyimpan data dua kali untuk
mempercepat sistem.
Primary Key − ini merujuk kepada yang unik, mengidentifikasi nilai. Nilai
ini tidak dapat muncul dua kali dalam tabel, dan ada hanya satu baris yang
terkait dengan itu.
Foreign Key − berfungsi sebagai penghubung antara dua tabel.
Compound Key − komposit kunci, adalah kunci yang merujuk kepada
beberapa kolom. Ia merujuk kepada beberapa kolom karena sebuah kolom
yang kurang kualitas yang unik.
Index − indeks hampir identik dengan indeks dari buku.
Referential Integrity − istilah ini merujuk kepada memastikan nilai-nilai
kunci semua asing menunjukkan baris yang sudah ada.
*RDBMS adalah sebuah program komputer (atau secara lebih tipikal adalah
seperangkat program komputer) yang dirancang untuk mengatur/memanajemen
sebuah basis data sebagai sekumpulan data yang disimpan secara terstruktur, dan
melakukan operasi-operasi atas data atas permintaan penggunanya. Contoh
penggunaan DBMS ada banyak sekali dan dalam berbagai bidang kerja, misalnya
akuntansi, manajemen sumber daya manusia
MariaDB adalah sebuah garpu populer MySQL yang dibuat oleh pengembang asli
MySQL. Ini tumbuh dari kekhawatiran yang terkait dengan MySQL akuisisi oleh
Oracle. Menawarkan dukungan untuk tugas-tugas kecil pengolahan data dan
kebutuhan perusahaan. Ini bertujuan untuk menjadi pengganti MySQL memerlukan
hanya uninstall sederhana MySQL dan menginstal dari MariaDB. MariaDB
menawarkan fitur yang sama MySQL dan banyak lagi.
E. Tujuan Praktikum
5. Siswa mampu merancang basis data dengan tahapannya.
6. Siswa memahami arti entitas, atribut dan relasi.
7. Siswa mampu membuktikan integritas data dengan tabel yang saling terhubung
(relasi).
8. Siswa mampu menggambarkan hasil rancangan basis data ke dalam diagram E-
R menggunakan DBDesigner
F. Hasil Dan Analisa
1.3 Kegiatan 1: Cara Instalasi XAMP
Langkah 1: Unduh XAMPP
Download XAMPP melalui website Apache Friends berikut ini.
XAMPP berfungsi sebagai server local yang dapat berdiri sendiri (localhost), yang
terdiri dari program Apache HTTP Server, MySQL database dan penerjemah bahasa
yang ditulis dengan PHP dan Perl. Software aplikasi ini tersedia dalam GNU
(General Public Lisence) dan bebas. Jadi pada aplikasi ini kita dapat membangun
website dinamis dengan PHP secara offline karena XAMPP memiliki Apache sebagai
server HTTP local. Kita juga dapat membuat database dengan adanya MariaDB
sebagai DBMS menggunakan phpMyAdmin. PhpMyAdmin merupakan
perangkat lunak yang ditulis dengan menggunakan PHP untuk
menangani administrasi dari MariaDB melalui WWW (World Wide Web).
1.2 Tugas
1. Tulis semua perintah – perintah SQL percobaan di bawah ini beserta outputnya!
CURRENT_DATE;
6 MariaDB>SELECT
USER ( )
\C
7 MariaDB>SELECT USER ( )
Apa yang terjadi ? Kemudian ketikkan :
;
8 MariaDB>SHOW DATABASE;
9 MariaDB> USE TEST
10 MariaDB>USE COBA
Apa yang terjadi ?
11 MariaDB>CREATE DATABASE coba;
MariaDB>usecoba; MariaDB>show tables;
12 MariaDB>CREATE TABLE buku
(kodebuku CHAR (5) PRIMARY KEY NOT NULL, ->judul
VARCHAR (25) NOT NULL, penerbit VARCHAR (15), kategori
VARCHAR (15));
13 MariaDB>desc buku;
HASIL
artita
Jawab:
Tidak, selama belum di beri tanda selesai meberi perintah, titik koma (;). Maka kita bisa
melanjutkan mengetik perintah tidak dalam satu baris.
7. Bagaimana kaidah/ cara untuk mengakhiri atau membatalkan suatu perintah?
Jawab:
Kita bisa mengetikan perintah cancel, yaitu: \c
8. Berdasarkan percobaan di atas , sebelum membuat tabel, langkah – langkah apa saja yang
sebaiknya kita lakukan?
Jawab:
-Buat database terlebih dahulu, dengan perintah:
>CREATE DATABASE namadatabase;
- Masuk ke dalam database, dengan perintah:
>Use namadatabase;
- Lalu baru buat Tabel
1. Create
IF NOT EXISTS : Akan terjadi error bila database sudah ada dan tidak
dituliskan perintah IF NOT EXISTS.
Catatan :
CREATE TABLE
[ ENGINE = MyISAM|InnoDB|HEAP ]
Contoh :
P_Id int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255));
Primary Key
Membuat sebuah tabel baru “Person” yang memiliki lima buah
field/kolom yaitu P_Id, LastName, FirstName, Address, dan City. P_Id sebagai
primary key.
FirstName varchar(255),
Address varchar(255),
City varchar(255),
contoh 1 :
sintaksnya :
CREATE TABLE barang (
Kode_Barang char(6)
Nama_Barang varchar2(25),
Satuan_Barang varchar(20),
Stok_Barang number(4),
Constraint pk_barang primary key(Kode_Barang)
);
2. Alter
Syntax:
ALTER TABLE table_reference DROP [COLUMN] column_reference
Digunakan untuk mengedit tabel yang telah ada. dalam pengeditan tabel ini
ada beberapa kemungkinan, diantaranya adalah mengubah dalam artian
memodifikasi salah satu atau beberapa field pada tabel tersebut atau dalam artian
menambah satu atau beberapa field pada tabel tersebut.
contoh 2 :
mengacu pada contoh 1, ubah tipe data Satuan_Barang menjadi char(5)
sintaksnya :
ALTER TABLE barang
modify Satuan_Barang char(5);
3. Drop
Syntax:
Terkadang anda diharuskan menghapus sebuah tabel yang telah anda buat,
hal ini mungkin disebabkan karena tabel yang anda buat salah, atau tidak
diperlukan. untuk itu digunakan perintah Drop.
contoh 3 :
hapus tabel 'barang' yang telah dibuat pada contoh 1
sintaksnya :
DROP TABLE barang
Keterangan :
Perintah drop tabel ini akan berhasil jika tabel yang dihapus adalah tabel
yang tidak ada relasinya (tabel yang berdiri sendiri). juga akan berhasil jika
yang anda hapus adalah tabel relasi (tabel yang mengacu pada tabel lain).
4. CREATE INDEX
Syntax:
5. DROP INDEX
Syntax:
1. TUJUAN
1. Membuat database dan tabel dengan menerapkan Data Definition Language
(DDL).
2. Mampu memodifikasikan tabel.
2. ANALISA HASIL
3.1. Buat Buatlah sebuah database dengan nama db_universitas atau
db_nama_mhs
3.2. Buatlah beberapa tabel dalam database tersebut sesuai dengan kriteria :
Gambar 3.1
Gambar 3.2
Gambar 3.3
Analisis :
Pada kegiatan ini menjelaskan tentang cara membuat database melalui
command prompt. Sebelum melakukannya, pertama-tama aktifkan XAMPP
nya terlebih dahulu agar bisa terkoneksi antara sintaks di command prompt
dengan database yang ingin dibuat. Jika tidak dikoneksi dengan XAMPP, maka
tidak akan terkoneksi. Di kegiatan ini, akan membuat sebuah database yang
isinya tentang tabel mahasiswa, tabel prodi, tabel mata kuliah, tabel ruangan,
tabel dosen, tabel mengajar, dan tabel nilai. Dan nantinya akan muncul dengan
sendirinya di localhost/phpmyadmin. Membuat database tersebut tidak perlu
menggunakan manual.
3. TUGAS
1. Tambahkan sebuah kolom agama varchar (10) pada tabel mahasiswa sebagai
kolom terakhir.
Jawab :
2. Tambahkan kolom rid char (10) diawal kolom (sebagai kolom pertama) pada
table ruang.
Jawab :
Gambar 3.5 menambahkan kolom rid
3. Sisipkan sebuah kolom dengan nama grade char pada table nilai setelah kolom
inisial.
Jawab :
Analisis :
Pada output yang dihasilkan adalah sebuah ERD Universitas dengan
menggunakan DB Designer. Pada nomor 2 output yang dihasilkan perintah
untuk menambahkan sebuah kolom agama varchar (10) pada tabel
mahasiswa yang terletak di kolom terakhir menggunakan sintaks alter table
mahasiswa add agama varchar (10). Pada nomor 3 output yang dihasilkan
perintah untuk menambahkan kolom rid char (10) diawal kolom (sebagai
kolom pertama) pada table ruang menggunakan sintaks alter table ruang add
rid char (10) first.
Pada nomor 4 output yang dihasilkan perintah untuk menyisipkan
sebuah kolom dengan nama grade char pada table nilai setelah kolom inisial
menggunakan sintaks alter table nilai add grade char after inisial. Pada nomor
5 output yang dihasilkan untuk menjadikan nim sebagai primary key pada
table mahasiswa.
4. KESIMPULAN
6. Daftar Pustaka
http://muhammadmahdiannoor.blogspot.com/2014/04/normal-0-false-
false-false-false-en-us.html
(Diakses pada 21 Oktober 2018).
http://arliansyahazhary.blogspot.com/2015/06/mysql-database-
percobaan-1_61.html
(Diakses pada 21 Oktober 2018).
http://sembilandomba.blogspot.com/2014/04/tugas-praktikum-1.html
(Diakses pada 21 Oktober 2018).
http://www.itfreelanceindo.com/readnews/150/Pengertian-Database,-
DBMS,-dan-RDBMS.html
((Diakses pada 22 Oktober 2018).
UPDATE - update data yang ada dalam tabel
DELETE - menghapus semua catatan dari meja, ruang untuk catatan tetap
5. TUJUAN
Mahasiswa dapat menerapkan perintah-perintah SQL seperti INSERT,
DELETE, UPDATE, dan SELECT untuk memanipulasi data dalam basis data.
6. ANALISA HASIL
3.3. Kegiatan Praktikum
1. Aktifkan database tersebut
2. Kemudian, isikan data-data (record) ke dalam tabel mahasiswa, sebagai
berikut :
INSERT INTO mahasisiwa
VALUES
('13120001', 'Arini Laksmi', 'L', 'Jl. Jenderal Sudirman No.12', 'Klaten',
'SMA 1 Klaten', '081574568921', 'arini', 'arini', '18', 'S1 PTI'),
('13120002', 'ranita rendindya', 'L', 'jl. letnan jendral sutoyo', 'tegal',
'sma 1 tegal', '081574568346', 'ranita', 'ranita', '18', 's1 PTE'),
('13120003', 'wihamuko wening', 'P', 'jl. jendral sudirman no. 38',
'sragen', 'sma 1 sragen', '081874568000', 'mbuko', 'mbuko', '18', 'S1
IF'),
('13120004', 'doni lenggono', 'L', 'jl. jendral pahlawan no.4', 'brebes',
'smk n 1 adiwerna', '081674568900', 'doni', 'doni', '19', 'S1 TE'),
('13120005', 'vinalis purti', 'P', 'jl. buntu no.1', 'pekalongan', 'sma 3
pekalongan', '088874568945', 'vina', 'vina', '17', 'S1 IF'),
('13120006', 'Jayus Jayusman', 'L', 'Jl. Kemerdekaan No.15',
'Pemalang', 'SMA 1 Pemalang', '081257456892', 'jayus', 'jayus', '18',
'S1 IF'),
('13120007', 'Galuh Pramesti', 'P', 'Jl. Mawar Putih', 'Brebes', 'SMA 2
Brebes', '081273458921', 'galuh', 'galuh', '18', 'S1 PTE');
3. Setelah itu, isikan data-data (record) ke dalam tabel dosen, sebagai berikut
:
INSERT INTO dosen
VALUES
('1', 'DS', 'Didik Sutomo', 'T', 'L', 'Islam', 'didik', 'didik', 'Jl. Sunan
Bonang RT 01/03 Banjaranyar', 'Brebes', 'didiksutomo@ums.ac.id',
'085743622236', '5000000'),
('2', 'TK', 'Tan Kinira', 'T', 'P', 'Islam', 'tank', 'tank', 'Jl. Antah berantah
RT 001/005 Gonilan', 'Solo', 'tank@ums.ac.id', '085875997546',
'5000000'),
('3', 'TW', 'Tenia Wahyuningrum', 'T', 'P', 'Islam', 'tenia', 'tenia', 'Jl.
Ledug RT 01/03 Banyumas', 'Purwokerto', 'tenia@ums.ac.id',
'085746795432', '5500000'),
('4', 'DJ', 'Dwi Januarita AK', 'T', 'P', 'Islam', 'ita', 'ita', 'Jl. Sunan Kudus
RT 01/03 Jekulo', 'Kudus', 'ita@ums.ac.id', '085852829809',
'4000000'),
('5', 'IS', 'Irwan Susanto', 'T', 'L', 'Islam', 'irwan', 'irwan', 'Jl. Tanjung RT
01/03 Masaran', 'Sragen', 'irwan@ums.ac.id', '081327593529',
'5500000'),
('6', 'SL', 'Sarlan', 'LB', 'L', 'Islam', 'sarlan', 'sarlan', 'Jl. Jend. Sudirman
RT 01/03 Banyumas', 'Purwokerto', 'sarlan@ums.ac.id',
'081634462738', '3500000'),
('7', 'DN', 'Don Fernando', 'LB', 'L', 'Islam', 'don', 'don', 'Jl. Tanjung RT
04/07 Sleman', 'Yogyakarta', 'don@ums.ac.id', '081365047309',
'4500000');
7. Selanjutnya, menampilkan satu baris data yang telah diubah tadi dengan
nama Anggraini saja dengan menggunakan perintah SELECT * FROM
MAHASISWA where nama_mhs=’anggraini’; maka hasilnya seperti pada
gambar 4.4.
Gambar 4.7 menampilkan usia mahasiswa lebih dari atau sama dengan
17 tahun
Analisis :
7. TUGAS
6. Tulis semua perintah SQL percobaan di atas dan beserta outputnya!
Jawab :
Menampilkan semua isi record pada tabel mahasiswa dengan
menggunakan perintah SELECT * FROM Mahasiswa; maka yang
terjadi seperti pada gambar 4.11.
Menampilkan satu baris data yang telah diubah tadi dengan nama
Anggraini saja dengan menggunakan perintah SELECT * FROM
MAHASISWA where nama_mhs=’anggraini’; maka hasilnya seperti
pada gambar 4.14.
Gambar 4.17 menampilkan usia mahasiswa lebih dari atau sama dengan
17 tahun
Analisis :
8. KESIMPULAN
1. Tanda *
digunakan untuk memilih semua isi table. Contoh sintak :
select * from namatabel
2. Fungsi WHERE
berfungsi untuk menentukan suatu pilihan atau kondisi tertentu. Contoh
sintak :
select * from namatabel where namakolom = “kondisi”
3. Fungsi DISTINC
digunakan untuk menghilangakan nilai ganda pada suatu kolom atau table.
Contoh sintak :
select distinct namakolom from namatabel
4. Operator AND
digunakan untuk memilih nilai yang memiliki kondisi sama antara kondisi1
dan kondisi2. Contoh sintak :
5. Operator OR
digunakan untuk memilih suatu tabel atau kolom dan menampilkan nilai jika
salah satu kondisi dari kondisi yang di tentukan memenuhi. Contoh sintak :
select * from namatabel where kondisi1=’..’ OR kondisi2 = ‘…’
6. Fungsi NOT
di gunakan untuk memilih suatu nilai pada tabel atau kolom yang tidak sama
dengan kondisi yang telah di tentukan. Contoh sintak :
select * from namatabel where namakolom not = ‘kondisi’
7. Fungsi BETWEEN
fungsi between digunakan untuk memilih nilai di antara kondisi yang di
tentukan. Contoh sintak :
select * from namatabel where ‘kondisi’ between ‘kondisi’ –
‘kondisi’
A. Tujuan
Setelah menyelesaikan modul ini, diharapkan mahasiswa dapat :
a. Mencari dan menampilkan data dengan perintah SELECT
b. Mengkombinasikan perintah SELECT dengan perintah lainnya menggunakan
klausa WHERE untuk memanipulasi data dengan syarat atau kondisi tertentu,
SORT BY, DISTINCT, BETWEEN, AND & OR.
B. Analisa Hasil
Artita Rose W
Artita Rose W
Artita Rose W
Artita Rose W
Artita Rose W
5. Berasal dari kota mana saja mahasiswa yang ada? (hilangkan data kota yang
duplikasi)
[Artita Rose W]
Ingin menghilangkan data yang duplikat atau dobel dengan peritah , distinct.
Pada hasil terlihat data yang duplikasi yaitu Tegal, Sragen, Klaten, Brebes,
Pekalongan.
6. Tampilkan daftar nama mahasiswa, kode prodi dan umur yang usianya tidak
diantara 18 dan 19
Artita Rose W
Pada gambar 5.7 merupakan kegiatan untuk menampilkan kode prodi dan
umur mahasiswa yang usianya selain 18 dan 19 dengan cara menggunakan perintah
: Select nama_mhs, kode_prodi, umur from mahasiswa where umur not between 18
and 19; lalu enter.
7. Tampilkan nama dosen yang jumlah gajinya antara 4.000.000 sampai
5.000.000
Artita Rose W
Pada gambar 5.8 merupakan kegiatan untuk menampilkan tabel dosen yang
jumlah gajinya antara 4000000 sampai 5000000 dengan cara menggunakan perintah
: Select nama_dosen, salary from dosen where salary between 4000000 and 5000000;
lalu enter.
8. Cari nama mahasiswa yang tempat tinggalnya dimulai dengan “S”.
Artita Rose W
Artita Rose W
Artita Rose W
Pada gambar 5.12 merupakan kegiatan untuk menampilkan tabel dosen ysng
berisi jumlah salary dan tunjangan dengan cara menggunakan perintah : Select nik,
nama_dosen, salary *0.15 as “tunjangan”, salary *1.5 as “gajibersih” from dosen ; lalu
enter.
Penyelesaian Tugas
1. Jelaskan fungsi subquery EXISTS dan NOT EXISTS
Tunjukkan dengan simulasi dengan table yang sudah ada.
JAWAB :
EXISTS and NOT EXISTS digunakan dengan subquery dalam klausa WHERE
untuk memeriksa apakah hasil pengembalian subquery adalah TRUE atau FALSE.
Nilai benar atau salah kemudian digunakan untuk membatasi baris dari permintaan
kueri luar. Karena EXISTS dan NOT EXISTS hanya mengembalikan TRUE atau FALSE
dalam subquery, daftar SELECT di subquery tidak perlu mengandung nama kolom
yang sebenarnya. Biasanya menggunakan SELECT * (asterisk) sudah cukup tetapi
Anda dapat menggunakan SELECT column1, column2, ... atau yang lainnya. Itu tidak
ada bedanya.
EXISTS
NOT EXISTS
2. Jelaskan fungsi subquery IN dan NOT IN
Buktikan dengan simulasi dangan table yang sudah ada.
JAWAB :
IN
NOT IN
3. Jelaskan fungsi subquery ANY dan ALL
Lengkapi dengan simulasi table
JAWAB :
Operator ANY dan ALL digunakan dengan klausa WHERE atau HAVING.
Operator Any mengembalikan nilai true jika salah satu nilai subquery memenuhi
ketentuan.
Saran
Jika database pada praktikum sebelumnya masih digunakan di bab
selanjutnya, seharusnya asisten harap menginformasikan sehingga saat
praktikum mahasiswa tidak kebingungan mencari dimana database saat di
lab.
Asisten tidak membuat paham.
Kegiatan paktikum tidak berlangsung serius karena mahasiswa banyak yang
tidak mau praktikum karena tidak ada database di praktikum sebelumnya.
D. Daftar Pustaka
https://dosenit.com/kuliah-it/database/perintah-dasar-sql-paling-lengkap
Diakses pada tanggal 3 Desember 2018.
https://study.com/academy/lesson/structured-query-language-
manipulating-databases-using-sql.html
Diakses pada tanggal 4 Desember 2018.
SELECT* FROM tabel_A UNION ALL SELECT* FROM tabel_B
INTERSECT
EXCEPT
EXCEPT merupakan operator atau perintah yang digunakan untuk memperoleh data hasil
query dari luar irisan data dari 2 (dua) tabel atau lebih dengan ketentuan jumlah, nama dan
tipe data atau kolom dari masing – masing tabel yang akan ditampilkan datanya harus sama
(kebalikan dari INTERSECT) Pada MariaDB tidak terdapat operator EXCEPT akan tetapi
sebagai gantinya dapat menggunakan operator NOT IN seperti yang telah di jelaskan pada
praktikum sebelumnya.
- seperti pada umumnya. Sebagai contoh untuk menghitung salary dosen yang
dinaikkan 20% adalah sebagai berikut :
Hasilnya adalah hasil perhitungan salary yang dinaikkan akan diletakkan pada kolom “Salary
Up”.
FUNGSI AGREGAT
1. COUNT
Merupakan perintah atau fungsi yang digunakan untuk menghitung jumlah baris suatu
kolom (record) pada tabel. Contoh:
Sedangkan untuk menampilkan jumlah dosen yang salarynya di atas rata – rata adalah
sebagai berikut:
2. SUM
Merupakan fungsi yang digunakan untuk menghitung jumlah nilai suatu kolom pada
tabel. Perintah umumnya adalah sebagai berikut:
Sedangkan untuk menampilkan jumlah salary dosen yang salarynya di atas rata – rata
adalah sebagai berikut:
3. AVG
Merupkan fungsi yang digunakan untuk menghitung nilai rata – rata suatu kolom pada
tabel. Perintah umum untuk menghitung rata – rata adalah sebagai berikut:
Sedangkan untuk menampilkan dosen yang salarynya di atas rata – rata adalah
sebagai berikut:
SELECT nama_dosen, salary FROM dosen WHERE salary > @rataratasalary MariaDB
membutuhkan variabel temporary yang didefinisikan dengan @namavariable:=ekspresi
yang kemudian digunakan sebagai pembanding acuan bagi query berikutnya.
4. MIN
Merupakan fungsi untuk menampilkan nilai terkecil dari suatu kolom pada tabel. Syntax
umumnya adalah sebagai berikut:
Sedangkan untuk menampilkan dosen yang salarynya paling kecil adalah sebagai
berikut:
5. MAX
Merupakan fungsi untuk menampilkan nilai terbesar dari suatu kolom pada tabel.
Syntax umumnya adalah sebagai berikut:
A. TUJUAN
- Menerapkan operasi himpunan menggunakan perintah UNION, INTERSECT maupun
EXCEPT pada database untuk memanipulasi data.
Gambar 6.1
Analisis : menampilkan dosen yang penghasilan bersihnya bukan 5.500.000 dan
6.500.000, dimana terdapat 5 dosen yang ada, pada kegiatan pertama ini
menggunakan between karena terdapat dua macam pilihan yaitu 5.500.000 fan
6.500.00
Gambar 6.2
Analisis : menampilkan jumlah baris atau record tabel dosen dengan sitaks select
count (nama_dosen) A ‘Jumlah Baris’ FROM dosen; jumlah baris disini otomatis
akan tampil di outputnya dan akan tampil jumlah baris dosen yaitu 7.
3. Tampilkan/hitung jumlah total penghasilan bersih (salary+tunjangan) di tabel
dosen
Artita Rose W
Gambar 6.3
Analisis : menghitung jumlah total semua penghasilan bersih pada tabel dosen,
dimana penghasilan bersih di dapat dari jumlah salary + tunjangannya, untuk
sintaks dari menghitung ini ada pada gambar 6.3, dan yang terdapat tanda (‘)
otomatis dia akan tampil pada output dan untuk jumlah penghasilan bersih dosen
yaitu 39.600.000.
4. Tampilkan/hitung rata-rata penghasilan bersih(salary+tunjangan) dosen
Artita Rose W
Gambar 6.4
Analisis : menampilkan jumlah rata-rata penghasilan bersih dari dosen dengan
sitaks select @avgsalary:=AVG(salary*1.2) FROm dosen; dengan hasil yang ada
pada gambar diatas.
5. Tampilkan penghasilan bersih terbesar
Artita Rose W
Gambar 6.5
Analisis : menampilkan penghasilan dosen bersih terbesar sama seperti
sebelumnya dimana yang terdapat tanda (‘) merupakan yang akan keluar pada
output programnya, dan karena yang kita cari merupakan penghasilan bersih
terbesar maka menggunakan sintaks max setelah select.
6. Tampilan penghasilan bersih terkecil
Artita Rose W
Gambar 6.6
Analisis :penghasilan dosen bersih terkecil sama seperti sebelumnya dimana yang
terdapat tanda (‘) merupakan yang akan keluar pada output programnya, dan
karena yang kita cari merupakan penghasilan bersih terkecil maka menggunakan
sintaks min setelah select, dan menggunakan kata rata-rata bersih terkecil.
7. Tampilkan daftar penghasilan bersih dosen (salary+tunjangan)
Artita Rose W
Gambar 6.7
Analisis : menampilkan daftar penghasilan bersih dosen, yang mana untuk mencari
penghasilan bersih menggunakan penjumlahan salary + tunjangan sehingga daftar
penghasilan bersih dosen.
8. Tampilkan daftar salary dosen dan dikurangi dengan pajak %15
Artita Rose W
Gambar 6.8
Analisis : menampilkan daftar salary dosen dan dikurangi dengan pajak sebesar
15% atau 0.15 dari penghasilannya, dan dengan sintaks salary * 1.2 + salary * 0.15
9. Tampilkan jumlah dosen yang penghasilan bersihnya (salary+tunjangan) dibawah
rata-rata.
Artita Rose W
Gambar 6.9
Analisis : menampilkan jumlah dosen yang penghasilan bersihnya di bawah rata-
rata dimana kali ini menggunakan sintaks < (kurang dari) karena kita mencari data
yang di bawah rata-rata dan untuk sintaks lengkapnya ada pada gambar diatas.
10. Hitung jumlah penghasilan bersih(salary+tunjangan) yang penghasilan bersihnya
diatas rata-rata penghasilan bersih.
Artita Rose W
Gambar 6.10
Analisis : menampilkan jumlah dosen yang penghasilan bersihnya di bawah rata-
rata dimana kali ini menggunakan sintaks > (lebih dari) karena kita mencari data
yang di bawah rata-rata dan untuk sintaks lengkapnya ada pada gambar diatas.
11. Tampilkan/hitung banyaknya dosen yang penghasilan
bersihnya(salary+tunjangan) di atas rata-rata.
Artita Rose W
Gambar 6.11
Analisis: menampilkan (termasuk sintaks) dalam menghitung banyaknya dosen
yang penghasilan bersihnya di atas penghasilan rata-rata perbedaan pada kegiatan
10 yaitu, bahwa kegiatan 10 jumlah penghasilan bersihnya sedangkan pada
kegiatan 11 ini menampilkan banyaknya dosen yang penghasilan bersihnya di atas
rata-rata dan hasilnya ada 4 orang yang jumlah gajinya di atas rata-rata.
12. Gunakan tabel mahasiswa tampilkan jumlah mahasiswa berdasarkan gender.
Artita Rose W
Gambar 6.12
Analisis: menampilkan tabel mahasiswa dimana menampilkan jumlah mahasiswa
berdasarkan gender laki-laki maupun perempuan untuk sintaks pertama atau atas
merupakan tabel mahasiswa berdasarkan gender laki-laki dan sintaks yang bawah
merupakan tabel mahasiswa berdasarkan gender perempuan.
13. Tampilkan jumlah mahasiswa berdasarkan program studi.
Gambar 6.13
Analisis : menampilkan tabel mahasiswa dengan menghitung jumlah mahasiswa
berdarkan program studinya dimana terdapat tiga program studi maka saya
menampilkan tiga kotak atau output untuk program studi S1 PTI, S1 PTE dan S1 TE.
14. Tampilkan jumlah mahasiswa berdasarkan jenis kelamin dan program studi.
Gambar 6.14
Gambar 6.15
Analisis :menampilkan jumlah mahasiswa berdasarkan jenis kelamin dan program
studi, disini terdapat tiga jurusan atau program studi dan 2 jenis kelamin, maka
untuk menampilkan semuanya harus ada 6 sintaks yang mana terdapat jurusan
satu dan jenis kelamin satu
C. TUGAS
1. Dapatkah fungsi agregat dan aritmatika dikombinasikan dengan alias?
Jawab: bisa, fungsi agregat merupakan fungsi kelompok, fungsi agreat ada
count, sum, avg, max, dan min, sedangkan pada aritmetika juga merupakan
fungsi matematika sederhana seperti agreat ada sum, max, min dan lain-lain
2. Dapatkah fungsi agregat dan aritmatika digunakan untuk menampilkan data
dari dua tabel atau lebih?
Jawab: Bisa,karena fungsi agreat sendiri adalah fungsi standar di dalam SQL.
Fungsi aritmetika yaitu fungsi yang langsung berhubungan dengan manipulasi
aritmetika. Contoh sintaksnya : select cout (dosen.nik), sum (dosen, salary
*1.2), cout (mahasiswa.nim), mahasiswa.nama_mhs from dosen, mahasiswa
D. KESIMPULAN DAN SARAN
- KESIMPULAN
- SARAN
E. DAFTAR PUSTAKA
[1] Yuliana, Irma. (2018). Modul Praktikum Basis Data. Surakarta.
[2] Anonim. (2015). Penggunaan GROUP BY dan HAVING pada SQL.
http://learningrplit.blogspot.com/2015/09/penggunaan-group-by-dan-having-
pada-sql.html
INNER JOIN digunakan untuk menghasilkan baris data dengan
menggabungkan 2 buah table atau lebih, Menggunakan Pasangan Data Yang
Much Pada Masing-Masing Data. Dengan INNER JOIN Tabel Akan Digabungkan 2
Arah Sehingga Tidak Ada Data Yang NULL Disatu Sisi.
RIGHT JOIN digunakan untuk menghasilkan baris data dari tabel kanan
(nama tabel kedua/ Tabel Utama) yang tidak ada pasangan datanya/ Tidak Berelasi
pada tabel kiri (nama tabel pertama).
Atau Right Join memiliki fungsi yang bertolak belakang dengan left join, dimana
right join akan menampilkan data secara keseluruhan pada tabel kedua (kanan),
namun NULL pada tabel pertama (kiri).
Union Terbagi Menjadi 2 Union Join Dan Union All. Union Join Digunakan
Untuk Menghasilkan Baris Data Jika Ada Data Yang Sama Pada Salah Satu Tabel.
Dan digunakan untuk menggabungkan isi dari 2 (dua) tabel atau lebih. Union All
adalah menggabungkan keseluruhan data walaupun data tersebut mempunyai isi
yang sama.
A. Tujuan
Setelah mengikuti praktikum ini, mahasiswa diharapkan mampu :
a) Melakukan pencarian kembali data dan mengelompokkannya.
b) Menampilkan data dengan pencocokan pola atau karakter.
B. Analisa Hasil
1. Tuliskan sintaks SQL sehingga diperoleh hasilnya sebagai berikut
:
Kode_prodi Jumlah
S1 IF 1
SI TE 1
S1 PTE 2
S1 PTI 3
13120001 Arini 87 89
Penyelesaian Tugas
1. Tentukan output dari masing-masing sintaks di atas.
2. Jelaskan perbedaan antara Outer Left Join dengan Natural Left Join, sertakan
bentuk umum dari sintaks keduanya.
JAWAB :
Outer Left Join yaitu penggabungan table dimana data akan ditampilkan
secara keseluruhan pada table pertama (kiri) namun record pada table kedua
(kanan) yang kosong akan ditampilkan dengan inisial.
Natural Left Join yaitu berfungsi untuk menggabungkan table sisi kiri apabila
memiliki beberapa kondisi dan kasus yang komplek.
3. Jelaskan perbedaan antara Outer Right Join dengan Natural Right Join, sertakan
bentuk umunya.
JAWAB :
Outer Right Join yaitu penggabungan table dimana data akan ditampilkan
secara keseluruhan pada table pertama (kanan) namun record pada table kedua
(kanan) yang kosong akan ditampilkan dengan isi null.
Natural Right Join berfungsi untuk menggabungkan table sisi kanan apabila
memiliki beberapa kondisi dan kasus yang komplek.
Saran
Kegiatan praktikum selalu tidak serius, asisten kurang tegas.
Selalu saja hanya datang mengetik dan lalu pulang. Jadi di lab hanya mengetik
database tanpa arahan asisten yang ada di lab.
D. Daftar Pustaka
https://slideplayer.info/slide/3745677/
Diakses 21 Desember 2018.
http://achmatim.net/2012/04/11/fungsi-group-by-dan-having-untuk-
pengelompokkan-data-di-mysql/
Diakses 21 Desember 2018.
https://tiochoirul34.wordpress.com/2018/08/11/penggabungan-data/
Ketika sering menggunakan JOIN pada bagian query.
INDEX
UNIQUE
PRIMARY KEY.
FULLTEXT index
Pada rekomendasi ada adalah ketika index akan membantu dan berfikir
tentang apa informasi akan disajikan. Jika anda memerlukan untuk melihat daftar
dari invoices berdasarkan tanggal atau total jumlah order, maka INDEX akan
membuat logical indexes. Jika sebuah table registrasi/login akan menggunakan
kombinasi pada username dan password untuk verifikasi suatu proses login,
maka akan dibuat index. Anda juga membuat index pada field foreign key anda.
Berikut adalah struktur SQL untuk membuat indeks pada suatu kolom CREATE
INDEX namaindex ON namatabel (nama kolom);
9. TUJUAN
1. Mahasiswa diharapkan mampu membuat tabel virtual yang akan memudahkan
dan mempercepat proses pembacaan dan pencarian data
2. Mahasiswa diharapkan mampu membandingkan dan menganalisa penggunaan
VIEW dan INDEX untuk optimasi pengelolaan informasi dalam sistem basis data
Analisa:
Menambahkan sebuah data ke dalam tabel MySQL merupakan salah
satu aktifitas yang paling sering dilakukan. Pembuatan database dan tabel
hanya perlu dilakukan 1 kali saja, namun menginput data ke dalam tabel akan
terus dilakukan sepanjang penggunaan aplikasi. Di dalam MySQL (dan juga
RDBMS lainnya), kita menggunakan query INSERT untuk menambahkan data
kedalam tabel. Query INSERT sendiri memiliki banyak variasi perintah yang
fleksibel tergantung kebutuhan. Termasuk pilihan ketika data yang akan
diinput terdapat duplikasi, dengan opsi IGNORE dan ON DUPLICATE KEY
UPDATE.
11. TUGAS
9. Tuliskan output dari masing-masing sintaks di atas (pada kegiatan praktikum)
Jawab : sudah terlampir pada kegiatan praktikum
12. KESIMPULAN
Didalam praktikum ini menjelaskan tentang cara melakukan view dan index
pada database. Tujuan dari view ini digunakan untuk mempercepat proses
menampilkan data (terutama jika kita akan menjalankan query tersebut maka data
tersebut menampilkan berulang kali). Sedangkan, index dalam database digunakan
untuk mempercepat pencarian sebuah data.
perbandingan tersebut berupa ( <, >, =, != ). Berikut adalah query dasar dari sub query
all.
Perintah EXISTS disini berguna untuk mengartur penampilan hasil query, Query
Utama akan dijalankan jika Sub Query bernilai TRUE (ada hasilnya) jika hasilnya
kosong maka Query utama tidak akan dijalankan. Lawan dari statement EXISTS
adalah NOT EXISTS. Query yang digunakan adalah
A. Tujuan
Setelah mengikuti praktikum ini, mahasiswa diharapkan mampu :
c) Melakukan pencarian data dengan pengelompokkan berdasarkan kriteria
tertentu.
d) Menampilkan data sesuai dengan ekspresi yang diberikan, dalam subquery.
B. Analisa Hasil
1. Lengkapi isian pada table nilai dan yang lain (modul sebelumnya)
2. Lakukan klustering/pengelompokkan berdasar kategori pada nilai yang
diperoleh mahasiswa (mulai dari angka-abjad-klasifikasi)
Artita Rose W
3. Tuliskan sintaks untuk mendapatkan daftar inisial dan nama dosen sesuai
dengan gendernya.
Artita Rose W
Dalam kegiatan ini melihat daftar-daftar inisial dosen, nama dosen yang
disesuaikan dengan gendernya. Nanti hasil outputnya terlihat pada gambar diatas.
4. Gantilah nama kota pada table mahasiswa menjadi “Kota Pesisir” pada table
mahasiswa yang beralamat kota berbatasan dengan laut, serta tuliskan saja
‘kota’ pada kota lain.
Artita Rose W
5. Siapa saja pada table dosen yang memiliki salary di atas rata-rata?
Artita Rose W
Artita Rose W
Artita Rose W
7. Tuliskan jadwal untuk sebuah mata kuliah berikut dengan informasi ruang
dan dosen.
Artita Rose W
Penyelesaian Tugas
1. Susun laporan
2. Adakah looping dalam sintaks SQL? Jika ada tuliskan.
Ada, yaitu terbagi menjadi 3 : Simple loop (infinisif), for and while.
Simple loop Loop
Statemen-statemen
End loop;
While While
While kondisi loop
Statemen-statemen;
End loop;
Saran
Pelaksanaan praktikum perlu adanya bimbingan dosen langsung, jangan
hanya asisten saja yang datang di lab saat praktikum.
D. Daftar Pustaka
http://codeoke.blogspot.com/2012/12/sub-query-mysql.html
Diakses 20 Desember 2018.
http://blog.binadarma.ac.id/usman/2012/10/16/select-into-pada-mysql.html
Diakses 21 Desember 2018.
http://ronysyahputra.wordpress.com/2009/11/06/pengenalan-singkat-
index-di-mysql/
Diakses 22 Desember 2018.
http://catatankuliahum.blogspot.com/2013/02/sub-query-basis-data.html
Diakses 22 Desember 2018.
PENULIS
NIM : A710160069
Agama : Islam
Status : Mahasiswa