perpustakaan.uns.ac.id digilib.uns.ac.id 2 BAB II LANDASAN TEORI 2.1 Tinjauan Pustaka Penelitian yang berhubungan dengan topik yang penulis bahas salah satunya adalah Tugas Akhir yang disusun oleh Ayu Pramyta Rachmawati (2012), Mahasiswi Program Studi Sistem Informasi Universitas Pembangungan Nasional, dengan judul “Aplikasi Pengatur Pola Hidup Sehat Berbasis Android” dengan tujuan penelitian untuk membuat aplikasi android untuk mengatur pola makan dan hidup sehat serta memberikan informasi konsumsi kalori perhari kepada pengguna. Berikutnya adalah jurnal yang disusun Rohaeniah (2014), mahasiswi jurusan Sistem Informasi Sekolah Tinggi Manajemen Informatika dan Komputer AMIKOM Yogyakarta, yang berjudul “Aplikasi Pola Hidup Sehat Vegetarian Berbasis Android” dengan tujuan penelitian untuk memudahkan masyarakat umum dan pecinta vegetarian yang ingin belajar pola hidup sehat diperlukan sebuah media yang memandu serta memberikan informasi dengan cepat tanpa terbatas oleh ruang dan waktu. Kelemahan aplikasi ini hanya terpusat pada cara menerapkan pola hidup sehat seperti para vegetarian. Oleh karena itu dapat dikembangkan dengan memperluas cakupan penggunanya. Meninjau dari beberapa penelitian yang sudah dilakukan, penulis membuat sebuah Aplikasi Mobile dan Website “Your Needs” Guna Membantu Pola Hidup Sehat Berbasis Android dan CodeIgniter dengan menggunakan framework codeigniter yang berfungsi memberikan kemudahan dalam menjaga pola hidup sehat dan menghindari obesitas. Pada penelitian ini, penulis menambahkan fasilitas review resto pada Kota Surakarta, Informasi Nilai Gizi, dan Reminder yang akan membantu terwujudnya tujuan penulis dalam membantu menjaga pola hidup sehat para pengguna Aplikasi dan pengunjung Website penulis. commit to user 5 perpustakaan.uns.ac.id digilib.uns.ac.id 2.1.1 Berat Badan Ideal Rumus untuk menghitung berat badan ideal telah ada sejak seabad lalu. Rumus berat badan ideal pertama dibuat oleh seorang ahli bedah Perancis bernama Dr.P.P.Broca pada tahun 1897. Seiring berjalannya waktu, rumus Broca telah mengalami berbagai modifikasi. Hal ini setidaknya dapat dilihat dari beberapa kutipan dibawah ini. 1. Rumus Broca seperti yang dikutip dari tulisan Steven B.Halls (2005) adalah : Wanita : Berat Badan Ideal(kg) = Tinggi Badan (cm) – 100 ± 15% Pria: Berat Badan Ideal(kg) = Tinggi Badan (cm) – 100 ± 10% 2. Rumus Broca yang dikutip dari publikasi di Website Depkes RI adalah : Bobot badan ideal (kg) = 90% x {tinggi badan (cm) - 100} x 1 kg Khusus untuk pria dengan tinggi badan kurang dari 160 cm dan wanita kurang dari 150 cm, digunakan rumus : Bobotbadan ideal (kg) = {tinggi badan (cm) - 100} x 1 kg Interpretasi : seseorang dikatakanunderweight bila bobot badannya kurang dari 90% bobot badan ideal. 3. Rumus Broca yang dikutip dari Pikiran Rakyat adalah : (Tinggi Badan - 100) - 10% (Tinggi Badan - 100) , untuk usia <= 30 thTinggi Badan - 100, untuk usia > 30 th Karna banyaknya referensi untuk penghitungan berat badan ideal, maka dari itu pada aplikasi Your Needs hanya mengacu pada satu rumus saja yaitu Rumus Broca yang dikutip dari Publikasi di Website Depkes RI. commit to user 6 perpustakaan.uns.ac.id digilib.uns.ac.id 2.1.2 Indek Massa Tubuh (IMT) Berikut adalah rumus yang digunakan untuk menentukan IMT. Langkah 1 : Tinggi badan (dalam satuan cm) dibagi dengan angka 100, lalu dikuadratkan. Jadi, jika tinggi badan 165 cm,(165/ 100)2 =2,72 Langkah 2 : begi berat badan (dalam satuan kg) dengan angka yang didapatkan dari langkah 1. Jadi jika berat badan 68 kg, (68/2,72)=25. Nilai IMT adalah 25. Keterangan : Kurang berat badan = kurang dari 18,5 Berat badan normal = 18,5 – 25 Kelebihan berat badan = 25 – 27 Obesitas = lebih dari 27. (The Doctors, 2010). 2.1.3 Kamus Makanan dan Minuman Daging Ayam Kandungan gizi pada daging ayam antara lain : a. 302 kkal energi b. 18,2 gram protein c. 29 gram lemak d. 0 gram karbohidrat e. 14 mg kalsium f. 200 mg fosfor g. 2 mg zat besi h. 810 IU vitamin A i. 0,08 mg vitamin B1 j. 0 mg vitamin C commit to user 7 perpustakaan.uns.ac.id digilib.uns.ac.id Contoh olahan daging ayam yang tidak terlalu berisiko untuk dikonsumsi antara lain : a. Steak Ayam, mengandung 250 kalori. b. Ayam Goreng Kalasan, mengandung 200 kalori perpotong. Variasikan dengan temped an sayuran. c. Sate Ayam, mengandung 300 kalori per 10 tusuk. Makanlah bukan dengan ketupat atau lontong, melainkan nasi. d. Ayam bumbu rujak, mengandung 200 kalori per potong. Daging Sapi Contoh olahan daging sapi antara lain : a. Steak sapi, mengandung 350 kalori. Usahakan untuk mengonsumsi steak jenis tenderloin. Makanan ini boleh disantap pada malam hari tanpa nasi. b. Bakso, mengandung 600 kalori. Makanlah saat siang tanpa mie atau ketupat. c. Konro/iga bakar, mengandung 500 kalori. Makanlah secukupnya dan jangan berlebihan karena kandungan lemak yang dimiliki cukup tinggi. Konsumsilah pada siang hari. d. Sop Buntut, mengandung 700 kalori. Makanlah dengan setengah porsi nasi putih. Kadangkala buntutnya bisa digoreng. e. Sosis sapi, mengandung 400 kalori per 100 gram. Jangan terlalu sering memakan sosis ini, hanya sesekali saja jika ingin. Carilah sosis yang berwarna cokelat bukan merah. Telur Rebus Telur rebus mengandung 165 kalori. Bagi usia 45 tahun keatas konsumsilah 2 butir telur dengan hanya satu kuning telur. Lebih baik tidak mengolah telur dalam bentuk setengah matang karena telur memiliki zat antigizi, seperti avidin yang bisa menyebabkan beban kerja ginjal dan ovomucoid yang dapat memicu penyakit katarak, bahkan bakteri commit to user berbahaya.(Yohanes,2015). 8 salmonela pun terbukti perpustakaan.uns.ac.id digilib.uns.ac.id 2.2 Landasan Teori 2.2.1 Aplikasi Aplikasi adalah penerapa dari rancangan sistem untuk mengolah data yang menggunakan aturan atau ketentuan Bahasa pemrograman tertentu untuk menghasilkan informasi yang terpadu dengan menggunakan computer sebagai sarana penunjang. Selain itu aplikasi juga digunakan sebagi program yang siap dibuat untuk melaksanakan suatu fungsi bagi pengguna jasa aplikasi. Saat ini pembuatan aplikasi sudah menjadi suatu proses produksi yang sangat kompleks dengan urutan proses yang panjang dengan bisa melibakan banyak orang. (Safaat,2011). 2.2.2 Mobile Mobile diartikan sebagai perpindahan yang mudah dari suatu tempat ke tempat yang lain, misalnya telepon mobile berarti bahwa terminal telepon yang dapat berpindah dengan mudah dari suatu tempat ke tempat lain tanpa terjadi pemutusan atau terputusnya komunikasi. Mobile juga bisa digunakan kemanapun sehingga tida perlu disambungkan dengan jaringan telepon kabel. Sampai saat ini banyak perkembangan mobile yang sangat beragam. (Safaat,2011). 2.2.3 Aplikasi Mobile Aplikasi mobile adalah sebuah aplikasi yang memungkinkan user melakukan mobilitas dengan menggunakan perlengkanapan seperti PDA, telepon seluler atau handphone. Dengan menggunakan aplikasi mobile, user dapat dengan mudah melakukan berbagai macam aktifitas mulai dari hiburan, berjualan, belajar, mengerjakan pekerjaan kantor, browsing dan lain sebagainya. (Safaat,2011). 2.2.4 Java Java adalah suatu teknologi di dunia software computer, selain merupakan suatu Bahasa pemrograman, java juga merupakan suatu platform. Java merupkan teknologi dimana teknoligi commit to user tersebut mencakup java sebagai 9 perpustakaan.uns.ac.id digilib.uns.ac.id Bahasa pemrograman tersendiri, juga mencakup java sebagai platform dimana teknologi ini memiliki virtual machine dan library yang diperlukan untuk menulis dan menjalankan program yang ditulis dengan Bahasa pemrograman java. Java 2 platform dibagi menjadi 3 kategori, yaitu : a) Java 2 Standard Edition (J2SE) Kategori ini digunakan untuk mengembangkan dan menjalankan aplikasi Java berbasis PC. b) Java 2 Enterprise Edition (J2EE) Kategori ini digunakan untuk mengembangkan dan menjalankan aplikasi java pada lingkungan enterprise dengan fungsi-fungsi seperti Enterprise Java Bean (EJB), Servlet, dan Java Server Page (JSP). c) Java 2 Micro Edition (J2ME) Kategori ini digunakan untuk mengembangkan dan menjalankan aplikasi java berbasis handled device, seperti Personal Digital Assistant(PDA), handphone, dan pocketPC. (Rickyanto,2003). 2.2.5 Java Script JavaScript adalah suatu Bahasa script yang dikembangkan oleh Netscape untuk membuat dokumen yang dinamis. JavaScript merupakan Bahasa pemrograman yang mempunyai kemiripan dengan Bahasa pemrograman C. JavaScript juga dikenal sebagai sebuah kode pemrograman berorientasi objek (Object Oriented Programming) disingkat OOP. JavaScript memiliki keistimewaan untuk ditambahkan pada kode HTML dan membuat dokumen menjadi lebih interaktif. Sebagaimana dengan Bahasa pemrograman, JavaScript mempunyai aturan dasar dan format sendiri. JavaScript dapat melakukan fungsi-fungsi secara otomatis untuk menghitung dan membuat web lebih interaktif. Agar browser mengenali statement JavaScript maka digunakan tagScript. (Wahana Komputer,2001) commit to user 10 perpustakaan.uns.ac.id 2.2.6 digilib.uns.ac.id Object Oriented Programming (OOP) Object Oriented Programming (OOP) adalah sebuah pendekatan untuk pengembangan atau development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi objek dalam penyelesaian suatu proses. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar objek tersebut. Objek akan merespon pesan tersebut menjadi sebuah tindakan atau metode. Bahasa pemrograman berbasis objek menyediakan mekanisme untuk bekerja dengan kelas dan objek, methods, inheritance, polymorphism, dan reusability. Object Oriented Programs terdiri dari objek yang berinteraksi satu sama lainnya untuk menyelesaikan tugas. Seperti dunia nyata, user dari software program dilibatkan dari logika proses untuk menyelesaikan tugas. (Rickyanto,2003). 2.2.7 Basis Data Basis data dapat dipahami sebagai suatu kumpulan data terhubung (interrelated data) yang disimpan secara bersama-sama pada suatu media. Data disimpan dengan cara-cara tertentu sehingga mudah untuk digunakan atau ditampilkan kembali. Data dapat digunakan oleh satu atau lebih program aplikasi secara optimal. Data disimpan sedemikian rupa sehingga proses penambaan, pengambilan dan modifikasi data dapat dilakukan dengan mudah dan terkontrol. (Sutanta,2004). Tujuan basis data yang efektif termuat dibawah ini: 1. Memastikan bahwa data dapat dipakai diantara pemakai untuk berbagai aplikasi. 2. Memelihara data baik keakuratan maupun kekonsistenannya. 3. Memastikan bahwa semua data yang diperlukan untuk aplikasi sekarang dan yang akan datang akan disediakan dengan cepat. Basis Data terdiri dari dua kata, yaitu Basis dan Data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat commit to user bersarang/berkumpul. Sedangkan data adalah representasi fakta dunia nyata 11 perpustakaan.uns.ac.id digilib.uns.ac.id yang mewakili suatu objek.Basis data dapat didefinisikan dalam sejumlah sudut pandang (Fathansyah, 2012): a. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedimikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. c. Kumpulan file/arsip/tabel yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Relational Key pada basis data terdiri dari beberapa key (Indrajani, 2011) : a. Superkey Merupakan atribut atau himpunan atribut yang mengidentifikasi secara unik tuple-tuple yang ada dalam relasi. b. Candidate Key Merupakan superkey (K) dalam relasi. Untuk setiap relasi R, nilai K akan mengidentifikasi secara unik tuplenya. c. Composite Key Saat suatu Candidate key memiliki lebih dari 1 atribut maka akan disebut Composite key. d. Primary Key Candidate key yang dipilih untuk identifikasi tuple secara unik pada suatu relasi. e. Foreign Key Atribut atau himpunan attribute dalam relasi dibandingkan dengan candidate key pada beberapa relasi. f. Alternate Key Candidate key yang tidak terpilih sebagai primary key. commit to user 12 yang perpustakaan.uns.ac.id 2.2.8 digilib.uns.ac.id MySQL MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya sangat cepat, multi user serta menggunakan perintah dasar SQL(Structured Query Language).MySQL merupakan dua bentuk lisensi, yaitu FreeSoftware dan Shareware. MySQL yang biasa digunakan adalah MySQL Fresoftware yang berada dibawah lisensi GNU/GPL(General Public License). MySQL merupakan sebuah database server yang gratis, artinya bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer database yang bernama Michael Widenius. Selain database server, MySQL juga merupakan program yang dapat mengakses suatu database MySQL yang berposisi pada server, yang berarti program kita berposisi sebagai client. Jadi MySQL adalah sebuah database yang dapat digunakan sebagai client maupun server. Database MySQL merupakan suatu perangkat lunak database yang berbentuk database relasional atau disebut Relational Database Management System (DBMS) yang menggunakan suatu Bahasa permitaan yang bernama SQL. (Ridwan,2009). 2.2.9 JQuery JQuery menggunakan merupakan salah satu JavaScript. Kehadirannya pustaka adalah yang untuk dikembangkan memudahkan penulisan kode JavaScript. Dengan menggunakan JQuery penulisan kode JavaScript menjadi lebih sederhana (kodenya menjadi lebih ringkas). Selain itu pembuatan halaman web yang menarik dan interatif lebih mudah di implementasikan. (Kadir,2011). 2.2.10 Hypertext Processor (PHP) PHP yaitu suatu Bahasa pemrograman yang berbasiskan kode-kode yang digunakan untuk mengolah suatu data dan mengirimnya kembali ke web browser menjadi kode HTML. Kode PHP mempunyai ciri-ciri khusus, yaitu : commit to user a) Hanya dapat dijalankan menggunakan web server, misal : Apache. 13 perpustakaan.uns.ac.id digilib.uns.ac.id b) Kode PHP diletakkan dan dijalankan di web servser c) Kode PHP digunakan untuk mengakses database, seperti : MySQL, Oracle. d) Merupakan software yang bersifat opensource. e) Gratis di download dan digunakan. (Oktavian,2010). 2.2.11 Website Awalnya merupakan suatu layanan penyajian insormasi di internet dengan menggunakan HTML. Web identik dengan internet, karena kepopulerannya saat ini, web sudah menjadi interface aplikasi untuk melakukan transaksi dan sajian informasi yang lengkap dari seluruh dunia. Web memudahkan pengguna komputer untuk berinteraksi dengan pelaku internet lainnya dan menelusuri (informasi) di internet (Sidik, 2001). 2.2.12 Framework Framework adalah sistem perangkat lunak yang dapat digunakan kembali dengan fungsi umum yang telah diterapkan. Framework dapat dikhususkan ke dalam aplikasi yang siap pakai (ready-to-use). Framework juga berfungsi seperti sebuah cetak biru untuk arsitektur dasar dan arsitektur fungsional untuk field aplikasi yang spesifik. Artinya, pengetahuan arsitektur yang terdapat didalam framework seluruhnya dapat diadopsi di dalam aplikasi (Janner, 2010). Meskipun demikian, manfaat dari framework yaitu penggunaan kembali arsitektur dan fungsionalitas yang sederhana masih belum mampu mengatasi kelemahannya, yaitu tingkat dari usaha pelatihan, tidak adanya standar untuk mengintegrasikan framework yang berbeda dan menghasilkan ketergantungan pada manufaktur (Janner, 2010). 2.2.13 Use Case Diagram Use Case Diagram atau diagram use casemerupakan pemodelan untuk menggambarkan kelakuan (behavior) sistem yang akan dibuat. Diagram use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan commit to user 14 perpustakaan.uns.ac.id digilib.uns.ac.id sistem yang akan dibuat. Dengan pengertian yang cepat, diagram use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Terdapat beberapa simbol dalam menggambarkan diagram use case, yaitu use cases, aktor dan relasi. Hal yang perlu diingat mengenai diagram use case adalah diagram use case bukan menggambarkan tampilan antarmuka (user interface), arsitektur dari sistem, kebutuhan nonfungsional, dan tujuan performansi. Sedangkan untuk penamaan use cases adalah nama didefinisikan sesimpel mungkin, dapat dipahami dan menggunakan kata kerja (Kendall, 2002). Tabel 2.1 Tabel Simbol Komponen Use Case Simbol Deskripsi Fungsionalitas Use case nama use case yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor dinyatakan dengan menggunakan kata kerja di awal frase nama use case Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang Aktor / actor akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol nama aktor dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang biasanya dinyatakan menggunakan kata benda di awal frase nama aktor Asosiasi / association Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor commit to user 15 perpustakaan.uns.ac.id digilib.uns.ac.id Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri tambahan itu; walau mirip tanpa use dengan case prinsip inheritance pada pemrograman berorientasi objek biasanya use case tambahan memiliki Ekstensi / extend nama depan yang sama dengan use case yang ditambahkan, misal : <<extend>> validasi username <<extend>> validasi user <<extend>> validasi sidik jari Arah panah mengarah pada use case yang ditambahkan Hubungan generalisasi dan spesialisasi (umum - khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya, misalnya: Generalisasi / ubah data generalization mengelola data hapus data Arah panah mengarah pada use case yang menjadi generalisasinya (umum) commit to user 16 perpustakaan.uns.ac.id digilib.uns.ac.id Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan Menggunakan / memerlukan use case ini untuk menjalankan include / uses fungsinya atau sebagai syarat dijalankan use case ini ada dua sudut pandang yang cukup <<include>> besar mengenai include di use case: Include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan dijalankan, misal pada kasus berikut: «uses» validasi username << include>> login Include berarti use case yang tambahan akan selalu melakukan pengecekan apakah use case yang ditambahkan telah dijalankan sebelum use case tambahan dijalankan, misal pada kasus berikut: validasi user << include>> ubah data Kedua interpretasi di atas dapat dianut salah satu atau pertimbangan keduanya dan tergantung interpretasi pada yang dibutuhkan. Arah panah include mengarah pada use case yang dipakai. commit to user 17 perpustakaan.uns.ac.id 2.2.14 digilib.uns.ac.id Class Diagram Diagram kelas atau class diagram digunakan unutk menampilkan kelas-kelas atau paket-paket di dalam sistem dan relasi antar mereka. Ia memberikan gambaran sistem secara statis. Biasanya, dibuat beberapa diagram kelas untuk sistem. Satu diagram kelas menampilkan subset dari kelas-kelas dan relasinya. Yang lainnya, mungkin menampilkan kelas-kelas termasuk atribut dan operasi dalam kelas-kelas. Data yang lainnya lagi, mungkin menampilkan paket-paket kelas dan relasi antar paket-paket (Kendall, 2003). Tabel 2.2 Tabel Simbol Komponen class diagram Bentuk Komponen Keterangan Kelas deskripsi dari sekumpulan objek yang terdiri dari daftar atribut dan daftar operasi Generalisasi hubungan antara yang lebih umum dan elemen yang lebih spesifik Depedensi hubungan antara dua elemen pemodelan, dimana perubahan ke satu elemen pemodelan (elemen independen) akan mempengaruhi simulasi elemen lainnya 2.2.15 Sequence Diagram Menurut Hermawan (2004), Sequence diagram menjelaskan secara detail urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing commit to user operasi. Pembuatan sequence diagram merupakan aktivitas yang paling 18 perpustakaan.uns.ac.id digilib.uns.ac.id kritikal dari proses desain karena artifak inilah yang menjadi pedoman dalam proses pemrograman nantinya dan berisi aliran control dari program. Sequence diagram biasanya tersusun dari elemen Object, Interaction dan Message. Interaction menghubungkan 2 obyek dengan pesannya. Diagram ini menjelaskan aspek dinamis dari sistem yang sedang dibangun. Simbol - simbol yang ada pada diagram seqeunce (Hermawan, 2004) dapat dilihat pada tabel 2.3 : Tabel 2.3Tabel Simbol-Simbol pada Seqeunce Diagram Simbol Nama Keterangan Aktor/Actor Orang, proses atau sistem na lain yang berinteraksi ma dengan act lain diluar sistem informasi or itu sistem informasi sendiri; dinyatakan biasanya menggunakan kata benda di awal frase nama actor. Garis hidup Menyatakan /lifeline suatu objek. Objek kehidupan Menyatakan objek yang berinteraksi pesan. Waktu aktif Menyatakan objek dalam keadaan aktif dan berinteraksi pesan. Pesan tipe create Pesan tipe commit call to user 19 Menyatakan suatu objek membuat objek lain, arah Menyatakan suatu objek memanggil operasi/metode perpustakaan.uns.ac.id digilib.uns.ac.id yang ada pada objek yang dibuat Pesan tipe send Menyatakan bahwa suatu objek mengirimkan masukkan/informasi data ke objek lainnya, arah panah mengarah ke objek yang dikirim Pesan tipe return Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode yang menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian Pesan tipe Menyatakan Destroy suatu objek commit to user 20 akhir hidup