• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: "Penerapan RESTful Web Service dan JSON pada Application Programming Interface (API) Sistem Informasi Perkembangan Ayam Broiler Berbasis Kemitraan "

N/A
N/A
Protected

Academic year: 2018

Membagikan "Institutional Repository | Satya Wacana Christian University: "Penerapan RESTful Web Service dan JSON pada Application Programming Interface (API) Sistem Informasi Perkembangan Ayam Broiler Berbasis Kemitraan ""

Copied!
28
0
0

Teks penuh

(1)

Penerapan

RESTful Web Service

dan

JSON

pada

Application Programming Interface

(API)

Sistem Informasi Perkembangan Ayam Broiler Berbasis Kemitraan

Artikel Ilmiah

Diajukan kepada Fakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

Peneliti:

Dody Agung Saputro (672011206) Hindriyanto D. Purnomo, S.T., MIT., Ph.D.

Ramos Somya, S.Kom., M.Cs.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)

1

Penerapan

RESTful Web Service

dan

JSON

pada

Application Programming Interface

(API)

Sistem Informasi Perkembangan Ayam Broiler Berbasis Kemitraan

1)

Dody Agung Saputro, 2)Hindriyanto Dwi Purnomo, 3)Ramos Somya

Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

Email: 1)[email protected], 2)[email protected],

3)

[email protected]

Abstract

In broiler chicken farms based on partnership, the growth of broiler chickens monitored intensively by extension workers. With the large number of breeders then the manual process of report, handle, and monitor takes a long time and the data can not be seen directly by the company so we need a technology to minimize those problems. This research resulted a broiler chicken growth information system Application Programming Interface (API) based on partnerships that can be used by breeders, breeder partners and extension workers to facilitate the process of reporting, handling and monitoring by the company in realtime. The API technology can be applied as a data center and a data provider in the system. The combination of RESTful web service and JSON into the API makes the integration can be done safely, simple and easy to use. Use of the broiler chicken growth information system API potentially to be applied to complement the existing manual processes on many farms based on partnership.

Keywords : RESTful, JSON, API, Information System, Chicken Growth, Partnership.

Abstrak

Pada peternakan ayam broiler dengan pola kemitraan, perkembangan ayam broiler dipantau secara intensif oleh petugas penyuluh lapangan (PPL). Semakin banyaknya jumlah anak kandang maka proses pelaporan, penanganan dan pemantauan membutuhkan waktu yang lama serta data tidak bisa dilihat oleh perusahaan secara langsung sehingga dibutuhkan teknologi untuk meminimalkan permasalahan yang ada. Dalam penelitian ini dirancang sebuah Application Programming Interface (API) sistem informasi perkembangan ayam broiler berbasis kemitraan yang dapat digunakan oleh anak kandang, peternak mitra dan PPL untuk memudahkan proses pelaporan, penanganan dan pemantauan oleh perusahaan secara terintegrasi dan realtime. Teknologi API dapat diterapkan sebagai pusat penyedia dan pengolah data dalam sistem. Penggabungan RESTful web service dan JSON ke API membuat integrasi dapat dilakukan secara aman, simpel dan menjadi mudah digunakan. Penggunaan API sistem informasi perkembangan ayam broiler berbasis kemitraan ini berpotensi untuk diaplikasikan secara luas untuk melengkapi proses manual yang masih banyak diterapkan pada peternakan berpola kemitraan.

Kata Kunci : RESTful, JSON, API, Sistem Informasi, Perkembangan Ayam, Kemitraan.

1) Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya Wacana

Salatiga

2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga

3)

(10)

2

1. Pendahuluan

Peternakan merupakan salah satu usaha yang masih mempunyai peluang sangat bagus dan banyak terdapat di berbagai daerah di Indonesia, khususnya peternakan ayam broiler. Industri peternakan ayam broiler berperan penting di Indonesia karena daging ayam dapat memenuhi dan menutup kebutuhan protein hewani masyarakat Indonesia sebesar 53% [1]. Banyak para peternak yang memilih pola kemitraan daripada bergerak secara mandiri karena lebih menguntungkan, semisal adanya pasokan sarana produksi dan jaminan pasar dari perusahaan yang menjadi mitra [2,3]. Dalam mewujudkan pola kemitraan tersebut, biasanya ada petugas penyuluh lapangan (PPL) yang dikirim perusahaan untuk melakukan pelaporan, pemantauan dan penanganan secara intensif, dimana jumlah anak kandang yang semakin banyak dan tersebar akan membutuhkan waktu dan sumber daya yang besar pula [4]. Dampak lain yang ditimbulkan adalah kesulitan perusahaan dalam merekapitulasi data perkembangan ayam dari seluruh mitra yang dimilikinya karena tidak bersifat realtime. Dibutuhkan teknologi yang aman namun tetap simpel dan mudah digunakan untuk meminimalkan permasalahan dan kelemahan dari segala proses manual yang ada.

Salah satu cara untuk meminimalkan permasalahan tersebut adalah dengan membuat suatu sistem yang terintegrasi dan realtime antar anak kandang, PPL, peternak mitra dan perusahaan. Salah satu alternatif penyelesaiannya adalah dengan menyediakan provider sebagai pusat penyedia dan pengolah data dengan menggunakan sebuah Application Programming Interface (API) sebagai titik poin komunikasi dari dan ke resource yang dimilikinya. Teknologi web service dapat diterapkan pada API tersebut agar integrasi dapat dilakukan di protokol HTTP dan melalui internet. Jenis web service yang digunakan adalah RESTful web service

yang mempunyai keamanan akses yang baik dengan menerapkan custom token authentication. Gabungan antara RESTful web service dan JSON dapat membuat

API menjadi lebih simpel, mudah digunakan dan human readable daripada menggunakan metode web service dan tipe data yang lain. [5]

Penelitian ini bertujuan untuk menerapkan RESTful web service dan JSON

pada API sistem informasi perkembangan ayam broiler berbasis kemitraan yang aman dan mudah digunakan untuk melengkapi pelaporan secara manual yang masih banyak diterapkan pada peternakan berpola kemitraan. Pada sistem yang dibuat anak kandang dapat mengirim report setiap hari dan petugas penyuluh lapangan dapat memberikan penanganan berkala dengan melakukan request dan

response melalui API. Pihak perusahaan dapat melihat data yang telah dikirimkan secara langsung tanpa harus menunggu laporan manual di tiap akhir periode. Adapun fokus dari penelitian ini adalah pada perancangan API dan pembuatan

website utama, tidak pada sisi aplikasi yang digunakan untuk mengkonsumsi hasil

API di anak kandang, peternak mitra, dan petugas penyuluh lapangan.

2. Tinjauan Pustaka

(11)

3

sistem informasi untuk memantau perkembangan ayam broiler berbasis desktop. Aplikasi ini dapat memasukkan data ayam, menampilkan laporan dan grafik, serta menganalisa perhitungan indeks produksi pada peternakan [6]. Pemanfaatan IT

yang lain adalah sistem infomasi yang dipakai untuk mengelola proses administrasi bisnis di perusahaan peternakan. [2]

Peternakan ayam broiler merupakan komoditi peternakan yang cepat dan potensial produksinya dibandingkan dengan produk ternak lainnya, karena pertumbuhannya cepat, bobot badan tinggi, konversi pakan kecil, dan kualitas dagingnya tinggi. Para peternak ayam broiler ini sebagian besar bekerjasama dengan perusahaan dengan pola kemitraan, di mana peternak akan difasilitasi sarana produksi dan harga jual, serta mendapat jaminan pasar. Program kemitraan ini merupakan program pemerintah untuk meningkatkan produksi ternak agar dapat merangsang tumbuhnya peternak di Indonesia [3].

Sistem informasi yaitu kumpulan alat dan sumber daya manusia sebagai pengguna yang saling tergabung, terintegrasi dan terpadu yang mengumpulkan dan mengolah data untuk menghasilkan suatu informasi yang berguna untuk perencanaan, pelaksanaan, pekerjaan, pengendalian dan pengambilan keputusan dalam organisasi [7]. Sistem informasi merupakan wadah pengolah data dari informasi yang diberikan oleh pengguna dan hasil olahannya juga untuk dikonsumsi oleh kepentingan pengguna.

Application Programming Interface (API) atau Antarmuka Pemrograman Aplikasi adalah sekumpulan perintah, fungsi, dan protokol yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk sistem operasi tertentu [8]. Dengan adanya suatu API, maka jika ada tambahan platform baru maka tidak perlu dilakukan penyesuaian pada platform yang sudah ada. Hal ini dikarenakan

API yang digunakan sudah mempunyai standar dan aturan yang baku dalam melayani permintaan dari platform sehingga lebih efisien. Jika ada perubahan, yang akan berubah hanyalah pada pemrosesan data di dalam API server itu sendiri. Kelebihannya API yang lain adalah fitur keamanan dan hak akses yang dapat diatur serta dapat dijadikan suatu API terbuka bagi pengembang lainnya secara publik.

Web service adalah suatu software yang dirancang untuk menyediakan komunikasi dan interaksi pada dua aplikasi atau lebih dengan sifat program-to-program [9]. Dengan adanya web service, maka satu aplikasi dapat diakses dan berhubungan tanpa perlu mengetahui detail program secara mendalam dengan aplikasi lain walaupun aplikasi tersebut berbeda platform, bahasa pemrograman, dan sistem operasi [10]. Publikasi terkait dengan penerapan web service

diantaranya adalah pengembangan web service dengan menerapkan XML (Extensible Markup Language) yang dapat digunakan untuk memanajemen data dan mengintegrasi aplikasi sistem informasi universitas secara enterprise [11].

Model web service dapat dipecah menjadi dua bagian yaitu SOAP (Simple Object Access Protocol) dan REST (Representational State Transfer).Komponen dari REST terdiri dari: 1) WADL (Application Definition Language) yang digunakan sebagai kontrak layanan yang dijelajahi melalui kode dan pengganti

WSDL, 2) HTTP Method OPTION, GET, HEAD, POST, PUT, DELETE, dan

(12)

4

oleh Roy Thomas Fielding, salah seorang pelopor proyek web server Apache, pada disertasi doktornya yang berjudul Architectural Styles and the Design of Network based Software Architectures di University of California pada tahun 2000 [12]. Dibandingkan dengan SOAP, REST lebih sederhana karena menggunakan format standar (HTTP, HTML, XML, URI, MIME), ketika dilakukan proses pertukaran data maka hasil eksekusi web service tersebut diolah dalam format XML atau HTML melalui protokol HTTP [13].

JSON (Javascript Object Nation) adalah suatu format data ringan yang dapat mempermudah programmer dalam melakukan pertukaran data (lebih singkat daripada array) dan format ini juga sangat mudah diolah oleh mesin untuk diurai. JSON adalah format teks yang benar-benar merupakan bahasa independen, tetapi menggunakan konvensi yang akrab bagi programmer dari keluarga bahasa pemrograman C, termasuk di dalamnya adalah C, C++, C#, Java, JavaScript, Perl, Python, dan banyak lainnya. Properti ini membuat JSON merupakan format bahasa pertukaran data yang ideal[14].

Berbeda dengan penelitian sebelumnya, penelitian ini berbasis pada web

yang mempunyai API untuk dapat berinteraksi dengan resource yang lain. Penambahan RESTful web service bertipe data JSON memungkinkan penambahan

resource menjadi lebih mudah. API juga berperan sebagai suatu standarisasi yang mengatur bagaimana permintaan dan layanan hasil olah data akan diproses.

3. Metode Penelitian

Pendekatan ilmiah yang dipakai adalah pendekatan teknik (engineering approach), dimana penekanan utamanya adalah membangun produk (Burstein dan Gregor, 1999), yaitu sistem informasi perkembangan ayam broiler berbasis kemitraan [15]. Sedangkan metode pengembangan sistem yang digunakan terdiri dari lima tahapan, yaitu: 1) Analisis kebutuhan dan pengumpulan data, 2) Perancangan sistem meliputi perancangan proses (UML), perancangan arsitektur, perancangan database, perancangan antarmuka, 3) Perancangan aplikasi/program, 4) Implementasi dan pengujian sistem, serta analisis hasil pengujian, 5) Penulisan laporan. Lima tahapan yang dilakukan ditunjukkan pada Gambar 1.

Analisis kebutuhan dan pengumpulan data

Perancangan sistem meliputi perancangan proses (UML), perancangan database, perancangan antarmuka

Perancangan aplikasi/program

Implementasi dan pengujian sistem, serta analisis hasil pengujian

Penulisan laporan

(13)

5

Tahapan penelitian pada Gambar 1 dapat dijelaskan sebagai berikut: 1) Tahap pertama: analisis kebutuhan dan pengumpulan data, yaitu melakukan analisis terhadap apa saja yang dibutuhkan dalam melakukan penelitian dan mengumpulkan data tentang proses bisnis, struktur, dan sample report peternakan yang sudah berjalan selama ini. 2) Tahap kedua: perancangan sistem meliputi perancangan proses (UML), meliputi use case diagram, class diagram, activity diagram, dan deployment diagram. Tambahan perancangan yang lain yaitu perancangan database meliputi tabel-tabel yang digunakan dalam menyimpan data serta penentuan hubungan relasinya dan perancangan antarmuka aplikasi yang akan dibuat. 3) Tahap ketiga: perancangan aplikasi/program, yaitu merancang aplikasi sesuai dengan kebutuhan sistem berdasarkan perancangan yang sudah dilakukan. Pembuatan aplikasi terbagi menjadi dua bagian yaitu bagian pertama berupa API yang melayani proses request dan response pada anak kandang, peternak mitra, dan petugas penyuluh lapangan serta bagian kedua berupa website yang merupakan sistem informasi untuk perusahaan supaya dapat melihat dan memonitor data secara mudah dan realtime. Pada API menggunakan bahasa pemrograman PHP dan Restler sebagai REST API framework, sedangkan pada website menggunakan bahasa pemrograman PHP, Bootstrap framework

sebagai kerangka tampilan, library Sammy.js sebagai pengatur path routing, dan

library Mustache untuk pengatur templating pada aplikasi. 4) Tahap keempat: implementasi dan pengujian sistem serta analisis hasil pengujian, yaitu mengimplementasikan aplikasi yang sudah dirancang ke hosting supaya dapat diakses secara online, kemudian diuji dan dianalisis apakah terdapat error pada aplikasi dan apakah aplikasi sesuai dengan perancangan. 5) Tahap kelima: penulisan laporan, yaitu mendokumentasikan proses penelitian dan proses perancangan aplikasi dari tahap awal sampai akhir.

PPL Perusahaan Inti

Anak Kandang Peternak Mitra

Gambar 2 Struktur Pihak yang Terlibat pada Sistem [4]

(14)

6

yang secara administratif menjadi mitra dari perusahaan inti untuk menyediakan kandang dan bertanggung jawab terhadap keuntungan dan kerugian anak kandangnya. PPL (Petugas Penyuluh Lapangan) adalah orang yang ditunjuk untuk memantau dan membina peternak mitra dan anak kandang. Perusahaan inti adalah pihak yang menyediakan pakan dan obat-obatan, yang menjadi mitra dari anak kandang [4].

Perancangan proses pada penelitian ini menggunakan UML (Unified Modeling Language) dengan beberapa proses sebagai berikut. Use case diagram

adalah gambaran fungsionalitas kerja sistem secara visual dan graphical yang menjelaskan interaksi antara aktor dengan sistem beserta dengan fungsi-fungsi yang ada [16,17]. Use case diagram pada aplikasi ini terdapat empat aktor utama yaitu anak kandang, peternak mitra, petugas penyuluh lapangan (PPL), dan perusahaan. Pada aplikasi ini terdapat dua macam use case diagram yang akan digunakan, yaitu use case diagram pada API dan use case diagram pada sistem informasi. Use case diagram pada API ditunjukkan pada Gambar 2.

(15)

7

Gambar 4Use Case Diagram pada Sistem Informasi

Gambar 4 menunjukkan bahwa pada sisi sistem informasi hanya terdapat satu aktor saja, yaitu perusahaan. Perusahaan ini dapat mengelola data anak kandang (termasuk menambah, mengubah, dan menghapus), mengelola peternak mitra (termasuk menambah, mengubah, dan menghapus), mengelola petugas penyuluh lapangan atau PPL (termasuk menambah, mengubah, dan menghapus), mengelola periode (termasuk menambah dan mengubah), memilih periode aktif yang sedang berjalan, dan melihat laporan grafik FCR serta grafik kematian dari anak kandang.

Class diagram menggambarkan struktur dan deskripsi class yang ada di dalam aplikasi yang dikembangkan, beserta hubungan atau relasi satu sama lain seperti user interface, atribut, dan service [17,18]. Class diagram terdiri dari

entity, controller dan boundary. Entity adalah penghubung antara fungsi dengan

database, yang pada Gambar 5 dan Gambar 6 dicontohkan dengan entity tb_stock, tb_ppl, tb_anakkandang, tb_peternakmitra, tb_report_header, dan tb_report_detail. Boundary adalah user interface atau tampilan dari aplikasi.

Controller adalah jembatan yang menghubungan antara entity dan boundary. Controller ini menerima perintah dari boundary dan akan meneruskan ke entity,

(16)

8

Gambar 5ClassDiagram pada Sisi API

Gambar 6Class Diagram pada Sisi Sistem Informasi

(17)

9

Gambar 7 Activity Diagram untuk Input Report Harian

Gambar 8Activity Diagram untuk Input Penanganan

Gambar 7 menunjukkan aktivitas yang dilakukan anak kandang ketika memasukkan report harian. Anak kandang pertama harus memastikan bahwa ia belum memasukkan report harian pada saat itu, karena satu hari hanya dapat memasukkan satu kali. Setelah itu, anak kandang mengakses API untuk login dan akan mendapat respon. Jika responnya sukses, maka akan ke tahap berikutnya sedangkan jika responnya error maka harus kembali lagi ke login. Selanjutnya jika hari tersebut sudah masuk ke periode baru, maka perusahaan harus terlebih dahulu menambah periode baru, namun jika masih sama dengan periode sebelumnya maka dapat langsung mengakses API untuk report harian. Jika respon yang di dapat sukses, maka aktifitas berakhir. Tapi jika respon yang didapat error

semisal parameter salah, maka akan kembali ke tahap sebelumnya.

Gambar 8 menunjukkan aktivitas yang dilakukan oleh petugas penyuluh lapangan (PPL) ketika memasukkan penanganan berdasarkan anak kandang. PPL pertama kali harus mengakses API login terlebih dahulu. Jika mendapat respon

error, maka harus mengulang kembali dari login. Jika respon sukses maka selanjutnya adalah PPL dapat mengakses API list anak kandang. Ketika respon yang didapat adalah kosong atau tidak ada data, maka perusahaan harus memasukkan data anak kandang terlebih dahulu, baru setelah itu PPL mengulang lagi dari API list anak kandang dan akan mendapatkan daftar anak kandang. PPL kemudian memilih salah satu anak kandang dari list tersebut dan dapat mengakses

(18)

10

yang dimasukkan bukan merupakan angka, maka dapat mengulang lagi dari tahap mengakses API untuk penanganan.

Gambar 9Activity Diagram untuk Lihat Data Report Harian dan Grafik

Gambar 9 menunjukkan aktivitas yang dilakukan oleh perusahaan ketika melihat data report harian dan grafik. Sebelumnya perusahaan harus login terlebih dahulu. Jika login gagal, maka akan kembali ke login kembali. Jika login berhasil, maka dapat langsung dilihat report harian yang tampil di website serta grafik kematian dan FCR. Apabila tidak ada data yang ditampilkan, maka yang harus dilakukan adalah melakukan input report harian terlebih dahulu yang dilakukan oleh anak kandang, serta melakukan input penanganan yang dilakukan oleh PPL. Setelah melakukan analisis terhadap data tersebut, maka perusahaan dapat memilih kembali daftar report harian dan grafik atau ingin mengakhiri aktivitas.

Deployment diagram adalah struktur fisik beserta gambaran hardware dari sistem yang dirancang. Deployment diagram pada aplikasi ini dapat dilihat pada Gambar 10.

Gambar 10Deployment Diagram

(19)

11

sebagai tempat penyimpanan data. Database server ini terhubung dengan API server dan applicationserver. APIserver berfungsi sebagai jembatan penghubung antara device anak kandang, peternak mitra, dan PPL sekaligus melayani proses

request and response data pada database server. Application server berfungsi sebagai aplikasi sistem informasi bagi PC atau laptop perusahaan untuk melihat

report dan grafik berdasarkan data dari databaseserver.

4. Hasil dan Pembahasan

Penelitian ini menghasilkan dua sub-aplikasi yaitu API untuk melayani

request and response data dan sistem informasi untuk meninjau report serta grafik secara realtime. Berdasarkan perancangan class diagram yang sudah dibuat, maka struktur tabel dan relasi pada database yang dibuat dengan MySQL dapat dilihat pada Gambar 11.

Gambar 11 Struktur Tabel dan Relasi Database

Pada Gambar 11 menunjukkan bahwa pada perancangan aplikasi menggunakan enam buah tabel, yaitu tb_stock, tb_peternakmitra, tb_anakkandang, tb_ppl, tb_report_header, dan tb_report_detail. Terdapat lima buah relasi antar tabel, yaitu: 1) Relasi antara id_ak pada tb_stock dengan id pada tb_anakkandang yang berarti satu anak kandang dapat memiliki beberapa stock, 2) Relasi antara id_pm pada tb_anakkandang dengan id pada tb_peternakmitra yang berarti satu peternak mitra dapat memiliki beberapa anak kandang, 3) Relasi antara id_ak pada tb_report_header dengan id pada tb_anakkandang yang berarti satu anak kandang dapat memiliki beberapa report header, 4) Relasi antara id_report_header pada tb_anakkandang dengan id pada tb_reportheader yang berarti satu anak kandang hanya dapat memiliki satu report header yang aktif, dan 5) Relasi antara id_header pada tb_report_detail dengan id pada tb_report_header yang berarti satu report header dapat memiliki beberapa report detail.

Application Programming Interface (API) ditujukan untuk anak kandang, peternak mitra, dan petugas penyuluh lapangan. Perancangan API menggunakan Restler sebagai framework untuk membangun API yang menerapkan RESTful web service dan menggunakan JSON sebagai tipe data kembalian. Untuk keamanan

API dan batasan akses resource, maka digunakan custom token authentication.

(20)

12

setiap kali user berhasil login. Kode Program 1 menunjukkan fungsi proses login

anak kandang yang akan mengembalikan nilai custom token ke user.

Kode Program 1 Fungsi Login Anak Kandang sebagai Custom Token Authentication

1

function postLogin($username, $password) {

$result = $this->db->get('tb_anakkandang', ['id', 'password', 'nama'], ['username' => $username]);

if ($result == NULL) {

throw new RestException(401, 'username salah');

}

if (!password_verify($password, $result['password'])) {

throw new RestException(401, 'password salah');

}

$token = cust_func::random_token();

$this->db->update('tb_anakkandang', ['token' => $token], ['id' => $result['id']]);

$error = $this->db->error(); if ($error[2] != null) {

throw new RestException(400, $error[2]);

}

$last_result = cust_func::success('Login berhasil'); $last_result->token = $token;

return $last_result; }

Hasil kembalian token yang dihasilkan dari login API dibungkus dalam data

JSON seperti yang ditunjukkan pada Gambar 12. Proses debugging menggunakan

browser Mozilla Firefox dengan add-on REST Easy.

Gambar 12 Hasil JSON dari RequestLogin Anak Kandang

Pada API ini hanya terdapat dua method yang digunakan yaitu GET dan

POST karena kompatibel dengan hampir semua browser, framework, dan

platform dibanding dengan PUT, DELETE, atau REPLACE. Method GET

digunakan untuk mendapatkan list data dari hasil request sedangkan method POST digunakan untuk memasukkan data ke API. Tabel 1 menunjukkan daftar semua perintah yang terdapat pada API, baik untuk melayani request maupun

(21)

13

Tabel 1List Fungsi pada API

No REST API Path

Method Parameter Deskripsi Kembalian (JSON)

1 http://[SERVER]/api/[anak_kandang|ppl|peternak_mitra]/login.json

POST String username

String password

Sebagai login API untuk akses pertama kali

String success String token 2 http://[SERVER]/api/[anak_kandang|ppl|peternak_mitra]/change_password.json?token=x

POST String token

String new_password

GET String token Mendapatkan data diri dari anak kandang/ppl/peternak mitra

POST String token

int jumlah (sak)

Input laporan stock pakan ketika ada stock pakan masuk

String success

5 http://[SERVER]/api/anak_kandang/report/daily_input.json?token=x

POST String token

int deplesi_mati (ekor) int pakan_pakai (sak)

Input report harian

perkembangan ayam oleh anak kandang, satu kali per hari

String success

6 http://[SERVER]/api//[anak_kandang|ppl|peternak_mitra]/report/header.json?token=x

GET String token Mendapatkan list report header atau periode dari semua anak kandang

Mendapatkan list report detail atau report harian dari anak kandang berdasarkan id report header atau periode

GET String token Mendapatkan periode aktif berjalan anak kandang tersebut

(22)

14

Tabel 2 Lanjutan List Fungsi pada API

No REST API Path

Method Parameter Deskripsi Kembalian (JSON)

9 http://[SERVER]/api/peternak_mitra/show/ppl.json?token=x

GET String token Mendapatkan data list PPL String success array ppl[

GET String token Mendapatkan data list anak kandang berjalan pada anak kandang tertentu secara spesifik

Mendapatkan data grafik FCR (Feed Conversion Ratio) pada anak kandang

String success array label[] array data[] 13 http://[SERVER]/api/peternak_mitra/grafik/kematian.json?token=x

GET String token Mendapatkan data kematian rata-rata semua anak kandang

String success rata-rata anak kandang secara spesifik berdasarkan

POST String token

String id_detail

float report_kondisi (gram)

Memasukkan data penanganan berupa berat ayam (dalam gram) oleh PPL

String success

(23)

15

Gambar 13 Contoh APIRequest Mendapatkan List Anak Kandang

Gambar 14 Contoh APIRequest Memasukkan Report Harian

Gambar 13 dan 14 menunjukkan contoh proses request dari beberapa fungsi

API yang ada. Penggunaan parameter token memungkinkan request dilakukan beberapa kali tanpa melalui proses login lagi. Pada beberapa fungsi, tambahan parameter juga dibutuhkan terutama pada fungsi dengan method POST.

(24)

16

Gambar 16 Grafik FCR dari Periode Anak Kandang di Website Utama

Selain API, pada aplikasi yang dirancang juga terdapat penerapan sistem informasi yang ditujukan kepada perusahaan untuk me-manage data anak kandang, peternak mitra, dan PPL serta memantau proses pelaporan secara

realtime. Sistem informasi yang dirancang menggunakan Bootstrap sebagai kerangka tampilan, library Sammy.js sebagai pengatur path routing, dan library

Mustache untuk pengatur templating pada aplikasi. Gambar 15 dan 16 menunjukkan tampilan user interface dari sistem informasi untuk melihat dan merekapitulasi data yang dikirimkan dari API secara realtime.

Pengujian aplikasi dilakukan untuk menguji fungsi yang terdapat pada sistem berdasarkan use casediagram. Pengujian dilakukan dengan menggunakan teknik blackbox, yaitu pengujian secara langsung apakah setiap fungsi sudah berjalan dengan baik tanpa melihat alur eksekusi program. Tabel 3 dan 4 menunjukkan hal yang diuji dan hasil pengujian yang dilakukan pada API.

Tabel 3 Hasil Pengujian Akses RESTful API

No REST API Path

Kondisi Output yang diharapkan Output yang dihasilkan Status

1 http://[SERVER]/api/[anak_kandang|ppl|peternak_mitra]/login.json

Method, parameter diisi benar

Method, parameter diisi salah

Berhasil login

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil ganti password

Gagal ganti password

Berhasil ganti password

Gagal ganti password

Valid Valid

3 http://[SERVER]/api/[anak_kandang|ppl|peternak_mitra]/profile.json?token=x

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil ganti profil

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil report stock

Gagal report stock

Berhasil report stock

Gagal report stock

Valid Valid

5 http://[SERVER]/api/anak_kandang/report/daily_input.json?token=x

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil report harian Gagal report harian

Berhasil report harian Gagal report harian

(25)

17

Tabel 4 Lanjutan Hasil Pengujian Akses RESTful API

No REST API Path

Kondisi Output yang diharapkan Output yang dihasilkan Status

6 http://[SERVER]/api//[anak_kandang|ppl|peternak_mitra]/report/header.json?token=x

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil mendapatkan report header

Gagal mendapatkan report header

Berhasil mendapatkan

report header

Gagal mendapatkan report header

Valid

Valid

7 http://[SERVER]/api/[anak_kandang|ppl|peternak_mitra]/report/detail.json?token=x&id_header=x

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil mendapatkan report header

Gagal mendapatkan report header

Berhasil mendapatkan

report header

Gagal mendapatkan report header

Valid

Valid

8 http://[SERVER]/api/anak_kandang/report/active_period.json?token=x

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil set periode aktif

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil mendapatkan data PPL

Gagal mendapatkan data PPL

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil mendapatkan data

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil mendapatkan data

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil mendapatkan data

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil mendapatkan data

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil mendapatkan detail

Method, token, parameter diisi benar

Method, token, parameter diisi salah

Berhasil input penanganan Gagal input penanganan

Berhasil input penanganan Gagal input penanganan

Valid Valid

Berdasarkan Tabel 3 dan 4, pengujian yang dilakukan pada RESTful API

mempunyai status valid. Ini menandakan bahwa fungsi pada API berjalan dengan baik. Selain itu, API juga telah mempunyai akses resource yang aman dan baik karena untuk mengakses API dibutuhkan token sebagai penanda user credential.

Method yang digunakan juga harus sesuai apakah fungsi tersebut menggunakan

(26)

18

Tabel 5 Hasil Pengujian Blackbox Testing pada Sistem Informasi

Fungsi Kondisi Output yang Diharapkan

Output yang

Dihasilkan Status

Proses login Username dan password

benar

Username dan password

salah atau kosong

Input, edit, delete data anak kandang

Data diisi dengan benar Berhasil input, edit, delete data

Berhasil input, edit, delete data

Valid

Input, edit, delete data peternak mitra

Data diisi dengan benar Berhasil input, edit, delete data

Berhasil input, edit, delete data

Valid

Input, edit, delete PPL Data diisi dengan benar Berhasil input, edit, delete data

Berhasil input, edit, delete data

Valid

Input dan set data periode aktif Data diisi dengan benar Berhasil input dan

set data

Berhasil input dan

set data Load data report harian anak

kandang

Berhasil load data Berhasil load data Valid

Load data report stock pakan Berhasil load data Berhasil load data Valid

Load data grafik kematian Berhasil load data Berhasil load data Valid

Load data grafik kematian per anak kandang

Berhasil load data Berhasil load data Valid

Load data grafik FCR Berhasil load data Berhasil load data Valid

Proses logout Berhasil logout Berhasil logout Valid

Berdasarkan Tabel 5, pengujian yang dilakukan pada sistem informasi mempunyai status valid. Ini menandakan bahwa fungsi yang tersedia pada sistem informasi telah berjalan dengan baik serta sesuai dengan yang dirancang dan diharapkan.

Secara keseluruhan, berdasarkan pengujian dengan metode blackbox baik di sisi API maupun sistem informasi semuanya mempunyai status valid sehingga dapat disimpulkan bahwa semua sisi aplikasi termasuk API dan sistem informasi semuanya telah berjalan dengan baik.

5. Simpulan

Dalam penelitian ini disimpulkan bahwa RESTful web service dan JSON

pada Application Programming Interface (API) dapat digunakan untuk membuat suatu sistem yang terintegrasi dan realtime. Teknologi ini dapat diterapkan pada sistem informasi perkembangan ayam broiler berbasis kemitraan. Adapun keunggulan dari penambahan RESTfulweb service dan JSON ini adalah integrasi dapat dilakukan melalui internet secara aman, simpel, mudah digunakan dan

human readable.

(27)

19

penyuluh lapangan, misalnya proses report harian, list anak kandang berserta periodenya, penanganan ayam, dan lain sebagainya. Aplikasi ini juga mempunyai manfaat dari sisi perusahaan, di mana perusahaan dapat me-manage data anak kandang, peternak mitra, dan petugas penyuluh lapangan serta memonitor dan merekapitulasi perkembangan ayam.

6. Pustaka

[1] Virgianti, K. 2013. Wamen Pertanian: Daging Ayam Penuhi 53 Persen

Kebutuhan Protein Hewani Masyarakat,

http://www.satuharapan.com/index.php?id=109&tx_ttnews[tt_news]=5515 &cHash=1, diakses 1 Desember 2014.

[2] SdSasmita I.M. A., Ana, I.M., Putra, I.G.P.A.W.A. 2010. Rancang Bangun Sistem Informasi Kemitraan Ayam Broiler pada Perusahaan Sentral Unggas Bali Berbasis Web. Lontar Komputer, vol 1, no 1., 42-66.

[3] Maulana, M.L. 2008. Analisis Pendapatan Peternak Ayam Ras Pedaging Pola Kemitraan Inti-Plasma (Studi Kasus Peternak Plasma dari Tunas Mekar Farm di Kecamatan Nanggung Kabupaten Bogor). Program Sarjana. Institut Pertanian Bogor. Bogor.

[4] Somya, R., Ardaneswari, A., Saputro, D.A., Purnomo, H.D. 2015.

“Perancangan Sistem Pemantauan Pertumbuhan Ayam Pada Peternakan Ayam Broiler Dengan Pola Kemitraan”. Seminar Nasional Teknologi Informasi dan Multimedia 2015. Yogyakarta.

[5] JSON. 2009. Pengenalan JSON, http://www.json.org/json-id.html. Diakses tanggal 7 Desember 2014

[6] Fatoni, M.R. -. Rancang Bangun Sistem Informasi Pemantauan Perkembangan Ayam Broiler (Studi Kasus di Ps. Bintang Unggas Lamongan). Program Sarjana. STIKOM Surabaya. Surabaya.

[7] Hartono, J. 2009. Sistem Teknologi Informasi: Pendekatan Terintegrasi: Konsep Dasar, Teknologi, Aplikasi, Pengembangan, dan Pengelolaan (Edisi 3). Yogyakarta: Andi.

[8] Ichwan, M & Hakiky, F. 2011. Pengukuran Kinerja Goodreads Application Programming Interface (API) pada Aplikasi Mobile Android. Jurnal Informatika 2011, Vol 2 No 2, pp. 13 – 21.

[9] Gottschalk, K., Graham, S., Kreger, H., Snell, J. 2002. Introduction to Web Services Architecture. IBM Systems Journal, Vol 41 No 2, pp. 170 – 177. [10] Suryadi, G., Hiryanto, L., Tumbelaka, B. 2013. Implementasi Web Service

Untuk Mobile Commerce. Jurnal Ilmu Komputer dan Sistem Informasi, Vol 1 No 1, pp 73 - 78.

[11] Santoso, B. 2008. “Analisa Dan Perancangan Web Services Untuk Sistem Informasi Universitas”. Konferensi Nasional Sistem dan Informatika 2008. Bali.

[12] Yusron, M.L., Arwani, I., Pradana, F. 2013. Rancang Bangun REST Web Service pada Aplikasi Penentuan Portofolio Saham menggunakan Model Markowitz dan JQuery Mobile. Repositori Jurnal Mahasiswa PTIIK UB,

(28)

20

[13] Sukyadi, D., 2009, Model Interoperabilitas Sistem Informasi Layanan Publik Studi Kasus: e-Government, Karya Akhir, Prodi Magister Teknologi Informasi, Fasilkom, UI, Jakarta.

[14] Narendra, J., Suprihadi, Beeh, Yos R. 2011. Layanan Service Aplikasi smsCAPTCHA pada Web PHP Berbasis cURL dengan Menggunakan JSON Format. Jurnal Teknologi Informasi – Aiti, vol. 8. No.1, pp. 42 – 60. [15] Burstein, F.V., Gregor, S., 1999, The System Development or Engineering

Approach to Research in Information Systems: An Action Research Perspective, Proceeding of 10th Australasian conference on Information Systems, Wellington NZ, 1-3 December 1999, pp 122-134.

[16] Nugroho, A. 2005. Rational Rose Untuk Pemodelan Berorientasi Objek. Bandung: Informatika.

[17] Imron, M.S, Palekahelu, D.T, Somya, R. 2014. Perancangan dan Implementasi Aplikasi Pembelajaran Siklus Carnot Berbasis RIA untuk Pelajar SMA (Studi Kasus: SMA Negeri 3 Salatiga). Jurnal Teknologi Informasi – Aiti. Vol 11 No 1, pp. 61 – 76.

Gambar

Gambar 1 Tahapan Penelitian
Gambar 2 Struktur Pihak yang Terlibat pada Sistem [4]
Gambar 3 Use Case Diagram pada API
Gambar 4 Use Case Diagram pada Sistem Informasi
+7

Referensi

Dokumen terkait

Mahasiswa mampu memahami konsep aspek hukum dalam pelayanan kesehatan 2.. Mahasiswa mampu memahami aspek hukum isi rekam medis

Al- Ru’yâ , mimpi yang benar, membawa pesan penting berupa kabar baik dari Allah sehingga memotivasi seseorang untuk melakukan perbuatan baik, atau memberinya petunjuk,

Keterlaksanaan dari pembelajaran berbasis STEM dengan model siklus belajar 5E ini dapat dilihat dari temuan hasil lembar observasi, yaitu lembar keterlaksaanan

Meskipun value for money sangat dianjurkan didalam mengukur kinerja organisasi sektor publik, penilaian kinerja berbasis anggaranpun harus tetap dilakukan karena

Permasalahan dalam sistem ini adalah tentang seleksi beasiswa BBM dan PPA di ITS dengan kriteria penghasilan orangtua, IPK, Semester, dan status menerima beasiswa

Data yang telah didapat dimodelkan hingga mendapat model terbaik dengan nilai error terkecil dan kemudian dilakukan proses peramalan dengan memperhatikan nilai MAPE

Sesuai dengan rumusan masalah yang telah diuraikan di atas, tujuan utama dari penelitian ini adalah “ untuk mendapatkan gambaran peningkatan literasi saintifik siswa

Perencanaan sistem pengolahan air laut menjadi layak jika air reject dari SWRO sebesar 1463,28 m 3 /hari dimanfaatkan menjadi wisata kolam apung, garam, dan air nigari