September 2014

Rabu, 24 September 2014

Pemograman Mobile android

Pemograman Mobile 

"Database Android"

 BAB I
DASAR TEORI
A.      Pengertian Android dan Fungsinya
Beberapa tahun belakangan ini istilah Android sering sekali kita dengar, baca maupun kita lihat. Pada umumnya istilah Android sering dikaitkan dengan Ponsel, smartphone dan tablet.
Penemu Android adalah Andy Rubin yang lahir pada tanggal 22 Juni 1946 di New Bedford, Amerika Serikat. Andy Rubin bersama-sama dengan Rich Miner, Nick Sears, dan Chris White mendirikan Android.inc dan apada Juli 2005 dibeli oleh Google.
Pengertian Android adalah sistem operasi berbasis Linux yang dipergunakan sebagai pengelola sumber daya perangkat keras, baik untuk ponsel, smartphone dan juga PC tablet.
Secara umum Android adalah platform yang terbuka (Open Source)  bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh berbagai piranti bergerak.

Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan Android.
Semenjak kehadirannya pada 9 Maret 2009, Android telah hadir dengan versi 1.1, yaitu sistem operasi yang sudah dilengkapi dengan pembaruan estetis pada apalikasinya, seperti jam alrm, voice search, pengiriman pesan dengan Gmail, dan pemberitahuan email.

Hingga tahun 2012, Android telah berkembang dengan pesat. Dalam kurun 3 tahun Android telah diproduksi dalam versi, dan versi terakhir yang diproduksi disebut sebagai Android versi 4.1 atau Android Jelly Bean.
Perkembangan Android dari tahun 2009 – 2012 adalah sebagai berikut :
a.     Android versi 1.1
b.    Android versi 1.5 (Cupcake)
c.       Android versi 1.6 (Donut)
d.      Android versi 2.0/2.1 (Eclair)
e.       Android versi 2.2 (Froyo: Frozen Yoghurt)
f.       Android versi 2.3 (Gingerbread)
g.      Android versi 3.0/3.1 (Honeycomb)
h.      Android versi 4.0 (ICS :Ice Cream Sandwich)
i.        Android versi 4.1 (Jelly Bean)
B.     Pengertian Eclipse
Eclipse adalah sebuah IDE (Integrated Developmnet Environtmen) yang digunakan untuk membuat atau hanya untuk mengembangkan sebuah aplikasi, eclipse ini biasanya banyak digunakan oleh para developer pengembang aplikasi mobile seperti android karena tools ini mendukung banyak kemudahan dalam pengerjaan sebuah projek. Sama seperti halnya netbeans, Eclipse juga merupakan tools dengan lisensi kode terbuka (open source) sehingga sangat memungkinkan untuk dimiliki secara gratis. Selain itu eclipse ini juga memiliki beberapa keunggulan lainya yaitu kemampuanya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in sehingga tools ini sangat cocok untuk mengembangkan sebuah aplikasi untuk android.
BAB II
HASIL DAN PEMBAHASAN
1. Untuk membuat project baru, pilih File > New > Android Application Project. Atau bisa juga dengan mengklik icon Android Application Project pada eclipse toolbar.
Setelah membuat project baru maka akan muncul gambar di bawah ini. Maka kita perlu mengisi kotak dibawah ini seperti Application Name dan Package Name.
2. Setelah kita meng-klik next maka akan muncul gambar di bawah ini. Icon launcer sudah diatur maka tinggal kita mengatur clipartnya. Clipart digunakan untuk mengatur simbol aplikasi android yang kita pilih. Caranya adalah dengan memilihnya pada choose, lalu pilih saja sesuai dengan selera. Warnanya dapat kita ubah pada foreign color.
3. Setelah kita klik next maka akan muncul kotak di bawah ini. Isikan Activity Name sesuai dengan kehendak, dalam pengisian ini tidak boleh menggunakan spasi. Sebagai pemisah kita dapat menggunakan “_”. Lalu klik finish.
4. Lalu pada tampilan awal akan muncul layout default aplikasi dengan layout default seperti dibawah 

Setelah itu kita buat class baru dengan nama DBHelper dengan cara memilih package dari aplikasi kita lalu klik kanan => new  pilih class lalu  beri nama class tersebut dengan nama DBHelper
Lalu ketikan koding berikut :
package dwifitriana.databaseandroid;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBHelper extends SQLiteOpenHelper {
        /** deklarasi konstanta-konstanta yang digunakan pada database, seperti nama tabel,
           nama-nama kolom, nama database, dan versi dari database **/
      
       public static final String TABLE_NAME = "data_inventori";
       public static final String COLUMN_ID = "_id";
       public static final String COLUMN_NAME = "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;
       //Perintah SQL untuk membuat tabel database baru
      
       private static final String db_create = "create table "
           + TABLE_NAME + "("
           + COLUMN_ID +" integer primary key autoincrement, "
           + COLUMN_NAME+ " 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);
         // TODO Auto-generated constructor stub
        }
        //mengeksekusi perintah SQL di atas untuk membuat tabel database baru
        @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
         Log.w(DBHelper.class.getName(),
                       "Upgrading database from version " +
                                    oldVersion + " to "
                       + newVersion + ", which will destroy all old data");
               db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
               onCreate(db);
          }
}
Lalu kita buat class baru lagi dengan cara seperti diatas dan beri nama class tersebut dengan nama Barang. Sintaknya sebagai berikut :
package dwifitriana.databaseandroid;
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 "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;
     }
}
Lalu buat class lagi dengan nama DBDataSource dengan sintak berikut :
package dwifitriana.databaseandroid;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import java.util.ArrayList;;
public class DBDataSource {
      
       //inisialiasi SQLite Database
       private SQLiteDatabase database;
       //inisialisasi kelas DBHelper
       private DBHelper dbHelper;
       //ambil semua nama kolom
       private String[] allColumns = { DBHelper.COLUMN_ID,
                     DBHelper.COLUMN_NAME, DBHelper.COLUMN_MERK,DBHelper.COLUMN_HARGA};
       //DBHelper diinstantiasi pada constructor
       public DBDataSource(Context context)
       {
              dbHelper = new DBHelper(context);
       }
       //membuka/membuat sambungan baru ke database
       public void open() throws SQLException
       {
              database = dbHelper.getWritableDatabase();
       }
      
       //menutup sambungan ke database
       public void close()
       {
              dbHelper.close();
       }
      
       //method untuk create/insert barang ke database
      
       public Barang createBarang(String nama, String merk, String harga) {
              // membuat sebuah ContentValues, yang berfungsi
              // untuk memasangkan data dengan nama-nama
              // kolom pada database
             
              ContentValues values = new ContentValues();
              values.put(DBHelper.COLUMN_NAME, nama);
              values.put(DBHelper.COLUMN_MERK, merk);
              values.put(DBHelper.COLUMN_HARGA, harga);
             
              // mengeksekusi perintah SQL insert data
              // yang akan mengembalikan sebuah insert ID
             
              long insertId = database.insert(DBHelper.TABLE_NAME, null,values);
             
              // setelah data dimasukkan, memanggil
              // perintah SQL Select menggunakan Cursor untuk
              // melihat apakah data tadi benar2 sudah masuk
              // dengan menyesuaikan ID = insertID
             
              Cursor cursor = database.query(DBHelper.TABLE_NAME,
                           allColumns, DBHelper.COLUMN_ID + " = " + insertId, null,
                           null, null, null);
             
              // pindah ke data paling pertama
             
              cursor.moveToFirst();
             
              // mengubah objek pada kursor pertama tadi
              // ke dalam objek barang
             
              Barang newBarang = cursorToBarang(cursor);
             
              // close cursor
             
              cursor.close();
             
              // mengembalikan barang baru
             
              return newBarang;
              }
       private Barang cursorToBarang(Cursor cursor) {
      
       // buat objek barang baru
      
       Barang barang = new Barang();
      
       // debug LOGCAT
      
       Log.v("info", "The getLONG "+cursor.getLong(0));
       Log.v("info", "The setLatLng "+cursor.getString(1)+
                     ","+cursor.getString(2));
      
       /* Set atribut pada objek barang dengan
        * * data kursor yang diambil dari database*/
      
       barang.setId(cursor.getLong(0));
       barang.setNama_barang(cursor.getString(1));
       barang.setMerk_barang(cursor.getString(2));
       barang.setHarga_barang(cursor.getString(3));
       //kembalikan sebagai objek barang
       return barang;
       }
       //mengambil semua data barang
       public ArrayList<Barang> getAllBarang() {
              ArrayList<Barang> daftarBarang = new ArrayList<Barang>();
              // select all SQL query
             
              Cursor cursor = database.query(DBHelper.TABLE_NAME,
                           allColumns, null, null, null, null, null);
             
       // pindah ke data paling pertama
              cursor.moveToFirst();
             
       // jika masih ada data, masukkan data barang ke
       // daftar barang
             
             
       while (!cursor.isAfterLast()) {
              Barang barang = cursorToBarang(cursor);
              daftarBarang.add(barang);
              cursor.moveToNext();
              }
      
       // Make sure to close the cursor
       cursor.close();
       return daftarBarang;
       }
}
Setelah itu kita buat file xml baru dengan cara klik pada project kita, lalu klik kanan => new  pilih android xml file lalu beri nama create data lalu ketikan koding berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
  
<EditText
    android:id="@+id/nama_barang"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:inputType="text"
    android:hint="Nama Barang"
    android:ems="10" >
   
    <requestFocus />
    </EditText>
       <EditText
           android:id="@+id/merk_barang"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginTop="15dp"
           android:inputType="text"
           android:hint="Merk Barang"
           android:ems="10" >
    <requestFocus />
       
    </EditText>
              <EditText
                  android:id="@+id/harga_barang"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_marginTop="15dp"
                  android:inputType="number"
                  android:hint="Harga Barang"
                  android:ems="10" >
        <requestFocus />
    </EditText>
       <Button
           android:id="@+id/buttom_submit"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="Submit" />
</LinearLayout>
Setelah itu kita buat class baru lagi dengan nama CreateData dengan sintak berikut :
package dwifitriana.databaseandroid;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;
import android.widget.Toast;
public class CreateData extends Activity implements OnClickListener {
                //inisilisasi elemen-elemen pada layout
    private Button buttonSubmit;
    private EditText edNama;
    private EditText edMerk;
    private EditText edHarga;
    //inisialisasi kontroller/Data Source
    private DBDataSource dataSource;
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.createdata);
        buttonSubmit = (Button) findViewById(R.id.buttom_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);
        // instanstiasi kelas DBDataSource
        dataSource = new DBDataSource(this);
        //membuat sambungan baru ke database
        dataSource.open();
    }
  
                @Override
                public void onClick(View v) {
                                // TODO Auto-generated method stub
                                // Inisialisasi data barang
        String nama = null;
        String merk = null;
        String harga = null;
        @SuppressWarnings("unused")
        //inisialisasi barang baru (masih kosong)
        Barang barang = null;
        if(edNama.getText()!=null && edMerk.getText()!=null && edHarga.getText()!=null)
        {
            /* jika field nama, merk, dan harga tidak kosong
             * maka masukkan ke dalam data barang*/
            nama = edNama.getText().toString();
            merk = edMerk.getText().toString();
            harga = edHarga.getText().toString();
        }
        switch(v.getId())
        {
            case R.id.buttom_submit:
                // insert data barang baru
                barang = dataSource.createBarang(nama, merk, harga);
                //konfirmasi kesuksesan
                Toast.makeText(this, "masuk Barang\n" +
                        "nama\n" + barang.getNama_barang() +
                        "merk\n" + barang.getMerk_barang() +
                        "harga\n" + barang.getHarga_barang(), Toast.LENGTH_LONG).show();
                break;
        }
                              
                }
}
Setelah itu kita buat xml baru dengan nama viewdata lalu ketkan koding berikut : 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
   
    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
</LinearLayout>
Setelah itu kita buat class lagi dengan nama  ViewData dengan sintak berikut :
package dwifitriana.databaseandroid;
import java.util.ArrayList;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class ViewData extends ListActivity {
   
    //inisialisasi kontroller
       private DBDataSource dataSource;
      
       //inisialisasi arraylist
       private ArrayList<Barang> values;
      
       //menampilkan data
    @Override
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
          setContentView(R.layout.viewdata);
          dataSource = new DBDataSource(this);
          // buka kontroller
          dataSource.open();
          // ambil semua data barang
          values = dataSource.getAllBarang();
          // masukkan data barang ke array adapter
          ArrayAdapter<Barang> adapter = new ArrayAdapter<Barang>(this,
                    android.R.layout.simple_list_item_1, values);
          // set adapter pada list
          setListAdapter(adapter);
        
    }
  
}
Lalu kita buat class dan xl dengan nama Menu lalu ketikan kodingnya :
Xml Menu :
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <Button
        android:id="@+id/Button_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="62dp"
        android:text="@string/tombol_lihat" />
    <Button
        android:id="@+id/Button_tambah"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/Button_view"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="38dp"
        android:text="@string/tombol_tambah" />
    <TextView
        android:id="@+id/Nama_app"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/nama_app" />
</RelativeLayout>
Class Menu :
package dwifitriana.databaseandroid;
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) {
          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;
        }
       }
}
Setelah semua class dan xml jadi, langkah selanjutnya adalah memodifikasi file AndrodiManifest.xml.
Menjadi seperti berikut ini :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="megapuspita.databaseandroid"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
       
           
            <activity
                android:name="megapuspita.databaseandroid.CreateData"
                android:label="@string/app_name" >
            </activity>
           
            <activity
                android:name="megapuspita.databaseandroid.Menu"
                android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
        <activity
            android:name="megapuspita.databaseandroid.ViewData"
            android:label="@string/app_name" >
            </activity>
    </application>
</manifest>
Lalu setelah di running hasilnya adalah sebagai berikut :
Pada saat kita menekan tombol tambah maka akan muncul tampilan untuk menambahkan data barang . Isi nama barang, merk barang, dan harga barangnya lalu klik submit.




Artikel Ini Di Ambil Dari Blog http://androidriva.blogspot.com/