1 BAB 2 TINJAUAN PUSTAKA 2.1 Teori-Teori

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1 Teori-Teori Database
2.1.1
Database
Menurut Connolly & Berg, basis data merupakan
kumpulan data yang berhubungan secara logis dan deskripsi
data tersebut, yang dirancang untuk memenuhi informasi yang
dibutuhkan oleh organisasi. (Connolly & Begg, 2015, hal. 63)
Menurut Indrajani, database adalah kumpulan terpadu
dari elemen data logis yang saling berhubungan. (Indrajani,
2014, hal. 2)
2.1.2
Database Management System (DBMS)
Sebuah sistem perangkat lunak yang memungkinkan
pengguna untuk mendefinisi, membuat, merawat, dan
mengontrol akses ke database.
2.1.3
Bahasa Basis Data
Bahasa basis data terbagi atas dua jenis , yaitu :
1.
Data Definition Language
Bahasa
Administrator
yang
atau
memungkinkan
user
untuk
Database
mendefinisikan,
menerangkan, dan memberi entitas-entitas, atribut,
serta relationship yang dibutuhkan untuk aplikasi
termasuk batasan-batasan dan integritasnya. (Indrajani,
2014, hal. 33)
2.
Data Manipulation Language
Bahasa
yang
menyediakan
operasi
dasar
manipulasi data pada data yang terdapat dalam basis
data. (Indrajani, 2014, hal. 33)
1
2
DML terbagi atas :
1. Procedural DML
Bahasa
yang
memungkinkan
user
(programmer) untuk memberi instruksi pada sistem
mengenai
data
yang
dibutuhkan
dan
cara
pemanggilannya.
2. Non Procedural DML
Bahasa
menentukan
yang
memungkinkan
data
yang
user
dibutuhkan
untuk
dengan
menyebutkan spesifikasinya tanpa menspesifikasi
cara mendapatkan data tersebut.
2.2 Database Lifecycle
Database lifecycle atau biasa disebut sebagai daur hidup basis data
adalah tahapan-tahapan yang harus dilalui guna mencapai tujuan sistem basis
data yang terstruktur, baik, dan benar.
Ada 8 (delapan) tahapan dalam pembuatan sistem basis data , dan
berikut di bawah ini adalah penjelasan mengenai tiap tahapan pada
pembuatan basis data;
2.2.1 Database Planning
Merupakan aktvitas manajemen untuk merealisasikan tahapan
Database Application Lifecycle secara efektif dan efisien (Connolly &
Begg, 2015, hal. 347). Perencanaan basis data mencakup cara
pengumpulan data, format data, dokumentasi yang diperlukan, cara
membuat rancangan, dan implementasi. Perencanaan basis data
terintegrasi dengan keseluruhan startegi sistem informasi organisasi.
Metodologi untuk mengatasi hal tersebut terbagi atas 2 (dua)
bagian , yaitu;
•
Mendefiniskan mission statement untuk sistem basis data.
•
Mendefinisikan mission objectives.
3
2.2.2 Definisi Sistem
Definisi sistem bertujuan untuk mendeskripsikan batasan dan
ruang lingkup aplikasi basis data serta sudut pandangan user yang
utama. Aplikasi basis data seharusnya memiliki satu atau lebih user
views. User view mendefinisikan apa yang diharapkan dari aplikasi
basis data berdasarkan peranan pekerjaan, seperti manajer dan
supervisor, atau berdasarkan area aplikasi perusahaan, seperti
pemasaran, personalia, dan pengendalian persediaan. Mengidentifikasi
user view membantu untuk memastikan agar tidak ada pengguna basis
data yang terlupakan dan mengetahui apa yang diinginkan pengguna
saat aplikasi baru akan dibuat. Selain itu, user view membantu
pengembangan
aplikasi
basis
data
yang
rumit
dan
dapat
menguraikannya menjadi beberapa sub bagian yang lebih sederhana.
2.2.3 Analisis dan Pengumpulan Kebutuhan
Merupakan proses pengumpulan dan menganalisa informasi
tentang organisasi yang akan didukung oleh aplikasi basis data dan
menggunakan
informasi
tersebut
untuk
mengidentifikasikan
kebutuhan user terhadap sistem yang baru.
Aktivitas penting lainnya dalam tahap ini adalah memastikan
bagaimana menangani aplikasi basis data dengan multiple user views.
Ada tiga macam pendekatan yang dapat digunakan dalam hal ini,
yaitu;
1. Centralized Approach
Kebutuhan setiap pengguna dibuat kedalam Set og
Requirement dan model data global dibuat berdasarkan hal
itu.
2. View Integration Approach
Kebutuhan tiap user dibuat dalam model data yang
terpisah. Model data menggambarkan singel user view
disebut model data lokal, disusun dalam bentuk diagram
dan dokumentasi yang mendeskripsikan kebutuhan user
view
basis data. Model data lokal ini kemudian
4
digabungkan untuk menghasilkan model data global, yang
menggambarkan keseluruhan user view basis data.
3. Gabungan
antara
Centralized
Approach
dan
View
Integration Approach.
2.2.4 Desain Basis Data
Desain basis data adalah proses membuat desain yang akan
mendukung operasional dan tujuan perusahaan. Tujuan desain basis
data adalah;
•
Menggambarkan relasi data antara data yang dibutuhkan oleh
aplikasi dan user view.
•
Menyediakan model data yang mendukung seluruh transaksi yang
diperlukan.
•
Menspesifikasilan desain dengan struktur yang sesuai dengan
kebutuhan sistem.
Berikut ini adalah beberapa pendekatan yang dapat digunakan dalam
mendesain basis data, yaitu;
•
Top down
•
Bottom-up
•
Inside-out
•
Mixed
Dalam merancang desain basis data dikenal pula adanya Data
Modelling, jadi data modeling memiliki fungsi untuk memahami arti
semantik dari data dan juga untuk memudahkan komunikasi mengenai
informasi yang dibutuhkan.
Terdapat 3 (tiga) fase dalam membuat desain basis data , ke tiga fase
tersbut ialah;
1. Conceptual Database Design
Suatu proses pembentukan model yang berasal dari
informasi yang ingin digunakan dalam perusahaan yang
bersifat independent dari keseluruhan aspek fisik.
2. Logical Database Design
5
Sutau proses pembentukan model yang berasal dari
informasi
yang digunakan
dalam perusahaan
yang
berdasarkan model data tertentu, namun masih independent
dari DBMS tertentu.
3. Physical Database Design
Proses yang menghasilkan deskripsi implementasi basis
data pada penyimpanan sekunder. Atau , dapat dikatakan
juga bahawa tahap ini merupakan cara pembuatan
berdasarkan DBMS tertentu.
2.2.5 Perancangan Aplikasi
Perancangan aplikasi merupakan perancangan user interface dan
program aplikasi yang menggunakan dan melakukan proses terhadap
basis data.
Terdapat 2 (dua) aktivitas penting di dalam perancangan aplikasi,
yakni ;
•
Rancangan transaksi
Merupakan tindakan yang dilakukan oleh single user atau program
aplikasi , yang mengakses atau mengubah isi basis data.
Berikut ini adalah 3 (tiga) tipe utama transaksi , yaitu ;
Retrieval : mendapatkan data untuk ditampilkan pada layar
atau laporan.
Update : memasukkan record baru, menghapus record lama
atau memodifikasi record yang ada dalam basis data.
•
Mixed : gabungan antara transaksi retrieval dan update.
Rancangan user interface
2.2.6 Implementasi
Adalah realisasi fisik dari basis data dan rancangan aplikasi.
Dapat dicapai menggunakan ;
•
DDL untuk membuat skema basis data dan database files yang
kosong.
•
DDL untuk membuat user view yang diinginkan.
6
3GL atau 4GL untuk membuat program aplikasi. Termasuk
•
didalamnya transaksi basis data yang menggunakan DML.
2.2.7 Pengujian
Suatu proses eksekusi program aplikasi dengan tujuan untuk
menemukan kesalahan dengan skenario tes yang direncanakan dan
data yang sesungguhnya. Pengujian hanya akan terlihat jika terjadi
kesalahan pada perangkat lunak.
2.2.8 Operasional pemeliharaan
Suatu proses pengawasan dan pemeliharaan sistem setelah
instalasi yang mencakup ;
•
Pengawasan kinerja sistem.
•
Pemeliharaan dan pembaruan aplikasi basis data (jika perlu).
•
Penggabungan kebutuhan baru ke dalam aplikasi basis data.
2.3 Entity Relationship Modelling
Entity Relationship Modelling adalah sebuh pendekatan top-bottom
dalam perancangan basis data, yang dimulai dengan mengidentifikasikan
data-data penting yang disebut dengan entitas, dan hubungan antar entitasentitas tersebut yang digambarkan dalam suatu model. (Indrajani, 2014, hal.
405). Namun dikarenakan masih adanya kekurangan pada ER model, maka
dibuatlah Enhanced Entity Relational Model. Di dalam ER inilah terdapat
generalization, specialization, dan aggregation.
2.3.1
Entity Type
Kumpulan dari objek-objek dengan sifat (property) yang sama
yang diidentifikasikan oleh perusahaan atau organisasi memiliki
kedudukan yang sama. Dapat berupa fisik atau abstrak.
2.3.2
Relationship Type
•
Relationship Types
Kumpulan hubungan antar tipe entitas yang memiliki arti.
•
Relationship Occurence
7
Hubungan yang unik yang meliputi keberadaan tiap tipe entitas
yang berpartisipasi.
•
Derajat Relationship
Jumlah entitas yang berpartisipasi dalam sebuah hubungan.
Derajat Relationship ini terdiri dari beberapa jenis , yakni ;
Hubungan Binary
Hubungan antara dua tipe entitas.
Hubungan Ternary
Hubungan antara tiga tipe entitas.
Hubungan Quarternary
Hubungan antara empat tipe entitas.
Hubungan Unary
Hubungan antara satu tipe entitas dimana tipe entitas tersebut
berpartisipasi lebih dari satu hubungan dengan peran yang
berbeda-beda.
•
Relationship Recursive
Hubungan dalam satu entitas yang sama dengans satu atau lebih
peranan.
2.3.3 Atribut
Atribut merupakan sifat-sifat (property) sebuah entitas atau tipe relasi.
-
Atribut Domain
Himpunan dari nilai yang diizinkan untuk satu atau lebih atribut.
Terdiri atas ;
- Atribut Sederhana
- Atribut Komposit
- Atribut bernilai tunggal
- Atribut bernilai banyak
- Atribut turunan
-
Keys
- Candidate Key
8
-
Primary Key
- Composite Key
2.3.4 Structural Constraints
Di dalam setiap relationship terdapat batasan utama yang
disebut multiplicity. Multiplicity berarti jumlah dari kejadian yang
mungkin terjadi pada sebuah entitas yang terhubung ke satu kejadian
dari entitas lain.
Hubungan yang terjadi paling umum adalah binary relationship.
Binary relationship terdiri atas ;
•
One to one (1:1 , 1...1, 1)
•
One to many (1:*, 1..*)
•
Many to many (*:*, *...*)
2.3.5 Composition
Merupakan bentuk khusus dari agregat yang menggambarkan
hubungan asosiasi antar entitas, dimana terdapat hubungan yang kuat
dan kebetulan dalam sebuah seluruh atau sebagian siklus. (Indrajani,
2014).
2.4 Normalisasi
Menurut Connolly dan Begg (2015:452), normalisasi merupakan sebuah
teknik untuk memproduksi satu set hubungan dengan sifat yang diinginkan,
memberikan kebutuhan data pada perusahaan. Tujuan dari normalisasi adalah
mengidentifikasi satu set hubungan yang sesuai untuk mendukung kebutuhan
data pada perusahaan. Karakteristik yang sesuai antara lain:
• Jumlah atribut yang sedikit yang diperlukan untuk mendukung kebutuhan
data perusahaan.
• Atribut-atribut dengan hubungan logikal yang erat(disebut juga functional
dependency) dapat ditemukan pada hubungan yang sama.
• Redundansi yang sedikit, dengan setiap atribut hanya merepresentasikan
sekali, dengan pengecualian penting untuk atribut yang membentuk seluruh
atau sebagian foreign keys, yang penting untuk gabungan hubungan terkait.
9
Bentuk-bentuk normalisasi menurut Connolly dan Begg (2015:466-472),
antara lain:
1. Unnormalized Form (UNF)
Merupakan sebuah tabel awal yang belum ternormalisasi yang
berisikan satu atau lebih kumpulan data yang berulang. Untuk membuat
tabel UNF yaitu dengan memindahkan data dari sumber informasi yang
didapat ke dalam tabel dengan format baris dan kolom, jika ada atribut
yang mempunyai banyak nilai (multivalue) akan masuk ke dalam bentuk
UNF.
2. First Normal Form (1NF)
Bentuk normalisasi tahap pertama yang merupakan sebuah relasi
dimana sebuah titik pertemuan antara setiap baris dan kolom yang berisi
satu dan hanya satu nilai.
3. Second Normal Form (2NF)
Tahapan kedua setelah 1NF terpenuhi yaitu 2NF dimana
merupakan sebuah relasi yang terdapat di dalam 1NF dan setiap atribut
yang bukan primary key bergantung pada primary key.
4. Third Normal Form (3NF)
Merupakan tahapan ketiga dalam normalisasi dimana sebuah relasi
yang terdapat pada bentuk normalisasi pertama dan kedua, yang mana
tidak ada atribut yang bukan primary key bergantung pada primary key.
2.5 Metodologi Perancangan Basis Data
Menurut Connolly dan Begg (2015:504), metodologi perancangan
basisdata merupakan pendekatan terstruktur yang menggunakan bantuan
prosedur, teknik, alat, dan dokumentasi untuk mendukung dan memfasilitasi
proses perancangan basisdata.
Metodologi perancangan basisdata terbagi atas 3 tahap perancangan yaitu
perancangan konseptual, perancangan logikal, dan perancangan fisikal.
2.5.1 Perancangan Konseptual
10
Perancangan konseptual merupakan proses membangun model data
yang digunakan oleh suatu perusahaan, bebas dari segala pertimbangan
fisik (Connolly dan Begg, 2015:505).
Langkah-langkah dalam membangun model data konseptual yaitu
(Connolly dan Begg, 2015:508-523):
Langkah 1 Membangun model data konseptual
Langkah 1.1 Identifikasi tipe entitas
Langkah pertama dalam membangun model data konseptual
adalah menentukan objek-objek utama atau mengidentifikasi entitasentitas yang diperlukan pengguna.
Langkah 1.2 Identifikasi tipe hubungan (relationship types)
Mengindentifikasi hubungan-hubungan (relationship) yang penting
antara entitas-entitas yang ditemukan pada tahap sebelumnya. Setelah
mengidentifikasi entitas, tahap selanjutnya yaitu mengidentifikasi semua
hubungan
pada
entitas-entitas
tersebut,
kemudian
menentukan
multiplicity setiap hubungannya dan memeriksa adanya fan dan/atau
chasm traps pada model tersebut.
a. Fan Traps terjadi dimana model yang merepresentasikan suatu
hubungan antar entitas, tetapi alur relasinya memperlihatkan ambiguitas
(Connolly dan Begg, 2002:364).
b. Chasm Traps terjadi dimana model menggambarkan keadaan dari
hubungan antara entitas yang satu dengan yang lainnya, tetapi tidak ada
hubungan antara kedua entitas yang utama (Connolly dan Begg,
2002:365).
Langkah 1.3 Identifikasi dan hubungkan atribut-atribut
dengan
entitas atau tipe hubungan (relationship types)
Menghubungkan atribut-atribut dengan entitas atau hubungan yang tepat.
Mengidentifikasi simple/composite attributes, single- valued/multivalued attributes, dan derived attributes. Lakukan dokumentasi atribut
yang telah diidentifikasi.
Langkah 1.4 Menentukan domain atribut
Menentukan doamin atribut dalam model konseptual. Yang dimaksud
domain
adalah
sekumpulan
nilai-nilai
dimana
suatu
atribut
11
menggambarkan nilainya. Contoh : nilai yang mungkin untuk atribut
Jenis Kelamin dari entitas Admin adalah ‘L’ atau ’P’, wilayah dari atribut
ini adalah single character string yang berisi nilai ‘L’ atau ‘P’. Setelah
itu, dilakukan dokumentasi domain atribut.
Langkah 1.5 Menentukan atribut candidate, primary, dan alternate
key
Mengidentifikasi candidate key untuk tiap-tiap entitas dan jika ada lebih
dari satu candidate key, pilih salah satu untuk menjadi primary key dan
lainnya menjadi alternate key. Dalam menentukan primary key diantara
candidate keys, pedoman yang dapat digunakan yaitu:
• Candidate key dengan atribut yang paling sedikit.
• Candidate key yang memiliki kemungkinan paling kecil untuk berubah
nilainya.
• Candidate key dengan karakter paling sedikit (untuk textual
attribute(s)).
• Candidate key dengan nilai maksimum terkecil (untuk numerical
attribute(s)).
• Candidate key yang paling mudah digunakan dari sisi pengguna.
Dokumentasi primary dan alternate key untuk tiap-tiap entitas yang
merupakan strong entity.
Langkah
1.6.
Mempertimbangkan
penggunaan
Enchanced
Modelling Concept (langkah opsional)
Mempertimbangkan
penggunaan
konsep
permodelan,
seperti
specialization/generalization, aggregation, dan composition.
a. Specialization, adalah proses memaksimalkan perbedaan antara
anggota entitas dengan mengidentifikasi karakteristik yang membedakan
seluruh entitas (Connolly dan Begg, 2015:436).
b. Generalization, adalah proses meminimalkan perbedaan antara entitas
dengan mengidentifikasi karakteristik yang sama dari masing-masing
entitas (Connolly dan Begg, 2015:437).
c. Aggregation, adalah mempresentasikan hubungan ‘has-a’ atau ‘ispart-of’ antara tipe-tipe entitas, dimana salah satu adalah sebagai ‘whole’
dan yang lainnya sebagai ‘part’ (Connolly dan Begg, 2015:445).
12
d. Composition, adalah sebuah bentuk spesifik dari aggregration yang
mempresentasikan penggabungan antara entitas dimana ada kepemilikan
yang kuat dan kesamaan lifetime antara ‘whole’ dan ‘part’ (Connolly dan
Begg, 2015:446).
Langkah 1.7 Memeriksa model akan adanya redundansi
Memeriksa keberadaan redudansi dalam model. Dilakukan pemeriksaan
secara spesifik terhadap hubungan one-to-one (1:1),
menghilangkan
hubungan (relationship) yang redundan, dan mempertimbangkan
penggunaan dimensi waktu.
Langkah 1.8 Validasi model konseptual terhadap transaksi
pengguna
Memastikan bahwa konseptual data telah mendukung transaksi yang
dibutuhkan. Dapat dilakukan dengan dua cara yaitu :
a. Mendeskripsikan transaksi secara detail, dengan pendekatan ini berarti
akan diperiksa semua informasi (entitas, hubungan, dan atribut) yang
dibutuhkan oleh setiap transaksi apakah telah disediakan dalam model,
dengan mendokumentasikan setiap kebutuhan transaksi.
b. Menggunakan jalur transaksi (transaction pathways), pendekatan ini
untuk validasi model data terhadap transaksi yang dibutuhkan termasuk
representasi diagram jalur yang digunakan oleh setiap transaksi langsung
pada diagram ER.
Langkah 1.9 Review model data konseptual dengan pengguna
Memeriksa ulang model data konseptual dengan pengguna sistem untuk
memastikan bahwa mereka mempertimbangkan model data tersebut
secara tepat menggambarkan kebutuhan data perusahaan.
2.5.2
Perancangan Logikal
Perancangan logikal merupakan proses membangun model
data konseptual menjadi model data logikal dengan memvalidasi
model tersebut untuk memeriksa struktur yang benar dan dapat
mendukung kebutuhan transaksi. (Connolly dan Begg, 2015:528).
13
Langkah-langkah dalam membangun dan memvalidasikan model data
logikal yaitu (Connolly dan Begg, 2015:530-556) :
Langkah 2 Membangun Data Model Logika
Langkah 2.1 Menurunkan Relasi Untuk Model Data Logika
Membuat relasi dari model data konseptual untuk mempresentasikan
entitas, hubungan, dan atribut-atribut yang telah teridentifikasi.
(1) Strong entity types
Membuat relasi yang menyertakan semua atribut sederhana
tiap entitas.
(2) Weak entity types
Membuat relasi yang menyertakan semua atribut sederhana
untuk tiap entitas
yang lemah. Primary key entitas lemah
diturunkan sebagian atau seluruhnya dari tiap entitas pemilik
dan primary key dari entitas lemah tidak dapat ditentukan
sampai seluruh hubungan dengan entitas pemilik dipetakan.
(3) One-to-many (1:*) binary relationship type
Pada setiap 1:* binary relationship, entitas “one side” pada
suatu hubungan ditentukan sebagai entitas induk dan entitas
“many side” ditentukan sebagai entitas anak. Untuk mewakili
hubungan ini, diperlukan membuat salinan dari primary key
pada entitas induk ke dalam entitas anak, untuk bertindak
sebagai foreign key.
(4) One-to-one (1:1) binary relationship types
Membuat relasi untuk merepresentasi suatu hubungan 1:1
sedikit lebih rumit, sebagaimana cardinality tidak dapat
digunakan untuk membantu mengidentifikasi entitas induk dan
entitas anak dalam suatu hubungan.
(5) One-to-one (1:1) recursive relationships
Mengikuti aturan pada hubungan 1:1 sebelumnya. Namun
dalam kasus tertentu, entitas untuk kedua sisi dalam suatu
hubungan adalah sama, dimana kedua entitas tersebut
merupakan primary key.
14
(6) Superclass/subclass relationship types
Untuk setiap superclass/subclass relationship dalam model data
konseptual, diidentifikasi entitas superclass sebagai parent dan
entitas subclass sebagai child.
(7) Many-to-many (*:*) binary relationship types
Untuk setiap hubungan many-to-many binary relationship, buat
sebuah
relasi
untuk
merepresentasikan
hubungan
dan
masukkan setiap atribut yang merupakan bagian dari hubungan
tersebut. Satu atau kedua foreign key dari hubungan tersebut
akan menghasilkan suatu primary key.
(8) Complex relationship types
Setiap foreign key yang merepresentasi suatu hubungan
“many” secara umum akan menghasilkan primary key dalam
hubungan tersebut.
(9) Multi-valued attributes
Selain atribut yang memiliki banyak nilai, adalah suatu
alternate
key,
primary
key
dalam
hubungan
tersebut
merupakan kombinasi dari atribute yang memiliki banyak nilai
dan merupakan primary key.
Langkah 2.2 Validasi relasi menggunakan normalisasi
Memvalidasi relasi-relasi dalam model data logika menggunakan
normalisasi.
Langkah 2.3 Validasi relasi terhadap transaksi pengguna
Memastikan relasi-relasi pada model data logika mendukung
kebutuhan transaksi.
Langkah 2.4 Memeriksa keutuhan batasan
Memeriksa apakah keutuhan batasan telah direpresentasikan dalam
model data logika.
Langkah 2.5 Meninjau ulang model data logika dengan pengguna
Memeriksa kembali model data logika terhadap pengguna untuk
memastikan bahwa mereka mempertimbangkan model data tersebut
secara tepat menggambarkan kebutuhan data perusahaan.
15
Langkah 2.6 Menggabungkan model data logika ke dalam model
global (langkah opsional)
Menggabungkan model data logika lokal ke dalam suatu model data
logika global yang menggambarkan seluruh pandangan pengguna
terhadap basis data.
Langkah 2.6.1 Menggabungkan data model logika lokal ke
dalam model data logika global
Langkah 2.6.2 Validasi model data logika global
Langkah 2.6.3 Meninjau ulang model data logika global
terhadap pengguna
Langkah 2.7 Memeriksa pertumbuhan di masa depan
Menentukan apakah akan terdapat suatu perubahan yang berarti di
masa mendatang dan menilai apakah model data logika dapat
mengakomodasi perubahan tersebut.
2.5.3 Perancangan Fisikal
Langkah 3 Menterjemahkan model data logika untuk target DBMS
Menghasilkan skema basis data relational dari model data logika yang
dapat diimplementasikan ke dalam target DBMS.
Langkah 3.1 Merancang hubungan dasar
Menentukan
bagaimana
merepresentasi
hubungan
dasar yang
diidentifikasi dalam model data logika ke dalam target DBMS.
Langkah 3.2 Merancang representasi dari derived data
Menentukan bagaimana tiap derived data pada model data logika ke
dalam target DBMS.
Langkah 3.3 Merancang batasan umum
Merancang batasan-batasan umum untuk target DBMS.
Langkah 3.4 Merancang organisasi file dan indeks
Menentukan organisasi file yang optimal untuk menyimpan hubungan
dasar dan indeks yang dibutuhkan untuk mencapai perfoma yang
cocok, dengan kata lain, cara dimana relasi dan tuple akan disimpan
dalam tempat penyimpanan sekunder.
Langkah 4 Merancang organisasi file dan indeks
16
Langkah 4.1 Analisa transaksi
Memahami fungsi dari transaksi yang akan berjalan pada basis data
dan menganalisa transaksi yang penting.
Langkah 4.2 Memilih organisasi file
Menentukan organisasi file yang efisien untuk setiap relasi dasar.
Langkah 4.3 Memilih indeks
Menentukan apakah menambahkan indeks akan meningkatkan kinerja
sistem.
Langkah
4.4
Memperkirakan
ruang
penyimpanan
yang
dibutuhkan
Memperkirakan besarnya jumlah ruang penyimpanan yang dibutuhkan
yang akan diperlukan basis data.
Langkah 5 Merancang user views
Merancang user view yang teridentifikasi selama tahap pengumpulan
dan analisa kebutuhan dari siklus pengembangan sistem basis data.
Langkah 6 Merancang mekanisme keamanan
Merancang mekanisme keamanan untuk basis data yang ditentukan
oleh pengguna selama tahap pengumpulan kebutuhan dari siklus
pengembangan sistem basis data.
2.6 Data Flow Diagram (DFD)
Diagram alir data (DFD) adalah perangkat yang menggambarkan
aliran data yang melalui sebuah sistem dan pekerjaan atau prosesnya
ditampilkan oleh sistem. (Whitten & Bentley, 2015, hal. 325).
− Persegi panjang bulat menampilkan proses yang harus
dilaksanakan.
− Persegi menampilkan external agents yang berarti merupakan
batasan dari sistem yang akan dibuat.
External agents adalah orang atau badan atau organisasi yang
berada di luar scope proyek namun yang berinteraksi langsung
dengan sistem.
− Kotak tanpa tutup menampilkan data stores biasa disebut
dengan file atau basis data (database).
17
− Panah menampilkan aliran data, input dan output dari dan ke
proses.
Catatan penulis : Terdapat beberapa kumpulan simbol untuk DFD. Namun
untuk peracangan aplikasi basis data ini, penulis menggunakan simbol dari
Gane dan Sarson karena buku panduan yang digunakan menggunakan simbol
ini.
Diagram alir data memiliki tahapan perancangan alur yaitu ;
1. Diagram Konteks
2. Diagram Nol
2.7 Entity Relationship Diagram (ERD)
Entity relationship diagram (ERD) adalah diagram yang membahas
mengenai permasalahan dan menampilkan semua obyek data yang
dimasukkan, disimpan, ditranformasi, dan dihasilkan dari sebuah aplikasi.
(Pressman R. , 2010, hal. 172).
2.8
Teori yang Terkait Pembelian dan Penjualan
Pembelian dan penjualan adalah hal pokok yang dibahas pada skripsi ini,
oleh karena itu harus pula diberikan penjelasan yang cukup untuk
memberikan gambaran yang cukup mendefinisikan mengenai penjualan dan
pembelian. Berikut ini adalah penjelasan dari dua jenis sistem yaitu sistem
penjualan dan pembelian ;
2.8.1 Sistem Pembelian
Sistem pembelian digunakan dalam perusahaan untuk pengadaan
barang yang diperlukan oleh perusahaan.
Fungsi yang terkait dalam sistem pembelian adalah:
1. Fungsi pembelian
Bertanggung jawab untuk memperoleh informasi mengenaiharga
barang, kualitas, menentukan pemasok yang dipilih dalam pengadaan
barang, mengeluarkan order pembelian kepada pemasok yang dipilih.
2. Fungsi penerimaan
18
Bertanggung jawab untuk melakukan pemeriksaan terhadap jenis,
jumlah, mutu dan kuantitas barang yang diterima dari pemasok guna
menentukan apakah barang tersebut layak untuk dijual dan dikirim
kepada konsumen.
Barang yang sudah diterima dari pemasok adakalanya tidak sesuai
dengan barang yang dipesan melalui surat order pembelian.
Ketidaksesuaian tersebut terjadi kemungkinan karena barang yang
diterima tidak cocok dengan spesifikasi yang tercantum dalam surat
order pembelian, barang mengalami kerusakan dalam pengiriman,
atau jumlah barang tidak sesuai dengan surat order pembelian. Sistem
retur pembelian digunakan dalam perusahaan untuk pengembalian
barang yang sudah dibeli kepada pemasok.
2.8.2
Sistem Penjualan
Kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa,
baik secara kredit maupun secara tunai.
Proses penjualan dimulai dari departemen penjualan yang menerima
pesanan pelanggan yang menunjukan jenis dan jumlah barang yang
diminta.
Penjualan
tunai
dilaksanakan
oleh
perusahaan
dengan
cara
mewajibkan pembeli melakukan pembayaran harga barang baik uang
muka atau langsung lunas lebih dahulu sebelum barang diserahkan
oleh perusahaan kepada pembeli.
Fungsi yang terkait dalam system penjualan adalah:
1. Fungsi penjualan
Bertanggung jawab untuk menerima order dari pembeli dan membuat
surat kontrak kepada pembeli untuk menentukan harga jual yang
diberikan kepada konsumen
2. Fungsi kas
Bertanggun jawab sebagai penerima kas dari pembeli dan memberikan
kuitansi kepada konsomen ketika konsumen melakukan pembayaran
3. Fungsi gudang
19
Bertanggung jawab untuk menyesuaikan barang yang dipesan oleh
pembeli,
serta
menyerahkan
barang
tersebut
ke
fungsi
pengiriman
4. Fungsi pengiriman
Bertanggung jawab untuk membungkus barang dan menyerahkan
barang yang dipesan oleh konsumen kepada konsumen itu sendiri.
5. Fungsi akuntansi
Bertanggung jawab sebagai pencatat transaksi penjualan dan
penerimaan kas dan membuat laporan penjualan.
Faktur penjualan adalah dokumen yang digunakan untuk merekam
berbagai informasi yang diperlukan oleh manajemen mengenai
transaksi penjualan.
Menurut Hall (2007,p235), retur penjualan bisa disebabkan oleh
beberapa hal sebagai berikut :
1. Penjual mengirimkan barang yang salah.
2. Barang yang dikirim ternyata rusak/cacat.
3. Barang tersebut rusak pada saat pengiriman.
4. Penjual terlalu terlambat mengirimkan barang atau terjadi
keterlambatan karena penundaan saat perjalanan, dan pembeli
menolak pengiriman tersebut.
2.9 Rich Picture
Rich picture merupakan pandangan skematis mengenai permasalahan
yang akan diselesaikan dalam proyek. Rich picture memperlihatkan
komponen utama dari permasalahan, termasuk di dalamnya berbagai interaksi
yang mungkin terjadi. (Irwansyah, 2013, hal. 148)
2.10
Hasil Penelitian dan Produk Sebelumnya
Penelitian pertama yang dilakukan diambil dari jurnal “Analisis dan
Perancangan Sistem Basisdata Penjualan dan Pembelian Berbasis Web pada
PT. Casuarina Harnessindo” yang disusun pada tahun 2014 oleh mahasiswa
Binus University.
Surjadi, Zebua, dan Irawan (2014) dalam jurnal ini
membatasi ruang lingkup dalam pembahasannya, yaitu :
20
1. Guest dapat melihat produk dan melakukan pendaftaran.
2. Pelanggan dapat melihat dan memesan produk.
3. Staff dapat memasukan data penjualan dan pembelian.
4. Admin dapat melihat data pelanggan, data pembelian dan penjualan.
Dari hasil penelitian, kami mendapatkan beberapa ide yaitu
memperbaiki beberapa hal-hal yang dibutuhkan oleh CV. Benua Baja Abadi.
Hal-hal yang diperbaiki adalah perusahaan membutuhkan aplikasi yang
membantu staff dalam proses penjualan dan pembelian yang lebih efisien dan
menghindari human error. Penulis memberikan usulan dengan membuatkan
sistem basis data berbasis web agar admin dapat lebih mudah dalam proses
pengerjaan sehari-hari dan tidak perlu menulis hal yang sama berkali kali
seperti keterangan produk, alamat, dan sebagainya sehingga hal ini dapat
menghindari dari kesalahan penulisan maka dari itu dalam aplikasi yang kami
buat membuat admin hanya perlu menulis satu kali data master yang akan
digunakan untuk proses penjualan dan pembelian dan dalam semua proses
penjualan pembelian admin hanya perlu mengklik jenis data seperti nama atau
kode yang dibutuhkan dan aplikasi akan langsung memunculkan semua
keterangan tambahan dari nama atau kode tersebut.
Download