library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00886-IF...  · Web...

62
BAB 2 LANDASAN TEORI 2.1 Teori-teori Dasar 2.1.1Sistem Menurut Whitten dan Bentley (2007, p6), sistem adalah sekelompok komponen yang saling terkait yang bekerja sama untuk mencapai hasil yang diinginkan. Sedangkan menurut Indrajani (2011, p48), definisi sistem adalah sekelompok komponen yang saling berhubungan dan bekerja sama untuk mencapai suatu tujuan bersama. Komponen- komponen tersebut bekerja sama dengan cara menerima input serta menghasilkan output dalam proses transformasi yang teratur. Berdasarkan dua pendapat tersebut, dapat disimpulkan bahwa definisi sistem adalah sekelompok komponen yang saling berhubungan dan berinteraksi untuk mencapai hasil yang diinginkan. 9

Transcript of library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00886-IF...  · Web...

BAB 2

LANDASAN TEORI

2.1 Teori-teori Dasar

2.1.1 Sistem

Menurut Whitten dan Bentley (2007, p6), sistem adalah

sekelompok komponen yang saling terkait yang bekerja sama untuk

mencapai hasil yang diinginkan. Sedangkan menurut Indrajani (2011,

p48), definisi sistem adalah sekelompok komponen yang saling

berhubungan dan bekerja sama untuk mencapai suatu tujuan bersama.

Komponen-komponen tersebut bekerja sama dengan cara menerima input

serta menghasilkan output dalam proses transformasi yang teratur.

Berdasarkan dua pendapat tersebut, dapat disimpulkan bahwa

definisi sistem adalah sekelompok komponen yang saling berhubungan

dan berinteraksi untuk mencapai hasil yang diinginkan.

2.1.2 Data

Menurut Indrajani (2011, p48), data merupakan fakta-fakta

mentah yang harus dikelola untuk menghasilkan suatu informasi yang

memiliki arti bagi suatu organisasi atau perusahaan. Data terdiri atas

fakta-fakta dan angka-angka yang secara relatif tidak berarti bagi

pemakai, atau fakta mentah yang belum diolah.

9

10

2.1.3 Basis Data

Menurut Connolly dan Begg (2010, p65), basis data adalah

sekumpulan data logikal yang saling terkait beserta deskripsinya, yang

dirancang untuk memenuhi kebutuhan informasi suatu perusahaan.

Sedangkan menurut Whitten dan Bentley (2007, p518), basis data

adalah sekumpulan file yang saling terkait yang memungkinkan tiap-tiap

file saling berhubungan. Berdasarkan dua data tersebut dapat disimpulkan

bahwa basis data merupakan kumpulan data yang saling berhubungan

satu sama lain yang dapat memberikan informasi yang diperlukan oleh

pengguna.

Basis data merupakan himpunan data yang besar dan tunggal,

yang dapat digunakan secara bersamaan oleh banyak departemen dan

pengguna. Semua data yang ada di dalam basis data terintegrasi dan

hanya memiliki sedikit duplikasi. Basis data tidak dimiliki oleh satu

departemen saja, tetapi merupakan sumber daya bersama suatu

perusahaan.

Gambar 2.1 Pengolahan basis data

11

Gambar 2.2

2.1.4 Database Management System (DBMS)

Menurut Connolly dan Begg (2010, p66), Database Management

System (DBMS) adalah sebuah perangkat lunak yang memungkinkan

pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol

akses terhadap basis data.

Secara umum, DBMS menyediakan beberapa fasilitas, seperti:

1. Memungkinkan pengguna untuk mendefinisikan basis data

menggunakan Data Definition Language (DDL). DDL

memungkinkan pengguna untuk menentukan tipe dan struktur

data, dan batasan-batasan untuk data yang akan disimpan ke dalam

basis data.

2. Memungkinkan pengguna untuk menyimpan, memperbaharui,

menghapus, dan mengambil data dari dalam basis data

menggunakan Data Manipulation Language (DML). DML

menyediakan fasilitas informasi umum, yang disebut query

language. Query language yang paling umum digunakan adalah

Structured Query Languange (SQL).

3. Menyediakan kontrol akses terhadap basis data, seperti:

Sistem keamanan yang mencegah pengguna yang tidak

mempunyai hak akses untuk mengakses data.

Sistem integrasi yang memelihara konsistensi penyimpanan

data.

12

Sistem kontrol konkurensi yang memungkinkan berbagi hak

akses basis data

Sistem kontrol recovery yang dapat mengembalikan basis data

data pada keadaan sebelumnya apabila terjadi kegagalan pada

perangkat keras ataupun perangkat lunak.

Katalog yang diakses pengguna yang berisi deskripsi data yang

ada di dalam basis data.

2.1.4.1 Fungsi DBMS

Menurut Connolly dan Begg (2010, p99), terdapat sepuluh

layanan yang harus disediakan oleh DBMS, yaitu:

1. Data storage, retrieval, and update

Sebuah DBMS harus menyediakan kemampuan untuk

menyimpan pengembalian, dan pembaharuan data dalam

basis data. Ini merupakan fungsi dasar dari DBMS.

2. User-accessible catalog

Sebuah DBMS harus menyediakan sebuah katalog dimana

deskripsi item data disimpan dan data mana yang dapat

diakses oleh pengguna.

3. Transaction support

Sebuah DBMS harus menyediakan mekanisme yang akan

menjamin semua kegiatan pembaharuan (update) sesuai

dengan transaksi atau tidak.

4. Concurrency control services

13

Sebuah DBMS harus menyediakan mekanisme untuk

memastikan bahwa basis data diperbaharui dengan benar

ketika banyak pengguna memperbaharui basis data secara

bersamaan.

5. Recovery services

Sebuah basis data harus menyediakan mekanisme untuk

memulihkan basis data apabila basis data rusak secara

tidak terduga.

6. Authorization services

Sebuah basis data harus menyediakan mekanisme untuk

memastikan bahwa hanya pengguna yang berwenang yang

dapat mengakses basis data.

7. Support for data communication

Sebuah basis data harus mampu berintegrasi dengan

perangkat lunak komunikasi.

8. Integrity services

Sebuah basis data harus menyediakan sebuah sarana untuk

memastikan bahwa data di dalam basis data dan perubahan

pada data, keduanya mengikuti aturan-aturan tertentu.

9. Services to promote data independence

Sebuah DBMS harus memiliki fasilitas untuk mendukung

independensi program dari struktur yang sebenarnya pada

basis data.

10. Utility services

14

Sebuah basis data harus menyediakan sekumpulan layanan

utilitas.

2.1.4.2 Komponen DBMS

Menurut Connolly dan Begg (2010, p68), terdapat lima

komponen utama dalam Database Management System (DBMS)

environment.

Gambar 2.1 DBMS Environment

Lima komponen utama dalam DBMS environment, yaitu:

1. Perangkat keras (Hardware)

DBMS dan aplikasi membutuhkan perangkat keras untuk

beroperasi. Perangkat keras dapat berkisar antara single

personal computer, single mainframe, hingga jaringan

komputer.

2. Perangkat lunak (Software)

Komponen perangkat lunak terdiri dari perangkat lunak

DBMS itu sendiri dan program aplikasi, aplikasi yang

tergabung dalam sistem operasi (operating system),

termasuk perangkat lunak jaringan apabila DBMS yang

15

digunakan berada dalam sebuah jaringan. Biasanya

aplikasi program ditulis menggunakan bahasa

pemrograman, seperti: C, C++, C#, Java, Visual Basic,

atau Pascal. Contoh perangkat lunak, yaitu: Mozilla

Firefox, Internet Explorer, Microsoft Word, MySQL dan

Microsoft SQL Server.

3. Data

Komponen dari lingkungan DBMS yang paling penting

adalah data. Data dapat berfungsi sebagai jembatan antara

komponen mesin dan komponen manusia.

4. Prosedur

Prosedur merupakan instruksi dan aturan yang mengatur

rancangan dan penggunaan basis data. Pengguna sistem

dan karyawan yang mengatur basis data membutuhkan

dokumentasi prosedur mengenai cara penggunaan sistem.

Berikut ini beberapa instruksi yang biasa

didokumentasikan, seperti: log on ke basis data,

menggunakan fasilitas DBMS atau aplikasi program

tertentu, memulai dan mengakhiri DBMS, membuat

salinan cadangan dari basis data, dan menangani kegagalan

perangkat lunak atau perangkat keras.

16

5. Pengguna

Komponen DBMS yang terakhir adalah semua orang yang

terlibat dengan sistem, seperti: Data Administrator (DA),

Database Administrator (DBA), Database Designer,

Application Developer, dan End-User.

2.1.4.3 Keuntungan dan Kerugian DBMS

Menurut Connolly dan Begg (2010, p77), DBMS memiliki

beberapa keuntungan dan kerugian. Berikut ini adalah

keuntungan-keuntungan dari DBMS, yaitu:

1. Mengontrol redudansi data

Pendekatan basis data tidak menghilangkan seluruh

redudansi, tetapi mengontrol jumlah redudansi yang

melekat di dalam basis data. Terkadang perlu untuk

menduplikasi item data kunci, dengan kata lain sangat

diharapkan untuk menduplikasi beberapa item data untuk

meningkatkan kinerja.

2. Memungkinkan konsistensi data

Jika sebuah item data hanya sekali disimpan ke dalam

basis data, semua pembaharuan nilai pada data hanya bisa

ditampilkan sekali dan nilai yang baru segera tersedia

untuk semua pengguna. Jika sebuah item data disimpan

lebih dari sekali dan sistem menyadarinya, sistem dapat

17

memastikan bahwa semua item akan terjaga tetap

konsisten.

3. Memungkinkan lebih banyak informasi yang didapat dari

sekumpulan data

Dengan adanya integrasi pada data operasional,

memungkinkan perusahaan untuk memperoleh informasi

tambahan dari data yang sama.

4. Memungkinkan pemakaian data bersama

Biasanya file dimiliki secara perseorangan atau dimiliki

oleh departemen tertentu yang menggunakan file tersebut.

5. Meningkatkan integritas data

Integritas basis data berasal dari validitas dan konsistensi

dari data yang disimpan. Integritas biasanya dinyatakan

dalam bentuk batasan-batasan, yang merupakan peraturan

yang konsisten bahwa basis data tidak diperbolehkan untuk

melanggar.

6. Meningkatkan keamanan

Keamanan basis data adalah proteksi basis data dari

pengguna yang tidak berwenang. Sistem keamanan dapat

berupa formulir untuk user names dan password untuk

mengidentifikasi orang yang berwenang untuk

menggunakan basis data.

18

7. Memungkinkan adanya standardisasi

Integrasi memungkinkan Database Administrator (DBA)

untuk menentukan dan Database Management System

(DBMS) untuk memperkuat standar yang dibutuhkan.

8. Meningkatkan skala ekonomi

Melakukan kombinasi antar semua data operasional di

dalam organisasi kedalam satu basis data dan membuat

seperangkat aplikasi yang bekerja pada satu sumber data

dapat menghemat biaya. Sehingga anggaran yang bisanya

dialokasikan untuk setiap departemen untuk

pengembangan dan perawatan sistem berbasis file dapat di

kombinasikan, untuk menghasilkan biaya yang lebih

rendah, yang menuju pada skala ekonomi.

9. Menyeimbangkan konflik kebutuhan

Setiap pengguna atau departemen mempunyai kebutuhan

akan basis data yang dapat menyebabkan konflik dengan

pengguna lain. Untuk mengatasi permasalahan ini

Database Administrator (DBA) dapat membuat keputusan

mengenai rancangan dan penggunaan operasional basis

data yang memungkinkan penggunaan sumber terbaik

untuk perusahaan secara keseluruhan.

10. Meningkatkan akesibilitas dan tingkat ketanggapan data

19

Dengan adanya integrasi, data yang melewati batas-batas

departemen dapat diakses secara langsung oleh end-user.

11. Meningkatkan produktivitas

Database Management System (DBMS) menyediakan

banyak fungsi standar yang biasa programmer tulis dalam

sebuah aplikasi berbasis file. Banyak DBMS juga

menyediakan lingkungan fourth-generation, yang

mengandung perangkat untuk mempermudah

pengembangan dari aplikasi basis data. Sebagai hasilnya

yaitu meningkatkan produktivitas programmer dan

mengurangi waktu pengembangan.

12. Meningkatkan pemeliharaan melalui independensi data

Database Management System (DBMS) memisahkan

deskripsi data dari aplikasi, dengan demikian membuat

aplikasi kebal terhadap perubahan dalam deskripsi data, hal

ini disebut juga dengan independensi data. Sebagai

keuntungan dari independensi data yaitu menyederhanakan

pemeliharaan aplikasi.

13. Meningkatkan konkurensi

Dalam beberapa sistem berbasis file, jika dua atau lebih

pengguna diizinkan untuk mengakses file yang sama secara

bersamaan, dapat membuat akses saling terganggu satu

sama lain, hal ini mengakibatkan kehilangan informasi

bahkan kehilangan integritas. Banyak Database

20

Management System (DBMS) mengelola akses basis data

yang bersamaan dan memastikan masalah tersebut tidak

terjadi.

14. Meningkatkan layanan backup dan recovery

Banyak sistem berbasis file menempatkan tanggung jawab

pada pengguna untuk menyediakan pengukuran untuk

menjaga data dari kegagalan pada sistem komputer atau

aplikasi program. Sebaliknya, Database Management

System (DBMS) yang modern menyediakan fasilitas untuk

mengurangi jumlah proses yang hilang dikarenakan

kegagalan.

Sedangkan, berikut ini beberapa kerugian dari DBMS,

seperti:

1. Kompleksitas

Penyediaan fungsionalitas yang diharapkan dari Database

Management System (DBMS) yang bagus membuat DBMS

menjadi sebuah aplikasi yang sangat kompleks. Kegagalan

dalam memahami sistem dapat menuntun pada

perancangan keputusan yang buruk, sehingga dapat

mengakibatkan konsekuensi yang serius pada perusahaan.

2. Ukuran

Komplesitas dan fungsionalitas yang luas menjadikan

Database Management System (DBMS) sebuah aplikasi

yang sangat besar, menggunakan banyak megabytes pada

21

disk space dan membutuhkan memori yang besar untuk

bekerja secara effisien.

3. Biaya untuk DBMS

Biaya untuk Database Management System (DBMS)

bervariasi secara signifikan, tergantung dari lingkungan

dan fungsionalitas yang disediakan.

4. Biaya tambahan untuk perangkat keras

Kebutuhan akan tempat penyimpanan untuk Database

Management System (DBMS) dan basis data mungkin

memerlukan pembelian tempat penyimpanan tambahan.

Selain itu, untuk mencapai kinerja yang dibutuhkan,

mungkin memerlukan pemeblian mesin yang lebih besar,

bahkan mungkin sebuah mesin yang dikhususkan untuk

menjalankan DBMS. Pembelian perangkat keras tambahan

mengakibatkan pengeluaran tambahan.

5. Biaya untuk melakukan konversi

Biaya untuk mengkonversi aplikasi yang telah ada untuk

dijalankan pada Database Management System (DBMS)

dan perangkat lunak yang baru merupakan alasan utama

mengapa perusahaan merasa terikat pada sistem yang

sudah ada dan tidak dapat berubah ke teknologi basis data

modern.

22

6. Kinerja yang kurang baik pada beberapa aplikasi

Database Management System (DBMS) ditulis untuk

aplikasi yang umum untuk melayani banyak aplikasi bukan

hanya untuk satu aplikasi. Sebagai akibatnya, beberapa

aplikasi tidak dapat berjalan secepat biasanya.

7. Dampak yang lebih besar apabila terjadi kegagalan

Pemusatan sumber data meningkatkan kerentantan sistem.

Karena semua pengguna dan aplikasi bergantung pada

ketersediaan Database Management System (DBMS),

kegagalan pada komponen tertentu dapat mengakibatkan

operasi berhenti.

2.1.5 Aplikasi program

Menurut Connolly dan Begg (2010, p67), pengertian dari aplikasi

program adalah sebuah program komputer yang berinteraksi dengan basis

data dengan mengeluarkan sebuah permintaan yang tepat.

2.1.6 Database Language

Menurut Connolly dan Begg (2010, p91), data sublanguages

adalah bahasa yang tidak mengandung konstruksi untuk untuk semua

kebutuhan komputer, seperti pernyataan yang bersyarat atau berulang-

ulang, yang disediakan oleh bahasa pemrograman tingkat tinggi. Sebuah

bahasa pemrograman mengandung dua bagian: Data Definition Language

23

(DDL) dan Data Manipulation Language (DML). DDL digunakan untuk

menentukan skema basis data dan DML digunakan untuk membaca dan

memperbaharui basis data.

2.1.6.1 Data Definition Language (DDL)

Menurut Connolly dan Begg (2010, p92), pengertian

Data Definition Language (DDL) adalah bahasa yang

memungkinkan Database Administrator (DA) atau pengguna

untuk mendeskripsikan dan member nama suatu entitas, atribut,

dan relasi yang dibutuhkan oleh aplikasi, beserta setiap integritas

terkait dan batasan keamanan data.

Kompilasi pernyataan DDL akan menghasilkan

seperangkat tabel yang disimpan dalam file khusus secara

kolektif yang dinamakan system catalog. System catalog

mengintegrasikan metadata. Metadata merupakan data yang

menjelaskan objek di dalam basis data dan mempermudah untuk

mengakses dan memanipulasi objek.

Contoh Data Definition Language (DDL):

CREATE TABLE Table_Name (Attribute_Name1

Data_Type1, Attribute_Name2 Data_Type2)

2.1.6.2 Data Manipulation Language (DML)

Menurut Connolly dan Begg (2010, p92), pengertian

Data Manipulation Language (DML) adalah bahasa yang

24

menyediakan seperangkat operasi pada data yang dimiliki oleh

basis data.

Operasi manipulasi data biasanya meliputi:

1. Penambahan (insertion) data baru ke dalam basis data.

2. Modifikasi (modifikasi) data yang tersimpan di dalam

basis data

3. Pengambilan (retrieval) data yang terdapat di dalam basis

data.

4. Penghapusan (deletion) data dari basis data.

Contoh Data Manipulation Language (DML):

INSERT INTO Table_Name VALUES (Field_Value1,

Field_Value2)

2.1.7 Database System Development Lifecycle

Menurut Connolly dan Begg (2010, p313), sistem basis data

merupakan komponen dasar dari sistem informasi organisasi yang lebih

besar, database system development lifecycle secara temurun berasosiasi

dengan siklus hidup dari sistem informasi. Tahapan dalam database

system development lifecycle tidak benar-benar berurutan, tapi melibatkan

beberapa perulangan pada tahapan sebelumnya melalui feedback loops.

25

Gambar 2.1 Database System Development Lifecycle

26

Gambar 2.2

2.1.7.2 Database Planning

Menurut Connolly dan Begg (2010, p313), database

planning merupakan kegiatan manajemen yang memungkinkan

tahapan dalam database system development lifecycle dapat

direalisasikan seefisien dan seefektif mungkin.

Langkah-langkah penting dalam database planning,

yaitu:

1. Menetapkan mission statement

Mission statement adalah mendefinisikan tujuan utama

dari sistem basis data. Mission statement membantu

menjelaskan tujuan dari sistem basis data dan

menyediakan alur yang lebih jelas untuk mencapai hasil

yang efektif dan efisien dari pembuatan sistem basis data

yang dibutuhkan.

2. Menetapkan mission objectives

Setelah mendefinisikan mission statement, maka langkah

selanjutnya adalah mendefinisikan mission objectives.

Setiap mission objectives harus mengidentifikasi tugas

khusus yang harus didukung oleh basis data. Dengan

asumsi, apabila basis data mendukung mission objectives,

maka mission statement dapat dipenuhi.

27

2.1.7.3 System Definition

Menurut Connolly dan Begg (2010, p316), system

definition adalah mendeskripsikan ruang lingkup dan batasan

dari sistem basis data dan sudut pandang utama bagi pengguna.

Sebelum memulai merancang basis data, penting untuk

menentukan batasan-batasan sistem yang sedang kita selidiki dan

bagaimana sistem tersebut berinteraksi dengan sistem informasi

lain pada perusahaan tersebut. Pada tahap ini, penting untuk

mengikutsertakan kedalam batasan-batasan sistem tidak hanya

untuk aplikasi dan pengguna sekarang., tetapi juga pengguna dan

aplikasi yang akan datang.

2.1.7.4 Requirements Collection and Analysis

Menurut Connolly dan Begg (2010, p316), requirement

collection and analysis adalah proses mengumpulkan dan

menganalisa informasi mengenai bagian-bagian dari perusahaan

yang akan didukung oleh sistem basis data, dan menggunakan

informasi tersebut untuk mengidentifikasi kebutuhan-kebutuhan

untuk sistem yang baru. Terdapat banyak teknik untuk

memperoleh informasi yang disebut dengan fact-finding

techniques, yaitu:

1. Memeriksa dokumen terkait.

2. Wawancara.

28

3. Mengamati proses yang sedang berjalan pada perusahaan

(observasi).

4. Penelitian.

5. Kuisioner

Informasi yang perlu dikumpulkan pada tahap ini

mencakup:

1. Deskripsi dari data yang digunakan atau dihasilkan.

2. Keterangan mengenai bagaimana data digunakan atau

dihasilkan.

3. Kebutuhan tambahan lainnya untuk sistem basis data

yang baru.

2.1.7.5 Database Design

Menurut Connolly dan Begg (2010, p320), database

design merupakan proses pembuatan rancangan basis data yang

akan mendukung mission statement dan mission objectives untuk

sistem basis data yang diperlukan oleh perusahaan.

Terdapat dua pendekatan utama dalam database design,

yaitu:

1. Pendekatan bottom-up

Pendekatan bottom-up dimulai dari level mendasar pada

atribut-atribut (property dari entity dan relationship),

kemudian dilakukan analisa pada hubungan antar atribut,

setelah itu melakukan pengelompokan kedalam relasi

29

yang menunjukkan tipe entity dan relationship antar

entity. Pendekatan ini lebih cocok untuk perancangan

basis data yang sederhana dengan jumlah atribut yang

relatif kecil.

2. Pendekatan top-down

Pendekatan ini dimulai dengan pengembangan model

data yang mengandung entity dan relationship tingkat

tinggi, kemudian menerapkan perbaikan top-down yang

berturut-turut untuk mengidentifikasi entity, relationship,

dan atribut yang berhubungan dalam tingkat yang lebih

rendah. Pendekatan ini diilustrasikan melalui konsep

Entity Relationshop (ER) model.

Database design dibagi ke dalam tiga tahapan utama,

yaitu:

1. Conceptual Database Design

Conceptual database design merupakan proses

membangun model dari data yang digunakan pada sebuah

perusahaan. Tahap ini tidak terkait dengan semua

pertimbangan physical, seperti target perangkat lunak

DBMS, program aplikasi, bahasa pemrograman, sarana

perangkat keras, atau pertimbangan physical lainnya.

2. Logical Database Design

Logical databse design merupakan proses membangun

model data yang digunakan perusahaan berdasarkan pada

30

model data spesifik. Pada tahap ini, model data yang

dibuat pada conceptual database design diperkaya dan

dipetakan ke dalam model data logical. Sama seperti

conceptual database design, tahap ini tidak terkait

dengan semua pertimbangan physical, seperti target

perangkat lunak DBMS, program aplikasi, bahasa

pemrograman, sarana perangkat keras, ataupun

pertimbangan physical lainnya.

3. Physical Database Design

Physical database design adalah tahapan ketiga dan

terakhir dalam perancangan basis data. Tahap ini

merupakan proses untuk menghasilkan deskripsi pada

implementasi basis data dalam penyimpanan cadangan.

Pada tahap ini, dideskripsikan hubungan dasar, organisasi

file, dan index yang digunakan untuk mendapatkan akses

yang efisien pada data, serta batasan-batasan integritas

dan tindakan pengamanan terkait lainnya.

2.1.7.6 DBMS Selection

Menurut Connolly dan Begg (2010, p325), DBMS

selection merupakan proses memilih Database Management

System (DBMS) yang sesuai untuk mendukung sistem basis data.

Pendekatan sederhana dalam pemilihan DBMS adalah dengan

memeriksa apakah fitur yang terdapat pada DBMS mampu

31

memenuhi permintaan kebutuhan. Dalam pemilihan produk

DBMS yang baru terdapat kesempatan untuk memastikan bahwa

proses pemilihan berjalan sesuai rencana, dan sistem

memberikan keuntungan nyata pada perusahaan.

Terdapat beberapa tahap utama dalam melakukan

pemilihan sebuah DBMS, yaitu:

1. Menentukan kerangka referensi studi.

2. Membuat daftar pendek dari dua atau tiga produk.

3. Mengevaluasi produk.

4. Merekomendasikan pilihan dan membuat laporan.

Pemilihan DBMS yang baik bertujuan untuk memenuhi

sistem yang sesuai dengan kebutuhan sekarang dan yang akan

datang pada perusahaan, menyeimbangkan pengeluaran yang

terjadi karena pembelian produk DBMS, mengantisipasi biaya

tambahan perangkat keras dan perangkat lunak yang dibutuhkan

untuk mendukung basis data, dan biaya pergantian serta

pelatihan staff.

2.1.7.7 Application Design

Menurut Connolly dan Begg (2010, p329), application

design merupakan tahapan perancangan pada user interface dan

aplikasi program yang menggunakan dan memproses basis data.

Dalam banyak kasus, tidak mungkin menyelesaikan rancangan

aplikasi sampai rancangan basis data itu sendiri telah selesai. Di

32

lain pihak, basis data ada untuk mendukung aplikasi.

Berdasarkan hal tersebut, terdapat arus informasi antara

rancangan aplikasi dan rancangan basis data.

Harus dipastikan bahwa semua fungsionalitas yang

diutarakan pada spesifikasi kebutuhan pengguna terdapat dalam

rancangan aplikasi untuk sistem basis data. Hal ini termasuk

merancang program aplikasi yang mengakses basis data dan

merancang transaksi. Sebagai tambahan dalam merancang agar

fungsionalitas yang dibutuhkan tercapai, rancangan user

interface harus sesuai dengan sistem basis data yang ada. User

interface ini menyediakan informasi yang dibutuhkan dengan

cara yang user-friendly.

User interface merupakan salah satu komponen penting

dalam sebuah sistem. Apabila user interface mudah dipelajari,

mudah digunakan, lugas dan mudah melakukan pengembalian,

pengguna akan cenderung menggunakan dengan baik informasi

yang disajikan.

Terdapat dua aspek dalam membuat perancangan

aplikasi, yaitu:

1. Transaction design

Melakukan perancangan langkah atau serangkaian

langkah yang dilakukan oelh pengguna atau program

aplikasi yang mengakses atau mengubah isi dari basis

data. Tujuan dari transaction design adalah untuk

33

menentukan dan mendokumentasikan karakteristik

tingkat tinggi pada transaksi yang dibutuhkan pada basis

data.

2. User interface design

Sebelum melakukan implementasi sebuah formulir atau

laporan, penting untuk merancang layout yang baik. User

interface yang baik harus memiliki judul yang berarti,

instruksi yang mudah dipahami, pengelompokan logical

dan pengelompokan field, layout formulir atau laporan

yang menarik secara visual, field label yang lazim, istilah

dan singkatan yang konsisten, penggunaan warna yang

konsisten, ruang yang mudah terlihat dan batasan-batasan

untuk field entri data, pergerakan kursor yang nyaman,

koreksi kesalahan untuk karakter individual dan seluruh

field, pesan kesalahan untuk nilai yang tidak bisa

diterima, field tambahan ditandai dengan jelas, pesan

penjelasan untuk field, dan sinyal penyelesaian.

2.1.7.8 Prototyping

Menurut Connolly dan Begg (2010, p333), prototyping

merupakan sebuah model kerja yang memiliki fitur yang

dibutuhkan atau menyediakan semua fungsionalitas dari sistem

akhir, akan tetapi fitur atau fungsionalitas tersebut belum bekerja

secara sempurna. Tujuan utama dari pembuatan prototype sistem

34

basis data adalah memungkinkan pengguna untuk menggunakan

prototype untuk mengidentifikasi fitur-fitur pada sistem yang

bekerja dengan baik atau tidak memadai, dan untuk

menyarankan peningkatan atau bahkan fitur baru pada basis data.

Terdapat dua strategi prototyping yang sering digunakan,

yaitu:

1. Requirements prototyping

Prototyping ini menggunakan prototype untuk

menentukan kebutuhan dari sistem basis data yang

disusulkan, dan ketika kebutuhan sudah terlengkapi,

prototype tersebut dibuang.

2. Evolutionary prototyping

Prototyping ini digunakan untuk tujuan yang sama.

Perbedaan penting pada prototyping ini adalah prototype

tidak dibuang, tapi dengan pengembangan lebih lanjut

menjadi sistem basis data yang dapat bekerja.

2.1.7.9 Implementation

Menurut Connolly dan Begg (2010, p333),

implementation merupakan realisasi fisik dari basis data dan

perancangan aplikasi. Implementasi basis data didapat

menggunakan Data Definition Language (DDL) dari Database

Management System (DBMS) yang dipilih atau Graphical User

Interface (GUI), yang menyediakan fungsinalitas yang sama

35

ketika menyembunyikan statement DDL tingkat rendah.

Statement DDL digunakan untuk membuat struktur basis data

dan file basis data yang kosong. Pada tahap ini juga

diimplementasikan beberapa user view tertentu.

2.1.7.10 Data Conversion and Loading

Menurut Connolly dan Begg (2010, p334), data

conversion and loading merupakan tahapan pemindahan semua

data yang ada ke dalam basis data baru dan mengkonversi semua

aplikasi yang ada agar berjalan pada basis data yang baru. Tahap

ini dibutuhkan hanya ketika sebuah sistem basis data yang baru

menggantikan sistem yang lama. Setiap kali data conversion and

loading dibutuhkan, proses tersebut harus direncanakan dengan

benar untuk menjamin peralihan yang mulus untuk operasi yang

lengkap.

2.1.7.11 Testing

Menurut Connolly dan Begg (2010, p334), testing

merupakan proses menjalankan basis data dengan maksud

menemukan kesalahan (error).Tahap testing ini harus dilakukan

dengan strategi testing yang direncanakan dengan baik dan

menggunakan data yang realistis, sehingga seluruh proses testing

dapat dilakukan secara sistematis dan ketat.

36

Dengan dilakukannya testing akan didapat dua

keuntungan, yaitu:

1. Jika testing sukses dilakukan, maka hal tersebut dapat

mengungkap error dengan program aplikasi dan bila

mungkin struktur basis data.

2. Testing mendemonstrasikan bahwa basis data dan

program aplikasi tampak berkerja berdasarkan

spesifikasinya dan kebutuhan performa tampak

memuaskan.

2.1.7.12 Operational Maintenance

Menurut Connolly dan Begg (2010, p335), operational

maintenance merupakan proses untuk memantau dan

memelihara sistem basis data yang terinstalasi. Tahapan ini

melibatkan dua aktivitas berupa:

1. Melakukan pemantauan pada performa sistem. Jika

performa turun hingga di bawah tingkatan yang bisa

diterima, maka diperlukan penyetelan atau reorganisasi

pada basis data.

2. Melakukan pemeliharaan dan meningkatkan mutu sistem

basis data (apabila diperlukan). Kebutuhan baru

tergabung dalam sistem basis data melalui tahapan

terdahulu pada lifecycle.

37

2.1.8 Data Flow Diagram (DFD)

Menurut Indrajani (2011, p11), Data Flow Diagram (DFD) atau

diagram aliran data adalah sebuah alat yang menggambarkan aliran data

sampai sebuah sistem selesai, dan kerja atau proses dilakukan dalam

sistem tersebut.

2.1.8.1 Komponen Utama DFD

Dalam Data Flow Diagram (DFD) terdapat empat

komponen utama, yaitu:

1. External Agents

External agent mendefinisikan orang atau sebuah unit

organisasi, sistem lain, atau organisasi yang berada di

luar sistem proyek tapi dapat mempengaruhi kerja sistem.

2. Process

Process adalah penyelenggaraan kerja atau jawaban,

datangnya aliran data atau kondisinya.

3. Data Stores

Data stores adalah penyimpanan data.

4. Data Flow

Data flow merepresentasikan sebuah input data ke dalam

sebuah proses atau output data (atau informasi) pada

sebuah proses.

38

Berikut ini merupakan tabel komponen Data Flow

Diagram (DFD) menurut De Marco dan Yourdan:

Tabel 2.1 Komponen Data Flow Diagram (DFD)

Gambar Komponen Keterangan

External Agents

Proses

Data Stores

Data Flow

2.1.8.2 Jenis-jenis DFD

Jenis-jenis Data Flow Diagram (DFD) adalah sebagai

berikut:

1. Level 0 (Diagram Konteks)

Level ini merupakan sebuah proses yang berada di posisi

pusat.

2. Level 1 (Diagram Nol)

Level ini merupakan sebuah proses yang terdapat pada

level 0 yang dipecah menjadi beberapa proses lainnya.

39

Sebaiknya terdapat maksimum 7 proses untuk sebuah

diagram konteks.

3. Level 2 (Diagram Rinci)

Level ini merupakan diargram yang merincikan diagram

level 1. Tanda * digunakan hanya jika proses tersebut

tidak dapat dirincikan lagi. 2.0* artinya proses level

rendah yang tidk dapat dirincikan lagi. Penomoran yang

dilakukan berdasarkan urutan proses.

2.1.9 State Transition Diagram (STD)

Menurut Indrajani (2011, p17), State Transition Diagram (STD)

adalah suatu kondisi yang menunjukkan keadaan tertentu, dimana suatu

sistem dapat ada dan transisi menghasilkan keadaan tertentu yang baru.

Hal-hal yang terdapat dalam STD, antara lain:

1. System State

2. Change of State

3. Conditions and Actions

2.1.10 Entity Relationship Diagram (ERD)

Menurut Indrajani (2010, p18), Entitiy Relationship Diagram

(ERD) merupakan sebuah pendekatan dalam perancangan basis data yang

dimulai dengan mengidentifikasikan data-data terpenting yang disebut

dengan entitas dan hubungan antara entitas-entitas tersebut yang

digambarkan dalam suatu model.

40

2.1.11 Normalisasi

Menurut Connolly dan Begg (2010, p415), normalisasi adalah

sebuah teknik perancangan basis data yang dimulai dengan memeriksa

hubungan (relationship) antar atribut. Normalisasi menggunakan

serangkaian tes untuk membantu menentukan pengelompokan yang

optimal untuk atribut-atribut tersebut untuk pada akhirnya menentukan

serangkaian hubungan yang sesuai yang mendukung kebutuhan data pada

perusahaan.

Berikut ini tujuan dari pembuatan normalisasi, yaitu:

1. Membuat seminimal mungkin terjadinya data rangkap.

2. Menghindarkan adanya data yang tidak konsisten terutama bila

terjadi penambahan dan penghapusan data sebagai akibat adanya

data rangkap.

3. Menjamin bahwa identitas tabel secara tunggal sebagai

determinasi semua atribut.

2.1.11.1 Proses Normalisasi

Terdapat tiga normal forms yang umunya digunakan, yaitu

First Normal Form (1NF), Second Normal Form (2NF), dan

Third Normal Form (3NF).

41

Gambar 2.1 Proses Normalisasi

1. Unnormalized Form (UNF)

Menurut Connolly dan Begg (2010, p430), Unnormalized

Form (UNF) adalah sebuah tabel yang mengandung satu

atau lebih kelompok perulangan. Tabel UNF ini dibuat

dengan mentransformasi data dari sumber informasi ke

dalam tabel berbentuk baris dan kolom.

2. First Normal Form (1NF)

Menurut Connolly dan Begg (2010, p430), yang dimaksud

dengan First Normal Form (1NF) adalah suatu relasi

42

dimana setiap sel (perpotongan pada baris dan kolom)

memiliki satu atau hanya satu nilai.

3. Second Normal Form (2NF)

Menurut Connolly dan Begg (2010, p434), Second Normal

Form (2NF) merupakan sebuah hubungan yang telah

melewati tahapan First Normal Form (1NF) dan setiap

atribut non-primary key secara fungsional bergantung

sepenuhnya pada primary key.

4. Third Normal Form (3NF)

Menurut Connolly dan Begg (2010, p436), Third Normal

Form (3NF) adalah sebuah hubungan yang telah melewati

tahapan First Normal Form (1NF) dan Second Normal

Form (2NF), serta tidak ada atribut non-primary key yang

bergantung secara transitif pada primary key.

2.2 Teori-teori Khusus

2.1.12 Sistem Manajemen Terintegrasi

Menurut Arifin, Aiyub, Awang, Jahi dan Iteng (2009, p189),

metode integrasi adalah salah satu saluran untuk menggabungkan tiga

sistem manajemen menjadi satu. Dengan metode ini, organisasi akan

menggabungkan semua bagian dan sub-bagian yang setiap sistem

manajemen dan menciptakan suatu sistem manajemen terpadu yang baru.

Dengan adanya integrasi pada beberapa sistem, memungkinkan

perusahaan menentukan standar dalam setiap kegiatan yang mendukung

43

proses bisnis sehingga dapat mengurangi beban kerja, menghemat waktu

dan mengurangi dokumentasi.

2.1.13 Penjualan

Kegiatan penjualan terdiri dari atas penjualan barang dan jasa,

baik secara kredit maupun secara tunai. Dalam Transaksi penjualan

kredit, jika pesanan dari pelanggan telah dipenuhi dengan pengiriman

barang atau penyerahan jasa, untuk jangka waktu tertentu perusahaan

memiliki piutang kepada pelanggannya. Dalam sistem penjualan secara

tunai, barang atau jasa baru diserahkan oleh perusahaan kepada pembeli

jika perusahaan telah menerima kas dari pembeli (Indrajani, 2011, p68).

2.1.14 After Sales

After sales merupakan suatu usaha yang dilakukan perusahaan

untuk mempertahankan loyalitas pelanggan dengan cara memberikan

kepuasan kepada pelanggan. Layanan after sales pada perusahaan dapat

dilakukan dengan penyediaan suku cadang dan pelayanan perbaikan.

Dalam pelaksanaan layanan after sales, pelayanan perbaikan

diperlukan apabila terjadi kerusakan atas produk selama masa perbaikan.

Pelayanan perbaikan biasanya berkaitan erat dengan penyediaan suku

cadang. Maka dari itu, penyediaan suku cadang menjadi hal yang sangat

penting, sebab tanpa adanya suku cadang produk yang rusak

komponennya tidak dapat berfungsi dengan baik, bahkan tidak dapat

dipakai lagi.

44

2.1.15 Pembelian

Menurut Indrajani (2011, p71), pembelian adalah suatu usaha

yang digunakan dalam perusahaan untuk pengadaan barang yang

diperlukan oleh perusahaan. Fungsi pembelian bertanggung jawab untuk

memperoleh informasi mengenai harga barang, menentukan pemasok

yang dipilih dalam pengadaan barang, dan mengeluarkan pesanan

pembelian kepada pemasok yang dipilih.

2.1.16 Logistik

Logistik menangani pengiriman barang dari perusahaan kepada

pelanggan dan persediaan barang yang ada pada perusahaan. Pertama,

barang yang sudah dipesan oleh perusahaan berdasarkan pesanan

pelanggan akan dikirimkan oleh pemasok ke perusahaan akan diterima

oleh perusahaan pada departemen logistic. Setelah barang yang dipesan

oleh pelanggan tersedia, maka barang tersebut akan segera dikirim oleh

pihak logistik.

2.1.17 Keuangan

Kegiatan keuangan meliputi pembayaran barang dari pelanggan

kepada perusahaan. Setelah pelanggan melakukan pembelian dari

perusahaan, maka pelanggan wajib membayar barang baik secara tunai

maupun secara kredit.

45

Pembayaran dapat dibedakan menjadi dua cara, yaitu:

1. Pembayaran tunai, yaitu pembayaran yang dilaksanakan oleh

perusahaan dengan cara mewajibkan pembeli melakukan

pembayaran harga barang terlebih dahulu sebelum barang

diserahkan kepada pembeli.

2. Pembayaran kredit, yaitu pembayaran yang dilaksanakan oleh

perusahaan dengan cara memenuhi pelanggan dengan

mengirimkan barang, dan untuk jangka waktu tertentu perusahaan

memiliki piutang kepada pelanggannya.

2.1.18 PHP

Menurut Welling dan Thomson (2009, p2), PHP merupakan

server-side scripting yang dirancang khusus untuk web. Sedangkan

menurut Atkinson (2004, p8), PHP adalah sebuah bahasa pemrograman

yang memungkinkan developer untuk melekatkan kode terstruktur ke

dalam tag HTML. Berdasarkan dua pendapat tersebut dapat disimpulkan

bahwa PHP merupakan server-side scripting yang memungkinkan

developer untuk melekatkan kode terstruktur ke dalam tag HTML pada

sebuah web.

PHP script dapat mengurai data yang diberikan oleh formulir

HTML, berkomunikasi dengan basis data, dan membuat mempermudah

perhitungan yang rumit. PHP sangat cepat karena source code yang

tersedia gratis dikompilasikan ke dalam Apache Web server. PHP script

46

dieksekusi sebagai bagian dari proses Web server dan tidak membutuhkan

percabangan.

2.1.19 Structured Query Language (SQL)

Menurut Conolly dan Begg (2010, p183), Structured Query

Language (SQL) merupakan bahasa tertentu yang muncul dari

pengembangan relational model. Beberapa tahun terakhir, SQL telah

menjadi standar bahasa basis data relasional. Lebih dari seribu Database

Management System (DBMS) mendukung SQL, berjalan pada berbagai

perangkat keras mulai dari Personal Computer (PC) hingga mainframe.

2.1.20 MySQL

Menurut Welling dan Thomson (2009, p3), MySQL adalah

Relational Database Management System (RDBMS) yang sangat cepat

dan kuat dalam melakukan aktifitas basis data diantaranya

memungkinkan menyimpan, mencari, mengurutkan, dan menerima data

secara efisien. MySQL server mengontrol akses ke dalam data untuk

menjamin bahwa banyak pengguna dapat bekerja menggunakan MySQL

secara bersama-sama, menyediakan akses yang cepat ke dalamnya, dan

menjamin bahwa hanya pengguna yang berwenang yang dapat

memperoleh akses. Oleh karena itu, MySQL adalah multi-user, multi-

threaded server. MySQL menggunakan Structured Query Languange

(SQL), yang merupakan bahasa database query resmi yang mendunia.

47

2.1.21 Framework

Menurut Pratama (2010, p10), framework secara umum berarti

rangka, kerangka. Sedangkan istilah tersebut dalam dunia pemrograman

merupakan kumpulan kelas (class) dan fungsi (function) yang disusun

secara sistematis berdasarkan kegunaan atau fungsionalitas tertentu untuk

mempermudah pembuatan atau pengembangan suatu aplikasi. Manfaat

yang didapat dari penggunaan framework salah satunya adalah

menawarkan penghematan waktu kerja dalam penulisan kode dan

pengaturan berkas-berkas kode. Berkas kode dapat disusun secara

sistematis sesuai dengan struktur yang ditawarkan framework.

2.1.22 CodeIgnitier

Menurut Pratama (2010, p12), CodeIgniter merupakan sebuah

aplikasi open source yang berupa framework dengan model MVC

(Model, View, Controller) untuk membangun website yang dinamis

dengan menggunakan bahasa pemrogramman PHP. CodeIgniter

memudahkan developer untuk membangun atau membuat aplikasi web

dengan cepat dan mudah dibandingkan dengan membuatnya dari awal.

Gambaran penerapan arsitektur MVC dalam CodeIgniter adalah

sebagai berikut:

1. Model bertanggung jawab untuk melakukan pengelolaan data

dalam basis data. Didalamnya biasa dituliskan perintah untuk

menggambil, mengubah, menghapus, dan menambahkan data.

48

2. View merupakan “tempat” untuk meletakkan apa yang akan di

tampilkan di halaman browser. Sebuah berkas view umumnya

berisi kode bahasa pemrograman klien (client-side scripting).

3. Controller merupakan pengatur utama hubungan antar model,

view, dan juga sumber daya lain yang tersedia. Sumber daya ini

diperoleh dari kelompok atau tipe kelas yang disebut juga dengan

elemen framework CodeIgnitier.