Pengenalan Database

Document Sample
Pengenalan Database Powered By Docstoc
					                                  HAND OUT
                           DASAR TENTANG DATABASE

Pengertian :
       a. “a collection of related data” (Elmazri & Navathe, 1994)
       b. “an organized collection of logically related data” (McFadden, Hoffer, and
           Presscot, 2002)
       c. “a collection of data, typically describing the activities of one or more related
           organizations” (Ramakrishnan & Gerke, 2000)
Beberapa definisi basis data adalah sebagai berikut:
        Sekumpulan data store(bisa dalam jumlah besar) yang tersimpan dalam
           magnetic disk, optical disk, dan media penyimpan sekunder lainnya.
        Sekumpulan program-program aplikasi umum yang bersifat “batch” yang
           mengeksekusi dan memproses data secara umum(hapus,cari,update,dll)
        Basis data terdiri dari data yang di-share bagi banyak user dan memungkinkan
           penggunaan data yang sama pada waktu bersamaan oleh banyak user
        Koleksi terpadu dari data-data yang saling berkaitan dari suatu enterprise.Mis.
           Basis data RS akan terdiri dari data-data seperti pasien, karyawam, dokter, dan
           perawat

Pola dalam penyimpanan data :
   1. Sistem pemrosesan berkas tradisional.
       a. tiap aplikasi memiliki berkas sendiri sendiri
       b. Dependensi data-program
          Perubahan data membuat sejumlah program perlu dimodifikasi
       c. Duplikasi data
          Data yang sama muncul pada beberapa berkas
       d. Keterbatasan berbagi data (Isolasi data - banyak format file)
       e. Waktu pengembangan lama
          Perlu membuat program untuk mengakses data
       f. Problem integritas (kekonsistensian)
          Kekakangan integritas (misalnya saldo >) menjadi bagian dari program
       g. Keamanan data tidak terjamin



                                   Aplikasi
                                                     Personali
                                  Personalia             a




                                  Aplikasi
                                                      Pelatiha
                                  Pelatihan
                                                         n



                      Sistem penyimpanan dengan konsep database
      Aplikasi database : adalah program aplikasi yang digunakan           untuk
      melaksanakan sederet kegiatan yang ditentukan oleh pemakai.




                Database Mahasiswa
                          Mahasiswa
                           Registrasi Mata kuliah

                                 Nilai Mata kuliah




Keunggulan penerapan konsep database
    Independensi program-data
    Meminimalkan redundansi data
    Meningkatkan konsitensi data
    Meningkatkan kemampuan berbagai data
    Meningkatkan produktivitas pengembangan aplikasi
    Meningkatkan pencapaian standarisasi
    Meningkatkan kualitas data
    Meningkatkan tanggapan dan kemudahan akses terhadap data
    Mengurangi pemeliharaan program

Model dasar database
       Hierarkis
         Lebih dikenal dengan model pohon
                                    Dosen                             Dosen
                                Siti Nurbaya                          Ashadi




                    Pengantar                         Pemrograman     Matematika I
                    Basis Data                             C




           Rudi        Asti           Dina           Dina      Edi   Ita           Edi

         Jaringan
          Tiap anak bisa memiliki lebih dari satu orang tua.
                                       Dosen                                    Dosen
                                   Siti Nurbaya                                 Ashadi




                    Pengantar                     Pemrograman                   Matematika I
                    Basis Data                         C




            Rudi       Asti        Dina                     Edi                Ita


          Relasional
           Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau
           tabel),Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel
           lain.

Konsep Dasar Database
       Field
             i.  Field merupakan implementasi dari suatu atribut data.
            ii. Field merupakan unit terkecil dari data yang berarti(meaningful data)
                 yang disimpan dalam suatu file atau basis data.
       Record
             i.  Field-field tersebut diorganisasikan dalam record-record
            ii. Record merupakan koleksi dari field-field yang disusun dalam
                 format yang telah ditentukan.
           iii. Selama desain sistem, record akan diklasifikasikan sebagai fixed-
                 length record atau variable-length record.
                   1. Fixed-length record: tiap instance record punya field, jumlah
                       field, dan ukuran logik yang sama
                   2. Variable-length record : mengijinkan record-record yang
                       berbeda dalam file yang sama memiliki panjang yang berbeda.

          File dan Tabel
                i.  Record-record yang serupa diorganisasikan dalam grup-grup yang
                    disebut file. Jadi file merupakan kumpulan semua kejadian dari
                    struktur record yang diberikan.
               ii. Tabel merupakan ekivalen basis data relasional dari sebuah file.

Beberapa operasi dasar yang dilakukan oleh aplikasi database:
    Menambah data
      Membaca data
      Mengubah data
      Menghapus data

Kunci (Key)
    Kunci merupakan elemen record yang dipakai untuk menemukan record tersebut pada
waktu akses atau bisa digunakan untuk identifikasi tiap record.
Jenis-jenis kunci :
         Superkey
         Candidat key
         Primary key
         Alternate key
         Foreign key
         External key


Superkey : kumpulan atribut dari suatu tabel yang dapat digunakan untuk
mengidentifikasi entity atau record dari tabel tersebut secara unik

Candidate key : superkey dengan jumlah atribut minimal. Candidat key ini tidak boleh
berisi atribut dari tabel yang lain

                                      Candidate Key


       ID_Cus                 Name                NoOfPay                 Amount
       112233                  Tim                  890                     9000
       112231                 Kate                  891                     8000
       112241                 Tyson                 895                    10000


Primary key :Salah satu atrribut dari candidat key dapat dipilih menjadi primary key
dengan 3 kriteria sbb :
    Key tersebut lebih natural untuk dijadikan acuan
    Key tersebut lebih sederhana
    Key tersebut cukup uniqe

Alternate key :Setiap atribut dari candidate key yang tidak terpilih sebagai primary key
akan dinamakan alternate key. Pada contoh sebelumnya bila untuk primary key dipilih
ID_Cus maka alternate key nya adalah No.of Pay

Foreign key : merupakan sembarang atribut yang menunjuk kepada primary key pada
tabel lain.
     Akan terjadi pada suatu relasi yang memiliki kardinalitas one to many atau many
        to many

                Primary Key                                 Foreign Key
                        KODE        MK         SKS   KD-
                                                     Dosen
                        TEL 100 Fisika         3     D-101
                        TEL 200 Isyarat        2     D-109
                        TEL 210 T.Kendali 2          D-101



                            KD-Dosen Nama_Dosen

                            D-100        Badu,S.T

                            D-101        Ir.Thomas

                            D-109        Harry,S.T,M.T




                       Primary Key


Tahap Perancangan Database
    Perancangan secara konseptual
           Diagram konteks
           DFD
           Model ER
    Perancangan secara logis
           Translasi model ER ke Model Relasional
    Perancangan secara fisik
           Penciptaan database, relasi, dan hal-hal terkait ke dalam bentuk fisik



Diagram Konteks
Merupakan gambaran kasar aliran informasi dan data yang akan dilakukan oleh system
database yang akan dirancang. Contoh diagram konteks :
                                                        Bagian
                                                       Penjualan

                                                                      Laporan
                                                                      penjualan
                          Daftar rencana
                          pembayaran                                                 Transfer
                                                         Sistem
   Manajer                                                                                               Bank
                                                       Pembayaran
  Keuangan
                          Persetujuan                    Royalti
                                                                                     Bukti transfer

                                                                           Surat
                                                                           pemberitahuan
                                                       Pengarang

Diagram ini hanya menjelaskan secara umum gambaran aliran konteks dari rancangan
system yang akan dibuat.

DFD ( Data Flow Diagram )
                                       Laporan penjualan


                               1
                            Mencatat                             Data buku terjual
                           buku terjual

                                                         Catatan royalti
 Jadwal pembayaran
                                                                       Royalti terbayar
              Waktu pembayaran

                                                           Royalti               Daftar rencana
                                 Royalti                                         pembayaran
                                                           belum                              Persetujuan
                   2             belum
                                 terbayar                  terbayar
                Membuat
             Laporan royalti
              Jatuh tempo           Ringkasan
                                    royalti                                           Transfer
                           Data
                           pengarang                           3                        Bukti transfer
                                                           Memproses
                                                           pembayaran
                                                                                      Surat pemberitahuan
                                            Nomor
              Pengarang
                                            rekening


                     Rekening bank
                                                   Pembayaran
Gambar diatas merupakan contoh DFD. DFD merupakan detail rancangan dari diagram
konteks yang sudah dibuat yang sudah memuat rancangan table database yang akan
diimplementasikan pada database yang akan dibuat.

Diagram E-R ( Entity Relational ).
    ERD merupakan model jaringan yang menggunakan susunan data yang disimpan
      dalam sistem secara abstrak
    Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam
      suatu organisasi.
    ERD menekankan pada struktur dan relationship data, berbeda dengan DFD(Data
      Flow Diagram) yang merupakan model jaringan fungsi yang akan dilaksanakan
      sistem
    Biasanya digunakan oleh profesional sistem untuk berkomunikasi dengan
      pemakai eksekutif tingkat tinggi dalam perusahaan yang tidak tertarik pada
      pelaksanaan operasi sistem sehari-hari, namun lebih kepada :
           Data apa saja yang diperlukan untuk bisnis mereka?
           Bagaimana data tersebut berelasi dengan data lainnya?
           Siapa saja yang diperbolehkan mengakses data tsb?

Notasi Yang digunakan pada perancangan E-R diagram

       ENTITA                          Kardinalitas:
         S

                                                       Selalu hanya satu
      Hubungan


                                                       Satu atau banyak

       Atribut
                                                       Nol atau satu

                                                       Nol, satu, atau banyak


Contoh ER diagram terlampir.

Latihan :
a. Perancangan diagram E-R.
Rancanglah diagram E-R dari kasus aplikasi database sederhanauntuk sistem informasi
akademis suatu universitas.
Dengan ketentuan sebagai berikut :
 Entities yang dimuat adalah :
1. mahasiswa: menyimpan semua informasi pribadi mengenai semua mahasiswa
2. dosen: menyimpan semua informasi pribadi mengenai semua dosen
3. mata_kuliah: menyimpan semua informasi mengenai semua mata kuliah yang
   ditawarkan
4. ruang: menyimpan semua informasi mengenai ruang kelas yang digunakan



Normalisasi
 Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut
   data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant,
   stabil, dan fleksible
 Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk
   menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses
   insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa
   mempengaruhi integritas data dalam relasi tersebut.
Pada proses normalisasi terhadap tabel pada database dapat dilakukan dengan tiga tahap
normalisasi antara lain :
1. Bentuk Normal ke Satu(1NF)
       a. Syarat :
       b. Tidak ada set atribut yang berulang atau bernilai ganda.
       c. Telah ditentukannya primary key untuk tabel atau relasi.
       d. Tiap atribut hanya memiliki satu pengertian.
       e. Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan
            entitas atau relasi yang terpisah.
2. Bentuk Normal ke Dua(2NF)
       a. Syarat :
       b. Bentuk data telah memenuhi kriteria bentuk normal ke satu.
       c. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan
            fungsional sepenuhnya pada primary key
3. Bentuk Normal ke Tiga(3NF)
       a. Syarat :
       b. Bentuk data telah memenuhi kriteria bentuk normal ke dua.
       c. Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan
            fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci
            pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary
            key di relasi itu saja.
Contoh Normalisasi pada beberapa tingkatan.
Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk
normal ke tiga




Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke Satu(1NF).
                                           Bentuk Normal 2 ( NF2 )




                                                Belum memenuhi kriteria 3NF,
                                                Karena atribut non-key Nilai dan
                                                Bobot masih memiliki ketergantu-
                                                ngan fungsional.




Bentuk Normal 3 NF3




SQL (Structure Query Language).
merupakan bahasa yang digunakan untuk melakukan rekayasa terhadap data pada
database, mulai dari memasukkan, mengganti, dan menampilkan data pada database.
untuk lebih detail akan dibahas pada modul praktikum.

Implementasi E-R diagram dengan tools
        Saat ini telah tersedia beberapa tools yang bisa digunakan untuk membuat desain
ERD dan secara otomatis bisa di generate ke bentuk tabel database secara otomatis.
Diantaranta adalah DB Designer, dan DB Wrench. Tools ini akan dipelajari secara lebih
detail pada praktikum.
Contoh ERD
                                                                           PELANGGA
                                                                               N



                                           PEMASOK
    Mengirim
                                                                              Mengirim



Pengenalan PostgreSQL
                                            Memasok
                                                                              PESANAN
        PostgreSQL atau sering disebut Postgres merupakan salah satu dari sejumlah
database besar yang menawarkan skalabilitas, keluwesan, dan kinerja yang tinggi.
Penggunaannya begitu meluas di berbagai platform dan didukung oleh banyak bahasa
pemrograman. Bagi masyarakat TI (teknologi informasi) di Indonesia, Postgres sudah
digunakan untuk berbagai aplikasi seperti web, billing system, dan sistem informasi besar
    KIRIMAN                                 BARANG
                        Memasok
lainnya.                                                                        Berisi
Karakteristik PostgreSQL
1. PostgreSQL adalah sebuah object-relational database management system
    (ORDBMS)
2. Bersifat open source
                                                                              PRODUK
3. Mendukung standar SQL92 dan SQL99 Digunakan_
                                              pada
4. Mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP, dst.

Arsitektur PostgreSQL
1. Berbasis Client-Server.
2. Backend software untuk database server (server-side): Postmaster
3. Frontend software (client-side):
       a. psql (disediakan dalam paket PostgreSQL)
       b. Client berbasis GUI (PgAdmin, PgAccess, ApplixWare, dsb.)
       c. Client berbasis Web (phpPgAdmin)
d. Buat aplikasi sendiri (C, C++, Java, PHP, dsb.)