BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Implementasi 4.1.1 Spesifikasi Sistem Untuk menjalankan alat bantu normalisasi ini dibutuhkan sarana perangkat keras dan piranti lunak sebagai berikut : Spesifikasi perangkat keras a. Prosesor Intel Pentium 2,4 GHz. b. Memori DDR RAM 512 MB. c. Monitor 17 dengan resolusi layar minimal 1024 x 768. d. Hard Disk Maxtor 7200 rpm 80 GB. Spesifikasi piranti lunak Spesifikasi piranti lunak dibedakan menjadi piranti lunak yang diperlukan dalam pengembangan aplikasi dan piranti lunak yang diperlukan untuk menjalankan program. Piranti lunak yang diperlukan waktu pengembangan aplikasi antara lain: Sistem Operasi XP Professional, Visual Basic 6.0 dan Microsoft Access XP. Piranti lunak dan komponen-komponen yang diperlukan untuk menjalankan aplikasi ini antara lain : OCX AddFlow4, OCX ssdw3bo, OCX MSADODC, Sistem Operasi 9x, 2000/NT/XP dan Sheridan Data Widgets. 98
99 4.1.2 Tata Cara Penggunaan Penjelasan mengenai cara dan langkah-langkah yang harus dilakukan user dalam menggunakan Database Normalization Tool ini adalah sebagai berikut: 4.1.2.1 Layar Menu Utama Layar Menu Utama merupakan layar yang pertama kali ditampilkan pada saat user menjalankan Database Normalization Tool ini. Layar ini terdiri atas dua pilihan menu yaitu menu File dan menu Help. Gambar 4.1 Layar Menu Utama
100 4.1.2.2 Layar Menu File Layar ini tampil pada saat user memilih menu File yang terdiri atas empat menu drop-down yaitu New Project, Open Project, Close Project dan exit. Menu New Project digunakan untuk membuat proyek baru. Menu Open Project untuk membuka proyek yang sudah ada sebelumnya. Tree view akan ditampilkan di sebelah kiri layar saat user memilih New Project atau Open Project. Menu Close Project untuk menutup proyek yang sedang dibuka tanpa keluar dari program dan menu Exit untuk keluar dari program. Gambar 4.2 Layar Menu File
101 4.1.2.3 Layar Menu Help Layar ini tampil pada saat user memilih menu Help yang terdiri atas dua menu drop-down yaitu Help F1 dan About. Menu Help F1 berisi user guidance untuk dibaca user apabila mengalami kesulitan dalam menggunakan program ini. Menu About berisi informasi tentang penulis. Gambar 4.3 Layar Menu Help
102 4.1.2.4 Layar Open Project Layar Open Project akan ditampilkan jika user memilih menu File Open Project. User dapat memilih proyek mana yang akan dibuka dari proyek-proyek yang pernah dibuat sebelumnya. Selain itu user juga dapat menghapus proyek dengan menekan tombol Delete. Gambar 4.4 Layar Open Project
103 4.1.2.5 Layar Create Project Layar Create Project menampilkan beberapa textbox yang harus diisi oleh user untuk membuat proyek baru, antara lain Project Name, Project Description dan Project Author. Project ID dan Project Date secara otomatis telah diisi oleh sistem. Jika textbox sudah diisi, user bisa menekan tombol OK untuk melakukan proses selanjutnya, atau menekan tombol Cancel untuk membatalkan. Gambar 4.5 Layar Create Project
104 4.1.2.6 Layar Input Table Layar Input Table menampilkan dua pilihan masukan data bagi user yaitu import data untuk mengambil data dari disk dan input table manually untuk membuat tabel secara manual. User menekan tombol OK jika sudah memilih salah satu pilihan tersebut dan menekan tombol Cancel untuk membatalkan proses input tabel. Gambar 4.6 Layar Input Table
105 4.1.2.7 Layar Import Table Layar ini ditampilkan jika user memilih menu import table pada layar input table sebelumnya. Pada layar ini user harus memilih jenis sumber data yang ingin digunakan, yang dalam program ini dibatasi pada Ms Access dan SQL Server. Selain itu user juga harus mengisi nama basis data yang ingin digunakan dengan memilih tombol browse pada program. Jika basis data yang digunakan mempunyai proteksi maka user harus mengisi user name dan password. Gambar 4.7 Layar Import Table
106 4.1.2.8 Layar Create Table Layar ini ditampilkan jika user memilih menu Input Table Manually pada layar Input Table sebelumnya. Untuk membuat tabel baru user harus mengisi nama tabel (Table Name) dan jumlah kolom (Number of Fields), selanjutnya menekan tombol OK. Setelah tombol OK ditekan maka akan ditampilkan field-field berupa text box untuk mengisi nama kolom dan combo box untuk memilih tipe data yang digunakan. Jika jumlah kolom lebih dari 10 maka user perlu menekan tombol Next Fields untuk melakukan pengisian nama kolom dan tipe data berikutnya dan untuk melihat data yang telah diisi sebelumnya user dapat menekan tombol Prev Fields. Gambar 4.8 Layar Create Table
107 4.1.2.9 Layar Input Data Jika tombol Next Step dari layar Create Table ditekan maka layar Input Data akan ditampilkan, seperti yang terlihat pada gambar 4.9. Layar Input Data digunakan untuk mengisi data-data pada tabel yang baru dibuat. Tekan tombol Next Step pada layar Input Data untuk melakukan proses analisis data pencarian candidate key. Gambar 4.9 Layar Input Data
108 4.1.2.10 Layar Primary Key Layar Primary Key akan menampilkan hasil analisis berupa Candidate Key. Untuk mendapatkan hasil analisis tersebut, mula-mula user harus memasukkan jumlah minimum dan maksimum field kombinasi candidate key yang diinginkan, jika tidak secara default sistem akan mengambil nilai satu untuk jumlah minimum dan maksimum kombinasi. Setelah tekan tombol Analyze, akan ditampilkan lamanya waktu pencarian candidate key dan jumlah candidate key yang berhasil ditemukan serta menampilkan candidate candidate key tersebut dalam list box untuk dipilih user. Secara default sistem telah menentukan candidate key mana yang akan dijadikan primary key sehingga proses tetap bisa dilanjutkan jika user tidak melakukan pilihan. Tombol Next Step untuk proses selanjutnya. Gambar 4.10 Layar Primary Key
109 4.1.2.11 Layar Functional Dependency Layar ini akan menampilkan hasil analisis berupa functional dependency jika user menekan tombol Analyze. Selain itu, juga ditampilkan waktu yang diperlukan untuk melakukan analisis tersebut. User harus memilih ketergantungan fungsional untuk masing-masing dependent pada tiap tab. Secara default sistem sudah menentukan ketergantungan fungsional mana untuk tiap dependent sehingga proses analisis tetap bisa dilanjutkan jika user tidak melakukan pilihan. User dapat memilih jenis normalisasi antara dekomposisi atau sintesis. Tekan tombol Next Step untuk proses selanjutnya. Gambar 4.11 Layar Functional Dependency
110 4.1.2.12 Layar Normal Form pada Dekomposisi Layar ini menampilkan bentuk normal pertama, kedua dan ketiga sesuai hasil analisis. Selain itu user juga dapat melihat bentuk normal yang diinginkan dengan memilih Tab atau Tree View. Untuk melihat masing-masing tabel pada tiap bentuk normal, user bisa memilih tabelnya di combo box entity. Gambar 4.12 Layar Normal Form pada Dekomposisi
111 4.1.2.13 Layar Normal Form pada Sintesis Layar ini menampilkan bentuk normal pertama, dan ketiga sesuai dengan hasil analisis. Selain itu user juga dapat melihat bentuk normal yang diinginkan dengan memilih Tab atau Tree View. Untuk melihat masing-masing tabel pada tiap bentuk normal, user bisa memilih tabelnya di combo box entity. Gambar 4.13 Layar Normal Form pada Sintesis
112 4.1.2.14 Layar Create ERD Layar ini menampilkan diagram hubungan antar entiti (tabel) yang sudah normal. Diagram ini secara otomatis telah dibuat oleh sistem. Gambar 4.14 Layar Create ERD
113 4.1.2.15 Layar Menu SQL Code Layar ini akan menampilkan kode SQL untuk membuat tabel-tabel yang sudah normal. Kode SQL tersebut bisa disimpan dalam basis data dengan menekan tombol Save. Tombol Close Project untuk menutup proyek dan layar akan kembali ke layar utama. Gambar 4.15 Layar SQL Code
114 4.2 Evaluasi Setelah perancangan sistem diimplementasikan maka dilakukan evaluasi output dari hasil implementasi dan evaluasi hasil dari pengujian-pengujian yang dilakukan. 4.2.1 Evaluasi Output fungsional. Output yang dievaluasi adalah output Primary Key dan output ketergantungan 4.2.1.1 Output Primary Key Maksimal jumlah primary key yang akan dihasilkan dari tabel yang terdiri dari n field dengan kombinasi primary key m field, dimana 0 < m n adalah t ( m, n) = C n m = n! m! (n-m)! Untuk semua m dalam 0 < m n, maka: T({1,2,.. n }, n) = t( m, n) = n m= 1 n n m= 1 C m = 2 n 1, hasil penurunan dari segitiga Pascal. Untuk sebagian m dalam himpunan S dengan 0 < m n, maka jumlah maksimal primary key yang dihasilkan adalah S S T( S, n) = t( si, n) = n C S, dengan si S,1 i i i= 1 i= 1 S 4.2.1.2 Output Functional Dependency Maksimal jumlah ketergantungan fungsional untuk setiap dependent yang dapat dihasilkan dari tabel dengan n buah field dan m buah field primary key adalah total dari kombinasi dengan jumlah determinant sebanyak satu field hingga m field. Untuk m = 1
maka jumlah maksimal ketergantungan ( 1) maka jumlah maksimal ketergantungan K ( m) adalah K ( m) = K( 1) = n 1+ 115 K adalah n 1, sedangkan untuk m > 1, + m m i= 2 m m i= 2 C C i i 4.2.2 Evaluasi Hasil Pengujian Evaluasi hasil pengujian dilakukan untuk mengetahui pengaruh field terhadap waktu yang diperlukan untuk mencari candidate key dan ketergantungan fungsional, baik dengan data maupun tanpa data. Pengujian dilakukan untuk mendapatkan pengaruh variasi kombinasi terhadap waktu analisis candidate key dan jumlah primary key terhadap waktu pencarian ketergantungan fungsional. Pengujian juga dilakukan untuk mengetahui pengaruh jumlah field, record, primary key, dan ketergantungan fungsional terhadap waktu yang diperlukan untuk menjadi bentuk normal ketiga pada masingmasing algoritma. Selain itu, juga akan dievaluasi pemenuhan aplikasi terhadap kebutuhan sistem. Spesifikasi perangkat keras (hardware) dan piranti lunak (software) yang digunakan saat melakukan evaluasi sama seperti spesifikasi yang didefinisikan pada subbab 4.1.1.
116 4.2.2.1 Evaluasi Pengujian Candidate Key Evaluasi pengaruh jumlah field terhadap waktu pencarian candidate key Dalam pengujian ini sampel yang diambil adalah field, dengan jumlah sampel sebanyak sembilan belas, dimulai dari lima field sampai dengan sembilan puluh lima field, serta mengambil kombinasi minimum primary key adalah satu dan maksimum adalah tiga. Pengujian ini dilakukan tanpa data. Waktu 500 450 400 350 300 250 200 150 100 50 0 5 101520253035404550556065707580859095 Jumlah Field Waktu (detik) Gambar 4.16 Grafik evaluasi jumlah field terhadap waktu pencarian CK Dari pengujian yang dilakukan, telah didapati hasil bahwa bertambahnya field dapat mempengaruhi waktu dalam pencarian candidate key.
117 Evaluasi pengaruh jumlah record terhadap waktu pencarian candidate key Dalam pengujian ini sampel yang diambil adalah data dengan jumlah sampel sebanyak tiga puluh, dimulai dari seribu data sampai dengan tiga puluh ribu data, jumlah field sebanyak dua puluh, serta mengambil kombinasi minimum primary key adalah satu dan maksimum adalah tiga. Data pengujian yang digunakan diisi secara acak. 450 400 350 300 Waktu 250 200 Waktu (detik) 150 100 50 0 4000 3000 2000 1000 11000 10000 9000 8000 7000 6000 5000 19000 18000 17000 16000 15000 14000 13000 12000 Jumlah Record 26000 25000 24000 23000 22000 21000 20000 30000 29000 28000 27000 Gambar 4.17 Grafik evaluasi jumlah record terhadap waktu pencarian CK Dari hasil pengujian, terlihat bahwa banyaknya jumlah record juga dapat mempengaruhi pencarian candidate key, meskipun jumlah field yang diambil tidak terlalu banyak.
118 Evaluasi pengaruh kombinasi terhadap waktu pencarian candidate key Dalam pengujian ini sampel yang diambil adalah variasi kombinasi, dengan jumlah sampel sebanyak dua puluh, dimulai dari kombinasi 1-1 sampai dengan kombinasi 20-20. Pengujian dilakukan tanpa data. 700 600 500 Waktu 400 300 Waktu (detik) 200 100 0 20 20 19 19 18 18 17 17 16 16 15 15 14 14 13 13 12 12 11 11 10 10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 Kombinasi Gambar 4.18 Grafik evaluasi variasi kombinasi terhadap waktu pencarian CK Dari hasil pengujian, terlihat setiap bertambahnya primary key mempengaruhi waktu pencarian candidate key sampai separuh dari jumlah field yang diambil. Setelah itu waktu akan menurun sampai maksimum dari jumlah field tersebut. Karena pencarian candidate key akan semakin mudah, apabila telah melewati separuh jumlah field itu. Rumus dari pencarian candidate key ini biisa dilihat pada subbab 4.2.1.1.
119 4.2.2.2 Evaluasi Pengujian Functional Dependency Evaluasi pengaruh jumlah field terhadap waktu pencarian FD Dalam pengujian ini sampel yang diambil adalah field, dengan jumlah sampel sebanyak sembilan belas, dimulai dari lima field sampai dengan sembilan puluh lima field. Pengujian ini dilakukan tanpa data dengan mengambil dua primary key. 60 50 40 Waktu 30 Waktu (detik) 20 10 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 Jumlah Field Gambar 4.19 Grafik evaluasi jumlah field terhadap waktu pencarian FD Dari pengujian yang dilakukan, telah didapati hasil bahwa bertambahnya field dapat mempengaruhi waktu dalam pencarian functional dependency. Hanya bertambahnya waktu tidak terlalu signifikan.
120 Evaluasi pengaruh jumlah record terhadap waktu pencarian FD Dalam pengujian ini sampel yang diambil adalah data, dengan jumlah sampel sebanyak tiga puluh, dimulai dari seribu data sampai dengan tiga puluh ribu data, jumlah field sebanyak dua puluh, serta mengambil dua primary key. Data pengujian yang digunakan diisi secara acak. 450 400 350 300 Waktu 250 200 Waktu (detik) 150 100 50 0 30000 29000 28000 27000 26000 25000 24000 23000 22000 21000 20000 19000 18000 17000 16000 15000 14000 13000 12000 11000 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 Jumlah Record Gambar 4.20 Grafik evaluasi jumlah record terhadap waktu pencarian FD Dari hasil pengujian, terlihat bahwa banyaknya jumlah record juga dapat mempengaruhi pencarian functional dependency, meskipun jumlah field yang diambil tidak terlalu banyak.
121 Evaluasi pengaruh jumlah field primary key terhadap waktu pencarian FD Dalam pengujian ini sampel yang diambil adalah jumlah primary key, dengan jumlah sampel sebanyak lima belas, dimulai dari satu primary key sampai dengan lima belas primary key. Pengujian dilakukan tanpa data. 4000 3500 3000 2500 Waktu 2000 1500 Waktu (detik) 1000 500 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Jumlah Primary Key Gambar 4.21 Grafik evaluasi jumlah field primary key terhadap waktu pencarian FD Dari hasil pengujian, bahwa setiap bertambahnya primary key, maka waktu yang dibutuhkan sangat signifikan. Oleh karena itu, pengujian dihentikan sampai lima belas primary key, dikarenakan membutuhkan waktu yang sangat lama.
122 4.2.2.3 Evaluasi Pengujian Pembentukan Normal Form dengan Algoritma Dekomposisi dan Sintesis Dalam pengujian ini sampel yang diambil adalah jumlah field, jumlah primary key, dan record, setiap sampel field dimulai dari dua primary key sampai empat primary key. Pengujian dilakukan dengan data sebanyak 30000 dan jumlah sampel sebanyak lima belas. 80 70 60 50 Waktu 40 Dekomposisi Sintesis 30 20 10 0 75 75 75 70 70 70 65 65 65 60 60 60 55 55 55 50 50 50 45 45 45 40 40 40 35 35 35 30 30 30 25 25 25 20 20 20 15 15 15 10 10 10 5 5 5 Jumlah Field Gambar 4.22 Grafik evaluasi bentuk normal ketiga dengan dekomposisi dan sintesis Dari pengujian ini, terlihat perbedaan yang cukup besar diantara algoritma dekomposisi dan sintesis. Waktu yang diperlukan kurang lebih satu detik saja bagi yang menggunakan algoritma sintesis, sedangkan dekomposisi memerlukan waktu yang terus bertambah seiring bertambahnya field.
123 4.2.2.4 Evaluasi Terhadap Kapasitas Disk dengan Menggunakan Algoritma Dekomposisi dan Sintesis Dalam pengujian ini sampel yang diambil adalah jumlah field, banyaknya record sebanyak 30000, dan jumlah sampel sebanyak lima belas. 1,800,000,000 1,600,000,000 1,400,000,000 Disk Space 1,200,000,000 1,000,000,000 800,000,000 600,000,000 Dekomposisi (Bytes) Sintesis (Bytes) 400,000,000 200,000,000 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 Jumlah Field Gambar 4.23 Grafik evaluasi kapasitas disk space Hasil pengujian ini, dapat diberi kesimpulan bahwa kedua algoritma membutuhkan kapasitas disk yang sama. Sehingga tidak ada perbedaan bagi algoritma dekomposisi dan sintesis dalam menggunakan disk.
124 4.2.2.5 Evaluasi Kapasitas Penggunaan Memory dengan Menggunakan Algoritma Dekomposisi dan Sintesis Dalam pengujian ini sampel yang diambil adalah jumlah field sebanyak lima puluh, record sebanyak 30000, serta dengan mengambil dua primary key. Gambar 4.24 Grafik pada saat dekomposisi berjalan
125 Gambar 4.25 Grafik setelah dekomposisi berjalan Gambar 4.26 Grafik pada saat sintesis berjalan
126 Gambar 4.27 Grafik setelah sintesis berjalan Jadi algoritma sintesis menggunakan physical memory lebih sedikit dibanding dengan algoritma dekomposisi. Disamping itu algoritma dekomposisi menggunakan CPU Usage lebih lama dibanding dengan algoritma sintesis.