LISTING PROGRAM
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
// 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;
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();
public class MainFragment extends android.app.Fragment implements View.OnClickListener {
public static String TAG = "MainFragment";
View view = inflater.inflate(R.layout.main, root, false);
ImageButton goSearch = (ImageButton) view.findViewById(R.id.imageButton4);
ImageButton Cort = (ImageButton) view.findViewById(R.id.cort); ImageButton Yamaha = (ImageButton)
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;
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;
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;
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",
public static Merk getInstance(String merk) { return new Merk(merk);
public class GuitarOpenHeper extends
android.database.sqlite.SQLiteOpenHelper {
public static String DATABASE_NAME = "GuitarRythm.db"; public static int DATABASE_VERSION = 1;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + GuitarContract.Guitar.TABLE_NAME + "("
+ GuitarContract.Guitar._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ 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) {
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]);
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[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[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);
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[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[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);
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);
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:
case 0: bottom = 1000000; up = 3000000; break;
GuitarOpenHeper dbOpenHelper = new GuitarOpenHeper(this);
Cursor c = null;
String.valueOf(bottom), String.valueOf(up) }, null, null, null);
} 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]; merkQuality[i]) + (bobot[1] * woodQuality[i]) + (bobot[2] * stringQuality[i])); + f.format(R[i].result) + ")";
}
result.setAdapter(new
android.widget.ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names));
}
private Result(String name, double result) {
this.name = name;
private int partition(Result[] results, int left, int right) {
Result tmp;
private void quickSort(Result[] results, int left, int right) { int index = partition(results, left, right);
public class JenisActivity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
ImageButton goSearch = (ImageButton)
goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this);
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;
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);
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;
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);
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;
9.MerkActivity.java
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);
goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this);
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:
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);
goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this);
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;
public class Merk3Activity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
ImageButton goSearch = (ImageButton)
goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this);
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;
public class Merk4Activity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.list_merk4);
goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this);
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;
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);
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;
public class Help extends Fragment { @Override
public View onCreateView (LayoutInflater inflater,ViewGroup root, Bundle savedInstanceState) {
return inflater.inflate(R.layout.activity_help, root,false); }
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
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"
<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:layout_marginTop="35dp"
android:layout_weight="1"
android:background="@color/white"
android:src="@drawable/iconic1" />
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:background="@color/white"
android:layout_gravity="center_vertical"
android:src="@drawable/iconic5" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/white"
android:orientation="horizontal" > <ImageButton
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: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:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/white"
android:layout_height="wrap_content"
android:background="@color/white"
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: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: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: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: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:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
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: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"
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" />
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.
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
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
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
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
Weighted Sum Model.
3.1.2.2 Persyaratan Nonfungsional
Kebutuhan fungsional mencakup karakteristik berikut:
1. Performa
Sistem yang akan dibangun harus dapat menampilkan hasil pemilihan yang sesuai
dengan apa yang dipilih.
2. Mudah dipelajari dan digunakan
Sistem yang akan dibangun harus memiliki tampilan yang user friendly sehingga
pengguna dapat mengakses sistem dengan mudah.
3. Hemat biaya
Sistem yang dibangun tidak memerlukan perangkat tambahan ataupun perangkat
pendukung lainnya yang dapat mengeluarkan biaya.
3.1.3 Pemodelan
Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang
objek apa saja yang akan berinteraksi dengan sistem, serta hal-hal apa saja yang harus
dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai
dengan kegunaannya.
Pada penelitian ini digunakan UML (Unified Modeling Language) sebagai
bahasa pemodelan untuk mendesain dan merancang Sistem Pendukung Keputusan
Pemilihan Gitar dengan metode Weighted Sum Model. Model UML yang digunakan
antara lain use case diagram, activity diagram, dan sequence diagram.
Use Case Diagram adalah sebuah diagram yang dapat merepresentasikan interaksi
yang terjadi antara user dengan sistem. Use Case Diagram mendeskripsikan interaksi
tipikal antara pengguna sistem dengan sistem itu sendiri, dengan member sebuah
narasi tentang bagaimana sistem tersebut digunakan. Use Case Diagram dari sistem
yang akan dibangun dapat ditunjukkan pada Gambar 3.2.
Gambar 3.2 Use Case Diagram sistem
Pada Proses Pemilihan Gitar dengan Metode WSM, dapat dinyatakan dalam Tabel
3.1.
Tabel 3.1 Use Case Proses Pemilihan Gitar dengan Metode WSM
Name Proses Pemilihan Gitar dengan Metode WSM
Actors User yang telah ditentukan
Basic Flow User memasukkan memilih alternatif pilihan
Alternate Flow
User dapat kembali ke tampilan awal dan memilih
alternatif tampilan lainnya
Pre Condition
-
Post Condition
User mengetahui nilai WSM dari seluruh alternatif
3.1.3.2 Activity Diagram
Activity Diagram adalah teknik untuk menggambarkan logika procedural, jalur kerja
sistem. Diagram ini menggambarkan berbagai alur kerja dalam sistem yang sedang
dirancang, bagaimana masing-masing alur kerja berawal, decision yang mungkin
terjadi, dan bagaimana mereka aktifitas atau alur kerja berakhir. Proses Pencarian
dengan metode Weighted Sum Model, dapat dilihat Activity Diagram pada Gambar
3.3 berikut.
Sequence Diagram merupakan diagram yang menunjukkan bagaimana
kelompok-kelompok objek saling berkolaborasi dalam beberapa behavior. Sequence diagram
secara khusus, menjabarkan behavior sebuah skenario tunggal. Diagram tersebut
menunjukkan sejumlah objek contoh dan pesan-pesan yang melewat objek-objek
tersebut didalam use case. Sequence diagram untuk proses pemilihan gitar dengan
metode Weighted Sum Model diperlihatkan pada Gambar 3.4.
Gambar 3.4 Sequence Diagram sistem
Pada tahap ini, yang dilakukan adalah membuka form pemilihan gitar, kemudian
memasukkan kategori-kategori yang tersedia,yaitu jenis gitar, rentang harga dan merk
gitar, lalu sistem akan memanggil data yang telah dimasukkan kemudian melakukan
perhitungan dengan metode Weighted Sum Model. Kemudian hasil perhitungan akan
3.1.3.4 Kamus Data
Kamus data merupakan sebuah daftar yang mengatur semua komponen data yang
berhubungan terhadap sistem dengan definisi singkat dan sejelas-jelasnya sehingga
pengguna dan analisis sistem dapat sama-sama mengerti tentang data masukan,
keluaran, komponen penyimpanan, dan kalkulasi lanjutan. Kamus data pada sistem
diperlihatkan pada Tabel 3.2 berikut.
Tabel 3.2 Kamus Data
Data Field Type Deskripsi
Tb_Guitar Id Integer (primary key) Int auto increment
Nama Varchar (100) Nama gitar
Price Integer Harga gitar
CategoryID Integer Kategori gitar
MerkID Integer Merk gitar
MerkQuality Integer Nilai kualitas merk
WoodQuality Integer Nilai kualitas kayu
StringQuality Integer Nilai kualitas senar
3.1.3.5 Flowchart Sistem
Flowchart atau bagan alir adalah bagan (chart) yang menunjukkan alir (flow) didalam
program atau prosedur sistem secara logika. Flowchart merupakan gambar atau bagan
yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya.
Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol
menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis
penghubung. Flowchart digunakan terutama untuk alat bantu komunikasi dan untuk
dokumentasi. Gambar 3.5 berikut ini merupakan Flowchart dari sistem yang akan