• Tidak ada hasil yang ditemukan

APLIKASI PANDUAN DIET BERDASARKAN GOLONGAN DARAH BERBASIS ANDROID

N/A
N/A
Protected

Academic year: 2022

Membagikan "APLIKASI PANDUAN DIET BERDASARKAN GOLONGAN DARAH BERBASIS ANDROID "

Copied!
111
0
0

Teks penuh

(1)

APLIKASI PANDUAN DIET BERDASARKAN GOLONGAN DARAH BERBASIS ANDROID

SKRIPSI

Diajukan untuk memenuhi salah satu syarat kelulusan Strata Satu (S1)

Hafizh Fauzan Umar 12130153

Program Studi Teknik Informatika

Sekolah Tinggi Manajemen Informatika dan Komputer NUSA MANDIRI

Jakarta 2017

(2)

ii

kerja keras, dan belajar dari kesalahan”

(Colin Powel)

Dengan nama Tuhan Yang Maha Pengasih lagi Maha Penyayang. Segala puji bagi Allah Tuhan semesta alam, skripsi ini saya persembahkan untuk :

1. Kedua Orang Tua saya tercinta yang telah merawat, mendidik, dan memenuhi segala kebutuhan saya sejak dari dalam kandungan hingga saat ini.

2. Guru-guru dan dosen-dosen yang telah mendidik dan mengajar saya di pendidikan formal maupun non formal.

3. Teman-teman mahasiswa STMIK Nusa Mandiri satu angkatan yang selama ini selalu mendukung.

(3)

iii

(4)

iv

(5)

v

(6)

vi

Skripsi sarjana yang berjudul “Aplikasi Panduan Diet Berdasarkan Golongan Darah Berbasis Android” adalah hasil karya tulisan asli Hafizh Fauzan Umar dan bukan hasil terbitan sehingga peredaran karya tulis hanya berlaku di lingkungan anak akademik saja, serta memiliki hak cipta. Oleh karena itu, dilarang keras untuk menggandakan baik sebagian maupun seluruhnya karya tulis ini, tanpa seizin penulis.

Referensi kepustakaan diperkenankan untuk dicatat tetapi pengutipan atau peringkasan isi tulisan hanya dapat dilakukan dengan seizin penulis dan disertai ketentuan pengutipan secara ilmiah dengan menyebutkan sumbernya.

Untuk keperluan perizinan pada pemilik dapat menghubungi informasi yang tertera di bawah ini:

Nama : Hafizh Fauzan Umar

Alamat : Jl. Bojong Tua No.25 RT/RW 006/01 Jatimakmur Pondok Gede Kota Bekasi, Jawa Barat

No. Telp : 08981071665

E-mail : hafizhfauzan.umar@gmail.com

(7)

vii

KATA PENGANTAR

Puji syukur penulis panjatkan atas kehadirat Tuham YME yang telah melimpahkan rahmat dan karunia-Nya, sehingga pada akhirnya penulis dapat menyelesaikan Skripsi ini dengan baik. Dimana Skripsi ini penulis sajikan dalam bentuk buku yang sederhana. Adapun judul penulisan skripsi, yang penulis ambil adalah “APLIKASI PANDUAN DIET BERDASARKAN GOLONGAN DARAH BERBASIS ANDROID”.

Tujuan penulisan skripsi ini dibuat sebagai salah satu syarat kelulusan Program Strata Satu (S1) STMIK Nusa Mandiri.Sebagai bahan penulisan diambil berdasarkan hasil penelitian (eksperimen), observasi dan beberapa sumber literatur yang mendukung penulisan ini. Penulis menyadari bahwa tanpa bimbingan dan dorongan dari semua pihak, maka penulisan skripsi ini tidak akan lancar. Oleh karena itu, pada kesempatan ini izinkanlah penulis menyampaikan ucapan terimakasih kepada :

1. Ketua STMIK Nusa Mandiri.

2. Wakil Ketua I STMIK Nusa Mandiri.

3. Ketua Program Studi Teknik Informatika Nusa Mandiri.

4. Fitri Latifah, M.Kom selaku Dosen Pembimbing I Skripsi.

5. Asri Wahyuni, M.Kom selaku Dosen Pembimbing II Skripsi.

6. Bapak/ibu dosen Teknik Informatika STMIK Nusa Mandiri Jakarta yang telah memberikan penulis dengan semua bahan yang diperlukan.

7. Staff, karyawan, dan dosen-dosen di lingkungan STMIK Nusa Mandiri.

(8)

viii

9. Rekan-rekan mahasiswa Teknik Informatika kelas 12.8A.01 tahun 2013- 2017

Serta semua pihak yang terlalu banyak untuk disebut satu persatu sehingga terwujudnya penulisan ini. Penulis menyadari bahwa penulisan skripsi ini masih jauh dari sempurna, untuk itu penulis mohon kritik dan saran yang bersifat membangun demi kesempurnaan penulisan dimasa yang akan datang.

Akhir kata semoga skripsi ini dapat berguna bagi penulis khususnya dan bagi para pembaca yang berminat pada umumnya.

Jakarta, 22 Agustus 2015

Hafizh Fauzan Umar

(9)

ix ABSTRAKSI

Hafizh Fauzan Umar (12130153), Aplikasi Panduan Diet Berdasarkan Golongan Darah Berbasis Android

Ponsel saat ini tidak hanya digunakan untuk berkomunikasi saja, tetapi memiliki fitur yang sangat membantu dalam kehidupan sehari-hari. Pernyataan dunia ada digengaman pun menjadi kenyataan dalam zaman ini. Memiliki tubuh yang ideal tentunya menjadi dambaan bagi sebagian besar masyarakat.

Masalah yang timbul adalah ketika ingin memilih cara apa yang dapat digunakan untuk mendapatkan tubuh ideal tanpa harus melakukan diet yang ketat dan berbahaya bagi kesehatan berdasarkan pada golongan darah dari para pelaku diet tersebut. Untuk mendukungnya maka dibuatlah aplikasi suatu aplikasi mobile yang menyediakan informasi mengenai berat badan ideal dan juga pandauan diet berdasarkan pada golongan darah yang meminimalkan kekeliruan mengenai pola makan pada ponsel. Tujuan pembuatan aplikasi ini adalah membangun sebuah aplikasi yang dapat memberikan informasi kesehatan yang tepat dan akurat, dan dapat menyimpan data kesehatan masyarakat secara berkala agar dapat dipantau setiap saat. Aplikasi ini dirancang menggunakan metode Fuzzy Logic yang berguna untuk mengetahui status indeks massa tubuh apakah kurus, normal atau kelebihan berat badan. Dengan adanya aplilkasi ini diharapkan masyarakat dapat dengan mudah memantau perubahan berat badan dan nilai massa tubuhnya melalui data monitoring dan grafik berat badan dan massa tubuh.

Kata Kunci: Panduan Diet Bedasrkan Golongan Darah, Android, Fuzzy Logic

(10)

x

Hafizh Fauzan Umar (12130153), Diet Based Blood Type Based Android App Mobile phones today are not only used to communicate, but have features that are very helpful in everyday life. The expression of the world is being grasped as it becomes reality in this day and age. Having an ideal body is certainly a dream for most people. The problem that arises is when you want to choose what way can be used to get the ideal body without having to do a strict diet and dangerous for health based on the blood type of the dieters. To support it then made the application of a mobile application that provides information about the ideal body weight and also diet based on the type of diet that minimizes the error about the diet on the phone. The purpose of making this application is to build an application that can provide accurate and accurate health information, and can store public health data on a regular basis to be monitored at any time. This application is designed using Fuzzy Logic method that is useful to know the status of body mass index whether thin, normal or overweight. With this aplilkasi expected people can easily monitor changes in body weight and body mass value through monitoring data and graphs body weight and body mass.

Keywords: Diet Guides by Blood Type, Android, Fuzzy Logic

(11)

xi

DAFTAR ISI

LEMBAR JUDUL SKRIPSI ... i

LEMBAR PERSEMBAHAN ... ii

LEMBAR PERNYATAAN KEASLIAN SKRIPSI ... iii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... iv

LEMBAR PERSETUJUAN DAN PENGESAHAN SKRIPSI ... v

LEMBAR PANDUAN PENGGUNAAN HAK CIPTA ... vi

Kata Pengantar ... vii

Abstraksi ... ix

Daftar Isi... xi

Daftar Simbol ... xiii

Daftar Gambar ... xix

Daftar Tabel ... xx

Daftar Lampiran ... xxi

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah ... 1

1.2. Perumusan Masalah ... 3

1.3. Maksud dan Tujuan ... 3

1.4. Metode Penelitian ... 4

1.5. Ruang Lingkup ... 5

BAB II LANDASAN TEORI 2.1 Tinjauan Jurnal ... 6

2.2 Konsep Dasar Program ... 7

2.3 Metode Algoritma Fuzzy ... 11

2.4 Pengujian Sistem ... 13

2.5 Peralatan Pendukung ... 14

(12)

xii

3.1 Analisa Kebutuhan Software ... 22

3.1.1 Identifikasi Masalah ... 22

3.1.2 Analisa Kebutuhan ... 23

3.2 Desain ... 24

3.2.1 Rancangan Algoritma ... 24

3.2.2 Database ... 29

3.2.3 Software Architecture ... 31

A. Pseudocode Algoritma ... 31

B. Permodelan UML ... 35

3.2.4 User Interface ... 41

3.3 Testing ... 47

3.4 Implementasi ... 55

3.5 Support ... 63

BAB IV PENUTUP 4.1 Kesimpulan ... 65

4.2 Saran ... 65 DAFTAR PUSTAKA

DAFTAR RIWAYAT HIDUP

LEMBAR KONSULTASI BIMBINGAN SKRIPSI LAMPIRAN*

(13)

xiii

DAFTAR SIMBOL

A. Simbol Unified Modelling Language (UML) 1. Simbol Use Case Diagram

2. Simbol Class Diagram

CLASS

Merupakan bentuk umum dari objek-objek yang memilki struktur dan tingkah laku (atribut, operasi, relasi dan arti/definisi) yang sama. Kelas merupakan bentuk abstrak dari objek di dunia nyata.

ACTOR ( ACTOR )

Merupakan sebuah entitas yang berinteraksi dengan use case. Nama aktor dituliskan di bawah gambar tersebut. Aktor dapat berupa orang atau sistem lain diluar sistem yang tengah dianalis.

USECASE

menggambarkan sebuah fungsi tertentu yang disediakan oleh sistem, sebuah subsistem atau urutan pertukaran pesan antar anggota sistem dan satu atau lebih aktor melakukan aksi yang dikerjakan oleh sistem.

ASOCIATION

Garis ini digunakan untuk menghubungkan antara aktor dengan use case. Hubungan ini berarti actor menggunakan use case.

(14)

xiv

yang dihubungkan.

3. Simbol Activity Diagram

AWAL (START POINT)

Menujukkan tempat dimulainya diagram.

Lambang ini boleh diberi label dengan isi berupa nama kejadian (event) yang memanggilnya.

Sebuah diagram aktivitas hanya boleh memiliki sebuah awal.

AKHIR (END PONT)

Menunjukkan tempat berakhirnya diagram.

Lambang ini tidak memerlukan label. Diagram aktivitas dapat memiliki satu atau lebih akhir.

ACTIVITY

Merupakan bentuk khusus dari keadaan (state) dimana aktivitas menggambarkan kegiatan yang dilakukan. Nama kegiatan dituliskan di tengah lambang.

Fork and Join Nodes

Fork dan join mengindikasikan proses yang parallel. Fork untuk percabangan proses sedangkan join sebagai titik temu proses-proses yang parallel menjadi satu flow.

(15)

xv

STATE TRANSITION

Menyatakan alur aktifitas.Alur menghubungkan antara state awal, akhir maupun aktifitas. Alur dapat menunjuk dari state aktifitas ke dirinya sendiri.

4. Simbol Sequence Diagram

OBJECT

Object merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal.

Digambarkan sebagai sebuah class (kotak) dengan nama obyek didalamnya yang diawali dengan sebuah titik koma.

ACTOR

Actor juga dapat berkomunikasi dengan object,maka actor juga dapat diurutkan sebagai kolom. Simbol Actor sama dengan symbol pada Actor Use Case Diagram.

LIFELINE

Mengindikasikan keberadaan object dalam basis waktu. Notasi Lifeline adalah gari s putus-putus vertikal yang ditarik dari sebuah obyek.

(16)

xvi

horizontal antara Activation. Message mengindikasikan komunikasi antara object- object.

RETURN

Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian

ACTIVATION

Activation dinotasikan sebagai sebuah kotak segi empat yang digambar pada sebuah lifeline. Activation mengindikasikan sebuah obyek yang akan melakukan sebuah aksi.

5. Simbol Deployment Diagram

PACKAGE

Package merupakan sebuah bungkusan dari satu atau lebih node

NODE

Menggambarkan aplikasi yang mampu mengeksekusi program. Maupun Perangkat keras yang tidak memiliki kemampuan

(17)

xvii

melakukan penghitungan/pemrosesan. Contoh device adalah modem, monitor dan juga speaker.

PENGHUBUNG

Menghubungkan antara node.

B. Simbol FlowChart

TERMINAL

Digambarkan untuk menggambarkan awal dan akhir suatu kegiatan.

DECISION

Digunakan untuk menggabarkan proses pengujian suatu proses yang ada.

FLOW LINE

Digunakan untuk menggambarkan

hubungan proses dari satu proses ke proses lainnya.

INPUT-OUTPUT

Digunakan untuk menggambarkan proses memasukan data yang berupa pembacaan data dan sekaligus proses keluaran yang berupa pencetakan data.

SUBROTINE

Digunakan untuk menggambarkan proses pemanggilan sub program dan main program (recursivitas).

(18)

xviii

Entitas (Entity)

Adalah sesuatu yang dapat dibedakan dalam dunia nyata dimana informasi yang berkaitan dengannya dikumpulkan.

Attribut

Adalah karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang atau relationship tersebut.

Relationship

Adalah hubungan yang terjadi antara satu atau lebih entity. Relationship tidak mempunyai keberadaan fisik, kecuali yang mewarisi hubungan antara entity tersebut.

Participation Constraint

Menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya dengan entity lain.

(19)

xix

DAFTAR GAMBAR

Gambar III.1. Himpunan fuzzy pada Indeks massa tubuh ... 25

Gamabr III.2. Entity Relational Diagram ... 31

Gambar III.3. Activity Diagram ... 35

Gambar III.4. Use Case Diagram ... 36

Gambar III.5. Class Diagram ... 38

Gambar III.6. Sequence Diagram ... 39

Gambar III.7. Deployment Diagram ... 40

Gambar III.8. User Interface Menu Utama ... 41

Gambar III.9. User Interface Input User ... 42

Gambar III.10. User Interface Menu User ... 43

Gambar III.11. User Interface Kalkuator IMT ... 44

Gambar III.11. User Interface Panduan Diet Berdasrkan Golongan Darah ... 46

Gambar III.13. Flowchart Aplikasi ... 48

Gambar.III.14. Diagram Alir ... 49

Gambar III.15. Implementasi Menu Utama ... 55

Gambar III.16. Implementasi List Data User ... 56

Gambar III.17. Implementasi Input Data User... 56

Gambar III.18. Implementasi Menu User ... 57

Gambar III.19. Implementasi Data User ... 57

Gambar III.20. Implementasi Kalkulator Indeks Massa Tubuh ... 58

Gambar III.21. Implementasi History Kalkulator IMT ... 58

Gambar III.22. Implementasi Grafik Berat ... 59

Gambar III.23. Implementasi Panduan Diet Berdasarkan Golongan Darah .... 59

Gambar III.24. Implementasi Golongan Darah A ... 60

Gambar III.25. Implementasi Golongan Darah B ... 60

Gambar III.26. Implementasi Golongan Darah AB ... 61

Gambar III.27. Implementasi Golongan Darah O ... 61

Gambar III.28. Implementasi Tips Menambah Berat Badan ... 62

Gambar III.29. Implementasi Profil Saya ... 62

Gamabr III.30. Implementasi Petunjuk ... 63

(20)

xx

DAFTAR TABEL

Tabel III.1. Tabel Ambang Batas Indeks Massa Tubuh Untuk Indoneia... 25

Tabel III.2. Tabel Panduan Diet Berdasarkan Golongan Darah ... 28

Tabel III.3. Tabel Data User ... 30

Tabel III.4. Tabel Data IMT ... 30

Tabel III.5. Tabel Dekripsi Use Diagram... 37

Tabel III.6. Tabel Pengujian Interface Aplikasi ... 52

Tabel III.7. Tabel Pengujian Form Handle Aplikasi ... 54

(21)

xxi

DAFTAR LAMPIRAN

Lampiran A. Screen Shoot Interface Pada Smartphone Lampiran B.1 Source code Menu utama.java

Lampiran B.2 Source code Menu user.java

Lampiran B.3 Source code Panduan diet Berdasarkan Golongan Darah.java Lampiran B.4 Source code Tips menambbah berat badan.java

Lampiran B.5 Source code Petunjuk.java Lampiran B.6 Source code Profil Saya.java

(22)

1 1.1. Latar Belakang Masalah

Pada era modern ini, perkembangan teknologi dan informasi berkembang sangat pesat. Hampir semua kalangan masyarakat di dunia mengenal sistem operasi Android, yang merupakan sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti smartphone dan tablet. Semakin banyaknya aplikasi yang dihasilkan merupakan bukti dari berkembangnya sistem operasi Android ini. Banyak aplikasi yang membahas tentang kesehatan pada umumnya, tetapi tidak banyak yang membahas tentang kesehatan secara khusus, misalnya kesehatan tubuh dengan berat badan yang ideal.

Memiliki tubuh yang ideal tentunya menjadi dambaan bagi sebagian besar masyarakat. Banyak sekali cara yang dilakukan untuk dapat memperolehnya.

Mulai dari melakukan diet ketat yang berujung pada tergang gunya kesehatan tubuh, hingga mencari cara singkat dengan harga mahal. Masalah yang timbul adalah ketika seseorang belum mengetahui apakah tubuh yang dimiliki sudah ideal. Masalah lainnya yang terjadi ketika ingin memilih cara apa yang dapat digunakan untuk mendapatkan tubuh ideal tanpa harus melakukan diet yang ketat dan berbahaya bagi kesehatan.

Menurut Nugraha dkk (2015:11), Diet di zaman sekarang ini sudah menjadi suatu gaya hidup masyarakat di kota. Tingginya tingkat obesitas di berbagai negara termasuk negara Indonesia membuat banyak orang berbondong-bondong untuk melakukan program diet. Diet ini juga sudah

(23)

2

menjadi pilihan sebagian banyak orang yang selalu ingin menjaga pola makannya. Diet yang dilakukan terkadang juga diberikan oleh seorang dokter melalui resep dan kiat-kiat menjaga pola makan. Untuk mengatasi masalah masalah tersebut perlu adanya aplikasi yang menyediakan informasi mengenai berat badan ideal dan juga panduan diet.

Sekarang banyak website dan buku-buku yang menjelaskan bagaimana diet sehat alami berdasarkan golongan darah. Akan tetapi ada beberapa faktor yang kurang efisien, yaitu pengguna harus membuka komputer yang terkoneksi internet terlebih dahulu untuk mengetahui apa saja yang harus dilakukan selama diet atau pengguna harus membaca buku sehingga kebanyakan orang harus membaca dua kali bahkan lebih agar mengerti apa yang ditulis.

Berdasarkan beberapa keterangan diatas, penulis membuat suatu aplikasi android yang berisi informasi panduan diet berdasarkan golongan darah. Dengan adanya panduan ini tidak perlu melakukan diet dengan ketat, hanya perlu melakukannya dengan tekun dan perasaan yang bebas sehingga tidak perlu menyiksa diri. Aplikasi ini dikhususkan pada perhitungan berat badan, pengelompokan makanan apa yang di anjurkan dan harus dihindari berdasarkan masing-masing golongan darah dengan menggunakan software-software pendukung dalam pembuatan aplikasi android.

Penulisan ini bertujuan untuk menghasilkan sebuah aplikasi berbasis android. Dengan adanya aplikasi android yang dapat menganalisa berat badan ideal dan memasukkan data perkembangan berat badan tanpa harus menulis di sebuah kertas serta memberikan panduan bagi para pelaku diet untuk menghindari

(24)

kekeliruan dalam menjalankan program diet, yang dikelompokkan berdasarkan golongan darah.

Karena aplikasi ini belum banyak, maka penulis bermaksud untuk mengangkat tema ini agar pemanfaatannya lebih berkembang lagi sehingga bisa mempermudah masyarakat untuk menjaga pola makan.

Berdasarkan kendala atau masalah diatas penulis mengangkat sebuah tema untuk penulisan Skripsi ini dengan judul : “APLIKASI PANDUAN DIET BERDASARKAN GOLONGAN DARAH BERBASIS ANDROID”.

1.2. Perumusan Masalah

Rumusan masalah pada penulisan skripsi ini adalah sebagai berikut : 1. Apakah aplikasi Panduan Diet berdasarkan golongan darah berbasis android

dapat di bangun dengan menggunakan bahasa java.

2. Bagaimana membangun aplikasi perhitungan berat badan ideal dan panduan diet berbasis android dengan menggunakan bahasa java dan dapat diimplementasikan pada smartphone.

1.3. Maksud Dan Tujuan

Pada penulisan skripsi ini, penulis membuat aplikasi dengan maksud sebagai berikut :

1. Mempermudah masyarakat untuk menghitung berat badan ideal.

2. Menghasilkan aplikasi yang dapat mengetahui data kesehatan berdasarkan rumus medis untuk mempermudah dan membantu masyarakat untuk

(25)

4

mengetahui berat badan ideal dan makanan yang sehat menurut golongan darah.

Sedangkan tujuan dari penyusunan skripsi ini adalah sebagai salah satu syarat kelulusan pada program strata satu (S1) pada program studi Teknik Informatika di Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Nusa Mandiri Jakarta.

1.4. Metode Penelitian

Metode penelitian yang digunakan penulis adalah metode Studi Pustaka yaitu mengambil atau mengumpulkan data dari buku, jurnal, artikel di internet maupun e-book tentang golongan darah berdasarkan golongan darah dan Android.

Selain itu digunakan pendekatan metode System Development Life Cycle (SDLC) yang terdiri dari beberapa tahap yaitu:

1. Identifikasi (Identification)

Tahap ini merupakan proses mengidentifikasi masalah yaitu tentang banyak masyarakat yang kesulitan mengetahui kesehatan pada tubuh, baik status berat badan idealnya maupun makanan yang harus dikonsumsi.

2. Analisis (Analysis)

Tahapan ini adalah proses analisa kebutuhan, keperluan, dan penggunaan apa saja yang dibutuhkan pada aplikasi yang akan di bangun. Tahapan ini akan menghasilkan data yang berhubungan dengan keinginan pengguna dalam pembuatan aplikasi, termasuk rencana yang akan dilakukan.

3. Perancangan (Designing)

perancangan aplikasi yang dapat diperkirakan sebelum dibuat coding. Proses

(26)

ini berfokus pada rancangan struktur data, arsitektur aplikasi, representasi interface, dan detail (algoritma) prosedural.

4. Code

Tahap ini merupakan penerjemah rancangan dalam tahap desain ke dalam bahasa pemrograman Java.

5. Uji Coba (Testing)

Tahap ini merupakan uji coba dan evaluasi terhadap program yang dibangun.

Sehingga analisis hasil implementasi yang didapat dari sistem disesuaikan dengan kebutuhan sistem tersebut. Jika penerapan sistem sudah berjalan dengan lancar, maka sistem dapat diimplementasikan.

6. Implementasi (Implementation)

Tahapan ini merupakan proses penerapan dari hasil rancangan yang telah dihasilkan dengan membuat aplikasi menggunakan bahasa pemrograman Java Android dengan software Eclipse sebagai editor.

1.5. Ruang Lingkup

Dalam penulisan skripsi ini, penulis membatasi pembahasan hanya difokuskan untuk mengukur berat badan ideal. Berisi informasi mengenai Panduan diet berdasarkan golongan darah yang dikhususkan pada jenis makanan yang dikonsumsi. Algoritma yang dipakai pada aplikasi ini adalah metode fuzzy.

(27)

6 BAB II

LANDASAN TEORI

2.1. Tinjauan Jurnal

Berikut penulis sajikan 2 jurnal ilmiah yang relevan dengan masalah yang penulis bahas.

Menurut Kusuma dkk (2011:157) :

Perkembangan teknologi yang cepat, terutama handphone, diikuti juga dengan semakin pesatnya perkembangan software atau aplikasi yang tersedia. Kemajuan di bidang software sangat membantu pengguna dalam melakukan berbagai kegiatan seperti mengolah data, mengatur jadwal kegiatan, berselancar di dunia maya dan sebagainya. Salah satu contohnya adalah Aplikasi Mobile Perhitungan Indeks Massa Tubuh dan Berat Badan Ideal. Pengembangan aplikasinya menggunakan bahasa pemrograman Java. Java berdiri diatas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). Dalam penelitiannya telah dibuat sebuah aplikasi yang dapat digunakan untuk menentukan indeks massa tubuh dan berat badan ideal seseorang dengan alasan bahwa masih banyak orang yang belum mengerti bagaimana cara menentukan apakah seseorang dalam kondisi tubuh yang ideal atau tidak. Sedangkan manfaat yang diharapkan adalah dapat memberikan kemudahan bagi pengguna untuk dapat mengetahui berapakah nilai indeks massa tubuhnya dan juga untuk mengetahui berapakah berat badan ideal yang disarankan.

Menurut Wijayanto dkk (2014:12) :

Untuk memberikan rekomendasi terhadap hasil pencarian resep makanan yang akan dipilih oleh pengguna, diperlukan suatu metode yang dapat mengolah data tentang menu makanan, misalnya logika fuzzy. Dari uraian Pokok masalah diatas mempunyai kesamaan dengan latar belakang masalah penulisan skripsi ini yaitu membuat aplikasi panduan diet berdasarkan golongan darah, dan disini penulis menggunakan algoritma fuzzy. Logika fuzzy sudah diterapkan dalam berbagai hal, mulai dari bidang matematika itu sendiri, software, sampai pada hardware. Dalam bidang software, salah satu penerapannya adalah pembuatan Sistem Pendukung Keputusan (SPK) Dalam penelitian ini sebuah aplikasi mobile dibuat untuk memberikan rekomendasi menu makanan menggunakan logika fuzzy. Teknologi mobile dipilih karena kecenderungan penggunaan mobile yang terus meningkat perkembangannya yang sangat pesat, terutama dalam hal pengembangan aplikasi. Selain itu juga untuk memudahkan pengguna dalam menyusun menu makanannya.

(28)

Dari uraian pokok masalah diatas mempunyai kesamaan dengan latar belakang masalah penulisan skripsi ini yaitu aplikasi panduan diet berdasarkan golongan darah, dan disini penulis menggunakan algoritma metode fuzzy.

2.2. Konsep Dasar Program

Menurut Yulikuspartono (2009:1) “Program merupakan sederetan instruksi atau statement dalam bahasa yang dimengerti oleh komputer yang bersangkutan”. Bahasa pemrograman dapat dikelompokkan dalam berbagai macam sudut pandang. Salah satu pengelompokkan bahasa pemrograman adalah pendekatan dari notasi bahasa pemrograman tersebut, apakah lebih dekat ke bahasa mesin atau ke bahasa manusia. Dengan cara ini, bahasa pemrograman dapat dikelompokkan menjadi dua yakni bahasa tingkat rendah (low-level languanges) dan bahasa tingkat tinggi (high-level languanges).

Menurut Binanto (2009 : 1) Pemrograman merupakan suatu kumpuluan urutan perintah ke komputer untuk mengerjakan sesuatu. Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi dapat dikatakan bahwa program adalah suatu implementasi dari bahasa pemrograman.Bahasa tingkat tinggi merupakan bahasa yang mudah dipahami oleh manusia contohnya adalah C, C++, Pascal, Perl, Java dan lain sebagainya. Sedangkan bahasa tingkat rendah merupakan bahasa mesin atau bahasa assembly.

Untuk program yang penulis buat, penulis menggunakan bahasa Java Android dengan software Eclipse, Android SDK (Software Development Kit) dan ADT (Android Development Tools).

(29)

8

2.2.1. Java

Menurut Bima (2011:2) ”Bahasa pemrograman Java pada awalnya dibuat oleh James Gosling pada tahun 1995 sebagai bagian dari Sun Microsystem Java Platform”. Sintaks Java banyak diturunkan dari C dan C++ tetapi lebih sederhana, ketat dan mempunyai akses ke OS yang lebih terbatas. Hal ini karena Java ditujukan sebagai bahasa pemrograman yang cukup sederhana untuk dipelajari dan mudah dibaca.

Java ditujukan agar bisa “ditulis sekali, bisa jalan di manapun”. Sekarang ini Java adalah bahasa pemrograman paling populer dan paling banyak digunakan untuk membuat aplikasi baik aplikasi di embedded system, mobile, desktop hingga web application. Java mempunyai empat prinsip penting yang dijadikan sebagai tujuannya, keempat prinsip ini adalah :

1. Java harus sederhana, object oriented dan mudah dimengerti.

2. Java harus kuat dan aman.

3. Java harus netral terhadap arsitektur system (OS, processor) dan bisa jalan di manapun.

4. Java harus bisa dijalankan dengan kinerja yang tinggi.

5. Java harus interpreted, threaded dan dinamis.

Dengan kelima prinsip di atas, aplikasi java mempunyai popularitas yang sangat tinggi terutama di dunia enterprise application. Dimana semua prinsip di atas sangat cocok untuk jenis aplikasi ini. Industri yang mempunyai budget tinggi untuk IT seperti perbankan dan telekomunikasi menggunakan Java secara ekstensif. Banyak aplikasi dengan skala raksasa dibangun menggunakan platform Java.

(30)

2.2.2. Android

Menurut Murya (2013:1) “Android adalah sistem operasi berbasis Linux yang digunakan oleh telepon seluler (mobile) seperti telepon pintar (smartphone) dan komputer tablet”. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang digunakan bermacam piranti bergerak.. Android kini telah menjelma menjadi sistem operasi mobile terpopuler di dunia. Perkembangan Android tidak lepas dari peran sang raksasa Google. Android pada mulanya didirikan oleh Andy Rubin, Rich Milner, Nick Sears dan Chris White pada tahun 2003.

Android bergantung pada Linux Versi 2.6 untuk inti sistem pelayanan seperti keamanan, manajemen memori, proses manajemen, susunan jaringan, dan driver model. Kernel juga bertindak sebagai lapisan yang abstrak antara hardware dan software stack-nya.

Dalam pengembangan aplikasi Android, ada beberapa hal yang harus diperhatikan, antara lain:

1. Konsep yang dipakai adalah memisahkan coding untuk logika aplikasi (algoritma) dan coding untuk tampilan aplikasi (user interface).

2. Untuk coding logika (algoritma), Android menggunakan bahasa pemrograman Java. Sedangkan untuk pengaturan tampilan, Android menggunakan XML.

2.2.3. Eclipse

Menurut Murya (2013:17) “Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat

(31)

10

dijalankan di semua platform (platform-independent)”. Berikut ini adalah sifat dari Eclipse:

1. Multi-platform

Target sistem operasi Eclipse adalah Microsoft Windows, Linux,Solaris, AIX, HP-UX dan Mac OS X.

2. Multi-languange

Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++ Cobol, Python, Perl PHP, dan lain sebagainya.

3. Multi-role

Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.

2.2.4. Android SDK

Menurut Murya (2013:15-16) “Android SDK (Software Development Kit) adalah tool API (Application Programming Interface) yang diperlukan untuk memulai mengembangkan aplikasi pada platform Android atau dapat dikatakan perangkat lunak yang digunakan dalam pengembangan aplikasi pada Android”.

(32)

Android SDK dapat di unduh melalui situs resminya yaitu http//:www.developer.android.com/sdk/index/html.

2.2.5. Android Development Tools

Menurut Murya (2013:19) “Android Development Tools atau lebih dikenal dengan sebutan ADT merupakan plugin pada Eclipse yang digunakan untuk membuat project berbasis Android”. ADT wajib di-install sehingga Eclipse yang sudah ter-install dikomputer dapat digunakan sebagai tempat atau media untuk melakukan pemrograman Android.

2.3. Metode Algoritma Fuzzy

Menurut Rinaldi Munir dan Leony Lidya (2016:5) “Algoritma adalah urutan langkah-langkah untuk menyelesaikan suatu persoalan”. Pada penulisan ini, penulis menggunakan algoritma metode Fuzzy untuk menentukan status berat badan ideal dengan rumus indeks massa tubuh. Fuzzy secara bahasa diartikan sebagai kabur atau samar - samar. Suatu nilai dapat bernilai besar atau salah secara bersamaan. Dalam fuzzy dikenal derajat keanggotaan yang memiliki rentang nilai 0 (nol) hingga 1(satu). Berbeda dengan himpunan tegas yang memiliki nilai 1 atau 0 (ya atau tidak).

Logika Fuzzy merupakan seuatu logika yang memiliki nilai kekaburan atau kesamaran (fuzzyness) antara benar atau salah. Dalam teori logika fuzzy suatu nilai bisa bernilai benar atau salah secara bersama. Namun berapa besar keberadaan dan kesalahan suatu tergantung pada bobot keanggotaan yang dimilikinya. Logika fuzzy memiliki derajat keanggotaan dalam rentang 0 hingga 1. Berbeda dengan

(33)

12

logika digital yang hanya memiliki dua nilai 1 atau 0. Logika fuzzy digunakan untuk menterjemahkan suatu besaran yang diekspresikan menggunakan bahasa (linguistic), misalkan besaran kecepatan laju kendaraan yang diekspresikan dengan pelan, agak cepat, cepat, dan sangat cepat. Dan logika fuzzy menunjukan sejauh mana suatu nilai itu benar dan sejauh mana suatu nilai itu salah. Tidak seperti logika klasik (scrisp), suatu nilai hanya mempunyai 2 kemungkinan yaitu merupakan suatu anggota himpunan atau tidak. Derajat keanggotaan 0 (nol) artinya nilai bukan merupakan anggota himpunan dan 1 (satu) berarti nilai tersebut adalah anggota himpunan.

Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input kedalam suatu ruang output, mempunyai nilai kontinyu. Fuzzy dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu dapat dikatakan sebagian benar dan sebagian salah pada waktu yang sama.

Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy (Aplikasi logika fuzzy untuk pendukung keputusan, Sri Kusumadewi,Hari Purnomo, Edisi kedua, Graha Ilmu, 2010), yaitu:

a. Variable fuzzy

Variable fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh: umur, temperature, permintaan, dsb.

b. Himpunan Fuzzy

Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy.

(34)

c. Semesta Pembicaraan

Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai semesta pembicaraan dapat berupa bilangan positif maupun negatif. Ada kalanya nilai semesta pembicaraan ini tidak dibatasi batas atasnya.

d. Domain

Domain himpunan fuzzy adalah keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy.

Seperti halnya semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat berupa bilangan positif dan bilangan negatif.

2.4. Pengujian Sistem

Pengujian merupakan bagian yang tidak terpisahkan dari perangkat lunak.

Proses pengujian juga mempengaruhi masa penggunaan perangkat lunak. Semakin terperinci proses pengujian yang dilakukan, semakin lama rentang waktu yang akan diperlukan pada satu pemeliharaan perangkat lunak dan untuk proses selanjutnya. Pengujian perangkat lunak dapat dilakukan pada setiap tahapan pengembangan hingga pada pemeliharaan perangkat lunak.

Pengujian perangkat lunak merupakan aktivitas menantang yang melibatkan beberapa kegiatan yang saling berkaitan satu sama lain. Proses

(35)

14

pemilihan teknik pengujian merupakan titik tolak untuk melangkah pada aktivitas- aktivitas berikutnya.

Pentingnya pengujian perangkat lunak dan implikasinya mengacu pada kualitas perangkat lunak yang tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi dengan peluang terjadinya kesalahan manusia yang sangat besar dan ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna.

Aplikasi mobile yang telah dibuat, selanjutnya diuji melalui pengujian perangkat lunak yang meliputi pengujian Black Box dan White Box.

2.4.1. Pengujian White Box

Menurut Rizky (2011:264) “Metode pengujian White Box adalah suatu metode desain test case yang menggunakan struktur kontrol desain prosedural (Structural Testing) untuk memperoleh test case”. Pengujian white box mengasumsikan bahwa logik spesifik adalah penting dan harus diuji untuk menjamin sistem melakukan fungsi dengan benar. Inti dari pengujian white box adalah menguji berdasarkan kesalahan ketika kita siap menguji semua objek di aplikasi dan semua metode eksternal atau publik dari objek. Sasaran dari pengujian ini adalah memeriksa semua pernyataan program. Maksud dari pemeriksaan adalah mencari kemungkinan kombinasi jalur statement .

2.4.2. Pengujian Black Box

Menurut Rizky (2011:261) “Metode black box merupakan pengujian user interface oleh pengguna setelah sistem selesai dibuat dan di uji coba kepada

(36)

pengguna”. Metode pengujian ini didasarkan pada spesifikasi sistem. Dalam sistem ini pengujian dilakukan dengan mengujikan semua navigasi yang ada, pengujian ini memastikan apakah proses-proses yang dilakukan menghasilkan output yang sesuai dengan rancangan.

2.5. Peralatan Pendukung

Menurut Rosa dan M. Shalahudin (2011:118) “UML (unified Modeling Language) merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks khusus”. Bagaimana elemen pada model-model yang kita buat berhubungan satu dengan yang lainnya harus mengikuti standar yang ada. UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang sistem untuk mengembangkan visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain.

UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch, Object Modelling Technique (OMT) dan Object Oriented Software Engineering (OOSE). Metode Booch terkenal dengan nama metode Object OrientedDesign.. UML mendefinisikan diagram-diagram sebagai berikut :

1. Activity Diagram

Menurut Rosa dan M. Shalahudin (2013:161) “diagram aktivitas atau activity

diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah

(37)

16

sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak”. Pada tahap, pemodelan bisnis, diagram aktivitas dapat digunakan untuk menunjukan aliran kerja bisnis (business work-flow). Dapat juga digunakan untuk menggambarkan aliran kejadian (flow of events) dalam use case.

Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di- trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem dan interaksi antar subsistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana actor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UML menggunakan segi empat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu, digambarkan dengan simbol belah ketupat. Untuk mengilustrasikan proses paralel (fork and join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Aktivity diagram dapat dibagi menjadi beberapa objectswimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.

(38)

2. Use Case Diagram

Menurut Rosa dan M. Shalahudin (2013:155) “use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat”. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Hal yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem dan sebagainya.

Seorang aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan, dan merancang test case untuk semua feature yang ada pada sistem.

3. Sequence Diagram

Menurut Rosa dan M. Shalahudin (2013:165) “diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dengan massage yang dikirimkan dan diterima antar objek”.

Sequence diagram terdiri antar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal.

Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.

(39)

18

Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.

4. Class Diagram

Menurut Rosa dan M. Shalahudin (2013:141) “diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun system”. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok, meliputi: Nama (dan stereo type), Atribut dan method.

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class.

Dengan demikian interface mendukung resolusi metoda pada saat run-time.

5. Deployment Diagram

Menurut Rosa dan M. Shalahuddin (2013:154) “Deployment diagram menunjukan konfigurasi komponen dalam proses eksekusi aplikasi”.

(40)

Bagian hadware adalah node yaitu nama untuk semua jenis sumber komputasi. Ada dua tipe node yaitu processor dan device. Processor adalah node yang bisa mengeksekusi sebuah komponen sedangkan device tidak. Device adalah perangkat keras seperti printer, monitor dan perangkat keras.

Deployment diagram menggambarkan detail bagaimana komponen di- deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya.

6. ERD (Entity Relationship Diagram)

Menurut Sutanta (2011:91) “Entity Relationship Diagram (ERD) merupakan suatu model data yang dikembangkan berdasarkan objek”. Entity Relationship Diagram (ERD) digunakan untuk menjelaskan hubungan antar data dalam basis data kepada pengguna secara logis. Entity Relationship Diagram (ERD) didasarkan pada suatu persepsi bahwa real world terdiri atas obyek-obyek dasar tersebut. Penggunaan Entity Relationship Diagram (ERD) relatif mudah dipahami, bahkan oleh para pengguna yang awam. Bagi perancang atau analis sistem, Entity Relationship Diagram (ERD) berguna untuk memodelkan sistem yang nantinya, basis data akan di kembangkan.

Model ini juga membantu perancang atau analis sistem pada saat melakukan analis dan perancangan basisdata karena model ini dapat menunjukkan macam data yang dibutuhkan dan kerelasian antar data didalamnya.

(41)

20

A. Komponen Entity Relationship Diagram (ERD)

Komponen Entity Relationship Diagram menurut Sutanta (2011:91) adalah sebagai berikut :

1. Entitas

Entitas merupakan suatu objek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Objek dasar dapat berupa orang, benda, atau hal yang keterangannya perlu disimpan didalam basis data. Untuk menggambarkan sebuah entitas digunakan aturan sebagai berikut :

a. Entitas dinyatakan dengan simbol persegi panjang.

b. Nama entitas dituliskan didalam simbol persegi panjang.

c. Nama entitas berupa kata benda, tunggal.

d. Nama entitas sedapat mungkin menggunakan nama yang mudah dipahami dan dapat menyatakan maknanya dengan jelas.

2. Atribut

Atribut merupakan keterangan-keterangan yang terkait pada sebuah entitas yang perlu disimpan dalam basis data. Atribut berfungsi sebagai penjelas pada sebuah entitas. Untuk menggambarkan atribut digunakan aturan sebagai berikut:

a. Atribut digambarkan dengan simbol ellips.

b. Nama atribut dituliskan didalam simbol ellips.

c. Nama atribut merupakan kata benda, tunggal.

d. Nama atribut sedapat mungkin menggunakan nama yang mudah dipahami dan dapat menyatakan maknanya dengan jelas.

(42)

3. Relasi

Relasi merupakan hubungan antara sejumlah entitas yang berasal darihimpunan entitas yang berbeda. Aturan penggambaran relasi adalah sebagai berikut :

a. Relasi dinyatakan dengan simbol belah ketupat.

b. Nama relasi dituliskan didalam simbol belah ketupat c. Nama relasi berupa kata kerja aktif.

d. Nama relasi sedapat mungkin menggunakan nama yang mudah dipahami dan dapat menyatakan maknanya dengan jelas.

(43)

22

BAB III

ANALISA DAN PERANCANGAN SOFTWARE

3.1. Analisa Kebutuhan Software

Pada bab ini disampaikan tahapan analisis kebutuhan perangkat lunak yang merupakan langkah awal dalam pembuatan aplikasi ini. Analisis kebutuhan ini meliputi identifikasi permasalahan dan analisis kebutuhan perangkat lunak.

Dengan tahapan-tahapan tersebut nantinya akan didapatkan pemecahan masalah untuk membangun sebuah aplikasi.

3.1.1. Identifikasi Masalah

Langkah-langkah yang ditempuh yang berguna untuk mengetahui berbagai masalah yang ada, sehingga dengan aplikasi “Aplikasi Panduan Diet Berdasarkan Golongan Darah” berbasis android ini diharapkan bisa membantu permasalahan yang dihadapi. Adapun beberapa masalah tersebut adalah sebagai berikut :

1. Banyak masyarakat yang tidak mengetahui berat badan ideal nya dan tidak dapat memantau berat badannya.

2. Sekarang banyak website dan buku-buku yang menjelaskan bagaimana diet sehat alami berdasarkan golongan darah. Akan tetapi ada beberapa faktor yang kurang efisien karena Masyarakat lebih memilih aplikasi mobile karena lebih mudah dan efisien.

3. Pengembangan dan penggunaan aplikasi android pada smartphone yang semakin meningkat pada saat ini

(44)

3.1.2. Analisa Kebutuhan

Setelah melakukan identifikasi dan mendefinisikan masalah, selanjutnya penulis merumuskan kebutuhan untuk menyelesaikan permasalahan yang ditemukan sebagai berikut:

1. Spesifikasi Ponsel

Untuk dapat menjalankan aplikasi yang akan penulis buat. Berikut adalah spesifikasi ponsel yang dibutuhkan:

a. Layar 5.0” (720x1280 pixel) b. Processor Quad Core (2 GHz) d. RAM (Random Acces Memory) 1 GB e. Memory penyimpanan minimal 4 GB f. Android versi 4.2 (Jelly Bean)

2. Spesifikasi Komputer

Untuk membuat dan mengembangkan aplikasi yang akan dibuat dibutuhkan spesifikasi komputer hardware dan software sebagai berikut:

a. Processor Core I3 2.0 GHz b. RAM 4 GB

c. Harddisk 500 GB d. Windows 7 e. Eclipse 3.8 f. Android SDK

g. Android DevelopmentTool

(45)

24

3.2. Desain

3.2.1. Rancangan Algoritma

Dalam Fuzzy terdapat fungsi keanggotaan (membership function), yaitu suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (sering juga disebut dengan derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mengutahui berat badan ideal adalah dengan mendapatkan nilai keanggotaan status Indeks Massa Tubuh adalah dengan menggunakan nilai batas ambang Indeks Massa Tubuh.

Indeks Massa Tubuh adalah berat badan dalam kilogram di bagi dengan tinggi badan kuadrat dalam meter. Untuk mengetahui nilai Indeks Massa Tubuh dapat di hitung dengan rumus sebagai berikut:

Hasil perhitungan indeks massa tubuh pada orang dewasa akan disesuaikan dengan ambang batas indeks massa tubuh orang dewasa. Berikut adalah tabel ambang batas pengelompokkan status Indeks Massa Tubuh untuk orang Indonesia.

(46)

Tabel III.1

Tabel Ambang Batas Indeks Massa Tubuh Untuk Indonesia.

Kategori Indeks Massa

Tubuh

Kurus

Kekurangan berat badan tingkat berat ˂ 17 kg/m² Kekurangan berat badan tingkat ringan 17 – 18,5 kg/m²

Normal Berat badan ideal > 18,5 – 25,0 kg/m²

Gemuk

Kelebihan berat badan tingkat ringan > 25,0 – 27,0 kg/m² Kelebihan berat badan tingkat berat > 27 kg/m²

Sumber : Depkes (2011)

Untuk menentukan status Indeks Massa Tubuh dapat menggunakan variabel fuzzy. Berikut adalah gambar himpunan fuzzy dengan variabel indeks massa tubuh.

Kurus Kurus Normal Obesitas Obesitas Berat Ringan Ringan Berat 1

0.5

0

0 10 15 17 18 20 25 27 30

Gambar III.1.

Himpunan fuzzy pada variabel Indeks Massa Tubuh

(47)

26

Maka fungsi keanggotaannya dapat dirumuskan sebagai berikut :

1. Fungsi keanggotaan status Indeks Massa Tubuh Kurus Tingkat Berat

x ˂ 17

[ ] ( )

( ) ( ) 17 ˂ x ˂ 18,5 0 x > 18,5

2. Fungsi keanggotaan status Indeks Massa Tubuh Kurus Tingkat Ringan x ˂ 17 atau x ˂ 20

[ ] ( )

( ) ( ) 17 ˂ x ˂ 18,5

( ) 18,5 ˂ x ˂ 20

3. Fungsi keanggotaan status Indeks Massa Tubuh Normal 0 x > 18,5 atau x ˂ 25 [ ] ( )

( ) ( ) 18,5 ˂ x ˂ 20

( ) ( ) 20 ˂ x ˂ 25

4. Fungsi keanggotaan status Indeks Massa Tubuh Obesitas Tingkat Ringan 0 x ˂ 25 atau x ˂ 27

[ ] ( )

( ) 20 ˂ x ˂ 25

( ) 25 ˂ x ˂ 27

(48)

5. Fungsi keanggotaan status Indeks Massa Tubuh Obesitas Tingkat Berat

0 x ˂ 25

[ ] ( )

( ) 25 ˂ x ˂ 27

1 x > 27

Untuk menghitung status Indeks Massa Tubuh adalah dengan mengambil nilai keanggotaan fuzzy yang paling mendekati nilai 1 pada setiap fungsi keanggotaan.

Pada metode fuzzy Tsukamoto, setiap konsekuen pada aturan yang berbentuk if – then harus direpresentasikan dengan suatu himpunan fuzzy dengan fungsi keanggotaan. yang dapat diselesaikan menggunakan perhitungan Indeks Massa Tubuh. Dari tabel III.1 batas pengelompokan di atas, maka status Indeks Massa Tubuh dapat diperoleh seperti berikut:

a. IF Batas Ambang Indeks Massa Tubuh <17 THEN status Indeks Massa Tubuh Kurus Tingkat Berat Silahkan Lihat Tips Menambah Berat Badan b. IF Batas Ambang Indeks Massa Tubuh ≥17 AND Batas Ambang Indeks

Massa Tubuh ≤18,5 THEN status Indeks Massa Tubuh Kurus Tingkat Ringan Silahkan Lihat Tips Menambah Berat Badan.

c. IF Batas Ambang Indeks Massa Tubuh >18,5 AND Batas Ambang Indeks Massa Tubuh ≤25 THEN status Indeks Massa Tubuh Normal.

d. IF Batas Ambang Indeks Massa Tubuh >25 AND Batas Ambang Indeks Massa Tubuh ≤27 THEN status Indeks Massa Tubuh Obesitas Tingkat Ringan Silahkan Lihat Panduan Diet Berdasarkan Golongan Darah.

(49)

28

e. IF Batas Ambang Indeks Massa Tubuh >27 THEN status Indeks Massa Tubuh Gemuk Tingkat berat Silahkan Lihat Panduan Diet Berdasarkan Golongan Darah.

Rumus-rumus di atas apabila diimplementasikan pada bahasa pemrograman java seperti berikut

double hs=0;

{hs=(dBB)/((dTB*dTB)/(100*100));}

String hasil="-";

String ps="?";

if(hs<17){hasil="Kurus Tingkat Berat";ps="Tips Menambah Berat Badan";}

else if(hs>17 && hs <=18.5){hasil="Kurus Tingkat Ringan";ps="Tips Menambah Berat Badan";}

else if(hs>18.5 && hs <=25){hasil="Normal";ps="Selamat Anda Normal";}

else if(hs>25 && hs <=27){hasil="Obesitas Ringan";ps="Panduan Diet;}

else {hasil="Obesitass Berat";ps="Panduan Diet;}

keterangan.setText(hasil);

Toast.makeText(detailTBBB.this, ps,Toast.LENGTH_LONG).show();

Tabel III.2

Tabel Panduan Diet Berdasarkan Golongan Darah.

Panduan Diet Berdasarkan Golongan darah Golongan

Darah A

Golongan Darah B

Golongan Darah AB

Golongan Darah O

Makanan yang di anjurkan

Makanan yang di anjurkan

Makanan yang di anjurkan

Makanan yang di anjurkan Makanan yang

di hindari

Makanan yang di hindari

Makanan yang di hindari

Makanan yang di hindari

Informasi Informasi Informasi Informasi

Sumber : http://www.isdaryanto.com/diet-sesuai-golongan-darah

Untuk Panduan diet berdasarkan golongan darah kita mengunakan metode fuzzy Pada metode fuzzy Tsukamoto, setiap konsekuen pada aturan yang berbentuk if – then harus direpresentasikan dengan suatu himpunan fuzzy dengan

(50)

fungsi keanggotaan. batas pengelompokan di atas, maka status Panduan diet berdasarkan golongan darah dapat diperoleh seperti berikut:

a. IF Panduan Diet Berdasarkan Golongan Darah AND Golongan Darah A THEN Makanan Yang Di Anjurkan dan Makanan Yang Di Hindari.

b. IF Panduan Diet Berdasarkan Golongan Darah AND Golongan Darah B THEN Makanan Yang Di Anjurkan dan Makanan Yang Di Hindari.

c. IF Panduan Diet Berdasarkan Golongan Darah AND Golongan Darah AB THEN Makanan Yang Di Anjurkan dan Makanan Yang Di Hindari.

d. IF Panduan Diet Berdasarkan Golongan Darah AND Golongan Darah O THEN Makanan Yang Di Anjurkan dan Makanan Yang Di Hindari.

3.2.2. Database

Database adalah kumpulan data logis yang saling terkait, dan sebuah deskripsi data, desain untuk memenuhi kebutuhan dari sebuah organisasi. Android menyediakan database relasional yang ringan untuk setiap aplikasi menggunakan SQLite. SQLite adalah sebuah embedded database dan open source database yang menggabungkan antarmuka SQL dengan memori yang sangat kecil dan kecepatan yang baik. Dalam pembuatan aplikasi ini penulis menggunakan 2 database. Dalam setiap database terdapat satu tabel, yaitu table user yang terdapat dalam database data user dan table IMT yang terdapat dalam database imt.

(51)

30

Tabel III.3 Tabel Data User

Kolom Tipe Atribut Panjang Keterangan

id Integer Primary Key 11 Untuk menyimpan data id user

nama Text - 50 Untuk menyimpan data nama

usia Text - 5 Untuk menyimpan data usia

jenis_kelamin Text - 15 Untuk menyimpan data jenis kelamin

Tabel III.4 Tabel Data IMT

Kolom Tipe Atribut Panjang Keterangan

id Integer Primary Key 11 Untuk menyimpan data id IMT iduser Text - 50 Untuk mengambil data dari table user

tanggal Text - 15 Untuk menyimpan data tanggal

timbang

tb Text - 5 Untuk menyimpan data tinggi badan

bb Text - 5 Untuk menyimpan data berat badan

mt Text - 10 Untuk menimpan data IMT

keterangan Text - 50 Untuk menyimpan data status IMT

(52)

1. ERD ( Entity Relational Diagram )

USER Menghitung IMT

nama usia

id Jenis_kelamin

Id user

tanggal tb

id

bb

mt

keterangan

1 1

Gambar III.2.

Entity Relational Diagram

3.2.3. Software Architecture

Berikut ini adalah sedikit pseudo code dari aplikasi Panduan Diet Bedasarkan Golongan Darah.

A. Pseudo Code Algoritma

1. Pseudo code Algoritma Aplikasi //Tombol ImageView Aplikasi

ImageView login=(ImageView)findViewById(R.id.login);

login.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {

Intent i = new Intent(menuutama.this, listdatauser.class);

startActivity(i);

}});

2. Pseudo code Algoritma Data User

//Tombol ImageView Data User

ImageView datuser=(ImageView)findViewById(R.id.datuser);

datuser.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {

Intent i = new Intent(menuuser.this, Datauser.class);

i.putExtra("_iduser",_iduser);

startActivity(i);

}});

3. Pseudo code Algoritma Kalkulator IMT

//Tombol ImageView Hitung IMT ImageView Kalkulator=(ImageView) findViewById(R.id.kalkulator);

(53)

32

kalkulator.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {

Intent i = new Intent(menuuser.this, detailTBBB.class);

i.putExtra("_iduser",_iduser);

startActivity(i);

}});

4. Pseudo code Algoritma Grafik

//Tombol ImageView Grafik

ImageView grafik=(ImageView)findViewById(R.id.grafik);

grafik.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {

Intent i = new Intent(menuuser.this, grafik.class);

i.putExtra("_iduser",_iduser);

startActivity(i);

}});

5. Pseudo code Algoritma Histori

//Tombol ImageView Histori

ImageView history=(ImageView)findViewById(R.id.histori);

history.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {

Intent i = new Intent(menuuser.this, listdataTBBB.class);

i.putExtra("_iduser",_iduser);

startActivity(i);

}});

6. Pseudo code Algoritma Panduan Diet Golongan Darah

//Tombol ImageView Panduan Diet Golongan Darah ImageView

panduandiet=(ImageView)findViewById(R.id.panduandiet);

panduandiet.setOnClickListener(newView.OnClickListener() {

public void onClick(View arg0) { Intent i = new Intent(menuuser.this, panduandietgolongandarah.class);

i.putExtra("_iduser",_iduser);

startActivity(i);

}});

7. Pseudo code Algoritma Golongan Darah A

//Tombol ImageView Golongan Darah A

ImageView gola = (ImageView) findViewById (R.id.gola);

gola.setOnClickListener(new View.OnClickListener(){

public void onClick(View arg0) { Intent i = new Intent

(panduandietgolongandarah.this,gola.class);

startActivity(i);

}});

8. Pseudo code Algoritma Golongan Darah B

//Tombol ImageView Golongan Darah B

(54)

ImageView gola = (ImageView) findViewById (R.id.golb);

golb.setOnClickListener(new View.OnClickListener(){

public void onClick(View arg0) { Intent i = new Intent

(panduandietgolongandarah.this,golb.class);

startActivity(i);

}});

9. Pseudo code Algoritma Golongan Darah AB

//Tombol ImageView Golongan Darah AB

ImageView gola = (ImageView) findViewById (R.id.golab);

golab.setOnClickListener(new View.OnClickListener(){

public void onClick(View arg0) { Intent i = new Intent

(panduandietgolongandarah.this,golab.class);

startActivity(i);

}});

10. Pseudo code Algoritma Golongan Darah O

//Tombol ImageView Golongan Darah O

ImageView gola = (ImageView) findViewById (R.id.golo);

golo.setOnClickListener(new View.OnClickListener(){

public void onClick(View arg0) { Intent i = new Intent

(panduandietgolongandarah.this,golo.class);

startActivity(i);

}});

11. Pseudo code Algoritma Tips Menambah Berat Badan

//Tombol ImageView Tips Menambah Berat Badan ImageView

tipsgemuk=(ImageView)findViewById(R.id.tipsgemuk);

tipsgemuk.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0)

{Intent i = new intent

(menuuser.this,tipstambahberat.class);

i.putExtra("_iduser",_iduser);

startActivity(i);

}});

12. Pseudo code Algoritma Profil Saya

//Tombol ImageView Profil Saya

ImageViewprofil=(ImageView)findViewById(R.id.profilsaya;

profil.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {

Intent i = new Intent(menuutama.this, tentang.class);

startActivity(i);

}});

Referensi

Dokumen terkait

Pada uji hayati formulasi cair jamur entomopatogen, mortalitas serangga inang lebih tinggi dan lebih cepat apabila jamur entomopatogen dalam bentuk formulasi cair bila

Di dalam Bab 4 tersebut telah dijelaskan bahwa representasi matrik (penulisan dalam bentuk matrik) dari sebuah operator A dalam basis-basis yang terdiri dari eigenvektor-eigenvektor

Temuan lapangan memberikan kesimpulan pemerintah daerah melalui Dinas Sosial dan BPBD Kabupaten secara kesinambungan bekerjasama dengan Tagana untuk kegiatan mitigasi bencana

Indeks Barthel Modifikasi pada skrining penilaian Activity of Daily Living (ADL) dan Penilaian Risiko Jatuh Pasien Lanjut Usia.. Untuk pengolahan datanya

Untuk perencanaan struktur beton (plat, tangga, balok dan kolom) digunakan kuat tekan beton fc’ = 20 MPa dan tegangan leleh baja fy = 300 MPa. Untuk struktur pondasi

Pelayanan yang secara tepat dan cepat dalam memberikan pelayanan sangat besar pengaruhnya untuk dapat memberikan kepuasan kepada masyarakat, sehingga dalam melayani

Hasil wawancara yang dilakukan pada 8 orang pasien gagal ginjal kronik yang menjalani terapi hemodialisis, semuanya memiliki keluhan pruritus dengan gejala yang

Tidak banyak juga guru yang menggunakan aplikasi Googgle Meet ataupun Zoom untuk melakukan penjelasan terkait materi yang diberikan, namun tidak semua siswa memahami