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

LISTING PROGRAM

1. MainActivity.java

package id.ali.spkguitaryhtm; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.content.res.Configuration; import android.support.v4.app.ActionBarDrawerToggle; import android.support.v4.widget.DrawerLayout; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.AdapterView.OnItemClickListener; public class MainActivity extends Activity { private DrawerLayout mDrawerLayout; private ListView mDrawerList; private ActionBarDrawerToggle mDrawerToggle; private CharSequence mJudulDrawer; private CharSequence mJudul; private String[] mNamaDrawer; Override protected void onCreateBundle savedInstanceState { super.onCreatesavedInstanceState; setContentViewR.layout.activity_main; prepare; inisialisasi mJudul = mJudulDrawer = getTitle; mNamaDrawer = getResources.getStringArrayR.array.array_drawer; mDrawerLayout = DrawerLayout findViewByIdR.id.drawer_layout; mDrawerList = ListView findViewByIdR.id.drawer_kiri; mDrawerList.setAdapternew ArrayAdapterthis,R.layout.item_navdrawer, mNamaDrawer; memberi event klik item item daftar nama planet mDrawerList.setOnItemClickListenernew OnItemClickListener { Override public void onItemClickAdapterView arg0, View arg1, int posisi, long id { memanggil metode pilihItem pilihItemposisi; } }; mengaktifkan ikon ActionBar kiri-atas sebagai kendali drawer untuk membuka-menutup jika disentuh getActionBar.setDisplayHomeAsUpEnabledtrue; getActionBar.setHomeButtonEnabledtrue; Universitas Sumatera Utara merupakan metode untuk mengaktifkan drawer saat ikon ActionBar disentuh atau saat layar sebelah kiri digeser sliding ke kanan mDrawerToggle = new ActionBarDrawerTogglethis, mDrawerLayout, R.drawable.ic_drawer, 0, 0 { metode saat drawer dalam kondisi tertutup judul pada ActionBar menampilkan item buah terpilih public void onDrawerClosedView view { getActionBar.setTitlemJudul; invalidateOptionsMenu; } metode saat drawer dalam kondisi terbuka judul pada ActionBar menampilkan nama aplikasi: Daftar Drawer public void onDrawerOpenedView drawerView { getActionBar.setTitlemJudulDrawer; invalidateOptionsMenu; } }; mDrawerLayout diberi event mDrawerToggle mDrawerLayout.setDrawerListenermDrawerToggle; dalam keadaan awal, saat aplikasi mulai dijalankan, item yang dipilih adalah indeks 0 if savedInstanceState == null { pilihItem0; } } Override public boolean onOptionsItemSelectedMenuItem item { event saat ikon ActionBar disentuh: drawer akan membukamenutup if mDrawerToggle.onOptionsItemSelecteditem { return true; } return super.onOptionsItemSelecteditem; } private void pilihItemint position { metode saat item planet dipilih; judul pada ActionBar akan diperbarui kemudian drawer akan menutup switchposition { case 0: ifgetFragmentManager.findFragmentByTagMainFragment.TAG == null getFragmentManager.beginTransaction.replaceR.id.frame_konten, new MainFragment, MainFragment.TAG.commit; break; case 1: getFragmentManager.beginTransaction.replaceR.id.frame_konten, new Help.commit; break; case 2: Universitas Sumatera Utara getFragmentManager.beginTransaction.replaceR.id.frame_konten, new About.commit; break; } mDrawerList.setItemCheckedposition, true; setTitlemNamaDrawer[position]; mDrawerLayout.closeDrawermDrawerList; } Override public void setTitleCharSequence title { metode penggantian judul pada ActionBar mJudul = title; getActionBar.setTitlemJudul; } dua metode yang harus dipanggil saat menggunakan ActionBarDrawerToggle untuk penyesuaian dan konfigurasi kondisi drawer item terpilih Override protected void onPostCreateBundle savedInstanceState { super.onPostCreatesavedInstanceState; mDrawerToggle.syncState; } Override public void onConfigurationChangedConfiguration newConfig { super.onConfigurationChangednewConfig; mDrawerToggle.onConfigurationChangednewConfig; } private void prepare { android.content.SharedPreferences sharePref = getSharedPreferencesgetPackageName + _preferences, MODE_PRIVATE; ifsharePref.getBooleangetStringR.string.prefkey_insertall, false new GuitarOpenHeperthis.insertAll; sharePref.edit.putBooleangetStringR.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 onCreateViewandroid.view.LayoutInflater inflater, android.view.ViewGroup root, Bundle savedInstanceState { Universitas Sumatera Utara View view = inflater.inflateR.layout.main, root, false; ImageButton goSearch = ImageButton view.findViewByIdR.id.imageButton4; ImageButton Akustik = ImageButton view.findViewByIdR.id.imageButton1; ImageButton Elektrik = ImageButton view.findViewByIdR.id.imageButton2; ImageButton Klasik = ImageButton view.findViewByIdR.id.imageButton3; ImageButton Cort = ImageButton view.findViewByIdR.id.cort; ImageButton Yamaha = ImageButton view.findViewByIdR.id.yamaha; ImageButton Fender = ImageButton view.findViewByIdR.id.fender; ImageButton Epiphone = ImageButton view.findViewByIdR.id.epiphone; ImageButton Ibanez = ImageButton view.findViewByIdR.id.ibanez; goSearch.setOnClickListenerthis; Akustik.setOnClickListenerthis; Elektrik.setOnClickListenerthis; Klasik.setOnClickListenerthis; Cort.setOnClickListenerthis; Yamaha.setOnClickListenerthis; Fender.setOnClickListenerthis; Epiphone.setOnClickListenerthis; Ibanez.setOnClickListenerthis; return view; } public void onClickView view { switchview.getId { case R.id.imageButton4: startActivitynew IntentgetActivity, SearchActivity.class; break; case R.id.imageButton1: startActivitynew IntentgetActivity, JenisActivity.class; break; case R.id.imageButton2: startActivitynew IntentgetActivity, Jenis2Activity.class; break; case R.id.imageButton3: startActivitynew IntentgetActivity, Jenis3Activity.class; break; case R.id.cort: startActivitynew IntentgetActivity, MerkActivity.class; break; case R.id.yamaha: Universitas Sumatera Utara startActivitynew IntentgetActivity, Merk2Activity.class; break; case R.id.fender: startActivitynew IntentgetActivity, Merk3Activity.class; break; case R.id.epiphone: startActivitynew IntentgetActivity, Merk4Activity.class; break; case R.id.ibanez: startActivitynew IntentgetActivity, Merk5Activity.class; break; } } public void onListItemClickandroid.widget.ListView listView, View v, int position, long id { switchposition { case 0: startActivitynew IntentgetActivity, Help.class; break; case 1: startActivitynew IntentgetActivity, 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 = VARCHAR100 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 GuitarString name, long categoryId, long merkId, double price, int merkQuality, int woodQuality, int stringQuality { Universitas Sumatera Utara this.name = name; this.categoryId = categoryId; this.merkId = merkId; this.price = price; this.merkQuality= merkQuality; this.woodQuality = woodQuality; this.stringQuality = stringQuality; } public static Guitar getIntanceString name, long categoryId, long merkId, double price, int merkQuality, int woodQuality, int stringQuality { return new Guitarname, categoryId, merkId, price, merkQuality, woodQuality, stringQuality; } } public static class Category implements BaseColumns { public static final String TABLE_NAME = Category, CATEGORY = Category, CATEGORY_TYPE = VARCHAR40 NOT NULL; public String category; private CategoryString category { this.category = category; } public static Category getInstanceString category { return new Categorycategory; } } public static class Merk implements BaseColumns { public static final String TABLE_NAME = Merk, MERK = Merk, MERK_TYPE = VARCHAR30 NOT NULL; public String merk; private MerkString merk { this.merk = merk; } public static Merk getInstanceString merk { return new Merkmerk; } } } 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 GuitarOpenHeperandroid.content.Context context { supercontext, DATABASE_NAME, null, DATABASE_VERSION; Universitas Sumatera Utara } Override public void onCreateSQLiteDatabase db { db.execSQLCREATE 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.execSQLCREATE TABLE + GuitarContract.Category.TABLE_NAME + + GuitarContract.Category._ID + INTEGER PRIMARY KEY AUTOINCREMENT, + GuitarContract.Category.CATEGORY + + GuitarContract.Category.CATEGORY_TYPE + ; db.execSQLCREATE TABLE + GuitarContract.Merk.TABLE_NAME + + GuitarContract.Merk._ID + INTEGER PRIMARY KEY AUTOINCREMENT, + GuitarContract.Merk.MERK + + GuitarContract.Merk.MERK_TYPE + ; } Override public void onUpgradeSQLiteDatabase db, int oldVersion, int newVersion { db.execSQLDELETE TABLE IF EXISTS + GuitarContract.Guitar.TABLE_NAME; db.execSQLDELETE TABLE IF EXISTS + GuitarContract.Category.TABLE_NAME; db.execSQLDELETE 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; fori = 0, n = strs.length; i n; i++ { values.putGuitarContract.Merk.MERK, strs[i]; merkIds[i] = this.getWritableDatabase.insertGuitarContract.Merk.TABLE_NAME, null, values; } values = new ContentValues; long[] categoryIds = new long[3]; Universitas Sumatera Utara strs = new String[] { Acoustic, Electric, Classic }; fori = 0, n = strs.length; i n; i++ { values.putGuitarContract.Category.CATEGORY, strs[i]; categoryIds[i] = this.getWritableDatabase.insertGuitarContract.Category.TABLE_NAME, null, values; } GuitarContract.Guitar[] guitar = new GuitarContract.Guitar[150]; yamaha akustik guitar[0] = GuitarContract.Guitar.getIntanceCx 40, categoryIds[0], merkIds[0],1480000, 8, 4, 5; guitar[1] = GuitarContract.Guitar.getIntanceFx 310, categoryIds[0], merkIds[0],1600000, 8, 5, 5; guitar[2] = GuitarContract.Guitar.getIntanceAPX 500 II, categoryIds[0], merkIds[0], 2500000, 8, 6, 5; guitar[3] = GuitarContract.Guitar.getIntanceCPX 500 II, categoryIds[0], merkIds[0], 2900000, 8, 7, 6; guitar[4] = GuitarContract.Guitar.getIntanceAPX 700 IIL, categoryIds[0], merkIds[0], 3500000, 8, 7, 7; guitar[5] = GuitarContract.Guitar.getIntanceAPX 500 III, categoryIds[0], merkIds[0], 4000000, 8, 7, 8; guitar[6] = GuitarContract.Guitar.getIntanceAPX 500II EW, categoryIds[0], merkIds[0], 5900000, 8, 8, 7; guitar[7] = GuitarContract.Guitar.getIntanceSlg 110 N, categoryIds[0], merkIds[0], 6800000,8 , 9, 6; guitar[8] = GuitarContract.Guitar.getIntanceAPX 700 II-12, categoryIds[0], merkIds[0], 8800000, 8, 8, 8; guitar[9] = GuitarContract.Guitar.getIntanceNTX 700, categoryIds[0], merkIds[0], 9250000, 8, 9, 7; elektrik guitar[10] = GuitarContract.Guitar.getIntanceSBG 1820, categoryIds[1], merkIds[0],1500000, 8, 4, 4; guitar[11] = GuitarContract.Guitar.getIntanceSBG 1802, categoryIds[1], merkIds[0],1700000, 8, 4, 5; guitar[12] = GuitarContract.Guitar.getIntancePasifica PAC 012, categoryIds[1], merkIds[0], 2300000, 8, 5, 4; guitar[13] = GuitarContract.Guitar.getIntancePasifica PAC 212 VFM, categoryIds[1], merkIds[0], 3400000, 8, 5, 5; guitar[14] = GuitarContract.Guitar.getIntanceSBG 1820 A, categoryIds[1], merkIds[0], 3850000, 8, 6, 6; guitar[15] = GuitarContract.Guitar.getIntanceRgx A2, categoryIds[1], merkIds[0], 5000000, 8, 6, 7; guitar[16] = GuitarContract.Guitar.getIntancePasifica PAC-611 H, categoryIds[1], merkIds[0], 6600000, 8, 7, 6; guitar[17] = GuitarContract.Guitar.getIntancePAC 1611 MS, categoryIds[1], merkIds[0], 7700000, 8, 8, 7; guitar[18] = GuitarContract.Guitar.getIntanceRgx 420 DZ II, categoryIds[1], merkIds[0], 8270000, 8, 8, 8; guitar[19] = GuitarContract.Guitar.getIntanceSA 2200, categoryIds[1], merkIds[0], 9400000, 8, 9, 8; klasik guitar[20] = GuitarContract.Guitar.getIntanceC 80, categoryIds[2], merkIds[0], 1680000, 8, 6, 4; guitar[21] = GuitarContract.Guitar.getIntanceNTX 700 Classic, categoryIds[2], merkIds[0],2450000, 8, 5, 6; guitar[22] = GuitarContract.Guitar.getIntanceNTX 900 FM, categoryIds[2], merkIds[0], 2900000, 8, 6, 6; guitar[23] = GuitarContract.Guitar.getIntanceCG 122 MSMC, categoryIds[2], merkIds[0], 3300000, 8, 6, 7; Universitas Sumatera Utara guitar[24] = GuitarContract.Guitar.getIntanceCG 142 SC, categoryIds[2], merkIds[0], 3680000, 8, 7, 6; guitar[25] = GuitarContract.Guitar.getIntanceNTX 700 CII, categoryIds[2], merkIds[0], 3900000, 8, 7, 7; guitar[26] = GuitarContract.Guitar.getIntanceCG 162 SC, categoryIds[2], merkIds[0], 5700000, 8, 8, 6; guitar[27] = GuitarContract.Guitar.getIntanceCG 192 SC, categoryIds[2], merkIds[0], 6800000, 8, 7, 8; guitar[28] = GuitarContract.Guitar.getIntanceNTX 1200R, categoryIds[2], merkIds[0], 7000000, 8, 8, 9; guitar[29] = GuitarContract.Guitar.getIntanceGC 22S, categoryIds[2], merkIds[0], 8500000, 8, 9, 9; epiphone akustik guitar[30] = GuitarContract.Guitar.getIntanceDave Navarro Std, categoryIds[0], merkIds[1], 1990000,9,5,5; guitar[31] = GuitarContract.Guitar.getIntancePro-1, categoryIds[0], merkIds[1], 2500000, 9, 6, 5; guitar[32] = GuitarContract.Guitar.getIntancePro-1 Plus, categoryIds[0], merkIds[1],2800000, 9, 6, 6; guitar[33] = GuitarContract.Guitar.getIntanceAJ-2205 Vintage Sunburst, categoryIds[0], merkIds[1], 2990000,9,7,6; guitar[34] = GuitarContract.Guitar.getIntanceLtd. Ed.1963 J- 45, categoryIds[0], merkIds[1], 3900000,9,7,7; guitar[35] = GuitarContract.Guitar.getIntanceLtd. Ed. EJ-200 Artist, categoryIds[0], merkIds[1],4450000, 9, 7, 8; guitar[36] = GuitarContract.Guitar.getIntanceHummingbird FC, categoryIds[0], merkIds[1], 4900000,9,8,7; guitar[37] = GuitarContract.Guitar.getIntanceDR-212, categoryIds[0], merkIds[1], 6800000, 9, 8, 8; guitar[38] = GuitarContract.Guitar.getIntanceMasterbilt DR- 500 MCE, categoryIds[0], merkIds[1], 7360000,9,8,9; guitar[39] = GuitarContract.Guitar.getIntanceDR-100 Wine Red, categoryIds[0], merkIds[1], 8800000, 9, 9, 9; elektrik guitar[40] = GuitarContract.Guitar.getIntanceG-310, categoryIds[1], merkIds[1], 1850000, 9, 4, 6; guitar[41] = GuitarContract.Guitar.getIntanceLPS II Heritage, categoryIds[1], merkIds[1], 2590000,9,6,4; guitar[42] = GuitarContract.Guitar.getIntanceWorn G-400, categoryIds[1], merkIds[1], 2800000,9,6,5; guitar[43] = GuitarContract.Guitar.getIntanceSG [G-310], categoryIds[1], merkIds[1], 3290000, 9, 7, 6; guitar[44] = GuitarContract.Guitar.getIntanceLes Paul 100, categoryIds[1], merkIds[1], 4500000, 9, 7, 7; guitar[45] = GuitarContract.Guitar.getIntanceLPS Alpine White, categoryIds[1], merkIds[1], 5990000,9,7,8; guitar[46] = GuitarContract.Guitar.getIntanceGothic Explorer, categoryIds[1], merkIds[1], 7490000,9,8,7; guitar[47] = GuitarContract.Guitar.getIntanceTom Delonge ES- 333, categoryIds[1], merkIds[1], 8000000, 9, 8, 8; guitar[48] = GuitarContract.Guitar.getIntanceJoe Pass Emperor, categoryIds[1], merkIds[1], 8500000, 9, 8, 9; guitar[49] = GuitarContract.Guitar.getIntanceFutura Custom Fx, categoryIds[1], merkIds[1], 9990000,9,9,8; klasik guitar[50] = GuitarContract.Guitar.getIntanceEL-00 Pro, categoryIds[2], merkIds[1], 1500000, 9, 5, 6; guitar[51] = GuitarContract.Guitar.getIntanceEC-20, categoryIds[2], merkIds[1], 2272000,9,6,5; Universitas Sumatera Utara guitar[52] = GuitarContract.Guitar.getIntancePR 5 E, categoryIds[2], merkIds[1],2450000, 9, 6, 6; guitar[53] = GuitarContract.Guitar.getIntancePR 5 Black, categoryIds[2], merkIds[1], 2553000,9,6,7; guitar[54] = GuitarContract.Guitar.getIntanceSST Classic, categoryIds[2], merkIds[1], 4990000,9,7,7; guitar[55] = GuitarContract.Guitar.getIntanceDove Pro, categoryIds[2], merkIds[1],5600000, 9, 7, 8; guitar[56] = GuitarContract.Guitar.getIntanceEJ-200 CE, categoryIds[2], merkIds[1], 5992000,9,8,7; guitar[57] = GuitarContract.Guitar.getIntanceGibson C-O 1967 Nat, categoryIds[2], merkIds[1], 6480000,9,8,8; guitar[58] = GuitarContract.Guitar.getIntanceFT-350 SCE, categoryIds[2], merkIds[1], 7200000, 9, 8, 9; guitar[59] = GuitarContract.Guitar.getIntanceDave Navarro Jane, categoryIds[2], merkIds[1], 8250000, 9, 9, 8; fender akustik guitar[60] = GuitarContract.Guitar.getIntanceSquire SA-100, categoryIds[0], merkIds[2], 1440000,8,6,4; guitar[61] = GuitarContract.Guitar.getIntanceCD 110 CE, categoryIds[0], merkIds[2], 1500000, 8, 5, 5; guitar[62] = GuitarContract.Guitar.getIntanceCC 220 SCE, categoryIds[0], merkIds[2], 2500000, 8, 6, 5; guitar[63] = GuitarContract.Guitar.getIntanceCD-60 Dreadnought, categoryIds[0], merkIds[2], 2760000,8,6,6; guitar[64] = GuitarContract.Guitar.getIntanceAlkaline Trio Malibu, categoryIds[0], merkIds[2], 3360000,8,6,7; guitar[65] = GuitarContract.Guitar.getIntanceCD-140 SCE, categoryIds[0], merkIds[2], 3600000,8,7,7; guitar[66] = GuitarContract.Guitar.getIntanceTim Amstrong Sign Hellcat, categoryIds[0], merkIds[2], 4200000,8,7,8; guitar[67] = GuitarContract.Guitar.getIntanceCD 320 ASRW, categoryIds[0], merkIds[2], 7000000, 8, 8, 7; guitar[68] = GuitarContract.Guitar.getIntanceMaster Newporter, categoryIds[0], merkIds[2], 9600000, 8, 8, 8; guitar[69] = GuitarContract.Guitar.getIntanceMaster Kingman VRF, categoryIds[0], merkIds[2], 10000000, 8, 9, 8; elektrik guitar[70] = GuitarContract.Guitar.getIntanceSquire Bullet Stratocaster, categoryIds[1], merkIds[2], 1990000,8,5,4; guitar[71] = GuitarContract.Guitar.getIntanceSquire California Stratocaster, categoryIds[1], merkIds[2], 2480000,8,5,6; guitar[72] = GuitarContract.Guitar.getIntanceSquire Telecaster Afinity, categoryIds[1], merkIds[2], 2770000,8,6,4; guitar[73] = GuitarContract.Guitar.getIntanceAS Stratocaster, categoryIds[1], merkIds[2],4580000, 8, 6, 6; guitar[74] = GuitarContract.Guitar.getIntanceAS Telecaster, categoryIds[1], merkIds[2],4600000, 8, 6, 7; guitar[75] = GuitarContract.Guitar.getIntanceAN B-Bender, categoryIds[1], merkIds[2], 4950000, 8, 7, 6; guitar[76] = GuitarContract.Guitar.getIntanceAS Telecaster HH, categoryIds[1], merkIds[2], 5800000, 8, 7, 7; guitar[77] = GuitarContract.Guitar.getIntanceBlack Top Telecaster HH, categoryIds[1], merkIds[2], 6912000, 8, 7, 8; guitar[78] = GuitarContract.Guitar.getIntanceAS Stratocaster HH, categoryIds[1], merkIds[2], 7500000, 8, 8, 9; guitar[79] = GuitarContract.Guitar.getIntanceSTD Stratocaster Mexico, categoryIds[1], merkIds[2], 9890000,8,9,9; klasik Universitas Sumatera Utara guitar[80] = GuitarContract.Guitar.getIntanceCN-90, categoryIds[2], merkIds[2], 1000000, 8, 5, 6; guitar[81] = GuitarContract.Guitar.getIntanceESC 105, categoryIds[2], merkIds[2], 1010000,8,6,4; guitar[82] = GuitarContract.Guitar.getIntanceFC-100, categoryIds[2], merkIds[2], 2800000,8,6,6; guitar[83] = GuitarContract.Guitar.getIntanceFC 200, categoryIds[2], merkIds[2], 3000000, 8, 6, 7; guitar[84] = GuitarContract.Guitar.getIntanceBucket T-100 CE, categoryIds[2], merkIds[2], 3502000,8,7,6; guitar[85] = GuitarContract.Guitar.getIntanceCN-140 S, categoryIds[2], merkIds[2], 4200000,8,7,7; guitar[86] = GuitarContract.Guitar.getIntanceCN-240 SCE, categoryIds[2], merkIds[2], 4850000,8,7,8; guitar[87] = GuitarContract.Guitar.getIntanceCN-320, categoryIds[2], merkIds[2], 6800000, 8, 8, 7; guitar[88] = GuitarContract.Guitar.getIntanceCN-320 AS, categoryIds[2], merkIds[2], 8900000, 8, 8, 8; guitar[89] = GuitarContract.Guitar.getIntanceMC 1 34 Nylon, categoryIds[2], merkIds[2], 9700000, 8, 8, 9; cort akustik guitar[90] = GuitarContract.Guitar.getIntanceEVL-A4, categoryIds[0], merkIds[3], 1400000, 6, 5, 5; guitar[91] = GuitarContract.Guitar.getIntanceAD 810, categoryIds[0], merkIds[3], 1600000,6,5,6; guitar[92] = GuitarContract.Guitar.getIntanceAD 810 E, categoryIds[0], merkIds[3], 2200000,6,6,6; guitar[93] = GuitarContract.Guitar.getIntanceAS E4, categoryIds[0], merkIds[3], 2700000, 6, 6, 7; guitar[94] = GuitarContract.Guitar.getIntanceAS M-5, categoryIds[0], merkIds[3], 3300000, 6, 7, 6; guitar[95] = GuitarContract.Guitar.getIntanceSFX 1F BL, categoryIds[0], merkIds[3], 4085000,6,7,7; guitar[96] = GuitarContract.Guitar.getIntanceNDX 20 BL, categoryIds[0], merkIds[3], 4170000,6,7,8; guitar[97] = GuitarContract.Guitar.getIntanceL 100 F NS, categoryIds[0], merkIds[3], 8500000,6,8,7; guitar[98] = GuitarContract.Guitar.getIntanceNDX 20, categoryIds[0], merkIds[3], 8800000, 6, 8, 8; guitar[99] = GuitarContract.Guitar.getIntanceNDX 50, categoryIds[0], merkIds[3], 9200000, 6, 9, 9; elektrik guitar[100] = GuitarContract.Guitar.getIntanceCR 100, categoryIds[1], merkIds[3],1480000, 6, 4, 5; guitar[101] = GuitarContract.Guitar.getIntanceCR 200, categoryIds[1], merkIds[3],1600000, 6, 5, 4; guitar[102] = GuitarContract.Guitar.getIntanceCR 50 2TS, categoryIds[1], merkIds[3], 1912000,6,5,5; guitar[103] = GuitarContract.Guitar.getIntanceEG Cort X-1, categoryIds[1], merkIds[3], 2190000,6,6,6; guitar[104] = GuitarContract.Guitar.getIntanceCR-200 BK, categoryIds[1], merkIds[3], 4980000,6,6,7; guitar[105] = GuitarContract.Guitar.getIntanceCort Matthew Bellamy, categoryIds[1], merkIds[3], 5592000,6,7,6; guitar[106] = GuitarContract.Guitar.getIntanceCort Sunset Baritone, categoryIds[1], merkIds[3], 5800000, 6, 7, 7; guitar[107] = GuitarContract.Guitar.getIntanceCort Sunset I, categoryIds[1], merkIds[3], 7900000, 6, 8, 7; Universitas Sumatera Utara guitar[108] = GuitarContract.Guitar.getIntanceCort Sunset II, categoryIds[1], merkIds[3], 8990000,6,8,9; guitar[109] = GuitarContract.Guitar.getIntanceEVL-X7, categoryIds[1], merkIds[3], 9000000, 6, 9, 8; klasik guitar[110] = GuitarContract.Guitar.getIntanceAC 70, categoryIds[2], merkIds[3],1580000, 6, 6, 4; guitar[111] = GuitarContract.Guitar.getIntanceACC II ME, categoryIds[2], merkIds[3], 2200000,6,5,6; guitar[112] = GuitarContract.Guitar.getIntanceAC 120, categoryIds[2], merkIds[3], 2500000, 6, 6, 6; guitar[113] = GuitarContract.Guitar.getIntanceCEC 3-NS, categoryIds[2], merkIds[3], 2691000,6,6,7; guitar[114] = GuitarContract.Guitar.getIntanceCEC 5 Nat, categoryIds[2], merkIds[3], 3880000,6,7,7; guitar[115] = GuitarContract.Guitar.getIntanceCEC 7, categoryIds[2], merkIds[3], 4595000,6,7,8; guitar[116] = GuitarContract.Guitar.getIntanceAC 200, categoryIds[2], merkIds[3], 5750000, 6, 8, 7; guitar[117] = GuitarContract.Guitar.getIntanceAC 250 CF, categoryIds[2], merkIds[3],8100000, 6, 8, 8; guitar[118] = GuitarContract.Guitar.getIntanceCCP 10 NS, categoryIds[2], merkIds[3], 8700000,6,9,8; guitar[119] = GuitarContract.Guitar.getIntanceAC 120 CE, categoryIds[2], merkIds[3], 8950000, 6, 9, 9; ibanez akustik guitar[120] = GuitarContract.Guitar.getIntanceAW 50-NT, categoryIds[0], merkIds[4], 1800000,7,5,6; guitar[121] = GuitarContract.Guitar.getIntanceAEW 21 VK, categoryIds[0], merkIds[4], 1600000, 7, 6, 4; guitar[122] = GuitarContract.Guitar.getIntanceAW 250-LG, categoryIds[0], merkIds[4], 2740000,7,6,5; guitar[123] = GuitarContract.Guitar.getIntanceAEW 40 CD, categoryIds[0], merkIds[4], 2980000, 7, 6, 6; guitar[124] = GuitarContract.Guitar.getIntanceAW 370-NT, categoryIds[0], merkIds[4], 3170000,7,7,6; guitar[125] = GuitarContract.Guitar.getIntanceAEG 24 II, categoryIds[0], merkIds[4], 4900000, 7, 7, 7; guitar[126] = GuitarContract.Guitar.getIntanceAEG 3011 BK, categoryIds[0], merkIds[4], 5030000,7,8,7; guitar[127] = GuitarContract.Guitar.getIntanceTCM 50, categoryIds[0], merkIds[4], 6800000, 7, 8, 8; guitar[128] = GuitarContract.Guitar.getIntanceAW 4000 BS Sunburst, categoryIds[0], merkIds[4], 7199000,7,9,8; guitar[129] = GuitarContract.Guitar.getIntanceTCY 10 E, categoryIds[0], merkIds[4], 9000000, 7, 9, 9; elektrik guitar[130] = GuitarContract.Guitar.getIntancePGM White, categoryIds[1], merkIds[4], 1450000,7,4,7; guitar[131] = GuitarContract.Guitar.getIntanceSA 160 FM, categoryIds[1], merkIds[4],1750000, 7, 5, 5; guitar[132] = GuitarContract.Guitar.getIntanceSA 960 QM, categoryIds[1], merkIds[4],2300000, 7, 6, 5; guitar[133] = GuitarContract.Guitar.getIntanceRG 370 DXGP, categoryIds[1], merkIds[4], 3800000,7,6,6; guitar[134] = GuitarContract.Guitar.getIntanceARZ 6 UC Prestige, categoryIds[1], merkIds[4], 4900000, 7, 7, 7; guitar[135] = GuitarContract.Guitar.getIntanceSteve Vai STD Signature, categoryIds[1], merkIds[4], 5000000,7,7,8; Universitas Sumatera Utara guitar[136] = GuitarContract.Guitar.getIntanceGS 270, categoryIds[1], merkIds[4], 5800000, 7, 8, 7; guitar[137] = GuitarContract.Guitar.getIntanceIron Label BL, categoryIds[1], merkIds[4], 6712000,7,8,8; guitar[138] = GuitarContract.Guitar.getIntanceRG 1570, categoryIds[1], merkIds[4], 8500000,7,9,8; guitar[139] = GuitarContract.Guitar.getIntanceGA X 30, categoryIds[1], merkIds[4], 9800000, 7, 9, 9; klasik guitar[140] = GuitarContract.Guitar.getIntanceGA 3 Cool, categoryIds[2], merkIds[4], 1038000,7,5,7; guitar[141] = GuitarContract.Guitar.getIntanceG 10-3Q, categoryIds[2], merkIds[4], 1600000, 7, 6, 5; guitar[142] = GuitarContract.Guitar.getIntanceG 200 E Nat, categoryIds[2], merkIds[4], 1750000, 7, 6, 7; guitar[143] = GuitarContract.Guitar.getIntanceGA 35 TCE, categoryIds[2], merkIds[4], 3895000,7,7,6; guitar[144] = GuitarContract.Guitar.getIntanceGA 5 TCE, categoryIds[2], merkIds[4], 4290000,7,7,7; guitar[145] = GuitarContract.Guitar.getIntanceG 207 CWC, categoryIds[2], merkIds[4], 5000000, 7, 7, 8; guitar[146] = GuitarContract.Guitar.getIntanceG 300 NT, categoryIds[2], merkIds[4], 5900000, 7, 8, 7; guitar[147] = GuitarContract.Guitar.getIntanceAEG 10 II BL, categoryIds[2], merkIds[4], 6310000,7,8,8; guitar[148] = GuitarContract.Guitar.getIntanceG 208 CWCNT, categoryIds[2], merkIds[4], 7800000,7,9,8; guitar[149] = GuitarContract.Guitar.getIntanceGM 600 CE, categoryIds[2], merkIds[4], 9200000, 7, 9, 9; fori = 0, values = new ContentValues, n = guitar.length; i n; i++ { GuitarContract.Guitar g = guitar[i]; values = new ContentValues; values.putGuitarContract.Guitar.NAME, g.name; values.putGuitarContract.Guitar.PRICE, g.price; values.putGuitarContract.Guitar.CATEGORY, g.categoryId; values.putGuitarContract.Guitar.MERK, g.merkId; values.putGuitarContract.Guitar.MERK_QUALITY, g.merkQuality; values.putGuitarContract.Guitar.WOOD_QUALITY, g.woodQuality; values.putGuitarContract.Guitar.STRING_QUALITY, g.stringQuality; this.getWritableDatabase.insertGuitarContract.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; Universitas Sumatera Utara 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 onCreateBundle savedInstanceState { super.onCreatesavedInstanceState; setContentViewR.layout.search; result = ListView findViewByIdR.id.hasil; ImageButton Akustik = ImageButton findViewByIdR.id.imageButton1; ImageButton Elektrik = ImageButton findViewByIdR.id.imageButton2; ImageButton Klasik = ImageButton findViewByIdR.id.imageButton3; model = Spinner findViewByIdR.id.jenis; harga = Spinner findViewByIdR.id.harga; merk = Spinner findViewByIdR.id.merk; String[] listHarga = { 1.000.000 - 3.000.000, 3.000.000 - 6.000.000, 6.000.000 - 10.000.000 }; model.setAdapternew ArrayAdapterStringthis, android.R.layout.simple_spinner_dropdown_item, modelList; harga.setAdapternew ArrayAdapterStringthis, android.R.layout.simple_spinner_dropdown_item, listHarga; merk.setAdapternew ArrayAdapterStringthis, android.R.layout.simple_spinner_dropdown_item, merkList; Akustik.setOnClickListenerthis; Elektrik.setOnClickListenerthis; Klasik.setOnClickListenerthis; android.widget.Button findViewByIdR.id.search.setOnClickListenerthis; } public void onClickView view { switchview.getId { case R.id.imageButton1: startActivitynew Intentthis, JenisActivity.class; break; case R.id.imageButton2: startActivitynew Intentthis, Jenis2Activity.class; break; case R.id.imageButton3: startActivitynew Intentthis, Jenis3Activity.class; break; case R.id.search: int up = 0, bottom = 0, i = 0, size = 0, max = 3; switchharga.getSelectedItemPosition { Universitas Sumatera Utara 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 GuitarOpenHeperthis; Cursor c = null; ifi = merk.getSelectedItemPosition == 5 { max = 5; c = dbOpenHelper.getReadableDatabase.queryGuitar.TABLE_NAME, null, Guitar.CATEGORY + = ? AND + Guitar.PRICE + = ? AND + Guitar.PRICE + ?, new String [] { String.valueOfmodel.getSelectedItemPosition + 1, String.valueOfbottom, String.valueOfup }, null, null, null; } else c = dbOpenHelper.getReadableDatabase.queryGuitar.TABLE_NAME, null, Guitar.MERK + = ? AND + Guitar.CATEGORY + = ? AND + Guitar.PRICE + = ? AND + Guitar.PRICE + = ?, new String [] { String.valueOfi + 1, String.valueOfmodel.getSelectedItemPosition + 1, String.valueOfbottom, String.valueOfup }, null, null, null; int[] merkQuality = new int[size = c.getCount], woodQuality = new int[size], stringQuality = new int[size]; String names[] = new String[size]; ifc.moveToFirst { i = 0; do { merkQuality[i] = c.getIntc.getColumnIndexcolumns[0]; woodQuality[i] = c.getIntc.getColumnIndexcolumns[1]; stringQuality[i] = c.getIntc.getColumnIndexcolumns[2]; names[i] = c.getStringc.getColumnIndexGuitar.NAME; i++; } whilec.moveToNext; } c.close; dbOpenHelper.close; Result[] R = new Result[size]; fori = 0; i size; i++ R[i] = new Resultnames[i], bobot[0] merkQuality[i] + bobot[1] woodQuality[i] + bobot[2] stringQuality[i]; new Sort.quickSortR, 0, R.length - 1; java.text.DecimalFormat f = new java.text.DecimalFormat0.00; names = new String[max]; forsize = 0, i = R.length - 1; i -1; i--, size++ { ifsize = max break; names[size] = size + 1 + . + R[i].name + + f.formatR[i].result + ; } result.setAdapternew android.widget.ArrayAdapterStringthis, android.R.layout.simple_list_item_1, names; break; Universitas Sumatera Utara } } private class Result { private String name; private double result; private ResultString name, double result { this.name = name; this.result = result; } } private class Sort { private int partitionResult[] 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 quickSortResult[] results, int left, int right { int index = partitionresults, left, right; if left index - 1 quickSortresults, left, index - 1; if index right quickSortresults, 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 onCreateBundle savedInstanceState { super.onCreatesavedInstanceState; setContentViewR.layout.list_jenis; Universitas Sumatera Utara ImageButton goSearch = ImageButton findViewByIdR.id.imageButton4; ImageButton Elektrik = ImageButton findViewByIdR.id.imageButton2; ImageButton Klasik = ImageButton findViewByIdR.id.imageButton3; goSearch.setOnClickListenerthis; Klasik.setOnClickListenerthis; Elektrik.setOnClickListenerthis; } public void onClickView view { switchview.getId { case R.id.imageButton4: startActivitynew Intentthis, SearchActivity.class; break; case R.id.imageButton2: startActivitynew Intentthis, Jenis2Activity.class; break; case R.id.imageButton3: startActivitynew Intentthis, 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 onCreateBundle savedInstanceState { super.onCreatesavedInstanceState; setContentViewR.layout.list_jenis2; ImageButton goSearch = ImageButton findViewByIdR.id.imageButton4; ImageButton Akustik = ImageButton findViewByIdR.id.imageButton1; ImageButton Klasik = ImageButton findViewByIdR.id.imageButton3; goSearch.setOnClickListenerthis; Akustik.setOnClickListenerthis; Klasik.setOnClickListenerthis; } public void onClickView view { switchview.getId { case R.id.imageButton4: Universitas Sumatera Utara startActivitynew Intentthis, SearchActivity.class; break; case R.id.imageButton1: startActivitynew Intentthis, JenisActivity.class; break; case R.id.imageButton3: startActivitynew Intentthis, 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 onCreateBundle savedInstanceState { super.onCreatesavedInstanceState; setContentViewR.layout.list_jenis3; ImageButton goSearch = ImageButton findViewByIdR.id.imageButton4; ImageButton Akustik = ImageButton findViewByIdR.id.imageButton1; ImageButton Elektrik = ImageButton findViewByIdR.id.imageButton2; goSearch.setOnClickListenerthis; Akustik.setOnClickListenerthis; Elektrik.setOnClickListenerthis; } public void onClickView view { switchview.getId { case R.id.imageButton4: startActivitynew Intentthis, SearchActivity.class; break; case R.id.imageButton1: startActivitynew Intentthis, JenisActivity.class; break; case R.id.imageButton2: startActivitynew Intentthis, Jenis2Activity.class; break; } } } Universitas Sumatera Utara 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 onCreateBundle savedInstanceState { super.onCreatesavedInstanceState; setContentViewR.layout.list_merk; ImageButton goSearch = ImageButton findViewByIdR.id.imageButton4; ImageButton Elektrik = ImageButton findViewByIdR.id.imageButton2; ImageButton Klasik = ImageButton findViewByIdR.id.imageButton3; ImageButton Akustik = ImageButton findViewByIdR.id.imageButton1; goSearch.setOnClickListenerthis; Klasik.setOnClickListenerthis; Elektrik.setOnClickListenerthis; Akustik.setOnClickListenerthis; } public void onClickView view { switchview.getId { case R.id.imageButton1: startActivitynew Intentthis, JenisActivity.class; break; case R.id.imageButton4: startActivitynew Intentthis, SearchActivity.class; break; case R.id.imageButton2: startActivitynew Intentthis, Jenis2Activity.class; break; case R.id.imageButton3: startActivitynew Intentthis, Jenis3Activity.class; break; } } }

10. Merk2Activity.java