• Tidak ada hasil yang ditemukan

4.2. Implementasi Basis Data Data Definition Language / DDL

4.2.1. Pendefinisian tipe objek ( object type )

4.2.1.1 Tipe People

Pernyataan di atas mendefinisikan suatu tipe objek bernama People_T untuk merepresentasikan suatu data seseorang. Tipe People_T mempunyai atribut Id, Nama, TTL, Umur, Alamat, NoTlp. Masing-masing atribut bertipe data VARCHAR2.

CREATE OR REPLACE TYPE People_T AS OBJECT (Id VARCHAR2 (100), Nama VARCHAR2 (200), TTL VARCHAR2 (200), Umur VARCHAR2 (50), Alamat VARCHAR2 (200), NoTlp VARCHAR2 (100), P_Type VARCHAR2 (50),

STATIC FUNCTION show_super (people_obj in People_T) RETURN VARCHAR2,

MEMBER FUNCTION show RETURN VARCHAR2) NOT FINAL;

/

--method implementation: CREATE TYPE BODY People_T AS

STATIC FUNCTION show_super (people_obj in People_T) RETURN VARCHAR2 IS

BEGIN

RETURN 'Id: ' || people_obj.Id || ', Nama: ' || people_obj.Nama

|| ', TTL: ' || people_obj.TTL|| ', Umur: ' || people_obj.Umur

|| ', Alamat: ' || people_obj.Alamat|| ', NoTlp: ' || people_obj.NoTlp

|| ', P_Type: ' || people_obj.P_Type; END;

MEMBER FUNCTION show RETURN VARCHAR2 IS BEGIN

RETURN People_T.show_super ( SELF ); END;

END; /

Untuk mengimplementasikan bahwa sebuah objek mempunyai subtypes,

objek harus didefinisikan sebagai “not final” pada akhir deklarasi tipe. Secara default, tanpa keyword “not final”, objek tipe akan diperlakukan sebagai objek final dan tidak ada subtypes yang dapat diperoleh dari tipe tersebut. Implementasi method show digunakan untuk menampilkan data.

4.2.1.2Tipe PengajarRelawan_T

Pernyataan di atas mendefinisikan suatu tipe objek bernama PengajarRelawan_T yang merupakan subtype dari People_T, yang di tandai

dengan kata kunci “Under”. Tipe PengajarRelawan _T mempunyai atribut

Asal_PR, bertipe data VARCHAR2. Terdapat method show untuk menampilkan data Pengajar Relawan.

4.2.1.3Tipe AnggotaGaruluku_T

CREATE OR REPLACE TYPE PengajarRelawan_T UNDER People_T (Asal_PR VARCHAR2(200),

OVERRIDING MEMBER FUNCTION show RETURN VARCHAR2); /

CREATE TYPE BODY PengajarRelawan_T AS

OVERRIDING MEMBER FUNCTION show RETURN VARCHAR2 IS BEGIN

RETURN People_T.show_super ( SELF ) ||', Asal_PR: ' || Asal_PR;

END; END; /

Pernyataan di atas mendefinisikan suatu tipe objek bernama AnggotaGaruluku_T untuk merepresentasikan suatu data seorang Anggota Garuluku. Tipe AnggotaGaruluku_T mempunyai atribut NamaAyah, NamaIbu, PekerjaanAyah. PekerjaanIbu, Hobi, TahunBergabung. Masing- masing atribut bertipe data VARCHAR2.

Untuk mengimplementasikan bahwa sebuah objek mempunyai subtypes,

objek harus didefinisikan sebagai “not final” pada akhir deklarasi tipe. Secara default, tanpa keyword “not final”, objek tipe akan diperlakukan sebagai objek final dan tidak ada subtypes yang dapat diperoleh dari tipe tersebut. Terdapat method show untuk menampilkan data Anggota Garuluku.

CREATE OR REPLACE TYPE AnggotaGaruluku_T UNDER People_T (NamaAyah VARCHAR2 (200), NamaIbu VARCHAR2 (200), PekerjaanAyah VARCHAR2 (200), PekerjaanIbu VARCHAR2 (200), Hobi VARCHAR2 (200), TahunBergabung VARCHAR2 (20),

OVERRIDING MEMBER FUNCTION show RETURN VARCHAR2) NOT FINAL;

/

CREATE TYPE BODY AnggotaGaruluku_T AS

OVERRIDING MEMBER FUNCTION show RETURN VARCHAR2 IS BEGIN

RETURN People_T.show_super ( SELF ) || ', NamaAyah: ' || NamaAyah || ', NamaIbu: ' || NamaIbu || ', PekerjaanAyah: ' || PekerjaanAyah || ', PekerjaanIbu: ' || PekerjaanIbu || ', Hobi: ' || Hobi || ', TahunBergabung: ' || TahunBergabung ; END; END;

4.2.1.2. Tipe Pengurus_T

Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama Pengurus_T. Tipe data Pengurus_T untuk merepresentasikan suatu data seorang Anggota Garuluku yang merupakan pengurus Sanggar Anak Garuluku atau pengurus Forum Anak Desa Kemadang (FORANDAKA).

Tipe objek Pengurus_T merupakan warisan dari AnggotaGaruluku_T,

oleh karena itu, menggunakan kata kunci “UNDER” pada pendefinisian

tipe objek Pengurus_T. Tipe Objek Pengurus_T mempunyai atribut Posisi, Periode, Jenis. Masing-masing atribut bertipe data VARCHAR2.

Tipe objek Pengurus_T mempunyai sub tipe yang bernama

PengajarTetap_T, oleh karena itu tipeobjek ini harus didefinisikan sebagai

not final” pada akhir deklarasi tipe. Secara default, tanpa keyword “not final”, objek tipe akan diperlakukan sebagai objek final dan tidak ada subtypes yang dapat diperoleh dari tipe tersebut.

4.2.1.3. Tipe AnggotaFA_T

Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama AnggotaFA_T untuk merepresentasikan suatu data seorang Anggota

CREATE OR REPLACE TYPE Pengurus_T UNDER AnggotaGaruluku_T (Posisi VARCHAR2 (200),

Periode VARCHAR2 (100),

Jenis VARCHAR2 (50)) NOT FINAL /

Garuluku yang merupakan anggota dari Forum Anak Desa Kemadang (FORANDAKA).

Tipe objek AnggotaFA_T merupakan pewarisan dari

AnggotaGaruluku_T, sehingga menggunakan kata kunci “UNDER” pada

pendefinisian tipe objek AnggotaFA_T. Kata kunci “UNDER” digunakan

bersama statement “create type” untuk membuat subtype AnggotaFA_T

dari supertype AnggotaGaruluku_T. AnggotaFA_T mempunyai atribut

Sekolah, StatusKeaktifan. Masing-masing atribut bertipe data

VARCHAR2.

4.2.1.4. Tipe AnggotaSA_T

Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama AnggotaSA_T untuk merepresentasikan suatu data seorang Anggota Garuluku yang merupakan anggota dari Sanggar Anak Garuluku.

Tipe objek AnggotaSA_T merupakan pewarisan dari

AnggotaGaruluku_T, sehingga menggunakan queri “UNDER” pada

pendefinisian tipe objek AnggotaSA_T. Kata kunci “UNDER” digunakan

bersama statement “create type” untuk membuat subtype AnggotaSA_T

dari supertype AnggotaGaruluku_T. AnggotaSA_T mempunyai atribut

CREATE OR REPLACE TYPE AnggotaFA_T UNDER AnggotaGaruluku_T

(Sekolah VARCHAR2 (200),

StatusKeaktifan VARCHAR2 (100)) /

Sekolah, StatusKeaktifan. Masing-masing atribut bertipe data VARCHAR2.

4.2.1.5. Tipe PengajarTetap_T

Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama PengajarTetap_T untuk merepresentasikan suatu data seorang Anggota Garuluku yang merupakan pengurus Sanggar Anak Garuluku atau pengurus Forum Anak Desa Kemadang (FORANDAKA), dan merupakan Pengajar tetap untuk anak-anak di desa Kemadang.

Tipe objek PengajarTetap_T adalah pewarisan dari Pengurus_T,

sehingga menggunakan queri “UNDER” pada pendefinisian tipe objek

PengajarTetap_T. Kata kunci “UNDER” digunakan bersama statement

create type” untuk membuat subtype PengajarTetap_T dari supertype Pengurus_T. Tipe Objek PengajarTetap_T mempunyai atribut HariAjar yang bertipe data VARCHAR2.

4.2.1.6. Tipe Materi_T

CREATE OR REPLACE TYPE AnggotaSA_T UNDER AnggotaGaruluku_T

(Sekolah VARCHAR2 (200),

StatusKeaktifan VARCHAR2 (100)) /

CREATE OR REPLACE TYPE PengajarTetap_T UNDER Pengurus_T (HariAjar VARCHAR2 (500))

Pernyataan di bawah ini mendefinisikan suatu tipe objek bernama Materi_T. Tipe objek Materi_T untuk merepresentasikan suatu data materi pelajaran apa saja yang diajarkan kepada anggota Sanggar Anak Garuluku dan anggota Forum Anak Desa Kemadang (FORANDAKA).

Tipe objek ini mempunyai hubungan asosiasi One to Many dengan

PengajarTetap_T dan mempunyai hubungan asosiasi One to Many dengan

PengajarRelawan_T, untuk mengimplementasikan hubungan asosiasi ini

menggunakan fitur BDRO: Object References, menggunakan kata kunci

“REF”. Tipe Objek PengajarRelawan_T mempunyai atribut Id_Materi,

Nama_Materi, yang bertipe data VARCHAR2, dan atribut PengajarT yang

ditulis dengan diikuti kata “REF PengajarTetap_T” untuk menghubungkan

dengan objek PengajarTetap_T, dan atribut PengajarR yang ditulis dengan

diikuti kata “REF PengajarRelawan_T” untuk menghubungkan dengan

objek PengajarRelawan_T

Dokumen terkait