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);
}); }
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(); }
});
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;
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); }
@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;
}
{
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) {
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; }
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 {
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;
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;
// 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) {
}
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;
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;
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);
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)
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)
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); }
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();
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)
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)
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();
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;
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();
}
// 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)
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)
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:
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);
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)
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)
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();
}
}
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;
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();
}
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);
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);
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;
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()
// 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 {
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); }
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;
@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();
{
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;
}
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); }
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;
@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 };
{
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(); }
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;
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();
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(); }
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">
<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" />
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"
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"
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"
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"
/>
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" />
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.
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
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.
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
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
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
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
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
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
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
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