1. Konsep dasar Integritas data
a) Pengertian
Data Integration atau integrasi data merupakan proses menggabungkan atau menyatukan dua atau lebih sebuah data dari berbagai sumber database yang berbeda ke dalam sebuah penyimpanan seperti gudang data (data warehouse).
Adapun alasan diperlukannya integrasi data karena beberapa keuntungan yang bisa kita dapatkan :
· Mempermudah dalam proses menganalisa untuk pengambilan keputusan
· Sharing data antar lingkungan kerja
· Terhindar dari adanya duplikat data
Data integration perlu dilakukan secara teliti agar tidak terjadi kesalahan. Kesalahan yang sering terjadi pada integrasi data bisa menghasilkan sebuah ouput yang menyimpang dan bahkan menyulitkan pengguna pada saat pengambilan keputusan. Syarat integrasi data dapat terlaksana dengan berbagai cara seperti membuat konsisten dalam penamaan variabel, ukuran variabel, struktur pengkodean dan dalam atribut fisik dari data.Sebagai contoh apabila sebuah tabel Mahasiswa, pada field / kolom nim mempunyai isi data “01031043”, maka database tidak memperbolehkan record pada tabel Mahasiswa lain mempunyai nim yang sama.
b) Tujuan integritas data
Ada beberapa cara dan tujuan dalam menjaga integritas data, diantaranya :
i. Memasukkan aturan bisnis di dalam database
ii. Menjaga agar data yang tidak valid tidak masuk ke database
iii. Menjaga konsistensi data pada relasi keterkaitan antar tabel
c) Jenis - jenis integritas data
Integritas Data dapat Di kelompokan menjadi 2 bagian :
- Integritas data yang berada dalam relasi, yaitu integritas entitas dan integritas domain.
- Integritas yang berada di luar relasi, yaitu integritas referensial
Selain itu ada juga integritas yang ditentukan sendiri di dalam suatu perusahaan, yaitu integritas perusahaan (Enterprise integrity/ user Defined Integrity).
Secara garis besar integritas data dalam model relasional meliputi :
a. INTEGRITAS ENTITAS
Integritas entitas mendifinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Dalam integritas entitas, tidak ada baris yang di duplikat didalam suatu tabel.
Contoh :
create table Pembelian
(ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian));
b. INEGRITAS DOMAIN
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai di tiap kolom data.
Jenis domain yang harus dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik
Pemeliharaan integritas domain :
1. Pendifinisian skema
2. Pemanfaatan properti field
3. Penerapan proses validasi pada pemasukan data
Contoh :
Create table biografi
(idpenulis smallint unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default
‘Kosong’);
create domain nilai numerik(3,2)
constraint value-test check (value >=0.00)
c. INTEGRITAS REFERENSIAL
Integritas referensial adalah dasar relasi antar tabel yaitu antara foregin key dengan promary key. Integritas referensial memastikan bahwa seluruh nilai dari foregin key cocok dengan nilai primary key yang dihubungkanya.
Contoh :
create table account
(account-number char (10),
branch-name char (15),
balance integer,
primary key (account-number),
foreign key (branch-name) reference branch)
create table depositor
(costumer-name char (20),
account-number char (10),
primary key (costumer-name, account-number)
foreign key (account-number) reference account
foreign key (costumer-name) reference costumer)
on delete cascade on update cascade
d. INTEGRITAS ENTERPRISE
Integritas enterprise mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak sama pada kategori integritas yang lainnya.
Berikut ini adalah jenis-jenis integritas data yang disertai dengan
contoh kasusnya:
1. Create Domain, yaitu membuat tipe data baru. Fungsi ini biasa digunakan untuk menangani data yang membutuhkan aturan bisnis sendiri,
· Contohnya : membuat tipe data “gender” untuk yang isinya hanya boleh berisi pria atau wanita ->
· Maka sintaksnya dalam SQL adalah :
create domain gender char(2) constraint gender_domain check ( value in(‘pria’,’wanita’));
2. Not NULL, yaitu menjaga agar suatu data tidak kosong dengan kata lain harus ada value-nya.
· Contohnya nama matakuliah pada tabel mata kuliah tidak boleh kosong.
· Maka sintaksnya dalam pl / sql :
nama_matkul varchar2(15),
constraint nn_ matkul not null (nama_matkul)
3. Unique, yaitu membuat agar suatu data tidak memiliki nilai yang sama dengan record lainnya dalam tabel yang sama.
· Contohnya email pada tabel akun_facebook hanya boleh satu email untuk satu akun.
· Sintaksnya :
email varchar2(15),
constraint u_mail unique (email)
4. Primary key, merupakan gabungan antara not null dan unique.
· Misalnya NIM pada tabel mahasiswa.
nim char(7) not null,
constraint pk_ nim primary key (nim)
5. Check, memeriksa data dengan aturan bisnisinya sendiri tanpa membuat tipe data baru.
· Contohnya sebelum memasukkan nilai ujian pada tabel nilai, data diperiksa terlebih dahulu. Data tidak boleh masuk jika bernilai negatif.
nilai number,
constraint chk_nilai check (nilai > 0)
6. Referential Integrity, adalah integritas pada relasi antar tabel. Contohnya jika kolom NIM mahasiswa pada tabel nilai mengacu ke kolom NIM pada tabel mahasiswa, dan terjadi perubahan (delete atau update) pada NIM di tabel mahasiswa, maka ada beberapa pilihan yang dapat dilakukan terhadap NIM yang di tabel nilai, diantaranya adalah :
· Delete cascade, hapus record pada kedua tabel yang bersangkutan
· Delete set null, hapus record di tabel asal dan value record pada tabel yang mengacu di jadikan NULL
· Update cascade, perbarui isi record pada kedua table
nim char(7),
constraint fk_nim foreign key (nim) references mahasiswa (nim) on delete cascade / on delete set null / on update cascade
Berbagai penggabungan data pada integritas data
Penggabungan data dapat dilakukan dengan cara lain, seperti berikut :
· Integrasi Aplikasi (application Integration) Penggabungan data terjadi dengan mengkoordinasikan aliran kejadian informasi antara aplikasi bisnis Aplikasi yang melayani harus memiliki fasilitas untuk berintegrasi dengan aplikasi lainnya.
· Integrasi Proses Bisnis (Business Process Integration) Proses bisnis dapat tercapai jika adanya koordinasi pada setiap aktivitas pada sistem, dan intergrasi ini pun tidak terlepas dengan adanya integrasi aplikasi
· Integrasi Interaksi Pengguna (User Interaction Integration) Pembuatan antar muka pengguna yang memberikan integrasi antar sistem data yang berbeda. Semisal adanya portal yang menjadi pintu untuk interaksi pengguna dengan beberapa data penting pada perusahaan.
2. Macam-macam teknik pengujian ralat Integritas Data
Metoda Pengujian Ralat Parity Checking
a) Vertical Redundancy Check
Andaikan pengirim ingin menghantar perkataan “world”, dlm ASCII, lima aksara dikodekan sebagai: Setiap 4 aksara pertama mempunyai bilangan bit 1 yg genap, oleh itu bit pariti adalah 0. Aksara terakhir ‘d’, mempunyai 3 bit 1 (ganjil), oleh itu parity bit adalah 1 untuk menjadikan bit 1 sebagai pariti genap.
Andaikan perkataan “world” diterima oleh penerima tanpa ada ralat pada saat transmisi. Penerima mengira bit 1 dalam setiap aksara dan memperolehi nomor genap (6,6,4,4,4). Data tersebut dapat diterima.
Andaikan perkataan “world” yg diterima oleh penerima mempunyai ralat selama transmisi. Penerima mengira bit 1 dalam setiap aksara dan mendapati terdapat bilangan genap dan ganjil (7,6,5,4,4). Penerima tahu bhw data tersebut telah diubah, dan membuangnya serta memohon transmisi di ulangi. DEL
b) Longitudanal Redundancy Check
Andaikan blok di bawah dihantar:
Selama transmisi, gangguan terjadi yg mengakibatkan beberapa bit berubah (‘burst error’) Apabila penerima memeriksa LRC, setengah bit tidak mengikuti peraturan pariti genap, maka keseluruhan blok tidak diterima. T e a r LRC Q = a r LRC Q = a r LRC
c) Cyclical Redundancy Check
Teknik pemeriksaan ralat yg terbaik menggunakan konsep pengulangan Metoda penandaan ralat yang hampir tepat berdasarkan bentuk bit sebagai polinomial. Yaitu berdasarkan sebahagian (dibagi 2 bagian) Urutan bit pengulangan yg dinamakan sbg CRC atau wadah CRC, diletakkan bersamaan pada akhir unit data supaya hasilnya dapat dibagi dgn suatu nomor separoh kedua (yg ditentukan)
Proses CRC Urutan n bit 0 ditambah pd ujung unit data. n adalah suatu nomor yg kurang 1 dr bilangan bit yg terdapat dalam pembagi (bil bit pembagi = n+1) Unit data yg terhasil (dr langkah 1.) dibagi dengan pembagi menggunakan proses pembahagian separoh unit. Wadah drp pembagian ini merupakan CRC CRC (Wadah) bagi n bit yg terdapat dalam langkah 2. akan menggantikan bit-bit 0 yang ditambah pd ujung unit data (CRC mungkin juga suatu rangkaian bit 0 cth : 0000)
Unit data tiba pada penerima, diikuti oleh CRC. Penerima mengambil keseluruhan rangkaian bit yg diterima (unit data + CRC) dan membaginya dgn pembahagi yg sama utk mendapatkan wadah CRC Jika urutan sampai tanpa ralat, metoda CRC akan mendapat tiada wadah (wadah=0) dan unit data diterima Jika urutan berubah selama transmisi, pembagian menghasilkan wadah dan unit data tidak diterima
d) Checksums
Juga berasaskan konsep pengulangan yaitu dibentuk dengan menambah bit stream menggunakan arithmetik komplimen 1 (one’s complement arithmetic) dan kemudian mengkomplimen hasilnya Pada pengirim, pengeluar checksum membagik data unit kedalam segmen yg sama utk beberapa n bit Segmen ini ditambah bersama2 menggunakan one’s complement arithmetic supaya jumlah panjangnya juga n bit Jumlah itu kemudian dikomplimen dan ditambah pada ujung data unit asal sbg bit pengulang, yang dikenal sebagai medan jumlah pengecekan (checksum field)
Jika jumlah segmen data adalah T, maka checksum adalah –T. Penerima membagikan data unit, dan menambah semua segmen bersama2 dan komplimen hasilnya. Jika data unit tidak mengandungi ralat, jumlah nilai dgn menambah data segmen dan medan checksum hendaklah 0. Jika hasilnya bukan 0, paket tersebut mengandung ralat dan penerima menolak data tsb.
Contoh Checksum
Andaikan blok yg mengandung 16 bit berikut dihantar menggunakan checksum 8 bit: Nombor ditambah menggunakan 1’s complement arithmetic Corak yg dihantar adalah: SUM CHECKSUM checksum
e) Kode Hamming
Metoda ini bukan hanya sekadar mengetahui ralat, tetapi dapat juga membetulkan ralat dengan ketepatan 100% Kode Hamming utk aksara ASCII 7-bit memerlukan 4 bit pariti, menjadikannya 11 bit Bit pariti berada pada posisi 1,2,4,8 (2X), dan bit data berada pada posisi 3,5,6,7,9,10,11 Dapat juga menggunakan pariti genap dan ganjil
Contoh Hamming Code
Andaikan aksara ‘A’ dihantar menggunakan hamming code: Posisi 1,2,4,8 digunakan utk bit pariti, manakala posisi 3,5,6,7,9,10,11 digunakan utk bit data 1 2 3 4 5 6 7 8 9 10 11 ? P1 P2 B1 P4 B2 B3 B4 P8 B5 B6 B7
f) Echo Checking
Penerima mengulang semua data unit yg diterima daripada pengirim Jika aksara “ABC” ditransmit menggunakan penyemakan echo, penerima akan menghantar kembali “ABC” kepada pengirim Pengirim boleh mengenalpasti sama ada data unit yg dihantar mengandungi ralat atau tidak Jika mengandungi ralat, pengirim boleh mentransmit semula data unit tersebut
g) Parity bulatan (cyclical)
menggunakan 2 bit pengemas ralat. Melalui pariti bulatan, maka meningkatkan kecekapan mengecek ralat. Dapat juga mempunyai pengecekan pariti bulatan genap dan ganjil. Setiap bit pariti mengecek bit-bit tertentu dalam sesuatu bait. Contohnya, bit pariti pertama mengemas bit pada lokasi 1,3,5,7 dan bit pariti kedua mengemas pada lokasi 2,4,6.
Contoh Pariti Bulatan (genap)
Andaikan, kita menggunakan pariti bulatan genap, dan rentetan data unit yang hendak dihantar adalah: Maka bit pariti pertama akan memasukkan nilai 0 (kerana jumlah bit adalah genap), dan bit pariti kedua akan memasukkan nilai 1 (kerana jumlah bit adalah ganjil). Data unit P1 P2 1
SEMOGA BERMANFAAT :)