Friday, November 30, 2012


Setelah memposting program android sederhana saya yang pertama "Hello World", kali ini saya akan share project kedua  saya, project yang kedua ini saya beri nama program menghitung berat badan ideal. Program ini bisa dibilang program yang masih lumayan gampang, karena di program ini hanya dibutuhkan sebuah inputan, Proses ( berisi rumus untuk menghitung berat badan idealnya ), kemudian sebuah output ( hasil perhitungan dari rumus kita tadi ), selesai.

Yeaah, bisa dibilang program ini adalah program kalkulator, karena fungsinya adalah untuk menghitung, sama seperti kalkulator yang sering kita temui, asalkan kita tau rumus n cara menghitungnya aja, kalo gak tau ya sama aja bhong…hehe, mendingan pkek program ni aja. Tapi jangan salah program ini sangat bermanfaat bget sob. Coba kamu bayangkan dengan mengetahui berat badan ideal kamu bisa mengetahui kondisi tubuh kamu, apakah mengalami Obesitas ( kegemukan ) atau tidak. Hal ini penting karena ketika tubuh memiliki berat yang berlebih akan menyebabkan timbulnya berbagai macam penyakit seperti, diabetes, kolesterol, dan penyakit berbahasa lainya. Loohh koq jadi ngelantur sayaa…hehehe, Ups.. jangan diambil hati yaa, bukan maksud saya menyinggung kamu yang berbadan gemuk, mksudnya saya baik kq, dengan mengetahui kondisi tubuh kita, kita jadi bisa mengontrol hidup kita untuk menjalankan pola hidup yang lebih sehat heheh..

Oke kembali ke permasalahan. Rumus yang saya gunakan di program ini adalah Rumus BMI, BMI adalah singkatan dari bahasa jawa yang kepanjanganya (Body Mass Index), BMI adalah salah satu rumus yang digunakan untuk menghitung berat badan ideal. Rumus yang lainnya ada banyak sekali. tapi yang saya gunakan BMI aja deh, karena apa ? karena yang saya tau cuma BMI saja, hehehe..

Yaah kurang lebihnya seperti itulah program yang akan saya buat. sekarang mari kita mulai membangun programnya, siapkan project baru terlebih dahulu.

1. langkah pertama isi file strings.xml di res --> values --> strings.xml

strings.xml

<resources>;

    <string name="app_name">;BMICalculator</string>;
    <string name="menu_settings">;Settings</string>;
    <string name="title_activity_main">;BMI Calculator</string>;
    
    <string name="satu">   BMI < 18.5           --> Badan kurang Ideal</string>;
    <string name="dua">   BMI 18.5 - 22.9  --> Berat badan Ideal</string>;
    <string name="tiga">   BMI 23 - 24.9      --> Mendekati Obesitas</string>;
    <string name="empat">   BMI 25 - 29.9      --> Diambang batas Obesitas</string>;
    <string name="lime">   BMI >; 30              --> Melebihi Obesitas</string>;

    <color name="Kuning">#a2b314</color>;
    <color name="merah">#990000</color>;
    <color name="MerahOrange">#d25e09</color>

    <color name="hijau">#1fb314</color>
    <color name="birumuda">#14a6b3</color>
    <color name="hitam">#000000</color>
    <color name="putih">#ffffff</color>


    <string name="InputTinggibadan">Inputkan Tinggi Badan (cm)</string>
    <string name="InputBeratBadan">Inputkan Berat Badan (kg)</string>
   
    <string name="errorButton_hitung">OK</string>
    <string name="errorTitle_hitung">Error !</string>
    <string name="errorMessage_hitung">Data kurang lengkap !</string>

    <string name="errorButton_hasil">OK</string>
    <string name="errorTitle_hasil">Error !</string>
    <string name="errorMessage_hasil">hasil masik kosong</string>

</resources>


2. langkah kedua, buat 3 file xml yang akan jadi interface di program kita, dan letakkan di res --> layout :
   1. splashe.xml
   2. main.xml
   3. hasil.xml

1. splashe.xml



<?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:background="@drawable/ww"
    android:orientation="vertical" >

</LinearLayout>


2. main.xml



    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/hitam" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tinggi Badan ( cm )"
            android:textColor="@color/putih" />

        <EditText
            android:id="@+id/tinggi_id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="@string/InputTinggibadan"
            android:inputType="numberDecimal" >

            <requestFocus />
        </EditText>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Berat Badan ( kg )"
            android:textColor="@color/putih" />

        <EditText
            android:id="@+id/berat_id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="@string/InputBeratBadan"
            android:inputType="number|numberDecimal" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:id="@+id/btn_hitung"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hitung" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hasil "
            android:textColor="@color/putih" />

        <EditText
            android:id="@+id/hasil_id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10" />

        <TextView
            android:id="@+id/textView8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <Button
            android:id="@+id/btn_lihathasil"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Lihat Hasil" />

    </TableLayout>


3. hasil.xml


<?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:layout_gravity="center"
    android:background="@color/hitam"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/kosong1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Skala BMI"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@color/putih" />

    <FrameLayout
        android:id="@+id/abang"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/merah" >

        <TextView
            android:id="@+id/textView05"
            android:layout_width="305dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:text="@string/lime"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/putih" />

    </FrameLayout>

    <FrameLayout
        android:id="@+id/orange"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/MerahOrange" >

        <TextView
            android:id="@+id/textView04"
            android:layout_width="306dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:text="@string/empat"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/putih" />

    </FrameLayout>

    <FrameLayout
        android:id="@+id/semuijo"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/Kuning" >

        <TextView
            android:id="@+id/textView03"
            android:layout_width="306dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:text="@string/tiga"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/putih" />

    </FrameLayout>

    <FrameLayout
        android:id="@+id/ijo"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/hijau" >

        <TextView
            android:id="@+id/textView02"
            android:layout_width="306dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:text="@string/dua"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/putih" />

    </FrameLayout>

    <FrameLayout
        android:id="@+id/biru"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:background="@color/birumuda" >

        <TextView
            android:id="@+id/TextView01"
            android:layout_width="305dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:text="@string/satu"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/putih" />

    </FrameLayout>

    <TextView
        android:id="@+id/TextView04"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall" />


    <TextView
        android:id="@+id/TextView03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Berat badan anda termasuk"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/putih" />


    <FrameLayout
        android:id="@+id/abang1"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_gravity="center"
        android:background="@color/merah" >

        <TextView
            android:id="@+id/hasilakhir"
            android:layout_width="306dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/putih" />

    </FrameLayout>

    <TextView
        android:id="@+id/TextView07"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <FrameLayout
        android:id="@+id/abang2"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:layout_weight="0.88"
        android:background="@color/merah" >

        <TextView
            android:id="@+id/keterangan"
            android:layout_width="305dp"
            android:layout_height="125dp"
            android:layout_gravity="center_vertical|center_horizontal"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="@color/putih" />

    </FrameLayout>

</LinearLayout>


Langkah ketiga, buat 3 class.java di folder src --> package kamu :
    1. Splash.java
    2. Main.java
    3. Hasilnyaa.java

1. Class Splash.java

public class Splash extends Activity{

    protected int _splashTime = 5000;

    private Thread splashTread;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splashe);

        final Splash sPlashScreen = this;

        // thread for displaying the SplashScreen
        splashTread = new Thread() {
            @Override
            public void run() {
                try {
                    synchronized(this){

                            //wait 5 sec
                            wait(_splashTime);
                    }

                } catch(InterruptedException e) {}
                finally {
                    finish();

                    //start a new activity
                    Intent i = new Intent();
                    i.setClass(sPlashScreen, Main.class);
                            startActivity(i);

                    stop();
                }
            }
        };

        splashTread.start();
    }

    //Function that will handle the touch
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            synchronized(splashTread){
                    splashTread.notifyAll();
            }
        }
        return true;
    }

}


2. Class Main.java

public class Main extends Activity {

                public static final String statusnya="";
                private EditText tinggi_e;
                private EditText berat_e;
                private EditText hasil_e;
                private Button but_hit;
                private Button but_has;
                private double BMI;
                private double tinggi;
                private double berat;
                private int status;
               
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        tinggi_e=(EditText) findViewById(R.id.tinggi_id);
        berat_e=(EditText) findViewById(R.id.berat_id);
        hasil_e=(EditText) findViewById(R.id.hasil_id);
        but_hit=(Button) findViewById(R.id.btn_hitung);
        but_has=(Button) findViewById(R.id.btn_lihathasil);
       
        but_hit.setOnClickListener(hitung);
       
        but_has.setOnClickListener(hasile);
    }
    OnClickListener hitung=new OnClickListener() {
                               
                                public void onClick(View v) {
                                                if(tinggi_e.getText().length()==0 && berat_e.getText().length()==0){
                AlertDialog.Builder alert = new AlertDialog.Builder(Main.this);
                alert.setTitle(R.string.errorTitle_hitung);
                alert.setMessage(R.string.errorMessage_hitung);
                alert.setPositiveButton(R.string.errorButton_hitung, null);
                alert.show();
                     }else{
                        tinggi=Double.parseDouble(tinggi_e.getText().toString())/100;
                        berat=Double.parseDouble(berat_e.getText().toString());
                        BMI = (berat / (tinggi * tinggi));
                         hasil_e.setText(String.valueOf(BMI));
                                                               
                      if(BMI >= 30){
                           status=5;
                      }else if(BMI >= 25 &&BMI <=29.9){
                          status=4;
                      }else if(BMI >= 23 && BMI <=24.9){
                            status=3;
                      }else if(BMI >= 18.5 && BMI <=22.9){
                          status=2;
                      }else if(BMI < 18.5){
                           status=1;
                      }else{
                             status=0;
                      } }}};
               
    OnClickListener hasile=new OnClickListener() {
                               
                                public void onClick(View v) {
                                                if(hasil_e.getText().length()==0){
                AlertDialog.Builder alert = new AlertDialog.Builder(Main.this);
                alert.setTitle(R.string.errorTitle_hasil);
                alert.setMessage(R.string.errorMessage_hasil);
                alert.setPositiveButton(R.string.errorButton_hasil, null);
                alert.show();
                                                }else{
                                          Intent viewCon = new Intent(Main.this, Hasilnyaa.class);
                                          viewCon.putExtra(statusnya, status);
                                          startActivity(viewCon);
                      }                                             
              }
        };           
}


3. Class Hasilnyaa.java

public class Hasilnyaa extends Activity{
      
       private int id;
       private FrameLayout frame1;
       private FrameLayout frame2;
       private TextView hasile;
       private TextView kandani;

       public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.hasil);
              
         frame1=(FrameLayout) findViewById(R.id.abang1);
         frame2=(FrameLayout) findViewById(R.id.abang2);
              
         hasile=(TextView) findViewById(R.id.hasilakhir);
         kandani=(TextView) findViewById(R.id.keterangan);
         Bundle oleh=getIntent().getExtras();
         id=oleh.getInt(Main.statusnya);
              
    if(id==1){
         frame1.setBackgroundResource(R.color.birumuda);
         frame2.setBackgroundResource(R.color.birumuda);
         hasile.setText(R.string.satu);
         kandani.setText("Badan kamu kurus, Disarankan kamu untuk banyak makan dan olah raga ");
                    
    }else if(id==2){
         frame1.setBackgroundResource(R.color.hijau);
         frame2.setBackgroundResource(R.color.hijau);
         hasile.setText(R.string.dua);
         kandani.setText("Badan kamu ideal, tetapi tetap jaga pola makan dan olah raga secukupnya");
     }else if(id==3){
         frame1.setBackgroundResource(R.color.Kuning);
         frame2.setBackgroundResource(R.color.Kuning);
         hasile.setText(R.string.tiga);
         kandani.setText("Berat badan kamu masih tergolong normal-ideal mendekati obesitas, kamu perlu memperbaiki pola makan dan perbanyak olahraga");
      }else if(id==4){
         frame1.setBackgroundResource(R.color.MerahOrange);
         frame2.setBackgroundResource(R.color.MerahOrange);
         hasile.setText(R.string.empat);
         kandani.setText("Berat badan anda diambang batas obesitas, kondisi bahaya, segera ubah kebiasaan makan /kembali ke gaya hidup sehat");
       }else if(id==5){
         frame1.setBackgroundResource(R.color.merah);
         frame2.setBackgroundResource(R.color.merah);
         hasile.setText(R.string.lime);
         kandani.setText("Waduhh parah nie sob...!! berdoa aja moga2 gak cepet mati !");
       }else{
         frame1.setBackgroundResource(R.color.putih);
         frame2.setBackgroundResource(R.color.putih);
         hasile.setText("error");
               }
        }
}


4. langkah terakhir, kita rubah sedikit file AndroidManifest.xml

AndroidManifest.xml


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="okin.example.bmicalculator"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".Splash"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="Main"></activity>
        <activity android:name="Hasilnyaa"></activity>
    </application>

</manifest>

Note : yang berwarna hijau adalah sourcode hasil penambahan atau perubahan

Siiippp program siap dijalankan jangan lupa di build and clean dulu mas Sob.. and coba jalankan.

Klik kanan project --> Run as --> 1. Android Application

Tampilan Splash Screennya.


Saya coba masukkan berat badan dan tinggi badan saya.. kamudian klik hitung akan keluar hasilnya di EditText "Hasil" kemudian klik tombol "Lihat hasil" maka akan keluar form baru yang akan memberi tahu Kondisi berat badan kamu.

 

Alhamdulillah, berat badan saya termasuk ideal sob hehe,

aku tambahin lagi nie buat seru seruan, jika hasil perhitungan berat badan kamu melebihi batas, lebih dari atau sama dengan 30.



Kaaak kaak kak kakakakka.....!!!

Jika menemukan kesuliatan saat pengerjaan programnya dan mulai stress n depresi berat.. bisa langsung donlot aja sourcecodenya di link ini


Mau tau kondisi berat badan kamu ? download apknya disini

Wednesday, November 21, 2012


Di semester ini saya ketemu dengan Mata Kuliah yang namanya "Mobile Programming", mata kuliah ini yang mengenalkan saya dengan Pemrograman Mobile, seperti J2me, Android, dan masih banyak lagi ( sya apalnya cuma 2 itu thok hehe ), tetapi di kampus saya lebih di tujukan ke Android Programming, naah dari situlah saya mendapatkan ilmu tentang Pemrograman Android, dan tidak ada salahnya saya berbagi dengan teman2 saya  di luar sana yang juga sama-sama baru belajar Android Programming.

Oke langsung saja saya akan sedikit share program yang sangat sederhana sekali yaitu "Hello world", bagi para pemula seperti saya biasanya ketika pertama kali mempelajari suatu bahasa pemrograman yang pertama kali kita buat / praktekkan adalah program "Hello world", ya, tulisan "Hello world" yang akan kita tampilkan di dalam program kita.

Sebelumnya komputer kita harus sudah terinstall SDK java, installer emulator(SDK), platform tools, platform, ADT, IDE dan kawan2 terlabih dahulu, tapi tidak akan saya bahas disini karena sudah banyak blog blog diluar sana yang membahasnya, jadi silahkan kamu tanyakan ke mbah google..

Jika semuanya sudah terinstall mari kita buat project pertama kita.
Klik File – New – Android Application Project

Maka akan tampil form berikut yang wajib kita isi terlebih dahulu


Lengkapi :
  • Nama aplikasi (Huruf awal harus besar), project name , dan package name ( ganti nama package kamu ).
  • Pilih Build SDK yang akan kamu gunakan untuk programmu. Pada contoh gambar diatas saya menggunakan Android 2.2 froyo
  • Dibagian bawah ada beberapa pilihan yang bisa kamu pilih, seperti mengkostumisasi icon, menyimpan  project di workspace dll.

Kemudian klik Next – next terus sampai ketemu form seperti ini.



Di form ini kamu akan disuruh memilih, untuk pembuatan activity otomatis atau manual ( kamu buat sendiri ). Beri tanda centang pada "Create Activity" jika ingin otomatis disediakan oleh eclips, atau hilangkan centang jika ingin membuat activity class sendiri. kemudian klik next.

catatan : MainActivity adalah class yang akan pertama kali dieksekusi saat program dijalankan.

Jika kamu mencetang "Create Activity" mata akan kluar form lagi seperti berikut



"Activity Name" adalah nama class mainnya. "layout Name" berupa file.xml, tempat kita mendesain tampilan user interface program kita nanti. Jika sudah klik next dan next terus sampai ketemu tombol Finish.

Project sudah jadi sekarang saatnya kita beri sedikit sentuhan sourcecode didalamnya. Untuk kamu yang masih pertama kali dalam hal ini maka kamu akan sedikit dibingungkan dengan tampilan project yang telah kita buat tadi. Seperti dibawah ini.


Looh koq jadi kaya gini yaa, ko banyak banget bagian bagian di projectnya. Jadi pusiiing.. hehe Tenang saja sebenarnya tidak serumit yang kita pikirkan koq, jika kita sudah mengenalnya ( seperti kata pepatah  "tak kenal maka tak tau", hehe ). Akan saya jelaskan sedikit bagian bagian pada project tersebut.

Hello World adalah nama project kita, didalamnya ada bagian bagian lagi seperti ( src, gen, Android 2.2, assets bin, libs, dll ). Agar tidak memusingkan kita, kita cukup mengerti bagian yang terpenting saja, seperti :
  • src : didalam nya ada tempat untuk menarut package – package kita dan package adalah tempat untuk class – class. Java kita.
  • Gen : isinya hampir sama dengan src akan tetapi untuk sementara kita tidak usah membahas file ini, file didalam bagian ini adalah file hasil generate dari program kita.
  • Android x.x adalah berisi platform android yang yang kita gunakan yang telah kita pilih saat awal kita membuat project tadi.
  •  Res : sementara yang wajib kita mengerti adalah "Layout" didalamnya terdapat file.xml untuk mengatur user interface yang akan kita tampilkan pada program kita.
  • Dan masih banyak lagi lainnya yang akan saya bahas di postingan saya selanjutnya.

Naah jika sudah mengerti bagian bagiannya, mari kita bangun programnya, pertama kali yang kita otak atik adalah file activity_main.xml yang tedapat di folder " res/layout/ activity_main.xml " . klik dua kali untuk membukanya, maka akan kaluar tampilan berikut.



Gambar diatas adalah interface GUInya, jika kita ingin melihat code GUInya silahkan klik "activity_main.xml" di sebelah kiri bawah. Dan klik "Graphical layout" untuk kembali ke tampilan Graphic atau GUInya.

Pilih activity_main.xml dan rubah semua code xmlnya seperti dibawah ini :



Jangan lupa simpan "Ctrl + S". disini saya akan beri penjelasan tentang sourcecode diatas.

"Relativelayout" adalah layout yang kita gunakan atau bisa juga dibilang model tampilan / rancangan, dan "TextView", jika di java desktop seperti label, yaitu tempat untuk menempatkan tulisan, pada "TextView" terdapat ( android : id = ) adalah id untuk TextView tersebut yang membedakan TextView ini dengan "Textview" Lainnya, ( android : text = ) adalah isi text yang akan ditampilkan pada "TextView" tersebut. pada TexView ini saya langsung beri nama "Hello World". ini yang akan tampil ketika program dijalankan.

catatan : sebenarnya TextView Hello World sudah terpasang secara otomatis di "main _activity.xml" saat pertaka kali kita membuat project ini. dan saya menyuruh kamu melakukan cara diatas agar kamu tau bagian bagian daripada file xml tu sepertu apa..

Setelah file xml selesai kita Rubah, selanjutnya buka Main_Activity.java kita didalam "src / namapackage /  activity.java ". isinya seperti ini .



Lihat pada bagian 
"setContectView(R.layout.activity_main);"
ini adalah bagian dimana main class kita ini akan memanggil activity_main.xml ( user interface ) yang akan menampilkan TextView yang berisi "Hello World" kita tadi.

Pada method "onCreateOptionsMenu", method ini tidak dibutuhkan pada program ini jadi bisa dihapus saja.

Setelah semua lengkap jangan lupa "Save"
Dan jalankan dengan cara klik kanan project kita – Run as – 1. Android Application.






Saturday, March 3, 2012

     RMI atau ( Remote Method Invocation ) adalah fasilitas yang dimiliki java untuk pemanggilan Object antara client dan server. RMI menyediakan sarana dimana client dan server dapat berkomunikasi dan saling bertukar infomasi. RMI memungkinkan pengembang perangkat lunak untuk merancang aplikasi terdistribusi dimana methods dari remote object dapat dipanggil dari JVM (Java Virtual Mechine) lain, yang mungkin berjalan pada host yang berbeda, Remote object adalah obyek dalam Java yang dapat direferensikan secara remote. Pemrogram seakan- akan memanggil methods lokal dari file kelas lokal, sedang dalam kenyataannya semua argumen dikirimkan ke remote target dan diinter-pretasikan, kemudian hasilnya dikirimkan kembali ke pemanggil. Dalam RMI, server akan membuat remote objects, membuat referensi, dan menunggu client untuk memanggil methods dari remote object ini. Sedangkan client akan mendapatkan remote reference dari satu atau lebih remote object dan memanggil methods untuk remote object tersebut. tetapi disini saya tidak membahas RMI lebih dalam, jika kamu ingin tau lebih dalam tentang RMI silahkan kunjungi link berikut. http://java.sun.com/j2se/1.5/pdf/rmi-spec-1.5.0.pdf

     Pada postingan saya hanya ingin share sebuah program kecil yang telah aku buat, yang sudah menggunakan RMI, yang mungkin bisa untuk bahan belajar kalian yang baru belajar membuat program RMI, program ini namanya PBTSSS ( program buku telpon sangat sederhana sekali ) hehehe, bukan program gede sich tapi mungkin sangat berguna untuk bahan belajar, khususnya buat adik2 kelasku yang tahun depan akan mengambil matakuliah Pemrograman BasisData Client Server. Program bukutelpon ini sudah terkoneksi ke database ( Postgre ) . jika berminat kalian bisa download projectnya disini. Dan databasenya di sini.


     Saya kasih tau sedikit cara menjalankannya bagi yang masih kebingungan. Pada program ini terdapat 3 Project 1. “bukutelpon_api”, Project 2. “bukutelpon_client”, Peoject 3. “bukutelpon_server”. Buka ketiga project tersebut di netbeans, buka class koneksi di Project bukutelpon_server di package konektor, kemudian ganti port Database yang kamu gunakan, ganti nama database yg kamu gunakan, ganti username dan password database kamu. Kemudian kita jalankan servernya terlebih dahulu ( jika tidak error akan keluar teks “server berjalan.....” ) kemudian baru jalankan clientnya.
     Itu tadi jika kita jalankan di satu PC, jika kita ingin menjalankan di lebih dari satu PC, ganti alamat servernya pada Project client, pada class main. Yang semula “localhost” ganti dengan nama PCHost server atau IP servernya. Kemudian tinggal jalankan project clientnya .

Semoga bermanfaat...

Wednesday, February 8, 2012

Kali ini saya akan memberi contoh membuat sebuah Trigger Sederhana menggunakan PostgreSQL
Pertama kita akan buat tabel terlebih dahulu, kita akan buat tabel stokbarang, dan pembelian.

Membuat tabel stokbarang

CREATE TABLE stokbarang(
kode_barang character varying(20) NOT NULL,
nama_barang character varying(30),
stok_ketersediaan integer,
CONSTRAINT stokbarang_pkey PRIMARY KEY (kode_barang)
)WITH (
OIDS=FALSE
);
ALTER TABLE stokbarang OWNER TO postgres;

Membuat table pembelian

CREATE TABLE pembelian(
kode_barang character varying(20),
jumlah_beli integer,
CONSTRAINT pembelian_kode_barang_fkey FOREIGN KEY (kode_barang)
REFERENCES stokbarang (kode_barang) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)WITH (
OIDS=FALSE
);
ALTER TABLE pembelian OWNER TO postgres;

pada 2 tabel diatas sudah di relasikan, kemudian kita buat functionnya.

CREATE OR REPLACE FUNCTION update_stok()
RETURNS trigger AS
$BODY$
begin
update stokbarang set stok_ketersediaan=stok_ketersediaan-new.jumlah_beli where kode_barang=new.kode_barang;
return new;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION update_stok() OWNER TO postgres;

akan saya jelaskan sedikit, isi function diatas .
update stokbarang set stok_ketersediaan=stok_ketersediaan-new.jumlah_beli where kode_barang=new.kode_barang;
return new;

mengupdate tabel stokbarang pada kolom stok_ketersediaan=( stok_ketersediaan dikurangi jumlah_beli ) nilai jumlah beli diambil saat mengimputkan jumlah _beli pada table pembelian, karena trigger ini dipanggil setelah mengisi data pada tabel pembelian.

Kemudian kita masukkan data stokbarang.

insert into stokbarang values('10023','sikat gigi',50)
insert into stokbarang values('10024','sabun mandi',50)

Membuat trigger dengan nama “update_stok”

CREATE TRIGGER update_stok
AFTER INSERT ON pembelian
FOR EACH ROW
EXECUTE PROCEDURE update_stok();

maksud dari query diatas, membuat trigger namanya update_stok dan akan dijalankan setelah proses pemasukan/insert di tabel pembelian, isi dari trigger ini adalah memanggil function update_stok(); yang sudah kita buat tadi.

Untuk lebih jelasnya lihat contoh proses berikut ini.
















Terlihat stok barang yang telah kita masukkan tadi, dengan kode_barang, nama_barang, dan stok_barang. kedua barang mempunyai stok yang masih utuh ( 50 ).

Selanjutnya masukkan data ke tabel pembelian, kita misalkan ada pembelian membeli barang yang ( kode_barangnya 10023 dan jumlah barang yang dibeli 5 ) , setelah proses insert berhasil maka trigger akan otomatis berjalan ( memanggil function yang telah dibuat tadi ) , cara kerja function ( mengurangi stok ) dapat dilihat pada penjelasan diatas.









Setelah itu kita lihat apakah trigger kita berhasil memanggil function untuk mengpdate stokbarang dengan cara ketik “SELECT * from stokbarang” .













Kita lihat stok_ketersediaan pada kode_barang =10023 berubah menjadi 45 ( hasil dari 50 -5 )
trigger berhasil..

Propellerads

Popular Posts