• Tidak ada hasil yang ditemukan

DAFTAR PUSTAKA. H, Nazruddin Safaat Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika.

N/A
N/A
Protected

Academic year: 2021

Membagikan "DAFTAR PUSTAKA. H, Nazruddin Safaat Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika."

Copied!
13
0
0

Teks penuh

(1)

DAFTAR PUSTAKA

Angraini, Rika D. 2014. Hubungan Indeks Massa Tubuh (IMT), Aktivitas Fisik, Rokok, Konsumsi Buah, Sayur Dan Kejadian Hipertensi Pada Lansia Di Pulau Kalimantan (Analisis Data Riskesdas 2007). UEU. Jakarta.

Anugrah dkk. 2013. Hubungan Obesitas, Aktivitas Fisik, Dan Kebiasaan Merokok dengan Penyakit Diabetes Melitus Tipe 2 Pada Pasien Rawat Jalan Rumah Sakit Dr. Wahidin Sudirohusodo Makassar. Jurnal Vol.1, no.6, 2013.

American Diabetes Association (ADA). American Diabetes Association’s Clinical Practice Recommendations 2008. Diabetes Care. Vol 31, No. 1. January 2008.

H, Nazruddin Safaat. 2012. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika.

International Diabetes Federation. 2005. The Diabetic Foot: Amputations are Preventable. [http://www.idf.org/position-statement-diabetic-foot].[Diakses:

15 Desember 2015].

Irawan.2012.Membuat aplikasi Android Untuk Orang Awam. Palembag : Maxikom.

Irawan, Dedi. 2010. Prevalensi dan Faktor Risiko Kejadian Diabetes Melitus Tipe 2 di Daerah Urban Indonesia (Analisa Data Sekunder Riskesdas 2007). Thesis Universitas Indonesia.

Mukharromah, 2010.,Sistem Pakar Diagnosa Penyakit Diabetes Berbasis Web, Skripsi Teknik Informatika, IST AKPRIND.

Nugroho, Adi. 2010. Rekayasa Perangkat Lunak Berorientasi Objek.

Yogyakarta :Andi.

(2)

Nurhayati, Siti. 2010. Gaya Hidup dan Status Gizi Serta Hubungannya Dengan Hipertensi dan Diabetes Melitus Pada Pria dan Wanita Dewasa di DKI Jakarta.

Thesis Institut Pertanian Bogor.

PERKENI, 2011, Konsensus Pengobatan dan Pencegahan Diabetes Melitus Tipe 2 di Indonesia. Jakarta.

Roger, S. Pressman, Ph.D. , 2012, Rekayasa Perangkat Lunak (Pendekatan Praktisi) Edisi 7 : Buku 1 , Yogyakarta: Andi.

Siswanto.2010. Sistem Pakar Untuk Memecahkan Masalah Personal Digital Asisten(PDA).

Suprianto, Dodit dan Rini Agustina. 2012. Pemograman Aplikasi Android.

Yogyakarta: MediaKom.

Satzinger, Jackson, Burd. 2010. System Analisis and Design with the Unified Process.

USA: Course Technology, Cengage Learning.

Soegondo , Sidartawan .2011.Hidup Secara Mandiri Dengan Diabetes Melitus, Kencing Manis, Sakit Gula FKUI. Jakarta.

Sommerville, Ian. 2011. Software Engineering (Rekayasa Perangkat. Lunak). Jakarta:

Erlangga. [2] Wahana Komputer. 2011.

Tjokroprawiro, Askandar. 2001. Diabetes Melitus, Klasifikasi,Diagnosa dan Terapi.

Gramedia Pustaka Utama; Jakarta

Turban, E., Aronson., 2005., Decision Support System and Intelligent System Jilid 2, Prantice Hall International Inc, 7edition, New Jersey.

Waspadji S. Telaah Mengenai Metabolik dan Respon Imun pada Pasien DM tipe 2 . Jakarta:Program Pasca Sarjana UI ,2000.

(3)

LAMPIRAN

package com.cheyrien.diabetescare.fragment;

import android.app.AlarmManager;

import android.app.AlertDialog;

import android.app.PendingIntent;

import android.app.TimePickerDialog;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.os.Bundle;

import android.support.design.widget.Snackbar;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.EditText;

import android.widget.LinearLayout;

import android.widget.ListView;

import android.widget.Spinner;

import android.widget.TextView;

import android.widget.TimePicker;

import android.widget.Toast;

import com.cheyrien.diabetescare.R;

import com.cheyrien.diabetescare.adapter.SelectedMakananAdapter;

import com.cheyrien.diabetescare.application.MyApplication;

import com.cheyrien.diabetescare.background.MyReceiver;

import com.cheyrien.diabetescare.db.SQLHelper;

import com.cheyrien.diabetescare.model.ItemJadwalMakan;

import com.cheyrien.diabetescare.model.JadwalMakan;

import com.cheyrien.diabetescare.model.Kondisi;

import com.cheyrien.diabetescare.model.Makanan;

import com.cheyrien.diabetescare.service.JadwalMakanService;

import com.cheyrien.diabetescare.service.KondisiService;

import com.cheyrien.diabetescare.service.MakananService;

(4)

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Calendar;

import java.util.Date;

import java.util.List;

/**

* Created by Cheyrien on 1/25/16.

*/

public class JadwalMakanFragment extends Fragment { private View view;

private TextView totalKaloriTextView,kkaltargetTextView;

private Spinner kategoriSpinner;

private EditText targetKaloriTextView, waktuTextView;

private Button setWaktuButton, tambahMakananButton, resetButton, simpanButton;

private ListView listView;

private ArrayAdapter<CharSequence> kategoriAdapter;

private SelectedMakananAdapter selectedMakananAdapter;

private List<ItemJadwalMakan> selectedMakananList;

private List<Makanan> makananList;

private List<Integer> qtySelectedMakananList;

private Kondisi kondisi;

private KondisiService kondisiService;

private int id;

private SQLHelper sqlHelper;

private MakananService makananService;

private JadwalMakanService jadwalMakanService;

private JadwalMakan jadwalMakan;

private int selectedMakanan =0;

private int totalKalori = 0;

private PendingIntent pendingIntent;

public Double kalmakan;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

(5)

Bundle savedInstanceState) {

view = inflater.inflate(R.layout.fragment_form_jadwal_makan, container, false);

initView();

this.getActivity().setTitle("Jadwal Makan");

this.sqlHelper = new SQLHelper(getContext());

this.makananService = new MakananService(sqlHelper);

this.jadwalMakanService = new JadwalMakanService(sqlHelper);

//kondisi = kondisiService.find(1);

this.makananList = makananService.findAll();

if(getArguments() != null){

if(getArguments().containsKey("id")){

id = getArguments().getInt("id");

} }

if(id >0){

this.jadwalMakan = jadwalMakanService.find(id);

this.selectedMakananList = jadwalMakanService.getMakananItems(id);

fillValue();

}else{

this.selectedMakananList = new ArrayList<>();

}

return view;

}

private void initView(){

this.totalKaloriTextView = (TextView)

view.findViewById(R.id.totalKaloriextView);

this.kategoriSpinner = (Spinner) view.findViewById(R.id.spinner1);

this.targetKaloriTextView = (EditText)

view.findViewById(R.id.editText1);

this.kkaltargetTextView

=(TextView)view.findViewById(R.id.kkalTextView);

this.waktuTextView = (EditText) view.findViewById(R.id.editText2);

this.simpanButton = (Button) view.findViewById(R.id.button1);

this.resetButton = (Button) view.findViewById(R.id.button2);

this.tambahMakananButton = (Button) view.findViewById(R.id.button3);

this.setWaktuButton = (Button) view.findViewById(R.id.button4);

this.listView = (ListView) view.findViewById(R.id.listView);

(6)

kategoriAdapter = ArrayAdapter.createFromResource(getContext(), R.array.kategori_jadwal_makan,

android.R.layout.simple_spinner_dropdown_item);

kategoriSpinner.setAdapter(kategoriAdapter);

this.setWaktuButton.setOnClickListener(setWaktuClick());

this.tambahMakananButton.setOnClickListener(setOnTambahMakanan());

this.simpanButton.setOnClickListener(setSimpanClick());

this.resetButton.setOnClickListener(setResetOnClick());

}

private View.OnClickListener setSimpanClick(){

return new View.OnClickListener() {

@Override

public void onClick(View v) {

save();

} };

}

private View.OnClickListener setResetOnClick(){

return new View.OnClickListener() {

@Override

public void onClick(View v) {

selectedMakananList = new ArrayList<>();

targetKaloriTextView.setText("");

waktuTextView.setText("");

selectedMakananAdapter.notifyDataSetChanged();

} };

}

private void fillValue(){

if(jadwalMakan !=

null){ this.kategoriSpinner.setSelection(kategoriAdapter.getPosition(jadwalMa

kan.getKategori()));

if (this.kategoriSpinner.getSelectedItem().toString()=="Sarapan"){

kalmakan=kondisi.getBasal();

this.targetKaloriTextView.setText(String.valueOf(kalmakan));

}

(7)

this.targetKaloriTextView.setText(String.valueOf(jadwalMakan.getTarget_kkal() ));

this.waktuTextView.setText(jadwalMakan.getWaktu());

}

if(selectedMakananList != null){

selectedMakananAdapter = new SelectedMakananAdapter(getContext(), selectedMakananList, makananList);

listView.setAdapter(selectedMakananAdapter);

totalKalori = hitungTotalKalori();

totalKaloriTextView.setText("JUMLAH KALORI : " + String.valueOf(totalKalori) + " kkal");

} }

private View.OnClickListener setWaktuClick(){

return new View.OnClickListener() {

@Override

public void onClick(View v) {

Calendar mcurrentTime = Calendar.getInstance();

int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);

int minute = mcurrentTime.get(Calendar.MINUTE);

TimePickerDialog mTimePicker;

mTimePicker = new TimePickerDialog(getContext(), new TimePickerDialog.OnTimeSetListener() {

@Override

public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {

waktuTextView.setText( selectedHour + ":" + selectedMinute);

}

}, hour, minute, true);

mTimePicker.setTitle("Select Time");

mTimePicker.show();

} };

}

private View.OnClickListener setOnTambahMakanan(){

return new View.OnClickListener() {

@Override

public void onClick(View v) {

(8)

AlertDialog.Builder builderSingle = new AlertDialog.Builder(getContext());

builderSingle.setIcon(R.drawable.ic_menu_manage);

builderSingle.setTitle("Select One Name:-");

final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(getContext(), android.R.layout.select_dialog_singlechoice);

for(int i=0; i<makananList.size(); i++){

Makanan makanan = makananList.get(i);

arrayAdapter.add(makanan.getNama() + "(" + makanan.getKalori() + " kkal)");

{

}

builderSingle.setNegativeButton( "Cancel", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which)

dialog.dismiss();

} });

builderSingle.setAdapter(arrayAdapter,

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

selectedMakanan = which;

showDialogTakaran();

dialog.dismiss();

} });

builderSingle.show();

} };

}

private void showDialogTakaran(){

(9)

AlertDialog.Builder builderSingle = new AlertDialog.Builder(getContext());

builderSingle.setIcon(R.drawable.ic_menu_manage);

builderSingle.setTitle("Input jumlah takaran:-");

final EditText input = new EditText(getActivity());

builderSingle.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

} });

builderSingle.setPositiveButton("Ok",

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) { if(isValidInteger(input.getText().toString())){

Makanan m = makananList.get(selectedMakanan);

ItemJadwalMakan item = new ItemJadwalMakan();

item.setMakanan_id(m.getId());

item.setJadwal_makan_id(id);

item.setJumlah(Integer.parseInt(input.getText().toString()));

selectedMakananList.add(item);

selectedMakananAdapter = new

SelectedMakananAdapter(getContext(), selectedMakananList, makananList);

listView.setAdapter(selectedMakananAdapter);

totalKalori = hitungTotalKalori();

totalKaloriTextView.setText("JUMLAH KALORI : " + String.valueOf(totalKalori) + " kkal");

dialog.dismiss();

}else{

Toast.makeText(getContext(), "Input harus angka", Toast.LENGTH_SHORT).show();

}

} });

(10)

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(

LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);

input.setLayoutParams(lp);

builderSingle.setView(input);

builderSingle.show();

}

public static Boolean isValidInteger(String value) { try {

Integer val = Integer.valueOf(value);

if (val != null) return true;

else

return false;

} catch (NumberFormatException e) { return false;

} }

public void save(){

if(jadwalMakan == null){

jadwalMakan = new JadwalMakan();

//

jadwalMakan.setTarget_kkal(targetKaloriTextView.getText().toString());

jadwalMakan.setWaktu(waktuTextView.getText().toString());

jadwalMakan.setKategori(kategoriSpinner.getSelectedItem().toString());

id = jadwalMakanService.create(jadwalMakan);

if(id > 0){

for (int i=0; i<selectedMakananList.size();i++){

ItemJadwalMakan item = selectedMakananList.get(i);

item.setJadwal_makan_id(id);

jadwalMakanService.createItem(item);

}

Snackbar.make(view, "Data telah disimpan", Snackbar.LENGTH_LONG).setAction("Action", null).show();

(11)

}else{

Snackbar.make(view, "Data gagal disimpan", Snackbar.LENGTH_LONG).setAction("Action", null).show();

} }else{

// jadwalMakan.setTarget_kkal(Double.parseDouble(Kondisi.BASAL));

jadwalMakan.setTarget_kkal(Double.parseDouble(targetKaloriTextView.getText().

toString()));

jadwalMakan.setWaktu(waktuTextView.getText().toString());

jadwalMakan.setKategori(kategoriSpinner.getSelectedItem().toString());

jadwalMakanService.update(jadwalMakan);

Snackbar.make(view, "Data telah disimpan", Snackbar.LENGTH_LONG).setAction("Action", null).show();

} }

private int hitungTotalKalori(){

int res = 0;

if(selectedMakananList != null){

for(int i=0; i< selectedMakananList.size(); i++){

ItemJadwalMakan item = selectedMakananList.get(i);

Makanan makanan = getMakanById(item.getMakanan_id());

res += item.getJumlah() * makanan.getKalori();

} }

return res;

}

private Makanan getMakanById(int id){

for(int i =0; i< makananList.size() ; i++){

Makanan m = makananList.get(i);

if(m.getId() == id){

return m;

}

(12)

}

return null;

}

private void makeRemider(String datetime, String title, String msg, int id){

try {

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm");

Date date = formatter.parse(datetime);

MyApplication myapp = (MyApplication) getActivity().getApplication();

myapp.notifTitle = title;

myapp.notifMsg = msg;

Intent myIntent = new Intent(getActivity(), MyReceiver.class);

pendingIntent = PendingIntent.getBroadcast(getActivity(), id, myIntent, PendingIntent.FLAG_ONE_SHOT);

AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);

alarmManager.set(AlarmManager.RTC_WAKEUP, date.getTime(), pendingIntent);

} catch (ParseException e) { e.printStackTrace();

}

}

private void cancelReminder(int id){

Intent myIntent = new Intent(getActivity(), MyReceiver.class);

pendingIntent = PendingIntent.getBroadcast(getActivity(), id, myIntent, PendingIntent.FLAG_ONE_SHOT);

AlarmManager alarmManager = (AlarmManager)

getActivity().getSystemService(Context.ALARM_SERVICE);

alarmManager.cancel(pendingIntent);

} }

(13)

Referensi

Dokumen terkait

Samudranesia Tour and Travel Pekanbaru karena, dengan promosi yang tepat seperti pada dimensi periklanan, promosi penjualan, hubungan masyarakat yang memiliki skor

– Status solusi ( solution state ): satu atau lebih status yang menyatakan solusi persoalan. •

bahwa dalam rangka mewujudkan akuntabilitas penatausahaan keuangan dalam penanggulangan bencana alam/non alam/sosial di lingkungan Pemerintah Kabupaten Kendal, maka

JUDUL : SALING MENGUATKAN DAN BERBAGI MEDIA : TEMPO. TANGGAL : 16

Berdasarkan Surat Keputusan Kepala Dinas Pendidikan Provinsi Jawa Timur Nomor: ……… tanggal ………2014 dalam hal ini bertindak untuk dan atas nama

LAMPIRAN

Apabila pada Halaman Transaksi Penjualan (1), bagian penjualan menuliskan tanggal pesan dan id agen untuk pesanan yang sudah dibayar maka akan muncul pesan seperti

Bumi yang kaya ini jika dikelola dengan baik akan membuat setiap rakyat Indonesia bisa memperoleh kemakmuran yang luar biasa sehingga bisa jadi suatu saat rakyat Indonesia sudah