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 data-
data
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). 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.
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 Tarif Pajak
Sampai dengan Rp. 25.000.000,00 5% (lima persen)
Di atas Rp. 25.000.000,00 s.d. Rp. 50.000.000,00 10% (sepuluh persen)
Di atas Rp. 50.000.000,00 s.d. Rp. 100.000.000,00 15% (lima belas persen)
Di atas Rp. 100.000.000,00 s.d. Rp. 200.000.000,00 25% (dua puluh lima persen)
Di atas Rp. 200.000.000,00 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 setingggi-
tingginya 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 objek-
objek 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
Pelanggan Kasir
HRD
1. Nama Pelanggan + treatment
Asisten
2. Treatment
Pemotong Rambut
3. Treatment
$
$
4.Struk Pelayanan + Uang Pembayaran Jasa
5.Transaksi + Uang kembalian
$
$
7. PayrollPay to $
7. PayrollPay to $
7. PayrollPay to $
6. Work Time
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
Customer
Appointment
Employee
Apprentice Assistant
Day Schedule
Time Period
WorkFree Other
1
0..*
1
0..*
1 1..*
1
1..*
*
*
1
1
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 problem-
domain, 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 v
Cancelled v v v
Treated v v
Employed v v
Resigned v v
Graduated v
Agreed 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.
Open
account opened (date)
amount deposited (date, amount)
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 problem-
domain. 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.
Gambar 2.4 Aktivitas dalam Application Domain
Usage
Functions
Interfaces
Requirement
System definition
40
Kegiatan Isi Konsep Usage Bagaimana sistem berinteraksi
dengan orang dalam konteks? 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 danPemesanan Bahan Baku
PT. XYZ
Login Karyawan
Pendaftaran Pelanggan
Staff_Penjualan
Staff_Keuangan
Staff_Pembelian
Penjualan Barang
Pembayaran Barang
Pengecekan BarangGudang Produksi
Pembelian BahanBaku
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Pengecekan BarangGudang Penjualan
*
*
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.
Staff_Penjualan
Faktur Pemesanan
1.memasukkanKodePelanggan()
2.getDataPelanggan()
Pelanggan Barang
5.memasukkanKodeBarang()
4.DataPelanggan()
6.getDataBarang()
8.DataBarang()
9.mencetakFakturPemesanan()
10.()
3.checking()
7.checking()
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 problem-
domain, 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 Isi Kondisi Kriteria Kondisi dan criteria untuk perancangan
Komponen Bagaimana sistem dibentuk menjadi
komponen-komponen
Arsitektur komponen
Proses Bagaimana proses sistem dikoordinasikan
dan didistribusikan
Arsitektur proses
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 Measure of Usable 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, yakni
mengimplementasikan perancangan komponen ke dalam bahasa pemrograman.