BABII
-
Upload
nurhidayat-mmd -
Category
Documents
-
view
215 -
download
0
description
Transcript of BABII
7
BAB II
TINJAUAN PUSTAKA
2.1. Pengenalan dan Elemen Sistem
Sistem adalah kumpulan dari objek-objek seperti orang,
sumber daya, konsep dan prosedur untuk menjalankan fungsi
yang sama untuk mencapai suatu.1
2Elemen–elemen yang menyusun sebuah sistem adalah :
a. Tujuan, merupakan tujuan dari sistem yang dipakai antara lain
yaitu: komputer yang digunakan dengan tujuan untuk
mengurangi tugas-tugas yang dilakukan oleh manusia dalam
melakukan pengolahan data.
b. Batasan, merupakan batasan kemampuan dari komputer atau
tenaga manusia yang mengoperasikannya.
c. Kontrol, merupakan elemen dari sistem komputer yang
bertugas mengawasi segala tugas-tugas yang dapat
dilakukannya.
d. Input, yaitu elemen pada sistem komputer yang bertugas
untuk menerima data masukan.
e. Proses, merupakan bagian yang memproses masukan data
hingga menghasilkan informasi sesuai dengan yang
diinginkan.
f. Output, merupakan elemen sistem komputer yang bertugas
menghasilkan keluaran.
1 Efraim Turban dan Jay E. Aronsun,1990 : 2
2 Jogiyanto HM, 1999:11, pengertian sistem
8
2.2. Pengenalan Informasi
Informasi adalah data yang diolah menjadi bentuk yang
lebih berguna dan lebih berarti bagi yang menerimanya.3
Informasi adalah data yang telah diproses menjadi bentuk yang
memiliki arti bagi penerima dan dapat berupa fakta, suatu nilai
yang bermanfaat. Jadi ada suatu proses transformasi data
menjadi suatu informasi terdiri dari input, proses dan output.
2.3. Sistem Informasi
Sistem informasi adalah suatu sistem di dalam suatu
organisasi yang mempertemukan kebutuhan pengolahan
transaksi harian, mendukung operasi, bersifat manajerial dan
kegiatan strategi dari suatu organisasasi dan menyediakan pihak
luar tertentu dengan laporan-laporan yang diperlukan.4
2.3.1. Klasifikasi Sistem Informasi
Klasifikasi pengelompokkan sistem informasi (Kadir, A.
2002) berdasarkan pada :
a. Sistem Informasi Menurut Level Organisasi : sistem
informasi departemen, sistem informasi perusahaan dan
sistem informasi antar organisasi.
b. Sistem Informasi Fungsional : sistem informasi akuntansi,
sistem informasi keuangan, sistem informasi manufaktur,
sistem informasi pemasaran dan sistem informasi sumber
daya manusia.
c. Sistem Informasi Berdasarkan Dukungan Yang Tersedia :
sistem pemrosesan transaksi (TPS), sistem informasi
3 Pengertian Sistem, Jogiyanto HM, 1990:8
4 Analisis dan Desain Sistem Informasi, Jogiyanto, 2005:11
9
d. manajemen (MIS), sistem pendukung keputusan (DSS),
sistem informasi eksekutif (EIS), sistem pendukung kelompok
(GSS) dan sistem pendukung cerdas (ESS).
e. Sistem Informasi Menurut Aktivitas Manajemen : sistem
informasi pengetahuan, sistem informasi operasional, sistem
informasi manajerial dan sistem informasi strategis.
f. Sistem Informasi Menurut Arsitektur Sistem : Sistem
berbasis mainframe, sistem komputer pribadi (PC) tunggal
dan sistem komputasi jaringan.
g. Sistem Informasi Geografis.
h. Sistem ERP (Enterprise Resource Planning).
2.4. Kartu Rencana Studi
Kartu Rencana Studi atau KRS adalah kartu yang berisi
daftar mata kuliah yang akan diikuti oleh setiap mahasiswa dalam
setiap semester. Dalam KRS tercantum data mahasiswa seperti :
Nama, NIM, Kelas, Jurusan, Jumlah Semester, Tahun Akademik,
Kode Mata Kuliah, Mata Kuliah, SKS.
2.5. Flowchart
Flowchart atau diagram alir merupakan sebuah diagram
dengan simbol-simbol grafis yang menyatakan aliran algoritma
atau proses yang menampilkan langkah-langkah yang
disimbolkan dalam bentuk kotak beserta urutannya dengan
menghubungkan masing masing langkah tersebut menggunakan
tanda panah. Diagram ini bisa memberi solusi selangkah demi
10
selangkah untuk penyelesaian masalah yang ada di dalam
proses atau algoritma tersebut.
Tabel 2.1 Simbol-Simbol Flowchart
11
2.6. Normalisasi
―Normalisasi adalah proses untuk mengorganisasikan
file untuk menghilangkan grup elemen yang berulang-ulang‖.5
Bentuk-bentuk normalisasi adalah sebagai berikut :
1. Bentuk normalisasi pertama (1NF)
Dikenakan pada tabel yang sama sekali belum
ternomalisasi. Tabel yang belum ternomalisasi adalah tabel yang
mempunyai atribut berulang.
2. Bentuk Normal 2NF
Bentuk ini didefinisikan berdasarkan dependensi
fungsional dengan syarat adalah :
a. Berada pada bentuk normal pertama
b. Semua atribut bukan kunci memiliki dependensi
sepenuhnya terhadap kunci primer.
3. Bentuk normal ketiga (3NF)
Berfungsi menghilangkan anomaly-anomaly hasil dari
ketergantungan fungsional.
5 Analisa dan Desain Sistem Informasi, Jogiyanto (2005:403)
12
4. Bentuk normal Boyce-Codd (BCNF)
Berfungsi menghilangkan ketergantungan multi value.
5. Bentuk normal keempat (4NF)
Berfungsi menghilangkan anomaly-anomaly yang
tersisa.
6. Bentuk normal kelima
Berfungsi menggambarkan rancangan database
dengan alat Bantu ERD dan normalisasi.
2.7. DFD
Diagram Arus Data digunakan untuk menggambarkan
suatu sistem yang telah ada atau sistem baru yang akan
dikembangkan secara logika tanpa mempertimbangkan
lingkungan fisik dimana data tersebut mengalir.
Tabel 2.2 Simbol DFD
13
2.8. ERD
ERD adalah model konseptual yang mendeskripsikan
hubungan antara penyimpanan (dalam DFD). ERD digunakan
untuk memodelkan struktur data dan hubungan antar data.
Tabel 2.3 Notasi ERD
Notasi Keterangan
Entitas adalah suatu objek yang
dapat didefinisi dalam lingkungan
pemakai.
Relasi melanjutkan adanya hubungan
di antara sejumlah entitas yang
berbeda.
Atribut berfungsi mendeskripsikan
karakter entitas (atribut yang
berfungsi sebagai key diberi garis
bawah).
Garis sebagai penghubung antara
relasi dengan entitas, relasi dan
entitas dengan atribut.
2.9. Jasperreport
Konsep report sangat penting dalam aplikasi bisnis
perusahaan, bahkan salah satu alasan kenapa semua transaksi
harus dicatat adalah untuk membuat laporan keuangan, dengan
menggunakan library report seperti jasper, jasper bisa mendesain
report dengan bantuan tools visual seperti iReport. Alasan kedua
adalah report bisa langsung di cetak karena formatnya sudah
14
ready for print selain itu setelah report selesai, dengan jasper
dapat diexport hasilnya ke berbagai format dokumen seperti PDF,
OpenOfice, Excel dan Words, bahkan bisa juga diexport menjadi
HTML.
JasperReports adalah library reporting paling populer
pada pemrograman Java, kepopuleran JasperReports sangat
ditunjang dengan adanya tools visual designer yaitu iReport.
Dengan menggunakan iReports, membuat report menjadi sangat
cepat dan akurat.
Feature-feature JasperReports juga sudah sangat
lengkap, berikut ini adalah daftar feature dari Jasperreport:6
1. Pixel-perfect page-oriented atau continuous output untuk web
atau print.
2. Dashboards, tables, crosstabs, charts dan gauges.
3. Web-based and pixel-perfect report.
4. Report output dalam format PDF, XML, HTML, CSV, XLS,
RTF, TXT.
5. Sub-reports dapat dengan mudah digunakan untuk
menampilkan layout yang kompleks.
6. Support barcode.
7. Dapat melakukan rotasi posisi text secara visual
8. Styles library.
9. Drill-down / hypertext link, termasuk support untuk PDF
bookmarks.
10. Tidak ada batasan ukuran report.
11. Conditional printing.
6 http://jasperforge.org/projects/jasperreports
15
12. Multi datasource dalam satu report.
13. Internationalized dan Localizable.
2.10. Netbeans IDE
Perangkat lunak yang digunakan untuk membangun
perangkat lunak yang lain. Netbeans dapat digunakan untuk
membangun perangkat lunak berbasis Java Standard Edition,
Java Enterprise Edition, Java Micro Edition, JavaFx, PHP,
C/C++, Ruby, Groovy dan Python.
Gambar 2.1 Flash Screen Netbeans IDE 7.4
Gambar 2.2 Interface Netbeans IDE
16
Keterangan gambar :
1. Menu Bar
Menu Bar adalah baris yang berisi kumpulan menu
yang telah dikelompokan dan memiliki kemampuan masing-
masing, isi dari menu bar antara lain : file, edit, view, navigate,
source, refactor, run, debug, profile, team, tool, windows dan
help. Adapun sub-sub menu dari menu-menu diatas juga masih
banyak.
2. Toolbar
Toolbar merupakan jalan pintas yang digunakan untuk
memanggil aksi yang sering digunakan dalam sub menu bar.
Seperti new file, new project, open project, save, undo, redo,
build project dan lain-lain.
3. Project Explorer
Project Explorer menampilkan project secara detail, dari
form-form sampai library yang digunakan dalam project tersebut.
4. Daftar Komponen
Daftar komponen menampilkan semua komponen yang
digunakan dalam mendesain form yang dibuka dan ditampilkan di
jendela utama.
5. Jendela Utama
Jendela utama adalah tempat untuk menampilkan form
yang akan didesain atau form yang dibuka pada tab desain dan
juga tempat penulisan script pada tab source.
6. Kontrol Komponen (Componen Pallete)
Kontrol komponen atau pallete berisi komponen-
komponen yang digunakan dalam mendesain suatu form, pallete
17
dapat ditambah dengan komponen lain sesuai dengan
kebutuhan, karena pallete default dari netbeans IDE 6.9.1 masih
kurang komplit.
7. Jendela Properties
Jendela properties menampilkan pengaturan-
pengaturan dari komponen-komponen yang digunakan dalam
desain form pada jendela utama. Jendela properties akan
menampilkan pengaturan dari komponen yang terseleksi saja,
dan pada masing-masing komponen memiliki properties berbeda-
beda.
8. Jendela Keluaran (debuging)
Jendela debugging menampilkan laporan-laporan ketika
project dijalankan, apakah terjadi kesalahan atau tidak akan
ditampilkan dalam jendela debuging.
2.11. JAVA
Teknologi Java telah berusia 10 tahun lebih. Dalam usia
tersebut, suatu teknologi dapat dikatakan telah matang. Populasi
penggunanya relatif besar, sehingga apabila kita menemui
masalah, banyak referensi dan tutorial tentang cara
mengatasinya.
Sepanjang perjalanannya, Java telah mengalami dua
kali perubahan signifikan. Pertama pada waktu transisi dari versi
1.3 menjadi 1.4, dan kemudian 1.4 menjadi 1.5 atau dikenal juga
dengan 5.0. Dalam transisi tersebut, ada perubahan signifikan
dalam teknik pemrograman maupun library yang disediakan.
Transisi ini berjalan relatif mulus, menunjukkan bahwa teknologi
18
Java cukup solid dan dibangun di atas dasar yang kokoh. Semua
transisi mempertahankan binary backward compatibility, artinya
semua aplikasi yang sudah kita kompilasi dan berjalan mulus di
Java versi lama akan terus berjalan dengan baik walaupun kita
melakukan upgrade.
Sebagai bahasa yang manampung hampir seluruh
kemampuan terbaik bahasa pemrograman yang pernah
dikembangkan umat manusia, maka bahasa ini memang menjadi
tidak mudah, sedikit rumit dan kompleks.
Java tidak lagi hanya untuk pemanis di web sebagai
applet yang membuat duke berdansa. Java adalah kakas, tetap
hanya perangkat, bagaimanapun hanya orang hebat yang dapat
memberi arti penting kakas seperti dikatakan James Gosling,
tokoh penting di Java.
2.12. Metode Pengembangan Perangkat Lunak
Pengembangan sistem dapat berarti menyusun suatu
sistem yang baru untuk menggantikan sistem yang lama secara
keseluruhan atau memperbaiki sistem yang telah ada.
Sistem yang lama perlu diperbaiki disebabkan karena
beberapa hal, yaitu :
1. Adanya permasalahan-permasalahan (problems) yang timbul
di sistem yang lama.
2. Untuk meraih kesempatan-kesempatan (opportunities).
3. Adanya instruksi-instruksi (directives).
Adapun metode pengembangan perangkat lunak yaitu :
1. Model Sekuensial Linier / Waterfall Method
19
Model Sekuensial Linier sering disebut Model Air Terjun
merupakan paradigma rekayasa perangkat lunak yang paling tua
dan paling banyak dipakai. Model ini mengusulkan sebuah
pendekatan perkembangan perangkat lunak yang sistematik dan
sekunsial yang dimulai pada tingkat dan kemajuan sistem pada
seluruh analisis, desain, kode, pengujian dan pemeliharaan.
2. Model Prototipe
Sebuah prototipe adalah bagian dari produk yang
mengekspresikan logika maupun fisik antarmuka eksternal yang
ditampilkan. Konsumen potensial menggunakan prototipe dan
menyediakan masukan untuk tim pengembang sebelum
pengembangan skal besar dimulai. Melihat dan mempercayai
menjadi hal yang diharapkan untuk dicapai dalam prototipe.
Dengan menggunakan pendekatan ini, konsumen dan tim
pengembang dapat mengklarifikasi kebutuhan dan interpretasi
mereka.
3. Rapid Aplication Development (RAD)
Adalah sebuah model proses perkembangan perangkat
lunak sekuensial linier yang menekankan siklus perkembangan
yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD ini
merupakan sebuah adaptasi kecepatan tinggi dari model
sekuensial linier dimana perkembangan cepat dicapai dengan
menggunakan pendekatan konstruksi berbasis komponen.
4. Model Spiral
Pada awalnya diusulkan oleh Boehm, adalah model
proses perangkat lunak evolusioner yang merangkai sifat iteratif
dari prototype dengan cara kontrol dan aspek sistematis model
20
sequensial linier. Model literatif ditandai dengan tingkah laku yang
memungkinkan pengembang mengembangkan versi perangkat
lunak yang lebih lengkap secara bertahap. Perangkat lunak
dikembangkan dalam deretan pertambahan. Selama awal iterasi,
rilis inkremantal bisa berupa model/prototype kertas, kemudian
sedikit demi sedikit dihasilkan versi sistem yang lebih lengkap.
2.12.1. Metode Waterfall
Model Waterfall adalah sebuah metode pengembangan
software yang bersifat sekuensial. Metode ini dikenalkan oleh
Royce pada tahun 1970 dan pada saat itu disebut sebagai
siklus klasik dan sekarang ini lebih dikenal dengan sekuensial
linier. Selain itu model ini merupakan model yang paling banyak
dipakai oleh para pengembang software. Inti dari metode
waterfall adalah pengerjaan dari suatu sistem dilakukan secara
berurutan atau secara linear. Jadi jika langkah satu belum
dikerjakan maka tidak akan bisa melakukan pengerjaan langkah
2, 3 dan seterusnya. Secara otomatis tahapan ke-3 akan bisa
dilakukan jika tahap ke-1 dan ke-2 sudah dilakukan.
Gambar 2.3. Metode Waterfall Presmman
21
Gambar 2.4. Metode Waterfall Sommervile
Keterkaitan dan pengaruh antar tahap ini ada karena
output sebuah tahap dalam waterfall model merupakan input bagi
tahap berikutnya, dengan demikian ketidak sempurnaan hasil
pelaksanaan tahap sebelumnya adalah awal ketidak sempurnaan
tahap berikutnya. Memperhatikan karakteristik ini, sangat penting
bagi tim pengembang dan perusahaan untuk secara bersama-
sama melakukan analisa kebutuhan dan desain sistem
sesempurna mungkin sebelum masuk kedalam tahap penulisan
kode program. Secara garis besar metode waterfall mempunyai
langkah-langkah sebagai berikut : Analisa, Design, Code dan
Testing, Penerapan dan Pemeliharaan.
a. Analisa kebutuhan (Requirement Analysis)
Langkah ini merupakan analisa terhadap kebutuhan
sistem. Pengumpulan data dalam tahap ini bisa malakukan
sebuah penelitian, wawancara atau studi literatur. Seorang
sistem analis akan menggali informasi sebanyak-banyaknya
dari user sehingga akan tercipta sebuah sistem komputer yang
22
bisa melakukan tugas-tugas yang diinginkan oleh user tersebut.
Tahapan ini akan menghasilkan dokumen user requirement atau
bisa dikatakan sebagai data yang berhubungan dengan
keinginan user dalam pembuatan sistem. Dokumen inilah yang
akan menjadi acuan sistem analis untuk menterjemahkan ke
dalam bahasa pemprograman.
b. Design Sistem (System Design)
Proses desain akan menerjemahkan syarat kebutuhan
kesebuah perancangan perangkat lunak yang dapat diperkirakan
sebelum dibuat coding. Proses ini berfokus pada: struktur data,
arsitektur perangkat lunak, representasi interface, dan detail
(algoritma) prosedural. Tahapan ini akan menghasilkan dokumen
yang disebut software requirment. Dokumen inilah yang akan
digunakan programmer untuk melakukan aktivitas pembuatan
sistemnya.
c. Coding & Testing
Coding merupakan penerjemahan design dalam
bahasa yang bisa dikenali oleh komputer. Dilakukan
oleh programmer yang akan meterjemahkan transaksi yang
diminta oleh user. Tahapan inilah yang merupakan tahapan
secara nyata dalam mengerjakan suatu sistem. Dalam artian
penggunaan komputer akan dimaksimalkan dalam tahapan ini.
Setelah pengkodean selesai maka akan
dilakukan testing terhadap sistem yang telah dibuat tadi.
Tujuan testing adalah menemukan kesalahan-kesalahan
terhadap sistem tersebut dan kemudian bisa diperbaiki.
23
d. Penerapan atau Pengujian Program (Integration &
Testing)
Tahapan ini bisa dikatakan final dalam pembuatan
sebuah sistem. Setelah melakukan analisa, design
dan pengkodean maka sistem yang sudah jadi akan digunakan
oleh user.
e. Pemeliharaan (Operation & Maintenance)
Perangkat lunak yang sudah disampaikan kepada
pelanggan pasti akan mengalami perubahan. Perubahan
tersebut bisa karena mengalami kesalahan karena perangkat
lunak harus menyesuaikan dengan lingkungan (periperal atau
sistem operasi baru) baru, atau karena pelanggan membutuhkan
perkembangan fungsional.
2.13. Sistem Basis Data
Basis data adalah penggunaan bersama dari data yang
terhubung secara logis dan deskripsi dari data, yang dirancang
untuk keperluan informasi.7 Integrasi logis dari catatan-catatan
banyak file disebut sebagai konsep basis data.
Tujuan dari konsep basis data yaitu untuk
meminimumkan pengulangan data dan mencapai independensi
data. Pengulangan data merupakan duplikasi data, yang berarti
data yang sama disimpan dalam beberapa file yang berbeda dan
pada tempat yang berbeda. Independensi data adalah
kemampuan untuk membuat perubahan dalam struktur data
tanpa membuat perubahan program yang memproses data.
7 Sistem Basic Data, Connolly et al : 2002
24
Penyusunan suatu basis data digunakan untuk
mengatasi masalah-masalah yang timbul pada penyusunan
data. Masalah-masalah tersebut adalah sebagai berikut :8
a. Redudancy Data
Redudancy data adalah munculnya data-data secara
berulang-ulang pada file basis data yang seharusnya tidak
diperlukan.
b. Inconsistency data
Inconsistency data terjadi karena kesalahan dalam
pemasukan data atau update anomaly, proses update data yang
mengakibatkan munculnya data tidak konsisten.
c. Isolation Data
Isolation data disebabkan oleh pemakaian beberapa file
sehingga program aplikasi yang dipakai tidak mampu mengakses
file tertentu dalam basis data tersebut, sehingga perlu mengubah
atau menambah sehingga seolah-olah ada file yang terpisah
atau terisolasi dengan file yang lainnya.
d. Pengaksesan Data
Pengaksesan data harus siap diakses oleh siapa saja
yang membutuhkan dan mempunyai hak untuk mengaksesnya.
Oleh karena itu perlu dibuat suatu program untuk mengetahui
penolakan dan penerimaan hak akses data, suatu cara untuk
mengakses data dikenal sebagai DBMS.
Konsep dasar dari basis data adalah kumpulan dari
catatan-catatan, atau potongan dari pengetahuan. Sebuah basis
data memiliki penjelasan terstruktur dari jenis fakta yang
8 Waljiyanto, 2003
25
tersimpan di dalamnya, penjelasan ini disebut skema yang
menggambarkan objek yang diwakili suatu basis data, dan
hubungan di antara objek tersebut. Ada banyak cara untuk
memodelkan struktur basis data, ini dikenal sebagai model basis
data atau model data.
Model yang umum digunakan sekarang adalah model
relasional, yang mewakili semua informasi dalam bentuk tabel-
tabel yang saling berhubungan dimana setiap tabel terdiri dari
baris dan kolom. Dalam model ini, hubungan antar tabel diwakili
dengan menggunakan nilai yang sama antar tabel. Model model
jaringan menggunakan cara yang lebih eksplisit untuk mewakili
hubungan antar tabel. Jenis basis data, antara lain basis data
hierarki, basis data jaringan, dan basis data relasional.
Dalam terminologi basis data dikenal istilah seperti
tabel, baris, dan kolom. Tabel (biasa juga disebut relasi)
menyatakan bentuk berdimensi dua yang mewakili suatu
kelompok data yang sejenis. Sebuah tabel berisi sejumlah kolom
yang biasa disebut sebagai field dan baris yang biasa disebut
sebagai record atau tupel. Menurut konsep basis data
relasional, setiap tabel memiliki sebuah kunci primer (primary
key), walaupun dalam praktiknya bisa saja tidak memilikinya.
Primary Key adalah suatu nilai yang bersifat unik (tidak
ada nilai kembar) sehingga dapat digunakan untuk membedakan
suatu baris dengan baris yang lain dalam sebuah tabel. Dengan
kata lain, jika memberikan sebuah nilai berdasarkan primary key
maka maksimum hanya ada satu baris memenuhinya. Selain
Primary Key, kunci disini dibagi menjadi Candidat Key, Alternate
26
Key, Foreign Key serta Composite Key.
a. Candidate Key
Candidate Key adalah satu atau lebih atribut yang
mendefinisikan sebuah baris secara unik yang berfungsi sebagai
calon dari primary key serta mempunyai nilai unik pada hampir
setiap barisnya. Candidat key merupakan kunci yang belum
menjadi kunci primer pada sebuah tabel.
b. Alternate Key
Alternate Key adalah candidat key yang tidak dipilih
untuk mendefinisikan sebuah baris secara unik, tetapi perlu
dicatat meskipun tidak menjadi alternate key di sebuah tabel
akan tetapi tidak tertutup kemungkinan bisa menjadi primary key
di tabel lainnya.
c. Foreign Key
Foreign Key adalah sebarang kolom yang menunjuk
ke kunci primer (primary key) milik tabel lain.
d. Composite Key
Composite Key adalah kunci primer (primary key)
yang tidak terbentuk oleh sebuah kolom, melainkan tersusun
atas beberapa kolom.
2.14. Database dan MySQL
XAMPP merupakan sebuah paket instalasi untuk PHP
APACHE dan MySQL. Dengan menggunakan XAMPP, tidak
perlu repot instal ketiga software itu secara terpisah.
27
XAMPP merupakan sebuah paket instalasi untuk PHP,
APACHE dan MySQL. Dengan menggunakan XAMPP, tidak
perlu install ketiga software itu secara terpisah.
Gambar 2.5 Halaman Index XAMPP
Membuka halaman admin dalam database MySQL
pada XAMPP adalah dengan cara menuliskan alamat
Http://localhost/phpmyadmin/ di address bar mozilla firefox.
28
Gambar 2.6 Interface Phpmyadmin
2.15. MySQL
MySQL adalah suatu perangkat lunak database relasi
(Relational Database Management System atau RDBMS), seperti
halnya ORACLE, Postgresql, MSSQL, dan
sebagainya. MySQL AB menyebut produknya sebagai database
open source terpopuler di dunia.
Berdasarkan riset dinyatakan bahwa bahwa di platform
Web, dan baik untuk kategori open source maupun
umum, MySQL adalah database yang paling banyak dipakai.
Menurut perusahaan pengembangnya, MySQL telah terpasang di
sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs
mengandalkan MySQL bekerja siang malam memompa data bagi
para pengunjungnya.
29
2.15.1 Fitur MySQL
Kalau di seri 3.22 MySQL mulai diadopsi banyak orang
dan meningkat populasi penggunanya, maka di seri 3.23 dan 4.0-
lah terjadi banyak peningkatan dari sisi teknologi. Ini tidak
terlepas dari tuntutan pemakai yang semakin mengandalkan
MySQL, namun membutuhkan fitur-fitur yang lebih banyak lagi.
Seri 3.23. Di seri 3.23 MySQL menambahkan tiga jenis tabel
baru. pertama MyISAM, yang sampai sekarang menjadi tipe tabel
default, kedua BerkeleyDB, yang pertama kali menambahkan
kemampuan transaksi pada MySQL; dan ketiga InnoDB,
primadona baru yang potensial. Seri 4.x. Di seri yang baru
berjalan hingga 4.0 tahap alfa ini, pengembang MySQL berjanji
akan menjadikan MySQL satu derajat lebih tinggi lagi. Fitur-fitur
yang sejak dulu diminta akan dikabulkan, seperti subselek (di
4.1), union (4.0), foreign key constraint (4.0 atau 4.1—meski
InnoDB sudah menyediakan ini di 3.23.x), stored procedure (4.1),
view (4.2), cursor (4.1 atau 4.2), trigger (4.1). MySQL AB tetap
berdedikasi mengembangkan dan memperbaiki MySQL, serta
mempertahankan MySQL sebagai database open source
terpopuler.
Penyebab utama MySQL begitu popular di kalangan
Web adalah karena ia memang cocok bekerja di lingkungan
tersebut.
Pertama, MySQL tersedia di berbagai platform Linux dan
berbagai varian Unix. Sesuatu yang tidak dimiliki Access,
misalnya—padahal Access sangat popular di platform Windows.
Banyak server Web berbasiskan Unix, ini menjadikan Access
30
otomatis tidak dapat dipakai karena ia pun tidak memiliki
kemampuanclient-server/networking.
Kedua, fitur-fitur yang dimiliki MySQL memang yang
biasanya banyak dibutuhkan dalam aplikasi Web. Misalnya,
klausa LIMIT SQL-nya, praktis untuk melakukan paging. Atau
jenis indeks field FULLTEXT, untuk full text searching. Atau
sebutlah kekayaaan fungsi-fungsi builtinnya, mulai dari
memformat dan memanipulasi tanggal, mengolah string, regex,
enkripsi dan hashing. Yang terakhir misalnya, praktis untuk
melakukan penyimpanan password anggota situs.
Ketiga, MySQL memiliki overhead koneksi yang rendah.
Soal kecepatan melakukan transaksi atau kinerja di kondisi load
tinggi mungkin bisa diperdebatkan dengan berbagai benchmark
berbeda, tapi kalau soal yang satu ini MySQL-lah juaranya.
Karakteristik ini membuat MySQL cocok bekerja dengan aplikasi
CGI, di mana di setiap request skrip akan melakukan koneksi,
mengirimkan satu atau lebih perintah SQL, lalu memutuskan
koneksi lagi. Cobalah melakukan hal ini dengan Interbase atau
bahkan Oracle. Maka dengan load beberapa request per detik
saja server Web/database Anda mungkin akan segera menyerah
karena tidak bisa mengimbangi beban ini.