Mar 29, 2014


Java 8 is released!
Let’s play it!

Salah satu fitur baru pada Java 8, Lambda Expression! Secara garis besar Lambda Expression itu digunakan untuk membuat fungsionalitas menjadi data yang bisa di passing ke dalam suatu method sebagai parameter. Menggantikan anonymous class yang biasa kita gunakan.



Kita ambil contoh mencetak daftar user yang berumur dibawah 22 tahun.

1.      Lambda Expression merupakan kode fungsionalitas, jadi kita buat interface yang mendefinisikan suatu fungsi.

interface Tester {
     boolean test(T t);
}

Interface di atas hanya untuk mendefinisikan fungsionalitas.

2.      Buat kelas dengan nama User

class User {
    private String firstName;
    private String lastName;
    private int age;

    public User() { }
    public User(String firstName, String lastName, int age) {
        setFirstName(firstName);
        setLastName(lastName);
        setAge(age);
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void print() {
        System.out.println(firstName + " " + lastName + " : " + age);
    }
}

Kelas diatas merupakan POJO yang memiliki field firstname, lastName, Age, dan fungsi untuk mencetak User.

3.      Buat method untuk mencetak user

private static void printUnderTwentyTwo(List users, Tester tester) {
    for(User user : users) {
        if(tester.test(user)) {
            user.print();
        }
    }
}
*perhatikan: Tester.test(user) merupakan fungsi yang didefinisikan dalam sebuah Interface, dengan kata lain tidak memiliki implementasi. Pada Java versi sebelumnya, biasa digunakan anomymous class.

4.      Memanggil method menggunakan Lambda Expression

printUnderTwentyTwo(listUser, p -> p.getAge() < 22);
*perhatikan:
p -> p.getAge() < 22)

Inilah yang dinamakan Lambda Expression. Maksud dari kode di atas adalah fungsionalitas untuk mengecek apakah umur user lebih kecil dari 22 dimasukan ke dalam variable p. Fungsionalitas tersebut di passing ke dalam method sebagai parameter tester.

Demikian penjelasan singkat tentang Lambda Expression yang ada pada Java 8.

Feb 3, 2014

Kembali lagi sobat!

Setelah lama ngerjain project, akhirnya selesai juga. Dan, postingan kali ini tentang pengalaman pada project tersebut.

Jika kamu seorang programmer, pasti kenal dengan yang namanya Development Process dan Deployment Process. Development Process adalah ketika kita sedang mengembangkan suatu aplikasi, membuat program (coding) dan memperbaiki kesalahan (debugging). Sedangkan Deployment Process adalah ketika kita men-deploy (menginstal) aplikasi di sisi user.

Permasalahan yang sering muncul dalam Development Process adalah permasalahan teknis. Masalah yang menyangkut skill atau kemampuan coding. Sedangkan masalah saat Deployment Process adalah masalah yang memerlukan trik.

User itu "Gaptek" loh. Jadi maunya langsung pake aplikasi. Sehingga sudah menjadi kewajiban Software Developer untuk "memuaskan" keinginan user tersebut. KonfigurasSi sana-sini, supaya user tinggal run n' work.

"Melakukan Konfigurasi Basis Data saat Deploy Aplikasi"
Ketika aplikasi di-deploy, pasti databasenya pun harus di-deploy. Jadi gimana caranya supaya saat aplikasi di instal (di-setup) databasenya pun terinstall????? Hmmmmm!?!?!?!?

Oke, ini trik yang saya gunakan.
1. Buat satu file <database.sql>; file ini bisa dihasilkan mem-backup database.
2. Pada bagian awal file <database.sql> tambahkan semua pengaturan yang diperlukan (tambah user, tambah privilege, buat database, dan pilih database).
3. buat program untuk mengeksekusi file <database.sql> tadi. (lebih mudah meggunakan C++).

Jadi, user hanya perlu menjalankan program 1 kali untuk konfigurasi database.

Sekian dan Terima Kasih!

Jan 24, 2014

"Could not load file or assembly 'file:///C:\Program Files\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll' or one of its dependencies. The system cannot find the file specified."









Error ini disebabkan karena Crystal Report menggunakan runtime v2, sementara Project yang dikerjakan menggunakan v4, maka terjadi ketidakcocokan. Untuk mengatasi masalah ini, maka kita harus melakukan konfigurasi project agar bisa menggunakan v2.

Edit file app.config, tambahkan :

<startup useLegacyV2RuntimeActivationPolicy="true">
</startup>

*Masalah sebenarnya muncul saat kita menggunakan Library MySQL v4 sebagai jembatan dengan database untuk membuat DataSource dan Crystal Report yang menggunakan runtime v2.
Subscribe to RSS Feed Follow me on Twitter!