BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Enterprise Resource Planning (ERP) Enterprise Resource Planning (ERP) merupakan sistem yang mengintegrasikan antara perancangan, manajemen, dan semua sumber daya organisasi. Tujuan utama dari ERP sistem adalah untuk mengintegrasikan seluruh area fungsional organisasi, dan mendapatkan arus informasi yang tepat antara satu area fungsional dengan area fungsional yang lain (Rainer, Turban and Potter 2007, 248). Menurut Kumar dan Hillegersberg yang diterjemahkan oleh Brazel & Dang (2008) mendefinisikan pengertian sistem ERP sebagai paket sistem informasi yang mengintegrasikan informasi dan proses berbasis informasi di dalam dan di bidang fungsional dalam suatu organisasi. Dari kedua pendapat diatas dapat disimpulkan bahwa pengertian sistem ERP adalah sistem yang menghubungkan area-area fungsional sehingga menciptakan sistem yang terintegrasi. 2.1.2 Point Of Sales (POS) Point Of Sales (POS) merupakan tempat atau lokasi secara fisik dari suatu transaksi dan biasanya dihubungkan dengan alat atau sistem yang digunakan untuk merekam data transaksi sehari-hari. POS digunakan untuk jenis usaha ritel. POS berbeda dengan mesin kasir tradisional melainkan berbasiskan sistem yang terkomputerisasi (depot 2003). 2.2 Teori Khusus 2.2.1 Activity Diagram Activity diagram merupakan tipe dari dari workflow diagram yang menjelaskan aktivitas penggunan dan alur secara berurutan. (Satzinger, Jackson and Burd 2004) 5
6 2.2.2 Use Case Use Case merupakan diagram yang menggambarkan berbagai peran user dan bagaimana cara user untuk berinteraksi dengan sistem tersebut. (Satzinger, Jackson and Burd 2004) 2.2.3 OpenERP OpenERP adalah software ERP bersifat open source yang dikembangkan oleh Fabien Pinckaers pada tahun 2005. Menurut Pinkaers openerp merupakan sistem terintegrasi yang memungkinkan perusahaan memilih sendiri fungsi-fungsi yang telah disediakan. Seperti kebanyakan software bersifat open source, aksesbilitas, fleksibilitas, dan kesederhanaan merupakan hal yang paling penting dalam mengembangkan OpenERP. OpenERP ditujukan tidak hanya untuk perusahaan dengan skala besar tetapi juga untuk perusahaan dengan skala kecil dan menengah (Pinckaers and Gardiner 2009, 13). 2.2.4 OpenERP Accounting Module Menurut Vossel & Pinckaers (2012) accounting merupakan inti dalam mengelola suatu perusahaan. Informasi yang dihasilkan dari sistem akuntansi memiliki peran yang besar dalam pengambilan keputusan. Modul accounting dalam OpenERP memiliki fungsi untuk mengintergrasikan sistem akuntansi dengan manajemen sistem. Keuntungan mengintegrasikan sistem akuntansi dengan manajemen sistem adalah sebagai berikut : Tidak memerlukan penginputan data berulang-ulang. Menjalankan proses bisnis dengan keuntungan dari visi financial. Mempermudah dalam mendapatkan informasi yang dibutuhkan secara tepat.
7 2.2.5 Testing Testing (pengujian) merupakan salah satu cara untuk menilai fungsionalitas daripada sebuah software. Testing merupakan sebuah proses, atau sekumpulan daripada proses, yang didesain untuk memastikan kode komputer bekerja sesuai dengan apa yang telah didesain untuk dilakukan, dan tidak melakukan hal-hal yang tidak diinginkan (Myers, Badgett dan Sandler 2012, 12). Testing juga dapat didefinisikan sebagai proses dari mengeksekusi sebuah program dengan tujuan menemukan error (Jovanovic 2009, 30). Testing dibutuhkan karena semua orang membuat kesalahan, baik kesalahan yang kurang penting, hingga kesalahan yang berbahaya. Namun tidak semua kesalahan dapat kita sadari, sehingga kita membutuhkan orang lain untuk melakukan testing atas produk kita (Graham, et al. 2008, 2). Testing membantu kita dalam mengukur kualitas daripada software dari jumlah cacat yang ditemukan, test yang dijalankan, dan sistem yang di cakup oleh test (Graham, et al. 2008, 7). Software esting juga merupakan salah satu metode untuk mencapai kualitas, realibilitas, kecocokan untuk tujuan dari sebuah software (Whyte dan Donovan 2011, 254). Ada beberapa tujuan dan alasan mengapa testing perlu dilakukan (Graham, et al. 2008, 14) : Menentukan bahwa produk software telah memenuhi kebutuhan yang dispesifikasikan. Mendemonstrasikan bahwa produk software telah cocok untuk tujuan software tersebut dibuat. Mendeteksi kecacatan.
8 2.2.5.1 Structural (White-Box) Test Berfokus kepada mencari bugs dalam stuktur elemen terbawah seperti baris kode, skema database, chips dan subassemblies. Tester mendasarkan test terstruktur dengan bagaimana sistem akan berjalan. (Black 2009) 2.2.5.2 Behavioral (Black-Box) Test Berfokus untuk mencari bugs pada operasi tingkat tinggi, seperti fiturfitur utama, profil operasional, dan skenario pelanggan. Testers dapat membuat black-box test berdasarkan apa yang sistem harus lakukan. (Black 2009) Blackbox testing berusaha untuk menemukan defect/cacat dalam beberapa kategori, diantaranya : 1. Kesalahan performa suatu produk. 2. Kesalahan user interface, 3. Kesalahan dalam struktur data atau akses database eksternal. 4. Kesalahan inisialisasi dan terminasi. 5. Fungsi-fungsi yang salah atau hilang. 2.2.5.3 Test phase Ada beberapa test phase yang biasanya digunakan (Black 2009, 5-8), antara lain : a. Unit Testing Unit testing berfokus pada sebuah bagian individu dari kode. b. Component or Subsystem Testing Tester berfokus kepada bagian utama dari sebuah sistem selama component / subsystem testing. c. Integration or Product Testing Integration / product testing berfokus kepada hubungan dan interface antara sepasang komponen dan kelompok dari komponen di dalam sistem yang sedang diuji.
9 d. String Testing String testing berfokus kepada permasalahan dalam penggunaan script tipikal dan operasional pelanggan. e. System Testing System testing mencakup keseluruhan sistem, yang telah terintegrasi secara utuh. f. Acceptance or User-Acceptance Testing Testing untuk menunjukkan sejauh mana sistem telah memenuhi persyaratan yang diminta. Fase pengujian ini biasanya dilakukan dalam perjanjian dimana keberhasilan pengujian mewajibkan pembeli untuk menerima sistem yang ada. Pengujian ini melibatkan data-data yang dibutuhkan untuk go live, lingkungan sistem, dan user scenario. g. Pilot Testing Pilot testing mendemonstrasikan sistem dengan segala operasi yang diperlukan di dalam sebuah lingkungan yang nyata kepada sejumlah pelanggan yang nyata. 2.2.5.4 Test Object Dalam melakukan pengujian dibutuhkan berbagai macam test objects, antara lain adalah : a. Test Configurations and Environments Test configurations and environments meliputi jenis dari hardware, software, jaringan yang digunakan pada saat menjalankan testing (Black 2009, 61) b. Test Execution Dalam rangka menjalankan testing, kita membutuhkan data yang harus dilacak, dianalisa, dan dilaporkan kepada tim, rekan, dan manager. (Black 2009, 62).
10 c. Test Case Test case menyediakan langkah-langkah spesifik yang akan dijalankan tester selama test execution. (Black 2009, 50). d. Test Suite Test suite menyediakan framework dari eksekusi test case, yang memungkinkan kombinasi antar test case untuk membuat suatu kondisi testing yang unik (Black 2009, 84). e. Test Cycle Test cycle menggambarkan satu, beberapa, atau keseluruhan test suite yang telah direncanakan di dalam sebuah fase (Black 2009, 68). 2.2.5.5 Testing Process Proses pengujian mendasar terdiri dari lima bagian yang mencakup semua aspek testing adalah sebagai berikut (Gambar 2.1): Gambar 2.1 Testing Process
11 1. Test planning and control Test planning menjelaskan bagaimana membuat uji kriteria penyelesaian. Kriteria penyelesaian yang dimaksud adalah kapan proses testing akan berakhir. Control merupakan apa yang akan dilakukan jika tidak sesuai dengan rencana seperti yang dijabarkan pada test planning setelah itu dilakukan penyesuaian. (Hambling, et al. 2010) 2. Test analysis and design Test analysis and design berfokus pada detil dari apa yang akan diuji dan bagaimana menggabungkannya dengan test case. Test analysis and design merupakan jembatan yang menghubungkan antara planning dan test execution. (Hambling, et al. 2010) 3. Test implementation and execution Pelaksanaan pengujian dan kegiatan pelaksanaan melibatkan running test, dan ini akan mencakup di mana diperlukan persiapan sebelum pengujian. (Hambling, et al. 2010) 4. Evaluating exit criteria and reporting Pada tahap ini akan dilakukan evaluasi terhadap hasil dari test execution, selanjutnya akan ditentukan apakah testing berakhir atau dilanjutkan. (Hambling, et al. 2010) 5. Test closure activities Test closure activities berkonsentrasi pada memastikan bahwa semuanya telah rapi, laporan tertulis, cacat ditutup, dan orang-orang cacat ditangguhkan untuk fase lain jelas terlihat untuk menjadi seperti itu. (Hambling, et al. 2010) 2.2.5.6 UAT Process Proses daripada UAT terbagi menjadi 7 (Hambling dan Goethem 2013), yaitu :
12 Gambar 2.2 Proses UAT 1. Recruit/Train UAT Team: Memilih dan melatih anggota yang dibentuk menjadi suatu tim untuk menguji berdasarkan UAT. 2. Set Up plan : Melakukan perancangan proses bisnis berdasarkan requirement user. 3. Design Test : Merancang desain test berdasarkan requirement user. 4. Implements Test : Pelaksanaan pengujian berdasarkan desain test. 5. Report/evaluate: Membuat report dan mengevaluasi hasil dari testing. 6. Decision Making: Membuat keputusan berdasarkan hasil dari testing. 7. Follow Up: Melakukan tindakan lebih lanjut setelah pengambilan keputusan seperti membuat user manual, end-user training, support,dll.
13 2.2.7 Product Specifications Product specification atau biasanya disebut functional specification merupakan definisi fungsi yang dibutuhkan untuk memenuhi kebutuhan pengguna (Hambling, et al. 2010). 2.2.8 Technical Design Specifications Technical specification merupakan fungsi dari sisi desain teknis yang telah diidentifikasikan dalam product specification (Hambling, et al. 2010). 2.3 Kerangka Pikir Untuk mempermudah pemahaman tentang penulisan ini akan digambarkan sebuah kerangka pikir yang terdapat pada gambar 2.2. Untuk tahap awal penulisan ini akan berfokus kepada penjelasan proses bisnis dari POS, POS Synchronization, dan juga OpenERP accounting. Dimana proses bisnis itu didapat dari hasil analisis melalui meeting dengan user. Selanjutnya untuk tahap berikutnya akan dijelaskan secara lebih spesifik mengenai spesifikasi produk baik dari segi functional maupun technical. Kemudian setelah itu dibuat rencana pengujian sebelum diberikan kepada user, pengujian dilakukan dengan cara pembuatan test case dan penyusunan problem untuk diuji. Setelah melaksanakan proses pengujian akan dilakukan evaluasi mengenai hasil pengujian tersebut. Hasil pengujian akan menentukan apakah sistem telah layak untuk digunakan oleh user atau tidak. Yang terakhir adalah membuat kesimpulan dari pengujian yang dilakukan dan memberikan saran untuk kedepannya agar lebih baik lagi.
14 Gambar 2.3 Kerangka Pikir Penulisan