BAB 2 LANDASAN TEORI 2.1
Sistem Informasi Sistem adalah sekumpulan komponen yang saling berhubungan, yang bekerja
sama untuk mencapai suatu tujuan dengan menerima masukan dan menghasilkan keluaran melalui proses transformasi yang teratur. Hal ini juga dikemukakan oleh Satzinger, Jackson, & Burd(2010, p6), yang mengatakan bahwa sistem adalah kumpulan dari komponen yang tidak berhubungan satu sama lain, yang digunakan bersama-sama untuk mencapai beberapa tujuan. Sistem terbagi menjadi tiga komponen dasar yang saling berinteraksi atau fungsi dasar, yaitu : - Input, yaitu bagian yang mencakup pengambilan elemen yang masuk ke dalam sistem untuk di proses - Proses, yaitu bagian yang mencakup perubahan input menjadi output. - Output, yaitu bagian yang mencakup elemen yang dihasilkan dari proses untuk mencapai tujuan yang diinginkan. Informasi adalah data yang diolah sedemikian rupa sehingga menjadi suatu hasil yang mempunyai arti bagi user tertentu. Hal ini juga dikemukakan oleh Satzinger, Jackson, & Burd(2010, p7), informasi adalah data yang telah diproses atau diorganisir menjadi sesuatu yang bermakna untuk seseorang. Informasi dibentuk dari kombinasi daya yang diharapkan dapat memiliki makna bagi penerimanya Berdasarkan pendapat para ahli diatas, dapat disimpulkan bahwa sistem informasi adalah kumpulan komponen yang tidak berhubungan satu sama lain, namun digunakan bersama-sama, diproses, disimpan dan menghasilkan hasil akhir yaitu informasi untuk mencapai tujuan atau memenuhi kebutuhan. Hal ini disampaikan juga oleh Satzinger, Jackson, dan Burd(2008, p8), yang mengatakan
6
7 bahwa sistem informasi adalah kumpulan komponen yang tidak berhubungan satu sama lain yang dikumpulkan, di proses, di simpan, dan menghasilkan informasi yang dibutuhkan.
Gambar 2.1.1 Sistem Informasi dan Komponen-Komponen (Satzinger, Jackson, dan Burd, 2008, p8) Pada Gambar 2.1.1, menjelaskan bahwa komponen-komponen yang dimiliki oleh sistem Informasi, yaitu proses input dan output yang dijelaskan subbab 2.1 pada halaman6, hardware yang dijelaskan pada halaman12 sub bab 2.3, people yang dijelaskan pada halaman 11 sub bab 2.3, software yang dijelaskan pada halaman 11 sub bab 2.3, data yang dijelaskan pada halaman11 sub bab 2.3, prosedur yang dijelaskan pada halaman11 sub bab 2.3.
2.2
Database
2.2.1 Data dan Database Data dapat berupa catatan-catatan dalam kertas atau buku, ataupun tersimpan sebagai file di dalam database yang dapat berupa angka-angka hasil dari sebuah analisis dan observasi. Data digunakan sebagai bahan dalam suatu proses pengolahan data. Pengertian data juga diperkuat oleh Connolly dan Begg (2010, p70) yang
8 mengemukakan bahwa data merupakan bagian terpenting dari komponen suatu database. Data merepresentasikan objek dan kejadian serta nilai yang tersimpan sehingga memiliki arti dan kepentingan kepada penggunanya. Data terdiri dari faktafakta dan angka-angka yang secara relatif tidak memiliki arti bagi user atau fakta mentah yang belum diolah. Database merupakan tempat penyimpanan data yang sangat besar yang dapat digunakan secara bersamaan oleh banyak departemen dan user, serta dibuat untuk memperoleh informasi yang dibutuhkan oleh perusahaan.Databasemerupakan relasi logical dari data yang terdiri atas entitas-entitas, atribut-atribut, serta relationship dari informasi perusahaan. Database merupakan kumpulan data yang terogranisir, dikumpulkan, dan saling berhubungan, yang akan berfungsi untuk memenuhi kebutuhan informasi dari perusahaan atau organisasi.Hal ini juga disampaikan oleh Connolly dan Begg(2010, p65), yang mengatakan bahwa database adalah sekumpulan data beserta deskripsinya yang saling berhubungan secara logis, serta didesain untuk memenuhi kebutuhan informasi suatu perusahaan.
2.2.2 System Boundary System boundary adalah pengelompokan sub sistem dengan sub sistem lain, dan berhubungan satu sama lain serta saling menerima input dan output. Seperti yang dikemukakan olehSatzinger, Jackson, dan Burd(2008, p8), system boundary adalah pemisahan antara sistem dan lingkungannya yang saling menerima input dan output. Input dan output merupakan bagian yang sangat penting dari analisis dan perancangan sisitem. Dalam sistem informasi, orang juga disebut sebagai key components, dan orang tersebut melakukan beberapa hal dalam sistem kerja. Maka dari itu terdapat boundary lainnya yang sangat penting bagi system analyst yaitu
9 automation boundaryyang merupakan bagian dari sistem yang terotomatisasi, sedangkan bagian lainnya dikerjakan oleh orang.
Gambar 2.2.2.1The system boundary versus the automation boundary (Satzinger, Jackson, dan Burd, 2008, p8) Pada Gambar 2.2.2.1diatas menjelaskan struktur dari system boundary dengan automation boundary. Automation boundary merupakan bagian yang otomatis dalam sistem, tugas terselesaikan sendiri oleh computer, sedangkan system boundary merupakan keseluruhan bagian, dimana terdapat automation boundary didalamnya.
2.2.3 Application Programs Aplikasi adalah sebuah informasi yang digunakan untuk memecahkan masalah, Penjelasan ini diperkuat oleh Satzinger, Jackson, dan Burd(2008, p47), aplikasi adalah sebuah sistem informasi yang baru yang dapat memberi kepuasaan kepada kebutuhan user dengan problem domain.Program aplikasi merupakan sebuah program yang berhubungan dengan database, untuk menghasilkan informasi yang dibutuhkan untuk pemenuhan kebutuhan. Hal ini diperkuat olehConnolly dan Begg(2010, p67), program aplikasi adalah program komputer yang berinteraksi
10 dengan database yang akan membuat suatu pernyataan ke DBMS. Program aplikasi membuat dan merawat database dan menghasilkan informasi.
2.3
Database Management System(DBMS) DBMS adalah sistem manajemen operasi yang berupa peramgkat lunak yang
memungkinkanuser berinteraksi dengan program aplikasi dan database untuk memenuhi kebutuhan akan informasi yang terus berkembang.Seperti yang dikemukakan oleh Connolly dan Begg(2010, p66), DBMS adalah suatu sistem perangkat lunak yang memungkinkan user berinteraksi dengan program aplikasi dan database. a.
Fasilitas Database Menurut Connolly dan Begg (2010, p66), DBMS menyediakan berbagai fasilitas
sebagai berikut : - Fasilitas untuk mendefinisikan database, biasanya menggunakan Data Definition
Language
(DDL).
DDL
mengizinkan
user
untuk
menspesifikasikan tipe dan struktur data, serta batasan aturan mengenai data yang bisa disimpan ke dalam database tersebut. -
Fasilitas untuk mengizinkan user untuk menambah, mengubah, menghapus, serta mendapatkan kembali data dari database, biasanya menggunakan Data Manipulation Language (DML).
-
Fasilitas untuk mengontrol akses ke database. Contohnya : o
Sistem keamanan, yang mencegah user yang tidak memiliki autoritas untuk mengakses data. Sehingga user akan ditentukan terlebih dahulu grant access nya.
11 o
Sistem integrasi, yang memelihara konsistensi penyimpanan data, sehingga databasemenjadi terintegrasi, data pun menjadi konsisten.
o
Sistem kontrol pengembalian data, yang dapat mengembalikan data ke keadaan sebelumnya apabila terjadi kegagalan perangkat keras atau perangkat lunak.
o
Katalog yang dapat diakses oleh pengguna, yang berisi deskripsi atau penjelasan dari data di dalam database.
b. Komponen –Komponen DBMS Komponen-komponen dari DBMS akan diidentifikasi menurut Connolly dan Begg (2010, p66), terdapat lima komponen DBMS yaitu :
Gambar 2.3.1Komponen - komponen utama DBMS (Connolly dan Begg, 2010, p68) Error! Reference source not found.Gambar 2.3.1diatas menjelaskan komponenkomponen utama yang terdapat pada DBMS, yaitu sebagai berikut : -
Hardware Hardware atau perangkat keras ini dibutuhkan untuk menjalankan DBMS dan aplikasi, hardware dari computer tunggal ke mainframe tunggal dari komputerkomputer. Bagian dari hardware tergantung pada kebutuhan organisasi dan DBMS yang digunakan.
12
Gambar 2.3.2Konfigurasi Hardware (Connolly dan Begg, 2010, p69) Pada Gambar 2.3.2diatas terdiri atas server yang kecil, dengan central serveryang berada di London yang merupakan backend dari DBMS. Central serveradalah bagian dari DBMS yang mengatur dan mengontrol akses ke database. Gambar diatas juga menunjukan beberapa komputer yang berada di lokasi yang berbeda-beda yang menjadi bagian dari DBMS yang berinteraksi langsung dengan user. Arsitektur ini disebut dengan client server, back end adalah server, sedangkan front end merupakan client. -
Software Software berupa DBMS itu sendiri, program aplikasi, sistem operasi, serta jaringan perangkat lunak jika DBMS digunakan melalui suatu jaringan.
13
-
Data Data adalah komponen mendasar yang paling penting, yang akan diolah di DBMS. Data merupakan jembatan penghubung antara komponen mesin (hardware dan software) dan manusia (user). Databaseterdiri atas data operasional dan metadata.
-
Prosedur Prosedur merupakan petunjuk dan aturan yang digunakan untuk merancang database, userdari sistem dan staff yang mengatur database membutuhkan prosedur yang terdokumentasi untuk tahu bagaimana cara menggunakan atau menjalankan sistem.
-
People People merupakan orang yang terlibat didalam sistem, yang terdiri dari : o
Database Administrator (DBA) Database dan DBMS merupakan satu kesatuan sumber yang harus di atur seperti sumber lainnya, sehingga memerlukan peranan manusia untuk mengaturnya. DBA bertanggung jawab untuk realisasi fisikal dari database, termasuk desain fisikal databasedan implementasi, keamanan, dan mengontrol integritas dan merawat sistem operasional.
o
Database Designers Database designer berfokus dengan mengidentifikasi data (entitas, attributes), hubungan antar data, constraints dari data yang disimpan di dalam database, memutuskan bagaimana desain logikal databasemenjadi realisasi fisikal.
14
o
Application Developers Tugas
dari
application
diimplementasi,
developers
program
aplikasi
adalahketika
yang
database
menyediakan
fungsi
telah yang
dibutuhkan oleh end-user harus diimplementasikan. o
End User End
user
merupakan
“client”
dari
database,
yang
di
desain,
diimplementasikan dan di maintenance untuk melayani kebutuhan informasi dari end user. c.
Kelebihan Database Management System Terdapat beberapa kelebihan dengan menggunakan DBMS, menurut Connolly
dan Begg(2010, pp77-80), yaitu sebagai berikut : -
Mengontrol data yang berulang Pendekatan databasemengeleminasi pengulangan data dengan mengintegrasikan dokumen sehingga data sebelumnya tidak disimpan lagi untuk mengurangi terjadinya pengulangan data.
-
Konsistensi data Dengan mengontrol eleminasi dan mengontrol pengulangan data, DBMS akan mengurangi resiko adanya data yang tidak konsisten.
-
Mendapatkan beberapa informasi dari data yang sama Dengan mengintegrasi data operasional, memungkinkan organisasi untuk memperolehinformasi turunanyang berbeda-beda dari data yang sama. Informasi turunan yang dimaksud adalah informasi yang dihasilkan dari sumber yang sama, namun informasi dihasilkan dapat berbeda-beda, sesuai dengan apa yang dibutuhkan oleh user.
15
-
Dapat berbagi data Normalnya files hanya dimiliki oleh orang atau department yang digunakan, namun di sisi lain databaseyang ada pada suatu organisasi dapat di bagi ke user yang telah diberi hak akses. Biasanya jika aplikasi baru dibuat, maka akan membutuhkan data yang sudah ada pada database, dan hanya menambah data yang tidak disimpan, kemudian aplikasi baru juga dapat menggunakan fungsi yang disediakan oleh DBMS, untuk mendefinisikan dan memanipulasi, concurrency dan kontrol recovery.
-
Meningkatkan integritas data Database integrity menujuk pada validitas dan konsistensi data yang disimpan. Integrity biasanya di tunjukan dengan constraints.
-
Meningkatkan keamanan Database security adalah perlindungan dari database untuk melindungi data dari user yang tidak memiliki hak akses.
-
Meningkatkan standarisasi Memperbolehkan DBA mendefinisikan DBMS untuk kebutuhan standar. Termasuk didalamnya departemen, organisasi, nasional, standar internasional seperti format data untuk memfasilitasi peruktan daya antar sistem, penamaan, dokumentasi standar, prosedur yang upate, dan access rule.
-
Skala ekonomi Menggabungkan semua data operasional organisasi kedalan satu databasedan menciptakan sekumpulan aplikasi yang akan beroperasi didalam satu sumber data yang akan mengurangi pengeluaran.
16
-
Menyeimbangkan kebutuhan berdasarkan masalah Setiap user atau department membutuhkan apa yang menjadi konflik kebutuhan dengan user yang lain, dikarenakan databasedibawah kontrol dari DBA, DBA dapat membuat keputusan tentang desain dan operasional menggunakan database, yang akan menyediakan sumber terbaik untuk digunakan keseluruhan perusahaan.
-
Meningkatkan akses data. Sebagai hasil dari integrasi, data yang melewati batasan department akan langsung di akses di end user. Hal ini menyediakan sistem dengan fungsi yang potensial.
-
Meningkatkan produktivitas DBMS menyediakan banyak fungsi standar yang programmer akan ditulis di file based application.DBMS menyediakan low-level file-handling yang menjadi typical didalam aplikasi program dan berfungsi supayaprogrammer lebih fokus kepada fungsi yang spesifik dan dibutuhkan tanpa khawatir mengenai detil lowlevel implementasi.
-
Meningkatkan pemeliharaan data Di sistem file-based, setiap program aplikasi mengakses data yang dibuat untuk masing-masing program aplikasi, sehingga membuat program aplikasi sangat bergantung pada data. deskripsi data dan cara untuk mengakses data di buat kedalam setiap program aplikasi, membuat program bergantung pada data. DBMS memisahkan deskripsi data dari aplikasi, sehingga ketika terjadi update dari deskripsi data, maka terupdate di aplikasi.
17
-
Meningkatkan concurrency Beberapa sistem file-based, jika dua atau lebih user yang mengakses data yang sama diwaktu yang bersamaan, memungkinkan informasi menjaditidak valid dan integritas menurun . DBMS dapat mengatur akses concurrent databasesehingga masalah seperti diatas tidak terjadi
-
Meningkatkan proses backup dan recovery Jika terjadi kerusakan sistem atau media, maka sistem file-based dapat menyediakan, banyak tempat sistem file-based bertanggung jawab kepada user untuk menyediakan sebuah ukuran untuk melindungi data dari kegagalan sistem komputer atau program aplikasi.
d. Kekurangan DBMS Selain terdapat kelebihan, DBMSjuga mempunyai kelemahan, yaitu sebagai berikut : -
Kompleksitas Provisi dari fungsi yang diharapkan dari DBMS yang baik dapat membuat DBMS menjadi lebih kompleks. DBA, developers, database designer dan endusers harus mengerti fungsi dan mengambil keuntungan. Kegagalan mengerti sistem akan membuat keputusan desain yang buruk, yang mana akan memiliki konsekuensi yang serius untuk organisasi.
-
Ukuran Kompleksitas dari fungsimembuat DBMS menjadi perangkat lunak yang besar, sehingga memakan banyak memori.
-
Biaya
18 Biaya dari DBMS bervariasi, dan tergantung dari lingkungan dan fungsi yang disediakan, biaya tergantung dari seberapa banyak user. -
Penambahan biaya perangkat keras Kebutuhan dari penyimpanan disk DBMS dan database memungkinkan untuk membeli tambahan penyimpanan data.
-
Biaya konversi Dengan adanya DBMS dan hardware yang baru, maka diperlukan biaya untuk training staff untuk menggunakan sistem ini, biaya ini yang mungkin menjadi alasan utama mengapa beberapa organisasi lebih memilih menggunakan program yang lama.
-
Performa Sistem file-based hanya digunakan untuk aplikasi yang spesifik saja, maka hasil performanya baik. Namun DBMS digunakan untuk umum, jadi aplikasi bisa lebih dari satu, hasil akhirnya, beberapa aplikasi tidak berjalan cepat sesuai yang mereka gunakan, dikarenakan DBMS digunakan oleh beberapa apliasi yang lainnya.
-
Kemungkinan kegagalan yang lebih besar Dikarenakan DBMS digunakan secara central, maka jika suatu saat terdapat kegagalan dalam DBMS, maka aplikasi program dan user yang mengakses DBMS tidak dapat menjalankan operasional.
e.
Fungsi DBMS Menurut Connolly dan Begg(2010, p99), DBMS memiliki beberapa fungsi, yaitu
sebagai berikut : -
Datastorage, retrieval dan update.
19 Sebuah DBMS harus menyediakan user dengan kemampuan untuk menyimpan, mendapatkan, dan mengupdate data didalam database
20
-
A user-accessible catalog Sebuah DBMS harus menyediakan catalog yang dimana catalog tersebut berisi deskripsi dari data yang disimpan dan di akses oleh user.
-
Transaction support Sebuah DBMS harus menyediakan mekanisme yang akan memastikan semua update sesuai dengan transaksi yang dibuat.
-
Concurrency control service Sebuah DBMS harus menyediakan mekanisme untuk memastikan database di perbaharui dengan benar ketika banyak user mengupdate database secara bersamaan.
-
Recovery services Sebuah DBMS harus menyediakan mekanisme untuk recovering database jika database mengalami kerusakan. Kerusakan database berpengaruh terhadap operasional, sehingga proses perbaikan database dibutuhkan. Salah satunya yaitu recovery database.
-
Authorization services Sebuah DBMS meyediakan mekanisme untuk memastikan hanya user yang resmi saja yang bisa mengakses database.Sehingga user yang tidak didaftarkan terlebih dahulu tidak bisa mengakses database, ini akan meningkatkan keamanan data.
-
Support for datacommunication Sebuah DBMS harus mampu mengintegrasikan komunikasi antara software. Ketika user mengakses database dari remote locations¸maka DBMS akan menerima
request
communications
messages
yang
dibuat
oleh
Data
21 Communications Messages (DCM) maka DBMS mampu berintegrasi dengan bermacam,-macam DCM. -
Integrity services Sebuah DBMS harus memastikan perubahan yang ada di dalam database sudah melihat dari rules yang dipakai. Integritas biasanya ditampilkansebagai constraint.
-
Services to promote data independence Sebuah DBMS harus ada fasilitas-fasilitas yang mendukung program independence dari struktur actual dari database.
-
Utility services Sebuah DBMS harus menyediakan kumpulan dari utility services.Program utility membantu DBA mengelola database menjadi efektif. Beberpa utilities beroperasi pada external level, dan secara konsekuen diproduksi oleh DBA.
2.3.1 Client Server Architecture Client Server Architecture merupakan program atau software yang saling terhubung, antara client dan server. Server sebagai pusat atau sumber yang akan memberikan informasi ke clients, maka sebaliknya clients akan menerima dari server. Pernyataan ini juga diperkuat oleh Satzinger, Jackson, dan Burd (2010, p342), yang menyatakan bahwa Client Server Architecture dibagi menjadi dua jenis, yaitu client dan server. Server akan mengatur satu atau lebih sumber sistem informasi atau menyediakan layanan, sedangkan Client akan berkomunikasi dengan server untuk meminta sumber atau layanan dan server bertanggung jawab atas permintaan client tersebut.
22
Gambar 2.3.1.1Client dan Server (Satzinger, Jackson, dan Burd, 2008, p342) Gambar 2.3.1.1diatas menjelaskan bahwa terdapat Client dan
Server yang
mempunyai tugas masing-masing, yaitu Client bertugas untuk melakukan permintaan akses database, lalu database server akan menerima dan memberikan jawaban atau kode status kepada client. Database server merupakan pusat atau sumber, client hanya membuat permintaan saja kepada server.
2.3.1 ORACLE 10g Oracle 10g ialah software database yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data Relational Database Management System (RDBMS). Hal ini juga diperkuat oleh Mclaughlin(2007, p5), Oracle 10g adalah suatu database yang diproduksi oleh Oracle Corporation, yang berpusat di Redwood Shores, California. Oracle Database 10g Express Edition merupakan salah satu dari produk database, yang dibatasi dengan 4GB (Gigabyte) untuk maksimum hardisknya dan 1GB untuk RAM (Random Access Memory). Tapi semua fitur yang ada di sana, bisa ditemukan di seluruh produk Oracle Database 10g. Sistem database Oracle terdiri dari satu contoh aplikasi yang berhubungan dengan data storage. Oracle dapat digunakan untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. Oracle 10g mempunyai beberapa kelebihan, yaitu sebagai berikut :
23 - Mendukung penuh RDBMS Oracle 10g secara penuh mendukung proses penyimpanan objek database ke dalam tabel. - Mempunyai fasilitas administrasi database Administrasi database memudahkan user mengatur database dengan tampilan Graphical User Interface (GUI) yang memuaskan. - Mendukung penuh aplikasi internet dan windows. Oracle 10g menyediakan bahasa yang cocok untuk aplikasi internet dan windows, sehingga mudah dalam pengaplikasian, dan implementasi. Oracle
10g
juga
mempunyai
fitur-fitur
yang
baru
dibandingkan
pendahulunya, yaitu sebagai berikut : -
Automatic Storage Management Automatic storage managementuntuk menyimpan sekumpulan datakelompok disk.
- Instalasi Komponen Terpisah Beberapa komponen saat ini tidak diinstal pada media instalasi database Oracle. - Enkripsi Password Database Password setiap user yang mencoba remote login ke Oracle Database 10g Release 1 (10.1) otomatis dienkripsi sebelum diremote. - Data Pump Import dan Export Oracle menggunakan fasilitas import dan export yang lebih cepat untuk transfer file. Pada saat ini PT.JNE menggunakan Oracle 9i, dimana fitur-fitur yang dimiliki oleh Oracle 9i sama dengan fitur 10g, namun ada beberapa kelebihan dari Oracle 10g yang tidak dimiliki oleh 9i, yaitu yang telah disebutkan sebelumnya.
24
2.3.2 Data Definition Language(DDL) DDL adalah bahasa yang digunakan untuk mendefinisikan data, dan tidak bisa digunakan untuk memanipulasi data. Hal ini dikemukakan oleh Connolly dan Begg(2010, p92),yang mengatakan bahwa DDL adalah bahasa query yang memberikan izin kepada DBA atau useruntuk menjelaskan entitas-entitas, atributatribut dan relasi yang dibutuhkan untuk aplikasi, dan digunakan bersama constraints. DDL tidak bisa digunakan untuk manipulasi data, DDL digunakan untuk mendefinisikan schema. Kumpulan dari pernyataan DDL adalah kumpulan dari tempat penyimpanan table yang merupakan tempat penyimpanan khusus, dan disebut dengan system catalog.
2.3.3 Data Manipulation Lamguage (DML) DML adalah bahasa yang memungkinkan untuk memanipulasi data, user dapat membuat pernyataan yang dapat menyebabkan manipulasi data terjadi. Seperti yang disampaikan Connolly dan Begg(2010, p93),DML adalah bahasa yang menyediakan kumpulan operasi-operasi yang mendukung operasi manipulasi data dasar, yang ada di dalam database. Operasi manipulasi data biasanya melingkupi beberapa hal, yaitu ; -
Insertion Operasi ini merupakan proses memasukan data baru ke dalam database, proses memasukan data bisa disertakan kondisi tertentu,berikut adalah contoh operasinya : INSERT INTO Customers VALUES (001, ‘Maya Fitri’, ‘Jl. Kebon Angsa No.99’);
25 -
Modification Operasi ini merupakan operasi untuk melakukan perubahan data yang ada dalam di database, perubahan data bisa dengan kondisi tertentu, berikut adalah contoh operasinya : UPDATE Customers SET Salary=Salary*1.03);
-
Retrieval Operasi ini merupakan operasi untuk menampilkan data dari dalam database, data yang ditampilkan bisa keseluruhan, atau hanya dalam kondisi tertentu saja, berikut adalah contoh operasinya : SELECT * FROM Customers WHERE ID=001;
-
Deletion Operasi ini merupakan operasi untuk menghapus data atau record di dalam database, proses menghapus data ini bisa dengan kondisi yang ditentukan, berikut adalah contoh operasinya : DELETE FROM Customers WHERE ID=002; Bagian dari DML yang melibatkan pengambilan data disebut dengan bahasa query. Bahasa query dapat didefinisikan sebagai bahasa high level dengan tujuan khusus untuk memenuhi berbagai macam pengambilan data dari database.
2.3.3.1 Procedural DMLs Procedural DMLs adalah bahasa yang memberikan izin kepada useruntuk menjelaskan kepada sistem data apa yang dibutuhkan dan bagaimana mendapatkan
26 data tersebut.User harus menunjukan semua operasi akses data yang digunakan untuk menjalankan prosedur untuk mendapatkan informasi yang dibutuhkan. (Connolly dan Begg, 2010, p93)
2.3.3.2 Nonprocedural DMLs Menurut Connolly dan Begg(2010, 93), Nonprocedural DMLsadalah bahasa yang mengizinkan useruntuk menyatakan data apa saja yang dibutuhkan tanpa menyatakan bagaimana data tersebut harus diambil. DBMS menerjemahkan pernyataan DML, menjadi satu atau lebih prosedur yang dapat memanipulasi kumpulan record yang dibutuhkan..
2.4
Relational Model
2.4.1 Relational Data Structure Menurut Connolly dan Begg(2010, p144), Relational Data Structure terdiri atas tujuh bagian, yaitu : -
Relation Relation adalah sebuah tabel dengan baris dan kolom.Relation ditunjukan padaGambar 2.4.1.1 halaman 27. Relation hanya diaplikasikan pada tingkat external dan konseptual dari ANSI-SPARCArchitecture, dan tidak bisa di aplikasikan pada struktur fisikal di database.
-
Attribute Attribute adalah sebuah nama pada kolom dari sebuah relation. Sebuah relasi direpresentasikan
sebagai
dua
padaGambar 2.4.1.1 halaman 27.
dimensi
di tabel.
Attribute
ditunjukan
27
-
Domain Masing-masing attributebisa mempunyai domain yang tidak sama, namun dua atau lebih attributes juga bisa mempunyai domain yang sama. Konsep domain ini sangat penting, dikarenakan mengizinkan user untuk menentukan nilai attribute.Domain ditunjukan Gambar 2.4.1.1.
Gambar 2.4.1.1Attributes Domain (Connolly dan Begg, 2010, p145) -
Tuple Tuple adalah sebuah baris dari sebuah relation.Tuple menentukan nilai dari attribute.Tuple ditunjukan pada Error! Reference source not found.Gambar 2.4.1.1.
-
Degree Degree adalah jumlah attributes yang ada pada relation. Sebuah relasi yang mempunyai one degree, disebut dengan unary, yang mempunyai dua attributes disebut dengan binary, yang mempunyai tiga attribute disebut dengan ternary, kemudian yang mempunyai lebih dari tiga attribute disebut dengan n-ary.
28
Gambar 2.4.1.2Instances of the Branch and Staff relations (Connolly dan Begg, 2010, p145) 2.4.2 Relational Keys Menurut Connolly dan Begg(2010, p150), Relational Keys dibagi menjadi empat jenis key, yaitu : -
Superkey Superkey
adalah
sebuah
atribut
atau
sekumpulan
atribut
yang
mengidentifikasikan tuple dalam sebuah relation. -
Candidate Key Candidate Key adalah sebuah superkey yang ada didalam relation. Candidate Key K untuk sebuah relation R mempunyai dua sifat, antara lain : a. Uniqueness Pada setiap tuple dari R, nilai dari K mengidentifikasi tuple tersebut. Nilai key harus berupa nilai yang unik, atau nilai yang tidak sama dengan nilai yang lainnya.
29
b. Irreducibility Tidak terdapat bagian yang tepat pada K yang mempunyai sifat yang unik.Candidate Key mempunyai sifat yang tidak bisa di reduce. -
Primary Key Primary Key adalah Candidate Key yang dipilih untuk mengidentifikasi tuples yang unik didalam sebuah relation.Primary key merupakan nilai yang tidak bisa sama dengan attribut lain,
-
Foreign Key Foreign Key adalah sebuah atribut atau kumpulan dari atribut, didalam satu relation yang cocok dengan candidate key dari beberapa relation yang mungkin dengan relation yang juga sama.
2.4.3 Entity Relationship Modelling ER Modelling adalah sebuah pemodelan entitas yang saling berhubungan. ER Modelling dibuat untuk melihat secara keseluruhan apa saja entitas yang ada di dalam perancangan database dan bagaimana hubungan antar entitas tersebut. Hal ini diperkuat dengan pendapat dari Connolly dan Begg(2010, p371), yang berpendapat bahwa ER Modelling merupakan pendekatan top-down untuk merancang database yang dimulai dengan mengidentifikasi data-data penting yang disebut dengan entitas dan relationship di dalam pemodelan suatu data. Konsep dari ER modelling digambarkan dengan ER, diagram ini menampilkan hubungan antar data, dan merepresentasikan objek ke dalam bentuk fisik.
30
Gambar 2.4.3.1Entity Relationship Diagram (Connolly dan Begg, 2010, p372) PadaGambar 2.4.3.1Entity Relationship Diagrammenggambarkan ER-diagram dari Branch View of Dream Home.
2.4.3.1 Entity Type Tipe entitas merupakan perwakilan dari sekumpulan objek yang memiliki properti, behavior yang sama. Setiap designer yang merancang tipe entitas mungkin saja nama tipe entitas bisa berubah satu sama lain. Hal ini diperkuat oleh Connolly dan Begg(2010, p372), tipe entitas adalah sekumpulan objek dengan property yang sama dan keberadaannya diakui oleh perusahaan ada secara independen.
31 Ada 2 jenis tipe entitas : 1.
Strong Entity Type, yaitu tipe entitas yang tidak bergantung pada entitas lainnya, dan mampu berdiri sendiri. Strong Entity dapat dilihat pada Gambar 2.4.3.1.1Strong dan Weak Entityhalaman 31.
2.
Weak Entity Type, yaitu tipe entitas yang keberadaannya bergantung pada entitas lainnya, dan biasanya tidak ada primary key, oleh karena itu memerlukan entitas lain untuk bisa disebut sebagai entitas. Weak Entity dapat dilihat padaGambar 2.4.3.1.1 halaman 31.
Gambar 2.4.3.1.1Strong dan Weak Entity (Connolly dan Begg, 2010, p384) Error! Reference source not found.Gambar 2.4.3.1.1Strong dan Weak Entity, menunjukan yang menjadi strong entity adalah client, sedangkan yang menjadi weak entity adalah preference. Client yang menjadi strong entity dikarenakan jika hubungan states dihapus, maka client tetap dapat menjadi entitas. Sedangkan preference tidak akan menjadi entitas jika hubungan states nya dihapus. Hal ini menjadikan preference menjadi weak entity.
32 2.4.3.2 Relationship Types Di dalam penggambaran ER Modelling, hubungan antar entitas harus digambarkan. Tipe hubungan yang terjadi antar entitas juga ada banyak jenisnya. Menurut Connolly dan Begg(2010, p374), relationship type adalah sekumpulan asosiasi di antara satu atau lebih tipe entitas.
Gambar 2.4.3.2.1Entity Types (Connolly dan Begg, 2010, p374) Entity Types, menggambarkan hubungan antara staff dan branch. a.
Jenis Hubungan Terdapat beberapa jenis hubungan, yaitu : • Dependency (Ketergantungan) Dependency adalah hubungan semantic antara dua benda dimana perubahan pada suatu benda (benda yang bebas) bisa saja mempengaruhi semantik benda yang lain (benda yang bebas).
Gambar 2.4.3.2.2Dependency (Connolly dan Begg, 2010, p374)
33
• Association (Asosiasi) Association adalah hubungan struktural yang menggambarkan sebuah set dari hubungan, sebuah hubungan yang menjadi penghubung di antara objek.
Gambar 2.4.3.2.3Association (Connolly dan Begg, 2010, p374) • Generalization (Generalisasi) Generalitation adalah sebuah spesialisasi/generalisasi hubungan dimana objek yang berasal dari elemen yang dikhususkan (specialized elements) atau sang anak (the child) bisa digantikan untuk objek yang berasal dari elemen yang disamaratakan (generalized elements) atau sang tetua (the parents). Dalam hal ini, sang anak (the child) memberikan struktur dan perilaku dari sang tetua (the parents).
Gambar 2.4.3.2.4Generalisasi (Connolly dan Begg, 2010, p374) • Realization (Realisasi) Realization adalah hubungan semantik antara classifiers, dimana satu penggolong menetapkan kontrak yang menjamin classifier lain melaksanakannya.
Gambar 2.4.3.2.5Realisasi (Connolly dan Begg, 2010, p374)
untuk
34 b.
Degree of Relationship Type Menurut Connolly dan Begg(2010, p376), degree of relationship type adalah jumlah tipe entitas yang berpatisipasi pada hubungan. Terdapat beberapa tipe degree of relationship type, yaitu sebagai berikut : -
Binary Sebuah hubungan yang menghubungkan dua entitas.
Gambar 2.4.3.2.6Binary Relationship (Connolly dan Begg, 2010, p376) Contoh gambar diatas adalah satu relationship relationship yang menghubungkan dua entitas, yaitu relationship POwns menghubungkan PrivateOwner dengan PropertyForRent, yang berarti relationship POwns private owner owns property for rent. - Ternary Sebuah hubungan yang menghubungkan tiga entitas yang saling berhubungan.
Gambar 2.4.3.2.7Termary Relationship (Connolly dan Begg, 2010, 377)
35 Contoh
gambar
diatas
menerangkan
sebuah
hubungan
yang
menghubungkan tiga entitas yang berbeda, yaitu Staff, Client dan Branch. Ketiga entitas itu dihubungkan dengan hubungan yang diberi nama registers. -
Quaternary Sebuah
entitas
yang
menghubungkan
empat
entitas
yang
saling
berhubungan.
Gambar 2.4.3.2.8Quarternary relationship (Connolly dan Begg, 2010, p377) Gambar diatas menjelaskan sebuah hubungan menghubungkan empat entitas yang saling berhubungan dengan hubungan yang diberi nama arranges. c.
Recursive Relationship Menurut Connolly dan Begg(2010, p378), recursive relationship adalah tipe hubungan pada entitas yang sama, dimana memiliki tipe participates lebih dari satu didalam roles yang berbeda.
36
Gambar 2.4.3.2.9Recursive relationshi (Connolly dan Begg, 2010, p378)
2.4.3.3 Attributes Attribute merupakan sifat atau properti yang dimiliki oleh suatu entitas. Attribute berisi catatan-catatan yang disimpan dalam sebuah entitas. Ini juga dikemukakan oleh Connolly dan Begg (2010, p379), attribute merupakan sebuah properti dari sebuah entitas atau tipe hubungannya. Di dalam attribute terdapat attribute domain yang merupakan kumpulan nilai yang diperbolehkan untuk satu atau lebih attribute. Attribute dapat diklasifikasikan sebagai berikut : a.
Simple and Composite Attributes Menurut Connolly dan Begg(2010, p379), Simple attribute adalah suatu attribute
yang terdiri dari komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi lagi ke komponen yang lebih kecil. Sedangkan Composite attribute adalah suatu attribute yang terdiri dari banyak komponen dimana masing-masing komponen tersebut memiliki keberadaan yang independen. b. Single-valued and Multi-valued Attributes Menurut Connolly dan Begg(2010, p380), Single-valued attribute adalah suatu attribute yang memiliki nilai tunggal untuk setiap kejadian pada tipe entitas.
37 Sedangkan Multi-valued attribute adalah suatu attribute yang memiliki beberapa nilai untuk setiap kejadian pada tipe entitas. c.
Derived Attributes Derived attribute adalah suatu attribute yang menggambarkan nilai yang
didapatkan dari attribute-attribute yang saling berhubungan, tetapi tidak selalu harus dari tipe entitas yang sama. d. Keys Key digunakan di dalam attribute terbagi menjadi beberapa, yaitu : 1. Candidate Key adalah sekumpulan minimal dari attribute yang bersifat unik yang mengidentifikasikan keberadaan dari setiap tipe entitas. (Connolly dan Begg, 2010, p381). 2. Primary Key adalah suatu candidate key yang telah dipilih untuk dijadikan key utama di dalam entitas yang mengidentifikasikan kejadian yang terjadi pada entitas. (Connolly dan Begg, 2010, p381) 3. Composite Key adalah suatu candidate key yang terdiri dari dua atau lebih attribute.
2.4.3.4 Structural Constraints Multiplicity adalah jumlah nilai yang mungkin terjadi pada tipe entitas yang mungkin berhubungan dengan kejadian tunggal dari tipe entitas yang merupakan bagian dari relationship(Connolly dan Begg, 2010, p385). Terdapat tiga jenis relation yang menggunakan integrity constraint, antara lain adalah :
38 -
One-to-One (1:1) Relationship
Gambar 2.4.3.4.1One-to-one (1:1)relationships (Connolly dan Begg, 2010, p386) Contoh gambar diatas adalah relationship one-to-one. Satu staff hanya memiliki satu relationship type dan satu branch. Maka dari itu disebut dengan one-to-one -
One-to-Many (1:*) Relationship
Gambar 2.4.3.4.2One-to-many (1:*) relationships (Connolly dan Begg, 2010, p387) Contoh gambar diatas adalah one-to-many relationship yang dimana satu staff bisa memiliki lebih dari satu tipe relationship, namun hanya mempunyai satu propertyforrent per satu relationship.
39 -
Many-to-Many (*:*) Relationship
Gambar 2.4.3.4.3Many-to-many (*:*) relationships (Connolly dan Begg, 2010, p388) Contoh gambar diatas adalah many-to-many relationship, yaitu satu newspaper yang mempunyai bisa lebih dari satu pengiklanandan mempunyai satu property for rent.
2.4.4 Enhanced Entity-Relationship Modelling 2.4.4.1 Specialization / Generalization Spesialisasi atau generalisasi adalah menentukan entitas yang menjadi supperclass dan subclass, kemudian menentukan relationship nya, dan tipe dari dua tipe utama dari constraintsyaituparticipation dan disjoint.Hal ini juga dikemukakan oleh Connolly dan Begg(2010, pp400-411), konsep dari specialisasi atau generalisasi adalah berhubungan dengan tipe khusus dari entitas-entitas yang dikenal dengan superclasses dan subclasses, dan proses attribute inheritance.,terdapat beberapa bagian yang membentuk specialisasi dan generalisasi.
40 2.4.4.2 Superclasses and Subclasses Superclass adalah tipe entitas dimana melingkupi satu atau lebih dari distinct subgroupings, yang ditampilkan kedalam model data. Sedangkan subclass adalah distinct subgrouping yang ada didalam tipe entitas, yang harus ditampilkan dalam bentuk model data.
2.4.4.3 Superclass / Subclass Relationship Hubungan yang melibatkan antara superclass dan subclass,sertahubungan yang terjadi antara superclass dan subclass adalah one-to-one (1:1) disebut dengan superclass/subclass relationship.
2.4.4.4 Attribute Inherintance Sebuah entitas di subclass memperlihatkan objek yang sama dengan yang ada pada superclass, begitu pula dengan atribut. Atribut yang ada di subclass juga terdapat pada superclass, dan mungkin saja terdapat atribut tambahan yang muncul pada superclass.
2.4.4.5 Specialization Process Spesialisasi adalah proses memaksimalkan perbedaan yang ada diantara entitas-entitas dengan mengidentifikasi perbedaan karakteristiknya
2.4.4.6 Generalization Process Proses generalisasi adalah proses meminimalkan perbedaan antara entitasentitas dengan mengidentifikasi karakteristik umum nya. Proses generalisasi
41 merupakan pendekatan bottom-up, yang hasilnya akan diidentifikasi sebuah superclass dari entitas-entityas lannya.
2.5
Integrity Constraints
2.5.1 Nulls Nulls digunakan untuk menunjukan bahwa nilai suatu field adalah bernilai boleh kosong, atau yang dimaksud adalah nilai yang boleh tidak ada. Tetapi null tidak sama dengan nilai nol secara numerik atau sebuah teks yang hanya berupa spasi, dikarenakan nilai nol secara numerik dan spasi secara string termasuk sebagai nilai atau values. Hal ini juga dikemukakan olehConnolly dan Begg(2010, p153), nulls merepresentasikan sebuah nilai untuk sebuah atribut yang tidak diketahui atau yang tidak cocok dengan tuple. Nulls dapat digunakan untuk menyebut nilai logikal yang tidak diketahui.
2.5.2 Entity Integrity Primary
key
adalah
minimal
identifier
yang
digunakan
untuk
mengidentifikasi tuples yang unik. Jika beberapa bagian dari primary key diperbolehkan untuk null, jadi tidak smeua atribut dibutuhkan untuk membedakan antara tuples dengan definisi primary key. Hal ini disampaikan oleh Connolly dan Begg(2010, p153), entity integrity adalah relation dasar, yang tidak mempunyai atribut dari primary key yang bisa null.
2.5.3 General Constraints General constraints adalah sebuah batasan atau rules yang digunakan untuk databaseyang didefinisikan. Menurut Connolly dan Begg(2010, p155), general
42 constraints adalah rules tambahan yang dispesifikasi oleh useratau DBA dari sebuah database yang di definisikan.
2.6
Views Views merupakan tabel virtual yang isinya dapat disesuaikan dengan
kebutuhan masing-masing user, views juga dibuat untuk alasan keamanan, agar beberapa tabel perusahaan yang pennting tidak bisa di akses oleh akses lain. Hal ini juga diperkuat oleh pernyataan dariConnolly dan Begg(2010, p155), yang menyatakan bahwa views adalah tabel virtual atau turunan table atau relation, yang tidak dibutuhkan untuk ada dalam database, tetapi dapat dibuat sesuai dengan permintaan oleh sebagian userdisaat usermelakukan permintaan. Views diperlukan untuk berbagai macam alasan, yaitu sebagai berikut : -
Views menyediakan mekanisme security yang powerfull dan fleksibel dengan menyembunyikan bagian-bagian databasedari certain user. Usertidak akan menyadari adanya atribut atau tuple yang tidak ada dari view.
-
Views mengizinkan useruntuk memberikan akses data dengan mangatur data apa saja yang diperlukan, sehingga data yang sama dapat dilihat oleh useryang berbeda dengan berbagai macam cara.
-
Views dapat menyederhanakan operasi yang komplek pada relation dasar. Dikarenaakan jika ingin menampilkan beberapa record dari tabel yang berbedabeda, akan menghasilkanb operasi yang sangat kompleks.
2.7 Process Modelling Dalam mendokumentasikan kebutuhan dari sistem secara terstruktur, process modelling kerap digunakan untuk mengelola dan mendokumentasikan proses sistem.
43 Menurut Satzinger, Jackson, & Burd (2010, p. 151), dalam mendokumentasikan workflow, atau urutan langkah-langkah untuk menangani sebuah transaksi bisnis, terdapat beberapa pilihan tools. Data flow diagram (DFD) merupakan salah satu tool yang paling sering digunakan untuk menangkap aliran data dalam suatu worklfow. Data flow diagram (DFD) merupakan model proses yang digunakan untuk menggambarkan aliran data input dan output pada sebuah sistem beserta tugas atau pengolahan yang dilakukan oleh sistem dari segi proses dan data store (Satzinger, Jackson, & Burd, 2010, p. 206). Sistem yang dibahas dapat berupa sistem dalam banyak konteks seperti sistem pendidikan, sistem komputer, sistem bisnis, ataupun sistem informasi. Simbol-simbol yang dipakai oleh data flow diagram terdiri dari 5 notasi seperti yang digambarkan pada Gambar 2.7.2.1.
44
Gambar 2.7.2.1Data flow diagram symbols (Sumber: Satzinger, Jackson, & Burd, 2010, p. 207) Data flow diagram dapat dikembangkan dalam kerincian yang bervariasi, sesuai system requirement yang perlu digambarkan. Abstraksi ini dapat dilakukan secara hierarkis dari yang umum sampai ke level yang lebih detail. Level Abstraksi Data Flow Diagram dibagi menjadi dua, yaitu : 1.
Diagram Konteks Diagram konteks merupakan deskripsi paling abstrak mengenai sistem dan biasa
digunakan untuk mendokumentasikan lingkup awal proyek. Diagram ini fokus terhadap interaksi dengan lingkungan sekitar sistem dan menampilkan semua external agent dan data flow ke dalam dan dari sistem semua dalam satu diagram, dengan seluruh sistem sebagai satu proses. (Satzinger, Jackson, & Burd, 2010, p. 208)
45
Gambar 2.7.2.2 Contoh DFD Konteks (Sumber: Satzinger, Jackson, & Burd, 2010, p. 209) 2.
Fragmen DFD Fragmen DFD, atau diagram event,
dibangun untuk setiap usecase yang
ditemukan pada event table. Dengan demikian, setiap fragmen DFD menggambarkan bagaimana sistem menanggapi event tertentu. DFD fragment biasanya digambarkan setelah diagram konteks dan event table selesai dibangun (Satzinger, Jackson, & Burd, 2010, p. 210). 1
Academic department
Schedule data
Enrollment request
Student
Offered course .
Schedule course
Student . 2 Offered course
Enroll student Schedule
Course enrollment
Gambar 2.7.2. 3 Contoh fragment DFD (Satzinger, Jackson, & Burd, 2010, p. 210)
2.8
Normalisasi Normalisasi merupakan hal penting dalam perancangan database. Hal
tersebut dikarenakan normalisasi dapat membuat record table menjadi normal sehingga mencegah timbulnya redundansi data, ini juga diperkuat oleh pernyataan
46 Connolly dan Begg(2010, p428), normalisasi adalah suatu teknik menghasilkan sekumpulan relasi dengan properti yang diinginkan untuk menyajikan kebutuhan data perusahaan. Tujuan dari normalisasi adalah untuk menghilangkan kerangkapan data atau data yang sama. Hal tersebut ditujukan untuk mengurangi kompleksitas dan untuk memodifikasi suatu data, serta untuk mengidentifikasikan kumpulan relasi yang cocok untuk mendukung kebutuhan data perusahaan. Menurut Connolly dan Begg(2010, p428), ada beberapa hal yang perlu diperhatikan di dalam proses normalisasi antara lain : -
Normalisasi merupakan suatu teknik formal, sehinggauntuk menganalisis suatu relasi harus berdasarkan primary key dan ketergantungan fungsional antar attribute.
-
Normalisasi mengeksekusi beberapa langkah, dimana setiap langkah mengacu pada bentuk normal tertentu sesuai dengan sifat yang dimiliki.
-
Setelah proses normalisasi dilakukan, relasi secara bertahap menjadi lebih terbatas dan juga lebih mengurangi suatu tindakan update yang bersifat anomali.
Terdapat beberapa tahap proses normalisasi, yaitu sebagai berikut :
47
Gambar 2.8.1 Proses Normalisasi (Connolly dan Begg, 2010, p388)
2.8.1 Unnormalized Form (UNF) Unnormalized Form (UNF) adalah tabel yang berisi satu atau lebih data yang berulang. Dari bentuk inilah yang merupakan awal proses normalisasi.
Gambar 2.8.1.1Unnormalized Table (Connolly dan Begg, 2005, p404)
2.8.2 First Normal Form (1NF) Sebelum melakukan proses 1NF, bentuk tabel adalah dalam keadaan Unnormalized Form. 1NF adalah suatu relasi dimana intersection dari setiap baris
48 dan kolom mengandung hanya satu nilai. Pada proses normalisasi 1NF, data yang berulang akan dihilangkan.
Gambar 2.8.2.1First Normal Form (Connolly dan Begg, 2005, p405)
2.8.3 Second Normal Form (2NF) Pada proses normalisasi 2NF, dilakukan dekomposisi atau pemisahan sesuai dengan sifat ketergantungan fungsional dimana setiap attributenon-primary key secara fungsional bergantung sepenuhnya pada primary key.
Gambar 2.8.3.1Second Normal Form (Connolly dan Begg, 2005, p408)
49 2.8.4 Third Normal Form (3NF) Proses normalisasi 3NF merupakan sebuah relasi yang ada pada 1NF dan 2NF, dimana attribute yang bukan non-primary key bergantung secara transitif kepada primary key.
Gambar 2.8.4.1Third Normal Form (Connolly dan Begg, 2005, p408)
2.9
Fact-Finding Technique Fact-Finding Technique merupakan teknik pencarian fakta yang dapat
digunakan dalam mencari fakta di dalam sebuah permasalahan di lapangan.Hal ini diperkuat oleh Connolly dan Begg(2010, p317), fact-finding technique dibutuhkan di dalam mengumpulkan dan menganalisis informasi. Beberapa teknik yang biasa digunakan dalam fact-finding : 1.
Examining Document Dalam proses ini, analis mencari informasi mengenai seberapa penting
kebutuhan database di dalam perusahaan atau organisasi. Pada teknik ini dibutuhkan dokumentasi sistem yang ada, surat-surat dalam proses bisnis, serta bentuk laporan yang digunakan. 2.
Interviewing Wawancara merupakan teknik yang paling umum dan biasanya paling berguna
dalam pencarian fakta. Dalam melakukan wawancara, dibutuhkan kemampuan
50 komunikasi yang baik agar hasil dari pertanyaan yang diberikan kepada responden dapat diterima dengan jelas dan dapat dijawab dengan baik dan tepat sasaran. Dalam melakukan wawancara, tingkat kebenaran dan ketepatan informasi yang didapatkan dapat diketahui dengan melihat bahasa tubuh dari responden. 3.
Observing the Enterprise in Operation Dengan teknik observasi, pencarian fakta dapat dilakukan dengan mengamati
dan berbaur dengan para pelaku bisnis serta mengikuti proses bisnis yang berjalan pada perusahaan tersebut. Teknik observasi adalah salah satu teknik pencarian fakta yang paling efektif untuk pemahaman suatu sistem. Dengan observasi, pengalaman yang didapatkan di lapangan akan lebih berbeda dengan yang diinformasikan oleh responden sehingga proses bisnis dan masalah yang ada akan lebih mudah dimengerti.
51
4.
Research Penelitian dilakukan dengan mencari informasi dalam buku referensi ataupun
jurnal. Dari sumber tersebut mungkin dapat ditemukan bagaimana suatu masalah yang sama dapat diselesaikan, dan bisa juga dijadikan sebagai referensi dalam analisis dan perancangan yang akan dilakukan. 5.
Questionnaires Kuesioner adalah teknik pencarian fakta dengan melakukan survei melalui daftar
pertanyaan. Teknik ini biasanya digunakan untuk mengumpulkan fakta dari responden yang jumlahnya banyak. Dengan menggunakan teknik kuesioner, akan lebih menghemat waktu dan uang dibandingkan jika harus mewawancara responden yang banyak satu per satu.
2.10
Metodologi Perancangan Database Menurut Connolly dan Begg(2010, p314), terdapat tahapan perancangan
database, database merupakan komponen dasar suatu sistem informasi, dimana dapat dilihat berdasarkan kebutuhan organisasi. Untuk membentuk sebuah database, terdapat tahapan sebagai berikut :
52
Gambar 2.10.1 Diagram siklus database (Connolly dan Begg, 2010, p314)
2.10.1 Database Planning Perencanaan databasemencakup bagaimana data dikumpulkan, bagaimana format yang harus dispesifikasikan, dokumen apa saja yang akan dibutuhkan, bagaimana desain dan proses implementasi seharusnya. Hal ini dikemukakan oleh Connolly dan Begg(2010, p313),perencanaan database atau dataase planning adalah tahap pertama yang merencanakan bagaimana database system development lifecycle akan menjadi lebih efektif dan efisien. Perencanaan database harus terintegrasi
53 dengan semua strategi sistem informasi pada organisasi. Tahap pertama yang penting dalam perencanaan database adalah menentukanmission statement pada sistem database,
dengan
adanya
mission
statement
ini
akan
membantu
untuk
mengklarifikasi tujuan dari sistem database dan menciptakan jalur yang lebih efektif dan efisien. Setelah mission statement ditentukan, tahapan selanjutnya adalah menentukan mission objectives. Setiap mission objective mengidentifikasi bagian tugas yang didukung oleh sistem database.
2.10.2 System Definition System definition adalah Menurut Connolly dan Begg(2010, p316), definisi sistem atau system definition merupakan batasan dan ruang lingkup dari sistem database, dan sudut pandang user yang utama. Sudut pandang user atau user view menentukan apa yang dibutuhkan oleh sistem database dari sudut pandang a particular job role (manager atau supervisor) atau enterprise application area (marketing, personnel atau stock control). Sistem database mempunyai satu atau lebih sudut pandang user, mengidentifikasi sudut pandang user adalah aspek yang penting untuk mengembangkan sistem database, dikarenakan tidak ada satupun sudut pandang user utama akan terlupa saat mengembangkan kebutuhan untuk sistem database yang baru.
2.10.3 Requirement Collection and Analysis Analisis dan pengumpulan kebutuhan atau requirement collection and analysis adalah proses mengumpulkan dan menganalisa informasi tentang bagian dari organisasi yang didukung oleh sistem database, dan menggunakan informasi ini
54 untuk mengidentifikasi kebutuhan untuk sistem baru. (Connolly dan Begg, 2010, p316). Menurut Connolly dan Begg(2010, p318), ada tiga pendekatan untuk mengatur kebutuhan dari sistem database berdasarkan multiple user views, yaitu : 1.
Centralized Approach Setiap kebutuhan dari setiap user akan digabungkan menjadi satu kumpulan kebutuhan untuk sistem database yang baru. Kumpulan dari kebutuhan tersebut akan diberikan nama yang menyediakan beberapa indikasi dari area aplikasi yang dicakup oleh gabungan dari user views.
2.
View Integration Approach Kebutuhan dari setiap user view di pisahkan menjadi daftar yang terpisah, sehingga data model akan merepresentasikan user view yang diciptakan, kemudian akan digabungkan setelah tahap desain database.
3.
A Combination of both Approaches Pendekatan ini menggabungkan dua pendekatan sebelumnya, ini digunakan dalam kondisi tertentu. Jika dua atau lebih user views akan digabungkan dahulu menggunakan centralized approach, kemudian digunakan untuk membangun logikal data model lokal. Model data yang telah digabungkan saat pertama kali, dapat digabungkan lagi dengan logikal data model lokal lainnya. Sehingga tahap ini disebut dengan view integration approach.
2.10.4 Database Design Database design adalah perancangan basis data untuk memenuhi kebutuhan sistem databasedan mendukung proses bisnis, hal ini diperkuat olehConnolly dan Begg(2010, p320), yang menyampaikan bahwa database design adalah proses
55 menciptakan sebuah rancangan yang akan mendukung mission statement dan mission objectives untuk memenuhi kebutuhan sistem database.Menurut jurnal yang dikemukakan oleh Irwin(2012, pp19-27), dengan judul “A Database Design dan Implementation Case” mengatakan bahwa desain database terbagi menjadi beberapa tahap, yaitu : -
Membuat conceptual data model untuk sistem informasi.
-
Menerjemahkan conceptual model menjadi desain database logikal.
-
Mengimplementasikan database menggunakan sistem management database.
-
Melakukan test integritas data control pada database. Terdapat beberapa pendekatan yang digunakan untuk merancangdatabase,
yaitu : -
Top-down Top-down merupakan pendekatan yang dimulai dengan ide utama yang dibutuhkan sistem, kemudian menanyakan kepada end-userdata apa yang dibutuhkan untuk disimpan. Pendekatan ini dilakukan dengan cara menggunakan entity-relationship (ER) sebagai model kemudian mengidentifikasi entitas dan hubungan.
-
Bottom-up Bottom up menganalisa dan mengelompokan attribute didalam suatu relasi yang menggambarkan tipe entitas dan relasi antar entitas. Di Tahap desain database ini terdapat tiga tahapan untuk desain database,
yaitu sebagai berikut : 1.
Conceptual Database Design Conceptual database design adalah merupakan tahap pertama dalam database
design dan mengidentifikasi berdasarkan kebutuhan dari user. hal ini dikemukakan
56 oleh Connolly dan Begg(2010, p322), conceptual database design adalah proses untuk membangun sebuah model data yang digunakan didalam enterprise. Menurut Connolly dan Begg(2010, p471), pada tahap perancangan konseptual terdapat langkah-langkah sebagai berikut •
Identifikasi tipe entitas
•
Identifikasi tipe hubungan
•
Identifikasi attributes dengan tipe entitas atau hubungan
•
Menentukan domain attribute
•
Menentukan candidate,orimary dan alternate key
•
Mengecek pengulangan model
•
Validasi data model konseptual dengan transaksi user.
•
Review data model konseptual dengan user
2.
Logical Database Design Logical database design merupakan tahap kedua dalam database design, tahap
ini merupakan pengembangan dari tahap conceptual database design, dimana teknik normalisasi digunakan untuk menilai kebenaran dari Logical Database Design.Hal ini juga dikemukakan Connolly dan Begg(2010, p323), logical database design adalah proses pembangunan model data yang digunakan di enterprise dan berdasarkan spesifikasi model data, tetapi tidak bergantung pada bagian dari DBMS. Menurut Connolly dan Begg(2010, p490), terdapat beberapa tahap pada logikal data model, yaitu sebagai berikut : •
Derive hubungan pada logikal data model
•
Validasi hubungan menggunakan normalisasi
•
Validasi hubungan terhadap resiko transaksi user
•
Mengecek batasan integritas
57 •
Review logikal data model dengan user
•
Menggabungkan logikal data model kedalam data model global.
•
Mengecek future growth
3.
Physical Database Design Physical database design merupakan tahap ketiga dan juga merupakan tahap
akhir
dari
proses
database
design,designer
memutuskan
bagaimana
databasediimplementasikan. Seperti yang dikemukakan oleh Connolly dan Begg(2010, p324),Desain databasePhysical adalah proses untuk memproduksi deskripsi dari proses implementasi database di penyimpanan yang kedua. Hal tersebut akan menjelaskan tentang hubungan dasar, file organisasi, dan index yang digunakan untuk menciptakan akses yang efisien ke data, dan batasan integritas. Menurut Connolly dan Begg(2010, p524),fisikal desain database juga dibagi menjadi tiga tahap, yaitu sebagai berikut : •
Merancang hubungan dasar
•
Desain representasi dari data turunan
•
Desain batasan umum
•
Desain file organization dan index o
Menganalisa transaksi
o
Memilih file organization
o
Memilih index
o
Mengestimasi kebutuhan kapasitas disk
•
Desain user views
•
Desain security mechanisms
58 2.10.5 DBMS Selection DBMS selection adalah proses pemilihan dari DBMS untuk mendukung sistem database. Langkah-langkah utama untuk memilih DBMS, yaitu sebagai berikut : 1.
Menentukan waktu untuk melakukan studi referensi
2.
Membuat daftar dua atau tiga produk
3.
Mengevaluasi produk
4.
Merekomendasikan pilihan dan membuat laporan
2.10.6 Application Design Menurut Connolly dan Begg(2010, p329), desain aplikasi atau application design adalah desain dari userinterface dan program aplikasi yang digunakan dalam proses database.Terdapat dua aspek pada desain aplikasi, yaitu desain transaksi dan desain userinterface. 1.
Transaction Design Desain Transaksi atau transaction design adalah aktivitas atau kumpulan aktivitas, yang dilakukan oleh satu user atau program aplikasi, yang dapat mengubah isi dari database.
2.
User Interface Design User interface design adalah proses merancang user interface, untuk mengimplementasikan sebuah form atau laporan. Proses ini berisi aturan-aturan, yaitu sebagai berikut : a.
Nama yang bermakna
b.
Petunjuk yang mudah dipahami
c.
Mengelompokan fields
59 d.
Tampilan form atau laporan yang menarik
e.
Penggunaan label yangfamiliar
f.
Konsisten dalam penggunaan istilah dan singkatan
g.
Konsisten dalam penggunaan warna
h.
Menyediakan spasi atau barasan untuk data entry
i.
Menggerakan mouse untuk menjalankan fungsi
j.
Memberikan pesan kesalahan jika ada kesalahan dalam memasukan data
k.
Memberikan pesan kesalahan jika nilai tidak diterima
l.
Memberikan field optional
m.
Memberikan sinyal atau indicator jika suatu proses telah selesai.
2.10.7 Prototyping Prototipe adalah sebuah model kerja yang tidak memiliki fitur yang diperlukan oleh semua sistem akhir, oleh karena itu prototipe membangun model kerja dari suatu sistem aplikasi data. Hal ini yang disampaikan oleh Connolly dan Begg(2010, p333), prototipe adalah membangun model kerja dari sistem database Tujuan utama dari prototipe adalah memungkinkan user menggunakan prototype untuk mengidentifikasi fitur dari sistem.
2.10.8 Implementation Implementasi adalah realisasi fisik dari desain database dan aplikasi, implementasi database ini akan dicapai dengan menggunakan Data Definition Language (DDL) dari DBMS atau GUI yang terpilih. (Connolly dan Begg, 2010,
60 p334). Program aplikasi yang diimplementasikan menggunakan third language atau fourth language. Bagian dari program aplikasi adalah transaksi database, yang diimplementasikan menggunakan DML. Proses implementasi juga dapat dilakukan untuk mengimplementasikan komponen dari desain aplikasi seperti menu screen, data entry forms, dan reports.
2.10.9 Data Conversion and Loading Data Conversion and Loading adalah proses pemindahan data yang ada ke dalam database yang baru, dan mengubah aplikasi yang berjalan untuk beroperasi di database yang baru. Tahap ini dibutuhkan hanya jika sebuah sistem databasebaru menggantikan sistem lama, sehingga data yang berada pada sistem lama, akan berada di sistem baru secara otomatis.
2.10.10 Testing Testing adalah proses menjalankan sistem database dengan tujuan untuk mencari kesalahan. Sehingga diharapkan akan menghasilkan program dan database yang akan siap digunakan jika kesalahan yang terjadi sudah minim.Testing diperlukan untuk melihat, apakah sistem databasetersebut sudah dapat digunakan.
2.10.11 Operational Maintenance Operational Maintenance adalah proses mengendalikan dan menjaga sistem database selama proses instalasi. Yang melibatkan kegiatan sebagai berikut : 1.
Mengendalikan dan mengawasi kinerja dari sistem.
2.
Meningkatkan dan memelihara sistem database
61 2.11
Sistem Informasi pengiriman barang
2.11.1 Pengertian sistem informasi pengiriman barang Telah dikemukakan, kesimpulan mengenai sistem informasi di awal bab, sedangkan pengiriman barang adalah segala upaya yang diselenggarakan secara sendiri atau bersama-sama dalam suatu organisasi untuk memberikan pelayanan jasa berupa pengiriman barang. Jadi dapat disimpulkan bahwa sistem informasi pengiriman barang adalah sistem nformasi yang membantu untuk mengumpulkan informasi dalam memberikan jasa pengiriman barang kepada pelanggan, sehingga organisasi dapat mencatat berbagai kegiatan pengiriman barang yang dilakukan dengan detail untuk membuat laporan pengiriman barang.
2.11.2 Teori pengiriman barang Menurut McLeod (2007, p152) terdapat beberapa pengertian mengenai pengiriman barang, yaitu sebagai berikut : a.
Shipping adalah pelanggan retail atau korporat yang memanfaatkan jasa layanan pengiriman barang
b.
Consignee adalah penerima barang dari shipper melalui penyedia jasa layanan pengiriman barang.
c.
Agent adalah pihak penyedia jasa layanan pengiriman barang yang bertanggung jawab atas pengiriman barang setelah barang berangkat dari bandara atau pelabuhan untuk selanjutnya dikirimkan kepada consignee.
d.
Shipping / shipment adalah kegiatan pengiriman barang yang melibatkan shipper, penyedia jasa, consignee, dan armada pengangkutan mitra bisnis jasa pengiriman barang.
62 e.
Shipping Instruction (SI) adalah surat perintah pengiriman barang yang diberikan oleh shipper kepada pihak penyedia jasa pengiriman barang.
f.
Notify party adalah pihak yang bertanggung jawab atas penerimaan barang.
g.
Airway billadalah surat tanda bukti pengiriman barang dengan tanda nomor tertentu yang telah disetujui oleh pihak penyedia jasa pengiriman barang dan armada pengakngkutan udara mitra bisnisnya.
h.
Tracking adalah kegiatan menampilkan informasi barang shipper melalui suatu media tertentu. Tujuannya adalah memberikan status informasi pengiriman barang yang dibutuhkan oleh shipper mengenai barang kirimannya. Kegiatan tracking ini dilakukan oleh shippert, bukan oleh pihak penyedia jasa pengiriman barang. Pihak penyedia jasa hanya menyediakan status informasi pengiriman yang dibutuhkan oleh para shipper.
i.
Invoiceadalah surat tagihan jasa pengiriman barang yang dikeluarkan oleh pihak penyedia jasa pengiriman barang yang dikeluarkan oleh pihak penyedia jasa pengiriman barang kepada shipper.