Upload
nguyenkhuong
View
214
Download
0
Embed Size (px)
Citation preview
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.