• Tidak ada hasil yang ditemukan

Penggunaan Oracle Developer untuk implementasi sistem informasi penjualan dan inventori berbasis web : studi kasus di PT. Sanitas-Cirebon - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "Penggunaan Oracle Developer untuk implementasi sistem informasi penjualan dan inventori berbasis web : studi kasus di PT. Sanitas-Cirebon - USD Repository"

Copied!
130
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Oleh:

Nama : Cordelia Lajamarta NIM : 015314025

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

A THESIS

Presented as a Partial Fulfillment To Obtain a Bachelor of Technic Degree

Informatics Engineering Study Program

By:

Name : Cordelia Lajamarta NIM : 015314025

INFORMATICS ENGINEERING STUDY PROGRAM

SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)
(4)
(5)
(6)

Karya ini kupersembahkan kepada

My Lord Jesus Christ…

Papa dan Mama di surga,

Kedua kakakku Cie Nonie dan Ko Herry

Teman-temanku Nana, Welly, Yosep, Nope, Diana,

Fenny, Vino, Grace, dan sahabat-sahabatku

(7)

Nilai seseorang bukan hanya dilihat dari Prestasi dan harta benda yang dimiliki

tetapi juga dari Kebaikan, Ketulusan, Kerendahan dan Kebesaran Hati.

Kegagalan bukanlah akhir dari segalanya tapi jadikan kegagalan sebagai awal

usaha yang baru

Kesalahan terbesar yang dapat dilakukan oleh umat manusia adalah merasa takut

melakukan kesalahan (Abbert Hubbard).

Jangan menunggu, waktu tidak pernah “benar-benar” tepat mulailah dari tempat

anda berhenti sekarang dan bekerjalah dengan menggunakan alat apapun yang

anda miliki, dan alat-alat yang lebih baik akan ditemukan saat anda melakukan

pekerjaan anda.(Napoleon Hill)

Pikiran yang paling menghancurkan diri sendiri yang bisa dimiliki oleh setiap orang

adalah bahwa dia tidak memegang kendali atas hidupnya sendiri (Roger Dawson).

(8)

Selama ini pencatatan transaksi penjualan, retur penjualan, dan inventori dilakukan secara manual oleh staff penjualan dan inventori, sehingga untuk

memperoleh informasi ini dibutuhkan waktu yang lama. Oleh karena itu, perlu dikembangkan suatu sistem yang dapat digunakan untuk membantu kegiatan

operasional perusahaan meliputi transaksi penjualan, retur penjualan, dan inventori agar mampu menghasilkan dan mengolah informasi penjualan dan inventori secara cepat, tepat, dan akurat.

Sistem ini dikembangkan dengan menggunakan metode Rekayasa Perangkat Lunak secara terstruktur, dengan menggunakan DBMS Oracle XE, dan

menggunakan Oracle Developer sebagai piranti pengembangnya. Oracle XE digunakan karena Oracle merupakan DBMS yang cukup reliable dan bersifat freeware.

Hasil akhir yang diperoleh adalah sebuah sistem informasi penjualan & inventori berbasis web, yang mampu menerima dan mengolah masukan data

transaksi penjualan, retur penjualan, dan inventori sehingga mampu menghasilkan informasi secara cepat dan akurat.

Sistem ini hanya dapat diakses oleh lingkungan internal perusahaan khususnya

staff penjualan dan inventori, manager, dan owner. Masing-masing user memiliki hak dan kewenangan sendiri dalam mengakses sistem. Sistem ini masih memiliki

(9)

Transaction Sales and Inventory has been recorded manually by Sales and Information Staff. It spend more time to process data and produce information. So

we need to develop a system which can help operational activity (sales and inventory transaction) to produce information quickly but still appropriate and accurate.

This system developed by structured software engineer with Oracle XE as

DBMS and Oracle Developer as development tool. Oracle XE has been used because of reliability and freeware.

The final result is a web-based sales and inventory information system which can accept and processing sales and inventory data transaction, so it can produce appropriate and accurate information.

Only internal side of the company can access this system, especially sales and inventory staff; manager; and owner. Each user has privilege to access the system.

(10)

Terima kasih dan puji syukur penulis ucapkan kepada Tuhan Yang Maha Esa

atas berkat dan rahmatnya, sehingga penulis dapat menyelesaikan karya ini. Penulis menyadari bahwa tanpa bantuan dari berbagai pihak, penulis tidak dapat menyelesaikan karya ini. Untuk itu, penulis ingin mengucapkan terima kasih kepada

semua pihak yang telah membantu, terutama kepada :

1. Ibu A. M. Polina, S. Kom, M. Sc, selaku Ketua Jurusan Teknik Informatika

sekaligus pembimbing Tugas Akhir penulis yang telah memberikan bimbingan dan dukungan (serta turut direpotkan dan disibukkan) dalam pembuatan karya ini.

2. Kakak-kakak penulis Cie Nonie dan Ko Herry yang sudah mendukung, membantu penulis dalam segala hal baik moril maupun materil dan juga yang sudah berperan sebagai pengganti orang tua penulis.

3. Ci Ana, O Atun, Jonas, Jessi serta seluruh kerabat yang sudah ikut membantu penulis dalam segala hal.

4. Dosen Pembimbing Akademik, Bapak Alb. Agung H., Bapak Bambang

Soelistijanto, S.T., M.Sc (eks P.A.) dan Bapak Dyonisius Dony Ariananda, S.T. (eks.P.A juga.) yang telah memberikan bimbingan dalam bidang akademis.

5. Pak Bele, Mas Danang, Mbak Sri, Mas Catur dan Pak Dar, serta staff laboratorium lainnya yang membantu menyediakan fasilitas laboratorium selama

(11)

Ncep. Trim’s buat bantuan, saran, dan dukungan kalian.

7. Teman-teman Kos 99999 Diana, Fenny, Grace, Vina, Linna, Limdra, Meri,

Nyun, Lise, Maria, Octa, Julie. Makasih buat semuanya yang sudah kalian berikan.

8. Mbeng n Adri yang sering membantu mengantar-antar penulis dan juga

membantu pindahan mengangkut barang-barang.

9. Seluruh teman penulis yang belum penulis sebutkan namanya diatas terimakasih

atas dukungan dan bantuannya.

Penulis mohon maaf yang sebesar-besarnya kepada semua pihak apabila dalam pembuatan karya ini, penulis melakukan kekeliruan dan kesalahan baik yang

disengaja maupun yang tidak disengaja.

Penulis juga menyadari keterbatasan kemampuan yang dimiliki untuk menyelesaikan karya ini dengan baik, sehingga masih terdapat banyak kekurangan.

Untuk itu, penulis mengharapkan adanya kritik dan saran yang membangun. Semoga karya ini bermanfaat bagi kita semua.

Yogyakarta, 24 September 2007

Penulis

(12)

HALAMAN JUDUL... i

HALAMAN PERSETUJUAN... ii

HALAMAN PENGESAHAN...iii

PERNYATAAN KEASLIAN KARYA ... iv

HALAMAN PERSEMBAHAN ... v

HALAMAN MOTO ... vi

ABSTRAKSI ... vii

ABSTRACT...viii

KATA PENGANTAR ... ix

DAFTAR ISI... xi

DAFTAR TABEL...xiii

DAFTAR GAMBAR ... xiv

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang Masalah... 1

1.2. Batasan Masalah ... 2

1.3. Tujuan dan Manfaat ... 2

1.4. Rumusan Masalah ... 3

1.5. Metodologi Penelitian ... 3

1.6. Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Web... 6

2.2 Sistem Informasi ... 6

2.3 Database Design/Perancangan Basis Data ... 11

2.4. Oracle Database... 20

2.5. Oracle PL/SQL (Procedural Language/Structured Query Language)... 26

2.6. Oracle Developer ... 28

2.6.1 Forms Developer... 28

2.6.2 Reports Developer... 31

BAB III ANALISA DAN PERANCANGAN SISTEM... 33

3.1. Analisa Sistem... 33

3.1.1 Gambaran Umum Sistem ... 33

3.1.1.1 Gambaran Umum Sistem Lama ... 34

3.1.1.2 Gambaran Umum Sistem Baru ... 35

3.1.2 Use Case... 37

3.1.3 DFD ( Data Flow Diagram )/DAD ( Diagram Arus Data ) ... 38

3.1.3.1 Context Diagram... 39

3.1.3.2 Bagan Berjenjang ... 39

3.1.3.3 Overview Diagram... 40

3.1.3.4 DFD Level 1 Proses 6 ... 41

3.1.3.5 DFD Gabungan ... 42

3.2 Perancangan Sistem ... 44

(13)

3.2.1.2 Logical Database Design... 45

3.2.1.3 Physical Database Design... 47

3.2.2 Design User Interface... 51

3.2.2.1 Design Output... 51

3.2.2.2 Design Input... 54

BAB IV IMPLEMENTASI SISTEM ... 60

4.1 Karakteristik Sistem ... 60

4.2 Tahap Implementasi ... 61

4.2.1 Implementasi Database... 61

4.2.1.1 Pembuatan Tabel... 61

4.2.1.2 Pembuatan Trigger... 62

4.2.1.3 Pembuatan Sequence... 66

4.2.2 Implementasi User Interface... 67

4.2.2.1 Pembuatan Form... 67

4.2.2.2 Pembuatan Laporan... 76

4.2.2.3 Pembuatan Menu... 79

4.2.2.4 User Interface... 80

BAB V ANALISIS HASIL... 104

5.1 Kelebihan Sistem ... 104

5.2 Kekurangan Sistem ... 105

BAB VI KESIMPULAN DAN SARAN ... 106

6.1 Kesimpulan ... 106

6.2 Saran... 106

DAFTAR PUSTAKA ... 107

(14)

Tabel 2.3 Tabel Bagian dari Trigger... 25

Tabel 2.4 Tabel Struktur Prosedur ... 27

Tabel 2.5 Tabel Perbedaan Prosedur dan Fungsi ... 28

Tabel 3.1 Tabel StaffPI Tahap Physical Design... 47

Tabel 3.2 Tabel Konsumen Tahap Physical Design... 48

Tabel 3.3 Tabel Barang Tahap Physical Design... 48

Tabel 3.4 Tabel Masuk Tahap Physical Design... 49

Tabel 3.5 Tabel DetailMasuk Tahap Physical Design... 49

Tabel 3.6 Tabel Jual Tahap Physical Design... 50

Tabel 3.7 Tabel DetailJual Tahap Physical Design... 50

(15)

Gambar 2.2 Tahap-tahap Perancangan Database (Atzeni, 2000)... 12

Gambar 3.1 Use Case Diagram... 38

Gambar 3.2 Context Diagram... 39

Gambar 3.3 Bagan Berjenjang ... 40

Gambar 3.4 Overview Diagram... 41

Gambar 3.5 DFD level 1 Proses 6... 42

Gambar 3.6 DFD Gabungan ... 43

Gambar 3.7 ER Diagram (sebelum normalisasi) ... 44

Gambar 3.8 Relational Model (setelah normalisasi)... 46

Gambar 3.9 Faktur Penjualan... 52

Gambar 3.10 Laporan Penjualan... 52

Gambar 3.11 Laporan Persediaan Barang... 53

Gambar 3.12 Laporan Barang Terjual ... 53

Gambar 3.13 Laporan Konsumen yang Membeli Barang ... 54

Gambar 3.14 Form Login... 54

Gambar 3.15 Form Input data Staff PI... 55

Gambar 3.16 Form Input Data Konsumen... 56

Gambar 3.17 Form Input Data Barang ... 57

Gambar 3.18 Form Input Data Transaksi Penjualan... 58

Gambar 3.19 Form Input Data Transaksi Pemasukan Barang... 59

Gambar 3.20 Form Input untuk Pembuatan Laporan ... 59

Gambar 4.1 Form Login... 82

Gambar 4.2 Menu Utama... 83

Gambar 4.3 Sub Menu Transaksi... 84

Gambar 4.4 Sub Menu Master ... 85

Gambar 4.5 Form Input Data Staff PI... 86

Gambar 4.6 Form Input Data Konsumen... 88

Gambar 4.7 Form Input Data Barang ... 89

Gambar 4.8 Form Transaksi Pemasukan Barang... 92

Gambar 4.9 Form Transaksi Penjualan Barang ... 94

Gambar 4.10 Form Transaksi Retur Penjualan Barang ... 96

Gambar 4.11 Parameter Input Tanggal untuk Pembuatan Laporan... 97

Gambar 4.12 Faktur Penjualan... 98

Gambar 4.13 Laporan Penjualan... 99

Gambar 4.14 Laporan Persediaan Barang... 100

Gambar 4.15 Laporan Barang Terjual ... 101

Gambar 4.16 Laporan Konsumen yang Membeli Barang ... 102

(16)

1.1. Latar Belakang Masalah

Saat ini informasi memegang peranan penting dalam kehidupan manusia. Salah satu kriteria keunggulan suatu perusahaan dapat dilihat dari

kecepatan dan ketepatan perolehan informasi. Informasi bagi perusahaan dapat digunakan untuk meningkatkan efektifitas dan efisiensi kinerja perusahaan. Kecepatan dan pengaruh informasi terhadap perusahaan akan dibandingkan

dengan waktu, tenaga, dan biaya yang dikeluarkan perusahaan untuk memperoleh informasi. Tentunya semakin sedikit waktu, tenaga, dan biaya

yang dikeluarkan namun menghasilkan informasi yang sangat berpengaruh bagi perusahaan merupakan hal yang diharapkan oleh perusahaan pada umumnya.

Pada PT. Sanitas-Cirebon perhitungan omzet (hasil transaksi penjualan)

setiap hari, bulan, dan tahun masih dilakukan secara manual. Laporan untuk owner/pemilik masih secara manual, staff dari pabrik harus melaporkan

transaksi-transaksi penjualan dan pembayaran dari transaksi-transaksi tersebut secara manual. Staff pabrik dan owner berada di tempat yang berbeda sehingga dibutuhkan waktu, tenaga, dan biaya lebih banyak untuk mendapat informasi

yang dibutuhkan. PT. Sanitas-Cirebon khususnya di bagian pabrik plastik sudah memiliki perangkat komputer namun belum dimanfaatkan secara optimal

(17)

Informasi Penjualan dan Inventori Berbasis Web yang memiliki kemampuan dalam pengelolaan data berkaitan dengan persediaan barang, penjualan, dan

retur penjualan.

1.2. Batasan Masalah

a. Sistem yang dibuat hanya meliputi bagian penjualan dan inventori barang

jadi, tanpa membahas keterlibatan bahan mentah.

b. Sistem tidak menangani keamanan data akibat adanya tindakan dari pihak luar.

c. Sistem tidak menangani masalah transaction management. d. Sistem tidak menangani masalah piutang konsumen.

1.3. Tujuan dan Manfaat

Tujuan dan manfaat yang diharapkan:

a. Mengembangkan Sistem Informasi yang sesuai dengan kebutuhan PT.

Sanitas-Cirebon sehingga mampu membantu operasional perusahaan, melalui tersedianya informasi yang cepat, tepat, dan akurat khususnya untuk user di bidang transaksi penjualan dan inventori.

b. Dapat menjadi acuan teori dan praktek bagi pengembangan Sistem Informasi Penjualan dan Inventori Berbasis Web sejenis yang

(18)

a. Bagaimana mengembangkan Sistem Informasi Berbasis Web untuk

penjualan dan inventori yang sesuai untuk PT. Sanitas-Cirebon menggunakan Oracle.

b. Sejauh mana Oracle mendukung untuk membuat aplikasi berbasis web

untuk kasus tersebut diatas.

1.5. Metodologi Penelitian

Metodologi penelitian yang digunakan adalah studi kasus, dengan tahap-tahap sebagai berikut:

a. Studi literatur: mempelajari hal-hal yang berkaitan dengan pengembangan

sistem informasi mulai dari analisa sampai proses implementasi.

b. Observasi: mengamati proses kerja dari perusahaan (dalam kasus ini yang diamati PT. Sanitas-Cirebon bidang pabrik plastik).

c. Interview: mewawancara staff pabrik mengenai sistem yang sedang dijalankan.

d. Pengembangan sistem dengan metode pengembangan perangkat lunak secara terstruktur, dengan langkah-langkah sebagai berikut:

1. Analisa sistem yaitu dengan melakukan analisa terhadap sistem yang

ada.

2. Merancang sistem informasi yang akan menjadi dasar dalam pembuatan

(19)

Berbasis Web.

4. Menguji perangkat lunak yang dihasilkan.

1.6. Sistematika Penulisan

Bab I PENDAHULUAN

berisi latar belakang masalah, batasan masalah, tujuan dan manfaat

penelitian, rumusan masalah, metodologi penelitian, sistematika penulisan.

Bab II LANDASAN TEORI

berisi teori-teori yang digunakan sebagai acuan selama perancangan sampai pembuatan Sistem Informasi.

Bab III ANALISA DAN PERANCANGAN SISTEM

berisi analisa dan perancangan dari sistem informasi yang akan dibuat.

Bab IV IMPLEMENTASI

berisi pengubahan dari perancangan ke pembuatan sistem serta

(20)

berisi analisa terhadap hasil dari sistem dibandingkan dengan masalah yang akan dipecahkan dalam rumusan masalah, mengungkap

kelemahan dari sistem (jika ada) beserta penyebabnya.

Bab VI KESIMPULAN DAN SARAN

berisi pengambilan kesimpulan dari keluaran sistem dibandingkan

(21)

2.1 Web

Istilah-istilah yang ada dalam Web ( Febrian & Andayani, 2002): 1. HTTP (Hypertext Transfer Protocol)

HTTP adalah protokol yang dipakai web browser dan web server untuk mengirimkan data dalam www (world wide web).

2. Web browser/browser

Web browser adalah suatu program komputer yang menyediakan layanan

untuk membaca halaman web di suatu komputer.

3. Web server

Web server adalah suatu program (dan juga mesin yang menjalankan

program) yang mengerti protokol HTTP dan dapat menanggapi

permintaan-permintaan dari web browser untuk mengakses suatu halaman web tertentu.

2.2 Sistem Informasi

Istilah-istilah yang ada dalam sistem informasi: 1. Proses

Proses adalah mengolah masukan (input) yang diperlukan sehingga

menghasilkan suatu keluaran (output) (Febrian & Andayani, 2002). 2. Program

(22)

3. Perangkat Lunak

Perangkat lunak adalah program yang digunakan untuk menghasilkan, mengelola, memperoleh, mengubah, menampilkan, atau mengirimkan

informasi (Febrian & Andayani, 2002). 4. Perangkat Keras

Perangkat keras adalah seluruh perangkat yang digunakan untuk

mengoperasikan suatu sistem komputer (Febrian & Andayani, 2002). 5. Teknologi Informasi

Teknologi informasi adalah istilah yang menggambarkan kombinasi teknologi komputer (perangkat keras dan lunak) dengan teknologi

komunikasi (jaringan data, gambar, dan suara) (Whitten, 2004).

6. Data

Data adalah suatu fakta, kejadian yang belum diolah (mentah). 7. Databas/Basis Data

Database adalah sekumpulan data yang dikendalikan dan dikelola oleh

suatu DBMS (Atzeni, 2000).

8. DBMS/Database Management System

DBMS adalah suatu perangkat lunak yang dapat mengelola kumpulan data yang besar, digunakan bersama (shared) dan secara terus menerus

(23)

9. Informasi

Informasi adalah data yang sudah diolah sehingga berguna bagi pihak tertentu.

10. Sistem Informasi

Sistem informasi adalah pengaturan orang, data, proses, dan teknologi informasi yang berinteraksi untuk mengumpulkan, memproses,

menyimpan, dan menyediakan sebagai keluaran, informasi yang diperlukan untuk mendukung sebuah organisasi (Whitten, 2004).

Siklus hidup pengembangan Sistem Informasi dapat dilihat pada gambar 2.1.

Gambar 2.1 Siklus Hidup Pengembangan SI (Atzeni, 2000) Feasibility Study

Collection & Analysis of Requirements

Design Database Design

Operational Design

Implementation

Validation & Testing

(24)

Tahap-tahap dalam siklus pengembangan sistem informasi, yaitu:

1. Feasibility Study

Tahap feasibility study yaitu tahap studi kelayakan terhadap

pembuatan sistem.

2. Collection and Analysis of Requirements

Tahap collection and analysis of requirements yaitu tahap

pengumpulan dan analisis terhadap kebutuhan.

3. Design

Tahap design meliputi design database (mendefinisikan struktur dan organisasi data) dan design operational (mendefinisikan sifat/karakteristik dari sistem informasi).

4. Implementation

Tahap implementation yaitu tahap pembuatan sistem informasi berdasar struktur dan karakteristik yang telah didefinisikan dalam

tahap design.

5. Validation dan testing

Tahap validation dan testing yaitu tahap pemeriksaan kualitas dan kebenaran dari sistem informasi.

6. Operation

Tahap operation yaitu tahap penggunaan sistem informasi.

11. Use Case Modelling/Pemodelan Use Case

Use case modelling adalah sebuah proses untuk memodelkan

(25)

cara mengaksesnya. Use case merupakan pemodelan dari analisis

kebutuhan.

Didalam use case modelling terdapat beberapa istilah, yaitu:

1. Aktor adalah segala sesuatu yang berhubungan dengan sistem, yang mengolah dan mendapatkan informasi dalam sistem.

2. Asosiasi adalah interaksi yang terjadi antara aktor dengan use case.

3. Use case depends on relationship adalah adanya use case yang harus dijalankan terlebih dahulu sebelum use case yang lain.

12. DFD (Data Flow Diagram)/DAD (Diagram Arus Data)

DFD menggambarkan aliran data dari (sebagai masukan) dan ke dalam sistem (sebagai keluaran). Penggambaran DFD meliputi beberapa tahap :

1. Context Diagram

Context diagram menggambarkan sistem secara umum, hanya

menggambarkan aliran data dari dan ke dalam sistem.

2. Bagan Berjenjang

Bagan berjenjang menggambarkan struktur dari proses-proses yang

ada dalam sistem. 3. Overview Diagram

Menggambarkan aliran data dari dan ke dalam proses yang ada dalam sistem.

4. Level 1 Proses sub proses

(26)

5. DFD Gabungan

DFD gabungan merupakan gabungan antara overview diagram dan level 1 proses sub proses.

2.3 Database Design/Perancangan Basis Data

Database design merupakan salah satu tahap yang dikerjakan dari tahap

desain pada siklus hidup pengembangan sistem. Tahap-tahap yang akan

(27)

Gambar 2.2 Tahap-tahap Perancangan Database (Atzeni, 2000) Perancangan Database terdiri dari 3 tahap yang utama, yaitu:

1. Conceptual Design

Tahap conceptual design menggambarkan isi (content) dari

database tanpa mempertimbangkan implementasi database tersebut dan efisiensi dari program yang memanfaatkan database tersebut.

Tahap conceptual design menghasilkan conceptual schema yang

mengacu pada suatu conceptual model (saat ini conceptual model yang Application

Requirements

Database Design

Conceptual Schema

Logical Schema

Physical Schema

Database Structure and related documentation

Conceptual Design

Logical Design

(28)

banyak digunakan adalah ER Model (Entity Relationship Model)/ER

Diagram (Entity Relationship Diagram).

Conceptual model mendeskripsikan organisasi data pada abstraksi

level tinggi dan tidak memperhatikan aspek implementasi.

Komponen utama yang membentuk ER Diagram, yaitu:

a. Entitas

Entitas adalah obyek (misal berupa orang, tempat, kejadian) yang nyata dan dapat dibedakan satu dengan yang lainnya. Himpunan entitas

adalah kumpulan entitas yang sejenis. Setiap entitas memiliki atribut sebagai karakteristik masing-masing entitas. Macam-macam atribut:

1. Key (primary key) dan atribut deskriptif

Key adalah atribut yang membedakan antara satu record dengan

record yang lain. Key bersifat unik. Record adalah kumpulan dari isi

atau nilai atribut. Atribut deskriptif adalah atribut yang tidak

menjadi primary key

2. Simple Attribute dan Composite attribute

Simple attribute adalah atribut yang tidak dapat diuraikan lagi.

Composite attribute adalah atribut yang dapat dibagi menjadi

(29)

3. Single Valued Attribute dan Multivalued Attribute

Single valued attribute adalah atribut yang memiliki satu dan hanya

satu nilai pada setiap record. Multivalued attribute adalah atribut yang dapat memiliki lebih dari satu nilai.

4. Mandatory attribute dan Nonmandatory attribute

Mandatory attribute adalah atribut yang harus memiliki nilai (tidak

boleh bernilai NULL). Nonmandatory attribute adalah atribut yang boleh tidak memiliki nilai (boleh NULL).

5. Derived Attribute

Derived attribute adalah atribut yang nilainya dapat diperoleh dari

atribut lain atau hasil pengolahan.

b. Relasi

Relasi adalah hubungan antar entitas. Relasi yang mungkin terjadi : 1. Relasi satu lawan satu (One To One Relationship)

Setiap entitas pada himpunan entitas yang satu tepat berelasi dengan satu entitas pada himpunan entitas yang lain.

2. Relasi satu lawan banyak ( One to Many Relationship)

Setiap entitas pada himpunan entitas yang satu berelasi dengan banyak (lebih dari satu) entitas pada himpunan entitas yang lain.

3. Relasi banyak lawan banyak (Many to Many Relationship) Banyak entitas pada himpunan entitas yang satu berelasi dengan

(30)

2. Logical Design

Tahap logical design berisi penerjemahan conceptual schema ke model data yang digunakan suatu DBMS. Pada tahap logical design juga dilakukan optimalisasi database yang digunakan, biasanya menggunakan

teknik normalisasi.

Tahap logical design menghasilkan logical schema database yang

mengacu pada logical data model (saat ini logical data model yang banyak digunakan adalah relational model).

Logical model mempresentasikan data tanpa melibatkan physical

details. Tahap logical design melakukan restrukturisasi ER Diagram dan

mentranslasikan ER Diagram tersebut ke bentuk relational model.

a. Restrukturisasi ER Diagram

Langkah-langkah dalam restrukturisasi ER Diagram:

1. Analisa redundansi

Redudansi pada ER Diagram adalah data yang diperoleh dari data yang lain.

Macam redundansi:

a) Redundansi akibat adanya nilai atribut yang didapat dari atribut yang lain pada entitas atau relasi yang sama.

(31)

c) Redundansi akibat adanya relasi yang didapat dari relasi yang

lain.

2. Hilangkan Generalisasi

Generalisasi yang ada pada ER Diagram tidak dapat langsung

ditranslasikan ke bentuk relational model. Ada 3 cara untuk menghilangkan generalisasi:

a) Meleburkan entitas-entitas anak ke dalam entitas induk b) Memecah entitas induk ke dalam entitas-entitas anak. c) Mengganti generalisasi yang ada dengan relasi.

3. Memecah/menggabungkan entitas-entitas dan relasi-relasi

Memecah maupun menggabungkan entitas-entitas dan relasi-relasi

dapat dilakukan dengan tujuan efisiensi operasional/akses. Akses akan berkurang dengan adanya pemisahan atribut konsep sama yang diakses dengan operasional yang berbeda. Akses juga akan

berkurang dengan penggabungan atribut dari konsep berbeda yang diakses operasional yang sama. Pemecahan entitas dilakukan bila:

a) Informasi yang sering diakses hanya sebagian kecil dari atribut yang dimiliki entitas tersebut.

b) Atribut pada entitas yang bernilai banyak.

4. Tentukan Primary Key

Primary key merupakan komponen yang penting untuk dapat

(32)

b. Translasi ER Diagram ke bentuk relational model

Ada 2 langkah yang dilakukan dalam translasi ER diagram ke dalam bentuk relational model, yaitu:

1. Normalisasi

Normalisasi bertujuan untuk:

a) Memudahkan perancangan database

b) Memperkecil redundansi

c) Memudahkan proses update pada database Langkah-langkah normalisasi:

a) Mentransformasikan semua data ke dalam tabel 2 dimensi Bentuk unnormalisasi dapat terjadi karena setiap record dapat

memiliki lebih dari 1 nilai.

Pada langkah ini, data yang berulang akan dihilangkan.

b) Menentukan kunci/key dan item data yang berkaitan dengan

kunci tersebut.

Dalam proses normalisasi ada 2 bentuk normal, yaitu:

1. Bentuk Normal Pertama

(33)

2. Bentuk Normal Kedua

berisi pemecahan tabel normal pertama menjadi tabel-tabel yang baru. Pemecahan akan dilakukan bila ada atribut bukan

kunci yang tidak tergantung penuh pada atribut kunci.

c) Memisahkan item data yang bergantung pada item data yang bukan kunci.

Pemisahan tabel normal kedua dilakukan bila ada item data yang bergantung secara tidak langsung (transitive dependency) pada item data bukan kunci.

2. Relational Model

Relational model adalah model yang menggambarkan database

dalam bentuk tabel 2 dimensi yaitu baris dan kolom. Tiap baris menggambarkan atribut sedangkan tiap kolom menggambarkan record. Sifat relational model:

a) Tidak ada baris yang sama nilainya b) Urutan baris dan kolom bebas

c) Nilai data atomic/tidak dapat dipecah lagi. Komponen dalam relational model:

a) Tabel

(34)

b) Kunci

Setiap record pada tabel harus mempunyai unsur unik dalam nilai tiap atributnya. Unsur unik tersebut dapat dikelompokkan dalam kolom tersendiri.

Setiap tabel memiliki jenis kunci yang berbeda dan antara kunci yang satu dengan kunci yang lain dapat digabungkan.

Fungsi kunci adalah untuk menggambarkan relasi yang ada dan juga sebagai pengenal. Jenis kunci pada tabel:

a. Primary Key

Nilai atribut yang membedakan record yang satu dengan record yang lain.

b. Secondary Key

Nilai dari atribut yang tidak terlalu unik tetapi juga dapat digunakan untuk melengkapi primary key, dalam

membedakan record yang satu dengan record yang lain.

c. Foreign Key

Nilai dari atribut pada record pada suatu tabel yang merupakan primary key pada record di tabel lain.

c) Relasi

(35)

3. Physical Design

Tahap physical design menghasilkan logical schema, yang dilengkapi dengan detail-detail implementasi database secara fisik (organisasi file dan indeks) sesuai DBMS yang digunakan.

2.4. Oracle Database

Relational database/basis data relasional adalah kumpulan relasi.

Relational database dapat diakses dengan menggunakan SQL (Structured

Query Language).

Berdasarkan fungsinya perintah-perintah dalam SQL dibedakan

menjadi 5 golongan yaitu:

1. Data Retrieval

Perintah SQL yang berfungsi untuk membaca data dari database. Perintah SQLnya meliputi: select.

2. DDL/Data Definition Language

DDL digunakan untuk mendefinisikan suatu database untuk pertama kali. Perintah SQLnya meliputi antara lain: create, alter, drop, rename, truncate.

3. DML/Data Manipulation Language

DML digunakan untuk meng-queri dan meng-update isi dari suatu database. Perintah SQLnya meliputi antara lain: insert, update, delete, dan

(36)

4. Transaction Control

Perintah-perintah yang berfungsi untuk mengatur perubahan-perubahan yang dilakukan oleh perintah-perintah dalam pernyataan DML. Perintah-perintah SQLnya meliputi: commit, rollback, savepoint.

5. DCL/Data Control Language

Perintah-perintah yang memberikan atau menghilangkan hak untuk

mengakses database maupun struktur dari database tersebut. Perintah-perintah SQL nya meliputi: grant, revoke.

Aturan penulisan SQL:

1. Tidak bersifat case sensitive (tidak pengaruh bila ditulis dengan huruf besar ataupun kecil)

2. Dapat terdiri dari beberapa baris

3. Kata kunci tidak dapat disingkat.

Kegunaan SQL:

1. Menampilkan data hasil perhitungan

2. Memodifikasi item data perseorangan

3. Memanipulasi keluaran dari kumpulan baris

4. Format tanggal dan nomor untuk tampilan.

5. Mengkonversi tipe data kolom

(37)

a. Varchar2: tipe data karakter

b. Char: tipe data karakter

c. Number: tipe data numerik

d. Date: tipe data tanggal

Ada 2 tipe data yang berbeda untuk karakter. Perbedaan pada tipe data tersebut adalah tipe data varchar2 sifatnya lebih dinamis. Bila jumlah

maksimum yang didefinisikan pada varchar2 tidak dipenuhi maka memori yang digunakan sesuai dengan kebutuhan.

Tipe obyek yang terdapat pada Oracle

Tipe obyek yang terdapat pada Oracle dapat dilihat pada tabel 2.1

Tabel 2.1 Tabel Tipe Obyek

Tipe Obyek Keterangan

Tabel Tempat untuk menyimpan data, terdiri

dari kumpulan baris dan kolom yang membentuk record-record.

View Mempresentasikan secara logis subset dari

satu atau lebih table

Sequence Membantu membangkitkan (generate) nilai dari primary key

Indeks Mempercepat pengeksekusian query

Sinonim Nama alias untuk suatu obyek

Aturan penamaan obyek:

(38)

b. Maksimal 30 karakter

c. Berisi alfabet (A-Z/a-z), 0-9, _, $, #)

d. Unik (setiap nama obyek untuk 1 pemakai dan ruang nama tidak boleh sama)

e. Tidak berupa kata kunci dari Oracle

Tabulasi Oracle mengenai berbagai konstruksi program (tipe blok) dapat dilihat

(39)

Tabel 2.2 Tabel Konstruksi Program

Konstruksi program Keterangan Terdapat pada

Anonymous block Blok yang tidak memiliki nama

PL/SQL

Stored procedure Mencakup prosedur dan fungsi

Oracle Server

Prosedur atau fungsi aplikasi

Blok bernama yang ditulis di aplikasi pada Oracle Developer dan yang bisa menerima operand

Oracle Developer (misal : forms)

Package Bisa disebut module

berfungi untuk membungkus tipe, operasi maupun obyek sebagai satu kesatuan.

Oracle Server Oracle Developer

Trigger (database trigger)

Blok bernama yang pemanggilannya secara implisit (tidak langsung)

Oracle Server

Trigger aplikasi Hampir sama dengan trigger pada database yaitu pemanggilannya implisit, perbedaannya pada even untuk trigger aplikasi didefinisikan oleh development tool (misal : Oracle

Developer)

(40)

Trigger

Trigger adalah suatu aksi dalam database yang mempengaruhi database

lain yang berelasi akibat adanya suatu perubahan pada database tersebut.

Triger dipicu oleh even/kejadian insert, update, dan delete pada database.

Kode dalam trigger disebut trigger body, dibuat dalam blok PL/SQL. Trigger digunakan untuk menjaga integritas data, membuat aturan bisnis yang

kompleks dan mengaudit perubahan data. Trigger dapat dijalankan sebelum atau sesudah dilakukan perubahan pada database.

Bagian-bagian dari trigger dapat dilihat pada tabel 2.3

Tabel 2.3 Tabel Bagian dari Trigger

Bagian Keterangan Kemungkinan Nilai

Trigger timing Waktu trigger dijalankan: sesudah, sebelum, atau bersamaan dengan terjadinya perubahan pada database.

Before, after, instead off

Triggering event Perintah yang

menyebabkan perubahan pada database sebagai pemicu terjadinya trigger

Insert, update, dan delete

Trigger type Jumlah pengeksekusian trigger

Setiap pernyataan, setiap baris

(41)

2.5. Oracle PL/SQL (Procedural Language/Structured Query Language)

PL merupakan bagian pemrograman prosedural yang untuk melengkapi

SQL yang dianggap non prosedural. Blok PL/SQL

Ada 3 blok dalam PL/SQL:

DECLARE

Bersifat opsional, berisi deklarasi variabel, kursor, dan user-define

exceptions, konstanta.

BEGIN

Bersifat mandatory, berisi perintah-perintah SQL.

EXCEPTION

Bersifat opsional, berisi tindakan/aksi yang akan dilakukan bila terjadi

error/kesalahan.

END

Bersifat mandatory, untuk mengakhiri blok PL/SQL.

Procedure/Prosedur

Prosedur adalah blok PL/SQL yang digunakan untuk memperbaiki kinerja dan dapat disimpan dalam database. Prosedur berfungsi untuk memindahkan kode dari aplikasi ke database. Sehingga kode tersebut akan dapat digunakan

oleh berbagai aplikasi yang menggunakan database yang sama. Langkah-langkah pembuatan prosedur:

(42)

2. kompilasi kode

3. eksekusi prosedur

Struktur dari prosedur dapat dilihat pada tabel 2.4 Tabel 2.4 Tabel Struktur Prosedur

Parameter Keterangan Procedure_name Nama dari prosedur

Paramater Nama dari variabel PL/SQL yang

dihasilkan dari lingkungan pemanggil prosedur, dipengaruhi mode yang digunakan

Mode Tipe: IN

OUT IN OUT

Tipe data Tipe data yang umum digunakan di PL/SQL: %TYPE,%ROWTYPE,skalar, ataupun komposit

Blok PL/SQL Body dari prosedur yang akan

mendefinisikan aksi dari prosedur.

Function/Fungsi

Fungsi adalah blok PL/SQL yang mengembalikan sebuah nilai. Keuntungan penggunaan fungsi:

1. merupakan perluasan SQL, untuk menjalankan perintah SQL yang terlalu

kompleks atau yang tidak tersedia dengan SQL biasa.

2. meningkatkan efisiensi dalam penyaringan data sesuai kondisi tertentu.

(43)

Tabel 2.5 Tabel Perbedaan Prosedur dan Fungsi

Prosedur Fungsi

Dieksekusi sebagai statemen PL/SQL Diinvoke sebagai bagian ekspresi

Header tidak mengandung klausa

RETURN

Header mengandung klausa RETURN

Mengembalikan 0 atau lebih nilai Mengembalikan nilai tunggal

Dapat mengandung statemen RETURN Mengandung minimal 1 statemen

RETURN

2.6. Oracle Developer

2.6.1 Forms Developer

Oracle Forms Developer merupakan piranti pengembang yang dibuat

Oracle untuk memudahkan pembuatan aplikasi yang menggunakan database Oracle. Kemudahan dalam hal konektivitas/sambungan aplikasi terhadap database yang digunakan. Karena Oracle Developer merupakan piranti

desain berbasis visual yang diciptakan berpasangan dengan database Oracle. Aplikasi pada Forms Developer dapat memiliki 1 atau lebih form.

Untuk aplikasi yang kompleks, terdiri atas beberapa form dapat digunakan menu program untuk mengintegrasikan form-form tersebut. Ada 2

jenis menu program, yaitu:

(44)

b. Menu sekunder : menu yang terdapat dalam menu, biasa disebut sub

menu.

Pada Forms Developer dikenal adanya Object Navigator yaitu tempat

pengelompokkan obyek-obyek yang terdapat pada Forms Developer. Obyek-obyek yang terdapat pada Oracle Forms antara lain:

1. Triggers

Blok PL/SQL yang ditulis dengan fungsi tertentu yang berhubungan dengan even/kejadian spesifik/khusus pada database. Even khusus seperti insert, update, atau delete pada database.

2. Alerts

Window yang akan menampilkan pesan kesalahan bila suatu kondisi

terpenuhi. Alert menampilkan pesan kesalahan atas aksi yang dilakukan oleh user. Ada 3 jenis tipe alert:

a. Stop: alert yang mencegah user untuk melanjutkan aksi yang

dilakukan user, sistem menolak aksi yang dilakukan user. b. Caution: alert yang hanya menampilkan peringatan pada user

atas aksi yang dilakukannya.

c. Note: alert yang hanya menampilkan catatan atas aksi user. 3. Data Blok

Merupakan kontainer yang menampung sekelompok obyek seperti: text item, list, dan buttons.

(45)

blok mengelompokkan obyek-obyek dalam suatu fungsi untuk

menampilkan, memanipulasi, atau menyimpan record dalam database. 4. Canvas

Tempat untuk meletakkan semua obyek pada form yang akan

ditampilkan dalam aplikasi. Merupakan permukaan dari sebuah

windows

5. List Of Values (LOVs) dan Record Group

Record Group merupakan daftar kumpulan field dari 1 atau beberapa

tabel. LOVs merupakan daftar atau tampilan dari sebuah record group.

6. Parameters

Parameter menampung nilai yang akan dilewatkan ke form lain.

7. Program Units

Berisi sub program yang terdapat pada suatu form. Program unit dapat berupa fungsi, prosedur ataupun package.

8. Reports

Menampilkan report yang dibuat dengan Reports Developer.

9. Windows

Windows adalah obyek yang menampung seluruh obyek lain yang

terdapat dalam sebuah modul form.

(46)

2.6.2 Reports Developer

Merupakan piranti untuk membuat laporan-laporan berdasar data yang tersimpan dalam database melalui form yang telah dibuat.

Jenis laporan yang dapat dibuat menggunakan Reports Developer antara

lain: tabular, master-detail (group), form, form letter, mailing label.

Reports developer memiliki Object Navigator untuk mengatur

obyek-obyek dalam laporan. Obyek-obyek-obyek yang terdapat pada laporan antara lain: a. Data Model

Merupakan tempat untuk mendefinisikan data-data yang digunakan dalam

laporan. Data-data yang didefinisikan antara lain: 1. Queries

Perintah select dari SQL. 2. Groups

Kumpulan field yang di-queri.

3. Column

Terdiri dari formula column, summary column, placeholder column.

4. Parameter

Terdiri dari sistem parameter dan user parameter. Merupakan form yang digunakan sebagai parameter masukan laporan. Sistem

parameter telah didefinisikan Reports Developer dan digunakan untuk mengubah pilihan pada saat runtime. User parameter didefinisikan

(47)

5. DataLinks

Untuk menghubungkan 2 queri, umumnya merupakan master-detail. b. Paper Layout

Merupakan tempat untuk mendesain tampilan laporan. Paper layout

terdiri atas 4 bagian:

1. Header Section : halaman awal/pembuka laporan

2. Main Section : bagian utama laporan 3. Trailer Section : bagian akhir dari laporan

Obyek-obyek yang terdapat pada paper layout, antara lain:

1. text : untuk membuat label

2. frame : obyek yang mengelilingi field.

3. repeating frame : merupakan obyek yang mengelilingi field, yang mewakili grup pada data model.

4. field : obyek untuk menampung data dari obyek kolom

pada data model. c. Report Trigger

Trigger yang dikenakan pada laporan.

d. Program Unit

Kumpulan sub program yang ada pada laporan, meliputi: prosedur,

(48)

3.1.1 Gambaran Umum Sistem

Pabrik melayani penjualan barang kepada konsumen bisa secara langsung maupun melalui toko (toko Sanitas-Cirebon). Untuk penjualan

barang secara langsung, konsumen dapat memesan barang melalui telepon atau datang ke lokasi pabrik. Perolehan barang yang sudah dibeli konsumen bisa melalui pengiriman oleh staff pabrik atau pengambilan oleh konsumen

yang bersangkutan. Pengiriman barang oleh staff pabrik untuk pembelian barang dalam jumlah banyak tidak selalu dapat dilakukan karena adanya

keterbatasan kendaraan. Penjualan melalui toko tentu saja dengan harga yang lebih mahal daripada penjualan secara langsung ke konsumen. Harga yang dikenakan terhadap konsumen berbeda-beda tergantung dari frekuensi dan

kuantitas pembelian barang konsumen itu sendiri. Konsumen yang sering membeli barang dan dalam jumlah banyak maka akan dikenakan harga yang

lebih murah untuk barang yang sama, dibandingkan dengan konsumen yang lain. Demikian juga dalam hal pembayaran, konsumen yang sering membeli barang dan dalam jumlah banyak dapat membayar barang yang dibelinya

kemudian, beberapa minggu setelah pembelian.

Pabrik menjual botol-botol plastik berbagai jenis dan ukuran seperti:

(49)

jerigen 1 liter, sedotan, dan lain-lain. Konsumen pabrik meliputi: apotik,

rumah makan, perusahaan individu, dan lain-lain. Penyediaan barang setiap jenisnya berbeda satu sama lain tergantung dari banyaknya penjualan atas

barang tersebut. Bila banyak barang yang terjual untuk jenis tertentu maka barang jenis tersebut akan tersedia dalam jumlah banyak. Tidak ada batasan yang pasti mengenai jumlah maksimum dan minimum persediaan suatu jenis

barang.

3.1.1.1 Gambaran Umum Sistem Lama

Persediaan tiap jenis barang dicatat secara manual ke dalam buku persediaan barang. Pencatatan tersebut dilakukan pada setiap akhir jam

kerja.

Transaksi penjualan dicatat secara manual pada faktur yang diberikan oleh staff keuangan. Faktur yang diberikan staff keuangan

mempunyai no urut tertentu yang nantinya akan diperiksa penggunaannya oleh staff keuangan. Masing-masing faktur terdiri dari 3 lembar halaman

yang mempunyai warna berbeda-beda. Lembar pertama berwarna putih diberikan pada konsumen yang membeli barang secara tunai. Faktur lembar kedua berwarna merah muda digunakan untuk konsumen yang membeli

barang namun pembayarannya tidak pada saat pembelian. Faktur lembar kedua digunakan sebagai bukti penerimaan barang. Bila konsumen tidak

(50)

tersebut menerima faktur lembar kedua sedangkan lembar pertama akan

disimpan oleh Staff Penjualan dan Inventori (Staff PI) selama konsumen tersebut belum melakukan pembayaran. Faktur ketiga berwarna kuning

digunakan untuk arsip pabrik. Faktur lembar ketiga akan diperiksa oleh staff keuangan.

Untuk konsumen yang sering dan membeli barang dalam jumlah

banyak, barang dapat diretur apabila ada cacat produksi (misal: bocor), maka barang tersebut akan ditukar dengan barang yang sama sesuai dengan

jumlah barang yang diretur. Namun barang yang akan diretur tersebut harus dalam keadaan bersih, sebelumnya tidak diisikan bahan-bahan yang dapat menghambat proses pengolahan kembali barang tersebut. Barang

berkualitas baik yang sudah dibeli tidak bisa ditukar tambah atau dikembalikan dengan uang atau barang lain. Bila ada retur maka jumlah barang dalam stok akan dikurangi secara manual.

Akhir bulan, Staff PI akan menghitung secara manual penjualan selama satu bulan. Kemudian hasil perhitungan penjualan beserta

persediaan barang pada akhir bulan tersebut akan dilaporkan pada owner.

3.1.1.2 Gambaran Umum Sistem Baru

Persediaan setiap jenis barang akan dicatat dengan menggunakan

(51)

Transaksi penjualan dicatat oleh Staff PI melalui komputer,

memanfaatkan sistem informasi penjualan dan inventori yang akan dibuat. Faktur penjualan akan dicetak melalui printer, dibuat dengan rangkap dua.

Lembar pertama berwarna putih digunakan untuk konsumen yang membeli secara tunai dan lembar kedua berwarna merah muda digunakan untuk konsumen yang membeli barang namun pembayarannya dilakukan

kemudian. Konsumen yang membeli barang namun pembayarannya dilakukan kemudian, harus menandatangani faktur rangkap dua tersebut.

Faktur lembar kedua akan diberikan ke konsumen sebagai bukti penerimaan barang sedangkan lembar pertama akan disimpan oleh Staff PI selama konsumen tersebut belum melakukan pembayaran.

Apabila ada retur penjualan maka retur akan dicatat oleh Staff PI menggunakan komputer dan akan secara otomatis mengurangi stok barang yang bersangkutan (karena barang yang di-retur adalah barang yang

berkualitas kurang baik maka tidak dapat dijual kepada konsumen yang lain). Retur penjualan tidak mengurangi jumlah barang pada transaksi

penjualan, hanya akan mengurangi stok karena adanya penggantian barang kepada konsumen.

Akhir bulan, sistem akan membantu Staff PI dalam menghitung penjualan selama satu bulan tersebut.

Sistem akan membantu manager pabrik dalam pembuatan laporan.

(52)

Sistem Informasi penjualan dan inventori berbasis web ini

memungkinkan owner untuk memantau dan menerima laporan hasil penjualan dan retur secara langsung.

3.1.2 Use Case

(53)
(54)
(55)
(56)
(57)
(58)
(59)
(60)

3.2.1.2 Logical Database Design

Relational model dari ER Diagram setelah di-normalisasi dapat dilihat pada

(61)
(62)

Tahap physical design meliputi perancangan tabel pada database. Tabel yang diperlukan dalam sistem yang dibuat meliputi:

1. Tabel StaffPI

Tabel StaffPI berisi data-data Staff PI PT. Sanitas-Cirebon. Tahap physical design dari Tabel Staff PI dapat dilihat pada tabel 3.1.

Tabel 3.1 Tabel StaffPI Tahap Physical Design

Nama Field Tipe Data Ukuran Field Keterangan

KodeStaffPI Varchar2 5 Primary Key

NamaStaffPI Varchar2 50 -

AlamatStaffPI Varchar2 75 -

KotaStaffPI Varchar2 30 -

NoTelpStaffPI Varchar2 15 -

Pasword Varchar2 10 -

2. Tabel Konsumen

(63)

Nama Field Tipe Data Ukuran. Field Keterangan

KodeKonsumen Varchar2 10 Primary Key

NamaKonsumen Varchar2 50 -

AlamatKonsumen Varchar2 75 -

KotaKonsumen Varchar2 30 -

NoTelpKonsumen Varchar2 15 -

3. Tabel Barang

Tabel barang berisi data-data mengenai barang hasil produksi PT. Sanitas-Cirebon. Tahap physical design dari tabel barang dapat dilihat

pada tabel 3.3.

Tabel 3.3 Tabel Barang Tahap Physical Design

Nama Field Tipe Data Ukuran. Field Keterangan

KodeBarang Varchar2 10 Primary key

NamaBarang Varchar2 30 -

Satuan Varchar2 5 -

JumlahBarang Number 5 -

HargaProduksi Number 5 -

HargaJual Number 5 -

StokMinimum Number 5 -

StokMaksimum Number 5 -

4. Tabel Masuk

Tabel Masuk berisi data-data mengenai transaksi pemasukan barang,

(64)

3.4.

Tabel 3.4 Tabel Masuk Tahap Physical Design

Nama Field Tipe Data Ukuran Field Keterangan

TanggalPemasukan Date - DD-MM-YYYY

KodePemasukan Number 10 Primary Key, Format : 0000000001

KodeStaffPI Varchar2 5 Foreign Key

5. Tabel DetailMasuk

Tabel DetailMasuk merupakan detail dari tabel master-detail transaksi

pemasukan barang. Tahap physical design tabel DetailMasuk dapat dilihat pada tabel 3.5.

Tabel 3.5 Tabel DetailMasuk Tahap Physical Design

Nama Field Tipe Data Ukuran Field Keterangan

KodePemasukan Number 10 Foreign Key

KodeBarang Varchar2 10 Foreign Key

JumlahBarang Number 5 -

6. Tabel Jual

Tabel Jual berisi data-data mengenai transaksi penjualan barang. Tabel

Jual merupakan tabel master dari tabel master-detail transaksi penjualan barang. Tahap physical design dari tabel Jual dapat dilihat pada tabel

(65)

Nama Field Tipe Data Ukuran Field Keterangan

TanggalPenjualan Date - DD-MM-YYYY

KodePenjualan Number 10 Primary Key, format : 0000000001

KodeStaffPI Varchar2 5 Foreign Key

KodeKonsumen Varchar2 10 Foreign Key

TotalHarga Number 5 -

Discount Number 3 -

7. Tabel DetailJual

Tabel DetailJual merupakan detail dari tabel master-detail transaksi

penjualan barang. Tahap physical design dari tabel detailjual dapat dilihat pada tabel 3.7.

Tabel 3.7 Tabel DetailJual Tahap Physical Design

Nama Field Tipe Data Ukuran Field Keterangan

KodePenjualan Number 10 Foreign Key

KodeBarang Varchar2 10 Foreign Key

JumlahBarang Number 5 -

HargaSatuan Number 5 -

8. Tabel ReturJual

Tabel ReturJual berisi data-data transaksi retur penjualan. Transaksi

(66)

tabel ReturJual dapat dilihat pada tabel 3.8.

Tabel 3.8 Tabel ReturJual Tahap Physical Design

Nama Field Tipe Data Ukuran Field Keterangan

TanggalRetur Date - DD-MM-YYYY

KodeRetur Number 10 NOT NULL,Format : 0000000001

KodePenjualan Number 10 Foreign Key, format : 0000000001

KodeStaffPI Varchar2 5 Foreign Key

KodeKonsumen Varchar2 10 Foreign Key

KodeBarang Varchar2 10 Foreign Key

JumlahBarang Number 5 -

3.2.2 Design UserInterface

3.2.2.1 Design Output

a. Faktur Penjualan

Desain faktur penjualan dapat dilihat pada gambar 3.9. Faktur penjualan merupakan bukti dari transaksi penjualan. Lembar faktur ada yang diberikan pada konsumen dan ada faktur yang disimpan oleh Staff PI

(67)

Gambar 3.9 Faktur Penjualan

b. Laporan Penjualan

Desain laporan penjualan dapat dilihat pada gambar 3.10. Laporan penjualan ditujukan pada owner dan manager pabrik. Laporan ini

digunakan untuk perhitungan pendapatan dari pabrik setiap periode tertentu.

(68)

Desain laporan persediaan barang dapat dilihat pada gambar 3.11. Laporan ini ditujukan pada manager pabrik. Laporan ini dapat

digunakan untuk membantu manager tersebut dalam memutuskan barang mana yang akan diproduksi (berdasar jenis barang yang sudah habis/stoknya menipis).

Gambar 3.11 Laporan Persediaan Barang d. Laporan Barang Terjual

Desain laporan barang terjual dapat dilihat pada gambar 3.12. Laporan

barang yang terjual ditujukan untuk manager pabrik. Laporan ini dapat digunakan untuk membantu manager tersebut dalam menentukan barang mana yang akan diproduksi berdasar barang yang

paling banyak terjual.

Gambar 3.12 Laporan Barang Terjual

Kode

KodePenjualan NamaBarang JumlahBarang HargaSatuan

Dari Tanggal s/d

(69)

Desain laporan konsumen yang membeli barang dapat dilihat pada gambar 3.13. Laporan ini ditujukan untuk manager pabrik. Laporan

ini berguna untuk dapat menentukan siapa saja konsumen yang aktif dalam membeli barang di pabrik tersebut.

Gambar 3.13 Laporan Konsumen yang Membeli Barang

3.2.2.2 Design Input

a. Form Login

Desain form login dapat dilihat pada gambar 3.14. Form ini digunakan oleh Staff PI, manager pabrik, ataupun owner untuk dapat

masuk dan menggunakan sistem.

Gambar 3.14 Form Login UserName

Password

Nama Database

Connect Cancel Exit

Tanggal Penjualan

Kode Penjualan

Kode Konsumen

Nama Konsumen

Dari Tanggal s/d

(70)

Desain form input data Staff PI dapat dilihat pada gambar 3.15. Form ini digunakan untuk memasukkan, mengubah, dan menghapus data Staff PI.

Gambar 3.15 Form Input data Staff PI b. Form Input Data Konsumen

Desain form input data konsumen dapat dilihat pada gambar 3.16. Form ini digunakan untuk memasukkan, mengubah, atau menghapus

data konsumen pabrik. Data Staff Penjualan dan Inventori

Kode

Save Delete Exit

First Last Previous Next New

(71)

Gambar 3.16 Form Input Data Konsumen c. Form Input Data Barang

Desain form input data barang dapat dilihat pada gambar 3.17. Form

ini digunakan untuk memasukkan, mengubah, atau menghapus data barang hasil produksi dari PT. Sanitas-Cirebon.

Data Konsumen

Kode Konsumen

Nama Konsumen

Alamat Konsumen

Kota Konsumen

NoTelp Konsumen Kode Konsumen

Nama Konsumen

Alamat Konsumen

No. Telp Konsumen

Save Delete Exit

First Last Previous Next New

(72)

Gambar 3.17 Form Input Data Barang

d. Form Input Transaksi Penjualan

Desain form input data transaksi penjualan dapat dilihat pada gambar

3.18. Form ini digunakan untuk memasukkan, mengubah, atau menghapus data transaksi penjualan.

Data Barang

Save Delete Exit

First Last Previous Next

Harga Produksi

Harga Jual

New Stok Minimum

(73)

Gambar 3.18 Form Input Data Transaksi Penjualan

e. Form Input Data Transaksi Pemasukan Barang

Desain form input data transaksi pemasukan barang dapat dilihat pada gambar 3.19. Form ini digunakan untuk memasukkan, mengubah, atau menghapus data transaksi pemasukan barang. Data transaksi

pemasukan barang meliputi barang-barang yang diproduksi oleh pabrik.

Transaksi Penjualan

Detail Transaksi Penjualan

Kode Barang Jumlah Barang Harga Satuan

Tanggal Penjualan

Kode Penjualan

Kode Staff PI

Kode Konsumen

Save Delete Exit

First Last Previous Next New

(74)

Gambar 3.19 Form Input Data Transaksi Pemasukan Barang

f. Form Input untuk Pembuatan Laporan

Desainform input untuk pembuatan laporan dapat dilihat pada gambar 3.20. Form ini digunakan untuk menampilkan laporan-laporan

berdasar periode/rentang waktu tertentu.

Gambar 3.20 Form Input untuk Pembuatan Laporan Tanggal Awal

Tanggal Akhir Data transaksi Pemasukan Barang

Detail data transaksi Pemasukan Barang

KodeBarang JumlahBarang Tanggal Pemasukan

Kode Pemasukan

Kode Staff PI

Save Delete Exit

(75)

4.1 Karakteristik Sistem

Agar aplikasi dapat dijalankan maka server maupun client harus memenuhi karakteristik sebagai berikut:

1. Server

Kebutuhan perangkat keras yang digunakan:

a. Prosesor : minimal Intel Pentium IV 2,0 GHz

b. RAM : minimal 512 MB

c. Harddisk : 80 Gigabyte

Kebutuhan perangkat lunak yang digunakan:

a. Sistem Operasi : Microsoft Windows (minimal windows 2000) untuk dapat menginstall Oracle baik Oracle

XE ataupun Oracle Developernya.

b. Database : Oracle Express Edition (Oracle XE),

merupakan produk database Oracle yang bersifat freeware (gratis).

c. Service : OC4J Instance (service dari Oracle

Developer).

d. Piranti Pengembang : Oracle Developer versi 9.0.2.0.1.

(76)

Kebutuhan perangkat keras yang digunakan: a. Prosesor : 1 GHz

b. RAM : minimal 256 MB

c. Harddisk : 40 Gigabyte

Kebutuhan perangkat lunak yang digunakan:

a. Sistem Operasi : Microsoft Windows (minimal windows 2000) untuk koneksi dengan database server.

b. Web Browser : Internet Explorer 6.0 atau mozilla firefox 5.0 untuk

mengakses sistem.

4.2 Tahap Implementasi

4.2.1 Implementasi Database

4.2.1.1 Pembuatan Tabel

Ada 8 buah tabel yang dibuat dalam database, yaitu:

1. Tabel StaffPI 2. Tabel Konsumen 3. Tabel Barang

4. Tabel Masuk 5. Tabel DetailMasuk

(77)

8. Tabel ReturJual

Perintah untuk membuat tabel pada database dapat dilihat pada lampiran A

4.2.1.2 Pembuatan Trigger

Trigger database yang dibuat, yaitu:

1. Trigger Barang_DMasuk_AIUDR

Trigger ini digunakan untuk mengurangi atau menambah stok barang

bila terjadi penambahan (insert), pengubahan (update), ataupun

penghapusan (delete) transaksi pemasukan barang. Namun untuk pengubahan atau penghapusan transaksi pemasukan barang tidak dapat

(78)

2. Trigger Barang_DJual_AIUDR

Trigger ini digunakan untuk mengurangi atau menambah stok barang

bila terjadi penambahan (insert), pengubahan (update), ataupun penghapusan (delete) transaksi penjualan barang. Namun untuk

pengubahan atau penambahan transaksi pemasukan barang tidak dapat dilakukan bila jumlah barang yang dibeli konsumen lebih dari stok barang yang dimiliki.

create or replace TRIGGER Barang_DMasuk_AIUDR

AFTER INSERT OR UPDATE OR DELETE ON DetailMasuk FOR EACH ROW

BEGIN

IF INSERTING THEN UPDATE Barang

SET JumlahBarang = JumlahBarang + :NEW.JumlahBarang WHERE Barang.KodeBarang = :NEW.KodeBarang; ELSIF UPDATING('JumlahBarang') THEN

UPDATE Barang

SET JumlahBarang = JumlahBarang + (:NEW.JumlahBarang - :OLD.JumlahBarang) WHERE Barang.KodeBarang = :OLD.KodeBarang;

ELSIF UPDATING ('KodeBarang') THEN UPDATE Barang

SET JumlahBarang = JumlahBarang - :OLD.JumlahBarang WHERE Barang.KodeBarang = :OLD.KodeBarang; UPDATE Barang

SET JumlahBarang = JumlahBarang + :OLD.JumlahBarang WHERE Barang.KodeBarang = :NEW.KodeBarang; ELSIF DELETING THEN

UPDATE Barang

SET JumlahBarang = JumlahBarang - :OLD.JumlahBarang WHERE Barang.KodeBarang = :OLD.KodeBarang; END IF;

(79)

3. Trigger Barang_RJual_AIUDR

Trigger ini digunakan untuk mengurangi atau menambah stok barang

bila terjadi penambahan (insert), pengubahan (update), ataupun penghapusan (delete) transaksi retur penjualan barang. Namun untuk pengubahan atau penambahan transaksi retur penjualan barang tidak

dapat dilakukan bila jumlah barang yang diretur melebihi stok barang yang dimiliki. Retur barang hanya dapat dilakukan bila sebelumnya

terjadi transaksi penjualan barang dan berlaku terhadap jenis barang yang sama.

create or replace TRIGGER Barang_DJual_AIUDR

AFTER INSERT OR UPDATE OR DELETE ON DetailJual FOR EACH ROW

BEGIN

IF INSERTING THEN UPDATE Barang

SET JumlahBarang = JumlahBarang - :NEW.JumlahBarang WHERE Barang.KodeBarang = :NEW.KodeBarang; ELSIF UPDATING('JumlahBarang') THEN

UPDATE Barang

SET JumlahBarang = JumlahBarang - (:NEW.JumlahBarang - :OLD.JumlahBarang)

WHERE Barang.KodeBarang = :OLD.KodeBarang; ELSIF UPDATING ('KodeBarang') THEN

UPDATE Barang

SET JumlahBarang = JumlahBarang + :OLD.JumlahBarang WHERE Barang.KodeBarang = :OLD.KodeBarang; UPDATE Barang

SET JumlahBarang = JumlahBarang - :OLD.JumlahBarang

WHERE Barang.KodeBarang = :NEW.KodeBarang;

ELSIF DELETING THEN UPDATE Barang

SET JumlahBarang = JumlahBarang + :OLD.JumlahBarang WHERE Barang.KodeBarang = :OLD.KodeBarang; END IF;

(80)

4. Trigger DJual_HSatuan_AIUS

Trigger ini digunakan untuk menampilkan HargaJual barang bila terjadi

penambahan (insert), pengubahan (update), ataupun penghapusan (delete) detail transaksi penjualan barang.

Perintah untuk pembuatan trigger DJual_HSatuan_AIUS:

create or replace TRIGGER Barang_RJual_AIUDR

AFTER INSERT OR UPDATE OR DELETE ON DetailJual FOR EACH ROW

BEGIN

IF INSERTING THEN UPDATE Barang

SET JumlahBarang = JumlahBarang - :NEW.JumlahBarang WHERE Barang.KodeBarang = :NEW.KodeBarang; ELSIF UPDATING('JumlahBarang') THEN

UPDATE Barang

SET JumlahBarang = JumlahBarang - (:NEW.JumlahBarang - :OLD.JumlahBarang)

WHERE Barang.KodeBarang = :OLD.KodeBarang; ELSIF UPDATING ('KodeBarang') THEN

UPDATE Barang

SET JumlahBarang = JumlahBarang + :OLD.JumlahBarang WHERE Barang.KodeBarang = :OLD.KodeBarang; UPDATE Barang

SET JumlahBarang = JumlahBarang - :OLD.JumlahBarang

WHERE Barang.KodeBarang = :NEW.KodeBarang;

ELSIF DELETING THEN UPDATE Barang

SET JumlahBarang = JumlahBarang + :OLD.JumlahBarang WHERE Barang.KodeBarang = :OLD.KodeBarang; END IF;

END;

create or replace TRIGGER DJual_HSatuan_AIUS

AFTER INSERT OR UPDATE OF KodeBarang ON DetailJual BEGIN

UPDATE DetailJual

(81)

Sequence dibuat untuk memudahkan user dalam meng-inputkan

kodepenjualan atau kodepemasukan barang. Kode Penjualan dan Kode Pemasukan otomatis bertambah 1 bila user meng-klik pada image New.

1. KodeJual_Seq

Digunakan untuk men-generate KodePenjualan secara otomatis.

Perintah untuk membuat sequence KodeJual_Seq:

2. KodeMasuk_Seq

Digunakan untuk men-generate KodePemasukan secara otomatis.

Perintah untuk membuat sequence KodeMasuk_Seq:

CREATE SEQUENCE KODEJUAL_SEQ MINVALUE 1

MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1 NOCACHE ORDER NOCYCLE

CREATE SEQUENCE KODEMASUK_SEQ MINVALUE 1

(82)

4.2.2.1Pembuatan Form

Langkah-langkah pembuatan form sebagai berikut:

Form Barang (FRM_BARANG)

1. Jalankan aplikasi Oracle Forms Builder, akan tampil Object Navigator yang berisi menu, form, library PL/SQL. Untuk koneksi

dengan database, klik connect pada toolbar. Isikan username, password, dan nama database.

2. Klik kanan module1 dibawah node form, pilih property palett untuk mengubah properti dari form. Pada nama, ubah module1 menjadi FRM_BARANG.

3. Klik kanan pada window, pilih property palett untuk mengubah properti window. Pada Nama ubah module1 menjadi W_Barang.

4. Klik 2 kali pada canvas atau klik canvas kemudian klik tanda tambah yang berwarna hijau. Ubah nama pada canvas menjadi C_Barang dengan menampilkan property palett.

5. Buat 3 buah datablok, datablok pertama menampung masukan dari user (nama datablok: Barang), datablok kedua menampilkan data

(83)

Klik dua kali datablok, pilih use datablock wizard. Klik next, pilih table/view klik next. Klik browse pilih Barang. Masukkan field yang

tersedia sebagai item database. Klik next, masukkan nama dari

datablok, yaitu Barang. Untuk menempatkan datablok pada canvas, bisa menggunakan layout wizard atau secara manual. Untuk layout

wizard pilih create datablock then call the layout wizard. Klik finish.

Klik next, pilih canvas yang akan digunakan, yaitu C_Barang. Klik next pilih item yang akan ditampilkan, pilih semua item. Klik next,

atur prompt atau label dari masing-masing item/field. Klik next pilih bentuk yang akan ditampilkan, pilih bentuk form. klik next, klik

finish.

Cara membuat datablok DB_Barang:

Klik dua kali datablok, pilih use datablock wizard. Klik next, pilih

table/view klik next. Klik browse pilih tabel Barang. Masukkan field yang tersedia sebagai item database. Klik next, masukkan nama dari

datablok, yaitu DB_Barang. Pilih create datablock then call the layout wizard. Klik finish. Klik next, pilih canvas yang akan digunakan,

yaitu C_Barang. Klik next pilih item yang akan ditampilkan, pilih

semua item. Klik next, atur prompt atau label dari masing-masing item/field. Klik next pilih bentuk yang akan ditampilkan, pilih bentuk

tabular. Klik next dan masukkan jumlah record yang akan

(84)

Cara membuat DB_TOOL:

Buat datablok baru secara manual. Ubah nama datablok dengan property palett. Klik kanan pada datablok yang dibuat pilih layout

editor.

Untuk Membuat image item pada datablok DB_TOOL:

Klik image item dan tempatkan pada canvas, dikelompokkan dalam datablok DB_TOOL. Klik kanan pada image item, ubah nama dari property palett. Klik kanan pilih smart triggers pilih

when-mouse-click masukkan perintah yang akan dijalankan bila gambar tersebut

di-klik. Perintah yang ada pada trigger image item dapat dilihat pada

lampiran b.

Untuk Membuat button pada datablok DB_TOOL:

Klik button dan tempatkan pada canvas. Ubah nama dan label dari

button. Klik kanan pilih trigger When-Button-Pressed dan isikan

perintah-perintah jika button tersebut ditekan. Perintah-perintah yang

ada pada trigger button dapat dilihat pada lampiran b.

6. Di bawah FRM_BARANG terdapat trigger yang akan dijalankan sesuai dengan kejadian terhadap form. Contoh: trigger

When-New-Form-Instance merupakan trigger yang akan dijalankan setiap form

tersebut dijalankan. Trigger ini akan mempengaruhi proses

(85)

dapat dilihat pada penjelasan form barang.

7. Simpan form yang dibuat ke folder yang lain. Karena bila tidak disimpan, akan ada pesan kesalahan karena pada address/alamat file

yang ditampilkan yaitu mengacu pada folder penyimpanan file sementara.

8. Untuk menjalankan form, sebelumnya jalankan dulu OC4J Instance yaitu dengan cara start OC4J Instance pada menu Forms Developer dan bila sudah selesai pilih shut down OC4J Instance. Kemudian

pastikan application URL dan Web Browser Locationnya benar yaitu dengan cara klik edit, pilih preference, pilih runtime. Pada

application URL klik Default dan pada browser location pilih lokasi

dari web browser berupa aplikasi dari browser yang digunakan. 9. Jalankan form dengan meng-klik run form.

Form Login (FRM_LOGON)

1. Buat form baru, klik dua kali form. Klik kanan module1 dibawah

node form, pilih property palett untuk mengubah property dari form.

Pada nama, ubah module1 menjadi FRM_LOGON.

2. Klik 2 kali pada canvas atau klik canvas kemudian klik tanda tambah

yang berwarna hijau. Ubah nama pada canvas menjadi C_Login dengan menampilkan property palett.

Gambar

Gambar 2.1 Siklus Hidup Pengembangan SI (Atzeni, 2000)
Gambar 2.2 Tahap-tahap Perancangan Database (Atzeni, 2000)
Tabel Tempat untuk menyimpan data, terdiri
Tabel 2.2 Tabel Konstruksi Program
+7

Referensi

Dokumen terkait

Penelitian epidemologi menunjukkan bahwa kanker leher rahim mempunyai karakteristik seperti pada wanita yang berusia 35-55 tahun memiliki risiko lebih besar untuk menderita

Penelitian ini menggunakan metode deskriptif dengan mengumpulkan berbagai data sekunder dan primer yang diperlukan dan analisis tumpang tindih peta (overlay) serta cek

Dalam Undang-undang No 32 tahun 2009 tentang Perlindungan dan Pengelolaan Lingkungan Hidup Pengakuan korporasi sebagai subjek hukum pidana terdapat pada Pasal 116 huruf a, yang

Maka dari itu sebagai mahasiswa Fakultas Adab Khususnya dibidang Sejarah dan Peradaban Islam merasa bertanggung Jawab mengadakan penelitian langsung kelokasi desa Cendoro

Pada permukaan tangkai daun bagian atas dan bawah, dari pangkal sampai ujung berwarna hijau kekuningan, dan memiliki ukuran yang panjang (16-20 cm).. Ubi Hijau

Dari tabel di atas dapat dilihat bahwa sebagian besar petani memiliki pengalaman berusahatani yang sudah cukup banyak yaitu 24% (11-20 tahun) dan 40% (21-30 tahun), hal

Dalam Penelitian ini digunakan alat tangkap bubu dengan menggunakan jenis bahan yang berbeda yaitu bambu, kayu, jaring dan plastik yang berbentuk tabung dengan

Peubah Efikasi Diri memberikan sumbangan efektif terhadap kreativitas siswa, sebab dengan adanya keyakinan yang tinggi pada diri siswa tentang kemampuan yang ada