BAB 2 LANDASAN TEORI
2.1
Sistem Informasi Akuntansi
2.1.1
Pengertian Sistem Informasi Akuntansi Menurut Wilkinson et al. (2000, p.7), ”An accounting information system is a
unified structure within an entity, such as business firm, that employs physical resources and other components to transform economic data into accounting information, with the purpose of satisfying the information needs of a variety of users”. Dapat diterjemahkan sebagai berikut: sistem informasi akuntansi adalah sebuah kesatuan struktur yang terdapat dalam sebuah entitas, seperti firma bisnis, yang menggunakan sumber daya fisik dan komponen lain untuk merubah data-data ekonomi menjadi sebuah informasi akuntansi, dengan tujuan untuk memenuhi kebutuhan informasi dari berbagai pengguna. Sedangkan menurut Moscove, dkk (2001, p.7),”An accounting information system is the information subsystem within an organization that accumulate information from the entity various subsystems and communicates it to the organization’s information processing subsystems”. Dapat diartikan sebagai berikut: Sistem informasi akuntansi adalah subsistem informasi dalam sebuah organisasi yang mengumpulkan informasi dari berbagai subsistem suatu entitas dan mengkomunikasikannya kepada subsistem pengolah informasi organisasi”. Menurut Romney dan Steinbart (2006, p.6), ”Accounting information system is a system that collects, records, stores, and processes data to produce information for decision makers”. Dapat diartikan sebagai berikut: Sistem informasi akuntansi adalah
9 sebuah sistem yang mengumpulkan, mencatat, menyimpan, dan memproses data untuk menghasilkan informasi bagi pembuat keputusan. Berdasarkan pengertian-pengertian diatas, maka dapat disimpulkan Sistem Informasi Akuntansi adalah gabungan dari bermacam-macam sumber daya yang dirancang untuk mengubah data keuangan menjadi informasi yang dibutuhkan oleh manejemen dan berguna bagi pembuat keputusan. 2.1.2
Subsistem Sistem Informasi Menurut Hall (2001), ”Sistem Informasi Akuntansi terdiri atas tiga subsistem
utama antara lain sebagai berikut: 1. Sistem Pemrosesan Transaksi (SPT) / Transaction Processing System (TPS) merupakan pusat dari seluruh fungsi sistem informasi dengan: a. Mengkonversi peristiwa ekonomi ke transaksi keuangan. b. Mencatat transaksi keuangan dalam catatan akuntansi (jurnal dan buku besar). c. Mendistribusikan informasi keuangan yang utama ke personel operasi untuk mendukung kegiatan operasional harian mereka. 2. Sistem Pelaporan Buku Besar / Keuangan (SBB/PK) / General Ledger / Financial Reporting System (GL/FRS). Sistem Buku Besar (SBB) dan Sistem Pelapiran Keuangan (SPK) adalah subsistem yang saling terkait. Namun, karena interdependensi operasional mereka, keduanya dipandang sebagai suatu sistem tungaal yang integratif – SBB/SPK. Besarnya input ke Sistem Buku Besar datang dari siklus transaksi. Rangkuman aktivitas siklus transaksi ini diproses oleh Sistem Buku Besar untuk memperbarui akun-akun kontrol buku besar.
10 Sedangkan Sistem Pelaporan Keuangan mengukur dan melaporkan status sumber daya keuangan dan perubahan dalam sumber daya-sumber daya tersebut, informasi ini dikomunikasikan terutama bagi pemakai eksternal. 3. Sistem Pelaporan Manajemen (Management Reporting System). Sistem Pelaporan Manajemen menyediakan informasi keuangan internal yang diperlukan untuk mengatur sebuah bisnis. Para manajer membutuhkan informasi yang berbeda untuk berbagai jenis keputusan yang harus dilakukan. Laporan yang dihasilkan meliputi anggaran, laporan varians, analisis biaya-volume-laba, dan laporan yang menggunakan data biaya lancar (bukan yang historis)” (p.12). 2.1.3
Komponen Sistem Informasi Akuntansi Romney dan Steinbart (2006) menyatakan, ”Sistem Informasi Akuntansi terdiri
dari lima komponen, yaitu: 1. People, yang mengoperasikan sistem dan melakukan berbagai fungsi. 2. Procedures, baik yang manual maupun otomatis termasuk dalam kegiatan pengumpulan, pemrosesan, dan penyimpanan data tentang kegiatan organisasi. 3. Data, tentang kegiatan / proses bisnis organisasi. 4. Software, digunakan untuk memproses data organisasi. 5. Information Technology Infrastructure, termasuk didalamnya komputer, dan peralatan komunikasi jaringan” (p.2). 2.1.4
Siklus Transaksi pada Sistem Informasi Akuntansi Menurut Boockholdt (1999), ”Siklus transaksi akuntansi dibagi menjadi empat
bagian, yaitu:
11 1. Financial Cycle. Consist of those accounting transactions that record the acquisition of capital from owner and creditor, the use of that capital to require productive assets, and the reporting to owners and creditors on how is used. Dapat diartikan sebagai berikut: siklus keuangan terdiri dari transaksi-transaksi akuntansi yang mencatat akuisisi modal dari pemilik dan kreditur, yang digunakan untuk memperoleh aset produktif yang dilaporkan kepada pemilik dan kreditur. 2. Expenditure Cycle. Consist of those transaction incurred to acquire material and overhead items for the conversion process of the business. Dapat diartikan sebagai berikut: siklus pengeluaran terdiri dari transaksi yang terjadi untuk memperoleh bahan baku dan barang overhead yang digunakan dalam proses konversi. 3. Conversion Cycle. Contains those transaction incurred when input are converted into salable goods or services. Dapat diartikan sebagai berikut: siklus konversi terdiri dari transaksi yang terjadi saat input dikonversi menjadi barang yang dapat dijual berupa barang atau jasa. 4. Revenue Cycle. Includes the accounting transactions that record the generation of revemue from the output of the conversion process. Dapat diartikan sebagai berikut: siklus pendapatan termasuk dalam transaksi akuntansi yang mencatat pengumpulan pendapatan dari output yang dihasilkan dalam proses konversi. (p.520-523).”
12 2.2
Sistem Informasi Akuntansi Penggajian dan Pengupahan
2.2.1
Pengertian Gaji dan Upah Menurut Niswonger, Warren dan Fess yang diterjemahkan oleh Sirait dan
Gunawan (2000, p.446), ”Gaji biasanya digunakan untuk pembayaran atas jasa manajerial, administratif, dan jasa-jasa yang sama. Tarif gaji biasanya diekspresikan dalam periode bulanan 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.” 2.2.2
Fungsi yang Terkait Wilkinson et al. (2000, CD p.110) berpendapat bahwa fungsi-fungsi yang terlibat
dalam Human Resource Management Cycle adalah sebagai berikut: 1. Fungsi Personalia Bagian ini memiliki tujuan utama untuk perencanaan, pengendalian dan mengkoordinasi karyawan yang berada dalam sebuah organisasi. Fungsi personalia ini berada dibawah naungan Wakil Presiden bagian personalia. Manajer yang melapor padanya adalah manajer yang bertanggung jawab atas kepegawaian dan perencanaan personalia, keamanan, dan keuntungan (safety and benefit unit), hubungan industri (industrial relations), perkembangan pegawai dan administrasi sumber daya manusia (employee development). Unit kepegawaian dan perencanaan personalia berhubungan dengan perekrutan dan pengujian potensi karyawan, mempekerjakan karyawan yang terpilih, memastikan promosi yang berkualitas dan prosedur pemecatan serta menentukan kebutuhan pegawai untuk masa yang akan datang (baik dalam
13 kriteria skill dan level). Safety and benefit unit bertanggungjawab terhadap keamanan dan kesehatan pegawai, seperti memastikan iklim kerja yang mendukung. Industrial relations unit bertanggungjawab untuk berhubungan dengan serikat buruh dan organisasi buruh lainnya. Employee development unit bertanggungjawab dalam perencanaan kompensasi (gaji dan upah), 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 Finansial/Akuntansi Tujuan dari manajemen finansial dan akuntansi berkaitan secara luas dengan dana, data, informasi, perencanaan, dan pengendalian atas sumber daya. Unit-unit organisasi dalam fungsi ini terlibat dalam manajemen jasa karyawan yaitu: a. Timekeeping Fungsi ini bertanggung jawab untuk melakukan pengendalian waktu dan daftar kehadiran karyawan 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.
14 d. Cash Disbursements Bersama dengan kasir, unit ini menandatangani dan mendistribusikan paychecks. e. Cost Distribution Unit ini mengurus catatan-catatan yang merefleksikan biaya-biaya dari sebuah produk secara detil. f. General Ledger Unit ini mengurus pengendalian terhadap seluruh aset, modal, biaya, dan pendapatan. 2.2.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 penggajian 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
15 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.3
Sistem Pengendalian Intern
2.3.1
Pengertian Sistem Pengendalian Intern Menurut pendapat Romney & Steinbart (2006, p.192), ”Internal Control is the
process implemented by the board of directors, management, and those under their direction to provide reasonable assurance that the control objetives are achieved.” Dapat diterjemahkan sebagai berikut: pengendalian internal adalah sebuah proses yang diterapkan oleh dewan direksi, manajemen, dan orang-orang yang berada di bawah
16 arahan mereka untuk menyediakan dasar-dasar yang relevan bahwa tujuan dari sebuah pengendalian bisa tercapai. Menurut Committee of Sponsoring Organizations (COSO), ”Internal Control is a process effected by an entity’s board of directors, management, and other personnel designed to provide reasonable assurance regarding the achievement of objectives.” Dapat diterjemahkan sebagai berikut: pengendalian internal adalah sebuah proses yang dipengaruhi oleh keseluruhan direksi dalam suatu perusahaan, manajemen, dan pihak lainnya yang dirancang untuk menyediakan jaminan mengenai pencapaian tujuan organisasi. Jadi, dapat disimpulkan bahwa pengendalian internal adalah aturan, kebijakan, prosedur dan sistem informasi yang dirancang untuk mengamankan harta perusahaan, memastikan data-data dalam perusahaan dapat diandalkan, serta meningkatkan efisiensi dan efektifitas operasi serta untuk memastikan ketaatan terhadap peraturan dan hukum yang berlaku. 2.3.2
Tujuan Sistem Pengendalian Intern Menurut COSO, tujuan sistem pengendalian intern adalah sebagai berikut: 1. Menghasilkan laporan keuangan yang dapat dipercaya (reliability of financial reporting) 2. Menghasilkan operasi yang efektif dan efisien (effectiveness and efficiency of operations) 3. Memenuhi dalil dan peraturan yang ditetapkan (compliance with applicable laws and regulations).
17 2.3.3
Komponen Sistem Pengendalian Intern Menurut COSO (Romney dan Steinbart, 2006, p.196), ada lima komponen dalam
sistem pengendalian intern antara lain sebagai berikut: 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 manejemen 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 arus 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
18 dan saling bertukar informasi yang dibutuhkan utuk memimpin, mengatur, dan mengontrol operasi yang ada. 5. Monitoring Keseluruhan proses harus diawasi dan melakukan perubahan bila diperlukan. Dengan cara ini, sistem dapat bereaksi dengan lebih dinamis, berubah sesuai dengan kondisi yang ada. 2.3.4
Authorization Control pada Sistem Informasi Akuntansi Menurut Wilkinson (2000, p.280), Transaksi yang tidak terotorisasi dapat
mengakibatkan resiko kehilangan aset. Otorisasi oleh seseorang tidak dilibatkan dalam pemrosesan penyelenggaraan kebijakan manajemen dengan meyakinkan bahwa transaksi yang masuk ke dalam buku besar sudah valid dan sesuai. General authorization
menyediakan kondisi standar dimana sebuah transaksi disetujui dan
dilaksanakan, misalnya manajemen menetapkan kriteria supaya suatu permintaan kredit bisa disetujui. Specific authorization berkaitan dengan keadaan tertentu dengan kondisi dan pihak-pihak terkait yang dilibatkan, misalnya seorang kasir harus meminta otorisasi tambahan dari pengawasnya untuk cek dengan jumlah tertentu. Dalam proses manual maupun terkomputerisasi, otorisasi bisa nampak sebagai tandatangan, inisial, atau cap dalam dokumen transaksi. Bagaimanapun bentuknya otorisasi harus diverifikasi sebelum proses dilanjutkan. Salah satu bentuk prosedur verifikasi adalah menggunakan password. Jika seseorang telah menggunakan password yang benar maka ia dianggap telah memiliki hak untuk melakukan perubahan terhadap suatu data. Instruksi verifikasi juga bisa dibuat dengan memasukkan langsung ke dalam aplikasi. Menurut Bodnar dan Hopwood (2001, p.195), otorisasi membatasi inisiasi dari sebuah transaksi atau performa dari sebuah aktivitas kepada individu yang berhak.
19 Otorisasi mencegah transaksi yang tidak terotorisasi dan aktivitas yang tidak terotorisasi. Otorisasi yang sesuai dari sebuah transaksi dan aktivitas diperlukan bila manajemen menginginkan kepastian yang layak dimana control objectives bisa dicapai. 2.3.5 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. 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 eksplisit. 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.
20 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 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 peningkatan biaya kepegawaian dan laporan biaya
21 kepegawaian
menjadi
salah.
Terlebih
lagi
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. 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 dicatat 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 tersebut dan merekonsiliasi kartu waktu dengan kehadiran aktual. Dalam Cushing dan Romney (1994, 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 aktivitas karyawan harus ditinjau ulang dan disetujui oleh supervisor sehingga dapat mendeteksi ketidaksesuaian yang nyata.
22 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 dengan pajak yang harus dibayar ke pemerintah 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 prosedur 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.
23 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. 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 (1994, p.933), pimpinan bagian personalia memerlukan informasi kualitatif mengenai beberapa faktor seperti motivasi karyawan, moral, kemampuan, dan hubungan interpersonal. Selain itu menurut Cushing dan Romney (1994, p.962), 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
24 dapat melaksanakan tugas ini dengan menyediakan informasi mengenai kinerja karyawan dengan lebih akurat dan teratur. 2.3.6
Kesempatan untuk Menggunakan Teknologi Informasi Menurut Hall (2001, p.307), bentuk sistem penggajian dengan elemen-elemen
real-time memberikan banyak keuntungan operasional, termasuk pengurangan jeda waktu antara terjadinya peristiwa dan pencatatan, penghematan kertas kerja, serta tenaga klerikal. Bentuk ini juga melibatkan unsur pengendalian. Banyak tugas yang sebelumnya dilakukan oleh manusia sekarang dilakukan oleh komputer. Sistem berbasis komputer harus menyediakan data yang memadai untuk verifikasi independen dan untuk tujuan audit. Pada akhirnya, pengendalian harus dirancang untuk melindungi dari akses yang tidak terotorisasi pada data dan program komputer Menurut Romney dan Steinbart (2006, p.498), proses penggajian bisa dibuat lebih efisien dengan mengumpulkan waktu pegawai dan data kehadiran secara elektronik daripada menggunakan dokumen kertas. Hal ini bisa mengurangi waktu dan kesalahan potensial yang berhubungan dengan proses manual. Contohnya, badge readers bisa digunakan untuk mengumpulkan data waktu kerja untuk pegawai produksi. Data itu kemudian secara otomatis dapat masuk ke dalam sistem proses penggajian. Sama juga dengan electronic time clocks bisa mentransmisikan waktu dan data kehadiran langsung ke dalam program proses penggajian. 2.4
Pajak Penghasilan
2.4.1
Pajak Penghasilan Umum 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.
25 Undang-undang Pajak Penghasilan (PPh) mengatur pajak atas penghasilan (laba) yang diterima atau diperoleh orang pribadi maupun badan. 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 asa materiil, artinya penentuan mengenai pajak yang terutang tidak tergantung kepada surat ketetapan pajak. 2.4.1.1 Objek Pajak Yang menjadi objek pajak adalah penghasilan. Penghasilan yaitu setiap tambahan kemampuan ekonomis yang diterima atau diperoleh Wajib Pajak, baik yang berasal dari Indonesia maupun dari luar Indonesia, yang dapat dipakai untuk konsumsi atau menambah kekayaan Wajib Pajak yang bersangkutan, dengan nama dan bentuk apapun. 2.4.1.2 Penghasilan Tidak Kena Pajak (PTKP) Besarnya Penghasilan Kena Pajak dari seorang pegawai dihitung berdasarkan penghasilan netonya dikurangin dengan Penghasilan Tidak Kena Pajak
(PTKP).
137/PMK03/2005
Berdasarkan tanggal
30
Peraturan Desember
Menteri 2005,
Keuangan
pemerintah
Nomor
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.
26 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. 2.4.1.3 Tarif Pajak Sesuai dengan pasal 17 UU PPh, tabel 2.1 menyatakan besarnya tarif pajak penghasilan bagi Wajib Pajak orang pribadi dalam negeri adalah sebagai berikut: Tabel 2.1 Tarif Pajak Lapisan Penghasilan Kena Pajak Sampai dengan Rp. 25.000.000,00 Di atas Rp. 25.000.000,00 s.d. Rp. 50.000.000,00 Di atas Rp. 50.000.000,00 s.d. Rp. 100.000.000,00 Di atas Rp. 100.000.000,00 s.d. Rp. 200.000.000,00 Di atas 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)
2.4.2 Pajak Penghasilan Pasal 21 Ketentuan Pasal 21 Undang-undang Pajak Penghasilan 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.4.2.1 Wajib Pajak PPh Pasal 21 Penerima penghasilan yang dipotong PPh pasal 21 adalah:
27 1. Pejabat Negara 2. Pegawai Negeri Sipil 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.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 (termasuk honorarium anggota dewan komisaris atau anggota dewan pengawas), premi bulanan, uang lembur, uang sokongan, uang tunggu, uang ganti rugi, tunjangan istri, tunjangan anak, tunjangan jabatan, tunjangan khusus, tunjangan transport, tunjangan pajak, tunjangan iuran pensiun, tunjangan pendidikan anak, beasiswa, hadiah, premi asuransi yang dibayar oleh 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.
28 4. Uang tebusan pensiun, uang Tabungan Hari Tua atau Tunjangan Hari Tua (THT), uang pesangon, dan pembayaran lain sejenis. 5. 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 Wajib Pajak dalam negeri. 6. Gaji, gaji kehormatan, tunjangan-tunjangan lain yang terkait dengan gaji yang diterima oleh Pejabat Negara dan PNS. 7. Uang pensiun dan tunjangan-tunjangan laun yang sifatnya terkait dengan uang pensiun yang diterima oleh pensiunan termasuk janda atau duda dan atau anak-anaknya. 8. Penerimaan dalam bentuk natura dan kenikmatan lainnya dengan nama apapun yang diberikan oleh bukan Wajib Pajak 2.4.2.3 Pemotong Pajak PPh Pasal 21 1. Pemberi kerja terdiri dari orang pribadi dan badan, termasuk bentuk usaha tetap, baik merupakan induk maupun cabang, perwakilan atau unit, 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. Pemberi kerja yang dimaksud termasuk juga badan dan organisasi inernasional yang tidak dikecualikan sebagai Pemotong Pajak berdasarkan Keputusan Menteri Keuangan. 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. Termasuk
29 bendaharawan pemerintah adalah bendarawan pada Pemerintah Pusat, Pemerintah Daerah, instansi atau lembaga pemerintah, lembaga-lembaga negara lainnya, dan Kedutaan Besar Republik Indonesia di luar negeri. 3. Dana pensiun, PT Taspen, PT Jamsostek, badan penyelenggara jaminan sosial 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, kepanitiaan, 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
30 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.2.4 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,00 setahun atau Rp. 108.000,00 sebulan. Biaya Pensiun adalah biaya untuk mendapatkan, menagih, dan memelihara uang pensiun yang besarnya 5% dari penghasilan bruto berupa uang pensiun setingggitingginya Rp. 432.000,00 setahun atau Rp. 36.000,00 sebulan. 2.5
Konsep Analisis dan Perancangan Berorientasi Objek
2.5.1
Pengertian Object Oriented Analysis and Design Menurut Mathiassen et al. (2000), ”Objek adalah kesatuan dengan identity, state,
dan behaviour (p.4). Menurut Larman (2005), ”Analisis adalah bagian dari suatu objek yang digunakan untuk menentukan sistem yang dibutuhkan, sedangkan desain adalah rancangan yang digunakan untuk menjelaskan sistem tersebut. Object oriented analysis menekankan pada penemuan dan mendeskripsikan objek atau konsep pada problem domain. Sedangkan object oriented design menekankan pada pendefinisian software object yang diimplementasikan pada bahasa pemrograman” (p.6). dari definisi diatas dapat disimpulkan bahwa object oriented analysis and design merupakan kegiatan untuk menentukan problem domain dan kemudian mencari pemecahan masalah yang logical yang berbasiskan objek.
31 2.5.2
Pengertian Object Menurut pendapat Lau (2001), ”Objek 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. (p.1).” Menurut Mathiassen et al, et al. (2000), ”Objek adalah suatu entitas dengan identitas, keadaan (tingkatan hidup) dan tingkah laku. Objek merupakan dasar dalam Object Oriented Analysis and Design (OOA&D). Setiap objek digambarkan secara berkelompok (kumpulan) karena ada beberapa objek yang memiliki sifat atau fungsi yang sama yang dikenal dengan istilah class. Sedangkan class adalah suatu deskripsi atas kumpulan objek yang saling menggunakan struktur, pola tingkah laku, dan atribut secara bersama-sama (p.4).” Dapat disimpulkan model yang berorientasi objek terdiri dari sejumlah objekobjek yang umumnya berkorespondensi dengan objek pada dunia nyata. Contohnya: sebuah objek dapat berupa nota penjualan, motor, atau telepon. Karakteristik yang dimiliki objek antara lain: 1. Tiap objek dapat memiliki satu atau lebih informasi individual yang unik. Inilah yang disebut attribute dimana tiap attribute mempunyai nilai. Contohnya: sebuah mobil memiliki attribute warna biru, kuning, dan sebagainya. 2. Objek dapat melakukan suatu operasi yang disebut behavior. Operasi ini dapat dipicu dari stimulus dari luar maupun dalam objek. 3. Objek dapat dikomposisikan menjadi bagian-bagian terpartisi yang dinyatakan dengan hubungan consist of atau aggregate.
32 2.5.3
System Definition Menurut Mathiassen et al. (2000, p.24), ”System definition is a concise
description of a computerized system expressed in natural language”. Dapat diterjemahkan sebagai berikut: Definisi sistem adalah suatu gambaran sebuah sistem terkomputerisasi yang dinyatakan dalam bahasa sehari-hari. Rich Picture Menurut Mathiassen et al. (2000, p. 26), ”Rich picture is an informal drawing that presents the illustrator’s understanding of a situation.” Dapat diartikan sebagai berikut: Rich picture adalah sebuah gambaran informal yang menunjukkan pemahaman dari ilustrator mengenai suatu situasi. Rich picture difokuskan pada aspek-aspek penting dari sebuah sistem, yang ditentukan oleh pengembang dengan mengunjungi perusahaan untuk melihat bagaimana sistem itu beroperasi, berbicara dengan orang-orang yang mengerti tentang apa yang sedang terjadi. Gambar 2.1 merupakan salah satu contoh rich picture.
33
1. Nama Pelanggan + treatment $ $
4.Struk Pelayanan + Uang Pembayaran Jasa $ $
5.Transaksi + Uang kembalian
7. Payroll Pa y to
2. Treatment Pelanggan
$
Kasir
6. Work Time
3. Treatment 7. Payroll Pa y to
Asisten
$
HRD
7. Payroll Pa y to
$
Pemotong Rambut
Gambar 2.1 Contoh Rich Picture 2.5.4
The FACTOR Criterion Menurut Mathiassen et al. (2000, p.39), kriteria FACTOR terdiri dari enam
elemen: 1. Functionality: Fungsi sistem yang mendukung tugas-tugas application domain.
34 2. Application
domain:
Bagian-bagian
dalam
sebuah
organisasi
yang
mengadministrasi, memonitor, atau mengontrol problem domain. 3. Conditions: Kondisi dimana sebuah sistem akan dikembangkan dan digunakan. 4. Technology: Mencakup teknologi yang digunakan untuk mengembangkan sistem dan teknologi dimana sistem tersebut akan berjalan. 5. Objects: Objek utama di dalam problem domain. 6. Responsibility: Tanggung jawab keseluruhan dari sebuah sistem dalam hubungannya dengan konteks sistem. 2.5.5
Problem-domain Analysis Menurut Mathiassen et al. (2000, p.46), ”Problem-domain analysis adalah
analisa terhadap sistem bisnis dalam dunia nyata yang dapat diatur, dimonitor, dan dikendalikan oleh sistem. Tujuan dari problem domain analysis 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 bisa memproses, berkomunikasi dan menyajikan informasi mengenai problem domain. Hasil dari problem domain analysis adalah membuat class diagram. Gambar 2.2 menunjukkan contoh dari class diagram.
35
1
Customer
0..* 0..*
Appointment
1 Employee
1
1..*
Day Schedule
1
1 Apprentice
Assistant
1..* Time Period
1 * Work Free
Other
*
Gambar 2.2 Contoh Class Diagram Problem domain analysis dibagi menjadi 3 aktivitas, yaitu classes, behavior, dan structure.” 2.5.5.1 Classes Mathiassen et al. (2000, p.53) menyatakan bahwa, ”Class is a description of collection of objects sharing structure, behavioural pattern, and attribute”. Class adalah sebuah gambaran dari kumpulan objek yang memiliki structure, behavioral pattern, dan attribute yang sama. Pemilihan class bertujuan untuk mendefinisikan dan membatasi problemdomain, sedangkan pemilihan event bertujuan untuk membedakan tiap class dalam problem-domain. Menurut Mathiassen et al. (2000, p.51), ”Event merupakan kejadian secara terus menerus yang melibatkan satu atau lebih dari suatu object.”
36 Kegiatan class akan menghasilkan suatu event table. Dimensi horizontal dari event table menggambarkan class yang akan dipilih, sementara dimensi vertikal menggambarkan event-event yang terpilih, tanda cek digunakan untuk mengindikasikan objek-objek dari class yang berhubungan dalam event tertentu seperti yang tercantum pada tabel 2.2. Tabel 2.2 Contoh Event Table Class Events
Customer Asssistant Apprentice Appointment Plan
Reserved
v
v
v
Cancelled
v
v
v
Treated
v
v
Employed
v
v
Resigned
v
v
Graduated Agreed
v
v v
v
v
2.5.5.2 Structure Menurut Mathiassen et al. (2000, p.336), “Structure adalah hubungan antara class dengan object pada problem domain secara keseluruhan.” Structure bertujuan untuk menggambarkan hubungan terstruktur antara classes dan object dalam problem domain. Hasil dari kegiatan structure adalah membuat class diagram. Class diagram menggambarkan kumpulan dari classes dan hubungan yang terstruktur. Menurut Mathiassen et al. (2000, p.72-75), tipe dari object oriented structure terdiri dari dua bagian, yaitu: 1. Class structured, mengekspresikan hubungan konseptual yang statis antar class. Class structured dibagi menjadi dua, yaitu:
37 a. Generalization,
adalah
suatu
kelas
umum
(super
class)
yang
menggambarkan keadaan atau sifat yang sama ke dalam kelompok class yang lebih khusus (subclass). Generalization diformulasikan sebagai hubungan “is a”. Generalization menggambarkan inheritance yang berarti sub class akan memiliki attribute dan operation yang sama dengan superclass. b. Cluster adalah kumpulan kelas yang saling berhubungan yang dapat membantu memperoleh dan menyediakan ringkasan problem-domain. Cluster digambarkan dengan notasi file folder yang melingkari class yang saling berhubungan di dalamnya. 2. Object structures Object structure menggambarkan hubungan yang dinamis 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: a. Aggregation, adalah suatu object superior (the “whole”) yang terdiri dari bagian-bagian dari object tersebut (the part). Aggregation structure mendefinisikan hubungan antara dua buah objek atau lebih. Aggregation diformulasikan sebagai hubungan “has a”. b. Association, adalah suatu hubungan yang berarti antara objek, namun hubungan ini berbeda dari aggregation. Hubungan ini bukan merupakan hubungan yang sangat kuat seperti aggregation, karena objek yang satu tetap ada walaupun objek yang lain tidak ada. Perbedaan antara association dan aggregation adalah sebagai berikut:
38 a. Hubungan antar class pada aggregation mempunyai hubungan yang kuat, sedangkan association tidak. b. Aggregation structure melukiskan hubungan yang defensive dan fundamental, sedangkan association structure melukiskan hubungan yang tidak tetap. 2.5.5.3 Behavior Menurut pendapat Mathiassen et al. (2000, p.89), kegiatan behavior bertujuan untuk memodelkan perilaku dinamis dalam problem-domain sepanjang waktu. Tugas utama dari kegiatan ini adalah menggambarkan pola perilaku (behavioral pattern) dan attribut dari setiap kelas. Hasil dari kegiatan ini adalah statechart diagram seperti yang terlihat pada gambar 2.3.
account opened (date)
amount deposited (date, amount)
Open
amount withdrawn (date, amount)
Gambar 2.3 Contoh Statechart Diagram Perilaku dari suatu objek ditentukan oleh urutan-urutan event (event trace) yang harus dilewati oleh objek tertentu sepanjang waktu. Contoh: kelas customer harus melalui event trace sepanjang hidupnya yaitu: account opened – amount deposited – amount withdrawn – amount deposited – account closed. Menurut Mathiassen et al. (2000, p.93 ), ada tiga jenis notasi untuk behavioral pattern, yaitu:
39 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.6
Application Domain Analysis Mengacu pada pendapat Mathiassen et al (2000, p.115), ”Application domain
adalah suatu organisasi yang mengatur, memonitor, atau mengendalikan problemdomain. Application domain analysis berfokus pada bagaimana target sistem digunakan dengan menentukan syarat-syarat untuk function dan interface sebuah sistem.” Kegiatan-kegiatan yang dilakukan pada application domain dapat dilihat pada gambar 2.4 dan tabel 2.3 dibawah ini.
System definition
Interfaces
Usage
Functions Requirement
Gambar 2.4 Aktivitas dalam Application Domain
40 Kegiatan Usage
Isi Bagaimana sistem berinteraksi dengan orang dalam konteks?
Konsep Use case dan actor
Functions
Bagaimana kemampuan sistem dalam memproses informasi?
Function
Interface
Apa syarat interface (antarmuka) dari sistem?
Interface, user interface, dan system interface
Tabel 2.3 Aktivitas dalam Application Domain 2.5.6.1 Usage Menurut pendapat Mathiassen et al. (2000, p.119 ), tujuan dari kegiatan usage adalah untuk menentukan bagaimana aktor berinteraksi dengan sebuah sistem. Interaksi antara actor dengan sistem dinyatakan dalam use case. Mathiassen et al. (2000, p.119) menyatakan bahwa,”Use case adalah sebuah pola untuk interaksi antara actor dan sistem dalam application domain”, sedangkan ”Actor adalah abstraksi dari seorang user atau sistem lain yang berinteraksi dengan target system.” 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-beda. Aktor dapat digambarkan dalam actor spesification yang memiliki tiga bagian, yaitu tujuan, karakteristik, dan contoh. Tujuan menunjukkan peranan dari actor dalam sistem target, sedangkan karakteristik menggambarkan aspek-aspek yang penting dari actor. Use case dapat dikatakan sebagai gambaran suatu interaksi antara sistem dengan actor. Untuk menggambarkan suatu use case, kita dapat menggunakan sequence diagram, use case spesification atau keduanya. Use case spesification terdiri dari tiga bagian, yaitu use case, objects, dan function. Use case menjalankan urutan dari sistem yang berjalan, objects menunjukkan objek-objek apa saja yang berhubungan dengan
41 aktivitas use case tersebut, dan function akan dijelaskan setelah usage. Contoh dari use case dapat dilihat pada gambar 2.5 berikut ini. 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.5 Contoh Use Case Diagram Sequence Diagram Sequence diagram membantu seorang analis mengidentifikasikan rincian dari kegiatan yang dibutuhkan untuk menjalankan fungsi dari sebuah use case. Tidak ada suatu sequence diagram yang benar untuk use case tertentu, melainkan ada sejumlah kemungkinan sequence diagram yang masing-masing diagram tersebut dapat lebih atau kurang memenuhi kebutuhan dan dari use case. Sequence diagram menunjukkan urutan
42 dari suatu kegiatan, event atau fungsi pada suatu use case. Gambar 2.6 berikut ini adalah contoh sequence diagram.
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.6 Contoh Sequence Diagram 2.5.6.2 Function Mengacu pada Mathiassen et al. (2000), kegiatan function memfokuskan pada bagaimana cara sebuah sistem dapat membantu actor dalam melaksanakan pekerjaan mereka. Mengacu pada pendapat Mathiassen et al. (2000, p.138), ”Function is a facility for making a model useful for actor. Function memfokuskan pada apa yang bisa dilakukan sistem untuk membantu actor dalam pekerjaan mereka” Function memiliki empat tipe, yaitu: 1. Update. Function ini dapat menjadi aktif disebabkan oleh event dari problemdomain, dan menghasilkan perubahan dalam state dari model tersebut.
43 2. Signal. Function ini menjadi aktif disebabkan oleh perubahan keadaan atau state dari model dan dapat menghasilkan reaksi pada konteks. Reaksi ini dapat berupa tampilan untuk actor dalam application domain, atau intervensi langsung dalam problem domain. 3. Read. Function ini menjadi aktif disebabkan oleh kebutuhan informasi dalam pekerjaan actor dan mengakibatkan sistem menampilkan bagian yang berhubungan dengan informasi dalam model. 4. Compute. Function ini menjadi aktif disebabkan oleh kebutuhan informasi dalam pekerjaan actor dan berisi perhitungan yang melibatkan informasi yang disediakan oleh actor atau model. Hasil dari kegiatan function adalah daftar dari function ( function list) yang lengkap, yang merinci function yang kompleks. Function list dibuat berdasarkan use case description. Kompleksitas function list dimulai dari yang simple sampai dengan yang very complex. Untuk mengidentifikasikan function adalah melihat deskripsi problem domain yang dinyatakan dalam class 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.6.3 User Interface Interface digunakan oleh aktor untuk berinteraksi dengan sistem. Mathiassen et al. (2000, p.151) berpendapat, ”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 tersedia bagi aktor. Menurut Mathiassen et al. (2000, p.152), interface dibagi menjadi dua tipe, yaitu: 1. User interface, adalah interface untuk pengguna
44 2. System interface adalah interface yang digunakan oleh sistem lain untuk berinteraksi dengan sistem yang dibangun. Suatu user interface harus dapat menangani berbagai macam user atau pengguna yang memiliki kemampuan dan kapabilitas yang berbeda. User interface sangat sulit untuk dikembangkan apabila tidak menerima umpan balik berupa ide atau masukan 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 systems. Ada empat jenis dialog yang penting dalam menentukan interface pengguna, yaitu: 1. Menu – selection. Suatu jenis dialog yang terdiri dari daftar pilihan-pilihan yang dapat atau mungkin dilakukan dalam user interface. 2. Form filling. Merupakan pola klasik yang digunakan untuk entri data. 3. Command language. Merupakan suatu jenis dialog yang memungkinkan pengguna memasukkan dan memulai format perintah sendiri. 4. Direct manipulation. User memilih objek dan melaksanakan function atas objek dan melihat hasil interaksi mereka tersebut. Kegiatan dari interface didasarkan atas hasil dari kegiatan-kegiatan sebelumnya yang dilakukan, problem domain, function, dan use case. Hasil dari kegiatan ini adalah sebuah deskripsi dari elemen-elemen 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. Gambar 2.7 berikut ini adalah contoh user interface.
45
Gambar 2.7 Contoh User Interface 2.5.7
Architecture Design Mengacu pada Mathiassen et al. (2000) keberhasilan suatu sistem ditentukan dari
kekuatan desain arsitekturalnya. Arsitektur membentuk sistem yang sesuai dengan sistem tersebut dengan memenuhi kriteria desain tertentu. Arsitektur berfungsi sebagai kerangka dalam pengembangan selanjutnya. Suatu arsitektur yang tidak jelas akan menghasilkan pekerjaan yang sia-sia. 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 bisa memenuhi kriteria desain tertentu. Mengacu pada pendapat Mathiassen et al. (2000, p.175), di dalam desain arsitektur, terdapat tiga prinsip dasar, yaitu define and prioritize criteria, badge criteria and technical platform, and evaluate design early. Kegiatan-kegiatan yang dilakukan didalam desain arsitektur dapat dilihat pada tabel 2.4 dibawah ini:
46 Tabel 2.4 Kegiatan dalam Architecture Design Kegiatan Kriteria
Isi Kondisi dan criteria untuk perancangan
Komponen Bagaimana sistem dibentuk menjadi
Kondisi Arsitektur komponen
komponen-komponen Proses
Bagaimana proses sistem dikoordinasikan
Arsitektur proses
dan didistribusikan
2.5.7.1 Criteria Mathiassen et al. (2000) menyatakan, tujuan dari sebuah criteria adalah untuk mempersiapkan prioritas dari sebuah perancangan. Konsep utama pada aktivitas criteria, yaitu: a. Criteria : menentukan property yang diinginkan dari sebuah arsitektur. b. 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 memiliki tujuan untuk membuat desain. Desain yang baik tidak hanya dinilai dari sifatnya, tetapi apabila terdapat kekurangan dapat menjadi tidak berguna dalam prakteknya. Secara umum, desain yang bagus adalah desain yang berguna, fleksibel, dan mudah dimengerti. Hasil dari kegiatan criteria adalah collection prioritized criteria. Karakteristik dalam membuat desain yang baik adalah sebagai berikut: 1. Desain yang baik tidak mempunyai kelemahan Prinsip ini memperlihatkan tujuan utama atau yang paling mendasar dari object criteria design. Prinsip ini menimbulkan penekanan pada evaluasi kualitas berdasarkan tinjauan ulang dan eksperimen dan membantu dalam
47 menentukan prioritas dari kriteria. Ada beberapa kriteria umum yang digunakan dalam kegiatan desain yang berorientasi objek, yang ditunjukkan pada tabel 2.5 dibawah ini. Tabel 2.5 Criteria Criterion Usable
Measure of Kemampuan sistem untuk menyesuaikan diri dengan konteks, organisasi yang berhubungan dengan pekerjaan dan teknis
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
48 2. Desain yang baik menyeimbangkan beberapa criteria Tidak
semua
kriteria
memiliki
prioritas.
Beberapa
kriteria
dapat
menunjukkan objektivitas secara keseluruhan, sehingga dapat mewakili kriteria lainnya. 3. Desain yang baik adalah desain yang usable, flexible, dan comprehensible Kriteria-kriteria diatas ini bersifat universal dan dapat digunakan pada hampir setiap proyek pengembangan sistem, bagaimanapun mengorganisasikannya, menunjukkan tiga kriteria ideal pada proyek pengembangan sistem. Usable menspesifikasikan kualitas pada sistem yang tergantung bagaimana cara kerjanya. Flexible memiliki arti bahwa sebuah arsitektur sistem bisa mengakomodasi
perubahan
organisasional
dan
kondisi
teknikal.
Comprehensibility memiliki arti bahwa seiring dengan meningkatnya kompleksitas sistem terkomputerisasi, model dan deskripsi harus mudah dimengerti. Mengacu pada pendapat Mathiassen et al (2000), sebuah desain yang baik memerlukan pertimbangan mengenai kondisi dari setiap proyek yang dapat mempengaruhi kegiatan desain, antara lain: a. Technical, yang terdiri dari pertimbangan penggunaan hardware, software, dan sistem lain yang telah dimiliki dan dikembangkan; pengaruh kemungkinan penggabungan pola-pola umum dan komponen yang telah ada terhadap arsitektur dan kemungkinan pembelian komponen standar. b. Conceptual, yang terdiri dari pertimbangan perjanjian kontrak, rencana untuk pengembangan lanjutan, dan pembagian pekerjaan antara pengembang.
49 c. Human, yang terdiri dari pertimbangan keahlian dan pengalaman orang yang terlibat dalam kegiatan pengembangan dengan sistem yang serupa dan dengan platform teknis yang akan didesain 2.5.7.2 Component Architecture Component architecture adalah struktur sistem yang terdiri dari komponen yang saling berhubungan. Component architecture membuat sistem 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 membuat aktivitas ini adalah untuk membuat struktur sistem yang fleksibel dan mudah dimengerti. Menurut pendapat Mathiassen et al. (2000, p.191), suatu arsitektur komponen yang baik menunjukkan beberapa prinsip, yaitu mengurangi kompleksitas dengan membagi menjadi beberapa tugas, menggambarkan stabilitas dari konteks sistem, dan memungkinkan suatu komponen dapat digunakan pada bagian lain. 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. 2. Generic architecture pattern. Pattern ini dapat digunakan untuk menguraikan sistem dasar yang terdiri dari interface, function, dan model component.
50 Model component berada di layer paling bawah dan kemudian dilanjutkan oleh function layer dan yang paling atas adalah interface layer. 3. Client server architecture pattern. Pattern ini dibangun untuk mengatasi sistem yang tersebar di beberapa proses. Arsitektur ini terdiri dari sebuah server dan beberapa client. Server memiliki kumpulan operation yang dapat digunakan oleh client. Client menggunakan server secara independen. 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. Tabel 2.6 berikut ini adalah menggambarkan beberapa jenis distribusi dalam arsitektur client-server dimana U adalah User interface, F adalah function, dan M adalah model. Tabel 2.6 Jenis Arsitektur Client-Server 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
Hasil dari suatu component architecture adalah component diagram (gambar 2.8) yang menunjukkan hubungan antara komponen (dalam hal ini adalah server dan beberapa client).
51
Gambar 2.8 Contoh Component Diagram
2.5.7.3 Process Architecture
52 Process architecture adalah struktur eksekusi sistem yang terdiri atau tersusun dari proses yang saling bergantungan. Tujuan dari aktivitas ini adalah mendefinisikan struktur sistem. Menurut Mathiassen et al. (2000, p.209), ada empat konsep yang harus diketahui, diantaranya sebagai berikut: 1. Process architecture adalah struktur eksekusi sistem yang tersusun 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 diidentifikasi untuk mencari bottleneck. Menurut Mathiassen et al. (2000, p.220), sumber daya yang pada umumnya digunakan secara bersama adalah sebagai berikut: 1. Processor. Penggunaan processor secara bersamaan terjadi apabila dua atau lebih proses yang dieksekusi secara bersamaan pada satu processor. 2. Program component. Program component digunakan secara bersamaan apabila dua atau lebih proses yang secara bersamaan memanggil operasi pada komponen. 3. External device. External device digunakan secara bersamaan pada saat terjadi pemrosesan dua atau lebih pada suatu peralatan. Contoh: penggunaan printer yang terhubung melalui jaringan.
53 Bottleneck memiliki arti yaitu kemacetan yang terjadi pada proses. Seperti yang telah disebutkan diatas bahwa untuk mencari bottleneck, maka perlu memperhatikan penggunaan processor, external device, tempat penyimpanan data atau juga sistem koneksi. Hasil dari process architecture gambar 2.9 yaitu membuat deployment diagram.
Gambar 2.9 Contoh Deployment Diagram
54 2.5.8
Component Design Component design merupakan tahap terakhir dalam perancangan berorientasi
objek yang terdiri dari tiga kegiatan yaitu: 1. Model component yaitu bagaimana model digambarkan sebagai class dalam sebuah sistem. Hasil dari model component adalah revised class diagram. 2. Function component yaitu mengenai bagaimana function diimplementasikan. Hasil dari function component adalah class placement dan operation specification. 3. Connecting component menggambarkan bagaimana komponen saling dihubungkan. 2.6
Kaitan Analisis dan Perancangan dengan Orientasi Objek Menurut pendapat Larman (2005, p.6), untuk merancang suatu aplikasi piranti
lunak, pda tahap awal diperlukan deskripsi dari permasalahan dan spesifikasi aplikasi yang dibutuhkan. Apa saja persoalan yang ada dan apa yang harus dilakukan oleh sistem. Analisis menekankan pada proses investigasi atas permasalahan yang dihadapi tanpa memikirkan definisi solusinya terlebih dahulu. Jadi, dalam tahap analisis, dikumpulkan informasi mengenai permasalahan, spesifikasi sistem berjalan, serta spesifikasi sistem yang diinginkan. Perancangan menekankan pada solusi logika dan bagaimana memenuhi spesifikasi yang dibutuhkan serta konstrain yang ada. Inti dari analisis dan perancangan berorientasi objek adalah untuk menekankan pertimbangan atas problem domain beserta solusinya dari sudut pandang objek (benda, konsep, ataupun entitas).
55 Tahap analisis berorientasi objek, lebih ditekankan untuk mencari dan mendefinisikan objek atau konsep yang ada dalam domain atau wilayah lingkup permasalahan. Dalam tahap perancangan berbasiskan objek, penekanan terletak pada bagaimana mendefinisikan objek-objek logika dalam aplikasi (software object) yang akan diimplementasikan ke dalam bahasa pemrograman berorientasi objek. Software object tersebut juga memiliki attribute dan method. Bagian perancangan atau desain dilanjutkan
dengan
tahapan
construction
atau
OO
programming,
mengimplementasikan perancangan komponen ke dalam bahasa pemrograman.
yakni