BAB 2 LANDASAN TEORI
2.1 Pengertian Sistem Informasi Menurut O’Brien (2003, p7), “information system can be any organized combination of people, hardware, software, communication network, and data resources that collects, transform, and disseminates information in an organization.”. Menurut Hall yang diterjemahkan oleh tim penerbit salemba empat (2001, p7), “ sistem informasi adalah sebuah rangkaian prosedur formal dimana data dikumpulkan, diproses menjadi informasi, dan didistribusikan kepada para pemakai.” Dari definisi diatas dapat disimpulkan bahwa sistem informasi adalah kombinasi orang dan sumber daya lainnya yang mengumpulkan, mentransformasikan data menjadi informasi dan mendistribusikannya kepada pemakai di organisasi.
2.2 Sistem Informasi Akuntansi 2.2.1 Pengertian Sistem Informasi Akuntansi Menurut McLeod (2001, p4), “ Sistem informasi akuntansi bertugas untuk mengumpulkan data yang menjelaskan kegiatan perusahaan, mengubah data tersebut menjadi informasi, serta menyediakan informasi bagi pemakai didalam maupun diluar perusahaan.” Menurut Wilkinson et al. (2000, p7), “ accounting information system is a unified structure within an entity, such as a business firm, that employs physical resources and
9 other components to transform economic data into accounting information, with the purpose of satisfying the information needs of a variety of users.” Menurut Jones dan Rama (2003, p5), “Accounting information system is subsystems from management information systems that provides accounting and financial information as well as other information obtainedin the routine processing of accounting transaction”. Yang
dapat diterjemahkan, sistem informasi akuntansi adalah sebuah
subsistem dari sistem informasi manajemen yang menyediakan informasi akuntansi , dan keuangan sebaik informasi lainnya yang diperoleh dalam proses transaksi akuntansi. Menurut Bodnar dan Hopwood (2000, p6) seperti yang diterjemahakan Jusuf, A.A.,”Sistem Informasi Akuntansi adalah sebagai 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 dapat disimpulkan bahwa sistem informasi akutansi adalah suatu sistem berbasis komputer yang menggunakan sumber daya fisik dan komponen lain untuk mengumpulkan dan mengubah data yang menjelaskan kegiatan perusahaan menjadi informasi yang berguna bagi pihak intern maupun ekstern.
2.2.2 Tujuan Sistem Informasi Akuntansi Menurut Wilkinson et al. (2000, p8), Tujuan dan kegunaan sistem informasi akuntansi adalah : 1. Mendukung operasional sehari – hari. 2. Mendukung pengambilan keputusan bagi pengambil keputusan internal.
10 3. Untuk memenuhi kewajiban atau tanggung jawab yang sesuai dengan jabatannya Menurut Gondodiyoto dan Hendarti (2006, p109), Tujuan dan kegunaan sistem informasi akuntansi adalah : 1. Untuk melakukan pencatatan (recording) transaksi dengan biaya klerikal seminimal mungkin dan menyediakan informasi (information value added mechanism) bagi pihak intern untuk pengelolaan kegiatan usaha (managers) serta para pihak terkait (Stockholder/stakeholder). 2. Untuk memperbaiki informasi yang dihasilkan oleh sistem yang sudah ada, baik mengenai mutu, ketepatan penyajian maupun struktur informasinya. 3. Untuk menerapkan (Implementasi) sistem pengendalian intern memperbaiki kinerja dan tingkat keandalan (reliability) informasi akuntansi dan untuk menyediakan catatan lengkap mengenai pertanggungjawaban (Akuntabilitas). 4. Menjaga / meningkatkan perlindungan kekayaan perusahaan. Menurut Jones dan Rama (2003, p520), Tujuan dan kegunaan sistem informasi akuntansi ada lima yaitu: 1. Menghasilkan laporan eksternal Sistem informasi akuntansi mampu menghasilkan laporan – laporan khusus untuk memuaskan kebutuhan informasi yang dibutuhkan oleh pihak eksternal perusahaan. Laporan – laporan tersebut mencakup financial statement, tax returns, dan laporan lainnya yang dibutuhkan oleh perwakilan pihak-pihak yang terkait. 2. Mendukung aktivitas yang rutin Mampu mendukung manajer dalam menangani aktivitas-aktivitas operasi yang bersifat rutin selama siklus operasi perusahaan.
11 3. Mendukung keputusan Informasi juga dibutuhkan untuk keputusan yang bersifat non-rutin pada semua yang terdapat pada organisasi atau perusahaan. 4. 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. 5. Pengimplementasian pengendalian intern Pengendalian intern 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.2.3 Siklus Transaksi Sistem Informasi Akuntansi Menurut Boockholdt (1999, p520), siklus transaksi akuntansi dibagi menjadi empat bagian, yaitu : 1.
Financial Cycle Siklus keuangan terdiri dari transaksi akuntansi yang mencatat akuisisi modal dari
pemilik dan kreditur, yang penggunaannya untuk memperoleh asset produktif yang dilaporkan kepada pemilik dan kreditur. 2.
Expenditure Cycle
12 siklus pengeluaran terdiri dari transaksi yang terjadi untuk memperoleh bahan baku dan barang overhead yang digunakan dalam proses konversi. 3.
Conversion Cycle Siklus konversi terdiri dari transaksi yang terjadi pada saat input dikonversi
menjadi barang yang dapat dijual. 4.
Revenue Cycle Siklus pendapatan termasuk dalam transaksi akuntansi yang mencatat pendapatan
dari hasil keluaran yang dihasilkan dalam proses konversi.
2.3 Pengendalian Intern 2.3.1 Pengertian pengendalian intern Menurut Boockholdt (1999, p397), “internal control is process, effected by an entity’s board of directors, managament and other personnel, designed to provide reasonable assurance regarding the achievment of objectives in the following categories:
Effectiveness and efficiency of operations
Reliability of financial reporting
Compliance with applicable laws and regulations “
Menurut COSO didalam buku Boynton et al. (2004, p373), “ pengendalian intern adalah suatu proses, yang dilaksanakan oleh dewan direksi, manajamen, dan personel lainnya dalam suatu entitas, yang dirancang untuk menyediakan keyakinan yang memadai berkenaan dengan pencapaian tujuan dalam kategori berikut :
Keandalan pelaporan keuangan
Keaptuhan terhadap hokum dan peraturan yang berlaku
13
Efektivitas dan efisiensi operasi
Jadi dapat disimpulkan pengendalian intern adalah proses yang dilaksanakan oleh pihak-pihak internal perusahaan untuk menciptakan suatu pengendalian atas perusahaan yang baik yang dapat mencegah terjadinya tindak kecurangan yang sangat mungkin terjadi didalam perusahaan.
2.3.2 Komponen Pengendalian intern Menurut Boynton et al. (2004, p374) pengendalian intern terdiri dari 5 komponen dimana kelima komponen itu saling berhubungan, komponen itu antara lain :
Lingkungan pengendalian. Lingkungan pengendalian menetapkan suasana suatu organisasi, yang mempengaruhi kesadaran akan pengendalian dari orang-orangnya. Lingkungan pengendalian merupakan fondasi dari semua komponen pengendalian intern lainnyayang menyediakan disiplin dan struktur.
Penilaian risiko Merupakan pengidentifikasian dan analisis entitas mengenai risiko yang relevan terhadap pencapaian tujuan entitas, yang membentuk suatu dasar mengenai bagaimana resiko harus dikelola
Aktivitas pengendalian Merupakan kebijakan dan prosedur yang membantu meyakinkan bahwa perintah manajamen telah dilaksanakan
Informasi dan komunikasi
14 Merupakan pengidentifikasian, penangkapan, dan pertukaran informasi dalam suatu bentuk dan kerangka waktu yang membuat orang mampu melaksanakan tanggung jawabnya
Pemantauan Merupakan suatu proses yang menilai kualitas kinerja pengendalian intern pada suatu waktu
2.4 Sistem Informasi Akuntansi Penggajian dan Pengupahan 2.4.1 Pengertian Gaji dan Upah Menurut Boockholdt (1999, p668), “payroll is activities to calculate the pay due employees, and to maintain cumulative earnings records. Menurut Niswonger, Waren dan Fess yang diterjemahkan oleh Sirait dan Gunawan (2002, p446) mendefinisikan “ Gaji biasanya digunakan untuk pembayaran atas jasa manajerial, administratif dan jasa-jasa yang sama. Tarif gaji biasanya diekspresikan dalam periode bulan atau tahunan.” Istilah upah biasanya digunakan untuk pembayaran kepada karyawan lapangan (pekerja kasar), baik yang terdidik maupun tidak terdidik. Tarif upah biasanya diekspresikan secara mingguan atau perjam.” Menurut Gelinas et al. (2005, p513) “ payroll is an interacting structure of people, equipment, methods, and controls that creates flows to support the repetitive work routines of the payroll department.”
15 Menurut Soemarso (2003, p307) mendefinisikan “ Gaji adalah imbalan kepada pegawai yang diberi tugas-tugas administratif dan pimpinan yang jumlahnya, biasanya, tetap secara bulanan atau tahunan.” Jadi dapat disimpulkan gaji adalah semua imbalan yang diberikan kepada karyawan yang telah melaksanakan tugas dan kewajibannya kepada perusahaan yang dibayarkan secara periodik baik bulanan ataupun tahunan.
2.4.2 Fungsi yang terkait Wilkinson et al. (2000, CD p110) mengemukakan bahwa fungsi-fungsi yang terkait dalam Human Resource Managament Cycle adalah sebagai berikut: 1.
Fungsi Personalia Bagian ini memiliki tujuan utama untuk perencanaan, pengendalian, dan pengkoordinasian karyawan dalam sebuah organisasi. Fungsi personalia ini berada dibawah naungan Wakil Presiden bagian Personalia. Manajer yang melapor padanya adalah mereka yang bertanggungjawab pada kepegawaian dan perencanaan personalia, keamanan dan keuntungan, hubungan industri, pengembangan pegawai dan adminstrasi sumber daya manusia. Unit kepegawaian dan perencanaan personalia berhubungan dengan
perekrutan
dan
pengetesan
karyawan
yang
berpotensi,
mempekerjakan karyawana yang terpilih, memastikan promosi yang berkualitas dan prosedur pemecatan serta menentukan kebutuhan pegawai dimasa yang akan datang (dalam kriteria skill dan level). Safety and benefit unit bertanggungjawab untuk keamanan dan kesehatan pegawai, seperti
16 menyediakan iklim kerja yang mendukung. Industrial relations unit bertanggungjawab untuk berhubungan dengan serikat pekerja dan organisasi pekerja lainnya. Employee development unit bertanggungjawab dalam perencanaan kompensasi(gaji), asuransi dan program lain yang relevan : unit ini juga mengatur data pegawai dan kegiatan kepegawaian lainnya. Dengan demikian, unit administrasi sumber daya manusia (disebut juga administrasi personalia) memiliki hubungan yang paling dekat dengan kegiatan penggajian. 2.
Fungsi Keuangan / Akuntansi a.
Timekeeping Fungsi ini bertanggungjawab untuk melakukan pengendalian waktu dan daftar kehadiran yang dibayar per jam.
b.
Payroll Fungsi ini bertanggungjawab untuk menyiapkan pembayaran, mengurus data
penggajian dan
melengkapi laporan
yang
diperlukan. c.
Account Payable Dalam konteks jasa kepegawaian, menyetujui disbursement voucher yang berhubungan dengan jasa karyawan.
d.
Cash Disbursement Bagian
ini
bersama
dengan
mendistribusikan cek pembayaran. e.
Cost Distribution
kasir,
menandatangani
dan
17 Bagian ini mengurus data yang menggambarkan perincian biaya produk. f.
General Ledger Bagian ini mengurus pengendalian keseluruhan akun asset, equity, expense dan income.
Sebagai catatan, bagian timekeeping dan cost distribution pada umumnya terdapat pada perusahaan manufaktur.
2.4.3 Dokumen Sumber yang Biasa Digunakan Menurut Wilkinson et al. (2000, CD p.111) dokumen sumber yang biasa digunakan dalam manajemen jasa kepegawaian adalah: 1. Personnel action form Formulir ini digunakan untuk memberi informasi kepada pihak-pihak lain yang terkait dengan kegiatan kepegawaian. Kegiatan ini termasuk keputusan untuk mempekerjakan karyawan baru, perubahan status, evaluasi kinerja pekerjaan, dan masih banyak lagi. Formulir ini yang memberi informasi kepada departemen penggajin mengenai situasi atau perubahan yang mempengaruhi status pembayaran pegawai. Kategori lain dari tindakan personalia adalah mengenai pengurangan. 2. Time card Kartu ini mencatat waktu aktual yang dihabiskan oleh karyawan upahan di lokasi kerja mereka. Kartu ini berisi nama karyawan dan nomor karyawan, serta tanggal-tanggal pada periode pembayaran. Setiap kali karyawan masuk
18 atau pulang, maka ia memasukkan kartu ke dalam time clock. Pada bagian bawah kartu terdapat tempat untuk tandatangan pengawas. Formulir kehadiran lain turut memasukkan time sheet untuk digunakan oleh karyawan yang memiliki gaji tetap 3. Job-time ticket Berbeda dengan time card, yang berfokus pada kehadiran di lokasi kerja, job time ticket berfokus pada pekerjaan spesifik atau pesanan pekerjaan. Setiap kali karyawan upahan, seperti pekerja di bagian produksi, memulai dan mengakhiri pekerjaan, mereka mencatat waktu yang diperlukan untuk satu pekerjaan spesifik pada kartu ini. Pencatatan dilakukan dengan memasukkan kartu tersebut ke alat berupa time clock atau terminal. 4. Paycheck Bersama dengan voucher stub, merupakan dokumen akhir pada siklus manajemen sumber daya manusia. Paycheck pada umumnya disiapkan oleh komputer. Stub menunjukkan semua detil yang diperlukan, termasuk pembayaran uang lembur berikut dengan pengurangan.
2.4.4 Sistem Pengendalian Intern Penggajian 2.4.4.1 Tujuan Sistem Pengendalian Intern Penggajian 1. Semua jasa yang dilakukan oleh pegawai, termasuk durasi kerja pada jenis pekerjaan tertentu, misalnya produksi, dicatat secara akurat dan cepat.
19 2. Semua pegawai dibayar berdasarkan kontrak kerja atau kebijakan lainnya 3. Semua paychek dihitung secara akurat, dengan tunjangan, potongan dan insentif lainnya. 4. Semua biaya kepegawaian dibukukan sesuai dengan kebijakan akuntansi yang ada. 5. Semua laporan yang dibutuhkan disiapkan secara akurat dan lengkap sehubungan dengan hokum dan peraturan dan diserahkan tepat waktu. Untuk
memenuhi tujuan pengendalian
ini, perusahaan harus
menspesifikasikan dan menggabungkan general controls dan transaction controls yang memadai.
20
2.4.4.2 Struktur Pengendalian Intern Penggajian Struktur pengendalian internal
Control environment
Risk assesment
Information and communication
Control acrivities
Activities related to financial reporting
monitoring
Activities related to information processing
General controls
Application controls
Gambar 2.1 Struktur pengendalian intern Berdasarkan Wilkinson et al. (2000 CD, p126), struktur pengendalian internal sebuah sistem informasi akuntansi adalah sebagai berikut : 1.
Control environment
Perlu dibentuk lingkungan pengendali yang kondusif yang meliputi :
Managament Philosophy and Operating Style
21 Manajamen harus menekankan pada laba dan tujuan operasi jangka pendek untuk mencapai tujuan jangka panjang. Selain itu manajamen harus menunjukan tindakan yang positif. Misalnya, memperlakukan karyawan dengan adil dan hormat, menekankan pentingnya pengendalian internal, menetapkan peraturan formal perusahaan.
Organization structure
Struktur organisasi menunjukan kerangka kerja dari hubungan formal untuk mencapai tujuan perusahaan. Oleh karena itu,nama-nama dari karyawan kunci harus tertera, fungsi sistem informasi dipisah dari fungsi lain yang tidak sepadan, pengaturan departemen akuntansi yang terorganisasi, internal audit yang independen dan jangan sampai ada bawahan yang melapor pada dua atasan yang memiliki jabatan yang sama.
Assignment of Authority and Responsibility
Perlu adanya deskripsi pekerjaan yang mendefinisikan tugas-tugas seseorang karyawan secara detail dan hubungan pelaporannya. Selain itu, persetujuan tertulis dibutuhkan untuk perubahan-perubahan pada sistem informasi. Bagan organisasi formal, dokumen tertulis seringkali digunakan untuk menunjukan pembebanan keseluruhan otoritas dan tanggungjawab dalam organisasi. Tanggungjawab atas tugas-tugas khusus dalam suatu organisasi harus ditetapkan secara jelas melaluti pedoman, pembagian tugas, atau dokumentasi lainnya. Pembagian tugas yang efektif tergantung pada presisi yang masuk akal dan perencanaan atas seluruh prosedur dan pembebanan fungsi secara hati-hati ke orang-orang didalam organisasi.
22 Rincian prosedur harus ditetapkan dalam memorandum yang juga menunjukan pembagian tugas secara eksplisit kepada masing-masing departemen atau karyawan. Prosedur tertulis, instruksi dan pembebanan tugas akan mencegah adanya duplikasi pekerjaan, tumpang tindih fungsifungsi, penghilangan fungsi-fungsi yang penting, kesalahpahaman dan umumnya menjadi dasar dalam membuat pedoman resmi kebijakan dan prosedur.
Human Resource Policies and Practices
Adanya pertimbangan yang melibatkan kebijakan mengenai perekrutan, orientasi, pelatihan, motivasi, evaluasi, promosi, kompensasi, konsultasi, pemberhentian dan perlindungan karyawan. Kebijakan dan praktek sumber daya manusia yang baik dapat secara signifikan membantu perusahaan mencapai efisien operasi dan mempertahankan integritas data. Oleh karena itu, karyawan harus kompeten dan memiliki kemampuan dan pelatihan yang mendukung tugas-tugas mereka. Dalam analisis akhir, karyawan merupakan komponen kunci daam sistem pengendalian. Kualifikasi yang ditetapkan untuk setiap posisi pekerjaan harus merefleksikan tingkat tanggungjawan berkaitan dengan posisi tersebut. Kualifikasi mencakup pengalaman, intelegensi, karakter, dedikasi dan kemampuan kepemimpinan. Fidelity bond adalah kontrak dengan perusahaan asuransi yang menyediakan garansi keuangan atas kejujuran orang yang namanya tercantum dalam kontrak jaminan. Perusahaan asuransi biasanya akan menginvestigasi latar belakang orang yang
23 dijaminkan. Jadi, fidelity bond membantu meyakinkan perusahaan untuk memperkerjakan orang yang tepat. 2.
Risk assessment
Resiko-resiko yang seringkali terjadi dalam sistem penggajian ini :
Memperkerjakan karyawan yang tidak jujur Hal ini dapat mengakibatkan kerugian asset dan penyimpangan dari pengendalian dan kebijakan.
Kesalahan dalam pencatatan waktu, termasuk penyalahgunaan waktu lembur. Hal ini menyebabkan pencatatan gaji dan rekap gaji yang tidak tepat
Pembayaran gaji atau pesangon kepada karyawan fiktif Hal ini mengakibatkan biaya penggajian yang berlebihan
Kesalahan dalam penghitungan dan pernyataan hutang gaji Hal ini akan mengakibatkan tingkat akun hutang dan beban yang tidak tepat
Kesalahan dalam pembayaran penggajian karyawan Hal ini menyebabkan kelebihan bayar dan atau berakibat pada demoralisasi karyawan, laporan keuangan yang tidak akurat.
3.
Control activities
Pengendalian ini terbagi menjadi dua yaitu kegiatan yang berkaitan dengan laporan keuangan dan kegiatan yang berkaitan dengan proses informasi. Kegiatan yang berkaitan dengan laporan keuangan :
24
Dalam pembuatan daftar gaji berdasarkan surat penerimaan karyawan dan surat pemberhentian karyawan. Hal ini dilakukan untuk mencegah terjadinya pencatatan fiktif atas data karyawan oleh bagian yang membuat daftar gaji.
Adanya pembagian tugas antara yang mengawasi pencatatan waktu hadir dengan yang melakukan pembayaran gaji.
Digunakannya dokumen dan catatan bernomor urut tercetak dan penilaian yang sesuai terhadap jumlah uang yang tercatat.
Kegiatan yang berkaitan dengan proses informasi mencakup: General Controls General
controls
berhubungan
dengan
independensi
organisasi,
dokumentasi, akuntabilitas aset, praktek manajamen, operasi pusat data, otorisasi dan akses. Dari semuanya, yang paling relevan dengan siklus penggajian ini adalah berikut: Independensi organisasi, personil dan unit yang memiliki custodial functions ( misalnya, departemen pembiayaan kas,kasir dan paymaster) harus dipisahkan dari untuk yang menyimpan data waktu (timekeeping) dan bagian yang mentiapkan dokumen penggajian (departemen penggajian). Departemen personalia harus mengotorisasi semua tindakan personalia, dimana supervisor departemen harus menyetujui data waktu pegawai mereka; keduanya harus dipisahkan dengan semua unit yang disebutkan diatas.
25 Rekonsiliasi antar rekening Koran bank untuk pembayaran gaji dengan daftar gaji harus dilakukan untuk menjamin bahwa bank melakukan transfer gaji ke rekening karyawan dengan tepat sehingga tidak merugikan perusahaan maupun karyawan. Ketika sistem on-line digunakan, akses harus diperketat dengan menentukan password untuk clerk sebelum mengakses data kepegawaian dan menggunakan terminal dengan fungsi yang hanya terbatas untuk menginput tindakan kepegawaian. Prosedur lain yang membutuhkan perhatian keamanan termasuk:
Menghasilkan audit reports (access logs)
Menghapus file pegawai ke magnetic tape backups
Menyimpan cek kosong yang telah terotorisasi dalam tempat yang aman
Application controls Pengendalian dan prosedur pengendalian berikut ini diaplikasikan pada transaksi kepegawaian dan data kepegawaian : 1. Menggunakan finger scanner untuk absensi karyawan agar tidak melakukan titip absen sehingga tidak merugikan perusahaan dalam membayar insentif kehadiran bagi karyawan dan juga data kehadiran karyawan dapat langsung masuk kedalam komputer untuk pembuatan rekap absensi yang lebih efisiensi dan akurat. 2. Memvalidasi data pada catatan secara langsung saat data tersebut dimasukan untuk diproses dengan menggunakan alat untuk mengecek
Validitas cek dengan nomor pegawai
Batas cek dengan waktu kerja
26
Kolom cek pada jumlah data dan key identification
Hubungan cek dengan nomor pegawai dan departemen dimana pegawai bertugas.
3. Memvalidasi hasil karena data diproses dengan alat untuk mengecek, misalnya sign check dan cross-foot balance check. Sehingga, net-pay field setiap paycheck harus diverifikasi oleh cek pendahulunya untuk diteliti apakah tandanya positif dan juga oleh cek pendahulunya untuk meneliti jumlahnya apakah sesuai dengan gross pay dikurangi semua potongan. 4. Mengoreksi kesalahan yang terdeteksi selama entri data atau memproses secepat mungkin dengan menggunakan alat yang dapat memperbaiki error. Sebagian dari prosedur ini melibatkan pencetakan pengecualian yang sesuai dan tingkassan
laporan selama
proses pembetulan
berlangsung. Pemrosesan paycheck harus ditunda sampai semua transaksi kesalahan data dan penyelewengan telah dikoreksi. 5. Melakukan tindakan kepegawaian secara tepat berdasarkan otorisasi yang valid. 6. Rekonsiliasi durasi jam yang tercermin pada job-time ticket (ketika digunakan) dengan jam yang ditunjukan pada time cards. 7. Menghitung terlebih dahulu total batch control pada durasi waktu kerja yang tercermin pada time card dan pada jumlah pembayaran net yang ditunjukan oleh payroll register; membandingkan total batch dengan total yang dihitung selama persiapan paycheck dan selama posting ke employee payroll master file.
27 8. Mengambil paycheck pada rekening bank menggunakan imprest payroll bank account. Sistem imprest payroll bank account mirip dengan sistem petty cash fund, dimana dana ditransfer dari general cash ke payroll bank account dalam jumlah yang sama dengan total daftar gaji yang dibuat setiap bulan. Sistem ini membantu memeriksa akurasi dari proses penggajian dan keamanan kas juga terjaga karena perbuatan curang dengan menarik cek dari payroll bank account dapat terdeteksi. 9. Menyimpan voided paychecks untuk membukukan semua nomor paycheck. 10. Menelusuri unclaimed paycheck kembali ke data waktu dan employee payroll master file untuk memverikasi bahwa paycheck tersebut adalah hak pegawai saat itu. 11. Mengulas ulang preliminary payroll register sebelum paycheck dicetak sehingga semua error telah dikoreksi. 12. Semua pengendalian berhubungan dengan cash disbursement juga berlaku sama pada pembuatan paycheck. 4.
Information and communication Informasi harus mengalami identifikasi, proses dan dikomunikasikan
sehingga karyawan dapat mengemban tanggungjawab mereka. Sistem informasi yang tepat dapat memastikan hal ini terlaksana. Berikut ini adalah tujuan yang memastikan kalau metode dan pencatatan SIA akan menghasilkan laporan keuangan yang dapat diandalkan : 1. Semua transaksi yang diinput valid dan terotorisasi
28 2. Semua transaksi yang diproses secara cepat dan terinci sehingga transaksi tersebut dapat diklasifikasikan 3. Semua transaksi yang telah dimasukan akurat dan lengkap, transaksi telah dinyatakan dalam terminology moneter yang sesuai. 4. Semua transaksi yang dimasukan diproses secara tepat untuk memperbaharui semua catatan yang terpengaruh, termasuk master file dan atau tipe data lainnya. 5. Semua output yang disiapkan sesuai dengan peraturan yang berlaku untuk menyajikan informasi yang akurat dan terpercaya. Misalnya, Daftar Gaji disiapkan dari catatan yang lengkap dan akurat dan sesuai dengan peraturan yang berlaku 5.
Monitoring Pengendalian ini bertujuan untuk menilai kualitas pengendalian internal
dari waktu ke waktu dengan melakukan sistem yang sedang berlangsung dan evaluasi yang terpisah. Ongoing monitoring activities, misalnya audit atas pengendalian intern dan catatan akuntansi yang dilakukan secara periodic.
2.4.4.3 Ancaman dan Prosedur Pengendalian Internal dalam Sistem Informasi Akuntansi Penggajian dan Pengupahan Menurut Romney dan Steinbart (2006, p.504-509), ada beberapa ancaman dalam
siklus penggajian dan pengupahan dan prosedur
pengendalian untuk meminimalisasi ancaman-ancaman tersebut.
29 1. Mempekerjakan karyawan yang tidak sesuai dengan kualifikasi atau karyawan yang suka mencuri Mempekerjakan karyawan yang tidak sesuai dengan kualifikasi dapat meningkatkan biaya produksi dan mempekerjakan karyawan yang suka mencuri dapat mengakibatkan kehilangan aset. Kedua masalah ini dapat ditangani dengan menerapkan prosedur wawancara pekerjaan yang tepat. Kualifikasi untuk tiap lowongan posisi harus diperlihatkan secara ekspilisit. Calon karyawan harus memberikan pernyataan dalam surat lamaran pekerjaan maupun formulir lamaran pekerjaan yang menyatakan bahwa informasi yang diberikan memang akurat dan memberikan izin kepada perusahaan untuk melakukan analisa menyeluruh terhadap latar belakang pekerjaan maupun pendidikan calon karyawan. Hal ini dilakukan untuk memverifikasi mengenai pendidikan dan referensi calon karyawan yang diajukan pada saat melamar pekerjaan. 2. Pelanggaran terhadap hukum ketenagakerjaan Pemerintah menetapkan ganjaran bagi perusahaan yang melanggar hukum ketenagakerjaan. Dalam kasus ini prosedur pengendalian terbaik adalah berhati-hati dalam mendokumentasikan semua tindakan yang berkaitan dengan periklanan, perekrutan dan mempekerjakan karyawan baru dan pemberhentian karyawan supaya sesuai dengan aturan yang telah ditetapkan oleh pemerintah. 3. Perubahan master file penggajian yang tidak terotorisasi
30 Perubahan tidak terotorisasi terhadap master file penggajian dapat mengakibatkan peningkatan biaya jika gaji, upah, komisi atau tarif dasar lain yang digunakan untuk menghitung kompensasi bagi karyawan dipalsukan. Masalah ini juga dapat menghasilkan laporan yang tidak akurat mengenai biaya buruh, yang pada akhirnya dapat mengarah pada keputusan yang salah. Prosedur pengendalian yang dapat mengatasi masalah ini adalah pemisahan tugas. Hanya bagian human resources management yang memiliki wewenang untuk merubah master file penggajian, sedangkan bagian human resources management tidak terlibat langsung dalam pemrosesan gaji. Membatasi akses ke sistem penggajian juga sangat penting. Karena di dalam lingkungan database karena berbagai fungsi yang berbeda sekarang dilakukan oleh sebuah sistem. 4. Data mengenai waktu kerja yang tidak akurat Salah satu resiko dalam proses penggajian adalah ketidakakuratan data kehadiran Ketidakakuratan dalam pencatatan waktu dan data kehadiran dapat mengakibatkan kepegawaian
peningkatan menjadi
biaya
salah.
kepegawaian
Terlebih
lagi
dan
laporan
biaya
ketidakakuratan
dapat
mengakibatkan penurunan moral pegawai menurun atau hasil pembayaran atas jasa pegawai tidak bisa terlihat. Otomatisasi bisa mengurangi resiko dari ketidakakuraan tersebut. Badge readers dan barcode scanner dapat digunakan untuk mengumpulkan data waktu dan kehadiran pegawai dalam bentuk formulir yang bisa dibaca oleh mesin.
31 Mengacu pada pendapat Wilkinson (CD, p.126), dalam sistem penggajian terdapat resiko seperti kesalahan atau kelalaian dalam pencatatan waktu . Dalam control objectives juga dijelaskan bahwa salah satu tujuan dari sistem ini adalah agar semua jasa yang dilakukan oleh pegawai, termasuk jam kerja pada tugas-tugas tertentu seperti pekerjaan produksi dicata dengan akurat dan menurut waktu yang sebenarnya. Menurut Hall (2001,p.302) salah satu pengendalian dalam penggajian adalah supervision dan area yang memiliki resiko untuk disalahgunakan adalah timekeeping. Beberapa karyawan akan “clock in” untuk karyawan lain yang datang terlambat atau tidak hadir pada hari tersebut. Seorang supervisor harus mengawasi proses clocking tesebut dan merekonsiliasi kartu waktu dengan kehadiran aktual. Dalam Cushing dan Romney (1998, p.963), catatan waktu dan kehadiran karyawan dikumpulkan secara otomatis dari timeclock atau badge reader. Catatan job time terkadang dikumpulkan secara otomatis tetapi sering kali disiapkan secara manual oleh masing-masing karyawan. Dalam beberapa kasus semua catatan aktifitas karyawan harus ditinjau ulang dan disetujui oleh supervisor sehingga dapat mendeteksi ketidaksesuaian yang nyata. 5. Pemrosesan gaji yang tidak akurat Kompleksitas dalam pemrosesan gaji, terutama berkaitan dengan pajak membuat proses tersebut rentan terhadap kesalahan. Kesalahan dalam memproses gaji dapat mengakibatkan kekecewaan karyawan terutama bila gaji dibayar terlambat. Bila terdapat kesalahan pemrosesan gaji yang berkaitan
32 dengan pajak yang harus dibayar ke pemrintah maka perusahaan bisa mendapat sanksi dari pemerintah. 6. Pencurian atau penipuan dalam distribusi gaji Ancaman lain dalam sistem informasi penggajian dan pengupahan adalah pencurian gaji atau pembuatan slip gaji kepada karyawan fiksi atau karyawan yang sudah tidak bekerja lagi di perusahaan. Hal dapat berakibat pada peningkatan biaya dan kehilangan kas perusahaan. Hal ini dapat dicegah dengan berbagai cara salah satunya adalah pemisahan fungsi antara orang yang mempersiapkan slip gaji dan orang yang membagikan slip gaji tersebut. Pegendalian lebih jauh antara lain dengan memiliki departemen audit internal yang mengobservasi secara periodik, pada saat-saat yang tidak ditentukan. 7. Kehilangan, perubahan atau pengungkapan yang tidak terotorisasi atas datadata Database Human Resource Management (HRM)/ penggajian merupakan sumber daya yang sangat berharga yang harus dilindungi dari kehilangan maupun kerusakan. Back-up dan prosdur penyelamatan dari bencana merupakan prosedur pengendalian yang terbaik untuk mengurangi resiko dari kehilangan data penggajian. Perubahan terhadap data-data penggajian dapat mengakibatkan inefisiensi dan ketidakadilan dalam pembayaran gaji. Pengendalian akses secara logikal maupun fisikal menjadi sangat penting untuk meminimalisasi ancaman ini. Sedangkan pengendalian terbaik untuk mencegah pengungkapan data yang tidak terotorisasi adalah dengan menggunakan password dan pengendalian keamanan secara fisikal.
33 8. Kinerja yang kurang baik Ancaman lain dalam proses penggajian dan pengupahan adalah kinerja karyawan yang inefisien dan tidak efektif. Salah satu cara untuk mengatasi hal ini adalah dengan menyiapkan dan meninjau ulang laporan kinerja karyawan. Dengan hati-hati memperhatikan produktivitas karyawan untuk meyakinkan bahwa karyawan tersebut dibayar sesuai dengan pekerjaan yang telah dikerjakannya dan tidak menyalahgunakan aset perusahaan. Pelatihan juga merupakan hal yang penting. Hasil survei pada perusahaan manufaktur menunjukkan hubungan langsung antara waktu yang dihabiskan untuk pelatihan dan produktivitas secara keseluruhan. Fungsi HRM harus memeriksa secara teliti untuk investasi semacam ini. Menurut Cushing dan Romney (1991, p.749), pimpinan bagian personalia memerlukan informasi kualitatif mengenai beberapa faktor seperti motivasi karyawan, moral, kemampuan, dan hubungan interpersonal. Selain itu menurut Cushing dan Romney (1991, p.765), salah satu tujuan pengendalian dalam siklus penggajian dan pengupahan adalah untuk memastikan bahwa semua karyawan telah diberi tugas sesuai dengan kemampuan mereka dan mereka telah melaksanakan tugas dengan efektif dan efisien. Dalam sistem manual, tujuan ini dipenuhi dengan tanggung jawab dari pengawas. Sistem terkomputerisasi
dapat meningkatkan efisiensi dimana seorang pengawas
dapat melaksanakan tugas ini dengan menyediakan informasi mengenai kinerja karyawan dengan lebih akurat dan teratur.
34 2.4.4.4 Kontrol dalam Sistem Pengendalian Internal Penggajian Menurut James H. Hall (2001, p.302) dalam sistem pengendalian internal penggajian mempunyai kontrol meliputi : a) Otorisasi Transaksi Formulir tindakan personel adalah untuk menyediakan kontrol otorisasi yang penting dalam sistem penggajian. Dokumen ini penting untuk mencegah penipuan penggajian dengan mengidentifikasi karyawan yang terotorisasi. Bentuk penipuan yang umum adalah memasukkan time cards ke gaji karyawan yang sudah tidak bekerja lagi dalam perusahaan. Formulir tindakan personel ini mengizinkan departemen penggajian untuk mengatur daftar karyawan, yang kemudian dicocokkan dengan time card. b) Pembagian Tugas Fungsi timekeeping harus terpisah dari fungsi personalia. Departemen personalia menyediakan gaji dengan informasi tarif gaji. Mungkin saja terdapat range antar tarif gaji tergantung dari pengalaman, klasifikasi pekerjaan, senioritas, jasa. Untuk mencegah penipuan informasi ini harus dihasilkan dari sumber yang independent yaitu departemen personalia. c) Supervisi Area lain yang beresiko adalah timekeeping. Terkadang beberapa karyawan akan “clock in” untuk karyawan lain yang datang terlambat
35 atau bahkan tidak datang. Supervisor harus mengobservasi proses clocking dan merekonsiliasi time cards dengan kehadiran aktual. d) Catatan akuntansi Jejak audit untuk penggajian meliputi dokumen beikut : a. Time cards, job tickets, dan disbursement vouchers. b. Informasi jurnal, yang datang dari ringkasan distribusi tenaga kerja dan payroll register. c. Akun buku besar pembantu, yang mengandung catatan karyawan dan akun biaya yang bervariasi. d. Akun jurnal umum : kontrol penggajian, kas, payroll clearing (imprest account). e) Kontrol akses Aset yang berhubungan dengan penggajian adalah tenaga kerja dan kas. Keduanya bisa disalahgunakan melalui akses yang tidak tepat ke dalam catatan akuntansi. Individu yang tidak jujur dapat menyalahgunakan total time cards yang telah terjadi dan kemudian menggelapkan kas. Mengontrol akses ke sumber dokumen dan catatan dalam sistem penggajian adalah penting. f) Verifikasi independen Beberapa contoh verifikasi independent dalam sistem penggajian : a. Verifikasi waktu : sebelum mengirimkan time cards ke bagian penggajian,
supervisor
menandatanganinya.
harus
memverifikasi
keakuratan
dan
36 b. Paymaster : menggunakan paymaster untuk mendistribusikan cek pembayaran membantu memverifikasi karyawan yang masih ada. c. Utang dagang : bagian utang dagang memverifikasi ketepatan payroll register sebelum membuat disbursement voucher untuk mengirimkan dana ke dalam imprest account. Jurnal umum : departemen jurnal umum menyediakan verifikasi untuk semua proses dengan merekonsiliasi laporan distribusi tenaga kerja dan disbursement voucher penggajian.
2.5
Pajak Penghasilan 2.5.1 Pengertian Pajak Penghasilan Undang-undang No.7 Tahun 1984 tentang Pajak Penghasilan (PPh) berlaku sejak 1 Januari 1984. Undang-undang ini telah beberapa kali mengalami perubahan dan terakhir kali diubah dengan Undang-Undang No.17 Tahun 2000. Undang-undang PPh mengatur subjek pajak,objek pajak, serta cara menghitung dan cara melunasi pajak yang terutang. Undang-undang PPh juga lebih memberikan fasilitas kemudahan dan keringanan bagi Wajib Pajak dalam melaksanakan kewajiban perpajakan. Undang-undang PPh menganut asas materiil, artinya penentuan mengenai pajak yang terutang tidak tergantung kepada surat ketetapan pajak. 2.5.1.1 Objek Pajak Yang menjadi objek pajak adalah penghasilan. Penghasilan yaitu setiap tambahan kemampuan ekonomis yang diterima atau diperoleh Wajib Pajak, baik
37 yang berasal dari Indonesia maupun dari luar Indonesia,yang dapat dipakai untuk konsumsi atau menambah kekayaaan Wajib Pajak yang bersangkutan, dengan nama dan bentuk apapun. 2.5.1.2 Penghasilan Tidak Kena Pajak (PTKP) Besarnya PTKP setahun yang berlaku saat ini adalah : 1. Rp 13.200.000 untuk diri Wajib Pajak orang pribadi. 2. Rp 1.200.000 tambahan untuk Wajib Pajak yang kawin 3. Rp 13.200.000 tambahan untuk seorang istri yang penghasilannya digabung dengan penghasilan suami. 4. Rp 1.200.000 tambahan untuk setiap anggota keluarga sedarah dan keluarga semenda dalam garis keturunan lurus satu derajat serta anak angkat yang menjadi tanggungan sepenuhnya (maksimal 3 orang). Penghitungan PTKP ditentukan menurut keadaan pada awal tahun pajak atau awal bagian tahun pajak. Penghitungan PTKP untuk pegawai lama dilakukan dengan melihat keadaan pada awal tahun takwim (1 Januari).
2.5.1.3 Tarif Pajak Penghasilan Pasal 21 Sesuai dengan pasal 17 UU PPh, besarnya tarif pajak penghasilan bagi Wajib Pajak orang pribadi dalam negeri adalah sebagai berikut : Laporan Penghasilan Kena Pajak
Tarif Pajak
Sampai dengan Rp 25.000.000,00
5% (lima persen)
38 Diatas Rp 25.000.000,00 s/d
10%
Rp 50.000.000,00
(sepuluh persen)
Diatas Rp 50.000.000,00 s/d
15%
Rp 100.000.000,00
(lima belas persen)
Diatas Rp 100.000.000,00 s/d
25%
Rp 200.000.000,00
(dua puluh lima persen)
Diatas Rp 200.000.000,00
35% (tiga puluh lima persen) Tabel 2.1 Tarif Pajak
2.5.2 Pajak Penghasilan Pasal 21 Ketentuan Pasal 21 UU PPh mengatur tentang pembayaran pajak dalam tahun berjalan melalui pemotongan pajak atas penghasilan yang diterima
atau
diperoleh oleh Wajib Pajak orang pribadi dalam negeri sehubungan dengan pekerjaan, jasa, dan kegiatan. 2.5.2.1 Wajib Pajak PPh Pasal 21 Penerima penghasilan yang dipotong PPh pasal 21 adalah : 1. Pejabat Negara 2. Pegawai Negeri Sipil (PNS) 3. Pegawai 4. Pegawai Tetap 5. Pegawai dengan status Wajib Pajak Luar Negeri 6. Pegawai Lepas
39 7. Penerima Pensiun 8. Penerima Honorarium 9. Penerima Upah 2.5.2.2 Objek Pajak PPh Pasal 21 Penghasilan yang dikenakan pemotongan PPh pasal 21 adalah: 1. Penghasilan yang diterima atau diperoleh secara teratur berupa gaji, uang pensiun bulanan, upah, honorarium, premi bulanan, uang lembur, uang sokongan, uang tunggu, uang ganti rugi, tunjangan isteri, tunjangan anak, tunjangan pajak, tunjangan kemahalan, tunjangan jabatan,tunjangan khusus, tunjangan transport, tunjangan iuran pensiun, tunjangan pendidikan anak, beasiswa, hadiah, premi asuransi yang dibayaroleh pemberi kerja, dan penghasilan teratur lainnya dengan nama apapun. 2. Penghasilan yang diterima atau diperoleh secara tidak teratur berupa jasa produksi, tantiem, gratifikasi, tunjangan cuti, tunjangan hari raya, tunjangan tahun baru, bonus, premi tahunan, dan penghasilan sejenis lainnya yang sifatnya tidak tetap dan biasanya dibayarkan sekali dalam setahun. 3. Upah harian, upah mingguan, upah satuan, dan upah borongan 4. Uang tebusan pensiunan, uang Tabungan Hari Tua atau Tunjangan Hari Tua (THT), uang pesangon, dan pembayaran lain sejenis. 5. Honorarium, uang sakum hadiah atau penghargaan dengan nama dan dalam bentuk apapun, komisi, bea siswa, dan pembayaran lain sebagai imbalan sehubungan dengan pekerjaan, jasa, dan kegiatan yang dilakukan Wajib Pajak dalam negeri.
40 6. Gaji, gaji kehormatan, tunjangan-tunjangan lain yang terkait dengan gaji yang diterima oleh Pejabat Negara dan PNS 7. Uang pensuin dan tunjangan-tunjangan lain yang sifatnya terkini dengan uang pensiun, yang diterima oleh pensiunan termasuk janda atau duda dan anakanaknya. 8. Penerimaan dalam bentuk natura dan kenikmatan lainnya dengan nama apapun yang diberikan oleh bukan Wajib Pajak
2.5.2.3 Pemotong Pajak Penghasilan Pasal 21 Menurut Mardiasmo (2003, p. 144) berikut ini adalah termasuk pemotong pajak PPh pasal 21 : 1. Pemberi kerja yang membayar gaji, upah, honorarium, tunjangan, dan pembayaran lain dengan nama apapun, sebagai imbalan sehubungan dengan pekerjaan atau jasa yang dilakukan oleh pegawai atau bukan pegawai. 2. Bendaharawan Pemerintah yang membayarkan gaji, upah, honorarium, tunjangan, dan pembayaran lain dengan nama apapun, sebagai imbalan sehubungan dengan pekerjaan atau jabatan, jasa, dan kegiatan. 3. Dana pensiun, PT Taspen, PT Jamsostek, badan penyelenggara jaminan social tenaga kerja lainnya, serta badan-badan lain yang membayar uang pensiun, Tabungan Hari Tua atau Tunjangan Hari Tua (THT). 4. Perusahaan, badan dan bentuk usaha tetap yang membayar honorarium atau pembayaran lain sebagai imbalan sehubungan dengan kegiatan dan jasa, termasuk jasa tenaga ahli dengan status Wajib Pajak dalam negeri yang
41 melakukan pekerjaan bebas dan bertindak untuk dan atas namanya sendiri, bukan atas nama persekutuannya. 5. Perusahaan, badan dan bentuk usaha tetap yang membayar honorarium atau pembayaran lain sebagai imbalan sehubungan dengan kegiatan dan jasa yang dilakukan oleh orang pribadi dengan status Wajib Pajak Luar Negeri. 6. Yayasan (termasuk yayasan yang bergerak di bidang kesejahteraan, rumah sakit, pendidikan, kesenian, olahraga, kebudayaan), lembaga, kepanitian, asosiasi, perkumpulan, dan organisasi dalam bentuk apapun dalam segala kegiatan sebagai pembayar gaji, upah, honorarium, atau imbalan dengan nama apapun sehubungan dengan pekerjaan, jasa, dan kegiatan yang dilakukan oleh orang pribadi. 7. Perusahaan, badan, dan bentuk usaha tetap, yang membayarkan honorarium atau imbalan lain kepada peserta pendidikan, pelatihan, dan pemagangan. 8. Penyelenggara kegiatan (termasuk badan pemerintah, organisasi termasuk organisasi internasional, perkumpulan, orang pribadi serta lembaga lainnya yang menyelenggarakan kegiatan) yang membayar honorarium, hadiah atau penghargaan dalam bentuk apapun kepada Wajib Pajak orang pribadi dalam negeri berkenaan dengan suatu kegiatan.
2.5.2.4 Cara Menghitung PPh Pasal 21 Cara Menghitung PPh Pasal 21 Bulanan atas Penghasilan Teratur Pegawai Tetap
42 1. a. Untuk menghitung PPh Pasal 21 atas penghasilan pegawai tetap, terlebih dahulu dicari penghasilan netto sebulan. Penghasilan netto sebulan diperoleh dengan cara mengurangi penghasilan bruto dengan biaya jabatan, iuran pensiun, iuran Tabungan Hari Tua atau Tunjangan Hari Tua yang dibayar oleh pegawai, kemudian disetahunkan b. Untuk perusahaan yang masuk program Jamsostek, premi Jaminan Kecelakaan Kerja (JKK), premi Jaminan Kematian (JK) dan premi Jaminan Kecelakaan (JPK) yang dibayar oleh pemberi kerja penghasilan bagi pegawai. Ketentuan yang sama diberlakukan juga bagi premi asuransi kesehatan, asuransi kecelakaan kerja, asuransi jiwa, asuransi dwiguna, dan asuransi bea siswa yang dibayarkan oleh pemberi kerja untuk pegawai kepada perusahaan asuransi lainnya. Dalam menghitung PPh Pasal 21, premi tersebut digabungkan dengan penghasilan bruto yang dibayarkan oleh pemberi kerja kepada pegawai. c. Selanjutnya dihitung jumlah penghasilan neto sebulan yang diperoleh dengan cara mengurangi penghasilan bruto sebulan dengan biaya jabatan, iuran pensiun, iuran Jaminan Hari Tua, iuran Tunjangan Hari Tua yang dibayar sendiri oleh pegawai yang bersangkutan melalui pemberi kerja kepada Dana Pensiun yang pendiriannya telah disahkan oleh Menteri Keuangan atau kepada Badan Penyelenggara Program Jamsostek.
43 2. a. Untuk memperoleh penghasilan netto setahun penghasilan netto sebulan dikalikan 12 b. Dalam hal seorang pegawai tetap kewajiban pajak subjektifnya sebagai Wajib Pajak dalam negeri sudah ada sejak awal tahun, tetapi mulai bekerja setelah bulan Januari, maka penghasilan netto yang disetahunkan tersebut dihitung dengan mengalikan penghasilan netto sebulan dengan banyaknya bulan sejak pegawai yang bersangkutan mulai bekerja sampai dengan bulan Desember c. Penghasilan netto yang disetahunkan pada huruf a atau b diatas, selanjutnya dikurangi dengan PTKP untuk memperoleh Penghasilan Kena Pajak. Atas dasar Penghasilan Kena Pajak tersebut kemudian dihitung PPh Pasal 21 setahun. d. Untuk memperoleh jumlah PPh Pasal 21 setahun, jumlah PPh Pasal 21 setahun atas penghasilan sebagaimana dimaksud pada huruf a dibagi dengan 12 e. Untuk memperoleh jumlah PPh Pasal 21 sebulan atas penghasilan sebagaimana dimaksud pada huruf b, jumlah PPh Pasal 21 setahun dibagi dengan banyaknya bulan pegawai yang bersangkutan. 3. a. Apabila pajak yang terutang oleh pemberi kerja tidak didasarkan atas masa gaji sebulan, maka untuk penghitungan PPh Pasal 21 jumlah penghasilan tersebut
terlebih
dahulu
dijadikan
penghasilan
mempergunakan faktor perkalian sebagai berikut : 1). Gaji untuk masa seminggu dikalikan dengan 4;
bulanan
dengan
44 2). Gaji untuk masa sehari dikalikan dengan 26 b. Selanjutnya dilakukan penghitungan PPh Pasal 21 sebulan dengan cara seperti angka 2 diatas. c. PPh Pasal 21 di atas penghasilan seminggu dihitung berdasarkan PPh Pasal 21 sebulan pada huruf b dibagi 4, sedangkan PPh Pasal 21 atas penghasilan sehari dihitung berdasarkan PPh Pasal 21 sebulan pada huruf b dibagi 26. 4. Jika kepada pegawai disamping dibayar gaji bulanan juga dibayar kenaikan gaji yang berlaku surut (rapel), misalnya untuk 4 (empat) bulan, maka penghitungan PPh Pasal 21 atas rapel tersebut adalah sebagai berikut: a. rapel dibagi dengan banyaknya bulan perolehan rapel tersebut (dalam hal ini 4 bulan); b. hasil pembagian rapel tersebut ditambahkan pada gaji setiap bulan sebelum adanya kenaikan gaji yang sudah dikenakan pemotongan PPh Pasal 21; c. PPh Pasal 21 atas gaji untuk bulan-bulan setelah ada kenaikan, dihitung kembali atas dasar gaji baru setelah ada kenaikan; d. PPh Pasal 21 terutang atas tambahan gaji untuk bulan-bulan dimaksud adalah selisih antara jumlah pajak yang dihitung berdasarkan huruf c dikurangi jumlah pajak yang telah dipotong berdasarkan huruf b. 5. Apabila kepada pegawai disamping dibayar gaji yang didasarkan masa gaji kurang dari satu bulan juga dibayar gaji lain mengenai masa yang lebih lama dari satu bulan (rapel) seperti tersebut pada angka 4, maka cara penghitungan
45 PPh Pasal 21-nya sesuai dengan yang telah ditetapkan pada angka 4 dengan memperhatikan ketentuan angka 3. 6. Pemotongan PPh Pasal 21 atas lembur dan penghasilan lain yang sejenis yang diterima atau diperoleh pegawai bersamaan dengan gaji bulanannya, yaitu dengan menggabungkan pada gaji bulanannya.
2.6
Analisis sistem
Menurut McLeod ( 2001, p190-192), tahapan dalam analisis sistem yaitu: 1. Mengumumkan penelitian sistem Ketika perusahaan menerapkan aplikasi komputer baru, menajemen mengambil langkah-langkah untuk memastikan kerjasama para pekerja. Manajemen dapat bertemu dengan para pegawai, secara perorangan maupun pertemuan kelompok, dan dapat menggunakan media tertulis seperti memo dan penerbitan berkala perusahaan. 2. Mengorganisasikan tim proyek Tim proyek yang akan melakukan penelitian sistem dikumpulkan. Banyak perusahaan memiliki kebijakan menjadikan pemakai, dan bukan spesialis informasi, sebagai pemimpin proyek. Agar proyek berhasil, pemakai sangat perlu berperan aktif daripada hanya berperan pasif. 3. Mendefinisikan kebutuhan informasi Analis mempelajari kebutuhan informasi pemakai dengan terlibat dalam berbagai kegiatan pengumpulan informasi: wawancara perorangan, pengamatan, pencarian catatan, dan survei. Pada titik dalam siklus hidup sistem ini, analis mengumpulkan dokumentasi dari sistem yang ada. Analis menelaah dokumentasi yang mungkin telah
46 disiapkan pada awal pengembangan sistem yang sekarang dan menambahkan dokumentasi baru jika dirasa perlu. Dokumentasi dapat berupa bagan arus (flowchart), diagram arus data(data flow diagram), dan grafik serta penjelasan naratif dari proses dan data. 4. Mendefinisikan kriteria kinerja sistem Langkah selanjutnya yaitu menspesifikasikan secara tepat apa yang harus dicapai oleh sistem yaitu kriteria kinerja sistem. 5. Menyiapkan usulan rancangan Pada tahap ini, analis memberikan kesempatan kepada manajer untuk membuat keputusan apakah meneruskan atau menghentikan untuk kedua kalinya. 6. Menyetujui atau menolak rancangan proyek Manajer dan komite pengarah SIM mengevaluasi usulan rancanagan dan menentukan apakah akan memberikan persetujuan atau tidak. Jika disetuji, maka berlanjut ke tahap perancangan. 2.7 Pengertian Metode Analisis dan Desain Berorientasi Objek 2.7.1 Pengertian Object – Oriented Dari tahun 1950 sampai dengan tahun 1970-an, perusahaan–perusahaan menekankan proses saat mengembangkan sistem informasi dan menggunakan alat – alat pembuatan model proses seperti bagan arus ( flowchart ) dan diagram arus data ( Data Flow Diagram ). Selama tahun 1970–an dan 1980–an, penekanan bergeser ke data, dengan menggunakan diagram hubungan entitas ( Entity Relationship Diagram – ERD ) dan kamus data. Selama tahun 1990-an kecenderungan berubah ke mengkombinasikan proses dan data menjadi object ( McLeod, 2001, p330 ).
47 Keuntungan Object-Oriented menurut Mathiassen et al ( 2000, p5-6) adalah : 1. Merupakan konsep umum yang dapat digunakan untuk memodelkan hampir semua fenomena yang ada di dunia dengan menggunakan bahasa alami.
Noun menjadi object atau class
Verb menjadi behavior
Adjective menjadi attributes
2. Menyediakan informasi yang jelas mengenai context dari sistem 3. Mengurangi biaya maintenance atau development
2.7.2 Object – Oriented Analysis and Design 2.7.2.1 Pengertian Object – Oriented Analysis and Design Menurut Mathiasen et al.(2000,p4), “ Object-Oriented Analysis and Design (OOAD) is method that uses objects and classess as its key concepts and builds on four general principles for analysis and design : model the system’s context, emphasize architectural consider actions, reuse patterns that express well-established design ideas, and tailor the method to each development situation.” Yang dapat diartikan metode yang menggunakan objek dan kelas-kelas sebagai konsep kunci dan membangun 4 prinsip umum untuk analisis dan design : model kontek sistem, penekanan arsitektur dengan mempertimbangkan actions, menggunakan kembali pola yang menggambarkan ide-ide design yang baik dan membentuk metode untuk setiap situasi pengembangan. Menurut Mathiassen et al ( 2000, p.4-15 ) terdapat 4 aktivitas utama dalam OOAD, yaitu Problem Domain Analysis, Application Domain Analysis, Architectural Design, dan Component Design.
48
Requirement For use Problem domain analysis
Application domain analysis
Component design Specifications of components
model
Specifications of architecture Architectur al design
Gambar 2.2 Aktivitas Utama dalam OOAD ( Mathiassen et al, 2000, p15 & p332 )
2.7.2.2 System Definition Menurut Mathiassen et al ( 2000, p24), “System definition adalah a conscise description of a computerized system expressed in natural language.” Diterjemahkan bahwa system defenition adalah sebuah
deskripsi
terkomputerisasi yang dijelaskan dalam bahasa natural.
teratur
dari sistem
yang
49 Terdapat tiga subaktivitas yang harus dilakukan untuk membuat system definition, yaitu usaha untuk mendapatkan pandangan menyeluruh dari situasi, membuat, dan mengevaluasi ide – ide untuk pendesainan sistem, dan diakhiri dengan memformulasi dan mengevaluasi system definition sesuai dengan situasi yang ada ( Mathiassen et al, 2000, p25 ).
2.7.2.3 Factor Criterion Menurut Mathiassen et al ( 2000, p39-40 ) menulis terdapat enam elemen kriteria FACTOR, yaitu : 1. Functionality : fungsi – fungsi sistem yang mendukung tugas – tugas Application Domain. 2. Application Domain : bagian dari organisasi yang mengatur, memonitor atau mengontrol suatu Problem Domain. 3. Conditions : kondisi dimana suatu sistem dikembangkan dan digunakan. 4. Technology : teknologi yang digunakan untuk mengembangkan sistem dan teknologi saat sistem dijalankan. 5. Objects : object – object utama di dalam Problem Domain 6. Responsibility : tanggung jawab seluruh sistem dalam hubungannya dengan konteks.
2.7.2.4 Rich Picture Menurut Mathiassen et al. (2000, p26), “ rich picture adalah sebuah gambaran informal yang digunakan oleh pengembang sistem untuk menyatakan pemahaman mereka terhadap situasi dari sistem yang sedang berlangsung. Rich picture
dapat
50 digunakan juga sebagai alat yang berguna untuk memfasilitasi komunikasi yang baik antara pengguna dalam sistem.
2.7.3 Problem Domain Analysis Menurut Mathiassen et al ( 2000, p45 ),”problem domain adalah bagian dari konteks yang diatur, dimonitor, atau dikendalikan oleh sistem. Analisis problem domain memfokuskan pada informasi apa yang harus ditangani oleh sistem dan menghasilkan sebuah model yang merupakan gambaran dari kelas - kelas, objek - objek, struktur dan perilaku (behaviour) yang ada dalam problem domain.”
System definition
Classes
Behaviour
Structure
Gambar 2.3 Aktifitas Problem domain ( Mathiassen et al , 2000 , p46 )
model
51 2.7.3.1 Class Menurut Mathiassen et al ( 2000, p53 ), ”Classes is a description of collection of objects sharing structure, behaviored pattern, and attributes”. Class adalah gambaran atau definisi kumpulan objek yang mempunyai structure, behaviour pattern, dan attribute yang bersamaan. Class merupakan kegiatan yang pertama dilakukan di dalam analisis problem-domain. Menurut Mathiassen et al. (2000, p49-65) ”Kegiatan kelas merupakan kegiatan pertama dalam analisis problem domain. Ada beberapa tugas utama dalam kegiatan ini yaitu : abstraksi fenomena dari problem domain dalam objek dan event; klasifikasi objek dan event; pemilihan class dan event yang akan dipelihara informasinya oleh sistem”.
Gambar 2.4 Notasi dasar dari class (Mathiassen et al, p337-339)
Menurut Mathiassen et al (2000, pp53-55 ) untuk menjalankan aktivitas classes dapat dimulai dengan mengidentifikasikan kandidat / calon yang mungkin untuk classes dan events dalam model Problem Domain. Setelah itu, evaluasi dan pilih secara kritis classes dan events yang benar - benar relevan dengan konteks sistem.
52 2.7.3.2 Structure Tujuanya adalah untuk mendeskripsikan hubungan struktural antara class dan object. Sumber dari tahap ini adalah Class Diagram, yaitu diagram yang menyediakan gambar ikhtisar Problem Domain yang bertalian secara logis dengan menggambarkan seluruh hubungan stuktural antara classes dan objects di dalam model ( Mathiassen et al, 2000, pp69-70 ).
Gambar 2.5 Class Diagram Menurut Mathiassen et al ( 2000, p72-77 ) terdapat dua tipe structure dalam Object-Oriented, yaitu : 1. Class structure, mengekspresikan hubungan konseptual yang statis antar class. Hubungan statis ini tidak akan berubah, kecuali terjadi perubahan pada deskripsinya. Class structure dibagi menjadi dua macam, yaitu :
53 a. Generalization Structure, merupakan hubungan antara dua atau lebih subclass dengan satu atau lebih superclass ( Mathiassen et al, 2000, p72 ). Sebuah class yang umum ( superclass ) mendeskripsikan properti umum kepada group dari special class ( subclass ). Atau dengan kata lain, terjadi penurunan attributes dan behavior dari superclass, tetapi subclass juga diperkenankan untuk memiliki attributes dan behavior tambahan. Secara ilmu
bahasa,
generalization structure diekspresikan dengan formula “is a”.
Gambar 2.6 Generalization Structure ( Mathiassen et al, 2000, p73 )
b. Cluster, merupakan kumpulan dari class yang berhubungan ( Mathiassen et al, 2000, p74 ). Cluster digambarkan dengan notasi file folder yang melingkupi class – class yang saling berhubungan di dalamnya. Class – class dalam satu cluster biasanya memiliki hubungan berupa generalization atau aggregation. Sedangkan hubungan class dengan cluster yang berbeda biasanya berupa association structure.
54
Gambar 2.7 Notasi Class Structure ( Mathiassen et al, 2000, p337 )
Gambar 2.8 Cluster Structure (Mathiassen et al,2000,p75)
2. Object structure, mengekspresikan hubungan dinamis dan konkret antar object. Hubungan ini dapat berubah secara dinamis tanpa mempengaruhi perubahan pada deskripsinya. Biasanya terdapat multiplicity yang menspesifkasikan jumlah dari object yang berealisasi. Multiplicity dapat berupa string of numbers dan penyebaran internal dengan koma, seperti “0,3,7,9..,13,19..*”, “*” disebut many; dan 0..*. Ada 2 macam object structure yaitu :
55 a. Aggregation Structure, mendefinisikan hubungan antara dua atau lebih object. Sebuah superior object ( whole ) memiliki beberapa object ( parts ) ( Mathiassen et al, 2000, p72). Secara ilmu bahasa, aggregation structure dieskpresikan dengan formulasi “has a”, “a-part-of”, atau “is-owned-by”. Terdapat tiga tipe aggregation structure ( Mathiassen et al, 2000, p79 ) yaitu:
Whole part, dimana whole merupakan jumlah dari parts, sehingga jika salah satu parts dihilangkan maka secara tidak langsung telah mengubah whole.
Container-content, dimana whole adalah kontainer ( tempat tampung ) dari parts-nya, sehingga bila terdapat penambahan atau pengurangan terhadap isinya ( parts ), tidak akan mengubah pengertian whole-nya.
Union-member, dimana whole merupakan union /
gabungan yang
terorganisir 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. b. Association Structure, mendefinisikan hubungan antara dua atau lebih object, tetapi berbeda dengan aggregation ( Mathiassen et al, 2000, p76 ). Hubungan antar class-class pada aggregation mempunyai pertalian yang kuat sedangkan pada association tidak kuat. Secara ilmu bahasa, association structure diekspresikan dengan formulasi “knows” atau “associated-with”
56
Ket : a-d adalah multiplicity
Gambar 2.9 Notasi Object Structure ( Mathiassen et al, 2000, p337 )
Gambar 2.10 Association Structure ( Mathiassen et al, 2000, p77 )
2.7.3.3 Behavior Menurut Mathiassen et al. ( 2000, p89-110 ), kegiatan behavior adalah kegiatan terakhir dalam analisa problem-domain, bertujuan untuk memodelkan apa yang terjadi (perilaku dinamis) dalam problem-domain sistem sepanjang waktu. Tugas utama dalam kegiatan ini adalah menggambarkan pola perilaku (behavioral pattern) dan attribute dari setiap kelas. Hasil dari kegiatan ini adalah state chart diagram.
57 Customer
Account opened (date) Account closed (date)
name address balance
open
Account deposited (date, amount)
Account withdrawn (date, amount)
Gambar 2.11 State Chart Diagram
Behavioral Pattern dan Attributes. o Event trace: urutan event yang meliputi satu object yang spesifik. o Behavioral pattern: deskripsi urutan event yang memungkinkan untuk semua object dalam sebuah class.
Notasi untuk behavioral pattern. o Sequence: event yang terjadi satu per satu. Notasinya : “+”. o Selection: biasanya satu keluar pada saat event terjadi. Notasinya : “|”. o Iteration: sebuah event terjadi nol atau lain waktu. Notasinya : “*”.
Menggambarkan behavioral pattern. Behavioral pattern harus tepat dan sederhana.
Explore patterns. Ada 3 dasar behavior pattern: (1) the stepwise relation pattern, (2) the stepwise role pattern, (3) the composite pattern.
Menggambarkan struktur, class, dan attributes.
58 2.7.4 Application Domain Analysis Tahap ini mendefinisikan requirements dari suatu sistem. Application Domain merupakan bagian yang mengatur, memantau, atau mengontrol Problem Domain ( Mathiassen et al, 2000, p6 ). Atau dengan kata lain, berhubungan dengan aktivitas yang dikerjakan/dijalankan oleh sistem. Prinsip dari Application Domain Analysis adalah bekerja sama dengan user untuk menentukan usage, function, dan interface. Sumber dari aktivitas ini adalah system definition dan model dari tahap sebelumnya.
Gambar 2.12 Aktivitas dalam Application Domain Analysis ( Mathiassen et al, 2000, p117 )
2.7.4.1 Usage Menurut Mathiassen et al. ( 2000, p119-134 ), kegiatan usage merupakan kegiatan pertama dalam analisis application domain yang bertujuan untuk menentukan bagaimana aktor-aktor yang merupakan pengguna atau sistem lain berinteraksi dengan sistem yang dituju. Interaksi antara aktor dengan sistem tersebut dinyatakan dalam use case.
Use cases.
59 Use case adalah pola interaksi antara sistem dan aktor di dalam application domain. Use case dapat digambarkan dengan menggunakan spesifikasi use case, dimana use case dijelaskan secara singkat namun jelas dan dapat disertai dengan keterangan objek sistem yang terlibat dan function dari use case tersebut atau dengan diagram statechart karena use case adalah sebuah fenomena yang dinamik.
Menemukan actor dan use case. Actor adalah abstraksi dari user atau sistem lain yang berinteraksi dengan target sistem. Cara untuk mengidentifikasi actor adalah dengan mengetahui alasan actor menggunakan sistem. Masing-masing actor memiliki alasan yang berbeda untuk menggunakan sistem. Cara lainnya yaitu dengan melihat peran dari actor seperti yang dinyatakan oleh use case dimana actor tersebut terlibat. Masing-masing actor memiliki peran yang berbeda-beda. Setiap actor akan berkorespondensi dengan kelas dalam problem domin yang berbeda karena mereka memiliki pola behavioural objek yang berbeda-beda. Actor dapat digambarkan dalam spesifikasi actor yang memiliki 3 bagian yaitu tujuan, karakteristik, dan contoh dari actor tersebut. Tujuan merupakan peran
dari
actor
dalam
sistem
target.
Sementara
karakteristik
menggambarkan aspek-aspek yang penting dari actor.
Explore pattern. Use case pattern yang dapat digunakan untuk mengidentifikasi dan menggambarkan use case terdiri atas : (1) the procedural pattern, (2) the material pattern.
60
2.7.4.2 Functions Menurut Mathiassen et al. ( 2000, p137-146 ), kegiatan function memfokuskan pada bagaimana cara sebuah sistem dapat membantu aktor dalam melaksanakan pekerjaan mereka. Tujuan dari kegiatan function adalah untuk menentukan kemampuan sistem memproses informasi. Hasil dari kegiatan ini adalah sebuah daftar functionfunction yang merinci function-function yang kompleks. Daftar function harus lengkap, menyatakan kebutuhan kolektif dari pelanggan dan actor dan harus konsisten dengan use case.
Sistem functions. Function memiliki empat tipe yang berbeda yaitu : o Update, function ini disebabkan oleh event problem-domain dan menghasilkan perubahan dalam state atau keadaan dari model tersebut. o Signal, function ini disebabkan oleh perubahan keadaan atau state dari model yang dapat menghasilkan reaksi pada konteks. o Read, function ini disebabkan oleh kebutuhan informasi dalam pekerjaan actor dan mengakibatkan sistem menampilkan bagian yang berhubungan dengan informasi dalam model. o Compute, function ini disebabkan oleh kebutuhan informasi dalam pekerjaan actor dan berisi perhitungan yang melibatkan informasi yang disediakan oleh actor atau model, hasil dari function ini adalah tampilan dari hasil komputasi.
Menentukan functions.
61 Cara untuk mengidentifikasikan function adalah dengan melihat deskripsi problem domain yang dinyatakan dalam kelas dan event, dan melihat deskripsi application domain yang dinyatakan dalam use case. Kelas dapat menyebabkan munculnya function baca dan update. Event memungkinkan munculnya kebutuhan terhadap function update. Sementara use case dapat menyebabkan munculnya segala macam tipe function.
2.7.4.3 Interface Interface digunakan oleh aktor berinteraksi dengan sistem. Menurut Mathiassen et al ( 2000, p.151 ) menyatakan, “Interface is a facilities that make a system’s model and functions available to actor.” Dapat diartikan sebagai berikut : Interface adalah suatu fasilitas untuk membuat suatu sistem model dan fungsi-fungsi yang tersedia bagi aktor. Dari interface ini dapat dibuatlah navigation diagram yang berisi interface-interface sistem perusahaan dari awal login hingga logout. Adanya interface memungkinkan actor untuk berinteraksi dengan sistem. Sumber aktivitas berasal dari Class Diagram, Use Cases, dan Function List. Menurut Mathiassen et al (2000, p152) terdapat dua macam interface : 1. User interface, menghubungkan human actor (manusia) dengan sistem. Dalam merancang user interface dibutuhkan feedback dari user. Terdapat empat User Interface Pattern, yaitu : menu selection (diekspresikan sebagai daftar pilihan pada user interface), form filling (pola klasik untuk entri data), command langauage (dibutuhkan daya ingat user untuk mengoperasikan sistem), dan direct manipulation
62 (memungkinkan manipulasi langsung dengan representasi objects) (Mathiassen et al, 2000, p154-p155). 2. Sistem interface, menghubungkan system actor (sistem lain) dengan sistem yang sedang di-develop. Sistem lain bisa berupa : external device (misal : sensor, switch, dll) dan sistem komputer yang kompleks sehingga dibutuhkan suatu protokol komunikasi. Biasanya interface ini tidak dipakai untuk sistem administratif tetapi lebih sering untuk monitoring dan controlling system (Mathiassen et al, 2000, p163p164). Menurut Mathiassen et al. (2000, p152-170) interface menghubungkan sistem dengan semua actor yang berhubungan dalam konteks.
User dan System interfaces. Ada dua jenis dari interface atau antar muka yaitu : antar muka pengguna yang menghubungkan pengguna dengan sistem (user interface) dan antar muka sistem yang menghubungkan sistem dengan sistem yang lainnya (system interface).
Explore user-interface patterns. Terdapat empat jenis pola dialog yang penting dalam menentukan interface pengguna yaitu : o Pola menu-selection yang terdiri dari daftar pilihan yang mungkin dalam interface pengguna. o Pola fill in yang merupakan pola klasik untuk entry data o Pola command-language dimana user memasukkan dan memulai format perintah sendiri.
63 o Pola direct manipulation dimana user memilih objek dan melaksanakan function atas objek dan melihat hasil dari interaksi mereka tersebut.
Menentukan dan menggambarkan user-interfaces elements. Kegiatan analisis user interface ini berdasarkan pada hasil dari kegiatan analisis lainnya yaitu model problem domain, kebutuhan functional dan use case. Hasil dari kegiatan ini adalah sebuah deskripsi elemen-elemen interface pengguna dan interface sistem yang lengkap, dimana kelengkapan menunjukkan pemenuhan kebutuhan pengguna. Hasil ini harus dilengkapi dengan sebuah diagram navigasi yang menyediakan sebuah ringkasan dari elemen-elemen user interface dan perubahan antara elemen-elemen tersebut.
Explore system interface patterns. Penting untuk menspesifikasi semua element interface. (1) simple user interfaces, (2) advanced user interfaces.
2.7.5 Architecture Design Pada tahap ini, akan dilakukan penstrukturan sistem berdasarkan bagianbagiannya dan pemenuhan beberapa criteria desain. Tahap ini juga merupakan suatu framework bagi aktivitas pengembangan selanjutnya. Aktivitas architectural design bertujuan untuk menstrukturkan suatu sistem yang terkomputerisasi. Hasil yang diperoleh berupa struktur dari komponen-komponen dan proses-proses sistem. Tahap Architectural Design memiliki tiga subaktivitas yaitu (Mathiassen et al, 2000, p173) :
64
Gambar 2.13 Aktivitas dalam Architectural Design ( Mathiassen et al, 2000, p176 )
2.7.5.1 Criteria Menurut Mathiassen et al ( 2000, p176 ) menyatakan, tujuan dari sebuah criteria adalah untuk mempersiapkan prioritas dari sebuah perancangan. Aktivitas ini bertujuan untuk membuat desain. Desain yang bagus bukan hanya dinilai dari sifatnya, tetapi apabila terdapat kekurangan dapat menjadi tidak berguna dalam prakteknya. Tabel dibawah ini adalah beberapa kriteria umum yang digunakan dalam kegiatan desain yang berorientasi objek : Criteria
Ukuran dari
Usable
Kemampuan sistem untuk menyesuaikan diri dengan konteks, organisasi yang berhubungan dengan pekerjaan dan teknis.
Secure
Ukuran keamanan sistem dalam menghadapi akses
65 yang tidak terotorisasi terhadap data dan fasilitas. Efficient
Eksploitasi ekonomis terhadap fasilitas platform teknis.
Correct
Pemenuhan dari kebutuhan.
Reliable
Pemenuhan ketepatan yang dibutuhkan untuk melaksanakan fungsi.
Maintainable
Biaya
untuk
menemukan
dan
memperbaiki
kerusakan. Testable
Biaya untuk memastikan bahwa sistem yang dibentuk
dapat
melaksanakan
fungsi
yang
diinginkan. Fleksible
Biaya untuk mengubah sistem yang dibentuk.
Comprehensible
Usaha
yang
diperlukan
untuk
mendapatkan
pemahaman terhadap sistem. Reusable
Kemungkinan untuk menggunakan bagian sistem pada sistem lain yang berhubungan.
Portable
Biaya untuk memindahkan sistem ke platform teknis yang berbeda.
Interoperable
Biaya untuk menggabungkan sistem ke sistem yang lain. Tabel 2.2 Beberapa criteria dalam perancangan (Mathiassen et al, 2000, p178)
66 2.7.5.2 Component Architecture Menurut Mathiassen et al. (2000, p189-206), arsitektur komponen adalah sebuah struktur sistem yang terdiri dari komponen-komponen yang saling berhubungan. Komponen merupakan kumpulan dari bagian-bagian program yang membentuk suatu kesatuan dan memiliki fungsi yang jelas. Sebuah arsitektur komponen yang baik membuat sistem menjadi lebih mudah untuk dipahami, mengorganisasikan pekerjaan desain, menggambarkan stabilitas dari konteks sistem dan mengubah tugas desain menjadi beberapa tugas yang lebih tidak kompleks. Menurut Mathiassen et al ( 2000, pp193-198), terdapat beberapa pola umum yang dapat digunakan untuk mendesain suatu component architecture yaitu :
The Layered Architecture Pattern Arsitektur ini terdiri dari beberapa component yang didesain sebagai layers. Desain dari setiap component menggambarkan tanggung jawabnya masing-masing serta interface bagian atas maupun bagian bawah. Interface bagian atas akan menggambarkan operasi yang tersedia untuk layer dibawahnya.
67
<
> layer i+1
<> layer i+1
<> layer i+1
Gambar 2.14 Layered Architecture Pattern
The Generic Architecture Pattern Model komponen mengandung model dari sistem object, yang dapat berupa layer yang paling bawah, kemudian diikuti dengan layer sistem function, dan yang paling atas merupakan component interface. Layer bagian yaitu user interface dan system interface.
interface dapat dibagi menjadi dua
68 <> Interface
<> User Interface
<> System Interface
<> Function
<> Model
<> Technical Platform
<> UIS
<> DBS
<> NS
Gambar 2.15 The Generic Architecture Pattern
69
The Client Server Architecture Pattern Komponen dari arsitektur sebuah server dan beberapa clients. Server memiliki kumpulan operasi yang tersedia bagi client. Server bertanggung jawab untuk menyediakan hal-hal yang umum bagi client-nya, seperti database atau sumber daya lain yang bisa digunakan bersama. Server menyediakan operasinya bagi client melalui suatu jaringan. Client bertanggung jawab untuk menyediakan interface lokal bagi para user (Mathiassen et al, 2000, p197).
<> Client 1
<> Client 2
<> Client n
<> Server
Gambar 2.16 The Client –server Architecture
Ada beberapa jenis distribusi dalam client server architecture, seperti yang terlihat pada tabel 2.3 berikut ini:
70 Client
Server
Architecture
U
U+F+M
Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralized data
U+F+M M
Distributed data
Tabel 2.3 Jenis distribusi pada Client Server Architecture ( Mathiassen et al, 2000, p200 ) 2.7.5.3 Process Architecture Menurut Mathiassen et al. ( 2000, p209-227 ), Arsitektur proses adalah struktur dari eksekusi sistem yang terdiri dari proses-proses yang saling tergantung. Untuk mengeksekusi atau menjalankan sebuah sistem dibutuhkan processor. Sedangkan external device adalah processor khusus yang tidak dapat menjalankan program. Arsitektur proses harus dapat memastikan bahwa sistem dapat dijalankan secara memuaskan dengan menggunakan processor yang telah tersedia. Objek-objek yang terlibat dalam sistem berorientasi objek yang berjalan dapat dibagi menjadi dua yaitu : active objek yang telah diberikan sebuah proses dan aktif selama sistem dijalankan; dan komponen program, sebuah modul fisik dari kode program yang pasif selama eksekusi sistem kecuali pada saat dipanggil sebagai bagian dari eksekusi proses sampai eksekusi proses tersebut selesai dijalankan. Sumber daya yang pada umumnya digunakan secara bersama, yaitu :
Processor
71 Terjadi apabila ada dua atau lebih proses yang dieksekusi secara bersamaan pada satu processor.
Program component Terjadi bila terdapat dua atau lebih proses yang secara bersamaan memanggil operasi pada komponen.
External device Misalnya, pada penggunaan printer yang terhubung melalui network. Beberapa pola distribusi dalam kegiatan desain process architecture :
1) Centralized pattern Mengacu pada Mathiassen et al. (2000, p215), pada pola ini semua data ditempatkan pada server dan client hanya menghandle user interface saja. Keseluruhan model dan semua fungsi bergantung pada server, dan client hanya berperan seperti terminal. Gambar 2.17 mengilustrasikan pola ini.
Gambar 2.17 Deployment Diagram untuk Centralized Pattern
72
2) Distributed pattern Mengacu pada Mathiassen et al. (2000,p217) pola ini merupakan kebalikan dari centralized pattern. Pada pola ini, semua didistribusikan kepada client dan server hanya diperlukan untuk melakukan update model diantara clients. Gambar 2.18 mengilustrasikan pola ini.
Gambar 2.18 Deployment Diagram untuk Distributed Pattern 3) Decentralized pattern Mengacu pada Mathiassen et al ( 2000, p219 ) pola ini dapat dikatakan merupakan gabungan dari kedua pola sebelumnya. Pada pola ini, client mengimplementasikan model yang lokal, sedangkan server akan memakai model common (umum). Gambar 2.19 mengilustrasikan pola ini.
73
Gambar 2.19 Deployment Diagram untuk Decentralized Pattern 2.7.6 Component Design Menurut Mathiassen et al. ( 2000, p231-233 ), Desain komponen bertujuan untuk menentukan implementasi kebutuhan dalam rangka kerangka arsitektural. Kegiatan desain komponen bermula dari spesifikasi arsitektural dan kebutuhan sistem, sedangkan hasil dari kegiatan ini adalah spesifikasi dari komponen yang saling berhubungan.
Gambar 2.20 Subaktivitas dalam Component Design
74 ( Mathiassen et al, 2000, p232 )
Kegiatan
Isi
Konsep
Model component
Bagaimana model dipresentasikan Model sebagai
kelas
didalam
komponen
dan
sebuah attribute
sistem? Function component
Bagaimana
fungsi-fungsi Function
diimplementasikan?
komponen
dan
operation
Connecting
Bagaimana komponen-komponen Component dan connection
component
dihubungkan? Tabel 2.4 kerangka component design
2.7.6.1 Model Component Menurut Mathiassen et al. ( 2000, p236 ), Model component adalah bagian dari sistem yang mengimplementasi model problem domain. Tujuan dari komponen model adalah untuk mengirimkan data sekarang dan historic ke function, interface dan pengguna dan sistem yang lain. Konsep utama dalam desain komponen model adalah struktur. Hasil dari kegiatan komponen model adalah revisi dari class diagram dari kegiatan analisis. Kegiatan revisi biasanya terdiri dari kegiatan menambahkan kelas, attribute dan struktur baru yang mewakili event.
75 2.7.6.2 Function Component Menurut Mathiassen et al ( 2000, p252 ), Function component adalah bagian sistem yang mengimplementasikan kebutuhan fungsional. Tujuannya adalah agar user interface dan komponen-komponen sistem lainnya dapat mengakses model. Sedangkan tujuan dari function component design adalah menentukan implementasi functions. Hasil dari kegiatan ini adalah class diagram dengan operations dan spesifikasi dari operations yang kompleks. Langkah pertama yang harus dilakukan adalah mendesain functions sebagai operations, yaitu mengidentifikasi tipe utama dari functions tersebut. Ada empat tipe functions (Mathiassen et al, 2000, pp255-260), yaitu : update, read, compute, dan signal. Patterns (pola) dapat membantu memilih functional design yang mana dapat digunakan dari beberapa pilihan yang dapat membantu merealisasikan functions sebagai kumpulan operations. Empat pola menurut Mathiassen et al ( 2000, pp260-264 ) adalah : a. Model Class Placement Pola ini menempatkan operation dalam model component class dan berguna ketika sebuah operation mengakses hanya sebuah single object atau struktur aggregation yang sederhana. Pola ini juga dapat digunakan ketika beberapa object terlibat namun hanya jika tanggung jawab operation tersebut dapat dengan jelas ditempatkan pada salah satu dari model class. b. Function Class Placement Pola ini digunakan ketika tanggung jawab operation tidak dapat dengan jelas ditempatkan dalam model class. Sebaliknya satu atau lebih functional-component
76 class dapat digambarkan dengan menempatkan operation yang merealisasikan function. c. Strategy Pola ini digunakan untuk mendefinisikan sekumpulan operations yang umum terenkapsulasi dan dapat dipertukarkan. d. Active Function Active signal function dapat direalisasikan sebagai operation yang secara permanen aktif dan berkala memberikan sinyal kepada interface. Active function ditempatkan sebagai active object dan performance-nya tergantung dari state pada model component.