0% menganggap dokumen ini bermanfaat (0 suara)
177 tayangan7 halaman

Rancang Bangun API Untuk Odoo ERP Pada Modul Sales

API untuk Odoo ERP dibuat untuk modul Sales agar dapat berfungsi secara offline menggunakan Firebase. API dan penyimpanan data secara offline menggunakan Firebase telah berhasil diimplementasikan pada fitur-fitur modul Sales.

Diunggah oleh

Syamsul Maarif AB
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
177 tayangan7 halaman

Rancang Bangun API Untuk Odoo ERP Pada Modul Sales

API untuk Odoo ERP dibuat untuk modul Sales agar dapat berfungsi secara offline menggunakan Firebase. API dan penyimpanan data secara offline menggunakan Firebase telah berhasil diimplementasikan pada fitur-fitur modul Sales.

Diunggah oleh

Syamsul Maarif AB
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

JURNAL TEKNIK ITS Vol. 8, No.

2, (2019) ISSN: 2337-3539 (2301-9271 Print) A102

Rancang Bangun API untuk Odoo ERP pada


Modul Sales
Salma Nurkhafidoh, Nurul Fajrin Ariyani, dan Abdul Munif
Departemen Informatika, Fakultas Teknologi Informasi dan Komunikasi,
Institut Teknologi Sepuluh Nopember (ITS)
e-mail: [email protected]), [email protected]), [email protected])

Abstrak— Sebagai salah satu aplikasi ERP terbaik di dunia, pasti produk yang tersedia pada waktu yang diinginkan serta
Odoo terdiri dari banyak modul, mulai dari manajemen proyek, penerapan metode RAD (Rapid Application Development)
CRM, Sales, hingga penagihan pembayaran. Salah satu modul untuk menganalisa proses bisnis dan kebutuhan perusahaan
paling penting dalam Odoo yang dibahas dalam tugas akhir ini
untuk menyesuaikan dengan kebutuhan masing-masing
adalah modul Sales. Modul Sales merupakan modul yang berisi
semua proses transaksi mulai dari pembuatan penawaran, perusahaan. Sedangkan saat ini aplikasi pelaporan bisnis
pengiriman, penawaran kepada pelanggan, hingga pesanan berbasis mobile sangatlah diperlukan untuk mengoptimalkan
yang siap difakturkan. Namun saat ini aplikasi Odoo hanya pelaporan dan pengaksesan transaksi pada modul Sales.
dapat menjalankan fungsionalitasnya ketika perangkat dalam Untuk mengatasi hal itu, dalam tugas akhir ini dibuat API
keadaan online. Jika perangkat sedang tidak dapat mengakses untuk mengintegrasikan aplikasi Android yang dibuat dengan
atau mengalami gangguan koneksi internet, semua proses
memanfaatkan aplikasi Odoo ERP.
transaksi pada modul Sales tidak dapat dijalankan. Sehingga
pengguna tidak dapat mencatat, mengubah, ataupun Selain itu, untuk mengintegrasikan semua data dari
mengakses data-data dalam modul Sales. Keterbatasan tersebut berbagai divisi harus dilakukan secara online agar semua data
dapat menghambat pekerjaan jika pengguna ingin melakukan dapat ter-update. Hal ini dapat menghambat pekerjaan jika
transaksi data namun perangkat sedang tidak terhubung pengguna ingin memasukkan data namun sedang tidak dapat
dengan internet. Untuk mengatasi batasan tersebut, diperlukan mengakses internet. Oleh karena itu, dalam artikel ini
pengembangan aplikasi lebih lanjut pada modul Sales. Oleh
mengimplementasikan Firebase untuk menyimpan data
karena itu, dalam tugas akhir ini dibuatlah API Odoo pada
modul Sales agar aplikasi dapat dikembangkan sesuai secara lokal ketika perangkat sedang tidak dapat mengakses
keinginan pengembang. Selain itu, tugas akhir ini juga internet, kemudian melakukan sinkronisasi data segera
mengimplementasikan Firebase pada Odoo untuk melakukan setelah mendapatkan akses internet.
pertukaran data pada modul Sales secara lokal ketika sedang
tidak dapat mengakses internet, kemudian melakukan
sinkronisasi data segera setelah mendapatkan akses internet. II. DASAR TEORI
Dari pengujian yang telah dilakukan menunjukkan bahwa
implementasi API dan offline storage menggunakan Firebase A. Penelitian Terkait
terhadap fitur-fitur pada modul Sales telah berhasil Artikel ini membahas tentang rancang bangun API untuk
diimplementasikan.
Odoo ERP pada modul Sales dan mengembangkannya
Kata Kunci— API, ERP, Firebase, Odoo, Offline Storage
menjadi aplikasi berbasis Android yang memiliki
kemampunan offline storage dengan memanfaatkan Firebase.
Tabel 1 merupakan perbandingan beberapa pengembangan
I. PENDAHULUAN modul Sales yang telah dikembangkan sebelumnya dengan
pengembangan modul Sales pada tugas akhir ini. Penelitian
D ENGAN adanya perkembangan teknologi informasi
seperti saat ini, para pebisnis tidak akan kesulitan lagi
untuk mengontrol semua aktivitas bisnis (mulai dari
[1] berjudul Pengembangan Sistem Informasi Berbasis
Enterprise Resource Planning Modul Sales pada Odoo
produksi, customer relation, hingga penjualan) yang dengan Metode Rapid Application Development di PT. Brodo
dijalankan karena semua aktivitas dapat terintegrasi pada satu Ganesha Indonesia dan penelitian [2] berjudul Penerapan
sistem. Dari sistem tersebut, semua pekerja dari berbagai Tabel 1.
macam divisi dapat melaporkan aktivitas dari divisi masing- Penelitian Terkait
masing.
Penelitian Pengembangan yang Dilakukan ERP
Sebagai salah satu aplikasi ERP terbaik di dunia, Odoo
terdiri dari banyak modul, mulai dari manajemen proyek, Penelitian [1] Menggunakan metode RAD (Rapid Odoo
CRM, Sales, hingga penagihan pembayaran. Salah satu Application Development) untuk ERP
menganalisa proses bisnis dan kebutuhan
modul paling penting dalam Odoo yang dibahas dalam tugas perusahaan untuk menyesuaikan dengan
akhir ini adalah modul Sales. Modul Sales merupakan modul kebutuhan masing-masing perusahaan.
yang berisi semua proses transaksi mulai dari pembuatan Penelitian [2] Menggunakan metode sure step untuk Open
mendapatkan jumlah pasti produk yang ERP
penawaran, pengiriman, penawaran kepada pelanggan, tersedia di waktu yang diinginkan.
hingga pesanan yang siap difakturkan. Rancang Bangun Menggunakan Firebase sebagai tools Odoo
Dalam pengembangan modul Sales yang telah diterapkan API untuk Odoo untuk penyimpanan data secara offline. ERP
ERP pada Modul
sebelumnya, telah dilakukan pengembangan menggunakan Sales
metode sure step yang digunakan untuk mendapatkan jumlah
JURNAL TEKNIK ITS Vol. 8, No. 2, (2019) ISSN: 2337-3539 (2301-9271 Print) A103

Sistem Sales Management dan Warehouse Management pada sebagainya. Odoo dibangun menggunakan bahasa
UMKM Konveksi Rajutan Berbasis OpenERP dengan pemrograman Phyton, XML, dan JavaScript.
Metode Sure Step. Odoo termasuk sebagai software Enterprise Resource
Planning (ERP). Odoo dulunya dikenal sebagai OpenERP.
B. Application Programming Interface (API)
Odoo dibangun secara open source, sehingga Odoo
Application Programming Interfaces (API) adalah alat mendukung pemanfaatan kembali library yang telah ada dan
yang membuat data situs web dapat dicerna untuk komputer. setiap orang dapat terlibat dalam pengembangannya.
Karakteristik yang membuat situs web optimal bagi manusia, Platform Odoo terdiri dari tiga komponen utama, yaitu
namun membuat sulit digunakan oleh komputer sehingga database PostgreSQL sebagai database bawaannya,
dibutuhkanlah sebuah API. Melalui API, komputer dapat application server Odoo, dan web server. Database
melihat dan mengedit data, sama seperti seseorang yang dapat PostgreSQL menampung semua data yang berhubungan
memuat halaman dan submit formulir. Apa yang mungkin dengan data dan konfigurasi Odoo. Selain sebagai aplikasi,
membutuhkan waktu berjam-jam dengan manusia untuk Odoo juga dapat berfungsi sebagai framework atau kerangka
menyelesaikannya, namun dapat memakan waktu beberapa kerja bagi para Software Developer[5]. Odoo menyediakan
detik dengan komputer melalui API. modul-modul dasar yang mendukung fungsi bisnis, sehingga
Ketika dua sistem terhubung melalui API, dapat dikatakan setiap modul dapat dikostumisasi sesuai dengan kebutuhan.
bahwa dua sistem tersebut terintegrasi. Satu sisi yaitu server Modul-modul tersebut terdiri dari 8 kelompok aplikasi, antara
dan sisi lain yaitu klien. Dalam sisi server sebenarnya yang lain:
menyediakan API. Jika dalam sisi klien, dapat mengetahui 1. Aplikasi website : website builder, blog, e-
data apa yang tersedia melalui API dan dapat commerce, forum, slides,
memanipulasinya, biasanya atas permintaan dari pengguna. live chat, appointments
Request method nantinya akan memberitahu server tindakan 2. Aplikasi sales management : Customer Relationship
apa yang diinginkan pengguna untuk diambil oleh server[3]. Management (CRM),
Terdapat empat method yang sering digunakan pada API, point of sale, Sales,
yaitu: subscriptions
1. GET : Meminta server untuk mengambil data 3. Aplikasi keuangan : accounting, invoicing,
2. POST : Meminta server untuk menambah data expenses
3. PUT : Meminta server untuk mengedit atau 4. Aplikasi operasi : inventory, timesheets,
memperbarui data project, purchase,
4. DELETE : Meminta server untuk menghapus data helpdesk, documents
C. Enterprise Resource Planning (ERP) 5. Aplikasi human resources : recruitment, employees,
fleet, leaves, appraisal
Enterprise Resource Planning (ERP) adalah sebuah sistem
6. Aplikasi marketing : marketing automation,
yang diperuntukkan bagi perusahaan manufaktur maupun
mass mailing, events,
jasa yang berperan mengintegrasikan dan mengotomasikan
survey
proses bisnis yang berhubungan dengan aspek operasi,
7. Aplikasi manufaktur : MRP, PLM, equipment,
produksi, maupun distribusi di perusahaan yang
quality
bersangkutan. ERP sendiri bermula pada kebutuhan bisnis
8. Aplikasi komunikasi : discuss, eSignature.
sebuah perusahaan skala enterprise dalam menjalankan
semua proses bisnisnya. E. Modul Sales pada Odoo
Beberapa modul software ERP digunakan untuk mengelola Modul Sales merupakan salah satu modul utama pada
proses bisnis, menggunakan database yang tersentralisasi. Odoo karena fungsi utama modul ini berfungsi untuk
Proses bisnis adalah sekumpulan aktivitas yang menerima menangani transaksi penjualan, mulai dari membuat
input dan menghasilkan output. Umumya dimulai dari penawaran, melihat pesanan yang siap difakturkan, hingga
memproses data yang masuk, melacak status dari penjualan, melihat pesanan yang telah terkirim[6].
inventory, pengiriman barang, dan memperkirakan bahan
baku serta kebutuhan sumber daya manusia[4]. Tabel 2.
Menu pada modul Sales
Jadi pada dasarnya, ERP (Enterprise Resource Planning)
menggabungkan beberapa fungsi manajemen ke dalam No Menu Fungsi
sistem yang terintegrasi dan memfasilitasi semua arus Quotation Membuat dan mengelola surat penawaran
informasi pada fungsi manajemen tersebut. ERP dirancang 1 kepada pelanggan setelah adanya
untuk mengotomasikan proses-proses dasar pada seluruh permintaan penawaran.
Sale order Mencatat dan mengelola data transaksi
proses bisnis melalui database terpusat dan menghilangkan 2
penerimaan pesanan dari pelanggan
kebutuhan sistem yang berbeda yang dikelola oleh berbagai 3 Sales team Mengelola data tim penjualan.
unit kerja dalam suatu perusahaan. 4 Customer Mengelola data pelanggan.
5 Orders to invoice Melihat data pesanan yang siap difakturkan.
D. Odoo 6 Product Mengelola data produk yang dijual
7 Product Variant Mengelola data varian produk yang dijual
Odoo merupakan sebuah platform open source yang Sales report Melihat laporan penjualan dalam rentang
8
digunakan untuk keperluan bisnis. Aplikasi atau modul- waktu tertentu.
modul yang terintegrasi dibangun di atas platform tersebut, 9 Quotation template Mengelola data template penawaran.
10 Product Attribute Mengelola data atribut produk.
meliputi semua bisnis dari CRM, Sales, stok, dan lain 11 Product Attribute Value Mengelola data nilai atribut produk.
JURNAL TEKNIK ITS Vol. 8, No. 2, (2019) ISSN: 2337-3539 (2301-9271 Print) A104

Tabel 3.
Perancangan API endpoint

No Endpoint URI Method Deskripsi No Endpoint URI Method Deskripsi

1 /quotation GET Menampilkan semua data 19 /product-variant POST Menambah data varian produk
penawaran
2 /quotation/{id} GET Mengambil data penawaran 20 /product-variant- POST Mengubah data varian produk
berdasarkan Id edit
3 /quotation POST Menambah data penawaran 21 /product- DELETE Menghapus data varian
variant/{id} produk
4 /quotation/{id} DELETE Menghapus data penawaran 22 /quotation-template GET Mengambil semua data
quotation template
5 /quotation-edit POST Mengubah data penawaran 23 /quotation- GET Mengambil data quotation
template/{id} template sesuai Id
6 /quotation- POST Mengubah status menjadi sent 24 /quotation-template POST Menambah data quotation
sent/{id} template
7 /quotation- POST Mengkonfirmasi data 25 /quotation- POST Mengubah data quotation
confirm/{id} penawaran template-edit template
8 /quotation- POST Membatalkan penawaran 26 /quotation- DELETE Menghapus data quotation
cancel/{id} template/{id} template
9 /quotation- POST Menetapkan status sebagai 27 /product-attribute GET Mengambil semua data atribut
draft/{id} penawaran produk
10 /sale-order GET Mengambil semua data order 28 /product- GET Mengambil data atribut
penjualan attribute/{id} produk sesuai Id
11 /invoice-order GET Mengambil semua data order 39 /product-attribute POST Menambah data atribut
siap difakturkan produk
12 /product GET Mengambil semua data 30 /product-attribute- POST Mengubah data atribut produk
produk edit
13 /product/{id} GET Mengambil data Produk 31 /product- DELETE Menghapus data atribut
sesuai Id attribute/{id} produk
14 /product POST Menambah data produk 32 /product-attribute- GET Mengambil semua data nilai
value atribut produk
15 /product-edit POST Mengubah data produk 33 /product-attribute- POST Menambah data nilai atribut
value produk
16 /product/{id} DELETE Menghapus data produk 34 /product-attribute- POST Mengubah data nilai atribut
value/{id} produk
17 /product-variant GET Mengambil semua data varian 35 /product-attribute- DELETE Menghapus data nilai atribut
produk value/{id} produk
18 /product- GET Mengambil data varian
variant/{id} produk sesuai Ide

Tabel 2. merupakan beberapa menu yang terdapat dalam 3. Controller : Merupakan bagian yang menjembatani
modul Sales: model dan view.
F. Laravel G. Laradoo
Laravel adalah sebuah framework PHP yang dirilis Laradoo adalah sebuah open source package dan
dibawah lisensi MIT dengan kode sumber yang sudah merupakan implementasi dari API Odoo ERP untuk Laravel
disediakan oleh Github. Sama seperti framework yang lain, yang dikembangkan oleh Eduardo Marcos. Dengan
Laravel dibangun dengan konsep MVC yang ditulis dalam menggunakan Laradoo, memudahkan para pengguna untuk
PHP yang dirancang untuk meningkatkan kualitas perangkat membuat API dan mengakses langsung Odoo dengan akun
lunak dengan mengurangi biaya pengembangan awal dan miliknya sendiri. Untuk langsung dapat mengakses akun
biaya pemeliharaan, serta untuk meningkatkan pengalaman miliknya sendiri, Laradoo memiliki konfigurasi sendiri pada
bekerja dengan menyediakan sintaks yang ekspresif, jelas, Laravel yang bernama laradoo.php. Pada konfigurasi ini
dan menghemat waktu. Selain itu, Laravel juga dilengkapi nantinya dapat langsung menambahkan nama database yang
dengan command line tool yang bernama Artisan yang bisa sudah dibuat saat instalasi Odoo, dan username serta
digunakan untuk packaging bundle dan instalasi bundle password akun Odoo yang sudah dibuat sebelumnya.
melalui command prompt[7].
H. JSON
MVC adalah sebuah pendekatan perangkat lunak yang
memisahkan aplikasi berdasarkan komponen-komponen JSON (JavaScript Object Notation) adalah format
aplikasi, seperti manipulasi data, controller, dan user pertukaran data yang ringan, mudah dibaca dan ditulis oleh
interface. Berikut merupakan penjelasan dari masing-masing manusia, serta mudah diterjemahkan oleh komputer. Format
komponen dari MVC: ini merupakan bagian dari Bahasa Pemrograman JavaScript,
1. Model : Mewakili suatu struktur data. Biasanya berisi Standar ECMA-262 Edisi ke-3 –Desember 1999. JSON
fungsi-fungsi yang membantu dalam merupakan format teks yang menggunakan gaya bahasa yang
pengelolaan basis data seperti memasukkan umum digunakan oleh programmer, seperti bahasa C, C++,
data ke basis data, pembaruan data, dan lain C#, Java, JavaScript, Python, dll. JSON terbuat dari dua
sebagainya. struktur:
2. View : Merupakan bagian yang mengatur tampilan 1. Kumpulan pasangan nama atau nilai. Pada beberapa
untuk pengguna. bahasa, hal ini dinyatakan sebagai object, record, struct,
dictionary, hash table, keyed list, atau associative array.
JURNAL TEKNIK ITS Vol. 8, No. 2, (2019) ISSN: 2337-3539 (2301-9271 Print) A105

Gambar 1. Proses bisnis pada modul Sales Odoo ERP

dibutuhkan, mulai dari manajemen proyek, CRM, hingga


penjualan. Dengan banyaknya kelebihan yang dimilikinya,
tentunya Odoo memiliki banyak pengguna yang
mengandalkan aplikasi Odoo untuk mengintegrasikan semua
data perusahaan dimanapun dan kapanpun.
Namun saat ini aplikasi Odoo hanya dapat menjalankan
Gambar 2. Alur aplikasi dalam keadaan online
fungsionalitasnya ketika perangkat dalam keadaan online.
Hal ini tentunya dapat menghambat pekerjaan jika pengguna
ingin memasukkan data namun sedang tidak dapat mengakses
atau mengalami gangguan koneksi internet.
Untuk mengatasi batasan tersebut, diperlukan
pengembangan aplikasi lebih lanjut. Untuk itu, dalam tugas
akhir ini dibuatlah API Odoo agar aplikasi dapat
Gambar 3. Alur aplikasi dalam keadaan offline dikembangkan sesuai keinginan pengembang.
2. Daftar nilai terurutkan (an ordered list of values). Pada Selain itu, dalam artikel ini juga membahas bagaimana cara
beberapa bahasa, hal ini dinyatakan sebagai array, vector, mengimplementasikan Firebase pada Odoo untuk
list, atau sequence. menyimpan data secara lokal ketika sedang tidak dapat
Struktur data ini disebut sebagai struktur data universal, mengakses internet, kemudian melakukan sinkronisasi data
karena format data mudah dipertukarkan dengan semua segera setelah mendapatkan akses internet.
bahasa pemrograman modern yang juga berdasarkan pada
B. Deskripsi Umum Sistem
struktur data ini[8].
Pada artikel ini akan dibuat sebuah rancang bangun API
I. Firebase untuk Odoo ERP pada modul Sales agar aplikasi dapat
Firebase merupakan layanan Dbaas (Database as a dikembangkan sebagai aplikasi berbasis Android yang dapat
Service) dengan konsep realtime yang berbasis di San menerapkan offline storage. Pembuatan API Odoo ini akan
Fransisco, California[9]. Produk utama dari Firebase yaitu diimplementasikan dengan memanfaatkan Laradoo yang
menyediakan realtime database dan backend sebagai layanan merupakan API Odoo ERP untuk Laravel.
(Backend as a Service). Selain itu, Firebase merupakan suatu Secara garis besar proses bisnis yang ada pada modul Sales
aplikasi yang memungkinkan pengembang membuat API ditunjukkan pada Gambar 1. Proses tersebut dimulai dengan
untuk disinkronisasikan untuk client yang berbeda-beda dan penambahan data produk baru yang dapat dilakukan melalui
disimpan pada cloud Firebase. perangkat Android. Setelah penambahan data, data yang
Dengan menggunakan produk utama Firebase, yaitu berupa informasi akan tersimpan pada server Odoo. Produk
Firebase Realtime Database, aplikasi dapat disinkronkan yang telah dibuat dapat diteruskan untuk dimasukkan dalam
pada semua klien secara realtime dan tetap tersedia meski form quotation. Selain data produk, data lain yang dibutuhkan
aplikasi sedang dalam keadaan offline. Semua data pada untuk form quotation yaitu data customer, quotation template,
Firebase Realtime Database disimpan dalam bentuk JSON dan Sales team. Setelah semua field pada form quotation
dan di-host di cloud. Selain itu, data juga disinkronkan secara terisi, data quotation baru akan tersimpan pada server. Data
realtime ke setiap klien yang terhubung[10]. quotation yang telah tersimpan dapat dibatalkan jika
pengguna menginginkannya. Jika quotation dibatalkan, maka
proses akan otomatis berakhir. Jika data tidak dihapus,
III. ANALISIS DAN PERANCANGAN
pengguna dapat meneruskan penawaran melalui email ke
A. Analisis Permasalahan pelanggan. Jika pelanggan telah mengkonfirmasi penawaran
Sebagai salah satu aplikasi ERP terbaik di dunia, tersebut, maka administrator akan mengkonfirmasi status
tentunya Odoo memiliki banyak fitur yang menjadi sehingga menjadi sale order.
kelebihannya dibanding aplikasi ERP yang serupa. Hal ini Dengan kemampuan offline storage yang memanfaatkan
dikarenakan Odoo mencakup semua jenis operasi bisnis yang Firebase Realtime Database, aplikasi ini akan tetap dapat
JURNAL TEKNIK ITS Vol. 8, No. 2, (2019) ISSN: 2337-3539 (2301-9271 Print) A106

Tabel 4. Tabel 6.
Hasil pengujian fungsionalitas API Hasil pengujian API menggunakan skenario
Hasil Pengujian
Kode Pengujian Kode
Kasus Penggunaan Hasil Nama Endpoint Skenario
Fungsionalitas Pengujian
A B
PF – 01 Mengambil semua data penawaran Berhasil PS – 01 Read quotation, sales order, Berhasil Berhasil
PF – 02 Mengambil semua data order penjualan Berhasil orders to invoice
Mengambil semua data order siap PS – 02 Store quotation Berhasil Berhasil
PF – 03 Berhasil PS – 03 Update quotation Berhasil Berhasil
difakturkan
PF – 04 Mengambil semua data Produk Berhasil PS – 04 Delete quotatin Berhasil Berhasil
Mengambil semua data Quotation PS – 05 Send quotation Berhasil Berhasil
PF – 05 Berhasil PS – 06 Confirm quotation Berhasil Berhasil
Template
PF – 06 Mengambil semua data Atribut Produk Berhasil PS – 07 Cancel quotation Berhasil Berhasil
Mengambil semua data Nilai Atribut PS – 08 Change to draft quotation Berhasil Berhasil
PF – 07 Berhasil PS – 09 Read product Berhasil Berhasil
Produk
PS – 10 Store product Berhasil Berhasil
Tabel 5. PS – 11 Update product Berhasil Berhasil
Skenario pengujian API PS – 12 Delete product Berhasil Berhasil
PS – 13 Read product variant Berhasil Berhasil
Kode Nama Deskripsi PS – 14 Store product variant Berhasil Berhasil
Skenario Skenario PS – 15 Update product variant Berhasil Berhasil
A Parameter Pengujian dilakukan dengan mengirim PS – 16 Delete product variant Berhasil Berhasil
Sesuai seluruh parameter dengan benar yang PS – 17 Read quotation template Berhasil Berhasil
dibutuhkan oleh endpoint. Pengujian PS – 18 Store quotation template Berhasil Berhasil
berhasil jika status code bernilai 200. PS – 19 Update quotation template Berhasil Berhasil
B Parameter Pengujian dilakukan dengan mengirim PS – 20 Delete quotation template Berhasil Berhasil
Tidak Sesuai sebagian parameter atau parameter yang PS – 21 Read product attribute Berhasil Berhasil
salah yang dibutuhkan oleh endpoint. PS – 22 Store product attribute Berhasil Berhasil
Pengujian berhasil jika status code PS – 23 Update product attribute Berhasil Berhasil
bernilai 500. PS – 24 Delete product attribute Berhasil Berhasil
PS – 25 Store product attribute value Berhasil Berhasil
menjalankan fungsionalitasnya walaupun dalam keadaan PS – 26 Store product attribute value Berhasil Berhasil
offline (tanpa internet yang terhubung). Setelah itu, sistem PS – 27 Delete product attribute value Berhasil Berhasil
akan otomatis melakukan sinkronisasi ketika perangkat
terhubung dengan internet. Tabel 7.
Gambar 2 merupakan alur aplikasi jika perangkat dalam Skenario Pengujian Offline Storage
Kode
keadaan online. Untuk mendapatkan atau mengolah data, Skenario
Nama Skenario Deskripsi
dapat diperoleh dari Odoo API yang langsung terhubung A Tidak Terhubung Pengujian dilakukan dengan
dengan Odoo server. Untuk mempermudah dalam Koneksi Internet melakukan semua fitur terhadap data
customer dengan device tidak
memahami, tanda panah lurus merupakan proses request dari terhubung koneksi internet.
device ke Odoo server, sedangkan untuk tanda panah dengan B Sinkronisasi Pengujian dilakukan dengan
melakukan sinkronisasi terhadap
garis putus-putus merupakan proses response dari Odoo perubahan data yang terjadi di antara
server ke device. device dan Odoo server.
Sedangkan pada Gambar 3 menjelaskan alur aplikasi Sinkronisasi data pada Firebase dengan server Odoo dapat
ketika perangkat dalam keadaan offline. Semua data yang dilakukan ketika perangkat kembali mendapatkan koneksi
diakses terdapat pada Firebase Realtime Database. Untuk internet kembali. Saat sinkronisasi dilakukan, data dari server
mempermudah dalam memahami, tanda panah lurus akan ditarik terlebih dahulu untuk mengecek apakah ada
merupakan proses request dari device ke Firebase Realtime perubahan pada data yang telah tersimpan, kemudian semua
Database, sedangkan untuk tanda panah dengan garis putus- data yang berada pada Firebase akan di dorong ke server
putus merupakan proses response dari Firebase Realtime Odoo.
Database ke device.
C. Perancangan API Endpoint IV. UJI COBA DAN EVALUASI
Pembuatan API diimplementasikan dengan memanfaatkan
A. Hasil Pengujian Fungsionalitas API
Laradoo. Perancangan API endpoint untuk modul Sales pada
Odoo ERP dijelaskan pada Tabel 3. Pada subbab ini merupakan hasil pengujian terhadap
pengambilan semua data yang dikirimkan tanpa memerlukan
D. Perancangan Offline Storage dan Sinkronisasi pada parameter.
Android
B. Hasil Pengujian API Menggunakan Skenario
Implementasi offline storage pada artikel ini menggunakan
produk utama dari Firebase, yaitu Firebase Realtime Terdapat dua skenario pengujian yang diterapkan pada
Database. Firebase akan bekerja sebagai penyimpanan endpoint yang memerlukan pengiriman parameter, yaitu
sementara ketika perangkat sedang dalam keadaan offline skenario A dan skenario B. Deskripsi dari setiap skenario
atau tidak ada koneksi internet dan akan melakukan dapat dilihat pada Tabel 5.
sinkronisasi dengan mendorong ke server begitu perangkat Hasil pengujian menggunakan skenario secara keseluruhan
kembali online. Hal ini akan terlihat pada arsitektur yang dapat dilihat pada Tabel 6.
dijelaskan pada Gambar 4. Ketika perangkat dalam keadaan
offline, pertukaran data dilakukan dengan Firebase.
JURNAL TEKNIK ITS Vol. 8, No. 2, (2019) ISSN: 2337-3539 (2301-9271 Print) A107

Tabel 8. Tabel 9.
Hasil Pengujian Offline Storage Skenario Pengujian Sinkronisasi Data
Hasil Pengujian Kode Nama Skenario Deskripsi
Kode
Kasus Penggunaan Skenario Skenario
Pengujian
A B A Penghapusan data Pengujian dilakukan dengan
PO – 01 Pengambilan data saat offline Berhasil Berhasil dilakukan melakukan penghapusan pada
PO – 02 Penambahan data saat offline Berhasil Berhasil terlebih dahulu perangkat A terlebih dahulu
PO – 03 Pengubahan data saat offline Berhasil Berhasil secara offline. dibanding pengubahan data yang
PO – 04 Penghapusan data saat offline Berhasil Berhasil sama pada perangkat B ketika kedua
perangkat dalam keadaan offline.
Kemudian kedua perangkat
C. Hasil Pengujian Offline Storage disinkronkan secara bersamaan.
B Pengubahan data Pengujian dilakukan dengan
Pengujian dilakukan untuk mengetahui keberhasilan dilakukan melakukan pengubahan pada
offline storage yang diimplementasikan menggunakan terlebih dahulu perangkat A terlebih dahulu
Firebase. Terdapat dua skenario pengujian yang diterapkan. secara offline. dibanding penghapusan data yang
sama pada perangkat B ketika kedua
Deskripsi dari setiap skenario dapat dilihat pada Tabel 7. perangkat dalam keadaan offline.
Hasil pengujian offline storage secara keseluruhan dapat Kemudian kedua perangkat
dilihat pada Tabel 8. disinkronkan secara bersamaan.

D. Hasil Pengujian Sinkronisasi Data berbasis Android. Pengimplementasian Firebase dapat


Pengujian dilakukan terhadap sinkronisasi data pada diterapkan pada semua fitur dengan penambahan field
Firebase dengan data yang ada pada server Odoo. Pengujian x_softdelete pada model Odoo dengan tujuan agar
bertujuan untuk mengetahui apa yang terjadi apabila di antara penghapusan data pada saat offline tetap dapat dilakukan. Hal
dua perangkat melakukan penghapusan dan perubahan pada ini tidak mengurangi satupun fungsionalitas yang ada pada
data yang sama secara offline dengan melakukan sinkronisasi aplikasi ini. Hal ini dibuktikan dengan keberhasilan seluruh
dengan waktu yang bersamaan. Deskripsi dari setiap skenario uji coba fungsionalitas yang ditunjukkan pada Tabel 8.
dapat dilihat pada Tabel 9. Dengan pengeksplorasian offline storage menggunakan
Hasil pengujian sinkronisasi data terhadap dua skenario Firebase, didapatkan beberapa hal penting, yaitu: a) Data
dapat tersebut menunjukkan bahwa fitur yang dijalankan offline yang tersimpan merupakan data yang tersimpan pada
terlebih dahulu secara offline akan terlebih dahulu dieksekusi server Firebase, (b) Semua data pada Firebase disimpan
saat kedua perangkat disinkronkan secara bersamaan. sebagai objek JSON, (c) Dalam Firebase yang tidak berbayar,
Jika dilakukan penghapusan pada perangkat A terlebih data yang dapat disimpan ke dalam cache adalah sebesar 10
dahulu dibanding pengubahan data yang sama pada perangkat MB.
B ketika kedua perangkat dalam keadaan offline, kemudian
B. Saran
kedua perangkat disinkronkan secara bersamaan, maka yang
akan dieksekusi terlebih dahulu merupakan fitur Berdasarkan API Odoo pada modul Sales yang telah
penghapusan data dan pada perangkat yang melakukan dibangun dalam tugas akhir ini, pengembangan modul Sales
pengubahan akan memunculkan pesan bahwa data terhapus pada aplikasi Android dapat dilakukan dengan
oleh perangkat lain. mengimplementasikan Firebase sebagai penyimpanan
Sedangkan jika dilakukan pengubahan pada perangkat A offline.
terlebih dahulu dibanding penghapusan data yang sama pada Untuk implementasi offline storage pada modul Sales,
disarankan untuk menggunakan Firebase versi yang berbayar
perangkat B ketika kedua perangkat dalam keadaan offline,
agar semua data dapat tersimpan dalam cache.
kemudian kedua perangkat disinkronkan secara bersamaan,
Untuk pengembangan aplikasi selanjutnya, disarankan
maka yang akan dieksekusi terlebih dahulu merupakan fitur agar aplikasi dapat digunakan pada semua zona waktu karena
pengubahan lalu dilanjutkan dengan penghapusan data. aplikasi yang telah dibangun dalam tugas akhir ini hanya
Sehingga dapat ditarik kesimpulan bahwa aplikasi dapat digunakan pada zona waktu GMT+7.
mengeksekusi perintah sesuai urutan waktu penyimpanan
saat offline. Hal ini dikarenakan penyimpanan dalam
Firebase merupakan satu penyimpanan untuk semua DAFTAR PUSTAKA
perangkat. [1] R. R. Juniar et al., “Pengembangan Sistem Informasi Berbasis
Enterprise Resource Planning Modul Warehouse Management Pada
Odoo Dengan Metode Rapid Application Development Di Pt. Brodo
Ganesha Indonesia,” eProceedings Eng., vol. 3, no. 2, pp. 3551–3556,
V. KESIMPULAN DAN SARAN 2016.
[2] P. Setiadi, I. Darmawan, and R. W. Witjaksono, “Penerapan Sistem
A. Kesimpulan Sales Management Dan Warehouse Management Pada Umkm
Pembuatan API Odoo pada modul Sales untuk Konveksi Rajutan Berbasis Openerp Dengan Metode Sure Step,”
eProceedings Eng., vol. 2, no. 2, 2015.
mengintegrasikan aplikasi mobile dan aplikasi web telah
[3] G. M. Rama and A. Kak, “Some structural measures of API usability,”
berhasil diimplementasikan dengan menggunakan bahasa Softw. Pract. Exp., vol. 45, no. 1, pp. 75–110, 2015.
pemrograman PHP dan memanfaatkan Laradoo. Hal ini [4] J. A. Marakas and G. M. O’Brien, “Management information systems
dibuktikan dengan keberhasilan seluruh uji coba API yang New York.” McGraw-Hill/Irwin, 2010.
[5] D. Reis, Odoo development essentials. Packt Publishing Ltd, 2015.
ditunjukkan pada Tabel 4 dan Tabel 6. [6] “An Overview of Sales Management Module with Odoo -
Pada pengimplementasian offline storage dengan Globalteckz.” [Online]. Available:
menggunakan Firebase berhasil diterapkan pada aplikasi https://www.globalteckz.com/solutions/business-
solutions/openerp/openerp-modules/Sales-management-apps/.
JURNAL TEKNIK ITS Vol. 8, No. 2, (2019) ISSN: 2337-3539 (2301-9271 Print) A108

[Accessed: 21-Jan-2020]. [9] D. Wahyujati and others, “Implementasi Teknologi Firebase Pada
[7] A. Aminudin, “Cara Efektif Belajar Framework Laravel.” Lokomedia, Aplikasi Pencarian Lokasi Service Kamera Berdasarkan Rating
2015. Berbasis Android,” STMIK AKAKOM Yogyakarta, 2017.
[8] “JSON.” [Online]. Available: https://www.json.org/json-en.html. [10] “Firebase Realtime Database.” [Online]. Available:
[Accessed: 21-Jan-2020]. https://firebase.google.com/docs/database. [Accessed: 21-Jan-2020].

Anda mungkin juga menyukai