Selasa, 03 Juli 2012

Buatlah Bentuk Normalisasi Dari Dokumen Berikut Ini

SOAL:





 JAWABAN:

1.Bentuk un normal form

 

2.Bentuk 1NF



3.Bentuk 2NF


4.Bentuk 3NF

Senin, 02 Juli 2012

Kisi2 UTS

Secara singkat sitem perkuliahan dapat dijelaskan sbb:
Mahasiswa yang memiliki NIM,Nama,Tgl lahir,Alamat,kota,dan telpon berkewajiban mengambil mata kuliah yang memiliki kd_mtk,nm_mtk, dan sks.
Setiap mahasiswa dapat mengambil beberapa mata kuliah,tetapi setiap satu mata kuliah hanya dapat diambil oleh beberapa mahasiswa.Biasanya diasuh oleh dosen yg terdiri dari kd_dosen,nm_dosen,dan alamat.
Seorang dosen dapat saja mengasuh beberapa mata kuliah,tetapi setiap mata kuliah hanya dapat diasuh oleh beberapa dosen.

Dari kasus tersebut,buatlah:


  1. Diagram ER atau ERD lengkap dengan atribut dan cardinality
  2. Gambarkan transformasi ke LRS
  3. Buatlah LRS yang dihasilkan
  4. Buatlah tabel yang dihasilkan seandainya akan diimplementasikan dalam model database relasional.Tandai atribut kuncinya terutama untuk PK dan FK
  5. Buatlah spesifikasi basis data dengan sampel 1 atau 2 contoh dari tabel di atas. 
Jawaban :
1. Diagram ER/ERD

 2. Transformasi Ke LRS
 3. LRS yang dihasilkan
 4. Tabel
 5. Spesifikasi basis data
       Rancangan Basis data

  • Nama file          : Dosen
  • Media               : Harddisk
  • Isi                     : Data dosen
  • Organisasi         : Index Sequental
  • Primary key      : Kd_dosen
  • Panjang record : 20 bytes
  • Jumlah record   : 20 rec/page
     Struktur :

Jumat, 18 Mei 2012


Tugas Rabu 16 Mei 2012


Bahasa Query Formal :
  1. Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data. 
  2. Bahasa query  relasional formal merupakan  bahasa antara yang digunakan basis data, yaitu SQL dikonversi menjadi bahasa  rlasional formal sehingga dapa diterapkan sekumpulan informasi untuk memperoleh query paling efisien
  3. Terdapat dua jenis  bahasa query relasional formal yang utama, yaitu:
    Aljabar relasional.
    Kalkulus relasional.
  4. Aljabar Relational
    Relational Algebra (aljabar relasional) merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
  5. Aljabar Relational
    Terdapat  lima operasi dasar dalam aljabar relasional, yaitu:
    Selection
    Projection
    Cartesian – product ( X, juga disebut sebagai cross product )
    Union
    Set – difference ( - )
    Rename
  6. Aljabar Relational
    Operasi – operasi turunan dari operasi – operasi dasar tersebut adalah:
    Set intersection
    Theta join
    Natural-join
    Outer-join
    Division
Bahasa Query Komersial :
  1. Structure Query Language (SQL) dibuat oleh IBM pada tahun 1970 untuk digunakan untuk mengakses dan mengolah database.
    JENIS SQL:
    1. Interactive, langsung dapat dioperasikan
    2. Embedded, disisipkan ke dalam sebuah program


    PENGELOMPOKAN STATEMEN SQL

        Data Definition Language (DDL): Create Database, Create Table, Create Index (untuk membuat primary key), Create View (untuk mengambil sebagian kolom), Alter Table (untuk memodifikasi table), Drop Database, Drop Table, Drop Index, Drop View
        Data Manipulation Language (DML): Insert, Select, Update, Delete
        Data Access: Grant, Revoke
        Data Integrity: Recover Table
        Auxiliary: Unload, Load, Rename Column


    KASUS DATA DEFINITION LANGUAGE (DDL)
    1. Pembuatan Database

        Sintaks : CREATE DATABASE (nama_db)
        Contoh : Buat database dengan nama organisasi PT. ABC
        Caranya : CREATE DATABASE PT_ABC

    2. Pembuatan Table

        Sintaks : CREATE TABLE nama_table (nama_kolom1 jenis kolom1,nama_kolom2 jenis_kolom2)
        Contoh : Buat table dengan struktur database MHS (NPM char(8), NAMA char(25), ALAMAT char(30))
        Caranya : CREATE TABLE MHS (NPM char(8) notnull, NAMA char(25)notnull, ALAMAT char(30) notnull)
        Keterangan: notnull artinya data tidak boleh kosong

    3. Pembuatan Index

        Sintaks : CREATE UNIQUE INDEX nama_index ON nama_table (nama_kolom)
        Contoh : Buat index mahasiswa berdasarkan NPM dengan nama MHSIN dimana NPM tidak boleh sama
        Caranya : CREATE UNIQUE INDEX MHSIN ON MHS(NPM)

    4. Pembuatan View

        Sintaks : CREATE VIEW nama_view[(nama_kolom1,…)]
        AS SELECT statement [WITH CHECK OPTION]
        Contoh : Buat view dengan nama MHSVIEW yang berisi semua data mahasiwa
        Caranya : CREATE VIEW MHSVIEW
        AS SELECT * FROM MHS

    5. Menghapus Database, Table, Index dan View

        Sintaks : DROP DATABASE nama_db;
        DROP TABLE nama_table; Contoh: DROP TABLE MHS
        DROP INDEX nama_index;
        DROP VIEW nama_view:

    6. Merubah Struktur Table

        Sintaks : ALTER TABLE nama_table
        ADD (nama_kolom, jenis_kolom)
        BEFORE (nama_kolom)
        MODIFY (nama_kolom, jenis_kolom)
        DROP (nama_kolom, jenis_kolom)
        Contoh : - Tambahkan kolom JKEL dengan panjang 1 char pada table MHS
        - Ubah panjang kolom MTKULIAH menjadi 30 char
        - Hapus kolom JKEL dari data table MHS
        Caranya : - ALTER TABLE MHS ADD (JKEL char(1));
        - ALTER TABLE MKUL MODIFY (MTKULIAH char(30));
        - ALTER TABLE MHS DROP (JKEL char(1));


    KASUS DATA MANIPULATION LANGUAGE (DML)
    1. INSERT

        Sintaks : INSERT INTO nama_table[(nama_kolom1,…)]
        Contoh : Masukkan data matakuliah berkas akses dengan kode KK222 & besarnya 2
        Caranya : INSERT INTO MKUL VALUES (“KK222”,”Berkas Akses”,2);

    2. UPDATE

        Sintaks : UPDATE nama_table
        SET nama_kolom = ekspresi
        WHERE kondisi;
        Contoh : Ubah alamat menjadi “Depok” untuk mahasiswa yang memiliki NPM “50096487”
        Caranya : UPDATE MHS
        SET ALAMAT=”Depok”
        WHERE NPM=”50096487”

    3. DELETE

        Sintaks : DELETE FROM nama_table
        WHERE kondisi
        Contoh : Hapus data nilai matakuliah “KK021” bagi mahasiswa yang mempunyai NPM “10296832”
        Caranya : DELETE FROM NILAI
        WHERE NPM=”10296832” AND KDMK=”KK021”

    4. SELECT

        Menentukan informasi yang ingin dikeluarkan dari table-table untuk memberikan hasil table. Hasil yang dikeluarkan selalu berupa table relational.
        Keterangan:
        Select : memilih data yang akan ditampilkan berdasarkan atribut
        Distinct : menghilangkan duplikasi
        From : mendefinisikan seluruh table yang digunakan dalam query
        Where : menentukan syarat data yang akan dipilih
        Group by : mengelompokkan data yang mempunyai nila sama
        Having : syarat data yang dikelompokkan digunakan bersama group by
        Order by : mengurutkan data
        Sintaks : SELECT [DISTINC] nama_kolom
        FROM nama_table
        [WHERE kondisi]
        [GROUP BY nama_kolom]
        [HAVING kondisi]
        [ORDER BY nama_kolom [ASC/DESC]]
        Contoh : tampilkan semua data mahasiswa
        Caranya : SELECT NPM, NAMA, ALAMAT FROM MHS
        atau bisa juga SELECT * FROM MHS
        Contoh : Tampilkan Mata Kuliah yang SKSnya 2
        Caranya : SELECT NAMA_MK FROM MATAKULIAH
        WHERE SKS = 2


    KASUS DATA ACCESS
    1. GRANT

        digunakan untuk memberikan hak akses, yang terdiri dari Insert, Update, Delete, Select.
        Sintaks : GRANT hak_akses ON nama_db
        [WITH GRANT OPTION]
        [AS GRANTOR] atau
        GRANT hak_akses ON nama_table
        TO nama_pemakai
        [WITH GRANT OPTION]
        [AS GRANTOR]
        Contoh : - Berikan hak akses kepada Adi untuk menampilkan nilai final tes
        - Berikan hak akses atau baca dari table S pada user JIM
        - Berikan hak baca dan ubah data untuk attribut status dan city pada user JIM dan Jack
        Caranya : - GRANT SELECT (FINAL) ON NILAI TO ADI
        - GRANT SELECT ON S TO JIM
        - GRANT SELECT, Update(status,city) ON S TO JIM, JACK

    2. REVOKE

        digunakan untuk menarik hak akses pemakai.
        Sintaks : REVOKE hak_akses ON nama_db
        FROM nama_pemaikai; atau
        REVOKE hak_akses ON nama_table
        FROM nama_pemakai;
        Contoh : - Tarik kembali dari Adi hak akses untuk menampilkan nilai final tes
        - Menarik hak JIM untuk membaca pada table S
        - Smith tidak boleh melakukan delete dan update untuk tabel P
        - Joe tidak boleh melakukan apapun terhadap tabel S
        Caranya : - REVOKE SELECT (FINAL) ON NILAI FROM ADI
        - REVOKE SELECT ON S FROM JIM
        - REVOKE DELETE, UPDATE ON P FROM SMITH
        - REVOKE ALL ON S FROM JOE


    KASUS DATA INTEGRITY
    1. RECOVER TABE

        Sintaks : RECOVER TABLE nama_table
        Contoh : kembalikan keadaan data mahasiswa seperti pada saat sebelum terjadi kerusakan
        Caranya : RECOVER TABLE MHS;


    KASUS AUXILIARY
    1. UNLOAD

        Sintaks : UNLOAD TO “nama_path” DELIMETER “char_pemisah” SELECT statement;
        Contoh : Ubah semua data mahasiswa ke bentuk ASCII dan disimpan ke file teks di directory /home/adi
        Caranya : UNLOAD TO “/home/adi/teks” DELIMETER “|” SELECT FROM MHS;

    2. LOAD

        Sintaks : LOAD FROM “nama_path” DELIMETER “char_pemisah”
        INSERT INTO nama_table [nama_kolom];
        Contoh : merubah file teks ke table MHS_2 di directory /home/adi
        Caranya : LOAD FROM “/home/adi/teks” DELIMETER “|” INSERT INTO MHS_2;

    3. RENAME

        Sintaks : RENAME_COLUMN nama_kolom_lama TO nama_kolom_baru
        Contoh : Ganti nama kolom ALAMAT yang ada pada table MHS menjadi KOTA
        Caranya : RENAME_COLUMN MHS ALAMAT TO KOTA
Kalkulus Relasional :
Merupakan alternatif untuk aljabar relasional.
Memungkinkan kita menggambarkan himpunan jawaban tanpa menyatakan secara eksplisit bagaimana jawaban tersebut dihitung.
Memiliki pengaruh yang besar pada desain bahasa query komersial seperti SQL.
Varian kalkulus yang disajikan secara detil disebut Tuple Relational Calculus (TRC) dimana pada TRC mengambil instan (tuple) sebagai nilainya.
Variabel Tuple merupakan variabel yang nilainya diambil dari tuple skema relasi tertentu, sehingga nilai yang ditentukan untuk satu variabel tuple tertentu, punya jumlah dan tipe field yang sama.
Bentuk tuple dari query kalkulus relasional :
        { T | p ( T ) }
    dimana T adalah sebuah variabel tuple dan p(T) adalah sebuah formula yang menggambarkan T.
Hasil dari query adalah himpunan dari semua tuple t dimana formula p(T) mengevaluasi true dengan T = t.
Penulisan formula p(T) adalah inti dari TRC dan pada dasarnya merupakan satu subset sederhana dari First – Order Logic

Selasa, 10 April 2012

TUGAS 3

Kelebihan dan kekurangan dari perangkat lunak yang menangani semua pengaksesan database

1. MySQL
Kekurangan :
  • Tidak cocok untuk menangani data dengan jumlah yang besar, baik untuk menyimpan data maupun untuk memproses data.
  • Memiliki keterbatasan kemampuan kinerja pada server ketika data yang disimpan telah melebihi batas maksimal kemampuan daya tampung server karena tidak menerapkan konsep Technology Cluster Server.
Kelebihan :
  • Merupakan DBMS yang gratis / open source berlisensi GPL (generic public license).
  • Cocok untuk perusahaan dengan skala yang kecil.
  • Tidak membutuhkan spesifikasi hardware yang tinggi untuk bisa menjalankan MWSQL ini bahkan dengan spesifikasi hardware yang minimal sekalipun.
  • Bisa berjalan pada lebih dari satu platform system operasi, misalnya windows, linux, FreeBSD, Solaris, dan masih banyak lagi.
  • Cepat dalam menjalankan perintah SQL / Structured Query Language misalnya ketika akan menyeleksi suatu data atau memasukkan suatu data karena MYSQL merupakan turunan dari konsep SQL.Multi user, artinya database dapat digunakan oleh beberapa user dalam waktu bersamaan tanpa mengalami masalah atau konflik.
  • MYSQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
  • MYSQL memiliki beberapa lapisan keamanan, seperti subnetmask, nama host, dan izin akses user dengan system perijinan yang mendetail serta sandi/password terenkripsi.
  • MYSQL dapat melakukan koneksi dengan computer client menggunakan Protokol TCP/IP, Unix Socket (UNIX), atau Named Pipes (windows NT).
  • MYSQL memiliki antar muka / interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
  • Command and function, MYSQL memiliki fungsi dan operator secara penuh yang mendukung perintah select dan where dalam query.
  • Structure Table, MYSQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan DBMS lainnya.
2. Oracle


Kekurangan :
  • Merupakan software DMBS yang paling mahal, paling rumit, dan paling sulit untuk dipelajari.
  • Membutuhkan spesifikasi hardware yang tinggi untuk dapat menjalankan software DMBS Oracle supaya berjalan dengan stabil.
  • Hanya diperuntukan bagi perusahaan berukuran besar, dan tidak cocok untuk perusahaan kecil maupun menengah.
Kelebihan :
  • Merupakan software DBMS yang handal dan memiliki kemampuan yang tinggi.
  • Dapat menangani jumlah data dalam ukuran yang besar.
  • Dapat mengolah data dalam ukuran besar dan mengolahnya dengan cepat sehingga didapatkan informasi yang akurat sesuai permintaan pengguna/user.
  • Memiliki kemampuan akan fleksibilitas dan skalabilitas yang dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus-menerus bertambah besar.
  • Memiliki kemampuan Technology Cluster Server, dimana jika terdapat lebih dari satu unit server misalnya 100 unit server maka Oracle dapat menjadikan 100 unit server tersebut aktif bekerja bersama sebagai 100 aktif server.
  • Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
  • Bisa berjalan pada lebih dari satu platform system operasi.
3. Visual Foxpro

Kelebihan :
  •  Simpel
  •  Fitur lengkap
  • Punya database sendiri yaitu DBF
  •  Akses ke database internal mudah
  •  OOP murni sejak versi 6.0
  • Dinamis
  •  Akses ke library eksternal mudah
  •  Sederhana
  •  Tidak memerlukan spesifikasi hardware yang tinggi
Kelemahan:
  • Tidak tersedia tipe data pointer
  • Tidak bisa digunakan untuk membuat OCX
  • Pengembangan versi sekarang sudah terhenti di versi 9.0
  • Pembuatan report yang belum mengimplementasikan OOP (direncanakan akan diimplementasikan di VFP 9)

     4. Microsoft SQL
Kekurangan :
  • Hanya dapat diimpelementasikan pada 1 unit server, jika terdapat tambahan server maka hanya akan berfungsi sebagai pasif / standby server (tidak memiliki kemampuan Technology Cluster Server seperti halnya pada DMBS Oracle).
  • Hanya bisa berjalan pada satu platform system operasi yaitu Microsoft Windows.
  • Merupakan software berlisensi dan berharga mahal untuk perusahaan skala kecil dan menengah.
Kelebihan :
  • Cocok untuk perusahaan dengan skala kecil, menengah, dan besar sehingga mampu untuk mengolah data dengan jumlah yang besar.
  • Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
  • Untuk diterapkan pada pembangunan suatu program aplikasi, akan mudah dalam melakukan koneksi dengan computer client yang pembangunan aplikasinya menggunakan software yang sama platform dengan MS-SQL, misalnya Microsoft Visual Basic.
  • Memiliki tingkat pengamanan / security data yang baik.
  • Memiliki kemampuan untuk back-up data, rollback data, dan recovery data.
  • Memiliki kemampuan untuk membuat database mirroring dan clustering.
5. Firebird
Kelebihan :
·         Firebird memiliki user base kecil namun aktif, Firebird selalu lebih banyak memiliki fitur,
·         Firebird merupakan DBMS yang relatif matang untuk digunakan, dan tujuannya menetapkan peletakan kembali Oracle dan SQL server dalam aplikasi komersil,
·         Firebird memiliki user-base yang loyakl, dan merupakan produk bagus untuk bekerja dengannya, dan jika ia dapat meningkatkan kecepatan development-nya, seperti juga meningkatkan marketing-nya, akan menjadi pesaing yang kuat.
Kelemahan : 
·         Kekurangan yang paling nyata waktu itu adalah replication engine (walaupun Firebird memiliki fitur lanjutan, yang menjaga identical copy dari live database). Ada proyek yang terjadi, banyak yang komersil, namun Open Source-nya sendiri terlihat tidak matang, atau terintegrasi ke dalam Firebird code utama. Firebird development relatif lambat, Firebird merupakan DBMS yang relatif matang untuk digunakan, dan tujuannya menetapkan peletakan kembali Oracle dan SQL server dalam aplikasi komersil.

tugas 2

basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.
KEUNTUNGAN PEMAKAIAN SISTEM DATABASE
1. Terkontrolnya kerangkapan data dan inkonsistensi
2. Terpeliharanya keselarasan data
3. Data dapat dipakai secara bersama-sama
4. Memudahkan penerapan standarisasi
5. Memudahkan penerapan batasan - batasan pengamanan.
6. Terpeliharanya intergritas data
7. Terpeliharanya keseimbangan atas perbedaan kebutuhan data dari setiap aplikasi
8. Program / data independent
9. Keamanan data terjamin

KERUGIAN PEMAKAIAN SISTEM DATABASE
1. Mahal dalam implementasinya
2. Rumit / komplek
3. Penanganan proses recorvery & backup sulit
4. kerusakan pada system basis data dapat mempengaruhi departemen yang terkait
5. Timbulnya data rangkap
6. Kesulitan mengakses data
7. Masalah keamanan
8. Data dependence
9. Data terisonr
1. Primary Key
* Satu atau lebih atribut yang harus mengidentifikasikan sebuah baris yang unik dalam suatu relasi * Agar dapat menjadi primary key, atribut harus telah menjadi candidate key
Contoh: No Induk, karena unik tidak mungkin ada satu No Induk untuk lebih dari satu pegawai

2. Candidate Key
1. Kumpulan atribut minimal yang membedakan setiap baris data dalam tabel secara unik
2. Syarat atribut menjadi candidate key :
- untuk satu nilai hanya mengidentifikasikan satu baris dalam satu relasi (UNIK)
- tidak memiliki subset yang juga merupakan super key
- tidak dapat bernilai NULL

* Foreign key
Sekumpulan atribut dalam suatu relasi (misal A) sedemikian sehingga kumpulan atribut ini bukan primary key A tapi merupakan primary key dari relasi lain
Contoh: File Transaksi Gaji (No Induk, Nomor Bukti, Tanggal, Gaji Kotor, Potongan, Gaji Bersih, Pajak)
o Foreign Key: No Induk
o Primary Key: Nomor Bukti
o Alternate Key: No Induk + Nomor Bukti
Relationship
Menyatakan asosiasi antar entity
Yang terkait dengan relasi
Contoh : Cardinality,Partisipan