• Tidak ada hasil yang ditemukan

Sistem Pendukung Keputusan Pemilihan Gitar Berbasis Android Menggunakan Metode Weighted Sum Model

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sistem Pendukung Keputusan Pemilihan Gitar Berbasis Android Menggunakan Metode Weighted Sum Model"

Copied!
103
0
0

Teks penuh

(1)

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

(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();

public class MainFragment extends android.app.Fragment implements View.OnClickListener {

public static String TAG = "MainFragment";

(4)

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;

(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;

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;

(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",

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;

(7)

}

@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]);

(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);

(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);

(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);

(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);

(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);

(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);

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:

(15)

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));

(16)

}

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);

(17)

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);

(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;

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;

(19)

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:

(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);

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);

(21)

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);

(22)

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);

(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;

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

(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: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" />

(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: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"

(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:layout_height="wrap_content"

(28)

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"

(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"

(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: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"

(31)

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"

(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

(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

(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

(40)

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.

(41)

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

(42)

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.

(43)

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

(44)

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

Gambar

Gambar 3.1 Diagram Ishikawa untuk analisis perancangan sistem
Gambar 3.3 Activity Diagram sistem
Tabel 3.2 Kamus Data
Tabel 3.3 Keterangan gambar rancangan interface Menu Utama
+7

Referensi

Dokumen terkait

Penerapan Metode Weighted Sum Model dalam sistem yang dibuat adalah pada proses perhitungan nilai sepeda dengan metode Weighted Sum Model (WSM), dimana dengan metode ini

Flowchart Sistem Pendukung Keputusan Pemilihan Kartu Perdana Menggunakan Metode Weighted Product (WP) .... Flowchart Aplikasi Sistem Pendukung Keputusan Pemilihan

dengan judul ”Sistem Pendukung Keputusan Pemilihan Perguruan Tinggi Swasta Terbaik Berdasarkan Jurusan Komputer Menggunakan Metode Weighted Product dan Weighted Sum Model.

Saat kita dihadapkan dengan pemilihan karir, maka akan timbul dalam diri, pekerjaan apa yang cocok dengan saya? Apakah saya harus menjadi guru? Apakah saya

Antarmuka pada menampilkan hasil rekomendasi tempat kuliner ditampilkan saat pertama kali pengguna masuk ke dalam aplikasi, dengan memasukkan budget dan fasilitas,

Antarmuka pada menampilkan hasil rekomendasi tempat kuliner ditampilkan saat pertama kali pengguna masuk ke dalam aplikasi, dengan memasukkan budget dan fasilitas,

Berdasarkan hasil analisa dan pembahasan yang telah dilakukan, maka dapat diambil kesimpulan, dalam pemilihan karyawan terbaik menggunakan metode WASPAS (Weight Aggregated

Memilih komputer yang tepat sesuai kebutuhan dan anggaran keuangannya bukan suatu hal yang mudah karena perbandingan harga pada setiap merk sangat bersaing serta setiap merk memiliki