RESTRUKTURISASI BASIS DATA DISTRIBUTION PLANNING SYSTEM DI PT. XYZ 1
2
Anna Setiyani Dr. Asep Juarna, SSi, MKom
Program Pasca Sarjana Universitas Gunadarma 1
[email protected] 2
[email protected]
ABSTRAK Tujuan penelitian ini adalah untuk menormalkan kembali struktur basis data rusak, yang menyebabkan restrukturisasi basis data harus segera dilakukan untuk menanggulangi informasi yang tidak akurat. Restrukturisasi basis data hanya berfokus pada tabel-tabel transaksi utama yang berkaitan dengan proses bisnis pada aplikasi. Tabel-tabel transaksi tersebut akan terdekomposisi menjadi tabel-tabel master dan tabel transaksi. Struktur basis data baru akan menjadi lebih sederhana dan efisien, karena tabel-tabel yang tidak berhubungan dengan proses bisnis utama akan dihilangkan dari struktur. Restrukturisasi basis data ini menggunakan Microsoft SQL Server 2005 sebagai platform sistem basis datanya. Kata Kunci : Restrukturisasi Basis Data, SQL SERVER 2005, Aplikasi Desktop
PENDAHULUAN Pada era informasi ini kegiatan bisnis suatu organisasi tidak terlepas dari peran Teknologi Informasi (TI). TI merupakan sarana andalan guna memenangkan persaingan dalam industri, membantu organisasi dalam mewujudkan efisiensi proses back office, meningkatkan kualitas layanan kepada konsumen, membantu mengambil keputusan, merencanakan ke depan, memperluas pasar, dan memasarkan produk. PT. XYZ merupakan salah satu perusahaan trading dan distribusi terbesar di Indonesia, dengan pengalaman lebih dari empat dekade menangani komoditas besar. PT. XYZ juga merupakan perusahaan produsen sorbitol dan turunan tepung terbesar di Indonesia, dengan pabrik yang berada di Indonesia dan Cina, dan sudah diekspor ke banyak negara di dunia dan pelanggan mancanegara. Distribution Planning System (DPS) atau Sistem Perencanaan Distribusi adalah sistem untuk mengatur kegiatan perencanaan dan pelaksanaan distribusi barang dari gudang ke pelanggan secara realtime. DPS secara fungsionalitas dikhususkan untuk membantu departemen distribusi di PT. XYZ untuk mengatur kegiatan distribusi, supaya semua kegiatan pendistribusian barang tercatat lebih teratur dan efisien. Selain itu, data yang dihasilkan DPS juga dapat digunakan oleh departemen lain di PT. XYZ guna menghasilkan laporan-laporan analisis yang dapat menunjang keputusan manajemen strategis untuk mengatur langkah-langkah bisnis di masa depan. 1
2
Beberapa permasalahan yang timbul setelah DPS dipakai adalah : 1. Utilitas dan kemampuan Microsoft SQL Server 2005 dalam indexing data, yang memungkinkan untuk mengakses data masif dalam waktu cepat dan efisien, tidak maksimal. 2. Tidak dapat melakukan migrasi data, pada saat pembaruan sistem basis data dari Microsoft SQL Server 2000 ke Microsoft SQL Server 2005, karena tidak adanya primary key pada struktur basis data lama. Sementara, Microsoft SQL Server 2005 mengharuskan adanya primary key pada tiap tabelnya untuk memudahkan mengatur relationship antar tabel dan indexing dalam mengakses data lebih cepat. Kecepatan proses data berkurang dengan tidak adanya primary key dalam fisik basis data. 3. Akurasi datanya diragukan karena banyaknya data yang bernilai null, terjadinya duplikasi data, dan redundansi data. Keadaan ini mengakibatkan laporan dan informasi yang disajikan menjadi tidak valid. 4. Ada beberapa tabel dan kolom yang sudah tidak terpakai lagi atau diperbaharui, sehingga timbul kerancuan dan duplikasi data. 5. Beban kerja server karena sistem basis data tidak terstruktur dengan baik sehingga mengakibatkan terhambatnya kinerja sistem dan bisnis. Berdasarkan fakta-fakta yang ada, maka beberapa masalah yang dapat dirumuskan adalah membangun DPS dengan kriteria sebagai berikut: 1. Perubahan struktur tabel dan kolom oleh administrator menimbulkan masalah seperti tabel yang tidak jelas penggunaannya, kolom yang sudah tidak terpakai lagi, dan lain-lain. 2. Restrukturisasi sistem basis data DPS lama ke DPS baru. 3. Mendokumentasikan struktur basis data DPS dengan baik. 4. Merampingkan atau menambahkan fungsi baru ke dalam sistem basis data DPS yang baru agar sesuai dengan proses bisnis yang sedang berjalan di AKR. 5. Implementasi struktur basis data baru menggantikan struktur sistem basis data lama. Tujuan penelitian ini adalah mengembalikan kenormalan tabel dengan membuang kelemahan-kelemahan dan kesalahan-kesalahan yang ada pada sistem basis data yang sedang berjalan. Selain itu, DPS dapat dimanfaatkan semaksimal mungkin sebagai sistem pendukung kegiatan distribusi dan juga sebagai business core PT. XYZ. Hasil lain yang diharapkan dengan adanya restrukturisasi dan refactoring adalah untuk mempermudah pengguna dalam pemanfaatan DPS. Jika dilihat dari sisi pengembang perangkat lunak DPS, sistem yang sudah tersusun dengan baik diharapkan akan lebih mudah dalam hal perawatan dan pengembangan sistem. TINJAUAN PUSTAKA Sistem Basis Data Sistem basis data adalah suatu sistem penyusunan dan pengelolaan data dengan menggunakan komputer yang bertujuan untuk menyimpan atau merekam serta memlihara data operasional lengkap suatu organisasi/perusahaan, sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan (Ramakhrisna dan Gehrke, 2002).
3
Definisi basis data (database) adalah kumpulan data logis yang saling terhubung dan mempunyai deskripsi data yang sama, didesain untuk memenuhi kebutuhan informasi di dalam sebuah organisasi (Pressman, 2005). Properti basis data meliputi : 1. Kumpulan data yang terstruktur 2. Logically coherent – mempunyai makna 3. Inherent meaning – informasi versus data 4. Intended user group(s) – tujuan yang spesifik 5. Merepresentasikan dunia nyata Beberapa model basis data yang telah terbentuk pada masa sekarang antara lain : 1. Relational Model. Codd memperkenalkan model ini pada tahun 1970 dan merupakan salah satu model DBMS yang masih dipakai sampai sekarang. 2. The Entity Relationship Model (ER-Model). Pertama kali diperkenalkan oleh Chen pada tahun 1976. Model ini menggunakan pendekatan secara umum untuk mempresentasikan data dan sangat membantu dalam perancangan sistem basis data relasional. 3. The Object Oriented Model. Pengembangan model basisdata yang menerapkan konsep berorientasi objek. Model ini belum banyak digunakan, karena masih terdapat kesulitan dalam penerapannya di dunia nyata. Sistem Manajemen Basis Data Sistem Manajemen Basis Data (SMBD) adalah perangkat lunak yang menangani semua pengaksesan basis data dan memiliki fasilitas membuat, mengakses, memanipulasi dan memelihara basis data (Ramakhrisna dan Gehrke, 2002). Adapun fungsi SMBD antara lain : 1. Data Definition, SMBD harus dapat mengolah pendefinisian data. 2. Data Manipulation, SMBD harus dapat menangani permintaan dari pemakai untuk mengakses data. 3. Data Security & Integrity, SMBD harus dapat memeriksa security dan integritas data yang didefinisikan oleh administrator basis data. 4. Data Recovery & Concurency, SMBD harus dapat menangani kegagalankegagalan pengaksesan basis data yang dapat disebabkan oleh kesalahan sistem, kerusakan disk, dsb. 5. Data Dictionary, SMBD harus mempunyai kamus data. 6. Performance, SMBD harus menangani unjuk kerja dari semua fungsi seefisien mungkin. SQL Server Microsoft SQL Server adalah salah satu produk sistem manajemen basis data relasional (RDBMS). Bahasa Query utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan untuk Microsoft dan Sybase. SQL Server 2005 merupakan edisi terbaru setelah SQL Server 2000, dan predecessor SQL Server 2008, serta merupakan bagian dari seri sistem manajamen basis data relasional Microsoft SQL Server. SQL Server 2005 mempunyai banyak fitur yang dapat membantu untuk mengatur basis data relasional, dan dalam beberapa edisinya menambah fungsionalitas penting dalam hal business intelligence. Tentunya
4
kemampuan SQL Server 2005 lebih lengkap dan menunjang usaha kecil untuk memiliki sistem basis data dengan harga terjangkau. Komponen dari SQL Server 2005 adalah: 1. SQL Server Configuration Manager, seorang administrator basis data yang mengatur komputer untuk akses basis data adalah pengguna utama untuk alat ini. Kegunaan dari tool ini adalah : a. Mengatur service-service yang berjalan pada background sistem. b. Pengatur jaringan data yang aktif dipakai untuk transaksi data. 2. SQL Server Management Studio, SQL Server Management Studio secara garis besar merupakan rumah tempat mengatur dan menjalankan SQL Server yang mempunyai antarmuka pengguna yang sangat mudah dimengerti dan digunakan. Restrukturisasi Restrukturisasi adalah proses modifikasi terhadap source code dan/atau data agar terjadi peningkatan fungsionalitas di masa yang akan datang (Sommerville, 2005). Jenis-jenis restrukturisasi dapat dibagi menjadi beberapa bagian, yaitu: 1. Restrukturisasi dokumen, yaitu melakukan perubahan struktur dokumen yang ada dengan beberapa alasan, antara lain pemutakhiran dokumen. 2. Restrukturisasi kode, yaitu melakukan perubahan terhadap struktur kode program perangkat lunak untuk meningkatkan fungsionalitasnya dan menghasilkan kode yang berkualitas tinggi. 3. Restrukturisasi basis data, yaitu melakukan perubahan terhadap struktur data perangkat lunak untuk meningkatkan fungsionalitasnya Restrukturisasi Basis Data Tujuan utama dari restrukturisasi basis data adalah melakukan struktur ulang terhadap basis data guna mendapatkan lingkungan data yang teratur dan tersusun dengan baik. Proses ini melibatkan analisa dan reorganisasi terhadap struktur data (kadang nilai-nilai data), bisa merupakan bagian dari proses perpindahan dari sistem file-based ke sebuah lingkungan DBMS, atau perubahan dari DBMS satu ke DBMS lainnya. Pendekatan yang dapat dilakukan untuk melakukan restrukturisasi data, antara lain: 1. Data Cleanup, yaitu melakuakn penghapusan duplikasi data dan data redundan guna meningkatkan kulitas datanya. 2. Data Extension, yaitu data dan program yang terhubung direkayasa ulang untuk menghilangkan kelemahan/batasan yang ada di proses data. Hal ini membutuhkan perubahan terhadap program untuk menambah panjang field-nya, mengubah batas atas dalam tabel dan lain-lain. 3. Data migration, yaitu memindahkan data ke dalam DBMS dengan struktur yang lebih baik. Data sebelumnya yang disimpan di dokumen terpisah atau diatur pada DBMS lama. Berbagai permasalahan yang sering terjadi sebelum melakukan restrukturisasi data, antara lain: 1. End-Users menghendaki data berada pada tampilan desktop mereka dibandingkan dengan di di dalam sistem file.
5
2. Sistem harus memproses data lebih jauh dari perkiraan sebelumnya oleh perancang mereka. 3. Tempat penyimpanan data berada di tempat yang berlainan dan dengan format yang berbeda, bahkan data dapat tersimpan di sistem yang berbeda. Kemungkinan data redundan menjadi sangat besar. 4. Penamaan data yang sulit dipahami. Data yang sama mungkin memliki nama yang berbeda di program yang berlainan. 5. Panjang field; panjang field yang sama mungkin akan berbeda pada program. 6. Susunan baris mempresentasikan entitas yang sama ditulis dengan program yang berbeda. 7. Hard-coded literals 8. Minimnya kamus data yang dimiliki Strategi untuk melakukan restrukturisasi data yaitu: 1. Schema Conversion; translasi dari skema sistem yang ada ke dalam skema yang sama dengan sebuah sistem berteknologi baru. Database Re-Engineering (DBRE) dilengkapi dengan database design yang baru. 2. Data conversion; migrasi data dari sistem lama ke sistem yang baru dan hasil disesuaikan dengan konversi skema. 3. Program modification; melakukan perubahan terhadap program sehingga program mampu mengakses basis data yang baru sebagai pengganti sistem yang lama. Meningkatkan fungsionalitas, kualitas kode program, mengubah bahasa pemrograman dan tidak mengubah antarmuka pengguna. Mengurangi proses yang kompleks berdasarkan konversi skema. Refactoring Basis Data Refactoring basis data adalah perubahan sederhana pada skema basis data untuk meningkatkan desain dalam mempertahankan segi perilaku maupun informasi dalam kode semantic, dengan kata lain tidak menambahkan fungsionalitas baru atau memperlebar fungsionalitas yang ada, tidak juga menambahkan data atau mengubah makna data (Ambler dan Sadalge, 2006). Database Smells Fowler (1970, dalam Scott dan Pramond, 2006) memperkenalkan konsep “code smells”, sebuah strategi umum untuk mencari masalah yang ada di dalam kode, sehingga muncul kebutuhan untuk refactoring. Serupa dengan itu, terdapat “database smells” yang juga muncul kebutuhan serupa. Smell basis data meliputi: 1. Multipurpose column; yaitu satu kolom yang nilainya difungsikan untuk beberapa tujuan. 2. Multipurpose table; sama dengan Multipurpose Column, tapi ini terjadi pada tabel. 3. Redundant data; beberapa kolom yang menyimpan informasi pada satu tabel, ternyata informasi itu ada juga di tabel lain. 4. Tables with too many columns; terdapat banyak kolom yang ada di satu tabel, sehingga menyulitkan dalam pengaksesan tabel tersebut. 5. Tables with too many rows; terdapat banyak baris atau record yang ada dalam satu tabel, hal ini berakibat pada masalah performansi data tersebut.
6
6. “Smart” columns; yaitu sebuah kolom yang menyimpan beberapa informasi. Misalnya satu kolom yang menyimpan ID mahasiswa, dimana ID mahasiswa tersebut menyimpan informasi mengenai fakultas, jurusan serta nomor urutnya, parsing harus dilakukan terlebih dahulu sebelum informasi tersebut digunakan. 7. Fear of change; ketakutan pada perubahan skema basis data karena takut memecahkan masalah-masalah tertentu pada saat ingin melakukan pemeliharaan sistem. HASIL DAN PEMBAHASAN Pengembang perangkat lunak yang terlibat dalam pembuatan DPS tidak menyertakan dokumentasi yang berisi aliran data atau diagram konseptual. Pengamatan dan percobaan yang fungsi dan struktur data yang ada di DPS dilakukan untuk mendapatkan gambar sederhana aliran data tersebut. Data yang tidak valid menjadi sebab utama mengapa secara keseluruhan diagram tidak mengikuti kaidah penggambaran diagram konseptual yang sebenarnya. Dari struktur basis data lama dapat digambarkan diagram konseptual seperti dibawah ini:
7
Gambar 1. Diagram konseptual struktur basis data lama dari DPS Diagram fisik tidak tersedia karena dokumentasi sistem tidak ada. Jadi, gambar diagram fisik menempuh langkah yang sama dengan langkah pembuatan diagram konseptual.
8
Perantara *
DDOR *
gmmaster *
do_no
NoDDOR
sj_no
NoNSP
ncust
DDORDate
cust
Principal
ship_to
Product
product_name
NoSO
product_code
Customer
qty_kirim
Location
qty_terima
Term
warehouse
Qty
sno_pol
status
ssj_date
Remark
scrg_rcp
nm_input
gqty
sex_kapal
dt_input
gproduct
gsj_no gdo_no Site gdelivery gcustomer gwarehouse ddo_no stujuan gterm geta gprice gketerangan
lbatal
gpacking
datestatus
gnsp
pstatus
gprincipal
ldelete
sstatus
FK_DDOR_domaster
swarna stg_cran
FK_Perantara_domaster
sjmaster *
FK_sjmaster_domaster
slc_no
domaster *
sex_kapal
ssj_no
ddo_no
ssj_date
sdo_no
ddo_date
svol_load
sdelivery
dpo_no
sst_barang
swarehouse
Site
sst_mutu
ddo_no
warehouse
sst_segel
stujuan
dn_produk
sst_nomor
stransporter
kd_produk
sst_selisih
sno_pol
dn_sales
sst_kemasan
sketerangan
kd_sales
sst_lain
s_line
dcustomer
sst_keterangan
sqty
kd_cust
svol_unload
sstatus
address1
scrg_rcp
swarna
address2
ssj_rcp
stg_cran
address3
ssusut
slc_no
dqty
stoleransi
sex_kapal
folo
std_trm
ssj_date
dum
sprc_susut
sch_date
areatuj1
srt_angkut
svol_load
dkemasan
srt_type
sst_barang
saldo
stype
sst_mutu
remark
sbongkar
sst_segel
saldoreal
stolakan
sst_nomor
crd_term
samt_susut
sst_selisih
sch_date
sppn
sst_kemasan
sch_qty
stotal
sst_lain
account
svc_no
sst_keterangan
subaccount
sefektif
svol_unload
cc
sefektify
scrg_rcp
areatuj2
ssj_rcp
transporter
ssusut
dstatus
sremak FK_gmmaster_domastersg_total sarea
stoleransi
sjsaldo
std_trm
sjgross
sprc_susut
sjtare
srt_angkut
pketerangan
srt_type
confirmsj
stype
confirmttb
sbongkar
driver
stolakan
snopol
samt_susut
stransporter
sppn stotal svc_no sefektif sefektify sremak sg_total sarea sjsaldo sjgross sjtare pketerangan confirmsj confirmttb driver
Gambar 2. diagram fisik struktur basis data lama
9
msuser
tarif_ap *
ulogin
Tsj_no
upassword
ssj_date
ulevel
Entity
lokasi
Accrued TDO_NO tterima transporter
StkPoint
packing
Principal
product
StockPoint
shipFrom areafrom shipto
MenuTabel
areato
Menu
type
Modul
qty_unload
Lokasi
PriceSusut
seq_menu
susut
seq_modul
tarif bi_kuli bi_back
product *
bi_tolakan
kd_product
bi_lain
nm_product
type_bayar
qty_product
total_accrued
g_product
total_biaya voucher eff_vou
customer * kd_customer nm_customer
remark pinput dateinput AmountSusut PPN
Area AreaTo
TotalAmtSusut TotalAmt status sj_receipt
transporter Transporter
qty_load no_polisi delivery Periode Tahun s_hit t_per
Gambar 3. Diagram fisik struktur basis data lama (lanjutan) Aspek-aspek masalah yang menyebabkan basis data DPS perlu direkayasa ulang adalah dengan cara meneliti struktur basis data DPS lama. Berdasarkan struktur data dan informasi yang terkandung pada tabel-tabelnya, terdapat beberapa kesalahan dasar yang ada pada struktur basis data lama yaitu : a) Keberadaan primary key dan foreign key tidak tergambar secara fisik pada DBMS. b) Duplikasi data, Surat Jalan (SJ) dengan nomor yang sama ada pada tiga tabel yang berbeda yaitu sjmaster, domaster, gmmaster, dengan fungsi dan isi data yang hampir sama.
10
c) Data tidak unik ada pada kolom yang dianggap sebagai primary key. Data tersebut juga dapat bernilai null atau berupa kolom kosong. Hal ini terjadi di setiap tabel yang ada pada struktur basis data lama. d) Panjang data dan tipe data dari kolom yang dianggap sebagai key penghubung antar tabel tidak sama. Sehingga, jika direpresentasikan secara fisik dalam DBMS akan muncul pesan kesalahan dalam menghubungkan tabel-tabel tersebut. e) Tabel yang tidak mempunyai fungsi yang jelas. Tabel ini dapat dihilangkan dari sistem. f) Penamaan kolom yang tidak menggunakan aturan keseragamaan, sehingga sulit menghubungkan kolom satu dengan kolom yang berlainan tabel. g) Kemiripan penamaan kolom yang mempunyai tipe data sama tetapi mempunyai fungsi berbeda. Contoh: Jika dilihat secara fisik, kolom sdelivery dan sch_date pada tabel sjmaster mempunyai nilai yang sama. Tetapi ternyata jika dilihat secara fungsional pada listing program, tanggal-tanggal tersebut mempunyai fungsi yang berbeda. Selain kelemahan tersebut diatas, ada beberapa kelemahan lain yang termasuk dalam deteksi “Smells” basis data yaitu: 1. Multipurpose Column; pada tabel gmmaster, dan sjmaster, kolom ssj_no berfungsi sebagai penyimpan no. SJ dan no. DDOR jika data tersebut merupakan data DDOR. Kolom swarehouse di tabel sjmaster selain sebagai tempat untuk menyimpan data supplier, berfungsi pula sebagai penyimpan data keterangan SJ. 2. Multipurpose Table; tabel gmmaster yang seharusnya hanya untuk menyimpan data SJ supplier, berfungsi juga untuk menyimpan data DDOR yang secara struktur dan bentuk berbeda dengan SJ. 3. Data redundan; data Surat Jalan dengan nomor sama masuk ke dalam tiga tabel berbeda (sjmaster, gmmaster, perantara) dengan isi informasi yang hampir sama. 4. Tabel terlalu banyak baris; terjadi pada tabel domaster. Satu no. DO dapat mempunyai lebih dari satu tanggal schedule delivery (sch_date). Pada tabel gmmaster, karena tabel tersebut mempunyai fungsi ganda sebagai penyimpan data SJ principal dan DDOR, menyebabkan baris tabel tersebut membengkak. 5. Tabel terlalu banyak kolom; terjadi pada tabel-tabel transaksi seperti tabel sjmaster, domaster, gmmaster dan tarif_ap. Banyak kolom yang tidak jelas fungsinya dan sudah tidak terpakai lagi, tetapi tetap ada. Hal ini terjadi karena dokumentasi yang tidak jelas. 6. “Smart” columns; berdasarkan struktur data dan diagram fisik yang ada tidak terlihat adanya nilai yang ada di kolom yang menyimpan informasi lebih dari satu kegunaan. 7. Takut akan perubahan; pengembang perangkat lunak enggan merubah struktur data karena takut perubahan tersebut akan merubah sistem secara keseluruhan. Berdasarkan analisa struktur basis data lama, refaktorisasi tabel pada basis data lama tidak akan menghasilkan struktur basis data yang optimal dan dapat diandalkan, karena kesalahan-kesalahan yang ada pada struktur basis data lama merupakan kesalahan fatal dan mendasar. Karena basis data sudah pernah ada, tabel-tabel utama yang sudah ada dijadikan tabel acuan untuk membuat tabel pada basis data baru. Tabel-tabel utama
11
yang digunakan adalah tabel yang merupakan penampung data transaksi utama. Tabeltabel utama tersebut antara lain: 1. Tabel domaster, adalah tabel untuk menampung data Delivery Order (DO) dari MFG-PRO. MFG-PRO adalah sistem ERP (Enterprise Resource Planning) yang dimiliki PT. XYZ. 2. Tabel sjmaster, gmmaster dan perantara mempunyai fungsi dasar sama, yaitu menampung data Surat Jalan (SJ). Hanya saja ketiga tabel tersebut melayani transaksi SJ yang berbeda. Tabel sjmaster, adalah tabel untuk menampung data Surat Jalan (SJ) secara keseluruhan. 3. Tabel gmmaster, adalah tabel yang berfungsi sebagai penampung data Surat Jalan (SJ) yang baik barang atau asal pendistribusian barangnya berasal dari pemasok barang. Tabel ini juga berfungsi sebagai tabel penyimpan Daily Delivery Order Request (DDOR). 4. Tabel perantara, adalah tabel yang berfungsi untuk menampung data Surat Jalan (SJ) yang terhubung dengan aplikasi Fleet Management System (FMS). FMS adalah aplikasi lain di PT. XYZ yang mengatur manajemen penggunaan kendaraan pengangkut. 5. Tabel tarif_ap, adalah tabel yang berfungsi untuk menampung data berkaitan dengan perhitungan biaya distribusi barang untuk kemudian menerbitkan voucher penagihan kepada pelanggan. Untuk memudahkan dalam melakukan restrukturisasi dengan menggunakan proses refaktorisasi data, lima tabel transaksi utama di atas akan didekomposisi menjadi tabel transaksi utama dan tabel-tabel master pendukung sesuai dengan kriteria kesalahankesalahan yang telah terdeteksi. Langkah-langkah untuk melakukan restrukturisasi dan dekomposisi tabel-tabel di atas adalah : 1. Hilangkan duplikasi data (data yang mempunyai detail informasi yang sama dengan jumlah baris lebih dari satu, atau data kembar). 2. Hapus baris data yang memiliki nilai null atau karakter kosong pada kolom yang dianggap sebagai primary key dan foreign key. 3. Hilangkan kolom yang tidak mempunyai fungsi yang jelas atau kolom mempunyai nilai null atau karakter kosong pada setiap baris datanya. 4. Tentukan superkeys, candidate keys dan primary key dari tabel yang sedang direstrukturisasi. 5. Tentukan functional dependency (ketergantungan fungsional) atau FD antar entitas dalam tabel yang sedang direstrukturisasi 6. Jika ada, temukan tabel yang mempunyai kemiripan isi dan struktur dengan FD yang ada. Modifikasi tabel tersebut sampai ke struktur yang benar. 7. Jika ada, gabungkan tabel yang memiliki struktur data dan fungsi yang hampir sama. Tambahkan satu kolom untuk penanda perbedaan fungsi data tersebut. 8. Tentukan primary key dan foreign key dari tabel-tabel yang sudah terbentuk. 9. Penamaan tabel dan kolom harus diseragamkan untuk menghindari menghindari terjadinya redundansi data dan kemudahan dalam menghubungkan antara tabel satu dengan tabel lain. 10. Kontruksi tabel-tabel yang sudah didekomposisi.
12
Restrukturisasi Basis Data Dari hasil pelaksanaan langkah-langkah restrukturisasi tabel di atas maka akan diperoleh tabel-tabel sebagai berikut: Tabel 1. Hasil restrukturisasi tabel lama ke tabel baru Tabel Lama domaster
sjmaster
tarif_ap
Tabel Baru Isi Tabel TMasterArea data master area TMasterCustomer data master pelanggan TMasterWarehouse data master gudang TMasterProduct data master produk TMasterPDHGroup data master PDH TMasterProductGroup data master grup produk TMasterSales data master sales TDO data transaksi DO TPlanDO data transaksi perencanaan DO TSJ data transaksi SJ TMasterTransporter data master transporter TMasterSupplier data master supplier TMasterWarehouse data master gudang TDDOR data transaksi DDOR Tvoucher data transaksi voucher TmasterCost data master biaya
Gambar logis dalam bentuk diagram konseptual berdasarkan hasil restrukturisasi basis data sesuai dari hasil analisa kelemahan basis data ada pada dibawah ini.
13
Gambar 4. Diagram konseptual struktur basis data baru
Diagram fisik dari struktur basis data yang terbentuk dari hasil restrukturisasi. Diagram fisik ini menunjukkan bentuk fisik yang dirancang untuk DPS hasil bentukan diagram konseptual.
14
Gambar 5. Diagram Fisik Struktur Basis Data Baru Implementasi Rancangan Basis Data Tahap implementasi ini meliputi proses konversi dan migrasi data serta pengujian data hasil migrasi dari struktur basis data lama ke struktur basis data baru. Langkah-langkah dalam proses implementasi rancangan basis data baru adalah:
15
1. Implementasi diagram fisik yang diperoleh dari hasil restrukturisasi data. 2. Migrasi data; merupakan tahap pemindahan data pada struktur basis data lama ke dalam struktur basis data baru. Tahapan setelah mendapatkan rancangan diagram fisik struktur basis data baru adalah implementasi rancangan basis data baru ke dalam lingkungan Microsoft SQL Server 2005. Langkah-langkah untuk implementasi tersebut adalah: 1. Membuat script SQL untuk membuat skema basis data baru. 2. Membuat dan mengeksekusi script SQL dengan menggunakan bahasa pada lingkungan SQL Server 2005. Script tersebut memuat perintah untuk membuat semua tabel yang telah dirancang pada diagram fisik struktur basis data DPS baru. Selain itu, script tersebut juga harus bisa membuat relasi antar tabel terkait seperti terlihat pada diagram fisik struktur data DPS baru. Berikut ini adalah hasil analisa dan pembuktian yang dilakukan pada struktur basis data lama dengan struktur basis data baru: 1. Dengan menggunakan kaidah relasional dan terstruktur, basis data baru memberikan kemudahan lebih terhadap perubahan yang akan terjadi pada di masa yang akan datang. 2. Data redundan juga dapat dihilangkan, sedangkan pada struktur bahasa yang baru data masih redundan. 3. Integritas data, yaitu informasi yang ada pada struktur data yang baru dapat dijaga konsekuensinya. 4. Mudah dalam pemeliharaan sistem basis data. 5. Performansi data lebih cepat dari versi struktur basis data yang sama juga. KESIMPULAN DAN SARAN Kesimpulan Struktur basis data terlihat lebih terstruktur daripada sebelumnya. Jumlah tabel menjadi berkurang setelah adanya restrukturisasi basis data, karena tabel yang tidak mempunyai fungsi jelas tidak diikutsertakan dalam struktur basis data yang baru. Struktur tabel dapat kembali menjadi normal, sehingga pengembang perangkat lunak DPS dapat dengan mudah melakukan perawatan dan pengembangan sistem. Keakuratan data lebih terjamin karena tidak adanya redundansi dan duplikasi data. Utilitas yang dimiliki oleh Microsoft SQL Server 2005 dapat digunakan lebih optimal. Dalam hal ini fungsinya untuk mengoptimalkan pencarian dan indexing data. Akses data menjadi terjamin cepat karena adanya primary key dan foreign key, keterhubungan antar tabel menjadi jelas dan indexing data membuat data mudah terurut oleh DBMS. Struktur basis data baru ini belum sempurna. Beberapa fungsi lain seperti administrasi pengguna, log sistem, dan administrasi menu dan modul tidak dibahas pada penulisan thesis ini, karena thesis ini hanya berfokus kepada penormalan kembali struktur basis data DPS. Restrukturisasi basis data hanya berdasarkan pada proses bisnis yang terlibat dalam DPS. Hasil basis data bentukan renormalisasi basis data lama dan langkah-langkahnya dapat menjadi guideline atau panduan untuk menyelesaikan masalah restrukturisasi basis data
16
DPS. Setelah restrukturisasi basis data tuntas, restrukturisasi sistem secara keseluruhan segera dapat dilakukan. Saran Hasil restrukturisasi basis data yang sudah ada hendaknya dirawat dan pengubahan struktur sesuai dengan permintaan penambahan fungsi sistem, harus melalui prosedur dan memperhatikan kaidah-kaidah yang berlaku dalam merubah struktur basis data. Hal-hal yang perlu diperhatikan dalam merubah bentuk struktur data adalah fungsifungsi tabel dan kolom. Jika fungsi data dari atau untuk satu fungsi modul sudah ada pada basis data, tidak perlu menambah tabel dengan fungsi yang sama ke dalam sistem basis data. Jika ada penambahan dan pengurangan fungsi sistem dan berakibat pada modifikasi struktur basis data, hendaknya menyertakan dokumentasi yang jelas. Sehingga, apabila ada pergantian administrator, perawatan sistem, penambahan modul atau fungsi, prosesnya akan lebih cepat dan efisien. Restrukturisasi basis data akan lebih sempurna apabila disertai dengan restrukturisasi perangkat lunak secara keseluruhan. Struktur data yang ada sangat berbeda bentuknya dengan struktur data hasil restrukturisasi. DPS lama tidak akan bisa beroperasi apabila menggunakan struktur basis data yang perangkat lunak yang ada sekarang, Restrukturisasi basis data harus disempurnakan untuk mengikuti fungsi sistem yang ada, seperti administrasi pengguna, administrasi pengguna, log sistem, dan administrasi menu dan modul. Selain itu, perlu dikaji kembali mengenai kualitas data ditinjau dari kecepatan dan keakuratan data pada saat melakukan pengambilan data dari DBMS lama dan DBMS yang sudah terbentuk. DAFTAR PUSTAKA Ambler, Scott W., Sadalge, Pramond J. 2006. Refactoring Database: Evolutionary Database Design. Addison Wesley Professional. Kerievsky, Joshua. 2004. Refactoring to Patterns. Addison Weasley. Pressman, Roger S. 2005. Software Engineering, A Practitioner’s Approach, 6th Edition. McGraw Hill. Ramakhrisna, Raghu & Gehrke, Johannes. 2002. Database Management System, 2nd Edition. McGraw Hill-Higher Education. Sommerville, Ian. 2005. Software Engineering, 6th Edition. Addison Wesley. Teorey, Tobey, Lightstone, Sam, Nadeu, Tom. 2006. Database Modelling & Design: Logical Design, 4th Edition. Morgan Kaufmann Publishers, San Fransisco. Toft Hansen, Kjell. 2002. Introduction to Database. Distance Learning from NVUAITeL.