BAB 2 LANDASAN TEORI
2.1
Analisis dan Perancangan Sistem 2.1.1 Pengertian Analisis Menurut McLeod (1995, p234), Analisis sistem adalah meneliti sistem yang sudah ada dengan tujuan untuk merancang sistem yang baru atau diperbaharui. Menurut Laudon (1998, p400), Analisis sistem adalah memeriksa masalah yang ada dan akan diselesaikan oleh perusahaan dengan menggunakan sistem informasi.
2.1.2 Pengertian Perancangan Menurut Laudon (1998, p400), Perancangan sistem adalah cara bagaimana sebuah sistem dapat memenuhi kebutuhan informasi yang telah ditentukan oleh analisa sistem.
2.2
Pengantar Sistem Informasi Sistem Basis Data penting bagi pengembangan sofware engineering. Database merupakan kerangka dasar Sistem Informasi. 2.2.1 Pengertian Sistem Menurut Jogiyanto (1995, p1) terdapat dua kelompok pendekatan di dalam mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponen atau elemennya. 9
10
Pendekatan yang lebih menekankan pada prosedur mendefinisikan sistem sebagai suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu. Pendekatan sistem yang merupakan jaringan kerja dari prosedur lebih menekankan urutan operasi dalam sistem. Menurut Richard F. Neuschel, prosedur adalah suatu urutan operasi klerikal (tulis-menulis), biasanya melibatkan beberapa orang di dalam satu atau lebih departemen, yang diterapkan untuk menjamin penanganan yang seragam dari transaksi-transaksi bisnis yang terjadi. Pendekatan sistem yang lebih menekankan pada elemen atau komponennya mendefinisikan sistem sebagai kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu. Menurut Bodnar (2000, p1) sistem adalah kumpulan sumber daya yang berhubungan untuk mencapai tujuan tertentu. Menurut McLeod (2001, p11) sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Menurut Mulyadi (2000, p2) suatu sistem pada dasarnya adalah sekelompok unsur yang erat berhubungan satu dengan lainnya, yang berfungsi bersama-sama untuk mencapai tujuan tertentu. Menurut Wilkinson (1993, p3) sistem merupakan kerangka kerja terpadu yang terdiri dari dua atau lebih elemen-elemen yang saling terkait dan mempunyai sasaran yang akan dicapai, dengan mengkoordinasikan sumber daya manusia untuk mengubah masukan menjadi keluaran.
11
Menurut Kamus Besar Bahasa Indonesia (1990), sistem adalah seperangkat unsur yang secara teratur saling berkaitan sehingga membentuk suatu totalitas.
2.1.1.1 Karakteristik Sistem Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu :
-
Komponen-komponen (components)
-
Batas Sistem (boundary)
-
Lingkungan luar sistem (environments)
-
Penghubung (Interface)
-
Masukan (input)
-
Keluaran (output)
-
Pengolah (process)
-
Sasaran (objectives)
-
Tujuan (goal)
2.2.2 Pengertian Informasi Informasi sangat penting di dalam suatu organisasi. Suatu sistem yang kurang informasi akan menjadi luruh, kerdil dan akhirnya berakhir. Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya.
12
Sumber dari informasi adalah data. Data merupakan bentuk jamak dari bentuk tunggal datum atau data-item. Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadiankejadian (event) adalah sesuatu yang terjadi pada saat yang tertentu. Di dalam dunia bisnis, kejadian-kejadian nyata yang sering terjadi adalah perubahan dari suatu nilai yang disebut dengan transaksi. Misalnya penjualan adalah transaksi perubahan nilai barang menjadi nilai uang atau nilai piutang dagang. Kesatuan nyata (fact dan entity) adalah berupa suatu objek nyata seperti tempat, benda dan orang yang betul-betul ada dan terjadi.
2.2.3 Pengertian Sistem Informasi Menurut Connolly, Sistem Informasi (Information System) adalah sumberdaya yang memungkinkan pengumpulan (collection), pengaturan (management), pengawasan (control) dan penyebaran (dissemination) informasi keseluruh organisasi. Menurut Robert A. Leitch dan K. Roscoe, Sistem Informasi adalah suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan laporan yang diperlukan.
2.3
Pengantar Database Database saat ini sering digunakan dalam kehidupan sehari-hari. Database adalah kumpulan data yang berelasi dan DBMS adalah software untuk
13
mengatur dan mengontrol akses ke database. Sebuah Aplikasi Database adalah program yang berinteraksi dengan database. Dan Sistem Basis Data adalah kumpulan program aplikasi yang berinteraksi dengan database. Contoh aplikasi database, misalnya berbelanja di supermaket dengan menggunakan bar code untuk mencari harga barang yang terdapat di database barang. 2.3.1 Pengantar File-Based Approach Memahami masalah yang terjadi pada File-Based Systems akan mencegah pengulangan kesalahan pada Sistem Basis Data. Bila ingin mengkonversi File-Based Systems menjadi Sistem Basis Data, maka perlu memahami cara kerja sistem file terlebih dahulu. 2.3.1.1 Pengertian File-Based System File-Based System adalah kumpulan program aplikasi yang melayani end users (contoh : laporan). Setiap program mendefinisi dan mengatur masing-masing datanya sendiri.
2.3.1.2 Keterbatasan File-Based Systems 1. Data saling terpisah dan terisolasi, maksudnya :
-
Setiap program mengurus kumpulan datanya sendiri.
-
Tidak menyadari bahwa sebuah program sebenarnya dapat berguna bagi program lain.
2. Duplikasi data, maksudnya :
-
Data yang sama terdapat pada program lain.
14
-
Tempat tidak efisien dan memungkinkan adanya format nilai yang berbeda bagi item yang sama.
3. Ketergantungan Data
-
Suatu perubahan yang terjadi pada satu program, menyebabkan diperlukan penyesuaian oleh program lain dan penyesuaian tersebut harus dilakukan satu persatu.
4. Format file yang tidak kompatibel
-
Program ditulis dengan bahasa yang berbeda-beda, dan tidak mudah mengakses file lain.
5. Query/Ukuran aplikasi program tetap
-
Program ditulis dengan suatu fungsi yang tertentu.
-
Setiap kebutuhan yang baru diperlukan sebuah program yang baru pula.
2.3.2
Pengantar Database Approach Database Approach terbentuk karena diperlukan data yang dapat saling terkait dan dapat digunakan secara bersama-sama, dan memerlukan kemudahan dalam pengendalian terhadap akses dan manipulasi data. Hasil dari permasalahan diatas, maka dibuatlah Database yang dikontrol oleh Database Management System (DBMS).
15
2.3.2.1 Pengertian Database Database adalah Kumpulan data yang berelasi secara logika, didesain untuk mendapatkan informasi yang dibutuhkan sebuah organisasi, sebagai sistem katalog (data dictionary atau metadata) yang mampu mendeskripsikan dirinya sebagai kumpulan record-record yang terintegrasi, data yang berelasi secara logika terdiri dari entities, attributes, dan relationships yang mana ketiga gabungan tersebut merepresentasikan informasi perusahaan.
2.3.2.2 Database Management System (DBMS) Database Management System adalah sebuah software system yang memungkinkan user mendefinisi, membentuk dan mengatur database dan yang mengendalikan akses ke database. DBMS berinteraksi dengan pengguna aplikasi program dan database. DBMS menyediakan fasilitas : 1. Data definition language (DDL), yang berguna untuk menspesifikasikan tipe data, struktur dan constraint data. Semua spesifikasi di simpan dalam database. 2. Data manipulation language (DML), yang berguna untuk memberikan fasilitas query data. 3. Pengendalian akses database, antara lain mengontrol :
-
Keamanan sistem : mencegah user yang tidak memiliki hak akses untuk mengakses database.
16
-
Integritas sistem : menjaga konsistensi data.
-
Pengendalian share data.
-
Backup dan Recovery sistem .
-
Katalog deskripsi data dalam database.
4. Mekanisme View, yang berfungsi untuk menyediakan data yang hanya diinginkan dan diperlukan user.
2.3.2.2.1 Komponen DBMS 1. Hardware , yaitu berupa PC hingga jaringan komputer-komputer. 2. Software , yaitu DBMS, sistem operasi, software jaringan (bila diperlukan) dan juga aplikasi program. 3. Data digunakan organisasi dan deskripsi dari data disebut schema. 4. Prosedur , yaitu instruksi dan aturan yang harus ada pada desain dan kegunaan dari database dan DBMS. 5. People, antara lain : -
Data Administration DA lebih memperhatikan tahapan awal dari lifecycle. DA mengatur sumberdaya data, meliputi: perencanaan database, pengembangan dan pemeliharaan
standar, kebijakan,
prosedur, dan desain database logikal dan konseptual. -
Database Administration DBA mengatur realisasi fisik dari aplikasi database yang meliputi desain fisik database dan implementasi, pengaturan
17
keamanan dan kontrol integritas, pengawasan performa sistem dan pengaturan ulang database.
-
Desainer Database (Logikal dan Fisikal)
-
Programmer Aplikasi
-
End Users •
Naïve : User yang tidak perlu tahu mengenai DB dan DBMS. Hanya menggunakan program aplikasi.
•
Sophisticated : User familiar dengan struktur Database dan DBMS
2.3.2.2.2 Keuntungan dan Kerugian DBMS Keuntungan DBMS :
-
Mengontrol redundansi data
-
Konsistensi data
-
Lebih banyak informasi dari jumlah data yang sama
-
Share data
-
Meningkatkan integritas data
-
Meningkatkan sekuriti
-
Standard pelaksanaan (format data, penamaan, prosedur update)
-
Economy of scale (Data operasional perusahaan dijadikan satu, kemudian aplikasi dibuat dengan menggunakan data source yang tunggal tersebut. Sehingga akan menghemat biaya.)
18
-
Keseimbangan konflik kebutuhan (Database untuk berbagai kepentingan)
-
Meningkatkan aksesibilitas data dan responsiveness
-
Meningkatkan produktivitas
-
Meningkatkan maintenance melalui data independence (Data menjadi global)
-
Meningkatkan konkurensi (mengurangi loss informasi dan loss integrasi)
-
Meningkatkan layanan backup dan recovery
Kerugian dari DBMS :
2.4
-
Kompleksitas
-
Ukuran
-
Biaya DBMS
-
Biaya penambahan hardware
-
Biaya konversi (biaya training, biaya staff spesialis)
-
Performance (tidak bisa running secepat yang diinginkan)
Database Planning, Design, and Administration 2.4.1 Database Application Lifecycle Database merupakan komponen mendasar suatu sistem informasi, dimana pengembangan/pemakaiannya harus dilihat dari perspektif yang lebih luas berdasarkan kebutuhan organisasi.
19
Gambar 2.1 Tahapan Database Aplication Lifecycle
20
2.4.2 Tahapan Database Application Lifecycle Tahapan Database Application Lifecycle, ada sebelas yaitu : 2.4.2.1 Perencanaan Database (Database planning) Merupakan aktivitas manajemen yang memungkinkan tahapan dari database application lifecycle direalisasikan se-efektif dan se-efisien mungkin. Perencanaan database harus terintegrasi dengan keseluruhan strategi sistem informasi dari organisasi. Terdapat 3 hal pokok yang berkaitan dengan strategi sistem informasi, yaitu :
-
Identifikasi rencana dan sasaran (goals) dari enterprise termasuk mengenai sistem informasi yang dibutuhkan.
-
Evaluasi sistem informasi yang ada untuk menetapkan kelebihan dan kekurangan yang dimiliki.
-
Penaksiran kesempatan IT yang mungkin memberikan keuntungan kompetitif.
Metodologi untuk mengatasi hal tersebut diatas yaitu
:
a. Menetapkan Mission Statement: Mission statement
untuk database project mendefinisikan
tujuan utama dari aplikasi database. Mengarahkan database project, biasanya mendefinisikan perintah tugas (mission statement). Mission statement membantu menjelaskan kegunaan dari database project dan menyediakan alur yang lebih jelas untuk mencapai efektifitas dan efisiensi penciptaan dari suatu aplikasi database yang diinginkan.
21
b. Menetapkan Mission Objectives: Ketika mission statement telah didefinisikan, maka mission objectives
didefinisikan.
Setiap
objective
(tujuan)
harus
mengidentifikasikan tugas khusus yang harus didukung oleh database. Dapat juga disertai dengan beberapa informasi tambahan yang menspesifikasikan pekerjaan yang harus diselesaikan, sumberdaya yang digunakan dan biaya untuk membayar kesemuanya itu.
2.4.2.2 Definisi Sistem (System definition) Menjelaskan batasan-batasan dan cakupan dari aplikasi database dan sudut pandang user (user view) yang utama.
User view
mendefinisikan apa yang diwajibkan dari suatu aplikasi database dari perspektif aturan kerja khusus (seperti Manager atau Supervisor) atau area aplikasi enterprise ( seperti Marketing, Personnel, atau Stock Control). Aplikasi database dapat memiliki satu atau lebih user view. Identifikasi user view, membantu memastikan bahwa tidak ada user utama dari suatu database yang terlupakan ketika pembuatan aplikasi baru yang dibutuhkan. User views juga membantu dalam pengembangan aplikasi database yang rumit/kompleks memungkinkan permintaanpermintaan dipecah kedalam bagian-bagian yang lebih simple.
22
2.4.2.3 Analisis dan Pengumpulan Kebutuhan (Requirements collection and analysis) Suatu proses pengumpulan dan analisa informasi mengenai bagian organisasi yang didukung oleh aplikasi database, dan menggunakan informasi tersebut untuk identifikasi kebutuhan user akan sistem yang baru. Informasi dikumpulkan untuk setiap user view utama meliputi :
-
Deskripsi data yang digunakan atau dihasilkan
-
Detil mengenai bagaimana data digunakan/dihasilkan
-
Beberapa kebutuhan tambahan untuk aplikasi database yang baru
2.4.2.4 Database Design Merupakan suatu Proses pembuatan sebuah desain database yang akan mendukung tujuan dan operasi suatu enterprise. Tujuan utamanya adalah :
-
Merepresentasikan data dan relationship antar data yang dibutuhkan oleh seluruh area aplikasi utama dan user group.
-
Menyediakan model data yang mendukung segala transaksi yang diperlukan pada data.
-
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi kebutuhan performa yang ditetapkan pada sistem (misal : waktu respon).
23
Data modeling Ada dua kegunaan utama dari data modelling yaitu :
-
Untuk membantu dalam memahami arti (semantik) dari data.
-
Untuk
memfasilitasi
komunikasi
mengenai
informasi
yang
dibutuhkan.
Kriteria untuk menghasilkan model data yang optimal
-
:
Validitas Struktural (Structural Validity), harus konsisten dengan definisi enterprise dan informasi organisasi.
-
Kesederhanaan (Simplicity), mudah dimengerti baik oleh profesional sistem informasi maupun pengguna non-teknik.
-
Ketepatan (Expressibility), kemampuan untuk membedakan antara data yang berlainan, relationship antar data dan batasan-batasan.
-
Tidak rangkap (Nonredundancy), pengeluaran informasi yang tidak berhubungan, dengan kata lain, representasi setiap bagian informasi hanya satu kali.
-
Digunakan bersama (Shareability), tidak ditentukan untuk aplikasi atau teknologi tertentu dan dapat digunakan oleh banyak pengguna.
-
Perluasan Penggunaan (Extensibility), kemampuan untuk menyusun dan mendukung kebutuhan baru dengan akibat sampingan yang minimal terhadap user yang sudah ada.
24
-
Integritas (Integrity), konsistensi dengan cara yang digunakan enterprise dan pengaturan informasi.
-
Representasi Diagram (Diagrammatic Representation), kemampuan untuk merepresentasikan model menggunakan notasi diagram yang mudah dimengerti.
Tiga fase database design
:
a. Conceptual database design Suatu proses pembentukan model dari informasi yang digunakan dalam enterprise, independen dari keseluruhan aspek fisik. Model data dibangun dengan menggunakan informasi dalam spesifikasi kebutuhan user. Model data konseptual merupakan sumber informasi untuk fase desain logical. •
Langkah 1
Buatlah data model local yang konseptual untuk
setiap user view. 1. Identifikasikan tipe-tipe entity. 2. Identifikasikan tipe-tipe relationship 3. Identifikasi dan hubungkan atribut-atribut dengan tipe entity atau relationship. 4. Tentukan domain atribut. 5. Tentukan atribut kandidat dan primary key. 6. Pertimbangkan penggunaan konsep pemodelan yang tinggi / enhanced modelling (step optional).
25
7. Periksa model untuk redundansi. 8. Validasikan model local konseptual terhadap transaksi user. 9. Tinjau kembali data model local yang konseptual dengan user.
b. Logical database design Suatu proses pembentukan model dari informasi yang digunakan dalam enterprise berdasarkan model data tertentu ( misal : relasional), tetapi independen terhadap DBMS tertentu dan aspek fisik lainnya.
Model data konseptual yang telah dibuat sebelumnya,
diperbaiki dan dipetakan kedalam model data logical. •
Langkah 2
Buat dan validasikan data model local yang logical
untuk setiap view. 1. Remove fitur-fitur yang tidak kompatibel dengan model relational (step optional). 2. Derive relation untuk logical data model. 3. Validasikan hubungan menggunakan normalisasi. 4. Validasikan hubungan terhadap transaksi user. 5. Tentukan batasan integrity. 6. Tinjau kembali model data logical lokal dengan user.
•
Langkah 3
Buat dan validasikan model data logical global
1. Gabungkan model data logical local menjadi model global. 2. Validasikan model data logical global.
26
3. Periksa untuk pengembangan mendatang. 4. Tinjau kembali model data logical global dengan user.
c. Physical database design. Suatu proses yang menghasilkan deskripsi implementasi database pada penyimpanan sekunder.
Menggambarkan struktur
penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Dapat dikatakan juga, desain fisikal merupakan cara pembuatan menuju sistem DBMS tertentu •
Langkah 4
Terjemahkan model data logical global target
DBMS 1. Desain base relation. 2. Desain representasi dari derived data. 3. Desain batasan-batasan perusahaan.
•
Langkah 5
Desain reprensentasi fisikal
1. Analisa transaksi-transaksi. 2. Pilih organisasi file. 3. Pilih indeks-indeks. 4. Perkirakan kebutuhan tempat penyimpanan (disk space).
•
Langkah 6
Desain user view
•
Langkah 7
Desain mekanisme keamanan
27
•
Langkah 8
Pertimbangkan
pengenalan
dari
redundansi
terkontrol •
Langkah 9
Awasi dan atur sistem operasional
2.4.2.5 DBMS selection (optional) Pemilihan DBMS yang tepat untuk mendukung aplikasi database. Dapat dilakukan kapanpun sebelum menuju desain logical asalkan terdapat cukup informasi mengenai kebutuhan sistem.
Tahap-tahap
utama untuk memilih DBMS:
-
Mendefinisikan terminologi studi referensi.
-
Mendaftar dua atau tiga produk.
-
Evaluasi produk.
-
Rekomendasi pilihan dan laporan produk.
2.4.2.6 Desain Aplikasi (Application design) Desain interface user dan program aplikasi yang menggunakan dan memproses database. Desain database dan aplikasi merupakan aktifitas paralel yang meliputi dua aktifitas penting, yaitu : a. Transaction design Transaksi adalah satu aksi atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi, yang mengakses atau merubah isi dari database. Kegunaan dari desain transaksi adalah
28
untuk menetapkan dan keterangan karakteristik high-level dari suatu transaksi yang dibutuhkan pada database, diantaranya
:
o Data yang akan digunakan oleh transaksi. o Karakteristik fungsional dari suatu transaksi. o Output transaksi o Keuntungannya bagi user. o Tingkat kegunaan yang diharapkan.
Terdapat tiga tipe transaksi, yaitu : o retrieval transaction, digunakan untuk pemanggilan (retrieve) data untuk ditampilkan di layar atau menghasilkan suatu laporan. o update transaction, digunakan untuk menambahkan record baru, menghapus record lama, atau memodifikasi record yang sudah ada didalam database. o mixed transaction, meliputi pemanggilan dan perubahan data.
b. User interface design Beberapa aturan pokok dalam pembuatan user interface :
-
Meaningful title, diusahakan pemberian nama suatu form cukup jelas menerangkan kegunaan dari suatu form/report.
-
Comprehensible instructions, penggunaan terminologi yang familiar untuk menyampaikan instruksi ke user dan jika informasi tambahan dibutuhkan, maka harus disediakan helpscreen
29
-
Logical grouping and sequencing of fields, field yang saling berhubungan ditempatkan pada form/report yang sama. Urutan field harus logis dan konsisten.
-
Visually appealing layout of the form/report,
tampilan
form/report harus menarik, dan sesuai dengan hardcopy
agar
konsisten.
-
Familiar field labels, penggunaan label yang familiar.
-
Consistent terminology and abbreviation, terminology dan singkatan yang digunakan harus konsisten.
-
Consistent use of color.
-
Visible space and boundaries for data-entry fields, jumlah tempat yang disediakan untuk data entry harus diketahui oleh user.
-
Convinient cursor movement, user dapat dengan mudah menjalankan operasi yang diinginkan dengan menggerakkan cursor pada form/report.
-
Error correction for individual characters and entire fields, user dapat dengan mudah menjalankan operasi yang diinginkan dan melakukan perubahan terhadap nilai field.
-
Error messages for unacceptable values,
memberikan pesan
kesalahan terhadap nilai yang salah.
-
Optional fields marked clearly, field optional teridentifikasi dengan jelas.
30
-
Explanatory messages for fields, ketika user meletakkan cursor pada suatu field, maka keterangan mengenai field tersebut harus dapat dilihat.
-
Completion signal, indikator yang menjelaskan bahwa suatu proses telah selesai dilaksanakan.
2.4.2.7 Prototyping (optional) Membuat model kerja suatu aplikasi database. Tujuan utama dari pembuatan prototyping adalah :
-
Untuk mengidentifikasi feature dari sistem yang berjalan dengan baik atau tidak.
-
Untuk memberikan perbaikan-perbaikan atau penambahan feature baru .
-
Untuk klarifikasi kebutuhan user.
-
Untuk evaluasi feasibilitas (kemungkinan yang akan terjadi) dari desain sistem khusus.
2.4.2.8 Implementation Merupakan realisasi fisik dari database dan desain aplikasi. Implementasi database dicapai dengan menggunakan :
-
DDL untuk membuat skema database dan file database kosong.
-
DDL untuk membuat user view yang diinginkan.
31
-
3GL dan 4GL untuk membuat program aplikasi. Termasuk transaksi database disertakan dengan menggunakan DML, atau ditambahkan pada bahasa pemrograman.
2.4.2.9 Data conversion and loading Pemindahan data yang ada kedalam database baru dan mengkonversikan aplikasi yang ada agar dapat digunakan pada database yang baru.
Tahapan ini dibutuhkan ketika sistem database baru
menggantikan sistem yang lama. DBMS biasanya memiliki utilitas yang memanggil ulang file yang sudah ada kedalam database baru. Dapat juga mengkoversi dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru.
2.4.2.10 Testing Suatu proses eksekusi program aplikasi dengan tujuan untuk menemukan kesalahan. Dengan menggunakan strategi tes yang direncanakan dan data yang sesungguhnya. Pengujian hanya akan terlihat jika terjadi kesalahan software. Mendemostrasikan database dan program aplikasi terlihat berjalan seperti yang diharapkan.
2.4.2.11 Operational maintenance. Suatu proses pengawasan dan pemeliharaan sistem setelah instalasi, meliputi :
32
-
Pengawasan performa sistem, jika performa menurun maka memerlukan perbaikan atau pengaturan ulang database.
2.5
-
Pemeliharaan dan pembaharuan aplikasi database (jika dibutuhkan).
-
Penggabungan kebutuhan baru kedalam aplikasi database.
Entity-Relationship Modeling 2.5.1
Entity types Konsep dasar dari Model ER adalah Entity Types, yaitu kumpulan dari objek-objek dengan sifat (property) yang sama, yang di identifikasi oleh enterprise mempunyai eksistensi yang independen. Keberadaannya dapat berupa fisik maupun abstrak. Entity occurrence, yaitu pengidentifikasian object yang unik dari sebuah type entity. Setiap entitas di identifikasikan dan disertakan propertynya.
2.5.2
Relationship types Kumpulan
keterhubungan
yang
mempunyai
arti
(meaningful
associations) antara type entitas yang ada. Relationship occurrence, yaitu keterhubungan yang diidentifikasi secara unik yang meliputi keberadaan tiap type entitas yang berpartisipasi. Contoh
:
33
2.5.3
Derajat Relationship Yaitu jumlah entitas yang berpartisipasi dalam suatu relationship. Derajat relationship terdiri dari •
:
Binary relationship, keterhubungan antar dua tipe entitas. Contoh binary relationship antara PrivateOwner dengan PropertyForRent yang disebut POwns.
•
Ternary relationship, keterhubungan antar tiga tipe entitas. Contoh Ternary Relationship yang dinamakan Registers. . Relasi ini melibatkan tiga tipe entiti yaitu Staff, Branch dan Client. Relationship ini menggambarkan staff mendaftarkan client pada branch.
34
•
Quaternary relationship, keterhubungan antar empat tipe entitas. Contoh Quaternary Relationship yang dinamakan
Arranges. Relasi ini
melibatkan 4 entity yaitu Buyer, Solicitor, Financial Intstuttion dan Bid. Relasi ini menggambarkan buyer, diberi masukan oleh Solicitor, dan didukung oleh Financial Institution, melakukan penawaran (bid).
•
Unary relationship, keterhubungan antar satu tipe entitas, dimana tipe entitas tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Kadang disebut juga recursive relationship. Relationship dapat diberikan role names untuk meng-identifikasikan keterkaitan tipe entitas dalam relationship. Contoh entitas Staff supervisor dan staff yang di-supervisor-i.
yang berperan menjadi
35
2.5.4
Attributes Merupakan sifat-sifat (property) dari sebuah entity atau relationship type. Contohnya: sebuah entity Staff digambarkan oleh attribut staffNo, name, position dan salary. Attribute Domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam-macam atribut •
:
Simple Attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute.
•
Composite Attribute, yaitu atribut yang terdiri dari beberapa komponen, dimana
masing-masing
komponen
memiliki
keberadaan
yang
independen. Misalkan atribut Address dapat terdiri dari Street, City, PostCode. •
Single-valued Attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya entitas Branch memiliki satu nilai untuk atribut branchNo pada setiap kejadian.
36
•
Multi-valued Attribute, yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misal entitas Branch memiliki beberapa nilai untuk atribut telpNo pada setiap kejadian.
•
Derived Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas.
Terminologi Alternatif untuk model relational :
2.5.5
Keys •
Super Key : Atribut unik yang mengidentifikasikan row.
•
Candidate Key : Atribut unik yang mengidentifikasikan table. Jumlah minimal
atribut-atribut
yang
dapat
meng-identifikasikan
setiap
kejadian/record secara unik. •
Primary Key : Atribut unik yang mengidentifikasikan setiap row dalam table. Candidate key yang dipilih untuk meng-identifikasikan setiap kejadian/record dari suatu entitas secara unik.
•
Alternate Key : Candidate key yang tidak terpilih menjadi primary key.
•
Composite Key, yaitu Candidate key yang terdiri dari dua atau lebih atribut.
37
•
Foreign Key : Atribut sebuah tabel yang menggabungkan diri ke tabel lain.
2.5.6 Strong and Weak Entity Types Strong Entity Type, yaitu entitas yang keberadaannya tidak bergantung pada entitas lain sedangkan Weak Entity Type, adalah entitas yang keberadaannya bergantung pada entitas lain. Strong Entity Type terkadang disebut dengan parent, owner dominant dan Weak Entity Type disebut child, dependent, subordinate.
2.5.7 Structural Constraints Batasan utama pada relationship disebut multiplicity, yaitu jumlah (atau range) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Relationship yang paling umum adalah binary relationship. Macammacam binary relationship yaitu : •
one-to-one (1:1)
38
•
one-to-many (1 : *)
•
many-to-many (* : *) Summary of Multiplicity Constraints
2.6
Normalisasi 2.6.1 Pengertian Normalisasi Tujuan utama dalam pengembangan model data logical pada sistem database relasional adalah menciptakan representasi akurat suatu data, relationship antar data dan batasan-batasannya. Untuk mencapai tujuan ini, maka harus ditetapkan sekumpulan relasi. Empat bentuk normal yang biasa digunakan yaitu, first normal form (1NF), second normal form (2NF) dan third normal form (3NF), dan Boyce– Codd normal form (BCNF). Konsep utamanya terkait dengan functional dependencies, dimana menerangkan hubungan antar atribut yang ada. Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi kemungkinan terjadinya pengulangan dari update yang tidak baik.
39
Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat (properties) yang diinginkan, memenuhi kebutuhan data pada enterprise. 2.6.2
Data Redundancy Tujuan utama dari desain database relasional adalah untuk mengelompokkan
atribut-atribut
kedalam
relasi-relasi
sehingga
meminimalisasi redundansi data dan mengurangi penggunaan tempat penyimpanan yang dibutuhkan untuh sebuah relasi dasar.
2.6.3
Proses Normalisasi
-
Suatu teknik formal untuk menganalisa relasi berdasarkan primary key dan functional dependencies antar atribut.
-
Dieksekusi dalam beberapa langkah. Setiap langkah mengacu ke bentuk normal tertentu, sesuai dengan sifat yang dimilikinya.
-
Setelah normalisasi diproses, relasi menjadi secara bertahap lebih terbatas/kuat bentuk formatnya dan juga mengurangi tindakan update yang anomali.
2.6.4
Relationship Between Normal Forms
40
2.6.4.1 Unnormalized Form (UNF) •
Merupakan suatu tabel yang berisikan satu atau lebih group yang berulang.
•
Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber informasi kedalam format tabel dengan baris dan kolom.
2.6.4.2 First Normal Form (1NF) •
Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.
•
UNF ke 1NF Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalized. Identifikasikan group yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut. Hapus group yang berulang dengan cara
:
1. Masukkan data yang semestinya kedalam kolom yang kosong pada baris yang berisikan data yang berulang (flattening the table), atau dengan cara 2. Menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya kedalam relasi terpisah.
41
2.6.4.3 Second Normal Form (2NF) •
Berdasarkan pada konsep full functional dependency, yaitu A dan B merupakan atribut dari sebuah relasi, B dikatakan fully dependent terhadap A jika B functionally dependent pada A tetapi tidak pada proper subset dari A.
•
2NF – merupakan sebuah relasi dalam 1NF dan setiap atribut nonprimary-key bersifat fully functionally dependent pada primary key.
•
1NF ke 2 NF Identifikasikan primary key untuk relasi 1NF. Identifikasikan functional dependencies dalam relasi. Jika terdapat partial dependencies terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.
2.6.4.4 Third Normal Form (3NF) •
Berdasarkan pada konsep transitive dependency, yaitu suatu kondisi dimana A, B dan C merupakan atribut dari sebuah relasi, maka jika A Æ B dan B Æ C, maka C transitively dependent pada A melalui B. (Jika A tidak functionally dependent pada B atau C).
•
3NF – Adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitively dependent pada primary key.
•
2NF ke 3NF
42
Identifikasikan primary key dalam relasi 2NF. Identifikasikan functional dependencies dalam relasi. Jika terdapat transitive dependencies terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.
2.7
SQL 2.7.1 Tujuan dari SQL
Idealnya, database language dapat memungkinkan user untuk:
– Membuat struktur relasi dan database; – Melakukan operasi penyisipan (insertion), perubahan (modification) dan penghapusan (deletion) data dari relasi;
– Melakukan query simple dan kompleks.
Database language harus melaksanakan operasi-operasi tersebut dengan usaha minimal yang dilakukan user dan sintaks/struktur instruksi harus mudah dipahami/dipelajari.
Harus portable sehingga memungkinkan untuk pindah dari satu DBMS ke DBMS lainnya.
SQL merupakan transform-oriented language dengan 2 komponen utama:
– DDL untuk definisi struktur database. – DML untuk pengambilan (retrieving) dan perubahan (updating) data.
43
2.7.2 Integrity Enhancement Feature (IEF) ¾ Terdapat 5 tipe batasan integritas -
:
Data yang dibutuhkan (Required data) Beberapa kolom/field harus memiliki nilai yang pasti (tidak diperkenankan
bernilai
NULL).
NULL
digunakan
untuk
merepresentasikan data yang tidak ada/tidak tersedia, hilang atau tidak disertakan. Standar ISO menetapkan keyword NOT NULL untuk mengatasi hal tersebut. -
Batasan domain (Domain constraints) Setiap kolom mempunyai domain, atau dengan kata lain himpunan dari nilai-nilai yang benar.
-
Integritas entitas (Entity integrity) Primary key dari suatu tabel harus berisi nilai yang unik dan non-null untuk setiap barisnya.
-
Integritas referensial (Referential integrity) Foreign Key adalah kolom atau himpunan kolom yang menghubungkan setiap baris dalam child table
yang berisi
Foreign Key dengan parent table yang berisi Primary Key yang sesuai/cocok. Integritas referensial berarti, jika foreign key berisi suatu nilai, maka nilai itu harus mengacu ke suatu baris dalam parent table. -
Batasan enterprise (Enterprise constraints)
44
Standar ISO memungkinkan untuk menetapkan pendefinisian enterprise constraint dengan
menggunakan clause CHECK dan
UNIQUE pada statemen CREATE dan ALTER TABLE dan statemen CREATE ASSERTTION.
2.7.3
Data Manipulation 1. SELECT Statement untuk ambil data dari basis data. Syntax SELECT [DISTINCT | ALL] {* | [columnExpression [AS newName]] [,...] } FROM
TableName [alias] [, ...]
[WHERE condition] [GROUP BY
columnList] [HAVING
[ORDER BY
columnList]
2. INSERT Statement Syntax INSERT INTO TableName [ (columnList) ] VALUES (dataValueList)
3. UPDATE Statement Syntax UPDATE TableName SET columnName1 = dataValue1
condition]
45
[, columnName2 = dataValue2...] [WHERE searchCondition] 4. DELETE Statement Syntax DELETE FROM TableName [WHERE searchCondition]
2.7.4
Data Definition SQL DDL memungkinkan objek database seperti skema, domain, tabel, view, dan index untuk dibuat dan dihapuskan. Statemen SQL-DDL yang utama -
CREATE SCHEMA
-
DROP SCHEMA
-
CREATE/ALTER DOMAIN
-
DROP DOMAIN
-
CREATE/ALTER TABLE
-
DROP TABLE
-
CREATE VIEW
-
DROP VIEW
:
Beberapa DBMS juga menyediakan : -
CREATE INDEX
-
DROP INDEX
46
1. Membuat Table (CREATE TABLE) Untuk membuat tabel dasar dalam database, dengan format sbb : CREATE TABLE TableName {(colName dataType [NOT NULL] [UNIQUE] [DEFAULT defaultOption] [CHECK searchCondition] [,...]} [PRIMARY KEY (listOfColumns),] {[UNIQUE (listOfColumns),] […,]} {[FOREIGN KEY (listOfFKColumns) REFERENCES ParentTableName [(listOfCKColumns)], [MATCH { PARTIAL | FULL } [ON UPDATE referentialAction] [ON DELETE referentialAction ]] [,…]} {[CHECK (searchCondition)] [,…] })
2. Merubah Definisi Tabel (ALTER TABLE) Menambah kolom pada tabel Menghapus kolom dari tabel Menambah batasan kolom Menghapus batasan kolom Menentukan Default untuk kolom Menghapus Default dari kolom
47
Contoh - ALTER TABLE Merubah tabel staff dengan menghapus default dari ‘Assistant’ untuk kolom position dan menentukan default untuk kolom sex menjadi female (‘F’). ALTER TABLE Staff ALTER position DROP DEFAULT; ALTER TABLE Staff ALTER sex SET DEFAULT ‘F’;
3. Menghapus Tabel (DROP TABLE) Format : DROP TABLE TableName [RESTRICT | CASCADE]
2.7.5
Kontrol Akses Privileges Dapat membatasi INSERT/UPDATE/REFERENCES untuk kolom yang ditentukan. Pemilik tabel harus memberikan wewenang kepada user lain hak-hak yang dianggap perlu dengan menggunakan statemen GRANT. Untuk membuat view, user harus mempunyai hak SELECT pada seluruh tabel yang digunakan untuk membuat view dan hak REFERENCE pada kolom tertentu. 1. GRANT Format penulisan GRANT
:
48
GRANT
{PrivilegeList | ALL PRIVILEGES}
ON ObjectName TO {AuthorizationIdList | PUBLIC} [WITH GRANT OPTION] 2. REVOKE REVOKE, mengambil kembali hak yang diberikan oleh statemen GRANT, format penulisan REVOKE sbb REVOKE [GRANT OPTION FOR] {PrivilegeList | ALL PRIVILEGES} ON ObjectName FROM {AuthorizationIdList| PUBLIC} [RESTRICT | CASCADE]
:
49
2.8
Pengantar Pemodelan Proses Membahas tentang cara menggambar diagram aliran data sebuah model proses yang berguna untuk mendokumentasikan proses sistem dan aliran data. Pemodelan data sebagai alat analisis sistem. Mode sistem memainkan peranan penting dalam pengembangan sistem. Banyak masalah-masalah yang tidak terstruktur, salah satu cara untuk menyusun persoalan tersebut adalah dengan menggambar model. Model adalah representasi kenyataan atau gambar yang melukiskan banyak kata. Model sistem adalah representasi bergambar mengenai kenyataan. Model berguna untuk memahami sistem dengan lebih baik, mendokumentasikan persyaratan bisnis atau desain teknis. Terdapat dua macam model, yaitu model logika dan fisik.
2.8.1
Model Fisik Model Fisik tidak hanya menunjukkan apa sebenarnya sistem tersebut atau apa yang dilakukannya, tetapi juga bagaimana sistem tersebut diimplementasikan secara fisik dan teknis. Model tersebut implementationdependent karena merefleksikan pilihan teknologi dan batasan pilihan teknologi. Sinonimnya adalah model implementasi dan model teknik.
2.8.2
Model Logika Model logika menunjukkan apa sebenarnya sistem tersebut dan apa yang dilakukan. Model tersebut implementation-independent; yaitu memberi gambaran tentang sistem terlepas dari implementasi teknis. Dengan demikian
50
model logika menggambarkan implementasi teknis. Sinonim yang populer adalah model essensial, model konseptual, dan model bisnis. Model sistem logika berguna untuk menggambarkan persyaratan bisnis dan model sistem fisik untuk menggambarkan desain teknisnya. Kegiatan analisis sistem cenderung fokus pada model sistem logika karena :
-
Model logika meningkatkan kreativitas.
-
Model logika memisahkan antara apa yang seharusnya dikerjakan sistem dari bagaimana sistem akan mengerjakannya, kita menjadi menganalisa dengan lebih baik dalam hal kelengkapan, keakuratan dan konsistensi.
-
Model logika memungkinkan kita untuk berkomunikasi dengan pengguna akhir dalam bahasa teknis maupun non-teknis.
2.8.3 Pemodelan Proses Pemodelan proses adalah teknik mengelola dan mendokumentasi struktur dan aliran data melalui PROSES sistem dan/atau logika, kebijakan, prosedur yang akan diimplementasikan oleh PROSES sistem. Model proses logika digunakan untuk mendokumentasikan fokus PROSES sistem informasi dari sudut pandang pengguna dan pemilik sistem. Model proses terdapat tipe khusus yang disebut diagram konteks, yang menggambarkan fokus komunikasi dari sudut pandang pemilik dan pengguna sistem, atau model proses yang menggambarkan secara aktual antar muka sistem ke bisnis, dunia luar, dan termasuk sistem informasi lain. Berbagai
51
tipe model proses misalnya bagan struktur program, flowchart logika, model proses analisis sistem, diagram aliran data (data flow diagram).
2.8.4
Data Flow Diagram (DFD) Data Flow Diagram atau Diagram aliran data adalah alat yang menggambarkan aliran data melalui sistem dan kerja atau pengolahan yang dilakukan oleh sistem tersebut. Sinonimnya disebut bagan buble, grafik transformasi, dan model proses. Beda DFD dengan Flow Chart, antara lain :
-
Proses
dalam dfd dapat beroperasi secara paralel. Artinya beberapa
proses dapat dilaksanakan atau dikerjakan secara serempak. Sebaliknya, proses pada flowchart hanya satu proses dalam satu waktu.
-
DFD menunjukkan data flow melalui sistem. Sebaliknya, flowchart menunjukkan rangkaian proses dalam algoritma atau program.
-
DFD tunggal dapat menyertakan proses setiap jam, secara harian, mingguan, tahunan, dan sesuai permintaan. Hal ini tidak terjadi pada flowchart.
52
2.8.4.1 Simbol DFD DFD (menurut Whitten, Bentley, Dittman) terdapat tiga simbol dan satu koneksi :
-
Persegi empat tumpul, lingkaran atau lonjong menyatakan proses atau bagaimana tugas dikerjakan. (PROSES) PROSES
PROSES PROSES
-
Persegi empat menyatakan agen eksternal – batasan sistem tersebut. (INTERFACE) EKSTERNAL
-
Kotak dengan ujung terbuka menyatakan data store, atau disebut file atau database. (DATA) DATA STORE
-
Panah menyatakan aliran data, atau input dan output, ke dan dari proses tersebut. DATA FLOW
53
2.8.4.2 Aliran data Ilegal (salah) dan legal (benar), yaitu: Aliran data ILEGAL
E1
E2
Aliran data TERKOREKSI Prose mengubah aliran data di antara agen eksternal
E1
Prose memperbah arui atau pakai data store
E1 E1
DS1
DS1
E1
DS1
DS2
2.8.5
B1
DS1
Prose menyajikan data dari data store
DS1
E1
Prose memindahk an dari data store ke data store lain
DS1
DS2
DFD Konteks Pertama perlu mendokumentasikan lingkup proyek awal. Semua proyek memiliki lingkup. Lingkup proyek mendefinisikan aspek bisnis yang harus didukung oleh sistem atau aplikasi dan bagaimana sistem yang dimodelkan
berinteraksi
dengan
sistem
lain
dan
bisnis
secara
keseluruhan.Context data flow diagram adalah model proses untuk mendokumentasikan lingkup sistem. Disebut juga model lingkungan. DFD konteks berisi satu dan hanya satu proses.
54
2.8.6
State Transisition Diagram State Transisition Diagram adalah alat yang dugunakan untuk menggambarkan urutan dan variasi screen yang dapat terjadi selama satu sesi pengguna.
2.9
Teori Pendukung Pemesanan, Penjualan, Pembelian dan Produksi 2.9.1
Teori Penjualan Terdapat enam langkah dalam transaksi penjualan, yaitu :
-
Mencatat Pesanan Penjualan (Order Penjualan)
-
Mencatat Pengiriman Penjualan (Faktur Penjualan dan Surat Jalan)
-
Mencatat Pesanan Penjualan yang belum terkirim
-
Mencatat Retur Penjualan
-
Menghitung Piutang
-
Mencatat Pembayaran atas Penjualan
2.9.1.1 Order Penjualan Order Penjualan adalah pemesanan barang yang dilakukan oleh customer. Data yang diperlukan, yaitu : nomor order penjualan yang unik, Tanggal order penjualan, data Staff yang melakukan transaksi order penjualan, data Customer yang memesan barang, Jumlah Barang yang dipesan.
data Barang, dan
55
2.9.1.2 Faktur Penjualan Faktur Penjualan adalah surat tagihan atau bon kepada Customer atas barang yang telah dikirim kepadanya. Data yang diperlukan, yaitu : nomor faktur penjualan yang unik, Tanggal pembuatan faktur penjualan, Kode order penjualan yang mendasari pembuatan faktur penjualan, Tanggal jatuh tempo pembayaran penjualan, data Customer yang menerima faktur penjualan, data Barang, Jumlah Barang, Total penjualan untuk setiap kode barang, subtotal penjualan keseluruhan belum termasuk diskon dan ppn, Diskon penjualan, PPN penjualan, Grandtotal penjualan setelah dikurangi diskon dan ditambah ppn.
2.9.1.3 Surat Jalan Surat Jalan adalah surat izin jalan untuk melakukan pengiriman penjualan. Data yang diperlukan, yaitu : nomor surat jalan penjualan yang unik, Tanggal surat jalan penjualan, Nomor faktur penjualan, data Staff, data Customer, data Barang yang dikirim, Jumlah barang, Kode kendaraan yang mengantar barang pesanan ke Customer.
2.9.1.4 Retur Penjualan Retur Penjualan adalah pengembalian Barang oleh Customer. Data yang diperlukan, yaitu : nomor retur penjualan yang unik, Tanggal retur penjualan, data Customer, Kode faktur penjualan, data barang, Jumlah barang yang dikembalikan, Total retur penjualan untuk setiap
56
barang, subtotal retur penjualan keseluruhan, Grandtotal retur penjualan dikurangi diskon saat penjualan dan ditambah ppn saat penjualan. 2.9.1.5 Piutang Piutang adalah hutang Customer atas pembelian Barang yang pembayarannya belum lunas. Data yang diperlukan, yaitu : nomor piutang yang unik, nomor faktur penjualan, Total piutang perusahaan.
2.9.1.6 Pembayaran Penjualan Pembayaran Penjualan adalah pembayaran oleh Customer kepada perusahaan. Pembayaran Penjualan dapat dilakukan 1 / lebih kali dan berdasarkan Faktur_Penjualan. Data yang diperlukan, yaitu : nomor pembayaran penjualan yang unik, Tanggal pembayaran penjualan, Kode faktur penjualan, data Customer, Total pembayaran yang dilakukan Customer.
2.9.2
Teori Pembelian Terdapat lima langkah dalam transaksi pembelian, yaitu :
-
Mencatat Pesanan Pembelian (Order Pembelian)
-
Mencatat Pengiriman Pembelian
-
Mencatat Retur Pembelian
-
Menghitung Hutang
-
Mencatat Pembayaran atas Pembelian
57
2.9.2.1 Order Pembelian Order Pembelian adalah pemesanan Bahan Baku ke Supplier. Data yang diperlukan, yaitu : nomor order pembelian yang unik, Tanggal order pembelian, data Staff, data Supplier, data Bahan Baku, Jumlah bahan baku yang dipesan.
2.9.2.2 Pengiriman Pembelian Pengiriman Pembelian adalah pengiriman bahan baku yang diterima Staff dari supplier. Pengiriman Pembelian terdapat Bahan Baku, Faktur Pembelian, dan Surat Jalan Pembelian dari Supplier. Data yang diperlukan, yaitu : nomor pengiriman pembelian yang unik, Tanggal pengiriman pembelian, Kode order pembelian, Nomor surat jalan pembelian dari Supplier, Nomor faktur pembelian, Tanggal jatuh tempo pembayaran pembelian yang harus ditaati perusahaan, data Bahan Baku yang dikirim, Jumlah bahan yang dikirim, Total pembelian untuk setiap bahan baku, subtotal pembelian keseluruhan belum termasuk diskon dan ppn, Diskon pembelian, PPN pembelian, Grandtotal pembelian setelah dikurangi diskon dan ditambah ppn.
2.9.2.3 Retur Pembelian Retur Pembelian adalah pengembalian Bahan Baku kepada Supplier. Data yang diperlukan, yaitu : nomor retur pembelian yang unik, Tanggal retur pembelian, data Supplier, Kode pengiriman pembelian, data Bahan Baku, Jumlah Bahan Baku yang dikembalikan, Total retur
58
pembelian untuk setiap Bahan Baku, subtotal retur pembelian keseluruhan belum termasuk diskon dan ppn, grandtotal retur pembelian setelah dikurangi diskon saat pembelian dan ditambah ppn saat penjualan.
2.9.2.4 Hutang Hutang adalah hutang perusahaan karena pembelian Bahan Baku yang Pembayaran Pembeliannya belum lunas. Data yang diperlukan, yaitu : nomor hutang yang unik, nomor pengiriman pembelian, Total Hutang perusahaan.
2.9.2.5 Pembayaran Pembelian Pembayaran Pembelian adalah Pembayaran kepada Suplier atas Bahan Baku yang dibeli. Pembayaran Pembelian dilakukan berdasarkan Faktur Pembelian yang bisa dicek di tabel Pengiriman Pembelian. Data yang diperlukan, yaitu : nomor pembayaran pembelian yang unik, Tanggal pembayaran pembelian, Kode faktur pembelian, data Supplier, Total pembayaran yang dilakukan perusahaan kepada Supplier.
2.9.3
Teori Produksi Terdapat dua langkah dalam transaksi produksi, yaitu :
-
Mencatat Surat Perintah Kerja (SPK)
-
Mencatat hasil Produksi
59
2.9.3.1 SPK SPK adalah surat untuk memproduksi barang. SPK mendasari Produksi Barang. Data yang diperlukan, yaitu : nomor surat perintah kerja yang unik, Tanggal surat perintah kerja, data barang, Jumlah barang untuk diproduksi.
2.9.3.2 Produksi Produksi adalah mencatat hasil produksi Barang dan mencatat bahan Baku yang digunakan dalam produksi. Produksi dikerjakan berdasarkan SPK yang turun. Data yang diperlukan, yaitu : nomor kode produksi yang unik, Tanggal produksi, data barang, Jumlah barang hasil produksi, data bahan, Jumlah bahan yang digunakan untuk produksi.