BAB 2 LANDASAN TEORI
2.1
Pengertian Persediaan Menurut Tersine (1994, p3), persediaan mempunyai banyak perngertian
terhadap beberapa hal yang berbeda, diantaranya adalah : 1.
Stock on hand pada seuatu waktu tertentu (aset dapat dilihat, dihitung, dan diukur).
2.
Daftar per item dari semua aset fisik.
3.
Untuk menentukan jumlah item yang harus ada di tangan.
4.
Nilai stok barang yang dimiliki perusahaan pada waktu tertentu (dalam konteks dokumen bagian keuangan dan akuntansi). Menurut Sipper et al (1997, p206), persediaan adalah suatu kuantitas dari
komoditas yang dikontrol oleh perusahaan dan disimpan agar sewaktu-waktu dapat digunakan untuk dapat memenuhi permintaan di masa mendatang. Menurut Smith (1989, p108), persediaan didefinisikan sebagai stock of goods (persediaan barang), dimana secara umum dianggap sebagai suatu sumber yang memiliki nilai ekonomi. Persediaan terbuat oleh satu atau lebih item, dimana masingmasing item tersebut merupakan supply item, bahan baku, part yang dibeli atau dimanufaktur, assembly (perakitan), ataupun produk akhir yang unik. Menurut Elsayed (1994, p63), persediaan didefinisikan sebagai bahan baku, barang setengah jadi dan barang perakitan, dan finished goods atau barang jadi yang berada di dalam sistem produksi pada titik waktu yang tepat. Persediaan menjadi buffer
21 antara tahapan-tahapan dalam sistem produksi, dan diantara sistem produksi dan pelanggan. Jadi persediaan adalah kuantitas dari barang (raw material, work in process, dan finished goods) yang memiliki nilai ekonomi dan dimiliki oleh perusahaan untuk dapat memenuhi permintaan di masa mendatang. 2.2
Tujuan Persediaan Menurut Frazelle (2002, p91), goal dari manajemen persediaan adalah
meningkatkan financial return pada persediaan, sementara customer service level juga ditingkatkan. Untuk dapat meningkatnya kedua hal tersebut dan begitu juga ketersediaan persediaan, terdapat lima langkah untuk mengawalinya : 1.
Meningkatkan ketepatan dari peramalan.
2.
Mengurangi cycle times (waktu siklus).
3.
Menurunkan biaya pemesanan/setup.
4.
Meningkatkan inventory visibility.
5.
Menurunkan biaya penyimpanan persediaan.
Persediaan terjadi karena penyediaan dan permintaan sulit diselaraskan dengan tepat dan diperlukan waktu untuk melakukan kegiatan tersebut. Hal-hal berikut ini merupakan faktor-faktor yang mendukung fungsi persediaan (Tersine, 1994, p6), antara lain : 1.
Faktor waktu, yang berhubungan dengan lamanya proses produksi dan distribusi yang terjadi sebelum barang sampai ke konsumen.
2.
Faktor diskontinuitas, yang dimaksudkan agar menjaga barang tersedia terus menerus sehingga diperlukan persediaan sehingga tidak terjadi .
22 3.
Faktor ketidakpastian, yang merupakan hal-hal yang tidak diduga yang dapat terjadi seperti saat mesin mengalami breakdown, bencana, dan sebagaianya. Karena itu, persediaan dibutuhkan sebagai antisipasi kemungkinan terjadinya kejadian tersebut.
4.
Faktor ekonomi, yang memberikan keuntungan bagi perusahaan dalam mengurangi biaya yang terdiri dari pemesanan barang, pembelian dengan discount, pengiriman, man power, dan sebagainya.
Cara lain untuk dapat menjelaskan tujuan pengadaan persediaan adalah dengan menjelaskan klasifikasi fungsi dari persediaan itu sendiri. Berdasarkan utilitasnya, semua persediaan dapat tergolong dalam satu atau lebih kategori berikut. 1.
Working Stock (Lot Size Stock) Merupakan persediaan yang dibutuhkan dan diadakan dalam mendukung kebutuhan terhadap barang sehingga pemesanan dapat dilakukan dalam bentuk lot size dibandingkan dengan ukuran dasar yang dibutuhkan. Lot size mempunya manfaat untuk mengurangi atau meminimalisasikan biaya pemesanan dan penyimpanan, mendapatkan discount pemesanan kuantitas, dan biaya pengiriman.
2.
Safety Stock Merupakan
persediaan
yang
diadakan
dalam
mengantisipasi
ketidakpastian persediaan dan permintaan. Safety Stock atau dapat juga disebut sebagai stok pengaman ini pada umumnya dipakai selama waktu kedatangan barang yang telah dipesan sehingga tidak terjadi kekurangan barang.
23 3.
Anticipation Stock Merupakan persediaan yang diadakan sehubungan dengan penyelarasan permintaan yang bersifat musiman, tidak menentu, atau kurangnya kapasitas produksi.
4.
Pipeline Stock (Work In Process) Merupakan persediaan yang ada dalam perjalanan yang membutuhkan waktu dari penerimaan barang pada saat masuk, pengiriman bahan dlam proses produksi, pengiriman barang sampai ke outputnya. Secara eksternal, pipeline stock dapat digambarkan sebagai persediaan dalam perjalan di truk, ataupun kapal. Sedangkan secara internal digambarkan sebagai sebuah proses dimana menunggu untuk dapat diproses dan dipindahkan.
5.
Decoupling Stock Merupakan persediaan yang memungkinkan perusahaan dapat memenuhi permintaan pelanggan tanpa tergantung pada supplier.
6.
Psychic Stock Merupakan
persediaan
barang
yang
digunakan
untuk
dapat
menstimulasikan permintaan dan bertindak seperti seorang penjual yang diam. Kategori ini meningkatkan kesempatan sebuah item untuk dapat terlihat dan dipertimbangkan untuk dapat dibeli oleh pelanggan. Seperti halnya rak yang penuh di supermarket dapat meningkatkan penjualan dengan memperlihatkan pelanggan terhadap banyaknya persediaan yang ada, dan menciptakan visibility yang lebih tinggi terhadap suatu produk.
24 2.3
Biaya Persediaan Tujuan dari persediaan adalah untuk mendapatkan jumlah yang tepat untuk
barang pada tempat dan waktu yang tepat, serta mempunyai biaya yang rendah. Ada beberapa parameter ekonomi dasar untuk model persediaan yang relevan untuk sebagian besar sistem, yaitu : (Tersine, 1994, p13) 1.
Purchase Cost (Biaya Pembelian) Biaya pembelian dair suatu barang adalah biaya untuk membeli satu satuan barang jika diperoleh dari sumber eksternal atau memproduksi satu satuan barang jika barang tersebut diproduksi secara internal. Biaya per unit ini harus selalu dibebankan ketika barang tersebut ditempatkan sebagai persediaan. Untuk barang yang dibeli, pembelian ini termasuk biaya transportasi, sedangkan untuk barang yang diproduksi, biaya pembelian ini upah karyawan, biaya bahan baku dan overhead pabrik.
2.
Order / Setup Cost (Biaya Pemesanan) Biaya pemesanan ini berasal dair biaya yang timbul pada saat dilakukan pemesanan untuk pemenuhan kembali persediaan yang dimiliki. Pada saat pemesanan yang dilakukan, sejumlah biaya tertentu yang berkaitan yaitu pemrosesan, persiapan, pendistribusian, penanganan, dan pembelian sejumlah barang yang dipesan.
3.
Holding Cost (Biaya Penyimpanan) Biaya penyimpanan adalah biaya yang diasosiasikan dengan investasi dalam persediaan dan untuk mempertahankan investasi fisik dalam gudang. Menurut Elsayed (1994, p64), komponen-komponen pembentuk biaya simpan adalah :
25 a. Opportunity cost atau biaya kesempatan atas modal yang diinvestasikan dalam persediaan, storage and space costs atau biaya pergudangan yang meliputi biaya penyewaan gudang, biaya penanganan (biaya penyimpanan) dan biaya maintenance atau biaya pemeliharaan bahan baku di gudang, dan biaya administrasi gudang. b. Storage and space costs atau biaya pergudangan yang meliputi biaya penyewaan gudang, biaya penanganan (biaya penyimpanan) dan biaya maintenance atau biaya pemeliharaan bahan baku di gudang, dan biaya administrasi gudang. c. Taxes and insurances atau pajak dan asuransi, dan biaya penyusutan, serta pencegahannya, seperti contoh penyimpanan sayuran, produk-produk yang terbuat dari susu, dan beberapa produk keramik dan produk elektronika. d. Cost of obsolescene atau biaya keusangan yang termasuk didalamnya biaya yang harus dikeluarkan perusahaan bila ada pergantian
teknologi
seperti
penggantian
komputer,
alat
komunikasi, dan lainnya. 4.
Stockout Cost (Biaya kekurangan persediaan) Biaya ini juga dikenal sebagai shortage cost. Merupakan biaya yang dikenakan jika tidak terdapat persediaan yang cukup untuk memenuhi permintaan berlebih yang datang pada suatu saat tertentu. Ada dua jenis yakni backorder cost dan lost sales cost. Keduanya sulit diukur secara akurat.
26 a. Backorder cost merupakan biaya yang dikenakan ketika terjadi pemesanan yang baru dapat dipenuhi pada saat mendatang. Biaya ini dapat menyebabkan tambahan biaya seperti dalam hal transportasi dan pemesanan. Biaya backorder lebih mudah diprediksi dibandingkan dengan lost sales cost atau biaya karena kehilangan penjualan. b. Lost sales cost atau biaya yang terjadi ketika kita tidak dapat memenuhi pesanan konsumen, sehingga mereka membatalkan pesanan tersebut. Biaya ini biasanya termasuk keuntungan yang akan diterima dan kemungkinan negatif dalam hal penjualan di masa yang akan datang. 2.4
Terminologi Sistem Persediaan Di
dalam
terminologi
sistem
persediaan
ini,
Elsayed
(1994,
p64)
mengungkapkan definisi dari beberapa hal yang berhubungan dengan persediaan. 1.
Demand. Keputusan penentuan persediaan (kebijakan, jumlah yang akan dipesan, dan sebagainya) ditentukan berdasarkan permintaan di masa mendatang. Jenis permintaan dapat berupa deterministic dan statis ataupun dinamis secara alamiah.
2.
Lead Time and Replenishment Rate. Lead time merupakan waktu jeda antara saat dimana dilakukan pemesanan dan saat dimana pemesanan itu diterima sebagai persediaan. Waktu lead time dapat bervariasi (deterministic atau probabilistic dan konstan atau waktu yang bervariasi). Replenishment rate merupakan rate dimana persediaan diselesasaikan (build up).
27 3.
Reorder Level, yang merupakan level ataupun titik dimana dilakukan pemesanan untuk pemenuhan persediaan.
4.
Safety Stock, yang merupakan persediaan yang dipersiapkan untuk menghindari terjadinya stockout atau kehabisan barang yang dapat terjadi karena ketidakpastian terhadap proses pemenuhan barang atau terhadap permintaan yang tinggi.
Menurut Sipper (1998, p207), Lingkungan persediaan diklasifikasikan menjadi dua kategori utama, yaitu : 1.
Deterministic atau stochastic. Deterministic berarti permintaan masa mendatang diketahui secara pasti, sedangkan stochastic berarti memiliki persediaan di masa mendatang yang tidak menentu. Di dalam kategori ini, masing-masing memiliki analisis yang cukup berbeda. Stochastic umumnya lebih realistis tetapi sulit untuk ditangani.
2.
Permintaan independent atau permintaan dependent. Permintaan independent tidak bergantung ataupun dipengaruhi oleh barang lainnya. Contohnya seperti penjualan ritel atau produk jadi dalam industri manufaktur. Sedangkan permintaan dependent bergantung terhadap barang lainnya. Umumnya permintaan ini terdapat dalam industri manufaktur dimana jumlah komponen ataupun bahan baku tergantung dari jumlah produk yang ingin dihasilkan.
2.5
Aliran Biaya Persediaan Persediaan memiliki 2 karakteristik, yaitu karakteristik fisik (aliran barang) dan
karakteristik finansial (aliran biaya). Metode aliran persediaan terkait dengan caranya barang-barang ditambah dan diambil dari persediaan. Perkiraan persediaan barang untuk
28 keperluan accounting tidak selalu sama dengan persediaan fisik barang yang aktual. Pemilihan metode perkiraan aliran barang di dalam satu perusahaan akan menentukan aliran biaya. Menurut Werner et al (2004, p314) terdapat tiga metode yang umum digunakan, antara lain : 1. FIFO (First In First Out) Di dalam metode ini, diperkirakan bahwa barang yang pertama kali ditempatkan sebagai persediaan akan menjadi barang yang pertama kali akan dijual. Ketika harga pembelian satu barang berubah, maka hal yang terjadi adalah pendapatan penjualan akan dipasangkan dengan biaya yang tercatat pada awalnya, bukan dengan biaya yang tercatat pada saat terjual. FIFO dapat menjadi satu informasi yang baik untuk menentukan kondisi perusahaan yang sekarang, karena FIFO menghitung nilai persediaan dengan biaya yang paling terbaru.
Tabel 2.1 Contoh Rincian Pembelian Barang dalam Perhitungan Metode FIFO Sumber: Yamit (1999, p201)
Tanggal
Transaksi
Unit
1 Januari
Persediaan awal
200
Rp
1.000,00
Rp 200.000,00
31 Januari
Pembelian
300
Rp
1.100,00
Rp 330.000,00
28 Februari
Pembelian
400
Rp
1.160,00
Rp 464.000,00
31 Maret
Pembelian
100
Rp
1.260,00
Rp 126.000,00
Jumlah
1000
Harga/unit
Total Biaya
Rp 1.120.000,00
29 Tabel 2.2 Contoh Rincian Penjualan Barang dalam Perhitungan Metode FIFO Sumber: Yamit (1999, p201)
Unit Penjualan
Harga/unit
Total Biaya
200
Rp 1.000,00
Rp 200.000,00
300
Rp 1.100,00
Rp 330.000,00
200
Rp 1.160,00
Rp 232.000,00
700
Rp 762.000,00
Tabel 2.3 Contoh Rincian Persediaan Akhir dalam Perhitungan Metode FIFO Sumber: Yamit (1999, p201)
Persediaan Akhir
Unit
Harga/unit
Total Biaya
Pembelian Februari
200
Rp
1.160,00
Rp 232.000,00
Pembelian Maret
100
Rp
1.260,00
Rp 126.000,00
Jumlah
300
Rp 358.000,00
Harga pokok barang yang dijual dengan metode FIFO adalah Rp. 762.000,00, dan nilai persediaan akhir adalah Rp.1.120.000,00 – Rp762.000,00 = Rp.358.000,00 untuk 300 unit. 2. LIFO (Last In First Out) Di dalam metode ini, diperkirakan bahwa barang yang terakhir kali ditempatkan sebagai persediaan akan menjadi barang yang pertama kali akan dijual. Metode ini memasangkan harga pembelian satu barang sekarang ini dengan pendapatan penjualan, sehingga kemungkinan informasi terbaik bagi pembuat keputusan di bidang finansial untuk menentukan potensi pendapatan perusahaan di masa mendatang. Namun hal ini berakibat biaya persediaan akhir dianggap terlalu kuno.
30 Tabel 2.4 Contoh Rincian Pembelian Barang dalam Perhitungan Metode LIFO Sumber: Yamit (1999, p203)
Tanggal
Transaksi
Unit
1 Januari
Persediaan awal
200
Rp
1.000,00
Rp 200.000,00
31 Januari
Pembelian
300
Rp
1.100,00
Rp 330.000,00
28 Februari
Pembelian
400
Rp
1.160,00
Rp 464.000,00
31 Maret
Pembelian
100
Rp
1.260,00
Rp 126.000,00
Jumlah
Harga/unit
Total Biaya
1000
Rp 1.120.000,00
Tabel 2.5 Contoh Rincian Penjualan Barang dalam Perhitungan Metode LIFO Sumber: Yamit (1999, p203)
Unit Penjualan
Harga/unit
Total Biaya
100
Rp
1.260,00
Rp 126.000,00
400
Rp
1.160,00
Rp 464.000,00
200
Rp
1.100,00
Rp 220.000,00
700
Rp 810.000,00
Tabel 2.6 Contoh Rincian Persediaan Akhir dalam Perhitungan Metode LIFO Sumber: Yamit (1999, p203)
Persediaan Akhir
Unit
Harga/unit
Total Biaya
Pembelian 1 Januari
200
Rp
1.000,00
Rp 200.000,00
Pembelian Januari
100
Rp
1.100,00
Rp 110.000,00
Jumlah
300
Rp 310.000,00
Harga pokok barang yang dijual dengan metode LIFO adalah Rp. 810.000,00, dan nilai persediaan akhir adalah Rp.1.120.000,00 – Rp810.000,00 = Rp.310.000,00 untuk 300 unit. 3. Average Cost Method Di dalam metode ini, biaya yang digunakan adalah biaya rata-rata per unit untuk menentukan harga pokok penjualan, dan harga barang-barang dalam persediaan akhir. Menurut Yamit, metode ini terbagi menjadi 3, yaitu:
31 (contoh soal yang digunakan dalam metode ini adalah sama dengan metode FIFO maupun LIFO) a. Rata-rata Sederhana Perhitungan biaya per unit =
1000 + 1100 + 1160 + 1260 = Rp.1.130,00 per unit. 4
Nilai persedian akhir = (persediaan akhir*biaya per unit) = (300*1130) = Rp.339.000,00 Harga pokok penjualan = (unit dikeluarkan*biaya per unit) = (700*1130) = Rp.791.000,00 b. Rata-rata Tertimbang Perhitungan biaya per unit =
∑ PQ i
N
i
=
1000(200) + 1100(300) + 1160(400) + 1260(100) 1000
= Rp.1.120,00 per unit. Nilai persedian akhir = (persediaan akhir*biaya per unit) = (300*1120) = Rp.336.000,00 Harga pokok penjualan = (unit dikeluarkan*biaya per unit) = (700*1120) = Rp.784.000,00
32 c. Rata-rata Bergerak Tabel 2.7 Contoh Catatan Persediaan dengan Perhitungan Metode Rata-rata Bergerak Sumber: Yamit (1999, p205)
Tanggal
Unit
Harga/unit
Total Biaya
1 Januari 31 Januari 28 Februari 31 Maret
200 300 400 100
Rp 1.000,00 Rp 1.100,00 Rp 1.160,00 Rp 1.260,00
Rp 200.000,00 Rp 330.000,00 Rp 464.000,00 Rp 126.000,00
Rata-rata bergerak Rp Rp Rp Rp
1.000,00 1.060,00 1.104,44 1.120,00
Nilai persediaan akhir = (persediaan akhir*biaya per unit) = (300*1120) = Rp.336.000,00 Harga pokok penjualan = (unit dikeluarkan*biaya per unit) = (700*1120) = Rp.784.000,00 2.6
Kebijakan Persediaan
Kebijakan persediaan dikaitkan dengan waktu pemeriksaan dan kedisiplinan pemesanan yang digunakan untuk pengontrolan persediaan (kapan dilakukan pemesanan dan berapa banyak jumlah pemesanan tersebut). Kebijakan persediaan yang umum digunakan antara lain (Elsayed, 1994, p67) 1. Periodic Review Policy Pada kebijakan ini, tingkat persediaan diperhatikan (diperiksa) dalam jangka waktu tertentu. Jika pada ketetapan waktu yang sudah ditentukan, tingkat persediaan berada di atas titik reorder level, maka tidak ada tindakan yang dilakukan, namun jika tingkat persediaan berada atau di bawah titik reorder level maka akan dilakukan pemesanan hingga pada tingkat target (maksimum).
33 2. Order Up to R Policy Kebijakan ini dapat dikatakan sebagai kebijakan khusus periodic review dengan penggunaan reorder level, target stock level, dan review time period. Titik reorder level adalah sama dengan target stock level.
Pemesanan akan dilakukan pada akhir waktu pemeriksaan yang telah ditentukan sejumlah dari selisih antara target stock level dengan persediaan pada akhir waktu pemeriksaan tersebut. 3. Continuous Review Policy Kebijakan ini adalah sama dengan kebijakan Order Up to R, hanya saja pemeriksaan persediaan dilakukan setiap hari. Hal yang membedakan dengan kebijakan tersebut adalah ketidak harusan melakukan pemesanan di akhir periode, tergantung dari jumlah persediaan pada saat tersebut. 4. Fixed Reorder Quantity Policy Kebijakan ini tidak begitu berbeda dengan kebijakan continuous review, kecuali pada jumlah pemesanan yang tetap setiap dilakukan pemesanan pada saat jumlah persediaan berada di / di bawah titik pemesanan kembali. 5. Base Stock Policy Pada kebijakan ini, reorder level adalah sama dengan target stock level, dan pemesanan dilakukan ketika terjadi penarikan barang dari persediaan. Jumlah persediaan di tangan, dan jumlah yang dipesan adalah sama dengan target stock level di setiap waktu. 2.7
Klasifikasi ABC
Analisa ABC yang dikenal sebagai “Always Better Control” ini merupakan pendekatan yang sangat berguna dalam manajemen material yang berbasiskan hukum
34 Pareto, “Vital few and trivial many”, yang digunakan pada investasi terhadap suatu barang. (Gupta et al, 2007, p325). Jika mengikuti hukum Pareto, maka secara ideal klasifikasi ABC adalah sebagai berikut (Frazelle, 2002, p74) :
2.8
1.
Produk kelas A berjumlah 5 % dan menghasilkan 80% penjualan.
2.
Produk kelas B berjumlah 15% dan menghasilkan 15% penjualan.
3.
Produk kelas C berjumlah 80% dan menghasilkan 5% penjualan.
Pengujian Distribusi Normal
Sebaran peluang kontinu yang paling penting dalam statistika adalah sebaran/distribusi normal dengan kurvanya yang berbentuk genta. Untuk mengetahui apakah suatu populasi mengikuti sebaran normal atau tidak, dapat digunakan goodness of fit (uji kebaikan suai). Uji kebaikan suai merupakan uji yang digunakan untuk
menentukan apakah populasi memiliki suatu distribusi teoritik tertentu. Uji ini didasarkan pada seberapa baik kesesuaian antara frekuensi yang teramati dalam data sampel dengan frekuensi harapan pada distribusi yang dihipotesakan. Langkah-langkah uji kebaikan suai distribusi normal 1.
Tentukan H0 dan H1 H0: populasi data mengikuti distribusi normal H1: populasi data tidak mengikuti distribusi normal
2.
Tentukan taraf nyata (α)
3.
Menentukan daerah kritis Tolak H0 jika χ 2 hitung > χ 2 tabel
35 4.
Perhitungan: a. Membuat selang kelas dengan langkah-langkah yang telah diajarkan pada statistik modul pertama b.
5.
Masukkan data-data yang ada pada tabel perhitungan
Kemudian hitung jumlah χ 2 Rumus:
χ2 = ∑
(oi − ei )2 ei
dimana: oi: Frekuensi observasi (pengamatan) ei: frekuensi harapan 6.
Membuat kesimpulan Terima atau tolak H0 dan simpulkan bahwa populasi mengikuti atau tidak mengikuti distribusi normal.
Catatan: a.
Nilai ei pada setiap kelas harus>=5, jika ada kelas yang memiliki ei<5 , maka kelas tersebut harus digabung dengan kelas lainnya sedemikian rupa sehingga ei μ 5.
b.
χ 2 tabel dicari dengan menggunakan tabel distribusi Khi-kuadrat dengan v (derajat kebebasan) v=k-1-m dimana : k = jumlah kelas terakhir setelah tidak ada lagi sel yang berjumlah kurang dari 5.
36 m = jumlah parameter yang digunakan (untuk binomial = 1 , untuk poisson = 1 , untuk normal = 2). Goodness of Fit (Uji Kebaikan Suai) terdiri dari banyak metode, misalnya chisquare test, Kolgomorov-Smirnov Test dan Anderson-Darling Test . Namun White et al
(1975, p338) mengutarakan bahwa uji yang disarankan untuk digunakan adalah Kolmogorov-Smirnov Test karena secara statistik terbukti lebih baik dibandingkan
dengan Chi-Square Test. Uji 1 sampel Kolmogorov-Smirnov digunakan untuk menentukan seberapa baik sebuah sampel random data menjajagi distribusi teoritis tertentu (normal, uniform, poisson, eksponensial). Uji ini didasarkan pada perbandingan fungsi distribusi kumulatif sampel dengan fungsi distribusi kumulatif hipotesis. 1 Hipotesis: H0: Sampel ditarik dari populasi dengan distribusi tertentu H1: Sampel ditarik bukan dari populasi dengan distribusi tertentu 2 Kaidah pengambilan keputusan: Asymp. Sig < taraf signifikansi atau taraf nyata Æ Tolak H0 Asymp. Sig > taraf signifikansi atau taraf nyata Æ Terima H0
Pengujian Uji 1 sampel Kolmogorov-Smirnov dilakukan dengan menggunakan aplikasi SPSS dengan langkah-langkah berikut ini. 1. Mendefinisikan data pada kolom pertama. 2. Memasukkan data pada kolom pertama. 3. Pada menu utama, pilih : Analyze Æ Nonparametric Test Æ 1 Sample KS a. Pada Test Variable List masukkan variabel yang akan diuji b. Pada Test Distribution pilihlah normal.
37 4. Klik OK.
Gambar 2.1 Kotak Dialog One Sample Kolmogorov-Smirnov
Sumber: http://www.mathnstuff.com/math/spoken/here/2class/90/normal.htm
Gambar 2.2 Distribusi Normal 2.9
Peramalan
Peramalan menurut Makridakis (1999,p14) adalah suatu kemampuan untuk memperkirakan / menduga keadaan permintaan produk di masa datang yang tidak pasti. Dengan memperkirakan hal yang akan terjadi, tindakan yang tepat dapat diambil untuk dapat menanganinya.
38 Berdasarkan horizon waktu, peramalan dapat dikelompokkan menjadi 3 kategori, yaitu : 1. Peramalan Jangka Pendek Peramalan jangka pendek adalah peramalan yang jangka waktunya mencapai satu tahun tetapi umumnya kurang dari tiga bulan. Peramalan ini digunakan untuk merencanakan pembelian, penjadwalan kerja, jumlah tenaga kerja, penugasan dan tingkat produksi. 2. Peramalan Jangka Menengah Peramalan jangka menengah adalah peramalan yang jangka waktunya diantara tiga bulan sampai tiga tahun. Permalan ini digunakan untuk merencanakan penjualan, perencanaan dan penganggaran produksi, penganggaran kas dan menganalisis berbagai rencana operasi. 3. Peramalan Jangka Panjang Peramalan jangka penjang adalah peramalan yang jangka waktunya lebih dari tiga tahun atau lebih. Peramalan ini digunakan untuk merencanakan produk baru, pengeluaran modal, pemilihan lokasi fasilitas-fasilitas atau ekspansi dan penelitian serta pengembangan. 2.10
Pendekatan Peramalan
Ada dua pendekatan umum dalam peramalan, yaitu (Baroto, 2002, p27): 1. Peramalan kualitatif (subjektif) Metode kualitatif biasanya digunakan bila tidak ada atau sedikit data masa lalu tersedia. Dalam metode ini, pendapat pakar dan prediksi mereka dijadikan dsar untuk menetapkan permintaan yang akan datang. Metode
39 kualitatif yang banyak dikenal adalah metode Delphi dan metode kelompok nominal (nominal group technique). 2. Peramalan kuantitatif Pada metode ini, suatu set data historis (masa lalu) digunakan untuk mengekstrapolasi (meramalkan) permintaan masa depan. Ada dua kelompok besar metode kuantitatif, yaitu metode time series yang menggunakan waktu sebagai dasar peramalan, dan metode nontime series (structural models). Metode kuantitatif nontime series adalah metodemetode ekonometrik, metode analisis input-output, metode regresi dengan variabel bebas bukan waktu. Beberapa metode time series diantaranya adalah sebagai berikut : 1.
Double Exponential Smoothing
Metode peramalan ini mudah digunakan dan efisien. Metode ini menggunakan Faktor penghalusan yakni nilai alpha. Nilai alpha ini bersifat bebas atau subjektif dengan rentang dari 0 sampai 1. Dibawah ini adalah rumus – rumus yang digunakan dalam Metode Double Exponential Smoothing: S’ T = α . X T + (1 − α )S (t −1)
S” T = α .S 'T +(1 − α )S "(t −1)
a t = 2S 't − S "t bt =
α (S 'T − S "T ) 1−α
FT + m = at + bt m
40 Inisialisasi : X1 = S’1 = S”1 2.
Double Moving Average Metode ini termasuk dalam moving averages atau rata-rata bergerak. Metodi ini digunakan bila kita mengasumsikan bahwa permintaan pasar tetap stabil sepanjang waktu. Rumus yang dipakai yaitu : S’ T=
X t + X t −1 + X t − 2 + ... + X t − N +1 N
S” T =
S 't + S ' t −1 + S 't − 2 +... + S ' t − N +1 N
a t = S 't + (S 't − S "t ) = 2 S ' t − S "t bt =
2 (S 'T − S "T ) N −1
Ft + m = at + bt m 3.
Regresi Linier Pada metode ini, penjualan akan disebut variabel tidak bebas (dependent variable) dan variabel-variabel lain disebut variabel bebas (independent variable). Model peramalan kausal kuantitatif yang paling umum adalah analisis regresi linear. Rumus regresi linear sederhana, yaitu : y t = a + bt b=
n ∑ ty − ∑ t ∑ y n ∑ t 2 − (∑ t )2 −
−
a = y− b t
41 dimana y = nilai peramalan a = konstanta y b = nilai kemiringan n = jumlah data t =indeks penunjuk Pada metode time series, salah satu langkah dalam memilih metodenya adalah dengan mempertimbangkan jenis pola data. Pola data terbagi menjadi : 1. Pola Stasioner atau Horizontal (H) Terjadi jika nilai data berfluktuasi di sekitar nilai mean atau rata-rata yang konstan. Deret seperti itu stasioner terhadap nilai rata-ratanya. Suatu produk yang penjualannya tidak meningkat atau menurun selama waktu tertentu termasuk jenis ini.
Waktu
Sumber: Yamit (1999, p20)
Gambar 2.3 Pola Data Horisontal 2. Pola musiman (S) Terjadi bilamana suatu deret dipengaruhi oleh faktor musiman (misalnya kuartal tahun tertentu, bulanan, atau hari-hari pada minggu tertentu).
42 Penjualan dari produk minuman ringan, es krim, dan bahan bakar pemanas ruangan, menunjukkan jenis pola ini.
Waktu Sumber: Yamit (1999, p20)
Gambar 2.4 Pola Data Musiman 3. Pola Siklis (C) Terjadi bilamana datanya dipengaruhi oleh fluktuasi ekonomi jangka panjang seperti yang berhubungan dengan siklus bisnis. Penjualan produk seperti mobil, baja dan peralatan utama lainnya menunjukkan jenis pola data ini.
Waktu Sumber: Yamit (1999, p21)
Gambar 2.5 Pola Data Siklis 4. Pola trend (T) Terjadi bilamana terdapat kenaikan atau penurunan sekuler jangka panjang dalam data. Penjualan banyak perusahaan, produk bruto nasional
43 (GNP) dan berbagai indikator bisnis atau ekonomi lainnya mengikuti pola trend selama perubahannya sepanjang waktu.
Waktu Sumber: Yamit (1999, p21)
Gambar 2.6 Pola Data Trend 2.11
Pemilihan Metode Peramalan
Jika Xt merupakan data aktual untuk periode t dan Ft merupakan ramalan (atau nilai kecocokan / fitted value) untuk periode yang sama, maka kesalahan didefinisikan sebagai :
et = X t − Ft Pertimbangan diterimanya sebuah metode peramalan adalah melalui kriteriakriteria berikut ini : 1. Mean Absolute Error (MAE)
MAE =
1 n ∑ et n t =1
2. Mean Square of Error (MSE)
MSE =
1 n 2 ∑ et n t=1
44 3. Mean Absolute Procentage of Error (MAPE) MAPE =
1 n ∑ PEt n t =1
Dimana :
⎛ X −F ⎞ PE = ⎜⎜ t t ⎟⎟ *100% ⎝ Xt ⎠ 4. Isyarat Tracking Signal Isyarat arah merupakan pengukuran tentang sejauh mana ramalan memprediksi nilai aktual dengan baik. Jika ramalan diperbaharui setiap minggu, bulan, atau kuartal, maka data permintaan yang baru tersedia akan dibandingkan dengan nilai ramalannya. Isyarat arah ini dihitung sebagai jumlah kesalahan ramalan yang berjanalan (running sum of the forecast error atau RSFE) dibagi dengan Mean Absolute Deviation (MAD). Rumus: Isyarat tanda (tracking signal) =
=
RSFE MAD
∑ (Per min taan Aktual dalam Periode − Per min taan Ramalan Periode i ) MAD
dimana,
MAD =
∑ (Kesalahan Peramalan) n
Jika hasil perhitungan menunjukkan isyarat arah positif maka berarti bahwa permintaan lebih besar dari ramalan. Jika isyarat arah negatif menunjukan bahwa permintaan lebih kecil dari ramalan. Isyarat arah yang baik, yaitu
45 yang memiliki RSFE rendah dan memiliki bias positif sebanyak bias negatifnya. Dengan kata lain, bias yang kecil tidak masalah, tetapi bias positif dan negatif seharusnya saling menyeimbangkan sehingga tanda penelurusan berada disekeliling bias nol. 2.12
Metode Pemesanan
Terdapat empat metode perancangan dasar untuk melakukan pemesanan yang kerap digunakan di dalam industri manapun, antara lain : (ROP, EOQ), (ROP, OUL), (RTP, OUL), dan (RTP, ROP, OUL) (Frazelle, 2002, p129). Keterangan : ROP
: Reorder Point (dikenal juga sebagai Reorder Level)
EOQ
: Economic Order Quantity
OUL
: Order Up to Level (dikenal juga sebagai Target Stock Level)
RTP
: Review Time Period
1. (ROP, EOQ) Metode ini termasuk dalam continuous review, dimana sejumlah quantity atau sejumlah EOQ dipesan ketika level persedian menurun hingga titik
reorder point atau titik pemesanan kembali. Ini merupakan kebijakan pengontrolan persediaan yang paling mudah. ROP biasanya terhitung dengan safety stock ditambahkan dengan permintaan selama lead time yang sudah diramalkan. Kelebihan menggunakan EOQ adalah meminimasikan jumlah pemesanan dan biaya penyimpanan pemesanan, namun yang menjadi kekurangannya adalah diperlukannya pemeriksaan persediaan setiap saat.
46 2. (ROP, OUL) Metode ini termasuk dalam continuous review, dimana sejumlah persediaan dipesan hingga titik target stock level, dan pemesanan tersebut dilakukan ketika level persediaan menurun hingga titik reorder point. OUL ditetapkan untuk menghindari terjadinya stockout. 3. (RTP, OUL) Pada metode RTP, waktu untuk dilakukan pemesanan sudah ditetapkan, dan pemesanan dilakukan rutin pada RTP tersebut. Jumlah pemesanan adalah jumlah yang akan menaikkan level persediaan hingga titik target
stock level. Salah satu kekurangan dari penggunaan metode ini adalah persediaan yang akan selalu penuh akan mengacu pada biaya penyimpanan pemesanan yang cukup tinggi. Disamping hal tersebut, karena pemeriksaan dilakukan hanya secara berkala, sehingga dapat terjadi stockout sebelum dilakukan pemesanan kembali. 4. (RTP, ROP, OUL) Pada metode ini, setiap RTP dilakukan pemesanan hingga titik target stock
level jika titik persediaan sudah berada atau dibawah titik ROP. Metode ini dapat dikatakan sebagai metode yang paling sedikit mengeluarkan biaya, tetapi paling sulit untuk dimengerti dan memungkinkan terjadinya stockout ketika pada periode pemeriksaan tersebut titik persediaan sudah berada dekat dengan titik ROP. 2.12.1 Penghitungan Reorder Point
Penghitungan reorder point menurut Waters (1992, p156) adalah sebagai berikut
47
Reorder Point = ROP = lead time demand + Safety Stock = ( D * LT ) + (Z * σ *
LT )
2.12.2 Penghitungan Review Time Period
Penghitungan review time period yang dilakukan adalah untuk multi item (jumlah item yang dipesan pada satu supplier adalah lebih dari satu item).
T* =
⎛ n ⎞ ⎜ 2∑ A j ⎟ ⎜ ⎟ ⎝ j =1 ⎠ ⎛ n ⎞ ⎜ i∑ C j D j ⎟ ⎜ ⎟ ⎝ j =1 ⎠
j=1,2,3,...n
Dimana : A
= Biaya pemesanan
C
= Biaya pembelian item tersebut
D
= Rata-rata permintaan untuk setahun
2.12.3 Penghitungan Order Up to Level
Penghitungan order up to level adalah dengan menghitung target stock level sebagai titik maksimum suatu persediaan. Penghitungan target stock level disesuaikan dengan waktu pemeriksaan (T) yang telah dihitung dari review time period.
Target Stock Level = ( demand over T+LT ) + ( Safety Stock over T+LT ) = ( D * ( T + LT ) ) + ( Z * σ *
( T + LT ) )
2.13.4 Penghitungan Safety Stock
Seperti yang diutarakan pada subbab 2.2, safety stock atau stok pengaman merupakan persediaan yang diadakan dalam mengantisipasi ketidakpastian persediaan dan permintaan. Menurut Baroto (2002, p97), penggunaan safety stock tidak dapat diterapkan pada semua item. Penggunaan safety stock haruslah tepat, sehingga tidak
48 terjadi stockout pada item yang permintaannya tinggi, dan biaya persediaan yang tinggi terhadap item yang sulit terjual. Karena itu, permasalahan ini diselesaikan dengan klasifikasi ABC, sehingga hanya item yang dianggap vital yang diberlakukan penggunaan safety stock. Rumus yang digunakan untuk perhitungan safety stock :
SS = Z * σ * LT Dimana : Z
= Nilai yang didapatkan berdasarkan service level yang ditetapkan
σ
= Standar Deviasi
LT
= lead time = waktu pengiriman Tabel 2.8 Tabel Nilai Z Sumber: Waters (1992, p155)
Z 0,00 0,84 1,00 1,04 1,28 1,48 1,64 1,88 2,00 2,33 2,58 3,00
Percentage of cycles with shortages (%) 50,0 20,0 15,9 15,0 10,0 7,0 5,0 3,0 2,3 1,0 0,5 0,1
Cycle service level (%) 50,0 80,0 84,1 85,0 90,0 93,0 95,0 97,0 97,7 99,0 99,5 99,9
49 2.13
Sistem Informasi
2.13.1
Pengertian Sistem
Menurut McLeod (2001, p11) sistem merupakan sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Contoh suatu organisasi atau bidang fungsional cocok untuk menggambarkan ini, dimana organisasi terdiri dari bidang-bidang fungsional yang semuanya mengacu pada tercapainya tujuan organisasi yang telah ditetapkan. Sistem ini sendiri terdiri dari dua jenis, yaitu sistem terbuka dan sistem tertutup. Suatu sistem yang dihubungkan dengan lingkungannya melalui arus sumber daya disebut sistem terbuka, sedangkan jika sistem tidak lagi dihubungkan dengan lingkungannya maka ini disebut sistem tertutup. Menurut O’Brien (2003, p8) sistem adalah sebuah kelompok yang terintegrasi dan bekerja sama untuk mencapai tujuan yang sama dengan menerima masukan (inputs) dan menghasilkan keluaran (outputs) dalam sebuah proses transformasi yang terorganisir dengan baik. Sistem adalah suatu jaringan prosedur yang dibuat menurut pola yang terpadu untuk melaksanakan kegiatan pokok perusahaan atau mencapai tujuan tertentu dari perusahaan. Model dasar dari sistem ialah sebagai berikut:
a. Input Merupakan sekumpulan data baik dari dalam organisasi maupun dari luar organisasi yang akan digunakan dalam proses sistem informasi.
50
b. Process Merupakan kegiatan konversi, manipulasi, dan analisis dari data input menjadi lebih berarti bagi manusia.
c. Output Merupakan proses mendistribusikan informasi kepada orang atau kegiatan yang memerlukannya.
d. Feedback Merupakan output yang dikembalikan kepada orang-orang dalam organisasi untuk membantu mengevaluasi input. e. Subsistem Merupakan sebagian dari sistem yang mempunyai fungsi khusus. Masingmasing subsistem itu sendiri mempunyai komponen input, process, output, dan
feedback. Sistem terdiri dari elemen-elemen yang menunjang terbentuknya sistem itu sendiri yaitu input, proses transformasi, output. Dimana elemen umpan balik (feedback) terkadang digunakan untuk menampung informasi dari output system dan memberikan kepada sistem sebagai input baru. 2.13.2
Pengertian Informasi
McLeod (2001, p12) berpendapat informasi adalah data yang telah diproses atau data yang memiliki arti. Sedangkan menurut O’Brien (2004, p13) informasi adalah data yang telah dikonversikan menjadi konteks yang berarti dan berguna bagi pemakai tertentu. Terdapat empat dimensi informasi menurut McLeod (2001, p145), yaitu :
51
•
Ketepatan waktu Informasi harus dapat tersedia untuk memcahkan masalah pada waktu yang tepat sebelum situasi menjadi tidak terkendali atau kesempatan yang ada menghilang.
•
Kelengkapan Perusahaan khususnya manajer harus dapat memperoleh informasi yang memberi gambaran lengkap dari suatu permasalahan atau penyelesaian. Namun pemberian informasi yang tidak berguna secara berlebihan harus dihindari.
•
Akurasi Secara ideal, semua informasi harus akurat untuk menunjang terbentuknya system yang akurat pula. Akurasi ini terutama diperlukan dalam aplikasiaplikasi tertentu seperti aplikasi yang melibatkan keuangan, semakin teliti informasi yang diinginkan maka biaya pun semakin bertambah.
•
Relevansi Informasi disebut relevan jika informasi tersebut berkaitan langsung dengan masalah yang sedang dihadapi. Manajer harus mampu memilih informasi yang diperlukan.
2.13.3
Pengertian Sistem Informasi
Menurut O’Brien (2003, p7), sebuah sistem informasi dapat berupa kombinasi teratur dari orang, hardware, software, jaringan komunikasi dan sumber data yang mengumpulkan, mengubah dan menyebarkan informasi di dalam suatu organisasi. Menurut Laudon (2003, p7), sistem informasi adalah sebuah kumpulan dari komponen-komponen yang saling berhubungan yang mengumpulkan (atau mengambil
52 kembali), mengolah, menyimpan dan mendistribusikan informasi untuk mendukung pengambilan keputusan, koordinasi dan pengendalian di dalam sebuah organisasi. Jadi sistem informasi adalah elemen-elemen yang saling berkaitan dengan menggunakan sumber daya untuk mengolah masukan berupa data menjadi keluaran berupa informasi, sehingga berguna bagi pihak yang membutuhkannya. 2.14
Object Oriented Analysis and Design (OOAD)
Object-Oriented Analysis and Design (OOAD) adalah metode untuk menganalisa dan merancang sistem dengan pendekatan berorientasi object (Mathiassen et al, 2000, p135). Object diartikan sebagai suatu entitas yang memiliki identitas, state dan behavior (mathiassen et al, 2000, p4). Pada analisa, identitas sebuah object menjelaskan bagaimana seorang user membedakannya dari object lain, dan behavior
object digambarkan melalui event yang dilakukannya. Sedangkan pada perancangan, identitas sebuah object digambarkan dengan cara bagaimana object lain mengenalinya sehingga dapat diakses, dan behavior object digambarkan dengan operation yang dapat dilakukan object tersebut yang dapat mempengaruhi object lain dalam sistem. 2.14.1
Objek dan Class
Objek merupakan sebuah entitas yang memiliki identitas, status, dan perilaku (Mathiassen et al., 2000,p4). Contoh dari objek misalnya pelanggan yang merupakan entitas dengan identitas yang spesifik, dan memiliki status dan perilaku tertentu yang berbeda antara satu pelanggan dengan pelanggan yang lain. Sedangkan class merupakan deskripsi dari kumpulan objek yang memiliki struktur, pola perilaku, dan atribut yang sama (Mathiassen et al., 2000,p4). Untuk dapat lebih memahami objek, biasanya objekobjek tersebut sering digambarkan dalam bentuk class.
53 2.14.2
Konsep Object Oriented Analysis and Design (OOAD)
Terdapat tiga buah konsep atau teknik dasar dalam proses analisa dan perancangan berorientasi objek, yaitu: 1. Encapsulation
Encapsulation dalam bahasa pemrograman berorientasi objek secara sederhana berarti pengelompokkan fungsi. Pengelompokkan ini bertujuan agar developer tidak perlu membuat coding untuk fungsi yang sama, melainkan hanya perlu memanggil fungsi yang telah dibuat sebelumnya. 2. Inheritance
Inheritance dalam bahasa pemrograman berorientasi objek secara sederhana berarti menciptakan sebuah class baru yang memiliki sifat-sifat dan karakteristik-karakteristik sama dengan yang dimiliki class induknya disamping sifat-sifat dan karakteristik-karakteristk individualnya. 3. Polymorphism
Polymorphism berarti kemampuan dari tipe objek yang berbeda untuk menyediakan atribut dan operasi yang sama dalam hal yang berbeda.
Polymorphism adalah hasil natural dari fakta bahwa objek dari tipe yang berbeda atau bahkan dari sub-tipe yang berbeda dapat menggunakan atribut dan operasi yang sama. 2.14.3
Keuntungan dan Kelemahan Object Oriented Analysis and Design (OOAD)
Mathiassen et al. (2000, p5-6) menyebutkan bahwa terdapat keuntungan menggunakan OOAD diantaranya adalah: 1. OOAD memberikan informasi yang jelas mengenai context sistem.
54 2. Dapat menangani data yang seragam dalam jumlah yang besar dan mendistribusikannya ke seluruh bagian organisasi. 3. Berhubungan
erat
dengan
analisa
berorientasi
objek,
perancangan
berorientasi objek, user interface berorientasi objek, dan pemrograman berorientasi objek. Selain keuntungan yang diperoleh dalam menggunakan OOAD seperti yang telah disebutkan di atas, ternyata juga terdapat beberapa kelemahan yang berhasil diidentifikasi oleh McLeod (2001, p615) yaitu: 1. Diperlukan waktu lama untuk memperoleh pengalaman pengembangan. 2. Kesulitan metodologi untuk menjelaskan sistem bisnis yang rumit. 3. Kurangnya pilihan peralatan pengembangan yang khusus disesuaikan untuk sistem bisnis. 2.14.4
Aktivitas Utama Object Oriented Analysis and Design (OOAD)
Mathiassen et al. (2000, p14-15) menjelaskan empat buah aktivitas utama dalam analisa dan perancangan berorientasi objek yang digambarkan dalam Gambar 2.7 berikut ini.
55
Sumber: Mathiassen et al (2000, p15)
Gambar 2.7 Aktivitas Utama dalam OOAD menurut Berikut ini merupakan penjelasan lebih rinci mengenai keempat aktivitas utama dalam melakukan analisa dan perancangan berorintasi objek menurut Mathiassen et al. (2000, pp14-15): 1.
Analisis Problem Domain Problem domain merupakan bagian dari situasi yang diatur, diawasi, dan dikendalikan oleh sistem. Tujuan melakukan analisis problem domain adalah mengidentifikasi dan memodelkan problem domain. Analisis problem domain terbagi menjadi tiga aktivitas yang digambarkan dalam Gambar 2.8, yaitu: a. Memilih objek, class, dan event yang akan menjadi elemen model problem domain. b. Membangun model dengan memusatkan perhatian pada relasi struktural antara class dan objek.
56 c. Mendeskripsikan properti dinamis dan atribut untuk setiap class.
Sumber : Mathiassen et al (2000, p46)
Gambar 2.8 Aktivitas Analisis Problem Domain Pada aktivitas classes, langkah awal yang perlu dilakukan adalah menentukan class. Langkah berikutnya adalah membuat sebuah event table yang dapat membantu menentukan event-event yang dimiliki oleh setiap. Pada aktivitas structure, class-class yang telah ditentukan sebelumnya akan dihubungkan berdasarkan tiga jenis hubungan yaitu generalisasi, agregasi, atau asosiasi sehingga menjadi sebuah skema yang disebut class diagram. Dalam aktivitas behavior, definisi class dalam class diagram akan diperluas dengan menambahkan deskripsi pola perilaku dan atribut dari masing-masing class. Pola perilaku dari class terdiri dari tiga jenis, yaitu: •
Sequence Merupakan event yang terjadi secara berurutan satu per satu.
•
Selection Merupakan pemilihan salah satu dari beberapa event yang terjadi.
•
Iteration Merupakan event yang terjadi berulang kali.
57 Hasil dari aktivitas ini adalah sebuah statechart diagram yang menunjukkan perubahan status dari masing-masing class yang dikarenakan oleh event tertentu mulai dari initial state sampai dengan final state. 2. Analisis Application Domain Menurut Mathiassen, et al (2000, p115) application-domain adalah organisasi yang mengatur, memonitor atau mengendalikan problem-domain. Analisis application-domain memfokuskan bagaimana target dalam sistem akan digunakan dengan menentukan function dan interface sistem. Sama seperti analisis problem domain, analisis application
domain juga terdiri
dari beberapa aktivitas antara lain: a. Menentukan penggunaan sistem dan bagaimana sistem berinteraksi dengan user. b. Menentukan fungsi dan kemampuan sistem dalam mengolah informasi. c. Menentukan kebutuhan interface sistem dan merancang interface. Berikut ini merupakan gambaran aktivitas-aktivitas yang dilakukan pada saat melakukan analisis application domain.
Sumber: Mathiassen et al (2000, p117)
Gambar 2.9 Aktivitas Analisis Application Domain
58
•
Usage Menurut Mathiassen, et al (2000, p119-120) kegiatan usage adalah kegiatan pertama dalam analisis application-domain yang bertujuan untuk menentukan bagaimana aktor-aktor yang merupakan pengguna atau sistem yang berinteraksi dengan sistem yang dituju. Interaksi antara aktor dengan sistem tersebut dinyatakan dalam use case diagram. Use case dapat dimulai oleh aktor atau oleh sistem target. Hasil dari analisis kegiatan usage ini adalah deskripsi lengkap dari semua use case dan aktor yang ada yang digambarkan dalam tabel aktor atau use case diagram. Cara untuk mengidentifikasi aktor adalah mengetahui alasan aktor 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. Masing-masing aktor memiliki peran yang berbeda-beda. 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
59 •
Function Menurut Mahiassen, et al (2000, p137-138). Function memfokuskan pada bagaimana cara sebuah sistem dapat membantu aktor dalam melaksanakan pekerjaan mereka. Function memiliki empat tipe yang berbeda, yaitu: 1. Update Fungsi update diaktifkan oleh event problem domain dan menghasilkan perubahan status model. 2. Signal Fungsi signal diaktifkan oleh perubahan status model dan menghasilkan reaksi di dalam context. 3. Read Fungsi read diaktifkan oleh kebutuhan actor akan informasi dan menghasilkan tampilan model sistem yang relevan. 4. Compute Fungsi compute diaktifkan oleh kebutuhan actor akan informasi dan berisi perhitungan yang dilakukan baik oleh actor maupun oleh model. Hasilnya adalah tampilan dari hasil perhitungan yang dilakukan. Tujuan dari kegiatan function adalah untuk menentukan kemampuan sistem memproses informasi. Hasil dari kegiatan ini adalah sebuah daftar
function-function
yang
merinci
function-function
yang
kompleks. Daftar function harus lengkap menyatakan secara
60 keseluruhan kebutuhan kolektif dari pelanggan dan aktor sehingga harus konsisten dengan use case. Cara untuk mengidentifikasi function adalah dengan melihat deskripsi problem domain yang dinyatakan dalam kelas dan event, dan melihat deskripsi application domain yang dinyatakan dalam use case. Kelas dapat menyebabkan munculnya kebutuhan terhadap function update, sementara usecase dapat menyebabkan munculnya segala macam tipe function. •
User Interface Menurut
Mahiassen,
et
al
(2000,
p151-152).
Interface
menghubungkan sistem dengan semua aktor yang berhubungan dalam konteks. Ada dua jenis interface, yaitu: interface pengguna yang menghubungkan pengguna dengan sistem dan interface sistem yang menghubungkan sistem dengan sistem lainya. Sebuah user interface yang baik harus dapat beradaptasi dengan pekerjaan dan pemahaman user terhadap sistem. Kualitas interface 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. Kegiatan analisis user interface ini berdasarkan pada hasil dari kegiatan analisis lainnya, seperti model problem domain, kebutuhan functional dan use case. Hasil dari kegiatan ini adalah sebuah deskripsi elemen-elemen interface pengguna dan interface sistem
61 yang
lengkap,
dimana
kelengkapan
menunjukan
pemenuhan
kebutuhan pengguna. Hasil ini harus dilengkapi dengan sebuah diagram navigasi yang menyediakan sebuah ringkasan dari elemenelemen user interface dan perubahan antara elemen-elemen tersebut (p159). 3. Architectural Design Architectural design berfungsi sebagai kerangka kerja dalam aktivitas pengembangan sistem dan menghasilkan struktur komponen dan proses sistem. Tujuannya adalah untuk menstrukturisasi sebuah sistem yang terkomputerisasi. Tahap architectural design terdiri dari tiga aktivitas yaitu criteria, component architecture, dan process architecture seperti yang digambarkan pada Gambar 2.10
Sumber: Mathiassen et al (2000, p176)
Gambar 2.10 Aktivitas Architectural Design Criterion merupakan properti yang diinginkan dari sebuah arsitektur. Tabel 2.9 menunjukkan criterion yang telah ditentukan oleh para peneliti untuk menentukan kualitas dari sebuah software.
62 Tabel 2.9 Criteria untuk Menentukan Kualitas Software Sumber: Mathiassen (2000, p178)
Secure
Ukuran Kemampuan sistem beradaptasi dengan context organisasional dan teknikal Pencegahan akses ilegal terhadap data dan fasilitas
Efficient
Eksploitasi ekonomis dari fasilitas technical platform
Correct
Kesesuaian dengan kebutuhan
Reliable
Fungsi yang dijalankan secara tepat Biaya untuk mencari dan memperbaiki kerusakan sistem Biaya untuk menjamin bahwa sistem melakukan fungsinya Biaya memodifikasi sistem
Criterion Usable
Maintainable Testable Flexible
Comprehensible Usaha yang diperlukan untuk memahami sistem Penggunaan bagian dari sistem ke dalam sistem lain Reusable yang berkaitan Biaya memindahkan sistem ke technical platform lain Portable Interoperable
Biaya pemasangan sistem dengan sistem lain
Mathiassen et al. (2000, pp179-182) menyebutkan bahwa kriteria usable, flexible, dan comprehensible tergolong sebagai kriteria umum yang harus dimiliki oleh sebuah sistem dan menentukan baik tidaknya suatu rancangan sistem. Component architecture adalah struktur sistem dari komponen-komponen yang berkaitan. Dalam aktivitas ini, perlu ditentukan pola arsitektural yang paling sesuai dengan model sistem. Pola-pola arsitektural tersebut antara lain: •
Layered Architecture Pattern
•
Generic Architecture Pattern
•
Client-Server Architecture Pattern
Hasil dari aktivitas ini adalah sebuah component diagram yang merupakan class diagram yang dilengkapi dengan spesifikasi komponen yang kompleks.
63 Process architecture adalah sebuah struktur eksekusi sistem yang terdiri dari proses-proses yang saling tergantung satu sama lain. Dalam aktivitas ini juga perlu menentukan pola distribusi yang sesuai dengan model sistem. Pola-pola distribusi yang ada antara lain: •
Centralized Pattern
•
Distributed Pattern
•
Decentralized Pattern
Hasil dari aktivitas ini adalah sebuah deployment diagram yang menunjukkan processor dengan komponen program dan active objects. 4. Component Design Menurut Mathiassen, et al. (2000, p231) Component design bertujuan untuk menentukan implementasi kebutuhan di dalam kerangka kerja arsitektural. Kegiatan component design bermula dari spesifikasi arsitektural dan kebutuhan sistem. Hasilnya adalah
deskripsi mengenai komponen-
komponen yang saling berhubungan dengan sistem. Component design terdiri dari tiga aktivitas, yaitu: a. Model component Menurut Mathiassen, et al (2000, p235) Model component adalah bagian dari sistem yang mengimplementasikan model problem domain. Konsep utama dalam desain komponen model adalah struktur. Dalam aktivitas ini dihasilkan sebuah class diagram yang telah direvisi.
64 b. Function component Menurut Mathiassen, et al (2000, p251) komponen function adalah bagian dari sistem yang mengimplementasikan kebutuhan fungsional. Tujuan dari function komponen adalah memberikan akses bagi usr interface dan komponen sistem lainnya ke model. c. Connecting component Merupakan desain hubungan antar komponen untuk memperoleh rancangan yang fleksibel dan mudah dimengerti. Hasilnya adalah class diagram yang berhubungan dengan komponen-komponen sistem. Gambar 2.10 berikut ini menggambarkan aktivitas-aktivitas yang terdapat dalam component design.
Sumber: Mathiassen (2000, p232)
Gambar 2.11 Aktivitas Component Design 2.15
Unified Modeling Language (UML)
2.15.1
Sejarah UML Pada akhir tahun 80-an dan awal tahun 90-an, sudah banyak terdapat metode
pemodelan berorientasi objek yang digunakan pada industri-industri, diantaranya Booch
65 Method, Object Modeling Technique (OMT) yang diperkenalkan oleh James Rumbaugh, dan Object-Oriented Software Engineering (OOSE) yang diperkenalkan oleh Ivar Jacobson. Keberadaan berbagai metode tersebut justru menjadi masalah utama dalam pengembangan sistem berorientasi objek, karena dengan banyaknya metode pemodelan objek yang digunakan akan membatasi kemampuan untuk berbagi model antar proyek dan antar tim pengembang. Hal tersebut disebabkan oleh berbedanya konsep masingmasing metode pemodelan objek sehingga menghambat komunikasi antara anggota tim dengan user yang berujung pada banyaknya kesalahan atau error pada proyek. Dikarenakan masalah-masalah tersebut, maka diperlukanlah suatu standarisasi penggunaan bahasa pemodelan. Pada tahun 1994, Grady Booch dan James Rumbaugh bekerja sama dan menyatukan metode pengembangan berorientasi objek mereka dengan tujuan untuk menciptakan sebuah sistem pengembangan berorientasi objek yang standar. Pada tahun 1995 Ivar Jacobson ikut bergabung dengan mereka dan ketiganya memusatkan perhatian untuk menciptakan sebuah bahasa pemodelan objek yang standar, bukan lagi berkonsentrasi pada metode atau pendekatan berorientasi objek. Berdasarkan pemikiran ketiga tokoh tersebut, maka akhirnya pada tahun 1997 bahasa pemodelan objek standar Unified Modeling Language (UML) versi 1.0 mulai diperkenalkan kepada masyarakat luas. UML bukan merupakan metode untuk mengembangkan sistem, melainkan hanya berupa notasi yang kemudian pada saat ini diterima dengan luas sebagai bahasa pemodelan objek yang standar. Object Management Group (OMG) mengadopsi UML pada bulan November 1997 dan sejak saat itu terus mengembangkannya berdasarkan
66 pada kebutuhan dunia industri. Pada tahun 2004, telah diluncurkan UML versi 1.4 dan pada saat itu juga OMG telah mulai merencanakan pengembangan UML versi 2.0. 2.15.2
Notasi UML Notasi (Mathiassen et al, 2000, p237) adalah bahasa textual dan graphical
untuk menggambarkan sebuah sistem dan konteksnya yang diformalisasikan secara terpisah. Tujuannya adalah untuk menyederhanakan komunikasi dan dokumentasi. 2.15.2.1 Class Diagram Class Diagram menggambarkan struktur objek dari sistem. Class diagram menunjukkan class objek yang membentuk sistem dan hubungan struktural diantara class objek tersebut (Mathiassen et al., 2000, p336). Terdapat tiga jenis hubungan antar class yang biasa digunakan dalam class diagram (Whitten et al., 2004, p455-459). Ketiga jenis hubungan tersebut antara lain: 1. Asosiasi Asosiasi merupakan hubungan statis antar dua objek atau class. Hubungan ini menggambarkan apa yang perlu diketahui oleh sebuah class mengenai class lainnya. Hubungan ini memungkinkan sebuah objek atau class mereferensikan objek atau class lain dan saling mengirimkan pesan.
Gambar 2.12 Contoh Hubungan Asosiasi 2. Generalisasi (atau Spesialisasi) Dalam hubungan generalisasi, terdapat dua jenis class, yaitu class supertype dan class subtype. Class supertype atau class induk memiliki atribut dan behavior yang umum dari hirarki tersebut. Class subtype atau class anak
67 memiliki atribut dan behavior yang unik dan juga memiliki atribut dan behavior milik class induknya. Class induk merupakan generalisasi dari class anaknya, sedangkan class anak merupakan spesialisai dari class induknya.
Gambar 2.13 Contoh Hubungan Generalisasi 3. Agregasi Agregasi merupakan hubungan yang unik dimana sebuah objek merupakan bagian dari objek lain. Hubungan agregasi tidak simetris dimana jika objek B merupakan bagian dari objek A, namun objek A bukan merupakan bagian dari objek B. Pada hubungan ini, objek yang menjadi bagian dari objek tertentu tidak akan memiliki atribut atau behavior dari objek tersebut.
Gambar 2.14 Contoh Hubungan Agregasi 2.15.2.2 Statechart Diagram Statechart Diagram digunakan untuk memodelkan perilaku dinamis dari sebuah objek dalam sebuah class yang spesifik dan berisi state dan transition (Mathiassen et al., 2000, p341). Statechart diagram mengilustrasikan siklus objek hidup
68 yaitu berbagai status yang dapat dimiliki objek dan event yang menyebabkan status objek berubah menjadi status lain (Whitten et al., 2004, p700). Statechart diagram dibuat dengan langkah-langkah sebagai berikut (Whitten et al., 2004, p700): 1. Mengidentifikasi initial dan final state. 2. Mengidentifikasi status objek selama masa hidup objek tersebut. 3. Mengidentifikasi event pemicu perubahan status objek. 4. Mengidentifikasi jalur perubahan status.
Sumber: Mathiassen et al. (2000, p425)
Gambar 2.15 Contoh Statechart Diagram 2.15.2.3 Use Case Diagram Use Case Diagram menggambarkan interaksi antara sistem dan user (Whitten et al., 2004, p441). Use case diagram mendeskripsikan secara grafis hubungan antara actors dan use case (Mathiassen et al., 2000, p343). Penjelasan use case biasa ditambahkan untuk menjelaskan langkah-langkah interaksi.
69
Library System
Apply for membership Visitor
Search library inventory
Check out books Patron
Sumber: Whitten et al. (2004, p282)
Gambar 2.16 Contoh Use Case Diagram 2.15.2.4 Sequence Diagram Bennet et al. (2006, p253) mengemukakan bahwa sequence diagram menunjukkan interaksi antar objek yang diatur berdasarkan urutan waktu. Sequence diagram dapat digambarkan dalam berbagai level of detail yang berbeda untuk memenuhi tujuan yang berbeda-beda pula dalam daur hidup pengembangan sistem. Aplikasi sequence diagram yang paling umum adalah untuk menggambarkan interaksi antar objek yang terjadi pada sebuah use case atau sebuah operation. Bennet et al. (2006, pp253-254) menyatakan bahwa setiap sequence diagram harus diberikan frame yang memiliki heading dengan menggunakan notasi sd yang merupakan kependekan dari sequence diagram. Bennet et al. (2006, p270) juga menyatakan bahwa terdapat beberapa notasi penulisan heading pada setiap frame yang terdapat dalam sequence diagram, antara lain:
70 a. alt Notasi alt merupakan kependekan dari alternatives yang menyatakan bahwa terdapat beberapa buah alternatif jalur eksekusi untuk dijalankan. b. opt Notasi opt merupakan kependekan dari optional dimana frame yang memiliki heading ini memiliki status pilihan yang akan dijalankan jika syarat tertentu dipenuhi. c. loop Notasi loop menyatakan bahwa operation yang terdapat dalam frame tersebut dijalankan secara berulang selama kondisi tertentu. d. break Notasi break mengindikasikan bahwa semua operation yang berada setelah frame tersebut tidak dijalankan. e. par Merupakan kependekan dari parallel yang mengindikasikan bahwa operation dalam frame tersebut dijalankan secara bersamaan. f. seq Notasi seq merupakan kependekan dari weak sequencing yang berarti operation yang berasal dari lifeline yang berbeda dapat terjadi pada urutan manapun. g. strict Notasi strict merupakan kependekan dari strict sequencing yang menyatakan bahwa operation harus dilakukan secara berurutan.
71 h. neg Notasi neg merupakan kependekan dari negative yang mendeskripsikan operasi yang tidak valid. i. critical Frame yang memiliki heading critical menyatakan bahwa operasi-operasi yang terdapat di dalamnya tidak memiliki sela yang kosong. j. ignore Notasi ini mengindikasikan bahwa tipe pesan atau parameter yang dikirimkan dapat diabaikan dalam interaksi. k. consider Consider menyatakan pesan mana yang harus dipertimbangkan dalam interaksi. l. assert Merupakan kependekan dari assertion yang menyatakan urutan pesan yang valid. m. ref Notasi ref merupakan kependekan dari refer yang menyatakan bahwa frame mereferensikan operation yang terdapat di dalamnya pada sebuah sequence diagram tertentu.
72
:Client
Campaign Manager
:Campaign
:Advert
getName()
listCampaigns() loop
[for all client’s campaigns] getCampaignDetails()
listAdverts() loop
[for all campaign’s adverts] getAdvertDetails()
addNewAdverts() Advert
newAd:Advert
Sumber: Bennet et al. (2006, p254)
Gambar 2.17 Contoh Sequence Diagram 2.15.2.5 Navigation Diagram Navigation Diagram merupakan statechart diagram khusus yang berfokus pada user interface (Mathiassen et al., 2000, p344). Diagram ini menunjukkan windowwindow dan transisi diantara window-window tersebut. Sebuah window dapat digambarkan sebagai sebuah state. State ini memiliki nama dan berisi gambar miniatur window. Transisi antar state dipicu oleh ditekannya sebuah tombol yang menghubungkan dua window.
73 2.15.2.6 Component Diagram Component Diagram merupakan diagram implementasi yang digunakan untuk menggambarkan arsitektur fisik dari software sistem. Diagram ini dapat menunjukkan bagaimana coding pemrograman terbagi menjadi komponen-komponen dan juga menunjukkan ketergantungan antar komponen tersebut (Whitten et al., 2004, p442). Sebuah komponen digambarkan dalam UML sebagai sebuah kotak dengan dua kotak kecil di sebelah kirinya. Ketergantungan antar dua komponen menunjukkan bagaimana kedua komponen tersebut saling berkomunikasi.
Sumber: Mathiassen et al. (2000, p201)
Gambar 2.18 Contoh Component Diagram 2.15.2.7 Deployment Diagram Deployment Diagram, sama seperti component diagram, juga merupakan diagram implementasi yang menggambarkan arsitektur fisik sistem. Perbedaannya, deployment diagram tidak hanya menggambarkan arsitektur fisik software saja,
74 melainkan software dan hardware. Diagram ini menggambarkan komponen software,
processor, dan peralatan lain yang melengkapi arsitektur sistem (Whitten et al., 2004, p442). Menurut Mathiassen et al. (2000, p340), deployment diagram menunjukkan konfigurasi sistem dalam bentuk processor dan objek yang terhubung dengan processor tersebut. Setiap kotak dalam deployment diagram menggambarkan sebuah node yang menunjukkan sebuah hardware. Hardware dapat berupa PC, mainframe, printer, atau bahkan sensor. Software yang terdapat di dalam node digambarkan dengan simbol komponen. Garis yang menghubungkan node menunjukkan jalur komunikasi antar
device. Gambar 2.18 berikut ini menunjukkan sebuah contoh deployment diagram. :Client
User Interface
System Interface
more clients
Function
Model
:Server
System Interface
Sumber: Mathiassen et al. (2000, p217)
Gambar 2.19 Contoh Deployment Diagram