• Tidak ada hasil yang ditemukan

Dengan konsep data warehouse, berharap agar penelitian ini dikembangkan sampai dengan pengambilan keputusan. Dengan aturan yang telah ada serta informasi nilai aspek pekerjaan, sikap dan nilai akhir, Sehingga dapat membuat langkah untuk menaikan status grade karyawan yang didasarkan oleh aturan dengan ditambah informasi dari hasil OLAP yang berupa nilai aspek pekerjaan, sikap dan nilai akhir.

76 DAFTAR PUSTAKA

Anin, Maria Roswita Vindensia. 2012 Desain dan Implementasi Gudang Data untuk Keperluan Laporan Penerimaan Beasiswa.n Yogyakarta: Universitas Sanata Dharma.

Connoly, Thomas M, Carolyn, Begg, 2005. Database System A Practical Approach to Design, Implementation and Management, Fourth Edition. Addition Wesley Publishing Company, inc, USA.

JRP, Mulyana. 2014. PENTAHO: Solusi Open Source untuk Membangun Data Warehouse.

Kimball, R, Ross, M., Becker, B., Mundy, J., dan Tornthwaite, W. 2010.

The Kimball Group Reader: Relentlessly Practical Tools for Data Warehouseing and Bussiness Intelligence, Canada: John willey & Sons. Thomas M. Connoly, Carolyn E. Begg., 2008, Database System A Practical Approach to Design, Implementation, and Management, 5th Edition Addison Wesley, University The West of Scotland.

Wasito, Setiawan. 2010. Implementasi Gudang Data untuk Keperluan Akademik Studi Kasus Fakultas Teknik Informatika Universitas Sanata Dharma. Yogyakarta: Universitas Sanata Dharma.

77 LAMPIRAN I QUERY TABEL 1. Tabel ‘Master_Periode’.

CREATE TABLE `periode` (

`PERIODE_CODE` int(20) NOT NULL,

`BULAN_AWAL` varchar(30) DEFAULT NULL, `BULAN_AKHIR` varchar(30) DEFAULT NULL, `TAHUN_AWAL` int(4) DEFAULT NULL,

`TAHUN_AKHIR` int(4) DEFAULT NULL, PRIMARY KEY (`PERIODE_CODE`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

2. Tabel ‘Master_Bagian’.

CREATE TABLE `master_bagian` ( `ID_BAGIAN` int(11) NOT NULL,

`BAGIAN` varchar(100) DEFAULT NULL, PRIMARY KEY (`ID_BAGIAN`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

3. Tabel ‘Master_Karyawan’.

CREATE TABLE `master_karyawan` ( `NIK` bigint(20) NOT NULL, `KODE` bigint(20) DEFAULT NULL, `BAGIAN` varchar(100) DEFAULT NULL, `SEKSI` varchar(100) DEFAULT NULL, `DEPARTMENT` varchar(100) DEFAULT NULL, `ID_BAGIAN` int(11) DEFAULT NULL,

PRIMARY KEY (`NIK`),

KEY `ID_BAGIAN_idx` (`ID_BAGIAN`),

CONSTRAINT `ID_BAGIAN` FOREIGN KEY

78

(`ID_BAGIAN`) ON DELETE NO ACTION ON UPDATE NO ACTION

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

4. Tabel ‘Master_Puk’.

CREATE TABLE `master_puk` (

`PERIODE_CODE` int(20) NOT NULL, `NIK` bigint(20) NOT NULL,

`ID_BAGIAN` int(11) NOT NULL, `KODE` bigint(20) DEFAULT NULL, `PENILAI1_1_1` int(2) DEFAULT NULL, `PENILAI2_1_1` int(2) DEFAULT NULL, `INDIKATOR1_1` int(2) DEFAULT NULL, `PENILAI1_1_2` int(2) DEFAULT NULL, `PENILAI2_1_2` int(2) DEFAULT NULL, `INDIKATOR1_2` int(2) DEFAULT NULL, `PENILAI1_1_3` int(2) DEFAULT NULL, `PENILAI2_1_3` int(2) DEFAULT NULL, `INDIKATOR1_3` int(2) DEFAULT NULL, `PENILAI1_1_4` int(2) DEFAULT NULL, `PENILAI2_1_4` int(2) DEFAULT NULL, `INDIKATOR1_4` int(2) DEFAULT NULL, `PENILAI1_1_5` int(2) DEFAULT NULL, `PENILAI2_1_5` int(2) DEFAULT NULL, `INDIKATOR1_5` int(2) DEFAULT NULL, `PENILAI1_2_1` int(2) DEFAULT NULL, `PENILAI2_2_1` int(2) DEFAULT NULL, `INDIKATOR2_1` int(2) DEFAULT NULL, `PENILAI1_2_2` int(2) DEFAULT NULL, `PENILAI2_2_2` int(2) DEFAULT NULL, `INDIKATOR2_2` int(2) DEFAULT NULL, `PENILAI1_2_3` int(2) DEFAULT NULL, `PENILAI2_2_3` int(2) DEFAULT NULL, `INDIKATOR2_3` int(2) DEFAULT NULL,

79

`PENILAI1_2_4` int(2) DEFAULT NULL, `PENILAI2_2_4` int(2) DEFAULT NULL, `INDIKATOR2_4` int(2) DEFAULT NULL, `PENILAI1_2_5` int(2) DEFAULT NULL, `PENILAI2_2_5` int(2) DEFAULT NULL, `INDIKATOR2_5` int(2) DEFAULT NULL, KEY `KARYAWAN_idx` (`NIK`),

KEY `PEIRODE_idx` (`PERIODE_CODE`), KEY `BAGIAN_idx` (`ID_BAGIAN`),

CONSTRAINT `BAGIAN` FOREIGN KEY (`ID_BAGIAN`) REFERENCES `master_karyawan` (`ID_BAGIAN`) ON DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `KARYAWAN` FOREIGN KEY (`NIK`)

REFERENCES `master_karyawan` (`NIK`) ON DELETE NO ACTION ON UPDATE CASCADE,

CONSTRAINT `PERIODE` FOREIGN KEY (`PERIODE_CODE`) REFERENCES `periode` (`PERIODE_CODE`) ON DELETE NO ACTION ON UPDATE NO ACTION

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

5. Tabel ‘Dim_Periode’.

CREATE TABLE `dim_periode` (

`PERIODE_CODE` int(11) DEFAULT NULL, `BULAN_AWAL` varchar(45) DEFAULT NULL, `BULAN_AKHIR` varchar(45) DEFAULT NULL, `TAHUN_AWAL` int(11) DEFAULT NULL, `TAHUN_AKHIR` int(11) DEFAULT NULL,

`SK_PERIODE` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`SK_PERIODE`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT

80 6. Tabel ‘Dim_Bagian’.

CREATE TABLE `dim_bagian` ( `SK_BAGIAN` int(11) NOT NULL,

`BAGIAN` varchar(100) DEFAULT NULL, `ID_BAGIAN` int(11) DEFAULT NULL, PRIMARY KEY (`SK_BAGIAN`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

7. Table ‘Dim_Karyawan’.

CREATE TABLE `dim_karyawan` (

`SK_KARYAWAN` int(11) NOT NULL AUTO_INCREMENT, `NIK` bigint(20) DEFAULT NULL,

`KODE` bigint(20) DEFAULT NULL,

`DEPARTMENT` varchar(100) DEFAULT NULL, `BAGIAN` varchar(100) DEFAULT NULL, `SEKSI` varchar(100) DEFAULT NULL, `ID_BAGIAN` int(11) DEFAULT NULL, PRIMARY KEY (`SK_KARYAWAN`), KEY `SK_BAGIAN_idx` (`ID_BAGIAN`)

) ENGINE=InnoDB AUTO_INCREMENT=709 DEFAULT

CHARSET=latin1;

8. Tabel ‘Dim_Puk’.

CREATE TABLE `dim_puk` (

`SK_PUK` int(11) NOT NULL AUTO_INCREMENT, `INDIKATOR1_1` int(11) DEFAULT NULL, `INDIKATOR1_2` int(11) DEFAULT NULL, `INDIKATOR1_3` int(11) DEFAULT NULL, `INDIKATOR1_4` int(11) DEFAULT NULL, `INDIKATOR1_5` int(11) DEFAULT NULL, `INDIKATOR2_1` int(11) DEFAULT NULL, `INDIKATOR2_2` int(11) DEFAULT NULL, `INDIKATOR2_3` int(11) DEFAULT NULL, `INDIKATOR2_4` int(11) DEFAULT NULL, `INDIKATOR2_5` int(11) DEFAULT NULL,

81 `NIK` int(11) DEFAULT NULL,

`PERIODE_CODE` int(11) DEFAULT NULL, `KODE` int(11) DEFAULT NULL,

`ID_BAGIAN` int(11) DEFAULT NULL, PRIMARY KEY (`SK_PUK`)

) ENGINE=InnoDB AUTO_INCREMENT=3941 DEFAULT

CHARSET=latin1;

9. Tabel ‘Fact_Detail’.

CREATE TABLE `fact_detail` (

`SK_KARYAWAN` int(11) DEFAULT NULL, `SK_PERIODE` int(11) DEFAULT NULL, `SK_PUK` int(11) DEFAULT NULL,

`INDIKATOR1_1` int(11) DEFAULT NULL, `INDIKATOR1_2` int(11) DEFAULT NULL, `INDIKATOR1_3` int(11) DEFAULT NULL, `INDIKATOR1_4` int(11) DEFAULT NULL, `INDIKATOR1_5` int(11) DEFAULT NULL, `INDIKATOR2_1` int(11) DEFAULT NULL, `INDIKATOR2_2` int(11) DEFAULT NULL, `INDIKATOR2_3` int(11) DEFAULT NULL, `INDIKATOR2_4` int(11) DEFAULT NULL, `INDIKATOR2_5` int(11) DEFAULT NULL, `SK_BAGIAN` int(11) DEFAULT NULL, KEY `SK_KARYAWAN_idx` (`SK_KARYAWAN`), KEY `SK_PUK_idx` (`SK_PUK`),

KEY `SK_PERIODE_idx` (`SK_PERIODE`), KEY `SK_BAGIAN_idx` (`SK_BAGIAN`),

CONSTRAINT `SK_BAGIAN` FOREIGN KEY (`SK_BAGIAN`) REFERENCES `dim_bagian` (`SK_BAGIAN`) ON DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `SK_KARYAWAN` FOREIGN KEY

82

`dim_karyawan` (`SK_KARYAWAN`) ON

DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `SK_PERIODE` FOREIGN KEY

(`SK_PERIODE`) REFERENCES `dim_periode` (`SK_PERIODE`) ON DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `SK_PUK` FOREIGN KEY (`SK_PUK`)

REFERENCES `dim_puk` (`SK_PUK`) ON

DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

10. Tabel ‘Fact_Nilai’.

CREATE TABLE `fact_nilai` (

`SK_KARYAWAN` int(11) DEFAULT NULL, `SK_PERIODE` int(11) DEFAULT NULL, `SK_BAGIAN` int(11) NOT NULL,

`ASPEK_PEKERJAAN` int(11) DEFAULT NULL, `ASPEK_SIKAP` int(11) DEFAULT NULL, `NILAI` int(11) DEFAULT NULL,

`NILAI_HURUF` varchar(45) DEFAULT NULL, `KETERANGAN` varchar(100) DEFAULT NULL, KEY `SK_PERIODE_idx` (`SK_PERIODE`), KEY `SK_KARYAWAN_idx` (`SK_KARYAWAN`), KEY `SK_BAGIAN_idx` (`SK_BAGIAN`),

CONSTRAINT `SK_BAGIAN` FOREIGN KEY (`SK_BAGIAN`) REFERENCES `dim_bagian` (`SK_BAGIAN`) ON DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `SK_KARYAWAN` FOREIGN KEY

(`SK_KARYAWAN`) REFERENCES

`dim_karyawan` (`SK_KARYAWAN`) ON

DELETE NO ACTION ON UPDATE NO ACTION,

CONSTRAINT `SK_PERIODE` FOREIGN KEY

(`SK_PERIODE`) REFERENCES `dim_periode` (`SK_PERIODE`) ON DELETE NO ACTION ON UPDATE NO ACTION

83

84 LAMPIRAN II LISTING PROGRAM

Listing Program untuk Halaman Login <%

TOOLS.Database conn = new TOOLS.Database(); Connection con = Koneksi.open();

Statement statement = con.createStatement(); ResultSet result = null;

%>

<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html>

<html> <head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <style> #header { background-color: skyblue; color: white; text-align: center; padding: 5px; } #nav { line-height: 30px; background-color: #EEEEEE; height: 300px; width: 400px; float: left; padding: 5px; } #section { width: 500px; float: left; padding: 10px; } #footer { background-color: skyblue; color: white; clear: both; text-align: center;

85 padding: 5px; } </style> </head> <body> <div id="header">

<h1>PT SURYA PAMENANG MONDRIAN OLAP</h1> <img src ="logo.png" style="width :150px; height: 60px"> </div>

<div id="nav"> <p>Selamat Datang</p> <ul>

<form method="post" action="LoginProses.jsp">

<fieldset> <legend>

Masukan USERNAME dan PASSWORD : </legend>

USERNAME : <br>

<input type="text" name="nik"><br> PASSWORD : <br>

<input type="text" name="pass"><br>

<button type="Login" name="login">Login</button> </fieldset> </form>

</ul> </div>

<div id ="section">

<img src ="c2.png" style ="width:900px; height: 300px;"> </div>

<div id ="footer">Lukas Gede Ngurah Bayu Putra</div> </body>

</html>

Fungsi Login pada LoginProses.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html>

<html> <head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <% String nama=request.getParameter("nik"); String password=request.getParameter("pass");

if(nama.equals("admin") && password.equals("admin")){ // out.print("Welcome, "+nama);

86

request.getRequestDispatcher("index.jsp").include(request, response);

} else{

out.print("Sorry, username or password error!");

request.getRequestDispatcher("Login.jsp").include(request, response); } out.close(); %> </body> </html>

87 %>

<%@ taglib uri="http://www.tonbeller.com/jpivot" prefix="jp" %> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

<html> <head>

<meta name="description" content="Mondrian is an OLAP server written in Java. It enables you to interactively

analyze very large datasets stored in SQL databases without writing SQL.">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Mondrian OLAP Server</title>

<link rel="stylesheet" href="stylesheet.css" type="text/css" /> <style> #header { background-color: skyblue; color: white; text-align: center; padding: 5px; } #nav { line-height: 30px; background-color: #EEEEEE; height: 300px; width: 400px; float: left; padding: 5px; } #section { width: 500px; float: left; padding: 10px; } #footer { background-color: skyblue; color: white; clear: both; text-align: center; padding: 5px; width: 400px; } ul { list-style-type: none; margin: 0; padding: 0;

88 width: 400px;

background-color: #AAAAAA; overflow: hidden;

border: 2px solid #e7e7e7; } li a { display: block; color: #000; padding: 8px 0px 8px 16px; text-decoration: none; } li a.active { background-color: #4CAF50; color: white; } li a:hover:not( .active){ background-color: #555; color :white; } </style> </head> <body> <div id="header">

<h1>PT SURYA PAMENANG MONDRIAN OLAP</h1> </div>

<div id="nav"><p>Mondrian examples:</p> <ul>

<li><a href="testpage.jsp?query=mondrian">Nilai Final Karyawan</a></li>

<li><a href="testpage.jsp?query=detailnilai">Detail Nilai Karyawan</a></li> <% if (session.getAttribute("name") != null) { %> <li><a href="Logout.jsp">Logout</a></li> <% } else { response.sendRedirect("Login.jsp"); } %> </ul> </div> <div id ="section"> <h1> </h1>

<jp:mondrianQuery id="query01" jdbcDriver="com.mysql.jdbc.Driver" jdbcUrl="jdbc:mysql://localhost:3306/skripsidwhfinalcoba1" jdbcUser ="root" jdbcPassword=""

89

Struktur Halaman Mondrian.jsp

Struktur Halaman detailnilai.jsp

<%@ page session="true" contentType="text/html; charset=ISO-8859-1" %>

<%@ taglib uri="http://www.tonbeller.com/jpivot" prefix="jp" %> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <html>

<head>

<meta name="description" content="Mondrian is an OLAP server written in Java. It enables you to interactively

analyze very large datasets stored in SQL databases without writing SQL.">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Mondrian OLAP Server</title>

<link rel="stylesheet" href="stylesheet.css" type="text/css" /> <style> #header { background-color: skyblue; color: white; text-align: center; padding: 5px; } #nav { line-height: 30px; background-color: #EEEEEE; catalogUri="/WEB-INF/queries/SchemaSkripsiNilaiBagianNilaiHuruf.xml">

select NON EMPTY {[Measures].[PEKERJAAN], [Measures].[SIKAP], [Measures].[NILAI]} ON COLUMNS,

NON EMPTY {([BAGIAN].[AllBagian],

[KARYAWAN.NIK].[AllKaryawan], [PERIODE].[AllPeriode], [NILAI HURUF].[AllNilai])} ON ROWS

from [SKRIPSINILAIBAGIAN] </jp:mondrianQuery>

<c:set var="title01" scope="session">Nilai Karyawan Mondrian OLAP</c:set>

<div id ="footer">Grafik Nilai Karyawan</div>

</body> </html>

90 height: 300px; width: 400px; float: left; padding: 5px; } #section { width: 500px; float: left; padding: 10px; } #footer { background-color: skyblue; color: white; clear: both; text-align: center; padding: 5px; } ul { list-style-type: none; margin: 0; padding: 0; width: 400px; background-color: #AAAAAA; overflow: hidden;

border: 2px solid #e7e7e7; } li a { display: block; color: #000; padding: 8px 0px 8px 16px; text-decoration: none; } li a.active { background-color: #4CAF50; color: white; } li a:hover:not( .active){ background-color: #555; color :white; } </style> </head> <body>

91 <div id="header">

<h1>PT SURYA PAMENANG MONDRIAN OLAP</h1> </div>

<div id="nav"><p>Mondrian examples:</p> <ul>

<li><a href="testpage.jsp?query=mondrian">Nilai Final Karyawan</a></li>

<li><a href="testpage.jsp?query=detailnilai">Detail Nilai Karyawan</a></li> <% if (session.getAttribute("name") != null) { %> <li><a href="Logout.jsp">Logout</a></li> <% } else { response.sendRedirect("Login.jsp"); } %> </ul> </div> <div id ="section"> <h1> </h1> <jp:mondrianQuery id="query01" jdbcDriver="com.mysql.jdbc.Driver" jdbcUrl="jdbc:mysql://localhost:3306/skripsidwh " jdbcUser ="root" jdbcPassword=""

catalogUri="/WEB-INF/queries/SchemafFactDetail11.xml">

select NON EMPTY {[Measures].[INDIKATOR1_1], [Measures].[INDIKATOR1_2], [Measures].[INDIKATOR1_3], [Measures].[INDIKATOR1_4], [Measures].[INDIKATOR1_5], [Measures].[INDIKATOR2_1], [Measures].[INDIKATOR2_2], [Measures].[INDIKATOR2_3], [Measures].[INDIKATOR2_4], [Measures].[INDIKATOR2_5]} ON COLUMNS,

NON EMPTY Crossjoin(Hierarchize({([BAGIAN].[AllBagian], [KARYAWAN.Karyawan].[AllKaryawan],

[PERIODE].[AllPeriode])}), {[PUK].[PUK]}) ON ROWS from [FACT_DETAIL]

</jp:mondrianQuery>

<c:set var="title01" scope="session">Nilai Detail Karyawan Mondrian OLAP</c:set>

<div id ="footer">Detail Nilai PUK Mondrian</div>

</body> </html>

92 MANUAL

SISTEM DATABASE ONLINE ANALYTICAL PROCESSING (OLAP) MONITORING KINERJA KARYAWAN

I. LOGIN

Sebelum masuk ke sistem, pengguna harus melakukan login. Proses login diawali dengan mengisi field username dan password yang sesuai kemudian memilih tombol “LOGIN”

Jika masukan benar maka akan masuk dan dibuka pada halaman home. Jika masukan salah maka proses login dianggap gagal, sistem akan memberikan konfirmasi bahwa login gagal.

93

II. HALAMAN MENU SISTEM

2.1 Halaman Utama

Halaman menu utama muncul pertama kali ketika proses login berhasil. Halaman menu utama menampilkan menu halaman nilai final karyawan, detail nilai karyawan dan logout. Untuk keluar dari sistem pilih menu logout”.

2.2 Halaman Nilai Final Karyawan

Halaman nilai final karyawan menampilkan informasi nilai aspek pekerjaan, sikap dan nilai akhir.

2.3 Halaman Detail Nilai Karyawan

Halaman detail nilai karyawan menampilkan informasi detail nilai karyawan yang terdiri dari indikator1_1 – indikator2_5.

94

Jika ingin kembali pada halaman utama cukup klik Back to Index

III. FUNGSI MENU MONDRIAN

3.1 Icon Olap Navigator

Memilih Informasi Yang Ingin Ditampilkan 1. Klik icon “OLAP Navigator”

2. Pilih dimensi bagian (BAGIAN) untuk memilih bagian mana saja yang akan ditampilkan.

3. Setelah diklik maka akan masuk pada rows bagian untuk memilih bagian yang ingin ditampilkan. Pilih salah satu bagian (FINISHING).

95

4. Setelah diklik, pilih OK. Menu akan kembali pada menu OLAP Navigator.

5. Klik tombol “OK”, maka hanya bagian “FINISHING” yang ditampilkan.

96 3.2 Icon MDX Editor

Setelah memilih dimensi atau measure yang ingin ditampilkan, maka klik tombol “Apply”.

97 3.3 Icon Set Chart

Digunakan untuk membuat chart sesuai dengan keingan.

Jika sudah sesuai dengan keinginan klik tombol “OK”.

3.4 Icon Show Chart

98 3.5 Memasukan Data Excel

1. Pilih file cobabagianexcel.ktr kemudian open.

2. Kemudian pilih Microsoft Excel Input.

3. Kemudian masukan file directory dengan tekan tombol browse. Pilih file yang ingin dimasukan kemudian klik tombol add jika sudah file directory akan ditampilkan lalu langkah akhir klik tombol ok.

99

4. Jika file sudah dimasukan didalam langkah Microsoft excel input,

langkah berikutnya adalah klik tombol run . Ulangi langkah untuk memasukan file excel untuk transformasi excel input karyawan dan puk.

3.6Menjalankan Job

1. Pilih file kemudian open

2. Pilih file nilaifinaljob.kjb untuk menjalankan job nilaifinal sementara untuk detail nilai pilih file detailnilaijob.kjb. setelah dipilih kemudian klik open.

100 LAMPIRAN III

Dokumen terkait