BAB 2 LANDASAN TEORI
2.1. Sistem Informasi Akuntansi 2.1.1. Pengertian Sistem Informasi Akuntasi Menurut Joseph W.Wilkinson, Michael J.Cerullo, Vasant Raval, dan Bernard Wong-On-Wing (2000,p5-6), “Information is intelligence that is meaningful and useful to persons for whom it is intended.” dan “System is a unified group of interacting part that function together to achieve its purposes.” Sedangkan menurut James A.O’Brien (2001,p7), “Information System can be any organized combination of people, hardware, software, communication network, and data resource that collects, transforms, and disseminates information in an organization.” Pengertian ini menjelaskan bahwa Sistem Informasi akan mengintegrasikan seluruh manusia, hardware, software, jaringan komunikasi, dan sumber data yang ada pada sebuah organisasi untuk diproses sedemikian rupa. Proses tersebut akan menghasilkan suatu informasi yang dibutuhkan oleh organisasi tersebut dalam menjalankan proses bisnisnya. Informasi tersebut juga diperlukan dalam usaha untuk mencapai tujuan organisasi. Menurut Charles T.Horngren, Walter T.Harrison Jr., dan Linda Smith Bamber (1999,p6), “Accounting is the information system that measures business activities, processes, that information into report, and communicates the result to decision makers.” Pengertian ini menjelaskan bahwa akuntansi merupakan suatu sistem informasi yang digunakan untuk melakukan penilaian atas suatu proses bisnis,
8 menyampaikan dalam sebuah laporan untuk dapat dikomunikasikan kepada pihakpihak yang berkepentingan dalam melakukan pengambilan keputusan atas suatu perusahaan. Kompetensi dari akuntansi adalah untuk melakukan kontrol atas aktivitas yang dilakukan perusahaan. Dari pengertian-pengertian diatas maka dapat disimpulkan pengertian dari Sistem Informasi Akuntansi. Menurut Wilkinson et al. (2000,p7) “Accounting Information System is a unified structure within an entity, such as a business firm, that employs physical resources and other components to transform economic data into accounting information, with the purpose of satisfying the information needs of a variety of users.” Sistem Informasi Akutansi akan mengintegrasikan seluruh sumber daya yang ada pada organisasi/perusahaan dan mengubah seluruh data transaksi yang terjadi menjadi suatu informasi yang diperlukan baik oleh pihak internal maupun pihak eksternal pada sebuah organisasi/perusahaan. Sistem Informasi Akuntansi memiliki lima komponen utama (Romney, Marshall B. dan Paul John Steinbart, 2006), yaitu: a. Manusia yang menjalankan sistem dan berkerja dalam fungsi tertentu. b. Prosedur yang terdiri dari pengumpulan, pemrosesan, dan penyimpanan data yang berhubungan dengan aktivitas yang dilakukan perusahaan, baik yang dilakukan secara manual maupun otomatis. c. Data mengenai proses bisnis perusahaan d. Software yang digunakan untuk memproses data perusahaan e. Infrastruktur dari Teknologi Informasi
9 2.1.2. Tujuan dan Kegunaan Sistem Informasi Akuntansi Sistem Informasi Akuntansi memiliki tujuan (Wilkinson et al., 2000) sebagai berikut: 1. Sebagai pendukung kegiatan operasional sehari-hari perusahaan. 2. Sebagai pendukung pihak manajemen dalam membuat keputusan. 3. Sebagai suatu acuan oleh pihak eksternal untuk mengetahui keadaan perusahaan. Sistem Informasi Akuntansi memiliki lima kegunaan (Rama, Dasaratha V dan Frederick L.Jones, 2006), yaitu: a. Membuat laporan mengenai informasi yang dibutuhkan oleh pihak eksternal perusahaan. b. Membantu manajer dalam menangani aktivitas operasional yang rutin dilakukan dalam suatu siklus operasi suatu perusahaan. c. Mendukung dalam pengambilan keputusan pada semua tingkat manajemen dalam perusahaan, baik yang dilakukan secara rutin maupun ad hoc. d. Membantu dalam membuat suatu perencanaan dan juga dalam melakukan kontrol atas setiap aktivitas yang dilakukan. e. Melaksanakan pengendalian intern, dimana termasuk aturan-aturan, prosedur, dan sistem informasi yang digunakan untuk melindungi kekayaan perusahaan dan menjaga keakuratan data keuangan perusahaan. Penerapan Sistem Informasi Akuntansi yang efektif memiliki peranan yang sangat penting bagi kesuksesan sebuah perusahaan di masa mendatang. Tanpa adanya monitor dari setiap peristiwa yang terjadi pada perusahaan, maka perusahaan tidak dapat menentukan seberapa baik kinerja yang telah dilakukan perusahaan.
10 2.1.3. Siklus Pemrosesan Transaksi pada Sistem Proses bisnis pada perusahaan merupakan 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 (Romney et al , 2006), yaitu: a. Revenue Cycle (Siklus Pendapatan), yang terdiri dari peristiwa penjualan dan penerimaan kas. b. Expenditure Cycle (Siklus Pengeluaran), yang terdiri dari peristiwa pembelian dan pengeluaran kas. c. Human resource cycle (Siklus Sumber Daya Manusia), terdiri peristiwa yang berhubungan perekrutan dan pembayaran atas tenaga kerja. d. Production cycle (Siklus Produksi), terdiri dari peristiwa yang berhubungan dalam pengubahan bahan mentah menjadi produk/jasa yang siap dipasarkan. e. Financing cycle (Siklus Keuangan Perusahaan), terdiri dari peristiwa yang berhubungan dengan penerimaan modal dari investor dan kreditor. Pada gambar 2.1, dilihat hubungan antara setiap subsistem yang ada pada perusahaan, dimana masing-masing subsistem akan terhubung dengan sebuah sistem pelaporan yang digunakan untuk menyampaikan informasi baik kepada pihak manajemen maupun pihak luar perusahaan.
11
Financing Cycle Get cash
Give cash
Funds
Funds
Funds Human Resouces Cycle Give cash
Expenditure Cycle Get labor
Give cash
Data
Data
Get goods
Data Information for both internal and external users
General Ledger & Reporting System Data Data Raw materials
Labor Production Cycle Give labor Give raw materials
Get finish goods
Finished goods Revenue Cycle Give goods
Get cash
Gambar 2.1. Subsistem dalam Sistem Informasi Akuntansi. Sumber: Romney (2006, p30)
12 2.2. Sistem Informasi Akuntansi: Siklus Pendapatan 2.2.1. Pengertian Penjualan dan Penerimaan Kas Menurut Ikatan Akuntan Indonesia (2004,PSAK No.23): “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.” Dapat disimpulkan bahwa penjualan merupakan suatu proses dimana perusahaan melakukan suatu transaksi, baik dengan menyerahkan barang atau memberikan jasa kepada konsumen untuk mendatangkan pendapatan bagi perusahaan tersebut. Penjualan dapat terjadi baik secara tunai maupun kredit. Pada penjualan tunai, mewajibkan konsumen melakukan pembayaran atas barang atau jasa terlebih dahulu sebelum barang diserahkan kepada pembeli dan transaksi penjualan tunai kemudian dicatat oleh perusahaan. Sedangkan pada penjualan kredit, perusahaan mengirimkan barang atau menyerahkan jasa terlebih dahulu kepada konsumen dan untuk jangka waktu tertentu perusahaan memiliki piutang terhadap konsumen tersebut. Sedangkan penerimaan kas merupakan suatu proses dimana perusahaan memperoleh kas yang didapat dari hasil penjualan atas barang atau jasa perusahaan. Kas dapat diterima baik dari penjualan tunai maupun dari pembayaran piutang pelanggan dari hasil penjualan kredit. Penjualan dan penerimaan kas merupakan aktivitas yang saling terkait dalam suatu siklus pendapatan yang ada pada perusahaan.
13 2.2.2. Tujuan Sistem Informasi Akuntansi pada Siklus Pendapatan Sistem Informasi Akuntansi untuk siklus pendapatan memiliki tujuan sebagai berikut (Wilkinson et al., 2000): 1. Mencatat pesanan penjualan secara tepat dan akurat. 2. Memeriksa apakah konsumen layak untuk diberikan kredit. 3. Mengirim barang atau memberikan pelayanan sesuai dengan waktu yang telah disepakati. 4. Melakukan penagihan atas barang atau jasa yang diberikan tepat waktu kepada konsumen. 5. Mencatat dan mengklasifikasikan kas yang diterima secara tepat dan akurat. 6. Melakukan posting atas penjualan dan penerimaan kas kepada akun konsumen yang sesuai dalam jurnal piutang usaha. 7. Menjaga barang sampai dilakukan pengiriman. 8. Menjaga kas sampai disimpan ke bank.
2.2.3. Dokumen - Dokumen yang Berhubungan dengan Siklus Pendapatan Dalam siklus pendapatan, dokumen-dokumen yang digunakan dalam sistem penjualan dan sistem penerimaan kas (Wilkinson et al., 2000) adalah sebagai berikut: a. Customer order Adalah permintaan pembelian dari konsumen atas produk yang dijual perusahaan. b. Sales order Adalah formulir yang disiapkan secara formal mengenai pesanan konsumen. Biasanya terdiri dari beberapa rangkap.
14 c. Order Acknowledgment Merupakan salinan dari sales order yang diberikan kepada konsumen sebagai bukti pemesanan barang. d. Picking list Merupakan salinan dari sales order yang diberikan kepada bagian gudang sebagai bukti pemesanan barang konsumen. e. Packing slip Salinan dari sales order atau picking list yang diletakkan pada produk yang terjual saat akan diserahkan. f. Billing of lading Dokumen yang diberikan kepada kurir untuk mengirim barang. g. Shipping notice Salinan dari sales order yang diberikan sebagai tanda bahwa barang telah dikirim. h. Sales invoice Dokumen yang mencatat jumlah yang harus dibayar pelanggan atas produk yang dibeli. i. Remittance advice Dokumen yang memperlihatkan jumlah yang diterima dari pelanggan. j. Deposit slip Dokumen mengenai jumlah kas yang tersimpan pada bank. k. Back order Dokumen yang disediakan saat persediaan yang ada di gudang tidak memenuhi permintaan barang.
15 l. Credit Memo Dokumen yang mengijinkan konsumen mengembalikan barang yang telah dikirim karena mengalami kerusakan. m. Credit application Formulr mengenai permintaan kredit dari konsumen. n. Salesperson call report Formulir mengenai laporan kinerja karyawan dan konsumen yang memiliki prospek yang baik. o. Deliquent notice Surat peringatan tenggat waktu pembayaran kredit kepada konsumen. p. Write-off notice Dokumen yang disiapkan jika kredit yang diberikan kepada konsumen tidak dapat ditagih. q. Cash register receipt Formulir yang digunakan untuk melihat jumlah kas yang diterima.
2.2.4. Fungsi - Fungsi yang Terkait Terdapat dua unit organisasi utama yang berhubungan dalam sebuah sistem penjualan (Wilkinson et al., 2000). Fungsi yang pertama adalah fungsi Pemasaran/Distribusi, yang bertujuan untuk menentukan dan melayani kebutuhan konsumen dan mengatur pendapatan yang diterima untuk menutupi harga pokok dan beban yang terjadi pada transaksi penjualan. Sedangkan yang kedua adalah fungsi Keuangan/Akuntansi, yang bertujuan untuk merencanakan dan mengontrol kas serta mengontrol akun-akun lainnya yang berhubungan dengan sistem.
16 2.2.5. Prosedur – Prosedur dalam Siklus Pendapatan Dalam siklus pendapatan terdapat empat aktivitas utama (Romney et al., 2006), yaitu: 1. Prosedur Penerimaan Pesanan Penjualan Siklus penjualan dimulai dengan penerimaan pesanan dari konsumen. Bagian penjualan melakukan pencatatan atas pesanan yang diterima. Proses pencatatan pesanan terdiri dari beberapa tahapan, yaitu: Menerima pesanan dari konsumen. Memeriksa dan menyetujui kredit yang diberikan kepada konsumen. Memeriksa jumlah persediaan yang ada di gudang. 2. Prosedur Pengiriman Barang Setelah barang tersedia, bagian gudang melakukan tahapannya sebagai berikut: Mengepak barang sesuai pesanan dalam sales order. Mengiriman barang ke alamat yang dituju. 3. Prosedur Penagihan Setelah barang yang dipesan sampai ke alamat yang dituju, maka bagian akuntasi melakukan tahapan berikut: Melakukan penagihan. Mencatat piutang yang terjadi atas penjualan. 4. Prosedur Penerimaan Kas Proses akhir dalam siklus penjualan adalah penerimaan kas atas penjualan. Penerimaan kas dilakukan oleh bagian kasir, yang selanjutnya kas yang diterima akan disimpan ke bank.
17 2.2.6. Manajemen Data Pengelolaan data perusahaan memiliki empat fungsi utama (Wilkinson et al., 2000), yaitu: a. Membuat tempat dimana data disimpan. b. Memelihara data selama proses bisnis dilakukan, seperti menambah data baru atau mengubah data yang telah ada. c. Mengambil data yang telah disimpan. d. Menghapus data.
Struktur dari model data dibedakan kedalam dua pendekatan, yaitu File orientation dan Data-base orientation, sebagaimana ditunjukkan pada gambar 2.2 berikut ini:
DATA MODELS File Orientation
Data-base Orientation
Data base
File
Data set (Data Segment or Tables)
Record
Record
Data Element
Data Element
Gambar 2.2. Pengorganisasian Data Sumber: Wilkinson (2000, p105)
18 2.2.7. Resiko dan Pengendalian Intern Pengendalian intern merupakan suatu perencanaan yang dibuat mengenai metode bisnis yang akan dilakukan dalam usaha menjaga aktiva perusahaan, menyediakan informasi yang akurat dan terpercaya, meningkatkan efisiensi operasional, dan mendorong terlaksanakannya kebijakan manajemen perusahaan (Romney et al., 2006). Tujuan yang ingin dicapai dari pengendalian intern atas Sistem Informasi Akuntansi Penjualan adalah sebagai berikut: 1. Seluruh transaksi telah diotorisasi secara tepat. 2. Seluruh transaksi yang dicatat memang benar-benar terjadi. 3. Seluruh transaksi yang terjadi dan telah dilakukan otorisasi telah dicatat. 4. Seluruh transaksi dicatat secara tepat dan akurat. 5. Seluruh aktiva yang dimiliki perusahaan terjaga dari kehilangan dan pencurian. 6. Seluruh aktivitas bisnis dilakukan secara efektif dan efisien. Pengendalian intern dapat dibagi menjadi empat kategori (Rama et al., 2006), yaitu: a. Workflow control, yang digunakan untuk mengendalikan proses-proses yang terjadi dalam suatu siklus. Pengendalian ini berfokus pada tanggung jawab dari setiap proses yang dilakukan, urutan antar proses yang terjadi, dan aliran informasi antara setiap proses yang saling berhubungan. b. Input control, yang digunakan untuk mengendalikan data yang masuk kedalam sistem perusahaan. c. General control, sebagai pengendali agar workflow control dan input control dapat berjalan dengan efektif. d. Performance review, merupakan aktivitas untuk menganalisa kinerja perusahaan.
19 Terdapat lima prosedur atas pengendalian intern (Gondodiyoto, Sanyoto dan Henny Hendarti, 2006), yaitu: 1. Otorisasi Setiap transaksi pada sistem harus diotorisasi dengan semestinya untuk mengurangi resiko penyalahgunaan. Otorisasi dapat diberikan dalam bentuk umum dan khusus. Secara umum, otorisasi dilakukan misalnya dengan membuat kebijaksanaan mengenai harga barang yang akan dijual dan berapa maksimum jumlah kredit yang diberikan. Sedangkan pada otorisasi khusus biasanya diberikan manajemen pada beberapa transaksi tertentu. Pihak yang memiliki wewenang dalam memberikan otorisasi adalah pejabat yang memiliki posisi berhubungan dengan sifat maupun makna transaksi yang bersangkutan. 2. Dokumentasi yang memadai Dokumen berfungsi sebagai penerus informasi di lingkungan organisasi atau diantara organisasi yang berbeda. Beberapa prinsip dalam penggunaan dokumen adalah sebagai berikut: Diberikan nomor urut tercetak, agar dapat memudahkan dalam pelacakan dimasa depan. Dokumen dibuat sederhana agar dapat mudah dimengerti. Memuat data yang lengkap sesuai kebutuhan Dibuat pada saat transaksi tertentu 3. Pengamanan fisik Pengamanan fisik sangat penting, terutama dalam hal pengamanan harta perusahaan.
20 4. Pemisahan tugas dan fungsi Dalam merancang organisasi perusahaan, perlu diperhatikan pertimbanganpertimbangan sistem pengendalian intern sebagai berikut: a. Struktur organisasi yang memisahkan tanggung jawab fungsional secara tegas. b. Sistem wewenang dan prosedur pencatatan yang memberikan perlindungan yang cukup terhadap kekayaan, utang, pendapatan, dan biaya. c. Praktik yang sehat dalam melaksanakan tugas dan fungsi tiap unit organisasi. d. Karyawan yang mutunya sesuai dengan tanggung jawab. 5. Verifikasi secara independen Merupakan pengujian kecermatan data transaksi dengan pengecakan ulang yang dilakukan pihak lain.
2.2.8. Laporan yang Dihasilkan Laporan operasional yang dihasilkan (Wilkinson et al., 2000) adalah sebagai berikut: a. Open order report, yaitu laporan yang mencatat pesanan penjualan yang belum dikirim atau ditagih. b. Sales invoice register, yaitu laporan mengenai seluruh penagihan atas penjualan. c. Shipping register, yaitu laporan mengenai barang yang telah dikirim. d. Cash receipts journal, yaitu laporan mengenai jumlah kas yang telah diterima perusahaan dari hasil penjualan. e. Credit memo register, yaitu laporan mengenai pengembalian barang karena terjadi kerusakan.
21 2.3.Perusahaan Operator Telekomunikasi Selular 2.3.1. Pengertian Telekomunikasi Selular Menurut Undang-Undang pertelekomunikasian, “Telekomunikasi adalah setiap pemancar, pengiriman, dan atau penerimaan dari setiap informasi dalam bentuk tanda-tanda, isyarat, tulisan, gambar, suara, dan bunyi melalui sistem kawat, optik, radio, atau sistem elektromanetik lainnya.” Sedangkan menurut Febrian, Jack ”Selular adalah pembagian daerah berdasarkan jangkauan sinyal dari stasiun pemancar ke pesawat penerima.” Dapat disimpulkan bahwa telekomunikasi selular adalah suatu sistem komunikasi jarak jauh yang memancarkan, mengirim, dan atau menerima setiap informasi dalam bentuk suara melalui sistem elektromagnetik, sehingga tidak diperlukan adanya kabel penghubung. 2.3.2. Perusahaan yang Bergerak sebagai Operator Telekomunikasi Selular Perusahaan operator telekomunikasi selular adalah perusahaan yang dalam operasinya melakukan kegiatan (1) Menjual dan mengaktifkan pesawat telepon selular baik langsung maupun tidak langsung dan (2) mengaktifkan pesawat telepon selular yang dibawa sendiri oleh calon pelanggan. (http://www.pajak.go.id/peraturan/view_doc?docid=2829&searchterm=None) Beberapa perusahaan yang bergerak sebagai operator telekomunikasi selular: Telkomsel, yang memiliki produk seperti Kartu Halo, Simpati, dan Kartu As. Indosat, yang memiliki produk seperti Mentari, IM3, Matrix, dan Star One. XL, yang memiliki produk seperti Bebas, Jempol, dan Xplor. Mobile-8, yang memiliki produk seperti Fren. Bakrie Telecom, yang memiliki produk seperti Esia.
22 2.4. Metode Analisa dan Perancangan Berorientasi Object
2.4.1. Pendekatan
dalam
Analisis
dan
Perancangan
Terstruktur
dan
Berorientasi Object Berbeda dengan dekomposisi tunggal, suatu analisis dan perancangan berorientasi object melihat suatu permasalahan yang kompleks sebagai suatu kumpulan object yang mempunyai arti dan saling bekerja sama satu sama lain untuk mencapai higher level behaviour. Dalam tahap analisis, ditekankan pada investigasi dari suatu permasalahan daripada mendefinisikan solusi dari permasalahan. Jadi, dalam analisis berorientasi object kegiatan ditekankan untuk menemukan dan menggambarkan object-object dalam sebuah problem domain. Sedangkan dalam tahap perancangan, ditekankan pada suatu logical solution dan bagaimana suatu sistem akan memenuhi kebutuhan yang ada. Jadi, dalam perancangan berorientasi object kegiatan ditekankan pada pendefinisian suatu logical software yang pada akhirnya akan diimplementasikan dalam sebuah bahasa pemrograman berorientasi object.
2.4.2. Konsep Object dan Class 2.4.2.1. Pengertian Object Menurut Mathiassen,Lars dan Andreas Munk-Madsen (2000,p4), “Object is an entity with identity, state, and behaviour.” Pengertian ini menjelaskan bahwa sesuatu dapat dikatakan sebagai object jika memiliki identitas, kondisi, dan tingkah laku yang jelas. Dalam suatu analisis, object adalah sebuah abstraksi dalam suatu fenomena yang terjadi dalam sistem.
23 Jadi, object merupakan salah satu bagian didalam suatu sistem. Seperti dalam sebuah sistem penjualan, salah satu yang dapat dijadikan object adalah konsumen. Setiap konsumen memiliki identitas diri, memiliki kondisi, dan tingkah laku yang jelas dan berbeda satu dengan lainnya.
2.4.2.2. Pengertian Class Menurut Mathiassen et al. (2000,p4), “Class is a description of a collection of objects sharing structure, behavioral pattern, and attributes.” Pengertian ini menjelaskan bahwa setiap object yang memiliki struktur, tingkah laku, dan atribut yang sama maka dapat dikumpulkan kedalam suatu class. Class yang ada dalam suatu sistem digunakan untuk memberikan kemudahan dalam memahami suatu object.
2.4.3. Pre-Analysis 2.4.3.1. Pengertian Rich Picture Menurut Mathiassen et al. (2000,p26), “Rich picture is an informal drawing that presents the illustrator’s understanding of a situation.” Dengan dibuatnya sebuah rich picture, dapat dilihat bagaimana keadaan sebuah sistem dari sudut pandang user. Rich picture berfokus pada aspek-aspek penting dalam sebuah situasi dimana ditentukan oleh seorang illustrator. Disamping itu, rich picture dapat memberikan gambaran umum mengenai suatu situasi yang akan memudahkan dalam membentuk interpretasi alternatif.
Gambar 2.3. Contoh Simbol dalam Rich Picture.
24 2.4.3.2. Pengertian System Definition Menurut Mathiassen et al. (2000,p24), “System definition is a concise description of a computerized system expressed in natural language.” Pengertian ini menjelaskan bahwa system definition merupakan gambaran menyeluruh mengenai sebuah sistem komputer yang dinyatakan kedalam sebuah bahasa umum. Aktivitas yang dilakukan dalam system definition pertama kali adalah menggambarkan situasi dari sistem yang ada, yaitu mengenai proses, struktur, dan masalah yang berhubungan dengan pengembangan sistem dalam perusahaan. Setelah itu, ciptakan ide-ide baru untuk pengembangan. Dan, gambarkan kemungkinan-kemungkinan yang terjadi dari rencana tersebut untuk dapat memilih sebuah rencana akhir.
2.4.3.3. Kriteria FACTOR Kriteria FACTOR (Mathiassen et al., 2000) adalah sebagai berikut: Functionality
Fungsi dari suatu sistem yang mendukung tugas-tugas dalam application domain.
Application
Bagian dalam sebuah organisasi yang diadministrasikan, dimonitor,
Domain
atau dikontrol dalam problem domain.
Conditions
Kondisi dimana sistem akan dikembangkan dan digunakan.
Technology
Teknologi yang digunakan baik untuk mengembangkan sistem maupun teknologi untuk menjalankan sistem tersebut.
Object
Object utama dalam problem domain.
Responsibility
Tanggung jawab sistem secara keseluruhan sesuai dengan konteks. Tabel 2.1. Kriteria FACTOR
25 2.4.4. Analysis 2.4.4.1. Problem Domain Analysis Problem domain analysis berfokus pada informasi apa yang seharusnya sistem dapat lakukan. Model yang dibuat dalam problem domain menyediakan sebuah bahasa yang digunakan untuk mengungkapkan syaratsyarat yang ada dalam sistem. Dalam perancangan, model diubah kedalam suatu komponen yang memperlihatkan problem domain yang telah terjadi. Problem domain analysis dibagi menjadi tiga aktivitas. Berikut ini dijelaskan setiap aktivitas yang dilakukan.
2.4.4.1.1. Class Aktivitas
yang
dilakukan
dalam
tahap
ini
adalah
menggambarkan pendekatan yang dilakukan dalam mendefinisikan tugas dari informasi yang didapat dalam sistem. Problem domain didefinisikan dan dibuat karakteristiknya dengan melakukan seleksi atas class dan event. Class merupakan gambaran dari sekumpulan object yang memiliki persamaan dalam structure, behavioral pattern, dan attribute. Sedangkan event dilihat sebagai elemen dasar dari perilaku suatu object. Gambar 2.4 menjelaskan langkah-langkah dalam menentukan class dan event. Penentuan class dan event diawali dengan dibuatnya class candidates dan event candidates. Class candidates diambil dari seluruh kata benda yang terdapat pada process description dan system definition. Sedangkan event candidates diambil dari seluruh kata kerja yang terdapat pada process
26 description dan system definition. Setelah dibuat class dan event candidates, selanjutnya dilakukan evaluasi untuk dapat ditentukan class dan event yang sesungguhnya.
Find candidates for classses
Find candidates for event
Evaluate and select systematically Event table Event table
Gambar 2.4. Sub aktivitas dalam menentukan class dan event. Sumber: Mathiassen (2000, p55)
Class candidates akan menjadi class jika dapat memenuhi pertanyaan-pertanyaan berikut ini (Mathiassen et al., 2000): 1. Apakah object dapat ditentukan dari class tersebut? 2. Apakah class terdiri dari informasi yang unik? 3. Apakah class meliputi banyak object? 4. Apakah class sesuai atau dapat dikelola dengan adanya event? Sedangkan event candidates akan menjadi event jika dapat memenuhi pertanyaan-pertanyaan berikut ini (Mathiassen et al., 2000): 1. Apakah event bersifat instantaneous? 2. Apakah event bersifat atomic (tidak dapat dibagi lagi)? 3. Dapatkah event diidentifikasi saat terjadi? Hasil dari aktivitas ini adalah sebuah event table yang memuat seluruh class yang terpilih berikut event yang berhubungan, seperti yang ada pada tabel 2.2.
27
Class Customer Event reserved cancelled treated employed resigned graduated agreed
Assistant
Apprentice
Appointment
Plan
*
+
+ + + *
+ *
*
Tabel 2.2. Contoh Event Table. Sumber: Mathiassen (2000, p50)
2.4.4.1.2. Structure Aktivitas ini berkaitan dengan hubungan yang terstruktur antara class dan object. Pada kegiatan ini digambarkan hubungan dalam problem domain baik secara statis (antara abstract structure dengan class) maupun dinamis (antara concrete structure dengan object).
Event Table
Explore Pattern
Find candidates for structure
Evaluate systematically
Class diagram
Gambar 2.5. Sub aktivitas dalam menentukan structure. Sumber: Mathiassen (2000, p72)
28 Hasil dari aktivitas ini adalah sebuah class diagram yang menyajikan class yang terpilih dan hubungan terstruktur yang relevan antara class dan object.
Customer
0..* 1
0..* Appointment
1 1 Employee
Day Schedule 1
Apprentice
1..* 1 1..*
Assistant
Time Period 1 Work
Free
Other
Gambar 2.6. Contoh Class Diagram Sumber: Mathiassen (2000, p70)
2.4.4.1.3. Behaviour Aktivitas ini berkaitan dengan perilaku object dan interaksi yang dilakukan. Pada aktivitas ini digambarkan property dan attribute yang bersifat dinamis dalam setiap class yang ada. Gambaran
dari
behaviour
dan
attribute
diciptakan
dengan
karakteristik yang lebih tepat dari setiap object yang ada dalam problem domain. Behavioral Pattern adalah gambaran dari event yang meliputi suatu object tertentu dalam sebuah class.
29
Explore patterns Event table and class diagram
Describe behavioral patterns Consider structures and classes Describe attributes
Behavioral pattern with attributes
Gambar 2.7. Sub aktivitas dalam membuat model object behaviour. Sumber: Mathiassen (2000, p92)
Hasil dari aktivitas ini adalah sebuah state diagram yang menggambarkan behaviour dan attribute secara umum dari setiap class. / account opened / account closed
/ account opened
/ account closed Active
/ amount deposited
/ amount withdrawn
Gambar 2.8. Contoh Statechart Diagram Sumber: Mathiassen (2000, p109)
2.4.4.2. Application Domain Analysis Application Domain Analysis berfokus pada bagaimana suatu sistem target akan digunakan. Hal ini bertujuan untuk menentukan syarat-syarat yang diperlukan dalam membuat function dan interface suatu sistem. Model suatu sistem bersifat lebih stabil, sehingga jika dilakukan perubahan pada model maka akan menyebabkan perubahan pada function dan interface sistem.
30 Namun, jika function dan interface yang dilakukan perubahan, maka model tidak perlu dirubah. Application domain analysis dibagi menjadi tiga aktivitas. Berikut ini dijelaskan setiap aktivitas yang dilakukan.
2.4.4.2.1. Usage Aktivitas ini berkaitan pada menentukan sistem target yang digunakan dalam aplikasi dengan mengidentifikasi dan memberi struktur pada actor dan use case. Actor adalah seseorang/sistem yang melakukan pekerjaan pada sistem. Sedangkan Use case adalah proses sistem dan actor melakukan interaksi dalam application domain.
System definition Evaluate systematically
Find actors and use cases
Use cases and actors Explore Pattern
Gambar 2.9. Sub aktivitas dalam usage. Sumber: Mathiassen (2000, p120)
Hasil dari aktivitas ini adalah use case diagram yang menggambarkan use case beserta actor yang melakukannya, seperti yang ada pada gambar 2.10 berikut ini:
31
Automatic Payment System
Payment
Cash withdrawal
Account Owner
Money Transfer
Account Inform
Gambar 2.10. Contoh Use Case Diagram. Sumber: Mathiassen (2000, p122)
2.4.4.2.2. Function Function merupakan suatu fasilitas dalam membuat model dapat digunakan oleh actor. Dalam aktivitas ini dilakukan tahap bagaimana memformulasikan syarat-syarat fungsional dari suatu sistem. Pada tahap ini diperlukan suatu catatan fungsi yang disajikan secara lengkap untuk melihat gambaran umum secara fungsional dan fungsi-fungsi kompleks yang spesifik menjadi lebih detil.
32
System definition
Evaluate critically
Find functions
Specify complex functions Use cases
Function list and specification
Gambar 2.11. Sub aktivitas dalam function. Sumber: Mathiassen (2000, p139)
Function memiliki empat tipe, yaitu: a. Update, yaitu function diaktifkan dalam event dari problem domain dan menghasilkan suatu perubahan dalam kondisi dari sebuah model. b. Signal, yaitu function diaktifkan dengan mengubah kondisi dari model dan menghasilkan suatu reaksi dalam sebuah konteks model. Pada tipe ini, function dapat bekerja tanpa adanya drive. Contohnya adalah pada jam yang berjalan pada layar komputer. c. Read, yaitu function diaktifkan berdasarkan atas permintaan informasi dari tugas actor, dan model akan menampilkan hasil dari informasi tersebut dalam sebuah bagian dari model. d. Compute, yaitu function diaktifkan berdasarkan permintaan informasi dari tugas actor, disertai dengan adanya perhitungan atas informasi yang disediakan oleh actor atau model. Hasil akan menampilkan hasil dari penghitungan tersebut.
33 2.4.4.2.3. User Interface Interface merupakan fasilitas yang membuat model dan function dari sistem tersedia bagi actor. Aktivitas ini berkaitan dalam pembuatan kerangka dari syarat-syarat pembuatan tampilan suatu sistem, atau disebut user interface. User interface didefinisikan dengan melakukan pemilihan gaya bahasa, bentuk formulir, dan elemen-elemen pembentuk interface lainnya. Function list
Class diagram
Explore patterns
Determine interface elements
Use cases
Discribe interface elements
Evaluate interface elements Description of interface
Gambar 2.12. Sub aktivitas dalam menganalisa interface. Sumber: Mathiassen (2000, p153)
Setiap user interface terdiri dari beberapa dialog pattern yang dapat digunakan agar tampilan lebih dapat lebih berkarakter, disamping juga Dialog pattern yang biasa digunakan seperti: Menu-selection pattern Form fill-in Command- language pattern Direct-manipulation pattern
34 Hasil dari aktivitas ini adalah gambaran dari interface yang disajikan dalam sequence diagram dan navigation diagram. Dalam sequence diagram, digambarkan interaksi yang terjadi antara bagian-bagian dari interface yang berhubungan secara langsung dengan use case. Sedangkan navigation diagram menggambarkan tampilan-tampilan yang ada pada interface dan bagaimana cara mengaplikasikan interface tersebut.
Interface
Initial window
System Amount window Accept window
card inserted() pin code()
check pin code
refusal()
amount() approve()
card rejected() payment()
Gambar 2.13. Contoh Sequence Diagram Sumber: Mathiassen (2000, p157)
register withdrwal
35 2.4.5. Design 2.4.5.1. Architecture Design Architecture design berfokus pada rancang bangun dari sistem yang akan dikembangkan. Sistem yang telah dianalisa, selanjutnya dibuat kedalam sebuah rancangan sistem yang baru. Terdapat dua aktivitas penting dalam tahap ini, yaitu component architecture dan process architecture sebagaimana dijelaskan berikut ini:
2.4.5.1.1. Criteria Sebelum dilakukan perancangan sistem yang baru, terlebih dahulu dibuat criteria yang penting untuk kondisi yang sesuai dengan sistem yang akan dibangun. Criteria ini dibuat agar sistem yang akan dibangun dapat berfungsi baik dan sebagaimana mestinya. Consider general criteria Prioritize
System definition
Analyze specific condition Criteria for design
Gambar 2.14. Sub aktivitas dalam menentukan criteria. Sumber: Mathiassen (2000, p179)
Sebuah rancangan dapat dikatakan baik jika pada rancangan tersebut tidak
memiliki
kelemahan.
Mathiassen
et
al.
(2000,p178)
menjelaskan beberapa criteria dasar yang harus diperhatikan dalam membuat sebuah rancangan yang baik.
36 Criterion Usable
Measure of The system’s adaptability to the organizational, work-related, and technical context. Secure The precautions againts unauthorized access to data and facilities. Efficient The economical exploitation of the technical platform’s facilities. Correct The fulfillment of requirements. Reliable The fulfillment of the required precision in function execution. Maintainable The cost of locating and fixing system defects. Testable The cost of ensuring that the deployed system performs its intended function. Flexible The cost of modifying the deployed system. Comprehensible The effort needed to obtain a coherent understanding of the system. Reusable The potential for using system parts in other related systems. Portable The cost of moving the system to another technical platform. Interoperable The cost of coupling the system to other systems. Tabel 2.3. Criteria untuk menggambarkan kualitas software. Sumber: Mathiassen (2000, p178)
Beberapa criteria yang ada, diurutkan berdasarkan prioritas yang dibutuhkan dalam sistem. Setelah criteria didapatkan, maka selanjutnya criteria tersebut dihubungkan dengan technical platform agar dapat bekerja secara efektif dan efisien.
2.4.5.1.2. Component Architecture Pada aktivitas ini, difokuskan pada bagaimana sistem dapat dipecah kedalam bagian-bagian yang lebih spesifik. Component adalah kumpulan dari bagian program yang terdapat sejumlah tanggung jawab yang dirumuskan dengan baik. Tujuan utama dari component architecture adalah membuat agar sistem tersebut dapat bersifat umum dan fleksibel. Hal ini sangat penting, karena sebuah sistem pasti akan selalu berkembang. Sehingga, jika sistem akan dikembangkan, perubahan yang terjadi menjadi tidak terlalu signifikan.
37 Explore architectural patterns Criteria
Identify components
Define subsystems
Class diagram
Specify complex components Component specification
Gambar 2.15. Sub aktivitas dalam perancangan component architecture. Sumber: Mathiassen (2000, p192)
Dalam
merancang
component
architecture,
pattern
merupakan sebuah sumber yang sangat diperlukan sebagai inspirasi. Ada tiga pattern yang lazim digunakan, yaitu: a. Layered architecture pattern Merupakan pola dasar dalam software. Pattern ini terdiri dari beberapa component, dimana setiap component tersebut dirancang sebagai layer yang menggambarkan tanggung jawabnya masingmasing. b. Generic architecture pattern Pattern ini digunakan untuk menggabungkan sebuah sistem dasar yang terdiri dari interface, function, dan model component. Dan pada banyak kasus, ditambahkan pula dengan technical platform component.
38 c. Client-Server architecture pattern Pattern ini dibangun untuk menangani distribusi sistem yang tersebar dibeberapa daerah geografis. Biasanya digunakan dalam software bagi kepentingan industri. Pattern ini terdiri dari sebuah server dan beberapa client.
2.4.5.1.3. Process Architecture Process architecture adalah struktur sistem eksekusi yang dibuat dalam proses yang saling bergantung. Dua tahap yang dilakukan adalah (1) menentukan distribusi dari component program dalam prosesor sistem yang ada dan (2) mengkolaborasikan struktur diantara object yang ada selama eksekusi.
Class diagram and component specification
Distribute program components
Explore distribution patterns
Identify shared resources
Select coordination mechanisms
Deployment diagram
Explore coordination patterns
Gambar 2.16. Sub aktivitas dalam perancangan process architecture. Sumber: Mathiassen (2000, p212)
39 Terdapat tiga pattern dalam membangun distribusi, yaitu: Centralized Pattern Distributed Pattern Decentralized Pattern Hasil dari aktivitas ini adalah sebuah deployment diagram yang menggambarkan distribusi dan kolaborasi antara komponen program dengan object dalam suatu prosesor.
2.4.5.2. Component Design Tahap akhir dari sebuah perancangan sistem adalah component design. Tahap ini berfokus pada dua komponen sistem, yaitu:
2.4.5.2.1. Model Component Aktivitas
yang
dilakukan
adalah
bagaimana
cara
menerapkan problem domain model kedalam sebuah object-oriented platform. Tujuannya adalah untuk menyampaikan data-data pada masa lalu dan saat ini kedalam sebuah fungsi, tampilan, dan akhirnya dapat diterima oleh user atau sistem lainnya. Hasil dari aktivitas ini adalah sebuah class diagram dari aktivitas yang dianalisis. Represent common event Class diagram, behavioral patterns, component specifications
Represent private event
Restructure class diagram
Model Component specification
Gambar 2.17. Sub aktivitas dalam perancangan model component. Sumber: Mathiassen (2000, p239)
40 2.4.5.2.2. Function Component Aktifitas yang dilakukan adalah bagaimana menerapkan syarat-syarat fungsional, yang berfokus pada organisasi suatu perusahaan diantara operasi-operasi pada bagian yang berbeda. Tujuannya adalah untuk memberikan tampilan dan sistem lain akses ke model. Hasil dari tahap ini adalah sebuah class diagram untuk function component dan juga perpanjangan dari class diagram yang ada pada model component.
Function list, class diagram, component specification
Design functions as operations
Model component specification
Explore pattern
Specify complex operations
Function component specification
Gambar 2.18. Sub aktivitas dalam perancangan function component. Sumber: Mathiassen (2000, p252)
2.4.6. Implementation Tahap akhir dalam perancangan sebuah sistem adalah pembangunan prototipe dari sistem tersebut. Prototipe dibangun dengan menggunakan sebuah program berorientasi object. Program yang sering digunakan saat ini adalah dengan menggunakan Visual Basic .Net atau yang dikenal dengan istilah VB.Net.
41 VB.Net merupakan versi terbaru dari Visual Basic yang dapat digunakan untuk membuat sebagian besar aplikasi yang berbasiskan windows. Beberapa alasan dalam penggunaan VB .Net (Kusumo, Ario.S, 2004) adalah sebagai berikut: a. Penyederhanaan deployment dari aplikasi berbasis windows. b. Menyederhanakan pengembangan perangkat lunak. c. Mendukung penuh pendekatan berorientasi object. d. Mempermudah pengembangan aplikasi berbasis web.