<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Programming Learning</title>
	<atom:link href="http://programminglearning.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://programminglearning.wordpress.com</link>
	<description>Free IT e-learning</description>
	<lastBuildDate>Mon, 12 Dec 2011 06:55:02 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='programminglearning.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/df4d8190e63acf15d02ea57200d92ff8?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Programming Learning</title>
		<link>http://programminglearning.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://programminglearning.wordpress.com/osd.xml" title="Programming Learning" />
	<atom:link rel='hub' href='http://programminglearning.wordpress.com/?pushpress=hub'/>
		<item>
		<title>[Android] Aplikasi #1 &#8211; DietMeter</title>
		<link>http://programminglearning.wordpress.com/2010/11/26/android-aplikasi-1-dietmeter/</link>
		<comments>http://programminglearning.wordpress.com/2010/11/26/android-aplikasi-1-dietmeter/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 06:48:25 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android application #1]]></category>
		<category><![CDATA[android dietmeter]]></category>
		<category><![CDATA[aplikasi dengan android]]></category>
		<category><![CDATA[aplikasi diet android]]></category>
		<category><![CDATA[tutorial membuat aplikasi android]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=428</guid>
		<description><![CDATA[Pada tutorial kali ini kita akan mencoba membuat suatu aplikasi sederhana yang akan memanfaatkan code dari project sebelumnya, apabila anda belum membaca tutorial sebelumnya maka sebaiknya anda membukanya terlebih dahulu disini karena tutorial ini akan menyingkat pembahasan yang sudah pernah dibahas sebelumnya. Aplikasi ini merupakan suatu aplikasi penghitung berat normal dan berat ideal kita. Dengan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=428&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pada tutorial kali ini kita akan mencoba membuat suatu aplikasi sederhana yang akan memanfaatkan code dari project <a title="[Android] Membuat Menu List" href="http://programminglearning.wordpress.com/2010/11/24/android-membuat-menu-list/" target="_blank">sebelumnya</a>, apabila anda belum membaca tutorial sebelumnya maka sebaiknya anda membukanya terlebih dahulu disini karena tutorial ini akan <span id="more-428"></span>menyingkat pembahasan yang sudah pernah dibahas sebelumnya. Aplikasi ini merupakan suatu aplikasi penghitung berat normal dan berat ideal kita. Dengan aplikasi ini kita dapat menentukan apakah kita normal,ideal,kurang gemuk atau kegemukan. Aplikasi ini dibagi menjadi 3 interface dengan alur sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/b1.png"><img class="aligncenter size-medium wp-image-429" title="b1" src="http://programminglearning.files.wordpress.com/2010/11/b1.png?w=300&#038;h=103" alt="" width="300" height="103" /></a></p>
<p>Untuk rumus penghitungannya, saya mengambil artikel dari blog <a href="http://organisasi.org/rumus-menghitung-berat-badan-ideal-normal-indeks-broca-broca-index">http://organisasi.org/rumus-menghitung-berat-badan-ideal-normal-indeks-broca-broca-index</a>. Dengan memanfaatkan project MenuList yang telah kita buat sebelumnya, kita akan meneruskannya sehingga akan membentuk aplikasi DietMeter ini. Saya akan membuat project baru dan menempelkan code yang ada sebelumnya ke project baru saya . berikut ini adalah langkahnya :</p>
<ol>
<li>Buat project android yang baru, dan isikan sebagai berikut : <a href="http://programminglearning.files.wordpress.com/2010/11/b2.png"><img class="aligncenter size-medium wp-image-430" title="b2" src="http://programminglearning.files.wordpress.com/2010/11/b2.png?w=217&#038;h=300" alt="" width="217" height="300" /></a></li>
</ol>
<ol>
<li>Kita buat 2 layout baru yaitu <em>beratnormal.xml</em> dan <em>beratideal.xml</em> pada res/layout/, masing2 juga memiliki file .java yaitu <em>beratnormal.java</em> dan <em>beratideal.java</em> yang mana kita harus buat baru di src/com.dietmeter.</li>
</ol>
<p style="padding-left:30px;">Cara menambahkan file xml adalah dengan klik kanan pada direktori res/layout  dan pilih menu <em>New-&gt;Other </em>kemudian pilih menu <em>Android XML File </em>dan tekan <strong>Next :</strong></p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/b3.png"><img class="aligncenter size-medium wp-image-431" title="b3" src="http://programminglearning.files.wordpress.com/2010/11/b3.png?w=293&#038;h=300" alt="" width="293" height="300" /></a></p>
<p style="padding-left:30px;">Untuk lebih amannya,gunakan nama dengan huruf non capital, beri nama <em>beratnormal.xml </em>lalu pastikan tipe resource adalah <em>Layout </em>lalu tekan <strong>finish.</strong></p>
<p style="padding-left:30px;">Cara menambahkan file class(.java) adalah dengan klik kanan pada direktori src/com.dietmeters dan memilih menu <em>New-&gt;Class </em>dan akan tampil sebagai berikut :</p>
<p style="padding-left:30px;"><a href="http://programminglearning.files.wordpress.com/2010/11/b4.png"><img class="aligncenter size-medium wp-image-432" title="b4" src="http://programminglearning.files.wordpress.com/2010/11/b4.png?w=255&#038;h=300" alt="" width="255" height="300" /></a></p>
<p style="padding-left:30px;">Lalu kita tentukan superclass dari class ini dengan cara kita browse superclass dan ketikkan “activity” seperti pada gambar berikut :</p>
<p style="padding-left:30px;"><a href="http://programminglearning.files.wordpress.com/2010/11/b5.png"><img class="aligncenter size-medium wp-image-433" title="b5" src="http://programminglearning.files.wordpress.com/2010/11/b5.png?w=300&#038;h=250" alt="" width="300" height="250" /></a></p>
<p style="padding-left:30px;">Pilih dan tekan <strong>OK</strong> lalu <strong>Finish.</strong></p>
<ul>
<li style="font-weight:bold;"><span style="font-weight:normal;"><strong><em>beratnormal (.xml dan .java)</em></strong></span>
<ul>
<li>Dalam  layout xml ini akan dimunculkan kode sebagai berikut :</li>
</ul>
</li>
</ul>
<p><pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;LinearLayout

xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;

android:orientation=&quot;vertical&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;fill_parent&quot;&gt;

&lt;TextView

android:id=&quot;@+id/label1&quot;

android:text=&quot;Berat Badan :&quot;

android:layout_width=&quot;wrap_content&quot;

android:layout_height=&quot;wrap_content&quot;

&gt;

&lt;/TextView&gt;

&lt;EditText

android:id=&quot;@+id/edBerat&quot;

android:text=&quot;&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;wrap_content&quot;

android:inputType=&quot;numberDecimal&quot;&gt;

&lt;/EditText&gt;

&lt;TextView

android:id=&quot;@+id/label2&quot;

android:text=&quot;Tinggi Badan :&quot;

android:layout_width=&quot;wrap_content&quot;

android:layout_height=&quot;wrap_content&quot;&gt;

&lt;/TextView&gt;

&lt;EditText

android:id=&quot;@+id/edTinggi&quot;

android:text=&quot;&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;wrap_content&quot;

android:inputType=&quot;numberDecimal&quot;&gt;

&lt;/EditText&gt;

&lt;Button

android:id=&quot;@+id/btnKalkulasi&quot;

android:text=&quot;Kalkulasi&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;wrap_content&quot;

android:onClick=&quot;kalkulasi&quot;&gt;

&lt;/Button&gt;

&lt;Button

android:id=&quot;@+id/btnKembali&quot;

android:text=&quot;Menu Utama&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;wrap_content&quot;

android:onClick=&quot;BackMainMenu&quot;&gt;

&lt;/Button&gt;

&lt;/LinearLayout&gt;
</pre></p>
<p><span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;line-height:19px;white-space:normal;font-size:13px;"><br />
</span></p>
<ul>
<li>
<ul>
<li><span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;line-height:19px;white-space:normal;font-size:13px;">Dalam file .java kita masukkan kode :</span></li>
</ul>
</li>
</ul>
<p><pre class="brush: java;">
package com.dietmeters;

import org.xml.sax.Parser;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class beratnormal extends Activity{

private EditText edBerat;

private EditText edTinggi;

private Button btnKalkulasi;

private Button btnKembali;

@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.beratnormal);

edBerat = (EditText) findViewById(R.id.edBerat);

edTinggi = (EditText) findViewById(R.id.edTinggi);

btnKalkulasi = (Button) findViewById(R.id.btnKalkulasi);

btnKembali = (Button) findViewById(R.id.btnKembali);

}

public void doKalkulasi(View view){

float Berat = Float.parseFloat(edBerat.getText().toString());

float Tinggi = Float.parseFloat(edTinggi.getText().toString());

float Hasil = (float) Tinggi - 100;

String rt = &quot;Normal&quot;;

//kelebihan berat badan

if (Berat &gt; Hasil)

{

float Persen = ((float)Berat / Hasil * 100)-100;

if (Persen&gt;9 &amp;&amp; Persen&lt;21)

{

rt = &quot;Kelebihan Berat Badan / Overweight&quot;;

}

else if (Persen &gt; 20)

{

rt = &quot;Kegemukan / Obesitas / Obesity&quot;;

}

}

else if (Berat &lt; Hasil)

{

float Persen = ((float)Hasil/Berat*100) - 100;

if (Persen&gt;9)

{

rt = &quot;Kurus&quot;;

}

}

Toast.makeText(this, &quot;Anda : &quot; + rt, Toast.LENGTH_LONG).show();

}

public void BackMainMenu(View view){

finish();

}

}
</pre></p>
<ul>
<li><strong><em>beratideal (.xml dan .java)</em></strong>
<ul>
<li>Dalam  layout xml ini akan dimunculkan kode sebagai berikut :</li>
</ul>
</li>
</ul>
<p><pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;

&lt;LinearLayout

xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;

android:orientation=&quot;vertical&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;fill_parent&quot;&gt;

&lt;TextView

android:id=&quot;@+id/label1&quot;

android:text=&quot;Berat Badan :&quot;

android:layout_width=&quot;wrap_content&quot;

android:layout_height=&quot;wrap_content&quot;

&gt;

&lt;/TextView&gt;

&lt;EditText

android:id=&quot;@+id/edBerat&quot;

android:text=&quot;&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;wrap_content&quot;

android:inputType=&quot;numberSigned|numberDecimal&quot;&gt;

&lt;/EditText&gt;

&lt;TextView

android:id=&quot;@+id/label2&quot;

android:text=&quot;Tinggi Badan :&quot;

android:layout_width=&quot;wrap_content&quot;

android:layout_height=&quot;wrap_content&quot;&gt;

&lt;/TextView&gt;

&lt;EditText

android:id=&quot;@+id/edTinggi&quot;

android:text=&quot;&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;wrap_content&quot;

android:inputType=&quot;numberSigned|numberDecimal&quot;&gt;

&lt;/EditText&gt;

&lt;Button

android:id=&quot;@+id/btnKalkulasi&quot;

android:text=&quot;Kalkulasi&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;wrap_content&quot;

android:onClick=&quot;doKalkulasi&quot;&gt;

&lt;/Button&gt;

&lt;Button

android:id=&quot;@+id/btnKembali&quot;

android:text=&quot;Menu Utama&quot;

android:layout_width=&quot;fill_parent&quot;

android:layout_height=&quot;wrap_content&quot;

android:onClick=&quot;BackMainMenu&quot;&gt;

&lt;/Button&gt;

&lt;/LinearLayout&gt;
</pre></p>
<ul>
<li>
<ul>
<li><span style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;line-height:19px;white-space:normal;font-size:13px;">Dalam file .java kita masukkan kode :</span></li>
</ul>
</li>
</ul>
<p><pre class="brush: java;">
package com.dietmeters;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class beratideal extends Activity{

private EditText edBerat;

private EditText edTinggi;

private Button btnKalkulasi;

private Button btnKembali;

@Override

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.beratideal);

edBerat = (EditText) findViewById(R.id.edBerat);

edTinggi = (EditText) findViewById(R.id.edTinggi);

btnKalkulasi = (Button) findViewById(R.id.btnKalkulasi);

btnKembali = (Button) findViewById(R.id.btnKembali);

}

public void doKalkulasi(View view){

float Berat = Float.parseFloat(edBerat.getText().toString());

float Tinggi = Float.parseFloat(edTinggi.getText().toString());

String rt = &quot;Ideal&quot;;

float ideal = (float)(Tinggi - 100) - ((float)0.1 * (Tinggi - 100));

if (Berat &gt; ideal)

{

float Persen = ((float)Berat / ideal * 100)-100;

if (Persen&gt;9 &amp;&amp; Persen&lt;21)

{

rt = &quot;Kelebihan Berat Badan / Overweight&quot;;

}

else if (Persen &gt; 20)

{

rt = &quot;Kegemukan / Obesitas / Obesity&quot;;

}

}

else if (Berat &lt; ideal)

{

float Persen = ((float)ideal/Berat*100) - 100;

if (Persen&gt;9)

{

rt = &quot;Kurus&quot;;

}

}

Toast.makeText(this, &quot;Anda : &quot; + rt, Toast.LENGTH_LONG).show();

}

public void BackMainMenu(View view){

finish();

}

}
</pre></p>
<p>Setelah itu hal terpenting, <strong>kita daftarkan 2 activity tersebut ke dalam AndroidManifest.xml. </strong>caranya dengan mengklik <em>AndroidManifest.xml </em>dan masuk ke dalam tab <em>Application </em>(tab berada di bawah)lalu scroll window tersebut dan akan Nampak gambar sebagai berikut :</p>
<p style="text-align:center;"><a href="http://programminglearning.files.wordpress.com/2010/11/b6.png"><img class="aligncenter size-medium wp-image-434" title="b6" src="http://programminglearning.files.wordpress.com/2010/11/b6.png?w=300&#038;h=76" alt="" width="300" height="76" /></a></p>
<p style="text-align:center;">&nbsp;</p>
<p style="text-align:left;">Lalu kita klik <strong>Add </strong>dan pilih <em>Create a new element at the top level,in Application </em>lalu pilih <em>Activity </em>seperti ditunjukkan pada gambar di bawah ini :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/b7.png"><img class="aligncenter size-medium wp-image-435" title="b7" src="http://programminglearning.files.wordpress.com/2010/11/b7.png?w=300&#038;h=286" alt="" width="300" height="286" /></a></p>
<p>Lalu tekan <strong>OK, </strong>lalu pada kolom sebelah kanan kita ubah field <em>Name </em>dengan gambar sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/b8.png"><img class="aligncenter size-medium wp-image-436" title="b8" src="http://programminglearning.files.wordpress.com/2010/11/b8.png?w=300&#038;h=67" alt="" width="300" height="67" /></a></p>
<p>Default nama activity adalah “Activity”, kita browse dan kita ketikkan beratnormal :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/b9.png"><img class="aligncenter size-medium wp-image-437" title="b9" src="http://programminglearning.files.wordpress.com/2010/11/b9.png?w=300&#038;h=250" alt="" width="300" height="250" /></a></p>
<p>Lalu kita tekan <strong>OK, </strong>selanjutnya pada <em>Label </em>kita isikan “Berat Normal” (lihat gambar sebelumnya).hal yang sama lakukan juga untuk <em>beratideal </em>activity.</p>
<p>Selanjutnya kita akan mengisikan code pada source form menu utama yaitu <em>ActivityDietMeters.java . </em>kita isikan sebagai berikut :</p>
<p><pre class="brush: java;">
package com.dietmeters;

import android.app.ListActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;

import android.content.Intent;

public class ActivityDietMeters extends ListActivity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

String[] DietMeter = new String[] { &quot;Normal Meter&quot;, &quot;Ideal Meter&quot;};

this.setListAdapter(new ArrayAdapter&lt;String&gt;(this,android.R.layout.simple_list_item_1, DietMeter));

}

@Override

protected void onListItemClick(ListView l,View v,int Position,long id){

super.onListItemClick(l, v, Position, id);

Object o = this.getListAdapter().getItem(Position);

String Teks = o.toString();

ShowThis(Teks);

}

public void ShowThis(String Teks)

{

Intent i = null;

if (Teks.equals(&quot;Normal Meter&quot;)){

i = new Intent(this,beratnormal.class);

}

else if (Teks.equals(&quot;Ideal Meter&quot;)){

i = new Intent(this,beratideal.class);

}

if (i != null)

{

startActivity(i);

}

else

{

Toast.makeText(this, Teks, Toast.LENGTH_LONG).show();

}

}

}
</pre></p>
<p>Kita lihat perbedaan code aplikasi sekarang dengan code sebelumnya, perhatikan baris code berikut :</p>
<p><pre class="brush: java;">protected void onListItemClick(ListView l,View v,int Position,long id){

super.onListItemClick(l, v, Position, id);

Object o = this.getListAdapter().getItem(Position);

String Teks = o.toString();

ShowThis(Teks); //method pemanggilan activity

}

public void ShowThis(String Teks)

{

Intent i = null; //beri nilai default

if (Teks.equals(&quot;Normal Meter&quot;)){

i = new Intent(this,beratnormal.class);

}

else if (Teks.equals(&quot;Ideal Meter&quot;)){

i = new Intent(this,beratideal.class);

}

if (i != null)

{

startActivity(i);

}

}

</pre></p>
<p>Dalam code di atas kita membuat suatu method ShowThis(String Teks) dimana isinya adalah pemanggilan activity yang berdasarkan pemilihan menulist.</p>
<p>Setelah mengisikan sesuai dengan di atas,kita coba jalankan di emulator dan beginilah contoh hasilnya :</p>
<ul>
<li>Tampilan utama</li>
</ul>
<p style="padding-left:60px;"><a href="http://programminglearning.files.wordpress.com/2010/11/b10.png"><img class="aligncenter size-full wp-image-438" title="b10" src="http://programminglearning.files.wordpress.com/2010/11/b10.png?w=630" alt=""   /></a></p>
<p style="padding-left:60px;">&nbsp;</p>
<ul>
<li>Normal Meter</li>
</ul>
<p style="padding-left:60px;"><a href="http://programminglearning.files.wordpress.com/2010/11/b11.png"><img class="aligncenter size-full wp-image-439" title="b11" src="http://programminglearning.files.wordpress.com/2010/11/b11.png?w=630" alt=""   /></a></p>
<ul>
<li>Ideal Meter</li>
</ul>
<p style="padding-left:60px;"><a href="http://programminglearning.files.wordpress.com/2010/11/b12.png"><img class="aligncenter size-full wp-image-440" title="b12" src="http://programminglearning.files.wordpress.com/2010/11/b12.png?w=630" alt=""   /></a></p>
<p>Apabila telah berjalan sesuai dengan di atas, maka anda telah berhasil membuat aplikasi jadi #1 anda dengan menggunakan android. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Demikian tutorial ini semoga dapat menambah ilmu anda, apabila anda ingin mendownload source code aplikasi ini bisa didownload <a title="Source code aplikasi dietmeters" href="http://bit.ly/eLp2gH" target="_blank">disini</a>.</p>
<p><strong>Soal Latihan :</strong></p>
<p>- sebenarnya coding tersebut masih bisa dipersingkat dengan hanya memanfaatkan 1 form saja dan code yang bisa dipersingkat juga (dalam tutorial sengaja untuk dipanjangkan), cobalah untuk mengerjakan kasus ini. apabila anda bisa dan berkenan,silahkan share disini supaya teman2 yang lain bisa melihatnya atau pm saya apabila kesulitan mengerjakan ini. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/428/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/428/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/428/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=428&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2010/11/26/android-aplikasi-1-dietmeter/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b1.png?w=300" medium="image">
			<media:title type="html">b1</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b2.png?w=217" medium="image">
			<media:title type="html">b2</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b3.png?w=293" medium="image">
			<media:title type="html">b3</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b4.png?w=255" medium="image">
			<media:title type="html">b4</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b5.png?w=300" medium="image">
			<media:title type="html">b5</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b6.png?w=300" medium="image">
			<media:title type="html">b6</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b7.png?w=300" medium="image">
			<media:title type="html">b7</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b8.png?w=300" medium="image">
			<media:title type="html">b8</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b9.png?w=300" medium="image">
			<media:title type="html">b9</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b10.png" medium="image">
			<media:title type="html">b10</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b11.png" medium="image">
			<media:title type="html">b11</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/b12.png" medium="image">
			<media:title type="html">b12</media:title>
		</media:content>
	</item>
		<item>
		<title>[Android] Membuat Menu List</title>
		<link>http://programminglearning.wordpress.com/2010/11/24/android-membuat-menu-list/</link>
		<comments>http://programminglearning.wordpress.com/2010/11/24/android-membuat-menu-list/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 18:15:43 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android menu]]></category>
		<category><![CDATA[menu list android]]></category>
		<category><![CDATA[menu list image android]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=417</guid>
		<description><![CDATA[Pada tutorial kali ini kita akan mencoba membuat aplikasi android dimana akan menampilkan menu list, menu list ini akan menampilkan menu secara vertical. Untuk membuatnya ikuti langkah-langkah sebagai berikut : Buat Project android yang baru Klik Next dan isikan konfigurasi sebagai berikut : Setelah itu pada edisi ini kita tidak akan mengubah main.xml karena kita [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=417&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pada tutorial kali ini kita akan mencoba membuat aplikasi android dimana akan menampilkan menu list, menu list ini akan menampilkan menu secara vertical. Untuk membuatnya ikuti langkah-langkah sebagai berikut :<span id="more-417"></span></p>
<ol>
<li>Buat Project android yang baru <a href="http://programminglearning.files.wordpress.com/2010/11/a16.png"><img class="aligncenter size-medium wp-image-418" title="a1" src="http://programminglearning.files.wordpress.com/2010/11/a16.png?w=300&#038;h=285" alt="" width="300" height="285" /></a></li>
<li>Klik <strong>Next </strong>dan isikan konfigurasi sebagai berikut : <a href="http://programminglearning.files.wordpress.com/2010/11/a21.png"><img class="aligncenter size-medium wp-image-419" title="a2" src="http://programminglearning.files.wordpress.com/2010/11/a21.png?w=216&#038;h=300" alt="" width="216" height="300" /></a></li>
<li>Setelah itu pada edisi ini kita tidak akan mengubah <em>main.xml </em>karena kita akan membuat tampilan secara runtime <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , kita buka <em>ActivityListMenu.java </em> dan kita tempelkan code sebagai berikut :</li>
<p><pre class="brush: java;">
package com.listmenu;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class ActivityListMenu extends ListActivity {
 @Override
 public void onCreate(Bundle icicle) {
 super.onCreate(icicle);

 String[] DietMeter = new String[] { &quot;Normal Meter&quot;, &quot;Ideal Meter&quot;};
 this.setListAdapter(new ArrayAdapter&lt;String&gt;(this,android.R.layout.simple_list_item_1, DietMeter));
 //setContentView(R.layout.main);
 }

 @Override
 protected void onListItemClick(ListView l, View v, int position, long id) {
 super.onListItemClick(l, v, position, id);
 Object o = this.getListAdapter().getItem(position);
 String keyword = o.toString();
 Toast.makeText(this, &quot;Menu Diet : &quot; + keyword, Toast.LENGTH_LONG).show();

 }
}
</pre></p>
<p>Dapat kita lihat code di atas, kita tidak lagi mengimport lib <em>android.app.Activity</em> tetapi kita menggunakan <em>android.app.List Activity</em> , hal ini karena kita akan membuat suatu list menu dalam form tersebut dan secara otomatis main class dari class activity tersebut adalah class yang di-extends dari <em>ListActivity.</em></p>
<p>Pada main method OnCreate kita membuat suatu array string dimana kita namakan <em>DietMeter </em>dan kita isikan 2 value didalamnya, setelah itu kita memasangkan array tersebut sebagai items dari listmenu yang kita bentuk.</p>
<p>Selanjutnya kita membuat suatu method override yang merupakan event daripada ListMenu ini, dan kita isikan code dimana apabila diklik akan menampilkan menu item yang kita pilih.</p>
<li>Jalankan aplikasi ini, dan akan tampil sebagai berikut : <a href="http://programminglearning.files.wordpress.com/2010/11/a31.png"><img class="aligncenter size-medium wp-image-420" title="a3" src="http://programminglearning.files.wordpress.com/2010/11/a31.png?w=205&#038;h=300" alt="" width="205" height="300" /></a></li>
</ol>
<p>Apabila hasil seperti gambar diatas maka aplikasi menu telah berhasil dibuat.</p>
<p><strong><em>Icon Dalam Menu</em></strong></p>
<p>Dalam listmenu kali ini kita akan menambahkan icon didalam item menu tersebut, caranya adalah kita buat file xml bernama baris.xml yang kita pasangkan di direktori layout, caranya adalah di direktori res/layout kita klik kanan dan pilih menu <strong><em>New-Other </em></strong>dan pilih menu <em>Android XML File </em> dan klik <strong>Next</strong> lalu isikan sebagai berikut  :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a41.png"><img class="aligncenter size-medium wp-image-421" title="a4" src="http://programminglearning.files.wordpress.com/2010/11/a41.png?w=287&#038;h=300" alt="" width="287" height="300" /></a></p>
<p>Klik <strong>Finish. </strong>Selanjutnya kita isikan <em>baris.xml </em>sebagai berikut :</p>
<p><pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;&gt;
 &lt;ImageView
 android:id=&quot;@+id/icon&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:src=&quot;@drawable/icon&quot;
 android:layout_width=&quot;22px&quot;
 android:layout_marginTop=&quot;4px&quot;
 android:layout_marginRight=&quot;4px&quot;
 android:layout_marginLeft=&quot;4px&quot;&gt;
 &lt;/ImageView&gt;
 &lt;TextView
 android:text=&quot;@+id/TextView01&quot;
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:id=&quot;@+id/label&quot;
 android:textSize=&quot;30px&quot;&gt;&lt;/TextView&gt;
&lt;/LinearLayout&gt;
</pre></p>
<p>Lalu code pada <em>ActivityListMenu.java kita hanya akan ubah sedikit saja, perhatikan code seluruhnya :</em></p>
<p><pre class="brush: java;">
package com.listmenu;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class ActivityListMenu extends ListActivity {
 @Override
 public void onCreate(Bundle icicle) {
 super.onCreate(icicle);

 String[] DietMeter = new String[] { &quot;Normal Meter&quot;, &quot;Ideal Meter&quot;};
 this.setListAdapter(new ArrayAdapter&lt;String&gt;(this,R.layout.baris, DietMeter));
 //setContentView(R.layout.main);
 }

 @Override
 protected void onListItemClick(ListView l, View v, int position, long id) {
 super.onListItemClick(l, v, position, id);
 Object o = this.getListAdapter().getItem(position);
 String keyword = o.toString();
 Toast.makeText(this, &quot;Menu Diet : &quot; + keyword, Toast.LENGTH_LONG).show();

 }
}
</pre></p>
<p>Code diatas sebagian besar sama hanya saja kita menggunakan layout sendiri di <em>ArrayAdapter </em>dan memberitahukan adapter untuk memakai layout yang elemen UInya harus mengandung teks. Code yang beda adalah pada baris ini :</p>
<p><pre class="brush: java;">
this.setListAdapter(new ArrayAdapter&lt;String&gt;(this,R.layout.baris, DietMeter));
</pre></p>
<p>Dan coba jalankan, apabila aplikasi telah benar akan tampil hasil sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a51.png"><img class="aligncenter size-medium wp-image-422" title="a5" src="http://programminglearning.files.wordpress.com/2010/11/a51.png?w=204&#038;h=300" alt="" width="204" height="300" /></a></p>
<p>tutorial selanjutnya adalah bagaimana menampilkan form baru ketika menu tersebut diklik dengan meneruskan project ini.</p>
<p>Demikian tutorial ini, semoga dapat menambah ilmu bagi kita semua. Untuk mendownload source project ini bisa didownload <a title="Source code menu list" href="http://bit.ly/fbR0sa">disini</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/417/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=417&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2010/11/24/android-membuat-menu-list/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a16.png?w=300" medium="image">
			<media:title type="html">a1</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a21.png?w=216" medium="image">
			<media:title type="html">a2</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a31.png?w=205" medium="image">
			<media:title type="html">a3</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a41.png?w=287" medium="image">
			<media:title type="html">a4</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a51.png?w=204" medium="image">
			<media:title type="html">a5</media:title>
		</media:content>
	</item>
		<item>
		<title>[Android] Membuat Aplikasi HelloWorld</title>
		<link>http://programminglearning.wordpress.com/2010/11/24/android-membuat-aplikasi-helloworld/</link>
		<comments>http://programminglearning.wordpress.com/2010/11/24/android-membuat-aplikasi-helloworld/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 07:45:11 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android helloworld]]></category>
		<category><![CDATA[aplikasi android]]></category>
		<category><![CDATA[aplikasi sederhana android]]></category>
		<category><![CDATA[my first android application]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=383</guid>
		<description><![CDATA[Pada tutorial kali ini saya akan mengajarkan bagaimana membuat aplikasi sederhana dengan android, bagi yang belum mengetahui bagaimana caranya untuk menginstall android silahkan menuju disini dahulu. seperti pada umumnya pemrograman yang lain, sebagai pengenalan kita akan membuat suatu aplikasi yang sangat terkenal yaitu “Hello World” , apa sih sebenarnya aplikasi ini???hehehe…saya rasa pertanyaan ini tidak [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=383&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pada tutorial kali ini saya akan mengajarkan bagaimana membuat aplikasi sederhana dengan android, bagi yang belum mengetahui bagaimana<span id="more-383"></span> caranya untuk menginstall android silahkan menuju <a title="[Android] Instalasi Android Package ke Eclipse IDE" href="http://programminglearning.wordpress.com/2010/11/20/android-instalasi-android-package-ke-eclipse-ide/">disini dahulu</a>. seperti pada umumnya pemrograman yang lain, sebagai pengenalan kita akan membuat suatu aplikasi yang sangat terkenal yaitu “Hello World” <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , apa sih sebenarnya aplikasi ini???hehehe…saya rasa pertanyaan ini tidak akan muncul di benak kita semua bagi yang sudah belajar bahasa pemrograman yang lain <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , aplikasi hello world hanyalah aplikasi yang menampilkan tulisan “Hello World”..,bahkan karena popularitas aplikasi ini <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) orang belum dianggap programmer suatu bahasa tertentu apabila belum dapat membuat aplikasi ini.hahahaha..,daripada ngelantur kemana-mana mari kita mulai membuat aplikasi ini :</p>
<ol>
<li>Buka Eclipse, dan buat project android baru : <a href="http://programminglearning.files.wordpress.com/2010/11/a1.png"><img class="aligncenter size-full wp-image-384" title="a1" src="http://programminglearning.files.wordpress.com/2010/11/a1.png?w=630" alt=""   /></a></li>
<li>Klik <strong>Next</strong> dan isi sesuai dengan gambar ini (dibagi menjadi 2 gambar karena window yang panjang) <a href="http://programminglearning.files.wordpress.com/2010/11/a2.png"><img class="aligncenter size-full wp-image-385" title="a2" src="http://programminglearning.files.wordpress.com/2010/11/a2.png?w=630" alt=""   /></a><a href="http://programminglearning.files.wordpress.com/2010/11/a3.png"><img class="aligncenter size-full wp-image-386" title="a3" src="http://programminglearning.files.wordpress.com/2010/11/a3.png?w=630" alt=""   /></a></li>
<li>Klik <strong>Finish </strong>dan akan muncul project android di workspace seperti berikut ini :<a href="http://programminglearning.files.wordpress.com/2010/11/a4.png"><img class="aligncenter size-full wp-image-387" title="a4" src="http://programminglearning.files.wordpress.com/2010/11/a4.png?w=630" alt=""   /></a></li>
</ol>
<p>Tentunya dalam project tersebut banyak file2 yang ditemukan..,tidak usah dihafalkan satu persatu <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  karena hanya ada 3 file penting dalam project itu yaitu :</p>
<ul>
<li><strong><em>Main.xml</em></strong></li>
</ul>
<p style="padding-left:60px;">File ini digunakan untuk design user interface di android.</p>
<ul>
<li><strong><em>String.xml</em></strong></li>
</ul>
<p style="padding-left:60px;">File ini untuk membantu daripada file main.xml, supaya terlihat rapi (tidak terlalu panjang) maka kita dapat membuat object disini dan di main.xml kita hanya memanggil nama dari object itu saja <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<ul>
<li><strong><em>TampilkanHelloWorld.java</em></strong></li>
</ul>
<p style="padding-left:60px;">File ini tentunya tidak asing lagi <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , file ini merupakan main code daripada project ini. Disini kita akan <em>bercoding ria</em>.</p>
<p>File mappingnya adalah sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a5.png"><img class="aligncenter size-full wp-image-388" title="a5" src="http://programminglearning.files.wordpress.com/2010/11/a5.png?w=630" alt=""   /></a></p>
<p>Pada aplikasi helloworld ini kita akan membuat layout sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a6.png"><img class="aligncenter size-full wp-image-389" title="a6" src="http://programminglearning.files.wordpress.com/2010/11/a6.png?w=630" alt=""   /></a></p>
<p>Nah dari design layout itu nantinya apabila kita klik tombol “tampilkan” di editText akan keluar tulisan “Hello World, This is my first application using android!”, untuk itu kita buka main.xml dan kita buat layout sebagai berikut :</p>
<p><pre class="brush: xml;">
&lt;?xml version=&lt;em&gt;&quot;1.0&quot;&lt;/em&gt; encoding=&lt;em&gt;&quot;utf-8&quot;&lt;/em&gt;?&gt;

&lt;LinearLayout xmlns:android=&lt;em&gt;&quot;http://schemas.android.com/apk/res/android&quot; &lt;/em&gt;

&lt;em&gt; &lt;/em&gt;android:orientation=&lt;em&gt;&quot;vertical&quot; &lt;/em&gt;android:layout_width=&lt;em&gt;&quot;fill_parent&quot; &lt;/em&gt;android:layout_height=&lt;em&gt;&quot;fill_parent&quot;&lt;/em&gt;&gt;

&lt;TextView android:layout_width=&lt;em&gt;&quot;fill_parent&quot; &lt;/em&gt;android:layout_height=&lt;em&gt;&quot;wrap_content&quot;&lt;/em&gt; android:text=&lt;em&gt;&quot;@string/hello&quot;&lt;/em&gt;/&gt;

&lt;EditText android:text=&lt;em&gt;&quot;&quot;&lt;/em&gt; android:id=&lt;em&gt;&quot;@+id/edHello&quot;&lt;/em&gt; android:layout_width = &lt;em&gt;&quot;fill_parent&quot;&lt;/em&gt; android:layout_height=&lt;em&gt;&quot;wrap_content&quot;&lt;/em&gt; android:inputType=&lt;em&gt;&quot;text&quot;&lt;/em&gt;&gt;&lt;/EditText&gt;

&lt;Button android:text=&lt;em&gt;&quot;Tampilkan&quot;&lt;/em&gt; android:id=&lt;em&gt;&quot;@+id/btnTampil&quot;&lt;/em&gt; android:layout_width = &lt;em&gt;&quot;fill_parent&quot;&lt;/em&gt; android:layout_height=&lt;em&gt;&quot;wrap_content&quot;&lt;/em&gt; android:onClick = &lt;em&gt;&quot;TampilTulisan&quot;&lt;/em&gt;&gt;&lt;/Button&gt;

&lt;/LinearLayout&gt;
</pre></p>
<p>Desain layout ini bersifat <em>linear layout, </em>sesuai dengan namanya per-object akan menghandle 1 row/baris. Selanjutnya apa yang akan kita lakukan???kita akan mengubah string.xml, berikut ini adalah perubahannya :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a7.png"><img class="aligncenter size-full wp-image-390" title="a7" src="http://programminglearning.files.wordpress.com/2010/11/a7.png?w=630" alt=""   /></a></p>
<p>Ubah value pada resource “hello” menjadi seperti di atas.</p>
<ul>
<li>Kemudian setelah itu kita akan memasuki inti dari programming itu yaitu “coding”. Kita buka “TampilkanHelloWorld.java” lalu akan muncul editor, kita isikan code berikut ini :</li>
</ul>
<p><pre class="brush: java;">
package com.helloworld;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Button;

public class TampilkanHelloWorld extends Activity {
 /** Called when the activity is first created. */
 private EditText edHello;
 private Button btnTampil;

 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 edHello = (EditText) findViewById(R.id.edHello);
 btnTampil = (Button) findViewById(R.id.btnTampil);
 }

 public void TampilTulisan(View view){
 edHello.setText(&quot;Hello World, This is my first android application!&quot;);
 }
}
</pre></p>
<p>Pada code di atas kita lihat ada penambahan import lib yaitu</p>
<p><pre class="brush: java;">
import android.view.View;
import android.widget.EditText;
import android.widget.Button;
</pre></p>
<p>Lib ini ditambahkan karena beberapa object ada dalam lib tersebut. Di code tersebut juga dapat kita lihat pada activity terdapat 2 pendeklarasian object EditText dan Button dan disamping itu juga terdapat method <em>OnCreate, </em>method itu yang akan dijalankan pertama kali ketika aplikasi berjalan.</p>
<p>Pada Code terdapat method <em>TampilTulisan </em>dimana akan dipanggil ketika button <em>btnTampil </em>itu ditekan/diklik, kenapa kita tidak membuat <em>SetListener </em>untuk btnTampil???lihat pada main.xml di baris ini :</p>
<p><pre class="brush: xml;">
&lt;Button android:text=&lt;em&gt;&quot;Tampilkan&quot;&lt;/em&gt; android:id=&lt;em&gt;&quot;@+id/btnTampil&quot;&lt;/em&gt; android:layout_width = &lt;em&gt;&quot;fill_parent&quot;&lt;/em&gt;

android:layout_height=&lt;em&gt;&quot;wrap_content&quot;&lt;/em&gt; &lt;strong&gt;android:onClick = &lt;em&gt;&quot;TampilTulisan&lt;/em&gt;&lt;em&gt;&quot;&lt;/em&gt;&lt;/strong&gt;&gt;&lt;/Button&gt;

&lt;/LinearLayout&gt;
</pre></p>
<p>Ya, kita gunakan main.xml untuk pendeklarasian event btnTampil <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>What’s next???selanjutnya kita akan mencoba menjalankan aplikasi ini, bagaimana caranya agar aplikasi ini dapat berjalan di emulator android??? Langkah-langkahnya adalah sebagai berikut :</p>
<ol>
<li>Klik kanan pada package HelloWorld dan pilih menu <strong><em>Run As-&gt;Run Configurations.. </em></strong>lalu akan muncul dialog sebagai berikut :<a href="http://programminglearning.files.wordpress.com/2010/11/a8.png"><img class="aligncenter size-full wp-image-391" title="a8" src="http://programminglearning.files.wordpress.com/2010/11/a8.png?w=630" alt=""   /></a></li>
<p>Pada <em>Android Application </em>klik kanan dan pilih menu <em>New </em>dan kita isikan sebagai berikut :<br />
<a href="http://programminglearning.files.wordpress.com/2010/11/a9.png"><img class="aligncenter size-full wp-image-392" title="a9" src="http://programminglearning.files.wordpress.com/2010/11/a9.png?w=630" alt=""   /></a></p>
<p>Jangan lupa di tab <em>Target </em>kita tentukan target emulator kita sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a10.png"><img class="aligncenter size-full wp-image-393" title="a10" src="http://programminglearning.files.wordpress.com/2010/11/a10.png?w=630" alt=""   /></a></p>
<p><em><strong>*Pembuatan virtual device telah diajarkan pada tutorial sebelumnya.</strong></em></p>
<p>OK kita tekan <strong><em>Apply </em></strong>dan <strong><em>Run </em></strong>akan muncul emulator sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a11.png"><img class="aligncenter size-full wp-image-394" title="a11" src="http://programminglearning.files.wordpress.com/2010/11/a11.png?w=630" alt=""   /></a></p>
<p>Gambar di atas menunjukkan bahwa emulator sedang melakukan persiapan sebelum dapat digunakan, tunggu sebentar sampai muncul gambar di bawah ini :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a12.png"><img class="aligncenter size-full wp-image-395" title="a12" src="http://programminglearning.files.wordpress.com/2010/11/a12.png?w=630" alt=""   /></a></p>
<p>Untuk melihat aplikasi yang sudah kita buat, seharusnya cukup dengan membuka kuncinya saja sudah otomatis running aplikasi yang telah kita buat, tapi apabila belum kita klik tombol seperti gambar di bawah ini :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a13.png"><img class="aligncenter size-full wp-image-396" title="a13" src="http://programminglearning.files.wordpress.com/2010/11/a13.png?w=630" alt=""   /></a></p>
<p>Lalu akan muncul beberapa aplikasi kita pilih aplikasi yang telah kita buat :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a14.png"><img class="aligncenter size-full wp-image-397" title="a14" src="http://programminglearning.files.wordpress.com/2010/11/a14.png?w=630" alt=""   /></a></p>
<p>OK,apabila benar maka aplikasi kita akan berjalan sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/a15.png"><img class="aligncenter size-full wp-image-398" title="a15" src="http://programminglearning.files.wordpress.com/2010/11/a15.png?w=630" alt=""   /></a></p>
<p>Tekan tombolnya dan akan keluar text seperti gambar di atas, selamat aplikasi android anda sudah selesai <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Demikian tutorial ini semoga apa yang saja sampaikan dapat berguna bagi anda sekalian. Apabila anda ingin mendownload filenya silahkan download <a title="Download source code tutorial" href="http://bit.ly/eh5Yo4" target="_blank">disini</a></ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/383/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=383&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2010/11/24/android-membuat-aplikasi-helloworld/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a1.png" medium="image">
			<media:title type="html">a1</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a2.png" medium="image">
			<media:title type="html">a2</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a3.png" medium="image">
			<media:title type="html">a3</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a4.png" medium="image">
			<media:title type="html">a4</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a5.png" medium="image">
			<media:title type="html">a5</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a6.png" medium="image">
			<media:title type="html">a6</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a7.png" medium="image">
			<media:title type="html">a7</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a8.png" medium="image">
			<media:title type="html">a8</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a9.png" medium="image">
			<media:title type="html">a9</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a10.png" medium="image">
			<media:title type="html">a10</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a11.png" medium="image">
			<media:title type="html">a11</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a12.png" medium="image">
			<media:title type="html">a12</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a13.png" medium="image">
			<media:title type="html">a13</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a14.png" medium="image">
			<media:title type="html">a14</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/a15.png" medium="image">
			<media:title type="html">a15</media:title>
		</media:content>
	</item>
		<item>
		<title>[Android] Instalasi Android Package ke Eclipse IDE</title>
		<link>http://programminglearning.wordpress.com/2010/11/20/android-instalasi-android-package-ke-eclipse-ide/</link>
		<comments>http://programminglearning.wordpress.com/2010/11/20/android-instalasi-android-package-ke-eclipse-ide/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 17:39:47 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android installation]]></category>
		<category><![CDATA[eclipse android]]></category>
		<category><![CDATA[install android]]></category>
		<category><![CDATA[install android-eclipse]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=373</guid>
		<description><![CDATA[Android,siapa yang belum kenal istilah satu ini???salah satu produk dari google yang sedang merajalela saat ini.Android merupakan suatu Operating System dimana diusung dari keluarga unix.Kelebihan android(menurut pengalaman pribadi), adalah : User friendly,mudah digunakan. Fitur2 bawaan yang sesuai dengan kebutuhan. Terdapat market placenya,sehingga kita dapat men-download aplikasi2 sendiri. Bagi para developer,terdapat hal yang sangat menggembirakan..karena SDK [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=373&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Android,siapa yang belum kenal istilah satu ini???salah satu produk dari google yang sedang merajalela saat ini.Android merupakan suatu Operating System dimana diusung dari keluarga unix.Kelebihan android(menurut pengalaman pribadi), adalah :<span id="more-373"></span></p>
<ul>
<li>User friendly,mudah digunakan.</li>
<li>Fitur2 bawaan yang sesuai dengan kebutuhan.</li>
<li>Terdapat market placenya,sehingga kita dapat men-download aplikasi2 sendiri.</li>
</ul>
<p>Bagi para developer,terdapat hal yang sangat menggembirakan..karena SDK android adalah berbasis java dan instalasi yang cukup mudah,serta tidak memerlukan efforts yang tinggi. Android juga support database SQLite sehingga kita dapat membuat aplikasi database dengan mudah dan hampir seperti aplikasi desktop pada umumnya.untuk mencoba bercoding ria di android kita tidak memerlukan <em>gadget</em> nya tapi cukup menginstall SDKnya yang sudah termasuk emulator di dalamnya <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Seperti yang telah dijelaskan di atas, bahwa aplikasi android adalah berbasis java maka <strong>anda harus paling tidak mengenal dasar-dasar java</strong> sebelum beranjak membuat aplikasi android <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Apa  yang harus dilakukan untuk bisa memulai bercoding ria dengan  android???mudah sekali,silahkan ikuti langkah2 dibawah ini :</p>
<ol>
<li>Download dan install JDK di <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">sini</a></li>
<li>Download dan install eclipse <a href="http://www.eclipse.org/" target="_blank">disini</a> (pilih paket yang klasik saja)</li>
<li>Download Android SDK <a href="http://developer.android.com/sdk/index.html" target="_blank">disini</a> (silahkan sesuaikan dengan sistem operasi yang anda gunakan), setelah itu silahkan extract file downloadnya ke path C:\ dan silahkan buka aplikasi &#8220;SDK Manager.exe&#8221; yang terdapat didalamnya, apabila terdapat dialog seperti ini dan terdapat beberapa isian maka anda diharuskan untuk melakukan update sdk android,klik accept all dan klik install.</li>
<p><a href="http://programminglearning.files.wordpress.com/2010/11/andupdate.png"><img class="aligncenter size-full wp-image-374" title="Android Update" src="http://programminglearning.files.wordpress.com/2010/11/andupdate.png?w=630" alt=""   /></a></p>
<li>Install ADT (Android Development Tool) ke dalam eclipse, caranya pilih menu <em>help-&gt;install new Software.. </em>dan akan muncul dialog seperti dibawah ini,isikan &#8220;https://dl-ssl.google.com/android/eclipse/&#8221; (tanpa tanda petik) ke dalam field &#8220;Work with&#8221; lalu cek list semua yang ada di daftar/ select all. <a href="http://programminglearning.files.wordpress.com/2010/11/andinstall.png"><img class="aligncenter size-full wp-image-375" title="Daftar Instalasi ADT" src="http://programminglearning.files.wordpress.com/2010/11/andinstall.png?w=630" alt=""   /></a></li>
<li>Klik Next dan tunggu sampai proses instalasi selesai. setelah itu klik menu <em>Window-&gt;Preferences </em>dan masuk ke tree Android lalu isikan lokasi SDK Android yang telah anda download tadi, apabila benar akan muncul seperti gambar dibawah ini , klik apply dan OK.<a href="http://programminglearning.files.wordpress.com/2010/11/andpck.png"><img class="aligncenter size-full wp-image-376" title="andpck" src="http://programminglearning.files.wordpress.com/2010/11/andpck.png?w=630" alt=""   /></a></li>
<li>Lalu langkah terakhir anda diharuskan membuat worksapce untuk emulatornya, caranya dengan klik menu <em>Window-&gt;Android SDK and AVD Manager </em>seperti gambar di bawah ini <a href="http://programminglearning.files.wordpress.com/2010/11/andavd.png"><img class="aligncenter size-full wp-image-377" title="Android AVD Wizard" src="http://programminglearning.files.wordpress.com/2010/11/andavd.png?w=630" alt=""   /></a></li>
<li>Apabila daftar masih kosong, maka klik new dan isikan sebagai berikut lalu klik Create AVD :<a href="http://programminglearning.files.wordpress.com/2010/11/andavdi.png"><img class="aligncenter size-full wp-image-378" title="Android AVD" src="http://programminglearning.files.wordpress.com/2010/11/andavdi.png?w=630" alt=""   /></a></li>
<li>Proses instalasi sudah selesai,untuk memastikan bahwa anda dapat membuat aplikasi android maka klik menu <em>File-&gt;New-&gt;Other </em>dan pastikan bahwa menu android telah ada dalam daftar tersebut seperti dalam gambar di bawah ini :<a href="http://programminglearning.files.wordpress.com/2010/11/andnew.png"><img class="aligncenter size-full wp-image-379" title="Android telah terpasang" src="http://programminglearning.files.wordpress.com/2010/11/andnew.png?w=630" alt=""   /></a></li>
</ol>
<p>Selamat android telah terinstall dan siap digunakan! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , silahkan ber-eskplorasi terlebih dahulu dan artikel selanjutnya adalah tentang <a title="[Android] Membuat Aplikasi HelloWorld" href="http://programminglearning.wordpress.com/2010/11/24/android-membuat-aplikasi-helloworld/">membuat aplikasi helloworld di android </a> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Demikian artikel ini semoga apa yang saya sampaikan dapat bermanfaat bagi anda.Terima Kasih.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/373/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=373&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2010/11/20/android-instalasi-android-package-ke-eclipse-ide/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/andupdate.png" medium="image">
			<media:title type="html">Android Update</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/andinstall.png" medium="image">
			<media:title type="html">Daftar Instalasi ADT</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/andpck.png" medium="image">
			<media:title type="html">andpck</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/andavd.png" medium="image">
			<media:title type="html">Android AVD Wizard</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/andavdi.png" medium="image">
			<media:title type="html">Android AVD</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2010/11/andnew.png" medium="image">
			<media:title type="html">Android telah terpasang</media:title>
		</media:content>
	</item>
		<item>
		<title>[Delphi-Tips] TObject dalam TStrings</title>
		<link>http://programminglearning.wordpress.com/2009/12/21/delphi-tips-tobject-dalam-tstrings/</link>
		<comments>http://programminglearning.wordpress.com/2009/12/21/delphi-tips-tobject-dalam-tstrings/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 16:36:39 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Delphi TStrings]]></category>
		<category><![CDATA[Tips TStrings]]></category>
		<category><![CDATA[TObject]]></category>
		<category><![CDATA[TObject dalam TStrings]]></category>
		<category><![CDATA[TStrings]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=364</guid>
		<description><![CDATA[Lama gak nulis tutorial, agak kaku juga neh , kali ini saya akan membahas bagaimana menyimpan TObject pada sebuah variable bertipe TStrings. sebelum membahas lebih lanjut kita definisikan dulu TObject tuh apa sih??? TObject adalah seperti dikutip dari http://www.delphibasics.co.uk/RTL.asp?Name=TObject The TObject type defines the base class type. It is the oldest grandparent of all classes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=364&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lama gak nulis tutorial, agak kaku juga neh <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  , kali ini saya akan membahas bagaimana menyimpan TObject pada sebuah variable bertipe TStrings. sebelum membahas lebih lanjut kita definisikan dulu TObject tuh apa sih??? TObject adalah<span id="more-364"></span> seperti dikutip dari http://www.delphibasics.co.uk/RTL.asp?Name=TObject</p>
<blockquote><p>The <span style="color:#996600;"><strong>TObject</strong></span> type defines the base class type. It is the oldest grandparent of all classes &#8211; every class is ultimately derived from <span style="color:#996600;"><strong>TObject</strong></span>.</p></blockquote>
<p>yang artinya kira2 begini, TObject merupakan suatu definisi tipe dimana merupakan dasar daripada tipe suatu class, merupakan suatu jenis awal semua class. semua class itu berasal dari TObject. nah cukuplah pembahasan tentang TObject, sekarang saanya bermain2 sesuai dengan judulnya. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Dalam contoh kali ini saya akan menggunakan komponen TComboBox, seringkali kita menambahkan items cukup dengan contoh berikut ini :</p>
<p><pre class="brush: delphi;">

ComboBox1.Items.Add(&quot;testing&quot;);

</pre></p>
<p>nah, apabila hanya menambahkan item seperti di atas, maka kita hanya memiliki 1 value yaitu &#8220;testing&#8221; setiap kali kita memilihnya, bagaimana kita menyimpan beberapa nilai seperti yang dimiliki ComboBox pada html??? misalkan ada kasus sebagai berikut :</p>
<p>ID | Nama</p>
<p>1 | Testing</p>
<p>2 | Lagi2 Testing</p>
<p>nah kita ingin menampilkan data dimana apabila dipilih maka kita sebenernya hanya membutuhkan value ID tetapi untuk tampilan aplikasi sangatlah tidak sesuai apabila kita hanya menampilkan ID saja, karena user pasti akan bingung. sebenarnya itu bisa kita akali sebagai berikut :</p>
<p><pre class="brush: delphi;">

ComboBox1.Items.Add(&quot;1=&gt;Testing&quot;);

</pre></p>
<p>lalu dalam menyeleksinya kita parsing value yang terpilih, jadi kita hanya mengambil value &#8220;1&#8243; saja, tetapi lagi2 berhubungan dengan user interface, cara seperti ini malah akan membuat berantakan tampilan aplikasi. hal ini dapat kita selesaikan dengan menambahkan masing2 TObject ke dalam item tersebut. kita gunakan cara :</p>
<p><pre class="brush: delphi;">

ComboBox1.Items.AddObject(Const S: string ; AObject: TObject);

</pre></p>
<p>nah, untuk kasus ini saya akan memberikan data sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2009/12/1.jpg"><img class="aligncenter size-full wp-image-365" title="1" src="http://programminglearning.files.wordpress.com/2009/12/1.jpg?w=630" alt=""   /></a></p>
<p>nah tetapi dalam item yang ditampilkan, hanya menampilkan data pada kolom nama saja, ketika item terpilih kita dapat menarik  detail datanya. OK, caranya adalah sebagai berikut. pertama-tama kita membuat suatu class terlebih dahulu, bagi yang belum memahami cara pembuatan class silahkan kunjungi halaman http://programminglearning.wordpress.com/2009/05/02/bermain-main-dengan-class/</p>
<p><pre class="brush: delphi;">

TPLContoh = class
 private
FID,FNama,FAlamat: string;
 public
constructor Create(Const AID,ANama,AAlamat: string);
 end;

//...

implementation

constructor TPLContoh.Create(const AID, ANama, AAlamat: string);
begin
FID    := AID;
FNama  := ANama;
FAlamat:= AAlamat;
end;

</pre></p>
<p>dari kode di atas kita telah membuat suatu class dimana memiliki 3 atribut yaitu FID,FNama dan FAlamat. dan kita membuat suatu modifikasi constructor dimana berparameter 3 variable yang masing2 akan mengisikan value pada ketiga atribut class tersebut.</p>
<p>nah kemudian kita buat suatu rancangan form sebagai berikut :</p>
<p><a href="http://programminglearning.files.wordpress.com/2009/12/2.jpg"><img class="aligncenter size-full wp-image-366" title="2" src="http://programminglearning.files.wordpress.com/2009/12/2.jpg?w=630" alt=""   /></a></p>
<p>lalu kita tempelkan kode di form pada bagian event onCreate sebagai berikut :</p>
<p><pre class="brush: delphi;">

procedure TForm1.FormCreate(Sender: TObject);
CONST
 ArrContohData : array[0..3,0..2] of string = (
('1','Tigor Mangatur Manurung','Warung Bata, Yogyakarya'),
('2','Shinta Ayu Hadiyanti','Kasihan Bantul, Yogyakarta'),
('3','Roy Marulido Situmorang','Sorogenen, Yogyakarta'),
('4','Cempluk','Akakom')
);
var
i: integer;
begin
with ComboBox1 do
begin
Items.BeginUpdate;
Items.Clear;
for i:=Low(ArrContohData) to High(ArrContohData) do
begin
Items.AddObject(ArrContohData[i][1],
TPLContoh.Create(ArrContohData[i][0],ArrContohData[i][1],
ArrContohData[i][2]));
end;
Items.EndUpdate;
end;
end;

</pre></p>
<p>dari kode diatas dapat kita liat bahwa kita menggunakan Items.AddObject(ArrContohData[i][1],<br />
TPLContoh.Create(ArrContohData[i][0],ArrContohData[i][1],<br />
ArrContohData[i][2])); yang maksudnya adalah kita menambahkan suatu item pada combobox dan menempelkan suatu object ke dalam masing2 item.</p>
<p>kemudian untuk menampilkan data object, dapat kita lakukan dengan cara menempelkan kode di combobox pada event OnSelect seperti berikut ini :</p>
<p><pre class="brush: delphi;">

procedure TForm1.ComboBox1Select(Sender: TObject);
var
 strID,strNama,strAlamat: string;
begin
with ComboBox1 do
begin
strID     := TPLContoh(Items.Objects[ItemIndex]).FID;
strNama   := TPLContoh(Items.Objects[ItemIndex]).FNama;
strAlamat := TPLContoh(Items.Objects[ItemIndex]).FAlamat;
end;

ShowMessage('ID          : ' + strID + #13 +
'Nama     : ' + strNama + #13 +
'Alamat   : ' + strAlamat);
end;

</pre></p>
<p>berikut ini adalah hasilnya :</p>
<p><a href="http://programminglearning.files.wordpress.com/2009/12/3.jpg"><img class="aligncenter size-full wp-image-367" title="3" src="http://programminglearning.files.wordpress.com/2009/12/3.jpg?w=630" alt=""   /></a></p>
<p>Nah, ternyata ada yang kurang, yaitu kita perlu untuk membersihkanTObject2 yang terbentuk ketika kita akan menambahkan/mengakhiri seksi ini, yaitu dapat memanfaatkan method seperti ini :</p>
<p><pre class="brush: delphi;">

procedure FreeObjects(Const AStrings: TStrings);
var
idx : integer;
begin
for idx := 0 to Pred(AStrings.Count) do
begin
AStrings.Objects[idx].Free;
AStrings.Objects[idx] := nil;
end;
end;

</pre></p>
<p>panggil method di atas sebelum membersihkan item pada ComboBox atau pada saat mengakhiri Form <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>Demikian tutorial ini, semoga dapat menambah wawasan di dalam pemrograman delphi <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/364/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=364&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2009/12/21/delphi-tips-tobject-dalam-tstrings/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/12/1.jpg" medium="image">
			<media:title type="html">1</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/12/2.jpg" medium="image">
			<media:title type="html">2</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/12/3.jpg" medium="image">
			<media:title type="html">3</media:title>
		</media:content>
	</item>
		<item>
		<title>[Delphi] Membuat Komponen Sendiri</title>
		<link>http://programminglearning.wordpress.com/2009/07/09/delphi-membuat-komponen-sendiri/</link>
		<comments>http://programminglearning.wordpress.com/2009/07/09/delphi-membuat-komponen-sendiri/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 15:22:42 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Komponen Delphi]]></category>
		<category><![CDATA[Simple Encryptor]]></category>
		<category><![CDATA[VCL]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=325</guid>
		<description><![CDATA[Di tutorial ini,saya akan sedikit mencontohkan bagaimana membuat suatu komponen(VCL). seperti yang telah kita ketahui, ketika kita memakai delphi kita akan menemukan banyak sekali komponen-komponen yang dapat kita lihat di component pallete tetapi bagaimana membuat suatu komponen itu sendiri?rumitkah?jawabannya adalah tidak, &#8220;tidak&#8221; disini adalah dalam artian strukturisasi pembuatan sebuah komponen itu sendiri sebenarnya adalah simple, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=325&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Di tutorial ini,saya akan sedikit mencontohkan bagaimana membuat suatu komponen(VCL). seperti yang telah kita ketahui, ketika kita memakai delphi kita akan menemukan banyak sekali komponen-komponen yang dapat kita lihat di component pallete tetapi bagaimana membuat suatu komponen itu sendiri?rumitkah?jawabannya adalah tidak, &#8220;tidak&#8221; disini adalah dalam artian strukturisasi pembuatan sebuah komponen itu sendiri sebenarnya adalah simple, yang membuat itu tidak simple adalah ketika kita akan membuat suatu komponen yang sangat komplek tentunya <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . untuk membuat suatu komponen <span id="more-325"></span>sebelumnya kita harus dapat memahami tentang struktur class, apabila anda belum memahami ini alangkah baiknya apabila anda mencoba melihat artikel terdahulu yang ada di <a href="http://programminglearning.wordpress.com/2009/05/02/bermain-main-dengan-class/">http://programminglearning.wordpress.com/2009/05/02/bermain-main-dengan-class/</a>.</p>
<p style="text-align:justify;">Dalam tutorial ini akan saya bahas bagaimana membuat suatu komponen yang saya beri nama <strong>TSimpleEncryptor. </strong>seperti namanya, komponen ini mampu untuk melakukan proses enkripsi string sederhana.  terlebih dahulu kita akan membuat package baru dengan cara membuka delphi lalu klik <em>New -&gt; Package </em>dan akan terbentuk suatu package kosong dengan gambar sebagai berikut :</p>
<p><a rel="attachment wp-att-326" href="http://programminglearning.wordpress.com/2009/07/09/delphi-membuat-komponen-sendiri/empty_package/"><img class="aligncenter size-full wp-image-326" title="Package" src="http://programminglearning.files.wordpress.com/2009/07/empty_package.jpg?w=630" alt="Package"   /></a></p>
<p style="text-align:justify;">Kemudian kita membuat suatu unit baru dengan cara biasa yaitu klik <em>new &#8211; unit </em>dan akan terbentuk suatu unit baru yang otomatis akan terdaftar di package tersebut. lalu setelah itu kita membentuk suatu class <em>TSimpleEncryptor </em>yang merupakan suatu class dari TComponent, berikut ini adalah pendeklarasian TSimpleEncryptor beserta atribut-atributnya :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">
type
TModeOperation = (moEncrypt,moDecrypt);
TSimpleEncryptor = class(TComponent)
private
FInputStr: string;
FOutputStr: string;
FKey: integer;
FModeOperation: TModeOperation;
function Encrypt(const s: String; CryptInt: Integer): String;
function Decrypt(const s: String; CryptInt: Integer): String;
procedure SetInputString(const Value: string);
published
property InputString: string read FInputStr write SetInputString;
property OutputString: string read FOutputStr write FOutputStr;
property Key: integer read FKey write FKey;
property Mode: TModeOperation read FModeOperation write FModeOperation;
end;
</pre></pre>
<p style="text-align:justify;">pada kode di atas dapat kita lihat pendeklarasian &#8220;TModeOperation = (moEncrypt,moDecrypt);&#8221; . pendeklarasian type ini akan menjadi suatu indikator yang membedakan operasi enkripsi / dekripsi.</p>
<p style="text-align:justify;">Pada sub Published, terdapat beberapa property-property yang nantinya akan muncul pada object inspector. Komponen ini nantinya akan melakukan operasi enkripsi / dekripsi ketika InputString telah terisi / berubah. Sebelum melanjutkan lebih jauh saya akan menempelkan kode selengkapnya daripada unit ini  :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">

unit MainUnit;

interface
uses
Classes;

type
TModeOperation = (moEncrypt,moDecrypt);
TSimpleEncryptor = class(TComponent)
private
FInputStr: string;
FOutputStr: string;
FKey: integer;
FModeOperation: TModeOperation;
function Encrypt(const s: String; CryptInt: Integer): String;
function Decrypt(const s: String; CryptInt: Integer): String;
procedure SetInputString(const Value: string);
published
property InputString: string read FInputStr write SetInputString;
property OutputString: string read FOutputStr write FOutputStr;
property Key: integer read FKey write FKey;
property Mode: TModeOperation read FModeOperation write FModeOperation;
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents('ProgrammingLearning',[TSimpleEncryptor]);
end;

{ TSimpleEncryptor }

function TSimpleEncryptor.Decrypt(const s: String;
CryptInt: Integer): String;
var
i: integer;
s2: string;
begin
if not (Length(s) = 0) then
for i := 1 to Length(s) do
s2 := s2 + Chr(Ord(s[i]) - cryptint);
Result := s2;
end;

function TSimpleEncryptor.Encrypt(const s: String;
CryptInt: Integer): String;
var
i: integer;
s2: string;
begin
if not (Length(s) = 0) then
for i := 1 to Length(s) do
s2 := s2 + Chr(Ord(s[i]) + CrypTint);
Result := s2;
end;

procedure TSimpleEncryptor.SetInputString(const Value: string);
begin
case FModeOperation of
moEncrypt: FOutputStr := Encrypt(Value,FKey);
moDecrypt: FOutputStr := Decrypt(Value,FKey);
end;
FInputStr := Value;
end;

end.

</pre></pre>
<p>Untuk mendaftarkan komponen ke dalam menu Component pallete kita harus mendeklarasikan <strong>procedure Register </strong>yang isinya sebagai berikut (telah tercantum juga pada kode di atas) :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">

procedure Register; //pendeklarasiannya

implementation

procedure Register; //penjabarannya
begin
RegisterComponents('ProgrammingLearning',[TSimpleEncryptor]);
end;

</pre></pre>
<p style="text-align:justify;">Untuk menginstall komponen yang baru saja kita buat ini, kita simpan terlebih dahulu package + unit yang telah kita buat ini dan kita klik <em><strong>Install </strong></em>pada package dan apabila berhasil akan muncul dialog informasi sebagai berikut :</p>
<p><a rel="attachment wp-att-330" href="http://programminglearning.wordpress.com/2009/07/09/delphi-membuat-komponen-sendiri/instalasi_berhasil/"><img class="aligncenter size-full wp-image-330" title="Penginstalan komponen" src="http://programminglearning.files.wordpress.com/2009/07/instalasi_berhasil.jpg?w=630" alt="Penginstalan komponen"   /></a></p>
<p style="text-align:justify;">Selanjutnya daftarkan path library komponen dengan klik <em>Tools-&gt;Environment Options </em>masuk ke dalam tab library lalu tambahkan path pada input <em>Library Path </em>.</p>
<p>Sekedar review percobaan hasil komponen ditunjukkan pada gambar di bawah ini :</p>
<p><a rel="attachment wp-att-331" href="http://programminglearning.wordpress.com/2009/07/09/delphi-membuat-komponen-sendiri/review_pallete/"><img class="aligncenter size-full wp-image-331" title="List komponen Baru" src="http://programminglearning.files.wordpress.com/2009/07/review_pallete.jpg?w=630" alt="List komponen Baru"   /></a></p>
<p><a rel="attachment wp-att-331" href="http://programminglearning.wordpress.com/2009/07/09/delphi-membuat-komponen-sendiri/review_pallete/"></a><a rel="attachment wp-att-332" href="http://programminglearning.wordpress.com/2009/07/09/delphi-membuat-komponen-sendiri/object_inspector/"><img class="aligncenter size-full wp-image-332" title="Property Komponen" src="http://programminglearning.files.wordpress.com/2009/07/object_inspector.jpg?w=630" alt="Property Komponen"   /></a></p>
<p style="text-align:justify;">Apabila anda ingin melihat source komponen yang dibahas disini silahkan mendownloadnya di <a href="http://www.4shared.com/file/121763554/dbed20db/SimpleEncryptor.html" target="_blank">http://www.4shared.com/file/121763554/dbed20db/SimpleEncryptor.html</a></p>
<p>Demikian tutorial ini semoga dapat menambah wawasan teman-teman dalam pemrograman khususnya delphi.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/325/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/325/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=325&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2009/07/09/delphi-membuat-komponen-sendiri/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/07/empty_package.jpg" medium="image">
			<media:title type="html">Package</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/07/instalasi_berhasil.jpg" medium="image">
			<media:title type="html">Penginstalan komponen</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/07/review_pallete.jpg" medium="image">
			<media:title type="html">List komponen Baru</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/07/object_inspector.jpg" medium="image">
			<media:title type="html">Property Komponen</media:title>
		</media:content>
	</item>
		<item>
		<title>[Delphi] Berkenalan dengan Thread</title>
		<link>http://programminglearning.wordpress.com/2009/05/26/delphi-berkenalan-dengan-thread/</link>
		<comments>http://programminglearning.wordpress.com/2009/05/26/delphi-berkenalan-dengan-thread/#comments</comments>
		<pubDate>Tue, 26 May 2009 16:33:11 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[delphi thread]]></category>
		<category><![CDATA[multithread]]></category>
		<category><![CDATA[thread]]></category>
		<category><![CDATA[threading]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=285</guid>
		<description><![CDATA[Di Tutorial ini saya akan akan mengajak temen-temen untuk berkenalan dengan thread, sebelum memulai pengkodeannya terlebih dahulu kita harus mengetahui sebenarnya apa itu thread, pengertian ini dikutip dari http://wikipedia.org : Ulir atau thread (singkatan dari &#8220;thread of execution&#8220;) dalam ilmu komputer, diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=285&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Di Tutorial ini saya akan akan mengajak temen-temen untuk berkenalan dengan thread, sebelum memulai pengkodeannya terlebih dahulu kita harus mengetahui sebenarnya apa itu thread, pengertian ini dikutip dari <a href="http://id.wikipedia.org/wiki/Thread" target="_blank">http://wikipedia.org</a> :<span id="more-285"></span></p>
<blockquote><p><strong>Ulir</strong> atau <em><strong>thread</strong></em> (singkatan dari &#8220;<em>thread of execution</em>&#8220;) dalam <a title="Ilmu komputer" href="http://id.wikipedia.org/wiki/Ilmu_komputer">ilmu komputer</a>, diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara <em>time slice</em> (ketika satu <a title="CPU" href="http://id.wikipedia.org/wiki/CPU">CPU</a> melakukan perpindahan antara satu ulir ke ulir lainnya) atau <em>multiprocess</em> (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). Ulir sebenarnya mirip dengan <a title="Proses" href="http://id.wikipedia.org/wiki/Proses">proses</a>, tapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. <em>Multiplethread</em> dapat dilaksanakan secara sejajar pada sistem komputer. Secara umum <em>multithreading</em> melakukan <em>time-slicing</em> (sama dengan <em>time-division</em> multipleks), di mana sebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu. Teknik penggantian (<em>switching</em>) ini memungkinkan CPU seolah-olah bekerja secara serempak.</p></blockquote>
<p>nah, apabila telah paham akan pengertian sebuah thread rasanya tidak komplit apabila saya tidak mencontohkan / mengimplementasikannya. sebelumnya bagi temen-temen yang belum mengerti tentang pembuatan suatu class karena ini akan mengeksploitasi kemampuan pembuatan class silahkan belajar dulu cara membuat class di <a href="http://programminglearning.wordpress.com/2009/05/02/bermain-main-dengan-class/" target="_self">sini</a>. baik pertama kita buat rancangan form sebagai berikut :</p>
<p><a rel="attachment wp-att-288" href="http://programminglearning.wordpress.com/2009/05/26/delphi-berkenalan-dengan-thread/thread_design/"><img class="aligncenter size-full wp-image-288" title="Design Form" src="http://programminglearning.files.wordpress.com/2009/05/thread_design.jpg?w=630" alt="Design Form"   /></a></p>
<p>isi dari form tersebut hanya 5 panel,5 button dan 5 progressbar dan khusus untuk button dan progressbar namanya adalah untuk button : btn1,btn2,btn3,dst dan progressbar : pb1,pb2,pb3,dst.</p>
<p>Pertama-tama kita buat terlebih dahulu suatu class TThreadButton yang akan kita gunakan untuk mendefinisikan antara button dengan thread, class TThreadButton merupakan class turunan dari TButton, kita letakkan di atas class TForm itu sendiri, pendeklarasiannya adalah sebagai berikut :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">

TThreadButton = class(TButton)
aThread: TThread;
end;

</pre></pre>
<p>kemudian selanjutnya kita buat suatu thread yang kali ini saya beri nama TthCounter yang pendeklarasiannya adalah sebagai berikut :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">

TthCounter = class(TThread)
 private
  FMax,FCounter: integer;
  FCurr: Extended;
  FOwnerButton: TThreadButton;
  FProgressBar: TProgressBar;
  procedure SetOwnerButton(const aButton: TThreadButton);
  procedure SetProgressBar(const aProgressbar: TProgressBar);
  procedure StepProgress;
  { Private declarations }
 protected
  procedure Execute; override;
 public
  constructor Create(CreateSuspended: boolean);
  property ProgressBar: TProgressBar read FProgressBar write SetProgressBar;
  property OwnerButton: TThreadButton read FOwnerButton write SetOwnerButton;
end;

</pre></pre>
<p>dan sintak terusan untuk class TthCounter adalah sebagai berikut :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">

constructor TthCounter.Create(CreateSuspended: boolean);
begin
 inherited;
 FCounter                    := 0; //step awal kita beri nilai 0
 FMax                        := MAXINT; //maksimal step adalah nilai dari maksimal tipe integer
 FreeOnTerminate             := True; //lepaskan thread apabila terdeteksi ada pengakhiran aplikasi
end;

procedure TthCounter.Execute;
begin
 ProgressBar.Position          := 0;
 while ProgressBar.Position &amp;amp;amp;amp;amp;lt; 100 do
  begin
   StepProgress; //gunakan synchronize untuk pemanggilan suatu method
                //yang berhubungan dengan objek

   inc(FCounter,50000); //tambahkan nilai variabel FCounter sebanyak 50000
  end;

 OwnerButton.Caption := '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;Start';
 OwnerButton.aThread := nil;
end;

procedure TthCounter.SetOwnerButton(const aButton: TThreadButton);
begin
 FOwnerButton := aButton;
end;

procedure TthCounter.SetProgressBar(const aProgressbar: TProgressBar);
begin
 FProgressBar := aProgressbar;
end;

procedure TthCounter.StepProgress;
begin
 FCurr                 := (FCounter / FMax); //posisi sekarang
 ProgressBar.Position  := Round(FCurr * 100); //masukkan posisi progressbar
end;

</pre></pre>
<p>Selanjutnya pada Form kita buat prosedur yang nantinya berfungsi untuk memanggil thread tersebut, deklarasinya adalah sebagai berikut :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">

procedure ClickButton(aProgressBar: TProgressBar ; Sender: TObject);

</pre></pre>
<pre>dan sintak penerusnya adalah</pre>
<pre>
</pre>
<pre><pre class="brush: delphi;">

procedure TfrmMain.ClickButton(aProgressBar: TProgressBar ; Sender: TObject);
var
 aButton: TThreadButton;
 aThread: TthCounter;
begin
 aButton := TThreadButton(Sender); //definiskan aButton sesuai dengan pengirim perintah
 if not Assigned(aButton.aThread) then  //jika thread milik aButton belum terisi maka
  begin
   aThread                     := TthCounter.Create(True); //buat thread baru
   aProgressBar.DoubleBuffered := True; //supaya progressbar tidak flicker
   aThread.ProgressBar         := aProgressBar; //definisikan progressbar
   aButton.aThread             := aThread; //beri nilai thread milik aButton dgn thread deklarasi
   aThread.OwnerButton         := aButton; //isi properti thread
   aThread.Resume; //jalankan thread
   aButton.Caption             := '&amp;amp;amp;amp;amp;amp;Pause'; //ubah caption tombol
  end
else  //kondisi bahwa thread milik aButton telah terisi
 begin
  if aButton.aThread.Suspended then //apabila posisi suspend maka
   begin
    aButton.aThread.Resume; //jalankan ulang thread
    aButton.Caption := '&amp;amp;amp;amp;amp;amp;Pause'; //ubah caption
   end
  else  //apabila thread sedang berjalan maka
   begin
    aButton.aThread.Suspend; //suspend thread
    aButton.Caption := '&amp;amp;amp;amp;amp;amp;Resume';//ubah caption
   end;
end;
end;

</pre></pre>
<p>Nah untuk event tiap-tiap button adalah sebagai berikut :</p>
<ul>
<li><strong>OnClick Btn1</strong></li>
</ul>
<pre>
</pre>
<pre><pre class="brush: delphi;">
ClickButton(pb1,btn1);
</pre></pre>
<ul>
<li><strong>OnClick Btn2</strong></li>
</ul>
<pre>
</pre>
<pre><pre class="brush: delphi;">
ClickButton(pb2,btn2);
</pre></pre>
<ul>
<li><strong>OnClick Btn3</strong></li>
</ul>
<pre>
</pre>
<pre><pre class="brush: delphi;">
ClickButton(pb3,btn3);
</pre></pre>
<ul>
<li><strong>OnClick Btn4</strong></li>
</ul>
<pre>
</pre>
<pre><pre class="brush: delphi;">
ClickButton(pb4,btn4);
</pre></pre>
<ul>
<li><strong>OnClick Btn5<br />
</strong></li>
</ul>
<pre>
</pre>
<pre><pre class="brush: delphi;">
ClickButton(pb5,btn5);
</pre></pre>
<p>Nah apabila telah mengikuti langkah &#8211; langkah seperti di atas kita jalankan aplikasi yang telah kita buat dan apabila benar maka hasilnya adalah sebagai berikut :</p>
<p><a rel="attachment wp-att-305" href="http://programminglearning.wordpress.com/2009/05/26/delphi-berkenalan-dengan-thread/thread_preview/"><img class="aligncenter size-full wp-image-305" title="Hasil Compile" src="http://programminglearning.files.wordpress.com/2009/05/thread_preview.jpg?w=630" alt="Hasil Compile"   /></a></p>
<p>Bagi temen-temen yang belum jelas atau malah belum jalan, dapat mendownload project lengkapnya <a href="http://www.4shared.com/file/121763552/328e85ee/Thread.html" target="_blank">disini</a></p>
<p>Demikian tutorial ini, semoga dapat memberikan wawasan baru bagi temen-temen semua.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/285/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=285&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2009/05/26/delphi-berkenalan-dengan-thread/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/05/thread_design.jpg" medium="image">
			<media:title type="html">Design Form</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/05/thread_preview.jpg" medium="image">
			<media:title type="html">Hasil Compile</media:title>
		</media:content>
	</item>
		<item>
		<title>[Delphi-Tips] Semua Tentang TEdit</title>
		<link>http://programminglearning.wordpress.com/2009/05/25/delphi-tips-semua-tentang-tedit/</link>
		<comments>http://programminglearning.wordpress.com/2009/05/25/delphi-tips-semua-tentang-tedit/#comments</comments>
		<pubDate>Mon, 25 May 2009 19:15:31 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[delphi TEdit]]></category>
		<category><![CDATA[lebih jauh dengan TEdit]]></category>
		<category><![CDATA[tips TEdit]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=275</guid>
		<description><![CDATA[Bagi programmer pemula mungkin ini perlu anda pelajari bagaimana kita menggunakan kemampuan TEdit, disini saya akan mencoba memberikan beberapa tips yang akan saya gabung disini&#8230;tapi mohon maaf bagi para master-master delphi apabila artikel ini terlalu sederhana&#8230;ya udah tidak perlu lama-lama lagi berikut ini : Filter TEdit agar hanya angka yang diperbolehkan diinputkan pada event OnKeyPress [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=275&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bagi programmer pemula mungkin ini perlu anda pelajari bagaimana kita menggunakan kemampuan TEdit, disini saya akan mencoba memberikan beberapa tips yang akan saya gabung disini&#8230;tapi mohon maaf bagi para master-master delphi apabila artikel ini terlalu<span id="more-275"></span> sederhana&#8230;ya udah tidak perlu lama-lama lagi berikut ini :<br />
<strong><span style="text-decoration:underline;">Filter TEdit agar hanya angka yang diperbolehkan diinputkan</span></strong></p>
<p>pada event OnKeyPress tuliskan kode ini :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">
if not(Key in['0'..'9',#8,#10]) then
Key := #0;
</pre></pre>
<p><span style="text-decoration:underline;"><strong>Menghapus semua isi TEdit di form</strong></span></p>
<p>Coba buat 4 TEdit dan 1 Tombol, tambahkan kode ini pada event OnClick milik tombol :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to ComponentCount - 1 do
begin
if Components[i] is TEdit then
TEdit(Components[i]).Clear;
end;
end;
</pre></pre>
<p><span style="text-decoration:underline;"><strong>Format Input Serial Number</strong></span></p>
<p>Supaya bisa otomatis menambah dash &#8220;-&#8221; ketika diketik,mirip seperti input serial number instalasi Office 2007 , tempelkan kode ini di event OnChange TEdit :</p>
<pre>
</pre>
<pre><pre class="brush: delphi;">

procedure TForm1.Edit1Change(Sender: TObject);
var
i,iSel: integer;
sTemp: string;
begin
iSel := 0;
sTemp := StringReplace(Edit1.Text,'-','',[rfReplaceAll]);
for i := 1 to Length(Edit1.Text) do
begin
Inc(iSel,1);
if iSel = 4 then
begin
Insert('-',sTemp,i + 1);
iSel := -1;
end;

end;
Edit1.Text := sTemp;
Edit1.SelStart := Length(Edit1.Text)
end;

</pre></pre>
<p>nah itu dulu aja, ntar apabila ada yang lain saya post disini, bagi yang ingin tanya tentang TEdit bisa ditanyakan melalui komentar.Semoga artikel ini dapat membantu teman-teman semuanya&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/275/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=275&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2009/05/25/delphi-tips-semua-tentang-tedit/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>
	</item>
		<item>
		<title>[Delphi] Penyimpanan Data ke Database Secara Massal</title>
		<link>http://programminglearning.wordpress.com/2009/05/15/delphi-penyimpanan-data-ke-database-secara-massal/</link>
		<comments>http://programminglearning.wordpress.com/2009/05/15/delphi-penyimpanan-data-ke-database-secara-massal/#comments</comments>
		<pubDate>Fri, 15 May 2009 00:56:22 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[data massal]]></category>
		<category><![CDATA[data massal - delphi]]></category>
		<category><![CDATA[database delphi]]></category>
		<category><![CDATA[database mysql]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=259</guid>
		<description><![CDATA[Tutorial ini saya buat sebenarnya menanggapi banyaknya pertanyaan2 baik melalui ym ato email bahkan temen2 sendiri ada yg telepon menanyakan bagaimana caranya menyimpan data input dari aplikasi ke database dalam 1x klik maka akan menyimpan seluruh data yang tertampung sebelumnya, mungkin hal ini dapat diakali dengan cara membuat suatu table temporary dan kemudian isi dari [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=259&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Tutorial ini saya buat sebenarnya menanggapi banyaknya pertanyaan2 baik melalui ym ato email bahkan temen2 sendiri ada yg telepon menanyakan bagaimana caranya menyimpan data input dari aplikasi ke database dalam 1x klik maka akan menyimpan seluruh data yang tertampung sebelumnya, mungkin hal ini dapat diakali dengan cara membuat suatu table temporary dan kemudian isi dari table temporary tersebut dimasukkan ke tabel sebenarnya tapi saya bilang hal ini sangat merepotkan, sebelum memasuki topik utamanya, terlebih dahulu saya akan <span id="more-259"></span>menjelaskan tentang kegunaan penyimpanan data secara massal ini, mungkin bagi yang masih kuliah akan mengalami hal ini ketika contohnya mengerjakan tugas membuat suatu aplikasi peminjaman dimana ketika satu anggota dapat meminjam lebih dari 1 barang, nah disini akan dibahas cara untuk menyimpannya dalam 1 klik saja. tentunya dengan menggunakan Delphi <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , sebelumnya diinformasikan bahwa tutorial ini mengasumsikan temen-temen telah dapat mengkoneksikan antara aplikasi dengan database, database yang akan dicontohkan yaitu adalah MySQL. apabila temen-temen belum dapat mengkoneksikannya maka alangkah baiknya temen-temen membaca artikel sebelumnya di <a href="http://programminglearning.wordpress.com/2009/05/02/delphi-koneksi-delphi-mysql-dengan-menggunakan-zeos/">http://programminglearning.wordpress.com/2009/05/02/delphi-koneksi-delphi-mysql-dengan-menggunakan-zeos/</a> .</p>
<p style="text-align:justify;">Sekarang kita akan memulai untuk proses pembuatannya, pertama kita siapkan terlebih dahulu rancangan database dimana saya memberi nama databasenya &#8220;db_vcd&#8221;, saya tidak akan membuat aplikasi yang kompleks melainkan hanya sesuai dengan topik yang dibahas, adapun rancangan database hanya melingkupi peminjaman saja, untuk barang dan lainnya akan saya buat sebagai data statis. berikut ini adalah rancangannya tabelnya :</p>
<p style="text-align:justify;"><a rel="attachment wp-att-265" href="http://programminglearning.wordpress.com/2009/05/15/delphi-penyimpanan-data-ke-database-secara-massal/rnc_tabel/"><img class="aligncenter size-full wp-image-265" title="Rancangan Tabel" src="http://programminglearning.files.wordpress.com/2009/05/rnc_tabel.jpg?w=630" alt="Rancangan Tabel"   /></a></p>
<p style="text-align:justify;">nah, selanjutnya kita membuat suatu form, disini untuk menyimpan data-data transaksi saya akan memakai TStringGrid, berikut ini adalah rancangan formnya :</p>
<p style="text-align:justify;"><a rel="attachment wp-att-266" href="http://programminglearning.wordpress.com/2009/05/15/delphi-penyimpanan-data-ke-database-secara-massal/rnc_frm_massal/"></a><a rel="attachment wp-att-267" href="http://programminglearning.wordpress.com/2009/05/15/delphi-penyimpanan-data-ke-database-secara-massal/rnc_frm_massal-2/"><img class="aligncenter size-full wp-image-267" title="Rancangan Form" src="http://programminglearning.files.wordpress.com/2009/05/rnc_frm_massal1.jpg?w=630" alt="Rancangan Form"   /></a></p>
<p style="text-align:justify;">Berbeda dengan tutorial sebelumnya, sekarang saya menggunakan Delphi 7 untuk praktiknya <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  hal ini karena pertimbangan saya masih banyak programmer delphi yang menggunakan versi 7 untuk belajar. seperti yang kita lihat rancangan form di atas dalam koneksi dengan MySQL menggunakan Zeos dan sekali lagi bagi yang belum mengerti mengenai koneksi Aplikasi ke MySQL dengan menggunakan zeos silahkan membaca tutorial saya yang sebelumnya, untuk rancangannya sendiri, file rancangannya adalah sbb :</p>
<p style="text-align:justify;">
<pre><pre class="brush: delphi;">
object frmMain: TfrmMain
Left = 303
Top = 177
BorderStyle = bsDialog
Caption = 'Penyimpanan Data Secara Massal'
ClientHeight = 403
ClientWidth = 629
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 16
Top = 40
Width = 93
Height = 13
Caption = 'Tanggal Transaksi :'
end
object Label2: TLabel
Left = 37
Top = 13
Width = 72
Height = 13
Caption = 'No. Transaksi :'
end
object Label3: TLabel
Left = 320
Top = 40
Width = 99
Height = 13
Caption = 'Tanggal Kembali :'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
end
object Label4: TLabel
Left = 323
Top = 13
Width = 96
Height = 13
Alignment = taRightJustify
Caption = 'Anggota Peminjam :'
end
object dpPinjam: TDateTimePicker
Left = 115
Top = 37
Width = 186
Height = 21
Date = 39948.274073159720000000
Time = 39948.274073159720000000
TabOrder = 0
OnChange = dpPinjamChange
end
object edNota: TEdit
Left = 115
Top = 10
Width = 186
Height = 21
TabOrder = 1
end
object dpKembali: TDateTimePicker
Left = 425
Top = 37
Width = 186
Height = 21
Date = 39948.274073159720000000
Time = 39948.274073159720000000
TabOrder = 2
end
object cbAnggota: TComboBox
Left = 425
Top = 10
Width = 186
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 3
Items.Strings = (
'Tigor Mangatur Manurung'
'Heri Wersyadi'
'Hendra Purwanto'
'Susi Simelekete'
'Andi Purnama')
end
object Panel1: TPanel
Left = 16
Top = 80
Width = 595
Height = 273
BevelOuter = bvLowered
TabOrder = 4
object Label5: TLabel
Left = 21
Top = 8
Width = 71
Height = 13
Caption = 'Nama Barang :'
end
object sgData: TStringGrid
Left = 21
Top = 40
Width = 556
Height = 217
ColCount = 2
FixedCols = 0
RowCount = 2
ScrollBars = ssVertical
TabOrder = 0
ColWidths = (
105
420)
end
object cbBarang: TComboBox
Left = 98
Top = 5
Width = 383
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 1
end
object btnTambah: TButton
Left = 487
Top = 3
Width = 90
Height = 25
Caption = 'Tambah'
TabOrder = 2
OnClick = btnTambahClick
end
end
object btnSimpan: TButton
Left = 455
Top = 368
Width = 75
Height = 25
Caption = '&amp;amp;amp;amp;Simpan'
TabOrder = 5
OnClick = btnSimpanClick
end
object btnBatal: TButton
Left = 536
Top = 368
Width = 75
Height = 25
Caption = '&amp;amp;amp;amp;Batal'
TabOrder = 6
OnClick = btnBatalClick
end
object zConn: TZConnection
Protocol = 'mysql'
HostName = 'localhost'
Port = 3308
Database = 'db_vcd'
User = 'root'
Connected = True
Left = 16
Top = 368
end
object qAct: TZQuery
Connection = zConn
Params = &amp;amp;amp;lt;&amp;amp;amp;gt;
Left = 48
Top = 368
end
end
</pre></pre>
<p>Karena akan terlalu banyak yang diterangkan, maka saya langsung kepada kode pada unitnya, tetapi jangan khawatir karena saya telah menyertakan komentar-komentar supaya lebih mudah memahami maksud dalam setiap sintak yang ada <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre><pre class="brush: delphi;">
unit uMain;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, ExtCtrls, ComCtrls, ZConnection, DB,
ZAbstractRODataset, ZAbstractDataset, ZDataset;

type
TfrmMain = class(TForm)
Label1: TLabel;
dpPinjam: TDateTimePicker;
Label2: TLabel;
edNota: TEdit;
Label3: TLabel;
dpKembali: TDateTimePicker;
Label4: TLabel;
cbAnggota: TComboBox;
Panel1: TPanel;
sgData: TStringGrid;
Label5: TLabel;
cbBarang: TComboBox;
btnTambah: TButton;
btnSimpan: TButton;
btnBatal: TButton;
zConn: TZConnection;
qAct: TZQuery;
procedure FormCreate(Sender: TObject);
procedure btnBatalClick(Sender: TObject);
procedure btnTambahClick(Sender: TObject);
procedure dpPinjamChange(Sender: TObject);
procedure btnSimpanClick(Sender: TObject);
private
function GenCode: string; //fungsi auto no.nota
procedure RunSQL(_SQL: string ; isOpen: boolean = True);
{ Private declarations }
public
{ Public declarations }
end;
CONST
lama_pinjam_hari = 7; //lama pinjam adalah 7 hari
var
frmMain: TfrmMain;
iRow: integer;  //variabel indikator jumlah baris

implementation

{$R *.dfm}

procedure TfrmMain.FormCreate(Sender: TObject);
var
ch: char;
begin
//variabel jumlah baris
iRow := 2;
//Pembuatan judul kolom grid
with sgData do
  begin
   Cells[0,0] := 'No. Nota';
   Cells[1,0] := 'Nama Barang';
  end;
//buat simulasi nama barang
for ch := 'A' to 'Z' do
  begin
   cbBarang.Items.Add('Barang - ' + ch);
  end;

//set tanggal pinjam menjadi tanggal hari ini
dpPinjam.Date := NOW;

//set tanggal kembali secara default
dpKembali.Date := Now + lama_pinjam_hari;

//munculkan nota
edNota.Text := GenCode;
end;

function TfrmMain.GenCode: string;
CONST
zero = '0000';
var
strTemp: string;
begin
//Format Nota adalah N-0001

//liat no.nota terakhir dari tb_pinjam
RunSQL('SELECT idpinjam FROM tb_pinjam ORDER BY idpinjam DESC LIMIT 1');

//cek apakah udah ada data dalam tabel, kalo belum hasilkan nilai pertama seperti format
//pada contoh
if qAct.Eof then
  begin
   result := 'N-0001';
   exit; //stop sampe disini saja perintahnya,
  end;

//jika memasuki baris ini, maka berarti telah ada data dalam tabel dan saatnya untuk
//melakukan filtering
strTemp := Copy(qAct.FieldByName('idpinjam').AsString,3,4); //potong data yang ditemukan dari karakter ke - 3 dan
//karakter yg dipotong adalah 4 (sampai akhir format no.nota)

strTemp := IntToStr(StrToInt(strTemp) + 1);//dah ketemu nilai berikutnya

strTemp := 'N-' + Copy(zero,1,Length(zero) - Length(strTemp)) + strTemp;
result  := strTemp;

end;

procedure TfrmMain.btnBatalClick(Sender: TObject);
begin
Application.Terminate;
end;

procedure TfrmMain.btnTambahClick(Sender: TObject);
begin
//validasi ketika pilihan kosong, maka abaikan perintah penambahan
if cbBarang.ItemIndex &amp;amp;amp;lt; 0 then
  exit; //supaya tidak menjalankan perintah selanjutnya ketika tidak ada barang yg dipilih

//identifikasikan jumlah baris
sgData.RowCount := iRow;

//isikan data sesuai pilihan ke dalam grid
with sgData do
  begin
   Cells[0,RowCount - 1] := edNota.Text;
   Cells[1,RowCount - 1] := cbBarang.Text;
  end;

//bersihkan isi cbBarang
cbBarang.ItemIndex := -1; //karena style DropDownList, maka membersihkannya dengan cara seperti ini

//tambah jumlah baris
Inc(iRow,1);
end;

procedure TfrmMain.dpPinjamChange(Sender: TObject);
begin
//isikan secara default tanggal pengembalian, lama pinjam sesuai dengan konstanta yang telah ditetapkan
dpKembali.Date := dpKembali.Date + lama_pinjam_hari;
end;

procedure TfrmMain.RunSQL(_SQL: string; isOpen: boolean);
begin
with qAct do
  begin
    Close;
    SQL.Text := _SQL;
    if isOpen then
     Open
    else
     ExecSQL;
  end;
end;

procedure TfrmMain.btnSimpanClick(Sender: TObject);
var
i: integer;
_SQL: string;
begin
try
//simpan ke tabel tb_detpinjam dlu ya
for i:=1 to sgData.RowCount - 1 do  //ini nih cara nyimpen massal yang sederhana, pake looping aja
  begin                             //jadi disimpen per baris gitu, inget mulai baris 1 pada stringgrid karena baris 0 adalah judul kolom!!!
    _SQL := 'INSERT INTO tb_detpinjam(idpinjam,barang)VALUES(' + QuotedStr(sgData.Cells[0,i]) + ',' + QuotedStr(sgData.Cells[1,i]) + ')';
    RunSQL(_SQL,False); //eksekusi SQL
  end;

//setelah selesai, dah simpen di tabel tb_pinjam
_SQL := 'INSERT INTO tb_pinjam(idpinjam,anggota,tglpinjam,tglkembali)VALUES(' +
QuotedStr(edNota.Text) + ',' + QuotedStr(cbAnggota.Text) + ',' + QuotedStr(FormatDateTime('yyyy-mm-dd',dpPinjam.Date)) +
',' + QuotedStr(FormatDateTime('yyyy-mm-dd',dpKembali.Date)) + ')';
RunSQL(_SQL,False); //eksekusi SQL
Application.MessageBox('Data berhasil disimpan dengan sempurna!!!','Informasi',MB_OK or MB_ICONINFORMATION);

//generate no.nota selanjutnya
edNota.Text := GenCode;

//bersih - bersih...
iRow := 2;
with sgData do
  begin
   RowCount := iRow;
   Cells[0,1] := ''; Cells[1,1] := '';
  end;

except
  Application.MessageBox('Data gagal disimpan dengan sempurna!!!','Peringatan',MB_OK or MB_ICONERROR);
end;
end;

end.
</pre></pre>
<p>Untuk yang belum jelas atau berhasil silahkan download project jadi <a href="http://www.4shared.com/file/121763557/42e47161/penyimpanan_massal.html" target="_blank">disini</a></p>
<p>Demikian tutorial ini semoga berguna bagi temen-temen semuanya&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/259/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=259&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2009/05/15/delphi-penyimpanan-data-ke-database-secara-massal/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/05/rnc_tabel.jpg" medium="image">
			<media:title type="html">Rancangan Tabel</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/05/rnc_frm_massal1.jpg" medium="image">
			<media:title type="html">Rancangan Form</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutorial Download via Rapidshare</title>
		<link>http://programminglearning.wordpress.com/2009/05/09/tutorial-download-via-rapidshare/</link>
		<comments>http://programminglearning.wordpress.com/2009/05/09/tutorial-download-via-rapidshare/#comments</comments>
		<pubDate>Sat, 09 May 2009 18:45:28 +0000</pubDate>
		<dc:creator>Tigor Manurung</dc:creator>
				<category><![CDATA[IT-Umum]]></category>
		<category><![CDATA[download rapidshare]]></category>
		<category><![CDATA[free user rapidshare]]></category>
		<category><![CDATA[rapidshare]]></category>
		<category><![CDATA[tutorial rapidshare]]></category>

		<guid isPermaLink="false">http://programminglearning.wordpress.com/?p=241</guid>
		<description><![CDATA[hmm&#8230;iseng-iseng sebelum tidur bikin tutorial ini, mo bikin tutorial tentang programming tapi masih bingung mo bikin apa (bagi yang mempunyai ide silahkan kasih masukan, bisa lewat komentar atau bisa juga lewat ym), Rapidshare merupakan suatu penyedia jasa upload file dimana dapat dikatakan aman karena dari hasil pengamatan saya, halaman ini mempunyai tingkat keamanan (security access) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=241&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>hmm&#8230;iseng-iseng sebelum tidur bikin tutorial ini, mo bikin tutorial tentang programming tapi masih bingung mo bikin apa (bagi yang mempunyai ide silahkan kasih masukan, bisa lewat komentar atau bisa juga lewat ym), Rapidshare merupakan suatu penyedia jasa upload file dimana <span id="more-241"></span>dapat dikatakan <em><strong>aman </strong></em>karena dari hasil pengamatan saya, halaman ini mempunyai tingkat keamanan <em>(security access) </em>yang baik. di Rapidshare kita dapat mengupload file hingga 200MB tetapi sebelumnya kita harus mengetahui bahwa Rapidshare mempunyai 2 jenis yaitu <em><strong>Free User </strong></em>dan <em><strong>Premium User </strong></em>, untuk free user kita tetap dapat mengupload / mendownload file akan tetapi mempunyai batas / limit yaitu :</p>
<ul>
<li><strong>Upload</strong> : Rapidshare akan membatasi file yang kita upload dapat bertahan di server rapidshare untuk beberapa waktu / beberapa kali download.</li>
<li><strong>Download</strong> : Untuk fasilitas ini kita hanya dapat mendownload 1 file dalam 1x download (tidak dapat paralel) dan kecepatan downloadnya juga dibatasi.</li>
</ul>
<p>Nah untuk Premium User kita mempunyai akses penuh terhadap akun kita, diantaranya :</p>
<ul>
<li>Mempunyai space untuk meletakkan file-file kita di server (upload)</li>
<li>Mempunyai point-point yang dapat dikonversi menjadi akun lagi setelah jumlah point  sesuai dengan yang ditentukan.</li>
<li>Dapat melakukan download secara paralel.</li>
</ul>
<p>Premium User itu sendiri dapat didapat dengan cara :</p>
<ul>
<li>Membeli secara langsung,  untuk hal ini dikategorikan menjadi 1 bulan, 3 bulan, 6 bulan, dst lihat <a href="http://rapidshare.com/premium.html" target="_blank">disini</a></li>
<li>Dapat mendaftarkan sebagai Collector Point, Point ini didapat dari banyaknya file yang kita upload telah didownload oleh orang lain, untuk pendaftarannya silahkan klik <a href="https://ssl.rapidshare.com/cgi-bin/collectorszone.cgi" target="_blank">disini</a></li>
</ul>
<p>Nah, disini saya akan mencoba memperlihatkan bagaimana cara mendownload bagi yang tidak mempunyai akun Rapidshare (Free User) :</p>
<ol>
<li>Klik link file yang akan didownload, maka akan muncul tampilan sebagai berikut :<a rel="attachment wp-att-243" href="http://programminglearning.wordpress.com/2009/05/09/tutorial-download-via-rapidshare/rs/"><img class="aligncenter size-full wp-image-243" title="Tampilan Awal Rapidshare" src="http://programminglearning.files.wordpress.com/2009/05/rs.jpg?w=630" alt="Tampilan Awal Rapidshare"   /></a></li>
<li> Kemudian ada 2 pilihan menu, yaitu Free User dan Premium User. Klik pilihan Free User dan akan muncul tampilan sebagai berikut :<a rel="attachment wp-att-247" href="http://programminglearning.wordpress.com/2009/05/09/tutorial-download-via-rapidshare/rs_d-2/"><img class="aligncenter size-full wp-image-247" title="Tampilan Download Rapidshare" src="http://programminglearning.files.wordpress.com/2009/05/rs_d1.jpg?w=630" alt="Tampilan Download Rapidshare"   /></a></li>
<li>Nah langkah terakhir ya tinggal klik <em>Download </em>, tetapi yang perlu diingat adalah untuk <em>free user </em><strong>tidak dapat </strong>mendownload file secara paralel.</li>
</ol>
<p>Demikian tutorial ini, semoga dapat berguna bagi temen-temen semuanya.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/programminglearning.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/programminglearning.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/programminglearning.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/programminglearning.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/programminglearning.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/programminglearning.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/programminglearning.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/programminglearning.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/programminglearning.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/programminglearning.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/programminglearning.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/programminglearning.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/programminglearning.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/programminglearning.wordpress.com/241/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=programminglearning.wordpress.com&amp;blog=7582839&amp;post=241&amp;subd=programminglearning&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://programminglearning.wordpress.com/2009/05/09/tutorial-download-via-rapidshare/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/caacf5d5662ebefe81bce2578b2e24aa?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">n3ocybertech</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/05/rs.jpg" medium="image">
			<media:title type="html">Tampilan Awal Rapidshare</media:title>
		</media:content>

		<media:content url="http://programminglearning.files.wordpress.com/2009/05/rs_d1.jpg" medium="image">
			<media:title type="html">Tampilan Download Rapidshare</media:title>
		</media:content>
	</item>
	</channel>
</rss>
