BAB 2 LANDASAN TEORI
2.1 Sistem Informasi Akuntansi 2.1.1 Pengertian Sistem Informasi Akuntansi Menurut Jones dan Rama (2006, p13), “Accounting Information System is a subsystem of a management information system (MIS) that provides accounting and financial information as well as other information obtained in the routine processing of accounting transactions.” Dapat diterjemahkan sebagai berikut : Sistem Informasi Akuntansi adalah sebuah subsistem dari Sistem Informasi Manajemen (SIM) yang menyediakan informasi akuntansi dan keuangan sebaik informasi lain yang diperoleh dari proses rutin transaksi akuntansi. Romney dan Steinbart berpendapat (2006, p6), “Accounting information system is a system that collects, records, stores, and processes data to produce information for decision makers.” Yang diterjemahkan sebagai : sistem informasi akuntansi adalah sistem yang mengumpulkan, mencatat, menyimpan, dan mengolah data untuk menghasilkan informasi yang berguna untuk pembuat keputusan. Menurut Ulric dan Richard (2009, p14), “The purpose of this separate AIS was to collect, process, and report information related to financial aspects of business
events.”
Sistem
informasi
akuntansi
dibuat
bertujuan
untuk
mengumpulkan, mengolah, dan melaporkan informasi yang berkaitan dengan aspek keuangan bisnis.
10
Berdasarkan pengertian-pengertian di atas, dapat disimpulkan bahwa sistem informasi akuntansi adalah sistem yang mengumpulkan, mencatat, menyimpan, dan mengolah data transaksi akuntansi menjadi informasi dalam bentuk laporan yang akan membantu dalam pembuatan keputusan. 2.1.2 Kerangka Sistem Informasi Akuntansi Menurut Hall (2008, p7), “A framework for information system.” Kerangka sistem informasi dapat digambarkan sebagai berikut
Gambar 2.1 Kerangka sistem informasi akuntansi
11
2.1.3 Subsistem pada Sistem Informasi Akuntansi. Menurut Hall (2008, p8), “The AIS is composed of three major subsystems (1) the transaction processing system (TPS), which supports daily business operations with numerous reports, documents, and messages for users throughout the organization; (2) the general ledger / financial reporting system (GL/FRS), which produces the traditional financial statements, such as the income statement, balance sheet, statement of cash flows, tax returns, and other reports required by law; and (3) the management reporting system (MRS), which provides internal management with special-purpose financial reports and information needed for decision making such as budgets, variance reports, and responsibility reports.” Sistem Informasi Akuntansi terdiri dari tiga subsistem utama, yaitu: 1.
Transaction Processing System (TPS) yang mendukung operasi bisnis
sehari-hari. 2.
General Ledger / Financial Reporting System (GL/FRS) yang
menghasilkan laporan keuangan misalnya laporan arus kas dan laporan lain yang berhubungan dengan hukum yang berlaku, misalnya pajak. 3.
Management Reporting System (MRS) yang menghasilkan laporan
keuangan khusus untuk manajemen internal. Contohnya laporan anggaran dan varians.
12
2.1.4 Komponen Sistem Informasi Akuntansi Menurut Romney dan Steinbart (2006, p.2), “An AIS consists of five components: 1. The people who operates the system and perform various functions. 2. The procedures, both manual and automated, involved in collecting, processing, and storing data about the organization’s activities. 3. The data about the organization’s business processes. 4. The software used to process the organization’s data. 5. The
information
technology
infrastructure,
including
computers,
peripheral devices, and network communications devices. Dapat diterjemahkan menjadi “Sebuah SIA terdiri dari lima komponen: 1.
People, yang mengoperasikan sistem dan melakukan berbagai fungsi.
2.
Procedures, baik yang manual maupun yang otomatis termasuk dalam
kegiatan pengumpulan, pemrosesan, dan penyimpanan data tentang kegiatan organisasi. 3.
Data, tentang kegiatan / proses bisnis organisasi.
4.
Software, digunakan untuk memroses data organisasi.
5.
Information Technology Infrastructure, termasuk di dalamnya komputer
serta peralatan komunikasi jaringan.”
13
2.2 Pengendalian Internal 2.2.1 Pengertian Pengendalian Internal Menurut Ulric dan Richard berdasarkan Committee of Sponsoring Organization (COSO) Report, “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 in the following categories : •
Effectiveness and efficiency of operations
•
Reliability of financial reporting
•
Compliance with applicable laws and regulations”.
Diterjemahkan menjadi “Pengendalian internal adalah suatu proses yang diimplementasikan oleh entitas dewan direksi, manajemen perusahaan dan personel lainnya yang dikhususkan untuk menyediakan jaminan terhadap pencapaian tujuan pengendalian berikut ini : •
Efektivitas dan efisiensi operasional.
•
Kehandalan dari pelaporan keuangan.
•
Kepatuhan terhadap hukum dan peraturan yang berlaku.”
2.2.2 Unsur Pengendalian Internal Menurut Romney dan Steinbart (2006, p.196) “Five Interrelated Components of COSO’s Internal Control Model : control environment, control activities, risk assessment, information and communication, monitoring.” Lima komponen yang berhubungan pada pengendalian internal menurut COSO: control environment, control activities, risk assessment, information and communication, dan monitoring.
14
2.3 Penggajian dan Pengupahan 2.3.1 Pengertian Gaji dan Upah Menurut Warren et al. (2008, p489) “In accounting, payroll refers to the amount paid employees for services they provided during the period.” Dapat diterjemahkan menjadi “Dalam akuntansi, istilah gaji diartikan sebagai jumlah tertentu yang dibayarkan kepada karyawan untuk jasa yang diberikan selama periode tertentu.” Menurut Niswonger, Waren 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 bulan atau tahunan. Istilah upah biasanya digunakan untuk pembayaran kepada karyawan lapangan (pekerja kasar) yang terlibat dalam proses produksi, baik yang terdidik maupun tidak terdidik. Tarif upah biasanya diekspresikan secara harian atau bahkan perjam.” 2.3.2 Fungsi yang Terkait Berdasarkan pendapat Romney dan Steinbart (2006, p.516) “A second major function of the AIS in the HRM/payroll cycle is to provide adequate internal controls to ensure meeting the following objectives : 1. All payroll transactions are properly authorized. 2. All recorded payroll transactions are valid. 3. All valid, authorized payroll transactions are accurately recorded. 4. All payroll transactions are accurately recorded.
15
5. Aplicable government regulations regarding remittance of taxes and filing of payroll and HRM reports are met. 6. Assests (both cash and data) are safeguarded from loss or theft. 7. HRM/payroll cycle activities are performed efficiently and effectively.” Dapat diterjemahkan menjadi, fungsi utama kedua dari SIA pada siklus HRM / penggajian untuk menghasilkan pengendalian internal yang memadai pada tujuan berikut : 1. Semua transaksi penggajian harus diotorisasi. 2. Semua transaksi penggajian yang disimpan harus benar. 3. Semua transaksi penggajian yang benar dan diotorisasi harus disimpan. 4. Semua transaksi penggajian disimpan secara akurat. 5. Laporan penggajian harus sesuai dengan ketentuan pajak yang berlaku. 6. Aset (kas dan data) harus disimpan secara aman dari kehilangan dan pencuri. 7. Aktivitas siklus penggajian / HRM harus effisien dan efektif. 2.3.3 Tujuan Evaluasi Performance Karyawan Menurut John M. Ivanchevich (2002, p.230), tujuan mengevaluasi performance karyawan yaitu : •
Pengembangan (Development)
Sehingga dapat menentukan karyawan yang membutuhkan training atau tidak.
16
•
Motivasi (Motivation)
Sehingga dapat menimbulkan inisiatif, mengembangkan rasa tanggung jawab, dan meningkatkan usaha untuk bekerja lebih baik. •
Human resource and employment planning
Evaluasi ini dapat dijadikan sebagai masukan bagi perencanaan yang dilakukan oleh bagian personalia. •
Komunikasi (Communications)
Dapat menjalin hubungan yang lebih erat antara supervisor dengan bawahannya. •
Keadilan (Fairness)
Sehingga dapat membantu memberi informasi bila akan dilakukan promosi, mutasi, penghargaan, atau pemberhentian. •
Validasi (Validation)
Dapat digunakan dalam validasi pengukuran terhadap alat seleksi untuk calon karyawan. 2.3.4 Proses Evaluasi / Pengukuran Prestasi Karyawan. Fred Steingold berpendapat (2009, p49), “To keep the evaluation process as consistent and objective as possible, devise an evaluation form that you can use with all employees in the same job category. The form should focus on how well the employee has performed the various duties of the job. Fill in the form before you meet with the employee.” Yang dapat diterjemahkan sebagai “Untuk menjaga agar proses evaluasi sekonsisten dan seobjektif mungkin, rencanakan form penilaian
17
(evaluasi) yang dapat digunakan untuk seluruh pekerja dalam kategori pekerjaan yang sama. Form tersubut harus diisi sebelum menemui pekerja yang bersangkutan. Menurut Donald Kirkpatrick (2006, p17), “This is the evaluation or judgement of how well the job has been done. It is always done by supervisor with or without input from other people.” Diterjemahkan sebagai “Penilaian ini digunakan untuk mengevaluasi seberapa baik suatu pekerjaan dilakukan. Hal ini biasanya dilakukan oleh supervisor dengan atau tanpa masukan dari orang lain. Menurut George dan Scott (2009, p370), pengukuran prestasi (performance) dapat dilakukan oleh, manager/supervisor appraisal, peer appraisal, ataupun team appraisal. Jadi dapat disimpulkan bahwa formulir evaluasi harus terlebih dahulu dibuat secara konsisten sehingga dapat digunakan oleh semua karyawan pada kategori pekerjaan yang sama dan akan diisi oleh supervisor atau oleh masing-masing karyawan. Namun biasanya penentuan prestasi (performance) karyawan dilakukan oleh supervisor atau manajer.
2.4 Pajak Penghasilan 2.4.1 Pengertian Pajak Penghasilan Menurut Muhammad Rusjdi (2006, p.2) “Pajak Penghasilan adalah : 1. Pajak sebagai Pajak Subjektif Pajak Penghasilan (PPh) tergolong sebagai Pajak Subjektif yaitu pajak yang mempertimbangkan keadaan pribadi Wajib Pajak sebagai faktor utama dalam pengenaan pajak.
18
2. PPh sebagai Pajak Langsung Pajak langsung adalah pajak yang dikenakan terhadap orang yang harus menanggung dan membayarnya. 3. PPh sebagai Pajak Pusat atau Pajak Negara Menurut Undang-Undang 1945 pasal 23A ditentukan bahwa : “Pajak dan pungutan lain yang bersifat memaksa untuk keperluan negara diatur dengan Undang-Undang.” 2.4.2 PPh Pasal 21 Berdasarkan UU RI No. 36 tentang Pajak Penghasilan, Ketentuan Pasal 21 ayat (1) sampai ayat (5), dan ayat (8) diubah, serta di antara ayat (5) dan ayat (6) disisipkan 1 (satu) ayat, yakni ayat (5a) sehingga Pasal 21 berbunyi sebagai berikut : (1) Berdasarkan pajak atas penghasilan sehubungan dengan pekerjaan, jasa, atau kegiatan dengan nama dan bentuk apa pun yang diterima atau diperoleh Wajib Pajak orang pribadi dalam negeri wajib dilakukan oleh : a.
Pemberi kerja yang membayar gaji, upah, honorarium, tunjangan, dan
pembayaran lain sebagai imbalan sehubungan dengan pekerjaan yang dilakukan oleh pegawai atau bukan pegawai. b.
Bendaharawan pemerintah yang membayar gaji, upah, honorarium,
tunjangan, dan pembayaran lain, sehubungan dengan pekerjaan, jasa, atau kegiatan. c.
Dana pensiun atau badan lain yang membayarkan uang pensiun dan
pembayaran lain dengan nama apapun dalam rangka pensiun.
19
d.
Badan yang membayar honorarium atau pembayaran lain sebagai
imbalan sehubungan dengan jasa termasuk jasa tenaga ahli yang melakukan pekerjaan bebas. e.
Penyelenggara kegiatan yang melakukan pembayaran sehubungan
dengan pelaksanaan suatu kegiatan. (2) Tidak termasuk sebagai pemberi kerja yang wajib melakukan pemotongan pajak sebagaimana dimaksud pada ayat (1) huruf a adalah badan perwakilan negara asing dan organisasi-organisasi internasional. (3) Penghasilan pegawai tetap atau pensiunan yang dipotong pajak untuk setiap bulan adalah jumlah penghasilan bruto setelah dikurangi dengan biaya jabatan atau biaya pensiun yang besarnya ditetapkan dengan Peratutan Menteri Keuangan, iuran pensiun, dan Penghasilan Tidak Kena Pajak. (4) Penghasilan pegawai harian, mingguan, serta pegawai tidak tetap lainnya yang dipotong pajak adalah jumlah penghasilan bruto setelah dikurangi bagian penghasilan yang tidak dikenakan pemotongan yang besarnya ditetapkan dengan Peraturan Menteri Keuangan. (5) Tarif pemotongan atas penghasilan sebagaimana dimaksud dalam ayat (1) adalah tarif pajak sebagaimana dimaksud dalam Pasal 17 ayat (1) kecuali ditetapkan lain dengan Peraturan Pemerintah. (5a) Besarnya tarif sebagaimana dimaksud pada ayat (5) yang diterapkan terhadap Wajib Pajak yang tidak memiliki Nomor Pokok Wajib Pajak lebih tinggi 20% (dua puluh persen) daripada tarif yang diterapkan terhadap Wajib Pajak yang dapat menunjukkan Nomor Pokok Wajib Pajak.
20
(6) Dihapus (7) Dihapus (8) Ketentuan mengenai petunjuk pelaksanaan pemotongan pajak atas penghasilan sehubungan dengan pekerjaan, jasa, atau kegiatan diatur dengan atau berdasarkan Peraturan Menteri Keuangan. 2.4.3 Penerima penghasilan yang tidak dipotong PPh Pasal 21 Penerima penghasilan yang tidak dipotong PPh Pasal 21 adalah sebagai berikut: 1. Pejabat perwakilan diplomatic dan konsulat atau pejabat lain dari negara asing, dan orang-orang yang diperbantukan kepada mereka yang bekerja pada dan bertempat tinggal bersama mereka, dengan syarat: - Bukan warga begara Indonesia dan - Tidak menerima atau memperoleh penghasilan lain di luar jabatannya di Indonesia. 2. Pejabat pewakilan organisasi internasional sebagaimana dimaksud dalam Keputusan Menteri Keuangan Nomor: 611/KMK.04/1994 tanggal 23 Desember 1994 sepanjang bukan warga negara Indonesia dan tidak menjalankan usaha atau melakukan kegiatan atau pekerjaan lain untuk memperoleh penghasilan di Indonesia. 2.4.4 Penghasilan yang Dipotong PPh Pasal 21 Penghasilan yang dikenakan pemotongan PPh Pasal 21 yaotu sebagai berikut: 1. Penghasilan yang diterima atau diperoleh pegawai atau penerima pension sevara teratur berupa gaji, uang pension bulanan, upah, honorium
21
(termasuk honorium anggota dewan komisaris atau anggota dewan pengawas), premi bulanan, uang lembur, uang tunggu, uang ganti rugi, tunjangan isteri, tunjangan anak, tunjangan pajak, tunjangan iuran pension, tunjangan pendidikan anak, beasiswa, premi asuransi yang dibayar pemberi kerja dan penghasilan teratur lainnya dengan nama apapun. 2. Penghasilan yang diterima atau diperoleh pegawai, penerima pension atau mantan pegawai 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. 3. Upah harian, upah mingguan, upah satuan dan upah borongan yang diterima atau diperoleh pegawai tidak tetap atau tenaga kerja lepas, serta uang saku harian mingguan yang diterima peserta pendidikan, pelatihan atau pemagangan yang mrupakan calon pegawai. 4. Uang tebusan pensiun, uang Tabungan Hari Tua atau Jaminan Hari Tua, uang pesangon dan pembayaran lain sejenis sehubungan dengan pemutusan hubungan kerja. 5. Honorium uang saku, hadiah atau penghargaan dengan nama dan dalam bentuk apapun komisi, beasiswa, dan pembayaran lain sebagai imbalan sehubungan dengan pekerjaan, jasa, dan kegiatan yang dilakukan oleh Wajib Pajak orang pribadi dalam negeri. 6. Gaji, gaji kehormatan, tunjangan-tunjangan lain yang terkait dengan gaji dan honorium atau imbalan lain yang bersifat tidak tetap yang diterima
22
oleh Pejabat Negara, Pegawai Negeri Sipil serta uang pension dan tunjangan-tunjangan lain yang sifatnya terkait dengan uang pensiun yang diterima oleh pensiunan termasuk janda atau duda atau anak-anaknya. 2.4.5 Penghasilan yang Tidak Dipotong PPh Pasal 21 Yang tidak termasuk penghasilan yang dipotong PPh pasal 21 yaitu: 1. Pembayaran asuransi pada asuransi kecelakaan, asuransi kesehatan, asuransi jiwa, asuransi beasiswa, dan asuransi dwiguna. 2. Iuran pensiun yang dibayar kepada dana pensiun yang pendiriannya telah dilakukan oleh Menteri Keuangan dan Iuran Jaminan Hari Tua kepada badan penyelenggara Jamsostek yang dibayarkan oleh pemberi kerja. 3. Penerima dalam bentuk natura dan kenikmatan kecuali bentuk natura yang diatur dalam Keputusan Dirjen Pajak. 4. Penerimaan dalam bentuk natura dan kenikmatan lain dengan nama apapun yang diberikan oleh pemerintah. 5. Pajak yang ditanggung oleh pemberi kerja. 6. Zakat yang diterima oleh orang pribadi yang berhak dari lembaga atau badan amil zakat yang dibentuk atau disahkan oleh pemerintah. 2.4.6 Kewajiban Pemotong Pajak PPh Pasal 21 Kewajiban daripada pemotong pajak PPh Pasal 21 yaitu: 1. Pemotong pajak pasal 21 wajib memberikan Bukti Pemotongan PPh Pasal 21 (KP.PPh.2.1/BP-95) baik diminta maupun tidak pada saat dilakukannya pemotongan pajak kepada orang pribadi bukan sebagai pegawai tetap,
23
penerima uang tebusan pensiun, penerima THT, penerima pesangon, dan penerima dana pensiun iuran pasti. 2. Pemotong Pajak PPh Pasal 21 wajib memberikan Bukti Pemotongan PPh Pasal 21 tahunan (form 1721-A1 atau 1721-A2) kepada pegawai tetap, termasuk penerima pensiun bulanan dalam waktu dua bulan setelah tahun takwim berakhir. 3. Apabila pegawai tetap berhenti bekerja atau pensiun pada bagian tahun takwim, maka Bukti Pemotongan (form 1721-A1 atau 1721-A2_ diberikan oleh pemberi kerja selambat-lambatnya satu bulan setelah pegawai yang bersangkutan berhenti bekerja atau pensiun. 4. Penerima penghasilan wajib menyerahkan surat pernyataan kepada Pemotong Pajak Pasal 21 yang menyatakan jumlah tanggungan keluarga pada permulaan tahun takwim atau pada permulaan menjadi Subyek Pajak dalam negeri. 5. Untuk melaksanakan kewajiban PPh Pasal 21, Pemotong Pajak PPh Pasal 21/pemberi kerja agar menggunakan Buku Petunjuk Pemotongan PPh Pasal 21. 2.4.7 Penghasilan Tidak Kena Pajak Untuk menghitung besarnya Penghasilan Kena Pajak dari Wajib Pajak orang pribadi dalam negeri, penghasilan netonya dikurangi dengan jumlah Penghasilan Tidak Kena Pajak. Di samping untuk dirinya, kepada Wajib Pajak yang sudah kawin diberikan tambahan Penghasilan idak Kena Pajak per tahun sesuai dengan pasal 7 ayat (1) UU RI No 36 tahun 2008, diberikan paling sedikit sebesar:
24
1. Rp 15.840.000,00 (lima belas juta delapan ratus empat puluh ribu rupiah) untuk diri Wajib Pajak orang pribadi. 2. Rp 1.320.000,00 (satu juta tiga ratus dua puluh ribu rupiah) tambahan untuk Wajib Pajak yang kawin. 3. Rp 15.840.000,00 (lima belas juta delapan ratus empat puluh ribu rupiah) tambahan untuk seorang istri yang penghasilannya digabung dengan penghasilan suami. 4. Rp 1.320.000,00 (satu juta tiga ratus dua puluh 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. Penetapan ketentuan sebagaimana dimaksud pada ayat 1 ditentukan oleh keadaan pada awal tahun pajak atau awal bagian tahun pajak. 2.4.8 Tarif Pajak Penghasilan Sesuai dengan pasal 17 ayat (1) huruf a Undang-Undang Nomor 36 tentang Pajak Penghasilan, besarnya tarif pajak yang ditetapkan atas Penghasilan Kena Pajak bagi Wajib Pajak orang pribadi dalam negeri disajikan dalam tabel berikut:
Tabel 2.1 Tarif pajak penghasilan pasal 21 Lapisan Penghasilan Kena Pajak
Tarif Pajak
Sampai dengan Rp. 50.000.000,00 (lima puluh 5 % (lima persen) juta rupiah)
25
Diatas Rp. 50.000.000,00 (lima puluh juta rupiah) sampai dengan Rp. 250.000.000,00 15 % (lima belas persen) (dua ratus lima puluh juta rupiah) Diatas Rp. 250.000.000,00 (dua ratus lima 25 % (dua puluh lima puluh juta rupiah) sampai dengan Rp. persen) 500.000.000,00 (lima ratus juta rupiah) Diatas Rp. 500.000.000,00 (lima ratus juta 30 (tiga puluh persen) rupiah)
2.5 Object Oriented Analysis and Design 2.5.1 Pengertian Objek dan Class Menurut Mathiassen et al. (2000, p.4), “Object : an entity with identity, state, and behavior.” Objek adalah sebuah entitas yang memiliki identitas, status dan behavior. Sedangkan “ Class : a description of a collection of objects sharing structure, behavioral pattern, and attribute”, yang diartikan sebagai sebuah gambaran dari sekelompok objek yang memiliki sturcture, behavioral pattern, dan attributes. Menurut Simon Bennett et al. (2006, p71), “Objects that are sufficiently similar to each other are said to belong the same class. Instance is another word for a single object, but it also carries connotations of the class to which that object belongs. So like an object, an instance represents a single person, thing or concept in the application domain.” Class adalah sebuah konsep yang menggambarkan sekumpulan objek yang dispesifikasikan dengan cara yang sama. Sebuah objek dapat disebut
26
sebagai instance. Instance akan merepresentasikan seseorang, benda atau konsep pada application domain. Menurut Kathy dan Bert (2005, p35), “A class is not an object. (but it’s used to construct them). A class is a blueprint for an object.” Class bukan sebuah objek (namun untuk membuatnya). Class adalah rincian detil untuk sebuah objek. Jadi dapat disimpulkan bahwa sebuah class dapat dijadikan sebagai beberapa objek, karena sebuah objek dibentuk berdasarkan class. Class perlu dibuat terlebih dahulu sebelum membuat objek. Dalam melakukan analisis sistem, objek digunakan untuk membantu pemahaman akan konteks sistem (system’s context). Sedangkan dalam melakukan perancangan
sistem,
objek
digunakan
untuk
membantu
pemahaman
dan
penggambaran sistem itu sendiri. 2.5.2 Aktivitas Orientasi Objek Berdasarkan pendapat Lars Mathiassen et al. (2000, p.14) “OOA&D covers the four main activities”. Analisa dan perancangan berorientasi objek meliputi empat pandangan melalui empat kegiatan utama yang terdiri dari dua tahap analisa dan dua tahap perancangan.
27
Gambar 2.2 Aktivitas orientasi objek
Keuntungan aktivitas berorientasi objek yaitu: abstraksi dan reusable. Aktivitas ini memperhatikan / berorientasi kepada objek, bukan class. Sehingga hanya yang dianggap penting yang diperhatikan. Yang dianggap tidak penting, untuk sementara boleh diabaikan. Objek dibentuk dari class, dan objek tersebut dapat digunakan berulang-ulang, yang disebut reusable. Dalam
analisis
dan
perancangan
berorientasi
objek,
dikenal
istilah
encapsulation, polymorphism, dan inheritance. Menurut Brett, Gary, dan David (2006, p.28), “Encapsulation allows you to hide the inner workings of your application’s part.” Enkapsulasi mengijinkan untuk menyembunyikan pekerjaan dalam dari bagian aplikasi.
28
Menurut Simon Bennett et al. (2006, p.81), “Polymorphism literally means, an ability to appear as many forms.” Maka polymorphism adalah kemampuan untuk memiliki banyak bentuk. Menurut Matt Weisfeld (2004, p.27), “Polymorphism means that similar objects can respond to the same message in different manners.” Diterjemahkan menjadi polymorphism dapat diartikan beberapa objek merespon pesan yang sama dengan cara yang berbeda. Menurut Matt Weisfeld (2004, p.21), “Inheritance allows a class to inherit the attributes and methods of another class.” Inheritance digunakan untuk menurunkan sifat (attributes dan methods) suatu class ke class lain. Class yang menurunkan sifat disebut superclass, sedangkan class yang menerima sifat disebut subclasses.
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 diartikan sebagai gambaran atau penjelasan deskripsi singkat dari sistem yang terkomputerisasi dengan penggunaan bahasa sehari-hari. 2.5.3.1
Rich Picture Berdasarkan pendapat Lars Mathiassen et al. (2000, p.26), “A rich
picture is an informal drawing that presents the illustrator’s understanding of a situation”. Dapat diterjemahkan sebagai, rich picture adalah gambaran yang menunjukkan pemahaman tentang sebuah situasi. Biasanya digunakan untuk menggambarkan proses bisnis suatu perusahaan.
29
2.5.3.2 FACTOR Lars Mathiassen et al berpendapat (2000, p.39), “The FACTOR criterion consists of six elements: 1. Functionality : the system functions that support the application demand tasks. 2. Application domain : those parts of an organization that administrate, monitor, or control a problem domain. 3. Conditions : the conditions under which the system will be developed and used. 4. Technology : both technology used to develop the system and the technology on which the system will run. 5. Objects : the main objects in the problem domain. 6. Responsibility : the sytem’s overall responsibility in relation to its context.” Kriteria FACTOR terdiri dari enam elemen, yaitu : 7. Functionality : fungsi dari system yang mendukung tugas-tugas dari application domain. 8. Application
domain
:
bagian
dari
organisasi
yang
mengadministrasi, mengawasi, dan mengontrol problem domain. 9. Conditions : kondisi dimana system dikembangkan dan digunakan.
30
10. Technology : teknologi yang digunakan untuk mengembangkan sistem dan teknologi yang digunakan untuk menjalankan sistem. 11. Objects : objek utama dalam problem domain. 12. Responsibility : tanggung jawab sistem secara keseluruhan terhadap konteks dari sistem tersebut.
2.5.4 Problem Domain Analysis 2.5.4.1 Pengertian Problem Domain Berdasarkan pendapat Lars Mathiassen et al. (2000,p.6) “Problem domain : that part of a context that is administrated, monitored or controlled by a system.” Yang dapat diterjemahkan sebagai “Problem domain adalah keadaan nyata yang dapat dilakukan, dipantau atau dikendalikan oleh sistem. Analisa Problem domain dapat membantu dalam
mengidentifikasi dan
membuat model atau tiruan dari problem domain yang digambarkan dalam bentuk event table, class diagram, dan statechart diagram.” 2.5.4.2
Pengertian Class, Event, dan Behavior Menurut Atul Kahate (2004, p.262), “A class is a representation of a
real-world object. A class consists of attributes and methods.” Yang dapat diterjemahkan sebagai “Class merupakan representasi dari objek. Sebuah class memiliki atribut dan method.” Menurut Lars Mathiassen et al. (2000, p.53) “Class is a description of a collection of objects sharing structure, behavioural pattern and attributes.”
31
Jadi class adalah gambaran dari sekumpulan objek yang memiliki sturcture, behavioral pattern, dan attributes. Lars Mathiassen et al. berpendapat (2000, p.74) “A cluster is a collection of classes that helps us achieve and provide a problem-domain overview. Classes within a cluster are usually connected by either a generalization structure or an aggregation structure.” Jadi cluster merupakan sekumpulan class untuk menggambarkan garis besar problem domain. Class pada sebuah cluster biasanya dihubungkan dengan struktur generalisasi atau agregasi. Menurut Lars Mathiassen et al. (2000, p.51) “Event is an instantaneous incident involving one or more objects.” Yang diterjemahkan sebagai “Event adalah kejadian seketika yang melibatkan satu atau lebih objek. Menurut Mathiassen et al. (2000, p.90, p.93), “Behavioral pattern : A description of possible event traces for all objects in a class. Sequence : Events in a set occur one by one. Selection : Exactly one out a set of events occurs. Iteration : An event oocurs zero or more times.” Dalam aktivitas behavior, class yang digambarkan dalam class diagram, diperluas dengan menambahkan behavioral pattern dan attribute dari masing-masing class. Terdapat 3 (tiga) jenis notasi behavioural pattern yaitu: Sequence, Selection, dan Iteration.
32
Gambar 2.3 Contoh statechart diagram
2.5.5 Application Domain Analysis 2.5.5.1 Pengertian Application Domain Menurut Lars Mathiassen et al. (2000, p.6) “Application domain : The organization that administrates, monitors, or controls a problem domain.” Yang dapat diterjemahkan sebagai “Application domain adalah organisasi yang mengatur, mengawasi atau mengendalikan sebuah problem domain. Hasil dari analisa application domain dibuat dalam bentuk usecase, sequence diagram, function list, dan interface.” 2.5.5.2 Pengertian Usage, Function dan Interface Menurut Lars Mathiassen et al. (2000, p.119), “Analyzing an existing application domain can create a huge amount of detailed information that has little value to the development process. For efficiency, you must maintain a relevant level of abstraction and focus on the interaction between users and the system.” Menganalisis application domain yang ada dapat menghasilkan rincian informasi yang sangat banyak, dimana informasi-informasi tersebut
33
hanya memberikan sedikit bantuan terhadap proses pengembangan. Untuk itu, tingkat abstaksi haruslah ditentukan dan fokus terhadap interkasi antara sistem dan penggunanya. Lars Mathiassen et al. berpendapat (2000, p.120), “Use case : A pattern for interaction between the system and actors in the application domain.” Use case merupakan sebuah pola interaksi antara sistem dengan aktor pada application domain. Berdasarkan pendapat Deacon John (2009, p.73), “A use case scenario describes an example of the system-to-be in action.” Penggunaan use case dapat membantu mengatasi masalah tersebut. Dimana use case diartikan sebagai pola interaksi antara sistem dan aktor dalam application domain. Menurut Simon Bennett (2006, p.145), “Use cases are descriptions of the functionality of the system from the users’ prespective.” Dapat diterjemahkan menjadi, use case adalah gambaran fungsi sistem dari sudut pandang pengguna sistem. Use case juga akan menggambarkan pengguna mana yang akan berkomunikasi dengan sistem untuk menjalankan fungsi yang ada. Mathiassen et al. (2000, p.138) berpendapat ”Function is a facility for making a model useful for actor”. Diterjemahkan menjadi : function adalah fasilitas yang membuat model berguna bagi actor. Tipe-tipe function yaitu : update, signal, read dan compute. Mathiassen et al. (2000, p.151) menyatakan, ”Interface is a facilities that make a system’s model and functions available to actor”. Dapat diartikan sebagai berikut: Interface yaitu suatu fasilitas untuk membuat suatu sistem
34
model dan fungsi-fungsi yang tersedia bagi aktor. Sedangkan menurut Atul Kahate (2004, p.264), sebuah interface berfungsi untuk merepresentasikan class pada lingkungan eksternal (user). 2.5.5.3
Sequence Diagram Menurut Simon Bennet et al. (2006, p252), “An interaction sequence
diagram (or simply a sequence diagram) is one of several kinds of UML interaction diagram which is semantically equivalent to a communication diagram for simple interactions.” Dapat diterjemahkan menjadi sequence diagram adalah salah satu jenis diagram interaksi pada UML yang juga merupakan diagram komunikasi untuk interaksi sedarhana. Sequence diagram menggambarkan interaksi antara objek yang sesuai dengan alur waktu.
2.5.6 Architectural Design 2.5.6.1 Pengertian Architectural Design Lars Mathiassen et al. menyatakan (2000, p173), “Successful system are distinguished from less successful ones by a powerful architectural design. The architecture structures a system according to parts and satisfies certain design criteria.” Kesuksesan suatu sistem ditentukan dari kekokohan desain arsitekturnya. Arsitektur membuat sistem berdasarkan kebutuhan dan kriteria desain sistem tersebut. Architectural design terdiri dari 3 (tiga) aktivitas yaitu : Criteria, Components, dan Processes.
35
Gambar 2.4 Aktivitas architectural design
2.5.6.2 Pengertian Criteria Mathiassen et al. (2000, p.177) menyatakan, “Result : A collection of prioritized criteria. A good design has no major weaknesses. A good design balances several criteria. A good design is usable, flexible, and comprehensible.” Tujuan dari sebuah criteria adalah untuk mempersiapkan prioritas dari sebuah perancangan. Sebuah perancangan yang baik harus tidak memiliki kelemahan yang besar, keseimbangan antar kriteria, dan harus usable, flexible, dan comprehensible. 2.5.6.3 Pengertian Component Architecture Lars Mathiassen et al. berpendapat (2000, p.190), “ Component : A collection of program parts that constitutes a whole and has well-defined responsibilities. ” Sedangkan Component Architecture diartikan sebagai struktur sistem yang terbentuk dari komponen yang saling berhubungan.
36
Menurut Atul Kahate (2004, p.269), “Class represents a logical view. Component represents a physical view e.g. document, executable file, source file, data file, table. Location, library file.” Jadi class lebih bersifat logis sedangkan component lebih bersifat fisik (komputerisasi) Menurut pendapat Mathiassen et al. (2000, p.189), “Reduce complexity by separating concerns. Reflect stable context structures. Reuse existing components.” Suatu component architecture 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. Uraian umum dan solusi yang dapat dilakukan dalam component architecture yaitu : Layered, Generic, dan Client-Server Architecture Pattern. Layered Architecture Pattern merupakan bentuk arsitektur yang paling sederhana. Component hanya bertanggung jawab secara upward atau downward.
Gambar 2.5 Layered architecture pattern
37
Pada generic architecture pattern, model component terletak pada lapisan (layer) bawah, kemudian function component terletak di atasnya, dan interface terletak pada lapisan teratas. Biasanya lapisan paling bawah pada generic architecture pattern yaitu technical platform component.
Gambar 2.6 Generic architecture pattern
Client server architecture pattern digunakan apabila prosesor terpisah secara geografis. Pattern ini terdiri dari server dan beberapa client.
Gambar 2.7 Client-server architecture pattern
38
Tabel 2.2 Bentuk distribusi client-server architecture. Client U U U+F U+F U+F+M
Server U+F+M F+M F+M M M
Architecture Distributed presentation Local presentation Distributed functionality Centralized data Distributed data
Sumber : Lars Mathiassen et al. (2000, p.200)
2.5.6.4 Pengertian Process Architecture Menurut Lars Mathiassen et al. (2000, p.211) “Process architecture is a system execution structure composed of interdependent processes.” Process architecture lebih dekat dengan perangkat keras (hardware). Hasil dari proses ini yaitu deployment diagram yang mendeskripsikan distribusi dan kolaborasi komponen-komponen program dan active objects pada prosesor. Menurut Simon Bennett (2006, p.558), “Deployment diagrams are used to show the configuration of run-time processing elements and the software components, artefacts and processes that are located on them.” Terdapat tiga jenis pola distribution pattern, yaitu : the centralized pattern, the distributed pattern, dan the decentralized pattern. Kelebihan centralized pattern yaitu biaya yang rendah untuk client, data lebih konsisten, dan jaringan yang digunakan cukup sederhana. Namun kekurangannya yaitu rendahnya robustness, waktu akses lebih tinggi karena data digunakan bersama, serta tidak memiliki backup. Kelebihan distributed pattern yaitu waktu akses lebih sedikit, tingginya robustness, dan memiliki backup. Kelemahan decentralized pattern
39
yaitu penggandaan data, lalu lintas pada jaringan menjadi lebih tinggi, biaya untuk client lebih tinggi, dan arsitektur bersifat lebih rumit. Kelebihan decentralized pattern yaitu data yang konsisten dan waktu akses lebih rendah. Sedangkan kelemahannya yaitu biaya untuk prosesor / perangkat keras lebih besar.
2.5.7 Component Design Perancangan komponen dilakukan untuk menentukan keperluan-keperluan yang berhubungan dengan pengimplementasian pada kerangka arsitektur. Terdiri dari tiga aktivitas, yaitu : model component, function component, dan connecting component. 2.5.7.1 Pengertian Model Component Menurut Lars Mathiassen et al. (2000, p.236) “Model component is a part of a system that implements the problem domain model” yang diartikan sebagai
“Model
component
adalah
bagian
dari
sistem
yang
mengimplementasikan model problem domain.” Tujuan dari model component yaitu menyampaikan data sekarang dan data historis kepada function, interface, dan kepada para pengguna sistem maupun kepada sistem lain. Hasil dari aktivitas model component yaitu class diagram yang direvisi. Revisi terdiri dari penambahan class, attributes, dan structure yang merepresentasikan event. Event yang hanya terlibat dalam sebuah objek disebut private event. Sedangkan event yang terlibat dalam beberapa objek disebut common events.
40
Pengubahan (revisi) class dapat dilakukan dengan cara: generalization, association, dan embedded iterations. 2.5.7.2 Pengertian Function Component Menurut Lars Mathiassen et al. (2000, p.252) “Function component is a part of a system that implements functional requirements” yang diartikan sebagai
“Function
component
yaitu
bagian
dari
sistem
yang
mengimplementasikan kebutuhan fungsional.” Tujuan dari function component yaitu menghubungkan pengguna sistem atau sistem lain dengan model. Function dapat dirancang sebagai operasi, yaitu : update, read, compute, dan signal. Function dirancang dan diimplementasikan menggunakan operation dalam class. Operation dapat diartikan sebagai behavior yang dapat diaktifkan melalui sebuah objek. Operation juga dapat diartikan sebagai prosedur. 2.5.7.3 Pengertian Connecting Components Aktivitas ini bertujuan untuk menghubungan komponen-komponen sistem. Coupling dan cohesion adalah standard kualitas yang diukur dengan mengevaluasi class diagram komponen yang bersangkutan. Coupling adalah ukuran seberapa erat hubungan antara dua class atau komponen. Sedangkan cohesion adalah ukuran seberapa erat hubungan dalam sebuah class atau komponen. Menurut Simon Bennett (2006, p.382), “Interaction coupling should be kept to a minimum to reduce the possibility of changes rippling through the interfaces and to make reuse easier. Good design produces highly cohesive
41
operations, each of which deals with a single functional requirement.” Sebuah sistem yang baik, hendaknya memiliki coupling yang rendah dan cohesion yang tinggi. Menurut Lars Mathiassen et al. (2000, p.275), “There are three forms of connection. Aggregating another component’s classes. Specializing another component’s public class. Calling public operations in another component’s objects.” terdapat tiga bentuk hubungan antar komponen, yaitu : •
Mengaggregasikan class component lain.
•
Mengspesialisasikan class component public lain..
•
Memanggil public operation dari komponen objek lain..
2.5.8 Pengertian Dokumentasi Berdasarkan pendapat Lars Mathiassen et al. (2000, p.300), “In system development, documents play central role and serve different needs, acting as : work tools that collect and structure subresults as they are produced. Control tools to measure work progress, and tools that retain agreements about system requirements and design.” Dokumentasi dibuat dalam bentuk dokumen analisis dan dokumen perancangan. Dokumen analisis membentuk dasar dari requirement specification, yang merupakan kesepakatan / persetujuan antara user dengan pengembang sistem. Sedangkan dokumen perancangan berperan sebagai kerangka referensi bagi programer. Dokumentasi dilakukan dengan tujuan sebagai alat kerja yang mengumpulkan dan menyusun apa yang telah dihasilkan, sebagai alat untuk mengukur kemajuan
42
kerja, dan sebagai alat untuk menyimpan kesepakatan / persetujuan mengenai system requirement dan perancangan.