Basis Data

Haiiiiiiiiii,, di blog ini saya akan menjelaskan tentang basis data.

1. Struktur Basis Data (konsep basis data)


1) Definisi Basis Data
Basis data adalah kumpulan data yang saling berhubungan yang disimpan secara bersama, sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
Secara umum untuk menjelaskan tentang pengertian basis data dapat ditinjau dari dua sisi, pengertian secara kharfiah dan pengertian secara istilah. Menurut pengertian secara kharfiah, basis data terdiri dari dua kata yaitu basis dan data. Basis dapat diartikan sebagai suatu markas atau gudang, tempat bersarang atau tempat berkumpul.Data dapat diartikan merupakan representasi dari fakta dunia yang mewakili suatu obyek (manusia, barang, peristiwa, keadaan dsb) yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.

2) Komponen Basis data
Basis data merupakan suatu sistem yang dibangun oleh beberapa komponen diantaranya ada enam komponen pokok  antara lain ialah:
1. Perangkat keras (hardware) dalam sistem komputer.  Dalam sistem pengolahan basis data digital perangkat utama sebagai pengolah data dalah komputer.
2. Perangkat Lunak Aplikasi (software) lain yang mendukung  dan bersifat opsional. Perangkat lunak digunakan untuk mendukung proses pengelolaan basis data. Misal: bahasa pemrograman C, basic pascal.
3. Sistem Operasi (operating system). Sistem operasi  merupakan perangkat lunak yang digunakan untuk mengelola aplikasi basis data dan penggunaan sumberdaya komputer.
4. Basis data data lain yang mempunyai keterkaitan dan hubungan dengan basis data itu sendiri. Berisi atau memiliki objek-objek basis data seperti file, table, indeks . Mempunyai disfinisi struktur baik untuk basis data maupun objek-objek secara detail.
5. Sistem Pengelola Basis Data Database Management System atau database managemen system (DBMS). Merupakan program aplikasi untuk pengelolaan basis data, seperti Microsoft acces, oracle dan lian-lain
6. Pemakai (user), yaitu pengguna yang terlibat dalam pengelolaan basis dan penggunaan basis data.

3) Sistem manajemen Basis Data
Sistem manajemen basis data adalah merupakan sebuah tatanan (keterpaduan) yang terdiri atas sejumlah komponen-komponen fungsional (komputer) yang saling berhubungan secara bersama-sama, bertujuan untuk memenuhi suatu proses atau pekerjaaan tertentu. Sistem ini merupakan gabungan antara basis data dan kumpulan program atau perangkat lunak DBMS (database management system).  DBMS adalah  program aplikasi yang dibuat dan bekerja dalam satu system. DBMS didesain untuk membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar. DBMS dapat menjadi alternatif penggunaan secara khusus untuk aplikasi, misalnya penyimpanan data dalam field dan menulis kode aplikasi yang spesifik untuk pengaturannya. Kumpulan file (table) yang saling berhubungan dalam  di sebuah komputer dan sekumpulan program yang memungkinkan beberapa pemakai dan atau program lain untuk mengakses dan memanipulasi file-file atau table-tabel tersebut.

4) Tujuan dan Manfaat Penggunaan Basis Data
Beberapa tujuan penggunaan basis data adalah sebagai berikut :
1. Kecepatan dan Kemudahan (Speed) , melalui basis data diharapkan pengguna dapat melakukan penyimpanan, perubahan dan menampilkan kembali dengan cepat dan mudah. 
2. Efisiensi Ruang Penyimpanan (Space). Penggunaan  basis data mampu mengurangi pengulangan atau redundansi data. Hal ini dapat dilakukan dengan menerapkan sejumlah pengkodean atau dengan membuat relasirelasi (dalam bentuk file) antara kelompok data yang saling berhubungan.
3. Keakuratan (Accuracy), melalui basis data data keakuratan data lebih terjaga dengan menerapkan aturan dan batasan tertentu (constraint), tipe data, domain data dan keunikan data
4. Ketersediaan (Availability). Dengan basis data data yang sudah tidak dipakai dapat dipisahkan dari sistem database yang sedang aktif. Hal ini dapat dilakukan dengan cara penghapusan atau memindahkannya ke media backup untuk menghemat ruang penyimpanan. Selain itu dapat memanfaatkan teknologi jaringan komputer agar data yang berada di suatu lokasi atau cabang daat juga diakses oleh lokasi atau cabang lainnya.
5. Kelengkapan (Completeness). Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu. Hal ini dapat dilakukan melaluipenambahan record-record data, perubahan struktur basis data, menambah field pada tabel atau menambah tabel baru.
6. Keamanan (Security). Walaupun tidak semua sistem basis data menerapkannya, keamanan dalam penggunaan basis data diperlakukan pada sistem yang besar dan serius. Dengan penerapan ini, setiap pengguna dibedakan hak aksesnya; yakni ditentukan obyek-obyek mana saja yang bisa diakses dan proses apa saja yang bisa dia dilakukan.
7. Kebersamaan (Sharability). Agar data yang dikelola oleh sistem mendukung lingkungan multiuser (banyak pemakai) dengan menjaga / menghindari munculnya problem baru seperti inkonsistensi data (karena terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data). 

5) Pengguna dalam Basis Data
Pada tingkat pemakai, data base dikelompokkan menjadi beberapa tingkat pemakai yaitu antara lain sebagai berikut:
1. Database Administrator, ialahmanusia yang mengorganisasi seluruh sistem basis data. Database adaministrator imemiliki tanggung jawab penuh dalam manajemen database meliputi: pengaturan hak akses, koordinasi dan monitoring serta bertanggung jawab terhadap kebutuhan hardware dan software. Dalam pekerjaannya biasanya dibantu oleh staf Admin.
2. Database Designer, adalah manusia yang bertugas merancang dan mengembangkan database. Database designer bertanggung jawab dalam identifikasi data yang tersimpan dalam database, menentukan struktur data yang tepat untuk disimpan dalam database. Database designer memerlukan koordinasi akan kebutuhan user database.
3. Application Programmer, ialah penggunaa yang berinteraksi dengan basis data melalui Data Manipulation Language (DML). DML meliputi program yang ditulis dalam bahasa pemrograman induk yang dipakai.
4. End user, adalah adalah pengguna yang memanfaatkan atau membutuhkan akses ke database melalui query, manambah, merubah menghapus maupun membuat report database.
5. System Analyst, ialah pengguna yang merencanakan dan menentukan kebutuhan sistem. 
6. Application Programmers (Software Engineering), ialah pengguna tanggungjawabnya berhubungan dengan kebutuhan koneksi database.
7. Worker behind the scene, ialah pengguna yang tidak tertarik pada database, tetapi lebih cenderung pada membangun data base atau kebutuhannya menggunakan alat bantu.

6) Operasi-Operasi dasar manajemen Basis Data
Operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis data adalah sebagai berikut:
1. Pembuatan basis data baru (create database), adalah proses yang identik dengan pembuatan lemari arsip yang baru.
2. Penghapusan basis data (drop database), adalah proses yang identik dengan perusakan lemari arsip, sekaligus beserta isinya jika ada.
3. Pembuatan table baru ke suatu basis data (create table), yang identik dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada.
4. Penghapusan table dari suatu basis data (drop table), identik dengan perusakan map arsip lama yang ada di sebuah lemari arsip.
5. Penambahan / pengisian data baru di sebuah basis data (insert), identik dengan penambahan lembaran arsip ke sebuah map arsip.
6. Pengambilan data dari sebuah table (retrieve / search), identik dengan pencarian lembaran arsip dalam sebuah map arsip.
7. Pengubahan data dalam sebuah table (update), identik dengan perbaikan isi lembaran arsip yang ada di sebuah map arsip.
8. Penghapusan data dari sebuah table (delete), identik dengan penghapusan sebuah lembaran arsip yang ada di sebuah map arsip.

7) Pengenalan File tabel record dan field
Didalam manajemen basis data, data disimpan dalam bentuk Berkas atau file. Berkas adalah himpunan seluruh record data (sisi baris) yang bertipe sama Suatu tabel atau Entitis dalam basis data relasional  digunakan untuk mendukung antar muka komunikasi antara pemakai dengan para profesional komputer.
Record atau Baris atau dalam istilah model relasional yang formal disebut dengan Tuple adalah kumpulan data yang terdiri dari satu atau lebih suatu field.  Pada setiap baris-baris ini tersimpan data-data dari subyek tabel yang bersangkutan .  Di samping itu data-data yang ada dalam satu record bias terdiri Field atau Kolom atau dalam istilah model relasional yang formla disebut dengan Attribute adalah kumpulan data yang mempunyai/menyimpan yang sama/sejenis untuk setiap pada tabel. Yang perlu diperhatikan bahwa urutan data (fisiknya) dalam suatu kolom untuk tiap-tiap baris tidak memiliki arti sehingga data-data tersebut tidak berpengaruh walaupun diubah.



2. Struktur Hirarki Basis Data



1) Definisi Struktur atau arsitektur Basis Data
Arsitektur  basis data merupakan serangkaian pengetahuan tentang pemodelan data. Pengetahuan tentang File, table, field, record indeks, abstraksi data dan serangkaian konsep yang digunakan untuk membuat diskripsi struktur basis data. Melalui diskripsi Struktur basis data dapat ditentukan jenis data, hubungan dan konstrain (keterbatasan) data yang ditangani.  Dalam basis data, data diorganisasikan kedalam bentuk elemen data (field), rekaman (record), dan berkas (file).
Definisi dari ketiganya adalah sebagai berikut:
• Elemen (kolom atau field) data adalah satuan data terkecil yang tidak  dapat dipecah lagi menjadi unit lain yang bermakna.  Misalnya data siswa terdiri dari NIS, Nama, Alamat, Telepon atau Jenis Kelamin.
• Rekaman (record) merupakan gabungan sejumlah elemen data yang saling terkait. Istilah lain dari record adalah baris atau tupel.
• Berkas(file) adalah himpunan seluruh record yang bertipe sama.

2) Struktur konseptual Basis Data 
Tiga konsep dasar dalam pembuatan diskripsi struktur basis data yaitu model data konseptual, model data fisikal dan model view.Konseptual data menyajikan konsep tentang bagaimana user basis data memandang atau memberlakukan data. Konseptual merupakan level tinggi (hight level) yang dekat dengan user. Didalam Konseptual data menjelaskan beberapa hal yaitu:
a) Entity atau Entitas
Entitas adalah obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan antara satu dengan lainnya (unique).Setiap entitas memiliki beberapa atribut yang mendeskripsikan karakteristik dari objek. Entitas dapat berupa: 
• Data Fisik (seperti mobil, rumah, manusia, pegawai, peserta didik.  
• Abstrak atau konsep (seperti department, pekerjaan, mata pelajaran) 
• Kejadian (pembelian, penjualan, peminjaman, dll) 
Entitas dapat dibedakan menjadi dua macam yaitu Entitas kuat dan entitas lemah. Entitas lemah adalah yang keberadaannya tergantung pada entitas lain. Entitas tanggungan disebut sebagai entitas lemah karena jika data seorang pegawai dihapus maka data tanggungannya juga akan terhapus.
Attribute merupakan karakteristik dari entitas atau relationship, yang menyediakan penjelasan detail tentang entitas atau relationship. Dalam penerapannya (level fisik) atribut merupakan field atau kolom dari sebuah tabel. Misalnya entitas mahasiswa memiliki atribute nama, alamat, NIM.  Berdasarkan karakteristik sifatnya, atribut dapat dikelompokkan menjadi; 
1) Simple attribute dan composite attribute. 
2) Single valued attribute dan multi valued attribute. 
3) Mandatory attribute 
4) Derived attribute (attribut turunan).
5) key attribute. 


b) Atribute  

Attribute merupakan karakteristik dari entitas atau relationship, yang menyediakan penjelasan detail tentang entitas atau relationship. Dalam penerapannya (level fisik) atribut merupakan field atau kolom dari sebuah tabel. Misalnya entitas mahasiswa memiliki atribute nama, alamat, NIM.  Berdasarkan karakteristik sifatnya, atribut dapat dikelompokkan menjadi; 

1) Simple attribute dan composite attribute. 

2) Single valued attribute dan multi valued attribute. 

3) Mandatory attribute.

4) Derived attribute (attribut turunan).
5) key attribute.
Simple Attribute atau atomic attribute adalah attribut terkecil yang tidak bisa dipilah lagi. suatu atribut yang tidak dapat dibagi-bagi lagi menjadi atribut yang lebih kecil. Contohnya adalah atribut JenisKel pada entitas pegawai.
Composite attribute adalah atribut yang dapat dibagi menjadi atribut yang lebih kecil. Attribut ini dapat diartikan attribute atomic yang menggambarkan atribut dasar dengan suatu arti tertentu. Contoh: atribut Nama pada entitas pegawai dapat dipecah menjadi atribut NmDepan, Inisial dan NmBlk. Atribut nama merupakan composite attribute. 
Single value Attribute adalah suatu atribut yang hanya mempunyai satu nilai. Misalnya atribut NmDepan pada entitas pegawai. NmDepan seorang pegawai selalu bernilai satu nilai, tidak mungkin lebih dari satu.
Multi Value attribute adalah atribut yang dapat memiliki lebih dari satu nilai yang jenisnya sama dari sebuah data tunggal. Misalnya atribut lokasi pada entitas departemen dapat berisi 2 nilai atau lebih seperti Surabaya atau Jakarta.
Derived Attribute atau Attribut Turunanadalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. Misalnya atribut JmlPegawai pada entitas Departemen.

c) Key attribute
Key adalah merupakan suatu atribut yang menandakan kunci dari suatu entitas yang bersifat unik. Key attribute adalah satu atau beberapa atribut yang mempunyai nilai unik sehingga dapat digunakan untuk membedakan data pada suatu baris/record dengan baris lain pada suatu entitas. Key attribute dibedakan menjadi tiga yaitu: 
1) Superkey 
2) Candidat Key
3) Primary key 
Superkey adalah satu atau gabungan beberapa atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Misalnya superkey untuk entitas pegawai antara lain: 1) NoKTP, Nama, Alamat, JenisKel, Gaji. 
2) NoKTP, Nama, Alamat, JenisKel. 
3) NoKTP, Nama, Alamat. 
4) NoKTP, Nama. 
5) Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain). 
6) NoKTP Candidat Key adalah merupakan superkey yang jumlah atributnya paling sedikit. Misalnya candidat key untuk entitas pegawai antara lain: 
 Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu baris dengan baris yang lain) 
 NoKTP  
Primary key adalah suatu candidat key yang dipilih menjadi kunci utama karena sering dijadikan acuan untuk mencari informasi, ringkas, menjadi keunikan suatu baris. Misalnya NoKTP antara satu pegawai dengan pegawai lain pasti berbeda, dalam hal ini noKTP dapat digunakan sebagai suatu key.



3. ERD - Relasi Antar Entitas

1) Definisi ERD
Diagram relasi entitas atau entity-relationship diagram (ERD) adalah suatu diagram dalam bentuk gambar atau simbol yang mengidentifikasi tipe dari entitas di dalam suatu sistem yang diuraikan dalam data dengan atributnya, dan menjelaskan hubungan atau relasi diantara entitas tersebut. ERD merupakan model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak. ERD berupa model data konseptual, yang merepresentasikan data dalam suatu organisasi.ERD menekankan pada struktur dan relationship data. 
Untuk menggambarkan ER diagaram setidaknya ada tiga langkah yang harus dilakukan oleh perancang basis data yaitu: 
1. Menemukan atau mendefinisikan Entitas. 
2. Menemukan atau mendefinisikan atribute. 
3. Menemukan atau mendefinisikan Relasi. 
4. Menggambarkan ERD menggunakan notasi-notasi standar.



2) Relasi  
Relasi menyatakan hubungan antara dua atau beberapa entitas. Setiap relasi mempunyai batasan (constraint) terhadap kemungkinan kombinasi entitas yang berpartisipasi. Batasan tersebut ditentukan dari situasi yang diwakili relasi tersebut. Ragam atau jenis relasi dibedakan menjadi beberapa macam antara lain adalah : 
1. Relasi Binary. 
Relasi binary merupakan relasi antara dua entitas. Relasi binary ini dibedakan menjadi : 
 Relasi One-to-one (notasi 1:1) 
 Relasi One-to-many (notasi 1:N) atau many-to-one (notasi N:1) 
 Relasi Many-to-many (notasi M:N) 
2. Relasi Ternary. 
Relasi ternary adalah merupakan relasi antara tiga entitas atau lebih. 
Dalam Relasi One-to-one (1:1) setiap atribute dari satu entitas berpasangan dengan satu attribute dari entitas yang direlasikan. Dalam relasi One-to-many (1:N) atau many-to-one (N:1) satu atribute berelasi dengan beberapa atribute dari entitas yang direlasikan. Dalam Many-to-many (M:N) satu atribute berelasi dengan beberapa atribute dari entitas yang direlasikan. Begitu pula sebaliknya.

Model  Struktur Basis Data
1. Model Hirarki
One to One

One to Many


2. Model Jaringan
Many to Many

3. Model Rasional


Contoh kasus yang saya buat dan semoga bisa menjadi referensi buat kalian juga.

Contoh Kasus 1
Seseorang ingin mengirimkan surat melalui kantor pos. Di kantor pos pengirim menuju CS (customer service). Silahkan tentukan entitas, relasi, atribut, dan gambarkan diagram ERD-nya !

  • Entitas : pengirim, surat, CS (penerima)
  • Atribut : alamat, no.hp, nama, nama pengirim, nama penerima
  • Relasi : mengirim, menuju
Berikut adalah gambar ERD-nya



Contoh Kasus 2
Pada saat mendaftar menjadi siswa smk, dicatatlah nama, nomor pendaftaraan dan alamat siswa. Setelah itu mereka baru bisa belajar di dalam sekolah tersebut.Di dalam 1 kelas terdapat banyak mata pelajaran yang harus di ikuti oleh para siswa. Untuk mengetahui siapa guru dari setiap mata pelajarannya, guru tersebut sudah memiliki data. Seperti, nomor guru, mata pelajaran yang diajar, dan kode guru. Satu mata pelajaran bisa diajar oleh beberapa guru. Silahkan tentukan entitas, atribut, relasi, dan gambarlah ERD-nya!.
  • Entitas : Guru, siswa
  • Atribut : No.guru, mata pelajaran, kode guru, nama siswa, alamat siswa, no. pendaftraan
  • Relasi : Mengajar
Berikut adalah gambar ERD-nya 




Sekian dari sayaa.... Terima kasih telah mengunjungi blog saya, semoga bermanfaat, apabila ada kesalahan mohon dimaafkan :)

Komentar

Postingan populer dari blog ini

Tutorial Game Sederhana Menggunakan Scratch

PEMOGRAMAN PHP

CARA MENGINSTAL JDK DAN NETBEANS