my creation

ketika koding adalah takdir

Pages

Thursday, December 20, 2012

SubQuery SQL

SubQuery AQL digunakan untuk menyelesaikan masalah yang nilainya tidak diketahui pada suatu tabel database.

Contoh :

Diketahui : tabel mahasiswa, tabel ambilMK dan tabel MK
Diketahui : tabel mahasiswa, tabel ambilMK dan tabel MK


Mahasiswa
nim
nama
Ambil.MK
Nim
kodeMK
nilai

kodeMK
A01
A02
A03


Permasalahan:
Ambil nama mahasiswa yang nilainya paling tinggi dari tabel diatas dengan kode 'A02'

Penyelesaian :

SELECT mahasiswa.namaMhs, ambilMK.nilai
FROM mahasiswa, ambilMK
WHERE mahasiswa.nim=ambilMK.nim
AND ambilMK.kodeMK='A02'
AND ambilMK.nilai=(select max(nilai) FROM ambilMK WHERE kodeMK='A02');

Keterangan :
SELECT mahasiswa.namaMhs, ambilMK.nilai
FROM mahasiswa, ambilMK
WHERE mahasiswa.nim=ambilMK.nim
AND ambilMK.kodeMK='A02'
AND ambilMK.nilai=
Syntaq diatas merupakan Query, sedangkan subQuerynya :
 (select max(nilai) FROM ambilMK WHERE kodeMK='A02')

Monday, November 26, 2012

dependensi-normalisasi


 
DEPENDENCY

Dependency secara harfiah jika diartikan adalah ketergantungan, sedangkan normalisasi adalah menormalkan.

Macam Dependency
  • Ketergantungan Fungsional (Functional Dependent)
Suatu bentuk ketergantungan yang menggambarkan hubungan, batasan, keterkaitan antara atribut-atribut dalam relasi. Dimana atribut tersebut dapat menentukan atribut lain.

Notasi :  A -> B
Dimana artinya : attribute A secara fungsional menetukan attribute B

Contoh nyata :
NIM -> Nama MHS 
: attribute NIM  menentukan attribute Nama MHS, dimana setiap NIM yang sama juga akan menentukan nama yang sama pula, satu NIM satu Nama MHS.

  • Ketergantungan Penuh (Full Dependency)
Suatu bentuk ketergantungan yang menunjukkan suatu ketergantungan penuh dari relasi A dan B dimana :
ü  B bergantung penuh pada A
ü  B bukan depedensi dari subset A
ü  Suatu ketergantungan hanya mengacu pada satu attribute saja
Contoh :
NIM
Nama
IPk
idRuang
5302411051
Santi H
3.6
302
5302411052
Dino K
3.12
609
5302411053
Wafa F
3.34
110

NIM -> idRuang, merupakan Full Dependency karena idRuang dapat ditentukan hanya dengan menyebutkan NIM
  • Ketergatungan Parsial (Partially Dependency)
Suatu bentuk ketergantungan dimana  A memiliki kombinasi subset-subset dan ketika salah satunya dihilangkan, maka ketergantungan masih tetap dipertahankan.
NIM
Nama
IPk
idRuang
5302411051
Santi H
3.6
302
5302411052
Dino K
3.12
609
5302411053
Wafa F
3.34
110


Contoh :
NIM,nama -> idRuang
dimana jika nama dihilangkan maka ketergantunga antara dua attribute tertap ada.
·         Ketergantungan Transitif (Transitive Dependency)
Suatu bentuk kondisi ketergantungan dimana  A,B,C adalah attribute sebuah relasi, dengan ketentuan Aà B dan BàC.
C kemudian dikatakan sebagai transitif D terhadap A melalui B.

Contoh :
NIP
Nama
Jabatan
Gaji/jt
KdCab
AlmtCab
001
Agus Dwi
QC
3,5
012
Semarang
002
Bambang B
CS
1,2
123
Jogjakarta
003
Rahmawati
SV
4,0
034
Surabaya

NIP ->  {Nama, Jabatan, Gaji, KdCab, AlmtCab}
kdCab ->   AlmtCab
artinya : alamat cabang ditentukan oleh NIP melalui kdCab

NORMALISASI

Normalisasi merupakan suatu proses pembentukan struktur basis data sehingga sebagian besar ambiguity dapat dihilangkan.
Normalisasi digunakan untuk :
  • Mengoptimalisasi struktur-struktur tabel
  • Meningkatkan kecepatan
  • Menghilangkan pemasukan data yang sama
  • Lebih efisien dalam penggunaan media penyimpanan
  • Mengurangi redudansi
  •  Menghindari anomaly
  • Peningkatan integritas data

Langkah-langkah Normalisasi
  1. Bentuk tidak normal
  2. 1NF : Menghilangkan attribute bernilai ganda
  3. 2 NF : Menghilangkan depedensi parsial
  4. 3NF : Menghilangkan depedensi transitif
  5. BCNF : Menghilangkan ketergantungan yang penentunya bukan kunci kandidat
  6. 4NF : Mengilangkan lebih dari 1 depedensi yang bernilai ganda
  7. 5NF : Mengatasi depedensi ganda

Tuesday, November 13, 2012

Query Language

Query Language 
(Bahasa yang meminta perintah dengan melibatkan data)

Relational Queries Language (RQL) :
ERD --> Model data Relational --> Query language

Relational Queries Language  diawali dengan pembuatan ERD yang kemudian diubah menjadi model data relational berupa table informasi terbatas kemudian diterjemahkan ke Query Language.

Bahasa Query Language
  • Bahasa Prosedural
Bahasa yang identik dengan aljabar  relational, berupa operasi dasar seperti select* dan beberapa operasi tambahan.
  • Bahasa non Prosedural
Bahasa yang identik dengan kalkulus relational, yaitu mendeskripsikan informasi tanpa memberi instruksi.


Query Unary
Yaitu query selection yang digunakan pada relasi binary,

Contoh1 :

Ada beberapa data pada suatu table bernama dosen yang kemudian akan dipilh data tersebut berdasarkan tempat_lahir dengan ketentuan :

Tempat_lahir=’jakarta’   v   tempat_lahir=’bogor’ dari table dosen
Artinya : menampilkan dosen dengan tempat lahir Jakarta atau bogor.

Syntaq pada SQL : select * from dosen where tanggal_lahir=’jakarta’

Contoh2 :

Ada beberapa data pada suatu table bernama dosen yang kemudian akan dipilh data tersebut berdasarkan tempat_lahir dengan ketentuan :

Tempat_lahir=’jakarta’  ^  jenis_kelamin=’pria’ dari table dosen
Artinya : menampilkan dosen dengan tempat lahir Jakarta dan berjenis kelamin pria.

Syntaq pada SQL : select * from dosen where tanggal_lahir=’jakarta’ and jenis_kelamin=’pria’
Dalam contoh diatas terdapat tanda “v”, dan ada juga tanda “^” , perbedaan kedua tanda tersebut adalah :

^ = berarti mengharuskan
v = bisa dipilih salah satu 

Tuesday, October 2, 2012

Model Data Relational

Model data relational adalah kumpulan tabel yang berdimensi dua dengan masing-masing relasi (relations) tersusun atas tuple (baris) dan atribut (kolom) pada suatu basis data.
Relasi adalah tabel yang terdiri dari beberapa kolom dan beberapa baris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Struktur data dasar untuk menyimpan informasi. Strukturnya sebagai tabel ( kumpulan tabel-tabel). Setiap relasi memiliki schema yang mendeskripsikan nama relasi dan atribut beserta tipenya.
Contoh : Mahasiswa= (nim:string, nama_mhs:string).
Penjelasan: Mahasiswa adalah nama relasi. Nim dan nama_mhs adalah nama atribut. String adalah tipe dari atribut.
Attribute adalah kolom pada sebuah relasi.
Tuple adalah baris pada sebuah relasi, atau kumpulan elemen-elemen yang saling berkaitan yang menginformasikan tentang suatu entitas secara lengkap.
Domain adalah seluruh kemungkinan nilai yang dapat diberikan kesuatu attribut. Memberi nama domain yang sesuai dengan nilai yang akan dimiliki domain tersebut. Domain menentukan tipe data dari nilai yang akan membentuk domain dan menentukan format dari domain.
Degree adalah jumlah atribut dalam sebuah relasi.
Cardinality adalah jumlah tuple dalam sebuah relasi.
Baris disebut tuple. Kolom disebut attribute. Tabel disebut relation. Domain : kumpulan dari harga atomik yang dapat dimiliki oleh suatu kolom / attribut.
Istilah alternatif
Batasan-Batasan Integritas ( Integrity Constraints) adalah suatu batasan-batasan yang diberikan terhadap suatu relasi. Ditetapkan ketika schema didefinisikan. Dicek ketika relasi-relasi di modifikasi atau dimanipulasi (penambahan, pengubahan, penghapusan dan pencarian/menampilkan data). Relational Integrity Rules Null adalah suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut. Nilai (konstanta) Null digunakan untuk menyatakan / mengisi atribut-atribut yang nilainya memang belum siap/tidak ada.
Entity Integrity adalah tidak ada satu komponen primary key yang bernilai null.
Referential Integrity adalah garis yang menghubungkan antara satu tabel dengan tabel lain.
Contoh  : garis yang menghubungkan nama, alamat dan tanggal lahir.

Relation key terdiri dari candidat key, primary key, alternate key dan foreign key: 
Cardidate Key adalah atribut yang digunakan untuk membedakan antara satu baris dan dengan baris yang lain.
Primary Key adalah Candidate Key yang digunakan untuk mengidentifikasikan tuple yang unik pada suatu relasi.
Alternate Key adalah Candidate key yang tidak menjadi Primary key.
Foreign Key adalah sebuah atribut dalam suatu relasi yang merujuk ke primary key relasi lain.
Contoh : 
yang bertanda angka 1 (primary key) adalah foreign key.
latihan

relasi :

atribut key :
nim, siswa, alamat yang ada di tabel 1 merupakan candidate key, begitu juga kode, pelajaran, sks pada tabel 2, pada tabel ketiga, dst.
nim pada tabel 1, kode pada tabel 2, nip pada tabel ketiga dan nim pada tabel keempat merupakan primary key.
nim dan kode pada hubungan merupakan foreign key.
ERD:siswa belajar/ diajar guru pada pelajaran tertentu sehingga menhasilkan hasil yakni nilai.

Saturday, September 22, 2012

Diagram E-R



Salah satu cara menyajikan data untuk mempermudah modifikasi adalah dengan pemodelan data.
Entity relationship model digunakan untuk menggambarkan bentuk entity, attribute dan relationship antar entitas, yakni bisa menjembatani antar objek nyata dan basis data. Sedangkan entity relationship diagram merupakan diagram yang menggambarkan hubungan antara entitas dan relasi yang mengekspresikan basis data dengan sederhana dan jelas yang penggambaran dan penyimbolannya berupa persegi dan elips serta garis sebagai penghubung antara yang satu dengan yang lain.
                Entitas adalah objek yang ada dan dapat dibedakan denngan objek lain dalam dunia nyata yang mempunyai attribute dan yang membedakan antar objek yang satu dengan objek yang lain.
Contoh : mahasiswa mempunyai entitas (kampus) dan attribute (belajar), yakni mahasiswa belajar di kampus.
Entity set adalah kumpulan entitas yang mempunyai tipe yang sama.
Contoh : kumpulan hewan, dll.
Symbol :
Attribute adalah suatu representasi dari beberapa attribute yang mempunyai property diskriptif yang dimiliki oleh semua anggota dari semua set entitas.
Symbol : nama_attribut
Setiap attribute harus mempunyai kunci atau key yang harus tersimpan unik (satu).
Contoh : di antara (nama_nim_alamat) yang mempunyai primary key adalah nim, karena setiap mahasiswa mempunyai nim yang berbeda, tidak seperti nama atau alamat mahasiswa yang mungkin akan mempunyai nama atau alamat yang sama.
Set nilai (value set), yaitu nilai yang diisi ke dalam masing-masing attribute yang mencakup tipe data, panjang.
Contoh : nim_tipedata char, panjang 10 digit.
Begitu juga pada tipe data tanggal atau waktu menggunakan date atau time.
Jenis-jenis attribute :
Atomic attribute, yakni atribut yang mempunyai komponen tunggal dan tidak dapat diuraikan lagi.
Contoh : attribute nim dalam mahasiswa, tidak seperti nama pada mahasiswa dapat diuraikan menjadi nama lengkap, nama pendek, dsb.
Attribute komposit, yaitu attribute yang terdiri dari beberapa attribute.
Contoh: mahasiswa mempunyai attribute alamat, nim, dll.
Single valued attribute, adalah attribute yang hanya mempunyai satu nilai pada entitas tertentu.
Contoh : attribute jenis kelamin pada mahasiswa, yakni mahasiswa hanya mempunyai satu jenis kelamin atau hanya satu jenis kelamin yang dimiliki mahasiswa.
Multi valued attribute, attribute yang terdiri dari sekumpulan nilai untuk suatu entitas tertentu.
Contoh : attribute hobi pada entitas mahasiswa, yakni mahasiswa bisa memilih banyak hobi dengan mencentang pilihan yang disediakan.
Derived attribute, attribute yang dihasilkan dari attribute lain yang tidak berasal dari satu entitas.
Contoh : attribute umur pada mahasiswa, mahasiswa hanya memasukkan tanggala lahir lengkap kemudian secara otomatis akan diketahui umur.
Diantara entitas dan attribute terdapat relationship, yaitu hubungan yang terjadi antara satu atau lebih entry.
Symbol dari relationship :



Contoh : entitas mahasiswa yang terdiri dari nim=”5302411052” nama=”minhatulmaula” berelasi dengan makul kode=”12345” nama_kuliah=”basisdata”. Relasi di antara keduanya=”mahasiswa dengan nim dan nama tersebut sedang mengambil makul dengan kode makul tersebut”.






Kardinalitas ratio, merupakan penjelasan dari jumlah hubungan antara entitas yang satu dengan yang lain (rasio).
Jenis –jenis kardinalitas :
one to one adalah satu entitas pada entitas A yang berhubungan dengan satu entitas pada B, atau sebaliknya satu entitas B berhubungan dengan satu entitas A.
Contoh : satu manager mengatur satu perusahaan, atau satu perusahaan diatur satu manager.

dimana: manager A mengatur department x,  manager B mengatur department y dan manager C mengatur department z.
One to many : satu entitas di A yang dihubungkan dengan banyak banyak entitas di B.
Contoh : banyak karyawan yang bekerja satu pabrik.
Relasi:
               

dengan : pekerja A bekerja pada perusahaan x  dimana pegawai B juga bekerja pada perusahaan tersebut, pekerja C bekerja pada perusahaan z dan pegawai D dan E mempunyai tempat kerja yang sama di perusahaan y.
Many to many : entitas A yang dihubungkan dengan banyak entitas B, begitu juga sebaliknya.
Contoh : satu karyawan yang bekerja di beberapa projek, satu projek bekerja di dalam beberapa karyawan.
Tahap pembuatan diagram E-R :
  •           Mengidentifikasi dan menetapkan semua himpunan entity yang akan terlibat
  •          Menentukan atribut –atribut dari entitas
  •          Menentukan relationship
  •          Menentukan atribut dari relationship
  •          Menentukan ratio cardinal
  •          Menentukan participant constraint
Contoh :
Peminjaman buku perpustakaan (spesifikasi database)
Attribute : (judul buku, jumlah buku, kode buku), (nim, nama, alamat)
Entity       : buku, customer

Entity
Attribute
Buku
Customer (mahasiswa)
Judul buku, jumlah buku, kode buku
Nama, nim, alamat