L1
Lampiran 1 - Coding Sturktur Tabel Relasi Dasar
CREATE TABLE Polis ( NoPolis CHAR(9) NOT NULL PRIMARY KEY, NoEndorsement CHAR(3) NOT NULL PRIMARY KEY, NamaTertanggung VARCHAR(50) NOT NULL, Alamat VARCHAR(100) NOT NULL, PeriodeAwal DATE NOT NULL, PeriodeAkhir DATE NOT NULL, SukuPremi DECIMAL(10,2) NOT NULL, KelasKonstruksi CHAR(3) NOT NULL, LokasiPertanggungan VARCHAR(100) NOT NULL, JumlahPertanggungan BIGINT NOT NULL, JenisJaminan VARCHAR(30) NOT NULL, R/Icommision DECIMAL(10,2) NOT NULL, Deductibles VARCHAR(200) NOT NULL, TanggalTerbit DATE NOT NULL, KodeKaryawan CHAR(6) NOT NULL, KodeJenisResiko CHAR(2) NOT NULL, NoExPolis CHAR(9), KodeBuku CHAR(9) NOT NULL, NoSurvei CHAR(9) NOT NULL, KodeObjek CHAR(5) NOT NULL, FOREIGN KEY (KodeKaryawan) REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (KodeJenisResiko) REFERENCES JenisResiko (KodeJenisResiko) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (NoExPolis) REFERENCES ExPolis (NoExPolis) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (KodeBuku) REFERENCES BukuRegister (KodeBuku) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (NoSurvei) REFERENCES Survei (NoSurvei)ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (KodeObjek) REFERENCES Objek (KodeObjek) ON UPDATE CASCADE ON DELETE NO ACTION CONSTRAINT consNoPolis CHECK (LEN(NoPolis) = 9 AND NoPolis LIKE ‘POL%’), CONSTRAINT consNoEndorsement CHECK (LEN(NoEndorsement) = 3 AND NoEndorsement LIKE ‘[0-9][0-9][0-9]’), CONSTRAINT consKodeKary CHECK (LEN(KodeKaryawan) = 6 AND KodeKaryawan LIKE ‘K%’), CONSTRAINT consKodeJenis CHECK (LEN(KodeJenisResiko) = 3 AND KodeJenisResiko LIKE ‘[0-9][0-9][0-9]’),
L2
CONSTRAINT consKodeJenis CHECK (KodeJenisResiko = ‘FI’ OR KodeJenisResiko = ‘MV’ OR KodeJenisResiko = ‘MC’), CONSTRAINT consNoEx CHECK (LEN(NoEx) = 9 AND NoExPolis LIKE ‘POL%’), CONSTRAINT consKodeBuku CHECK (LEN(KodeBuku) = 9 AND KodeBuku LIKE ‘BKR%’), CONSTRAINT consNoSurvei CHECK (LEN(NoSurvei) = 9 AND NoSurvei LIKE ‘SRV%’), CONSTRAINT consKodeObjek CHECK (LEN(KodeObjek) = 5 AND KodeObjek LIKE ‘‘[0-9][0-9][0-9] [0-9][0-9]’) ) CREATE TABLE ExPolis ( NoExPolis CHAR(9) NOT NULL PRIMARY KEY, NamaTertanggung VARCHAR(50) NOT NULL, Alamat VARCHAR(100) NOT NULL, PeriodeAwal DATE NOT NULL, PeriodeAkhir DATE NOT NULL, SukuPremi DECIMAL(10,2) NOT NULL, KelasKonstruksi CHAR(3) NOT NULL, LokasiPertanggungan VARCHAR(100) NOT NULL, JumlahPertanggungan BIGINT NOT NULL, JenisJaminan VARCHAR(30) NOT NULL, TanggalTerbit DATE NOT NULL, FOREIGN KEY (KodeObjek) REFERENCES Objek (KodeObjek) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT consExNoEx CHECK (LEN(NoEx) = 9 AND NoExPolis LIKE ‘POL%’), CONSTRAINT consExKodeObjek CHECK (LEN(KodeObjek) = 5 AND KodeObjek LIKE ‘‘[0-9][0-9][0-9] [0-9][0-9]’) ) CREATE TABLE BukuRegister ( KodeBuku CHAR(9) NOT NULL PRIMARY KEY, TanggalRegister DATE NOT NULL, NamaTertanggung VARCHAR(50) NOT NULL, Alamat VARCHAR(100) NOT NULL, LokasiPertanggungan VARCHAR(100) NOT NULL, KodeKaryawan CHAR(6) NOT NULL, KodeNegosiasi CHAR(9) NOT NULL, FOREIGN KEY (KodeKaryawan) REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (KodeNegosiasi) REFERENCES Negosiasi (KodeNegosiasi) ON UPDATE CASCADE ON DELETE NO ACTION,
L3
CONSTRAINT consBRKodeKary CHECK (LEN(KodeKaryawan) = 6 AND KodeKaryawan LIKE ‘K%’), CONSTRAINT consBRKodeBuku CHECK (LEN(KodeBuku) = 9 AND KodeBuku LIKE ‘BKR%’), CONSTRAINT consBRKodeNego CHECK (LEN(KodeNegosiasi) = 9 AND KodeBuku LIKE ‘NEG%’) ) CREATE TABLE DetilRegister ( KodeBuku CHAR(9) NOT NULL PRIMARY KEY, KodeReasuransi CHAR(4) NOT NULL PRIMARY KEY, QuotationShare DECIMAL(10,2), FOREIGN KEY (KodeBuku) REFERENCES BukuRegister (KodeBuku) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (KodeReasuransi) REFERENCES Reasuransi (KodeReasuransi) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT consDRKodeBuku CHECK (LEN(KodeBuku) = 9 AND KodeBuku LIKE ‘BKR%’), CONSTRAINT consDRKodeReas CHECK (LEN(KodeReasuransi) = 4 AND KodeReasuransi LIKE ‘R%’) ) CREATE TABLE Survei ( NoSurvei CHAR(9) NOT NULL PRIMARY KEY, TanggalPemeriksaan DATE NOT NULL, NamaTertanggung VARCHAR(50) NOT NULL, StatusKelayakan VARCHAR(11) NOT NULL, Foto VARCHAR(100) NOT NULL, KeteranganLain VARCHAR(200) NOT NULL, KodeKaryawan CHAR(6) NOT NULL, FOREIGN KEY (KodeKaryawan) REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT consSrvNoSurvei CHECK (LEN(NoSurvei) = 9 AND KodeReasuransi LIKE ‘SRV%’) CONSTRAINT consLayak CHECK (StatusKelayakan = ‘Layak’ OR StatusKelayakan = ‘Tidak Layak’), CONSTRAINT consSrvKodeKary CHECK (LEN(KodeKaryawan) = 6 AND KodeKaryawan LIKE ‘K%’) ) CREATE TABLE Negosiasi ( id BIGINT NOT NULL PRIMARY KEY, KodeNegosiasi CHAR(9) NOT NULL PRIMARY KEY, NoPolis VARCHAR(20), NamaTertanggung VARCHAR(50) NOT NULL,
L4
Alamat VARCHAR(100) NOT NULL, PeriodeAwal DATE NOT NULL, PeriodeAkhir DATE NOT NULL, SukuPremi DECIMAL(10,2) NOT NULL, KelasKonstruksi CHAR(3) NOT NULL, LokasiPertanggungan VARCHAR(100) NOT NULL, JumlahPertanggungan BIGINT NOT NULL, JenisJaminan VARCHAR(30) NOT NULL, TanggalTerbit DATE NOT NULL, KodeKaryawan CHAR(6) NOT NULL, KodeJenisResiko CHAR(2) NOT NULL, NoSurvei CHAR(9) NOT NULL, KodeObjek CHAR(5) NOT NULL, KodeReasuransi CHAR(4) NOT NULL, FOREIGN KEY (KodeKaryawan) REFERENCES Karyawan (KodeKaryawan) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (KodeJenisResiko) REFERENCES JenisResiko (KodeJenisResiko) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (KodeReasuransi) REFERENCES Reasuransi (KodeReasuransi) ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (NoSurvei) REFERENCES Survei (NoSurvei)ON UPDATE CASCADE ON DELETE NO ACTION FOREIGN KEY (KodeObjek) REFERENCES Objek (KodeObjek) ON UPDATE CASCADE ON DELETE NO ACTION CONSTRAINT consNegosiasi CHECK (LEN(KodeNegosiasi) = 9 AND NoPolis LIKE ‘NEG%’), CONSTRAINT consNegKodeKary CHECK (LEN(KodeKaryawan) = 6 AND KodeKaryawan LIKE ‘K%’), CONSTRAINT consNegKodeReas CHECK (LEN(KodeReasuransi) = 4 AND KodeReasuransi LIKE ‘R%’), CONSTRAINT consNegKodeJenis CHECK (KodeJenisResiko = ‘FI’ OR KodeJenisResiko = ‘MV’ OR KodeJenisResiko = ‘MC’), CONSTRAINT consNegNoSurvei CHECK (LEN(NoSurvei) = 9 AND NoSurvei LIKE ‘SRV%’), CONSTRAINT consKodeObjek CHECK (LEN(KodeObjek) = 5 AND KodeObjek LIKE ‘‘[0-9][0-9][0-9] [0-9][0-9]’) ) CREATE TABLE PremiumNote ( NoNote CHAR(9) NOT NULL PRIMARY KEY, TanggalCetak DATE NOT NULL, NoPolis CHAR(9) NOT NULL, NoEndorsement CHAR(3) NOT NULL, FOREIGN KEY NoPolis REFERENCES Polis (NoPolis) ON UPDATE CASCADE ON DELETE NO ACTION,
L5
FOREIGN KEY NoEndorsement REFERENCES Polis (NoEndorsement) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT consPremium CHECK (LEN(NoNote) = 9 AND NoNote LIKE ‘NOT%’), CONSTRAINT consPNNoPolis CHECK (LEN(NoPolis) = 9 AND NoPolis LIKE ‘POL%’), CONSTRAINT consPNNoEndorsement CHECK (LEN(NoEndorsement) = 3 AND NoEndorsement LIKE ‘[0-9][0-9][0-9]’), ) CREATE TABLE Reasuransi ( KodeReasuransi CHAR(4) NOT NULL PRIMARY KEY, NamaReasuransi VARCHAR(50) NOT NULL, Alamat VARCHAR(100) NOT NULL, CONSTRAINT consReasuransi CHECK (LEN(KodeReasuransi) = 4 AND KodeReasuransi LIKE ‘R%’) ) CREATE TABLE FacultativeClosingSlip ( NoSlip CHAR(9) NOT NULL PRIMARY KEY, TanggalCetak DATE NOT NULL, NoPolis CHAR(9) NOT NULL, NoEndorsement CHAR(3) NOT NULL, FOREIGN KEY NoPolis REFERENCES Polis (NoPolis) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY NoEndorsement REFERENCES Polis (NoEndorsement) ON UPDATE CASCADE ON DELETE NO ACTION, CONSTRAINT consSlip CHECK (LEN(NoSlip) = 9 AND NoSlip LIKE ‘SLP%’), CONSTRAINT consSLPNoPolis CHECK (LEN(NoPolis) = 9 AND NoPolis LIKE ‘POL%’), CONSTRAINT consSLPNoEndorsement CHECK (LEN(NoEndorsement) = 3 AND NoEndorsement LIKE ‘[0-9][0-9][0-9]’), ) CREATE TABLE FacultativeEndorsement ( NoEndorse CHAR(9) NOT NULL PRIMARY KEY, TanggalCetak DATE NOT NULL, NoPolis CHAR(9) NOT NULL, NoEndorsement CHAR(3) NOT NULL, FOREIGN KEY NoPolis REFERENCES Polis (NoPolis) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY NoEndorsement REFERENCES Polis (NoEndorsement) ON UPDATE CASCADE ON DELETE NO ACTION,
L6
CONSTRAINT consEndorse CHECK (LEN(NoEndorse) = 9 AND NoEndorse LIKE ‘END%’), CONSTRAINT consFENoPolis CHECK (LEN(NoPolis) = 9 AND NoPolis LIKE ‘POL%’), CONSTRAINT consFENoEndorsement CHECK (LEN(NoEndorsement) = 3 AND NoEndorsement LIKE ‘[0-9][0-9][0-9]’), ) CREATE TABLE Karyawan ( KodeKaryawan CHAR(6) NOT NULL PRIMARY KEY, NamaKaryawan VARCHAR(50) NOT NULL, JenisKelamin CHAR(1) NOT NULL, NoKTP CHAR(15) NOT NULL, KodePos CHAR(9) NOT NULL, Alamat VARCHAR(100) NOT NULL, NoTelp CHAR(12) NOT NULL, TglLahir DATE NOT NULL, StatusMenikah CHAR(1) NOT NULL, Gaji FLOAT NOT NULL, CONSTRAINT consKaryawan CHECK (LEN(KodeKaryawan) = 6 AND KodeKaryawan LIKE ‘K%’), CONSTRAINT consSex CHECK (JenisKelamin = ‘L’ OR JenisKelamin = ‘P’), CONSTRAINT consKTP CHECK (LEN(NoKTP) = 15 AND NoKTP LIKE ‘[09][0-9][0-9] [0-9][0-9][0-9] [0-9][0-9][0-9] [0-9][0-9][0-9] [0-9][0-9][0-9]’), CONSTRAINT consPos CHECK (LEN(KodePos) = 5 AND KodePos LIKE ‘[09][0-9][0-9] [0-9][0-9]’), CONSTRAINT consTelp CHECK (LEN(NoTelp) = 12 AND NoEndorsement LIKE ‘[0-9][0-9][0-9] [0-9][0-9][0-9] [0-9][0-9][0-9] [0-9][0-9][0-9]’), CONSTRAINT consStatus CHECK (StatusMenikah = ‘B’ OR StatusMenikah = ‘S’ OR StatusMenikah = ‘C’) ) CREATE TABLE JenisResiko ( KodeJenisResiko CHAR(2) NOT NULL PRIMARY KEY, NamaJenisResiko VARCHAR(20) NOT NULL, CONSTRAINT consJR CHECK (KodeJenisResiko = ‘FI’ OR KodeJenisResiko = ‘MV’ OR KodeJenisResiko = ‘MC’) ) CREATE TABLE Objek ( KodeObjek CHAR(5) NOT NULL PRIMARY KEY, ObjekPertanggungan VARCHAR(50) NOT NULL, CONSTRAINT consObjek CHECK (LEN(KodeObjek) = 5 AND KodeObjek LIKE ‘[0-9] [0-9] [0-9] [0-9] [0-9]’) )
L7
Lampiran 2 – Coding Batasan Perusahaan 1.
Validitas JumlahPertanggungan tidak boleh lebih dari 10 Milyar ALTER TABLE Polis Add CONSTRAINT BatasJumlah CHECK (JumlahPertanggungan <= 10000000000)
ALTER TABLE Negosasi Add CONSTRAINT BatasJumlah CHECK (JumlahPertanggungan <= 10000000000) ALTER TABLE ExPolis Add CONSTRAINT BatasJumlah CHECK (JumlahPertanggungan <= 10000000000)
Lampiran 3 – Coding Indeks CREATE UNIQUE INDEX idxPolis ON Polis(NoPolis) CREATE INDEX idxNamaTertanggung ON Polis(NamaTertanggung) CREATE UNIQUE INDEX idxExPolis ON ExPolis(NoExPolis) CREATE INDEX idxExNamaTertanggung ON ExPolis(NamaTertanggung) CREATE UNIQUE INDEX idxSlip ON FacultativeClosingSlip(NoSlip) CREATE INDEX idxSlipTanggalCetak ON FacultativeClosingSlip(TanggalCetak) CREATE UNIQUE INDEX idxNote ON PremiumNote(NoNote) CREATE INDEX idxNoteTanggalCetak ON PremiumNote(TanggalCetak) CREATE UNIQUE INDEX idxEndorse ON FacultativeEndorsement(NoEndorse) CREATE INDEX idxEndTanggalCetak ON FacultativeEndorsement(TanggalCetak) CREATE UNIQUE INDEX idxKodeJenisResiko ON JenisResiko(KodeJenisResiko) CREATE INDEX idxNamaJenisResiko ON JenisResiko(NamaJenisResiko)
L8
CREATE UNIQUE INDEX idxKodeObjek ON Objek(KodeObjek) CREATE INDEX idxObjekPertanggungan ON Objek(ObjekPertanggungan) CREATE UNIQUE INDEX idxReasuransi ON Reasuransi(KodeReasuransi) CREATE INDEX idxNamaReasuransi ON Reasuransi(NamaReasuransi) CREATE UNIQUE INDEX idxSurvei ON Survei(NoSurvei) CREATE INDEX idxTanggalPemeriksaan ON Survei(TanggalPemeriksaan) CREATE UNIQUE INDEX idxBuku ON BukuRegister(KodeBuku) CREATE INDEX idxTanggalRegister ON BukuRegister(TanggalRegister) CREATE UNIQUE INDEX idxKaryawan ON Karyawan(KodeKaryawan) CREATE INDEX idxNamaKaryawan ON Karyawan(NamaKaryawan) CREATE UNIQUE INDEX idxNegosiasi ON Negosiasi(KodeNegosiasi) CREATE INDEX idxNegoNamaTertanggung ON Negosiasi(NamaTertanggung)
Lampiran 4 – Estimasi Disk space Menghitung ukuran tabel 1. Number of rows in the table = Num_Rows 2. Number of columns = Num_Cols Sum of bytes in all fixed-length columns = Fixed_Data_Size Number of variable-length columns = Num_Variable_Cols Maximum size of all variable-length columns = Max_Var_Size 3. Null Bitmap (Null_Bitmap) = 2 + ((Num_Cols + 7/8), dibulatkan ke bawah 4. Total size of variable-length columns (Variable_Data_Size) = 2 + (Num_Variable_Cols x 2) + Max_Var_Size Jika tidak ada variable-length columnms, nilai Variable_Data_Size adalah 0.
L9
5. Menghitung row size : Total row size (Row_Size) = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4 Penambahan 4 di belakang untuk row header. 6. Menghitung number of rows per page (8096 free bytes per page): Number of rows per page (Row_Per_Page) = (8096) / (Row_Size + 2) Menggunakan pembulatan ke bawah. 7. Number of free rows per page (Free_Rows_Per_Page) = 8096 x ((100 – Fill_Factor) / 100) / (Row_Size + 2) Nilai Fill_Factor secara default adalah 100. 8. Menghitung jumlah page yang dibutuhkan : Number of pages (Num_Pages) = Num_Rows / (Rows_Per_Page – Free_Rows_Per_Page) Dilakukan pembulatan ke atas. 9. Menghitung jumlah byte yang dibutuhkan (8192 total bytes per page): Table Size (bytes) = 8192 x Num_Pages (Sumber dari Anonim, Books Online, MySQL)
L10
Polis Var_cols: NamaTertanggung, Alamat, LokasiPertanggungan,
JenisJaminan,
Deductibles Fixed_cols: NoPolis, NoEndorsement, PeriodeAwal, PeriodeAkhir, SukuPremi, KelasKonstruksi,
JumlahPertanggungan,
R/ICommision,
QuotationShare,
TanggalTerbit, KodeKaryawan, KodeJenisResiko, NoExPolis, KodeBuku, NoSurvei, KodeObjek •
Num_Rows = 5000
•
Num_Cols = 21 Fixed_Data_Size = 102 Num_Variable_Cols = 6 Max_Var_Size = 200
•
Null_Bitmap = 5
•
Var_Data_Size = 214
•
Row_Size = 325
•
Rows_Per_Page = 24
•
Free_Rows_Per_Page = 0
•
Num_Pages = 2023
•
Table_Size = 16572416 Bytes
L11
ExPolis Var_cols: NamaTertanggung, Alamat, LokasiPertanggungan, JenisJaminan Fixed_cols:
NoExPolis,
PeriodeAwal,
PeriodeAkhir,
KelasKonstruksi, JumlahPertanggungan, TanggalTerbit, KodeObjek •
Num_Rows = 5000
•
Num_Cols = 12 Fixed_Data_Size = 61 Num_Variable_Cols = 5 Max_Var_Size = 100
•
Null_Bitmap = 4
•
Var_Data_Size = 112
•
Row_Size = 325
•
Rows_Per_Page = 44
•
Free_Rows_Per_Page = 0
•
Num_Pages = 1133
•
Table_Size = 9281536 Bytes
BukuRegister Fixed_cols: KodeBuku, TanggalRegister, KodeKaryawan •
Num_Rows = 5000
•
Num_Cols = 3
SukuPremi,
L12
Fixed_Data_Size = 25 •
Null_Bitmap = 3
•
Row_Size = 32
•
Rows_Per_Page = 236
•
Free_Rows_Per_Page = 0
•
Num_Pages = 212
•
Table_Size = 1736704 Bytes
DetilRegister Var_cols: NamaTertanggung Fixed_cols: KodeBuku, KodeReasuransi, QuotationShare •
Num_Rows = 5000
•
Num_Cols = 4 Fixed_Data_Size = 15 Num_Variable_Cols = 1 Max_Var_Size = 50
•
Null_Bitmap = 3
•
Var_Data_Size = 54
•
Row_Size = 76
•
Rows_Per_Page = 103
•
Free_Rows_Per_Page = 0
L13
•
Num_Pages = 484
•
Table_Size = 3964928 Bytes
Survei Var_cols: Foto, KeteranganLain Fixed_cols: NoSurvei, TanggalPemeriksaan, StatusKelayakan, KodeKaryawan •
Num_Rows = 5000
•
Num_Cols = 6 Fixed_Data_Size = 36 Num_Variable_Cols = 2 Max_Var_Size = 200
•
Null_Bitmap = 3
•
Var_Data_Size = 206
•
Row_Size = 249
•
Rows_Per_Page = 32
•
Free_Rows_Per_Page = 0
•
Num_Pages = 1554
•
Table_Size = 12730368 Bytes
Negosiasi Var_cols:
NoPolis,
NamaTertanggung,
LokasiPertanggungan, JenisJaminan
Alamat,
KeteranganLain,
L14
Fixed_cols:
KodeNegosiasi,
QuotationShare,
PeriodeAwal,
Persetujuan,
PeriodeAkhir,
KelasKonstruksi,
SukuPremi,
JumlahPertanggungan,
TanggalTerbit, KodeObjek, KodeKaryawan, KodeReasuransi, KodeJenisResiko •
Num_Rows = 5000
•
Num_Cols = 19 Fixed_Data_Size = 81 Num_Variable_Cols = 6 Max_Var_Size = 200
•
Null_Bitmap = 5
•
Var_Data_Size = 214
•
Row_Size = 304
•
Rows_Per_Page = 26
•
Free_Rows_Per_Page = 0
•
Num_Pages = 1891
•
Table_Size = 15491072 Bytes
PremiumNote Fixed_cols: NoNote, TanggalCetak, NoPolis, NoEndorsement •
Num_Rows = 5000
•
Num_Cols = 4 Fixed_Data_Size = 31
L15
•
Null_Bitmap = 3
•
Row_Size = 38
•
Rows_Per_Page = 200
•
Free_Rows_Per_Page = 0
•
Num_Pages = 249
•
Table_Size = 2039808 Bytes
Reasuransi Var_cols: NamaReasuransi, Alamat Fixed_cols: KodeReasuransi •
Num_Rows = 25
•
Num_Cols = 3 Fixed_Data_Size = 4 Num_Variable_Cols = 2 Max_Var_Size = 100
•
Null_Bitmap = 3
•
Var_Data_Size = 106
•
Row_Size = 117
•
Rows_Per_Page = 67
•
Free_Rows_Per_Page = 0
•
Num_Pages = 1
L16
•
Table_Size = 8192 Bytes
FacultativeClosingSlip Fixed_cols: NoSlip, TanggalCetak, NoPolis, NoEndorsement •
Num_Rows = 5000
•
Num_Cols = 4 Fixed_Data_Size = 31
•
Null_Bitmap = 3
•
Row_Size = 38
•
Rows_Per_Page = 200
•
Free_Rows_Per_Page = 0
•
Num_Pages = 249
•
Table_Size = 2039808 Bytes
FacultativeEndorsement Fixed_cols: NoEndorse, TanggalCetak, NoPolis, NoEndorsement •
Num_Rows = 5000
•
Num_Cols = 4 Fixed_Data_Size = 31
•
Null_Bitmap = 3
•
Row_Size = 38
•
Rows_Per_Page = 200
L17
•
Free_Rows_Per_Page = 0
•
Num_Pages = 249
•
Table_Size = 2039808 Bytes
Karyawan Var_cols: NamaKaryawan, TempatLahir, Alamat, NoTelp Fixed_cols: KodeKaryawan, JenisKelamin, NoKTP, KodePos, TglLahir, StatusMenikah, Gaji •
Num_Rows = 200
•
Num_Cols = 11 Fixed_Data_Size = 47 Num_Variable_Cols = 4 Max_Var_Size = 100
•
Null_Bitmap = 4
•
Var_Data_Size = 110
•
Row_Size = 165
•
Rows_Per_Page = 48
•
Free_Rows_Per_Page = 0
•
Num_Pages = 4
•
Table_Size = 32768 Byt
L18
JenisResiko Var_cols: NamaJenisResiko Fixed_cols: KodeJenisResiko •
Num_Rows = 10
•
Num_Cols = 2 Fixed_Data_Size = 2 Num_Variable_Cols = 1 Max_Var_Size = 20
•
Null_Bitmap = 3
•
Var_Data_Size = 24
•
Row_Size = 33
•
Rows_Per_Page = 230
•
Free_Rows_Per_Page = 0
•
Num_Pages = 1
•
Table_Size = 8192 Bytes
Objek Var_cols: ObjekPertanggungan Fixed_cols: KodeObjek •
Num_Rows = 10
•
Num_Cols = 2 Fixed_Data_Size = 5
L19
Num_Variable_Cols = 1 Max_Var_Size = 50 •
Null_Bitmap = 3
•
Var_Data_Size = 54
•
Row_Size = 66
•
Rows_Per_Page = 118
•
Free_Rows_Per_Page = 0
•
Num_Pages = 1
•
Table_Size = 8192 Bytes
Lampiran 5 - Coding View CREATE VIEW viewPolis AS SELECT a.*, b.NamaKaryawan, c.ObjekPertanggungan, d.NamaJenisResiko, e.TanggalRegister, f.QuotationShare as ShareReasuransi, g.NamaReasuransi FROM Polis a JOIN Karyawan b ON a.KodeKaryawan = b.KodeKaryawan JOIN Objek c ON a.KodeObjek = c.KodeObjek JOIN JenisResiko d ON a.KodeJenisResiko = d.KodeJenisResiko join BukuRegister e on a.KodeBuku = e.KodeBuku join DetilRegister f on e.KodeBuku = f.KodeBuku join Reasuransi g on f.KodeReasuransi = g.KodeReasuransi
CREATE VIEW viewFacClosingSlip AS SELECT a.NoSlip, a.TanggalCetak, b.*, c.NamaJenisResiko, d.ObjekPertanggungan, e.TanggalRegister, f.QuotationShare as ShareReasuransi, g.NamaReasuransi, g.Alamat FROM FacultativeClosingSlip a JOIN Polis b ON a.NoPolis = b.NoPolis JOIN JenisResiko c ON b.KodeJenisResiko = c.KodeJenisResiko JOIN Objek d ON b.KodeObjek = d.KodeObjek JOIN BukuRegister e ON b.KodeBuku = e.KodeBuku JOIN DetilRegister f ON e.KodeBuku = f.KodeBuku JOIN Reasuransi g ON g.KodeReasuransi = f.KodeReasuransi where b.NoEndorsement = ‘000’
L20
CREATE VIEW viewPNClose AS SELECT a.NoNote, a.TanggalCetak, b.*, c.NoSlip, d.TanggalRegister, e.QuotationShare as ShareReasuransi, f.NamaReasuransi, f.Alamat FROM PremiumNote a JOIN Polis b ON a.NoPolis = b.NoPolis and a.NoEndorsement = b.NoEndorsement JOIN FacultativeClosingSlip c ON b.NoPolis = c.NoPolis and c.NoEndorsement = b.NoEndorsement JOIN BukuRegister d ON b.KodeBuku = d.KodeBuku JOIN DetilRegister e ON d.KodeBuku = e.KodeBuku JOIN Reasuransi f ON f.KodeReasuransi = e.KodeReasuransi CREATE VIEW viewPNEndorse AS SELECT a.NoNote, a.TanggalCetak, b.*, c.NoSlip, d.TanggalRegister, e.QuotationShare as ShareReasuransi, f.NamaReasuransi, f.Alamat, g.NoEndorse FROM PremiumNote a JOIN Polis b ON a.NoPolis = b.NoPolis and a.NoEndorsement = b.NoEndorsement JOIN FacultativeClosingSlip c ON b.NoPolis = c.NoPolis JOIN FacultativeEndorsement g ON g.NoPolis = b.NoPolis and g.NoEndorsement = b.NoEndorsement JOIN BukuRegister d ON b.KodeBuku = d.KodeBuku JOIN DetilRegister e ON d.KodeBuku = e.KodeBuku JOIN Reasuransi f ON f.KodeReasuransi = e.KodeReasuransi
CREATE VIEW viewFacEndorsement AS SELECT a.NoEndorse, a.TanggalCetak, b.*, c.NoSlip, d.TanggalRegister, e.QuotationShare as ShareReasuransi, f.NamaReasuransi, f.Alamat FROM FacultativeEndorsement a JOIN Polis b ON a.NoPolis = b.NoPolis and a.NoEndorsement = b.NoEndorsement JOIN FacultativeClosingSlip c ON b.NoPolis = c.NoPolis JOIN BukuRegister d ON b.KodeBuku = d.KodeBuku JOIN DetilRegister e ON d.KodeBuku = e.KodeBuku JOIN Reasuransi f ON f.KodeReasuransi = e.KodeReasuransi where b.NoEndorsement <> ‘000’
CREATE VIEW viewNegosiasi AS SELECT a.*, b.ObjekPertanggungan, c.NamaJenisResiko, d.NamaKaryawan, e.NamaReasuransi FROM Negosiasi a JOIN Objek b ON a.KodeObjek = b.KodeObjek JOIN JenisResiko c ON a.KodeJenisResiko = c.KodeJenisResiko JOIN Karyawan d ON a.KodeKaryawan = d.KodeKaryawan JOIN Reasuransi e ON a.KodeReasuransi = e.KodeReasuransi
L21
CREATE VIEW viewSurvei AS SELECT a.*, b.NamaKaryawan FROM Survei a JOIN Karyawan ON a.KodeKaryawan = b.KodeKaryawan
CREATE VIEW viewBukuRegister AS SELECT a.KodeBuku, a.TanggalRegister, a.NamaTertanggung, a.Alamat, a.LokasiPertanggungan, b.NamaKaryawan, c.QuotationShare, c.NamaTertanggung, d.NamaReasuransi FROM BukuRegister a JOIN Karyawan b ON a.KodeKaryawan = b.KodeKaryawan JOIN DetilRegister c ON a.KodeBuku = c.KodeBuku JOIN Reasuransi d ON c.KodeReasuransi = d.KodeReasuransi
L22
Lampiran 6 – Hasil wawancara sebagai analisis kebutuhan informasi •
Hasil wawancara sebelum evaluasi
Tanggal Wawancara
:
2 Februari 2009
Hasil Wawancara
Setelah melalui analisis kebutuhan informasi dalam perusahaan, berikut ini kami dokumentasikan kebutuhan-kebutuhan yang ada dalam perusahaan. Berikut ini dilampirkan hasil wawancara yang dilakukan dalam proses penelitian.
1.
Tanya: Perusahaan yang Bapak Pimpin sudah berdiri berapa lama ?
Jawab: Sudah kurang lebih 10 tahun.
2.
Tanya: Sistem yang berjalan selama ini ada berapa?
Jawab: Ada 2, yaitu sistem administrasi polis, sistem pembukuan atau keuangan /accounting.
3.
Tanya: Sistem apa yang digunakan saat ini dan basis data apa yang digunakan untuk menyimpan data?
Jawab: Menggunakan basis data DBase dan sistem yang digunakan adalah Progress. Dan untuk sistem penutupan fakultatif reasuransi dari alur registrasi sampain penutupan masih menggunakan sistem manual. Dan negosiasi yang dilakukan masih menggunakan e-mail.
L23
4.
Tanya: Siapa yang menggunakan sistem aplikasi ini?
Jawab: Bagian Produksi hanya dalam hal penutupan fakultatif reasuransi yaitu input polis.
5.
Tanya: Bagaimana
perhitungan
premi
dalam
penutupan
fakultatif
reasuransi?
Jawab: Pertama, fakultatif reasuransi terjadi karena kami sebagai pihak Eka Lloyd tidak dapat meng-cover secara penuh asuransi dari nasabah dikarenakan jumlah pertanggungan yang terlampau tinggi. Jadi kami bagi ke perusahaan reasuransi atau asuransi lain dengan pembagian persentase yang disetujui. Berikut dasar pertitungan premi penutupan fakultatif reasuransi:
Misalkan: Jumlah Pertanggungan = Rp. 10.000.000 Suku Premi
= 2%
Premi
= Jumlah Pertanggungan * Suku Premi = Rp. 10.000.000 * 2% = Rp. 200.000
PT. Asuransi Eka Lloyd Jaya
80%
PT. Asuransi A
10%
PT. Asuransi B
10%
L24
Untuk PT. Asuransi Eka Lloyd Jaya Jumlah Pertanggungan = Rp. 10.000.000 * 80% = Rp. 8.000.000 Premi
= Rp. 8.000.000 * 2% = Rp. 160.000
Untuk PT. Asuransi A Jumlah Pertanggungan = Rp. 10.000.000 * 10% = Rp. 1.000.000 Premi
= Rp. 1.000.000 * 2% = Rp. 20.000
Untuk PT. Asuransi B Jumlah Pertanggungan = Rp. 10.000.000 * 10% = Rp. 1.000.000 Premi
= Rp. 1.000.000 * 2% = Rp. 20.000
Michael Kusliawan, S.Kom, ANZIIF(Assoc),CIP Manager IT
L25
•
Hasil wawancara setelah implementasi dan evaluasi
Tanggal Wawancara
:
11 Juni 2009
Hasil Wawancara
Setelah melalui implementasi dalam perusahaan, berikut ini kami dokumentasikan knowledge base pada sistem aplikasi baru yang telah diimplementasikan. Berikut ini dilampirkan hasil wawancara yang dilakukan.
1.
Tanya: Apakah dengan sistem baru ini permasalahan yang dihadapi sebelumnya dapat terpecahkan?
Jawab: Pada sistem baru yang Anda-Anda buat sudah memenuhi kriteria dan untuk saat ini dapat dibilang memecahkan masalah perusahaan kami, tapi masih adanya kekurangan yang muncul dalam aplikasi tersebut. Dan masih membutuhkan perbaikan.
2.
Tanya: Perbaikan apakah yang anda butuhkan?
Jawab: Perbaikan yang kami harapkan adalah pertama, pada data polis, seharusnya ditambahkan jenis jaminan tambahan beserta suku preminya. Kedua, pada tampilan halaman negosiasi, ditambahkan due time sehingga kami sebagai user tahu kapan dilakukannya negosiasi tersebut. Ketiga, adalah tidak adanya fungsi pembatalan
L26
polis dan perhitungan premi pro-ratanya dan batal per sejak semula dalam aplikasi ini.
3.
Tanya: Apakah aplikasi baru ini cukup nyaman dalam hal penggunaan dan tampilan?
Jawab: Menurut kami tampilan tidak masalah, yang penting adalah kejelasan dalam transaksi yang terjadi seperti input-an data dan query terhadap suatu data. Dan tidak ada keluhan dari user bagian produksi itu sendiri.
4.
Tanya: Apakah sistem aplikasi baru ini sering terjadi bug?
Jawab: Sampai saat ini program aplikasi masih berjalan lancar, dan tidak terjadinya error.
Michael Kusliawan, S.Kom, ANZIIF(Assoc),CIP Manager IT