BAB II LANDASAN TEORI
2.1
Pengertian Sistem Untuk memahami pengertian Sistem Informasi, lebih mudah dengan cara
mendifinisikannya satu persatu. Menurut Jogiyanto (1990), terdapat dua kelompok pendekatan dalam memahami suatu sistem, yaitu menekankan pada prosedur dan komponen ataupun elemennya. Pendekatan sistem yang lebih menekankan pada prosedur mendefinisikan sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan dan bekerjasama untuk mencapai sasaran tertentu. Makna prosedur tersebut yakni urutan yang tepat dari tahapan-tahapan instruksi yang menerangkan apa (what) yang harus dikerjakan, siapa (who) yang mengerjakan, kapan (when) dikerjakan dan bagaimana (how) mengerjakannya. Sedangkan pendekatan yang menekankan pada komponen mendefinisikan sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu.
2.2
Data dan Informasi Untuk memahami pengertian dari informasi tentu saja perlu diketahui pengertian
dari data, karena data merupakan sumber dari informasi. Synaski dan Pulschen (1995) menyatakan bahwa data adalah fakta mentah (dapat berupa angka, huruf, karakter khusus) yang menyampaikan sedikit arti. Agar data-data yang terkumpul menjadi berarti dan memberi manfaat, maka data-data tersebut perlu diproses lebih lanjut. Hal ini digambarkan oleh Jogiyanto dalam sebuah siklus, siklus ini disebut siklus pengolahan data (data processing life style).
7
8
Gambar 2.1 Siklus Pengolahan Data
Dapat disimpulkan bahwa output akhir dari pengolahan suatu data yakni informasi. Informasi tersebut akan dikatakan berharga jika informasi tersebut mempengaruhi proses pengambilan keputusan lebih baik. Dan pernyataan ini pun sesuai menurut Synaski dan Pulschen (1995) yang mengatakan bahwa informasi adalah pemrosesan data yang tampak dalam konteks untuk menyampaikan arti kepada orang lain. Dalam menilai suatu informasi ada baiknya menilai keabsahan suatu informasi. Ada 3 hal yang mempengaruhi kualitas informasi tersebut, yaitu : 1. Akurat (accurate) Informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan. Akurat disini berarti informasi harus jelas mencerminkan maksudnya. 2. Tepat pada waktunya (timeliness) Informasi yang datang pada penerima tidak boleh terlambat, dengan kata lain informasi yang tidak up to date tak akan diperlukan lagi. 3. Relevan (relevance) Informasi tersebut mempunyai manfaat untuk pemakainya. Hal ini disebabkan relevansi informasi untuk tiap-tiap orang satu dengan yang lainnya berbeda.
9
2.3
Konsep Dasar Sistem Informasi Telah diketahui bahwa informasi merupakan salah satu sumber daya yang sangat
diperlukan bagi manajemen dalam pengambilan keputusan. Untuk mendapatkan informasi tersebut perlu adanya sebuah sistem yang mengolah data menjadi sebuah informasi yang berharga. Sistem tersebut disebut dengan information processing system atau lebih dikenal dengan sistem informasi (Information System). Menurut sumber yang diambil dari buku Accounting Information System, sistem informasi adalah suatu sistem buatan manusia yang secara umum terdiri atas sekumpulan komponen berbasis komputer dan manual yang dibuat untuk menghimpun, menyimpan, dan mengelola data serta menyediakan informasi keluaran kepada pemakai (Gelinas, et al 1990). Berbeda dengan Turban, et al (1999) dalam buku Information Technology for Management Making Connection for Strategic Advantages mendefinisikan sistem informasi sebagai sistem yang mengumpulkan, memproses, menyimpan, menganalisis, dan menyebarkan informasi untuk tujuan yang spesifik. Dari beberapa definisi diatas dapat disimpulkan bahwa sistem informasi merupakan suatu komponen yang terdiri atas manusia, teknologi informasi, dan prosedur kerja yang memproses, menyimpan, menganalisis, dan menyebarkan informasi untuk mencapai suatu tujuan. Dikarenakan komponen sistem informasi terdiri atas komponen manusia dan teknologi maka sistem informasi dapat dibedakan menjadi dua, yaitu sistem informasi manual dan sistem informasi berbasis komputer atau lebih dikenal dengan Computer Based Information System (CBIS).
10
2.3.1 Komponen Sistem Informasi John Burch dan Gary Grudnitski mengemukakan bahwa sistem informasi terdiri dari komponen-komponen yang dikenal dengan istilah blok bangunan (building block), yaitu blok masukan (input block), blok model (model block), blok keluaran (output block), blok teknologi (technology block), blok basis data (database block), dan blok kendali (controls block). Pernyataan ini dikutip dari buku Pengembangan Aplikasi Sistem Informasi Geografis berbasis desktop dan web. Berikut ini adalah gambar dari blok sistem informasi yang berinteraksi.
Gambar 2.2 Blok Sistem Informasi yang berinteraksi
4. Blok masukan (input block) Input mewakili data yang masuk kedalam sistem informasi. Input disini termasuk metode dan media untuk menangkap data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar. 5. Blok model (model block) Blok ini terdiri dari kombinasi prosedur, logika, dan model matematik yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah ditentukan untuk menghasilkan keluaran yang diinginkan.
11
6. Blok output (output block) Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua pemakai sistem. 7. Blok teknologi (technology block) Teknologi merupakan tool box dalam sistem informasi, Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran, dan membantu pengendalian dari sistem secara keseluruhan. Pada blok ini terdapat 3 komponen utama, yaitu teknisi (brainware dan humanware), perangkat lunak (software), dan perangkat keras (hardware). 8. Blok basis data (database block) Basis data (database) merupakan kumpulan data yang saling berkaitan dan berhubungan satu dengan yang lain, tersimpan di perangkat keras komputer dan menggunakan perangkat lunak untuk memanipulasinya. Data perlu disimpan dalam basis data untuk keperluan penyediaan informasi lebih lanjut. Data di dalam basis data perlu diorganisasikan sedemikian rupa supaya informasi yang dihasilkan berkualitas. Basis data diakses atau dimanipulasi menggunakan perangkat lunak yang disebut DBMS (Database Management System). 9. Blok kontrol (control block) Banyak hal yang dapat merusak sistem informasi, seperti bencana alam, api, temperatur, air, debu, kecurangan-kecurangan, kegagalan-kegagalan sistem itu sendiri, ketidak efisienan, sabotase dan lain sebagainya. Sehingga pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun diatasi.
12
2.3.2 Kemampuan Sistem Informasi Efraim Turban, McCean, dan James Waterbe dalam bukunya Information Technology for Management Making Connection for Strategic Advantages, yang dikutip dari buku Sistem Informasi Konsep dan Aplikasi menyebutkan kemampuan sistem informasi sebagai berikut : 1. Melakukan komputasi numerik bervolume besar dengan kecepatan tinggi. 2. Menyediakan komunikasi dalam organisasi atau antar organisasi yang murah dan cepat. 3. Menyimpan informasi dalam jumlah yang besar dalam ruang yang kecil, tetapi mudah diakses. 4. Memungkinkan pengaksesan informasi yang sangat banyak diseluruh dunia dengan cepat dan murah. 5. Meningkatkan efektivitas dan efisiensi orang-orang yang bekerja dalam kelompok pada suatu lokasi. 6. Menyajikan informasi dengan jelas yang menggugah pikiran manusia. 7. Mengotomatisasikan proses-proses bisnis yang semi otomatis dan tugas-tugas yang dikerjakan secara manual. 8. Mempercepat pengetikan dan penyuntingan. 9. Melaksanakan hal-hal diatas jauh lebih murah daripada apabila dikerjakan secara manual.
13
2.3.3 Pengembangan Sistem Informasi Pengembangan sistem informasi merupakan proses atau prosedur yang harus diikuti untuk
melaksanakan
seluruh
langkah
dalam
menganalisis,
merancang,
mengimplementasikan, dan memelihara sistem informasi. Proses pengembangan ini dikenal dengan daur hidup pengembangan sistem atau SDLC (System Development Life Cycle). SDLC yang terkenal adalah model klasik yang biasa disebut dengan model waterfall (Agus Mulyanto, 2009, hal. 243).
Gambar 2.3 SDLC waterfall menurut Roger Pressman
Gambar 2.4 SDLC waterfall menurut Sommerville
Meskipun dalam kedua gambar tersebut menggunakan istilah yang berbeda dalam menjelaskan tahapan pengembangan sistem informasi, namun pada dasarnya sama. Fasefase pengembangan sistem informasi tersebut meliputi : 1. Analisis Kebutuhan, tahapan ini merupakan tahap pengumpulan kebutuhan sistem yang akan dikembangkan. Setelah kebutuhan sistem (requirement system)
14
didefinisikan, maka proses yang akan dilakukan selanjutnya adalah proses analisis kebutuhan sistem. 2. Desain Sistem merupakan proses merancang atau mendesain sistem berdasarkan hasil analisis pada sistem. Dalam hal ini proses desain dapat menggunakan beberapa alat (tools) seperti Diagram Konteks (Context Diagram), DFD (Data Flow Diagram), ERD (Entitiy Relationship Diagram) dan STD (State Transaction Diagram). 3. Implementasi dan Pengujian Unit, pada proses tersebut dilakukan proses coding yakni membuat kode program dari hasil desain sistem yang telah dibuat. Sehingga, dapat mengintegrasikan program dan data menjadi suatu kesatuan dalam bentuk software yang disimpan pada perangkat keras (hardware). 4. Pengujian Sistem merupakan tahapan yang dilakukan setelah proses coding. Tujuan tahapan ini adalah menguji logika-logika pada perangkat lunak tersebut dan fungsi internal yang ada, serta mencari kemungkinan kesalahan program. 5. Perawatan (Maintenance), tahapan ini dilakukan dalam rangka pemeliharaan dan perawatan sistem yang telah dibuat.
2.3.3.1 Prototype Model Model prototype merupakan model yang tergolong singkat dalam pengembangan suatu sistem informasi. Oleh sebab itu, model prototype sering digunakan untuk membangun sistem informasi dikarenakan klien hanya memberikan informasi yang bersifat umum mengenai sistem yang akan dibuat. Dalam membangun model prototype ini, langkah pertama yang harus dilakukan yaitu pengumpulan kebutuhan. Pada langkah ini, seorang pengembang (developer) dapat
15
bertemu dengan klien untuk menentukan kebutuhan-kebutuhan yang diketahui dan gambaran-gambaran sistem yang akan dikembangkan. Langkah kedua yaitu melakukan perancangan secara cepat dan sederhana yang akan dijadikan dasar pembuatan prototype. Langkah terakhir, klien dapat mengevaluasi prototype tersebut untuk menemukan kekurangan-kekurangan yang ada untuk kemudian menentukan kebutuhan-kebutuhan berikutnya yang sifatnya lebih khusus.
Gambar 2.5 Model Prototype (Pressman, 2001)
2.4
Perancangan Sistem Informasi Untuk dapat mengembangkan sistem informasi yang berkualitas, diperlukan
prosedur-prosedur perancangan sesuai dengan sistem pengembangan sistem informasi. Perancangan terdiri dari dua aktivitas utama, yaitu perancangan perangkat keras meliputi perancangan arsitektur dan perancangan perangkat lunak yang meliputi gambaran aliran atau prosedur sistem berupa bagan alir (flowmap), perancangan database yang digambarkan dengan ERD dan perancangan aliran data berupa DFD.
16
2.4.1 Bagan Alir (Flowmap) Menurut sumber yang diambil dari situs Wikipedia, flowmap atau bagan alir adalah gabungan dari sebuah peta dan flowchart yang menunjukkan pergerakan suatu objek satu ke objek lainnya. Bagan ini dapat menunjukan aliran di dalam program atau prosedur sistem secara logika. Flowmap ini berfungsi untuk memodelkan masukan, keluaran, proses maupun transaksi dengan menggunakan simbol-simbol tertentu yang sudah dibakukan oleh ANSI (American National Standard Institute). Adapun simbol-simbol yang sering digunakan dalam flowmap dapat dilihat pada tabel berikut ini: Tabel 2.1 Simbol dan keterangan Flowmap Simbol
Deskripsi Simbol yang digunakan untuk menunjukkan awal atau akhir dari suatu proses. Menunjukkan dokumen input dan output baik untuk proses manual mekanik atau komputer. Menunjukkan pekerjaan manual
Menunjukkan multi dokumen
Pengarsipan Data
Menunjukkan Proses Simbol input/output digunakan untuk mewakili data input/output Sumber: (Jogiyanto, 2001)
17
2.4.2 Data Flow Diagram (DFD) Data flow diagram adalah teknik grafik yang digunakan untuk menjelaskan aliran informasi dan transformasi data yang bergerak dari masukan data hingga ke keluaran (Mahyuzir, 1991).
2.4.2.1 Komponen-komponen DFD Berikut ini adalah komponen-komponen DFD yang diambil dari beberapa sumber, diantaranya :
Gambar 2.6 Komponen DFD menurut Yourdon dan De Marco
Gambar 2.7 Komponen DFD menurut Gane dan Sarson
2.4.2.2 Komponen Terminator / Entitas Luar Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. Terminator dikenal juga dengan nama entitas luar (external entity). Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di dalam organisasi, atau perusahaan yang sama tetapi di luar kendali sistem yang sedang dibuat modelnya. Terdapat dua jenis terminator : 1. Terminator Sumber (source) : merupakan terminator yang menjadi sumber.
18
2. Terminator Tujuan (sink) : merupakan terminator yang menjadi tujuan data /informasi sistem.
Gambar 2.8 Terminator tujuan dan terminator sumber
2.4.2.3 Komponen Proses Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input menjadi output. Proses diberi nama untuk menjelaskan proses apa yang sedang atau dilaksanakan. Pemberian nama proses dilakukan dengan menggunakan kata kerja transitif (kata kerja yang membutuhkan obyek), seperti Menghitung Gaji, Mencetak KRS, Menghitung Jumlah SKS. Ada empat kemungkinan yang dapat terjadi dalam proses input yang menghasilkan suatu output, yaitu :
Gambar 2.9 Kemungkinan Input dan Output
19
2.4.2.4 Komponen Data Store Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda jamak, misalnya Mahasiswa, Dosen, Karyawan. Data store ini biasanya berkaitan dengan penyimpanan-penyimpanan, seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket, file harddisk, file pita magnetik. Data store juga berkaitan dengan penyimpanan secara manual seperti buku alamat, file folder, dan agenda. Alur data yang menghubungkan data store dengan suatu proses mempunyai pengertian sebagai berikut : 1. Alur data dari data store, yang berarti sebagai pembacaan atau pengaksesan satu paket tunggal data, lebih dari satu paket data, sebagian dari satu paket tunggal data, atau sebagian dari lebih dari satu paket data untuk suatu proses. 2. Alur data ke data store, yang berarti sebagai pengupdatean data, seperti menambah satu paket data baru atau lebih, menghapus satu paket atau lebih, atau mengubah/memodifikasi satu paket data atau lebih.
Gambar 2.10 Alur data dari data store dan alur data ke data store
20
2.4.2.5 Komponen Alur Data (Data Flow) Suatu data flow digambarkan dengan anak panah, yang menunjukkan arah menuju ke dan keluar dari suatu proses. Alur data ini digunakan untuk menerangkan perpindahan data atau paket data/informasi dari satu bagian sistem ke bagian lainnya. Ada 4 konsep yang ada didalam penggambaran alur data, yaitu : 1. Konsep Paket Data (Packets of Data) Apabila dua data atau lebih mengalir pada sumber yang sama maka dianggap sebagai satu alur data tunggal, karena data itu mengalir bersama dalam satu paket.
Gambar 2.11 Konsep Paket Data
2. Konsep Alur Data Menyebar (Diverging Data Flow) Alur data menyebar ditunjukkan dengan sejumlah tembusan paket data yang berasal dari sumber yang sama menuju ke tujuan yang berbeda. Dengan kata lain, paket data yang kompleks dibagi menjadi beberapa elemen data yang dikirim ke tujuan yang berbeda.
Gambar 2.12 Konsep Data Menyebar
21
3. Konsep Alur Data Mengumpul (Converging Data Flow) Apabila ada beberapa alur data yang berbeda sumber menuju ke tujuan yang sama.
Gambar 2.13 Konsep Data Mengumpul
4. Konsep Sumber atau Tujuan Alur Data Semua alur data minimal harus mempunyai satu proses.
Gambar 2.14 Konsep sumber atau tujuan alur data
2.4.2.6 Levelisasi DFD DFD dapat dipartisi ke dalam tingkat–tingkat yang merepresentasikan aliran informasi yang bertambah dan fungsi ideal. Tingkatan–tingkatan yang ada pada DFD, yaitu: 1. Diagram Konteks Diagram konteks menggambarkan ruang lingkup sistem untuk memberikan pandangan umum sistem. Diagram konteks merupakan level tertinggi dari DFD. 2. Diagram Zero Tingkat yang lebih bawah dari diagram konteks adalah diagram zero atau DFD level 0. diagram zero menggambarkan proses–proses utama dari sistem.
22
3. Diagram Level n Diagram level n adalah hasil dekomposisi dari diagram zero. Diagram level n menjelaskan proses secara lebih terperinci. Diagram level 1 merupakan turunan langsung dari diagram zero, artinya diagram level 1 berada satu tingkat lebih rendah dari diagram zero. Apabila diagram level 1 ini diuraikan lagi, maka akan terbentuk diagram level 2, dan seterusnya.
2.4.3 Entity Relationship Diagram (ERD) ERD merupakan komponen – komponen himpunan entitas dan himpunan relasi yang dilengkapi atribut – atribut yang mempresentasikan sebuah fakta (Fathansyah, 2002, hal. 65). Teknik Entity Relationship Diagram biasa digunakan untuk mengembangkan inisial dari desain basis data.
2.4.3.1 Komponen-komponen dalam ERD Berikut ini komponen-komponen yang ada dalam Entity Relationship Diagram (ERD) yang digambarkan pada tabel berikut. Tabel 2.2 Simbol dan deskripsi dalam ERD Simbol
Deskripsi Menunjukkan entitas yang berhubungan dengan sistem Menunjukkan atribut yang dimiliki oleh entitas
Menunjukkan relasi antar entitas Menunjukkan link
23
2.4.3.2 Kardinalitas / Derajat Relasi Hubungan antarentitas ditandai pula oleh derajat kardinalitas. Fungsi dari derajat kardinalitas ini adalah untuk menentukan entitas kuat dan entitas lemah. Empat jenis kardinalitas atau derajat relasi tersebut, yaitu : 1. Relasi satu menuju satu (One to One) Setiap anggota entitas pertama hanya bisa dipetakan kesatu elemen dari entitas kedua dan sebaliknya. Notasi kardinalitas ini dilambangkan dengan 1:1. Contoh : satu Mahasiswa mempunyai satu NIM. 2. Relasi satu menuju banyak (One to Many) Setiap anggota entitas pertama boleh dipetakan pada beberapa elemen dari entitas kedua. Notasi tersebut dilambangkan dengan 1:M. Contoh: Satu jurusan mempunyai banyak mahasiswa. 3. Relasi banyak ke satu (Many to One) Beberapa anggota entitas pertama boleh dipetakan ke satu elemen yang sama dari entitas kedua. Notasi tersebut dilambangkan dengan 1:M. Contoh: Dalam perundangundangan Indonesia setiap penduduk hanya boleh memeluk satu agama. 4. Relasi banyak ke banyak (Many to Many) Beberapa anggota entitas pertama boleh dipetakan lebih dari satu pada elemen entitas kedua dan sebaliknya. Notasinya dilambangkan dengan M:M atau M:N. Contoh: Pada sistem pengajaran di Perguruan Tinggi setiap mahasiswa dapat mengambil mata kuliah lebih dari satu dan setiap mata kuliah dapat diambil oleh lebih dari satu mahasiswa.
24
2.4.4 Normalisasi Proses normalisasi merupakan proses pengelompokkan data elemen menjadi tabeltabel yang menunjukkan entitas dan relasinya. Dalam proses normalisasi juga membutuhkan beberapa tahap sebelum nantinya akan diimplementasikan dalam program. Tahap-tahap normalisasi adalah : 1. Bentuk tidak normal Bentuk tidak normal adalah suatu bentuk dimana semua data dikumpulkan apa adanya tanpa mengikuti aturan-aturan tertentu. 2. Bentuk normal pertama Suatu bentuk dimana data dikumpulkan menjadi satu field yang sifatnya tidak akan berulang dan tiap field hanya mempunyai satu pengertian. 3. Bentuk normal kedua Bentuk normal kedua ini adalah yang memenuhi syarat-syarat yakni : a. Sudah memenuhi kriteria sebagai bentuk normal pertama. b. Field yang bukan kunci tergantung secara fungsi pada kunci primer. 4. Bentuk normal ketiga Bentuk normal ketiga memenuhi syarat-syarat sebagai berikut : a. Relasi antar file sudah merupakan bentuk normal kedua. b. Field yang bukan kunci tergantung secara fungsi pada kunci primer.
25
2.5
Basis Data (Database)
2.5.1 Definisi Basis Data Database merupakan kumpulan file-file yang mempunyai kaitan antara satu file dengan file yang lain sehingga membentuk satu bangunan data untuk menginformasikan satu perusahaan, instansi dalam batasan tertentu (Ir. Hartanto Kristanto, 2004, hal. 3). Model data yang dibentuk bisa berbasis objek, record atau lainnya. Perancangan model data ini sudah didukung oleh paket-paket program yang ada dalam Database Management System ( DBMS ). Dukungan yang diberikan adalah Data Definition Language ( DDL ) untuk mendefinisikan struktur data, dan Data Manipulation Language ( DML ) untuk pengelolaan data (operator).
2.5.2 Kegunaan Basis Data Penyusunan suatu database digunakan untuk mengatasi masalah-masalah pada penyusunan data, diantaranya yaitu : a. Redundansi dan Inkonsistensi Data Penyimpanan dibeberapa tempat untuk data yang sama ini disebut sebagai redundansi dan mengakibatkan pemborosan ruang penyimpanan dan biaya untuk mengakses jadi lebih tinggi. Disisi lain penyimpanan data yang berulang-ulang dibeberapa file dapat mengakibatkan inkonsistensi (tidak konsisten). Sehingga data yang dimiliki suatu database bisa dikatakan tidak valid karena datanya banyak dan terduplikasi. b. Kesulitan dalam pengaksesan data Ketika dalam suatu instansi perusahaan tidak memiliki suatu DBMS (Database Management System) mengakibatkan kesulitan dalam mencari dan mengambil suatu
26
data yang akan dipergunakan dikarenakan data yang begitu banyak dan hanya dilakukan dengan proses manual. c. Banyak pemakai (multiple user) Salah satu alasan database dibangun karena nantinya data tersebut digunakan oleh banyak orang dalam waktu yang berbeda, diakses oleh program yang sama tetapi berbeda orang dan waktu. d. Masalah keamanan (security) Tidak setiap pemakai diperbolehkan untuk mengakses semua data. Masalah keamanan ini berkenaan dengan akses data dan privacy dalam suatu informasi. Dalam suatu database hal tersebut dapat diatur, sehingga orang-orang yang berkepentingan saja yang dapat mengakses data tersebut. e. Masalah integritas (kesatuan) Database berisi file-file yang saling berkaitan, masalah utama adalah bagaimana kaitan antara file tersebut terjadi. Meskipun kita mengetahui bahwa file A berkaitan dengan file B, namun secara teknis maka ada field kunci yang mengaitkan kedua file tersebut.
2.5.3 SQL (Structured Query Language) SQL biasa dibaca SEQUEL merupakan standar yang digunakan untuk mengakses basis data relasional. Standar SQL mula-mula didefinisikan oleh ISO (International Standard Organization) dan ANSI (the American National Standards Institute), yang dikenal dengan sebutan SQL86. Seiring dengan perjalanan waktu, sejumlah standar telah ditetapkan. Saat ini banyak perangkat lunak basis data yang menggunakan SQL sebagai
27
subbahasa untuk mengakses data. Beberapa diantaranya adalah DB2, Ingres, Informix, ORACLE, Microsoft Access, MySQL, PostgreSQL, Rdb, Sybase. Dilihat dari fungsinya SQL tidak hanya melakukan query (memperoleh data) saja. Namun terdapat beberapa fungsi SQL lain yang dibagi kedalam tiga kelompok, yaitu : 1. DDL (Data Definition Language) atau bahasa pendefinisian kata DDL ini merupakan perintah-perintah yang berkaitan dengan penciptaan atau penghapusan objek seperti tabel dan indeks dalam basis data. DDL ini mencakup CREATE TABLE, CREATE INDEX, ALTER TABLE, DROP TABLE, DROP VIEW, dan DROP INDEX. 2. DML (Data Manipulation Language) atau bahasa pemanipulasian data DML mencakup perintah-perintah yang digunakan untuk memanipulasi data. Misalnya untuk menambahkan data (INSERT), memperoleh data (SELECT), mengubah data (UPDATE), dan menghapus data (DELETE). 3. DCL (Data Control Language) atau bahasa pengendali data. DCL adalah kelompok perintah yang dipakai untuk melakukan otorisasi terhadap pengaksesan data dan pengalokasian ruang. Disini yang termasuk dalam kategori DCL yaitu pernyataanpernyataan GRANT, REVOKE, COMMIT, ROLLBACK.
2.5.4 MySQL Menurut sumber yang diambil dari situs Wikipedia, 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
28
salah satu konsep utama dalam basisdata yang telah ada sebelumnya yakni, SQL (Structured Query Language). Disisi lain MySQL pun memiliki beberapa keistimewaan dibandingkan basis data lainnya, diantaranya : a. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. b. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. c. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. d. Performance tuning, MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. e. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. f. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). g. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. h. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5
29
milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
2.5.4.1 Tipe-tipe data MySQL Dalam merancang suatu database diperlukan pengetahuan tentang tipe data dalam suatu database. Dengan memahami jenis tipe data tersebut, kapasitas tipe data maka hasil rancangan database akan lebih efisien. Berikut ini adalah tipe data yang didukung MySQL yang diambil dari buku Pengembangan Aplikasi Sistem Informasi Geografis berbasis Desktop dan Web. 1. Data Numerik MySQL dapat menerima masukan berupa angka-angka yang dibagi atas integer (angka tanpa pecahan) dan floating-point (angka dengan pecahan). Berikut ini adalah tipe data numerik yang ada pada MySQL, diantaranya : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT, DOUBLE, DECIMAL. 2. Data Karakter atau String Data tersebut merupakan deretan huruf yang membentuk kata yang diapit oleh tanda petik (“) atau tanda petik ganda (“ ”). Tipe data string yang ada pada MySQL, yakni : CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET. 3. Data Waktu Data waktu merupakan data yang berisi tanggal (date) dan jam (time) misalnya “2001-10-15” untuk tanggal dengan format YYYY-MM-DD dan “12:45:15” untuk jam dengan format hh:mm:ss. Tipe data waktu didalam MySQL adalah DATE, TIME, DATETIME, TIMESTAMP, YEAR.
30
4. Data Kosong (NULL) NULL berarti kosong atau tidak diisi data atau bisa juga berarti data yang tidak jelas, ataupun data yang hilang.
2.6
PHP (Personal Home Page) PHP adalah bahasa server side programming yang ampuh untuk membuat halaman
web yang dinamis dan interaktif. PHP dikembangkan pertaman kali pada tahun 1995 oleh Rasmus Lerdorf yang merupakan anggota grup Apache, dan pertama kali didesain sebagai alat tracking pengunjung website Lerdorf. PHP dikembangkan sepenuhnya untuk bahasa skrip side server programming serta bersifat open source sehingga dapat dikembangkan oleh siapa saja lalu digabungkan dengan berbagai server yang berbeda-beda platform. Disisi lain PHP mempunyai kemampuan dapat mengakses basis data dan diintegrasikan dengan HTML. Contoh terkenal dari aplikasi PHP adalah phpBB dan MediaWiki. PHP pun sebenarnya dapat dijadikan alternatif lain dalam memilih script yang support terhadap server side technology, seperti ASP.NET/C#/VB.NET Microsoft, Cold Fusion Macromedia, JSP/ Java Sun Microsystem, ataupun CGI/Perl. PHP merupakan bahasa pemrograman yang semakin popular, karena memiliki kelebihan diantaranya : 1. Mudah dibuat dan dijalankan. 2. Mampu berjalan pada webserver dengan sistem operasi yang berbeda¬beda. PHP mampu berjalan pada sistem operasi UNIX/LINUX, Windows, Macintosh. 3. PHP bersifat open source dan bisa didapatkan dengan gratis. 4. Dapat berjalan pada webserver yang berbeda-beda, seperti : Microsoft Personal Web Server, Apache, IIS, Xitami, dan lain-lain. 5. Scriptnya dapat diembedded pada tag HTML.
31
Contoh script yang ditulis dalam PHP : Hello World" ; echo "Halo Dunia" ; ?> Contoh script yang diembedded dalam tag HTML :
if
($d==”Sun”)
echo
“Selamat
weekend!”; else echo “Semoga menjadi hari yang menyenangkan”; ?>