Abstrak—Odoo  merupakan  salah satu aplikasi ERP  terbaik di dunia  yang  memiliki  banyak  fitur  sebagai  kelebihannya dibanding aplikasi ERP yang serupa. Hal ini dikarenakan Odoo mencakup  semua  jenis  operasi  bisnis  yang  dibutuhkan,  mulai dari  manajemen  proyek,  hubungan  dengan  pelanggan, penjualan, hingga penagihan pembayaran. Dengan banyaknya kelebihan yang dimiliki, banyak pengguna yang mengandalkan aplikasi Odoo untuk mengintegrasikan semua data perusahaan dimanapun dan kapanpun. Modul CRM merupakan salah satu bagian  terpenting  di  Odoo.  CRM  adalah  modul  untuk mengelola  data  atau  informasi  customer  dari  menambah  data customer,  melakukan  perubahan  data  customer,  hingga melakukan  peluang  pada  customer  di  Odoo.  Namun  saat  ini modul CRM di Odoo hanya dapat menjalankan fungsionalitasnya ketika perangkat dalam keadaan online. Jika perangkat  sedang  tidak  dapat  mendapatkan  akses  internet, maka  semua  proses  transaksi  data  pada  modul  CRM  tidak dapat  dijalankan.  Keterbatasan  tersebut  dapat  menghambat pekerjaan  jika  pengguna  ingin  melakukan  transaksi  data namun  perangkat  sedang  tidak  terhubung  dengan  internet. Dalam mengatasi batasan tersebut, diperlukan pengembangan aplikasi lebih lanjut pada modul CRM. Untuk itu, dalam artikel ini  dibuatlah  API  Odoo  pada  modul  CRM  (Customer Relationship  Management)  agar  aplikasi  dapat  dikembangkan sesuai  keinginan  pengembang  dengan  mengimplementasikan Couchbase sebagai offline storage pada Odoo untuk melakukan pertukaran  data  secara  lokal  ketika  sedang  tidak  dapat mengakses  internet,  kemudian  melakukan  sinkronisasi  data setelah mendapatkan akses internet.
Kata Kunci—API, Couchbase, ERP, Odoo, Offline Storage

## I. PENDAHULUAN
ADA era digital seperti sekarang ini, teknologi informasi merupakan salah satu alat yang sangat berperan penting pada hampir semua aspek kehidupan manusia. Dalam dunia perbisnisan, teknologi informasi  merupakan  suatu hal  yang sangat  krusial.  Dengan  adanya  perkembangan  teknologi informasi seperti saat ini, para pebisnis tidak akan kesulitan lagi  untuk  mengontrol  semua  aktifitas  bisnis  (mulai  dari produksi  hingga  penjualan)  karena  semua  aktifitas  dapat terintegrasi pada satu sistem.
Dalam  pengembangan  aplikasi  bisnis,  terdapat  software bernama  Odoo,  yaitu  sebuah  software  open  source  yang menyediakan  beberapa  modul,  seperti  modul  CRM (Customer Relationship Management). Beberapa  penelitian banyak yang memanfaatkan CRM dengan teknologi lainnya, seperti  penelitian  dengan  menggunakan  teknologi  Gammu Service  yang  berfungsi  untuk  mengirim  informasi  dengan cepat  melalui  SMS  ke  customer[1].  Selain  itu,  dalam
penelitian lainnya, memanfaatkan CRM yang dibangun pada sistem  Service  Oriented  Architecture  (SOA)  untuk menyelesaikan masalah yang ada terkait dengan perkembangan  dunia  bisnis[2].  Pada  penelitian  yang  lain, CRM  juga  diterapkan  dengan  Fuzzy  Comprehensive  yang digunakan  sebagai  evaluasi  kinerja  CRM[3].  Dalam keseluruhan  penelitian  yang  memanfaatkan  CRM,  perlunya mengintegrasikan  semua  data  yang  dibutuhkan  harus dilakukan  secara  online,  sehingga pada pemanfaatan  modul CRM  hanya  dapat  menjalankan  fungsionalitasnya  ketika aplikasi  hanya  dalam  keadaan  online.  Hal  ini  dapat menghambat  pekerjaan  jika  pengguna  ingin  memasukkan data  atau  mengubah  data  namun  sedang  dalam  keadaan offline.
Oleh karena itu, artikel ini membawa solusi baru dengan menerapkan Couchbase pada modul CRM untuk menyimpan data secara lokal pada perangkat mobile ketika sedang tidak dapat  mengakses  internet,  kemudian  akan  melakukan sinkronisasi  data  setelah  mendapatkan  akses  internet kembali.

## II. TINJAUAN PUSTAKA

## A. Penelitian Terkait
Pada pembuatan artikel ini merupakan aplikasi manajemen yang memanfaatkan Odoo ERP terutama pada modul CRM untuk  mengelola  customer  serta  memanfaatkan  Couchbase untuk penyimpanan offline storage. Adapun penelitian yang terkait dengan modul CRM ditunjukkan pada Tabel 1.

## Rancang Bangun API untuk Odoo ERP pada Modul CRM (Customer Relationship

## Management)
Rahajeng Dwi Permatasari, Nurul Fajrin Ariyani, dan Abdul Munif Departemen Informatika, Fakultas Teknologi Informasi dan Komunikasi Institut Teknologi Sepuluh Nopember (ITS)
e-mail: ajeng0482@gmail.com, nurulfajrin@if.its.ac.id, munif@if.its.ac.id
P Tabel 1. Penelitian Terkait
Judul Penelitian Teknologi yang Digunakan ERP yang Digunakan Penelitian [1] Gammu Service yang berfungsi  untuk  mengirim SMS - Penelitian [2] Service Oriented Architecture  (SOA)  sebagai penyelesaian  masalah  yang ada terkait dengan perkembangan dunia bisnis -
Penelitian [3]
Fuzzy Comprehensive sebagai evaluasi kinerja CRM - Rancang  Bangun  Api Untuk  Odoo  ERP  pada Modul  CRM  (Customer Relationship
Management)
Couchbase  sebagai  offline storage  dalam  penyimpanan secara  lokal    di  perangkat Android Odoo ERP
Berikut  ini  merupakan  beberapa  contoh  aplikasi  yang menggunakan Couchbase sebagai offline storage.
1) Doddle
Doddle adalah cara mudah untuk mengirim dan menerima paket. Doddle  memutuskan untuk menggunakan Couchbase Mobile  karena  memenuhi  permintaan  pelanggan  dengan menggunakan  perangkat  seluler  mereka.  Solusi  ini menggunakan  basis  data  yang  tertanam  (Couchbase  Lite) dalam menyimpan data secara lokal yang membuat aplikasi Doddle bekerja dengan keadaan sedang offline[4].
2) BD
BD  adalah  perusahaan  teknologi  medis  global  yang memajukan dunia kesehatan dengan meningkatkan penemuan medis, diagnostik, dan pemberian perawatan. BD membuat aplikasi pasien dan portal klinik yang dibuat dengan Couchbase dan Couchbase Mobile. Solusi ini menggunakan perangkat medis yang terhubung dan aplikasi seluler dengan secara  otomatis  mencatat  data  real-time  dalam  hal  kadar, aktifitas,  makanan,  glukosa, dan lokasi  pasien. Portal klinik akan  mengumpulkan  semua  data  dan  menyajikan  kepada dokter dalam format yang efisien untuk membuat  diagnosis dan menentukan obatnya[4].

## B. API
API  (Application  Programming  Interfaces)  adalah  alat yang membuat data situs web dapat dicerna untuk komputer. Karakteristik yang membuat situs web optimal bagi manusia, namun  membuat  sulit  digunakan  oleh  komputer  sehingga dibutuhkanlah  sebuah  API.  Melalui  API,  komputer  dapat melihat dan mengedit data, sama seperti seseorang yang dapat memuat  halaman  dan  submit  formulir.  Apa  yang  mungkin membutuhkan  waktu  berjam-jam  dengan  manusia  untuk menyelesaikannya,  namun  dapat  memakan  waktu  beberapa detik dengan komputer melalui API[5].

## C. Enterprise Resource Planning
Enterprise Resource Planning (ERP) adalah sebuah sistem yang  diperuntukkan  bagi  perusahaan  manufaktur  maupun jasa  yang  berperan  mengintegrasikan  dan  mengotomasikan proses  bisnis  yang  berhubungan  dengan  aspek  operasi, produksi, maupun distribusi di perusahaan yang bersangkutan.  ERP  sendiri  bermula  pada  kebutuhan  bisnis sebuah  perusahaan  skala  enterprise  dalam  menjalankan semua proses bisnisnya[6].

## D. Odoo
Odoo  merupakan  sebuah  platform  open  source  yang digunakan  untuk  keperluan  bisnis.  Aplikasi  atau  modul- modul  yang  terintegrasi  dibangun  di  atas  platform  tersebut, meliputi  semua  bisnis  dari  CRM,  sales,  stok,  dan  lain sebagainya. Odoo dibangun menggunakan bahasa pemrograman Phyton, XML, dan JavaScript. Odoo termasuk sebagai software Enterprise Resource Planning (ERP)[7].

## E. Laravel dan Laradoo
Laravel adalah kerangka kerja aplikasi web dengan sintaks yang  ekspresif,  jelas  dan  menghemat  waktu  yang  bertujuan untuk  membuat proses pengembangan tanpa mengorbankan fungsionalitas aplikasi. Laravel bekerja dengan konsep MVC (model-view-controller)  yang  merupakan  pengembangan website  berbasis  MVP  (model-view-presenter)  yang  ditulis dalam  PHP  yang  dirancang  untuk  meningkatkan  kualitas
perangkat  lunak.  MVC  adalah  sebuah  logika  aplikasi  yang berdasarkan  komponen-komponen,  seperti:  manipulasi  data (model), controller, dan user interface[8].
 Model,  mewakili  struktur  data,  yang  berfungsi  untuk membantu pengolahan basis data, sehingga seperti sesuatu yang dapat menghubungkan dengan basis data sistem.
 View,  bagian  yang  mengatur  tampilan  untuk  pengguna (user interface).
 Controller, bagian yang menghubungkan antara model dan view.
Laradoo  merupakan  sebuah  API  Odoo  ERP  yang  khusus digunakan  pada  platform  Laravel  yang  dikembangkan  oleh Eduardo Marcos. Dengan menggunakan Laradoo ini, aplikasi langsung dapat melakukan transaksi data melewati API yang sudah dibuat di Odoo  tanpa harus  melakukan login terlebih dahulu. Dikarenakan pada Laradoo sudah terdapat akun Odoo yang  sudah  dibuat.  Untuk  langsung  dapat  mengakses  akun Odoo miliknya sendiri, Laradoo memiliki konfigurasi sendiri pada Laravel yang terletak di laradoo.php. Pada konfigurasi ini  nantinya  dapat  langsung  menambahkan  nama  database yang  sudah  dibuat  saat  instalasi  Odoo,  dan  username  serta password akun Odoo yang sudah dibuat.
F. Modul Customer Relationship Management pada Odoo
Customer  Relationship  Management  atau  sering  disebut CRM merupakan modul dalam platform Odoo. Pada modul ini,  dapat  melihat  semua  prospek  atau  peluang  yang  dapat mengelolanya  dari  satu  tahap  ke  tahap  lainnya,  dan menganalisis  hasil  tersebut.  Dengan  Odoo  sendiri  dapat membantu  penjual  dan  manajer,  seperti  mengurangi  tenaga kerja,  menjadikannya  lebih  efisien,  dan  memberikan  akses informasi  yang  mudah.  Pada  modul  CRM  memberikan banyak kemudahan dalam segi customer relationship. CRM memiliki beberapa menu yang dapat digunakan, yaitu menu Customers,  My  Pipeline,  Pipeline  Analysis,  Sales  Teams, Activity Types, Tags, Lost Reasons, dan Team Pipelines.

## G. JSON
JSON  (JavaScript  Object  Notation)  adalah  format pertukaran  data  yang ringan, mudah dibaca dan  ditulis oleh manusia,  serta  mudah  diterjemahkan  oleh  komputer.  JSON merupakan format teks yang menggunakan gaya bahasa yang umum digunakan oleh programmer, seperti bahasa C, C++, C#,  Java,  JavaScript,  Python,  dll[9].  Pada  artikel  ini,  JSON digunakan sebagai struktur data pada offline storage.

## H. Couchbase
Couchbase merupakan sebuah open source, terdistribusi, berorientasi  dokumen,  database  NoSQL  dengan  arsitektur inti  yang  mendukung  model  data  JSON  yang  fleksibel, sinkronisasi  mobile,  serta  keamanan  tingkat  lanjut. Couchbase mampu memberikan  kinerja caching,  mengelola data  model  yang  perlu  dihilangkan,  serta  memahami perbedaan bahasa dan API. Couchbase merupakan gabungan dari dua teknologi NoSQL, yaitu Membase yang memberikan teknologi  cache  dalam  kinerja  tinggi  dan  CouchDB  yang mempelopori  model  berorientasi  dokumen  berdasarkan JSON  Couchbase  memiliki  dua  produk  utama,  yaitu Couchbase server dan Couchbase Mobile. Couchbase Mobile atau  yang  lebih  dikenal  dengan  Couchbase  Lite  merupakan embedded database yang menangani query dan fungsionalitas
manajemen  data  dari  basis  data  khususnta  yang  digunakan pada perangkat seluler.
Pada  artikel  ini  memanfaatkan  Couchbase  Lite  sebagai implementasi  offline  storage  untuk  menyimpan  data  pada perangkat seluler hingga jaringan tersedia kembali.

## III. ANALISIS DAN PERANCANGAN

## A. Analisis Permasalahan
Sebagai salah satu aplikasi ERP terbaik di dunia, tentunya Odoo  memiliki  banyak  fitur  yang  menjadi  kelebihannya dibanding  aplikasi  ERP  yang  serupa.  Hal  ini  dikarenakan Odoo mencakup semua jenis operasi bisnis yang dibutuhkan, mulai  dari  manajemen  proyek,  CRM,  hingga  penjualan. Banyaknya kelebihan yang dimiliki, 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  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  itu,  dalam  mengatasi  hambatan  tersebut,  pada artikel  ini  dibuatlah  API  Odoo  agar  aplikasi  dapat dikembangkan  sesuai  keinginan  pengembang.  Selain  itu, pada  artikel  ini    juga  mengimplementasikan  Couchbase Mobile pada Odoo untuk menyimpan data secara lokal ketika sedang tidak dapat mengakses internet, kemudian melakukan sinkronisasi data setelah mendapatkan akses internet.

## B. Deskripsi Umum Sistem
Pada  artikel  ini  akan  dibuat  sebuah  rancang  bangun  API untuk  Odoo  ERP  pada  modul  Customer  Relationship Management  agar  aplikasi  dapat  dikembangkan  sebagai aplikasi  berbasis  Android  yang  dapat  menerapkan  offline storage.  Pembuatan  API  Odoo  ini  akan  diimplementasikan dengan  memanfaatkan  Laradoo yang  merupakan  API  Odoo ERP untuk Laravel. Secara garis besar, proses bisnis yang ada pada modul CRM dilihat pada Gambar 1.
Pada Gambar 1 merupakan proses bisnis pada Modul CRM yang  dimulai  dari  menambah  data  baru  dari  customer  yang
dapat  dilakukan  pada  Android.  Setelah  menambahkan  data, data  yang  berupa  informasi  dari  customer  akan  tersimpan pada  server.  Data  customer  tersebut  dapat  kita  lanjutkan untuk proses pembuatan pipeline yang dapat dilakukan pada web Odoo. Pada pembuatan pipeline dimana akan membuat sebuah kesempatan sekaligus peluang pada satu sales teams yang  sama.  Peluang  ditandai  dengan  menggunakan  jumlah bintang,  dimana  jika  semakin  besar  jumlah  bintang  maka peluang tersebut memiliki kualitas yang lebih tinggi. Setelah membuat kesempatan dan peluang, maka proses selanjutnya yaitu  menentukan  schedule  atau  penjadwalan  yang  akan dilakukan  berdasarkan  activity  types.  Selanjutnya  pipeline yang  sudah  dibuat,  dapat  digantikan statusnya  dari  new hingga won (dapat disesuaikan) dan dapat dibentuk  sebagai laporan dokumen. Dengan kemampuan offline storage yang memanfaatkan Couchbase Mobile, pada aplikasi Android ini akan  tetap  dapat  menjalankan  fungsionalitasnya  walaupun sedang  dalam  keadaan  offline  (tanpa  ada  koneksi  internet yang  terhubung).  Setelah  itu,  sistem  akan  otomatis melakukan sinkronisasi ketika perangkat terhubung kembali dengan internet.
Gambar  2  merupakan  alur  aplikasi  saat  perangkat  dalam keadaan  online.  Untuk  mendapatkan  atau  mengolah  data dapat  diperoleh  dari  Odoo  API  yang  langsung  terhubung dengan  Odoo  server.  Untuk  mempermudah  dalam memahami, tanda panah lurus merupakan proses request dari device ke Odoo server, sedangkan untuk tanda panah dengan garis  putus-putus  merupakan  proses  response  dari  Odoo server ke device.
Gambar  3  menjelaskan  alur  aplikasi  ketika  perangkat sedang  dalam  keadaan  offline.  Semua  data  yang  diakses terdapat pada lokal menggunakan Couchbase Mobile. Untuk mempermudah  dalam  memahami,  tanda  panah  lurus merupakan proses request dari device ke Couchbase Mobile, sedangkan  untuk  tanda  panah  dengan  garis  putus-putus
Gambar 1. Proses Bisnis Modul CRM
Gambar 2. Alur Aplikasi dalam Keadaan Online
merupakan  proses  response  dari  Couchbase  Mobile  ke device.

## C. Perancangan  Offline  Storage  dan  Sinkronisasi  pada Android
Pada  penggunaan  offline  storage  ini  menggunakan Couchbase  Mobile  atau  yang  lebih  dikenal  dengan Couchbase  Lite.  Dengan  memiliki  kelebihan  dalam penyimpanan data sebagai dokumen JSON, sehingga dapat meningkatkan hingga terabyte data dalam maksimal ukuran 50MB. Oleh karena itu, Couchbase cocok digunakan dalam proyek skala besar dengan data yang cukup besar, sehingga diperlukan  dalam  penyimpanan  data-data  customer  pada modul CRM. Couchbase akan bekerja sebagai penyimpanan sementara  ketika  perangkat  sedang  dalam  keadaan  offline. Hal  ini  akan  terlihat  pada  arsitektur  yang  dijelaskan  pada Gambar  4.  Ketika  perangkat  dalam  keadaan  offline, pertukaran  data  dilakukan  dengan  Couchbase  Lite. Sinkronisasi data pada Couchbase Lite dengan server Odoo dapat  dilakukan  ketika  perangkat  online.  Saat  sinkronisasi dilakukan, server akan melakukan pull data terlebih dahulu untuk  mengecek  apakah  ada  perubahan  pada  data  yang tersimpan pada Couchbase Lite. Jika terdapat perubahan data di  Couchbase  Lite,  maka  semua  data  yang  berada  pada Couchbase Lite akan di push ke server Odoo.

## D. Perancangan API Endpoint
Perancangan API Endpoint untuk Modul CRM dijelaskan pada Tabel 2.

## IV. HASIL UJI DAN EVALUASI

## A. Hasil Uji Fungsionalitas
Pengujian  fungsionalitas  merupakan  kegiatan  yang melakukan pengujian semua data yang dikirimkan dari setiap menu tanpa memerlukan parameter dalam sistem yang telah dibangun. Hasil dari pengujian ini dapat dilihat pada Tabel 3.

## B. Hasil Uji Menggunakan Skenario
Terdapat  dua  skenario  pengujian  yang  diterapkan  pada endpoint    yang  memerlukan  pengiriman  parameter,  yaitu skenario  A  dan  skenario  B.  Deskripsi  dari  setiap  skenario dapat dilihat pada Tabel 4.
Gambar 3. Alur Aplikasi dalam Keadaan Offline
Gambar 4. Arsitektur Offline Storage Tabel 2. API Endpoint No Endpoint Method Deskripsi 1 /customer GET Menampilkan semua data customer 2 /customer/{id} GET Menampilkan  semua  data  berdasarkan Id customer 3 /customer POST Menambah data customer 4 /customer/{id} DELETE Menghapus data customer berdasarkan Id 5 /editcustomer POST Mengubah data customer 6 /tags GET Menampilkan semua data tags 7 /tags/{id} GET Menampilkan  semua  data  berdasarkan Id tags 8 /tags POST Menambah data tags 9 /tags/{id} DELETE Menghapus data tags berdasarkan Id 10  /edittags POST Mengubah data tags 11  /lost GET Menampilkan semua data lost reason 12  /lost/{id} GET Menampilkan  semua  data  berdasarkan Id lost reason 13  /lost POST Menambah data lost reason 14  /lost/{id} DELETE Menghapus data lost reason berdasarkan Id 15  /editlost POST Mengubah data lost reason 16  /act GET Menampilkan semua data activity types 17  /act/{id} GET Menampilkan  semua  data  berdasarkan Id activity types 18  /act POST Menambah data activity types 19  /act/{id} DELETE Menghapus data activity types berdasarkan id 20  /editact POST Mengubah data activity types 21  /salestim GET Menampilkan semua data sales teams 22  /salestim/{id} GET Menampilkan  semua  data  berdasarkan Id sales teams 23  /salestim POST Menambah data sales teams 24  /salestim/{id} DELETE Menghapus data sales teams berdasarkan Id 25  /editsalestim POST Mengubah data sales teams 26  /pipeline GET Menampilkan semua data My Pipeline 27  /pipeline/{id} GET Menampilkan  semua  data  berdasarkan Id My Pipeline 28  /pipeline POST Menambah data My Pipeline 29  /pipeline/{id} DELETE Menghapus data My Pipeline berdasarkan Id 30  /editpipeline POST Mengubah data My Pipeline 31  /pplana GET Menampilkan  semua  data  Pipeline Analysis 32  /pplana/{id} GET Menampilkan  semua  data  berdasarkan Id Pipeline Analysis 33  /pplana POST Menambah data Pipeline Analysis 34  /pplana/{id} DELETE Menghapus  data  Pipeline  Analysis berdasarkan Id 35  /editpplana POST Mengubah data Pipeline Analysis 36  /teamppl GET Menampilkan semua data Team Pipelines
Tabel 3. Hasil Pengujian Fungsionalitas Kode Pengujian Fungsionalitas Kasus Penggunaan Berhasil PF – 01 Mengambil semua data Customer √ PF – 02 Mengambil semua data My Pipeline √ PF – 03 Mengambil semua data Pipeline Analysis √ PF – 04 Mengambil semua data Sales Teams √ PF – 05 Mengambil semua data Activity Types √ PF – 06 Mengambil semua data Tags √ PF – 07 Mengambil semua data Lost Reasons √ PF – 08 Mengambil semua data Team Pipeline √
Hasil pengujian menggunakan skenario secara keseluruhan dapat dilihat pada Tabel 5. Berdasarkan pada tabel tersebut, hasil  pengujian  menunjukkan  bahwa  semua  skenario pengujian untuk setiap endpoint berhasil dilakukan.

## C. Hasil Uji Offline Storage
Pengujian  dilakukan  untuk  mengetahui  keberhasilan offline  storage  yang  diimplementasikan  menggunakan Couchbase.  Terdapat  dua  skenario  pengujian  yang diterapkan. Deskripsi dari setiap skenario dapat dilihat pada Tabel 6.
Hasil  pengujian  offline  storage  secara  keseluruhan  dapat dilihat  pada  Tabel  7.  Berdasarkan  pada  tabel  tersebt,  hasil pengujian  menunjukkan  bahwa  semua  fungsionalitas terhadap  aplikasi  Android  yang  telah  dibuat  dengan mengimplementasikan Couchbase telah berhasil di implementasikan  dan  berjalan  sesuai  dengan  yang  telah dirancang.

## D. Hasil Uji Sinkronisasi Data
Pengujian  dilakukan  terhadap  sinkronisasi  data  pada Couchbase  dengan  data  yang  ada  pada  server  Odoo. Pengujian  bertujuan  untuk  mengetahui  apa  yang  terjadi apabila  di  antara  dua  perangkat  atau  lebih  melakukan penghapusan  dan  perubahan  data  secara  offline  dengan
melakukan  sinkronisasi  dengan  waktu  yang  berbeda. Deskripsi  dari  setiap  skenario  dapat  dilihat  pada  Tabel  8. Hasil  pengujian  sinkronisasi  data  terhadap  dua  skenario tersebut  menunjukkan  bahwa fitur  yang  dijalankan  terlebih dahulu secara offline tidak  akan terlebih dahulu dieksekusi, dikarenakan yang terlebih dahulu dieksekusi yaitu perangkat yang terlebih dahulu melakukan sinkronisasi.
Jika  dilakukan  penghapusan  pada  perangkat  A  terlebih dahulu dibanding pengubahan data yang sama pada perangkat B  ketika  kedua perangkat  dalam keadaan offline, kemudian perangkat  A  disinkronkan,  maka  yang  akan  dieksekusi terlebih dahulu merupakan fitur penghapusan data yaitu pada perangkat  A  dan  pada  perangkat  yang  melakukan pengubahan  akan  memunculkan  pesan  bahwa  data  terhapus oleh perangkat lain.
Sedangkan  jika  dilakukan  pengubahan  pada  perangkat A terlebih dahulu dibanding penghapusan data yang sama pada perangkat B ketika kedua perangkat dalam keadaan offline, kemudian  perangkat  A  disinkronkan,  maka  yang  akan dieksekusi terlebih dahulu merupakan fitur pengubahan data pada perangkat A lalu dilanjutkan dengan penghapusan data.

## V. KESIMPULAN DAN SARAN
Dari  hasil  pengamatan  selama  proses  perancangan, implementasi, dan pengujian yang dilakukan, dapat diambil kesimpulan  yaitu  dalam  pembuatan  API  Odoo  pada  modul CRM  untuk  mengintegrasikan  aplikasi  mobile  dan  aplikasi
Table 4. Skenario Pengujian API Kode Skenario Nama Skenario Deskripsi A Parameter Sesuai Pengujian  dilakukan  dengan  mengirim seluruh  parameter  dengan  benar  yang dibutuhkan oleh endpoint. Pengujian berhasil jika status code bernilai 200. B Parameter Tidak Sesuai Pengujian  dilakukan  dengan  mengirim sebagian parameter atau parameter yang salah yang  dibutuhkan  oleh  endpoint.  Pengujian berhasil jika status code bernilai 500. Tabel 5. Hasil Pengujian Menggunakan Skenario Kode Pengujian Nama Endpoint Hasil Pengujian Skenario A B PS – 01 Get customer Berhasil Berhasil PS – 02 Create customer Berhasil Berhasil PS – 03 Delete customer Berhasil Berhasil PS – 04 Update customer Berhasil Berhasil PS – 05 Get pipeline Berhasil Berhasil PS – 06 Create pipeline Berhasil Berhasil PS – 07 Delete pipeline Berhasil Berhasil PS – 08 Update pipeline Berhasil Berhasil PS – 09 Get pipeline analysis Berhasil Berhasil PS – 10 Create pipeline analysis Berhasil Berhasil PS – 11 Delete pipeline analysis Berhasil Berhasil PS – 12 Update pipeline analysis Berhasil Berhasil PS – 13 Get sales teams Berhasil Berhasil PS – 14 Create sales teams Berhasil Berhasil PS – 15 Delete sales teams Berhasil Berhasil PS – 16 Update sales teams Berhasil Berhasil PS – 17 Get activity types Berhasil Berhasil PS – 18 Create activity types Berhasil Berhasil PS – 19 Delete activity types Berhasil Berhasil PS – 20 Update activity types Berhasil Berhasil PS – 21 Get tags Berhasil Berhasil PS – 22 Create tags Berhasil Berhasil PS – 23 Delete tags Berhasil Berhasil PS – 24 Update tags Berhasil Berhasil PS – 25 Get lost reasons Berhasil Berhasil PS – 26 Create lost reasons Berhasil Berhasil PS – 27 Delete lost reasons Berhasil Berhasil PS – 28 Update lost reasons Berhasil Berhasil
Tabel 6. Skenario Pengujian Offline Storage Kode Skenario Nama Skenario Deskripsi A Tidak Terhubung Koneksi Internet Pengujian dilakukan dengan melakukan  semua  fitur  terhadap data  customer  dengan  device tidak terhubung koneksi internet. B Sinkronisasi Pengujian dilakukan dengan melakukan sinkronisasi terhadap perubahan data yang terjadi di antara device dan Odoo server.
Tabel 7. Hasil Pengujian Offline Storage Kode Pengujian Kasus Penggunaan Hasil Pengujian Skenario A B PO – 01 Pengambilan data saat offline Berhasil Berhasil PO – 02 Penambahan data saat offline Berhasil Berhasil PO – 03 Pengubahan data saat offline Berhasil Berhasil PO – 04 Penghapusan data saat offline Berhasil Berhasil Tabel 8. Skenario Pengujian Sinkronisasi Data Kode Skenario Nama Skenario Deskripsi A Penghapusan data  dilakukan terlebih  dahulu secara offline. Pengujian dilakukan dengan melakukan penghapusan pada perangkat A terlebih dahulu dibanding pengubahan  data  yang  sama  pada perangkat  B  ketika  kedua  perangkat dalam  keadaan  offline.  Kemudian perangkat  A  melakukan  sinkronisasi terlebih dahulu. B Pengubahan data  dilakukan terlebih  dahulu secara offline. Pengujian dilakukan dengan melakukan
pengubahan pada perangkat A terlebih dahulu dibanding penghapusan  data  yang  sama  pada perangkat  B  ketika  kedua  perangkat dalam  keadaan  offline.  Kemudian perangkat  A  melakukan  sinkronisasi terlebih dahulu.
web telah berhasil diimplementasikan dengan menggunakan bahasa pemrograman PHP dan memanfaatkan Laradoo. Hal ini dibuktikan dengan keberhasilan seluruh uji coba API yang ditunjukkan pada Tabel 2 dan Tabel 4.
Pada  implementasi  offline  storage  dengan  menggunakan Couchbase  berhasil  diterapkan  pada  aplikasi  berbasis Android.  Implementasi  Couchbase  dapat  diterapkan  pada semua  fitur  dengan  penambahan  field  x_softdelete  pada model Odoo dengan tujuan agar penghapusan data pada saat offline  tetap  dapat  dilakukan.  Hal  ini  tidak  mengurangi satupun  fungsionalitas  yang  ada  pada  aplikasi  ini.  Hal  ini dibuktikan dengan keberhasilan seluruh uji coba fungsionalitas yang ditunjukkan pada Tabel 6.
Dengan  pengeksplorasian  offline  storage  menggunakan Couchbase  pada  artikel  ini,  yaitu  data  yang  tersimpan  saat offline  hanya  dimiliki  oleh  perangkat  mobile  yang menggunakan  aplikasi  tersebut,  karena  data  akan  tersimpan secara  lokal  pada  perangkat  mobile.  Selain  itu,  data  yang dapat disimpan ke dalam cache di Couchbase tidak memiliki batasan  ukuran.  Sehingga  sebanyak  apapun  data  yang disimpan  ke  dalam  cache,  Couchbase  tidak  mengurangi satupun fungsionalitas yang ada pada aplikasi ini.
Saran  yang  diberikan  kepada  pengembangan  untuk perbaikan  ke  depannya  adalah  berdasarkan  dari  hasil
perancangan,  implementasi,  dan  pengujian  yang  telah dilakukan, modul CRM dapat dikembangkan lebih lanjut dari API yang sudah dibangun.

## DAFTAR PUSTAKA
[1]  M.  A.  Saputra  and  B.  Setiawan,  “Customer  relationship  management untuk pengelolaan donor darah,” J. Tek. ITS, vol. 3, no. 2, pp. A198-- A203, 2014.
[2]  A.  V.  Allorerung,  “Rancang  bangun  perangkat  lunak  berorientasi arsitektur  service  (SOA)  dengan  pendekatan  workflow  pada  domain customer  relationship  management  (CRM)  untuk  sistem  enterprise resource planning,” 2014.
[3]  T. Yu, J. Zhou, Y. Zhang, S. Dong, and W. Wang, “Research on CRM performance  evaluation  based  on  fuzzy  comprehensive  algorithm,”  in 2008 International Conference on Information Management, Innovation Management and Industrial Engineering, 2008, vol. 1, pp. 329–334.
[4]  “Customers | Couchbase.” [Online].
Available: https://www.couchbase.com/customers/. [Accessed: 29-Jan-2020].
[5]  G. M. Rama and A. Kak, “Some structural measures of API usability,” Softw. Pract. Exp., vol. 45, no. 1, pp. 75–110, 2015.
[6]  J.  A. Marakas and G. M.  O’Brien,  “Management  information systems New York.” McGraw-Hill/Irwin, 2010.
[7]  D. Reis, Odoo development essentials. Packt Publishing Ltd, 2015.
[8]  A. Aminudin, “Cara Efektif Belajar Framework Laravel.” Lokomedia,
2015.
[9]  “JSON.”  [Online].  Available:  https://www.json.org/json-en.html. [Accessed: 21-Jan-2020].