bab 2 landasan teori fix -...

54
7 BAB 2 LANDASAN TEORI 2.1 Teori-teori Umum 2.1.1 Teknologi Informasi dan Basis Data M enurut Whitten (2004, p8), Teknologi Informasi adalah suatu istilah kontemporer yang mendeskripsikan kombinasi dari teknologi computer (perangkat keras dan piranti lunak) dengan teknologi telekomunkasi (data, gambaran, dan suara). Data adalah fakta, atau bagian dari fakta yang mengandung arti, yang dihubungkan dengan kenyataan, simbol-simbol, gambar-gambar, kata-kata, angka-angka, huruf-huruf, atau simbol-simbol yang menunjukkan suatu ide, objek, kondisi, atau situasi dan lain – lain. Data adalah representasi objek yang disimpan dan kejadian-kejadian yang memiliki maksud dan penting bagi user (Hoffer, 2005, p5). Basis Data (database) adalah kumpulan data yang terhubung satu sama lain secara logikal, dan deskripsi data itu dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. Basis data digunakan sebagai tempat penyimpanan data yang secara simultan digunakan oleh banyak departemen dan pengguna. Semua data terintegrasi dengan jumlah duplikasi yang minimum. Basis data ini tidak hanya dipunyai oleh satu departemen

Upload: vuongkhue

Post on 13-Aug-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

7

BAB 2

LANDASAN TEORI

2.1 Teori-teori Umum

2.1.1 Teknologi Informasi dan Basis Data

Menurut Whitten (2004, p8), Teknologi Informasi adalah suatu

istilah kontemporer yang mendeskripsikan kombinasi dari teknologi

computer (perangkat keras dan piranti lunak) dengan teknologi

telekomunkasi (data, gambaran, dan suara).

Data adalah fakta, atau bagian dari fakta yang mengandung arti, yang

dihubungkan dengan kenyataan, simbol-simbol, gambar-gambar, kata-kata,

angka-angka, huruf-huruf, atau simbol-simbol yang menunjukkan suatu ide,

objek, kondisi, atau situasi dan lain – lain. Data adalah representasi objek

yang disimpan dan kejadian-kejadian yang memiliki maksud dan penting

bagi user (Hoffer, 2005, p5).

Basis Data (database) adalah kumpulan data yang terhubung satu

sama lain secara logikal, dan deskripsi data itu dirancang untuk memenuhi

kebutuhan informasi dari sebuah organisasi. Basis data digunakan sebagai

tempat penyimpanan data yang secara simultan digunakan oleh banyak

departemen dan pengguna. Semua data terintegrasi dengan jumlah duplikasi

yang minimum. Basis data ini tidak hanya dipunyai oleh satu departemen

  8

saja tetapi di-share oleh beberapa sumber lainnya (Connolly, 2005, p15),

sedangkan menurut Date, 2000, p10, basis data adalah kumpulan data-data

yang digunakan oleh sistem aplikasi dari perusahaan.

Basis data adalah kumpulan data-data yang disimpan dalam suatu

format yang telah distandarisasi, dirancang untuk dibagikan kepada banyak

user (Post, 2005, p2).

2.1.2 Database Management System

Database Management System (DBMS) adalah sebuah sistem

software yang memperbolehkan pengguna untuk menggambarkan,

membuat, menjaga, dan mengontrol akses ke basis data (Connolly, 2005,

p16).

Menurut Silberschatz, 2002, p1, DBMS adalah suatu kumpulan data

yang terinterelasi dan seperangkat program untuk mengakses data-data yang

terinterlasi dan seperangkat program untuk mengakses data-data tersebut.

Fasilitas yang disediakan DBMS antara lain (Connolly, 2005, p16):

1. Memperbolehkan pengguna untuk menggambarkan basis data, melalui

Data Definition Language (DDL). DDL memberikan fasilitas kepada

pengguna untuk menspesifikasikan tipe data dan struktur serta constrain

pada data yang akan disimpan pada basis data.

  9

2. Memperbolehkan pengguna untuk memasukkan, merubah, menghapus,

dan mengambil data dari basis data yang menggunakan Data

Manipulation Language (DML).

3. Menyediakan control akses ke basis data:

a. Sistem keamanan (security system), bertujuan mencegah pengguna

yang tidak mempunyai hak akses agar tidak mengakses basis data.

b. Sistem integritas (integrity system), bertujuan menjaga konsistensi data

yang disimpan.

c. Sistem kontrol pada saat yang bersamaan (concurrency control),

bertujuan memperbolehkan akses berbagi terhadap basis data.

d. Sistem control perbaikan (recovery control system), bertujuan

mengembalikan basis data ke kondisi sebelum yang konsistem pada

saat terjadi kegagalan pada perangkat keras dan perangkat lunak.

e. Katalog pengguna yang dapat diakses (user-accessible catalog), yang

berisi tentang deskripsi data pada basis data.

2.1.3 Database Application Lifecycle

Database application lifecycle adalah tahapan dalam

mengembangkan system aplikasi basisdata. Berikut adalah skema tahapan

basis data application lifecycle:

  10

Gambar 2.1 Daur Hidup Aplikasi Basis Data

(Sumber: Connolly, 2005, p284)

  11

Keterangan dari tiap tahapan dijelaskan sebagai berikut

(Connolly dan Begg, 2005, p273-p293):

A. Perencanaan Basisdata

Perencanaan basis data adalah aktivitas pengaturan yang

memungkinkan langkah-langkah aplikasi basis data lebih efisien dan

efektif. Perencanaan basis data harus terintegrasi dengan keseluruhan

strategi sistem informasi dari organisasi. Terdapat tiga hal pokok yang

bersangkutan dalam merumuskan strategi sistem informasi, yaitu:

1. Identifikasi rencana perusahaan dan tujuannya dengan

ketetapan selanjutnya dari kebutuhan sistem informasi

2. Evaluasi dari sistem informasi sekarang untuk menentukan

kelebihan dan kekurangan yang ada

3. Penilaian kesempatan teknologi informasi yang mungkin

dapat memegang keuntungan kompetitif

B. Definisi Sistem

Perencanaan basisdata adalah aktivitas pengaturan yang

memungkinkan langkah – langkah aplikasi basisdata lebih efisien dan

efektif. Perencanaan basisdata harus terintegrasi dengan keseluruhan

strategi sistem informasi dari organisasi. Terdapat tiga hal pokok yang

bersangkutan dalam merumuskan strategi sistem informasi, yaitu:

  12

1. Identifikasi rencana perusahaan dan tujuannya dengan ketetapan

selanjutnya dari kebutuhan sistem informasi

2. Evaluasi dari sistem informasi sekarang untuk menentukan

kelebihan dan kekurangan yang ada

3. Penilaian kesempatan teknologi informasi yang mungkin dapat

memegang keuntungan kompetitif

Gambar 2.2 Representasi dari sebuah aplikasi basis data dengan banyak user

view : user view (1, 2, dan 3) dan (5 dan 6) mempunyai kebutuhan yang saling

melengkapi (seperti ditunjukkan dengan daerah yang diarsir), sementara user view 4

mempunyai kebutuhan yang berbeda

(Sumber : Connolly-Begg, 2005, p275)

  13

C. Analisis dan Pengumpulan Kebutuhan Data

Proses mengumpulkan dan menganalisa informasi tentang

bagian dari organisasi yang nantinya akan didukung oleh aplikasi

basisdata, dan kemudian menggunakan informasi ini untuk mengetahui

kebutuhan pemakai terhadap sistem yang baru.

Pada tahap ini melibatkan kumpulan dan analisis infromasi

tentang bagian dari perusahaan yang akan dilayani oleh basisdata.

Informasi yang dikumpulkan untuk masing – masing sudut pandang

pemakai utama termasuk:

1. Deskripsi data yang digunakan atau dihasilkan

2. Keterangan data yang digunakan atau dihasilkan

3. Kebutuhan tambahan apapun untuk aplikasi basisdata yang

baru

Informasi ini kemudian dianalisa untuk diidentifikasi data –

data dan kebutuhannya untuk dimasukkan ke dalam aplikasi basisdata

yang baru.

D. Perancangan basisdata

Perancangan basisdata adalah proses membuat perancangan

untuk basisdata yang akan membantu operasi perusahaan dan

tujuannya.

  14

Terdapat dua pendekatan utama dalam merancang suatu

basisdata, yaitu bottom-up dan top-down. Pendekatan bottom-up

dimulai pada tingkatan pokok (seperti, properti dari kesatuan dan

hubungan).

Strategi yang sesuai untuk rancangan basisdata yang lebih

kompleks dibutuhkan pendekatan top-down. Pendekatan ini dimulai

dengan pengembangan model data yang mengandung sedikit kesatuan

dan hubungan tingkat tinggi.

Sedangkan perancangan dibagi dalam tiga tahap yaitu

konseptual, logikal, dan fisikal.

E. Seleksi DBMS

Seleksi DBMS merupakan seleksi dari DBMS yang pantas

untuk menopang aplikasi basisdata. Bila tidak ada DBMS, maka bagian

dari daur kehidupan basisdata untuk membuat seleksi adalah antara

fase konseptual dan logikal basisdata. Akan tetapi, seleksi dapat

dilakukan sewaktu – waktu berhubung dengan perancangan logikal

menyediakan informasi yang ada cukup sesuai dengan kebutuhan

sistem seperti penampilan, kemudahan penyusunan, sekuritas, dan

batasan integritas.

Pada berikut ini adalah langkah – langkah utama dalam

penyeleksian DBMS:

  15

1. Menetapkan syarat – syarat keterangan pembelajaran

2. Membuat daftar pendek dua atau tiga produk

3. Evaluasi produk

4. Rekomendasi seleksi dan hasil produksi

Dengan langkah terakhir pada seleksi DBMS ini untuk

mendokumentasikan proses dan menyediakan sebuah pernyataan dari

penemuan dan rekomendasi produk DBMS tertentu.

F. Perancangan aplikasi

Perancangan aplikasi yaitu rancangan dari tampilan layar

untuk pemakai dan aplikasi program yang menggunakan dan

memproses basisdata.

Hal ini melibatkan perancangan program aplikasi yang

mengakses basisdata dan membuat rancangan transaksi. Selain

merancang bagaimana cara untuk mencapai fungsionalitas yang

dibutuhkan, perlu juga merancang interface pemakai yang sesuai untuk

aplikasi basisdata.

G. Prototyping

Pembuatan model yang bekerja pada aplikasi basisdata ini

tidaklah secara umum mempunyai semua fitur – fitur yang diperlukan

atau menyediakan semua fungsi pada sistem final nantinya.

  16

Tujuan utama dari pengembangan prototype aplikasi basisdata

adalah untuk memperbolehkan pemakai menggunakan prototype untuk

mengidentifikasi fitur – fitur sistem yang bekerja dengan baik, atau

tidak tercukupi.

H. Implementasi

Tahap yang merupakan realisasi fisikal dari basisdata dan

rancangan apliaksi. Setelah menyelesaikan tahapan perancangan,

barulah basisdata dan program aplikasi dapat diimplementasikan.

Implementasi basisdata dapat dicapai dengan menggunakan Data

Definition Language (DDL) dari DBMS yang dipilih atau sebuah

Graphical User Interface (GUI).

Aplikasi program yang digunakan diimplementasikan

menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL).

Sebagian dari program aplikasi ini adalah transaksi basisdata yang

diimplementasikan menggunakan Data Manipulation Language (DML)

dari DBMS yang dituju.

I. Konversi Data dan Loading

Pada tahap ini dilakukan perpindahan data yang telah ada ke

dalam basisdata yang baru dan mengubah aplikasi yang telah ada agar

dapat jalan pada basisdata yang baru.

Tahap ini diperlukan hanya ketika sistem basisdata yang baru

menggantikan sistem lama.

  17

J. Testing

Testing adalah proses menjalankan program aplikasi dengan

tujuan untuk menemukan kesalahan atau kegagalan program.

Sebelum suatu aplikasi program basisdata dijalankan, perlu

diadakan pengujian. Bila pengujian berjalan dengan sukses, maka akan

menampakkan beberapa kegagalan yang ada pada program aplikasi dan

mungkin juga pada struktur basisdata. Tentunya pemakai sistem yang

baru ini harus ikut dilibatkan dalam proses pengujian.

K. Perawatan Operasional

Perawatan operasional adalah proses mengawasi dan

memelihara sistem berikut instalasinya. Pada tahap sebelumnya,

aplikasi basisdata telah diimplementasi dan diuji secara lengkap. Saat

ini sistem pindah ke tahap pemeliharaan, dimana melibatkan aktivitas

berikut :

1. Mengawasi pelaksanaan sistem. Bila pelaksanaannya

berada dibawah tingkat yang dapat diterima, maka perlu

mengorganisasikan kembali basisdata yang diperlukan.

2. Memelihara dan meningkatkan aplikasi basisdata ketika

dibutuhkan.

Ketika basisdata telah bekerja secara penuh, pengawasan

secara ketat diperlukan untuk memastikan pelaksanaan tetap berada

pada tingkat yang dapat diterima.

  18

2.1.4 Normalisasi

Menurut Connolly 2005, p388, Normalisasi adalah sebuah teknik

untuk menghasilkan sekumpulan relai dengan properti yang diinginkan,

yang akan memberikan kebutuhan data bagi perusahaan. Relasi adalah

sebuah tabel dengan kolom dan baris. Tujuan normalisasi adalah sebagai

berikut:

1. Menghilangkan kumpulan relasi dari inserting, updating, dan delete

dependency yang tidak diharapkan

2. Mengurangi kebutuhan restrukturisasi kumpulan relasi dan

meningkatkan life spam program aplikasi

3. Membuat model relasional yang lebih informatif

Proses normalisasi menurut Connolly 2005, p401:

1. Unormalized Form(UNF)

Unormalized Form(UNF), yaitu sebuah tabel yang mengandung satu

atau lebih kelompok yang berulang.

2. First Normal Form (1NF)

First Normal Form (1NF) adalah sebuah relasi dimana persimpangan

dari setiap baris dan kolom yang mengandung satu dan hanya satu nilai

saja.

  19

4. Second Normal Form (2NF)

Second Normal Form (2NF) adalah sebuah relasi dimana pada bentuk

normal pertama dan setiap attribute yang bukan Primary key adalah

kandidat key yang dipilih untuk mengidentifikasi tuple secara unik pada

sebuah relasi. Proses normalisasi 1NF ke 2NF dengan menghilangkan

partial dependencies. Jika terdapat partial dependencies, maka atribut

functionally dependent dari relasi akan dihilangkan dengan

menempatkannya pada sebuah relasi baru bersama dengan copy

determinant mereka.

Full functional dependency adalah suatu keadaan dimana jika A dan B

adalah atribut, B secara fungsional sangat tergantung pada A dan jika B

secara fungsional bergantung pada A, tetapi bukan subset dari A.

5. Third Normal Form (3NF)

Third Normal Form (3NF) adalah sebuah relasi dimana bentuk normal

pertama dan kedua, dan dimana tidak ada attribute yang bukan primary

key secara transitif bergantung pada primary key. Transitive

dependency adalah sebuah kondisi dimana A, B dan C adalah atribut

dari relasi dimana A → B dan B → C, maka C adalah transitive

dependency pada A melalui B.

  20

6. Boyce-Codd Normal Form (BCNF)

Boyce-Codd Normal Form (BCNF) adalah sebuah relasi di dalam

BCNF, jika dan hanya jika, setiap determinan adalah candidate key.

2.1.5 Fourth GL (Generation Language)

Fourth GL merupakan non-procedural, dimana pengguna

menjelaskan apa yang perlu dilakukan dan bukan bagaimana yang perlu

dilakukan. Pengguna tidak perlu menjelaskan langkah-langkah program

yang harus dilakukan, tetapi hanya memberikan parameter untuk tool lalu

menggunakan tool tersebut untuk menghasilkan sebuah program aplikasi

(Connolly, 2002, p42). Bahasa generasi ke-empat meliputi :

1. Bahasa presentasi seperti query language dan report generators

2. Bahasa tertentu, seperti spreadsheet dan bahasa basis data

3. Bahasa aplikasi yang menjelaskan insert, update, dan mengambil

data dari basis data untuk membuat aplikasi.

4. Bahasa tingkat tinggi digunakan untuk menghasilkan kode aplikasi.

Salah satu contoh Fourth GL menurut Connolly (2005, p42)

adalah SQL (Structured Query Language). SQL adalah sebuah bahasa

yang dirancang menggunakan relasi untuk mengubah input kedalam output

yang diinginkan. SQL memiliki dua komponen utama yaitu: Data

  21

Definition Language dan Data Manipulation Language Connolly, 2005,

p113).

A. Data Definition Language

Data Definition Language (DDL) adalah sebuah bahasa yang

memberikan fasilitas kepada DBA (Database Administrator) atau

pengguna untuk menjelaskan dan menamakan entity, attribute, dan

relationship yang dibutuhkan untuk aplikasi, bersama dengan

integritas yang berhubungan dan batasan-batasan keamanan. Database

Administrator adalah seseorang yang bertanggung jawab terhadap

realisasi fisikal basis data, termasuk rancangan fisik basis data dan

implementasi, keamanan dan kontrol integritas, maintanance sistem

operasional, dan memastikan kepuasan performance aplikasi kepada

user (Connolly, 2005, p40).

Data Definition Language (DDL) adalah perinta-perintah yang

digunakan untuk mendefinisikan sebuah database, termasuk membuat,

mengubah, dan menghapus tabel dan memberikan batasan-batasannya

(Hoffer, 2005, p291).

Data Definition Language (DDL) adalah sebuah bahasa yang

digunakan oleh DBMS untuk mendefenisikan sebuah database atau

pandangan dari sisi database (Whitten, 2004, p555).

  22

B. Data Manipulation Language

Definisi dari Data Manipulation Language (DML) menurut

Connolly (2005,p41) adalah suatu bahasa yang memberikan fasilitas

pengoperasian data yang ada di dalam basis data. Pengoperasian data

yang akan dimanipulasi biasanya meliputi:

1. Perubahan data baru ke dalam basis data

2. Modifikasi data yang disimpan ke dalam basis data

3. Pengembalian data yang terdapat dalam basis data

4. Penghapusan data dari basis data

Sedangkan definisi procedural DML menurut Connolly (2002,

p41) adalah suatu bahasa yang memperbolehkan pemakai untuk

mendeskripsikan ke sistem data apa yang dibutuhkan dan bagaimana

mendapatkan data tersebut secara benar.

2.1.6 Tahap – tahap Perancangan Basis Data

2.1.6.1 Perancangan Konseptual

Perancangan basisdata konseptual merupakan tahapan

pertama dari perancangan basisdata dengan menggunakan informasi

yang diperoleh dari perusahaan dan juga merupakan proses

  23

pembangunan model informasi yang digunakan oleh organisasi,

terbebas dari segala pertimbangan fisik (Connolly, 2005, p419).

Desain basisdata konseptual dimulai dengan pembuatan

model data konseptual perusahaan. Desain konseptual seluruhnya

independent dari implementasi seperti target DBMS, program

aplikasi, bahasa pemograman, perangkat keras, perfoma, dan

pertimbangan fisik lainnya. Model data konseptual didukung oleh

dokumentasi, termasuk kamus data, yang dihasilkan melalui

pembangunan model. Langkah-langkah untuk membuat model data

konseptual dapat digambarkan sebagai berikut:

1. Identify entity type, untuk menentukan entity utama yang

dibutuhkan, dengan kata lain membuat kelas-kelas dan obyek-

obyek yang ada.

2. Identify relationship type, untuk menentukan hubungan-

hubungan penting yang ada diantara jenis-jenis entity yang telah

diidentifikasi.

3. Identify and associate attributes with entity or relationship

types, untuk menentukan atribut yang berkaitan dengan entity

yang telah ditentukan.

4. Determine attribute domains, untuk menentukan domain untuk

tiap-tiap atribut yang ada dalam model data konseptual lokal.

  24

5. Determine candidate and primary key attributes, untuk

mengidentifikasi candidate key dan primary key dari kumpulan

atribut pada tiap-tiap entity.

6. Consider user of enchanced modeling concepts (optional

step), untuk memikirkan kegunaan dari konsep model yang

telah dikembangkan.

7. Check model for redundancy, untuk memeriksa kelebihan

entity maupun atribut yang ada pada model tersebut.

8. Validate local conceptual model against user transactions,

untuk memastikan bahwa model konsep tersebut mendukung

proses transaksi yang dibutuhkan.

9. Review local conceptual data model with user, untuk mengkaji

ulang model konseptual yang telah kita buat dengan pemakai

sehingga para pemakai dapat memahami maksud basisdata yang

telah dibuat.

2.1.6.2 Perancangan Logikal

Perancangan logikal merupakan tahapan kedua dari

perancangan basisdata. Perancangan logikal adalah proses pembuatan

model informasi yang digunakan perusahaan berdasarkan spesifikasi

model data,tapi terbebas dari DBMS dan semua pertimbangan fisik

  25

(Connolly, 2005, p441). Model data konseptual yang dibangun pada

fase sebelumnya diperluas dan dipetakan pada model data logikal.

Model data logikal merupakan sumber informasi untuk fase

selanjutnya, yang dinamakan physical design.

Terdapat dua tahapan dalam perancangan basisdata logikal,

yaitu pertama membangun model data logikal dan data konseptual

lokal. Tahap kedua mengkombinasikan model data logikal individual

kedalam sebuah model data logikal global tunggal yang

menggambarkan perusahaan.

Hasil akhir dari tahapan ini berupa kamus data yang beris i

semua atribut beserta key-nya (primary key, alternate key, dan foreign

key) dan ERD keseluruhan dengan semua atribut key-nya. Pada

tahapan inilah normalisasi dilakukan.

Langkah-langkah dalam metodologi perancangan logikal

basisdata yaitu:

Langkah 1: Membuat dan menvalidasi model logikal data

lokal untuk setiap bagian

Tujuan dari langkah ini adalah untuk membangun

suatu model logikal data lokal dari suatu model konseptual

data lokal yang merepresentasikan perusahaan dan kemudian

menvalidasi model ini untuk memastikan strukturnya benar

dan bahwa model tersebut mendukung transaksi yang diminta.

  26

Langkah 1.1: Menghilangkan bagian yang tidak sesuai

dengan model relasi (langkah optional)

Tujuan dari langkah ini adalah untuk memperbaiki

model konseptual lokal data dengan menghilangkan feature-

feature yang tidak kompetibel dengan model relasi. Bagian

yang akan dibahas pada langkah ini antara lain :

1. Menghilangkan many-to-many (*.*) tipe relasi binary.

2. Menghilangkan many-to-many (*.*) tipe relasi rekursif.

3. Menghilangkan tipe relasi komplek

4. Menghilangkan multi value atribut

Langkah 1.2: Menganalisis relasi untuk model logical data

local

Tujuan dari langkah ini adalah untuk membuat suatu

relasi untuk model logikal data lokal yang merepresentasikan

suatu entiti, relasinya dan juga atribut yang telah

diidentifikasi. Adapun pendeskripsian bagaimana relasi dapat

diturunkan dari struktur data model yang ada sekarang, antara

lain :

1. Tipe entiti kuat

2. Tipe entiti lemah

  27

3. One-to-many (1.*) tipe relasi binari

4. One-to-one (1.1) tipe relasi binari

5. One-to-one (1.1) relasi rekursif

6. Superclass atau subclass tipe relasi

7. Many-to-many tipe relasi binari

8. Tipe relasi komplek

9. Atribut multi value

Langkah 1.3: Menvalidasi relasi dengan normalisasi

Tujuan dari langkah ini adalah untuk menvalidasi

relasi dalam model logikal data lokal dengan menggunakan

teknik dari normalisasi. Tujuan dari normalisasi adalah

sebagai berikut :

a. Menghilangkan kumpulan relasi dari inserting,

updating dan delete dependensi yang tidak diharapkan.

b. Mengurangi kebutuhan restrukturisasi kumpulan relasi

dan meningkatkan life spam program aplikasi.

c. Membuat model relasional lebih informative.

Langkah 1.4: Menvalidasi relasi dengan transaksi user

  28

Tujuan dari langkah ini adalah untuk memastikan

bahwa relasi di dalam model logikal data lokal mendukung

transaksi yang diminta user. Pada langkah ini, pengecekan

bahwa relasi yang dibuat di langkah sebelumnya juga

mendukung transaksi ini benar dan pastikan juga bahwa tidak

ada kesalahan dalam relasi yang telah dibuat.

Langkah 1.5: Memeriksa integritas database

Tujuan dari langkah ini adalah untuk mendefinisikan

ruang lingkup integritas yang diperlihatkan kepada pemakai.

Dalam hal ini ada 5 tipe ruang lingkup integritas, antara lain :

1. Data yang diminta

2. Domain pembatas atribut

3. Integritas entiti

4. Integritas referensi

Yang mendefinisikan suatu entiti mempunyai

integritas ialah tidak adanya primary key yang

kosong (null). Suatu primary key merupakan suatu

atribut yang mendefinisikan bahwa setiap record /

tuple itu unik satu sama lain.

5. Pembatas enterprise

  29

Pembatas enterprise merupakan aturan tambahan

yang dibuat oleh pemakai atau seorang administrator

basisdata dari basisdata tersebut.

Langkah 1.6: Mereview model logikal data local dengan

user

Tujuan dari langkah ini adalah untuk membuat

dokumentasi yang mendeskripsikan model logikal data lokal

sebagai representasi yang sesuai dengan keadaan sebenarnya.

Hubungan antara Logikal Data Model dan Data Flow

Diagram

Suatu model logikal data merefleksikan struktur dari

dalam suatu enterprise. Sebuah data flow diagram (DFD)

menunjukan aliran data suatu enterprise dan disimpan di

dalam penyimpanan data. Semua atribut seharusnya berada di

dalam suatu tipe entiti. Jika memang ditangani di dalam

enterprise dan kemungkinan akan dilihat mengalir di sekitar

enterprise sebagai aliran data. Ada aturan yang mengontrol

antara dua teknik tersebut, antara lain:

1. Setiap penyimpanan seharusnya merepresentasikan suatu

tipe entity

  30

2. Atribut dalam data flow seharusnya merupakan bagian dari

tipe entity

Langkah 2: Membangun dan menvalidasi model logikal

data global

Tujuan dari langkah ini adalah untuk mengkombinasi

suatu individual model logikal data lokal ke dalam suatu

model yang menggambarkan suatu enterprise.

Langkah 2.1: Menggabungkan model lokal logikal data

menjadi model global

Beberapa tugas dari pendekatan ini adalah sebagai berikut :

1. Me-review nama dan isi dari suatu entity atau relasi dan

candidate key.

2. Mereview nama dan isi dari suatu relasi dan foreign key.

3. Menggabungkan entity atau relasi dari model logical

data local.

4. Memasukkan (tanpa penggabungan) entity atau relasi

untuk setiap model lokal data.

  31

5. Menggabungkan relasi atau foreign key dari model local

data.

6. Memasukkan (tanpa penggabungan) relasi atau foreign

key pada setiap model lokal data.

7. Mencek untuk entiti, relasi, dan foreign key yang hilang.

8. Mencek untuk foreign key.

9. Mencek untuk bahasa integritas.

10. Membuat global ERD atau relasi diagram.

11. Mengupdate dokumentasi.

Langkah 2.2: Menvalidasi model logikal data global

Tujuan dari langkah ini adalah untuk menvalidasi

relasi yang dibuat dari model logikal data global dengan

menggunakan teknik dari normalisasi dan juga memastikan

bahwa relasi yang dibuat mendukung transaksi.

Langkah 2.3: Mencek kemungkinan pengembangan di

masa depan

Tujuan dari langkah ini adalah untuk menentukan

bagian mana yang kelihatannya akan berubah ke masa

depannya dan juga memperhatikan supaya model logical data

global dapat mengakomodasi perubahan tersebut.

  32

Langkah 2.4: Mereview model logikal data global dengan

user

Tujuan dari langkah ini adalah untuk memastikan

bahwa model logikal data global itu memang

merepresentasikan enterprise yang ada. Hasil akhir dari

perancangan logical database adalah merancang suatu model

informasi berdasarkan spesifik model yang ada (seperti model

relasional), tetapi tidak tergantung terhadap suatu DBMS dan

perangkat keras lainnya. Logikal basisdata merancang suatu

map untuk setiap lokal konseptual data. Jika terdapat lebih

dari satu pandangan pemakai, maka model logikal data lokal

akan dikombinasikan menjadi suatu model logikal data global

yang merepresentasikan semua pandangan user dari suatu

perusahaan.

2.1.6.3 Perancangan Fisikal

Tujuan dari langkah ini menurut Connolly (2005, p282)

adalah untuk mendeskripsikan pengimplementasian dari suatu

basisdata pada media penyimpanan secondary; itu juga akan

mendeskripsikan dasar dari suatu relasi, file organisasi, dan juga index

yang digunakan untuk mencapai suatu keefisienan data, integritas, serta

ukuran keamanan.

  33

Langkah 1: Menerjemahkan model logikal data global

sesuai DBMS yang dipakai

Tujuan dari langkah ini adalah untuk membuat suatu

skema relasional basisdata dari model data logikal global yang

dapat diimplementasikan ke DBMS yang dipakai

Langkah 1.1: Merancang basis rasional

Tujuan dari bagian ini adalah untuk memutuskan

bagaimana merepresentasikn relasional dasar yang

diidentifikasi dalam model logikal data lokal pada DBMS

yang dipakai. Untuk memulai proses perancangan fisikal

basisdata, pertama-tama anda dapat mengumpulkan dan

meminimalisasikan suatu informasi tentang relational yang

dirancang selama perancangan logikal basisdata. Informasi

yang diperlukan bisa berasal dari kamus data dan definisi data

rasional yang didefinisikan menggunakan DDL. Untuk setiap

relasional yang diidentifikasi pada model data logikal global,

dapat diidentifikasikan salah satu basisdata :

1. Nama dari relational yang ada

2. Suatu list untuk atribut yang sederhana

3. Primary key, alternatife key, dan foreign key

  34

4. Suatu daftar dari atribut turunan dan bagaimana

pembuatannya

5. Batasan integrasi untuk setiap foreign key yang

diidentifikasi

Dari kamus data, dari setiap atributnya dapat

diketahui :

1. Domain atribut tersebut yang terdiri dari tipe data,

panjang, dan berbagai keterangan atribut tersebut

2. Suatu optional nilai default untuk atribut

3. Apakah atribut dapat diisi nilai null

Langkah 1.2: Merancang representasi data turunan

Tujuan dari langkah ini adalah untuk memutuskan

bagaimana merepresentasikan suatu data turunan pada model

data logikal global pada DBMS yag dipakai. Atribut yang

nilainya didapatkan dengan mengevaluasi atribut lain dikenal

sebagai atribut turunan atau kalkulasi. Sebagai contoh :

1. Jumlah banyaknya staff yang bekerja pada suatu

kantor

2. Jumlah nasabah yang melakukan transaksi kredit

3. Jenis kredit yang diingini oleh nasabah

  35

Langkah 1.3: Merancang batasan aplikasi

Tujuan dari langkah ini adalah untuk merancang

batasan aplikasi untuk DBMS yang dipakai. Mengupdate

suatu relasi yang mungkin dibatasi oleh aturan perusahaan

sesuai dengan transaksi yang sebenarnya bisa diupdate.

Perancangan batasan tersebut sekali lagi tergantung pada

DBMS yang digunakan, fasilitas yang dipunyai oleh system

dibandingkan dengan DBMS yang lain. Pada awalnya, jika

sistem tersebut mempunyai aturan sesuai aturan standar SQL,

beberapa batasan dapat diterapkan.

Langkah 2: Merancang representasi fisik

Tujuan dari langkah ini adalah untuk menentukan

organisasi file yg paling optimal untuk menyimpan relasional

dasar dan index yang diminta untuk performansi yang optimal

yang mana relational dan data yang ada disimpan pada

secondary storage.

Langkah 2.1: Menganalisis transaksi

Tujuan dari langkah ini adalah untuk mengerti fungsi

dari suatu transaksi dimana akan dijalankan pada basisdata

untuk menganalisis transaksi yang penting. Untuk membuat

perancangan fisikal basisdata yang efektif perlu untuk

mempunyai pengetahuan mengenai transaksi atau query yang

  36

akan dijalankan di dalam basisdata. Ini termasuk kuantitatif

atau kualitatif informasi. Dalam menganalisis transaksi, dapat

diidentifikasikan kriteria performansi sebagai berikut :

1. Transaksi yang sering digunakan, dan akan

berdampakbesar terhadap performansi keseluruhan.

2. Transaksi yang merupakan transaksi bisnis yang

kritis.

3. Durasi waktu dalam harian atau mingguan yang akan

mendapatkan banyak permintaan pada basisdata.

Langkah 2.2: Memilih organisasi file

1. Tujuan dari langkah ini adalah untuk menentukan

organisasi file yang efektif untuk setiap relasional

data. Dalam banyak kasus yang ada, suatu relasional

DBMS akan memberikan sedikit bahkan tanpa

pilihan dalam memilih organisasi file, walaupun

beberapa akan mempunyai indeks yang spesifik.

Langkah 2.3: Memilih index

Tujuan dari langkah ini adalah untuk menentukan

penambahan indeks yang akan meningkatkan performansi dari

suatu sistem. Biasanya pemilihan suatu atribut untuk indeks

adalah sebagai berikut :

  37

1. Suatu atribut yang digunakan paling sering untuk

operasi penggabungan, yang akan membuat

penggabungan itu lebih efektif.

2. Suatu atribut yang digunakan paling banyak untuk

mengakses suatu record di dalam relasi yang ada.

Langkah 2.4: Mengestimasi kapasitas penyimpanan yang

dibutuhkan

Tujuan dari langkah ini adalah untuk memperkirakan

ukuran kapasitas disk yang diperlukan untuk basisdata.

Langkah 3 : Merancang tampilan layar untuk user

Tujuan dari langkah ini adalah untuk merancang

tampilan pemakai yang diidentifikasi selama pengumpulan

informasi dan analisis dari siklus hidup aplikasi basisdata.

Langkah 4 : Merancang mekanisme keamanan

Tujuan dari langkah ini adalah untuk merancang

ukuran keamanan untuk basisdata yang telah dispesifikasikan

pemakai.Beberapa masalah keamanan yang perlu

diperhatikan:

1. Pencurian data (Theft and Fraud)

  38

2. Kehilangan kerahasiaan suatu data (Loss of

Confidentially)

3. Kehilangan hak pribadi (Loss of Privacy)

4. Kehilangan integritas (Loss of integrity)

5. Kehilangan ketersediaan data (Loss of availability)

Hasil akhir perancangan fisikal basisdata adalah

suatu proses yang mendeskripsikan suatu implementasi dari

suatu database pada media penyimpanan. Ini mendeskripsikan

suatu relational dan struktur penyimpanan dan metodologi

pengaksesan data oleh pemakai yang efisien, selama batasan

integritas dan pengukuran keamanan.

2.1.2 ER Modeling

A. Tipe Entity

Tipe entity adalah sekumpulan objek yang memiliki properti yang

sama, yang diidentifikasikan di dalam organisasi karena keberadaannya

yang bebas (independent existence) (Connolly, 2005, p331). Sedangkan

entity occurrence adalah sebuah objek dari satu tipe entity yang dapat

diidentifikasi secara unik (Connolly, 2005, p333). Keberadaan objek –

objeknya secara fisik / nyata (physical exixtence), seperti entity Pegawai,

  39

Rumah dan Pelanggan atau secara konseptual / abstrak (conceptual

existence), seperti entity Inspeksi, Penjualan dan Peninjauan.

Setiap tipe entity dilambangkan dengan sebuah persegi panjang

yang diberi nama dari entity tersebut. Nama tipe entity biasanya adalah

kata benda tunggal. Huruf pertama dari setiap kata pada nama tipe entity

ditulis dengan huruf besar. Representasi diagram tipe entity terlihat pada

gambar 2.3.

Gambar 2.3 Representasi diagram dari tipe entity Pegawai dan Cabang (Connolly,

2002, p333)

Tipe entiti dapat diklasifikasikan sebagai berikut:

1. Tipe Entity Kuat, yaitu tipe entity yang

keberadaannya tidak bergantung pada tipe entity

lainnya (Connolly, 2005, p342).

2. Tipe Entity Lemah, yaitu tipe entity yang

keberadaannya bergantung pada tipe entity lainnya

(Connolly, 2002, p343).

Nama entiti

Pegawai Cabang

  40

Gambar 2.4 Representasi diagram tipe entity kuat dan tipe entity lemah (Connolly,

2005, p343)

B. Tipe Relasi

Tipe relationship adalah sekumpulan hubungan antar tipe

entityyang memiliki arti (Connlly, 2005, p334). Sedangkan relationship

occurrence adalah sebuah hubungan yang dapat diidentifikasikan secara

unik, yang meliputi sebuah kejadian (occurrence) dari setiap tiap entity di

dalam relationship (Connolly, 2005 p334).

Tipe relationship digambarkan dengan sebuah garis yang

menghubungankan tipe entity – tipe entity yang saling berhubungan. Garis

tersebut diberi nama sesuai dengan nama hubungannya dan diberi tanda

panah satu arah di samping nama hubungannya.

  41

Biasanya sebuah relationship dinamakan dengan menggunakan

kata kerja, seperti Mengatur atau dengan sebuah frase singkat yang meliputi

sebuah kata kerja seperti DisewaOleh. Sedangkan tanda panah ditempatkan

di samping nama relationship yang mengindikasikan arah bagi pembaca

untuk mengartikan nama dari suatu relationship. Huruf pertama dari setiap

kata pada nama relationship ditulis dengan huruf besar. Representasi

diagram dari suatu tipe relationship terlihat pada gambar 2.4.

Gambar 2.5 Representasi diagram dari tipe relationship (Connolly, 2005, p335)

B.1 Derajat dari Tipe Relationship

Derajat dari tipe relationship adalah jumlah tipe entity yang

ikut serta dalam sebuah relationship (Connolly, 2005, p335).

Complex relationship types adalah sebuah relationship antara

tiga atau lebih tipe entity (Connolly, 2005, p445). Sebuah relationship

yang memiliki derajat dua di namakan binary (Connolly, 2005, p336).

Gambar 2.5 juga merepresentasikan diagram relationship derajat dua.

Sedangkan sebuah relationship derajat tiga dinamakan ternary, dan

Pegawai Cabang Memiliki

‘ Cabang Memiliki pegawai ‘

  42

jika sebuah relationship memiliki derajat empat di namakan

quarternary (Connolly, 2005, p336).

Lambang belah ketupat merepresentasikan relationship yang

memiliki derajat lebih dari dua. Nama dari relationship tersebut

ditampilkan di dalam lambang belah ketupat. Panah yang biasanya

terdapat di samping nama suatu relationship dihilangkan.

Representasi diagram derajat tiga dari suatu tipe relationship terlihat

pada gambar 2.6.

Gambar 2.6 Representasi diagram derajat tiga dari suatu tipe relationship

(Connolly, 2005, p336)

B.2 Recursive Relationship

Recursive relationship adalah sebuah tipe relationship

dimana tipe entity yang sama ikut serta lebih dari sekali pada peran

yang berbeda (Connolly, 2005, p337).

Pegawai  Cabang 

Klien 

Mendaftarkan 

‘ Pegawai mendaftarkan seorang klien pada sebuah cabang ‘

  43

Relationship dapat diberikan nama peran untuk menentukan

fungsi dari setiap entity yang terlibat dalam relationship tersebut.

Representasi diagram recursive relationship beserta nama perannya

terlihat pada gambar 2.7.

Nama peran juga dapat digunakan jika dua buah entity

dihubungkan melalui lebih dari satu relationship. Representasi

diagram nama peran yang digunakan pada dua buah entity terlihat

pada gambar 2.8.

Gambar 2.7 Representasi diagram recursive relationship dan nama peran

(Connolly, 2005, p337)

Pegawai

Pengawas

Nama peran

Mengawasi

Orang yang diawasi

Nama peran

‘ Pegawai (Pengawas) mengawasi pegawai (orang yang diawasi) ‘

  44

Gambar 2.8 Representasi diagram entity dengan dua relationship berbeda beserta

nama peran (Connolly, 2005, p338)

C. Atribut

Atribut adalah properti sebuah entity atau relationship (Connolly,

2005, p338). Menurut Jeffery L. Whitten (2004, p295), atribut merupakan

properti deskriptif atau karakteristik dari sebuah entity. Atribut menampung

nilai yang menjelaskan setiap entity occurrence dan menggambarkan bagian

utama dari data yang disimpan di dalam basisdata.

Atribut domain adalah sekumpulan nilai yang dibolehkan bagi satu

atau lebih atribut (Connolly, 2005, p338). Atribut dapat diklasifikasikan

menjadi :

Pegawai Cabang

Nama peran

Nama peran

Manajer Kantor Cabang

Mengatur

Memiliki

Anggota Pegawai

Kantor Cabang

‘ Kantor cabang memiliki anggota pegawai ‘

  45

1. Simple attribute adalah atribut yang terdiri dari komponen tunggal

dengan keberadaannya yang bebas (Connolly, 2005, p339).

2. Composit attribute adalah atribut yang terdiri dari beberapa komponen,

dan keberadaan setiap komponen tersebut bebas (Connolly, 2005, p339).

3. Single – valued attribute adalah atribut yang hanya memiliki sebuah nilai

untuk setiap occurrence dari sebuah entity (Connolly, 2005, p339).

4. Multi – valued attribute adalah sebuah atribut yang memiliki banyak nilai

untuk setiap occurrence dari sebuah tipe entity (Connolly, 2005, p340).

5. Derived attribute adalah atribut yang merepresentasikan sebuah nilai

yang diturunkan dari atribut lain yang berhubungan atau kumpulan dari

atribut (Connolly, 2005, p340).

D. Keys

Candidate key adalah himpunan atribut yang minimal yang secara

unik mengidentifikasikan setiap occurrence dari sebuah tipe entity

(Connolly, 2005, p340).

Composite key adalah sebuah candidate key yang terdiri atas dua

atau lebih atribut (Connolly, 2005, p341).

Primary key adalah candidate key yang terpilih untuk

mengidentifikasikan secara unik setiap occurrence dari sebuah tipe entity

  46

(Connolly, 2005, p341). Pada sebuah tipe entity biasanya terdapat lebih dari

satu candidate key yang salah satunya harus dipilih untuk menjadi primary

key. Pemilihan primary key didasarkan pada panjang atribut, jumlah

minimal atribut yang diperlukan dan keunikannya.

Alternate key adalah setiap candidate key yang tidak terpilih

menjadi primary key atau biasa disebut dengan secondary key (Whitten,

2004, p298).

Foreign key adalah sebuah primary key pada sebuah entity yang

digunakan pada entity lainnya untuk mengidentifikasikan sebuah

relationship (Whitten, 2004, p301).

Gambar 2.9 Representasi diagram entity Pegawai dan Cabang beserta atribut dan

primary keynya (Connolly, 2005, p342)

Memiliki

Primary key

Multi – valued

Derived attribut Composite

attribute

Pegawai

noPeg { PK } nama jabatan gaji /totalPeg

Cabang

noCab { PK }

alamat

jalan kota kodepos

telp[ 1..3]

Mengatur

Ruang untuk

menuliskan atribut

  47

E. Structural Constraint

Batasan – batasan yang menggambarkan pembatasan pada

relationship seperti yang ada pada ‘ real world ‘ harus diterapkan pada tipe

entity yang ikut serta pada sebuah relationship. Jenis utama dari batasan

pada suatu relationship dinamakan multiplicity (Connolly, 2005, p344).

Multiplicity adalah jumlah occurrence yang mungkin terjadi pada

sebuah tipe entity yang berhubungan ke sebuah occurrence dari tipe entity

lain pada suatu relationship (Connolly, 2005, p344). Derajat yang biasanya

digunakan pada suatu relationship adalah binary relationship, yang terdiri

atas :

1. One – to – one ( 1 : 1 ) Relationship

Setiap relationship menggambarkan hubungan antara sebuah entity

occurrence pada entity yang satu dengan sebuah entity occurrence pada

entity lainnya yang ikut serta dalam relationship tersebut.

Pegawai tipe entiti ( noPeg )

Mengatur tipe relationship

Cabang tipe entiti ( noCab )

  48

Gambar 2.10 Semantic net menunjukkan dua occurrence dari relationship Pegawai

mengatur Cabang ( Connolly, 2005, p345 )

Gambar 2.11 Multiplicity dari relationship one – to – one ( 1 : 1 ) ( Connolly, 2002, p346 )

2. One – to – many ( 1 : * ) Relationship

Setiap relationship menggambarkan hubungan antara sebuah entity

occurrence pada entity yang satu dengan satu atau lebih entity occurrence

pada entity lainnya yang ikut serta dalam relationship tersebut.

1..1 0..1 Pegawai

noPeg

Cabang

noCab

Multiplicity

Mengatur

Setiap cabang diatur oleh satu orang pegawai

Seorang pegawai dapat mengatur nol atau satu cabang

  49

 

Gambar 2.12 Semantic net menunjukkan tiga occurrence dari relationship Pegawai

melihat RumahSewa ( Connolly, 2002, p346 )

Gambar 2.13 Multiplicity dan relationship one – to – many ( 1 : * ) (Connolly, 2002, p347)

3. Many – to – many ( * : * ) Relationship

Setiap relationship menggambarkan hubungan antara satu atau lebih

entity occurrence pada entity yang satu dengan satu atau lebih entity

Pegawai

noPeg

RumahSewa

noRumah 0..1 1..* Melihat

Setiap rumah sewa dilihat oleh nol

atau satu pegawai

Setiap pegawai melihat satu atau lebih rumah sewa

Pegawai tipe entiti ( noPeg )

Melihat tipe relationship

RumahSewa tipe entiti ( noRumah )

  50

occurrence pada entity lainnya yang ikut serta dalam relationship

tersebut.

 

Gambar 2.14 Semantic net menunjukkan empat occurrence dari relationship Koran

mengiklankan RumahSewa ( Connolly, 2002, p348 )

Gambar 2.15 Multiplicity dari relationship many – to – many ( * : * ) (Connolly, 2002,

p348)

Koran

namaKoran

RumahSewa

noRumah 0..* 1..*

Mengiklankan

Setiap rumah sewa diiklankan pada nol atau lebih

Setiap koran mengiklankan satu atau lebih rumah

Koran tipe entiti

( )

Mengiklankan tipe relationship

RumahSewa tipe entiti ( noRumah )

  51

2.2 Pembelian dan Penjualan

2.2.1 Pembelian

Pembelian artinya memperoleh barang dan jasa ( Render, 2001, p414).

Tujuan dari Pembelian, diantaranya :

1. Membantu mengidentifikasi produk dan jasa yang dapat diperoleh

secara eksternal.

2. Mengembangkan, mengevaluasi, dan menentukan pemasok, harga dan

pengiriman yang terbaik bagi barang dan jasa tersebut.

Strategi dalam Pembelian

Terdapat lima strategi dalam pembelian ( Render, 2001, p416),

yaitu:

1. Negosiasi dengan banyak pemasok dan membandingkan satu

pemasok dengan yang lainnnya, biasanya pesanan jatuh kepada

penawar yang termurah.

2. Mengembangkan hubungan jangka pendek, bersekutu dengan

beberapa pemasok yang akan bekerjasama dengan pembeli untuk

memuaskan konsumen akhir.

3. Interegasi vertikal. Maksud dari integrasi vertikal adalah

pengembangan kemampuan produksi barang atau jasa yang

sebelumnya atau dengan benar-benar membeli pemasok atau

  52

distributor. Integrasi vertikal dapat mengambil bentuk integrasi

vertikal ke depan atau ke belakang. Yang dimaksud dengan

integrasi ke depan adalah mengusulkan perusahaan untuk

membuat barang jadi, sedangkan integrasi ke belakang justru

mengusulkan perusahaan pemasom membeli para pemasoknya.

4. Kombinasi beberapa pemasok dan integrasi vertikal, biasa

dikenal dengan ”keiretsu”.

5. Mengembangkan perusahaan-perusahaan maya yang

menggunakan pemasok dengan dasar ”pada saat dibutuhkan”.

Prosedur dalam Sistem Pembelian

Sistem pembelian dibentuk dari jaringan prosedur (

Mulyadi, 2001, p301), yaitu:

1. Prosedur permintaan pembelian

Dalam prosedur ini, fungsi gudang mengajikan permintaan

pembelian dalam formulir surat permintaan pembelian kepada

fungsi pembelian.

2. Prosedur permintaan penawaran harga dan pemilihan pemasok

Dalam prosedur ini, fungsi pembelian mengirimkan surat

permintaan penawaran harga kepada pemasok untuk memperoleh

informasi mengenai harga barang dan berbagai syarat pembelian

  53

agar memungkinkan untuk memilih pemasok barang yang

diperlukan oleh perusahaan.

3. Prosedur order pembelian

Dalam prosedur ini, fungsi pembelian mengirim surat order

pembelian kepada pemasok yang dipilih dan memberitahukan

kepada unit organisasi yang lainnya dalam perusahaan mengenai

order pembelian yang sudah dikeluarkan oleh perusahaan.

4. Prosedur penerimaan barang

Dalam prosedur ini, fungsi penerimaan barang melakukan

pemeriksaan mengenai jenis, kuantitas, dan mutu bahan yang

diterima dari pemasok, dan kemudian membuat laporan

penerimaan barang untuk menyatakan penerimaan barang dari

pemasok tersebut.

5. Prosedur distribusi pembelian

Prosedur ini meliputi distribusi rekening yang dideber dari

transaksi pembelian untuk kepentingan pembuatan laporan

manajemen.

6. Prosedur pencatatan hutang

Dalam prosedur ini, fungsi akuntasi memeriksa dokumen-

dokumen yang berhubungan dengan pembelian ( surat oder

pembelian, laporan penerimaan barang, dan faktur dari pemasok )

dan menyelenggarakan pencatatan hutang atau mengarsipkan

dokumen sebagai catatan hutang.

  54

Dokumen dalam Sistem Pembelian

Dokumen yang digunakan pada sistem pembelian (

Mulyadi, 2001, p303), adalah :

1. Surat permintaan pembelian

Formulir ini diisi oleh fungsi gudang atau fungsi pemakai barang

untuk meminta fungsi pembelian barang melakukan pembelian

barang dengan jenis, jumlah dan mutu seperti yang disebutkan

dalam surat tersebut. Biasanya terdiri dari dua lembar untuk setiap

permintaan, satu lembar untuk fungsi pembelian dan tembusannya

untuk arsip fungsi yang meminta barang.

2. Surat permintaan penawaran harga

Dokumen ini digunakan untuk meminta penawaran harga bagi

barang yang pengadaannya tidak bersifat berulangkali terjadi yang

menyangkut jumlah rupiah pembelian yang besar.

3. Surat order pembelian

Dokumen ini digunakan untuk memesan barang kepada pemasok

yang telah dipilih.

4. Laporan penerimaan barang

Dokumen ini dibuat oleh fungsi penerimaan untuk menunjukkan

bahwa barang yang diterima dari pemasok telah memenuhi jenis,

spesifikasi dan kuantitas seperti yang tercantum dalam surat order

pembelian.

  55

5. Surat perubahan order pembelian

Digunakan bila terjadi perubahan terhadap isi surat order

pembelian yang sebelumnya telah diterbitkan. Perubahan tersebut

dapat berupa perubahan kuantitas, jadwal penyerahan barang,

spesifikasi, penggantian atau hal lain yang bersangkutan dengan

perubahan desain atau bisnis.

6. Bukti kas keluar

Dokumen ini dibuat oleh fungsi akutansi untuk dasar pencatatan

transaksi pembelian. Dokumen ini juga berfungsi sebagai perintah

pengeluaran kas untuk pembayaran hutang kepada pemasok dan

yang sekaligus berfungsi sebagai surat pemberitahuan kepada

kreditur mengenai maksud pembayaran.

2.2.2 Penjualan

Kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa,

baik secara kredit maupun secara tunai ( Mulyadi, 2001, p202).

Transaksi penjualan kredit terjadi jika order dari pelanggan telah

dipenuhi dengan pengiriman barang atau penyerahan jasa. Untuk jangka

waktu tertentu, perusahaan memiliki piutang kepada pelanggannya.

  56

Transaksi penjualan tunai terjadi jika barang atau jasa baru

diserahkan oleh perusahaan kepada pembeli jika perusahaan telah menerima

kas dari pembeli.

2.2.2.1 Fungsi Penjualan

Fungsi-fungsi yang terkaitdengan sistem penjualan secara

kredit ( Mulyadi, 2001, p211) adalah :

1. Fungsi gudang

Fungsi ini bertanggung jawab untuk menyimnpan dan menyiapkan

barang yang dipesan oleh pelanggan dan mengirimkan barang

tersebut ke bagian pengiriman.

2. Fungsi penjualan

Fungsi ini bertanggung jawab untuk menerima surat order dari

pembeli, mengedit order dari pelanggan untuk menambahkan

informasi yang belum ada pada surat order tersebut, meminta

otorisasi kredit, menentukan tanggal pengiriman dari gudang mana

barang akan dikirim dan mengisi surat order pengiriman.

3. Fungsi pengiriman

Fungsi ini bertanggung jawab untuk menyerahkan barang ke

pelanggan berdasarkan surat order pengiriman yang diterima dari

fungsi penjualan.

4. Fungsi penagihan

  57

Fungsi ini bertanggung jawab untuk membuat dan mengirimkan

faktur penjualan kepada pelanggan, serta menyediakan copy faktur

bagi kepentingan pencatatan transaksi penjualan oleh fungsi

akutansi.

5. Fungsi akutansi

Fungsi ini bertanggung jawab untuk mencatat piutang yang timbul

dari transaksi penjualan kredit dan membuat serta mengirimkan

pernyataan piutang kepada debitur, serta membuat laporan

penjualan.

2.2.2.2 Prosedur dalam Sistem Penjualan

Prosedur-prosedur yang membentuk sistem penjualan kredit

( Mulyadi, 2001, p219) adalah :

1. Prosedur order penjualan

Dalam prosedur ini, fungsi penjualan menerima order dari

pembeli dan menambahkan informasi penting pada surat order

dari pembeli. Kemudian fungsi penjualan membuat surat order

pengiriman dan mengirimkannya kepada bagian-bagian lain agar

memungkinkan fungsi tersebut untuk memberikan kontribusi

dalam melayani order dari pembeli.

2. Prosedur pengiriman

  58

Fungsi pengiriman mengirimkan barang kepada pembeli sesuai

dengan informasi yang tercantum dalam surat order pengiriman

yang diterima dari fungsi pengiriman.

3. Prosedur distribusi penjualan

Mendistribusikan data penjualan menurut informasi yang

diperlukan kepada pihak manajemen.

4. Prosedur penagihan

Pada prosedur ini, fungsi penagihan membuat faktur penjualan

dan mengirimkannya kepada pembeli.

5. Prosedur persetujuan kredit

Pada prosedur ini, fungsi penjualan meminta persetujuan

penjualan secara kredit kepada pembeli tertentu dari fungsi kredit.

6. Prosedur pencatatan harga pokok penjualan

Pada prosedur ini, fungsi akutansi mencatat secara periodik total

harga pokok yang dijual dalam periode akutansi tertentu.

7. Prosedur pencatatan piutang

Pada prosedur ini, fungsi penagihan membuat faktur penjualan

dan mengirimkannya kepada pembeli.

  59

2.2.2.3 Dokumen pada Sistem Penjualan

Dokumen-dokumen yang digunakan dalam sistem penjualan

kredit adalah sebagai berikut ( Mulyadi, 2001, p214) :

1. Surat order pengiriman dan tembusannya

2. Faktur dan tembusannya

3. Rekapitulasi harga pokok penjualan

4. Bukti Memorial

2.3 Bahasa Pemograman yang Digunakan

2.3.1 PHP Hypertext Preprocessor (PHP)

Dikutip dari Abdul Kadir ( 2002, pl ), PHP merupakan bahasa

berbentuk script yang ditempatkan dalam server dan diproses di server.

Hasilnya kemudian dikirim ke client, tempat pengguna menggunakan

browser. Secara khusus, PHP dirancang untuk membentuk web dinamis.

Artinya, ia dapat membentuk suatu tampilan berdasarkan permintaan

terkini. Misalnya, bisa menampilkan isi basis data ke halaman web. Pada

prinsipnya, PHP mempunyai funsi yang sama dengan script – script

seperti ASP ( Active Server Pages ), Cold Fusion, ataupun Perl.

  60

2.3.2 MySql

MySQL merupakan salah satu jenis database server yang

menggunakan SQL sebagai bahasa dasar untuk mengakses basis datanya.

Bersifat bebas karena tidak perlu membayar untuk menggunakannya pada

berbagai platform (kecuali pada Windows yang bersifat shareware atau

perlu membayar setelah melakukan evaluasi dan memutuskan untuk

digunakan untuk keperluan produksi). MySQL termasuk jenis Relational

Database Management System (RDBMS) sehingga istilah seperti tabel,

baris, dan kolom digunakan.