bab 2 landasan teori 2.1 pendekatan...

57
8 BAB 2 Landasan Teori 2.1 Pendekatan BasisData Penggunaan basisdata yang tradisioanal adalah File-Based System. Setiap program yang menggunakan File-Based System akan mendefinisikan dan mengontrol masing-masing data program itu sendiri. Tetapi aplikasi File-Based System mempunyai banyak kelemahan,contohnya : Data terpisah-pisah Data yang terisolasi pada file berbeda mengakibatkan semakin sulitnya pengaksesan terhadap data tersebut. Duplikasi data Karena setiap programmer membuat file dan aplikasi dalam jangka waktu yang lama, variasi file memiliki format yang berbeda dan kemungkinan program tersebut ditulis oleh bahasa program yang berbeda-beda. Oleh Karena itu, kemungkianan informasi yang sama dapat berbeda pada beberapa file Ketergantungan Data Struktur fisik dari file data dan record didefinisikan pada kode aplikasi. Hal ini mengakibatkan pengubahan dari struktur yang telah ada menjadi sulit dilakukan. Format data yang tidak kompatibel Karena struktur file tersimpan pada program aplikasi, struktur tersebut menjadi tergantung pada bahasa pemrograman yang digunakan. Fixed query File-Based System menawarkan system yang lebih baik, tetapi seiring dengan perkembangan akan muncul permintaan-permintaan query baru. Hal ini

Upload: vanmien

Post on 07-Apr-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

8

BAB 2

Landasan Teori

2.1 Pendekatan BasisData

Penggunaan basisdata yang tradisioanal adalah File-Based System. Setiap

program yang menggunakan File-Based System akan mendefinisikan dan mengontrol

masing-masing data program itu sendiri. Tetapi aplikasi File-Based System mempunyai

banyak kelemahan,contohnya :

Data terpisah-pisah

Data yang terisolasi pada file berbeda mengakibatkan semakin sulitnya

pengaksesan terhadap data tersebut.

Duplikasi data

Karena setiap programmer membuat file dan aplikasi dalam jangka waktu yang

lama, variasi file memiliki format yang berbeda dan kemungkinan program tersebut

ditulis oleh bahasa program yang berbeda-beda. Oleh Karena itu, kemungkianan

informasi yang sama dapat berbeda pada beberapa file

Ketergantungan Data

Struktur fisik dari file data dan record didefinisikan pada kode aplikasi. Hal ini

mengakibatkan pengubahan dari struktur yang telah ada menjadi sulit dilakukan.

Format data yang tidak kompatibel

Karena struktur file tersimpan pada program aplikasi, struktur tersebut

menjadi tergantung pada bahasa pemrograman yang digunakan.

Fixed query

File-Based System menawarkan system yang lebih baik, tetapi seiring dengan

perkembangan akan muncul permintaan-permintaan query baru. Hal ini

9

membutuhkan pembuatan program tambahan untuk menjalankan query tersebut.

Hal ini membutuhka waktu yang lama dan tamahan biaya sehingga dapat

menurunkan efektifitas dari system.

Dengan adanya kekurangan dari File-Based System, maka dibuatlah sisem

basisdata yang merupakan pendekatan baru yang dibutuhkan untuk mengatasi

kelemahan tersebut. Salah satu dari sistem basisdata adalah Database dan

Database Management System (DBMS).

2.1.1 Pengertian BasisData

Menurut Gerard V. Post (2005,p2) basisdata adalah koleksi penyimpanan data

berdasarkan standar format yang dirancang agar bisa digunakan bersama-sama oleh user

yang berbeda-beda.

Menurut Ramakrishman (3005, p4) basisdata adalah koleksi data, yang bertipikal

penjelasan aktivitas dari satu atau lebih relasi organisasi.

Menurut Atzeni, dkk (2003, p2) basisdata adalah koleksi data, yang digunakan

untk merepresentasikan informasi yang menarik ke dalam sistem informasi.

Maka dari itu, kami menyimpulkan bahwa basisdata adalah koleksi data yang

bertipikal aktivitas dari satu atau lebih relasi organisasi yang dirancang agar bisa

digunakan bersama-sama dan disimpan untuk kepentingan organisasi atau perusahaan.

2.1.2 Database Management System (DBMS)

DBMS (Basisdata Management System) menurut Hofer (2005, p7) adalah sistem

yang digunakan untuk membuat, merawat dan menyediakan control akses untuk

10

pengguna basisdata. DBMS menyediakan metode sistematik untuk pembuatan, updating,

penyimpanan dan penerimaan data pada basisdata. DBMS juga menyediakan fasilitas

untuk mengontrol akses data, menguatkan integritas data, mengatur control konkurensi,

dan menyimpan basisdata.

DBMS menurut Gererd V. Post ( 2005, p2) adalah yang menjelaskan basisdata,

penyimpanan data, mendukung bahasa query, memproduksi laporan, dan membuat layer

data entry.

DBMS menurut Atzeni dkk (2003, p3) adalah sistem piranti lunak yang

memungkinkan untuk mengatur koleksi data yang banyak, berbagi dan persisten serta

untuk memastikan reliabilitas dan privacy mereka. Seperti produk yang lainnya, DBMS

harus efisien dan efektif. Basisdata adalah koleksi data yang diatur oleh DBMS.

DBMS menurut Connolly (2005, p17) adalah suatu sistem piranti lunak yang

memungkinkan user untk mendefinisikan, membuat, merawat, dan mengontrol akses ke

dalam basisdata.

2.1.3 Data Definition Language (DDL)

Definisi dari Data Definition Language menurut Connolly (2005, p40) adalah

suatu bahasa yang memperbolehkan Database Administrator (DBA) atau user untuk

mendeskripsikan nama dari suatu entity, atribut, dan relationship data yang diminta oleh

aplikasi, bersamaan dengan integritas data dan batasan keamanan datanya.

11

2.1.4 Database Manipulation Language (DML)

DML menurut Gerard V. Post (2005, p146) adalah sebuah rangkaian dari

perintah-perintah yang digunakan untuk mengakses data. Contohnya Command Insert,

Delete, dan Update.

DML menurut Connolly (2005, p40) adalah suatu bahasa yang memberikan

fasilitas pengoperasian data yang ada di dalam basis data. Pengoperasian data yang akan

dimanipulasi biasanya meliputi:

1. Penambahan data baru ke dalam basisdata.

2. Modifikasi data yang disimpan ke dalam basisdata.

3. Pengambilan data yang terdapat di dalam basisdata.

Sedangkan definisi Procedural DML menurut Connolly (2005, p41) adalah suatu

bahasa yang memperbolehkan user untuk mendeskripsikan ke sistem data apa yang

dibutuhkan dan bagaimana mendapatkan data tersebut secara persis.

2.1.5 4GL

Fourth-Generalazatin Languages atau 4th GLs menurut Connolly (2005,p42)

adalah generasi bahasa tingkat empat. Tidak ada konsensus tentang apa itu 4th GLs,

ditunjukkan untuk bahasa pemrograman yang sederhana suatu operasi yang

membutuhkan banyak baris dalam bahasa generasi tingkat tiga (3th GLs), seperti

COBOL, biasanya membutuhkan hanya 10-20 baris 4th GLs. Dibandingkan dengan 3 th

GLs, yang membutuhkan produser,pada 4th GLs tidak diperlukan lagi dan pengguna bisa

menentukan apa saja yang harus dilakukan.

4th GLs diharapkan dapat memudahkan penggunanya pada tingkat komponen

yang lebih tinggi seperti tools generasi ke-4. Para pengguna tidak mengharapkan untuk

12

mendefinisikan langkah suatu program untuk melaksanakan suatu tugas, tetapi lebih

mendefinisikan parameter untuk tools yang mana untuk menciptakan suatu program

aplikasi. 4th GLs diyakini dapat mengembangkan produktivitas dalam batasan jenis

masalah yang bisa diatasi oelh 4th GLs:

- Presentasi bahasa, seperti query language and report generator

- Bahasa khusus, seperti spreadsheets dan basisdata language

- Aplikasi generator yang dapat mendefinikan, menyisipkan, memperbaharui, dan

membuka kembali data dari suatu basis data untuk membuat aplikasi.

2.1.6 Database Life Cycle

Sistem informasi berbasis computer terdiri dari sebuah database, piranti lunak

database, piranti lunak aplikasi, perangkat keras komputer dan pemakanian perseorangan

dan perkembangan sistem. Komponen terpenting dari sistem informasi adalah database.

Pemakian dan perkembangan dari database harus memenuhi kebutuhan tersebar dari

perusahaan.

Tingkat dari information system lifecycle atau software development lifecycle

(SDLC) terdiri dari perencanaan, analisis kebutuhan, perancangan pembuatan prototype,

implementasi, konversi dan operasi pemeliharaan. Tingkatan dari database application

lifecycle memiliki bentuk yang tidak kaku, tetapi mengikuti bentuk dari bentuk semula

yaitu feedback loops.

Untuk aplikasi database kecil, dengan jumlah pemakai yang kecil, siklus hidup

yang diperlukan tidak terlalu kompleks. Meskipun begitu, ketika merancang database

aplikasi menengah ke atas dengan jumlah pemakai dari 10 hingga 1000, menggunakan

ratusan query dan program aplikasi, sisklus hidup dapat menjadi komplek.

13

Gambar 2.1

Tingkatan dari Database System Development Lifecycle

( Sumber : Connolly dan Begg , 2005 , p284 )

2.1.6.1 Database Planning

Adalah aktifitas manajemen yang memungkinkan setiap tahapan dalam

Database System Development Lifecycle untuk direalisasikan seefisien dan

seefektif mungkin. Database Planning seharusnya diintegrasikan dengan

14

keseluruhan strategi Information System dari organisasi. Ada 3 persoalan utama

dalam menyusun strategi IS, antara lain :

1. Identifikasi dari rencana dan tujuan perusahaan dengan determinasi secara

subsequent dari kebutuhan sistem informasi.

2. Mengevaluasi sistem informasi yang ada untuk mendefinisikan kekuatan dan

kelemahan.

3. Penafsiran dari IT opportunity untuk mendapatkan keuntungan bersaing.

2.1.6.2 Sistem Definition

Sistem definisi mendeskripsikan cakupan dan batasan dari aplikasi

basisdata dan user view utama. User view mendeskripsikan apa yang dibutuhkan

dari sebuah basisdata dari sudut pandang peran pekerja (seperti manager atau

supervisor) atau area aplikasi perusahaan (seperti marketing, personel, atau

kontrol stok).

2.1.6.3 Requirements Collection and Analysis

Suatu proses yang mengumpulkan dan menganalisis informasi mengenai

bagian dari organisasi yang didukung oleh aplikasi basisdata dan penggunaan

informasi ini untuk mengidentifikasi kebutuhan pengguna dari sistem yang baru.

Untuk mengumpulkan dan menganalisis informasi digunakan teknik yang

dinamakan teknik fact-finding.

Menurut Connolly dan Begg ( 2005, p317), terdapat lima teknik fact -

finding yang umum digunakan:

15

• Mengevaluasi dokumentasi.

• Interview.

• Observasi.

• Research.

• Questioner.

2.1.6.4 Database Design

Menurut Connolly dan Begg ( 2005 , p291 ), Database design adalah

suatu proses yang membuat suatu rancangan untuk basisdata yang akan

mendukung kegiatan operasional dan tujuan dari perusahaan.

Pada bagian ini dibagi menjadi tiga tahap, yaitu conceptual, logical, dan physical

1. Conceptual database design

Pada tahap konseptual ini bertujuan untuk membuat representasi

konseptual dari basis data, termasuk identifikasi entitas, relationship, dan atribut.

Pada tahap ini dibagi menjadi beberapa langkah, yaitu:

Langkah 1. Membangun conceptual data model

Langkah 1.1 Identifikasikan Tipe Entitas

Langkah 1.2 Identifikasikan Tipe Relationship

Langkah 1.3 Identifikasikan dan Asosiasikan Atribut dengan Tipe

Entitas dan Tipe Relationship

Langkah 1.4 Menentukan Domain Atribut

Langkah 1.5 Penentuan Atribut Candidate key, Primary Key, dan

Alternate Key

16

Langkah 1.6 Mempertimbangkan penggunaan enhanced modeling

concept (optional)

Langkah 1.7 Memeriksa model dari redundancy

Langkah 1.8 Validasi Model Konseptual dengan user transaction

Langkah 1.9 Meninjau local conceptual data model dengan pengguna

2. Logical database design

Pada tahap ini memetakan model konseptual ke model logikal yang

dipengaruhi oleh model data yang menjadi tujuan dari basisdata. Dalam

perancangan model logikal, model data yang telah diperoleh dalam basisdata

konseptual diubah dalam bentuk dimana data yang ada dipengaruhi oleh model

data yang menjadi tujuan basisdata (contoh : relational model). Hal ini dilakukan

untuk menerjemahkan representasi konseptual kedalam bentuk struktur logik

dalam basisdata. Model data logikal merupakan sumber informasi dalam

merancang basisdata fisikal. Perancangan basisdata logikal memberikan sarana

yang membantu para perancang dalam merancang basisdata fisikal. Pada tahap

ini dibagi menjadi beberapa langkah, yaitu :

Langkah 2. Membangun dan memvalidasi logical data model

Langkah 2.1 Menentukan Relasi – Relasi untuk Model Data Logikal

Langkah 2.2 Validasi Model dengan Normalisasi

Langkah 2.3 Memvalidasi Relasi dengan User Transaction

Langkah 2.4 Mendefinisikan Kendala Integrity

Langkah 2.5 Me-review logical data model dengan User

17

Langkah 2.6 Menggabungkan Logical Data Model ke dalam Global

Model (optional)

Langkah 2.7 Memeriksa untuk perkembangan lebih lanjut

3. Physical database design

Tahap physical datanbase design memungkinkan perancang basisdata

untuk membuat keputusan mengenai bagaimana basisdata akan

diimplementasikan. Oleh karena itu, physical databse design harus disesuaikan

dengan DBMS yang spesifik. Pada tahap ini dibagi menjadi beberapa langkah,

yaitu :

Langkah 3. Menerjemahkan logical data model untuk DBMS yang dipilih

Langkah 3.1 Merancang relasi – relasi dasar

Langkah 3.2 Merancang representasi untuk data Turunan

Langkah 3.3 Merancang general constraint

Langkah 4. Merancang file organization dan indexes

Langkah 4.1 Menganalisa transaksi

Langkah 4.2 Memilih organisasi file

Langkah 4.3 Memillih index – index

Langkah 4.4 Memperkirakan kebutuhan disk space

Langkah 5. Merancang user view

Langkah 6. Merancang mekanisme keamanan

Langkah 7. Mempertimbangkan pengenalan redudancy control

Langkah 8. Mengawasi dan mengendalikan sistem operasional

18

2.1.6.5 DBMS Selection

Pemilihan DBMS dilakukan untuk memilih DBMS yang sesuai dengan

aplikasi basisdata. Menurut Connolly dan Begg ( 2005, p295 ), berikut ini adalah

langkah –langkah dalam memilih DBMS :

1. Menggambarkan cakupan tugas berdasarkan kebutuhan perusahaan

2. Membuat perbandingan mengenai 2 atau 3 produk DBMS

3. Mengevaluasi produk-produk DBMS tersebut

4. Merekomendasikan pemilihan DBMS dan membuat laporan hasil dari

evaluasi produk DBMS tersebut.

Secara khusus DBMS menyediakan fasilitas-fasilitas sebagai berikut :

1. Mengijinkan pengguna untuk menentukan basisdata, biasanya melalui

Data Definition Language (DDL). DDL mengijinkan pengguna untuk

menspesifikasikan tipe data, struktur dan batasan-batasan data yang bisa

disimpan di basisdata.

2. Mengijikan pengguna untuk insert, update, delete atau retrive data dari

basisdata, biasanya melalui Data Manipulation Language(DML).

3. DBMS menyediakan akses kontrol ke basisdata. Sebagai contohnya

DBMS menyediakan :

a. Security system, dimana mencegah autorisasi pengguna untuk

mengakses basisdata.

b. Integrity system, dimana menangani konsistensi penyimpanan data.

c. Concurrency control system, dimana mengijinkan basisdata untuk

diakses secara share.

19

d. Recovery control system, dimana basisdata bisa di-restore pada saat

terjadi kesalahan pada hardware maupun software.

e. User-accesable catalog, dimana berisi deskripsi data dalam basisdata.

2.1.6.6 Application Design

Menurut Connolly dan Begg ( 2005 , p299 ), Rancangan aplikasi adalah

rancangan dari user interface dan program aplikasi yang digunakan dan

memproses basisdata. Dalam kebanyakan kasus tidak mungkin dapat

menyelesaikan aplication design sebelum menyelesaikan database design itu

sendiri. Dengan kata lain database yang ada mendukung aplikasi sehingga ada

banyak aliran infomasi anatar application design dan database design.

2.1.6.7 Prototyping (Optional)

Pada kondisi tertentu kita dapat memilih apakah akan membuat prototype

atau langsung mengimplementasikan basisdata. Suatu prototype adalah suatu

model aplikasi basisdata yang mempunyai semua corak yang diperlukan dan

menyediakan semua kemampuan sistem. Tujuan utama prototype itu untuk

menguji apakah fitur-fitur yang ada pada sistem telah bekerja sesuai dengan

karakteristik pengguna. Dengan cara ini, kita dapat memperjelas kebutuhan

pengguna dan pengembangan sistem dan mengevaluasi kelayakan desain sistem

tersebut.

Menurut Connolly dan Begg ( 2005, p303 ), ada dua cara strategi

membuat prototype yaitu requirements prototyping dan evolutioner prototyping.

Untuk requirements prototyping digunakan prototype untuk menentukan

20

kebutuhan suatu aplikasi basisdata yang diusulkan dan ketika kebutuhan

dirasakan sudah lengkap maka prototype tersebut tidak lagi digunakan. Protype

evolutioner digunakan untuk tujuan yang sama, perbedaannya adalah bahwa

prototype tidaklah dibuang tapi dikembangkan lebih lanjut sehingga menjadi

aplikasi basisdata tersebut.

2.1.6.8 Implementasi

Menurut Connolly dan Begg ( 2005, p304 ), implementasi merupakan

perwujudan fisik dari basisdata dan desain aplikasi. Setelah menyelesaikan tahap

desain (dengan atau tanpa prototype), selanjutnya pada tahap implementasi

basisdata dan program aplikasi. Implementasi basisdata dicapai dengan

menggunakan Data Definition Language (DDL) dari DBMS yang telah dipilih

atau dengan menggunakan Graphical User Interface (GUI), masing - masing

meyediakan fungsi ketika menyembunyikan pernyataan (statement) DDL yang

low - level. Pernyataan DDL digunakan untuk menciptakan struktur basisdata

dan mengosongkan file yang terdapat dalam basisdata tersebut. User view juga

diterapkan dalam langkah implementasi.

Program aplikasi diterapkan dengan menggunakan bahasa generasi

keempat atau ketiga (4GL atau 3GL). Bagian dari program aplikasi ini adalah

transaksi basisdata yang diterapkan menggunakan Data Manipulation Language

(DML). Transaksi basisdata juga dapat dibuat dalam bahasa pemrograman

seperti Visual Basic, Delphi, C, C++, Java, COBOL, Fortran, Ada, atau Pascal.

Juga dapat diterapkan komponen lain dari desain aplikasi seperti layar menu,

format masukan data, dan laporan.

21

Pengendalian keamanan dan integritas untuk aplikasi juga

diimplementasikan. Sebagian dari kendali ini telah diterapkan dengan

menggunakan DDL, tetapi yang lain mungkin perlu digambarkan diluar DDL.

Sebagai contoh, kegunaan yang disediakan DBMS atau kendali sistem operasi.

2.1.6.9 Data Convertion dan Loading

Menurut Connolly dan Begg ( 2005, p305 ), pemindahan data yang ada

ke basisdata yang baru dan mengubah aplikasi yang sedang berjalan agar dapat

digunakan dalam basisdata yang baru.

2.1.6.10 Testing

Menurut Connolly dan Begg ( 2005, p305 ), Testing adalah suatu proses

yang melaksanakan proses aplikasi dengan tujuan menemukan kesalahan.

Dalam melakukan testing, para pengguna baru harus dilibatkan untuk menguji

proses aplikasi dan basisdata tersebut. Situasi yang ideal untuk pengujian sistem

adalah mempunyai suatu tes basisdata pada suatu sistem perangakat keras, tetapi

ini sering tidak tersedia. Jika data real yang diharapkan untuk digunakan, maka

adalah penting untuk mempunyai backup. Setelah pengujian diselesaikan, maka

sistem aplikasi dan basisdata ini telah siap digunakan.

2.1.6.11 Operational Maintenance

Menurut Connolly dan Begg ( 2005, p306 ), setelah melalui tahapan-tahapan

sebelumnya, maka sistem sekarang telah pada tahap pemeiharaan yang

melibatkan aktivitas berikut :

22

1. Monitoring performance dari sistem. Jika performansi berada disuatu

tingkatan yang bisa diterima, penyetelan atau menyusun kembali basisdata

mungkin diperlukan.

2. Memelihara dan meningkatkan mutu aplikasi basisdata. Kebutuhan baru

disatukan kedalam aplikasi basisdata dengan mengikuti langkah – langkah

sebelumnya yang terdapat dalam database lifecycle.

Ketika aplikasi bisnis data sedang beroperasi, perlu dilakukan monitoring

secara dekat untuk memastikan bahwa performansi dalam tingkatan yang dapat

diterima.

Monitoring proses akan terus berlanjut sepanjang seluruh hidup suatu

aplikasi basisdata tersebut dan pada waktu tertentu boleh melakukan menyusun

kembali basisdata untuk mencukupi kebutuhan dari sistem. Perubahan ini

meyediakan informasi pada evolusi sistem dan sumber daya pada masa yang akan

datang mungkin diperlukan. Hal ini memungkinkan DBA untuk terlibat dalam

perencanaan kapasitas dan untuk memberitahu staf senior siaga untuk melakukan

penyesuaian rencana jika DBMS kekurangan kegunaan tertentu, DBA dapat

mengembangkan kegunaan yang diperlukan atau memberi tools tambahan jika

tersedia.

2.1.7 Tahap-Tahap Perancangan BasisData

Dalam merancang suatu basisdata melalui beberapa tahapan, sebagai berikut :

• Perancanagan Basisdata Konseptual

• Perancanagan Basisdata Logikal

23

• Perancanagan Basisdata Fisikal

2.1.7.1 Perancangan Basisdata Konseptual

Menurut Connolly dan Begg ( 2005 , p439 ), perancangan konseptual

basisdata adalah proses pembangunan model data yang digunakan di perusahaan,

yang tidak bergantung pada semua pertimbangan fisikal. Tujuannya untuk

membangun representasi konseptual basisdata, yang meliputi identifikasi dari

entitas - entitas, relationship - relationship, dan atribut - atribut yang penting.

Menurut Connolly dan Begg ( 2005 , p443 ), langkah - langkah perancangan

konseptual basisdata yaitu :

Langkah 1. Membangun Conceptual Data Model

Menurut Connolly dan Begg ( 2005 , p442 ), tujuannya adalah untuk

membangun local conceptual data model dari perusahaan untuk tiap view yang

spesifik. Tiap local conceptual data model terdiri dari entity type, relation type,

atribut - atribut, domain – domain atribut, primary key, alternate key, dan

integrity constraint. Langkah - langkah yang harus dilakukan pada langkah 1 :

Langkah 1.1 Identifikasikan Tipe Entitas

Menurut Connolly dan Begg ( 2005, p443 ), tujuannya adalah

mengidentifikasikan tipe – tipe entitas utama yang dibutuhkan oleh view.

Langkah 1.2 Identifikasikan Tipe Relationship

Menurut Connolly dan Begg ( 2005 , p445 ), tujuannya adalah

mengidentifikasikan relationship – relationship penting yang ada diantara tipe –

tipe entitas yang telah diidentifikasi.

24

Langkah 1.3 Identifikasikan dan Asiosiasikan Atribut dengan Tipe Entitas

dan Tipe Relationship

Menurut Connolly dan Begg ( 2005 , p447 ), tujuannya adalah untuk

menghubungkan atribut – atribut dengan entitas atau relationship type yang

sesuai.

Langkah 1.4 Menentukan Domain Atribut

Menurut Connolly dan Begg ( 2005 , p450 ), tujuannya adalah untuk

menentukan domain – domain untuk atribut – atribut dalam local conceptual

data model. Domain atribut adalah kumpulan nilai yang diperbolehkan untuk

satu atau lebih atribut. Domain merupakan fitur yang sangat kuat dalam model

relational. Setiap atribut di dalam relasi ditetapkan dalam domain. Domain

mungkin berbeda untuk tiap atribut, atau dua atau lebih atribut mungkin

ditetapkan dalam domain yang sama.

Langkah 1.5 Penentuan Atribut Candidate Key, Primary Key, dan Alternate

Key

Menurut Connolly dan Begg ( 2005 , p451 ), tujuannya adalah untuk

mengidentifikasikan candidate – candidate key untuk tiap tipe entitas dan, jika

terdapat lebih dari satu candidate key, maka pilih salah satu untuk dijadikan

primary key.

Menurut Connolly dan Begg ( 2005 , p451 ), ketika memilih primary key

diantara candidate key, kita dapat menggunakan panduan berikut untuk

membantu pemilihan primary key, yaitu :

- Candidate key dengan kumpulan atribut yang minimal

- Candidate key yang nilainya jarang berubah

25

- Candidate key dengan karakter – karakter yang paling sedikit (untuk yang

memiliki textual attributes)

- Candidate key dengan nilai maksimum paling rendah (untuk yang memiliki

numerical attributes)

- Candidate key yang paling mudah digunakan dari sudut pandang user

Langkah 1.6 Mempertimbangkan penggunaan enhanced modeling concept

(optional)

Menurut Connolly dan Begg ( 2005 , p453 ), tujuannya adalah untuk

mempertimbangkan penggunaan enhanced modeling concepts, seperti

specialization / generalization, aggregation, dan composition.

Langkah 1.7 Memeriksa model dari redundancy

Menurut Connolly dan Begg ( 2005 , p453 ), tujuannya adalah untuk

memeriksa apakah terdapat redundancy dalam model. Dua kegiatan dalam

langkah ini adalah : memeriksa kembali one-to-one relationship dan

menghilangkan redundant relationships.

Langkah 1.8 Validasi Model Konseptual dengan User Transaction

Menurut Connolly dan Begg ( 2005 , p456 ), tujuannya adalah untuk

menjamin bahwa model konseptual mendukung transaksi – transaksi yang

dibutuhkan oleh view.

Langkah 1.9 Meninjau local conceptual data model dengan pengguna

Menurut Connolly dan Begg ( 2005 , p458 ), tujuannya adalah untuk

meninjau local conceptual data model dengan user untuk menjamin bahwa

model tersebut adalah representasi yang sebenarnya dari data yang dibutuhkan

oleh perusahaan.

26

Supervisor

Staff

staffNo {PK}name fName lNamepositionsexDOB

Owner

ownerNo {PK}addresstelNo

PropertyForRent

propertyNo {PK}address street city postcodetyperoomsrent

Client

clientNo {PK}name fName lNametelNo

viewDatecomment

Preference

prefTypemaxRent

PrivateOwner

name fName lName

BusinessOwner

bNamebTypecontactName

Lease

leaseNo {PK}paymentMethoddepositPaidrentStartrentFinish/deposit/duration

{Optional}Supervises

Registers

1 .. 1

0 .. 10

1 .. 1

0 .. *0 .. 1

0 .. 100Manages

0 .. * 0 .. *

Views

1 .. *

1 .. 1

Owns

AssociatedWith

1 .. 1

0 .. *

1 .. 1

0 .. *

1 .. 1

1 .. 1

Holds States

{Mandatory, Or}

Gambar 2.2 ERD Conseptual

( Sumber : Connolly dan Begg , 2005 , p464 )

2.1.7.2 Perancangan Basisdata Logikal

Menurut Connolly dan Begg ( 2005 , p439 ), perancangan logikal

basisdata adalah suatu proses pembangunan model data yang digunakan dalam

perusahaan berdasar atas model data yang spesifik, tetapi tidak bergantung pada

27

particular DBMS dan pertimbangan fisikal lainnya. Tujuannya untuk

menerjemahkan representasi konseptual ke struktur logikal dari basisdata yang

meliputi perancangan relasi – relasi.

Menurut Connolly dan Begg ( 2005 , p462 ), langkah – langkah

perancangan basisdata logikal yaitu :

Langkah 2. Membangun dan memvalidasi logical data model

Menurut Connolly dan Begg ( 2005 , p462 ), tujuannya adalah

menerjemahkan logical data model dan kemudian untuk memvalidasi model

tersebut untuk memeriksa model tersebut benar secara struktural dan memiliki

kemampuan untuk mendukung transaksi – transaksi yang dibutuhkan. Tujuan ini

akan tercapai dengan mengikuti langkah – langkah berikut :

Langkah 2.1 Menentukan Relasi – Relasi untuk Model Data Logikal

Menurut Connolly dan Begg ( 2005 , p463 ), tujuannya adalah

menciptakan relasi – relasi untuk model data logikal untuk merepresentasikan

entitas – entitas, relationship – relationship, dan atribut – atribut yang telah

diidentifikasikan. Relationship yang dapat muncul pada model data konseptual :

● Strong Entity Type dan Weak Entity Type

Menurut Connolly dan Begg ( 2005 , p354 ), strong entity type

adalah tipe entitas yang keberadaannya tidak bergantung (independent)

pada beberapa tipe entitas lainnya. Karakteristik dari strong entity type

adalah tiap entity occurrence dapat diidentifikasi secara unik

menggunakan atribut primary key dari tipe entitas. Strong entity type

sering juga disebut parent atau owner atau dominant entities.

28

Menurut Connolly dan Begg ( 2005 , p355 ), weak entity type

adalah tipe entitas yang keberadaannya bergantung (dependent) pada

beberapa tipe entitas lainnya. Weak entity type juga disebut child,

dependent, atau subordinate entities.

● One-to-many (1:*) binary relationship types

Menurut Connolly dan Begg ( 2005 , p465 ), untuk tiap 1:* binary

relationship, entitas pada ‘one side’ dari relationship dianggap sebagai

entitas parent dan entitas pada ‘many side’ dianggap sebagai entitas child.

Untuk merepresentasikan relationship ini, pasangkan salinan primary key

dari entitas parent ke dalam relation yang merepresentasikan entitas

child, untuk berlaku sebagai foreign key.

● One-to-one (1:1) binary relationsip types

Menurut Connolly dan Begg ( 2005 , p465 ), penciptaan relasi -

relasi untuk merepresentasikan 1:1 relationship sedikit lebih kompleks

karena cardinality tidak dapat digunakan untuk membantu

mengidentifikasikan entitas - entitas parent dan child dalam relationship.

Sebagai gantinya participation constraint digunakan untuk membantu

memutuskan apakah baik untuk merepresentasikan relationship dengan

menggabungkan entitas - entitas yang terlibat kedalam satu relasi atau

dengan menciptakan dua relasi dengan menyalin salinan dari primary key

dari satu relasi ke relasi lainnya. Kita mempertimbangkan bagaimana

29

menciptakan relasi – relasi untuk merepresentasikan participation

constraint berikut :

- Mandatory participation pada 2 sisi dari 1:1 relationship

- Mandatory participation pada 1 sisi dari 1:1 relationship

- Optional participation pada 2 sisi dari 1:1 relationship

● Mandatory participation pada 2 sisi dari 1:1 relationship

Menurut Connolly dan Begg ( 2005 , p466 ), pada kasus ini, kita

harus menggabungkan entitas – entitas yang terlibat kedalam satu relasi

dan memilih salah satu dari primary key dari entitas – entitas aslinya

untuk menjadi primary key dari relasi yang baru, sedangkan yang lainnya

dijadikan alternate key.

● Mandatory participation pada 1 sisi dari 1:1 relationship

Menurut Connolly dan Begg ( 2005 , p466 ), pada kasus ini, kita

dapat mengidentifikasikan entitas - entitas parent dan child untuk 1:1

relationship menggunakan participation constraint. Entitas yang

mempunyai optional participation dalam relationship dianggap sebagai

entitas parent, dan entitas yang mempunyai mandatory participation

dalam relationship dianggap sebagai entitas child. Seperti yang diuraikan

diatas, salinan primary key dari entitas parent ditempatkan dalam relasi

yang merepresentasikan entitas child. Jika relationship mempunyai satu

atau lebih atribut, atribut ini harus menyertakan penyalinan primary key

ke relasi child.

30

● Optional participation pada 2 sisi dari 1:1 relationship

Menurut Connolly dan Begg ( 2005 , p467 ), kita dapat memilih

primary key mana yang dipilih tergantung dari kasus yang ada.

● One-to-one (1:1) recursive relationship

Menurut Connolly dan Begg ( 2005 , p467 ), untuk 1:1 recursive

relationship, kita mengikuti aturan untuk participation seperti yang

diuraikan untuk 1:1 relationship. Untuk 1:1 recursive relationship dengan

mandatory participation pada 2 sisi, representasikan recursive

relationship sebagai relasi tunggal dengan 2 salinan primary key.

Sedangkan salah satu salinan dari primary key merepresentasikan foreign

key dan harus diubah namanya untuk menandakan relationship yang

direpresentasikan.

Untuk 1:1 recursive relationship dengan mandatory participation

pada satu sisi, kita mempunyai pilihan untuk menciptakan relasi tunggal

dengan 2 salinan primary key atau untuk menciptakan relasi baru untuk

merepresentasikan relationship. Relasi baru hanya akan mempunyai 2

atribut, keduanya merupakan salinan primary key.

Untuk 1:1 recursive relationship dengan optional participation

pada 2 sisi, kita menciptakan relasi baru seperti yang telah diuraikan

diatas.

● Superclass/subclass relationship types

Menurut Connolly dan Begg ( 2005 , p467 ),untuk tiap superclass

atau subclass relationship dalam data model konseptual, kita

31

mengidentifikasikan entitas superclass sebagai entitas parent dan entitas

subclass sebagai entitas child. Terdapat banyak pilihan dalam

merepresentasikan relationship sebagai salah satu atau lebih relasi –

relasi. Pilihan yang paling sesuai tergantung dari sejumlah faktor seperti

disjointnese dan participation constraint pada superclass / subclass

relationship apakah subclass – subclass terlibat dalam distinct

relationship dan jumlah participant – participant dalam superclass /

subclass relationship.

● Many-to-many (*:*) binary relationship types

Menurut Connolly dan Begg ( 2005 , p469 ), untuk tiap *:* binary

relationship menciptakan relasi untuk merepresentasikan relationship dan

meliputi atribut – atribut yang menjadi bagian dari relationship. Kita

menyalin salinan primary key dari entitas yang berhubungan dalam

relationship kedalam relasi baru. Untuk berlaku sebagai foreign key.

● Complex relationship types

Menutur Connolly dan Begg ( 2005 , p470 ), untuk setiap complex

relationship menciptakan sebuah relasi untuk merepresentasikan

relationship dan termasuk semua atribut yang merupakan bagian dari

relationship tersebut. Kita menyalin salinan primary key dari entitas yang

berhubungan dalam complex relationship kedalam relasi baru, untuk

berlaku sebagai foreign key.

32

● Multi-valued attributes

Menurut Connolly dan Begg ( 2005 , p471 ), menciptakan relasi

yang merepresentasikan atribut – atribut multi-valued dan menyalin

salinan primary key dari entitas owner kedalam relasi baru untuk menjadi

foreign key.

Langkah 2.2 Validasi Model dengan Normalisasi

Menurut Connolly dan Begg ( 2005 , p473 ), tujuannya adalah untuk

memvalidasi relasi – relasi dalam model data konseptual menggunakan teknik

normalisasi.

Menurut Connolly dan Begg ( 2005 , p388 ), normalisasi adalah teknik

untuk menghasilkan sekumpulan relasi – relasi dengan properti – properti yang

diinginkan, sesuai dengan kebutuhan data – data yang diberikan oleh perusahaan.

Tujuan dari normalisasi ini adalah untuk meminimalkan redudansi data

(perulangan data) dan update anomalies, menciptakan representasi data,

hubungan antar data dan contraint yang akurat, serta meningkatkan stabilitas.

Untuk mencapai tujuan tersebut maka harus dilakukan identifikasi dengan benar

atas relasi – relasi yang ada. Pada dasarnya, proses normalisasi ini dilakukan

karena terjadinya redundansi data atau kejanggalan pengubahan (update

anomaly).

Menurut Connolly dan Begg ( 2005 , p391 ), update anomaly ada tiga

jenis yaitu insert anomaly, delete anomaly, dan modification/update anomaly.

Insert anomaly adalah kejanggalan yang terjadi terhadap sebuah table pada saat

dilakukan penambahan suatu record, yaitu berupa pelanggaran terhadap integrity

33

constraint. Delete anomaly adalah kejanggalan yang terjadi terhadap suatu tabel

pada saat dilakukan penghapusan suatu record, penghapusan bermaksud untuk

menghapus suatu data tertentu tetapi menyebabkan kehilangan informasi lain

dari tabel tersebut. Modification/update anomaly adalah kejanggalan yang terjadi

terhadap suatu tabel pada saat dilakukan pengubahan suatu record, pengubahan

terhadap suatu nilai tertentu harus dilakukan lebih dari sekali. Hal ini amat

memungkinkan terjadinya inkonsistensi data.

Menurut Connolly dan Begg ( 2005 , p401 ), proses normalisasi meliputi

langkah – langkah utama berikut :

- First Normal Form ( 1NF ), yang menghilangkan repeating groups

- Second Normal Form ( 2NF ), yang menghilangkan partial dependency

dalam primary key

- Third Normal Form ( 3NF ), yang menghilangkan transitive dependencies

dalam primary key

- Boyce-Codd Normal Form ( BCNF ), yang menghilangkan anomaly –

anomaly yang tersisa dari functional dependencies

Langkah 2.3 Mendefinisikan Kendala Integrity

Menurut Connolly dan Begg ( 2005 , p474 ), tujuannya adalah memeriksa

integrity constraint yang direpresentasikan dalam model data logical. Integrity

constraint terdiri dari 5 jenis, yaitu : data yang dibutuhkan, attribute domain

constraint, entity integrity, referential integrity, dan general constraint.

34

● Data yang dibutuhkan

Menurut Connolly dan Begg ( 2005 , p475 ), beberapa atribut

harus selalu memiliki nilai yang valid. Dengan kata lain, atribut tersebut

tidak boleh bernilai null.

● Attribute domain constraint

Menurut Connolly dan Begg ( 2005 , p475 ), tiap atribut

mempunyai domain, yaitu kumpulan nilai – nilai yang legal. Misalnya,

ada 2 jenis kelamin yaitu ‘M’ atau ‘F’, jadi domain untuk atribut jenis

kelamin adalah karakter string tunggal yang terdiri dari ‘M; atau ‘F’.

Batasan ini harus diidentifikasikan ketika kita memilih domain atribut

untuk model data.

● Multiplicity

Menurut Connolly dan Begg ( 2005 , p475 ), multiplicity

merepresentasikan batasan yang diletakkan pada relationship antara data

di dalam basisdata.

● Entity integrity

Menurut Connolly dan Begg ( 2005 , p475 ), primary key dari

entitas tidak boleh bernilai null. Batasan ini harus betul – betul

dipertimbangkan ketika kita mengidentifikasikan primary key untuk tiap

tipe entitas.

● Referential integrity

Menurut Connolly dan Begg ( 2005 , p475 ), foreign key

menghubungkan tiap tuple dalam relasi child ke tuple dalam relasi parent

yang meliputi nilai candidate key yang sesuai. Referential integrity berarti

35

bahwa jika foreign key memiliki nilai, maka nilai tersebut harus menunjuk

pada tuple yang ada pada relasi parent.

Menurut Connolly dan Begg ( 2005 , p476 ), terdapat 5 strategi

untuk mempertahankan referential integrity pada saat penghapusan tuple

pada relasi parent, yaitu :

- NO ACTION

Mencegah penghapusan dari relasi parent jika terdapat tuple –

tuple child yang ditunjuk.

- CASCADE

Ketika tuple parent dihapus, secara otomatis juga dihapus tuple –

tuple child yang ditunjuk

- SET NULL

Ketika tuple parent dihapus, nilai foreign key dalam semua tuple –

tuple child yang berhubungan secara otomastis diubah menjadi

null.

- SET DEFAULT

Ketika tuple parent dihapus, nilai foreign key dalam semua tuple –

tuple child yang berhubungan secara otomatis diubah menjadi

nilai default-nya.

- NO CHECK

Ketika tuple parent dihapus, tidak melakukan apa – apa untuk

menjamin referential integrity tetap terjaga.

36

● General constraints

Pengubahan – pengubahan pada entitas – entitas mungkin diatur

oleh batasan – batasan yang memerintah transaksi ’real world’ yang

direpresentasikan oleh pengubahan tersebut

Langkah 2.4 Menggabungkan Logical Data Model ke dalam Global Model

(optional)

Menurut Connolly dan Begg ( 2005 , p479 ), tujuannya adalah untuk

merepresentasikan semua user views dari basisdata.

Langkah 2.5 Memeriksa untuk perkembangan lebih lanjut

Menurut Connolly dan Begg ( 2005 , p490 ), tujuannya adalah

menentukan apakah terdapat perubahan signifikan pada masa depan yang dapat

diramalkan dan untuk menilai apakah model data logikal dapat mengakomodasi

perubahan tersebut.

37

Gambar 2.3 ERD Logical

( Sumber : Connolly dan Begg , 2005 , p489 )

2.1.7.3 Perancangan Basisdata Fisikal

Menurut Connolly dan Begg ( 2005 , p439 ), perancangan fisik basisdata

adalah proses membuat deskripsi dari implementasi basisdata pada secondary

storage, mendeskripsikan relasi dasar, file organization, dan index yang

digunakan untuk mendapatkan akses efisien pada data dan semua integrity

38

constraint yang berhubungan dan security measures. Tujuannya adalah untuk

memutuskan bagaimana struktur logikal diimplementasikan (sebagai relasi dasar)

secara fisik dalam DBMS yang dipilih.

Menurut Connolly dan Begg ( 2005 , p496 ), langkah – langkah

perancangan fisik basisdata meliputi :

Langkah 3. Menerjemahkan logical data model untuk DBMS yang dipilih

Menurut Connolly dan Begg ( 2005 , p497 ), tujuannya adalah untuk

menghasilkan relational database schema dari data model logikal yang dapat

diimplementasikan dalam DBMS yang dipilih. 3 aktifitas pada Step 3 :

Langkah 3.1 Merancang relasi – relasi dasar

Menurut Connolly dan Begg ( 2005 , p498 ), tujuannya adalah untuk

memutuskan bagaimana merepresentasikan relasi – relasi dasar yang

diidentifikasikan dalam model data logikal dalam DBMS yang dipilih. Untuk

tiap relasi yang diidentifikasi dalam model data logikal, kita mempunyai definisi

yang terdiri dari :

- Nama relasi

- Daftar atribut – atribut sederhana dalam golongan – golongan

- Primary key dan alternate key dan foreign key jika ada

- Referential integrity contraints untuk semua foreign keys yang

diidentifikasikan

Menurut Connolly dan Begg ( 2005 , p498 ), sedangkan dari data dictionary,

dari tiap – tiap atribut kita juga mempunyai :

39

- Domain-nya, yang terdiri dari tipe data, panjang, dan semua batasan dalam

domain

- Nilai default optional untuk atribut

- Apakah atribut dapat mempunyai nilai nulls

- Apakah atribut tersebut derived, maka harus dikomputasi

Langkah 3.2 Merancang Representasi untuk Data Turunan

Menurut Connolly dan Begg ( 2005 , p499 ), tujuannya adalah untuk

memutuskan bagaimana merepresentasikan semua data derived yang ada dalam

model data logikal dalam DBMS yang dipilih. Atribut yang nilainya dapat dicari

dengan memeriksa nilai – nilai dari atribut – atribut lainnya disebut derived atau

calculated attribute.

Langkah 3.3 Merancang General Constraint

Menurut Connolly dan Begg ( 2005 , p501 ), tujuannya adalah untuk

merancang general constraint untuk DBMS yang dipilih.

Langkah 4. Merancang file organization dan indexes

Menurut Connolly dan Begg ( 2005 , p501 ), tujuannya adalah untuk

menentukan file organisasi yang optimal untuk menyimpan relasi – relasi dasar

dan indeks – indeks yang dibutuhkan untuk mencapai performansi yang dapat

diterima, dengan begitu, relasi dan tuple akan disimpan pada secondary storage.

Terdapat beberapa factor yang dapat digunakan untuk mengukur

efisiensi, yaitu :

40

- Transaction throughput adalah jumlah transaksi yang dapat diproses dalam

jangka waktu tertentu. Diukur pada kondisi peak.

- Response time adalah waktu yang diperlukan untuk menyelesaikan satu

transaksi. Dari pandangan pengguna, kita sedapat mungkin ingin

meminimalkan response time. Response time ini biasanya dipengaruhi waktu

untuk mengakses data yang diperlukan, system load, OS scheduling,

communication delay.

- Disk storage adalah jumlah disk space yang dibutuhkan untuk menyimpan

file – file basisdata. Para perancang sistem biasanya ingin meminimalkan

disk storage yang digunakan.

Langkah 4.1 Menganalisa Transaksi

Menurut Connolly dan Begg ( 2005 , p502 ), tujuannya adalah untuk

mengerti fungsi dari transaksi yang akan diterapkan pada basisdata dan untuk

menganalisa transaksi – transaksi yang penting.

Langkah 5. Merancang mekanisme keamanan

Menurut Connolly dan Begg ( 2006 , p516 ), tujuannya adalah untuk

merancang mekanisme keamanan untuk basisdata seperti yang ditentukan oleh

user pada waktu tahap pengumpulan kebutuhan – kebutuhan dari system

development lifecycle. Mekanisme kemanan yang dirancang dalam basisdata

yaitu mekanisme keamanan sistem dan mekanisme keamanan data.

41

Langkah 6. Mempertimbangkan pengenalan redudancy control

Menurut Connolly dan Begg ( 2006 , p519 ), tujuannya adalah untuk

menentukan apakah pengenalan redundancy yang dikontrol dengan aturan –

aturan normalisasi akan meningkatkan performansi sistem.

Langkah 7. Mengawasi dan mengendalikan sistem operasional

Menurut Connolly dan Begg ( 2006 , p532 ), tujuannya adalah untuk

mengawasi sistem operasional dan meningkatkan performansi dari sistem untuk

memperbaiki keputusan perancangan yang tidak sesuai atau merefleksikan

perubahan kebutuhan.

2.1.8 ER Modeling

Terdapat beberpa konsep Model ER yang berupa :

2.1.8.1 Entity Type

Menurut Connolly dan Begg ( 2005, p343) entity type adalah kelompok

objek dengan properties yang sama, yang didefinisikan unutk perusahaan selama

mempunyai keadaan yang independent. Entity type memepuyai kedaan yang

independent dan dapat berupa objek-objek dengan keberadaan fisik atau objek-

objek denga keberadaan konseptual.

2.1.8.2 Entity Occurrence

Menurut Connolly dan Begg (2005, p346) relationship occurrence adalah

penyatuan yang dapat diidentifikasikan secara unik, yang terdiri dari 1

occurrance dari tiap participating entity type

42

2.1.8.3 Atribut

Menurut Connolly dan Begg (2005, p350) atribut adalah property dari

entitas atau relationship type. Atribut domain adalah sekumpulan nilai-nilai yang

diperbolehkan untuk satu atau lebih atribut. Atribut dapat diklasifikasikan

menjadi

a. Simple Atribut yaitu yang terdiri dari satu komponen tunggal dengan

keberadaan yang idependen dan tidak dapat dibagi menjadi bagian yang

lebih kecil lagi

b. Composite Atibut yaitu atribut yang terdiri dari beberpa komponen,

dimana masing-masing komponen memilki keberdaan yang independen

c. Single-valued Atribut yaitu atribut yang mempuyai nilai tunggal untuk

setiap kejadian

d. Multi-valued Atribut yaitu atribut yang mempuyai beberpa nilai untuk

setiap kejadian

e. Derived Atribut yaitu atribut yang memilki nilai yang dihasilakan dari

satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu

entitas.

2.1.8.4 Key

Menurut Connolly dan Begg ( 2005 , p352 ), candidate key adalah

sekelompok atribut yang minimal dan secara unik mengidentifikasikan tiap

occurrence dari entity type.

Menurut Connolly dan Begg ( 2005 , p353 ), primary key adalah key yang dipilih

untuk mengidentifikasikan secara unik tiap occurrence dari entity type.

43

Menurut Connolly dan Begg ( 2005 , p353 ), composite key adalah candidate key

yang terdiri dari dua atau lebih atribut.

Gambar 2.4 ER Diagram

2.1.8.5 Structural constraint

Tipe utama dari constraint dari relationship disebut multiplicity.

Multiplicity adalah jumlah dari kejadian – kejadian yang mungkin dari sebuah

tipe entitas yang terhubung pada kejadian tunggal dari tipe entitas yang

berhubungan melalui relationship khusus.

Tiga jenis relationship yang digunakan mengikuti enterprise constraint :

• Hubungan one-to-one (1:1)

Hubungan yang terjadi diantara dua entitas yang saling terlibat adalah satu-satu

dan dapat pula member entitas yang satu ada yang tidak berhubungan dengan

44

member dari entitas yang berelasi dengannya dan entitas tersebut juga berelasi

maksimal 1.

Contoh : satu produk hanya memiliki satu bonus dan bonus hanya dimiliki oleh

satu produk. Diasumsikan hanya produk tertentu saja yang mempunyai bonus

dan bonusnya hanya satu.

Gambar 2.5 Hubungan one-to-one (1:1)

• Hubungan one-to-many (1:*)

Hubungan yang terjadi diantara dua entitas yang saling terlibat adalah satu-

banyak. Dimana sebuah member dari entitas dapat berhubungan dengan satu atau

banyak member dari entitas yang lain dan member dari entitas yang lainnya

berhubungan (bisa dari 0) sampai maksimal 1.

Contoh : seorang kepala sekolah dapat memiliki 1 hingga banyak guru, tetapi

seorang guru hanya memiliki satu dan hanya satu kepala sekolah.

Gambar 2.6 Hubungan one-to-many (1:*)

KepalaSekolah

Guru

1..1 has ► 1..*

Produk

Bonus 1..1 has ► 1..1

45

• Hubungan many-to-many (*:*)

Hubungan yang terjadi diantara dua entitas yang saling terlibat adalah banyak-

banyak. Member dari sebuah entitas dapat berelasi dengan entitas yang lain

dengan maksimal multiplicity banyak (*) dan sebaliknya dengan relasi entitas

yang berhubungan tersebut.

Contoh : Pembeli dapat memilih 0 hingga banyak produk yang ingin dibeli,

tetapi produk dapat dipilih untuk dibeli oleh 0 hingga banyak pembeli pada satu

jenis produk.

Gambar 2.7 Hubungan many-to-many (*:*)

2.1.9 Normalisasi

Tujuan uatama dalam pengembangan model data logical pada sistem

database relational adlah menciptakan representasi akurat suatu data, relationship

anatar data dan batasan-batasannya. Untuk mencapai tujuan ini, maka harus

ditetapkan sekumpulan relasi.

2.1.9.1 Pengetian Normalisasi

Menurut Connolly dan Begg ( 2005 , p401 ), normalisasi adalah teknik

formal untuk menganalisa relasi berdasarkan pada primary key (atau candidate

key) dan functional dependencies.

Pembeli

Produk 0..* Order ► 0..*

◄ OrderedBy

46

2.1.9.2 Tahapan- tahapan Normalisasi

Normalisasi memiliki Empat bentuk normal yang biasa digunakan yaitu :

first normal form, second normal form dan third normal form dan beyce-codd

normal form

2.1.9.2.1 UNF (Un-Normal Form)

Menurut Connolly dan Begg ( 2005 , p402 ), proses normalisasi dimulai

dari bentuk UNF (Un-Normal Form), yaitu tabel yang masih mengandung

repeating group. Tabel UNF ini dibuat dengan mentransformasi data dari sumber

informasi ( seperti formulir ) ke dalam tabel berbentuk baris dan kolom.

2.1.9.2.2 1NF (First Normal Form)

Menurut Connolly dan Begg ( 2005 , p403 ), pada bentuk normal pertama

( First Normal Form – 1NF ), sebuah relasi dimana pada setiap sel ( perpotongan

baris dan kolom ) jika dan hanya jika mengandung satu nilai, setiap sel

mengandung nilai atomik ( single value ). Untuk menjadikan bentuk tidak

normal menjadi normal pertama dengan mengidentifikasikan dan menghilangkan

repeating groups yang ada di dalam tabel. Repeating group adalah sebuah atau

sekumpulan atribut dalam tabel yang memiliki multiple values untuk single

occurrence dari atribut key yang terpilih untuk tabel tersebut.

2.1.9.2.3 2NF (second Normal Form)

Menurut Connolly dan Begg ( 2005 , p407 ), sebuah tabel disebut berada

pada bentuk normal kedua ( 2NF ) jika dan hanya jika setiap atribut bukan

primary key ( PK ) tergantung sepenuhnya pada PK. Untuk mengetahui apakah

1NF telah berada pada 2NF maka tentukan PK dan funtional dependency.

47

2.1.9.2.4 3NF (Third Normal Form)

Menurut Connolly dan Begg ( 2005 , p408 ), sebuah tabel disebut berada

pada bentuk normal ketiga jika dan hanya jika tidak ada atribut bukan primary

key yang bergantung kepada atribut bukan primary key lainnya. Sebuah tabel

yang mengandung atribut bukan PK yang tergantung pada atribut PK lainnya

disebut transitive dependency. Dengan kata lain sebuah tabel disebut berada pada

3NF jika dan hanya jika tidak mengandung transitive dependency.

2.1.9.2.5 BCNF(Boyce-Codd Normal Form)

Menurut Connolly dan Begg ( 2005 , p419 ), suatu relasi dianggap

sebagai bentuk normal BCNF jika dan hanya jika setiap determinant adalah

candidate key. Untuk mengetahui apakah suatu tabel sudah berada pada bentuk

normal BCNF maka harus dilakukan analisa atas functional dependency dari

sebuah tabel.

2.1.10 Tools Yang Digunakan

Untuk menyelesaikan suatu masalah dengan cara mendekomposisi system ke

dalam komponen yang lebih kecil dengan tujuan untuk mempelajari bagaimana

komponen-komponen tersebut bekerja dan saling berinteraksi maka kita memerlukan

tool-tool yang dapat mencerminkan proses. Adapun beberapa tool yaitu :

2.1.10.1 Data Flow Diagram

Menurut Hall ( 2001 , p69 ), DFD yang juga disebut dengan Diagram

Arus Data, adalah diagram yang menyajikan rangkaian simbol - simbol untuk

mencerminkan proses, sumber-sumber data, arus data, dan entitas dalam sebuah

sistem pada tingkatan rinci yang berbeda.

48

DFD pertama kali diperkenalkan sebagai modeling tools Tom Demarco (

1978 ), Gane dan Sarson ( 1979 ) dengan menggunakan pendekatan metode

analisis sistem terstrukstur (structured system analysis method). DFD juga dapat

digunakan untuk merepresentasikan suatu sistem yang otomatis maupun manual

dengan menggunakan gambar yang berbentuk jaringan grafik.

Tingkatan Diagram Pada DFD :

1 Diagram Konteks

• Merupakan level tertinggi pada DFD yang menggambarkan seluruh output

atau input ke sistem

• Memberikan gambaran tentang keseluruhan sistem

• Terminal yang memberikan masukan kepada sistem disebut source,

sedangkan yang menerima keluaran dari sistem disebut sink

• Hanya ada satu proses didalam diagram konteks

• Tidak boleh ada proses penyimpanan data (data store)

2. Diagram Nol

• Memperlihatkan proses penyimpanan data (data store) yang digunakan

• Untuk proses yang tidak rinci lagi pada level selanjutnya, tambahkan tanda *

pada akhir nomor proses

• Keseimbangan antara input dan output pada diagram nol dan diagram

konteks harus terpelihara

49

Simbol-simbol dalam DFD adalah :

Tabel 2.1 Tabel Simbol DFD

External entity atau

terminal

Proses

Penyimpanan data

atau data storage

Aliran data atau Data

Flow

2.1.10.2 State Transition Diagram (STD)

Menurut Pressman ( 2001 , p302 ), State Transition Diagram merupakan

suatu diagram yang menggambarkan bagaimana state dihubungkan dengan state

yang lain pada satu waktu. State Transition Diagram menunjukkan bagaimana

sistem bekerja sebagai akibat dari kejadian eksternal. Untuk melakukan hal itu,

State Transition Diagram menampilkan model yang bermacam-macam dari

tindakan sebuah sistem dan dibuat dari state ke state.

Komponen dasar dari State Transition Diagram adalah :

50

1. : menyatakan state atau kondisi dari suatu sistem. State

terdiri dari dua macam, yaitu initial state / state awal dan

final state / state akhir. Final state dapat terdiri atas

beberapa state, tetapi initial state tidak boleh lebih dari

satu.

2. : menyatakan perubahan kondisi dari suatu sistem.

Digambarkan untuk menghubungkan keadaan sistem yang

berkaitan.

3. Kondisi dan Aksi

Kondisi : menyatakan suatu kejadian pada lingkungan eksternal yang dapat

dideteksi oleh suatu sistem. Misalnya : suatu sinyal / data.

Aksi : menyatakan sesuatu yang dilakukan oleh sistem apabila terjadi

perubahan state / merupakan suatu reaksi terhadap kondisi. Aksi akan

menghasilkan output, message display pada monitor dan menghasilkan

kalkulasi.

2.1.10.3 Bagan Alir Dokumen (Document FlowChart)

Document FlowChart digunakan untuk menggambarkan bagan alir

dokumen suatu sistem. Berikut adalah simbol – simbol standar beserta

keterangannya untuk mengambarkan bagan alir dokumen :

Tabel 2.2 Tabel Simbol Document FlowChart

Lambang Keterangan Dokumen. Simbol ini digunakan untuk menggambarkan

semua jenis dokumen, yang merupakan formulir yang diunakan untuk merekam data terjadinya suatu transaksi

51

Dokumen dan tembusannya. Simbol ini digunakan untuk menggambarkan dokumen asli dan tembusannya. Nomor lembar dokumen dicantumkan di sudut kanan atas

Catatan. Simbol ini digunakan untuk menggambarkan catatan akuntansi yang digunakan untuk mencatat data yang direkam sebelumnya di dalam dokumen atau formulir

Penghubung pada halaman yang sama (on-page connector). Dalam menggambarkan bagan alir, arus dokumen dibuat mengalir dari atas ke bawah dan dari kiri ke kanan. Karena keterbatasan ruang halaman kertas untuk menggambar, maka diperlukan simbol penghubung ini.

Penghubung pada halaman yang berbeda (off-page connector). Jika untuk menggambarkan bagan alir suatu sistem akuntansi diperlukan lebih dari satu halaman, simbol ini harus digunakan untuk menunjukkan kemana dan bagaimana bagan alir terkait satu dengan lainnya.

Kegiatan manual. Simbol ini digunakan untuk menggambarkan kegiatan manual seperti : menerima order dari pembeli, mengisi formulir dan kegiatan lainnya

Keterangan, komentar. Simbol ini memungkinkan ahli sistem menambahkan keterangan untuk memperjelas pesan yang disampaikan dalam bagan alir

Arsip permanen. Simbol ini digunakan untuk menggambarkan arsip permanen yang merupakan tempat penyimpanan dokumen yang tidak akan diproses lagi dalam sistem akuntansi yang bersangkutan

Keputusan. Simbol ini menggambarkan keputusan yang harus dibuat dalam proses pengolahan data. Keputusan yang dibuat ditulis di dalam simbol

Garis alir (flowline). Simbol ini menggambarkan arah proses pengolahan data. Anak panah tidak digambarkan jika arus dokumen mengarah ke bawah dan ke kanan. Jika arus dokumen mengalir ke atas atau ke kiri, anak panah perlu dicantumkan

52

Persimpangan garis alir. Jika dua garis alir bersimpangan, untuk menunjukkan arah masing – masing garis, salah satu garis dibuat sedikit melengkung tepat pada persimpangan ke dua garis tersebut

Pertemuan garis alir. Simbol ini digunakan jika dua garis alir bertemu dan salah satu garis mengikuti arus garis lainnya

Mulai/berakhir (terminal). Simbol ini untuk menggambarkan awal dan akhir suatu sistem akuntansi

Masuk ke sistem. Karena kegiatan di luar sistem tidak perlu digambarkan dalam bagan alir, maka diperlukan simbol untuk menggambarkan masuk ke sistem yang digambarkan dalam bagan alir

Keluar ke sistem lain. Karena kegiatan di luar sistem tidak perlu digambarkan dalam bagan alir, maka diperlukan simbol untuk menggambarkan keluar ke sistem lain

Perbedaan data flow dengan flowchart :

1. Proses dalam data flow dapat dioperasikan secra parallel,sehingga dapat

dieksekusi secara terus menerus, sedangkan proses pada data flow dapat

dieksekusi sekali

2. Diagram data flow menunjukan aliran data melalui system

3. data flow diagram dapat menunjukan proses yang memiliki perbedaan

waktu.

53

2.2 Teori-Teori Khusus

2.2.1 Persediaan

Menurut Mulyadi ( 2001 , p553 ), sistem persediaan bertujuan untuk mencatat

mutasi tiap jenis persediaan yang disimpan di gudang. Sistem ini berkaitan erat dengan

sistem penjualan, sistem retur penjualan, sistem pembelian, sistem retur pembelian, dan

sistem akuntansi biaya produksi.

2.2.1.1 Jenis-jenis persediaan

Menurut Sofjan Assauri (1999, 221), persediaan yang terdapat di dalam

perusahaan dapat di bedakan menurut berbagai cara antara lain sebagai berikut:

1) Menurut fungsinya, persediaan dapat dibedakan atas :

a) Batch Stock atau Lot Size Inventory

Adalah persediaan yang diadakan karena kita membeli atau

membuat bahan-bahan atau barang-barang dalam jumlah yang lebih besar

daripada jumlah yang dibutuhkan pada saat itu. Jadi dalam hal ini

pembelian atau pembuatan yang dilakukan untuk jumlah yang besar,

sedangkan penggunaan atau pengeluaran dalam jumlah kecil. Terjadinya

persediaan karena pengadaan bahan atau barang yang dilakukan lebih

banyak daripada yang dibutuhkan.

b) Fluctuation Stock

Adalah persediaan yang diadakan untuk menghadapi fluktuasi

permintaan konsumen yang tidak dapat diramalkan.

c) Anticipation Stock

Adalah persediaan yang diadakan untuk menghadapi fluktuasi

permintaan yang dapat diramalkan berdasarkan pola musiman yang

54

terdapat dalam satu tahun dan untuk menghadapi penggunaan atau

penjualan yang meningkat.

2) Menurut jenis dan posisi barang tersebut didalam urutan pengerjaan produk,

persediaan dapat dibagi atas :

a) Persediaan bahan baku (Raw Materials)

Yaitu persediaan dari barang-barang berwujud yang digunakan

dalam proses produksi. Contoh : kapas dipintal menjadi benang, benang

diolah menjadi kain atau kaos.

b) Persediaan bagian produk atau parts yang dibeli (purchased parts /

komponen stock)

Yaitu persediaan barang-barang yang terdiri dari parts yang

diterima dari perusahaan lain, yang dapat secara langsung di assembling

dengan parts lain, tanpa melalui proses produksi sebelumnya. Jadi bentuk

barang yang merupakan parts tidak mengalami perubahan dalam operasi.

Misalnya pabrik mobil, dimana dalam hal ini bagian-bagian (parts) dari

mobil tersebut tidak diprodusir dalam pabrik mobil, tetapi

diprodusir oleh perusahaan lain, dan kemudian di assembling menjadi

barang yakni mobil.

c) Persediaan barang-barang pembantu atau barang-barang pelengkap

(supplies stock)

Yaitu persediaan barang-barang atau bahan-bahan yang

diperlukan dalam proses produksi untuk membantu berhasilnya produksi

atau yang dipergunakan dalam bekerjanya suatu perusahaan, tetapi tidak

55

merupakan bagian atau komponen dari barang jadi. Misalnya minyak

solar dan minyak pelumas adalah hanya merupakan bahan pembantu.

d) Persediaan barang setengah jadi atau barang dalam proses (work in

process / progress)

Yaitu persediaan barang-barang yang keluar dari tiap-tiap bagian

dalam satu pabrik atau bahan-bahan yang telah diolah menjadi suatu

bentuk, tetapi lebih perlu diproses kembali untuk kemudian menjadi

barang jadi.

e) Persediaan barang jadi (finished goods stock)

Yaitu persediaan barang-barang yang telah selesai diproses atau

diolah dalam pabrik dan siap untuk dijual kepada pelanggan atau

perusahaan lain.

2.2.1.2 Biaya-biaya yang timbul akibat adanya persediaan

Menurut Hani Handoko (2000:336), ada beberapa biaya-biaya yang

timbul dari adanya persediaan antara lain :

1. Biaya penyimpanan

Biaya penyimpanan (holding costs / carrying cost) terdiri atas biaya-

biaya yang bervariasi secara langsung dengan kuantitas persediaan biaya

penyimpanan per periode akan semakin banyak apabila kuantitas bahan

baku yang di pesan semakin banyak, atau rata-rata persediaan semakin

tinggi.

Biaya-biaya yang termasuk sebagai biaya penyimpanan adalah :

56

1. Biaya fasilitas-fasilitas penyimpanan (termasuk penerangan, pemanas,

atau pendingin).

2. Biaya modal.

3. Biaya keusangan

4. Biaya perhitungan fisik dan konsiliasi laporan

5. Biaya asuransi

6. Biaya pajak persediaan

7. Biaya pencurian, pengrusakan, dan perampokan

8. Biaya penanganan persediaan

2. Biaya pemesanan

Setiap kali suatu bahan dipesan, perusahaan menanggung biaya

pemesanan.

Biaya pemesanan secara terperinci meliputi :

1. Pemrosesan pesanan dan biaya ekspedisi

2. Upah

3. Biaya telepon

4. Pengeluaran surat menyurat

5. Biaya pengepakan

6. Biaya pemeriksaan

7. Biaya pengiriman kegudang

57

3. Biaya penyiapan

Bila bahan-bahan tidak dibeli, tetapi diproduksi sendiri”dalam pabrik”

perusahaan. Perusahaan menghadapi biaya penyiapan (setup costs) untuk

memproduksi komponen tertentu.

Biaya-biaya ini terdiri dari :

1. Biaya mesin menganggur

2. Biaya persiapan tenaga kerja langsung

3. Biaya scheduling

4. Biaya ekspedisi

4. Biaya kehabisan atau kekurangan bahan

Dari semua biaya-biaya yang berhubungan dengan tingkat persediaan,

biaya kekurangan (shortage costs) adalah yang paling sulit diperkirakan.

Biaya ini timbul bilamana persediaan tidak mencukupi adanya

permintaan bahan.

Biaya-biaya yang termasuk biaya kekurangan adalah sebagai berikut :

1. Kehilangan penjualan

2. Kehilangan pelanggan

3. Biaya pemesanan khusus

4. Biaya ekspedisi

5. Selisih harga

6. Terganggunya operasi

7. Tambahan pengeluaran kegiatan manajerial

58

2.2.1.3 Fungsi Persediaan

Menurut Sofjan Assauri (1999:230), fungsi persediaan yang efektif

adalah:

1. Memperoleh bahan-bahan

Yaitu menetapkan prosedur untuk memperoleh suplai yang cukup

dari bahan-bahan yang dibutuhkan baik kuantitas maupun kualitas.

2. Menyimpan dan memelihara bahan-bahan dalam persediaan

Yaitu mengadakan suatu system penyimpanan untuk memelihara

dan melindungi bahan-bahan yang telah dimasukkan ke dalam

persediaan.

3. Pengeluaran bahan-bahan

Yaitu menetapkan suatu pengaturan atas pengeluaran dan

penyampaian bahan-bahan dengan tepat pada saat serta tempat dimana

dibutuhkan.

4. Meminimalisasi investasi dalam bentuk bahan atau barang

(mempertahankan persediaan dalam jumlah yang optimum setiap waktu).

2.2.2 Penjualan

Menurut Mulyadi ( 2001 , p202 ), kegiatan penjualan terdiri dari penjualan

barang dan jasa, baik secara kredit maupun secara tunai. Dalam transaksi penjualan

kredit, jika order dari pelanggan telah dipenuhi dengan pengiriman barang atau

penyerahan jasa, untuk jangka waktu tertentu perusahaan memiliki piutang kepada

pelanggannya. Dalam sistem penjulan secara tunai, barang atau jasa baru diserahkan

oleh perusahaan kepada pembeli jika perusahaan telah menerima kas dari pembeli.

59

Menurut Mulyadi(2001,p226), Transaksi retur penjualan terjadi jika perusahaan

menerima pengembalian barang dari pelanggan. Pengembalian barang oleh pelanggan

harus diotorisasi oleh fungsi penjualan dan diterima oleh fungsi penerimaan. Fungsi

yang terkait dalam melaksanakan transaksi retur penjualan adalah :

1. Fungsi penjualan

Fungsi ini bertanggung jawab atas penerimaan pemberitahuan mengenai

pengembalian barang yang telah dibeli oleh pembeli. Otorisasi penerimaan

kembali barang yang telah dijual tersebut dilakukan dengan cara membuat

memo kredit yang dikirimkan kepada fungsi penerimaan.

2. Fungsi penerimaan

Fungsi ini bertanggung jawab atas penerimaan barang berdasarkan otorisasi

yang terdapat dalam memo kredit yang diterima dari fungsi penjualan.

3. Fungsi gudang

Fungsi ini bertanggung jawab atas penyimpanan kembali barang yang

diterima dari retur penjualan setelah barang tersebut diperiksa oleh fungsi

penerimaan. Barang yang diterima dari transaksi retur penjualan ini dicatat

oleh fungsi gudang dalam kartu gudang.

4. Fungsi akuntansi

Fungsi ini bertanggung jawab atas pencatatan transaksi retur penjualan ke

dalam jurnal umum dan pencatatan berkurangnya piutang dan bertambahnya

persediaan akibat retur penjualan dalam kartu piutang dan kartu persediaan.

Disamping itu, fungsi ini juga bertanggung jawab untuk mengirimkan memo

kredit kepada pembeli yang bersangkutan.

60

Menurut Mulyadi(2001,p234), jaringan prosedur dalam sistem retur penjualan

adalah sebagai berikut :

1. Prosedur pembuatan memo kredit

Fungsi penjualan membuat memo kredit yang memberikan perintah kepada

fungsi penerimaan untuk menerima barang dari pembeli tersebut dan kepada

fungsi akuntansi untuk pencatatan pengurangan piutang kepada pembeli yang

bersangkutan.

2. Prosedur penerimaan barang

Fungsi penerimaan menerima dari pembeli berdasarkan perintah dari memo

kredit yang diterima dari fungsi penjualan. Atas penerimaan barang tersebut

fungsi penerimaan membuat laporan penerimaan barang untuk melampiri

memo kredit yang dikirim ke fungsi akuntansi.

3. Prosedur pencatatan retur penjualan

Dalam prosedur ini transaksi berkurangnya piutang dagang dan pendapatan

penjualan akibat dari transaksi retur penjualan dicatat oleh fungsi akuntansi

ke dalam jurnal umum atau jurnal retur penjualan dan ke dalam buku

pembantu piutang. Dalam prosedur ini pula berkurangnya harga pokok

penjualan dan bertambahnya harga pokok persediaan dicatat oleh fungsi

akuntansi ke dalam jurnal umum dan dalam buku pembantu persediaan.

Menurut Mulyadi ( 2001 , p204 ), fungsi yang terkait pada penjualan secara

kredit adalah :

1. Fungsi penjualan

61

Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk

menerima surat order dari pembeli, mengedit order dari pelanggan untuk

menambahkan informasi yang belum ada pada surat order tersebut (seperti

spesifikasi barang dan rute pengiriman), meminta otorisasi kredit,

menentukan tanggal pengiriman dan dari gudang nama barang akan dikirim,

dan mengisi surat order pengiriman. Fungsi ini juga bertanggung jawab untuk

membuat “back order” pada saat diketahui tidak tersedianya persediaan

untuk memenuhi order dari pelanggan.

2. Fungsi kredit

Fungsi ini berada di bawah fungsi keuangan yang dalam transaksi penjualan

kredit, bertanggung jawab untuk meneliti status kredit pelanggan dan

memberikan otorisasi pemberian kredit kepada pelanggan. Karena hampir

semua penjualan dalam perusahaan manufaktur merupakan penjualan kredit,

maka sebelum order dari pelanggan dipenuhi, harus lebih dahulu diperoleh

otorisasi penjualan kredit dari fungsi kredit. Jika penolakan pemberian kredit

seringkali terjadi, pengecekan status kredit perlu dilakukan sebelum fungsi

penjualan mengisi surat order penjualan. Untuk mempercepat pelayanan

kepada pelanggan, surat order pengiriman dikirim langsung ke fungsi

pengiriman sebelum fungsi penjualan memperoleh otorisasi kredit dari fungsi

kredit. Namun, tembusan kredit harus dikirimkan ke fungsi kredit untuk

mendapatkan persetujuan kredit dari fungsi tersebut. Dalam hal otorisasi

kredit tidak dapat diberikan, fungsi penjualan memberitahu fungsi

pengiriman untuk membatalkan pengiriman barang kepada pelanggan.

62

3. Fungsi gudang

Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk

menyimpan barang dan menyiapkan barang yang dipesan oleh pelanggan,

serta menyerahkan barang ke fungsi pengiriman.

4. Fungsi pengiriman

Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk

menyerahkan barang atas dasar suatu order pengiriman yang diterima dari

fungsi penjualan. Fungsi ini bertanggung jawab untuk menjamin bahwa tidak

ada barang yang keluar dari perusahaan tanpa ada otorisasi dari yang

berwenang. Otorisasi ini dapat berupa surat order pengiriman yang telah

ditandatangani oleh fungsi penjualan, memo debit yang ditandatangani oleh

fungsi pembelian untuk barang yang dikirimkan kembali kepada pemasok

(retur pembelian), surat perintah kerja dari fungsi produksi mengenai

penjualan / pembuangan aktiva tetap yang sudah tidak dipakai lagi.

5. Fungsi penagihan

Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk

membuat dan mengirimkan faktur penjualan kepada pelanggan, serta

menyediakan copy faktur bagi kepentingan pencatatan transaksi penjualan

oleh fungsi akuntansi.

6. Fungsi akuntansi

Dalam transaksi penjualan kredit, fungsi ini bertanggung jawab untuk

mencatat piutang yang timbul dari transaksi penjualan kredit dan membuat

serta mengirimkan pernyataan piutang kepada para debitur, serta membuat

63

laporan penjualan. Di samping itu, fungsi ini juga bertanggung jawab untuk

mencatat harga pokok persediaan yang dijual ke dalam kartu persediaan.

Menurut Mulyadi ( 2001 , p219 ), sistem dan prosedur yang bersangkutan

dengan sistem penjualan kredit adalah :

a. Prosedur order penjualan

Dalam prosedur ini, fungsi penjualan menerima order dari pembeli dan

menambahkan informasi penting pada surat order dari pembeli. Fungsi

penjualan kemudian membuat surat order pengiriman dan mengirimkannya

kepada berbagai fungsi yang lain untuk memungkinkan fungsi tersebut

memberikan kontribusi dalam melayani order dari pembeli.

b. Prosedur persetujuan kredit

Dalam prosedur ini, fungsi penjualan meminta persetujuan penjualan kredit

kepada pembeli tertentu dari fungsi kredit.

c. Prosedur pengiriman

Dalam prosedur ini, fungsi pengiriman mengirimkan barang kepada pembeli

sesuai dengan informasi yang tercantum dalam surat order pengiriman yang

diterima dari fungsi pengiriman.

d. Prosedur penagihan

Dalam prosedur ini, fungsi penagihan membuat faktur penjualan dan

mengirimkannya kepada pembeli. Dalam metode tertentu faktur penjualan

dibuat oleh fungsi penjualan sebagai tembusan pada waktu bagian ini

membuat surat order pengiriman.

64

e. Prosedur pencatatan puitang

Dalam prosedur ini, fungsi akuntansi mencatat tembusan faktur penjualan ke

dalam kartu piutang atau dalam metode pencatatan tertentu mengarsipkan

dokumen tembusan menurut abjad yang berfungsi sebagai catatan piutang.

f. Prosedur distribusi penjualan

Dalam prosedur ini, fungsi akuntansi mendistribusikan data penjualan

menurut informasi yang diperlukan oleh manajemen.

g. Prosedur pencatatan harga pokok penjualan

Dalam prosedur ini, fungsi akuntansi mencatat secara periodik total harga

pokok produk yang dijual dalam periode akuntansi tertentu.