BAB II LANDASAN TEORI
2.1.
Pengertian Sistem Informasi Manajemen 2.1.1. Pengertian sistem Menurut pandangan McLeod (2001, p11) sistem merupakan sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Semua sistem meliputi tiga elemen utama, yaitu: input, transformasi dan output. Menurut Cushing (1994, p16) sistem adalah suatu kesatuan (entity) yang terdiri dari dua atau lebih komponen atau subsistem yang terjalin satu sama lain untuk mencapai suatu tujuan. Dari pendapat tersebut dapat disimpulkan, sistem adalah satu kesatuan dari unsur – unsur atau prosedur yang saling berkaitan dalam suatu kegiatan yang dilakukan secara bersama – sama untuk mencapai suatu tujuan.
2.1.2. Pengertian Informasi Menurut Cushing (1994, p2) informasi menunjuk pada output yang telah diproses dan diorganisasikan sehingga mempunyai arti dan berguna bagi orang yang menerimanya. Sumber dari informasi adalah data yang merupakan kenyataan yang diterima sebagai suatu input bagi suatu sistem informasi. Menurut McLeod (2001, p15) informasi adalah data yang telah diproses atau data yang memiliki arti. Sedangkan data itu sendiri McLeod 9
mengatakan: Data terdiri dari fakta – fakta dan angka – angka yang secara relatif tidak berarti bagi pemakai. Dimensi – dimensi informasi menurut McLeod (2001. p145): 1. Relevansi Informasi mempunyai relevansi jika berkaitan langsung dengan masalah yang ada manajer harus mampu memilih informasi yang diperlukan tanpa membaca selisih informasi mengenai subyek – subyek lain 2. Akurasi Idealnya semua informasi harus akurat, tetapi peningkatan ketelitian sistem menambah biaya. Karena alasan tersebut manajer terpaksa menerima ketelitian yang kurang sempurna. Berbagai aplikasi yang melibatkan uang, seperti pembayaran gaji, penagihan, dan piutang menuntut ketelitian 100%. Beberapa aplikasi lain, seperti ramalan ekonomi jangka panjang dan laporan statistik, sering dapat tetapi berguna jika datanya mengandung sedikit kesalahan 3. Ketepatan waktu Informasi harus tersedia untuk pemecahan masalah sebelum situasi kritis menjadi tidak terkendali atau kesempatan menghilang. Manajer harus mampu memperoleh informasi yang menggambarkan apa yang sedang terjadi sekarang, selain apa yang telah terjadi di masa lampau 4. Kelengkapan Manajer harus mampu memperoleh informasi yang menyajikan gambaran lengkap dari suatu permasalahan atau suatu penyelesaian. Namun 10
rancangan sistem seharusnya tidak menenggelamkan manajer dalam lautan informasi. Istilah kelebihan informasi (information overload) mengakui bahaya dari informasi yang terlalu banyak. Manajer harus mampu menentukan jumlah rincian yang diperlukan. Dari definisi di atas, dapat disimpulkan bahwa informasi merupakan hasil pemrosesan data yang bertujuan untuk menghasilkan output yang
mempunyai
arti
sehingga
bermanfaat
bagi
penerima
dalam
menerjemahkan arti dan mengambil kesimpulan.
2.1.3. Pengertian Sistem Informasi Menurut Cushing (1994, p6) sistem informasi adalah sistem yang mengumpulkan, memasukkan, memproses dan menyimpan data – data, memanajemen, mengontrol dan melaporkan informasi sehingga suatu organisasi dapat mencapai tujuannya Menurut McLeod (2001, p30) sistem informasi adalah suatu sistem dalam suatu organisasi yang mempertemukan kebutuhan pengelolaan transaksi harian, mendukung operasi, bersifat manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan – laporan yang dibutuhkan. Dari definisi diatas, dapat disimpulkan bahwa sistem informasi merupakan sekumpulan elemen yang berinteraksi dan dikoordinasikan untuk mengubah data menjadi informasi yang tepat dan akurat kepada pihak – pihak
11
tertentu agar dapat digunakan untuk mendukung pengambilan keputusan dalam suatu perusahaan.
Tujuan Sistem Informasi Tujuan sistem informasi menurut Cushing (1994, p329), adalah: 1. Kegunaan Sistem harus menghasilkan informasi yang tepat waktu dan releven untuk pengambilan keputusan manajemen dan personel operasi di dalam organisasi. 2. Ekonomis Semua bagian komponen sistem termasuk laporan – laporan, mesin – mesin dan lainnya harus menyumbangkan suatu nilai manfaat. 3. Kesederhanaan Sistem harus cukup sederhana sehingga struktur dan operasinya dapat dengan mudah dimengerti dan prosedurnya dapat diikuti. 4. Fleksibilitas Sistem harus cukup fleksibel untuk dapat menampung perubahan dan kepentingannya yang cukup beralasan dalam kondisi dimana sistem beroperasi atau dalam kebutuhan yang diwajibkan oleh organisasi. 5. Keandalan Output sistem harus mampunyai tingkat ketelitian tinggi dan sistem sendiri harus mampu beroperasi secara efektif sewaktu 12
komponen manusia tidak hadir atau pada saat komponen mesin tidak beroperasi. 6. Pelayanan Pelanggan Sistem harus memberikan pelayanan yang baik dan user friendly serta efisien kepada para pelanggan pada saat berhubungan dengan langganan perusahaan. 7. Kapasitas Sistem harus mempunyai kapasitas yang memadai untuk menangani perilaku – perilaku operasi puncak seperti halnya periode aktivitas normal.
2.1.4. Pengertian Sistem Informasi Manajemen Menurut McLeod dan schell yang diterjemahkan oleh Teguh, H (2004, p259) Sistem Informasi Manajemen (SIM) didefinisikan sebagai suatu sistem berbasis komputer yang menyediakan informasi bagi beberapa pemakai dengan kebutuhan yang serupa. Menurut Laudon dan Laudon (2004, p16) Management Information System combines the theoritical work of computer science, management science, and operation research with a practical orientation toward developing system solutions to real – world problems and managing information technology resources.
13
Menurut Turban et al. (2003, p33) Management Information System accessed, organized, sumarized, and displayed information for supporting routine decision making in the functional areas. Dari definisi - definisi diatas dapat disimpulkan bahwa sistem informasi manajemen adalah suatu sistem yang bertujuan untuk mengakses, mengorganisir, menyimpulkan dan memperlihatkan informasi bagi para pemakai dengan kebutuhan serupa di dalam suatu organisasiuntuk mendukung proses pengambilan keputusan pada area fungsional. Sistem informasi manajemen mengkombinasikan pekerjaan teoritis dan ilmu kompute, manajemen dan riset operasional dengan orientasi praktis ke arah solusi pembangunan yang berkaitan dengan masalah – riil dunia serta mengelola sumber daya teknologi informasi.
2.2.
Persediaan 2.2.1
Pengertian Persediaan Menurut Assauri (2004, p169) persediaan adalah suatu aktiva yang meliputi barang – barang milik perusahaan dengan maksud untuk dijual dalam suatu periode usaha yang normal, atau persediaan barang – barang yang masih dalam pengerjaan atau proses produksi, ataupun persediaan barang atau bahan baku yang menunggu penggunaannya dalam suatu proses produksi. Jadi persediaan merupakan sejumlah bahan – bahan atau barang – barang, parts yang disediakan dan bahan – bahan dalam proses yang terdapat dalam perusahaan untuk proses produksi, serta barang – barang jadi atau produk 14
yang disediakan untuk memenuhi permintaan dari komponen atau langganan setiap waktu. Secara praktis, semua hal atau barang – barang yang sifatnya berwujud, termasuk kelompok persediaan ini pada suatu saat atau saat lainnya. Menurut Standar Akuntansi Keuangan (2004, p14.1 – 14.2) persediaan adalah aktiva yang tersedia untuk dijual dalam kegiatan usaha normal; dalam proses produksi dan atau dalam perjalanan; atau dalam bentuk bahan atau perlengkapan (supplies) untuk digunakan dalam proses produksi atau pemberian jasa. Persediaan meliputi barang yang telah dibeli dan disimpan untuk dijual kembali. Persediaan juga mencakup barang jadi yang telah diproduksi, atau barang dalam penyelesaian yang sedang diproduksi perusahaan, dan termasuk bahan serta pelengkapan yang digunakan dalam proses produksi. Menurut Fess, Reeve, Niswonger and Warren (1999, p352), persediaan merupakan sejumlah bahan – bahan yang disediakan dan bahan – bahan dalam proses yang terdapat dalam perusahaan untuk proses produksi, serta barang – barang jadi, produksi yang disediakan untuk memenuhi permintaan dari konsumen atau langganan setiap waktu. Menurut Horngten (2002) persediaan adalah barang yang dimiliki untuk dijual dalam kegiatan normal perusahaan, serta untuk perusahaan manufaktur, barang – barang yang tengah diproduksi atau ditempatkan di dalam produksi.
15
Menurut Render, Heizer yang diterjemahkan oleh Kresnohadi Ariyoto (2001, p.314), persediaan merupakan salah satu aset yang paling mahal di banyak perusahaan, mencerminkan 40% dari total modal yang diinvestasikan. Dari definisi persediaan tersebut, maka dapat disimpulkan persediaan merupakan barang yang tersedia untuk dijual (barang dagangan atau barang jadi), barang masih dalam proses produksi untuk diselesaikan dan dijual (barang dalam proses pengolahan) dan barang yang akan dipergunakan untuk produksi barang jadi yang akan dijual (bahan baku dan bahan pembantu) dalam kegiatan usaha normal perusahaan.
2.2.2
Jenis Persediaan Menurut Assauri (2004, p170 - 172) persediaan yang terdapat dalam perusahaan dapat dibedakan menurut beberapa cara. Persediaan dapat dilihat dari fungsinya: •
Batch Stock atau Lot Inventory Persediaan yang muncul karena pembelian atau pembuatan barang dalam jumlah yang lebih besar daripada jumlah yang dibutuhkan pada waktu tertentu untuk mendapatkan potongan harga pembelian, biaya pengangkutan yang lebih murah per unitnya dan penghematan dalam biaya-biaya lainnya yang mungkin diperoleh.
•
Fluctuation Stock Persediaan yang diadakan untuk menghadapi fluktuasi permintaan konsumen yang tidak dapat diramalkan. Jadi apabila terdapat fluktuasi 16
permintaan yang sangat besar maka persediaan (fluctuation stock) yang dibutuhkan sangat besar pula untuk menjaga kemungkinan naik turunnya permintaan tersebut. •
Anticipation Stock Persediaan yang diadakan untuk menghadapi fluktuasi permintaan yang dapat diramalkan yaitu berdasarkan pola musiman yang terdapat dalam satu tahun dan untuk menghadapi penggunaan atau penjualan permintaan yang meningkat. Disamping itu anticipation stock dimaksudkan pula untuk menjaga kemungkinan sukarnya diperoleh bahan-bahan sehingga tidak mengganggu jalannya produksi atau menghindari kemacetan produksi.
Dilihat dari jenis dan posisi produk dalam urutan pengerjaan produk : •
Persediaan bahan baku (Raw Material Stock) Persediaan barang-barang berwujud yang digunakan dalam proses produksi yang dapat diperoleh dari sumber-sumber alam, dibeli dari supplier atau perusahaan yang menghasilkan bahan baku bagi perusahaan pabrik yang menggunakannya.
•
Persediaan bagian produk atau parts yang dibeli (purchase parts / komponen stock) Persediaan barang-barang yang terdiri dari parts yang diterima dari perusahaan lain, yang dapat secara langsung diassembling dengan parts lain, tanpa melalui proses 17
produksi sebelumnya. Jadi bentuk barang yang merupakan parts ini tidak mengalami perubahan dalam operasi. •
Persediaan bahan-bahan pembantu atau barang-barang perlengkapan (supplier stock) Persediaan barang-barang atau bahan-bahan yang diperlukan dalam proses produksi untuk membantu berhasilnya produksi atau yang dipergunakan dalam bekerjanya suatu perusahaan, tetapi tidak merupakan bagian atau komponen dari barang jadi.
•
Persediaan barang setengah jadi atau barang dalam proses (work in process / progress stock) Persediaan barang-barang yang keluar dari tiap-tiap bagian dalam satu pabrik atau bahan-bahan yang telah diolah menjadi suatu bentuk, tetapi lebih perlu diproses kembali untuk kemudian menjadi barang jadi. Tetapi mungkin saja barang setengah jadi suatu pabrik, merupakan barang jadi bagi pabrik lain karena proses produksinya memang hanya sampai disitu saja. Mungkin pula batang setengah jadi itu merupakan bahan baku bagi perusahaan lainnya yang akan memprosesnya menjadi barang jadi. Jadi pengertian dari barang setengah jadi atau barang dalam proses adalah merupakan barang-barang yang belum berupa barang jadi, akan tetapi masih merupakan proses lebih lanjut lagi di 18
pabrik sehingga menjadi barang jadi yang sudah siap untuk dijual kepada konsumen atau pelanggan. •
Persediaan barang jadi (finished goods stock) Persediaan barang-barang yang telah selesai diproses atau diolah dalam pabrik dan siap untuk dijual kepada pelanggan atau perusahaan lain. Jadi barang jadi ini merupakan produk selesai dan telah siap untuk dijual. Biaya-biaya yang meliputi pembuatan produk selesai ini terdiri dari biaya bahan baku, upah
buruh
langsung,
serta
biaya
overhead
yang
berhubungan dengan produk tersebut. Tipe Persediaan
Transaksi
Sistem dan prosedur yang bersangkutan
1. Persediaan produk
Produk selesai
Prosedur pencatatan harga pokok produk
jadi
diproduksi
jadi
Penjualan
Prosedur pencatatan harga pokok produk jadi yang dijual
Retur penjualan
Prosedur pencatatan harga pokok produk
Penghitungan fisik
jadi yang diterima kembali dari pembeli
persediaan
Sistem penghitungan fisik persediaan
2. Persediaan produk
Produk selesai
Prosedur pencatatan produk jadi
dalam proses
diproduksi
3. Persediaan bahan
Readjustment
Prosedur readjustment persediaan produk
Penghitungan fisik
dalam proses
persediaan
Sistem penghitungan fisik persediaan
Pembeliaan
Prosedur
baku
pencatatan
persediaan yang dibeli
19
harga
pokok
Prosedur
Retur pembelian
pencatatan
harga
pokok
persediaan yang dikembalikan sebagai pemasok Pemakaian barang
Prosedur permintaan dan pengeluaran
gudang (dicatat sebagai
barang gudang
biaya bahan baku) Pengembalian barang
Prosedur
pencatatan
tambahan
harga
gudang
pokok persediaan karena pengembalian barang gudang Sistem penghitungan fisik persediaan
Penghitungan fisik persediaan 4. Persediaan bahan
Prosedur
Pembeliaan
pencatatan
harga
pokok
harga
pokok
persediaan yang dibeli
penolong
Prosedur
Retur pembelian
pencatatan
persediaan yang dikembalikan sebagai pemasok Pemakaian barang
Prosedur permintaan dan pengeluaran
gudang (dicatat sebagai
barang gudang
biaya overhead pabrik sesungguhnya) Pengembalian barang
Prosedur
pencatatan
tambahan
harga
gudang
pokok persediaan karena pengembalian barang gudang Sistem penghitungan fisik persediaan
Penghitungan fisik persediaan 5. Persediaan bahan
Pembeliaan
Prosedur
habis pakai pabrik,
pencatatan
persediaan yang dibeli
20
harga
pokok
persediaan suku
Prosedur
Retur pembelian
pencatatan
harga
pokok
persediaan yang dikembalikan sebagai
cadang
pemasok Pemakaian barang
Prosedur permintaan dan pengeluaran
gudang (dicatat sebagai
barang gudang
biaya overhead pabrik sesungguhnya, biaya administrasi dan umum, biaya pemasaran) Pengembalian barang gudang Penghitungan fisik
Prosedur
pencatatan
tambahan
harga
persediaan
pokok persediaan karena pengembalian barang gudang Sistem penghitungan fisik persediaan
Tabel 2.1 Tipe Persediaan, Transaksi yang Mempengaruhi, Sistem dan Prosedur yang berlainan.
2.2.3
Biaya dalam Persediaan Menurut Assauri (2004, p172 - 173), unsur – unsur biaya yang terdapat dalam persediaan dan digolongkan menjadi 4 golongan, yaitu: 1. Biaya Pemesanan (ordering cost) Adalah biaya – biaya yang dikeluarkan berkenaan dengan pemesanan bahan – bahan atau barang – barang dari penjual, sejak dari pesanan (order) dibuat dan dikirim ke penjual, sampai bahan – bahan atau barang – barang tersebut dikirim dan diserahkan atau diinspeksi di 21
gudang atau didaerah pengolahan (process area). Besarnya biaya yang dikeluarkan tidak tergantung pada besarnya atau banyaknya bahan atau barang yang dipesan. Yang termasuk dalam biaya pemesanan ini adalah: 1) Biaya administrasi pembelian dan penempatan order (cost of placing order) 2) Biaya pengangkutan dan bongkar muat (shipping and handling cost) 3) Biaya penerimaan 4) Biaya pemeriksaan
2. Biaya yang terjadi dari adanya persediaan (inventory carrying cost) Adalah biaya – biaya yang meliputi seluruh pengeluaran akibat adanya sejumlah persediaan dan disebut juga dengan biaya mengadakan persediaan (stock holding cost). Biaya ini berhubungan dengan tingkat rata – rata persediaan yang selalu terdapat di gudang sehingga besarnya biaya ini bervariasi tergantung dari besar kecilnya rata – rata persediaan yang ada. Biasanya inventory carrying cost ditentukan sebagai suatu percentage (%) dari nilai uang dari persediaan tersebut per unitnya dalam satu tahun. Yang termasuk dalam biaya ini adalah: 1) Biaya pergudangan (storage cost) yang terdiri dari: i. Biaya sewa gudang 22
ii.
Biaya upah dan gaji tenaga pengawas dan pelaksana pergudangan
iii. Biaya peralatan material handling di gudang dan biaya lainnya 2) Biaya asuransi persediaan 3) Pajak kekayaan atas investasi dari persediaan rata – rata dalam satu tahun 4) Penghapusan dan resiko – resiko akibat persediaan ketinggalan jaman atau menjadi tua, mengalami kerusakan, kecurian dan penurunan
nilai
atau
harga
barang
dalam
persediaan
(depreciation and obselence) 5) Bunga atas modal yang diinvestasikan dalam inventory untuk mengganti biaya (cost of capital tied up) yang timbul karena hilangnya kesempatan untuk menggunakan modal tersebut dalam investasi lain (cost of forgone investment opportunity)
3. Biaya kekurangan persediaan (out of stock) Adalah biaya – biaya yang timbul akibat terjadinya persediaan yang lebih kecil daripada jumlah yang diperlukan, seperti kerugian atau biaya – biaya tambahan yang diperlukan karena seseorang pelanggan meminta atau memesan suatu barang, sedangkan barang yang dibutuhkan tidak tersedia selain daripada itu dapat pula merupakan
23
biaya – biaya yang timbul karena akibat pengiriman kembali pesanan (order) tersebut. 4. Biaya yang berhubungan dengan kapasitas (capacity associated costs) Adalah biaya – biaya yang terjadi karena adanya penambahan atau pengurangan kapasitas atau bila terlalu sedikitnya kapasitas yang digunakan pada suatu waktu tertentu, seperti: 1) Biaya kerja lembur 2) Biaya latihan 3) Biaya pemberhentian kerja 4) Biaya pengangguran (idle time)
2.2.4
Metode Penentuan Jumlah Persediaan Menurut Assauri (2004, p173), ada 2 sistem umum yang dikenal dalam menentukan jumlah persediaan pada akhir suatu periode, yaitu: 1) Periodic system, yaitu setiap akhir periode dilakukan perhitungan secara fisik dalam menentukan jumlah persediaan akhir 2) Perpetual system, atau disebut juga Book Inventories, yaitu dalam hal ini dibuat catatan administrasi persediaan. Setiap mutasi dari persediaan sebagai akibat dari pembelian atau penjualan dicatat atau dilihat dalam kartu administrasi persediaannya. Perhitungan secara fisik hanya dilakukan paling tidak setahun sekali yang biasanya dilakukan untuk keperluan counter checking antara 24
jumlah persediaan menurut fisik dengan menurut catatan dalam kartu administrasi persediaannya.
2.2.5
Persediaan Minimum (Minimum Stock) Menurut Assauri (2004, p195), persediaan minimum merupakan batas paling rendah atau kecil atas jumlah persediaan yang harus ada untuk suatu jenis bahan atau barang guna menghindari kemungkinan terjadinya kekurangan bahan atau barang persediaan (stock out). Dengan kata lain, persediaan minimum ini merupakan persediaan cadangan atau persediaan penyelamat (safety stock) untuk menjamin keselamatan operasi atau kelancaran produksi perusahaan.
2.2.6
Titik Pemesanan Kembali (Reorder Point) Menurut Assauri (2004, p196), titik pemesanan kembali adalah suatu titik atau batas dari jumlah persediaan yang ada pada suatu saat dimana pemesanan harus diadakan kembali. Dalam menentukan titik ini terlebih dahulu harus diperhatikan besarnya penggunaan barang selama barang yang dipesan belum datang dan persediaan minimum. Besarnya penggunaan barang selama barang yang dipesan belum datang ditentukan oleh dua faktor, yaitu lead time dan tingkat penggunaan rata – rata. Besarnya penggunaan barang selama barang yang dipesan belum diterima (selama lead time) merupakan hasil perkalian antara waktu yang dibutuhkan untuk memesan (lead time) dan jumlah penggunaan rata – rata bahan atau barang tersebut. Titik pemesanan 25
kembali merupakan hasil penjumlahan antara besarnya penggunaan barang selama barang yang dipesan belum diterima dengan besarnya persediaan minimum. Menurut Russell (2000, p609), ”the roerder point is the level of inventory at wich a new order should be placed”. Yaitu, titik pemesanan kembali adalah tingkat dari persediaan yang merupakan titik dimana pemesanan kembali harus dilakukan. R = d.L Dimana : R = titik pemesanan kembali (Reorder point) d = tingkat permintaan per periode (demand rate per period) L = jangka waktu pemesanan (lead time)
2.2.7
Perencanaan persediaan Menurut Keown, scott & Martin (2000, p736), persediaan sangat penting karena tanpa adanya persediaan para pengusaha akan dihadapkan pada resiko bahwa perusahaannya pada suatu waktu tidak dapat memenuhi keinginan pelanggan yang memerlukan atau meminta barang atau jasa yang dihasilkan. Persediaan dikatakan sangat penting bagi perusahaan, karena persediaan berguna untuk: 1. Menghilangkan resiko keterlambatan datangnya barang 26
2. Menghilangkan resiko dari produk yang dipesan tidak bagus atau rusak 3. Mempertahankan stabilitas operasi perusahaan atau menjamin kelancaran arus produksi. 4. Untuk menumpuk bahan – bahan yang dihasilkan secara minimum sehingga dapat dipergunakan bila bahan itu tidak ada dalam pasaran 5. Memberikan pelayanan kepada pelangggan dengan sebaik – baiknya, dimana keinginan langganan pada setiap waktu dapat terpenuhi atau memberi jaminan tetap tersedianya barang tersebut.
2.2.8
Manajemen Persediaan Menurut Keown, Scott & Martin (2000, p748), manajemen persediaan melibatkan kontrol asset yang digunakan dalam proses produksi atau diproduksi untuk dijual dalam kegiatan bisnis perusahaan biasa. Kategori umum persediaan termasuk dalam persediaan bahan baku, persediaan barang dalam proses dan persediaan barang jadi. Pentingnya manajemen persediaan bagi perusahaan tergantung investasi persediaan. Tujuan penyimpanan persediaan adalah untuk memisahkan operasi perusahaan artinya membuat masing – masing fungsi bisnis independen dari fungsi lain agar penundaan atau penghentian dalam suatu area tak mempengaruhi produksi dan penjualan produk akhir.
27
Tipe persediaan meliputi: 1. Persediaan bahan baku Persediaan bahan baku terdiri atas bahan baku dasar yang dibeli dari perusahaan lain untuk digunakan dalam operasi produksi perusahaan. Tanpa memperinci bentuk persediaan bahan baku, semua perusahaan manufaktur secara definisi menyimpan persediaan bahan baku dengan tujuan memisahkan fungsi produksi dari fungsi pembelian, artinya membuat kedua fungsi independen dari satu sama lain agar penundaan pengiriman bahan baku tidak menyebabkan penundaan produksi. 2. Persediaan barang dalam proses Persediaan barang dalam proses terdiri dari atas barang setengah jadi yang membutuhkan tambahan pekerjaan sebelum menjadi barang jadi. Tujuan persediaan barang dalam proses adalah memisahkan berbagai operasi dalam proses produksi agar kegagalan mesin dan penghentian pekerjaan dalam satu operasi takkan mempengaruhi operasi lain. 3. Persediaan barang jadi Persediaan Barang jadi terdiri atas barang yang telah selesai produksinya tiap belum dijual. Tujuan persediaan barang jadi adalah memisahkan fungsi produksi dan penjualan agar tidak perlu memproduksi barang sebelum penjualan terjadi , penjualan dapat dilakukan langsung dari persediaan itu.
28
2.2.9
Metode Penilaian Persediaan Menurut Assauri (2004) ada beberapa cara yang dapat digunakan untuk menilai suatu persediaan, diantaranya dengan: •
Cara First-In, First-Out (FIFO Method) Cara penilaian persediaan yang berdasarkan atas asumsi bahwa
harga barang yang sudah terjual dinilai menurut harga pembelian barang yang terdahulu masuk. Dengan demikian persediaan akhir dinilai menurut harga pembelian barang yang akhir masuk
•
Cara Rata-rata tertimbang (Weighted Average Method) Cara penilaian persediaan yang berdasarkan atas harga rata-rata
dimana harga tersebut dipengaruhi oleh jumlah barang yang diperoleh pada masing-masing harganya.
•
Cara Last-In, First-Out (LIFO Method) Cara penilaian persediaan berdasarkan atas asumsi bahwa
barang yang telah terjual dinilai menurut harga pembelian barang yang terakhir masuk. Sehingga persediaan yang masih ada atau stock dinilai berdasarkan harga pembelian barang yang terdahulu.
2.2.10 Pengawasan Persediaan Menurut Assauri (2004) “…suatu sistem pengawasan persediaan harus memenuhi persyaratan-persyaratan sebagai berikut: 29
•
Terdapatnya gudang yang cukup luas dan teratur dengan pengaturan tempat bahan atau barang yang tetap dan identifikasi bahan atau barang tertentu
•
Sentralisasi kekuasaan dan tanggung jawab pada satu orang orang yang dapat dipercaya, terutama penjaga gudang
•
Suatu sistem pencatatan dan pemeriksaan atas penerimaan bahan atau barang
•
Pengawasan mutlak atas pengeluaran bahan atau barang
•
Pencatatan yang cukup teliti yang menunjukkan jumlah yang dipesan, yang dibagikan atau dikeluarkan dan yang tersedia di dalam gudang
•
Pemeriksaan fisik bahan atau barang yang ada dalam persediaam secara langsung
•
Perencanaan untuk menggantikan barang-barang yang telah dikeluarkan, barang-barang yang telah lama dalam gudang, dan barang-barang yang sudah usang dan ketinggalan zaman.
•
Pengecekan untuk menjamin dapat efektifnya kegiatan rutin.” (h.176)
Menurut Wetson dan Brigham (1998) ”Kuantitas pesanan yang ekonomis atau economic ordering quantity (EOQ) adalah kuantitas persediaan yang optimal atau yang menyebabkan biaya persediaan mencapai titik terendah. Model EOQ adalah suatu rumus untuk menentukan kuantitas
30
pesanan yang akan meminimumkan biaya persediaan total.” (h. 508) Rumusnya :
EOQ =
2 (F)(S) (C)(P)
Keterangan : EOQ = kuantitas pesanan yang ekonomis, atau jumlah optimum yang harus dipesan setiap kali melakukan pemesanan. F
= biaya masuk untuk melakukan pemesanan dan menerima barang yang masuk
S
= pejualan tahunan dalam unit
C
= biaya penyimpangan yang dinyatakan sebagai suatu presentase atas nilai persediaan
P
= harga beli unit persediaan yang harus dibayar oleh perusahaan
2.2.11 Pengendalian Internal atas Persediaan Pengendalian internal atas persediaan merupakan hal yang sangat penting karena persediaan adalah bagian yang amat penting dari suatu perusahaan. Pengendalian internal yang baik adalah: 1.1.
perhitungan pengendalian fisik dilakukan paling tidak satu bulan sekali
31
1.2.
membuat prosedur penjualan dan pengiriman yang seefektif mungkin.
1.3.
menyimpan persediaan dengan baik untuk menghindarkan persediaan dari pencurian atau kerusakan
1.4.
membatasi akses persediaan pada orang yang tidak mempunyai akses pada pencatatan persediaan
1.5.
Stock opname tidak boleh dilakukan oleh bagian gudang untuk mencegah kecurangan yang dilakukan oleh bagian gudang.
2.3.
Pengertian Metode Analisis dan Desain Berorientasi Objek 2.3.1. Pengertian Object dan Class Menurut Mathiassen et al. (2000, p4), object adalah sebuah entity dengan identitas, state dan behavior. Setiap object tidak digambarkan secara sendiri - sendiri, melainkan istilah kelas digunakan untuk menggambarkan kumpulan-kumpulan objek – objek. Menurut Mathiassen et al. (2000,p4), class adalah sebuah deskripsi dari kumpulan object yang terstruktur, behavioral pattern, dan atribut.
Keuntungan dari OOAD adalah: •
menyediakan info yang jelas mengenai konteks sistem.
•
ada kaitan yang erat antara object-oriented analysis, objectoriented design, object-oriented user interface dan objectoriented programming. 32
Notasi standar yang digunakan dalam OOAD adalah UML (Unified Modeling Languange). UML digunakan hanya sebagai notasi dan bukan sebagai metode dalam melakukan modeling. Jadi dapat ditarik kesimpulan bahwa objek adalah sesuatu yang dapat dilihat, diesentuh, atau dapat dirasakan dimana user dapat menyimpan data dan dapat berasosiasi dengan behavior.
2.3.2. Rich Picture Mengacu pada Mathiassen et al (2000) rich picture adalah sebuah gambaran informal yang digunakan oleh pengembang sistem untuk menyatakan pemahaman mereka terhadap situasi dari sistem yang berlangsung. Rich picture juga dapat digunakan sebagai alat yang berguna untuk memfasilitasi komunikasi yang baik antara pengguna dalam sistem. Rich picture difokuskan pada aspek – aspek penting dari sistem tersebut, yang ditentukan sendiri oleh pengembang sistem dengan mengunjungi perusahaan untuk melihat bagaimana perusahaan tersebut beroperasi, berbicara dengan banyak orang untuk mengetahui apa yang harus terjadi atau seharusnya terjadi, dan mungkin melakukan beberapa wawancara formal.
33
2.3.3. Pengertian System Definition Menurut Mathiassen et al. (2000), tujuan dari define system adalah untuk memilih sistem aktual yang akan dikembangkan. Hal ini dilakukan dengan mengklarifikasikan interpretasi, kemungkinan, dan konsekuensi dari beberapa solusi alternatif secara sistematis. Dalam tahap ini, kita menformulasikan
dan
memilih
system
definition
alternatif
yang
berhubungan dengan situasi yang ada sekarang (p.37)
2.3.4. Kriteria FACTOR Kriteria ini terdiri dari (Mathiassen (2000,p26)): Functionality
: fungsi dari suatu sistem yang mendukung tugastugas dalam application domain.
Application Domain
: bagian
dalam
sebuah
organisasi
yang
diadministrasikan, dimonitor, atau dikontrol dalam problem domain. Conditions
: sebuah
kondisi
dimana
sistem
akan
baik
untuk
dikembangkan dan digunakan. Technology
: teknologi
yang
mengembangkan
digunakan sistem
maupun
teknologi
untuk menjalankan sistem tersebut. Object
: object utama dalam problem domain.
Responsibility
: tanggung jawab sistem secara keseluruhan sesuai dengan konteks. 34
2.3.5. Analysis 2.3.5.1 Problem Domain Analysis Mengacu pada Mathiassen et al (2000) problem domain adalah bagian dari konteks yang diatur, di monitor, atau dikendalikan oleh sistem. AnalisiS problem-domain memfokuskan pada informasi apa yang harus ditangani oleh sistem dan menghasilkan sebuah model yang merupakan gambaran dari kelas – kelas, objek – objek, struktur dan perilaku (behavior) yang ada dalam problem domain.
2.3.5.1.1 Class Mengacu pada Mathiassen et al. (2000, p49-65) kegiatan kelas merupakan kegiatan pertama dalam analisis problem domain. Ada beberapa tugas utama dalam kegiatan ini yaitu : abstraksi fenomena dari problem domain dalam objek dan event; klasifikasi objek dan event; pemilihan kelas-kelas dan event-event yang akan dipelihara informasinya oleh sistem.
•
Klasifikasi Object dan Event. Object adalah sebuah entity dengan identitas, state dan behavior. Event adalah kejadian yang meliputi satu atau lebih object. Class: deskripsi dari kumpulan object yang termasuk structure, behavioral pattern, dan attributes. 35
•
Menemukan Class. Pemilihan kelas dilakukan pada saat awal dan bertujuan untuk mendefinisikan dan membatasi problem domain. Class biasanya merupakan kata benda dan bermakna tunggal. Kegiatan kelas akan menghasilkan tabel event. Dimensi
horizontal dari tabel event berisi kelas-kelas yang terpilih, sementara dimensi vertikal berisi event-event terpilih dan tanda cek digunakan untuk mengindikasikan objek-objek dari kelas yang berhubungan dalam event tertentu.
Tabel event dapat dilihat pada tabel berikut ini. Class Event Customer
Assistant
Apprentice Appointment
Reserved
V
V
V
Cancelled
V
V
V
Treated
V
Plan V
V
Tabel 2.2
Employed
V
V
Contoh
Resigned
V
V
Tabel
Graduated
Event
Agreed
V V
(Sumber Mathiassen et al, 2000, p50) 36
V
V
•
Menemukan Event. Pemilihan kumpulan event yang dialami atau dilakukan oleh satu atau lebih objek bertujuan untuk membedakan tiap-tiap kelas dalam problem domain. Event merupakan kata kerja dan mengindikasikan kejadian tunggal. •
Evaluasi sistem.
Pada bagian ini dilakukan evaluasi criteria dari class dan event yang sudah ditemukan.
2.3.5.1.2 Structure Menurut Mathiassen et al. (2000), structure merupakan kegiatan kedua dalam problem domain. Tujuan dari structure adalah untuk mencari hubungan structural antara kelas-kelas dan objek-objek dalam problem domain (p.69) Hasil dari kegiatan structure adalah membuat class diagram. Menurut Mathiassen et al. (2000), Class diagram menggambarkan kumpulan dari kelas-kelas dan merupakan hubungan yang terstruktur (p.336) Menurut Mathiassen et al. (2000), tipe dari Object Oriented Structure terdiri dari dua bagian, yaitu: 1. Class Structure, mengekspersikan hubungan konseptual yang statis antar class. 37
Class Structure dibagi menjadi dua bagian yang meliputi : a) Generalization: sebuah kelas umum (super class) yang menjelaskan property pada suatu kelompok kelas khusus (subclasses).
Hubungan
dalam
generalization
dapat
dikatakan sebagai hubungan “is - a”, yang berarti subclass akan mempunyai attribute dan operation yang sama dengan superclass (p.73) b) Cluster : sebuah kumpulan dari kelas-kelas yang saling berhubungan. Cluster digambarkan dengan notasi file folder yang didalamnya terdapat kumpulan class yang berkaitan.
Class-class
dalam
cluster
yang
sama
dihubungkan dengan hubungan generalization ataupun aggregation, sedangkan class-class yang ada pada cluster yang berbeda dihubungkan dengan hubungan association. (p.74) 2. Object Structure, yang meliputi : a) Aggregation : objek superior (keseluruhan) yang terdiri dari
sejumlah
objek
inferior
(sebagian).
Hubungan
aggregation dirumuskan sebagai hubungan “has-a” atau “is-part-of” (p.76).
38
b) Association : hubungan yang penting antara sejumlah objek-objek. Hubungan association digambarkan sebagai garis yang menghubungkan class-class yang relevan. (p.77) Perbedaan antara association dengan aggregation adalah : •
Hubungan antar class pada aggregation mempunyai hubungan yang kuat sedangkan association tidak.
•
Aggregation structure melukiskan hubungan yang defensive dan fundamental, sedangkan association structure melukiskan hubungan yang tidak tetap. Terdapat 2 jenis struktur antar kelas yaitu generalisasi dan
cluster. Generalisasi adalah hubungan antara dua atau lebih kelas yang lebih khusus (sub kelas) dengan sebuah kelas yang lebih umum (super kelas). Dimana hubungan spesialisasi tersebut dinyatakan dengan rumus “is-a”. Cluster adalah kumpulan kelas yang saling berhubungan yang membantu memperoleh dan menyediakan ringkasan problemdomain. Sebagai contoh : cluster “mobil” berisi semua kelas yang berhubungan dengan jenis kelas dan komponen-komponennya. Terdapat dua jenis hubungan antar objek yaitu : agregasi dan asosiasi. Agregasi adalah hubungan antara sejumlah objek inferior yang merupakan bagian (the parts) dari sebuah objek superior yang merupakan dasar (the whole) bagi beberapa objek inferior tersebut dimana hubungan tersebut dapat dirumuskan dengan 39
“has-a”. asosiasi adalah hubungan antara sejumlah objek yang memiliki arti dimana objek-objek yang saling berhubungan tersebut tidak merupakan bagian dari objek yang lainnya. Hasil dari kegiatan struktur ini adalah class diagram. Class diagram menghasilkan ringkasan model problem-domain yang jelas dengan menggambarakan semua struktur hubungan static antar kelas dan objek yang ada dalam model dari sistem yang berubah-ubah.
2.3.5.1.3
Behavior
Menurut Mathiassen et al. (2000), kegiatan ketiga dalam problem domain adalah kegiatan behavior. Behavior bertujuan untuk membuat model yang dinamis dari problem domain. Hasil dari kegiatan behavior adalah membuat statechart diagaram seperti
pada
Gambar
di
bawah
ini.
Behavior
pattern
mendeskripsikan kemungkinan jejak event dari semua objek di dalam kelas (p.90).
40
Gambar 2.1 Contoh Statechart Diagram Perilaku dari suatu objek ditentukan oleh urutan eventevent (event trace) yang harus dilewati oleh objek tertentu sepanjang waktu. Seperti contoh di atas, kelas “pelanggan” harus melewati event trace: account opened – amount deposited – amount withdrawn – amount deposited – account closed sepanjang masa hidupnya. Menurut Mathiassen et al. (2000) ada tiga jenis notasi untuk behavior pattern, yaitu : 1. Sequence : sekumpulan event muncul satu persatu 2. Selection :terjadi pemilihan satu event dari sekumpulan event yang muncul 3. Iteration : sebuah event muncul sebanyak nol atau beberapa kali (p.93)
2.3.5.2 Application Domain Analysis Menurut Mathiassen Et al. (2000) application domain adalah organisasi yang mengatur, memonitor, atau mengendalikan problem domain. Analisis application-domain memfokuskan pada bagaimana target sistem akan digunakan dengan menentukan kebutuhan function dan antarmuka sistem. Untuk lebih jelasnya kegiatan-kegiatan yang dilakukan dalam analisis applicationdomain dapat dilihat pada tabel berikut ini : 41
Kegiatan Usage
Isi
Konsep
Bagaimana sistem berinteraksi dengan orang
Use case dan actor
lain dan sistem lain dalam konteks Function
Bagaimana
kemampuan
sistem
dalam
Function
memproses informasi Interface
Kebutuhan antarmuka dari sistem target
Interface, user interface dan sistem interface
Tabel 2.3 Kegiatan Analisis Application Domain
2.3.5.2.1 Usage Menurut Mathiassen Et al. (2000) kegiatan usage merupakan kegiatan pertama dalam analisis application domain yang bertujuan untuk menentukan bagaimana actor-aktor yang merupakan pengguna atau sistem lain berinteraksi dengan sistem yang dituju. Interaksi antara aktor dengan sistem tersebut dinyatakan dalam use case. Use case dapat dimulai oleh aktor atau oleh sistem target. Hasil dari analisis kegiatan usage ini adalah deskripsi lengkap dari semua use case dan actor yang ada yang digambarkan dalam tabel actor atau use case diagram. Dennis dan Wixom (2003) mengungkapkan
use
case
diagram
adalah
diagram
yang
menggambarkan fungsi dari sebuah sistem dan berbagai macam pengguna yang akan berinteraksi dengan sistem.
42
Cara untuk mengidentifikasi aktor adalah dengan mengetahui alasan actor menggunakan sistem. Masing-masing aktor memiliki alasan yang berbeda untuk menggunakan sistem. Cara lainnya yaitu dengan melihat peran dari aktor seperti yang dinyatakan oleh use case dimana aktor tersebut terlibat. Masingmasing aktor memiliki peran yang berbeda-beda. Setiap aktor akan berkorespondensi dengan kelas dalam problem domin yang berbeda karena mereka memiliki pola behavioural objek yang berbeda-beda. Actor dapat digambarkan dalam spesifikasi actor yang memiliki 3 bagian yaitu tujuan, karakteristik, dan contoh dari aktor tersebut. Tujuan merupakan peran dari aktor dalam sistem target. Sementara karakteristik menggambarkan aspek-aspek yang penting dari aktor. Use case dapat digambarkan dengan menggunakan spesifikasi use case, dimana use case dijelaskan secara singkat namun jelas dan dapat disertai dengan keterangan objek sistem yang terlibat dan function dari use case tersebut atau dengan diagram statechart karena use case adalah sebuah fenomena yang dinamik. Sequence diagram Sequence diagram membantu seorang analis kebutuhan mengidentifikasikan rincian dari kegiatan yang dibutuhkan untuk menjalankan fungsi dari sebuah use case. Tidak ada suatu 43
sequence diagram yang benar untuk use case tertentu, melainkan ada sejumlah sequence diagram yang masing-masing diagram tersebut dapat lebih atau kurang memenuhi kebutuhan dari use case. 2.3.5.2.2 Function Kegiatan kedua analisis application domain adalah kegiatan function. Function bertujuan untuk menentukan kemampuan dari suatu sistem memproses informasi. Function adalah fasilitas untuk membuat suatu model bermanfaat bagi aktor. Function memfokuskan pada apa yang bisa dilakukan sistem untuk membantu aktor dalam pekerjaan mereka. Menurut Mathiassen et al. (2000), function mempunyai empat tipe, yaitu 1. Update function, function ini disebabkan oleh event problem domain dan menghasilkan perubahan dalam model’s state. 2. Signal function, function ini disebabkan oleh perubahan dalam model’s state dan menghasilkan reaksi pada konteks. Reaksi ini mungkin ditampilkan pada aktor dalam application domain atau intervensi langsung dalam application domain. 3. Read function, function ini disebabkan oleh kebutuhan informasi di dalam tugas aktor dan menghasilkan sistem yang menampilkan bagian yang berhubungan dengan informasi dalam model.
44
4. Compute function, function ini disebabkan oleh kebutuhan informasi di dalam tugas aktor dan terdiri dari perhitungan yang melibatkan informasi yang disediakan oleh aktor atau model; hasil dari function ini adalah tampilan dari hasil perhitungan. Cara yang baik untuk mengidentifikasikan function adalah memberikan pertanyaan yang berkaitan dengan empat jenis function tersebut. 1. Menggunakan ekspresi matematika, yaitu hubungan antara input dan output data dispesifikasi sebagai 0 = f(i). 2. Algoritma,
yang
secara
khusus
disketsa
dengan
menggunakan pseudocode. 3. Membagi function menjadi subfunction, sehingga bisa memberikan pandangan yang lebih baik. Dalam mencari function perlu mempertimbangkan sumber untuk pencarian function dan juga tingkat rincian. Sumber pencarian function merupakan bagian dari deskripsi problem domain, yang ditampilkan oleh kelas dan event, dan merupakan bagian dari deskripsi application domain yang ditampilkan oleh use case. Classes biasanya menimbulkan read dan update function, sedangkan event menimbulkan update function, dan use case menimbulkan semua jenis function.
45
2.3.5.2.3 Interfaces Kegiatan ketiga dari analisis application domain adalah interface, yang bertujuan untuk menentukan system’s interface. Interface digunakan oleh aktor untuk berinteraksi dengan sistem. Menurut Mathiassen et al.(2000), activity interface mempunyai tiga konsep, yaitu : 1. Interface, yaitu fasilitas yang membuat model sistem dan fungsi dapat digunakan oleh aktor 2. User Interface, yaitu interface untuk user 3. System interface, yaitu interface untuk sistem lain. Salah satu user interface yang baik adalah dapat beradaptasi dengan tugas dan memiliki pemahaman user terhadap sistem. Kualitas user interface ditentukan oleh kegunaan atau usability interface tersebut bagi pengguna. Usability bergantung pada yang menggunakan dan situasi sistem tersebut pada saat digunakan. Sehingga dapat dikatakan bahwa usability bukan merupakan sebuah ukuran yang pasti dan objektif. Ada empat jenis pola user interface, yaitu : 1. Menu selection, yaitu menampilkan pilihan-pilihan pada user interface 2. Form fill-in, yaitu pola klasik untuk entry data 3. Command-language,
yaitu
user
mengaktifkan perintah format sendiri 46
memasukkan
dan
4. Direct-manipulation,
yaitu
user
memilih
objek
dan
melaksanakan function atas objek dan melihat hasil dari interaksi mereka tersebut. Hasil dari kegiatan interface adalah sebuah deskripsi elemen user
interface
kelengkapan
dan
sistem
system ini
interface
menunjukkan
yang
lengkap.
pemenuhan
Dimana kebutuhan
pengguna. Hasil dari kegiatan user interface berupa form presentasi dan dialogue style, daftar lengkap dari elemen user interface, diagram window terpilih, dan diagram navigation. Sedangkan hasil dari system interface berupa class diagram untuk peralatan dan protocol eksternal untuk berinteraksi dengan sitem yang lain. Menurut Mathiassen Et al. (2000) interface menghubungkan sistem dengan semua actor yang berhubungan dalam konteks. Ada dua jenis dari interface / antar muka yaitu : antar muka pengguna yang menghubungkan pengguna dengan sistem dan antar muka sistem yang menghubungkan sistem dengan sistem yang lainnya. Sebuah user interface yang baik harus dapat beradaptasi dengan pekerjaan dan pemahaman user terhadap sistem. Kualitas antar muka pengguna ditentukan oleh kegunaan atau usability interface tersebut bagi pengguna. Usability bergantung pada siapa yang menggunakan dan situasi pada saat sistem tersebut digunakan. Oleh sebab itu usability bukan sebuah ukuran yang pasti dan objektif.
47
Ada empat jenis pola dialog yang penting dalam menentukan interface pengguna yaitu : pola menu-selection yang terdiri dari daftar pilihan yang mungkin dalam interface pengguna; pola fill in yang merupakan pola klasik untuk entri data; pola command-language dimana user memasukkan dan memulai format perintah sendiri; pola direct manipulation dimana user memilih objek dan melaksanakan function atas objek dan melihat hasil dari interkasi mereka tersebut. Kegiatan analisis user interface ini berdasarkan pada hasil dari kegiatan analisis lainnya yaitu model problem domain, kebutuhan functional dan use case. Hasil dari kegiatan ini adalah sebuah deskripsi elemen-elemen interface pengguna dan interface sistem yang lengkap, dimana kelengkapan menunjukkan pemenuhan kebutuhan pengguna. Hasil ini harus dilengkapi dengan sebuah diagram navigasi yang menyediakan sebuah ringkasan dari elemen-elemen user interface dan perubahan antara elemen-elemen tersebut.
2.3.6
Perancangan 2.3.6.1 Architecture Design Menurut Mathiassen et al. (2000) keberhasilan suatu sistem ditentukan dari kekuatan desain arsitekturalnya. Arsitektur membentuk sitem yang sesuai dengan sistem tersebut dengan memenuhi kriteria desain tertentu. Arsitektur yang berfungsi sebagai kerangka untuk pengembangan selanjutnya. Suatu 48
arsitektur yang tidak jelas akan menghasilkan pekerjaan yang siasia.
Desain arsitektur mempunyai tiga kegiatan yaitu : Kegiatan
Isi
Konsep
Kriteria
Kondisi dan kriteria apa untuk mendesain
Komponen
Bagaimana
sistem
dibentuk
komponen-komponen Proses
Criterion
menjadi Component architecture dan component
Bagaimana proses sistem didistribusikan Process dan dikoordinasi
architecture
dan
process
Tabel 2.4 Kegiatan desain arsitektur
2.3.6.1.1 Criteria Menurut Mathiassen Et al. (2000) dalam menciptakan sebuah desain yang baik diperlukan pertimbangan mengenai kondisi-kondisi dari setiap proyek yang dapat mempengaruhi kegiatan desain yaitu : •
Technical, yang terdiri dari pertimbangan : penggunaan hardware, software dan sistem lain yang telah dimiliki dan dikembangkan; pengaruh kemungkinan penggabungan pola pola umum dan komponen yang telah ada terhadap arsitektur dan kemungkinan pembelian komponen standar.
49
•
Conceptual, yang terdiri dari pertimbangan : perjanjian kontrak, rencana untuk pengembangan lanjutan, pembagian kerja antara pengembang.
•
Human, yang terdiri dari pertimbangan : keahlian dan pengalaman orang yang terlibat dalam kegiatan pengembangan dengan sistem yang serupa dan dengan platform teknis yang akan didesain. Karena tidak ada cara-cara tertentu atau mudah untk
menghasilkan suatu desain yang baik. Banyak perusahaan menciptakan suatu standard an prosedur untuk memberikan jaminan terhadap kualitas sistem. Disinilah kegiatan criteria dapat membantu dengan menetapkan perioritas desain untuk setiap proyek tertentu. Menurut Mathiassen et al. (2000) tujuan dari sebuah criteria adalah untuk mempersiapkan prioritas dari sebuah perancangan. Konsep utama pada aktivitas criteria, yaitu : 1. Criteria : menetukan property yang diinginkan dari sebuah arsitektur 2. Condition : hal-hal yang bersifat teknis, organisasional, kelebihan dan keterbatasan manusia yang terlibat dalam tugas
Sebuah desain yang baik memiliki tiga ciri-ciri, yaitu : 1. Tidak mempunyai kelemahan 50
Syarat ini menyebabkan adanya penekanan pada evaluasi dari kualitas berdasarkan review dan eksperimen dalam menentukan prioritas dari criteria yang mengatur kegiatan pendesainan.
Tabel dibawah ini adalah beberapa criteria yang digunakan kegiatan pendesain dengan objek
Kriteria Usable
Ukuran dari Kemampuan sistem untuk beradaptasi dengan organisasi, hubungan kerja dan konteks secara teknis.
Secure
Tindakan pencegahan akses yang tidak diotorisasi ke data dan fasilitas-fasilitas.
Efficient
Eksploitasi secara ekonomis dari fasilitasfasilitas technical platform.
Correct
Pemenuhan kebutuhan-kebutuhan
Reliable
Pemenuhan
atas
ketepatan
yang
diperlukan dalam pengeksekusian fungsi. Maintainable
Biaya penempatan dan perbaikan sistem yang rusak.
Testable
Biaya dari memastikan bahwa sistem yang disebarkan menampilkan fungsi 51
yang diharapkan. Biaya memodifikasi terhadap sistem yang
Flexible
tersebar. Comprehensible
Usaha
yang
diperlukan
untuk
memperoleh suatu pemahaman tentang sebuah sistem Kemampuan untuk menggunakan bagian
Reusable
sebuah sistem ke sistem lain yang terhubung. Biaya memindahkan sistem ke technical
Portable
platform. Interoperable
Biaya menggabungkan sistem ke sistem lainnya.
Tabel 2.5 Beberapa Kriteria dalam Perancangan
2.
Menyeimbangkan beberapa kriteria Konflik
sering
terjadi
antar
kriteria,
maka
untuk
menentukan kriteria yang mana yang diutamakan dan bagaimana cara untuk menyeimbangkannya dengan kriteria-kriteria yang lain bergantung pada situasi sistem tertentu. 3.
Usable, flexible, dan comprehensible Kriteria-kriteria ini bersifat universal dan digunakan pada
sebagian setiap proyek pengembangan sistem. 52
2.3.6.1.2 Component Architecture Menurut Mathiassen Et al. (2000) arsitektur komponen adalah sebuah struktur sistem dari komponen-komponen yang berhubungan. (p.190). Component architecture membuat sistem lebih mudah untuk dimengerti, menyederhanakan desain, dan mencerminkan kestabilan sistem. Hal ini dikarenakan komponen merupakan subsistem dari suatu sistem. Pola dalam desain komponen arsitektur umum yang digunakan, yaitu: a) Layered Architecture Pattern Pola ini adalah model klasik pada software. Layer arsitektur ini terdiri dari beberapa komponen yang ditunjuk sebagai layer. Layer
menunjukan
component
sedangkan
panah
menunjukkan dependencies yang berarti perubahan pada satu komponen akan mempengaruhi komponen yang lain. Arsitektur ini sangat berguna untuk memecah sistem ke dalam komponen-komponen. b) Generic Architecture Pattern Pola ini digunakan untuk menguraikan sistem dasar yang terdiri dari komponen interface, function, dan model. Model component berada di layer yang paling bawah, 53
kemudian dilanjutkan oleh function layer dan yang paling atas adalah interface. c) Client Server Architecture Pattern Pola ini dibangun untuk mengatasi sistem yang terdistribusi di beberapa proses yang tersebar secara geografis. Arsitektur ini terdiri dari sebuah server dan beberapa client. Client menggunakan server secara independen. Bentuk distribusi dari bagian sistem harus diputuskan
antara
client
dan
server.
Identifikasi
komponen, didalam perancangan sistem atau subsistem, pada umumnya dimulai dengan layer architecture dan client server architecture dimana keduanya merupakan dua layer yang berbeda, teteapi saling melengkapi. Perbedaannya adalah layer architecture memberikan hierarchy discipline, sedangkan client server architecture merupakan ekspresi dari pemikiran jaringan. Dari component architecture ini akan menghasilkan class diagram with specification. Ada dua macam metode berbeda dalam membagi komponen client dan server, yaitu: •
Client dan server dianggap sebagai subsistem tunggal yang masing-masing memiliki komponen, yaitu: user interface (U), function (F), dan model (M). 54
•
Atau masing-masing dapat dianggap sebagai layer berbeda dalam sistem yang sama. Sebuah struktur sistem yang terdiri dari komponen-komponen
yang saling berhubungan. Komponen merupakan kumpulan dari bagian-bagian program yang membentuk suatu kesatuan dan memiliki fungsi yang jelas. Sebuah arsitektur komponen yang baik membuat
sistem
menjadi
lebih
mudah
untuk
dipahami,
mengorganisasikan pekerjaan desain, menggambarkan stabilitas dari konteks sistem dan mengubah tugas desain menjadi beberapa tugas yang lebih tidak kompleks. Beberapa pola umum dalam desain komponen arsitektur: •
Arsitektur layered Merupakan bentuk yang paling umum dalam software. Contoh
dari pola ini adalah model OSI yang sudah menjadi ISO untuk model jaringan. Sebuah arsitektur layered terdiri dari beberapa komponen yang dibentuk menjadi lapisan-lapisan dimana lapisan yang berada di atas bergantung kepada lapisan yang ada dibawahnya. Perubahan yang terjadi pada suatu lapisan akan mempengaruhi lapisan diatasnya. •
Arsitektur generic Pola ini digunakan untuk merinci sistem dasar yang terdiri dari
antar muka, function, dan komponen-komponen model. Dimana
55
komponen model terletak pada lapisan yang paling bawah, diikuti dengan function sistem dan komponen interface diatasnya. •
Arsitektur client-server Pola ini awalnya dikembangkan untuk mengatasi masalah
distribusi sistem di antara beberapa processor yang tersebar secara geografis. Komponen pada arsitektur ini adalah sebuah server dan beberapa client. Tanggung jawab daripada server adalah untuk menyediakan database dan resources yang dapat disebarkan kepada client
melalui jaringan. Sementara client memiliki
tanggung jawab untuk menyediakan antarmuka lokal untuk setiap penggunanya. Berikut adalah beberapa jenis distibusi dalam arsitektur client-server dimana U adalah user interface, F adalah function, M adalah model. Client
Server
architecture
U
U+F+M
Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralized data
U+F+M
M
Distributed data
Tabel 2.6 Client-server architecture
2.3.6.1.3 Process Architecture
56
Menurut Mathiassen et al. (2000) bahwa process architecture merupakan suatu struktur sistem eksekusi yang terdiri dari prosesproses yang saling tergantung. (p.209). Hasilnya berupa sebuah deployment diagram. Pada aktivitas ini , terdapat 3 jenis pola distribusi, yaitu: a)
Centralized Pattern Pola ini menyimpan semua data pada server pusat dan user
hanya bisa melihat user interface saja. Keuntungan dari pola ini adalah dapat diimplementasikan pada client secara murah, semua data konsisten karena hanya berada di satu tempat saja, strukturnya mudah dimengerti dan diimplementasikan, dan kemacetan jaringannya moderat. b)
Distributed Pattern Pada pola ini, semua terdistribusi ke user atau client dan server
hanya menyebarkan model yang telah di-update di antara client. Keuntungan utama dari pola ini adalah waktu akses yang rendah, sehingga tidak terjadi kemacetan jaringan, kinerja lebih maksimal, dan back-up data banyak. Kerugian dalam pola ini adalah banyaknya data yang redundant sehingga konsistensi data terancam, kemacetan jaringan yang tinggi karena semua update harus disebar kepada semua client, kebutuhan teknis yang canggih, arsitekturnya lebih sulit dimengerti dan diimplementasikan. c)
Decentralized Pattern Client 57
Pola ini berada diantara kedua pola diatas. Pada pola ini client memiliki data tersendiri sehingga data umum hanya berada pada server. Server menyimpan data umum dan function atas data-data tersebut, sedangkan client menyimpan data yang merupakan milik bagian application-domain client tersebut. Keuntungan pola ini adalah konsistensi data, karena tidak ada duplikasi data antara client dengan client lain ataupun dengan server, lalu lintas jaringan jarang karena jaringan hanya digunakan ketika data umum di server di-update. Kekurangan pola ini adalah bahwa semua prosesor harus mampu melakukan fungsi yang kompleks dan memelihara model dalam jumlah besar, sehingga akan meningkatkan biaya hardware. Objek-objek yang terlibat dalam sistem berorientasi objek yang berjalan dapat dibagi menjadi dua yaitu : Active objek yang telah dibeikan sebuah proses dan aktif selama sistem dijalankan; dan komponen program, sebuah modul fisik dari kode program yang pasif selama eksekusi sistem kecuali pada saat dipanggil sebagai bagian dari eksekusi proses sampai eksekusi proses tersebut selesai dijalankan. Kegiatan arsitektur proses bermula dari komponen logic yang dihasilkan oleh kegiatan komponen dan bertujuan untuk menentukan struktur fisik dari sebuah sistem dengan : mendistribusikan komponenkomponen program ke processor yang akan digunakan untuk eksekusi sistem, mengkoordinasi pembagian sumber daya dengan active object dan menghasilkan arsitektur yang tidak memiliki hambatan. 58
Sumber daya yang pada umumnya digunakan secara bersama, yaitu : • Processor Terjadi apabila ada dua atau lebih proses yang dieksekusi secara bersamaan pada satu processor. • Program component Terjadi bila terdapat dua atau lebih proses yang secara bersamaan memanggil operasi pada komponen. • External device Misalnya, pada penggunaan printer yang terhubung melalui network.
2.3.6.2 Component Design Tujuan dari kegiatan desain komponen ini adalah untuk menentukan implementasi kebutuhan dalam rangka kerangka arsitektural. Kegiatan desain komponen bermula dari spesifikasi arsitektural dan kebutuhan sistem, sedangkan hasil dari kegiatan ini adalah spesifikasi dari komponen yang saling berhubungan. Berikut adalah beberapa kegiatan dari desain komponen : Kegiatan Model Component
Isi
Konsep model Model component dan attribute
Bagaimana
dipresentasikan dalam sebuah kelas dalam sistem
59
Bagaimana
Function Component
function-function Function
diimplementasikan Connecting Component
Bagaimana
component
dan
operation komponen- Component dan Connection
komponen dihubungkan
Tabel 2.7 Kegiatan Perancangan Komponen
2.3.6.2.1 Model Component Menurut Mathiassen et al. (2000) model component merupakan bagian dari sebuah sistem yang mengimplementasikan model problemdomain (p.236). Hasil dari model component adalah restrukturisasi class diagram yang dibuat pada tahap analisis, terdiri dari penambahan class, attribute dan struktur baru yang menunjukkan events. Restrukturisasi class dapat terjadi pada: •
Generalization Jika terdapat dua class dengan attribute yang sama maka dapat dibentuk class baru (revised class)
•
Association Jika terdapat hubungan many-to-many.
•
Embedded Iterations Embedded iterations merupakan embedded di dalam statechart diagram. Misalnya jika sebuah class terdapat statechart diagram yang mempunyai tiga iterative events, maka kita dapat membentuk tiga class di dalam perancangan model.
60
Menurut Mathiassen Et al. (2000) model analisis problem domain menggambarkan kebutuhan sistem. Kebutuhan sistem kemudian diimplementasikan dalam komponen model. Oleh karena itu dapat disimpulkan bahwa komponen model adalah bagian dari sistem yang mengimplementasikan model problem domain. Tujuan dari komponen model adalah untuk mengirimkan data sekarang dan historic ke function, interface dan pengguna dan sistem yang lain. Konsep utama dalam desain komponen model adalah struktur. Hasil dari kegiatan komponen model adalah revisi dari class diagram dari kegiatan analisis. Kegiatan revisi biasanya terdiri dari kegiatan menambahkan kelas, attribute dan struktur baru yang mewakili event.
2.3.6.2.2Function Component Menurut Mathiassen et al. (2000) function component merupakan bagian dari sebuah sistem yang mengimplementasikan kebutuhan-kebutuhan fungsional. (p.252). Tujuan dari function component adalah untuk menunjukkan pengimplementasikan dari functions. Hasilnya berupa class dengan operations dan specification dari operation yang kompleks. Function
didesain
dan
diimplementasikan
dengan
menggunakan operasi dari kelas sistem. Operasi adalah suatu proses 61
yang dispesifikasikan dalam sebuah kelas dan dijalankan melalui objek dari kelas tersebut. Hasil utama dari kegiatan ini adalah class diagram untuk komponen function dan perpanjangan dari class diagram komponen model. Berikut adalah sub kegiatan dalam perancangan komponen function adalah : Sub kegiatan ini menghasilkan kumpulan operasi yang dapat mengimplementasikan fungsi sistem seperti yang ditentukan dalam analisis problem domain dan function list. •
Merancang function sebagai operation.
•
Menelusuri pola yang dapat membantu dalam implementasi function sebagai operation.
•
Spesifikasikan operasi yang kompleks.
62