Jumat, 23 November 2012

Query Language

Query Language merupakan bahasa yang digunakan untuk mengolah atau memanipulasi sebuah sistem basis data.
Selengkapnya ... >>

Rabu, 24 Oktober 2012

Transformasi Model Data

Varian entity:
  1. Entity kuat : merupakan sekumpulan entity yang dilibatkan dalam ERD dan tidak bergantung pada keberadaan kumpulan entity lainnya.
  2. Entity lemah : merupakan entity yang keberadannya bergantung dengan keberadaan entity yang lain. Entity ini tidak mempunyai attribute yang dapat berfungsi sebagai key attribute.
Agregasi : merupakan penggambaran suatu himpunan relation yang secara langsung menghubungkan sebuah himpunan entity dengan sekumpulan relation di dalam suatu ERD. Agregasi dapat dilakukan jika telah ada relation, dimana relation yang terbentuk tidak hanya dari entity tetapi mengandung unsure relation yang lain.

Transformasi Model Data ke Basis Data Fisik

Langkanya:
  1. Setiap komponen ERD (entity dan relation) diwujudkan dalam bentuk table yang mewakili masing-masing komponen ERD.
  2. Setiap attribute pada entity/relation diwujudkan sebagai field dari table yang bersangkutan.
  3. Setiap entity diimplementasikan dalam sebuah table (file data).
  4. Untuk relation berserajat 1 - 1, salah satu entity akan ditambahkan attribute dari entity lain sebagai penghubung antar entity tersebut.
  5. Untuk relation berderajat 1 – N, attribute key dari entity yang mempunyai derajat 1 akan ditambahkan ke entity yang mempunyai derajat N.
  6. Untuk relation berderajat N – N, attribute dari relation akan diwujudkan dengan table khusus dimana field-nya(attribute) diperoleh dari attribute key entity yang saling berhubungan.
Implementasi Himpunan Entity Lemah dan Sub Entity

Berbeda dengan himpunan entity kuat dimana setiap entity dapat langsung diimplementasikan dalam sebuah table utuh tanpa perlu memperhatikan relation yang terjadi denganentity lain, pada himpunan entity lemah meskipun dapat diimplementasikan dalam bentuk table tetapi harus menyertakan attribute key dari hasil implementasi himpunan entity lemah.
Selengkapnya ... >>

Kamis, 04 Oktober 2012

Tugas Model Data Relational

LATIHAN 1
Tentukan Relational key-nya
  1. Entity account
    candidate key: account-number, balance
    primary key: account-number
    alternate key: balance foreign key: -
  2. Entity branch
    candidate key: branch-name, branch-city, assets
    primary key: branch-name
    alternate key: branch-city, assets
    foreign key: -
  3. Entity loan
    candidate key: loan-number, amount
    primary key: loan-number
    alternate key: amount
    foreign key: -
  4. Entity customer
    candidate key: customer-name, customer-street, customer-city
    primary key: customer-name
    alternate key: customer-city, customer-street
    foreign key: -
LATIHAN 2
Buat tabel-tabel dan keterhubungannya:
  • Siswa, pelajaran, guru dengan minimal masing-masing tabel mempunyai 5 record/tuple/baris.
  • Buat tabel baru untuk keterhubungannya
  • Tunjukkan attibute kunci yang ada
  • ERD
  1. Tabel siswa, pelajaran, guru
    1. Tabel siswa
NIS
Nama
Kelas
Jenis Kelamin
Tanggal lahir
2012
Ahmad Sobirin
XI-A
Laki-laki
12-3-1996
2023
Mulyani
XI-A
Laki-laki
3-5-1995
2024
Oktaviani
XI-A
Perempuan
22-3-1995
2045
Putri Wulandari
XI-B
Perempuan
11-8-1995
2051
Pujiono
XI-B
Laki-laki
30-9-1994
    1. Tabel pelajaran
Kode_mapel
Nama Mata Pelajaran
Pengampu
A01
Pendidikan Kewarganegaraan
Mulyono
A03
Bahasa Indonesia
Megawati
A04
Pendidikan Agama Islam
Susilo
A32
Matematika
Albertus
A34
Fisika
Albertus
    1. Tabel guru
NIP
Nama
Mengampu
Jenis Kelamin
Tanggal lahir
20121234
Albertus
Matematika, Fisika
Laki-laki
12-3-1956
20231432
Sugiyono
Geografi, Sejarah
Laki-laki
3-5-1975
20244324
Purnomo
Kimia, Biologi
Perempuan
22-3-1965
20456533
Megawati
Bahasa Indonesia, Bahasa Inggris
Perempuan
11-8-1975
20519767
Susilo
Pendidikan Agama Islam, Seni Rupa
Laki-laki
30-9-1984
  1. Tabel keterhubungan
Entity
Relationship
Entity
Siswa
Menerima
Pelajaran
Guru
Mengampu
Pelajaran
  1. Attibute kunci
Attribute Kunci
Entity
Attribute
Siswa
NIS, nama, kelas, jenis_kelamin, tanggal_lahir
Pelajaran
Kode_mapel, nama, pengampu
Guru
NIP, nama, mengampu, jenis_kelamin, tanggal_lahir
Primary Key
Entity
Attribute
Siswa
NIS
Pelajaran
Kode_mapel
Guru
NIP

  1. ERD



Selengkapnya ... >>

Rabu, 03 Oktober 2012

Model Data Relational

Model Data Relational adalah kumpulan tabel 2 dimensi yang menyatakan masing-masing relasi(relations) dan tersusun atas baris(tuple) dan kolom(attribute) pada sebuah basis data. Masing-masing tabel memiliki struktur yang mirip dengan ER database.

Istilah-istilah dalam Relational Data Model
  1. Relasi
    Sebuah tabel yang terdiri dari beberapa kolom dan baris. Menunjukkan adanya hubungan antara entity yang berasal dari himpunan entity yang berbeda. Merupakan struktur data dasar untuk menyimpan informasi. Setiap relasi memiliki schema yang mendiskripsikan nama relasi dan atribut serta tipenya.
  2. Attribute
    Kolom pada sebuah relasi
  3. Tuple
    Baris pada relasi, atau kumpulan elemen yang saling berkaitan untuk menginformasikan tentang suatu entity secara lengkap
  4. Domain
    Seluruh kemungkinan nilai yang dapat diberikan ke suatu attribute
  5. Degree
    Jumlah attibute dalam sebuah relation
  6. Cardinality
    Jumlah tuple dalam sebuah relation

Istilah Alternatif
ER ModelRelational ModelDatabaseTraditional Programmer
EntityRelationTableFile
Entity InstanceTupleRowRecord
AttibuteAttibuteColumnField
IdentifierKeyKeyKey (link)

Relational Key
  1. Candidate Key
    Attribute yang digunakan untuk membedakan antara satu baris dengan baris rang lain.
  2. Primary Key
    Candidate Key yang digunakan untuk menidentifikasi tuple yang unik pada sebuah relasi.
  3. Alternate Key
    Candidate Key yang tidak menjadi Primary Key.
  4. Foreign Key
    Sebuah attribute dalam relasi yang merujuk pada primary key relasi lainnya.
Relational Integrity Rules
  1. NULL
    Nilai suatu atribut yang tidak diketahui atau tidak cocok dengan tuple tersebut. Nilai NULL menyatakan atribut yang nilainya tidak ada.
  2. Entity Integrity
    Tidak ada satu komponen primary key yang bernilai NULL.
  3. Referential Integrity
    Garis yang menghubungkan antara satu tabel dengan tabel lain.
Selengkapnya ... >>

Rabu, 26 September 2012

Diagram E-R (Entity Relationship)

Entity Relationship (E-R) adalah sebuah cara yang digunakan untuk menjelaskan atau menggambarkan sebuah struktur basis data secara sederhana dan jelas. Tujuan dari E-R adalah memberikan gambaran secara sederhana antar entitas dan relasinya dengan entitas lain agar lebih mudah dipahami. E-R dibagi menjadi dua yaitu:
  • E-R Model (Entity Relational Model)
    Merupakan cara untuk mendeskripsikan data dalam bentuk entity, attribute, dan relationship antar entity. Lebih berfokus pada konsep tentang entity, attribute dan relaionship.
  • E-R Diagram (Entity Relational Diagram)
    Merupakan cara untuk menggambarkan hubungan (relationship) antara satu entity dengan entity lain dalam bentuk suatu diagram yang mudah dibaca dan dipahami.

  1. Entity (Entitas)
    Entity adalah objek yang dapat diidentifikasi dan dibedakan dengan objek lain karena mempunyai karakteristik yang unik. Setiap entity mempunyai attribute yang menjadikannya mudah dibedakan dengan entity lain. Entity adalah objek dan objek tidak harus berupa benda. Objek dapat berupa tempat, peristiwa, bahkan sesuatu yang bersifat abstrak. Contoh entity adalah buku, pena, ujian, kelulusan dan lain sebagainya.

    Entity sets adalah kumpulan dari dua atau lebih entity yang mempunyai tipe sama dalam sebuah basis data. Contoh sebuah entity mahasiswa, ia dideklarasikan mempunyai NIM dan nama yang kemudian disimpan dalam sebuah tabel. Dalam tabel tersebut diisi dengan data mahasiswa di perguruan tinggi. Kumpulan data dari mahasiswa dalam tabel tersebutlah yang disebut dengan entity sets.
  2. Attribute (Atribut)
    Attribute adalah property deskiptif (hal-hal yang dapat menjelaskan) yang dimiliki oleh semua anggota dari sebuah entity sets. Attribute inilah yang dapat membedakan antara satu entity dengan entity lainnya. Misal entity mahasiswa dan entity dosen dapat dibedakan dengan atribut NIM dan NIP. Meskipun keduanya merupakan sama-sama objek manusia tetapi karena attribute yang dimiliki berbeda maka kedua objek tersebut dapat dinyatakan sebagai entity yang berbeda.

    Valued sets adalah kumpulan nila yang dapat dimasukkan pada setiap attribute. Pada contoh diatas, attribute nama pada entity mahasiswa dapat diisi dengan nama-nama mahasiswa yang terdaftar.

    Attribute dapat dibedakan sebagai berikut.
    1. Atomic Attribute
      Merupakan attribute yang hanya mempunyai satu komponen tunggal dan tidak dapat diuraikan menjadi komponen yang lebih sederhana. Contoh attribute jenis kelamin.
    2. Composite Attribute
      Merupakan gabungan dari beberapa attribute sederhana sehingga dapat diuraikan menjadi attribute penyusunnya. Contoh attibute nama, attribute ini dapat diuraikan menjadi attribute nama depan, nama belakang, dan bahkan nama tengah.
    3. Single Valued Attribute
      Merupakan attribute yang hanya memiliki satu nilai untuk satu entitas. Contoh attribute kota kelahiran. Tidak mungkin seseorang lahir di lebih dari satu kota.
    4. Multiple Valued Attribute
      Merupakan attibute yang bisa memiliki beberapa nilai untuk sebuah entity. Contoh attribute nomor telepon, seseorang dapat memiliki lebih dari satu nomor telepon.
    5. Derived Attribute
      Merupakan attribute yang nilainya didapatkan dari attribute lain. Contoh attribute total harga, didapatkan dengan menjumlahkan harga barang-barang yang dibeli.
  3. Relationship (Hubungan)
    Relationship adalah hubungan yang dimiliki satu entity dengan entity lain atau dengan kata lain relationship menyatakan suatu cara sebuah entity saling berhubungan dengan entity lain dalam sebuah basis data. Relationship dapat memiliki attibute atau tidak. Sebuah relasi dinyatakan dengan kata kerja seperti mengambil, mempunyai, membeli dan lain sebagainya. Contoh relasi, entity pelanggan dengan entity barang. Relasi yang mungkin terjadi antara kedua entity tersebut adalah pelanggan membeli barang.

    Cardinality Ratio menyatakan banyaknya relasi yang dimiliki satu entity dengan entity yang lain. Cardinality dibagi 3 yaitu:
    1. One to One (1 : 1) : satu entity pada entity A berelasi paling banyak satu entity pada entity B dan juga sebaliknya.
    2. One to Many atau Many to One (1 : N atau N : 1) : satu entity pada entity A dapat berhubungan dengan banyak entity pada entity B atau beberapa entity pada entity B hanya berelasi dengan satu entity pada entity A.
    3. Many to Many (N : N) : setiap entity pada entity A dapat berelasi dengan banyak entity pada entity B dan juga sebaliknya.
Tahap pembuatan Entity Relationship Diagram
Contoh berikut menggambarkan pembuatan sistem basis data untuk perpustakaan.

  1. Mengidentifikasi dan menentukan seluruh entity yang terlibat
    mahasiswa, dosen, buku
  2. Menentukan attribute setiap entity
    mahasiswa : nim, nama
    dosen : nip, nama
    buku : judul, pengarang, penerbit
  3. Menentukan primary key pada setiap entity
    mahasiswa : nim, nama
    dosen : nip, nama
    buku : kode_buku, judul, pengarang, penerbit
  4. Menetukan relationship antar entity
    mahasiswa meminjam buku
    dosen meminjam buku
  5. Menentukan attribute dari relationship yang terjadi (jika ada)
     meminjam : tanggal_pinjam, tanggal_kembali, banyak_buku, denda
  6. Menentukan cardinality ratio
    mahasiswa meminjam buku : 1 : N
    dosen meminjam buku : 1 : N
  7. Menentukan Participant Constraint
Simbol yang digunakan untuk menggambarkan E-R Diagram
Selengkapnya ... >>

Selasa, 18 September 2012

Berkenalan dengan Sistem Basis Data

Apakah yang dimaksud dengan sistem basis data? Sistem basis data adalah suatu sistem yang berfungsi menampung, mengorganisasi, dan mengolah data agar didapatkan informasi secara cepat, akurat, dan efisien dalam penyimpanannya. Alasan digunakannya sistem basis data adalah untuk menutupi adanya kekurangan dalam penyimpanan data dalam bentuk file. Pada sistem penyimpanan berbasis file, file tersebut hanya dapat dikenali oleh program atau aplikasi yang membuatnya. Sehingga jika file dan program yang membuatnya dipisahkan maka akan kesulitan dalam membaca data/informasi yang terdapat dalam file tersebut. Lalu apa bedanya data dengan informasi? Data adalah suatu fakta riil yang diperoleh melalui pengamatan atau pengukuran mengenai objek yang dijadikan kajian dan belum mengalami proses pengolahan. Sedangkan informasi adalah hasil pengolahan data hingga didapatkan suatu gambaran umum yang mudah dipahami.

Adapun tujuan digunakannya sistem basis data meliputi:
  1. Kecepatan dan kemudahan
  2. Salah satu tujuan utama dari sistem basis data adalah kemudahan dalam mengorganisasi dan mengelola data dalam jumlah yang besar. Data yang dikelola dengan baik akan memudahkan dalam proses pengolahan dan pemanfaatan data agar diperoleh informasi secara cepat dan akurat.
  3. Efisiensi ruang penyimpanan
  4. Karena data yang dikelola dalam jumlah besar, tentu akan memakan ruang untuk penyimpanannya. Untuk mengefisiensikan ruang yang tersedia tentu diperlukan sebuah sistem yang mampu memaksimalkan ruang penyimpanan. Hal ini perlu dilakukan karena untuk tipe data yang berdeda membutuhkan kapasitas penyimpanan yang berbeda pula. Sebagai contoh tipe data integer kapasitas penyimpanannya tidak sama dengan tipe data text.
  5. Kebersamaan pemakaian
  6. Data yang tersimpan tentu tidak hanya dipakai oleh seorang pengguna saja. Disinilah peran sistem basis data untuk mengatur cara/metode pemakaian bersama (sharing) agar tidak sembarang data dapat diakses oleh pengguna lain yang tidak berhak. Selain itu juga mengatur hak akses tiap pengguna serta kewenangannya terhadap data tertentu.
  7. Menangani data dalam jumlah besar
  8. Banyaknya data yang tersimpan jika tidak ditangani dengan baik malah nantinya akan membingungkan user itu sendiri. Sehingga perlu di-manage dengan baik agar data tersusun rapi dan mudah dikelola.
  9. Meniadakan redudansi dan inkonsistensi
  10. Pengelolaan data yang baik akan meniadakan redudansi sehingga data akan terjaga konsistensinya. Redudansi adalah penyimpanan data yang sama secara berulang pada basis data yang sama. Dengan tidak adanya redudansi, maka update data hanya perlu dilakukan sekali.
  11. Keamanan
  12. Salah satu faktor terpenting dari sistem basis data adalah faktor keamanan(security). Hal ini tak lepas dari pentingnya data tersebut bagi pihak tertentu terlebih jika data tersebut bersifat rahasia. Karena itu diperlukan sistem yang mampu menjaga kerahasiaan data yang tersimpan.
Lingkungan Sistem Basis Data:
  1. Komponen Sistem Basis Data
    1. Hardware
    2. Meliputi perangkat fisik yang diperlukan untuk menunjang sistem basis data seperti komputer, media penyimpanan, dan perangakat jaringan.
    3. Operating System
    4. Merupakan software yang berfungsi untuk menjalankan hardware agar dapat digunakan. Selain itu juga menyediakan tempat bagi aplikasi pengelola database untuk berjalan.
    5. DBMS
    6. Merupakan software atau aplikasi yang berfungsi untuk mengatur dan mengelola database yang tersimpan dalam komputer/jaringan.
    7. Database
    8. Tempat data-data yang tersimpan dikelola dan diatur.
    9. Application
    10. Sorfware yang memanfaatkan database sebagai bagian dari aplikasi tersebut. Contohnya website yang kontennya disimpan dalam sebuah database.
    11. User
    12. User adalah orang yang menggunakan sistem basis data baik pengguna akhir, database desainer, administrator sampai pada supervisor.
  2. Bahasa Basis Data
    Perintah-perintah dalam pengolahan database disebut dengan query. Sedangkan bahasa yang digunakan disebut Structured Query Language (SQL) atau Bahasa Query Terstruktur. Dalam pengolahan data dalam database dikenal dua bahasa yaitu:
    1. DDL (Data Definition Language) yaitu bahasa yang digunakan untuk mendefinisikan data yang akan disimpan. Contoh "CREATE TABLE identinas (nama varchar(30), alamat varchar(100), umur int(3))". Perintah tersebut digunakan untuk mendefinisikan sebuah tabel bernama "identitas" yang terdiri dari 3 buah kolom. Masing-masing kolom mempunyai tipe data tersendiri dan panjang data yang bisa disimpan.
    2. DML (Data Manipulation Language) yaitu bahasa yang digunakan untuk memanipulasi data yang terdapat dalam database baik operasi penambahan data, pengubahan data, penghapusan data ataupun pengambilan data. Contoh "SELECT * FROM identitas ORDER BY nama ASC LIMIT 0,20". Perintah tersebut digunakan untuk menampilkan semua kolom dalam tabel identitas yang disusun secara ascending berdasarkan kolom nama. Banyaknya data yang ditampilkan dibatasi sebanyak 20 record dengan pengurutan dimulai dari data yang pertama kali tersimpan.
Arsitektur Sistem Basis Data:
  1. Stand Alone
  2. Merupakan arsitektur yang cocok diterapkan untuk kalangan perseorangan atau untuk penggunaan internal saja. Arsitektur ini tidak terhubung dengan sistem lain dan hanya berjalan sendiri. Arsitektur model ini semua komponennya baik DBMS, database, hingga usernya hanya menjalankan satu sistem yang terpisah dari sistem lainnya.
  3. Sistem Terpusat
  4. Pada arsitektur model terpusat, semua database dan aplikasinya tersimpan dalam sebuah server pusat. Untuk mengakses databasenya user cukup menggunakan aplikasi klien yang didukung oleh server pusat. Kekurangannya adalah saat banyak user yang mengakses pada waktu yang bersamaan maka beban server akan menjadi berat bahkan dapat menyebabkan server menjadi down.
  5. Sistem Client Server
  6. Sistem ini digunakan untuk mengatasi kelemahan pada sistem terpusat. Jika pada sistem terpusat baik aplikasi dan database tersimpan dalam server pusat maka pada sistem client server hanya databasenya saja yang tersimpan di server pusat sedangkan aplikasinya diinstal pada komputer client. Contohnya pada game online tertentu dimana client diharuskan menginstal aplikasi agar dapat bermain. Setelah aplikasi terinstal selanjutnya akan terkoneksi dengan server pusat untuk mengakses database dan siap untuk mulai bermain.
Selengkapnya ... >>