BAB 2 LANDASAN TEORI 2.1
Teori Umum Teori umum merupakan analisis hubungan antara fakta yang satu dengan fakta yang lain pada sekumpulan fakta-fakta yang bersifat universal atau menyeluruh. Teori umum digunakan sebagai model kerangka berpikir untuk menyingkapi permasalahan yang ada. Dalam penyusunan karyah ilmiah ini, ada beberapa teori dasar yang digunakan. Teori-teori ini menjadi fondasi dalam membangun konsep yang akan dipakai untuk menyusun aplikasi. 2.1.1
Pengertian Data Menurut Whitten (2007, p21), data adalah fakta mentah mengenai tempat, orang, kejadian, dan hal-hal yang penting dalam organisasi. Sedangkan menurut Date (2004, p13), data adalah fakta yang didapat, di mana kenyataan tambahan dapat ditarik menjadi simpulan. Dari definisi data menurut Whitten dan Date, dapat disimpulkan bahwa data adalah sekumpulan baris fakta yang mewakili peristiwa yang terjadi pada organisasi atau pada lingkungan fisik sebelum diolah ke dalam format yang dapat dimengerti dan digunakan manusia.
2.1.2
Pengertian Basis Data Menurut Connolly dan Begg (2010, p65), basis data adalah suatu koleksi data yang saling berhubungan secara logical dan sebuah
7
8
deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Sedangkan menurut Laudon dan Louden (2005, p223), basis data dapat didefinisikan sebagai sekumpulan data organisasi untuk melayani banyak aplikasi secara efisien dengan memusatkan data dan mengendalikan redundansi data. 2.1.2.1 Kelebihan dan Kekurangan Menggunakan Basis Data Keuntungan yang dapat diperoleh dengan menggunakan basis data adalah basis data dapat mengontrol redundansi data, dapat meningkatkan concurrency, dapat meningkatkan keamanan data, dapat menjaga konsistensi data, dapat menjaga independensi data, dapat menyediakan manipulasi data yang baik, dapat meningkatkan
layanan
backup
dan
recovery
dan
dapat
meningkatkan produktivitas. Sedangkan kekurangan yang dapat diperoleh dengan menggunakan basis data adalah data menjadi lebih kompleks, ukuran yang harus disediakan untuk membuat suatu basis data lebih besar daripada sekedar menyimpan record peningkatan biaya
dikarenakan
penambahan
perangkat
keras
maupun
perangkat lunak. 2.1.3
Pengertian Sistem Basis Data Menurut Connoly dan Begg (2010, p65), sistem basis data pada dasarnya adalah sekumpulan aplikasi yang berinteraksi dengan basis data,
9
yaitu
DBMS
dan
basis
data
itu
sendiri.
Keseluruhan
sistem
terkomputerisasi tersebut membolehkan pengguna menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan. Sistem basis data merupakan sistem komputerisasi yang bertujuan untuk menyimpan informasi dan memungkinkan pemakai untuk mengambil kembali dan memperbaharui informasi tersebut sesuai dengan keinginan dan permintaan. 2.1.4
Database Management System (DBMS) DBMS (Database Management System) menurut Connoly dan Begg (2010, p66) adalah suatu sistem perangkat lunak yang memungkinkan user untuk mendefinisikan, membuat, dan memelihara basis data dan menyediakan akses kontrol terhadap basis data. Secara khusus DBMS menyediakan fasilitas berikut ini : •
DDL (Data Definition Language), memberikan fasilitas kepada user untuk menspesifikasikan tipe data dan strukturnya serta batasan aturan mengenai data yang bisa disimpan ke dalam basis data tersebut.
•
DML fasilitas
(Data
Manipulation
kepada
user
untuk
Language),
memberikan
menambah,
mengedit,
menghapus, serta memperoleh kembali data dari basis data. •
Pengendalian akses ke dalam basis data, meliputi :
10
i.
Keamanan sistem : mencegah user yang tidak memiliki hak akses untuk memasuki basis data.
ii.
Integritas sistem : menjaga konsistensi data dalam basis data.
iii.
Pengendalian sistem recovery : mengembalikan data ke dalam kondisi semula apabila terjadi kegagalan
dalam
perangkat
keras
ataupun
perangkat lunak. iv.
Pengendalian sistem yang concurrent, mengizinkan akses basis data secara bersama-sama oleh user.
v.
Catalog yang dapat diakses user, yang berisi deskripsi data dalam basis data.
2.1.4.1 Komponen DBMS Menurut Connolly dan Begg (2010, p68) terdapat 5 komponen utama dalam lingkungan DBMS yaitu : 1.
Perangkat keras (hardware) Perangkat keras yang berupa PC tunggal atau suatu mainframe atau juga suatu jaringan komputer yang dibutuhkan DBMS dan aplikasinya untuk dijalankan.
2.
Perangkat lunak (software)
11
Komponen perangkat lunak DBMS itu sendiri dan aplikasi programnya yang bekerja bersama-sama dengan sistem operasi, mencakup perangkat lunak jaringan jika DBMS digunakan pada suatu jaringan. 3.
Data Komponen terpenting dari DBMS yang menggambarkan sudut pandang end-user yang bertindak sebagai suatu jembatan penghubung antara komponen mesin dan komponen manusia.
4. Prosedur Prosedur memuat instruksi dan aturan yang mengatur desain dan penggunaan database. Para pemakai sistem database memerlukan dokumentasi prosedur yang berisi cara menggunakan atau menjalankan sistem itu. 5. People Orang-orang yang memiliki keterkaitan dengan sistem database tersebut, yang meliputi : a. Data administrator (DA), mengatur sumber daya data antara lain : perancangan basis data, pengembangan dan pemeliharaan standar, kebijakan, prosedur, dan desain basis data konseptual dan logical.
12
b. Database Administrator (DBA), mengatur realisasi fisik dari aplikasi database yang meliputi desain fisik basis data, implementasi, pengaturan keamanan dan kontrol integritas, pengawasan performa sistem dan pengaturan ulang basis data. c. Desainer basis data logical yang berhubungan dengan identifikasi data yaitu entitas dan atribut-atributnya serta hubungan antar-data dan batasan-batasan dari data yang akan disimpan ke dalam database. Dan desainer basis data fisikal yang memutuskan bagaimana desain basis data secara fisik dapat diwujudkan. d. Programmer
aplikasi
bertanggung
jawab
untuk
menyediakan fungsionalitas yang diperlukan untuk pengguna
akhir
dari
basis
data
yang
sudah
diimplementasikan. e. Pengguna akhir (end-user) Merupakan client dari database. Pengguna akhir dapat diklasifikasikan berdasarkan bagaimana mereka menggunakan sistem. •
Naïve : user yang tidak tahu mengenai basis data dan DBMS dan hanya menggunakan aplikasinya saja.
13
•
Sophisticated : user yang terbisa dengan struktur basis data dan DBMS.
2.1.4.2Keuntungan dan Kerugian dari Penggunaan DBMS Menurut Connolly dan Begg (2010, p77-80) keuntungan penggunaan DBMS, antara lain kontrol atas redundansi atau perulangan data, konsistensi data, informasi yang diperoleh dari data yang sama lebih banyak, data dapat digunakan bersamasama, meningkatkan integritas data, meningkatkan keamanan data, penetapan standarisasi pelaksanaan (format data, penamaan, prosedur
update,
pengurangan
biaya,
mempermudah
pengoperasian data, meningkatkan aksesbilitas dan respon data, meningkatkan produktifitas, meningkatkan pemeliharaan data melalui data independence (data menjadi global), mengurangi kehilangan informasi dan integritas data, dan meningkatkan layanan backup dan recovery. Sedangkan kerugian penggunaan DBMS menurut Connolly dan Begg (2005, p80-81), yaitu kompleksitas, ukuran, biaya dari penggunaan DBMS, biaya penambahan perangkat keras, biaya konversi data, dan dampak kegagalan cukup besar.
14
2.1.5
Database Aplication Lifecycle Menurut Connolly dan Begg (2010, p313), sistem basis data merupakan komponen dasar dari organisasi yang lebih besar dengan sistem informasi yang lebih luas. Terdapat 11 tahapan dalam Database Aplication Lifecycle, yaitu Database planning, Sistem definition, Requirement collection and analysis,
Database design (Conceptual Database Design, Logical
Database Design, dan Physical Database Design),
DBMS selection,
Aplication design, Prototyping, Implementation, Data conversion and loading, Testing dan Operational Maintance. Gambar berikut menggambarkan tahapan-tahapan Database Aplication Lifecycle :
Gambar 2.1 Database Lifecycle
15
2.1.6
Database Design Menurut Connolly dan Begg (2010, p320), Perancangan basis data merupakan suatu proses pembuatan sebuah desain yang akan mendukung tujuan dan operasi dari perusahaan untuk kebutuhan sistem basis data. Terdapat beberapa pendekatan dalam desain basis data, salah satunya adalah Top Down, pendekatan ini diawali dengan pembentukan model data yang berisi beberapa entitas high level dan relationship, yang kemudian menggunakan pendekatan top-down secara berturut-turut untuk mengindentifikasikan entitas lower level, relationship dan atribut lainnya. Perancangan suatu basis data terdiri dari tiga fase utama , yaitu : 1.
Perancangan basis data konseptual (Conceptual Database Design) yang memiliki tahapan-tahapan, yaitu mengidentifikasi tipe entitas , mengidentifikasi tipe relationship , mengidentifikasi dan menghubungkan atribut dengan tipe entitas atau relationship , menentukan domain atribut , menentukan atribut candidate key dan primary key , mempertimbangkan penggunaan
enhanced
modeling concepts ,cek model untuk redudansi , validasi model konseptual local dengan transaksi user , meninjau kembali model data konseptual local dengan user. 2.
Perancangan basis data logical (Logical Database Design), yaitu menurunkan relasi untuk model data logical , validasi relasi– relasi menggunakan normalisasi , validasi relasi – relasi terhadap transaksi user , memeriksa integrity constrain , meninjau kembali model data logical dengan user, menggabungkan model data
16
logical ke dalam model data global , memeriksa perkembangan di masa depan. 3.
Perancangan basis data fiskal (Physical Database Design), yaitu menerjemahkan model data logical untuk DBMS yang ditargetkan , merancang relasi dasar , merancang respresentasi derived data, merancang batasan – batasan umum. (Connolly dan Begg, 2010 , p320-p322).
2.1.7
Data Modeling “Data modeling adalah teknik untuk mendefinisikan kebutuhan bisnis untuk basis data. Data modeling kadang-kadang disebut sebagai database modeling karena model data pada akhirnya diimplementasikan sebagai basis data” (Roger S.Pressman, 2010, p213). Ada beberapa notasi untuk data modeling. Model yang sebenarnya sering disebut hubungan entitas diagram (ERD) karena menggambarkan data didalam konteks entitas dan hubungan yang digambarkan oleh data.
2.1.7.1 Entity Relationship Diagram (ERD) “Entity Relationship Diagram atau biasa kita kenal dengan ERD adalah model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideskripsikan oleh data tersebut” (Whitten, 2007, p271). Tujuan utama dari penggambaran ERD adalah untuk
17
menunjukkan struktur objek data (entity) dan hubungan (relationship) yang ada pada objek tersebut. ERD berguna bagi professional sistem, karena ERD memperlihatkan hubungan antara data store pada Data Flow Diagram (DFD). Terdapat lima macam konstruksi utama ERD, yaitu : a.
Entity type Menurut Connolly dan Begg (2010, p372), Entity Type adalah kumpulan objek-objek yang berproperti sama, dimana property tersebut diidentifikasikan memiliki keberadaan yang bebas.
b.
Atribut Menurut Connolly dan Begg (2010, p378-379), atribut adalah sifat dari sebuah entity atau sebuah tipe relationship. Atribut menyimpan nilai dari setiap entity occurrence dan mewakili bagian utama dari data yang disimpan dalam basis data. Macam-macam atribut, yaitu attribute domain, simple attribute, single value attribute, dan derived attribute.
c.
Relationship Menurut
Connolly
dan
Begg
(2010,
p374),
Relationship Type adalah sekumpulan hubungan anatara satu atau lebih tipe-tipe entity. d.
Key Menurut Connolly dan Begg (2010, p381-382), kunci
18
relasi sangat dibutuhkan untuk mengidentifikasi satu atau lebih atribut yang memiliki nilai unik setiap tuple dalam relasi. Macam-macam relasi dari key : 1.
Simple key adalah suatu key yang dibentuk oleh satu atribut.
2.
Composite Key adalah key yang disusun berdasarkan lebih dari satu atribut.
3.
Candidate Key adalah suatu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entity.
4.
Primary Key satu atribut atau satu set minimal atribut yang tidak hanya mengidentidikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entity.
5.
Alternative Key adalah candidate key yang tidak terpakai sebagai primary key.
6.
Foreign Key adalah satu atribut yang melengkapi satu hubungan (relationship) yang menunjukan ke induknya.
2.1.7.2 Relationship Table
Relasi antar tabel atau Entity Relationship digunakan untuk menghubungkan beberapa tabel sehingga data-data yang disimpan di dalamnya tetap terjaga. Jenis-jenis relasi antar tabel, yaitu :
19
a. One to One Relationship (relasi satu ke satu) Hubungan antara satu atribut yang lain dalam satu file yang sama mempunyai hubungan satu sama lain. b
One to Many Relationship (relasi satu ke banyak) Hubungan antara file pertama dengan file kedua adalah satu berbanding banyak atau dapat pula dibalik banyak lawan satu.
c.
Many to Many Relationship (relasi banyak ke banyak) Hubungan antara file pertama dengan file kedua adalah satu berbanding banyak atau dapat pula dibalik banyak lawan satu. Jenis relasi ini hanya mungkin jika mendefinisikan tabel sebagai perantara. Relasi banyak ke banyak sebenarnya merupakan dua buah relasi satu ke banyak terhadap tabel perantara.
d.
Many to One Relationship (relasi banyak ke satu) Hubungan antara satu atribut dengan atribut yang lain dalam satu file yang sama mempunyai hubungan satu lawan banyak.
20
2.1.7.3 Normalisasi Normalisasi merupakan suatu proses formal untuk memutuskan berbagai macam atribut yang harus dikelompokan secara bersama di dalam suatu hubungan baik yang terstruktur (Hoffer et.al, 2005, p211-212). Suatu basis data dianggap normal jika basis data tersebut tidak berulang atau tidak mengulang data (redundansi), serta tidak menimbulkan keanehan di dalam proses update, insert, dan delete. Normalisasi mempunyai tujuan untuk menghilangkan kerangkapan data atau data yang sama. Hal tersebut ditujukan untuk mengurangi kompleksitas dan untuk memodifikasikan sebuah data. Ada beberapa manfaat dari normalisasi, yaitu antara lain : 1.
Meminimalisasikan resiko data yang tidak konsisten pada suatu basis data.
2.
Meminimalisasikan jumlah storage space atau ruang penyimpanan yang diperlukan untuk menyimpan data.
3.
Memaksimalkan stabilitas dari struktur data. Tahap-tahap normalisasi, yaitu : 1) Bentuk Tidak Normal (UNF), merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya.
21
2) Bentuk Normal Kesatu (1NF), mempunyai ciri yaitu setiap data dibentuk dalam flat file (file datar atau rata), data dibentuk dalam satu record demi satu record dan nilai dari file-file berupa ”atomic value”. Tidak ada set atribut yang berulang-ulang. Tiap file hanya satu pengertian. 3) Bentuk Normal Kedua (2NF), mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu atribut ukan kunci haruslah bergantung secara fungsi pada kunci utama primary key. Sehingga bentuk normal kedua haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili atribut lain yang menjadi anggotanya. 4) Bentuk Normal Ketiga (3NF), mempunyai syarat setiap tabel tidak mempunyai field yang bergantung transitif, harus bergantung penuh pada kunci utama (primary key). 2.1.8 SQL (Structured Query Language) Menurut Connolly dan Begg (2010, p184) SQL adalah contoh dari transform-oriented language atau bahasa yang didesain untuk menggunakan relasi untuk mengubah input menjadi output yang diinginkan. Database language dapat memungkinkan user untuk : •
Membuat struktur relasi dan database.
•
Melakukan operasi penyisipan (insertion), perubahan (modification) dan
22
penghapusan (deletion) data dari relasi. •
Melakukan query simple dan kompleks.
2.1.9 Bahasa C# Menurut Deitel (2003, p9-10), bahasa pemrograman C# dibuat secara khusus untuk .NET sebagai bahasa yang membolehkan pengguna untuk berpindah ke .NET dengan mudah. Perpindahan dapat dengan mudah dilakukan karena C# mempunyai akar di C, C++ dan Java, yang beradaptasi dengan fitur terbaik yang dimiliki dan menambahkan fitur barunya sendiri. Karena C# telah dibangun untuk penggunaan yang luas dan pengembangan bahasa yang baik. Programmer akan dengan mudah mempelajari C# dan menikmatinya. C#
adalah
sebuah
event-driven,
fully
object
oriented,
visual
programming language dimana program dibuat dengan menggunakan Intergrated Development Environment (IDE). Dengan IDE, sebuah program dapat dibuat, dijalankan, ditest, dan didebug C# program dengan nyaman, hal ini mempersingkat waktu sehingga menjadi efektif dan efesien. C# juga memungkinkan sebuah terobosan baru untuk interoperanilitas bahasa : komponen software dari bahasa yang berbeda dapat berinteraksi yang sebelumnya belum pernah ada. Pengembang bisa mengubah software lama untuk dapat bekerja menggunakan C#. 2.1.9.1 Pengertian Rich Picture Menurut Mathiassen (2000, p26), rich picture adalah gambaran informal yang mempresentasikan illustrator tentang sebuah situasi.
23
2.1.9.2 State Transition Diagram(STD) Menurut Whitten (2007, p635), State Transistion Diagram (STD) adalah alat yang digunakan untuk menggambarkan urutan dan variasi layar yang dapat terjadi selama penggunaan. 2.1.9.3 Testing Menurut Connoly dan Begg (2010, p334), testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan. Sebelum diterapkan dalam suatu sistem basis data harus dilakukan testing terlebih dahulu. Hal ini dicapai dengan penggunaan secara hati-hati untuk merencanakan suatu test dan data yang realistic sedemikian sehingga keseluruhan proses pengujian sesuai dengan metode dan dilaksanakan sesuai dengan aturan yang ada. Terdapat beberapa pendekatan dalam melakukan testing, menurut menurut (Roger S.Pressman, 2010, p434-435), White-Box testing merupakan melakukan test terhadap perangkat lunak secara rinci karna jalur logika dari perangkat lunak akan ditest dengan menyediak test case yang akan mengerjakan kumpulan kondisi dan Black-Box testing merupakan testing yang berfokus pada fungsionalitas pada sebuah perangkat lunak, dengan mengumpulkan hasil dari input yang akan dikerjakan oleh sebuah perangkat lunak. Tujuannya untuk mencari kesalahan pada fungsi yang hilang, kesalahan pada tampilan, kesalahan struktur data atau akses ke basis data, dan kesalahan tujuan akhir.
24
2.2
Teori Khusus Teori khusus merupakan suatu hubungan fakta dengan fakta yang lainnya yang bersifat secara lebih sempit daripada teori umum. Teori khusus digunakan untuk membuat konsep menjadi lebih karakteristik dan special disbanding konsep-konsep lain pada umumnya. Teori-teori ini menjadi penyusun detail yang mendukung pembangunan aplikasi. 2.2.1
Pembelian Pembelian dalam suatu perusahaan adalah segala pembelian atas barang-barang dan jasa yang dibutuhkan oleh perusahaan dalam melakukan produksi atau langsung untuk dijual kembali. Menurut Assauri (2004, p156) menyatakan “pembelian (purchase) merupakan salah satu fungsi penting dalam berhasilnya operasi suatu perusahaan, karena fungsi ini dibebani tanggung jawab untuk mendapatkan kualitas dan kuantitas bahan yang tersedia pada waktu dibutuhkan, pada tingkat harga yang sesuai dengan harga yang berlaku. “ 2.2.1.1 Retur Pembelian Retur pembelian adalah pengembalian bahan baku kepada supplier. Data yang diperlukan, yaitu : nomor retur pembelian yang unik, tanggal retur pembelian, data supplier. kode pengiriman pembelian, data bahan baku, jumlah bahan baku yang dikembalikan, total retur pembelian untuk setiap bahan baku, subtotal retur pembelian keseluruhan belum termasuk
25
diskon dan PPN, grandtotal retur pembelian setelah dikurangi diskon saat pembelian dan ditambah PPN saat penjualan. 2.2.2
Persediaan Menurut Alfredson et al (2007, p342), persediaan adalah aset yang tersedia untuk dijual dalam proses bisnis biasa atau set yang ada dalam proses produksi. Persediaan dibagi menjadi beberapa jenis oleh Horngren et al (2002, p759) menjadi sebagai berikut :
a.
Persediaan bahan mentah Persediaan ini akan digunakan dalam proses manufaktur untuk diolah kembali.
b.
Persediaan barang dalam proses Yaitu barang yang sudah melalui beberapa tahap pada proses manufaktur, tetapi masih perlu diolah kembali.
c.
Persediaan barang jadi Persediaan barang yang sudah diproses dan siap untuk dijual.
2.2.3
Penjualan
26
Penjualan merupakan sebuah proses dimana kebutuhan pembeli dan kebutuhan penjualan dipenuhi, melalui antar pertukaran informasi dan kepentingan (kotler & keller, 2006 p457). Penjualan adalah suatu transfer hak atas benda-benda ada tiga prosedur di dalam penerimaan kas dengan penjualan tunai yaitu prosedur penerimaan kas dari over the counter sales, prosedur penerimaan dari cash on delivery sales (COD sales), dan prosedur penerimaan kas dari credit card sales. 2.2.3.1 Retur Penjualan Retur Penjualan adalah pengembalian barang oleh customer. Data yang diperlukan, yaitu: nomor retur penjualan yang unik, Tanggal retur penjualan, Data Customer, Kode faktur penjualan, data barang, Jumlah barang yang dikembalikan, Total retur penjualan untuk setiap barang, subtotal retur penjualan keseluruhan, Grandtotal retur penjualan dikurangi diskon saat penjualan dan ditambah PPN saat penjualan.