Rabu, 17 Agustus 2016

Perbandingan editor java Netbeans dengan editor java IntelliJ IDEA

Haiiii
kali ini saya ingin mencoba menganalisis apa sih perbandingan antara editro java Netbeans dan IntelliJ IDEA. Berikut saya kelebihan dan kekurangan dari masing-masing editor. chek this out :D

Berikut keunggulan dari Netbeans diantaranya:
1.      NetBeans GUI Builder gratis dengan ribuan plugin yang bisa kita download langsung di website resminya, maupun dari pihak ketiga.
2.      NetBeans GUI Builder sangat kompetebel dengan swing karena memang langsung dikembangkan oleh Sun yang notabenenya sebagai pengembang swing.
3.      Netbeans tidak hanya dapat digunakan buat java saja, karena Netbeans dapat di gunakan untuk bahasa pemograman lain seperti C/C++, Ruby, dan PHP.
4.      NetBeans GUI Builder sangat cocok untuk digunakan dalam pengembangan sistem berskala Enterprise.
5.      Pada paket tertentu, Netbeans juga menyertakan GlassFish V2 UR2 dan Apache Tomcat 6.0.16



Berikut kelemahan dari Neatbeans diantaranya:
1.      NetBeans hanya mensupport 1 pengembangan Java GUI, yaitu swing, yang padahal ada java GUI yang dikembangkan oleh eclipse yang bernama SWT dan JFace yang sudah cukup populer.
2.      NetBeans mempatenkan source code untuk java GUI yang sedang dikerjakan dalam sebuah Generated Source Code, sehingga programmer tak dapat mengeditnya secara manual.
3.      Dari segi sumber daya, Netbeans memerlukan sumber daya yang besar, seperti Memory dan ruang hard disk.
4.      Netbeans memerlukan dukungan prosesor yang cukup handal untuk mendapatkan performa maksimalnya.
Sedangkan IntelliJ IDEA 2016.1.2 seperti berikut:

Sebuah IDE untuk Java dari JetBrains. Ini tersedia sebagai sebuah edisi komunitas Apache 2 berlisensi dan edisi komersial. Dalam sebuah laporan oleh Infoworld pada tahun 2010, IntelliJ IDEA menduduki peringkat 4 besar sebagai IDE untuk pengembangan perangkat lunak dengan bahasa Java. Versi awal dari IntelliJ IDEA dirilis pada tahun 2001, dan pada saat itu merupakan salah satu Java IDE yang pertama kali menyediakan kode navigasi dan kode refaktoring dengan kemampuan yang canggih dan terintegrasi. Google sedang mengembangkan sebuah produk yang disebut Android Studio, sebuah open source Android Pengembangan IDE berdasarkan edisi komunitas open source dari IntelliJ IDEA.

Selasa, 16 Agustus 2016

Contoh pembuatan aplikasi sederhana menggunakan IntelliJ IDEA IDE

Pertama yang harus disiapkan adalah mendownload beberapa tools yang digunakan, diantaranya yaitu IntelliJ IDEA IDE, JDK versi 1.8.0, Apache Maven versi 3.3.9, dan Apache Karaf. (Untuk proses installasi bisa dilihat di https://www.jetbrains.com/help/idea/2016.2/installing-and-launching.html, karenapenulis hanya akan menjelaskan tentang bagaimana membuat OSGi bundle).
Untuk membuat sebuah project baru atau lembar pekerjaan baru, kita buka saja IntelliJ IDEA IDE dan pilihlah Create New Project.

Kemudian akan muncul jendela baru seperti pada gambar di bawah ini. Pilih Gradle dan centang pada kolom bagian Java lalu klik Next.

Setelah itu akan muncul jendela baru (seperti gambar di bawah). Kemudian ketikkan convert pada kolom ArtifactId lalu klik Next.

Selanjutnya akan ada jendela baru. Centang pada semua bagian kolom yang belum dicentang. Lalu klik Next.

Setelah itu akan muncul tampilan seperti pada gambar di bawah. Disini kita bisa melihat sturktur dari project yang kita buat.

Kemudian klik pada struktur project yang berada disamping kiri, tampilkan menu dropdown dimulai dari src à main à java à klik kanan lalu pilih New à pilih java class. Ketik convert sebagai nama kelasnya lalu klik OK. Setelah itu akan muncul papan editor untuk menuliskan code program converter.

Atau dengan meng-copy-kan kode program di bawah ini:
import java.awt.*;

import javax.swing.*;

import javax.swing.border.*;

import java.awt.event.*;



public class Convert extends JFrame implements ActionListener{



   // private static final Logger logger = LogManager.getRootLogger(convert.class);







    JButton btnHitung = new JButton("Hitung");

    JButton btnClear = new JButton("Clear");

    float pilihan1,pilihan2,besaran_input,besaran_keluaran,nilai_input,hasil;

    String arrBesaran[] = {"Meter", "Centimeter", "Milimeter", "Inchi", "Kilometer"};

    JTextField jtfi_input = new JTextField("");

    JLabel jlblHasil = new JLabel("Hasil : ");

    JComboBox cmbBesaran1 = new JComboBox (arrBesaran);

    JComboBox cmbBesaran2 = new JComboBox (arrBesaran);

    float konv_inchi;



    //konstruktor

    public Convert() {

        //konfigurasi komponen

        jlblHasil.setForeground(Color.BLACK);

        jtfi_input.setEditable(true);

        jtfi_input.setColumns(6);

        btnHitung.setToolTipText("Hitung Nilai");

        btnClear.setToolTipText("Hapus Field");

        cmbBesaran1.setMaximumRowCount(5);

        cmbBesaran2.setMaximumRowCount(5);





        //event item listener untuk combobox

        cmbBesaran1.addItemListener(

                new ItemListener() {

                    public void itemStateChanged (ItemEvent e) {

                        if (e.getStateChange() == ItemEvent.SELECTED){

                            pilihan1 = cmbBesaran1.getSelectedIndex();

                        }

                    }

                } //akhir inner class

        );



        //event item listener untuk combobox

        cmbBesaran2.addItemListener(

                new ItemListener() {

                    public void itemStateChanged (ItemEvent e) {

                        if (e.getStateChange() == ItemEvent.SELECTED){

                            pilihan2 = cmbBesaran2.getSelectedIndex();



                        }

                    }

                } //akhir inner class

        );





        // Panel 1

        JPanel p1 = new JPanel(new GridLayout(1, 2, 10, 10));

        Font largeFont = new Font("TimesRoman", Font.BOLD, 20);

        Border lineBorder = new LineBorder(Color.BLACK, 2);

        p1.add(jtfi_input);

        p1.add(cmbBesaran1);

        p1.add(jlblHasil);

        p1.add(cmbBesaran2);

        p1.setBorder(new TitledBorder("Input dan Hasil"));



        // Panel 2

        JPanel p2 = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 2));

        p2.add(btnHitung);

        p2.add(btnClear);



        // tambahkan kedua panel kedalam frame

        setLayout(new GridLayout(2, 1, 5, 5));

        add(p1);

        add(p2);



        //Injeksi Event di Komponen

        btnHitung.addActionListener(this);//tambahkan event disini

        btnClear.addActionListener(this);//tambahkan event disini

    }





    //pengaturan aksi setiap event

    public void actionPerformed( ActionEvent event){

        if ( event.getSource() == btnHitung ){

            //ambil info nilai yg diinput

            besaran_input = pilihan1;

            besaran_keluaran = pilihan2;

            nilai_input  = Float.parseFloat(jtfi_input.getText());

            konv_inchi = 24 / 10; //2.4



            //logika rumus meter to all

            if ((besaran_input == 0)&&(besaran_keluaran == 1)){

                //untuk meter ke centimeter

                hasil = nilai_input * 100;

            } else if ((besaran_input == 0)&&(besaran_keluaran == 2)){

                //untuk meter ke milimeter

                hasil = nilai_input * 1000;

            } else if ((besaran_input == 0)&&(besaran_keluaran == 3)){

                //untuk meter ke inchi, 1 inchi = 2,45 cm

                hasil = (nilai_input * 100);

                hasil =  hasil / konv_inchi;

            } else if ((besaran_input == 0)&&(besaran_keluaran == 4)){

                //untuk meter ke kilometer

                hasil = nilai_input / 1000;

            }



            //logika rumus centimeter to all

            else if ((besaran_input == 1)&&(besaran_keluaran == 0)){

                //untuk centimeter ke meter

                hasil = nilai_input / 100;

            } else if ((besaran_input == 1)&&(besaran_keluaran == 2)){

                //untuk centimeter ke milimeter

                hasil = nilai_input * 10;

            } else if ((besaran_input == 1)&&(besaran_keluaran == 3)){

                //untuk centimeter ke inchi

                hasil = nilai_input / konv_inchi;

            } else if ((besaran_input == 1)&&(besaran_keluaran == 4)){

                //untuk centimeter ke kilometer

                hasil = nilai_input / 100000;

            }



            //logika rumus milimeter to all

            else if ((besaran_input == 2)&&(besaran_keluaran == 0)){

                //untuk milimeter ke meter

                hasil = nilai_input / 1000;

            } else if ((besaran_input == 2)&&(besaran_keluaran == 1)){

                //untuk milimeter ke centimeter

                hasil = nilai_input / 10;

            } else if ((besaran_input == 2)&&(besaran_keluaran == 3)){

                //untuk milimeter ke inchi

                hasil = (nilai_input / 10);

                hasil = hasil / konv_inchi;

            } else if ((besaran_input == 2)&&(besaran_keluaran == 4)){

                //untuk milimeter ke kilometer

                hasil = nilai_input / 1000000;

            }



            //logika rumus inchi to all

            else if ((besaran_input == 3)&&(besaran_keluaran == 0)){

                //untuk inchi ke meter

                hasil = (nilai_input * konv_inchi);

                hasil = hasil / 100 ;

            } else if ((besaran_input == 3)&&(besaran_keluaran == 1)){

                //untuk inchi ke centimeter

                hasil = (nilai_input * konv_inchi);

            } else if ((besaran_input == 3)&&(besaran_keluaran == 2)){

                //untuk inchi ke milimeter

                hasil = (nilai_input * konv_inchi);

                hasil = hasil * 10;

            } else if ((besaran_input == 3)&&(besaran_keluaran == 4)){

                //untuk inchi ke kilometer

                hasil = (nilai_input * konv_inchi);

                hasil = hasil / 100000;

            }



            //logika rumus kilometer to all

            else if ((besaran_input == 4)&&(besaran_keluaran == 0)){

                //untuk kilometer ke meter

                hasil = nilai_input * 1000;

            } else if ((besaran_input == 4)&&(besaran_keluaran == 1)){

                //untuk kilometer ke centimeter

                hasil = nilai_input * 100000;

            } else if ((besaran_input == 4)&&(besaran_keluaran == 2)){

                //untuk kilometer ke milimeter

                hasil = nilai_input * 1000000;

            } else if ((besaran_input == 4)&&(besaran_keluaran == 3)){

                //untuk kilometer ke inchi

                hasil = (nilai_input * 100000);

                hasil = hasil / konv_inchi;

            }



            //tampilkan hasil perhitungan

            jlblHasil.setText(Float.toString(hasil));

            //bersihkan semua

            hasil = 0;

            besaran_input = 0;

            besaran_keluaran = 0;



        } else if ( event.getSource() == btnClear ){

            jtfi_input.setText("");

            jlblHasil.setText("Hasil : ");



        }

    }



}


Kemudian create kelas baru (seperti langkah di atas) dan beri nama kelas tersebut ConvertPanel, dan ketikkan kode program seperti pada gambar di bawah ini :

Selanjutnya klik panah hijau di sudut kanan atas, atau dengan mengklik Run à Run ‘convert’  untuk menjalankan program yang telah dibuat tadi, tunggu hingga muncul pop up program converter seperti pada gambar di bawah. Dan cobalah program converter tersebut dengan memasukkan angka sesuai keinginan.


Program converter telah berhasil di buat, akan tetapi masih belum menggunakan system OSGi bundle. Untuk menerapkan sistem OSGi kita bisa lakukan secara manual, caranya klik menu Run à Edit Configurations

Setelah itu akan muncul menu seperti pada gambar di bawah. Klik tombol plus di pojok kiri atas, kemudian pilih OSGi bundle. Kemudian klik OK.

Sebenarnya dengan membuat kelas ConvertPanel, sudah menggunakan sistem OSGi, namun tahap di atas dilakukan untuk menambahkan secara otomatis beberapa plugin yang mungkin dibutuhkan. Tahap selanjutnya adalah pengaturan dependensinya. Pada menu dropdown di samping kiri, pilih buil.gradle untuk mengatur gradle pada program yang telah kita buat sebelumnya, dan tambahkan beberapa baris kode program sehingga seperti gambar di bawah ini.

Setelah semuanya selesai, kita tinggal mem-build program di atas menjadi bundle (.jar). Caranya adalah klik menu File à Project Structure, kemudian akan muncul jendela Project Structure. Pilih Artifacts kemudian klik tombol plus berwarna hijau, pilih JAR dan pada menu doropdown nya pilih ”From modules dependencies”. Lalu klik OK.

Setelah itu akan muncul jendela Create JAR From Modules, klik tanda titik- titik pada kolom Main Class dan akan muncul jendela Select Main Class. Karena pada program yang kita buat sebelumnya main class terdapat di kelas ConvertPanel.java maka kita pilih kelas tersebut dan tekan OK seperti pada gambar di bawah ini.
Setelah itu akan muncul tampilan baru seperti pada gambar di bawah. Ketikkan nama file .jar sesuai dengan yang diinginkan, kemudian lihat path keluaran dari bundel jar tersebut.

Setelah itu pada menu Build  klik dan pilih Build Artifacts. Setelah proses pembangunan bundel selesai, silahkan cek path tempat keluaran jar tersebut. Pada kasus ini keluaran biasanya terdapat di folder out.

Kita bisa mencoba menjalankan aplikasi tersebut dengan cara men- doubleclick. Dan pop up program converter akan tampil. Terakhir, untuk mengecek sistem OSGi nya, kita bisa membuka file MANIFEST nya. Biasanya terdapat di folder lib à META-INF, disana terdapat file txt bernama MANIFEST. Tampilannya seperti pada gambar di bawah ini :



Dari file MANIFEST di atas kita bisa mengetahui OSGi bundle seperti apa yang digunakan, dengan melihat versinya.

Minggu, 08 Mei 2016

5 Wisata Alam yang Wajib Dikunjungi di Bandung

Sebagai salah satu destinasi wisata favorit di Indonesia, sudah tentu Kota Bandung menyajikan ragam tempat wisata yang dapat dikunjungi. Mulai dari wisata kuliner dengan berbagai cita rasa makanan dan konsep ruangan yang variatif, wisata belanja fashion dengan banyaknya distro dan outlet, hingga wisata alam yang menghadirkan pemandangan-pemandangan yang indah.
Nah berbicara tentang wisata alam, berikut Kami hadirkan 5 tempat wisata alam yang wajib Kamu kunjungi ketika berlibur di Bandung.
1. Kawah Putih

Terletak di sebelah Selatan Bandung, berjarak sekitar 50 KM dari pusat Kota Bandung, Kawah Putih menawarkan sebuah pengalaman menikmati wisata alam yang kuar biasa. Dengan udara yang dingin dilengkapi dengan pemandangan kawah bertanah putih membuat Kawah Putih menjadi salah satu objek wisata alam di Bandung yang tidak boleh Kamu lewati. Satu hal yang menjadi ciri khas di Kawah Putih adalah warna air yang terdapat di kawah tersebut dapat berubah-ubah seiring dengan perubahan cuaca dan suhu. Suasana unik juga dapat tercipta dari ketebalan kabut yang berubah-ubah setiap beberapa menit.
2. Gunung Tangkuban Perahu

Keindahan yang terdapat di Gunung Tangkuban Perahu serta mudahnya akses untuk mencapai lokasi menjadikantempat ini menjadi salah satu destinasi wisata alam yang ramai dikunjungi wisatawan lokal maupun mancanegara. Berjarak sekitar 20 KM di sebelah utara Bandung, Gunung Tangkuban Perahu juga menyimpan sebuah cerita legenda yang menarik.
Konon diceritakan seorang pemuda bernama Sangkuriang berusaha menikahi seorang wanita yang ternyata adalah ibu kandungnya. Mengetahui hal tersebut, Sang ibu yang bernama Dayang Sumbi membuat syarat yang berat untuk mengabulkan permintaan Sangkuriang. Ia meminta Sangkuriang membuat sebuah danau dan perahu dalam waktu satu malam.
Singkat cerita, Sangkuriang gagal menyelesaikan danau dan perahu yang diinginkan sehingga ia menjadi murka dan menendang perahu yang telah dibuatnya hingga terbalik dan perahu inilah yang kemudian membentuk Gunung Tangkuban Perahu. Bila dilihat dari jauh, Kamu akan menyadari bahwa bentuk Gunung Tangkuban Perahu benar-benar serupa dengan bentuk perahu yang terbalik.
3. Situ Patenggang

Situ Patenggang adalah salah satu tempat wisata alam di Bandung yang terkenal, terutama bagi para pecinta danau. Asal nama danau Situ Patenggang adalah dari bahasa Sunda yang berarti ‘saling mencari’. Kata ‘saling mencari’ ini bukanlah kata sembarangan karena ada sebuah cerita yang mengatakan bahwa dulunya ada sepasang kekasih yang terpisah. Mereka saling mencari sampai akhirnya bertemu di tempat ini.
Menariknya, di Situ Patenggang terdapat sebuah pulau dengan bentuk hati. Pulau ini dinamakan sebagai Pulau Asmara, atau sering disebut juga dengan nama Pulau Sasaka. Selain itu, di danau ini juga terdapat sebuah batu yang disebut sebagai batu cinta.
Danau Situ Patenggang berlokasi di sebelah selatan Bandung, tidak jauh dari tempat wisata alam lainnya di Bandung, yaitu Kawah Putih Ciwidey. Karena lokasinya yang berdekatan, biasanya pengunjung akan mengunjungi kedua tempat wisata alam ini sekaligus dalam 1 hari.
4. Bukit Moko


Tempat wisata alam yang disebut-sebut sebagai tempat tertinggi di Bandung ini selalu ramai dikunjungi warga Bandung dan sekitarnya setiap akhir pekan. Di tempat ini, terdapat sebuah warung yang cukup terkenal dengan sebutan Warung Daweung. Warung ini bukan sembarang warung karena menawarkan pemandangan kota Bandung dari atas, dilengkapi dengan udara sejuk dan minuman hangat sehingga dengan cepat menjadi lokasi favorit warga Bandung untuk bersantai.
Untuk dapat mencapai Bukit Moko yang berlokasi di Desa Cimenyan, Kamu harus menggunakan kendaraan pribadi karena tidak ada kendaraan umum yang melintas di daerah ini. Selain itu, Kamu juga harus berhati-hati berkendara di jalur ini terutama pada saat hujan, karena jalan yang akan dilalui terjal dan berkelok-kelok.
5. Maribaya


Maribaya yang berlokasi di Lembang, kurang lebih sekitar 22 KM dari pusat kota Bandung, adalah sebuah tempat wisata alam yang terkenal dengan sumber mata air panas belerang. Seperti di Tirta Sanita Ciseeng, sumber mata air panas belerang ditempat wisata ini juga dipercaya dapat menyembuhkan berbagai penyakit dan juga dapat membuat kulit menjadi mulus.
Selain terkenal dengan mata air panasnya, Maribaya juga disukai karena menawarkan wisata alam lain berupa air terjun dan taman. Salah satu kegiatan wisata favorit di Maribaya selain berendam air panas alami adalah trekking.
Nah itulah 5 tempat wisata alam di sekitar Bandung yang bisa Kamu kunjungi. Gimana, udah siap buat berwisata di alam? Jangan lupa untuk tetap berhati-hati dan selalu menjaga kebersihan dan kenyamanannya yaa..

sumber:
http://anekatempatwisata.com/ http://www.indonesia-tourism.com/ http://www.piknikdong.com/
http://www.destinasibandung.co.id/ http://ranselwisata.com/