7
BAB II LANDASAN TEORI
2.1 Enterprise Resource Planning (ERP)
Enterprise Resource Planning merupakan perangkat lunak yang dibangun agar dapat mengintegrasikan lebih dari satu departemen atau fungsi ke dalam sebuah sistem komputer [24]. Proses pengintegrasian berguna untuk memudahkan akomodasi seluruh kebutuhan spesifik dari tiap departemen yang berbeda [24]. Proses pengintegrasian didukung oleh pembangunan modul-modul yang biasanya terdiri dari 3 modul utama yang terdiri atas Financial, Distribution dan Manufacturing, dan Human Resource [24].
Pengembangan perangkat lunak harus melalui berbagai tahapan agar sistem yang dirancang berjalan seperti tujuan yang telah diharapkan. Tahapan- tahapan yang dilalui selama mengembangkan perangkat lunak disebut System Development Life Cycle (SDLC) [19].
Pada penulisan ini, penulis menggunakan istilah Mini ERP yang merupakan bentuk sederhana dari ERP. Penggunaan Mini ERP pada penulisan ini menimbang dari beberapa hal. UMKM merupakan bisnis berskala kecil dengan modal dan sumber daya yang terbatas, sedangkan ERP merupakan perangkat lunak yang kompleks dan membutuhkan biaya yang besar [15].
Sehingga Mini ERP merupakan perangkat lunak yang cocok dikembangkan untuk bisnis berskala UMKM dengan tingkat komplektisitas yang rendah
2.2 System Development Life Cycle (SDLC)
Kegagalan pembuatan perangkat lunak merupakan hal yang biasa ditemui pada proses pengembangan aplikasi. Untuk menghindari hal tersebut maka dibutuhkan tahapan atau langkah-langkah tepat dalam proses pengembangan sistem. Tahapan pengembangan perangkat lunak dapat disebut sebagai System
8
Development Life Cycle (SDLC). Perencanaan (planning), analisis (analysis), desain (design), dan implementasi (implementation) merupakan tahapan pada SDLC [19].
2.2.1 Perencanaan (Planning)
Tahap ini merupakan tahapan dalam memahami alasan sistem informasi harus dikembangkan dan bagaimana cara mengembangkan sistem tersebut. Pada tahap ini penting bagi pengembang untuk mengetahui keinginan dari calon pengguna sistem. Keinginan yang disampaikan oleh calon pengguna biasanya diangkat dari permasalahan-permasalahan yang dirasakan oleh mereka selama ini. Melalui kebutuhan dan masalah yang dirasakan oleh calon pengguna, maka penulis dapat memprediksi metode dan proses apa yang dapat digunakan untuk mengembangkan sistem yang akan dibuat.
2.2.2 Analisis Sistem
Fase analisis sistem adalah fase yang memiliki pengaruh penting untuk perancangan dan pengembangan sistem informasi. Pada fase ini, dapat terlihat gambaran akan keseluruhan sistem yang ada. Kegiatan tersebut akan menguraikan sistem utuh menjadi komponen-komponen terpisah, sehingga dapat memudahkan proses identifikasi, evaluasi permasalahan-permasalahan, serta kebutuhan-kebutuhan yang diharapkan mampu diaplikasikan pada sistem baru yang akan dikembangkan. Pada fase ini dapat dilakukan aktivitas mendefinisikan Requirement Analysis.
2.2.3 Desain (Design)
Desain adalah fase di mana pengembang mulai mendeskripsikan fungsi serta operasi-operasi pada sistem dengan spesifik. Langkah-langkah yang dapat
9
dijalankan pada fase ini antara lain menganalisis interaksi antara objek dan fungsi sistem, menganalisis kebutuhan data serta membuat ide untuk database, dan merancang user interface.
a. Business Process Model and Notation (BPMN) 2.0
Bisnis memiliki rangkaian proses dalam pengerjaannya. Untuk dapat mengidentifikasi, menjelaskan dan menguraikan rangkaian proses bisnis, pelaku bisnis dapat menggunakan pemodelan, salah satunya Bussiness Process Modelling (BPM) dengan bahasa Business Process Model and Notations (BPMN) 2.0.
BPMN 2.0 adalah notasi grafis untuk merepresentasikan aliran sebuah bisnis proses. Menggunakan BPMN 2.0 dapat memudahkan pelaku bisnis dalam memahami runtutan proses bisnis. BPMN sendiri memiliki beberapa notasi-notasi yang memiliki fungsi masing-masing seperti start event, task, intermediate message, end event, gateaway dan notasi lain. Berikut ini adalah Tabel 1 yang menjelaskan notasi dan fungsi notasi pada BPMN.
Tabel 1 Notasi BPM
Bentuk Nama Notasi Fungsi
Event Menunjukkan dimana
proses akan dimulai
Activity
Menujukkan aktivitas, proses atau kegiatan yang dilakukan
Gateway Menunjukkan tindakan arus urutan proses bisnis.
10 Sequence Flow
Merupakan tanda yang menujukkan urutan aktivitas, proses atau kegiatan
b. Data Flow Diagram (DFD)
Data Flow Diagram (DFD) ialah gambaran grafis yang menjelaskan aliran data dari asalnya di mana suatu objek melalui proses yang mentransformasikan ke tujuan yang terdapat objek lain [26]. DFD menjadi model logika atau metode rafis yang digunakan sebagai bentuk penggambaran asal serta tujuan data yang ada pada sistem[6].
Penggunaan notasi pada DFD dilakukan sebagai bentuk tanda dari tiap arus data yang masuk ke dalam sistem, data yang terproses dalam sistem, serta keluaran yang dikeluarkan oleh sistem[5]. Notasi yang digunakan pada DFD dijelaskan pada Tabel 2 sebagai berikut:
Tabel 2 Simbol Data Flow Diagram (DFD)
Nama Simbol Keterangan
Proses
Orang atau unit yang menjalankan perubahan data.
Aliran Data Aliran dari data asal
menuju akhir
Data Store Sebuah lokasi di mana data
dapat disimpan
11 External Entity
Unit maupun orang yang memiliki hubungan dengan sistem
Aliran data pada Data Flow Diagram merupakan sebuah simbol panah yang mengidentifikasikan adanya sebuah flow data. Data tersebut mengalir membawa masukan dan berakhir hingga menjadi keluaran yang diharapkan. Aliran data yang mengalir akan melewati proses yang merupakan kegiatan untuk melakukan transformasi. Data yang masuk ke dalam proses kemudian dikeluarkan berupa keluaran dan kemudian dialirkan menuju proses selanjutnya atau data storage.
Data storage adalah tempat untuk menyimpan data di mana data tersebut akan tersimpan dalam bentuk file ataupun tabel.
c. Use Case Diagram
Use Case Diagram adalah salah satu diagram yang dapat digunakan saat akan membangun sistem. Diagram tersebut dibuat untuk mendeskripsikan hubungan antara satu pelaku ataupun lebih terhadap sistem yang akan dibangun. Pada proses pembuatan Use Case Diagram, akan diketahui fungsi apa saja yang berada pada sistem.
Selain itu, Use Case Diagram akan memudahkan dalam mengetahui aktor atau pelaku mana yang dapat berinteraksi dengan sistem untuk menjalankan fungsi-fungsi yang terdapat pada sistem. Tabel 3 di bawah ini memuat simbol-simbol serta kegunaannya yang digunakan pada Use Case Diagram.
12
Tabel 3 Simbol Use Case Diagram
Nama Simbol Keterangan
Use Case
Merupakan unit yang melakukan pertukaran pesan, sehingga pada use case wajib untuk menggunakan kata kerja.
Aktor
Merupakan pengampu keputusan di luar sistem yang akan berhubungan dengan sistem.
Asosiasi
Simbol yang menjelaskan adanya hubungan antara aktor dengan use case atau sebaliknya.
Ekstensi
Simbol ini
menggambarkan adanya keterkaitan antara use case tambahan dengan use case. Dalam hubungan ini, use case yang diberi use case tambahan dapat berdiri sendiri dan dapat tanpa use case tambahan.
13 Generalisasi
Hubungan antara general dan spesial antar dua buah use case.
Include
Simbol ini
menggambarkan adanya keterkaitan antara use case tambahan dengan use case lainnya. Dalam hubungan
ini, use case
membutuhkan use case
tambahan untuk
menjalankan fungsi yang diperintahkan.
d. GUI Design
Graphic User Interface (GUI) merupakan sistem antarmuka antara pengguna dengan sistem. Sistem antarmuka yang dibuat berupa desain grafis yang memuat gambar seperti icon, video, text dan juga dapat memuat audio visual (disesuaikan dengan kebutuhan). Tujuan digunakannya Graphic User Interface (GUI) adalah memudahkan pegguna dalam menggunakan sistem.
Pembuatan GUI Design pada penulisan menggunakan platform Figma.
Figma merupakan salah satu aplikasi yang digunakan dalam melakukan perancangan user interface (UI) atau antarmuka suatu sistem atau web[18]. Mengutip dari website resmi, Figma dapat digunakan untuk beberapa kasus seperti pembuatan desain UI/UX,
14
desain grafis, wireframing, diagramming, brainstorming, pembuatan template, dan fasilitas pembelajaran dari professional [7]
Figma menawarkan berbagai sumber daya kolaboratif dan online sehingga pembuatan GUI terasa lebih mudah. Hal tersebut karena Figma mendukung kolaborasi secara relatime sehingga platform dapat membantu pengguna yang bekerja secara tim [8]. Selain itu keunggulan utama Figma dibandingkan platform lain yang sejenis sebagai berikut [10]:
1) Penggunaan pribadi tidak dikenakan biaya.
2) Platform tidak membutuhkan instalasi.
3) Kecepatan dan performa saat menyunting dan melihat file jauh lebih cepat.
4) Platform ini dapat dijalankan pada sistem operasi dan software browser apapun.
5) Mendukung kolaborasi desain secara realtime.
2.2.4 Implementasi Sistem
Implementasi mengacu kepada tindakan-tindakan yang dilakukan guna tercapainya tujuan yang telah ditetapkan dalam suatu keputusan atau proses dalam mewujudkan program, sehingga hasil dapat terlihat [11]. Berdasarkan dua pengertian tersebut, disimpulkan implementasi merupakan kegiatan- kegiatan dalam memproses sesuatu hingga menghasilkan sebuah luaran yang merupakan tujuan yang telah ditetapkan.
a. Android Studio
Android Studio merupakan salah satu alat yang memudahkan dalam implementasi sistem yang telah didesain. Mengacu pada artikel yang
15
dikeluarkan oleh situs resmi Android Stuido, Android Studio merupakan suatu Integrated Development Environment (IDE) resmi yang digunakan untuk mengembangkan aplikasi berbasis Android.
Alat tersebut selain digunakan sebagai aplikasi yang digunakan sebagai kode editor, Android Studio juga memiliki beberapa fitur seperti:
1. Sistem build memiliki dasar Gradle yang fleksibel
2. Emulator yang memiliki banyak fitur serta cepat
3. Dapat mengembangkan aplikasi pada semua perangkat berbasis android.
4. Melakukan perubahan kode berdasarkan sumber daya pada alikasi yang dijalankan tanpa perlu melakukan desain ulang kode program pembuatan aplikasi.
5. Template kode dan integrasi GitHub yang dapat membantu untuk membuat fitur aplikasi umum serta mengimpor sample code
6. Memiliki kerangka dan alat uji yang lengkap
7. Dapat didukung dengan C++ dan NDK
8. Adanya support lain yang terintergrasi untuk google cloud platform yang berfungsi untuk kemudahan dalam pengintegrasian pada Google Cloud Messaging serta pada App Engine.
b. Java
Java ialah salah satu bahasa pemrograman yang dapat digunakan untuk mengimplementasikan sistem informasi. Bahasa pemrograman ini menjadikan sintaks yang terdapat pada bahasa pemrograman C dan C++, tetapi perbedaannya adalah Java memiliki sintaks objek model
16
yang lebih sederhana. Java memiliki kelebihan-kelebihan antara lain [21]:
1) Multiplatform. Java memiliki bahasa pemrograman yang kelebihannya dapat digunakan pada beberapa platform/sistem operasi komputer. Pemrograman cukup menuliskan sebuah program Java dan dikompilasi sekali, kemudian hasil yang muncul dapat digunakan pada beberapa platform tanpa perubahan. Selain itu program berbasis Java dapat dikerjakan menggunakan sistem operasi Linux, selain itu Java dapat dijalankan dengan baik pada sistem operasi Microsoft Windows.
Platform lain yang mendukung kegunaan Java hingga saat ini adalah sistem operasi Mac OS dan Sun Solaris.
2) OOP (Object Oriented Programming). OOP berupakan gabungan seluruh aspek pada Java. seluruh tipe data pada Java merupakan kelanjutan dari kelas dasar, objek. Hal tersebut akan memudahkan program dalam proses mendesain, pembuatan, pegembangan, dan mengalokasian kesalahan suatu program yang berbasis Java secara efektif, efisien, dan terorganisir. Kelebihan tersebut membuat Java menjadi salah satu dai 13 bahasa pemograman termudah, bahkan untuk fungsi-fungsi yang tergolong rumit seperti komunikasi antar komputer sekalipun.
3) Library yang lengkap. Bahasa pemrograman ini dikenal memiliki kelebihan akan library yang lengkap (kompilasi dari program yang disertakan dalam pemrograman java) yang dapat memudahkan pengguna dalam memakai bahasa tersebut selama pembangunan aplikasinya. Kelengkapan library ini didukung oleh eksistensi komunitas Java yang cukup besar. Komunitas tersebut secara berkala terus melakukan pembaharuan library untuk memenuhi kebutuhan-kebutuhan.
17
4) Pengumpulan spam otomatis. Java juga memiliki fitur yang dijalankan secara otomatis untuk mengatur penggunaan memori.
Pada fitur ini memungkinkan pengguna untuk tidak perlu mengatur memori penggunaan. Dari fitur ini juga Java dipilih oleh penggunanya karena Java merupakan bahasa pemrograman paling terkini dibandingkan bahasa pemrograman lainnya.
c. Firebase
Firebase merupakan platform yang digunakan untuk aplikasi realtime [3]. Saat suatu aplikasi terhubung dengan platform firebase, maka platform dapat langsung meng-update data yang berubah [3].
Keunggulan pada platform ini yaitu kelengkapan pada library dan dapat dengan berbagai kerangka seperti Java, node, dan lainnya [3].
Cara kerja platform ini adalah dengan menyimpan data dalam bentuk Java Script Object Notation (JSON), kemudian data akan diintegrasikan secara realtime kepada aplikasi yang sudah terhubung [3] . Platform ini memiliki 3 kemampuan inti yaitu [3]:
1) Realtime, platform dapat selalu meng-update jika terjadi perubahan pada database [1]
2) Offline, platform ini menyediakan Firebase SDK sehingga saat suatu aplikasi yang sudah terhubung dalam keadaan offline tetap dapat responsif saat digunakan [3]
3) Accessible from client devices, platform menawarkan kemudahan dalam pengaksesan. Pengguna dapat mengakses secara langsung melalui perangkat mobile atau web [3]
18 d. Kode QR
Kode QR merupakan cara merubah data menjadi kode-kode yang tercetak kedalam suatu media yang lebih ringkas [12]. Sesuai namanya, teknik ini ditujukan agar dapat menerjemahkan data dengan cepat [12]. Cara menerjemahkan kode yang telah tercetak adalah dengan dengan memindai kode tersebut menggunakan kamera pada gawai [16]. Selain itu, kelebihan pada teknik ini adalah kemampuannya dalam menyimpan berbagai jenis data, seperti data angka, alphanumeric, hingga biner [12].