DAFTAR PUSTAKA
Aditya & Alan Nur. 2011. Jago PHP & MySQL Dalam Hitungan Menit. Jakarta: Dunia Komputer. Anhar. 2010. Panduan Menguasai PHP & MySQL Secara Outodidak. Jakarta: Mediakia. Bambang Hariyanto. 2014. Esensi-esensi Bahasa Pemrograman Java. Bandung: Informatika Bandung. B. B. Agarwal, S. P. Tayal & M. Gupta. 2010. Software Engineering&Testing. Canada: Jones and Bartlett. Dennis. 2012. System Analysis And Design 5th Edition. America : Wiley.inc. Dennis, Alan, Barbara Haley Wixom, Roberta M. Roth. 2010. System Analysis dan Design Fifty Edition. United States of America: R Rdonnelley. Fathansyah, 2012. Basis Data, Bandung: Informatika Bandung. Harry Wijaya & Christian Wijaya. 2011. Rekam Jejak Pendakian Ke 44 Gunung di Nusantara. Yogyakarta: Andi. Nazruddin Safaat H. 2012. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC berbasis Android. Bandung: Informatika Bandung. Soetam Rizky. 2011. Konsep Dasar Rekayasa Perangkat Lunak. Jakarta: Prestasi Pustaka. Sommerville, Ian. 2011. Software Engineering (Rekayasa Perangkat Lunak). Jakarta: Erlangga.
91 http://digilib.mercubuana.ac.id/
MainActivity.Java package com.outdoor.aplikasi.activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivi ty; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.outdoor.aplikasi.MapsActivity; import com.outdoor.aplikasi.R; import com.outdoor.aplikasi.helper.SQLiteHandl er; import com.outdoor.aplikasi.helper.SessionMana ger; import java.util.HashMap; public class MainActivity extends AppCompatActivity { private TextView txtName; private TextView txtEmail; private Button btnLogout, btnAdd, btnEq, btnOS, btnNear, btnAbout; private SQLiteHandler db; private SessionManager session; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); getSupportActionBar().setTitle(R.string.ap p_name); txtName = (TextView) findViewById(R.id.name); txtEmail = (TextView) findViewById(R.id.email); btnAdd = (Button)findViewById(R.id.btnadd); btnLogout = (Button) findViewById(R.id.btnLogout); btnEq = (Button)findViewById(R.id.btneq); btnOS = (Button)findViewById(R.id.btndata); btnNear = (Button)findViewById(R.id.btnnear); btnAbout = (Button)findViewById(R.id.btnabout); // SqLite database handler db = new SQLiteHandler(getApplicationContext()); // session manager session = new SessionManager(getApplicationContext()) ; if (!session.isLoggedIn()) { logoutUser(); } String email = session.getMail(); // Fetching user details from SQLite HashMap<String, String> user = db.getUserDetails(email);
http://digilib.mercubuana.ac.id/
String name = user.get("name"); String level = user.get("level"); // Displaying the user details on the screen txtName.setText(name); txtEmail.setText(email); if(level.equals("1")){ btnAdd.setVisibility(View.VISIBLE); }else { btnAdd.setVisibility(View.GONE); } // Logout button click event btnLogout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { logoutUser(); } }); btnAdd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(MainActivity.this, AddActivity.class); i.putExtra("update", false); startActivity(i); } }); btnAbout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, AboutActivity.class));
} }); btnOS.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, OSActivity.class)); } }); btnEq.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, EquipActivity.class)); } }); btnNear.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, MapsActivity.class)); } }); }
private void logoutUser() { session.setLogin(false, ""); // Launching the login activity Intent intent = new Intent(MainActivity.this, LoginActivity.class); startActivity(intent); finish();
http://digilib.mercubuana.ac.id/
} }
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
RegisterActivity.Java
setContentView(R.layout.activity_register );
package com.outdoor.aplikasi.activity; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.outdoor.aplikasi.R; import com.outdoor.aplikasi.helper.SQLiteHandl er; import com.outdoor.aplikasi.helper.SessionMana ger;
public class RegisterActivity extends Activity { private static final String TAG = RegisterActivity.class.getSimpleName(); private Button btnRegister; private Button btnLinkToLogin; private EditText inputFullName; private EditText inputEmail; private EditText inputPassword; private ProgressDialog pDialog; private SessionManager session; private SQLiteHandler db; @Override
inputFullName = (EditText) findViewById(R.id.name); inputEmail = (EditText) findViewById(R.id.email); inputPassword = (EditText) findViewById(R.id.password); btnRegister = (Button) findViewById(R.id.btnRegister); btnLinkToLogin = (Button) findViewById(R.id.btnLinkToLoginScreen); // Progress dialog pDialog = new ProgressDialog(this); pDialog.setCancelable(false); // Session manager session = new SessionManager(getApplicationContext()) ; // SQLite database handler db = new SQLiteHandler(getApplicationContext()); // Check if user is already logged in or not if (session.isLoggedIn()) { // User is already logged in. Take him to main activity Intent intent = new Intent(RegisterActivity.this, MainActivity.class); startActivity(intent);
http://digilib.mercubuana.ac.id/
finish();
}
}
});
// Register Button Click event btnRegister.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { String name = inputFullName.getText().toString().trim(); String email = inputEmail.getText().toString().trim(); String password = inputPassword.getText().toString().trim(); if (!name.isEmpty() && !email.isEmpty() && !password.isEmpty()) { registerUser(name, email, password); } else { Toast.makeText(getApplicationContext(), "Please enter your details!", Toast.LENGTH_LONG) .show(); } } });
} /** * Function to store user in MySQL database will post params(tag, name, * email, password) to register url * */ private void registerUser(final String name, final String email, final String password) { pDialog.setMessage("Register ..."); showDialog(); // Inserting row in users table db.addUser(name, email, password); pDialog.hide(); startActivity(new Intent(RegisterActivity.this, LoginActivity.class)); Toast.makeText(getApplicationContext(), "User successfully registered. Try login now!", Toast.LENGTH_SHORT).show(); } private void showDialog() { if (!pDialog.isShowing()) pDialog.show(); }
// Link to Login Screen btnLinkToLogin.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { Intent i = new Intent(getApplicationContext(), LoginActivity.class); startActivity(i); finish();
private void hideDialog() { if (pDialog.isShowing()) pDialog.dismiss(); } }
http://digilib.mercubuana.ac.id/
Login.Java package com.outdoor.aplikasi.activity; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.outdoor.aplikasi.R; import com.outdoor.aplikasi.helper.SQLiteHandl er; import com.outdoor.aplikasi.helper.SessionMana ger; public class LoginActivity extends Activity { private static final String TAG = RegisterActivity.class.getSimpleName(); private Button btnLogin; private Button btnLinkToRegister; private EditText inputEmail; private EditText inputPassword; private ProgressDialog pDialog; private SessionManager session; private SQLiteHandler db; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login);
inputEmail = (EditText) findViewById(R.id.email); inputPassword = (EditText) findViewById(R.id.password); btnLogin = (Button) findViewById(R.id.btnLogin); btnLinkToRegister = (Button) findViewById(R.id.btnLinkToRegisterScree n); // Progress dialog pDialog = new ProgressDialog(this); pDialog.setCancelable(false); // SQLite database handler db = new SQLiteHandler(getApplicationContext()); // Session manager session = new SessionManager(getApplicationContext()) ; // Check if user is already logged in or not if (session.isLoggedIn()) { // User is already logged in. Take him to main activity Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); finish(); } // Login button Click Event btnLogin.setOnClickListener(new View.OnClickListener() { public void onClick(View view) {
http://digilib.mercubuana.ac.id/
String email = inputEmail.getText().toString().trim(); String password = inputPassword.getText().toString().trim(); // Check for empty data in the form if (!email.isEmpty() && !password.isEmpty()) { // login user checkLogin(email, password); } else { // Prompt user to enter credentials Toast.makeText(getApplicationContext(), "Please enter the credentials!", Toast.LENGTH_LONG) .show(); } } });
/** * function to verify login details in mysql db * */ private void checkLogin(final String email, final String password) { pDialog.setMessage("Logging in ..."); showDialog(); boolean status = db.loginUser(email, password); if(status){ pDialog.hide(); session.setLogin(true, email); Intent i = new Intent(LoginActivity.this, MainActivity.class); startActivity(i); }else { pDialog.hide(); Toast.makeText(LoginActivity.this, "Wrong Email or Password", Toast.LENGTH_SHORT).show(); } }
// Link to Register Screen private void showDialog() { if (!pDialog.isShowing()) pDialog.show(); }
btnLinkToRegister.setOnClickListener(ne w View.OnClickListener() { public void onClick(View view) { Intent i = new Intent(getApplicationContext(), RegisterActivity.class); startActivity(i); finish(); } }); }
private void hideDialog() { if (pDialog.isShowing()) pDialog.dismiss(); } }
AddActivity.Java
http://digilib.mercubuana.ac.id/
package com.outdoor.aplikasi.activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivi ty; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.google.android.gms.common.Google PlayServicesNotAvailableException; import com.google.android.gms.common.Google PlayServicesRepairableException; import com.google.android.gms.location.places.P lace; import com.google.android.gms.location.places.u i.PlacePicker; import com.outdoor.aplikasi.R; import com.outdoor.aplikasi.helper.SQLiteHandl er; import com.outdoor.aplikasi.helper.SessionMana ger; public class AddActivity extends AppCompatActivity { private static final String TAG = AddActivity.class.getSimpleName(); private Button btnRegister; private EditText inputFullName;
private EditText inputAddress; private EditText inputPhone; private EditText inputLat, inputLong; private ProgressDialog pDialog; private SessionManager session; private SQLiteHandler db; private boolean isUpdate; private String getId, getName, getAddress, getPhone, getLat, getLng; private Button btPlacesAPI; private int PLACE_PICKER_REQUEST = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add); getSupportActionBar().setDisplayHomeAs UpEnabled(true); getSupportActionBar().setTitle(R.string.ad d_shop); getId = ""; getLat = getLng = "0"; inputFullName = (EditText) findViewById(R.id.name); inputAddress = (EditText) findViewById(R.id.address); inputPhone = (EditText) findViewById(R.id.phone); btnRegister = (Button) findViewById(R.id.btnRegister); btPlacesAPI = (Button) findViewById(R.id.btnPlace); inputLat = (EditText)findViewById(R.id.lat); inputLong =
http://digilib.mercubuana.ac.id/
(EditText)findViewById(R.id.lng); btPlacesAPI.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); try { startActivityForResult(builder.build(AddA ctivity.this), PLACE_PICKER_REQUEST); } catch (GooglePlayServicesRepairableException e) { e.printStackTrace(); } catch (GooglePlayServicesNotAvailableExceptio n e) { e.printStackTrace(); } } }); isUpdate=getIntent().getExtras().getBoole an("update"); if(isUpdate) { getId = getIntent().getExtras().getString("id"); getName=getIntent().getExtras().getStrin g("name"); getAddress=getIntent().getExtras().getStri ng("address"); getPhone=getIntent().getExtras().getStrin g("phone"); getLat =
getIntent().getExtras().getString("latitude "); getLng = getIntent().getExtras().getString("longitud e"); inputFullName.setText(getName); inputAddress.setText(getAddress); inputPhone.setText(getPhone); inputLat.setVisibility(View.VISIBLE); inputLong.setVisibility(View.VISIBLE); inputLat.setText(getLat); inputLong.setText(getLng); }
// Progress dialog pDialog = new ProgressDialog(this); pDialog.setCancelable(false); // Session manager session = new SessionManager(getApplicationContext()) ; // SQLite database handler db = new SQLiteHandler(getApplicationContext()); if (!session.isLoggedIn()) { Intent intent = new Intent(AddActivity.this, LoginActivity.class); startActivity(intent); finish(); } btnRegister.setOnClickListener(new View.OnClickListener() {
http://digilib.mercubuana.ac.id/
public void onClick(View view) { String name = inputFullName.getText().toString().trim(); String address = inputAddress.getText().toString().trim(); String phone = inputPhone.getText().toString().trim(); String latitude = inputLat.getText().toString().trim(); String longitude = inputLong.getText().toString().trim(); if (!name.isEmpty() && !address.isEmpty() && !phone.isEmpty()) { registerShop(name, address, phone, latitude, longitude, getId); } else { Toast.makeText(getApplicationContext(), "Please enter your details!", Toast.LENGTH_LONG) .show(); } } }); } public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == PLACE_PICKER_REQUEST) { if (resultCode == RESULT_OK) { Place place = PlacePicker.getPlace(data, this); inputLat.setVisibility(View.VISIBLE);
inputLong.setVisibility(View.VISIBLE); inputLat.setText(place.getLatLng().latitud e+""); inputLong.setText(place.getLatLng().longit ude+""); } } } private void registerShop(final String name, final String address, final String phone, final String latitude, final String longitude, final String getId) { pDialog.setMessage("Add ..."); showDialog(); // Inserting row in users table if(getId.equals("")){ db.addShop(name, address, phone, latitude, longitude);} else { db.editShop(name,address,phone,latitud e, longitude, getId); } hideDialog(); startActivity(new Intent(AddActivity.this, OSActivity.class)); Toast.makeText(getApplicationContext(), "Shop successfully aded!", Toast.LENGTH_SHORT).show(); } private void showDialog() { if (!pDialog.isShowing()) pDialog.show(); }
http://digilib.mercubuana.ac.id/
private void hideDialog() { if (pDialog.isShowing()) pDialog.dismiss(); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); break; default: break; } return true; } }
AddActivity.Java package com.outdoor.aplikasi.activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivi ty; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.google.android.gms.common.Google PlayServicesNotAvailableException; import
com.google.android.gms.common.Google PlayServicesRepairableException; import com.google.android.gms.location.places.P lace; import com.google.android.gms.location.places.u i.PlacePicker; import com.outdoor.aplikasi.R; import com.outdoor.aplikasi.helper.SQLiteHandl er; import com.outdoor.aplikasi.helper.SessionMana ger; public class AddActivity extends AppCompatActivity { private static final String TAG = AddActivity.class.getSimpleName(); private Button btnRegister; private EditText inputFullName; private EditText inputAddress; private EditText inputPhone; private EditText inputLat, inputLong; private ProgressDialog pDialog; private SessionManager session; private SQLiteHandler db; private boolean isUpdate; private String getId, getName, getAddress, getPhone, getLat, getLng; private Button btPlacesAPI; private int PLACE_PICKER_REQUEST = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
http://digilib.mercubuana.ac.id/
setContentView(R.layout.activity_add);
n e) { e.printStackTrace();
getSupportActionBar().setDisplayHomeAs UpEnabled(true);
} } });
getSupportActionBar().setTitle(R.string.ad d_shop); getId = ""; getLat = getLng = "0"; inputFullName = (EditText) findViewById(R.id.name); inputAddress = (EditText) findViewById(R.id.address); inputPhone = (EditText) findViewById(R.id.phone); btnRegister = (Button) findViewById(R.id.btnRegister); btPlacesAPI = (Button) findViewById(R.id.btnPlace); inputLat = (EditText)findViewById(R.id.lat); inputLong = (EditText)findViewById(R.id.lng); btPlacesAPI.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); try { startActivityForResult(builder.build(AddA ctivity.this), PLACE_PICKER_REQUEST); } catch (GooglePlayServicesRepairableException e) { e.printStackTrace(); } catch (GooglePlayServicesNotAvailableExceptio
isUpdate=getIntent().getExtras().getBoole an("update"); if(isUpdate) { getId = getIntent().getExtras().getString("id"); getName=getIntent().getExtras().getStrin g("name"); getAddress=getIntent().getExtras().getStri ng("address"); getPhone=getIntent().getExtras().getStrin g("phone"); getLat = getIntent().getExtras().getString("latitude "); getLng = getIntent().getExtras().getString("longitud e"); inputFullName.setText(getName); inputAddress.setText(getAddress); inputPhone.setText(getPhone); inputLat.setVisibility(View.VISIBLE); inputLong.setVisibility(View.VISIBLE); inputLat.setText(getLat); inputLong.setText(getLng); }
http://digilib.mercubuana.ac.id/
// Progress dialog pDialog = new ProgressDialog(this); pDialog.setCancelable(false); // Session manager session = new SessionManager(getApplicationContext()) ; // SQLite database handler db = new SQLiteHandler(getApplicationContext()); if (!session.isLoggedIn()) { Intent intent = new Intent(AddActivity.this, LoginActivity.class); startActivity(intent); finish(); } btnRegister.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { String name = inputFullName.getText().toString().trim(); String address = inputAddress.getText().toString().trim(); String phone = inputPhone.getText().toString().trim(); String latitude = inputLat.getText().toString().trim(); String longitude = inputLong.getText().toString().trim(); if (!name.isEmpty() && !address.isEmpty() && !phone.isEmpty()) { registerShop(name, address, phone, latitude, longitude, getId); } else {
Toast.makeText(getApplicationContext(), "Please enter your details!", Toast.LENGTH_LONG) .show(); } } }); } public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == PLACE_PICKER_REQUEST) { if (resultCode == RESULT_OK) { Place place = PlacePicker.getPlace(data, this); inputLat.setVisibility(View.VISIBLE); inputLong.setVisibility(View.VISIBLE); inputLat.setText(place.getLatLng().latitud e+""); inputLong.setText(place.getLatLng().longit ude+""); } } } private void registerShop(final String name, final String address, final String phone, final String latitude, final String longitude, final String getId) { pDialog.setMessage("Add ..."); showDialog();
http://digilib.mercubuana.ac.id/
// Inserting row in users table if(getId.equals("")){ db.addShop(name, address, phone, latitude, longitude);} else {
EquipActivity.Java
db.editShop(name,address,phone,latitud e, longitude, getId); } hideDialog(); startActivity(new Intent(AddActivity.this, OSActivity.class));
import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivi ty; import android.view.View; import android.widget.Button;
Toast.makeText(getApplicationContext(), "Shop successfully aded!", Toast.LENGTH_SHORT).show(); } private void showDialog() { if (!pDialog.isShowing()) pDialog.show(); } private void hideDialog() { if (pDialog.isShowing()) pDialog.dismiss(); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); break; default: break; } return true; } }
package com.outdoor.aplikasi.activity;
import com.outdoor.aplikasi.R; /** * Created by Riski on 16/11/2016. */ public class EquipActivity extends AppCompatActivity { Button btn1, btn2, btn3,btn4; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_eq); getSupportActionBar().setDisplayHomeAs UpEnabled(true); getSupportActionBar().setTitle(R.string.eq uipment); btn1 = (Button)findViewById(R.id.btn1); btn2 = (Button)findViewById(R.id.btn2); btn3 = (Button)findViewById(R.id.btn3); btn4 =
http://digilib.mercubuana.ac.id/
(Button)findViewById(R.id.btn4); // Action btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(getApplicationContext(), InfoActivity.class); i.putExtra("title","Road Equpment"); i.putExtra("info1", "Sepatu\n\n" + "-\tSepatu yang baik dapat melindungi tapak kaki sampai mata kaki (melindungi sendi kaki dan ujung jari kaki).\n" + "-\tTerbuat dari kulit tebal, tidak mudah sobek dan memberikan ruang gerak bagi kaki.\n" + "-\tKeras bagian depannya, untuk melindungi ujung jari kaki apabila terbentur benda pada batu-batu.\n" + "-\tBentuk sol bawah dapat menggigit ke segala arah dan cukup kaku.\n" + "-\t- Ada lubang ventilasi yang bersekat halus sehingga air dan udara dapat lewat untuk pernapasan kulit telapak kaki.\n"); i.putExtra("info2", "Kaus Kaki\n\n" + "-\tMenyerap keringat.\n" + "-\tMelindungi kulit kaki dari bagian pergesekan langsung dengan kulit sepatu.\n" + "-\tMenjaga agar telapak kaki tetep dapat bernafas.\n" + "-\tBahan kaus kaki terbuat
dari katun atau dicampur dengan wool atau bahan sintesis lain.\n" + "-\tHarus selalu dalam kondisi kering.\n" + "-\tMempersiapkan kaus kaki cadangan.\n" + "-\tMenjaga agar kaki tetap hangat pada daerah-daerah yang dingin.\n"); i.putExtra("info3", "Celana\n\n" + "-\tKuat, Lembut.\n" + "-\tRingan dan Praktis\n" + "-\tTidak menggangu gerakan kaki, artinya jahitannya cukup longgar.\n" + "-\tTerbuat dari bahan yang menyerap keringat.\n" + "-\tMudah kering, bila basah tidak menambah berat.\n" + "-\tBahan jeans sangat tidak dianjurkan karena selain berat dan kaku juga sukar kering jika basah.\n" + "-\tBahan jeans tidak dapat menahan hawa dingin yang ekstrim karena memiliki pori-pori yang sangat besar.\n"); i.putExtra("info4", "Baju\n\n" + "-\tMelindungi tubuh dari kondisi sekitar.\n" + "-\tKuat.& Ringan.\n" + "-\tTidak menggangu pergerakan.\n" + "-\tTerbuat dari bahan yang mudah menyerap keringat.\n" + "-\tPraktis dan mudah kering\n" + "-\tSebaiknya gunakan tangan panjang untuk menghindari goresan atau tertusuk duri.\n");
http://digilib.mercubuana.ac.id/
i.putExtra("info5", "Topi/(Pelindung Kepala)\n\n" + "-\tMelindungi kepala dari kemungkinan cedera akibat duri.\n" + "-\tMelindungi bagian kepala dari curahan air hujan terutama kepala bagian belakang.\n" + "-\tTopi yang digunakan haruslah kuat dan tidak mudah robek.\n" + "-\tDianjurkan untuk memakai topi rimba seperti topi TNI\n"); i.putExtra("info6","Sarung Tangan\n\n" + "-\tSebaiknya terbuat dari kulit.\n" + "-\tTidak kaku, artinya tidak menghalangi gerakan tangan.\n" + "-\tMelindungi tangan dari kemungkinan tertusuk duri, juga menghindari dari binatang-binatang kecil yang membuat gatal atau sakit.\n"); i.putExtra("info7","Ikat Pinggang\n\n" + "-\tPilihlah ikat pinggang yang terbuat dari bahan yang kuat \n" + "-\tKepala ikat pinggang tidak terlalu besar, karena akan menghalangi pergerakan. \n" + "-\tKegunaannya adalah menjaga agar celana tidak melorot dan mempermudah dalam meletakkan alat – alat yang perlu cepat dijangkau seperti pisau pinggang, tempat air minum. \n"); i.putExtra("info8", "Ransel\n\n" + "-\tRingan, sebisa mungkin tidak terlalu berat\n" + "-\tTerbuat dari bahan yang waterproof\n" +
"-\tKuat, tidak mudah sobek dalam membawa beban.\n" + "-\tSesuai dengan kebutuhan dan keadaan medan yang ditempuh.\n" + "-\tMemakai frame yang memiliki rangka, hal ini karena adanya ventilasi antara tubuh/punggung dengan ransel.\n" + "-\tPraktis, kantung-kantung tambahan serta pembagian ruangan.\n"); i.putExtra("info9","Peralatan Navigasi\n\n" + "-\tKompas, Peta, Penggaris, busur derajat, pensil, dan lain-lain.\n" + "-\tPeralatan navigasi ini merupakan peralatan sangat penting yang selalu harus dibawa.\n"); i.putExtra("info10","Lampu Senter\n\n" + "-\tLampu senter harus dibawa untuk menerangi ketika malam datang, selain itu harus juga dilengkapi dengan bola lampu dan baterai cadangan."); startActivity(i); } }); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(getApplicationContext(), InfoActivity2.class); i.putExtra("title","Cooking Equpment"); i.putExtra("info1", "Nesting / Alat Masak Lapangan\n\n" + "-\tNesting adalah panci set
http://digilib.mercubuana.ac.id/
yang biasa dipakai tentara, terdiri dari 3 set : dua buah panci dan satu piring yang dapat pula dipakai untuk menggoreng."); i.putExtra("info2", "Alat Pembuat Api / Bahan Bakar\n\n" + "-\tBahan bakar yang dapat digunakan antara lain lilin, spirtus, parafin, dan lainnnya.\n" + "-\tAlat-alat pembuat api merupakan hal yang sangat penting, mengingat fungsinya yang sangat vital,\n" + "-\tKarena cuaca digunung dingin dan lembab, pemantik api atau korek api harus selalu dijaga agar tetap dalam keadaan kering.\n" + "-\tParafin adalah bahan bakar padat yang biasa digunakan oleh tentara sebagai alat untuk memasak pada kondisi darurat.\n"); i.putExtra("info3", "Alat Bantu Makan\n\n" + "-\tAlat-alat pendukung kegiatan makan seperti sendok, garpu, pisau, gelas, piring dan sebagainya, sebaiknya memiliki bentuk yang tidak terlalu besar, ringan dan memiliki multifungsi.\n" + "-\tgelas, piring, dan sebagainya, material tidak mudah pecah\n"); startActivity(i); } }); btn3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(getApplicationContext(),
InfoActivity.class); i.putExtra("title","Sleep Equpment"); i.putExtra("info1", "1 Set pakaian tidur\n\n" + "-\tPakaian yang dapat memberikan rasa hangat, biasanya terbuat dari bahan wol.\n" + "-\tPakaian yang digunakan untuk tidur harus benar kering.\n" + "-\tPakaian tidur antara lain terdiri dari :\n" + "•\tPakaian tebal/hangat\n" + "•\tJaket\t\n" + "•\tCelana\n" + "•\tKaus kaki\n" + "•\tSarung\n" + "•\tMatras\n" + "•\tSarung tangan\n" + "•\tKupluk (balaklava)\n" + "•\tdan lain-lain.\n"); i.putExtra("info2", "Sleeping Bag\n\n" + "-\tSleeping bag adalah kantung tidur yang berfungsi untuk mempertahankan panas tubuh agar tetap terjaga.\n" + "-\tBahan yang digunakan hangat\n" + "-\tUkurannya tidak terlalu besar agar tidak menghabiskan tempat ketika di-packing.\n"); i.putExtra("info3", "Tenda / Ponco\n\n" + "-\tTenda, ponco, dan sebagainya berfungsi untuk menjaga tubuh dari kondisi alam."); startActivity(i); }
http://digilib.mercubuana.ac.id/
}); btn4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent i = new Intent(getApplicationContext(), InfoActivity2.class); i.putExtra("title","Additional Equpment"); i.putExtra("info1", "Medis Kit\n\n" + "-\tKotak medis\n" + "-\tBerisi alat –alat dan obat-obatan yang dibutuhkan\n"); i.putExtra("info2", "Kamera\n\n" + "-\tUntuk mendokumentasikan momen – momen\n" + "-\tSimpan ditempat yang mudah dijangkau dan tahan benturan\n\n"); i.putExtra("info3", "Jam Tangan\n\n" + "-\tPenunjuk waktu\n" + "-\tAdapun sekaligus dengan gps dan altimeter\n"); startActivity(i); } }); } }
NearbyActivity.Java package com.outdoor.aplikasi.activity; import android.app.Dialog;
import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.ViewTreeObserver; import android.view.ViewTreeObserver.OnGloba lLayoutListener; import android.widget.RelativeLayout; import android.widget.Toast; import com.google.android.gms.common.Conne ctionResult; import com.google.android.gms.common.Google PlayServicesUtil; import com.google.android.gms.maps.CameraUp dateFactory; import com.google.android.gms.maps.GoogleMa p; import com.google.android.gms.maps.GoogleMa p.OnInfoWindowClickListener; import com.google.android.gms.maps.SupportM apFragment; import com.google.android.gms.maps.model.Bit mapDescriptorFactory; import com.google.android.gms.maps.model.Lat Lng; import com.google.android.gms.maps.model.Lat LngBounds; import com.google.android.gms.maps.model.Lat LngBounds.Builder;
http://digilib.mercubuana.ac.id/
import com.google.android.gms.maps.model.Ma rker; import com.google.android.gms.maps.model.Ma rkerOptions; import com.outdoor.aplikasi.R; import com.outdoor.aplikasi.app.LatLngBean; import java.util.ArrayList; import java.util.HashMap; public class NearbyActivity extends FragmentActivity { private GoogleMap googleMap; private ArrayList
listLatLng; private RelativeLayout rlMapLayout; HashMap<Marker,LatLngBean> hashMapMarker = new HashMap<>();
bean.setSnippet("Hello,Ahmedabad"); bean.setLatitude("23.0300"); bean.setLongitude("72.5800"); arrayList.add(bean); LatLngBean bean1=new LatLngBean(); bean1.setTitle("Surat"); bean1.setSnippet("Hello,Surat"); bean1.setLatitude("21.1700"); bean1.setLongitude("72.8300"); arrayList.add(bean1); LatLngBean bean2=new LatLngBean(); bean2.setTitle("Vadodara"); bean2.setSnippet("Hello,Vadodara"); bean2.setLatitude("22.3000"); bean2.setLongitude("73.2000"); arrayList.add(bean2); LoadingGoogleMap(arrayList);
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.nearby); // rlMapLayout=(RelativeLayout) findViewById(R.id.rlMapLayout); setUpMapIfNeeded(); setData(); } private void setData() { ArrayList arrayList= new ArrayList<>(); LatLngBean bean=new LatLngBean(); bean.setTitle("Ahmedabad");
}
private void setUpMapIfNeeded() { int status = GooglePlayServicesUtil.isGooglePlayServic esAvailable(getBaseContext()); if(status!=ConnectionResult.SUCCESS) { int requestCode = 10; Dialog dialog = GooglePlayServicesUtil.getErrorDialog(sta tus, this, requestCode); dialog.show(); }
http://digilib.mercubuana.ac.id/
else { if (googleMap == null) { googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragm entById(R.id.map)).getMap(); if (googleMap != null) { googleMap.setMapType(GoogleMap.MAP _TYPE_NORMAL); //googleMap.setMyLocationEnabled(true ); googleMap.getUiSettings().setMyLocation ButtonEnabled(true); googleMap.getUiSettings().setZoomContr olsEnabled(true); } } } } void LoadingGoogleMap(ArrayList arrayList) { if (googleMap != null) { googleMap.clear(); googleMap.getUiSettings().setMyLocation ButtonEnabled(true); // googleMap.setMyLocationEnabled(true);
googleMap.getUiSettings().setZoomContr olsEnabled(true); if(arrayList.size()>0) { try { listLatLng=new ArrayList(); for (int i = 0; i < arrayList.size(); i++) { LatLngBean bean=arrayList.get(i); if(bean.getLatitude().length()>0 && bean.getLongitude().length()>0) { double lat= Double.parseDouble(bean.getLatitude()); double lon= Double.parseDouble(bean.getLongitude()) ; Marker marker = googleMap.addMarker(new MarkerOptions() .position(new LatLng(lat,lon)) .title(bean.getTitle()) .snippet(bean.getSnippet()) .icon(BitmapDescriptorFactory.defaultMa rker(BitmapDescriptorFactory.HUE_RED))) ;
hashMapMarker.put(marker,bean); LatLng object=new
http://digilib.mercubuana.ac.id/
LatLng(lat, lon); listLatLng.add(object); } } SetZoomlevel(listLatLng); } catch (NumberFormatException e)
public void SetZoomlevel(ArrayList listLatLng) { if (listLatLng != null && listLatLng.size() == 1) {
{ e.printStackTrace(); }
googleMap.setOnInfoWindowClickListene r(new OnInfoWindowClickListener() { @Override public void onInfoWindowClick(Marker position) { LatLngBean bean=hashMapMarker.get(position); Toast.makeText(getApplicationContext(), bean.getTitle(), Toast.LENGTH_SHORT).show();
googleMap.moveCamera(CameraUpdateF actory.newLatLngZoom(listLatLng.get(0), 10)); } else if (listLatLng != null && listLatLng.size() > 1) { final Builder builder = LatLngBounds.builder(); for (int i = 0; i < listLatLng.size(); i++) { builder.include(listLatLng.get(i)); } final ViewTreeObserver treeObserver = rlMapLayout.getViewTreeObserver();
} });
treeObserver.addOnGlobalLayoutListener (new OnGlobalLayoutListener() {
} } else { Toast.makeText(getApplicationContext()," Sorry! unable to create maps", Toast.LENGTH_SHORT).show(); } }
@SuppressWarnings("deprecation") @Override public void onGlobalLayout() { if(googleMap != null){ googleMap.moveCamera(CameraUpdateF actory.newLatLngBounds(builder.build(),
http://digilib.mercubuana.ac.id/
findViewById(R.id.map) .getWidth(), findViewById(R.id.map).getHeight(), 80)); rlMapLayout.getViewTreeObserver().rem oveGlobalOnLayoutListener(this); } } }); } } }
InfoActivity.Java package com.outdoor.aplikasi.activity; import android.os.Bundle; import android.support.v7.app.AppCompatActivi ty; import android.view.MenuItem; import android.widget.ImageView; import android.widget.TextView; import com.outdoor.aplikasi.R;
public class InfoActivity extends AppCompatActivity{ TextView teks1, teks2, teks3, teks4, teks5, teks6, teks7, teks8, teks9, teks10; String title, info1, info2, info3, info4, info5, info6, info7, info8, info9, info10; ImageView gambar1, gambar2, gambar3, gambar4, gambar5, gambar6, gambar7, gambar8, gambar9, gambar10; @Override protected void onCreate(Bundle
savedInstanceState) { super.onCreate(savedInstanceState); getSupportActionBar().setDisplayHomeAs UpEnabled(true); title = getIntent().getExtras().getString("title"); info1 =getIntent().getExtras().getString("info1") ; info2 =getIntent().getExtras().getString("info2") ; info3 =getIntent().getExtras().getString("info3") ; info4 =getIntent().getExtras().getString("info4") ; info5 =getIntent().getExtras().getString("info5") ; info6 =getIntent().getExtras().getString("info6") ; info7 =getIntent().getExtras().getString("info7") ; info8 =getIntent().getExtras().getString("info8") ; info9 =getIntent().getExtras().getString("info9") ; info10 =getIntent().getExtras().getString("info10" ); getSupportActionBar().setTitle(title);
http://digilib.mercubuana.ac.id/
setContentView(R.layout.activity_teks); gambar1 = (ImageView)findViewById(R.id.gambar1); gambar2 = (ImageView)findViewById(R.id.gambar2); gambar3 = (ImageView)findViewById(R.id.gambar3); gambar4 = (ImageView)findViewById(R.id.gambar4); gambar5 = (ImageView)findViewById(R.id.gambar5); gambar6 = (ImageView)findViewById(R.id.gambar6); gambar7 = (ImageView)findViewById(R.id.gambar7); gambar8 = (ImageView)findViewById(R.id.gambar8); gambar9 = (ImageView)findViewById(R.id.gambar9); gambar10 = (ImageView)findViewById(R.id.gambar10) ; teks1 = (TextView)findViewById(R.id.teks1); teks2 = (TextView)findViewById(R.id.teks2); teks3 = (TextView)findViewById(R.id.teks3); teks4 = (TextView)findViewById(R.id.teks4); teks5 = (TextView)findViewById(R.id.teks5); teks6 = (TextView)findViewById(R.id.teks6); teks7 = (TextView)findViewById(R.id.teks7);
teks8 = (TextView)findViewById(R.id.teks8); teks9 = (TextView)findViewById(R.id.teks9); teks10 = (TextView)findViewById(R.id.teks10); if (teks1 != null) { gambar1.setImageResource(R.drawable.s epatu); teks1.setText(info1); gambar2.setImageResource(R.drawable.k aoskaki); teks2.setText(info2); gambar3.setImageResource(R.drawable.c elana); teks3.setText(info3); gambar4.setImageResource(R.drawable.b aju); teks4.setText(info4);
gambar5.setImageResource(R.drawable.t opi); teks5.setText(info5); gambar6.setImageResource(R.drawable.s arungtangan); teks6.setText(info6); gambar7.setImageResource(R.drawable.i katpinggang); teks7.setText(info7); gambar8.setImageResource(R.drawable.r ansel);
http://digilib.mercubuana.ac.id/
teks8.setText(info8); gambar9.setImageResource(R.drawable.k ompas); teks9.setText(info9); gambar10.setImageResource(R.drawable. senter); teks10.setText(info10); } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); break; default: break; } return true; } }
public class InfoActivity2 extends AppCompatActivity{ TextView teks1, teks2, teks3; String title, info1, info2, info3; ImageView gambar1, gambar2, gambar3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getSupportActionBar().setDisplayHomeAs UpEnabled(true); title = getIntent().getExtras().getString("title"); info1 =getIntent().getExtras().getString("info1") ; info2 =getIntent().getExtras().getString("info2") ; info3 =getIntent().getExtras().getString("info3") ; getSupportActionBar().setTitle(title);
InfoActivity2.Java package com.outdoor.aplikasi.activity; import android.os.Bundle; import android.support.v7.app.AppCompatActivi ty; import android.view.MenuItem; import android.widget.ImageView; import android.widget.TextView; import com.outdoor.aplikasi.R;
setContentView(R.layout.activity_teks2); teks1 = (TextView)findViewById(R.id.teks1); teks2 = (TextView)findViewById(R.id.teks2); teks3 = (TextView)findViewById(R.id.teks3); gambar1 = (ImageView)findViewById(R.id.gambar1); gambar2 = (ImageView)findViewById(R.id.gambar2);
http://digilib.mercubuana.ac.id/
gambar3 = (ImageView)findViewById(R.id.gambar3); if (teks1 != null) { teks1.setText(info1); teks2.setText(info2); teks3.setText(info3); if(title.equals("Cooking Equpment")){ gambar1.setImageResource(R.drawable.a latmasak); }else if(title.equals("Sleep Equpment")){ gambar2.setImageResource(R.drawable.sl eepingbag); gambar3.setImageResource(R.drawable.t enda); }else if(title.equals("Additional Equpment")){ gambar1.setImageResource(R.drawable. mediskit); gambar2.setImageResource(R.drawable.c amera); gambar3.setImageResource(R.drawable.j am); } } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed();
break; default: break; } return true; } }
OSActivity.Java package com.outdoor.aplikasi.activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v4.view.MenuItemComp at; import android.support.v7.app.AppCompatActivi ty; import android.support.v7.widget.SearchView; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.Toast; import com.outdoor.aplikasi.R; import com.outdoor.aplikasi.app.DisplayAdapter; import com.outdoor.aplikasi.helper.SQLiteHandl
http://digilib.mercubuana.ac.id/
er; import com.outdoor.aplikasi.helper.SessionMana ger; import java.util.ArrayList; import java.util.HashMap; public class OSActivity extends AppCompatActivity { private SQLiteHandler db; private SQLiteDatabase dataBase; private SessionManager session; private ArrayList<String> shopId = new ArrayList<>(); private ArrayList<String> shopName = new ArrayList<>(); private ArrayList<String> shopAddress = new ArrayList<>(); private ArrayList<String> shopPhone = new ArrayList<>(); private ArrayList<String> shopLat = new ArrayList<>(); private ArrayList<String> shopLng = new ArrayList<>(); private ListView shopList;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); getSupportActionBar().setDisplayHomeAs UpEnabled(true); getSupportActionBar().setTitle(R.string.ou
tdoor_shop); shopList = (ListView) findViewById(R.id.list); // session manager db = new SQLiteHandler(getApplicationContext()); session = new SessionManager(getApplicationContext()) ; String email = session.getMail(); // Fetching user details from SQLite HashMap<String, String> user = db.getUserDetails(email); String level = user.get("level"); displayData(""); if (level.equals("1")) { shopList.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView> arg0, View arg1, int arg2, long arg3) { Intent i = new Intent(getApplicationContext(), AddActivity.class); i.putExtra("id", shopId.get(arg2)); i.putExtra("name", shopName.get(arg2)); i.putExtra("address", shopAddress.get(arg2)); i.putExtra("phone", shopPhone.get(arg2)); i.putExtra("latitude", shopLat.get(arg2)); i.putExtra("longitude", shopLng.get(arg2)); i.putExtra("update", true);
http://digilib.mercubuana.ac.id/
startActivity(i);
build.setNegativeButton("No", new DialogInterface.OnClickListener() {
} }); //long click to delete data shopList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { public boolean onItemLongClick(AdapterView> arg0, View arg1, final int arg2, long arg3) { AlertDialog.Builder build = new AlertDialog.Builder(OSActivity.this); build.setTitle("Delete " + shopName.get(arg2)); build.setMessage("Sure to delete?"); build.setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), shopName.get(arg2) + " is deleted.", Toast.LENGTH_SHORT).show(); db.delShop(shopId.get(arg2)); displayData(""); dialog.cancel(); } });
public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); AlertDialog alert = build.create(); alert.show(); return true; } }); } } private void displayData(String q) { dataBase = db.getWritableDatabase(); Cursor mCursor; if(q.equals("")) { mCursor = dataBase.rawQuery("SELECT * FROM " + SQLiteHandler.TABLE_SHOP + " ORDER BY id DESC", null); }else{ mCursor = dataBase.rawQuery("SELECT * FROM "+ SQLiteHandler.TABLE_SHOP+" WHERE "+ SQLiteHandler.KEY_NAME+ " LIKE '%"+q+"%'"+" OR "+ SQLiteHandler.KEY_ADDRESS+ " LIKE '%"+q+"%'",null); } if(mCursor.getCount()>0) { shopId.clear(); shopName.clear();
http://digilib.mercubuana.ac.id/
shopAddress.clear(); shopPhone.clear(); if (mCursor.moveToFirst()) { do { shopId.add(mCursor.getString(mCursor.g etColumnIndex(SQLiteHandler.KEY_ID))); shopName.add(mCursor.getString(mCurs or.getColumnIndex(SQLiteHandler.KEY_N AME))); shopAddress.add(mCursor.getString(mCu rsor.getColumnIndex(SQLiteHandler.KEY_ ADDRESS))); shopPhone.add(mCursor.getString(mCurs or.getColumnIndex(SQLiteHandler.KEY_P HONE))); shopLat.add(mCursor.getString(mCursor. getColumnIndex(SQLiteHandler.KEY_LAT) )); shopLng.add(mCursor.getString(mCursor. getColumnIndex(SQLiteHandler.KEY_LON G))); } while (mCursor.moveToNext()); } DisplayAdapter disadpt = new DisplayAdapter(OSActivity.this, shopName, shopAddress, shopPhone); shopList.setAdapter(disadpt); mCursor.close(); }else{ Toast.makeText(OSActivity.this, R.string.no_result, Toast.LENGTH_SHORT).show(); }
} @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_s earch, menu); MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchI tem); searchView.setOnQueryTextFocusChange Listener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { } });
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String searchQuery) { displayData(searchQuery); return true; }
http://digilib.mercubuana.ac.id/
}); //noinspection SimplifiableIfStatement if (id == R.id.action_search) { MenuItemCompat.setOnActionExpandList ener(searchItem, new MenuItemCompat.OnActionExpandListen er() { @Override public boolean onMenuItemActionCollapse(MenuItem item) { // Do something when collapsed return true; // Return true to collapse action view }
return true; } return super.onOptionsItemSelected(item); } }
AboutActivity.Java package com.outdoor.aplikasi.activity;
@Override public boolean onMenuItemActionExpand(MenuItem item) { // Do something when expanded return true; // Return true to expand action view } }); return true; }
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml.
import android.os.Bundle; import android.support.v7.app.AppCompatActivi ty; import android.view.MenuItem; import android.widget.TextView; import com.outdoor.aplikasi.R; /** * Created by Riski on 15/11/2016. */ public class AboutActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getSupportActionBar().setDisplayHomeAs UpEnabled(true);
int id = item.getItemId();
http://digilib.mercubuana.ac.id/
getSupportActionBar().setTitle(R.string.ab out); setContentView(R.layout.activity_about); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); break; default: break; } return true; } }
http://digilib.mercubuana.ac.id/
http://digilib.mercubuana.ac.id/
LAPORAN HASIL WAWANCARA I.
Latar Belakang Puji syukur atas kehadirat Tuhan Yang Maha Esa, karena berkat rahmat dan hidayah-Nya sehingga saya selaku mahasiswa dari Universitas Mercu Buana, telah melaksanakan kegiatan ini dengan lancar dan sebagai mana mestinya. Kegiatan wawancara ini merupakan salah satu persyaratan dalam menyusun tugas akhir yang bertujuan untuk memperoleh informasi dari narasumber. saya memilih topik “Toko Perlengkapan Pendaki Gunung” oleh karena itu saya mewawancarai kepala toko Tandike Indonesia di jl cileduk raya no.2, seskoal, Cipulir, Kebayoran Lama, Jakarta 12330, Indonesia.
II.
III.
Maksud Dan Tujuan 1. Memenuhi persyaratan tugas akhir 2. Memahami dan menguasai kegiatan wawancara. 3. Memperoleh informasi. Topik Wawancara Perusahaan peralatan pendaki gunung.
IV. Waktu dan Tempat Kegiatan Acara ini dilaksanakan pada: Hari / Tanggal : Kamis, 20-10-2016. Pukul : 13.00 WIB s/d selesai. Tempat : Tandike Outdoor Equipment. IV.
Laporan Hasil Wawancara Narasumber : Syarif Abdulloh Pewawancara : Riski Iskandar
http://digilib.mercubuana.ac.id/
HASIL WAWANCARA Pada hari kamis, 20-10-2016, pukul 13:00 saya datang ke perusahaan Tandike Outdoor Equipment. Kesan pertama saya datang ke tempat ini adalah suasana yang nyaman, sejuk, bersih dan tertata rapi. Tentu saja saya langsung bertemu dengan kepala toko, yang bernama Bpk. Syarif Abdulloh dan meminta izin untuk mewawancarainya. Narasumber ini bersikap ramah kepada saya. Pertanyaan pembuka:
1. Selamat Siang, Pak ! Dalam bidang bisnis apakah Tandike Outdoor Equipment bergerak ? Siang, Tandike Outdoor Equipment menjual perlengkapan bagi para penggiat kegiatan alam terbuka seperti camping, climbing, mountaineering, caving, dan juga menyediakan segala perlengkapan untuk professional, safety dan rescue. Pertanyaan isi:
1. Dapatkah anda jelaskan mengenai sejarah dan latar belakang Tandike Outdoor Equipment! Kapan didirikan? Nama Tandike diambil dari nama sebuah gunung yang berada di Provinsi Sumatera Barat, yaitu gunung Tandikek (2.430m dpl), yang letaknya kurang lebih 85 km dari kota Padang, ibukota Provinsi Sumatera Barat. Tandike Outdoor Equipment telah berdiri sejak tahun 1996 dengan outlet pertama yang berlokasi di Jalan Letjen Suprapto, Jakarta Pusat. 2. Saat ini Tandike telah mempunyai berapa outlet?
http://digilib.mercubuana.ac.id/
Tandike telah mempunyai outlet sebanyak 4 buah yang tiga diantaranya berada di Jabotabek dan satu lagi berada di Padang, Sumatera Barat.
3. Apa keunggulan yang dimiliki oleh Tandike Outdoor Equipment? Keunggulan yang dimiliki oleh Tandike adalah dari kelengkapan ketersediaan produk dan menjadi distributor resmi deuter. 4. Perlengkapan apa saja yang bisa didapatkan di Tandike Outdoor Equipment? Perlengkapan yang bisa didapatkan di Tandike mulai dari segala macam tas, tenda, sleeping bag, matras, kompor, helmets, carabiners, ascenders, descenders, pulleys, slings, quickdraws, maillons, ice axe, pitons, trekking shoes, climbing shoes, headlamps, harnesses, static ropes, dynamic ropes, cooking sets, outdoor bottles, dll. 5. Apakah tujuan dari dirikannya Tandike Outdoor Equipment? Mendapatkan keuntungan, memproduksi barang untuk kebutuhan konsumen, mempertahankan kelangsungan perusahaan, dan menyediakan lapangan pekerjaan. 6. Siapa sajakah pelanggan dari Tandike Outdoor Equipment? para penggiat kegiatan alam terbuka seperti camping, climbing, mountaineering, caving, dan juga menyediakan segala perlengkapan untuk professional, safety dan rescue.
7. Berapa omset penjualan perbulan pada Tandike Outdoor Equipment? Kurang lebih sekitar 200 jt perbulan.
http://digilib.mercubuana.ac.id/
8. Bagaimana cara anda meningkatkan omset pada Tandike Outdoor Equipment? Mengutamakan kualitas produk, memberi pelayanan baik kepada pelanggan, melakukan promosi secara efektif dengan menjual lebih banyak kepada pelanggan, menambah outlet di berbagai daerah dengan tujuan target pasar baru dan mendapat pelanggan baru, dan mengadakan diskon produk dan penawaran khusus 9. Berapa biaya operasional dalam satu bulan pada Tandike Outdoor Equipment? Kurang lebih sekitar 50 jt perbulan. 10. Menurut anda, apa yang dapat menjadi alasan dari pelanggan tersebut untuk memilih Tandike Outdoor Equipment dibanding dengan outlet lain / pesaing? Dengan memberikan harga terbaik (Best Price) karena kami salah satu distributor resmi dan lebih banyaknya pilihan produk yang dijual. 11. Strategi-strategi apa saja yang digunakan dan diterapkan perusahaan saat ini, terkait dengan kegiatan bisnis yang dijalankan? Dengan membuka toko baru di berbagai kota besar di Indonesia, menawarkan kualitas produk yang lebih baik pada harga yang bersaing, dan meningkatkan akses pada teknologi baru. 12. Masalah-masalah kritis apa yang di hadapi oleh Tandike Outdoor Equipment saat ini? Pesaing adalah salah satu masalah terbesar dalam Tandike Outdoor Equipment.
http://digilib.mercubuana.ac.id/
13. Fungsi bisnis yang ada dan berjalan dalam Tandike Outdoor Equipment saat ini? Untuk menyalurkan barang yang sudah jadi ketangan konsumen. 14. Menurut
anda,
Faktor-faktor
kritis
apa
saja
yang
dapat
mempengaruhi keberhasilan Tandike Outdoor Equipment dalam bisnis ini? Dengan bekerja keras, kerjasama dengan orang lain, dan berambisi untuk maju. 15. Faktor-faktor eksternal apa saja yang mempengaruhi Tandike Outdoor Equipment dalam bisnis ini? Faktor eksternal yang mempengaruhi Tandike Outdoor Equipment pelaku bisnis baru, supplier, konsumen, produk, dan para pesaing
16. Apakah Tandike Outdoor Equipment memiliki hubungan kerjasama dengan pihak lain seperti rekanan dan pamasok, yang dapat mendukung kegiatan bisnis perusahaan? Tandike didukung oleh merek-merek terkenal dunia seperti dari perancis, itali, jerman, swedia, dll. Selain itu Tandike juga menjalin kerjasama dengan beberapa toko outdoor yang tersebar dibeberapa kota besar diseluruh Indonesia. 17. Siapa saja pesaing-pesaing bisnis yang ada dan dihadapi oleh toko anda saat ini ? Pesaing bisnis adalah toko outdoor online, dan distributor resmi perlengkapan outdoor
http://digilib.mercubuana.ac.id/
18. Apakah Tandike Outdoor Equipment ini sudah memiliki dan menerapkan sebuah sistem informasi? Tandike Outdoor Equipment ini sudah memiliki dan menerapkan sistem informasi. 19. Informasi apa saja yang dibutuhkan oleh Tandike Outdoor Equipment terkait dengan kegiatan bisnis yang ada ? Informasi tentang bentuk persaingan. Misalnya, perkiraan tentang prilaku pesaing dalam memasarkan, mempromosikan, dan menjual produknya. 20. Apakah Tandike Outdoor Equipment sudah cukup menyadari tentang perkembangan teknologi yang terjadi saat ini? Tandike Outdoor Equipment ini sudah mempunyai website yaitu www.tandike.com untuk memesan barang secara online. Pertanyaan penutup:
1.
Terima kasih sudah bersedia di wawancara oleh saya dan maaf sudah mengganggu aktivitas bapak ? Iya, tidak apa-apa.
V.
Penutup A. Kesimpulan Tandike Outdoor Equipment merupakan perusahaan yang bergerak dibidang pengadaan perlengkapan bagi para penggiat kegiatan alam terbuka seperti camping, climbing, mountaineering, caving, dan juga menyediakan segala perlengkapan untuk professional, safety dan rescue. B. Saran
http://digilib.mercubuana.ac.id/
Tandike Outdoor Equipment harus memahami perkembangan teknologi informasi dalam bidang bisnis. Dengan adanya perkembangan teknologi informasi sangat membantu Tandike Outdoor Equipment untuk melakukan aktivitas jual beli selama 24 jam, tidak seperti toko offline yang segala aktivitasnya sangat dibatasi oleh ruang dan waktu. Demikianlah laporan hasil kegiatan wawancara ini saya buat dengan yang sebenar-benarnya. Ucapan terima kasih tertuju kepada Tuhan Yang Maha Esa, yang telah memberikan kemudahan kepada saya sehingga terlaksananya wawancara ini. Dengan terlaksananya kegiatan wawancara ini, maka saya berharap telah memenuhi persyaratan untuk tugas akhir. Mohon maaf sebesar-besarnya apabila terdapat kesalahan serta kekurangan dalam laporan hasil wawancara ini.
http://digilib.mercubuana.ac.id/
http://digilib.mercubuana.ac.id/