Posted in Java

Named Parameters in Java 8

With Java 8 and the compiler flag: javac -parameters method parameter names are available via reflection.

Java 8

For example: the parameter names of the method hello:


public class Boundary {

    public void hello(String name, int age) {

    }
}

become accessible to the following code:


    public static void main(String[] args) {
        Method[] methods = Boundary.class.getMethods();
        for (Method method : methods) {
            System.out.print(method.getName() + "(");
            Parameter[] parameters = method.getParameters();
            for (Parameter parameter : parameters) {
                System.out.print(parameter.getType().getName() + " " + parameter.getName() + " ");
            }
            System.out.println(")");
        }
    }
}

Compilation with javac -parameters produces the following output:

hello(java.lang.String name int age )

Without the -parameters flag the names are not available:

hello(java.lang.String arg0 int arg1 )

@author: Adam Bien

Posted in Self Improvements

Dealing with deadline.

After a while writing code and testing we realize that our program not enough to cover all requirements, even more worst if we cannot deliver at specific date.

This usually happen at first stage delivery in a project, meaning there are gaps between client and project manager or person in charge. this is a challenging moment but also can take your knee down if can’t take control your team.

Best foundation for a solid team is understanding each other is the key of smooth progress. no matter how hard it is, you can elaborate with your friends and project manager can take control the emotion individually.

Image Source

Try to maintain expectation ideally as much as possible, we are running out of time for the first time and struggling everywhere. no democracy for burden people in the first phase. if you think they are good enough you can continue or just replace with another people. high turn over at first time consider normal as long as you can drive at certain speed.

There are two concepts about gathering requirement and understanding from client perspective and project manager perspective.

First, you can setup your system analyst as boat which can go out and in everyday to get better understanding, seems like promising but not efficient, you wasting your time everyday that you know this is become a long road to finish.

Second one is try to build a bridge one by one form a simple step to advance structural understanding, a dedicated system analyst and highly technical person, sit beside client and others continue without distraction each other.

From programmer perspective sometimes a requirement is very easy or hard to do, because once they know what do you want, they just give you a quick sample, identify and mostly in the end of the day. up to 50% done or problem solved. not because of rocket science math or difficult calculation. mostly likely because to many pingpong (we are playing table tennis) everywhere.

Possibility is something that you do everyday, don’t ever ever lost it. keep trying and learning. 

Posted in Java

Diving-into-java#2

Lanjutan dari series Java#0 , Java#1 , Sekarang kita ke Bab selanjutnya yaitu mengenai Array di Java. Berikut cuplikan programnya.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Bab7 {
    
    public static void tugas7_1(){
        
        String days[] = {"Monday","Tuesday","Wednesday","Thurday","Friday","Saturday","Sunday"};
        int x = 0, y = 0;
        
        System.out.println("===WD===");
        while(x < days.length){
            System.out.println(days[x]);
            x++;
        }
        
        System.out.println("===DW===");
        
        do {
            System.out.println(days[y]);
            y++;
        }
        while(y < days.length);
        
        System.out.println("===FL===");
        
        for(int z=0; z < days.length; z++){
            System.out.println(days[z]);
        }
        
    }
    
    public static void tugas7_2(){
        
        BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
        String n1="";
        int maks[] = new int[10];
        int maxValue = maks[0];
        int c=1;
        
         try {
            
            for(int x=0; x  maxValue){
                     maxValue = maks[x];
                }
    
            }
           
             System.out.println("Nilai Maksimum adalah "+maxValue);
         
        }catch(IOException e){
            System.out.println("An Error Occurred");
        }
        
        
    }
    
    
    public static void tugas7_3(){
        
        String entry[][] = {{"Florence","753-1234","Manila"},{"Joyce","248422","Quozon City"},{"Becca","5485-4411","Manila"}};
        
        for(int x=0; x < entry.length; x++){
        
            System.out.println("Name : "+entry[x][0]);
            System.out.println("Tel. # : "+entry[x][1]);
            System.out.println("Address : "+entry[x][2]);
        
        }
        
        
    }
    
    public static void tugas7_4(){
    
    int[][]arr=new int[2][5];
        int k=1;

        for(int i=0; i<arr.length;i++){
            for(int j=0;j5)arr[i][j]=16-k;
                System.out.print(arr[i][j]);
                if (j<5) System.out.print(" ");
                k++;
             }
            System.out.println();
            }
        
        //Outputnya::::::
        //1 2 3 4 5
        //10 9 8 7 6
    }
    
}

Posted in Java

Diving Into Java#1

Sebelum pulang mau posting sedikit tentang Struktur Control di Java, yang sudah di jelaskan pada materi JENI. Berikut cuplikan programnya.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JOptionPane;

public class Bab6 {
    
    public static void tugas6_1(){
        
        BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
        String n1="";
        String n2="";
        String n3="";

        
        try {
            System.out.print("Enter Value 1 : ");
            n1 = dataIn.readLine();
            int x = Integer.parseInt(n1);
            
            System.out.print("Enter Value 2 : ");
            n2 = dataIn.readLine();
            int y = Integer.parseInt(n2);
            
            System.out.print("Enter Value 3 : ");
            n3 = dataIn.readLine();
            int z = Integer.parseInt(n3);
            
            int hasil = x+y+z;
            
            if(hasil >= 60){
                System.out.println(" Good Job  ");
            }else{
                System.out.println(" Sorry ");
            }
            
        }catch(IOException e){
            System.out.println("An Error Occurred");
        }
        
        
        
    }
    
    public static void tugas6_2(){
            
        String n1,n2,n3;
            
            n1 = JOptionPane.showInputDialog("Enter Your Value 1");
            int x = Integer.parseInt(n1);
            n2 = JOptionPane.showInputDialog("Enter Your Value 2");
            int y = Integer.parseInt(n2);
            n3 = JOptionPane.showInputDialog("Enter Your Value 3");
            int z = Integer.parseInt(n3);
            
            int hasil = x+y+z;
            
            String msg1 = "Result is "+hasil+" Good Job ";
            String msg2 = "Result is "+hasil+" Sorry ";
            if(hasil >= 60){
                JOptionPane.showMessageDialog(null, msg1);
            }else{
                JOptionPane.showMessageDialog(null, msg2);
            }
                   
    }
    
    
    public static void tugas6_3(){
        
        BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
        String n1="";
        
        try {
            System.out.print("Enter Value 1-10 : ");
            n1 = dataIn.readLine();
            int x = Integer.parseInt(n1);
            
            if((x >= 1) && (x <=10)){
                
                switch(x) {
                    case 1:
                    System.out.println("SATU");    
                    break;
                    case 2:
                    System.out.println("DUA");    
                    break;
                    case 3:
                    System.out.println("TIGA");    
                    break;
                    case 4:
                    System.out.println("EMPAT");    
                    break;
                    case 5:
                    System.out.println("LIMA");    
                    break;
                    case 6:
                    System.out.println("ENAM");    
                    break;
                    case 7:
                    System.out.println("TUJUH");    
                    break;
                    case 8:
                    System.out.println("DELAPAN");    
                    break;
                    case 9:
                    System.out.println("SEMBILAN");    
                    break;
                    case 10:
                    System.out.println("SEPULUH");    
                    break;
                    default: 
                    System.out.println("Unknown Number");    
                }
                        
            }else{
                System.out.println("Invalid Number ");
            }
            
        }catch(IOException e){
            System.out.println("An Error Occurred");
        }
        
    }
    
    
    public static void tugas6_4(){
        int x = 1, y = 0;
        
        while(x<=100){
            System.out.println("Muhammad Rizki (WD)"+x);
            x++;
        }
        
        do {
            System.out.println("Muhammad Rizki (DW) "+y);
            y++;
        }
        while(y<=100);
        
        for(int z=1; z<=100; z++){
            System.out.println("Muhammad Rizki (FL) "+z);
        }
 
    }
        
    
}
Posted in Carrier, Intermezzo

Newly Post in 2011

Tahun ini merupakan tahun penuh kejutan untuk saya dari perubahan karir sampai dengan cara pandang saya terhadap sesuatu hal yang “mungkin” dulu saya abaikan dan tidak terlalu memperhatikan bahkan menganggap hal tersebut merupakan hal yang tabu dan sulit untuk di lakukan. Well, ternyata tidak demikian bagi teman saya dia memberikan saya contoh tentang bagaimana menyikapi sesuatu lebih dewasa dengan prasangka baik. dari sikapnya itulah menjadikan saya balik untuk berfikir ulang mengenai niatan sebelum melakukan sesuatu dan selalu menjaga niat baik itu layaknya menjaga kepercayaan yang orang lain berikan terhadap saya.

Hmm…Februari telah datang dan ada yang bilang Februari merupakan bulan “Cinta” tapi buat saya Februari merupakan bulan fokus di karenakan Ujian Akhir Smester telah menunggu, mau tidak mau saya harus mengesampingkan dahulu acara-acara yang terkait dengan cinta *lebay*, Well, maksudnya bulan ini saya harus lebih fokus pada pekerjaan dan kuliah saya untuk terus meningkatkan kinerja dan prestasi di luar maupun di dalam.

Ada sedikit kesulitan memang dalam mengatur waktu antara kerja dan kuliah, walaupun antara dunia kerja dan dunia pendidikan sudah saya alami dahulu semenjak sama masih duduk di bangku SMK. Pada saat itu saya Magang di salah satu Perusahaan Fast Food di bilangan Jakarta Barat. Terbilang cukup sibuk juga karena pada awalnya saya masuk pada hari sabtu dan minggu saja, namun seiring dengan berjalannnya waktu, penawaran dan tuntutan kerja juga pastinya mengharuskan saya masuk pada hari-hari biasa yaitu dengan masuk setelah saya selesai menuntut ilmu di sekolah, lalu sorenya saya harus berangkat kerja, Kurang lebih 2,5 Tahun saya melakukan itu terus menerus dan pada akhirnya saya lulus dari dari SMK dengan berbekal pengalaman kerja yang bisa di andalkan.

Lulus dari SMK saya di terima pada perusahaan teknologi yang cukup terkenal dari situ saya belajar banyak hal tentang teknologi yang memang sudah menjadi passion saya sejak kelas 2 SMK kurang lebih 3,5 tahun saya berkarir di perusahaan tersebut, artinya tahun kemarin 2010 saya masih di perusahaaan tersebut. Tapi tahun 2011 saya sudah berada pada perusahaan berbeda dan mulai berkarir sebagai seorang software engineer yang memang impian saya untuk mempelajari dan berkecimpung dalam dunia tersebut.

Tulisan ini mirip biografi yaah ? Hahaha… Well, kembali lagi pada kalimat saya di atas yaitu tergantung bagaimana kita niat untuk melakukan sesuatu dan berusaha menjaga niat baik tersebut tetap pada tempatnya. Share yang baik, Lempar yang buruk. Kutipan dari “Islam KTP”  TEBE: Be…apa bapak bilang kemaren ? Iya..Pak. ambil yang baik dari bapak dan buang jauh-jauh yang buruk dari bapak.

Posted in Java, Programming

Diving Into Java

Tutorial kali ini saya kan coba berbagi mengenai Dasar-Dasar pemrograman Java bersumber dari referensi JENI (Java Education Network Indonesia) dan Terima Kasih sebanyak-banyaknya bagi pengembang dan Team JENI yang secara antusias dalam mengenalkan dan mengajarkan Java untuk kita semua.

java logoJava merupakan salah satu bahasa pemrograman yang sudah OOP (Object Oriented Programming) dan Multi Platform artinya java bisa di jalankan di berbagai operating sistem dan perangkat yang sudah mendukung JVM (Java Virtual Machine).

Java sendiri mengalami perkembangan yang sangat pesat dari tahun ke tahun pengembangan mulai dari perbaikan bugs sampai penambahan libraries yang semakin useful untuk para pecinta Java.

Industri pun banyak melirik teknologi java salah satunya di karenakan teknologi yang multi platfrom dan mampu berjalan pada skala enterprise untuk mendukung kelancaran bisnis dan efisiensi di berbagai kebutuhan akan sistem informasi.

Syntax awal memulai untuk “Hello World”

 

public class Main {

public static void main(String[]args){
System.out.println("Hello World!");
}
}
public class Main { public static void main(String[]args){

System.out.println("Hello World!");
}

Syntax untuk Logika dan Matematika Dasar di Java.

public class Hello {

public static void main(String[]args){

System.out.println("Hello World!");

int value = 10;

char z;

z = 'A';

System.out.println( value );
System.out.println( "The value of x = " + z );
//sedikit angka
int i = 37;
int j = 42;
double x = 27.475;
double y = 7.22;
System.out.println("#Variable values#");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" x = " + x);
System.out.println(" y = " + y); //penjumlahan angka
System.out.println("Adding...");
System.out.println(" i + j = " + (i + j));
System.out.println(" x + y = " + (x + y));
//pengurangan angka
System.out.println("Subtracting...");
System.out.println(" i - j = " + (i - j));
System.out.println(" x - y = " + (x - y));
//perkalian angka
System.out.println("Multiplying...");
System.out.println(" i * j = " + (i * j));
System.out.println(" x * y = " + (x * y));
//pembagian angka
System.out.println("Dividing...");
System.out.println(" i / j = " + (i / j));
System.out.println(" x / y = " + (x / y));
//menghitung hasil modulus dari pembagian
System.out.println("Computing the remainder...");
System.out.println(" i % j = " + (i % j));
System.out.println(" x % y = " + (x % y));
//tipe penggabungan
System.out.println("Mixing tipes...");
System.out.println(" j + y = " + (j + y));
System.out.println(" i * x = " + (i * x));
//beberapa nilai
int ii = 37;
int jj = 42;
int k = 42;
System.out.println("#Nilai variabel#");
System.out.println(" ii = " + ii);
System.out.println(" jj = " + jj);
System.out.println(" k = " + k);
//lebih besar dari
System.out.println("Lebih besar dari...");
System.out.println(" ii > jj = " + (ii > jj)); //false
System.out.println(" jj > ii = " + (jj > ii)); //true
System.out.println(" k > jj = " + (k > jj)); //false
//lebih besar atau sama dengan
System.out.println("Lebih besar dari atau sama dengan...");
System.out.println(" ii >= jj = " + (ii >= jj)); //false
System.out.println(" jj >= ii = " + (jj >= ii)); //true
System.out.println(" k >= jj = " + (k >= jj)); //true
//lebih kecil dari
System.out.println("Lebih kecil dari...");
System.out.println(" ii < jj = " + (ii < jj)); //true
System.out.println(" jj < ii = " + (jj < ii)); //false
System.out.println(" k < jj = " + (k < jj)); //false
//lebih kecil atau sama dengan
System.out.println("Lebih kecil dari atau sama dengan...");
System.out.println(" ii <= jj = " + (ii <= jj)); //true
System.out.println(" jj <= ii = " + (jj<= ii)); //false
System.out.println(" k <= jj = " + (k  10) && (jjj++ > 9);
System.out.println(iii);
System.out.println(jjj);
System.out.println(test);
//demonstrasi &
test = (iii > 10) & (jjj++ > 9);
System.out.println(iii);
System.out.println(jjj);
System.out.println(test);
System.out.println("#Contoh Logika Boelan OR#");
int a = 0;
int b = 10;
boolean test1= false;
//demonstrasi ||
test1 = (a  9);
System.out.println(a);
System.out.println(b);
System.out.println(test1);
//demonstrasi |
test = (a  9);
System.out.println(a);
System.out.println(b);
System.out.println(test1);
System.out.println("#Contoh Logika Boelan Exclusive OR#");
boolean val1 = true;
boolean val2 = true;
System.out.println(val1 ^ val2);
val1 = false;
val2 = true;
System.out.println(val1 ^ val2);
val1 = false;
val2 = false;
System.out.println(val1 ^ val2);
val1 = true;
val2 = false;
System.out.println(val1 ^ val2);
System.out.println("#Contoh Logika Boelan NOT#");
boolean val11 = true;
boolean val22 = false;
System.out.println(!val11);
System.out.println(!val22);
System.out.println("#Contoh Operator Kondisi ?: #");
String status = "";
int grade = 80;
//mendapatkan status pelajar
status = (grade >= 60)?"Passed":"Fail";
//print status
System.out.println( status );
int score = 0;
char answer = 'a';
score = (answer == 'a') ? 10 : 0;
System.out.println("Score = " + score );
}

}
Posted in Linux / Unix, Web Design

Implementasi Apache di Ubuntu (Part 1)

Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini menggunakan HTTP. Apache merupakan web server yang sering sekali di pakai oleh server-server di dunia untuk menjalankan website.  di sini kita mencoba untuk menginstall dan menggunakan beberapa fitur dari apache berbasis linux ubuntu.

Ubuntu Linux merupakan salah satu distribusi Linux yang berbasiskan Debian. Proyek Ubuntu resmi disponsori oleh Canonical Ltd yang merupakan perusahaan milik seorang kosmonot asal Afrika Selatan Mark Shuttleworth. Nama Ubuntu diambil dari nama sebuah konsep ideologi di Afrika Selatan, “Ubuntu” berasal dari bahasa kuno Afrika, yang berarti “rasa perikemanusian terhadap sesama manusia”. Tujuan dari distribusi Linux Ubuntu adalah membawa semangat yang terkandung di dalam Filosofi Ubuntu ke dalam dunia perangkat lunak. Ubuntu adalah sistem operasi lengkap berbasis Linux, tersedia secara bebas dan mempunyai dukungan baik yang berasal dari komunitas maupun tenaga ahli profesional.

Ruang lingkup materi yang kita bahas adalah :

1.Update server dengan paket-paket terbaru.

2.Install Apache/PHP/Mysql

3.Membuat user directory

4.Membuat Virtual Host

5.Security Web Server AuthTypeBasic dengan menggunakan .htacces

Ubuntu yang saya pakai di sini bukanlah ubuntu khusus server, melainkan ubuntu Desktop namun dalam materi ini hal tersebut tidaklah membuat suatu perbedaan karena di sini kita banyak bermain pada terminal/console yang juga di lakukan pada ubuntu server.

Tahap pertama yaitu kita melakukan update fitur/paket terbaru dari repository ubuntu.

cyber@cyber-desktop:/home/cyber$ sudo aptitude
cyber@cyber-desktop:/home/cyber$ sudo apt-get update

update paket ubuntu

Quick Note: “sudo” merupakan perintah di linux untuk menjalankan perintah-perintah layaknya administrator selama 5 menit.

Waktu proses download tergantung pada kecepatan koneksi, kondisi repository server dan paket-paket apa saja yang ingin kita install lebih lanjut.

Tahap Kedua yaitu kita mulai menginstall Apache Web Server dan paket-paket lain yang di butuhkan dalam materi ini kita juga menginstall PHP dan Mysql yang populer dan sering di gunakan sebagai engine website.

cyber@cyber-desktop:/home/cyber$sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server

proses install apache, mysql, php

Proses instalasi PHP, Mysql Server dan Client.

install mysql

mysql server

Konfigur Mysql Server dengan password root untuk keamanan dan manajemen user.

isi password mysql

Proses instalasi Web Server Apache, PHP dan Mysql selesai dan sudah up/running server.

server up

Lalu kita mengecek apakah Web Server tersebut sudah jalan dan bisa di gunakan. dengan browse ip komputer atau cukup dengan mengetikan localhost pada url browser.

mengecek ip address

works apache lokal ip

works apace localhost

Posted in Visual Basic

Aplikasi Sederhana ODBC Visual Basic (Part 3).

17. Now we can create report and fill command “print”

Private Sub Command5_Click()
DataReport1.Show
End Sub

18. Add data enviroment.

19. Configuring properties and connection

20. Add Data report and configuring properties.

21. And you are DONE, running your application(F5) and Click print to see the result.

Violaa…. Thanks for your time 😉

Posted in Visual Basic

Aplikasi Sederhana ODBC Visual Basic (Part 2).

8. Kembali pada project1.vbp pada program VB dan design form seperti di bawah ini.

9. Buatlah sebuah sample data di dalam tabel user.

10.  Don’t forget to pointing DataSource for DataGrid1 and choose Adodc1.

11. Double Click Command and fill with Command Script

Private Sub Command1_Click() 'Add Command
Adodc1.Recordset.AddNew
End Sub

Private Sub Command2_Click() 'Edit Command
Adodc1.Recordset.Update
End Sub

Private Sub Command3_Click()'Save Command
Adodc1.Recordset.Save
End Sub

Private Sub Command4_Click()'Delete Command
Adodc1.Recordset.Delete
End Sub

Private Sub Command6_Click()'Close Command
End
End Sub

12.  And running your application(F5).

13.  Click Add to adding record

14. Select record, Click Edit to Update record and then Save.

15. Select record, Click Delete to trash record.

16.  Lalu berlanjut pada part 3 untuk membuat report-nya.