bab 2 landasan teori - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2009-1-00043-if bab 2.pdfsistem...

48
10 BAB 2 LANDASAN TEORI 2.1 Pengertian Sistem Sistem sering dikenal oleh banyak orang sebagai suatu proses yang terintegrasi dengan proses lainnya namun terdapat beberapa pendapat dari berbagai sumber mengenai sistem. M enurut M ulyadi (2001, p2) suatu sistem pada dasarnya adalah sekelompok unsur yang erat hubungannya antara satu dengan lainnya, yang berfungsi bersama- sama untuk mencapai suatu tujuan tertentu. Menurut McLeod (2001, p13) ”A system is a group of elements that are integrated with the comon purpose of achieving an objective.” Yang artinya sistem adalah sekelompok elemen-elemen yang saling terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Jadi, dapat disimpulkan sistem adalah kumpulan unsur-unsur yang berhubungan untuk melaksanakan kegiatan-kegiatan perusahaan dalam mencapai suatu tujuan tertentu. 2.1.1 Pengertian Basis Data Basis data merupakan suatu kumpulan data yang terhubungan dengan sistem yang nantinya dipakai agar dapat memenuhi tujuan dari perusahaan itu sendiri sehingga diharapkan database yang baik dapat membantu proses bisnis dari perusahaan.

Upload: nguyenkhuong

Post on 24-Mar-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

10

BAB 2

LANDASAN TEORI

2.1 Pengertian Sistem

Sistem sering dikenal oleh banyak orang sebagai suatu proses yang

terintegrasi dengan proses lainnya namun terdapat beberapa pendapat dari

berbagai sumber mengenai sistem.

Menurut Mulyadi (2001, p2) suatu sistem pada dasarnya adalah sekelompok

unsur yang erat hubungannya antara satu dengan lainnya, yang berfungsi bersama-

sama untuk mencapai suatu tujuan tertentu.

Menurut McLeod (2001, p13) ”A system is a group of elements that are

integrated with the comon purpose of achieving an objective.” Yang artinya

sistem adalah sekelompok elemen-elemen yang saling terintegrasi dengan maksud

yang sama untuk mencapai suatu tujuan.

Jadi, dapat disimpulkan sistem adalah kumpulan unsur-unsur yang

berhubungan untuk melaksanakan kegiatan-kegiatan perusahaan dalam mencapai

suatu tujuan tertentu.

2.1.1 Pengertian Basis Data

Basis data merupakan suatu kumpulan data yang terhubungan dengan sistem

yang nantinya dipakai agar dapat memenuhi tujuan dari perusahaan itu sendiri

sehingga diharapkan database yang baik dapat membantu proses bisnis dari

perusahaan.

11

Menurut Connolly dan Begg (2002, p14) ”Database is a shared collection of

logically related data, and a description of this data, designed to meet the

information needs of an organization” yang artinya adalah kumpulan data yang

terbagi dan terhubung secara logikal dan deskripsi dari data yang dirancang untuk

memenuhi kebutuhan informasi suatu organisasi.

Menurut McLeod (2001, p258) basis data adalah suatu koleksi data

komputer yang terintegrasi, diorganisasikan dan disimpan dengan suatu cara yang

memudahkan pengambilan kembali.

Dan menurut Date (2000, p5) ”Database is basically a computerized record

keeping system whose overall purpose is to stored information and to allow user

to retrieve and update that information on demand” Yang artinya sistem basis

data adalah suatu sistem yang ada pada dasarnya menyimpan record-record di

dalam suatu sistem yang dilakukan secara komputerisasi yang tujuannya secara

keseluruhan adalah untuk mengambil informasi dan mengubah informasi tersebut

berdasarkan permintaan.

Jadi, dapat disimpulkan bahwa sistem basis data adalah suatu kumpulan data

yang terstruktur, terintegrasi, dan terkomputerisasi untuk memenuhi kebutuhan

organisasi serta memudahkan pencarian dan pengambilan data-data secara cepat

dan efisien.

2.1.1.1 Database Management System (DBMS)

Definisi Database Management System (DBMS) menurut Connolly dan

begg (2002, p16) ”A software sistem that enables users to define, create,

maintane, and control access to the database” yang artinya suatu sistem

12

perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat,

memelihara, dan mengontrol akses ke basis data.

Sedangkan definisi Database Management System (DBMS) menurut Atzeni,

Ceri, Paraboschi, and Torlene (2003, p3) ”As a software system able to manage

collection of data that are large, shared and persistent and to ensure their

reliabilty and privacy” Yang artinya sebagai suatu program yang memungkinkan

untuk mengatur koleksi data yang besar, terbagi dan padat dan untuk memastikan

reliabilitas dan privasi dari koleksi data tersebut.

Jadi, dapat disimpulkan bahwa DBMS merupakan suatu sistem atau program

yang mengatur dan mengontrol akses ke basis data yang besar.

Biasanya, suatu DBMS mempunyai fasilitas seperti berikut ini :

• Terdapat fasilitas untuk mendefinisikan basis data, biasanya menggunakan

suatu Data Definition Language (DDL). Suatu DDL memberikan fasilitas

kepada user untuk menspesifikasikan tipe data dan strukturnya dan batasan

aturan mengenai data yang bisa disimpan ke dalam basisdata tersebut.

• Terdapat fasilitas yang memperbolehkan user untuk menambah (insert),

mengedit (update), menghapus data (delete), dan mendapatkan kembali

data (retrieve). Biasanya dengan menggunakan suatu Data Manipulation

Language (DML). Biasanya ada suatu fasilitas untuk melayani

pengaksesan data yang disebut sebagai Query Language. Bahasa query

yang paling diakui adalah Structured Query Language (SQL), yang secara

umum merupakan standar bagi DBMS.

• Terdapat fasilitas untuk mengontrol ke basis data. Sebagai contoh :

13

Suatu sistem keamanan yang mencegah user yang tidak punya

autoritas untuk mengakses data.

Suatu sistem terintegrasi yang mana memelihara konsistensi

penyimpanan data.

Suatu sistem kontrol yang mana memperbolehkan akses ke basis

data.

Suatu sistem kontrol pengembalian data yang mana dapat

mengembalikan data ke keadaan sebelumnya apabila terjadi

kegagalan perangkat keras atau perangkat lunak.

Terdapat suatu katalog yang dapat diakses oleh user, yang mana

mendeskripsikan data di dalam basis data tersebut.

Kita dapat mengindentifikasi lima komponen utama dalam DBMS, yaitu:

hardware, software, data, prosedur dan orang.

1. Hardware

DBMS dan aplikasi membutuhkan hardware agar dapat beroperasi.

Ada beberapa DBMS yang hanya dapat beroperasi pada hardware ataupun

sistem operasi tertentu.

2. Software

Software merupakan komponen dari DBMS itu sendiri dan program

aplikasi termasuk sistem operasi. Program aplikasi ada yang ditulis dengan

bahasa pemrograman ketiga (3GL), seperti C, C++, Java, Visual Basic,

COBOL, Fortran, Ada, Pascal dan ada juga yang ditulis dengan bahasa

pemrograman generasi keempat (4GL), seperti SQL.

3. Data

14

Data merupakan komponen yang penting dari basis data. Data

merupakan penghubung antara mesin dan manusia. Basis data terdiri dari

operational data dan meta data.

4. Prosedur

Prosedur merupakan instruksi dan aturan yang menentukan pembuatan

dan penggunaan dari basis data. User membutuhkan prosedur untuk

menjalankan dan menggunakan sistem.

5. Orang (user)

Terdiri dari empat yaitu :

a) Application programmers, bertanggung jawab untuk

membuat aplikasi basis data dengan menggunakan bahasa

pemrograman yang ada.

b) End Users, siapapun yang berinteraksi atau terlibat langsung

dengan penggunaan sistem basis data secara online melalui

terminal.

c) DA (Data Administrator), seseorang yang berwenang untuk

membuat keputusan strategis dan kebijakan mengenai data

yang ada.

d) DBA (DataBase Administrator), menyediakan dukungan

teknis untuk implementasi keputusan tersebut, dan

bertanggungjawab atas keseluruhan kontrol sistem pada level

teknis.

Penggunaan DBMS memiliki keuntungan dan kerugian.

Keuntungannya antara lain :

15

1. Kontrol terhadap redundansi data

2. Data yang konsisten

3. Semakin banyak informasi yang didapat dari data yang sama

4. Data yang dibagikan (shared data)

5. Menambah integritas data

6. Menambah keamanan data

7. Penetapan standarisasi

8. Menyeimbangkan konflik kebutuhan

9. Memperbaiki pengaksesan data dan hasilnya

10. Menambah produktivitas

11. Memperbaiki pemeliharaan data melalui data independence

12. Meningkatkan concurrency

Adapun kerugian DBMS antara lain :

1. Kompleksitas

2. Size / ukuran

3. Biaya dari suatu DBMS

4. Biaya penambahan perangkat keras

5. Biaya konversi

6. Performance

7. Pengaruh dari kerusakan

2.1.1.2 Siklus Hidup Aplikasi Basis Data

16

Menurut Connolly dan Begg (2002, p271) ”Database application lifecycle

as a database system is a fundamental component of the larger organization-wide

information system” yang artinya sistem basisdata merupakan suatu komponen

dasar dari organisasi dengan sistem informasi yang besar.

Hal ini sangat penting untuk diperhatikan karena struktur dari siklus hidup

aplikasi basis data tidaklah harus benar-benar sekuensial, tetapi meliputi suatu

perulangan dari bagan-bagan yang sebelumnya melalui umpan balik.

Berikut adalah siklus hidup aplikasi basis data :

17

Gambar 2.1 S iklus Hidup Aplikasi Basis Data

(Sumber : Connolly dan Begg, 2002, p272 )

Berikut ini ringkasan dari aktivitas utama yang ada di setiap langkah dari

siklus hidup aplikasi sistem basis data, antara lain:

• Database Planning

18

Merencanakan bagaimana tahapan dari siklus hidup bisa direalisasikan

secara efektif dan efisien.

Ada tiga masalah pokok dalam merumuskan suatu strategi sistem informasi

menurut Connolly dan Begg (2002, p273), yakni :

1. Identifikasi rencana perusahaan dan tujuan dengan penentuan sistem

informasi yang diperlukan

2. Mengevaluasi dari sistem informasi yang ada sekarang untuk

menentukan kelemahan dan kekuatan.

3. Penilaian tentang peluang IT yang mungkin memberikan keuntungan

yang kompetitif.

• System Definition

Menjelaskan batasan-batasan dan cakupan dari aplikasi basis data dan

sudut pandang user (user view) yang utama. User view mendefinisikan apa

yang diwajibkan dari suatu aplikasi basis data dari perspektif aturan kerja

khusus (seperti Manajer atau Supervisor) atau area aplikasi perusahaan

(seperti Marketing, Personnel, atau Stock Control). Aplikasi basis data

dapat memiliki satu atau lebih user view. Identifikasi user view membantu

memastikan bahwa tidak ada pemakai utama dari suatu bais data yang

terlupakan ketika pembuatan aplikasi baru yang dibutuhkan. User view juga

membantu dalam pengembangan aplikasi basis data yang rumit,

memungkinkan permintaan-permnintaan dipecah ke dalam bagian-bagian

yang lebih sederhana.

• Requirements Collection and Analysis

19

Mengumpulkan dan menganalisis permintaan user dan area aplikasi.

Tahapan ini meliputi pengumpulan dan analisa informasi tentang bagian

dari perusahaan yang dilayani oleh basis data. Ada banyak cara untuk

memperoleh informasi ini yang disebut teknik fact finding (Connolly dan

Begg, 2002, p305) :

1. Examining documentation

Dokumentasi membantu menyediakan informasi perusahaan

berkaitan dengan masalah yang dihadapi. Dengan mempelajari

dokumen-dokumen, formulir, laporan dan file yang berkaitan dengan

sistem yang ada, dapat dengan cepat diperoleh beberapa pemahaman

tentang sistem.

2. Interviewing

Dengan wawancara dapat diperoleh informasi dari individu-

individu secara langsung face to face. Ada beberapa tujuan dalam

menggunakan interview seperti menemukan fakta, verifikasi,

klarifikasi, menampilkan antusiasme, melibatkan end-user, identifikasi

kebutuhan dan memperoleh ide dan opini atau pendapat.

3. Observing The Enterprise In Operation

Pengamatan merupakan salah satu teknik fact-finding yang paling

efektif untuk memahami sebuah sistem. Teknik ini memungkinkan

untuk berpartisipasi atau mengawasi seseorang dalam beraktivitas

untuk mempelajari tentang sistem.

4. Research

20

Salah teknik fact-finding yang berguna adalah melakukan riset

terhadap aplikasi dan masalahnya. Majalah-majalah komputer, buku-

buku petunjuk dan internet merupakan sumber-sumber informasi yang

bagus. Hasil riset dapat menyediakan informasi, tentang bagaimana

orang lain memecahkan masalah yang serupa.

5. Questionnaires

Kuisioner adalah dokumen dengan tujuan khusus untuk

mengumpulkan fakta-fakta dari sejumlah orang. Manakala kita ingin

mengumpulkan informasi dari orang banyak teknik yang paling efisien

adalah kuisioner.

• Database Design

Di dalam perancangan basis data, terdapat suatu metodologi yang

membantu dalam membuat suatu basis data. Yang dimaksud dengan

metodologi perancangan basis data adalah sebuah pendekatan struktur yang

mencakup prosedur, teknik, alat bantu dan tujuan dokumentasi untuk

mendukung dan memberi sarana dalam proses perancangan itu sendiri.

Proses perancangan basis data dibagi menjadi 3 bagian yaitu :

1. Conceptual database design

2. Logical Database Design

3. Physical database design

• DBMS Selection (optional)

Memilih suatu DBMS yang cocok untuk aplikasi sistem basis data.

Bagaimanapun pemilihan DBMS bisa dilakukan pada setiap waktu sebelum

21

melakukan logical design yang menyajikan informasi cukup mengenai

kebutuhan sistem seperti performance, security, integrity constraints.

Walaupun pemilihan DBMS mungkin jarang, tetapi ketika kebutuhan

perusahaan sedang diperluas atau sistem yang berjalan digantikan, mungkin

menjadi perlu kadang-kadang untuk mengevaluasi produk DBMS yang

baru.

• Application Design

Merancang antarmuka pemakai dan menghubungkan program aplikasi

yang menggunakan dan memproses sistem basis data. Kita harus

memastikan bahwa semua kemampuan menyatakan spesifikasi kebutuhan

pemakai hadir di dalam desain aplikasi untuk aplikasi basis data. Ini

melibatkan program aplikasi yang mengakses basis data akan merancang

transaksi tersebut ke dalam metode akses basis data.

• Prototyping (optional)

Membangun suatu model kerja dari aplikasi basisdata. Tujuan utama

dari pembuatan prototyping adalah untuk :

- Mengidentifikasi fitur dari sistem yang berjalan dengan baik atau

tidak.

- Memberikan perbaikan-perbaikan atau penambahan fitur baru.

- Klarifikasi kebutuhan user.

- Evaluasi kemungkinan yang akan terjadi dari desain sistem khusus.

• Implementation

22

Merupakan realisasi fisik dari basis data dan perancangan aplikasi.

Implementasi basis data dicapai dengan menggunakan :

- DDL untuk membuat skema basis data dan file basis data kosong.

- DDL untuk membuat user view yang diinginkan.

- 3GL dan 4GL untuk membuat program aplikasi. Termasuk transaksi

basis data disertakan dengan menggunakan DML, atau ditambahkan pada

bahasa pemrograman.

• Data Conversion and Loading

Memindahkan data dari sistem yang lama ke sistem yang baru.

Langkah ini diperlukan hanya ketika suatu sistem basis data baru sedang

menggantikan suatu sistem basis data yang lama. DBMS biasanya memiliki

utilitas yang memanggil ulang file yang sudah ada kedalam basis data baru.

Dapat juga mengkonversi dan menggunakan program aplikasi dari sistem

yang lama untuk digunakan oleh sistem yang baru.

• Testing

Basis data diuji untuk mengetahui apakah masih ada error dan

memvalidasi sesuai keinginan user. Jika pengujian diselenggarakan dengan

sukses, maka akan membongkar kesalahan pada program aplikasi dan

mungkin struktur basis data. Sebagai manfaat sekunder, pengujian

mempertunjukkan bahwa basis data dan program aplikasi tampak seperti

bekerja menurut spesifikasi mereka dan kebutuhan capaian itu tampak

seperti dicukupi.

• Operational Maintenance

23

Suatu proses pengawasan dan pemeliharaan sistem setelah instalasi

meliputi :

- Pengawasan performa sistem

Jika performa menurun maka memerlukan perbaikan atau pengaturan

ulang basis data.

- Pemeliharaan dan pembaharuan aplikasi basis data (jika dibutuhkan)

- Penggabungan kebutuhan baru ke dalam aplikasi basis data.

2.1.2 Perancangan Basis Data

Perancangan basis data (database design) adalah proses pembuatan sebuah

rancangan untuk basis data yang akan mendukung operasi dan tujuan perusahaan

yang dibutuhkan oleh sistem basis data (Connolly dan Begg, 2005, p291). Dalam

perancangannya diperlukan metodologi yang benar sehingga perancangan dapat

berjalan sesuai dengan konsep yang ada. Metodologi perancangan (design

methodology) adalah pendekatan terstruktur yang menggunakan prosedur-

prosedur, teknik-teknik, peralatan, dan dokumentasi untuk mendukung dan

memudahkan proses perancangan (Connolly dan Begg, 2005, p438). Teknik ini

digunakan untuk membantu merencanakan, mengatur, mengontrol, dan

mengevaluasi proyek pengembangan basis data

Urutan metodologi yang ada menurut Connolly dan Begg (2002, p421)

antara lain:

- Perancangan Basis Data Konseptual

- Perancangan Basis Data Logikal

- Perancangan Basis Data Fisikal

24

2.1.2.1 Perancangan Basis Data Konseptual

Pengertian dari perancangan konseptual basisdata menurut Connolly dan

Begg (2002, p419) ”The process of constructing a model of the information used

in an enterprise, independent of all physical considerations.” Yang artinya proses

pembuatan suatu model dari informasi yang digunakan dalam suatu organisasi,

yang tidak tergantung pada segala pertimbangan fisikal.

Langkah 1 Membangun model data lokal konseptual untuk setiap view

Tujuannya untuk membangun model data lokal konseptual sebuah perusahaan

untuk masing-masing view yang spesifik.

Langkah 1.1 Identifikasi tipe entitas

Tujuannya untuk mengidentifikasi entitas utama yang dibutuhkan oleh view.

Langkah 1.2 Identifikasi tipe relasi

Tujuannya untuk mengidentifikasi relasi yang penting antara berbagai tipe entitas

yang telah diidentifikasikan. Langkah-langkah dalam mengidentifikasi tipe relasi

adalah sebagai berikut :

• Gunakan Entiti-Relationship (ER) diagrams

• Tentukan Multiplicity constraints dari tipe relasi

• Mengecek Fan dan Chasm Traps

Fan traps adalah suatu model yang merepresentasikan suatu relasi antara

entitas, tetapi alur relasinya memperlihatkan ambiguitas.

25

Chasm traps adalah suatu model di mana ada hubungan antara entitas

yang satu dengan yang lain, tetapi tidak ada alur relasi antara kedua

entitas tersebut.

• Mengecek setiap entiti mempunyai relasi minimal satu.

• Dokumentasikan tipe relationship

Tipe relationship diidentifikasikan, memberikan nama yang berarti dan

nyata untuk user.

Langkah 1.3 Identifikasi dan mengasosiasikan atribut dengan entitas atau

tipe relasi

Tujuannya untuk mengasosiasikan atribut dengan entitas atau tipe relasi yang

sesuai. Yang perlu diidentifikasi adalah apakah atribut tersebut merupakan :

Simple/Composite Attributes, Single/Multi-valued Attributes, dan Derived

Attributes.

Langkah 1.4 Menentukan domain atribut

Tujuannya untuk menentukan domain dari atribut yang ada di dalam model data

lokal konseptual.

Langkah 1.5 Menentukan atribut candidate dan primary key

Tujuannya untuk mengidentifikasi candidate key dari setiap tipe entitas, dan jika

memang terdapat lebih dari satu candidate key, pilih salah satunya untuk menjadi

primary key.

Langkah 1.6 Mempertimbangkan penggunaan enhanced modeling concepts

(langkah optional)

26

Tujuannya untuk mempertimbangkan penggunaan konsep enhanced modeling,

seperti spesialisasi, generalisasi, agregasi, dan komposisi.

Langkah 1.7 Mengecek redundansi

Tujuannya untuk mengecek apakah ada redundansi dalam model basisdata.

Apabila ada redudansi, maka dapat dihilangkan dengan langkah menguji kembali

hubungan one-to-one dan menghilangkan relasi redundansi.

Langkah 1.8 Validasi lokal konseptual model terhadap transaksi user

Tujuannya untuk memastikan bahwa lokal konesptual model mendukung

permintaan transaksi oleh view. Dua kemungkinan pendekatan untuk

memastikannya adalah dengan mendeskripsikan transaksi dan menggunakan alur

transaksi.

Langkah 1.9 Me-review model data lokal konseptual dengan user

Tujuannya untuk mengkaji ulang model data lokal konseptual bersama user untuk

memastikan bahwa model yang ada sudah sesuai dengan yang diminta.

Hasil akhir dari perancangan konseptual basisdata adalah memproses

pembuatan suatu model dari informasi yang akan digunakan dalam suatu

organisasi, yang tidak tergantung pada segala pertimbangan fisikal.

2.1.2.2 Perancangan Basis Data Logikal

Adapun pengertian dari perancangan basisdata logikal menurut Connolly

dan Begg (2002, p281) ”The process of constructing a model of the information

used in an enterprise based on a specific data model, but independent of

particular DBMS and other physical considerations.” Yang artinya proses

27

pembuatan suatu model dari informasi yang digunakan di dalam suatu organisasi

berdasarkan model data yang spesifik, tapi tidak tergantung pada suatu DBMS dan

perangkat keras lainnya.

Langkah 2 Membuat dan memvalidasi model data lokal logikal untuk setiap

bagian

Tujuannya untuk membangun suatu model data lokal logikal dari suatu model data

lokal konseptual yang merepresentasikan perusahaan dan kemudian memvalidasi

model ini untuk memastikan strukturnya benar, dan memastikan bahwa model

tersebut mendukung transaksi yang diminta.

Langkah 2.1 Menghilangkan bagian yang tidak sesuai dengan model relasi

(langkah optional)

Tujuannya untuk memperbaiki model data lokal konseptual dengan

menghilangkan fitur yang tidak kompatibel 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 kompleks

(4) Menghilangkan multi-valued.

Langkah 2.2 Menurunkan relasi untuk model data lokal logikal

Tujuannya untuk membuat suatu relasi untuk model data lokal logikal yang

merepresentasikan suatu entitas, relasinya, dan juga atribut yang telah

diidentifikasi. Adapun pendeskripsian bagaimana relasi dapat diturunkan dari

struktur data model yang ada, antara lain:

28

(1) Tipe entitas kuat

(2) Tipe entitas lemah

(3) One-to-many (1:*) tipe relasi binary

(4) One-to-one (1:1) tipe relasi binary

(5) One-to-one (1:1) relasi rekursif

(6) Superclass / subclass tipe relasi

(7) Many-to-many tipe relasi binary

(8) Tipe Relasi kompleks

(9) Atribut multi-valued.

Langkah 2.3 Memvalidasi relasi dengan normalisasi

Tujuannya untuk memvalidasi relasi dalam model data lokal logikal dengan

menggunakan teknik dari normalisasi. Normalisasi adalah suatu teknik untuk

menghasilkan himpunan relasi dengan property yang diinginkan berdasarkan

kebutuhan-kebutuhan data suatu organisasi (Connoly, 2005, p388). Tingkatan

normalisasi yang digunakan dalam penulisan ada 3 tahap yaitu:

• First Normal Form (1NF)

• Second Normal Form (2NF)

• Third Normal Form (3NF)

Langkah 2.4 Memvalidasi relasi dengan transaksi user

Tujuannya untuk memastikan bahwa relasi di dalam model data lokal logikal

mendukung transaksi yang diminta oleh view. Pada langkah ini, pengecekan

bahwa relasi yang dibuat di langkah sebelumnya juga mendukung transaksi ini,

dan juga pastikan bahwa tidak ada error dalam relasi yang telah dibuat.

29

Langkah 2.5 Mendefinisikan batasan-batasan integritas

Tujuannya untuk mendefinisikan batasan-batasan integritas yang ada pada view.

Dalam hal ini ada 5 tipe dari batasan-batasan integritas, antara lain:

(1) Data yang diminta

(2) Domain pembatas atribut

(3) Integritas entitas

(4) Integritas referensi

(5) Pembatas enterprise

Langkah 2.6 Me-review model data lokal logikal dengan user

Tujuannya untuk memastikan bahwa model data lokal logikal dan membuat

dokumentasi yang mendeskripsikan model tersebut sebagai representasi yang

sesuai dengan keadaan sebenarnya.

Langkah 3 Membangun dan memvalidasi model data logikal global

Tujuannya untuk mengkombinasikan suatu individual model data lokal logikal ke

dalam suatu model data logikal global yang menggambarkan suatu perusahaan.

Langkah 3.1 Menggabungkan model data lokal logikal menjadi global model

Tujuannya untuk menggabungkan suatu model data lokal logikal ke dalam suatu

model data logikal global dari suatu perusahaan. Beberapa tugas dari pendekatan

ini adalah sebagai berikut:

(1) Me-review nama dan isi dari suatu entitas / relasi dan candidate key

(2) Me-review nama dan isi dari relasi / foreign key

(3) Menggabungkan entitas / relasi dari lokal data model

30

(4) Memasukkan (tanpa penggabungan) entitas / relasi unik pada setiap lokal

data model

(5) Menggabungkan relasi / foreign key dari lokal data model

(6) Memasukkan (tanpa penggabungan) relasi / foreign key unik pada setiap

lokal data model

(7) Mengecek untuk entitas, relasi, foreign key yang hilang

(8) Mengecek foreign key

(9) Mengecek batasan integritas

(10) Membuat global ER / relasi diagram

(11) Meng-update dokumentasi.

Langkah 3.2 Memvalidasi model data logikal global

Tujuannya untuk memvalidasi relasi yang dibuat dari model data logikal global

dengan menggunakan teknik dari normalisasi dan juga memastikan bahwa relasi

yang dibuat mendukung transaksi.

Langkah 3.3 Mengecek untuk kemungkinan pengembangan di masa depan

Tujuannya untuk menentukan bagian mana yang kelihatannya akan berubah ke

masa depannya dan juga memperhatikan supaya model data logikal global dapat

mengakomodasi perubahan tersebut.

Langkah 3.4 Me-review model data logikal global dengan user

Tujuannya untuk memastikan bahwa model data logikal global itu memang

merepresentasikan enterprise yang ada.

Hasil akhir dari perancangan logikal basis data adalah merancang suatu

model informasi berdasarkan model data spesifik yang ada (seperti model

31

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 view, maka model data lokal logikal akan

dikombinasikan menjadi suatu model data logikal global yang merepresentasikan

semua view dari suatu perusahaan.

2.1.2.3 Perancangan Basis Data Fisikal

Pengertian dari perancangan basis data fisikal menurut Connolly dan Begg

(2002, p478) ”The process of producing a description of the implementation of the

database on secondary storage; it describes the base relations, file organization,

and indexes used to achieve efficient access to the data, and any associated

integrity constraints and security measures.” Yang artinya proses untuk

menghasilkan suatu deskripsi pengimplementasian dari suatu basis data pada

media penyimpanan secondary, yang juga akan mendeskripsikan dasar dari suatu

relasi, organisasi file, dan juga index yang digunakan untuk mencapai suatu

keefisienan pengaksesan data dan batasan-batasan integritas serta ukuran

keamanan.

Langkah 4 Menerjemahkan Model data logikal global sesuai DBMS yang

dipakai

Tujuannya adalah untuk membuat suatu skema relasional basis data dari model

data logikal global yang dapat diimplementasikan ke DBMS yang dipakai.

Langkah 4.1 Merancang relasi dasar

Tujuannya untuk memutuskan bagaimana merepresentasikan relasi dasar yang

diidentifikasi dalam model data logikal global pada DBMS yang dipakai.

32

Langkah 4.2 Merancang Represantasi Data Turunan

Tujuannya untuk memutuskan bagaimana merepresentasikan suatu data turunan

pada model data logikal global pada DBMS yang dipakai.

Langkah 4.3 Merancang Batasan Perusahaan

Tujuannya untuk merancang batasan perusahaan untuk DBMS yang dipakai.

Langkah 5 Merancang Representasi Fisikal

Tujuannya untuk menentukan organisasi file yang paling optimal untuk

menyimpan relasi dasar dan indeks yang diminta untuk mencapai performance

yang diharapkan, yaitu dengan cara menyimpan berbagai relasi dan tuple pada

secondary storage.

Langkah 5.1 Menganalisa Transaksi

Tujuannya untuk mengerti fungsi dari suatu transaksi yang mana akan dijalankan

pada basisdata dan untuk menganalisa transaksi yang penting.

Langkah 5.2 Memilih Organisasi File

Tujuannya untuk menentukan organisasi file yang efisien untuk setiap relasional

data. Beberapa organisasi file yang ada diantaranya adalah Heap, Hash, Indexed

Sequential Access Method (ISAM), B+-tree, Clusters.

Langkah 5.3 Memilih Indeks

Tujuannya untuk menentukan apakah penambahan indeks akan meningkatkan

performansi dari suatu sistem.

Langkah 5.4 Mengestimasi Kapasitas Penyimpanan yang Dibutuhkan

Tujuannya untuk mengestimasi ukuran kapasitas disk yang diperlukan untuk

sistem basis data.

Langkah 6 Merancang tampilan Layar

33

Tujuannya untuk merancang tampilan user yang diidentifikasi selama

pengumpulan informasi dan analisis dari siklus hidup aplikasi sistem basis data.

Langkah 7 Merancang Mekanisme Keamanan

Tujuannya untuk merancang ukuran keamanan untuk basis data yang telah

dispesifikasi oleh user.

Hasil akhir dari perancangan fisikal basisdata adalah suatu proses yang

mendeskripsikan suatu implementasi dari suatu basis data pada media

penyimpanan. Ini mendeskripsikan suatu relasi dasar dan struktur penyimpanan

dan metode akses yang digunakan untuk mengakses data secara efektif, selama

batasan integritas dan ukuran keamanan.

2.2 Perancangan Aplikasi

Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak

bisa lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan

memperhatikan hal-hal seperti scalability, security, dan eksekusi yang robust

walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan

dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain

selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang

matang adalah dimungkinkannya penggunaan kembali modul atau komponen

untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama.

Pemodelan (modeling) adalah proses merancang piranti lunak sebelum

melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti

pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah

34

sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem

semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin

penting pula penggunaan teknik pemodelan yang baik.

Dengan menggunakan model, diharapkan pengembangan piranti lunak

dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk

faktor-faktor seperti scalability, robustness, security, dan sebagainya. Kesuksesan

suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang kemudian terkenal

dengan sebuan segitiga sukses (the triangle for success). Ketiga unsur tersebut

adalah metode pemodelan (notation), proses (process) dan tool yang digunakan.

2.2.1 Apa itu UML

Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah

menjadi standar dalam industri untuk visualisasi, merancang dan

mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk

merancang model sebuah sistem.

Dengan menggunakan UML kita dapat membuat model untuk semua jenis

aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras,

sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman

apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep

dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa - bahasa

berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML

tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

35

2.2.1.1 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan

“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor

dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke

sistem, meng- create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor

adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk

melakukan pekerjaan-pekerjaan tertentu.

Berikut ini merupakan contoh dari use case diagram:

Gambar 2.2 Use Case Diagram

36

2.2.1.2 Activity Diagram

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang

mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat

menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar

state adalah action dan sebagian besar transisi di- trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu activity diagram tidak

menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)

secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas

dari level atas secara umum.

Contoh Activity Diagram:

37

Gambar 2.3 Activity Diagram

2.2.1.3 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di

sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang

digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal

(waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau

rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event

untuk menghasilkan output tertentu. Diawali dari sesuatu yang men-trigger

38

aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan

output apa yang dihasilkan.

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message

digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase

desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.

Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali

dengan diterimanya sebuah message.

2.3 Metode Agile Development Approach (ADA) dan Extreme Programming

Dalam Agile Software Development interaksi dan personel lebih penting

dari pada proses dan alat, software yang berfungsi lebih penting daripada

dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada

negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada

mengikuti rencana. Namun demikian, sama seperti model proses yang lain, Agile

Software Development memiliki kelebihan dan tidak cocok untuk semua jenis

proyek, produk, orang dan situasi. Agile Software Development memungkinkan

model proses yang toleransi terhadap perubahan kebutuhan sehingga perubahan

dapat cepat ditanggapi. Namun di sisi lain menyebabkan produktifitas menurun.

2.3.1 Prinsip Agile Software Development

Salah satu ciri dari Agile Software Development adalah tim yang tanggap

terhadap perubahan. Karena perubahan adalah hal yang utama dalam

pembangunan software: perubahan kebutuhan software, perubahan anggota tim,

perubahan teknologi dll. Selain itu Agile Software Development juga melihat

39

pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan

businessmen, antara developer dan managernya. Ciri lain adalah klien menjadi

bagian dari tim pembangun software. Ciri-ciri ini didukung oleh 12 prinsip yang

ditetapkan oleh Agile Alliance.

Menurut Agile Alliance, 12 prinsip ini adalah bagi mereka yang ingin

berhasil dalam penerapan Agile Software Development:

1. Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih

awal dan terus menerus

2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.

3. Penyerahan hasil/software dalam hitungan waktu dua minggu sampai dua

bulan.

4. Bagian bisnis dan pembangun kerja sama tiap hari selama proyek berlangsung

5. Membangun proyek di lingkungan orang-orang yang bermotivasi tinggi yang

bekerja dalam lingkungan yang mendukung dan yang dipercaya untuk dapat

menyelesaikan proyek.

6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan

efisien

7. Software yang berfungsi adalah ukuran utama dari kemajuan proyek

8. Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan

untuk menjaga perkembangan yang berkesinambungan

9. Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat

agile

10. Kesederhanaan penting

40

11. Arsitektur, kebutuhan dan desain yang bagus muncul dari tim yang mengatur

dirinya sendiri

12. Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan

segera melakukannya.

Kedua belas prinsip tersebut menjadi suatu dasar bagi model-model proses

yang punya sifat agile. Dengan prinsip-prinsip tersebur Agile Process Model

berusaha untuk menyiasati 3 asumsi penting tentang proyek software pada

umumnya:

1. Kebutuhan software sulit diprediksi dari awal dan selalu akan berubah. Selain

itu, prioritas klien juga sering berubah seiring berjalannya proyek.

2. Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan seberapa

jauh desain yang diperlukan sebelum pembangunan.

3. Analisis, desain, pembangunan dan testing tidak dapat diperkirakan seperti

yang diinginkan.

2.3.2 Faktor Manusia Pada Agile Process Model

Kunci faktor manusia pada model ini adalah proses didasari pada

kebutuhan orang dan tim bukan sebaliknya, Untuk dapat sukses menerapkan

model proses ini, pada faktor manusia ada beberapa kunci penting:

1. Kompetensi: ketrampilan dalam membangun dan pengetahuan tentang proses

membangun

2. Fokus: memiliki fokus yang sama sekalipun peran dalam tim berbeda

3. Kolaborasi: kerja sama dengan klien, anggota tim dan manajer.

41

4. Kemampuan ambil keputusan: tim pembangun memiliki otonomi dalam

pengambilan keputusan terkait teknis dan proyek

5. Kemampuan fuzzy problem-solving: mampu menyelesaikan memilah masalah

yang penting untuk dipecahkan segera atau nanti.

6. Saling percaya dan hormat: kekompakan tim yang didukung oleh rasa percaya

dan saling menghargai satu sama lain.

7. Manajemen diri: tim mengatur diri untuk selesaikan proyek, mengatur proses

untuk disesuaikan dengan lingkungannya, tim menjadwal dirinya untuk

menyerahkan hasil.

Berdasarkan pada semua metode ADA ini, perhatian tertuju pada keluaran

atau hasil dari proses pengembangan software, pengerjaan software, dan

memaksimalkan nilai untuk klien. Metode ADA ini dapat didefiniskan sebagai

aturan yang berorientasi pada penggunaan manusia dan komunikasi dalam

hubungannya dengan aturan prosedur proyek dan sifatnya yang ringan namun

sesuai. Keempat aturan tersebut adalah:

1. Individu dan interaksi manusia daripada proses dan peralatan

2. Pengerjaan software daripada dokumentasi umum

3. Kolaborasi konsumen daripada negosiasi kontrak

4. Respon kepada perubahan daripada mengikuti sebuah rencana (Agile

Manifesto, 2003)

Perhatian pada komunikasi dan moral dari para programmer merupakan

hal yang biasa dalam semua metode ADA. Menurut Conrad (2000), metode ADA

berfokus pada orang sebagai pengendali utama pada kesuksesan perkembangan.

42

Kemudian berikutnya, fokus dari prinsip kunci dari salah satu metode

ADA, Extreme Programming, yang pertama kali diperkenalkan Kent Beck

(1999). Menurut Beck (1999, p.15), “XP adalah sebuah metodologi yang ringan

untuk team pengembangan software yang berukuran kecil sampai sedang yang

berhadapan dengan kebutuhan yang berubah-ubah dengan sangat cepat dan

kurang jelas” dan “XP merupakan sebuah cara yang menyenangkan, ringan,

efisien, beresiko rendah, fleksibel, terprediksi, scientific untuk mengembangkan

software” (p.17).

XP mengalamatkan resiko dan nilai dari software dalam segala tingkat

dari proses pengembangan. Menurut Beck, konsumen (atau manager) dapat

memilih tiga dari empat variabel pengendali (Biaya, waktu, kualitas dan

jangkauan) dan team pengembang yang menentukan variabel keempat. Orang

teknik akan bertanggungjawab pada perkiraan kerja, konsekuensi teknis dari

keputusan bisnis, proses pengembangan dan detil jadwal rilis.

Dalam XP, biaya, waktu dan kualitas dari sebuah komponen berdasarkan

pada variabel kendali tetap yang ditetapkan oleh kostumer dan manager. Dalam

batasan ini, team pengembang berfokus pada jangkauan variabel perkembangan

yaitu pada bagian fungsionalitas. Strategi programming XP adalah untuk menjaga

agar kode mudah dimodifikasi (Beck, 1999).

12 Prinsip atau aturan dari metodologi XP adalah planning, small release,

metaphor, simple design, testing, refactoring, pair programming, kepemilikan

collective, integrasi berkesinambungan, standar coding, berhubungan dengan

konsumen, dan 40 jam kerja seminggu (Beck, 1999).

43

Gambar 2.4 Langkah-langkah Extreme Programming

• Aktifitas Perencanaan : pengumpulan user stories dari klien yang klien

tetapkan prioritasnya. Setiap story ditetapkan harga dan lama pembangunan,

jika terlalu besar, story dapat dipecah menjadi beberapa story yang lebih kecil.

Periksa dan pertimbangkan resiko

• Aktifitas Desain: berprinsip: sederhana. Memanfaatkan kartu CRC (Class-

Responsibility-Collaborator) untuk identifikasi dan mengatur class-class di

konsep OO. Jika temui kesulitan, prototype dibangun [ini namanya spike

solution]. Lakukan refactoring, yaitu mengembangkan desain dari program

setelah ditulis

44

• Aktifitas Pengkodean: siapkan unit test sebelum pengkodean dipakai sebagai

focus pemrogram untuk membuat program. Pair programming dilakukan

untuk real time program solving dan real time quality assurance

• Aktifitas Pengujian: menggunakan unit test yang dipersiapkan sebelum

pengkodean.

2.3.3 Perbandingan Dengan Metode Lainnya

Metode-metode agile terkadang dicirikan sebagai sesuatu yang

bertentangan dari metode-metode yang sudah tertata atau teratur. Perbedaan ini

membawa kepada suatu kesimpulan bahwa metode-metode agile tidak teratur.

Perbedaan lebih jelasnya bahwa metode-metode tersebut terdiri dari sebuah

rangkaian kesatuan dari ”adaptive” menuju ”predictive”. Metode-metode agile

berada pada sisi ”adaptive” dari rangkaian kesatuan ini.

Metode Adaptive berfokus pada adaptasi yang secara cepat mengikuti

perubahan keadaan yang terjadi. Ketika kebutuhan akan sebuah proyek berubah,

sebuah kelompok yang beradaptasi juga harus berubah. Kelompok yang

beradaptasi akan mendapat kesulitan menggambarkan dengan tepat apa yang akan

terjadi di masa yang akan datang. Semakin jauh tanggal yang ditetapkan, semakin

semu sebuah metode adaptive akan hal-hal yang akan terjadi di masa yang akan

datang. Sebuah kelompok adaptive dapat melaporkan dengan tepat tugas-tugas

yang dapat diselesaikan minggu berikutnya, tetapi hanya fitur-fitur yang sudah

direncanakan untuk bulan berikutnya.

45

Predictive methods, in contrast, focus on planning the future in detail. A

predictive team can report exactly what features and tasks are planned for the

entire length of the development process. Predictive teams have difficulty

changing direction. The plan is typically optimized for the original destination and

changing direction can cause completed work to be thrown away and done over

differently. Predictive teams will often institute a change control board to ensure

that only the most valuable changes are considered.

Sebaliknya, metode-metode predictive, berfokus pada perencanaan detil di

masa yang akan dating. Sebuah kelompok predictive dapat melaporkan dengan

pasti fitur-fitur dan tugas-tugas yang direncanakan untuk keseluruhan waktu

proses pengembangan. Kelompok-kelompok predictive mempunyai kesulitan

dalam mengubah arah. Sebuah rencana secara khusus dioptimasi untuk tujuan

awal dan perubahan arah dapat menyebabkan pekerjaan yang sudah diselesaikan

dapat terbuang sia-sia dan selesai berbeda dari yang diharapkan. Kelompok

predictive akan sering mengadakan sebuah kendali perubahan untuk memastikan

bahwa hanya perubahan yang paling bernilai yang akan dipertimbangkan.

Metode-metode agile mempunyai banyak persamaan dengan teknik Rapid

Application Development.

Berbeda dengan model waterfall (Model SDLC)

Pengembangan agile mempunyai sedikit kesamaan dengan model

waterfall. Pada saat sekarang ini, model waterfall masih tetap menjadi kesukaan

untuk digunakan pengembang. Model waterfall merupakan metode paling

terstruktur, dengan langkah-langkah seperti pengumpulan kebutuhan, analisis,

46

desain, pengkodean dan testing dalam sebuah rangkaian yang terencana dengan

seksama.

Masalah utama dari model waterfall adalah ketidakleluasaan divis dari

sebuah proyek ke dalam tahap-tahap yang terpisah, sehingga komitmen dibuat

pada awalnya, dan membuatnya menjadi sulit untuk bereaksi terhadap perubahan

kebutuhan. Pengulangan-pengulangan berarti biaya yang mahal. Hal ini berarti

model waterfall tidak sesuai jika kebutuhan-kebutuhan tidak dapat dimengerti atau

jika ingin ada perubahan di saat pengembangan proyek.

Sebaliknya, metode agile menghasilkan fitur-fitur yang dikembangkan dan

teruji setiap beberapa mingu (untuk subset yang kecil). Tekanannya yaitu untuk

mendapatkan potongan terkecil yang berfungsi untuk mengantarkan bisnis yang

lebih baik, dan terus mengembangkannya dan menambahkan fungsionalitas lebih

jauh ke dalam sebuah proyek.

2.4 Manajemen Persediaan

Manajemen persediaan merupakan hal yang mendasar dalam penetapan

keunggulan kompetatif jangka panjang. Mutu, rekayasa, produk, harga, lembur,

kapasitas berlebih, kemampuan merespon pelanggan akibat kinerja kurang baik,

waktu tenggang (lead time) dan profitabilitas keseluruhan adalah hal-hal yang

dipengaruhi oleh tingkat persediaan. Perusahaan dengan tingkat persediaan yang

lebih tinggi daripada pesaing cenderung berada dalam posisi kompetitif yang

lemah. Kebijaksanaan manajemen persediaan telah menjadi sebuah senjata untuk

memenangkan kompetitif.

Pada perusahaan manufaktur, persediaan terdiri dari persediaan bahan baku,

47

barang dalam proses dan persediaan barang jadi. Manajemen persediaan yang akan

dibahas disini lebih difokuskan pada manajemen persediaan bahan baku.

Manajemen persediaan bahan baku bertujuan agar tingkat persediaan bahan baku

cukup, tidak terlalu banyak tetapi tidak terlalu sedikit, sehingga biaya bahan baku

ekonomis dan perusahaan tidak kehilangan kesempatan untuk melayani penjualan

karena kurangnya persediaan bahan baku.

Terdapat empat kelompok biaya yang mempengaruhi harga pokok

persediaan bahan baku, yaitu :

1. Harga Faktur.

Harga faktur adalah harga yang disetujui antara perusahaan dengan

pemasoknya. Potongan pembelian akan mengurangi harga faktur, sedangkan

biaya angkut yang ditanggung perusahaan diperlakukan sebagai tambahan harga

faktur.

2. Biaya Pemesan Bahan Baku.

Biaya ini disebut juga procurement cost atau ordering cost yaitu biaya

yang dikeluarkan dalam melaksanakan pembelian bahan baku.

Biaya ini dikelompokkan menjadi 2 yaitu :

a. Biaya Pemesan Tetap

b. Biaya Pemesan Variabel

3. Biaya Penyimpan Bahan Baku.

Biaya ini disebut juga storage cost atau carrying cost yaitu biaya yang

dikeluarkan dalam melaksanakan kegiatan penyimpanan bahan agar siap

dipakai di dalam kegiatan produksi.

Biaya ini dikelompokkan menjadi dua yaitu :

48

a. Biaya Penyimpanan Tetap

b. BiayaPenyimpanan Variabel

4. Biaya Ketidakcukupan Persediaan.

Biaya ini timbul akibat adanya persediaan bahan baku yang tidak

mencukupi untuk memenuhi kebutuhan produksi. Biaya ini meliputi : kerugian

hilangnya penjualan, tambahan biaya angkut karena dibeli secara mendadak,

tuntutan dari pelanggan karena keterlambatan, dan tambahan biaya karena tidak

teraturnya proses produksi.

Laba yang maksimal dapat dicapai dengan meminimalkan biaya yang

berkaitan dengan persediaan. Namun meminimalkan biaya persiapan dapat dicapai

dengan memesan atau memproduksi dalam jumlah yang kecil, sedangkan untuk

meminimalkan biaya pemesanan dapat dicapai dengan melakukan pesanan yang

besar dan jarang. Jadi meminimalkan biaya penyimpanan mendorong jumlah

persediaan yang sedikit atau tidak ada, sedangkan meminimalkan biaya pemesanan

harus dilakukan dengan melakukan pemesanan persediaan dalam jumlah yang

relatif besar, sehingga mendorong jumlah persediaan yang besar.

Alasan yang kedua yang mendorong perusahaan menyimpan persediaan

dalam jumlah yang relatif besar adalah masalah ketidakpastian permintaan. Jika

permintaan akan bahan atau produk lebih besar dari yang diperkirakan, maka

persediaan dapat berfungsi sebagai penyangga, yang memberikan perusahaan

kemampuan untuk memenuhi tanggal penyerahan sehingga pelanggan merasa

puas.

Secara umum alasan untuk memiliki persediaan adalah sebagai berikut:

49

1. Untuk menyeimbangkan biaya pemesanan atau persiapan dan biaya

penyimpanan.

2. Untuk memenuhi permintaan pelanggan, misalnya menepati tanggal

pengiriman.

3. Untuk menghindari penutupan fasilitas manufaktur akibat:

a. Kerusakan mesin

b. Kerusakan komponen

c. Tidak tersedianya komponen

d. Pengiriman komponen yang terlambat

4. Untuk menyanggah proses produksi yang tidak dapat diandalkan.

5. Untuk memanfaatkan diskon

6. Untuk menghadapi kenaikan harga di masa yang akan datang.

2.4.1 Economic Order Quantity

Biaya pemesan variabel dan biaya penyimpanan variabel mempunyai

hubungan terbalik, yaitu semakin tinggi frekuensi pemesanan, maka semakin

rendah biaya penyimpanan variabel. Agar biaya pemesanan variabel dan biaya

penyimpanan variabel dapat ditekan serendah mungkin, maka perlu dicari jumlah

pembelian yang

paling ekonomis, yaitu dengan rumus :

2 A S EOQ = ---------------

C P EOQ = Economic Order Quantity

A = Kebutuhan Bahan Baku untuk Tahun yang akan datang

50

S = Biaya pemesanan variabel setiap kali pemesanan

C = Biaya/unit, harga faktur dan biaya angkut/unit yang dibeli

P = Biaya penyimpanan variabel yang dihitung berdasarkan % dari C

2.4.2 Reorder Point

Agar pembelian bahan yang sudah ditetapkan dalam EOQ tidak

mengganggu kelancaran kegiatan produksi, maka diperlukan waktu pemesanan

kembali bahan baku. Faktor-faktor yang mempengaruhi titik pemesanan kembali

adalah :

1. Lead Time

Lead time adalah waktu yang dibutuhkan antara bahan baku dipesan hingga

sampai diperusahaan. Lead time ini akan mempengaruhi besarnya bahan baku

yang digunakan selama masa lead time, semakin lama lead time maka akan

semakin besar bahan yang diperlukan selama masa lead time.

2. Tingkat pemakaian bahan baku rata-rata persatuan waktu tertentu.

3. Persediaan Pengaman (Safety Stock)

Yaitu jumlah persediaan bahan minimum yang harus dimiliki oleh perusahaan

untuk menjaga kemungkinan keterlambatan datangnya bahan baku, sehingga

tidak terjadi stagnasi.

Dari ketiga faktor di atas, maka reorder point dapat dicari dengan rumus berikut

ini:

Reorder Point = (LD x AU) + SS

LD = Lead Time

AU = Average Usage = Pemakaian rata-rata

51

SS = Safety Stock

2.4.3 Safety Stock

Untuk menaksir besarnya safety stock, dapat dipakai cara yang relatif lebih

teliti yaitu dengan metode sebagai berikut :

1. Metode Perbedaan Pemakaian Maksimum dan Rata-Rata.

Metode ini dilakukan dengan menghitung selisih antara pemakaian maksimum

dengan pemakaian rata-rata dalam jangka waktu tertentu (misalnya

perminggu), kemudian selisih tersebut dikalikan dengan lead time.

Safety Stock = (Pemakaian Maksimum – Pemakaian Rata-Rata) Lead Time

2. Metode Statistika.

Untuk menentukan besarnya safety stock dengan metode ini, maka dapat

digunakan program komputer kuadrat terkecil (least square).

2.5 Manajemen Produksi

Pengertian produksi dapat diartikan sebagai usaha untuk menciptakan atau

menambah fedah ekonomi suatu benda dengan tujuan untuk memenuhi kebutuhan

manusia. Sedangkan orang, badan usaha, atau organisasi yang menghasilkan

barang dan jasa disebut produsen.

Tujuan dari produksi adalah untuk memenuhi kebutuhan manusia dalam

usaha mencapai kemakmuran. Kemakmuran akan tercapai bila konsumen memiliki

daya beli yang cukup tinggi dan barang/jasa yang diperlukan tersedia cukup untuk

memenuhi kebutuhan.

52

Di dalam suatu proses produksi ada hal-hal yang harus diperhatikan,

diantaranya:

• komposisi input yang bagaimana yang harus digunakan? bagaimana

proses produksi berlangsung agar tingkat produksi maksimal?

• komposisi input yang bagaimana yang harus digunakan? bagaimana

proses produksi dilaksanakan agar biaya produksi serendah

mungkin?

Gambar 2.5 Alur Proses Produksi

2.5.1 Faktor Produksi

Faktor produksi asli adalah faktor produksi yang tidak dapat diperbaharui

dan sudah tersedia. Faktor produksi turunan adalah hasil penggabungan dari faktor

produksi asli yang merupakan perkembangan kebudayaan dan pengetahuan

manusia.

Dalam ilmu ekonomi, faktor produksi adalah sumber daya yang digunakan

dalam sebuah proses produksi barang dan jasa. Pada awalnya, faktor produksi

dibagi menjadi empat kelompok, yaitu tenaga kerja, modal, sumber daya alam, dan

53

kewirausahaan. Namun pada perkembangannya, faktor sumber daya alam diperluas

cakupannya menjadi seluruh benda tangible, baik langsung dari alam maupun

tidak, yang digunakan oleh perusahaan, yang kemudian disebut sebagai faktor fisik

(physical resources). Selain itu, beberapa ahli juga menganggap sumber daya

informasi sebagai sebuah faktor produksi mengingat semakin pentingnya peran

informasi di era globalisasi ini. Secara total, saat ini ada lima hal yang dianggap

sebagai faktor produksi, yaitu tenaga kerja (labor), modal (capital), sumber daya

fisik (physical resources), kewirausahaan (entrepreneurship), dan sumber daya

informasi (information resources).

a. Sumber Daya Fisik

Faktor produksi fisik ialah semua kekayaan yang terdapat di alam semesta

dan barang mentah lainnya yang dapat digunakan dalam proses produksi. Faktor

yang termasuk di dalamnya adalah tanah, air, dan bahan mentah (raw material).

b. Tenaga Kerja

Tenaga kerja merupakan faktor produksi insani yang secara langsung

maupun tidak langsung menjalankan kegiatan produksi. Faktor produksi tenaga

kerja juga dikategorikan sebagai faktor produksi asli. Dalam faktor produksi tenaga

kerja, terkandung unsur fisik, pikiran, serta kemampuan yang dimiliki oleh tenaga

kerja. Oleh karena itu, tenaga kerja dapat dikelompokan berdasarkan kualitas

(kemampuan dan keahlian) dan berdasarkan sifat kerjanya.

54

Berdasarkan kualitasnya, tenaga kerja dapat dibagi menjadi tenaga kerja

terdidik, tenaga kerja terampil, dan tenaga kerja tidak terdidik dan tidak terlatih.

Tenaga kerja terdidik adalah tenaga kerja yang memerlukan pendidikan tertentu

sehingga memiliki keahlian di bidangnya, misalnya dokter, insinyur, akuntan, dan

ahli hukum. Tenaga kerja terampil adalah tenaga kerja yang memerlukan kursus

atau latihan bidang-bidang keterampilan tertentu sehingga terampil di bidangnya.

Misalnya tukang listrik, montir, tukang las, dan sopir. Sementara itu, tenaga kerja

tidak terdidik dan tidak terlatih adalah tenaga kerja yang tidak membutuhkan

pendidikan dan latihan dalam menjalankan pekerjaannya. Misalnya tukang sapu,

pemulung, dan lain-lain.

Berdasarkan sifat kerjanya, tenaga kerja dibagi menjadi tenaga kerja rohani

dan tenaga kerja jasmani. Tenaga kerja rohani adalah tenaga kerja yang

menggunakan pikiran, rasa, dan karsa. Misalnya guru, editor, konsultan, dan

pengacara. Sementara itu, tenaga kerja jasmani adalah tenaga kerja yang

menggunakan kekuatan fisik dalam kegiatan produksi. Misalnya tukang las,

pengayuh becak, dan sopir.

c. Modal

Yang dimaksud dengan modal adalah barang-barang atau peralatan yang

dapat digunakan untuk melakukan proses produksi. Modal dapat digolongkan

berdasarkan sumbernya, bentuknya, berdasarkan pemilikan, serta berdasarkan

sifatnya. Berdasarkan sumbernya, modal dapat dibagi menjadi dua: modal sendiri

dan modal asing. Modal sendiri adalah modal yang berasal dari dalam perusahaan

55

sendiri. Misalnya setoran dari pemilik perusahaan. Sementara itu, modal asing

adalah modal yang bersumber dari luar perusahaan. Misalnya modal yang berupa

pinjaman bank.

Berdasarkan bentuknya, modal dibagi menjadi modal konkret dan modal

abstrak. Modal konkret adalah modal yang dapat dilihat secara nyata dalam proses

produksi. Misalnya mesin, gedung, mobil, dan peralatan. Sedangkan yang

dimaksud dengan modal abstrak adalah modal yang tidak memiliki bentuk nyata,

tetapi mempunyai nilai bagi perusahaan. Misalnya hak paten, nama baik, dan hak

merek.

Berdasarkan pemilikannya, modal dibagi menjadi modal individu dan

modal masyarakat. Modal individu adalah modal yang sumbernya dari perorangan

dan hasilnya menjadi sumber pendapatan bagi pemiliknya. Contohnya adalah

rumah pribadi yang disewakan atau bunga tabungan di bank. Sedangkan yang

dimaksud dengan modal masyarakat adalah modal yang dimiliki oeleh pemerintah

dan digunakan untuk kepentingan umum dalam proses produksi. Contohnya adalah

rumah sakit umum milik pemerintah, jalan, jembatan, atau pelabuhan.

Terakhir, modal dibagi berdasarkan sifatnya: modal tetap dan modal lancar.

Modal tetap adalah jenis modal yang dapat digunakan secara berulang-ulang.

Misalnya mesin-mesin dan bangunan pabrik. Sementara itu, yang dimaksud

dengan modal lancar adalah modal yang habus digunakan dalam satu kali proses

produksi. Misalnya, bahan-bahan baku.

56

d. Kewirausahaan

Faktor kewirausahaan adalah keahlian atau keterampilan yang digunakan

seseorang dalam mengkoordinir faktor-faktor produksi untuk menghasilkan barang

dan jasa. Sebanyak dan sebagus apa pun faktor produksi alam, tenaga manusia,

serta modal yang dipergunakan dalam proses produksi, jika dikelola dengan tidak

baik, hasilnya tidak akan maksimal.

e. Sumber Daya Informasi

Sumber daya informasi adalah seluruh data yang dibutuhkan perusahaan

untuk menjalankan bisnisnya. Data ini bisa berupa ramalan kondisi pasar,

pengetahuan yang dimiliki oleh karyawan, dan data-data ekonomi lainnya.

2.5.2 Teori Produksi

Yang dimaksud dengan teori produksi adalah teori yang menjelaskan

hubungan antara tingkat produksi dengan jumlah faktor-faktor produksi dan hasil

penjualan outputnya.

Di dalam menganalisis teori produksi, kita mengenal 2 hal:

• produksi jangka pendek, yaitu bila sebagian faktor produksi

jumlahnya tetap dan yang lainnya berubah (misalnya jumlah modal

tetap, sedangkan tenaga kerja berubah).

57

• produksi jangka panjang, yaitu semua faktor produksi dapat berubah

dan ditambah sesuai kebutuhan.

2.5.3 Teori Nilai Guna

Di dalam teori produksi jangka pendek dikenal hukum hasil lebih yang

semakin berkurang (the law of diminishing marginal return), yaitu bila jumlah

tenaga kerja ditambah terus sedangkan lahan pertanian tidak bertambah, pada tahap

awal nilai tambah produksinya mengalami kenaikan tetapi pada tahap akhir nilai

tambahan produksinya mencapai negatif.

Contoh: Seorang petani memiliki 1 ha lahan pertanian, pada awalnya ia

mengerjakannya sendiri. Karena ia mempunyai 2 orang anak, maka lahan yang dia

miliki dia bagi dengan anak-anaknya. Jumlah pekerja yang mengerjakan lahan itu

memang bertambah, tetapi hasil yang diperolehpun harus dibagi dengan ke-2

anaknya itu. Demikian seterusnya, bila si anak memiliki anak lagi (yang berarti

cucunya), maka harus berbagi lagi dengan cucunya, begitu seterusnya.