BAB 4
PERANCANGAN DATA WAREHOUSE
4.1 Arsitektur Data Warehouse
Perancangan Data Warehouse pada Rumah Sakit XYZ menggunakan Centralized Data Warehouse (Data Warehouse yang terpusat). Sumber data yang terdapat pada database operasional Rumah Sakit XYZ akan dipilih berdasarkan jenis pelaporan yang disesuaikan dengan kebutuhan oleh perusahaan, yang kemudian dikumpulkan dan diintegrasikan pada suatu tempat penyimpanan yang besar. Setelah terintegrasi dan terstruktur barulah data digunakan oleh (CEO Broad Management , COO (Chief Operating Officer), Chief of Business Marketing and Customer Management, dan Chief of Division of Clinical Standards Safety and Quality). Dipilihnya arsitektur terpusat karena memiliki beberapa keuntungan, yaitu :
1. Konsistensi data sangat tinggi karena terlebih dahulu data-data sudah diintegrasikan.
2. Mempermudah perbaikan (maintenance) dan pemantau (Controlling) data – data yang ada dalam Data Warehouse, karena sudah memiliki tempat penyimpanan yang khusus.
Berdasarkan gambar diatas, dapat dijelaskan bagian-bagian pada arsitektur data warehouse pada Rumah Sakit XYZ sebagai berikut :
1. Data Source merupakan sumber data operasional (OLTP Rumah Sakit XYZ)
2. Staging Area merupakan area dimana data-data OLTP di ekstrak, kemudian di transformasi (di bersihkan, diubah jika ada nilai kosong atau invailid, di ubah format filenya), lalu di load untuk kemudian disimpan di data warehouse.
3. Data Warehouse merupakan sebuah tempat penyimpanan data-data yang telah melalui proses ETL atau Stagging Area. Pada Data Warehouse ini, data-data telah berbentuk dimensi dan fakta.
4. User dapat berinteraksi atau menggunakan data-data yang ada di dalam data warehouse dengan End-User yang tersedia.
Access Control yaitu aplikasi OLAP, dimana user bisa menerima informasi dan menganalisis informasi yang berupa Summary Report, terdapat empat user pada perancangan data warehouse ini, yaitu :
1. CEO Broad Management yang berperan dalam menetapkan arah dan tujuan berdasarkan laporan yang diberikan, serta menetapkan kebijakan operasional sebagai pedoman kerja rumah sakit.
2. Chief Operating Officer yang bertanggung jawab untuk operasi sehari-hari pada rumah sakit, yang akan membuat laporan divisinya untuk di berikan kepada CEO Broad Management.
3. Chief of Division of Clinical Standards Safety and Quality yang bertanggung jawab atas penyarankan pada kualitas klinis dan keselamatan untuk meningkatkan pengalaman perawatan dan membantu di Area Pelayanan Kesehatan Mental dalam meminimalkan kasus efek samping yang serius sementara orang dalam perawatan, serta konsumen dan pengasuh keterlibatan untuk mendukung integrasi pemulihan dan perawatan pada pasien yang akan memberikan laporan divisinya kepada CEO Broad Management.
4. Chief of Bussiness Marketing and Customer Management yang bertanggung jawab atas peningkatan customer relationship, public relation, promosi rumah sakit, dan membuat laporan dari divisinya kepada CEO Broad Management.
4.2 Perancangan Data Warehouse
Pada sub bab ini dijelaskan mengenai perancangan data warehouse pada Rumah Sakit XYZ berdasarkan nine-step methodology :
4.2.1 Memilih Proses (Choosing the Process)
Berikut proses yang ada pada Rumah Rumah Sakit XYZ yang akan dipilih untuk perancangan Data Warehouse :
4.2.1.1 Proses Rawat Jalan
Rawat Jalan adalah proses yang dilakukan pada Rumah Sakit XYZ dimana pasien tidak memerlukan perawatan intensif dari rumah sakit. Proses rawat jalan yang dimaksudkan untuk perancangan data warehouse ini adalah proses yang dimulai dari pendaftaran rawat jalan oleh pasien yang kemudian melakukan kunjungan kepoliklinik tertentu sesuai penyakitnya dan kemudian bertemu dengan dokter yang menangani. Dokumen yang akan digunakan meliputi Poliklinik, Dokter, Penyakit, Spesialis, RekamMedik, Transaksi PenunjangMedik, Pasien, Transaksi RawatJalan dan data yang digunakan meliputi KdPasien, NamaPasien, KdRekMedik, KdPoliklinik, Jenis Spesialis, KdDokter, Nama Dokter, KdPenyakit, KdTrRawatJalan, KdTrPenunjangMedik.
4.2.1.2 Proses Rawat Inap
Rawat Inap adalah proses yang dilakukan pada Rumah Sakit XYZ dimana pasien memerlukan perawatan intensif dan harus dipantau secara rutin oleh. Proses rawat inap yang dimaksudkan dalam perancangan data warehouse ini dimulai dari pendaftaran rawat inap sampai dengan keluamya pasien dari. Dokumen yang akan digunakan meliputi Transaksi Rawatlnap, Detail RawatInap, RekamMedik, Pasien, Penyakit, Dokter, Spesialis, Transaksi PenunjangMedik dan data yang digunakan meliputi KdPasien, Nama Pasien, KdDokter, Nama Dokter, Jenis Spesialis, Nama Kamar, Kelas, NamaObat, NamaPenyakit.
4.2.1.3 Proses Penunjang Medik
Proses pada penunjang medik di Rumah Sakit XYZ adalah proses untuk menunjang perawatan medis di rumah, baik rawat jalan maupun rawat inap. Proses penunjang medik yang dimaksudkan dalam perancangan data warehouse ini dimulai dari pendaftaran pasien ke laboratorium yang sesuai dengan kebutuhan pasien, sampai hasil didapatkan. Dokumen yang akan digunakan meliputi Transaksi PenunjangMedik, Transaksi RawatJalan, Transaksi RawatInap, Kamar, Fasilitas, Obat, Dan data yang digunakan meliputi KdTrRawatJalan, KdTrRawatInap, KdTrPenunjangMedik, KdFasilitas, KdObat.
4.2.2 Memilih Grain (Choosing the Grain)
Memilih grain berarti menentukan apa yang sebenarnya direpresentasikan oleh record dalam tabel fakta. Berikut adalah grain yang ada dalam perancangan Data Warehouse Rumah Sakit XYZ :
4.2.2.1. Grain Proses Rawat Jalan
Analisis yang dilakukan pada rawat jalan meliputi, Penyakit yang paling banyak diderita pasien, Jumlah pasien rawat jalan yang terbanyak pada setiap bulan, Poliklinik yang paling banyak dikunjungi pasien, Kategori umur pada penyakit apa yang paling banyak melakukan pemeriksaan, Kategori jenis kelamin apa yang paling banyak berobat, dan jumlah transaksi rawat jalan.
4.2.2.2 Grain Proses Rawat Inap
Analisis yang dilakukan pada rawat inap meliputi, kategori umur pada pasien rawat inap, jumlah pasien rawat inap yang terbanyak pada setiap bulan, Penyakit yang paling banyak diderita pasien pada rawat inap, Kamar sering digunakan pada rawat inap, dokter spesialis yang paling banyak melakukan pengobatan, Jumlah transaksi Rawat Inap.
4.2.2.3 Grain Proses Penunjang Medik
Analisis yang dilakukan pada penunjang medik meliputi Jenis obat yang paling banyak dipakai, Jumlah penunjang medik yang di gunakan pada rawat inap, Jumlah penunjang medik yang di gunakan pada rawat jalan, dan jenis fasilitas yang paling banyak gunakan.
4.2.3 Mendefiniskan dan Menyesuaikan Dimensi (Identifying and Conforming the Dimensions)
1. Rawat Jalan
Grain \ Dimensi Waktu Pasien Poliklinik Penyakit Penyakit yang paling banyak
diderita pasien
V V V
Jumlah pasien rawat jalan yang terbanyak pada setiap bulan
V V
Poliklinik yang paling banyak dikunjungi pasien
V V V
Kategori umur pada penyakit apa yang paling banyak melakukan pemeriksaan
V V V
Kategori jenis kelamin apa yang paling banyak berobat rawat jalan
V V
Jumlah transaksi rawat jalan pertahun
V V V
2. Rawat Inap
Grain \ Dimensi Waktu Pasien Penyakit Dokter Kamar Kategori umur pada jumlah
pasien rawat inap
V V
Jumlah pasien rawat inap yang terbanyak pada setiap bulan.
V V
Penyakit yang paling banyak diderita pasien pada rawat inap
V V V
Kamar sering digunakan pada rawat inap
V V
Dokter spesialis yang paling banyak melakukan
pengobatan
V V
Kategori jenis kelamin apa yang paling banyak berobat rawat inap
V V
Jumlah transaksi rawat inap pertahun
V V V V
3. Penunjang Medik
Grain \ Dimensi Waktu Penunjang Medik
Obat Fasilitas Pasien
Jenis Obat yang paling banyak digunakan.
V V
Jumlah penunjang medik yang digunakan pasien rawat inap
V V V
Jumlah penunjang medik yang digunakan pasien rawat jalan
V V V
Jumlah Jenis Fasilitas yang paling banyak digunakan.
V V
Table 4.3 : Mendefiniskan dan Menyesuaikan Dimensi Penunjang Medik
4.2.4 Memilih Fakta (Choosing the Facts)
Di tahap ini akan dilakukan pemilihan fakta yang akan digunakan pada Data Warehouse. Fakta yang ada akan diproses dan ditampilkan dalam bentuk Summary Report. Berikut adalah fakta-fakta yang akan digunakan :
1.Fakta Rawat Jalan terdiri atas atribut : PoliklinikID, WaktuID, PenyakitID, PasieniD, JumlahRawatJalan
2. Fakta Rawat Inap terdiri atas atribut : KamarID, WaktuID, PenyakitID, PasieniD, DokterID, JumlahRawatInap
3. Fakta Penunjang Medik terdiri atas atribut : WaktuID, PenunjangMedikID, PasienID, ObatID, FasilitasID, JumlahPenunjangMedik.
4.2.5 Menyimpan Pre-Kalkulasi dalam Tabel Fakta (Storing pre-calculation in the fact table)
Kalkulasi awal terdapat pada tabel fakta. Pre-kalkulasi yang terdapat dalam tabel fakta meliputi :
1.Fakta Rawat Jalan : Jumlah rawat jalan dari keseluruhan kunjungan rawat jalan yang terjadi di Rumah Sakit XYZ.
2.Fakta Rawat Inap : Jumlah rawat inap dari keseluruhan kunjungan rawat inap yang terjadi di Rumah Sakit XYZ.
3.Fakta Penunjang Medik : Jumlah penunjang medik dari keseluruhan kebutuhan penunjang medik yang terjadi di Rumah Sakit XYZ.
4.2.6 Melengkapi Tabel Dimensi (Rounding out the dimension tables)
Dimensi Keterangan
Waktu Laporan dapat dilibat berdasarkan priode Tahun, Bulan, Hari
Pasien Laporan dapat dilihat berdasarkan pasien Poliklinik Laporan dapat dilihat berdasarkan poliklinik Dokter Laporan dapat dilihat berdasarkan dokter Penyakit Laporan dapat dilihat berdasarkan penyakit Obat Laporan dapat dilibat berdasarkan kategori umur Kamar Laporan dapat dilihat berdasarkan kamar
Fasilitas Laporan dapat dilihat berdasarkan Fasilitas. Jenis Penunjang
Medik
Laporan dapat dilihat berdasarkan jenis penunjang medik
1. Dimensi waktu
Atribut Tipe Data Ukuran Keterangan
WaktuID Int 7 ID Waktu
Tanggal DateTime 8 Berdasarkan tanggal
Hari Int 4 Berdasarkan hari
Bulan Int 4 Berdasarkan bulan
Tahun Int 4 Berdasarkan tahun
Table 4.5 : Tabel Dimensi waktu
2. Dimensi Pasien
Atribut Tipe Data Ukuran Keterangan
PasienID Int 7 ID Pasien
KdPasien Varchar 7 Kode Pasien
Namalengkap Varchar 50 Nama Pasien
Table 4.6 : Tabel Dimensi Pasien
3. Dimensi Poliklinik
Atribut Tipe Data Ukuran Keterangan
PoliklinikID Int 7 ID Poliklinik
KdPoliklinik Varchar 7 Kode Poliklinik
NamaPoliklinik Varchar 45 Nama Poliklinik
Table 4.7 : Tabel Dimensi Poliklinik
4. Dimensi Penyakit
Atribut Tipe Data Ukuran Keterangan
PenyakitID Int 7 ID Penyakit
KdCID Varchar 7 Kode CID
Keterangan Varchar 100 Keterangan penyakit
5. Dimensi PenunjangMedik
Atribut Tipe Data Ukuran Keterangan
PenunjangMedikID Int 7 ID Penunjang Medik
KdPenunjangMedik Varchar 7 Kode Penunjang
Medik
KdTrRawatJalan Varchar 7 Kode Rawat Jalan
KdTrRawatInap Varchar 7 Kode Rawat Inap
Table 4.9 :Tabel Dimensi JenisPenunjangMedik
6. Dimensi Dokter
Atribut Tipe Data Ukuran Keterangan
DokterID Int 7 ID Dokter
KdDokter Varchar 7 Kode Dokter
NamaDokter Varchar 50 Nama Dokter
Spesialisasi Varchar 50 Spesialisasi Dokter
Table 4.10 : Tabel Dimensi Dokter
7. Dimensi Kamar
Atribut Tipe Data Ukuran Keterangan
KamarId Int 7 ID Kamar
KdKamar Varchar 7 Kode Kamar
NamaKamar Varchar 20 Nama Kamar
KelasKamar Varchar 10 Kelas Kamar
JenisKamar Varchar 50 Jenis Kamar
Table 4.11 : Tabel Dimensi Kamar
8. Dimensi Obat
Atribut Tipe Data Ukuran Keterangan
ObatId Int 7 ID Obat
NamaObat Varchar 100 Nama Obat
Qty int 3 Jumlah Obat
9. Dimensi Fasilitas
Atribut Tipe Data Ukuran Keterangan
FasilitasId Int 7 ID Fasilitas
NamaFasilitas Varchar 100 Nama Fasilitas
Jumlah Fasilitas int 3 Jumlah Fasilitas
Table 4.13 : Tabel Dimensi Fasilitas
4.2.7 Memilih Durasi dari Database (Choosing the duration of the database)
Durasi dari database Rumah Sakit XYZ yang dimasukkan ke dalam Data Warehouse adalab sebagai berikut :
Nama Aplikasi
Database Database ada sejak tahun
Data yang masuk ke Data Warehouse
Data dalam Data Warehouse DWH RS. XYZ OLTP RS. XYZ 2002 2005-2013 8 Tabun
Table 4.12 : Tabel Durasi dari Database
Data yang masuk ke dalam Data Warehouse dimulai dari tahun 2005 dimana pihak IT mulai kesulitan dalam menyimpan data yang semakin tahun semakin banyak dan berkembang. Sehingga dibuatlah database untuk menapung semua data transaksi.
1.2.8 Melacak Perubahan Dimensi Secara Perlahan (Tracking slowly changing dimensions)
Pada perancangan Data Warehouse Rumah Sakit XYZ ini menggunakan overwriting, yaitu perubahan record dengan merubah record lama dengan record yang baru. Data yang lama akan ditimpa oleh data yang baru. Hal ini dilakukan karena data yang lama dianggap tidak diperlukan lagi karena mempunyai banyak kesamaan atribut dengan data sebelumnya. Contohnya seperti adanya perubahan pada nama pasien, maka atribut status dokter yang lama tersebut akan ditimpa dengan atribut status dokter yang baru pada record yang sama.
1.2.9 Memutuskan Prioritas dan Mode dari Query (Deciding the query priorities and the query modes)
4.2.9.1 Proses Extract, Transformation, and Load (ETL)
Proses Extract, Transformation, Loading akan dilakukan setiap hari dan akan dilakukan oleh staff IT di Rumah Sakit XYZ. Tetapi apabila terjadi perubahan data pada basis data operasional yang merupakan sumber dari tabel dimensi, maka akan dilakukan Extract, Transformation, Loading saat terjadi perubahan tersebut.
Berikut ini gambar dari proses Extract, Transformation, Loading : Masukan data ke dalam database dengan berbagai cara yaitu dengan import atau membuat data baru.
Data source pertama-tama ditentukan tujuan data tersebut akan di proses dan di simpan.
Lalu tentukan komputer mana yang akan bertugas mengatur data tersebut.
Gambar 4.4 : Proses ETL 2
Tentukan dan pilih data yang akan dipakai atau akan dimasukan kedalam database
Buat atau sambungkan atau data flow dari data source ke data destination
Gambar 4.6 : Proses ETL 4
Tentukan input dan output dari komponen yang terlah dibuat sebelumnya
Pilih pengaturan yang sesuai dengan yang dibutuhkan untuk nantinya dipakai dalam proses pengolahan data atau Data Transformation
Gambar 4.8 : Proses ETL 6
Data nantinya akan diolah secara otomatis dan akan disimpan ke dalam destination yang tadi telah di atur.
4.2.9.2. Proses Backup
Proses backup data akan dilakukan satu minggu sekali oleh staff IT sebelum dilakukan proses ETL. Backup dilakukan untuk mengantisipasi kegagalan dalam proses ETL dan membuat salinan data ke media penyimpanan yang lain untuk mengurangi resiko kehilangan data karena kerusakan pada hardware, kesalahan user, ataupun bencana alam. Backup yang dilakukan menggunakan tipe full backup dimana data-data pada data-data warehouse akan disalin ke media penyimpanan lain secara keseluruhan, dimana jika terdapat penambahan data, backup akan menyalin keseluruhan data dan akan me-replace data-data backup yang sebelumnya.
Hari Minggu ke-1 Minggu ke-2 Minggu ke-3 Minggu ke-4
Total Ukuran Database 200Mb 400Mb 600Mb 650Mb
Jumlah data yang harus di backup
200Mb 400Mb 600Mb 650Mb
Table 4.13 : Tabel Proses Backup
Pada tabel di atas diterangkan bagaimana terjadinya proses backup yang akan dilakukan pada data warehouse di Rumah Sakit XYZ, dimana minggu ke-1 data yang masuk adalah 200Mb, kemudian minggu ke-2 data yang masuk adalah 200Mb, jadi tota1 4000 Mb, dengan full backup maka data sebelumnya (200Mb) akan ditimpa dengan total data saat ini (400Mb), begitu pula selanjutnya.
4.2.9.3. Security
Keamanan yang berhubungan dengan perihal data-data yang ada di dalam data warehouse merupakan salah satu faktor yang perlu diperhatikan karena berkaitan langsung dengan kerahasiaan data. Hak akses akan diberikan kepada pihak-pihak yang berkepentingan dan membutuhkan contohnya dengan menggunakan username dan password saat log in. Disini CEO Broad Management, COO (Chief Operating Officer), Chief of Business Marketing and Customer Management, dan Chief of Division of Clinical Standards Safety and Quality mendapatkan hak akses untuk keseluruhan data yang ada di dalam data warehouse.
4.2.9.4. Estimasi kapasitas Media Penyimpanan
Dalam membangun sebuah data warehouse, kapasitas media penyimpanan data merupakan salah satu aspek yang perlu diperhatikan dan diperhitungkan. Dengan rumus yang didapat dari “SQL Server Books Online” dengan kata kunci “Estimate the Size of a Heap” dengan rumus sebagai berikut :
Num Rows = Jumlah baris dalam tabel
Num_Cols = Total jumlah kolom dalam tabel (tipe data pasti + tipe data variabel)
Fixed_Data_Size = Total ukuran dari tipe data pasti.
Num_Variable_Cols = Jumlah kolom tipe data variabel dalam tabel Max_Var_Size = total ukuran maksimal dari kolom ber-tipe data variabel Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size
Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4 Rows_Per_Page = 8096 / (Row_Size + 2)
Num_Pages = Num_Rows / Rows_Per_Pages Heap size (bytes) = 8192 x Num_Pages
Berdasarkan rumus yang ada di atas, maka dilakukan estimasi perhitungan terhadap tabel-tabel dimensi dan fakta yang ada pada Iingkup skripsi perancangan data warehouse ini yaitu sebagai berikut :
i. Record dimensi pasien pada tahun ini sekitar 150 baris, maka estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
150 x (8(1+0,1) 5) = 1200 baris pada tahun ke-8 Num_Rows = 1200 Num_Cols = 3 Fixed_Data_Size = 7 Num_Variable_Cols = 3 Max_Var_Size = 64 Variable_Data_Size = 2 + (3 * 2) + 64 = 72 bytes Null_Bitmap = 2 + ((3+7)/8) = 3 Row_Size = 7 + 72 + 3 + 4 = 86 bytes Rows_per_Page = 8096 / (86 + 2) = 92 Num_Pages = 1200 / 91 = 13
Heap size = 8192 * 13 = 107 kilobytes
ii. Record dimensi waktu pada tahun ini sekitar 500 baris, maka estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
500 * (8(1+0,1) 5) = 4000 baris pada tahun ke-8 Num_Rows = 4000 Num_Cols = 6 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 31 Variable_Data_Size = 2 + (7 * 2) + 31 = 47 bytes Null_Bitmap = 2 +((6+7) / 8) = 4 Row_Size = 7 + 47 + 4 + 4 = 61 Rows_per_Page = 8096 / (61+2) = 127 Num_Pages = 4000 / 127 = 31
iii. Record dimensi penyakit pada tahun ini sekitar 500 baris, maka estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
500 * (8 (1+0,1) 5) = 4000 baris pada tahun ke-8 Num_Rows = 4000 Num_Cols = 3 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 114 Variable_Data_Size = 2 + (7 * 2) + 114 = 130 bytes Null_Bitmap = 2 + ((3 + 7) / 8) = 3 Row_Size = 7 + 130 + 3 + 4 = 144 Rows_Per_Page = 8096 / (144 + 2) = 55 Num_Pages = 4000 / 55 = 72
Heap size = 8192 * 72 = 592 Kilobytes
iv. Record dimensi poliklinik pada tahun ini sekitar 16 baris, maka estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
16 * (8(1+0,1) 5) = 26 baris pada tahun ke-8 Num_Rows = 26 Num_Cols = 3 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 59 Variable_Data_Size = 2 + (7 * 2) + 59 = 75 bytes Null_Bitmap= 2 + ((3 + 7) / 8) = 3 Row_Size = 7 + 75 + 3 + 4 = 89 Rows_Per_Page = 8096 I (89 + 2) = 89 Num_Pages = 26 / 89 = 0
v. Record dimensi Obat pada tahun ini sekitar 500 baris, maka estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
500 * (8(1+0,1) 5) = 4000 baris pada tahun ke-8 Num_Rows = 4000
Num_Cols = 4 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max Var Size = 177
Variable_Data_Size = 2 + (7 * 2) + 177 = 193 bytes Null_Bitmap = 2 +((4 + 7) / 8) = 3
Row_Size = 7 + 193 + 3 + 4 = 207 Rows_Per_Page = 8096 / (207 + 2) = 39 Num_Pages = 4000 / 39 = 103
Heap size = 8192 * 103 = 847 Kilobytes
vi. Record dimensi penunjang pada tahun ini sekitar 20 baris, maka estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
20 * (8(1+0.1) 5) = 160 baris pada tahun ke-8 Num_Rows = 160 Num_Cols = 3 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 64 Variable_Data_Size = 2 + (7 * 2) + 64 = 80 bytes Null_Bitmap = 2 + ((3 + 7) / 8) = 3 Row_Size = 7 + 80 + 3 + 4 = 94 Rows_per_Page = 8096 / (94 + 2) = 84 Num_Pages = 160 / 84 = 2
vii. Record dimensi dokter pada tahun ini sekitar 125 baris, main estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
125 * (8(1+0,1) 5) = 1000 baris pada tahun ke-8 Num_Rows = 1000 Num_Cols = 4 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 114 Variable_Data_Size = 2 + (7 * 2) + 64 = 80 bytes Null_Bitmap = 2 + ((3 + 7) / 8) = 3 Row_Size = 7 + 80 + 3 + 4 = 94 Rows_Per_Page = 8096 / (94 + 2) = 84 Num_Pages = 1000 / 84 = 12
Heap size = 8192 * 12 = 98 Kilobytes
viii. Record dimensi Kamar pada tahun ini sekitar 200 baris, maka estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
200 * (8(1+0,1) 5) = 1600 baris pada tahun ke-8 Num_Rows = 1600 Num_Cols = 5 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 94 Variable_Data_Size = 2 + (7 * 2) + 94 = 110 bytes Null_Bitmap = 2 +(( 5 + 7) / 8) = 4 Row_Size = 7 + 110 + 4 + 4 = 125 Rows_Per_Page = 8096 / (125 + 2) = 64 Num_Pages = 1600 / 64 = 25
Heap size = 8192 * 25 = 205 Kilobytes
ix. Record fakta rawat jalan pada tahun ini sekitar 500 baris, main estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
500 * (8(1+0,1) 5) = 4000 baris pada tahun ke-8 Num_Rows = 4000 Num_Cols = 6 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 135 Variable_Data_Size = 2 + (7 * 2) + 135 = 151 bytes Null_Bitmap = 2 + ((6 + 7) / 8) = 4 Row Size = 7 + 151 + 4 + 4 = 166 Rows_Per_Page = 8096 / (166 + 2) = 48 Num_pages = 4000 / 48 = 83 Heap size = 8192 * 83 = 679
x. Record fakta rawat inap pada tahun ini sekitar 500 baris, maka estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
500 * (8(1+ 0,1) 5) = 4000 baris pada tahun ke-8 Num_Rows = 4000 Num_Cols = 7 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 142 Variable_Data_Size = 2 + (0 * 2) + 0 = 158 bytes Null_Bitmap = 2 + ((7 + 7) / 8) = 4 Row_Size = 7 + 158 + 4 + 4 = 172 Rows_Per_Page = 8096 / (172 + 2) = 46 Num_Pages = 4000 / 46 = 87
xi. Record fakta penunjang medik pada tahun ini sekitar 500 baris, maka estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
500 x (8(1+0,1) 5) = 4000 baris pada tahun ke-8 Num_Rows = 4000 Num_Cols = 5 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 128 Variable_Data_Size = 2 + (7 * 2) + 128 = 144 bytes Null_Bitmap= 2 +((5 + 7) / 8) = 4 Row_Size = 7 + 144 + 4 + 4 = 159 Rows_Per_page = 8096 / (159 + 2) = 50 Num_Pages = 4000 / 50 = 79
Heap size = 8192 * 79 = 650 Kilobytes
xii. Record dimensi fasilitas pada tahun ini sekitar 125 baris, main estimasi ukuran data untuk lima tahun mendatang ditambah dengan pertumbuhan sebesar 10% adalah :
125 * (8(1+0,1) 5) = 1000 baris pada tahun ke-8 Num_Rows = 1000 Num_Cols = 4 Fixed_Data_Size = 7 Num_Variable_Cols = 7 Max_Var_Size = 114 Variable_Data_Size = 2 + (7 * 2) + 64 = 80 bytes Null_Bitmap = 2 + ((3 + 7) / 8) = 3 Row_Size = 7 + 80 + 3 + 4 = 94 Rows_Per_Page = 8096 / (94 + 2) = 84 Num_Pages = 1000 / 84 = 12
Dim Nama Dimensi Jumlah Record pertahun Jumlah Record sampai 8 tahun
Bytes KBytes MBytes
Dim Waktu 500 4000 258000 258 0,258 Dim Pasien 150 1200 107000 107 0,107 Dim Po1iklinik 16 26 2000 2 0,002 Dim Dokter 125 1000 98000 98 0,098 Dim Penyakit 500 4000 592000 592 0,592 Dim Kamar 200 1600 205000 205 0,205 Dim PenunjangMedik 20 160 15000 15 0,015 Dim Obat 500 4000 592000 592 0,592 Dim Fasilitas 125 1000 98000 98 0,098
Table 4.14 : Estimasi kapasitas Media Penyimpanan Dimensi
Nama Fakta Jumlah Record pertahun Jumlah Record sampai 5 tahun
Bytes KBytes MBytes
Fakta Rawat Jalan 500 4000 679000 679 0,679
Fakta Rawat Inap 500 4000 707000 707 0,707
Fakta
PenunjangMedik
500 4000 650000 650 0,650
4.3 Star Scheme, Datawarehouse Bus dan Metadata
Pada sub bab ini akan digambarkan skema bintang dan metadata dari Data Warehouse yang dirancang. Secara keseluruhan, hubungan dari proses Rawat Jalan, Rawat Inap dan Penunjang Medik ditampilkan pada gambar berikut :
4.3.1. Star Scheme (Skema Bintang)
Star Scheme yang dirancang melingkupi 3 Fakta yaitu : Rawat Jalan, Penunjang Medik, dan Rawat Inap. Star Scheme dibuat berdasarkan tabel pada rancangan ERD yang diusul. Ada 3 fakta yang dibuat menjadi Star Scheme yaitu Fakta Rawat Jalan, Fakta Rawat Inap, dan Fakta Penunjang Medik. Dalam setiap dimensi masing-masing dibuat Primary Key yang baru biasanya dinamakan Surrogate Key untuk dihubungkan pada tabel fakta sebagai Unique Key baru yang bukan merupakan turunan dari tabel manapun. Kemudian dimensi pada setiap Star Scheme diambil berdasarkan tabel pada ERD yang diusulan tetapi hanya beberapa atribut tertentu yang dibutuhkan dan yang nantinya akan digunakan sebagai pembanding dalam pengambilan keputusan oleh pihak para atasan rumah sakit.
o Fakta Rawat Jalan
Fakta Rawat Jalan menggunakan 5 tabel dimensi yaitu : 1. Dimensi Poliklinik (DimPoliklinik)
Berasal dari tabel MsPoliklinik, mengambil atribut JumlahPoliklinik dan KdPoliklinik.
2. Dimensi Pasien (DimPasien)
Berasal dari tabel MsPasien, mengambil atribut KdPasien dan NamaLengkap.
3. Dimensi Penyakit (DimPenyakit)
Berasal dari tabel MsPenyakit, mengambil atribut KdPenyakit dan Keterangan.
4. Dimensi Waktu (DimWaktu)
Berasal dari tanggal transaksi pada transaksi rawat jalan, rawat inap dan penunjang medik di gabungkan dengan query UNION pada proses ETL, kemudian dipisahkan berdasarkan kategori hari, bulan, dan tahun sebagai atributnya.
Gambar 4.10 : Gambar FaktaRawatJalan
Kelima tabel dimensi di atas di gabungkan dalam satu tabel Fakta yaitu FaktaRawatJalan yang berisi masing-masing Surrogate Key dari pada setiap dimensi ditambah satu atribut yaitu jumlah keseluruhan rawat jalan yang ada.
o Fakta Rawat Inap
Fakta Rawat Inap menggunakan 6 tabel dimensi yaitu : 1. Dimensi Waktu (DimWaktu)
Berasal dari tanggal transaksi pada transaksi rawat jalan, rawat inap dan penunjang medik di gabungkan dengan query UNION pada proses ETL, kemudian dipisahkan berdasarkan kategori hari, bulan, dan tahun sebagai atributnya.
2. Dimensi Penyakit (DimPenyakit)
Berasal dari tabel MsPenyakit, mengambil atribut KdPenyakit dan Keterangan.
3. Dimensi Kamar (DimKamar)
Berasal dari tabel MsKamar, mengambil atribut KdKamar, NamaKamar, Kelas, JenisKamar.
4. Dimensi Pasien (DimPasien)
Berasal dari Tabel MsPasien, mengambil atribut KdPasien dan NamaLengkap
5. Dimensi Dokter (DimDokter)
Berasal dari tabel MsDokter, mengambil atribut KdDokter dan Nama dan Spesialis diambil dari MsSpesialis.
Gambar 4.11 : Gambar FaktaRawatInap
Keenam tabel dimensi di atas di gabungkan dalam satu tabel Fakta yaitu FaktaRawatInap yang berisi masing-masing Surrogate Key dari pada setiap dimensi ditambah satu atribut yaitu jumlah keseluruhan rawat inap yang ada.
o Fakta Penunjang Medik
Fakta penunjang medik terdiri dari 4 tabel dimensi yaitu : 1. Dimensi Waktu (DimWaktu)
Berasal dari tanggal transaksi pada transaksi rawat jalan, rawat inap dan penunjang medik di gabungkan dengan query UNION pada proses ETL, kemudian dipisahkan berdasarkan kategori hari, bulan, kuartal, dan tahun sebagai atributnya.
2. Dimensi Pasien (DimPasien)
Berasal dari Tabel MsPasien, mengambil atribut KdPasien dan NamaLengkap.
3. Dimensi Penunjang Medik (DimPenunjangMedik)
Dimensi ini berasal dari tabel TrPenunjangMedik, TrRawatInap, TrRawatJalan, mengambil atribut KdTrPenunjangMedik, KdTrRawatInap, KdTrRawatJalan.
4. Dimensi Obat (DimObat)
Dimensi ini berasal dari tabel MsObat, mengambil atribut KdObat, NamaObat, Qty.
5. Dimensi Fasilitas (DimFasilitas)
Dimensi ini berasal dari tabel MsFasilitas, mengambil atribut KdFasilitas, Jumlah Fasilitas.
Gambar 4.12 : Gambar Fakta PenunjangMedik
Keempat tabel dimensi di atas di gabungkan dalam satu tabel Fakta yaitu FaktaPenunjangMedik yang berisi masing-masing Surrogate Key dari pada setiap dimensi ditambah satu atribut yaitu jumlah keseluruhan jenis penunjang medik yang ada.
4.3.2 Metadata
Nama
Database RS.XYZ Nama
Table DimWaktu
Deskripsi Tabel tentang informasi data waktu
Source Target Data Source
Load Status Coloumn Type/
length Description Table Field Name
Type/ length WaktuID Int SURROGATE KEY CREATE
Tanggal Int Int TRANSFORM
Hari Int Int TRANSFORM
Bulan Int Int TRANSFORM
Tahun Int Int TRANSFORM
Table 4.16 : Metadata DimWaktu
Nama
Database RS.XYZ Nama Table DimPasien
Deskripsi Mendata pasien terdaftar
Source Target Data Source
Load Status Coloumn Type/
length Description Table Field Name
Type/ length
PasienID Int
SURROGATE
KEY CREATE
KdPasien varchar(7) BUSINESS
KEY
MsPasien KdPasien varchar(7) COPY
NamaLengkap varchar(50) MsPasien NamaLengkap varchar(50) COPY
Nama
Database RS.XYZ Nama Table DimPoliklinik
Deskripsi Mendata poliklinik terdaftar
Source Target Data Source
Load Status Coloumn Type/
length Description Table Field Name
Type/ length PoliklinikID Int SURROGATE KEY CREATE KdPoliklinik varchar(7) BUSINESS KEY
MsPoliklinik KdPoliklinik varchar(7) COPY
NamaPoliklinik varchar(45) MsPoliklinik NamaPoliklinik varchar(45) COPY
Table 4.18 : Metadata DimPoliklinik
Nama
Database RS.XYZ Nama Table DimPenyakit Deskripsi Mendata penyakit
Source Target Data Source
Load Status Coloumn Type/
length Description Table
Field Name Type/ length PenyakitID Int SURROGATE KEY CREATE
KdPenyakit varchar(7) BUSINESS
KEY
MsPenyakit KdPenyakit varchar(7) COPY
Keterangan varchar(100) MsPenyakit Keterangan varchar(100) COPY
Nama
Database RS.XYZ Nama Table DimDokter Deskripsi Mendata Dokter
Source Target Data Source
Load Status Coloumn Type/
length Description Table Field Name
Type/ length DokterID Int SURROGATE KEY CREATE
KdDokter varchar(7) BUSINESS KEY MsDokter KdDokter varchar(7) COPY
NamaDokter varchar(50) MsDokter NamaDokter varchar(50) COPY
Spesialisasi varchar(50) MsDokter Spesialisasi varchar(50) COPY
Table 4.20 : Metadata DimDokter
Nama
Database RS.XYZ
Nama Table DimPenunjangMedik Deskripsi Mendata Kamar
Source Target Data Source
Load Status Coloumn Type/
length Description Table Field Name
Type/ length KamarId Int SURROGATE KEY CREATE
KdKamar varchar(7) BUSINESS KEY MsKamar KdKamar varchar(7) COPY
NamaKamar varchar(20) MsKamar NamaKamar varchar(20) COPY
KelasKamar varchar(10) MsKamar KelasKamar varchar(10) COPY
JenisKamar varchar(50) MsKamar JenisKamar varchar(50) COPY
Table 4.21 : Metadata DimPenunjangMedik
Nama
Nama Table DimKamar Deskripsi Mendata Kamar
Source Target Data Source
Load Status Coloumn Type/
length Description Table Field Name
Type/ length KamarId Int SURROGATE KEY CREATE
KdKamar varchar(7) BUSINESS KEY MsKamar KdKamar varchar(7) COPY
NamaKamar varchar(20) MsKamar NamaKamar varchar(20) COPY
KelasKamar varchar(10) MsKamar KelasKamar varchar(10) COPY
JenisKamar varchar(50) MsKamar JenisKamar varchar(50) COPY
Table 4.22 : Metadata DimKamar
Nama
Database RS.XYZ Nama Table DimObat Deskripsi Mendata Obat
Source Target Data Source
Load Status Coloumn Type/
length Description Table
Field Name Type/ length ObatId Int SURROGATE KEY CREATE
KdObat varchar(7) BUSINESS KEY MsObat KdObat varchar(7) COPY
NamaObat varchar(100) MsObat NamaObat varchar(100) COPY
Qty int(3) MsObat Qty int(3) COPY
Table 4.23 : Metadata DimObat
Nama
Database RS.XYZ Nama Table DimFasilitas
Deskripsi Mendata Fasilitas
Source Target Data Source
Load Status Coloumn Type/
length Description Table Field Name
Type/ length FasilitasId Int SURROGAT E KEY CREAT E KdFasilitas varchar(7 ) BUSINESS KEY MsFasilita s
KdFasilitas varchar(7) COPY
NamaFasilitas varchar(1 00) MsFasilita s NamaFasilitas varchar(100 ) COPY JumlahFasilitas int(3) MsFasilita s JumlahFasilita s int(3) COPY
Table 4.24 : Metadata DimFasilitas
4.4 User Interface
Informasi yang dihasilkan dari Fakta Rawat Jalan berupa Pivot Table dan Grafik:
Pivot Table dan grafik yang menunjukan penyakit yang Jumlah pasien rawat jalan yang terbanyak pada setiap bulan.
Gambar 4.13 : Pivot Tabel 1
Gambar 4.14 : Grafik Pasien Rawat Jalan
Pivot Table dan grafik yang menunjukan penyakit yang paling banyak diderita pasien.
Gambar 4.15 : Pivot Tabel 2
Gambar 4.16 : Grafik Jumlah Penyakit yang diderita Pasien Rawat Inap
Pivot Table dan grafik yang menunjukan Poliklinik yang paling banyak dikunjungi pasien.
Gambar 4.17 : Pivot Tabel 3
Gambar 4.18 : Grafik Jumlah Kunjungan pada poliklink
Pivot Table dan grafik yang menunjukan kategori jenis kelamin apa yang paling banyak berobat rawat jalan
Gambar 4.19 : Pivot Tabel 5
Gambar 4.20 : Grafik Jenis Kelamin yang paling banyak Berobat
Pivot Table dan grafik yang menunjukan jumlah transaksi rawat jalan pertahun
Gambar 4.21 : Pivot Tabel 6
Gambar 4.22 : Grafik Transaksi Rawat Jalan Pertahun
Informasi yang dihasilkan dari Fakta Rawat Inap berupa Pivot Table dan Grafik :
Pivot Table dan grafik yang menunjukan jumlah pasien rawat inap yang terbanyak pada setiap bulan.
Gambar 4.23 : Pivot Tabel 8
Gambar 4.24 : Grafik Pasien Rawat Inap Perbulan
Pivot Table dan grafik yang menunjukan penyakit yang paling banyak diderita pasien pada rawat inap
Gambar 4.25 : Pivot Tabel 9
Gambar 4.26 : Grafik Jumlah Pasien Rawat Inap yang Menderita Penyakit
Pivot Table dan grafik yang menunjukan kategori jenis kelamin apa yang paling banyak berobat rawat inap
Gambar 4.27 : Pivot Tabel 11
Gambar 4.28 : Grafik Jumlah Pasien Rawat Inap berdasarkan Kelamin
Pivot Table dan grafik e yang menunjukan jumlah transaksi rawat inap pertahun.
Gambar 4.29 : Pivot Tabel 12
Gambar 4.30 : Grafik Jumlah Pasien Rawat inap berdasarkan Tahun
Informasi yang dihasilkan dari Fakta Penunjang Medik berupa Pivot Table dan Grafik :
Gambar 4.31 : Pivot Tabel 13
Gambar 4.32 : Grafik Jumlah Obat yang terpakai
Pivot Table dan grafik yang menjelaskan jumlah fasilitas yang dipakai oleh pasien rawat inap dan jalan.
Gambar 4.33 : Pivot Tabel 14