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 data
Order data
Customer order Customer number and other data Acknowledgment
Open order Shipping data 1.0 Receive and enter sales order
Request for check
Rates,routing, carrier
Credit approval Credit data Approved order
Ordered product nos.., quantity on hand, wharehouse.locations
Inventory data
shipped quantities
2.0 Ship goods to customer
Shipped goods (with packing slip)
Billed quantities
Sales invoice Receivable data Invoiced amount
Order data
Shipping document
Customer
Inventory data
Quantities ordered 3.0 Bill customer
Open invoice
Sales data
Sales data
Address, terms, etc
Product prices
Customer data
Sales history Amount of sale
Accountant balances
General ledger account data
Sales 4.0 summaries prepare accounting analyses and reports
Pricing data
Analyses and reports
Accountants, managers, and director
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 elemenelemen 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
Behaviou r
Properti dinamik mana yang dimiliki oleh Event trace, behavioural objek? 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
Customer
Reserved Cancelled
√ √
Treated
√
Class Assistant Apprentice Appointment √ √
√ √
Plan √
√
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. Find Candidates for classes
Find candidates for events
Evaluate and seleect systematically
Event Table Event 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 objekobjek 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
Taxi
Private Car
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. <
> Cars
<> People
Car
*
Engine
Owner
1
Passenger Car Clerk
1*
Cylinder
Car
Gambar 2.4 Cluster Structure (Sumber: Lars Mathiassen)
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 “ispart-of”. Car
11 1
1
4..*
Engine
Body
W heel
1 1..*
2..*
Car
Cylinder
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. 0..* Car
1..* Person
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: Customer -name -address -balance
/ account opened
/ account closed Open / 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
Usage
Bagaimana 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: Sy s t e m Definition
Interfaces
U s a g e
Functions
Requirem nts
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 ciriciri 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 Adaptasi sistem dengan organisasi, bekerja saling Usable berhubungan, dan konteks teknikal. Ukuran keamanan sistem dalam menghadapi akses Secure yang tidak terotorisasi terhadap data dan fasilitas. Eksploitasi ekonomis terhadap fasilitas platform Efficient teknis. Correct Pemenuhan dari kebutuhan. Pemenuhan ketepatan yang dibutuhkan untuk Reliable melaksanakan fungsi. Biaya untuk menemukan dan memperbaiki Maintainable kerusakan. Biaya untuk memastikan bahwa sistem yang Testable dibentuk dapat melaksanakan fungsi diinginkan. Flexible Biaya untuk mengubah sistem yang dibentuk. Usaha yang diperlukan untuk mendapatkan Comprehensible pemahaman terhadap sistem. Kemungkinan untuk menggunakan bagian sistem Reusable pada sistem lain yang berhubungan. Biaya untuk memindahkan sistem ke platform Portable teknis yang berbeda. Biaya untuk menggabungkan sistem ke sistem Interoperable 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.
<> Layer i+1 Upwards Interface <> Layer i Downwards Interface <> Layer i-1 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
44 komponen interface. <> Interface <> User Interface
<> System Interface
<> Function
<> Model <> Interface <> UIS
<> DBS
<> NS
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
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. <> Client 1
<> Client 2
….
<> Client n
<> Server Gambar 2.11 Client-Server Architecture Pattern (Sumber: Lars Mathiassen) Berikut adalah tabel jenis form distribusi pada arsitektur client-server: Client U
Server U+F+M
Architecture Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralized data
U+F+M
M
Distributed data
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.
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.