BAB 2 LANDASAN TEORI 2.1 Pengertian Basis Data Ada beberapa

advertisement
6
BAB 2
LANDASAN TEORI
2.1 Pengertian Basis Data
Ada beberapa macam definisi tentang basis data yang disampaikan oleh
beberapa pakar. Definisi tersebut antara lain yaitu :
Menurut O’Brien (2002, p.166) basis data merupakan kumpulan data
dari beberapa file dokumen yang terhubung secara logis.
Menurut Date (2000, p.10) basis data merupakan kumpulan data tetap
(data yang hampir tidak mengalami perubahan), yang digunakan oleh sistem
aplikasi di beberapa perusahaan.
Menurut Connolly & Begg (2002, p.14) basis data adalah kumpulan
data yang terhubung secara logis, dan merupakan deskripsi dari data itu
sendiri, yang dirancang untuk mempermudah proses pencarian informasi
yang dibutuhkan oleh perusahaan.
Dari beberapa definisi tentang basis data yang telah disebutkan diatas, dapat
disimpulkan bahwa basis data merupakan kumpulan data yang terhubung secara
logis dan digunakan pada sistem aplikasi perusahaan, yang dapat mempermudah
proses pencarian informasi.
2.1.1 Database Management System (DBMS)
DBMS adalah sebuah sistem perangkat lunak yang memungkinkan
pengguna untuk dapat mendefinisikan, menciptakan, memelihara, dan
mengontrol akses ke basis data (Connolly & Begg, 2002, p.16). DBMS dapat
berinteraksi dengan pengguna program aplikasi dan basis data. Secara khusus,
fasilitas-fasilitas yang disediakan oleh DBMS yaitu :
7
•
DBMS memungkinkan pengguna untuk dapat mendefinisikan basis data,
yang biasanya menggunakan DDL (Data Definition Language).
•
DBMS memungkinkan pengguna untuk dapat memasukkan (insert),
memperbaharui (update), dan memperoleh kembali (retrieve) data dari
basis data, yang biasanya menggunakan DML (Data Manipulation
Language).
•
DBMS menyediakan akses terkontrol ke basis data, seperti sistem
keamanan (security system), sistem integritas (integrity system), dan
katalog yang dapat diakses oleh pengguna (user accessible catalog).
2.2 Database Language
Sebuah data sublanguage terdiri dari dua bagian, yaitu DDL (Data Definition
Language) dan DML (Data Manipulation Language). DDL digunakan untuk
menspesifikasikan skema basis data, sedangkan DML digunakan untuk membaca
dan memperbaharui basis data.
2.2.1 DDL (Data Definition Language)
DDL merupakan bahasa yang memungkinkan DBA (Database
Administrator) atau pengguna untuk menciptakan dan memberi nama suatu
entiti, atribut, serta hubungan-hubungan yang dibutuhkan untuk aplikasi,
berikut dengan batasan-batasan keamanan dan integritasnya (Connolly & Begg,
2002, p.40). DDL dapat digunakan untuk mendefinisikan dan memodifikasi
skema basis data, tetapi tidak dapat digunakan untuk memanipulasi data.
8
2.2.2 DML (Data Manipulation Language)
DML merupakan bahasa yang menyediakan sekumpulan operasi untuk
mendukung operasi dasar manipulasi data di dalam basis data (Connolly &
Begg, 2002, p.41). Pada umumnya operasi manipulasi data mencakup :
•
Memasukkan data baru ke dalam basis data
•
Memodifikasi data yang telah disimpan di dalam basis data
•
Mencari data yang terdapat di dalam basis data
•
Menghapus data dari basis data
2.3 Teknik Analisis dan Perancangan Basis Data
Sistem informasi adalah sumber-sumber yang dapat mendukung kegiatan
pengumpulan, pengaturan, pengawasan, dan penyebaran informasi di dalam suatu
perusahaan (Connolly & Begg, 2002, p.270). Sebuah sistem informasi yang berbasis
komputer terdiri dari basis data, perangkat lunak untuk basis data, perangkat lunak
untuk aplikasi, perangkat keras komputer, dan personil yang menggunakan serta
membangun sistem tersebut.
Basis data merupakan komponen terpenting di dalam sebuah sistem
informasi organisasi yang sangat luas. Oleh karena itu, siklus hidup sistem informasi
suatu organisasi sangat berhubungan dengan siklus hidup sistem basis data yang
mendukung sistem informasi tersebut. Secara khusus, tahap-tahap dalam siklus
hidup sistem informasi meliputi perencanaan (planning), pengumpulan dan analisis
kebutuhan (requirement collection and analysis), perancangan (design), perancangan
bentuk dasar (prototyping), implementasi (implementation), uji coba (testing),
konversi (conversion), dan pemeliharaan operasional (operational maintenance).
Sebagai komponen terpenting di dalam sistem informasi, maka siklus hidup
basis data harus diasosiasikan dengan siklus hidup sistem informasi. Skema dibawah
ini menunjukkan tahap-tahap yang terdapat dalam siklus hidup sistem basis data.
Gambar 2.1 Tahap-Tahap Siklus Hidup Aplikasi Basis Data
(Connolly & Begg, 2002, p.272)
10
2.3.1 Perencanaan Basis Data (Database Planning)
Perencanaan basis data adalah tahap perencanaan mengenai bagaimana
seluruh tahap dalam siklus hidup aplikasi basis data dapat direalisasikan secara
efektif dan efisien. Perencanaan basis data harus terintegrasi dengan strategi
sistem informasi organisasi secara keseluruhan. Ada tiga hal utama yang harus
dilakukan dalam membuat sebuah strategi sistem informasi, yaitu :
•
Mengidentifikasikan tujuan dan rencana perusahaan, serta menentukan
kebutuhan-kebutuhan sistem informasi.
•
Mengevaluasi sistem informasi yang ada saat ini untuk mengetahui
kekuatan dan kelemahan sistem tersebut.
•
Memprediksi kesempatan dalam bidang teknologi informasi yang mungkin
dapat menghasilkan keuntungan yang kompetitif.
Langkah awal yang penting dalam tahap perencanaan basis data adalah
menentukan dengan jelas mission statement untuk proyek basis data. Selain itu
perencanaan basis data juga harus mencakup pengembangan umum mengenai
bagaimana data dikumpulkan, bagaimana data dispesifikasikan, dokumen
penting apa saja yang dibutuhkan, serta bagaimana memproses perancangan
dan implementasi.
2.3.2 Pendefinisian Sistem (System Definition)
Pendefinisian sistem menggambarkan ruang lingkup dari aplikasi basis
data dan user view utama. Sebelum mencoba merancang sebuah aplikasi basis
data, hal pertama yang harus dilakukan adalah mengidentifikasi batasanbatasan sistem dan bagaimana sistem tersebut akan berinteraksi dengan bagianbagian sistem informasi organisasi lainnya.
11
User view didefinisikan sebagai kebutuhan aplikasi basis data yang
berasal dari tugas-tugas yang ada atau area aplikasi perusahaan. Sebuah
aplikasi basis data dapat memiliki satu user view atau lebih.
2.3.3 Pengumpulan dan Analisis Kebutuhan (Requirement Collection and
Analysis)
Proses pengumpulan dan analisis kebutuhan meliputi kegiatan
mengumpulkan dan menganalisis informasi tentang bagian-bagian organisasi
yang akan didukung oleh aplikasi basis data, kemudian menggunakan
informasi ini untuk mengidentifikasi kebutuhan pengguna sehubungan dengan
sistem baru. Teknik yang digunakan dalam tahap ini adalah teknik fact-finding.
Pendekatan utama untuk menangani kebutuhan akan sebuah aplikasi
basis data dengan beberapa user view, yaitu :
•
Centralized Approach
Dalam pendekatan ini, kebutuhan setiap user view digabungkan ke dalam
satu set kumpulan kebutuhan untuk aplikasi basis data yang baru.
•
View Integration Approach
Dalam pendekatan ini, kebutuhan setiap user view digunakan untuk
membangun sebuah model data yang terpisah untuk merepresentasikan
user view tersebut.
2.3.4 Perancangan Basis Data (Database Design)
Perancangan basis data merupakan proses pembuatan rancangan sebuah
basis data yang dapat mendukung kegiatan operasional perusahaan dan tujuan
perusahaan. Ada dua pendekatan utama untuk merancang sebuah basis data,
yaitu :
12
•
Bottom-Up
Pendekatan bottom-up cocok untuk perancangan sebuah basis data
sederhana, dengan jumlah atribut yang relatif kecil. Namun pendekatan
ini sulit untuk diterapkan di dalam rancangan basis data yang lebih
kompleks dengan jumlah atribut yang lebih besar, karena akan sulit untuk
membangun semua ketergantungan fungsional diantara atribut-atribut.
•
Top-Down
Strategi yang lebih cocok untuk membuat sebuah basis data yang lebih
kompleks adalah pendekatan top-down. Pendekatan ini dimulai dengan
mengembangkan model data yang mengandung beberapa entity tingkat
tinggi beserta hubungan-hubungannya, kemudian dilanjutkan dengan
mengidentifikasi entity-entity tingkat rendah, hubungan-hubungannya,
dan mengasosiasikan atribut-atribut yang berhubungan.
2.3.5 Pemilihan DBMS (DBMS Selection)
Pemilihan DBMS bertujuan untuk menentukan DBMS yang tepat untuk
mendukung aplikasi basis data. Langkah-langkah utama dalam proses
pemilihan DBMS yaitu :
•
Menentukan masa referensi studi
•
Mengurutkan dua atau tiga produk secara singkat
•
Mengevaluasi produk
•
Membuat laporan tentang pilihan yang direkomendasikan
13
2.3.6 Perancangan Aplikasi (Application Design)
Perancangan aplikasi merupakan proses perancangan tatap muka
pengguna dan program-program aplikasi yang akan menggunakan serta
memproses basis data. Basis data diciptakan untuk mendukung aplikasi,
sehingga harus ada arus informasi antara rancangan aplikasi dengan rancangan
basis data. Maka dari itu, pada banyak kasus adalah tidak mungkin untuk
melengkapi rancangan aplikasi jika rancangan basis data belum selesai.
2.3.6.1 Perancangan Transaksi
Transaksi merupakan aksi, atau sekumpulan aksi, yang dilayani
oleh seorang pengguna tunggal atau program aplikasi, yang akan
mengakses atau mengubah isi basis data.
Ada tiga tipe utama transaksi, yaitu :
a. Retrieval transactions, yang digunakan untuk memperoleh
kembali data yang telah disimpan.
b. Update transactions, yang digunakan untuk memasukkan data
baru, menghapus data lama, atau memodifikasi data yang sudah
disimpan di dalam basis data.
c. Mixed transactions, yang mencakup kegiatan pencarian data dan
pembaharuan data.
2.3.7 Perancangan Bentuk Dasar (Prototyping)
Perancangan bentuk dasar adalah proses pembangunan sebuah model
kerja dari sebuah aplikasi basis data. Ada dua strategi perancangan bentuk
dasar yang digunakan saat ini, yaitu :
14
•
Requirement prototyping, yang menggunakan sebuah prototype untuk
menentukan kebutuhan-kebutuhan dari aplikasi basis data yang diusulkan.
Apabila semua kebutuhan telah selesai ditentukan maka prototype tersebut
tidak akan digunakan lagi.
•
Evolutionary prototyping, yang digunakan untuk tujuan yang sama dengan
requirement prototyping. Perbedaannya adalah prototype tersebut masih
akan digunakan lagi.
2.3.8 Implementasi (Implementation)
Implementasi adalah realisasi fisik dari proses perancangan basis data
dan
perancangan
aplikasi.
Penerapan
basis
data
dilakukan
dengan
menggunakan DDL dari DBMS yang dipilih.
2.3.9 Konversi Data dan Muatan (Data Conversion and Loading)
Konversi data dan muatan merupakan proses pemindahan data-data
yang ada ke dalam basis data baru, dan mengubah setiap aplikasi yang sudah
ada untuk dijalankan pada basis data baru. Tahap ini hanya dibutuhkan ketika
sistem baru digunakan untuk mengganti sistem lama. Saat ini, adalah umum
bagi sebuah basis data untuk memiliki peralatan yang dapat memuat file yang
ada ke dalam basis data baru. Peralatan tersebut biasanya membutuhkan
spesifikasi dari file sumber dan basis data yang dituju, kemudian secara
otomatis mengubah data ke dalam bentuk yang sesuai dengan basis data baru.
2.3.10 Uji Coba (Testing)
Tahap uji coba merupakan proses pelaksanaan program aplikasi
dengan tujuan untuk mendeteksi kesalahan. Sebelum dijalankan, aplikasi
basis data yang baru selesai dikembangkan harus diuji dengan seksama.
15
Proses uji coba ini dilakukan dengan menggunakan strategi uji perencanaan
secara hati-hati dan data-data yang nyata.
2.3.11 Pemeliharaan Operasional (Operational Maintenance)
Pemeliharaan operasional merupakan kegiatan untuk memantau dan
memelihara sistem yang telah diinstal. Kegiatan-kegiatan yang dilakukan
dalam tahap ini yaitu :
•
Memantau performa sistem
•
Memelihara dan meningkatkan level aplikasi basis data (jika
dibutuhkan)
2.4 Metodologi Perancangan Basis Data
Metodologi perancangan merupakan sebuah pendekatan terstruktur yang
menggunakan prosedur, teknik, peralatan, serta dokumen pendukung untuk
mendukung dan menyediakan fasilitas untuk proses perancangan (Connolly & Begg,
2002, p.418). Sebuah metodologi perancangan terdiri dari sejumlah fase, dimana
masing-masing fase mengandung sejumlah tahap yang dapat menuntun perancang
dalam menentukan teknik yang sesuai untuk setiap tahapan proyek. Metodologi
perancangan juga dapat membantu perancang untuk menyusun rencana, mengatur,
mengawasi, dan mengevaluasi pembangunan basis data.
Dalam metodologi perancangan basis data, proses perancangan dibagi
menjadi tiga tahap, yaitu perancangan konseptual, perancangan logikal, dan
perancangan fisikal. Berikut ini adalah penjelasan dari setiap tahap tersebut.
2.4.1 Perancangan Basis Data Konseptual
Perancangan basis data konseptual adalah proses pembentukan sebuah
model informasi yang digunakan oleh sebuah perusahaan dan tidak terikat
16
dengan semua pertimbangan fisikal, yang antara lain meliputi target DBMS,
program aplikasi, bahasa pemrograman, platform perangkat keras, atau
masalah-masalah performa (Connolly & Begg, 2002, p.419). Tahap-tahap
dalam perancangan basis data konseptual yaitu :
2.4.1.1 Membangun Model Data Konseptual Lokal
Tahap ini bertujuan untuk membangun model data konseptual
lokal suatu perusahaan untuk maksud tertentu. Tahap ini terbagi
menjadi sembilan langkah, yaitu :
a. Identifikasi tipe entity
Langkah ini bertujuan untuk mengidentifikasi tipe entity utama
yang dibutuhkan oleh perusahaan.
b. Identifikasi tipe relasi
Langkah ini bertujuan untuk mengidentifikasi relasi penting yang
ada diantara tipe entity yang telah diidentifikasikan sebelumnya.
c. Identifikasi dan asosiasi atribut dengan tipe entity atau relasi
Langkah ini bertujuan untuk mengasosiasikan atribut dengan tipe
entity atau tipe relasi yang tepat.
d. Penentuan ruang lingkup atribut (attribute domain)
Langkah ini bertujuan untuk menentukan ruang lingkup dari
masing-masing atribut di dalam model data konseptual lokal.
e. Penentuan atribut primary key dan candidate key
Langkah ini bertujuan untuk menentukan candidate key untuk setiap
tipe entity dan, apabila terdapat lebih dari satu candidate key,
memilih salah satu candidate key untuk menjadi primary key.
17
f. Pertimbangan penggunaan konsep model enhanced
Langkah ini bertujuan untuk mempertimbangkan penggunaan
konsep model enhanced seperti spesialisasi/generalisasi, agregasi,
dan komposisi.
g. Pemeriksaan model terhadap redundansi
Langkah ini bertujuan untuk memeriksa kemungkinan terjadinya
redundansi di dalam model data. Adapun kegiatan yang dilakukan
pada langkah ini adalah :
•
Memeriksa kembali hubungan one to one (1 : 1)
Pada saat mengidentifikasikan entity mungkin saja kita telah
mengidentifikasi dua entity yang merepresentasikan obyek yang
sama di perusahaan.
•
Menghilangkan hubungan yang redundan
Sebuah hubungan dikatakan redundan apabila informasi yang
sama dapat diakses melalui hubungan lain.
h. Validasi model konseptual lokal terhadap transaksi pengguna
Langkah ini bertujuan untuk memastikan bahwa model konseptual
lokal dapat mendukung transaksi yang dibutuhkan oleh perusahaan.
i. Peninjauan kembali model data konseptual lokal dengan pengguna
Langkah ini bertujuan untuk memastikan bahwa model tersebut
merupakan gambaran tujuan yang sesungguhnya.
18
2.4.2 Perancangan Basis Data Logikal
Perancangan basis data logikal adalah proses pembentukan sebuah
model informasi yang digunakan di dalam perusahaan dan berdasarkan pada
suatu model data spesifik, namun tidak terikat oleh sebuah DBMS khusus serta
pertimbangan fisikal lainnya (Connolly & Begg, 2002, p.441). Tahap-tahap
dalam perancangan basis data logikal yaitu :
2.4.2.1 Membangun dan Memvalidasi Model Data Logikal Lokal
Tahap ini bertujuan untuk membangun sebuah model data
logikal lokal dari sebuah model data konseptual lokal yang akan
merepresentasikan tujuan khusus dari perusahaan, dan kemudian
memvalidasi model ini untuk memastikan apakah model data ini telah
terstruktur dengan benar serta dapat mendukung transaksi-transaksi
yang dibutuhkan. Tahap ini terbagi menjadi enam langkah, yaitu :
a. Menghilangkan fitur yang tidak sesuai dengan model relasional
Langkah ini bertujuan untuk memperbaiki model data konseptual
lokal yang masih mengandung fitur-fitur yang tidak sesuai dengan
model relasional. Secara khusus, kegiatan-kegiatan yang dilakukan
pada tahap ini adalah :
•
Menghilangkan tipe relasi biner many to many (* : *)
•
Menghilangkan tipe relasi rekursif many to many (* : *)
•
Menghilangkan tipe relasi kompleks
•
Menghilangkan atribut multi valued
19
b. Membuat relasi untuk model data logikal lokal
Langkah ini bertujuan untuk membuat relasi-relasi yang dapat
merepresentasikan entity, hubungan, dan atribut yang telah
diidentifikasi sebelumnya. Berikut ini adalah cara membuat relasi
dari struktur-struktur yang mungkin disajikan di dalam model data.
•
Menentukan tipe entity kuat
Untuk semua entity kuat yang terdapat di dalam model data,
dibentuk sebuah tabel yang mengandung semua atribut
sederhana dari entity tersebut.
•
Menentukan tipe entity lemah
Untuk semua entity lemah yang terdapat di dalam model data,
dibentuk sebuah tabel yang mengandung semua atribut
sederhana dari entity tersebut. Namun primary key entity lemah
diperoleh dari entity kuat, sehingga primary key dari entity
lemah belum dapat diidentifikasikan sampai semua hubungan
dengan entity kuat telah selesai dipetakan.
•
Tipe relasi biner one to many (1 : *)
Untuk setiap relasi biner one to many, entity pada ‘sisi satu’
akan dirancang sebagai parent entity dan entity pada ‘sisi
banyak’ dirancang sebagai child entity.
•
Tipe relasi biner one to one (1 : 1)
Membuat relasi untuk menggambarkan suatu hubungan one to
one sedikit lebih rumit karena cardinality tidak dapat digunakan
untuk membantu mengidentifikasi parent entity dan child entity.
20
Oleh karena itu digunakan beberapa pertimbangan berikut untuk
membentuk relasi.
- Mandatory participation di kedua sisi pada hubungan one to
one, dimana kedua entity akan dikombinasikan ke dalam satu
tabel, dan kemudian memilih salah satu primary key dari
kedua entity yang asli sebagai primary key untuk tabel baru.
- Mandatory participation di salah satu sisi pada hubungan one
to one, dimana duplikat primary key dari parent entity akan
ditempatkan pada tabel yang akan merepresentasikan child
entity.
- Optional participation di kedua sisi pada hubungan one to
one, dimana penentuan parent entity dan child entity dapat
berubah-ubah.
•
Relasi rekursif one to one (1 : 1)
Aturan untuk relasi rekursif one to one sama seperti aturan
untuk relasi one to one yang telah dijelaskan diatas.
•
Tipe relasi Superclass/Subclass
Untuk setiap relasi superclass/subclass, entity superclass akan
didefinisikan sebagai parent entity dan entity subclass sebagai
child entity.
•
Tipe relasi biner many to many (* : *)
Untuk setiap relasi many to many, dibentuk sebuah tabel untuk
menggambarkan hubungan-hubungan dan atribut-atribut yang
menjadi bagian dari relasi tersebut. Duplikat primary key dari
21
entity-entity
yang
berpartisipasi
dalam
relasi
ini
akan
ditempatkan di dalam tabel baru sebagai foreign key.
•
Tipe relasi kompleks
Untuk setiap relasi kompleks, dibuat sebuah tabel untuk
menggambarkan hubungan-hubungan dan atribut-atribut yang
menjadi bagian dari relasi tersebut. Duplikat primary key dari
entity-entity yang berpartisipasi di dalam relasi ini akan
ditempatkan di dalam tabel baru sebagai foreign key.
•
Atribut Multi-Valued
Untuk setiap atribut multi-valued di dalam sebuah entity, dibuat
sebuah tabel baru untuk menggambarkan atribut multi-valued,
termasuk primary key dari entity tersebut ke dalam tabel baru
yang akan ditempatkan sebagai foreign key.
c. Validasi relasi dengan menggunakan teknik normalisasi
Langkah ini bertujuan untuk memvalidasi relasi-relasi yang ada di
dalam model data logikal lokal guna memastikan bahwa model data
yang dihasilkan sudah hampir sesuai dengan yang diinginkan oleh
perusahaan, konsisten, memiliki jumlah redundansi yang minimum,
serta memiliki tingkat kestabilan yang maksimum.
d. Validasi relasi terhadap transaksi pengguna
Langkah ini bertujuan untuk memastikan bahwa relasi-relasi yang
ada di dalam model data logikal lokal dapat mendukung transaksitransaksi yang dibutuhkan oleh perusahaan.
22
e. Penentuan batasan integritas
Langkah ini bertujuan untuk menentukan batasan-batasan integritas
agar dapat melindungi basis data dari ketidakkonsistenan.
f. Peninjauan kembali model data logikal lokal dengan pengguna
Langkah ini bertujuan untuk memastikan bahwa model data logikal
lokal dan dokumen-dokumen pendukung yang menjelaskan model
data tersebut merupakan gambaran tujuan yang sesungguhnya.
2.4.2.2 Membangun dan Memvalidasi Model Data Logikal Global
Tahap ini bertujuan untuk menggabungkan model-model data
logikal lokal ke dalam sebuah model data logikal global yang akan
mewakili perusahaan. Tahap ini terbagi menjadi empat langkah, yaitu :
a. Menggabungkan model data logikal lokal ke dalam model global
Langkah ini bertujuan untuk menggabungkan semua model data
logikal lokal individu ke dalam sebuah model data logikal global
perusahaan.
b. Validasi model data logikal global
Langkah ini bertujuan untuk memvalidasikan tabel-tabel yang
dibentuk dari model data logikal global dengan menggunakan
teknik normalisasi, serta untuk memastikan bahwa model ini dapat
mendukung transaksi-transaksi yang dibutuhkan.
c. Memeriksa perkembangan di masa depan
Langkah ini bertujuan untuk menentukan apakah terdapat
perubahan penting yang mungkin terjadi di waktu mendatang dan
23
telah dapat diduga sebelumnya, serta untuk memperkirakan apakah
model data logikal dapat mengakomodasi perubahan tersebut.
d. Peninjauan kembali model data logikal global dengan pengguna
Langkah ini bertujuan untuk memastikan bahwa model data logikal
global tersebut merupakan gambaran tujuan yang sesungguhnya.
2.4.3 Perancangan Basis Data Fisikal
Perancangan basis data fisikal adalah proses pendeskripsian hasil
implementasi basis data pada media penyimpanan tambahan, dimana dalam
deskripsi tersebut dijelaskan tentang relasi-relasi dasar, organisasi file, serta
indeks-indeks yang digunakan untuk memperoleh akses data yang efisien,
batasan-batasan integritas yang terasosiasi, dan tindakan-tindakan pengamanan
(Connolly & Begg, 2002, p.478). Tahap-tahap dalam perancangan basis data
fisikal yaitu :
2.4.3.1 Menerjemahkan Model Data Logikal Global Untuk Target DBMS
Tahap ini bertujuan untuk menghasilkan skema relasional basis
data dari model data logikal global yang dapat diimplementasikan ke
dalam target DBMS. Tahap ini terbagi menjadi tiga langkah, yaitu :
a. Merancang relasi dasar
Langkah ini bertujuan untuk menentukan bagaimana cara
merepresentasikan tabel-tabel yang telah diidentifikasi dalam model
data logikal global pada target DBMS.
24
b. Merancang representasi data yang sudah diperoleh
Langkah ini bertujuan untuk menentukan bagaimana cara
merepresentasikan setiap data yang sudah diperoleh dan telah tersaji
di dalam model data logikal global pada target DBMS.
c. Merancang batasan perusahaan
Langkah ini bertujuan untuk merancang batasan-batasan perusahaan
untuk target DBMS.
2.4.3.2 Merancang Representasi Fisikal
Tahap ini bertujuan untuk menentukan organisasi-organisasi file
yang optimal untuk menyimpan relasi-relasi dasar dan indeks-indeks
yang dibutuhkan guna memperoleh performa yang diharapkan. Tahap
ini terbagi menjadi empat langkah, yaitu :
a. Analisis transaksi
Langkah ini bertujuan untuk memahami fungsionalitas dari setiap
transaksi yang akan dijalankan di basis data, serta menganalisis
transaksi-transaksi penting.
b. Pemilihan organisasi file
Langkah ini bertujuan untuk menentukan organisasi file yang
efisien untuk setiap relasi dasar.
c. Penentuan indeks
Langkah ini bertujuan untuk menentukan apakah penambahan
indeks dapat meningkatkan performa sistem.
25
d. Memprediksi kebutuhan kapasitas disk
Langkah ini bertujuan untuk memperkirakan jumlah ruang disk
yang dibutuhkan oleh basis data.
2.4.3.3 Merancang Keinginan Pengguna
Langkah ini bertujuan untuk merancang keinginan pengguna
yang telah diidentifikasikan sejak tahap pengumpulan dan analisis
kebutuhan pada siklus hidup aplikasi basis data relasional.
2.4.3.4 Merancang Mekanisme Keamanan
Langkah ini bertujuan untuk merancang mekanisme keamanan
bagi basis data yang telah dispesifikasikan oleh pengguna.
2.4.3.5 Mempertimbangkan Pengenalan Tentang Redundansi Terkontrol
Langkah ini bertujuan untuk menentukan apakah pengenalan
redundansi di dalam sebuah cara yang terkontrol dengan mengurangi
aturan-aturan normalisasi akan dapat meningkatkan performa sistem.
2.4.3.6 Memantau Sistem Operasional
Langkah ini bertujuan untuk memantau sistem operasional dan
menunjukkan performa sistem guna memperbaiki keputusan-keputusan
rancangan yang tidak sesuai, atau merefleksikan perubahan kebutuhan.
2.5 Teori Penjualan
Kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa, baik
secara kredit maupun tunai (Mulyadi, 2002, p.202). Dalam transaksi kredit, jika
pesanan dari pelanggan telah dipenuhi dengan pengiriman barang atau penyerahan
jasa, maka untuk jangka waktu tertentu perusahaan memiliki piutang kepada
pelanggannya. Kegiatan penjualan secara kredit ini ditangani oleh perusahaan
26
melalui sistem penjualan kredit. Sedangkan dalam transaksi penjualan tunai, barang
atau jasa baru akan diserahkan oleh perusahaan kepada pembeli jika perusahaan
telah menerima kas dari pembeli. Kegiatan penjualan secara tunai ini ditangani oleh
perusahaan melalui sistem penjualan tunai.
Dalam transaksi penjualan, tidak semua penjualan berhasil mendatangkan
pendapatan (revenue) bagi perusahaan. Adakalanya pembeli mengembalikan barang
yang telah dibelinya kepada perusahaan. Transaksi pengembalian barang oleh
pembeli ini ditangani perusahaan melalui sistem retur penjualan.
2.5.1 Sistem Penjualan Kredit
Penjualan kredit dilakukan oleh perusahaan dengan cara mengirimkan
barang sesuai dengan pesanan yang diterima dari pembeli, dan untuk jangka
waktu tertentu perusahaan mempunyai tagihan kepada pembeli tersebut. Untuk
menghindari tidak tertagihnya piutang, setiap penjualan kredit yang pertama
kepada seorang pembeli selalu didahului dengan analisis mengenai dapat atau
tidaknya pembeli tersebut diberikan kredit.
Menurut Mulyadi (2002, p.211), fungsi-fungsi yang tekait dalam sistem
penjualan kredit yaitu :
2.5.1.1 Fungsi Penjualan
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab
untuk menerima surat pesanan dari pembeli, mengedit pesanan dari
pelanggan untuk menambahkan informasi yang belum ada pada surat
pesanan tersebut, meminta otorisasi kredit, menentukan tanggal
pengiriman dan dari gudang mana barang akan dikirim, serta mengisi
surat pesanan pengiriman. Fungsi ini juga bertanggung jawab untuk
27
membuat back order pada saat diketahui tidak tersedianya persediaan
untuk memenuhi pesanan dari pelanggan.
2.5.1.2 Fungsi Kredit
Fungsi ini berada di bawah fungsi keuangan yang dalam
transaksi penjualan kredit bertanggung jawab untuk meneliti status
kredit pelanggan dan memberikan otorisasi pemberian kredit kepada
pelanggan. Jika penolakan pemberian kredit seringkali terjadi, maka
pengecekan status kredit perlu dilakukan sebelum fungsi penjualan
mengisi surat pesanan penjualan. Untuk mempercepat pelayanan bagi
pelanggan, surat pesanan pengiriman dikirimkan langsung ke fungsi
pengiriman sebelum fungsi penjualan memperoleh otorisasi kredit dari
fungsi kredit. Namun, tembusan kredit harus dikirimkan ke fungsi
kredit untuk mendapatkan persetujuan kredit dari fungsi tersebut.
Dalam hal otorisasi kredit tidak dapat diberikan, fungsi penjualan akan
memberitahu fungsi pengiriman untuk membatalkan pengiriman barang
kepada pihak pembeli.
2.5.1.3 Fungsi Gudang
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab
untuk menyimpan barang yang dipesan oleh pelanggan, serta
menyerahkan barang ke fungsi pengiriman.
2.5.1.4 Fungsi Pengiriman
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab
untuk menyerahkan barang atas dasar surat pesanan pengiriman yang
diterimanya dari fungsi penjualan. Fungsi ini bertanggung jawab untuk
28
menjamin bahwa tidak ada barang yang keluar dari perusahaan tanpa
ada otorisasi dari yang berwenang. Otorisasi ini dapat berupa surat
pesanan pengiriman yang telah ditandatangani oleh fungsi penjualan,
memo debit yang ditandatangani oleh fungsi pembelian untuk barang
yang dikirimkan kembali kepada pemasok (retur pembelian), surat
perintah kerja dari fungsi produksi mengenai penjualan/pembuangan
aktiva tetap yang sudah tidak dipakai lagi.
2.5.1.5 Fungsi Penagihan
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab
untuk membuat dan mengirimkan faktur penjualan kepada pelanggan,
serta menyediakan salinan faktur bagi kepentingan pencatatan transaksi
penjualan oleh fungsi akuntansi. Fungsi ini berada di bagian penagihan.
2.5.1.6 Fungsi Akuntansi
Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab
untuk mencatat piutang yang muncul dari transaksi penjualan kredit,
membuat dan mengirimkan pernyataan piutang kepada para debitur,
serta membuat laporan penjualan. Disamping itu, fungsi ini juga
bertanggung jawab untuk mencatat harga pokok persediaan yang dijual
ke dalam kartu persediaan. Dalam struktur organisasi, fungsi ini berada
di tangan bagian piutang (sebagai penyelenggara kartu piutang), bagian
jurnal (penyelenggara jurnal penjualan dan pembuatan laporan
penjualan), dan bagian persediaan (sebagai penyelenggara kartu
persediaan).
29
Menurut Mulyadi (2002, p.219), ada tujuh jaringan prosedur yang
membentuk sistem penjualan kredit. Ketujuh prosedur tersebut yaitu :
a. Prosedur order penjualan, dimana fungsi penjualan menerima pesanan dari
pembeli dan menambahkan informasi penting pada surat pemesanan dari
pembeli. Kemudian fungsi penjualan akan membuat surat pengiriman
pesanan dan mengirimkannya kepada berbagai fungsi yang lain.
b. Prosedur persetujuan kredit, dimana fungsi penjualan meminta persetujuan
kredit kepada pembeli tertentu dari fungsi kredit.
c. Prosedur penagihan, dimana fungsi penagihan membuat faktur penjualan
dan mengirimkannya kepada pembeli.
d. Prosedur pencatatan piutang, dimana fungsi akuntansi mencatat tembusan
faktur penjualan ke dalam kartu piutang.
e. Prosedur distribusi penjualan, dimana fungsi akuntansi mendistribusikan
data penjualan menurut informasi yang dibutuhkan oleh manajemen.
f. Prosedur pencatatan harga pokok penjualan, dimana fungsi akuntansi
mencatat total harga pokok produk yang dijual dalam periode akuntansi
tertentu secara periodik.
2.5.2 Sistem Penjualan Tunai
Penjualan tunai dilakukan oleh perusahaan dengan cara mewajibkan
pembeli melakukan pembayaran harga barang terlebih dahulu sebelum barang
diserahkan ke pembeli oleh perusahaan.
Setelah uang diterima oleh perusahaan, barang kemudian diserahkan
kepada pihak pembeli dan selanjutnya transaksi penjualan tunai dicatat oleh
30
perusahaan. Berdasarkan sistem pengendalian internal yang baik, sistem
penerimaan kas dari penjualan tunai mengharuskan :
•
Penerimaan kas dalam bentuk tunai harus segera disetor ke bank
dalam jumlah penuh dengan cara melibatkan pihak lain selain
kasir untuk melakukan pemeriksaan internal.
•
Penerimaan kas dari penjualan tunai yang dilakukan melalui
transaksi kartu kredit melibatkan bank penerbit kartu kredit dalam
pencatatan transaksi penerimaan kas.
Sistem penerimaan kas dari penjualan tunai dibagi menjadi tiga
prosedur, yaitu :
•
Prosedur penerimaan kas dari Over The Counter Sales
•
Prosedur penerimaan kas dari COD Sales (Cash On Delivery
Sales)
•
Prosedur penerimaan kas dari Credit Card Sales
Download