• Tidak ada hasil yang ditemukan

Aplikasi Resep Masakan Tradisional Indonesia Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Resep Masakan Tradisional Indonesia Berbasis Android"

Copied!
124
0
0

Teks penuh

(1)

LAMPIRAN

1.

Kelas DashboardActivity.java

package com.friska.makanan; import android.app.Activity; import android.app.AlertDialog; import android.net.Uri;

import android.os.Bundle; import android.view.Menu;

import android.view.MenuInflater; import android.view.MenuItem; import android.view.Window; import android.content.Context;

import android.content.DialogInterface; import android.content.Intent;

import android.view.View; import android.widget.Button; import android.widget.Toast;

public class DashboardActivity extends Activity{ static Context context;

@Override

protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView (R.layout.panel_dashboard);

▸ Baca selengkapnya: contoh kliping masakan nusantara

(2)

Button btn_kue = (Button)findViewById(R.id.btn_kue); Button btn_sayur =(Button)findViewById(R.id.btn_sayur); Button btn_daging =(Button)findViewById(R.id.btn_daging); Button btn_ikan = (Button)findViewById(R.id.btn_ikan);

btn_kue.setOnClickListener(new View.OnClickListener() { public void onClick(View view) {

Intent i = new Intent(getApplicationContext(), ListtepungActivity.class);

startActivity(i); }

});

btn_sayur.setOnClickListener(new View.OnClickListener() { public void onClick(View view) {

Intent i = new Intent(getApplicationContext(),

ListsayurActivity.class);

startActivity(i); }

});

btn_daging.setOnClickListener(new View.OnClickListener() {

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

Intent(getApplicationContext(), ListdagingActivity.class); startActivity(i);

} });

btn_ikan.setOnClickListener(new View.OnClickListener() { public void onClick(View view) {

Intent i = new

Intent(getApplicationContext(), ListikanActivity.class); startActivity(i);

(3)

}); }

public static void showToast(String text){

Toast.makeText(context, text, Toast.LENGTH_LONG).show(); }

public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.opt_dashboard, menu); return true;

}

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.url:

Intent intent = null;

intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.sajiansedap.com/"));

startActivity(intent); return true;

case R.id.tentang:

AlertDialog alertDialog; alertDialog = new

AlertDialog.Builder(this).create();

alertDialog.setTitle("Universitas Sumatera Utara");

alertDialog.setMessage("Aplikasi Resep masakan khas Indonesia berbasis Android ini " + "merupakan salah satu syarat kelulusan berupa Tugas Akhir" + " Semoga aplikasi ini bisa bermanfaat untuk " + " kita semua.\n\nSalam, Friska_Samosir,dkk");

alertDialog.setButton("OK",new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss(); }

});

(4)

return true; default:

return super.onOptionsItemSelected(item); }

} }

2.

Kelas DBAdapter.java

package com.friska.makanan; import android.content.Context; import android.database.Cursor;

import android.database.SQLException;

import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log;

public class DBAdapter {

public static final String KEY_ID = "_id"; public static final String KEY_NAME = "nama"; public static final String KEY_KET = "ket"; public static final String TAG = "DBAdapter";

private static final String DATABASE_NAME = "masakan.db"; private static final String TABLE_IKAN = "ikan";

private static final String TABLE_SAYUR = "sayur"; private static final String TABLE_TEPUNG = "tepung"; private static final String TABLE_DAGING = "daging"; private static final int DATABASE_VERSION = 2;

(5)

private static final String IKAN =

"create table ikan (_id integer primary key autoincrement, "

+ "nama text not null, ket text not null);";

private static final String SAYUR =

"create table sayur (_id integer primary key autoincrement, " + "nama text not null, ket text not null);";

private static final String TEPUNG =

"create table tepung (_id integer primary key autoincrement, " + "nama text not null, ket text not null);";

private static final String DAGING =

"create table daging (_id integer primary key autoincrement, " + "nama text not null, ket text not null);";

private final Context context; private DatabaseHelper DBHelper; private SQLiteDatabase db;

public DBAdapter(Context ctx) {

this.context = ctx;

DBHelper = new DatabaseHelper(context); }

private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION); }

(6)

@Override

public void onCreate(SQLiteDatabase db) { try {

db.execSQL(IKAN); db.execSQL(TEPUNG); db.execSQL(SAYUR); db.execSQL(DAGING); } catch (SQLException e) {

e.printStackTrace(); }

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

{

Log.w(TAG, "Upgrade database dari versi " + oldVersion + " ke "

+ newVersion + ", yang akan menghapus semua data lama"); db.execSQL("DROP TABLE IF EXISTS sayur");

onCreate(db); }

}

//---membuka database---

public DBAdapter open() throws SQLException {

db = DBHelper.getWritableDatabase(); return this;

}

(7)

{

DBHelper.close(); }

//menampilkan semua isi tabel database public Cursor getAllSayur()

{

return db.query(TABLE_SAYUR, new String[] {KEY_ID, KEY_NAME, KEY_KET}, null, null, null, null, null);

}

public Cursor getAllIkan() {

return db.query(TABLE_IKAN, new String[] {KEY_ID, KEY_NAME, KEY_KET}, null, null, null, null, null);

}

public Cursor getAllTepung() {

return db.query(TABLE_TEPUNG, new String[] {KEY_ID, KEY_NAME, KEY_KET}, null, null, null, null, null);

}

public Cursor getAllDaging() {

return db.query(TABLE_DAGING, new String[] {KEY_ID, KEY_NAME, KEY_KET}, null, null, null, null, null);

}

//menampilkan sebuah isi tabel database

public Cursor getSingleSayur(int id) throws SQLException {

Cursor cursor = db.query(true, TABLE_SAYUR, new String[] {KEY_ID, KEY_NAME, KEY_KET}, KEY_ID + "=" + id, null, null, null, null, null); if (cursor != null) {

(8)

return cursor; }

public Cursor getSingleIkan(int id) throws SQLException {

Cursor cursor = db.query(true, TABLE_IKAN, new String[] {KEY_ID, KEY_NAME, KEY_KET}, KEY_ID + "=" + id, null, null, null, null, null); if (cursor != null) {

cursor.moveToFirst(); }

return cursor; }

public Cursor getSingleTepung(int id) throws SQLException {

Cursor cursor = db.query(true, TABLE_TEPUNG, new String[] {KEY_ID, KEY_NAME, KEY_KET}, KEY_ID + "=" + id, null, null, null, null, null);

if (cursor != null) { cursor.moveToFirst(); }

return cursor; }

public Cursor getSingleDaging(int id) throws SQLException {

Cursor cursor = db.query(true, TABLE_DAGING, new String[] {KEY_ID, KEY_NAME, KEY_KET}, KEY_ID + "=" + id, null, null, null, null, null);

if (cursor != null) { cursor.moveToFirst(); }

return cursor; }

(9)

3.

Kelas DashboardSetting.java

package com.friska.makanan; /*

* Copyright 2011 Google Inc. *

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at

*

* http://www.apache.org/licenses/LICENSE-2.0 *

* Unless required by applicable law or agreed to in writing, software

* distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

* See the License for the specific language governing permissions and

* limitations under the License. */

import android.content.Context; import android.util.AttributeSet; import android.view.View;

import android.view.ViewGroup;

/**

* Custom layout that arranges children in a grid-like manner, optimizing for even horizontal and

* vertical whitespace. */

public class DashboardSetting extends ViewGroup {

(10)

private int mMaxChildWidth = 0; private int mMaxChildHeight = 0;

public DashboardSetting(Context context) { super(context, null);

}

public DashboardSetting(Context context, AttributeSet attrs) { super(context, attrs, 0);

}

public DashboardSetting(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle); }

@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

mMaxChildWidth = 0; mMaxChildHeight = 0;

// Measure once to find the maximum child size.

int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec( MeasureSpec.getSize(widthMeasureSpec),

MeasureSpec.AT_MOST);

int childHeightMeasureSpec = MeasureSpec.makeMeasureSpec( MeasureSpec.getSize(widthMeasureSpec),

MeasureSpec.AT_MOST);

final int count = getChildCount(); for (int i = 0; i < count; i++) { final View child = getChildAt(i); if (child.getVisibility() == GONE) { continue;

(11)

child.measure(childWidthMeasureSpec, childHeightMeasureSpec);

mMaxChildWidth = Math.max(mMaxChildWidth, child.getMeasuredWidth());

mMaxChildHeight = Math.max(mMaxChildHeight, child.getMeasuredHeight());

}

// Measure again for each child to be exactly the same size. childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(

mMaxChildWidth, MeasureSpec.EXACTLY);

childHeightMeasureSpec = MeasureSpec.makeMeasureSpec( mMaxChildHeight, MeasureSpec.EXACTLY);

for (int i = 0; i < count; i++) { final View child = getChildAt(i); if (child.getVisibility() == GONE) { continue;

}

child.measure(childWidthMeasureSpec, childHeightMeasureSpec);

}

setMeasuredDimension(

resolveSize(mMaxChildWidth, widthMeasureSpec), resolveSize(mMaxChildHeight, heightMeasureSpec)); }

@Override

protected void onLayout(boolean changed, int l, int t, int r, int b) {

int width = r - l; int height = b - t;

(12)

// Calculate the number of visible children. int visibleCount = 0;

for (int i = 0; i < count; i++) { final View child = getChildAt(i); if (child.getVisibility() == GONE) { continue;

}

++visibleCount; }

if (visibleCount == 0) { return;

}

// Calculate what number of rows and columns will optimize for even horizontal and

// vertical whitespace between items. Start with a 1 x N grid, then try 2 x N, and so on.

int bestSpaceDifference = Integer.MAX_VALUE; int spaceDifference;

// Horizontal and vertical space between items int hSpace = 0;

int vSpace = 0; int cols = 1; int rows; while (true) {

rows = (visibleCount - 1) / cols + 1;

hSpace = ((width - mMaxChildWidth * cols) / (cols + 1)); vSpace = ((height - mMaxChildHeight * rows) / (rows + 1));

spaceDifference = Math.abs(vSpace - hSpace); if (rows * cols != visibleCount) {

(13)

}

if (spaceDifference < bestSpaceDifference) { // Found a better whitespace squareness/ratio bestSpaceDifference = spaceDifference;

// If we found a better whitespace squareness and there's only 1 row, this is

// the best we can do. if (rows == 1) {

break; }

} else {

// This is a worse whitespace ratio, use the previous value of cols and exit.

--cols;

rows = (visibleCount - 1) / cols + 1;

hSpace = ((width - mMaxChildWidth * cols) / (cols + 1));

vSpace = ((height - mMaxChildHeight * rows) / (rows + 1));

break; }

++cols; }

// Lay out children based on calculated best-fit number of rows and cols.

// If we chose a layout that has negative horizontal or vertical space, force it to zero.

hSpace = Math.max(0, hSpace); vSpace = Math.max(0, vSpace);

// Re-use width/height variables to be child width/height. width = (width - hSpace * (cols + 1)) / cols;

height = (height - vSpace * (rows + 1)) / rows;

(14)

int col, row;

int visibleIndex = 0;

for (int i = 0; i < count; i++) { final View child = getChildAt(i); if (child.getVisibility() == GONE) { continue;

}

row = visibleIndex / cols; col = visibleIndex % cols;

left = hSpace * (col + 1) + width * col; top = vSpace * (row + 1) + height * row; child.layout(left, top,

(hSpace == 0 && col == cols - 1) ? r : (left + width),

(vSpace == 0 && row == rows - 1) ? b : (top + height));

++visibleIndex; }

} }

4.

DetaildagingActivity.java

package com.friska.makanan; import com.friska.makanan.R; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.view.Menu;

(15)

import android.view.Window; import android.widget.ImageView; import android.widget.TextView;

public class DetaildagingActivity extends Activity {

DBAdapter db;

TextView title, ket; ImageView image; int id;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.panel_detail_objek); db = new DBAdapter(this);

db.open();

Bundle b = getIntent().getExtras();

id = (int) b.getLong(ListdagingActivity.KEY_ID); title=(TextView)findViewById(R.id.title);

ket=(TextView)findViewById(R.id.ket); image=(ImageView)findViewById(R.id.icon); tampilData();

}

private void tampilData() {

// TODO Auto-generated method stub Cursor cursor = db.getSingleDaging(id);

(16)

ket.setText(cursor.getString(cursor.getColumnIndexOrThrow(DBAda pter.KEY_KET)));

if(id == 1)

image.setImageResource(R.drawable.kambing_iris_manis); else if(id == 2)

image.setImageResource(R.drawable.daging_panggang); else if(id == 3)

image.setImageResource(R.drawable.kambing_pedas); else if(id == 4)

image.setImageResource(R.drawable.kambing_kcap); else if(id == 5)

image.setImageResource(R.drawable.kambing_semur); else if(id == 6)

image.setImageResource(R.drawable.kambing_jeruk); else if(id == 7)

image.setImageResource(R.drawable.kambing_oseng); else if(id == 8)

image.setImageResource(R.drawable.kambing_pedas); else if(id == 9)

image.setImageResource(R.drawable.kambing_sate); else if(id == 10)

image.setImageResource(R.drawable.kambing_jeroan); else if(id == 11)

image.setImageResource(R.drawable.ayam_keju); else if(id == 12)

image.setImageResource(R.drawable.ayam_kodok_sdp); else if(id == 13)

image.setImageResource(R.drawable.ayam_balado); else if(id == 14)

image.setImageResource(R.drawable.ayam_nanking); else if(id == 15)

(17)

else if(id == 16)

image.setImageResource(R.drawable.ayam_rica); else if(id == 17)

image.setImageResource(R.drawable.ayam_tonseng); else if(id == 18)

image.setImageResource(R.drawable.ayam_mie); else if(id == 19)

image.setImageResource(R.drawable.ayam_grng_bacem); else if(id == 20)

image.setImageResource(R.drawable.ayam_tuturaga); else if(id == 21)

image.setImageResource(R.drawable.sapi_buntut); else if(id == 22)

image.setImageResource(R.drawable.sapi_iga); else if(id == 23)

image.setImageResource(R.drawable.sapi_sate); else if(id == 24)

image.setImageResource(R.drawable.sapi_bakso); else if(id == 25)

image.setImageResource(R.drawable.sapi_steak); else if(id == 26)

image.setImageResource(R.drawable.sapi_sukiyaki); else if(id == 27)

image.setImageResource(R.drawable.sapi_keluwak); else if(id == 28)

image.setImageResource(R.drawable.sapi_kuah_tomat); else if(id == 29)

image.setImageResource(R.drawable.sapi_balungan); else if(id == 30)

image.setImageResource(R.drawable.sapi_dendengbsh); else if(id == 31)

(18)

else if(id == 32)

image.setImageResource(R.drawable.sapi_rebung); else if(id == 33)

image.setImageResource(R.drawable.sapi_semur); else if(id == 34)

image.setImageResource(R.drawable.sapi_rendang); else if(id == 35)

image.setImageResource(R.drawable.sapi_rendang_kari); db.close();

}

public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.opt_menu, menu); return true;

}

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.home:

Intent in = new

Intent(DetaildagingActivity.this, DashboardActivity.class); startActivity(in); return true;

case R.id.exit:

Intent exit = new Intent(Intent.ACTION_MAIN); exit.addCategory(Intent.CATEGORY_HOME); exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

DetaildagingActivity.this.finish(); startActivity(exit);

return true; default:

return super.onOptionsItemSelected(item); }

(19)

5.

Kelas DetailikanActivity.java

package com.friska.makanan; import com.friska.makanan.R; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.view.Menu;

import android.view.MenuInflater; import android.view.MenuItem; import android.view.Window; import android.widget.ImageView; import android.widget.TextView;

public class DetailikanActivity extends Activity {

DBAdapter db;

TextView title, ket; ImageView image; int id;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.panel_detail_objek); db = new DBAdapter(this);

db.open();

Bundle b = getIntent().getExtras();

(20)

image=(ImageView)findViewById(R.id.icon); tampilData();

}

private void tampilData() {

// TODO Auto-generated method stub Cursor cursor = db.getSingleIkan(id);

title.setText(cursor.getString(cursor.getColumnIndexOrThrow(DBA dapter.KEY_NAME)));

ket.setText(cursor.getString(cursor.getColumnIndexOrThrow(DBAda pter.KEY_KET)));

if(id == 1)

image.setImageResource(R.drawable.tongkol_ori); else if(id == 2)

image.setImageResource(R.drawable.tongkol_rendang); else if(id == 3)

image.setImageResource(R.drawable.tongkol_abon); else if(id == 4)

image.setImageResource(R.drawable.tongkol_pepes); else if(id == 5)

image.setImageResource(R.drawable.tongkol_gulai); else if(id == 6)

image.setImageResource(R.drawable.ikan_n_pepes); else if(id == 7)

image.setImageResource(R.drawable.ikan_n_goreng); else if(id == 8)

image.setImageResource(R.drawable.ikan_n_kipas); else if(id == 9)

image.setImageResource(R.drawable.ikan_n_smbl_lecing); else if(id == 10)

(21)

else if(id == 11)

image.setImageResource(R.drawable.gurame_asam); else if(id == 12)

image.setImageResource(R.drawable.gurame_bkr); else if(id == 13)

image.setImageResource(R.drawable.gurame_sup); else if(id == 14)

image.setImageResource(R.drawable.gurame_egi); else if(id == 15)

image.setImageResource(R.drawable.gurame_resto); else if(id == 16)

image.setImageResource(R.drawable.lele_pecak); else if(id == 17)

image.setImageResource(R.drawable.lele_grng_krmes); else if(id == 18)

image.setImageResource(R.drawable.lele_tngseng); else if(id == 19)

image.setImageResource(R.drawable.lele_rawit); else if(id == 20)

image.setImageResource(R.drawable.lele_asem); else if(id == 21)

image.setImageResource(R.drawable.udang_siomay); else if(id == 22)

image.setImageResource(R.drawable.udang_keju); else if(id == 23)

image.setImageResource(R.drawable.udang_pedas); else if(id == 24)

image.setImageResource(R.drawable.udang_grng_tls); else if(id == 25)

image.setImageResource(R.drawable.udang_mireng); else if(id == 26)

(22)

else if(id == 27)

image.setImageResource(R.drawable.ikan_mas_pecak); else if(id == 28)

image.setImageResource(R.drawable.ikan_mas_pangek); else if(id == 29)

image.setImageResource(R.drawable.ikan_mas_jinus); else if(id == 30)

image.setImageResource(R.drawable.ikan_mas_pindang); else if(id == 31)

image.setImageResource(R.drawable.mujahir_lengkuas); else if(id == 32)

image.setImageResource(R.drawable.mujahir_lalapan); else if(id == 33)

image.setImageResource(R.drawable.mujahir_goreng); else if(id == 34)

image.setImageResource(R.drawable.mujahir_grng_kuning); else if(id == 35)

image.setImageResource(R.drawable.mujahir_smbal); else if(id == 36)

image.setImageResource(R.drawable.tuna_cuciwis); else if(id == 37)

image.setImageResource(R.drawable.tuna_tumis); else if(id == 38)

image.setImageResource(R.drawable.tuna_santan); else if(id == 39)

image.setImageResource(R.drawable.tuna_kemangi); else if(id == 40)

image.setImageResource(R.drawable.tuna_rica); db.close();

(23)

public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.opt_menu, menu); return true;

}

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.home:

Intent in = new

Intent(DetailikanActivity.this, DashboardActivity.class); startActivity(in); return true;

case R.id.exit:

Intent exit = new Intent(Intent.ACTION_MAIN); exit.addCategory(Intent.CATEGORY_HOME); exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

DetailikanActivity.this.finish(); startActivity(exit);

return true; default:

return super.onOptionsItemSelected(item); }

} }

6.

Kelas DetailsayurActivity.java

package com.friska.makanan;

(24)

import android.database.Cursor; import android.view.Menu;

import android.view.MenuInflater; import android.view.MenuItem; import android.view.Window; import android.widget.ImageView; import android.widget.TextView;

public class DetailsayurActivity extends Activity {

DBAdapter db;

TextView title, ket; ImageView image; int id;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.panel_detail_objek); db = new DBAdapter(this);

db.open();

Bundle b = getIntent().getExtras();

id = (int) b.getLong(ListsayurActivity.KEY_ID);

title=(TextView)findViewById(R.id.title); ket=(TextView)findViewById(R.id.ket); image=(ImageView)findViewById(R.id.icon); tampilData();

}

(25)

// TODO Auto-generated method stub Cursor cursor = db.getSingleSayur(id);

title.setText(cursor.getString(cursor.getColumnIndexOrThrow(DBA dapter.KEY_NAME)));

ket.setText(cursor.getString(cursor.getColumnIndexOrThrow(DBAda pter.KEY_KET)));

if(id == 1)

image.setImageResource(R.drawable.sayur_b_jagung); else if(id == 2)

image.setImageResource(R.drawable.sayur_b_bening); else if(id == 3)

image.setImageResource(R.drawable.sayur_b_egi); else if(id == 4)

image.setImageResource(R.drawable.sayur_b_tumis); else if(id == 5)

image.setImageResource(R.drawable.sayur_b_ayam); else if(id == 6)

image.setImageResource(R.drawable.kangkung_tumis); else if(id == 7)

image.setImageResource(R.drawable.kangkung_bobor); else if(id == 8)

image.setImageResource(R.drawable.kangkung_jamur); else if(id == 9)

image.setImageResource(R.drawable.kangkung_gulai); else if(id == 10)

image.setImageResource(R.drawable.kangkung_teri); else if(id == 11)

image.setImageResource(R.drawable.kol_oseng); else if(id == 12)

image.setImageResource(R.drawable.kol_tumis); else if(id == 13)

(26)

image.setImageResource(R.drawable.kol_orakarik); else if(id == 15)

image.setImageResource(R.drawable.kol_sup); else if(id == 16)

image.setImageResource(R.drawable.wortel_bakpao); else if(id == 17)

image.setImageResource(R.drawable.wortel_egi); else if(id == 18)

image.setImageResource(R.drawable.wortel_donat); else if(id == 19)

image.setImageResource(R.drawable.wortel_panggang); else if(id == 20)

image.setImageResource(R.drawable.wortel_sup); else if(id == 21)

image.setImageResource(R.drawable.sawi_berkuah); else if(id == 22)

image.setImageResource(R.drawable.sawi_cah); else if(id == 23)

image.setImageResource(R.drawable.sawi_tumis); else if(id == 24)

image.setImageResource(R.drawable.sawi_sup); else if(id == 25)

image.setImageResource(R.drawable.sawi_tim); else if(id == 26)

image.setImageResource(R.drawable.buncis_tumiss); else if(id == 27)

image.setImageResource(R.drawable.buncis_cah); else if(id == 28)

image.setImageResource(R.drawable.buncis_sechuan); else if(id == 29)

(27)

image.setImageResource(R.drawable.buncis_gulai); else if(id == 31)

image.setImageResource(R.drawable.paprika_putren); else if(id == 32)

image.setImageResource(R.drawable.paprika_lidah); else if(id == 33)

image.setImageResource(R.drawable.paprika_jagung); else if(id == 34)

image.setImageResource(R.drawable.paprika_kol); else if(id == 35)

image.setImageResource(R.drawable.paprika_udang); db.close();

}

public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.opt_menu, menu); return true;

}

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.home:

Intent in = new

Intent(DetailsayurActivity.this, DashboardActivity.class); startActivity(in); return true;

case R.id.exit:

Intent exit = new Intent(Intent.ACTION_MAIN); exit.addCategory(Intent.CATEGORY_HOME); exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

DetailsayurActivity.this.finish(); startActivity(exit);

default:

(28)

7.

Kelas DetailtepungActivity.java

package com.friska.makanan; import com.friska.makanan.R; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.view.Menu;

import android.view.MenuInflater; import android.view.MenuItem; import android.view.Window; import android.widget.ImageView; import android.widget.TextView;

public class DetailtepungActivity extends Activity {

DBAdapter db;

TextView title, ket; ImageView image; int id;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.panel_detail_objek); db = new DBAdapter(this);

db.open();

Bundle b = getIntent().getExtras();

id = (int) b.getLong(ListtepungActivity.KEY_ID); title=(TextView)findViewById(R.id.title);

(29)

image=(ImageView)findViewById(R.id.icon); tampilData();

}

private void tampilData() {

// TODO Auto-generated method stub Cursor cursor = db.getSingleTepung(id);

title.setText(cursor.getString(cursor.getColumnIndexOrThrow(DBA dapter.KEY_NAME)));

ket.setText(cursor.getString(cursor.getColumnIndexOrThrow(DBAda pter.KEY_KET)));

if(id == 1)

image.setImageResource(R.drawable.kue_lapis); else if(id == 2)

image.setImageResource(R.drawable.kue_singkong); else if(id == 3)

image.setImageResource(R.drawable.kue_rolade); else if(id == 4)

image.setImageResource(R.drawable.kue_pisang_krmes); else if(id == 5)

image.setImageResource(R.drawable.kue_gulung); else if(id == 6)

image.setImageResource(R.drawable.kue_tahu); else if(id == 7)

image.setImageResource(R.drawable.kue_otak); else if(id == 8)

image.setImageResource(R.drawable.kue_cendol); else if(id == 9)

image.setImageResource(R.drawable.kue_talas); else if(id == 10)

image.setImageResource(R.drawable.kue_kentang); else if(id == 11)

(30)

else if(id == 12)

image.setImageResource(R.drawable.kue_cendoltepung); else if(id == 13)

image.setImageResource(R.drawable.kue_kering); else if(id == 14)

image.setImageResource(R.drawable.kue_pandan); else if(id == 15)

image.setImageResource(R.drawable.kue_lasagna); else if(id == 16)

image.setImageResource(R.drawable.kue_karamel); else if(id == 17)

image.setImageResource(R.drawable.kue_cakentang); else if(id == 18)

image.setImageResource(R.drawable.kue_putri); else if(id == 19)

image.setImageResource(R.drawable.kue_brownis); else if(id == 20)

image.setImageResource(R.drawable.kue_bubur); else if(id == 21)

image.setImageResource(R.drawable.kue_b_kering); else if(id == 22)

image.setImageResource(R.drawable.kue_sus); else if(id == 23)

image.setImageResource(R.drawable.kue_b_pisang); else if(id == 24)

image.setImageResource(R.drawable.kue_b_coklat); else if(id == 25)

image.setImageResource(R.drawable.kue_b_tim); else if(id == 26)

image.setImageResource(R.drawable.kue_b_durian); else if(id == 27)

(31)

else if(id == 28)

image.setImageResource(R.drawable.kue_b_jojorang); else if(id == 29)

image.setImageResource(R.drawable.kue_b_pao); else if(id == 30)

image.setImageResource(R.drawable.kue_b_bika); else if(id == 31)

image.setImageResource(R.drawable.kue_t_panggang); else if(id == 32)

image.setImageResource(R.drawable.kue_t_donat); else if(id == 33)

image.setImageResource(R.drawable.kue_t_paomisu); else if(id == 34)

image.setImageResource(R.drawable.kue_t_pia); else if(id == 35)

image.setImageResource(R.drawable.kue_t_muffin); else if(id == 36)

image.setImageResource(R.drawable.kue_t_udang); else if(id == 37)

image.setImageResource(R.drawable.kue_t_bapel); else if(id == 38)

image.setImageResource(R.drawable.kue_t_jagung); else if(id == 39)

image.setImageResource(R.drawable.kue_t_putu); else if(id == 40)

image.setImageResource(R.drawable.kue_t_srikaya); db.close();

}

(32)

}

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.home:

Intent in = new

Intent(DetailtepungActivity.this, DashboardActivity.class); startActivity(in); return true;

case R.id.exit:

Intent exit = new Intent(Intent.ACTION_MAIN); exit.addCategory(Intent.CATEGORY_HOME); exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

DetailtepungActivity.this.finish(); startActivity(exit);

return true; default:

return super.onOptionsItemSelected(item); }

} }

8.

Kelas ListdagingActivity.java

package com.friska.makanan;

(33)

import android.database.Cursor;

import android.support.v4.widget.SimpleCursorAdapter; import android.view.Menu;

import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.Window;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener; import android.widget.EditText;

import android.widget.ListView;

public class ListdagingActivity extends Activity implements OnItemClickListener

{

public static final String KEY_ID = "_id"; EditText empty;

private ListView listview; private DBAdapter db; @Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.panel_listview);

try {

String pathTujuan = "/data/data/" + getPackageName() + "/databases/Masakan.db";

CopyDB(getBaseContext().getAssets().open("Masakan"), new FileOutputStream(pathTujuan));

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

(34)

}

db = new DBAdapter(this); db.open();

listview = (ListView) findViewById(R.id.list); listview.setEmptyView(findViewById(R.id.empty)); listview.setOnItemClickListener(this);

loadData(); }

@SuppressWarnings("deprecation") private void loadData()

{

// TODO Auto-generated method stub Cursor cur = db.getAllDaging(); String[] from = new String[] {

DBAdapter.KEY_NAME };

int[] to = new int[] {

R.id.title };

SimpleCursorAdapter adapter = new

SimpleCursorAdapter(this, R.layout.list_adapter, cur, from, to); listview.setAdapter(adapter);

}

@Override

public void onItemClick(AdapterView<?> arg0, View v, int pos, long id)

{

// TODO Auto-generated method stub Bundle bundle = new Bundle(); bundle.putLong(KEY_ID, id);

(35)

intent.putExtras(bundle); db.close();

startActivity(intent); }

public void CopyDB (InputStream inputStream , OutputStream outputStream)

throws IOException {

//--copy 1K byte pada saat ini--- byte[] buffer = new byte[1024]; int length;

while ((length = inputStream.read(buffer))>0) { outputStream.write(buffer, 0, length); }

inputStream.close(); outputStream.close(); }

public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.opt_menu, menu); return true;

}

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.home:

Intent in = new

Intent(ListdagingActivity.this, DashboardActivity.class); startActivity(in); return true;

case R.id.exit:

Intent exit = new Intent(Intent.ACTION_MAIN); exit.addCategory(Intent.CATEGORY_HOME); exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

(36)

return true; default:

return super.onOptionsItemSelected(item); }

} }

9.

Kelas ListikanActivity.java

package com.friska.makanan;

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import com.friska.makanan.R; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.database.Cursor;

import android.support.v4.widget.SimpleCursorAdapter; import android.view.Menu;

import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.Window;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener; import android.widget.EditText;

(37)

public class ListikanActivity extends Activity implements OnItemClickListener

{

public static final String KEY_ID = "_id"; EditText empty;

private ListView listview; private DBAdapter db;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.panel_listview);

try {

String pathTujuan = "/data/data/" + getPackageName() + "/databases/Masakan.db";

CopyDB(getBaseContext().getAssets().open("Masakan"), new FileOutputStream(pathTujuan));

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

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

db = new DBAdapter(this); db.open();

listview = (ListView) findViewById(R.id.list); listview.setEmptyView(findViewById(R.id.empty)); listview.setOnItemClickListener(this);

loadData(); }

@SuppressWarnings("deprecation") private void loadData()

(38)

// TODO Auto-generated method stub Cursor cur = db.getAllIkan(); String[] from = new String[] {

DBAdapter.KEY_NAME };

int[] to = new int[] {

R.id.title };

SimpleCursorAdapter adapter = new

SimpleCursorAdapter(this, R.layout.list_adapter, cur, from, to); listview.setAdapter(adapter);

}

@Override

public void onItemClick(AdapterView<?> arg0, View v, int pos, long id)

{

// TODO Auto-generated method stub Bundle bundle = new Bundle(); bundle.putLong(KEY_ID, id);

Intent intent = new Intent(ListikanActivity.this, DetailikanActivity.class);

intent.putExtras(bundle); db.close();

startActivity(intent); }

public void CopyDB (InputStream inputStream , OutputStream outputStream)

throws IOException {

(39)

while ((length = inputStream.read(buffer))>0) { outputStream.write(buffer, 0, length); }

inputStream.close(); outputStream.close(); }

public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.opt_menu, menu); return true;

}

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.home:

Intent in = new

Intent(ListikanActivity.this, DashboardActivity.class); startActivity(in); return true;

case R.id.exit:

Intent exit = new Intent(Intent.ACTION_MAIN); exit.addCategory(Intent.CATEGORY_HOME); exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

ListikanActivity.this.finish(); startActivity(exit);

return true; default:

return super.onOptionsItemSelected(item); }

(40)

10.

Kelas ListsayurActivity.java

package com.friska.makanan;

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import com.friska.makanan.R; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.database.Cursor;

import android.support.v4.widget.SimpleCursorAdapter; import android.view.Menu;

import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.Window;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener; import android.widget.EditText;

import android.widget.ListView;

public class ListsayurActivity extends Activity implements OnItemClickListener

{

public static final String KEY_ID = "_id"; EditText empty;

(41)

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.panel_listview);

try {

String pathTujuan = "/data/data/" + getPackageName() + "/databases/Masakan.db";

CopyDB(getBaseContext().getAssets().open("Masakan"), new FileOutputStream(pathTujuan));

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

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

db = new DBAdapter(this); db.open();

listview = (ListView) findViewById(R.id.list); listview.setEmptyView(findViewById(R.id.empty)); listview.setOnItemClickListener(this);

loadData(); }

@SuppressWarnings("deprecation") private void loadData()

{

// TODO Auto-generated method stub Cursor cur = db.getAllSayur();

(42)

{

DBAdapter.KEY_NAME };

int[] to = new int[] {

R.id.title };

SimpleCursorAdapter adapter = new

SimpleCursorAdapter(this, R.layout.list_adapter, cur, from, to); listview.setAdapter(adapter);

}

@Override

public void onItemClick(AdapterView<?> arg0, View v, int pos, long id)

{

// TODO Auto-generated method stub Bundle bundle = new Bundle(); bundle.putLong(KEY_ID, id);

Intent intent = new Intent(ListsayurActivity.this, DetailsayurActivity.class);

intent.putExtras(bundle); db.close();

startActivity(intent); }

public void CopyDB (InputStream inputStream , OutputStream outputStream)

throws IOException {

//--copy 1K byte pada saat ini--- byte[] buffer = new byte[1024]; int length;

(43)

}

inputStream.close(); outputStream.close(); }

public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.opt_menu, menu); return true;

}

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.home:

Intent in = new

Intent(ListsayurActivity.this, DashboardActivity.class); startActivity(in); return true;

case R.id.exit:

Intent exit = new Intent(Intent.ACTION_MAIN); exit.addCategory(Intent.CATEGORY_HOME); exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

ListsayurActivity.this.finish(); startActivity(exit);

return true; default:

return super.onOptionsItemSelected(item); }

(44)

11.

Kelas ListtepungActivity.java

package com.friska.makanan;

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import com.friska.makanan.R; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.database.Cursor;

import android.support.v4.widget.SimpleCursorAdapter; import android.view.Menu;

import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.Window;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener; import android.widget.EditText;

import android.widget.ListView;

public class ListtepungActivity extends Activity implements OnItemClickListener

{

public static final String KEY_ID = "_id"; EditText empty;

(45)

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.panel_listview);

try {

String pathTujuan = "/data/data/" + getPackageName() + "/databases/masakan.db";

CopyDB(getBaseContext().getAssets().open("masakan"), new FileOutputStream(pathTujuan));

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

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

db = new DBAdapter(this); db.open();

listview = (ListView) findViewById(R.id.list); listview.setEmptyView(findViewById(R.id.empty)); listview.setOnItemClickListener(this);

loadData(); }

@SuppressWarnings("deprecation") private void loadData()

{

// TODO Auto-generated method stub Cursor cur = db.getAllTepung(); String[] from = new String[] {

DBAdapter.KEY_NAME };

(46)

{

R.id.title };

SimpleCursorAdapter adapter = new

SimpleCursorAdapter(this, R.layout.list_adapter, cur, from, to); listview.setAdapter(adapter);

}

@Override

public void onItemClick(AdapterView<?> arg0, View v, int pos, long id)

{

// TODO Auto-generated method stub Bundle bundle = new Bundle(); bundle.putLong(KEY_ID, id);

Intent intent = new Intent(ListtepungActivity.this, DetailtepungActivity.class);

intent.putExtras(bundle); db.close();

startActivity(intent); }

public void CopyDB (InputStream inputStream , OutputStream outputStream)

throws IOException {

//--copy 1K byte pada saat ini--- byte[] buffer = new byte[1024]; int length;

while ((length = inputStream.read(buffer))>0) { outputStream.write(buffer, 0, length); }

inputStream.close(); outputStream.close(); }

(47)

MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.opt_menu, menu); return true;

}

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {

case R.id.home:

Intent in = new

Intent(ListtepungActivity.this, DashboardActivity.class); startActivity(in); return true;

case R.id.exit:

Intent exit = new Intent(Intent.ACTION_MAIN); exit.addCategory(Intent.CATEGORY_HOME); exit.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

ListtepungActivity.this.finish(); startActivity(exit);

return true; default:

return super.onOptionsItemSelected(item); }

} }

12.

Kelas Splashscreen.java

package com.friska.makanan; import com.friska.makanan.R; import android.app.Activity; import android.content.Intent; import android.media.MediaPlayer; import android.os.Bundle;

(48)

import android.view.WindowManager; import android.widget.ImageView;

public class Splashscreen extends Activity { MediaPlayer suaraSplash;

ImageView image;

@Override

protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN , WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView (R.layout.splashscreen_layout);

suaraSplash = MediaPlayer.create(this, R.raw.device); suaraSplash.start();

Thread logoTimer = new Thread(){ public void run(){

try {

int logoTimer = 0;

while (logoTimer < 3000){ sleep(100);

logoTimer = logoTimer + 100; }

startActivity(new Intent ("com.friska.makanan.CLEARSCREEN"));

} catch (InterruptedException e) {

// TODO Auto-generated catch block e.printStackTrace();

(49)

finally{ finish(); }

} };

logoTimer.start(); }

@Override

protected void onPause() {

// TODO Auto-generated method stub super.onPause();

suaraSplash.pause(); }

@Override

protected void onResume() {

// TODO Auto-generated method stub super.onResume();

suaraSplash.start(); }

@Override

protected void onStart() {

// TODO Auto-generated method stub super.onStart();

}

@Override

protected void onDestroy() {

// TODO Auto-generated method stub super.onDestroy();

suaraSplash.release(); }

(50)

2. Kode Program Tampilan Antarmuka (Interface)

1.

dashboard_layout.xml

<com.friska.makanan.DashboardSetting xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"

android:background="@drawable/thema"> <Button android:id="@+id/btn_kue" style="@style/DashboardButton" android:layout_width="match_parent" android:drawableTop="@drawable/btn_kue"

android:text="@string/label_kue" />

<Button

android:id="@+id/btn_sayur"

style="@style/DashboardButton"

android:drawableTop="@drawable/btn_sayur"

android:text="@string/label_sayur" />

<Button

android:id="@+id/btn_daging"

style="@style/DashboardButton"

android:drawableTop="@drawable/btn_daging"

android:text="@string/label_daging" />

<Button

android:id="@+id/btn_ikan"

style="@style/DashboardButton"

android:drawableTop="@drawable/btn_ikan"

android:text="@string/label_ikan" />

</com.friska.makanan.DashboardSetting>

2.

detail_objek_layout.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#FF69B4" android:orientation="vertical" android:layout_gravity="center"

android:layout_marginBottom="10dp"

android:layout_marginLeft="7dp"

android:layout_marginRight="7dp"

android:layout_marginTop="5dp">

(51)

<ScrollView

android:layout_width="fill_parent"

android:layout_height="0dp"

android:layout_weight="0.05" >

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="vertical" >

<TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1.79" android:gravity="center" android:textColor="#000000" android:textSize="18sp" android:typeface="sans"

android:textStyle="bold" />

<ImageView

android:id="@+id/icon"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_weight="8.45" />

<TextView android:id="@+id/ket" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left|fill_horizontal" android:textColor="#000000"

android:textSize="16sp" />

</LinearLayout> </ScrollView> </LinearLayout>

3.

header_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

style="@style/HeaderStyle" >

<TextView

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:gravity="center"

android:text=" RESEP MASAKAN"

android:textColor="#FF7F50"

android:textSize="24dip"

android:textStyle="bold"

android:background="@drawable/button1" />

(52)

4.

list_adapter.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal" > <LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_margin="10dp"

android:orientation="vertical"> <TextView android:id="@+id/title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="#333333" android:textSize="16sp" android:textStyle="bold"

android:text="Contact Name" /> </LinearLayout> </LinearLayout>

5.

listview_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="fill_parent" android:background="FF69B4"

tools:context=".MainActivity" > <ListView

android:id="@+id/list"

android:layout_width="match_parent"

(53)

6.

panel_dashboard.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/home_root" android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="match_parent">

<include layout="@layout/header_layout"/> <include layout="@layout/dashboard_layout"/>

</LinearLayout>

7.

panel_detail_objek.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/home_root" android:layout_width="fill_parent" android:layout_height="match_parent"

android:orientation="vertical" >

<include layout="@layout/header_layout" />

<include

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="0.07"

layout="@layout/detail_objek_layout" /> </LinearLayout>

8.

panel_listview.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/home_root" android:layout_width="fill_parent" android:layout_height="match_parent"

android:orientation="vertical" >

<include layout="@layout/header_layout" />

<include

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="0.07"

(54)

9.

splashscreen_layout.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background = "@drawable/themaresep"

android:orientation="vertical">

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="200dp" android:gravity="center" android:text="@string/label_copyright" android:textColor="#FF1493" android:textSize="30sp"

android:textStyle="bold" />

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="190dp" android:gravity="left" android:text="@string/label_copyright2" android:textColor="#FF1493"

android:textSize="20sp" />

</LinearLayout>

10. opt_dashboard.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/url"

android:icon="@drawable/home"

android:textStyle="bold"

android:title="Situs Resmi" /> <item android:id="@+id/tentang"

android:icon="@drawable/exit"

android:textStyle="bold"

(55)

3. KODE PROGRAM UNTUK MEMBUAT BUTTON

1.

Button btn_daging.xml

<?xml version="1.0" encoding="utf-8"?> <selector

xmlns:android="http://schemas.android.com/apk/res/android">

<!-- pas diklik --> <item

android:state_focused = "true"

android:state_pressed = "false"

android:drawable = "@drawable/daging1"

/>

<!-- sebelum di Klik --> <item

android:state_focused = "false"

android:state_pressed = "false"

android:drawable = "@drawable/daging"

/>

<!-- seteleh diKlik --> <item

android:drawable = "@drawable/daging1"

/>

</selector>

2.

Button btn_ikan.xml

<?xml version="1.0" encoding="utf-8"?> <selector

xmlns:android="http://schemas.android.com/apk/res/android">

<item

android:state_focused = "true"

android:state_pressed = "false"

android:drawable = "@drawable/fishbaru1"

/>

<item

android:state_focused = "false"

android:state_pressed = "false"

android:drawable = "@drawable/fishbaru"

/>

<item

android:drawable = "@drawable/fishbaru1"

/>

(56)

3.

Button btn_sayur.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item

android:state_focused = "true"

android:state_pressed = "false"

android:drawable = "@drawable/vegetables1"

/>

<item

android:state_focused = "false"

android:state_pressed = "false"

android:drawable = "@drawable/vegetables" />

<item

android:drawable = "@drawable/vegetables1"

/>

</selector>

4.

Button btn_kue.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<!-- pas diklik -->

<item android:state_focused="true"

android:state_pressed="false"

android:drawable="@drawable/kue"/>

<!-- sebelum di Klik -->

<item android:state_focused ="false"

android:state_pressed ="false"

android:drawable="@drawable/kue1"/>

<!-- seteleh diKlik -->

<item android:drawable = "@drawable/kue" />

(57)

DAFTAR PUSTAKA

Abdul Kadir & Terra CH Triwahyuni. 2003. Pengenalan Sistem Informasi, Yogyakarta :

Penerbit Andi.

Tata Sutabri. 2005. Sistem Informasi Manajemen. Yogyakarta: Penerbit Andi.

Adi Nugroho. 2005. Analisis dan Perancangan Sistem Informasi dengan Metodologi

Berorientasi Objek, Bandung:Informatika.

Fatta Al Hanif. 2007. Analisis dan Perancangan Sistem Informasi untuk Keunggulan

Bersaing Perusahaan dan Organisasi Modern. Yogyakarta: Penerbit Andi.

Hermawan Stephanus. 2011. Mudah membuat aplikasi Android. Yogyakarta:Andi.

http://id.wikipedia.org/wiki/Java. Diakses pada tanggal 25 Februari 2013.

http://id.wikipedia.org/wiki/Masakan_Indonesia. Diakses tanggal 3 Juni 2013.

http://newbiedroid.blogspot.com/2012/10/perkembangan-versi-versi-android.html

Diakses tanggal 5 Mei 2013.

(58)

31

BABB3B

B

METODOLOMIBPENELITIANB

3.1

BBBMetodeBAnalisisBKebutuhanBSistemBInformasiB

B

Dalam menganalisis aplikasi resep masakan tradisional, penulis melakukan

pengumpulan data dan analisis sistem berjalan untuk membantu penulis dalam

penelitian ini.

3.1.1

TeknikBpengumpulanBdataB

B

Dalam melakukan penelitian ini, penulis melakukan pencarian dengan cara

mengumpulkan beberapa dokumen seperti resep masakan tradisional yang ada di

Indonesia, bahan masakan yang dibutuhkan, dan bagaimana cara mengolah

bahan-bahan masakan tersebut.

3.1.2

AnalisisBsistemBberjalanB

(59)

32

juga terlebih dahulu dibuat sketsanya. Dalam hal ini sketsa tersebut dapat dibuat

dalam sebuah perangkat lunak komputer berupa aplikasi.

Aplikasi adalah sebuah perangkat lunak siap pakai. Aplikasi ini dapat

diterapkan dalam berbagai bidang ilmu untuk memudahkan sebuah pekerjaan. Salah

satu aplikasi yang dapat dirancang adalah aplikasi resep masakan trasidisional

berbasis

smartphone.

Dengan adanya perkembangan teknologi dapat diciptakan sebuah aplikasi yang

bukan hanya berbasis

dekstop

saja tetapi berbasis

smartphone

juga.

Smartphone

adalah sebuah inovasi baru dalam perkembangan teknologi. Di dalam

smartphone

dapat dilakukan berbagai kegiatan seperti yang dilakukan menggunakan

laptop/komputer. Dengan adanya fasilitas smartphone ini setiap orang tidak repot lagi

untuk mengakses sebuah informasi atau menjalankan sebuah aplikasi. Adapun aplikasi

yang dijalankan di dalam

smartphone

adalah berbasis

android.

3.2

BBBPerancanganBSistemB

B

Perancangan sistem bertujuan untuk menentukan rancangan aplikasi resep masakan

tradisional Indonesia berbasis android. Perancangan sistem ini dimulai dengan

perancangan diagram konteks dan

flowchart

program.

(60)

33

3.2.1BBBBDiagramBkonteksB

Untuk mendukung perancangan aplikasi resep masakan tradisional Indonesia berbasis

android, penulis menggambarkan digram konteks untuk dijadikan sebagai model yang

nantinya akan digunakan dalam membuat program. Adapun diagram konteks yang

telah penulis rancang, terdapat pada gambar 3.1.

BBBBBBBBBBBBMambarB3.1BBDiagramBKonteksBAplikasiBResepBMasakanBTradisionalB

BB

3.2.2BBBB

Flowchart

programB

B

Flowchart

adalah sekumpulan simbol yang menunjukkan atau menggambarkan

rangkaian kegiatan-kegiatan program dari awal hingga akhir, jadi

flowchart

juga

digunakan untuk menggambarkan urutan langkah-langkah pekerjaan di suatu

algoritma. Tujuan utama dari penggunaan

Flowchart

adalah untuk menggambarkan

suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas dengan

menggunakan simbol-simbol yang standar.

B

B

(61)

34

Start

Splashscreen

Kue

Sayur

Daging

Ikan

List Kue

List

List Ikan

Sayur

List

Daging

End

Tampilan Menu

Adapun

flowchart

rancangan aplikasi resep masakan tradisional Indonesia,dapat

dilihat pada gambar 3.2.

B

MambarB3.2BBDataB

Flowchart

DiagramBAplikasiBResepBMasakanBTradisionalB

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

No

No

No

Yes

Yes

(62)

35

3.3

BBBPerancanganB

Database

B

Perancangan database dilakukan dengan menggunakan

SQLite

. Desain database

dimaksudkan untuk mendefinisikan isi atau struktur tabel. Adapun entitas yang

digunakan dalam perancangan database adalah sebagai berikut.

B

1.

Tabel

TepungB

Tabel tepung merupakan media penyimpanan data tepung. Tabel tepung dapat dilihat

pada tabel 3.1.

TabelB3.1BDeskripsiBtabelBtepungB

B

Nama Field Tipe Data Not Null

Primary

Key Unique

Auto

Increment Deskripsi

id Integer Ya Ya Ya Id tepung

nama Teks Ya Ya Nama tepung

ket Teks Ya Gambaran

tepung B

B

2.BBBBTabel

DagingB

Tabel daging merupakan media penyimpanan data daging. Tabel daging dapat dilihat

pada tabel 3.2.

TabelB3.2BDeskripsiBtabelBdagingB

B

Nama Field Tipe Data Not Null

Primary

Key Unique

Auto

Increment Deskripsi

Id Integer Ya Ya Ya Id Daging

Nama Teks Ya Ya Nama

Daging

Ket Teks Ya Gambaran

(63)

36

3.BBBBTabel

AirBIkanB

Tabel ikan merupakan media penyimpanan data ikan. Tabel ikandapat dilihat pada

tabel 3.3.

TabelB3.3BDeskripsiBtabelBIkanB

B

Nama Field Tipe Data

Not Null

Primary

Key Unique

Auto

Increment Deskripsi

Id integer Ya Ya Ya Id Ikan

Nama teks Ya Ya Nama Ikan

Ket teks Ya Gambaran Ikan

B

4.BBBBTabel

SayurB

Tabel sayur merupakan media penyimpanan data sayur. Tabel sayur dapat dilihat pada

tabel 3.4.

TabelB3.4BDeskripsiBtabelBSayurB

B

Nama Field Tipe Data

Not Null

Primary

Key Unique Auto

Increment Deskripsi

Id integer Ya Ya Ya Id Sayur

Nama teks Ya Ya Nama Sayur

Ket teks Ya Gambaran

(64)

37

3.4BBBBRancanganBTampilanB

B

3.4.1BBHalamanBSplashscreenB

B

Tampilan ini merupakan tampilan awal saat aplikasi pertama kali dijalankan. Bentuk

perancangan tampilan utama atau splashscreen dapat dilihat pada gambar 3.3.

MambarB3.3BBRancanganBTampilanB

Splashscreen

B

B

B

B

B

B

B

B

B

APLIKASI RESEP

MASAKAN TRADISIONAL

(65)

38

3.4.2BBRancanganBtampilanButamaBaplikasiB

Rancangan halaman pencarian resep masakan merupakan tampilan yang berisi

informasi tentang resep masakan yang dibutuhkan. Rancangan resep masakan ini akan

menampilkan empat menu, yaitu: menu kue, menu sayur, menu daging, dan menu

ikan dan seafood. Bentuk perancangan tampilan utama atau splashscreen dapat dilihat

pada gambar 3.4.

B

B

MambarB3.4BBRancanganBpencarianBresepBmasakanB

B

B

B

B

B

B

B

B

Resep Masakan

Kue Sayuran

(66)

39

3.4.3BBBBRancanganBpemilihanBbahanBmasakanB

B

Rancangan halaman pemilihan bahan masakan adalah tampilan yang berisi informasi

bahan masakan apa saja yang akan digunakan. User dapat memilih bahan mana yang

akan dicari sesuai dengan yang terdiri dari 4 tabel. Tabel tersebut berupa pilihan bahan

dengan menu. Jadi user dapat memilih dan mengklik salah satu menu bahan masakan

tersebut. Adapun bentuk rancangan halaman pemilihan bahan masakan, dapat dilihat

pada gambar 3.5.

B

MambarB3.5BBRancanganBFormBBahanBMasakanB

B

B

BB

B

B

Resep Masakan

Kue Sayuran

(67)

40

3.4.4BBBBRancanganBdaftarBmasakanB

B

Halaman daftar masakan ini menyajikan informasi tentang jenis resep masakan yang

sudah tersedia. Rancangan daftar masakan ini akan menampilkan list view resep

masakan apa saja yang dapat dipilih oleh user sesuai dengan menu yang diklik user

sebelumnya. Bentuk perancangan halaman daftar masakan dapat dilihat pada gambar

3.6.

B

Gambar

Gambar  4.1 Tampilan  utama
Gambar 4.5  Tampilan Menu Pop-Up
Gambar 4.6  Tampilan profil pembuat aplikasi
Gambar 2.1 Siklus Pengolahan Data
+3

Referensi

Dokumen terkait

Aplikasi seperti ini sebenarnya sudah banyak bermunculan, namun pada aplikasi yang sudah ada memiliki beberapa permasalahan, misalnya hanya menampilkan resep saja. Aplikasi yang

Aplikasi Mobile Cooking Course merupakan aplikasi kursus memasak masakan tradisional Indonesia.. Aplikasi ini digunakan untuk mempermudah pembelajaran mengenai

Pada perancangan use case diagram ini terdiri dari satu user yaitu user (pengguna). Gambar 1 dijelaskan bahwa user resep masakan Jawa mendapatkan fasilitas

yang mudah didapat dalam masakan kuliner juga tersedia dalam aplikasi dan panduan sekitar cara pengolahan bahan-bahan yang akan dimasak tersebut. Resep Masakan Khas Kalimantan

Pada penelitian yang penulis buat, dengan judul “Aplikasi Kamus Simplisia dan Resep Obat Tradisional Berbasis Android” dengan menggunakan metode Waterfall, penulis ingin

Aplikasi Resep Obat tradisional Indonesia adalah aplikasi yang berisi tentang resep obat tradisional serta manfaat tanaman obat, aplikasi ini dapat diakses pada

Pada perancangan use case diagram ini terdiri dari satu user yaitu user (pengguna). Gambar 1 dijelaskan bahwa user resep masakan Jawa mendapatkan fasilitas sepenuhnya

Tujuan dari penelitian ini adalah untuk membangun aplikasi sistem pembelajaran cara membuat resep makanan tradisional Indonesia berbasis android, sebagai alat bantu dalam pembelajaran