Belajar Database PostgreSQL - Klausa WITH

Pada database tutorial PostgreSQL kali ini saya akan membahas mengenai klausa WITH. Klausa WITH menyediakan cara untuk menulis pernyataan tambahan untuk digunakan dalam query yang lebih besar. Ini membantu dalam query yang rumit dan besar menjadi bentuk yang lebih sederhana sehingga mudah dibaca. Pernyataan-pernyataan ini, yang sering disebut sebagai CTE (Common Table Expressions). Klausa WITH juga dapat diartikan sebagai mendefinisikan tabel sementara yang ada hanya untuk suatu query.

Belajar Klausa WITH di PostgreSQL


Klausa WITH menjadi CTE query, sangat berguna ketika subquery dijalankan beberapa kali. Hal ini sama-sama membantu di tempat tabel sementara. Klausa WITH harus didefinisikan terlebih dahulu sebelum digunakan dalam query.

Baca Juga : Contoh Penggunaan Join pada PostgreSQL

Sintak:
Sintaks dasar klausa WITH adalah sebagai berikut:

WITH
          name_for_summary_data AS(
                  SELECT Statement
           )
SELECT columns
FROM name_for_summary_data;

Catatan : name_for_summary_data adalah nama diberikan untuk klausa WITH.

Kalian dapat merubah atau memodifikasi data dengan statement(INSERT, UPDATE atau DELETE) di WITH. Penggunaan WITH memungkinkan kalian melakukan beberapa operasi berbeda dalam query yang sama.

Buatlah sebuah database, kemudian eksekusi query dibawah ini :
CREATE TABLE COMPANY(
                ID INT           PRIMARY KEY        NOT NULL,
                NAMA           TEXT                        NOT NULL,
                USIA              INT                          NOT NULL,
                ALAMAT       CHAR(50),
                GAJI              REAL
);

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (1, 'Dedi', 32, 'California', 20000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (2, 'Akira', 28, 'Texas', 15000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (3, 'Kevin', 23, 'Norway', 20000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (4, 'Nuy', 25, 'Rich-Mond ', 65000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (5, 'Ade', 24, 'Texas', 85000.00 );

INSERT INTO COMPANY (ID, NAMA, USIA, ALAMAT, GAJI) VALUES (6, 'Eris', 19, 'South-Hall', 45000.00 );

INSERT INTO COMPANY VALUES (7, 'Cui', 23, 'Houston', 10000.00 );

Query diatas berfungsi untuk membuat tabel COMPANY dan ditambahkan 7(tujuh) buah record.

Contoh Penggunaan Klausa WITH

WITH CTE AS(
            SELECT ID, NAMA, USIA, ALAMAT, GAJI
            FROM COMPANY)
SELECT * FROM CTE;

Query PostgreSQL diatas akan menghasilkan output berikut :

 id | nama  | usia|  alamat   | gaji
----+-------+-----+-----------+--------
  1 | Dedi  |  32 | California|  20000
  2 | Akira |  28 | Texas     |  15000
  3 | Kevin |  23 | Norway    |  20000
  4 | Nuy   |  25 | Rich-Mond |  65000
  5 | Ade   |  24 | Texas     |  85000
  6 | Eris  |  19 | South-Hall|  45000
  7 | Cui   |  23 | Houston   |  10000

Baca Juga : Contoh Penggunaan Order By pada PostgreSQL

Copyrighted.com Registered & Protected 
AJAW-5EQN-NQ3L-AORQ

Java 8 Tutorial - Fitur Baru Yang Ditambahkan ke java 8

Tags
JAVA 8 (jdk 1.8) adalah rilis utama pengembangan bahasa pemrograman java. Versi awalnya dirilis pada tanggal 18 Maret 2014. Dengan rilis Java 8, Java menyediakan dukungan untuk pemrograman fungsional, mesin JavaScript baru, API baru untuk manipulasi waktu tanggal, API streaming baru, dll.

Fitur Baru Yang Ditambahkan ke java 8

Fitur Java 8

Terdapat puluh fitur yang ditambahkan ke java 8, berikut fitur fitur yang paling signifikan :

  • Lambda expression - Menambahkan kemampuan pemrosesan fungsional ke Java.
  • Method references - Mengacu fungsi dengan memanggil secara langsung. Menggunakan fungsi sebagai parameter.
  • Default method - Interface memiliki implementasi metode default.
  • New tools - Alat dan utilitas kompiler baru ditambahkan seperti 'jdeps' untuk mengetahui dependensi.
  • Stream API - Stream API baru untuk memfasilitasi proses pipeline.
  • Date Time API - peningkatan pada date time API.
  • Optional - Penekanan pada praktik terbaik untuk menangani nilai null dengan benar.
  • Nashorn, JavaScript Engine - Mesin berbasis Java untuk mengeksekusi kode JavaScript.

Seiring dengan fitur baru ini, banyak peningkatan fitur dilakukan pada tingkat kompilator dan JVM.

Gaya Pemrograman

Java 8 diharapkan bisa mengubah cara programmer mengkode programnya. Untuk perbandingan singkat antara Java 7 dan Java 8, mari kita lihat program pengurutan yang ditulis dengan sintaks Java 7 dan Java 8.

Berikut ini contoh program perbandingan antara Java 7 dan Java 8 :

Contoh Program Java 7

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 *
 * @author Akira
 */
public class ContohJava7 {
    public static void main(String[] args){
        List<String> name = new ArrayList<>();
        name.add("Eris");
        name.add("Natsuki");
        name.add("Kevin");
        name.add("Dedi Diantoro");
        name.add("Akira");
        
        ContohJava7 obj = new ContohJava7();
        obj.sortingJava7(name);
        System.out.println(name);
    }
    
    private void sortingJava7(List<String> list){
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String s1, String s2) {
                return s1.compareTo(s2);
            }
        });
    }
}

Output : [Akira, Dedi Diantoro, Eris, Kevin, Natsuki]

Contoh Program Java 8

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

/**
 *
 * @author Akira
 */
public class ContohJava8 {
    public static void main(String[] args){
        List<String> name = new ArrayList<>();
        name.add("Natsuki");
        name.add("Dedi Diantoro");
        name.add("Kevin");
        name.add("Eris");
        name.add("Akira");
        
        ContohJava8 obj = new ContohJava8();
        obj.sortingJava8(name);
        System.out.println(name);
    }
    
    private void sortingJava8(List<String> list){
        Collections.sort(list, (s1, s2) -> s1.compareTo(s2));
    }
}

Output : [Akira, Dedi Diantoro, Eris, Kevin, Natsuki]

Disini method sortingJava8() menggunakan fungsi sort dengan Lambda expression sebagai parameter untuk mendapatkan kriteria pemilahan.

Copyrighted.com Registered & Protected 
QP5X-VCCF-SNJG-QGCH

Belajar Database PostgreSQL - Pengenalan PostgreSQL

Pengenalan Database PostgreSQL - Apa Itu PostgreSQL


PostgreSQL adalah, open source objek-relasional sistem database yang kuat. Lebih dari 15 tahun pengembangan aktif dan arsitektur yang telah terbukti mendapatkan reputasi yang kuat untuk keandalan, integritas data, dan kebenaran.

Apa itu PostgreSQL?

PostgreSQL (diucapkan sebagai post-gress-Q-L) adalah sebuah sistem manajemen database relasional open source (DBMS) yang dikembangkan oleh tim relawan di seluruh dunia. PostgreSQL tidak dikontrol oleh corporation atau badan swasta lainnya dan kode sumber tersedia secara gratis.

Sejarah PostgreSQL

PostgreSQL, awalnya disebut Postgres, dibuat di UCB oleh seorang profesor ilmu komputer bernama Michael Stonebraker. Stonebraker mulai Postgres pada tahun 1986 sebagai sebuah proyek ikutan pendahulunya, Ingres, kini dimiliki oleh Computer Associates.

1. 1977-1985: Sebuah proyek yang disebut INGRES dikembangkan.
  • Bukti-of-konsep untuk database relasional
  • Mendirikan perusahaan INGRES pada tahun 1980
  • Dibeli oleh Computer Associates pada tahun 1994

2. 1986-1994: POSTGRES
  • Pengembangan konsep dalam INGRES dengan fokus pada orientasi objek dan bahasa query Quel
  • Basis kode dari INGRES tidak digunakan sebagai dasar untuk POSTGRES
  • Dikomersialisasikan sebagai Illustra (dibeli oleh Informix, dibeli oleh IBM)

3. 1994-1995: Postgres95
  • Dukungan untuk SQL ditambahkan pada tahun 1994
  • Dirilis sebagai Postgres95 pada tahun 1995
  • Dirilis kembali sebagai PostgreSQL 6.0 pada tahun 1996
  • Pembentukan Tim PostgreSQL Global Development

Fitur Utama dari PostgreSQL

PostgreSQL berjalan pada semua sistem operasi utama, termasuk Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), dan Windows. Mendukung teks, gambar, suara, dan video, dan termasuk interfaces pemrograman untuk C / C ++, Java, Perl, Python, Ruby, Tcl dan Open Database Connectivity (ODBC).

PostgreSQL mendukung sebagian besar dari standar SQL dan menawarkan banyak fitur-fitur modern termasuk yang berikut:
  • Query SQL yang kompleks
  • SQL Sub-select
  • Foregn keys
  • Trigger
  • Views
  • Transactions
  • Multiversion Concurrency Control (MVCC)
  • Streaming Replication (per 9.0)
  • Hot Standby(per 9.0)

Kalian dapat memeriksa dokumentasi resmi dari PostgreSQL untuk memahami fitur yang disebutkan di atas. PostgreSQL dapat diperluas oleh pengguna dalam banyak cara, misalnya dengan menambahkan baru:
  • tipe data
  • functions
  • operator
  • aggregat functions
  • metode indeks

Mendukung Prosedural Languages

PostgreSQL mendukung 4(empat) bahasa prosedural standar yang memungkinkan pengguna untuk menulis kode mereka sendiri dalam salah satu bahasa dan dapat dieksekusi oleh database server PostgreSQL. Bahasa-bahasa prosedural - PL / pgsql, PL / Tcl, PL / Perl dan PL / Python. Selain itu, non-standar bahasa prosedural lain seperti PL / PHP, PL / V8, PL / Ruby, PL / Java, dll, juga didukung.

Copyrighted.com Registered & Protected 
BJCR-APEG-WX7I-7QRT

Java Swing Tutorial - Cara Membuat JTextArea

Cara Membuat JTextArea di Java Swing - JTextArea merupakan komponen java swing yang digunakan untuk menampung data tipe String. Begitu juga dengan JTextField, tapi terdapat perbedaan antara JTextArea dan JTextField. Pada JTextArea dapat menampung data String yang panjang dan dapat terdiri dari beberapa baris. Karena pada pembuatan JTextField harus dimasukkan kedalam JScrollPane, sehingga JTextArea dapat menampung lebih dari 1(satu) baris String.

Baca Juga : Cara Membuat JRadioButton di Java Swing

Untuk contoh program java pembuatan JTextArea, saya akan membuat seperti tampilan dibawah ini :

contoh program java pembuatan JTextArea menggunakan Netbeans IDE


Berikut souce code untuk contoh program java diatas.

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
/**
 *
 * @author Akira
 */
public class ContohJTextArea extends JFrame{

    private JTextField name, tmpt;
    private JScrollPane scroll;
    private JTextArea area;
    private JButton simpan, batal;
    
    public ContohJTextArea() {
        setSize(400, 300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setResizable(false);
        setLocationRelativeTo(null);
        userGUIInterface();
        setVisible(true);
    }
    
    private void userGUIInterface(){
        JLabel header = new JLabel("Contoh JTextArea");
        header.setFont(new Font("Lucida Calligraphy", 0, 19));
        header.setHorizontalAlignment(JLabel.CENTER);
        getContentPane().add(header, "North");
        
        JPanel panCenter = new JPanel();
        panCenter.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 10));
        
        JLabel labelName = new JLabel("Nama");
        labelName.setPreferredSize(new Dimension(120, 30));
        panCenter.add(labelName);
        
        name = new JTextField();
        name.setPreferredSize(new Dimension(250, 30));
        panCenter.add(name);
        
        JLabel labelTmpt = new JLabel("Tempat Lahir");
        labelTmpt.setPreferredSize(new Dimension(120, 30));
        panCenter.add(labelTmpt);
        
        tmpt = new JTextField();
        tmpt.setPreferredSize(new Dimension(250, 30));
        panCenter.add(tmpt);
        
        JLabel labelAlamat = new JLabel("Alamat");
        labelAlamat.setPreferredSize(new Dimension(120, 90));
        labelAlamat.setVerticalAlignment(JLabel.CENTER);
        panCenter.add(labelAlamat);
        
        area = new JTextArea();
        
        scroll = new JScrollPane(area);
        scroll.setPreferredSize(new Dimension(250, 90));
        
        panCenter.add(scroll);
        
        getContentPane().add(panCenter);
        
        JPanel panButtom = new JPanel();
        panButtom.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
        
        simpan = new JButton("Simpan");
        panButtom.add(simpan);
        
        batal = new JButton("Batal");
        panButtom.add(batal);
        
        getContentPane().add(panButtom, "South");
    }
    
    public static void main(String[] args){
        ContohJTextArea obj = new ContohJTextArea();
    }
}

Baca Juga : Cara Membuat Filtering JTable di Java Swing

Catatan
Pada contoh program diatas fungsi aksi tombol belum saya tambahkan. Untuk menambahkan aksi pada tombol (JButton) silahkan kunjungi tutorial membuat form login di netbeans.

Sekian tutorial cara membuat JTextArea di java swing. Semoga bermanfaat dan silahkan tinggalkan komentar.
Copyrighted.com Registered & Protected 
IOFF-0RPM-HEKB-YJPH

Pengenalan JavaFX - Apa itu Library JavaFX

Tags
Pengenalan JavaFX

Apa itu JavaFX?

JavaFX adalah library Java yang digunakan untuk membangun Rich Internet Applications. Aplikasi yang dikembangkan menggunakan JavaFX dapat berjalan di berbagai perangkat seperti Komputer Desktop, Mobile Phones, TV, Tablet, dll

Untuk mengembangkan Aplikasi GUI menggunakan bahasa pemrograman Java, programmer mengandalkan perpustakaan seperti Advanced Windowing Toolkit dan Swings. Setelah munculnya JavaFX, programmer java sekarang dapat mengembangkan aplikasi GUI dengan konten yang banyak. Dengan menggunakan teknologi Java, aplikasi ini memiliki tingkat penetrasi browser 76%.

Perlu menggunakan JavaFX?

Untuk mengembangkan Aplikasi Client Side yang kaya dengan fitur, programmer menggunakan berbagai library untuk menambahkan fitur seperti Media, UI controls, Web, 2D dan 3D, dll. JavaFX mencakup semua fitur dalam satu library. Selain itu, para pengembang juga dapat mengakses fitur yang ada java library seperti Swings.

JavaFX menyediakan pengaturan grafis dan media API dan memanfaatkan Graphical Processing Unit modern melalui akselerasi perangkat keras grafis. JavaFX juga menyediakan interface yang dapat digunakan pengembang untuk menggabungkan animasi grafis dan UI controls.

Penggunaan JavaFX dengan teknologi berbasis JVM seperti Java, Groovy dan JRuby. Jika pengembang memilih untuk JavaFX, tidak ada kebutuhan untuk belajar teknologi tambahan, seperti pengetahuan sebelumnya dari salah satu teknologi yang disebutkan di atas akan cukup baik untuk mengembangkan RIA menggunakan JavaFX.

Fitur JavaFX

Berikut ini adalah beberapa fitur penting dari JavaFX

Ditulis di Java - The JavaFX perpustakaan ditulis di Java dan tersedia untuk bahasa yang dapat dijalankan pada JVM, yang meliputi - Java, Groovy dan JRuby. Ini aplikasi JavaFX juga platform independen.

FXML - JavaFX memiliki bahasa yang dikenal sebagai FXML, yang merupakan HTML seperti bahasa markup deklaratif. 

Scene Builder - JavaFX menyediakan aplikasi bernama Scene Builder. Pada mengintegrasikan aplikasi ini di IDE seperti Eclipse dan NetBeans, pengguna dapat mengakses drag dan drop antarmuka desain, yang digunakan untuk mengembangkan aplikasi FXML (seperti swing Drag & Drop dan Aplikasi Dreamweaver).

Swing Interoperability - Dalam aplikasi JavaFX, Kalian dapat menanamkan konten swing menggunakan kelas swing Node. Demikian pula, Kalian dapat memperbarui aplikasi Swing yang ada dengan fitur JavaFX seperti konten web tertanam dan media yang kaya grafis.

Built-in UI Controls - JavaFX perpustakaan melayani kontrol UI menggunakan yang kita dapat mengembangkan aplikasi dengan fitur lengkap.

CSS Styling - JavaFX menyediakan CSS seperti styling. Dengan menggunakan ini, Kalian dapat meningkatkan desain aplikasi Kalian dengan pengetahuan sederhana CSS.

Canvas dan Printing API - JavaFX menyediakan kanvas, gaya modus langsung rendering API. Dalam packagejavafx.scene.canvas memegang satu set class untuk kanvas, menggunakan yang dapat kita tarik langsung dalam area scene JavaFX. JavaFX juga menyediakan calss untuk tujuan printing di package javafx.print.

Rich set of API's - JavaFX perpustakaan menyediakan kaya set API untuk mengembangkan aplikasi GUI, 2D dan 3D grafis, dll. Set API ini juga mencakup kemampuan dari platform Java. Oleh karena itu, menggunakan API ini, Kalian dapat mengakses fitur bahasa Java seperti Generik, Anotasi, Multithreading, dan Ekspresi Lambda. Java collections library ditingkatkan dan konsep seperti Lists dan Map yang termasuk di dalamnya. Menggunakan ini, pengguna dapat mengamati perubahan dalam data model.

Integrated Graphics library - JavaFX menyediakan class untuk grafis 2d dan 3d.

Graphics pipeline - JavaFX mendukung grafis didasarkan pada pipa grafis Hardware-accelerated dikenal sebagai Prism. Ketika digunakan dengan Kartu Grafis yang didukung atau GPU ia menawarkan grafis yang halus. Dalam kasus sistem tidak mendukung kartu grafis maka default prisma untuk perangkat lunak render stack.

Sejarah JavaFX

JavaFX pada awalnya dikembangkan oleh Chris Oliver, ketika dia bekerja untuk sebuah perusahaan bernama See Beyond Technology Corporation, yang kemudian diakuisisi oleh Sun Microsystems pada tahun 2005.

Poin-poin berikut memberikan informasi lebih lanjut tentang proyek ini

Awalnya proyek ini disebut sebagai F3 (Form Follows Functions) dan dikembangkan dengan maksud untuk menyediakan interface yang lebih kaya untuk mengembangkan Aplikasi GUI.

Sun Microsystems mengakuisisi perusahaan See luar pada Juni 2005, itu diadaptasi proyek F3 sebagai JavaFX.

Pada tahun 2007, JavaFX diumumkan secara resmi di Java One, sebuah dunia luas konferensi web yang diadakan setiap tahun.

Pada tahun 2008, Netbeans terintegrasi dengan JavaFX yang tersedia. Pada tahun yang sama, Java Standar Development Kit untuk JavaFX 1.0 dirilis.

Pada tahun 2009, Dirilis JavaFX 1.2 dan pada tahun yang sama Oracle Corporation mengakuisisi Sun Microsystems.

Pada tahun 2010, JavaFX 1.3 keluar dan pada tahun 2011 JavaFX 2.0 dirilis.

Versi terbaru, JavaFX8, dirilis sebagai bagian integral dari Java pada 18 Maret 2014

Copyrighted.com Registered & Protected 
8MQZ-RSZW-UCIL-9PH8

Cara Melakukan Swing Makeover JViewport

Cara Melakukan Swing Makeover JViewport - Pada tutorial program java kali ini saya akan memberikan contoh program bagaimana cara melakukan manipulasi pada JViewport agar terlihat transparan dan tampilan pada JTable terlebih bagus. Untuk background image silahkan cari di google karena saya tidak menyediakan image-nya pada artikel ini. Dan pada artikel ini juga saya tidak akan menjelaskan mengenai JTable, walaupun dalam artikel ini saya menggunakan komponen JTable sebagai contoh pendukung dari makeover JViewport. 

Silahkan Baca : Cara Membuat Tabel pada Java Swing

Berikut struktur project program java untuk contoh swing makeover JViewport :

Cara Melakukan Swing Makeover JViewport

Untuk source code dari class PanelImage silahkan kunjungi artikel mengenai cara menambahkan background image pada JPanel di java swing.

package net.akira.swing;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import net.akira.view.PanelImage;
/**
 *
 * @author Akira
 */
public class ContohJViewportMakeOver extends JFrame{
    
    private PanelImage pan;
    private DefaultTableModel model;
    private JTable tabel;
    private JScrollPane scroll;
    
    public ContohJViewportMakeOver(){
        setSize(500, 300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        userGUIInterface();
        setVisible(true);
    }
    
    private void userGUIInterface(){
        pan = new PanelImage("../images/aqua.jpg");
        pan.setLayout(new BorderLayout());
        
        JLabel header = new JLabel("Program Swing Makeover", JLabel.CENTER);
        header.setForeground(Color.white);
        header.setFont(new Font("Lucida Calligraphy", Font.BOLD, 19));
        header.setOpaque(false);
        pan.add(header, "North");
        
        model = new DefaultTableModel();
        model.setColumnIdentifiers(new Object[]{
            "Nama", "Tempat Tinggal", "Pekerjaan"
        });
        
        tabel = new JTable(model);
        tabel.setOpaque(false);
        
        model.addRow(new Object[]{"Akira", "Tangerang", "Programmer Java"});
        model.addRow(new Object[]{"Hikaru", "Cirebon", "Pelajar"});
        model.addRow(new Object[]{"Dedi Diantoro", "Indramayu", "Pelajar"});
        model.addRow(new Object[]{"Deva", "Cirebon", "Pengajar"});
        model.addRow(new Object[]{"Hasanah", "Cikampek", "Admin"});
        model.addRow(new Object[]{"Kevin", "Indramayu", "Pelajar"});
        
        scroll = new JScrollPane(tabel);
        scroll.setOpaque(false);
        scroll.getViewport().setOpaque(false);
        
        pan.add(scroll);
        
        getContentPane().add(pan);
    }
    
    public static void main(String[] args) {
        ContohJViewportMakeOver obj = new ContohJViewportMakeOver();
    }
}

Berikut tampilan GUI dari tutorial cara melakukan swing makeover JViewport.

Cara Melakukan Swing Makeover JViewport

Keterangan :
Agar JScrollPane di JTable terlihat transparan gunakan method setOpaque(false).

Baca Juga : Cara Merubah CellRenderer JTable pada Java Netbeans

Sekian tutorial program java mengenai cara melakukan swing makeover JViewport. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
BCXI-VJSK-JOBX-DGKI

Cara Manambahkan JComboBox ke dalam JTable Java Swing

Cara Manambahkan JComboBox didalam JTable di Java Swing - Jika pada tutorial sebelumnya saya membahas cara membuat JComboBox pada java swing, pada kesempatan kali ini saya akan menjelaskan pembuat JComboBox yang saya masukkan pada JTable secara lengkap beserta souce code dan hasil dari program java-nya.

Contoh tampilan yang akan dibahas pada tutorial program java dibawah ini :

Contoh program java untuk menambahkan JComboBox ke dalam JTable

Tampilan diatas akan berbeda dengan hasil dari source code dibawah ini, dikarenakan saya menggunakan synthetica look and feels. Saya sudah menjelaskan contoh penggunaan synthetica look and feels java netbeans.

Contoh program java untuk menambahkan JComboBox ke dalam JTable

import java.awt.Font;
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
/**
 *
 * @author Akira
 */
public class ContohJComboxInJTable extends JFrame{

    private JComboBox combo;
    private DefaultTableModel model;
    private JTable tabel;
    
    public ContohJComboxInJTable() {
        setSize(450, 250);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        userInterfaceGUI();
        setVisible(true);
    }
    
    private void userInterfaceGUI(){
        JLabel judul = new JLabel("Contoh Program Java");
        judul.setFont(new Font("Lucida Calligraphy", 0, 19));
        judul.setHorizontalAlignment(JLabel.CENTER);
        getContentPane().add(judul, "North");
        
        combo = new JComboBox(new Object[]{
            "Program Java", "PHP", "Android", "Visual Basic"
        });
        
        model = new DefaultTableModel();
        model.setColumnIdentifiers(new Object[]{
            "Nama", "Alamat", "Bahasa Pemrograman"
        });
        
        tabel = new JTable(model);
        tabel.getColumnModel().getColumn(2).setCellEditor(new DefaultCellEditor(combo));
        
        model.addRow(new Object[]{
            "Akira", "Tangerang", "Program Java"
        });
        model.addRow(new Object[]{
            "Dedi Diantoro", "Indramayu", "Android"
        });
        model.addRow(new Object[]{
            "Akira", "Tangerang", "Visual Basic"
        });
        
        getContentPane().add(new JScrollPane(tabel));
    }
    
    public static void main(String[] args){
        ContohJComboxInJTable obj = new ContohJComboxInJTable();
    }
}

Untuk penjelasan mengenai pembuatan JTable silahkan kunjungi artikel yang membahas mengenai contoh pembuatan tabel di java swing. Disini saya akan menunjukan baris yang saya gunakan untuk menambahkan JComboBox ke dalam JTable. Perhatikan source code berikut :
tabel.getColumnModel().getColumn(2).setCellEditor(new DefaultCellEditor(combo));
Penjelasan dari baris program java diatas adalah saya menambahkan JComboBox pada kolom ke-2 (kolom  JTable dimulai dari index 0) ke dalam JTable.

Baca Juga : Cara Mengubah CellRenderer JTable pada Java Netbeans

Sekian tutorial program java tentang cara menambahkan JComboBox ke dalam JTable Java Swing. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
DYRF-IWFL-XHPD-IBOB

Perbedaan Percabangan IF dengan SWITCH di Pemrograman Java

Tags
Perbedaan Percabangan IF dengan switch di Pemrograman Java - Pada Artikel saya sebelumnya, saya telah menjelaskan mengenai apa itu percabangan IF dan apa itu percabangan switch. Dan sekarang saya akan membahas tentang perbedaan daari kedua percabangan tersebut. Bagi kalian yang belum tahu mengenai percabangan, silahkan kunjungi artikel saya yang membahas tentang percabangan di pemrograman java.

Perbedaan Percabangan IF dengan Switch

  • Penggunaan percabangan switch hanya dapat digunakan jika kondisinya berupa bilangan bulat atau berupa karakter/String. Sedangkan percabangan IF dapat menggunakan operasi <, <=, !=, >=, >.
  • Pada switch terdapat keyword break yang digunakan untuk mengakhiri statement.
  • Pada switch dapat digunakan jika hanya terdapat 1(satu) kondisi.
Contoh percabangan menggunakan operasi

import javax.swing.JOptionPane;
/**
 *
 * @author Akira
 */
public class ContohPercabanganIF {
    public static void main(String[] args){
        String input = JOptionPane.showInputDialog("Masukkan Bilangan");
        int bilangan = Integer.parseInt(input);
        String msg = "";
        
        if(bilangan < 0){
            msg = bilangan+" Bilangan Negatif";
        } else if(bilangan > 0){
            msg = bilangan+" Bilangan Positif";
        } else {
            msg = bilangan+" Bilangan Nol";
        }
        JOptionPane.showMessageDialog(null, msg);
    }
}

Output dari contoh diatas sebagai berikut :

Contoh percabangan menggunakan operasi

Contoh percabangan menggunakan operasi

Contoh percabangan memiliki 2(dua) kondisi

import javax.swing.JOptionPane;
/**
 *
 * @author Akira
 */
public class ContohPercabanganIF {
    public static void main(String[] args){
        String input = JOptionPane.showInputDialog("Masukkan Bilangan");
        int bilangan = Integer.parseInt(input);
        String msg = "";
        
        if(bilangan > 0 && bilangan%2 == 0){
            msg = bilangan+" Bilangan Genap";
        } else if(bilangan > 0){
            msg = bilangan+" Bilangan Ganjil";
        } else {
            msg = "Silahkan Masukkan Bilangan Positif";
        }
        JOptionPane.showMessageDialog(null, msg);
    }
}

Kedua contoh percabangan diatas (percabangan yang menggunakan operasi dan percabangan yang memiliki kondisi lebih dari 1) tidak bisa menggunakan switch case.

Setelah mengetahui perbedaan percabangan IF dengan switch maka kalian tahu kapan menggunakan IF? dan kapan menggunakan switch?

Kesimpulan
Berdasarkan dari perbedaan IF dengan switch yang telah saya jelaskan, percabangan IF dapat digunakan untuk melakukan pengecekan kondisi lebih dari 1 dan dapat menggunakan operasi yang tidak dapat dilakukan oleh percabangan switch. Jadi, dapat diasumsikan bahwa penggunaan percabangan IF lebih baik dari pada percabangan switch.

Sekian tutorial tentang perbedaan percabangan IF dengan switch. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
DEAS-QZAC-WDTQ-Z1L1

Belajar Java - Percabangan Switch Case di Pemrograman Java

Tags
Belajar Percabangan Switch Case di Pemrograman Java - Pada artikel saya sebelumnya saya telah membahas percabangan IF-ELSE di pemrograman java. Silahkan baca selengkapnya mengenai percabangan IF ELSE di pemrograman java. Percabangan switch Case digunakan untuk melakukan pengecekan suatu kondisi yang berupa bilangan bulat atau karakter/String dalam pemrogram java.

Contoh percabangan switch case menggunakan kondisi karakter/String

/**
 *
 * @author Akira
 */
public class ContohPercabanganSwitch1 {
    public static void main(String[] args){
        char nilai = 'A';
        System.out.println("Nilai : "+nilai);
        
        switch(nilai){
            case 'A' : 
                System.out.println("Istimewa");
             break;
            case 'B' : 
                System.out.println("Baik");
             break;
            case 'C' : 
                System.out.println("Cukup");
             break;
            case 'D' : 
                System.out.println("Kurang");
             break;
            case 'E' : 
                System.out.println("Kurang Sekali");
             break;
            default: 
                System.out.println("Nilai Tidak Valid");
            break;
        }
    }
}

Output dari contoh program percabangan switch case menggunakan kondisi String.

Contoh percabangan switch case menggunakan kondisi karakter/String

Contoh percabangan switch case menggunakan kondisi bilangan bulat

/**
 *
 * @author Akira
 */
public class ContohPercabanganSwitch2 {
    public static void main(String[] args){
        int bulan = 7;
        System.out.println("Bulan Ke-"+bulan);
        
        switch(bulan){
            case 1 : 
                System.out.println("Bulan januari");
             break;
            case 2 : 
                System.out.println("Bulan februari");
             break;
            case 3 : 
                System.out.println("Bulan maret");
             break;
            case 4 : 
                System.out.println("Bulan april");
             break;
            case 5 : 
                System.out.println("Bulan mei");
             break;
            case 6 : 
                System.out.println("Bulan juni");
             break;
            case 7 : 
                System.out.println("Bulan juli");
             break;
            case 8 : 
                System.out.println("Bulan agustus");
             break;
            case 9 : 
                System.out.println("Bulan september");
             break;
            case 10 : 
                System.out.println("Bulan oktober");
             break;
            case 11 : 
                System.out.println("Bulan november");
             break;
            case 12 : 
                System.out.println("Bulan desember");
             break;
            default: 
                System.out.println("Tidak Ditemukan Bulan Ke-"+bulan);
            break;
        }
    }
}

Output dari contoh program percabangan switch case menggunakan kondisi bilangan.

Contoh percabangan switch case menggunakan kondisi bilangan bulat

Contoh percabangan swicth case menggunakan inputan dari keyboard

Untuk mendapatkan inputan dari keyboard, saya menggunakan class Scanner. Bagi kalian yang ingin menggunakan metode lain, silahkan kunjungi 3 cara mendapatkan inputan dari keyboard di pemrograman java.

import java.util.Scanner;
/**
 *
 * @author Akira
 */
public class ContohPercabanganSwitch1 {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("Masukkan Nama Bulan : ");
        String bulan = input.nextLine();
        
        switch(bulan.toLowerCase()){
            case "januari" : 
                System.out.println("Bulan januari");
             break;
            case "februari" : 
                System.out.println("Bulan februari");
             break;
            case "maret" : 
                System.out.println("Bulan maret");
             break;
            case "april" : 
                System.out.println("Bulan april");
             break;
            case "mei" : 
                System.out.println("Bulan mei");
             break;
            case "juni" : 
                System.out.println("Bulan juni");
             break;
            case "juli" : 
                System.out.println("Bulan juli");
             break;
            case "agustus" : 
                System.out.println("Bulan agustus");
             break;
            case "september" : 
                System.out.println("Bulan september");
             break;
            case "oktober" : 
                System.out.println("Bulan oktober");
             break;
            case "november" : 
                System.out.println("Bulan november");
             break;
            case "desember" : 
                System.out.println("Bulan desember");
             break;
            default: 
                System.out.println("Tidak Ditemukan Nama Bulan : "+bulan);
            break;
        }
    }
}

Baca juga : Perbedaan Percabangan IF dengan Switch Case di Pemrograman Java

Output dari contoh program percabangan switch case diatas :

Contoh percabangan swicth case menggunakan inputan dari keyboard

Sekian tutorial percabangan switch case di pemrograman java. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
FE5F-NMFE-JZZD-Z9DT

Belajar Java - Percabangan IF ELSE di Pemrograman Java

Tags
Belajar Percabangan IF ELSE di Pemrograman Java - IF ELSE merupakan salah satu percabangan yang digunakan dalam bahasa pemrograman java  untuk melakukan pengecekan  suatu kondisi. Program akan melakukan eksekusi atau menjalankan statement yang berada dalam IF jika kondisi tersebut terpenuhi atau bernilai benar (true).

Ada beberapa 2(dua) jenis percabangan dalam bahasa pemrograman java, yaitu percabangan IF ELSE dan Switch Case. Untuk pembahasan percabangan Switch Case akan saya bahas pada artikel berikutnya.

Saya berikan contoh penggunaan percabangan IF, IF ELSE dan IF bersarang dalam pemrograman java. Pada contoh percabangan IF dan IF ELSE saya menggunakan class Scanner untuk mendapatkan  inputan dari keyboard.

Silahkan Kunjungi : 3 Cara Mendapatkan Inputan dari Keyboard di Java

Belajar Percabangan IF di Bahasa Pemrograman Java
Percabangan IF digunakan untuk melakukan pengecekan suatu kondisi dalam pemrograman java dan akan melakukan eksekusi statement jika penyataan tersebut bernilai benar atau true (kondisinya terpenuhi).

Contoh Syntax :

if(kondisi){
   statement;
}

Contoh program java percabangan IF

import java.util.Scanner;
/**
 *
 * @author Akira
 */
public class ContohPercabanganIF {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("Masukkan Nama : ");
        String name = input.nextLine();
        
        if(!name.equals("")){
            System.out.println("Nama : "+name);
        }
    }
}

Output dari program percabangan IF diatas :

Belajar Percabangan IF di Bahasa Pemrograman Java

Belajar Percabangan IF ELSE di Bahasa Pemrograman Java
Ada perbedaan antara percabangan IF dan percabangan IF ELSE, dalam percabangan IF ELSE jika kondisinya bernilai salah atau false (kondisinya tidak terpenuhi) maka program akan melakukan eksekusi statement yang berada pada ELSE.

Contoh Syntax :

if(kondisi){
   statement1;
} else {
   statement2;
}

Contoh program java percabangan IF ELSE

import java.util.Scanner;
/**
 *
 * @author Akira
 */
public class ContohPercabanganIF {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("Masukkan Nama : ");
        String name = input.nextLine();
        
        if(!name.trim().equals("")){
            System.out.println("Nama : "+name);
        } else {
            System.out.println("Nama Harus Diisi");
        }
    }
}

Program percabarang IF ELSE diatas memiliki 2 output yang berbeda. Jika kalian mengisi inputan maka outputnya seperti berikut :

Belajar Percabangan IF ELSE di Bahasa Pemrograman Java

Jika kalian tidak mengisi nama atau mengisinya dengan space dan langsung menekan enter, maka outputnya seperti ini :

Belajar Percabangan IF ELSE di Bahasa Pemrograman Java

Belajar Percabangan IF Bersarang di Bahasa Pemrograman Java
Percabangan IF bersarang merupakan gabungan dari beberapan IF ELSE dan digunakan pada saat membutuhan penggunaan IF yang lebih dari 1(satu).


Contoh Syntax :

if(kondisi1){
   statement1;
} else if(kondisi2){
   statement2;
} else {
   statement3;
}

Contoh program java percabangan IF bersarang

import java.util.Scanner;
/**
 *
 * @author Akira
 */
public class ContohPercabanganIF {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("Masukkan Bilangan : ");
        int angka = input.nextInt();
        
        if(angka > 0){
            System.out.println(angka+" Bilangan Positif");
        } else if(angka < 0){
            System.out.println(angka+" Bilangan Negatif");
        } else {
            System.out.println(angka+" Bilangan Nol");
        }
    }
}

Penjelasan : Program diatas akan melakukan pengecekan bilangan bedasarkan angka yang kalian masukkan. Jika angka lebih dari 0 maka angka tersebut merupakan bilangan positif, jika angka kurang dari 0 maka angka tersebut merupakan bilangan negatif, dan jika bukan kedua berarti angka tersebut adalah 0.

Berikut output yang dihasilkan jika kalian menginputkan -9 pada contoh program IF bersarang diatas.

Belajar Percabangan IF Bersarang di Bahasa Pemrograman Java

Jadi, penggunaan percabangan  IF ELSE di bahasa pemrograman java sangatlah penting. Baik itu untuk melakukan validasi pengguna saat login ataupun validasi form inputan agar mencegah terjadinya error.

Baca Juga : Perbedaan Percabangan IF dengan Switch Case di Pemrograman Java

Catatan : Belajar percabangan sampai kalian benar - benar paham, hingga kalian tahu kapan menggunakan IF, IF ELSE dan IF bersarang.

Sekian tutorial belajar percabangan IF ELSE di pemrograman java. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
COHH-3LH1-EXTI-HPEJ

Belajar Method di Pemrograman Java

Tags
Apa itu Method?
Method adalah suatu blok code yang digunakan untuk melakukan suatu operasi. Salah satu cara untuk mempermudah programmer dalam mengelompokan sebuah code atau statement(pernyataan) agar program kita terlihat lebih terstruktur dan efesien yaitu dengan method. Jadi, dengan menggunakan method kalian dapat menjalankan beberapa baris code atau statement sekaligus dengan memanggil method tersebut.

Kalian harus memahami cara melakukan deklarasi method dan memanggil method. Deklarasi method artinya kita membuat sebuah method (void atau non void). Memanggil method artinya melakukan eksekusi statement yang terdapat didalam method tersebut.

Baca Juga : 3 Cara Mendapatkan Input dari Keyboard pada Pemrograman Java

Berikut saya akan jelaskan bagaiman cara membuat dan memanggil method di pemrograman java.

package net.akira.basic;

/**
 *
 * @author Akira
 */
public class ContohMethodJava {
    
    private void cetakNama(){
        // ini method void tanpa parameter
        System.out.println("Nama : Akhira");
    }
    
    private void cetakAlamat(String alamat){
        // ini method void dengan parameter
        System.out.println("Alamat : "+alamat);
    }
    
    private String cetakJob(){
        // ini method non void tanpa parameter
        return "Programmer";
    }
    
    public static void main(String[] args){
        ContohMethodJava obj = new ContohMethodJava();
        
        obj.cetakNama();
        
        obj.cetakAlamat("Jakarta");
        
        System.out.println("Job : "+obj.cetakJob());
    }
}

Output dari program ContohMethodJava diatas seperti berikut :


Contoh Membuat Method di Pemrograman Java

Terdapat 2(dua) jenis method dalam pemrograman java, method void dan method non void. Method void adalah suatu method yang tidak mempunyai nilai pengembalian atau return, dan pada saat deklarasinya menggunakan keyword void. 
Contoh Method Void

Sedangkan method non void adalah suatu method yang mempunyai nilai pengembalian atau return, dan pada deklarasi menyertakan tipe variabel sebelum nama method dan diakhir statement didalam method tersebut  terdapat keyword return.
Contoh Method Non Void

Mungkin kalian bingung mengenai jenis method yang di pemrograman java ini. Pada artikel saya sebelumnya menjelaskan bahwa method terbagi 2(dua) jenis yaitu method setter dan getter. Kemudian sekarang saya menjelaskan lagi kalau method terbagi 2(dua) jenis itu method void dan method non void. Mana yang benar?

Sebenarnya masih ada 1(satu) lagi istilah yang digunakan untuk penamaan method tersebut, yaitu method mutator dan method aksesor. Gimana? Apa kalian tambah bingung.

Penjelasan seperti ini, method terbagi menjadi 2(dua) yaitu method yang mengembalikan suatu nilai atau value. Method ini dikenal dengan istilah method aksesor atau method getter atau method  non void. Kemudian ada method yang tidak mengembalikan nilai yang disebut sebagai method mutator atau method setter atau method void.

Catatan :
Penggunaan istilah method setter dan getter biasanya digunakan ketika pembuatan entity class yang variabel pada class tersebut memiliki modifier private, sehingga dibutuhkan suatu cara untuk melakukan pemberian dan mengambilan nilai pada variabel tersebut. Pada method setter biasanya memiliki parameter, dan tipe data pada parameter tersebut sama dengan tipe variabelnya. Sedangkan pada method getter tidak memiliki parameter dan hanya digunakan untuk pengambilan nilai varibel tersebut.
Sedangkan penggunaan selain untuk melakukan pemberian dan mengambil nilai pada class entity, yang digunakan adalah istilah method void dan non void.

Untuk penjelasan lebih jelas mengenai apa itu method setter dan getter? Beserta contoh program penggunaan method setter dan getter, silahkan kunjungi link dibawah ini.


Sekian tutorial belajar method di pemrograman java. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
L7JW-LLPW-GY3V-FHGE

3 Cara Mendapatkan Inputan dari Keyboard di Java

Tags
Pada tutorial java kali ini saya akan membahas cara mengambil value dari inputan keyboard pada java programming, banyak yang masih bingung bagaimana cara mendapatkan inputan keyboard di java. Pada kesempatan ini saya akan memberikan 3(tiga) buah cara agar inputan dapat masuk pada program java yang kalian buat.

Berikut 3 cara mendapatkan inputan dari keyboard di Java :

1. Cara Mendapatkan Inputan dari Keyboard Menggunakan BufferedReader

Pada class BufferedReader terdapat method readLine() yang berfungsi sebagai penerima inputan dari keyboard.

Baca Juga : Tipe Data dan Variabel pada Pemrograman Java

Contoh Penggunaan BufferedReader

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
 *
 * @author Akira
 */
public class ContohBufferedReader {
    public static void main(String[] args){
        try {
            InputStreamReader reader = new InputStreamReader(System.in);
            BufferedReader input = new BufferedReader(reader);
            System.out.print("Masukkan Nama Anda : ");
            String name = input.readLine();
            System.out.println("Nama Anda : "+name);
        } catch (IOException ex) {
            ex.getMessage();
        }
    }
}

Berikut Hasil output dari source code diatas.

Contoh Penggunaan BufferedReader

2. Cara Mendapatkan Inputan dari Keyboard Menggunakan Scanner

Penggunaan Scanner berbeda dengan BufferedReader dan JOptionPane yang hanya menghasilkan value dengan tipe String, value dari Scanner bersifat dinamis. Maksud dari dinamis disini ialah kita dapat menentukan tipe value yang dihasilkan oleh Scanner. Misalnya kalian ingin outputnya menghasilkan value dengan tipe double, maka kalian dapat menggunakan method nextDouble(). Jadi, penggunaan Scanner ini sangat memudahkan bagi kalian yang tidak mau melakukan konversi.

Berikut ini method-method yang terdapat pada Scanner : 

method-method yang terdapat pada Scanner

Contoh Penggunaan Scanner

import java.util.Scanner;
/**
 *
 * @author Akira
 */
public class ContohScanner {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("Masukkan Nama Anda : ");
        String name = input.nextLine();
        System.out.println("Nama Anda : "+name);
    }
}

Berikut Hasil output dari source code diatas.

Contoh Penggunaan Scanner

3. Cara Mendapatkan Inputan dari Keyboard Menggunakan JOptionPane

Pada class JOptionPane terdapat method showInputDialog(...) dan showMessageDialog(...). Method showInputDialog(...) berfungsi untuk menampilkan sebuah inputan berupan dialog yang akan menghasilkan value dengan tipe String, sedangkan method showMessageDialog(...) saya gunakan untuk menampilkan hasil inputan dari showInputDialog(...).

Baca Juga : Tutorial Cara Membuat JFrame di Java Netbeans

Contoh Penggunaan JOptionPane

import javax.swing.JOptionPane;
/**
 *
 * @author Akira
 */
public class ContohJOptionPane {
    public static void main(String[] args){
        String name = JOptionPane.showInputDialog("Silahkan Masukkan Nama Anda");
        JOptionPane.showMessageDialog(null, "Nama Anda : "+name);
    }
}

Berikut ini merupakan tampilan dari penggunaan JOptionPane :

Contoh Penggunaan JOptionPane

Hasil dari inputan JOptionPane :

Hasil dari inputan JOptionPane

Perbedaan BufferedReader, Scanner dan JOptionPane

  • Untuk penggunaan BufferedReader dan JOptionPane ketika data yang diinputkan berupa tipe number digunakan untuk melakukan proses aritmatika (perhitungan) maka terlebih dahulu melakukan konversi. Karena tipe data yang dihasikan pada BufferedReader dan JOptionPane berupa String. Sedangkan untuk penggunaan Scanner, kalian dapat mendefinisikan tipe number pada saat deklarasi. Sehingga tidak perlu melakukan konversi terlebih dahulu.
  • Untuk penggunaan BufferedReader dan Scanner inputan berupa console, sedangkan JOptionPane berupa GUI sehingga memudahkan pengguna melakukan inputan.
Untuk saya pribadi, saya lebih senang menggunakan JOptionPane. Karena JOptionPane merupakan package javax.swing, walaupun dalam penggunaannya harus melakukan konversi saat melakukan operasi aritmatika namun itu tidak masalah buat saya.

Catatan : Jika kalian ingin belajar java swing, saya sarankan menggunakan JOptionPane untuk inputan.
Sekian tutorial cara mendapatkan inputan dari keyboard di java. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
WWV1-QY3N-96FB-U5BI

Cara Mudah Implementasi Pewarisan di Java

Tags
Cara Mudah Implementasi Pewarisan di Java - Pewarisan atau inheritance adalah mekanisme di mana suatu objek mengakuisisi semua sifat-sifat dan perilaku dari objek induk.

Dalam OOP kalian dapat membuat class baru (Sub class) dengan mewarisi sifat-sifat dari class yang sudah ada (Super class). Ketika kalian membuat class yang mewarisi dari class yang sudah ada, kalian dapat menggunakan kembali method dan variabel dari class induk, dan kalian juga dapat menambahkan method baru.

Namun apakah semua method dan variabel dari super class dapat diturunkan ke sub class? Tidak, method atau variabel dengan modifier private tidak dapat diwariskan ke sub class.

Baca Juga : Cara Membuat Constructor di Java

Contoh Pewarisan dalam Java

package net.akira.basic;

/**
 *
 * @author Akira
 */
public class Pegawai {
    double gaji = 5000000;
}
class Programmer extends Pegawai{
    double bonus = 20000000;
}
class TestPewarisan {
    public static void main(String[] args){
        Programmer obj = new Programmer();
        System.out.println("Gaji Programmer "+obj.gaji);
        System.out.println("Bonus Programmer "+obj.bonus);
    }
}

Nb. Untuk melakukan pewarisan gunakan keyword extends.

Jenis - Jenis Pewarisan dalam Java

Pada java terdapat 3(tiga) jenis pewarisan : Single, Multilevel dan Hierarchical.

Jenis _ Jenis Pewarisan dalam Java

Contoh Pewarisan Single

package net.akira.basic;

/**
 *
 * @author Akira
 */
public class A {
    public void cetak(){
        System.out.println("Pesan dari class A");
    }
}
class B extends A{
    public void msg(){
        System.out.println("Pesan dari class B");
    }
}
class TestPewarisan {
    public static void main(String[] args){
        B obj = new B();
        obj.cetak();
        obj.msg();
    }
}

Contoh Pewarisan Multilevel

package net.akira.basic;

/**
 *
 * @author Akira
 */
public class A {
    public void msgA(){
        System.out.println("Pesan dari class A");
    }
}
class B extends A{
    public void msgB(){
        System.out.println("Pesan dari class B");
    }
}
class C extends B{
    public void msgC(){
        System.out.println("Pesan dari class C");
    }
}
class TestPewarisan {
    public static void main(String[] args){
        C obj = new C();
        obj.msgA();
        obj.msgB();
        obj.msgC();
    }
}

Contoh Pewarisan Hierarchical

package net.akira.basic;

/**
 *
 * @author Akira
 */
public class A {
    public void msgA(){
        System.out.println("Pesan dari class A");
    }
}
class B extends A{
    public void msgB(){
        System.out.println("Pesan dari class B");
    }
}
class C extends A{
    public void msgC(){
        System.out.println("Pesan dari class C");
    }
}
class TestPewarisan {
    public static void main(String[] args){
        C obj = new C();
        obj.msgA();
        obj.msgC();
    }
}

Kenapa Multiple Inheritance Tidak Dapat Dilakukan di Java?

Untuk mengurangi kompleksitas dan menyederhanakan bahasa, multiple inheritance tidak didukung oleh java.

Misalnya kalian membuat 3 (tiga) class yaitu A, B dan C. class C merupakan turunan dari class A dan B. Jika class A dan B memiliki sebuah method yang sama dan kalian memanggil method tersebut di class C maka terjadi ambigu method dari class mana yang akan dipanggil oleh class C tersebut.

Sederhananya seperti ini, apakah mungkin seorang anak lahir dari 2 (dua) orang ibu? Tidak mungkin, yang  benar adalah seorang ibu dapat memiliki 2 (dua) orang anak.

Berikut souce code dari contoh multiple inherintance yang tidak dapat dilakukan di java.

package net.akira.basic;

/**
 *
 * @author Akira
 */
public class A {
    public void cetak(){
        System.out.println("Pesan dari class A");
    }
}
class B {
    public void cetak(){
        System.out.println("Pesan dari class B");
    }
}
class C extends A,B {
    public static void main(String[] args){
        C obj = new C();
        obj.cetak();
    }
}

Akan terdapat ERROR pada baris class C extends A,B { dan ini membuktikan bahwa java tidak dapat melakukan multiple inheritance.

Baca Juga : Cara Membuat Method Setter dan Getter

Sekian tutorial java mengenai implementasi pewarisan atau inheritance di java. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
XFP8-XA5X-GZ1P-TGTO

Contoh Penggunaan ArrayList pada JTable

Contoh Penggunaan ArrayList di JTable - ArrayList dapat digunakan untuk menambahkan data ke JTable, Apa itu ArrayList? Saya sudah membuat sebuah artikel yang menjelasan mengenai ArrayList.

Silahkan Baca : Belajar ArrayList dan Penerapannya di Java

Cara penggunaan ArrayList untuk mengisi data JTable sangatlah mudah. Karena sifat ArrayList yang dinamis sehingga banyak orang yang menggunakan ArrayList daripada Array. Pada tutorial ini saya menggunakan java 8 dan Netbeans IDE 8.1 sebagai text editornya.

Output dari contoh penggunaan ArrayList pada JTable

Output dari contoh penggunaan ArrayList pada JTable

Nb. Output GUI dari contoh ini akan berbeda hasilnya dengan kalian, karena saya menggunakan synthetica look and feels.

Baca Juga : Contoh Penggunaan Synthetica Look and Feels di Java Swing

Berikut ini saya berikan contoh source code dari tampilan diatas.

Contoh Penggunaan List Untuk Mengisi Data JTable

package net.akira.view;

import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Akira
 */
public class ContohListToJTable extends JFrame{

    public ContohListToJTable() {
        setTitle("Contoh addList to JTable");
        setSize(350, 200);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        userInterfaceGUI();
        setVisible(true);
    }
    
    private void userInterfaceGUI(){
        DefaultTableModel model = new DefaultTableModel();
        model.setColumnIdentifiers(new Object[]{
            "No", "Nama", "Alamat"
        });
        JTable tabel = new JTable(model);
        
        List<object> list = new ArrayList<>();
        list.add(new Object[]{"1", "Akira", "Jakarta"});
        list.add(new Object[]{"2", "Yuki", "Bandung"});
        list.add(new Object[]{"3", "Hana", "Cirebon"});
        list.add(new Object[]{"4", "Kevin", "Indramayu"});
        list.add(new Object[]{"5", "Dera", "Jakarta"});
        
        for(Object obj : list){
            model.addRow((Object[]) obj);
        }

        JScrollPane scroll = new JScrollPane();
        scroll.setViewportView(tabel);
        
        getContentPane().add(scroll);
    }
    
    public static void main(String []args){
        ContohListToJTable obj = new ContohListToJTable();
    }
}

Penjelasan Source Code diatas
for(int i = 0; i < obj.length; i++) untuk melakukan perulangan sebanyak jumlah data yang terdapat pada Array.
(Object[]) obj[i] untuk melakukan casting ke Object[].

Untuk penjelasan mengenai pembuatan JTable diatas, kalian dapat mengunjungi artikel saya mengenai contoh dan cara membuat tabel.

Silahkan Kunjungi : Cara Membuat Tabel di Java Swing

Sekian Tutorial Cara Menambahkan Data ke JTable Menggunakan ArrayList. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
RUSI-PVBQ-BLPY-SROR

Belajar Java - Java ArrayList dan Penerapannya

Tags
ArrayList adalah java class yang digunakan untuk melakukan penyimpanan data berupa list Object berbentuk array yang ukurannya dapat berubah secara dinamis sesuai dengan jumlah data yang kita masukkan.
Belajar ArrayList dan Penerapannya di Java

Perbedaan antara Array dan ArrayList

Untuk menyimpan data dalam Array, maka harus mendeklarasikan jumlah elemen maksimalnya. Sehingga penggunaan Array tidak digunakan jika jumlah datanya fleksibel. Sedangkan ArrayList dapat menampung sejumlah data secara dinamis.

Deklarasi ArrayList
List<TIPE_DATA> namaArrayList = new ArrayList<>();
Untuk mengetahui jumlah data yang terdapat dalam suatu ArrayList dapat menggunakan method size().

        List listProgram = new ArrayList<>();
        listProgram.add("Java");
        listProgram.add("PHP");
        listProgram.add("Web Design");
        
        System.out.println("Jumlah Data "+listProgram.size());

listProgram.add("Java"); digunakan untuk memasukkan value kedalam ArrayList. Kemudian bagaimana jika kita ingin menghapus isi dari ArrayList tersebut. Perhatikan contoh berikut :

Untuk melakukan penghapusan salah satu dari value di ArrayList gunakan method remove(Object o) atau remove(int index).
listProgram.remove("Java");
atau
listProgram.remove(0);
Kedua cara diatas dapat kalian gunakan untuk melakukan remove atau menghapus salah satu dari value ArrayList.

Method remove(Object o) akan menghapus value ArrayList berdasarkan object. Sedangkan remove(int index) akan menghapus value ArrayList berdasarkan urutan index dalam ArrayList tersebut.

Bagaimana cara untuk menghapus semua value ArrayList? Apakah harus menggunakan perulangan?
Untuk menghapus seluruh value yang terdapat pada ArrayList dapat menggunakan method clear().
listProgram.clear();

Contoh Pembuatan ArrayList dari Sebuah Object

Buatlah sebuah java class dengan nama classnya DataAsset, Berikut source code untuk class DataAsset.

package net.akira.view;

/**
 *
 * @author Akira
 */
public class DataAsset {
    private String locationasset;
    private String assetcode;
    private String assetname;
    private double assetprice;

    public DataAsset() {
    }

    public DataAsset(String locationasset, String assetcode, 
            String assetname, double assetprice) {
        this.locationasset = locationasset;
        this.assetcode = assetcode;
        this.assetname = assetname;
        this.assetprice = assetprice;
    }

    public String getLocationasset() {
        return locationasset;
    }

    public void setLocationasset(String locationasset) {
        this.locationasset = locationasset;
    }

    public String getAssetcode() {
        return assetcode;
    }

    public void setAssetcode(String assetcode) {
        this.assetcode = assetcode;
    }

    public String getAssetname() {
        return assetname;
    }

    public void setAssetname(String assetname) {
        this.assetname = assetname;
    }

    public double getAssetprice() {
        return assetprice;
    }

    public void setAssetprice(double assetprice) {
        this.assetprice = assetprice;
    }
    
}


Setelah itu buatlah java class dengan nama classnya BelajarArrayList, berikut source code untuk class BelajarArrayList.

package net.akira.view;

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

/**
 *
 * @author Akira
 */
public class BelajarArrayList {
    
    public static void main(String[] args){
        List list = new ArrayList<>();
        list.add(new DataAsset("12.09.009.0001.2", 
                "02.06.17.03.87", "Sepeda Motor", 15000000));
        list.add(new DataAsset("12.09.009.0001.2", 
                "02.06.14.12.09", "Mesin Cuci", 1400000));
        
        for(DataAsset obj : list){
            System.out.println(obj.getAssetcode()+" "+obj.getAssetname());
        }
    }
}

Untuk menampilkan isi dari ArrayList gunakan looping atau perulangan. Pada contoh diatas saya menggunakan perulangan for(DataAsset obj : list).

Baca Juga : Contoh Program Perulangan dalam Pemrograman Java

Sekian tutorial penggunaan ArrayList dan penerapakannya pada pemrograman java. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
QBFI-XG7V-MDKY-DPCK

Big Data - Pentingnya Database Relational di Big Data Sesi 9

Tags
Sebuah Pertanyaan Besar?

Apakah database relasional tidak memiliki ruang dalam story Big Data?
Apakah database relasional  tidak lagi relevan sebagai Big Data berkembang?
Apakah database relasional tidak mampu menangani data besar?
Apakah benar bahwa tidak ada lagi yang harus belajar tentang data relasional jika Big Data adalah tujuan akhir?
Big Data - Pentingnya Database Relational di Big Data Sesi 9
Nah, setiap kali ketika saya mendengar bahwa satu orang ingin belajar tentang Big Data dan tidak lagi tertarik untuk belajar tentang database relasional.

Sesi Sebelumnya : Big Data - Apa itu HDFS

Saya disini tidak untuk memberikan jawaban ambigu. Saya pribadi sangat jelas bahwa orang yang bercita-cita untuk menjadi seorang Big data Scientist atau Big Data yang Ahli mereka harus belajar tentang database relasional.

Gerakan NoSQL

Alasan untuk Gerakan NoSQL dalam beberapa waktu terakhir adalah karena dua keuntungan penting dari database NoSQL.
  1. prestasi
  2. Skema fleksibel
Dalam pengalaman pribadi saya telah menemukan bahwa ketika saya menggunakan NoSQL saya telah menemukan kedua keuntungan yang tercantum di atas ketika saya menggunakan database NoSQL. Ada contoh ketika saya menemukan database relasional terlalu banyak membatasi ketika data saya tidak terstruktur serta mereka miliki dalam datatype yang Relational Database saya tidak mendukung. Ini adalah kasus yang sama ketika saya telah menemukan bahwa solusi NoSQL tampil jauh lebih baik dari database relasional. Saya harus mengatakan bahwa saya seorang penggemar solusi NoSQL di akhir-akhir tapi saya juga telah melihat kesempatan dan situasi di mana database relasional masih sempurna fit meskipun database tumbuh semakin serta memiliki semua gejala data besar.

Relational Database
Adhoc reporting adalah salah satu skenario yang paling umum dimana NoSQL tidak memiliki solusi optimal. Misalnya melaporkan query sering perlu agregate berdasarkan kolom yang tidak diindeks juga dibangun sementara laporan sedang berjalan, dalam skenario semacam ini NoSQL database yang sering tidak melakukan dengan baik. Dalam kasus pelaporan ad-hoc saya sering menemukan itu jauh lebih mudah untuk bekerja dengan database relasional.

SQL adalah bahasa komputer yang paling populer dari semua waktu. Saya telah menggunakannya selama hampir lebih dari 10 tahun dan saya merasa bahwa saya akan menggunakannya untuk waktu yang lama di masa depan. Ada banyak alat-alat, konektor dan kesadaran dari bahasa SQL di industri. Hampir semua bahasa pemrograman memiliki driver yang ditulis untuk bahasa SQL dan sebagian besar pengembang telah belajar bahasa ini selama waktu sekolah / perguruan tinggi mereka. Dalam banyak kasus, menulis query berdasarkan SQL jauh lebih mudah daripada menulis query di NoSQL.

ACID (Atomicity Konsistensi Isolasi Daya Tahan) - Tidak semua solusi NoSQL menawarkan ACID bahasa compliant. Selalu ada situasi (untuk transaksi misalnya perbankan, shopping cart eCommerce dll) di mana jika tidak ada ACID operasi dapat valid serta integritas database bisa beresiko. Meskipun volume data yang memang memenuhi syarat sebagai Big Data selalu ada operasi dalam aplikasi yang benar-benar membutuhkan ACID kepatuhan bahasa matang.

Campuran Bag
Saya sering mendengar argumen bahwa semua situs media sosial besar sekarang hari sudah pindah dari Database Relational. Sebenarnya ini tidak sepenuhnya benar. Sementara meneliti tentang Big Data dan Relational Database, saya telah menemukan bahwa banyak situs media sosial populer menggunakan solusi Big Data bersama dengan database Relational. Banyak menggunakan database relasional untuk memberikan hasil kepada end user pada waktu berjalan dan banyak masih menggunakan database relasional sebagai tulang punggung utama mereka.

Berikut adalah beberapa contoh:

Ada banyak organisasi terkemuka yang menjalankan aplikasi skala besar menggunakan database relasional bersama dengan berbagai framework Big Data untuk memenuhi berbagai kebutuhan bisnis mereka.

Ringkasan
Big Data di mana database relasional tradisional adalah bagian dari keseluruhan cerita. Dalam skenario dunia nyata akan selalu terjadi ketika akan membutuhkan konsep database relasional dan ideologinya. Hal ini sangat penting untuk menerima database relasional sebagai salah satu komponen kunci dari Big Data bukannya memperlakukannya sebagai teknologi standar.

Ray of Hope - NewSQL
Dalam modul ini kita bahas bahwa ada tempat-tempat di mana kita perlu ACID kepatuhan dari aplikasi Big Data dan NoSQL. Ada diistilahkan baru diciptakan untuk aplikasi / alat yang mendukung sebagian besar properti dari RDBMS tradisional dan mendukung infrastruktur Big Data - NewSQL.

Copyrighted.com Registered & Protected 
RYN0-MCLO-QXJ5-VWV2

Big Data - Apa itu HDFS Sesi 8

Tags

Apa itu HDFS?

HDFS adalah singkatan dari Hadoop Distributed File System merupakan sistem penyimpanan utama yang digunakan oleh Hadoop. HDFP menyediakan akses kinerja tinggi untuk data di cluster Hadoop. Hal ini biasanya digunakan pada perangkat keras komoditas murah. Dalam komoditas kegagalan deployment hardware server yang sangat umum. Karena alasan yang sama HDFS dibangun untuk memiliki toleransi kesalahan yang tinggi. Kecepatan transfer data antara node komputasi di HDFS sangat tinggi, yang mengarah ke penurunan risiko kegagalan.

Sesi Sebelumnya : Apa itu MapReduce Sesi 7

HDFS menciptakan potongan-potongan kecil data yang besar dan mendistribusikan pada node yang berbeda. Hal ini juga salinan masing-masing bagian yang lebih kecil untuk beberapa kali pada node yang berbeda. Oleh karena itu ketika setiap node dengan data crash sistem ini secara otomatis dapat menggunakan data dari node yang berbeda dan melanjutkan proses. Ini adalah fitur kunci dari sistem HDFS.

Arsitektur dari HDFS

Arsitektur HDFS adalah arsitektur master / slave. Cluster HDFS selalu terdiri dari NameNode tunggal. NameNode tunggal ini adalah server master dan mengelola sistem file serta mengatur akses ke berbagai file. Dalam tambahan untuk NameNode ada beberapa DataNodes. Selalu ada satu DataNode untuk setiap server data. Dalam HDFS file besar dibagi menjadi satu atau lebih blok dan blok-blok disimpan dalam satu set DataNodes.

Tugas utama dari NameNode adalah untuk membuka, menutup atau mengganti nama file dan direktori dan mengatur akses ke sistem file, sedangkan tugas utama dari DataNode adalah membaca dan menulis ke sistem file. DataNode juga bertanggung jawab untuk penciptaan, penghapusan atau replikasi data berdasarkan instruksi dari NameNode.

Pada kenyataannya, NameNode dan DataNode yang perangkat lunak yang dirancang untuk berjalan pada komoditas mesin membangun dalam bahasa Java.

Visual Representasi HDFS Arsitektur

Visual Representasi HDFS Arsitektur

Mari kita memahami bagaimana HDFS bekerja dengan bantuan diagram. Klien APP atau HDFS klien terhubung ke namespace serta DataNode. Klien App akses ke DataNode diatur oleh NameSpace Node. NameSpace Node memungkinkan Client App untuk terhubung ke DataNode berdasarkan dengan memungkinkan koneksi ke DataNode langsung. Sebuah file data besar dibagi menjadi beberapa blok data (mari kita asumsikan bahwa mereka potongan data A, B, C dan D. Klien App akan nanti blok menulis data langsung ke DataNode tersebut. Klien App tidak harus langsung menulis ke semua node. itu hanya harus menulis ke salah satu dari node dan NameNode akan memutuskan di mana DataNode lain harus mereplikasi data. dalam contoh kita Client App langsung menulis ke DataNode 1 dan ditahan 3. Namun, potongan data secara otomatis direplikasi ke node lain. Semua informasi seperti di mana DataNode yang blok data ditempatkan ditulis kembali ke NameNode.

Ketersediaan tinggi Selama Gangguan

Sekarang terdapat beberapa DataNode memiliki blok data yang sama dalam kasus, setiap DataNode yang menghadapi gangguan, seluruh proses akan terus sebagai DataNode lainnya akan berperan untuk melayani blok data spesifik yang pada node gagal. Sistem ini menyediakan toleransi yang sangat tinggi untuk gangguan dan menyediakan ketersediaan tinggi.

Jika Anda melihat hanya ada NameNode tunggal dalam arsitektur kita. Jika node yang gagal kami seluruh Aplikasi Hadoop akan berhenti tampil karena merupakan node tunggal di mana kita menyimpan semua metadata. Sebagai node ini sangat kritis, biasanya direplikasi. Meskipun, bahwa direplikasi node tidak operasional dalam arsitektur, memiliki semua data yang diperlukan untuk melakukan tugas NameNode dalam kasus NameNode gagal.

Seluruh arsitektur Hadoop dibangun untuk berfungsi dengan lancar bahkan ada kegagalan node atau kerusakan hardware. Kita perlu banyak komoditas (murah) hardware untuk mengelola data yang besar dan kegagalan hardware merupakan bagian dari server komoditas. Untuk mengurangi dampak dari kegagalan perangkat keras arsitektur Hadoop dibangun untuk mengatasi keterbatasan hardware tidak berfungsi.

Sesi Berikutnya : Pentingnya Database Relasional di Big Data Sesi 9

Copyrighted.com Registered & Protected 
OEKN-4U2C-QPA7-DRKO