Sejarah Database [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Sejarah database



Sejak zaman dulu, basis data sudah menjadi fokus yang utama pada aplikasi. Pada awal tahun 1960, Charles Bachman di perusahaan General Electric mendesain generasi pertama DBMS yang disebut penyimpanan data terintegrasi (Integrated Data Strore). Dasar untuk model data jaringan terbentuk lalu distandarisasi oleh CODASYL (Conference on Data System Languages). Kemudian, Bachman menerima CM Turing Award (Penghargaan semacam nobel pada ilmu computer) pada tahun 1973. Menurut sejarah, system pemrosesan basis data terbentuk setelah masa system pemrosesan manual dan system pemrosesan berkas. System pemrosesan manual (Berbasis kertas) merupakan bentuk pemrosesan yang menggunakan dasar berupa setumpuk rekaman yang disimpan pada rak-rak berkas. Jika berkas-berkas tersebut diperlukan, berkas tersebut harus dicari pada rak-rak tersebut. System pemrosesan berkas merupakan system komputer, dimana sekelompok rekaman disimpan pada sejumlah berkas secara terpisah. Perancangan system ini didasarkan pada kebutuhan individual pengguna, bukan kebutuhan sejumlah pengguna. Sehingga setiap aplikasi menuliskan data sendiri, alhasil ada kemungkinan data yang sama terdapat pada berkas-berkas lain yang digunakan oleh program aplikasi lain. Sejarah DBMS (Database Management System), generasi pertama DBMS didesain oleh Charles Bachman di perusahaan General Electric pada awal tahun 1960, disebut sebagai penyimpanan data terintegrasi (Integrated Data Store). Dibentuk dasar untuk model data jaringan yang kemudian distandardisasi oleh CODASYL (Conference on Data System Languages). Pada akhir 1960, IBM mengembangkan system manajemen informasi (Information Management System) DBMS. IMS dibentuk dari representasi data pada kerangka kerja yang disebut dengan model data hirarki. Dalam waktu yang sama, dikembangkan system SABRE sebagai hasil kerjasama antara IBM dengan perusahaan penerbangan Amerika. System ini memungkinkan user untuk mengakses data yang sama pada jaringan komputer. Pada tahun 1985, Microsoft dan IBM mengumumkan perjanjian kerjasama jangka panjang untuk mengembangkan system operasi dan produk-produk perangkat lunak lainnya. Pengumuman ini adalah permulaan dimulainya OS/2, sebuah system operasi setelah masa kejayaan MS-DOS. OS/2 ini akan lebih 'Hebat' dan lebih 'Canggih' daripada MS-DOS, ia akan mampu menangani multitasking application dengan memanfaatkan kemampuan processor Intel yang terbaru yaitu 80286. "That was the plan!" OS/2 secara resmi diumumkan pada bulan april 1987, dan dijanjikan akan tersedia buat end-user pada akhir tahun tersebut. Tetapi dalam waktu yang sangat singkat setelah pengumuman perjanjian kerjasama tersebut, IBM mengumumkan peluncuran sebuah versi spesial OS/2 yang disebut OS/2 Extended Edition. Versi lebih powerfull ini akan menyertakan sebuah Database SQL yang disebut OS/2 Database Manager, OS/2 Database Manager akan sangat berguna bagi pengembangan aplikasi yang sederhana dan kompatibel dengan DB/2 , sebuah Database server milik IBM yang beroperasi pada mainframe. OS/2 Database manager juga akan menyertakan SNA (System Network Architecture) communication service, yang disebut OS/2 Communication Manager. Sebagai bagian dari SSA (System Application Architecture)-nya. IBM menjanjikan semua produkproduk tersebut dapat saling bekerjasama pada masa yang akan datang. Tetapi jika IBM mampu menawarkan sebuah solusi OS/2 yang begitu lengkap, kenapa user harus membeli produk OS/2 buatan Microsoft?. Hal inilah yang membuat Microsoft segera mencari solusi sendiri. Pada tahun 1986, Microsoft sudah menghasilkan 197 JutaUS$ per tahun, dengan 1153 pegawai. (Sepuluh tahun kemudian, Microsoft telah mendapatkan 6 Milyar US$ dari bisnis softwarenya, dengan hampir sekitar



18.000 pegawai). Produk-produk Microsoft hampir semuanya terfokus pada aplikasi desktop dengan produk utamanya adalah MS-DOS. Komputasi Client/Server pada saat itu belum menjadi fokus utama Microsoft dan industri komputer. Manajemen data pada sebuah PC hanyalah menjadi sebuah fantasi pada masa itu, User biasanya hanya menggunaka LOTUS 1-2-3 untuk menyimpan data. Produk dBASE buatan Ashton Tate segera menjadi sangat populer setelah diluncurkan, Selanjutnya Anca Software merilis Paradox dan Micro Rim dengan prouk RBasenya. Pada tahun 1986 tersebut, Microsoft belum mempunyai produk manajemen Database sendiri. (Tetapi pada tahun 1992, Microsoft mendapatkan sukses yang luar biasa dari produk manajemen database desktop-nya dengan Microsoft Access dan Microsoft FoxPro). Tetapi IBM Database Manager sangatlah berbeda dari dBASE, Paradox atau RBase. Produk IBM ini walaupun tidak begitu user-friendly, tetapi ia mempunyai SQL query processor-nya sendiri dan bekerja berdasarkan "Transactions", hampir sama dengan Database Server yang berjalan diatas Minicomputer dan mainframe, seperti DB/2, Oracle ataupun Informix. Microsoft membutuhkan produk DBMS (Database Management System) sekaliber ini dan membutuhkannya segera!. Microsoft berpaling kepada Sybase, Inc. Sebuah perusahaan pembuat software DBMS yang sedang 'Naik daun', yang merilis produk Data Server-nya pada bulan mei 1987 untuk Sun Microssystem yang berjalan diatas UNIX. Data Server mendapatkan reputasi berkat inovasi dan kreatifitasnya dengan Stored Procedure dan Trigger serta paradigma baru dalam dunia komputasi yaitu: Client/Server. Setelah itu zaman ke zaman selalu ada pembaruan tentang Database ini. Tipe data dalam database



Tipe Data Numeric Tipe Data Numeric pada database MySQL terbagi atas beberapa macam tipe data, yaitu: 



INT Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -2.147.483.648 s/d 2.147.483.647. Tipe data ini mempunyai ukuruan 4 byte (32 bit). Contoh : TOTAL_MAHASISWA INT;







TINYINT Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -128 s/d 127. Tipe data ini mempunyai ukuran 1 byte (8 bit)







SMALLINT



Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -32.768 s/d 32.767. Tipe data ini mempunyai ukuran 2 byte (16 bit) 



MEDIUMINT Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -8.388.608 s/d 8.388.607. Tipe data ini mempunyai ukuran 3 byte (24 bit)







BIGINT Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -8.388.608 s/d 8.388.607. Tipe data ini mempunyai ukuran 8 byte (64 bit)







FLOAT Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif presisi tunggal. Tipe data ini mempunyai ukuran 4 byte (32 bit).







DOUBLE Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif presisi ganda. Tipe data ini mempunyai ukuran 8 byte (64 bit).







DECIMAL Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif presisi ganda. Tipe data ini mempunyai ukuran 8 byte (64 bit).







REAL Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif. Tipe data ini mempunyai ukuran 8 byte (64 bit).







NUMERIC Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif. Tipe data ini mempunyai ukuran 8 byte (64 bit).



Tipe Data Date & Time Tipe Data Date & Time pada database MySQL terbagi atas beberapa macam tipe data, yaitu: 



DATE Digunakan untuk meyimpan data tanggal dalam format YY:MM:DD







DATETIME Digunakan untuk menyimpan data tanggal dan waktu dalam format YY:MM:DD HH:MM:SS







TIME Digunakan untuk menyimpan data waktu dalam format HH:MM:SS







YEAR Digunakan untuk menyimpan data tahun.



Tipe Data String Tipe Data String pada database MySQL terbagi atas beberapa macam tipe data, yaitu: 



CHAR Digunakan untuk menyimpan data karakter/string dengan ukuran tetap. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 255 karakter.







VARCHAR Digunakan untuk menyimpan data karakter/string dengan ukuran dinamis. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 255 untuk MySQL versi 4.1. Dan mempunyai jangkauan antara 0 s/d 65.535 untuk MySQL versi 5.0.3







BLOB BLOB (Binary Large Object) adalah tipe data yang digunakan untuk menyimpan data biner seperti files, images, suara, dll. Tipe data ini mempunyai jangkauan 216-1 byte.







TINYBLOB Digunakan untuk menyimpan data biner seperti file, image, dan suara. Tipe data ini mempunyai jangkauan 255 byte.







MEDIUMBLOB Digunakan untuk menyimpan data biner seperti file, image, dan suara. Tipe data ini mempunyai jangkauan 244-1 byte.







LONGBLOB Digunakan untuk menyimpan data biner seperti file, image, dan suara. Tipe data ini mempunyai jangkauan 232-1 byte







TEXT Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 65.535 (216-1) karakter.







TINYTEXT Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara 0 s/d



255 untuk MySQL versi 4.0, dan mempunyai jangkauan antara 0 s/d 65.535 untuk MySQL versi 5.0.3







MEDIUMTEXT Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 224-1 karakter







LONGTEXT Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 232-1 karakter







ENUM Digunakan untuk menyimpan data enumerasi (kumpulan data)







SET Digunakan untuk menyimpan data himpunan data.



Pembagian Dalam database terdapat dua macam pembagian basis data menurut jenis basis datanya, antara lain: 1. Basis data flat-file. Basis data flat-file ideal untuk data berukuran kecil dan dapat dirubah dengan mudah. Pada dasarnya, mereka tersusun dari sekumpulan string dalam satu atau lebih file yang dapat diurai untuk mendapatkan informasi yang disimpan. Basis data flat-file baik digunakan untuk menyimpan daftar atau data yang sederhana dan dalam jumlah kecil. Basis data flat-file akan menjadi sangat rumit apabila digunakan untuk menyimpan data dengan struktur kompleks walaupun dimungkinkan pula untuk menyimpan data semacam itu. Beberapa kendala dalam menggunakan basis data jenis ini adalah rentan pada korupsi data karena tidak adanya penguncian yang melekat ketika data digunakan atau dimodifikasi dan juga adanya duplikasi data yang mungkin sulit dihindari. Salah satu tipe basis data flat-file adalah file CSV yang menggunakan pemisah koma untuk setiap nilainya. 2. Basis data relasional. Basis data ini mempunyai struktur yang lebih logis terkait cara penyimpanan. Kata “relasional” berasal dari kenyataan bahwa tabel-tabel yang berada di basis data dapat dihubungkan



satu dengan lainnya. Basis data relasional menggunakan sekumpulan tabel dua dimensi yang masingmasing tabel tersusun atas baris (tupel) dan kolom (atribut). Untuk membuat hubungan antara dua atau lebih tabel, digunakan key (atribut kunci) yaitu primary key di salah satu tabel dan foreign key di tabel yang lain. Saat ini, basis data relasional menjadi pilihan karena keunggulannya. Beberapa kelemahan yang mungkin dirasakan untuk basis data jenis ini adalah implementasi yang lebih sulit untuk data dalam jumlah besar dengan tingkat kompleksitasnya yang tinggi dan proses pencarian informasi yang lebih lambat karena perlu menghubungkan tabel- tabel terlebih dahulu apabila datanya tersebar di beberapa tabel. Beberapa contoh basis data relasional adalah Microsoft Access, MySQL, Oracle, MS SQL Server dan Postgresql. 3 komponen bahasa dalam database



Komponen Bahasa Basisdata Berdasarkan fungsinya, bahasa basis data dapat dipilah ke dalam 3 (tiga) bentuk yaitu : 1. 2. 3.



Data Definition Language (DDL) Data Manipulation Language (DML) Data Control Language (DCL)



DDL berfungsi menspesifikasikan skema atau struktur basisdata, hasil pernyataan DDL adalah himpunan definisi data yang disimpan secara khusus pada data dictionary (data directory). DML berisi sekumpulan operasi manipulasi data pada basisdata, DML biasa disebut bahasa query yaitu bahasa untuk meminta informasi dari basisdata karena komponen paling kompleks di DML adalah operaasi query. Sebenarnya DML tidak hanya berisi operasi utnuk query, namun juga meliputi operasi penghapusan, pembaruan dan penyisipan. DCL merupakan sub bahasa untuk mengendalikan struktur internal basisdata, DCL untuk menyesuaikan sistem agar supaya lebih efisian dan DCL sangat bergantung pada vendor. 3.2.1. Data Definition Language (DDL) Struktur / skema basis data yang menggambarkan / mewakili desain basis data secara keseluruhan dispesifikasikan dengan bahasa khusus yaitu DDL. Dengan bahasa ini kita dapat membuat tabel (create table) baru, indeks, mengubah table, menentukan struktur penyimpanan table, dan lainnya. Hasil dari kompilasi perintah DDL, adalah kumpulan table yang disimpan dalam file khusus yang disebut kamus data (data dictionary). Kamus data merupakan suatu metadata (superdata), yaitu data yang mendiskripsikan data sesungguhnya. Contoh perintah DDL dengan Foxpro adalah create matakuliah, modify report, modify structure, dan lainnya, sedangkan perintah DDL dengan MS-SQl Server 2000, contohnya adalah create new database Penjadwalan_mengajar_dosen dan contoh lainnya adalah new table dosen dengan struktur sebagai berikut:



Gambar 3.1. Create database dengan MS-SQL Server 2000



Gambar 3.2. Create table mahasiswa dengan MS-SQL Server 2000 3.2.2. Data Manipulation Language (DML) Bentuk bahasa basis data untuk melakukan menipulasi dan pengambilan data pada suatu basis data. Manipulasi data pada dabase dapat berupa : 1). 2). 3). 4).



Penyisipan / penambahan data pada file / table dalam suatu basis data. Penghapusan data pada file / table dalam suatu basis data. Pengubahan data pada file / table dalam suatu basis data. Penelusuran data pada file / table dalam suatu basis data.



Pada level phisik kita harus mendefinisikan alghoritma yang memungkinkan pengaksesan yang efisien terhadap data. Pada level yang lebih tinggi yang dipentingkan bukan efisien akses, tapi juga efisiensi interaksi pemakai dengan sistem. DML merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan oleh model data. Ada 2 (dua) jenis DML adalah sebagai berikuit  : 1). Prosedural, yang mensyaratkan pemakai menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya. 2). Nonprosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.



Berdasarkan fungsinya, bahasa basis data dapat dipilah ke dalam 3 (tiga) bentuk yaitu : 1. 2. 3.



Data Definition Language (DDL) Data Manipulation Language (DML) Data Control Language (DCL)



DDL berfungsi menspesifikasikan skema atau struktur basisdata, hasil pernyataan DDL adalah himpunan definisi data yang disimpan secara khusus pada data dictionary (data directory). DML berisi sekumpulan operasi manipulasi data pada basisdata, DML biasa disebut bahasa query yaitu bahasa untuk meminta informasi dari basisdata karena komponen paling kompleks di DML adalah operaasi query. Sebenarnya DML tidak hanya berisi operasi utnuk query, namun juga meliputi operasi penghapusan, pembaruan dan penyisipan. DCL merupakan sub bahasa untuk mengendalikan struktur internal basisdata, DCL untuk menyesuaikan sistem agar supaya lebih efisian dan DCL sangat bergantung pada vendor. 3.2.1. Data Definition Language (DDL) Struktur / skema basis data yang menggambarkan / mewakili desain basis data secara keseluruhan dispesifikasikan dengan bahasa khusus yaitu DDL. Dengan bahasa ini kita dapat membuat tabel (create table) baru, indeks, mengubah table, menentukan struktur penyimpanan table, dan lainnya. Hasil dari kompilasi perintah DDL, adalah kumpulan table yang disimpan dalam file khusus yang disebut kamus data (data dictionary). Kamus data merupakan suatu metadata (superdata), yaitu data yang mendiskripsikan data sesungguhnya. Contoh perintah DDL dengan Foxpro adalah create matakuliah, modify report, modify structure, dan lainnya, sedangkan perintah DDL dengan MS-SQl Server 2000, contohnya adalah create new database Penjadwalan_mengajar_dosen dan contoh lainnya adalah new table dosen dengan struktur sebagai berikut:



Gambar 3.1. Create database dengan MS-SQL Server 2000



Gambar 3.2. Create table mahasiswa dengan MS-SQL Server 2000 3.2.2. Data Manipulation Language (DML) Bentuk bahasa basis data untuk melakukan menipulasi dan pengambilan data pada suatu basis data. Manipulasi data pada dabase dapat berupa : 1). 2). 3). 4).



Penyisipan / penambahan data pada file / table dalam suatu basis data. Penghapusan data pada file / table dalam suatu basis data. Pengubahan data pada file / table dalam suatu basis data. Penelusuran data pada file / table dalam suatu basis data.



Pada level phisik kita harus mendefinisikan alghoritma yang memungkinkan pengaksesan yang efisien terhadap data. Pada level yang lebih tinggi yang dipentingkan bukan efisien akses, tapi juga efisiensi interaksi pemakai dengan sistem. DML merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan oleh model data. Ada 2 (dua) jenis DML adalah sebagai berikuit  : 1). Prosedural, yang mensyaratkan pemakai menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya. 2). Nonprosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.