Sabtu, 12 Januari 2013

jurnal pengantar basis data


LINGKUNGAN DATABASE

 



Arsitektur Database Sistem






Internalview nview2view1



konseptual
 








Tingkat Eksternal (External Level)
Menerangkan view basis data dari sekelompok pemakai.     

Tingkat Konseptual (Conseptual Level)
      Menerangkan informasi basis data secara me-nyeluruh dengan menyembunyikan penyimpan-an data secara fisik. 

Tingkat Internal (Internal Level)
      Menerangkan struktur penyimpanan basis data secara fisik dan organisasi file yang digunakan.









Contoh : sebuah file Pegawai yang akan didefinisikan

Tingkat Eksternal (External Level) :

*       Cobol

01    PEG_REC.
        02            PEG_NO          PIC X(6).
        02            DEPT_NO        PIC X(4).
        02            GAJI                PIC 9(6).


Tingkat Konseptual (Conceptual Level) :

PEGAWAI
    NOMOR_PEGAWAI     CHARACTER     6
    NOMOR_DEPT              CHARACTER   4
    GAJI                               NUMERIC        6


Tingkat Internal (Internal Level) :

FILE_PEGAWAI      LENGTH = 22
PREFIX            TYPE = BYTE (6), OFFSET = 0
EMP#               TYPE = BYTE (6), OFFSET = 6,
INDEX = EMPX
DEPT#             TYPE = BYTE (4), OFFSET = 12
PAY                 TYPE = FULLWORD, OFFSET = 16








Data Independence

Kapasitas untuk merubah skema pada satu level sistem basis data tanpa harus merubah skema pada level lainnya.

 

1.  Physical Data Independence
Perubahan pada skema internal dimana tidak mempengaruhi kema konseptual dan eksternal.


2. Logical Data Independence
      Perubahan pada skema konseptual dimana tidak mempengaruhi skema eksternal dan aplikasi program.
     


Mapping (Transformasi)



Proses pendefinisian informasi dari satu level ke level lainnya.           



Conceptual/Internal Mapping




Pendefinisian hubungan antara view konseptual dengan basis data di level internal (Bagaimana record-record/field-field didalam level konseptual didefinisikan dilevel internal)

External/Conceptual Mapping




Pendefinisian hubungan antara view konseptual dengan view eksternal



DBMS (Database Management Systems)


DBMS adalah perangkat lunak yang menangani semua pengaksesan database. Mempunyai fasilitas membuat, mangakses, memanipulasi dan memelihara basis data.




Bahasa Dalam DBMS   

1.  Data Definition Language (DDL)

2. Data Manipulation Language (DML)
Procedural DML
        Non Procedural
   






Fungsi  DBMS


1.  Data Definition
DBMS harus dapat mengolah pendefinisian data

2.  Data Manipulation
DBMS harus dapat menangani permintaan-permintaan dari pemakai untuk mengakses data

3.  Data Security & Integrity
DBMS harus dapat memeriksa security dan integrity data yang didefinisikan oleh DBA

4.  Data Recovery & Concurency
-         DBMS harus dapat menangani kegagalan-kegagalan pengaksesan database yang dapat disebabkan oleh kesalahan sistem, kerusakan disk, dsb.
-         DBMS harus dapat mengontrol pengaksesan data yang konkuren yaitu bila satu data diakses secara bersama-sama oleh lebih dari satu pemakai pada saat yang bersamaan.

5.  Data Dictionary
DBMS harus menyediakan data dictionary

6.  Performance
DBMS harus menangani unjuk kerja dari semua fungsi seefisien mungkin.


Komponen  DBMS

1.   Query Processsor
2.   Database Manager
3.   File Manager
4.   DML Preprocessor
5.   DDL Compiler
6.   Dictionary Manager
   





Arsitektur DBMS Multi User



Teleprocessing



Arsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini.





File-Server


Proses didistribusikan ke dalam jaringan, sejenis LAN (Local Area Network).  File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan pada masing-masing workstation, tetapi tetap meminta file dari file server jika diperlukan (perhatikan gambar di bawah ini).



Kerugian arsitektur file-server adalah
-   Terdapat lalulintas jaringan yang besar
-   Masing-masing workstation membutuhkan copy DBMS
-   Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan


Client Server


Client-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem.

           


Data Dictionary


Data dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam database. Data dictionary biasa disebut juga dengan metadata atau data mengenai data.
Berisi tentang :
-   nama-nama user yang mempunyai wewenang untuk menggunakan DBMS
-   nama-nama item data yang ada dalam database
-   jenis dan ukuran item data
-   batasan untuk masing-masing item data

Model Data


Sekumpulan konsep-konsep  untuk menerangkan data, hubungan-hubungan antara data dan batasan-batasan data yang terintegrasi di dalam suatu organisasi.

1. Model Data Berbasis Objek
Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar entitas.

2. Model Data Berbasis Record
Pada model data berbasis record, database terdiri dari sejumlah record dalam bentuk yang tetap yang dapat dibedakan dari bentuknya. Ada 3 macam jenis model data berbasis record, yaitu :
-   model data relasional (relational)
-   model data hierarkhi (hierarchical)
-   model data jaringan (network)

3.  Model Data Fisik
Menggambarkan data pada tingkat internal; penyimpanan data secara detailnya dengan format record penyusunan record dan jalur akses.

4.  Model Data Konseptual
Menyediakan konsep yang sesuai dengan persepsi pemakai yang memandang datanya.

jurnal pengantar basis data


NORMALISASI

Normalisasi adalah suatu teknik untuk meng-organisasi data ke dalam tabel-tabel  untuk me-menuhi kebutuhan pemakai di dalam suatu organisasi.

++ Tujuan dari normalisasi
Ø Untuk menghilangkan kerangkapan data
Ø Untuk mengurangi kompleksitas
Ø Untuk mempermudah pemodifikasian data
C  Proses Normalisasi

q  Data diuraikan dalam bentuk tabel, selanjutnya  dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.

q  Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
 
 
Tahapan  Normalisasi

        Bentuk Tidak Normal
                        Menghilangkan perulangan group
        Bentuk Normal Pertama (1NF)
                        Menghilangkan ketergantungan sebagian
        Bentuk Normal Kedua (2NF)
                        Menghilangkan ketergantungan transitif
        Bentuk Normal Ketiga (3NF)
                        Menghilangkan anomali-anomali hasil dari
                         ketergantungan fungsional
        Bentuk Normal Boyce-Codd (BCNF)
                        Menghilangkan Ketergantungan Multivalue
        Bentuk Normal Keempat (4NF)
                        Menghilangkan anomali-anomali yang tersisa
        Bentuk Normal Kelima

Ketergantungan Fungsional
Definisi :
        Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X ---> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai  Y pada R.

Misal, terdapat skema database PEMASOK-BARANG.
Pemasok (No-pem, Na-pem)

Tabel PEMASOK-BARANG
        No-pem            Na-pem           


 

        P01                  Baharu    
        P02                  Sinar
        P03                  Harapan 

Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :
        No-pem ---> Na-pem


Ketergantungan Fungsional Penuh

Definisi :
        Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y  tidak  tergantung  pada subset dari X ( bila X adalah key gabungan)

Contoh :
KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)
        No-pem    Na-pem        No-bar       Jumlah


 

        P01          Baharu             B01          1000
        P01          Baharu             B02          1500
        P01          Baharu            B03          2000
        P02          Sinar                B03          1000
        P03          Harapan         B02          2000

Ketergantungan fungsional :
No-pem --> Na-pem                
No-bar, No-pem  --> Jumlah   (Tergantung penuh thd keynya)

Ketergantungan Transitif

Definisi :
        Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z  tergantung pada atribut Y pada  relasi R.  ( X     Y,  Y     Z , maka  X     Z  )

Contoh :


 

No-pem
Kode-kota
Kota
No-bar
Jumlah
P01
1
Jakarta
B01
1000
P01
1
Jakarta
B02
1500
P01
1
Jakarta
B03
2000
P02
3
Bandung
B03
1000
P03
2
Surabaya
B02
2000





Ketergantungan fungsional :
No-pem       Kode-kota
Kode-kota        Kota  ,   maka

No-pem       Kota


Bentuk Normal  Kesatu  (1NF)
         Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila  setiap data  bersifat atomik yaitu  setiap irisan  baris dan kolom  hanya mempunyai satu nilai data

Tabel  KIRIM-1  (Unnormal)
No-pem    Kode-kota  Kota              No-bar     Jumlah
 

P01            1                 Jakarta               B01            1000         
B02            1500
                   B03            2000           
P02            3                 Bandung            B03            1000
P03            2                  Surabaya           B02            2000

Tabel  KIRIM-2  (1NF)
No-pem    Kode-kota    Kota            No-bar     Jumlah
 

P01            1                    Jakarta             B01            1000
P01            1                    Jakarta             B02            1500
P01            1                    Jakarta             B03            2000           
P02            3                    Bandung          B03            1000
P03            2                     Surabaya                   B02            2000

Diagram Ketergantungan Fungsional


 

                                                                Kode-kota
                                        No-pem
                                                                Kota
                Jumlah
                                       
No-bar


Bentuk Normal Kedua (2NF)
        Suatu relasi dikatakan sudah memenuhi Bentuk Normal  Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya.

Tabel PEMASOK-1  (2NF)
 No-pem   Kode-kota       Kota               
 

 P01           1                          Jakarta    
 P02           3                          Bandung 
 P03             2                          Surabaya

Bentuk Normal  Ketiga (3NF)
        Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan  atribut yang bukan key tidak tergantung transitif terhadap keynya.  

Tabel  KIRIM-3  (3NF)
No-pem    No-bar     Jumlah
 

P01            B01            1000
P01            B02            1500
P01            B03            2000                       
P02            B03            1000
P03            B02            2000

Tabel  PEMASOK-2 (3NF)      Tabel PEMASOK-3  (3NF)
No-pem    Kode-kota                        Kode-kota        Kota






 

P01             1                                              1                           Jakarta
P02            3                                             2                           Surabaya
P03            2                                              3                           Bandung

Normalisasi pada database perkuliahan

Asumsi :
q  Seorang mahasiswa dapat mengambil beberapa mata kuliah
q  Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
q  Satu mata kuliah hanya diajarkan oleh satu dosen
q  Satu dosen dapat mengajar beberapa mata kuliah
q  Seorang mahasiswa pada  mata kuliah tertentu hanya mempunyai satu nilai


Tabel MAHASISWA-1   ( Unnormal )

No-Mhs
Nama- Mhs
Jurusan
Kode- MK
Nama-MK
Kode-Dosen
Nama-Dosen
Nilai
2683
Welli
MI
MI350
Manajamen  DB
B104
Ati
A



MI465
Analsis Prc. Sistem
B317
Dita
B
5432
Bakri
Ak.
MI350
Manajemen DB
B104
Ati
C



AKN201
Akuntansi Keuangan
D310
Lia
B



MKT300
Dasar  Pemasaran
B212
Lola
A

Tabel MAHASISWA-2 ( 1NF )

No-Mhs

Nama- Mhs
Jurusan

Kode-MK

Nama-MK
Kode-Dosen
Nama- Dosen
Nilai
2683
Welli
MI
MI350
Manajamen  DB
B104
Ati
A
2683
Welli
MI
MI465
Analsis Prc. Sistem
B317
Dita
B
5432
Bakri
Ak.
MI350
Manajemen DB
B104
Ati
C
5432
Bakri
Ak.
AKN201
Akuntansi Keuangan
D310
Lia
B
5432
Bakri
Ak.
MKT300
Dasar Pemasaran
B212
Lola
A




Diagram Ketergantungan Fungsional


 

                                                                                              Nama_Mhs                    


                                           No-Mhs                           Jurusan



           
            Nilai
                                                                       Nama-MK


                                                Kode-MK                   Kode-Dosen                                                                                                                    


 

                                                                        Nama-Dosen


Tabel  KULIAH (2NF)

Kode-MK

Nama-MK
Kode-Dosen

Nama-Dosen

MI350
Manajamen  DB
B104
Ati
MI465
Analsis Prc. Sistem
B317
Dita
AKN201
Akuntansi Keuangan
D310
Lia
MKT300
Dasar  Pemasaran
B212
Lola


Tabel MAHASISWA-3 (3NF)

No-Mhs

Nama-Mhs
Jurusan
2683
Welli
MI
5432
Bakri
Ak.

Tabel NILAI (3NF)

No-Mhs

Kode MK

Nilai
2683
MI350
A
2683
MI465
B
5432
MI350
C
5432
AKN201
B
5432
MKT300
A


Tabel  MATAKULIAH (3NF)
Kode-MK
Nama-MK
Kode-Dosen
MI350
Manajamen  DB
B104
MI465
Analsis Prc. Sistem
B317
AKN201
Akuntansi Keuangan
D310
MKT300
DasarPemasaran
B212


Tabel DOSEN (3NF)
Kode- Dosen
Nama-Dosen
B104
Ati
B317
Dita
B310
Lia
B212
Lola