Tuesday, 1 December 2015

INTEGRITAS DATA

INTEGRITAS DATA

Integritas data adalah jaminan suatu data agar mempunyai data yang konsisten dan sesuai terhadap batasan-batasan data tersebut. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitas, dan kualitas tinggi dari sebuah data. Tujuan sederhana dari integritas data adalah untuk memastikan bahwa setiap data yang diinputkan memiliki kesesuaian dengan data yang seharusnya. Contoh sederhana integritas data adalah pemasukan usia manusia yang tidak mungkin bernilai minus.
Ada beberapa cara untuk menajaga integritas data, yang pertama bisa dengan dilindungi di inputan software, bisa juga dijaga dilevel sql/database. Pencegahan gangguan integritas data di level software bisa dilakukan dengan cara memastikan inputan di form valid. Sedangkan integritas data via SQL bisa dilakukan dengan cara menambahkan constrain check.
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 “jenis_kelamin” untuk yang isinya hanya boleh berisi laki-laki atau pria
§  Maka sintaksnya dalam SQL adalah :
create domain gender char(10) constraint jk_domain check ( value in(‘laki-laki’,’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 recordlainnya 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 tabel
Misal diketahui atribut nim seperti dibawah ini :
nim char(7)
            Maka kita bisa membuat integritas relasi seperti dibawah ini :

constraint fk_nim foreign key (nim) references mahasiswa (nim) on delete cascade / on delete set   null /  on update cascade 

index :
BASIS DATA VS SISTEM BASIS DATA, INTEGRITAS DATA , TRANSAKSI DAN CONCURRENCY , XML, BACK-END PROGRAMMING

BASIS DATA VS SISTEM BASIS DATA

BASIS DATA VS SISTEM BASIS DATA
Basis Data
            Basis data terdiri dari dua kata. Basis dapat diartikan sebagai suatu markas/gudang, atau tempat berkumpul. Data adalah fakta yang mewakili suatu objek yang ada di dunia nyata. Misalnya manusia, barang, hewan, peristiwa dan yang lainnya yang disimbolkan dalam bentuk angka, huruf simbol, teks gambar, bunyi atau kombinasi. Jadi basis data adalah sekumpulan data/arsip yang saling berhubungan sedemikian rupa agar bisa dimanfaatkan kembali.
            Tujuan utama basis data adalah untuk kemudahan dan kecepatan dalam pengambilan kembali data. Adapun tujuan lainnya adalah sebagai berikut :
·         Kecepatan & kemudahan (speed)
Dengan memanfaatkan basis data, memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan/ manipulasi terhadap data atau menampilkan kembali data tersebut secara lebih cepat dan mudah.
·         Efisiensi ruang penyimpanan (space)
Karena keterkaitan yang erat antara kelompok data dalam sebuah basisdata,maka redundansi (pengulangan) pasti akan selalu ada, sehingga akan memperbesar ruang penyimpanan. Dengan basisdata, efisiensi ruang penyimpanan dapat dilakukan dengan menerapkan sejumlah pengkodean, atau dengan membuat relasi-relasi antar kelompok data yang saling berhubungan.
·         Keakuratan (accuracy)
Pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint), dmain data, keunikan data, dsb, yang secara ketat dapat diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidak akuratan penyimpanan data.
·         Ketersediaan (availability)
Dengan pemanfaatan jaringan komputer, maka data yang berada di suatu lokasi/cabang dapat juga diakses (tersedia/available) bagi lokasi/cabang lain.
·         Kelengkapan (completeness)
Kelengkapan data yang disimpan dalam sebuah database bersifat relatif, bisa jadi saat ini dianggap sudah lengkap, tetapi belum tentu pada suatu saat dianggap lengkap. Untuk mengakomodasi kelengkapan data, seperti
·         Keamanan (security)
Aspek keamanan dapat diterapkan dengan ketat, dengan begitu kita dapat menentukan pemakai basis data serta obyek-obyek didalamnya ,serta jenis-jenis operasi apa saja yang boleh dilakukannya.
·         Kebersamaan pemakaian (sharability)
Basis data yang dikelola dengan aplikasi multi user dapat memenuhi kebutuhan ini.

Sistem Basis Data
Basis data hanyalah sebuah objek pasif. Ia tidak akan pernah berguna jika tidak ada pengelola dan penggeraknya. Yang menjadi penggerak atau pengelola basis data ini adalah sebuah aplikasi. Gabungan antara basis data dan pengelolanya disebut sebuah sistem. Menurut Fatansyah (2012:11) sistem adalah Sistem adalah tatanan yg terdiri atas sejumlah komponen fungsional yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses tertentu. Sedangkan basis data seperti yang sudah disebutkan di atas adalah kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
Jadi, sistem basis data adalah sebuah sistem yang terdiri atas kumpulan basis data dan sekumpulan program (yang biasa disebut DBMS) yang memungkinkan beberapa pemakai dan/atau program lain untuk mengakses dan memanipulasi tabel-tabel tersebut.
            Sistem basis data terdiri dari beberapa komponen utama yang membangunnya, yaitu :
1.      basis data itu sendiri, yang menjadi inti dari sistem basis data,
2.      perangkat lunak, untuk mengelola dan menggerakan basis data,
3.      perangkat keras, sebagai pendukung operasi pengelolaan data,
4.      pemakai, yang mempunyai peran penting dalam pengelolaan sistem tersebut
5.      Metode, yang digunakan berpengaruh terhadap tingkat efisien dan efektifnya suatu system pengolahan data.
Jika basis data memiliki kelebihan dalam hal kecepatan dan kemudahan dalam mengelola data. Maka, sistem basis data juga memiliki keuntungan yang sama, namun memiliki kelebihan yang lainnya, yaitu:
1.      Tidak ada duplikasi data sehingga konsistensi data mudah dijaga.
2.      Data terintegrasi.
3.      Data tidak tergantung pada program aplikasi, sehingga pemeliharaan programa plikasi mudah dilakukan.
4.      Data dapat dipakai secara bersama oleh beberapa pemakai.
5.      Dapat diterapkan standarisasi.
6.      Data dapat dengan mudah dikelola dan efektif.
7.      Informasi selalu up to date.

index :

Thursday, 9 April 2015

BASIS DATA

BASIS DATA


Basis data (data base) dapat diartikan sebagai himpunan kelompok data yang diolah sedemikian rupa sehingga dapat dimanfaatkan kembali dengan mudah. Tujuan dibangun basis data adalah untuk mempercepat akses data, mempermudah akses data, mengakuratkan pemrosesan data dan masih banyak tujuan lainnya.

ERD (Entity Relationship Diagram)

Entity Relationship Diagram adalah cara pemodelan dunia nyata kedalam ‘dunia’ database. ERD merupakan suatu konseptual tentang database atau merupakan sebuah model perancangan sebuah database. Oleh karena itu, ERD harus dibuat pertama kali ketika kita akan membuat sebuah database. Adapun komponen ERD adalah sebagai berikut :

Entitas

Entitas adalah suatu objek/individu yang memiliki sesuatu hal yang nyata, dan dapata dibedakan antara satu objek dengan objek yang lain. Entitas ini pada penerapannya dalam data base akan menjadi sebuah tabel. Contoh entitas : mahasiswa, barang, pekerja, dan yang lainnya. Entitas di dalam ERD disimbolkan dengan bidang datar persegipanjang.

Atribut  

Atribut merupakan karakteristik yang dimiliki oleh suatu entitas atau relasi. Atribut ini akan menjelaskan detail tentang sebuah entitas. Misalnya entitas Mahasiswa mempunyai atribut nim, nama, jenis_kelamin, tempat_tanggal_lahir, alamat. Atribut ini dalam database akan menjadi sebuah kolom. Penulisan nama atribut tidak boleh ada spasi. 

Dalam atribut ada yang disebut dengan primary key. Apa itu primary key? Primary key ada sebuah atribut yang unik. Maksud unik disini adalah atribut itu bisa membedakan setiap baris pada tabel database. Penulisan atribut primary key pada ER-D dengan cara menggaris bawahi nama attribut, atau diawali dengan tanda pagar (#). Misalnya attribut : nim atau #nim, kd_barang atau #kd_barang.

Attribut ini disimbolkan dalam sebuah ER-D dengan bangun datar opal. Contoh entitas barang mempunyai atribut : kd_barang, nama_barang, jenis_barang, harga.


Relasi

Relasi ini menggambarkan hubungan antara entitas. Seperti kita tau, bahwa dalam sebuah database tidak mungkin satu entitas (tabel) berdiri sendiri melainkan harus berhubungan dengan tabel lain. Relasi disimbolkan dengan bangun datar belah ketupat. Contoh relasi adalah : menyuplai, mengontrak, mengajar.


Kardinalitas

Kardinalias menggambarkan banyaknya jumlah maksimum entitas dapat ber-relasi dengan entitas yang lain. Kardinalitas di simbolkan dengan huruf 1 dan n. Ada beberapa jenis kardinalitas.

- One to One

- One to Many or Many to Many

-Many to Many

DDL (Data Definition Language)


DDL (Data Definition Language) adalah sebuah bahasa pemograman database yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) database beserta objek lainnya.

Create 


- Database
  Create database nama_database;

- Tabel
Create table nama_tabel(
field1 tipedata;
field2 tipedata;
.
.
);


Contoh 
--Membuat database
Create database rumah_sakit;
--Membuat table
create table pasien(
id_pasien varchar(10) primary key,
nama varchar(20) not null,
alamat varchar(30) not null,
jenis_kelamin varchar(10) not null
);

Alter

  --Mengubah nama tabel
  alter table NamaTableAwal rename to NamaTabelSekarang;

  --Menambah Kolom di tabel
  alter table namaTable add column namaColumn tipe data;

  --Mengganti Nama Kolom
alter table namaTable change KolomAsal KolomSekarang tipedata;

  --Merubah tipe data
 alter table namaTable modify namaKolom tipedataSekarang;

  --Menghapus kolom
  alter table namaTable drop column namaKolom;

Contoh
--Merubah nama Tabel 
alter table pasien rename rename to pelanggan;
--Menambah kolom
alter table pelanggan add column usia int not null;
--Mengganti nama kolom
alter table pasien change nama nama_pasien varchar(20) not null;
--Mengganti tipe data
alter table pasien modify tanggal_lahir date;
--Mengapus kolom
alter table pasien drop column alamat;  

Drop

  --Menghapus Table
drop table namaTable;

  --Menghapus Database
  drop database namaDatabase;

Contoh
--Menghapus Tabel
drop table pasien; 
--Menghapus database
drop database rumah_sakit;

DML (Data Manipulation Language)

Data Manipulation Language (DML) adalah sebuah bahasa basisdata yang berguna untuk memanipulasi data yang ada di database. Ada 4 perintah/syntax pada DML yaitu select, insert, update dan delete.

Select

Perintah select digunakan untuk mengambil informasi yang ada didalam database.
--Untuk menampilkan semua isi dari table.
select * from namaTabel;
--Untuk Menampilkan beberapa kolom pada tabel
select namaKolom1, namaKolom2, form namaTabel;
--Untuk Menampilkan berdasarkan kondisi tertentu
Select namaKolom from namaTabel where kondisi;
--Untuk Menampilkan Kolom dari beberapa tabel
Select namaKolom
From namaTable
Where kondisi;
Contoh
--menampilkan semua isi tabel
select * from pasien;
--menampilkan beberapa kolom pada tabel
select nama_pasien, usia form pasien;
--menampilkan berdasarkan kondisi tertentu
Select nama_pasien from pasien where usia >20;
--menampilkan kolom dari beberapa tabel
Select a.nama_pasien, b.pelayan
from pasien a, pelayan b
Where a.pelayan=b.pelayan;

Operator-operator

  • Operator And : akan terpenuhi jika dua berpernyataan terpenuhi
  • Operator Or : akan terpenuhi jika salah satu pernyataan terpenuhi
  • Operator Between dan Not between: memilih data berdasarkan batas-batas tertentu
  • Like dan Not Like : digunakan untuk menyeleksii apakah dalam data ada karakter yang diinginkan.
  • Like/not like “%...” : menampilkan yang berakhiran sesuai kondisi
  • Like/not like “....%”: menampilkan yang berawalan sesuai kondisi
  • Like/not like “%...%” : menampilkan kata yang mengandung karatkter sesuai kondisi baik itu didepan, awal, atau tengah
Contoh
--Contoh operator AND
select nama_petugas from petugas where usia=20 and alamat=”Cianjur”; 
--Contoh operator AND
select nama_petugas from petugas where alamat=”Cianjur” or alamat=“Cikadu”; 
--contoh operator between
select nama_pasien from pasien where usia betwen 20 and 30; 
--contoh like yang diawal
Select nama_pasien from pasien where nama_pasien like “fa%”; 
--contoh like yang bagian mana saja
Select nama_pasien from pasien where nama_pasien like “%kh%”; 
--contoh like yang bagian mana saja
Select nama_pasien from pasien where nama_pasien like “%ri”; 

Insert

Insert digunakan untuk memasukan data kedalam sebuah kolom, ada dua cara melaksanakan insert.
- Cara Langsung
insert into namaTable values (isi1, isi2, isi3,...);
insert into namaTable values (isi1, isi2, isi3,...);
atau
insert into namaTable values
(isi1, isi2, isi3,...),
(isi1, isi2, isi3,...);
- Cara Tidak Langsung
insert into namaTabel(field1, field2, field3,..) values (isi1, isi2, isi3,..);
insert into namaTabel(field1, field2, field3,..) values (isi1, isi2, isi3,..);
atau
insert into namaTabel(field1, field2, field3,..) values
(isi1, isi2, isi3,..),
(isi1, isi2, isi3,..);
Contoh
--Insert langsung
insert into pasien valeus
('PS1345','Kevin','Laki-Laki','Cianjur'),
('PS1334','Jubaedah','Perempuan','Cianjur');
--Insert tidak langsung
insert into pasien (id_pasien, nama_pasien, jenis_kelamin, alamat) values
('PS1345','Kevin','Laki-Laki','Cianjur'),
('PS1334','Jubaedah','Perempuan','Cianjur');

Update

Perintah update digunakan untuk memperbaharui data lama yang sudah ada di dalam database dengan data yang baru. Untuk melakukan update harus menggunakan sebuah kondisi (where).
update namaTable set field1=data_bara, field2=data_baru,....
where kondisi;
Contoh
update pasien set nama_pasien='Muhammad' where id_pasien='PS1234'

Delete

Perintah delete digunakan untuk menghapus baris data (record). Perintah delete juga harus menggunakan sebuah kondisi (where).
delete from namaTabel where kondisi;
Contoh
delete from pasien where id_pasien='PS1234';

Agregrasi


Agregrasi adalah hitungan matematik sederhana dalam SQL. Fungsi-fungsi agregrasi yaitu : 


  • AVG : digunakan untuk mengambil rata-rata dari sebuah tabel.
  • Count : digunakan untuk mengitung jumlah data (baris) dari tabel yang dipilih.
  • Max : digunakan untuk mendapatkan nilai tertinggi dari sebuah kolom
  • Min : digunakan untuk mendapatkan nilai terendah dari sebuah kolom
  • Sum : digunakan untuk menghasilkan nilai total dari sebuah kolom numerik
  • Round : digunakan untuk menghasilkan angka desimal didalam sebuah kolom numerik
Contoh
--average
select avg(usia,2) from pasien;
--rata-rata dua angka dibelakang koma
select round(avg(usia),2) from pasien;
--count
select count(nama_pasien) from pasien;
--Max
select max(usia) from pasien;
--Min 
select min(usia) from pasien;
--Sum
select sum(usia) from pasien;

Grouping

  • Order By : Order By adalah pengelompokan (grouping) sebuah berdasarkan nilai tertentu. Ada dua jenis order by yaitu order by ascending, dan descending.
  • Group By : digunakan untuk mengelempokan beberapa data pada perintah select.
  • Having : having ini mempunyai fungsi sama seperti where sebagai kondisi yang diinginkan. Tapi having digunakan pada fungsi agregasi.
  • View : merupakan sebuah table bayangan. Maksud bayangan disini table view sebenarnya (dalam database) tidak ada. View ini biasanya merupakan gabungan dari beberapa tabel. 
Contoh
--order by
select *from pekerja order by tgl_lahir asc;
--group bu
select *from pekerja group by nama_pekerja;
--Having
select nama_pasien, alamat from pasien having avg(usia)>20;
--view
create view V_rawat as Select a.id_pasien, a.nama_pasien, b.nama_pekerja, c.no_kamar
from pasien a, pekerja b, kamar c,
where a.id_pasien=c.id_pasien and b.id_pegawa=c.id_pegawai;

    Tipe Data

    Tipe Data Bilangan

    • Tinyint
    • Smallint
    • Int
    • Bigint
    • Float
    • Double
    • Real
    • Decimal

    Tipe Data waktu

    • Date
    • Time
    • Datetime
    • Timestamp
    • Year

    Tipe Data Lainnya

    • Char
    • Varchar
    • Tinyblob, tinytext
    • Mediumlob, mediumtext
    • Longlob, longtext
    • Enum
    • Set

    Syntax Lainnya
    --Menggunakan database
    use namaDatabase;
    use rumah_sakit;
    --Menampilkan database
    show databases;
    --menampilkan tabel
    show tables;