Spring Hibernate versi Anotation Part 2

Lanjutan dari article sebelumnya Spring Hibernate versi Anotation Part 1

jika interfacenya sudah dibuat, tahap selanjutnya adalah pembuatan class implement dari interface service di atas dengan nama ServiceImplement.java

package com.adhit.hsa.service.dao;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.adhit.hsa.entity.Item;
import com.adhit.hsa.item.dao.ItemDAO;
import com.adhit.hsa.item.dao.ItemDAOImplement;

@Service("service")
@Transactional(readOnly=true)
public class ServiceImplement implements com.adhit.hsa.service.dao.Service {

	@Autowired
	private ItemDAO itemDAO;
	
	private void setItemDAO(@Qualifier("itemDAO") ItemDAOImplement itemDAO) {
		this.itemDAO = itemDAO;
	}
	
	@Transactional(readOnly=false, propagation=Propagation.REQUIRED)
	public void delete(Item item) {
		itemDAO.delete(item);
	}

	@Transactional(readOnly=false, propagation=Propagation.REQUIRED)
	public Item findById(Object id) {
		return itemDAO.findById(id);
	}

	@Transactional(readOnly=false, propagation=Propagation.REQUIRED)
	public List<Item> findList(String query) {
		return itemDAO.findList(query);
	}

	@Transactional(readOnly=false, propagation=Propagation.REQUIRED)
	public void save(Item item) {
		itemDAO.save(item);
	}
	
}

lalu class yang di buat adalah class Manager.java

package com.adhit.hsa.utility;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.adhit.hsa.service.dao.Service;

public class Manager {
	private static ApplicationContext applicationContext;
	
	static {
		applicationContext = new ClassPathXmlApplicationContext("app.ctx.xml");
	}
	
	public static Service getService() {
		return (Service) applicationContext.getBean("service");
	}
	
}

setelah semuanya selesai di buat, sekarang kita buat main class untuk testing - testing, namanya adalah ItemAction.java

package com.adhit.hsa.action;

import java.util.ArrayList;
import java.util.List;
import com.adhit.hsa.entity.Item;
import com.adhit.hsa.utility.Manager;

public class ItemAction {
	public static void main(String args[]) {
		List<Item> items = new ArrayList<Item>();
		
		Item item = new Item();
		item.setCode(12345);
		item.setName("Keripik Setan");
		item.setDescription("Keripik super pedas bikin lidah goyang - goyang ");
		item.setPrice(500);
		
		//Save Item
		Manager.getService().save(item);
		
		//Load Item By Id
		Manager.getService().findById(item.getId());
		
		//Edit Item
		item.setDescription("Keripik pedas asli Subang");
		Manager.getService().save(item);

//Query Item

		items = Manager.getService().findList(" select o from "+Item.class.getName()+" o where o.code = '12345'");

//Looping item collection and print all data

		for(Item i : items) {
			System.out.println("Kode Item "+i.getCode());
			System.out.println("Nama Item "+i.getName());
			System.out.println("Deskripsi Item "+i.getDescription());
			System.out.println("Harga Item "+i.getPrice());
		}
		
		//Delete Item
		Manager.getService().delete(item);
	}
}

nah berikut merupakan contoh sederhana penggunaan spring hibernate pake anotation. Hah, penjelasann ?? adoohh, penjelasannya kapan - kapan aja dehh, xixixixi.

Fuihh, akhirnya articlenya selesai juga. Semoga bermanfaat bagi para pembaca yang membaca article ini, mohon maaf bila ada yang kurang atau ada yang salah dengan article ini.

Terima Kasih

Aditya Lukman Afandi

 

Spring Hibernate versi Anotation Part 1

Pada article sebelumnya saya sudah membahas implementasi spring hibernate yang masih full XML pada saat pengcodeannya di Spring Hibernate versi XML, memang kalo di lihat isinya cuman simple CRUD doank. Soalnya mau kasih contoh sama penjelasan lengkap tuh males euyy,, xixixi, jadi buat yang baca silahkan di pahami yaaa. Nah pada article ini saya akan membahas implementasi spring hibernate pake anotation, penggunaan menggunakan anotation ini merupakan metode baru yang mulai di gunakan, bukan mulai kali ya, tapi sudah banyak yang menggunakannya, walaupun ada juga yang masih menggunakan metode lama.

Kelebihan menggunakan anotation ini adalah magic, nah lho kok magic, yaaaa dengan menggunakan anotation banyak proses yang tidak kelihatan, padahal proses tersebut ada. Misal kalo session factorinya si hibernate di @Autowired, katanya sih pada saat prosesnya gagal dia bakal ngeRoll Back sendiri (sotoy ya gw, mangap deh kalo salah) , trus jika sebelumnya pembuatan repository beannya full XML sekarang dengan anotation penggunaan XML di minimalisir. BTW denger desas - desus sih katanya gak perlu buat application.context.xml lagi, nah lho,, ini gw belajarnya nyasar apa desas - desusnya cuman gosip belaka, soalnya saya coba masih application.context.xml ,Maka dari itu kita ulas secara tuntas setajam silet, wkwkwkw kayak infotainment aja .

Dari pada cuap - cuap kepanjangan kaya curhat, kita langsung ke TPK aja. Seperti biasa, sebelum memulai ke contoh, saya tunjukin dulu struktur projectnya. Maksud saya tunjukin struktur projectnya sih agar pembaca tau class - class dan file - file yang akan di buat di letakan di mana, supaya saya tidak usah menjelaskan "coba buat project A, kemudian buat sebuah Class B, di package C" , kan kalo gitu puaanjang ceritanya. Eh jadi curhat lagi , nih struktur projectnya :

nah sudah lihat struktur projectnya kan ?? sekarang kita langsung ke code, file pertama yang akan di buat adalah file properties dengan nama :

hsa.properties

hibernate.connection.driver_class= com.mysql.jdbc.Driver
hibernate.connection.url         = jdbc:mysql://localhost/latihan
hibernate.connection.username    = root
hibernate.connection.password    = tulalit
hibernate.dialect                = org.hibernate.dialect.MySQLInnoDBDialect
hibernate.hbm2ddl_auto=create
hibernate.show_sql=true
hibernate.show_statistics=true 

selanjutnya adalah membuat hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">   
<hibernate-configuration>
	<session-factory>
	<!-- Properties -->
	<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
              <property name="hibernate.connection.url">jdbc:mysql://localhost/latihan</property>
              <property name="hibernate.connection.username">root</property>
              <property name="hibernate.connection.password">tulalit</property>
              <property name="hibernate.connection.pool_size">10</property>
              <property name="show_sql">false</property>
              <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
              <property name="hibernate.hbm2ddl.auto">update</property> 
	<mapping class="com.adhit.hsa.entity.Item"/>

	</session-factory>
</hibernate-configuration>  

setelah itu membuat app.ctx.xml

<?xml version="1.0" encoding="UTF-8"?
<beans xmlns="http://www.springframework.org/schema/beans
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
       xmlns:p="http://www.springframework.org/schema/p
       xmlns:context="http://www.springframework.org/schema/context
       xmlns:tx="http://www.springframework.org/schema/tx
       xsi:schemaLocation="    
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd    
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
>
    <context:property-placeholder location="classpath:hsa.properties" />   
    <context:component-scan base-package="com.adhit.hsa" /
    <tx:annotation-driven transaction-manager="transactionManager" />
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource
   	p:driverClassName="${hibernate.connection.driver_class}" p:url="${hibernate.connection.url}
   	p:username="${hibernate.connection.username}" p:password="${hibernate.connection.password}" />

 

    <!-- setting spring jika menggunakan sessionfactory--
    <bean id="sessionFactory 
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
   	p:dataSource-ref="dataSource"
        <property name="configLocation"
            <value>classpath:hibernate.cfg.xml</value>
        </property
        <property name="hibernateProperties"
            <props
                <prop key="hibernate.dialect"
                    ${hibernate.dialect}
                </prop>
                <prop key="hibernate.show_sql">
                    ${hibernate.show_sql}
                </prop>
                <prop key="hibernate.generate_statistics">
                    ${hibernate.show_statistics}
                </prop>
            </props>
        </property>
    </bean>
    <bean id="transactionManager"    
          class="org.springframework.orm.hibernate3.HibernateTransactionManager"
                p:sessionFactory-ref="sessionFactory" />                
    </beans>

jika sudah sekarang mulai ke pembuatan class - classnya, class yang pertama di buat adalah pembuatan class DefaultPersistence.java untuk merepresentasikan id yang nantinya di turunkan pada setiap class entity

package com.adhit.hsa.utility;
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
@MappedSuperclass    
public class DefaultPersistence implements Serializable {
	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Basic(optional = false)
	@Column(name = "id")
	private int id;
	public int getId() {
                    return id;
	}
	public void setId(int id) {
	      this.id = id;
	}

}  

jika sudah, sekarang membuat class entity Item.java

package com.adhit.hsa.entity;
import javax.persistence.Entity;   
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
import com.adhit.hsa.utility.DefaultPersistence;

@Entity    
@Table(name = "tb_item")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class Item extends DefaultPersistence {

	private int code;
	private String name;
	private String description;
	private int price;
	public int getCode() {
	      return code;
	}
	public void setCode(int code) {    
                    this.code = code;
	}

	public String getName() {    
                    return name;
	}
	public void setName(String name) {
                    this.name = name;
	}
	public String getDescription() {
                    return description;
	}
	public void setDescription(String description) {    
                    this.description = description;
	}

	public int getPrice() {
                    return price;
	}

	public void setPrice(int price) {    
 	       this.price = price;
	}
}  

selanjutnya adalah pembuat interface ItemDAO.java

package com.adhit.hsa.item.dao;

import java.util.List;    
import com.adhit.hsa.entity.Item;

public interface ItemDAO {

	public void save (Item item);    
 
	public void delete (Item item);
	public Item findById (Object id);

	public List<Item> findList (String query);
}  

Setelah itu buat class implementnya dengan nama ItemDAOImplement.java

package com.adhit.hsa.item.dao;

import java.io.Serializable;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.adhit.hsa.entity.Item;

@Repository("itemDAO")
public class ItemDAOImplement implements ItemDAO {
         private SessionFactory sessionFactory;
	
	@Autowired
              public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
              }
	
	@Override
	public void delete(Item item) {
		sessionFactory.getCurrentSession().delete(item);
	}

	@Override
	public Item findById(Object id) {
		Item item = new Item();
		sessionFactory.getCurrentSession().get(Item.class, (Serializable) id);
		return item;
	}

	@Override
	public List<Item> findList(String query) {
		return sessionFactory.getCurrentSession().createQuery(query).list();
	}

	@Override
	public void save(Item item) {
		sessionFactory.getCurrentSession().saveOrUpdate(item);
	}
}

setelah selesai sekarang kita buat interface Service.java

package com.adhit.hsa.service.dao;

import java.util.List;
import com.adhit.hsa.entity.Item;

public interface Service {
	
	public void save (Item item);
	
	public void delete (Item item);
	
	public Item findById (Object id);

	public List<Item> findList (String query);

}

nah berhubung disini batas tulisannya di batasi, jadi bersambung dehh ke Spring Hibernate versi Anotation Part 2

 

Widget & Panel yang tersedia dalam GWT (Google Web Toolkit)

Pada article ini saya akan mengenalkan widget dan panel yang tersedia dalam GWT. Saya tidak akan menjelaskan masing - masing dari widget dan panels tersebut, sebab di lihat dari bentuknya sudah ketahuan fungsi dari widget & panel tersebut. Nah langsung ke TKP....

Widgets

1. Button

2. Push Button

3. Radio Button

4. Check Box

5. Date Picker

6. Toggle Button

7. Text Box

8. Password Text Box

9. Text Area

10. Hyper Link

11. List Box

12. Menu Bar

13. Tree

14. Suggest Box

15. Rich Text Area

16. Table

17. Tab Bar

18. Dialog Box

 

Panels

1. Pop up Panel

2. Stack Panel & Stack Layout Panel

3. Horizontal Panel

4. Vertical Panel

5. Flow Panel

6. Vertical Split Panel

7. Horizontal Split Panel

8. Split Layout Panel

9. Dock Panel & Dock Layout Panel

10. Tab Panel & Tab Layout Panel

11. Disclosure Panel

 

Nah gambar - gambar di atas merupakan widget & panel yang ada dalam GWT !! jadi kalo anda lihat produk google komponennya mirip ama yang di atas, berarti di buatnya pake GWT.

 

Terima Kasih

Aditya Lukman Afandi

 

Memulai GWT dengan Eclipse IDE

Pada article sebelumnya di Getting Started Google Web Toolkit saya telah membahas memulai GWT menggunakan GWT SDKnya dengan mengenerate sample project menggunakan projectCreatornya. Nah bagaimana jika anda menggunakan tools Eclipse IDEnya ?? sama saja, hanya lebih mudah dan lebih simple di banding sebelumnya.

Langkah pertama yang harus dilakukan jika kita ingin mencoba GWT menggunakan Eclipse IDE adalah kita harus menginstall plugin GWTnya di eclipse kesayangan anda. Mari kita mulai langkah - langkah menginstall GWT di eclipse :

1. Biasa, di Menu Bar Eclipse ada Help -> Sofware Update dan akan muncul sebuah windows

2. Klik tab Avalaible Software, klik Add Site, masukan URLnya lalu klik oke

   http://dl.google.com/eclipse/plugin/3.5

(tinggal ganti versi dari eclipse anda, versi yang tersedia adalah eclilpse 3.3, 3.4, dan 3.5, kecuali untuk Eclipse Helios tidak ada url sitenya, harus download GWT SDKnya manual)

3. Setelah itu site yang anda masukan akan menambah di listnya, tunggu beberapa saat hingga eclipsenya berhasil fetching data dari site   tersebut

4. Jika sudah, centang site yang telah anda tambahkan, lalu klik install, setelah itu ikut petunjuk instalasinya dan tunggu hingga selesai.

 

Nah kalo sudah install pluginnya di eclipse ke sayangan anda, yang perlu di lakukan adalah membuat project GWT di eclipse anda, eittss jangan lupa kalo setelah install plugin restart eclipsenya yah. Yukk, sekarang kita mulai coba buat sample project GWT di eclipse :

1. Klik kanan di Package Explorer -> New -> Other

2. setelah itu muncul windows, cari Google dan expand treenya, setelah itu pilih Web Application Project dan klik Next


3. Setelah itu ketik nama Nama Project dan nama packagenya, lalu klik finish

nb : si eclipse udah otomatis baca GWT SDKnya dan SDK App Enginenya, jadi gak usah di daftarin SDKnya

4. Nah berikut hasil create GWT Web Projectnya

kalo semuanya sudah di lakukan kita tinggal running project tersebut, caranya

- klik kanan di projectnya -> Run As -> Web Application

- setelah itu muncul tab Development Mode

- Kalo sudah muncul url dari project tersebut, lalu copy url tersebut, dan paste di browser anda

  nb : jika browser anda belum mempunyai plugin GWT, maka browser tersebut akan meminta install terlebih dahulu

- dan pada saat di browser hasilnya seperti ini :


nah selanjut kalo mau ganti caption buttonnya tinggal buka src -> com.adhit.gwtsample.client -> dan buka class MyGwtSample.java

cari baris final Button sendButton = new Button("Send");

lalu ganti menjadi final Button sendButton = new Button("Submit");

setelah itu refresh aplikasi anda di browser, jadinya kayak gini 

jika tombol Submitnya di klik, maka akan muncul seperti ini :

Jika di perhatikan, article ini dengan article sebelumnya hasilnya sama kan pada saat jalanin aplikasinya di browser, hanya bedanya yang ini menggunakan Eclipse IDE. Berarti jika sudah menggunakan IDE kita siap explorasi code GWT tahap selanjutnya. Akhirnya article ini selesai juga dan semoga article ini bermanfaat bagi pembaca sekalian.

Terima Kasih

Aditya Lukman Afandi

 

 

Getting Started Google Web Toolkit (GWT)

Google Web Toolkit adalah salah satu engine buatan om google, nah GWT ini adalah engine yang mengGenerate kode Java menjadi JavaScript,, dan GWT ini berbasis AJAX. Tujuan GWT adalah untuk memungkinkan pengembangan aplikasi web yang produktif berkinerja tinggi tanpa pengembang harus menjadi ahli di browser quirks, XMLHttpRequest, dan JavaScript. GWT digunakan oleh banyak produk di Google, termasuk Google Wave dan versi baru AdWords selain itu program dari hasil GWT ini yang sering kita pakai adalah google mail dan yang pasti search engine google pake GWT.

Seperti biasanya kebanyakan jenis engine RIA (Rich Internet Application) selalu Multi Cross - Browser jadi biar kata kita ganti - ganti browser, tampilan yang di buat akan tetap sama walaupun browsernya itu beda. Selain GWT sebetulnya masih banyak jenis engine RIA seperti Ext - JS, Adobe Flex .. hmmm apalagi yah JQuery masuk RIA kagak yah,, ya kalo mau tau lengkapnya silahkan tanya ama om Google. Setahu saya Ext JS dan Adobe Flex ini merupakan engine untuk aplikasi web tapi basis dekstop, nah lho....., maksudnya engine tersebut memang berjalan di atas browser tetapi, tampilan dan komponen - komponennya mirip sekali seperti aplikasi dekstop,, tapi jangan ketuker yah sama aplikasi dekstop yang jalan di browser, beda lho soalnya.

ya udah deh dari pada cuap - cuap makin panjang aja, mending kita mulai bagai mana memulai GWT.

Yang pertama adalah siapkan GWT SDKnya dolo, download aja di http://code.google.com/webtoolkit/download.html

setelah itu extract hasil downloadannya dengan cara

unzip gwt-2.0.3.zip

 

kalo sudah ketik perintah ini di terminal (sorry cuman kasih contoh buat pecinta linux doank)

chmod u+x webAppCreator

lalu

./webAppCreator -out MyWebApp com.mycompany.mywebapp.MyWebAp

setelah perintah di atas di jalankan, GWT akan mengenerate contoh project dengan nama MyWebApp beserta paket - paketnya di dalam folder GWT SDKnya, nah kalo sudah kita build dan jalankan project tersebut dengan Apache ANT dengan ketik :

ant devmode

eittsss kalo mau jalanin ANT install dolo apache ant di linux atau bisa download di http://ant.apache.org/

habis di download jangan lupa setting path apache ant yah,, nah kalo ant devmode berhasil akan muncul windows seperti ini :

GWT Development Mode 


dari gambar di atas terdapat button Launch Default Browser buat running itu sample project, nah kalo button Copy To Clipboard mah buat nampilin url itu aplikasi di panelnya,, owh selain itu project ini di jalan oleh jetty. Tau jetty kan, nah jetty ini salah satu middleware / web server seperti Apache, WebLogic, Glasfish, dan Websphere, cuman jetty ini lebih kecil di banding 4 webserver tsb, nah kalo mo lihat jetty di GWT di atas berikut di bawah ada gambarnya :



 

nah udah lihat tab jetty di GWT kan,, tombolnya sih cuman buat restart server doank, kalo expand all sama collapse all mah buat tutup sama buka treenya. Setelah lihat Main Panelnya GWT, mari kita lihat hasilnya dari projectnya seperti apa :


 

gambar di atas adalah hasil dari deployment contoh project yang di generate si GWTnya,, nah kita bisa mengubah code yang di generate, misal kita ingin mengganti caption button send menjadi submit, kita tinggal masuk ke folder src/com/mycompany/mywebapp/client nanti di sana ada file MyWebApp.java kita tinggal edit file tersebut dengan mengganti

final Button sendButton = new Button("Send");

menjadi

final Button sendButton = new Button("Submit");

Kalo sudah tinggal save kemudian refresh browsernya, dan hasilnya seperti ini :


dan pada saat kita klik tombol submit akan muncul seperti ini : 

 

fuihh, akhirnya selesainya juga ini article. Nah yang mau coba - coba silahkan ikuti langkah - langkah di atas untuk memulai Google Web Toolkit (GWT).

Nah berhubung saya lagi coba - coba belajar RIA (Rich Internet Application) ada kemungkinan saya posting tahap selanjutnya untuk GWT atau mungkin saya posting tentang Ext - JS masih RIA juga sehhh. Semoga article ini bermanfaat, amienn ya robbal alamin.

 

Terima Kasih

Aditya Lukman Afandi


 

Spring Hibernate versi XML

Pada article sebelumnya saya sudah membahas penggunaan Data Akses Object (DAO) pada hibernate di Hibernate DAO, JPA dan ANT sebagai buildernya, nah pada article ini saya akan menjelaskan implementasi spring hibernate dengan metode XML. Memang saat ini metode tersebut sudah mulai di tinggalkan oleh para programmer, karena saat ini sudah menggunakan anotation ( @ ) dalam pembuatan repository bean. Dengan menggunakan anotation, programmer tidak harus membuat bean di XML dan dengan begini proses pengcodean menjadi lebih simple. Tapi pada article saya tidak akan menjelaskan penggunaan menggunakan anotation, karena di article ini saya akan memberitahu terlebih dahulu penggunaaan spring hibernate menggunakan XML.

Dari pada panjang lebar nunggu lama mending kita langsung ke TKP, seperti biasa sebelum di mulai saya akan menunjukan library apa saja yang di butuhkan dalam project ini.

1. antlr-2.7.6.jar                            10. hibernate-annotations.jar

2. asm.jar                                     11. hibernate-commons-annotations.jar

3. asm-attrs.jar                             12. hibernate-entitymanager.jar

4. commons-collections-2.1.1.jar    13. hibernate-tools.jar

5. commons-logging-1.1.jar            14. jta.jar

6. dom4j-1.6.1.jar                          15. mysql-connector-java-5.1.6.jar

7. ejb3-persistence                        16. cglib-2.1.3.jar       

8. freemarker-2.3.10.jar                  17. spring-2.5.6.jar

9. hibernate3.jar

setelah librarynya terkumpul semuanya, saya akan kasih lihat struktur project ini seperti apa


sudah lihat struktur projectnya kan ?? bila ingin tau mengapa saya selalu menunjukan struktur project pada saat membuat postingan. Hal itu di karenakan saya tidak perlu menjelaskan step by step untuk pembuatan project, package, class - class java dan configuration file. Back to the topic, selanjutnya adalah pembuatan class - class javanya.

class yang pertama di buat adalah

DefaultPersistence.java

package com.adhit.project.utility;

import java.io.Serializable;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

@MappedSuperclass
public class DefaultPersistence implements Serializable {
    private static final long serialVersionUID = 1L;
   
    private int id;

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
   
   
}

 

class selanjutnya adalah class entity item, by the way kenapa saya selalu memberi contoh dengan entity item, entahlah lagi pula ga penting juga yah, hahaha, yang penting kan codingannya.

Item.java


package com.adhit.project.entity;

import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;

import com.adhit.project.utility.DefaultPersistence;

@Entity
@Table(name="tb_item")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class Item extends DefaultPersistence {
    private String code;
    private String name;
    private String description;
    private Integer price;
   
    public String getCode() {
        return code;
    }
   
    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }
   
}

 

setelah itu adalah pembuatan interface class

ItemDAO.java

package com.adhit.project.item.dao;

import java.util.List;

import com.adhit.project.entity.Item;

public interface ItemDAO {
    public void save (Item item);
   
    public void delete (Item item);
   
    public Item find (Object id);
   
    public List<Item> findList (String query);
}

 

setelah membuat interface class, proses selanjut adalah pembuatan class implement dari interface tersebut

ItemDAOImplement.java

package com.adhit.project.item.dao;

import java.io.Serializable;
import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;

import com.adhit.project.entity.Item;

@Repository
public class ItemDAOImplement extends HibernateDaoSupport implements ItemDAO {

    @Autowired
    public void setSuperSessionFactory(SessionFactory sessionFactory) {
         super.setSessionFactory(sessionFactory);
    }
   
    @Override
    public void delete(Item item) {
        getHibernateTemplate().delete(item);
    }

    @Override
    public Item find(Object id) {
        Item item = (Item) getHibernateTemplate().get(Item.class, (Serializable) id);
        return item;
    }

    @Override
    public List<Item> findList(String query) {
        return getHibernateTemplate().find(query);
    }

    @Override
    public void save(Item item) {
        getHibernateTemplate().saveOrUpdate(item);
    }

}

 

class selanjut di buat adalah class yang di perlukan untuk memanggil repository beannya

Service.java

package com.adhit.project.utility;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.adhit.project.item.dao.ItemDAOImplement;

public class Service {
    private static ApplicationContext applicationContext;
   
    static {
        applicationContext = new ClassPathXmlApplicationContext(
                "application.context.xml");
    }
   
    public static ItemDAOImplement getItem() {
        return (ItemDAOImplement) applicationContext.getBean("itemDAO",
                ItemDAOImplement.class);
    }
}

 

nah sekarang class terakhir yang di buat adalah untuk testing class code di atas

ItemMain.java

package com.adhit.project.main;

import java.util.ArrayList;
import java.util.List;

import com.adhit.project.entity.Item;
import com.adhit.project.item.dao.ItemDAO;
import com.adhit.project.utility.Service;

public class ItemMain {
   
    public static void main (String args[]) {
        ItemDAO service = Service.getItem();
       
        Item item = new Item();
        List<Item> items = new ArrayList<Item>();
       
        item.setCode("KODE1");
        item.setName("Acer Aspire Core I5");
        item.setDescription("Acer Aspire Core I5, VGA NVDIA GeoForce");
        item.setPrice(500);
       
        // Save Item
        service.save(item);
       
        // Load Item By Id
        item = service.find(item.getId());
       
        System.out.println(">>> "+item.getName());
       
        // Edit Item
        item.setId(item.getId());
        item.setName("Acer Aspire");
        service.save(item);
       
        // List Item
        items = service.findList("select object(i) from "
                + Item.class.getName() + " as i where i.id = '" + item.getId()
                + "'");
       
        // Print Item Data
        for(Item i : items) {
            System.out.println(">>> Code        : "+i.getCode());
            System.out.println(">>> Name        : "+i.getName());
            System.out.println(">>> Description : "+i.getDescription());
            System.out.println(">>> Price       : "+i.getPrice().doubleValue());
        }
       
        //Delete Item
        service.delete(item);
    }
   
}

 

 

Selanjut adalah pembuatan hibernate.cfg.xml untuk konfigurasi hibernate, apllicationContext.xml pembuatan repositoy bean dan project.properties adalah file properties yang di perlukan applicationContext.xml

nah sekarang mari buat hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
   
    <!-- Properties -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">tulalit</property>
    <property name="hibernate.connection.pool_size">10</property>
    <property name="show_sql">false</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
   
    <mapping class="com.adhit.project.entity.Item"/>
   
    </session-factory>
</hibernate-configuration>

 

 

setelah membuat hibernate.cfg.xml, selanjut adalah membuat file properties

project.properties

hibernate.connection.driver_class= com.mysql.jdbc.Driver
hibernate.connection.url         = jdbc:mysql://localhost/latihan
hibernate.connection.username    = root
hibernate.connection.password    = tulalit
hibernate.dialect                = org.hibernate.dialect.MySQLInnoDBDialect

hibernate.hbm2ddl_auto=create
hibernate.show_sql=true
hibernate.show_statistics=true

 

setelah ke dua file tersebut di buat, yang terakhir adalah membuat xml contextnya

application.context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

    <context:property-placeholder
        location="classpath:project.properties" />
    <context:component-scan base-package="com.adhit.crud" />
    <tx:annotation-driven transaction-manager="transactionManager" />

    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource"
        p:driverClassName="${hibernate.connection.driver_class}"
        p:url="${hibernate.connection.url}"
        p:username="${hibernate.connection.username}"
        p:password="${hibernate.connection.password}" />

    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
        p:dataSource-ref="dataSource">
        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>
        <property name="annotatedClasses">
            <list>
                <value>com.adhit.project.entity.Item</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    ${hibernate.dialect}
                </prop>
                <prop key="hibernate.show_sql">
                    ${hibernate.show_sql}
                </prop>
                <prop key="hibernate.generate_statistics">
                    ${hibernate.show_statistics}
                </prop>
            </props>
        </property>
        <property name="eventListeners">
            <map>
                <entry key="merge">
                    <bean
                        class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener" />
                </entry>
            </map>
        </property>
    </bean>

    <bean id="transactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager"
        p:sessionFactory-ref="sessionFactory" />

    <bean id="itemDAO"
        class="com.adhit.project.item.dao.ItemDAOImplement"
        p:sessionFactory-ref="sessionFactory" />
</beans>

sebelum membuat itu semua, silahkan sediakan sebuah database kosong tanpa table untuk proses penyimpanan data, mengapa tanpa table, karena table untuk keperluan penyimpanan akan di generate oleh springnya dengan membaca mapping entity yang ada di hibernate.cfg.xml. Untuk struktur tablenya di ambil dari struktur entity yang di mapping. Kalo untuk settingan konfigurasi database bisa edit hibernate.cfg.xml dan project.propertes yang isinya konfigurasi tinggal di sesuaikan komputer lokal masing - masing.

 

Setelah panjang lebar (sebenernya sih gak panjang lebar, haha, karena saya tidak menjelaskan detail codingan di atas) article ini telah selesai di posting. Rencana untuk posting article sih sebenernya banyak yang ingin di tulis, tapi sepertinya article selanjut adalah implementasi spring hibernate menggunakan anotation (@). Dan yang pasti harapan saya semoga article ini berguna bagi para pembaca, dan semoga saya bisa membuat article yang lebih bermanfaat dari artcle sebelumnya, juga ilmu saya bisa terus bertambah agar bisa di share pada semua (banyak berharap dan cuap - cuap juga yah di ujung, wkwkwkw).

Terima Kasih

Aditya Lukman Afandi


 




 

Berkenalan dengan controller Spring MVC dan viewer JSTL

Pada artikel ini saya akan menjelaskan dasar paling sederhana membangun aplikasi web menggunakan controller Spring MVC dan viewernya menggunakan JSTL (JSP Standard Tag Library). Nah seperti biasa, sebelum ke codingan saya akan jelaskan secara singkat apa itu Spring MVC dan JSTL.

JSTL adalah sebuah komponen dari Java EE Web application development platform. Ini memperluas spesifikasi JSP dengan menambahkan tag-tag Library dari JSP untuk common tasks, seperti pengolahan data XML, conditional execution, loop dan internasionalisasi. JSTL ini dikembangkan di bawah Java Community Process (JCP) sebagai JSR 52. pada 8 Mei 2006, JSTL 1,2 telah dirilis.

JSTL menyediakan cara yang efektif untuk menanamkan logika dalam halaman JSP tanpa menggunakan kode Java tertanam secara langsung. Dalam penggunaannya JSTL menetapkan standar tag set, daripada melanggar keluar dan masuk dari kode Java yang membuat lebih banyak kode maintainable dan memungkinkan fokus pada pemisahan antara pengembangan kode aplikasi dan user interface.

Spring MVC = Bagian dari Spring framework yang merupakan controller seperti Struts atau JSF. MVC = Model View Controller, konsep pemrograman yang memisahkan bagian pengaksesan database(Model), Business Logic(Controller), dan tampilan (View).

Bagaimana sudah sedikit ada bayangan ?? setelah panjang lebar mari langsung ke TKP, dan selanjutnya adalah mempersiapkan library jar yang di perlukan untuk project ini.

1. commons-logging-1.1.jar      4. spring-2.5.6.jar

2. jstl-standard.jar                   5. spring-webmvc-2.5.6.jar

3. jstl.jar

setelah semua librarynya terkumpul siapkan toolsnya yang di perlukan, yaitu :

1. Javanya pasti donk

2. apache-tomcat-6.0.24 (sebagai middle ware / web server)

3. Eclipse IDE


Nah sebelum ke codingan, saya akan perlihatkan struktutr projectnya terlebih dahulu,,


seperti biasa setelah saya kasih lihat struktutr projectnya langsung ke codingan.

yang pertama adalah membuat file web.xmlnya

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
</web-app>


setelah itu, buat class ItemForm.java

package org.blueoxygen.springmvc.form;

public class ItemForm {
    private String code;
    private String name;
    private String description;
    private int price;
   
    public String getCode() {
        return code;
    }
   
    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }
   
}

setelah membuat ItemForm, buat class controller FormInput.java

package org.blueoxygen.springmvc.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.blueoxygen.springmvc.form.ItemForm;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

@Controller
public class FormInput extends MultiActionController {
   
    public ModelAndView formInput(HttpServletRequest request, HttpServletResponse response, ItemForm itemForm) throws Exception {
        ModelMap modelMap = new ModelMap();
        modelMap.addAttribute(new ItemForm());
       
        String action = request.getParameter("action") == null ? "" : request.getParameter("action");
       
        HttpSession session;
        System.out.println(">>>>>"+request.getParameter("action"));
        if(action.equalsIgnoreCase("1")) {
            session = request.getSession();
            session.setAttribute("itemForm", itemForm);
           
            ModelAndView mav =  new ModelAndView("redirect:viewItem.do");
            mav.addObject("itemForm", itemForm);
           
            return mav;
        } else {
            return new ModelAndView("item/formInput", modelMap);
        }
    }
   
}

setelah controllernya terbuat mari kita buat file formInput.jsp :

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>

<html>
    <head>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
        <link href="../css/template.css" rel="stylesheet" type="text/css">
        <script language="JavaScript">
            function lanjut() {
              window.location.href = "formInput.do?action=1";
            }
        </script>
        <title>Spring MVC Sample</title>
    </head>
    <body>
        <form:form action="formInput.do?action=1" method="post" commandName="itemForm" name="form1">
        <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#E7E3E7">
            <tr>
                <td width="10"></td>
                <td height="25" align="center" class="tabel_header">Item Form</td>
                <td width="10"></td>
            </tr>
        </table>
        <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#E7E3E7">
            <tr class="tabel_edit">
                <td align="left">Code</td>
                <td align="left"> : </td>
                <td align="left">
                    <form:input path="code" cssClass="bordersolid"/>
                </td>
            </tr>
            <tr class="tabel_edit">
                <td align="left">Name</td>
                <td align="left"> : </td>
                <td align="left">
                    <form:input path="name" cssClass="bordersolid"/>
                </td>
            </tr>
            <tr class="tabel_edit">
                <td align="left">Description</td>
                <td align="left"> : </td>
                <td align="left">
                    <form:input path="description" cssClass="bordersolid"/>
                </td>
            </tr>
            <tr class="tabel_edit">
                <td align="left">Price</td>
                <td align="left"> : </td>
                <td align="left">
                    <form:input path="price" cssClass="bordersolid"/>
                </td>
            </tr>
            <tr>
                <td align="right" valign="bottom" colspan="4">
                    <input type="submit" class="buttonbesar" value="submit" onClick="lanjut()">
                    <input type="reset" class="buttonbesar" value="Reset">
                </td>
            </tr>
        </table>
        </form:form>
    </body>
 </html>

 

setelah membuat jspnya, kita buat class controller untuk view hasil dari input form di atas yaitu ViewItem.java

 

package org.blueoxygen.springmvc.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.blueoxygen.springmvc.form.ItemForm;
import org.springframework.stereotype.Controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

@Controller
public class ViewItem extends AbstractController {

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
       
        ItemForm itemForm = new ItemForm();
        HttpSession session;
       
        session = request.getSession();
       
        itemForm = (ItemForm) session.getAttribute("itemForm");
       
        ModelAndView mav = new ModelAndView();
        mav.addObject("itemForm", itemForm);
       
        return mav;
    }

}

 

selanjutnya adalah membuat jspnya viewernya viewItem.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>

<html>
    <head>
        <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
        <link href="../css/template.css" rel="stylesheet" type="text/css">
        <title>Spring MVC Sample</title>
    </head>
    <body>
        <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#E7E3E7">
          <tr>
            <td width="10"></td>
            <td height="25" align="center" class="tabel_header">View Item</td>
            <td width="10"></td>
          </tr>
        </table>
        <table width="98%" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#E7E3E7">
          <tr class="tabel_edit">
            <td width="180" align="left" >Code</td>
            <td align="left" class="tabel_edit_judul">&nbsp;${itemForm.code}</td>
          </tr>
          <tr class="tabel_edit">
            <td  align="left" >Name</td>
            <td align="left" class="tabel_edit_judul" >&nbsp;${itemForm.name}</td>
          </tr>
          <tr class="tabel_edit">
            <td  align="left" >Description</td>
            <td align="left" class="tabel_edit_judul" >&nbsp;${itemForm.description} </td>
          </tr>
          <tr class="tabel_edit">
            <td  align="left" >Price</td>
            <td align="left" class="tabel_edit_judul" >&nbsp;${itemForm.price}</td>
          </tr>
        </table>
    </body>
 </html>

 

 setelah class dan viewernya jadi buat dispatcher-servlet untuk mengatur alur actionny :

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
   
    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
   
    <!--
    Most controllers will use the ControllerClassNameHandlerMapping above, but
    for the index controller we are using ParameterizableViewController, so we must
    define an explicit mapping for it.
    -->
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="index.htm">indexController</prop>
                <prop key="item/formInput.do">formInputController</prop>
                <prop key="item/viewItem.do">viewItemController</prop>
            </props>
        </property>
    </bean>
   
    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/jsp/"
          p:suffix=".jsp" />
   
    <!--
    The index controller.
    -->
    <bean name="indexController"
          class="org.springframework.web.servlet.mvc.ParameterizableViewController"
          p:viewName="index" />
   
    <bean name="formInputController" class="org.blueoxygen.springmvc.controller.FormInput" />
    <bean name="viewItemController" class="org.blueoxygen.springmvc.controller.ViewItem" />
</beans>


setelah itu, kita buat redirect.jspnya untuk menredirect actionnya :

 

 

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% response.sendRedirect("item/formInput.do"); %>

 

 

dan hasilnya seperti ini


dan viewnya seperti ini


Alhamdulillah articlenya selesai juga, nah mohon do'anya kepada para reader semoga saya bisa membuat articlenya selanjutnya yang selalu bermanfaat bagi semuanya, amien.

Aditya Lukman Afandi

 

Mempercepat Koneksi Internet di Windows

Bagi yang merasa internetnya lemoottt atau menggunakan modem yang koneksinya lambat, saya punya solusi untuk mempercepat koneksi internet tanpa bantuan software apapun, tapi ini khusus untuk yang mengguanakan Sistem Operasi Windows.

Tanpa basa - basi langsung saja :

1. Klik kanan di My Computer

2. Pilih Properties

3. Kemudian pilih Tab Hardware dan Klik Device Manager

4. Cari Tree Ports (COM & LPT) kemudian Expandnya treenya

[Read More]

 

Masyarakat Perkotaan dan Masyarakat Pedesaan

Masyarakat memiliki arti yaitu sekumpulan makhluk hidup yang menempati daerah yang memiliki aturan norma yang harus dipatuhi oleh setiap anggota masyarakat.

Masyarakat kota adalah sekumpulan manusia dalam jumlah besar yang berinteraksi dalam sebuah daerah besar. Dimana dalam melakukan interaksi tersebut pemerintah sebagai pemimpin dari kelompok tersebut membuat peraturan - peraturan. Tujuan dari peraturan - peraturan yang dibuat oleh pemerintah adalah sebagai pembatas kegiatan perseorangan. Dalam melakukan kegiatan di dalam kelompok tersebut, setiap individu atau perorangan harus mengerti apa peraturan yang berlaku di daerah yang mereka tempati atau tempat yang mereka pijaki. Seperti saat anda berkendara di jalan raya, di perpustakaan, dan lain sebagainya.


Tetapi kehidupan masyarakat kota sekarang kebanyakan tidak mengikuti peraturan yang ada disekitar lingkungan mereka. Seperti kehidupan masyarakat di kota Jakarta. saat anda berkendara, pernahkan anda melihat para pengendara sepeda motor berhenti dibelakang garis separator lampu merah? Saya rasa tidak. Atau pernahkah anda melihat para pengendara melintas di jalur khusus busway? Saya rasa sering, walaupun tidak dalam keadaan macet. Dalam hal ini manusia diperlukan pembelajaran "Bagaimana menahan kesabaran dalam berlalu lintas?". Tetapi pemerintah masih saja kurang baik dalam memelihara ketertiban lalu lintas. Berbeda dengan halnya peraturan berlalu lintas di Amerika. Setiap jalan atau jalur, diberikan peraturan berupa kecepatan maksimal, bahkan ada parkir khusus untuk penyandang cacat. Ini hanya sebagian kecil contoh dari kehidupan masyarakat kota.

[Read More]

 

Method - method String dalam Java

Method-Method String


public char charAt(int index)
Mengirim karakter di indeks yang dispesifikasikan oleh parameter index.


public int compareTo(String anotherString)

Membandingkan dua String dan mengirim bilangan int yang menspesifikasikan apakah objek string pemanggil kurang dari atau sama dengan anotherString. Bernilai negatif jika objek yang dilewatkan (passed string) lebih besar, 0 jika kedua string sama, dan bernilai positif jika objek string pemanggil (calling string) lebih besar.


public int compareToIgnoreCase(String str)

Serupa dengan compareTo tetapi case insensitivity.

[Read More]

 

Crononology of The Making a Program part 2

1. Definition Problems
 
   
Programmers generally get a job based on a problem. Before a program can be designed to roperly resolve some problems, problems that occur must be known and are good with detail the requirements to get the input and output.
   
A definition that is clearly part of the settlement of the problem. Programming a computer to include the first program mendefiniskan before making a settlement of the problem. 

let's we define a sample problem :

" Create a program that displays how many times a name showed on a list ".

   1.1 Analyzing of Problems

Once a problem are adequate, the most concise and efficient in the resolution should be ormulated. Generally, the next step includes solving the problem becomes some of the small and brief.
- Examples of problems:
         Showing emergence of a number of names on the list
- Input on Program:
         Name list, the name will be searchable
- Output From Program:
         The likelihood that the number of searchable names


 

Crononology of The Making a Program part 1

         A programmer not only making and coding a program, but planned and a structured methodology that a separate application process into several parts.

The following steps by steps in a systematic basic to solve the problems programming :

1. Defining the problem
2. Analyze and make solving formula
3. Algorithm design and representation
4. Coding, Test and the creation of documentation

To understand basic steps to solving problem in a computer, let us define will be solved step by steps as the methodology of problem solving that will be discussed further. The problem that we will finish be defined in the next section.

 

 

RFID ( Radio Frequency Identification )

Di kantor hari ini lagi pada ngebicarain RFID, lalu aku cari-cari articlenya di Internet tentang RFID, beberapa menit aku cari, ketemu deh articlenya, mau tau apa itu RFID dan asal muasalnya. Begini ceritanya

RFID (Bahasa Inggris: Radio Frequency Identification) atau Identifikasi Frekuensi Radio adalah sebuah metode identifikasi dengan menggunakan sarana yang disebut label RFID atau transporder untuk menyimpan dan mengambil data jarak jauh. Label atau kartu RFID adalah sebuah benda yang bisa dipasang atau dimasukkan di dalam sebuah produk, hewan atau bahkan manusia dengan tujuan untuk identifikasi menggunakan gelombang radio. Label RFID terdiri atas mikrochip silikon dan antena. Label yang pasif tidak membutuhkan sumber tenaga, sedangkan label yang aktif membutuhkan sumber tenaga untuk dapat berfungsi.

[Read More]

 

Empat Prosesor Baru Intel Processor

SANTA CLARA, RABU  Jajaran prosesor 45nm Intel masih terus diperkaya. Kali ini tambahannya adalah empat prosesor Intel Xeon yang bebas halogen, yang sekaligus merupakan langkah Intel untuk menuju ke miniaturisasi secara fisik maupun energi.

Efisiensi energi pada ke-4 prosesor baru ini datang dari kemampuan manufakturing 45nm Intel dan juga transistor yang menggunakan rumusan metal gate Hafnium-based high-k. Selain itu, semua seri Intel Xeon 5200 dan 5400 series sekarang akan bebas halogen.

[Read More]

 

Sun Terus Genjot Open Source

Sun Microsystem terus mendukung aplikasi-aplikasi open source, salah satunya dengan mengakuisisi MySQL AB beberapa saat lalu. Terutama dukungannya untuk pasar-pasar utama di Asia Selatan, dimana banyak perusahaan yang menggunakan database MYSQL.

Software premium, perangkat monitoring serta dukungan teknis yang tersedia dalam database berlangganan , MySQL Enterprise mampu mengurangi biaya kepemilikan total software database hingga 90 persen, dan hal ini mampu meningkatkan kinerja dan uptime.

Lebih dari 100 juta kopi software database open source MySQL dengan kinerja tinggi telah diunduh dan didistribusikan, selain itu tambahan 65.000 kopi diunduh setiap hari. Dari sudut pandang pengembang, integrasi MySQL dan Sun Microsystems ini menghadirkan kemungkinan tak terbatas yang menyediakan kualitas terbaik serta kontribusi fitur-fitur canggih bagi beragam inisiatif open source unggul di dunia, kata David Axmark, Co-founder MySQL, yang dilansir dalam siaran pers.

[Read More]

 

blog comments powered by Disqus