Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
1 dari 6
Tanggal
Waktu
Sifat
: 7 Juli 2015
: 120 Menit
: Buka Noted 1 Lembar
A4
NIM : 1312500380
Nama : Imam Halim Mursyidin
Jawablah soal ini (1 10 Bobot 50%):
1. Jelaskan fungsi dari COMMIT dan ROLLBACK
Jawaban:
COMMIT, Perintah COMMIT digunakan untuk mengunci/ mengeksekusi data
secara permanen, sehingga Setiap perubahan data yang dicommit tidak dapa
dikemabalikan seperti semula.
ROLLBACK, Perintah Rollback digunakan untuk mengakhiri transaksi dan
membatalkan perubahan-perubahan yang dibuat selama transaksi. Rollback
berguna untuk dua alasan. Pertama, jika kita membuat kesalahan ketika
menghapus baris data dari table, rollback mengembalikan data pertama.
Kedua, jika kita memulai transaksi yang tidak dapat kita selesaikan karena
munculnya exception atau gagalnya perintah SQL, rollback mengijinkan kita
untuk kembali ke titik awal untuk melakukan pembetulan dan mungkin
mencobanya lagi
2. Jelaskan persamaan dan perbedaan dari Basic Loop (Loop), While Loop, For
Loop
Jawaban:
PERSAMAAN
Menggunakan DECLARE
PERBEDAAN
Perbedaan while loop dengan basic loop, perbedaannya dengan basic
loop jelas kalo basic loop tidak perlu adanya kondisi awal sedangakan while
loop perlu adanya kondisi awal dimana, jika kondisi awal bernilai true maka
perulangan akan di laksanakan dan jika kondisi awal bernilai false maka
bagan perulangan tidak akan pernah dimasuki atau dilakukan eksekusi
apapun.
perbedaan for loop dengan basic loop, basic loop memiliki operasi
increment sedangkan pada for-loop tidak ada operasi increment seperti
j:=j+1, dan batas perulangan yang berbeda dimana basic loop memiliki
batasan perulangan diakhir bagan perulangan sedankan for-loop ini memiliki
batasan perulangan yang sudah di tentukan atau di definisikan langsung
terlebih dahulu nilai awal dan batasan akhir perulangan sebelum atau di atas
bagan perulangan
Perbedaan for loop dengan while loop, hampir sama dengan perbedaan
antara for-loop ini dengan basic loop, perbedaan for loop dengan while loop ini
yaitu tidak adanya operasi increment dalam for-loop, sedangkan di while-loop
ada, dan spesifik perbedaannya juga terlihat adanya nilai konisi awal pada
while loop yang berada sebelum bagan perulangan dan batasan perulangan
yang berada di akhir perulangan.
sedangkan for-loop disini sudah jelas di definisikan sebagai perulangan yang
sering di gunakan untuk suatu perulangan yang sudah diketahui berapa
banyaknya akan terjadi perulangan. maka nilai atau output pertama dan
batasan atau output akhir dari perulangan for loop sudah di definisikan
terlebih dahulu di atas bagan perulangan.
Hal. 2 dari 6
Jawaban:
SQL adalah bahasa deklaratif untuk database yg sudah distandarkan secara
internasional (ANSI dan ISO), jadi seharusnya semua database yg
menggunakan SQL standar akan memiliki statement/syntax yg sama, baik di
Oracle, MySQL atau database lainnya.
PL/SQL adalah ekstensi dari SQL dengan menambahkan fungsi bahasa
prosedural. Berbeda dengan SQL yg hanya mementingkan bagaimana
mendapatkan hasil, dengan PL/SQL juga akan diketahui bagaimana proses
untuk mendapatkan hasil tsb. Karena PL/SQL merupakan bahasa prosedural,
maka statement/syntax yg digunakan sangat tergantung dari jenis bahasa yg
diadopsi.
Time
REGION_NAME
Europe
Americas
Asia
Hal. 3 dari 6
Australias
Jawaban:
Insert into Regions values (5,'Australias');
7. Perintah untuk Merubah no telepon karyawan 102 menjadi 515.123.1234
Sebelum
Sesudah
Jawaban:
Update employees set phone_number ='515.123.1234'
Where employe_id=102;
8. Perintah untuk Menghapus data region di table Regions yang tidak memiliki
hubungan atau tidak ada (region_id) di table countries
Jawaban:
DELETE FROM regions
WHERE REGION_ID <> ALL(select region_id from countries);
Jawaban:
CREATE TABLE copy_employee100 as select first_name ||' '|| last_name Nama,
email,phone_number, job_id, department_id
From employees
WHERE department_id=100;
10. Perintah untuk membuat view dengan nama vempSA_MAN yang berisi Nama, Email,
No Telepon, Id Pekerjaan, Id Departemen dan salary dari karyawan yang memiliki
salary diatas 10000 dan memiliki Id Pekerjaan SA_MAN
Hal. 4 dari 6
View vempSA_MAN
Jawaban:
CREATE view
vempSA_MAN as select first_name ||' '|| last_name Nama, email,phone_number,
job_id, department_id
FROM employees
WHERE salary >10000 and job_id='SA_MAN';
11. Buatlah sebuah fungsi untuk menampilkan grade dan status kelulusan, dengan
ketentuan sebagai berikut (Bobot 30%) :
Nama Fungsi : FGrade(NilAbsen, NilUts, NilUas)
Parameter
Total = (0.1 * NilAbsen) + (0.4 * NilUts) + (0.5 * NilUas)
Grade A := 80 <= Total <= 100
Grade B := 70 <= Total < 80
Grade C := 60 <= Total < 70
Grade D := 40 <= Total < 60
Grade E := 0 <= Total < 40
Status A, B, dan C = Lulus
Status D dan E
= Tidak Lulus
Contoh jika dijalankan:
Select FGrade(90,69,73) from Dual;
Result yang diminta akan mengembalikan nilai:
Grade B Status Lulus
Jawaban:
CREATE OR REPLACE FUNCTION
FGrade(nilabsen NUMBER, niluts NUMBER, niluas Number)
RETURN VARCHAR2 IS
total NUMBER(3);
grade VARCHAR2(30);
BEGIN
total := (0.1 * nilabsen) + (0.4 * niluts) + (0.5 * niluas);
IF total >= 80 THEN
grade := 'Grade A Status Lulus';
ELSIF total < 80 AND total >= 70 THEN
grade := 'Grade B Status Lulus';
ELSIF total < 70 AND total >= 60 THEN
grade := 'Grade C Status Lulus';
ELSIF total < 60 AND total >= 40 THEN
grade := 'Grade D Status Tidak Lulus';
ELSE grade := 'Grade E Status Tidak Lulus';
END IF;
RETURN grade;
END FGrade;
/
Hal. 5 dari 6
12. Perintah PL/SQL (Explicit Cursor) untuk menampilkan Nama Karyawan, Nama
Pekerjaan, Nama Departemen, gaji dari karyawan yang memiliki gaji diatas 12000
urut berdasarkan namanya.
Eksepsi: Jika tidak ditemukan maka akan menampilkan Data Tidak Ada (Bobot
20%), Hasil:
Hal. 6 dari 6
Entity Class
= Selamat Mengerjakan =
Hens