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
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,
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 (Data Manipulation Language), memberikan fasilitas kepada user untuk menambah, mengedit, menghapus, serta memperoleh kembali data dari basis data.
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.
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.
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.
• 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 bersama-sama, 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.
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 :
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
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).
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
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 :
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.
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.
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.
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.
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.
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
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.
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.