CONTOH KASUS ENTITY RELASTIONSHIP DIAGRAM (ERD) PERPUSTAKAAN

CONTOH KASUS  ENTITY RELASTIONSHIP DIAGRAM (ERD) PERPUSTAKAAN

 

    Dalam perpustakaan terdapat banyak entity, tiga diantaranya karyawan, anggota dan buku. Ketiga  entity tersebut saling berhubungan atau memiliki relasi satu dan lainnya. 

 

Langkah-langkah membuat ERD perpustakaan 1. Mengidentifikasikan dan menetapkan seluruh himpunan entitas yang akan terlibat.

Terdapa tiga entitas : karyawan,anggota dan buku

 

2. Menentukan atribut-atribut key dari masing-masing himpunan entitas.

 

·         Entitas Anggota : Id_anggota, Nama anggota, Alamat_anggota, No.telp

 

·         Entitas Karyawan : NIK, Nama Karyawan, Jenis Kelamin

 

·         Entitas Buku : id buku, judul buku, nama pengarang, tahun terbit.

 

3. Menentukan atribut primary key dari setiap entity

 

·         Entitas Anggota : Id_anggota

 

·         Entitas Karyawan : NIK

 

·         Entitas Buku : Id_Buku

 

4. Menentukan relationship antar entity.

 

·         Karyawan –  Melayani - Anggota

 

·         Anggota – meminjam – Buku

 

5. Menentukan atribut-atribut dari setiap relationship

 

·         Melayani : Meminjam buku, mengembalikan buku

 

·         Meminjam : Kode transaksi, tanggal meminjam, tanggal pengembalian,

 

6. Menentukan Cardinality Ratio

 

·         Karyawan –  Melayani - Anggota (N:M)

 

·         Anggota – meminjam – Buku (N:M)

 

 

 

 

 

Sistem basis data _ Normalisasi

   Bahan ajar sistem basis data ini membahas konsep dan implmentasi normalisasi basis data. Bahasan materi sistem basis data meliputi:

  • Definisi/Pengertian Normalisasi
  • Tujuan/manfaat Normalisasai
  • Anomali
  • Depemdensi
  • Diagram Dependensi Fungsional (Diagram DF)
  • Bentuk Normalisasi

   istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi basis data. selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel 9relasi) dalam basis data (dengan tujuan utnuk mengurangi kemubaziran data)  , normalisasi terkadang hanya diipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain ( misalnya E-R). Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi keflekxibelan.

    Kroenke mendefinisikan normalisasi sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tida memiliki masalah tersebut. Masalah yang dimaksud olej kroenke ini sering disebut dengan istilah anomali.

Tujuan normalisasi :

  • Untuk menghilangkan kerangkapan data
  • Untuk mengurangi kompleksitas
  • Untuk mempermudah pemodifikasian dataAnomaliadalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data dihapus)

    Macam Anomali terdiri dari

  • Anomali peremajaan,
  • Anomali Penghapusan, dan
  • Anomali penyisipan
Anomali peremajaan

   Anomali ini terjadi bila ada perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya diubah

Anomali Penyisipan

   Anomali ini terjadi pada saat penambahan data ternyata ada elemen yang kosong dan elemen tsb justru menjadi key

Anomali penghapusan

   Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga akibatnya terdapat data lain yang hilang. Contoh pada table kursus data NoSiswa 20 akan dihapus karena sudah tidak ikut kursus lagi sehingga akibatnya data kursus bhs jepang dan biaya 70000 akan ikut terhapus.

   Konsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya.

 Macam-macam dependensi, yaitu :

 Dependensi fungsional

   Definisi : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.

 Notasi    :   X –> Y      (X secara fungsional menentukan Y)

   Diagram Dependensi Fungsional (Diagram DF) Adalah diagram yang digunakan untuk menggabarkan dependensi fungsional. Diagram ini menunjukkan hubungan antara atribut yang menjadi penentu atribut lainnya, dengan hubungan yang dinyatakan dengan tanda panah.

Bentuk normalisasi pertama (1NF)

Dikenakan pada tabel yang sama sekali belum ternomalisasi. Tabel yang belum ternomalisasi adalah tabel yang mempunyai atribut berulang

Bentuk Normal 2NF

Bentuk ini didefinisikan berdasarkan dependensi fungsional dengan syarat adalah :

  • Berada pada bentuk normal pertama
  • Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci primer

Contoh :

  • Nama  dan jabatan mempunyai dependensi fungsional terhadap NIP
  • Lama mempunyai dependensi fungsional terhadap NIP dan keahlian
  • Bentuk tabelnya adalah : NNJ (NIP, Nama, Jabatan) dan NKL (NIP, Keahlian, Lama Kerja) Bentuk Normal 3NF
  • Berada dalam bentuk normal 2 NF
  • Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer

Contoh di atas sudah memenuhi normal 3NF karena : Tidak memiliki dependensi transitif, yaitu

NIP –> {Nama, Jabatan}

{NIP, Keahlian} –> Lama Kerja

Bentuk Normal boyce-codd (BCNF)

   Bentuk ini dilakukan jika dan hanya jika semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik). BCNF merupakan perbaikan dari 3NF. Relasi yang memenuhi BCNF pasti memenuhi 3NF tetapi tidak sebaliknya.

 

Tipe-tipe Database

    Terdapat 10 data type didalam table Microsoft Access 2010, diantaranya:

1. Text, yaitu data yang bisa diisi dengan nilai kombinasi antara text dan number, dengan maximum karakter sebanyak 255 karakter.

2. Memo, sama saja dengan jenis Text, hanya saja memiliki jumlah karakter maksimum yang lebih banyak, yaitu 63,999 karakter.

3. Number, yaitu data dengan jenis number (angka) yang digunakan untuk kalkulasi matematika dan keperluan lainnya. Umumnya number ini terdiri dari 1, 2, 4 dan 8 bytes data.

4. Date/Time, yaitu data dengan jenis tanggal, waktu atau penggabungan dari tanggal dan waktu.

5. Currency, yaitu data dengan jenis number, hanya saja pada awal angka selalu disertakan symbol currency default sesuai dengan regional setting yang digunakan, misalnya Rp, $, dll. Currency dapat menggunakan angka dengan 15 digit dibelakang desimal dan 4 digit sesudah desimal.

6. AutoNumber, yaitu data yang tidak dapat kita isi secara manual melainkan ia terisi secara otomatis oleh Access, baik secara menjumlah ataupun random (acak).

7. Yes/No, yaitu data dengan jenis hanya 2 pillihan yaitu Yes (-1 atau True) atau No (0 atau False). Format yang tersedia adalah : Yes/No, True/False, dan On/Off.

8. OLE Object, yaitu data yang diambil dari system OLE seperti Microsoft Excel spreadsheet, Microsoft Word document, graphics, sounds, atau data-data biner lainnya baik yang dilink ataupun dimasukkan secara permanen (embedded) kedalam table Microsoft Access.

9. Hyperlink, yaitu type data yang digunakan untuk menyimpan alamat internet atau file yang ditunjukkan melalui alamat URL.

10. Attachment, yaitu data type yang digunakan untuk menyimpan attachment file yang berformat apa saja (bebas, bisa file gambar, file suara, dll).

Bahasa Perintah-Perintah SQL

     SQL merupakan sub bahasa pemrograman yang khusus dipergunakan untuk memanipulasi data .SQL adalah salah satu DBMS yang saat ini banyak digunakan untuk operasi basis data dan embedded di hampir semua bahasa pemograman yang mendukung basis data relasional.

   Perintah SQL dan Pengunaannya - SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.   secara umum perintah-perintah pada SQL dibagi menjadi dua kelompok yaitu:  
  • DDL (Data Definition Language

          DDL merupakan bagian dari SQL yang digunakan untuk mendefinisikan data dan proyek data base. perintah digunakan untuk mendefinisikan suatu proyek, yaitu membuat, mengubah, menghapus dan memberikan ijin.

  • DML (Data Manipulation Language).

          DML merupakan bagian dari SQL yang digunakan untuk memanipulasi data perintah-perintah ini bertugas untuk melakukan Queri dan perubahan yang dilakukan dalam suatu tabel.

  Berikut perintah-perintah dari sql:  
  1. Create Database : Create database berguna untuk membuat database baru.
  2. Create Table : Berguna untuk membuat tabel data baru dalam sebuah database.
  3. Select : Digunakan untuk memilih data dari table database.
  4. Select Distinct : Digunakan untuk memilih data-data yang berbeda (menghilangkan duplikasi) dari  sebuah table database.
  5. Where : Digunakan untuk memfilter data pada perintah Select
  6. Order By : Digunakan untuk mengurutkan data berdasarkan kolom (field) tertentu. Secara default, urutan tersusun secara ascending (urut kecil ke besar). Anda dapat mengubahnya menjadi descending (urut besar ke kecil) dengan menambahkan perintah DESC
  7. Like : Digunakan bersama dengan perintah Where, untuk proses pencarian data dengan spesifikasi tertentu.
  8. In : Digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah Where.
  9. Between : Digunakan untuk menentukan jangkauan pencarian.
  10. Insert Into : Digunakan untuk menambahkan data baru di tabel database.
  11. Update : Digunakan untuk mengubah/memperbarui data di tabel database.
  12. Delete : Digunakan untuk menghapus data di table database. Tambahkan perintah Where untuk memfilter data-data tertentu yang akan dihapus. Jika tanpa perintah Where, maka seluruh data dalam tabel akan terhapus.
  13. Inner Join : Digunakan untuk menghasilkan baris data dengan cara menggabungkan 2 buah tabel atau lebih menggunakan pasangan data yang match pada masing-masing tabel. Perintah ini sama dengan perintah join yang sering digunakan.
  14. Left Join : Digunakan untuk menghasilkan baris data dari tabel kiri (nama tabel pertama) yang tidak ada pasangan datanya pada tabel kanan (nama tabel kedua).
  15. Right Join : Digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua) yang tidak ada pasangan datanya pada tabel kiri (nama tabel pertama).
  16. Full Join : Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu tabel.
  17. Union : Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select.
  18. Alter Table : Digunakan untuk menambah, menghapus, atau mengubah kolom (field) pada tabel yang sudah ada.
  19. Now () : Digunakan untuk mendapatkan informasi waktu (tanggal dan jam saat ini.)
  20. Curdate : Digunakan unutk mendapatkan informasi tanggal saat ini.
  21. Curtime() : Digunakan untuk mendapatkan informasi jam saat ini.
  22. Extract() : Digunakan untuk mendapatkan informasi bagian-bagian dari data waktu tertentu, seperti tahun, bulan, hari, jam, menit, dan detik tertentu.
  23. Date_Add() dan Date_Sub() : Fungsi Date_Add() digunakan unutk menambahkan interval waktu tertentu pada sebuah tanggal, sedangkan fungsi Date_Sub() digunakan untuk pengurangan sebuah tanggal dengan interval tertentu.
  24. DateDiff() : Digunakan untuk mendapatkan informasi waktu di antara 2 buah tanggal.
  25. Date_Format() : Digunakan untuk menampilkan informasi jam dan tanggal dengan format tertentu.
  26. Drop Table: Digunakan untuk menghapus tabel beserta seluruh datanya.
  27. Drop Database() : Digunakan untuk menghapus database.
  28. AVG() : Digunakan untuk menghitung nilai-rata-rata dari suatu data.
  29. Count() : Digunakan untuk menghitung jumlah (cacah) suatu data.
  30. Max() ; Digunakan untuk mendapatkan nilai terbesar dari data-data yang ada.
  31. Min() : Digunakan untuk mendapatkan nilai terkecil dari data-data yang ada.
  32. Sum() : Digunakan untuk mendapatkan nilai total penjumlahan dari data-data yang ada.
  33. Group By() : Digunakan untuk mengelompokkan data dengan kriteria tertentu.
  34. Having() : Digunakan untuk memfilter data dengan fungsi tertentu.
  35. Ucase() : Digunakan untuk mengubah huruf pada data tertentu menjadi huruf besar.
  36. Lcase() : Digunakan untuk mengubah huruf pada data tertentu menjadi huruf kecil.
  37. Mid() : Digunakan untuk mengambil beberapa karakter dari field teks.
  38. Len() : Digunakan unutk mendapatkan informasi jumlah karakter dari field teks.
  39. Round() : Digunakan untuk pembuatan bilangan pecahan.

Pengertian Database

1. Pengertian Data dan base :

   Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya pengolahan. Data bisa berurut keadaan, gambar, suara, huruf, angka matematika, bahasa ataupun simbol-simbol lainnya yang bisa kita gunakan sebagai bahan untuk melihat lingkungan, obyek kejadianb ataupun suatu konsep.

   Base adalah sebuah program yang bekerja pada liongkungan basis data pada office base. dengan fasilitas fasilitas yang disediakan anda dapat dengan cepat dan mudah bekerja pada lingkungan basis data, selain itu anda juga dapat menggunakan base untuk membuat filetable mendefinisikan field, mengisi record serta untuk membuat file basis data dan menyimpan file data.

 

Pengertian Database :

   Database adalah kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.

 

2. Aplikasi berbasis file

 Aplikasi berbasis file merupakan aplikasi untuk mengolah data menggunakan data base MYSQL dan memanfaatkan PHP My Admin.

 

   Aplikasi berbasis file dikembangkan sedemikian rupa sehingga pemakai dengan berbagi bidang fungsional yang berbeda akan mendapatkan informasi dari basis data tanpa saling menganggu. Aplikasi berbasis file harus mengimplementasikan kebijkan control yang dibuat oleh manajemen.

 

 

 

 3. System Management Database

 

Sistem Manajemen database atau DBMS adalah merupakan suatu sistem softwore yang memungkinkan seseorang dapat mendefinisikan, membuat, dan memelihara serta menyediakan akses terkontrol terhadap data. database sendiri adalah kumpulan data yang berhubungan secara logika dan memiliki beberapa arti yang saling berpautan.

DBMS yang utuh biasanya terdiri dari :

1. Hardware

    Yang merupakan sistem komputer actual yang digunakan untuk menyimpan dan mengakses database. dalam sebuah organisasi berskala besar hardware terdiri dari jaringan dengan sebuah server pusat dan beberapa program klien yang berjalan di komputer dekstop.

2. Software beserta utility

    Adalah DBMS yang aktual. DBMS memungkinkan para user untuk berkomunikasi dengan database. dengan katalain DBMS merupakan mediator antara database dengan user. sebuah databse harus memuat seluruh data yang diperlukan oleh sebuah organisasi .

3. Prosedur

    bagian integral dari setiap sistem adalah sekumpulan prosedur yang mengotrol jalannya sistem, yaitu praktik-praktik nyata yang harus diikuti user untuk mendapatkan, memasukkan, menjaga dan mengambil data.

4. Data

    adalah jantung dari DBMS. ada dua jenis data. pertama, adalah kumpulan informasi yang diperlukan oleh suatu organisasi. jenis data kedua adalah metadata, yaitu informasi mengenai database.

5. user

   ada sejumlah user yang dapat mengakses atau mengambil data sesuai dengan kebutuhan pengguna aplikasi-aplikasi dan interface yang disediakan oleg DBMS.

Keuntungan sistem database terdistribusi adalah : 1. Pengelolaan secara transparan data terdistribusi dan replicated. a. Mengurangi ketergantungan data b. Transparansi jaringan c. Transparansi replikasid. Transparansi fragmentasi 2. Mengacu pada struktur organisasi 3. Meningkatkan kemampuan untuk share dan otonomi local 4. Meningkatkan ketersediaan data 5. Meningkatkan kehandalan 6. Meningkatkan unjuk kerja 7. Memudahkan pengembangan system

Kelemahan system database terdistribusi adalah : 1. Kompleksitas manajemen 2. Control integritas lebih sulit 3. Biaya pengembangan 4. Keamanan 5. Kurang standarisasi 6. Menambahkan kebutuhan penyimpanan 7. Lebih sulit dalam mengatur lingkungan data 8. Menambah biaya pelatihan.

 

Macam-macam DBMS

1).Pengertian mysql :

  MySQL (My Structure Query Language) atau yang biasa dibaca “mai-se-kuel” adalah sebuah program pembuat database yang bersifat open source dan berjalan di semua platform baik Windows maupun Linux. Selain itu, MySQL juga merupakan program pengakses database yang bersifat jaringan sehingga dapat digunakan untuk aplikasi Multi User (Banyak Pengguna).

 

 

 

2).Pengertian Ms access :

   Pengertian Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah., dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna. Versi terakhir adalah Microsoft Office Access 2007 yang termasuk ke dalam Microsoft Office System 2007.

   Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access. Para pengguna/programmer yang telah berpengalaman dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang berpengalaman dapat menggunakanya karena Microsoft Accsess merupakan program yang telah disetting sedemikian rupa agar para penggunanya baik dari para programmer yang handal atau tidak. Access juga menawarkan teknik-teknik pemrograman berorientasi objek..

 

3).Pengertian Oracle :

  Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka , komprehensif dan terintegrasi . Oracle menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal berikut :

  • Dapat bekerja di lindungan client/server (pemrosesan terbesar)
  • Menangani manajemen space dan basis data yang besar
  • mendukung akses data secara simultan
  • Berformasi pemrosesan transaksi yang tinggi
  • Menjamin ketersediaan yang terkontrol
  • lingkungan yang terreplikasi

 

 

 

 

4).Pengertian Sql1 :

  SQL (yang biasa dibaca sequel) merupakan kependekan dari Structured Query Languageyaitu bahasa yang dirancang khusus untuk komunikasi dengan database. Tidak seperti bahasa-bahasa lainnya (seperti bahasa C, basic, pascal atau bahasa pemprograman yanglain) Bahasa SQL sengaja di rancang untuk melakukan hal secara sederhana dan efisienuntuk membaca dan menulis data dari suatu database.Manfaat dari SQl antara lain :SQL bukanlah bahasa kepemilikan yang digunakan oleh vendor database perorangan.Hampir semua database besar mendukung SQL, sehingga dengan mempelajari bahasaSQL, anda dapat berinteraksi dengan hampir seluruh database besar yang beredar sepertiMs. SQL server, Oracle, Ms. Access, atau MySQL. SQL mudah dipelajari, karena semuastatement dibuat berdasarkan kata-kata dalam bahasa inggris yang umum. SQL benar- benar suatu bahasa yang kuat, dan dengan kepandaian menggunakan unsur-unsur bahasatersebut, anda dapat melakukan pengoperasian database yang kompleks dan sulit

 

 

5).Pengertian Firebird :

   Firebird merupakan RDMS open source yang dikembangkan dari Interbase 6 versi open source milik Borland. Firebird berjalan baik di Linux, Windows, maupun pada sejumlah platform Unix, selain itu kita juga dimudahkan untuk mengakses Firebird dengar tersedianya firebird ODBC.

Firebird juga mempunyai fitur-fitur database server seperti : 1. Trigger 2. Store Procedure 3. View