Anda di halaman 1dari 3

Soal : 14

Diketahui data pada tabel kelas adalah sebagai berikut:

KdKelas NamaKelas Kapasitias

1 PIS-10-01 40

2 PIS-10-01 40

3 PIS-10-01 40

4 PCE-10-01 36

5 PCA-10-01 36

Buatlah blok anonim PL/SQL untuk menampilkan informasi program studi berdasarkan nama kelas, PIS=MI,
PCE=TI, PCA=KA (contoh: PIS-10-01 maka output adalah MI)!

Langkah Pengerjaan:
a. Penentuan variabel program.

NO Nama Variable type

1 varkelas Varchar2(16)

2 varprodi Varchar2(16)

Variabel varkelas akan menampung nilai dari nama kelas dari tabel kelas. Variabel varprodi
akan menampung hasil konversi dari nama kelas menjadi nama program studi.

b. Deklarasi blok anonim PL/SQL

1. varkelas VARCHAR2(16);
2. varprodi VARCHAR2(16);

Baris ke-1 mendeklarasikan varkelas dengan tipe data VARCHAR2(16).


Baris ke-2 mendeklarasikan varprodi dengan tipe data VARCHAR2(16).

C. SQL query untuk mengambil nilai atribut nim dan nama dari tabel mahasiswa dengan nim
3031001

3. SELECT namakelas INTO varkelas


4. FROM kelas
5. WHERE kdkelas=1;

Query di atas akan mengambil nilai atribut namakelas dari tabel kelas dengan kode kelas=1. Nilai atribut
tersebut kemudian akan di tampung pada variabel varkelas.
a. Struktur percabangan IF

6. IF substr(varkelas,1,3) = 'PIS' THEN


7. keterangan := 'MI';
8. END IF;

Baris ke-6 akan melakukan pengecekkan terhadap nilai variabel varkelas. Tiga karakter pertama akan di
ambil dan dibandingkan dengan kata PIS. Jika sama maka,

baris ke-7 akan mengisi variabel keterangan dengan MI.

Baris ke-8 wajib ada jika sebuah struktur percabangan di buat.

Tampilkan :

9. DBMS_OUTPUT.PUT_LINE (keterangan);
Baris ke-9 akan menampilkan nilai variabel keterangan.

Dengan menggunakan CASE WHEN:


a. Deklarasi blok anonim PL/SQL
1. varkelas VARCHAR2(16);
2. varprodi VARCHAR2(16);

Baris ke-1 mendeklarasikan varkelas dengan tipe data VARCHAR2(16).

Baris ke-2 mendeklarasikan varprodi dengan tipe data VARCHAR2(16).

b. SQL query untuk mengambil nilai atribut nim dan nama dari tabel mahasiswa dengan nim
3031001

3. SELECT namakelas INTO varkelas


4. FROM kelas
5. WHERE kdkelas=1;

Query di atas akan mengambil nilai atribut namakelas dari tabel kelas dengan kode kelas=1. Nilai atribut
tersebut kemudian akan di tampung pada variabel varkelas.

Struktur percabangan CASE

6. CASE
7. WHEN substr(varkelas,1,3) = 'PCE' THEN
8. keterangan := 'TI';
9. END CASE;

Baris ke-7 akan melakukan pengecekkan terhadap nilai variabel varkelas. Tiga karakter pertama akan di
ambil dan dibandingkan dengan kata PCE. Jika sama maka

baris ke-8 akan mengisi variabel keterangan dengan TI.

c. Tampilkan :
10. DBMS_OUTPUT.PUT_LINE (keterangan);
Baris ke-10 akan menampilkan nilai variabel keterangan.
Coding lengkapnya percabangan IF adalah:

DECLARE
varkelas VARCHAR2(16);
varprodi VARCHAR2(16);
Keterangan varchar2(4);
BEGIN
SELECT kelas INTO varkelas
FROM kelas
WHERE kodekelas=1;
IF substr(varkelas,1,3) = 'PIS' THEN
keterangan := 'MI';
END IF;
DBMS_OUTPUT.PUT_LINE(' Maka keterangan jurusan='||ket);
END;

Pengamatan :
1. Buat coding lengkap menggunakan struktur percabangan IF, seperti perintah diatas?

2. Buat coding lengkap menggunakan struktur percabangan CASE, Seperti perintah di atas?

3. Amati dimana letak kesalahan dari program tersebut diatas?

Anda mungkin juga menyukai