bab 2 landasan teori 2.1. sistem informasi akuntansithesis.binus.ac.id/doc/bab2/2008-1-00010-aksi...
TRANSCRIPT
BAB 2
LANDASAN TEORI
2.1. Sistem Informasi Akuntansi
2.1.1 Pengertian Sistem Informasi
Menurut O’Brien (2006, 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 Bodnar dan Hopwood (2004, p3-4), Sistem Informasi adalah “the
use of computer technology in an organization to provide information to users. A
computer used information systems is a collection of computer hardware and
software designed to transform data into useful information.”
Berdasarkan pengertian di atas, maka dapat disimpulkan Sistem Informasi
adalah mengorganisasikan sumber daya manusia, perangkat keras dan piranti lunak
komputer yang saling berinteraksi untuk menyediakan informasi di mana dapat
berguna bagi pihak manajemen.
2.1.2. Pengertian Sistem Informasi Akuntansi
Menurut Wilkinson et al. (2000, p7), Sistem Informasi Akuntansi adalah
kesatuan struktur dalam sebuah entitas, seperti perusahaan yang mempekerjakan
sumber-sumber fisik dan komponen lain untuk mengubah data ekonomi ke dalam
informasi akuntansi, dengan tujuan memuaskan kebutuhan informasi dari beragam
pemakai.
8
Menurut Gelinas, Sutton, Hunton (2005, p15), Sistem Informasi Akuntansi
adalah sebuah spesialisasi subsistem dari sistem informasi, tujuannya untuk
mengumpulkan, memproses, dan melaporkan informasi yang berkaitan terhadap
aspek keuangan dari kegiatan bisnis, di mana terintegrasi dengan sistem informasi
dan tidak dapat membedakan sebagai pemisah subsistem.
Berdasarkan pengertian di atas, maka dapat disimpulkan Sistem Informasi
Akuntansi adalah spesialisasi dari subsistem dari sistem informasi dengan tujuan
untuk mengubah data ekonomi ke dalam informasi akuntansi, demi memenuhi
kebutuhan informasi dari pemakai.
2.1.3. Tujuan Sistem Informasi Akuntansi
Menurut pendapat Wilkinson et al. (2000, p8), tujuan dan kegunaan 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.
Sedangkan menurut pendapat Gondodiyoto dan Hendarti (2006, p109),
tujuan dan kegunaan Sistem Informasi Akuntansi adalah:
1. Untuk melakukan pencatatan (recording) transaksi dengan biaya-biaya
klerikal seminimal mungkin dan menyediakan informasi (information value
added mechanism) bagi pihak intern untuk pengelolaan kegiatan usaha
(managers) serta para pihak terkait (stockholders/stakeholders).
9
2. Untuk memperbaiki informasi yang dihasilkan oleh sistem di mana sudah
ada, baik mengenai mutu, ketepatan penyajian dan struktur informasinya.
3. Untuk menerapkan (implementasi) sistem pengendalian intern memperbaiki
kinerja dan tingkat keandalan (reliability) informasi akuntansi dan untuk
menyediakan catatan lengkap mengenai pertanggung jawaban
(akuntanbilitas).
4. Menjaga atau meningkatkan perlindungan kekayaan perusahaan.
Menurut Romney dan Steinbart (2006, p8-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.1.4. Komponen-Komponen Sistem Informasi Akuntansi
Menurut pendapat Gondodiyoto dan Hendarti (2006, p112), Sistem
Informasi Akuntansi terdiri dari dari unsur-unsur atau komponen yaitu:
1. Business Operations
Suatu organisasi melakukan berbagai aktivitas (business processes) seperti
perekrutan karyawan, pembelian barang persediaan dan penerimaan kas dari
pelanggan. Input Sistem Informasi Akuntansi disiapkan oleh bagian
operasional dan output yang digunakan untuk mengatur kegiatan operasional.
2. Transaction Processing
Transaksi yang dilakukan perusahaan lazimnya ialah penjulan, produksi,
10
(bila perusahaan industri) dan pembelian.
3. Management Decision Making
Informasi diharapkan memberikan dasar/kriteria/knowledge yang diperlukan
untuk bahan pengambilan keputusan berdasarkan pertimbangan pihak
manajemen.
4. Reporting
Dalam menyusun laporan berdasarkan sistem informasi, penyusun sistem
(system designer) harus mengetahui output yang dibutuhkan/diinginkan.
5. System Development and Operation
Sistem informasi harus dirancang, diimplementasikan dan dioperasikan
secara efektif.
6. Database
Untuk memperoleh database yang baik, perlu dipahami sungguh-sungguh
proses pengumpulan dan penyimpanan data dan juga jenis database software.
7. Technology
Dukungan TI sudah sampai pada tingkatan sedemikian rupa sehingga
prosedur operasional tradisional yang dulu dilaksanakan secara manual, kini
sudah menjadi otomatisasi.
8. Controls
Dalam menyusun sistem pengendalian intern harus dipertimbangkan
tingkatan kompleksitas Sistem Informasi serta perkembangan teknologi.
9. Interpersonal/Communication Skill
Untuk mempresentasikan hasil kerja secara efektif, sistem desainer harus
memiliki kemampuan komunikasi yang baik secara lisan mau pun tulisan.
11
10. Accounting and Auditing Princples
Untuk menyusun dan mengoperasikan Sistem Informasi Akuntansi, seorang
akuntan harus mengetahui prosedur akuntansi dan memahami audit terhadap
sistem informasi.
2.1.5. Siklus Pemrosesan Transaksi pada Sistem
Menurut pendapat Romney dan Steinbart (2006, p30), siklus pemrosesan
transaksi pada sistem adalah suatu rangkaian aktivitas yang dilakukan perusahaan
dalam melakukan bisnisnya, mulai dari proses pembelian, produksi, hingga
penjualan barang atau jasa. Siklus transaksi pada perusahaan dapat dibagi kedalam
lima subsistem yaitu:
1. Revenue Cycle (Siklus Pendapatan), yang terdiri dari transaksi pembelian dan
penerimaan kas.
2. Expenditure Cycle (Siklus Pengeluaran), yang terdiri dari peristiwa
pembelian dan pengeluaran kas.
3. Human Resource/Payroll Cycle (Siklus Sumber Daya Manusia), terdiri dari
peristiwa yang berhubungan dengan perekrutan dan pembayaran atas tenaga
kerja.
4. Production Cycle (Siklus Produksi), terdiri dari peristiwa yang berhubungan
dengan pengubahan bahan mentah menjadi produk/jasa siap dipasarkan.
5. Financing Cycle (Siklus Keuangan Perusahaan), terdiri dari peristiwa yang
berhubungan dengan penerimaan modal dari investor dan kreditor.
12
2.2. Sistem Informasi Akuntansi Penjualan dan Piutang Usaha
2.2.1. Pengertian Penjualan
Menurut Standar Akuntansi Keuangan (2004, PSAK no.23.1), Penjualan
barang meliputi barang diproduksi atau dibeli perusahaan untuk dijual, sedangkan
penjualan jasa menyangkut pelaksanaan tugas secara kontraktual yang telah
disepakati oleh perusahaan untuk dilaksanakan selama suatu periode waktu. Jasa
tersebut dapat diserahkan selama satu periode atau lebih dari satu periode.
Menurut Gelinas, Sutton, Hunton (2005, p350), proses penjualan adalah
pertimbangan sebuah struktur interaksi dari people, peralatan, metode-metode, dan
kendali-kendali yang didesain untuk memperoleh tujuan tertentu.
Berdasarkan pengertian di atas, maka dapat disimpulkan penjualan adalah
barang diproduksi perusahaan untuk dijual dan barang dibeli untuk dijual kembali
pada pelanggan yang akan dibebankan sejumlah tertentu berdasarkan
pertimbangan-pertimbangan demi mencapai tujuan tertentu.
2.2.2. Tujuan/Kegunaan Sistem Informasi Akuntansi Penjualan
Menurut pendapat Wilkinson et al. (2000,p416), tujuan sistem informasi
akuntansi penjualan adalah:
1. Mencatat order penjualan secara akurat dan cepat.
2. Mengidentifikasi pelanggan yang layak mendapat kredit.
3. Mengirimkan produk atau melakukan pelayanan pada waktu yang tepat.
4. Menagih piutang ke pelanggan pada waktunya.
5. Mencatat dan mengklasifikasikan penerimaan kas secara cepat dan akurat.
6. Melakukan posting penjualan dan penerimaan kas ke account yang
13
berhubungan ke dalam buku besar piutang.
7. Mengamankan produk sampai pengiriman.
8. Mengamankan kas sampai dideposit.
2.2.3. Dokumen-Dokumen yang Berhubungan dengan Sistem Penjualan
Menurut Wilkinson et al. (2000, p419) dokumen yang di input dalam
aplikasi sistem penjualan adalah:
1. Customer order
Adalah purchase order diterima dari pelanggan atau form yang dipersiapkan
oleh karyawan penjualan dari perusahaan penjual.
2. Sales order
Adalah form formal memiliki banyak copy yang disiapkan dari customer order.
3. Picking list
Adalah copy dari sales order, dokumen terpisah dikirim ke gudang dan dalam
pengambilan barang yang dipesan.
4. Packing slip
Adalah copy dari sales order atau picking list yang ditempelkan bersama
barang ketika dipersipakan untuk pengiriman.
5. Shipping notice
Biasanya merupakan copy dari sales order atau dokumen pengiriman terpisah
yang berfungsi sebagi bukti bahwa barang telah dikirimkan.
6. Sales invoice
Adalah dokumen yang dikirimkan ke pelanggan untuk menyatakan berapa
jumlah penjualan.
14
7. Remitance advice
Adalah dokumen yang menunjukkan jumlah penerimaan kas dari pelanggan.
8. Deposit slip
Adalah dokumen yang menyertai penyetoran kas ke bank.
9. Back order
Adalah dokumen yang dipersiapkan ketika kuantitas dari persediaan tidak
mencukupi sales order.
10. Credit memo
Adalah dokumen yang memungkinkan pengurangan kredit pelanggan untuk
pengembalian penjualan/penyisihan penjualan.
11. Credit application
Adalah sebuah form dipersiapkan ketika pelanggan baru mengajukan kredit.
12. Sales person call report
Adalah form yang dibuat oleh sales person pada pelanggan potensial guna
untuk menggambarkan panggilan, dan mengidentifikasi hasil panggilan
tersebut.
13. Delinquent notice
Adalah catatan dikirimkan pada pelanggan yang melewati batas saldo kredit.
14. Write-off notice
Adalah dokumen yang dipersiapkan oleh manajer kredit ketika account
dinyatakan tidak dapat ditagih.
15. Cash register receipt
Adalah form digunakan oleh retailer untuk mencerminkan kas yang diterima.
15
16. Bill of Lading
Adalah dokumen pengiriman digunakan untuk delivery company yang akan
mengirimkan produk.
2.2.4. File/Catatan yang Digunakan dalam Aplikasi Sistem Penjualan
Menurut Wilkinson et al. (2000, p444) file atau catatan yang digunakan
dalam aplikasi sistem penjualan adalah:
1. File Master: Master Pelanggan, Persediaan, Piutang.
2. File Transaksi: File Sales Order, Shipping, Sales Invoice, Billing, General
Ledger.
3. File Reference: Shipping Reference, Pricing Reference, Sales History.
4. Jurnal Memo Kredit, Jurnal Penerimaan Kas, Buku Besar Pembantu Piutang.
2.2.5. Fungsi-fungsi yang Terkait
Menurut Bodnar dan Hopwood (2004, p265-268, p321), dapat disimpulkan
bahwa fungsi yang terkait dalam siklus penjualan meliputi:
1. Fungsi Penjualan
Fungsi ini antara lain bertugas menerima pesanan pelanggan, meminta otorisasi
kredit, mengisi faktur penjualan tunai, serta menentukan tanggal dan tujuan
pengiriman.
2. Fungsi Kredit
Fungsi ini antara lain bertugas meneliti status kredit pelanggan dan memberikan
otorisasi kredit pada pelanggan.
16
3. Fungsi Gudang
Fungsi ini antara lain bertugas menyimpan dan menyiapkan barang yang
dipesan pelanggan.
4. Fungsi Pengiriman
Fungsi ini antara lain bertugas menyerahkan barang atas dasar surat pesanan
penjualan yang diterimanya dari fungsi penjualan.
5. Fungsi Penagihan
Fungsi ini antara lain bertugas melakukan verifikasi pesanan berdasarkan
dokumen-dokumen pesanan yang diterimanya kemudian membuat dan
mengirimkan faktur pada pelanggan.
6. Fungsi Akuntansi
Fungsi ini antara lain bertugas membuat pencatatan transaksi penjualan,
piutang, serta penerimaan kas secara periodik.
7. Fungsi Kas
Fungsi ini antara lain bertugas sebagai penerima kas dari hasil penjualan untuk
diteruskan ke bank.
8. Fungsi Pemeriksa atau Audit Internal
Fungsi ini antara lain bertanggung jawab dalam melaksanakan penghitungan
kas yang ada ditangan fungsi kas secara periodik, serta bertanggung jawab
dalam melakukan rekonsiliasi bank untuk mengecek ketelitian catatan kas
terhadap fungsi akuntansi.
17
2.2.6. Prosedur-prosedur dalam Siklus Penjualan
Pada gambar di bawah ini akan menjelaskan mengenai siklus penjualan.
Menurut pendapat Wilkinson et al. (200, p422), prosedur penjualan meliputi tiga
proses yaitu:
Customer
1.0Receive andenter sales
order
2.0Ship goods to
customer
3.0Bill
customer
4.0prepare accounting
analysesand reports
Accountants,managers, and
director
order
Acknowledgment
Approved order
Shippingdocument
Analyses and reports
Salesdata
Customer
Sales invoice
Customer data
Order data
Credit data
Inventory data
Saleshistory
Request for check
Credit approval
Ordered product nos..,quantity on hand,
wharehouse.locations
Open order
Customer numberand other data
Shippingdata
Inventorydata
Shipped goods(with packing slip)
Rates,routing,carrier
shippedquantities
Billedquantities
Pricingdata
Orderdata
Quantities ordered
Open invoice
Product prices
Salessummaries
Salesdata
Receivabledata
Customerdata
General ledgeraccount data
Accountant balances
Amount of sale
Address, terms, etc
Invoiced amount
Gambar 2.1 Data Flow Diagram Siklus Penjualan dan Piutang
(Sumber: Wilkinson et al.)
18
1. Order Entry
Setiap pesanan dari pelanggan dimasukkan ke dalam sebuah form penjualan
berdasarkan order atau pesanan dari telepon oleh pelanggan. Langkah awal
yang dilakukan dalam memasukkan pesanan adalah pengecekan apakah jumlah
barang dipesan sudah tersedia. Apabila jumlah barang ada tidak mencukupi,
dilakukan proses back order dengan form back order tersebut dikirim pada
pemasok terpilih untuk memesan barang dibutuhkan. Kemudian dilakukan
pengecekan status kredit pelanggan. Apabila semua kebijakan kredit telah
terpenuhi maka dibuat customer order acknowledgment dan picking list bagian
gudang.
2. Shipping
Apabila barang yang dipesan telah disiapkan oleh bagian gudang, maka proses
selanjutnya adalah 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, (1) dibuat sales invoice, (2)
pendebetan piutang pelanggan di mana sejumlah tertagih, (3) jumlah
persediaan berkurang sejumlah barang yang telah dikirim, (4) sales order
ditutup ke sales history file, (5) record baru dibuat dalam sales invoice file, (6)
jumlah penjualan dan piutang diposting ke buku besar bersangkutan. Sales
invoice akan dibuat dan dikirim pada pelanggan sebagai tagihan atau piutang.
19
2.2.7. Sasaran dari Sistem Informasi Akuntansi Penjualan
Menurut Wilkinson et al. (2000, p469) sasaran utama dari sistem penjualan
untuk memfasilitasi pertukaran barang atau jasa dengan sejumlah uang tertentu
dari pelanggan. Berikut ini sasaran secara umum:
1. Untuk mencatat pesanan pelanggan secara cepat dan tepat.
2. Untuk melakukan verifikasi bahwa pelanggan layak mendapatkan kredit.
3. Untuk mengirimkan produk pada tanggal telah disetujui.
4. Untuk melakukan penagihan atas produk atau jasa secara tepat waktu dengan
prosedur benar.
5. Untuk mencatat dan mengklarifikasikan penerimaan kas secara cepat dan tepat.
6. Untuk posting penjualan dan penerimaan kas ke account pelanggan yang tepat
dalam jurnal khusus penjualan dan penerimaan kas.
7. Untuk mengamankan produk sampai dikirim.
8. Untuk mengamankan kas sampai disetor.
2.2.8. Laporan yang Diperlukan pada Akhir Periode dalam Sistem Informasi
Akuntansi Penjualan dan Piutang Usaha
Menurut Wilkinson et al. (2000, p428) laporan yang diperlukan pada akhir
periode adalah:
1. Laporan Penjualan
Adalah laporan yang berisikan ringkasan dari transaksi penjualan dalam satu
periode.
2. Laporan Penerimaan Kas
Adalah laporan di mana berisikan ringkasan penerimaan kas atas berbagai
20
transaksi yang terjadi dalam satu periode.
3. Accounts Receivable Summary
Adalah ringkasan dari perubahan saldo piutang dari masing-masing pelanggan
dalam satu periode.
4. Accounts Receivable Aging Schedule
Adalah ringkasan analisis umur piutang dari masing-masing pelanggan yang
berguna untuk proses penagihan.
2.3. Periklanan
2.3.1. Definisi
Menurut Lee dan Johnson (2007, p3), periklanan adalah komunikasi
komersil dan nonpersonal tentang sebuah organisasi dan produk-produknya yang
ditransmisikan ke suatu khalayak target melalui media bersifat massal seperti
televisi, radio, koran, majalah, direct mail (pengeposan langsung), reklame luar
ruang, atau kendaraan umum.
2.3.2. Klasifikasi Periklanan
Menurut Lee dan Johnson (2007, p4), periklanan diklasifikasikan menjadi
beberapa jenis sebagai berikut:
1. Periklanan Produk
Porsi pengeluaran periklanan dibelanjakan untuk produk: presentasi dan
promosi produk-produk baru, produk-produk yang ada dan produk-produk hasil
revisi.
21
2. Periklanan Eceran
Periklanan eceran bersifat lokal dan berfokus pada toko, tempat di mana
beragam produk dapat dibeli atau di mana satu jasa ditawarkan. Periklanan
eceran memberikan tekanan pada harga, kertsediaan, lokasi, dan jam-jam
operasi.
3. Periklanan Korporasi
Fokus periklanan ini adalah membangun identitas korporasi atau untuk
mendapatkan dukungan publik terhadap sudut pandang organisasi.
4. Periklanan Bisnis-ke-Bisnis
Istilah ini berkaitan dengan periklana yang ditujukan kepada para pelaku
industri (ban yang diiklankan kepada manufaktur mobil), para pedagang
perantara (pedagang partai besar dan pengecer), serta para profesional (seperti
pengacara dan akuntan).
5. Periklanan Politik
Periklanan politik sering kali digunakan para politisi untuk membujuk orang
untuk memilih mereka; dan karenanya, iklan jenis ini merupakan bagian penting
dari proses politik di negara-negara demokrasi yang memperbolehkan iklan para
kandidat.
6. Periklanan Direktori
Orang merujuk periklanan direktori untuk menemukan cara membeli sebuah
produk atau jasa.
7. Periklanan Respon Langsung
Periklanan respon langsung melibatkan komunikasi dua arah diantara pengiklan
dan konsumen.
22
8. Periklanan Layanan Masyarakat
Periklanan pelayanan masyarakat dirancang untuk beroperasi demi kepentingan
masyarakat dan mempromosikan kesejahteraan masyarakat.
9. Periklanan Advokasi
Periklanan advokasi berkaitan dengan penyebaran gagasan-gagasan dan
kalrifikasi isu sosial yang kontroversial dan menjadi kepentingan masyarakat.
2.3.3. Fungsi-Fungsi Periklanan
Menurut Lee dan Johnson (2007, p4), fungsi-fungsi periklanan sebagai
berikut:
1. Periklanan menjalankan sebuah fungsi “informasi”; ia mengkomunikasikan
informasi produk, ciri-ciri, dan alokasi penjualannya. Ia memberitahu
konsumen tentang produk-produk baru.
2. Periklanan menjalankan sebuah fungsi “persuasif”; ia mencoba membujuk
para konsumen untuk membeli merek-merek tertentu atau mengubah sikap
mereka terhadap produk atau perusahaan tersebut.
3. Periklanan menjalankan sebuah fungsi “pengingat”; terus-menerus
mengingatkan para konsumen tentang sebuah produk sehingga mereka akan
tetap membeli produk yang diiklankan tanpa memperdulikan merek
pesaingnya.
2.4. Pengendalian Internal
2.4.1. Pengertian
Menurut Gelinas, Sutton, Hunton (2005, p237) pengendalian internal
23
adalah sebuah sistem dari elemen-elemen terintegrasi, bertindak bersama-sama
untuk menindaklanjuti jaminan yang layak untuk sebuah hasil dari organisasi atas
tujuan proses bisnis.
Menurut Romney dan Steinbart (2006, p195), pengendalian internal adalah
perencanaan organisasi dan metode sebuah bisnis guna untuk mengamankan dan
melindungi aset, menyediakan informasi secara akurat dan andal, meningkatkan
efektivitas dan efisiensi operasi dan mendukung ketaatan terhadap kebijakan
manajemen yang berlaku.
Berdasarkan pengertian di atas, maka dapat ditarik simpulan bahwa
pengendalian internal adalah suatu pengendalian terdiri dari beberapa elemen-
elemen yang berpengaruh pada manajemen dalam melindungi kekayaan
perusahaan, mengecek keakuratan dan keandalan data, dan diperoleh informasi
keuangan, dan memastikan segala kebijakan dan peraturan perusahaan dipatuhi
demi mencapai tujuan dari proses bisnis.
2.4.2. Tujuan Sistem Pengendalian Internal
Menurut Gondodiyoto dan Hendarti (2006, p144), tujuan dari pengendalian
internal adalah untuk melindungi harta milik perusahaan, memeriksa kecermatan
dan keandalan data akuntansi, meningkatkan efisiensi usaha, dan mendorong
ditaatinya kebijakan manajemen yang telah digariskan:
1. Menyajikan data yang dapat dipercaya.
2. Mengamankan aktiva dan pembukuan.
3. Meningkatkan efisiensi operasional.
4. Mendorong pelaksanaan kebijaksanaan yang ada.
24
2.4.3. Komponen-komponen Sistem Pengendalian Internal
Menurut Romney dan Steinbart (2006, p196) berdasarkan Committee of
Sponsoring Organizations of the Treadway Commission (COSO), terdapat lima
komponen yang saling berhubungan dalam sistem pengendalian internal sebagai
berikut:
1. Control Environment
Inti dari semua bisnis adalah orangnya – sifat masing-masing individu,
termasuk integritas, nilai etika, dan kemampuan dan lingkungan yang dapat
beroperasi. Itu adalah alat yang mengendalikan organisasi dan merupakan
dasar dari segala sesuatu.
2. Control Activities
Prosedur dan kebijakan pengendalian harus ditetapkan dan dijalankan untuk
membantu meyakinkan bahwa tindakan yang dilakukan oleh pihak manajemen
untuk menanggulangi risiko dan mencapai tujuan organisasi terlihat efektif.
3. Risk Assessment
Perusahaan harus berhati-hati terhadap risiko yang dihadapi. Perusahaan harus
membentuk suatu tujuan, yang digabungkan dengan penjualan, produksi,
pemasaran, keuangan, dan aktivitas lainnya, sehingga perusahaan dapat
beroperasi secara baik. Perusahaan juga harus menyusun sebuah mekanisme
untuk mengidentifikasi, menganalisis dan mengatur risiko-risiko yang
berhubungan dengan setiap bagian.
4. Information and Communication
Yang mengelilingi aktivitas pengendalian adalah sistem informasi dan
25
komunikasi, serta memungkinkan orang-orang dari perusahaan menerima dan
saling bertukar informasi - dibutuhkan untuk memimpin, mengatur, dan
mengontrol operasi di mana telah tersedia.
5. Monitoring
Keseluruhan proses harus diawasi dan melakukan perubahan bila diperlukan.
Cara lainnya adalah sistem dapat bereaksi dengan lebih dinamis, berubah
sesuai kondisi yang ada.
2.4.4. Sistem Pengendalian Internal Sistem Informasi Akuntansi Penjualan
Menurut Wilkinson et al. (2000, p448), risiko dari Sistem Informasi
Akuntansi adalah terjadinya lapping pada saaat pencatatan piutang. Lapping
merupakan satu bentuk penyalahgunaan dana hasil penagihan dari pelanggan dan
keterlambatan pencatatan atau pemasukkan untuk pelunasan piutang usaha.
Sedangkan tujuan dari sistem pengendalian internal pada siklus penjualan adalah
tercapainya suatu sistem pengendalian yang dapat diandalkan. Berikut ini adalah
berapa hal penting yang harus diperhatikan dalam sistem pengendalian internal
siklus akuntansi:
1. Semua pelanggan yang diberikan kredit harus memenuhi syarat.
2. Semua barang yang dijual dan telah dikirim atau telah memakai jasa, maka
harus dicatat pada tanggal terjadinya.
3. Semua barang yang dikirim harus telah diotorisasi dan ditagih secara akurat
sesuai dengan periode akuntansi.
4. Semua retur penjualan dan discount/pengurangan harus diotorisasi dan dicatat
secara akurat dan berdasarkan retur barang yang sesungguhnya.
26
5. Semua penerimaan kas dicatat dengan lengkap dan akurat.
6. Semua transaksi penjualan kredit dan penerimaan kas di posting ke sesuai
account pelanggan ke dalam jurnal piutang.
7. Semua pencatatan akuntansi, persediaan barang dan kas terjamin
keandalannya.
2.5. Metode Analisis dan Desain Berorientasi Objek
2.5.1. Pengertian Metode Analisis dan Desain Berorientasi Objek
Menurut Whitten, Bently, Ditmann (2001, p97), object-oriented analysis
dan design (OOA&D) berusaha untuk menggabungkan data dan proses menjadi
suatu gagasan tunggal yang disebut objects. OOA&D memperkenalkan objects
diagrams yang mendokumentasikan sistem dipandang dari segi objek dan
interaksinya.
Menurut Mathiassen et al (2000, p4), “Objek adalah kesatuan dengan
identity, state dan behaviour.” Berdasarkan pengertian di atas, maka dapat
disimpulkan metode analisis dan desain berorientasi objek adalah panggabungan
data dan proses menjadi suatu gagasan tunggal atau yang dikenal dengan objek.
2.5.2. Rich Picture
Menurut Mathiassen et al. (2000, p26), rich picture adalah sebuah
gambaran formal digunakan oleh pengembang sistem untuk menyatakan
pemahaman user terhadap situasi dari sistem yang sedang berlangsung. Rich
picture juga dapat digunakan sebagai alat yang berguna untuk memfasilitasi
komunikasi baik antara pengguna dalam sistem.
27
Rich picture difokuskan pada aspek-aspek penting dari sistem tersebut,
ditentukan sendiri oleh pengembang sistem dengan mengunjungi perusahaan di
mana melihat bagaimana perusahaan tersebut beroperasi, berbicara dengan banyak
orang untuk mengetahui apa yang harus terjadi atau seharusnya terjadi, dan
mungkin melakukan beberapa wawancara formal.
2.5.3. System Definition
Menurut Mathiassen et al. (2000, p37), system definition adalah deskripsi
ringkas dari sistem terkomputerisasi yang diekspresikan dalam bahasa natural.
Tujuan system definition adalah untuk memilih sistem aktual yang akan
dikembangkan. Hal ini dilakukan dengan mengklarifikasikan interpretasi,
kemungkinan dan konsekuensi dari beberapa solusi alternatif secara sistematis.
Saran yang dapat membantu dalam membuat system definition berguna:
1. Menggunakan general term dan memfokuskan pada emergent properties.
2. Memfokuskan ide dari pada mendeskripsikan situasi saat itu.
3. Membuat definisi yang ringkas dan tepat.
4. Bereksperimen dengan beberapa system definition.
5. Melaju pada jalan berpikir diluar kebiasaan.
6. Menggunakan proses seleksi untuk menemukan tambahan properti yang
relevan.
2.5.4. FACTOR Criterion
Menurut Mathiassen et al. (2000, p39), FACTOR Criterion terdiri dari
28
enam elemen:
1. Functionality
Fungsi-fungsi sistem yang mendukung tugas application domain.
2. Application Domain
Bagian-bagian dalam organisasi yang melakukan administrasi, memonitor, atau
mengendalikan sebuah problem domain.
3. Conditions
Kondisi-kondisi yang di bawah sistem akan dikembangkan dan digunakan.
4. Technology
Teknologi guna untuk mengembangkan sistem yang akan dijalankan.
5. Objects
Objek-objek utama dari problem domain.
6. Responsibility
Tanggung jawab keseluruhan sistem yang berkaitan dengan konteksnya.
Menurut Mathiassen et al. (2000, p40), FACTOR Criterion dapat digunakan
dalam dua cara. Pertama, dapat digunakan mendukung pengembangan system
definition, dengan seksama mempertimbangkan masing-masing dari keenam
elemen yang seharusnya diformulasikan. Atau kedua, dapat memulai system
definition dengan cara mendeskripsikan sistem dan menggunakan kriteria tersebut
untuk dapat melihat bagaimana kemampuan sistem mendefinisikan keenam faktor
tersebut. Secara prinsip tergantung pada permulaan kerjanya.
2.5.5. Analisis Problem Domain
Menurut Mathiassen et al. (2000, p45), problem domain adalah bagian
29
konteks yang diatur, dimonitor, atau dikendalikan oleh sistem. Analisis problem
domain memfokuskan pada informasi, di mana harus ditangani oleh sistem dan
menghasilkan sebuah model berupa gambaran dari class, objek, struktur dan
perilaku (behaviour) yang ada dalam problem domain.
Analisis problem domain dibagi menjadi tiga kegiatan seperti tampak pada
tabel di bawah ini:
Kegiatan Isi Konsep
Class Objek dan event yang mana merupakan bagian dari problem domain? Class, objek, event
Structure Bagaimana class dan objek saling terkait satu sama lain secara konseptual?
Generalisasi, agregasi, asosiasi, dan cluster
Behaviour
Properti dinamik mana yang dimiliki oleh objek?
Event trace, behavioural pattern, dan atribut
Tabel 2.1 Kerangka Analisis Problem Domain(Sumber: Lars Mathiassen)
2.5.5.1. Class
Menurut Mathiassen et al. (2000, p49), class adalah sekumpulan objek
yang membagikan struktur, behavioral pattern, dan atribut. Kegiatan class
merupakan kegiatan pertama 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; seleksi class dan event yang akan
dipelihara informasinya oleh sistem.
Menurut Mathiassen et al. (2000, p51), object adalah sebuah entitas yang
memiliki identitas, status, dan perlaku (behavior). Event adalah kejadian secara
terus menerus yang melibatkan satu atau lebih objek.
30
Pemilihan class tersebut bertujuan untuk mendefinisikan dan membatasi
problem domain. Sementara pemilihan kumpulan event yang dialami atau
dilakukan oleh satu atau lebih objek bertujuan untuk membedakan tiap-tiap kelas
dalam problem domain.
Kegiatan class akan menghasilkan sebuah Event Tabel. Seperti terlihat
pada contoh tabel di bawah.
Event ClassCustomer Assistant Apprentice Appointment Plan
Reserved √ √ √ √Cancelled √ √ √Treated √ √
Employed √ √Resigned √ √Graduated √
Agreed √ √ √
Tabel 2.2 Contoh Event Table(Sumber: Lars Mathiassen)
Pada table di atas, dimensi horizontal berisi class-class terpilih dan vertikal
berisi event-event terpilih. Sebuah tanda cek digunakan untuk mengindikasikan
objek-objek dari class yang berhubungan dalam event tertentu.
Evaluate and seleectsystematically
Find candidates for eventsFind Candidatesfor classes
Event TableEvent Table
31
Gambar 2.2 Subactivity dalam Pemilihan Class dan Event Problem Domain
(Sumber: Lars Mathiassen)
Pada gambar di atas ini, dimulai dengan mengidentifikasi, objek, dan
kemudian melakukan abstraksi dan klasifikasi, mengembangkan susunan class
yang relevan dan potensial untuk model problem domain. Dalam aktivitas secara
paralel, di identifikasi dan dikembangkan serupa dengan beberapa event.
Kemudian secara sistematik dievaluasi banyak kandidat dan memilih beberapa
class dan event yang relatif meliputi model problem domain. Pada akhirnya
menaruh event ke class.
2.5.5.2. Structure
Menurut Mathiassen et al. (2000, p69) kegiatan kedua dalam analisis
problem-domain ini bertujuan untuk mencari hubungan struktural yang abstrak dan
umum antara class-class serta mencari hubungan konkrit dan spesifik antara objek-
objek dalam problem-domain.
Menurut Mathiassen et al. (2000, p72-77) objected-oriented structure bisa
dibagi menjadi:
1. Structure antara class, terdiri dari:
a. Generalization adalah hubungan antara dua atau lebih class yang lebih spesialisasi
(sub kelas) dengan sebuah class lebih umum (super kelas). Hubungan spesialisasi
tersebut dapat dinyatakan dengan rumus “is-a”.
32
Passenger Car
Private CarTaxi
Gambar 2.3 Generalization Structure
(Sumber: Lars Mathiassen)
b. Cluster adalah kumpulan class yang saling berkaitan. Cluster digambarkan dengan
notasi file folder yang mencakup class-class di dalamnya. Class dalam cluster
sama dihubungkan dengan generalization atau pun aggregation, sedangkan class
yang berada pada cluster berbeda dihubungkan dengan association.
Car
Passenger CarEngine
CarCylinder
Clerk
Owner
1*
1*
Gambar 2.4 Cluster Structure
(Sumber: Lars Mathiassen)
<<cluster>>Cars
<<cluster>>People
33
2. Stucture antara objek, terdiri dari:
a. Aggregation adalah objek superior (keseluruhan) yang terdiri dari sejumlah objek
inferior (bagian). Hubungan ini dapat dinyatakan dengan rumus “has-a” atau “is-
part-of”.
Car
W heelBody
Car Cylinder
1
1
12..*
Engine
1
4..*
1
1
11..*
Gambar 2.5 Aggregation Structure
(Sumber: Lars Mathiassen)
Whole-Part merupakan penjumlahan dari objek inferior, jika objek inferior
tersebut ditambah atau dihilangkan, akan mengubah total objek superior.
Container-Content adalah container untuk objek inferior. Objek superior tidak
akan berubah jika terjadi penambahan atau penghapusan objek inferior.
Union-Member merupakan kesatuan dari anggota-anggota (objek inferior). Objek
superior tidak akan berubah jika terjadi penambahan atau penghapusan objek
inferior, namun tetap memiliki batasan.
b. Association adalah hubungan antara sejumlah objek di mana memiliki arti dan
yang saling berhubungan tersebut bukan merupakan bagian dari objek lainnya.
Car Person0..* 1..*
Gambar 2.6 Association Structure
(Sumber: Lars Mathiassen)
34
Hasil dari kegiatan struktur ini adalah class diagram, yakni ringkasan
model problem-domain yang jelas dengan menggambarkan semua struktur
hubungan statik antar class dan objek dalam model dari sistem berubah-ubah.
2.5.5.3. Behaviour
Menurut Mathiassen et al. (2000, p89-93) kegiatan behaviour adalah
kegiatan terakhir pada analisis problem domain di mana bertujuan untuk
memodelkan apa yang terjadi (perilaku dinamis) dalam problem domain sistem
sepanjang waktu. Tugas utama dalam kegiatan ini adalah menggambarkan pola
perilaku (behavioral pattern) dan atribut dari setiap class. Hasil dari kegiatan ini
adalah statechart diagram yang dapat dilihat:
Open
-name-address-balance
Customer
/ account opened
/ account closed
/ amount deposited
/ amount withdrawn
Gambar 2.7 Contoh “State Chart”
(Sumber: Lars Mathiassen)
Perilaku dari suatu objek ditentukan oleh urutan event-event (event trace)
yang harus dilewati oleh objek tertentu tersebut sepanjang waktu. Sebagai
contohnya adalah kelas “pelanggan” harus melalui event trace: account opened –
amount deposited – amount withdrawn – amount deposited – account closed
sepanjang masa hidupnya.
Tiga jenis notasi untuk behavioral pattern yaitu:
1. Sequence, di mana event muncul satu per satu secara berurutan.
35
2. Selection adalah pemilihan satu event dari sekumpulan event yang muncul.
3. Iteration adalah sebuah event yang muncul sebanyak nol atau beberapa kali.
2.5.6. Analisis Application Domain
Menurut Mathiassen et al. (2000, p115), application domain adalah
organisasi yang mengatur, memonitor, atau mengendalikan problem domain.
Analisis application domain memfokuskan pada bagaimana target sistem akan
digunakan dengan menentukan kebutuhan function dan antar muka sistem.
Analisis application-domain memiliki tiga kegiatan yaitu:
Kegiatan Isi Konsep
UsageBagaimana sistem berinteraksi dengan orang lain dan dengan sistem lain dalam konteks?
Use case dan actor
Function Bagaimana kemampuan sistem dalam memproses informasi? Function
Interfaces Apa kebutuhan antar muka dari sistem target?
Interface, user interface, dan sistem interface
Tabel 2.3 Kerangka Analisis Application Domain
(Sumber: Lars Mathiassen)
Berikut ini merupakan jalur kegiatan dalam analisis application-domain:
F u n c t i o n s
I n t e r f a c e s
U s a g e
Sy s t e m D e f i n i t i o n
R e q u i r e me n t s
Gambar 2.8 Application-Domain Analysis
(Sumber: Lars Mathiassen)
36
Pada gambar di atas, dimulai dengan mendefinisikan sistem yang
dibutuhkan oleh user. Dalam hal ini, kerja sama antara pengembang dan pengguna
sangat dibutuhkan. Ketentuan yang dibutuhkan pada usage, functions, dan
interface harus dievaluasikan. Pada akhir dari kegiatan analisis ini menghasilkan
prasyarat-prasyarat yang dibutuhkan untuk mendefinisi sistem.
2.5.6.1. Usage
Menurut Mathiassen et al. (2000, p119), kegiatan usage merupakan
kegiatan pertama dalam analisis applicatin domain bertujuan untuk menentukan
bagaimana aktor-aktor merupakan pengguna atau sistem lain berinterkasi dengan
sistem yang dituju. Interaksi antara aktor dengan sistem tersebut dinyatakan dalam
use case. Adapun use case dapat dimulai oleh aktor atau oleh sistem target. Hasil
dari analisis kegiatan usage ini adalah deskripsi lengkap dari semua use case dan
aktor yang ada.
Menurut Dennis dan Wixom (2003), cara untuk mengidentifikasi aktor
adalah dengan mengetahui alasan aktor menggunakan sistem.
Aktor dapat digambarkan dalam spesifikasi aktor yang memiliki tiga
bagian yaitu: tujuan, karakteristik, dan contoh dari aktor tersebut. Tujuan
merupakan peran dari aktor dalam sistem target. Sementara karakteristik
menggambarkan aspek-aspek yang penting dari aktor.
Use case dapat digambarkan dengan menggunakan spesifikasi use case, di
mana 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 dinamik.
37
Manurut Bennett, McRobb, Farmer (2002), mengungkapkan use case
diagram mempunyai dua jenis hubungan (relationship) yaitu: extend dan include.
Hubungan extend digunakan ketika ingin menunjukkan bahwa sebuah use case
menyediakan fungsi tambahan yang mungkin digunakan oleh use case lain.
Sedangkan hubungan include berguna ketika sering kali terdapat urutan behaviour
digunakan oleh sejumlah use case dan ingin dihindari pengkopian deskripsi sama
ke setiap use case yang akan menggunakan perilaku tersebut.
Manurut Bennett, McRobb, Farmer (2002), sequence diagram membantu
kebutuhan seorang analisis dalam mengidentifikasi rincian dari kegiatan yang
dibutuhkan untuk menjalankan fungsi dari sebuah use case. Tidak ada suatu
sequence diagram yang benar untuk use case tertentu, melainkan ada sejumlah
kemungkinan sequence diagram, dapat lebih atau kurang memenuhi kebutuhan
dari use case.
Menurut Whitten, Bently, Ditmann (2001), sequence menggambarkan
bagaimana pesan atau message dikirim dan diterima antar objek dalam sequence
tertentu.
2.5.6.2. Function
Menurut Mathiassen (2000, p137) kegiatan function merupakan kegiatan
kedua dalam analisis application domain. Function memfokuskan pada bagaimana
cara sebuah sistem dapat membantu aktor dalam melaksanakan pekerjaannya.
Tujuan dari kegiatan function adalah untuk menentukan kemampuan sistem
memproses informasi. Hasil dari kegiatan ini adalah sebuah daftar fungsi untuk
merinci fungsi-fungsi yang kompleks. Daftar fungsi harus lengkap, menyatakan
38
kebutuhan kolektif dari pelanggan dan aktor dan harus konsisten dengan use case.
Function memiliki empat tipe yang berbeda yaitu:
1. Update, fungsi yang diaktifkan dengan event problem domain dan
menghasilkan perubahan dalam model state tersebut.
2. Signal, fungsi di mana diaktifkan dengan perubahan keadaan dari model yang
dapat menghasilkan reaksi pada konteks. Reaksi ini dapat berupa tampilan bagi
aktor di application domain, atau intervensi langsung di problem domain.
3. Read, fungsi yang diaktifkan dengan kebutuhan akan informasi dalam
pekerjaan aktor dan mengakibatkan sistem menampilkan bagian di mana
berhubungan dengan model.
4. Compute, fungsi yang diaktifkan dengan kebutuhan akan informasi dalam
pekerjaan aktor dan berisi perhitungan di mana melibatkan informasi dan
disediakan oleh aktor atau model. Hasil dari function ini adalah tampilan dari
komputasi.
Cara untuk mengidentifikasikan function adalah dengan melihat deskripsi
problem domain ditampilkan oleh class dan event, dan melihat deskripsi
application domain yang ditampilkan dalam use case. Class dapat menyebabkan
munculnya function baca dan update. Event memungkinkan munculnya kebutuhan
terhadap function update. Sementara use case dapat menyebabkan munculnya
semua jenis function.
2.5.6.3. Interface
Menurut Mathiassen (2000) interface digunakan oleh aktor untuk
berinteraksi dengan sistem. Kegiatan interface memiliki tiga konsep yaitu:
39
1. Interface, yaitu fasilitas yang membuat model sistem dan fungsi-fungsi dapat
digunakan oleh aktor.
2. User Interface, yaitu tampilan yang menghubungkan pengguna dengan
sistem.
3. System Interface, yaitu tampilan yang menghubungkan sistem satu dengan
sistem lain.
Sebuah user interface yang baik harus dapat beradaptasi dengan pekerjaan
dan pemahaman user terhadap sistem. Kualitas user interface ditentukan oleh
kegunaan atau usability interface tersebut bagi pengguna. Usability bergantung
dengan siapa yang menggunakan dan situasi pada saat sistem tersebut digunakan.
Oleh sebab itu, usability bukan sebuah ukuran yang pasti dan objektif.
Terdapat empat jenis pola dialog yang penting dalam menentukan user
interface yaitu:
1. Menu-selection yang menampilkan pilihan-pilihan menu dalam user
interface.
2. Form fill in yang merupakan pola klasik untuk memasukkan data
berdasarkan terminal karakter.
3. Command-language yang berguna bagi pengguna untuk memasukkan dan
mengaktifkan format perintah sendiri.
4. Direct manipulation di mana pengguna memilih objek dan melaksanakan
fungsi-fungsi atas objek dan melihat hasil dari interaksi diri.
Kegiatan analisis user interface ini berdasarkan pada hasil dari kegiatan
analisis lainnya, yaitu model problem domain, kebutuhan functional dan use case.
Hasil dari kegiatan ini adalah sebuah deskripsi elemen-elemen user interface dan
40
system interface yang lengkap, di mana kelengkapan menunjukkan pemenuhan
kebutuhan pengguna. Hasil dari kegiatan user interface berupa form presentasi dan
dialogue style, diagram window terpilih, dan diagram navigasi. Sedangkan hasil
dari system interface berupa class diagram untuk peralatan dan protocol ekternal
untuk berinteraksi dengan sistem yang lain.
2.5.7. Architecture Design
Menurut Mathiassen et al. (2000), keberhasilan suatu sistem ditentukan
oleh kekuatan desain arsitekturalnya. Arsitektur membentuk sistem sesuai dengan
fungsi sistem tersebut dan memenuhi kriteria desain tertentu. Arsitektur juga
berfungsi sebagai kerangka untuk kegiatan pengembangan yang selanjutnya.
Sebuah arsitektur di mana tidak jelas akan menghasilkan banyak pekerjaan yang
sia-sia. Rancangan arsitektural memiliki tiga aktivitas yaitu:
Kegiatan Isi Konsep
Kriteria Kondisi dan kriteria apa untuk perancangan? Criterion
Komponen Bagaimana struktur sistem menjadi komponen-komponen? Arsitektur komponen
Proses Bagaimana proses sistem didistribusikan dan dikoordinasikan? Arsitektur proses
Tabel 2.4 Kerangka Architecture Design
(Sumber: Lars Mathiassen)
2.5.7.1. Criteria
Karena tidak ada cara-cara tertentu atau mudah untuk menghasilkan suatu
desain yang baik, banyak perusahaan menciptakan suatu standard dan prosedur
41
untuk memberikan jaminan terhadap kualitas sistem. Di sinilah kegiatan kriteria
dapat membantu dengan menetapkan prioritas desain untuk setiap proyek tertentu.
Menurut Mathiassen (2000, p177-179) sebuah desain yang baik memiliki tiga ciri-
ciri yaitu:
1. Tidak memiliki kelemahan.
Syarat ini menyebabkan adanya penekanan pada evaluasi dari kualitas
berdasarkan review dan eksperimen dan membantu dalam menentukan prioritas
dari kriteria yang akan mengatur dalam kegiatan perancangan. Beberapa
kriteria umum yang digunakan dalam kegiatan desain berorientasi objek
tampak seperti di bawah ini:
Criterion Ukuran dari
Usable Adaptasi sistem dengan organisasi, bekerja saling berhubungan, dan konteks teknikal.
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 fungsi diinginkan.
Flexible Biaya untuk mengubah sistem yang dibentuk.
Comprehensible Usaha yang diperlukan untuk mendapatkan pemahaman terhadap sistem.
Reusable Kemungkinan untuk menggunakan bagian sistem pada sistem lain yang berhubungan.
Portable Biaya untuk memindahkan sistem ke platform teknis yang berbeda.
Interoperable Biaya untuk menggabungkan sistem ke sistem yang lain.
Tabel 2.5 Kriteria Umum(Sumber: Lars Mathiassen)
42
2. Menyeimbangkan beberapa kriteria.
Konflik sering terjadi antar kriteria, oleh sebab itu digunakan pmilihan pada
kriteria mana yang akan diutamakan. Cara untuk menyeimbangkan dengan
kriteria-kriteria yang lain bergantung pada situasi sistem tertentu.
3. Usable, flexible, dan comprehensible.
Kriteria-kriteria ini bersifat universal dan digunakan pada hampir setiap proyek
pengembangan sistem.
Menurut Mathiassen et al. (2000, p184) untuk menciptakan sebuah
rancangan yang baik diperlukan pertimbangan mengenai kondisi-kondisi dari
setiap proyek di mana dapat mempengaruhi kegiatan perancangan yaitu:
1. Technical, terdiri dari pertimbangan: penggunaan hardware, software dan
sistem lain yang telah dimiliki dan dikembangkan; pengaruh kemungkinan
penggabungan pola-pola umum dan komponen telah ada terhadap arsitektur
dan kemungkinan pembelian komponen standard.
2. Organizational, yang terdiri dari pertimbangan: perjanjian kontrak, rencana
untuk pengembangan lanjutan, pembagian kerja antara pengembang.
3. Human, terdiri dari pertimbangan: keahlian dan pengalaman orang di mana
terlibat kegiatan pengembangan dengan sistem serupa dan platform teknis yang
akan dirancang.
2.5.7.2. Component Architecture
Menurut Mathiassen et al. (2000, p190) component architecture adalah
sebuah struktur sistem terdiri dari komponen-komponen yang saling berhubungan.
Component architecture membuat sistem lebih mudah untuk dimengerti,
43
menyederhanakan desain, dan mencerminkan kestabilan sistem. Hal ini
dikarenakan komponen merupakan subsistem dari sebuah sistem.
Beberapa pola umum dalam desain komponen arsitektur:
1. Layered-Architecture Pattern
Merupakan bentuk yang paling umum dalam software. Contoh dari pola ini
adalah model OSI yang sudah menjadi ISO untuk model jaringan.
Gambar 2.9 Layered Architecture Pattern
(Sumber: Lars Mathiassen)
Sebuah arsitektur layered terdiri dari beberapa komponen dibentuk menjadi
lapisan-lapisan di mana lapisan berada di atas bergantung ke pada lapisan di
bawahnya. Perubahan yang terjadi pada suatu lapisan akan mempengaruhi
lapisan di atasnya.
2. Generic-Architecture Pattern
Pola ini digunakan untuk merinci sistem dasar terdiri dari komponen interface,
finction, dan model. Di mana komponen model terletak pada lapisan yang
paling bawah, kemudian dilanjutkan dengan function layer, dan paling atasnya
<<component>>Layer i+1
<<component>>Layer i
<<component>>Layer i-1
Upwards Interface
Downwards Interface
44
komponen interface.
Gambar 2.10 Generic Architecture Pattern
(Sumber: Lars Mathiassen)
Pada model arsitektur ini, komponen model terletak pada lapisan yang paling
bawah, kemudian dilanjutkan dengan function layer, dan paling atasnya
komponen interface.
3. Client-Server Architecture Pattern
Pola ini awalnya dikembangkan untuk mengatasi masalah sistem terdistribusi
di antara beberapa prosesor yang tersebar secara geografis. Komponen pada
arsitektur ini adalah sebuah server dan beberapa client. Tanggung jawab server
adalah untuk menyediakan database dan resource yang dapat disebarkan
<<component>>Interface
<<component>>User Interface
<<component>>System Interface
<<component>>Interface
<<component>>UIS
<<component>>NS
<<component>>Function
<<component>>Model
<<component>>DBS
45
kepada client melalui jaringan. Sementara client memiliki tanggung jawab
untuk menyediakan interface lokal untuk setiap penggunanya. Identifikasi
komponen, didalam perancangan sistem atau subsistem, umumnya diawali
dengan layer architecture dan client server architecture di mana keduanya
merupakan dua layer yang berbeda, tetapi saling melengkapi.
Gambar 2.11 Client-Server Architecture Pattern
(Sumber: Lars Mathiassen)
Berikut adalah tabel jenis form distribusi pada arsitektur client-server:
Tabel 2.6 Jenis Arsitektur Client-Server
(Sumber: Lars Mathiassen)
Beberapa jenis distribusi dalam arsitektur client-server di mana U (User
Interface), F (Function), M (Model) menghasilkan lima karakteristik komponen
dengan berbagai macam derajat distribusi.
Client Server ArchitectureU U+F+M Distributed presentationU F+M Local presentationU+F F+M Distributed functionalityU+F M Centralized dataU+F+M M Distributed data
<<component>>Client 1
<<component>>Client 2
<<component>>Client n
<<component>>Server
….
46
2.5.7.3. Process Architecture
Menurut Mathiassen et al. (2000, p209) process architecture adalah
struktur dari eksekusi sistem terdiri dari proses-proses yang saling bergantung.
Hasil berupa sebuah deployment diagram.
Terdapat tiga jenis pola distribusi yaitu:
1. Centralized Pattern
Pola ini menyimpan semua data pada server pusat dan user hanya bisa melihat
user interface saja. Keuntungannya adalah dapat diimplementasikan pada
client secara murah, semua data konsisten karena hanya berada di satu tempat,
strukturnya mudah dimengerti dan diimplementasikan, dan kemacetan jaringan
moderat.
Gambar 2.12 Centralized Pattern
(Sumber: Lars Mathiassen)
2. Distributed Pattern
Semua data terdistribusi ke user atau client dan server hanya menyebarkan
model yang telah di update di antara client. Keuntungannya adalah waktu akses
yang rendah kenerja lebih maksimal, dan back-up data banyak. Kerugiannya
47
adalah redundansi data sehingga konsistensi data terancam, kemacetan jaringan
tinggi, arsitektur sulit dipahami dan diimplementasikan.
Gambar 2.13 Distributed Pattern
(Sumber: Lars Mathiassen)
3. Decentralized Pattern
Pola ini berada di antara kedua pola di atas. Di sini client memiliki data
tersendiri sehingga data umum hanya berada pada server. Komputer Server
menyimpan data umum dan fungsi atas data tersebut, sedangkan client
menyimpan data milik application domain client. Keuntungannya adalah
konsistensi data, tidak ada duplikasi data, lalu lintas jaringan jarang karena
jaringan hanya digunakan data umum di server di update. Kekurangannya
adalah semua prosesor harus mampu melakukan fungsi yang kompleks dan
memelihara model dalam jumlah besar, sehingga meningkatkan biaya
hardware.
48
Gambar 2.14 Decentralized Pattern
(Sumber: Lars Mathiassen)
2.5.8. Component Design
Menurut Mathiassen et al. (2000, p231), tujuan dari component design
adalah untuk menentukan implementasi kebutuhan dalam kerangka arsitektural.
Berikut ini adalah beberapa kegiatan dari component design:
Kegiatan Isi Konsep
Model Component
Bagaimana suatu model digambarkan sebagai kelas dalam sebuah sistem? Model komponen
Function Component
Bagaimana suatu fungsi diimplementasikan?
Komponen fungsi dan operasi
Connecting Component
Bagaimana komponen-komponen dihubungkan?
Komponen dan penghubung
Tabel 2.7 Kerangka Component Design
(Sumber: Lars Mathiassen)
Dari tabel diatas, kegiatan component design bermula dari spesifikasi
arsitektural dan kebutuhan sistem, sedangkan hasil dari kegiatan ini adalah
49
spesifikasi dari komponen yang saling berhubungan.
2.5.8.1. Model Component
Menurut Mathiassen et al. (2000, p236), komponen model adalah bagian
dari sistem yang mengimplementasikan model problem domain. Hasil dari
kegiatan komponen model adalah revisi class diagram dari kegiatan analisis yang
terdiri atas kegiatan penambahan class, atribut dan struktur baru di mana mewakili
event.
Revisi class dapat terjadi pada:
Generalization
Jika terdapat dua class dengan atribut yang sama maka dapat dibentuk class
baru (revised class).
Association
Jika terdapat hubungan many-to-many.
Embedded iterations
Merupakan embedded di dalam statechart diagram. Misalnya jika sebuah class
terdapat statechart diagram yang mempunyai tiga iterated events, maka dapat
membentuk tiga class didalam perancangan model.
2.5.8.2. Function Component
Menurut Mathiassen et al. (2000, p252), function component adalah bagian
dari sistem yang mengimplementasikan kebutuhan fungsional. Tujuan dari
function component adalah untuk memberikan akses bagi user interface dan
50
komponen sistem lainnya ke model sehingga menunjukkan pengimplementasian
dari function. Hasil utama dari kegiatan ini adalah class diagram dengan operation
dan spesification dari operation yang kompleks.
Sub kegiatan ini menghasilkan kumpulan operasi di mana dapat
mengimplementasikan fungsi sistem seperti yang ditentukan dalam analysis
problem domain dan function list.
1. Merancang function sebagai operation.
2. Menelusuri pola yang dapat membantu dalam implementasi function sebagai
operation.
3. Spesifikasi operasi yang kompleks.