Rabu, 27 Januari 2016

Membuat Webservices di Java Menggunakan Apache Axis2 dan Eclipse


Webservice adalah komponen aplikasi untuk berkomunikasi menggunakan protocol terbuka. Dengan menggunakan webservice kita dapat mempublikasikan fungsi aplikasi kita untuk semua orang. Tutorial ini memberikan petunjuk langkah demi langkah untuk mengembangkan webservice di java menggunakan Apache Axis 2 / SOAP / WSDL pada Eclipse.

Pertama, Anda harus setting environment variable. Berikut hal-hal yang diperlukan jika anda ingin membuat webservices menggunakan Axis2 dan Eclipse.

Pada tutorial ini menggukanan Apache Axis2 1.5.2 Eclipse Luna dan Apache Tomcat 7 JDK 1.7.0

Download terlebih dahulu softwarenya :

1) Apache Axis2 Binary Distribution - Download
2) Apache Axis2 WAR Distribution - Download
3) Apache Tomcat - Download
4) Eclipse IDE – Download
5) Java untuk di install di komputer  – Download

Setelah semua di download langkah pertama adalah install terlebih dahulu JDK, saya menggunakan versi 7.

Selanjutnya setting environment variable dengan membuat variable JAVA_HOME  seperti gambar berikut :


Edit path variable dengan menambahkan ;%JAVA_HOME%\bin di paling akhir, lihat gambar berikut :


Sekarang buka eclipse klik menu Windows -> Preferences -> Server -> Runtime -> Environments - > Add, lihat gambar berikut :



Kemudian klik pada Web Service - > Preferences Axis2 dan cari direktori dari Apache Axis2 Binary Distribusi yang sudah di download, ekstrak terlebih dahulu.


Selanjutnya buat project di eclipse File -> New -> Other -> Web -> Dynamic Web Project, seperti gambar berikut :


Pilih next  isi Project name , Target runtime, Dynamyc web module version, Modify ->


Cheklist Project Facet Axis2 Web Services (Next – Finish)


Kira-kira seperti ini hasilnya….


Sekarang buatlah kelas Java yang akan dibuat webservices, disini saya akan membuat class tentang dua bilangan bulat (duaBilanganBulat) yang akan dijumlahkan.

Klik kanan pada src – New – Class. Isi Package dan Name : contoh seperti gambar berikut :


Copy script berikut dan jangan lupa di SAVE.

package com.amrid;
public class ContohWebServices {
             public int duaBilanganBulat(int nomorSatu, int nomorDua){
              return nomorSatu + nomorDua;
             }
}


Kemudian, Jalankan webservices server :  Pilih File -> New -> Other -> Web Services -> Web Service, seperti gambar berikut :


Selanjutnya, pilih Class ContohWebServices, pastikan bahwa konfigurasi dilakukan dengan benar seperti gambar berikut : 


Pilih Next klik Generate a default services.xml – klik next


Klik Start Server


Hasilnya adalah sebagai berikut :


WebServices Server Telah dibuat, sekarang tinggal membuat WebServices Client :
Klik File -> New -> Other -> Web Services -> Web Service Client -> Next


Copy link berikut :  http://localhost:8080/WebServicesAmrid/services/ContohWebServices?wsdl pada Service definition :



 Klik Next -> Finish


Maka akan terbentuk dua file baru : ContohWebServicesCallbackHandler.java dan ContohWebServicesStub.java
Seperti gambar berikut :


Yang terakhir buat file baru TestClient.java seperti gambar berikut :


Isi dengan Script Berikut :

package com.amrid;
import java.rmi.RemoteException;
import com.amrid.ContohWebServicesStub.DuaBilanganBulat;
import com.amrid.ContohWebServicesStub.DuaBilanganBulatResponse;

public class TesClient {

      public static void main(String[] args)throws RemoteException {
            ContohWebServicesStub stub = new ContohWebServicesStub();
            DuaBilanganBulat bl = new DuaBilanganBulat();
            bl.setNomorSatu(300);
            bl.setNomorDua(400);
            DuaBilanganBulatResponse res = stub.duaBilanganBulat(bl);
            System.out.println(res.get_return());
      }
}

Jalankan : klik kanan TestClient.java -> Run As -> Java Application
Hasilnya seperti berikut… SELAMAT.. anda sudah berhasil membuat WebServices





Nantikan tutorial berikutnya : Membuat WebServices Menggunakan Database








Senin, 11 Januari 2016

Game Android Terbaik 2016


Dead Effect 2



Dead Effect 2 adalah permainan konsol FPS untuk Android, menguji kemampuan anda untuk memecahkan masalah dan berani bertahan hidup, di sekitar stasiun ruang angkasa yang penuh dengan mayat hidup.
Apa yang benar-benar membuat game ini layak dimainkan adalah cukup menakjubkan dari sisi grafis, jadi bila kamu termasuk salah satu pemain lama dead effect, tidak ada salahnya buat kamu untuk mencobanya, kamu bisa memilih bermain sebagai satu di antara tiga orang karakter dalam Dead Effect 2 dengan wujud dan kemampuan yang berbeda.

Dapatkan Dead Effect 2 dari Google Play.

Brothers in Arms 3

Brothers in Arms 3 adalah game dengan mode Third Person Shooter, hal ini mengubah cara kamu bermain menjadi bertipe hide and shoot atau sembunyi-sembunyi di belakang perlindungan untuk menembak musuh. Kendali yang diberikan cukup menarik dengan memanfaatkan sudut layar secara maksimal, untuk awal memang agak sedikit sulit, namun setelah beberapa menit bisa dikendalikan dengan lancar .

Sesuai dengan namanya, kamu akan mendapatkan bantuan dari prajurit lain yang memiliki beragam kemampuan, yang bisa memanggil bantuan seperti serangan udara atau lainnya, dan ini berlaku pada misi tertentu Brothers in Arms merupakan game yang bertema perang dunia kedua WW2.

Dapatkan Brothers in Arms 3 dari Google Play.

Star Wars: Galaxy of Heroes

Jika Anda menyukai film Star Wars ada baiknya anda mencoba game  Star Wars: Galaxy of Heroes dari Electronic Arts. Anda bisa bermain dengan semua karakter favorit Anda, dari Luke Skywalker dan Han Solo untuk Darth Vader, ditambah karakter baru dari The Force Awakens.



Marvel Contest of Champions (free)

Jika Anda menyukai superhero dan permainan pertempuran maka Anda akan menyukai Marvel Contest of Champions (free). Tingkatkan karakter dan bangun tim Anda sendiri untuk menjadi juara, dalam game ini tampilan grafis yang sangat menakjubkan.




Hotel Transylvania 2

Hotel Transylvania 2 adalah aplikasi permainan gratis untuk Android yang merupakan film adaptasi resmi dari film Hollywood dengan judul yang sama, game ini memungkinkan Anda untuk berkreasi atau menciptakan sendiri taman bermain yang berbasis film Hotel Transylvania 2. Tak hanya itu, Anda juga harus menyelesaikan quest dengan menggunakan karakter-karakter pada dalam film, seperti Drac, Mavis, Frank, Johnny, dan masih banyak lagi.






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"