Selasa, 10 Agustus 2010

pertemuan 1 BD


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















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


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

Model dasar database
       Hierarkis
Lebih dikenal dengan model pohon
       Jaringan
Tiap anak bisa memiliki lebih dari satu orang tua.

       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













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













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
n      Perancangan secara konseptual
n      Diagram konteks
n      DFD
n      Model ER
n      Perancangan secara logis
n      Translasi model ER ke Model Relasional
n      Perancangan secara fisik
n      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 :


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

DFD ( Data Flow Diagram )
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 ).
l      ERD merupakan model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak
l      Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam suatu organisasi.
l      ERD menekankan pada struktur dan relationship data,  berbeda dengan DFD(Data Flow Diagram) yang merupakan model jaringan fungsi yang akan dilaksanakan sistem
l      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 :
l      Data apa saja yang diperlukan untuk bisnis mereka?
l      Bagaimana data tersebut berelasi dengan data lainnya?
l      Siapa saja yang diperbolehkan mengakses data tsb?

Notasi Yang digunakan pada perancangan E-R diagram

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

Pengenalan PostgreSQL

            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 lainnya.
Karakteristik PostgreSQL
1.      PostgreSQL adalah sebuah object-relational database management system (ORDBMS)
2.      Bersifat open source
3.      Mendukung standar SQL92 dan SQL99
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.)

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













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


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

Model dasar database
       Hierarkis
Lebih dikenal dengan model pohon
       Jaringan
Tiap anak bisa memiliki lebih dari satu orang tua.

       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






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






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
n      Perancangan secara konseptual
n      Diagram konteks
n      DFD
n      Model ER
n      Perancangan secara logis
n      Translasi model ER ke Model Relasional
n      Perancangan secara fisik
n      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 :


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

DFD ( Data Flow Diagram )
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 ).
l      ERD merupakan model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak
l      Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam suatu organisasi.
l      ERD menekankan pada struktur dan relationship data,  berbeda dengan DFD(Data Flow Diagram) yang merupakan model jaringan fungsi yang akan dilaksanakan sistem
l      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 :
l      Data apa saja yang diperlukan untuk bisnis mereka?
l      Bagaimana data tersebut berelasi dengan data lainnya?
l      Siapa saja yang diperbolehkan mengakses data tsb?

Notasi Yang digunakan pada perancangan E-R diagram

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

Pengenalan PostgreSQL

            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 lainnya.
Karakteristik PostgreSQL
1.      PostgreSQL adalah sebuah object-relational database management system (ORDBMS)
2.      Bersifat open source
3.      Mendukung standar SQL92 dan SQL99
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.)

Tidak ada komentar:

Posting Komentar

TRANSLATE