bab 2 landasan teori 2.1 pengertian...
TRANSCRIPT
BAB 2
LANDASAN TEORI
2.1 Pengertian Sistem
Menurut Hall (2001,p.5), sistem adalah sekelompok dua atau lebih
komponen yang saling berkaitan atau subsistem – subsistem yang bersatu untuk
mencapai tujuan yang sama.
Menurut Romney dan Steinbart (2006,p.4), ”system is a set of two or more
interrelated components that interact to achieve a goal”
Jadi dapat disimpulkan bahwa sistem merupakan sekelompok komponen /
elemen yang saling berhubungan satu dengan yang lainnya untuk mencapai tujuan
yang sama.
2.2 Pengertian Sistem Informasi
Menurut O’Brien (2005,p5), sistem informasi dapat merupakan kombinasi
teratur apa pun dari orang – orang , hardware, software, jaringan komunikasi, dan
sumber daya data yang mengumpulkan, mengubah, dan menyebarkan informasi
dalam sebuah organisasi.
Menurut Hall (2001,p.7), sistem informasi adalah sebuah rangkaian prosedur
formal dimana data dikumpulkan, diproses menjadi informasi dan didistribusikan
kepada para pemakai.”
Dilihat dari dua definisi diatas dapat ditarik kesimpulan bahwa sistem
informasi merupakan kombinasi dari orang, perangkat, data dan sumber daya lainnya
yang dapat menghasilkan informasi yang dibutuhkan bagi pemakainya.
10
2.3 Sistem Informasi Akuntansi
2.3.1 Pengertian Sistem Informasi Akuntansi
Menurut Wilkinson, Cerullo, Vasant and Bernard (2000, p.7), ”Accounting
information system is a unifed structure within an entity, such as a 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”. Kutipan diatas dapat diterjemahkan, sistem informasi akuntansi
adalah sebuah struktur kesatuan di dalam suatu entitas, seperti perusahaan bisnis,
yang mempekerjakan sumber daya fisik dan komponen – komponen lainnya untuk
mengubah data ekonomi ke dalam informasi akuntansi.
Menurut Romney dan Steinbart (2006,p.6), ” Accounting information system
is a system that collect, record, stores, and prosesess data to produce information
for decition makers” , yang dapat diterjemahkan bahwa sistem informasi akuntansi
adalah sistem yang menggumpulkan, mencatat, menyimpan, dan memproses data
menjadi informasi untuk pengambilan keputusan.
Dari beberapa definisi diatas dapat disimpulkan bahwa sistem informasi
akuntansi merupakan suatu sistem yang merupakan suatu kesatuan dari entitas yang
mampu mengumpulkan, mencatat, menyimpan dan memproses data menjadi
informasi yang berguna bagi pemakainya dalam mengambil keputusan penting
dalam perusahaan.
11
2.3.2 Tujuan dan Kegunaan Sistem Informasi Akuntansi
Menurut Wilkinson et al. (2000, p.8), tujuan dan kegunaan dari Sistem
Informasi Akuntansi adalah :
1. Mendukung operasional sehari – hari
2. Mendukung pengambilan keputusan bagi pengambil keputusan internal.
3. Untuk memenuhi kewajiban atau tanggung jawab yang sesuai dengan
jabatannya.
Menurut Romney dan Steinbart (2006,p.8-9), sebuah Sistem Informasi
Akuntansi yang dirancang dengan baik dapat melakukan hal – hal berikut ini :
1. Meningkatkan kinerja dan menurunkan biaya dari barang dan jasa.
2. Meningkatkan efisiensi.
3. Meningkatkan pengambilan keputusan.
4. Membagi pengetahuan.
2.3.3 Komponen – Komponen Sistem Informasi Akuntansi
Menurut pendapat Romney dan Steinbart (2006,p.6-7) dapat disimpulkan
bahwa, ” Sistem Informasi terdiri dari enam komponen, yaitu :
1. People, yang mengopersikan sistem dan menampilkan berbagai fungsi.
2. Prosedures and instructions, baik manual maupun otomatis termasuk dalam
kegiatan pengumpulan, pemprosesan, dan penyimpanan data tentang kegiatan
organisasi
3. Data, tentang organisasi dan proses bisnis organisasi.
4. Software, digunakan untuk memproses data organisasi.
12
5. Information technology infrastucture, termasuk komputer, peripheral devices,
dan peralatan jaringan komunikasi yang digunakan untuk mengumpulkan,
memproses, meyimpan dan mentransformasikan data dan informasi.
6. Internal control and security meansures, yang menjaga keamanan data dalam
Sistem Informasi Akuntansi.”
2.4 Sistem Informasi Akuntansi Penjualan , Piutang Usaha dan Penerimaan
Kas
2.4.1 Pengertian Penjualan
Menurut Standar Akuntansi Keuangan (2007), “Pendapatan dari penjualan
barang harus diakui bila seluruh kondisi berikut dipenuhi :
a) Perusahaan telah memindahkan risiko secara signifikan dan memindahkan
manfaat kepemilikan barang kepada pembeli;
b) Perusahaan tidak lagi mengelola atau melakukan pengendalian efektif atas barang
yang dijual;
c) Jumlah pendapatan tersebut dapat diukur dengan andal;
d) Besar kemungkinan manfaat ekonomi yang dihubungkan dengan transaksi akan
mengalir kepada perusahaan tersebut; dan
e) Biaya yang terjadi atau yang akan terjadi sehubungan transaksi penjualan dapat
diukur dengan modal.” (PSAK no 23 paragraf 13)
Menurut Warren, Reeve dan Fees (2002,p.231), ” revenue from merchandise
sales is usually identified in the ledger as Sales.
13
Maka dapat disimpulkan bahwa penjualan merupakan transaksi antara
penjual dan pembeli yang menyebabkan terjadinya perpindahaan barang atau
pelayanan jasa yang dapat dilakukan secara tunai maupun kredit.
2.4.2 Pengertian Piutang Usaha
Pengertian piutang usaha menurut Bodnar dan Hopwood (2004,p.727) adalah
” account receivable represents the money owned by customers for merchandise sold
or service rendered on account” yang dapat diterjemahkan sebagai berikut piutang
usaha merupakan uang yang terhutang oleh konsumen atas barang yang telah dijual
atau jasa yang diberikan kepadanya. Piutang menunjukkan kredit konsumen dan
informasi mengenai pembayaran yang telah dilakukan, yang bermanfaat bagi
administrasi kebijakan kredit perusahaan secara keseluruhan.
Menurut Keiso, Weygandt, Warfield (2004,p318), piutang usaha
didefinisikan sebagai ”claims held against customers and others for money, goods,
or services.”, yang berarti bahwa piutang usaha merupakan klaim terhadap
konsumen atas yang lainnya untuk uang, barang atau jasa.
Dari dua definisi diatas dapat disimpulkan bahwa piutang usaha merupakan
klaim uang terhadap konsumen atas barang yang telah dijual atau jasa yang telah
diberikan.
2.4.3 Tujuan dan Kegunaan Sistem Informasi Akuntansi Penjualan
Menurut pendapat Wilkinson et al. (2000,p.416) tujuan dari sistem informasi
akuntansi siklus pendapatan secara umum adalah :
1. Mencatat order penjualan secara akurat dan cepat
14
2. Mengidentifikasi pelanggan yang layak mendapat kredit
3. Mengirimkan produk atau melakukan pelayanan pada waktu yang tepat
4. Menagih piutang usaha kepada pelanggan tepat pada waktunya
5. Mencatat dan mengklasifikasi penerimaan kas secara tepat dan akurat.
6. Memposting penjualan dan penerimaan kas ke akun – akun yang berhubungan ke
dalam buku besar piutang
7. Mengamankan produk sampai pengiriman
8. Mengamankan kas sampai di deposit
2.4.4 Dokumen Yang Berhubungan Dengan Siklus Pendapatan
Menurut pendapat Wilkinson et al. (2000,p.419), dokumen yang dibutuhkan
pada penjualan adalah :
1. Customer Order
Merupakan purchase order yang diterima oleh customer atau form yang
disiapkan oleh bagian penjualan dari perusahaan penjual
2. Sales Order
Sebuah form yang formal, multicopy yang disiapkan dari customer order
3. Order Acknowledgment
Biasanya copy dari sales order dikirimkan ke pelanggan untuk memperoleh
dokumen penerimaan pesanan
4. Picking List
Merupakan copy dari sales order atau dokumen terpisah yang dikirimkan ke
gudang untuk digunakan dalam pengambilan barang yang dipesan
5. Picking Slip
15
Adalah copy dari sales order atau picking list yang ditempelkan bersama barang
ketika dipersiapkan untuk pengiriman.
6. Billing of Lading
Dokumen yang digunakan untuk perusahaan pengiriman yang akan mengirimkan
produk
7. Shipping Notice
Biasanya copy dari sales order atau dokumen pengiriman terpisah yang
berfungsi sebagai bukti bahwa barang telah dikirimkan
8. Sales Invoice
Dokumen yang dikirimkan kepada pelanggan untuk menyatakan berapa jumlah
penjualan.
9. Remittance Advice
Dokumen yang menunjukkan jumlah penerimaan kas dari pelanggan
10. Deposit Slip
Dokumen yang menyertai penyetoran uang ke bank
11. Back Order
Dokumen yang dipersiapkan ketika kuantitas dari persedia tidak mencukupi
jumlah yang diminta pada sales order
12. Credit Memo
Dokumen yang memungkinkan pengurangan kredit pelanggan untuk
pengembalian penjualan atau penyisihan penjualan.
13. Credit Application
Form yang dipersiapakan ketika pelanggan baru mengajukan kredit
14. Salesperson Call Report
16
Form yang digunakan untuk menggambarkan panggilan yang dibuat oleh
salesperson kepada pelanggan potensial dan mengidentifikasi hasil dari panggilan
tersebut.
15. Delinquent notice
Catatan yang dikirimkan kepada pelanggan yang melewati batas saldo kredit
16. Write-off Notice
Dokumen yang dipisahkan oleh manajer kredit ketika akun dinyatakan tidak
dapat di tagih
17. Cash Register Reciept
Form yang menunjukkan kas yang diterima, yang digunakan retailer.
2.4.5 Fungsi – Fungsi Yang Terkait
Menurut Wilkinson et al. (2000,p.417), unit – unit yang terkait dalam
penjualan adalah :
1. Marketing / Distribution
Unit / bagian marketing mempunyai fungsi untuk meriset pasar dengan cara
mempelajari sikap dan daya beli pelanggan, mempromosikan dan mengiklankan
produk sesuai dengan strategi promosi yang telah dibuat, menangani permintaan
dan keluhan pelanggan, mengembangkan dan merancang produk meliputi gaya,
kemasan dan kinerja produk, konsentrasi penjualan pada peramalan penjualan
yang telah dibuat, dan pengevaluasian hasil kinerja penjualan, pengapalan dan
transportasi untuk mendistribusikan barang sesuai dengan order pelanggan pada
waktu yang tepat, tidak rusak, dan sesuai dengan permintaan pelanggan.
17
2. Financial / Accounting
Unit / bagian ini mempunyai tanggung jawab antara lain : budgeting dan cash
planning membuat anggaran jangka pendek dan panjang serta melakukan peramalan
kas, kredit dan collections mengembangkan kebijakan kredit dan penagihan serta
pengaturan agar kebijakan kredit tersebut dipatuhi oleh masing – masing pelanggan;
cash receipts menangani masalah penerimaan kas; billing menyiapkan sales invoice;
inventory control memelihara keseimbangan persediaan; general ledger memelihara
buku besar dari semua akun neraca dan rugi laba yang berasal dari laporan keuangan
yang disiapkan.
2.4.6 Prosedur – Prosedur Terkait Dalam Penjualan dan Piutang Usaha
Mengacu pada Wilkinson et al. (2000, p.422), prosedur dalam yang tekait
dalam penjualan adalah :
1. order entry
Setiap pemesanan dari pelanggan dientri kedalam sebuah form penjualan,
pengentrian dilakukan berdasarkan customer order dari pelanggan atau
pemesanan dari telepon oleh pelanggan. Langkah pertama yang dilakukan dalam
mengentri pesanan adalah pengecekan apakah jumlah barang yang dipesan
tersedia. Apabila jumlah barang yang ada tidak mencukupi, dilakukan proses
back order, yaitu suatu proses dimana dibuat suatu form back order yang akan
dikirim kepada pemasok terpilih untuk memesan barang yang dibutuhkan.
Kemudian dilakukan pengecekan kepada status kredit pelanggan. Apabila semua
kebijakan kredit terpenuhi maka dibuat order acknowledgment untuk pelanggan,
dan picking list untuk bagian gudang.
18
2. shipping
Apabila barang yang dipesan telah disiapkan oleh bagian gudang, maka proses
selanjutanya adalah proses pengiriman. Dalam pengiriman barang, perlu
diperhatikan beberapa dokumen pengapalan, seperti packing slip, bill of lading,
dan shipping notice.
3. billing
setelah shipping notice diterima, pada hari itu juga dibuat sales invoice,
pendebatan piutang usaha sejumlah tertagih, jumlah persediaan berkurang
sejumlah barang yang dikirimkan, sales order di tutup ke sales history file,
record baru dibuat dalam sales invoice file, jumlah penjualan dan piutang
diposting ke buku besar bersangkutan. Sales invoice yang telah dibuat akan
dikirim kepada pelanggan sebagi tagihan atas piutang.
2.4.7 Laporan Yang Terkait Dengan Sistem Informasi Akuntansi Penjualan,
Piutang Usaha dan Penerimaan Kas
Menurut Wilkinson et al. (2000,p.437), laporan – laporan yang terkait dengan
siklus penjualan dan piutang usaha adalah :
1. Monthly statement
Merupakan daftar dari semua sales invoice (tagihan) yang ada untuk pelanggan.
2. Open order report
Menunjukkan semua sales order (pesanan pelanggan) yang belum dikirim dan
ditagih.
3. Sales invoice register
Merupakan daftar semua sales invoice yang diatur bersadasarkan nomornya.
19
4. Shipping register
Merupakan daftar dari semua pengiriman yang diatur berdasarkan tanggal
pengirimannya.
5. Cash receipt journal
Merupakan daftar dari nilai yang diterima, dan diatur secara kronologis.
6. Credit memo register
Merupakan daftar dari semua retur penjualan, yang diatur berdasarkan
berdasarkan nomor memo kredit.
2.4.8 Analisa Kredit Dalam Pemberian Kredit Kepada Pelanggan
Dalam melaksanakan penjualan kredit, perusahaan melakukan analisa
terhadap kredit yang akan diberikan kepada pelanggan. Menurut Munawir (2004,
p.235 – 236), dapat disimpulkan bahwa, ” Syarat – syarat pemberian kredit dikenal
dengan 5C , dengan penjelasan sebagai berikut :
1. Character
Keterangan mengenai sifat – sifat pribadi pelanggan dalam memenuhi
kewajiban keuangannya. Karakter ini mencerminkan kejujuran seseorang. Para
manajer kredit sering kali mencari informasi dari rekan – rekan kerja, pegawai dan
saingan mengenai reputasi, kebiasaan pelanggan dan pergaulan sosialnya.
2. Capacity
Hal ini menyangkut kemampuan pemimpin perusahaan pelanggan beserta
stafnya, baik kemampuan dalam manajemen maupun kemampuan dalam bidang
usahanya. Kapasitas pelanggan dapat dilihat dari angka penjualan dan
20
pembeliannya, angka hasil produksi, perhitungan laba rugi perusahaan, dan data
financial lainnya.
3. Capital
Hal ini mengacu kepada kondisi umum bisnis pelanggan secara keseluruhan
yang ditunjukkan pada laporan keuangan. Manajer kredit biasanya memberikan
perhatian khusus kepada solvabilitas, likuiditas, dan rentabilitas pelanggan
terhadap kewajiban – kewajibannya.
4. Colateral
Ini merupakan jaminan. Hal ini menunjukan besarnya aktiva yang akan
dikaitkan sebagai jaminan atas kredit yang diberikan kepada pelanggan
5. Condition of economic
Hal ini mengacu kepada kondisi secara umum dan kondis i kepada sektor
usaha si pelanggan yang dapat mempengaruhi kemampuan pelanggan untuk
membayar. Contohnya: pada saat resesi ekonomi, manajer kredit akan
memperketat limit kredit atas penjualan sebagai antisipasi terhadap kemungkinan
turunnya kemampuan membayar si pelanggan.
2.5 Pajak Pertambahan Nilai
2.5.1 Definisi
Menurut Undang-Undang Nomor 18 Tahun 2000 Tentang Perubahan Kedua
atas Undang-Undang Nomor 8 Tahun 1983 Tentang Pajak Pertambahan Nilai
Barang dan Jasa dan Pajak Penjualan atas Barang Mewah pasal 1 nomor 25,
21
”23 Pajak Keluaran adalah Pajak Pertambahan Nilai terutang yang wajib dipungut
oleh Pengusaha Kena Pajak yang melakukan penyerahan Barang Kena Pajak,
penyerahan Jasa Kena Pajak, atau ekspor Barang Kena Pajak. “
2.5.2 Objek Pajak Pertambahan Nilai
Menurut Undang-Undang Nomor 18 Tahun 2000 Tentang Perubahan Kedua
atas Undang-Undang Nomor 8 Tahun 1983 Tentang Pajak Pertambahan Nilai Barang
dan Jasa dan Pajak Penjualan atas Barang Mewah :
"Pasal 4
Pajak Pertambahan Nilai dikenakan atas :
a. penyerahan Barang Kena Pajak di dalam Daerah Pabean yang dilakukan oleh
Pengusaha.
b. impor Barang Kena Pajak.
c. penyerahan Jasa Kena Pajak di dalam Daerah Pabean yang dilakukan oleh
Pengusaha.
d. pemanfaatan Barang Kena Pajak tidak berwujud dari luar Daerah Pabean di
dalam Daerah Pabean.
e. pemanfaatan Jasa Kena Pajak dari luar Daerah Pabean di dalam Daerah Pabean;
atau
f. ekspor Barang Kena Pajak oleh Pengusaha Kena Pajak."
22
2.5.3 Tarif Pajak Pertambahan Nilai
Menurut Undang-Undang Nomor 8 Tahun 1983 Tentang Pajak Pertambahan
Nilai Barang dan Jasa dan Pajak Penjualan atas Barang Mewah :
“Pasal 7
(1) Tarif Pajak Pertambahan Nilai berjumlah 10% (sepuluh persen).
(2) Atas ekspor Barang dikenakan pajak dengan tarif 0% (nol persen)
(3) Dengan Peraturan Pemerintah, tarif pajak sebagaimana ditentukan dalam ayat (1)
dapat diubah menjadi serendah – rendahnya 5% (lima persen) dan setinggi –
tingginya 15% (lima belas persen)”
2.6 Pajak Penghasilan Pasal 23
Menurut Undang – Undang Republik Indonesia dengan perubahan keempat dari
Undang - Undang Nomor 36 Tahun 2008 tentang Pajak Penghasilan,
”Pasal 23
(1) Atas penghasilan tersebut dibawah ini dengan nama dan dalam bentuk apapun
yang dibayarkan disediakan untuk dibayarkan, atau telah jatuh tempo
pembayarannya oleh badan pemerintah ,subjek pajak badan dalam negeri,
penyelenggara kegiatan , bentuk usaha tetap, atau perwakilan perusahaan luar
negeri lainnya kepada Wajib Pajak dalam negeri atau bentuk usaha tetap, dipotong
oleh pihak yang wajin membayarkan :
a. Sebesar 15% (lima belas persen) dari jumlah bruto atas :
1) Dividen sebagaimana dimaksud dalam Pasal 4 atay (1) huruf g ;
2) Bunga, sebagaimana dimaksud dalam Pasal 4 ayat(1) huruf f ;
3) Royalti; dan
23
4) Hadiah dan penghargaan, bonus, dan sejenisnya selain yang telah
dipotong Pajak Penghasilan sebagaimana dimaksud dalam Pasal
21 ayat (1) huruf e;
b. Dihapus
c. Sebesar 2% (dua persen) dari jumlah bruto atas:
1) Sewa dan penghasilan lain sehubungan dengan penggunaan harta,
kecuali sewa dan penghasilan sebagimana dimaksud dalam Pasal 4 ayat
(2); dan
2) Imbalan sehubungan dengan jasa teknik, jasa manajemen, jasa
kontruksi, jasa konsultan, dan jasa lain selain jasa yang telah dipotong
Pajak Penghasilan sebagaimana dimaksud dalam Pasal 21.
(2) Ketentuan lebih lanjut mengenai jenis jasa lain sebagaimana dimaksud pada
ayat(1) huruf c angka 2 diatur dengan atau berdasarkan Peraturan Menteri
Keuangan.
(3) Orang Pribadi sebagai Wajib Pajak dalam negeri dapat ditunjuk oleh Direktur
Jenderal Pajak untuk memotong pajak sebagaimana dimaksud pada ayat (1).
(4) Pemotongan pajak sebagimana dimaksud pada ayat (1) tidak dilakukan atas :
a. Penghasilan yang dibayar atau terutang kepada bank;
b. Sewa yang dibayarkan atau terutang sehubungan dengan sewa guna usaha
dengan hak opsi;
c. Dividen sebagaimana dimaksud dalam pasal 4 ayat (3) huruf f dan dividen
yang diterima oleh orang pribadi sebagaimana dimaksud dalam pasal 17
ayat (2c)
d. Dihapus;
24
e. Bagian laba sebagaimana dimaksud dalam pasal 4 ayat (3) huruf i;
f. Sisa hasil usaha koperasi yang dibayarkan oleh koperasi kepada
anggotanya;
g. Dihapus;
h. Penghasilan yang dibayar atau terutang kepada badang usaha atas jasa
keuangan yang berfungsi sebagai penyaluran pinjaman dan/atau
pembiayaan yang diatur dengan Peraturan Menteri Keuangan.”
2.7 Sistem Pengendalian Internal
2.7.1 Pengertian Sistem Pengendalian Internal
Menurut Wilkinson et al.(2000,p.234), pengendalian internal adalah sebuah
sistem, struktur atau proses yang diimplementasikan oleh dewan direksi perusahaan,
manajemen, dan personal lainnya, dengan maksud untuk menyediakan kepastian
yang masuk akal tentang pencapaian tujuan pengendalian dalam kategori sebagai
berikut :
1. efektivitas dan efisiensi dari operasi
2. keandalan dari laporan keuangan
3. kepatuhan terhadap hukum dan peraturan yang diterapkan.
Menurut COSO yang disebutkan dalam Romney dan Steinbart dalam bukunya
(2006,p192), pengendalian internal adalah suatu proses karena memenuhi sebuah
aktivitas operasional organisasi dan merupakan bagian integral dari dasar aktivitas
manajemen. Pengendalian internal menyediakan kepastian yang masuk akal daripada
absolute, karena kemungkinan kesalahan manusia, kolusi, dan kesalahan pengelolaan
manajemen membuat proses menjadi tidak sempurna.
25
Jadi dapat disimpulkan bahwa pengendalian internal merupakan suatu
pengendalian yang dilakukan oleh manajemen dalam upaya melindungi seluruh asset
perusahaan dari hal – hal kecurangan , serta mengecek kandalan dari suatu informasi
dan juga ada otorisasi sebagai penanggung jawab atas setiap transaksi dalam upaya
mencapai tujuan perusahaan.
2.7.2 Aktivitas Pengendalian Internal
Menurut Wilkinson et al. (2000,p.269-289), menyatakan bahwa ada beberpa
aktivitas dalam pengendalian internal meliputi :
1. General Control
• Organizational Controls
Harus dilakukan pemisahan fungsi antara yang melakukan operasional
dengan bagian yang menangani pencatatan
• Documentation Controls
Dokumentasi yang ada harus lengkap dan up-to-date
• Asset AccountabillityControls
Buku besar pembantu piutang harus dipelihara dan direkonsiliasi secara
berkala dengan rekening control yang ada dibuku besar. Demikian juga
halnya dengan pencatatan persediaan
• Management Practices Controls
Karyawan termasuk programer dan akuntan harus diberikan pelatihan audit
yang harus dilakukan terhadap kebijakan penjualan dan penerimaan kas.
Manajer harus melakukan review terhadap analisis periodik dan laporan –
26
laporan mengenai kegiatan – kegiatan akuntansi dan transaksi yang disahkan
melalui komputer.
• Data Center Operation Control
Staff TI dan Akuntansi harus diawasi dan kinerja mereka direview dengan
bantuan laporan control proses komputer dan pencatatan akses.
• Authorization Controls
Semua transaksi penjualan kredit harus di otorisasi oleh manajer kredit
• Access Controls
Menggunakan password , gudang dan kas yang terlindung secara fisik,
melakukan back up terhadap file piutang dan persediaan ke dalam media
lainnya.
2. Application Control
• Input Control
Dokumen – dokumen yang terkait dengan penjualan dan pengiriman
barang bernomor urut tercetak dan diotorisasi oleh orang yang berwenang
Validasi data pesanan penjualan ketika data dimasukkan kedalam proses
Memperbaiki error yang terdeteksi ketika entry data sebelum data
diposting ke file pelanggan danpersediaan
• Processing Control
Perpindahan barang dari gudang barang jadi dan pengiriman barang
hanya atas dasar otorisasi tertulis
27
Pengiriman faktur ke pelanggan dilakukan atas dasar notifikasi dari
departemen pengiriman mengenai barang yang sudah dikirim
Penerbitan memo kredit atas retur penjualan hanya dilakukan kalo barang
sudah dikembalikan
Verifikasi semua catatan komputer terhadap faktur penjualan sebelum
diposting ke file pelanggan, untuk menyakinkan bahwa barang yang
dipesan sesuai dengan yang dikirim.
Simpanan kas negara setelah diterima untuk menghindari penyelewengan
dana.
• Output Control
Menyiapkan laporan bulanan yang harus dikirimkan kepada semua
pelanggan yang berhutang
Copy file dari semua dokumen yang berkaitan dalam transaksi penjualan
dengan nomor yang berurut, untuk mengecek apakah ada nomor yang
terlewat.
Mencetak daftar ringkasan transaksi dan akuntasi secara periodik sebagai
dasar untuk melakukan review.
2.7.3 Komponen – Komponen Pengendalian Internal
Dalam buku Rama dan Jones (2006,p.105), COSO report mengidentifikasikan
lima komponen pengendalian internal yang berpengaruh terhadap kemampuan
organisasi untuk mencapai tujuan pengendalian internal, yaitu :
28
1. Control Environment
Berhubungan dengan beberapa faktor yang disusun organisasi untuk mengontrol
kesadaran pada karyawannya. Faktor tersebut berhubungan dengan integritas,
nilai etika, filosofi, manajemen, dan operating sytle. Hal ini juga termasuk cara
manajemen menetapkan otorisasi dan tanggung jawab, mengatur dan
mengembangkan sumber daya manusia serta perhatian dan petunjuk dari board
of directors.
2. Risk Assessment
Merupakan proses identifikasi dan analisis terhadap resiko yang dapat
menghambat pencapaian tujuan pengendalian internal
3. Control Activities
Merupakan kebijakan dan prosedur yang dikembangkan organisasi untuk
menangani resiko. Control activities meliputi :
• Performance review
Kegiatan yang berhubungan dengan analisis terhadap kinerja, misalnya
dengan membandingkan hasil yang didapat dengan anggaran, standar
perhitungan dan data pada periode sebelumnya.
• Segregation of duties
Terdiri dari penetapan tanggung jawab untuk mengotorisasi transaksi,
melakukan transaksi, mencatat transaksi, menjaga asset yang dilakukan oleh
karyawan yang berbeda.
• Application controls
Berhubungan dengan aplikasi sistem informasi akuntansi.
29
• General controls
Pengawasan yang lebih luas berhubungan dengan berbagai aplikasi.
4. Information and communication
Sistem informasi dalam perusahaan merupakan kumpulan prosedur (manual dan
otomatis) dan pencatatan dalam memulai, mencatat, memproses dan
melaporakan atas kejadian atau proses – proses yang terjadi dalam organisasi.
Dan komunikasi berhubungan dengan menyediakan pemahaman atas peraturan
dan tanggung jawab individual
5. Monitoring
Manajemen harus mengawasi pengendalian internal untuk memastikan
pengendalian internal oraganisasi harus tetap berjalan sesuai dengan tujuan yang
telah ditetapkan.
2.8 Object Oriented Analysis dan Design (OOAD)
2.8.1 Pengertian Object
Menurut Bennett, McRobb dan Farmer (2001), ”Object , an abstraction of
sometihing in a problem domain, reflecting the capabilities of the system to keep
information about it, interact with it, or both.”
Sedangkan menurut Mathiassen, Madsen, Nielsen dan Stage (2000,p.4 ),
”object is an entity with identity, state, and behavior.”
Berdasakan definisi diatas dapat disimpulkan bahwa object merupkan sesuatu
yang nyata dalam bentuk data dan prosesnya, dimana objek ini memiliki identitas,
state dan behavior
30
2.8.2 Object Oriented
Menurut Mathiassen (2000,p.5 ), keuntungan dari object oriented adalah :
1. Merupakan konsep yang sesuai untuk menjelaskan model fenomena dalam
sebuah kantor atau pun sistem komputerisasi yang dibuat dengan menggunakan
bahasa sehari – hari (natural language)
2. Memberikan informasi yang jelas tentang konteks dari sistem
3. Mengurangi biaya perawatan (maintenance).
2.8.3 Object Oriented Analysis and Design (OOAD)
Menurut Mathiassen et al. (2000,p.15) Object Oriented Analysis and Design
(OOA&D) terbagi dalam empat aktivitas utama, yaitu problem – domain, application
– domain, architecture design, dan component design. Yang dapat terlihat dengan
jelas pada gambar berikut ini :
31
Gambar 2.1 Aktivitas Utama dan Hasil dalam OOAD Sumber : Mathiassen et al. (2000,p.15)
2.8.4 Criteria FACTOR
Kriteria FACTOR menurut Mathiassen et al. (2000,p.39) terdiri dari 6
elemen, yaitu :
1. Functionality : fungsi dari suatu sistem yang mendukung tugas – tugas
application domain.
2. Application Domain : bagian dari organisasi yang mengadministrasi, memonitor
atau mengontrol problem domain.
3. Condition : dalam kondisi seperti apa sistem akan dibangun dan digunakan.
32
4. Technology : teknologi yang digunakan untuk menghasilkan sistem dan dengan
teknologi seperti apa sistem akan berjalan.
5. Object : objek utama pada problem domain.
6. Responsibility : tanggung jawab keseluruhan sistem yang berhubungan dengan
kontek.
2.8.5 Problem Domaim Analysis
Menurut Mathiassen et al. (2000,p.45) problem domain adalah bagian dari
konteks yang diatur, dimonitor, atau dikontrol oleh sistem. Analisa Problem Domain
dibagi menjadi tiga aktivitas, yaitu :
Gambar 2.2 Aktivitas dalam Problem Domain modeling Sumber Mathiassen et al. (2000,p.46)
33
Dapat dilihat dengan jelas setiap aktivitas dari isi dan konsepnya seperti table 2.1
seperti dibawah ini :
Table 2.1 Activities in problem domain analysis
Aktivitas Isi Konsep Classes Objek – objek dan event –
event yang mana yang merupakan bagian dari problem domain?
Class, object, dan event
Structure Bagaimana class – class dan objek secara konseptual digabungkan bersama?
Generalization, aggregation, association, dan cluster
Behavior Propeerti – properti dinamik yang mana yang seharusnya dimiliki obejk?
Event trace, behavioral pattern, dan attribute
Sumber : Mathiassen et al. (2000, p48)
2.8.5.1 Classes
Menurut Mathiassen et al. (2000, p.49-65), kegiatan class
merupakan kegiatan pertama dalam analisis problem domain. Ada beberapa
tugas dalam kegiatan ini, yaitu :
1. Klasifikasi Object dan Event
Object adalah sebuat entity dengan identitas, state, behavior. Event
adalah kejadian yang meliputi satu atau lebih object. Class merupakan
deskripsi dari kumpulan object yang termasuk structure, behavioral
pattern, dan attributes.
2. Menemukan Class
Pemilihan class dilakukan pada saat awal dan bertujuan untuk
mendefinisikan dan membatasi problem domain. Class biasanya
merupakan kata benda dan bermakna tunggal. Kegiatan class akan
34
menghasilkan event table. Dimensi horizontal dari event table berisi class
– class yang terpilih, sementara dimensi vertikal berisi event – event
yang terpilih dan tanda cek digunakan untuk mengidentifikasi objek –
objek dari class yang berhubungan dalam event tertentu.
3. Menemukan Event
Pemilihan kumpulan event yang dialami atau dilakukan oleh satu atau
lebih objek bertujuan untuk membedakan tiap – tiap class dalam problem
domain. Event merupakan kata kerja dan mengindikasikan kejadian
tunggal.
4. Evaluasi Sistem
Pada bagian ini dilakukan evaluasi kriteria dari class dan event yang
sudah ditemukan.
Berikut merupakan gambaran event table yang dapat dilihat pada Table 2.2
dibawah ini :
Table 2.2 Contoh event table Events Classes
Customer Assistant Apprentice Appointment Plan reserved * * + * cancelled * * + treated * + Employed + + Resigned + + Graduuated + Agreed * * *
Sumber : Mathiassen et al. (2000, p100)
35
2.8.5.2 Structure
Mengacu pada Mathiassen et al ( 2000,p69 ), Sturcture
merupakan kegiatan kedua dalam problem domain. Tujuannya adalah untuk
mencari hubungan struktural antara class – class dan objek – objek dalam
problem domain. Hasil dari kegitan structure adalah membuat class diagram.
Dua konsep pada structure adalah :
1. Class Stucture
a. Generalization
Kelas umum (superclass) yang menggambarkan properti – properti yang
umum terhadap sekelompok kelas khusus (subclass). Hubungan dalam
generalization dapat dikatakan sebagai hubungan ”is – a”, yang berarti
subclass akan menpunyai attribute dan operation yang sama dengan
superclass. Stuktur generalization dapat dilihat pada gambar 2.3 berikut
ini :
Gambar 2.3 Generalization stucture
b. Cluster
Kumpulan dari class – class yang berhubungan. Berikut gambar yang
dapat melihatkan suatu cluster :
36
Gambar 2.4 Contoh Cluster – 1
Gamabar 2.5 Clusters – 2
37
2. Object Stucture
a. Aggregation
Objek superior (keseluruhan) yang terdiri dari beberapa objek (bagian –
bagiannya). Hubungan aggregation dirumuskan sebagai hubungan ” has-
a” atau ”is-part-of”.
Menurut Mathiassen et al (2000,p.79) ada tiga tipe struktur
aggregation,yaitu:
• Whole – part, objek superior adalah jumlah dari objek inferior, jika
dilakukan penambahan atau penghapusan objek inferior, maka akan
mengubah pokok objek superior.
• Container – content, objek superior adalah container bagi objek
inferior, jika melakukan penambahan maupun penghapusan objek
inferior, tidak akan mengubah pokok objek superior.
• Union – member, objek superior adalah container bagi objek inferior
yang terorganisasi. Tidak akan terjadi perubahan pada objek superior
apabila melakukan penambahan atau penghapusan objek inferior
tetapi ada batasannya.
b. Association
Hubungan yang berarti antara beberapa objek. Stuktur association dapat
dilihat pada gambar 2.6 dibawah ini :
38
Gambar 2.6 Association Sumber : Mathiassen et al (2000,p.69)
Perbedaan antara aggregation dan association adalah :
• Hubungan antar class pada aggregation mempunyai hubungan yang
kuat sedangkan association tidak.
• Aggregation structure melukiskan hubungan yang defensif dan
fundamental, sedangkan association structure melukiskan hubungan
yang tidak tetep.
2.8.5.3 Behavior
Mengacu kepada Mathiassen et al (2000,p.89), kegiatan utama
dalam problem domain adalah kegiatan behaviour, yang bertujuan
memodelkan apa yang akan terjadi dalam sistem problem domain sepanjang
waktu. Behaviour bertujuan untuk membuat model yang dinamis dari
problem domain. Hasil dari kegiatan behaviour adalah membuat statechart
diagram, yang dapat di lihat pada gambar 2.7 berikut :
39
Gambar 2.7 Contoh dari Statechart Diagram Sumber : Mathiassen et al. (2000,p.90)
Konsep – konsep pada aktivitas behaviour mencakup :
a. Event trace, yang merupakan rangkaian event yang melibatkan objek
tertentu
b. Behaviour pattern, merupakan deskripsi dari event trace yang mungkin
untuk semua object dalam sebuah class.
Ada tiga jenis notasi untuk behaviour pattern, yaitu :
• Sequence dimana event muncul satu per satu secara berurutan;
• Selection dimana terjadi pemilihan satu event dari sekumpulan event
yang muncul;
• Iteration dimana sebuah event muncul sebanyak nol atau beberapa
kali
c. Attribute, merupakan properti deskriptif dari sebuah class dan event.
40
2.8.6 Application Domain Analysis
Menurut Mathiassen et al (2000,p.117), application domain adalah organisasi
yang mengadministrasi, memonitor, atau mengontrol problem domain. Analisa
application domain dibagi menjadi tiga aktivitas, yaitu :
Gambar 2.8 Application domain analysis Sumber : Mathiassen et al. (2000,p.117)
Table 2.3 Aktivitas, Isi, dan Konsep dari Application domain analysis Aktivitas Isi Konsep
Usage Bagaimana sistem berinteraksi dengan orang dan sistem dalam konteks?
Use case dan actor
Functions Apa kemampuan sistem dalam memproses informasi?
function
Interfaces Apa kebutuhan – kebutuhan tampilan layar sistem targetkan?
Interface, user interface, dan system interface
Sumber : Mathiassen et al. (2000, p117)
41
2.8.6.1 Usage
Mengacu pada Mthiassen et al (2000,p.119), usage merupakan
kegiatan pertama dalam analisis application domain yang bertujuan untuk
menentukan bagaimana actor – actor yang merupakan pengguna atau sistem
lain berinteraksi dengan sistem yang dituju. Interaksi antara actor dengan
sistem tersebut dinyatakan dalam use case.
• Use case
Merupakan pola interaksi antara sistem dan aktor di dalam application
domain. Use case dapat digambarkan dengan menggunakan spesifikasi use
case, dimana use case dijelaskan dengan singkat namun jelas dan dapat
disertai dengan keterangan objek sistem yang terlibat dan function dari use
case tersebut atau dengan diagram statechart karena use case adalah sebuah
fenomena yang dinamik.
• Actor
Adalah abstraksi dari pengguna atau sistem lain yang berinteraksi dengan
sistem target. Cara untuk mengidentifikasi actor adalah dengan mengetahui
alasan yang berbeda untuk menggunakan sistem. Masing – masing actor
memiliki alasan yang berbeda untuk menggunakan sistem. Cara lainnya yaitu
dengan melihat peran dari aktor seperti yang dinyatakan oleh use case
dimana actor tersebut terlibat. Masing – masing actor memiliki peran yang
berbeda – beda. Actor dapat digambarkan dalam spesifikasi actor yang
42
memiliki 3 bagian yaitu tujuan, karakteristik, dan contoh dari actor tersebut.
Tujuan merupakan peran dari actor dalam sistem target. Sementara
karakteristik menggambarkan aspek – aspek yang penting dari actor.
• Explore pattern
Use case pattern dapat digunakan untuk mengidentifikasikan dan
menggambarkan use case terdiri atas : (1) the procedural pattern, (2) the
material pattern
Berikut adalah contah dari use case :
Gambar 2.9 Use Case
43
2.8.6.1.1 Sequence
Menurut Bennet et al.(2006, p.252-253), ”the sequence diagram is
semanticly equivalent to a communication diagram for simple interactions. A
Sequence diagram show an interaction between objects arranged in a time
sequence.” Dengan demikian, sequence diagram ekuivalen secara semantik
dengan diagram komunikasi untuk interaksi yang sederhana. Sebuah
sequence diagram menunjukkan interaksi antara objek yang disusun dalam
satu sequence.
Sequence diagram dapat digambarkan pada tingkat detail mana
saja untuk mencapai berbagai tujuan pada beberapa tahapan pada siklus
hidup pengembangan. Aplikasi sequence diagram yang paling umum adalah
untuk mempresentasikan interaksi objek secara detail untuk satu use case
atau satu operation. Ketika sequence diagram digunakan untuk
menggambarkan model behaviour use case yang dinamis, sequence diagram
dapat dilihat sebagai spesifikasi detail dari use case.
Menurut Mathiassen et al.(2000,p.340), ”Sequence diagaram
menjelaskan tentang interaksi diantara beberapa objek dalam jangka waktu
tertentu. Sequence diagaram melengkapi class diagram, yang menjelaskan
situasi yang umum dan statis. Sebuah sequence diagaram dapat
mengumpulkan rincian situasi yang kompleks dan dinamis melibatkan
beberapa dari kebanyakan objek yang digeneralisasikan dari class pada class
diagram.”
44
2.8.6.2 Function
Mengacu pada Mathiassen et al. (2000,p.137-146), function
adalah sebuah fasilitas untuk membuat model berguna bagi aktor. Kegiatan
function memfokuskan pada bagaimana cara sebuah sistem dapat membantu
aktor dalam melaksanakan pekerjaan mereka. Tujuan dari kegiatan function
adalah untuk menentukan kemampuan sistem memproses informasi. Hasil
dari kegiatan ini adalah sebuah daftar function – function yang merinci
function – function yang kompleks. Daftar function harus lengkap, meyatakan
kebutuhan kolektif dari pelanggan dan actor dan harus konsisten dengan use
case.
Function memilki 4 tipe yang berbeda, yaitu :
• Update, function ini disebabkan oleh event problem domain dan
menghasilkan perubahan dalam state atau keadaan dari model tersebut.
• Signal, function ini disebabkan oleh perubahan keadaan atau state dari
model yang dapat menghasilkan reaksi pada konteks. Reaksi ini dapat
berupa tampilan bagi actor dalam application domain, atau intervensi
langsung dalam problem domain.
• Read, function ini disebabkan oleh kebutuhan informasi dalam pekerjaan
actor dan mengakibatkan sistem menampilkan bagian yang berhubungan
dengan informasi dalam model.
• Compute, function ini disebabkan oleh kebutuhan informasi dalam
pekerjaan actor dan berisi perhitungan yang melibatkan informasi yang
45
disediakan oleh actor atau model, hasil dari function ini adalah tampilan
dari hasil komputasi.
Cara yang baik untuk mengidentifikasi function adalah
memberikan pertanyaan yang berkaitan dengaan empat jenis function
tersebut, seperti :
• Menggunakan ekspresi matematika, yaitu berhubungan dengan input dan
output data dispesifikasi sebagai 0 = f(i)
• Algoritma, yang secara khusus disketsa dengan menggunakan
pseudocode
• Membagi function, sehingga bisa memberikan pandangan yang lebih baik
Dalam mencari function perlu mempertimbangkan sumber untuk
pencarian function dan juga tingkat rincian. Sumber pencarian function
merupakan bagian dari deskripsi problem domain, yang ditampilkan oleh
kelas dan event, dan merupakan bagian dari deskripsi application domain
yang ditampilkan oleh use case. Classes biasanya menimbulkan read dan
update function, sedangkan event menimbulkan update function, dan use case
menimbulkan semua jenis function.
2.8.6.3 Interface
Kegiatan ketiga dari analisis application domain, yang bertujuan
untuk menentukan system’s interface digunakan oleh aktor untuk berinteraksi
dengan sistem. Menurut Mathiassen et al. (2000,p.151), activity interface
mempunyai tiga konsep, yaitu :
46
1. Interface, yaitu fasilitas yang membuat model sistem dan fungsi dapat
digunakan oleh aktor
2. User interface, adalah interface untuk user
3. System interface, adalah interface untuk sitem lain.
Salah satu user interface yang baik adalah dapat beradaptasi
dengan tugas dan memiliki pemahaman user terhadap sistem. Kualitas user
interface ditentukan oleh kegunaan atau usability interface tersebut bagi
pengguna. Usability bergantung pada yang menggunakan dan situasi sistem
tersebut pada saat digunakan. Sehingga dapat dikatakan bahwa usability
bukan merupakan sebuah yang pasti dan objektif.
Terdapat empat jenis pola dialog yang penting dalam menentukan
user interface, yaitu :
1. Pola menu – selection, yang terdiri dari daftar pilihan – pilihan yang
mungkin dalam interface diagram.
2. Pola fill – in , yang merupakan pola klasik untuk entri data.
3. Pola command – language, dimana pengguna memasukkan atau memulai
format sendiri.
4. Pola direct – manipulation dimana user memilih objek dan melaksanakan
function atas objek dan melihat hasil dari interaksi mereka tersebut.
Hasil dari kegiatan interface adalah sebuah deskripsi elemen user
interface yang lengkap. Dimana kelengkapan sistem ini menunjukkan
pemenuhan kebutuhan pengguna. Hasil dari kegiatan user interface berupa
form presentasi dan dialogue style, daftar lengkap dari elemen user interface,
diagram window terpilih, dan diagram navigasi. Sedangkan hasil dari system
47
interface berupa class diagram untuk peralatan dan protokol eksternal untuk
berinteraksi dengan sistem yang lain.
2.8.7 Architecture Design
Mengacu pada Mathiassen et al.(2000,p.176), keberhasilan suatu sistem
ditentukan oleh kekuatan desain arsitekturnya. Arsitektur membentuk sistem sesuai
dengan fungsi sistem tersebut dan dengan memenuhi kriteria desain tertentu.
Architecture design memiliki tiga kegiatan, yaitu :
Gambar 2.10 Aktivitas dalam architectural design Sumber : Mathiassen et al. (2000,p.176)
Table 2.4 Kegiatan, Isi dan Konsep Architecture Design Kegiatan Isi Kondisi
Criteria Kondisi dan criteria untuk pendesainan
Criterion
Component Bagaimana sistem dibentuk menjadi komponen – komponen
Arsitektur komponen
Process Bagaimana proses sistem didistibusikan dan dikoordinasi
Arsitektur porses
Sumber : Mathiassen et al. (2000, p176)
48
2.8.7.1 Criteria
Mengacu pada Mathiassen et al. (2000,p.177-181), untuk
menciptakan sebuah desain yang baik diperlukan pertimbangan mengenai
kondisi – kondisi dari setiap proyek yang dapat mempengaruhi kegiatan
desain yaitu :
• Technical, yang teridiri 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 pembelian komponen standar.
• Conceptual, yang terdiri dari pertimbangan : perjanjian kontrak, rencana
untuk pengembangan lanjutan, pembagian kerja antara pengembang.
• 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. Karena tidak ada cara –
cara tertentu atau cara yang mudah untuk menghasilkan suatu desain
yang baik, banyak perusahaan menciptakan suatu standar dan prosedur
untuk memberikan jaminan terhadap kualitas dari sistem. Disinilah
kegiatan criteria dapat membantu dengan menetapkan prioritas untuk
setiap proyek tertentu
Sebuah desain yang baik memiliki tiga ciri – ciri yaitu :
• Tidak memiliki kelemahan
Syarat ini menyebabkan adanya penekanan pada evaluasi dari kualitas
berdasarkan review dan eksperimen, dan membantu dalam menentukan
49
prioritas dari kriteria yang akan mengatur dalam kegiatan desain yang
berorientasi objek. Tabel 2.5 di bawah ini menunjukkan kriteria umum
untuk sebuah desain
Table 2.5 Classical critesia for software quality Criterion Ukuran dari
Usable Kemampuan sistem untuk menyesuaikan dengan kontek, 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 untuk
melaksanakan fungsi Maintainable Biaya untuk menemukan dan memperbaiki
kerusakan Testable Biaya untuk memastikan bahwa sistem yang
dibentuk dapat melaksanakan fuungsi yang diinginkan
Flexible Biaya untuk mengubah sistem yang dibentuk Comprehensable 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 ke sistem yang
lain. Sumber : Mathiassen et al. (2000, p178)
• Menyeimbangkan beberapa criteria
Konflik sering terjadi antara criteria, oleh sebab itu untuk menentukan
criteria mana yang akan diutamakan dan bagaimana cara untuk
menyeimbangkan dengan criteria – criteria yang lain bergantung pada
situasi sistem tertentu.
50
• Usable,flexible, dan comprehensible
Kriteria – kriteria ini bersifat universal dan digunakan pada hampir setiap
proyek pengembangan sistem.
2.8.7.2 Component
Mengacu pada Mathiassen et al. (2000,p.190), arsitektur komponen
adalah struktur sistem yang terdiri atau bentuk dari komponen – komponen
yang salling terhubung. Komponen merupakan kumpulan dari bagian –
bagian program yang membentuk suatu kesatuan dan memiliki fungsi yang
jelas.
Sebuah arsitektur komponen yang baik membuat sistem menjadi
mudah untuk dipahami, mengorganisasikan pekerjaan desain,
menggambarkan stabilitas dari konteks sistem dan mengubah desain menjadi
beberapa tugas yang lebih tidak komplek.
Beberapa pola umum dalam desain komponen arsitektur :
a. Arsitektur Layered
Menurut Mathiassen et al. (2000,p.193), merupakan bentuk yang paling
umum dari software seperti berikut ini :
51
Gambar 2.11 layered architecture pattern Sumber : Mathiassen et al. (2000,p.193)
Contoh dari model ini adalah OSI yang sudah menjadi ISO untuk model
jaringan. Sebuah arsitektur layered terdiri dari beberapa komponen yang
dibentuk menjadi lapisan – lapisan dimana lapisan yang diatas bergantung
kepada lapisan yang berada dibawah.
b. Arsitektur Generic
Menurut Mathiassen et al. (2000,p.196), pola ini digunakan untuk merinci
pola dasar yng terdiri dari antar muka, function, dan komponen- komponen
model, seperti terlihat pada gambar berikut ini :
52
Gambar 2.12 Generic architecture pattern dalam sebuah sistem Sumber : Mathiassen et al. (2000,p.196)
Dimana komponen model terletak pada lapisan yang paling bawah,
diikuti dengan function sistem dan komponen interface diatasnya.
c. Arsitektur Client – server
Menurut Mathiassen et al. (2000,p.197), pola ini awalnya dikembangkan
untuk mengatasi masalah distribusi sistem diantara beberapa prosesor yang
tersebar secara geografis. Komponen pada arsitektur ini adalah sebuah sever
dan beberapa client, seperti dapat dilihat pada gambar berikut ini :
53
Gambar 2.13 The client – server architecture pattern Sumber : Mathiassen et al. (2000,p.197)
Tanggung jawab daripada server adalah untuk menyediakan database
dan resource yang dapat disebarkan kepada client melalui jaringan.
Sementara client memiliki tanggung jawab untuk menyediakan antarmuka
local untuk setiap penggunanya.
Ada dua macam metode dalam membagi komponen client dan server
yaitu :
• Client dan server dianggap sebagai subsistem tunggal yang masing –
masing memiliki komponen, yaitu: user interface(U), function(F), dan
model (M).
• Atau masing – masing dapat dianggap sebagai layer yang berbeda dalam
sistem yang sama.
Berikut ini beberapa jenis distribusi dalam arsitektur client – server
dimana user interface(U), function(F), dan model(M) :
54
Table 2.6 Different forms of distribution in a client – server architecture 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
Sumber : Mathiassen et al. (2000, p200)
2.8.7.3 Process
Mengacu pada Mathiassen et al.(2000,p.209), arsitektur proses adalah
struktur eksekusi sistem yang dibentuk dari proses – proses yang saling
berkaitan / bergantungan. Untuk mengeksekusi atau menjalankan sebuah
sistem dibutuhkan prosesor. Sedangkan external device adalah prosesor
khusus yang tidak dapat menjalankan program. Arsitektur proses harus dapat
memastikan bahwa sistem dapat dijalankan secara memuaskan dengan
mengunakan prosesor yang sudah tersedia.
Kegiatan arsitektur proses bermula dari komponen logic yang
dihasilkan oleh kegiatan komponen dan bertujuan untuk menentukan struktur
fisik dari sebuah sistem dengan :
• mendistribusikan komponen – komponen program ke prosesor
yang akan digunakan untuk mengeksekusi sistem,
• mengkoordinasi pembagian sumber daya dengan aktif objek
• dan menghasilkan arsitektur yang tidak memiliki hambatan.
Sumber daya yang sering digunakan secara bersama yaitu :
55
1. Processor
terjadi apabila ada dua atau lebih proses yang dieksekusi secara
bersamaan pada satu prosesor
2. Program komponen
terjadi bila terdapat dua atau lebih prosesor yang secara bersamaan
memanggil operasi pada komponen
3. External device
Misalnya, pada penggunaan printer yang terhubung memalui network.
Beberapa pola distribusi dalam kegiatan desain process architrcture:
1. Centralized pattern
Pola ini menyimpan semua data pada server pusat dan user hanya bisa
melihat user interface saja. Keuntungan dari pola ini adalah dapat
diimplementasikan pada client secara murah, semua data konsisten
karena hanya berada di satu tempat saja, strukturnya mudah dimengerti
dan diimplementasikan, dan kemacetan jaringannya moderat. Berikut
gambaran dari pattern ini :
56
Gambar 2.14 deployment diagram for the centralized pattern Sumber : Mathiassen et al. (2000,p.216)
2. Distributted pattern
Pada pola ini, semua terdistribusi ke user atau client dan server hanya
menyebarkan model yang telah di – update di antara client. Keuntungan
utama dari pola ini adalah waktu akses yang rendah, sehingga tidak terjadi
kemacetan jaringan, kinerja lebih maksimal, dan back – up data yang banyak.
Kerugian pada pola ini adalah banyaknya data yang redundant sehingga
konsentrasi data terancam, kemacetan jaringan yang tinggi karena update
harus disebar kepada semua client, kebutuhan teknis yang canggih,
arsitekturnya lebih sulit dimengerti dan diimplementasikan. Berikut gambar
dari Distributted pattern
57
Gambar 2.15 Deployment diagram for the distributed pattern Sumber : Mathiassen et al. (2000,p.217)
3. Decentralized pattern
Pola ini berada diantara kedua pola diatas. Pada pola ini client memiliki
data tersendiri sehingga data umum dan function atas data – data tersebut,
sedangkan client menyimpan data yang merupakan milik bagian application
– domain client tersebut. Keuntungan pola ini adalah konsentrasi data ,
karena tidak ada duplikasi data antara client dengan client lain maupun
dengan server, lalu lintas jaringan jarang karena jaringan hanya digunakan
58
ketika data umum di server terupdate. Kekurangan pola ini adalah bahwa
semua prosesor harus mampu melakukan fungsi yang kompleks dan
memelihara model dalam jumlah yang besar, sehingga akan meningkatakan
biaya hardware.
Gambar 2.16 deployment diagram for the decentralized pattern Sumber : Mathiassen et al. (2000,p.219)
59
2.8.8 Component Design
Mengacu pada Mathiassen et al.(2000,p.232), tujuan dari desain komponen
ini adalah untuk menentukan implementasi kebutuhan dalam rangka arsitektural.
Kegiatan desain komponen bermula dari spesifikasi arsitektural dan kebutuhan
sistem, sedangkan hasil dari kegiatan ini adalah spesifikasi dari komponen yang
saling berhubungan.
Gambar 2.17 Component design Sumber : Mathiassen et al.(2000,p.232)
Table 2.7 Kegiatan, konteks, dan Konsep dari Component Design Kegiatan Konteks Konsep
Model component Bagaimana suatu model digambarkan sebagai class dalam sebuah sistem
Model component dan attribute
Function component Bagaimana sebuah function diimplementasikan
Function component dan operation
Connecting component Bagaimana komponen – komponen dihubungkan
Component dan connection
Sumber : Mathiassen et al. (2000, p252)
60
2.8.8.1 Model Component
Mengacu pada Mathiassen et al. (2000,p.236-245), model analisis
problem domain menggambarkan kebutuhan sistem. Kebutuhan sistem
kemudian diimplentasikan dalam komponen model.
Oleh karena itu dapat disimpulkan bahwa komponen model adalah
bagian dari sistem yang diimplentasikan model problem domain. Tujuan dari
komponen model adalah untuk mengirimkan data sekarang dan historic ke
function, interface, dan pengguna sistem lain. Konsep utama dalam desain
komponen model adalah stucture. Hasil dari kegiatan komponen model
adalah revisi dari class diagram dari kegiatan analisis. Kegiatan revisi ini
biasanya terdiri dari kegiatan menambahkan class, attribut dan struktur baru
yang mewakili event
Restrukturisasi class dapat teerjadi pada :
• Generalization
Jika terdapat dua class dengan attribute yang sama maka dapat dibentuk
class baru (revised class)
• Association
Jika terdapat hubungan many – to – many
• Embedded iteration
Embedded iteractions merupakan embedded di dalam statechart diagram.
Misalnya jika sebuah class terdapat statechart diagram yang mempunyai
tiga iterative events, maka kita dapat membentuk tiga class di dalam
perancangan model.
61
2.8.8.2 Function Component
Mengacu pada Mathiassen et al (2000,p.252), komponen function
adalah bagian dari sistem yang mengimplementasaikan kebutuhan
fungsional. Tujuan dari function component adalah untuk memberikan akses
bagi user interface dan komponen sistem lainnya ke model, oleh karena itu
function component adalah pernghubung antara model dan usage.
Function didesain dan diimplementasikan dengan menggunakan
operasi dari kelas sistem. Operasi adalah proses yang dispesifikasikan dalam
sebuah class dan dijalankan melalui objek dari class tersebut.
Hasil utama dari kegiatan ini adalah class diagram untuk komponen
function dan perpanjangan dari class diagram komponen model. Sub
kegiatan dalam component function akan menghasilkan kumpulan operasi
yang dapat mengimplementasikan fungsi sistem seperti yang ditentukan
dalam analisis problem domain dan function list. Berikut adalah sub kegiatan
dalam component function :
• merancang function sebagai operation
• menelusuri pola yang dapat membantu dalam implemantasi function
sebagaii operation.
• spesifikasi operasi yang kompleks.
2.8.8.3 Connecting Component
Mengacu pada Mathiassen et al. (2000,p.274), untuk menghubungkan
komponen, kita harus mendesain koneksi (hubungan) diantara komponen dan
62
class yang saling bergantungan. Sehingga mereka dapat mempertahankan
kekohensifaannya tapi pada saat yang bersamaan juga menjamin bahwa
koneksi ini memiliki coupling yang rendah. Adapun aktivitas yang terkait
dalam mendesain koneksi antara komponen adalah :
a. menghubungkan class – class
b. mengeksplorasi polanya
c. melakukan evaluasi terhadap koneksi yang ada.
2.8.9 Diagram dalam Analisi dan Perancangan
Menurut Mathiassen et al. (2000,p.334-344), ada delapan diagram yang
digunakan untuk menggambarkan empat tahap atau aktivitas utama dalam analisis
dan perancangan berorientasi objek adalah sebagai berikut :
1. Rich picture, menggambarkan sebuah pandangan menyeluruh dari people, objek,
process, structure, dan problem domain, system problem dan application
domain.
2. Class digaram, meenggambarkan kumpulan dari class dan hubungan struktural
yang saling timbal balik
3. Statechart diagram menggambarkan behavioural yang digunakan pada semua
objek dalam sebuah class khusus dan diuraikan oleh state dan transisi lainnya.
4. Use case diagram, model yang digunakan untuk interaksi antara sistem dan aktor
dalam application domain. Pada use case diagaram berisi aktor dalam sebuah
sistem.
63
5. Sequence diagram menggambarkan secara grafis bagaimana objek – objek
berinteraksi satu sama lain melalui message – message yang dilakukan dari suatu
use case digaram atau operasi.
6. Navigation diagram adalah sebuah statechart diagram khusus yang
memfokuskan pada keseluruhan user interface yang dinamis. Navigation
diagram menggambarkan semua user interface dan hubungan dinamisnya
7. Deployment diagram menguraikan sebuah konfigurasi sistem dalam bentuk
processor dan object yang dihubungkan ke processor. Deployment diagram
menggambarkan komponen sistem program, external device dan hubungan
struktural timbal balik.
8. Window diagram adalah sebuah konstruksi dari sebuah window tunggal dan
deskripsi dari kegunaannya.
2.8.9.1 Rich picture
Menurut Mathiassen et al.(2000,p.26), ”Rich picture adalah sebuah
gambaran informal yang digunakan oleh pengembang sistem untuk
menyatakan pemahaman mereka terhadap situasi sistem yang sedang
berlangsung”. Rich picture juga dapat digunakan sebagai alat yang berguna
untuk memfasilitasi komunikasi yang baik antara pengguna dalam sistem.
Rich picture difokuskan pada aspek – aspek penting dari sistem
tersebut, yang ditentukan sendiri oleh pengembang sistem dengan
mengunjungi perusahaan untuk melihat bagaimana perusahaan beroperasi,
berbicara dengan banyak orang untuk mengetahui apa yang harus terjadi atau
seharusnya terjadi, dan mungkin melakukan beberapa wawancara formal.
64
2.8.9.2 Class diagram
Mennurut Mathiassen et al.(2000,p.49-65), ” Kegiatan kelas
merupakan kegiatan utama dalam analisis problem domain. Ada beberapa
tugas utama dalam kegiatan ini yaitu : abstraksi fenomena dari problem
domain dalam objek dan event; klasifikasi objek dan event; pemilihan class
dan event; pemilihan class dan event yang akan dipelihara informasinya oleh
sistem.
Menurut Mathiassen et al. ”Class is a description of a collection of
objects sharing stucture, behavioural pattern, and attribute”. Maka class ini
merupakan sebuah deskripsi objek yang menggambarkan struktur,
behavioural pattern, dan atribut.
2.8.9.3 Statechart diagram
Menurut Mathiassen et al. (2000,p.341), ”Statechart diagram
menjelaskan tentang behavior umum dari semua objek dalam sebuah kelas
yang spesifik dan berisikan state dan transition di antara meraka”. Statechart
diagram adalah bagian dari UML. Statechart diagram dapat juga
menjelaskan use case, dimana transition melambangkan action.
2.8.9.4 Use case diagram
Mengacu kepada Mathiassen et al.(2000,p.119-134), kegiatan usage
merupakan kegiatan pertama dalam analisis application domain yang
bertujuan untuk menentukan bagaimana aktor – aktor yang merupakan
65
pengguna atau sistem lain berinteraksi dengan sistem yang dituju. Interaksi
antara aktor dengan sistem tersebut dinyatakan dalam use case.
Use case adalah pola interaksi antara sistem dan aktor di dalam
application domain. Use case dapat digambarkan dengan menggunakan
spesifikasi use case, dimana use case dijelaskan secara singkat namun jelas
dan dapat disertai dengan keterangan objek sistem yang terlibat dan function
dari use case tersebut atau dengan diagram statechart karena use case adalah
sebuah fenomena yang dinamik.
Pendapat Mathiassen et al.(2000,p.343), mengatakan bahwa use case
diagram menggambarkan hubungan antara actor dengan use case. Setiap use
case menunjukkan beberapa sequence yang memungkinkan dalam interaksi
di antara actor dan system.
2.8.9.5 Sequence diagram
Menurut Mathiassen et al.(2000,p340), sequence diagaram
menjelaskan tentang interaksi di antara beberapa objek dalam jangka waktu
tertentu. Sequence diagram melengkapi class diagram, yang menjelaskan
situasi yang umum dan statis. Sebuah sequence diagram dapat
mengumpulkan rincian situasi yang kompleks dan dinamis melibatkan
beberapa dari kebanyakan object yang digeneralisasikan dari class pada class
diagram.
66
2.8.9.6 Navigation diagram
Menurut Mathiassen et al.(2000,p.344), sebuah navigation diagram
adalah sejenis statchart diagram yang spesial yang berfokus pada
kedinamisan user interface secara keseluruhan. Navigation diagram tidak
terdapat di dalam UML. Sebuah window mempresentasikan sebuah state dan
state mempunyai nama dan berisikan icon (sebuah window miniatur). State
transition berkoresponden pada sebuah switch di antara dua window.
2.8.9.7 Deployment diagram
Menurut Mathiassen et al. (2000,p.340), Deployment diagram
menjelaskan tentang system configuration dalam bentuk prosesor dan objek
yang diattach pada prosessor.