Вы находитесь на странице: 1из 89

LAPORAN PRAKTIKUM

BASIS DATA

Oleh :
Ibnu Zidni Ilman A710160069

Pendidikan Teknik Informatika


Fakultas Keguruan dan Ilmu Pendidikan
Universitas Muhammadiyah Surakarta
2019
HALAMAN PENGESAHAN

Laporan Praktikum Basis Data yang disusun oleh :

Nama : Ibnu Zidni Ilman

NIM : A710160069

Kelas : D

Telah diperiksa dan diterima oleh dosen pengampu.

Surakarta, 15 Januari 2019

Dosen Pengampu,

Irma Yuliana, S.T., M.M., M.Kom.


KATA PENGANTAR

Alhamdulilah segala puji syukur senantiasa kami panjatkan atas kehadirat


Allah Yang Maha Esa atas segala limpahan nikmat yang diberikan kepada kita hingga
akhirnya kata pengantar dan Laporan praktikum Basis Data ini berhasil dibuat.
Tanpa pertolongan NYA mungkin saya tidak akan sanggup menyelesaikan tugas
laporan ini. Shalawat dan salam semoga terlimpah curahkan kepada baginda
tercinta yakni Nabi Muhamad SAW.

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.

Surakarta, Januari 2019


DAFTAR ISI
Halaman Cover ......................................................................................................... i
Halaman Pengesahan ............................................................................................ ii
Kata Pengantar......................................................................................................... iii
Daftar Isi ...................................................................................................................... iv
Modul 1 : Perancangan Konsep Basis Data Relasional ......................... 01
Modul 2 : Pengenalan dan Instalasi MariaDB ........................................... 08
Modul 3 : DDL (Data Definition Language) ................................................ 18
Modul 4 : DML (Data Manipulation Language) ........................................ 26
Modul 5 : Manipulation & Retrieval ............................................................... 32
Modul 6 : Operasi Himpunan & Fungsi Agregat ...................................... 42
Modul 7 : Pengelompokan & Penganggabungan ..................................... 52
Modul 8 : View & Index ........................................................................................ 59
Modul 9 : Ekspresi & Subquery ........................................................................ 64
Penulis ......................................................................................................................... 73
Untuk membahas mengenai DBMS terdistribusi, terlebih dahulu
mengetahui apa yang di maksud dengan basis data terdistribusi dan
DBMS terdistribusi.
Basis data terdistribusi: Secara logik keterhubungan dari kumpulan-
kumpulan data yang digunakan bersama-sama, dan didistribusikan
melalui suatu jaringan komputer.
DBMS Terdistribusi : Sebuah sistem perangkat lunak yang mengatur
basis data terdistribusi dan membuat pendistribusian data secara
transparan.
DDBMS memiliki satu logikal basis data yang dibagi ke dalam beberapa
fragment. Dimana setiap fragment disimpan pada satu atau lebih
komputer dibawah kontrol dari DBMS yang terpisah dengan
mengkoneksi komputer menggunakan jaringan komunikasi.
Masing-masing site memiliki kemampuan untuk mengakses permintaan
pengguna pada data lokal dan juga mampu untuk memproses data yang
disimpan pada komputer lain yang terhubung dengan jaringan.
Pengguna mengakses basis data terdistribusi dengan menggunakan dua
aplikasi yaitu aplikasi lokal dan aplikasi global, sehingga DDBMS memiliki
karakteristik yaitu:

1. Kumpulan dari data logik yang digunakan bersama-sama


2. Data di bagi menjadi beberapa fragment
3. Fragment mungkin mempunyai copy ( replika )
4. Fragment / replika nya di alokasikan pada yang digunakan
5. Setiap site berhubungan dengan jaringan komunikasi
6. Data pada masing-masing site dibawah pengawasan DBMS
7. DBMS pada masing-masing site dapat mengatasi aplikasi lokal,
secara otonomi
8. Masing-masing DBMS berpastisipasi paling tidak satu global
aplikasi.

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

Dalam proses perancangan basis data terdistribusi, harus diperhatikan aspek


transparansi, yaitu interaksi user terhadap basis data merupakan interaksi dengan
satu sistem secara utuh. Transparansi harus terlihat dalam dua hal, yaitu

1. Distribusi: para pengguna harus dapat berinteraksi dengan sistem secara


keseluruhan sebagai satu sistem yang utuh. Kesatuan ini harus ada pada
kinerja sistem dan metode pengaksesan.
2. Perubahan (transaksi): Setiap transaksi (penambahan, penghapusan, atau
peng-update-an) harus mempertahankan integritas antara basis data yang
berbeda-beda dalam satu sistem. Setiap transaksi harus dibagi ke dalam
sejumlah subtransaksi, yang tiap-tiap darinya memberikan pengaruh pada
keseluruhan sistem basis data.

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

Gambar 1.1 Tabel Nasabah

Gambar 1.2 Tabel Rekening

Gambar 1.3 Tabel Transaksi

Gambar 1.4 Tabel Cabang Bank


Gambar 1.5 Tabel Keseluruhan
Analisa :

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.

Gambar 1.6 Relasi Sederhana


Gambar 1.7 Diagram

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:

siswa guru mata_pelajaran ruang_kelas jadwal


Siswa - n:1 m:m - m:m
Guru n:1 n:1 – m:m
mata_pelajaran – n:1 n:1 n:1 n:1
ruang_kelas - - n:1 1:1
Hubungan:

 siswa dibimbing oleh guru:


 Tabel utama: guru
 Tabel kedua: siswa
 Relationship: many to one (n:1)
 Attribute penghubung: NIK (FK NIK di guru)
 siswa mengambil mata_pelajaran:
 Tabel utama: siswa, mata_pelajaran
 Tabel kedua: siswa_has_mata_pelajaran
 Relationship: many to many (m:n)
 Attribute penghubung: NIM, kode_mapel (FK NIM,
kode_mapel disiswa_has_mata_pelajaran)
 guru mengampu mata_pelajaran:
 Tabel utama: mata_pelajaran
 Tabel kedua: guru
 Relationship: many to one (n:1)
 Attribute
penghubung: kode_mapel (FK kode_mapel di mata_pelajar
an)

 mata_pelajaran menempati ruang_kelas:


 Tabel utama: ruang_kelas
 Tabel kedua: mata_pelajaran
 Relationship: many to one (n:1)
 Attribute pendukung: id_kelas (FK id_kelas di ruang_kelas)
 Jadwal mempunyai ruang_kelas
 Tabel utama: jadwal
 Tabel kedua: ruang_kelas
 Relationship: one to one(1:1)
 Attribute pendukung: id_kelas (FK id_kelas di ruang_kelas)

C. Kesimpulan Dan Saran


 Basis data atau juga disebut database artinya berbasiskan pada data,
tetapi secara konseptual, database diartikan sebuah koleksi atau
kumpulan data-data yang saling berhubungan (relation), disusun
menurut aturan tertentu secara logis, sehingga menghasilkan informasi.
Untuk mengelola dan memanggil query basis data agar dapat disajikan
dalam berbagai bentuk yang diinginkan dibutuhkan perangkat lunak
yang disebut Sistem Manajemen Basis Data atau juga disebut Database
Management System (DBMS). Penggabungan Database Management
System (DBMS) dengan Basis Data akan membentuk satu kesatuan yang
disebut Sistem Basis Data.
 Komponen dasar dalam pembuatan basis data dengan adanya data,
hardware, software, dan user. Istilah-istilah dalam basis data juga
seyogyanya kita tahu, yaitu: enterprise, entitas, atribut, nilai data, kunci
elemen data, record data.
 Menurut ANSI/SPARC, arsitektur basis data terbagi atas tiga level yaitu:
Internal/Physical Level, External/View Level, Conceptual/Logical Level.
Tujuan utama dari arsitektur 3 level tersebut adalah untuk menyediakan
data independence yang terbagi 2: Logical Data Independence
(kebebasan data secara logika) dan Physical Data Independence
(kebebasan data secara fisik).
 Untuk menggambarkan data pada tingkat eksternal dan konseptual
digunakan model data berbasis objek atau model data berbasis record.
 DBMS dapat diartikan sebagai program komputer yang digunakan untuk
memasukkan, mengubah, menghapus, memodifikasi dan memperoleh
data/informasi dengan praktis dan efisien. Kelebihan-kelebihan dari
DBMS antara lain terdapat dari faktor performance nya yang lebih efisien
dalam penggunaan penyimpanan data atau memory, integritas data yang
lebih terjamin, independensi, sentralisasi, dan sekuritas yang lebih
fleksibel. Komponen-komponen yang terdapat dalam DBMS terdiri dari
interface, database control system, hardware, operating system,
database, dan user.
 Dalam pembuatan basisdata terdapat beberapa tahapan antara lain
pengumpulan dan analisis, perancangan database secara konseptual, dan
terakhir proses design database.

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.

Fitur penting dari MariaDB adalah −

 Semua MariaDB adalah di bawah GPL, LGPL, atau BSD.


 MariaDB mencakup berbagai pilihan penyimpanan mesin, termasuk mesin
penyimpanan kinerja tinggi, untuk bekerja dengan sumber data RDBMS
lainnya.
 MariaDB menggunakan bahasa query yang standar dan populer.
 MariaDB berjalan pada beberapa sistem operasi dan mendukung berbagai
bahasa pemrograman.
 MariaDB menawarkan dukungan untuk PHP, salah satu yang paling populer
web pengembangan bahasa.
 MariaDB menawarkan Galera cluster teknologi.
 MariaDB juga menawarkan banyak operasi dan perintah-perintah yang tidak
tersedia di MySQL, dan menghilangkan/menggantikan fitur kinerja yang
berdampak negatif.

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.

Gambar 2.1 Download XAMPP

 Langkah 2: Instal XAMPP

1. Lakukan instalasi setelah Anda selesai mengunduh. Selama


proses instalasi mungkin Anda akan melihat pesan yang
menanyakan apakah Anda yakin akan menginstalnya. Silakan
tekan Yes untuk melanjutkan instalasi.
2. Klik tombol Next.
Gambar 2.2 Install XAMPP

3. Pada tampilan selanjutnya akan muncul pilihan mengenai


komponen mana dari XAMPP yang ingin dan tidak ingin Anda
instal. Beberapa pilihan seperti Apache dan PHP adalah bagian
penting untuk menjalankan website dan akan otomatis diinstal.
Silakan centang MySQL dan phpMyAdmin, untuk pilihan lainnya
biarkan saja.

Gambar 2.3 Paket Instalasi XAMPP

4. Berikutnya silakan pilih folder tujuan dimana XAMPP ingin Anda


instal, pada tutorial ini pada direktori C:\xampp.
Gambar 2.4 Folder Penyimpanan

5. Pada halaman selanjutnya, akan ada pilihan apakah Anda ingin


menginstal Bitnami untuk XAMPP, dimana nantinya dapat Anda
gunakan untuk install WordPress, Drupal, dan Joomla seccara
otomatis.

Gambar 2.5 Memulai Instalasi

6. Pada langkah ini proses instalasi XAMPP akan dimulai. Silakan


klik tombol Next.
Gambar 2.7 Proses Instalasi

7. Setelah berhasil diinstal, akan muncul notifikasi untuk langsung


menjalankan control panel. Silakan klik Finish.

Gambar 2.8 Instalasi Selesai

 Langkah 3: Jalankan XAMPP

1. Silakan buka aplikasi XAMPP kemudian klik tombol Start pada


Apache dan MySQL. Jika berhasil dijalankan, Apache dan MySQL
akan berwarna hijau seperti gambar di bawah ini.
Gambar 2.9 Launch XAMPP

2. Pada browser, tepat di addres bar ketikkan “localhost”


(http://localhost/phpmyadmin/ ), maka XAMPP siap digunakan.

Gambar 2..10 Tampilan Halaman Depan phpMyAdmin


3. Pada halaman PhpMyAdmin ini kita dapat melakukan
pembangunan basis data dan juga melakukan manipulasi isi basis
data dengan MySQL. PhpMyAdmin merupakan halaman GUI
administratif MySQL server yang saat ini paling banyak dipakai
dalam pengembangan aplikasi berbasis web.
4. Selanjutnya adalah mengakses MariaDB melalui command prompt,
dengan memastikan bahwa server MySQL telah berjalan.
Gambar 2.11 Layanan sedang berjalan / aktif
5. Buka panel command prompt dan tuliskan “cd\” lalu tekan “Enter”,
sehingga Anda kan berada pada direktori (C:\).

Gambar 2.12 Tampilan Windows Command Prompt


6. Selanjutnya pergi ke folder \bin dengan cara ketik :
C:\xampp\mysql\bin, lalu Enter.

Gambar 2..13 Arahkan pada Direktori C :\xampp\mysql\bin


7. Selanjutnya Anda akan berada pada folder C:\xampp\mysql\bin
untuk dapat mengakses mysql. Ketik : mysql -u root -p , lalu Enter.
Masukkan passwor (jika ada) kemudian Enter. Secara default tidak
/ belum ada password untuk root.

Gambar 2.14 Login MariaDB


8. Setelah tampilan seperti pada gambar ,, maka berarti Anda telah
berhasil masuk ke MySQL sebagai root user. Untuk melihat basis
data pada server maka dapat dituliskan “show databases” lalu
akhiri command dengan “ ; “.

Gambar 2.15 Hasil command “show databases”


Analisa:
XAMPP adalah software aplikasi pengembang yang digunakan untuk pengembangan
website berbasis PHP dan juga sebagai server untuk local dalam pembuatan
database dengan MariaDB. Software aplikasi ini di buat dan dikembangkan oleh
Apache Friends. XAMPP dapat dijalankan di 4 platform OS, yaitu Windows, Linux, Mac
OS dan Solaris. Pada XAMPP terdapat Apache yang merupakan aplikasi web server
yang bersifat opensource. Opensource artinya dapat diperoleh secara gratis dan
dikembangkan oleh setiap orang. XAMPP sendiri merupakan kepanjangan X(sistem
operasi), Apache, MariaDB, PHP, Perl.

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!

No Ketikkan perintah Hasil


1 SELECT VERSION ( ), CURRENT_DATE

2 Ketik perintah di atas (nomor 1) :

Dengan huruf kecil semua


Dengan huruf besar semua
3 SELECT SIN {PI()/4}, (4+3)*7 ;
4 SELECT VERSION ( ); SELECT NOW( );
5 MariaDB>SELECT
USER ( )

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

Gambar 2.16 Hasil Implementasi Command


Analisa:
Pada tugas Nomor 1 merupakan implementasi sederhana dari command – command pada
database yang dilakukan pada sebuah PC. Ternyata database tidak hanya digunakan untuk
menyimpan sebuah data saja tetapi juga bisa melakukan operasi perhitangan. Pada kegiatan ini
juga mengimplementasikan membuat sebuah database dengan nama “buku”. Database pada
kegiatan ini berisi beberapa kolom dan salah satu entitas menjadi primary key. Setiap entitas juga
memiliki type data yang berbeda – beda tergantung kebutuhan. Ternyata membuat database juga
bisa dilakukan dengan menggunakan command prompt. Database biasanya digunakan untuk
menyimpan beberapa data yang komplek dan memiliki relasi antara data 1 dengan data lain.
Termasuk normalisasi yang dipraktekkan pada kegiatan bab 1 maka pada tugas ini merupakan
implementasi sesungguhnya membuat sebuah database sederhana.
2. Perintah apa yang digunakan untuk mengaktifkan atau masuk dalam lingkunan salah
satu basis data maupun tabel ?
Jawab:
Perintah mengaktifkan database: use heru;
3. Apakah perintah – perintah di MariaDB bersifat case sensitive? Adakah konsekuensi jika
menulis acak atau tidak konsisten terutama pada huruf besar dan kecil?
Jawab:
Benar perintah perintah MariaDB bersifat case sensitive, pada praktikum ini bukan
hanya konsistensi huruf besar kecil tetapi spasi juga harus sesuai dengan kaidah
command yang sudah ditentukan. Contoh jika mengaktifkan database useheru; maka
database tidak akan bisa aktif karena tidak memakai spasi. Nanti setelah command
dijalankan maka aka nada notifikasi error karena tidak sesuai kaidah kententuan
command yang benar.
4. Apa perbedaan pengetikan lebih dari satu perintah, yang dipisahkan dengan tanda koma
(,) dan tanda baca titik koma (;)? Bandingkan hasil query percobaan 3 dan 6.
Jawab:
;(titik koma) digunakan untuk mengakhiri sebuah perintah command kemudian akan
dieksekusi sebuah command tersebut. Sedangkan ,(koma) digunakan untuk memberi
tanda bahwa ada beberapa variable yang akan diberikan pada system database.
5. Dapatkah kita melakukan operasi aritmatik dengan menggunakan perintah SQL? Berikan
contoh yang lain?
Jawab:
Bisa

6. Haruskah pengguna mengetik perintah dalam satu baris?

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

G. Kesimpulan Dan Saran


 Percobaan yang dilakukan dengan kedua DBMS (PostgreSQL dan MySQL) ini
dilakukan untuk mengetahui perintah dasar dalam DBMS tersebut dan perbedaan
dari keduanya. Kedua DBMS ini merupakan DBMS Open Source yang bisa
digunakan oleh semua orang tanpa harus membayar. Sebenarnya kedua DBMS
memiliki keunggulan dan kekurangan masing – masing, namun pemilihan
penggunaan tergantung dari kebutuhan dan keinginan admin untuk sistem
informasi yang diolahnya.
 Database menyimpan data dengan baik,akurat,dan relevan.
 Database dapat mengurangi duplikasi data/penggandaan data (data
redundancy).
 Database mengurangi pemborosan tempat simpanan luar.
 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.
 PhpMyAdmin merupakan perangkat lunak yang ditulis dengan
menggunakan PHP untuk menangani administrasi dari MariaDB melalui WWW
(World Wide Web). Dengan phpMyAdmin kita dapat mengelola basis data pada
MariaDb seperti mengelola tabel, kolom, relasi, indeks, pengguna, perijinan dan
lainnya.
Pada DDL berkaitan mengenai struktur tabel. Perintah-perintah yang
termasuk dalam DDL antara lain :

1. Create

Digunakan untuk membuat suatu tabel , mendefinisikan kolom-kolomnya,


dan mendefinisikan primary key. Untuk database client tunggal, nama tabel yang
digunakan harus berada dalam tanda kutip dan memenuhi aturan yang berlaku.
Definisi kolom/fields berisi kombinasi nama kolom, tipe data beserta ukurannya
(jika ada). Daftar definisi kolom dipisahkan oleh tanda koma dan berada dalam
tanda kurung. Jumlah dan jenis ukuran harus disesuaikan dengan tipe kolom.
Sedangkan Primary key digunakan untuk membuat indeks utama dari tabel.
Pernyataan berikut membuat tabel Paradox bernama employee.db dengan
primary key kolom Last_Name dan First_Name :

CREATE TABLE "employee.db"

(Last_Name CHAR(20), First_Name CHAR(15), Salary


NUMERIC(10,2), Dept_No SMALLINT,

PRIMARY KEY (Last_Name,


Jika kamu First_Name))
ingin membuat tabel dBASE berikan ekstensi .dbf pada waktu
pemberian nama, menjadi employee.dbf. Dalam penulisan nama tabel,
diperbolehkan untuk tidak menyertakan ekstensinya tetapi tanda kutip harus
dihilangkan jika tidak maka nama tabel adalah db/dbf.

Dan jika ingin membuat tabel dengan kolom berkarakter non-alpanumerik


atau nama kolom berspasi, kamu harus memasukkan nama kolom tersebut dalam
tanda kutip dan sertakan di depan nama kolom tersebut dengan nama tabel
(dengan atau tanpa ekstensi). Tetapi sebaiknya hindari nama kolom berspasi,
gunakan tanda garis bawah “_”. Berikut ini dua macam cara pembuatan tabel
dengan nama kolom berspasi.

CREATE TABLE "abc.db"

(ID CHAR(3), "ABC.db"."Funny Name" CHAR(10))

CREATE TABLE abc

(ID CHAR(3), ABC."Funny Name" CHAR(10))


 CREATE DATABASE
Untuk membuat database, perintah yang dipergunakan adalah :

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name

IF NOT EXISTS : Akan terjadi error bila database sudah ada dan tidak
dituliskan perintah IF NOT EXISTS.

Catatan :

- Hindari penggunaan spasi dalam pembuatan nama database.

- Perhatikan panjang nama database, beberapa database tertentu membatasi


panjang nama databasenya.

 CREATE TABLE

Dipergunakan untuk membuat tabel.

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tblname (colname1 coltype


coloptions reference, colname2 coltype coloptions reference... [ , index1,
index2 ...] )

[ ENGINE = MyISAM|InnoDB|HEAP ]

[ DEFAULT CHARSET = csname [ COLLATE = colname ]]

Tabel terdiri dari field-field atau kolom-kolom dengan tipe data


tertentu dan baris-baris sebagai penyimpan data.

Contoh :

Membuat sebuah tabel baru “Person” yang memiliki lima buah


field/kolom yaitu P_Id, LastName, FirstName, Address, dan City.

CREATE TABLE Persons (

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.

CREATE TABLE Persons (

P_Id int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

PRIMARY KEY (P_Id));

 Syntax dalam pendeklarasian foreign key

FOREIGN KEY [name] (column1) REFERENCES table2 (column2)

[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]

[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]

[ CREATE TABLE nama_tabel (


nama_field ke-1 tipe_data ( lebar_field ), ......, nama_field ke-n tipe_data (
lebar_field ) ) ;]

contoh 1 :

buatlah sebuah tabel barang dengan field kode_barang char(6), nama


barang varchar2(25), satuan_barang varchar(20), dan stok barang
number(4), primary key-nya adalah kode barang.

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

| ADD [COLUMN] column_reference [,reference DROP [COLUMN]


column_reference

| ADD [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.

sintaks umumnya adalah :

[ ALTER TABLE nama_tabel


ADD | MODIFY nama_field ke-1 tipe_data ( lebar_field ) ;]

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:

DROP TABLE table_reference

Digunakan untuk menghapus suatu tabel yang telah ada. Pernyataan


berikut ini menghapus suatu table.

DROP TABLE Employee

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.

sintaks umumnya adalah :

[ DROP TABLE nama_tabel ;]

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:

CREATE [UNIQUE] [ASC | DESC] INDEX index_reference ON

table_reference (column_reference [,column_reference...])

Pernyataan CREATE INDEX digunakan untuk membuat suatu indeks


sekunder dari tabel yang telah ada. Nama indeks tidak boleh mengandung spasi.
Kata kunci UNIQUE digunakan untuk membuat suatu indeks yang akan
membangkitkan pesan kesalahan jika record bernilai sama dimasukkan dalam
kolom yang sama. Secara default, indeks tidak unik. Pernyataan ASC (atau
ASCENDING) disertakan jika kamu ingin membuat suatu indeks yang
mengurutkan data dari yang paling kecil ke yang paling besar, dan jika sebaliknya
gunakan kata kunci DESC. Secara default pengurutan data bersifat ascending jika
kedua kata kunci tersebut tidak dinyatakan. Indeks sekunder dari suatu
tabel Paradox dapat dibuat multi kolom melalui pernyataan berikut :

CREATE INDEX CustDate ON "Orders.db" (CustNo, SaleDate)

Sedangkan untuk tabel dBASE hanya boleh membuat indeks tunggal.

CREATE UNIQUE INDEX Namex ON "Employee.dbf" (Last_Name)

5. DROP INDEX

Syntax:

DROP INDEX table_reference.index_reference | PRIMARY

Pernyataan ini digunakan untuk menghapus suatu indeks utama atau


sekunder. Untuk menghapus indeks utama atau sekunder tabel dBASE atau suatu
indeks sekunder tabel Paradox, penulisan nama tabel dan nama indek dipisahkan
oleh simbol titik (“.”).

DROP INDEX "Employee.dbf".Namex

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 :

Gambar 3.4 menambahkan kolom agama

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 :

Gambar 3.6 menambahkan kolom dengan nama grade


4. Ubah nama table mahasiswa menjadi student.
Jawab :

5. Jadikan nim sebagai primary key pada table mahasiswa.


Jawab :
[A710160067_Artita

Gambar 3.8 menjadikan nim sebagai primary key

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

Didalam praktikum ini menjelaskan tentang cara membuat database melalui


command prompt dan XAMPP. Data tersebut yang isinya tentang tabel mahasiswa,
tabel prodi, tabel mata kuliah, tabel ruangan, tabel dosen, tabel mengajar, dan tabel
nilai. Dan menambahkan sebuah kolom baru di bagian tabel mahasiswa, ruang, dan
nilai. Yang nantinya akan muncul dengan sendirinya di localhost/phpmyadmin.

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

MERGE - upsert operasi (memasukkan atau memperbarui)

PANGGILAN - panggilan subprogram PL / SQL atau Java

MENJELASKAN RENCANA - menjelaskan jalur akses ke data

LOCK TABLE - concurrency control

Bahasa manipulasi data cenderung memiliki rasa yang berbeda dan


kemampuan antara vendor database. Ada beberapa standar yang ditetapkan untuk
SQL oleh ANSI (American National Standards Institute),ANSI ini adalah
swasta organisasi nirlaba yang mengawasi pengembangan standar konsensus
sukarela untuk produk, jasa, proses, sistem, dan personil di Amerika Serikat.
Organisasi ini juga berkoordinasi AS standar dengan standar internasional sehingga
produk Amerika dapat digunakan di seluruh dunia.

Misalnya, standar memastikan bahwa orang yang memiliki kamera dapat


menemukan film yang mereka butuhkan untuk itu kamera mana saja di seluruh
dunia, ANSI standar akreditasi yang dikembangkan oleh perwakilan dari standar
pengembangan organisasi, lembaga pemerintah, kelompok konsumen, perusahaan,
dan lainnya. Standar ini memastikan bahwa karakteristik dan kinerja produk yang
konsisten, bahwa orang menggunakan definisi dan istilah yang sama, dan bahwa
produk yang diuji dengan cara yang sama. ANSI juga mengakreditasi organisasi yang
melaksanakan sertifikasi produk atau personil sesuai dengan persyaratan yang
ditentukan dalam standar internasional. tapi vendor masih menyediakan ekstensi
standar mereka sendiri untuk sementara tidak menerapkan seluruh standar.

Bahasa manipulasi data dibagi menjadi dua jenis, antara lain :

1. Pemrograman prosedural (Pemrograman prosedural kadang-kadang dapat


digunakan sebagai sinonim untuk pemrograman imperatif (menetapkan langkah-
langkah program harus ambil untuk mencapai keadaan yang diinginkan), tetapi
juga dapat merujuk (seperti dalam artikel ini) ke paradigma pemrograman,
berasal dari pemrograman terstruktur, berdasarkan konsep panggilan prosedur.
Prosedur, juga dikenal sebagai rutinitas, subrutin, metode, atau fungsi (tidak
harus bingung dengan fungsi matematika, tetapi mirip dengan yang digunakan
dalam pemrograman fungsional ), cukup mengandung serangkaian langkah
komputasi untuk dilakukan. Setiap prosedur yang diberikan mungkin disebut
pada setiap saat selama pelaksanaan program, termasuk oleh prosedur lain atau
dirinya sendiri).

2. Pemrograman deklaratif (pemrograman deklaratif) adalah paradigma yang


mengekspresikan logika dari komputasi tanpa menjelaskan yang aliran kontrol .
Banyak bahasa menerapkan gaya usaha untuk meminimalkan atau
menghilangkan efek samping dengan menjelaskan program apa yang harus
dirampungkan, bukan menggambarkan bagaimana untuk pergi tentang mencapai
hal itu).

Setiap pernyataan SQL DML adalah perintah deklaratif. SQL individu


pernyataan adalah deklaratif, yang bertentangan dengan keharusan, karena mereka
menggambarkan tujuan program, daripada menjelaskan prosedur untuk
menyelesaikannya.

Bahasa manipulasi data pada awalnya hanya digunakan dalam program


komputer, tetapi dengan munculnya SQL datang untuk digunakan secara interaktif
oleh administrator database.

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');

4. Selanjutnya, lakukan seperti langkah sebelumnya pada tabel-tabel lainnya


sesuai dengan field, type data, dan panjang datanya masing-masing tabel
tersebut.
5. Lalu, menampilkan semua isi record pada tabel mahasiswa dengan
menggunakan perintah SELECT * FROM Mahasiswa; maka yang terjadi
seperti pada gambar 4.1.

Gambar 4.1 tabel mahasiswa

6. Kemudian, ubahlah salah satu nama mahasiswa pada tabel mahasiswa


dengan menggunakan perintah seperti pada gambar 4.2 dan hasil
outputnya seperti pada gambar 4.3.
[A710160067_Artita

Gambar 4.2 perintah untuk mengubah nama mahasiswa

Gambar 4.3 hasil outputnya

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.4 output tampilan satu baris data

8. Kemudian, hapus data mahasiswa yang bernama Jayus dengan


menggunakan perintah seperti pada gambar 4.5 dan hasil outputnya
seperti pada gambar 4.6.

Gambar 4.5 perintah untuk menghapus nama Jayus

Gambar 4.6 hasil outputnya


9. Lalu, menampilkan data mahasiswa yang usianya lebih dari atau sama
dengan 17 tahun dengan menggunakan perintah seperti pada gambar 4.7
dan hasil outputnya seperti pada gambar 4.8.

Gambar 4.7 menampilkan usia mahasiswa lebih dari atau sama dengan
17 tahun

Gambar 4.8 hasil outputnya


10. Selanjutnya, menampilkan semua data dosen pria berstatus tetap dengan
menggunakan perintah seperti pada gambar 4.9 dan hasil outputnya
seperti pada gambar 4.10.

Gambar 4.9 menampilkan data dosen pria berstatus tetap

Gambar 4.10 hasil outputnya

Analisis :

Pada kegiatan ini menjelaskan tentang cara memasukkan, menghapus,


mengubah, dan menampilkan data-data (record) pada tabel database yang
sebelumnya sudah dibuat atau materi pada bab 3. Didalam kegiatan
praktikum ini menggunakan perintah / syntax INSERT, DELETE, UPDATE,
dan SELECT. Pada perintah / syntax tersebut tentunya memiliki fungsi
tersendiri. Pada perintah / syntax INSERT berfungsi untuk menambahkan
data pada suatu tabel. Pada perintah / syntax DELETE berfungsi untuk
menghapus satu baris, baris dengan kondisi tertentu maupun seluruh baris.
Pada perintah / syntax UPDATE berfungsi untuk mengubah isi data pada satu
atau beberapa kolom pada suatu tabel. Pada perintah / syntax SELECT
berfungsi untuk menampilkan isi dari suatu tabel yang dapat dihubungkan
dengan beberapa tabel lainnya.

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.

Gambar 4.11 tabel mahasiswa

 Mengubah salah satu nama mahasiswa pada tabel mahasiswa dengan


menggunakan perintah seperti pada gambar 4.12 dan hasil outputnya
seperti pada gambar 4.13.

Gambar 4.12 perintah untuk mengubah nama mahasiswa


Gambar 4.13 hasil outputnya

 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.14 output tampilan satu baris data

 Menghapus data mahasiswa yang bernama Jayus dengan


menggunakan perintah seperti pada gambar 4.15 dan hasil outputnya
seperti pada gambar 4.16.

Gambar 4.15 perintah untuk menghapus nama Jayus

Gambar 4.16 hasil outputnya

 Menampilkan data mahasiswa yang usianya lebih dari atau sama


dengan 17 tahun dengan menggunakan perintah seperti pada gambar
4.17 dan hasil outputnya seperti pada gambar 4.18.
[A710160067_Artita

Gambar 4.17 menampilkan usia mahasiswa lebih dari atau sama dengan
17 tahun

Gambar 4.18 hasil outputnya


 Selanjutnya, menampilkan semua data dosen pria berstatus tetap
dengan menggunakan perintah seperti pada gambar 4.19 dan hasil
outputnya seperti pada gambar 4.20.

Gambar 4.19 menampilkan data dosen pria berstatus tetap

Gambar 4.20 hasil outputnya

7. Presentasikan di depan dosen pengampu atau asisten.


8. Sampaikan kesimpulan anda pada akhir laporan

Analisis :

Pada tugas ini sama seperti dengan kegiatan sebelumnya. Namun,


didalam tugas ini hanya menampilkan semua perintah SQL percobaan
kegiatan sebelumnya beserta outputnya.

8. KESIMPULAN

Didalam praktikum ini menjelaskan tentang cara memasukkan, menghapus,


mengubah, dan menampilkan data-data (record) pada tabel database yang
sebelumnya sudah dibuat atau materi pada bab 3 menggunakan perintah / syntax
INSERT, DELETE, UPDATE, dan SELECT. Dan harus teliti dalam menjalankan
perintah-perintah pada database ini. Jika terjadi kesalahan satu tanda saja atau tidak
teliti maka semuanya akan mengalami eror / tidak muncul data yang telah
diinputkan.
SQL menggunakan sintaks yang sangat spesifik. Sintaks mendefinisikan
logika bahasa pemrograman. Ini mirip dengan tata bahasa dari bahasa lisan reguler.
Kecuali Anda mengikuti sintaks yang benar, DBMS tidak akan memahami
pernyataan SQL Anda.
Macam – macam fungsi pada SQL

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 :

select * from namatabel where kondisi1=’..’ AND kondisi2 = ‘…’

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

Gambar 5.1 : Permulaan praktikum


1. Tampilkan mahasiswa laki-laki yang berasal dari Brebes

Gambar 5.2 : Mahasiswa laki-laki yang berasal dari Brebes

Pada gambar 5.2 merupakan kegiatan untuk menampilkan mahasiswa laki-


laki yang berasal dari Brebes dengan cara menggunakan perintah : Select *from
mahasiswa where gender= “1” and kota =”brebes”; lalu tekan enter.
2. Tampilkan mahasiswa wanita dari Tegal dan Brebes

Artita Rose W

Gambar 5.3 : Mahasiswa wanita dari Tegal & Brebes

Pada gambar 5.3 merupakan kegiatan untuk menampilkan mahasiswa wanita


yang berasal dari Tegal dan Brebes dengan cara menggunakan perintah : Select
*from mahasiswa where gender = “p” and kota in (“tegal”, “brebes”); lalu tekan
enter.

3. Tampilkan mahasiswa yang bukan berasal dari Pemalang

Artita Rose W

Gambar 5.4 : Mahasiswa yang bukan berasal dari Pemalang

Pada gambar 5.4 merupakan kegiatan untuk menampilkan tabel mahasiswa


yang bukan berasal dari Pemalang dengan cara menggunakan perintah : Select *from
mahasiswa where kota not in (“pemalang”) ; lalu enter.

4. Tampilkan seluruh mahasiswa menurut abjad dari Z-A

Gambar 5.5 : Seluruh mahasiswa menurut abjad dari Z-A

Pada gambar 5.5 merupakan kegiatan untuk menampilkan seluruh tabel


mahasiswa menurut abjad Z-A dengan cara menggunakan perintah : Select *from
mahasiswa order by nama_mhs desc; lalu enter.

5. Berasal dari kota mana saja mahasiswa yang ada? (hilangkan data kota yang
duplikasi)
[Artita Rose W]

Gambar 5.6 : Seluruh kota dari mahasiswa

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

Gambar 5.7 : Nama mahasiswa, kode prodi & umur


yang usianya tidak diantara 18 dan 19

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

Gambar 5.8 : Nama dosen yang jumlah gajinya


antara 4.000.000 sampai 5.000.000

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

Gambar 5.9 : Yang tempat tinggalnya dimulai dengan “S”.

Pada gambar 5.9 merupakan kegiatan untuk menampilkan tabel mahasiswa


yang tempat tinggalnya berawalan huruf S dengan cara menggunakan perintah :
Select nama_mhs, kota from mahasiswa where kota like ‘S%’; lalu tekan enter.
9. Cari nama mahasiswa yang tempat tinggalnya ditengahnya terdapat kata
“kalong”.

Artita Rose W

Gambar 5.10 : Mahasiswa yang tempat tinggalnya


ditengahnya terdapat kata “kalong”.

Pada gambar 5.10 merupakan kegiatan untuk menampilkan tabel mahasiswa


yang tempat tinggal yang ditengahnya terdapat kata kalong dengan mcara
menggunakan perintah : Select nama_mhs, kota from mahasiswa kota like
‘%kalong%’ ; lalu enter.
10. Carilah nama dosen, inisial yang inisial namanya diawali dengan huruf “D”.

Artita Rose W

Gambar 5.11 : Inisial namanya diawali dengan huruf “D”.

Pada gambar 5.11 merupakan kegiatan untuk menampilkan tabel dosen


dengan inisial nama yang diawali dengan huruf D yaitu dengan cara menggunakan
perintah : Select nama_dosen, inisial FROM dosen where inisial like ‘D_’ ; lalu tekan
enter.
11. Tampilkan kolom nik dosen, nama dosen, salary, tunjangan dan sebuah kolom
baru yaitu salary+tunjangan yang berisi jumlah salary dan tunjangan.

Gambar 5.12 : Salary + Tunjangan

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 :

Operator logika EXISTS lebih cepat daripada IN, ketika membandingkan


kumpulan data menggunakan subquery. Misalnya, dalam kasus di mana kueri harus
melakukan tugas tertentu, tetapi hanya jika subkueri mengembalikan setiap baris,
lalu ketika mengevaluasi DI MANA [TIDAK] ADA (subquery), mesin basis data dapat
berhenti mencari segera setelah menemukan hanya satu baris, sedangkan WHERE
[NOT] IN (subquery) akan selalu mengumpulkan semua hasil dari sub-query,
sebelum diproses lebih lanjut.

Namun, kueri optimizer sekarang memperlakukan EXISTS dan IN dengan cara


yang sama, kapan pun itu bisa, jadi Anda tidak akan melihat perbedaan kinerja yang
signifikan. Namun demikian, Anda harus berhati-hati saat menggunakan operator
NOT IN jika data sumber subquery berisi nilai NULL. Jika demikian, Anda harus
mempertimbangkan menggunakan operator TIDAK BUKA, alih-alih TIDAK IN, atau
menyusun kembali pernyataan sebagai gabungan luar kiri.

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.

C. Kesimpulan dan Saran


Kesimpulan
 Salah satu fungsi utama dari sistem manajemen basis data (DBMS) adalah
untuk dapat memanipulasi data.
 Subquery dapat diartikan query didalam query
 Subquery terdiri dari IN dan NOT IN, EXISTS dan NOT EXISTS, ANY dan ALL
 Untuk menampilkan data tunggal menggunakan perintah distiner.

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

INTERSECT merupakan operator atau perintah yang digunakan untuk memperoleh


irisan data hasil query atau isi 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. Pada MariaDB tidak terdapat operator INTERSECT akan tetapi
sebagai gantinya dapat menggunakan operator IN seperti yang telah di jelaskan pada
praktikum sebelumnya.

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.

ARITMATIKA DAN FUNGSI AGREGAT ARITMATIKA

Perhitungan aritmatika pada suatu database dapat dilakukan dengan menggunakan * /

- seperti pada umumnya. Sebagai contoh untuk menghitung salary dosen yang
dinaikkan 20% adalah sebagai berikut :

SELECT nama_dosen, salary * 1.2 AS "Salary Up" FROM dosen

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:

SELECT COUNT( nama_dosen ) AS 'Jumlah Dosen' FROM dosen

Sedangkan untuk menampilkan jumlah dosen yang salarynya di atas rata – rata adalah
sebagai berikut:

SELECT @avgsalary:=AVG(salary) FROM dosen;

SELECT COUNT(nama_dosen) FROM dosen WHERE salary > @avgsalary;

2. SUM
Merupakan fungsi yang digunakan untuk menghitung jumlah nilai suatu kolom pada
tabel. Perintah umumnya adalah sebagai berikut:

SELECT SUM(namakolom) FROM namatabel;

Contoh : Tampilkan total salary dosen

SELECT SUM(salary) FROM dosen;

Sedangkan untuk menampilkan jumlah salary dosen yang salarynya di atas rata – rata
adalah sebagai berikut:

SELECT @avgsalary:=AVG(salary) FROM dosen;

SELECT SUM(salary) FROM dosen WHERE salary > @avgsalary;

3. AVG
Merupkan fungsi yang digunakan untuk menghitung nilai rata – rata suatu kolom pada
tabel. Perintah umum untuk menghitung rata – rata adalah sebagai berikut:

SELECT AVG(namakolom) FROM namatabel;


Contoh:

SELECT AVG(salary) FROM dosen;

Sedangkan untuk menampilkan dosen yang salarynya di atas rata – rata adalah
sebagai berikut:

SELECT @rataratasalary:=AVG(salary) FROM dosen;


SELECT @rataratasalary:=AVG(salary) FROM dosen;

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:

SELECT MIN(namakolom) FROM namatabel;


Contoh : tampilkan nilai salary terkecil dosen

SELECT MIN(salary) FROM dosen;

Sedangkan untuk menampilkan dosen yang salarynya paling kecil adalah sebagai
berikut:

SELECT @minsalary:=MIN(salary) FROM dosen;

SELECT nama_dosen, salary FROM dosen WHERE salary = @minsalary;

5. MAX
Merupakan fungsi untuk menampilkan nilai terbesar dari suatu kolom pada tabel.
Syntax umumnya adalah sebagai berikut:

SELECT MAX(namakolom) FROM namatabel;


Contoh : tampilkan nilai salary terbesar dosen
SELECT MAX(salary) FROM dosen;

Sedangkan untuk menampilkan dosen yang salarynya paling besar adalah


sebagai berikut:

SELECT @maxsalary:=MAX(salary) FROM dosen;

SELECT nama_dosen, salary FROM dosen WHERE salary = @maxsalary;

A. TUJUAN
- Menerapkan operasi himpunan menggunakan perintah UNION, INTERSECT maupun
EXCEPT pada database untuk memanipulasi data.

- Menerapkan operasi fungsi agregat pada database untuk memanipulasi data.


B. HASIL ANALISA
1. Tampilkan dosen yang penghasilan bersihnya (salary + tunjangan) bukan
5.500.000 dan 6.500.000.

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

2. Tampilkan jumlah baris/record tabel dosen


Artita Rose W

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.

LEFT JOIN Adalah Relasi Antar Table, biasanya Digunakan untuk


menghasilkan baris data dari tabel kiri (nama tabel pertama/ Tabel Utama) yang
tidak ada pasangan/Tidak Berelasi datanya pada tabel kanan (nama tabel
kedua). Atau Left Join merupakan penggabungan tabel dimana data akan
ditampilkan secara keseluruhan pada tabel pertama (kiri) namun record pada tabel
kedua (kanan) yang kosong akan ditampilkan dengan isi NULL.

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

2. Tuliskan sintaks SQL sehingga diperoleh hasilnya sebagai berikut


:
Gender Jumlah
L 4
P 3

3. Tuliskan sintaks SQL sehingga diperoleh hasilnya sebagai berikut


:
NIM nama_mhs nilai_uts nilai_uas

13120001 Arini 87 89

13120002 Ranita NULL NULL

13120003 Mbuko NULL NULL

13120004 Doni NULL NULL

13120005 Vina NULL NULL

13120006 Jayus NULL NULL


13120007 Galuh NULL NULL

4. Tuliskan sintaks SQL sehingga diperoleh hasilnya sebagai berikut


:
NIM nama_mhs nilai_uts nilai_uas
13120001 Arini 87 89

5. Tuliskan sintaks SQL sehingga diperoleh hasilnya sebagai berikut


:
mk_id nama_mk jumlah_jam sks
PTI1211 Kalkulus 3 3
6. Tuliskan sintaks SQL sehingga diperoleh hasilnya sebagai berikut
:
NIK inisial nama_dosen mk_id nama_mk sks
7 DN Don Fernando PTI3122 Data 3
Mining

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.

C. Kesimpulan dan Saran


Kesimpulan
Dapat dikelompokkan dengan menggunakan l;ausa where, group by, dan
having. Where digunakan untuk menampilkan data yang difilter dari operasi yang
dinyatakan oleh perintah from. Group by digunakan untuk mengelompokkan hasil
dari kalusa where. Having untuk memfilter garis.

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.

MySQL memiliki beberapa tipe dari Index yang berbeda, yaitu :

 INDEX
 UNIQUE
 PRIMARY KEY.
 FULLTEXT index

Contoh Penggunaan Macam Index

 Indentifikasi suatu field menggunakan PRIMARY KEY


 Indentifikasi suatu field harus UNIQUE

UNIQUE tidak dapat digunakan dalam jumlah banyak. Sebagian besar


digunakan seperti nilai tanggal, angka, nama, kota, kode pos yang berulang,
terutama sekali pada table dengan ribuan baris (record). Tetapi semua tergantung
pada aplikasi yang anda buat, apakah anda hanya menggunakan sekali-kali pada
field yang benar-benar harus unik, seperti alamat email, username dari sistem
aplikasi registrasi (sistem login). Anda tidak dapat mendefinisikan sekaligus
PRIMARY KEY dan UNIQUE dalam sebuah field, karena PRIMARY KEY sudah
didesain harus mengikut aturan unik.

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);

Sedangkan Unique index mirip dengan penggunaan indeks tetapi lebih


digunakan untuk mencegah duplikasi data yang terdapat dalam tabel. Jadi dengan
adanya unique index berarti pembaca tidak dapat meng-insert data yang sama
dalam sebuah tabel. Berikut struktur SQL nya : CREATE UNIQUE INDEX
namaindex ON namatabel (nama kolom);. Dan untuk menghapus index
menggunakan DROP INDEX namaindex;

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

10. ANALISA HASIL


3.4. Kegiatan Praktikum
1. Lakukan pencarian data menggunakan sintaks VIEW seperti urutan
penjelasan di atas.
 Pencarian Kota
Artita Rose W

Gambar 8.1 select kota

Gambar 8.2 view kota


Artita Rose W

Gambar 8.3 select kota individu


Analisa:
Untuk melakukan pencarian data ada 2 cara dapat melalui view dan
select. 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. dapat menambahkan fungsi sql, pernyataan
WHERE dan JOIN kedalam view dan menyajikan data dalam AS jika data itu
berasal dari satu tabel.

2. Dapatkah sintaks DML diterapkan pada VIEW?


a. Penambahan data
Artita Rose W
Gambar 8.4 insert

b. Konsekuensi apa yang terjadi pada tabel, setelah perintah penambahan


data dilakukan?
Jawab :
Data akan bertambah ke dalam database setelah dilakukan
penambahan ke table. Penambahan harus sesuai dengan jumlah kolom
yang di butuhkan.

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.

3. Buktikan setiap sintaks pada contoh pembahasan tentang INDEX, tuliskan


outputnya dan berikan penjelasan singkat.

Gambar 8.5 Dosen


Artita Rose W

Gambar 8.6 Salary


Artita Rose W
Gambar 8.7 Index Salary

Gambar 8.8 Unique Index


Analisa:
UNIQUE tidak dapat digunakan dalam jumlah banyak. Sebagian besar
digunakan seperti nilai tanggal, angka, nama, kota, kode pos yang berulang,
terutama sekali pada table dengan ribuan baris (record). Tetapi semua
tergantung pada aplikasi yang anda buat, apakah anda hanya menggunakan
sekali-kali pada field yang benar-benar harus unik, seperti alamat email,
username dari sistem aplikasi registrasi (sistem login). Anda tidak dapat
mendefinisikan sekaligus PRIMARY KEY dan UNIQUE dalam sebuah field,
karena PRIMARY KEY sudah didesain harus mengikut aturan unik

11. TUGAS
9. Tuliskan output dari masing-masing sintaks di atas (pada kegiatan praktikum)
Jawab : sudah terlampir pada kegiatan praktikum

10. Tugas tambahan


Jawab : -

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.

SELECT namakolom FROM namatabel WHERE kondisi operator


perbandingan ALL (subquery);

 Sub query dengan ANY

Command ANY diikuti dengan operator perbandingan memiliki arti menampilkan


nilai yang sesuai dengan apapun yang dihasilkan oleh sub query. ANY berbeda dengan
IN, jika IN itu semua data, sedangkan ANY hanya beberapa data. Contoh query dasar
dari sub query ANY

SELECT namakolom FROM namatabel WHERE kondisi operator 


perbandingan ANY (subquery);

Sub query dengan EXISTS

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

SELECT namakolom FROM namatabel WHERE EXIST / NOT


EXIST (subquery);

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

Dalam kegiatan ini melakukan pengelompokkan kategori nilai mahasiswa.


Pengelompokkan ini berdasarkan nilai dan kategori nilainya menggunakan abjad dari
A-D seperti terlihat pada gambar diatas.

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

Terlihat 3 nama dosen yang memiliki salary diatas rata-rata

6. Tuliskan NIM,Nama mahasiswa, dan mata kuliah dengan nilai terbaik.

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;

For For var in (reverse) index_min,


Index_max loop
Statmen-statmen;
End loop;

While While
While kondisi loop
Statemen-statemen;
End loop;

3. Dapatkan dibuat fungsi atau prosedur dalam sintaks SQL? Jelaskan!


Yang dimaksud dengan prosedur tersimpan adalah suatu modul yang berisi
kumpulan pernyataan sql yang ditujukan untuk melaksanakan tugas tertentu dan
letaknya ada pada server modul ini dapat dipanggil oleh klien, sedangkan
pengeksekusi dilakukan di server.
Keuntungan : Meningkatkan kinerja
Meningkatkan keamanan
Meningkatkan integritas data (konsistensi data)

Kelemahan : Server akan lebih terbebani

C. Kesimpulan dan Saran


Kesimpulan
o Sub Query merupakan query yang digunakan untuk menspesifikasikan
perintah yang memiliki kondisi tertentu dengan cara memberikan perintah
SELECT di dalam SELECT dan biasanya terdiri dari beberapa kondisi tertentu,
serta menggunakan beberapa operator.
o Jenis subquery :
ALL
ANY
EXIST
IN

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

Nama : Ibnu Zidni Ilman

NIM : A710160069

Program Studi : Pendidikan Teknik Informatika

Fakultas : Keguruan dan Ilmu Pendidikan

TTL : Tegal, 10 Maret 1997

Agama : Islam

Status : Mahasiswa

Alamat : Tb.Lor, Tegal

Kesan : Di praktikum ini banyak sekali ilmu yang belum


pernah saya dapatkan sebelumnya.

Pesan : Semoga Praktikum ini ditahun depan lebih maju


lagi dari tahun sebelumnya.

Kritik : Waktu yang digunakan untuk Praktikum Basis


Data terlalu singkat sehingga ilmu yang
didapatkan tidak terlalu banyak.

Saran : Sebaiknya Praktikum ini ditambah waktunya


supaya lebih bisa memahami lagi.

Вам также может понравиться