BAB I
TINJUAN TEORITIS
1.1
Tinjauan Umum Judul Sistem Informasi Persediaan Barang
Perkembangan
teknologi informasi yang sangat terasa dalam kehidupan sangat bermanfaat
membantu permasalahan dalam proses suatu kegiatan. Kegiatan yang umumnya
menggunakan peranan teknologi yaitu system informasi adalah pengolahan data
keuangan, pengolahan data persediaan barang dan lain-lain.
Khususnya dalam
pengolahan data persediaan barang system informasi sangatlah bermanfaat dalam
hal ketepatan dan kecepatan prosesnya. Di UD.
ARIF JAYA pasar Inpres Naikoten I proses pengolahan
data persediaan barang tersebut masih menggunakan proses manual yaitu tanpa
terkomputerisasi sehingga menimbulkan beberapa masalah, diantaranya ketidak
tepatan pemeriksaan barang yang masih tersedia, sering tejadinya persediaan
barang yang tidak terkontrol, pencarian data yang masih mneggunakan proses
manual, pembuatan laporan yang masih relative lama karena masih menggunakan
proses manual yaitu dengan tulisan tangan. Melihat pemasalahan tersebut, maka
sangatlah tertarik untuk membahas mengenai Perancangan Sistem Informasi Pengolahan
Data Pemasukkan dan Pengeluaran Barang di toko-toko yang dapat membantu
menyelesaikan masalah yang sedang terjadi.
Ø Tujuan Penulisan
A. Tinjauan Umum
I.
Sebagai salah-satu persyaratan kelulusan
mata kuliah basis data.
II. Menetapkan
ilmu yang telah di pelajari di semester II ini dalam mata kuliah Basis Data
B. Tinjauan Khusus
Tujuan
khusus dari penulisan ini, yaitu mempermudah pimpinan dalam memperoleh
persedian data persediaan barang.
C.
Batasan Masalah
Adapun
permaslahan yang diangkat oleh Penulis, yaitu Bagaimana membuat Database untuk
persediaan stok barang sehingga mempermudah Pimpinan dalam mengambil keputusan.
1.2 Konsep Dasar Basis Data
Pemrosesan basis data
sebagai perangkat andalan sangat diperlukan oleh berbagai institusi dan
perusahaan. Dalam pengembangan sstem informasi diperlukan basis data sebagai
media penyimpanan data. Kehadiran basis data dapat meningkatkan Daya saing
perusahaan tersebut. Basis data dapat mempercepat upaya pelayanan kepada
pelanggan, menghasilkan informasi dengan cepat dan tepat sehingga membantu
pengambilan keputusan untuk segera memutuskan suatu masalah berdasarkan
informasi yang ada.
Banyak aplikasi yang dibuat dengan berlandaskan
pada basis data antara lain: semua transaksi perbankan, aplikasi pemesanan dan penjadwalan
penerbangan, proses regristasi dan pencatatan data mahasiswa pada perguruan
tinggi, aplikasi pemrosesan penjualan, pembelian dan pencatatan data barang
pada perusahaan dagang, pencatatan data pegawai beerta akrifitasnya termasuk
operasi penggajian pada suatu perusahaan, dan sebagainya.
Beberapa informasi pada
perusahaan retail seperti jumlah penjualan, mencari jumlah stok penjualan,
mencari jumlah stok yang tersedia, barang apa yang paling lakudijual pada bulan
ini, dan berapa laba bersih perusahaan dapat diketahui dengan mudah dengan
basis data. Pada perpustakaan, adanya aplikasi pencarian data buku berdasarkan
judul, pengarang atau kriteria lain dapat mudah dilakukan dengan basis data.
Pencarian data peminjam yang terlambat mengembalikan juga mudah dilakukan
sehingga bisa dibuat aplikasi pembuatan surat berdasarkan informasi yang
tersedia.
Dengan memanfaatkan
teknologi jaringan, kemampuan basis data dapat dapat dioptimalkan. Misalnya
transaksi antar cabangpada sebuah perbankan secara online. Begitu banyak yang
dapat diperoleh dengan pemanfaatan basis data. Basis data dapat meningkatkan
daya guna perangkat computer yang mungkin tadinya hanya untuk keperluan game
atau pengetikan dengan aplikasi office.
DEFINISI
BASIS DATA
Basis data adalah kumpulan data yang saling
berelasi. Data sendiri merupakan fakta mengenai obyek, orang, dan
lain-lain. Data dinyatakan dengan nilai (angka,deretan karakter, atau symbol).
Basis data dapat didefinisikn dalam berbagai sudut pandang seperti berikut:
1. Himpunan kelompok data
yang saling berhubungan yang diorganisasikan sedemikian rupa sehingga kelak
dapat dimanfaatkan dengan cepat dan mudah.
2. Kumpulan data yang saling
berhubungan yang disimpan secara bersama sedemikian rupa tanpa pengulangan
(redundancy) yang tidak perlu, untuk memenuhi kebutuhan.
3. Kumpulan file/table/arsip
yang saling berhubungan yang disimpan dalam media penyimpanan elektronik.
TUJUAN
BASIS DATA
Basis data bertujuan untuk mengatur data sehingga diperoleh kemudahan,
ketepatan, dan kecepatan dalam pengambilan kembali. Untuk mencapai tujuan,
syarat sebuah basis data yang baik adalah sebagai berikut;
- Tujuan adanya redundansi dan inkonsistensi data
Redudansi terjadi jika
suatu informasi disimpan di beberapa tempat. Misalnya, ada data mahasiswa yang
memuat NIM, nama, alamat, dan atribut lainnya, sementara kita punya data lain
tentang data KHS mahasiswa yang isinya yang terdapat NIM, nama, mata kuliah,
dan nilai.
2)
Kesulitan Pengaksesan Data
Basis data memiliki
fasilitas untuk melakuakan pencarian informasi dengan menggunakan Query taupun
dari tool untik melihat tabelnya. Dengan fasilitas ini. Kita bias secara
langsung melihat data dari software DBMS-nya. Selain itu, baiss data bias
dihubungkan dengan program aplikasi sehingga memudahkan pengguna dalam
mengakses informasi. Misalnya program aplikasi untuk kasir yang terhubung
dengan basis data . pengguna cukup mengguna fasilitas pencarian ataupun
laporan. Yang tersedia pada program aplikasi untuk mendapatkan informasi stok,
laporan penjualan, dan lain-lain. Dalam basis data, informasi yang diperolah
dari kumpulan data bisa berupa keseluruhan data, sebagai data, data denga
filter tertentu, data yang terurut, ataupun data summary.
Sebagai contoh sederhana
ketika kita ingin mencatat data alamat dan telepon dari kolega kita. Sebagai
orang akan menggunakan buku alamat. Metode pencatat dilakukan dilakukan dengan
menuliskan data setelah catatan terakhir. Ketika kita menginginkan informasi
alamat seseorang kita akan mencari karena informasi yang tersaji tidak terurut.
Ada juga orang mencatat dengan mengelompokan nama berdasarkan abjad. Hal ini
akan lebih mempermudah pencarian karena kita tidak perlu membaca keseluruhan
data, tetapi cukup dalam satu kelompok saja. Tapi masalah baru muncul ketika
jumlah data untuk sekelompokan data abjad teretentu telalu banyak sedangkan
kelompok abjad yang lain masih terlalu sedikit. Dalam metode ini, ada banyak
ruang tidak terpakai jika memberikan ruang yang sama untuk setiap kelompok.
Dalam hal pencarian, kesulitan akan kita temui ketika informasi yang kita ingin
cari dengan kata kunci sebagagian namanya. Misalnya kita akan mencari alamat Anto, sementara yang tercatat dalam
buku catatan adalah Mardianto. Tentu saja kita tidak akan dapat menemukannya
dalam kelompok data dengan huruf depan A. selain itu, tidak selamanya kata
kunci yang diketahui adalah dari nama, tetapi bisa saja yang diketahui adalah
nomer teleponnya, sedangkan yang ingin kita cari adalah alamat dan namanya. Hal
ini merupakan masalah baru dari pencatatan data dengan buku. Basis data bisa
memberikan solusi terhadap permasalahan-permasalahan tersebut diatas.
3)
Multiple
User
Basis data memungkinkan
pengguna data bersama-sama oleh banyak pengguna pada saat yang bersamaan atau
pada saat yang berbeda. Dengan meletakkan basis data pada bagian server yang
bisa diakses kesemua pengguna dari banyak klient, kita sudah menyediakan akses
kesemua pengguna dari computer klient ke sumber informasi yaitu basis data.
Tentu saja pengaksesan oleh pengguna-pengguna ini disesuaikan dengan hak
aksesnya. Misalnya sebuah perguruan tinggi memiliki data tentang mahasiswa,
pembayaran, dan lain-lain yang diletakan dalam sebuah basis data. Bagian
Akademi akan bisa mengakses data-data akademi mahasiswa, Bagian Keuangan akan
diijinkan mengakses data pembayaran mahasiswa, sementara mahasiswa hanya bisa
melihat status akademi/keuangan yang berhubungan dengan dirinya saja. Hal ini
sangat dimungkinkan dengan penyimpanan data dalam basis data.
MANFAAT/KELEBIHAN BASIS DATA
Banyak memanfaat yang
dapat kira peroleh dengan menggunakan basis data. Manfaat/kelebihan basis data
diantaranya adalah:
1)
Kecepatan dan kemudahan (speed)
Dengan menggunakan basis
data pengambilan informasi dapat dilakukan dengan cepat dan mudah. Basis data
memiliki kemampuan dalam mengelompokan, mengurutkan bahkan perhitungan dengan
metematika. Dengan perancangan yang benar, maka penyajian informasi akan dapat
dilakukan dengan cepat dan mudah.
2)
Kebersamaan pemakai
Sebuah basis data dapat
digunakan oleh banyak user san banyak aplikasi. Untuk data-data yang diperlukan
oleh banyak orang/bagian. Tidak perlu dilakukan pencatatan dimasing-masing
bagian, tetapi cukup dengan satu basis data untuk dipakai bersama. Misalnya
data mahasiswa dalam suatu perguruan tinggi, dibutuhkan oleh banyak bagian,
diantaranya: bagian akademik, bagian keuangan, bagian kemahasiswaan, dan
perpustakaan. Tidak harus semua bagian ini memiliki catatan dan semua bagian
bisa mengakses data tersebut sesuai dengan keperluannya.
3)
Pemusatan control data
karena cukup dengan satu
basis data unutk banyak keperluan, pengontrolan terhadap data juga cukup
dilakuan di satu tempat saja. Jika ada perubahan data alamat mahasiswa
misalnya, maka tidak perlu kita meng-update semua data dimasing-masing bagian
tetapi cukup hanya disatu basis data.
4)
Efesiensi ruang penyimpanan (space)
Dengan pemakain bersama,
kita tidak perlu menyediakan tempat penyimpanan diberbagai tempat, tetapi cukup
satu saja sehingga ini akan menghemat ruang penyimpanan data yang dimilikioleh
sebuah organisasi. Dengan teknik perancangan basis data yang benar, kita akan
menyederhanakan penyimpanan sehingga tidak semua data harus disimpan.
5)
Keakuratan (Accuracy)
Penerapan secara ketat
aturan tipe data, domain data, keunikan data, hubungan antara data, dan
lain-lain, dapat menekan keakuratan dalam pemasukan/penyimpanan data.
6)
Ketersediaan
(availability)
Dengan basis data kita dapat mem-backup data, memilah-milah data mana
yang masih diperlukan dan data mana yang perlu kita simpan ke tempat lain. Hal
ini mengingat pertumbuhan transaksi suatu organisasi dari waktu ke waktu
membutuhkan media penyimpanan yang semakin besar.
7)
Keamanan (Security)
Kebanyakan DBMS
dilengkapi dengan fasilitas manajemen pengguna diberikan hak akses yang
berbeda-beda sesuai dengan pengguna dan posisinya. Basis data bisa diberikan
passwordnya untuk membatasi orang yang mengaksesnya.
8)
Kemudahan dalam pembuatan program aplikasi baru
Pengguna basis data
merupakan bagian dari perkembangan teknologi. Dengan adanya basis data
pembuatan aplikasi bisa memanfaatkan kemampuan dari DBMS, sehingga pembuatan
aplikasi tidak perlu mengurusi penyimpanan data, tetapi cukup mengatur
interface untuk pengguna.
9)
Pemakain secara langsung
Basis data memiliki
fasilitas untuk melihat datanya secara langsung dengan tool yang disediakan
oleh DBMS. Untuk melihat data, langsung ke table ataupun menggunakan query.
Biasanya yang menggunakan fasilitas ini adalah user yang sudah ahli, atau
database administrator.
10)
Kebebasan data (Data Independence)
Jika sebuah program telah
selesai dibuat, dan ternyata ada perubahan isi/struktur data. Maka dengan basis
data, perubahan ini hanya perlu dilakukan pada level DBMS tanpa harus
membongkar kembali program aplikasinya.
11)
User view
Basis data penyediaan
pandangan yang berbeda-beda untuk tiap-tiap pengguna. Misalnya kita memiliki
data-data dari perusahaan yang bergerak dibidang retail. Data yang ada berupa
data barang, penjualan, dan pembelian. Ada beberapa jenis pengguna yang
memerlukan informasi terkait dengan data perusahaan tresebut. Mereka adalah
pelanggan, kasir, bagian gudang, bagian akutansi dan manajer. Tidak semua data
boleh diakses oleh semua pengguna. Misalnya kasir dia hanya boleh berhak
melihat informasi nama barang dan harga jualnya. Sementara itu dia berhak untuk
memasukan data penjualan . berbeda dengan pelanggan yang hanya melihat data
keberadaan barang dan harga jual tetapi tidak berhak memasukan atau merubah
data. Sementara itu bagian akutansi berhak melihat keuntungan dari tiap-tiap
barang untuk menganalisa data akutansinya.Basis data mampu memberikan layanan
organisasi seperti ini.
1.3 Konsep Dasar Sistem Basis Data
Data dan
informasi
Data :
fakta-fakta atau kejadian-kejadian yang terjadi yang dikumpulkan dan disimpan
yang menunjukkan jumlah, tindakan atau suatu hal.
Informasi :
data yang diorganisir, diatur, diolah dan diberi arti atau data yang berguna.
Pengertian Sistem Basis
Data
Sistem basis data merupakan
lingkup yang lebih luas dari basis data.
Sistem basis memuat sekumpulan
basis data yang mungkin tidak ada hubungan satu sama lain tetapi secara
keseluruhan mempunyai hubungan sebagai sebuah sistem dengan didukung oleh
komponen lainnya.
Tujuan Basis Data
James martin (1975) dalam edhy
sutanta (2004) membedakan tujuan bais data menjadi 2 kelompok yaitu primer dan
skunder
Tujuan primer: tujuan utama yang
ingin dicapai dalam perancangan dan pengembangan basis data
Tujuan skunder: tujuan tambahan
yang dimaksudkan untuk mencapai tujuan primer.
Tujuan Primer
Ø Data-data
dalam basis data digunakan oleh banyak pemakai
Ø Menjaga
investasi intelektual
Ø Penekanan
biaya
Ø Menghilangkan
proliferasi (terjadinya pengembangan sistem ganda)
Ø Unjuk
kerja (performance)
Ø Kejelasan
data yg tersedia untuk diakses
Ø Kemudahan
pemakaian
Ø Fleksibilitas
penggunaan
Ø Kebutuhan
data dapat dipenuhi dengan cepat
Ø Perubahan
yang mudah
Ø Akurasi
dan konsistensi
Ø Privasi
Ø Keamanan
Ø Ketersediaan
Tujuan Sekunder
Ø Independensi
data secara fisik
Ø Independensi
data secara logika
Ø Pengendalian/minimalisasi
perangkapan data (redudancy data)
Ø Kecepatan
akses
Ø Kecepatan
pencarian
Ø Standarisasi
data
Ø Tersedianya
kamus data
Ø Interface
pemrograman tingkat tinggi
Ø Bahasa
end user
Ø Pengendalian
integritas
Ø Kecepatan
pemulihan kembali dari kerusakan
Ø Kemampuan
perubahan untuk penyesuaian
Ø Perancangan
dan pengawasan alat-alat
Ø Pengorganisasian
kembali (migrasi) data dapat dilakukan secara otomatis
1.4. Arisitektur Sistem Basis Data
Arsitektur basis data
memberikan kerangka kerja bagi para pengembang sistem basis data.
Ada tiga (3) level
arsitektur system basis data, yaitu
1.
Level fisik / Internal
Level fisik merupakan
level paling rendah yang menggambarkan bagaimana data disimpan secara fisik.
Misalnya kita memiliki data mahasiswa. Pada level fisik data mahasiswa
dipandang dengan memperhatikan bahwa dalam data tersebut ada atribut nama yang
disimpan pada media penyimpanan (disk) sepanjang 20 byte.
2. Level Konseptual /
Logika
Level ini menggambarkan
data apa yang disimpan dalam basis data dan hubungan relasi yang terjadi antara
data dari keseluruhan basis data.
3. Level Pandangan
Pengguna ( User View Level ) / Eksternal
Level ini merupakan
level abstraksi data tertinggi yang menggambarkan hanya sebagian saja yang
dilihat dan dipakai dari keseluruhan database. Hal ini disebabkan beberpa
pengguna database tidak membutuhkan semua is database. Yang dimaksud dengan
user/pengguna disini adalah programmer, end user, atau DBA. Setiap user
mempunyai ‘bahasa’ yang sesuai dengan kebutuhannya, antara lain:
a. Programmer: bahasa yang digunkan adalah abahasa
pemrograman seperti C, COBOL, atau PL/I.
b.
End
user: bahasa yang digunakan adalah bahasa query atau
menggunakan fasilitas yang tersedia pada program aplikasi.
Pada
level eksternal ini, user dibatasi pada kemampuan peragkat keras dan perangkat
lunak yang digunakan aplikasi basisdata.
Arsitektur basisdata
sangat dipengaruhi oleh system computer dimana ia dijalankan, terutama oleh
aspek arsitektur computer seperti jaringan, paralelisme, dan distribusi.
·
Jaringan computer memungkinkan beberapa
tugas dieksekusi pada system server dan beberapa lainnya pada system client.
Pembagian pekerjaan memunculkan system basisdata client-server.
· Pemrosesan
parallel dalam system computer memungkinkan aktivitas system basisdata
dipercepat, repons lebih cepat pada transaksi, serta lebih banyak transaksi
yang dapat direspos per detik. Query dapat diproses dengan mengeksploitasi
paralisme yang ditawarkan oleh system computer. Kebutuhan akan pemrosesan query
parallel memunculkan system basisdata parallel.
· Distribusi
data ke seluruh tempat atau departemen dalam organisasi memungkinkan data
berada di tempat dimana mereka dibuat atau paing dibutuhkan, tetapi masih tetap
dapat di akses dari tempat lain dari departemen lain. Dengan menyimpan banyak
salinan basisdata kebeberapa tempat, organisasi besar dapat melanjutkan operasi
basisdata mereka bahkan ketika satu tempat dipengaruhi oleh bencana alam
seperti banjir, kebakaran, atau gempa bumi. System basisdata terdistribusi
menangani data yang terdistribusi secara geografis atau adminstratif dan tersebar
kebaynyak system basisdata.
1.5
ENTITY RELATIONSHIP DIAGRAM (ERD)
Entity Relationship Diagram (ERD) merupakan model
konseptual yang mendefinisikan hubungan antara penyimpanan atau store. Entity
Relationship Diagram (ERD) digunakan untuk memodelkan struktur data dan
hubungan antar data.
Struktur logis (skema database) dapat ditumujkkan
secara grafis dengan diagram ER yang dibentuk dari komponen-komponen berikut :
Entitas
|
Persegi
panjang memwakili kumpulan entitas
Atribut
|
Elips mewakili
atribut
relas
|
Belah
ketupat mewakili relasi
Garis menghubungkan
atribut dengan kumpulan entitas dan kumpulan entitas dengan relasi.
Masing-masing komponen diberi nama entitas atau
bagian system basis data sebagai ilustrasi, bayangkan Anda mengambil bagian
system basisdata persedian barang yang terdiri atas Supplier dan pelanggan.
Supplier
|
memiliki
|
Pelanggan
|
I M M I
Kode_Supplier Kode_Pelanggan
Nama_Supplier Nama_Pelanggan
Alamat_Supplier Alamat_Pelanggan
Telpon Telpon
Email_Supplier email_Pelanggan
Gambar 1.1
Diagram ER
Sebagai
tambahan model ER menyajikan pula batasan diman isi basis data harus
menyesuaikan dengan batasan. Salah satu batasan yang penting adalah pemetaan
kardinalitas (mapping cardinalities), yang menggambarkan jumlah entitas yang
berhubungan dengan entitas lain melalui suatu relasi. Misalnya, jika suatu
pelanggan dapat memiliki lebih dari satu pelanggan, model ER dapat
menunjukkannya.
Memiliki
|
Kode_Supplier
Kode_Pelanggan
|
Supplier
|
Kode_Supplier
Nama_Supplier
Alamat_Supplier
Telpon
Email_Supplier
|
Pelanggan
|
Kode_Pelanggan
Nama_Pelanggan
Alamat_Pelanggan
Telpon
Email_Pelanggan
|
Gambar 1.2 Model
ER
Model
Relasional
Model relasional menggunakan sekumpulan tabel untuk
menyajikan, baik data maupun relasi, diantara data-data. Masing-masing tabel
mempunyai sejumlah kolom dan masing-masing kolom mempunyai nama unik
Model-model
Data lainnya
Model data beroorientasi objek (object oriented data model) adalah model data lain yang semakin
menarik perhatikan. Model dapat dipandang sebagai pengembagai model ER dengan
pada pembungkusan (encapsulation),
metode (fungsi), dan identitas objek.
Model data relasional objek (object relational data model) menggabungkan model data berorientasi
objek dengan model data relasional.
Model data yang semistructured
mengizinkan spesifikasi data dimana masing-masing data bertipe sama bias
mempunyai atribut berbeda. Ini berbeda dengan model data yang disebut di atas,
si mana setiap data dengan tipe tertentu harus mempunyai atribut nama.
Dua model data lain, yaitu model data jaringan (network data model) dan model data
hierarki (hierarchical data model),
telah ada terlebih dahulu sebelum model data relasional. Namun, keduanya jarang
digunakan.
Membuat
ERD
Entity relationship Diagram adalah alat pemodelan
data utama dan akan membantu mengorganisasi data dalam suatu proyek ke dalam
entitas-entitas dan menentukan hubungan antar entitas. Proses memungkinkan analis
menhasilkan struktur basisdata yang baik sehingga data dapat disimpan dan di
ambil secara efisien.
Entitas (Entity)
Entitas adalah sesuatu yang nyata atau abstrak di
mana kita akan menyimpan data. Ada 4 entitas, yaitu misalnya
pegawai,pembayaran,kampus dan buku. Contoh suatu entitas disebut instansi,
misalnya pegawai Adi, pembayaran Joko, dan lain sebagainya.
Relasi (Relationship)
Relasi adalah hubungan alamiah yang terjadi antara
satu atau lebih entitas, misalnya proses pembayaran pegawai. Kardinalitas
menentukan kejadian suatu entitas untuk satu kejadian pada entitas yang
berhubungan. Misalnya mahasiswa bias mengambil banyak mata kuliah.
Atribut (Atribute)
Atribut adalah cirri umum semua atau sebagian besar
instansi pada entitas tertentu. Sebutan lain atribut adalah property, elemen
data, dan field. Misalnya nama, alamat, nomor pegawai dan gaji adalah atribut
atau kombinasi atribut yang mengidentifikasikan satu dan hanya satu instansi
suatu entitas disebut kunci utama atau pengenal. Misalnya, nomor pegawai adalah
kunci utama untuk pegawai.
1.6
NORMALISASI DATA
Normalisasi
merupakan cara pendekatan dalam membangun desain logika basis data relasional
yang tidak secara langsung dengan model data, tetapi dengan menerapkan sejumlah
aturan dan criteria standar untuk menghasilkan struktur tabel yang normal. Pada
dasarnya desain logika basis data relasional dapat menggunkan prinsip
normalisasi maupun transformasi dari model E-R ke bentuk fisik.
Dalam
perspektif normalisasi sebuah database dikatakan baik jika tabel yang membentuk
basis data sudah berada dalam keadaan normal. Suatu tabel dikatakan normal,
jika :
a.
Jika ada dekomposisi/penguraian tabel,
maka dekomposisi dijamin aman (lossless-join decomposition).
b.
Terpelihara ketergantungan functional
pada saat perubahan data (dependency preservation).
c.
Tidak melanggar Boyce Code Normal Form
(BCNF). Jika tidak bias minimal tidak melanggar bentuk nomalisasi ketiga.
1. TEKNIK
NORMALISASI
Salah satu topic yang cukup kompleks dunia
manajemen database adalah proses untuk menormalisasi tabel-tabel dalam database
relasional. Bentuk-bentuk normalisasi
dan teknik-teknik yang digunakan dalam melakukan normalisasi.
Dengan
demikian kita ingin mendesain database relasional yang terdiri dari tabel-tabel
berikut:
(a) Berisi data yang diperlukan.
(b)Memiliki sesedikit mungkin redunsasi.
(c) Mengakomodasi banyak nilai untuk
type data yang diperlukan.
(d)Mengefiensikan update.
(e) Menghindari kemungkinan
kehilangan data secara tidak disengaja/tidak diketahui.
Alasan
utama dari normalisasi database minimal sampai dengan bentuk normal ketiga adalah menghilangkan kemungkinan adanya
“insertion anomalies”, “deletion anomalies”, dan “update anomalies. Tipe-tipe
kesalahan tersebut sangat mungkin terjadi pada database yang tidak normal.
“insertion
anomaly” adalah sebuah kesalahan dalam penempatan informasi entry data baru ke
seluruh tempat dalam database dimana informasi tersebut disimpan. Dalam
database yang telah dinormalisasi, proses pemusukan suatu informasi baru hanya
perlu dimasukan ke dalam satu tempat.
“deletion
anomaly” adalah sebuah kesalahan dalam penghapusan suatu informasi dalam
database harus dilakukan dengan penghapusan informasi tersebut dari beberapa
tempat dalam database. Dalam database yang telah dinormalisasi, penghapusan
suatu informasi hanya perlu dilakukan dalam satu tempat dalam database
tersebut.
Sedangkan
dalam melakukan update datu informasi, kesalahan juga dapat terjadi ketika kita
harus melakukan update ke seluruh tempat yang menyimpan informasi tersebut.
Kesalahan ini disebut dengan “update anomaly”.
2.
Konsep Dasar
Normalisasi
adalah bagian perancangan basisdata. Tanpa normalisasi, system basisdata
mnejadi tidak akurat, lambat, tidak efisien, serta tdak memberikan data yang
diharapkan.
Pada
waktu menormalisasi basisdata, ada empat tujuan yang harus dicapai, yaitu:
1. Mengatur data dalam
kelompok-kelompok sehingga masing-masing kelompok hanya
menangani bagian kecil system.
2. Meminimalkan jumlah data berulang dalam
basisdata.
3. Membuat
basisdata yang datanya diakses dan
dimanipulasi secara cepat dan efisien tanpa melupakan integritas data.
4. Mengatur
data sedemikian rupa sehingga ketika memodifikasi data, Anda hanya mengubah pada satu tempat.
Perancangan
basisdata terkadang menyebutkan keempat tujuan dengan istilah integritas data, integritas referensial, dan pengaksesan data.
Tujuan
normalisasi adalah mebuat kumpulan tabel relasional yang bebas dari data
berulang dan dapat dimodifikasi secara benar dan konsisten. Ini berarti bahwa
semua tabel pada basisdata relasional harus berada pada bentuk normal ke tiga
(3NF). Sebuah tabel relasional berada pada 3NF jika dan hanya jika semua kolom
bukan kunci adalah (a) saling independen dan (b) sepenuhnya tergantung pada
semua kunci utama. Saling indepanden bararti bahwa tidak ada kolom bukan kunci
yang tergantung pada sembarang kombinasi kolom lainnya. Dua bentuk normal
pertama adalah langkah antara untuk mencapai tujuan, yaitu mempunyai semua
tabel dalam 3NF.
3.
Aturan Normalisasi
Berikut
adalah aturan-aturan normalisasi:
1.
Hilangkan kelompok berulang-buat tabel
terpisah untuk setiap himpunan atribut yang berhubungan dan tentukan kunci
utama pada masing-masing tabel.
2.
Hilangkan data berulang-jika sebuah
atribut hanya tergantung pada sebagian kunci utama gabungan, pindahlan atribut
ketabel lain.
3.
Hilankan kolom yang tidak tergantung
pada kunci-jika atribut tidak tergantung pada kunci, pindahkan atribut ke tabel
lain.
4.
Pisahkan relasi majemuk-tidak ada tabel
yang bias mengandung dua atau lebih relasi 1: atau n:m yang tidak berhubungan
langsung.
5.
Pisahkan relasi majemuk yang berhubungan
secara semantik-ada batasan pada informasi yang memperbolehkan pemisahan relasi
many-to-many yang berhubngan secara logis.
6.
Bentuk normal optimal-sebuah model hanya
dibatasi oleh fakta sederhana.
7.
Bentuk normal domain-key-sebuah model
harus terbebas dari semua anomaly.
4.
Bentuk Normal Pertama (1NF)
Contoh
yang kita gunakan disini adalah sebuah perusahaan yang mendapatkan barang dari
sejumlah pemasok. Masing-masing pemasok bereda pada satu kota. Sebuah kota
dapat menpunyai lebih dari satu pemasok dan masing-masing kota mempnyai kode
status sendiri. Masing-masing pemasok bias menyediakan banyak barang. Tabel
relasionalnya dapat di tulis sebagai berikut:
Pemasok
(#,status, kota, b#,qty) dimana
P# : kode pemasok (kunci utama)
Status : kode status kota
Kota : nama kota
B# : barang yang dipasok
Qty : jumlah barang yang dipasok
Supaya
bias digabungkan jumlah barang yang dipasok (qty) secara unik dengan barang
(b#) dan pemasok (p#), kita menggunakan kunci utama gabungan yang tersusun dari
b# dan p#.
Swebuah
tabel relasional secara definisi selalu berada dalam bentuk normal pertama.
Semua nilai pada kolom-kolomnya adalah atomic. Ini berarti kolom-kolom tidak
mempunyai nilai berulang. Gambar 1.6.1 menunjukkan
tabel pemasok dalam 1NF.
P#
|
Status
|
Kota
|
B#
|
qty
|
P1
|
20
|
Yogyakarta
|
B1
|
300
|
P1
|
20
|
Yogyakarta
|
B2
|
200
|
P1
|
20
|
Yogyakarta
|
B3
|
400
|
P1
|
20
|
Yogyakarta
|
B4
|
200
|
P1
|
20
|
Yogyakarta
|
B5
|
100
|
P1
|
20
|
Yogyakarta
|
B6
|
100
|
P2
|
10
|
Medan
|
B1
|
300
|
P2
|
10
|
Medan
|
B2
|
400
|
P3
|
10
|
Medan
|
B2
|
200
|
P4
|
20
|
Yogyakarta
|
B2
|
200
|
P4
|
20
|
Yogyakarta
|
B4
|
300
|
P4
|
20
|
Yogyakarta
|
B5
|
400
|
Tabel 1.1 Bentuk normal I
Meskipun
berada pada 1NF, tabel pemasok mengandung data berulang. Sebagai contoh,
informasi tentang lokasi pemasok dan status lokasi harus diulang untuk setiap
barang yang dipasok. Perulangan menyebabkan apa yang disebut update anomalies.
Update anomalies adalah masalah yang timbul ketika informasi ditambahkan,
dihapus, atau di upadate. Sebagai contoh, anomaly berikut dapat terjadi pada
tabel pemasok :
1.
Insert.
Fakta bahwa pemasok tertentu (p5) berlokasi pada kota tetentu (Bandung) tidak
dapat ditambahkan hingga mereka memasok barang.
2.
Delete.
Jika sebuah baris harus dihapus, maka yang hilang tidak hanya informasi barang
dan jumlahnya, tetapi juga informasi tentang pemasok.
3.
Update.
Jika pemasok p1 pindah dari Yogyakarta ke Jakarta, maka enam baris harus
di-update karena perubahan.
5.
Bentuk Normal Kedua (2NF)
Definisi
normal kedua menyatakan bahwa tabel dengan kunci utama gabungan hanya dapat
berada pada 1Nf, tetapi tidak pada 2NF. Sebuah tabel relasional berapa pada
bentuk normal kedua jika dia berada pada 1NF dan setiap kolom bukan kunci harus
tergantung pada seluruh kolom yang membentuk kunci utama. Tabel pemasok berada
pada 1NF, tetapi tidak pada 2NF karena status dan kota terrgantung secara fungsional
hanya dapat pada kolom p# dari kunci gabungan (p#, b#). Ini dapat digambarkan
dengan membuat daftar ketergantungan fungsional.
P# kota, status
kota
status
(p#, b#) qty
Proses mengubah tabel 1NF ke 2NF adalah
:
1. Tentukan
sembarang kolo penentu selain kunci gabungan dan kolom-kolom yang
ditentukannya.
2. Buat
dan beri nama tabel untuk masing-masing penentu dan kolom-kolom yang ditentukan
nya.
3. Pindahkan
kolom-kolom yang ditentukan dari tabel asal ke tabel baru, penentu akan menjadi
kunci utama pada tabel baru.
4. Hapus
kolom yang baru dipindahkan ke tabel asal, kecuali penentu yang akan berfungsi
sebagai kunci tamu.
5. Tabel
asal biasa diberi nama baru.
Pada contoh, kita memindahkan kolom
p#,status, dan kota ke tabel baru yang disebut PEMASOK2, kolom p# menjadi kunci
utama tabel ini. Gambar 1.6.2 menunjukkan hasil nya.
PEMASOK2 BARANG
P#
|
B#
|
Qty
|
P1
|
B1
|
300
|
P1
|
B2
|
200
|
P1
|
B3
|
400
|
P1
|
B4
|
200
|
P1
|
B5
|
100
|
P1
|
B6
|
100
|
P2
|
B1
|
300
|
P2
|
B2
|
400
|
P3
|
B2
|
200
|
P4
|
B4
|
200
|
P4
|
B5
|
300
|
P#
|
Status
|
kota
|
P1
|
20
|
Yogyakarta
|
P2
|
10
|
Medan
|
P3
|
10
|
Medan
|
P4
|
20
|
Yogyakarta
|
P5
|
30
|
Bandung
|
Tabel 1.2 tabel bentuk normal II
6. Bentuk Normal Ketiga
(3NF)
Bentuk
normal ketiga mengharuskan semua kolom pada tabel relasional tergantung hanya
pada kunci utama. Secara definisi, sebuah tabel berada pada betuk normal ketiga
(3NF) jika tabel sudah berada pada 2NF setiap kolom yang bukan kunci tidak
tergantung secara transitif pada kunci utamanya. Dengan kata lain, semua
atribut bukan kunci tergantung secara secara fungsional hanya pada kunci utama.
Tabel BARANG sudah dalam bentuk normal ketiga. Kolom bukan kunci, qty,
tergantung sepenuhnya pada kunci utama (p#, b#). PEMASOK masih berada pada 2NF,
tetapi belum berada pada 3NF karena dia mengandung ketergantungan transitif.
Ketrgantungan transitif terjadi ketika sebuah kolom bukan kunci, yang
ditentukan oleh kinci utama, menetukan kolom lainnya. Konsep ketregantungan
transitif dapat digambarkan dengan menunjukkan ketergantungan fungsional pada
PEMASOK2, yaitu :
PEMASOK2
p# PEMASOK2.status
PEMASOK2 p# PEMASOK2.kota
PEMASOK2.kota PEMASOK2.status
Perlu dicatat bahwa
PEMASOK2.status ditentukan, baik oleh kunci utama p#, maupun kolom bukan kunci,
kota.
Proses mengubah tabel
menjadi 3NF adalah :
1. Tentukan
semua penentu selain kunci utama dan kolom yang ditentukannya.
2. Buat
dan beri nama tabel baru untuk masing-masing penentu dan kolom yang
ditentukannya.
3. Pindahkan
kolom yang ditentukan dari tabel asal ke tabel baru. Penentu menjadi kunci
utama tabel baru.
4. Hapus
kolom yang baru saja dipindahkan dari tabel asal, kecuali penetu yang akan
berfungsi sebagai kunci tamu.
5.
Tabel
asal bias diberi nama baru.
Untuk mengubah PEMASOK2
menjadi 3NF, kita membuat tabel baru yang disebut KOTA_STATUS dan memindahkan
kolom kota dan status ke tabel baru. Status dihapus dari tabel asal, kota tetap
dibiarkan karena akan berfungsi sebagai kunci asing badi KOTA_STATUS, dan tabel
asal diberi nama baru PEMASOK_KOTA. Tabel 1.3 menunjukkan hasilnya.
PEMASOK_KOTA KOTA_STATUS
P#
|
Kota
|
P1
|
Yogyakarta
|
P2
|
Medan
|
P3
|
Medan
|
P4
|
Yogyakarta
|
P5
|
Bandung
|
Kota
|
Status
|
Yogyakarta
|
20
|
Medan
|
10
|
Bandung
|
30
|
Semarang
|
40
|
Tabel 1.3 Bentuk normal III
Perubahan
ke 3NF menghasilkan tuga tabel dan dapat dinyatakan dalam PpseudoSQL” sebagai
berikut :
BARANG
(p#, qty)
Kunci
Utama (p#, b#)
Foreign
Key (kota) references PEMASOK_KOTA.p#
PEMASOK_KOTA(p#,
kota)
Kunci
Utama (p#)
Foreign
Key (kota) references KOTA_STATUS.kota
KOTA_STATUS(kota,
status)
Kunci
utama (kota)
Keuntungan
untuk normal ketiga adalah menghilangkan data berulang sehingga akan menghemat
ruang dan mengurangi anomaly.
Sebagai
contoh peningkatan pada contoh tabel diatas adalah :
1.
INSERT. Fakta tentang status sebuah
kota, semarang mempunyai status 40, dapat ditambahkan meskipun tidak ada
pemasok dikota tersebut. Demikian pula, fakta tentang pemasok baru dapat
ditambahkan meskipun mereka belum memasok barang.
2.
DELETE. Informasi tentang barang barang
yang dipasok dapat dihapus tanpa menghilangkan informasi tentang pemasok atau
kota.
3.
UPDATE. Perubahan lokasi pemasok atau
status suatu kota hanya membutuhkan modifikasi satu baris.
7.
Bentuk Normal Keempat
Sebuah tabel relasional berada pada bentuk normal
keempat (4NF) jika dia dalam BCNF dan semua ketergantungan multivalue merupakan
ketergantungan fungsional.
Bentuk normal keempat (4NF) didasarkan pada konsep
ketergantungan multivalue (MVD). Sebuah ketergantungan multivalue terjadi
ketika dalam sebuah tabel relasional yang mengandung aetidaknya tiga kolom,
satu kolom mempunyai banyak baris bernilai sama, tetapi kolom lain bernilai
berbeda. Definisi secara formal diberikan oleh C.J Date, yaitu :
Misalnya,
ada sebuah tabel relasional R dengan kolom A, B, dan C, maka R.A R.B (kolom A menentukan kolom B).
Adalah benar jika dan hanya jika
himpunan nilai B yang cocok dengan pasangan nilai A dan nilai C pada R hanya
tergantung pada nilai A dan tidak tergantung pada nilai C.
MVD
selalu terjadi dalam pasangan, yaitu R.A
R.B dipenuhi jika dan hanya jika R.A R.C dipenuhi pula.
Misalnya, pegawai ditugaskan ke baynak
proyek dan ia mempunyai banyak keahlian. Jika kita mencatat informasi ini pada
satu tabel, ketiga atribut harus digunakan sebagai kunci karena tidak ada satu
atribut pun yang dapat secara unik mengidentifikasikan sebuah record.
Hubungan antara peg# dan pry# merupakan
ketergantungan multivalue karena untuk setiap pasang nilai peg#/ahli pada
tabel, himpunan nilai pry# yang berhubungan hanya ditentukan oleh peg# dan
tidak tergantung pada ahli. Hubungan peg# dan ahli merupakan ketergantungan
multivalue karena himpunan nilai ahli untuk pasangan peg#/pry# selalu hanya
tergantung pada peg#.
Untuk mengubah sebuah tabel dengan
ketergantungan multivalue kedalam 4NF, pindahkan masing-masing pasangan MVD ke
tabel baru. Tabel 1.4 menunjukkan hasilnya.
`
PEGAWAI_PROYEK
PEGAWAI_AHLI
Peg#
|
Pry#
|
1211
|
P1
|
1211
|
P3
|
Peg#
|
ahli
|
1211
|
Analisis
|
1211
|
Perancangan
|
1211
|
pemrograman
|
Tabel 1.4 Bentuk normal keempat
(4NF)
BAB
II
PERANCANGAN
SISTEM
2.1
Normalisasi
Bentuk
tidak normal
SISTEM INFORMASI PERSEDIAAN
BARANG
UD. ARIF JAYA
PASAR INPRES NAIKOTEN 1 KUPANG
(0380)
828225
Kode
Supplier : S01 Nama Supplier : M. Andi
Kode
Terima : T01 Kode
Pelanggan : C01
Kode Keluar : KK1 Nomor
Bon : 001
Kode
Barang : B01
Nama
Barang : Sendok
Stock : 15 Ls
Jumlah : 180 Sendok
Dikirim : 05-02-2012
Keterangan : Lunas
Tdt Penerima
…………………………….
Terima kasih atas Pemesanan anda
Gambar 2.1
bentuk tidak normal
Normalisasi merupakan
tahap akhir dalam perancangan database. Normalisasi dibuat untuk mengetahui
komplekstisitas data yang akurat. Biasanya normalisasi data dibuat minimal
hingga 3 normalisasi.
Berikut adalah
tahap-tahap dalam normalisasi :
1) Normalisasi
tahap pertama
Tabel Keluar Barang
|
Kode_Barang *
|
Nama_Barang
|
Stock
|
Jumlah
|
Penerimaan
|
Permintaan
beli
|
Tabel_Detail
|
Kode_Barang
|
Nama_Barang
|
Jumlah
|
Tabel_Supplier
|
Kode_Supplier
*
|
Nama_Supplier
|
Alamat
|
Telpon
|
Email
|
Tabel_Penerimaan
|
Kode_Terima *
|
Tanggal_terima
|
Kode_Supplier
|
Nomor_Bon
|
Total_Terima
|
Pengeluaran
|
Tabel
2.1 Normalisasi I
2) Normalisasi
tahap kedua
Tabel
Keluar Barang
|
Kode_Barang *
|
Nama_Barang
|
Kode_Keluar
**
|
Stock
|
Jumlah
|
Dikirm
|
Keterangan
|
Permintaan
beli
|
Tabel_Detail
|
Kode_Barang **
|
Nama_Barang
|
Jumlah
|
Tabel_Pengeluaran
|
Kode_Keluar *
|
Tanggal_Keluar
|
Kode_costumer
**
|
Nomor_Bon
|
Tanggal_Minta
|
Total_Kirim
|
Tabel_Supplier
|
Kode_Supplier
*
|
Nama_Supplier
|
Alamat
|
Telpon
|
Email
|
Tabel_Penerimaan
|
Kode_Terima *
|
Tanggal_terima
|
Kode_Supplier **
|
Nomor_Bon
|
Total_Terima
|
Tabel 2.2
Normalisasi II
3) Normalisasi
tahap ketiga
Tabel
Keluar Barang
|
Kode_Barang *
|
Nama_Barang
|
Kode_Keluar **
|
Stock
|
Jumlah
|
Dikirm
|
Keterangan
|
Tabel_Detail
|
Kode_Barang **
|
Nama_Barang
|
Jumlah
|
Tabel_Pelanggan
|
Kode_Costumer
*
|
Nama_Costumer
|
Alamat
|
Telpon
|
Email
|
Tabel_Pengeluaran
|
Kode_Keluar *
|
Tanggal_Keluar
|
Kode_costumer
**
|
Nomor_Bon
|
Tanggal_Minta
|
Total_Kirim
|
Tabel
Permintaan beli
|
Kode_Permintaan
*
|
Tanggal_Terima
|
Total_Minta
|
Kode_Supplier
|
Kode_Costumer
**
|
Detail_Permintaan_Beli
|
Tabel_Penerimaan
|
Kode_Terima *
|
Tanggal_terima
|
Kode_Supplier **
|
Nomor_Bon
|
Total_Terima
|
Tabel supplier
|
Kode_Supplier
*
|
Nama_Supplier
|
Alamat
|
Telpon
|
Email
|
Tabel 2.3 Normalisasi III
4) Normalisasi
tahap keempat
Tabel
Keluar Barang
|
Kode_Barang *
|
Nama_Barang
|
Kode_Keluar **
|
Stock
|
Jumlah
|
Dikirm
|
Keterangan
|
Tabel
Permintaan beli
|
Kode_Permintaan
*
|
Tanggal_Terima
|
Total_Minta
|
Kode_Supplier
**
|
Kode_Costumer
**
|
Detail_Permintaan_Beli
|
Tabel_Detail
|
Kode_Barang **
|
Nama_Barang
|
Jumlah
|
Tabel detail permintaan beli
|
Nomor_Permintaan
|
Kode_Barang
**
|
Jumlah
|
Tabel_Penerimaan
|
Kode_Terima *
|
Tanggal_terima
|
Kode_Supplier **
|
Nomor_Bon
|
Total_Terima
|
Tabel detail Penerimaan
|
Kode_Terima **
|
Kode_Barang **
|
Jumlah
|
Tabel_Pengeluaran
|
Kode_Keluar
*
|
Tanggal_Keluar
|
Kode_costumer
**
|
Nomor_Bon
|
Tanggal_Minta
|
Total_Kirim
|
Tabel supplier
|
Kode_Supplier
*
|
Nama_Supplier
|
Alamat
|
Telpon
|
Email
|
Tabel_Pelanggan
|
Kode_Costumer
*
|
Nama_Costumer
|
Alamat
|
Telpon
|
email
|
Tabel
2.4 normalisasi IV
2.2
PERANCANGAN TABEL
Tabel
1 Kamus Data Tabel Supplier
NO_TABEL
|
Kode_tabel
|
Nama_tabel
|
|
Jenis_tabel
|
|
|
DI.sistem
|
DI.program
|
|
1
|
D1
|
|
|
|
KUNCI PRIMER
|
Kode_Supplier
|
Kode_Supplier
|
|
|
Kunci_sekunder
|
|
|
|
|
|
|
|
|
|
Nomor
|
Nama_field
|
Tipe_field
|
Lebar_field
|
|
D1
.sistem
|
D1.program
|
|||
1
|
Kode_
Supplier
|
Kode_
Supplier
|
Text
|
3
|
2
|
Nama_Supplier
|
Nama_Supplier
|
Text
|
30
|
3
|
Alamat_Supplier
|
Alamat_Supplier
|
Tetx
|
30
|
4
|
Telepon_Supplier
|
Telepon_Supplier
|
Text
|
12
|
5
|
Email_Supplier
|
Email_Supplier
|
Text
|
20
|
Tabel 2.5 Tabel
Supplier
Tabel
2 Kamus Data Detail Permintaan Beli
NO_TABEL
|
Kode_tabel
|
Nama_tabel
|
|
Jenis_tabel
|
|
|
DI.sistem
|
DI.program
|
|
2
|
D2
|
|
|
|
KUNCI PRIMER
|
|
|
|
|
Kunci_sekunder
|
|
|
|
|
|
|
|
|
|
Nomor
|
Nama_field
|
Tipe_field
|
Lebar_field
|
|
D1 .sistem
|
D1.program
|
|||
1
|
Nomor_Permintaan
|
Nomor_Permintaan
|
Text
|
3
|
2
|
Kode_Barang
|
Kode_Barang
|
Text
|
3
|
3
|
Jumlah
|
Jumlah
|
Tetx
|
10
|
Tabel 2.6 Tabel
Detail Permintaan Beli
Tabel
3 Kamus Data Tabel Pelanggan
NO_TABEL
|
Kode_tabel
|
Nama_tabel
|
|
Jenis_tabel
|
|
|
DI.sistem
|
DI.program
|
|
3
|
D3
|
|
|
|
KUNCI PRIMER
|
Kode_Costumer
|
Kode_Costumer
|
|
|
Kunci_sekunder
|
|
|
|
|
|
|
|
|
|
Nomor
|
Nama_field
|
Tipe_field
|
Lebar_field
|
|
D1 .sistem
|
D1.program
|
|||
1
|
Kode_ Costumer
|
Kode_ Costumer
|
Text
|
3
|
2
|
Nama_Costumer
|
Nama_Costumer
|
Text
|
20
|
3
|
Alamat_Costumer
|
Alamat_Costumer
|
Tetx
|
20
|
4
|
Telepon_Costumer
|
Telepon_Costumer
|
Text
|
12
|
5
|
Email_Costumer
|
Email_Costumer
|
Text
|
20
|
Tabel 2.7 Tabel
Pelanggan
Tabel
4 Kamus Data Tabel Keluar Barang
NO_TABEL
|
Kode_tabel
|
Nama_tabel
|
|
Jenis_tabel
|
|
|
DI.sistem
|
DI.program
|
|
4
|
D4
|
|
|
|
KUNCI PRIMER
|
Kode_Barang
|
Kode_Barang
|
|
|
Kunci_sekunder
|
Kode_Keluar
|
Kode_Keluar
|
|
|
|
|
|
|
|
Nomor
|
Nama_field
|
Tipe_field
|
Lebar_field
|
|
D1 .sistem
|
D1.program
|
|||
1
|
Kode_ Keluar
|
Kode_ Keluar
|
Text
|
3
|
2
|
Nama_Barang
|
Nama_Barang
|
Text
|
20
|
3
|
Kode_Barang
|
Kode_Barang
|
Tetx
|
3
|
4
|
Stock
|
Stock
|
Text
|
10
|
5
|
Jumlah
|
Jumlah
|
Text
|
10
|
6
|
Dikirim
|
Dikirim
|
Date/Time
|
General Date
|
7
|
Keterangan
|
Keterangan
|
Memo
|
|
Tabel 2.8 Tabel
Keluar Barang
Tabel
5 Kamus Data Tabel Detail
NO_TABEL
|
Kode_tabel
|
Nama_tabel
|
|
Jenis_tabel
|
|
|
DI.sistem
|
DI.program
|
|
5
|
D5
|
|
|
|
KUNCI PRIMER
|
|
|
|
|
Kunci_sekunder
|
Kode_Barang
|
Kode_Barang
|
|
|
|
|
|
|
|
Nomor
|
Nama_field
|
Tipe_field
|
Lebar_field
|
|
D1
.sistem
|
D1.program
|
|||
1
|
Kode_
Barang
|
Kode_
Barang
|
Text
|
3
|
2
|
Nama_Barang
|
Nama_Barang
|
Text
|
20
|
3
|
Jumlah
|
Jumlah
|
Text
|
10
|
Tabel
2.9 Tabel Detail Barang
Tabel
6 Kamus Data Tabel Detail Penerimaan
NO_TABEL
|
Kode_tabel
|
Nama_tabel
|
|
Jenis_tabel
|
|
|
DI.sistem
|
DI.program
|
|
6
|
D6
|
|
|
|
KUNCI PRIMER
|
|
|
|
|
Kunci_sekunder
|
Kode_Terima
|
Kode_Terima
|
|
|
|
|
|
|
|
Nomor
|
Nama_field
|
Tipe_field
|
Lebar_field
|
|
D1
.sistem
|
D1.program
|
|||
1
|
Kode_
Terima
|
Kode_
Terima
|
Text
|
3
|
2
|
Kode_Barang
|
Kode_Barang
|
Text
|
3
|
3
|
Jumlah
|
Jumlah
|
Text
|
10
|
Tabel
2.10 Tabel Detail Penerimaan
Tabel
7 Kamus Data Tabel Penerimaan
NO_TABEL
|
Kode_tabel
|
Nama_tabel
|
|
Jenis_tabel
|
|
|
DI.sistem
|
DI.program
|
|
8
|
D8
|
|
|
|
KUNCI PRIMER
|
Kode_Terima
|
Kode_TMP
|
|
|
Kunci_sekunder
|
Kode_Supplier
|
Kode_Barang
|
|
|
|
|
|
|
|
Nomor
|
Nama_field
|
Tipe_field
|
Lebar_field
|
|
D1
.sistem
|
D1.program
|
|||
1
|
Kode_Terima
|
Kode_Terima
|
Text
|
3
|
2
|
Tanggal_Terima
|
Tanggal_Terima
|
Date/Time
|
General
Date
|
3
|
Kode_Supplier
|
Kode_Supplier
|
Tetx
|
3
|
4
|
Nomor_Bom
|
Nomor_Bom
|
Text
|
3
|
5
|
Total_Terima
|
Total_Terima
|
Text
|
15
|
Tabel 2.11
Penerimaan
Tabel
8 Kamus Data Tabel Pengeluaran
NO_TABEL
|
Kode_tabel
|
Nama_tabel
|
|
Jenis_tabel
|
|
|
DI.sistem
|
DI.program
|
|
9
|
D9
|
|
|
|
KUNCI PRIMER
|
Kode_Keluar
|
Kode_Keluar
|
|
|
Kunci_sekunder
|
Kode_Costumer
|
Kode_Costumer
|
|
|
|
|
|
|
|
Nomor
|
Nama_field
|
Tipe_field
|
Lebar_field
|
|
D1
.sistem
|
D1.program
|
|||
1
|
Kode_Keluar
|
Kode_Keluar
|
Text
|
3
|
2
|
Tanggal_Keluar
|
Tanggal_Keluar
|
Date/Time
|
General
Date
|
3
|
Kode_Costumer
|
Kode_Costumer
|
Tetx
|
3
|
4
|
Nomor_Bom
|
Nomor_Bom
|
Text
|
3
|
5
|
Total_Minta
|
Total_Mnita
|
Text
|
15
|
6
|
Total_Kirim
|
Total_Kirim
|
Text
|
15
|
Tabel 2.12 Tabel
Pengeluaran
Tabel
9 Kamus Data Tabel Permintaan Detail
NO_TABEL
|
Kode_tabel
|
Nama_tabel
|
|
Jenis_tabel
|
|
|
DI.sistem
|
DI.program
|
|
10
|
D10
|
|
|
|
KUNCI PRIMER
|
Nomor_Permintaan
|
Nomro_permintaan
|
|
|
Kunci_sekunder
|
Kode_Supplier
|
Kode_costumer
|
|
|
|
|
|
|
|
Nomor
|
Nama_field
|
Tipe_field
|
Lebar_field
|
|
D1 .sistem
|
D1.program
|
|||
1
|
Nomor_Permintaan
|
Nomor_Permintaan
|
Text
|
3
|
2
|
Tanggal_terima
|
Tanggal_terima
|
Date/Time
|
General Date
|
3
|
Total_Minta
|
Total_Minta
|
Tetx
|
15
|
4
|
Kode_Supplier
|
Kode_Supplier
|
Text
|
3
|
5
|
Kode_Costumer
|
Kode_Costumer
|
Text
|
3
|
Tabel 2.13 Tabel
Pemintaan Detail
2.3
TAHAP PEMBUATAN ENTITY RELATIONSHIP DIAGRAM
Kode_Supplier Kode_Costumer
Nama_Supplier Nama_Costumer
Alamat_Supplier Alamat_Costumer
Telpon_Supplier telpon_costumer
Supplier
|
Memiliki
|
Pelanggan
|
Memiliki
|
Memiliki
|
Penerimaan
|
Memiliki
|
Detail Penerimaan
|
Memiliki
|
Detail Permintaan Beli
|
Pengeluaran
|
Terdapat
|
Keluar Barang
|
Mendetailkan
|
Detail
|
Memiliki
|
Memiliki
|
Permintaan Beli
|
I m I
I
M
I
Kode_Terima Kode_Keluar
Tgl_Terima Tgl_Keluar
m Kode_supplier Kode_Costumer
No_Bon Nomor_Bon
Total_Terima Total_Minta
Total_Kirim
Kode_Keluar M
I Kode_Barang
Nama_Barang M I
Stock
Jumlah Kode_Barang
Dikirim Nama_Barang
Jumlah
M I
No_Permintaan
Tgl_Minta
Kode_Terima
Total_Minta
Kode_Barang Kode_Supplier
Jumlah Kode_Costumer
I
M
I No_Permintaan
Kode_Barang
Jumlah
GAMBAR 2.2 ENTITY
RELATIONSHIP DIAGRAM (ERD)
BAB
III
IMPLEMENTASI
3.1 MENU UTAMA
Gambar
3.1 Tampilan menu utama
Pada bagian ini, penulis menggunakan fasilitas
access “Switchboard Manager” supaya ketika menginput atau melihat data secara
langsung tidak perlu lagi secara manual tetapi cukup dengan menekan toombol tertentu
saja sehingga lebih efektif dan efesien.
Ada 6 tombol yang digunakan untuk mengakses data
dalam menu utama ini yaitu :
1. Tombol
Tambah, berfungsi untuk memasukkan data.
2. Tombol
Simpan
a.
Form
Supplier
Gambar 3.2 Form Supplier
Dalam Form
data Supplier, terdapat 5 command button. Tombol Tambah untuk menambah data
baru, tombol Batal unutk membatalkan data yang dimasukkan, tombol Simpan unutk
menyimpan data, tombol Hapus untuk menghapus data. Jika ingin menhapus data ,
pilih salah satu record yang ingin dihapus maka akan tampak perintah seperti
gambar dibawah ini :
Gambar
3.3 Perintah Delete Record
Klik tombol Yes untuk menghapus record yang
diinginkan atau tombol NO untuk membatalkan penghapusan. Dan tombol keluar
untuk keluar dari Form Supplier.
b.
Form
Pelanggan
Gambar
3.4 Form Pelanggan
Dalam Form data Pelanggan, terdapat 5 command button.
Tombol Tambah untuk menambah data baru, tombol Batal untuk membatalkan data
yang dimasukkan, tombol Simpan untuk menyimpan data, tombol Hapus untuk
menghapus data. Jika ingin menghapus data, pilih salah satu record yang ingin
dihapus, lalu kita klik pada command button hapus maka akan tampak perintah
seperti pada gambar dibawah ini :
Gambar
3.5 Perintah Delete Record
Klik tombol Yes untuk menghapus record yang
diinginkan atau tombol NO untuk membatalkan penghapusan. Dan tombol keluar
untuk keluar dari Form Pelanggan.
c. Form Keluar Barang
Gambar
3.6 Form Keluar Barang
Dalam Form data Keluar Barang, terdapat 5 command
button. Tombol Tambah untuk menambah data baru, tombol Batal untuk membatalkan
data yang dimasukkan, tombol Simpan untuk menyimpan data, tombol Hapus untuk
menghapus data. Jika ingin menghapus data, pilih salah satu record yang ingin
dihapus, lalu kita klik pada command button hapus maka akan tampak perintah
seperti pada gambar dibawah ini :
Gambar
3.7 Perintah Delete Record
Klik tombol Yes untuk menghapus record yang
diinginkan atau tombol NO untuk membatalkan penghapusan. Dan tombol keluar
untuk keluar dari Form Keluar Barang.
Selain itu, dalam Form Keluar Barang terdapat juga
SubForm, yaitu SubForm Detail yang memiliki 1 Field Jumlah.
d.
Form
Penerimaan
Gambar
3.8 Form Penerimaan
Dalam Form data Penerimaan, terdapat 5 command
button. Tombol Tambah untuk menambah data baru, tombol Batal untuk membatalkan
data yang dimasukkan, tombol Simpan untuk menyimpan data, tombol Hapus untuk
menghapus data. Jika ingin menghapus data, pilih salah satu record yang ingin
dihapus, lalu kita klik pada command button hapus maka akan tampak perintah
seperti pada gambar dibawah ini :
Gambar
3.9 Perintah Delete Record
Klik tombol Yes untuk menghapus record yang
diinginkan atau tombol NO untuk membatalkan penghapusan. Dan tombol keluar
untuk keluar dari Form Keluar Barang.
Selain itu, dalam Form Penerimaan terdapat juga
SubForm, yaitu SubForm Detail yang memiliki 1 Field Jumlah.
e.
From
Pengeluaran
Gambar
3.10 Form Pengeluaran
Dalam Form data Pengeluaran, terdapat 5 command
button. Tombol Tambah untuk menambah data baru, tombol Batal untuk membatalkan
data yang dimasukkan, tombol Simpan untuk menyimpan data, tombol Hapus untuk
menghapus data. Jika ingin menghapus data, pilih salah satu record yang ingin
dihapus, lalu kita klik pada command button hapus maka akan tampak perintah
seperti pada gambar dibawah ini :
Gambar
3.11 Perintah Delete Record
Klik tombol Yes untuk menghapus record yang
diinginkan atau tombol NO untuk membatalkan penghapusan. Dan tombol keluar
untuk keluar dari Form Pengeluaran.
f.
From
Mendetailkan Permintaan Beli Barang
Gambar
3.12 Form Permintaan Beli Barang
Dalam Form data Penerimaan, terdapat 5 command
button. Tombol Tambah untuk menambah data baru, tombol Batal untuk membatalkan
data yang dimasukkan, tombol Simpan untuk menyimpan data, tombol Hapus untuk
menghapus data. Jika ingin menghapus data, pilih salah satu record yang ingin
dihapus, lalu kita klik pada command button hapus maka akan tampak perintah
seperti pada gambar dibawah ini :
Gambar
3.13 Perintah Delete Record
Klik tombol Yes untuk menghapus record yang
diinginkan atau tombol NO untuk membatalkan penghapusan. Dan tombol keluar
untuk keluar dari Form Keluar Barang.
Selain itu, dalam Form Penerimaan terdapat juga
SubForm, yaitu SubForm Detail yang memiliki 2 Field Kode Barang dan Jumlah.
3.2
MENU CETAK
Di dalam Menu Cetak terdapat 5 laporan, yaitu
laporan Data Supplier, Laporan Data Pelanggan, Laporan Data Keluar Barang,
Laporan Data Penerimaan dan Laporan Data Pemintaan Beli. Jika kita ingin
melihat cetak laporan dari Supplier, Pelanggan, Keluar Barang, Penerimaan dan
Permintaan Beli, kita tinggal memilih option-option dari menu cetak yang kita
ingin kan. Lakukan perintah yang sama pada setiap Menu Cetak yang lainnya.
Gambar
3.14 Cetak Laporan Data Supplier
Untuk mencetak laporan data Supplier, dapat
diperoleh dari tabel Supplier kemudian diproses. Seteleah diproses, laporan
dicetak dan diberi kepimpinan.
Gambar
3.15 Cetak Laporan Data Pelanggan
Untuk mencetak laporan data Pelanggan, dapat
diperoleh dari tabel Pelanggan kemudian diproses. Seteleah diproses, laporan
dicetak dan diberi kepimpinan.
Gambar
3.16 Cetak Laporan Data Keluar Barang
Untuk mencetak laporan data Keluar Barang, dapat
diperoleh dari tabel Keluar Barang kemudian diproses. Seteleah diproses,
laporan dicetak dan diberi kepimpinan.
Gambar
3.17 Cetak Laporan Data Penerimaan
Untuk mencetak laporan data Penerimaan, dapat
diperoleh dari tabel Penerimaan kemudian diproses. Seteleah diproses, laporan
dicetak dan diberi kepimpinan.
Gambar
3.18 Cetak Laporan Data Penerimaan
Untuk mencetak laporan data Keluar Barang, dapat
diperoleh dari tabel Keluar Barang kemudian diproses. Seteleah diproses, laporan
dicetak dan diberi kepimpinan.
3.3
Keluar
Option yang terakhir,
yaitu Keluar berfungsi untuk keluar dari program yang sedang dijalankan.
BAB
IV
PENUTUP
4.1 KESIMPULAN
a. Sistem
Informasi Persediaan Barang yang ada dan yang sementara digunakan pada umumnya
bersifat manual meskipun sudah menggunakan teknologi computer.
b. Dalam
penerapan system yang digunakan saat ini masih terdapat beberapa permasalahan
diantaranya pengolahan data dalam dalam jumlah banyak menambah volume pekerjaan
serta meningkatnya resiko kesalahan manual yang tinggi disamping laporan yang
sering kali terlambat karena tidak tersedianya data secara akurat pada saat
dibutuhkan.
c. Dengan
system Informasi Persediaan Barang yang berbasis computer sebagaimana telah
dijabarkan pada bab-bab terdahulu diharapkan dapay meninggatkan efisiensi
pengolahan data.
4.2 SARAN
a. Pimpinan
harus terus mengontrol persediaan data stock barang yang ada sehingga tidak
terjadi keterlambatan pangadaan barang yang dibutuhkan oleh pelanggan.
b. Pimpinan
juga harus terus memperhatikan masa kadarluarsa dan kondisi barang agar tidak
terjadi keracunan bagi pelanggan..
DAFTAR
PUSTAKA
Buku Basis Data Oleh : Janner Simarmata,
Iman Paryudi Penerbit ANDI Yogyakarta
Gaspez, Vincent. 1992. Analisis Sistem
Terapan. Berdasarkan Pendekatan teknik
Industru Bandung. Trasito
Modul Basis Data
Disusun Oleh Yermias J.I
leuhoe, S. Kom
Kristanto Ir. Harianto, Konsep dan Perancangan Database. Andi
Yogyakarta. 1994
Tidak ada komentar:
Posting Komentar