my creation

ketika koding adalah takdir

Pages

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



Monday, September 17, 2012

database

Setelah post pentingnya database, kelebihan dan kekurangannya database pada minggu lalu, kali saya akan menjelaskan sedikit tentang basisdata itu sendri. Selamat membaca bagi agan agan dan sista sista dan silahkan komen aja jika ada yang salah atau kurang karena saya sendiri sebenarnya belum terlalu mahir dengan database. Jadi, sharing aja sekalian belajar bareng.. hehe..
Seperti yang telah kita ketahui, database adalah suatu tempat dimana penyimpanan data itu berlangsung. Apa sih data tersebut.? Apakah data adalah informasi.?
Data merupakan fakta mentah yang belum diolah sehingga mempunyai makna sedangkan informasi adalah hasil dari pemrosesan data yang sudah mempunyai berita atau pengetahuan yang bermanfaat.
            Jadi database atau basisdata tersebut adalah kumpulan data yang saling berhubungan yang disimpan bersama sedemikian rupa tanpa pengulangan (redundancy).
Suatu hal diciptakan pasti mengandung tujuan, begitu juga dengan database. Tujuan dari adanya database yaitu :
  • Untuk mempercepat mendapatkan suatu data  
  •  Mengefisiensi ruang penyimpanan 
  • Kebersamaan pemakaian (sharing) 
  • Menangani data dalam jumlah besar 
  • Meniadakan duplikasi (penggandaan) dan inkonsistensi data 
  • Keamanan (security)
Komponen dari database adalah :
  • Hardware 
  • OS (Sistem Operasi) 
  • Database 
  • Software DBMS : Paket perangkat lunak yang didesain untuk melakukan penyimpanan dan pengaturan basisdata. Dengan kata lain, DBMS adalah data tanpa program. 
  •  User (pemakai) 
  • Aplikasi : Program aplikasi lain untuk mengolah data atau informasi tersebut
Arsitektur database :
  • Stand alone : Data dibangun pada komputer yang sama 
  • Sistem terpusat : Terdiri dari sejumlah server dan terminal 
  • Sistem client server : Untuk mengatasi kelemahan pada sistem terpusat 
  • DBMS (Database Management system) adalah kumpulan program yang mengolah struktur database dan mengontrol akses ke data pusat di database yakni kumpulan program yang memungkinkan pengguna untuk membuat dan memelihara database.
          Contoh : oracle, Ms. SQL Server, Ms. Access, MySQL, PostgreSQL, DB2, interbase, Paradox.
  • Bahasa database : intermediate yaitu bahasa yang digunakan untuk berkomunikasi yang terdiri dari bahasa DDL, DCL dan DML.
  • DDL (Data Definition Language) : bahasa yang mendefinisikan data.
          Contoh : create, table, create database
  • DCL ( Data Control Language) : bahasa yang mengontrol data yang bertujuan untuk mengendalikan struktur internal basisdata yang sangat bergantung pada vendor
  • DML (Data Manipulation Language) : bahasa yang memanipulasi data yang berguna untuk melakukan manipulasi dan pengambilan (query) data.
          Contoh : insert, edit (update), delete. 

mungkin begitu saja sedikit pejelasan dari saya, semoga bermanfaat.. :) 

Tuesday, September 11, 2012

pentingnya database

System basis data atau pangkalan data atau database system adalah suatu kumpulan data operasional atau informasi lengkap dari suatu pengelola (misalnya perusahaan, sekolahan, dll) yang disimpan dalam computer secara terintegrasi dan sistematik dengan menggunakan metode tertentu sehingga dapat diperiksa menggunakan suatu program computer untuk memperoleh informasi yang maksimal yang diperlukan pemakainya dari basis data tersebut.
Kelebihan menggunakan database :
•Mengehemat waktu dan biaya
Karena dengan database yang terkomputasi, kita bisa banyak menyimpan informasi seperti mencetak, memuat, menampilkan data, memudahkan pengaksesan data, mengisolasikan data, mengurangi redundasi data dan inkonsistensi.
•Terkontrolnya kerangkapan data
Dalam basis data hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya.
•Terpeliharanya keselarasan (ke-konsistenan) data
Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan
•Data dapat dipakai secara bersama (shared)
Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan.
•Dapat diterapkan standarisasi
Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran data
•Keamanan data terjamin
DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi user (misal : modify, delete, insert, retrieve)
•Terpeliharanya integritas data
Jika kerangkapan data dikontrol dan ke konsistenan data dapat dijaga maka data menjadi akurat •Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat
•Data independence (kemandirian data)
Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada
•Kemubadziran data terkurangi
Kekurangan atau kelemahan dari database :
•Memerlukan tenaga spesialis
Karena tidak semua orang bisa dalam menangani database, perlu keahlian khusus pendidikan yang intelektual tinggi
•Mahal
Karena masih sedikit orang yang pandai akan data base atau banyak orang yang suka instan membeli sehingga meminta bantuan orang lain maka biayanya pun mahal
•Kesulitan mengakses data
Karena situasi dan kondisi yang seperti ini belum ada internet dimana – mana sehingga agak kesulitan dalam menangani pengaksesan data
Mengapa perlu adanya mata kuliah system basis data.? Apa pentingnya.?
Database merupakan salah satu komponen yang penting dalam sistem informasi, karena merupakan basis dalam menyediakan informasi bagi para pemakai. Database terdiri dari data yang akan digunakan atau diperuntukkan terhadap banyak user, dari masing-masing user akan menggunakan data tersebut sesuai dengan tugas dan fungsinya. Dari uraian yang telah saya buat di atas mengenai apa itu database, kelebihan dan kekurangannya, dapat disimpulkan bahwa System basis data atau database sangat penting dalam kehidupan dan pada zaman modern yang sekarang ini karena database merupakan landasan bagi pembuatan dan pengembangan program aplikasi. Oleh sebab itu, database harus dibuat sedemikian rupa sehingga pembuatan program lebih mudah dan cepat. Tidak harus memerlukan tenaga ahli cukup kita sendiri otak dari semuanya (mau dibuat yang model kayak gimana) felksibel sehingga tidak perlu membayar tenaga ahli. Dilihat dari pendidikan (ptik), database merupakan salah satu komponen yang penting dalam sistem informasi, karena merupakan basis dalam menyediakan informasi bagi para pemakai yang diperuntukkan oleh banyak pengguna (user) yang masing-masing user akan menggunakan data tersebut sesuai dengan tugas dan fungsinya.
Jadi, mau apapun bidang dan ruang lingkupnya seperti ekonomi, manajemen, dan psikologi pastilah membutuhkan database ini yang dirasakan sangat bermanfaat. Contohnya saja jika dalam bidang psikologi dapat mencari nama mahasiswa psikologi dari nomor npm dan dapat mencari mata kuliah dari nomor kode mata kuliah. Sehingga para pengguna pun dengan mudah dan cepat dalam mencari informasi tersebut dan tanpa databse, seseorang akan beresiko kehilangan data yang di butuhkan, data yang tidak konsisten, proses update yang lambat dan lain-lain dan Pemahaman yang kuat terhadap konsep basis data akan menghindari kerancuan, kebingungan, dalam menerima teknologi baru yang berkembang dengan pesat dan semakin cepat. Mempelajari teori dan konsep basis data akan memberikan kerangka kerja dan berfikir sehingga mampu menyederhanakan suatu persoalan kompleks menuju penyelesaian yang efektif dan efisien.


referensi :
 http://ktiara92.blogspot.com/2010/04/4manfaat-database.html
http://dms-ayunk.blogspot.com/2011/04/manfaat-database.html