Pages

Powered by Blogger.

Tuesday, January 20, 2015

CONDITION

      1.      Buatlah sebuah prosedur yang berfungsi untuk membandingkan inputan user dan memberikan kesimpulan tentang hasil perbandingannya dengan ketentuan :
            - contoh 1 : INPUT1 = 10 dan INPUT2 = 20 maka OUTPUT = '10 LEBIH KECIL DARI 20'
            - contoh 2 : INPUT1 = 20 dan INPUT2 = 10 maka OUTPUT = '20 LEBIH BESAR DARI 10'
            - contoh 3 : INPUT1 = 10 dan INPUT2 = 10 maka OUTPUT = '10 SAMA BESAR DENGAN                 10'
            Data yang ditampilkan berupa kesimpulan dari perbandingan (OUTPUT)
            Tunjukan screenshot dari 3 skenario percobaan diatas ! (Gunakan fungsi logika IF)

            QUERY:
            CREATE OR REPLACE PROCEDURE BANDING_INPUT_1(
              IN IN_INPUT1 INT,
              IN IN_INPUT2 INT,
              OUT OUT_OUTPUT VARCHAR(200)
)
BEGIN
              IF IN_INPUT1 = 10 AND IN_INPUT2 = 20
                     THEN SET OUT_OUTPUT= '10 LEBIH KECIL DARI 20';
              ELSEIF IN_INPUT1 = 20 AND IN_INPUT2 = 10
                     THEN SET OUT_OUTPUT= '20 LEBIH BESAR DARI 10';
              ELSEIF IN_INPUT1 = 10 AND IN_INPUT2 = 10
                     THEN SET OUT_OUTPUT = '10 SAMA BESAR DENGAN 10';
              ELSE SET OUT_OUTPUT = 'DATA TIDAK DITEMUKAN';
              END IF;
END@



      2.      Buatlah sebuah prosedur untuk menghitung bonus yang didapatkan oleh seorang staff (inputan kode staff) dengan ketentuan :
            - jabatan 'Mgr' mendapatkan bonus 15% dari gaji
            - jabatan 'Sales' mendapatkan bonus 10% dari gaji
            - jabatan 'Clerk' mendapatkan bonus 5% dari gaji
            Data yang ditampilkan berupa (ID, NAME, JOB, SALARY, BONUS - dari tabel STAFF)
            Tunjukan screenshot dari skenario 3 jabatan diatas ! (Gunakan fungsi logika SIMPLE CASE)

            QUERY:
CREATE OR REPLACE PROCEDURE BONUS_STAFF(
       IN IN_ID INT,
       OUT OUT_DATA VARCHAR (200)
)
RESULT SETS 1
BEGIN
       DECLARE IN_ID CURSOR WITH RETURN FOR
       SELECT ID, NAME, JOB, SALARY,
       CASE
              WHEN JOB = 'Mgr' THEN 0.15 * SALARY
              WHEN JOB = 'Sales' THEN 0.1 * SALARY
       ELSE 0.05 * SALARY
       END CASE
       FROM STAFF WHERE ID = IN_ID;
       OPEN IN_ID;
END@

            
      3.      Buatlah sebuah prosedur untuk mendapatkan reputasi dari masing-masing tenaga penjualan dalam sebuah regional tertentu dengan ketentuan :
            - penjualan >= 20 mendapatkan reputasi 'SANGAT BAGUS'
            - penjualan >= 50 mendapatkan reputasi 'BAGUS'
            - penjualan >= 10 mendapatkan reputasi 'CUKUP'
            - penjualan >= 5 mendapatkan reputasi 'BURUK'
            - penjualan >= 1 mendapatkan reputasi 'SANGAT BURUK'
Data yang ditampilkan berupa (SALES_PERSON, REGION, TOTAL_PENJUALAN, REPUTASI - dari tabel SALES)
            Tunjukan screenshot dari skenario diatas ! (Gunakan fungsi logika SEARCH CASE)

            QUERY:
CREATE OR REPLACE PROCEDURE PENJUALAN()
DYNAMIC RESULT SETS 1
BEGIN
       DECLARE CUR CURSOR WITH RETURN FOR
       SELECT SALES_PERSON, REGION, SUM(SALES) AS TOTAL_PENJUALAN,
       CASE
              WHEN SUM(SALES) >=20 THEN'SANGAT BAGUS'
              WHEN SUM(SALES) >=15 THEN'BAGUS'
              WHEN SUM(SALES) >=10 THEN'CUKUP'
              WHEN SUM(SALES) >=5 THEN'BURUK'
              WHEN SUM(SALES) >=1 THEN'SANGAT BURUK'
       END PENJUALAN
       FROM SALES GROUP BY REGION, SALES_PERSON;
       OPEN CUR;
END@


      4.      Buatlah sebuah prosedur untuk melakukan operasi INSERT, UPDATE, DELETE ke/dari table DEPARTMENT dengan ketentuan :
- jika OPERATOR adalah 'I' maka operasi yang dilakukan adalah INSERT dengan pesan 'DATA DEPARTMENT BERHASIL DITAMBAHKAN'
- jika OPERATOR adalah 'U' maka operasi yang dilakukan adalah UPDATE dengan pesan 'DATA DEPARTMENT BERHASIL DIUBAH'
- jika OPERATOR adalah 'D' maka operasi yang dilakukan adalah DELETE dengan pesan 'DATA DEPARTMENT BERHASIL DIHAPUS'
- jika OPERATOR adalah selain 'I','U','D' maka tidak dilakukan operasi apapun dan pesan 'OPERASI TERSEBUT TIDAK VALID'
            Data yang ditampilkan berupa pesan keluaran dari masing-masing operasi
            Tunjukan screenshot dari 4 skenario diatas ! (Gunakan fungsi logika yang paling anda kuasai)

QUERY:
CREATE OR REPLACE PROCEDURE OPERASI(
       IN IN_USER VARCHAR(5),
       OUT OUT_OUTPUT VARCHAR(100)
)
DYNAMIC RESULT SETS 1
BEGIN
       IF (IN_USER = 'I') THEN
              INSERT INTO DEPARTMENT (DEPTNO, DEPTNAME, MGRNO, ADMRDEPT)
              VALUES ('A08','PLANNING','000020','A00');
              SET OUT_OUTPUT = 'DATA DEPARTMENT BERHASIL DITAMBAHKAN';
       ELSEIF (IN_USER = 'U')THEN UPDATE DEPARTMENT SET DEPTNO ='B' WHERE DEPTNO ='A';
              SET OUT_OUTPUT = 'DATA DEPARTMENT BERHASIL DIUBAH';
       ELSEIF (IN_USER ='D')THEN DELETE FROM DEPARTMENT WHERE DEPTNO ='B';
              SET OUT_OUTPUT ='DATA DEPARTMENT BERHASIL DIHAPUS';
       ELSE SET OUT_OUTPUT ='OPERASI TERSEBUT TIDAK VALID';
       END IF;
END@


No comments:

Post a Comment

 

Blogger news

Blogroll

About