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

LAPORAN PRAKTIKUM

BASIS DATA

Oleh :
Artita Rose Wardany A710160067

Pendidikan Teknik Informatika


Fakultas Keguruan dan Ilmu Pendidikan
Universitas Muhammadiyah Surakarta
2019
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
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.
Datadata 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-
danmanfaat-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-
danperancangan-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 ( )
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
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, First_Name))

Jika kamu 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


nonalpanumerik 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
keynya 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/norm
al-0-false-false-false-false-en-us.html (Diakses pada 21 Oktober
2018).
❖ http://arliansyahazhary.blogspot.com/2015/06/mysqldatabas
e-percobaan-1_61.html
(Diakses pada 21 Oktober 2018).
❖ http://sembilandomba.blogspot.com/2014/04/tugaspraktiku
m-1.html
(Diakses pada 21 Oktober 2018).
❖ http://www.itfreelanceindo.com/readnews/150/PengertianD
atabase,-DBMS,-dan-RDBMS.html ((Diakses pada 22 Oktober
2018).
SELECT - mengambil data dari database

INSERT - menyisipkan data ke dalam tabel

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


kadangkadang 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
datadata (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.
1. Untuk melakukan operasi aritmatika dan logis pada satu tabel
2. Untuk memilih hasil dari dua atau lebih tabel terkait
Sintaks SQL
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>
Gambar 5.1 : Permulaan
Artita Rose W praktikum

Artita Rose W
Artita Rose W

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-sqlpaling-lengkap
Diakses pada tanggal 3 Desember 2018.
❖ https://study.com/academy/lesson/structured-
querylanguage-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
ratarata.
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-
groupby-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-
danhaving-untuk-pengelompokkan-data-di-mysql/
Diakses 21 Desember 2018.
❖ https://tiochoirul34.wordpress.com/2018/08/11/peng
gabu ngan-data/
Diakses 22 Desember 2018.
• Ketika sering menggunakan WHERE pada bagian query.
• Ketika sering menggunakan ORDER BY pada bagian query.
• Ketika memiliki banyak perbedaan nilai.
• 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.
Jika operator ‘=’ hanya digunakan untuk hasil yang tepat satu, maka jika
ingin menampilkan yang memiliki hasil lebih dari satu maka
menggunakan perintah IN. Dan struktur Query yang digunakan dalam
hal ini adalah :

SELECT namakolom FROM namatabel WHERE kondisi opeator


perbandingan IN (subquery);

✓ Sub query dengan ALL

Command ALL diikuti dengan operator perbandingan digunakan


memiliki arti menampilkan nilai jika perbandingan bernilai benar
untuk semua data. Operator 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-
abjadklasifikasi)
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

ratarata?
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-intopada-
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-querybasis-
data.html
Diakses 22 Desember 2018.
PENULIS

Nama : Artita Rose Wardany

NIM : A710160067

Program Studi : Pendidikan Teknik Informatika

Fakultas : Keguruan dan Ilmu Pendidikan

TTL : Klaten, 15 Agustus 1998

Agama : Islam

Status : Mahasiswa
Alamat :
Pangean RT.06 RW.11, Majegan, Tulung,
Klaten
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.

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