bab 2 landasan teori 2.1 sistem informasi akuntansi 2.1.1...
TRANSCRIPT
BAB 2
LANDASAN TEORI
2.1 Sistem Informasi Akuntansi
2.1.1 Pengertian Sistem Informasi Akuntansi
Menurut Wilkinson dan Raval (2000, p7), accounting information system is a
unified structure within an entity, such as business firm, that employs phisical resources
and other component to transform economic data into accounting information, with the
purpose of satisfying the information needs of a variety of users. Dimana artinya sebagai
berikut, sistem informasi akuntansi adalah kesatuan struktur dalam sebuah entitas,
seperti perusahaan bisnis, yang menggunakan sumber daya fisik dan komponen-
komponen lainnya untuk mengubah data ekonomi menjadi informasi akuntansi, dengan
tujuan untuk memenuhi kebutuhan informasi bagi berbagai user.
Menurut Jones dan Rama (2003, p5), accounting information system is a
subsystem of a management information system (MIS) that provides accounting and
financial information as well as other information obtained in the routine processing of
accounting transactions. Dimana artinya sebagai berikut, sistem informasi akuntansi
adalah subsystem dari sistem informasi manajemen yang menyediakan informasi
akuntansi dan keuangan, juga informasi lainnya yang didapatkan dari pemrosesan
transaksi akuntansi rutin.
8
Menurut Bodnar dan Hopwood (2000, p6) seperti yang diterjemahkan oleh Amir
Abadi Yusuf, sistem informasi akuntansi adalah sistem berbasis komputer yang
dirancang untuk mengubah data akuntansi menjadi informasi, tetapi istilah sistem
informasi akuntansi diperluas mencakup siklus-siklus pemrosesan transaksi, penggunaan
teknologi informasi, dan pengembangan sistem informasi.
Jadi berdasarkan dari berbagai pengertian diatas, maka dapat disimpulkan bahwa
sistem informasi akuntansi adalah sebuah sistem berbasiskan komputer, dimana sistem
itu sendiri dapat terdiri dari kombinasi atas personel, record, dan prosedur yang
digunakan untuk mengumpulkan, mengolah data transaksi agar menghasilkan informasi
yang berarti bagi pengguna.
2.1.2 Tujuan Sistem Informasi Akuntansi
Tujuan utama dari Sistem Informasi Akuntansi adalah untuk menyediakan
informasi akuntansi kepada pengguna dalam artian yang luas. Pengguna tersebut dapat
berasal dari internal perusahaan, contohnya manajer maupun dari eksternal perusahaan,
contohnya pelanggan. Berikut adalah tujuan sistem informasi akuntansi secara spesifik
menurut Wilkinson dan Raval (2000, p8-10):
• Untuk mendukung operasi harian.
Yang dimaksud dengan operasi harian dalam bisnis adalah transaksi.
• Untuk mendukung pengambilan keputusan.
Dukungan yang diberikan oleh sistem informasi akuntansi adalah berupa
informasi yang berkaitan dengan akuntansi.
9
• Untuk memenuhi kewajiban kepada pihak luar.
Yang dimaksudkan dengan pihak luar disini adalah setiap stakeholder yang
berhubungan dengan perusahaan, contohnya: pemerintah, bank, dan serikat
pekerja. Pemenuhan kewajiban tersebut adalah dengan menyediakan laporan
keuangan bagi pihak luar tersebut.
Menurut Jones dan Rama (2003, p6-7), tujuan dan kegunaan sistem informasi
akuntansi yaitu:
• Menghasilkan laporan eksternal
Sistem informasi akuntansi mampu menghasilkan laporan – laporan khusus
untuk memuaskan kebutuhan informasi yang dibutuhkan oleh pihak eksternal
perusahaan. Laporan-laporan tersebut mencakup financial statement, tax
returns, dan laporan lainnya yang dibutuhkan oleh perwakilan pihak-pihak
yang terkait.
• Mendukung aktivitas yang rutin
Mampu mendukung manajer dalam menangani aktivitas-aktivitas operasi
yang bersifat rutin selama siklus operasi perusahaan.
• Mendukung keputusan
Informasi juga dibutuhkan untuk keputusan yang bersifat non-rutin pada
semua yang terdapat pada organisasi atau perusahaan.
10
• Perencanaan dan pengawasan
Sebuah sistem informasi sangat dibutuhkan untuk kegiatan perencanaan dan
pengawasan. Informasi mengenai anggaran dan biaya-biaya standar disimpan
dalam sistem informasi dan laporan digunakan untuk membandingkan antara
anggaran yang ditetapkan dengan jumlah yang sebenarnya.
• Pengimplementasian pengendalian internal
Pengendalian internal meliputi kebijakan, prosedur, dan sistem informasi
yang digunakan untuk melindungi aset perusahaan dari kehilangan atau
penggelapan dan untuk menjaga keakuratan data keuangan. Hal tersebut
dapat berhasil yaitu dengan membangun suatu sistem informasi akuntansi
yang terkomputerisasi.
2.1.3 Komponen / Sumber Daya Sistem Informasi Akuntansi
Meskipun Sistem Informasi Akuntansi tidak kasat mata, namun ia membutuhkan
komponen / sumber daya untuk membangunnya. Menurut Wilkinson dan Raval (2000,
p13) input data dan output information tidak termasuk dalam kategori komponen Sistem
Informasi Akuntansi. Komponen / sumber daya Sistem Informasi Akuntansi terdiri dari:
• Processor.
Adalah pengertian fisik terhadap yang melakukan transformasi data.
Biasanya yang melakukan transformasi data adalah komputer. Namun
bagaimana pun juga harus diingat bahwa processor tidak saja hanya
diwakilkan oleh komputer, melainkan juga peralatan lainnya seperti mesin
ketik dan register kas.
11
• Database.
Secara luas, database terdiri dari semua data yang tersimpan, baik dalam
sistem komputer maupun dalam kabinet file dan laci meja. Namun biasanya
istilah database merupakan pengertian hanya untuk data yang tersimpan
dalam system komputer.
• Procedures.
Merupakan urutan langkah-langkah yang dilakukan dalam satu fungsi atau
lebih dari Sistem Informasi Akuntansi. Procedures dilakukan baik secara
manual maupun berupa instruksi dalam program komputer.
• Input / Output Devices.
Yang dimaksudkan dengan input devices adalah seluruh alat yang digunakan
untuk menangkap data untuk dimasukkan kedalam komputer, contohnya
keyboard. Sedangkan output devices adalah seluruh alat yang digunakan
untuk menghasilkan informasi, contohnya printer.
• Miscellaneous Resources.
Yang dimaksudkan dengan miscellaneous resources adalah perlengkapan
yang dibutuhkan untuk mendukung komponen-komponen Sistem Informasi
Akuntansi. Sebagai contoh, printer membutuhkan pita tinta agar dapat
mencetak laporan. Pita tinta tersebut dikategorikan sebagai miscellaneous
resources.
12
2.1.4 Fungsi Sistem Informasi Akuntansi
Data diubah menjadi informasi melalui tahapan input, processing, dan output.
Sistem Informasi Akuntansi yang efektif melaksanakan beberapa fungsi kunci melalui
ketiga tahapan tersebut. Menurut Wilkinson dan Raval (2000, p10-12), fungsi Sistem
Informasi Akuntansi terdiri dari:
• Data collection.
Fungsi data collection (dilakukan pada tahap input) meliputi tahapan seperti
menagkap data transaksi, mencatat data kedalam form, dan memvalidasi dan
mengedit data untuk memastikan akurasi dan kelengkapannya.
• Data maintenance.
Fungsi data maintenance (dilakukan pada tahap processing) meliputi tahap-
tahap sebagai berikut:
a. Klasifikasi data kedalam kategori-kategori.
b. Menggandakan data kedalam dokumen atau media lainnya.
c. Mengurutkan atau mengatur elemen data berdasarkan karakteristik
tertentu.
d. Mengelompokkan data-data yang sejenis.
e. Menggabungkan dua atau lebih data.
f. Melakukan operasi penghitungan.
g. Merangkum data.
h. Membandingkan data-data.
Keseluruhan dari aktivitas diatas biasanya dilakukan oleh program komputer,
karena dapat dilakukan dengan cepat.
13
• Data management.
Fungsi data management terdiri dari tiga tahap: menyimpan, memelihara, dan
mengambil data. Menyimpan yaitu aktivitas menempatkan data dalam media
penyimpanan yang disebut file atau data base. Memelihara yaitu aktivitas
merubah data tersimpan agar sesuai dengan keadaan terbaru. Mengambil
terdiri dari aktivitas mengakses data untuk keperluan pemrosesan.
• Data control.
Fungsi data control mempunyai dua tujuan dasar yaitu: melindungi dan
mengamankan aset perusahaan, memastikan data yang tersimpan akurat,
lengkap, dan diproses secara benar.
• Information generation.
Fungsi information generation meliputi tahap pembuatan, pelaporan, dan
mengkomunikasikan informasi.
2.2 Biaya
2.2.1 Konsep biaya
Sering kali istilah biaya (cost) digunakan sebagai sinonim dari beban (expense).
Tetapi, beban dapat didefinisikan sebagai aliran keluar terukur dari barang atau jasa,
yang kemudian ditandingkan dengan pendapatan untuk menentukan laba.
Untuk dapat membedakan antara biaya dan beban, bayangkan pembelian bahan
baku secara tunai. Karena aktiva bersih tidak terpengaruh, tidak ada beban yang diakui.
Sumber daya perusahaan hanya diubah dari kas menjadi persediaan bahan baku. Bahan
baku tersebut dibeli dengan biaya tertentu, tetapi belum menjadi beban. Ketika
14
perusahaan kemudian menjual bahan baku tersebut yang sudah diolah menjadi barang
jadi, biaya dari bahan baku dibukukan sebagai beban. Contohnya, aktiva adalah biaya,
tetapi bukan (belum menjadi beban).
2.2.2 Klasifikasi Biaya
Klasifikasi biaya sangat penting guna membuat ikhtisar yang berarti atas data
biaya. Klasifikasi yang paling umum digunakan didasarkan pada hubungan antara biaya
dengan berikut ini:
• Produk (satu lot, batch, atau unit dari suatu barang jadi atau jasa).
• Volume produksi.
• Departemen, proses, pusat biaya (cost center), atau subdivisi lain dari
manufaktur.
• Periode akuntansi.
• Suatu keputusan, tindakan atau evaluasi.
Biaya dalam hubungannya dengan produk
Proses klasifikasi biaya dan beban dapat dimulai dengan menghubungkan biaya
ke tahap yang berbeda dalam operasi suatu bisnis. Dalam lingkungan manufaktur, total
biaya operasi terdiri atas dua elemen: biaya manufaktur dan beban komersial.
Biaya manufaktur juga disebut biaya produksi atau biaya pabrik, biasanya
didefinisikan sebagai jumlah dari tiga elemen biaya: bahan baku langsung, tenaga kerja
langsung, dan overhead pabrik. Bahan baku langsung dan tenaga kerja langsung,
keduanya disebut biaya utama (prime cost). Tenaga kerja langsung dan overhead pabrik,
15
keduanya disebut biaya konversi.
Bahan baku langsung adalah semua bahan baku yang membentuk bagian integral
dari produk jadi dan dimasukkan secara eksplisit dalam perhitungan biaya produk.
Contoh dari bahan baku langsung adalah kayu yang digunakan untuk membuat mebel.
Tenaga kerja langsung adalah tenaga kerja yang melakukan konversi bahan baku
langsung menjadi produk jadi dan dapat dibebankan secara layak ke produk tertentu. Di
pabrik yang sangat terotomatisasi, dua masalah sering muncul ketika usaha untuk
mengindentifikasi tenaga kerja langsung sebagai elemen biaya yang terpisah dilakukan.
Pertama, pekerja yang sama melakukan berbagai tugas. Mereka dapat bergantian
mengerjakan tugas tenaga kerja langsung kemudian tugas tenaga kerja tidak langsung
secara cepat dan sering, sehingga biaya tenaga kerja langsung dan tidak langsung
menjadi sangat sulit bahkan tidak mungkin dipisahkan. Kedua, tenaga kerja langsung
mungkin merupakan bagian yang tidak signifikan dari total biaya produksi, membuat hal
tersebut menjadi sulit untuk menjustifikasi identifikasi biaya tenaga kerja langsung
sebagai elemen biaya terpisah. Dalam setting dimana satu atau kedua situasi tersebut
ada, satu klasifikasi biaya konversi mencukupi, sehingga bahan baku langsung menjadi
satu-satunya elemen biaya yang ditelusuri secara langsung ke produk.
Overhead pabrik juga disebut overhead manufaktur, terdiri atas semua biaya
manufaktur yang tidak ditelusuri secara langsung ke output tertentu. Overhead pabrik
biasanya memasukkan semua biaya manufaktur kecuali bahan baku langsung dan tenaga
kerja langsung.
Bahan baku tidak langsung adalah bahan baku yang diperlukan untuk
penyelesaian suatu produk tetapi tidak dikasifikasikan sebagai bahan baku langsung
karena bahan baku tersebut tidak menjadi bagian dari produk, contohnya: amplas, pola
16
kertas, dan pelumas. Bahan baku tidak langsung juga termasuk bahan baku yang secara
normal akan diklasifikasikan sebagai bahan baku langsung, namun ketika konsumsi
bahan baku tersebut sangat minimal, atau penelusuran terlalu rumit, maka
pengklasifikasian biaya bahan baku tersebut sebagai biaya langsung menjadi tidak
ekonomis. Contohnya adalah paku, sekrup, mur, lem. Perlengkapan pabrik, satu bentuk
bahan baku tidak langsung terdiri atas oli pelumas dan minyak pelumas yang dibutuhkan
untuk memelihara area kerja dan mesin tetap dalam kondisi siap pakai dan aman.
Tenaga kerja tidak langsung adalah tenaga kerja yang tidak dapat ditelusuri
langsung ke konstruksi atau komponen produk jadi. Tenaga kerja tidak langsung
termasuk gaji pengawas, pegawai pabrik, pembantu umum, pekerja bagian
pemeliharaan, dan pekerja bagian gudang. Sebagian besar system akuntansi biaya
memasukkan kedalam overhead pabrik semua biaya yang tidak dapat ditelusuri ke unit
atau lot output tertentu.
Beban komersial terdiri dari dua klasifikasi besar: beban pemasaran dan beban
administratif (juga disebut beban umum dan administratif). Beban pemasaran mulai dari
titik dimana biaya manufaktur berakhir. Yaitu, ketika proses manufaktur selesai dan
produk ada dalam kondisi siap jual. Beban pemasaran termasuk beban promosi, beban
penjualan dan pengiriman. Beban administratif termasuk beban yang terjadi dalam
mengarahkan dan mengendalikan organisasi.
17
Biaya dalam hubungannya dengan volume produksi
Beberapa jenis biaya berubah secara proporsional terhadap perubahan dalam
volume produksi atau output, sementara yang lainnya tetap relatif konstan dalam jumlah.
Kecenderungan biaya untuk berubah terhadap output harus dipertimbangkan oleh
manajemen jika manajemen ingin sukses dalam merencanakan dan mengendalikan
biaya.
Biaya variabel adalah jumlah biaya yang berubah secara proporsional terhadap
perubahan aktivitas dalam rentang yang relevan. Dengan kata lain, biaya variabel
menunjukkan jumlah per unit yang relatif konstan dengan berubahnya aktivitas dalam
rentang yang relevan. Biaya variabel biasanya memasukkan biaya bahan baku langsung
dan biaya tenaga kerja langsung.
Biaya tetap adalah biaya yang bersifat konstan secara total dalam rentang yang
relevan. Dengan kata lain, biaya tetap per unit semakin kecil seiring dengan
meningkatnya aktivitas dalam rentang yang relevan. Biaya tetap dapat dianggap sebagai
biaya untuk tetap berada dalam bisnis (being in business), sementara biaya variabel
adalah biaya dari melakukan bisnis (doing business).
Biaya semivariabel adalah jenis biaya yang memiliki elemen biaya tetap dan
biaya variabel. Karena setiap biaya manufaktur dan non-manufaktur biasanya
diklasifikasikan sebagai biaya tetap atau biaya variabel untuk tujuan analisis, maka biaya
semivariabel harus dipisahkan menjadi komponen tetap dan komponen variabel.
18
Biaya dalam hubungannya dengan departemen produksi atau segmen lain
Suatu bisnis dapat dibagi menjadi segmen-segmen yang memiliki berbagai nama.
Pembagian pabrik menjadi departemen, proses-proses, unit kerja, pusat biaya, atau
kelompok biaya juga berfungsi sebagai dasar untuk mengklasifikasikan dan
mengakumulasikan biaya dan membebankan tanggung jawab untuk pengendalian biaya.
Departemen-departemen dalam suatu pabrik biasanya dapat diklasifikasikan
dalam dua kategori: departemen produksi dan departemen jasa. Di departemen produksi,
operasi manual dan operasi mesin seperti pembentukan dan perakitan dilakukan secara
langsung pada produk atau bagian-bagian dari produk. Di departemen jasa, jasa
diberikan untuk keuntungan departemen lain. Dalam beberapa kasus, jasa ini juga
dinikmati oleh departemen jasa yang lain. Meskipun departemen jasa tidak secara
langsung terlibat dalam proses produksi, biaya departemen jasa merupakan bagian dari
biaya produk.
Jika suatu biaya dapat ditelusuri ke suatu departemen di mana biaya tersebut
berasal, maka biaya tersebut disebut sebagai biaya langsung departemen, contoh: gaji
dari supervisor departemen. Jika suatu biaya digunakan bersama oleh beberapa
departemen yang memperoleh manfaat dari biaya tersebut, maka biaya itu disebut
sebagai biaya tidak langsung departemen, contoh: sewa gedung.
Biaya bersama (common cost) dan biaya gabungan (joint cost) adalah jenis biaya
tidak langsung. Biaya bersama biasanya ada di organisasi dengan banyak departemen
atau segmen. Biaya gabungan terjadi ketika produksi dari suatu produk menghasilkan
satu atau beberapa produk lain tanpa dapat dihindari. Industri pengepakan daging,
minyak, dan gas merupakan contoh dari proses produksi yang melibatkan biaya
gabungan.
19
Biaya dalam hubungannya dengan periode akuntansi
Biaya dapat diklasifikasikan sebagai pengeluaran modal (capital expenditure)
atau sebagai pengeluaran pendapatan (revenue expenditure). Suatu pengeluaran modal
ditujukan untuk memberikan manfaat di masa depan dan dilaporkan sebagai aktiva.
Pengeluaran pendapatan memberikan manfaat untuk periode sekarang dan dilaporkan
sebagai beban.
Biaya dalam hubungannya dengan suatu keputusan, tindakan, atau evaluasi
Ketika suatu pilihan harus dibuat di antara tindakan-tindakan atau alternatif-
alternatif yang mungkin dilakukan, adalah penting untuk mengindentifikasikan biaya
yang relevan terhadap pilihan tersebut.
Biaya diferensial adalah salah satu nama dari biaya yang relevan untuk suatu
pilihan diantara banyak alternatif. Biaya diferensial sering kali disebut biaya marginal
atau biaya inkremental.
2.2.3 Jenis biaya
Keberhasilan dalam merencanakan dan mengendalikan biaya bergantung pada
pemahaman yang menyeluruh atas hubungan antara biaya dan aktivitas bisnis. Studi dan
analisis yang hati-hati atas dampak aktivitas bisnis atas biaya umumnya akan
menghasilkan klasifikasi tiap pengeluaran sebagai biaya tetap, biaya variabel, atau biaya
semivariabel.
20
Biaya tetap
Biaya tetap didefinisikan sebagai biaya yang secara total tidak berubah saat
aktivitas bisnis meningkat atau menurun. Meskipun beberapa jenis biaya tampak sebagai
biaya tetap, semua biaya sebenarnya bersifat variabel dalam jangka panjang. Jika semua
aktivitas bisnis menurun sampai titik nol dan tidak ada prospek untuk kenaikan,
perusahaan akan melikuidasi dan menghindari semua biaya. Jika aktivitas diharapkan
untuk meningkat di atas kapasitas yang sekarang, biaya tetap harus dinaikkan untuk
menangani peningkatan volume yang diperkirakan. Misalnya, jika manajemen
memperkirakan permintaan atas produksi perusahaan meningkat diatas kapasitas
sekarang. Adanya tambahan terhadap produksi perusahaan akan menambah biaya tetap
yang harus dikeluarkan.
Untuk itu, satu jenis biaya tertentu sebaiknya diklasifikasikan sebagai biaya tetap
hanya dalam rentang aktivitas yang terbatas. Rentang aktivitas yang terbatas ini sering
disebut rentang yang relevan. Total biaya tetap akan berubah di luar rentang aktivitas
yang relevan.
Biaya variabel
Biaya variabel didefinisikan sebagai biya yang secara total meningkat secara
proporsional terhadap peningkatan dalam aktivitas dan menurun secara proporsional
terhadap penurunan dalam aktivitas. Biaya variabel termasuk biaya bahan baku
langsung, tenaga kerja langsung, beberapa perlengkapan, beberapa tenaga kerja tidak
langsung, alat-alat kecil, pengerjaan ulang, dan unit-unit yang rusak.
21
Hubungan antara biaya variabel dengan aktivitas bisnis biasanya dianggap linear,
yaitu, total biaya variabel diasumsikan meningkat dalam jumlah konstan untuk setiap
satu unit peningkatan dalam aktivitas.
Biaya semivariabel
Biaya semivariabel didefinisikan sebagai biaya yang memperlihatkan baik
karakteristik-karakteristik dari biaya tetap maupun biaya variabel. Contoh biaya tersebut
adalah: biaya listrik, air, gas, bensin, batu bara, perlengkapan, pemeliharaan, beberapa
tenaga kerja tidak langsung, asuransi jiwa kelompok untuk karyawan, biaya pensiun,
pajak penghasilan, biaya perjalanan dinas, dan biaya hiburan.
Dua alasan adanya karakteristik semivariabel pada beberapa jenis biaya karena:
a) Pengaturan minimum mungkin diperlukan, atau kuantitas minimum dari
perlengkapan atau jasa mungkin perlu dikonsumsi untuk memelihara kesiapan
beroperasi. Diluar tingkat minimum biaya yang biasanya tetap, tambahan biaya
bervariasi terhadap volume.
b) Klasifikasi akuntansi, berdasarkan objek pengeluaran atau fungsi, umumnya
mengelompokkan biaya tetap dan biaya variabel bersama-sama. Misalnya, biaya
mesin uap yang digunakan untuk memanaskan ruangan, yang bergantung pada
kondisi cuaca, dan biaya mesin uap yang digunakan untuk proses produksi, yang
bergantung pada volume produksi, mungkin dibebankan pada perkiraan yang sama,
sehingga mengakibatkan tercampurnya biaya tetap dan biaya variabel dalam
perkiraan yang sama.
22
2.3 Produksi
Menurut Wikipedia Indonesia (id.wikipedia.org, 6 Oktober 2007), produksi
merupakan suatu kegiatan yang dikerjakan untuk menambah nilai guna suatu benda atau
menciptakan benda baru sehingga lebih bermanfaat dalam memenuhi kebutuhan.
Kegiatan menambah daya guna suatu benda tanpa mengubah bentuknya dinamakan
produksi jasa. Sedangkan kegiatan menambah daya guna suatu benda dengan mengubah
sifat dan bentuknya dinamakan produksi barang.
2.3.1 Faktor produksi
Menurut Wikipedia Indonesia (id.wikipedia.org, 2 Mei 2008), faktor produksi
adalah sumber daya yang digunakan dalam sebuah proses produksi barang dan jasa.
Pada awalnya, faktor produksi dibagi menjadi empat kelompok, yaitu tenaga kerja,
modal, sumber daya alam, dan kewirausahaan. Namun pada perkembangannya, faktor
sumber daya alam diperluas cakupannya menjadi seluruh benda tangible, baik langsung
dari alam maupun tidak, yang digunakan oleh perusahaan, yang kemudian disebut
sebagai faktor fisik (physical resources). Secara total, saat ini ada lima hal yang
dianggap sebagai faktor produksi, yaitu sumber daya fisik (physical resources), tenaga
kerja (labor), modal (capital), kewirausahaan (entrepreneurship), dan sumber daya
informasi (information resources).
Sumber daya fisik
Faktor produksi fisik ialah semua kekayaan yang terdapat di alam semesta dan
barang mentah lainnya yang dapat digunakan dalam proses produksi. Faktor yang
termasuk di dalamnya adalah tanah, air, dan bahan mentah (raw material).
23
Tenaga kerja
Tenaga kerja merupakan faktor produksi insani yang secara langsung maupun
tidak langsung menjalankan kegiatan produksi. Faktor produksi tenaga kerja juga
dikategorikan sebagai faktor produksi asli. Dalam faktor produksi tenaga kerja,
terkandung unsur fisik, pikiran, serta kemampuan yang dimiliki oleh tenaga kerja. Oleh
karena itu, tenaga kerja dapat dikelompokan berdasarkan kualitas (kemampuan dan
keahlian) dan berdasarkan sifat kerjanya.
Berdasarkan kualitasnya, tenaga kerja dapat dibagi menjadi tenaga kerja terdidik,
tenaga kerja terampil, dan tenaga kerja tidak terdidik dan tidak terlatih. Tenaga kerja
terdidik adalah tenaga kerja yang memerlukan pendidikan tertentu sehingga memiliki
keahlian di bidangnya, misalnya dokter, insinyur, akuntan, dan ahli hukum. Tenaga kerja
terampil adalah tenaga kerja yang memerlukan kursus atau latihan bidang-bidang
keterampilan tertentu sehingga terampil di bidangnya. Misalnya tukang listrik, montir,
tukang las, dan sopir. Sementara itu, tenaga kerja tidak terdidik dan tidak terlatih adalah
tenaga kerja yang tidak membutuhkan pendidikan dan latihan dalam menjalankan
pekerjaannya. Misalnya tukang sapu, pemulung, dan lain-lain.
Berdasarkan sifat kerjanya, tenaga kerja dibagi menjadi tenaga kerja rohani dan
tenaga kerja jasmani. Tenaga kerja rohani adalah tenaga kerja yang menggunakan
pikiran, rasa, dan karsa. Misalnya guru, editor, konsultan, dan pengacara. Sementara itu,
tenaga kerja jasmani adalah tenaga kerja yang menggunakan kekuatan fisik dalam
kegiatan produksi. Misalnya tukang las, pengayuh becak, dan sopir.
24
Modal
Yang dimaksud dengan modal adalah barang-barang atau peralatan yang dapat
digunakan untuk melakukan proses produksi. Modal dapat digolongkan berdasarkan
sumbernya, bentuknya, berdasarkan pemilikan, serta berdasarkan sifatnya. Berdasarkan
sumbernya, modal dapat dibagi menjadi dua: modal sendiri dan modal asing. Modal
sendiri adalah modal yang berasal dari dalam perusahaan sendiri. Misalnya setoran dari
pemilik perusahaan. Sementara itu, modal asing adalah modal yang bersumber dari luar
perusahaan. Misalnya modal yang berupa pinjaman bank.
Berdasarkan bentuknya, modal dibagi menjadi modal konkret dan modal abstrak.
Modal konkret adalah modal yang dapat dilihat secara nyata dalam proses produksi.
Misalnya mesin, gedung, mobil, dan peralatan. Sedangkan yang dimaksud dengan modal
abstrak adalah modal yang tidak memiliki bentuk nyata, tetapi mempunyai nilai bagi
perusahaan. Misalnya hak paten, nama baik, dan hak merek.
Berdasarkan pemilikannya, modal dibagi menjadi modal individu dan modal
masyarakat. Modal individu adalah modal yang sumbernya dari perorangan dan hasilnya
menjadi sumber pendapatan bagi pemiliknya. Contohnya adalah rumah pribadi yang
disewakan atau bunga tabungan di bank. Sedangkan yang dimaksud dengan modal
masyarakat adalah modal yang dimiliki oeleh pemerintah dan digunakan untuk
kepentingan umum dalam proses produksi. Contohnya adalah rumah sakit umum milik
pemerintah, jalan, jembatan, atau pelabuhan.
Terakhir, modal dibagi berdasarkan sifatnya: modal tetap dan modal lancar.
Modal tetap adalah jenis modal yang dapat digunakan secara berulang-ulang. Misalnya
mesin-mesin dan bangunan pabrik. Yang dimaksud dengan modal lancar adalah modal
yang habus digunakan dalam satu kali proses produksi. Misalnya, bahan baku.
25
Kewirausahaan
Faktor kewirausahaan adalah keahlian atau keterampilan yang digunakan
seseorang dalam mengkoordinir faktor-faktor produksi untuk menghasilkan barang dan
jasa. Sebanyak dan sebagus apa pun faktor produksi alam, tenaga manusia, serta modal
yang dipergunakan dalam proses produksi, jika dikelola dengan tidak baik, hasilnya
tidak akan maksimal.
Sumber daya informasi
Sumber daya informasi adalah seluruh data yang dibutuhkan perusahaan untuk
menjalankan bisnisnya. Data ini bisa berupa ramalan kondisi pasar, pengetahuan yang
dimiliki oleh karyawan, dan data-data ekonomi lainnya.
2.3.2 Fungsi produksi
Aktivitas produksi sebagai suatu bagian dari fungsi organisasi perusahaan
bertanggung jawab terhadap pengolahan bahan baku menjadi produk jadi yang dapat
dijual. Untuk melaksanakan fungsi produksi tersebut, diperlukan rangkaian kegiatan
yang akan membentuk suatu sistem produksi. Ada tiga fungsi utama dari kegiatan-
kegiatan produksi yang dapat kita identifikasi, yaitu:
• Proses produksi
Yaitu metode dan teknik yang digunakan dalam mengolah bahan baku menjadi
produk jadi.
26
• Perencanaan produksi
Merupakan tindakan antisipasi dimasa mendatang sesuai dengan periode waktu
yang direncanakan.
• Pengendalian produksi
Yaitu tindakan yang menjamin bahwa semua kegiatan yang dilaksanakan
dalam perencanaan telah dilakukan sesuai dengan target yang telah ditetapkan.
2.3.3 Sistem Produksi
Untuk melaksanakan fungsi-fungsi produksi dengan baik, maka diperlukan
rangkaian kegiatan yang akan membentuk suatu sistem produksi. Sistem produksi
merupakan kumpulan dari subsystem-subsystem yang saling berinteraksi dengan tujuan
mentransformasi input produksi menjadi output produksi. Input produksi ini dapat
berupa bahan baku, mesin, tenaga kerja, modal, dan informasi. Sedangkan output
produksi merupakan produk yang dihasilkan berikut hasil sampingan seperti limbah,
informasi, dan lainnya.
2.3.3.1 Sistem Produksi Menurut Proses Menghasilkan Output
Proses produksi merupakan cara, metode, dan teknik untuk menciptakan atau
menambah kegunaan suatu produk dengan mengoptimalkan sumber daya produksi
(tenaga kerja, mesin, bahan baku, dana) yang ada. Sistem produksi menurut proses
menghasilkan output secara ekstrim dapat dibedakan menjadi 2 jenis, yaitu:
• Proses produksi kontinyu (continous process)
• Proses produksi terputus (intermittent process / discrete system)
27
Perbedaan pokok antara kedua proses ini adalah pada lamanya waktu set up
peralatan produksi. Proses kontinyu tidak memerlukan waktu set up yang lama karena
proses ini memproduksi secara terus menerus untuk jenis produk yang sama. Sedangkan
proses terputus memerlukan waktu set up yang lebih lama karena proses ini
memproduksi berbagai jenis spesifikasi barang sesuai dengan pesanan, sehingga adanya
pergantian jenis barang yang diproduksi akan membutuhkan kegiatan set up yang
berbeda.
Jenis proses produksi ini akan mempengaruhi tata letak fasilitas dari peralatan
produksi. Ada 2 macam tata letak dasar yang dapat diidentifikasi, yaitu tata letak
berdasarkan produk (product layout) dan tata letak berdasarkan proses (process layout).
Tata letak berdasarkan produk digunakan bila memproduksi satu jenis produk yang
standar dan dibuat secara massal. Masing-masing unit output membutuhkan urutan
operasi yang sama dari awal hingga akhir pengerjaan, sehingga pusat-pusat kerja
(kumpulan mesin) dan fasilitas produksi diatur menurut urutan operasi yang dibutuhkan
dalam satu lintasan produksi.
Tata letak berdasarkan proses sangat tepat digunakan untuk proses produksi
terputus dimana aliran kerjanya tidak bersifat standar untuk semua output yang
dihasilkan. Ketidakstandaran aliran kerja ini terjadi dikarenakan variasi dari produk yang
dihasilkan. Dalam tata letak berdasarkan proses ini, pusat-pusat pemrosesan (kumpulan
mesin) dikelompokkan sesuai dengan fungsinya.
Karakteristik dari proses produksi kontinyu adalah sebagai berikut:
• Produk yang dihasilkan dalam jumlah besar dengan variasi yang sedikit dan
sudah distandarisasi.
28
• Sistem atau cara penyusunan peralatan berdasarkan urutan pengerjaan dari
produk (product layout).
• Mesin-mesin yang digunakan adalah mes in-mesin yang bersifat khusus untuk
menghasilkan produk tersebut, dikenal dengan sebutan special purpose
machines.
• Karena mesinnya bersifat khusus dan biasanya semi otomatis, maka pengaruh
individual operator terhadap produk yang dihasilkan kecil sekali, sehingga
operatornya tidak perlu mempunyai keahlian yang tinggi.
• Bila kerusakan / terhentinya mesin, maka seluruh proses produksi akan terhenti.
• Karena mesinnya bersifat khusus dan variasi dari produknya sedikit, maka job
structure nya sedikit dan jumlah tenaga kerjanya tidak banyak.
• Persediaan bahan baku dan bahan dalam proses lebih rendah dibandingkan
dengan proses produksi terputus.
• Karena mesinnya bersifat khusus, maka dibutuhkan ahli pemeliharaan yang
mempunyai pengetahuan dan pengalaman yang banyak.
• Biasanya bahan-bahan dipindahkan dengan peralatan handling yang tetap yang
menggunakan tenaga mesin seperti ban berjalan.
Karakteristik dari proses produksi produksi terputus (intermittent process)
adalah:
• Produk yang dihasilkan dalam jumlah sedikit dengan variasi yang banyak dan
didasarkan atas pesanan (manufacturing to process).
• Sistem atau cara penyusunan peralatan berdasarkan fungsi proses produksi
(process layout).
29
• Mesin-mesin yang digunakan adalah mesin-mes in yang bersifat umum yang
digunakan untuk menghasilkan bermacam-macam produk, dikenal dengan nama
general purpose machines.
• Karena mesinnya bersifat umum dan biasanya tidak otomatis, maka pengaruh
individual operator terhadap produk yang dihasilkan sangat besar, sehingga
operator nya perlu mempunyai keahlian yang tinggi.
• Bila kerusakan / terhentinya mesin, maka proses produksi tidak akan terhenti.
• Karena mesinnya bersifat umum dan variasi dari produknya besar, maka job
structure nya banyak dan jumlah tenaga kerja nya banyak.
• Persediaan bahan baku dan bahan dalam proses lebih tinggi dibandingkan
dengan proses produksi kontinyu.
• Karena mesinnya bersifat umum, maka tidak dibutuhkan ahli pemeliharaan yang
mempunyai pengetahuan dan pengalaman yang banyak.
• Biasanya bahan-bahan dipindahkan dengan peralatan handling yang bersifat
fleksibel yang menggunakan tenaga manusia seperti kereta dorong atau forklift.
Masing-masing jenis proses produksi tersebut mempunyai beberapa kelebihan
dan kekurangan. Untuk itu, berikut akan dibahas kelebihan dan kekurangan dari masing-
masing proses produksi. Berikut adalah kelebihan dari proses produksi kontinyu
(continuous process) jika dilihat dari karakteristik yang ada:
• Dapat dicapainya biaya produksi per unit yang rendah, karena:
a. Produk dihasilkan dalam volume yang besar.
b. Produk sudah mempunyai standarisasi.
30
• Biaya tenaga kerja (labor cost) rendah, karena jumlah tenaga kerja sedikit dan
tidak memerlukan tenaga ahli dalam pengerjaan produk.
• Biaya pemindahan bahan dalam pabrik rendah, karena layout peralatan
menggunakan product layout.
Berikut adalah kekurangan dari proses produksi kontinyu (continuous process) jika
dilihat dari karakteristik yang ada:
• Kesulitan dalam menghadapi perubahan produk yang diminta oleh konsumen
dan langganan. Jadi proses produksi seperti ini adalah khusus untuk
menghasilkan produk-produk yang bersifat:
a. Permintaan tinggi dan stabil.
b. Desain produk tidak mudah berubah.
• Proses produksi mudah terhenti apabila terjadi kemacetan pada salah satu
tingkatan produksi, hal ini disebabkan saling terhubungnya antar masing-
masing tingkatan proses.
• Adanya kesulitan dalam menghadapi perubahan tingkat permintaan, karena
biasanya tingkat produksinya telah mempunyai kapasitas tertentu.
• Investasi yang mahal karena penggunaan mesin-mesin yang bersifat khusus.
Berikut adalah kelebihan dari proses produksi terputus (intermittent process) jika dilihat
dari karakteristik yang ada:
• Mempunyai fleksibilitas yang cukup tinggi dalam menghadapi perubahan
produk dengan variasi yang besar. Fleksibilitas diperoleh terutama dari:
a. Sistem penyusunan fasilitas dengan process layout.
b. Jenis mesin yang digunakan bersifat umum.
31
c. Sistem pemindahan bahan baku menggunakan tenaga manusia.
• Diperolehnya penghematan uang dari penggunaan mesin yang bersifat umum,
karena biasanya harga mesin yang bersifat umum lebih murah.
• Proses produksi tidak mudah terhenti akibat kemacetan pada salah satu
tingkatan produksi.
Berikut adalah kekurangan dari proses produksi terputus (intermittent process) jika
dilihat dari karakteristik yang ada:
• Tidak dapat dicapainya biaya produksi per unit yang rendah, karena:
a. Produk dihasilkan dalam volume yang kecil.
b. Produk tidak mempunyai standarisasi.
• Biaya tenaga kerja tinggi, karena tenaga kerja yang digunakan untuk produksi
banyak dan banyak memerlukan tenaga ahli.
• Biaya pemindahan bahan dalam pabrik tinggi, karena layout peralatan
menggunakan process layout, dan banyak memakai tenaga manusia.
2.3.3.2 Sistem Produksi Menurut Tujuan Operasi
Dilihat dari tujuan perusahaan melakukan operasinya dalam hubungannya
dengan pemenuhan kebutuhan konsumen, maka sistem produksi dibedakan menjadi
empat jenis, yaitu:
• Engineering To Order (ETO)
Yaitu bila pemesan meminta produsen untuk membuat produk yang dimulai
dari proses perancangannya (rekayasa).
32
• Assembly To Order (ATO)
Yaitu bila produsen membuat desain standar, modul-modul yang dibuat standar
namun kemudian modul-modul tersebut dapat dirakit untuk berbagai tipe
produk sesuai permintaan konsumen. Contoh: pabrik mobil, dimana mobil
yang dihasilkan adalah yang standar namun kemudian mobil tersebut dapat
ditambahkan asesoris seperti AC, radio, dll.
• Make To Order (MTO)
Yaitu bila produsen memproduksi suatu barang jika telah menerima pesanan
konsumen. Hal ini dikarenakan barang permintaan konsumen bersifat unit, dan
konsumen bersedia untuk menunggu penyelesaian barang.
• Make To Stock (MTS)
Yaitu bila produsen membuat item-item yang diselesaikan dan ditempatkan
sebagai persediaan sebelum pesanan konsumen diterima. Item tersebut baru
dikirim setelah ada pesanan dari konsumen.
2.4 Sistem Perhitungan Biaya
2.4.1 Sistem Perhitungan Biaya Berdasarkan Pesanan (Job Order Costing)
Dalam perhitungan biaya berdasarkan pesanan, biaya diakumulasikan untuk
setiap batch, lot, atau pesanan pelanggan. Metode ini digunakan apabila produk yang
diproduksi dalam suatu departemen bersifat heterogen. Dalam perhitungan biaya
berdasarkan pesanan, akan lebih praktis mengidentifikasikan secara fisik setiap pesanan
yang diproduksi dan membebankan setiap pesanan dengan beberapa elemen biayanya.
Ketika suatu pesanan diproduksi sejumlah tertentu untuk persediaan, perhitungan
33
biaya berdasarkan pesanan memungkinkan perhitungan biaya per unit. Ketika pesanan
dikerjakan berdasarkan spesifikasi pelanggan, perhitungan biaya berdasarkan pesanan
memungkinkan perhitungan laba atau rugi untuk setiap pesanan. Karena biaya
diakumulasikan saat pesanan melalui proses produksi, biaya ini dapat dibandingkan
dengan estimasi yang dibuat pada saat pesanan diterima. Oleh karena itu, perhitungan
biaya berdasarkan pesanan memberikan kesempatan untuk mengendalikan biaya dan
untuk mengevaluasi profitabilitas dari suatu kontrak, suatu produk, atau suatu lini
produk.
2.4.2 Sistem Perhitungan Biaya Berdasarkan Proses (Process Costing)
Perhitungan biaya berdasarkan proses mengakumulasikan biaya berdasarkan
proses produksi atau berdasarkan departemen. Departemen bisa saja ada dalam
perhitungan biaya berdasarkan pesanan, namun perbedaan yang paling penting adalah
bahwa departemen merupakan fokus dari penelusuran biaya dalam perhitungan biaya
berdasarkan proses. Sedangkan pesanan, lot, atau batch merupakan fokus dari
perhitungan biaya berdasarkan pesanan.
Perhitungan biaya berdasarkan proses digunakan apabila semua unit yang
dikerjakan dalam suatu departemen atau area kerja bersifat homogen, atau apabila tidak
ada kebutuhan untuk membedakan antar unit. Perhitungan biaya berdasarkan proses
mengakumulasikan semua biaya operasi suatu proses untuk suatu periode waktu
kemudian membagi biaya tersebut dengan jumlah unit produk yang telah melewati
proses selama periode tersebut, hasilnya adalah biaya per unit. Jika produk dari suatu
proses menjadi bahan baku bagi proses berikutnya, maka biaya per unit dihitung untuk
setiap proses.
34
2.4.2.1 Akumulasi Biaya Proses
Tujuan penting dari sistem perhitungan biaya adalah untuk menentukan biaya
dari barang atau jasa yang dihasilkan oleh perusahaan. Sistem perhitungan biaya
sebaiknya ekonomis untuk dioperasikan dan membebankan sejumlah biaya ke setiap
produk sedemikian rupa sehingga merefleksikan biaya dari sumber daya yang digunakan
untuk memproduksi produk tersebut.
Dalam sistem perhitungan biaya berdasarkan pesanan, produk
dipertanggungjawabkan dalam batch. Setiap batch diperlakukan sebagai pesanan yang
terpisah, dan pesanan tersebut merupakan objek biaya nya. Dalam perhitungan biaya
berdasarkan pesanan, produk yang berbeda dapat diproduksi untuk pesanan yang
berbeda dan biayanya dapat ditentukan secara terpisah.
Sebaliknya, ketika semua unit dari produk yang dihasilkan dalam suatu pusat
biaya adalah serupa / homogen, pencatatan biaya dari setiap batch produk secara
terpisah tidak lagi diperlukan, karena hal ini tidak praktis. Daripada menggunakan
perhitungan biaya berdasarkan pesanan, lebih baik menggunakan perhitungan biaya
berdasarkan proses. Dalam perhitungan biaya berdasarkan proses, bahan baku, tenaga
kerja, dan overhead pabrik dibebankan ke departemen yang berkaitan dengan produksi.
Dalam perusahaan manufaktur, produksi dapat terjadi di beberapa departemen.
Setiap departemen melakukan suatu operasi untuk menyelesaikan produk. Setiap
departemen dapat diperlakukan sebagai pusat biaya yang terpisah. Hal ini mengharuskan
adanya pencatatan biaya yang terpisah untuk setiap departemen.
35
2.4.2.2 Aliran produk secara fisik
Tiga bentuk aliran produk fisik yang berhubungan dengan perhitungan biaya
berdasarkan proses adalah : berurutan (sequential), paralel, dan selektif. Berikut adalah
penjelasan masing-masing pola aliran produk.
Aliran produk berurutan
Dalam aliran produk, setiap produk diproses dalam urutan langkah-langkah yang sama.
Ilustrasi dari aliran produk berurutan disajikan dalam gambar berikut.
Gambar 2.1 : Aliran produk berurutan
(Carter Usry, 2002, p158)
Aliran produk paralel
Dalam aliran produk paralel, bagian tertentu dari pekerjaan dilakukan secara simultan
dan kemudian disatukan pada proses-proses final untuk diselesaikan dan ditransfer ke
barang jadi. Ilustrasi dari aliran produk paralel disajikan dalam gambar berikut.
36
Gambar 2.2 : Aliran produk paralel
(Carter Usry, 2002, p159)
Aliran produk selektif
Dalam aliran produk selektif, produk berpindah ke depertemen-departemen berbeda
dalam suatu pabrik, tergantung pada produk final yang akan dihasilkan. Ilustrasi dari
aliran produk selektif disajikan dalam gambar berikut.
Gambar 2.3 : Aliran produk selektif
(Carter Usry, 2002, p160)
37
2.4.2.3 Karakteristik overhead pabrik
Overhead pabrik umumnya didefinisikan sebagai bahan baku tidak langsung,
tenaga kerja tidak langsung, dan semua biaya pabrik lainnya yang tidak dapat secara
nyaman diidentifikasikan dengan atau dibebankan langsung ke pesanan, produk, atau
objek biaya lain yang spesifik (Carter Usry, 2002, p411).
Overhead pabrik memiliki dua karakteristik yang memerlukan pertimbangan jika
produk ingin dibebankan dengan jumlah yang sewajarnya dari biaya ini. Karakteristik
yang pertama, berkaitan dengan hubungan overhead pabrik dengan produk atau volume
produksi. Overhead pabrik merupakan merupakan bagian yang tidak terlihat dari produk
jadi. Karakteristik yang kedua, bagaimana item-item yang berbeda dalam overhead
berubah terhadap perubahan dalam volume produksi. Overhead dapat bersifat tetap,
variabel, atau semivariabel.
2.4.2.4 Tarif biaya overhead pabrik
Faktor-faktor dalam pemilihan tarif biaya overhead, sebagai berikut :
a) Dasar yang digunakan
• Output fisik.
• Biaya bahan baku langsung.
• Biaya tenaga kerja langsung.
• Jam tenaga kerja langsung.
• Jam mesin.
• Transaksi atau aktivitas.
38
b) Pemilihan tingkat aktivitas
• Kapasitas teoritis.
• Kapasitas praktis.
• Kapasitas aktual yang diperkirakan.
• Kapasitas normal.
• Dampak kapasitas terhadap tarif overhead.
• Kapasitas menganggur versus kelebihan kapasitas.
c) Memasukkan atau tidak memasukkan overhead tetap
• Perhitungan biaya penyerapan penuh.
• Perhitungan biaya langsung.
d) Menggunakan tarif tunggal atau beberapa tarif
• Tarif tingkat pabrik.
• Tarif departemental.
• Tarif subdepartemental dan aktivitas.
e) Menggunakan tarif yang berbeda untuk aktivitas jasa
Dasar yang digunakan
Pemilihan dasar ini adalah penting jika suatu sistem biaya akan menyediakan
data biaya yang berarti. Tujuan utama dalam pemilihan dasar adalah untuk memastikan
pembebanan overhead dalam proporsi yang wajar terhadap sumber daya pabrik tidak
langsung yang digunakan oleh pesanan, produk, atau pekerjaan yang dilakukan (Carter
Usry, 2002, p414).
39
Tujuan kedua dalam pemilihan dasar adalah untuk meminimalkan biaya dan
usaha klerikal. Ketika dua atau lebih dasar tersebut menghasilkan pembebanan overhead
pabrik yang hampir sama untuk setiap pesanan atau produk. Maka dasar yang paling
sederhana dan paling udah diukurlah yang sebaiknya digunakan (Carter Usry, 2002,
p414).
Dasar output fisik
Output fisik atau unit produksi adalah dasar yang paling sederhana untuk membebankan
overhead pabrik. Penggunaannya diilustrasikan sebagai berikut :
Jika overhead pabrik yang diestimasikan adalah sebesar $300.000 dan perusahaan
bermaksud untuk memproduksi 250.000 unit selama periode depan, setiap unit yang
sudah selesai akan dibebankan sebesar $1,20 ($300.000 + 250.000 unit) sebagai
bagiannya atas overhead pabrik. Suatu pesanan dengan 1.000 unit selesai dibebankan
biaya overhead sebesar 1.000 x $1,20 = $1.200 dari overhead pabrik.
Dasar biaya bahan baku langsung
Dalam beberapa perusahaan, suatu studi atas biaya masa lampau menunjukkan korelasi
yang tinggi antara biaya bahan baku langsung dan overhead. Hal ini mungkin, ketika
banyak pekerjaan produksi terdiri atas penerimaan, inspeksi, penyimpanan,
pengambilan, dan penanganan banyak lot bahan baku yang mahal. Penggunaannya
diilustrasikan sebagai berikut :
40
Jika estimasi overhead pabrik totalnya sebesar $300.000, dan estimasi biaya bahan baku
totalnya sebesar $250.000, maka setiap pesanan atau produk dibebankan suatu jumlah
overhead pabrik yang setara dengan $300.000 / $250.000 = 1,20, atau 120% dari biaya
bahan baku langsungnya. Misalnya, jika biaya bahan baku untuk suatu pesanan adalah
sebesar $5.000, maka pesanan tersebut menerima tambahan biaya sebesar $5.000 x
120% = $6.000 untuk overhead pabrik.
Dasar biaya tenaga kerja langsung
Menggunakan suatu dasar biaya tenaga kerja langsung untuk membebankan overhead
pabrik ke pesanan atau produk relatif lebih mudah digunakan, sebab informasi yang
dibutuhkan untuk biaya tenaga kerja langsung biasanya tersedia. Penggunaannya
diilustrasikan sebagai berikut :
Jika estimasi biaya overhead pabrik adalah sebesar $300.000 dan total biaya tenaga kerja
langsung untuk periode depan diestimasikan sebesar $500.000, maka tarif overhead
pabrik adalah sebesar $300.000 / $500.000 = 0,60 atau 60%. Suatu pesanan atau produk
dengan biaya tenaga kerja langsung sebesar $12.000 akan dibebankan biaya overhead
sebesar $12.000 x 60% = $7.200.
41
Dasar jam tenaga kerja langsung
Metode ini membutuhkan akumulasi jam tenaga kerja langsung per pesanan atau
produk. Pencatatan waktu diatur sehingga dapat menyediakan data tambahan.
Penggunaan jam tenaga kerja langsung dibenarkan, apabila ada hubungan yang kuat
antara jam tenaga kerja langsung dan overhead pabrik. Penggunaannya diilustrasikan
sebagai berikut :
Jika estimasi total overhead pabrik adalah sebesar $300.000 dan jam tenaga kerja
langsung totalnya diestimasikan sebesar 60.000 jam, maka tarif overhead pabrik adalah
sebesar $300.000 / 60.000 jam = $5 per jam tenaga kerja langsung. Suatu pesanan atau
produk yang memerlukan 800 jam tenaga kerja langsung akan dibebankan overhead
pabrik sebesar 800 jam x $5 = $4.000.
Dasar jam mesin
Ketika mesin digunakan secara ekstensif, maka jam mesin mungkin dasar yang paling
sesuai untuk pembebanan overhead. Metode jam mesin memerlukan tambahan
pekerjaan klerikal, karena suatu sistem pelaporan harus didesain untuk memastikan
akumulasi yang benar atas data jam mesin. Penggunaannya diilustrasikan sebagai
berikut :
42
Jika total overhead pabrik diestimasikan sebesar $300:000 dan total jam mesin
diestimasikan sebesar 20.000 jam, maka tarif overhead pabrik adalah sebesar $300.000 /
20.000 jam = $15 per jam mesin. Suatu pesanan atau produk yang menggunakan 120
jam mesin dibebankan overhead pabrik sebesar 120 jam x $15 = $1.800.
Dasar transaksi atau aktivitas
Sekelompok biaya mungkin dapat diasosiasikan dengan suatu aktivitas tertentu yang
tidak terwakili oleh dasar manapun yang telah dibahas sebelumnya. Misalnya biaya
persiapan dapat dibebankan secara lebih sesuai ke produk berdasarkan tarif per
persiapan. Setiap persiapan dengan demikian dipandang sebagai suatu transaksi dengan
biaya dibebankan ke suatu produk atau batch berdasarkan jumlah transaksi yang
diperlukan. Pendekatan transaksi juga dapat diterapkan ke aktivitas lain seperti
penjadwalan, inspeksi, pergerakan bahan baku, dan perubahan dalam produk atau
proses. Semakin besar perbedaan dan kompleksitas dalam lini produk, semakin besar
jumlah transaksi. Transaksi semacam itu sering kali merupakan persentase besar dari
biaya overhead, dan kunci untuk mengelola overhead adalah dengan mengendalikan
transaksi yang memicunya. Kriteria utama dalam pemilihan dasar overhead adalah
kewajaran korelasi antara dasar dengan biaya overhead, kepraktisan dari pekerjaan
klerikal, dan akurasi perhitungan biaya.
Pemilihan tingkat aktivitas
Dalam menghitung tarif overhead yang telah ditentukan sebelumnya, sebagian besar
bergantung pada tingkat aktivitas yang dipilih. Semakin besar tingkat aktivitas yang
diasumsikan, semakin rendah tarif overhead yang telah ditentukan sebelumnya.
43
Hubungan ini ada karena overhead pabrik terdiri atas bagian yang bersifat tetap dan
variable. Semakin tinggi tingkat aktivitas, semakin kecil bagian yang tetap dari tarif
overhead pabrik, karena biaya overhead pabrik tetap dibebankan ke semakin banyak
unit aktivitas. Bagian variabel dari tarif cenderung tetap konstan pada tingkat aktivitas
yang berbeda dalam rentang yang relevan.
Tingkat kapasitas teoritis
Kapasitas teoritis dari suatu departemen, pabrik, atau fasilitas lainnya adalah kapasitas
untuk memproduksi pada kecepatan penuh tanpa interupsi. Hal ini dicapai jika pabrik
atau departemen memproduksi pada tingkat 100% kapasitas yang dinyatakan.
Tingkat kapasitas praktis
Adalah sangat tidak mungkin bahwa perusahaan dapat beroperasi pada tingkat kapasitas
teoritis. Kelonggaran harus diberikan untuk interupsi yang tidak dapat dihindari seperti,
perubahan pekerja, pemeliharaan preventif, perbaikan, persiapan, kegagalan, bahan baku
yang tidak memuaskan, penundaan pengantaran bahan baku, kekurangan dan
ketidakhadiran pekerja, dan perubahan pola serta model. Jumlah shift per hari juga harus
dipertimbangkan.
Faktor-faktor tersebut mengurangi tingkat kapasitas teoritis menjadi tingkat kapasitas
praktis. Pengurangan ini disebabkan oleh pengaruh internal dan tidak
mempertimbangkan pengaruh eksternal seperti kelangkaan pesanan pelanggan.
Pengurangan dari kapasitas teoritis ke kapasitas praktis biasanya berkisar dari 15% -
25%, yang mengakibatkan tingkat kapasitas praktis hanyalah 75% - 85% dari kapasitas
teoritis.
44
Kapasitas aktual yang diperkirakan
Kapasitas aktual yang diperkirakan mengacu pada jumlah output yang diperkirakan akan
diproduksi selama periode tersebut. Tingkat aktivitas ini biasanya mengakibatkan
perbedaan dalam tarif yang ditentukan sebelumnya di setiap periode, karena peningkatan
atau penurunan dalam produksi yang direncanakan.
Kapasitas normal
Kapasitas normal mengacu pada aktivitas rata-rata selama suatu periode waktu yang
cukup lama untuk meratakan fluktuasi. Konsep kapasitas normal berusaha untuk
menstabilisasi suatu tarif overhead yang akan berfluktuasi saat fasilitas dipergunakan
dalam tingkatan yang berbeda dalam periode yang berbeda. Suatu pesanan atau produk
sebaiknya tidak lebih mahal biayanya untuk diproduksi di periode akuntansi manapun,
hanya karena produksi lebih rendah dan biaya tetap dibebankan ke lebih sedikit unit.
Menggunakan kapasitas normal sebagai tingkat aktivitas yang diasumsikan biasanya
berarti jumlah overhead pabrik yang dibebankan akan berbeda dengan overhead
aktualnya.
Dampak kapasitas terhadap tarif overhead pabrik
Dampak dari berbagai tingkat kapasitas pada tarif overhead yang telah ditentukan
sebe1umnya diilustrasikan pada gambar berikut. Jika 75% dari tingkat kapasitas normal
dipilih, tarif overhead pabrik adalah sebesar $2,40 per jam mesin. Pada tingkat aktivitas
yang lebih tinggi, tarifnya lebih rendah karena overhead pabrik tetap dibebankan kelebih
banyak jam mesin.
45
Tabel 2.1 : Dampak kapasitas terhadap tarif overhead pabrik
(Carter Usry, 2002, p422)
Kapasitas menganggur versus kelebihan kapasitas
Kapasitas menganggur disebabkan oleh kurangnya penjualan. Ketika permintaan
penjualan meningkat, pekerja dan fasilitas produksi yang menganggur kembali
digunakan. Ketika kapasitas menganggur dianggarkan untuk periode tersebut, biayanya
dimasukkan dalam tarif overhead, hanya jika kapasitas aktual yang diperkirakan
digunakan sebagai pemicu.
Kelebihan kapasitas, berbeda, karena disebabkan oleh kapasitas produktif yang lebih
besar dibandingkan dengan kemampuan perusahaan untuk menggunakannya, atau
karena ketidakseimbangan dalam peralatan atau mesin. Ketidakseimbangan ini terjadi
ketika kapasitas dari satu mesin tidak sesuai dengan kapasitas dari mesin-mesin lain.
46
2.4.2.5 Pembebanan overhead terlalu tinggi atau rendah
Pada akhir bulan atau tahun, overhead pabrik dibebankan dan overhead pabrik
aktual dibandingkan. Overhead pabrik aktual adalah jumlah biaya tidak langsung yang
terjadi, sementara overhead pabrik dibebankan adalah jumlah biaya yang dialokasikan
ke output.
Untuk pembebanan overhead nya seperti pada ilustrasi berikut ini. Misalkan
biaya overhead pabrik yang dibebankan sebesar $283.500, sementara biaya overhead
aktual sebesar $292.000. Terhadap kondisi ini, maka telah terjadi kekurangan dalam
pembebanan overhead pabrik. Solusinya adalah :
• Kekurangan pembebanan overhead diperlakukan sebagai biaya periodik.
• Kekurangannya dimasukkan ke persediaan.
• Kekurangannya dimasukkan ke harga pokok penjualan.
2.5 Penetapan standar dan analisis varians
2.5.1 Konsep biaya standar
Biaya standar adalah biaya yang telah ditentukan sebelumnya untuk
memproduksi satu unit atau sejumlah tertentu produk selama periode tertentu. Biaya
standar adalah biaya yang direncanakan untuk suatu produk dalam kondisi operasi
sekarang atau yang diantisipasi. Suatu biaya standar memiliki dua komponen, yaitu :
standar fisik yang merupakan kuantitas standar dari input per unit output, dan standar
harga yang merupakan biaya standar atau tarif standar per unit input (Carter Usry, 2002,
p153).
47
Biaya standar membantu perencanaan dan pengendalian operasi. Biaya standar
memberikan wawasan mengenai dampak-dampak yang mungkin dari keputusan atas
biaya dan laba. Biaya standar digunakan untuk :
• Menetapkan anggaran.
• Mengendalikan biaya dengan cara memotivasi karyawan dan mengukur
efisiensi operasi.
• Menyederhanakan prosedur perhitungan biaya dan mempercepat laporan biaya.
• Membebankan biaya ke persediaan bahan baku, barang dalam proses, dan
barang jadi.
• Menetapkan tawaran kontrak dan harga jual.
• Menetapkan standar
Menghitung biaya standar memerlukan standar fisik. Dua jenis standar fisik
adalah standar dasar dan standar sekarang. Standar dasar adalah tolok ukur yang
digunakan untuk membandingkan kinerja yang diperkirakan dengan kinerja aktual
(Carter Usry, 2002, p155).
Standar sekarang terdiri atas tiga jenis (Carter Usry, 2002, p155-156):
• Standar aktual yang diperkirakan
Mencerminkan tingkat aktivitas dan efisiensi yang diperkirakan. Standar ini
merupakan estimasi yang paling dekat dengan hasil aktual.
• Standar normal
Mencerminkan tingkat aktivitas dan efisiensi normal. Standar ini
mencerminkan hasil yang menantang namun dapat dicapai.
48
• Standar teoritis
Mencerminkan tingkat aktivitas dan efisiensi maksimum. Standar ini
merupakan cita-cita yang dituju dan bukannya kinerja yang dapat dicapai
sekarang.
Standar bahan baku dan tenaga kerja biasanya disadarkan pada kondisi normal
sekarang, dengan memperbolehkan adanya perubahan yang telah diperkirakan dalam
harga dan tarif, serta mencerminkan efisiensi yang diinginkan. Standar overhead
biasanya didasarkan pada kondisi operasi normal, volume normal, dan efisiensi yang
diinginkan.
Standar biasanya dihitung untuk periode 6 atau 12 bulan, meskipun periode yang
lebih panjang kadang digunakan. Standar sebaiknya diubah ketika kondisi yang
mendasarinya berubah atau ketika penggunaan standar yang lama tidak lagi mencapai
tujuannya. Standar fisik sebaiknya dipantau secara terus-menerus dan ditinjau ulang
secara berkala guna menentukan kesesuaiannya.
2.5.2 Menentukan varians biaya standar
Untuk setiap jenis bahan baku, untuk setiap operasi tenaga kerja, dan untuk
overhead pabrik yang dibebankan setiap departemen, setiap pusat biaya, atau setiap
aktivitas, biaya aktual dibandingkan dengan biaya standar. Perbedaannya dianalisis dan
diidentifikasi sebagai varians biaya standar. Jika biaya aktual melebihi biaya standar,
maka variansnya adalah tidak menguntungkan, karena kelebihan tersebut memiliki
dampak yang tidak menguntungkan terhadap laba. Demikian sebaliknya.
49
Standar dan varians bahan baku
Ada dua standar yang dikembangkan biaya bahan baku, yaitu standar harga bahan baku
dan standar kuantitas bahan baku atau standar penggunaan bahan baku. Harga standar
memungkinkan untuk :
• Memantau kinerja dari departemen pembelian dan mendeteksi pengaruhnya
pada biaya bahan baku.
• Mengukur dampak dari kenaikan atau penurunan harga bahan baku terhadap
laba.
Harga yang digunakan adalah harga beli, kemudian harga yang dipilih sebaiknya
mencerminkan harga pasar sekarang, dan standar sebaiknya direvisi pada tanggal
persediaan atau ketika harga pasar dari bahan baku yang penting berubah.
Varian harga bahan baku bisa dilihat dari dua sudut pandang, yaitu :
• Perbedaan yang terjadi antara harga pembelian standar per unit dengan harga
pembelian aktual per unit menimbulkan varians harga pembelian bahan baku.
• Perbedaan yang terjadi antara harga penggunaan standar per unit dengan harga
penggunaan aktual per unit menimbulkan varians harga penggunaan bahan
baku.
Varians kuantitas bahan baku (varians penggunaan) dihitung dengan cara
membandingkan kuantitas aktual dari bahan baku yang digunakan dengan kuantitas
standar yang diperbolehkan, ketika keduanya diukur dengan biaya standar. Kuantitas
standar yang diperbolehkan adalah kuantitas bahan baku yang dibutuhkan untuk
memproduksi satu unit produk dikalikan dengan jumlah aktual dari unit yang
diproduksi.
50
Standar dan varians tenaga kerja
Ada dua standar yang dikembangkan untuk biaya tenaga kerja langsung yaitu
standar tarif atau upah dan standar efisiensi atau waktu. Standar tarif mungkin
didasarkan pada perjanjian yang menentukan upah per jam, tarif per unit, dan bonus.
Perbedaan yang terjadi antara tarif standar dan tarif aktual menimbulkan varians tarif
tenaga kerja atau varians upah.
Varians efisiensi tenaga kerja dihitung diakhir periode pelaporan dengan cara
membandingkan jam aktual yang digunakan dengan jam standar yang diperbolehkan.
Keduanya diukur dengan tarif tenaga kerja standar. Jam standar yang diperbolehkan
setara dengan jumlah standar dari jam tenaga kerja langsung untuk memproduksi satu
unit produk dikalikan dengan jumlah aktual dari unit yang diproduksi.
Standar dan varians biaya overhead
Cara penghitungan standar biaya overhead adalah :
• Pertama, anggaran overhead pabrik dibuah, dengan cara mengetimasikan setiap
pos dari overhead yang diperkirakan akan terjadi di setiap departemen, pusat
biaya, atau aktivitas, pada tingkat aktivitas tertentu yang telah ditentukan
sebelumnya, biasanya pada tingkat kapasitas normal.
• Kedua, anggaran biaya departemen jasa dialokasikan ke departemen pengguna
berdasarkan jumlah jasa yang direncanakan.
• Ketiga, jumlahkan estimasi overhead kemudian dibagi dengan tingkat dasar
alokasi yang telah ditentukan sebelumnya, dan hasilnya adalah tarif overhead
pabrik standar untuk setiap departemen produksi.
51
Ada dua pertimbangan penting dalam pemilihan dasar alokasi overhead yang sesuai,
yaitu :
• Dasar alokasi sebaiknya mencerminkan penyebab utama dari biaya overhead
tersebut di departemen itu. Misalnya jika proses produksi bersifat intensif
tenaga kerja di departemen ”A” sementara proses produksi bersifat intensif
modal di departemen ”B”, maka jam tenaga kerja langsung menjadi dasar
alokasi untuk departemen ”A”, sementara jam mesin atau waktu proses
menjadi dasar alokasi untuk departemen ”B”.
• Data yang berkaitan dengan dasar alokasi yang dipilih dapat diperoleh dengan
mudah. Sesuai dengan contoh diatas, maka data jam mesin dan jam tenaga
kerja langsung harus mudah diperoleh.
2.5.3 Penyebab timbulnya varians
Varians adalah suatu sinyal. Varians yang besar baik menguntungkan taupun
tidak, sebaiknya diinvestigasi dan dianalisa. Suatu varians dapat disebabkan oleh
kejadian acak yang tidak diharapkan, atau mungkin disebabkan standar yang digunakan
sudah ketinggalan zaman.
Departemen pembelian memiliki tanggung jawab utama atas varians harga bahan
baku. Supaya berguna, laporan varians sebaiknya memuat daftar varians untuk setiap
jenis bahan baku yang dibeli selama periode tersebut. Kendali atas harga dicapai melalui
pengumpulan beberapa penawaran harga, pembelian dalam lot yang ekonomis,
pengambilan diskon tunai, dan pemilihan cara pengiriman yang paling ekonomis.
52
Tetapi, kondisi ekonomi dan perubahan harga yang tidak diperkitakan oleh
pemasok mungkin berada di luar kendali departemen tersebut dan mungkin disebabkan
oleh inflasi yang tidak diperkirakan, kelebihan atau kekurangan kuantitas barang yang
tersedia di pasar, atau pembelian yang beruntung. Dengan demikian, varians harga
bahan baku lebih merupakan ukuran dari kemampuan untuk memprediksikan harga dan
bukannya kegagalan untuk membeli dengan harga yang telah ditentukan sebelumnya.
Faktor-faktor internal seperti pesanan kilat yang mahal, karena memerlukan
pengiriman bahan baku dalam waktu singkat atau dalam kuantitas yang tidak ekonomis,
dapat berdampak negatif pada varians harga bahan baku tetapi tidak disebabkan oleh
departemen pembelian.
Varians kuantitas bahan baku dapat disebabkan oleh banyak faktor, dan
penyebabnya harus diidentifikasi jika varians tersebut ingin dikendalikan. Laporan
variaris bahan baku sebaiknya dibuat per departemen dan sebaiknya memuat daftar
varians kuantitas bahan baku untuk setiap jenis bahan baku yang digunakan selama
periode tersebut. Jika bahan baku tersebut kualitasriya di bawah standar, maka
penyebabnya mungkin terletak pada permintaan pembelian menginfomasikan ke
departemen pembelian mengenai kualitas yang dibutuhkan. Jika bahan baku yang dibeli
bervariasi dari spesifikasi dalam permintaan pembelian, maka penyebabnya mungkin
ada di departemen pembelian. Atau mungkin, bahan baku yang cacat tidak ditemukan
selama inspeksi pada saat bahan baku tersebut diterima. Penyebab-penyebab lainnya
terkait dengan aktivitas produksi, meliputi faktor-faktor seperti: tenaga kerja yang tidak
berpengalaman atau tidak efisien, pencurian, mesin yang usang atau baru, perubahan
dalam metode produksi, perencanaan produk yang salah, atau kurangnya supervisi
produksi yang mencukupi.
53
Varians tenaga kerja yang besar cenderung jarang terjadi karena tarif tenaga
kerja tintuk keseluruhan periode biasanya ditetapkan oleh manajemen atau oleh kontrak
dengan serikat pekerja. Tetapi, varians tarif dapat terjadi, jika rata-rata tarif tenaga kerja
tunggal digunakan dalam perhitungan, padahal ada beberapa tarif yang berbeda untuk
pekerja-pekerja individual. Dalam kasus-kasus semacam itu, ketidakhadiran atau
penugasan pekerja dengan satu tarif upah tertentu ke tugas yang biasanya membayar
upah dengan tarif yang berbeda dapat menimbulkan varians tarif. Dalam kasus-kasus
semacam ini, perencanaan atau penjadwalan penugasan adalah penyebab dari timbulnya
varians.
Varians efisiensi tenaga kerja dapat terjadi karena berbagai faktor. Faktor-faktor
tersebut meliputi kurangnya bahan baku, bahan baku yang bermasalah, pekerja yang
tidak berpengalaman, mesin yang sudah usang, kerusakan mesin, mesin baru, perubahan
dalam mdode produksi, perencanaan dan penjadwalan yang buruk, cetak biru atau
spesifikasi desain yang buruk, ketidakpuasan pekerja, dan interupsi kerja.
Varians overhead pabrik muncul baik dari porsi variabel maupun porsi tetap
overhead. Keputusan mengenai penggunaan kapasitas dan menentukan tarif overhead
yang telah ditentukan sebelumnya adalah bagian dari perencanaan. Tetapi, perubahan
juga terjadi dalam biaya tetap, karena perubahan dalam tarif penyusutan, premi asuransi,
pajak, dan gaji.
54
2.6 Pengendalian Intern
2.6.1 Pengertian Pengendalian Intern
Menurut Boynton, Johnson, dan Kell (2001, p373), pengendalian intern (internal
control) adalah suatu proses, yang dilaksanakan oleh orang (dewan direksi, manajemen,
dan personel lainnya) dalam suatu entitas, yang dirancang untuk menyediakan keyakinan
yang memadai berkenaan dengan pencapaian tujuan dalam kategori berikut:
• Keandalan pelaporan keuangan.
• Kepatuhan terhadap hukum peraturan yang berlaku.
• Efektivitas dan efisiensi operasi.
Menurut Mulyadi (2001, p163), sistem pengendalian intern meliputi struktur
organisasi, metode dan ukuran-ukuran yang dikoordinasikan untuk menjaga kekayaan
organisasi, mengecek ketelitian dan keandalan data akuntansi, mendorong efisiensi, dan
mendorong dipatuhinya kebijakan manajemen.
Jadi dapat diambil kesimpulan bahwa pengendalian intern dan sistem
pengendalian intern merupakan suatu bagian yang sama, dipandang dari sisi definisi dan
tujuannya. Dimana yang difokuskan terutama pada tujuannya yaitu : menjaga kekayaan
organisasi, mengecek ketelitian dan keandalan data akuntansi, mendorong efisiensi, dan
mendorong dipatuhinya kebijakan manajemen.
Penjelasan lebih lanjut arti dari pengendalian intern adalah sebagai berikut:
• Pengendalian intern merupakan suatu proses. Ini berarti alat untuk mencapai
suatu akhir, bukan akhir itu sendiri. Pengendalian intern terdiri dari serangkaian
tindakan yang meresap dan terintegrasi dengan, dan tidak ditambahkan ke dalam
infrastruktur suatu entitas.
55
• Pengendalian intern dilaksanakan oleh orang. Pengendalian intern bukan hanya
suatu manual kebijakan dan formulir-formulir, tetapi orang pada berbagai
tingkatan organisasi, termasuk dewan direksi, manajemen, dan personel lainnya.
• Pengendalian intern dapat diharapkan untuk menyediakan hanya keyakinan yang
memadai, bukan keyakinan yang mutlak kepada manajemen dan dewan direksi
suatu entitas karena keterbatasan yang melekat dalam semua sistem pengendalian
intern dan perlunya untuk mempertimbangkan biaya dan manfaat relatif dari
pengadaan pengendalian.
• Pengendalian intern diarahkan pada pencapaian tujuan dalam kategori dari
pelaporan keuangan, kepatuhan, dan operasi.
2.6.2 Unsur Sistem Pengendalian Intern
Menurut Mulyadi (2001, p164-172), unsur-unsur pokok sistem pengendalian
intern adalah :
• Struktur organisasi yang memisahkan tanggung jawab fungsional secara tegas.
• Sistem wewenang dan prosedur pencatatan yang memberikan perlindungan
yang cukup terhadap kekayaan, utang, pendapatan, dan biaya.
• Praktik yang sehat dalam melaksanakan tugas dan fungsi setiap unit organisasi.
• Karyawan yang mutunya sesuai dengan tanggung jawabnya.
56
Struktur organisasi yang memisahkan tanggung jawab fungsional secara tegas
Struktur organisasi merupakan kerangka pembagian tanggung jawab fungsional
kepada unit-unit organisasi yang dibentuk untuk melaksanakan kegiatan-kegiatan pokok
perusahaan. Dalam melaksanakan kegiatan-kegiatan pokok tersebut, perusahaan
biasanya dibagi menjadi departemen-departemen, kemudian departemen-departemen
dibagi lagi menjadi unit-unit yang lebih kecil.
Pembagian tanggung jawab fungsional dalam organisasi didasarkan pada prinsip-
prinsip berikut :
• Harus dipisahkan fungsi-fungsi operasi dan penyimpanan dari fungsi akuntansi.
Fungsi operasi adalah fungsi yang memiliki wewenang untuk melaksanakan
suatu kegiatan. Fungsi penyimpanan adalah fungsi yang memiliki wewenang
untuk menyimpan aktiva perusahaan. Fungsi akuntansi adalah fungsi yang
memiliki wewenang untuk mencatat peristiwa keuangan perusahaan.
• Suatu fungsi tidak boleh diberi tanggung jawab penuh untuk melaksanakan
semua tahap suatu transaksi.
Dalam pemisahan fungsi akuntansi dari fungsi operasi dan fungsi penyimpanan, maka
catatan akuntansi yang diselenggarakan dapat mencerminkan transaksi sesungguhnya
yang dilaksanakan oleh unit organisasi yang memegang fungsi operasi dan fungsi
penyimpanan.
57
Sistem wewenang dan prosedur pencatatan yang memberikan perlindungan yang
cukup terhadap kekayaan, utang, pendapatan, dan biaya
Dalam organisasi, setiap transaksi hanya terjadi atas dasar otorisasi dari pejabat
yang memiliki wewenang untuk menyetujui transaksi tersebut. Oleh karena itu, dalam
organisasi harus dibuat sistem yang mengatur pembagian wewenang untuk otorisasi atas
terlaksananya setiap transaksi.
Formulir merupakan media yang digunakan untuk merekam penggunaan
wewenang untuk memberikan otorisasi terlaksananya transaksi dalam organisasi. Oleh
karena itu, penggunaan formulir harus diawasi sedemikian rupa guna mengawasi
pelaksanaan otorisasi.
Praktik yang sehat dalam melaksanakan tugas dan fungsi setiap unit organisasi
Pembagian tanggung jawab fungsional, dan sistem wewenang dan prosedur
pencatatan yang telah diterapkan tidak akan terlaksana dengan baik jika tidak diciptakan
cara-cara untuk menjamin praktik yang sehat dalam pelaksanaannya. Adapun cara-cara
yang umumnya ditempuh oleh perusahaan dalam menciptakan praktik yang sehat
adalah:
• Penggunaan formulir bernomor urut tercetak yang pemakaiannya harus
dipertanggungjawabkan oleh yang berwenang.
• Pemeriksaan mendadak.
• Setiap transaksi tidak boleh dilaksanakan dari awal sampai akhir oleh satu
orang atau satu unit organisasi.
• Perputaran jabatan dilaksanakan secara rutin.
58
• Keharusan pengambilan cuti bagi karyawan yang berhak.
• Secara periodik diadakan pencocokan fisik kekayaan dengan catatannya.
• Pembentukan unit organisasi yang bertugas untuk mengecek efektivitas unsur-
unsur sistem pengendalian intern.
Karyawan yang mutunya sesuai dengan tanggung jawabnya
Bagaimana pun baiknya struktur organisasi, sistem otorisasi, dan prosedur
pencatatan, serta berbagai cara yang diciptakan untuk mendorong praktik yang sehat,
semuanya sangat tergantung kepada manusia yang melaksanakannya. Diantara keempat
unsur pengendalian intern, unsur mutu karyawan merupakan unsur sistem pengendalian
intern yang paling penting.
Untuk mendapatkan karyawan yang kompeten dan dapat dipercaya, berikut
adalah cara yang dapat ditempuh :
• Seleksi calon karyawan berdasarkan persyaratan yang dituntut pekerjaannya.
• Pengembangan pendidikan karyawan selama menjadi karyawan perusahaan,
sesuai dengan tuntutan perkembangan pekerjaannya.
2.7 Sistem Pengawasan Produksi
Sistem pengawasan produksi ditujukan untuk mengawasi pelaksanaan order produksi
yang dikeluarkan oleh fungsi produksi (Mulyadi, 2001, p413).
59
2.7.1 Dokumen yang Digunakan
Menurut Mulyadi (2001, p413-418), dokumen yang digunakan dalam sistem
pengawasan produksi adalah :
• Surat order produksi.
• Daftar kebutuhan bahan.
• Daftar kegiatan produksi.
• Bukti permintaan dan pengeluaran barang gudang.
• Bukti pengembalian barang gudang.
• Kartu jam kerja.
• Laporan produk selesai.
Surat order produksi
Dokumen ini merupakan surat perintah yang dikeluarkan oleh departemen produksi,
yang ditujukan kepada bagian-bagian yang terkait dengan proses pengolahan produk
untuk memproduksi sejumlah produk dengan spesifikasi, cara produksi, fasilitas
produksi, dan jangka waktu seperti yang tercantum dalam surat order produksi tersebut.
Daftar kebutuhan bahan
Dokumen ini merupakan daftar jenis dan kuantitas bahan baku yang diperlukan untuk
memproduksi produk seperti yang tercantum dalam surat order produksi.
60
Daftar kegiatan produksi
Dokumen ini merupakan daftar urutan jenis kegiatan dan fasilitas mesin yang diperlukan
untuk memproduksi produk seperti yang tercantum dalam surat order produksi.
Bukti permintaan dan pengeluaran barang gudang
Dokumen ini merupakan formulir yang digunakan oleh fungsi produksi untuk meminta
bahan baku dan bahan penolong untuk memproduksi produk yang tercantum dalam surat
order produksi. Dokumen ini juga berfungsi sebagai bukti pengeluaran barang dari
gudang.
Bukti pengembalian barang gudang
Dokumen ini merupakan formulir yang digunakan oleh fungsi produksi untuk
mengembalikan bahan baku dan bahan penolong ke fungsi gudang. Pengembalian bahan
disebabkan karena adanya sisa bahan baku dan bahan penolong yang tidak terpakai
dalam proses produksi.
Kartu jam kerja
Dokumen ini merupakan kartu untuk mencatat jam kerja tenaga kerja langsung yang
dikonsumsi untuk memproduksi produk yang tercantum dalam surat order produksi.
Laporan produk selesai
Laporan produk selesai dibuat oleh fungsi produksi untuk memberitahukan selesainya
produksi pesanan tertentu kepada fungsi perencanaan dan pengawasan produksi, fungsi
gudang, fungsi penjualan, dan fungsi akuntansi persediaan, dan fungsi akuntansi biaya.
61
2.7.2 Fungsi yang Terkait
Menurur Mulyadi (2001, p419-420), fungsi yang terkait dalam sistem
pengawasan produksi adalah :
• Fungsi penjualan.
• Fungsi perencanaan dan pengawasan produksi.
• Fungsi produksi.
• Fungsi gudang.
• Fungsi akuntansi biaya.
Fungsi penjualan
Dalam perusahaan yang produksinya berdasarkan pesanan, fungsi penjualan
bertanggung jawab atas penerimaan order dari langganan dan meneruskan order tersebut
ke fungsi produksi. Dalam perusahaan yang berproduksi secara massal, order produksi
umumnya ditentukan bersama dalam rapat bulanan antara fungsi pemasaran dan fungsi
produksi. Fungsi penjualan melayani order dari langganan berdasarkan persediaan
produk jadi yang ada di gudang.
Fungsi produksi
Fungsi ini bertanggung jawab atas pembuatan perintah produksi bagi fungsi-fungsi yang
ada di bawahnya yang terkait dalam pelaksanaan proses produksi. Dalam perusahaan
yang besar, fungsi produksi biasanya dibantu oleh fungsi perencanaan dan pengawasan
produksi dalam pembuatan order produksi.
62
Fungsi perencanaan dan pengawasan produksi
Fungsi ini merupakan fungsi staff yang memantu fungsi produksi dalam merencanakan
dan mengawasi kegiatan produksi. Rencana produksi dituangkan dalam dokumen daftar
kebutuhan bahan baku dan daftar kegiatan produksi.
Fungsi gudang
Fungsi gudang bertanggung jawab atas pelayanan permintaan bahan baku, bahan
penolong, dan barang lain yang digudangkan. Fungsi ini juga bertanggung jawab untuk
menerima produk jadi yang diserahkan oleh fungsi produksi.
Fungsi akuntansi
Fungsi ini bertanggung jawab untuk mencatat konsumsi berbagai sumber daya yang
digunakan untuk memproduksi produk. Pencatatan biaya bahan baku langsung, biaya
tenaga kerja langsung, dan biaya overhead pabrik dilakukan oleh fungsi ini dalam kartu
harga pokok produk.
2.7.3 Jaringan Prosedur yang Membentuk Sistem
Menurut Mulyadi (2001, p421-422), jaringan prosedur yang membentuk sistem
pengawasan produksi adalah :
• Prosedur order produksi.
• Prosedur permintaan dan pengeluaran barang gudang.
• Prosedur pencatatan jam tenaga kerja langsung.
• Prosedur produk selesai.
63
Prosedur order produksi
Dalam prosedur ini surat order produksi dikeluarkan untuk mengkoordinasi pengolahan
bahan baku menjadi produk jadi. Surat order produksi dikeluarkan oleh departemen
produksi berdasarkan order dari pembeli yang diterima dari fungsi penjualan, atau
berdasarkan permintaan dari fungsi gudang. Dalam perusahaan besar, departemen
produksi memiliki staff yaitu fungsi perencanaan dan pengawasan produksi untuk
membantu dalam pembuatan surat order produksi.
Prosedur permintaan dan pengeluaran barang gudang
Prosedur ini digunakan oleh fungsi produksi untuk meminta bahan baku dari fungsi
gudang. Jika perusahaan menyediakan persediaan bahan baku di gudang untuk
memenuhi kebutuhan bahan baku bagi suatu order produksi, diperlukan prosedur untuk
meminta dan mengeluarkan barang dari gudang. Biasanya permintaan bahan baku untuk
memenuhi order produksi didasarkan pada daftar kebutuhan bahan baku yang dibuat
oleh fungsi perencanaan dan pengawasan produksi.
Prosedur pencatatan jam tenaga kerja langsung
Surat order produksi yang dikeluarkan departemen produksi biasanya dilampiri dengan
daftar kebutuhan bahan baku dan daftar kegiatan produksi. Daftar kegiatan produksi
berisi kegiatan yang diperlukan untuk memproduksi sejumlah produk seperti yang
tercantum dalam surat order produksi.
64
Prosedur produk selesai
Order produksi yang telah selesai dikerjakan perlu diserahkan dari fungsi produksi ke
fungsi gudang. Prosedur produk selesai merupakan prosedur penyerahan produk selesai
dari fungsi produksi ke fungsi gudang.
2.7.4 Unsur Pengendalian Intern
Menurut Mulyadi (2001, p429-430), unsur pengendalian intern yang seharusnya
ada dalam sistem pengawasan produksi dirancang dengan merinci tiga unsur sistem
pengendalian intern yaitu : struktur organisasi yang memisahkan tanggung jawab
fungsional secara tegas, sistem wewenang dan prosedur pencatatan yang memberikan
perlindungan yang cukup terhadap kekayaan, utang, pendapatan, dan biaya, dan praktik
yang sehat dalam melaksanakan tugas dan fungsi setiap unit organisasi.
struktur organisasi yang memisahkan tanggung jawab fungsional secara tegas
• Fungsi pencatat biaya harus terpisah dari fungsi produksi.
• Fungsi pencatat biaya harus terpisah dari fungsi yang menganggarkan biaya.
• Fungsi gudang harus terpisah dari fungsi produksi.
• Fungsi gudang harus terpisah dari fungsi akuntansi.
sistem wewenang dan prosedur pencatatan yang memberikan perlindungan yang
cukup terhadap kekayaan
• Surat order produksi diotorisasi oleh kepala fungsi produksi.
• Bukti permintaan dan pengeluaran barang gudang diotorisasi oleh kepala
65
fungsi produksi dan kepala fungsi gudang.
• Daftar kebutuhan bahan dibuat oleh fungsi perencanaan dan pengawasan
produksi dan diotorisasi oleh kepala fungsi produksi.
• Daftar kegiatan produksi dibuat oleh fungsi perencanaan dan pengawasan
produksi dan diotorisasi oleh kepala fungsi produksi.
• Kartu jam kerja diotorisasi oleh kepala fungsi produksi.
praktik yang sehat dalam melaksanakan tugas dan fungsi setiap unit organisasi
• Surat order produksi, bukti permintaan dan pengeluaran barang gudang, dan
bukti pengembalian barang gudang bernomor urut tercetak dan penggunaannya
dipertanggung jawabkan.
• Secara periodik dilakukan penghitungan persediaan yang ada di gudang untuk
dicocokkan dengan kartu persediaan.
2.8 Analisis dan Perancangan Sistem dengan Pendekatan Object Oriented
Analysis and Design (OOAD)
Ide penting dibelakang OOAD adalah object dan classes. Menurut Mathiassen et
al (2000, p4), object adalah sebuah entitas dengan identity, state, dan behavior. Dalam
kegiatan analisis, object adalah berupa gambaran abstrak dari fenomena dalam konteks
system. Dalam kegiatan desain, object adalah bagian dari system. Biasanya object
digambarkan melalui classes, yaitu kumpulan dari object-object yang mempunyai
struktur, behavior, dan attribute yang sama. Class berguna untuk memahami sebuah
object dan sangat penting untuk menggambarkan object.
66
Menurut Mathiassen et al (2000, p12), OOAD menggambarkan empat sudut
pandang bagi system dan konteksnya, yaitu: isi dari informasi system, bagaimana system
akan digunakan, system sebagai keseluruhan, dan komponen-komponen system. Sudut
pandang tersebut dihubungkan dengan aktivitas utama dalam OOAD, yaitu Problem
Domain Analysis, Application Domain Analysis, Architectural Design, dan Component
Design.
Gambar 2.4 : Aktivitas utama dalam OOAD
(Mathiassen et al, 2000, p15)
Menurut Mathiassen et al (2000, p18), OOAD dibangun berdasarkan empat
prinsip umum analisis dan desain, yaitu:
• Model the context
System yang berguna cocok dengan konteks nya. Oleh karena itu penting untuk
membuat model bagi application domain dan problem domain selama analisis
dan desain
Require ments for u se
Mo del
Specifications of components
Specifications ofarchite cture
Componen t design
Architectural design
Application-domainanalysis
Problem-domain analysis
67
• Emphasize the architecture
Arsitektur system harus dibuat sedemikian rupa agar mudah dimengerti oleh
designer dan programmer system. Arsitektur system juga harus fleksibel agar
mudah dalam modifikasi dan perbaikan.
• Reuse patterns
Membangun system dengan menggunakan komponen yang telah diuji
meningkatkan kualitas system dan produktifitas proses pengembangan.
• Tailor the model to suit specific projects
OOAD harus disesuaikan dengan kebutuhan spesifik dari berbagai situasi
analisis dan desain dari proyek.
2.8.1 System Choice
Suatu proyek pengembangan dimulai dengan pengumpulan berbagai ide-ide
yang berbeda tentang system yang diinginkan. System choice didasarkan pada tiga
subaktivitas. Subaktivitas yang pertama berfokus pada tantangan-tantangan: kita
mencoba untuk memperoleh gambaran umum dari situasi dan berbagai cara orang
mengintepretasikannya. Subaktivitas yang kedua menciptakan dan mengevaluasi ide-ide
untuk desain system. Subaktivitas ketiga, adalah memformulasikan dan memilih system
definition, mendiskusikan dan mengevaluasi system definition alternatif dalam
hubungannya dengan situasi khusus yang kita hadapi (Mathiassen et al. 2000, p25).
68
2.8.1.1 System Definition
Menurut Mathiassen et al. (2000, p24), system definition merupakan deskripsi
singkat dari sebuah system terkomputerisasi yang dinyatakan dalam bahasa alami. Suatu
system definition mengekspresikan property-property yang fundamental untuk
pengembangan dan penggunaan system. Hal tersebut mendeskripsikan system dalam
konteks, informasi apa yang harus dikandungnya, function mana yang harus tersedia, di
mana hal tersebut akan digunakan, dan kondisi pengembangan mana yang diterapkan.
Tujuan dari system definition adalah untuk menerangkan berbagai intepretasi dan
kemungkinan yang berbeda. System definition membantu menangani gambaran umum
dari berbagai pilihan-pilihan yang berbeda, dan dapat digunakan untuk membandingkan
berbagai alternatif. System definition yang akhirnya dipilih harus menyediakan landasan-
landasan yang baik untuk kelangsungan analisa dan aktivitas perancangan.
2.8.1.2 Rich Picture
Menurut Mathiassen et al. (2000, p26), rich picture adalah sebuah gambaran
informal yang mewakili pemahaman ilustrator terhadap situasi dari system. Dengan
membuat rich picture, kita dapat memperjelas pandangan user mengenai situasi,
permasalahan, dan memperoleh gambaran umum dari situasi dengan cepat. Tujuan
pembuatannya bukan untuk membuat deskripsi yang mendetail dari semua keadaan yang
mungkin, tetapi lebih untuk memperoleh gambaran umum.
69
2.8.1.3 FACTOR Criterion
Menurut Mathiassen et al. (2000, p39-40), terdapat enam elemen kriteria
FACTOR, yaitu:
Functionality : Fungsi dari system yang mendukung tugas-tugas application
domain.
Application-domain : Bagian dari organisasi yang mengatur, memonitor, atau
mengontrol suatu problem domain.
Conditions : Kondisi di mana system akan dikembangkan dan digunakan.
Technology : Teknologi yang digunakan untuk mengembangkan system dan
teknologi saat system dijalankan.
Objects : Objek utama dalam problem domain.
Responsibility : Tanggung jawab keseluruhan dari system dalam hubungan
dengan konteksnya.
2.8.2 Tahapan Analisis
2.8.2.1 Problem Domain Analysis
Mengacu pada Mathiassen et al (2000, p45), problem domain analysis adalah
analisa terhadap system bisnis dalam dunia nyata yang dapat diatur, dimonitor, atau
dikendalikan oleh system. Tujuan dari problem domain analysis adalah untuk
mengidentifikasikan dan membuat model dari problem domain. Model adalah penjelasan
dari classes, objects, structures, dan behavior dalam problem domain.
70
Gambar 2.5 Aktivitas dalam problem domain modeling
(Mathiassen et al, 2000, p46)
Menurut Mathiassen et al (2000, p46), sasaran dari problem domain analysis
adalah untuk mengembangkan sebuah model yang memberikan gambaran secara
menyeluruh dan tepat yang relevan dengan konteks.
Berikut adalah bagan aktivitas dalam problem domain analysis.
Activity Content Concepts
Classes Objects dan events apa yang Class, object, dan event
menjadi bagian problem domain ?
Structure Bagaimana classes dan objects Generalization, aggregation,
Digabungkan bersama-sama ? association, dan cluster
Behavior Apa saja properties yang Event trace, behavioral
dimiliki oleh object ? pattern, dan attribute
Tabel 2.2 : Aktivitas dalam problem domain analysis
(Mathiassen et al, 2000, p48)
71
2.8.2.1.1 Classes
Menurut Mathiassen et al (2000, p49), untuk membuat model dari problem
domain, dimulai dengan aktivitas class. Dalam aktivitas class ada tugas-tugas penting
yang terdiri dari :
• Abstraction
Fenomena dari problem domain dilihat dalam bentuk objects dan events.
• Classification
Mencoba untuk mengklasifikasi objects dan events yang sesuai.
• Selection
Memilih objects dan events dimana system akan membutuhkan informasinya.
Menurut Mathiassen et al (2000, p51), apa yang anda lihat dalam problem
domain adalah objects dan events. Object adalah entitas dengan identity, state, dan
behavior. Event adalah kejadian yang instan yang melibatkan satu atau lebih object, atau
sebuah abstraksi dari aktivitas problem domain atau proses yang dilakukan oleh satu
atau lebih object.
Gambar 2.6 : Subaktivitas dalam memilih class dan event
(Mathiassen et al, 2000, p55)
72
Masih mengacu kepada mathiassen et al (2000, p53), tujuan dari aktivity class
adalah untuk mengidentifikasi seluruh objects dan events untuk dimasukkan dalam
model problem domain. Untuk mencapainya, maka dibuatlah grup dari objects dan
events kedalam beberapa class. Class adalah kumpulan dari object yang memiliki
structure, behavioral pattern, dan attribute yang sama.
Untuk memudahkan dalam menentukan class, maka sebaiknya nama class
berupa benda, atau kata benda (Mathiassen et al. 2000, p56), sedangkan untuk event
sebaiknya menggunakan kata kerja. (Mathiassen et al. 2000, p58)
Aktivitas class akan menghasilkan event table. Bagian horizontal merupakan
class-class yang dipilih, sedangkan bagian vertikal merupakan event-event yang
digunakan. Tanda check menandakan adanya keterkaitan antara class dengan event.
Tabel 2.3 : Contoh event table
(Mathiassen et al, 2000, p389)
73
2.8.2.1.2 Structure
Menurut Mathiassen et al (2000, p69), fokus dari aktivitas structure adalah pada
relasi antara classes dan objects. Hasil dari aktivitas structure adalah class diagram.
Class diagram menyajikan gambaran tentang problem domain berupa relasi struktural
diantara classes dan object dalam model.
Gambar 2.7 : Subaktivitas dalam membuat model structure
(Mathiassen et al, 2000, p72)
Dalam bukunya, Mathiassen et al (2000, p72-77), structure dibagi menjadi 2
bagian, yaitu: class structure dan object structure. Class structure menggambarkan
hubungan yang statis dan konseptual diantara class. Object structure menggambarkan
hubungan dinamis dan konkret diantara object.
Class structure terdiri dari :
• Generalization structure
Hubungan antara general class (superclass) dengan specialized class
(subclass), dimana properties yang dimiliki oleh general class juga dimiliki
oleh specialized class.
74
Gambar 2.8 : Generalization structure
(Mathiassen et al, 2000, p73)
• Cluster structure
Merupakan pengelompokkan class-class yang mempunyai hubungan erat.
Gambar 2.9 : Cluster structure
(Mathiassen et al, 2000, p75)
Object structure terdiri dari :
• Aggregation structure
Menggambarkan hubungan hubungan antara sebuah object dengan object lain
yang menjadi komponennya. Dalam aggregation, satu object merupakan object
utama dan mendefinisikan object-object yang lain.
75
Gambar 2.10 : Aggregation Structure
(Mathiassen et al, 2000, p76)
• Association
Menggambarkan hubungan diantara dua atau lebih object.
Gambar 2.11 : Association Structure
(Mathiassen et al, 2000, p77)
Menemukan candidate untuk structure
Menurut Mathiassen et al (2000, p77-80), membuat model relasi structure sama
saja caranya seperti ketika menentukan classes dan events, yaitu dengan menentukan
candidate untuk relasi structure diantara model class. Menentukan candidate nya
didasarkan pada empat tipe structure, yaitu:
Menentukan generalization
Pendekatan yang digunakan untuk menentukan structure generalization adalah
(Mathiassen et al, 2000, p78) :
Pendekatan pertama, dari class-class yang ada ditelusurilah mana class yang merupakan
generalization dari class yang lain. Setelah itu, maka akan ada event dari class
76
generalization kepada class specialization.
Pendekatan kedua, tentukanlah class generalization yang mungkin untuk class-class
yang ada. Misal: ada class sedan dan class minibus, maka class generalization
yang cocok menampung kedua class tersebut adalah class kendaraan.
Pendekatan ketiga, mungkin saja class yang ada merupakan class generalization, maka
dapat ditentukan class specialization nya. Misal: class yang ada adalah class
karyawan, maka dapat dibuat class specialization nya yaitu class manajer dan
class pegawai sesuai dengan tugas yang mereka lakukan.
Menentukan aggregation
Pendekatan yang digunakan untuk menentukan structure aggregation adalah
(Mathiassen et al, 2000, p78-79) :
Pendekatan pertama, melakukan analisa terhadap pasangan class untuk melihat apakah
object dari satu class merupakan bagian dari object class yang lain.
Pendekatan kedua, melakukan analisa apakan relevan jika menggabungkan object-object
dari masing-masing class ke dalam object dari class baru yang dibentuk.
Pendekatan ketiga, melakukan analisa apakah memungkinkan jika memasukkan class-
class yang ada ke dalam beberapa class yang relevan yang belum ada dalam
model.
Untuk lebih mempermudah dalam menentukan aggregation, maka dapat dilihat
dari tipe aggregation yang ada, yang terdiri dari :
• Whole part, di mana whole merupakan jumlah dari parts, sehingga jika
salah satu parts dihilangkan maka secara tidak langsung telah
mengubah whole.
77
• Container-Content, di mana whole adalah container dari parts-nya,
sehingga bila terdapat penambahan atau pengurangan terhadap Content
( parts ), tidak akan mengubah whole nya.
• Union-member, di mana whole merupakan union, yaitu berupa
gabungan dari anggotanya (parts), sehingga jika terdapat penambahan
atau pengurangan anggota, tidak akan mengubah union-nya. Terdapat
batasan jumlah anggota terendah, karena tidak mungkin sebuah union
tanpa anggota.
Menentukan association
Untuk menentukan candidate structure association, maka harus dilihat untuk
setiap hubungan dari pasangan class. Association harus ditentukan agar memudahkan
dalam mengatur, memonitor, atau mengendalikan object dari model.
Menentukan cluster
Untuk meningkatkan tingkat kejelasan dari class diagram, maka dibuat grup
yang terdiridari kumpulan class-class. Yang harus diperhatikan, jangan memasukkan
sebuah class ke dalam cluster yang berbeda.
78
Explore pattern
Pola dari object oriented memberikan sumber inspirasi yang melengkapi proses
systematis untuk menentukan candidate hubungan structure. Pola adalah penjelasan
umum dari suatu masalah dan solusi yang saling berhubungan. Berikut adalah pola yang
sering digunakan untuk menentukan structure (Mathiassen, 2000, p80-84) :
The role pattern
Digunakan ketika untuk membuat model dari situasi dimana sebuah class dapat
mempunyai banyak peran dalam problem domain.
Gambar 2.12 : The role pattern
(Mathiassen et al, 2000, p80)
The relation pattern
Digunakan ketika untuk membuat model dari situasi dimana digunakan hubungan relasi
diantara class- class dalam problem domain.
79
Gambar 2.13 : The relation pattern
(Mathiassen et al, 2000, p82)
The hierarchy pattern
Banyak problem domain melibatkan object yang memiliki hubungan hirarki dengan dua
atau lebih relasi dengan object lainnya.
Gambar 2.14 : The hierarchy pattern
(Mathiassen et al, 2000, p83)
The item descriptor pattern
Pola ini berguna pada system yang mengatur berbagai deskripsi yang berbeda, seperti
kontrak, polis asuransi, dan spesifikasi produk.
80
Gambar 2.15 : The item descriptor pattern
(Mathiassen et al, 2000, p83)
Evaluate systematically
Candidate relasi structure harus dievaluasi agar dihasilkan model problem
domain yang sederhana dan menyeluruh. Berikut adalah syarat yang harus dipenuhi oleh
relasi structure (Mathiassen et al, 2000, p84-86) :
• Structure must be correctly
• Structure must be conceptually true
• Structure must be simple
2.8.2.1.3 Behavior
Menurut Mathiassen et al (2000, p89), kegunaan dasar dari system adalah untuk
mendaftarkan, menyimpan, dan memproduksi, dan menghasilkan informasi tentang
events dari problem domain. Dalam aktivitas behavior, definisi class diagram
ditanbahkan dengan penjelasan tentang behavioral pattern dan attributes dari setiap
class.
Behavioral pattern adalah penjelasan dari event-event yang mungkin untuk
keseluruhan object dari sebuah class (Mathiassen et al, 2000, p89). Attribute adalah
penjelasan dari property yang dimiliki sebuah class (Mathiassen et al, 2000, p89). Hasil
dari aktivitas behavior berupa statechart diagram (Mathiassen et al, 2000, p90).
81
Menurut Mathiasen et al (2000, p92-93), aktivitas behavior terdiri dari 4 subaktivitas
seperti gambar berikut.
Gambar 2.16 : Subaktivitas dalam behavior modelling
(Mathiassen et al, 2000, p92)
Menurut Mathiassen et al ( 2000, p93 ) behavioral pattern memiliki struktur
kontrol sebagai berikut :
• Sequence adalah suatu set events yang akan terjadi satu per satu ( secara
berurutan ). Notasinya : “+”.
• Selection adalah satu event yang terjadi dari suatu set events. Notasinya : “|”.
• Iteration adalah satu event yang terjadi berulang – ulang kali. Notasinya : “*”.
2.8.2.2 Application Domain Analysis
Menurut Mathiassen et al. ( 2000, p6, p115 ), application domain merupakan
bagian yang mengatur, memonitor, atau mengendalikan problem domain. Tujuan dari
application domain analysis adalah untuk menentukan kebutuhan dari system function
82
dan interfaces. Aktivitas dari application domain analysis terdiri dari usage, function,
dan interfaces, yang akan dijabarkan dalam gambar berikut.
Gambar 2.17 : Application domain analysis
(Mathiassen et al, 2000, p117)
Berikut adalah bagan aktivitas dalam application domain analysis.
Activity Content Concepts
Usage Bagaimana system berinteraksi Use case dan actor
dengan orang dan system lain ?
Functions Apa saja kemampuan dari system Function
Untuk memproses informasi ?
Interfaces Apa saja kebutuhan interface system ? Interface, user interface,
dan system interface
Tabel 2.4 : Aktivitas dalam application domain analysis
(Mathiassen et al, 2000, p117)
83
2.8.2.2.1 Usage
Menurut Mathiassen et al (2000, p119), use case menyediakan gambaran
keseluruhan kebutuhan system dari sudut pandang user dan menyediakan dasar untuk
menentukan dan mengevaluasi function dasar dan interface system. Use case fokus
kepada interaksi antara user dengan system.
Use case adalah sebuah abstraksi dari interaksi dengan target system. Use case
dapat dimunculkan oleh actor atau target system. Actor adalah abstraksi dari user atau
system lain yang berinteraksi dengan target system. Use case didasarkan pada kebutuhan
dan kondisi dalam application domain, tapi use case juga merupakan ekspresi dari
sebuah solusi.
Berikut adalah subaktivitas dalam usage, dimana hasil dari aktivitas usage adalah
use case dan actor.
Gambar 2.18 : Subaktivitas dari usage
(Mathiassen et al, 2000, p120)
Dalam penyajian hasil dari aktivitas usage bisa digunakan actor table atau use case
diagram, bentuk dan contohnya sebagai berikut.
84
Tabel 2.5 : Contoh Actor table
(Mathiassen et al, 2000, 121)
Gambar 2.19 : Use case diagram
(Mathiassen et al, p122)
85
Find Actors and Use Cases
Identifikasi actors
Untuk mengidentifikasi actor berdasarkan divisi pekerjaan dan peran yang
berkaitan dengan tugas tertentu dalam target system. Jika beberapa peran mempunyai
tugas yang sama pada system, maka mereka dapat dijadikan sebagai satu actor. Sebuah
actor diperjelas dengan menggunakan actor specification yang berisi penjelasan dari
actor.
Tabel 2.6 : Contoh Actor specification
(Mathiassen et al, 2000, p126)
Goal menjelaskan peran actor dalam target system. Characteristics menjelaskan
aspek penting dari actor yang menggunakan system. Jika actor berupa system lain, maka
characteristic harus meliputi interface teknis. Kemudian, examples diisi dengan
karakteristik umum actor dan ditambahkan dengan contoh konkrit.
86
Identifikasi use case
Use case adalah sebuah abstraksi dari interaksi actor atau system lain dengan
target system. Oleh karena itu sangat penting untuk menentukan abstraksi yang tepat.
Use case didasarkan pada sudut pandang actor dan tugas dari application domain.
Tujuannya adalah untuk mengumpulkan berbagai cara yang mungkin dalam
menggunakan target system.
Daftar dari use case yang mungkin didapat dari menganalisa tugas dari
application domain, harus digambarkan secara detail. Karena use case adalah fenomena
dinamis, maka dapat digambarkan dengan menggunakan statechart diagram atau
spesifikasi tertulis.
Gambar 2.20 : Statechart diagram use case “cash withdrawal”
(Mathiassen et al, 2000, p127)
87
Tabel 2.7 : Spesifikasi tertulis use case “cash withdrawal”
(Mathiassen et al, 2000, p128)
Explore pattern
Pola adalah sumber inspirasi yang dapat membantu untuk mengindentifikasi dan
menggambarkan use case. Berikut adalah pola yang dapat dijadikan panduan.
The procedural pattern
Pola procedural merupakan solusi umum yang sering digunakan, terutama untuk use
case yang mengandung aktivitas yang berupa sequence dan iteration.
Gambar 2.21 : The procedural pattern
(Mathiassen et al, p130)
88
The material pattern
Pola material cocok digunakan untuk situasi dimana banyak kemungkinan
banyak aktivitas yang dapat dilakukan.
Gambar 2.22 : The material pattern
(Mathiassen et al, 2000, p131)
Evaluate systematically
Use case dan actor yang telah ditentukan harus dievaluasi apakah relevan dengan
keadaan yang sebenarnya. Ada tiga cara untuk mengevaluasi use case :
• Evaluasi harus dilakukan dengan teliti untuk menemukan kesalahan dan hal-hal
yang tidak konsisten.
• Uji use case apakah dapat bekerja dengan baik di keadaan yang sebenarnya.
• Evaluasi perubahan sosial dalam application domain.
89
2.8.2.2.2 Functions
Menurut Mathiassen et al (2000, p137), function fokus pada apa yang dapat
dilakukan oleh system untuk membantu actor dalam pekerjaannya. Dahulu kala secara
tradisional, function dikonotasikan sebagai perhitungan, dimana input data diubah
menjadi output data. Namun sekarang ini, function didefinisikan sebagai sebuah fasilitas
untuk membuat model berguna bagi actor.
Sebuah function diaktifkan, dieksekusi, dan menyajikan hasil. Eksekusi dari
function dapat merubah reaksi dalam application atau problem domain. Function adalah
sebuah kebutuhan, dapat juga diartikan sebagai property abstrak dari system. Function
direalisasikan melalui operasi dari program.
Function dibagi menjadi beberapa tipe. Berikut adalah empat tipe function :
• Update
Function ini disebabkan oleh event problem-domain dan menghasilkan
perubahan dalam state atau keadaan dari model tersebut.
• Signal
Function ini disebabkan oleh perubahan keadaan atau state dari model yang
dapat menghasilkan reaksi pada konteks.
• Read
Function ini disebabkan oleh kebutuhan informasi dalam pekerjaan actor dan
mengakibatkan system menampilkan bagian yang berhubungan dengan
informasi dalam model.
• Compute
Function ini disebabkan oleh kebutuhan informasi dalam pekerjaan actor dan
90
berisi perhitungan yang melibatkan informasi yang disediakan oleh actor atau
model, hasil dari function ini adalah tampilan dari hasil komputasi.
Tujuan dari aktivitas function adalah menentukan kemampuan dari system untuk
memproses informasi, dengan cara membangun daftar function yang lengkap, dan juga
detail lengkap spesifikasi dari function yang complex.
Berikut adalah subaktivitas yang ada dalam analisis function.
Gambar 2.23 : Subaktivitas dalam analisis function
(Mathiassen et al, 2000, p139)
Find function
Untuk menemukan function ada dua aspek penting, yaitu :
• Sumber untuk identifikasi function.
Sumber untuk identifikasi function berasal dari problem domain yaitu classes
dan events, dari application domain yaitu dari use case. Classes biasanya
akan menciptakan read function dan update function. Events biasanya akan
menciptakan update function. use case akan menciptakan seluruh tipe
function.
91
• Tingkat detail.
Seberapa detail yang harus digambarkan dari sebuah function tergantung
pada kebutuhan users dan developers.
Update function dihubungkan dengan events. Setiap events memicu update dari
state setiap model object yang terlibat event tersebut. Read function berhubungan dengan
informasi yang dibutuhkan, yang diekspresikan melalui use case. Compute function
berhubungan dengan kebutuhan informasi yang complex, yang tidak dapat dipenuhi
hanya dengan membaca model. Compute function diidentifikasikan melalui use case.
Signal function berhubungan dengan critical states dari model. Critical states dari model
adalah states yang membutuhkan reaksi dari konteks.
Hasil dari aktivitas analisis function adalah daftar kebutuhan functional system.
Function list berisi function secara lengkap dan mengekspresikan kebutuhan system.
Tabel 2.8 : Function list
(Mathiassen et al, 2000, p145)
92
Complexity adalah ukuran terhadap seberapa sulit dalam mengembangkan function.
Dalam hal ini terbagi atas empat ukuran yaitu simple, medium, complex, dan very
complex (Mathiassen et al, 2000, p144).
Specify complex functions
Dibutuhkan penjelasan detail mengenai function yang tergolong complex. Cara
yang dapat digunakan untuk menjelaskan complex function, sebagai berikut :
• Menggunakan perhitungan matematika
menjelaskan function dengan perhitungan matematika.
• Menggunakan algoritma
Menjelaskan function dengan bahasa terstruktur, menggunakan pendekatan
logika pemrograman.
Tabel 2.9 : Contoh penjelasan complex function menggunakan algoritma
(Mathiassen et al, 2000, p146)
• Menggunakan rincian
Complex function dirinci menjadi beberapa function dalam bentuk hirarki.
93
Tabel 2.10 : Contoh penjelasan complex function menggunakan rincian
(Mathiassen et al, 2000, p146)
Evaluate systematically
Function list menggambarkan fungsionalitas dari target system. Function list
harus dibandingkan dengan model, untuk memastikan informasi tentang object yang
dibutuhkan oleh function, tidak berlebih juga tidak kekurangan. Oleh karena itu, jika
model memiliki object, structure, atau event yang tidak digunakan oleh function, maka
bisa jadi model memiliki terlalu banyak informasi, atau ada function yang hilang
(Mathiassen et al, 2000, p146-147).
2.8.2.2.3 Interfaces
Interface digunakan oleh actor untuk berinteraksi dengan system. Interfaces
menghubungkan system dengan seluruh actor yang relevan dalam konteks, oleh sebab
itu interface dapat diartikan sebagai fasilitas yang membuat model system dan function
tersedia bagi actor (Mathiassen et al, 2000, p151). Ada dua jenis interface, yaitu : user
interfaces : interface untuk user, dan system interfaces : interface untuk system lain.
Seperti yang ditampilkan dalam gambar, sumber aktivitas analisis interface
berasal dari Class Diagram, Use cases, dan Function List.
94
Gambar 2.24 : Subaktivitas analisis interface
(Mathiassen et al, 2000, p153)
Explore pattern
User interface pattern
Menurut Mathiassen et al (2000, p154-156), user interface harus menyajikan
model dan function kepada user secara jelas dan dengan cara yang dapat dimengerti
user. Kegiatan analisa interfaces berusaha untuk menampilkan use case dalam bentuk
aktivitas yang berurutan atau sequencial, dengan ditambahkan interface yang terlibat
dalam kegiatan tersebut. Penggambaran dalam bentuk activity sequencial tersebut akan
menghasilkan sequence diagram.
95
Gambar 2.25 : Sequence diagram
(Mathiassen et al, 2000, p157)
Setelah sequence diagram dibuat, kemudian dibuat navigation diagram, yang berisi
urutan-urutan user interface yang digunakan dalam system.
96
Gambar 2.26 : Navigation diagram
(Mathiassen et al, 2000, p160)
Ketika menentukan user interface, maka fokus akan beralih kepada dialog style
yang akan digunakan agar system dapat berkomunikasi dengan actor. Ada empat pola
dialog pattern, yaitu :
97
• Pola menu selection
User interface disajikan dalam bentuk daftar pilihan yang mungkin. User
memilih dari antara daftar tersebut sesuai dengan kebutuhannya. Pola ini
cocok untuk user pada umumnya, hanya cocok untuk user yang dapat
mentoleransi interaksi yang relatif lambat.
• Pola form fill-in
Merupakan pola klasik untuk input data berupa karakter. Pola ini cocok
untuk user yang sering menggunakan system untuk meng-input data.
• Pola command language
User tidak disuguhi tampilan apa pun, mereka harus memasukkan command
sesuai keinginan mereka. Pola ini hanya cocok untuk user yang sudah sangat
ahli dalam command language, juga untuk user yang ingin kendali penuh
atas dialog.
• Pola direct manipulation
Merupakan pola yang menyajikan object bagi user. Dengan pola ini user bisa
memilih object dan langsung dapat melihat hasilnya. Pola ini cocok pada
user pada umumnya. Dalam pola ini object ditampilkan dalam bentuk icon.
System interface pattern
System biasanya berhubungan dengan system lain. Contohnya, system dalam
pelayanan umum berhubungan dengan database keamanan sosial, system perusahaan
berhubungan dengan database pelanggan. Sama halnya dengan user interface, pola juga
dapat membantu menganalisa system interface. Berikut adalah pola system interface :
98
• Read external device
Dalam hubungan antar system diperlukan kebutuhan untuk membaca dari
external device. Kebutuhan tersebut bahkan dapat terjadi berulang-ulang.
• Interaction protocol
Komunikasi dengan system lain dapat menjadi lebih rumit dibandingkan
hanya pertukaran data melalui external device, karena dapat saling
mempengaruhi satu sama lain. Biasanya pola ini tidak dipakai untuk system
administratif tetapi lebih sering dalam mengawasi dan kontrol system.
2.8.3 Tahapan Desain
2.8.3.1 Architectural Design
System yang berhasil dapat dibedakan dari system yang lainnya dengan kekuatan
desain arsitekturnya (Mathiassen et al, 2000, p173). Arsitektur yang membentuk system
harus memenuhi criteria desain tertentu. Desain arsitektur juga menyediakan kerangka
kerja untuk aktivitas pengembangan selanjutnya.
Desain arsitektur dapat diwujudkan melalui dua cara, yaitu : membangun
arsitektur system dari awal, atau mengadaptasikan arsitektur yang sudah ada. Alternatif
mana pun yang dipilih, pemahaman terhadap kondisi yang dipertimbangkan dalam
aktivitas desain arsitektur.
99
Gambar 2.27 : Arsitektur component dan arsitektur process
(Mathiassen et al, 2000, p174)
Gambar diatas mengilustrasikan konsep arsitektur. Arsitektur component fokus
pada class (aspek yang stabil). Arsitektur component menyusun system dalam
component yang saling berkaitan, dan pada pertimbangan logical. Arsitektur process
fokus pada object (aspek dinamis) process arsitektur menyusun system dengan tujuan
untuk mencapai koordinasi dan penggunaan efisien dari technical platform, dan pada
pertimbangan fisik.
Berikut adalah bagan aktivitas dalam desain arsitektur.
Activity Content Content
Criteria Kondisi dan kriteria apa Criterion
yang cocok untuk desain ?
Components Bagaimana system component arsitektur
disusun dalam dan component
bentuk component ?
100
Processes Bagaimana process system process arsitektur
didistribusikan dan process
dikoordinasikan ?
Tabel 2.11 : Aktivitas dalam desain arsitektur
(Mathiassen et al, 2000, p176)
2.8.3.1.1 Criteria
Tidak ada rumus tertentu untuk desain yang baik, namun yang penting adalah
mempertimbangkan kondisi untuk setiap proyek pengembangan. Namun kebanyakan
perusahaan atau customer mempunyai standar kualitas tertentu. Kondisi adalah keadaan
teknikal, organisasional, dan peluang dan keterbatasan manusia yang terlibat dalam
melaksanakan suatu tugas. Criterion adalah preferred property dari arsitektur. Desain
sebaiknya sederhana dan mengandung criteria penting, dan criteria harus
mencerminkan kondisi desain (Mathiassen et al, 2000, p177-1780.
Berikut adalah daftar criterion untuk menentukan prioritas desain arsitetur.
CRITERIA PENGUKURAN
Usable Kemampuan adapatasi system terhadap konteks organisasi,
berhubungan dengan kerja dan teknikal.
Secure Suatu pencegahan melawan akses yang tidak terotorisasi terhadap
data dan fasilitas-fasilitas yang ada.
Efficient Eksploitasi yang ekonomis terhadap fasilitas technical platform.
Correct Pemenuhan terhadap persyaratan-persyaratan.
Reliable Pemenuhan terhadap ketelitian yang dibutuhkan dalam eksekusi
101
fungsi.
Maintanable Besarnya usaha atau biaya untuk menempatkan dan memperbaiki
kecacatan system.
Testable Besarnya usaha atau biaya untuk memastikan bahwa system yang
dikembangkan menjalankan fungsi-fungsi yang dimaksudkan.
Flexible Besarnya usaha atau biaya untuk memodifikasi system yang
dikembangkan.
Comprehensible Usaha yang dibutuhkan untuk mendapatkan pengertian yang logis
terhadap system.
Reusable Potensi penggunaan bagian-bagian system dalam system lain yang
terhubung.
Portable Besarnya usaha untuk memindahkan system ke technical platform
lainnya.
Interoperable Besarnya usaha untuk menggabungkan suatu system ke system lain.
Tabel 2.12 : Criteria untuk software quality
(Mathiassen et al, 2000, p178)
102
Berikut adalah aktivitas dalam menentukan criteria untuk desain :
Gambar 2.28 : Aktivitas menentukan criteria untuk desain
(Mathiassen et al, 2000, p179)
Consider general criteria
Menurut Mathiassen et al (2000, p179-182), terdapat beberapa criteria yang
diterima secara umum, yang diaplikasikan hampir ke semua proyek, dan
mengekspresikan ide utama dari pengembangan system berbasis object oriented.
• Usability
Menjelaskan bahwa kualitas system tergantung pada cara kerja system dalam
konteks.
• Flexibility
Menggambarkan bahwa arsitektur system harus mengakomodasi perubahan
kondisi organisasi dan teknikal.
• Comprehensibility
Menjelaskan bahwa system komputerisasi yang rumit harus dibuat
sedemikian rupa agar mudah dipahami.
103
Prioritize
Setelah mempertimbangkan criteria dari object oriented dan kondisi dalam
pengembangan proyek, maka terhadap criteria tersebut dapat ditetapkan prioritas sesuai
dengan kebutuhan system. Penentuan prioritas system dapat menciptakan fokus dalam
desain system, sehingga criteria yang didahulukan adalah yang menjadi prioritas.
Berikut adalah daftar checklist prioritas desain criteria (Mathiassen et al, 2000, p185).
Tabel 2.13 : Daftar checklist prioritas desain criteria
(Mathiassen et al, 2000, p185)
2.8.3.1.2 Arsitektur component
Arsitektur component adalah sudut pandang system secara struktural. Arsitektur
component yang baik akan membuat system lebih mudah dimengerti, dan mencerminkan
stabilitas dari konteks system. Menurut Mathiassen et al (2000, p190), component adalah
kumpulan bagian program yang membentuk keseluruhan bagian program dan memiliki
104
tanggung jawab yang telah ditentukan. Sementara arsitektur component adalah sebuah
system yang tersusun atas component yang saling terkait.
Dalam mendesain arsitektur component sangat penting untuk menggunakan
component yang sudah ada, jika memungkinkan. Berikut adalah aktivitas dalam desain
arsitektur component.
Gambar 2.29 : Aktivitas dalam desain arsitektur component
(Mathiassen et al, 2000, p192)
Explore architectural pattern
Menurut Mathiassen et al (2000, p192-198), pola adalah sumber inspirasi. Pola
merupakan gambaran pengalaman dari banyak proyek. Pola penting untuk proses desain
adalah merubah system ke dalam bentuk model, functions, user interface, dan system
interface. Berikut adalah pola umum untuk desain arsitektur component.
• The layered architecture pattern
Merupakan pola yang terdiri dari beberapa component yang disebut sebagai
layer. Setiap component mempunyai masing-masing tugas. Garis yang ada
105
menggambarkan hubungan ketergantungan component satu dengan yang
lainnya. Layer yang atas memiliki ketergantungan terhadap layer yang
dibawah.
Gambar 2.30 : The layered architecture pattern
(Mathiassen et al, 2000, p193)
• The generic architecture pattern
Layer dasar yang dimiliki oleh sebuah system terdiri dari interface
component, function component, dan model component. Model component
berisi model dari system, selalu ditempatkan dibawah, kemudian diikuti oleh
function component layer, dan pada tingkat paling atas terdapat interface
component layer.
Interface component layer dapat dipecah menjadi dua yaitu : user interface
layer dan system interface layer. Kemudian juga terdapat component layer
yang berperan sebagai pendukung bagi layer utama.
106
Gambar 2.31 : The generic architecture pattern
(Mathiassen et al, 2000, p196)
• The client-server architecture pattern
Pola client-server pada mulanya ditujukan untuk menangani system yang
terkendala pada letak geografis yang tersebar. Component dari arsitektur
client-server adalah sebuah server dan beberapa client. Server mempunyai
kumpulan operasi yang tersedia bagi client. Server juga bertanggung jawab
untuk menyediakan database dan operasi bagi client melalui network.
Berikut adalah gambar dari arsitektur client-server.
Gambar 2.32 : The client-server architecture pattern
(Mathiassen et al, 2000, p197)
107
Define subsystem
Menurut Mathiassen et al (2000, p198-200), beberapa system besar harus dibagi
menjadi beberapa subsystem yang independent yang saling berkomunikasi satu dengan
lainnya. Walaupun setiap subsystem merupakan bagian dari keseluruhan system, namun
subsystem tersebut harus dipandang sebagai system lain yang memiliki model, function,
dan interface sendiri. Berikut adalah gambar beberapa contoh subsystem.
Gambar 2.33 : Contoh subsystem
(Mathiassen et al, 2000, p198)
Untuk mengatasi masalah geografis, maka digunakan pola client-server. Pola
client-server sendiri dapat dipandang sebagai subsystem dengan model, functions, dan
interfaces untuk server dan client. Berikut adalah pola yang mungkin dalam client-
server.
Tabel 2.14 : Pola susunan layer client server
(Mathiassen et al, 2000, p200)
108
Identify components
Menurut Mathiassen et al, 2000, p201-204), dalam desain system atau subsystem
didasarkan pada layer yang terdiri dari model component, function component, dan
interface component.
Model
Tugas dari model component adalah sebagai tempat penampung object yang ada dalam
problem domain. Jika terjadi perubahan dalam problem domain, maka akan terjadi
perubahan juga dengan model. Dalam kebanyakan system, model component
dikelompokan menjadi satu bersama dengan database component.
Function
Tugas dari function component adalah untuk menyajikan model’s functionality. Jika
function component terlalu complex, maka dapat dijabarkan agar tidak terlalu complex.
Dalam arsitektur berbasiskan layer, layer function berada langsung diatas layer model,
menggunakan layer model, kemudian memberikan functionality untuk layer berikutnya,
yaitu layer interface component.
Interface
Tugas dari interface component adalah menangani interaksi antara user dengan function
component. Dalam suatu system biasanya terdapat salah satu layer interface atau kedua-
duanya, yaitu user interface atau system interface.
109
Specify complex component
Complex component harus dijelaskan secara detail, caranya adalah dengan menggunakan
catatan tambahan, seperti gambar berikut.
Gambar 2.34 : Component dengan catatan tambahan
(Mathiassen et al, 2000, p206)
2.8.3.1.3 Arsitektur processes
Menurut Mathiassen et al (2000, p209-210), arsitektur process lebih condong ke
arah tingkat fisik dari system. Fokusnya pada distribusi dan eksekusi dari system. Juga
berhubungan dengan peralatan fisik yang dibutuhkan untuk eksekusi system dan juga
sumber daya yang dibutuhkan untuk di sharing. Arsitektur process adalah sebuah
struktur eksekusi system yang terdiri dari proses-proses yang saling berhubungan.
Berikut adalah aktivitas dalam desain arsitektur process.
Gambar 2.35 : Aktivitas dalam desain arsitektur process
(Mathiassen et al, 2000, p212)
110
Distribute program components
Menurut Mathiassen et al (2000, p213-214), desain process arsitektur merupakan
sumber dari logical component yang muncul dari aktivitas component. Tujuannya adalah
mendistribusikan logical components kepada processors untuk dieksekusi. Processor
adalah bagian dari peralatan yang bisa mengeksekusi program.
Explore distribution pattern
Ketika menghadapi situasi dimana system didistribusikan pada beberapa
processor melalui jaringan, maka ada Beberapa pola distribusi dalam kegiatan
desain process architecture :
1) Centralized pattern
Mengacu pada Mathiassen et al. (2000, p215), pada pola ini semua data
ditempatkan pada server dan client hanya meng-handle user interface saja.
Keseluruhan model dan semua fungsi bergantung pada server, dan client hanya
berperan seperti terminal.
111
Gambar 2.36 : Deployment Diagram untuk Centralized Pattern
(Mathiassen et al, 2000, p216)
2) Distributed pattern
Mengacu pada Mathiassen et al. (2000, p217), pola ini merupakan kebalikan
dari centralized pattern. Pada pola ini, semua didistribusikan kepada client dan
server hanya diperlukan untuk melakukan update model diantara clients.
112
Gambar 2.37 : Deployment Diagram untuk Distributed Pattern
(Mathiassen et al, 2000, p217)
3) Decentralized pattern
Mengacu pada Mathiassen et al (2000, p219), pola ini dapat dikatakan
merupakan gabungan dari kedua pola sebelumnya. Pada pola ini, client
mengimplementasikan model yang lokal, sedangkan server akan memakai
model common.
113
Gambar 2.38 : Deployment Diagram untuk Decentralized Pattern
(Mathiassen et al, 2000, p219)
2.8.3.2 Component Design
Titik mula untuk component design adalah architectural specification dan system
requirements. Hasil dari aktivitas ini adalah specifications of the connected components.
Tujuan dari component design adalah untuk menentukan implementasi dari kebutuhan
kerangka kerja arsitektur.
114
Berikut adalah bagan aktivitas dalam desain component.
Activity Content Content
Model component bagaimana model digambarkan model component dan
sebagai class dalam system ? attribute
Function components Bagaimana function function component dan
diimplementasikan ? operation
Connecting Bagaimana components component dan connection
components saling berhubungan ?
Tabel 2.15 : Aktivitas dalam desain arsitektur
(Mathiassen et al, 2000, p232)
2.8.3.2.1 Model component
Menurut Mathiassen et al (2000, p235), tujuan dari model component adalah
untuk mengirimkan data saat ini maupun data historikal ke function, interfaces, dan yang
paling penting ke user maupun system lain. Konsep dari desain model component adalah
structure. Fondasi untuk desain model component adalah model object oriented dari
aktivitas analisis, yang terdiri dari classes, objects, structures, dan behavior
Menurut Mathiassen et al (2000, p236), hasil dari aktivitas model component
adalah versi revised dari class diagram dari aktivitas analisis. Revised class diagram
biasanya berisi penambahan class baru, attributes, dan structures untuk menggambarkan
events.
Berikut adalah subaktivitas dari desain model component
115
Gambar 2.39 : Subaktivitas desain model component
(Mathiassen et al, 2000, p239)
Represent private events
Menurut Mathiassen et al. (2000, p239), revisi class diagram dapat dilakukan dengan
memperhatikan private events dan common events. Private events adalah event yang
melibatkan hanya satu object domain.
Tabel 2.16 : Panduan dalam mempresentasikan privates events
(Mathiassen et al, 2000, p240)
Event-event yang hanya
terjadi pada sequence
dan selection
• Representasikan event-event ini sebagai state
attribute pada class yang digambarkan oleh
statechart diagram. Setiap kali ada salah satu
dari events yang terlibat timbul, maka system
akan menugaskan nilai yang baru kepada state
attribute
• Integrasikan attribute dari event yang terlibat ke
dalam class
116
Event-event yang terjadi
berulang-ulang
(iteration)
• Representasikan event-event ini sebagai suatu
class baru, dan hubungkan class tersebut
dengan class yang dijabarkan pada statechart
diagram dengan menggunakan struktur
aggregation. Untuk setiap iterasi, system akan
menghasilkan suatu object baru dari class.
• Integrasikan attribute event ke dalam class yang
baru.
Represent common events
Jika suatu event adalah common / umum sehingga mempengaruhi beberapa object, maka
event tersebut perlu dihubungkan dengan salah satu object dan dibuat hubungan
struktural dengan object lain agar tetap dapat mengaksesnya.
Tabel 2.17 : Panduan dalam mempresentasikan common events
( Mathiassen, 2000, p241)
Common Event • Jika event yang terlibat dalam statechart diagram
dalam cara yang berbeda, representasikan event
tersebut dalam hubungannya ke class yang
menawarkan representasikan paling sederhana.
• Jika event yang terlibat dalam statechart diagram
dalam cara yang sama, pertimbangkan alternatif
representasi yang mungkin antara satu sama lain.
117
Untuk menyederhanakan class diagram yang telah direvisi dari hasil tahapan
sebelumnya, dilakukan restrukturisasi class baik melalui generalization, association,
maupun iteration.
2.8.3.2.2 Function component
Menurut Mathiassen et al (2000, p251-252), tujuan dari function component
adalah untuk memberikan akses kepada model bagi user interface dan system lainnya.
Function component juga bisa dikatakan sebagai penghubung antara model dengan
usage. Function component adalah bagian dari system yang mengimplementasikan
kebutuhan functional. Function didesain dan diimplementasikan menggunakan operasi
dalam class system. Operation adalah penjelasan dari behavior yang diaktifkan melalui
object.
Berikut adalah subaktivitas dalam desain function component.
Gambar 2.40 : Subaktivitas desain function component
(Mathiassen et al, 2000, p252)
Hasil dari aktivitas function component adalah revised class diagram lengkap dengan
function component.
118
Design functions as operations
Keempat tipe dari function yang digunakan dalam analisis application domain juga
memiliki peran dalam desain function component.
Update
Update function dihubungkan secara langsung ke event problem domain. Jika tidak ada
yang terjadi dengan problem domain, maka tidak dibutuhkan perubahan dalam model
system. Input data untuk update function menggambarkan event, dan output data nya
adalah update model.
Gambar 2.41 : Operasi dari update function
(Mathiassen et al, 2000, p255)
Read
Read function menggambarkan kebutuhan dari user atau system lain terhadap informasi
dari model. System dipandang sebagai database, kemudian informasi dipandang sebagai
attribute. Input data read function menggambarkan informasi yang diinginkan, output
data nya diberikan ke tempat dimana function dipanggil.
119
Gambar 2.42 : Operasi dari read function
(Mathiassen et al, 2000, p257)
Compute
Compute function menggambarkan kebutuhan user atau system lain terhadap
pemrosesan data, dimana mungkin melibatkan pembacaaan dari model. Input data nya
meliputi angka untuk perhitungan dan attribute yang menggambarkan model object yang
relevan terhadap perhitungan. Output data berupa hasil perhitungan dan dikembalikan ke
user atau system lain yang mengaktifkan function ini.
Gambar 2.43 : Operasi dari compute function
(Mathiassen et al, 2000, p258)
120
Signal
Signal function menggambarkan kebutuhan terhadap pengawasan atau pengendalian.
Dalam beberapa kasus signal function tidak menerima input data yang khusus. Function
ini diaktifkan karena ada kondisi tertentu dimana kondisi tersebut sudah diluar batasan
yang telah ditetapkan. Input data berasal dari model, dimana function mendapatkan data
dari secara terus menerus melakukan pembacaan kondisi dari model. Output data nya
adalah berupa pesan atau peringatan kepada user (passive signal), atau berupa
pengambilan tindakan secara otomatis oleh system berkenaan dengan kondisi yang
dialami system (active signal).
Gambar 2.44 : Operasi dari signal function
(Mathiassen et al, 2000, p259)
Explore pattern
Ada beberapa pilihan pola yang dapat digunakan untuk membantu dalam desain
function.
121
Model class placement
Pemikiran dari pola ini adalah bahwa function harus diletakkan pada bagian logikal,
dimana bagian logikal dari system adalah di bagian model component. Pola ini berguna
ketika sebuah function hanya diakses oleh satu object atau mempunyai structure yang
sederhana.
Gambar 2.45 : Contoh model class placement pattern
(Mathiassen, 2000, p261)
Function class placement
Ketika sebuah operasi melibatkan banyak object, maka pola ini merupakan pilihan yang
tepat, karena masing-masing object dapat mengakses function yang sama.
122
Gambar 2.46 : Contoh function class placement pattern
(Mathiassen, 2000, p262)
Strategy
Pola lainnya adalah strategy. Pola ini berguna ketika diperlukan lebih dari satu operasi
yang hampir sejenis oleh object tertentu. Misal : diperlukan operasi untuk menghitung
bunga jika saldo dibawah minimum, atau operasi untuk menghitung bunga jika saldo
diatas minimum.
Gambar 2.47 : Contoh strategy pattern
(Mathiassen, 2000, p262)
123
Active function
Pola ini digunakan untuk signal function, terutama active signal function.
Gambar 2.48 : Contoh active function pattern
(Mathiassen, 2000, p262)
Specify complex operations
Menurut Mathiassen et al (2000, p265), complex operations harus dijelaskan secara detil
agar tidak ada ketidakpastian dalam desain. Cara menjelaskan complex operations
adalah dengan :
• Operation specification
Merupakan penjelasan operation dengan cara narasi seperti gambar berikut.
124
Tabel 2.18 : Contoh operation specification
(Mathiassen et al, 2000, p265)
• Sequence diagram
Complex operation dapat dijelaskan dengan, menjelaskan setiap object yang
terlibat dalam operation tersebut dan interaksi yang terjadi dalam sequence
diagram seperti pada gambar sebelumnya.
• Statechart diagram
Statechart diagram digunakan untuk menjelaskan relasi antara state dari object,
dan state yang terjadi akibat pemanggilan operation yang dilakukan oleh object
lain atau event dari problem domain.
125
Gambar 2.49 : Contoh statechart diagram dengan operation
(Mathiassen et al, 2000, p267)
2.8.3.2.3 Connecting components
Menurut Mathiassen et al. (2000, p271), connecting component digunakan untuk
menghubungkan komponen – komponen system yang akan menghasilkan class diagram
dari komponen-komponen tersebut. Jadi pada aktivitas ini, hubungan antara komponen-
komponen dirancang untuk mendapatkan desain yang fleksibel dan comprehensible.
Pada connecting component ada dua konsep yaitu :
• Coupling adalah suatu ukuran yang digunakan untuk menentukan bagaimana
dekatnya hubungan antara dua class atau component. (Mathiassen et al, 2000,
p272).
• Cohesion merupakan ukuran seberapa kuatnya keterikatan dari suatu class atau
component. (Mathiassen et al, 2000, p273)
Prinsipnya adalah : “highly cohesive classes and loosely coupled components”.
126
Adapun aktivitas yang terkait dalam mendesain koneksi diantara komponen
adalah :
a. Menghubungkan class – class
b. Mengekslorasi polanya
c. Melakukan evaluasi terhadap koneksi yang ada
Hasil dari aktivitas connecting components ini adalah class diagram yang di
mana dependencies-nya berubah menjadi connections. Tiga bentuk connections menurut
Mathiassen et al (2000, p275, p281) adalah :
• Class aggregation, yaitu mengagregasikan class-class dari component lain.
Koneksi ini beguna ketika class definition sudah ada di dalam component lain.
Umumnya coupling-nya rendah, namun sulit mencapai cohesive.
Contoh :
Gambar 2.50 : Connection oleh class aggregation
(Mathiassen et al, 2000, p275)
• Class specialization, yaitu menspesialisasikan public class dari component lain.
Contoh :
127
Gambar 2.51 : Connection oleh class specialization
(Mathiassen et al, 2000, p276)
• Operation call, yaitu memanggil public operations di dalam object-object dari
component lain. Umumnya coupling-nya rendah dan cohesion-nya tinggi.
Contoh :
Gambar 2.52 : Connection oleh Operation call
(Mathiassen et al, 2000, p277)