BAB V IMPLEMENTASI RANCANGAN BASISDATA Setelah tahap perancangan, pada Bab 5 ini diuraikan proses implementasi hasil rancangan tersebut ke dalam lingkungan DBMS yaitu MySQL 5.0. Tahap implementasi ini meliputi proses konversi dan migrasi data serta pengujian data hasil migrasi data Simak ke Facis.
Adapun tahapan-tahapan yang dilakukan dalam proses implementasi rancangan basisdata, yaitu: 1. Implementasi diagram fisik yang diperoleh dari hasil restrukturisasi data. 2. Migrasi data; tahap ini merupakan tahap pemindahan data Simak yang ada ke dalam lingkungan DBMS Facis. Pada tahap pengujian basisdata, dilakukan pengujian terhadap basisdata yang baru dengan menggunakan data lama yang telah dipindahkan. Pengujian ini bertujuan untuk melihat apakah data yang telah dipindahkan dapat menghasilkan keluaran yang sesuai dengan kebutuhan dan tidak mengubah data yang dihasilkan di Simak.
V.1
Implementasi Basisdata ke Lingkungan DBMS
Setelah restrukturisasi dilakukan dan menghasilkan rancangan diagram fisik Facis, maka tahapan selanjutnya adalah implementasi rancangan basisdata Facis ke dalam lingkungan DMBS MySQL 5.0. Adapun langkah-langkah yang dilakukan untuk implementasi tersebut adalah sebagai berikut: 1. Buat script SQL yang dapat dimengerti oleh bahasa yang digunakan di lingkungan MySQL 5.0 dengan memuat beberapa perintah untuk: -
membuat semua tabel yang telah dirancang di diagram fisik Facis;
-
membuat relasi antar tabel terkait seperti yang terlihat di diagram fisik Facis.
(script secara keseluruhan dapat dilihat di Lampiran G)
63
2. Sebelum script tersebut dieksekusi, maka terlebih dahulu dibuat skema atau basidata baru (new scheme) di dalam MySQL tersebut. 3. Setelah skema dibuat, maka script tersebut dapat langsung dieksekusi. 4. Untuk memeriksa apakah semua tabel telah terbentuk dengan relasi yang sesuai dapat dilakukan dengan menggunakan perintah: SHOW TABLES; DESC namaTabel;
V.2
Migrasi Data
Pada Bab 2 telah diuraikan bagaimana strategi dan metodologi untuk melakukan migrasi data. Migrasi data dapat dilakukan dengan menggunakan sebuah converter. Converter yang akan digunakan rencananya adalah dengan menggunakan software migration tools yang merupakan produk opensource dari MySQL. Pada saat memindahkan data dari Simak ke Facis dengan menggunakan migration tools tersebut, ada beberapa tahapan yang harus dilakukan, yaitu: 1. Instalasi program MySQL Migration Tools. 2. Pindahkan tabel-tabel Simak (file dbf) ke dalam DBMS Microsoft Access. 3. Migrasi tabel-tabel di Microsoft Access ke MySQL dengan struktur data yang belum direstrukturisasi. 4. Memindahkan data ke Facis dengan menggunakan query-query tertentu sehingga konsistensi data yang dipindahkan masih dapat terjaga. Banyaknya tahapan yang harus dilakukan seperti yang tersebut di atas menyebabkan proses migrasi dengan menggunakan software tersebut akan memakan waktu yang cukup lama, sehingga dengan pertimbangan waktu akhirnya diputuskan untuk membangun sendiri program untuk migrasi data tersebut.
Beberapa alasan mengapa migration tool nya harus dibangun sendiri, antara lain: 1. Migration tools yang dikeluarkan oleh MySQL tidak sepenuhnya memuaskan, karena cara penggunaan yang sedikit rumit dan hasil diperoleh juga belum sesuai dengan kasus yang ditangani.
64
2. Data yang akan dipindahkan nantinya akan sangat banyak sehingga membutuhkan proses yang lebih singkat, terutama untuk kasus migrasi Simak ke Facis. 3. Bentuk dan hasil yang dihasilkan sesuai dengan kebutuhan pemakai.
Program migrasi data dibuat hanya berlaku untuk kasus di Simak Fasilkom saja dengan melihat pada karakteristik yang ada di basisdata Simak. Program ini dibuat dengan Bahasa C++
menggunakan Borland C++ Builder 6. Adapun
fungsionalitas yang ada dibuat program ini adalah: 1. Migrasi data master, yaitu data Dosen, Mahasiswa dan Matakuliah. 2. Migrasi data transaksi, yaitu data KRS, KHS dan Transkrip.
Gambar V-1 Program migrasi data
Dengan menggunakan metode yang telah diuraikan di Bab 2, maka proses migrasi data dilakukan dengan 3 tahapan, yaitu: 1. Implementasi diagram fisik Facis ke lingkungan DBMS MySQL 5.0. 2. Pemetaan skema Simak ke dalam skema Facis. Proses ini dilakukan di dalam migration tools yang telah dibuat. 3. Pemetaan data dari Simak ke dalam Facis.
65
Untuk memindahkan data yang ada Simak ke DMBS Facis, sebelumnya akan dimasukkan (insert) terlebih dahulu nilai-nilai yang ada di tabel referensi. Tabeltabel tersebut adalah: -
tabel Fakultas;
-
tabel Jurusan;
-
tabel RoleID; dan
-
tabel NilaiHuruf.
Pengisian nilai-nilai tabel referensi dilalukan dengan menggunakan script SQL (Lampiran F). Hal ini dilakukan karena beberapa tabel di Facis merujuk pada tabel referensi tertentu, dimana dengan menggunakan MySQL 5.0 tabel rujukan harus terlebih berisi nilai-nilai yang akan dirujuk (foreign key constraint).
Pada saat proses pemindahan data Simak ke Facis, dijumpai beberapa masalah antara lain: 1. Kolom KodeKomputer yang terdapat di tabel matakuliah terdapat nilai yang sama, misalkan matakuliah dengan KodeKomputer 111 untuk matakuliah Bahasa Inggris. Matakuliah dengan KodeKomputer ini terdapat di beberapa jurusan, sehingga sebagai solusinya adalah penambahan kolom KodeJurusan pada tabel matakuliah di Facis. Karena jurusan menjadi pembeda antara tiaptiap kode komputer, maka KodeJurusan akan dijadikan primary key kedua di tabel matakuliah Facis. Alasan lain karena ada aturan bahwa mahasiswa dapat mengambil beberapa matakuliah di jurusan lain. Tabel Matakuliah KodeKomputer
KodeMataKuliah
KodeJurusan
NamaMataKuliah
SKS
SemesterKe
Trade off dari penambahan primary key tersebut adalah perubahan pada struktur tabel yang terkait dengan tabel Matakuliah tersebut. Tabel-tabel yang terjadi perubahan adalah: Tabel MKPrasyarat KodeKomputer
KodeJurusanMK
Prasyarat
KodeJurusanPS
Tabel KRS TahunAkademik
Semester
NIM
KodeKomputer
66
KodeJurusan
StatusAmbil
Tabel KHS TahunAkademik
Semester
NIM
KodeKomputer
KodeJurusan
NilaiHuruf
NilaiKumulatif
2. Saat melakukan migrasi data dari Simak ke Facis dengan menggunakan migration tools ini, ditemukan data dengan nilai yang berbeda dalam satu kolom, sehingga, misalnya: Pada pengisian TanggalLulus di tabel Transkrip, terdapat kata NOPEMBER dan NOVEMBER, padahal di dalam program tersebut hanya ditangani dengan kata NOVEMBER. Maka untuk masalah ini hasil migrasi data yang menghasilkan kata NOPEMBER akan dikoreksi menjadi ‘NOVEMBER’. Dengan demikian kolom TanggalLulus dapat diubah semua dengan format yang telah ditentukan di Facis (format date, Lampiran F). Pada tesis ini, data yang dipindahkan adalah semua data dari tahun 2003 s.d 2006, dengan jurusan: 1. Teknik Komputer (10803) 2. Manajemen Informatika (10804) 3. Komputerisasi Akuntansi (10805)
V.3
Pengujian Basisdata
Tahapan terakhir adalah tahapan pengujian data yang telah dipindahkan dari basisdata Simak ke basisdata Facis. Pengujian ini bertujuan untuk melihat apakah konsistensi data yang telah dipindahkan dapat dijaga dan digunakan di Facis. Metode pengujian yang digunakan adalah Black Box Testing.
Sebelum pengujian dilakukan harus dipastikan semua data yang di Simak telah dipindahkan ke Facis beserta data tabel referensinya. Skenario-skenario pengujian yang akan dilakukan yaitu: 1. Pengujian data master Mahasiswa. 2. Pengujian data transaksi KRS a. Pengujian data KRS mahasiswa b. Pengujian data StatusKRS mahasiswa 67
3. Pengujian data transaksi KHS a. Pengujian data KHS mahasiswa b. Pengujian IP Semester mahasiswa 4. Pengujian data Transkrip a. Pengujian Daftar Kumpulan Nilai (DKN) mahasiswa b. Pengujian Transkrip Nilai Akhir (TNA) mahasiswa c. Pengujian Data informasi Transkrip Nilai Akhir (TNA) mahasiswa (skenario dan hasil pengujian keseluruhan dapat dilihat di Lampiran G).
Pada Pengujian 4.3 dengan skenario menampilkan informasi mengenai transkrip mahasiswa fakultas ’09::Ilmu Komputer’, jurusan ‘10805::Komputerisasi Akuntansi’, dapat dipastikan apakah data yang telah dipindahkan masih tetap terjaga dan dapat digunakan di Facis seperti yang terlihat pada perbandingan nilai IPK yang ada di Simak dengan nilai IPK yang dihasilkan di Facis pada Gambar V-2. Dari hasil pengujian yang
dilakukan tersebut maka dapat dinilai bahwa: 1. Data yang telah dipindahkan dari basisdata di Simak ke dalam basisdata Facis masih tetap dapat digunakan sehingga kualitas data tetap terjaga dan dapat memenuhi semua permintaan keluaran yang diharapkan; 2. Dengan struktur data yang lebih baik, proses pengambilan data dapat dilakukan dengan menggunakan query yang lebih tepat sehingga kode program dapat lebih diefisienkan programnya;
Gambar V-2 Perbandingan IPK Simak dan IPK Facis
68
3. Beberapa bentuk report yang diperlukan dapat disajikan dan ditampilkan dengan menggunakan query saja, sehingga jumlah tabel yang terbentuk dapat dikurangi dengan tidak mempengaruhi kebutuhan pengguna.
V.4
Evaluasi Perbandingan Antara Simak dan Facis
Setelah semua tahapan restrukturisasi dilakukan, Tabel V-1 memberikan evaluasi perbandingan antara Simak dan Facis. Tabel V-1 Perbandingan Simak dan Facis
No
Kategori
Simak
Facis
1
MultiUser
Tidak
Ya
2
Tingkat Keamanan
Rendah
Tinggi
3
Maintenability
Rendah
Tinggi
4
Konkurensi
Tidak
Ya
5
Redundansi data
Ya
Tidak
6
Integritas Data
Ya
Tidak
7
Performansi
Lebih Lambat
Cepat
Berikut ini adalah analisa dan pembuktian bahwa data hasil restrukturisasi (Facis) lebih baik dari data sebelumnya (Simak) berdasarkan kategori di Tabel V-1, adalah: 1. Simak dibangun dengan basisdata yang berbasiskan file (file based) yang tidak menyediakan fasilitas pemakaian multiuser. Sedangkan Facis dibangun dengan basisdata relasional dengan lingkungan DBMS MySQL.50 yang menyediakan fasilitas pemakaian multiuser. 2. Dengan berbasiskan file, basisdata di Simak tidak memberikan jaminan keamanan yang tinggi, akibatnya tingkat keamanan data harus diberikan dari
eksternal
sistem,
seperti
keamanan
jaringan
dan
program
pendukungnya. Sedangkan basisdata di Facis menggunakan DBMS relasional MySQL, yang memberikan fasilitas tingkat keamanan yang tinggi dan pengaturan akses data untuk beberapa user tertentu. 3. Dengan menggunakan kaidah relasional dan terstruktur, Facis memberikan kemudahan lebih terhadap perubahan yang akan terjadi di masa yang akan
69
datang dibandingkan dengan Simak (Fleksibilitas). Sebagai contoh penambahan tabel atau atribut jika ada penambahan fitur baru di sistem. 4. Basisdata Facis dengan dukungan MySQL memberikan fasilitas permintaan data dari banyak pengguna dalam waktu yang bersamaan, sedangkan Simak dengan basisdata file tidak dapat memberikan fasilitas ini karena keterbatasan sistem basisdata tersebut. 5. Dengan menggunakan kaidah basisdata relasional, maka data yang redundan dapat dihilangkan, sedangkan di Simak masih banyak ditemukan data yang redundan seperti yang telah dibahas di bab sebelumnya. 6. Integritas data, yaitu informasi yang ada di struktur data yang baru dapat dijaga kekonsekuenannya, misalnya informasi Nama Mahasiswa yang hanya ada di tabel Mahasiswa tidak ada di tabel lain.
Gambar V-3. Performance Testing Tools
7. Dari hasil observasi dengan menggunakan program PerformTestingTools, ada nilai tambah yang didapat yaitu dari sisi performansi kecepatan, Facis lebih cepat daripada Simak, seperti yang telah dibuktikan di program tersebut yang terlihat pada Gambar V-3. Program tersebut menguji 70
kecepatan pengambilan informasi Transkrip dan IPK untuk mahasiswa Teknik Komputer. Diperoleh waktu proses query pada Simak sebesar 750 milidetik sedangkan Facis sebesar 203 milidetik. Hal ini dikarenakan MySQL yang menggunakan metode pencarian berdasarkan indeks yang disimpan terpisah (algoritma BTree)[11], sedangkan Simak menggunakan bentuk File Based (dbf) yang menerapkan metode pencarian flat file dimana tiap-tiap baris diurutkan sesuai dengan pemasukan data sebelumnya [12]. SQL yang digunakan untuk pengujian performansi, yaitu: SQL Simak: SELECT * FROM 'd:\mfachrz\My Documents\Tesis\Simak\DataTranskrip\transkrip_TK2003.dbf';
SQL Facis: SELECT dd.KodeFakultas, ee.KodeJurusan, Total.NIM, cc.NamaMahasiswa, SUM(Total.sks) AS JumlahSKS, SUM(Total.NilaiKumulatif) AS TotalNK,(SUM(Total.NilaiKumulatif)/SUM(Total.sks)) AS IPK, bb.TanggalYudisium, bb.JudulTA,bb.Predikat, bb.NomorIjazah, bb.TanggalLulus, bb.BidangIlmu FROM (SELECT a.NIM,a.KodeKomputer, a.KodeJurusan, b.sks, MIN(a.NilaiHuruf) as NilaiHuruf, a.NilaiKumulatif FROM khs a, MataKuliah b WHERE a.KodeKomputer = b.KodeKomputer and a.KodeJurusan = b.KodeJurusan GROUP BY a.NIM,a.KodeKomputer,a.KodeJurusan ) AS Total, transkrip bb, mahasiswa cc, fakultas dd, jurusan ee WHERE Total.NIM = bb.NIM AND Total.NIM = cc.NIM AND Total.KodeJurusan = ee.KodeJurusan AND ee.KodeFakultas = dd.KodeFakultas AND Total.KodeJurusan = '10803' GROUP BY Total.nim;
Beberapa kendala yang ditemukan pada saat melakukan restrukturisasi data, yaitu: 1. Dokumentasi yang buruk dari Simak menyebabkan sulitnya melakukan restrukturisasi, sehingga perlu dilakukan pembacaan program dan data secara manual. 2. Migration tools yang tidak sepenuhnya mengakomodasi kebutuhan restrukturisasi Simak yang menyebabkan perlu dilakukan beberapa
71
langkah dalam melakukan restrukturisasi data, sehingga akhirnya program migration tools perlu dibangun sendiri. 3. Ketidakkonsistenan data terutama pada kolom yang berisi penanggalan, misalnya kata NOPEMBER dengan NOVEMBER, sehingga akhirnya program migration tools harus menangani hal tersebut.
72