Senin, 27 Oktober 2014

LAPORAN VI



LAPORAN

PRAKTIKUM DESAIN BASIS DATA

NORMALISASI DATA



Nama : Aris Diantoro
NIM : 13650105
Kelas : D



BAB I

DASAR TEORI


Pendahuluan
Normalisasi merupakan suatu proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke dalam dua buah tabel atau lebih yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2008). Ada juga yang berpendapat normalisasi adalah proses penyusunan tabel – tabel yang tidak redundan (dobel), yang dapat menyebabkan anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan (Misalnya menyebabkan data tidak konsisten atau membuat data hilang ketika data yang lain dihapus).

Normalisasi digunakan sebagai teknik analisis data pada database, sehingga dapat diketahui apakah pembuatan tabel – tabel yang terelasi dalam database itu sudah baik. Kondisi sudah baik yaitu suatu kondisi pada saat proses insert, update, delete dan modifikasi pada satu atau beberapa atribut suatu tabel tidak berpengaruh terhadap integritas data yang lain dalam satu hubungan relasi database.

  • Normalisasi

Menurut Connolly (2010, p428), normalisasi merupakan suatu teknik untuk menghasilkan sekumpulan hubungan dengan properti yang diinginkan, yang memberikan kebutuhan data terhadap suatu perusahaan.
Tujuan dari normalisasi adalah sebagai berikut :

a. Meminimalkan jumlah atribut yang diperlukan untuk mendukung kebutuha data dari suatu perusahaan.

b. Untuk memperoleh atribut yang bersifat functional dependencies.

c. Untuk menghilangkan data yang bersifat redundancy pada tiap atribut.

  • Unnormalized Normal Form (UNF)
Menurut Connolly (2010, p430), unnormalized form (UNF) merupakan sebuah tabel yang mengandung satu atau lebih repeating group.

Langkah – langkah Normalisasi terdiri dari :

1. Unnormalization Form


Bentuk yang tidak normal dimaksudkan suatu kumpulan data yang akan diolah yang diperoleh dari format – format yang beraneka ragam, masih terdapat duplikasi, bisa saja tidak sempurna atau tidak lengkap, dan sesuai fakta lapangan. Bentuk ini didapat dari dokumen yang ada dilapangan atau manual dengan atribut bukan nilai sederhana.


2. First Normal Form (1NF)

Suatu tabel dianggap normal ke satu (1NF) jika :

- Tidak terdapat baris yang bernilai ganda atau duplikat.

- Masing - masing baris bernilai tunggal dan tidak bernilai null.

Langkah – langkah :

- Isikan setiap data bernilai tunggal dan tidak null

- Membuang perulangan data dalam satu baris dengan baris yang lain.


3. Second Normal Form (2NF)

Bentuk normal kedua (2NF) terpenuhi jika :

- Harus telah berbentuk normal pertama (1NF).

- pada sebuah tabel semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh. Suatu atribut dikatakan ketergantungan fungsional jika harga pada atribut tersebut menentukan harga dari atribut yang lain.
 Misalnya, nim → mhs_nama.

Langkah – langkah :

- Jika terdapat atribut yang bergantung terhadap atribut bukan kunci utama dan merupakan atribut kunci maka pecah menjadi table baru.


4. Third Normal Form (3NF)

Bentuk normal ketiga (3NF) terpenuhi jika :

- Harus telah berbentuk normal kedua (2NF).

- Tidak terdapat anomali – anomali hasil dari ketergantungan transitif. ketergantungan transitif adalah ketergantungan fungsional antara 2 atau lebih atribut bukan kunci.

Langkah – langkah :

- Pastikan semua atribut non kunci bergantung penuh terhadap atribut kunci.

- Pisahkan menjadi tabel baru jika menemukan ketergantungan transitif dalam tabel tersebut.

 

5. Boyce Codd Normal Form (BCNF)

Secara praktis tujuan analisis database cukup sampai pada 3NF, Akan tetapi dalam suatu kasus tertentu lebih baik bila dapat mencapat BCNF. Beberapa pemikir menyamakan antara 3NF dengan BCNF. Bentuk normal BCNF terpenuhi jika : - Masing-masing atribut utama bergantung fungsional penuh pada masing kunci dimana kunci tersebut bukan bagiannya.

- Setiap determinan atribut-atribut relasi adalah kunci relasi atau kandidat kunci.
- BCNF dapat memiliki lebih dari satu kunci.
- BCNF hampir sama dengan 3NF.

Langkah – langkah :
 - Hilangkan dependensi pada bukan kunci kandidat.


6. Fourth Normal Form (4NF)

Dilakukan jika terdapat anomali pada (3NF)


7. Fifth Normal Form (5NF)

Langkah ini untuk memecah relasi menjadi dua sehingga relasi tersebut tidak digabungkan kembali manjadi satu dan jika terdapat anomali pada (5NF)




BAB II
TUGAS-TUGAS


Tugas Praktikum

Selasa, 28 Oktober 2014 10:26:11


1. Buatlah Normalisasi dari data berikut ini

  • Sistem informasi rental buku "pustaka ilmu"






Jawab:


Langkah-Langkah 

1. Un Normalisasikan semua data yang ada pada kwitansi

2. Buat model 1 NF



 3. Setelah memiliki model 1 NF lanjut pada 2 NF dengan mencari Kunci utama.




4. Setelah memiliki model 2 NF maka dilanjutkan 3 NF

5. Buat pola ERD sehingga data yang multivalues dan redudansi tidak akan mungkin ada pada database ini.
 


  • Sistem informasi toko serba ada:






Langkah-Langkah 

1. Un Normalisasikan semua data yang ada pada kwitansi

2. Buat model 1 NF








 3. Setelah memiliki model 1 NF lanjut pada 2 NF dengan mencari Kunci utama.






4. Setelah memiliki model 2 NF maka dilanjutkan 3 NF

5. Buat pola ERD sehingga data yang multivalues dan redudansi tidak akan mungkin ada pada database ini.






Hasil Microsoft Excel 

Bisa didownload di Link Berikut Tugas DBD ke 6



BAB III
KESIMPULAN, MANFAAT PEMBACA dan REFERENSI


KESIMPULAN 



  1.   Normalisasi adalah proses penormalan data yang disebabkan oleh adanya redudansi data dan multivalue data
  2.   Normalisasi data ada 5 bentuk yaitu, 1 NF, 2 NF, 3 NF, BCNF, 4 NF dan 5 NF
  3.   Normalisasi  memiliki banyak langkah dan salah ssatu utamanya yaitu unNormalisasi data, karena unNormalisasi data membuat langkah 1 NF lebih mudah
  4.   3 jenis Anomalisasi yaitu: Delete Anomal, Insert Anomal dan Update Anomal
  5.  Pada masalah-masalh tertentu Langkah yang dipakai hanya sampai langkah 3 NF


MANFAAT PEMBACA

  1.   Memahami apa itu Normalisasi data pada database
  2.   Memahami langkah-langkah Normalisasi data pada database
  3.   Memahami istilah-istilah penting pada Topik Normalisasi
  4.   Memmahami percabangan field ketergantungan
  5.   Memahami ERD
 
SUMBER-SUMBER


blog.uin-malang.ac.id/teknikinformatika/tag/normalisasi/

modul praktikum desain basis data 2013 Teknik Informatika UIN malang

lecturer.eepis-its.edu/~ariv/.../T07%20-%20Normalisasi%20Database.pdf

komparkompor.blogspot.com/p/normalisasi-1nf-2nf-3nf.html

id.wikipedia.org/wiki/normalisasi









Selasa, 14 Oktober 2014

LAPORAN V



LAPORAN
PRAKTIKUM DESAIN BASIS DATA




NAMA   : ARIS DIANTORO
NIM       : 13650105
KELAS  : D 


BAB I
Dasar Teori:




AGREGASI SQL DAN VIEW


AGREGATE OPERATOR
Fungsi aggregate atau disebut fungsi ringkasan digunakan untuk melakukan penghitungan menjadi sebuah nilai dari beberapa nilai input.




Operator-Operator Agregasi
         Agregate                                           Keterangan
 
COUNT(*)                                      Menghitung jumlah baris
SUM(NAMA KOLOM)                Menghitung penjumlahan data
MAX(NAMA_KOLOM)              Mencari nilai terbesar
MIN(NAMA KOLOM)                 Mencari nilai terkecil
AVG(NAMA KOLOM)                 Mencari nilai rata-rata 




Query Agregasi
 #untuk pencarian banyaknya data kita bisa menggunakan query berikut :
select count(*) from nama_table;

#untuk pencarian nilai terbesar  :
select max(nama_kolom) from nama_table;


#untuk pencarian nilai terkecil :
select min(nama_kolom) from nama_table;


#untuk pencarian rata-rata :
select avg(nama_kolom) from nama_table;





GROUP BY
 
Group By merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah SELECT. Group by seringkali diperlukan untuk menjalankan agregate menjadi sebuah kelompok dari hasil Query.



Query

select nama_kolom from nama_tabel group by nama_kolom;




HAVING
 
Pemakaian HAVING terkait dengan GROUP BY, kegunaanya adalah untuk menentukan kondisi bagi GROUP BY, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan. 



Query 

 select nama_kolom_1, sum (nama_kolom_2) from nama_table group by nama_kolom_1 having sum (nama_kolom_2) <, >, =  bilangan (1,2,3....);




CASE

Meskipun SQL bukan merupakan sebuah prosedur bahasa perograman, namun dalam prosesnya dapat dengan bebas mengontrol data yang kembali dari query. Kata WHERE menggunakan perbandingan untuk mengontrol pemilihan data, sedangkan CASE perbandingan dalam bentuk output kolom. Jadi intinya penggunaan CASE akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya.



Query
 
  CASE WHEN condition THEN result
[WHEN ...]
[ELSE result] END



VIEW

Views dapat juga disebut tabel bayangan tetapi bukan temporary table, bukan juga merupakan sebuah tabel yang asli. Suatu view adalah suatu relasi virtual yang tidak perlu ada database tetapi dapat diproduksi atas permintaan oleh pemakai tertentu, pada ketika permintaan. 


Query

 create view nama_tabel_view as query; 


 Untuk melihat hasil kita bisa melakukan query select sebagai berikut :

Select * nama_table;




BAB II
Hasil Percobaan MySql


Buatlah 2 Table yang saling berelasi!

  Table Mahasiswa
Nim_mah       Primary Key
Nama_mah
alamat_mah
id_fak             Foreign Key

Table Fakultas
id_fak             Primary Key
Nama_fak

   Nim : 12
Nama : edi
Alamat : malang
Fakultas : SAINTEK

Nim : 13
Nama : sinta
Alamat : jogja
Fakultas : SAINTEK

Nim : 14
Nama : luki
Alamat : ponorogo
Fakultas : PSIKOLOGI


(* Bisa dilihat dari hasil Praktikum pertemuan minggu ke-3),
bisa di lihat pada link  LAPORAN 3 ).


1. Dari tabel mahasiswa yang telah dibuat tambahkan 3 data lagi , tambahkan kolom gender kemudian update datanya dan tampilkan banyaknya data mahasiswa yang telah di inputkan. Kemudian cari nim atau id mahasiswa yang paling kecil, paling besar dan rata-ratanya.





  





2. Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 17.















3. Tampilkan jumlah mahasiswa berdasarkan fakultas. Sehingga hasilnya seperti berikut:          Nama fakultas               Count(*)
                             Saintek                             2 
                             Psikologi                         1















4. Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.






5. Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.

















6. Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.








































BAB III


PERBANDINGAN PostgreSql dan MySql

A.   PERBEDAAN PostgreSql dan MySql

  • PostgreSql      

1.Dalam mengkompile pseucode tidak bisa Copy dan Paste

2.GUI kurang menarik  

3.Sistem Enter langsung eksekusi

4.Lebih lengkap dan canggih

5.Ada kemampuan menangani transaksi           

6.Harus ada syntax(Query) (;) di akhir perintah

7.JIka ingin Copy dan Paste, harus Klik kanan->Select All->Enter->NotePat dan Paste

8.Ketika Drop, Delete tanpa ada Question Confirmate


 

  •  MySql
1.Bisa Copy Paste 

2.GUI menarik

3.Harus Memilih Botton “Go”

4.Eksekusi sangat cepat

5.MySql terbaru baru bisa menangani transaksi

6.Tanpa syntax(Query) (;) di akhir perintah bisa jalan              
             
7.Langsung Copy Paste tanpa harus ada bantuan NotPat

8.Ada Question Confirmate ketika Drop, Delete







B.           PERSAMAAN POSTGRESQL dan MYSQL

1.            AGREGRASI                       --> Query PostgreSql = Query Mysql
2.            CASE                                    --> Query PostgreSql = Query Mysql
3.            VIEW dengan SELECT       --> Query PostgreSql = Query Mysql
4            HAVING                             --> Query PostgreSql = Query Mysql
5.            GROUP BY                        --> Query PostgreSql = Query Mysql







BAB IV
KESIMPULAN, KRITIK, SARAN, MANFAAT PEMBACA dan REFERENSI


KESIMPULAN

1.Perintah AS  untuk menampilkan label kolom dengan nama lain sehingga yang akan 
1.AGREGRAT adalah Fungsi Aggregate atau disebut fungsi ringkasan digunakan untuk melakukan penghitungan menjadi sebuah nilai dari beberapa nilai input.
2.GROUP BY merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah SELECT.
3.HAVING terkait dengan GROUP BY, kegunaanya adalah untuk menentukan kondisi bagi GROUP BY, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan. 
4.CASE adalah perbandingan dalam bentuk output kolom. Penggunaan CASE akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya.
5.VIEW adalah suatu relasi virtual yang tidak perlu ada database tetapi dapat diproduksi atas permintaan oleh pemakai tertentu, pada ketika permintaan. 

6.Pada Bab kali ini garis besarnya lebih ke penampilan data Database yang telah dibuat tanpa harus merubah data yang ada.

7.Dibandingkan dengan Pertemuan 1, 2, 3 maka sangatlah berbeda karena pertemuan tersebut lebih pada edit data atau manipulation
 



KRITIK


1. Kurang adil dalam mengayomi praktikan yang kesulitan,
2.Soal yang diberikan bertele-tele sehingga soal perlu ditulis ulang pada papan tulis laboratorium praktikum,
3.Laporan ini masih banyak kekurangan disana-sini,
4.Kurang memberi tips-tips ketika praktikum, alhasil praktikan kurang semangat belajarnya,
5.Kadang Komputer yang digunakan praktikan mati sendiri, sehingga praktikan menggunakan laptop pribadinya.




 SARAN-SARAN

1.Lebih ramah dan standart adil pada seluruh praktikan,
2.Soal yang diberikan harusnya simple, tetapi berbobot pada BAB yang diajarkan,
3.Lebih banyak belajar, mencari sumber-sumber yang relevan serta mencari banyak tahu tentang pembuatan laporan yang baik dan benar,
4.Seharusnya pemberian tips-tips itu di berikan di awal, di tengah dan di akhir proses praktikum, sehingga semangat praktikan tidak pudar,
5.Diharapkan teknisi laboratorium mengoptimalkan performa Komputer di laboratorium, sehingga praktikan belajar lebih konsentrasi dan  baik.




MANFAAT PEMBACA

1.Dalam Laporan ini diharapkan pembaca paham betul tentang Agregrasi Sql dan View yaitu mulai Agregrasi data, Operator Agregrasi, GROUP BY, HAVING, CASE, VIEW.

2.Lebih memahami alur-alur belajar Sql (Mysql maupun PostgreSql) dengan baik dalam membuat project kedepannya.
3.Dengan banyak membaca, analisa, praktik dan penerapan menjadikan hasil berguna dan bermanfaat
4.Lebih dewasa dalam membandingkan laporan ini dengan laporannya sendiri(hasil query)
5. Lebih cepat memahami langsung tanpa mencari banyak referensi lagi.
6. Lebih semangat lagi mendalami Sql
7. Dapat membandingkan Sql pada MySql dan PostgreSql
8.Lebih mudah memahami sebab sudah ada Dasar Teori, Hasil Percobaan, Perbandingan MySql dan PostgreSql, Referensi-Referensi, dan tak lupa hasil Kritik dan Saran yang bermanfaat.





 SUMBER-SUMBER