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

(1)

LISTING PROGRAM

1. MainActivity.java

package id.ali.spkguitaryhtm;

import android.os.Bundle; import android.app.Activity; import android.content.Intent;

import android.content.res.Configuration;

import android.support.v4.app.ActionBarDrawerToggle; import android.support.v4.widget.DrawerLayout; import android.view.MenuItem;

import android.view.View;

import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView;

import android.widget.AdapterView.OnItemClickListener; public class MainActivity extends Activity {

private DrawerLayout mDrawerLayout; private ListView mDrawerList;

private ActionBarDrawerToggle mDrawerToggle; private CharSequence mJudulDrawer;

private CharSequence mJudul; private String[] mNamaDrawer; @Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main); prepare();

// inisialisasi

mJudul = mJudulDrawer = getTitle();

mNamaDrawer = getResources().getStringArray(R.array.array_drawer); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerList = (ListView) findViewById(R.id.drawer_kiri);

mDrawerList.setAdapter(new ArrayAdapter(this,R.layout.item_navdrawer, mNamaDrawer));

// memberi event klik item item daftar nama planet

mDrawerList.setOnItemClickListener(new OnItemClickListener() { @Override

public void onItemClick(AdapterView arg0, View arg1, int posisi, long id) {

// memanggil metode pilihItem() pilihItem(posisi);

} });

// mengaktifkan ikon ActionBar kiri-atas sebagai kendali drawer untuk // membuka-menutup jika disentuh

getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true);


(2)

// merupakan metode untuk mengaktifkan drawer saat ikon ActionBar // disentuh atau saat layar sebelah kiri digeser (sliding) ke kanan mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, 0, 0) {

// metode saat drawer dalam kondisi tertutup

// judul pada ActionBar menampilkan item buah terpilih public void onDrawerClosed(View view) {

getActionBar().setTitle(mJudul); invalidateOptionsMenu();

}

// metode saat drawer dalam kondisi terbuka

// judul pada ActionBar menampilkan nama aplikasi: // "Daftar Drawer"

public void onDrawerOpened(View drawerView) { getActionBar().setTitle(mJudulDrawer); invalidateOptionsMenu();

} };

// mDrawerLayout diberi event mDrawerToggle mDrawerLayout.setDrawerListener(mDrawerToggle);

// dalam keadaan awal, saat aplikasi mulai dijalankan, item yang dipilih // adalah indeks 0

if (savedInstanceState == null) { pilihItem(0);

} }

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// event saat ikon ActionBar disentuh: drawer akan membuka/menutup if (mDrawerToggle.onOptionsItemSelected(item)) {

return true; }

return super.onOptionsItemSelected(item); }

private void pilihItem(int position) {

// metode saat item planet dipilih; judul pada ActionBar akan // diperbarui kemudian drawer akan menutup

switch(position) { case 0:

if(getFragmentManager().findFragmentByTag(MainFragment.TAG) == null)

getFragmentManager().beginTransaction().replace(R.id.frame_konten, new MainFragment(), MainFragment.TAG).commit();

break; case 1:

getFragmentManager().beginTransaction().replace(R.id.frame_konten, new Help()).commit();

break;


(3)

getFragmentManager().beginTransaction().replace(R.id.frame_konten, new About()).commit(); break; } mDrawerList.setItemChecked(position, true); setTitle(mNamaDrawer[position]); mDrawerLayout.closeDrawer(mDrawerList); } @Override

public void setTitle(CharSequence title) { // metode penggantian judul pada ActionBar mJudul = title;

getActionBar().setTitle(mJudul); }

// dua metode yang harus dipanggil saat menggunakan ActionBarDrawerToggle // untuk penyesuaian dan konfigurasi kondisi drawer (item terpilih) @Override

protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState);

mDrawerToggle.syncState(); }

@Override

public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig);

mDrawerToggle.onConfigurationChanged(newConfig); }

private void prepare() {

android.content.SharedPreferences sharePref =

getSharedPreferences(getPackageName() + "_preferences", MODE_PRIVATE); if(!sharePref.getBoolean(getString(R.string.prefkey_insertall), false))

new GuitarOpenHeper(this).insertAll();

sharePref.edit().putBoolean(getString(R.string.prefkey_insertall), true).apply(); } } 2.MainFragment.java package id.ali.spkguitaryhtm; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;

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

public static String TAG = "MainFragment";

public View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup root, Bundle savedInstanceState) {


(4)

View view = inflater.inflate(R.layout.main, root, false);

ImageButton goSearch = (ImageButton) view.findViewById(R.id.imageButton4);

ImageButton Akustik = (ImageButton) view.findViewById(R.id.imageButton1);

ImageButton Elektrik = (ImageButton) view.findViewById(R.id.imageButton2);

ImageButton Klasik = (ImageButton) view.findViewById(R.id.imageButton3);

ImageButton Cort = (ImageButton) view.findViewById(R.id.cort); ImageButton Yamaha = (ImageButton)

view.findViewById(R.id.yamaha);

ImageButton Fender = (ImageButton) view.findViewById(R.id.fender);

ImageButton Epiphone = (ImageButton) view.findViewById(R.id.epiphone);

ImageButton Ibanez = (ImageButton) view.findViewById(R.id.ibanez); goSearch.setOnClickListener(this); Akustik.setOnClickListener(this); Elektrik.setOnClickListener(this); Klasik.setOnClickListener(this); Cort.setOnClickListener(this); Yamaha.setOnClickListener(this); Fender.setOnClickListener(this); Epiphone.setOnClickListener(this); Ibanez.setOnClickListener(this); return view; }

public void onClick(View view) { switch(view.getId()) { case R.id.imageButton4: startActivity(new Intent(getActivity(), SearchActivity.class)); break; case R.id.imageButton1: startActivity(new Intent(getActivity(), JenisActivity.class)); break; case R.id.imageButton2: startActivity(new Intent(getActivity(), Jenis2Activity.class)); break; case R.id.imageButton3: startActivity(new Intent(getActivity(), Jenis3Activity.class)); break; case R.id.cort: startActivity(new Intent(getActivity(), MerkActivity.class)); break; case R.id.yamaha:


(5)

startActivity(new Intent(getActivity(), Merk2Activity.class)); break; case R.id.fender: startActivity(new Intent(getActivity(), Merk3Activity.class)); break; case R.id.epiphone: startActivity(new Intent(getActivity(), Merk4Activity.class)); break; case R.id.ibanez: startActivity(new Intent(getActivity(), Merk5Activity.class)); break; } }

public void onListItemClick(android.widget.ListView listView, View v, int position, long id) {

switch(position) { case 0:

startActivity(new Intent(getActivity(), Help.class));

break;

case 1:

startActivity(new Intent(getActivity(), About.class));

break; } } } 3.GuitarContract.java package id.ali.spkguitaryhtm; import android.provider.BaseColumns; public class GuitarContract {

public static class Guitar implements BaseColumns {

public static final String TABLE_NAME = "Guitar", NAME = "Name", NAME_TYPE = "VARCHAR(100) NOT NULL", PRICE = "Price", PRICE_TYPE = "INTEGER NOT NULL",

CATEGORY = "CategoryID", CATEGORY_TYPE = "INTEGER NOT NULL", MERK = "MerkID", MERK_TYPE = "INTEGER NOT NULL",

MERK_QUALITY = "MerkQuality", MERK_QUALITY_TYPE = "INTEGER NOT NULL",

WOOD_QUALITY = "WoodQuality", WOOD_QUALITY_TYPE = "INTEGER NOT NULL",

STRING_QUALITY = "StringQuality", STRING_QUALITY_TYPE = "INTEGER NOT NULL";

public String name;

public long categoryId, merkId; public double price;

public int merkQuality, woodQuality, stringQuality;

private Guitar(String name, long categoryId, long merkId, double price, int merkQuality, int woodQuality, int stringQuality) {


(6)

this.name = name;

this.categoryId = categoryId; this.merkId = merkId;

this.price = price;

this.merkQuality= merkQuality; this.woodQuality = woodQuality; this.stringQuality = stringQuality; }

public static Guitar getIntance(String name, long categoryId, long merkId, double price, int merkQuality, int woodQuality, int stringQuality) { return new Guitar(name, categoryId, merkId, price,

merkQuality, woodQuality, stringQuality); }

}

public static class Category implements BaseColumns { public static final String TABLE_NAME = "Category",

CATEGORY = "Category", CATEGORY_TYPE = "VARCHAR(40) NOT NULL";

public String category;

private Category(String category) { this.category = category; }

public static Category getInstance(String category) { return new Category(category);

} }

public static class Merk implements BaseColumns { public static final String TABLE_NAME = "Merk",

MERK = "Merk", MERK_TYPE = "VARCHAR(30) NOT NULL";

public String merk;

private Merk(String merk) { this.merk = merk; }

public static Merk getInstance(String merk) { return new Merk(merk);

} } } 4.GuitarOpenHeper.java package id.ali.spkguitaryhtm; import android.content.ContentValues; import android.database.sqlite.SQLiteDatabase; public class GuitarOpenHeper extends

android.database.sqlite.SQLiteOpenHelper {

public static String DATABASE_NAME = "GuitarRythm.db"; public static int DATABASE_VERSION = 1;

public GuitarOpenHeper(android.content.Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION);


(7)

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL("CREATE TABLE " + GuitarContract.Guitar.TABLE_NAME + "("

+ GuitarContract.Guitar._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"

+ GuitarContract.Guitar.NAME + " " + GuitarContract.Guitar.NAME_TYPE + ","

+ GuitarContract.Guitar.PRICE + " " + GuitarContract.Guitar.PRICE_TYPE + ","

+ GuitarContract.Guitar.CATEGORY + " " + GuitarContract.Guitar.CATEGORY_TYPE + ","

+ GuitarContract.Guitar.MERK + " " + GuitarContract.Guitar.MERK_TYPE + ","

+ GuitarContract.Guitar.MERK_QUALITY + " " + GuitarContract.Guitar.MERK_QUALITY_TYPE + ","

+ GuitarContract.Guitar.WOOD_QUALITY + " " + GuitarContract.Guitar.WOOD_QUALITY_TYPE + ","

+ GuitarContract.Guitar.STRING_QUALITY + " " + GuitarContract.Guitar.STRING_QUALITY_TYPE + ")");

db.execSQL("CREATE TABLE " + GuitarContract.Category.TABLE_NAME + "("

+ GuitarContract.Category._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"

+ GuitarContract.Category.CATEGORY + " " + GuitarContract.Category.CATEGORY_TYPE + ")");

db.execSQL("CREATE TABLE " + GuitarContract.Merk.TABLE_NAME + "("

+ GuitarContract.Merk._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"

+ GuitarContract.Merk.MERK + " " + GuitarContract.Merk.MERK_TYPE + ")");

}

@Override

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

db.execSQL("DELETE TABLE IF EXISTS " + GuitarContract.Guitar.TABLE_NAME);

db.execSQL("DELETE TABLE IF EXISTS " + GuitarContract.Category.TABLE_NAME);

db.execSQL("DELETE TABLE IF EXISTS " + GuitarContract.Merk.TABLE_NAME);

}

public void insertAll() { int i, n;

long[] merkIds = new long[5];

String[] strs = { "Yamaha", "Epiphone", "Fender", "Cort", "Ibanez" };

ContentValues values = new ContentValues(); for(i = 0, n = strs.length; i < n; i++) {

values.put(GuitarContract.Merk.MERK, strs[i]);

merkIds[i] =

this.getWritableDatabase().insert(GuitarContract.Merk.TABLE_NAME, null, values);

}

values = new ContentValues(); long[] categoryIds = new long[3];


(8)

strs = new String[] { "Acoustic", "Electric", "Classic" }; for(i = 0, n = strs.length; i < n; i++) {

values.put(GuitarContract.Category.CATEGORY, strs[i]);

categoryIds[i] =

this.getWritableDatabase().insert(GuitarContract.Category.TABLE_NAME, null, values);

}

GuitarContract.Guitar[] guitar = new GuitarContract.Guitar[150];

//yamaha //akustik

guitar[0] = GuitarContract.Guitar.getIntance("Cx 40", categoryIds[0], merkIds[0],1480000, 8, 4, 5);

guitar[1] = GuitarContract.Guitar.getIntance("Fx 310", categoryIds[0], merkIds[0],1600000, 8, 5, 5);

guitar[2] = GuitarContract.Guitar.getIntance("APX 500 II", categoryIds[0], merkIds[0], 2500000, 8, 6, 5);

guitar[3] = GuitarContract.Guitar.getIntance("CPX 500 II", categoryIds[0], merkIds[0], 2900000, 8, 7, 6);

guitar[4] = GuitarContract.Guitar.getIntance("APX 700 IIL", categoryIds[0], merkIds[0], 3500000, 8, 7, 7);

guitar[5] = GuitarContract.Guitar.getIntance("APX 500 III", categoryIds[0], merkIds[0], 4000000, 8, 7, 8);

guitar[6] = GuitarContract.Guitar.getIntance("APX 500II EW", categoryIds[0], merkIds[0], 5900000, 8, 8, 7);

guitar[7] = GuitarContract.Guitar.getIntance("Slg 110 N", categoryIds[0], merkIds[0], 6800000,8 , 9, 6);

guitar[8] = GuitarContract.Guitar.getIntance("APX 700 II-12", categoryIds[0], merkIds[0], 8800000, 8, 8, 8);

guitar[9] = GuitarContract.Guitar.getIntance("NTX 700", categoryIds[0], merkIds[0], 9250000, 8, 9, 7);

//elektrik

guitar[10] = GuitarContract.Guitar.getIntance("SBG 1820", categoryIds[1], merkIds[0],1500000, 8, 4, 4);

guitar[11] = GuitarContract.Guitar.getIntance("SBG 1802", categoryIds[1], merkIds[0],1700000, 8, 4, 5);

guitar[12] = GuitarContract.Guitar.getIntance("Pasifica PAC 012", categoryIds[1], merkIds[0], 2300000, 8, 5, 4);

guitar[13] = GuitarContract.Guitar.getIntance("Pasifica PAC 212 VFM", categoryIds[1], merkIds[0], 3400000, 8, 5, 5);

guitar[14] = GuitarContract.Guitar.getIntance("SBG 1820 A", categoryIds[1], merkIds[0], 3850000, 8, 6, 6);

guitar[15] = GuitarContract.Guitar.getIntance("Rgx A2", categoryIds[1], merkIds[0], 5000000, 8, 6, 7);

guitar[16] = GuitarContract.Guitar.getIntance("Pasifica PAC-611 H", categoryIds[1], merkIds[0], 6600000, 8, 7, 6);

guitar[17] = GuitarContract.Guitar.getIntance("PAC 1611 MS", categoryIds[1], merkIds[0], 7700000, 8, 8, 7);

guitar[18] = GuitarContract.Guitar.getIntance("Rgx 420 DZ II", categoryIds[1], merkIds[0], 8270000, 8, 8, 8);

guitar[19] = GuitarContract.Guitar.getIntance("SA 2200", categoryIds[1], merkIds[0], 9400000, 8, 9, 8);

//klasik

guitar[20] = GuitarContract.Guitar.getIntance("C 80", categoryIds[2], merkIds[0], 1680000, 8, 6, 4);

guitar[21] = GuitarContract.Guitar.getIntance("NTX 700 Classic", categoryIds[2], merkIds[0],2450000, 8, 5, 6);

guitar[22] = GuitarContract.Guitar.getIntance("NTX 900 FM", categoryIds[2], merkIds[0], 2900000, 8, 6, 6);

guitar[23] = GuitarContract.Guitar.getIntance("CG 122 MS/MC", categoryIds[2], merkIds[0], 3300000, 8, 6, 7);


(9)

guitar[24] = GuitarContract.Guitar.getIntance("CG 142 S/C", categoryIds[2], merkIds[0], 3680000, 8, 7, 6);

guitar[25] = GuitarContract.Guitar.getIntance("NTX 700 CII", categoryIds[2], merkIds[0], 3900000, 8, 7, 7);

guitar[26] = GuitarContract.Guitar.getIntance("CG 162 S/C", categoryIds[2], merkIds[0], 5700000, 8, 8, 6);

guitar[27] = GuitarContract.Guitar.getIntance("CG 192 S/C", categoryIds[2], merkIds[0], 6800000, 8, 7, 8);

guitar[28] = GuitarContract.Guitar.getIntance("NTX 1200R", categoryIds[2], merkIds[0], 7000000, 8, 8, 9);

guitar[29] = GuitarContract.Guitar.getIntance("GC 22S", categoryIds[2], merkIds[0], 8500000, 8, 9, 9);

//epiphone //akustik

guitar[30] = GuitarContract.Guitar.getIntance("Dave Navarro Std", categoryIds[0], merkIds[1], 1990000,9,5,5);

guitar[31] = GuitarContract.Guitar.getIntance("Pro-1", categoryIds[0], merkIds[1], 2500000, 9, 6, 5);

guitar[32] = GuitarContract.Guitar.getIntance("Pro-1 Plus", categoryIds[0], merkIds[1],2800000, 9, 6, 6);

guitar[33] = GuitarContract.Guitar.getIntance("AJ-2205 Vintage Sunburst", categoryIds[0], merkIds[1], 2990000,9,7,6);

guitar[34] = GuitarContract.Guitar.getIntance("Ltd. Ed.1963 J-45", categoryIds[0], merkIds[1], 3900000,9,7,7);

guitar[35] = GuitarContract.Guitar.getIntance("Ltd. Ed. EJ-200 Artist", categoryIds[0], merkIds[1],4450000, 9, 7, 8);

guitar[36] = GuitarContract.Guitar.getIntance("Hummingbird FC", categoryIds[0], merkIds[1], 4900000,9,8,7);

guitar[37] = GuitarContract.Guitar.getIntance("DR-212", categoryIds[0], merkIds[1], 6800000, 9, 8, 8);

guitar[38] = GuitarContract.Guitar.getIntance("Masterbilt DR-500 MCE", categoryIds[0], merkIds[1], 7360000,9,8,9);

guitar[39] = GuitarContract.Guitar.getIntance("DR-100 Wine Red", categoryIds[0], merkIds[1], 8800000, 9, 9, 9);

//elektrik

guitar[40] = GuitarContract.Guitar.getIntance("G-310", categoryIds[1], merkIds[1], 1850000, 9, 4, 6);

guitar[41] = GuitarContract.Guitar.getIntance("LPS II Heritage", categoryIds[1], merkIds[1], 2590000,9,6,4);

guitar[42] = GuitarContract.Guitar.getIntance("Worn G-400", categoryIds[1], merkIds[1], 2800000,9,6,5);

guitar[43] = GuitarContract.Guitar.getIntance("SG [G-310]", categoryIds[1], merkIds[1], 3290000, 9, 7, 6);

guitar[44] = GuitarContract.Guitar.getIntance("Les Paul 100", categoryIds[1], merkIds[1], 4500000, 9, 7, 7);

guitar[45] = GuitarContract.Guitar.getIntance("LPS Alpine White", categoryIds[1], merkIds[1], 5990000,9,7,8);

guitar[46] = GuitarContract.Guitar.getIntance("Gothic Explorer", categoryIds[1], merkIds[1], 7490000,9,8,7);

guitar[47] = GuitarContract.Guitar.getIntance("Tom Delonge ES-333", categoryIds[1], merkIds[1], 8000000, 9, 8, 8);

guitar[48] = GuitarContract.Guitar.getIntance("Joe Pass Emperor", categoryIds[1], merkIds[1], 8500000, 9, 8, 9);

guitar[49] = GuitarContract.Guitar.getIntance("Futura Custom Fx", categoryIds[1], merkIds[1], 9990000,9,9,8);

//klasik

guitar[50] = GuitarContract.Guitar.getIntance("EL-00 Pro", categoryIds[2], merkIds[1], 1500000, 9, 5, 6);

guitar[51] = GuitarContract.Guitar.getIntance("EC-20", categoryIds[2], merkIds[1], 2272000,9,6,5);


(10)

guitar[52] = GuitarContract.Guitar.getIntance("PR 5 E", categoryIds[2], merkIds[1],2450000, 9, 6, 6);

guitar[53] = GuitarContract.Guitar.getIntance("PR 5 Black", categoryIds[2], merkIds[1], 2553000,9,6,7);

guitar[54] = GuitarContract.Guitar.getIntance("SST Classic", categoryIds[2], merkIds[1], 4990000,9,7,7);

guitar[55] = GuitarContract.Guitar.getIntance("Dove Pro", categoryIds[2], merkIds[1],5600000, 9, 7, 8);

guitar[56] = GuitarContract.Guitar.getIntance("EJ-200 CE", categoryIds[2], merkIds[1], 5992000,9,8,7);

guitar[57] = GuitarContract.Guitar.getIntance("Gibson C-O 1967 Nat", categoryIds[2], merkIds[1], 6480000,9,8,8);

guitar[58] = GuitarContract.Guitar.getIntance("FT-350 SCE", categoryIds[2], merkIds[1], 7200000, 9, 8, 9);

guitar[59] = GuitarContract.Guitar.getIntance("Dave Navarro Jane", categoryIds[2], merkIds[1], 8250000, 9, 9, 8);

//fender //akustik

guitar[60] = GuitarContract.Guitar.getIntance("Squire SA-100", categoryIds[0], merkIds[2], 1440000,8,6,4);

guitar[61] = GuitarContract.Guitar.getIntance("CD 110 CE", categoryIds[0], merkIds[2], 1500000, 8, 5, 5);

guitar[62] = GuitarContract.Guitar.getIntance("CC 220 SCE", categoryIds[0], merkIds[2], 2500000, 8, 6, 5);

guitar[63] = GuitarContract.Guitar.getIntance("CD-60 Dreadnought", categoryIds[0], merkIds[2], 2760000,8,6,6);

guitar[64] = GuitarContract.Guitar.getIntance("Alkaline Trio Malibu", categoryIds[0], merkIds[2], 3360000,8,6,7);

guitar[65] = GuitarContract.Guitar.getIntance("CD-140 SCE", categoryIds[0], merkIds[2], 3600000,8,7,7);

guitar[66] = GuitarContract.Guitar.getIntance("Tim Amstrong Sign Hellcat", categoryIds[0], merkIds[2], 4200000,8,7,8);

guitar[67] = GuitarContract.Guitar.getIntance("CD 320 ASRW", categoryIds[0], merkIds[2], 7000000, 8, 8, 7);

guitar[68] = GuitarContract.Guitar.getIntance("Master Newporter", categoryIds[0], merkIds[2], 9600000, 8, 8, 8);

guitar[69] = GuitarContract.Guitar.getIntance("Master Kingman VRF", categoryIds[0], merkIds[2], 10000000, 8, 9, 8);

//elektrik

guitar[70] = GuitarContract.Guitar.getIntance("Squire Bullet Stratocaster", categoryIds[1], merkIds[2], 1990000,8,5,4);

guitar[71] = GuitarContract.Guitar.getIntance("Squire

California Stratocaster", categoryIds[1], merkIds[2], 2480000,8,5,6); guitar[72] = GuitarContract.Guitar.getIntance("Squire

Telecaster Afinity", categoryIds[1], merkIds[2], 2770000,8,6,4); guitar[73] = GuitarContract.Guitar.getIntance("AS

Stratocaster", categoryIds[1], merkIds[2],4580000, 8, 6, 6);

guitar[74] = GuitarContract.Guitar.getIntance("AS Telecaster", categoryIds[1], merkIds[2],4600000, 8, 6, 7);

guitar[75] = GuitarContract.Guitar.getIntance("AN B-Bender", categoryIds[1], merkIds[2], 4950000, 8, 7, 6);

guitar[76] = GuitarContract.Guitar.getIntance("AS Telecaster HH", categoryIds[1], merkIds[2], 5800000, 8, 7, 7);

guitar[77] = GuitarContract.Guitar.getIntance("Black Top Telecaster HH", categoryIds[1], merkIds[2], 6912000, 8, 7, 8);

guitar[78] = GuitarContract.Guitar.getIntance("AS Stratocaster HH", categoryIds[1], merkIds[2], 7500000, 8, 8, 9);

guitar[79] = GuitarContract.Guitar.getIntance("STD Stratocaster Mexico", categoryIds[1], merkIds[2], 9890000,8,9,9);


(11)

guitar[80] = GuitarContract.Guitar.getIntance("CN-90", categoryIds[2], merkIds[2], 1000000, 8, 5, 6);

guitar[81] = GuitarContract.Guitar.getIntance("ESC 105", categoryIds[2], merkIds[2], 1010000,8,6,4);

guitar[82] = GuitarContract.Guitar.getIntance("FC-100", categoryIds[2], merkIds[2], 2800000,8,6,6);

guitar[83] = GuitarContract.Guitar.getIntance("FC 200", categoryIds[2], merkIds[2], 3000000, 8, 6, 7);

guitar[84] = GuitarContract.Guitar.getIntance("Bucket T-100 CE", categoryIds[2], merkIds[2], 3502000,8,7,6);

guitar[85] = GuitarContract.Guitar.getIntance("CN-140 S", categoryIds[2], merkIds[2], 4200000,8,7,7);

guitar[86] = GuitarContract.Guitar.getIntance("CN-240 SCE", categoryIds[2], merkIds[2], 4850000,8,7,8);

guitar[87] = GuitarContract.Guitar.getIntance("CN-320", categoryIds[2], merkIds[2], 6800000, 8, 8, 7);

guitar[88] = GuitarContract.Guitar.getIntance("CN-320 AS", categoryIds[2], merkIds[2], 8900000, 8, 8, 8);

guitar[89] = GuitarContract.Guitar.getIntance("MC 1 3/4 Nylon", categoryIds[2], merkIds[2], 9700000, 8, 8, 9);

//cort //akustik

guitar[90] = GuitarContract.Guitar.getIntance("EVL-A4", categoryIds[0], merkIds[3], 1400000, 6, 5, 5);

guitar[91] = GuitarContract.Guitar.getIntance("AD 810", categoryIds[0], merkIds[3], 1600000,6,5,6);

guitar[92] = GuitarContract.Guitar.getIntance("AD 810 E", categoryIds[0], merkIds[3], 2200000,6,6,6);

guitar[93] = GuitarContract.Guitar.getIntance("AS E4", categoryIds[0], merkIds[3], 2700000, 6, 6, 7);

guitar[94] = GuitarContract.Guitar.getIntance("AS M-5", categoryIds[0], merkIds[3], 3300000, 6, 7, 6);

guitar[95] = GuitarContract.Guitar.getIntance("SFX 1F BL", categoryIds[0], merkIds[3], 4085000,6,7,7);

guitar[96] = GuitarContract.Guitar.getIntance("NDX 20 BL", categoryIds[0], merkIds[3], 4170000,6,7,8);

guitar[97] = GuitarContract.Guitar.getIntance("L 100 F NS", categoryIds[0], merkIds[3], 8500000,6,8,7);

guitar[98] = GuitarContract.Guitar.getIntance("NDX 20", categoryIds[0], merkIds[3], 8800000, 6, 8, 8);

guitar[99] = GuitarContract.Guitar.getIntance("NDX 50", categoryIds[0], merkIds[3], 9200000, 6, 9, 9);

//elektrik

guitar[100] = GuitarContract.Guitar.getIntance("CR 100", categoryIds[1], merkIds[3],1480000, 6, 4, 5);

guitar[101] = GuitarContract.Guitar.getIntance("CR 200", categoryIds[1], merkIds[3],1600000, 6, 5, 4);

guitar[102] = GuitarContract.Guitar.getIntance("CR 50 2TS", categoryIds[1], merkIds[3], 1912000,6,5,5);

guitar[103] = GuitarContract.Guitar.getIntance("EG Cort X-1", categoryIds[1], merkIds[3], 2190000,6,6,6);

guitar[104] = GuitarContract.Guitar.getIntance("CR-200 BK", categoryIds[1], merkIds[3], 4980000,6,6,7);

guitar[105] = GuitarContract.Guitar.getIntance("Cort Matthew Bellamy", categoryIds[1], merkIds[3], 5592000,6,7,6);

guitar[106] = GuitarContract.Guitar.getIntance("Cort Sunset Baritone", categoryIds[1], merkIds[3], 5800000, 6, 7, 7);

guitar[107] = GuitarContract.Guitar.getIntance("Cort Sunset I", categoryIds[1], merkIds[3], 7900000, 6, 8, 7);


(12)

guitar[108] = GuitarContract.Guitar.getIntance("Cort Sunset II", categoryIds[1], merkIds[3], 8990000,6,8,9);

guitar[109] = GuitarContract.Guitar.getIntance("EVL-X7", categoryIds[1], merkIds[3], 9000000, 6, 9, 8);

//klasik

guitar[110] = GuitarContract.Guitar.getIntance("AC 70", categoryIds[2], merkIds[3],1580000, 6, 6, 4);

guitar[111] = GuitarContract.Guitar.getIntance("ACC II ME", categoryIds[2], merkIds[3], 2200000,6,5,6);

guitar[112] = GuitarContract.Guitar.getIntance("AC 120", categoryIds[2], merkIds[3], 2500000, 6, 6, 6);

guitar[113] = GuitarContract.Guitar.getIntance("CEC 3-NS", categoryIds[2], merkIds[3], 2691000,6,6,7);

guitar[114] = GuitarContract.Guitar.getIntance("CEC 5 Nat", categoryIds[2], merkIds[3], 3880000,6,7,7);

guitar[115] = GuitarContract.Guitar.getIntance("CEC 7", categoryIds[2], merkIds[3], 4595000,6,7,8);

guitar[116] = GuitarContract.Guitar.getIntance("AC 200", categoryIds[2], merkIds[3], 5750000, 6, 8, 7);

guitar[117] = GuitarContract.Guitar.getIntance("AC 250 CF", categoryIds[2], merkIds[3],8100000, 6, 8, 8);

guitar[118] = GuitarContract.Guitar.getIntance("CCP 10 NS", categoryIds[2], merkIds[3], 8700000,6,9,8);

guitar[119] = GuitarContract.Guitar.getIntance("AC 120 CE", categoryIds[2], merkIds[3], 8950000, 6, 9, 9);

//ibanez //akustik

guitar[120] = GuitarContract.Guitar.getIntance("AW 50-NT", categoryIds[0], merkIds[4], 1800000,7,5,6);

guitar[121] = GuitarContract.Guitar.getIntance("AEW 21 VK", categoryIds[0], merkIds[4], 1600000, 7, 6, 4);

guitar[122] = GuitarContract.Guitar.getIntance("AW 250-LG", categoryIds[0], merkIds[4], 2740000,7,6,5);

guitar[123] = GuitarContract.Guitar.getIntance("AEW 40 CD", categoryIds[0], merkIds[4], 2980000, 7, 6, 6);

guitar[124] = GuitarContract.Guitar.getIntance("AW 370-NT", categoryIds[0], merkIds[4], 3170000,7,7,6);

guitar[125] = GuitarContract.Guitar.getIntance("AEG 24 II", categoryIds[0], merkIds[4], 4900000, 7, 7, 7);

guitar[126] = GuitarContract.Guitar.getIntance("AEG 3011 BK", categoryIds[0], merkIds[4], 5030000,7,8,7);

guitar[127] = GuitarContract.Guitar.getIntance("TCM 50", categoryIds[0], merkIds[4], 6800000, 7, 8, 8);

guitar[128] = GuitarContract.Guitar.getIntance("AW 4000 BS Sunburst", categoryIds[0], merkIds[4], 7199000,7,9,8);

guitar[129] = GuitarContract.Guitar.getIntance("TCY 10 E", categoryIds[0], merkIds[4], 9000000, 7, 9, 9);

//elektrik

guitar[130] = GuitarContract.Guitar.getIntance("PGM White", categoryIds[1], merkIds[4], 1450000,7,4,7);

guitar[131] = GuitarContract.Guitar.getIntance("SA 160 FM", categoryIds[1], merkIds[4],1750000, 7, 5, 5);

guitar[132] = GuitarContract.Guitar.getIntance("SA 960 QM", categoryIds[1], merkIds[4],2300000, 7, 6, 5);

guitar[133] = GuitarContract.Guitar.getIntance("RG 370 DXGP", categoryIds[1], merkIds[4], 3800000,7,6,6);

guitar[134] = GuitarContract.Guitar.getIntance("ARZ 6 UC Prestige", categoryIds[1], merkIds[4], 4900000, 7, 7, 7);

guitar[135] = GuitarContract.Guitar.getIntance("Steve Vai STD Signature", categoryIds[1], merkIds[4], 5000000,7,7,8);


(13)

guitar[136] = GuitarContract.Guitar.getIntance("GS 270", categoryIds[1], merkIds[4], 5800000, 7, 8, 7);

guitar[137] = GuitarContract.Guitar.getIntance("Iron Label BL", categoryIds[1], merkIds[4], 6712000,7,8,8);

guitar[138] = GuitarContract.Guitar.getIntance("RG 1570", categoryIds[1], merkIds[4], 8500000,7,9,8);

guitar[139] = GuitarContract.Guitar.getIntance("GA X 30", categoryIds[1], merkIds[4], 9800000, 7, 9, 9);

//klasik

guitar[140] = GuitarContract.Guitar.getIntance("GA 3 Cool", categoryIds[2], merkIds[4], 1038000,7,5,7);

guitar[141] = GuitarContract.Guitar.getIntance("G 10-3Q", categoryIds[2], merkIds[4], 1600000, 7, 6, 5);

guitar[142] = GuitarContract.Guitar.getIntance("G 200 E Nat", categoryIds[2], merkIds[4], 1750000, 7, 6, 7);

guitar[143] = GuitarContract.Guitar.getIntance("GA 35 TCE", categoryIds[2], merkIds[4], 3895000,7,7,6);

guitar[144] = GuitarContract.Guitar.getIntance("GA 5 TCE", categoryIds[2], merkIds[4], 4290000,7,7,7);

guitar[145] = GuitarContract.Guitar.getIntance("G 207 CWC", categoryIds[2], merkIds[4], 5000000, 7, 7, 8);

guitar[146] = GuitarContract.Guitar.getIntance("G 300 NT", categoryIds[2], merkIds[4], 5900000, 7, 8, 7);

guitar[147] = GuitarContract.Guitar.getIntance("AEG 10 II BL", categoryIds[2], merkIds[4], 6310000,7,8,8);

guitar[148] = GuitarContract.Guitar.getIntance("G 208 CWCNT", categoryIds[2], merkIds[4], 7800000,7,9,8);

guitar[149] = GuitarContract.Guitar.getIntance("GM 600 CE", categoryIds[2], merkIds[4], 9200000, 7, 9, 9);

for(i = 0, values = new ContentValues(), n = guitar.length; i < n; i++) {

GuitarContract.Guitar g = guitar[i]; values = new ContentValues();

values.put(GuitarContract.Guitar.NAME, g.name); values.put(GuitarContract.Guitar.PRICE, g.price); values.put(GuitarContract.Guitar.CATEGORY, g.categoryId); values.put(GuitarContract.Guitar.MERK, g.merkId); values.put(GuitarContract.Guitar.MERK_QUALITY, g.merkQuality); values.put(GuitarContract.Guitar.WOOD_QUALITY, g.woodQuality); values.put(GuitarContract.Guitar.STRING_QUALITY, g.stringQuality); this.getWritableDatabase().insert(GuitarContract.Guitar.TABLE_NAME, null, values); } } } 5.SearchActivity.java package id.ali.spkguitaryhtm; import id.ali.spkguitaryhtm.GuitarContract.Guitar; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter;


(14)

import android.widget.ImageButton; import android.widget.ListView; import android.widget.Spinner;

public class SearchActivity extends Activity implements View.OnClickListener {

private String[]

modelList = { "Acoustic", "Electric", "Classic" },

merkList = { "Yamaha", "Ephiphone", "Fender", "Cort", "Ibanez", "Semua Merk" };

private double[] bobot = { 0.3, 0.4, 0.3 }; private Spinner merk, model, harga;

private ListView result;

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.search);

result = (ListView) findViewById(R.id.hasil); ImageButton Akustik = (ImageButton)

findViewById(R.id.imageButton1);

ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);

ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);

model = (Spinner) findViewById(R.id.jenis); harga = (Spinner) findViewById(R.id.harga); merk = (Spinner) findViewById(R.id.merk);

String[] listHarga = { "1.000.000 - 3.000.000", "3.000.000 - 6.000.000", "6.000.000 - 10.000.000" };

model.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, modelList)); harga.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, listHarga)); merk.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, merkList)); Akustik.setOnClickListener(this); Elektrik.setOnClickListener(this); Klasik.setOnClickListener(this); ((android.widget.Button) findViewById(R.id.search)).setOnClickListener(this); }

public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:

startActivity(new Intent(this, JenisActivity.class));

break;

case R.id.imageButton2:

startActivity(new Intent(this, Jenis2Activity.class));

break;

case R.id.imageButton3:

startActivity(new Intent(this, Jenis3Activity.class));

break;

case R.id.search:

int up = 0, bottom = 0, i = 0, size = 0, max = 3; switch(harga.getSelectedItemPosition()) {


(15)

case 0: bottom = 1000000; up = 3000000; break; case 1: bottom = 3000000; up = 6000000; break; case 2: bottom = 6000000; up = 10000000; break;

}

String[] columns = { Guitar.MERK_QUALITY, Guitar.WOOD_QUALITY, Guitar.STRING_QUALITY };

GuitarOpenHeper dbOpenHelper = new GuitarOpenHeper(this);

Cursor c = null;

if((i = merk.getSelectedItemPosition()) == 5) {

max = 5;

c =

dbOpenHelper.getReadableDatabase().query(Guitar.TABLE_NAME, null, Guitar.CATEGORY + " = ? AND " + Guitar.PRICE + " >= ? AND " + Guitar.PRICE + " < ?", new String [] {

String.valueOf(model.getSelectedItemPosition() + 1),

String.valueOf(bottom), String.valueOf(up) }, null, null, null);

}

else

c =

dbOpenHelper.getReadableDatabase().query(Guitar.TABLE_NAME, null, Guitar.MERK + " = ? AND " + Guitar.CATEGORY + " = ? AND " +

Guitar.PRICE + " >= ? AND " + Guitar.PRICE + " <= ?", new String [] { String.valueOf(i + 1), String.valueOf(model.getSelectedItemPosition() + 1), String.valueOf(bottom), String.valueOf(up) }, null, null, null); int[] merkQuality = new int[size = c.getCount()],

woodQuality = new int[size], stringQuality = new int[size]; String names[] = new String[size];

if(c.moveToFirst()) {

i = 0;

do { merkQuality[i] = c.getInt(c.getColumnIndex(columns[0])); woodQuality[i] = c.getInt(c.getColumnIndex(columns[1])); stringQuality[i] = c.getInt(c.getColumnIndex(columns[2])); names[i] = c.getString(c.getColumnIndex(Guitar.NAME)); i++; } while(c.moveToNext()); } c.close(); dbOpenHelper.close();

Result[] R = new Result[size]; for(i = 0; i < size; i++)

R[i] = new Result(names[i], (bobot[0] * merkQuality[i]) + (bobot[1] * woodQuality[i]) + (bobot[2] * stringQuality[i]));

new Sort().quickSort(R, 0, R.length - 1); java.text.DecimalFormat f = new

java.text.DecimalFormat("0.00"); names = new String[max];

for(size = 0, i = R.length - 1; i > -1; i--, size++) {

if(size >= max) break;

names[size] = (size + 1) + ". " + R[i].name + " (" + f.format(R[i].result) + ")";

}

result.setAdapter(new

android.widget.ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, names));


(16)

} }

private class Result { private String name; private double result;

private Result(String name, double result) {

this.name = name;

this.result = result;

}

}

private class Sort {

private int partition(Result[] results, int left, int right) {

Result tmp;

int i = left, j = right;

double pivot = results[(left + right) / 2].result; while (i <= j) {

while (results[i].result < pivot) i++;

while (results[j].result > pivot) j--;

if (i <= j) {

tmp = results[i];

results[i] = results[j]; results[j] = tmp;

i++; j--; } }; return i; }

private void quickSort(Result[] results, int left, int right) { int index = partition(results, left, right);

if (left < index - 1)

quickSort(results, left, index - 1); if (index < right)

quickSort(results, index, right);

} } } 6.JenisActivity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;

public class JenisActivity extends Activity implements View.OnClickListener {

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.list_jenis);


(17)

ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);

ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);

ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); }

public void onClick(View view) { switch(view.getId()) {

case R.id.imageButton4:

startActivity(new Intent(this, SearchActivity.class));

break;

case R.id.imageButton2:

startActivity(new Intent(this, Jenis2Activity.class));

break;

case R.id.imageButton3:

startActivity(new Intent(this, Jenis3Activity.class));

break; } } } 7.Jenis2Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;

public class Jenis2Activity extends Activity implements View.OnClickListener {

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.list_jenis2);

ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);

ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1);

ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3); goSearch.setOnClickListener(this); Akustik.setOnClickListener(this); Klasik.setOnClickListener(this); }

public void onClick(View view) { switch(view.getId()) {


(18)

startActivity(new Intent(this, SearchActivity.class));

break;

case R.id.imageButton1:

startActivity(new Intent(this, JenisActivity.class));

break;

case R.id.imageButton3:

startActivity(new Intent(this, Jenis3Activity.class));

break; } } } 8.Jenis3Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;

public class Jenis3Activity extends Activity implements View.OnClickListener {

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.list_jenis3);

ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);

ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1);

ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2); goSearch.setOnClickListener(this); Akustik.setOnClickListener(this); Elektrik.setOnClickListener(this); }

public void onClick(View view) { switch(view.getId()) { case R.id.imageButton4:

startActivity(new Intent(this, SearchActivity.class));

break;

case R.id.imageButton1:

startActivity(new Intent(this, JenisActivity.class));

break;

case R.id.imageButton2:

startActivity(new Intent(this, Jenis2Activity.class));

break;

} } }


(19)

9.MerkActivity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;

public class MerkActivity extends Activity implements View.OnClickListener {

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.list_merk);

ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);

ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);

ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);

ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }

public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:

startActivity(new Intent(this, JenisActivity.class)); break;

case R.id.imageButton4:

startActivity(new Intent(this, SearchActivity.class)); break;

case R.id.imageButton2:

startActivity(new Intent(this, Jenis2Activity.class)); break;

case R.id.imageButton3:

startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 10. Merk2Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View;


(20)

import android.widget.ImageButton;

public class Merk2Activity extends Activity implements View.OnClickListener {

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.list_merk2); ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);

ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);

ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);

ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }

public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:

startActivity(new Intent(this, JenisActivity.class)); break;

case R.id.imageButton4:

startActivity(new Intent(this, SearchActivity.class)); break;

case R.id.imageButton2:

startActivity(new Intent(this, Jenis2Activity.class)); break;

case R.id.imageButton3:

startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 11.Merk3Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;

public class Merk3Activity extends Activity implements View.OnClickListener {

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);


(21)

ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);

ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);

ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);

ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }

public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:

startActivity(new Intent(this, JenisActivity.class)); break;

case R.id.imageButton4:

startActivity(new Intent(this, SearchActivity.class)); break;

case R.id.imageButton2:

startActivity(new Intent(this, Jenis2Activity.class)); break;

case R.id.imageButton3:

startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 12.Merk4Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;

public class Merk4Activity extends Activity implements View.OnClickListener {

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.list_merk4); ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);

ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);

ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);

ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1);


(22)

goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }

public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:

startActivity(new Intent(this, JenisActivity.class)); break;

case R.id.imageButton4:

startActivity(new Intent(this, SearchActivity.class)); break;

case R.id.imageButton2:

startActivity(new Intent(this, Jenis2Activity.class)); break;

case R.id.imageButton3:

startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 13.Merk5Activity.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ImageButton;

public class Merk5Activity extends Activity implements View.OnClickListener {

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.list_merk5); ImageButton goSearch = (ImageButton) findViewById(R.id.imageButton4);

ImageButton Elektrik = (ImageButton) findViewById(R.id.imageButton2);

ImageButton Klasik = (ImageButton) findViewById(R.id.imageButton3);

ImageButton Akustik = (ImageButton) findViewById(R.id.imageButton1); goSearch.setOnClickListener(this); Klasik.setOnClickListener(this); Elektrik.setOnClickListener(this); Akustik.setOnClickListener(this); }

public void onClick(View view) { switch(view.getId()) { case R.id.imageButton1:


(23)

startActivity(new Intent(this, JenisActivity.class)); break;

case R.id.imageButton4:

startActivity(new Intent(this, SearchActivity.class)); break;

case R.id.imageButton2:

startActivity(new Intent(this, Jenis2Activity.class)); break;

case R.id.imageButton3:

startActivity(new Intent(this, Jenis3Activity.class)); break; } } } 14.Help.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;

public class Help extends Fragment { @Override

public View onCreateView (LayoutInflater inflater,ViewGroup root, Bundle savedInstanceState) {

return inflater.inflate(R.layout.activity_help, root,false); } } 15.About.java package id.ali.spkguitaryhtm; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup;

public class About extends Fragment { @Override

public View onCreateView (LayoutInflater inflater,ViewGroup root, Bundle savedInstanceState) {

return inflater.inflate(R.layout.activity_about, root,false); }

}

16.activity_main.xml

<android.support.v4.widget.DrawerLayout


(24)

android:id="@+id/drawer_layout"

android:layout_width="match_parent"

android:layout_height="match_parent" > <FrameLayout

android:id="@+id/frame_konten"

android:layout_width="match_parent"

android:layout_height="match_parent" /> <ListView android:id="@+id/drawer_kiri" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#111" android:choiceMode="singleChoice" android:divider="@android:color/transparent"

android:dividerHeight="0dp" /> </android.support.v4.widget.DrawerLayout>

17.main.xml

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

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" > <LinearLayout

android:layout_width="match_parent"

android:layout_height="40dp"

android:background="@color/green"

android:orientation="horizontal" > <ImageButton android:id="@+id/imageButton1" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:src="@drawable/akustik1"

android:contentDescription="@string/app_name" /> <ImageButton android:id="@+id/imageButton2" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:src="@drawable/elektrik1"

android:contentDescription="@string/app_name" /> </LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@color/green"

android:orientation="horizontal" > <ImageButton

android:id="@+id/imageButton3"

android:layout_width="0dp"

android:layout_height="40dp"

android:layout_weight="1"


(25)

<ImageButton

android:id="@+id/imageButton4"

android:layout_width="0dp"

android:layout_height="40dp"

android:layout_weight="1"

android:src="@drawable/cari1" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@color/white"

android:orientation="horizontal" > <ImageButton android:id="@+id/cort" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:layout_marginTop="35dp" android:layout_weight="1" android:background="@color/white"

android:src="@drawable/iconic1" /> <ImageButton android:id="@+id/yamaha" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:layout_marginTop="35dp" android:layout_weight="1" android:background="@color/white"

android:src="@drawable/iconicyamaha" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:layout_gravity="center" android:gravity="center" android:background="@color/white"

android:orientation="horizontal" > <ImageButton android:id="@+id/ibanez" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:background="@color/white" android:layout_gravity="center_vertical"

android:src="@drawable/iconic5" />


(26)

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@color/white"

android:orientation="horizontal" > <ImageButton android:id="@+id/fender" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:layout_weight="1" android:background="@color/white" android:src="@drawable/iconic3" /> <ImageButton android:id="@+id/epiphone" android:layout_width="100dp" android:layout_height="100dp" android:scaleType="fitCenter" android:padding="10dp" android:layout_weight="1" android:background="@color/white"

android:src="@drawable/iconic4" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:background="@color/white"

android:orientation="horizontal" >

</LinearLayout> </LinearLayout>

18.search.xml

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

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@color/greencol"

android:orientation="vertical"

tools:context="${relativePackage}.${activityClass}" > <LinearLayout

android:layout_width="match_parent"

android:layout_height="40dp"

android:background="@color/greencol"

android:orientation="horizontal" > <ImageButton android:id="@+id/imageButton1" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:src="@drawable/akustik1"


(27)

android:contentDescription="@string/app_name" /> <ImageButton android:id="@+id/imageButton2" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:src="@drawable/elektrik1"

android:contentDescription="@string/app_name" /> </LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@color/greencol"

android:orientation="horizontal" > <ImageButton android:id="@+id/imageButton3" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1"

android:src="@drawable/klasik1" /> <ImageButton

android:id="@+id/imageButton4"

android:layout_width="0dp"

android:layout_height="40dp"

android:layout_weight="1"

android:src="@drawable/cari1" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" android:orientation="vertical"

android:padding="15dp"> <TextView

android:id="@+id/textjenis"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="Weighted Sum Model Method"

android:textStyle="italic" android:textSize="14dp" /> <View android:id="@+id/garis1" android:layout_width="match_parent" android:layout_height="3dp" android:layout_marginTop="15dp"

android:background="#ddd" /> <LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"> <TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="0.5"

android:text="@string/guitar_model"

android:layout_gravity="center_vertical" /> <Spinner android:id="@+id/jenis"


(28)

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1.5" /> </LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@color/white"

android:orientation="horizontal"> <TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="0.5"

android:text="@string/price"

android:layout_gravity="center_vertical" /> <Spinner

android:id="@+id/harga"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1.5" /> </LinearLayout>

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@color/white"

android:orientation="horizontal"> <TextView

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="0.5"

android:text="@string/merk"

android:layout_gravity="center_vertical" /> <Spinner android:id="@+id/merk"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1.5" /> </LinearLayout> <Button android:id="@+id/search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/search"

android:layout_gravity="end" />

<ListView android:id="@+id/hasil"

android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" /> </LinearLayout> </LinearLayout> 19.actionnavigation.xml

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

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

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal" > <ImageButton


(29)

android:id="@+id/navi"

style="?android:attr/borderlessButtonStyle"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:src="@drawable/ic_drawer"/> <TextView

android:id="@+id/teksnav"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="Ali Huseini"

android:textColor="@color/white"

android:textSize="17sp"

/> </LinearLayout>

20.navigationdrawer.xml

<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout

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

android:layout_width="match_parent"

android:id="@+id/list"

android:layout_height="match_parent"

android:orientation="vertical"> <FrameLayout

android:id= "@+id/container"

android:layout_height="match_parent"

android:layout_width="match_parent" /> <fragment

android:id="@+id/navigationdrawer"

android:name="id.ali.NavigationDrawerFragment"

android:layout_width="240dp"

android:layout_height="match_parent"

android:layout_gravity="start" />

</android.support.v4.widget.DrawerLayout>

21.activity_help.xml

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

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

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" > <LinearLayout

android:layout_width="match_parent"

android:layout_height="70dp"

android:background="@color/green"

android:orientation="horizontal" > <TextView android:id="@+id/help" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:textStyle="bold" android:text="HOW TO USE THIS APP"


(30)

android:textSize="20dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white"

android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:textSize="16dp"

android:text="1. Tab 'Go Search' to choose the guitar which you want to compare. " />

<View

android:id="@+id/garis1"

android:layout_width="match_parent"

android:layout_height="3dp"

android:layout_marginTop="15dp"

android:background="#ddd" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:textSize="16dp"

android:text="2. Tab 'Acoustic','Electric', or 'Classic' to see guitar model for detail." />

<View

android:id="@+id/garis2"

android:layout_width="match_parent"

android:layout_height="3dp"

android:layout_marginTop="15dp"

android:background="#ddd" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:textSize="16dp"

android:text="3. Tab 'ImageButton' Merk to see the guitar list from any merk. " />

<View

android:id="@+id/garis3"

android:layout_width="match_parent"

android:layout_height="3dp"

android:layout_marginTop="15dp"

android:background="#ddd" /> <TextView

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_marginTop="10dp"


(31)

android:layout_marginRight="10dp"

android:textSize="16dp"

android:text="4. Tab 'ActionBar Navigation' to see more about this app." />

<View

android:id="@+id/garis4"

android:layout_width="match_parent"

android:layout_height="3dp"

android:layout_marginTop="15dp"

android:background="#ddd" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:textSize="16dp"

android:text="5. Click 'Help' to know how to use this app." />

<View

android:id="@+id/garis5"

android:layout_width="match_parent"

android:layout_height="3dp"

android:layout_marginTop="15dp"

android:background="#ddd"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white"

android:orientation="vertical"> </LinearLayout>

</LinearLayout>

22.activity_about.xml

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

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

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="65dp" android:gravity="center"

android:text="SISTEM PENDUKUNG KEPUTUSAN\nPEMILIHAN GITAR BERBASIS ANDROID\nMENGGUNAKAN METODE WEIGHTED SUM MODEL" />

<TextView

android:id="@+id/textView2"

android:layout_width="match_parent"

android:layout_height="wrap_content"


(32)

android:gravity="center"

android:text="SKRIPSI" /> <TextView

android:id="@+id/textView3"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dp"

android:gravity="center"

android:text="ALI HUSEINI SIAMBATON" /> <TextView

android:id="@+id/textView4"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="10dp"

android:gravity="center"

android:text="101401089" /> <ImageView

android:id="@+id/iconusu"

android:layout_width="172dp"

android:layout_height="150dp"

android:layout_gravity="center"

android:layout_marginTop="30dp"

android:src="@drawable/ic_usu" /> <TextView

android:id="@+id/textView5"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="30dp"

android:gravity="center"

android:text="PROGRAM STUDI S1 ILMU KOMPUTER\nFAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA\n2014" />


(33)

(34)

(35)

DAFTAR PUSTAKA

Ananda, Dwi Rizki.2015. Perbandingan Metode Anatycal Hierarchy Process dan

Weighted Sum Model Pada Sistem Pendukung Keputusan Pemilihan Sepeda.Skripsi.Medan.Universitas Sumatera Utara.

Ariyanto.2012 .Sistem Pendukung Keputusan Pemilihan Karyawan Terbaik dengan

Metode Simple Additive Weighting (Studi Kasus : Pamella Swalayan). Skripsi

Yogyakarta: Universitas Islam Negeri Sunan Kalijaga.

Asriadi, Derry. 2012. Jago Main Gitar Dari Nol. Jakarta : Kawah Media.

Basyaib, Fahmi. 2006. Teori Pembuatan Keputusan. Jakarta : PT. Grasindo.

Bidgoli, H. 1989. Decision Support Systems : Principle and Practice. St Paul : West Publishing Company.

Chistie,E.S.2012.Aplikasi Portal Akademik Mobile Berbasis Android. Skripsi.

Medan. Universitas Sumatera Utara.

Cholis,H.N.2013.Aplikasi Hitung Zakat Berbasis Android .Skripsi.Medan.Universitas

Sumatera Utara.

Hidayat,F.2012. Analisa dan Perancangan Perhitungan Zakat Mal Berbasis Android. Skripsi. Medan. Universitas Sumatera Utara.

Janakiraman, V.S , Sarukesi, K. 1999. Decision Support System. New Delhi : Pretince-Hall.


(36)

Parno,dkk.2011.Aplikasi Mobile Kamus Istilah Psikologi Berbasis Android 2.2.Jurnal

Gunadarma 4():121-128.

Power. J, Daniel . 2009. Decision Support Basics. New York : Bussines Expert Press.

Ramon San Cristobal Mateo, Jose. 2012. Multi-Criteria Analysis in the Renewable

Energy Industry. London : Springer.

Safaat,N.2012.Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis

Android.Informatika:Bandung.

Siregar,Fajrul Falah.2014. Implementasi Perbandingan Metode Simple Additive

Weighting dengan Weighted Sum Model Dalam Pemilihan Siswa Berprestasi. Skripsi.Medan.Universitas Sumatera Utara.

Sprague, R.H , Watson, M.J. 1974. Bit by Bit : Toward Decision Support Systems. California : Management Review.

Sugumaran, Ramanathan, DeGroote, John . 2011. Spatial Decision Support Systems

Principles and Practice. Florida : CRC Press.

Suryadi, Kadarsah, Ramdhani, M. Ali. 1998. Sistem Pendukung Keputusan : Suatu

Wacana Struktural Idelisasi dan Implementasi Konsep Pengambilan Keputusan. Bandung :Remaja Rosdakarya Offset.

Syafaruddin Anzizhan.2004. Sistem Pengambilan Keputusan Pendidikan. Jakarta, Grasindo.

Turban, E, Rainer, R.K and Potter, R.E 2005.Introduction to Information

Technology.Hoboken: John Willey & Sons.

Utomo, E. P. 2012. From Newbie to Advanced – Mudahnya Membuat Aplikasi


(37)

Venkata Rao, R, 2007. Decision Making in the Manufacturing Environment : Using Graph Theory and Fuzzy Multiple Attribute Decision Making Methods. London : Springer.

Zhou, Mark. 2011. Communication in Computer and Information Science . New York : Springer.


(38)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Tahapan yang dilakukan untuk menghasilkan pemahaman yang menyeluruh terhadap kebutuhan sistem sehingga diperoleh tugas-tugas yang akan dikerjakan sistem disebut analisis sistem. Tahapan ini dilakukan agar pada saat proses perancangan aplikasi tidak terjadi kesalahan yang berarti. Ada dua tahapan analisis dalam tugas akhir ini yaitu: analisis masalah dan analisis persyaratan.

Memahami kelayakan masalah akan dibahas dianalisis masalah juga untuk menjelaskan fungsi-fungsi yang ditawarkan dan mampu dikerjakan sistem akan dibahas dianalisis persyaratan.

3.1.1 Analisis Masalah

Analisis masalah merupakan proses mengidentifikasi sebab dan akibat dibangunnya sebuah sistem agar sistem yang akan dibangun tersebut dapat berjalan sebagaimana mestinya sesuai dengan tujuan dari sistem itu. Saat ini terdapat bermacam-macam jenis dan merek gitar, oleh karena itu dibutuhkan sebuah sistem untuk memberikan informasi yang tepat dalam proses pemilihan gitar yang sesuai dengan kebutuhan dan kriteria pengguna dengan menggunakan metode Weighted Sum Model.

Diagram Ishikawa adalah diagram yang menunjukkan penyebab-penyebab dari sebuah event yang spesifik. Diagram ini juga disebut dengan diagram tulang ikan atau

cause-and-effect diagram. Pemakaian diagram Ishikawa yang paling umum adalah

untuk mencegah efek serta mengembangkan kualitas produk. Analisa masalah lebih jelas melalui diagram Ishikawa yang dapat dilihat pada Gambar 3.1.


(39)

Penentuan Pemilihan Gitar Sesuai dengan Kriteria Material

Mesin

Metode

Manusia

Belum mengetahui gitar yang sesuai dengan

yang diinginkan Membutuhkan informasi

data dan alternatif

Implementasi WSM Data gitar dari berbagai jenis

dan merk

Belum ada Sistem Pendukung Keputusan Pemilihan Gitar

Gambar 3.1 Diagram Ishikawa untuk analisis perancangan sistem

Berdasarkan Gambar 3.1 dapat diketahui bahwa permasalahan pemilihan gitar dikarenakan banyaknya jenis dan merek gitar yang ada di pasaran dan juga belum adanya sebuah sistem informasi yang ditujukan khusus untuk menyelesaikan masalah tersebut. Untuk itu dibuatlah sebuah Sistem Pendukung Keputusan dengan menggunakan metode Weighted Sum Model pada platform Android.

3.1.2 Analisis Persyaratan

Analisis persyaratan terbagi dua bagian, yaitu persyaratan fungsional dan persyaratan nonfungsional. Persyaratan fungsional mendeskripsikan aktivitas yang disediakan suatu sistem. Sedangkan Persyaratan nonfungsional mendeskripsikan fitur, karakteristik dan batasan lainnya.

3.1.2.1 Persyaratan Fungsional

Terdapat beberapa hal yang menjadi persyaratan fungsional dalam aplikasi contact manager yang harus dipenuhi, antara lain :

1. Sistem dapat menerima inputan data jenis gitar, harga dan merk gitar.

2. Sistem dapat mengetahui gitar yang sesuai dengan kriteria user, berdasarkan metode Weighted Sum Model.


(1)

DECISION SUPPORT SYSTEM USING WEIGHTED SUM MODEL METHOD FOR CHOOSING GUITAR IN ANDROID PLATFORM

ABSTRACT

IT-based technology needed is varied, the availability of a mobile application which can solve any problems a day is one of people need now, choosing musical instrument correctly is something useful for musician, especially for the general public. In this case, then we made guitarythm application that implementing Weighted Sum Model method for choosing guitar and SQLite as the guitar data storage. Weighted Sum Model method is a simple method which often used in a single dimensional problem or multi dimensional problem.The electoral system is made very easy, by entering the type of guitar, price and brand as an input in the selection, then we will know what is the best guitar that suits with our needs and budget.


(2)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xi

Daftar Lampiran xii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

Bab 2 Landasan Teori

2.1 Sistem Pendukung Keputusan 6

2.1.1 Syarat Sistem Pendukung Keputusan 7 2.1.2 Komponen Sistem Pendukung Keputusan 7 2.1.3 Karakteristik Sistem Pendukung Keputusan 8 2.1.4 Tahapan Proses Pengambilan Keputusan 9 2.1.5 Metode Weighted Sum Model 10

2.2 Eclipse 12

2.3 Pengertian, Fungsi dan Jenis Gitar 13

2.3.1 Pengertian Gitar 13

2.3.2 Fungsi Gitar 13

2.3.3 Jenis Gitar 13

2.4 Android 14

2.4.1 Sejarah Android 15

2.4.2 Versi – versi Android 15

2.4.3 Android JellyBean 16

2.4.4 Android KitKat 16

2.4.5 Android Lollipop 17

2.5 Relevansi 17

Bab 3 Analisis dan Perancangan Sistem

3.1 Analisis Sistem 19

3.1.1 Analisis Masalah 19


(3)

3.1.2.1 Kebutuhan Fungsional 20 3.1.2.2 Kebutuhan Non Fungsional 21

3.1.3 Pemodelan 21

3.1.3.1 Use Case Diagram 22

3.1.3.2 Activity Diagram 23

3.1.3.3 Sequence Diagram 24

3.1.3.4 Kamus Data 25

3.1.3.5 Flowchart Sistem 25

3.2 Perancangan Sistem 26

3.2.1 Menu Utama 27

3.2.2 Menu List Merk 28

3.2.3 Menu List Jenis 29

3.2.4 Menu Go Search 30

3.2.5 Menu Hasil Pemilihan 31

3.2.6 Menu Navigation 32

3.2.7 Menu Help 33

3.2.8 Menu About 34

Bab 4 Implementasi dan Pengujian Sistem

4.1 Implementasi 35

4.1.1 Implementasi Algoritma Weighted Sum Model 35

4.2 Antarmuka Sistem 36

4.2.1 Menu Utama 36

4.2.2 Menu List Merk 37

4.2.3 Menu List Jenis 38

4.2.4 Menu Go Search 39

4.2.5 Menu Hasil Pemilihan 40

4.2.6 Menu Navigation 41

4.2.7 Menu Help dan About 42

4.3 Pengujian 42

4.3.1 Pengujian Dengan Metode Weighted Sum Model 42 Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 50

5.2 Saran 50

Daftar Pustaka 52


(4)

DAFTAR TABEL

Nomor

Tabel Nama Tabel Halaman

2.1 2.2 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10

4.1 4.2 4.3 4.4 4.5 4.6

Contoh Metode Weighted Sum Model Versi-versi Android

Use Case Proses Pemilihan Gitar dengan Metode WSM

Kamus Data

Keterangan gambar rancangan interface Menu Utama Keterangan gambar rancangan interface Menu List Merk Keterangan gambar rancangan interface Menu List Jenis Keterangan gambar rancangan interface Menu Go Search Keterangan gambar rancangan interface Hasil Pencarian Keterangan gambar rancangan interface Menu Navigation Keterangan gambar rancangan interface Menu Help Keterangan gambar rancangan interface Menu About Perhitungan dengan Metode Weighted Sum Model Hasil Pengujian 1 dengan Metode Weighted Sum Model Hasil Pengujian 2 dengan Metode Weighted Sum Model Hasil Pengujian 3 dengan Metode Weighted Sum Model Hasil Pengujian 4 dengan Metode Weighted Sum Model Hasil Pengujian 5 dengan Metode Weighted Sum Model

11 12 22 25 27 28 29 30 31 32 33 34 36 43 45 45 47 48


(5)

DAFTAR GAMBAR

Nomor

Gambar Nama Gambar Halaman

2.1 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13

Flowchart Metode Weighted Sum Model

Diagram Ishikawa

Use Case Diagram Sistem Activity Diagram

Sequence Diagram Flowchart Sistem

Rancangan interface Menu Utama Rancangan interface Menu List Merk Rancangan interface Menu List Jenis Rancangan interface Menu Go Search Rancangan interface Hasil Pencarian Rancangan interface Menu Navigation Rancangan interface Menu Help Rancangan interface Menu About Menu Utama

Menu List Merk Menu List Jenis Menu Go Search Hasil Pencarian Menu Navigation Menu Help Menu About Hasil Pengujian 1 Hasil Pengujian 2 Hasil Pengujian 3 Hasil Pengujian 4 Hasil Pengujian 5

11 20 22 23 24 26 27 28 29 30 31 32 33 34 37 38 39 40 41 41 42 42 43 44 46 47 48


(6)

DAFTAR LAMPIRAN

Halaman

Listing Program 54