Anda di halaman 1dari 52

LAPORAN PRAKTIKUM TEKNOLOGI BASIS DATA

MODUL 1

IMPLEMENTASI DASAR DATABASE ORACLE

KELAS PRAKTIKUM BASIS DATA – TIK1092_C

KELOMPOK 12:

1. REYNOLD KARINDA 220211060179


2. KERENHAPUKH .P. WAWORUNTU 220211060165
3. RAVAEL JUNIOR SUWATALBESSY 220211060339
4. JEHESKIEL VICTOR LIWE 220211060224
5. NI MADE S. MUSTIKAYANI 220211060177

ASISTEN: MARSYA PAPONA

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SAM RATULANGI
MANADO
2023
PERCOBAAN
No. Latihan: 1.1a

Soal Latihan:

Shutdown database dengan mengetik perintah berikut pada command prompt :

sqlpplus / as sysdba (Untuk masuk ke database dengan privilege system admin)

Statement SQL: Tujuan/Penjelasan Query:

sqlpplus / as sysdba Perintah "sqlplus / as sysdba" adalah cara


untuk mengakses lingkungan SQL*Plus
dengan hak istimewa "sysdba" di dalam
database Oracle. Ini memungkinkan Anda
untuk mengelola dan mengakses database
Oracle dengan hak istimewa tertinggi.

Hasil Query/SQL:

Analisa Error:

(ERROR). ‘sqlpplus’ is not recognized as an internal or external command, operable


program or batch file. Error ini dikarenakan perintah ‘sqlpplus’ tidak dikenali. Solusinya
yaitu dengan menggunakan perintah ‘sqlplus’.
Penerapan Solusi Akhir: Penjelasan Statement:

sqlplus / as sysdba Mengganti query “sqlpplus / as sysdba”


menjadi “sqlplus / as sysdba” agar supaya
dikenali

Hasil Penerapan Solusi Akhir:


No. Latihan: 1.1b

Soal Latihan:

Shutdown database dengan mengetik perintah berikut pada command prompt :

shutdown

Statement SQL: Tujuan/Penjelasan Query:

shutdown Perintah SHUTDOWN pada Oracle


digunakan untuk menghentikan operasi dan
layanan database Oracle dengan cara yang
terkendali.

Hasil Query/SQL:

Analisa Error: -

Penerapan Solusi Akhir: - Penjelasan Statement: -

Hasil Penerapan Solusi Akhir: -


No. Latihan: 1.2

Soal Latihan:
Stop Oracle service menggunakan control panel (stop oracleserviceXE dan listener-nya)
atau gunakan perintah berikut pada Command Prompt :
lsnrctl stop

Statement SQL: Tujuan/Penjelasan Query:

Perintah lsnrctl stop digunakan untuk


lsnrctl stop
menghentikan (stop) listener Oracle.
Listener adalah komponen dalam sistem
database Oracle yang bertanggung jawab
untuk mendengarkan permintaan koneksi ke
database dan mengarahkannya ke instance
database yang sesuai. Ketika Anda
menjalankan perintah lsnrctl stop, Anda
menghentikan listener sehingga tidak
menerma permintaan koneksi baru.

Hasil Query/SQL:

Analisa Error:-

Penerapan Solusi Akhir:- Penjelasan Statement:-

Hasil Penerapan Solusi Akhir:-


No. Latihan: 1.3

Soal Latihan:
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: -

HasilQuery/SQL:
Kita masuk kedalam path file C:\oraclexe\app\oracle\product\11.2.0\server\dbs\ dan kita akan
mengcopy spfileXE.ora dan melakukan rename menjadi spfilePRAKTBD.ora

Analisa Error:-

Penerapan Solusi Akhir:- Penjelasan Statement:-

Hasil Penerapan Solusi Akhir:-


No. Latihan: 1.4

Soal Latihan:

Buatlah file C:\oraclexe\app\oracle\product\11.2.0\server\database\initPRAKTBD.ora


dengan mengcopy file C:\oraclexe\app\oracle\product\11.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: -

HasilQuery/SQL:
1. Pertama-tama masuk kedalam path file
C:\oraclexe\app\oracle\product\11.2.0\server\database\ dan kita akan mengcopy
initXE.ora dan melakukan rename menjadi initPRAKTBD.ora

2. Membuka file initPRAKTBD.ora sebagai notepad dan memodifikasipath filenya agar merujuk
ke file spfilePRAKTBD dengan menulis
SPFILE='C:\oraclexe\app\oracle\product\11.2.0\server\database/spfilePRAKTBD.ora'

Analisa Error: -

Penerapan Solusi Akhir: - Penjelasan Statement: -

Hasil Penerapan Solusi Akhir: -


No. Latihan: 1.5

Soal Latihan:
Buatlah service baru untuk menjalankan database dan hapus service yang lama dengan
perintah berikut:
a. oradim -new -sid PRAKTBD -startmode auto -pfile
C:\oraclexe\app\oracle\product\11.2.0\server\database\initPRAKTBD.ora
b. oradim -delete -sid XE

Statement SQL: Tujuan/Penjelasan Query:


a) oradim -new -sid PRAKTBD -
a) Untuk membuat layanan Oracle baru
startmode auto -pfile
dengan SID PRAKTBD yang akan
C:\oraclexe\app\oracle\prod
secara otomatis dijalankan saat sistem
uct\11.2.0\server\database\
boot, dan konfigurasi basis data akan
initPRAKTBD.ora
berdasarkan file parameter yang
ditentukan.
• new : Digunakan untuk membuat
layanan baru.
• sid PRAKTBD : Menentukan SID
(System Identifier) untuk basis data
Oracle yang akan dibuat.
• startmode auto : Mengatur layanan
agar dijalankan secara otomatis saat
sistem boot.
• pfile : Merujuk ke file parameter
(PFILE) yang akan digunakan untuk
konfigurasi basis data tersebut

b) oradim -delete -sid XE b). Perintah yang digunakan untuk


mengatur variabel lingkungan
ORACLE_SID ke nilai PRAKTBD.
HasilQuery/SQL:

Analisa Error: -

Penerapan Solusi Akhir: - Penjelasan Statement: -

Hasil Penerapan Solusi Akhir: -


No. Latihan: 1.6
Soal Latihan:
Start kembali listener dengan perintah :
lsnrctl start
Statement SQL: Tujuan/Penjelasan Query:

lsnrctl start Perintah lsncrtl start untuk memulai


kembali listener pada Oracle

Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 1.7

Soal Latihan:
Set Environment Variable di Windows dengan perintah:
set ORACLE_SID=PRAKTBD
Statement SQL: Tujuan/Penjelasan Query:

set ORACLE_SID=PRAKTBD Perintah set ORACLE_SID=PRAKTBD


adalah perintah dalam lingkungan Oracle
yang mengatur variabel lingkungan
ORACLE_SID dengan nilai "PRAKTBD".
Hal ini digunakan untuk menentukan
instance Oracle mana yang akan digunakan
dalam situasi di mana ada beberapa instance
Oracle yang terpasang di sistem yang sama
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 1.8

Soal Latihan:
Database nantinya akan teregister dengan listener, namun untuk memastikan proses ini
berjalan, jalankan perintah berikut:
➢ sqlplus / as sysdba
➢ alter system register;
Statement SQL: Tujuan/Penjelasan Query:

a) sqlplus / as sysdba a) Query ini untuk membuka sesi


SQL*Plus dengan hak akses yang
memiliki kontrol penuh atas basis data
Oracle. Pengguna sysdba memiliki hak
istimewa yang memungkinkan mereka
untuk melakukan tugas administratif
dan pengelolaan tingkat rendah pada
basis data Oracle.

b) alter system register; b) Query ini digunakan untuk


mendaftarkan instance basis data
dengan listener Oracle. Ketika kita
menjalankan perintah ini, instance basis
data akan memberi tahu listener Oracle
bahwa instance tersebut ada dan siap
untuk menerima koneksi.
Hasil Query/SQL:
Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 1.9

Soal Latihan:
Untuk memeriksa status nama instance yang sedang running:
SQL> select instance_name from v$instance;
Statement SQL: Tujuan/Penjelasan Query:

select instance_name from Perintah ini digunakan untuk mengambil


v$instance; informasi tentang nama instance basis data
yang sedang berjalan.
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 2.1

Soal Latihan:
Buka sqlplus (Run SQL Commandline) atau jika menggunakan Command Prompt,
jalankan perintah berikut:
sqlplus /nolog
Statement SQL: Tujuan/Penjelasan Query:

sqlplus /nolog Query ini digunakan untuk membuka sesi


SQL*Plus tanpa mencoba langsung
terhubung ke sebuah basis data. Dalam sesi
ini, kita tidak akan memiliki koneksi
langsung ke basis data, dan kita harus
memasukkan informasi login secara manual
dengan perintah CONNECT jika kita ingin
terhubung ke basis data tertentu.
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 2.2

Soal Latihan:
Akses oracle database dengan menggunakan account administrator (username: sys dan
password: learnoracle) yang telah di-set saat instalasi connect sys/learnoracle
Statement SQL: Tujuan/Penjelasan Query:

Connect Untuk mengakses oracle database


Username : sys menggunakan akun administrator, juga bisa
Password : menggunakan perintah CONN SYS AS
SYSDBA, username : SYS AS SYSDBA
atau SYSTEM jikalau ada error.
Hasil Query/SQL:

Analisa Error:
Ketika kita menggunakan username yang telah diberikan ternyata adaerror yang terjadi ini
karena username yang ditentukan pada saat instalasi adalah SYS AS SYSDBA. Jadi untuk
solusi error tersebut kita harus mengganti username dengan SYS AS SYSDBA atau bisa
juga SYSTEM dan CONN SYS AS SYSDBA.
Penerapan Solusi Akhir: Penjelasan Statement:
• Username : sys as sysdba Mengganti username yang sebelumnya
• Username : SYSTEM SYS tidak bisa digunakan dikarenakan
• Conn sys as sysdba koneksi atau username yg ditentukan
adalah SYS AS SYSDBA.
Hasil Penerapan Solusi Akhir:
No. Latihan: 2.3

Soal Latihan:
Secara default schema HR terkunci. Jalankan perintah berikut untuk membuka akses ke
schema HR :
ALTER USER hr IDENTIFIED BY hrpass ACCOUNT UNLOCK;
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 Dengan perintah tersebut kita membuka


hrpass ACCOUNT UNLOCK; account ke schema HR dengan username
HR dan password hrpass.
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 2.4

Soal Latihan: Akses schema HR dengan perintah berikut:


SQL> connect hr/hrpass
Connected.
SQL>
Statement SQL: Tujuan/Penjelasan Query:

connect hr/hrpass Query ini digunakan untuk mencoba


terhubung ke basis data Oracle
menggunakan pengguna hr dengan kata
sandi hrpass.
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 2.5

Soal Latihan:
Melihat semua tabel yang ada dalam schema ‘HR’
SQL> select table_name from all_tables where owner = 'HR';
TABLE_NAME
------------------------------
REGIONS
LOCATIONS
DEPARTMENTS
JOBS
EMPLOYEES
JOB_HISTORY
COUNTRIES
7 rows selected.
Statement SQL: Tujuan/Penjelasan Query:

select table_name from Query yang digunakan untuk mengambil


all_tables where owner = 'HR'; daftar tabel yang dimiliki oleh pemilik
(owner) dengan nama HR dalam basis data
Oracle.
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 2.6

Soal Latihan:
Melihat deskripsi dari tabel, contoh: tabel EMPLOYEES;
SQL> describe employees;
Statement SQL: Tujuan/Penjelasan Query:

describe employees; Query ini digunakan untuk menampilkan


informasi struktur atau metadata tentang
tabel bernama employees dalam basis data
Oracle.
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 3.1

Soal Latihan:
Akses database oracle menggunakan account administrator (langkah-2 pada Percobaan 2).
Untuk memeriksa status user account yang sedang aktif, gunakan perintah:
SQL> show user;
USER is "SYS"
Statement SQL: Tujuan/Penjelasan Query:

show user; Untuk memeriksa status user account yang


sedang aktif,
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 3.2

Soal Latihan:
Buat user dengan nama toko_online dengan password online
SQL> CREATE USER toko_online IDENTIFIED BY online;
Statement SQL: Tujuan/Penjelasan Query:

CREATE USER toko_online Query ini digunakan untuk membuat


IDENTIFIED BY online; pengguna baru dalam basis data Oracle
dengan nama toko_online dan kata sandi
online. Di sini, toko_online adalah nama
username yang akan digunakan untuk
mengakses basis data, dan online adalah
kata sandi yang digunakan untuk otentikasi.
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 3.3

Soal Latihan:
Untuk memberikan privilege pada user, digunakan perintah GRANT. Bentuk umum dari
printah tersebut adalah sebagai berikut:
GRANT <jenis_privilege> TO <user>;
Statement SQL: Tujuan/Penjelasan Query:

GRANT CREATE SESSION to • CREATE SESSION Memberikan izin


toko_online; kepada pengguna toko_online untuk
GRANT CREATE TABLE to membuat sesi koneksi ke basis data.
toko_online; • CREATE TABLE Memberikan izin
GRANT UNLIMITED TABLESPACE to kepada pengguna untuk membuat tabel
toko_online; baru dalam basis data.
GRANT SELECT ANY TABLE to • UNLIMITED TABLESPACE
toko_online; Memberikan izin kepada pengguna
GRANT UPDATE ANY TABLE to
untuk menggunakan ruang tabel tanpa
toko_online;
batasan.
GRANT INSERT ANY TABLE to
• SELECT ANY TABLE Memberikan
toko_online;
izin kepada pengguna untuk
GRANT DROP ANY TABLE to
menjalankan perintah SELECT pada
toko_online;
semua tabel dalam basis data, bahkan
jika dia bukan pemilik tabel tersebut.
• UPDATE ANY TABLE Memberikan
izin kepada pengguna untuk
menjalankan perintah UPDATE pada
semua tabel dalam basis data, bahkan
jika dia bukan pemilik tabel tersebut.
• INSERT ANY TABLE Memberikan
izin kepada pengguna untuk
menjalankan perintah INSERT pada
semua tabel dalam basis data, bahkan
jika dia bukan pemilik tabel tersebut.
• DROP ANY TABLE Memberikan izin
kepada pengguna untuk menjalankan
perintah DROP (menghapus) pada
semua tabel dalam basis data, bahkan
jika dia bukan pemilik tabel tersebut.
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 3.4

Soal Latihan:
Akses ke schema toko_online dan buatlah tabel CUSTOMERS dengan atribut
CUSTOMER_ID sebagai Primary Key
Statement SQL: Tujuan/Penjelasan Query:

a) CONNECT toko_online/online; a) Query CONNECT digunukan untuk


terhubung ke basis data Oracle sebagai
pengguna toko_online dengan kata
sandi online.

b) CREATE TABLE customers ( b) Perintah ini digunakan untuk membuat


customer_id VARCHAR2(4), tabel baru bernama customers dalam
customer_name VARCHAR2(50), basis data
address VARCHAR2(100),
contact VARCHAR2(100),
CONSTRAINT cust_id_pk
PRIMARY KEY(customer_id)
);
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 3.5

Soal Latihan:
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 ( Perintah ini digunakan untuk membuat tabel


commodity_id VARCHAR2(4), baru bernama commodities dalam basis
commodity_name VARCHAR2(25), data.
unit_price NUMBER(8,2) NOT
NULL,
CONSTRAINT comm_id_pk PRIMARY
KEY(commodity_id)
);
Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 3.6

Soal Latihan:
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 ( Query SQL di samping adalah perintah


order_id VARCHAR2(4), untuk membuat sebuah tabel dengan nama
customer_id VARCHAR2(4), "orders" dalam sebuah database. Tabel ini
commodity_id VARCHAR2(4), akan memiliki beberapa kolom, yaitu
units NUMBER(8,2) NOT NULL, "order_id," "customer_id,"
total_cost NUMBER(8,2) NOT "commodity_id," "units," dan "total_cost."
NULL,
CONSTRAINT ordr_id_pk PRIMARY a) CREATE TABLE orders: Perintah
KEY(order_id), untuk membuat sebuah tabel baru
CONSTRAINT ordr_cust_fk dengan nama "orders."
FOREIGN KEY (customer_id) b) (order_id VARCHAR2(4),
REFERENCES customer_id VARCHAR2(4),
customers(customer_id), commodity_id VARCHAR2(4), units
CONSTRAINT ordr_comm_fk NUMBER(8,2) NOT NULL,
FOREIGN KEY (commodity_id) total_cost NUMBER(8,2) NOT
REFERENCES NULL): Mendefinisikan kolom-kolom
commodities(commodity_id), dalam tabel "orders" beserta tipe data
CONSTRAINT check_unit dan batasan yang diterapkan pada
CHECK(units > 0), setiap kolom. Kolom "order_id,"
CONSTRAINT check_totl "customer_id," dan "commodity_id"
CHECK(total_cost > 0) memiliki tipe data VARCHAR2
); dengan panjang maksimal 4 karakter,
sedangkan kolom "units" dan
"total_cost" memiliki tipe data
NUMBER dengan batasan jumlah digit
sebelum dan sesudah titik desimal (8
digit, 2 digit).
c) CONSTRAINT ordr_id_pk
PRIMARY KEY(order_id):
Mendefinisikan kunci utama (primary
key) pada kolom "order_id." Ini akan
memastikan bahwa setiap nilai di
kolom "order_id" adalah unik.
d) CONSTRAINT ordr_cust_fk
FOREIGN KEY (customer_id)
REFERENCES
customers(customer_id):
Mendefinisikan kunci asing (foreign
key) pada kolom "customer_id," yang
merujuk ke kolom "customer_id"
dalam tabel "customers." Ini
mengaitkan data dalam tabel "orders"
dengan data dalam tabel "customers."
e) CONSTRAINT ordr_comm_fk
FOREIGN KEY (commodity_id)
REFERENCES
commodities(commodity_id):
Mendefinisikan kunci asing (foreign
key) pada kolom "commodity_id,"
yang merujuk ke kolom
"commodity_id" dalam tabel
"commodities." Ini mengaitkan data
dalam tabel "orders" dengan data dalam
tabel "commodities."
f) CONSTRAINT check_unit
CHECK(units > 0): Menggunakan
batasan (constraint) "check" untuk
memastikan bahwa nilai dalam kolom
"units" harus lebih besar dari 0.
g) CONSTRAINT check_totl
CHECK(total_cost > 0):
Menggunakan batasan (constraint)
"check" untuk memastikan bahwa nilai
dalam kolom "total_cost" harus lebih
besar dari 0.

Hasil Query/SQL:

Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
No. Latihan: 3.7

Soal Latihan:
Tambahkan data dummy pada tabel-tabel yang telah dibuat dengan perintah INSERT sebagai
berikut:
Statement SQL: Tujuan/Penjelasan Query:

INSERT ALL Query SQL di atas adalah perintah SQL


INTO customers (customer_id, yang menggabungkan beberapa pernyataan
customer_name, address, contact) INSERT dalam satu pernyataan
VALUES menggunakan sintaks "INSERT ALL." Ini
('C001', 'BDAVIS', 'Boston', adalah cara untuk menyisipkan data ke
'650.551.4876') dalam beberapa tabel sekaligus.
INTO customers (customer_id,
customer_name, address, contact) a) INSERT ALL: Ini adalah awalan
VALUES perintah untuk menunjukkan bahwa kita
('C002', 'SSTEPHEN', 'ST.Louis', akan melakukan beberapa operasi
'650.501.9321') INSERT.
INTO customers (customer_id, b) INTO customers (customer_id,
customer_name, address, contact) customer_name, address, contact)
VALUES VALUES ...: Ini adalah pernyataan
('C003', 'DCARTER', pertama untuk menyisipkan data ke
'California', '650.507.6632') dalam tabel "customers." Pernyataan ini
SELECT * FROM DUAL; menyertakan nilai untuk kolom-kolom
INSERT ALL yang diidentifikasi (customer_id,
INTO commodities(commodity_id, customer_name, address, contact) untuk
commodity_name, unit_price) masing-masing baris data pelanggan
VALUES yang akan dimasukkan.
('M001', 'DVD Player', 109) c) SELECT * FROM DUAL;: Ini
INTO commodities(commodity_id, digunakan untuk mengakhiri pernyataan
commodity_name, unit_price) INSERT dan mengembalikan hasil
VALUES seleksi dari tabel DUAL. Tabel DUAL
('M002', 'Cereal', 03) biasanya digunakan untuk operasi yang
INTO commodities(commodity_id, tidak memerlukan pengambilan data
commodity_name, unit_price) aktual, seperti INSERT.
VALUES d) Kemudian, ada dua pernyataan
('M003', 'Scrabble', 29) INSERT lagi yang mengisikan data ke
SELECT * FROM DUAL; dalam tabel "commodities" dan "orders"
INSERT ALL dengan cara yang serupa, masing-
INTO orders(order_id, masing dengan kolom-kolom yang
customer_id, commodity_id, sesuai.
units, total_cost) VALUES
('R001', 'C003', 'M002', 50,
150)
INTO orders(order_id,
customer_id, commodity_id,
units, total_cost) VALUES
('R002', 'C001', 'M003', 30, 87)
INTO orders(order_id,
customer_id, commodity_id,
units, total_cost) VALUES
('R003', 'C003', 'M001', 6, 654)
SELECT * FROM DUAL;
Hasil Query/SQL:
Analisa Error: -
Penerapan Solusi Akhir: - Penjelasan Statement: -
Hasil Penerapan Solusi Akhir: -
TUGAS
No. Tugas: 1

Soal Tugas:

Gantilah nama Service ID pada oracle database server yang telah ter-install pada komputer
anda dengan nama ‘STUDENT’.

Solusi :

1. Masuk ke dalam database menggunakan perintah sqlplus / as sysdba di matikan dengan


perintah shutdown, setelah itu Mematikan database dan Listener agar bisa disconnect
dari database untuk membuat SID yang baru menggunakan perintah net stop
OracleServicePRAKTBD.
2. Copy dan rename file spfilePRAKTBD.ora dan initPRAKTBD.ora menjadi
spfileSTUDENT.ora dan initSTUDENT.ora serta memodifikasi initSTUDENT.ora
agar merujuk ke path spfileSTUDENT.ora
3. Membuat SID baru bernama STUDENT dengan mode start otomatis, path file yang
merujuk pada file initSTUDENT.ora menggunakan perintah oradim -new -sid
STUDENT -startmode auto -pfile
C:\oraclexe\app\oracle\product\11.2.0\server\database\initSTUDENT.ora. Lalu
menghapus SID yang lama agar bisa menggunakan SID yang baru dengan perintah
oradim -delete -sid PRAKTBD
4. Menyalakan kembali listener agar bisa connect kedalam database menggunakan perintah
lsnrctl stop, lsnrctl start
5. Membuat environtment variable agar ORACLE_SID menggunakan SID yang baru
dibuat yaitu STUDENT menggunakan perintah set ORACLE_SID=STUDENT
6. Memasuki database dengan account administrator dan mengecek apakah system register
sedang berjalan atau tidak menggunakan perintah sqlplus / as sysdba dan alter system
register;
7. Mengecek instance yang digunakan telah diganti menggunakan perintah
select instance_name from v$instance;
Statement SQL: Tujuan/Penjelasan Query:

1. sqlplus / as sysdba 1. Untuk terhubung ke Oracle sebagai


shutdown pengguna sysdba, yang memiliki hak
exit akses administratif penuh.
net stop 2. shutdown digunakan untuk
OracleServicePRAKTBD menghentikan instance Oracle. Ini
2. oradim -new -sid STUDENT - adalah perintah yang penting untuk
startmode auto -pfile menghentikan basis data dengan aman
C:\oraclexe\app\oracle\prod sebelum mematikan layanan Oracle.
uct\11.2.0\server\database\ Lalu perintah exit untuk keluar dari
initSTUDENT.ora sqlnya. net stop
oradim -delete -sid PRAKTBD OracleServicePRAKTBD
3. lsnrctl stop Menghentikan layanan Oracle yang
lsnrctl start sesuai dengan SID yaitu PRAKTBD.
4. set ORACLE_SID=STUDENT 3. Perintah oradim untuk membuat
5. sqlplus / as sysdba instance baru dengan SID STUDENT,
alter system register mengatur mode mulai otomatis, dan
6. select instance_name from
merujuk pada file parameter (PFILE)
v$instance;
yang ada pada lokasi yang ditentukan.
oradim -delete -sid PRAKTBD :
untuk menghapus instance dengan SID
PRAKTBD.
4. lsnrctl stop dan lsnrctl start untuk
menghentikan dan memulai kembali
listener Oracle.
5. set ORACLE_SID=STUDENT
Mengatur variabel lingkungan
ORACLE_SID menjadi STUDENT.
Ini memungkinkan Anda untuk
mengarahkan perintah berikutnya ke
instance Oracle yang memiliki SID
STUDENT.
6. Lalu kembali menggunakan SQL*Plus
untuk terhubung ke Oracle sebagai
pengguna sysdba pada instance dengan
SID STUDENT. Ini memungkinkan
kita untuk menjalankan perintah
administrasi lebih lanjut pada instance
STUDENT.
7. alter system register; untuk
mendaftarkan instance STUDENT
dengan listener sehingga instance dapat
menerima permintaan koneksi.
Hasil Query/SQL:

1. Masuk kedalam sqlplus, lalu shutdown, setelah itu matikan listenernya.

2. Copy dan rename file serta memodifikasi file agar merujuk pada file yang telah di buat
3. Membuat SID yang baru bernama STUDENT dan menghapus SID yang lama

4. Mematikan lalu menyalakan kembali listenernya


5. Membuat environtment variabel bernama STUDENT

6. Connect ke dalam database dengan akun administrator dan mengecek dengan system
register
7. Mengecek instance yang sedang berjalan
No. Tugas: 2
Soal Tugas:
Buatlah koneksi ke oracle database menggunakan aplikasi SQL Developer.
a) Koneksi dengan user SYS diberi nama “SYS schema”
b) Koneksi dengan user HR diberi nama “HR Schema”

Solusi :
1. Membuka Oracle SQL Developer yang sudah diunduh.
2. Menambahkan Koneksi user SYS dengan nama SYS schema
3. Menambahkan Koneksi user HR dengan nama HR schema.
Statement SQL: - Tujuan/Penjelasan Query: -

Hasil Query/SQL:
1. Menekan icon plus hijau untuk membuat New Connection
No. Tugas: 3
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)
b) Seluruh karyawan yang bekerja di United States of America (employee first name, job
title, department name dan city)
Solusi :
a) Menggunakan operasi INNER JOIN pada perintah SELECT untuk menampilkan tabel
employees yang karyawannya bergaji 10000 ke atas beserta posisinya, kolom first_name,
last_name, salary, job title. Dengan perintah :
SELECT employees.first_name, employees.last_name, employees.salary,
jobs.job_title FROM employees INNER JOIN jobs ON
jobs.job_id=employees.job_id WHERE salary >= 10000 ORDER BY salary
DESC;
b) Menggunakan operasi INNER JOIN pada perintah SELECT untuk menampilkan tabel
employees, job, department, locations dan country. Untuk menggabungkan kolom
first_name, job_title, department_name dan city. Menggunakan kolom country_name
untuk menampilkan karyawan yang bekerja di United States of America dengan perintah:
SELECT employees.first_name, jobs.job_title, departments.department_name,
locations.city, countries.country_name FROM employees JOIN jobs ON
employees.job_id=jobs.job_id JOIN departments ON
employees.DEPARTMENT_ID=departments.DEPARTMENT_ID
JOIN locations ON departments.LOCATION_ID=locations.LOCATION_ID
JOIN countries ON locations.COUNTRY_ID=countries.COUNTRY_ID
WHERE COUNTRY_NAME = 'United States of America' ORDER BY
first_name ASC;
Statement SQL: Tujuan/Penjelasan Query:

a) SELECT employees.first_name, a. Perintah SQL ini mengambil data dari


employees.last_name, tabel employees dan jobs dengan
employees.salary, menggabungkannya berdasarkan
jobs.job_title FROM employees kolom job_id. Perintah ini memilih
INNER JOIN jobs ON kolom first_name, last_name, salary,
jobs.job_id=employees.job_id dan job_title dari karyawan yang
WHERE salary >= 10000 ORDER BY memiliki gaji di atas atau sama dengan
salary DESC; 10,000 kemudian hasilnya diurutkan
berdasarkan gaji secara menurun (dari
yang tertinggi ke yang terendah) atau
DESCENDING.

b) SELECT employees.first_name, b. Perintah SQL ini mengambil data dari


jobs.job_title, beberapa tabel employees, jobs,
departments.department_name, departments, locations, dan countries.
locations.city, Data tersebut diambil dengan
countries.country_name FROM menggabungkan tabel-tabel tersebut
employees JOIN jobs ON berdasarkan kunci hubungan yang
employees.job_id=jobs.job_id sesuai. Perintah ini memilih kolom.
JOIN departments ON
employees.DEPARTMENT_ID=depart
ments.DEPARTMENT_ID
first_name, kolom job_title, kolom
JOIN locations ON
department_name, kolom city, dan
departments.LOCATION_ID=locati
kolom country_name dari karyawan
ons.LOCATION_ID JOIN countries
yang bekerja di United States of
ON
America, dan hasilnya diurutkan
locations.COUNTRY_ID=countries
berdasarkan nama pertama (first_name)
.COUNTRY_ID
secara menaik (dari A ke Z) atau
WHERE COUNTRY_NAME = 'United
ASCENDING.
States of America' ORDER BY
first_name ASC;
Hasil Query/SQL:
No. Tugas: 4
Soal Tugas:
Jelaskan dan berikan contoh pemanfaatan perintah COMMIT dan ROLLBACK pada schema

Solusi :
1. COMMIT
COMMIT adalah pernyataan SQL, yang menandakan penyelesaian transaksi yang
berhasil. Perintah COMMIT digunakan untuk menyimpan transaksi secara permanen di
dalam database. Jika tidak ada kesalahan maka seluruh rangkaian pernyataan akan di
COMMIT dan meyimpan perubahan transaksi secara permanen.
2. ROLLBACK
ROLLBACK adalah pernyataan SQL, yang menandakan bahwa transaksi belum selesai
dengan sukses. Perintah ROLLBACK digunakan untuk mengembalikan database ke
bentuk awal atau COMMIT terakhir dari sebuah transaksi sehinggan query nya tidak
akan tercatat di transaksi. Dalam suatu rangkaian operasi data, jika ada 1 atau lebih
operasi yang mengalami kegagalan maka kita akan mengembalikan seperti ke bentuk
semula menggunakan perintah ROLLBACK.

• Pemanfaatan perintah COMMIT dan ROLLBACK


1. COMMIT
Menambahkan data dummy ke dalam table employees dengan perintah INSERT dan
menampilkannya lalu menggunakan perintah COMMIT agar data tersimpan secara
permanen.
2. ROLLBACK
Setelah menambahkan data dummy digunakan perintah ROLLBACK untuk
menampilkan data-data pada tabel sebelum ditambahkan data dummy. Setelah dilakukan
perintah COMMIT kita mengecek datanya kembali menggunakan perintah ROLLBACK
Statement SQL: Tujuan/Penjelasan Query:

a. Commit a). Fungsi commit pada SQLPlus adalah untuk


Select*from employees membuat perubahan permanen pada database.
UPDATE employees SET
email = 'KingTekken'
WHERE employee_Id =
'100';
COMMIT;

b. Rollback b). Fungsi rollback pada SQLPlus adalah untuk


select * from employees membatalkan perubahan yang dilakukan pada
UPDATE employees SET database. Jika ada kesalahan yang terjadi, maka
salary = 51235 WHERE Anda dapat menggunakan perintah
employee_id = 100; ROLLBACK untuk membatalkan semua
ROLLBACK; perubahan yang dilakukan.

Hasil Query/SQL:
A. Commit

B. Rollback

Anda mungkin juga menyukai