Anda di halaman 1dari 12

LAPORAN PRAKTIKUM 3

Pemrograman Mobile II

Oleh :
Nama : Aditiya Nur Syarifudin
NIM : 16.5.00064
Program Studi : S1 – Teknik Informatika

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER


SINAR NUSANTARA
SURAKARTA
2018
LANGKAH LANGKAH
A. Latihan 1
1. Buat projek baru dengan nama LatihanCreateDB
2. Pada activity_main.xml buat tampilan seperti berikut :

3. Pada MainActivity.java buat coding seperti berikut :


package com.aditiya.latihancreatedb;

import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

TextView tv2 = (TextView) findViewById(R.id.textView2);

String storagePath =
Environment.getExternalStorageDirectory().getPath() + "/DBSinus";

SQLiteDatabase db = openOrCreateDatabase(storagePath,
MODE_PRIVATE, null);

db.execSQL("DROP TABLE IF EXISTS mhs;");


db.execSQL("CREATE TABLE mhs(nim VARCHAR(10), name
VARCHAR(15), kota VARCHAR(15));");
db.execSQL("INSERT INTO mhs
VALUES('135.001','aditiya','Kartasura');");
db.execSQL("INSERT INTO mhs VALUES('146.003','nur','Solo');");
db.execSQL("INSERT INTO mhs
VALUES('176.002','syarifudin','Surakarta');");

Cursor c = db.rawQuery("SELECT * FROM mhs", null);


c.moveToFirst();

while (c.isAfterLast() == false){


tv2.append("\n"+ c.getString(0)+" - "+c.getString(1)+" -
"+c.getString(2));
c.moveToNext();
}

c.close();
db.close();
}

4. Tambahkan coding berikut ke AndroidManifest.xml :


<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

5. Jika dijalankan hasilnya akan sebagai berikut :

B. Latihan 2
1. Buat Projek baru dan beri nama AppInventory
2. Buat file java baru didalam package beri nama DBHelper lalu buat coding nya seperti
berikut :
package com.aditiya.appinventory;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {

public static final String TABLE_NAME = "data_inventori";


public static final String COLUMN_ID = "_id";
public static final String COLUMN_NAMA = "nama_barang";
public static final String COLUMN_MERK = "merk_barang";
public static final String COLUMN_HARGA = "harga_barang";
private static final String db_name = "inventori.db";
private static final int db_version=1;

private static final String db_create = "Create table "


+TABLE_NAME+"("
+COLUMN_ID+ " integer primary key autoincrement,"
+COLUMN_NAMA+" varchar(50) not null,"
+COLUMN_MERK+" varchar(50) not null,"
+COLUMN_HARGA+" varchar(50) not null);";

public DBHelper(Context context){


super(context, db_name, null, db_version);
}

@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(db_create);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS "+ TABLE_NAME);
onCreate(db);
}

3. Buat file java baru lagi beri nama Barang.java lalu buat coding seperti berikut :
package com.aditiya.appinventory;

public class Barang {


private long id;
private String nama_barang;
private String merk_barang;
private String harga_barang;

public Barang(){
}

public long getId() {


return id;
}
public void setId(long id) {
this.id = id;
}
public String getNama_barang() {
return nama_barang;
}
public void setNama_barang(String nama_barang) {
this.nama_barang = nama_barang;
}
public String getMerk_barang() {
return merk_barang;
}
public void setMerk_barang(String merk_barang) {
this.merk_barang = merk_barang;
}
public String getHarga_barang() {
return harga_barang;
}
public void setHarga_barang(String harga_barang) {
this.harga_barang = harga_barang;
}

@Override
public String toString(){
return Long.toString(id) + " " + nama_barang +" "+
merk_barang +" "+harga_barang;
}

4. Buat file java lagi beri nama DBDataSource lalu buat coding seperti berikut :
package com.aditiya.appinventory;

import java.util.ArrayList;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
public class DBDataSource {

private SQLiteDatabase database;


private DBHelper dbHelper;
private String[] allcolumns = {DBHelper.COLUMN_ID,
DBHelper.COLUMN_NAMA, DBHelper.COLUMN_MERK, DBHelper.COLUMN_HARGA};

public DBDataSource(Context context){


dbHelper = new DBHelper(context);
}

public void open() throws SQLException{


database = dbHelper.getWritableDatabase();
}

public void close(){


dbHelper.close();
}

public Barang createBarang(String nama, String merk, String


harga){

ContentValues values = new ContentValues();


values.put(DBHelper.COLUMN_NAMA, nama);
values.put(DBHelper.COLUMN_MERK, merk);
values.put(DBHelper.COLUMN_HARGA, harga);

long insertId = database.insert(DBHelper.TABLE_NAME, null,


values);

Cursor cursor = database.query(DBHelper.TABLE_NAME,


allcolumns, DBHelper.COLUMN_ID +" = "+insertId,
null, null, null, null);

cursor.moveToFirst();

Barang newBarang = cursorToBarang(cursor);

cursor.close();

return newBarang;

private Barang cursorToBarang(Cursor cursor) {


// TODO Auto-generated method stub
Barang barang = new Barang();

barang.setId(cursor.getLong(0));
barang.setNama_barang(cursor.getString(1));
barang.setMerk_barang(cursor.getString(2));
barang.setHarga_barang(cursor.getString(3));

return barang;
}

public ArrayList<Barang> getAllBarang(){


ArrayList<Barang> daftarBarang = new ArrayList<Barang>();

Cursor cursor = database.query(DBHelper.TABLE_NAME,


allcolumns, null, null, null, null, null);

cursor.moveToFirst();

while (!cursor.isAfterLast()) {
Barang barang = cursorToBarang(cursor);
daftarBarang.add(barang);
cursor.moveToNext();
}

cursor.close();
return daftarBarang;
}
}

5. Hapus file MainActivity.java lalu buat file Menu.java kemudian buat codingnya
seperti berikut :
package com.aditiya.appinventory;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Menu extends Activity implements OnClickListener {

private Button bTambah;


private Button bLihat;

@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);

bTambah = (Button) findViewById(R.id.button_tambah);


bTambah.setOnClickListener(this);
bLihat = (Button) findViewById(R.id.button_view);
bLihat.setOnClickListener(this);
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button_tambah :
Intent i = new Intent(this, CreateData.class);
startActivity(i);
break;
case R.id.button_view :
Intent i2 = new Intent(this, ViewData.class);
startActivity(i2);
break;
}

6. Hapus juga file activity_main.xml lalu buat lagi dan beri nama menu.xml kemudian
buat tampilanna seperti berikut :

7. Buat layout baru lagi dan beri nama create_data.xml lalu buat coding nya seperti
berikut :

8. Buat file java baru lagi dan beri nama CreateData.java lalu buat coding nya seperti
berikut :
package com.aditiya.appinventory;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class CreateData extends Activity implements OnClickListener


{

private Button buttonSubmit;


private EditText edNama;
private EditText edMerk;
private EditText edHarga;

private DBDataSource dataSource;

@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.create_data);

buttonSubmit = (Button) findViewById(R.id.button_submit);


buttonSubmit.setOnClickListener(this);
edNama = (EditText) findViewById(R.id.nama_barang);
edHarga = (EditText) findViewById(R.id.harga_barang);
edMerk = (EditText) findViewById(R.id.merk_barang);

dataSource = new DBDataSource(this);

dataSource.open();

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String nama = null;
String merk = null;
String harga = null;

Barang barang = null;

if(edNama.getText()!=null && edMerk.getText()!=null &&


edHarga.getText()!=null){
nama = edNama.getText().toString();
merk = edMerk.getText().toString();
harga = edHarga.getText().toString();
}

barang = dataSource.createBarang(nama, merk, harga);


Toast.makeText(this, "Masuk Barang : \n" +
"Nama Barang " +
barang.getNama_barang() +"\n"+
"Merk Barang " +
barang.getMerk_barang() +"\n"+
"Harga "+barang.getHarga_barang(),
Toast.LENGTH_SHORT).show();

Intent i = new Intent(this, Menu.class);


startActivity(i);
}

9. Buat layout baru lagi dan beri nama view_data.xml lalu buat coding nya seperti
berikut :

10. Buat file java baru lagi dan beri nama ViewData.java lalu buat coding nya seperti
berikut :
package com.aditiya.appinventory;

import java.util.ArrayList;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

public class ViewData extends ListActivity {

private DBDataSource dataSource;


private ArrayList<Barang> values;

@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.view_data);

dataSource = new DBDataSource(this);

dataSource.open();
values = dataSource.getAllBarang();

ArrayAdapter<Barang> adapter = new


ArrayAdapter<Barang>(this, android.R.layout.simple_list_item_1,
values);

setListAdapter(adapter);
}

11. Jika dijalankan hasilnya akan seperti berikut :

C. Tugas Modul 3
1. Terjadi error force close saat ingin mengupdate image pada contacs jika dilihat dari
pesan error, aplikasi ini tidak mendapatkan izin untuk mengakses sdcard dalam hal ini
diperlukan coding tambahan didalam AndroidManifest sebagai berikut :
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

2. Inilah tampilan aplikasi setelah diberikan izin untuk mengakses sdcard :


3. Penjelasan singkat class yang ada :
a. Pada package com.sinus.personalcontactmanager
- AddNewContactActivity.java
Merupakan class pada activity untuk menambahkan contact
- ContactsMainActivity.java
Merupakan class untuk tampilan utama yang menampilkan contact dalam
bentuk list
- CustomListAdapter.java
Merupakan class untuk membuat tampilan contact di dalam list menjadi rapi

b. Pada package com.sinus.personalcontactmanager.databasemanager


- DatabaseManager.java
Berisi konstanta-konstanta seperti nama tabel, nama database, nama kolom,
dan sebagainya. Hal ini untuk memudahkan kita nantinya. Dimana ketika
ingin menggunakan konstanta tersebut, kita tidak usah lagi menulis nama
tabel berulang kali, namun cukup dengan mengaksesnya dari kelas ini

c. Pada package com.sinus.personalcontactmanager.model


- ContactModel.java
Berisi getter dan setter method-method yang ada pada aplikasi

Anda mungkin juga menyukai