Anda di halaman 1dari 70

LAPORAN PRAKTIKUM TEKNOLOGI BASIS DATA

MODUL 1

IPLEMENTASI DASAR DATABASE ORACLE

KELAS PRAKTIKUM BASIS DATA – TIK2071_C

KELOMPOK 11 :

1. LEONARDUS PAAT 220211060231


2. FADEL PELEALU 220211060314
3. FRICO PUTUNG 220211060359
4. AXL BANUARLI 20021106007
5. MOH. DAMOPOLII 220211060132

ASISTEN: ALBERT MANGIRI

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SAM RATULANGI
MANADO
2023
PERCOBAAN
No. Percobaan: 1.1a
Soal Percobaan:
Shutdown database dengan mengetik perintah berikut pada command prompt
a. sqlpplus / as sysdba (Untuk masuk ke database dengan privilege system admin)
Statement SQL/: Tujuan/Penjelasan Query:
sqlplus / as sysdba Tujuan dari statement query atau
command-line tersebut adalah untuk masuk
ke SQLPlus sebagai pengguna sysdba.
Penjelasannya pada sql sebagai berikut :
Melakukan koneksi ke database Oracle
sebagai pengguna sysdba tanpa
memasukkan kata sandi, karena tanda "/"
digunakan untuk otentikasi operasi sysdba
Hasil Query/SQL:
Masuk dalam sql menggunakan system database administrator (SYSDBA)

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.1b
Soal Percobaan:
Shutdown database dengan mengetik perintah berikut pada command prompt
b. shutdown
Statement SQL/: Tujuan/Penjelasan Query:
shutdown Tujuan dari statement query atau
command-line tersebut adalah untuk
mematikan semua layanan dari database
ORACLE.
Penjelasannya pada sql sebagai berikut :
Menghentikan operasi database Oracle
sehingga tidak dapat diakses atau
digunakan..
Hasil Query/SQL:
shutdown semua layanan sql pada setiap database dan instance dari ORACLE.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.2
Soal Percobaan:
Stop Oracle service menggunakan control panel (stop oracleserviceXE dan listener-nya)
atau gunakan perintah berikut pada Command Prompt:
Statement SQL: Tujuan/Penjelasan Query:
lsnrctl stop Tujuan dari statement query atau
command-line tersebut adalah untuk
menghentikan listener Oracle.
Penjelasannya sebagai berikut :
Menghentikan listener yang mendengarkan
koneksi ke database Oracle, sehingga tidak
ada koneksi baru yang dapat diterima.
Hasil Query/SQL:
Memberikan perintah lsnrctl stop untuk menghentikan listener.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.3
Soal Percobaan:
Rename atau copy C:\oraclexe\app\oracle\11.2.0\server\dbs\spfileXE.ora ke
C:\oracleXE\app\product\11.2.0\server\dbs\spfilePRAKTBD.ora
Statement SQL:- Tujuan/Penjelasan Query:-
Hasil Query/SQL:
Rename atau copy spfileXE menjadi spfilePRAKTBD

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.4
Soal Percobaan:
Buatlah file C:\oraclexe\app\oracle\product\10.2.0\server\database\initPRAKTBD.ora
dengan meng-copy file C:\oraclexe\app\oracle\product\10.2.0\server\database\initXE.ora
kemudian memodifikasi baris di dalam file tersebut untuk merujuk pada spfile yang baru
(spfilePRAKTBD.ora)
Statement SQL:- Tujuan/Penjelasan Query:-
Hasil Query/SQL:
➢ Copy paste dari file initXE.ora dan mengganti menjadi initPRAKTBD.ora

➢ Mengubah isi konfigurasi dari spfileXE.ora menjadi spfilePRAKTBD.ora

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.5a
Soal Percobaan:
Buatlah service baru untuk menjalankan database dan hapus service yang lama dengan
perintah berikut:
Statement SQL: Tujuan/Penjelasan Query:
oradim -new -sid PRAKTBD - Tujuan dari statement query atau
startmode auot -pfile command-line tersebut adalah untuk
C:\oraclexe\app\oracle\product membuat instance Oracle baru dengan
\10.2.0\server\database\initPR nama SID "PRAKTBD".
AKTBD.ora Penjelasannya pada setiap command-line
sebagai berikut :
Menggunakan utilitas oradim untuk
membuat instance Oracle baru dengan SID
"PRAKTBD", menetapkan mode start
otomatis, dan menentukan lokasi file
parameter (pfile) untuk instance tersebut.
Hasil Query/SQL:
Membuat instance baru dengan nama PRAKTBD

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.5b
Soal Percobaan:
Buatlah service baru untuk menjalankan database dan hapus service yang lama dengan
perintah berikut:
Statement SQL: Tujuan/Penjelasan Query:
oradim -delete -sid XE Tujuan dari statement query atau
command-line tersebut adalah untuk
menghapus instance Oracle dengan nama
SID "XE". Penjelasannya pada setiap
command-line sebagai berikut :
oradim -delete -sid XE : Menggunakan
utilitas oradim untuk menghapus instance
Oracle dengan SID "XE".
Hasil Query/SQL:
Menghapus instance sebelumnya yang bernama XE

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.6
Soal Percobaan:
Start kembali listener dengan perintah:
Statement SQL: Tujuan/Penjelasan Query:
lsnrctl start Tujuan dari statement query atau
command-line tersebut adalah untuk
menjalankan listener Oracle.
Penjelasannya sebagai berikut :
Perintah “lsnrctl start” untuk memulai
kembali listener Oracle sehingga dapat
menerima koneksi baru ke database Oracle.
Hasil Query/SQL:
Memberikan command-line lsnrctl start untuk memulai listener dari oracle

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.7
Soal Percobaan:
Set Environment Variable di Windows dengan perintah:
Statement SQL: Tujuan/Penjelasan Query:
set ORACLE_SID=PRAKTBD Tujuan dari statement query atau
command-line tersebut adalah untuk
menetapkan nilai SID Oracle menjadi
"PRAKTBD".
Penjelasannya sebagai berikut :
menetapkan nilai SID Oracle menjadi
"PRAKTBD" sebelum masuk ke dalam sql
untuk mengakses setiap database Oracle.
Hasil Query/SQL:
Memberikan command ORACLE_SID yang akan dijalankan pada PRAKTBD

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.8a
Soal Percobaan:
Database nantinya akan teregister dengan listener, namun untuk memastikan proses ini
berjalan, jalankan perintah berikut:
Statement SQL: Tujuan/Penjelasan Query:
sqlplus / as sysdba Tujuan dari statement query atau
command-line tersebut adalah untuk masuk
ke SQLPlus sebagai pengguna sysdba.
Penjelasannya sebagai berikut :
Kembali masuk ke SQL*Plus sebagai
pengguna sysdba setelah langkah
sebelumnya yang melibatkan perubahan
SID.
Hasil Query/SQL:
Masuk dalam sql menggunakan system database administrator (SYSDBA)

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.8b
Soal Percobaan:
Database nantinya akan teregister dengan listener, namun untuk memastikan proses ini
berjalan, jalankan perintah berikut:
Statement SQL: Tujuan/Penjelasan Query:
alter system register; Tujuan dari statement query atau
command-line tersebut adalah untuk
melakukan pendaftaran pada instance
PRAKTBD.
Penjelasannya sebagai berikut :
Menggunakan pernyataan SQL untuk
mendaftarkan kembali instance Oracle
dengan listener sehingga listener dapat
menangkap koneksi ke instance tersebut.
Hasil Query/SQL:
Melakukan register pada instance yang telah dibuat

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 1.9
Soal Percobaan:
Statement SQL: Tujuan/Penjelasan Query:
select instance_name Tujuan dari statement query atau
from$instance command-line tersebut adalah untuk
melihat informasi status instance Oracle.
Penjelasannya sebagai berikut :
Mengeksekusi pernyataan SQL untuk
menampilkan nama instance dan statusnya
dari tampilan data dinamis v$instance.
Hasil Query/SQL:
Memberikan query untuk melihat instance yang sedang berjalan.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 2.1
Soal Percobaan:
Buka sqlplus (Run SQL Commandline) atau jika menggunakan Command Prompt,
jalankan perintah berikut:
Statement SQL: Tujuan/Penjelasan Query:
sqlplus /nolog Tujuan dari statement query atau
command-line tersebut adalah untuk
membuka SQLPlus tanpa melakukan
otentikasi. Penjelasannya sebagai berikut :
Mengakses SQLPlus tanpa segera
melakukan otentikasi, sehingga pengguna
harus melakukan langkah selanjutnya
untuk terhubung ke database.
Hasil Query/SQL:
Memberikan command sqlplus /nolog untuk mengakses sql tanpa otentikasi

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 2.2
Soal Percobaan:
Akses oracle database dengan menggunakan account administrator (username: sys dan
password: learnoracle) yang telah di-set saat instalasi.
Statement SQL: Tujuan/Penjelasan Query:
connect Tujuan dari statement query atau
command-line tersebut adalah untuk
memulai proses koneksi ke database.
Penjelasannya sebagai berikut :
Menjalankan perintah connect tanpa
argumen setelah sqlplus /nolog akan
meminta pengguna untuk memasukkan
kredensial (username dan password) untuk
terhubung ke database.
Hasil Query/SQL:
Memberikan query connect untuk masuk ke user system.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 2.3
Soal Percobaan:
Secara default schema HR terkunci. Jalankan perintah berikut untuk membuka akses ke
schema HR:
Dengan perintah tersebut kita membuka account ke schema HR dengan username ‘HR’ dan
password ‘hrpass’.
Statement SQL: Tujuan/Penjelasan Query:
ALTER USER hr IDENTIFIED BY Tujuan dari statement query atau
hrpass ACCOUNT UNLOCK; command-line tersebut adalah untuk
mengubah kata sandi dan membuka akun
pengguna "hr".
Penjelasannya sebagai berikut :
Menggunakan pernyataan ALTER USER
untuk mengganti kata sandi pengguna "hr"
dengan "hrpass" dan membuka akun
pengguna yang mungkin terkunci.
Hasil Query/SQL:
Memberikan query ALTER USER untuk membuka akun pengguna yang terkunci.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 2.4
Soal Percobaan:
Akses schema HR dengan perintah berikut:
Statement SQL: Tujuan/Penjelasan Query:
connect hr/hrpass Tujuan dari statement query atau
command-line tersebut adalah untuk
terhubung ke database sebagai pengguna
"hr" dengan kata sandi "hrpass".
Penjelasannya sebagai berikut :
Menggunakan perintah connect dengan
menyertakan kredensial pengguna dan kata
sandi untuk melakukan otentikasi dan
terhubung ke database.
Hasil Query/SQL:
Memberikan query connect untuk masuk ke user “hr”.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 2.5
Soal Percobaan:
Melihat semua tabel yang ada dalam schema ‘HR
Statement SQL: Tujuan/Penjelasan Query:
select table_name from Tujuan dari statement query atau
all_tables where owner = ‘HR’; command-line tersebut adalah untuk
menampilkan nama tabel yang dimiliki
oleh pengguna "HR".
Penjelasannya sebagai berikut :
Menjalankan pernyataan SQL untuk
mengambil daftar nama tabel yang dimiliki
oleh pengguna "HR" dari katalog data
all_tables.
Hasil Query/SQL:
Memberikan query untuk mengecek semua tabel dari user “HR”.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 2.6
Soal Percobaan:
Melihat deskripsi dari tabel, contoh: tabel EMPLOYEES;
Statement SQL: Tujuan/Penjelasan Query:
describe employees; Tujuan dari statement query atau
command-line tersebut adalah untuk
menampilkan struktur kolom (metadata)
dari tabel "employees".
Penjelasannya sebagai berikut :
Menggunakan perintah describe untuk
menampilkan informasi struktur kolom
dari tabel "employees". Informasi ini
mencakup nama kolom, tipe data, dan
batasan lainnya yang terkait dengan kolom-
kolom dalam tabel tersebut.
Hasil Query/SQL:
Memberikan query describe untuk mengecek deskripsi tabel employees.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.1
Soal Percobaan:
Akses database oracle menggunakan account administrator (langkah-2 pada Percobaan 2).
Untuk memeriksa status user account yang sedang aktif, gunakan perintah:
Statement SQL: Tujuan/Penjelasan Query:
show user; Tujuan dari statement query atau
command-line tersebut adalah untuk
menampilkan nama pengguna saat ini yang
terotentikasi di Oracle.
Penjelasannya sebagai berikut :
Perintah ini digunakan untuk menampilkan
nama pengguna saat ini yang terotentikasi
di sesi Oracle. Ini berguna untuk
memverifikasi identitas pengguna yang
sedang digunakan untuk berinteraksi
dengan database.
Hasil Query/SQL:
Memberikan query show pada user untuk meliha user yang sedang digunakan.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.2
Soal Percobaan:
Buat user dengan nama toko_online dengan password online.
Sampai pada tahap ini, schema toko_online telah dibuat dalam Database Oracle namun
tanpa privilege.
Statement SQL: Tujuan/Penjelasan Query:
CREATE USER toko_online Tujuan dari statement query atau
IDENTIFIED BY online; command-line tersebut adalah untuk
Membuat pengguna baru dengan nama
"toko_online" dan kata sandi "online".
Penjelasannya sebagai berikut :
Pernyataan CREATE USER digunakan
untuk membuat pengguna baru dalam
database Oracle. Dalam hal ini, pengguna
baru disebut "toko_online" dan diberi kata
sandi "online".
Hasil Query/SQL:
Memberikan query untuk membuat user baru yang bernama toko_online.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.3a
Soal Percobaan:
Untuk memberikan privilege pada user, digunakan perintah GRANT. Bentuk umum dari
printah tersebut adalah sebagai berikut:
GRANT <jenis_privelege> TO <user>;

Jalankan printah berikut untuk memberikan privilege yang dibutuhkan ke user toko_online
Statement SQL: Tujuan/Penjelasan Query:
GRANT CREATE SESSION to Tujuan dari statement query atau
toko_online; command-line tersebut adalah memberikan
hak akses pada pengguna “toko_online”
untuk membuat sesi dalam database.
Penjelasannya sebagai berikut :
Pernyataan GRANT digunakan untuk
memberikan hak istimewa CREATE
SESSION kepada pengguna "toko_online"
sehingga dapat membuat sesi dan
terhubung ke database.
Hasil Query/SQL:
Memberikan query grant agar user toko_online bisa mendapatkan hak akses membuat sesi.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.3b
Soal Percobaan:
Untuk memberikan privilege pada user, digunakan perintah GRANT. Bentuk umum dari
printah tersebut adalah sebagai berikut:
GRANT <jenis_privelege> TO <user>;

Jalankan printah berikut untuk memberikan privilege yang dibutuhkan ke user toko_online
Statement SQL: Tujuan/Penjelasan Query:
GRANT CREATE TABLE to Tujuan dari statement query atau
toko_online; command-line tersebut adalah memberikan
hak akses pada pengguna “toko_online”
untuk membuat tabel.
Penjelasannya sebagai berikut :
Pernyataan GRANT memberikan hak
istimewa CREATE TABLE kepada
pengguna "toko_online".
Hasil Query/SQL:
Memberikan query grant agar user toko_online bisa mendapatkan hak akses membuat tabel

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.3c
Soal Percobaan:
Untuk memberikan privilege pada user, digunakan perintah GRANT. Bentuk umum dari
printah tersebut adalah sebagai berikut:
GRANT <jenis_privelege> TO <user>;

Jalankan printah berikut untuk memberikan privilege yang dibutuhkan ke user toko_online
Statement SQL: Tujuan/Penjelasan Query:
GRANT UNLIMITED TABLESPACE to Tujuan dari statement query atau
toko_online; command-line tersebut adalah memberikan
hak akses pada pengguna “toko_online”
untuk menggunakan ruang tabel tanpa
batasan.
Penjelasannya sebagai berikut :
Pernyataan GRANT UNLIMITED
TABLESPACE memberikan hak kepada
pengguna "toko_online" untuk
menggunakan ruang tabel tanpa batasan,
memungkinkan untuk menyimpan data
tanpa pembatasan ukuran.
Hasil Query/SQL:
Memberikan query grant agar user toko_online bisa menggunakan ruang tabel tanpa batas.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.3d
Soal Percobaan:
Untuk memberikan privilege pada user, digunakan perintah GRANT. Bentuk umum dari
printah tersebut adalah sebagai berikut:
GRANT <jenis_privelege> TO <user>;

Jalankan printah berikut untuk memberikan privilege yang dibutuhkan ke user toko_online
Statement SQL: Tujuan/Penjelasan Query:
GRANT SELECT ANY TABLE to Tujuan dari statement query atau
toko_online; command-line tersebut adalah memberikan
hak akses pada pengguna “toko_online”
untuk megengeksekusi pernyataan
SELECT pada tabel apapun.
Penjelasannya sebagai berikut :
Pernyataan GRANT SELECT ANY
TABLE memberikan hak kepada pengguna
"toko_online" untuk mengeksekusi
pernyataan SELECT pada tabel apa pun
dalam database.
Hasil Query/SQL:
Memberikan query grant agar user toko_online bisa mendapatkan hak akses SELECT.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.3e
Soal Percobaan:
Untuk memberikan privilege pada user, digunakan perintah GRANT. Bentuk umum dari
printah tersebut adalah sebagai berikut:
GRANT <jenis_privelege> TO <user>;

Jalankan printah berikut untuk memberikan privilege yang dibutuhkan ke user toko_online
Statement SQL: Tujuan/Penjelasan Query:
GRANT UPDATE ANY TABLE to Tujuan dari statement query atau
toko_online; command-line tersebut adalah memberikan
hak akses pada pengguna “toko_online”
untuk megengeksekusi pernyataan
UPDATE pada tabel apapun.
Penjelasannya sebagai berikut :
Pernyataan GRANT UPDATE ANY
TABLE memberikan hak kepada pengguna
"toko_online" untuk mengeksekusi
pernyataan UPDATE pada tabel apa pun
dalam database.
Hasil Query/SQL:
Memberikan query grant agar user toko_online bisa mendapatkan hak akses SELECT.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.3f
Soal Percobaan:
Untuk memberikan privilege pada user, digunakan perintah GRANT. Bentuk umum dari
printah tersebut adalah sebagai berikut:
GRANT <jenis_privelege> TO <user>;

Jalankan printah berikut untuk memberikan privilege yang dibutuhkan ke user toko_online
Statement SQL: Tujuan/Penjelasan Query:
GRANT INSERT ANY TABLE to Tujuan dari statement query atau
toko_online; command-line tersebut adalah memberikan
hak akses pada pengguna “toko_online”
untuk megengeksekusi pernyataan
INSERT dan DROP pada tabel apapun.
Penjelasannya sebagai berikut :
Pernyataan GRANT INSERT ANY
TABLE memberikan hak kepada pengguna
"toko_online" untuk mengeksekusi
pernyataan INSERT pada tabel apa pun
dalam database.
Hasil Query/SQL:
Memberikan query grant agar user toko_online bisa mendapatkan hak akses INSERT.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.3g
Soal Percobaan:
Untuk memberikan privilege pada user, digunakan perintah GRANT. Bentuk umum dari
printah tersebut adalah sebagai berikut:
GRANT <jenis_privelege> TO <user>;

Jalankan printah berikut untuk memberikan privilege yang dibutuhkan ke user toko_online
Statement SQL: Tujuan/Penjelasan Query:
GRANT DROP ANY TABLE to Tujuan dari statement query atau
toko_online; command-line tersebut adalah memberikan
hak akses pada pengguna “toko_online”
untuk membuat megengeksekusi
pernyataan DROP pada tabel apapun.
Penjelasannya sebagai berikut :
Pernyataan GRANT DROP ANY TABLE
memberikan hak kepada pengguna
"toko_online" untuk mengeksekusi
pernyataan DROP pada tabel apa pun
dalam database.
Hasil Query/SQL:
Memberikan query grant agar user toko_online bisa mendapatkan hak akses DROP.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.4a
Soal Percobaan:
Akses ke schema toko_online dan buatlah tabel CUSTOMERS dengan atribut
CUSTOMER_ID sebagai Primary Key
Statement SQL: Tujuan/Penjelasan Query:
connect Tujuan dari statement query tersebut
adalah untuk mengkoneksikan pada user
atau pengguna untuk membuat tabel baru
bernama customers dengan definisi kolom
dengan tipe data yang terkait.
Penjelasannya sebagai berikut :
Pernyataan CONNECT digunakan untuk
menghubungkan pengguna ke basis data
dengan menyediakan informasi keamanan
seperti nama pengguna (username) dan
kata sandi (password). database adalah
nama basis data yang ingin diakses. Setelah
dijalankan, pengguna akan masuk ke sesi
basis data yang ditentukan.
Hasil Query/SQL:
Melakukan koneksi untuk login sebagai pengguna/user yang terdaftar.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.4b
Soal Percobaan:
Akses ke schema toko_online dan buatlah tabel CUSTOMERS dengan atribut
CUSTOMER_ID sebagai Primary Key
Statement SQL: Tujuan/Penjelasan Query:
CREATE TABLE customers ( Tujuan dari statement query tersebut
customer_id VARCHAR2(4), adalah untuk membuat tabel baru bernama
customer_name VARCHAR2(50), customers dengan definisi kolom dengan
address VARCHAR2(100), tipe data yang terkait.
contact VARCHAR2(100), Penjelasannya sebagai berikut :
CONSTRAINT cust_id_pk PRIMARY ➢ CREATE TABLE customers ( :
KEY(customer_id)); Membuat tabel baru dengan nama
customers.
➢ customer_id VARCHAR2(4), :
Menentukan kolom customer_id
dengan tipe data VARCHAR2 dan
panjang karakter maksimal 4.
➢ customer_name VARCHAR2(50), :
Menentukan kolom customer_name
dengan tipe data VARCHAR2 dan
panjang karakter maksimal 50.
➢ address VARCHAR2(100), :
Menentukan kolom address dengan tipe
data VARCHAR2 dan panjang karakter
maksimal 100.
➢ contact VARCHAR2(100), :
Menentukan kolom "contact" dengan
tipe data VARCHAR2 dan panjang
karakter maksimal 100.
➢ CONSTRAINT cust_id_pk PRIMARY
KEY(customer_id) : Menetapkan
batasan bahwa kolom customer_id
merupakan kunci primer (PRIMARY
KEY) dengan nama cust_id_pk. Ini
memastikan bahwa nilai dalam kolom
customer_id harus unik dan tidak boleh
NULL.
➢ ) : Menutup pernyataan CREATE
TABLE.
Hasil Query/SQL:
Membuat tabel baru bernama customers.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.5
Soal Percobaan:
Buatlah tabel COMMODITY dengan atribut COMMODITY_ID sebagai Primary Key dan
atribut UNIT_PRICE sebagai atribut non-null.
Statement SQL: Tujuan/Penjelasan Query:
CREATE TABLE commodities ( Tujuan dari statement query tersebut
commodity_id VARCHAR2(4), adalah untuk Membuat tabel baru bernama
commodity_name VARCHAR2(25), "commodities" dengan definisi kolom
unit_price NUMBER(8,2) NOT dengan tipe data yang terkait.
NULL, Berikut ini adalah penjelasan untuk
CONSTRAINT comm_id_pk PRIMARY statement query :
KEY(commodity_id)); ➢ CREATE TABLE commodities ( :
Membuat tabel baru dengan nama
commodities.
➢ commodity_id VARCHAR2(4), :
Menentukan kolom commodity_id
dengan tipe data VARCHAR2 dan
panjang karakter maksimal 4.
➢ commodity_name VARCHAR2(25), :
Menentukan kolom commodity_name
dengan tipe data VARCHAR2 dan
panjang karakter maksimal 25.
➢ unit_price NUMBER(8,2) NOT NULL,
: Menentukan kolom unit_price dengan
tipe data NUMBER yang dapat
menyimpan angka dengan panjang
maksimal 8 digit, termasuk 2 digit di
belakang koma. NOT NULL
menunjukkan bahwa kolom ini harus
memiliki nilai (tidak boleh NULL).
➢ CONSTRAINT comm_id_pk
PRIMARY KEY(commodity_id) :
Menetapkan batasan bahwa kolom
commodity_id merupakan kunci primer
(PRIMARY KEY) dengan nama
comm_id_pk. Ini memastikan bahwa
nilai dalam kolom commodity_id harus
unik dan tidak boleh NULL.
➢ ) : Menutup pernyataan CREATE
TABLE.
Hasil Query/SQL:
Memberikan query untuk membuat tabel baru bernama commodities.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.6
Soal Percobaan:
Buatlah tabel ORDERS dengan atribut ORDER_ID sebagai Primary Key, atribut
COMMODITY_ID dan CUSTOMER_ID sebagai Foreign Key, atribut UNITS dan
TOTAL_COST sebagai atribut nonnull, dan menambahkan CONSTRAINT pada atribut
numerik untuk menerima nilai lebih besar dari nol.
Statement SQL: Tujuan/Penjelasan Query:
CREATE TABLE orders( Tujuan dari statement query tersebut
order_id VARCHAR2(4), adalah untuk membuat tabel baru bernama
customer_id VARCHAR2(4), orders dengan definisi kolomdengan tipe
commodity_id VARCHAR2(4), data yang terkait. Berikut ini adalah
units NUMBER(8,2) NOT NULL, penjelasan untuk statement query :
total_cost NUMBER(8,2) NOT ➢ CREATE TABLE orders( : Membuat
NULL, tabel baru dengan nama orders.
CONSTRAINT ordr_id_pk PRIMARY ➢ order_id VARCHAR2(4), :
KEY(order_id), Menentukan kolom order_id dengan
CONSTRAINT ordr_cust_fk tipe data VARCHAR2 dan panjang
FOREIGN KEY (customer_id) karakter maksimal 4.
REFERENCES ➢ customer_id VARCHAR2(4), :
customers(customer_id), Menentukan kolom customer_id
CONSTRAINT ordr_comm_fk dengan tipe data VARCHAR2 dan
FOREIGN KEY (commodity_id) panjang karakter maksimal 4.
REFERENCES ➢ commodity_id VARCHAR2(4), :
commodities(commodity_id),
Menentukan kolom commodity_id
CONSTRAINT check_unit
dengan tipe data VARCHAR2 dan
CHECK(units > 0),
panjang karakter maksimal 4.
CONSTRAINT check_totl
➢ units NUMBER(8,2) NOT NULL, :
CHECK(total_cost > 0) );
Menentukan kolom units dengan tipe
data NUMBER yang dapat menyimpan
angka dengan panjang maksimal 8
digit, termasuk 2 digit di belakang
koma. NOT NULL menunjukkan
bahwa kolom ini harus memiliki nilai
(tidak boleh NULL).
➢ total_cost NUMBER(8,2) NOT NULL,
: Menentukan kolom total_cost dengan
tipe data NUMBER yang dapat
menyimpan angka dengan panjang
maksimal 8 digit, termasuk 2 digit di
belakang koma. NOT NULL
menunjukkan bahwa kolom ini harus
memiliki nilai (tidak boleh NULL).
➢ CONSTRAINT ordr_id_pk PRIMARY
KEY(order_id), : Menetapkan batasan
bahwa kolom order_id merupakan
kunci primer (PRIMARY KEY) dengan
nama ordr_id_pk. Ini memastikan
bahwa nilai dalam kolom order_id
harus unik dan tidak boleh NULL.
➢ CONSTRAINT ordr_cust_fk
FOREIGN KEY (customer_id)
REFERENCES
customers(customer_id), : Menetapkan
batasan kunci asing (FOREIGN KEY)
pada kolom customer_id yang merujuk
ke kolom customer_id dalam tabel
customers.
Hasil Query/SQL:
Memberikan query untuk membuat tabel baru bernama orders.
Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.7a
Soal Percobaan:
Tambahkan data dummy pada tabel-tabel yang telah dibuat dengan perintah INSERT
sebagai berikut:
Statement SQL: Tujuan/Penjelasan Query:
INSERT ALL Tujuan dari statement query tersebut
INTO customers (customer_id, adalah untuk menyisipkan multiple baris
customer_name, address, data ke dalam tabel customers yang telah
contact) VALUES ('C001', dibuat menggunakan pernyataan INSERT
'BDAVIS', 'Boston', ALL. Berikut ini adalah penjelasan untuk
'650.551.4876') statement query :
INTO customers (customer_id, ➢ INSERT ALL : Akan menambahkan
customer_name, address, lebih dari satu data atau nilai dalam
contact) VALUES ('C002', tabel customers.
'SSTEPHEN', 'ST.Louis', ➢ INTO customers (customer_id,
'650.501.9321') customer_name, address, contact)
INTO customers (customer_id, VALUES ('C001', 'BDAVIS', 'Boston',
customer_name, address, '650.551.4876') : Menyisipkan data
contact) VALUES ('C003', pelanggan pertama ke dalam tabel
'DCARTER', 'California', customers dengan nilai tertentu untuk
'650.507.6632') setiap kolom.
SELECT * FROM DUAL;
➢ INTO customers (customer_id,
customer_name, address, contact)
VALUES ('C002', 'SSTEPHEN',
'ST.Louis', '650.501.9321') :
Menyisipkan data pelanggan kedua ke
dalam tabel customers dengan nilai
yang berbeda.
➢ INTO customers (customer_id,
customer_name, address, contact)
VALUES ('C003', 'DCARTER',
'California', '650.507.6632') :
Menyisipkan data pelanggan ketiga ke
dalam tabel customers dengan nilai
yang berbeda.
➢ SELECT * FROM DUAL :
Menciptakan sumber data untuk operasi
INSERT ALL. DUAL adalah tabel
sistem Oracle yang sering digunakan
untuk tujuan menambahkan data
dummy.
Hasil Query/SQL:
Menambahkan data pada tabel customers.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.7b
Soal Percobaan:
Tambahkan data dummy pada tabel-tabel yang telah dibuat dengan perintah INSERT
sebagai berikut:
Statement SQL: Tujuan/Penjelasan Query:
INSERT ALL INTO Tujuan dari statement query tersebut
commodities(commodity_id, adalah untuk menyisipkan multiple baris
commodity_name, unit_price) data ke dalam tabel commodities yang
VALUES ('M001', 'DVD Player', telah dibuat menggunakan pernyataan
109) INSERT ALL. Berikut ini adalah
INTO commodities(commodity_id, penjelasan untuk statement query :
commodity_name, unit_price) ➢ INSERT ALL : Akan menambahkan
VALUES ('M002', 'Cereal', 03) lebih dari satu data atau nilai dalam
INTO commodities(commodity_id, tabel commodities.
commodity_name, unit_price) ➢ INTO commodities(commodity_id,
VALUES ('M003', 'Scrabble', commodity_name, unit_price)
29) VALUES ('M001', 'DVD Player', 109):
SELECT * FROM DUAL; Menyisipkan data komoditas pertama
ke dalam tabel commodities dengan
nilai tertentu untuk setiap kolom.
➢ INTO commodities(commodity_id,
commodity_name, unit_price)
VALUES ('M002', 'Cereal', 03):
Menyisipkan data komoditas kedua ke
dalam tabel commodities dengan nilai
yang berbeda.
➢ INTO commodities(commodity_id,
commodity_name, unit_price)
VALUES ('M003', 'Scrabble', 29):
Menyisipkan data komoditas ketiga ke
dalam tabel commodities dengan nilai
yang berbeda.
➢ SELECT * FROM DUAL:
Menciptakan sumber data untuk operasi
INSERT ALL. DUAL adalah tabel
sistem Oracle yang sering digunakan
untuk membuat data dummy.
Hasil Query/SQL:
Menambahkan data pada tabel commodities.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
No. Percobaan: 3.7c
Soal Percobaan:
Tambahkan data dummy pada tabel-tabel yang telah dibuat dengan perintah INSERT
sebagai berikut:
Statement SQL: Tujuan/Penjelasan Query:
INSERT ALL Tujuan dari statement query tersebut
INTO orders(order_id, adalah untuk menyisipkan multiple baris
customer_id, commodity_id, data ke dalam tabel orders yang telah
units, total_cost) VALUES dibuat menggunakan pernyataan INSERT
('R001', 'C003', 'M002', 50, ALL. Berikut ini adalah penjelasan untuk
150) statement query :
INTO orders(order_id, ➢ INSERT ALL : Akan menambahkan
customer_id, commodity_id, lebih dari satu data atau nilai dalam
units, total_cost) VALUES tabel orders.
('R002', 'C001', 'M003', 30, ➢ INTO orders(order_id, customer_id,
87) commodity_id, units, total_cost)
INTO orders (order_id, VALUES ('R001', 'C003', 'M002', 50,
customer_id, commodity_id, 150): Menyisipkan data pesanan
units, total_cost) VALUES pertama ke dalam tabel orders dengan
('R003', 'C003', 'M001', 6, nilai tertentu untuk setiap kolom.
654) ➢ INTO orders(order_id, customer_id,
SELECT * FROM DUAL;
commodity_id, units, total_cost)
VALUES ('R002', 'C001', 'M003', 30,
87): Menyisipkan data pesanan kedua
ke dalam tabel orders dengan nilai yang
berbeda.
➢ INTO orders (order_id, customer_id,
commodity_id, units, total_cost)
VALUES ('R003', 'C003', 'M001', 6,
654): Menyisipkan data pesanan ketiga
ke dalam tabel orders dengan nilai yang
berbeda.
➢ SELECT * FROM DUAL :
Menciptakan sumber data untuk operasi
INSERT ALL. DUAL adalah tabel
sistem Oracle yang sering digunakan
untuk tujuan seperti ini.
Hasil Query/SQL:
Menambahkan data pada tabel orders.

Analisa Error:-
Penerapan Solusi Akhir:- Penjelasan Statement:-
Hasil Penerapan Solusi Akhir:-
TUGAS
No. Tugas: 1a
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
sqlplus / as sysdba Tujuan dari statement query atau
command-line tersebut adalah untuk masuk
ke SQLPlus sebagai pengguna sysdba.
Penjelasan query sebagai berikut :
Melakukan koneksi ke database Oracle
sebagai pengguna sysdba tanpa
memasukkan kata sandi, karena tanda "/"
digunakan untuk otentikasi operasi sysdba
Melakukan koneksi ke database Oracle
sebagai pengguna sysdba tanpa
memasukkan kata sandi, karena tanda "/"
digunakan untuk otentikasi operasi sysdba.
Hasil Query/SQL:
Masuk ke sql sebagai system database administrator
No. Tugas: 1b
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
Shutdown Tujuan dari statement query atau
command-line tersebut adalah untuk untuk
mematikan semua layanan dari database
ORACLE.
Penjelasan untuk query sebagai berikut :
Menghentikan operasi database Oracle
sehingga tidak dapat diakses atau
digunakan.
Hasil Query/SQL:
Melakukan shutdown pada sql yang terhubung dengan oracle
No. Tugas: 1c
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
lsnrctl stop Tujuan dari statement query atau
command-line tersebut adalah untuk
menghentikan listener Oracle.
Penjelasan untuk query sebagai berikut :
Menghentikan listener yang mendengarkan
koneksi ke database Oracle, sehingga tidak
ada koneksi baru yang dapat diterima.
Hasil Query/SQL:
lsnrctl stop
No. Tugas: 1d
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Tujuan/Penjelasan Query:
Tujuan dari statement query atau
command-line tersebut adalah untuk
membuat server parameter file pada
instance STUDENT. Penjelasan untuk
proses sebagai berikut :
Rename SPFILEPRAKTBD.ORA menjadi
SPFILESTUDENT.ORA untuk
mengkofigurasi instance STUDENT yang
akan dibuat nanti.
Hasil Query/SQL:
Rename atau copy spfilePRAKTBD.ora ke spfileSTUDENT.ora
No. Tugas: 1e
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
Tujuan dari statement query atau
command-line tersebut adalah untuk
membuat spfile yang merujuk pada
initSTUDENT.
Penjelasan untuk proses sebagai berikut :
Copy file initPRAKTBD dan paste menjadi
initSTUDENT serta modifikasi konfigurasi
yang sesuai dengan spfileSTUDENT yang
telah dibuat sebelumnya.
Hasil Query/SQL:
Buatlah file initSTUDENT.ora dengan menyalin file initPRAKTBD.ora kemudian
memodifikasi baris di dalam file tersebut untuk merujuk pada spfile yang baru
(spfileSTUDENT.ora)
No. Tugas: 1f
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
oradim -new -sid STUDENT - Tujuan dari statement query atau
startmode auto -pfile command-line tersebut adalah untuk
C:\oraclexe\app\oracle\product membuat instance Oracle baru dengan
\10.2.0\server\database\initST nama SID "STUDENT".
UDENT.ora Penjelasan untuk command-line sebagai
berikut :
Menggunakan utilitas oradim untuk
membuat instance Oracle baru dengan SID
STUDENT, menetapkan mode start
otomatis, dan menentukan lokasi file
parameter (pfile) untuk instance tersebut.
Hasil Query/SQL:
Membuat service baru dengan nama STUDENT.
No. Tugas: 1g
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
oradim -delete -sid PRAKTBD Tujuan dari statement query atau
command-line tersebut adalah untuk
menghapus instance Oracle dengan nama
SID "PRAKTBD".
Penjelasan untuk command-line sebagai
berikut :
Menggunakan utilitas oradim untuk
menghapus instance Oracle dengan SID
PRAKTBD.
Hasil Query/SQL:
Menghapus instance sebelumnya
No. Tugas: 1h
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
lsnrctl start Tujuan dari statement query atau
command-line tersebut adalah untuk
menjalankan listener Oracle.
Penjelasan untuk command-line sebagai
berikut :
Memulai kembali listener Oracle sehingga
dapat menerima koneksi baru ke database
Oracle.
Hasil Query/SQL:
Start kembali listener
No. Tugas: 1i
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
set ORACLE_SID=STUDENT Tujuan dari statement query atau
command-line tersebut adalah untuk
menetapkan nilai SID Oracle menjadi
"STUDENT". Penjelasan untuk command-
line sebagai berikut :
Mengatur variabel lingkungan yang ada di
windows dengan memberikan perintah
ORACLE_SID yang ditujukan pada
instance yang akan digunakan.
Hasil Query/SQL:
Set Environment Variable ORACLE_SID ditujukan pada instance STUDENT yang telah
dibuat sebelumnya.
No. Tugas: 1j
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
sqlplus / as sysdba Tujuan dari statement query atau
command-line tersebut adalah untuk masuk
ke SQLPlus sebagai pengguna sysdba.
Penjelasan untuk masuk pada sql sebagai
berikut :
Kembali masuk ke SQLPlus sebagai
pengguna sysdba setelah langkah
sebelumnya yang melibatkan perubahan
SID.
Hasil Query/SQL:
Masuk ke dalam database
No. Tugas: 1k
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
alter system register; Tujuan dari statement query atau
command-line tersebut adalah untuk
melakukan pendaftaran pada instance
PRAKTBD.
Penjelasan untuk query sebagai berikut :
Menggunakan pernyataan SQL untuk
mendaftarkan kembali instance Oracle
dengan listener sehingga listener dapat
menangkap koneksi ke instance tersebut.
Hasil Query/SQL:
Melakukan register pada instance STUDENT
No. Tugas: 1l
Soal Tugas:
Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.
Statement SQL: Tujuan/Penjelasan Query:
select instance_name, status Tujuan dari statement query atau
from v$instance; command-line tersebut adalah untuk
melihat informasi status instance Oracle.
Penjelasan untuk query sebagai berikut :
Mengeksekusi pernyataan SQL untuk
menampilkan nama instance dan statusnya
dari tampilan data dinamis v$instance.
Hasil Query/SQL:
Periksa nama instance yang sedang running di dalam sql
No. Tugas: 2a
Soal Tugas:
Buatlah koneksi ke oracle database menggunakan aplikasi SQL Developer.
a. Koneksi dengan user SYS diberi nama “SYS schema”
Statement SQL: Tujuan/Penjelasan Query:
Tujuan dari menggunakan SQL Developer
adalah untuk membuat koneksi ke oracle
database dengan menggunakan koneksi
baru yaitu SYS Schema yang diambil dari
SID System.
➢ Name : SYS Schema
➢ Database Type : Oracle
➢ Username : system
➢ Password : learnoracle
➢ Connection Type : Basic
➢ Hostname : localhost
➢ Port : 1521
➢ SID : student
Selanjutnya klik button “Test” untuk
melihat status connection. Jika hasilnya
adalah “Status : success“ maka connection
telah sesuai dengan ketentuan, selanjutnya
intuk klik button “Connect” untuk
membuat koneksi tersebut.
Hasil Query/SQL:
Pembuatan connection SYS Schema.
Status : succes
No. Tugas: 2b
Soal Tugas:
Buatlah koneksi ke oracle database menggunakan aplikasi SQL Developer.
b. Koneksi dengan user HR diberi nama “HR Schema”
Statement SQL: Tujuan/Penjelasan Query:
Tujuan dari menggunakan SQL Developer
adalah untuk membuat koneksi ke oracle
database dengan menggunakan koneksi
baru yaitu HR Schema dari SID Hr.
➢ Name : HR Schema
➢ Database Type : Oracle
➢ Username : hr
➢ Password : hrpass
➢ Connection Type : Basic
➢ Hostname : localhost
➢ Port : 1521
➢ SID : student
Selanjutnya klik button “Test” untuk
melihat status connection. Jika hasilnya
adalah “Status : success“ maka connection
telah sesuai dengan ketentuan, selanjutnya
intuk klik button “Connect” untuk
membuat koneksi tersebut.
Hasil Query/SQL:
Pembuatan connection HR Schema
Status: succes
No. Tugas: 3a
Soal Tugas:
Buatlah SQL Query untuk menampilkan informasi-informasi berikut berdasarkan schema
HR (menggunakan SQL Developer)
a. Seluruh nama karyawan yang gajinya 10000 ke atas beserta posisinya (first name, last
name, salary, job title)
Statement SQL: Tujuan/Penjelasan Query:
SELECT first_name, last_name, Tujuan dari statement query tersebut
salary, job_title adalah untuk mendapatkan seluruh nama
FROM employees JOIN jobs karyawan yang gajinya lebih dari 10000 ke
ON employees.job_id = atas beserta posisinya.
jobs.job_id Berikut ini penjelasan untuk setiap
WHERE salary > 10000; statement query :
➢ SELECT first_name, last_name, salary,
job_title : Memilih kolom first_name,
last_name, salary, dan job_title.
➢ FROM employees : Tabel sumber
adalah employees.
➢ JOIN jobs ON employees.job_id =
jobs.job_id : Menggabungkan data
dengan jobs berdasarkan job_id.
➢ WHERE salary > 10000; : Memfilter
hasil hanya untuk salary di atas 10000.
Hasil Query/SQL:
Hasil query untuk mendapatkan data karyawan yang gajinya diatas dari 100000 beserta
posisi pekerjaan pada setiap karyawan.
No. Tugas: 3b
Soal Tugas:
Buatlah SQL Query untuk menampilkan informasi-informasi berikut berdasarkan schema
HR (menggunakan SQL Developer)
b. Seluruh karyawan yang bekerja di United States of America (employee first name, job
title, department name dan city)
Statement SQL: Tujuan/Penjelasan Query:
SELECT first_name, job_title, Tujuan dari statement query tersebut
department_name, city FROM adalah untuk mendapatkan seluruh
employees karyawan yang bekerja di United States of
JOIN jobs ON employees.job_id America. Berikut ini penjelasan untuk
= jobs.job_id setiap statement query :
JOIN departments ON ➢ SELECT first_name, job_title,
employees.department_id = department_name, city : Memilih
departments.department_id JOIN kolom first_name, job_title,
locations ON department_name, dan city dari hasil
departments.location_id = query.
locations.location_id ➢ FROM employees : Menunjukkan
JOIN countries ON bahwa sumber data untuk query ini
locations.country_id = adalah tabel employees.
countries.country_id ➢ JOIN jobs ON employees.job_id =
WHERE countries.country_id = jobs.job_id : Melakukan penggabungan
'US'; data dengan tabel jobs berdasarkan
kolom job_id pada kedua tabel,
sehingga data yang berasal dari tabel
employees akan memiliki kolom-kolom
tambahan yang berasal dari tabel jobs.
➢ JOIN departments ON
employees.department_id =
departments.department_id :
Melakukan penggabungan data dengan
tabel departments berdasarkan kolom
department_id pada kedua tabel,
sehingga data yang berasal dari tabel
employees akan memiliki kolom-kolom
tambahan yang berasal dari tabel
departments.
➢ JOIN locations ON
departments.location_id =
locations.location_id : Melakukan
penggabungan data dengan tabel
locations berdasarkan kolom
location_id pada kedua tabel, sehingga
data yang berasal dari tabel employees
akan memiliki kolom-kolom tambahan
yang berasal dari tabel locations.
➢ JOIN countries ON
locations.country_id =
countries.country_id : Melakukan
penggabungan data dengan tabel
countries berdasarkan kolom
country_id pada kedua tabel, sehingga
data yang berasal dari tabel employees
akan memiliki kolom-kolom tambahan
yang berasal dari tabel countries.
➢ WHERE countries.country_id = 'US' :
Memfilter hasil query sehingga hanya
data yang berasal dari negara dengan
country_id sama dengan 'US' (Amerika
Serikat) yang akan dimunculkan.
Hasil Query/SQL:
Hasil query untuk mendapatkan data seluruh karyawan yang bekerja di United States of
America.
No. Tugas: 4a
Soal Tugas:
Jelaskan dan berikan contoh pemanfaatan perintah COMMIT dan ROLLBACK pada
schema
Statement SQL: Tujuan/Penjelasan Query:
INSERT INTO countries VALUES COMMIT adalah perintah yang digunakan
(‘ID’, ‘Indonesia’, 3); agar perintah DML (insert, update, delete)
COMMIT; yang sudah dijalankan sebelumnya
tersimpan secara permanen (tidak bisa di-
rollback). COMMIT memiliki keuntungan
dan kelemahan, antara lain :
➢ Keuntungan: salah satu keuntungan dari
COMMIT adalah konsistensi data,
COMMIT memastikan bahwa
perubahan yang diinginkan
diaplikasikan secara konsisten ke dalam
database.
➢ Kelemahan: salah satu kelemahan dari
COMMIT adalah keputusan untuk
menyimpan perubahan secara permanen
membuatnya tidak dapat dibatalkan.

Sebagai contoh, pada gambar tersebut


melakukan statement query INSERT INTO
countries VALUES (‘ID’, ‘Indonesia’, 3);
COMMIT;. Untuk penjelasan query
sebagai berikut :
➢ INSERT INTO countries: Menyatakan
bahwa kita akan menyisipkan data ke
dalam tabel countries.
➢ VALUES ('ID', 'Indonesia', 3):
Menentukan nilai yang akan
dimasukkan ke dalam kolom-kolom
tabel. Dalam hal ini: ID akan
dimasukkan ke dalam kolom
country_id. Indonesia akan dimasukkan
ke dalam kolom country_name. 3 akan
dimasukkan ke dalam kolom region_id.
➢ COMMIT: Menyatakan bahwa
transaksi yang dilakukan sejauh ini
akan dikonfirmasi, dan perubahan akan
diterapkan ke dalam database.
Hasil Query/SQL:
Contoh penerapan COMMIT menggunakan statement query INSERT untuk menambahkan
data baru pada tabel countries, selanjutnya menggunakan COMMIT.
No. Tugas: 4b
Soal Tugas:
Jelaskan dan berikan contoh pemanfaatan perintah COMMIT dan ROLLBACK pada
schema
Statement SQL: Tujuan/Penjelasan Query:
DELETE FROM countries WHERE ROLLBACK adalah perintah untuk untuk
country_id = ‘ID’; membatalkan perubahan yang dilakukan
ROLLBACK; dalam suatu transaksi dan mengembalikan
database ke keadaan sebelum transaksi
dimulai.. COMMIT memiliki keuntungan
dan kelemahan, antara lain :
➢ Keuntungan: salah satu keuntungan dari
ROLLBACK adalah bisa recovery dari
kesalahan, memungkinkan pemulihan
dari kesalahan dan menjaga integritas
data, serta dapat membatalkan
perubahan yang belum di COMMIT.
➢ Kelemahan: salah satu kelemahan
adalah tidak menjamin konsistensi data,
jika beberapa perubahan sudah di
COMMIT, ROLLBACK tidak dapat
memastikan konsistensi data.

Sebagai contoh, pada gambar tersebut


melakukan statement query
DELETE FROM countries WHERE
country_id = ‘ID’;
ROLLBACK;. Untuk penjelasan query
sebagai berikut :
➢ DELETE FROM countries:
Menyatakan bahwa kita akan
menghapus data dari tabel countries.
➢ WHERE country_id = 'ID':
Menentukan kondisi untuk menghapus
data. Hanya data yang memiliki nilai ID
pada kolom country_id yang akan
dihapus.
➢ ROLLBACK: Membatalkan
perubahan-perubahan yang dilakukan
sejak transaksi terakhir dimulai. Jika
ada kesalahan atau jika pengguna ingin
membatalkan operasi DELETE,
pernyataan ROLLBACK dapat
digunakan untuk mengembalikan
database ke keadaan sebelum perintah
DELETE dijalankan. Jika ROLLBACK
dijalankan setelah DELETE, maka
perubahan yang dihasilkan oleh
DELETE akan dibatalkan, dan data
yang telah dihapus tidak akan hilang
dari tabel.
Hasil Query/SQL:
Contoh penerapan ROLLBACK, menggunakan statement query DELETE untuk
menghapus data dengan fields country_id = ‘ID’ pada tabel countries. Ketika melakukan
pemeriksaan pada tabel countries untuk memastikan data yang dipilih kembali ke awal
sebelum dilakukan ROLLBACK, untuk data dengan country_id = ‘ID’ masih ditemukan
pada tabel countries, artinya data tersebut tidak bisa dikembalikan seperti awal disebabkan
adanya tindakan COMMIT pada sebelum menggunakan DELETE.
➢ Hasil ketika menggunakan ROLLBACK.
➢ Pemeriksaan data dengan field country_id = ‘ID’

Anda mungkin juga menyukai