Minggu, 20 September 2015

MATERI DATABASE/BASIS DATA

Pengertian Basis Data 

Basis data adalah kumpulan file-file yang mempunyai kaitan antara satu file dengan
file lain sehingga membentuk suatu bangunan data untuk menginformasikan suatu
perusahaan atau instansi dalam batasan tertentu

Istilah-istilah Basis data

Beberapa hal yang termaksud unsur-unsur dari basis data adalah sebagai berikut:
Entititas
Entititas adalah orang, tempat, kejadian atau konsep yang informasinya direkam.
Pada bidang kesehatan Entity adalah Pasien, Dokter, Kamar.
Field
Setiap entity mempunyai atribut atau sebutan untuk mewakili suatu entity. Seorang
siswa dapat dilihat dari atributnya misalnya, NIM, Nama_siswa, Alamat.
Record
Record adalah kumpulan isi elemen data (atribut) yang saling berhubungan
menginformasikan tentang suatu entity secara lengkap.
Contoh Kumpulan atribut NIP, Nama, dan alamat berisikan “01001245566”, Sanusi,
Jl. Hati suci No 2 Kupang.
Data Value
Merupakan data aktual atau infomasi yang disimpan ditiap data elemen. Isi atribut
disebut nilai data.
Kunci Elemen Data ( Key Data Element )
Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan
entitas.
Contoh Entitas Mahasiswa yang mempunyai atribut-atribut npm, nama, alamat,
tanggal lahir menggunakan Kunci Elemen Data npm.

Komponen-komponen Sistem Basis Data ( Database )

Basis data merupakan sistem yang terdiri atas kumpulan file atau tabel yang saling
berhubungan dan Database Management System ( DBMS ) yang memungkinkan
beberapa pemakai untuk mengakses dan manipulasi file-file tersebut (
Fathansyah,1999 ). Dalam Sistem Basis data memiliki beberapa komponen yaitu:

Perangkat Keras ( Hardware )
Perangkat keras yang biasanya terdapat dalam sistem basis data adalah memori
sekunder hardisk.

Sistem Operasi ( Operating System )
Sistem Operasi (Operating System) merupakan program yang mengaktifkan atau
mengfungsikan sistem komputer, mengendalikan seluruh sumber daya (resource) dan
melakukan operasi-operasi dalam komputer. Sistem Operasi yang banyak digunakan
seperti: MS-DOS, MS-Windows 95 MS Windows NT, dan Unix.

Basis data (  Database  )
Sebuah basis data ( Database ) dapat memiliki beberapa basis data. Setiap basis data
dapat berisi atau memiliki sejumlah objek basis data seperi file atau tabel.Database

Management System ( DBMS )
Pengolahan basis data secara fisik tidak dilakukan oleh pemakai secara langsung,
tetapi ditangani oleh sebuah perangkat lunak yang disebut DBMS yang menentukan
bagaimana data disimpan, diubah dan diambil kembali.

Pemakai ( User )
Bagi pemakai dapat berinteraksi dengan basis data dan memanipulasi data dalam
program yang ditulis dalam bahasa pemograman.

Tujuan dan Manfaat Basis Data

Tujuan utama dalam pengolahan data dalam sebuah basis data adalah agar kita dapat
memperoleh data yang kita cari dengan mudah dan cepat (Fathansyah,1999).
Pemanfaatan basis data dilakukan dengan tujuan yaitu:

Kecepatan dan kemudahan (Speed )
Pemanfaatan Database memungkinkan kita untuk dapat menyimpan data atau
melakukan perubahan ( manipulasi ) dan menampilkan kembali data tersebut dengan
cepat dan mudah, dari pada kita menyimpan data secara manual.

Efisien ruang penyimpanan (Space)
Dengan Database penggunaan ruang penyimpanan data dapat dilakukan karena kita
dapat melakukan penekanan jumlah pengulangan data dengan menerapkan sejumlah
pengkodean .

Keakuratan (Acuracy)
Pemanfatan pengkodean atau pembentukan relasi antar data dengan penerapan aturan
atau batasan tipe data dapat diterapkan dalam Database yang berguna untuk
menentukan ketidakakuratan pemasukan atau penyimpanan.

Keamanan (Security)
Dalam sejumlah sistem ( apilkasi ) pengelolah database tidak menerapkan aspek
keamanan dalam penggunaan database. Tetapi untuk sistem yang besar dan serius,
aspek keamanan juga dapat diterapkan. Dengan begitu kita dapat menentukan siapa
yang boleh menggunakan database dan menentukan jenis operasi-operasi apa saja
yang boleh dilakukan.

Terpeliharanya keselarasan data (Consitant)
Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan
Data dapat dipakai secara bersama (shared)
Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara
batch maupun on-line) pada saat bersamaan.
Dapat diterapkan standarisasi (standardization)
Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan
standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman
maupun pertukaran data.

Kelemahan Sistem Basis Data

  •  Memerlukan tenaga spesialIS
  •  Kompleks
  •  Memerlukan tempat yang besar
  •  Mahal

Pengguna Basis Data

System Engineer
Tenaga ahli yang bertanggung jawab atas pemasangan Sistem Basis Data, dan juga
mengadakan peningkatan dan melaporkan kesalahan dari sistem tersebut kepada
pihak penjual
Database Administrator (DBA)
Tenaga ahli yang mempunyai tugas untuk mengontrol sistem basis data secara
keseluruhan, meramalkan kebutuhan akan sistem basis data, merencanakannya dan
mengaturnya.

Tugas DBA Mengontrol DBMS dan software-software

  1. Memonitor siapa yang mengakses basis data
  2. Mengatur pemakaian basis data
  3. Memeriksa security, integrity, recovery dan concurency

Program Utilitas yang digunakan oleh DBA :

1. Loading Routines, Membangun versi utama dari basis data
2. Reorganization Routines, Mengatur / mengorganisasikan kembali basis data
3. Journaling Routines, Mencatat semua operasi pemakaian basis data
4. Recovery Routines, Menempatkan kembali data, sebelum terjadinya kerusakan
5. Statistical Analysis Routines, Membantu memonitor kehandalan sistem

End User (Pemakai Akhir)
Ada beberapa jenis (tipe) pemakai terhadap suatu sistem basis data yang dapat
dibedakan berdasarkan cara mereka berinteraksi terhadap sistem :

Programmer aplikasi
Pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language
(DML), yang disertakan (embedded) dalam program yang ditulis pada bahasa
pemrograman induk (seperti C, pascal, cobol, dll)

Pemakai Mahir (Casual User)
Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka
menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh
suatu DBMS

Pemakai Umum (End User / Naïve User)
Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu
program aplikasi permanen (executable program) yang telah ditulis (disediakan)
sebelumnya

Pemakai Khusus (Specialized/Sophisticated User)
Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-
keperluan khusus seperti aplikasi AI, Sistem Pakar, Pengolahan Citra, dll, yang bisa
saja mengakses basis data dengan atau tanpa DBMS yang bersangkutan.

Contoh penggunaan Aplikasi basis data dalam dunia bisnis 

  1.  Bank : Pengelolaan data nasabah, akunting, semua transaksi perbankan
  2.  Bandara : Pengelolaan data reservasi, penjadualan
  3.  Universitas : Pengelolaan pendaftaran, alumni
  4.  Penjualan : Pengelolaan data customer, produk, penjualan 
 Data Base Management System (DBMS)/Sistem Manajemen  Basis  Data (SMB)
DBMS dapat diartikan sebagai program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memodifikasi dan memperoleh data/informasi dengan praktis dan efisien.

Kelebihan dari DBMS antara lain adalah:
Penyimpanan data dalam bentuk DBMS mempunyai banyak manfaat dan kelebihan dibandingkan dengan penyimpanan dalam bentuk flat file atau spreadsheet, diantaranya :
  • Performance yang idapat dengan penyimpanan dalam bentuk DBMS cukup besar, sangat jauh berbeda dengan performance data yang disimpan dalam bentuk flat file. Disamping memiliki unjuk kerja yang lebih baik, juga akan didapatkan efisiensi penggunaan media penyimpanan dan memori
  • Integritas data lebih terjamin dengan penggunaan DBMS. Masalah redudansi sering terjadi dalam DBMS. Redudansi adalah kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan.
  • Independensi. Perubahan struktur database dimungkinkan terjadi tanpa harus mengubah aplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih mudah dengan penggunaan DBMS.
  • Sentralisasi. Data yang terpusat akan mempermudah pengelolaan database. kemudahan di dalam melakukan bagi pakai dengan DBMS dan juga kekonsistenan data yang diakses secara bersama-sama akan lebiih terjamin dari pada data disimpan dalam bentuk file atau worksheet yang tersebar.
  • Sekuritas. DBMS memiliki sistem keamanan yang lebih fleksibel daripada pengamanan pada file sistem operasi. Keamanan dalam DBMS akan memberikan keluwesan dalam pemberian hak akses kepada pengguna.
Keuntungan-keuntungan dalam penggunaan DBMS antara lain adalah:
a.       Independensi data,DBMS menyediakan pendekatan yang membuat perubahan dalam data tidak membuat program harus diubah.
b.      Pengaksesan yang efisien terhadap data, DBMS menyediakan berbagai teknik yang canggih sehingga penyimpanan dan pengambilan data dilakukan secara efisien.
c.       Keamanan dan integritas data, Karena data dikendalikan oleh DBMS, DBMS dapat melakukan kendala integritas terhadap data. Segala sesuatu yang tidak sesuai dengan definisi suatu field dan kekangan yang melekat pada field akan ditolak. Sebagai contoh, jika field Jenis_Kelamin dinyatakan berupa P atau W, maka penyimpanan L ke field tersebut dengan sendirinya akan ditolak oleh DBMS.
d.      Administrasi data, Jika sejumlah pemakai berbagi data, pemusatan administrasi dapat meningkatkan perbaikan yang sangat berarti. Dengan cara seperti ini, duplikasi atau redudansi data dapat diminimalkan.
e.       Akses bersamaan dan pemulihan terhadap kegagalan, DBMS menyediakan mekanisme sehingga data yang sama dapat diakses oleh sejumlah orang dalam waktu yang sama. Selain itu, DBMS melindungi pemakai dari efek kegagalan sistem. Jika terjadi kegagalan sistem, DBMS dapat mengembalikan data sebagaimana kondisi saat sebelum terjadi kegagalan.
f.       Waktu pengembangan aplikasi terpendek, DBMS menawarkan banyak fasilitas yang memudahkan dalam menyusun aplikasi sehingga waktu pengembangan aplikasi dapat diperpendek.
Kelemahan-kelemahan DBMS antara lain:
  1. Biaya & Harga DBMS yang Tinggi & Mahal Kebutuhan untuk medapatkan perangkat lunak dan perangkat keras yang tepat cukup mahal, termasuk biaya pemeliharaan dan sumber daya  manusia yang mengelola basis data tersebut.
  2. Sangat kompleks. Sistem basis data lebih kompleks dibandingkan dengan proses berkas, sehingga dapat mudah terjadinya kesalahan dan semakin sulit dalam pemeliharaan data.
  3. Resiko data yang terpusat. Data yang terpusat dalam satu lokasi dapat beresiko  kehilangan data selama proses aplikasi.
  4. Membutuhkan media penyimpanan yang besar
  5. Membutuhkan memory komputer yang besar
  6. Membutuhkan spesifikasi hardware yang tinggi / khusus
  7. Membutuhkan waktu yang lama untuk konversi sistem
  8. Terkadang kinerja DBMS low performance
  9. Resiko kegagalan cukup tinggi
Arsitektur DBMS
Arsitektur ini dikenal dengan nama arsitektur tiga skema (three-schema architecture) dimana fungsi ini untuk memisahkan antara basis data fisik dengan program aplikasi user. Skema-skema tersebut adalah sebagai berikut:
a.        Level internal merupakan skema internal yang memuat deskripsi struktur penyimpanan basis data dan menggunakan model data fisikal serta mendefinisikan secara detail penyimpanan data dalam basis data, serta jalur pengaksesan data.
b.       Level konsepsual adalah skema yang memuat deskripsi struktur basis data secara keseluruhan untuk semua pemakai. Skema ini hanya memuat deskripsi tentang entitas, atribut, hubungan dan batasan, tanpa memuat deskripsi data secara detail.
c.        Level eksternal merupakan skema eksternal (user view) yang mendefinisikan pandangan data terhadap sekelompok user (local view) dengan menyembunyikan data lain yang tidak diperlukan oleh kelompok user tersebut.

       Tipe data (data type) selalu digunakan untuk menentukan jenis data dari suatu field dalam sebuah tabel. Terdapat sepuluh jenis tipe data dalam database yang disediakan , yaitu :  

·        1.               AutoNumber: Menampilkan angka secara otomatis dimulai dari angka 1, dan dilanjutkan dengan angka 2, 3, 4, dan seteusnya.

·         2.      Currency: Memnampung data digit, tanda minus, dan tanda titik desimal dengan 15 digit di sebelah kiri tanda titik desimal dan 4 digit di sebelah kanan titik desimal.

·         3.      Date / Time: Menampung data tanggal, waktu, dan tahun dimulai dari 100 sampai dengan 9999.

·         4.      Hyperlink: Menampung data teks berwarna, bergaris bawah, dan grafik.

·         5.      Lookup Wizard: Menampilakan suatu tipe data dari banyak tipe data yang diambil dari tabel dan Query.

·         6.      Memo: Menampung data teks (huruf, bilangan, tanda baca, dan simbol grafik) sebanyak 65535  karakter. Tipe ini tidak dapat diindeks

·         7.     Number: Menampung digit, tanda minus, dan titik desimal. Tipe ini memiliki 5 ukuran bilanngan dan jumlah digit.

·        8.              OLE object: Menampung foto/gambar grafik, rekaman suara dan video, dan spreadsheet. Kapasitas maksimum data tipe ini adalah 1 Gb. Tipe ini tidak dapat diindeks.

·         9.     Text:  Menampung data teks (huruf, angka, dan simbol grafik) sebanyak 255 karakter. Standar karakter terpasang sebesar 50 karakter.

·        10.            Yes / No:  Menmpung salah satu dari dua yang ada Yes/No,
True/False, dan On/Off
          Berikut ini akan diberikan tipe-tipe data yang didukung oleh MySQL yang terambil dari dokumentasi MySQL. Tipe - tipe data ini diberikan dalam bentuk yang siap dituliskan pada sintaks-sintaks MySQL, misalnya Create Table. Pada tipe-tipe data tersebut terdapat beberapa atribut yang memiliki arti sebagai berikut:
  • M, menunjukkan lebar karakter maksimum. Nilai M maksimum adalah 255.
  • D,  menunjukkan jumlah angka di belakang koma. Nilai maksimum D adalah 30 tetapi dibatasi oleh nilai M, yaitu tidak boleh lebih besar daripada M-2.
  • Atribut yang diberi tanda [ dan ] berarti pemakaiannya adalah optional.
  • Jika atribut ZEROFILL disertakan, MySQL akan otomatis menambahkan atribut UNSIGNED.
  • UNSIGNED adalah bilangan tanpa tanda di depannya (misalnya tanda negatif).
 Inilah tipe-tipe data tersebut:
  • TINYINT[(M)] [UNSIGNED] [ZEROFILL]: Integer yang sangat kecil jangkauan nilainya, yaitu -128 hingga 127. Jangkauan unsigned adalah 0 hingga 255.
  • SMALLINT[(M)] [UNSIGNED] [ZEROFILL]: Integer yang kecil jangkauan nilainya, yaitu -32768 hingga 32767. Jangkauan unsigned adalah 0 hinga 65535.
  • MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]: Integer tingkat menengah. Jangkauan nilainya adalah -8388608 hingga 8388607. Jangkauan unsigned adalah 0 hingga 16777215.
  • INT[(M)] [UNSIGNED] [ZEROFILL]: Integer yang berukuran normal. Jangkauan nilainya adalah -2147483648 hingga 2147483647. Jangkauan unsigned adalah 0 hingga 4294967295.
  • INTEGER[(M)] [UNSIGNED] [ZEROFILL]:Sama dengan INT.
  • BIGINT[(M)] [UNSIGNED] [ZEROFILL]:Integer berukuran besar. Jangkauan nilainya adalah -9223372036854775808 hingga 9223372036854775807. Jangkauan unsigned adalah 0 hingga 18446744073709551615.
  • FLOAT(precision) [ZEROFILL]: Bilangan floating-point. Tidak dapat bersifat unsigned. Nilai atribut precision adalah <=24 untuk bilangan floating-point presisi tunggal dan di antara 25 dan 53 untuk bilangan floating-point presisi ganda.
  • FLOAT[(M,D)] [ZEROFILL]: Bilangan floating-point presisi tunggal. Tidak dapat bersifat unsigned. Nilai yang diijinkan adalah -3.402823466E+38 hingga -1.175494351E-38 untuk nilai negatif, 0, and 1.175494351E-38 hingga 3.402823466E+38 untuk nilai positif.
  • DOUBLE[(M,D)] [ZEROFILL]: Bilangan floating-point presisi ganda. Tidak dapat bersifat unsigned. Nilai yang diijinkan adalah -1.7976931348623157E+308 hingga -2.2250738585072014E-308 untuk nilai negatif, 0, dan 2.2250738585072014E-308 hingga 1.7976931348623157E+308 untuk nilai positif.
  • DOUBLE PRECISION[(M,D)] [ZEROFILL] dan REAL[(M,D)] [ZEROFILL]: Keduanya sama dengan DOUBLE.
  • DECIMAL[(M[,D])] [ZEROFILL]: Bilangan floating-point yang “unpacked”. Tidak dapat bersifat unsigned. Memiliki sifat mirit dengan CHAR. Kata “unpacked'' berarti bilangan disimpan sebagai string, menggunakan satu karakter untuk setiap digitnya. Jangkauan nilai dari DECIMAL sama dengan DOUBLE, tetapi juga tergantung dai nilai atribut M dan D yang disertakan. Jika D tidak diisi akan dianggap 0. Jika M tidak diisi maka akan dianggap 10. Sejak MySQL 3.22 nilai M harus termasuk ruang yang ditempati oleh angka di belakang koma dan tanda + atau -.
  • NUMERIC(M,D) [ZEROFILL]: Sama dengan DECIMAL.
  • DATE: Sebuah tanggal. MySQL menampilkan tanggal dalam format 'YYYY-MM-DD'. Jangkauan nilainya adalah '1000-01-01' hingga '9999-12-31'.
  • DATETIME: Sebuah kombinasi dari waktu (jam) dan tanggal. MySQL menampilkan waktu dan tanggal dalam format 'YYYY-MM-DD HH:MM:SS'. Jangkauan nilainya adalah '1000-01-01 00:00:00' hingga '9999-12-31 23:59:59'.
  • TIMESTAMP[(M)]: Sebuah timestamp. Jangkauannya adalah dari '1970-01-01 00:00:00' hingga suatu waktu di tahun 2037. MySQL menampilkan tipe data TIMESTAMP dalam format YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, atau YYMMDD, tergantung dari nilai M, apakah 14 (atau tidak ditulis), 12, 8, atau 6.
  • TIME: Tipe data waktu. Jangkauannya adalah '-838:59:59' hingga '838:59:59'. MySQL menampilkan TIME dalam format 'HH:MM:SS'.
  • YEAR[(2|4)]: Angka tahun, dalam format 2- atau 4-digit (default adalah 4-digit). Nilai yang mungkin adalah 1901 hingga 2155, 0000 pada format 4-digit, dan 1970-2069 pada format 2-digit (70-69).
  • CHAR(M) [BINARY]: String yang memiliki lebar tetap. Nilai M adalah dari 1 hingga 255 karakter. Jika ada sisa, maka sisa tersebut diisi dengan spasi (misalnya nilai M adalah 10, tapi data yang disimpan hanya memiliki 7 karakter, maka 3 karakter sisanya diisi dengan spasi). Spasi ini akan dihilangkan apabila data dipanggil. Nilai dari CHAR akan disortir dan diperbandingkan secara case-insensitive menurut default character set yang tersedia, kecuali bila atribut BINARY disertakan.
  • VARCHAR(M) [BINARY]: String dengan lebar bervariasi. Nilai M adalah dari 1 hingga 255 karakter. Jika nilai M adalah 10 sedangkan data yang disimpan hanya terdiri dari 5 karakter, maka lebar data tersebut hanya 5 karakter saja, tidak ada tambahan spasi.
  • TINYBLOB dan TINYTEXT: Sebuah BLOB (semacam catatan) atau TEXT dengan lebar maksimum 255 (2^8 - 1) karakter.
  • BLOB dan TEXT: Sebuah BLOB atau TEXT dengan lebar maksimum 65535 (2^16 - 1) karakter.
  • MEDIUMBLOB dan MEDIUMTEXT: Sebuah BLOB atau TEXT dengan lebar maksimum 16777215 (2^24 - 1) karakter.
  • LONGBLOB dan LONGTEXT: Sebuah BLOB atau TEXT dengan lebar maksimum 4294967295 (2^32 - 1) karakter.
  • ENUM('value1','value2',...): Sebuah enumerasi, yaitu objek string yang hanya dapat memiliki sebuah nilai, dipilih dari daftar nilai 'value1', 'value2', ..., NULL atau nilai special "" error. Sebuah ENUM maksimum dapat memiliki 65535 jenis nilai.
  • SET('value1','value2',...): Sebuah set, yaitu objek string yang dapat memiliki 0 nilai atau lebih, yang harus dipilih dari daftar nilai 'value1', 'value2', .... Sebuah SET maksimum dapat memiliki 64 anggota.

15 komentar:

  1. terima kasih atas informasinya semoga bermanfaat bagi saya

    My blog

    BalasHapus
  2. Materi lengkap sangat membantu kami membuat makalah

    BalasHapus
  3. materinya sangat bermanfaat dan lengkap.mksh

    BalasHapus
  4. Materinya lengkap dan sangat bermanfaat

    My blog

    BalasHapus
  5. Terimakasih materinya mudah dipahami.

    BalasHapus
  6. terimakasih, materinya sangat membantu. :)

    BalasHapus
  7. Terimakasih.. tulisannya sangat bermanfaat..
    My blog

    BalasHapus
  8. materinya jelas dan mudah dimengerti

    BalasHapus
  9. Terimakasih.. tulisannya sangat bermanfaat..
    My blog
    My Campus

    BalasHapus
  10. makasih ,,,,,ternyata bermanfaat

    BalasHapus
  11. Borgata Hotel Casino & Spa - Mapyro
    Borgata Hotel Casino & Spa 대전광역 출장마사지 in Atlantic 시흥 출장샵 City offers an upscale take on the classic casino resort with 1404 영천 출장마사지 rooms and 포항 출장안마 suites. It also 남양주 출장안마 features a full casino

    BalasHapus