Anda di halaman 1dari 40

Java di Dunia Kerja

Endy Muhardin
endy@artivisi.com
Who Am I
● Founder ArtiVisi Intermedia (2008 - now)
● SEPG BaliCamp (2005 – 2008)
● Programmer (2002 – now)
● Dosen STIKOM Surabaya (2003 - 2004)
Contact
● endy@artivisi.com
● Y! : endymuhardin
● Twitter : endymuhardin
● http://endy.artivisi.com
Anda bisa Java ???
public class Hello {
  public static void main(
    String[] args){
      System.out
      .println("Hello World");
  }
}
Java,
bukan sekedar bahasa pemrograman
Java Ecosystem
● Bahasa Pemrograman
● Framework & Library
● Arsitektur & Design Pattern
● Tools
● Deployment Target
● Standar kualitas
Bahasa Pemrograman
Bahasa yang bisa dijalankan di
JVM
● Java
● Scala
● Groovy
● Javascript
● Python (Jython)
● Ruby (JRuby)
Apakah menguasai bahasa pemrograman
saja cukup untuk membuat aplikasi ??
Bisa, tapi akan butuh waktu lama.
Tidak Efisien !!!
Framework & Library
Plain JDBC
String sql = "insert into t_customer (nama, 
alamat, .... )";
sql += " values (?,?, ... )";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, customer.getNama());
ps.setString(2, customer.getAlamat());
...
ps.executeUpdate();
JPA

entityManager.persist(customer);
Framework dan Library
● Official Framework
– Spesifikasi dibuat oleh JCP
● Alternative Framework
– Tanpa spesifikasi, biasanya open source
Official Framework
● Java Persistence API
– Data Access Layer
● Enterprise Java Beans
– Service Layer
● Java Server Faces
– User Interface Layer
Alternative Framework
● Hibernate
– Data Access Layer
● Spring Framework
– Service Layer
● > 100 web framework
– User Interface Layer
– Mis: Struts, Wicket, GWT, SpringMVC
Library & Add-Ons
– Joda Time
● Operasi tanggal dan waktu
– SLF4J, Log4J
● Logging
– JPos
● Financial transaction
– Velocity
● Template engine
– dsb
Arsitektur
● Menghindari duplikasi kode
● Membuat aplikasi lebih mudah dimengerti
● Memudahkan maintenance
– Bug fixing
– Tambah fitur
Design Pattern
● Solusi untuk masalah yang sering terjadi
– 3 layer aplikasi
● User Interface layer
● Business Service layer
● Data Access layer
Menguasai bahasa, framework, library..
Cukupkah ???
Kita butuh Tools
Supaya produktif
Programming Tools [1]
● IDE
– Eclipse
– Netbeans
– Intellij IDEA
● Build Tools
– Maven
– Ant + Ivy
– Gradle
Programming Tools [2]
● Testing Tools
– JUnit
– JMeter
– Selenium
– Script buatan sendiri
Sekarang kita sudah bisa membuat aplikasi

sendirian
Butuh tools tambahan untuk kerja tim
Collaboration Tools
● Issue Tracker
– Bugzilla
– Trac
– Redmine
● Version Control
– Subversion
– Git
– Mercurial
Aplikasi sudah selesai
Mau dideploy ke mana ???
Deployment Target [1]
● Application Server
– Glassfish
– Oracle iAS
– Oracle Weblogic
– IBM Websphere
– JBoss AS
– Apache Tomcat
Deployment Target [2]
● Gadgets
– Java ME
– Blackberry
– Android
● Desktop
– Windows
– Linux
Kualitas Aplikasi
Prakarya atau Production
???
Kualitas Aplikasi
● Prakarya
– Hanya bisa dipakai untuk tugas kuliah
● Production
– Dipakai untuk menjalankan bisnis
Perbedaan
Prakarya vs Production
● Usability
● Validasi
● Error Handling
● Maintainability
– Logging
– Backup & Restore
Usability
Usability
Validasi
Error Handling
Maintainability
14:07:54 ERROR [PooledThread­1­running] 
i.c.a.p.g.h.receiver.impl.ReceiverPrepaidImpl : 
String index out of range: 47

java.lang.StringIndexOutOfBoundsException: String 
index out of range: 47
at java.lang.String.substring(String.java:1934) 
~[na:1.6.0]
at 
i.c.a.p.g.h.i.ReceiverPrepaidImpl.handleInquiryReques
t(HilirReceiverPrepaidImpl.java:549)
Pertanyaan dan Diskusi
Kesimpulan
● Java sangat luas
● Kompetensi datang dari pengalaman
● Pengalaman datang dari banyak project
● Project bisa dibuat sendiri
● Buatlah aplikasi berkualitas production

Anda mungkin juga menyukai