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

A-1

LISTING PROGRAM

1. MainActivity.java
package id.ali.spkguitaryhtm;

import
import
import
import
import
import
import
import
import
import
import
import

android.os.Bundle;

android.app.Activity;
android.content.Intent;
android.content.res.Configuration;
android.support.v4.app.ActionBarDrawerToggle;
android.support.v4.widget.DrawerLayout;
android.view.MenuItem;
android.view.View;
android.widget.AdapterView;
android.widget.ArrayAdapter;
android.widget.ListView;
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);

Universitas Sumatera Utara

A-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;
case 2:

Universitas Sumatera Utara


A-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
import
import
import

android.content.Intent;
android.os.Bundle;
android.view.View;
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) {

Universitas Sumatera Utara


A-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:

Universitas Sumatera Utara

A-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
public
public
public

String name;
long categoryId, merkId;
double price;
int merkQuality, woodQuality, stringQuality;

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

Universitas Sumatera Utara

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

Universitas Sumatera Utara

A-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,
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);
}

int oldVersion, int
" +
" +
" +

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

Universitas Sumatera Utara

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

Universitas Sumatera Utara

A-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 J45", 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 DR500 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 ES333", 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);

Universitas Sumatera Utara

A-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);
//klasik

Universitas Sumatera Utara

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

Universitas Sumatera Utara

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

Universitas Sumatera Utara

A-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
import
import
import
import
import
import

id.ali.spkguitaryhtm.GuitarContract.Guitar;
android.app.Activity;
android.content.Intent;
android.database.Cursor;
android.os.Bundle;
android.view.View;
android.widget.ArrayAdapter;

Universitas Sumatera Utara

A-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(this,
android.R.layout.simple_spinner_dropdown_item, modelList));
harga.setAdapter(new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item, listHarga));
merk.setAdapter(new ArrayAdapter(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()) {

Universitas Sumatera Utara

A-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 + "