BAB 2 LANDASAN TEORI
2.1 Sistem Informasi Akuntansi 2.1.1 Pengertian Sistem Informasi Akuntansi Menurut Bodnar et al. (2001, p.1) “Sistem Informasi Akuntansi adalah sebuah kumpulan sumber daya, seperti peralatan dan orang, yang dirancang untuk mengubah data keuangan dan data lainnya menjadi informasi. Informasi ini kemudian dikomunikasikan kepada berbagai pengambil keputusan. Sistem Informasi Akuntansi menampilkan perubahan ini apakah secara manual atau terkomputerisasi.” Menurut Romney et al. (2006, p.6) “Sistem Informasi Akuntansi adalah sebuah sistem yang mengumpulkan, mencatat, menyimpan dan memproses data untuk menghasilkan informasi bagi para pengambil keputusan.” Sedangkan menurut Wilkinson et al. (2000, p.7) “Sistem Informasi Akuntansi adalah struktur terpadu dalam sebuah entitas, seperti perusahaan bisnis, yang mempekerjakan sumber daya fisik dan komponen lainnya untuk mentransformasikan data ekonomi ke dalam informasi akuntansi, dengan tujuan untuk memuaskan kebutuhan informasi dari berbagai user yang bervariasi.” Jadi dapat disimpulkan bahwa Sistem Informasi Akuntansi adalah subsistem informasi dalam sebuah organisasi yang mengumpulkan informasi dari berbagai subsistem dengan menggunakan sumber daya yang ada dalam perusahaan kemudian
mengkomunikasikannya
kepada
8
subsistem
pengolah
informasi
9 organisasi agar menjadi informasi akuntansi yang berguna bagi para pengambil keputusan. 2.1.2 Komponen Sistem Informasi Akuntansi Menurut Romney et al. (2006, p.6) , ada 6 (enam) komponen dari sistem informasi akuntansi, yaitu : a) People yang mengoperasikan sistem dan menjalankan fungsi yang bervariasi. b) Procedures dan instructions, baik manual maupun otomatis terlibat dalam mengumpulkan, memproses, dan menyimpan data tentang aktivitas organisasi. c) Data tentang organisasi beserta proses bisnisnya. d) Software yang digunakan untuk memproses data organisasi. e) Information technology infrastructure, termasuk komputer beserta alatalat disekelilingnya, dan alat jaringan komunikasi yang digunakan untuk mengumpulkan, menyimpan, memproses, dan mengirimkan data serta informasi. f) Internal control dan security measures yang menjaga keamanan data dalam sistem informasi akuntansi
2.2 Sistem Informasi Akuntansi Penggajian 2.2.1 Pengertian Gaji Menurut Warren et al. (2005, p. 552) “Dalam akuntansi, istilah gaji diartikan sebagai jumlah total yang dibayarkan kepada karyawan atas jasa-jasa yang merek berikan selama suatu periode tertentu.”
10 Menurut Horngren et al. (2002, p. 430) “Gaji merupakan pendapatan yang jumlahnya dihitung per tahun, per bulan, atau per minggu, sedangkan upah merupakan pendapatan yang dihitung berdasarkan tarif per jam.” 2.2.2 Tujuan Sistem Informasi Akuntansi Penggajian Menurut Wilkinson et al. (2000, CD p.109), “Tujuan utama dari human resource management cycle adalah untuk memfasilitasi pertukaran kas dengan pegawai untuk jasa yang telah diberikan. Tujuan ini mempunyai sasaran khusus, seperti : 1. Untuk memastikan status, tarif pembayaran gaji, dan membayar pengurangan dari gaji pegawai yang diotorisasi. 2. Untuk membayar jasa aktual yang telah dilakukan. 3. Untuk mencatat, mengklasifikasikan, mendistribusikan, dan membuat laporan biaya yang berhubungan dengan pegawai secara tepat dan akurat. 2.2.3 Fungsi Terkait Wilkinson et al. (2000, CD p.110) mengemukakan bahwa fungsi-fungsi yang terkait dalam Human Resource Management Cycle adalah sebagai berikut : 1. Fungsi Personalia Bagian ini mempunyai tujuan utama untuk merencanakan, mengatur, dan mengkoordinasikan pegawai dalam organisasi. Fungsi personalia berada di bawah arahan Wakil Presiden bagian personalia. Bagian dari fungsi personalia ini ada : a. Perencanaan Personalia dan Kepegawaian (Employment and Personnel Planning) :
11 Unit perencanaan personalia dan kepegawaian berhubungan dengan rekruitmen dan pengujian karyawan yang prospektif, mempekerjakan karyawan terpilih, memastikan prosedur promosi dan pemecatan berjalan dengan baik, dan menentukan kebutuhan personalia di masa depan (baik dalam keahlian ataupun tingkatan). b. Keamanan dan Keuntungan (Safety and Benefits) : Unit ini bertanggung jawab atas keamanan dan kesehatan para pegawai, seperti halnya juga menyediakan lingkungan kerja yang nyaman bagi para pegawai. c. Hubungan Industrial (Industrial Relations) : Unit hubungan industrial bertanggung jawab dengan hubungan dengan serikat buruh dan organisasi yang berhubungan dengan pekerja lainnya. d. Pengembangan Pegawai (Employee Development) : Unit ini berhubungan dengan masalah pelatihan para pegawai dan pengembangan keahlian eksekutif para manajer. e. Administrasi Sumber Daya Manusia (Human Resources Administration) : Unit ini bertanggung jawab terhadap perencanaan kompensasi (gaji), asuransi grup, serta program lain yang relevan. Selain itu juga sebagai administrator dan mengatur data semua pegawai dan segala tindakan yang berhubungan dengan personalia lainnya. Karena itu unit administrasi sumber daya manusia (disebut juga administrasi personalia) adalah unit yang paling dekat dengan aktivitas penggajian.
12 2. Fungsi Keuangan / Akuntansi Tujuan dari manajemen keuangan dan akuntansi adalah yang berhubungan dengan pendanaan, data, informasi, perencanaan, dan mengatur sumber daya. Yang termasuk dalan fungsi ini antara lain :
Timekeeping : berfungsi untuk mengatur waktu dan mencatat kedatangan dari para pegawai.
Payroll : bertugas menyiapkan cek pembayaran, mengatur data penggajian, dan membuat laporan dan pernyataan yang berhubungan dengan penggajian.
Accounts payable : bertugas untuk membuat persetujuan terhadap disbursement voucher yang berhubungan dengan jasa karyawan.
Cash disbursements : bersama dengan kasir, bagian ini bertugas menandatangani dan mendistribusikan cek pembayaran.
Cost distribution : bertugas mengurus data yang menggambarkan detail biaya dari suatu produk.
General Ledger : bertugas mengatur semua assets, modal, biaya, dan akun pendapatan.
Sebagai catatan, unit timekeeping dan cost distribution biasanya ditemukan dalam perusahaan manufaktur.
13 2.2.4 Formulir Input untuk Sistem Informasi Akuntansi Penggajian 2.2.4.1 Forms of Input Menurut Wilkinson et al (2000, CD p.111), dokumen sumber yang biasanya digunakan pada manajemen jasa kepegawaian sebagai berikut : 1. Personnel action form Formulir ini untuk memberitahukan pihak-pihak yang terkait dengan kegiatan yang berhubungan dengan pegawai. Kegiatan ini termasuk keputusan pengangkatan karyawan baru, perubahan status, evaluasi performa kerja,
dan
masih
banyak
lagi. Formulir
memberitahukan departemen penggajian
mengenai
ini
yang
situasi atau
perubahan yang mempengaruhi status pembayaran pegawai. Kategori lainnya dari tindakan personalia mengenai pengurangan. Beberapa formulir tersebut dibuat oleh perusahaan dan beberapa oleh pihak pemerintah. Misalnya, Employee Withholding Allowance Certificate yang disediakan oleh Internal Revenue Service. Formulir ini menspesifikasikan perusahaan dengan nomor wajib pajak. Formulir ini untuk menghitung pajak penghasilan pegawai di perusahaan tersebut. 2. Time card (clock card) Kartu ini mencatat waktu aktual yang digunakan oleh karyawan pada lokasi kerja mereka. Pada formulir ini terdapat nama dan nomer karyawan, berikut dengan tanggal dari periode pembayaran yang diaplikasikan. Setiap kali pegawai masuk atau pulang, ia memasukkan kartu ke dalam time clock. Pada bagian bawah kartu terdapat
14 tandatangan supervisor. Formulir kehadiran lainnya termasuk time sheet yang digunakan oleh karyawan bulanan. 3. Job-time ticket Berbeda dengan time card, yang berfokus pada kehadiran di tempat kerja, job-time ticket berfokus pada pesanan kerja atau pada pekerjaan tertentu. Setiap kali karyawan upahan seperti buruh produksi, memulai dan mengakhiri pekerjaan, dia mencatat waktu pada kartu untuk pekerjaan tertentu. Seperti time card, kartu tersebut dimasukkan ke dalam time clock. Jika sesuai dengan tugas pegawai, ruang yang disediakan untuk memasukkan produktivitas dalam artian bagian yang diselesaikan selama waktu yang berlangsung. 4. Paycheck Bersama dengan voucher stub, merupakan dokumen akhir pada siklus manajemen sumber daya manusia. Paycheck yang pada umumnya disiapkan oleh komputer. Stub menunjukkan semua detail yang diperlukan, termasuk pembayaran uang lembur berikut dengan pengurangan dari gaji karyawan. Pertimbangan Desain Files dan Records Menurut Wilkinson (2000, p.110) dalam mendesain files dan records, beberapa pertanyaan mengenai manajemen data harus diajukan. Seperti misalnya, siapa yang menggunakan files tersebut dan untuk kepentingan apa, bagaimana files harus diatur dan diakses, dan berapa lama harusnya isi files ditahan. Jawaban dari pertanyaan-pertanyaan ini tergantung dari bagian mana yang membutuhkan aplikasi tersebut untuk
15 didesain. Mereka juga dipengaruhi oleh permintaan penyimpanan, efisiensi dalam maintenance file, dan aksesbilitas dalam penyimpanan data. 2.2.5 Aktivitas Sistem Informasi Akuntansi Penggajian Berdasarkan Romney et al. (2006, p. 495) ada tujuh aktivitas utama dalam sistem informasi penggajian, yaitu : 1. Meng-update master file penggajian Aktivitas pertama dalam proses penggajian ini meliputi peng-update-an master file penggajian untuk merefleksikan tipe variasi dari perubahan penggajian, apakah ada pegawai baru dipekerjakan, pemecatan, perubahan dalam tarif pembayaran, atau perubahan dalam pemotongan gaji. Departemen Sumber Daya Manusia (SDM) menyediakan informasi ini. Departemen SDM mempunyai akses online untuk melakukan perubahan terhadap master file penggajian. Pengecekan perubahan yang diperbolehkan, seperti pengecekan validitas pada angka karyawan dan tes yang layak untuk perubahan dilakukan, kemudian diaplikasikan ke seluruh transaksi perubahan penggajian. Catatan tentang pegawai yang berhenti atau dipecat harusnya tidak langsung dihapus saat itu juga, karena bagaimanapun juga untuk beberapa laporan akhir tahun, dibutuhkan data tentang semua karyawan yang bekerja pada saat tahun berjalan. 2. Meng-update tarif pajak dan pengurangan Aktivitas kedua adalah meng-update informasi mengenai tarif pajak dan pemotongan lainnya. Departemen penggajian membuat perubahan ini, tetapi perubahan ini biasanya jarang terjadi. Hal tersebut terjadi ketika departemen
16 penggajian menerima pemberitahuan perubahan dalam tarif pajak dan pengurangan lainnya dari kantor pajak dan perusahaan asuransi. 3. Memvalidasikan data waktu dan kehadiran Langkah ketiga adalah memvalidasikan data waktu dan kehadiran setiap karyawannya. Informasi ini datang dalam berbagai bentuk tergantung dari status pembayaran karyawan itu sendiri. Beberapa perusahaan menggunakan time card untuk mencatat waktu kedatangan dan kehadiran, time card ini juga meliputi total jam kerja dalam periode pembayaran. Beberapa perusahaan telah menggantikan time card kertas dengan electronic time clocks, karyawan tinggal menggesekkan kartu identitas pegawai melalui reader ketika mereka tiba dan pulang. Para supervisor juga mengawasi keterlibatan mereka dalam pekerjaan. Menggunakan insentif, komisi, bonus harus berhubungan dengan sistem penggajian dan sistem informasi penjualan dan siklus lainnya untuk mengumpulkan data yang digunakan untuk menghitung bonus. Skema bonus/insentif harus didesain secara realistis, sehingga tujuan bisa dicapai. Tujuan ini haruslah sejalan dengan tujuan perusahaan dan manajer harus mengawasi tujuan ini untuk memastikan bahwa tujuan tersebut pantas. 4. Menyiapkan gaji Departemen dimana pegawai bekerja menyiapkan data mengenai jam kerja dan masing-masing supervisor biasanya mengkonfirmasikan data tersebut. Pertama file transaksi penggajian diatur berdasarkan nomer karyawan. File yang telah diatur ini kemudian digunakan untuk menyiapkan cek pembayaran karyawan. Untuk setiap karyawan, catatan master file penggajian dan catatan korespoden transaksi terbaca dan pembayaran kotor dihitung, pembayaran kotor
17 merupakan fraksi dari pembayaran tahunan, dimana fraksi merefleksikan panjang dari periode pembayaran. Contoh, jika pembayaran dilakukan setiap bulan maka karyawan akan menerima seperduabelas (1/12) dari gaji tahunan mereka untuk setiap periode pembayarannya. Kemudian, semua pengurangan terhadap gaji dijumlahkan dan dikurangkan dari pembayaran kotor untuk mendapatkan jumlah pembayaran bersih. Pengurangan gaji ini biasanya terbagi dalam dua kategori yaitu pemotongan pajak dan pengurangan sukarela. Pemotongan Pajak meliputi pajak pendapatan yang dipotong dari jumlah gaji yang diterima, sedangkan pengurangan sukarela meliputi dana pensiun, asuransi kesehatan, dan kontribusi untuk amal. Ketika pembayaran bersih telah diperoleh, maka fields untuk pembayaran kotor, pengurangan dan pembayaran bersih untuk setiap catatan karyawan terupdate. Mengurus catatan pendapatan kumulatif yang akurat penting, karena pemotongan pajak penghasilan dan pemotongan lainnya diberhentikan maka perusahaan harus tahu kapan dan apa pemotongan untuk setiap karyawannya serta informasi ini dibutuhkan untuk memastikan jumlah pajak dan pengurangan lainnya telah dilaporkan ke kantor pajak, asuransi perusahaan dan organisasi lainnya. Informasi ini juga termasuk laporan bervariasi mengenai agensi-agensi yang berkepentingan. Akhirnya payroll register dan cek pembayaran karyawan dicetak. 5. Membayarkan gaji Setelah cek pembayaran disiapkan, payroll register dikirimkan ke departemen utang untuk di-review dan disetujui. Voucher pembayaran kemudian disiapkan untuk mengotorisasikan transfer dana dari akun perusahaan ke akun bank
18 penggajian. Cek gaji harus tidak disamakan dengan akun bank perusahaan yang reguler. Selain untuk kontrol, batas ancaman kerugian perusahaan berkurang dengan menggunakan akun penggajian yang terpisah. Hal ini juga memudahkan untuk merekonsiliasi penggajian dan mendeteksi masalah pada cek pembayaran. Voucher pembayaran dan payroll register kemudian dikirimkan ke kasir. Kasir akan me-review voucher pembayaran dan payroll register dan menyiapkan dan menandatangani cek untuk mentransfer dana ke dalam akun bank penggajian perusahaan. Kasir juga me-review, menandatangani dan mendistribusikan cek pembayaran karyawan. Kasir akan mengambil kembali cek pembayaran yang tidak di-klaim dari akun bank perusahaan. Hal ini untuk mencegah pembuatan dan distribusi cek pembayaran palsu. Daftar dari cek pembayaran yang tidak di-klaim dikirim ke departemen audit internal untuk investigasi lebih lanjut. Kemudian payroll register dikembalikan ke departemen penggajian, yang akan disimpan berdasarkan tanggal dengan time cards dan job-time tickets. Voucher pembayaran kemudian dikirimkan ke bagian akuntansi untuk meng-update jurnal umum. 6. Menghitung pajak dan keuntungan yang telah dibayar karyawan Karyawan membayar pajak penghasilan dan keuntungan untuk pegawai secara langsung. Hukum federal dan Negara bagian memerlukan agar pegawai memberikan kontribusi dari persentase tertentu dari gaji kotor setiap karyawan yang dipergunakan untuk dana asuransi kompensasi pengangguran. Selain itu, karyawan juga memberikan kontribusi untuk kesehatan, cacat, dan premi asuransi lainnya. Beberapa perusahaan menawarkan karyawan mereka rencana
19 keuntungan yang fleksibel, dimana karyawan akan ditanggung sebagian kecil asuransi kesehatan dan kontribusi pensiun, ditambah kredit keuntungan yang bisa digunakan untuk waktu liburan tambahan atau asuransi kesehatan tambahan. Menyediakan jasa tambahan ini tentunya akan menambah permintaan dari sistem penggajian itu sendiri. 7. Membayarkan pajak penghasilan dan pengurangan lain-lain Aktivitas terakhir adalah membayar kewajiban pajak penghasilan dan pengurangan sukarela untuk setiap karyawannya. Perusahaan harus secara periodik menyiapkan cek atau menggunakan transfer dana elektronik untuk membayar kewajiban pajak yang ada. Kantor pajak telah memberitahukan kapan waktu-waktu untuk pajak-pajak tertentu. Dana sukarela dari setiap karyawan digunakan untuk berbagai macam keuntungan, seperti rencana simpanan gaji, yang harus dibayarkan ke organisasi yang berwenang. 2.2.6 Information Output Berdasarkan Wilkinson et al. (2000, CD p.122), hasil informasi keluaran dari siklus manajemen sumber daya manusia ini ada 3 (tiga), yaitu : 1. Operational Listings, Statements, and Required Reports Salah satu dari output yang sering digunakan adalah payroll register. Berisikan data yang berhubungan dengan setiap karyawan untuk setiap periode pembayaran, tersusun dari pembayaran kotor hingga pembayaran bersih. Output
yang
berhubungan
lainnya
adalah deduction
register,
yang
menyediakan detail potongan dari setiap pegawai. Sedangkan cumulative earnings register menunjukkan saldo yang diperoleh hingga saat ini, dan bisa dalam tri wulan, untuk setiap pegawainya dan untuk keseluruhan karyawan.
20 Laporan kontrol yang bervariasi juga diperlukan. Contohnya adalah laporan yang menunjukkan nomer dari cek yang telah dicetak dan total saldo dari cek tersebut. Dibutuhkan juga laporan untuk pemerintah meliputi Jamsostek dan pajak penghasilan, ditambah variasi dari lainnya. Beberapa jatuh tempo setiap tiga bulan sekali, sementara lainnya setiap akhir tahun. 2. Inquiry Screens Sistem on-line memungkinkan personnel clerks dan lainnya untuk melihat data dalam catatan gaji pegawai secara individual maupun data personal. Pegawai juga dapat mengakses data mereka sendiri. Akses lainnya berhubungan dengan penggajian per departemen atau pendapatan kumulatif per departemen. 3. Managerial Reports Analisa yang bervariasi dari manajer yang berhubungan, seperti misalnya mengenai absensi, pembayaran lembur, turn over, komisi penjualan, dan biaya tenaga kerja tidak langsung. Salah satu analisa yang berguna adalah proyeksi gaji setiap bulan untuk tahun depan. Laporan lainnya yang sering membantu, antara lain : a. Survei tarif pembayaran rata-rata untuk setiap kategori pekerjaan, bila dibandingkan dengan perusahaan serupa. b. Laporan kekuatan personalia, menunjukkan tingkat jumlah pegawai dan perubahannya selama beberapa bulan terakhir. Labor distribution summary bisa disajikan dengan dua tujuan, yaitu sebagai dasar entry bagian akuntansi dan sebagai analisa untuk pihak manajemen.
21 Laporan tersebut menunjukkan saldo dari biaya jasa pegawai yang dikenakan dalam beberapa akun. Bagaimanapun juga, hal tersebut bisa termasuk detail biaya yang ditimbulkan setiap pegawai dan departemen dalam berbagai tugas. Laporan ini juga memisahkan antara biaya tenaga kerja langsung dan tidak langsung. 2.2.7 Data Management Menurut Wilkinson et al. (2000, CD p. 122) files yang dibutuhkan dalam menangani sumber daya manusia ini adalah : 1. Employee Payroll Master File File ini menunjukkan catatan atribut dan pendapatan dari karyawan. Hasil update-nya menunjukkan jumlah yang diterima dari cek pembayaran pada setiap akhir periode pembayaran. Umumnya, primary dan sorting key adalah nomer karyawan. Elemen data tambahan terdiri dari nama karyawan, nomer jamsostek, kode departemen, klasifikasi pembayaran, tarif gaji, tarif kerja lembur, status perkawinan, data mengenai pengurangan terhadap gaji, pendapatan yang diterima selama setahun, gaji kotor sampai tahun berjalan, dan gaji bersih hingga tahun berjalan. Sangat penting untuk menjaga catatan ini dan update-nya. Ketika pegawai menikah dan mengganti nama belakang mereka, seharusnya secara cepat hal ini muncul dalam catatannya. Ketika pegawai baru dipekerjakan, catatan mengenai pegawai baru sudah harus ada sebelum akhir periode pembayaran. Selain itu, jika seorang pegawai dipecat, catatan harus tidak dihapus dahulu hingga akhir tahun. Karena laporan akhir tahun terkadang membutuhkan data semua karyawan yang aktif selama tahun berjalan.
22 2. Personnel Reference and History File Sebagai sumber utama untuk data personalia dalam perusahaan, file ini melengkapi payroll master file. File ini berisikan data nonfinansial mengenai setiap karyawan. Seperti alamat karyawan, keahlian, jabatan pekerjaan, sejarah pendidikan, evaluasi performa, dan bahkan status keluarga. 3. Skills File File ini berisikan daftar persediaan keahlian yang dibutuhkan perusahaan, dan karyawan yang memiliki keahlian tersebut. Tipe file ini membuat perusahaan dapat mengalokasikan kandidat yang berkualitas ketika ada permintaan yang meningkat. 4. Time Record Transaction File Terdiri dari kopi semua time cards untuk setiap periode pembayaran. Dalam sistem berbasis komputer file ini disimpan dalam media magnetic untuk digunakan dalam proses penggajian. 5. Payroll Transaction File Dalam sistem manual file ini terdiri dari kopi setiap cek pembayaran, yang diatur menurut nomer order cek. Dalam sistem berbasis komputer file ini disimpan dalam media magnetic mirip dengan catatan dalam file transaksi pengeluaran cek. 6. Compensation Reference File Berisikan daftar tarif pembayaran dan level gaji untuk berbagai macam deskripsi pekerjaan.
23 7. Personnel Planning File Untuk menyediakan dasar bagi perencanaan kebutuhan masa depan personalia, perusahaan harus mengatur kumpulan informasi yang berhubungan dengan tren masa kini dan masa lalu dan juga proyeksi. File ini menunjukkan jumlah karyawan di setiap departemen selama 10 tahun terakhir, dan juga turnover untuk setiap departemennya. 2.2.8 Kesempatan Penggunaan Teknologi Informasi dalam Sistem Informasi Akuntansi Penggajian Dalam Romney et al. (2006, p. 498) dijelaskan bahwa “proses penggajian bisa dibuat lebih efisien dengam mengumpulkan data waktu dan kehadiran karyawan secara elektronik dibandingkan dengan menggunakan dokumen kertas. Hal ini dapat mengurangi waktu dan kesalahan yang potensial dalam pencatatan manual, memverifikasi, dan pada akhirnya memasukkan data waktu dan kehadiran karyawan. Contohnya, badge readers yang digunakan untuk mengumpulkan data job-time untuk karyawan produksi. Data ini kemudian secara otomatis masuk ke dalam sistem proses penggajian. Jam waktu elektronik bisa mengirimkan data waktu dan kehadiran langsung ke dalam program proses penggajian.” Selain itu James H. Hall (2004, p. 307) mengatakan bahwa “bentuk sistem pembayaran gaji dengan elemen-elemen real-time memberikan banyak keuntungan operasional, termasuk pengurangan jeda waktu antara terjadinya peristiwa dan pencatatan, kertas kerja, dan tenaga kerja klerikal. Bentuk ini juga membawa implikasi kontrol. Banyak pekerjaan yang dulunya dilakukan oleh tenaga manusia, sekarang dilakukan oleh komputer harus menghasilkan catatan yang memadai untuk verifikasi independen dan tujuan audit. Pada akhirnya, kontrol harus
24 didesain untuk melindungi akses yang tidak terotorisasi kepada data dan program komputer.” 2.2.9 Penggunaan Outsource Dalam Romney et al. (2006, p.503) dikatakan bahwa, “salah satu upaya untuk mengurangi biaya, beberapa perusahaan menggunakan biro jasa penggajian dan organisasi kepegawaian yang profesional. Biro jasa penggajian mengatur master file penggajian untuk setiap kliennya dan melakukan aktivitas penggajian. Sedangkan organisasi kepegawaian profesional tidak hanya melakukan proses penggajian tetapi juga menyediakan jasa manajemen sumber daya manusia seperti untuk administrasi kepegawaian. Ketika perusahaan menggunakan outsource, perusahaan mengirimkan data waktu dan kehadiran bersama dengan informasi mengenai perubahan yang ada kepada biro jasa penggajian atau organisasi kepegawaian profesional setiap akhir periode pembayaran. Kemudian data tersebut digunakan untuk menyiapkan cek pembayaran, laporan pendapatan, dan laporan penggajian. Biro jasa penggajian dan organisasi kepegawaian profesional biasanya disenangi oleh bisnis kecil dan menengah untuk beberapa alasan :
Mengurangi biaya. Keuntungannya adalah dari skala ekonomi yang berhubungan dengan menyiapkan cek pembayaran untuk perusahaan besar. Mereka mengenakan biaya yang kurang dari biaya apabila penggajian dilakukan sendiri oleh perusahaan. Biro jasa penggajian juga memberikan keuntungan dengan mengeliminasi kebutuhan untuk mengembangkan dan mengurus keahlian yang dibutuhkan dengan perubahan hukum pajak yang berubah terus-menerus.
25
Memperluas keuntungan. Organisasi kepegawaian profesional memberikan keuntungan mengurus administrasi semua klien mereka. Sehingga perusahaan kecil dapat memiliki keuntungan yang sama dengan perusahaan besar.
Membebaskan sumber daya komputer. Dengan menggunakan biro jasa penggajian atau organisasi kepegawaian profesional dapat mengurangi satu atau lebih aplikasi sistem informasi akuntasi (manajemen keuntungan dan penggajian). Sumber daya komputer yang ada dapat digunakan untuk meningkatkan jasa dalam area lain seperti order penjualan. Ketika kompetisi meningkat khususnya pada keahlian dan pengetahuan
karyawan, maka efektivitas dan efisiensi dari manajemen penggajian dan fungsi manajemen sumber daya manusia menjadi sangat penting. Outsource bisa saja mengurangi biaya perusahaan, tetapi bagaimanapun juga perusahaan harus mengawasi secara hati-hati, untuk memastikan bahwa sistem dari outsource telah terintegrasi dengan data penggajian dan data pada bagian HRD untuk mendukung manajemen efektivitas dari karyawan. “ Tetapi menurut Cushing dan Romney (1998, p.949), “ada beberapa kerugian karena menggunakan biro jasa penggajian. Pertama, karena data penggajian secara fisik diurus oleh biro, klien mempunyai kontrol yang lemah terhadap data gaji tersebut, sehingga akan meningkatkan perhatian pada keamanan dari data itu sendiri. Kedua, jika permintaan klien adalah laporan spesial, contohnya permintaan untuk menyediakan informasi karyawan untuk kepentingan kontrol manajemen, biro jasa akan mengenakan biaya yang terpisah untuk jasa ini.
26 Ketiga, biro jasa ini bisa lambat dalam merespon permintaan klien akan laporan khusus atau jasa lainnya yang berbeda.”
2.3 Sistem Pengendalian Internal 2.3.1 Pengertian Sistem Pengendalian Internal Menurut Gelinas et al. (2005, p. 237) “Pengendalian Internal adalah suatu sistem dengan elemen terintegrasi – orang, struktur, proses, dan prosedur – yang bertindak untuk menyediakan jaminan yang masuk akal bahwa perusahaan akan mencapai tujuan proses bisnisnya.” Sedangkan menurut Romney et al (2006, p. 192) “Pengendalian Internal adalah suatu proses yang diimplementasikan oleh para direksi perusahaan, manajemen, dan mereka yang berada di bawah arahan untuk menyediakan jaminan yang masuk akal bahwa sasaran kontrol dari perusahaan akan tercapai.” Menurut Bodnar et al. (2004, p. 182) “Pengendalian Internal adalah sebuah proses – dipengaruhi oleh lingkungan direksi perusahaan, manajemen, dan personel lainnya – yang didesain untuk menyediakan jaminan yang masuk akal tergantung dari pencapaian tujuan dari kategori : (a) reliabilitas dari pelaporan keuangan, (b) efektivitas dan efisiensi dari operasi, dan (c) pemenuhan hukum dan aturan yang berlaku.” 2.3.2 Komponen Sistem Pengendalian Internal Berdasarkan Wilkinson et al. (2000, p. 235) ada lima komponen dalam sistem pengendalian intern antara lain sebagai berikut :
27 1. Control Environment Inti dari semua bisnis adalah orangnya – sifat masing-masing individu, termasuk integritas, nilai etika, dan kemampuan – lingkungan dimana mereka beroperasi. Mereka adalah alat yang mengendalikan organisasi dan merupakan dasar dari segala sesuatu. 2. Control Activities Prosedur dan kebijakan pengendalian harus ditetapkan dan dijalankan untuk membantu meyakinkan bahwa tindakan yang dilakukan oleh pihak manajemen untuk menanggulangi resiko dan untuk mencapai tujuan organisasi terlihat efektif. 3. Risk Assessment Perusahaan harus berhati-hati terhadap resiko yang dihadapi. Perusahaan harus membentuk suatu tujuan, yang digabungkan dengan penjualan, produksi, pemasaran, keuangan, dan aktivitas lainnya sehingga perusahaan dapat beroperasi dengan baik. Perusahaan juga harus menyusun sebuah mekanisme untuk mengidentifikasi, menganalisis dan mengatur resiko-resiko yang berhubungan dengan masing-masing bagian. 4. Information and Communication Yang mengelilingi aktivitas pengendalian adalah sistem informasi dan komunikasi. Mereka memungkinkan orang-orang dari perusahaan menerima dan saling bertukar informasi yang dibutuhkan untuk memimpin, mengatur, dan mengontrol operasi yang ada.
28 5. Monitoring Tujuan dari monitoring ini adalah untuk menilai kualitas Internal Control Structure overtime dengan memperhatikan aktivitas yang terus-menerus terjadi dan evaluasi terpisah yang dilakukan. Memonitor aktivitas yang terus-menerus terjadi meliputi supervision untuk karyawan dilakukan setiap hari, dan aktivitas memonitor terpisah meliputi audit Internal Control Structure dan accounting records dilakukan secara periodik. 2.3.3 Sistem Pengendalian Internal Penggajian 2.3.3.1 Tujuan Sistem Pengendalian Internal Penggajian Menurut Wilkinson et al. (2000, CD p. 126) tujuan dari sistem pengendalian internal penggajian adalah untuk memastikan bahwa : a. Semua jasa yang telah dilakukan oleh karyawan, termasuk jam kerja pada tugas tertentu seperti pekerjaan produksi, dicatat secara akurat dan tepat waktu. b. Semua karyawan dibayar berdasarkan kontrak kerja atau kebijakan lainnya. c. Semua cek pembayaran dihitung secara tepat, dengan tunjangan dan potongan gaji yang terotorisasi. d. Semua biaya untuk jasa karyawan didistribusikan ke akun yang sesuai dengan kebijakan akuntansi. e. Semua laporan yang dibutuhkan disiapkan secara lengkap dan akurat sesuai dengan hukum dan aturan yang berlaku serta diserahkan tepat waktu.
29 2.3.3.2 Ancaman dalam Sistem Pengendalian Internal Penggajian Menurut Romney et al. (2006, p.504) ada setidaknya 8 (delapan) ancaman dalam sistem informasi penggajian itu sendiri, yaitu : 1. Mempekerjakan karyawan yang tidak berkualitas dan suka mencuri Mempekerjakan karyawan yang tidak berkualitas bisa meningkatkan biaya produksi, dan mempekerjaan karyawan yang suka mencuri dapat menyebabkan pencurian terhadap aset. Kedua masalah ini dapat diatasi dengan melakukan prosedur mempekerjakan karyawan yang tepat. 2. Pelanggaran terhadap hukum tenaga kerja Pemerintah akan mengenakan hukuman pada perusahaan yang melanggar ketetapan hukum tenaga kerja. Organisasi bisa menjadi subjek dari tuntutan sipil karena diskriminasi tenaga kerja. Untuk kasus ini, prosedur kontrol yang tepat adalah mendokumentasikan semua tindakan secara
hati-hati dalam
mengiklankan,
merekrut, dan
mempekerjakan pegawai baru dan pemecatan karyawan yang dapat digunakan sebagai bukti terhadap aturan pemerintah. 3. Perubahan yang tidak terotorisasi terhadap master file penggajian Perubahan yang tidak terotorisasi dapat menyebabkan peningkatan biaya jika gaji, komisi, dan tarif lainnya digunakan untuk menentukan kompensasi karyawan disalahgunakan. Masalah ini akan menghasilkan laporan yang tidak akurat pada biaya tenaga kerja, yang akan membawa kita untuk mengambil keputusan yang salah. Pembagian tugas yang tepat adalah kunci prosedur kontrol yang tepat untuk mengatasi masalah ini.
30 4. Ketidak akuratan data waktu Ketidak akuratan dari catatan waktu dan kehadiran bisa menimbulkan meningkatnya biaya tenaga kerja dan membuat laporan biaya tenaga kerja yang salah. Lebih dari itu, ketidak akuratan bisa menyakiti moral karyawan (jika cek pembayaran terlambat atau hilang) atau hasil pembayaran untuk jasa tenaga kerja tidak dibuat. Otomatisasi bisa mengurangi masalah ketidak akuratan dalam data waktu. Badge readers dan barcode scanners bisa digunakan untuk mengumpulkan data waktu kehadiran. Pembagian tugas yang tepat bisa mengurangi ketidak akuratan yang disengaja. Semua perubahan harus mendapat persetujuan supervisor yang tepat. Data time clock, bisa juga digunakan untuk merekonsiliasi data job-time ticket untuk kepentingan manajerial dan pembiayaan. 5. Ketidak akuratan proses penggajian Kompleksitas proses penggajian, khususnya kepentingan berbagai macam pajak membuat proses ini mudah terjadi kesalahan. Kesalahan dapat menyakiti moral karyawan, khususnya jika cek pembayaran terlambat. Memproses laporan dan catatan biaya gaji yang salah dapat mengakibatkan
kegagalan
untuk
mengirimkan
penghasilan yang tepat kepada pemerintah.
jumlah
pajak
Kegagalan dalam
menghitung secara tepat tunjangan-tunjangan dan potongan gaji dan membayarkan ke pihak yang berwenang juga dapat memberikan hukuman bagi perusahaan.
31 6. Pencurian atau Kecurangan distribusi cek pembayaran Ancaman lainnya adalah pencurian cek pembayaran atau penerbitan cek pembayaran untuk karyawan yang sudah tidak bekerja lagi dalam perusahaan. Hal ini dapat menimbulkan peningkatan biaya dan kerugian terhadap kas. Hal ini dapat diatasi dengan prosedur kontrol sebagai berikut : -
Akses ke cek penggajian kosong dan ke mesin penanda tangan harus terbatas.
-
Semua cek pembayaran harus diberi nomer urut dan secara periodic harus dicek.
-
Kasir harus menandatangani semua cek pembayaran hanya ketika cek tersebut didukung dengan dokumentasi yang tepat (payroll register dan disbursement voucher).
-
Seseorang
yang
independen
dari
proses
penggajian
harus
merekonsiliasi akun bank penggajian. 7. Kerugian, Perubahan, dan Pengungkapan yang tidak terotorisasi terhadap data Database penggajian adalah sumber daya yang berharga yang harus dilindungi dari kerugian maupun perusakan. Prosedur back-up dan disaster-recovery menyediakan kontrol terbaik untuk mengurangi resiko dari kerugian data penggajian. File labels untuk internal dan eksternal harus digunakan untuk memastikan bahwa database tidak dengan sengaja dihapus atau diproses dengan program yang salah. Dua
32 kopi back-up dari master file penggajian dan files transaksi sekarang harus dibuat. 8. Performa yang jelek Hal yang dimaksud disini adalah tidak efisiennya dan tidak efektifnya performa dari karyawan. Menyiapkan dan me-review laporan performa dapat mengatasi masalah ini. Mengawasi secara seksama produktivitas karyawan adalah penting untuk memastikan bahwa mereka benar-benar bekerja pada saat jam kerja. Dan memastikan bahwa karyawan tidak menggunakan sumber daya komputer perusahaan untuk hal-hal lain. 2.3.3.3 Kontrol dalam Sistem Pengendalian Internal Penggajian Menurut James H. Hall (2004, p.302) dalam sistem pengendalian internal penggajian mempunyai kontrol meliputi : 1. 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. 2. Pembagian Tugas Fungsi timekeeping harus terpisah dari fungsi personalia. Departemen personalia menyediakan gaji dengan informasi tarif gaji. Mungkin saja
33 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. 3. Supervisi Area lain yang beresiko adalah timekeeping. Terkadang beberapa karyawan akan “clock in” untuk karyawan lain yang datang terlambat atau bahkan tidak datang. Supervisor harus mengobservasi proses clocking dan merekonsiliasi time cards dengan kehadiran aktual. 4. 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). 5. 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.
34 Mengontrol akses ke sumber dokumen dan catatan dalam sistem penggajian adalah penting. 6. Verifikasi independen Beberapa contoh verifikasi independent dalam sistem penggajian : a. Verifikasi waktu : sebelum mengirimkan time cards ke bagian penggajian, supervisor harus memverifikasi keakuratan dan menandatanganinya. 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. 7. Jurnal umum : departemen jurnal umum menyediakan verifikasi untuk semua proses dengan merekonsiliasi laporan distribusi tenaga kerja dan disbursement voucher penggajian. 2.3.3.4 Kontrol Aplikasi dalam Sistem Pengendalian Internal Penggajian Menurut Wilkinson et al (2000, CD p.127) terdapat beberapa prosedur kontrol yang dapat digunakan dalam transaksi jasa dan catatan karyawan : 1. Menyiapkan dokumen yang diberi nomer dan dirancang dengan baik yang berhubungan dengan pembayaran gaji dan pengeluaran kas. Juga, mencetak ulang time cards, dan job time tickets yang dapat digunakan, dengan nama dan nomer karyawan.
35 2. Memvalidasikan data pada catatan waktu ketika mereka dimasukkan ke dalam proses dengan melakukan cek seperti cek validitas pada nomer karyawan, cek limit dalam waktu bekerja, cek field pada kunci identifikasi dan data saldo, dan cek hubungan nomer karyawan dengan departemen yang berhubungan. 3. Memvalidasi hasil data yang diproses dengan pengecekan seperti sign check dan cross-foot balance check. Field net pay untuk setiap cek pembayaran harus diverifikasi dengan pengecekan sebelumnya untuk melihat tanda positif dan dengan pengecekan selanjutnya untuk melihat saldo sama dengan gross pay dikurangi semua pengurangan yang ada. 4. Memperbaiki error yang terdeteksi selama meng-entry data atau proses secepatnya dengan menggunakan prosedur perbaikan error. Bagian dari prosedur ini melibatkan pencetakan pengecualian yang sesuai dan laporan ringkasan selama perbaikan berjalan. Proses cek pembayaran menjadi tertunda hingga semua data transaksi yang error dan ketidaksesuaian telah diperbaiki. 5. Menerbitkan formulir aksi personalia untuk karyawan baru dan perubahan tarif gaji sebagai dasar otorisasi yang valid. 6. Merekonsiliasi jam yang direfleksikan dari job-time tickets (ketika digunakan) dengan waktu yang ditunjukkan pada kartu waktu kehadiran. 7. Menghitung dahulu total batch control dalam jam kerja, yang direfleksikan dalam time cards dan dengan saldo net pay, yang terdapat dalam payroll register. Membandingkan total batch ini dengan total
36 yang terkomputerisasi selama persiapan cek pembayaran dan selama meng-entry pada employee payroll master file. 8. Membuat cek pembayaran pada account bank yang berbeda dari account bank perusahaan. 9. Menahan cek pembayaran yang kosong untuk mencatat semua nomer cek pembayaran. 10. Melacak cek pembayaran yang tidak diklaim untuk memverifikasi pemilik sebenarnya dari cek pembayaran tersebut. 11. Me-review preliminary payroll register sebelum cek pembayaran dicetak untuk menentukan bahwa semua error telah diperbaiki. 12. Mencetak laporan rangkuman gaji periodic untuk meningkatkan jejak audit. Sebagai tambahan, semua kontrol yang berlaku untuk pengeluaran kas juga berlaku untuk penerbitan cek pembayaran.
2.4 Pajak Penghasilan Pasal 21 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. 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.
37 2.4.1 Wajib Pajak Penghasilan 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 7. Penerima Pensiun 8. Penerima Honorarium 9. Penerima Upah 2.4.2 Objek Pajak Pajak Penghasilan Pasal 21 Penghasilan yang dikenakan pemotongan PPh pasal 21 adalah : a. Penghasilan yang diterima atau diperoleh pegawai atau penerima pensiun secara teratur berupa gaji, uang pensiun bulanan, upah, honorarium (termasuk honorarium anggota dewan komisaris atau anggota dewan pengawas), premi bulanan, uang lembur, uang sokongan, uang tunggu, uang ganti rugi, tunjangan isteri, tunjangan anak, tunjangan kemahalan, tunjangan jabatan, tunjangan khusus, tunjangan transpot, tunjangan pajak, tunjangan iuran pensiun, tunjangan pendidikan anak, bea siswa, premi asuransi yang dibayar pemberi kerja, dan penghasilan teratur lainnya dengan nama apapun. b. Penghasilan yang diterima atau diperoleh pegawai, penerima pensiun atau mantan pegawai secara tidak teratur berupa jasa produksi, tantiem,
38 gratifikasi, tunjangan cuti, tunjangan hari raya, tunjangan tahun baru, bonus, premi tahunan, dan penghasilan sejenis lainnya yang sifatnya tidak tetap. c. Upah harian, upah mingguan, upah satuan, dan upah borongan yang diterima atau diperoleh pegawai tidak tetap atau tenaga kerja lepas, serta uang saku harian atau mingguan yang diterima peserta pendidikan, pelatihan atau pemagangan yang merupakan calon pegawai. d. Uang tebusan pensiun, uang Tabungan Hari Tua atau Jaminan Hari Tua, uang pesangon dan pembayaran lain sejenis sehubungan dengan pemutusan hubungan kerja. e. Honorarium, uang saku, 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 oleh Wajib Pajak orang pribadi dalam negeri. f. Gaji, gaji kehormatan, tunjangan-tunjangan lain yang terkait dengan gaji dan honorarium atau imbalan lain yang bersifat tidak tetap yang diterima oleh Pejabat Negara, Pegawai Negeri Sipil serta uang pensiun dan tunjangan-tunjangan lain yang sifatnya terkait dengan uang pensiun yang diterima oleh pensiunan termasuk janda atau duda dan atau anak-anaknya. 2.4.3 Pemotong Pajak Penghasilan Pasal 21 Menurut Mardiasmo (2003, p. 144) berikut ini adalah termasuk pemotong pajak PPh pasal 21 :
39 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 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.
40 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.4.4 Penghasilan Tidak Kena Pajak Besarnya Penghasilan Kena Pajak dari seorang pegawai dihitung berdasarkan penghasilan netonya dikurangin dengan Penghasilan Tidak Kena Pajak
(PTKP).
Berdasarkan
Peraturan
Menteri
Keuangan
Nomor
137/PMK03/2005 tanggal 30 Desember 2005, pemerintah melakukan penyesuaian besarnya PTKP yang diberlakukan sejak tahun pajak 2006 menjadi : 1. Rp. 13.200.000,00 (tiga belas juta dua ratus ribu rupiah) untuk diri Wajib Pajak Orang Pribadi. 2. Rp. 1.200.000,00 (satu juta dua ratus ribu rupiah) tambahan untuk Wajib Pajak yang kawin. 3. Rp. 13.200.000,00 (tiga belas juta dua ratus ribu rupiah) tambahan untuk seorang istri yang penghasilannya digabung dengan penghasilan suami. 4. Rp. 1.200.000,00 (satu juta dua ratus ribu rupiah) tambahan untuk setiap anggota keluarga sedarah dan keluarga semenda dalam garis keturunan lurus serta anak angkat yang menjadi tanggungan sepenuhnya, paling banyak 3 (tiga) orang untuk setiap keluarga.
41 2.4.5 Biaya Jabatan dan Biaya Pensiun Biaya jabatan adalah biaya untuk mendapatkan, menagih, dan memelihara penghasilan yang besarnya 5% dari penghasilan bruto, setinggi-tingginya Rp. 1.296.000,- setahun atau Rp. 108.000,- sebulan. Biaya pensiun adalah biaya untuk mendapatkan, menagih, dan memelihara uang pensiun yang besarnya 5% dari penghasilan bruto berupa uang pensiun setinggi-tingginya Rp. 432.000,- setahun atau Rp. 36.000,- sebulan. 2.4.6 Tarif Pajak Penghasilan Pasal 21 Sesuai dengan pasal 17 Undang-undang PPh, besarnya tarif pajak penghasilan bagi Wajib Pajak orang pribadi dalam negeri dapat dilihat dalam tabel 2.1 berikut ini :
Tabel 2.1 Tarif Pajak Penghasilan Pasal 21 Lapisan Penghasilan Kena Pajak Sampai dengan Rp. 25.000.000,00 Diatas Rp. 25.000.000,00 s.d. Rp. 50.000.000,00 Diatas Rp. 50.000.000,00 s.d. Rp. 100.000.000,00 Diatas Rp. 100.000.000,00 s.d. Rp. Rp. 200.000.000,00 Diatas Rp. 200.000.000,00
Tarif Pajak 5% (lima persen) 10 % (sepuluh persen) 15 % (lima belas persen) 25 % (dua puluh lima persen) 35 % (tiga puluh lima persen)
42 2.4.7 Cara Menghitung Pajak Penghasilan Pasal 21 Cara Menghitung PPh Pasal 21 atas Penghasilan Teratur Pegawai Tetap 1. a. Untuk menghitung PPh Pasal 21 atas penghasilan pegawai tetap, terlebih dahulu dicari seluruh penghasilan bruto yang diterima atau diperoleh selama sebulan, yang meliputi seluruh gaji, segala jenis tunjangan dan pembayaran teratur lainnya, termasuk uang lembur (overtime) dan pernbayaran sejenisnya. 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. Selanjutnya dihitung penghasilan neto setahun, yaitu jumlah penghasilan neto setulan dikalikan 12. b. Dalam hal seorang pegawai tetap dengan kewajiban pajak subjektifnya sebagai Wajib Pajak dalam negeri sudah ada sejak awal tahun, tetapi mulai bekerja setelah bulan Januari, maka penghasilan neto setahun dihitung dengan mengalikan penghasilan neto sebulan dengan banyaknya bulan sejak pegawai yang bersangkutan mulai bekerja sampai dengan bulan Desember dan menambahkan hasilnya dengan penghasilan neto yang diperoleh dalam masa-masa sefcelumnya dalam tahun yang sama yang diperoleh dari pemberi kerja sebelumnya sesuai dengan yang tercantum dalam bukti pemotongan PPh Pasal 21 (Form 1721 - A1), jika pegawai yang bersangkutan sebelumnya bekerja pada pemberi kerja lain. c. Selanjutnya dihitung Penghasilan Kena Pajak sebagai dasar penerapan tarif Pasal 17 UU PPh, yaitu sebesar Penghasilan neto setahun pada huruf a atau b di atas, dikurangi dengan PTKP. d. Setelah diperoleh PPn terutang dengan menerapkan tarif Pasal 17 UU PPh terhadap Penghasilan Kena Pajak sebagaimana dimaksud pada huruf c, selanjutnya dihitung PPh Pasal 21 sebulan, yang harus dipotong dan atau disetor ke kas negara, yaitu sebesar : -
jumlah PPh Pasal 21 setahun atas penghasilan sebagaimana dimaksud pada huruf a dibagi dengan 12; atau
-
jumlah PPh Pasal 21 setahun setelah dikurangi dengan PPh yang terutang dan telah diperhitungkan pada pemberi kerja sebelumnya sesuai yang tercantum dalam bukti pemotongan PPh Pasal 21, jika
44 pegawai yang bersangkutan sebelumnya bekerja pada pemberi kerja lain, dibagi dengan banyaknya bulan pegawai yang bersangkutan bekerja, atas penghasilan sebagaimana dimaksud dalam huruf b. 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 dijadiken penghasilan bulanan dengan mempergunakan faktor perkalian sebagai berikut : 1. Gaji untuk masa seminggu dikalikan dengan 4; 2. Gaji untuk masa sehari dikalikan dengan 26. b. Selanjutnya dilakukan penghitungan PPh Pasal 21 sebulan dengan cara seperti dalam angka 2 di atas. c. PPh Pasal 21 atas penghasilan seminggu dihitung berdasarkan PPh Pasal 21 sebulan dalam huruf b dibagi 4, sedangkan PPh Pasal 21 atas penghasilan sehari dihitung berpasarksn PPh Pasal 21 sebulan dalam huruf b dibagi 26. 4. Jika kepada pegawai di samping dibayar gaji bulanan juga dibayar kenaikan gaji yang berlaku surut (rapel), misalnya untuk 5 (lima) bulan, maka penghitungan PPh Pasal 21 atas rapel tersebut adalah sebagai berikut : a. rapel dibagi dengan banyaknya bulan perolehan rapel tersebut (dalam hal ini 5 bulan); b. hasil pembagian rapel tersebut ditambahkan pada gaji setiap bulan sebelum adanya kenaikan gaji, yang sudah dikenakan pemotongan PPh Pasal 21;
45 c. PPh Pasal 21 atas gaji urtuk 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 jurHah pajak yang dihitung berdasarkan huruf c dikurangi jumlah pajak yang telah dipotong sebagaimana disebut pada huruf b. 5. Apabila kepada pegawai di samping dibayar gaji yang didasarkan masa gaji kurang dari satu bulan juga dibayar gaji lain mengenai masa yang tebih lama dari satu bulan (rapel) seperti tersebut dalam angka 4, maka cara penghitungan PPh Pasal 21 nya adalah sesuai dengan yang telah ditetapkan datam angka 4 dengan memperhatikan ketentuan dalam angka 3.
Cara Menghitung PPh Pasal 21 atas Penghasilan Tidak Teratur 1. Apabila kepada pegawai tetap diberikan jasa produksi, tantiem, gratifikasi, bonus, premi, tunjangan hari raya, dan penghasilan lain semacam itu yang sifatnya tidak tetap dan biasanya dibayarkan sekali setahun, maka PPh Pasal 21 dihitljng dan dipotong dengan cara sebagai berikut : a. dihitung PPh Pasal 21 atas penghasilan teratur yang disetahunkan ditambah dengan penghasilan tidak teratur berupa tantiem, jasa produksi, dan sebagainya. b. dihitung PPh Pasal 21 atas penghasilan teratur yang disetahunkan tanpa tantiem, jasa produksi, dan sebagainya.
46 c. selisih antara PPh Pasal 21 menurut penghitungan huruf a dan huruf b adalah PPh Pasal 21 atas penghasilan tidak teratur berupa tantiem, jasa produksi, dan sebagainya. 2. Dalam hal pegawai tetap yang kewajiban pajak subyektifnya sudah ada sejak awal tahun, namun baru mulai bekerja setelah bulan Januari, maka PPh Pasal 21 atas penghasilan yang tidak teratur tersebut dihitung dengan cara sebagaimana pada butir 1 dengan memperhatikan ketentuan mengenai Penghitungan PPh Pasal 21 Bulanan atas Penghasilan Teratur pada butir A.1. angka 2 huruf b, c dan d di atas.
2.5 Object Oriented Analysis and Design 2.5.1 Object Berdasarkan Mathiassen et al. (2000, p. 4) pengertian object adalah suatu entitas yang memiliki identity, state, dan behavior. Sedangkan menurut Lau (2001, p.1) object merupakan abstraksi baik untuk hal-hal konseptual maupun fisik. Objek memiliki keadaan dan identitas yang melekat. Objek mencapai tingkah laku tertentu melalui suatu kumpulan operasi yang didefinisikan diawal, yang mana dapat masuk atau merubah keadaannya. 2.5.2 System Definition Menurut Mathiassen et al. (2000, p.24), “System definition adalah merupakan suatu gambaran secara umum dari sistem yang berjalan dalam perusahaan tersebut. Dan yang kita bahas dalam skripsi ini adalah sistem penggajian.
47 2.5.3 Pengertian Object Oriented Analysis and Design Mathiassen et al. (2000, p.9) menyatakan bahwa Object Oriented Analysis and Design merupakan suatu metode yang berguna untuk mengembangkan sistem yang mempunyai model problem domain dinamis seperti sebuah elemen kunci dan kemudian mencari pemecahan masalah yang logical yang berbasiskan objek. 2.5.4 Pengertian Object Oriented Analysis Berdasarkan Mathiassen et al. (2000, p. 8) mengemukan bahwa Object Oriented Analysis merupakan perpaduan antara fungsi dan orientasi data yang meliputi sebuah analisis dari entitas state untuk merubah hasil dari event di application domain yang lebih berfokus pada object, state, dan behavioral pattern yang dideskripsikan secara logis Object Oriented Analysis dibagi menjadi 3, yaitu : 2.5.4.1 System Choice Yaitu
sebuah
proyek
perkembangan
yang
bermula
dari
sekumpulan ide-ide tentang sistem yang diinginkan, analisis awal atau urutan-urutan keputusan yang sudah dibuat menjadi langkah pertama untuk mendapatkan sistem yang diinginkan. Meneliti kembali dan menimbangnimbang adalah pekerjaan utama dalam pengembangan sistem. Mengacu pada Mathiassen et al. (2000, p.25) rich picture adalah sebuah gambaran informal yang digunakan oleh pengembang sistem untuk menyatakan pemahaman mereka terhadap situasi dari sistem sedang berlangsung. Rich picture juga dapat digunakan sebagai alat yang berguna untuk memfasilitasi komunikasi yang baik antara pengguna dalam sistem. Rich picture difokuskan pada aspek-aspek penting dari sistem tersebut, yang ditentukan sendiri oleh pengembang sistem dengan
48 mengunjungi perusahaan untuk melihat bagaimana perusahaan tersebut beroperasi, berbicara, dengan banyak orang untuk mengetahui apa yang harus terjadi atau seharusnya terjadi, dan mungkin melakukan beberapa wawancara formal. Kriteria FACTOR terdiri dari 6 elemen yaitu :
Functionality : fungsi dari suatu sistem yang mendukung fokus application domain.
Application domain : bagian dari organisasi yang mengadministrasi, memonitor atau mengontrol problem domain.
Condition : dalam kondisi seperti apa sistem akan dibangun dan digunakan.
Technology : teknologi yang digunakan untuk menghasilkan sistem dan dengan teknologi seperti apa sistem akan berjalan.
Objects : objek utama dalam problem domain.
Responsibility : tanggung jawab keseluruhan sistem yang berhubungan dengan konteks.
2.5.4.2 Problem Domain Analysis Mengacu pada Mathiassen et al. (2000, p.45), problem domain adalah bagian dari konteks yang diatur, dimonitor atau dikendalikan oleh sistem.
Tujuan
dari
problem
domain
analisis
adalah
untuk
mengidentifikasikan dan membuat model dari problem domain. Tujuan dari aktivitas ini adalah membangun sebuah model yang dapat digunakan untuk merancang
dan
mengimplementasikan
sebuah
sistem
yang
dapat
49 memproses, berkomunikasi dan menyajikan informasi mengenai problem domain. Hasil dari problem domain analysis adalah membuat class diagram. Gambar 2.1 berikut ini adalah contoh class diagram. Karyawan -Kd_karyawan : String -Nama : String -Alamat : String -No_telp : String
Staff
Penjualan
Staff
-Kd_Staff_Penjualan
: String
Keuangan
-Kd_Staff_Keuangan
1
Staff : String
1
1
Staff
Pembelian
-Kd_Staff_Pembelian
: String
Produksi
-Kd_Staff_Produksi
1
1
1
: String
1 1 Faktur
1..* Faktur
1..*
Pemesanan
-Tanggal : Date -No_Faktur_Pemesanan : String -Kd_Staff_Penjualan : String -Kd_Pelanggan : String -Nama_Pelanggan : String -Kd_Barang : String -Nama_Barang : String -Kuantitas : Long -Harga_Barang : Long
1
1..*
1..* Tanda
-Tanggal : Date -No_Faktur_Penjualan : String -Kd_Staff_Keuangan : String -No_Faktur_Pemesanan : String -Kd_Pelanggan : String -Nama_Pelanggan : String -Kd_Barang : String -Nama_Barang : String -Kuantitas : Long -Harga_Barang : Long -Total : Long -Jumlah_Bayar : Long -No_KartuKredit : Long -Sisa_Utang : Long
1..* Surat
1..*
Pelanggan
-Kd_Barang : String -Nama_Barang : String -Harga_Barang : Long -Jumlah : Long
1..* : String
1
1
SuratPermintaanBarang
1..*
1 1
1 Bahan
SuratPermintaanProduksi -Tanggal : Date -No_Surat_Permintaan_Produksi -Kd_Staff_Pembelian : String -Kd_Barang : String -Nama_Barang : String -Jumlah_Produksi : Long
-Tanggal : Date -No_Surat_Permintaan_Barang -Kd_Staff_Penjualan : String -Kd_Barang : String -Nama_Barang : String -Jumlah : Long
-Tanggal : Date -No_Tanda_Terima : String -Kd_Staff_Pembelian : String -Kd_Staff_Produksi : String -Nama_Staff_Produksi : String -No_Nota : String -Kd_Bahan_Baku : String -Nama_Bahan_Baku : String -Jumlah_Bahan_Baku : Long
1
1
1
Terima
1
-Kd_Pelanggan : String -Nama_Pelanggan : String -Alamat_Pelanggan : String -Telp_Pelanggan : String -No_Kartu_Kredit : String -Sisa_Utang : Long
Barang
1
Order
-Tanggal : Date -Nomer_surat : String -Kd_Staff_Pembelian : String -Email_Supplier : String -Nama_Supllier : String -Alamat_Supplier : String -Telp_Supplier : String -Nama_Bahan_Baku : String -Jumlah_pesan : Long
1
1..*
1..*
Penjualan
: String
Gambar 2.1 Contoh Class Diagram
Baku
-Kd_Bahan_Baku : String -Nama_Bahan_Baku : String -Harga_Bahan_Baku : String -Jumlah_Bahan_baku : Long -Nama_Supplier : String -Email_Supplier : String -Alamat_Supplier : String -Telp_Supplier : String
50 Analisis problem domain memfokuskan pada informasi apa yang harus ditangani oleh sistem dan menghasilkan sebuah model yang merupakan gambaran dari kelas-kelas, object-object, struktur dan perilaku (behavior yang ada dalam problem domain). Dalam tabel 2.2 berikut ini dapat dilihat aktivitas pada Problem Domain Analysis. Tabel 2.2 Aktivitas pada Problem Domain Analysis Aktivitas Classes
Isi
Konsep
Objek dan event yang mana yang Class, object dan event merupakan bagian dari problem domain?
Structure
Bagaimana kelas dan objek secara Generalization, konseptual digabungkan bersama?
aggregation, association dan cluster
Behavior
Properti-properti
dinamik
yang Event trace, behavioral
mana yang seharusnya dimiliki pattern dan attribute objek?
2.5.4.2.1 Class Istilah class digunakan untuk menggambarkan kumpulan objekobjek. Menurut Mathiassen et al. (2000, p. 53), class adalah gambaran atau definisi dari kumpulan objek yang mempunyai structure, behavior pattern, dan atribut yang bersamaan. Menurut Bennet et al. (2002, p.591) class adalah deskripsi dari kumpulan objek yang secara logis serupa sehubungan dengan behavior dan struktur datanya.
51 Mengacu pada Mathiassen et al. (2000), kegiatan class merupakan kegiatan pertama dalam analisis problem domain. Ada beberapa tugas dalam kegiatan ini, yaitu : abstraksi fenomena problem domain dengan melihatnya sebagai objek dan event, klasifikasi objek dan event tersebut, dan memilih kelas dan event dari sistem yang akan dipelihara informasinya. Classes merupakan kegiatan utama untuk mendefinisikan dan membatasi problem domain. Classes bertujuan untuk memilih elemen-elemen dari suatu problem domain. Classes terdiri dari tiga bagian, yaitu : 1. Nama Class, setiap class harus mempunyai nama untuk dibedakan dari suatu class yang lain. 2. Attribute, merupakan kepemilikan deskriptif dari class atau event. Setiap class boleh memiliki beberapa attribute atau sebagian saja. 3. Operation, merupakan proses kepemilikan yang spesifik di dalam class dan diaktifkan melalui class object. Kegiatan class akan menghasilkan suatu event table. Dimensi horizontal dari event table menggambarkan class yang akan dipilih, sedangkan dimensi vertikal menggambarkan event yang terpilih, tanda cek digunakan untuk mengindikasikan objek dari kelas yang berhubungan dalam event tertentu. 2.5.4.2.2 Structure Menurut Mathiassen et al. (2000, p. 69), structure merupakan kegiatan kedua dalam problem domain. Tujuan dari structure adalah untuk mencari hubungan structural antara kelas-kelas dan objek-objek dalam
52 problem domain. Hasil dari kegiatan structure adalah membuat class diagram. Menurut Mathiassen et al. (2000, p.336), class diagram menggambarkan kumpulan dari kelas-kelas dan merupakan hubungan yang terstruktur. Menurut Mathiassen et al. (2000, p. 73-77), tipe dari Object Oriented Structure terdiri dari dua bagian, yaitu : 1. Class structure, mengekspresikan hubungan konseptual yang statis antar class. Class structure dibagi menjadi dua bagian yang meliputi : a) Generalization : menjelaskan
sebuah kelas umum (super class)
property
pada
suatu
kelompok
kelas
yang khusus
(subclasses). Hubungan dalam generalization dapat dikatakan sebagai hubungan “is-a”, yang artinya subclass akan mempunyai attribute dan operation yang sama dengan superclasses. b) Cluster
:
sebuah
kumpulan
dari kelas-kelas
yang saling
berhubungan. Cluster digambarkan dengan notasi file forder yang di dalamnya terdapat kumpulan class yang berkaitan. Class-class yang ada pada cluster yang berbeda dihubungkan dengan hubungan association. 2. Object Structure menggambarkan hubungan yang dinamik dan konkret antara objek-objek dalam problem domain. Hubungan ini berubah secara dinamis tanpa mempengaruhi perubahan pada class description. Object structures terdiri dari dua bagian, yaitu :
53 a) Aggregation : objek superior (keseluruhan) yang terdiri dari sejumlah objek inferior (sebagian).
Hubungan aggregation
dirumuskan sebagai hubungan ”has-a” atau “is-part-of”. b) Association : hubungan yang penting antara sejumlah objek-objek. Hubungan
association
digambarkan
sebagai
garis
yang
menghubungkan class-class yang relevan. Association structure mendefinisikan hubungan antara dua buah objek atau lebih. Hasil dari aktivitas ini adalah membuat class diagram yang berisi class dengan hubungan struktur dengan class lainnya. 2.5.4.2.3 Behavior Menurut Mathiassen et al. (2000, p.90), kegiatan ketiga adalah kegiatan behavior yang bertujuan untuk memodelkan apa yang terjadi dalam sistem problem domain sepanjang waktu. Behavior bertujuan untuk membuat model yang dinamis dari problem domain. Hasil dari kegiatan behavior adalah membuat statechart diagram yang contohnya dapat dilihat dalam gambar 2.2 berikut ini. / dipesan
/ diproduksi
/ dibeli Proses
/ dicek
Gambar 2.2 Contoh Statechart Diagram Perilaku dari suatu objek ditentukan oleh urutan event (event trace) yang harus dilewati oleh objek tertentu sepanjang waktu. Contoh :
54 kelas nasabah harus melalui event trace sepanjang hidupnya yaitu : account opened – amount deposited – amount withdrawn – amount deposited – account closed. Mengacu pada pendapat Mathiassen et al. (2000, p. 93), ada tiga jenis notasi dalam behavioral pattern, yaitu : 1) Sequence : sekumpulan event muncul satu per satu. 2) Selection : terjadi pemilihan satu event dari sekumpulan event yang muncul . 3) Iteration : sebuah event muncul sebanyak nol atau beberapa kali. 2.5.4.3 Application Domain Analysis Menurut Mathiassen et al. (2000, p. 117), application domain adalah organisasi yang mengatur, memonitor, atau mengendalikan problem domain. Analisis application domain memiliki tiga kegiatan yang dapat dilihat dalam tabel 2.3 berikut ini :
Tabel 2.3 Aktivitas pada Application Domain Aktivitas Usage
Isi
Konsep
Bagaimana sistem berinteraksi dengan Use case dan actor orang dan sistem dalam konteks?
Functions
Apa
kemampuan
sistem
dalam Function
memproses informasi? Interfaces
Apa kebutuhan-kebutuhan tampilan Interface, user interface, layar yang sistem targetkan?
dan system interface
55 2.5.4.3.1 Usage Menurut Mathiassen et al. (2000, p.118), kegiatan usage merupakan kegiatan pertama dalam application domain analysis 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. Mathiassen et al. (2000, p.120) menyatakan bahwa, “use case adalah pola sistem untuk berinteraksi dengan aktor dalam application domain.”, sedangkan “actor adalah abstraksi dari pengguna atau sistem lain yang berinteraksi dengan sistem target. Tujuan dari application domain analysis adalah untuk menganalisis kebutuhan dari pengguna sistem. Prinsip dari aktivitas ini adalah : -
Menentukan application domain dengan use case.
-
Mengevaluasi use case dalam kerjasama dengan user. Hasil dari usage adalah deskripsi lengkap dari semua use case dan
actor yang ada, yang digambarkan dalam actor table dan use case diagram. Use case diagram adalah diagram yang menggambarkan fungsi dari sebuah sistem dan berbagai macam pengguna yang akan berinteraksi dengan sistem. Untuk mengidentifikasikan actor adalah dengan menentukan bagian dan tugas dari bagian apa saja yang berhubungan atau terlibat langsung dengan konteks sistem yang dituju. Masing-masing actor memiliki peranan yang berbeda. Actor yang digambarkan dalam actor specification yang memiliki tiga bagian, yaitu tujuan, karakteristik, dan
56 contoh. Tujuan menunjukkan peranan dari actor dalam sistem target, sedangkan karakteristik menggambarkan aspek-aspek yang penting dari actor. Use case dapat dikatakan gambaran suatu interaksi antara sistem dengan actor. Untuk menggambarkan suatu use case dapat menggunakan statechart diagram, use case specification atau keduanya. Use case specification terdiri dari tiga bagian, yaitu use case, objects dan function. Use case menjalankan urutan dari sistem yang berjalan, objects menunjukkan actor apa saja yang berhubungan dengan aktivitas use case tersebut, dan function akan dijelaskan setelah usage. Dibawah ini adalah contoh use case diagram dapat dilihat pada gambar 2.3.
57 Sistem Penjualan Barang dan Pemesanan Bahan Baku PT. XYZ * Login Karyawan * * * *
Pendaftaran Pelang gan
* *
Staff_Keuangan
* ** Penjualan Barang * Staff_Penjualan
*
Pengecekan Barang Gudang Penjualan
*
*
*
*
Pembayaran Barang
Staff_Pembelian Pengecekan Barang Gudang Produksi
*
Pembelian Bahan Baku *
Gambar 2.3 Contoh Use Case Diagram Sequence Diagram Menurut Bennet et al., sequence diagram membantu seorang analis untuk mengidentifikasikan rincian dari kegiatan yang dibutuhkan untuk menjalankan fungsi dari sebuah use case. Tidak ada suatu sequence diagram yang tepat untuk use case tertentu, melainkan ada beberapa kemungkinan sequence diagram yang masing-masing dari diagram tersebut dapat lebih atau kurang dalam memenuhi kebutuhan dari use case. Gambar 2.4 berikut ini memperlihatkan contoh sequence diagram.
58
Faktur Pemesanan
Pelanggan
Barang
Staff_Penjualan 1.memasukkanKodePelanggan() 2.getDataPelanggan()
3.checking() 4.DataPelanggan()
5.memasukkanKodeBarang() 6.getDataBarang()
7.checking() 8.DataBarang() 9.mencetakFakturPemesanan() 10.()
Gambar 2.4 Contoh Sequence Diagram 2.5.4.3.2 Function Menurut Mathiassen et al. (2000, p.138) kegiatan function memfokuskan pada bagaimana cara sebuah sistem dapat membantu aktor dalam melaksanakan pekerjaan mereka. Function memiliki 4 tipe yang berbeda, yaitu : 1. Update, function ini disebabkan oleh event problem domain dan menghasilkan perubahan dalam state atau keadaan dari model tersebut. 2. Signal, function ini disebabkan oleh perubahan keadaan atau state dari model yang dapat menghasilkan reaksi pada konteks. Reaksi ini dapat berupa tampilan bagi aktor dalam application domain, atau intervensi langsung dalam problem domain.
59 3. Read, function ini disebabkan oleh kebutuhan informasi dalam pekerjaan aktor dan mengakibatkan sistem menampilkan bagian yang berhubungan dengan informasi dalam model. 4. Compute, function ini disebabkan oleh kebutuhan informasi dalam pekerjaan aktor dan berisi perhitungan yang melibatkan informasi yang disediakan oleh aktor atau model, hasil dari function ini adalah tampilan dari hasil komputasi. Hasil dari kegiatan function adalah function list yang lengkap, yang merinci function yang kompleks. Function list dibuat berdasarkan use case description. Kompleksitas function list dimulai dari yang simple hingga very complex. Untuk mengidentifikasikan function adalah dengan melihat deskripsi problem domain yang dinyatakan dalam kelas dan event yang dapat menyebabkan munculnya function read dan update, dan melihat deskripsi application domain yang dinyatakan use case yang dapat menimbulkan segala macam tipe function. 2.5.4.3.3 User Interface Menurut
Mathiassen
et
al.
(2000,
p.151)
interface
menghubungkan sistem dengan semua aktor yang berhubungan dalam konteks. Terdapat dua jenis interface, yaitu user interface yang menghubungkan pengguna (user) dengan sistem dan system interface yang menghubungkan sistem dengan sistem lainnya. Sebuah user interface yang baik, harus dapat beradaptasi dengan pekerjaan dan pemahaman user terhadap sistem. Kualitas user interface ditentukan oleh kegunaan atau usability interface tersebut bagi pengguna.
60 Usability tergantung pada siapa yang menggunakan dan situasi pada saat sistem tersebut digunakan. Oleh sebab itu usability bukan sebuah ukuran yang pasti dan objektif. Suatu user interface harus dapat
menangani berbagai macam
pengguna yang memiliki kemampuan dan kapabilitas yang berbeda. User interface sangat sulit untuk dikembangkan apabila tidak menerima umpan balik berupa ide yang berarti dari pengguna. Suatu system interface tidak hanya dapat digunakan untuk sistem administrasi tetapi dapat digunakan pada sistem-sistem lainnya. System interface lebih banyak digunakan pada monitoring system dan control system. Ada empat jenis dialog penting dalam menentukan user interface, yaitu : a) Menu-selection. Suatu jenis dialog yang terdiri dari daftar pilihanpilihan yang dapat atau mungkin dilakukan dalam user interface. b) Form filling. Merupakan pola klasik yang digunakan untuk mengentri data. c) Command
Language.
Merupakan
suatu
jenis
dialog
yang
memungkinkan pengguna memasukkan dan memulai format perintah sendiri. d) Direct Manipulation. Pengguna memilih objek dan melaksanakan function atas objek dan melihat hasil interaksi mereka tersebut. Kegiatan dari interface didasarkan atas hasil dari kegiatankegiatan sebelumnya yang dilakukan, problem domain, function dan use case. Hasil dari kegiatan ini adalah sebuah deskripsi dari elemen-elemen
61 user interface maupun system interface yang lengkap. Interface element harus juga dilengkapi dengan suatu navigation diagram yang menyediakan sebuah ringkasan dari elemen-elemen user interface dan perubahan antara elemen-elemen tersebut. 2.5.5 Pengertian Object Oriented Design Berdasarkan Mathiassen et al. (2000, p. 6) object oriented design menekankan pada pendefinisian software object yang diimplementasikan pada bahasa pemrograman. 2.5.5.1 Architecture Design Menurut Mathiassen et al. (2000, p. 175) Architecture design adalah merancang arsitektur secara garis besar yang terdiri dari komponen dan proses. Kegiatan architecture design bertujuan untuk membangun sistem yang terkomputerisasi. Arsitektur membentuk sistem sesuai dengan fungsi sistem tersebut dan dapat memenuhi criteria desain tertentu. Kegiatan-kegiatan yang dilakukan di dalam desain arsitektur dapat dilihat pada tabel 2.4 di bawah ini. Tabel 2.4 Kegiatan Architecture Design Kegiatan Criteria
Isi Kondisi
dan
Kondisi criteria
untuk Criterion
pendesainan. Component
Bagaimana sistem dibentuk menjadi Architecture component komponen-komponen.
Process
Bagaimana
process
sistem Architecture process
didistribusikan dan dikoordinasi.
62 2.5.5.1.1 Criteria Mathiassen et al. (2000) menyatakan bahwa tujuan dari sebuah criteria adalah untuk mempersiapkan prioritas dari sebuah perancangan. Konsep utama pada aktivitas criteria, yaitu :
Criteria : menentukan property yang diinginkan dari sebuah arsitektur.
Condition : hal-hal yang bersifat teknis, organisasional, kelebihan dan keterbatasan manusia yang terlibat dalam tugas. Criteria adalah suatu sifat istimewa dari sebuah arsitektur.
Aktivitas ini bertujuan untuk membuat desain. Desain yang bagus bukan hanya dinilai dari sifatnya, tetapi apabila terdapat kekurangan dapat menjadi tidakk berguna dalam prakteknya. Secara umum, desain yang bagus itu berguna, fleksibel, dan mudah dimengerti. Hasil dari kegiatan criteria adalah collection prioritized criteria. Desain yang baik tidak memiliki kelemahan Prinsip ini memperlihatkan tujuan utama dari object criteria design. Prinsip ini menimbulkan penekanan pada evaluasi kualitas berdasarkan review dan eksperimen dan membantu dalam menentukan prioritas dari kriteria. Ada beberapa kriteria umum yang digunakan dalam kegiatan desain yang berorientasi objek, yang ditunjukkan dalam tabel 2.5 dibawah ini. Tabel 2.5 Criteria Criterion Usable
Measure of Kemampuan sistem untuk menyesuaikan diri dalam konteks, organisasi yang berhubungan dengan pekerjaan dan teknis.
63 Secure
Ukuran keamanan sistem dalam menghadapi akses yang tidak terotorisasi terhadap data dan fasilitas.
Efficient
Eksploitasi ekonomis terhadap fasilitas platform teknis.
Correct
Pemenuhan dari kebutuhan.
Reliable
Pemenuhan ketepatan yang dibutuhkan dalam melaksanakan fungsi.
Maintainable
Biaya untuk menemukan dan memperbaiki kerusakan.
Testable
Biaya untuk memastikan bahwa sistem yang dibentuk dapat melaksanakan fungsi yang diinginkan.
Flexible
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.
Desain yang baik mempunyai criteria yang seimbang Tidak semua kriteria memiliki prioritas. Beberapa kriteria dapat menunjukkan objektivitas secara keseluruhan, sehingga dapat mewakili beberapa kriteria lainnya. Desain yang baik adalah usable, flexibility dan comprehensibility Kriteria ini bersifat universal dan dapat digunakan pada hamper setiap proyek pengembangan sistem, bagaimanapun mengorganisasikannya, menunjukkan tiga kriteria ideal pada proyek pengembangan sistem. Usable menspesifikasikan kualitas pada sistem yang pokok tergantung bagaimana cara kerjanya. Flexibility memuat sistem arsitektur merubah organisasi dan kondisi teknik. Sedangkan comprehensibility memberikan
64 peningkatan pada sistem terkomputerisasi, model dan deskripsi harus mudah untuk dipahami. 2.5.5.1.2 Component Architecture Menurut Mathiasssen (2000, p.191) component architecture adalah suatu struktur sistem yang terdiri dari komponen yang saling berhubungan
sehingga
sistem
menjadi
lebih
mudah
dimengerti,
menyederhanakan desain dan mencerminkan kestabilan sistem. Komponen merupakan kumpulan bagian-bagian program yang membentuk suatu kesatuan dan memiliki fungsi yang jelas. Tujuan dari component architecture ini adalah untuk membuat struktur sistem yang komprehensif dan fleksibel. Dengan aktivitas awalnya adalah dengan mengurangi tingkat kompleksitas dengan pemisahan fokus sistem, kemudian merefleksikan struktur konteks yang stabil, dan menggunakan komponen yang telah ada. Sedangkan hasil dari kegiatan ini adalah class diagram dengan spesifikasi dari komponen yang kompleks. Beberapa
pola
yang
dapat
digunakan
untuk
merancang
Component Architecture adalah sebagai berikut : 1) Layered architecture pattern Bentuk yang paling umum dalam software, yaitu terdiri dari beberapa komponen yang dibentuk menjadi beberapa lapisan-lapisan yang mirip dengan prinsip OSI Layer pada model jaringan, dimana lapisan yang berada di atas tergantung pada lapisan yang berada dibawahnya, begitu pula sebaliknya. Arsitektur ini sangat berguna untuk memecah sistem menjadi komponen-komponen.
65 2) Generic architecture pattern Pattern ini dapat digunakan untuk menguraikan sistem dasar yang terdiri dari interface, function, dan model component. Model component berada di layer yang paling bawah kemudian dilanjutkan oleh function layer dan yang paling atas adalah interface layer. 3) Client server architecture pattern Pattern ini dibangun untuk mengatasi sistem yang terdistribusi di beberapa proses yang tersebar. Arsitektur ini terdiri dari sebuah server dan beberapa client. Server memiliki kumpulan operation yang dapat digunakan oleh client. Client menggunakan server secara independent. Bentuk distribusi dari bagian sistem harus diputuskan antara client dan server. Identifikasi komponen, di dalam perancangan sistem atau subsistem, pada umumnya dimulai dengan layer architecture yang menggunakan interface, function dan model component. Berikut ini adalah beberapa jenis distribusi dalam arsitektur clientserver dimana U adalah user interface, F adalah function, dan M adalah Model, yang dapat dilihat dalam tabel 2.6. Tabel 2.6 Jenis Arsitektur client-server Client U
Server U+F+M
Architecture Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralized data
U+F+M
M
Distributed data
66 Hasil dari suatu component architecture adalah component diagram yang menunjukkan hubungan antara komponen (dalam hal ini adalah server dan beberapa client). 2.5.5.1.3 Process Architecture Process Architecture adalah struktur eksekusi sistem yang terdiri dari proses yang saling bergantungan. Tujuan dari aktivitas ini adalah untuk mendefinisikan struktur sistem. Menurut Mathiassen et al. (2000, p. 209) ada empat konsep yang harus diketahui diantaranya adalah : 1) Process architecture adalah struktur eksekusi sistem yang tersususn dari proses yang saling bergantungan. 2) Processor adalah sebuah peralatan yang dapat mengeksekusi sebuah program. 3) Program component adalah modul fisik dari kode program. 4) Active object adalah sebuah objek yang telah ditugaskan oleh sebuah proses. Pada process architecture, sumber daya yang digunakan secara bersama perlu diidentifikasikan untuk mencari bottleneck. Bottleneck artinya kemacetan yang terjadi pada proses. Seperti yang telah disebutkan bahwa untuk mencari bottleneck, kita perlu memperhatikan penggunaan processor, external device, tempat penyimpanan data atau juga sistem koneksi. Hasil dari process architecture adalah membuat deployment diagram. Menurut Mathiassen et al. (2000. p.220), sumber daya yang ada pada umumnya digunakan secara bersama adalah :
67 a) Processor. Penggunaan processor secara bersamaan terjadi apabila dua atau lebih proses yang dieksekusi secara bersamaan pada satu processor. b) Program component. Program component digunakan secara bersamaan apabila dua atau lebih proses yang secara bersamaan memanggil operasi pada komponen. c) External device. External device digunakan secara bersamaan pada saat terjadi pemrosesan dua atau lebih pada suatu peralatan. Contoh : penggunaan printer yang terhubung melalui jaringan.
2.5.5.2 Component Design Menurut Mathiassen (2000, p. 231) component design adalah menentukan
implementasi
kebutuhan
dalam
kerangka
arsitektural.
Kegiatan desain komponen berawal dari spesifikasi arsitektural dan kebutuhan sistem, sedangkan hasil dari kegiatan ini adalah spesifikasi dari komponen yang saling berhubungan. Berikut ini adalah beberapa kegiatan dari desain komponen dapat dilihat pada tabel 2.7 :
Tabel 2.7 Design Component Kegiatan Model component
Konteks Bagaimana
suatu
digambarkan
sebagai
Konsep model Model
component
dan
class attribute.
dalam sebuah sistem. Function component
Bagaimana
suatu
diimplementasikan.
function Function component dan operation
68 Connecting
Bagaimana
komponen- Component dan connection
component
komponen dihubungkan
2.5.5.2.1 Model Component Berdasarkan Mathiassen (2000, p. 235) model component adalah bagian dari sistem yang mengimplementasikan model problem domain. Tujuan dari kegiatan ini adalah untuk mengantarkan data historis dan sekarang ini kepada fungsi, interface dan kepada user dan sistem lainnya. Terdapat dua aktivitas utama dalam kegiatan model component ini adalah : 1) Merepresentasikan event sebagai classes, structures, dan attributes Class diagram dari aktivitas analisis direvisi dengan merepresentasikan secara sistematis event dari objek-objek dalam classes, structures, dan attributes yang baru. 2) Memilih representasi yang paling mudah dari events Jika common event hanya terlibat dalam iterasi saja, kita mungkin harus menguraikan dan membandingkan alternatif desain yang mendasar. Terdapat dua jenis events yang harus direpresentasikan, yaitu private events dan common events. Private events adalah events yang hanya terlibat dalam objek problem domain. Panduan untuk merepresentasikan private events :
Event yang muncul dalam sequence dan selection : a) Merepresentasikan event ini sebagai atribut state dalam class yang dideskripsikan dalam statechart diagram. Setiap satu event muncul, sistem akan memberikan nilai baru dari atribut state tersebut.
69 b) Mengintegrasikan atribut yang dari events yang terlibat dengan class.
Event yang muncul dalam iterasi : a) Merepresentasikan event ini sebagai class baru, mengikatkan mereka dengan class yang dideksripsikan dengan statechart diagram dengan menggunakan struktur agregasi. Untuk setiap iterasi, sistem akan menghasilkan objek baru dari class. b) Mengintegrasikan atribut event ke dalam class baru. Common events adalah events yang melibatkan beberapa objek.
Maka panduan untuk merepresentasikan common events adalah :
Jika events terlibat dalam statechart diagram dalam cara yang berbeda, representasikan hal tersebut dalam relasinya dengan class yang menawarkan presentasi yang paling sederhana.
Jika events terlibat dalam statechart diagram dalam cara yang sama, kita
harus
mempertimbangkan
kemungkinan
representasi
yang
berlawanan satu sama lain. Hasil dari aktivitas model component ini adalah versi revisi dari class diagram dari aktivitas analisis. Revisi ini biasanya terdiri dari penambahan class, atribut dan struktur baru untuk merepresentasikan events. 2.5.5.2.2 Function Component Menurut Mathiassen (2000, p. 252) function component adalah bagian dari sistem yang mengimplementasikan kebutuhan fungsional. Aktivitasi ini bertujuan untuk memberikan user interface dan komponen
70 sistem lainnya mengakses model dan menentukan implementasi dari fungsi. Terdapat dua aktivitas utama dalam function component ini, yaitu : 1. Membuat desain dari tipe-tipe fungsi Desain dari implementasi fungsi individual bisa berdasarkan dari pertanyaan dasar dari desain untuk setiap masing-masing tipe fungsi.
Tabel 2.8 Pertanyaan utama berdasarkan desain tipe fungsi Tipe Fungsi Untuk semua tipe
Pertanyaan Utama Bagaimana
seharusnya
fungsi
diimplementasikan
sebagai operasi di class yang berbeda? Bagaimana operasi utama aktif dan apa input data yang digunakan? Objek dan koneksi apa yang terlibat dalam menampilkan operasi, dan bagaimana mereka diidentifikasikan? Apa feedback dari operasi utama? Update
Bagaimana kita menentukan jika suatu update adalah legal?
Read
Atribut dan koneksi mana yang harus dibaca, dan bagaimana mereka ditemukan?
Compute
Algoritma mana yang harus digunakan?
Signal
Aturan apa yang digunakan dalam signal?
2. Menspesifikasikan operasi yang kompleks Fungsi harus didesain, bukan di-program. Selama desain function component, semua ketidakpastian yang penting tentang desain harus dihilangkan, tetapi detail yang lebih lanjut harus dihindarkan.
71 Hasil utama dari aktivitas ini adalah class diagram untuk function component dan ekstensi dari model’s component class diagram. Hasil kedua dari aktivitas ini adalah spesifikasi untuk setiap operasi yang kompleks. 2.5.5.2.3 Connecting Components Berdasarkan Mathiassen (2000, p. 271) connecting components adalah menyambungkan antar komponen yang ada dalam sistem. Dalam aktivitas yang lain, kita memodelkan hubungan antar komponen sebagai dependencies. Dependencies ini bisa direalisasikan dalam beberapa cara. Dalam aktivitas ini, kita mendesain koneksi antar komponen untuk mendapatkan desain yang komprehensif dan fleksibel. Prinsip dalam aktivitas ini adalah menghasilkan hubungan komponen dengan cohesion yang tinggi dan coupling yang rendah, dimana kita harus menukarkan untuk mendapatkan class dan komponen dimana keduanya kohesif dan mempunyai coupling yang rendah diantara mereka. Menurut Mathiassen (2000, p.272) coupling adalah ukuran seberapa dekat sebuah class atau component mengharuskan perubahan dalam class atau component lainnya. Terdapat empat bentuk dari coupling, yaitu : a) Outside coupling : sebuah class atau component yang berhubungan langsung dengan properti publik dari class atau component lainnya. b) Inside coupling : sebuah operasi yang berhubungan langsung dengan operasi lainnya, properti private dalam class yang sama.
72 c) Coupling from below : class spesialisasi yang berhubungan langsung dengan properti private dalam super class. d) Sideways coupling : class yang berhubungan langsung dengan properti private dalam class yang berbeda. Sedangkan cohesion adalah ukuran seberapa baik sebuah class atau component disatukan bersama. Hasil dari aktivitas connecting components ini adalah sebuah class diagram dengan komponen yang terlibat di dalam class diagram tersebut.