PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2010
i ABSTRAK Dalam melakukan aktivitas-aktivitasnya, perusahaan sangat bergantung kepada penggunaan data. Fungsi data sebagai pendukung kegiatan operasional dan sebagai sumber informasi dasar pengambilan keputusan menjadikan data sebagai aset yang sangat penting bagi perusahaan. Karena itu, pengukuran kualitas data sebagai salah satu aktivitas manajemen kualitas data perlu dilakukan. Pengukuran kualitas data membutuhkan suatu ukuran untuk menentukan baik buruknya kualitas data. Salah satu cara untuk mendefinisikan ukuran kualitas data adalah dengan menggunakan metrik-metrik kualitas data. Saat ini, perangkat lunak open source untuk melakukan pengukuran kualitas data masih jarang tersedia. Untuk itu, pada tugas ini akan dikembangkan perangkat lunak open source untuk melakukan pengukuran kualitas data dengan menggunakan metrik-metrik kualitas data.
Tahapan pengerjaan tugas akhir dimulai dengan melakukan studi literatur terhadap kualitas data, manajemen kualitas data dan metrik-metrik kualitas data yang ada. Dilanjutkan dengan melakukan analisis terhadap metrik-metrik kualitas data dan cara pengukurannya. Lalu memulai pengembangan perangkat lunak dimulai dari analisis, perancangan, implementasi, serta pengujian. Perangkat lunak berorientasi objek dan dikembangkan dengan metodologi waterfall. Setelah itu, perangkat lunak akan diuji kebenaran hasil pengukurannya dengan cara membandingkan hasil pengukuran perangkat lunak dengan hasil pengukuran secara manual.
Hasil dari tugas akhir ini adalah analisis metrik-metrik kualitas data beserta cara pengukurannya dan perangkat lunak yang dapat mengukur kualitas data berdasarkan metrik-metrik kualitas data. Perangkat lunak yang dikembangkan bernama Sistem PKD dan dapat mengukur metrik uniqueness, completeness, accuracy, consistency, timeliness tetapi belum dapat mengukur metrik security. Pengujian terhadap hasil pengukuran kualitas data oleh Sistem PKD, membuktikan bahwa Sistem PKD dapat melakukan pengukuran kualitas data sesuai dengan cara pengukuran metrik kualitas data hasil analisis.
ii KATA PENGANTAR Puji syukur penulis panjatkan kepada Allah S.W.T, yang dengan rahmat dan karunia-Nya penulis dapat menyelesaikan Tugas Akhir ini. Shalawat serta salam senantiasa tercurah kepada Rasulullah S.A.W. beserta keluarganya. Tugas Akhir yang berjudul Pengembangan Perangkat Lunak Untuk Melakukan Pengukuran Kualitas Data Dengan Menggunakan Metrik-Metrik Kualitas Data ini dibuat sebagai syarat kelulusan tingkat sarjana.
Selama melaksanakan Tugas Akhir ini, penulis mendapatkan bantuan dan dukungan dari banyak pihak. Untuk itu, penulis ingin mengucapkan rasa terima kasih kepada: 1. Mama, Papa, adikku Nizar dan Niza yang selalu mendukung dan menyemangati penyelesaian studi S1. 2. Ibu Nur Ulfa Maulidevi, S.T., M.Sc. selaku dosen wali, yang telah bersabar menuntun perjalanan panjang penulis selama 7 tahun di kampus Informatika ITB; 3. Ibu Fazat Nur Azizah, S.T., M.Sc. selaku dosen pembimbing tugas akhir atas segala bimbingan, dukungan, saran, kritik, serta waktu yang telah diberikan; 4. Tim Tugas Akhir Program Studi Teknik Informatika, yang telah mengelola pelaksanaan Tugas Akhir sehingga dapat berjalan dengan lancar; 5. Bapak Dr. Ir. Iping Supriana selaku dosen penguji pada saat seminar TA I dan Ibu Ayu Purwarianti, S.T., M.T. Ph.D. selaku dosen penguji pada saat seminar TA II, yang telah memberikan perhatian, koreksi dan saran atas pengerjaan Tugas Akhir ini; 6. Bapak Dr. dr. Oerip S. Santoso, M.Sc. dan Bapak Ir. Dwi Hendratmo Widyantoro, M.Sc, Ph.d. selaku dosen penguji pada saat sidang, yang telah mencurahkan waktu untuk memberikan masukan, kritik dan saran dan telah meluluskan penulis dalam Tugas Akhir ini; 7. Seluruh dosen yang pernah mengajari penulis yang telah mengisi setiap hari menjadi kegiatan belajar. 8. Ali Akbar, Yus Gias, Krishna, Mas Primus, Mas Frans dan Mas Rayyan serta seluruh tim Dims yang selalu menyemangati dalam pelaksanaan tugas akhir. 9. Teman-teman satu angkatan 2003, terutama teman-teman senasib tugas akhir tahun terakhir bersama, yang selalu saling mendukung, bertukar informasi, dan menyemangati satu sama lain. Ivan Hamidi sang ketua angkatan IF03 yang masih tetap memberi dukungan, bantuan, dan informasi tugas akhir kepada penulis meskipun sudah lulus; 10. Bapak Rasidi, Bapak Ade, Ibu Titi dan seluruh staf dan karyawan Program Studi Teknik Informatika, khususnya staf Tata Usaha, staf Perpustakaan, staf Dukungan Teknis, dan staf
iii Dapur yang telah membantu dalam hal administrasi dan hal teknis pada masa perkuliahan terutama pada masa pelaksanaan tugas akhir;
Penulis menyadari bahwa Tugas Akhir ini masih memiliki kekurangan. Oleh karena itu, kritik dan saran yang berkaitan dengan Tugas Akhir ini sangat diharapkan. Akhir kata, Penulis berharap semoga Tugas Akhir ini dapat memberi manfaat bagi siapapun yang membacanya.
Bandung, September 2010
Penulis
iv DAFTAR ISI ABSTRAK..................................................................................................................................... i KATA PENGANTAR .................................................................................................................. ii DAFTAR ISI................................................................................................................................ iv DAFTAR GAMBAR.................................................................................................................. vii DAFTAR TABEL...................................................................................................................... viii BAB I. PENDAHULUAN.......................................................................................................... I-1 I.1 Latar Belakang............................................................................................................... I-1 I.2 Rumusan Masalah.......................................................................................................... I-3 I.3 Tujuan ............................................................................................................................ I-3 I.4 Batasan Masalah ............................................................................................................ I-4 I.5 Metodologi ..................................................................................................................... I-4 I.6 Sistematika Pembahasan................................................................................................ I-5 BAB II. STUDI LITERATUR...................................................................................................II-1 II.1 Kualitas Data ............................................................................................................II-1 II.1.1 Definisi Kualitas Data ..........................................................................................II-1 II.1.2 Signifikansi Kualitas Data....................................................................................II-1 II.2 Manajemen Kualitas Data ........................................................................................II-2 II.2.1 Data Monitoring...................................................................................................II-3 II.2.2 Data Profiling ......................................................................................................II-3 II.2.3 Data Cleansing.....................................................................................................II-4 II.2.4 Data Enhancing....................................................................................................II-4 II.2.5 Data Integration...................................................................................................II-4 II.3 Pengukuran Kualitas Data ........................................................................................II-4 II.3.1 Definisi Pengukuran Kualitas Data ......................................................................II-5 II.3.2 Metrik Kualitas Data ............................................................................................II-5 II.4 Aplikasi-Aplikasi Data Profiling ...........................................................................II-13 BAB III. ANALISIS PENGUKURAN KUALITAS DATA................................................... III-1 III.1 Kebutuhan Pengukuran Kualitas Data.................................................................... III-1 III.1.1 Kebutuhan Untuk Memilih Data.................................................................... III-1 III.1.2 Kebutuhan Untuk Mengukur Kualitas Data Berdasarkan Metrik-Metrik Kualitas Data.................................................................................................................... III-2 III.2 Signifikansi Metrik-Metrik Kualitas Data.............................................................. III-3
v III.2.1 Metrik Uniqueness......................................................................................... III-3 III.2.2 Metrik Completeness ..................................................................................... III-3 III.2.3 Metrik Accuracy............................................................................................. III-4 III.2.4 Metrik Consistency ........................................................................................ III-4 III.2.5 Metrik Timeliness........................................................................................... III-5 III.2.6 Metrik Security............................................................................................... III-5 III.3 Cara Pengukuran Metrik-Metrik Kualitas Data...................................................... III-6 III.3.1 Metrik Uniqueness......................................................................................... III-6 III.3.2 Metrik Completeness ..................................................................................... III-7 III.3.3 Metrik Accuracy............................................................................................. III-9 III.3.4 Metrik Consistency ...................................................................................... III-12 III.3.5 Metrik Timeliness......................................................................................... III-17 III.3.6 Metrik Security............................................................................................. III-18 BAB IV. PENGEMBANGAN PERANGKAT LUNAK......................................................... IV-1 IV.1 Deskripsi Perangkat Lunak..................................................................................... IV-1 IV.1.1 Penjelasan Sistem........................................................................................... IV-1 IV.1.2 Infrastruktur Perangkat Lunak ....................................................................... IV-2 IV.2 Deskripsi Kebutuhan Perangkat Lunak .................................................................. IV-3 IV.2.1 Daftar Kebutuhan Fungsional ........................................................................ IV-3 IV.2.2 Diagram Use Case.......................................................................................... IV-4 IV.3 Analisis Perangkat Lunak....................................................................................... IV-7 IV.3.1 Diagram Kelas Analisis ................................................................................. IV-7 IV.3.2 Diagram Sequence Analisis ........................................................................... IV-8 IV.4 Perancangan Perangkat Lunak................................................................................ IV-8 IV.4.1 Diagram Kelas Perancangan.......................................................................... IV-9 IV.4.2 Diagram Sequence Perancangan.................................................................... IV-9 IV.4.3 Perancangan Antarmuka .............................................................................. IV-10 IV.5 Implementasi dan Pengujian Perangkat Lunak..................................................... IV-11 IV.5.1 Lingkungan Implementasi ........................................................................... IV-11 IV.5.2 Batasan Implementasi .................................................................................. IV-11 IV.5.3 Hasil Implementasi ...................................................................................... IV-11 IV.5.4 Pengujian Fungsionalitas Perangkat Lunak................................................. IV-13 BAB V. PENGUJIAN PENGUKURAN KUALITAS DATA................................................. V-1 V.1 Tujuan Pengujian..................................................................................................... V-1 V.2 Data Uji.................................................................................................................... V-1
vi V.3 Skenario Pengujian.................................................................................................. V-4 V.4 Hasil Pengujian Manual........................................................................................... V-5 V.5 Hasil Pengujian Oleh Sistem PKD.......................................................................... V-9 V.6 Perbandingan Hasil Pengujian............................................................................... V-12 BAB VI. PENUTUP ................................................................................................................ VI-1 VI.1 Kesimpulan............................................................................................................. VI-1 VI.2 Saran....................................................................................................................... VI-1 DAFTAR REFERENSI ............................................................................................................... ix DAFTAR PUSTAKA....................................................................................................................x
vii DAFTAR GAMBAR Gambar III-1. Tahapan Pengukuran Kualitas Data Pada Aplikasi Yang Sudah Ada .............. III-2 Gambar IV-1. Infrastruktur Sistem PKD................................................................................. IV-2 Gambar IV-2. Diagram Use Case ............................................................................................ IV-4 Gambar IV-3. Diagram Kelas Analisis .................................................................................... IV-7 Gambar IV-4. Diagram Sequence Analisis untuk Skenario UCP-6......................................... IV-8 Gambar IV-5. Diagram Kelas Perancangan............................................................................. IV-9 Gambar IV-6. Diagram Sequence Perancangan untuk Skenario UCP-6 ............................... IV-10 Gambar IV-7. Diagram Hubungan Antarmuka...................................................................... IV-10 Gambar V-1. Setting Metrik Pengukuran Kualitas Data untuk TestKolom1 ........................... V-9 Gambar V-2. Setting Metrik Pengukuran Kualitas Data untuk TestKolom2 ......................... V-10 Gambar V-3. Setting Metrik Pengukuran Kualitas Data untuk TestKolom4 ......................... V-10 Gambar V-4. Laporan Hasil Pengukuran Kualitas Data Oleh Sistem PKD........................... V-11
viii DAFTAR TABEL Tabel I-1. Jenis-Jenis dan Definisi Metrik Kualitas Data ........................................................... I-3 Tabel II-1. Contoh Tabel Pegawai .............................................................................................II-5 Tabel II-2. Contoh Data Untuk Pengukuran Uniqueness...........................................................II-6 Tabel II-3. Contoh Data Untuk Pengukuran Completeness .......................................................II-7 Tabel II-4. Contoh Data Untuk Pengukuran Accuracy ..............................................................II-9 Tabel II-5. Contoh Data Untuk Pengukuran Timeliness ..........................................................II-12 Tabel IV-1. Daftar Kebutuhan Fungsional Perangkat Lunak .................................................. IV-3 Tabel IV-2. Hasil Implementasi Sistem PKD........................................................................ IV-12 Tabel IV-3. Pemenuhan Kebutuhan Fungsional .................................................................... IV-13 Tabel V-1. Tipe Data pada Tabel Data Uji ............................................................................... V-1 Tabel V-2. Tabel Data Uji......................................................................................................... V-1 Tabel V-3. Master Data untuk Kolom Data TestKolom1......................................................... V-3 Tabel V-4. Master Data untuk Kolom Data TestKolom2......................................................... V-4 Tabel V-5. Ketentuan Pengukuran Metrik Uji Tiap Kolom ..................................................... V-4 Tabel V-6. Hasil Pengujian Manual TestKolom1..................................................................... V-6 Tabel V-7. Hasil Pengujian Manual TestKolom2..................................................................... V-8 Tabel V-8. Hasil Pengujian Manual TestKolom4..................................................................... V-9 Tabel V-9. Perbandingan Hasil Pengujian TestKolom1......................................................... V-12 Tabel V-10. Perbandingan Hasil Pengujian TestKolom2....................................................... V-12 Tabel V-11. Perbandingan Hasil Pengujian TestKolom4....................................................... V-12
I-1 BAB I. PENDAHULUAN I.1 Latar Belakang Data adalah kumpulan fakta yang direkam ke dalam suatu bentuk media dan dapat diolah menjadi informasi. Dalam melakukan aktivitas-aktivitasnya, perusahaan sangat bergantung kepada penggunaan data. Siklus data perusahaan dimulai dengan mempersiapkan data diawali dengan analisis kebutuhan data perusahaan, desain data, implementasi data, dan penerapan data ke dalam infrastruktur yang telah perusahaan siapkan, biasanya ke dalam suatu aplikasi Database Management System (DBMS), setelah itu dilanjutkan dengan pengawasan data. Fungsi data yang utama adalah untuk membantu kegiatan dan aktivitas operasional perusahaan. Salah satu contohnya adalah penggunaan data untuk mengelola aliran informasi pada rantai produksi. Misalnya, dengan adanya data tentang informasi tentang stok barang maka aktivitas penjualan lebih bisa maksimalkan. Selain itu, data juga menjadi sumber informasi untuk dasar pengambilan keputusan. Dalam kegiatan pengambilan keputusan, pihak manajemen harus melakukan pengambilan keputusan didasari oleh berbagai sumber informasi. Salah satu sumber informasi utama yang mendasari pengambilan keputusan itu dalah data perusahaan. Misalnya, pihak manajemen memprediksi fokus produksi masa depan berdasarkan sebaran penjualan produk kepada pelanggan.
Seiring berjalannya waktu, perusahaan semakin banyak memiliki data. Karena itu, kegunaan dan nilai dari data yang dimiliki perusahaan menjadi semakin penting. Hal tersebut menyebabkan pengelolaan terhadap kualitas data menjadi sangat penting. Kualitas data dapat diartikan sebagai kebenaran suatu data dibandingkan dengan kondisi nyata yang direpresentasikan data tersebut [BLI10]. Sangat berbahaya bagi suatu perusahaan bila ternyata perusahaan tersebut memiliki banyak data akan tetapi datanya memiliki kualitas yang buruk, tidak reliable, atau bahkan salah sama sekali. Itu berarti data perusahaan tidak merepresentasikan kondisi yang sebenarnya dari suatu kondisi sebenarnya.
Apabila kualitas data yang dimiliki perusahaan sangat baik, maka kegiatan operasional perusahaan akan berjalan lancar, pengambilan keputusan akan memiliki dasar data yang benar, pelanggan akan puas karena kesalahan yang dilakukan oleh perusahaan semakin sedikit, bahkan perusahaan pun akan mendapat kepercayaan dari para stakeholder-nya. Akan tetapi, apabila kualitas perusahaan buruk, maka kegiatan operasional perusahaan akan terhambat karena
I-2 banyaknya data yang tidak lengkap, pengambilan keputusan akan sulit dilakukan karena pihak manajemen tidak percaya dengan data yang tersedia dan perusahaan pun akan mendapat kerugian jika data yang digunakan ternyata tidak valid, pelanggan akan kecewa dengan perusahaan karena banyaknya kesalahan yang terjadi (misalnya pada proses pengiriman barang), dan kepercayaan para stakeholder pun berkurang (stakeholder akan berpikir apabila mengelola data saja tidak mampu, apalagi mengurus hal lainnya).
Dengan melihat konsekuensi yang disebabkan buruknya kualitas data, kebutuhan perushaaan untuk menjaga kualitas data pun muncul. Untuk menjaga kualitas data tersebut, maka perusahaan membutuhkan suatu manajemen kualitas data. Manajemen kualitas data dapat didefinisikan sebagai pengelolaan yang dilakukan terhadap data agar kualitas data dapat selalu memenuhi kriteria-kriteria yang ditentukan[INF07]. Manajemen kualitas data terbagi menjadi beberapa aktivitas sebagai berikut: 1. Data Monitoring, Mengecek, mengendalikan integritas data sepanjang waktu. 2. Data Profiling, memeriksa kesalahan-kesalahan, ketidakkonsistenan, redundansi, dan ketidaklengkapan informasi pada data, serta melakukan pengukuran kualitas data. 3. Data Cleansing, Memperbaiki, menstandardisasi, dan memverifikasi data 4. Data Enhancing, menambah data dengan menggunakan informasi yang berasal dari sumber data internal dan eksternal. 5. Data Integrity, melakukan integrasi data untuk mengurangi redundansi data dan meningkatkan efisiensi penggunaan data. data monitoring
Data profiling adalah kegiatan untuk menganalisis data untuk mendapatkan keterangan terhadap kualitasnya [DIJ08]. Data profiling membantu perusahaan untuk melakukan analisis awal untuk melakukan perbaikan terhadap data dan untuk memberikan kepastian akan kebenaran suatu data. Data profiling dimulai dengan memilih data yang hendak diukur kualitasnya, menentukan kriteria-kriteria yang harus dipenuhi oleh suatu data, melakukan pengukuran terhadap pemenuhan terhadap kriteria-kriteria tersebut, menghasilkan nilai kualitas suatu data dan melaporkan data yang sudah atau belum memenuhi kriteria-kriteria tersebut.
Untuk membantu proses pengukuran kualitas data, perusahaan harus mendefinisikan ukuran kualitas yang dapat membantu perusahaan menentukan apakah kualitas suatu data dianggap baik atau buruk. Salah satu cara untuk mendefinisikan ukuran kualitas data adalah dengan menggunakan metrik-metrik kualitas data. Metrik kualitas data adalah dimensi-dimensi dari sebuah data. Dengan adanya metrik kualitas data, pengukuran kualitas data menjadi mungkin
I-3 dilakukan secara kuantitatif. Metrik-metrik tersebut akan digunakan sebagai tolak ukur dalam proses pengukuran kualitas data. Pada Tabel I-1 akan dijelaskan beberapa metrik yang sering digunakan dan definisinya [INF07] [MIK02].
Tabel I-1. Jenis-Jenis dan Definisi Metrik Kualitas Data Metrik Definisi Uniqueness Keunikan dari data. Menunjukkan apakah hanya ada satu entitas saja yang ada. Completeness Tingkat kelengkapan data. Menunjukkan ada atau tidak adanya suatu data. Accuracy Tingkat akurasi data. Menunjukkan kebenaran data dari yang sebenarnya. Consistency Tingkat konsistensi data. Tingkat konsistensi data dapat dilihat dengan membandingkan dua nilai data yang diambil dari dua sumber data yang berbeda. Timeliness Tingkat ketepatan waktu data. Menunjukkan tingkat keterbaruan data, apakah data sudah terbarui sesuai dengan aturan bisnis yang telah ditentukan sebelumnya. Security Tingkat keamanan data dan pengaturan hak aksesnya. I.2 Rumusan Masalah Sekarang ini, semakin banyak perusahaan-perusahaan yang menyadari pentingnya pengukuran terhadap kualitas data yang mereka miliki. Akan tetapi, perangkat lunak untuk melakukan pengukuran kualitas data masih sangat jarang. Sekalipun ada, perangkat lunak merupakan perangkat lunak proprietary atau perangkat lunak tak bebas dimana perusahaan harus membayar untuk menggunakannya.
Perangkat lunak open source yang dapat digunakan untuk melakukan pengukuran kualitas data dengan menggunakan metrik-metrik kualitas data belum tersedia. Karena itu, pada tugas akhir ini akan dikembangkan perangkat lunak yang bersifat open source untuk melakukan proses pengukuran kualitas data dengan menggunakan metrik-metrik kualitas data. I.3 Tujuan Dari rumusan masalah yang dikemukakan, tujuan utama dari tugas akhir ini adalah untuk mengembangkan suatu perangkat lunak yang dapat dimanfaatkan untuk membantu proses pengukuran kualitas data dengan memanfaatkan metrik-metrik kualitas data.
Secara rinci, tujuan dari tugas akhir ini adalah : 1. Mempelajari konsep data quality, data quality management, cara mengukur kualitas data. 2. Menganalisis metrik-metrik kualitas yang ada.
I-4 3. Mengembangkan aplikasi pengukuran kualitas data dengan memanfaatkan hasil analisis metrik-metrik kualitas data. I.4 Batasan Masalah Batasan masalah untuk tugas akhir ini adalah sebagai berikut: 1. Pengukuran kualitas data dilakukan pada tingkat kolom data. tingkat tabel data dan basis data tidak dilakukan. 2. Metrik security tidak diimplementasikan karena membutuhkan data log akses basis data dan data akses pengguna. I.5 Metodologi Dalam penyusunan Tugas Akhir ini akan digunakan metodologi sebagai berikut: 1. Studi Literatur Pada tahap ini akan dilakukan studi mengenai data quality dan signifikansinya, serta manajemen kualitas data terutama pada bagian pengukuran kualitas data. Selain itu juga melakukan pembelajaran terhadap tehnik pengukuran kualitas data yaitu tehnik korelasi data dan tehnik ukuran kualitas data terutama pada metrik metrik kualitas data. 2. Analisis Pengukuran Kualitas Data Pada tahap ini akan melakukan analisis terhadap konsep data profiling, cara-cara mengukur kualitas data, dan cara-cara mengukur setiap metrik kualitas data. 3. Analisis dan Perancangan Aplikasi Pengukuran Kualitas Data Pada tahap ini akan melakukan analisis kebutuhan untuk aplikasi sesuai dengan konsep pengukuran kualitas data yang dipelajari dan kebutuhan-kebutuhan lain aplikasi. Setelah itu, perancangan aplikasi akan dilakukan. 4. Implementasi dan Pengujian Aplikasi Pengukuran Kualitas Data Melakukan implementasi aplikasi pengukuran kualitas data sesuai desain yang telah dibuat. Melakukan pengujian fungsional aplikasi. 5. Pengujian Aplikasi Terhadap Data Melakukan pengujian terhadap aplikasi yang telah dibuat dan dilihat apakah dapat melakukan pengukuran terhadap data sesuai dengan kebutuhan yang ditetapkan sebelumnya. 6. Evaluasi Hasil Pengujian Melakukan evaluasi terhadap hasil pengujian. Mengambil kesimpulan apakah aplikasi sudah bisa menerapkan konsep pengukuran kualitas data dengan menggunakan metrik- metrik kualitas data secara baik atau belum.
I-5 I.6 Sistematika Pembahasan Sistematika pembahasan laporan tugas akhir ini adalah sebagai berikut. 1. Bab 1 Pendahuluan, berisi penjelasan mengenai latar belakang, rumusan masalah, tujuan, batasan masalah, metodologi, dan sistematika pembahasan yang digunakan dalam tugas akhir ini. 2. Bab 2 Studi Literatur, berisi penjelasan mengenai studi literatur yang telah dilakukan. Pembahasan mencakup kualitas data, manajemen kualitas data, pengukuran kualitas data, serta aplikasi-aplikasi data profiling yang telah ada. 3. Bab 3 Analisis Pengukuran Kualitas Data, berisi uraian analisis tentang kebutuhan untuk melakukan pengukuran kualitas data, penjelasan tentang signifikasi metrik-metrik kualitas data serta cara pengukuran metrik-metrik kualitas data. 4. Bab 4 Pengembangan Perangkat Lunak, berisi uraian analisis dan perancangan, implementasi dan pengujian perangkat lunak sesuai dengan kebutuhannya menerapkan konsep pengukuran kualitas data yang telah dijelaskan pada Bab 3. 5. Bab 5 Pengujian Pengukuran Kualitas Data, berisi uraian pengujian yang dilakukan untuk melihat apakah perangkat lunak telah dapat melakukan pengukuran kualitas data sesuai dengan konsep yang dijelaskan atau belum dengan cara membandingkan hasil pengukuran kualitas data yang dilakukan oleh perangkat lunak dengan hasil pengukuran kualitas data manual. 6. Bab 6 Kesimpulan dan Saran, berisi kesimpulan dan saran yang didapatkan dalam pengerjaan tugas akhir.
II-1 BAB II. STUDI LITERATUR II.1 Kualitas Data Dilihat dari vitalnya fungsi-fungsi data, tentu saja kualitas data harus selalu terjaga. Bila kulitas data yang dimiliki kurang baik, tentu perusahaan akan mengalami kerugian. Karena itu, pada sub bab II.1 ini akan dijelaskan definisi kualitas data dan pentingnya kualitas data bagi perusahaan. II.1.1 Definisi Kualitas Data Kualitas data atau disebut juga data quality memiliki beberapa definisi: 1. Tingkat kesempurnaan suatu data yang ditentukan oleh bagaimana relevansi data tersebut dengan dunia nyata [BLI10]. 2. Tingkat completeness, validity, consistency, timeliness, dan accuracy yang menentukan apakah sebuah data layak untuk digunakan atau tidak [GBC10]. 3. Keseluruhan fitur dan karakteristik data yang menentukan kelayakan data tersebut dalam memenuhi tujuan yang telah ditetapkan. Kumpulan faktor-faktor yang menentukan kesempurnaan data[MDP10]. 4. Proses dan teknologi yang memastikan kebenaran suatu data terhadap kebutuhan bisnis dan kriteria yang ditentukan.
Karena tugas akhir ini bertujuann untuk membahas metrik-metrik kualitas data, maka definisi kualitas data yang akan dipakai adalah definisi 2 (dua) yaitu bahwa kualitas data ditentukan oleh tingkat completeness, validity, consistency, timeliness, dan accuracy. II.1.2 Signifikansi Kualitas Data Ada beberapa alasan yang menyebabkan kualitas data menjadi sangat signifikan bagi perusahaan: 1. Efisiensi Perusahaan yang memiliki kualitas data yang tinggi akan memiliki sedikit kesalahan pada datanya sehingga kegiatan operasional perusahaan menjadi lebih efisien. Dengan kualitas data yang tinggi, perusahaan tidak akan banyak melakukan kesalahan yang terjadi akibat kualitas data yang rendah. Kualitas data yang rendah akan menyebabkan perusahaan banyak mengurus laporan yang bermasalah, data yang tidak lengkap, dan kesalahan kesalahan lain sehingga kegiatan operasional perusahaan terganggu.
II-2 2. Peningkatan Pelayanan Pelanggan Perusahaan yang memiliki kualitas data yang rendah akan banyak melakukan kesalahan dalam kegiatannya. Kesalahan-kesalahan itu dapat berimbas buruk kepada pelayanan pelanggan. Misalnya perusahaan salah mengirimkan barang karena adanya kesalahan pada data alamat. Jika perusahaan memiliki kualitas data yang tinggi, maka perusahaan justru akan dapat mengambil kesempatan untuk meningkatkan pelayanan terhadap pelanggan. Perusahaan dapat melakukan pendaftaran terhadap pelanggan yang terdapat pada suatu area tertentu sehingga perusahaan dapat melakukan efisiensi dalam proses pengiriman barang. Selain itu, perusahaan dapat melakukan pendaftaran terhadap jenis-jenis pelanggan sehingga perusahaan dapat melakukan pengiklanan dengan lebih efisien dan terarah tepat kepada yang membutuhkan. 3. Membantu Proses Pengambilan Keputusan Perusahaan yang memiliki kualitas data yang rendah tidak akan bisa melakukan pengambilan keputusan dengan berdasarkan data yang dimiliki. Bila kualitas data rendah, maka datapun tidak dapat diandalkan. Tapi, jika perusahaan memiliki kualitas data yang tinggi, maka data dapat dijadikan sumber informasi yang berharga misalnya, data sebaran pelanggan, data jenis barang favorit yang dibeli pelanggan, trend pembelian barang per bulan. Dengan adanya data tersebut, pihak manajemen akan dapat melakukan perencanaan terhadap strategi produksi dan pemasaran perusahaan dengan lebih baik dan lebih efektif. 4. Kepercayaan Perusahaan yang memiliki kualitas data yang buruk akan banyak melakukan kesalahan- kesalahan baik besar maupun kecil. Banyaknya kesalahan-kesalahan ini akan menyebabkan berkurangnya kredibilitas perusahaan dimata pelanggan ataupun dimata stakeholder. Para pelanggan kurang puas melihat banyaknya kesalahan yang dilakukan. Sedangkan, para stakeholder akan berpikir apabila mengurus data saja tidak mampu, bagaimana perusahaan dapat melakukan hal yang lebih besar. II.2 Manajemen Kualitas Data Dengan melihat konsekuensi yang disebabkan buruknya kualitas data, kebutuhan untuk menjaga kualitas data pun muncul. Untuk menjaga kualitas data, maka diperlukan manajemen kualitas data. Manajemen kualitas data dapat didefinisikan sebagai pengelolaan yang dilakukan terhadap data agar kualitas data dapat selalu memenuhi kriteria-kriteria yang ditentukan.
II-3 Manajemen kualitas data terdiri dari 5 aktivitas, yaitu: 1. Data Monitoring 2. Data Profiling 3. Data Cleansing 4. Data Enhancing 5. Data Integration II.2.1 Data Monitoring Tahap data monitoring mencakup kegiatan menganalisis, memantau kualitas data berdasarkan suatu standar kualitas yang telah ditentukan. Standar kualitas dasar yang digunakan adalah standar yang ditentukan pada saat data profiling. Data monitoring biasanya digunakan agar pihak pengamat data dapat langsung melihat kualitas data untuk setiap jangka waktu tertentu sehingga bisa memutuskan untuk melakukan perbaikan data apabila kualitas data tidak sesuai yang diinginkan. II.2.2 Data Profiling Tahap data profiling mencakup kegiatan menganalisis, mengukur, mempelajari, menguji kualitas data dan menentukan nilai maupun bobot dengan cara pendekatan data secara otomatis/objektif sehingga menunjukkan kualitas data yang lengkap, akurat update dan konsisten sesuai dengan kebutuhan.
Data profiling membantu mengukur apakah sumber data memenuhi suatu standar kualitas dasar yang ditentukan. Profiling terhadap data dapat membantu mengidentifikasi masalah-masalah pada data dan mencegah adanya proses yang kurang baik. Data profiling dilakukan dengan tahapan sebagai berikut: 1. Memilah data dengan menentukan prioritas data berdasarkan kepentingannya dan pengaruhnya terhadap kebutuhan bisnis 2. Menentukan kriteria-kriteria yang harus dipenuhi oleh suatu data. Kriteria-kriteria ini bisa juga ditetapkan dalam metrik-metrik kualitas data. 3. Melakukan pemeriksaan terhadap data tersebut sudah atau belumnya memenuhi kriteria- kriteria yang berlaku yang telah ditentukan sebelumnya. 4. Melaporkan data yang sudah dan belum memenuhi kriteria-kriteria tersebut.
II-4 II.2.3 Data Cleansing Tahap data cleansing mencakup kegiatan memperbaiki, mem-parsing, dan menstandardisasi data, sehingga data memiliki kualitas yang lebih baik. Tahap ini adalah tahap perbaikan data. Perbaikan data dapat dilakukan dalam beberapa cara: 1. Manual atau dengan cara edit langsung ke basis data. 2. Parsing data atau memisah-misahkan data yang tergabung, misalnya: melakukan parsing kode pos dari data alamat, melakukan parsing kode wilayah dari nomor telepon. 3. Standardisasi data atau dengan menerapkan suatu standardisasi kepada data, misalnya: melakukan standardisasi untuk data alamat pelanggan sehingga untuk perbaikan data tidak perlu dilakukan satu satu. II.2.4 Data Enhancing Tahap data enhancing mencakup kegiatan meningkatkan kualitas data dengan dengan cara menambah data dari basis data yang lain. Penambahan ini ditujukan untuk menambah data yang sering dipakai tapi tidak disimpan di basis data internal. Kasus yang sering terjadi misalnya: bagian keuangan perusahaan membutuhkan data jabatan pegawai dari bagian keuangan agar tidak ada kesalahan pada pembagian gaji atau bagian lain perusahaan meminta data telepon pegawai dari bagian Sumber Daya Manusia untuk mempermudah hubungan dengan karyawan. Dengan menambah data dari basis data luar, data menjadi lebih lengkap dan bertambah nilai bisnisnya. II.2.5 Data Integration Tahap data integration mencakup kegiatan menggabungkan data dari berbagai basis data bertujuan untuk mengurangi redundansi data yang ada di banyak basis data. Biasanya integrasi dilakukan terhadap data yang dipakai bersama oleh banyak bagian perusahaan seperti data pegawai, data master jabatan, data master gaji, data master harga produk, dan lain-lain. Dengan melakukan integrasi, perusahaan akan memiliki data yang jelas dan tidak berubah-ubah sehingga tidak menyebabkan adanya perbedaan antar bagian di perusahaan. II.3 Pengukuran Kualitas Data Pada sub bab II.4 ini akan dijelaskan definisi pengukuran kualitas data dan metrik-metrik kualitas data yang akan digunakan untuk melakukannya.
II-5 II.3.1 Definisi Pengukuran Kualitas Data Pengukuran kualitas data adalah suatu aktivitas yang dilakukan untuk melakukan pengukuran kualitas terhadap suatu data tertentu. Pengukuran kualitas data memiliki dua aktivitas utama yaitu proses pengukuran kualitas data dan proses pelaporan nilai kualitas data kepada yang membutuhkan. II.3.2 Metrik Kualitas Data Pengukuran kualitas data sangat sulit dilakukan karena sebuah data memiliki banyak segi yang harus diukur dan dipastikan baik atau buruk kualitasnya. Dalam melakukan pengukuran kualitas data, kita harus menentukan kriteria-kriteria yang membedakan data berkualitas baik dan data berkualitas buruk. Salah satu cara untuk mempermudah penilaian kualitas data adalah dengan cara mendefinisikan metrik-metrik kualitas data.
Metrik kualitas data adalah dimensi-dimensi dari sebuah data[INF07]. Metrik kualitas data memudahkan pengukuran kualitas data. Metrik-metrik kualitas data mempermudah pengukuran terhadap kualitas data karena dengan adanya metrik kualitas data, pendefinisian terhadap kriteria baik buruknya data dapat dilakukan. Dengan adanya pendefinisian kriteria kualitas data tersebut maka manajemen kualitas data pun menjadi mungkin dilakukan.
Dibawah ini akan dijelaskan metrik-metrik yang sering digunakan beserta definisi dan cara mengukurnya dan disertai dengan contoh pengukurannya terhadap data contoh pada Tabel II-1. Perhitungan hasil kualitas data dilakukan dengan menghitung rasio data yang benar dibandingkan dengan total seluruh data. Rumusnya adalah sebagai berikut: % 100 f n R
R adalah rasio, n adalah jumlah data yang sesuai dengan kebutuhan tertentu, dan f adalah jumlah total data.
Tabel II-1. Contoh Tabel Pegawai ID Kd Peg Nama Alamat Kota Kd Jabatan Tgl Update 1 2345665 Andi Marangen Jl. Bunda no. 15 - 23405 01/06/2010 8 2345765 Anto Kadiman Jl. Solontongan no 3 Bandung 23411 01/06/2010 33 2345685 Budi Darmayanto Jalan Panjang Umur nomor 13 Bandung 23425 01/06/2010 38 2356866 Dodi Sutomo NULL 23511 01/08/2010
II-6 ID Kd Peg Nama Alamat Kota Kd Jabatan Tgl Update 85 2357895 Eka Setia Jl. Padepokan blok 24 nomor 3 Sumedang 23520 01/08/2010 105 2378321 Firman Nugraha Jl Aneka Warna NULL 23712 01/01/2010 125 2386589 Galih Jl. Suryalaya D3 - 18 Bandung 23802 01/12/2009 135 2386548 Hermawan Sugianto NULL Bandung 23805 01/12/2009 170 2395431 Indra Setiawan Sukamaju c-250 Garut 2391a 01/05/2010 199 2406580 Kiki Barokah - Bandung 24105 01/03/2010
1. Uniqueness Tingkat keunikan data. Menunjukkan apakah suatu kumpulan data memiliki nilai-nilai yang unik atau tidak. Keunikan data dilihat dari apakah suatu nilai hanya disimpan satu kali didalam basis data dan memiliki satu primary key yang dapat mengakses setiap nilai tersebut. Cara mengukur keunikan data adalah: a. Mengecek ke dalam sumber data untuk mencari data lain yang bernilai sama. b. Jika tidak ada data lain yang bernilai sama, maka data yang berasal dari sumber data dapat dinyatakan unik, sebaliknya c. Jika ada data lain yang bernilai sama, maka data yang berasal dari sumber data tidak bisa dinyatakan unik
Tabel II-2. Contoh Data Untuk Pengukuran Uniqueness ID Kd Peg 1 2345665 8 2345665 33 2345685 38 2356866 85 2357895 105 2378321 125 2386589 135 2386548 170 2395431 199 2406580
Pengukuran keunikan data pada Tabel II-1 dapat diterapkan kepada kolom-kolom data yang seharusnya bernilai unik yaitu kolom [ID] dan [Kd Peg]. Tabel II-2 menunjukkan kolom [ID] dan [Kd Peg] saja dan memfokuskan pada dua nilai data yang bermasalah pada kolom [Kd Peg]. Dengan menggunakan perhitungan rasio, dapat dilihat langsung bahwa data pada kolom [ID] memang memiliki nilai unik akan menghasilkan nilai keunikan 100%
II-7 sedangkan data pada kolom [Kd Peg] ada dua data yang bernilai sama sehingga akan menghasilkan nilai kualitas hanya 80% (ada 8 data yang unik dari total 10 data). 2. Completeness Tingkat kelengkapan data. Metrik ini menunjukkan apakah suatu kumpulan data memiliki data yang lengkap atau masih memiliki data yang bernilai kosong. Data yang bernilai kosong pada basis data dapat berupa data yang bernilai null, data yang tidak diisi, atau data yang didefinisikan kosong oleh pengelola data. Cara mengukur kelengkapan data adalah: a. Mendefinisikan apakah yang disebut data yang tidak lengkap. Data yang tidak lengkap dapat didefinisikan dengan berbagai macam kasus, misalnya: Data yang memiliki nilai NULL Data yang memiliki nilai khusus yang didianggap tidak lengkap, misalnya nilai 99 dianggap sebagai data yang kosong. b. Mengecek ke dalam sumber data untuk mencari data yang tidak lengkap sesuai dengan kasus yang diinginkan. Pengecekan terhadap sumber data (dalam kasus ini basis data) dapat dilakukan dalam beberapa cara: Kelengkapan kolom Pengecekan terhadap kelengkapan kolom dilakukan dengan cara mengecek data yang tidak lengkap didalam satu kolom. Kelengkapan tuple Tuple adalah gabungan dari beberapa kolom yang ada pada satu tabel. Tuple bisa juga merupakan seluruh kolom yang ada pada satu tabel. Pengecekan terhadap suatu tuple dilakukan dengan mengecek data yang tidak lengkap dalam satu tuple. Tuple dinyatakan lengkap apabila setiap kolom-kolomnya memiliki nilai dan dinyatakan tidak lengkap apabila ada salah satu nilainya yang tidak lengkap c. Menghitung jumlah data yang tidak lengkap (baik itu kolom, tuple atau baris) dan melakukan perbandingan terhadap total keseluruhan data.
Tabel II-3. Contoh Data Untuk Pengukuran Completeness Alamat Kota Jl. Bunda no. 15 - Jl. Solontongan no 3 Bandung Jalan Panjang Umur nomor 13 Bandung NULL Jl. Padepokan blok 24 nomor 3 Sumedang Jl Aneka Warna NULL Jl. Suryalaya D3 - 18 Bandung
II-8 Alamat Kota NULL Bandung Sukamaju c-250 Garut - Bandung
Pengukuran terhadap kelengkapan data pada Tabel II-1 dapat dilakukan kepada seluruh kolom-kolom data. kolom [Alamat] dan [Kota] akan diambil sebagai contoh kolom data yang akan diukur.
Pada awal proses pengukuran kelengkapan data, perusahaan harus memutuskan data yang seperti apa yang dianggap sebagai data yang tidak lengkap. Misalnya, perusahaan memutuskan bahwa data yang tidak lengkap adalah data yang bernilai kosong, -, dan NULL. Setelah itu, perusahaan memutuskan jenis pengukuran kelengkapan data yang akan dilakukan. Berikut adalah pengukuran kelengkapan data yang dilakukan terhadap Tabel II-3: a. Kelengkapan Kolom Pengukuran kelengkapan kolom adalah pengukuran kelengkapan data dengan melihat kelengkapan dari satu kolom data. Pengukuran kelengkapan kolom data bergantung kepada kolom data yang diukur. Pengukuran kualitas kelengkapan data pada kolom [Kota] dengan menggunakan perhitungan rasio akan menghasilkan nilai kualitas sebesar % 70 % 100 10 7
(ada 3 data yang tidak lengkap dari 10 data). b. Kelengkapan Tuple Pengukuran kelengkapan tuple adalah pengukuran kelengkapan data dengan melihat kelengkapan dari beberapa kolom data pada satu baris data. Apabila satu kolom data pada beberapa kolom data tersebut ada yang tidak lengkap, maka satu baris data tersebut akan dianggap tidak lengkap.
Pengukuran kelengkapan tuple data bergantung kepada kolom-kolom data yang menjadi tuple data. Bila tuple data yang diukur mencakup kolom [Alamat] dan [Kota] seperti yang tampak pada Tabel II-3, maka nilai kualitasnya dengan perhitungan rasio adalah
II-9 % 50 % 100 10 5
(ada 5 baris data yang tidak lengkap dari 10 baris data). 3. Accuracy Tingkat akurasi data. Metrik ini menunjukkan apakah suatu kumpulan data memiliki data yang benar. Tingkat akurasi data sering digunakan untuk menunjukkan menilai kebenaran data ketika membandingkan nilai suatu data dengan batasan-batasan yang menyatakan kebenarannya. Cara mengukur akurasi data adalah: a. Menentukan data yang akan diukur akurasinya b. Menentukan batasan-batasan kebenaran data. c. Melakukan perbandingan nilai-nilai data dengan batasan-batasan kebenaran data tersebut. Misalnya, untuk data Nomor Induk Pegawai hanya boleh memiliki panjang string 10 karakter. Untuk nomor induk pegawai hanya berisi angka tidak ada huruf. d. Menghitung jumlah data yang tidak sesuai dengan batasan-batasan kondisi yang telah ditentukan dan melakukan perbandingan terhadap total keseluruhan data.
Pengukuran akurasi data pada Tabel II-1 dapat diterapkan kepada kolom-kolom data yang memiliki suatu aturan tertentu yang harus dipenuhi, misalnya kolom [Kd Jabatan]. Pada awal proses pengukuran akurasi data, perusahaan harus memutuskan batasan-batasan yang menentukan kebenaran data pada kolom [Kd Jabatan] tersebut.
Misalkan, perusahaan menentukan bahwa nilai kebenaran data ditentukan oleh tiga hal yaitu panjang string data (6 karakter), jenis karakter yang digunakan (hanya angka), kesamaan
II-10 nilai 3 karakter pertama kolom [Kd Jabatan] dengan 3 karakter pertama kolom [Kd Peg]. Maka nilai kualitas akurasi data kolom [Kd Jabatan] pada Tabel II-4 adalah: a. Berdasarkan panjang string data, nilai kualitas data adalah 100% karena seluruh data sesuai dengan batasan yang ditentukan b. Berdasarkan jenis karakter, nilai kualitas data dihitung berdasarkan perhitungan rasio adalah % 90 % 100 10 9 karena ada satu dari sepuluh data yang tidak sesuai dengan batasan yang ditentukan (data dengan nilai 2391a) c. Berdasarkan kesamaan 3 karakter pertama, nilai kualitas data dengan perhitungan rasio adalah % 90 % 100 10 9 karena ada satu data yang tidak sesuai dengan batasan yang ditentukan (tiga karakter pertama data pada kolom [Kd Jabatan] yang bernilai 24105 tidak sama dengan tiga karakter pertama data pada kolom [Kd Peg] yang bernilai 2406580) d. Berdasarkan seluruh batasan, apabila seluruh batasan diterapkan pada pengukuran akurasi data maka nilai kualitas data adalah % 80 % 100 10 8 karena ada dua data yang tidak sesuai dengan seluruh batasan yang diterapkan tersebut. 4. Consistency Tingkat konsistensi data. Metrik ini menunjukkan apakah suatu kumpulan data konsisten dengan data lainnya. Tingkat konsistensi data digunakan untuk menunjukkan nilai kekonsistenan penggunaan suatu nilai data dalam basis data. Tingkat konsistensi data dapat dilihat dengan membandingkan dua nilai data yang diambil dari dua sumber data yang berbeda. (data yang boleh dijadikan referensi adalah data yang sudah dianggap benar).
Cara mengukur konsistensi data adalah: a. Menentukan data yang akan diukur konsistensi b. Melakukan perbandingan nilai-nilai data tersebut dengan suatu data lain. Berikut adalah beberapa jenis perbandingan yang digunakan untuk menilai konsistensi suatu data: Membandingkan suatu nilai data dengan masukan dari proses manual (dokumen- dokumen atau standar-standar yang dimiliki perusahaan) Membandingkan suatu nilai data dengan Master Data Membandingkan suatu nilai data dengan nilai data lain yang terdapat di dalam satu basis data (record level consistency)
II-11 Membandingkan suatu nilai data dengan nilai data lain yang terdapat di dalam basis data yang berbeda (cross-record consistency) Membandingkan suatu nilai data pada waktu tertentu dan membandingkannya dengan nilai data tersebut pada waktu yang lain (temporal consistency) c. Menghitung jumlah data yang konsisten dengan data lain atau dengan suatu kondisi membandingkannya dengan jumlah total data.
Pengukuran konsistensi data pada Tabel II-1 dapat diterapkan kepada kolom-kolom data yang memiliki sumber data eksternal yang dapat dijadikan acuan kebenaran, misalnya kolom [Kd Peg], [Kota], dan [Kd Jabatan].
Pengukuran kualitas data terhadap kolom-kolom tersebut akan dilakukan jika sumber data acuannya sudah tersedia, contoh kasusnya sebagai berikut; Pengukuran kolom [Kota] dapat mengacu kepada dokumen atau master data yang berisi daftar kota di seluruh Indonesia; Pengukuran kolom [Kd Peg] dan [Kd Jabatan] dapat mengacu kepada master data yang dimiliki perusahaan pada bagian Sumber Data Manusia. 5. Timeliness Tingkat keterbaruan data. Menunjukkan apakah suatu data sudah terbarui atau belum. Tingkat keterbaruan data dilihat dari kebenaran data terhadap perubahannya dari waktu ke waktu. Cara mengukur keterbaruan data adalah: a. Menentukan data yang akan diukur keterbaruannya. Data yang akan diukur keterbaruannya harus memiliki kolom tanggal yang menunjukkan kapan data terakhir diperbarui b. Menentukan batasan kondisi yang akan diterapkan terhadap data tersebut. Batasan kondisi seperti: Menentukan suatu waktu yang dianggap sebagai waktu minimum keterbaruan data. Jika data pada basis data memiliki nilai kurang dari waktu minimum keterbaruan data, maka data pada basis data dianggap obsolete dan tidak valid, atau Menentukan suatu jangka waktu tertentu (biasanya dihitung dari waktu saat ini) sebagai waktu minimum keterbaruan data. Jika data pada basis data memiliki nilai kurang dari waktu minimum keterbaruan data, maka data pada basis data dianggap obsolete dan tidak valid. c. Menghitung jumlah data yang terbaru dan membandingkannya dengan jumlah total data.
II-12
Tabel II-5. Contoh Data Untuk Pengukuran Timeliness Tgl Update 01/06/2010 01/06/2010 01/06/2010 01/08/2010 01/08/2010 01/01/2010 01/12/2009 01/12/2009 01/05/2010 01/03/2010
Contoh pengukuran keterbaruan data terhadap Tabel II-1 dapat diterapkan kepada kolom data yang berupa waktu atau tanggal yang menyatakan waktu terakhir data diperbarui. Kolom data yang menyatakan waktu keterbaruan data pada Tabel II-1 yaitu kolom [Tgl Update] akan dituliskan pada Tabel II-5.
Pengukuran keterbaruan data dilakukan dengan cara menentukan waktu terakhir data dianggap terbarui, misalkan pada kasus ini asumsikan data dianggap terbarui jika nilai tanggal update minimal bertahun 2010. Dengan ketentuan tersebut, nilai keterbaruan data dihitung dengan perhitungan rasio adalah % 80 % 100 10 8 (ada dua data yang nilai tahunnya adalah 2009 sehingga tidak memenuhi syarat keterbaruan data). 6. Security Tingkat keamanan data dan pengaturan hak aksesnya. Pendefinisian tingkat keamanan data juga diperlukan untuk memilah-milah data menjadi data rahasia, data terbatas, atau data umum. Pengukuran keamanan data dapat dilakukan dengan cara: a. Menentukan data yang akan diukur keamanannya b. Mendaftarkan aktor-aktor yang diizinkan untuk mengakses data tersebut c. Melakukan pengecekan terhadap aktor-aktor yang mengakses data dilihat dari catatan (log) pengaksesan data d. Penilaian keamanan data dilihat dari jumlah aktor-aktor yang seharusnya tidak bisa mengakses data.
II-13 II.4 Aplikasi-Aplikasi Data Profiling Beberapa tahun terakhir ini, data analysis dan data quality mulai menjadi fokus bagi banyak perusahaan terutama perusahaan-perusahaan besar yang harus menangani volume data yang besar. Dengan banyaknya permintaan dari pasar, aplikasi-aplikasi untuk melakukan analisis data dan pengukuran kualitas data mulai bermunculan. Berikut dibawah ini akan dijelaskan beberapa aplikasi-aplikasi yang berfungsi untuk melakukan analisis data dan pengukuran kualitas data yang sudah tersedia. Aplikasi-aplikasi berikut adalah pelopor dan pemimpin di dunia kualitas data: 1. IBM Infosphere Information Analyzer IBM Infosphere Information Analyzer adalah aplikasi yang berfungsi untuk menganalisis suatu sumber data. Aplikasi ini memiliki fitur-fitur khusus untuk melakukan analisis kolom (didalamnya termasuk analisis kelengkapan dan kevalidan data, analisis format data, dan analisis sifat-sifat data), mengidentifikasi primary key, mengidentifikasi foreign key, mencari data yang saling overlap dan redundan dari dua kolom data, serta mengidentifikasi perubahan nilai data dalam kurun waktu tertentu [IBM07]. Metrik-metrik seperti uniqueness, completeness, accuracy, consistency sudah bisa diukur dengan bantuan aplikasi ini. Ditambah lagi, aplikasi memiliki kemampuan untuk melaporkan informasi lengkap dari suatu kolom data (informasi distribusi nilai data, tipe data, format data). Akan tetapi, Analisis data pada aplikasi ini tidak berdasar kepada metrik-metrik kualitas data sehingga pengguna harus mengasosiasikan analisis yang telah dilakukan dengan metrik-metrik yang hendak diukur. 2. Microsoft SQL Server 2008 Integration Services (SSIS) Microsoft SQL Server 2008 adalah suatu database management system. SQL Server Integration Service (SSIS) yang dimiliki oleh Microsoft SQL Server 2008 adalah suatu platform untuk melakukan integrasi data dan transformasi data [MSDN1]. SSIS memiliki fitur-fitur untuk melakukan kegiatan extract, transform, and load (ETL) dengan mudah. Pada penggunaannya, SSIS memberikan kemampuan untuk menciptakan aliran proses (workflow) untuk membantu user dalam melakukan fungsi-fungsinya. Untuk melakukan pengukuran kualitas data, SSIS memberikan fleksibilitas untuk melakukan filtrasi data, perbandingan nilai, dan juga cross-reference. Pengukuran kualitas data harus dilakukan secara sendiri-sendiri dalam arti setiap metrik-metrik kualitas data harus didefinisikan dalam bentuk workflow yang berbeda-beda.
II-14 3. Informatica Data Explorer dan Informatica Data Quality Informatica adalah salah satu perusahaan yang memfokuskan diri kepada pengelolaan kualitas data. Informatica mengeluarkan produk Informatica Data Explorer and Informatica Data Quality untuk membantu pengukuran kualitas data. Informatica Data Explorer dan Data Quality memiliki kemampuan untuk melakukan investigasi data, pencarian, dan pemetaan untuk menganalisis data yang berasal dari berbagai sumber. Informatica Data Explorer juga memiliki kemampuan untuk melakukan pemilihan data yang akan dianalisis, profiling terhadap kolom, profiling terhadap tabel, mengecek akurasi dan konsistensi data [INF07].
III-1 BAB III. ANALISIS PENGUKURAN KUALITAS DATA III.1 Kebutuhan Pengukuran Kualitas Data Pada sub bab III.1 ini akan dijelaskan kebutuhan-kebutuhan khusus yang harus diperhatikan dalam pembangunan pengukuran kualitas data. III.1.1 Kebutuhan Untuk Memilih Data Perusahaan membutuhkan aplikasi yang bisa melakukan pengukuran kualitas data terhadap data tertentu sesuai dengan kebutuhan perusahaan. Perusahaan pun menyadari bahwa jika melakukan analisis secara menyeluruh, maka basis data akan terbebani oleh proses analisis. Padahal, data yang perlu dianalisis bukan seluruh basis data. Karena itu, salah satu fitur yang akan menjadi fokus utama pada aplikasi ini adalah kemampuan untuk memilih data.
Untuk mengerti suatu data, kita harus menganalisis dan mengetahui isi, kualitas, ketepatan dari data tersebut pada seluruh tingkat, baik tingkat basis data, tuple data atau tabel data, kolom data, ataupun sel data. Tingkat basis data berarti pengukuran dapat mencakup bagian basis data yaitu seluruh tabel dan seluruh kolom data yang ada dan hubungan antar data yang berada dalam basis data. Tingkat tuple data atau tabel data berarti pengukuran dapat mencakup seluruh kolom data yang ada dalam tuple atau tabel data. Tingkat kolom data berarti pengukuran hanya mencakup satu kolom data. Sedangkan tingkat sel data mencakup data pada kolom dan baris tertentu.
Untuk merepresentasikan suatu data, perusahaan biasanya menggunakan kolom-kolom data. Misalnya, data pribadi pegawai direpresentasikan dengan beberapa kolom data seperti kolom id pegawai, nama pegawai, nama panggilan, tempat lahir, tanggal lahir, status perkawinan, alamat, dan nomor telepon. Sedangkan data informasi barang direpresentasikan dengan beberapa kolom data seperti id barang, nama barang, deskripsi barang, jenis barang, dan jumlah stok barang tersedia.
Pada tugas akhir ini, pengukuran kualitas data akan dibatasi dan difokuskan pada tingkat kolom data. Aplikasi pengukuran kualitas data dapat melakukan pengukuran kualitas data pada tingkat kolom data dan melakukan pengukuran kualitas data pada tingkat basis data dan tuple data dengan cara pengukuran terhadap setiap kolomnya.
III-2 III.1.2 Kebutuhan Untuk Mengukur Kualitas Data Berdasarkan Metrik- Metrik Kualitas Data Aplikasi-aplikasi data profiling yang telah tersedia dapat menghasilkan analisis kuantitatif terhadap data (misalnya: analisis frekuensi, analisis key, analisis kolom kosong, analisis kolom null). Akan tetapi, beberapa dari aplikasi-aplikasi tersebut tidak melakukan analisis berdasarkan metrik-metrik kualitas data sehingga proses pengukuran kualitas data berdasarkan metrik- metriknya tetap harus dilakukan terpisah dari proses analisis data pada aplikasi.
Secara garis besar, jika perusahaan hendak melakukan pengukuran kualitas data berdasarkan metrik-metriknya, maka pertama-tama perusahaan harus melakukan analisis kualitas data oleh aplikasi data profiling yang ada. Setelah itu, perusahaan harus mengolah kembali hasil analisis data tersebut dan menghasilkan hasil pengukuran kualitas data yang sesuai berdasarkan metrik- metrik kualitas data. Secara singkat, prosesnya dapat digambarkan seperti pada Gambar III-1.
Gambar III-1. Tahapan Pengukuran Kualitas Data Pada Aplikasi Yang Sudah Ada
Sesuai dengan yang telah dijelaskan sebelumnya pada sub bab III.1 bahwa pengguna akan dapat memilih data yang akan diukur kualitasnya dan proses pengukuran kualitas data akan difokuskan pada tingkat kolom data. Oleh karena itu, proses pengukuran data akan langsung dilakukan berdasarkan metrik-metrik kualitas data terhadap setiap kolom data.
Analisis Data Total Hasil Analisis Data Pengukuran Kualitas Data Berdasarkan Metrik Kualitas Data Menghasilkan Menggunakan Hasil Pengukuran Kualitas Data Menghasilkan
III-3 III.2 Signifikansi Metrik-Metrik Kualitas Data Setiap metrik kualitas data harus diukur karena mereka memiliki signifikansi untuk perusahaan. Pada sub bab III.2 ini akan dijelaskan tentang alasan setiap metrik kualitas data menjadi sangat penting bagi perusahaan. III.2.1 Metrik Uniqueness Metrik uniqueness adalah metrik yang menunjukkan tingkat keunikan data. Pengukuran metrik uniqueness dilakukan untuk mengecek terhadap duplikasi data. Pengukuran metrik uniqueness ke dalam DBMS biasanya dilakukan terhadap suatu data yang seharusnya bernilai unik akan tetapi tidak dibatasi keunikannya oleh DBMS tersebut. Data tidak diset sebagai data unik mungkin karena diperlukan untuk menangani anomali-anomali yang terjadi pada proses bisnis.
Pengukuran metrik uniqueness sangat penting bagi perusahaan. Contoh kasus yang dapat terjadi adalah duplikasi data pegawai. Duplikasi data pegawai dapat menyebabkan satu pegawai digaji dua kali sehingga merugikan perusahaan. Contoh lainnya yaitu duplikasi data pemasok. duplikasi data pelanggan dapat menyebabkan kesalahan pada proses pemesanan barang dan inventorisasi.
Dengan adanya pengukuran uniqueness data, perusahaan dapat melihat ada atau tidaknya kasus duplikasi data sehingga kasus-kasus yang dapat merugikan perusahaan dapat dihindari dan dicegah. III.2.2 Metrik Completeness Metrik completeness adalah metrik yang menunjukkan tingkat kelengkapan data. Data yang tidak lengkap menyebabkan adanya informasi yang hilang (missing information). Padahal, kelengkapan data adalah hal yang paling vital untuk menentukan apakah suatu data dapat digunakan sebagai sumber informasi atau tidak.
Contoh kasus yang bisa terjadi misalnya ketika perusahaan hendak menggunakan suatu data kota tempat tinggal pelanggan sebagai dasar dari pengambilan keputusan dalam pemasangan iklan. Pada distribusi statistik kota tempat tinggal pelanggan, terlihat bahwa pelanggan yang bertempat tinggal di kota A adalah 50% dari total pelanggan. Berdasarkan sumber data tersebut, perusahaan melakukan pemasangan iklan pada kota A. Akan tetapi, setelah ditinjau ulang, pemasangan iklan di kota A tidak mendapatkan hasil yang sesuai dengan harapan. Setelah dianalisis lebih lanjut, kesalahan yang terjadi ternyata disebabkan karena data kota tempat
III-4 tinggal pada basis data hanya memiliki tingkat kelengkapan data sebesar 20% dan tidak merepresentasikan seluruh pelanggan. Hal seperti ini tidak akan terjadi apabila data tersebut diukur dulu tingkat kelengkapannya sebelum direpresentasikan sebagai informasi sumber dasar pengambilan keputusan. III.2.3 Metrik Accuracy Metrik accuracy adalah metrik yang menunjukkan tingkat kebenaran data. Pengukuran metrik accuracy dilakukan untuk mengecek apakah suatu data memiliki nilai yang benar dan sesuai dengan aturan-aturan representasi data tersebut yang telah ditentukan. Pengukuran metrik accuracy ke dalam DBMS biasanya dilakukan terhadap data yang memiliki ketentuan-ketentuan tertentu akan tetapi ketentuan tersebut tidak dapat dibatasi oleh DBMS tersebut.
Data yang tidak akurat dapat menyebabkan kesalahan pengertian data yang dapat menghambat proses bisnis perusahaan. Contoh kasus yang bisa terjadi misalnya pada data NIP pegawai. Kesalahan yang terjadi pada data NIP pegawai dapat menyebabkan seorang pegawai mendapatkan kesulitan dalam kegiatan kesehariannya, misalnya karena aksesnya ditolak oleh sistem karena NIP-nya tidak sesuai syarat. Contoh kasus lainnya yaitu pada data Id Barang. Kesalahan yang terjadi pada data Id barang dapat menyebabkan sebuah barang menjadi tidak terkelola dengan baik dalam proses inventorisasi dan proses produksinya.
III.2.4 Metrik Consistency Pengukuran metrik consistency biasanya dilakukan untuk membandingkan dua data yang seharusnya bernilai sama yang berada pada dua sumber data yang berbeda. Biasanya, perbandingan dilakukan kepada suatu data terhadap master datanya. Master data dapat diartikan sebagai satu-satunya data yang dipakai oleh seluruh sistem dan merepresentasikan data yang sudah benar. Perbandingan data terhadap master datanya akan menghasilkan suatu jawaban dari pertanyaan, Apakah seluruh data yang digunakan adalah data yang valid?. Pada DBMS, pengukuran metrik consistency tidak harus dilakukan untuk data yang berada pada basis data yang sama dengan master datanya dan memiliki batasan-batasan yang ditentukan untuk menghindari ketidakkonsistenan data. Akan tetapi, pengukuran metrik consistency sangat perlu dilakukan terhadap data yang berada pada basis data yang berbeda dengan master datanya karena data tersebut tidak memiliki batasan-batasan untuk menghindari ketidakkonsistenan data.
III-5 Data yang tidak konsisten akan menyebabkan adanya dua data yang berbeda yang merepresentasikan hal yang sama. Contoh kasus yang dapat terjadi adalah ketidakkonsistenan data pegawai. Data pegawai yang tidak konsisten dapat terjadi karena setiap divisi perusahaan membutuhkan daftar data yang disesuaikan dengan kebutuhannya masing-masing. Ketidakkonsistenan ini dapat menyebabkan kesalahan yang fatal seperti menggaji orang yang sudah keluar dari perusahaan. Hal ini dapat terjadi karena pada saat pencatatan data pegawai yang sudah keluar di satu divisi diubah, data pegawai yang ada pada divisi lain tidak ikut diubah. Contoh kasus lain yang dapat terjadi adalah ketidakkonsistenan data inventoris kantor. Ketidakkonsistenan ini dapat menyebabkan kesalahan perhitungan pada data inventoris kantor. III.2.5 Metrik Timeliness Metrik timeliness adalah metrik yang menunjukkan tingkat keterbaruan suatu data. Pengukuran metrik dilakukan dengan cara untuk mengecek sebuah data apakah telah terbarui atau belum dibandingkan dengan suatu data waktu tertentu. Pengukuran metrik timeliness biasanya dilakukan terhadap kolom waktu update yang ada pada setiap tabel data yang merepresentasikan kapan suatu data pada tabel data terakhir berubah.
Data yang tidak terbarui menyebabkan kesalahan pengambilan keputusan akibat perubahan kondisi yang disebabkan perbedaan waktu. Data yang berguna pada satu waktu belum tentu signifikan nilainya apabila digunakan pada waktu yang lain. Contoh kasus yang bisa terjadi misalnya pada data pembelian pelanggan. Data pembelian pelanggan pada 2 (dua) tahun yang lalu belum tentu bisa digunakan untuk dijadikan sebagai dasar pengambilan keputusan perusahaan untuk menentukan barang-barang yang laku dijual kepada pelanggan untuk tahun ini karena sepanjang tahun dapat terjadi perubahan trend, perubahan teknologi, dan bahkan perubahan peraturan pemerintah yang mengubah nilai suatu data. III.2.6 Metrik Security Metrik security adalah metrik yang menunjukkan tingkat keamanan suatu data. Pengukuran metrik dilakukan dengan cara memeriksa apakah hanya pihak yang memiliki hak akses data yang tercatat pada catatan akses data. Keamanan data sangat signifikan bagi perusahaan karena data dapat saja merepresentasikan informasi yang privat dan vital untuk perusahaan seperti data pegawai, data pelanggan, data penggajian, bahkan data keuntungan perusahaan. Apabila data tidak aman, maka bisa saja informasi vital perusahaan dilihat oleh orang lain dan dijual kepada perusahaan saingan sehingga perusahaan mendapat kerugian yang signifikan. Karena itu,
III-6 seluruh data yang dimiliki perusahaan terutama data vital perusahaan harus diawasi keamanannya. III.3 Cara Pengukuran Metrik-Metrik Kualitas Data Pada sub bab III.3 ini akan dijelaskan sistematika pengukuran tiap-tiap metrik kualitas data. Metrik-metrik yang dibahas adalah metrik yang dapat diukur dengan menggunakan bantuan perangkat lunak. Metrik yang dibahas dalam sub bab ini adalah uniqueness, completeness, accuracy, consistency, timeliness, dan security.
Langkah-langkah untuk mengukur setiap metrik-metrik kualitas data akan dijelaskan dengan menggunakan penjelasan tulisan dengan bantuan string query SQL ke basis data dan Pseudocode. III.3.1 Metrik Uniqueness Sistematika pengukuran metrik uniqueness terhadap suatu kolom data dilakukan dengan langkah-langkah sebagai berikut: 1. Menghitung jumlah data total tidak null (Tn) Perhitungan jumlah data total tidak null pada basis data dilakukan dengan cara melakukan query perhitungan jumlah data yang tidak memiliki nilai null pada kolom data.
Query 1. Menghitung jumlah data total tidak null SELECT COUNT [nama_kolom] FROM [nama_tabel] WHERE [nama_kolom] IS NOT NULL
Hasil query adalah integer yang bernilai jumlah total data tidak null pada suatu kolom data.
2. Menghitung jumlah data unik pada kolom data (U) Perhitungan jumlah data unik pada basis data dilakukan dengan cara melakukan query perhitungan jumlah data yang unik dan tidak bernilai null pada kolom data. Nilai data null tidak dihitung sebagai salah satu data yang valid.
Query 2. Menghitung jumlah data unik pada kolom data SELECT COUNT DISTICT [nama_kolom] FROM [nama_tabel] WHERE [nama_kolom] IS NOT NULL
Hasil query adalah integer yang bernilai jumlah total data unik pada suatu kolom data.
III-7 3. Melakukan perbandingan rasio antara jumlah data unik (U) dengan jumlah data total tidak null (T) Perbandingan rasio dilakukan dengan rumus sebagai berikut % 100 Tn U R R adalah Rasio, menyatakan tingkat keunikan data pada suatu kolom data.
III.3.2 Metrik Completeness Sebuah data dianggap tidak lengkap apabila memenuhi beberapa kondisi tertentu. Berikut adalah beberapa jenis kondisi data yang dianggap sebagai tolak ukur kelengkapan (completeness) suatu data: 1. Memiliki nilai NULL 2. Memiliki suatu nilai tertentu yang telah ditentukan oleh pengguna sebelumnya sebagai nilai ketidaklengkapan (misalnya menggunakan nilai 0 sebagai data tidak bernilai atau tidak lengkap)
Sistematika pengukuran metrik completeness dilakukan dengan langkah-langkah sebagai berikut: 1. Menghitung jumlah data total (T) Perhitungan jumlah data total pada basis data dilakukan dengan cara melakukan query perhitungan jumlah data pada suatu tabel data.
Query 3. Menghitung jumlah data total SELECT COUNT [nama_kolom] FROM [nama_tabel]
Hasil query adalah integer yang bernilai jumlah total data pada suatu kolom data.
2. Menghitung jumlah data tidak lengkap (C) Untuk jenis kondisi data tidak lengkap bernilai NULL, dan bernilai string tertentu, perhitungan jumlah data tidak lengkap dapat dilakukan hanya dengan menggunakan query terhadap basis data.
Perhitungan jumlah data tidak lengkap dilakukan dengan cara melakukan query untuk menghitung jumlah data sesuai dengan kondisi yang ingin dipenuhi.
III-8
Query 4. Menghitung jumlah data tidak lengkap sesuai kondisi SELECT COUNT [nama_kolom] FROM [nama_tabel] CONDITION
Dimana CONDITION adalah kondisi yang diukur terhadap kelengkapan data tersebut. CONDITION akan digantikan oleh string query tergantung pada jenis pengukuran kelengkapan datanya. Berikut adalah jenis-jenis string query CONDITION: a. Memiliki nilai NULL String query kondisi yang akan ditambahkan adalah: WHERE [nama_kolom] IS NULL b. Memiliki suatu nilai tertentu String kondisi yang akan ditambahkan adalah: WHERE [nama_kolom] = initiatedValue
Variabel initiatedValue adalah nilai yang ditentukan di awal untuk dianggap nilai tidak lengkap untuk data.
Berikut dibawah ini adalah beberapa contoh string query yang mungkin dilakukan untuk pengukuran completeness pada kolom data.
Query 5. Contoh query untuk mengecek jumlah dari data yang bernilai NULL SELECT COUNT [nama_kolom] FROM [nama_tabel] WHERE [nama_kolom] IS NULL
Query 6. Contoh query untuk mengecek jumlah dari data yang bernilai NULL atau bernilai - SELECT COUNT [nama_kolom] FROM [nama_tabel] WHERE [nama_kolom] = - OR [nama_kolom] IS NULL
Jenis pengukuran yang dapat dilakukan terhadap satu kolom boleh lebih dari satu. Hasil query adalah integer yang bernilai jumlah total data yang tidak lengkap saja pada suatu kumpulan data.
III-9 3. Melakukan perbandingan rasio antara jumlah data tidak lengkap (C) dengan jumlah data total (T) Perbandingan rasio dilakukan dengan rumus sebagai berikut % 100 % 100 T C R R adalah Rasio, menyatakan tingkat kelengkapan data
III.3.3 Metrik Accuracy Suatu data biasanya memiliki beberapa ciri atau ketentuan yang ditentukan oleh pengguna data. Untuk menentukan keakuratan data, ada beberapa tolak ukur keakuratan (accuracy) yang biasa digunakan: 1. Panjang string data 2. Jenis karakter pada string data 3. Pola pada string
Sistematika pengukuran metrik accuracy terhadap suatu kolom data dilakukan dengan langkah- langkah sebagai berikut: 1. Menghitung jumlah data total tidak null (Tn) Perhitungan jumlah data total pada basis data dilakukan dengan cara melakukan query perhitungan jumlah data terhadap kolom data yang bernilai tidak null.
Query yang dilakukan pada basis data adalah Query 1.
2. Menghitung jumlah data tidak akurat (A) Ada dua(2) sistematika menghitung jumlah data yang tidak akurat dari suatu kumpulan data, yaitu perhitungan langsung dengan menggunakan query saja dan perhitungan yang membutuhkan bantuan program tambahan dari perangkat lunak untuk memproses data lebih lanjut.
Pertama, untuk mengukur jumlah data tidak akurat karena panjang string, perhitungan jumlah data tidak akurat dapat dilakukan hanya dengan menggunakan query terhadap basis data. Cara pengukuran ini dapat dilakukan untuk pengukuran akurasi panjang data dan akurasi jenis karakter data.
III-10 Cara mengukur data yang memiliki panjang string tidak akurat adalah dengan cara menghitung jumlah data yang panjang stringnya tidak sama dengan panjang string yang akurat.
Query 7. Menghitung jumlah data dengan panjang string tidak akurat SELECT COUNT [nama_kolom] FROM [nama_tabel] WHERE LEN(nama_kolom) != initiatedLength
Variabel initiatedLength adalah nilai Length yang valid yang ditentukan oleh user
Hasil query adalah integer yang bernilai jumlah total data yang memiliki panjang data tidak akurat pada suatu kolom data
Cara mengukur data yang memiliki tipe data yang tidak akurat adalah dengan cara mencari data yang didalamnya memiliki karakter dengan tipe data yang tidak akurat.
Query 8. Menghitung jumlah data dengan tipe data numerik SELECT COUNT [nama_kolom] FROM [nama_tabel] WHERE nama_kolom NOT LIKE '%[^0-9]%'
Dengan query diatas, seluruh data yang hanya memiliki karakter numerik didalamnya akan terhitung. Untuk menghitung seluruh data yang hanya memiliki karakter alfabet didalamnya dapat dilakukan dengan mengganti string pada '%[^0-9]%' menjadi '%[^A-Z]%' pada query.
Hasil query adalah integer yang bernilai jumlah total data yang memiliki tipe akurat pada suatu kolom data. Jumlah total data yang tidak akurat dihitung dari total data tidak null (Tn) Hasil query.
III-11 Kedua, untuk mengukur jumlah data tidak akurat karena memiliki pola data tidak sesuai dengan pola yang telah ditetapkan dapat dilakukan dengan menggunakan gabungan query terhadap basis data dan menggunakan program oleh pengembang. Langkah-langkah yang dilakukan adalah sebagai berikut: a. Mengambil suatu kolom data pada basis data ke dalam suatu variabel dalam aplikasi. Berikut adalah pseudocodenya:
b. Menghitung jumlah data yang tidak akurat Data yang tidak akurat dilihat dari pola yang tidak akurat. i. Menghitung jumlah data yang memiliki pola yang tidak akurat Cara mengukur data yang memiliki pola yang tidak akurat adalah dengan cara menghitung jumlah data yang karakternya tidak sesuai dengan pola yang ditentukan. Pola ditentukan oleh pengguna. Berikut adalah beberapa cara mengecek pola: Pola berdasarkan jenis karakter Pola berdasarkan jenis karakter adalah pola yang disusun dengan menentukan jenis karakter (char, numerik, symbol) untuk setiap karakternya. Misalnya: String IF13124 yang memenuhi pola [CCNNNNN] dimana C merepresentasikan Char dan N merepresentasikan Numerik. Pola berdasarkan regex Pola berdasarkan regex adalah pola yang disusun dengan menentukan jenis regexnya. Berikut adalah pseudocodenya: // query adalah string yang berfungsi // menyimpan query basis data SET query = SELECT [nama_kolom] FROM [nama_tabel]
// Eksekusi query dan mendapatkan // variabel result dari query tersebut EXECUTE string query ke basis data GET result // Variabel result adalah hasil query // ke basis data berupa tabel satu kolom data
III-12
Variabel count adalah integer yang bernilai jumlah total data yang memiliki pola tidak akurat pada suatu kolom data
3. Melakukan perbandingan rasio antara jumlah data tidak akurat (A) dengan jumlah data total tidak null (Tn) Perbandingan rasio dilakukan dengan rumus sebagai berikut % 100 % 100 Tn A R R adalah Rasio, menyatakan tingkat keakuratan data III.3.4 Metrik Consistency Untuk menentukan konsistensi data, suatu data harus dibandingkan dengan data yang lain untuk diukur kebenarannya. Ada beberapa cara yang biasa digunakan untuk menentukan konsistensi data: 1. Membandingkan nilai data dengan nilai dari master data 2. Membandingkan nilai data dengan nilai data dari basis data lain 3. Membandingkan nilai data dengan nilai data valid masukan dari user
// Melakukan iterasi untuk mengecek jumlah data // yang memiliki jenis karakter yang tidak akurat
// Variabel validPattern adalah tipe jenis pola // yang ditentukan oleh user. // misalkan: validPattern berupa regex. // validPattern dibaca dari masukan user READ validPattern;
// Variabel count adalah pencacah yang digunakan // untuk menghitung jumlah data yang tidak akurat SET count = 0;
// Variabel result.rowidx menunjuk pada // indeks baris data yang sedang diakses. // Saat pertama diakses, rowidx baris pertama. WHILE result.rowidx belum pada row akhir // Mengecek apabila pola data dari nilai result // pada indeks baris sekarang sesuai dengan // validPattern IF Type of result.rowvalue is not validPattern THEN INCREMENT count; ENDIF // memajukan indeks result ke baris berikutnya result.next() ENDWHILE
III-13 Sistematika pengukuran metrik consistency terhadap suatu kolom data dilakukan dengan langkah-langkah sebagai berikut: 1. Menghitung jumlah data total tidak null (Tn) Perhitungan jumlah data total pada basis data dilakukan dengan cara melakukan query perhitungan jumlah data terhadap kolom data.
Query yang dilakukan pada basis data adalah Query 1.
2. Menghitung jumlah data tidak konsisten (CT) Perhitungan jumlah data tidak lengkap harus dilakukan dengan menggunakan gabungan antara query basis data dan program oleh pengembang. Berikut ini akan dijelaskan langkah-langkah yang harus dilakukan untuk mengukur kelengkapan data untuk jenis kondisi data yang tidak akurat. a. Mengambil kolom data yang akan diukur konsistensinya pada basis data ke dalam suatu variabel dalam aplikasi
b. Membandingkan nilai data untuk mendapatkan nilai konsistensi data Untuk ketiga jenis cara pengukuran konsistensi data, diperlukan suatu fungsi yang mengecek apakah satu nilai data merupakan anggota dari Array (Array data berisi nilai-nilai valid data). // query1 adalah string yang berfungsi // menyimpan query1 basis data // query1 mengakses tempat kolom data yang hendak diukur SET query1 = SELECT [nama_kolom] FROM [nama_tabel]
// Eksekusi query1 dan mendapatkan // variabel result dari query1 tersebut EXECUTE string query1 ke basis data GET result1 // Variabel result adalah hasil query1 // ke basis data berupa tabel satu kolom data
III-14
Berikut akan dijelaskan langkah-langkah untuk membandingkan nilai data untuk ketiga jenis pengukuran konsistensi data: i. Membandingkan nilai data dengan nilai dari master data atau basis data lain Untuk membandingkan nilai data dengan nilai dari master data atau basis data lain, Langkah pertama yang dilakukan adalah mengambil kolom data pada master data atau basis data lain tersebut ke dalam suatu variabel dalam aplikasi.
Langkah kedua adalah memasukkan seluruh nilai master data atau basis data lain ke dalam suatu Array. // Menciptakan sebuah fungsi pengecekan nilai data yang melakukan // pengecekan ada atau tidaknya nilai suatu data pada array. // Fungsi CekValueToArrayData, variabel pertama diisi dengan string // pada basis data yang diukur dan variabel array adalah arrayData // yang telah diinisiasi sebelumnya dengan nilai master data // Mengembalikan true jika nilai data ada pada array data FUNCTION CekValueToArrayData(String nilaiDiCek, Array arrayData) BEGIN SET isValid = false; SET count = 0; // arrayData.Count mengembalikan jumlah data // yang ada pada Array WHILE isValid == true OR count != arrayData.Count { IF (nilaiDiCek == arrayData[count].Value) THEN isValid = true; ENDIF SET count = count + 1; } RETURN isValid; END // query2 adalah string yang berfungsi // menyimpan query basis data // query2 mengakses basis data tempat // kolom data referensi SET query2 = SELECT [nama_kolom] FROM [nama_tabel]
// Eksekusi query2 dan mendapatkan variabel result // dari query2 tersebut EXECUTE string query2 ke basis data GET result2 // Variabel result adalah hasil query2 ke basis data // berupa tabel satu kolom data // Hasil query disimpan dalam variabel Conn2.Result
III-15
Langkah ketiga yang dilakukan adalah melakukan perbandingan nilai seluruh data pada kolom data yang akan diukur dengan nilai data pada master data atau basis data lain. Apabila nilai data pada kolom data tidak terdapat pada array maka data dianggap tidak valid.
Variabel count adalah integer yang bernilai jumlah total data yang tidak konsisten pada kolom data
// Melakukan iterasi untuk memasukkan seluruh nilai // master data atau basis data lain kedalam array
// arrayData adalah Kelas Array tempat seluruh nilai // master data disimpan. // TipeData dapat berupa string, int, boolean, // atau bahkan suatu objek INIT arrayData ;
// Variabel result.rowidx menunjuk pada indeks baris // data yang sedang diakses. Saat pertama diakses, // rowidx baris pertama. WHILE result2.rowidx bukan pada row terakhir // result2.rowvalue adalah nilai data pada // baris result pada saat ini ADD arrayData dengan result2.rowvalue; // memajukan indeks result ke baris berikutnya result2.next() ENDWHILE
// Melakukan iterasi untuk mengecek jumlah data yang // tidak konsisten dengan nilai master data
// Variabel count adalah pencacah yang digunakan untuk // menghitung jumlah data yang tidak akurat SET count = 0;
// Variabel result.rowidx menunjuk pada indeks baris // data yang sedang diakses. Saat pertama diakses, // rowidx baris pertama. WHILE result.rowidx belum pada row akhir // result1 telah menunjuk pada satu baris pada // kolom data yang hendak terukur IF NOT CekValueToArrayData(result1, arrayData)) THEN count++; ENDIF // memajukan indeks result ke baris berikutnya result.next() ENDWHILE
III-16 ii. Membandingkan nilai data dengan nilai data valid masukan dari user Untuk membandingkan nilai data dengan nilai data valid masukan dari user, Langkah pertama yang dilakukan adalah mengambil nilai data valid masukan dari user dan memasukkannya ke dalam suatu Array.
Langkah kedua yang dilakukan adalah melakukan perbandingan nilai seluruh data pada kolom data yang akan diukur dengan nilai valid masukan dari user yang ada pada array. Apabila nilai data pada kolom data tidak terdapat pada array maka data dianggap tidak valid.
Variabel count adalah integer yang bernilai jumlah total data yang tidak konsisten pada kolom data 3. Melakukan perbandingan rasio antara jumlah data tidak konsisten (CT) dengan jumlah data total tidak null (Tn) Perbandingan rasio dilakukan dengan rumus sebagai berikut % 100 % 100 Tn CT R R adalah Rasio, menyatakan tingkat keakuratan data // Melakukan iterasi untuk mengecek jumlah data yang // tidak konsisten dengan nilai data valid masukan user
// Variabel count adalah pencacah yang digunakan untuk // menghitung jumlah data yang tidak akurat SET count = 0;
// Variabel result.rowidx menunjuk pada indeks baris // data yang sedang diakses. Saat pertama diakses, // rowidx baris pertama. WHILE result.rowidx belum pada row akhir // result1 telah menunjuk pada satu baris // pada kolom data yang hendak terukur IF NOT CekValueToArrayData(result1, arrayData)) THEN INCREMENT count; ENDIF // memajukan indeks result ke baris berikutnya result.next() ENDWHILE
// Membaca dan mendapatkan masukan data valid dari user // dan memasukkannya ke dalam arrayData READ arrayData;
III-17 III.3.5 Metrik Timeliness Pengukuran metrik timeliness hanya dapat diukur terhadap kolom data yang bertipe DATE pada basis data. Sistematika pengukuran metrik timeliness terhadap suatu kolom data dilakukan dengan langkah-langkah sebagai berikut: 1. Menghitung jumlah data total tidak null (Tn) Perhitungan jumlah data total pada basis data dilakukan dengan cara melakukan query perhitungan jumlah data terhadap kolom data.
Query yang dilakukan pada basis data adalah Query 1.
2. Menghitung jumlah data yang tidak terbarui (Tm) Perhitungan jumlah data tidak terbarui dilakukan dengan menggunakan query basis data. Berikut ini akan dijelaskan langkah-langkah yang harus dilakukan untuk mengukur keterbaruan data.
Cara mengukur data yang tidak terbaharui dengan cara menghitung jumlah data yang memiliki nilai DATE yang lebih kecil dari batas nilai terbarui
Pengguna data harus mentukan batas dari nilai terbarui (tanggal, bulan, dan tahunnya). Batas nilai terbarui adalah tanggal terakhir suatu data masih dianggap terbarui.
Query 9. Menghitung jumlah data dengan tanggal tidak terbarui SELECT COUNT [nama_kolom] FROM [nama_tabel] WHERE nama_kolom < dateUpdated
Variabel dateUpdated adalah nilai Date paling lambat terbarui yang ditentukan oleh user
Variabel count adalah integer yang bernilai jumlah total data yang tidak terbarui pada kolom data
Hasil query adalah integer yang bernilai jumlah total data yang memiliki panjang data tidak akurat pada suatu kolom data
III-18 3. Melakukan perbandingan rasio antara jumlah data tidak terbarui (Tm) dengan jumlah data total tidak null (Tn) Perbandingan rasio dilakukan dengan rumus sebagai berikut % 100 % 100 Tn Tm R R adalah Rasio, menyatakan tingkat keakuratan data III.3.6 Metrik Security Pengukuran metrik security membutuhkan data tambahan yaitu data hak akses pengguna dan catatan (log) akses terhadap data. Sistematika pengukuran metrik security terhadap suatu kolom data dilakukan dengan langkah-langkah sebagai berikut: 1. Menghitung jumlah total pengguna data yang memiliki hak akses (Tp) Perhitungan jumlah total pengguna data untuk kolom data dapat dilakukan dengan melihat ke data hak akses pengguna. Data hak akses pengguna biasanya disimpan di dalam basis data atau bisa juga berupa data fisik berupa laporan.
2. Menghitung jumlah total pengguna data yang tidak memiliki hak akses (Tk) Perhitungan jumlah total pengguna data yang tidak memiliki hak akses dilakukan dengan cara: a. Mencatat seluruh pengguna yang pernah mengakses data dari catatan (log) akses data. b. Membandingkan seluruh pengguna yang pernah mengakses data dengan pengguna yang memiliki hak akses terhadap data. c. Menghitung jumlah pengguna yang tidak memiliki hak akses terhadap data.
3. Menentukan nilai keamanan data (Tk) Keamanan data tidak dapat dinilai dengan persentase. Keamanan data ditentukan dengan kategori aman atau tidak aman. Data dianggap aman apabila tidak pernah diakses oleh pengguna yang tidak memiliki hak akses. Sedangkan, data dianggap tidak aman apabila pernah diakses oleh pengguna yang tidak memiliki hak akses.
IV-1 BAB IV. PENGEMBANGAN PERANGKAT LUNAK Bab IV akan menjelaskan tentang perangkat lunak yang akan dikembangkan untuk melakukan pengukuran kualitas data dengan menggunakan metrik-metrik kualitas data yang akan diberi nama Sistem Pengukuran Kualitas Data atau Sistem PKD. Metodologi pengembangan perangkat lunak yang digunakan adalah metode waterfall yaitu pengembangan secara sekuensial atau berurutan. Model waterfall dipilih karena perangkat lunak hanya membutuhkan satu kali siklus untuk pengembangannya. Tahapan pengembangan perangkat lunak adalah sebagai berikut: 1. Analisis kebutuhan 2. Desain perangkat lunak 3. Implementasi 4. Pengujian fungsional
Sistem PKD akan dikembangkan dengan berorientasi objek. Pengembangan perangkat lunak akan didokumentasikan dengan menggunakan UML memakai diagram use case, diagram kelas, dan diagram sequence. IV.1 Deskripsi Perangkat Lunak Pada sub bab IV.1 akan dijelaskan tentang deskripsi perangkat lunak yang hendak dikembangkan untuk melakukan pengukuran kualitas data. Deskripsi perangkat lunak mencakup penjelasan sistem yang hendak dibuat dan infrastruktur sistem secara global. IV.1.1 Penjelasan Sistem Sistem PKD memiliki fungsi utama untuk melakukan pengukuran kualitas data yang berasal dari basis data dengan tolak ukur yaitu metrik-metrik kualitas data.
Sistem memiliki fitur-fitur utama sebagai berikut: 1. Membuat proyek atau workspace untuk mengelola pengukuran kualitas data Pengguna dapat membuat proyek tempat untuk mengelola data-data yang akan diukur, koneksinya, dan metrik-metrik yang akan diukur untuk setiap data tersebut. 2. Menambah data Pengguna dapat menambahkan data yang akan diukur kualitasnya ke dalam perangkat lunak. Setiap data akan diasosiasikan dengan kolom datanya di basis data. 3. Memilih metrik-metrik data yang hendak diukur untuk setiap data
IV-2 Pengguna dapat mengelola metrik-metrik kualitas data untuk setiap data yang telah didefinisikan. Metrik-metrik yang dapat dipilih untuk diukur yaitu metrik uniqueness, completeness, accuracy, consistency, dan timeliness. 4. Memilih data yang hendak diukur Pengguna dapat memilih data yang akan ditangani oleh setiap proyek. Satu proyek dapat menangani beberapa data sekaligus dan proyek yang berbeda dapat menangani data yang sama. 5. Melakukan pengukuran data yang telah dipilih Pengguna dapat melakukan pengukuran kualitas data dari proyek tertentu yang dipilih. Pengukuran kualitas data akan dilakukan oleh sistem terhadap seluruh data yang ditangani proyek dengan menggunakan pengaturan metrik kualitas data yang ditentukan oleh pengguna. 6. Menampilkan laporan kualitas data hasil pengukuran Pengguna dapat melihat hasil pengukuran kualitas data yang telah dilakukan dengan melihat laporan hasil pengukuran. IV.1.2 Infrastruktur Perangkat Lunak Infrastruktur Sistem PKD digunakan oleh satu atau lebih pengguna yang mengelola proses pengukuran data dan pengguna yang membutuhkan hasil pengukuran data. Sistem PKD memiliki basis data internal yang berfungsi untuk menyimpan data yang diperlukan untuk memulai dan melakukan proses pengukuran kualitas data. Dalam proses pengukuran kualitas data, sistem PKD mengakses berbagai basis data yang ada di luar sistem.
Secara ringkas, sistem PKD dapat digambarkan seperti pada Gambar IV-1.
Gambar IV-1. Infrastruktur Sistem PKD
IV-3 IV.2 Deskripsi Kebutuhan Perangkat Lunak Deskripsi kebutuhan dari perangkat lunak akan dijelaskan dengan menggunakan daftar kebutuhan fungsional perangkat lunak dan juga dengan menggunakan diagram use case. IV.2.1 Daftar Kebutuhan Fungsional Berdasarkan penjelasan mengenai Sistem PKD pada sub bab IV.1.1, daftar kebutuhan fungsional disusun sebagaimana dapat dilihat pada Tabel IV-1.
Tabel IV-1. Daftar Kebutuhan Fungsional Perangkat Lunak Nomor Kebutuhan 1 Menambah proyek pada aplikasi 2 Mengubah proyek pada aplikasi 3 Menghapus proyek pada aplikasi 4 Menambah data yang hendak diukur 5 Mengubah data yang hendak diukur 6 Menghapus data yang hendak diukur 7 Mengelola koneksi data yang hendak diukur 8 Menentukan dan mengubah jenis metrik yang hendak diukur 9 Memulai proses pengukuran kualitas data 10 Melihat laporan hasil pengukuran kualitas data Keterangan: Proyek adalah sebuah workspace dimana pengguna mengelola pengukuran kualitas data.
Model analisis kebutuhan perangkat lunak akan diturunkan dari fungsi-fungsi yang akan dikomputerisasi tersebut.
IV-4 IV.2.2 Diagram Use Case
Gambar IV-2. Diagram Use Case
Pengelola kualitas data adalah administrator yang mengelola seluruh fungsi yang ada pada perangkat lunak dari mulai pengelolaan proyek, pengelolaan data, koneksi dan metriknya, serta memulai proses pengukuran kualitas data dan melihat hasilnya.
Dibawah ini akan dijelaskan Skenario use case utama yaitu UCP-6 Melakukan Proses Pengukuran Kualitas Data Terhadap Proyek
IV-5 Nama Melakukan Proses Pengukuran Kualitas Data Pada Proyek ID UCP-6 Pre-kondisi Daftar Proyek tidak kosong Asumsi - Kondisi-Akhir Hasil pengukuran data disimpan kedalam basis data internal
Langkah-Langkah No Administrator Sistem PKD 1 Membuka Form Kelola Proyek 2 Menampilkan Form Kelola Proyek 3 Mengambil daftar proyek dari basis data internal 4 Menampilkan daftar proyek 5 Memilih proyek yang hendak dimulai proses pengukuran kualitas datanya
6 Memulai proses 7 Mengambil daftar data yang ditangani oleh proyek 8 Sistem mengambil setting koneksi dari basis data internal 9 Sistem mengambil setting cara pengukuran metrikdata untuk dari basis data internal 10 Melakukan pengukuran kualitas data ke basis data eksternal dengan koneksi yang telah ditentukan dan berdasarkan cara pengukuran metrik yang telah ditentukan 11 Menyimpan hasil pengukuran kualitas data kedalam basis data internal Langkah-Langkah Alternatif 1 7.1 Daftar data kosong 7.2 Memberikan umpan balik kepada pengguna bahwa proyek tidak menangani satu datapun Langkah-Langkah Alternatif 2 8.1 Setting koneksi dari belum diisi.
IV-6 8.2 Melanjutkan proses pengukuran kualitas data dengan mengabaikan data yang belum disetting koneksinya Langkah-Langkah Alternatif 3 9.1 Setting cara pengukuran metrik data belum diisi. 9.2 Melanjutkan proses pengukuran kualitas data dengan mengabaikan data yang belum disetting koneksinya Langkah-Langkah Alternatif 4 10.1 Koneksi ke basis data eksternal tidak dapat dilakukan. 10.2 Melanjutkan proses pengukuran kualitas data dengan mengabaikan data yang tidak bisa diakses. Langkah-Langkah Alternatif 5 11.1 Hasil pengukuran kualitas data untuk proyek terpilih gagal dimasukkan ke dalam basis data internal 11.2 Memberikan umpan balik kepada pengguna bahwa proses pengukuran kualitas data pada proyek gagal
Penjelasan detail tentang diagram use case dan skenario dapat dilihat pada Lampiran A.
IV-7
IV.3 Analisis Perangkat Lunak Analisis perangkat lunak akan dijelaskan dengan menggunakan dua diagram yaitu dengan diagram kelas analisis dan diagram sequencenya. Analisis kebutuhan perangkat lunak akan diturunkan dari fungsi-fungsi yang akan dikomputerisasi tersebut. IV.3.1 Diagram Kelas Analisis Diagram kelas analisis menjelaskan hubungan antar kelas yang akan dibangun pada perangkat lunak. Kelas-kelas pada perangkat lunak dikelompokkan menjadi tiga, yaitu: kelas boundary, kelas kontrol, kelas entity. Kelas boundary adalah kelas-kelas antarmuka perangkat lunak, yaitu FormReport, FormKelolaProyek, FormKelolaDataPerProyek, FormKelolaData, dan FormKelolaMetrik. Kelas kontrol adalah kelas kendali antarmuka perangkat lunak, yaitu kelas KelolaReport, KelolaProyek, KelolaData, KelolaDataPerProyek, dan KelolaMetrikData. Kelas entity adalah kelas yang mendefinisikan objek-objek utama pada perangkat lunak. Kelas Entity terdiri dari kelas Proyek, Data, MetrikData, dan ProyekReport ditambah dengan dua kelas untuk melakukan koneksi ke basis data yaitu kelas KoneksiDataInternal dan KoneksiDataExternal. Kelas Boundary Kelola Kontrol Kelas Entity FormKelolaProyek KelolaProyek Proyek Koneksi Data FormKelolaData KelolaData Data KoneksiDataInternal FormKelolaMetrik KelolaMetrikData MetrikData KoneksiDataEksternal FormReport KelolaReport FormUtama ProyekReport FormKelolaDataPerProyek KelolaDataPerProyek
Gambar IV-3. Diagram Kelas Analisis
IV-8 Penjelasan detail tentang diagram kelas analisis dapat dilihat pada Lampiran B. IV.3.2 Diagram Sequence Analisis Diagram sequence analisis akan menggambarkan bagaimana hubungan antar kelas ketika perangkat lunak menjalankan sebuah use case. Dibawah ini akan dijelaskan diagram sequence analisis untuk UCP-6 Melakukan Proses Pengukuran Kualitas Data Terhadap Proyek. Berikut adalah ringkasan aktivitas yang terjadi di dalam sistem pada diagram sequence UCP-6: 1. Sistem mengambil seluruh informasi proyek yang sedang ditangani ke dalam basis data internal 2. Sistem melakukan pengukuran kualitas data untuk setiap data ke basis data eksternal 3. Sistem menyimpan hasil pengukuran kualitas data ke dalam basis data internal Diagram sequence analisis untuk UCP-6 dapat dilihat pada Gambar IV-4.
Gambar IV-4. Diagram Sequence Analisis untuk Skenario UCP-6
Penjelasan detail tentang seluruh diagram sequence analisis dapat dilihat pada Lampiran B. IV.4 Perancangan Perangkat Lunak Perancangan perangkat lunak akan dijelaskan dengan menggunakan dua diagram yaitu dengan diagram kelas analisis dan diagram sequencenya. Perancangan perangkat lunak diturunkan dari analisis perangkat lunak yang telah dilakukan sebelumnya disesuaikan dengan lingkungan implementasi yang dipilih.
IV-9 IV.4.1 Diagram Kelas Perancangan Diagram kelas perancangan menjelaskan hubungan antar kelas yang akan dibangun pada perangkat lunak. Peralihan dari diagram kelas analisis ke diagram kelas perancangan menyebabkan perubahan yaitu pengubahan beberapa nama kelas, pengurangan kelas kontrol dan entitas, penambahan kelas FormKoneksi untuk melakukan pengelolaan koneksi data. Penjelasan detail tentang diagram kelas perancangan dan perubahan dari diagram kelas analisis dapat dilihat pada Lampiran C.
Gambar IV-5. Diagram Kelas Perancangan IV.4.2 Diagram Sequence Perancangan Diagram sequence perancangan akan menggambarkan bagaimana hubungan antar kelas ketika perangkat lunak menjalankan sebuah use case. Dibawah ini akan dijelaskan diagram sequence perancangan untuk UCP-6 Melakukan Proses Pengukuran Kualitas Data Terhadap Proyek.
Berikut adalah ringkasan aktivitas yang terjadi di dalam sistem pada diagram sequence UCP-6: a. Sistem mengambil seluruh daftar data yang dimiliki proyek b. Sistem mengambil seluruh informasi tentang metrik data untuk setiap data yang dimiliki proyek c. Sistem melakukan pengukuran kualitas data untuk setiap data ke basis data eksternal dengan menggunakan informasi metrik data yang dimilikinya. d. Sistem menyimpan hasil pengukuran kualitas data ke dalam basis data internal0
Diagram sequence perancangan untuk UCP-6 dapat dilihat pada Gambar IV-6.
IV-10 Administrator FormKelolaProyek Proyek Data Metrik KoneksiSqlServer KoneksiBasisData 1 : GetSelectedData() 2 : Proyek() 3 : PengukuranKualitasData() 4 : GetSeluruhKeteranganProyekFromData() 5 : Data() 6 : Metrik() 7 : GetKeteranganMetrik() 8 : PengukuranKualitasDataTotal() 9 : ExecuteNonQuery() 10 : umpan balik proses berhasil 11 : SaveHasilPengukuran() 12 : ExecuteNonQuery() 13 : umpan balik proses berhasil 14 : Memberikan umpan balik bahwa proses selesai
Gambar IV-6. Diagram Sequence Perancangan untuk Skenario UCP-6
Perubahan yang terjadi pada peralihan dari diagram sequence analisis ke diagram sequence perancangan untuk UCP-6 adalah sebagai berikut: 1. Penyesuaian dengan perubahan nama kelas analisis ke kelas perancangan. 2. Diagram sequence perancangan menggambarkan proses pengambilan daftar data pada proyek dan informasi keterangan metrik untuk setiap data tersebut dari basis data internal Penjelasan detail untuk seluruh diagram sequence perancangan dapat dilihat pada Lampiran C. IV.4.3 Perancangan Antarmuka Antarmuka yang akan dibuat disesuaikan dengan kelas boundary yang dirancang. Gambar IV-7 menjelaskan hubungan navigasi halaman. Hubungan dapat dijelaskan sebagai berikut: 1. FormMain sebagai halaman utama yang bisa membuka FormKelolaProyek dan FormKelolaData. 2. FormKelolaData dapat membuka FormKelolaMetrik dan FormKelolaKoneksi. 3. FormKelolaProyek dapat membuka FormKelolaProyek_KelolaData dan FormReport.
Gambar IV-7. Diagram Hubungan Antarmuka Penjelasan dan gambar detail tentang perancangan antarmuka dapat dilihat pada Lampiran D.
IV-11 IV.5 Implementasi dan Pengujian Perangkat Lunak Pada sub bab IV.5 akan dijelaskan tentang implementasi dan pengujian pada perangkat lunak. Bagian implementasi mencakup lingkungan implementasi, batasan implementasi, hasil implementasi, dan dilanjutkan ke bagian pengujian yaitu pengujian terhadap fungsionalitas perangkat lunak. IV.5.1 Lingkungan Implementasi Sistem PKD dikembangkan dan diimplementasikan dalam lingkungan perangkat keras dengan spesifikasi sebagai berikut : 1. Prosesor Intel Pentium Core 2 Duo 2. Memori 2 GB RAM DDR2 3. Hardisk 200 GB Sedangkan untuk lingkungan spesifikasi Sistem PKD adalah sebagai berikut : 1. Sistem Operasi Microsoft Windows XP 2. Microsoft Visual Studio 2005 3. DBMS Microsoft SQLServer 2005 4. SQLite Manager v0.5.12 Karena perangkat lunak akan dikembangkan khusus untuk sistem operasi Microsoft Windows, maka perangkat lunak bersifat semi bebas. IV.5.2 Batasan Implementasi Batasan implementasi Sistem PKD adalah sebagai berikut: 1. Basis data internal digunakan untuk menyimpan kasus-kasus pengukuran kualitas data dan pengaturan data beserta cara pengukuran metriknya. Basis data internal diimplementasikan dengan menggunakan library SQLite khusus yang harus dicantumkan .dll nya pada proyek. 2. Setting koneksi ke basis data eksternal belum diterapkan secara dinamis dan masih ditentukan oleh pengembang secara hard code. 3. Metrik yang diukur oleh Sistem PKD adalah metrik uniqueness, completeness, accuracy, timeliness, consistency. Metrik security tidak diukur karena membutuhkan data tambahan yaitu data log akses dan data akses pengguna. IV.5.3 Hasil Implementasi Pada Tabel IV-2 dijelaskan deskripsi setiap kelas yang diimplementasikan pada perangkat lunak dan keterangannya.
IV-12 Tabel IV-2. Hasil Implementasi Sistem PKD No Nama File Jenis Keterangan Folder : 0. Utility 1. UtilityString.cs Kelas Kelas untuk mengelola string. Digunakan di seluruh perangkat lunak Folder : 1. Kelas Objek-Objek 1. Data.cs Kelas Kelas objek untuk mengelola data dan properti- propertinya 2. MetrikData.cs Kelas Kelas objek untuk mengelola pengaturan metrik data 3 Proyek.cs Kelas Kelas objek untuk mengelola proyek yang merupakan kasus pengukuran kualitas data Folder : 2. Kelas Kelola 1. KelolaFormData.cs Kelas Kelas kelola untuk membantu mengelola kelas FormKelolaData 2. KelolaFormProyek.cs Kelas Kelas kelola untuk membantu mengelola kelas FormKelolaProyek Folder : 3. Antarmuka Utama 1. FormMain.cs Kelas Kelas antarmuka utama yang muncul ketika aplikasi dibuka 2. FormKelolaProyek.cs Kelas Kelas antarmuka untuk mengelola proyek-proyek pengukuran kualitas data. 3 FormKelolaData.cs Kelas Kelas antarmuka untuk mengelola data yang akan diukur Folder : 4. Antarmuka Dialog 1. FormKelolaKoneksi.cs Kelas Kelas antarmuka untuk mengelola koneksi data 2. FormKelolaMetrikData.cs Kelas Kelas antarmuka untuk mengelola metrik data 3. FormKelolaProyek_DaftarData Kelas Kelas antarmuka untuk menampilkan daftar data pada proyek 4. FormKelolaProyek_KelolaData Kelas Kelas antarmuka untuk mengelola daftar data pada proyek 5. FormReport Kelas Kelas antarmuka untuk menampilkan hasil pengukuran basis data Folder : 5. Kelas Data 1. KoneksiBasisData.cs Kelas Kelas yang mengelola koneksi ke basis data internal 2. KoneksiSqlServer.cs Kelas Kelas yang mengelola koneksi ke basis data eksternal
IV-13 IV.5.4 Pengujian Fungsionalitas Perangkat Lunak Pengujian fungsionalitas perangkat lunak akan digambarkan dengan pemenuhan terhadap use case dan skenario pada perangkat lunak saat ini seperti yang digambarkan pada tabel IV-13. Tabel IV-3. Pemenuhan Kebutuhan Fungsional Kode Use Case Use Case Skenario Keterangan Implementasi UCP-1 Mengelola Proyek Utama Sudah UCP-2 Menambah Proyek Utama Sudah Alternatif Sudah UCP-3 Mengubah Proyek Utama Sudah Alternatif Sudah UCP-4 Menghapus Proyek Utama Sudah Alternatif Sudah UCD-1 Mengelola Data Utama Sudah UCD-2 Menambah Data Utama Sudah Alternatif Sudah UCD-3 Mengubah Data Utama Sudah Alternatif Sudah UCD-4 Menghapus Data Utama Sudah Alternatif Sudah UCD-5 Mengelola Koneksi Data Utama Sudah Alternatif Sudah UCM-1 Mengelola daftar metrik untuk setiap data Utama Sudah Alternatif Sudah UCP-5 Memilih data pada setiap proyek Utama Sudah Alternatif 1 Belum Alternatif 2 Sudah UCP-6 Melakukan proses pengukuran kualitas data terhadap proyak Utama Sudah Alternatif 1 Belum Alternatif 2 Belum Alternatif 3 Belum Alternatif 4 Sudah Alternatif 5 Sudah
IV-14 Kode Use Case Use Case Skenario Keterangan Implementasi UCP-7 Mengakses basis data ekternal Utama Sudah UCR-1 Melihat nilai kualitas data pada suatu proyek Utama Sudah Alternatif Belum
Kesimpulan dari pengujian adalah sebagai berikut: 1. Seluruh skenario utama dari kebutuhan perangkat lunak sudah dapat dilakukan. 2. Beberapa skenario alternatif pengecekan terhadap masukan yang tidak lengkap dan masukan yang salah belum tertangani. 3. Metrik-metrik yang sudah dapat diukur adalah metrik uniqueness, completeness, accuracy, consistency, timeliness. 4. Pengukuran terhadap metrik accuracy untuk diukur keakuratannya berdasarkan pola data tidak diimplementasikan. 5. Pengukuran terhadap metrik consistency untuk dibandingkan dengan data masukan dari pengguna tidak diimplementasikan.
V-1 BAB V. PENGUJIAN PENGUKURAN KUALITAS DATA Bab V akan menjelaskan tentang aktivitas pengujian perangkat lunak terhadap konsep pengukuran kualitas data. Aktivitas pengujian mencakup penjelasan tentang tujuan pengujian, data yang akan diujikan, skenario pengujian, lalu melakukan pengukuran kualitas data secara manual dan pengukuran kualitas data dengan bantuan Sistem PKD, dan terakhir melakukan perbandingan hasil pengujian. V.1 Tujuan Pengujian Pengujian dilakukan untuk menguji apakah Sistem PKD dapat melakukan pengukuran kualitas data sesuai dengan teori yang telah dibahas pada bab-bab sebelumnya dan dapat menghasilkan suatu nilai kualitas data yang akurat.
Pengujian dilakukan terhadap suatu set data uji dengan urutan langkah sebagai berikut: 1. Menentukan data uji 2. Melakukan pengukuran kualitas data terhadap data uji secara manual untuk mendapatkan nilai kualitas data yang benar 3. Melakukan pengukuran kualitas data terhadap data uji dengan menggunakan perangkat lunak pengukuran kualitas data yang telah dikembangkan 4. Membandingkan hasil pengukuran kualitas data antara pengukuran secara manual dengan pengukuran dengan aplikasi dan menganalisis hasilnya. V.2 Data Uji Data uji yang akan digunakan untuk melakukan pengujian teori pengukuran kualitas data pada perangkat lunak Sistem PKD adalah sebuah tabel dengan empat kolom. Setiap kolom data akan diisi dengan 50 baris data ujicoba.
Tabel V-1. Tipe Data pada Tabel Data Uji No Nama Kolom Tipe Data Pada Kolom Keterangan 1 TestKolom1 VARCHAR Diujikan 2 TestKolom2 INTEGER Diujikan 3 TestKolom3 VARCHAR Tidak Diujikan 4 TestKolom4 DATE Diujikan
Tabel V-2. Tabel Data Uji
V-2 Id TestKolom1 TestKolom2 TestKolom3 TestKolom4 1 A 13503001 13503001 NULL 2 B 13503002 13503002 NULL 3 C 13503003 13503003 NULL 4 D 13503004 13503004 NULL 5 E 13503005 13503005 NULL 6 A 1350306 1350306 07/01/2009 0:00:00 7 B 1350307 1350307 07/01/2009 0:00:00 8 E 1350308 1350308 07/01/2009 0:00:00 9 C 1350309 1350309 07/01/2009 0:00:00 10 A 1350310 1350310 07/01/2009 0:00:00 11 NULL NULL NULL 07/01/2009 0:00:00 12 NULL NULL NULL 07/01/2009 0:00:00 13 NULL NULL NULL 07/01/2009 0:00:00 14 N NULL NULL 07/01/2009 0:00:00 15 O NULL NULL 07/01/2009 0:00:00 16 P 13503016 13503016A 31/12/2009 23:59:59 17 A 13503017 1350A3017 31/12/2009 23:59:59 18 B 13503018 A13503018 31/12/2009 23:59:59 19 C 13503019 A13503019A 31/12/2009 23:59:59 20 A 13503020 A135A03020 31/12/2009 23:59:59 21 D 13503021 1350A3021A 01/01/2010 0:11:00 22 E 13503022 BB13503022BB 01/01/2010 1:00:00 23 C 13503023 13503023BB 01/01/2010 0:00:11 24 E 13503024 BB13503024 01/01/2010 0:00:00 25 D 13503025 13503BB025 01/01/2010 0:00:00 26 E 13503026 BB1350BB3026BB 02/01/2010 1:00:00 27 D 13503027 1350BB3027BB 02/01/2010 2:00:00 28 A 13503028 BB1350BB3028 02/01/2010 0:00:00 29 C 13503029 A1350B3029C 02/01/2010 0:00:00 30 NULL 13503030 AA1350BB3030CC 02/01/2010 0:00:00 31 B NULL NULL 02/01/2010 0:00:00 32 NULL NULL NULL 02/01/2010 0:00:00 33 NULL NULL NULL 02/01/2010 0:00:00 34 NULL 13503034 Karakter 02/01/2010 0:00:00 35 NULL 13503035 Diantara 02/01/2010 0:00:00 36 A 13503036 Kegunaan 02/01/2010 0:00:00
Master data untuk kolom [TestKolom2] disimpan didalam DBMS Microsoft SQLServer 2005 pada basis data [MasterData], tabel [MasterTabel2]. V.3 Skenario Pengujian Skenario pengujian akan ditentukan untuk mempermudah proses pengujian perangkat lunak. Pada Tabel V-5, pengujian yang akan dilakukan terhadap setiap kolom data akan ditentukan.
Tabel V-5. Ketentuan Pengukuran Metrik Uji Tiap Kolom No Nama Kolom Metrik Yang Akan Diukur 1 TestKolom1 1. Uniqueness 2. Completeness - Nilai Null - Nilai Valid 3. Accuracy - Panjang - Jenis 4. Consistency 2 TestKolom2 1. Uniqueness 2. Completeness - Nilai Null 3. Accuracy - Panjang 4. Consistency
V-5 No Nama Kolom Metrik Yang Akan Diukur 4 TestKolom4 1. Completeness 2. Timeliness
V.4 Hasil Pengujian Manual Hasil pengujian manual terhadap data uji untuk metrik yang sudah dapat diukur adalah sebagai berikut: 1. Pengukuran Kualitas Data pada TestKolom1 a. Perhitungan Metrik Uniqueness Jumlah total data (T) adalah 50 data. Jumlah total data bernilai null adalah 10 data. Jumlah total data tidak Null (Tn) adalah 40 data. Jumlah total data unik (U) adalah 13 data. % 100 Tn U R % 5 , 32 % 100 40 13 R
b. Perhitungan Metrik Completeness Jumlah total data (T) adalah 50 baris data. Jumlah data bernilai null (C1) adalah 10 data Data yang dianggap tidak valid adalah data yang bernilai D. Jumlah total data tidak valid (C2) adalah 4 data. Persentase data lengkap untuk data bernilai NULL adalah: % 100 1 % 100 T C R % 80 % 100 50 10 % 100 R Persentase data lengkap untuk data bernilai 0 adalah: % 100 2 % 100 T C R % 92 % 100 50 4 % 100 R c. Perhitungan Metrik Accuracy Jumlah total data tidak Null (Tn) adalah 40 data.
V-6 Data yang dianggap akurat adalah data yang memiliki panjang 1. Jumlah total data yang memiliki panjang yang tidak akurat (A1) adalah 5 data. Tipe data yang dianggap akurat adalah data yang memiliki tipe data Alfabet Jumlah total data yang memiliki tipe data yang tidak akurat (A2) adalah 10 data
Persentase data yang memiliki panjang data akurat adalah: % 100 1 % 100 Tn A R % 5 , 87 % 100 40 5 % 100 R Persentase data yang memiliki tipe data yang tidak akurat adalah: % 100 2 % 100 Tn A R % 75 % 100 40 10 % 100 R d. Perhitungan Metrik Consistency Jumlah total data tidak Null (Tn) adalah 40 data. Jumlah total data yang tidak ada di master data sehingga tidak konsisten adalah 19 data. Persentase data yang konsisten adalah: % 100 % 100 Tn CT R % 5 , 52 % 100 40 19 % 100 R Resume hasil pengukuran kualitas data untuk TestKolom1 dapat dilihat pada Tabel V-6.
Tabel V-6. Hasil Pengujian Manual TestKolom1 Metrik Persentase Kualitas Data Uniqueness 32,5% Completeness Pengecekan Null 80% Pengecekan Nilai Tidak Lengkap 92% Accuracy Pengecekan Panjang 87,5% Pengecekan Tipe Data 75% Consistency 52,5%
V-7 2. Pengukuran Kualitas Data pada TestKolom2 a. Perhitungan Metrik Uniqueness Jumlah total data (T) adalah 50 data. Jumlah total data bernilai null adalah 8 data. Jumlah total data tidak Null (Tn) adalah 42 data. Jumlah total data unik (U) adalah 40 data. % 100 Tn U R % 23 , 95 % 100 42 40 R
b. Perhitungan Metrik Completeness Jumlah total data (T) adalah 50 baris data. Jumlah data bernilai null (C1) adalah 8 data Persentase data lengkap untuk data bernilai NULL adalah: % 100 1 % 100 T C R % 84 % 100 50 8 % 100 R c. Perhitungan Metrik Accuracy Jumlah total data tidak Null (Tn) adalah 42 data. Data yang dianggap akurat adalah data yang memiliki panjang 8. Jumlah total data yang memiliki panjang yang akurat (A1) adalah 8 data.
Persentase data yang memiliki panjang data akurat adalah: % 100 1 % 100 Tn A R % 95 , 80 % 100 42 8 % 100 R d. Perhitungan Metrik Consistency Jumlah total data tidak Null (Tn) adalah 42 data. Jumlah total data yang tidak ada di master data sehingga tidak konsisten adalah 22 data.
V-8 Persentase data yang konsisten adalah: % 100 % 100 Tn CT R % 61 , 47 % 100 42 22 % 100 R
Resume hasil pengukuran kualitas data untuk TestKolom2 dapat dilihat pada Tabel V-7.
Tabel V-7. Hasil Pengujian Manual TestKolom2 Metrik Persentase Kualitas Data Uniqueness 95,23% Completeness Pengecekan Null 84% Accuracy Pengecekan Panjang 80,95% Consistency 47,61%
3. Pengukuran Kualitas Data pada TestKolom4 a. Perhitungan Metrik Completeness Jumlah total data (T) adalah 50 baris data. Jumlah data bernilai null (C1) adalah 5 data Persentase data lengkap untuk data bernilai NULL adalah: % 100 1 % 100 T C R % 90 % 100 50 5 % 100 R b. Perhitungan Metrik Timeliness Jumlah total data tidak Null (Tn) adalah 45 data. Data yang dianggap akurat adalah data yang memiliki tanggal lebih atau sama dengan tanggal 01-01-2010. Jumlah total data yang memiliki tanggal yang tidak terbarui (Tm) adalah 15 data.
Persentase data yang memiliki panjang data akurat adalah: % 100 % 100 Tn Tm R % 66 , 66 % 100 45 15 % 100 R
V-9 Resume pengukuran kualitas data untuk TestKolom4 dapat dilihat pada Tabel V-8.
Tabel V-8. Hasil Pengujian Manual TestKolom4 Metrik Persentase Kualitas Data Completeness Pengecekan Null 90% Timeliness 66,66%
V.5 Hasil Pengujian Oleh Sistem PKD Hasil pengujian oleh Sistem PKD terhadap data uji untuk metrik yang sudah dapat diukur adalah sebagai berikut: 1. Setting metrik untuk TestKolom1 pada Sistem PKD
Gambar V-1. Setting Metrik Pengukuran Kualitas Data untuk TestKolom1
V-10 2. Setting metrik untuk TestKolom2 pada Sistem PKD
Gambar V-2. Setting Metrik Pengukuran Kualitas Data untuk TestKolom2
3. Setting metrik untuk TestKolom4 pada Sistem PKD
Gambar V-3. Setting Metrik Pengukuran Kualitas Data untuk TestKolom4
V-11 Dan hasil pengukuran data untuk TestKolom1, TestKolom2, TestKolom4 dapat dilihat pada Gambar V-4:
Gambar V-4. Laporan Hasil Pengukuran Kualitas Data Oleh Sistem PKD
V-12 V.6 Perbandingan Hasil Pengujian Perbandingan hasil pengujian manual terhadap pengujian oleh perangkat lunak adalah sebagai berikut: Tabel V-9. Perbandingan Hasil Pengujian TestKolom1 Metrik Manual Sistem PKD Uniqueness 32,5% 32,5% Completeness Pengecekan Null 80% 80% Pengecekan Nilai Tidak Lengkap 92% 92% Accuracy Pengecekan Panjang 87,5% 87,5% Pengecekan Tipe Data 75% 75% Consistency 52,5% 52,5%
Tabel V-10. Perbandingan Hasil Pengujian TestKolom2 Metrik Manual Sistem PKD Uniqueness 95,23% 95,23% Completeness Pengecekan Null 84% 84% Accuracy Pengecekan Panjang 80,95% 80,95% Consistency 47, 61% 47,61%
Tabel V-11. Perbandingan Hasil Pengujian TestKolom4 Metrik Manual Sistem PKD Completeness Pengecekan Null 90% 90% Timeliness 66,66% 66,66%
Dapat dilihat dari beberapa tabel perbandingan hasil pengujian bahwa pengukuran metrik data dengan cara manual dan dengan bantuan Sistem PKD sudah menghasilkan nilai yang sama.
Dengan demikian dapat disimpulkan bahwa Sistem PKD telah mampu melakukan pengukuran kualitas data sesuai dengan teori yang berlaku.
VI-1 BAB VI. PENUTUP Bab VI berisi kesimpulan yang diperoleh selama proses pelaksanaan tugas akhir, serta saran pengembangan dari hasil tugas akhir. VI.1 Kesimpulan Kesimpulan yang didapat dari pengukuran kualitas data dengan menggunakan metrik-metrik kualitas data adalah sebagai berikut: 1. Otomasi pengukuran kualitas data dengan menggunakan metrik-metrik kualitas data, khususnya untuk data yang tersimpan pada basis data relasional, adalah dengan cara melakukan perhitungan dengan menggunakan query pada basis data dibantu dengan menggunakan perangkat lunak yang berfungsi untuk menyimpan aturan-aturan pengukuran metrik dan untuk menyimpan hasil pengukuran metrik. 2. Sistem PKD telah dikembangkan untuk melakukan pengukuran kualitas data dengan menggunakan metrik-metrik kualitas data. Sistem PKD telah dapat mengukur lima metrik kualitas data yaitu metrik uniqueness, completeness, accuracy, timeliness, consistency. Akan tetapi Sistem PKD belum dapat melakukan pengukuran pola data untuk metrik accuracy dan belum dapat melakukan pengukuran metrik consistency dengan cara membandingkan suatu data dengan data masukan pengguna. 3. Sistem PKD telah dikembangkan untuk melakukan pengukuran kualitas data pada tingkat kolom data. Pengukuran kualitas data pada tingkat tabel data dan basis data belum dibahas dengan mendalam dan belum dapat dilakukan oleh aplikasi.
Sistem PKD akan diletakkan sebagai perangkat lunak open source di suatu tempat sehingga dapat dimanfaatkan dan dikembangkan lebih lanjut oleh pihak-pihak yang lain. VI.2 Saran Dalam pengembangan perangkat lunak pengukuran kualitas data, ada beberapa hal yang perlu dipertimbangkan: 1. Sistem PKD disarankan untuk menerapkan seluruh metrik-metrik kualitas data yang belum dapat diukur. Semakin banyak metrik yang dapat diukur oleh suatu aplikasi dan semakin banyak cara pengukurannya, maka semakin baik pula aplikasi tersebut. 2. Sistem PKD juga harus dapat melakukan pengukuran data dalam berbagai tingkat yaitu pada tingkat tabel dan tingkat basis data.
ix DAFTAR REFERENSI [BLI10] Blinn, Charles R., Lloyd P. Queen, Les W. Maki. 2010. Geographic Information Systems: A Glossary. Regents of the University of Minnesota. [DIJ08] Dijcks, Jean-Pierre. 2008. Best Practices for a Data Quality Process with OWB. Oracle. [INF07] Informatica. 2007. White Paper : Making Data Work - Addressing Data quality at the Enterprise Level. Informatica. [IBM07] IBM. 2007. IBM WebSphere Information Analyzer and Data Quality Assessment. IBM. [GBC10] The Government of British Columbia. 2010. BC Government Information Resource Management Glossary. The Government of British Columbia. [MDP10] The Massachusetts Department of Environtmental Protection. 2010. Glossary of Quality Assurance Terminology. The Massachusetts Departement of Environtmental Protection. [MIK02] Rindler, Andreas. 2010. Data Governance Metrics. Method for an Integrated Knowledge Environment (MIKE2.0), (http://mike2.openmethodology.org/) [SCA05] Scannapieca, Monica. 2005. Introduction to Data Quality. Department of Computer Engineering, Universita di Roma La Sapienza. [MSDN1] MSDN. 2010. SQL Server Integration Services. <URL: http://msdn.microsoft.com/en-us/library/ms141026.aspx >. Diakses pada tanggal 30 September 2010.
x DAFTAR PUSTAKA [BUS04] Business Objects. 2004. BusinessObjects Data Cleansing. Business Objects. [CAN05] Canadian Institute of Health Information. 2005. The CIHI Data Quality Framework. Canadian Institute for Health Information. [SCA06] Scannapieca, Monica, Carlo Batini. 2006. Data Quality Concept, Methodology, and Technique. Springer. [PIP02] Pipino, Lee L., Yang W. Lee, Richard Y. Wang. 2002. Data Quality Assessment. ACM [PIP06] Pipino, Lee L, Yang W. Lee, Richard Y. Wang, James D. Funk. 2006. Journey to Data Quality. Massachusetts Institute of Technology