Sistem Pendukung Keputusan Pemilihan Gitar Berbasis Android Menggunakan Metode Weighted Sum Model
LISTING PROGRAM
1. MainActivity.java
package id.ali.spkguitaryhtm;
import android.os.Bundle; import android.app.Activity; import android.content.Intent;
import android.content.res.Configuration;
import android.support.v4.app.ActionBarDrawerToggle; import android.support.v4.widget.DrawerLayout; import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener; public class MainActivity extends Activity {
private DrawerLayout mDrawerLayout; private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle; private CharSequence mJudulDrawer;
private CharSequence mJudul; private String[] mNamaDrawer; @Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); prepare();
// inisialisasi
mJudul = mJudulDrawer = getTitle();
mNamaDrawer = getResources().getStringArray(R.array.array_drawer); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.drawer_kiri);
mDrawerList.setAdapter(new ArrayAdapter(this,R.layout.item_navdrawer, mNamaDrawer));
// memberi event klik item item daftar nama planet
mDrawerList.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView arg0, View arg1, int posisi, long id) {
// memanggil metode pilihItem() pilihItem(posisi);
} });
// mengaktifkan ikon ActionBar kiri-atas sebagai kendali drawer untuk // membuka-menutup jika disentuh
getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true);
(2)
// merupakan metode untuk mengaktifkan drawer saat ikon ActionBar // disentuh atau saat layar sebelah kiri digeser (sliding) ke kanan mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, 0, 0) {
// metode saat drawer dalam kondisi tertutup
// judul pada ActionBar menampilkan item buah terpilih public void onDrawerClosed(View view) {
getActionBar().setTitle(mJudul); invalidateOptionsMenu();
}
// metode saat drawer dalam kondisi terbuka
// judul pada ActionBar menampilkan nama aplikasi: // "Daftar Drawer"
public void onDrawerOpened(View drawerView) { getActionBar().setTitle(mJudulDrawer); invalidateOptionsMenu();
} };
// mDrawerLayout diberi event mDrawerToggle mDrawerLayout.setDrawerListener(mDrawerToggle);
// dalam keadaan awal, saat aplikasi mulai dijalankan, item yang dipilih // adalah indeks 0
if (savedInstanceState == null) { pilihItem(0);
} }
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// event saat ikon ActionBar disentuh: drawer akan membuka/menutup if (mDrawerToggle.onOptionsItemSelected(item)) {
return true; }
return super.onOptionsItemSelected(item); }
private void pilihItem(int position) {
// metode saat item planet dipilih; judul pada ActionBar akan // diperbarui kemudian drawer akan menutup
switch(position) { case 0:
if(getFragmentManager().findFragmentByTag(MainFragment.TAG) == null)
getFragmentManager().beginTransaction().replace(R.id.frame_konten, new MainFragment(), MainFragment.TAG).commit();
break; case 1:
getFragmentManager().beginTransaction().replace(R.id.frame_konten, new Help()).commit();
break;
(3)
getFragmentManager().beginTransaction().replace(R.id.frame_konten, new About()).commit(); break; } mDrawerList.setItemChecked(position, true); setTitle(mNamaDrawer[position]); mDrawerLayout.closeDrawer(mDrawerList); } @Override
public void setTitle(CharSequence title) { // metode penggantian judul pada ActionBar mJudul = title;
getActionBar().setTitle(mJudul); }
// dua metode yang harus dipanggil saat menggunakan ActionBarDrawerToggle // untuk penyesuaian dan konfigurasi kondisi drawer (item terpilih) @Override
protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState);
mDrawerToggle.syncState(); }
@Override
public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig); }
private void prepare() {
android.content.SharedPreferences sharePref =
getSharedPreferences(getPackageName() + "_preferences", MODE_PRIVATE); if(!sharePref.getBoolean(getString(R.string.prefkey_insertall), false))
new GuitarOpenHeper(this).insertAll();
sharePref.edit().putBoolean(getString(R.string.prefkey_insertall), true).apply(); } } 2.MainFragment.java package id.ali.spkguitaryhtm; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;
public class MainFragment extends android.app.Fragment implements View.OnClickListener {
public static String TAG = "MainFragment";
public View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup root, Bundle savedInstanceState) {
(4)
View view = inflater.inflate(R.layout.main, root, false);
ImageButton goSearch = (ImageButton) view.findViewById(R.id.imageButton4);
ImageButton Akustik = (ImageButton) view.findViewById(R.id.imageButton1);
ImageButton Elektrik = (ImageButton) view.findViewById(R.id.imageButton2);
ImageButton Klasik = (ImageButton) view.findViewById(R.id.imageButton3);
ImageButton Cort = (ImageButton) view.findViewById(R.id.cort); ImageButton Yamaha = (ImageButton)
view.findViewById(R.id.yamaha);
ImageButton Fender = (ImageButton) view.findViewById(R.id.fender);
ImageButton Epiphone = (ImageButton) view.findViewById(R.id.epiphone);
ImageButton Ibanez = (ImageButton) view.findViewById(R.id.ibanez); goSearch.setOnClickListener(this); Akustik.setOnClickListener(this); Elektrik.setOnClickListener(this); Klasik.setOnClickListener(this); Cort.setOnClickListener(this); Yamaha.setOnClickListener(this); Fender.setOnClickListener(this); Epiphone.setOnClickListener(this); Ibanez.setOnClickListener(this); return view; }
public void onClick(View view) { switch(view.getId()) { case R.id.imageButton4: startActivity(new Intent(getActivity(), SearchActivity.class)); break; case R.id.imageButton1: startActivity(new Intent(getActivity(), JenisActivity.class)); break; case R.id.imageButton2: startActivity(new Intent(getActivity(), Jenis2Activity.class)); break; case R.id.imageButton3: startActivity(new Intent(getActivity(), Jenis3Activity.class)); break; case R.id.cort: startActivity(new Intent(getActivity(), MerkActivity.class)); break; case R.id.yamaha:
(5)
startActivity(new Intent(getActivity(), Merk2Activity.class)); break; case R.id.fender: startActivity(new Intent(getActivity(), Merk3Activity.class)); break; case R.id.epiphone: startActivity(new Intent(getActivity(), Merk4Activity.class)); break; case R.id.ibanez: startActivity(new Intent(getActivity(), Merk5Activity.class)); break; } }
public void onListItemClick(android.widget.ListView listView, View v, int position, long id) {
switch(position) { case 0:
startActivity(new Intent(getActivity(), Help.class));
break;
case 1:
startActivity(new Intent(getActivity(), About.class));
break; } } } 3.GuitarContract.java package id.ali.spkguitaryhtm; import android.provider.BaseColumns; public class GuitarContract {
public static class Guitar implements BaseColumns {
public static final String TABLE_NAME = "Guitar", NAME = "Name", NAME_TYPE = "VARCHAR(100) NOT NULL", PRICE = "Price", PRICE_TYPE = "INTEGER NOT NULL",
CATEGORY = "CategoryID", CATEGORY_TYPE = "INTEGER NOT NULL", MERK = "MerkID", MERK_TYPE = "INTEGER NOT NULL",
MERK_QUALITY = "MerkQuality", MERK_QUALITY_TYPE = "INTEGER NOT NULL",
WOOD_QUALITY = "WoodQuality", WOOD_QUALITY_TYPE = "INTEGER NOT NULL",
STRING_QUALITY = "StringQuality", STRING_QUALITY_TYPE = "INTEGER NOT NULL";
public String name;
public long categoryId, merkId; public double price;
public int merkQuality, woodQuality, stringQuality;
private Guitar(String name, long categoryId, long merkId, double price, int merkQuality, int woodQuality, int stringQuality) {
(6)
this.name = name;
this.categoryId = categoryId; this.merkId = merkId;
this.price = price;
this.merkQuality= merkQuality; this.woodQuality = woodQuality; this.stringQuality = stringQuality; }
public static Guitar getIntance(String name, long categoryId, long merkId, double price, int merkQuality, int woodQuality, int stringQuality) { return new Guitar(name, categoryId, merkId, price,
merkQuality, woodQuality, stringQuality); }
}
public static class Category implements BaseColumns { public static final String TABLE_NAME = "Category",
CATEGORY = "Category", CATEGORY_TYPE = "VARCHAR(40) NOT NULL";
public String category;
private Category(String category) { this.category = category; }
public static Category getInstance(String category) { return new Category(category);
} }
public static class Merk implements BaseColumns { public static final String TABLE_NAME = "Merk",
MERK = "Merk", MERK_TYPE = "VARCHAR(30) NOT NULL";
public String merk;
private Merk(String merk) { this.merk = merk; }
public static Merk getInstance(String merk) { return new Merk(merk);
} } } 4.GuitarOpenHeper.java package id.ali.spkguitaryhtm; import android.content.ContentValues; import android.database.sqlite.SQLiteDatabase; public class GuitarOpenHeper extends
android.database.sqlite.SQLiteOpenHelper {
public static String DATABASE_NAME = "GuitarRythm.db"; public static int DATABASE_VERSION = 1;
public GuitarOpenHeper(android.content.Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION);
(7)
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + GuitarContract.Guitar.TABLE_NAME + "("
+ GuitarContract.Guitar._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ GuitarContract.Guitar.NAME + " " + GuitarContract.Guitar.NAME_TYPE + ","
+ GuitarContract.Guitar.PRICE + " " + GuitarContract.Guitar.PRICE_TYPE + ","
+ GuitarContract.Guitar.CATEGORY + " " + GuitarContract.Guitar.CATEGORY_TYPE + ","
+ GuitarContract.Guitar.MERK + " " + GuitarContract.Guitar.MERK_TYPE + ","
+ GuitarContract.Guitar.MERK_QUALITY + " " + GuitarContract.Guitar.MERK_QUALITY_TYPE + ","
+ GuitarContract.Guitar.WOOD_QUALITY + " " + GuitarContract.Guitar.WOOD_QUALITY_TYPE + ","
+ GuitarContract.Guitar.STRING_QUALITY + " " + GuitarContract.Guitar.STRING_QUALITY_TYPE + ")");
db.execSQL("CREATE TABLE " + GuitarContract.Category.TABLE_NAME + "("
+ GuitarContract.Category._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ GuitarContract.Category.CATEGORY + " " + GuitarContract.Category.CATEGORY_TYPE + ")");
db.execSQL("CREATE TABLE " + GuitarContract.Merk.TABLE_NAME + "("
+ GuitarContract.Merk._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ GuitarContract.Merk.MERK + " " + GuitarContract.Merk.MERK_TYPE + ")");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DELETE TABLE IF EXISTS " + GuitarContract.Guitar.TABLE_NAME);
db.execSQL("DELETE TABLE IF EXISTS " + GuitarContract.Category.TABLE_NAME);
db.execSQL("DELETE TABLE IF EXISTS " + GuitarContract.Merk.TABLE_NAME);
}
public void insertAll() { int i, n;
long[] merkIds = new long[5];
String[] strs = { "Yamaha", "Epiphone", "Fender", "Cort", "Ibanez" };
ContentValues values = new ContentValues(); for(i = 0, n = strs.length; i < n; i++) {
values.put(GuitarContract.Merk.MERK, strs[i]);
merkIds[i] =
this.getWritableDatabase().insert(GuitarContract.Merk.TABLE_NAME, null, values);
}
values = new ContentValues(); long[] categoryIds = new long[3];
(8)
strs = new String[] { "Acoustic", "Electric", "Classic" }; for(i = 0, n = strs.length; i < n; i++) {
values.put(GuitarContract.Category.CATEGORY, strs[i]);
categoryIds[i] =
this.getWritableDatabase().insert(GuitarContract.Category.TABLE_NAME, null, values);
}
GuitarContract.Guitar[] guitar = new GuitarContract.Guitar[150];
//yamaha //akustik
guitar[0] = GuitarContract.Guitar.getIntance("Cx 40", categoryIds[0], merkIds[0],1480000, 8, 4, 5);
guitar[1] = GuitarContract.Guitar.getIntance("Fx 310", categoryIds[0], merkIds[0],1600000, 8, 5, 5);
guitar[2] = GuitarContract.Guitar.getIntance("APX 500 II", categoryIds[0], merkIds[0], 2500000, 8, 6, 5);
guitar[3] = GuitarContract.Guitar.getIntance("CPX 500 II", categoryIds[0], merkIds[0], 2900000, 8, 7, 6);
guitar[4] = GuitarContract.Guitar.getIntance("APX 700 IIL", categoryIds[0], merkIds[0], 3500000, 8, 7, 7);
guitar[5] = GuitarContract.Guitar.getIntance("APX 500 III", categoryIds[0], merkIds[0], 4000000, 8, 7, 8);
guitar[6] = GuitarContract.Guitar.getIntance("APX 500II EW", categoryIds[0], merkIds[0], 5900000, 8, 8, 7);
guitar[7] = GuitarContract.Guitar.getIntance("Slg 110 N", categoryIds[0], merkIds[0], 6800000,8 , 9, 6);
guitar[8] = GuitarContract.Guitar.getIntance("APX 700 II-12", categoryIds[0], merkIds[0], 8800000, 8, 8, 8);
guitar[9] = GuitarContract.Guitar.getIntance("NTX 700", categoryIds[0], merkIds[0], 9250000, 8, 9, 7);
//elektrik
guitar[10] = GuitarContract.Guitar.getIntance("SBG 1820", categoryIds[1], merkIds[0],1500000, 8, 4, 4);
guitar[11] = GuitarContract.Guitar.getIntance("SBG 1802", categoryIds[1], merkIds[0],1700000, 8, 4, 5);
guitar[12] = GuitarContract.Guitar.getIntance("Pasifica PAC 012", categoryIds[1], merkIds[0], 2300000, 8, 5, 4);
guitar[13] = GuitarContract.Guitar.getIntance("Pasifica PAC 212 VFM", categoryIds[1], merkIds[0], 3400000, 8, 5, 5);
guitar[14] = GuitarContract.Guitar.getIntance("SBG 1820 A", categoryIds[1], merkIds[0], 3850000, 8, 6, 6);
guitar[15] = GuitarContract.Guitar.getIntance("Rgx A2", categoryIds[1], merkIds[0], 5000000, 8, 6, 7);
guitar[16] = GuitarContract.Guitar.getIntance("Pasifica PAC-611 H", categoryIds[1], merkIds[0], 6600000, 8, 7, 6);
guitar[17] = GuitarContract.Guitar.getIntance("PAC 1611 MS", categoryIds[1], merkIds[0], 7700000, 8, 8, 7);
guitar[18] = GuitarContract.Guitar.getIntance("Rgx 420 DZ II", categoryIds[1], merkIds[0], 8270000, 8, 8, 8);
guitar[19] = GuitarContract.Guitar.getIntance("SA 2200", categoryIds[1], merkIds[0], 9400000, 8, 9, 8);
//klasik
guitar[20] = GuitarContract.Guitar.getIntance("C 80", categoryIds[2], merkIds[0], 1680000, 8, 6, 4);
guitar[21] = GuitarContract.Guitar.getIntance("NTX 700 Classic", categoryIds[2], merkIds[0],2450000, 8, 5, 6);
guitar[22] = GuitarContract.Guitar.getIntance("NTX 900 FM", categoryIds[2], merkIds[0], 2900000, 8, 6, 6);
guitar[23] = GuitarContract.Guitar.getIntance("CG 122 MS/MC", categoryIds[2], merkIds[0], 3300000, 8, 6, 7);
(9)
guitar[24] = GuitarContract.Guitar.getIntance("CG 142 S/C", categoryIds[2], merkIds[0], 3680000, 8, 7, 6);
guitar[25] = GuitarContract.Guitar.getIntance("NTX 700 CII", categoryIds[2], merkIds[0], 3900000, 8, 7, 7);
guitar[26] = GuitarContract.Guitar.getIntance("CG 162 S/C", categoryIds[2], merkIds[0], 5700000, 8, 8, 6);
guitar[27] = GuitarContract.Guitar.getIntance("CG 192 S/C", categoryIds[2], merkIds[0], 6800000, 8, 7, 8);
guitar[28] = GuitarContract.Guitar.getIntance("NTX 1200R", categoryIds[2], merkIds[0], 7000000, 8, 8, 9);
guitar[29] = GuitarContract.Guitar.getIntance("GC 22S", categoryIds[2], merkIds[0], 8500000, 8, 9, 9);
//epiphone //akustik
guitar[30] = GuitarContract.Guitar.getIntance("Dave Navarro Std", categoryIds[0], merkIds[1], 1990000,9,5,5);
guitar[31] = GuitarContract.Guitar.getIntance("Pro-1", categoryIds[0], merkIds[1], 2500000, 9, 6, 5);
guitar[32] = GuitarContract.Guitar.getIntance("Pro-1 Plus", categoryIds[0], merkIds[1],2800000, 9, 6, 6);
guitar[33] = GuitarContract.Guitar.getIntance("AJ-2205 Vintage Sunburst", categoryIds[0], merkIds[1], 2990000,9,7,6);
guitar[34] = GuitarContract.Guitar.getIntance("Ltd. Ed.1963 J-45", categoryIds[0], merkIds[1], 3900000,9,7,7);
guitar[35] = GuitarContract.Guitar.getIntance("Ltd. Ed. EJ-200 Artist", categoryIds[0], merkIds[1],4450000, 9, 7, 8);
guitar[36] = GuitarContract.Guitar.getIntance("Hummingbird FC", categoryIds[0], merkIds[1], 4900000,9,8,7);
guitar[37] = GuitarContract.Guitar.getIntance("DR-212", categoryIds[0], merkIds[1], 6800000, 9, 8, 8);
guitar[38] = GuitarContract.Guitar.getIntance("Masterbilt DR-500 MCE", categoryIds[0], merkIds[1], 7360000,9,8,9);
guitar[39] = GuitarContract.Guitar.getIntance("DR-100 Wine Red", categoryIds[0], merkIds[1], 8800000, 9, 9, 9);
//elektrik
guitar[40] = GuitarContract.Guitar.getIntance("G-310", categoryIds[1], merkIds[1], 1850000, 9, 4, 6);
guitar[41] = GuitarContract.Guitar.getIntance("LPS II Heritage", categoryIds[1], merkIds[1], 2590000,9,6,4);
guitar[42] = GuitarContract.Guitar.getIntance("Worn G-400", categoryIds[1], merkIds[1], 2800000,9,6,5);
guitar[43] = GuitarContract.Guitar.getIntance("SG [G-310]", categoryIds[1], merkIds[1], 3290000, 9, 7, 6);
guitar[44] = GuitarContract.Guitar.getIntance("Les Paul 100", categoryIds[1], merkIds[1], 4500000, 9, 7, 7);
guitar[45] = GuitarContract.Guitar.getIntance("LPS Alpine White", categoryIds[1], merkIds[1], 5990000,9,7,8);
guitar[46] = GuitarContract.Guitar.getIntance("Gothic Explorer", categoryIds[1], merkIds[1], 7490000,9,8,7);
guitar[47] = GuitarContract.Guitar.getIntance("Tom Delonge ES-333", categoryIds[1], merkIds[1], 8000000, 9, 8, 8);
guitar[48] = GuitarContract.Guitar.getIntance("Joe Pass Emperor", categoryIds[1], merkIds[1], 8500000, 9, 8, 9);
guitar[49] = GuitarContract.Guitar.getIntance("Futura Custom Fx", categoryIds[1], merkIds[1], 9990000,9,9,8);
//klasik
guitar[50] = GuitarContract.Guitar.getIntance("EL-00 Pro", categoryIds[2], merkIds[1], 1500000, 9, 5, 6);
guitar[51] = GuitarContract.Guitar.getIntance("EC-20", categoryIds[2], merkIds[1], 2272000,9,6,5);
(10)
guitar[52] = GuitarContract.Guitar.getIntance("PR 5 E", categoryIds[2], merkIds[1],2450000, 9, 6, 6);
guitar[53] = GuitarContract.Guitar.getIntance("PR 5 Black", categoryIds[2], merkIds[1], 2553000,9,6,7);
guitar[54] = GuitarContract.Guitar.getIntance("SST Classic", categoryIds[2], merkIds[1], 4990000,9,7,7);
guitar[55] = GuitarContract.Guitar.getIntance("Dove Pro", categoryIds[2], merkIds[1],5600000, 9, 7, 8);
guitar[56] = GuitarContract.Guitar.getIntance("EJ-200 CE", categoryIds[2], merkIds[1], 5992000,9,8,7);
guitar[57] = GuitarContract.Guitar.getIntance("Gibson C-O 1967 Nat", categoryIds[2], merkIds[1], 6480000,9,8,8);
guitar[58] = GuitarContract.Guitar.getIntance("FT-350 SCE", categoryIds[2], merkIds[1], 7200000, 9, 8, 9);
guitar[59] = GuitarContract.Guitar.getIntance("Dave Navarro Jane", categoryIds[2], merkIds[1], 8250000, 9, 9, 8);
//fender //akustik
guitar[60] = GuitarContract.Guitar.getIntance("Squire SA-100", categoryIds[0], merkIds[2], 1440000,8,6,4);
guitar[61] = GuitarContract.Guitar.getIntance("CD 110 CE", categoryIds[0], merkIds[2], 1500000, 8, 5, 5);
guitar[62] = GuitarContract.Guitar.getIntance("CC 220 SCE", categoryIds[0], merkIds[2], 2500000, 8, 6, 5);
guitar[63] = GuitarContract.Guitar.getIntance("CD-60 Dreadnought", categoryIds[0], merkIds[2], 2760000,8,6,6);
guitar[64] = GuitarContract.Guitar.getIntance("Alkaline Trio Malibu", categoryIds[0], merkIds[2], 3360000,8,6,7);
guitar[65] = GuitarContract.Guitar.getIntance("CD-140 SCE", categoryIds[0], merkIds[2], 3600000,8,7,7);
guitar[66] = GuitarContract.Guitar.getIntance("Tim Amstrong Sign Hellcat", categoryIds[0], merkIds[2], 4200000,8,7,8);
guitar[67] = GuitarContract.Guitar.getIntance("CD 320 ASRW", categoryIds[0], merkIds[2], 7000000, 8, 8, 7);
guitar[68] = GuitarContract.Guitar.getIntance("Master Newporter", categoryIds[0], merkIds[2], 9600000, 8, 8, 8);
guitar[69] = GuitarContract.Guitar.getIntance("Master Kingman VRF", categoryIds[0], merkIds[2], 10000000, 8, 9, 8);
//elektrik
guitar[70] = GuitarContract.Guitar.getIntance("Squire Bullet Stratocaster", categoryIds[1], merkIds[2], 1990000,8,5,4);
guitar[71] = GuitarContract.Guitar.getIntance("Squire
California Stratocaster", categoryIds[1], merkIds[2], 2480000,8,5,6); guitar[72] = GuitarContract.Guitar.getIntance("Squire
Telecaster Afinity", categoryIds[1], merkIds[2], 2770000,8,6,4); guitar[73] = GuitarContract.Guitar.getIntance("AS
Stratocaster", categoryIds[1], merkIds[2],4580000, 8, 6, 6);
guitar[74] = GuitarContract.Guitar.getIntance("AS Telecaster", categoryIds[1], merkIds[2],4600000, 8, 6, 7);
guitar[75] = GuitarContract.Guitar.getIntance("AN B-Bender", categoryIds[1], merkIds[2], 4950000, 8, 7, 6);
guitar[76] = GuitarContract.Guitar.getIntance("AS Telecaster HH", categoryIds[1], merkIds[2], 5800000, 8, 7, 7);
guitar[77] = GuitarContract.Guitar.getIntance("Black Top Telecaster HH", categoryIds[1], merkIds[2], 6912000, 8, 7, 8);
guitar[78] = GuitarContract.Guitar.getIntance("AS Stratocaster HH", categoryIds[1], merkIds[2], 7500000, 8, 8, 9);
guitar[79] = GuitarContract.Guitar.getIntance("STD Stratocaster Mexico", categoryIds[1], merkIds[2], 9890000,8,9,9);
(11)
guitar[80] = GuitarContract.Guitar.getIntance("CN-90", categoryIds[2], merkIds[2], 1000000, 8, 5, 6);
guitar[81] = GuitarContract.Guitar.getIntance("ESC 105", categoryIds[2], merkIds[2], 1010000,8,6,4);
guitar[82] = GuitarContract.Guitar.getIntance("FC-100", categoryIds[2], merkIds[2], 2800000,8,6,6);
guitar[83] = GuitarContract.Guitar.getIntance("FC 200", categoryIds[2], merkIds[2], 3000000, 8, 6, 7);
guitar[84] = GuitarContract.Guitar.getIntance("Bucket T-100 CE", categoryIds[2], merkIds[2], 3502000,8,7,6);
guitar[85] = GuitarContract.Guitar.getIntance("CN-140 S", categoryIds[2], merkIds[2], 4200000,8,7,7);
guitar[86] = GuitarContract.Guitar.getIntance("CN-240 SCE", categoryIds[2], merkIds[2], 4850000,8,7,8);
guitar[87] = GuitarContract.Guitar.getIntance("CN-320", categoryIds[2], merkIds[2], 6800000, 8, 8, 7);
guitar[88] = GuitarContract.Guitar.getIntance("CN-320 AS", categoryIds[2], merkIds[2], 8900000, 8, 8, 8);
guitar[89] = GuitarContract.Guitar.getIntance("MC 1 3/4 Nylon", categoryIds[2], merkIds[2], 9700000, 8, 8, 9);
//cort //akustik
guitar[90] = GuitarContract.Guitar.getIntance("EVL-A4", categoryIds[0], merkIds[3], 1400000, 6, 5, 5);
guitar[91] = GuitarContract.Guitar.getIntance("AD 810", categoryIds[0], merkIds[3], 1600000,6,5,6);
guitar[92] = GuitarContract.Guitar.getIntance("AD 810 E", categoryIds[0], merkIds[3], 2200000,6,6,6);
guitar[93] = GuitarContract.Guitar.getIntance("AS E4", categoryIds[0], merkIds[3], 2700000, 6, 6, 7);
guitar[94] = GuitarContract.Guitar.getIntance("AS M-5", categoryIds[0], merkIds[3], 3300000, 6, 7, 6);
guitar[95] = GuitarContract.Guitar.getIntance("SFX 1F BL", categoryIds[0], merkIds[3], 4085000,6,7,7);
guitar[96] = GuitarContract.Guitar.getIntance("NDX 20 BL", categoryIds[0], merkIds[3], 4170000,6,7,8);
guitar[97] = GuitarContract.Guitar.getIntance("L 100 F NS", categoryIds[0], merkIds[3], 8500000,6,8,7);
guitar[98] = GuitarContract.Guitar.getIntance("NDX 20", categoryIds[0], merkIds[3], 8800000, 6, 8, 8);
guitar[99] = GuitarContract.Guitar.getIntance("NDX 50", categoryIds[0], merkIds[3], 9200000, 6, 9, 9);
//elektrik
guitar[100] = GuitarContract.Guitar.getIntance("CR 100", categoryIds[1], merkIds[3],1480000, 6, 4, 5);
guitar[101] = GuitarContract.Guitar.getIntance("CR 200", categoryIds[1], merkIds[3],1600000, 6, 5, 4);
guitar[102] = GuitarContract.Guitar.getIntance("CR 50 2TS", categoryIds[1], merkIds[3], 1912000,6,5,5);
guitar[103] = GuitarContract.Guitar.getIntance("EG Cort X-1", categoryIds[1], merkIds[3], 2190000,6,6,6);
guitar[104] = GuitarContract.Guitar.getIntance("CR-200 BK", categoryIds[1], merkIds[3], 4980000,6,6,7);
guitar[105] = GuitarContract.Guitar.getIntance("Cort Matthew Bellamy", categoryIds[1], merkIds[3], 5592000,6,7,6);
guitar[106] = GuitarContract.Guitar.getIntance("Cort Sunset Baritone", categoryIds[1], merkIds[3], 5800000, 6, 7, 7);
guitar[107] = GuitarContract.Guitar.getIntance("Cort Sunset I", categoryIds[1], merkIds[3], 7900000, 6, 8, 7);
(12)
guitar[108] = GuitarContract.Guitar.getIntance("Cort Sunset II", categoryIds[1], merkIds[3], 8990000,6,8,9);
guitar[109] = GuitarContract.Guitar.getIntance("EVL-X7", categoryIds[1], merkIds[3], 9000000, 6, 9, 8);
//klasik
guitar[110] = GuitarContract.Guitar.getIntance("AC 70", categoryIds[2], merkIds[3],1580000, 6, 6, 4);
guitar[111] = GuitarContract.Guitar.getIntance("ACC II ME", categoryIds[2], merkIds[3], 2200000,6,5,6);
guitar[112] = GuitarContract.Guitar.getIntance("AC 120", categoryIds[2], merkIds[3], 2500000, 6, 6, 6);
guitar[113] = GuitarContract.Guitar.getIntance("CEC 3-NS", categoryIds[2], merkIds[3], 2691000,6,6,7);
guitar[114] = GuitarContract.Guitar.getIntance("CEC 5 Nat", categoryIds[2], merkIds[3], 3880000,6,7,7);
guitar[115] = GuitarContract.Guitar.getIntance("CEC 7", categoryIds[2], merkIds[3], 4595000,6,7,8);
guitar[116] = GuitarContract.Guitar.getIntance("AC 200", categoryIds[2], merkIds[3], 5750000, 6, 8, 7);
guitar[117] = GuitarContract.Guitar.getIntance("AC 250 CF", categoryIds[2], merkIds[3],8100000, 6, 8, 8);
guitar[118] = GuitarContract.Guitar.getIntance("CCP 10 NS", categoryIds[2], merkIds[3], 8700000,6,9,8);
guitar[119] = GuitarContract.Guitar.getIntance("AC 120 CE", categoryIds[2], merkIds[3], 8950000, 6, 9, 9);
//ibanez //akustik
guitar[120] = GuitarContract.Guitar.getIntance("AW 50-NT", categoryIds[0], merkIds[4], 1800000,7,5,6);
guitar[121] = GuitarContract.Guitar.getIntance("AEW 21 VK", categoryIds[0], merkIds[4], 1600000, 7, 6, 4);
guitar[122] = GuitarContract.Guitar.getIntance("AW 250-LG", categoryIds[0], merkIds[4], 2740000,7,6,5);
guitar[123] = GuitarContract.Guitar.getIntance("AEW 40 CD", categoryIds[0], merkIds[4], 2980000, 7, 6, 6);
guitar[124] = GuitarContract.Guitar.getIntance("AW 370-NT", categoryIds[0], merkIds[4], 3170000,7,7,6);
guitar[125] = GuitarContract.Guitar.getIntance("AEG 24 II", categoryIds[0], merkIds[4], 4900000, 7, 7, 7);
guitar[126] = GuitarContract.Guitar.getIntance("AEG 3011 BK", categoryIds[0], merkIds[4], 5030000,7,8,7);
guitar[127] = GuitarContract.Guitar.getIntance("TCM 50", categoryIds[0], merkIds[4], 6800000, 7, 8, 8);
guitar[128] = GuitarContract.Guitar.getIntance("AW 4000 BS Sunburst", categoryIds[0], merkIds[4], 7199000,7,9,8);
guitar[129] = GuitarContract.Guitar.getIntance("TCY 10 E", categoryIds[0], merkIds[4], 9000000, 7, 9, 9);
//elektrik
guitar[130] = GuitarContract.Guitar.getIntance("PGM White", categoryIds[1], merkIds[4], 1450000,7,4,7);
guitar[131] = GuitarContract.Guitar.getIntance("SA 160 FM", categoryIds[1], merkIds[4],1750000, 7, 5, 5);
guitar[132] = GuitarContract.Guitar.getIntance("SA 960 QM", categoryIds[1], merkIds[4],2300000, 7, 6, 5);
guitar[133] = GuitarContract.Guitar.getIntance("RG 370 DXGP", categoryIds[1], merkIds[4], 3800000,7,6,6);
guitar[134] = GuitarContract.Guitar.getIntance("ARZ 6 UC Prestige", categoryIds[1], merkIds[4], 4900000, 7, 7, 7);
guitar[135] = GuitarContract.Guitar.getIntance("Steve Vai STD Signature", categoryIds[1], merkIds[4], 5000000,7,7,8);
(13)
guitar[136] = GuitarContract.Guitar.getIntance("GS 270", categoryIds[1], merkIds[4], 5800000, 7, 8, 7);
guitar[137] = GuitarContract.Guitar.getIntance("Iron Label BL", categoryIds[1], merkIds[4], 6712000,7,8,8);
guitar[138] = GuitarContract.Guitar.getIntance("RG 1570", categoryIds[1], merkIds[4], 8500000,7,9,8);
guitar[139] = GuitarContract.Guitar.getIntance("GA X 30", categoryIds[1], merkIds[4], 9800000, 7, 9, 9);
//klasik
guitar[140] = GuitarContract.Guitar.getIntance("GA 3 Cool", categoryIds[2], merkIds[4], 1038000,7,5,7);
guitar[141] = GuitarContract.Guitar.getIntance("G 10-3Q", categoryIds[2], merkIds[4], 1600000, 7, 6, 5);
guitar[142] = GuitarContract.Guitar.getIntance("G 200 E Nat", categoryIds[2], merkIds[4], 1750000, 7, 6, 7);
guitar[143] = GuitarContract.Guitar.getIntance("GA 35 TCE", categoryIds[2], merkIds[4], 3895000,7,7,6);
guitar[144] = GuitarContract.Guitar.getIntance("GA 5 TCE", categoryIds[2], merkIds[4], 4290000,7,7,7);
guitar[145] = GuitarContract.Guitar.getIntance("G 207 CWC", categoryIds[2], merkIds[4], 5000000, 7, 7, 8);
guitar[146] = GuitarContract.Guitar.getIntance("G 300 NT", categoryIds[2], merkIds[4], 5900000, 7, 8, 7);
guitar[147] = GuitarContract.Guitar.getIntance("AEG 10 II BL", categoryIds[2], merkIds[4], 6310000,7,8,8);
guitar[148] = GuitarContract.Guitar.getIntance("G 208 CWCNT", categoryIds[2], merkIds[4], 7800000,7,9,8);
guitar[149] = GuitarContract.Guitar.getIntance("GM 600 CE", categoryIds[2], merkIds[4], 9200000, 7, 9, 9);
for(i = 0, values = new ContentValues(), n = guitar.length; i < n; i++) {
GuitarContract.Guitar g = guitar[i]; values = new ContentValues();
values.put(GuitarContract.Guitar.NAME, g.name); values.put(GuitarContract.Guitar.PRICE, g.price); values.put(GuitarContract.Guitar.CATEGORY, g.categoryId); values.put(GuitarContract.Guitar.MERK, g.merkId); values.put(GuitarContract.Guitar.MERK_QUALITY, g.merkQuality); values.put(GuitarContract.Guitar.WOOD_QUALITY, g.woodQuality); values.put(GuitarContract.Guitar.STRING_QUALITY, g.stringQuality); this.getWritableDatabase().insert(GuitarContract.Guitar.TABLE_NAME, null, values); } } } 5.SearchActivity.java package id.ali.spkguitaryhtm; import id.ali.spkguitaryhtm.GuitarContract.Guitar; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter;
(14)
import android.widget.ImageButton; import android.widget.ListView; import android.widget.Spinner;
public class SearchActivity extends Activity implements View.OnClickListener {
private String[]
modelList = { "Acoustic", "Electric", "Classic" },
merkList = { "Yamaha", "Ephiphone", "Fender", "Cort", "Ibanez", "Semua Merk" };
private double[] bobot = { 0.3, 0.4, 0.3 }; private Spinner merk, model, harga;
private ListView result;
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.search);
result = (ListView) findViewById(R.id.hasil); ImageButton Akustik = (ImageButton)
findViewById(R.id.imageButton1);
ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);
ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);
model = (Spinner) findViewById(R.id.jenis); harga = (Spinner) findViewById(R.id.harga); merk = (Spinner) findViewById(R.id.merk);
String[] listHarga = { "1.000.000 - 3.000.000", "3.000.000 - 6.000.000", "6.000.000 - 10.000.000" };
model.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, modelList)); harga.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, listHarga)); merk.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, merkList)); Akustik.setOnClickListener(this); Elektrik.setOnClickListener(this); Klasik.setOnClickListener(this); ((android.widget.Button) findViewById(R.id.search)).setOnClickListener(this); }
public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:
startActivity(new Intent(this, JenisActivity.class));
break;
case R.id.imageButton2:
startActivity(new Intent(this, Jenis2Activity.class));
break;
case R.id.imageButton3:
startActivity(new Intent(this, Jenis3Activity.class));
break;
case R.id.search:
int up = 0, bottom = 0, i = 0, size = 0, max = 3; switch(harga.getSelectedItemPosition()) {
(15)
case 0: bottom = 1000000; up = 3000000; break; case 1: bottom = 3000000; up = 6000000; break; case 2: bottom = 6000000; up = 10000000; break;
}
String[] columns = { Guitar.MERK_QUALITY, Guitar.WOOD_QUALITY, Guitar.STRING_QUALITY };
GuitarOpenHeper dbOpenHelper = new GuitarOpenHeper(this);
Cursor c = null;
if((i = merk.getSelectedItemPosition()) == 5) {
max = 5;
c =
dbOpenHelper.getReadableDatabase().query(Guitar.TABLE_NAME, null, Guitar.CATEGORY + " = ? AND " + Guitar.PRICE + " >= ? AND " + Guitar.PRICE + " < ?", new String [] {
String.valueOf(model.getSelectedItemPosition() + 1),
String.valueOf(bottom), String.valueOf(up) }, null, null, null);
}
else
c =
dbOpenHelper.getReadableDatabase().query(Guitar.TABLE_NAME, null, Guitar.MERK + " = ? AND " + Guitar.CATEGORY + " = ? AND " +
Guitar.PRICE + " >= ? AND " + Guitar.PRICE + " <= ?", new String [] { String.valueOf(i + 1), String.valueOf(model.getSelectedItemPosition() + 1), String.valueOf(bottom), String.valueOf(up) }, null, null, null); int[] merkQuality = new int[size = c.getCount()],
woodQuality = new int[size], stringQuality = new int[size]; String names[] = new String[size];
if(c.moveToFirst()) {
i = 0;
do { merkQuality[i] = c.getInt(c.getColumnIndex(columns[0])); woodQuality[i] = c.getInt(c.getColumnIndex(columns[1])); stringQuality[i] = c.getInt(c.getColumnIndex(columns[2])); names[i] = c.getString(c.getColumnIndex(Guitar.NAME)); i++; } while(c.moveToNext()); } c.close(); dbOpenHelper.close();
Result[] R = new Result[size]; for(i = 0; i < size; i++)
R[i] = new Result(names[i], (bobot[0] * merkQuality[i]) + (bobot[1] * woodQuality[i]) + (bobot[2] * stringQuality[i]));
new Sort().quickSort(R, 0, R.length - 1); java.text.DecimalFormat f = new
java.text.DecimalFormat("0.00"); names = new String[max];
for(size = 0, i = R.length - 1; i > -1; i--, size++) {
if(size >= max) break;
names[size] = (size + 1) + ". " + R[i].name + " (" + f.format(R[i].result) + ")";
}
result.setAdapter(new
android.widget.ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names));
(16)
} }
private class Result { private String name; private double result;
private Result(String name, double result) {
this.name = name;
this.result = result;
}
}
private class Sort {
private int partition(Result[] results, int left, int right) {
Result tmp;
int i = left, j = right;
double pivot = results[(left + right) / 2].result; while (i <= j) {
while (results[i].result < pivot) i++;
while (results[j].result > pivot) j--;
if (i <= j) {
tmp = results[i];
results[i] = results[j]; results[j] = tmp;
i++; j--; } }; return i; }
private void quickSort(Result[] results, int left, int right) { int index = partition(results, left, right);
if (left < index - 1)
quickSort(results, left, index - 1); if (index < right)
quickSort(results, index, right);
} } } 6.JenisActivity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;
public class JenisActivity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.list_jenis);
(17)
ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);
ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);
ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); }
public void onClick(View view) { switch(view.getId()) {
case R.id.imageButton4:
startActivity(new Intent(this, SearchActivity.class));
break;
case R.id.imageButton2:
startActivity(new Intent(this, Jenis2Activity.class));
break;
case R.id.imageButton3:
startActivity(new Intent(this, Jenis3Activity.class));
break; } } } 7.Jenis2Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;
public class Jenis2Activity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.list_jenis2);
ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);
ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1);
ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3); goSearch.setOnClickListener(this); Akustik.setOnClickListener(this); Klasik.setOnClickListener(this); }
public void onClick(View view) { switch(view.getId()) {
(18)
startActivity(new Intent(this, SearchActivity.class));
break;
case R.id.imageButton1:
startActivity(new Intent(this, JenisActivity.class));
break;
case R.id.imageButton3:
startActivity(new Intent(this, Jenis3Activity.class));
break; } } } 8.Jenis3Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;
public class Jenis3Activity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.list_jenis3);
ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);
ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1);
ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2); goSearch.setOnClickListener(this); Akustik.setOnClickListener(this); Elektrik.setOnClickListener(this); }
public void onClick(View view) { switch(view.getId()) { case R.id.imageButton4:
startActivity(new Intent(this, SearchActivity.class));
break;
case R.id.imageButton1:
startActivity(new Intent(this, JenisActivity.class));
break;
case R.id.imageButton2:
startActivity(new Intent(this, Jenis2Activity.class));
break;
} } }
(19)
9.MerkActivity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;
public class MerkActivity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.list_merk);
ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);
ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);
ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);
ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }
public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:
startActivity(new Intent(this, JenisActivity.class)); break;
case R.id.imageButton4:
startActivity(new Intent(this, SearchActivity.class)); break;
case R.id.imageButton2:
startActivity(new Intent(this, Jenis2Activity.class)); break;
case R.id.imageButton3:
startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 10. Merk2Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View;
(20)
import android.widget.ImageButton;
public class Merk2Activity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.list_merk2); ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);
ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);
ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);
ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }
public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:
startActivity(new Intent(this, JenisActivity.class)); break;
case R.id.imageButton4:
startActivity(new Intent(this, SearchActivity.class)); break;
case R.id.imageButton2:
startActivity(new Intent(this, Jenis2Activity.class)); break;
case R.id.imageButton3:
startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 11.Merk3Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;
public class Merk3Activity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
(21)
ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);
ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);
ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);
ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }
public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:
startActivity(new Intent(this, JenisActivity.class)); break;
case R.id.imageButton4:
startActivity(new Intent(this, SearchActivity.class)); break;
case R.id.imageButton2:
startActivity(new Intent(this, Jenis2Activity.class)); break;
case R.id.imageButton3:
startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 12.Merk4Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;
public class Merk4Activity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.list_merk4); ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);
ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);
ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);
ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1);
(22)
goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }
public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:
startActivity(new Intent(this, JenisActivity.class)); break;
case R.id.imageButton4:
startActivity(new Intent(this, SearchActivity.class)); break;
case R.id.imageButton2:
startActivity(new Intent(this, Jenis2Activity.class)); break;
case R.id.imageButton3:
startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 13.Merk5Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;
public class Merk5Activity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.list_merk5); ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);
ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);
ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);
ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }
public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:
(23)
startActivity(new Intent(this, JenisActivity.class)); break;
case R.id.imageButton4:
startActivity(new Intent(this, SearchActivity.class)); break;
case R.id.imageButton2:
startActivity(new Intent(this, Jenis2Activity.class)); break;
case R.id.imageButton3:
startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 14.Help.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;
public class Help extends Fragment { @Override
public View onCreateView (LayoutInflater inflater,ViewGroup root, Bundle savedInstanceState) {
return inflater.inflate(R.layout.activity_help, root,false); } } 15.About.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;
public class About extends Fragment { @Override
public View onCreateView (LayoutInflater inflater,ViewGroup root, Bundle savedInstanceState) {
return inflater.inflate(R.layout.activity_about, root,false); }
}
16.activity_main.xml
<android.support.v4.widget.DrawerLayout
(24)
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" > <FrameLayout
android:id="@+id/frame_konten"
android:layout_width="match_parent"
android:layout_height="match_parent" /> <ListView android:id="@+id/drawer_kiri" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#111" android:choiceMode="singleChoice" android:divider="@android:color/transparent"
android:dividerHeight="0dp" /> </android.support.v4.widget.DrawerLayout>
17.main.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="match_parent"
android:orientation="vertical" > <LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/green"
android:orientation="horizontal" > <ImageButton android:id="@+id/imageButton1" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:src="@drawable/akustik1"
android:contentDescription="@string/app_name" /> <ImageButton android:id="@+id/imageButton2" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:src="@drawable/elektrik1"
android:contentDescription="@string/app_name" /> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/green"
android:orientation="horizontal" > <ImageButton
android:id="@+id/imageButton3"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
(25)
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:src="@drawable/cari1" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@color/white"
android:orientation="horizontal" > <ImageButton android:id="@+id/cort" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:layout_marginTop="35dp" android:layout_weight="1" android:background="@color/white"
android:src="@drawable/iconic1" /> <ImageButton android:id="@+id/yamaha" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:layout_marginTop="35dp" android:layout_weight="1" android:background="@color/white"
android:src="@drawable/iconicyamaha" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_gravity="center" android:gravity="center" android:background="@color/white"
android:orientation="horizontal" > <ImageButton android:id="@+id/ibanez" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:background="@color/white" android:layout_gravity="center_vertical"
android:src="@drawable/iconic5" />
(26)
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@color/white"
android:orientation="horizontal" > <ImageButton android:id="@+id/fender" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:layout_weight="1" android:background="@color/white" android:src="@drawable/iconic3" /> <ImageButton android:id="@+id/epiphone" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:layout_weight="1" android:background="@color/white"
android:src="@drawable/iconic4" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@color/white"
android:orientation="horizontal" >
</LinearLayout> </LinearLayout>
18.search.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="match_parent"
android:background="@color/greencol"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" > <LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/greencol"
android:orientation="horizontal" > <ImageButton android:id="@+id/imageButton1" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:src="@drawable/akustik1"
(27)
android:contentDescription="@string/app_name" /> <ImageButton android:id="@+id/imageButton2" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:src="@drawable/elektrik1"
android:contentDescription="@string/app_name" /> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/greencol"
android:orientation="horizontal" > <ImageButton android:id="@+id/imageButton3" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1"
android:src="@drawable/klasik1" /> <ImageButton
android:id="@+id/imageButton4"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:src="@drawable/cari1" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" android:orientation="vertical"
android:padding="15dp"> <TextView
android:id="@+id/textjenis"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Weighted Sum Model Method"
android:textStyle="italic" android:textSize="14dp" /> <View android:id="@+id/garis1" android:layout_width="match_parent" android:layout_height="3dp" android:layout_marginTop="15dp"
android:background="#ddd" /> <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"> <TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/guitar_model"
android:layout_gravity="center_vertical" /> <Spinner android:id="@+id/jenis"
(28)
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5" /> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal"> <TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/price"
android:layout_gravity="center_vertical" /> <Spinner
android:id="@+id/harga"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5" /> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal"> <TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/merk"
android:layout_gravity="center_vertical" /> <Spinner android:id="@+id/merk"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5" /> </LinearLayout> <Button android:id="@+id/search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/search"
android:layout_gravity="end" />
<ListView android:id="@+id/hasil"
android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" /> </LinearLayout> </LinearLayout> 19.actionnavigation.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:orientation="horizontal" > <ImageButton
(29)
android:id="@+id/navi"
style="?android:attr/borderlessButtonStyle"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/ic_drawer"/> <TextView
android:id="@+id/teksnav"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Ali Huseini"
android:textColor="@color/white"
android:textSize="17sp"
/> </LinearLayout>
20.navigationdrawer.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/list"
android:layout_height="match_parent"
android:orientation="vertical"> <FrameLayout
android:id= "@+id/container"
android:layout_height="match_parent"
android:layout_width="match_parent" /> <fragment
android:id="@+id/navigationdrawer"
android:name="id.ali.NavigationDrawerFragment"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start" />
</android.support.v4.widget.DrawerLayout>
21.activity_help.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:orientation="vertical" > <LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@color/green"
android:orientation="horizontal" > <TextView android:id="@+id/help" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:textStyle="bold" android:text="HOW TO USE THIS APP"
(30)
android:textSize="20dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white"
android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:textSize="16dp"
android:text="1. Tab 'Go Search' to choose the guitar which you want to compare. " />
<View
android:id="@+id/garis1"
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_marginTop="15dp"
android:background="#ddd" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:textSize="16dp"
android:text="2. Tab 'Acoustic','Electric', or 'Classic' to see guitar model for detail." />
<View
android:id="@+id/garis2"
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_marginTop="15dp"
android:background="#ddd" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:textSize="16dp"
android:text="3. Tab 'ImageButton' Merk to see the guitar list from any merk. " />
<View
android:id="@+id/garis3"
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_marginTop="15dp"
android:background="#ddd" /> <TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
(31)
android:layout_marginRight="10dp"
android:textSize="16dp"
android:text="4. Tab 'ActionBar Navigation' to see more about this app." />
<View
android:id="@+id/garis4"
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_marginTop="15dp"
android:background="#ddd" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:textSize="16dp"
android:text="5. Click 'Help' to know how to use this app." />
<View
android:id="@+id/garis5"
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_marginTop="15dp"
android:background="#ddd"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white"
android:orientation="vertical"> </LinearLayout>
</LinearLayout>
22.activity_about.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:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="65dp" android:gravity="center"
android:text="SISTEM PENDUKUNG KEPUTUSAN\nPEMILIHAN GITAR BERBASIS ANDROID\nMENGGUNAKAN METODE WEIGHTED SUM MODEL" />
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
(32)
android:gravity="center"
android:text="SKRIPSI" /> <TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="ALI HUSEINI SIAMBATON" /> <TextView
android:id="@+id/textView4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="101401089" /> <ImageView
android:id="@+id/iconusu"
android:layout_width="172dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:layout_marginTop="30dp"
android:src="@drawable/ic_usu" /> <TextView
android:id="@+id/textView5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center"
android:text="PROGRAM STUDI S1 ILMU KOMPUTER\nFAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA\n2014" />
(33)
(34)
(35)
DAFTAR PUSTAKA
Ananda, Dwi Rizki.2015. Perbandingan Metode Anatycal Hierarchy Process dan
Weighted Sum Model Pada Sistem Pendukung Keputusan Pemilihan Sepeda.Skripsi.Medan.Universitas Sumatera Utara.
Ariyanto.2012 .Sistem Pendukung Keputusan Pemilihan Karyawan Terbaik dengan
Metode Simple Additive Weighting (Studi Kasus : Pamella Swalayan). Skripsi
Yogyakarta: Universitas Islam Negeri Sunan Kalijaga.
Asriadi, Derry. 2012. Jago Main Gitar Dari Nol. Jakarta : Kawah Media.
Basyaib, Fahmi. 2006. Teori Pembuatan Keputusan. Jakarta : PT. Grasindo.
Bidgoli, H. 1989. Decision Support Systems : Principle and Practice. St Paul : West Publishing Company.
Chistie,E.S.2012.Aplikasi Portal Akademik Mobile Berbasis Android. Skripsi.
Medan. Universitas Sumatera Utara.
Cholis,H.N.2013.Aplikasi Hitung Zakat Berbasis Android .Skripsi.Medan.Universitas
Sumatera Utara.
Hidayat,F.2012. Analisa dan Perancangan Perhitungan Zakat Mal Berbasis Android. Skripsi. Medan. Universitas Sumatera Utara.
Janakiraman, V.S , Sarukesi, K. 1999. Decision Support System. New Delhi : Pretince-Hall.
(36)
Parno,dkk.2011.Aplikasi Mobile Kamus Istilah Psikologi Berbasis Android 2.2.Jurnal
Gunadarma 4():121-128.
Power. J, Daniel . 2009. Decision Support Basics. New York : Bussines Expert Press.
Ramon San Cristobal Mateo, Jose. 2012. Multi-Criteria Analysis in the Renewable
Energy Industry. London : Springer.
Safaat,N.2012.Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis
Android.Informatika:Bandung.
Siregar,Fajrul Falah.2014. Implementasi Perbandingan Metode Simple Additive
Weighting dengan Weighted Sum Model Dalam Pemilihan Siswa Berprestasi. Skripsi.Medan.Universitas Sumatera Utara.
Sprague, R.H , Watson, M.J. 1974. Bit by Bit : Toward Decision Support Systems. California : Management Review.
Sugumaran, Ramanathan, DeGroote, John . 2011. Spatial Decision Support Systems
Principles and Practice. Florida : CRC Press.
Suryadi, Kadarsah, Ramdhani, M. Ali. 1998. Sistem Pendukung Keputusan : Suatu
Wacana Struktural Idelisasi dan Implementasi Konsep Pengambilan Keputusan. Bandung :Remaja Rosdakarya Offset.
Syafaruddin Anzizhan.2004. Sistem Pengambilan Keputusan Pendidikan. Jakarta, Grasindo.
Turban, E, Rainer, R.K and Potter, R.E 2005.Introduction to Information
Technology.Hoboken: John Willey & Sons.
Utomo, E. P. 2012. From Newbie to Advanced – Mudahnya Membuat Aplikasi
(37)
Venkata Rao, R, 2007. Decision Making in the Manufacturing Environment : Using Graph Theory and Fuzzy Multiple Attribute Decision Making Methods. London : Springer.
Zhou, Mark. 2011. Communication in Computer and Information Science . New York : Springer.
(38)
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Tahapan yang dilakukan untuk menghasilkan pemahaman yang menyeluruh terhadap kebutuhan sistem sehingga diperoleh tugas-tugas yang akan dikerjakan sistem disebut analisis sistem. Tahapan ini dilakukan agar pada saat proses perancangan aplikasi tidak terjadi kesalahan yang berarti. Ada dua tahapan analisis dalam tugas akhir ini yaitu: analisis masalah dan analisis persyaratan.
Memahami kelayakan masalah akan dibahas dianalisis masalah juga untuk menjelaskan fungsi-fungsi yang ditawarkan dan mampu dikerjakan sistem akan dibahas dianalisis persyaratan.
3.1.1 Analisis Masalah
Analisis masalah merupakan proses mengidentifikasi sebab dan akibat dibangunnya sebuah sistem agar sistem yang akan dibangun tersebut dapat berjalan sebagaimana mestinya sesuai dengan tujuan dari sistem itu. Saat ini terdapat bermacam-macam jenis dan merek gitar, oleh karena itu dibutuhkan sebuah sistem untuk memberikan informasi yang tepat dalam proses pemilihan gitar yang sesuai dengan kebutuhan dan kriteria pengguna dengan menggunakan metode Weighted Sum Model.
Diagram Ishikawa adalah diagram yang menunjukkan penyebab-penyebab dari sebuah event yang spesifik. Diagram ini juga disebut dengan diagram tulang ikan atau
cause-and-effect diagram. Pemakaian diagram Ishikawa yang paling umum adalah
untuk mencegah efek serta mengembangkan kualitas produk. Analisa masalah lebih jelas melalui diagram Ishikawa yang dapat dilihat pada Gambar 3.1.
(39)
Penentuan Pemilihan Gitar Sesuai dengan Kriteria Material
Mesin
Metode
Manusia
Belum mengetahui gitar yang sesuai dengan
yang diinginkan Membutuhkan informasi
data dan alternatif
Implementasi WSM Data gitar dari berbagai jenis
dan merk
Belum ada Sistem Pendukung Keputusan Pemilihan Gitar
Gambar 3.1 Diagram Ishikawa untuk analisis perancangan sistem
Berdasarkan Gambar 3.1 dapat diketahui bahwa permasalahan pemilihan gitar dikarenakan banyaknya jenis dan merek gitar yang ada di pasaran dan juga belum adanya sebuah sistem informasi yang ditujukan khusus untuk menyelesaikan masalah tersebut. Untuk itu dibuatlah sebuah Sistem Pendukung Keputusan dengan menggunakan metode Weighted Sum Model pada platform Android.
3.1.2 Analisis Persyaratan
Analisis persyaratan terbagi dua bagian, yaitu persyaratan fungsional dan persyaratan nonfungsional. Persyaratan fungsional mendeskripsikan aktivitas yang disediakan suatu sistem. Sedangkan Persyaratan nonfungsional mendeskripsikan fitur, karakteristik dan batasan lainnya.
3.1.2.1 Persyaratan Fungsional
Terdapat beberapa hal yang menjadi persyaratan fungsional dalam aplikasi contact manager yang harus dipenuhi, antara lain :
1. Sistem dapat menerima inputan data jenis gitar, harga dan merk gitar.
2. Sistem dapat mengetahui gitar yang sesuai dengan kriteria user, berdasarkan metode Weighted Sum Model.
(1)
DECISION SUPPORT SYSTEM USING WEIGHTED SUM MODEL METHOD FOR CHOOSING GUITAR IN ANDROID PLATFORM
ABSTRACT
IT-based technology needed is varied, the availability of a mobile application which can solve any problems a day is one of people need now, choosing musical instrument correctly is something useful for musician, especially for the general public. In this case, then we made guitarythm application that implementing Weighted Sum Model method for choosing guitar and SQLite as the guitar data storage. Weighted Sum Model method is a simple method which often used in a single dimensional problem or multi dimensional problem.The electoral system is made very easy, by entering the type of guitar, price and brand as an input in the selection, then we will know what is the best guitar that suits with our needs and budget.
(2)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xii
Bab 1 Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 3
1.7 Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1 Sistem Pendukung Keputusan 6
2.1.1 Syarat Sistem Pendukung Keputusan 7 2.1.2 Komponen Sistem Pendukung Keputusan 7 2.1.3 Karakteristik Sistem Pendukung Keputusan 8 2.1.4 Tahapan Proses Pengambilan Keputusan 9 2.1.5 Metode Weighted Sum Model 10
2.2 Eclipse 12
2.3 Pengertian, Fungsi dan Jenis Gitar 13
2.3.1 Pengertian Gitar 13
2.3.2 Fungsi Gitar 13
2.3.3 Jenis Gitar 13
2.4 Android 14
2.4.1 Sejarah Android 15
2.4.2 Versi – versi Android 15
2.4.3 Android JellyBean 16
2.4.4 Android KitKat 16
2.4.5 Android Lollipop 17
2.5 Relevansi 17
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 19
3.1.1 Analisis Masalah 19
(3)
3.1.2.1 Kebutuhan Fungsional 20 3.1.2.2 Kebutuhan Non Fungsional 21
3.1.3 Pemodelan 21
3.1.3.1 Use Case Diagram 22
3.1.3.2 Activity Diagram 23
3.1.3.3 Sequence Diagram 24
3.1.3.4 Kamus Data 25
3.1.3.5 Flowchart Sistem 25
3.2 Perancangan Sistem 26
3.2.1 Menu Utama 27
3.2.2 Menu List Merk 28
3.2.3 Menu List Jenis 29
3.2.4 Menu Go Search 30
3.2.5 Menu Hasil Pemilihan 31
3.2.6 Menu Navigation 32
3.2.7 Menu Help 33
3.2.8 Menu About 34
Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi 35
4.1.1 Implementasi Algoritma Weighted Sum Model 35
4.2 Antarmuka Sistem 36
4.2.1 Menu Utama 36
4.2.2 Menu List Merk 37
4.2.3 Menu List Jenis 38
4.2.4 Menu Go Search 39
4.2.5 Menu Hasil Pemilihan 40
4.2.6 Menu Navigation 41
4.2.7 Menu Help dan About 42
4.3 Pengujian 42
4.3.1 Pengujian Dengan Metode Weighted Sum Model 42 Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 50
5.2 Saran 50
Daftar Pustaka 52
(4)
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1 2.2 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10
4.1 4.2 4.3 4.4 4.5 4.6
Contoh Metode Weighted Sum Model Versi-versi Android
Use Case Proses Pemilihan Gitar dengan Metode WSM
Kamus Data
Keterangan gambar rancangan interface Menu Utama Keterangan gambar rancangan interface Menu List Merk Keterangan gambar rancangan interface Menu List Jenis Keterangan gambar rancangan interface Menu Go Search Keterangan gambar rancangan interface Hasil Pencarian Keterangan gambar rancangan interface Menu Navigation Keterangan gambar rancangan interface Menu Help Keterangan gambar rancangan interface Menu About Perhitungan dengan Metode Weighted Sum Model Hasil Pengujian 1 dengan Metode Weighted Sum Model Hasil Pengujian 2 dengan Metode Weighted Sum Model Hasil Pengujian 3 dengan Metode Weighted Sum Model Hasil Pengujian 4 dengan Metode Weighted Sum Model Hasil Pengujian 5 dengan Metode Weighted Sum Model
11 12 22 25 27 28 29 30 31 32 33 34 36 43 45 45 47 48
(5)
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13
Flowchart Metode Weighted Sum Model
Diagram Ishikawa
Use Case Diagram Sistem Activity Diagram
Sequence Diagram Flowchart Sistem
Rancangan interface Menu Utama Rancangan interface Menu List Merk Rancangan interface Menu List Jenis Rancangan interface Menu Go Search Rancangan interface Hasil Pencarian Rancangan interface Menu Navigation Rancangan interface Menu Help Rancangan interface Menu About Menu Utama
Menu List Merk Menu List Jenis Menu Go Search Hasil Pencarian Menu Navigation Menu Help Menu About Hasil Pengujian 1 Hasil Pengujian 2 Hasil Pengujian 3 Hasil Pengujian 4 Hasil Pengujian 5
11 20 22 23 24 26 27 28 29 30 31 32 33 34 37 38 39 40 41 41 42 42 43 44 46 47 48
(6)
DAFTAR LAMPIRAN
Halaman
Listing Program 54