BAB 2 LANDAS AN TEORI
2.1 2.1.1
Sistem Informasi Akuntansi Pengertian Sistem Informasi Akuntansi M enurut 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 komponenkomponen lainnya untuk mengubah data ekonomi menjadi informasi akuntansi, dengan tujuan untuk memenuhi kebutuhan informasi bagi berbagai user. M enurut 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 M enurut 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. M enurut Jones dan Rama (2003, p6-7), tujuan dan kegunaan sistem informasi akuntansi yaitu: •
M enghasilkan 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.
•
M endukung aktivitas yang rutin M ampu mendukung manajer dalam menangani aktivitas-aktivitas operasi yang bersifat rutin selama siklus operasi perusahaan.
•
M endukung 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 M eskipun Sistem Informasi Akuntansi tidak kasat mata, namun ia membutuhkan
komponen / sumber daya untuk membangunnya. M enurut 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. M erupakan 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. M enurut 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 tahaptahap sebagai berikut: a. Klasifikasi data kedalam kategori-kategori. b. M enggandakan data kedalam dokumen atau media lainnya. c. M engurutkan atau mengatur elemen data berdasarkan karakteristik tertentu. d. M engelompokkan data-data yang sejenis. e. M enggabungkan dua atau lebih data. f. M elakukan operasi penghitungan. g. M erangkum data. h. M embandingkan 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. M enyimpan yaitu aktivitas menempatkan data dalam media penyimpanan yang disebut file atau data base. M emelihara yaitu aktivitas merubah data tersimpan agar sesuai dengan keadaan terbaru. M engambil 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 2.2.1
Biaya 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. M ereka 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. M eskipun 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 alternatifalternatif 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. M eskipun 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. M isalnya, 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. M isalnya, 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 M enurut 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 M enurut Wikipedia Indonesia (id.wikipedia.org, 2 M ei 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. M isalnya 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. M isalnya 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. M isalnya guru, editor, konsultan, dan pengacara. Sementara itu, tenaga kerja jasmani adalah tenaga kerja yang menggunakan kekuatan fisik dalam kegiatan produksi. M isalnya tukang las, pengayuh becak, dan sopir.
24 Modal Yang dimaksud dengan modal adalah barang-barang atau peralatan yang dapat digunakan untuk melakukan proses produksi. M odal dapat digolongkan berdasarkan sumbernya, bentuknya, berdasarkan pemilikan, serta berdasarkan sifatnya. Berdasarkan sumbernya, modal dapat dibagi menjadi dua: modal sendiri dan modal asing. M odal sendiri adalah modal yang berasal dari dalam perusahaan sendiri. M isalnya setoran dari pemilik perusahaan. Sementara itu, modal asing adalah modal yang bersumber dari luar perusahaan. M isalnya modal yang berupa pinjaman bank. Berdasarkan bentuknya, modal dibagi menjadi modal konkret dan modal abstrak. M odal konkret adalah modal yang dapat dilihat secara nyata dalam proses produksi. M isalnya mesin, gedung, mobil, dan peralatan. Sedangkan yang dimaksud dengan modal abstrak adalah modal yang tidak memiliki bentuk nyata, tetapi mempunyai nilai bagi perusahaan. M isalnya hak paten, nama baik, dan hak merek. Berdasarkan pemilikannya, modal dibagi menjadi modal individu dan modal masyarakat. M odal 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. M odal tetap adalah jenis modal yang dapat digunakan secara berulang-ulang. M isalnya mesin-mesin dan bangunan pabrik. Yang dimaksud dengan modal lancar adalah modal yang habus digunakan dalam satu kali proses produksi. M isalnya, 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 kegiatankegiatan produksi yang dapat kita identifikasi, yaitu: •
Proses produksi Yaitu metode dan teknik yang digunakan dalam mengolah bahan baku menjadi produk jadi.
26 •
Perencanaan produksi M erupakan 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. M asing-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).
•
M esin-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 •
M esin-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. M asing-masing jenis proses produksi tersebut mempunyai beberapa kelebihan
dan kekurangan. Untuk itu, berikut akan dibahas kelebihan dan kekurangan dari masingmasing 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 masingmasing 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: •
M empunyai 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 2.4.1
Sistem Perhitungan Biaya Sistem Perhitungan Biaya Berdasarkan Pesanan (Job Order Costing) Dalam perhitungan biaya berdasarkan pesanan, biaya diakumulasikan untuk
setiap batch, lot, atau pesanan pelanggan. M etode 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) M emasukkan atau tidak memasukkan overhead tetap •
Perhitungan biaya penyerapan penuh.
•
Perhitungan biaya langsung.
d) M enggunakan tarif tunggal atau beberapa tarif •
Tarif tingkat pabrik.
•
Tarif departemental.
•
Tarif subdepartemental dan aktivitas.
e) M enggunakan 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. M aka 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. M isalnya, 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 M enggunakan 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 M etode 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. M etode 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. M isalnya 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. M enggunakan 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. M isalkan 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 :
2.5
•
Kekurangan pembebanan overhead diperlakukan sebagai biaya periodik.
•
Kekurangannya dimasukkan ke persediaan.
•
Kekurangannya dimasukkan ke harga pokok penjualan.
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 : •
M enetapkan anggaran.
•
M engendalikan biaya dengan cara memotivasi karyawan dan mengukur efisiensi operasi.
•
M enyederhanakan prosedur perhitungan biaya dan mempercepat laporan biaya.
•
M embebankan biaya ke persediaan bahan baku, barang dalam proses, dan barang jadi.
•
M enetapkan tawaran kontrak dan harga jual.
•
M enetapkan standar M enghitung 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 M encerminkan tingkat aktivitas dan efisiensi yang diperkirakan. Standar ini merupakan estimasi yang paling dekat dengan hasil aktual.
•
Standar normal M encerminkan
tingkat
aktivitas
dan
efisiensi
normal.
mencerminkan hasil yang menantang namun dapat dicapai.
Standar
ini
48 •
Standar teoritis M encerminkan 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 S tandar 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 : •
M emantau kinerja dari departemen pembelian dan mendeteksi pengaruhnya pada biaya bahan baku.
•
M engukur 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 S tandar 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.
S tandar 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. M isalnya 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 M enurut 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. M enurut M ulyadi (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 M enurut M ulyadi (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 S truktur 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 prinsipprinsip 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 unsurunsur 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 (M ulyadi, 2001, p413).
59 2.7.1
Dokumen yang Digunakan M enurut M ulyadi (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 M enurur M ulyadi (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 M enurut M ulyadi (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 M enurut M ulyadi (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 S istem dengan Pendekatan Object Oriented Analysis and Design (OOAD) Ide penting dibelakang OOAD adalah object dan classes. M enurut M athiassen 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 M enurut M athiassen 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. Require ments for u se
Problemdomain analysis
Mo del
Applicationdom ain analysis
Componen t design Specifications of components
Specifications of archite ctur e
Architectural desi gn
Gambar 2.4 : Aktivitas utama dalam OOAD (M athiassen et al, 2000, p15)
M enurut M athiassen 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
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 M embangun 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 (M athiassen et al. 2000, p25).
68 2.8.1.1
System Definition M enurut M athiassen 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 landasanlandasan yang baik untuk kelangsungan analisa dan aktivitas perancangan.
2.8.1.2
Rich Picture M enurut M athiassen 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 M enurut M athiassen 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 2.8.2.1
Tahapan Analisis Problem Domain Analysis M engacu pada M athiassen 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 (M athiassen et al, 2000, p46)
M enurut M athiassen 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 Classes
Content Objects dan events apa yang
Concepts Class, object, dan event
menjadi bagian problem domain ? Structure
Behavior
Bagaimana classes dan objects
Generalization, aggregation,
Digabungkan bersama-sama ?
association, dan cluster
Apa saja properties yang
Event trace, behavioral
dimiliki oleh object ?
pattern, dan attribute
Tabel 2.2 : Aktivitas dalam problem domain analysis (M athiassen et al, 2000, p48)
71 2.8.2.1.1
Classes
M enurut M athiassen 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 M encoba untuk mengklasifikasi objects dan events yang sesuai.
•
Selection M emilih objects dan events dimana system akan membutuhkan informasinya. M enurut M athiassen 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 (M athiassen et al, 2000, p55)
72 M asih 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 (M athiassen et al. 2000, p56), sedangkan untuk event sebaiknya menggunakan kata kerja. (M athiassen 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 (M athiassen et al, 2000, p389)
73 2.8.2.1.2
Structure
M enurut M athiassen 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 (M athiassen et al, 2000, p72)
Dalam bukunya, M athiassen 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 (M athiassen et al, 2000, p73) •
Cluster structure M erupakan pengelompokkan class-class yang mempunyai hubungan erat.
Gambar 2.9 : Cluster structure (M athiassen et al, 2000, p75)
Object structure terdiri dari : •
Aggregation structure M enggambarkan 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 (M athiassen et al, 2000, p76) •
Association M enggambarkan hubungan diantara dua atau lebih object.
Gambar 2.11 : Association Structure (M athiassen et al, 2000, p77)
Menemukan candidate untuk structu re M enurut M athiassen 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. M enentukan candidate nya didasarkan pada empat tipe structure, yaitu:
Menentukan generalization Pendekatan yang digunakan untuk menentukan structure generalization adalah (M athiassen 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. M isal: 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. M isal: 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 (M athiassen 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 classclass 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 (M athiassen, 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 (M athiassen 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 (M athiassen 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 (M athiassen 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 (M athiassen 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 (M athiassen et al, 2000, p84-86) : •
Structure must be correctly
•
Structure must be conceptually true
•
Structure must be simple
2.8.2.1.3
Behavior
M enurut M athiassen 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 (M athiassen et al, 2000, p89). Attribute adalah penjelasan dari property yang dimiliki sebuah class (M athiassen et al, 2000, p89). Hasil dari aktivitas behavior berupa statechart diagram (M athiassen et al, 2000, p90).
81 M enurut M athiasen et al (2000, p92-93), aktivitas behavior terdiri dari 4 subaktivitas seperti gambar berikut.
Gambar 2.16 : Subaktivitas dalam behavior modelling (M athiassen et al, 2000, p92) M enurut M athiassen 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 M enurut M athiassen 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 (M athiassen et al, 2000, p117)
Berikut adalah bagan aktivitas dalam application domain analysis. Activity Usage
Content Bagaimana system berinteraksi
Concepts 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 (M athiassen et al, 2000, p117)
83 2.8.2.2.1
Usage
M enurut M athiassen 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 (M athiassen 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 (M athiassen et al, 2000, 121)
Gambar 2.19 : Use case diagram (M athiassen et al, p122)
85 Find Actors and U se 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 (M athiassen 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” (M athiassen et al, 2000, p127)
87
Tabel 2.7 : Spesifikasi tertulis use case “cash withdrawal” (M athiassen 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 (M athiassen 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 (M athiassen 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
M enurut M athiassen 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 (M athiassen 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 (M athiassen 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 (M athiassen 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 : •
M enggunakan perhitungan matematika menjelaskan function dengan perhitungan matematika.
•
M enggunakan algoritma M enjelaskan function dengan bahasa terstruktur, menggunakan pendekatan logika pemrograman.
Tabel 2.9 : Contoh penjelasan complex function menggunakan algoritma (M athiassen et al, 2000, p146)
•
M enggunakan rincian Complex function dirinci menjadi beberapa function dalam bentuk hirarki.
93
Tabel 2.10 : Contoh penjelasan complex function menggunakan rincian (M athiassen 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 (M athiassen 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 (M athiassen 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 (M athiassen et al, 2000, p153)
Explore pattern User interface pattern M enurut M athiassen 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 (M athiassen 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 (M athiassen 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 M erupakan 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 M erupakan 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 2.8.3.1
Tahapan Desain Architectu ral Design System yang berhasil dapat dibedakan dari system yang lainnya dengan kekuatan
desain arsitekturnya (M athiassen 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 (M athiassen 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 Criteria
Content Kondisi dan kriteria apa
Content 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 (M athiassen 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 (M athiassen et al, 2000, p177-1780. Berikut adalah daftar criterion untuk menentukan prioritas desain arsitetur. CRITERIA Usable
PENGUKURAN 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 (M athiassen et al, 2000, p178)
102 Berikut adalah aktivitas dalam menentukan criteria untuk desain :
Gambar 2.28 : Aktivitas menentukan criteria untuk desain (M athiassen et al, 2000, p179)
Consider general criteria M enurut M athiassen 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 M enjelaskan bahwa kualitas system tergantung pada cara kerja system dalam konteks.
•
Flexibility M enggambarkan bahwa arsitektur system harus mengakomodasi perubahan kondisi organisasi dan teknikal.
•
Comprehensibility M enjelaskan 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 (M athiassen et al, 2000, p185).
Tabel 2.13 : Daftar checklist prioritas desain criteria (M athiassen 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. M enurut M athiassen 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 (M athiassen et al, 2000, p192)
Explore architectural pattern M enurut M athiassen 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 M erupakan 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 (M athiassen 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 (M athiassen 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 (M athiassen et al, 2000, p197)
107 Define subsystem M enurut M athiassen 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 (M athiassen 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 clientserver.
Tabel 2.14 : Pola susunan layer client server (M athiassen et al, 2000, p200)
108 Identify components M enurut M athiassen 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 keduaduanya, 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 (M athiassen et al, 2000, p206)
2.8.3.1.3
Arsitektur processes
M enurut M athiassen 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 (M athiassen et al, 2000, p212)
110 Distribute program components M enurut M athiassen 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 M engacu pada M athiassen 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 (M athiassen et al, 2000, p216)
2) Distributed pattern M engacu pada M athiassen 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 (M athiassen et al, 2000, p217)
3) Decentralized pattern M engacu pada M athiassen 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 (M athiassen 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
Bagaimana function
function component dan
diimplementasikan ?
operation
Connecting
Bagaimana components
component dan connection
components
saling berhubungan ?
Function components
Tabel 2.15 : Aktivitas dalam desain arsitektur (M athiassen et al, 2000, p232)
2.8.3.2.1
Model component
M enurut M athiassen 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 M enurut M athiassen 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 (M athiassen et al, 2000, p239)
Represent private events M enurut M athiassen 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 (M athiassen et al, 2000, p240) Event-event yang hanya terjadi pada
•
sequence
Representasikan event-event ini sebagai state attribute pada class yang digambarkan oleh
dan selection
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
•
Representasikan event-event ini sebagai suatu
berulang-ulang
class baru, dan hubungkan class tersebut
(iteration)
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 ( M athiassen, 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
M enurut M athiassen 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 (M athiassen 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 (M athiassen 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 (M athiassen 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 (M athiassen 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 (M athiassen 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 (M athiassen, 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 (M athiassen, 2000, p262)
Strategy Pola lainnya adalah strategy. Pola ini berguna ketika diperlukan lebih dari satu operasi yang hampir sejenis oleh object tertentu. M isal : diperlukan operasi untuk menghitung bunga jika saldo dibawah minimum, atau operasi untuk menghitung bunga jika saldo diatas minimum.
Gambar 2.47 : Contoh strategy pattern (M athiassen, 2000, p262)
123 Active function Pola ini digunakan untuk signal function, terutama active signal function.
Gambar 2.48 : Contoh active function pattern (M athiassen, 2000, p262)
Specify complex operations M enurut M athiassen et al (2000, p265), complex operations harus dijelaskan secara detil agar tidak ada ketidakpastian dalam desain. Cara menjelaskan complex operations adalah dengan : •
Operation specification
M erupakan penjelasan operation dengan cara narasi seperti gambar berikut.
124
Tabel 2.18 : Contoh operation specification (M athiassen 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 (M athiassen et al, 2000, p267)
2.8.3.2.3
Connecting components
M enurut M athiassen 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 komponenkomponen 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. (M athiassen et al, 2000, p272).
•
Cohesion merupakan ukuran seberapa kuatnya keterikatan dari suatu class atau component. (M athiassen 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. M enghubungkan class – class b. M engekslorasi polanya c. M elakukan 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 M athiassen 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 (M athiassen et al, 2000, p275)
•
Class specialization, yaitu menspesialisasikan public class dari component lain. Contoh :
127
Gambar 2.51 : Connection oleh class specialization (M athiassen 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 (M athiassen et al, 2000, p277)