3/$ 7)250 3(0$17 $8$1 - its repository

74
TUGAS AKHIR - TJ 141502 PENGEMBANGAN PLATFORM PEMANTAUAN PERTUMBUHAN TERNAK PADA PETERNAKAN BERBASIS KOMPUTASI AWAN Nailul Fadloil NRP 2913 100 019 Dosen Pembimbing Prof. Dr. Ali GÜNEŞ Dr. Supeno Mardi Susiki Nugroho, ST., MT. DEPARTEMEN TEKNIK KOMPUTER Fakultas Teknologi Elektro Institut Teknologi Sepuluh Nopember Surabaya 2017

Upload: others

Post on 11-Apr-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

TUGAS AKHIR - TJ 141502

PENGEMBANGAN PLATFORM PEMANTAUAN PERTUMBUHAN TERNAK PADA PETERNAKAN BERBASIS KOMPUTASI AWAN

Nailul FadloilNRP 2913 100 019

Dosen Pembimbing Prof. Dr. Ali GÜNEŞ Dr. Supeno Mardi Susiki Nugroho, ST., MT.

DEPARTEMEN TEKNIK KOMPUTERFakultas Teknologi ElektroInstitut Teknologi Sepuluh NopemberSurabaya 2017

Page 2: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

TUGAS AKHIR - TJ 141502

PENGEMBANGAN PLATFORM PEMANTAUAN PERTUMBUHAN TERNAK PADA PETERNAKAN BERBASIS KOMPUTASI AWAN

Nailul FadloilNRP 2913 100 019

Dosen Pembimbing Prof. Dr. Ali GÜNEŞ Dr. Supeno Mardi Susiki Nugroho, ST., MT.

DEPARTEMEN TEKNIK KOMPUTERFakultas Teknologi ElektroInstitut Teknologi Sepuluh NopemberSurabaya 2017

Page 3: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

FINAL PROJECT - TJ 141502

DEVELOPMENT PLATFORM CATTLE'S GROWTH MONITORING ON FARM BASED ON CLOUD COMPUTING

Nailul Fadloil NRP 2913 100 019

AdvisorProf. Dr. Ali GÜNEŞ Dr. Supeno Mardi Susiki Nugroho, ST., MT.

DEPARTMENT OF COMPUTER ENGINEERINGFaculty of Electrical TechnologySepuluh Nopember Institute of TechnologySurabaya 2017

Page 4: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

PERNYATAAN KEASLIAN

TUGAS AKHIR

Dengan ini saya menyatakan bahwa isi sebagian maupun

keseluruhan Tugas Akhir saya dengan judul “Pengembangan

Platform Pemantauan Pertumbuhan Ternak Pada

Peternakan Berbasis Komputasi Awan” adalah benar-benar

hasil karya intelektual mandiri, diselesaikan tanpa

menggunakan bahan-bahan yang tidak diijinkan dan bukan

karya pihak lain yang saya akui sebagai karya sendiri.

Semua referensi yang dikutip maupun dirujuk telah ditulis

secara lengkap pada daftar pustaka.

Apabila ternyata pernyataan ini tidak benar, saya bersedia

menerima sanksi sesuai peraturan yang berlaku.

Surabaya, Juli 2017

Nailul Fadloil

NRP. 2913100019

Page 5: 3/$ 7)250 3(0$17 $8$1 - ITS Repository
Page 6: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

ABSTRAK

Nama Mahasiswa : Nailul FadloilJudul Tugas Akhir : Pengembangan Platform Pemantauan

Pertumbuhan Ternak pada PeternakanBerbasis Komputasi Awan

Pembimbing : 1. Prof. Dr. Ali GUNE S2. Dr. Supeno Mardi S. N., ST.,MT.

Pengelolaan peternakan yang ada di Indonesia rata-rata ma-sih menggunakan cara konvensional. Adapun aplikasi yang dikem-bangkan untuk mengelola peternakan masih berupa aplikasi desktopyang tidak terintegrasi dengan jaringan. Aplikasi semacam itu tidakdapat digunakan untuk peternakan yang bersifat multiarea. Penge-lola peternakan juga tidak dapat memantau peternakannya secararemote. Oleh karena itu butuh dikembangkan sebuah platform bis-nis pemantuan peternakan berbasis komputasi awan. Dalam tugasakhir ini akan dikembangkan sebuah platform pemantuan peternak-an dengan menggunakan komputasi awan sebagai pusat kegiatanperekaman, pengolahan dan analisa data. Komputasi yang dilakuk-an pada satu tempat memberikan kemudahan berupa integrasi dataketika melakukan pembaruan maupun perbaikan. Dengan meng-gunakan jaringan internet kegiatan-kegiatan tersebut dapat diak-ses secara remote dan realtime atau semi realtime. Sehingga dapatmenghadirkan aplikasi pemantuan peternakan yang lebih efektif danefisien bagi pengelola peternakan.

Kata kunci: Komputasi Awan, Sistem Manajemen Peternakan,Aplikasi Bergerak, Android

vi

Page 7: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Abstract

Student Name : Nailul FadloilProject Title : Development Platform Cattles Growth

Monitoring on Farm Based on CloudComputing

Advisors : 1. Prof. Dr. Ali GNE2. Dr. Supeno Mardi S. N.,ST.,MT.

These days livestock farming can contribute to huge profit inco-me to the farmers. One of problem in Indonesian livestock farmingis manual data collection and analysis. Livestock management inIndonesia currently using traditional way which is not efficient. So-me application developed for livestock management system still usingdesktop based which is not integrated by network. This kind of appli-cation is not fit to multi-area farming. Monitoring by remote cannotbe reach by this system also. Besides, it need more cost because eachfarmer need to build and buy their application. Cloud computing te-chnologies can be one of solutions to this problem through enhancingtraditional livestock management system, by integrating processes,monitoring, operational farm management with cloud specific capa-bilities which will increase productivity and efficiency. Based on thisidea I propose to develop a cloud based integrated intelligent systemto improve efficiency in monitoring livestock condition. The cloudsystem provides information and data related to the farm and doanalysis for each animal condition which will help farmers to takedecision or supported the decision taking processes.

Keywords: Cloud Computing, Livestock Management System,Mobile Application, Android

vii

Page 8: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Halaman ini sengaja dikosongkan

viii

Page 9: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

KATA PENGANTAR

Puji dan syukur kehadirat Allah SWT atas segala limpahan berkah,rahmat, serta hidayah-Nya, penulis dapat menyelesaikan penelitianini dengan judul Pengembangan Platform Pemantauan Per-tumbuhan Ternak pada Peternakan Berbasis KomputasiAwan.

Penelitian ini disusun dalam rangka pemenuhan bidang risetdi Departemen Teknik Komputer ITS, serta digunakan sebagai per-syaratan menyelesaikan pendidikan S1. Penelitian ini dapat terse-lesaikan tidak lepas dari bantuan berbagai pihak. Oleh karena itu,penulis mengucapkan terima kasih kepada:

1. Keluarga, Ibu, dan Ayah yang telah memberikan doronganspiritual dan material dalam penyelesaian buku penelitian ini

2. Bapak Kepala Departemen Teknik Komputer Dr. I KetutEddy Purnama, ST., MT.

3. Bapak Prof. Dr. Ali GUNE S, Bapak Dr. Supeno MardiS. N., ST.,MT. dan Bapak Dr. I Ketut Eddy Purnama atasbimbingan selama mengerjakan penelitian

4. Bapak-ibu dosen pengajar Bidang Studi Telematika, atas pe-ngajaran, bimbingan, serta perhatian yang diberikan kepadapenulis selama ini

5. Seluruh teman-teman B401 Laboratorium Bidang KomputasiMultimedia, Aditya Very Cleverina, Gokmen GOKMEN, Ber-kay KANCA, Kayahan BARAKAZI, Elif OLCAY dan teman-teman saya selama mengikuti Program Pertukaran pelajar diIstanbul Aydin University

Kesempurnaan hanya milik Allah SWT, kritik dan saran pe-ngembangan untuk penelitian ini sangatlah dibutuhkan demi ter-ciptanya teknologi yang lebih baik.

Surabaya, 6 Juli 2017

Penulis

ix

Page 10: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Halaman ini sengaja dikosongkan

x

Page 11: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

DAFTAR ISI

Abstrak vi

Abstract vii

KATA PENGANTAR ix

DAFTAR ISI xi

DAFTAR GAMBAR xiii

DAFTAR TABEL xv

DAFTAR KODE xvii

1 PENDAHULUAN 11.1 Latar belakang . . . . . . . . . . . . . . . . . . . . . 11.2 Permasalahan . . . . . . . . . . . . . . . . . . . . . . 21.3 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 Batasan masalah . . . . . . . . . . . . . . . . . . . . 31.5 Sistematika Penulisan . . . . . . . . . . . . . . . . . 3

2 TINJAUAN PUSTAKA 52.1 Komputasi Awan . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Manfaat Komputasi Awan . . . . . . . . . . . 62.2 Google Firebase . . . . . . . . . . . . . . . . . . . . . 72.3 Membuat Struktur Basisdata pada JSON Tree . . . 102.4 Library Android Pendukung . . . . . . . . . . . . . . 13

2.4.1 Android Graph View . . . . . . . . . . . . . . 132.4.2 Picasso . . . . . . . . . . . . . . . . . . . . . 13

3 DESAIN SISTEM 153.1 Desain Sistem . . . . . . . . . . . . . . . . . . . . . . 15

3.1.1 Proses Pengumpulan Data . . . . . . . . . . . 163.1.2 Proses Pembacaan Data . . . . . . . . . . . . 173.1.3 Proses Pemberitahuan . . . . . . . . . . . . . 17

3.2 Desain Aplikasi Berbasis UML . . . . . . . . . . . . 18

xi

Page 12: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

3.3 Desain Antarmuka Aplikasi . . . . . . . . . . . . . . 213.4 Desain Basis Data . . . . . . . . . . . . . . . . . . . 27

3.4.1 Klasifikasi Data Objek . . . . . . . . . . . . . 273.4.2 Relasi Antar Objek . . . . . . . . . . . . . . . 30

4 IMPLEMENTASI SISTEM DAN HASIL 314.1 Implementasi Sistem . . . . . . . . . . . . . . . . . . 31

4.1.1 Pengumpulan Data . . . . . . . . . . . . . . . 314.1.2 Pembacaan Data . . . . . . . . . . . . . . . . 314.1.3 Pemberitahuan . . . . . . . . . . . . . . . . . 32

4.2 Hasil . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2.1 Hasil Antarmuka Aplikasi . . . . . . . . . . . 324.2.2 Hasil Pemberitahuan . . . . . . . . . . . . . . 37

5 PENGUJIAN DAN ANALISA 395.1 Metode Pengujian . . . . . . . . . . . . . . . . . . . 395.2 User Acceptance Test (UAT) . . . . . . . . . . . . . 405.3 Waktu Eksekusi . . . . . . . . . . . . . . . . . . . . . 44

5.3.1 Waktu Eksekusi Unggah dan Unduh Data . . 445.3.2 Waktu Eksekusi Secara Bersamaan . . . . . . 47

6 PENUTUP 516.1 Kesimpulan . . . . . . . . . . . . . . . . . . . . . . . 516.2 Penelitian Selanjutnya . . . . . . . . . . . . . . . . . 51

DAFTAR PUSTAKA 53

Biografi Penulis 55

xii

Page 13: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

DAFTAR GAMBAR

2.1 Daftar cara autentifikasi menggunakan Firebase Au-thentication . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Contoh struktur JSON Tree . . . . . . . . . . . . . . 102.3 Contoh denormalisasi data pada JSON Tree . . . . . 112.4 Contoh denormalisasi data pada JSON Tree . . . . . 12

3.1 Ilustrasi desain sistem yang dikembangkan . . . . . . 163.2 Layer pengembangan sistem . . . . . . . . . . . . . . 163.3 Alur proses persiapan data . . . . . . . . . . . . . . 173.4 Alur proses pembacaan data . . . . . . . . . . . . . . 183.5 Alur proses pengiriman pemberitahuan . . . . . . . . 193.6 Use Case diagram . . . . . . . . . . . . . . . . . . . 193.7 Activity diagram untuk proses login dan registrasi . 213.8 Activity diagram untuk aktivitas Unggah ternak ba-

ru, melihat detail data ternak dan melihat daftar ternak 223.9 Activity diagram untuk aktivitas update data ternak,

hapus data ternak dan melihat laporan ternak . . . 233.10 Tampilan (a) Login dan (b) Register . . . . . . . . . 243.11 Tampilan (a) daftar ternak, (b) daftar dokter hewan

dan (c) profil pengguna . . . . . . . . . . . . . . . . 243.12 Tampilan untuk (a) ternak baru dan (b) detail ternak 253.13 Tampilan Laporan Ternak . . . . . . . . . . . . . . . 263.14 Struktur objek (a) Cattle, (b) User dan (c) veterinary 273.15 Struktur objek user-cattles . . . . . . . . . . . . . . 30

4.1 Tampilan (a) Login dan (b) Register . . . . . . . . . 334.2 Tampilan (a) Fragment Ternak, (b) Fragment Vete-

riner dan (c) Fragment Profil . . . . . . . . . . . . . 344.3 Tampilan antarmuka Tambah Ternak . . . . . . . . . 354.4 Tampilan antarmuka Detail Ternak . . . . . . . . . . 364.5 Tampilan antarmuka Perbaharuan Ternak . . . . . . 364.6 Tampilan Laporan Ternak . . . . . . . . . . . . . . . 374.7 Tampilan pemberitahuan pembaharuan ternak . . . 37

5.1 Grafik hasil pengujian waktu eksekusi unggah data . 45

xiii

Page 14: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

5.2 Grafik hasil pengujian waktu eksekusi authenticationpengguna . . . . . . . . . . . . . . . . . . . . . . . . 46

5.3 Grafik hasil pengujian waktu eksekusi pengunduhandata . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.4 Grafik hasil pengujian waktu eksekusi authenticationdata secara bersamaan . . . . . . . . . . . . . . . . . 49

5.5 Grafik hasil pengujian waktu eksekusi pengunduhandata secara bersamaan . . . . . . . . . . . . . . . . . 50

xiv

Page 15: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

DAFTAR TABEL

3.1 Detail use case diagram . . . . . . . . . . . . . . . . 203.2 Struktur Objek Cattle/init-data . . . . . . . . 283.3 Struktur Objek Cattle/update-data-i . . . . . 293.4 Struktur Objek User . . . . . . . . . . . . . . . . . . 293.5 Struktur Objek Veterinary . . . . . . . . . . . . . . 29

5.1 Hasil User Acceptance Test (UAT) . . . . . . . . . . 435.2 Hasil pengujian waktu eksekusi unggah data . . . . . 455.3 Tabel hasil pengujian waktu eksekusi authentication

data . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.4 Tabel hasil pengujian waktu eksekusi unduh data . . 475.5 Hasil pengujian waktu eksekusi authentication data

secara bersamaan . . . . . . . . . . . . . . . . . . . . 495.6 Hasil pengujian waktu eksekusi unduh data secara

bersamaan . . . . . . . . . . . . . . . . . . . . . . . . 50

xv

Page 16: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Halaman ini sengaja dikosongkan

xvi

Page 17: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

DAFTAR KODE

2.1 Contoh rule akses tanpa mewajibkan autentifikasi user 82.2 Menambahkan repository Graph View pada andorid 132.3 Menambahkan repository Picasso pada andorid . . . 14

xvii

Page 18: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Halaman ini sengaja dikosongkan

xviii

Page 19: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

BAB 1

PENDAHULUAN

Penelitian ini di latar belakangi oleh berbagai kondisi yangmenjadi acuan. Selain itu juga terdapat beberapa permasalahanyang akan dijawab sebagai luaran dari penelitian.

1.1 Latar belakang

Perkembangan teknologi informasi yang sangat pesat belakang-an memicu munculnya tren baru dalam dunia bisnis. Banyak bisnisyang berubah dengan menambahkan aspek teknologi informasi di-dalamnya. Jika sebelumnya untuk memesan taksi harus melakukanpanggilan telpon, kini hanya dengan menggunakan satu kali sentuh-an jari pada telepon pintar atau smartphone. Sayangnya, beberapasektor bisnis masih belum mengikuti perkembangan tersebut. Sa-lah satunya adalah sektor peternakan. Menurut Direktorat JenderalPeternakan Indonesia setiap tahun membutuhkan 653,98 ton dagingsapi dengan kapasitas produksi nasional sebesar 418,547 ton atausekitar 64% dari kebutuhan daging sapi nasional sedangkan sisa-nya sebesar 243,43 ton ditutupi dengan melakukan impor.[1] Disisilain Indonesia memiliki potensi dalam bidang peternakan yang sa-ngat besar dan masih dapat ditingkatkan. Salah satu masalah yangdialami oleh peternakan di Indonesia adalah pemantauan hewan ter-nak. Dengan adanya sistem pemantauan hewan ternak yang baik,peternakan dapat melakukan analisa terhadapt perkembangan ter-nak dan dapat melakukan evaluasi terhadap cara memperlakukanternak.

Kondisi yang ada saat ini di peternakan masih melakukan pen-catatan secara manual. Sehingga data yang dikumpulkan rawan ter-cecer dan hilang. Selain itu pada beberapa peternakan dengan mo-del intiplasma (dimana peternak tersebar dibeberapa daerah dengansebuah peternakan inti), pencatatan tersebut semakin sulit karenajauhnya jarak antar sub peternakan. Beberapa sistem pemantauanperkembangan hewan ternak telah dibuat sebelumnya, namun sis-tem yang ada masih menggunakan desktop sementara tidak semuapeternak memiliki dan mampu mengoperasikannya. Oleh karena itu

1

Page 20: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

dibutuhkan sebuah sistem untuk pemantauan ternak yang mampumenyimpan data secara terpusat, terintegrasi dengan jaringan, mu-dah digunakan, mudah untuk diakses kembali dan dapat digunakansecara multi-lokasi guna memudahkan pemantauan hewan ternak.

Dalam tugas akhir ini akan dikembangkan sebuah aplikasi ber-gerak untuk mempermudah pengawasan peternakan berbasis kom-putasi awan. Dengan menggunakan komputasi awan data akan ter-simpan pada server yang terpusat dapat diakses kembali oleh clientmelalui jaringan. Hal ini mempermudah melakukan pengembangansistem secara terintegrasi kepada seluruh client. Dengan bantuanjaringan internet pengawasan peternakan dapat dilakukan secararemote dan realtime atau semi realtime.

1.2 Permasalahan

Pemantauan perkembangan ternak harus dilakukan dengansistem yang terintegrasi dan mudah dioperasikan oleh peternak.Pencatatan perkembangan ternak yang dilakukan secara manualmengakibatkan rawan terjadinya kehilangan data. Disamping itusistem yang ada haruslah sistem yang user friendly bagi peter-nak. Aplikasi pemantauan ternak yang telah dikembangkan berbasisdesktop dimana tidak semua peternak mampu mengoperasikannya.Karena dalam berbasis desktop aplikasi semacam ini tidak efisienuntuk digunakan dilapangan dimana data harus disimpan secaralangsung agar tidak mengulang pekerjaan. Selain itu data yang ti-dak tersimpan secara terpusat akan menyulitkan peternak dalammelakukan analisa data.

1.3 Tujuan

Tujuan utama dari tugas akhir ini adalah untuk mengem-bangkan platform pemantauan pertumbuhan ternak pada peternak-an berbasis komputasi awan yang mampu,

1. Menyimpan data ternak dalam komputasi awan

2. Menampilkan data ternak mutakhir

3. Melakukan perbaharuan data ternak secara realtime

4. Memberikan pemberitahuan kepada pengguna tentang keada-an perkembangan ternak

2

Page 21: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

5. Mempermudah hubungan antara dokter hewan dengan peng-guna

6. Menyajikan laporan perkembangan ternak.

1.4 Batasan masalah

Untuk memfokuskan permasalahan yang akan diangkat makadilakukan pembatasan masalah. Batasan-batasan masalah tersebutdiantaranya adalah:

1. Cloud Platform yang dikembangkan menggunakan Google Fi-rebase API

2. Aplikasi front-end dikembangkan berbasis Android3. Data yang digunakan sebagai masukan berasal dari catatan

peternak secara manual dengan mengambil sample4. Jenis hewan yang dijadikan objek penelitian adalah Sapi ber-

jenis Limosin.

1.5 Sistematika Penulisan

Laporan penelitian Tugas akhir ini tersusun dalam sistematikadan terstruktur sehingga mudah dipahami dan dipelajari oleh pem-baca maupun seseorang yang ingin melanjutkan penelitian ini. Alursistematika penulisan laporan penelitian ini yaitu :

1. BAB I PendahuluanBab ini berisi uraian tentang latar belakang permasalahan,penegasan dan alasan pemilihan judul, sistematika laporan,tujuan dan metodologi penelitian.

2. BAB II Tinjauan PustakaPada bab ini berisi tentang uraian secara sistematis teori-teoriyang berhubungan dengan permasalahan yang dibahas padapenelitian ini. Teori-teori ini digunakan sebagai dasar dalampenelitian, yaitu informasi terkait fitur Google Firebase API,JSON, komputasi awan dan teori-teori penunjang lainya.

3. BAB III Perancangan Sistem dan ImpementasiBab ini berisi tentang penjelasan-penjelasan terkait sistemyang akan dibuat. Guna mendukung itu digunakanlah blokdiagram atau work flow agar sistem yang dibuat dapat ter-

3

Page 22: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

lihat dan mudah dibaca untuk implentasi pada pelaksanaanpenelitian tugas akhir.

4. BAB IV Implementasi Sistem dan HasilBab ini berisi tentang implementasi sistem yang telah dikem-bangkan. Implementasi proses pengumpulan data, desain ba-sis data dan desain antar muka pengguna akan dijelaskan padabagian ini. Sehingga dapat dilihat hasil aplikasi yang telah di-kembangkan baik secara proses maupun secara visual.

5. BAB V Pengujian dan AnalisaBab ini menjelaskan tentang pengujian eksperimen yang dila-kukan terhadap data dan analisanya. Hasil pengujian terha-dap pengguna akan dijelaskan pada bab ini. Spesifikasi tipejaringan seluler yang digunakan dan lokasi tempat pengujianjuga dijelaskan pada bab ini. Bebandingan kecepatan ekse-kusi pada berbagai perintah akan dibandingkan pada bab inisehingga dapat diketahui jaringan yang optimal untuk sistemyang dikembangkan.

6. BAB VI PenutupBab ini merupakan penutup yang berisi kesimpulan yang di-ambil dari penelitian dan pengujian yang telah dilakukan. Sar-an dan kritik yang membangun untuk pengembangkan lebihlanjut juga dituliskan pada bab ini.

4

Page 23: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

BAB 2TINJAUAN PUSTAKA

Demi mendukung pengerjaan penelitian ini, dibutuhkan teoriyang menunjang sebagai bahan acuan dan referensi. Dengan demi-kian penelitian ini menjadi lebih terarah.

2.1 Komputasi Awan

Komputasi awan atau cloud computing menurut definisi dariNIST (National Institute of Standard Technology) merupakan mo-del yang memungkinkan penggunaan dari berbagai tempat secarabersamaan atau ubiquitous, penggunaan secara mudah, penggunaanjaringan sesuai kebutuhan pada kumpulan sumber daya komputasiyang dapat dikonfigurasikan (misalnya jaringan, server, penyimpan-an data, aplikasi dan layan) sehingga dapat tersedia dan diterbitkandengan usaha sekecil mungkin tanpa harus melakukan interaksi de-ngan penyedia layanan.[2]

Komputasi awan dapat dibagi menjadi dua bagian: front enddan back end.[3] Keduanya terhubung satu sama lain melalui ja-ringan, biasanya berupa jaringan internet. Front end adalah apayang disajikan kepada pengguna, sedangkan back end adalah sis-tem yang berada di awan (cloud system). Front end haruslah bera-da pada komputer pengguna yakni aplikasi yang dibutuhkan untukmelakukan akses pada cloud sedangkan back end merupakan layan-an komputasi awan itu sendiri yang terdiri dari berbagai macamkomputer, server dan penyimpan data.[4]

Pemantauan lalu lintas, pengelolaan sietem dan permintaanklien dilakukan oleh server utama. Hal ini dilakukan berdasarkanprotokol tertentu dan menggunakan perangkat lunak khusus yangdisebut middleware. Middleware memungkinkan komputer pada ja-ringan untuk berkomunikasi satu sama lain.[3][4] Dalam tugas akhirini middleware yang digunakan adalah Google Firebase API yangakan dijelaskan selanjutnya.

5

Page 24: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

2.1.1 Manfaat Komputasi Awan

a Pengelolaan yang Mudah

Perawatan infrastruktur baik hardware maupun software men-jadi lebih mudah.[4] Infrastruktur pada umumnya telah diba-ngun oleh penyedia cloud services sehingga tidak perlu mem-bangun infrastruktur sendiri. Oleh karena itu perawatan yangrumit tidak diperlukan. Sedankan pada sisi klien yang diper-lukan adalah aplikasi atau web browser dengan koneksi inter-net.

b Mengurangi Biaya

Komputasi awan mampu mengurangi biaya yang dibutuhkandalam bidang IT. Hal ini karena tidak diperlukannya pemba-ngunan infrastruktur secara mandiri. Sehingga tenaga yangdibutuhkan untuk pembangunan sistem ini pun tidak diper-lukan. Sebagai contoh adalah layanan email yang dapat dila-kukan secara gratis melalui layanan GMAIL, YAHOO, dsb.

c Penanggulangan Bencana

Bencana terjadi secara tidak terduga, bagi sebagian orang ke-hilangan handphone atau laptop bisa menjadi bencana kare-na data penting berada pada perangkat-perangkat tersebut.Namun dengan menggunakan komputasi awan bencana kehi-langan data dapat dihindari, beberapa penyedia layanan telahmenyediakan backup yang dapat membantu mengembalikandata.

d Green Computing

Apabila setiap organisasi membangun infrastruktur merekasendiri tentu akan menghasilkan dampak negatif kepada ling-kungan. Salah satunya adalah konsumsi energi listrik yangterbuang untuk menjaga agar infrastruktur tetap bekerja. De-ngan penggunaan komputasi awan hal semacam ini dapat di-kurangi. Sehingga mendorong penghematan energi dan peles-tarian lingkungan.[4]

6

Page 25: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

2.2 Google FirebaseFirebase dibangun oleh Andrew Lee dan James Tamplin pada

tahun 2011 yang kemudian berpindah tangan kepada Google padaOktober 2014. Firebase merupakan salah satu BaaS (Backend as aService) yang memudahkan pengembangan aplikasi multiplatformbaik iOS, Android maupun web apps.[5][6] Firebase menyediakanlayanan yang mampu melakukan sinkronisasi data otomatis, au-tentifikasi, penyimpanan data real-time hingga cloud function yangmemungkinkan pengembang untuk membangun program komputasiawan tanpa server.

A Firebase Authentication

Firebase authentication adalah layanan backend dengan SDKyang sederhana yang memungkinkan pengembang aplikasi un-tuk membangun sistem autentifikasi instan dan dilengkapi de-ngan desain UI. Dalam Firebase authentication terdapat me-kanisme username dan password, selain itu terdapat pula ter-integrasi social login (Facebook dan Google Plus) serta inte-grasi dengan pihak ketiga lain seperti pada gambar 2.1.[7]

Gambar 2.1: Daftar cara autentifikasi menggunakan Firebase Authentication

B Firebase Realtime Database

Kebutuhan akan realtime database semakin meningkat, apli-kasi perpesanan contohnya sangat memerlukan penyimpangan

7

Page 26: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

data yang dapat diakses secara realtime karena pengguna pa-da umumnya menginginkan informasi yang cepat. FirebaseReal-time Database memberikan layanan untuk menyimpandan menyinkronikan data dengan menggunakan NoSQL clouddatabase. Data yang telah disimpang akan tersingkronasi padasetiap klien secara langsung dan tetap tersedian ketika aplika-si klien sedang offline. Realtime Database juga memiliki ke-mampuan untuk menyinkronkan perubahan data lokal denganpembaruan jarak jauh yang terjadi saat klien offline, denganmenggabungkan perbedaan apa pun secara otomatis.[8]

Realtime Database menyediakan bahasa aturan berbasis eksp-resi yang fleksibel, bernama Firebase Realtime Database Se-curity Rules, untuk mendefinisikan bagaimana struktur dataAnda harus disusun serta kapan data bisa dibaca atau ditulis.Ketika terintegrasi dengan Firebase Authentication, pengem-bang bisa menentukan siapa yang memiliki akses ke data, danbagaimana mereka dapat mengaksesnya.[8] Contoh aturan iniseperti pada kode 2.1 yang menunjukkan bebas akses penulis-an dan pembacaan data kepada semua pengguna tanpa tera-utentifikasi.

{"rules": {

" foo": {".read": true,".write": true

}}

}

Kode 2.1: Contoh rule akses tanpa mewajibkan autentifikasi user

Data yang disimpan pada Firebase Realtime database berbasisdata NoSQL dalam bentuk objek JSON. Firebase mengklaimbahwa sistem ini memiliki optimalisasi dan fungsionalitas yangberbeda dibandingkan dengan basis data relasional. RealtimeDatabase API didesain untuk hanya memperbolehkan operasiyang bisa dieksekusi dengan cepat. Firebase juga mengkla-im bahwa sistem ini dapat melayani jutaan pengguna tanpa

8

Page 27: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

mengorbankan daya respons.[8]

C Firebase Storage

Firebase Storage adalah layan untuk pengembang aplikasi yangperlu menyimpan dan menyediakan konten buatan pengguna,seperti foto atau video. Firebase Storage menyimpan file dibucket Google Cloud Storage, yang berarti bahwa dapat diak-ses melalui Firebase dan Google Cloud API. Hal ini memberik-an fleksibilitas bagi klien untuk mengunggah dan mengunduhfile dari aplikasi klien melalui Firebase dan melakukan pem-rosesan sisi server seperti filter gambar atau transkode videomenggunakan Google Cloud Platform maupun Firebase CloudFunction.[9]

Firebase Storage juga telah terintegrasi dengan Firebase Au-thentication untuk mengidentifikasi pengguna. Sehingga pe-ngembang dapat mengatur akses pada satufile atau kumpul-an file yang telah disimpan menjadi bersifat publik maupunpribadi.[9]

D Firebase Cloud Function Firebase Cloud Function memung-kinkan pengembang untuk membangun program awan tanpamemiliki server atau serverless. Cloud Function menggunakanNode.Js sebagai lingkungan pengembangan. Cloud Functionakan menjalankan program pada backend secara otomatis ke-tika dipicu oleh fitur firebase (seperti authentication, realtimedatabase, storage dan cloud messaging) maupun melalui HT-TP Request.[10] Life cycle pengembangan sebuah fungsi padaCloud Function adalah sebagai berikut,

(a) Pengembang menulis kode untuk fungsi baru, memilihevent provider (seperti Database Realtime), dan menen-tukan kondisi di mana fungsi harus dijalankan

(b) Pengembang me-deploy fungsinya, dan Firebase meng-hubungkannya ke event provider yang dipilih

(c) Saat event provider menghasilkan acara yang sesuai de-ngan kondisi fungsi, kode akan dijalankan

9

Page 28: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

(d) Saat pengembang memperbarui fungsinya dengan mene-rapkan kode yang diperbarui, semua kode untuk versilama dibersihkan dan diganti dengan kode baru

(e) Saat pengembang menghapus fungsinya, semua kasus di-bersihkan dan koneksi antara fungsi dan penyedia acaraakan dihapus.

2.3 Membuat Struktur Basisdata pada JSON Tree

Data yang disimpan dalam cloud adalah dalam bentuk objekJSON atau dalam struktur JSON Tree. Berbeda dengan strukturtabel relasional yang memiliki tabel dan rekaman, pada JSON da-ta yang ditambahkan ke JSON tree, akan menjadi simpul dalamstruktur JSON yang telah ada seperti terlihat pada gambar 2.2.[8]

Dengan demikian relasi antar data merupakan simpul itu sendiri.

Gambar 2.2: Contoh struktur JSON Tree

1. Menghindari Data Bersarang Nested DataDalam Firebase pengguna memungkinkan untuk memiliki 32tingkat simpul, meskipun demikian membuat struktur dengaterlalu banyak simpul akan menimbulkan masalah. Pasalnya

10

Page 29: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

ketika pengguna mengakses sebuah simpul, pengguna juga da-pat mengambil semua data yang terdapat pada simpul anak-nya. Begitu pula ketika pengembang memberikan akses datapada suatu simpul artinya juga memberikan akses pada simpulanaknya. Oleh karena itu sebaiknya menghindari data yangbersarang.[8]

2. Meratakan Struktur DataMenyimpan data dalam path terspisah atau dapat disebutdenormalisasi data adalah hal yang normal dilakukan padastruktur data JSON. [11] Denga demikian data tersebut akanlebih mudah diunduh dengan panggilan terpisah. Sebagai con-toh adalah gambar 2.3 didalamnya terdapat data yang didu-plikasi. Hal ini dilakukan untuk mempermudah pengunduhandata dan juga untuk mempermudah skalasi data berikutnya.

Gambar 2.3: Contoh denormalisasi data pada JSON Tree

Menduplikasi data memang bukan hal yang baik dilakukan,namun demi membangun basisdata yang dapat diskalasikan

11

Page 30: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

denormalisasi data adalah cara yang terbaik.

3. Membuat Data yang Dapat DiskalasikanRelasi antar objek pasti selalu ada dalam membangun basi-sdata. Akan lebih mudah apabila relasi ini ditempatkan padasimpul anak dari sebuah objek. Namun hal ini akan menjadirumit apabila relasi tersebut bersifat dinamis atau berubah-ubah. Sebagai contoh pada gambar 2.4 terlihat bahwa adanyaredudansi data pada simpul users/alovelance yang ju-ga menyimpang daftar grup sementara pada simpul grup jugaterdapar daftar anggota. Namun redudansi ini dibutuhkan da-lam hal ini karena hubungan antara keduanya dinamis, usersdapat menghapus dan menambahkan group, begitu pula ang-gota grup dapat berubah-ubah.

Gambar 2.4: Contoh denormalisasi data pada JSON Tree

12

Page 31: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

2.4 Library Android Pendukung

Dalam pengembangan aplikasi frontend IDE (Integrated De-velopment Environment) yang digunakan adalah Android Studio.Untuk mendukung pengembangan aplikasi ini, beberapa komponentidak dimiliki oleh Android Studio. Salah satu contohnya adalahuntuk menampilkan URL menjadi gambar pada UI. Contoh lainnyaadalah untuk membuat grafik, bagan atau skema pada UI juga ti-dak secara langsung didukung oleh Android Studio. Oleh karenaitu dibutuhkan beberapa library tambahan untuk mempermudahpekerjaan tersebut.

2.4.1 Android Graph ViewAndroid Graph View adalah salah satu library untuk membuat

diagram, grafik maupun bagan dengan menggunakan program (pro-gramatically). Graph View memudahkan pengembang untuk mem-buat grafik dengan pola yang dapat disesuaikan dengan keinginanpengembang. Graph View juga memungkinkan pengembang untukmembuat grafik secara realtime yang dapat dikombinasikan denganrealtime database. Selain itu pada Graph View memungkinkan un-tuk menggabungkan beberapa informasi data dalam satu buah gra-fik sehingga memudahkan pengembang apabila ingin menampilkanbeberapa informasi sekaligus sebagai perbandingan dalam sebuahgrafik. Sama seperti library android pada umumnya untuk meng-gunakan Graph View cukup dengan menambahkan repository-nyapada dependency android seperti kode 2.2 ini atau dengan menam-bahkan file .jar pada folder libs.

compile ’com.jjoe64:graphview:4.2.1’

Kode 2.2: Menambahkan repository Graph View pada andorid

2.4.2 PicassoPicasso merupakan library yang dikembangkan dibawah lisensi

Apache yang berguna untuk menampilkan URL keadalam bentukgambar. Picasso memungkinkan loading gambar dengan menggu-

13

Page 32: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

nakan satu baris kode yang singkat. Picasso juga mengatasi ’je-bakan’ umum ketika memuat gambar pada Android, dimana dalambereapa kasus gambar terunduh secara otomatis. Picasso melakuk-an handling otomatis untuk menggagalkan pengunduhan. Picas-so juga secara otomatis mengatur memori dan disk caching untukmengunduh gambar. Selain itu Picasso juga memberikan fitur untukmengubah gambar agar sesuai dengan layout yang telah disediakanpada UI. Seperti Graph View untuk menggunakan Picasso pengem-bang harus menambahkan repository-nya pada dependency androidseperti kode 2.3 ini atau dengan menambahkan file .jar pada folderlibs.

compile ’com.squareup.picasso:picasso:2.5.2’

Kode 2.3: Menambahkan repository Picasso pada andorid

14

Page 33: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

BAB 3

DESAIN SISTEM

Penelitian ini dilaksanakan dengan desain sistem berikut de-ngan implementasinya. Desain sistem merupakan konsep dan ran-cangan sistem yang kemudian diimplementasikan dalam peneliti-an ini. Dalam hal ini adalah perancangan aplikasi berbasis desainUML, perancangan antar muka pengguna, perancangan algoritmadan perancangan basis data.

3.1 Desain Sistem

Tujuan dari penelitian ini adalah untuk meningkatkan efisiensipara peternak dalam melakukan pemantauan pertumbuhan hewanternak mereka melalui aplikasi bergerak berbasis komputasi awan.Bentuk sistem sendiri merupakan sebuah aplikasi yang dapat diak-ses oleh banyak pengguna dari berbagai tempat secara bersamaanseperti ditunjukkan pada gambar 3.1. Aplikasi klien akan dibangunberbasis Android dan dikembangkan dalam IDE Android Studio.Kemudian untuk backend sistem sebagai komputasi awan menggu-nakan platform yang dikembangkan oleh Google yakni Google Fi-rebase denga memanfaatkan API yang sudah ada.Sistem yang akandikembangkan ditunjukkan pada gambar 3.2. Terdapat tiga layeryakni pengumpulan data, server (Firebase) dan klien.

15

Page 34: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 3.1: Ilustrasi desain sistem yang dikembangkan

Gambar 3.2: Layer pengembangan sistem

3.1.1 Proses Pengumpulan DataPada penelitian kali ini pengumpulan data dilakukan secara

manual. Data yang akan dijadikan masukan untuk sistem berupaID, jenis, umur, warna kulit, berat badan, tinggi badan, lingkarbadan dan foto dari sapi. Data diambil dari pengamatan terha-

16

Page 35: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

dap hewak ternak secara langsung. Setelah diperoleh data yangdibutuhkan, data fisik ini kemudian diubah menjadi data digital de-ngan manggunakan aplikasi bergerak. Kemudian barulah data siapuntuk disimpan dalam basis data.. Dalam proses ini data yang di-ambil tidak hanya satu kali melainkan diambil secara berkala yakniuntuk melihat perkembangan hewan ternak. Data yang pertamakali diambil disebut sebagai data inisialisasi sedangkan data per-baharuan disebut sebagai data perbaruan. Pada data perbaruanparameter-parameter yang tidak berubah seperti ID dan jenis tidakakan dilakukan pemngumpulan ulang. Alur proses persiapan dataini ditunjukkan pada gambar 3.3.

Gambar 3.3: Alur proses persiapan data

3.1.2 Proses Pembacaan DataData yang telah disimpan pada basis data dapat dipanggil

kembali ketika pengguna ingin melihat data perkembangan ternakterkini maupun ketika pengguna ingin melihat laporan secara ke-seluruhan. Proses pemanggilan ini menggunakan API yang disedi-akan oleh Google Firebase. API yang dipanggil akan memberikanrespon dengan mengirimkan data yang diinginkan dalam format Ja-va Object. Untuk menampilkan objek pada aplikasi pengguna, telahdisediakan class dan adapter sebagai tempat penyimpanan sementa-ra. Hal ini dilakukan karena data yang dipanggil hanyalah sebatasproses pembacaan saja sehingga tidak disimpan pada perangkat.Proses pembacaan ini dapat dilihat pada gambar 3.4.

3.1.3 Proses PemberitahuanPada saat pengguna melakukan kegiatan pada basis data, sis-

tem akan mengirimkan tanggapan kepada pengguna berupa pembe-ritahuan. Pemberitahuan ini dikembangkan dengan menggunakanFirebase Cloud Function dengan memanfaatkan perubahan pada

17

Page 36: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 3.4: Alur proses pembacaan data

Firebase real time database sebagai pemicu. Pemberitahuan yangdikembangkan terbatas pada dua kegiatan yakni ketika penggunamenambahan ternak baru dan ketika pengguna menambahkan pem-baruan data ternak. Kedua kegiatan diatas akan menambahkandata baru pada lokasi tertentu pada basis data, ketika ini terja-di cloud function akan mendeteksi perubahan ini dan memberikanmengirimkan request kepada Firebase Cloud Messaging untuk meng-irimkan pemberitahuan kepada pengguna bahwa transaksi yang di-lakukan telah berhasil. Proses pemberitahuan ini disajikan padagambar 3.5.

Proses pembacaan ini terjadi pula ketika pengguna ingin me-lihat laporan perkembangan secara keseluruhan. Data yang telahdikumpulkan secara berkala disusun berdasarkan waktu dan dike-lompokkan sesuai jenis parameternya. Kemudian ditampilkan padaaplikasi pengguna.

3.2 Desain Aplikasi Berbasis UML

Dalam sub bab ini dijelaskan tentang desain sistem berdasark-an konsep berorientasi objek dalam beberapa diagram sebagai ber-ikut,

1. Use Case Diagram

Hubungan antara aktor dengan use case pada sistem yangdibuat disajikan pada gambar 3.6 sedangkan penjelasannya

18

Page 37: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 3.5: Alur proses pengiriman pemberitahuan

disajikan pada tabel 3.1.

Gambar 3.6: Use Case diagram

2. Activity Diagram

Activity Diagram menunjukkan bagaimana interaksi antarapengguna terhadap sistem baik front-end maupun back-end.

19

Page 38: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Tabel 3.1: Detail use case diagram

Use Case Aktor KeteranganMasuk peternak, basi-

sdataInteraksi antara peternakdan basisdata ketika mela-kukan proses login

Registrasi peternak, basi-sdata

Interaksi antara peternakdan basisdata ketika mela-kukan proses registrasi

Unggah ternakbaru

peternak, basi-sdata

Interaksi ketika peternakmelakukan proses pe-ngunggahan data ternakbaru

Perbarui dataternak

peternak, basi-sdata

Interaksi peternak dan ba-sisdata saat proses perba-ruan data ternak

Hapus data ter-nak

peternak, basi-sdata

Interaksi peternak meng-hapus data ternak dari ba-sisdata

Detail ternak peternak, basi-sdata

Interaksi ketika peternakmembaca informasi detailternak dari basisdata

Laporan per-kembangan

peternak, basi-sdata

Interaksi ketika peternakmembaca laporan ternakdari basisdata

Mengubah profilpengguna

peternak, basi-sdata

Interaksi ketika peternakmemperbarui data padaprofilnya

Panggilan dok-ter hewan

peternak, ba-sisdata, dokterhewan

Interaksi ketika peternakingin melakukan panggil-an kepada dokter hewan

SMS dokter he-wan

peternak, ba-sisdata, dokterhewan

Interaksi ketika peternakingin mengirimkan SMSkepada dokter hewan

Notifikasi peternak,basisdata,cloud function

Notifikasi dikirim secaraotomatis dipicu oleh pe-ternak yang melakukanperubahan pada basisdata

20

Page 39: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Diagram ini akan memperlihatkan tentang alur aktivitas peng-guna mulai dari pertama kali menggunakan aplikasi hinggakeluar dari aplikasi serta respon yang diberikan oleh setiapbagian sistem kepada pengguna.

(a) Activity Diagram saat pengguna pertama kali menggu-nakan aplikasi ditunjukkan pada gambar 3.7. Aktivi-tas yang dilakukan pengguna pertama kali menggunakanaplikasi termasuk diantaranya adalah aktivitas login danregistrasi.

(b) Activity Diagram pada gambar 3.8 menunjukkan akti-vitas yang pengguna dapat lakukan ketika berada padamenu utama setelah terautentifikasi. Aktivitas yang da-pat dilakukan pada tampilan ini adalah melihat daftarternak, mengunggah ternak baru dan melihat detail da-ta ternak.

(c) Activity Diagram pada gambar 3.9 menunjukkan alur ke-tika pengguna ingin penambahkan perbaruan data ter-nak, menghapus data ternak dan melihat laporan dataternak.

Gambar 3.7: Activity diagram untuk proses login dan registrasi

3.3 Desain Antarmuka Aplikasi

Pada bagian ini dijelaskan tentang desain antarmuka aplika-si yang dikembangkan. Sedikirnya ada sembilan desain antarmuka

21

Page 40: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 3.8: Activity diagram untuk aktivitas Unggah ternak baru, melihatdetail data ternak dan melihat daftar ternak

untuk aplikasi ini sebagai berikut,

1. Tampilan Login

Tampilan Login merupakan tampilan yang digunakan untukmelakukan autentifikasi pengguna. Pada saat pertama kalipenggunaan tampilan ini adalah tampilan yang pertama kalimuncul. Namun setelah pengguna melakukan registrasi danselama tidak melakukan logout pengguna akan langsung di-bawa ke tampilan menu utama. Rancangan antarmuka iniditunjukkan pada gambar 3.10a.

2. Tampilan Register

Tampilan Register merupakan tampilan yang digunakan un-tuk melakukan registrasi pengguna baru. Sehingga penggunadapat menggunakan fitur pada aplikasi ini. Pada tampilanini pengguna diminta untuk memasukkan beberapa data un-tuk registrasi seperti nama, email dan kata sandi. Rancanganantarmuka ini ditunjukkan pada gambar 3.10b.

3. Tampilan Menu Utama-Ternak

22

Page 41: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 3.9: Activity diagram untuk aktivitas update data ternak, hapusdata ternak dan melihat laporan ternak

Ketika pengguna telah sukses melakukan registrasi penggunaakan dibawa ke tampilan ini. Tampilan ini menunjukkan daf-tar ternak yang dimiliki oleh pengguna. Dalam tampilan inipengguna dapat melakukan penambahan ternak baru mela-lui float action button yang disediakan. Pengguna juga dapatmelihat detail ternak yang dengan memilih salah satu daftar.Rancangan antarmuka ini ditunjukkan pada gambar 3.11a.

4. Tampilan Menu Utama-Dokter Hewan

Dengan melakukan swipe pada menu utama pengguna dapatberpindah dari Menu Ternak ke Menu Dokter Hewan. Padamenu ini disajikan daftar dokter hewan yang dapat dihubu-ngi oleh pengguna dalam keadaan tertentu. Pengguna dapatmelakukan panggilan langsung maupun mengirimkan pesan

23

Page 42: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

(a) (b)

Gambar 3.10: Tampilan (a) Login dan (b) Register

(a) (b) (c)

Gambar 3.11: Tampilan (a) daftar ternak, (b) daftar dokter hewan dan (c)profil pengguna

24

Page 43: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

(a) (b)

Gambar 3.12: Tampilan untuk (a) ternak baru dan (b) detail ternak

singkat kepada dokter hewan yang ada melalui menu ini. Ran-cangan antarmuka ini ditunjukkan pada gambar 3.11b.

5. Tampilan Menu Utama-Profil

Bagian Menu utama yang ketiga adalah Menu Profil. Tampil-an ini menunjukkan data profil pengguna seperti foto, nama,nomer hp, email dan jumlah ternak yang dimiliki. Penggu-na juga dapat melakukan perubahan profil melalui menu ini.Rancangan antarmuka ini ditunjukkan pada gambar 3.11c.

6. Tampilan Ternak Baru

Tampilan Ternak Baru akan muncul dengan dipicu oleh flo-atting action button yang ada pada Tampilan Menu Utama.Tampilan ini berisi formulir untuk menambahkan informasiternak baru pada basis data pengguna. Rancangan antarmu-ka ini ditunjukkan pada gambar 3.12a.

7. Tampilan Perbarui Ternak

Tampilan Perbarui Ternak memiliki desain yang mirip dengantampilan Ternak Baru. Tampilan ini berisi formulir yang un-tuk menambahkan perbaharuan informasi ternak tertentu.

25

Page 44: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 3.13: Tampilan Laporan Ternak

8. Tampilan Detail Ternak

Tampilan Detail Ternak adalah tampilan untuk menunjukkandetail informasi tentang ternak tertentu. Tampilan ini akanmuncul ketika pengguna memilih salah satu daftar ternak pa-da Menu Utama-Ternak. Informasi yang disajikan pada tam-pilan ini merupakan informasi mutakhir yang diunggah olehpengguna. Pada tampilan ini terdapat dua tombol navigasiuntuk berpindah ke tampilan perbarui ternak dan tampilanlaporan ternak. Rancangan antarmuka ini ditunjukkan padagambar 3.12b.

9. Tampilan Laporan Ternak

Tampilan Laporan Ternak berisi seluruh rangkuman informa-si tentang ternak tertentu. Informasi ternak secara umumseperti usia, durasi pengembangan, warna kulit dan jenis ter-nak. Selain itu informasi seperti berat badan, tinggi badandan lingkar badan disajikan dalam berntuk grafik agar mu-dah dipahami. Sebagai tambahan terdapat pula hasil kalkula-si rata-rata pertumbuhan, pertumbuhan maksimal dan mini-mal untuk mempermudah pengguna dalam melakukan analisapertumbuhan ternak. Terdapat pula informasi ternak secaraumum seperti usia, durasi pengembangan, warna kulit dan je-nis ternak. Rancangan antarmuka ini ditunjukkan pada gam-

26

Page 45: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

(a)

(b)

(c)

Gambar 3.14: Struktur objek (a) Cattle, (b) User dan (c) veterinary

bar 3.13.

3.4 Desain Basis DataPada bagian ini dijelaskan tentang desain basis data yang di-

gunakan. Struktur basis data yang digunakan adalah basis dataNoSQL dengan sturktur JSON Tree. Bentuk JSON Tree berbedadengan struktur tabel dimana skema relasi dihubungkan melalui fo-reign key, pada JSON Tree untuk menunjukkan relasi antar objekdapat berupa simpul anak dan dapat berupa denormalisasi data.

3.4.1 Klasifikasi Data ObjekData yang digunakan dalam penelitian ini dibagi menjadi tiga

objek utama yakni objek ternak atau cattle, objek pengguna atauuser, objek dokter hewan atau veterinary.

1. Objek Cattle

Data ternak berisi informasi yang dibutuhkan untuk pengem-bangan ternak. Struktur objek ini disajikan seperti pada gam-bar 3.14a. Data ini dibagi menjadi dua yakni data inisialisasi

27

Page 46: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Tabel 3.2: Struktur Objek Cattle/init-data

Nama Field Tipe Data Keteranganid string ID Hewanuid string User ID pemilik hewanage long Usia hewancolor string Warna kulit hewancircumstance long Lingkar badan hewanweight long Berat badan hewanheight long Tinggi badan hewanspesies string Jenis hewantimestamp long Tanggal unggahan dataday count long Durasi hewan digemukkanimageURL string URL lokasi foto hewan di-

simpan pada storageupdate count long Jumlah perbaruan data

dan data perbaruan. Dalam inisialisasi memuat informasi ke-seluruhan informasi ternak ketika pertama kali dimasukkankedalam sistem.

Data ini meliputi ID, jenis sapi, usia, tanggal masuk, warnakulit, berat badan, tinggi badan dan lingkar badan serta fo-to. Sedangkan data perbaruan adalah informasi yang diamatiselama penggemukan yakni warna kulit, berat badan, tinggibadan, lingkar badan dan foto. Detail informasi yang disimp-an dapat dilihat pada tabel 3.2 dan 3.3.

2. Objek User

Data pengguna disimpan dalam objek ini. Informasi yang di-simpan adalah nama, alamat email, nomer telepon, fotoURL,nama peternakan dan uid. Struktur objek ini disajikan sepertipada gambar 3.14b dan lebih detail dijelaskan pada tabel 3.4.

3. Objek Veterinary

Data dokter hewan yang disimpan meliputi nama, nomer tele-pon, alamat dan fotoURL. Struktur objek ini disajikan sepertipada gambar 3.14c dan lebih detail dijelaskan pada tabel 3.5.

28

Page 47: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Tabel 3.3: Struktur Objek Cattle/update-data-i

Nama Field Tipe Data Keteranganid string ID Hewanage long Usia hewancolor string Warna kulit hewancircumstance long Lingkar badan hewanweight long Berat badan hewanheight long Tinggi badan hewantimestamp long Tanggal unggahan dataimageURL string URL foto hewan disimpan

pada storage

Tabel 3.4: Struktur Objek User

Nama Field Tipe Data Keteranganuid string ID penggunausername string Nama penggunaemail string Alamat email penggunaphone string Nomor telepon penggunafarm string Nama peternakan penggu-

naprofilepict string URL foto profil pengguna

disimpan pada storage

Tabel 3.5: Struktur Objek Veterinary

Nama Field Tipe Data Keteranganusername string Nama dokter hewanemail string Alamat email dokter hew-

anphone string Nomor telepon dokter he-

wanaddress string Alamat dokter hewanprofilepict string URL foto profil pengguna

disimpan pada storage

29

Page 48: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 3.15: Struktur objek user-cattles

3.4.2 Relasi Antar ObjekSeperti telah disinggung diawal bab, untuk menunjukkan re-

lasi antar objek pada struktur JSON Tree terkadang dibutuhkandenormalisasi data. Hal ini juga dilakukan pada penelitian kali ini.Relasi antara objek Cattle dengan User dibuat dengan membuatsebuah objek baru yakni user-cattles. Objek ini berisi informasihewan ternak yang dimiliki oleh setiap pengguna. Objek ini jugabermanfaat untuk mempermudah query data untuk menampilkandaftar hewan ternak yang dimiliki oleh pengguna tanpa haru mela-kukan pencarian kedalam objek Cattle. Sebenarnya data terpentinguntuk dimasukkan dalam objek ini hanyalah uid dan id cattle saja.Namun untuk kebutuhan lain seperti pada tampilan daftar ternakyang membutuhkan informasi preview pada listview sehingga be-berapa informasi ditambahkan dalam objek ini. Struktur objek inidapat dilihat pada gambar 3.15.

30

Page 49: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

BAB 4

IMPLEMENTASI SISTEM DAN HASIL

4.1 Implementasi Sistem

Pada bagian ini dibahas tentang implementasi desain sistemberdasarkan proses kerjanya.

4.1.1 Pengumpulan Data

Proses pengumpulan data melalui beberapa tahapan sebelumdapat disajikan kepada pengguna, yaitu,

1. Pengumpulan data

Data pengembangan ternak didapatkan dari peternakan CV.Wahyu Utama di Tuban. Data tersebut adalah data dari 10hewan ternak yang sedang melalui tahap penggemukan padapeternakan tersebut. Data yang didapatkan berupa foto, usia,warna kulit dan berat badan.

2. Pra-pemrosesan data

Setelah data dikumpulkan, dilakukan proses pengubahan datadari bentuk fisik menjadi bentuk digital melalui aplikasi.

3. Pengunggahan data ke basis data

Data digital dalam aplikasi telah siap untuk diunggah dalambasis data Firebase.

4.1.2 Pembacaan Data

Dalam Firebase pembacaan data dilakukan melalui request me-lalui Firebase API yang telah tersedia. Selanjutnya Firebase akanmemberikan respon berupa JSON objek sesuai dengan lokasi yangingin dibaca. Untuk mengambil data JSON dibutuhkan sebuahclass sebagai inang untuk menguraikan JSON menjadi java objek.Class haruslah memiliki dua komponen utama yakni atribut danconstructor kosong. Selain itu kedua komponen tersebut dapat di-tambahkan dengan constructor atau method lainnya.

31

Page 50: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

4.1.3 Pemberitahuan

Proses pemberitahuan dilakukan dengan menggunakan fireba-se cloud function. Pemberitahuan akan dikirimkan kepada peng-guna ketika terdapat pemicu dari pengguna pada real time databa-se. Ketika pengguna menambahan data ternak baru maupun ketikapengguna menambahkan perbaruan data ternak baru, firebase cloudfunction akan mendeteksi perubahan tersebut sebagai pemicu, se-hingga firebase cloud messaging mengirimkan pesan pemberitahuankepada subscriber data dalam hal ini adalah pengguna. Proses inidapat dilihat pada gambar . Algoritma proses pengiriman pembe-ritahuan ini disajikan pada kode 1.

Kode 1: Pemberitahuan1: function sendNotifikasiTernakBaru(dBref.onWrite) .

dBref = path data ternak tersimpan2: pengguna = get ID pengguna3: payload = inisialisasi pesan4: if data == ada then

returnend

5: kirimPesan(pengguna, payload)6: if sukses then

print ”Pesan berhasil dikirim”end

7: elseprint ”Terjadi kesalahan” + kode errorend

8: end function

4.2 Hasil

Pada bagian ini dijelaskan mengenai hasil yang didapat dalampengerjaan tugas akhir ini.

4.2.1 Hasil Antarmuka Aplikasi

Berikut merupakan hasil tampilan antarmuka aplikasi yang te-lah dibuat.

32

Page 51: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

(a)

(b)

Gambar 4.1: Tampilan (a) Login dan (b) Register

1. Tampilan Antarmuka Login dan Register

Halaman Login tampak seperti pada gambar 4.1a. Halamanini akan muncul apabila pengguna tidak dalam kondisi loginke aplikasi. Namun apabila pengguna telah melakukan proseslogin dan belum melakukan proses logout dari aplikasi peng-guna akan dibawa langsung menuju halaman utama. Pada ha-laman ini terdapat logo aplikasi, kolom edit text email, kolomedit text kata sandi, sebuah tombol login dan sebuah tombolregister.

Halaman Register adalah halaman untuk pengguna melakuk-an registrasi apabila pengguna belum memiliki akun. Halam-an ini dapat diakses dengan menekan tulisan yang berada di-bawah tombol ”Login” pada halaman Login. Pada halam-an Register pengguna diwajibkan untuk mengisi semua kolomyang kosong. Pada kolom kata sandi pengguna diharuskanmengisi kata sandi dengan ketentuan minimal enam karakter.Halaman Register tampak seperti tampak pada gambar 4.1b.

2. Tampilan Antarmuka Utama

Halaman utama aplikasi ini terdiri dari tiga fragment yak-ni fragment ternak, fragment veteriner dan fragment pro-

33

Page 52: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

(a) (b) (c)

Gambar 4.2: Tampilan (a) Fragment Ternak, (b) Fragment Veteriner dan (c)Fragment Profil

fil.Fragment ternak dapat dilihat pada gambar 4.2a, fragmentini menampilkan daftar ternak yang dikelola oleh pengguna.Pada daftar ternak terdapat informasi ternak yang terbaru se-perti gambar terakhir, berat badan terakhir, jenis ternak, IDternak dan tanggal terakhir ternak diperbaharui.

Fragment Veteriner merupakan halaman yang berisi daftardokter hewan yang dapat dihubungi oleh pengguna. Daftar inimemuat beberapa informasi singkat tentang dokter hewan se-perti nama, alamat, nomer telpon dan foto. Pada halaman inipengguna dapat menghubungi dokter hewan secara langsungmelalui dua tombol yang tersemat pada setiap daftar yak-ni tombol call dan message untuk melakukan panggilan danmengirim pesan. Halaman ini disajikan pada gambar 4.2b.

Fragment Profil berisi informasi tentang pengguna. Pada ha-laman ini pengguna dapat melakukan perubahan atau meleng-kapi data dirinya seperti foto, nama, nama peternakan yangdikelola, nomor telpon, alamat email dan jumlah ternak. Jum-lah ternak pada halaman ini secara otomatis akan mengikutijumlah ternak yang dikelola pengguna. Halaman dapat dilihatpada gambar 4.2c.

34

Page 53: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 4.3: Tampilan antarmuka Tambah Ternak

3. Tampilan Antarmuka Tambah Ternak

Halaman tambah ternak akan muncul ketika pengguna me-nekan floating action button tambah yang ada pada HalamanUtama Ternak. Pada halaman ini berisi formulir untuk me-nambahkan ternak baru. Formulir tersebut berisi field tam-bah gambar, edit text Id ternak, spesies ternak, berat badanternak, tinggi badan ternak, lingkar badan ternak, warna ku-lit dan umur ternak. Selain field-field tersebut terdapat jugatombol ”Add New” yang berfungsi untuk mengirimkan ke ba-sis data. Tampilan halaman ini dapat dilihat pada gambar4.3. Ketika pengguna menekan tombol ”Add New” dan databerhasil tersimpan pada basis data. Pengguna akan dibawakembali pada tampilan detail ternak dengan data yang telahdiperbaharui. Namun apabila data gagal tersimpan di basisdata, pengguna akan mendapatkan Toast berisi pesan gagalmenyimpan data.

4. Tampilan Antarmuka Detail Ternak

Halaman Detail Ternak adalah halaman yang memuat infor-masi detail tentang ternak. Halaman ini muncul ketika peng-guna memilih salah satu ternak pada halaman utama. Ha-laman Detail Ternak dapat dilihat pada gambar 4.4. Padahalaman ini terdapat dua tombol navigasi untuk menuju ke

35

Page 54: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 4.4: Tampilan antarmuka Detail Ternak

Gambar 4.5: Tampilan antarmuka Perbaharuan Ternak

halaman perbaharuan ternak dan halaman laporan ternak.

5. Tampilan Antarmuka Perbaharuan Ternak

Halaman Perbaharuan Ternak adalah halaman yang digunak-an untuk menambahkan data terbaru suatu ternak. Pada ha-laman ini ditampilkan formulir untuk memasukkan data ter-nak seperti gambar atau foto, berat badan, tinggi badan, ling-kar badan dan warna kulit. Halaman ini dapat dilihat padagambar 4.5

36

Page 55: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 4.6: Tampilan Laporan Ternak

Gambar 4.7: Tampilan pemberitahuan pembaharuan ternak

6. Tampilan Antarmuka Laporan Ternak

Halaman Laporan ternak adalah halaman yang menunjukkanlaporan data ternak selama proses penggemukan. Data-datayang telah ditambahkan sebelumnya dikumpulkan dan dike-lompokkan berdasarkan kategori dan kemudian disusun dalamgrafik. Pada grafik juga dilengkapi dengan beberapa data tam-bahan seperti rata-rata pertumbuhan harian, pertumbuhantertinggi dan pertumbuhan terendah. halam ini ditampilkanpada gambar 4.6.

4.2.2 Hasil Pemberitahuan

Pada tugas akhir ini pemberitahuan akan dikirim kepada peng-guna dengan dua kondisi. Kondisi pertama adalah ketika penggunamenambahkan ternak baru dan tersimpan di basis data. Pembe-ritahuan ini berisi tentang informasi bahwa ternak telah berhasildisimpan pada basis data.

Kondisi kedua adalah ketika pengguna menambahkan datapembaharuan ternak. Pemberitahuan ini berisi tentang informasipembaharuan ternak. Apabila berat badan ternak meningkat dari

37

Page 56: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

data sebelumnya maka pesan pemberitahuan akan memberikan in-formasi pertumbuhan yang positif. Sebaliknya pemberitahuan akanberisi informasi pertumbuhan negatif apabila berat bada ternak le-bih rendah dari data sebelumnya. Hasil pemberitahuan ini dapatdilihat pada gambar 4.7

38

Page 57: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

BAB 5

PENGUJIAN DAN ANALISA

Pada Bab ini akan dijelaskan tentang pengujian dan analisaaplikasi Ternak Management yang dikembangkan. Pengujian dila-kukan untuk memastikan aplikasi layak untuk digunakan pada ke-hidupan nyata sesuai dengan fungsinya.

5.1 Metode PengujianBeberapa metode pengujian disiapkan untuk menguji kemam-

puan aplikasi yang dikembangkan, baik dari segi performa aplikasiketika digunakan pada telepon pintar maupun dari segi komunika-si data dengan server. Metode pengujian tersebut adalah sebagaiberikut,

1. User Acceptance Test (UAT)

User Acceptance Test (UAT) merupakan metode pengujianakhir terhadapt suatu program, aplikasi atau perangkat lu-nak. Pengujian ini dilakukan untuk memastikan agar perang-kat lunak yang dikembangkan mampu menangani tugas yangdibutuhkan pada skenario di kehidupan nyata sesuai spesifi-kasinya. Metode ini pada umumnya adalah pengujian tahapakhir yang dilakukan sebelum sebuat perangkat lunak dilun-curkan ke pasar atau digunakan oleh pengguna.

2. Waktu Eksekusi

Metode waktu eksekusi adalah pengujian untuk mengetahuidan membandingkan kecepatan eksekusi perangkat lunak yangdikembangkan. Dari pengujian ini akan dapat dilihat efisiensidari aplikasi saat digunakan di dunia nyata. Metode ini dibagimenjadi dua sub pengujian yaitu,

(a) Waktu Eksekusi Unggah dan Unduh Data

Bagian ini akan menguji waktu unggah dan unduh datadari aplikasi kepada server dan sebaliknya. Pengujianini dilakukan dengan mengambil sample data sebanyakdua puluh kali pada jaringan 3G dan 4G. Pengujian ini

39

Page 58: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

dilakukan untuk mengetahui tingkat efisiensi komunikasidata pada aplikasi pada jaringan yang berbeda.

(b) Waktu Eksekusi Secara Bersamaan

Bagian ini akan menguji waktu eksekusi aplikasi padabeberapa perangkat secara bersamaan. Pengujian ini di-lakukan untuk mengetahui efektifitas dan efisiensi basisdata apabila diakses secara bersamaan.

5.2 User Acceptance Test (UAT)

Pengujian menggunakan UAT bertujuan untuk mengetahuibahwa aplikasi yang dikembangkan berfungsi sesuai dengan spesifi-kasi yang dibutuhkan pada kehidupan nyata. UAT berisi daftar ujicoba yang diturunkan pada beberapa skenario pengujian. Skenario-skenario pengujian kemudian dibandingkan dengan luaran yang di-inginkan oleh pengembang.

Hasil pengujian yang diperolah adalah sebagai berikut,

1. Antar muka Login

Pada antar muka login, bagian yang diuji adalah kolom ma-sukan untuk username dan password. Skenario pengujian di-bagi menjadi dua yakni skenario berhasil dan skenario gagal.Keluaran yang diinginkan pada skenario berhasil adalah peng-guna akan memasuki antar muka menu utama. Sedangkanskenario gagal memiliki keluaran notifikasi adanya kesalahanusername atau password. Hasil yang didapatkan dari kedua-nya adalan sesuai dengan keluaran yang diharapkan.

2. Antar muka Register

Pada antar muka Register, bagian yang diuji adalah prosespembuatan akun dan batas minimal password. Skenario pe-ngujian yang dilakukan untuk proses pembuatan akun adalahdengan melengkapi semua kolom masukan yang ada pada an-tar muka. Keluaran yang diinginkan adalah pengguna akandibawa ke antar muka menu utama. Skenario pengujian bataspassword adalah dengan memasukkan password dengan ukur-an karakter kurang dari enam. Keluaran yang diinginkan dariskenario ini adalah munculnya notifikasi bahwa password yang

40

Page 59: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

dimasukkan harus lebih dari dan atau sama dengan enam ka-rakter.

3. Antar muka Menu Utama-Daftar Ternak

Pada antar muka ini, bagian yang diuji adalah proses mema-sukkan data pada formulir ternak baru. Skenario pengujianyang dilakukan yakni skenario berhasil dengan mengisi seluruhkolom dan skenario gagal dengan mengosongi sebagian kolom.Luaran yang diingikan pada skenario sukses adalah data ak-an muncul pada antar muka daftar ternak, sedangkan untukskenario gagal adalah muncul notifikasi terjadinya kesalahan.

4. Antar muka Menu Utama - Daftar Dokter Hewan

Pada antar muka ini, bagian yang diuji adalah fitur untuk me-lakukan kontak kepada dokter hewan melalui aplikasi. Ske-nario pengujian yang dilakukan yakni melakukan panggilandengan tombol call dan . Keluaran yang diinginkan adalahpengguna masuk ke antar muka panggilan dengan nomor te-lepon dokter hewan telah tertera. Skenario selanjutnya adalahmengirimkan pesan singkat dengan tombol message pada itemdokter hewan. Keluaran dari skenario ini adalah pengguna ak-an masuk ke antar muka perpesanan dengan nomor telepondokter hewan telah tertera.

5. Antar muka Menu Utama - Profil Pengguna

Pada antar muka ini, bagian yang diuji adalah penerimaandata profil pengguna dari server dan ditampilkan pada antarmuka pengguna. Skenario pengujian dibagi menjadi skenarioberhasil yakni dengan melakukan perubahan data penggunadan skenario gagal yakni ketika data tidak berhasil tersimpanpada server. Keluaran yang diinginkan pada skenario berhasiladalah terlihat perubahan data pada profil pengguna. Semen-tara keluaran yang diinginkan ketika skenario gagal adalahmuncul notifikasi terjadi kesalahan berupa Toast pada antarmuka pengguna.

6. Antar muka Detail Ternak

41

Page 60: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Pada antar muka detail ternak, bagian yang diujikan adalahantar muka dapat menampilkan data terbaru ternak. Skena-rio yang dilakukan adalah pengguna memilih salah satu ter-nak pada antar muka daftar ternak. Keluaran yang diinginkanadalah munculnya semua data terbaru ternak pada antar mu-ka pengguna.

7. Antar muka Laporan Tenak

Pada antar muka laporan ternak, bagian yang diujikan ada-lah menampilkan akumulasi data laporan ternak berupa da-ta detail, grafik dan analisis grafik (minimal, maksimal danrata-rata) perkembangan ternak. Skenario pengujiannya yak-ni pengguna menekan tombol report pada antar muka De-tail Ternak yang memunculkan antar muka Laporan Ternak.Keluaran yang diinginkan adalah semua data laporan ternakberhasil ditampilkan pada tempatnya seperti foto - foto, datadetail dan data grafik serta hasil analisa grafik.

8. Fitur Logout

Fitur logout akan memunculkan antar muka Login ketika dija-lankan. Skenario pengujian yang dilakukan adalah penggunamelakukan proses Logout dengan menekan tombol Logout. Ke-luaran yang diinginkan adalah pengguna akan dibawa kembalipada antar muka Login.

Hasil pengujian dapat dilihat pada tabel 5.1. Dari tabel 5.1dapat dilihat bahwa setiap skenario pengujian menghasilkan hasilyang sesuai seperti yang diinginkan.

42

Page 61: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Tabel 5.1: Hasil User Acceptance Test (UAT)

No Antar Muka Uji Coba Skenario Pengujian Hasil yang diharapkan Hasil Pengujian1 Menu Login Input username

dan passwordMemasukkan user-name dan passwordkemudian menekantombol login

Dapat masuk kedalammainmenu apabila user-name dan passwordbenar.

Berhasil

2 Memasukkan user-name dan passwordyang salah kemudi-an menekan tombollogin

Muncul notifikasi apabi-la username dan passwordsalah.

Berhasil

3 Menu Registrasi Proses Pembu-atan akun peng-guna

Memasukkan datayang dibutuhkan

Dapat masuk kedalammainmenu

Berhasil

4 Password mi-nimal yangdibutuhkanadalah enamkarakter

Memasukkan pass-word kurang darienam karakter

Muncul notifikasi terjadikesalahan

Berhasil

5 Menu Utama -Daftar Ternak

Menambahkandata ternakbaru

Mengisi seluruh da-ta yang dibutuhkanpada formulir

Data akan muncul pa-da halaman daftar ternakapabila seluruh daftar ter-isi

Berhasil

6 Mengosongi sebagi-an kolom pada for-mulir

Muncul notifikasi terjadikesalahan

Berhasil

7 Menu Utama -Daftar DokterHewan

Dapat menghu-bungi kontakdokter hewanyang ada

Melakukan pang-gilan menggunakantombol panggil

Ketika tombol ditekan,halaman panggilan akanmuncul berikut nomor te-lpon dokter hewan sudahterisi

Berhasil

8 Mengirim pesansingkat meng-gunakan tombolpesan

Ketika tombol ditekan,halaman SMS akan mun-cul berikut nomor telpondokter hewan sudah terisi

Berhasil

9 Menu Utama -Profil Pengguna

Menerima datadetail penggunadan ditampilk-an pada halam-an Profil Peng-guna

Melakukan peru-bahan data profildengan tombol edit

Profil pengguna bergantisesuai dengan data terba-ru dari pengguna

Berhasil

10 Muncul notifikasi terjadikesalahan ketika gagal me-lakukan edit profil

Berhasil

11 Menu DetailTernak

Menampilkandata ternakterbaru padahalaman detailternak

Pengguna memilihsalah satu ternakpada daftar ternakdan memunculkanhalaman detail ter-nak yang berisi da-ta ternak

Data detail ternak terba-ru muncul pada halamandetail ternak

Berhasil

12 Menu LaporanTernak

Menampilkandata akumulasilaporan ternakberupa datadetail dan grafikserta analisa da-ta nilai minimal,nilai tertinggidan rata-rataperkembanganternak

Pengguna menekantombol Reportdan memunculkanhalaman LaporanTernak

Data laporan ternakberhasil ditampilkan padahalaman Laporan Ternakyakni foto-foto ternak,grafik perkembanganternak dan analisanya

Berhasil

13 Menu Logout Muncul halam-an login setelahpengguna me-nekan menulogout

Pengguna menekantombol logout

Muncul halaman login se-telah pengguna menekanmenu logout

Berhasil

43

Page 62: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

5.3 Waktu Eksekusi

Waktu eksekusi adalah waktu yang diperlukan untuk menyele-saikan sebuah perintah atau aktifitas. Pengujian ini dibagi menjadidua bagian. Bagian pertama adalah pengujian aplikasi terhadapjaringan. Bagian kedua adalah pengujian aplikasi terhadap teleponpintar.

5.3.1 Waktu Eksekusi Unggah dan Unduh Data

Pengujian ini lebih menekankan pada waktu yang dibutuhkanaplikasi untuk melakukan unggah dan unduh data dari server. pe-ngujian dilakukan pada tiga jaringan yang berbeda yakni 3G dan4G. Hal ini dilakukan untuk mengetahui efektifitas aplikasi jika digu-nakan pada jaringan yang berbeda. Pengujian dilakukan sebanyakdua puluh kali percobaan pada setiap jaringan untuk mendapatkandata yang bervariasi. Pengujian untuk kategori ini sendiri terdapatbeberapa sub uji yakni waktu eksekusi upload data, waktu eksekusiauthentication pengguna dan waktu eksekusi pengunduhan data.

Waktu eksekusi upload data dilakukan pada saat penggunamengunggah data detail ternak yang disertai file berupa foto dandata ternak lain. Hasil pengujian ini dapat dilihat pada tabel 5.2.Pada tabel 5.2 didapatkan rata-rata hasil pengujian pada jaringan4G adalah 645 milidetik. Sedangkan pada jaringan 3G rata-ratahasil pengujian adalah 1363,25 milidetik. Grafik pengujian ini dapatdilihat pada grafik 5.1.

Waktu eksekusi authentication pengguna adalah waktu yangdibutuhkan aplikasi untuk melakukan proses pengenalan terhadappengguna ketika login kedalam aplikasi. Hasil pengujian ini dapatdilihat pada grafik 5.2. Pada grafik 5.2 didapatkan rata-rata hasilpengujian pada jaringan 4G adalah 78.5 milidetik. Sedangkan padajaringan 3G rata-rata hasil pengujian adalah 78.75 milidetik. Se-dangkan pada jaringan Edge rata-rata hasil pengujian adalah 101milidetik. Dari pengujian ini terlihat waktu eksekusi untuk pro-ses authentication pengguna pada ketiga jaringan tidak memilikiperbedaan waktu yang signifikan, terutama pada jaringan 3G dan4G yang relatif sama, sedangkan pada jaringan Edge sedikit lebihlambat.

Waktu ekseskusi pengunduhan data pada pengujian kali ini

44

Page 63: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Tabel 5.2: Hasil pengujian waktu eksekusi unggah data

NoWaktu (ms)

3G 4G Edge1 1209 1099 41852 1135 795 56783 1219 659 65794 1243 632 43905 1424 777 57886 1189 693 44807 1197 754 42308 1905 693 43799 2763 681 578010 2022 629 357511 1374 925 683412 1248 465 973813 1298 539 457914 1094 455 438515 1126 565 512316 1019 480 463817 1186 547 415618 1168 593 467819 1278 542 423820 1168 557 6178

Rata-rata 1363.25 654 5180.55

Gambar 5.1: Grafik hasil pengujian waktu eksekusi unggah data

45

Page 64: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Tabel 5.3: Tabel hasil pengujian waktu eksekusi authentication data

NoWaktu (ms)

3G 4G Edge1 92 119 1822 75 80 803 80 74 584 84 70 605 73 82 786 76 77 677 84 78 788 62 78 1029 75 73 6710 77 74 5711 66 77 7512 74 88 6713 86 65 7514 78 74 8815 78 84 13216 78 79 34617 105 79 13918 75 71 8619 79 71 9020 78 77 93

Rata-rata 78.75 78.5 101

Gambar 5.2: Grafik hasil pengujian waktu eksekusi authentication pengguna

46

Page 65: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Tabel 5.4: Tabel hasil pengujian waktu eksekusi unduh data

NoWaktu (ms)

3G 4G Edge1 4033 3427 140832 725 1977 34413 492 449 36754 808 510 41415 781 461 84346 848 447 32757 868 451 45638 520 439 94369 514 459 507610 694 442 334911 660 430 279712 929 433 1481013 951 470 281814 774 564 307615 801 458 1608116 993 513 304217 989 502 369418 768 457 439419 1037 458 353420 745 477 2901

Rata-rata 946.5 691.2 5831

adalah waktu yang dibutuhkan aplikasi untuk memuat daftar da-ta ternak pada antar muka utama. Hasil pengujian dapat dilihatpada grafik 5.3. Dari pengujian yang dilakukan didapatkan rata-rata hasil pengujian pada jaringan 4G adalah 691.2 milidetik. Se-dangkan pada jaringan 3G rata-rata hasil pengujian adalah 946.5milidetik. Sedangkan pada jaringan Edge rata-rata hasil penguji-an adalah 5831 milidetik. Dari pengujian ini dapat dilihat bahwawaktu eksekusi untuk proses pengunduhan data 4G adalah yang ter-cepat disusul dengan jaringan 3G yang tidak terlalu jauh berbedasedangkan pada jaringan Edge sangat jauh berbeda.

5.3.2 Waktu Eksekusi Secara Bersamaan

Bagian pengujian ini lebih menekankan pada waktu yang di-butuhkan server untuk diakses dari beberapa perangkat secara ber-

47

Page 66: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Gambar 5.3: Grafik hasil pengujian waktu eksekusi pengunduhan data

samaan. Pengujian ini dilakukan dengan menjalankan aplikasi padasepuluh telepon pintar yang berbeda. Pengujian dilakukan untukproses authentication pengguna dan mengunduh data.

Pada Tabel 5.5 ditunjukkan hasil pengujian eksekusi secarabersamaan pada proses aunthentication pengguna. Dari pengujiantersebut didapatkan rata-rata waktu tercepat adalah 62.1 milidetiksedangkan rata-rata waktu eksekusi terlama adalah 222.15 milide-tik. Dari keseluruhan percobaan ini juga didapatkan bahwa waktueksekusi secaara bersamaan untuk proses authentication penggunakurang dari satu detik dan tergolong cepat meskipun diakses secarabersamaan. Grafik hasil pengujian dapat dilihat pada grafik 5.4

Pada Tabel 5.6 ditunjukkan hasil pengujian eksekusi secarabersamaan pada proses mengunduh data daftar ternak. Dari pengu-jian tersebut didapatkan rata-rata waktu tercepat adalah 534.9 mi-lidetik sedangkan rata-rata waktu eksekusi terlama adalah 2073.75milidetik. Hal ini menunjukkan bahwa proses mengunduh data daf-tar ternak tergolong cepat ketika diakses secara bersamaan. Grafikhasil pengujian dapat dilihat pada grafik 5.5

48

Page 67: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Tabel 5.5: Hasil pengujian waktu eksekusi authentication data secara bersa-maan

NoWaktu Eksekusi pada Perangkat (milidetik)

1 2 3 4 5 6 7 8 9 101 102 80 143 134 131 217 113 479 165 1422 70 87 57 46 79 262 35 72 209 663 80 78 51 112 75 139 211 437 98 584 68 76 55 54 89 134 40 401 69 555 67 74 53 50 101 144 62 378 40 546 81 82 52 43 71 144 37 363 48 707 61 78 51 46 81 147 59 74 90 588 81 86 53 45 72 242 49 63 59 569 89 75 46 45 73 227 383 383 44 5410 68 74 60 47 131 129 56 354 132 6211 89 74 52 42 134 144 64 36 241 4612 71 73 59 47 67 123 28 196 260 5513 73 75 53 49 77 154 60 233 255 5714 81 80 51 47 71 137 45 181 255 5415 75 78 56 42 88 137 299 205 241 5616 75 77 52 45 83 124 49 60 89 5517 77 78 52 48 76 156 66 59 264 6918 79 75 66 48 77 137 215 200 87 5419 70 91 51 57 81 127 36 71 241 6020 68 76 45 56 73 130 60 198 105 61

Rata-rata 76.25 78.35 57.9 55.15 86.5 157.7 98.35 222.15 149.6 62.1

Gambar 5.4: Grafik hasil pengujian waktu eksekusi authentication data secarabersamaan

49

Page 68: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Tabel 5.6: Hasil pengujian waktu eksekusi unduh data secara bersamaan

NoWaktu Eksekusi pada Perangkat (milidetik)

1 2 3 4 5 6 7 8 9 101 3906 7633 10030 14401 14596 12974 11923 8985 2366 102342 616 185 358 682 393 477 979 175 836 8283 5898 156 369 461 383 385 1061 186 1262 8254 5707 165 399 451 626 675 266 183 366 3545 1765 189 394 471 372 355 485 185 432 4136 509 179 707 1234 393 578 269 168 414 2917 1838 150 368 711 476 358 265 177 432 3778 5997 198 636 856 300 724 265 252 401 3289 4838 164 653 693 300 573 254 191 486 34410 1306 175 303 462 323 550 257 201 303 42611 3478 161 1075 473 286 543 377 217 286 35212 1789 160 679 447 289 436 325 276 392 34513 1005 167 368 465 290 423 287 211 283 49714 382 157 353 427 262 345 226 308 283 35615 491 171 1162 461 288 448 290 331 372 123016 389 163 369 477 385 1024 257 190 392 44717 404 175 377 677 509 563 233 179 293 35118 385 185 296 460 332 631 530 306 383 43219 379 196 290 446 295 390 308 178 303 52620 393 165 351 395 314 387 310 326 413 1040

Average 2073.75 544.7 976.85 1257.5 1070.6 1141.95 958.35 661.25 534.9 999.8

Gambar 5.5: Grafik hasil pengujian waktu eksekusi pengunduhan data secarabersamaan

50

Page 69: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

BAB 6PENUTUP

6.1 Kesimpulan

Pada tugas ini telah dikembangkan aplikasi bergerak berbasiskomputasi awan sebagai alat untuk membantu kegiatan kerja pe-mantauan perkembangan ternak pada peternakan. Fitur-fitur yangtelah dirancang dan diterapkan pada aplikasi telah berfungsi sesuaidengant ujuan dengan dibuktikan pada pengujian UAT.

Waktu eksekusi yang dibutuhkan aplikasi untuk melakukan be-berapa perintah bergantung pada jaringan seluler yang digunakanpada telepon pintar. Pada jaringan 4G aplikasi mengunggah da-ta dengan rata waktu eksekusi 645 milidetik, jaringan 3G aplikasimengunggah data dengan rata waktu eksekusi 1363,25 milidetik danpada jaringan Edge aplikasi mengunggah data dengan rata waktueksekusi 5180.55 milidetik. Untuk proses pengunduhan data waktueksekusi yang dibutuhkan aplikasi pada jaringan 4G adalah 691.2milidetik, 946.5 milidetik pada jaringan 3G dan 5831 milidetik pa-da jaringan Edge. Dari pengujian ini dapat disimpulkan bahwajaringan Edge menghasilkan waktu paling lambat sedangkan waktutercepat pada jaringan 4G.

Sementara pada pengujian secara bersamaan waktu eksekusiuntuk proses pengunduhan data rata-rata tercepat adalah 534.9 mi-lidetik dan waktu terlambat adalah 2073.75 milidetik. Dari pengu-jian ini dapat disimpulkan bahwa aplikasi mampu bekerja denganbaik ketika diakses secara bersamaan.

6.2 Penelitian Selanjutnya

Pada penelitian selanjutnya akan dilakukan penambahan fitur-fitur baru pada aplikasi untuk lebih membantu proses pemantauanperkembangan ternak bagi para peternak. Fitur yang dapat ditam-bahkan seperti pemantauan kesehatan ternak, pemindai kode barisdan menghubungkan aplikasi dengan perangkat Internet of Thing(IoT). Selain itu dapat dilakukan perbaikan pada tampilan agar le-bih responsive untuk ukuran layar telepon pintar yang bervariasi.

51

Page 70: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Halaman ini sengaja dikosongkan

52

Page 71: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

DAFTAR PUSTAKA

[1] R. Suryani dkk, Outlook Komoditas Pertanian SubsektorPeternakan Daging Sapi. Pusat Data dan Sistem InformasiPertanian Sekretariat Jenderal Kementerian Pertanian, 2015.(Dikutip pada halaman 1).

[2] G. M. Peter dan, Tim, “The nist definition of cloud compu-ting,” National Institute of Standards and Technology, vol. 53,no. 6, p. 50, 2009. (Dikutip pada halaman 5).

[3] J. Strickland, “How cloud computing works.” http://computer.howstuffworks.com/cloud-computing/cloud-computing1.htm, 2008. diakses pada 7 Juni 2017.(Dikutip pada halaman 5).

[4] K. J Yashpalsinh dan M “Cloud computing-concepts, archite-cture and challenges,” in Computing, Electronics and ElectricalTechnologies (ICCEET), 2012 International Conference on,pp. 877–880, IEEE, 2012. (Dikutip pada halaman 5, 6).

[5] M. Rayhan, “Berbagi pengalaman menggunak-an firebase dalam membantu pengembangan an-droid apps.” https://medium.com/@md_ray/berbagi-pengalaman-menggunakan-firebase-dalam-membantu-pengembangan-android-apps-42421cf15a20,2016. diakses pada 5 Mei 2017. (Dikutip pada halaman 7).

[6] M. A. Mohammed dkk, “Mobile-based medical healthapplication-medi-chat app,” vol. 6, 2017. (Dikutip pada ha-laman 7).

[7] F. Documentation, “Firebase authentication.” https://firebase.google.com/docs/auth/, 2017. diakses pada7 Mei 2017. (Dikutip pada halaman 7).

[8] F. Documentation, “Firebase realtime database.” https://firebase.google.com/docs/database/, 2016. diaksespada 7 Mei 2017. (Dikutip pada halaman 8, 9, 10, 11).

[9] F. Documentation, “Firebase storage.” https://firebase.google.com/docs/storage/, 2016. diakses pada 7 Mei2017. (Dikutip pada halaman 9).

53

Page 72: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

[10] F. Documentation, “Firebase storage.” https://firebase.google.com/docs/functions/, 2017. diakses pada 7 Mei2017. (Dikutip pada halaman 9).

[11] A. Narayanan, “Denormalizing your data is normal.”https://firebase.googleblog.com/2013/04/denormalizing-your-data-is-normal.html, 2013.diakses pada 7 Mei 2017. (Dikutip pada halaman 11).

54

Page 73: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

BIOGRAFI PENULIS

Nailul Fadloil, lahir pada 2 Juni 1995 di De-mak, Jawa Tengah. Penulis lulus dari SMPNegeri 2 Demak pada tahun 2010 kemudi-an melanjutkan pendidikan ke SMA Negeri1 Kudus dan lulus pada tahun 2013. Pe-nulis kemudian melanjutkan pendidikan jen-jang strata satu pada Departemen TeknikKomputer ITS Surabaya bidang studi Tele-matika. Saat di kuliah penulis aktif menjadiAsisten laboratorium B401 (Komputasi Di-gital) hingga saat ini dan pernah menjabatsebagai koordiator asisten Lab B401 periode

2015/2016. Penulis juga aktif dalam beberapa organisasi mahasiswaseperti BEM ITS, UKM CLICK dan beberapa kegiatan kepanitiaanlainnya. Selama kuliah penulis aktif dalam mengikuti ajang perlom-baan seperti Hackaton, Kompfest, Karya Tulis Ilmiah dan ProgramKreatifitas Mahasiswa. Penulis sangat tertarik dengan segala halyang berhubungan dengan Teknologi Informasi dan berencana un-tuk mendalami bidang Teknologi Informasi lain yang spesifik padasistem cerdas, sisten terintegrasi dan smartcity.

email : [email protected] : +62 8180 - 6484 - 509

55

Page 74: 3/$ 7)250 3(0$17 $8$1 - ITS Repository

Halaman ini sengaja dikosongkan

56