Selasa, 19 November 2013

Mebuat Program Animasi dengan XML di Android Part 1

Membuat animasi untuk antarmuka aplikasi Anda akan memberikan nuansa berkualitas tinggi untuk aplikasi android. Animasi dapat dilakukan melalui XML atau kode android. Dalam tutorial ini akan menjelaskan bagaimana melakukan animasi menggunakan notasi XML. Animasi yang dibuat adalah animasi dasar android seperti fade in, fade out, skala, memutar, geser ke atas, geser ke bawah dll.

Pada latihan ini, kita akan coba membuat program Animasi Sederhana. Buat Project Baru ( Ikut langkah seperti di artikel  ( Membuat Project Pertama di Android ) Konfigurasinya adalah sebagai berikut :

  • Application Name   : MembuatAnimasi
  • Project Name         : MembuatAnimasi
  • Package Name       : com.amrid.membuatanimasi
  • Minimum SDK       : API 19 (Android 4.4)
  • Target SDK           : API 19 (Android 4.4)
  • Compile with          : API 19 (Android 4.4)
  • Theme                    : none
  • Activity Name        : ActivityMain
  • Layout Name         : activity_main
Setelah terbentuk project MembuatAnimasi. Selanjutnya, kita akan bermain dengan sebuah layout (activity_main.xml) yang berada di folder res/layout.

Pertama Ketikan/Salin Kode Berikut (jangan hiraukan dulu bila ada tanda kode yang salah):
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >
            <Button
                android:id="@+id/btnFadeIn"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Fade In" />
            <Button
                android:id="@+id/btnFadeOut"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Fade Out" />
        </TableRow>
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >
            <Button
                android:id="@+id/btnCrossFade"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Cross Fade" />
            <Button
                android:id="@+id/btnBlink"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Blink" />
        </TableRow>
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="horizontal" >
            <Button
                android:id="@+id/btnZoomIn"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Zoom In" />
            <Button
                android:id="@+id/btnZoomOut"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Zoom Out" />
        </TableRow>
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="horizontal" >
            <Button
                android:id="@+id/btnRotate"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Rotate" />
            <Button
                android:id="@+id/btnMove"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Move" />
        </TableRow>
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="horizontal" >        
            <Button
                android:id="@+id/btnSlideUp"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Slide Up" />
            <Button
                android:id="@+id/btnSlideDown"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Slide Down" />
        </TableRow>
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="horizontal" >
            <Button
                android:id="@+id/btnBounce"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Bounce" />
        </TableRow>
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="horizontal" >
            <Button
                android:id="@+id/btnSequential"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Sequential Animation" />
        </TableRow>
        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:orientation="horizontal" >
            <Button
                android:id="@+id/btnTogether"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:text="Together Animation" />
        </TableRow>
    </TableLayout>
</ScrollView>

Kedua buka file MainActivity.java yang ada di folder src/com.amrid.membuatanimasi dan ketik/salin kode berikut :

package com.amrid.membuatanimasi;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
Button btnFadeIn, btnFadeOut, btnCrossFade, btnBlink, btnZoomIn,
btnZoomOut, btnRotate, btnMove, btnSlideUp, btnSlideDown,
btnBounce, btnSequential, btnTogether;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnFadeIn = (Button) findViewById(R.id.btnFadeIn);
btnFadeOut = (Button) findViewById(R.id.btnFadeOut);
btnCrossFade = (Button) findViewById(R.id.btnCrossFade);
btnBlink = (Button) findViewById(R.id.btnBlink);
btnZoomIn = (Button) findViewById(R.id.btnZoomIn);
btnZoomOut = (Button) findViewById(R.id.btnZoomOut);
btnRotate = (Button) findViewById(R.id.btnRotate);
btnMove = (Button) findViewById(R.id.btnMove);
btnSlideUp = (Button) findViewById(R.id.btnSlideUp);
btnSlideDown = (Button) findViewById(R.id.btnSlideDown);
btnBounce = (Button) findViewById(R.id.btnBounce);
btnSequential = (Button) findViewById(R.id.btnSequential);
btnTogether = (Button) findViewById(R.id.btnTogether);
/*
* Buttons click events
*/
// fade in
btnFadeIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, FadeInActivity.class);
startActivity(i);
}
});
// fade out
btnFadeOut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, FadeOutActivity.class);
startActivity(i);
}
});
// cross fade
btnCrossFade.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,
CrossfadeActivity.class);
startActivity(i);
}
});
// blink
btnBlink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, BlinkActivity.class);
startActivity(i);
}
});
// Zoom In
btnZoomIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, ZoomInActivity.class);
startActivity(i);
}
});
// Zoom Out
btnZoomOut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, ZoomOutActivity.class);
startActivity(i);
}
});
// Rotate
btnRotate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, RotateActivity.class);
startActivity(i);
}
});
// Move
btnMove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, MoveActivity.class);
startActivity(i);
}
});
// Slide Up
btnSlideUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, SlideUpActivity.class);
startActivity(i);
}
});
// Slide Down
btnSlideDown.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,
SlideDownActivity.class);
startActivity(i);
}
});
// Slide Down
btnBounce.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, BounceActivity.class);
startActivity(i);
}
});
// Sequential
btnSequential.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,
SequentialActivity.class);
startActivity(i);
}
});

// Together
btnTogether.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,
TogetherActivity.class);
startActivity(i);
}
});
}
}

Ketiga buka file AndroidManifest.xml yang ada di luar folder ketik/salin kode berikut :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.amrid.membuatanimasi"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="19"
        android:targetSdkVersion="19" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amrid.membuatanimasi.MainActivity"
            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="com.amrid.membuatanimasi.FadeInActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.FadeOutActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.CrossfadeActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.BlinkActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.ZoomInActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.ZoomOutActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.RotateActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.MoveActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.SlideUpActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.SlideDownActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.BounceActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.SequentialActivity"
            android:label="@string/app_name" />
        <activity
            android:name="com.amrid.membuatanimasi.TogetherActivity"
            android:label="@string/app_name" />
    </application>
</manifest>

Bersambung ke Mebuat Program Animasi dengan XML di Android Part 2







Senin, 18 November 2013

Membuat Program Hitung Luas Segitiga dengan Android

Pada latihan ini, kita akan coba membuat program sederhana perhitungan luas segitiga. Buat Project Baru ( Ikut langkah seperti di artikel  ( Membuat Project Pertama di Android ) Konfigurasinya adalah sebagai berikut :

  • Application Name   : HitungLuasSegitiga
  • Project Name         : HitungLuasSegitiga
  • Package Name       : com.amrid.hitungluassegitiga
  • Minimum SDK       : API 19 (Android 4.4)
  • Target SDK           : API 19 (Android 4.4)
  • Compile with          : API 19 (Android 4.4)
  • Theme                    : none
  • Activity Name        : ActivityUtamaLuas
  • Layout Name         : activity_utama_luas
Setelah terbentuk project HitungLuasSegitiga. Selanjutnya, kita akan bermain dengan sebuah layout (activity_luas_utama.xml) yang berada di folder res/layout.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Aplikasi Hitung Luas Segitiga"
        />
     <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Alas Segitiga"/>
    <EditText
        android:id="@+id/eAlas"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        />
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Tinggi Segitiga"/>
    <EditText
        android:id="@+id/eTinggi"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        />
    <Button
        android:id="@+id/bSegitiga"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hitung"/>
    <EditText
        android:id="@+id/eHasil"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:editable="false"/>
</LinearLayout>
Keterangan Skrip :
  • Pada layout ini, kita membuat 2 TextView, 3 EditText, dan 1 Button. TextView akan menampung label "Alas Segitiga" dan "Tinggi Segitiga", Edit Text akan menampung inputan alas, tinggi dan hasilnya, sedangan button dibuat untuk proses perhitungan lewat event klik nantinya.
  • Yang perlu menjadi perhatian adalah nama-nama id yang dibuat pada file layout ini, yaitu eAlas, eTinggi, bSegitiga dan eHasil, karena nama-nama id tersebut yang akan dikenali pada file classnya, yaitu ActivityHitungLuas.java

Selanjutnya buka skrip ActivityUtamaLuas.java yang ada di folder src/com.amrid.hitungluassegitiga

package com.amrid.hitungluassegitiga;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class ActivityUtamaLuas extends Activity implements OnClickListener {
    EditText eAlas;
    EditText eTinggi;
    EditText eHasil;
    Button bSegitiga;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_utama_luas);
       
        eAlas = (EditText)findViewById(R.id.eAlas);
        eTinggi = (EditText)findViewById(R.id.eTinggi);
        eHasil = (EditText)findViewById(R.id.eHasil);
        bSegitiga = (Button)findViewById(R.id.bSegitiga);      
       
        bSegitiga.setOnClickListener(this);
    }
    @Override
    public void onClick(View view) {
        // TODO Auto-generated method stub
        double Alas = Double.parseDouble(String.valueOf(eAlas.getText()));
        double Tinggi = Double.parseDouble(String.valueOf(eTinggi.getText()));
        double Hasil = 0.5*Alas*Tinggi;
       
        eHasil.setText(String.valueOf(Hasil));
       
    }
   
}
Keterangan Skrip :
  • Pada Class ActivityUtamaLuas meng extend class activity yang mengimplementasi even klik (OnClickListerner). Kemudian kita deklarasikan 3 buah EditText dan 1 buah Button, sedangkan TextView tidak perlu dideklarasikan karena hanya menampilkan lable saja.
  • Pada method OnCreate kita set Content View pada file layout activity_utama_luas. Lalu kita definisikan ke 4 variabel yang kita deklarasikan sebelumnya dengan nama id sesuai pada file layoutnya.
  • Pada method onClick variabel alas dan tinggi harus kita konversikan terlebih dahulu ke tipe double, dikarenan EditText bertipe String, dan auntuk mengolah perhitungan luas kita butuh tipe data yang menghandle perhitungan luas segitiga, dan terakhir setelah proses perhitungan, variabel eHasil akan kembali kita konversikan tipe datanya lagi dari Double ke String.
Untuk melihat hasilnya, silahkan jalankan project HitungLuasSegitiga di emulator, kemudian misalkan isikan pada Alas Segitiga : 30 dan Tinggi Segitiga : 25, lalu klik Tombol Hitung, maka akan tampil hasilnya yaitu sebagai berikut :



























Membuat Project Pertama di Android

Program HelloAndroid

Jalankan porgram Eclipse, lalu pilih menu File > New > Project, maka akan tampil kota dialog New Project. Pilihlah Android Application Project, lalu klik tombol Next. Lihat gambar berikut :


Maka Akan tampil kotak dialog New Android Application, seperti gambar di bawah ini :


Keterangan Gambar :
  • Application Name : nama aplikasi yang Anda inginkan, misalnya HelloAndroid.
  • Project Name : nama project yang Anda inginkan atau nama folder tempat file-file project (akan otomatis terisi sama dengan Application Name)
  • Package Name : digunakan oleh Android Market sebagai unique identifier dari aplikasi Anda (otomatis terisi com.example.helloandroid), Package bisa Anda isi sesuai keinginan, tapi ketia di upload ke market tentu Package Name harus unik.
  • Minimum Required SDK : miminimal SDK yang bisa dijalankan aplikasi kita nantinya (Anda bisa pilih API 19).
  • Target SDK : target SDK tertinggi, yang bisa aplikasi jalankan (API 19)
  • Compile With : aplikasi akan di compile dengan SDK versi ini (API 15)
  • Theme : theme yang akan dipakai untuk men-develop aplikasi (none)


Setelah semua di isi, selanjutnya klik tombol Next >, maka akan tampil kotak dialog Configure Project, biarkan saja dengan nilai default. Artinya project akan membuatkan launcher icon sebuah Activity dan men-set Workspace project (folder default yang dibaca oleh eclipse), klik tombol Next >, lihat gambar berikut :


Maka akan tampil kotak dialog untuk mengatur icon dari aplikasi, disini kita harus menyiapkan icon dnga ukuran 32x32, 48x48, 72x72, 128x128. Biarkan saja gambar/icon default, lalu klik tombol Next >


Maka akan tampil kotak dialog Activity, pilih New Blank Activity, lalu klik Next >


Maka akan tampil kotak dialog Blank Activity, disini kita bisa menentukan nama Activity dan layoutnya, untuk activity nya kita namakan  MainActivity, setelah selesai klik tombol Finish. Lihat gambar berikut :


Setelah selesai, maka kita sudah berhasil membuat project android dan bisa langsung menjalankan (run) aplikasnya dan sudah terbentuk file-filenya dalam sebuah folder, lihat gambar berikut :

Keterangan Gambar :
Sebelumnya kita harus memperhatikan beberapa file dan folder penting yang ada pada project kita, yaitu :

AndroidManifest.XML, 
Pada file ini konfigurasi project kita ditentukan, meliputi : 
  • Default Activity yang akan dijalankan pada saat aplikasi dijalankan
  • Daftar Activity dan Service yanga akan digunakan dalam aplikasi
  • Daftar Permission
  • Minimal SDK yang adapat menjalankan aplikasi
  • Icon aplikasi.
src/
Folder src/ adalah folder dimana file-file class java aplikasi kita disimpan.

res/
Folder res adalah folder dimana file-file resource yang berkaitan dengan aplikasi disimpan. Ada beberapa folder penting di bawah res/ yaitu :
  • layout : tempat untuk menyimpan xml file layout user interface aplikasi
  • values : tempat untuk menyimpan file xml resource yang berkaitan dengan layout seperti String Definition dan Color Definition.
  • drawable-***/: tempat untuk menyimpan file-file gambar, suara dan lainnya yang digunakan dalam aplikasi


Selanjutnya mari kita jalankan projectnya dengan cara mengklik kanan pada nama folder project HelloAndroid, lalu pilih Run As > Android Application. Lihat gambar berikut :


Maka Hasilnya akan ditampilkan di emulator, kalau emulator belum dalam keadaan terbuka, SABAR YA nunggu teks Hello World tampil di emulator.. Lihat gambar berikut :


Terlihat kita sudah berhasil menjalankan projectnya, terus dari mana tulisan "HelloWorld" ?
Oke, pertama yang akan kita lihat adalah skrip AndroidManifest.XML

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.amrid.helloandroid"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="19"
        android:targetSdkVersion="19" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amrid.helloandroid.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Keterangan Skript :
  • Element <manifest> menyatakan nama package, versionCode dan versionName. versionCode menggunakan nilai integer, yang nantinya digunakan oleh Google Play untuk pelacakan ketika ada versi baru, secara default nilainya biasa dimulai dengan 1. sedangkan versionName berupa string yang digukanan untuk identifikasi kita.
  • Element <manifest> berisi satu elemen <application>
  • Element <application> menejelaskan icon, label (judul aplikasi)dan theme dari aplikasi tersebu. Elemen ini bisa berisi satu atau lebih elemen <activity>
  • Aplikasi tersebut memiliki satu nama activity, yaitu com.amrid.helloandroid. MainActivity.
  • Elemen <activity> mendeklarasikan nama program dan label (judul activity yang tertampil pada layar) atau bisa juga berisi <intent-filter>
  • Elemetn <intent-filter> mendeklarasikan apakah activity ini merupakan titik masuk aplikasi (android.intent.action.MAIN). jika demikia, maka Activity harus dijadikan sebagai application launcher (android.intent.category.LAUNCHER)
Perhatikan disini activity yang dieksekusi pertama kali (lihat lagi pada elemen<activity>) adalah MainActivity. Untuk lebih jelasnya, mari kita buka file ActivityUtama.java

package com.amrid.helloandroid;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
Keterangan Skrip :

  • Secara default, file class utama/super class akan terbentuk seperti skrip diatas.
  • Pada import anddroid.od.bundle memiliki maksud pada project ini kita membundel class-class sistem operasi android yang dibutuhkan, android.app,Activity artinya kita mengimport class Activity dan import android.view.menu artinya kita mengimport class menu.
  • Kemudia dibawah import merupakan dklarasi class, nama class-nya adalah MainActivity yang meng ekstends ke class Activity. Maksudnya class MainActivity adalah class yang mewarisi semua sifat dari class Activity. Class Activity adalah class yang dimilliki pustaka Android. Sebuah Activity biasanya berupa sebuah layar tunggal yang terfokus pada bagaimana user bisa berinteraksi dengan aplikasi.
  • Dalam aplikasi yang kita buat, class meng-override method onCreate() dan juga method onCreateOptionMenu. kedua method tersebut adalah call-back method, maksudnya akan dipanggil secara otomatis oleh sistem android. Method onCreate() di eksekusi ketia sebuah activity dijalankan, sedangkan method onCreateOptionsMenu dieksekusi ketika tombol menu pada device android ditekan.


Selanjutnya, perhatikan pada isi file activity_main.xml yang terdapat pada folder res/layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
</RelativeLayout>

Keterangan Skrip :
  • Secara default, file layout utama akan terbentuk seperti skrip diatas.
  • Pada file activity_main.xml dideklarasikan TextView yang menyimpan sebuah nilai string. Kita bisa langsung menuliskan nilai string nya secara hardcode atau menggunakan softcode dengan mereferensikannya ke @string/hello_world, dimana nilai aktualnya bisa kita berika di folder res/values/strings.xml. Pendekatan terakhir ini yang direkomendasikan, karena berguna untuk mendukung internationalization, sehingga kita bisa melakukan costumize nilai string yang berbeda untuk daerah dengan bahasa yang berbeda.
  • Activity ini menggunakan "relative layout", dimana komponenya disusun secara relative terhadap yang lain. Layout tersebut diatur memiliki width (lebar) dan height (tinggi) yang sama dengan induknya ("match_parent").
  • Screen berisi komponen TextView, dimana teksnya didapat dengan merujuk pada "@string/hello_world". Komponen TextView memiliki width dan heiht yang cukup besar untuk menampung konten yang dimilikinya ("wrap_content"), komponen TextView ditengahkan secara horizontal dan vertikal.

Selanjutnya, perhatikan pada isi file string.xml yang terdapat pada folder res/values

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">HelloAndroid</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
</resources>
Keterangan Skrip :
string.xml berisi rujukan string dan juga nilainya, yaitu :
  • Referensi string "hello_world" berisi string dengan nilai "Hello World!". Kita bisa merubah nilainya sesuai keinginan "Hello, From XML !".
  • Referensi string "app_name" berisi nama aplikasi, yang kita buat dalam project. Referensi ini digunakan oleh "AndroidManifest.xml"





6. Cara Membuat Emulator AVD

Selanjutnya, kita akan membuat Android Virtual Device (AVD) yang merupakan emulator untuk menjalankan program aplikasi Android yang kita buat. AVD ini nantinya akan kita jadikan media test untuk menjalankan aplikasi Android yang kita buat, dimana AVD berjalan di Virtual Machine. Untuk membuat AVD dapat dilakukan dari IDE Eclipse dengan cara mengklik menu Windows > Android Virtual Device Manager lalu klik New. Lihat Gambar Berikut :


Buat Emulator pertama dengan settingan seperti berikut :

AVD Name   :  Android_4.4_Kit_Kat
Device           :  3.4 WQVGA (240 x 432: hdpi)
Target            :  Android 4.4 API Level 19

Lihat Gambar Berikut :


Nama dari AVD hanya penamaan saja, Anda diperbolehkan untuk membuat nama AVD dengan nama lain, tetapi dianjurkan sesua dengan targetnya untuk memudahkan mengetahui AVD apa yang sedang running. Target disini maksudnya adalah bahwa AVD yang kita buat adalah android diatas platform 4.4 Kit Kat.

Dalam Tulisan ini Saya hanya membuat satu buah Emulator, karena Android SDK bisa membuat emulator dengan versi yang berbeda sesuai yang terinstal. Selanjutnya, mari kita uji coba emulator yang baru saja kita buat dengan mengklik AVD Name. Lalu Klik Start > Launch.



Saat pertama kali dijalankan memang emulator akan loading dengan waktu yang cukup lama. Untuk itu jika emulator sudah tampil jangan di tutup dulu, karena emulator akan loading dari awal lagi. jik berhasil akan tampil seperti gambar berikut : 









5. Installasi ADT (Plugins Eclipse)

Selanjutnya kita akan melakukan installasi ADT atau yang lebih dikenal dengan plugins eclipse, plugins ini berfungsi untuk membuat eclipse terhubung dengan Android SDK, sehingga kita bisa membuat program Android lewat Eclipse.

ADT adalah kepanjangan dari Android Development Tools yang menjadi penghubung antara IDE Eclipse dengan Android SDK. Setelah selesai Instalasi eclipse kita dapat melakukan installasi ADT dengan menggunakan koneksi internet atau menggunakan file dari link berikut : http://adf.ly/ZM217 ADT-22.2.1. Setelah di download ekstrack  file lalu salin saja folder ADT-22.2.1 ke C:\Program Files

Pertama jalankan program Eclipse dengan mengklik 2x file eclipse.exe yang berada di C:\Program Files kemudian klik menu Help > Install New Software, maka akan tampil kotak dialog Install. Selanjutnya, klik tombol Add pada bagian Work With, maka akan tampil kotak dialgo Add Repository, klik tombol Local, lalu cari foler ADT-22.2.1 yang berada di C:\Program Files  jika sudah ketemu akan tampil di bagian Location, selanjutnya klik tombol OK. Lihat Gambar Berikut : 

 
Atau Anda bisa Isikan pada Location : https://dl-ssl.google.com/android/eclipse/
untuk installasi secara online

Kemudia klik pada bagian Developer Tools untuk memberikan tanda centang, lalu klik tombol Next > lihat bambar berikut : 


Maka akan tampil detail installasi, lanjutkan dengan mengklik tombol Next > Lihat gambar berikut : 


Selanjutnya akan tampil kotak dialog Review Licenses, pilih I Accpet... lalu klik tombol Finish... Lihat gambar berikut :


Setelah ADT sudah berhasil di instal, kita akan mengkoneksikan IDE Eclipse dengan Android SDK. Caranya, klik menu Windows > Preferences, lalu pilih Android di jendela bagian kiri dan jendela bagian kanan lakukan Browse SDK Location yang berada di C:\Program Files\Android SDK, setelah itu klik tombol Apply. Lihat Gambar Berikut :




4. Cara Installasi Eclipse

Selanjutnya kita akan melakukan installasi Eclipse sebagai IDE dalam membuat program Android.
Eclipse adalah IDE untuk pengembangan Java/Android yang sifatnya free dan dapat di download di http://www.eclipse.rog/downloads/ atau di : http://www.eclipse.org/downloads/packages/eclipse-mobile-developers/junor, atau di : http://adf.ly/ZMDzD merupakan versi kepler yang penulis gunakan.

Adapun versi Eclipse yang ada sekarang sudah cukup banyak diantaranya :
  • Ganymede (Eclipse Versi 3.4)
  • Galileo (Eclipse Versi 3.5)
  • Helios (Eclipse Versi 3.6)
  • Indogo (Eclipse Versi 3.7)
  • Juno (Eclipse Versi 4.2)
  • Kepler Service Release 1




Dan versi aplikasi yang digunakan oleh penulis adalah Eclipse Kepler. Jika Anda ingin menggunakan Eclipse ini, berikut adalah link nya : http://adf.ly/ZMDzD, Anda tidak perlu lagi melakukan installasi cukup menyalin ke C:\Program Files, Untuk menjalankan Eclipse, Anda bisa lakukan dengan mengklik 2x file eclipse.exe








3. Cara Installasi Android SDK

Android SDK adalah tools API (Aplication Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform android menggunakan bahasa pemrograman Java.

Untuk resource SDK Android dapat dilihat dan di download langsung di situs resmi pengembang SDK Android di http://www.developer.android.com atau bisa Anda Download di link berikut :

Android Versi 4.0.3,  Android Versi 4.1.2,  Android Versi 4.2.2,  Android Versi 4.3, Android Versi 4.4 Kit Kat.
Part 1 : http://adf.ly/ZS3IY 
Part 2 : http://adf.ly/ZS3NM 
Part 3 : http://adf.ly/ZS3Q6 
Part 4 : http://adf.ly/ZS3Ts 
Part 5 : http://adf.ly/ZS3WL 
Part 6 : http://adf.ly/ZS3Yl 
Part 7 : http://adf.ly/ZS3cM 
Part 8 : http://adf.ly/ZS3eA 
Part 9 : http://adf.ly/ZS3gh 
Part 10 : http://adf.ly/ZS3j9 
Part 11 : http://adf.ly/ZS3lQ 
Part 12 : http://adf.ly/ZS3nV
Setelah Download Part 1 sampai Part 12... Ekstrak salah satu file tersebut menggunakan Winrar, Lihat Gambar Berikut :

Untuk Mempermudah tahap installasi, Selanjutnya Salin Folder Android SDK ke C:\Program Files


Letak posisi folder Android SDK perlu kita ingat, karena selanjutnya ketika akan melink-kan posisi Android SDK kita dengan IDE Eclipse sebagai aplikasi coding yang akan kita pergunakan natinya dalam mebuat program Android.

Jika Anda menggunakan Android SDK yang di download dari Part 1 sampai Part 12, Anda tidak perlu mengupdate untuk saat ini, karena Android SDK sudah ada beberapa Versi sampai Android Kit Kat. Tapi tentunya jika nanti ada versi yang terbaru dari platform Android Anda bisa melakukan Update Sendiri.







Minggu, 17 November 2013

2. Cara Installasi JAVA JDK Android

Android adalah aplikasi yang dikembangkan dengan berbasis java, sehingga sebelum kita melakukan coding aplikasi berbasis android, komputer/pc kita harus terinstall program java disebut Java JDK. paket Installasi dapat di donwload di http://www.oracle.com/technetwork/java/javase/downloads/index.html.

Mari kita mulai installasi Java JDK, ikuti langkah-langkah berikut :
  1. Double klik pada file jdk-7u45-windows-i586.exe hasil download tadi.
  2. Maka akan tampil kotak dialog License Aggreement, pilih/klik tombol Accept >
  3. Selanjutnya tampil kotak dialog Custom Setum (abaikan saja), yang perlu kita ingat adalah lokasi installasi (tidak perlu dirubah), klik tombol Next >



Gambar Kotak dialog custom setup installasi JDK


 

Proses Installasi JDK

  1. Setelah JDK terinstall, akan tampil lagi pilihan installasi JRE (Java Runtime Environment) Langsung kita klik Next saja................
  2. Tunggu proses Installasi JRE selesai samapai tampil kotak dialog Wizard Complete, klik tombol Finish
  3. Setelah proses installasi Java SDK selesai, selanjutnya kita akan melakukan sedikit setting sebagai berikut :
  • Buka Windows Explorer, kemudian klik kanan pada Computer, lalu pilih Properties.

Gambar Memilih properties pada computer

  • Selanjutkan klik Advanced System Setting Selanjutnya klik Environtment Variables




  • Maka akan tampil kotak dialog Environment Variables pada bagian User variables klik Tombol New




  • Maka akan tampil kotak dialog New User Variable, isikan pada Variable name : HOME dan variable value : C:\Program Files\Java\jdk1.7.0;.

  • Ulangi langkah untuk membuat New User Variable lagi, isikan pada Variable name : PATH dan Variable value : C:\Program Files\Java\jdk1.7.0\bin;. klik OK
  • Ulangi langkah untuk membuat New User Variable lagi, isikan pada Variable nama : CLASSPATH dan variable value : C:\Program Files\Java\jdk1.7.0\lib\tools.jar;. lalau klik tombol
  • Maka sekarang seharusnya sudah terbentuk tiga User Variable baru di Environment Variables, lihat gambar berikut :


Gambar Tiga Buah Variable user baru di Environtment Variables.

  • Senlanjutnya, kita akan menguji hasil installasi Java SDK. Buka Command Prompt, klik Start, - Klik Run, Ketikan CMD lalu ketikan perintah berikut.............. java [enter], javac [enter], java-version [enter].

Gambar Command Prompt berhasil Install Java













Sabtu, 16 November 2013

PHP dan MySQL Sebagai Web Service




Selama ini mungkin Anda pernah atau bahkan sering mendengar mengenai Web Service. Sebenranya apakah Web Service itu ? Samakan Web Service dengan Website ?

Web Service ternyata sangat berbeda dengan website. Perbedaan yang paling terlihat adalah Website dibuat untuk memiliki tampilan atau user interface yang bagus sedangkan Web Service tidak memiliki tampilan. Mengapa Web Service tidak memiliki tampilan (user interface)?

Hal itu dikarenakan Web Service tidak dubuat untuk berinteraksi langsung dengan user. Sesuai dengan kata service yang ada pada namanya, Web Service hanya menyediakan service atau layanan. Layanan tersebutlah yang kemudian akan digunakan atau dipanggil oleh aplikasi lainnya. Dengan demikian, yang akan menjadi interface adalah aplikasi yang memanggilnya bukan Web Service itu sendiri.

Beberapa contoh implementasi web service adalah sistem login seperti yang ada di Kaskus, atau Detik.com.

Jika andan mengunjungi Kaskus, maka Anda akan menjumpai sistem login yang dapat menggunakan akun Facebook, Yahoo maupun Twitter.

Dengan kata lain, Anda dapat bergabung dalam komunitas forum kaskus atau istilah kerennya kaskuser hanya dengan memiliki akun FB, Yahoo atau Twitter tanpa harus regirstrasi di dalam Kaskusnya Sendiri.

Contoh lain implementasi web service adalah di bagian komentar Detik.com setiap kali kita akan mengisi komentar di Detik.com, kita bisa menggunakan akun FB kita.

Nah... yang menjadi pertanyaan adalah, kok bisa ya kita bisa masuk ke dalam sistem Kaskus maupun Detik.com menggunakan akun lain seperti FB, Yahoo maupun Twitter? Ya.... ini karena FB, Yahoo dan Tiwtter menyediakan service yang memungkinkan sistem lain menggunakan akun mereka untuk login. dan... kebetulan kaskus dan detik.com ini memanfaatkan service tersebut, dalam kasus ini, FB, yahoo, dan Twitter diakatakan bertindak sebagai server sedangkan Kaskus dan Detik.com bertindak sebagai client.

Contoh lain, buat anda yang memang sudah memiliki perangkat ponsel android, mingkin sudah pernah menginstall aplikasi semacam detik.com, kompas.com atau vivanews.com, diamna anda bisa melihat berita dari situs detik.com di ponsel android anda.

Pertanyaannya? Apakah portal-portal tersebut dalam membuat aplikasi portal versi android juga membuat database/data beritanya ? Apakah mereka melakukan penginputan data berita dua kali ? yaitu versi web dan versi android ?

Jawabannya sudah pasti tidak, karena mereka pasti telah menggunakan layanan web service untuk pertukaran data pada dua versi aplikasi yang mereka buat.

Jadi apakah web service itu ? Secara singkat web service adalah aplikasi yang dibuat adar dapat dipanggil atau diakses oleh aplikasi lain melalui internet dengan menggunakan format pertukaran data sebagai format pengiriman pesan. Adapun yang dibahas di ddalam buku ini adalah format pertukaran data dengan XML dan JSON.

Lalu, bagaimana caranya memanggil atau memanfaatkan sebuh web service? Sebua web service dapat diapnggil oleh aplikasi lain dengan menggunakan bantuan HTTP. Web service juka memungkinkan untuk dipanggil dengan menggunakan protokol lain seperti SMTP, namun yang paling umum digunakan adalah HTTP.

Karena web service menggunakan protokol HTTP, tentu PHP sebagai bahasa pemrograman web menjadi salah satu kekuatan dalam bahasa pemrograman yang mengelola web service.