BAB IV IMPLEMENTASI DAN ANALISIS SISTEM
4.3. Implementasi Star Schema Untuk Database OLAP
4.3.1 Star Schema Kubus Laporan Rekapitulasi
Skema kubus laporan rekapitulasi akan membaca data dari fact_laporan_rekapitulasi di database beasiswa_olap. Gambar 4.26 merupakan star schema kubus laporan rekapitulasi.
97
Gambar 4.26: Star schema kubus laporan rekapitulasi
Kubus dengan nama laporan rekapitulasi, memiliki tabel fakta fact_laporan_rekapitulasi. Dimensi yang digunakan adalah dim_prodi, dim_mahasiswa, dim_waktu, dim_status dan dim_beasiswa. Nilai pengukuran atau measure dari skema laporan rekapitulasi adalah besar dana dan jumlah pelamar. Penjelasan mengenai dimensi-dimensi yang digunakan adalah sebagai berikut:
a. dim_prodi
Gambar 4.27 merupakan gambaran struktur pembentukan dim_prodi yang dimiliki kubus laporan rekapitulasi.
98 Pada dim_prodi menggunakan tabel dim_prodi pada database beasiswa_olap dan memiliki hirarki prodi.
b. dim_mahasiswa
Gambar 4.28 merupakan gambaran struktur pembentukan dim_mahasiswa yang dimiliki kubus laporan rekapitulasi.
Gambar 4.28: Struktur pembentukan dim_mahasiswa
Pada dim_mahasiswa menggunakan tabel dim_mahasiswa pada database beasiswa_olap dan memiliki hirarki Mahasiswa.
c. dim_waktu
Gambar 4.29 merupakan gambaran struktur pembentukan dim_waktu yang dimiliki kubus laporan rekapitulasi.
Gambar 4.29: Struktur pembentukan dim_waktu
Pada dim_waktu menggunakan tabel dim_waktu pada database beasiswa_olap dan memiliki hirarki Waktu.
99 d. dim_status
Gambar 4.30 merupakan gambaran struktur pembentukan dim_status yang dimiliki kubus laporan rekapitulasi.
Gambar 4.30: Struktur pembentukan dim_status
Pada dim_status menggunakan tabel dim_status pada database beasiswa_olap dan memiliki hirarki Status.
e. dim_beasiswa
Gambar 4.31 merupakan gambaran struktur pembentukan dim_beasiswa yang dimiliki kubus laporan rekapitulasi.
Gambar 4.31: Struktur pembentukan dim_beasiswa
Pada dim_beasiswa menggunakan tabel dim_beasiswa pada database beasiswa_olap dan memiliki hirarki Beasiswa.
100
4.3.2 Star Schema Kubus Laporan Dana
Skema kubus laporan dana akan membaca data dari fact_laporan_dana di database beasiswa_olap. Gambar 4.32 merupakan star schema kubus laporan dana.
Gambar 4.32: Star schema kubus laporan dana
Kubus dengan nama laporan dana, memiliki tabel fakta fact_laporan_dana. Dimensi yang digunakan adalah dim_beasiswa, dim_waktu dan dim_prodi. Nilai pengukuran atau measure dari skema laporan dana adalah besar dana. Penjelasan mengenai dimensi-dimensi yang digunakan adalah sebagai berikut:
a. dim_beasiswa
Gambar 4.33 merupakan gambaran struktur pembentukan dim_beasiswa yang dimiliki kubus laporan dana.
101 Pada dim_beasiswa menggunakan tabel dim_beasiswa pada database beasiswa_olap dan memiliki hirarki Beasiswa.
b. dim_waktu
Gambar 4.34 merupakan gambaran struktur pembentukan dim_waktu yang dimiliki kubus laporan dana.
Gambar 4.34: Struktur pembentukan dim_waktu
Pada dim_waktu menggunakan tabel dim_waktu pada database beasiswa_olap dan memiliki hirarki Waktu.
c. dim_prodi
Gambar 4.35 merupakan gambaran struktur pembentukan dim_prodi yang dimiliki kubus laporan dana.
Gambar 4.35: Struktur pembentukan dim_prodi
Pada dim_prodi menggunakan tabel dim_prodi pada database beasiswa_olap dan memiliki hirarki Prodi.
102
4.3.3 Star Schema Kubus Laporan Pelamar
Skema kubus laporan pelamar akan membaca data dari fact_laporan_pelamar di database beasiswa_olap. Gambar 4.36 merupakan star schema kubus laporan pelamar.
Gambar 4.36: Star schema kubus laporan pelamar
Kubus dengan nama laporan pelamar, memiliki tabel fakta fact_laporan_pelamar. Dimensi yang digunakan adalah dim_prodi, dim_mahasiswa, dim_waktu, dim_status dan dim_beasiswa. Nilai pengukuran atau measure dari skema laporan pelamar adalah jumlah pelamar. Penjelasan mengenai dimensi-dimensi yang digunakan adalah sebagai berikut:
a. dim_prodi
Gambar 4.37 merupakan gambaran struktur pembentukan dim_prodi yang dimiliki kubus laporan pelamar.
103
Gambar 4.37: Struktur pembentukan dim_prodi
Pada dim_prodi menggunakan tabel dim_prodi pada database beasiswa_olap dan memiliki hirarki prodi.
b. dim_mahasiswa
Gambar 4.38 merupakan gambaran struktur pembentukan dim_mahasiswa yang dimiliki kubus laporan pelamar.
Gambar 4.38: Struktur pembentukan dim_mahasiswa
Pada dim_mahasiswa menggunakan tabel dim_mahasiswa pada database beasiswa_olap dan memiliki hirarki Mahasiswa.
c. dim_waktu
Gambar 4.39 merupakan gambaran struktur pembentukan dim_waktu yang dimiliki kubus laporan pelamar.
104
Gambar 4.39: Struktur pembentukan dim_waktu
Pada dim_waktu menggunakan tabel dim_waktu pada database beasiswa_olap dan memiliki hirarki Waktu.
d. dim_status
Gambar 4.40 merupakan gambaran struktur pembentukan dim_status yang dimiliki kubus laporan pelamar.
Gambar 4.40: Struktur pembentukan dim_status
Pada dim_status menggunakan tabel dim_status pada database beasiswa_olap dan memiliki hirarki Status.
e. dim_beasiswa
Gambar 4.41 merupakan gambaran struktur pembentukan dim_beasiswa yang dimiliki kubus laporan pelamar.
105
Gambar 4.41: Struktur pembentukan dim_beasiswa
Pada dim_beasiswa menggunakan tabel dim_beasiswa pada database beasiswa_olap dan memiliki hirarki Beasiswa.
4.3.4 Skema MDX
Berdasarkan hasil analisis kebutuhan data untuk proses analisis data beasiswa, maka deskripsi skema MDX yang akan didefinisikan dalam sistem ini dapat dilihat pada tabel 4.12.
Tabel 4.12: Deskripsi skema MDX
Atribut MDX Nilai Atribut Tabel pada database beasiswa_olap Kubus Laporan Rekapitulasi fact_laporan_rekapitulasi
Measures Besar Dana total_beasiswa
Jumlah Pelamar sk_status
Dimensi Dimensi Prodi dim_prodi
Hirarki Prodi dim_prodi.sk_prodi
Level Prodi dim_prodi.prodi
Dimensi Dimensi Mahasiswa dim_mahasiswa
Hirarki Mahasiswa dim_mahasiswa.sk_mahasiswa
Level Mahasiswa dim_mahasiswa.nomor_mhs
Dimensi Dimensi Waktu dim_waktu
Hirarki Waktu dim_waktu.sk_waktu
Level Waktu dim_waktu.tahun
Dimensi Dimensi Status dim_status
Hirarki Status dim_status.sk_status
106
Dimensi Dimensi Beasiswa dim_beasiswa
Hirarki Beasiswa dim_beasiswa.sk_beasiswa
Level Beasiswa dim_beasiswa.jenis_beasiswa
4.3.5 Skema laporan_rekapitulasi.xml
Tabel 4.13 merupakan definisi skema laporan_rekapitulasi.xml yang dihasilkan dari pembentukan file laporan_rekapitulasi star schema kubus Laporan Rekapitulasi.
Tabel 4.13: Definisi skema laporan_rekapitulasi.xml
<Schema name="New Schema1">
<Dimension type="StandardDimension" name="Dimensi Prodi">
<Hierarchy name="Prodi" hasAll="true" allMemberName="Semua Prodi" primaryKey="sk_prodi">
<Table name="dim_prodi"> </Table>
<Level name="Prodi" column="prodi" nameColumn="prodi" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
</Level> </Hierarchy> </Dimension>
<Dimension type="StandardDimension" name="Dimensi Mahasiswa">
<Hierarchy name="Mahasiswa" hasAll="true"
allMemberName="Semua Mahasiswa" primaryKey="sk_mahasiswa"> <Table name="dim_mahasiswa"> </Table> <Level name="Mahasiswa" column="nomor_mhs" nameColumn="nomor_mhs" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"> </Level> </Hierarchy> </Dimension>
<Dimension type="StandardDimension" name="Dimensi Waktu">
<Hierarchy name="Waktu" hasAll="true" allMemberName="Semua Waktu" primaryKey="sk_waktu">
<Table name="dim_waktu"> </Table>
<Level name="Waktu" column="tahun" nameColumn="tahun" type="Integer"
107 uniqueMembers="false" levelType="Regular" hideMemberIf="Never"> </Level> </Hierarchy> </Dimension>
<Dimension type="StandardDimension" name="Dimensi Status">
<Hierarchy name="Status" hasAll="true" allMemberName="Semua Status" primaryKey="sk_status">
<Table name="dim_status"> </Table>
<Level name="Status" column="status" nameColumn="status" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"> </Level> </Hierarchy> </Dimension>
<Dimension type="StandardDimension" name="Dimensi Beasiswa">
<Hierarchy name="Beasiswa" hasAll="true"
allMemberName="Semua Beasiswa" primaryKey="sk_beasiswa"> <Table name="dim_beasiswa"> </Table> <Level name="Beasiswa" column="jenis_beasiswa" nameColumn="jenis_beasiswa" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never"> </Level> </Hierarchy> </Dimension>
<Cube name="Laporan Rekapitulasi" cache="true" enabled="true">
<Table name="fact_laporan_rekapitulasi"> </Table>
<DimensionUsage source="Dimensi Prodi" name="Dimensi Prodi" foreignKey="sk_prodi">
</DimensionUsage>
<DimensionUsage source="Dimensi Mahasiswa" name="Dimensi Mahasiswa" foreignKey="sk_mahasiswa">
</DimensionUsage>
<DimensionUsage source="Dimensi Waktu" name="Dimensi Waktu" foreignKey="sk_waktu">
</DimensionUsage>
<DimensionUsage source="Dimensi Status" name="Dimensi Status" foreignKey="sk_status">
</DimensionUsage>
<DimensionUsage source="Dimensi Beasiswa" name="Dimensi Beasiswa" foreignKey="sk_beasiswa">
108 <Measure name="Besar Dana" column="total_beasiswa" datatype="Integer" aggregator="sum" visible="true">
</Measure>
<Measure name="Jumlah Pelamar" column="sk_status" datatype="Integer" aggregator="count" visible="true">
</Measure> </Cube>
</Schema>