BAB 2 LANDASAN TEORI
2.1.
Pengertian Sistem Informasi Menurut Bodnar dan Hopwood (2004), sistem informasi adalah “ the use of
computer technology in an organization to provide information to users. A computer based information system is a collection of computer hardware and software designed to transform data into useful information.” (p. 3-4). Menurut Whitten, Bentley and Dittmann (2004), sistem informasi adalah “ an arrangement of people, data, processes, and information technology that interact to collect, process, store, and provide as output the information neede to support an organization.” (p. 4). Jadi
dapat
ditarik
kesimpulan
bahwa
sistem
informasi
adalah
mengorganisasikan sumber daya pada PT. TRIJAYA BAN yang terdiri dari orang, perangkat keras dan perangkat lunak computer yang saling berinteraksi untuk menyediakan infomasi yang berguna bagi pihak manajemen.
2.2.
Pengertian Sistem Informasi Akuntansi Menurut Bodnar dan Hopwood (2004) sistem informasi akuntansi adalah “ a
collection of resources, such as people and equipment, designed to transform financial and other data into information… the term accounting information system used more broadly to include transaction processing cycles, the use of information technology, and the development of information systems.” (p. 1).
9 Menurut Jones and Rama (2003), sistem informasi akuntansi adalah “ a subsystem of MIS that provides accounting and financial information, as well as other information obtained in the routined transactions. An AIS tracks a wide range of information about sales orders, sales in units and dollars, cash collections, purchase orders, goods receive and payments, wages and hours worked.” (p. 5) Untuk itu, dapat ditarik kesimpulan bahwa sistem informasi akuntansi adalah kumpulan sumber daya pada PT. TRIJAYA BAN yaitu orang dan peralatan yang digunakan untuk menyediakan informasi akuntansi, informasi keuangan atau informasi –informasi lain yang diperoleh pada saat pemrosesan transaksi akuntansi.
2.3.
Sistem Informasi Akuntansi Penjualan, Piutang Dan Penerimaan Kas
2.3.1.
Proses bisnis Mengacu pada Jones and Rama (2003), proses bisnis adalah urutan aktivitas
yang dijalankan oleh perusahaan untuk memperoleh, memproduksi, menjual barang dan jasa,. Proses bisnis sebuah perusahaan dapat dilihat melalui siklus transaksi proses bisnis tersebut dan dapat dikelompokkan ke dalam tiga siklus transaksi utama yaitu : 1. Siklus perolehan atau pembelian yang meliputi proses pembelian barang dan jasa. 2. Siklus konversi yang meliputi proses untuk mengubah sumber daya yang diperoleh menjadi barang dan jasa. 3. Siklus pendapatan yang meliputi proses penyediaan barang dan jasa kepada pelanggan.
10 Mengacu pada Jones Rama (2003), siklus pendapatan dari tiap jenis perusahaan hampir serupa dan terdiri dari beberapa atau seluruh dari kegiatan berikut ini : 1. Menanggapi pertanyaaan pelanggan. 2. Mengembangkan perjanjian untuk menyediakan barang dan jasa dimasa yang akan datang dengan pelanggan 3. Menyediakan jasa atau mengirimkan barang ke pelanggan. 4. Mengakui pendapatan atas barang dan jasa yang telah disediakan. 5. Mengumpulkan kas. 6. Menyetor kas ke bank. 7. Menyiapkan laporan. Mengacu pada Bodnar and Hopwood (2004), seluruh kegiatan perusahaan yang berhubungan secara finansial dapat dipandang sebagai bagian dari proses bisnis yang sangat beragam. Proses bisnis adalah sekumpulan tugas yang saling berhubungan yang melibatkan data, unit organisasi, dan urutan waktu yang logis. Hopwood dan Bodnar juga mengungkapkan bahwa siklus transaksi merupakan alternatif lain untuk memandang kegiatan-kegiatan yang dilakukan perusahaan. Siklus transaksi secara tradisional dapat dikelompokkan ke dalam empat siklus yang umum yaitu : 1. Siklus pendapatan yang terdiri dari event-event yang berhubungan dengan kegiatan pendistribusian barang dan jasa ke entitas yang lain dan kegiatan pengumpulan pembayaran atas pendistribusian barang yang telah dilakukan.
11 2. Siklus pengeluaran yang terdiri dari event-event yang berhubungan dengan kegiatan perolehan barang dan jasa dari entitas lain dan penyelesaian kewajiban dari kegiatan perolehan tersebut. 3. Siklus produksi yang terdiri dari event-event yang berhubungan dengan kegiatan pengubahan sumber daya menjadi barang dan jasa. 4. Siklus keuangan yang terdiri dari event yang berhubungan dengan perolehan dan manajemen dana kapital, termasuk kas. Mengacu pada Bodnar dan Hopwood (2004), proses bisnis manajemen pesanan pelanggan terdiri dari kegiatan : pertanyaan, pengikatan kontrak, entri order, pengiriman, penagihan. Sedangkan proses bisnis akun pelanggan mulai dari pemrosesan piutang sampai pengumpulan pembayaran pelanggan. Kegiatan pertanyaan dan pengikatan kontrak adalah kegiatan opsional yang mungkin diperlukan dalam proses bisnis manajemen pesanan pelanggan dari beberapa organisasi.
2.3.2.
Penjualan Standart Akuntansi Keuangan (2004) mendefinisikan, “Penjualan barang
meliputi barang yang diproduksi perusahaan untuk dijual dan barang yang dibeli untuk dijual kembali seperti barang dagang yang dibeli pengecer atau tanah properti lain yang dibeli untuk dijual kembali. Dan penjualan jasa biasanya menyangkut tugas yang secara kontraktual telah disepakati oleh perusahaan, jasa tersebut dapat diserahkan selam satu periode atau secara lebih dari satu periode.” (PSAK No.23).
12 Menurut swastha (1999), “Penjualan merupakan suatu ilmu atau seni untuk mempengaruhi pribadi yang dilakukan oleh penjual untuk mengajak orang lain agar bersedia membeli barang atau jasa yang ditawarkannya.” (p.8). Berdasarkan definisi-definisi diatas, dapat disimpulkan bahwa penjualan merupakan pemindahan resiko dan manfaat kepemilikan barang atau jasa dari pihak yang memiliki barang atau jasa (penjual) kepada pihak yang membutuhkan barang atau jasa tersebut (pembeli). Kegiatan penjualan terdiri dari penjualan barang atau jasa serta kredit maupun tunai. Kegiatan penjualan ini merupakan salah satu sumber penghasilan utama bagi setiap perusahaan.
2.3.3.
Piutang Dagang Menurut Horngren & Harrison (2004), “Piutang merupakan klaim uang pada
perusahaan maupun individual. Klaim tersebut biasanya didapatkan dari penjualan baran atau jasa ataupun dari peminjaman uang. Piutang perusahan adalah jumlah yang terhutang dari pelanggan dan termasuk aktiva lancar.” (p.362) Menurut Kieso (2004), piutang adalah “Claim held against customer and other for money, goods, or services.” (p.315). Selanjutnya Kieso (2004) menjelaskan, “Accounts receivable are oral promises of the purchaser to pay for goods and service sold. The are normally collectible within 30 to 60 days and represent “open accounts” resulting from short-term extensions of credit.” (p.319). Jadi dapat disimpulkan piutang adalah asset yang diharapkan dapat berubah menjadi kas dalam jangka waktu yang relatif singkat dan terjadi karena adanya suatu pertukaran manfaat ekonomis.
13 2.3.4.
Dokumen Yang Berhubungan Dengan Siklus Pendapatan Mengacu pada Wilkinson (2000) berikut adalah dokumen-dokumen yang
dibutuhkan dalam siklus pendapatan perusahan dagang : 1. Customer order Adalah purchase order yang diterima dari pelanggan atau form yang dipersiapkan oleh karyawan penjualan dari perusahaan penjual. 2. Sales order Adalah form formal yang memiliki banyak copy yang disiapkan dari customer. 3. Picking ticket Adalah copy dari sales order, dokumen terpisah yang dikirim ke gudang dan dalam pengambilan barang yang dipesan. 4. Packing slip Adalah copy dari sales order atau picking slip yang ditempelkan bersama barang ketika dipersiapkan untuk pengiriman. 5. Shipping notice Biasanya merupakan copy dari sales order atau dokumen pengiriman terpisah yang berfungsi sebagai 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 utnuk pengembalian penjualan atau penyisihan penjualan. 11. Credit application Adalah sebuah form yang dipersiapkan ketika pelanggan baru mengajukan kredit. 12. Sales person call report Adalah form yang digunakan untuk menggambarkan panggilan yang dibuat oleh sales person kepada pelanggan potensial dan mengidetifikasi hasil panggilan tersebut. 13. Delinquent notice Adalah catatan yang dikirimkan kepada pelanggan yang melewati batas saldo kredit.
15 14. Right of notice Adalah dokumen yang dipersiapkan oleh manajer kredit ketika akun dinyatakan tidak dapat ditagih. 15. Cash register receipt Adalah form yang digunakan oleh retailer untuk mencerminkan kas yang diterima. 16. Bill of ladding Adalah dokumen pengiriman yang digunakan untuk perusahaan pengiriman yang akan mengirimkan produk.
2.3.5.
Tujuan Siklus Pendapatan Menurut Wilkinson (2000) tujuan utama dari siklus pendapatan adalah untuk
memfasilitasi pertukaran barang atau jasa dengan sejumlah uang tertentu pelanggan. Berikut adalah sasaran dari siklus pendapatan secara umum : 1. Untuk mencatat pesanan pelanggan secara cepat dan tepat. 2. Untuk memverifikasi bahwa pelanggan layak mendapatkan kredit. 3. Untuk mengirimkan produk pada tanggal telah disetujui. 4. Untuk melakukan penagihan atas produk atau jasa secara tepat pada waktunya dan dengan prosedur yang benar. 5. Untuk mencatat dan mengklasifikasikan penerimaan kas secara cepat dan tepat. 6. Untuk memposting penjualan dan penerimaan kas ke akun pelanggan yang tepat dalam jurnal khusus penjualan dan penerimaan kas.
16 7. Untuk mengamankan prouk sampai dikirim. 8. Untuk mengamankan kas sampai disetor.
2.4.
Pengendalian Internal
2.4.1.
Pengertian Pengendalian Internal Menurut studi yang dilaksanakan oleh COSO (Committee of Sponsoring
Organizations of the Treadway Commission), pengendalian internal adalah “system, structure, or process, implemented by a firm’s board of directors, management, and other personnel, intended to provide reasonable assurance about achieving control objective in the following categories : 1. Effectiveness and efficiency of operations. 2. Reliability of financial reporting. 3. Compliance with applicable laws and regulations.” Menurut Jones dan Rama (2004) pengendalian internal adalah “ The rules, policies, procedures, and information system used to ensure that a company’s financial data are accurate and reliable and to protect a company’s assets from loss or thef.” (p.15). Menurut Romney and Steinbart (2004) pengendalian internal adalah “The plan of organization and the method a business used to safe guard assets, provide accurate and reliable information, promote and improve operational efficiency and encourage adherence to prescribed management policies.” (p. 195). Jadi dapat ditarik kesimpulan bahwa pengendalian internal adalah aturan, kebijakan, prosedur dan sistem informasi yang dirancang untuk memastikan data
17 keuangan perusahaan tepat dan dapat diandalkan, untuk meningkatkan efisiensi dan efektifitas operasional dan untuk memenuhi ketaatan terhadap hukum dan peraturan yang berlaku.
2.4.2.
Pengendalian Internal Sistem Informasi Akuntansi Penjualan dan Penerimaan Kas Mengacu pada Romney & Steinbart(2003) SIA yang didesain dengan baik
harus menyediakan pengendalian yang memadai agar dapat memastikan terpenuhinya tujuan-tujuan berikut ini : 1. Semua transaksi diotorisasi dengan benar. 2. Semua transaksi dicatat valid. 3. Semua transaksi yang valid dan diotorisasi dicatat. 4. Semua transaksi dicatat secara akurat. 5. Asset (baik kas, persediaan maupun data) dijaga dari kehilangan atau pencurian. 6. Aktivitas bisnis dilakukan secara efisien dan efektif. Mengacu pada Romney & Steinbart(2003) ancaman dan pengendalian dalam siklus pendapatan adalah :
Table 2.1 Ancaman dan Pengendalian dalam siklus pendapatan
18
19 2.5.
Pengertian Metode Analisis dan Desain Berorientasi Objek
2.5.1.
Orientasi object Object merupakan dasar dalam object oriented analysis and design (00A&D).
menurut Mathiassen (2000) object adalah “ an entity with identity, state, and behaviour.” (p. 4). Setiap object tidak digambarkan secara sendiri - sendiri, melainkan istilah kelas digunakan untuk menggambarkan kumpulan-kumpulan objek – objek. Menurut Mathiassen (2000) class adalah “a description of collection of objects sharing structure, behavioural pattern, and attributes.” (p. 4).
2.5.2.
Rich picture Mengacu pada
Mathiassen (2000), rich picture adalah sebuah gambaran
informal yang digunakan oleh pengembang sistem untuk menyatakan pemahaman mereka terhadap situasi dari sistem yang sedang berlangsung. Rich picture juga dapat digunakan sebagai alat yang berguna untuk memfasilitasi komunikasi yang baik antaa pengguna dalam sistem. Rich picture difokuskan pada aspek-aspek penting dari sisem tersebut, yang ditentukan sendiri oleh pengembang sistem dengan mengunjungi perusahaan untuk melihat bagaimana perusahaan beroperasi, berbicara dengan banyak orang untuk mengetahui apa yang harus terjadi atau seharusnya tejadi, dan mungkin melakukan beberapa wawancara formal.
20 2.5.3.
Analisa Problem-Domain Mengacu pada Mathiassen (2000) problem domain adalah bagian dari konteks
yang diatur, dimonitor, atau dikendalikan oleh sistem. Analisis problem-domain memfokuskan pada informasi apa yang harus ditangani oleh sistem dan menghasilkan sebuah model yang merupakan gambaran dari kelas-kelas, objek-objek, struktur dan perilaku (behaviour) yang ada dalam problem domain. Untuk lebih jelasnya kegiatankegiatan yang dilakukan dalam analisis problem domain dapat dilihat pada table berikut ini. Kegiatan Kelas
Isi Objek
dan
kegiatan
Konsep yang Kelas, objek, kegiatan
merupakan bagian dari problem domain Struktur
Bagaimana kelas dan objek Generalisasi, agregasi, asosiasi, dan saling berkaitan
Perilaku
penggolongan
Property dinamik yang dimiliki Penelusuran event, pola perilaku, dan objek
attribute Table 2.2 Kegiatan problem domain analysis
2.5.3.1.Class Mengacu pada Mathiassen (2000) kegiatan kelas merupakan kegiatan pertama dalam analisis problem domain. Ada beberapa tugas utama dalam kegiatan ini yaitu : abstraksi fenomena dari problem domain dalam objek dan kegiatan; klasifikasi objek dan
21 event; pemilihan kelas-kelas dan event-event yang akan dipelihara informasinya oleh sistem. Pemilihan kelas-kelas 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 kelas akan menghasilkan event table. Dimensi horizontal dari event table berisi kelas-kelas yang terpilih, sementara dimensi vertikal berisi kegiatan-kegiatan terpilih dan tanda cek digunakan untuk mengindikasikan objek-objek dari kelas yang berhubungan dalam kegiatan tertentu. Untuk lebih jelasnya, event table dapat dilihat pada table berikut ini. Kelas Event Customer
Assistant
Reserved
V
Cancelled
V
Treated
V
Apprentice
Appointment
Plan
V
V
V
V
V V
Employed
V
V
Resigned
V
V
Graduated Agreed
V V
V
Table 2.3 Contoh event table
V
22 2.5.3.2.
Structure Mengacu pada Mathiassen (2000) kegiatan kedua dalam analisis problem-
domain ini bertujuan untuk mencari hubungan structural yang abstrak dan umum antara kelas-kelas dan mencari hubungan yang konkrit dan spesifik antara objek-objek dalam problem-domain. Terdapat 2 jenis struktur antar kelas yaitu generalisasi dan penggolongan. Generalisasi adalah hubungan antara dua atau lebih kelas yang lebih khusus (sub kelas) dengan sebuah kelas yang lebih umum (super kelas). Dimana hubungan spesialisasi tersebut dinyatakan dengan rumus “is-a”. Penggolongan adalah kumpulan kelas yang saling berhubungan yang membantu memperoleh dan menyediakan ringkasan problem-domain. Sebagai contoh : penggolongan “mobil” berisi semua kelas yang berhubungan dengan jenis kelas dan komponen-komponennya. Terdapat dua jenis hubungan antar objek yaitu : agregasi dan asosiasi. Agregasi adalah hubungan antara sejumlah objek inferior yang merupakan bagian (the parts) dari sebuah objek superior yang merupakan dasar (the whole) bagi beberapa objek inferior tersebut dimana hubungan tersebut dapat dirumuskan dengan “has-a”. asosiasi adalah hubungan antara sejumlah objek yang memiliki arti dimana objek-objek yang saling berhubungan tersebut tidak merupakan bagian dari objek yang lainnya. Hasil dari kegiatan struktur ini adalah class diagram. Class diagram menghasilkan ringkasan model problem-domain yang jelas dengan menggambarakan semua struktur hubungan static antar kelas dan objek yang ada dalam model dari sistem yang berubah-ubah.
23 2.5.3.3.
Behaviour Mengacu pada Mathiassen (2000) kegiatan behaviour adalah kegiatan terakhir
dalam analisa problem-domain
yang bertujuan untuk memodelkan apa yang terjadi
(perilaku dinamis) dalam problem-domain system sepanjang waktu. Tugas utama dalam kegiatan ini adalah : menggambarkan pola perilaku (behavioral pattern) dan attribute dari setiap kelas. Hasil dari kegiatan ini adalah statechart diagram yang dapat dilihat pada gambar dibawah ini :
Gambar 2.1 Contoh statechart diagram Perilaku dari suatu objek ditentukan oleh urutan kegiatan-kegiatan (penelusuran kegiatan) yang harus dilewati oleh objek tertentu tersebut sepanjang waktu. Sebagai contoh : kelas “pelanggan” harus melalui event trace : account opened – amount deposited – amount withdrawen – amount deposited – account closed sepanjang hidupnya. Tiga jenis notasi untuk behavioral pattern yaitu sequence dimana event muncul satu per satu secara berurutan; selection dimana terjadi pemilihan satu event dari sekumpulan event yang muncul; iteration diman sebuah event muncul sebanyak nol atau beberapa kali.
24 2.5.4.
Application Domain Analysis Mengacu pada Mathiassen (2000) 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 antarmuka sistem. Untuk lebih jelasnya kegiatan-kegiatan yang dilakukan dalam Application Domain Analysis dapat dilihat pada table berikut ini. Kegiatan
Isi
Konsep
Usage
Bagaimana sistem berinteraksi dengan Use case dan aktor orang lain dan sistem lain dalam konteks
Function
Bagaimana kemampuan sistem dalam Function memproses informasi
Interface
Kebutuhan antarmuka dari sistem target
Interface, user interface dan system interface
Table 2.4 Kegiatan Application Domain Analysis
2.5.4.1. Usage Mengacu pada Mathiassen (2000) kegiatan usage merupakan kegiatan pertama dalam analisis application domain yang bertujuan untuk menentukan bagaimana aktoraktor yang merupakan pengguna atau sistem lain berinteraksi dengan sistem yang dituju. Interaksi antara aktor dengan sistem tersebut dinyatakan dalam use case. 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 yang digambarkan dalam table aktor atau use case diagram. Dennis dan Wixom (2003)
25 mengungkapkan use case diagram adalah diagram yang menggambarkan fungsi dari sebuah sistem dan berbagai macam pengguna yang akan berinteraksi dengan sistem. Cara untuk mengidentifikasi aktor adalah dengan mengetahui alasan aktor menggunakan sistem. Masing-masing aktor memiliki alasan yang berbeda untuk menggunakan sistem. Cara lainnya yaitu dengan melihat peran dari aktor seperti yang dinyatakan oleh use case dimana aktor tersebut terlibat. Masing-masing aktor memiliki peran yang berbeda-beda. Setiap aktor akan berkorespondensi dengan kelas dalam problem domin yang berbeda karena mereka memiliki pola behavioural objek yang berbeda-beda. Aktor dapat digambarkan dalam spesifikasi aktor yang memiliki 3 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, dimana use case dijelaskan secara singkat namun jelas dan dapat disertai dengan keterangan objek sistem yang terlibat dan function dari use case tersebut atau dengna diagram statechart karena use case adalah sebuah fenomena yang dinamik. Mengacu pada Bennet (2003) cara untuk mendokumentasikan use case adalah menggunakan template yang terdiri dari beberapa bagian yaitu nama dari use case, precondition (hal yang harus benar sebelum usecase dapat berlangsung), post-condition (hal yang harus benar setelah usecase berlangsung), purpose (hal yang ingin dicapai oleh usecase), description (ringkasan dari dokumentasi usecase), normal course (kegiatan yang harus dilakukan oleh aktor sepanjang transaksi atau fungsi tertentu), dan alternative course (kegiatan yang harus dilakukan aktor pada saat terjadi kesalahan).
26 Bennet juga mengungkapkan use case diagram mempunyai dua jenis hubungan (relationship) yaitu : extend dan include. Hubungan extend digunakan ketika ingin menunjukkan bahwa use case menyediakan fungsi tambahan yang mungkin digunakan oleh use case lain. Sedangkan hubungan include digunakan ketika terdapat urutan behaviour yang sering kali digunakan oleh sejumlah use case dan ingin dihindai pengkopian deskripsi yang sama ke setiap use case yang akan menggunakan perilaku tersebut. Sequence diagram Mengacu pada Bennet (2003) sequence diagram membantu seorang analis kebutuhan mengidentifikasikan rincian dari kegiatan yang dibutuhkan untuk menjalankan fungsi dari sebuah use case. tidak ada suatu sequence diagram yang benar untuk use case tertentu, melainkan ada sejumlah sequence diagram yang masing-masing diagram tersebut dapat lebih atau kurang memenuhi kebutuhan dari use case.
2.5.4.2. Function Mengacu pada Mathiassen (2000) kegiatan function memfokuskan pada bagaimana cara sebuah sistem dapat membantu aktor dalam melaksanakan pekerjaan mereka. Function memiliki empat type yang berbeda yaitu : 1. Update, function ini disebabkan oleh event problem-domain dan menghasilkan perubahan dalam state atau keadaan dari model tersebut. 2. Signal, function ini disebabkan oleh perubahan keadaan atau state dari model yang dapat menghasilkan reaksi pada konteks. Reaksi ini dapat
27 berupa tampilan bagi aktor dalam application domain, atau intervensi langsung dalam problem domain. 3. Read, function ini disebabkan oleh kebutuhan informasi dalam pekerjaan aktor dan mengakibatkan sistem menampilkan bagian yang berhubungan dengan informasi dalam model. 4. Compute, function ini disebabkan oleh kebutuhan informasi dalam pekerjaan aktor dan berisi perhitungan yang melibatkan informasi yang disediakan oleh aktor atau model, hasil dari function ini adalah tampilan dari hasil komputasi. Tujuan dari kegiatan function adalah untuk menentukan kemampuan sistem memproses informasi. Hasil dari kegiatan ini adalah sebuah daftar fungsi yang merinci fungsi yang kompleks. Daftar fungsi harus lengkap, menyatakan kebutuhan kolektif dari pelanggan dan aktor dan harus konsisten dengan use case. Cara untuk mengidentifikasikan function adalah dengan melihat deskripsi problem domain yang dinyatakan dalam kelas dan event, dan melihat deskripsi application domain yang dinyatakan dalam use case. kelas dapat menyebabkan munculnya function baca dan update.
Event memungkinkan munculnya kebutuhan
terhadap function update. Sementara use case dapat menyebabkan munculnya segala macam tipe function.
2.5.4.3. User Interface Mengacu pada Mathiassen (2000) interface menghubungkan sistem dengan semua aktor yang berhubungan dalam konteks. Ada dua jenis dari interface / antar muka
28 yaitu : antar muka pengguna yang menghubungkan pengguna dengan sistem dan antar muka sistem yang menghubungkan sistem dengan sistem yang lainnya. Sebuah user interface yang baik harus dapat beradaptasi dengan pekerjaan dan pemahaman user terhadap sistem. Kualitas antar muka pengguna ditentukan oleh kegunaan atau usability interface tersebut bagi pengguna. Usability bergantung pada siapa yang menggunakan dan situasi pada saat sistem tersebut digunakan. Oleh sebab itu usability bukan sebuah ukuran yang pasti dan objektif. Ada empat jenis pola dialog yang penting dalam menentukan interface pengguna yaitu : pola menu-selection yang terdiri dari daftar pilihan yang mungkin dalam interface pengguna; pola fill in yang merupakan pola klasik untuk entri data; pola command-language dimana user memasukkan dan memulai format perintah sendiri; pola direct manipulation dimana user memilih objek dan melaksanakan function atas objek dan melihat hasil dari interkasi mereka tersebut. 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 interface pengguna dan interface sistem yang lengkap, dimana kelengkapan menunjukkan pemenuhan kebutuhan pengguna. Hasil ini harus dilengkapi dengan sebuah diagram navigasi yang menyediakan sebuah ringkasan dari elemen-elemen user interface dan perubahan antara elemenelemen tersebut. 2.5.5.
Architecture Design Keberhasilan suatu sistem ditentukan oleh kekuatan desain arsitekturalnya.
Arsitektur membentuk sistem sesuai dengan fungsi sistem tersebut dan dengan memenuhi
29 kriteria desain tertentu. Arsitektur juga berfungsi sebagai kerangka untuk kegiatan pengembangan yang selanjutnya. Dan sebuah arsitektur yang tidak jelas akan menghasilkan banyak pekerjaan yang sia-sia. Untuk lebih jelasnya, kegiatan-kegiatan yang dilakukan selama tahap desain arsitektur dapat dilihat pada table berikut ini. Kegiatan
Isi
Kondisi
Kriteria
Kondisi dan criteria untuk pendesainan
Komponen
Bagaimana
sistem
dibentuk
Criterion
menjadi Arsitektur komponen
komponen-komponen Proses
Bagaimana proses sistem didistribusikan dan Arsitektur proses dikoordinasi Table 2.5 Kegiatan desain arsitektur
2.5.5.1. Criteria Mengacu pada Mathiassen (2000) dalam menciptakan sebuah desain yang baik diperlukan pertimbangan mengenai kondisi-kondisi dari setiap proyek yang dapat mempengaruhi kegiatan desain yaitu : 1. Technical, yang terdiri dari pertimbangan : penggunaan hardware, software dan sistem lain yang telah dimiliki dan dikembangkan; pengaruh kemungkinan penggabungan pola-pola umum dan komponen yang telah ada terhadap arsitektur dan kemungkinan pembelian komponen standar. 2. Conceptual, yang terdiri dari pertimbangan : perjanjian kontrak, rencana untuk pengembangan lanjutan, pembagian kerja antara pengembang.
30 3. Human, yang terdiri dari pertimbangan : keahlian dan pengalaman orang yang terlibat dalam kegiatan pengembangan dengan sistem yang serupa dan dengan platform teknis yang akan didesain. Karena tidak ada cara-cara tertentu atau mudah untk menghasilkan suatu desain yang baik. Banyak perusahaan menciptakan suatu standar dan prosedur untuk memberikan jaminan terhadap kualitas sistem. Disinilah kegiatan criteria dapat membantu dengan menetapkan perioritas desain untuk setiap proyek tertentu. 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 criteria yang akan mengatur dalam kegiatan pendesainan. Table dibawah ini adalah beberapa criteria umum yang digunakan dalam kegiatan desain yang berorientasi objek :
31 Ukuran dari
Criterion Usable
Kemampuan sistem untuk menyesuaikan diri dengan konteks, organisasi yang berhubungan dengan pekerjaan dan teknis.
Secure
Ukuran keamanan sistem dalam menghadapi akses yang tidak terotorisasi terhadap data dan fasilitas.
Efficient
Eksploitasi ekonomis terhadap fasilitas platform teknis.
Correct
Pemenuhan dari kebutuhan.
Reliable
Pemenuhan ketepatan yang dibutuhkan untuk melaksanakan fungsi.
Maintainable
Biaya untuk menemukan dan memperbaiki kerusakan.
Testable
Biaya untuk memastikan bahwa sistem yang dibentuk dapat melaksanakan fungsi yang diinginkan.
Fleksible
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. Table 2.6 Beberapa criteria dalam perancangan
32 2. Menyeimbangkan beberapa criteria. Konflik sering terjadi antar criteria, oleh sebab itu untuk menentukan criteria mana yang akan diutamakan dan bagaimana cara untuk menyeimbangkannya dengan kriteria-kriteria yang lain bergantung pada situasi sistem tertentu. 3. Usable, flexible, dan comprehensible. Kriteria-kriteria ini bersifat universal dan digunakan pada hamper setiap proyek pengembangan sistem.
2.5.5.2. Component Architecture Mengacu pada Mathiassen (2000) arsitektur komponen adalah sebuah struktur sistem yang terdiri dari komponen-komponen yang saling berhubungan. Komponen merupakan kumpulan dari bagian-bagian program yang membentuk suatu kesatuan dan memiliki fungsi yang jelas. Sebuah arsitektur komponen yang baik membuat sistem menjadi
lebih
mudah
untuk
dipahami,
mengorganisasikan
pekerjaan
desain,
menggambarkan stabilitas dari konteks sistem dan mengubah tugas desain menjadi beberapa tugas yang lebih tidak kompleks. Beberapa pola umum dalam desain komponen arsitektur : 1. Arsitektur layered Merupakan bentuk yang paling umum dalam software. Contoh dari pola ini adalah model OSI yang sudah menjadi ISO untuk model jaringan. Sebuah arsitektur layered terdiri dari beberapa komponen yang dibentuk menjadi lapisan-lapisan dimana lapisan yang berada di atas bergantung
33 kepada lapisan yang ada dibawahnya. Perubahan yang terjadi pada suatu lapisan akan mempengaruhi lapisan diatasnya. 2. Arsitektur generic Pola ini digunakan untuk merinci sistem dasar yang terdiri dari antar muka, function, dan komponen-komponen model. Dimana komponen model terletak pada lapisan yang paling bawah, diikuti dengan function system dan komponen interface diatasnya. 3. Arsitektur client-server Pola ini awalnya dikembangkan untuk mengatasi masalah distribusi sistem di antara beberapa processor yang tersebar secara geografis. Komponen pada arsitektur ini adalah sebuah server dan beberapa client. Tanggung jawab daripada server adalah untuk menyediakan database dan resources yang dapat disebarkan kepada client melalui jaringan. Sementara client memiliki tanggung jawab untuk menyediakan antarmuka local untuk setiap penggunanya. Berikut adalah beberapa jenis distibusi dalam arsitektur client-server dimana U adalah user interface, F adalah function, M adalah model. Client
Server
architecture
U
U+F+M
Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralized data
U+F+M M
Distributed data
34 Table 2.7 Client-server architecture 2.5.5.3. Process Architecture Mengacu pada Mathiassen (2000) arsitektur proses adalah struktur dari eksekusi sistem yang terdiri dari proses-proses yang saling tergantung. Untuk mengeksekusi atau menjalankan sebuah sistem dibutuhkan processor. Sedangkan external device adalah processor khusus yang tidak dapat menjalankan program. Arsitektur proses harus dapat memastikan bahwa sistem dapat dijalankan secara memuaskan dengan menggunakan processor yang telah tersedia. Objek-objek yang terlibat dalam sistem berorientasi objek yang berjalan dapat dibagi menjadi dua yaitu : Active objek yang telah dibeikan sebuah proses dan aktif selama sistem dijalankan; dan komponen program, sebuah modul fisik dari kode program yang pasif selama eksekusi sistem kecuali pada saat dipanggil sebagai bagian dari eksekusi proses sampai eksekusi proses tersebut selesai dijalankan. Kegiatan arsitektur proses bermula dari komponen logic yang dihasilkan oleh kegiatan komponen dan bertujuan untuk menentukan struktur fisik dari sebuah sistem dengan : mendistribusikan komponen-komponen program ke processor yang akan digunakan untuk eksekusi sistem, mengkoordinasi pembagian sumber daya dengan active objek dan menghasilkan arsitektur yang tidak memiliki hambatan. Sumber daya yang pada umumnya digunakan secara bersama, yaitu : 1. Processor Terjadi apabila ada dua atau lebih proses yang dieksekusi secara bersamaan pada satu processor. 2. Program component
35 Terjadi bila terdapat dua atau lebih proses yang secara bersamaan memanggil operasi pada komponen. 3. External device Misalnya, pada penggunaan printer yang terhubung melalui network.
2.5.6.
Component Design Tujuan dari kegiatan desain komponen ini adalah untuk menentukan
implementasi kebutuhan dalam rangka kerangka arsitektural. Kegiatan desain komponen bermula dari spesifikasi arsitektural dan kebutuhan sistem, sedangkan hasil dari kegiatan ini adalah spesifikasi dari komponen yang saling berhubungan. Berikut adalah beberapa kegiatan dari desain komponen : Kegiatan Model component
Context Bagaimana
suatu
Konsep model Model
component
digambarkan sebagai kelas dalam and attribute sebuah sistem Function component
Bagaimana
suatu
diimplementasikan
function Function component
and
operation Connecting
Bagaimana
component
dihubungkan
komponen-komponen Component connection
Table 2.8 Kegiatan perancangan komponen
2.5.6.1. Model Component
and
36 Mengacu
pada
Mathiassen
(2000)
model
analisis
problem
domain
menggambarkan kebutuhan sistem. Kebutuhan sistem kemudian diimplementasikan dalam komponen model. Oleh karena itu dapat disimpulkan bahwa komponen model adalah bagian dari sistem yang mengimplementasikan model problem domain. Tujuan dari komponen model adalah untuk mengirimkan data sekarang dan historic ke function, interface dan pengguna dan sistem yang lain. Konsep utama dalam desain komponen model adalah struktur. Hasil dari kegiatan komponen model adalah revisi dari class diagram dari kegiatan analisis. Kegiatan revisi biasanya terdiri dari kegiatan menambahkan kelas, attribute dan struktur baru yang mewakili event.
2.5.6.2. Function Component Mengacu pada Mathiassen (2000) komponen function adalah bagian dari sistem yang mengimplementasikan kebutuhan fungsional. Tujuan dari komponen function adalah untuk memberikan akses bagi user interface dan komponen sistem lainnya ke model, oleh karena itu komponen function adalah penghubung antara model dan usage. Function didesain dan diimplementasikan dengan menggunakan operasi dari kelas system. Operasi adalah suatu proses yang dispesifikasikan dalam sebuah kelas dan dijalankan melalui objek dari kelas tersebut. Hasil utama dari kegiatan ini adalah class diagram untuk komponen function dan perpanjangan dari class diagram komponen model. Berikut adalah sub kegiatan dalam perancangan komponen function adalah :
37 Sub
kegiatan
ini
menghasilkan
kumpulan
operasi
yang
dapat
mengimplementasikan fungsi sistem seperti yang ditentukan dalam analisis problem domain dan function list. 1. Merancang function sebagai operation. 2. Menelusuri pola yang dapat membantu dalam implementasi function sebagai operation. 3. Spesifikasikan operasi yang kompleks.
2.6.
Pengertian Database Menurut Sawyer dan Williams (2005,p116), database adalah kumpulan file–file
yang terkait pada sebuah sistem komputer. File komputer dikelompokkan sesuai ciri dan kegunaannya, jadi mereka bisa dicari dengan mudah. Database penting karena pebisnis dan perusahaan dapat melacak dan mengatur pekerjaan mereka.
2.7.
Interaksi Manusia dan Komputer Menurut Shneiderman (1998, p 8), Interaksi Manusia dan Komputer (IMK)
adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif yang digunakan manusia, serta studi fenomena–fenomena besar yang berhubungan dengannya.
2.7.1.
Tujuan Rekayasa Sistem IMK
38 Sistem yang efektif akan menghasilkan rasa keberhasilan, kompetensi, penguasaan, dan kejelasan dalam komunitas pemakai. Tujuan dari rekayasa sistem IMK adalah untuk menghasilkan sistem yang memiliki (Shneiderman, 1998, p 9-14) : 1. Fungsionalitas yang semestinya. Sistem
dengan
fungsionalitas
yang
kurang
memadai
akan
mengecewakan pemakai dan sering ditolak atau tidak digunakan, sedangkan sistem yang berlebihan akan menyebabkan kesulitan dalam implementasi, pemeliharaan, dan penggunaan. 2. Kehandalan, ketersediaan, keamanan, dan integritas data. -
Kehandalan (reliability) : berfungsi seperti yang diinginkan.
-
Ketersediaan (availability) : tersedia ketika hendak digunakan.
-
Keamanan (security) : terlindung dari akses yang tidak diinginkan dan kerusakan yang tidak disengaja.
-
Integritas data (data integrity) : keutuhan data terjamin.
3. Standardisasi, integrasi, konsistensi, dan portabilitas. -
Standarisasi : keseragaman sifat – sifat antarmuka pemakai pada aplikasi yang berbeda, misalnya dengan menggunakan standar industri yang ada.
-
Integrasi : keterpaduan antara paket aplikasi dan software tools.
-
Portabilitas : dimungkinkannya data dikomunikasi pada berbagai hardware dan software.
4. Penjadwalan dan anggaran :
39 Perancangan yang hati – hati dan manajemen yang berani, diperlukan karena proyek harus sesuai dengan jadwal dari dalam anggaran.
2.7.2.
Delapan Aturan Emas Dalam Perancangan Web Menurut Shneiderman (1998, p74-75) ada 8 jenis aturan emas dalam
perancangan antarmuka, yaitu : 1. Berusaha keras untuk konsisten. Beberapa bentuk konsistensi yang ada adalah konsistensi dalam penggunaan bentuk dan ukuran font, pemberian warna tulisan dan latar belakang, pembuatan layout, penggunaan terminologi. Konsistensi memberi kemudahan bagi user dalam menggunakan dan menjalankan aplikasi, membantu mempelajari hal baru lebih cepat, dan dapat lebih memfokuskan pada suatu tugas karena user tidak perlu membuang–buang waktu untuk mengingat perbedaan–perbedaan dalam interaksi. 2. Memungkinkan bagi user menggunakan shortcuts. Jika frekuensi penggunaan meningkat, maka perlu dilakukan pengurangan jumlah interaksi dengan memanfaatkan fasilitas shotcuts. Shortcuts disukai user karena dapat memberikan waktu tampilan yang lebih cepat. 3. Memberikan feedback yang inovatif. Sistem harus menyediakan feedback untuk setiap aksi pemakaian. Isyarat–isyarat seperti suara dan tampilan visual harus ditampilkan untuk
40 interaksi pemakai untuk memberi tahu bahwa software memberikan respon masukan dari pemakai. 4. Merancang dialog untuk menghasilkan keadaan akhir. Urutan aksi harus tersusun dalam bagian awal, tengah, dan akhir suatu grup. Feedback penyelesaian aksi yang inovatif, memberikan kepuasan kepada operator / pengguna, perasaan lega, sinyal untuk mendapatkan kemungkinan rencana dan pilihan dari pikiran pengguna, serta indikasi bahwa cara tersebut jelas mempersiapkan aksi berikutnya. 5. Menyediakan penanganan kesalahan yang sederhana. Pemakai
tetap
dapat
membuat
kesalahan
meskipun
dengan
penggunaan design interface yang terbaik, kesalahan ini tetap dapat secara fisik (secara tidak sengaja menunjuk ke perintah dan data yang salah) dan secara nonfisik (membuat keputusan yang salah mengenai perintah dan data yang dipilih). Maka sistem didesain sedemikian rupa agar pengguna tidak membuat kesalahan yang serius. Jika terjadi kesalahan, sistem harus bisa mendeteksi dengan menawarkan mekanisme penanganan yang sederhana dan dapat dimengerti. 6. Mengizinkan pembalikan aksi (undo) dengan mudah. Sedapat mungkin, aksi harus diulang (undo). Hal ini dapat mengurangi, menghilangkan kecemasan karena pengguna tahu bahwa kesalahan dapat dihilangkan. Dengan demikian dapat mendorong user untuk menjelajahi pilihan–pilihan yang tidak dikenal.
41 7. Pengontrolan terletak pada pengguna sendiri (focus on control). Pengguna harus merasa bahwa ia berkuasa atas sistem dan sistem menuruti perintahnya. Tindakan sistem yang mengejutkan, data yang rutin, kesulitan dalam memperoleh informasi penting, dan ketidakmampuan untuk melakukan tindakan yang diinginkan akan membuat kecemasan dan ketidakpuasan. 8. Mengurangi beban ingatan jangka pendek. Manusia mempunyai keterbatasan dalam menghapal. Maka tampilan sebaiknya dibuat sederhana, tampilan informasi dikelompokkan, dan frekuensi gerakan window dikurangi.