Showing posts with label java. Show all posts
Showing posts with label java. Show all posts

Sunday, December 21, 2014

Pemrograman Android - Menambahkan Icon ke EditText

Komponen EditText akan jadi lebih menarik jika ditambahkan icon ke dalamnya, caranya seperti yang diuraikan dalam video berikut

Sunday, November 02, 2014

Membuat Java Webapps dengan Maven + Struts + Hibernate (bagian 2)

2. Membuat Database

Selanjutnya buat database di MySQL dengan mendesainnya terlebih dulu menggunakan MySQL Workbench.
Klik menu File → New Model
Kemudian tambahkan EER Diagram
Tambahkan table
Klik kanan pada table yang muncul, pilih Edit 'table'
Kemudian ubah nama table
Tambahkan kolom-kolom beserta tipe datanya dengan membuka tab Columns
Berikut rancangan tabel-tabel yang digunakan, beserta nama kolom, tipe data, serta relasinya
Untuk bikin relasi one to many, cari ikon kayak gini ya

Postingan belum selesai, tunggu update selanjutnya yah...
bagian 1 : Membuat Project Java Web Maven
bagian 2 : Membuat Database

Friday, October 31, 2014

Membuat Java Webapps dengan Maven + Struts + Hibernate (bagian 1)

Dalam tutorial ini akan dibuat aplikasi ToDo yang menyimpan agenda.
Tools yang digunakan :
Eclipse Luna + Apache Maven 3.2.3
Lubuntu 14.04 64 bit
JDK 7
MySQL Workbench


*tutorial ini masuk kategori menengah, disarankan sebelum mencoba sudah mengetahui dasar Java

1. Membuat Project Java Web Maven

Atur dulu Maven yang digunakan oleh Eclipse. Saya tidak menggunakan Maven bawaan dari Eclipse, namun menggunakan Maven 3.2.3 yang diinstall terpisah. Klik Window → Preferences, kemudian pilih Maven → Instalations, tambahkan Maven 3.2.3 yang diinstall terpisah
Kemudian buat project maven Java webapp, langkah-langkahnya adalah sebagai berikut
Klik menu File → New → Other
Pilih Maven Project

Ikuti wizard
Ikuti pilihan default

Pilih maven-archtype-webapp

Selanjutnya isi parameter, akhiri dengan Finish

Keterangan
Group Id : gampangnya ini “nama dasar” package di project
Artifact Id : nama project
Version : versi aplikasi yang dibangun
Package : Group Id dengan Artifact Id digabung membentuk Package
penjelasan di atas adalah versi saya sendiri, kalau kurang jelas bisa googling :3.

Tambahkan dependency berikut ke pom.xml
<dependency>
 <groupId>org.apache.logging.log4j</groupId>
 <artifactId>log4j-core</artifactId>
 <version>2.0.2</version>
</dependency>
<dependency>
 <groupId>org.apache.struts</groupId>
 <artifactId>struts2-core</artifactId>
 <version>2.3.16.3</version>
</dependency>
Tambahkan plugin berikut ke pom.xml, di dalam <build>
<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-war-plugin</artifactId>
 <version>2.4</version>
</plugin>
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
 <version>3.2</version>
 <configuration>
  <!-- put your configurations here -->
    </configuration>
</plugin>
Sehingga pom.xml akan menjadi seperti berikut ini
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.todo</groupId>
  <artifactId>ToDoWebApps</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>ToDoWebApps Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-core</artifactId>
  <version>2.0.2</version>
 </dependency>
 <dependency>
     <groupId>org.apache.struts</groupId>
     <artifactId>struts2-core</artifactId>
     <version>2.3.16.3</version>
 </dependency>
  </dependencies>
  <build>
    <finalName>ToDoWebApps</finalName>
    <plugins>
     <plugin>
   <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-war-plugin</artifactId>
     <version>2.4</version>
  </plugin>
  <plugin>
         <groupId>org.apache.tomcat.maven</groupId>
         <artifactId>tomcat7-maven-plugin</artifactId>
         <version>2.2</version>
       </plugin>
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>3.2</version>
           <configuration>
             <!-- put your configurations here -->
           </configuration>
        </plugin>
    </plugins>
  </build>
</project>

Kemudian buat file log4j.xml di src/main/resources
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
     
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d %-5p %c.%M:%L - %m%n"/>
       </layout>
    </appender>
  
    <!-- specify the logging level for loggers from other libraries -->
    <logger name="com.opensymphony">
        <level value="DEBUG" />
    </logger>
 
    <logger name="org.apache.struts2">
         <level value="DEBUG" />
    </logger>
   
   <!-- for all other loggers log only info and above log messages -->
     <root>
        <priority value="INFO"/>
        <appender-ref ref="STDOUT" />
     </root>
     
</log4j:configuration> 

Postingan ini belum selesai ya, tunggu update selanjutnya...

bagian 1 : Membuat Project Java Web Maven
bagian 2 : Membuat Database
Lazada Indonesia

Saturday, May 31, 2014

Tugas Pelatihan Pemrograman Java Himpasikom

Buat program kalkulator sederhana yang dapat:
1. menambahkan bilangan
2. mengurangkan bilangan
3. mengalikan bilangan
4. membagi bilangan


*bilangan diinputkan oleh user

sampai jumpa di pertemuan berikutnya

Latihan Pertemuan 3 Pelatihan Java Himpunan Mahasiswa Pasca Sarjana Ilmu Komputer UGM

Pertemuan yang ketiga ini akan saya isi dengan latihan, berikut ini adalah soalnya:

Thursday, September 20, 2012

Tutorial Coding Java Servlet : HelloWorld part2

Postingan ini melanjutkan postingan sebelumnya http://www.ardhi.web.id/2012/09/tutorial-coding-java-servlet-helloworld.html

Tambahkan java package ke dalam source code, klik kanan New -> Java Package
kasih nama package misalnya fist.server

Saturday, September 15, 2012

Tutorial Coding Java Servlet : HelloWorld part1


Sudah sekian lama saya tidak menulis tentang percodingan, untuk menjawab kerinduan tersebut saya persembahkan postingan tentang Java Servlet ini. 
Kalau biasanya mungkin teman-teman lebih banyak mengenal pemrograman Java untuk membuat program berbasis console dan GUI, dengan menggunakan servlet ini kita bisa pake Java untuk coding web.
Siapin dulu tool yang dibutuhkan Netbeans 7.2 dengan plugin Java EE (netbeans.org)
Apache Tomcat atau bisa juga pake Jetty (saya pake tomcat | tomcat.apache.org)
Dan tentunya OS yang sudah diinstal JDK |saya pake linux dunk ;)

Friday, June 22, 2012

Instalasi Java Development Kit (JDK) di GNU/Linux

postingan yang lebih update dapat dibaca di https://www.ardhi.web.id/2023/05/instalasi-tools-bahasa-pemrograman-java.html

Monday, May 14, 2012

Tutorial ArrayList Java

Postingan ini Ardhi buat dalam rangka mempelajari kembali konsep pemrograman di Java.
Oke, apa itu ArrayList?
ArrayList adalah sebuah class di Java yang merupakan turunan dari AbstractList dan mengimplementasikan interface List.
Sorry, penjelasan teoritis ini gue juga ga gitu paham. Sekedar mengutip dari ebook, cmiiw
Intinya, dengan menggunakan ArrayList kita bisa membuat sebuah Array yang panjangnya dinamis, berbeda dengan Array Java biasa yang panjangnya harus ditentukan dulu.

Tuesday, September 20, 2011

Membuat Web Service Client Sederhana di Android

[diperbarui pada 12 Mei 2015]

PERHATIAN
melihat perkembangan saat ini untuk membuat web service saya menyarankan untuk migrasi ke RESTful web service http://www.ardhi.web.id/2015/05/web-service-php-menggunakan-slim_11.html, saya sudah tidak akan membuat artikel baru tentang pembuatan web service menggunakan SOAP

Part 1 -- Membuat Web Service dengan NuSOAP

Pada postingan sebelumnya saya membuat web service menggunakan pemrograman PHP dengan bantuan library nuSOAP. Kali ini akan saya lanjutkan yaitu membuat web service client dengan bahasa pemrograman Java di platform Android yang akan memanggil web service yang telah saya buat sebelumnya.
Untuk keperluan ini hendaknya teman-teman sudah menguasai konsep dasar pemrograman Java dan familiar dengan lingkungan development Android SDK.
Sebagai informasi, lingkungan development saya sebagai berikut:
Xubuntu 13.04 64 bit
Oracle J2SE SDK 1.6 update 45
Eclipse Indigo + Android Developer Tools plugin 22.2.1
Android SDK, informasi lebih lanjut silakan buka http://developer.android.com
library ksoap2-android, bisa diunduh di https://code.google.com/p/ksoap2-android/
Buka Eclipse, klik File --> New --> Android Application Project untuk membuat project Android baru dan beri nama misalnya Soap_clients. Detailnya adalah seperti yang tertera di gambar berikut
Saya masih menggunakan SDK versi 2.3.3 (Gingerbread) untuk project ini karena emulator Android 2.3.3 lebih ringan untuk daripada versi yang lebih baru dijalankan di laptop saya :D.
Tambahkan baris kode berikut pada file AndroidManifest.xml agar aplikasi Android dapat mengakses jaringan
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
Jangan lupa untuk mengimport library ksoap2-android ke Build Path project Android.
Selanjutnya edit file res/layout/main.xml untuk membuat layout form yang dapat mengakomodasi proses input sederhana melalui elemen EditText dan menampilkan hasilnya ke TextView.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
        <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:text="Input : " />

    <EditText
        android:id="@+id/txtInput"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:inputType="text">
        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/bOK"
        android:paddingTop="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Call Web Service" />

    <TextView
        android:paddingTop="20dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Output :" />

    <TextView
        android:id="@+id/txtOutput"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="**output here**"
        android:textAppearance="?android:attr/textAppearanceSmall" />

</LinearLayout>
Nanti kita akan mendapatkan tampilan seperti ini

Langkah yang paling penting adalah membuat client SOAPnya, pertama masukkan variabel berikut ini yang nilai2nya bisa dilihat dari file WSDL web service yang telah dibuat sebelumnya
String NAMESPACE = "http://10.0.2.2/soap/hello";
String METHOD_NAME = "hello"; //nama fungsi dlm web service
String SOAP_ACTION = "http://10.0.2.2/nusoap/server2.php/hello"; 
//URL file WSDL web service
String URL = "http://10.0.2.2/nusoap/server2.php?wsdl"; 

Catatan :
10.0.2.2 adalah alamat localhost komputer yang akan diakses emulator Android karena emulator Android tidak dapat mengakses domain localhost

Kemudian masukkan nilai parameter name yang mau dikirim ke web service, sorce codenya seperti berikut
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo pi = new PropertyInfo();
pi.setName("name");
pi.setValue(input);
pi.setType(String.class);
Request.addProperty(pi);

Terakhir adalah memanggil web service, dan menampilkan responnya ke suatu variabel String dengan source code seperti di bawah ini
SoapSerializationEnvelope envelope 
= new SoapSerializationEnvelope(SoapEnvelope.VER11);
//envelope.dotNet = true; //aktifkan bila web service dibuat dengan .NET
envelope.setOutputSoapObject(Request);
        
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try{
 androidHttpTransport.call(SOAP_ACTION, envelope);
 Object response = envelope.getResponse();
 String result =  response.toString();
} catch (Exception e) {
 e.printStackTrace();
}
Source code lengkapnya adalah seperti berikut File Soap_clientActivity.java
package soap.client;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Soap_clientActivity extends Activity {
    String NAMESPACE = "http://10.0.2.2/soap/hello";
    String METHOD_NAME = "hello";
    String SOAP_ACTION = "http://10.0.2.2/nusoap/server2.php/hello";
    String URL = "http://10.0.2.2/nusoap/server2.php?wsdl";
    String input = null;
    TextView tvOutput;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        final EditText etInput = (EditText) findViewById(R.id.etInput);
        Button bOK = (Button) findViewById(R.id.bOK);
        tvOutput = (TextView) findViewById(R.id.tvOut);
        
        bOK.setOnClickListener(new OnClickListener(){
         @Override
     public void onClick(View arg0) {
       // TODO Auto-generated method stub
       input = etInput.getText().toString();
       getSoap();
     }
        });
    }
    
    private void getSoap(){
     SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
        PropertyInfo pi = new PropertyInfo();
        pi.setName("name");
        pi.setValue(input);
        pi.setType(String.class);
        Request.addProperty(pi);
        
        SoapSerializationEnvelope envelope 
        = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet = true;
        envelope.setOutputSoapObject(Request);
        
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try
        {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            Object response = envelope.getResponse();
            String result =  response.toString();
            //System.out.println(result);
            tvOutput.setText(result);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

Hasilnya dapat dilihat dalam screenshot berikut


Gimana, cukup mudah bukan?
Web Service ini dapat dikembangkan lebih kompleks lagi misalnya dengan dihubungkan ke suatu database 


Oke, semoga bermanfaat
Jika ada yang kurang jelas, silakan ninggal komen ;)

Wednesday, August 10, 2011

Split String pada Java

Berawal dari tugas akhir saya, saya mengalami kasus dengan format tanggal JSON dari server RESTful web service yang mengeluarkan output seperti ini
/Date(1313341200000+0700)/

Saya harus mengubah format tanggal yang aneh*) tersebut ke format yang human readable
*)menurut yang saya baca format tersebut manyatakan waktu dalam jumlah detik yang dihitung sejak tanggal 1 Januari 2011 hingga waktu yang dimaksudkan, sedangkan +0700 menyatakan regional waktu yang berselisih 7 jam dari GMT


Untuk memprosesnya, saya harus mendapatkan nilai 1313341200000 dari output tersebut
Codingannya dapat diilakukan dengan menangkap output tersebut sebagai sebuah String kemudian dipisahkan dengan method Split

Beginilah code nya
String epochDate = "/Date(1313341200000+0700)/";
System.out.println(epochDate);
Pattern pat = Pattern.compile("[(+]");
String str[] = pat.split(epochDate);
for(int i=0;i<str.length;i++)
{
System.out.println(str[i]);
}
Penjelasan :
Pattern pat = Pattern.compile("[(+]");
Di sini saya mendeklarasikan karakter yang dijadikan patokan untuk memecah String yaitu ( dan + dari output  
/Date(1313341200000+0700)/ 
yang mengapit 
1313341200000
Kemudian tangkap hasilnya sebagai array of String 
String str[] = pat.split(epochDate);
Output yang saya inginkan berada pada indeks 1
str[1]



Demikian, semoga bermanfaat
ardhi.web.id. Powered by Blogger.