Basis Data

35
BASIS DATA Author Arifin

Transcript of Basis Data

BASIS DATA

Author Arifin

Basis data• 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. Perangkat lunak yang digunakan untuk mengelola dan memanggil kuerie (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi

• Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.

• Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.

• Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.

Lingkungan basis dataLingkungan basis data adalah sebuah habitat di mana terdapat basis data untuk bisnis. Dalam lingkungan basis data, pengguna memiliki alat untuk mengakses data. Pengguna melakukan semua tipe pekerjaan dan keperluan mereka bervariasi seperti menggali data (data mining), memodifikasi data, atau berusaha membuat data baru. Masih dalam lingkungan basis data, pengguna tertentu tidak diperbolehkan mengakses data, baik secara fisik maupun logis. (Koh, 2005, dalam Janner Simarmata & Imam Paryudi 2006: 33).

Bahasa pada basis data• Terdapat dua jenis bahasa komputer yang digunakan

saat kita ingin membangun dan memanipulasi sebuah basis data, yaitu:

• Data Definition Language (DDL)• Data Manipulation Language (DML)

Perangkat lunak basis data

3. Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan merupakan perangkat basis data aras tinggi (high level):•Microsoft SQL

Server•Oracle•Sybase •Interbase•XBase•Firebird •MySQL •PostgreSQL•Microsoft Access•dBase III•Paradox•FoxPro•Visual FoxPro•Arago•Force

2. Selain perangkat lunak di atas, terdapat juga perangkat lunak pemrograman basis data aras rendah (low level), diantaranya:• Btrieve• Tsunami Record Manager

MySQL• MySQL adalah sebuah perangkat lunak sistem manajemen

basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.

• Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

Sistem manajemen basis data relasional• MySQL adalah sebuah implementasi dari sistem manajemen

basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.

Sejarah MySQL

• MySQL pada awalnya diciptakan pada tahun 1979, oleh Michael "Monty" Widenius, seorang programmer komputer asal Swedia. Monty mengembangkan sebuah sistem database sederhana yang dinamakan UNIREG yang menggunakan koneksi low-level ISAM database engine dengan indexing. Pada saat itu Monty bekerja pada perusahaan bernama TcX di Swedia.

• TcX pada tahun 1994 mulai mengembangkan aplikasi berbasis web, dan berencana menggunakan UNIREG sebagai sistem database. Namun sayangnya, UNIREG dianggagap tidak cocok untuk database yang dinamis seperti web.

• TcX kemudian mencoba mencari alternatif sistem database lainnya, salah satunya adalah mSQL (miniSQL). Namun mSQL versi 1 ini juga memiliki kekurangan, yaitu tidak mendukung indexing, sehingga performanya tidak terlalu bagus.

• Dengan tujuan memperbaiki performa mSQL, Monty mencoba menghubungi David Hughes (programmer yang mengembangkan mSQL) untuk menanyakan apakah ia tertarik mengembangkan sebuah konektor di mSQL yang dapat dihubungkan dengan UNIREG ISAM sehingga mendukung indexing. Namun saat itu Hughes menolak, dengan alasan sedang mengembangkan teknologi indexing yang independen untuk mSQL versi 2.

• Dikarenakan penolakan tersebut, David Hughes, TcX (dan juga Monty) akhirnya memutuskan untuk merancang dan mengembangkan sendiri konsep sistem database baru. Sistem ini merupakan gabungan dari UNIREG dan mSQL (yang source codenya dapat bebas digunakan). Sehingga pada May 1995, sebuah RDBMS baru, yang dinamakan MySQL dirilis.

• David Axmark dari Detron HB, rekanan TcX mengusulkan agar MySQL di ‘jual’ dengan model bisnis baru. Ia mengusulkan agar MySQL dikembangkan dan dirilis dengan gratis. Pendapatan perusahaan selanjutnya di dapat dari menjual jasa “support” untuk perusahaan yang ingin mengimplementasikan MySQL. Konsep bisnis ini sekarang dikenal dengan istilah Open Source.

• Pada tahun 1995 itu juga, TcX berubah nama menjadi MySQL AB, dengan Michael Widenius, David Axmark dan Allan Larsson sebagai pendirinya. Titel “AB” dibelakang MySQL, adalah singkatan dari “Aktiebolag”, istilah PT (Perseroan Terbatas) bagi perusahaan Swedia.[3]

Bahasa pemrograman

• Terdapat beberapa API (Application Programming Interface) tersedia yang memungkinkan aplikasi-aplikasi komputer yang ditulis dalam berbagai bahasa pemrograman untuk dapat mengakses basis data MySQL antara lain: bahasa pemrograman C, C++, C#, bahasa pemrograman Eiffel, bahasa pemrograman Smalltalk, bahasa pemrograman Java, bahasa pemrograman Lisp, Perl, PHP, bahasa pemrograman Python, Ruby, REALbasic dan Tcl. Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap bahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL. Kebanyakan kode sumber MySQL dalam ANSI C.

Tipe – tipe Data pada MySQL

• Tipe Data NumericTipe data numerik yaitu tipe data yang digunakan untuk menyimpan data numeric (angka).

• 1. TINYINT• Penggunaan : digunakan untuk menyimpan data bilangan

bulat positif dan negatif.• Jangkauan : -128 s/d 127• Ukuran : 1 byte (8 bit).• 2. SMALLINT• Penggunaan : digunakan untuk menyimpan data bilangan

bulat positif dan negatif.• Jangkauan : -32.768 s/d 32.767• Ukuran : 2 byte (16 bit).

• 3. MEDIUMINT• Penggunaan : digunakan untuk menyimpan data bilangan

bulat positif dan negatif.• Jangkauan : -8.388.608 s/d 8.388.607• Ukuran : 3 byte (24 bit)• 4. INT• Penggunaan : digunakan untuk menyimpan data bilangan

bulat positif dan negatif.• Jangkauan : -2.147.483.648 s/d 2.147.483.647• Ukuran : 4 byte (32 bit)• 5. BIGINT• Penggunaan : digunakan untuk menyimpan data bilangan

bulat positif dan negatif.• Jangkauan : ± 9,22 x 1018• Ukuran : 8 byte (64 bit).

• 6. FLOAT• Penggunaan : digunakan untuk menyimpan data bilangan

pecahan positif dan negatif presisi tunggal.• Jangkauan : -3.402823466E+38 s/d -1.175494351E-38, 0,

dan• 1.175494351E-38 s/d 3.402823466E+38.• Ukuran : 4 byte (32 bit).

• 7. DOUBLE• Penggunaan : digunakan untuk menyimpan data bilangan

pecahan positif dan negatif presisi ganda.• Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan

2.22...E-308 s/d 1.79...E+308.• Ukuran : 8 byte (64 bit).

• 8. REAL• Penggunaan : digunakan untuk menyimpan data bilangan

pecahan positif dan negatif presisi ganda.• Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan

2.22...E-308 s/d 1.79...E+308.• Ukuran : 8 byte (64 bit).

• 9. DECIMAL• Penggunaan : digunakan untuk menyimpan data bilangan

pecahan positif dan negatif.• Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan

2.22...E-308 s/d 1.79...E+308.• Ukuran : 8 byte (64 bit).

• 10. NUMERIC• Penggunaan : digunakan untuk menyimpan data bilangan

pecahan positif dan negatif.• Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan

2.22...E-308 s/d 1.79...E+308.• Ukuran : 8 byte (64 bit).

Tipe Data Date dan Time• Tipe data date dan time yaitu tipe data yang digunakan

untuk menyimpan data tanggal dan waktu.• 1. DATE• Penggunaan : digunakan untuk menyimpan data tanggal.• Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)• Ukuran : 3 byte.• 2. TIME• Penggunaan : digunakan untuk menyimpan data waktu.• Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS)• Ukuran : 3 byte.• 3. DATETIME• Penggunaan : digunakan untuk menyimpan data tanggal dan

waktu.• Jangkauan : '1000-01-01 00:00:00' s/d '9999-12-31

23:59:59'• Ukuran : 8 byte• 4. YEAR• Penggunaan : digunakan untuk menyimpan data tahun dari

tanggal.• Jangkauan : 1900 s/d 2155• Ukuran : 1 byte.

Tipe Data String (Text)• Tipe data string yaitu tipe data yang digunakan untuk

menyimpan data string (text).• 1. CHAR• Penggunaan : digunakan untuk menyimpan data string

ukuran tetap.• Jangkauan : 0 s/d 255 karakter• 2. VARCHAR• Penggunaan : digunakan untuk menyimpan data string

ukuran dinamis.• Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535

(versi 5.0.3) 3. TINYTEXT• Penggunaan : digunakan untuk menyimpan data text.• Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535

(versi 5.0.3)• 4. TEXT• Penggunaan : digunakan untuk menyimpan data text.• Jangkauan : 0 s/d 65.535 (216 - 1) karakter• 5. MEDIUMTEXT• Penggunaan : digunakan untuk menyimpan data text.• Jangkauan : 0 s/d 224 - 1 karakter• 6. LONGTEXT• Penggunaan : digunakan untuk menyimpan data text.• Jangkauan : 0 s/d 232 - 1 karakter

Tipe Data BLOB (Biner)• Tipe data blob digunakan untuk menyimpan data biner.• 1. BIT (sejak versi 5.0.3)• Penggunaan : digunakan untuk menyimpan data biner.• Jangkauan : 64 digit biner• 2. TINYBLOB• Penggunaan : digunakan untuk menyimpan data biner.• Jangkauan : 255 byte• 3. BLOB• Penggunaan : digunakan untuk menyimpan data biner.• Jangkauan : 216 - 1 byte• 4. MEDIUMBLOB• Penggunaan : digunakan untuk menyimpan data biner.• Jangkauan : 224 - 1 byte• 5. LONGBLOB• Penggunaan : digunakan untuk menyimpan data biner.• Jangkauan : 232 - 1 byte

Tipe Data yang Lain•

Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain, diantaranya adalah :

• 1. ENUM• Penggunaan : enumerasi (kumpulan data).• Jangkauan : sampai dengan 65535 string.• 2. SET• Penggunaan : combination (himpunan data).• Jangkauan : sampai dengan 255 string anggotas.

Struktur Hirarki Basis Data

Apa yang anda pikirkan?

Apa itu Basisdata?• Basis : Markas / gudang, tempat bersarang / berkumpul.

• Data : Merupakan representasi fakta dunia nyata yang mewakili suatu objek.

• Basis Datakumpulan dari data yang saling berhubungan satu

dengan yang lainnya, tersimpan dalam perangkat keras

komputer dan digunakan perangkat lunak untuk

memanipulasinya.

Manfaat Basisdata• Kecepatan dan kemudahan (speed), • Efisiensi ruang penyimpanan (space), • Keakuratan(accuracy)• Ketersediaan (availability), • Kelengkapan (completeness), • Keamanan (security), • Kebersamaan pemakai (sharebility).

Komponen BasisdataTable

Record

Field

Item Data

Karakter

File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis.

File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis. Misalnya file mata kuliah berisi data tentang semua mata kuliah yang ada.Kumpulan dari field membentuk suatu record. Record menggambarkan suatu unit data individu tertentu.

Mereprepentasikan suatu atribut dari record yang menunjukkan suatu item data,misalnya nama, alamat, dsbMerupakan bagian data yang terkecil, dapat berupa karakter numerik, huruf ataupun karakter-karakter khusus yang membentuk suatu item data.

Contoh: tabel data siswa

NIS NAMA NO. TELFON

ALAMAT

12341 ANDI 081999 SEMARANG

12342 DIAN 085666 SOLO

12343 DINA 087333 YOGYAKARTA

RECORD

ITEM DATA

KARAKTER

Field

PENGGUNAan BASIS DATA• KEPEGAWAIAN• PERGUDANGAN• AKUNTANSI• RESERVASI

Komponen Utama Sistem Basis Data• Perangkat keras (Hardware)• Sistem Operasi• Data Base• DBMS(Database management system)

• User• Optional Software

System manajemen basis data(DBMS)• DBMS merupakan sebuah perangkat lunak yang menentukan bagaimana data diorganisasi, disimpan, diubah dan diambil kembali

• Contoh:

Model Struktur basis data1. Model Hirarkis

Model ini menggunakan pola hubungan orang tua-anak (Parent-child). Setiap orang tua bisa memiliki satu (hubungan 1:1) atau beberapa anak (1:M), tetapi setiap anak hanya memiliki 1 orang tua.

Contoh

Model Struktur basis data2. Model Jaringan (Network)

Model jaringan menyerupai model hirarkis, dengan perbedaan suatu simpul anak bisa memiliki lebih dari satu orang tua. Oleh karena sifatnya yang demikian, model ini bisa menyatakan hubungan 1:1 (satu Orang tua punya satu anak), 1:M (satu orang tua punya banyak anak), maupun M:M (beberapa anak bisa mempunyai beberapa orang tua)

Contoh

Model Struktur basis data3. Model RelasionalModel yang paling popular saat ini. Model ini menggunakan sekumpulan tabel berdimensi dua (yang disebut relasi atau tabel), dengan masing-masing relasi tersusun atas tuple dan atribut. Relasi dirancang sedemikian rupa sehingga dapat menghilangkan kemubaziran data dan menggunakan Field Kunci (Primary Key) untuk berhubungan dengan relasi lain.

Contoh model relasional:

Contoh