Belajar Database PostgreSQL - Pengenalan function age() di PostgreSQL

Kalian dapat menghitung usia dalam aplikasi bisnis misalnya usia orang, tahun layanan dari karyawan, menghitung berapa lama seorang karyawan telah bekerja, menghitung berapa lama seseorang melakukan peminjaman buku, mobil dll. Di PostgreSQL kalian dapat menggunakan function age() untuk melakukan hal tersebut.

Belajar Database PostgreSQL - Pengenalan function age() di PostgreSQL


Sintak function age() :
Age(timestamp, timestamp); 
Penjelasan :
Function age() menerima dua nilai timestamp. Parameter pertama akan dikurangi dengan parameter kedua dan mengembalikan sebuah interval sebagai hasilnya. 

Perhatikan contoh berikut :
SELECT age('2017-08-05', '1990-07-27'); 
Hasilnya :
27 years 9 days

Jika kalian ingin menggunakan tanggal saat ini untuk parameter pertama, kalian dapat menggunakan function age() sebagai berikut :
Age(timestamp);

Sebagai contoh, jika seseorang yang tanggal lahirnya 1994-07-09 dan hari ini tanggal 2017-08-05, maka penggunaan age() adalah :
SELECT current_date, age(timestamp '1994-07-09'); 
Hasilnya :
date             | age
2017-08-05 | 23 years 27 days

Baca Juga : Contoh Penggunaan JOIN di PostgreSQL

Contoh function age() di PotsgreSQL

Buatlah sebuah tabel sebagai berikut :

Contoh function age() di PotsgreSQL

Misalkan, Kalian ingin mendapatkan 10 data rental teratas yang memiliki waktu pinjam yang lama, kalian dapat menggunakan function age() untuk menghitung sebagai berikut : 

SELECT id, id_pelanggan, age(tanggal_kembali, tanggal_pinjam) AS lama_pinjam
FROM rental
WHERE tanggal_kembali IS NOT NULL
ORDER BY lama_pinjam DESC
LIMIT 10; 

Dalam tutorial ini kalian telah belajar bagaimana menggunakan function age() di PostgreSQL untuk menghitung umur.

Sekian tutorial cara menggunakan function age() di PostgreSQL. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
NQAM-QY22-AIL1-OO4L

Belajar Java - Cara Membuat JTree di Java

Cara Membuat JTree - JTree merupakan komponen java swing yang bisa kalian gunakan untuk menampilkan atau membuat sebuah hirarki data (struktur pohon). Seperti yang biasa kalian lihat ketika membuat windows explorer. JTree merupakan komponen yang sangat komplek, JTree memiliki sebuah root node yang merupakan induk node yang paling atas dari semua node. Sebuah root dapat memiliki beberapa anak node (child node). Sebuah child node dapat memiliki child node lebih lanjut. Jika node tidak memiliki child node maka disebut leaf node.

Belajar Java - Cara Membuat JTree di Java

Baca juga : Cara menambahkan JComboBox pada JTable Java Swing

Contoh source code untuk membuat JTree

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;

/**
 *
 * @author Akira
 */
public class ContohJTree extends JFrame{
    private JTree tree;
    private JScrollPane scroll;
    private DefaultMutableTreeNode root, child;

    public ContohJTree() {
        setTitle("Contoh Membuat JTree");
        setSize(250, 300);
        setResizable(false);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        userGUI();
        setVisible(true);
    }
    
    private void userGUI(){
        root = new DefaultMutableTreeNode("Bahasa Pemrograman");
        
        child = new DefaultMutableTreeNode("Pemrograman Java");
        child.add(new DefaultMutableTreeNode("Java Enterprise"));
        child.add(new DefaultMutableTreeNode("Java Fx"));
        child.add(new DefaultMutableTreeNode("Java Mobile"));
        child.add(new DefaultMutableTreeNode("Java Swing"));
        root.add(child);
        
        tree = new JTree(root);
        scroll = new JScrollPane(tree);
        
        getContentPane().add(scroll);
    }
    
    public static void main(String[] args){
        ContohJTree obj = new ContohJTree();
    }
}

Penjelasan
child = new DefaultMutableTreeNode("Pemrograman Java");
digunakan untuk menambahkan child node pada root.

Baca juga : Cara Melakukan Swing Makeover JButton di Java

Sekian tutorial cara membuat JTree pada pemrograman java. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
NFHR-EVAF-KXQ4-GVLV

Belajar Java - Modul dan Arsitektur Spring Framework

Spring Framework adalah framework aplikasi dan inversi control container untuk platform Java. Fitur inti framework ini dapat digunakan oleh aplikasi Java manapun, namun ada ekstensi untuk membangun aplikasi web di atas platform Java EE (Enterprise Edition).

Modul Spring

Modul Spring. Framework Spring terdiri dari banyak modul seperti core, beans, context, expression language, AOP, Aspects, Instrumentation, JDBC, ORM, OXM, JMS, Transaction, Web, Servlet, Struts dll. Modul-modul ini dikelompokkan ke dalam Test, Core Container, AOP, Aspek, Instrumentasi, Akses Data / Integrasi, Web (MVC / Remoting) seperti yang ditunjukkan pada diagram berikut.

Spring Framework

Test
Lapisan ini memberikan dukungan pengujian dengan JUnit dan TestNG.

Spring core container
Kontainer Spring Core berisi modul inti, kacang, konteks dan bahasa ekspresi (EL).

Core dan bean
Modul ini menyediakan fitur IOC and Dependency Injection.

Context
Modul ini mendukung internasionalisasi (I18N), EJB, JMS, Basic Remoting.

Expression
Ini adalah ekstensi untuk EL yang didefinisikan dalam JSP. Ini memberikan dukungan untuk menetapkan dan mendapatkan nilai properti, pemanggilan metode, mengakses koleksi dan pengindeks, variabel bernama, operator logika dan aritmatika, pengambilan objek dengan nama dll.

AOP, Aspek dan Instrumentasi
Modul-modul ini mendukung implementasi pemrograman berorientasi aspek di mana Anda dapat menggunakan Saran, Pointer dll untuk memisahkan kode.
Modul aspek memberikan dukungan untuk integrasi dengan AspectJ.
Modul instrumentasi memberikan dukungan pada instrumentasi kelas dan implementasi classloader.

Akses Data / Integrasi
Kelompok ini terdiri dari modul JDBC, ORM, OXM, JMS dan Transaction. Modul ini pada dasarnya memberikan dukungan untuk berinteraksi dengan database.

Web
Kelompok ini terdiri dari Web, Web-Servlet, Web-Struts dan Web-Portlet. Modul ini memberikan dukungan untuk membuat aplikasi web.

Spring Arsitektur

Framework Spring adalah arsitektur berlapis yang terdiri dari beberapa modul. Semua modul dibangun di atas wadah core-nya. Modul ini menyediakan segala sesuatu yang mungkin dibutuhkan pengembang untuk digunakan dalam pengembangan aplikasi enterprise. Dia selalu bebas memilih fitur apa yang dia butuhkan dan menghilangkan modul yang tidak berguna. Arsitektur modular memungkinkan integrasi dengan framework lain tanpa banyak kerumitan.

The Core Module: Menyediakan fitur Dependency Injection (DI) yang merupakan konsep dasar dari framework Spring. Modul ini berisi BeanFactory, sebuah implementasi Pola Pabrik yang menciptakan bean sesuai konfigurasi yang disediakan oleh pengembang dalam file XML.

Modul AOP: Modul Pemrograman Berorientasi Aspek memungkinkan pengembang untuk menentukan metode-pencegat dan pemotongan titik untuk menjaga agar tetap terpisahkan. Ini dikonfigurasi pada run time sehingga langkah kompilasi dilewati. Ini bertujuan untuk manajemen transaksi deklaratif yang lebih mudah dipelihara.

Modul DAO: Ini menyediakan lapisan abstraksi ke tugas tingkat rendah untuk menciptakan koneksi, melepaskannya dan lain-lain. Ini juga menjaga hierarki pengecualian yang berarti daripada melemparkan kode kesalahan rumit dari vendor database tertentu. Menggunakan AOP untuk mengelola transaksi. Transaksi juga bisa dikelola secara terprogram.

ORM Module: Spring tidak menyediakan implementasi ORM sendiri namun menawarkan integrasi dengan alat pemetaan Objek Objek yang populer seperti Hibernate, iBATIS SQL Maps, Oracle TopLink dan JPA dll.

Modul JEE: Ini juga memberikan dukungan untuk JMX, JCA, EJB dan JMS dll. Dalam banyak kasus, JCA (Java EE Connection API) sangat mirip dengan JDBC, kecuali JDBC berfokus pada database JCA yang berfokus pada koneksi ke sistem warisan.

Modul Web: Spring hadir dengan kerangka kerja MVC yang memudahkan tugas mengembangkan aplikasi web. Ini juga terintegrasi dengan baik dengan kerangka kerja MVC yang paling populer seperti Struts, Tapestry, JSF, Wicket dll.

Copyrighted.com Registered & Protected 
RWNP-9EUP-JHJ3-IQNN

Belajar Java - Cara Membuat Splash Screen di Java Programming

Cara Membuat Splash Screen - Splash Screen adalah tampilan loading pertama kali ketika sebuah aplikasi dibuka/dijalankan, agar terlihat lebih menarik dan terkesan profesional. Biasanya Splash Screen ini dibuat untuk menampilkan logo dari aplikasi atau logo perusahaan.

Belajar Java - Cara Membuat Splash Screen di Java Programming

Baca Juga : Cara Menambahkan JCalendar atau JDatechooser di Java Swing

Tahapan untuk membuat splash screen sebagai berikut :

1. Buat sebuah class turunan dari JPanel untuk menempatkan gambar yang akan dijadikan splash screen.
Berikut source code-nya :

import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

/**
 *
 * @author Akira
 */
public class ImageSplash extends JPanel{
    private Image image;

    public ImageSplash() {
        image = new ImageIcon(getClass().getResource("../images/Splash.png")).getImage();
        this.setLayout(new BorderLayout());
    }
    
    @Override
    protected void paintComponent(Graphics g){
 super.paintComponent(g);
 Graphics2D gd=(Graphics2D)g.create();
 gd.drawImage(image,0,0,getWidth(),getHeight(),null);
 gd.dispose();
    }
}

Catatan :
image = new ImageIcon(getClass().getResource("../images/Splash.png")).getImage(); Digunakan untuk menambahkan image atau gambar. Sesuaikan URL-nya dengan gambar atau image yang akan kalian gunakan untuk membuat splash screen.

Baca Juga : Cara Menambahkan Background Image pada JPanel di Java Swing

2. Buat sebuah class untuk membuat tampilan utama (menggabungkan class ImageSplash dengan JProgressBar).
Berikut source code-nya :

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JWindow;

/**
 *
 * @author Akira
 */
public class ContohSplashScreen extends JWindow{
    private int duration;
    private JProgressBar progress;
    private ImageSplash panel;
    private JPanel p_bar;

    public ContohSplashScreen(int d){
        duration = d;
        setSize(500, 300);
        setLocationRelativeTo(null);
    }
    
    public void showSplash(){
        panel = new ImageSplash();
        
        p_bar = new JPanel(new FlowLayout(FlowLayout.CENTER, 10,40));
        p_bar.setOpaque(false);

        progress = new JProgressBar(0, 100);
        progress.setStringPainted(true);
        progress.setPreferredSize(new Dimension(getWidth()-10, 15));
        progress.setForeground(Color.red);
        progress.setVisible(true);
        p_bar.add(progress);

        panel.add(p_bar, "South");
        getContentPane().add(panel, "Center");

        setVisible(true);
        
        for (int i = 0; i < 100; i++) {
            try {
                progress.setValue(i);
                Thread.sleep(duration); 
            } catch (Exception e) {
                e.getMessage();
            }
        }
        setVisible(false);
    }

    public void showSplashAndExit(){
        showSplash();
        dispose();
    }
    
    public static void main(String []args){
        ContohSplashScreen obj = new ContohSplashScreen(100);
        obj.showSplashAndExit();
    }
}

Sekian tutorial cara membuat splash screen di java programming. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
BEOY-MPM1-VNKC-0W5C

Java 8 Tutorial - Belajar Java 8 Default Methods

Java 8 Tutorial Default Methods - Java 8 memperkenalkan konsep baru implementasi default method pada interface. Kemampuan ini ditambahkan untuk kompatibilitas sehingga interface yang lama dapat digunakan untuk memanfaatkan kemampuan lambda expression di Java 8. Misalnya, interface 'List' atau 'Collection' tidak memiliki deklarasi method 'forEach'. Dengan demikian, menambahkan method seperti itu hanya akan mematahkan implementasi Collection. Java 8 memperkenalkan default method sehingga interface List atau Collection dapat memiliki implementasi default untuk method forEach, dan java class yang mengimplementasikan interface ini tidak perlu menerapkan hal yang sama.

Java 8 Tutorial - Belajar Java 8 Default Methods

Baca Juga : Java 8 Tutorial - Belajar Java 8 Method Referance

Sintak

public interface Hikaru {
   default void print(){
      System.out.println("Saya Hikaru");
   }
}

Multiple Default

Dengan fungsi default dalam interface, ada kemungkinan class menerapkan dua interface dengan default method yang sama. Source code berikut menjelaskan bagaimana ambiguitas (sebuah class yang menerapkan 2 buah interface) ini dapat diatasi.

public interface Hikaru {
   default void print(){
      System.out.println("Saya Hikaru");
   }
}

public interface Pelajar {
   default void print(){
      System.out.println("Saya Seorang Pelajar");
   }
}

Solusi pertama adalah membuat method sendiri yang menggantikan implementasi default.

public class Job implements Hikaru, Pelajar {
   default void print(){
      System.out.println("Saya Hikaru Seorang Pelajar");
   }
}

Solusi kedua adalah memanggil default method dari interface yang ditentukan menggunakan super.

public class Job implements hikaru, pelajar {
   default void print(){
      Hikaru.super.print();
   }
}

Baca Juga : Java 8 Tutorial - Belajar Java 8 Functional Interface


Default Method Static

Mari kita lihat contoh penggunaan default method untuk lebih jelasnya.

public class Java8Tester {
   public static void main(String args[]){
      Hikaru hikaru = new Job();
      hikaru.print();
   }
}

interface Hikaru {
   default void print(){
      System.out.println("Saya Hikaru");
   }
}

interface Pelajar {
   default void print(){
      System.out.println("Saya Seorang Pelajar");
   }
}

class Job implements Hikaru, Pelajar {
   public void print(){
      Hikaru.super.print();
      Pelajar.super.print();
      System.out.println("Saya Memiliki Sebuah Mobil");
   }
}

Sekian tutorial java programming mengenai default method di java 8. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
IHKY-DDAG-WL10-OWHH

Java 8 Tutorial - Belajar Java 8 Functional Interfaces

Java 8 tutorial - Functional interface memiliki satu fungsi untuk ditunjukan. Misalnya, interface yang sebanding dengan method 'compareTo' tunggal digunakan untuk tujuan perbandingan. Java 8 telah mendefinisikan banyak functional interface untuk digunakan secara ekstensif dalam lambda expression. Berikut adalah daftar functional interface yang didefinisikan dalam package java.util.Function.

Java 8 Tutorial - Belajar Java 8 Functional Interfaces

Baca Juga : Java 8 Tutorial - Fitur Baru yang Ditambahkan ke Java 8

Contoh Functional Interface

Predicate <T> interface adalah functional interface dengan method test(Object) untuk mengembalikan nilai Boolean. Interface ini menandakan bahwa suatu objek diuji menjadi true atau false.

Untuk lebih jelasnya, tulis program berikut di editor kode dan verifikasi hasilnya.

import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;

/**
 *
 * @author Akira
 */
public class ContohJava8Functional {
    public static void main(String args[]){
      List<integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
  
      System.out.println("Cetak Semua Angka");
      eval(list, n->true);
  
      System.out.println("Cetak Bilangan Genap");
      eval(list, n-> n%2 == 0 );
  
      System.out.println("Cetak Angka Lebih Dari 3:");
      eval(list, n-> n > 3 );
   }
 
   public static void eval(List<integer> list, Predicate<integer> predicate) {
      for(Integer n: list) {
         if(predicate.test(n)) {
            System.out.print(n+"\t");
         }
      }
      System.out.println("");
   }
}

Baca Juga : Java 8 Tutorial - Belajar Java 8 Method Referances

Hasil dari source code contoh functional interface diatas sebagai berikut :

Cetak Semua Angka
1 2 3 4 5 6 7 8 9 
Cetak Bilangan Genap
2 4 6 8 
Cetak Angka Lebih Dari 3:
4 5 6 7 8 9 

Sekian pembahasan java 8 tutorial mengenai penggunaan functional interfaces. Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
HWPG-SHY1-VRXY-RHEP

Java 8 Tutorial - Belajar Java 8 Method References

Java 8 Tutorial  - Method references merupakan fitur baru yang ditambahkan ke java 8. Method references membantu menunjuk metode dengan nama mereka. Method references dijelaskan dengan menggunakan simbol " ::  " (double colon). Method references dapat digunakan untuk menunjukkan jenis methode berikut :
  • Methods statis
  • Instance methods
  • Constructors menggunakan oprator new (TreeSet::new)
Java 8 Tutorial - Belajar Java 8 Method References


Baca Juga : Java 8 Tutorial - Belajar Java 8 Lambda Expression

Contoh Method References

Untuk gambaran lebih jelas, silahkan lihat contoh method referansi.

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

/**
 *
 * @author Akira
 */
public class ContohMethodReferensi {
    public static void main(String args[]){
      List nama = new ArrayList();
  
      nama.add("Akira");
      nama.add("Kevin");
      nama.add("Nuy");
      nama.add("Khudrotul");
      nama.add("Natsuki");
  
      nama.forEach(System.out::println);
   }
}

Disini kita telah memiliki method System.out :: println sebagai method reference statis.

Hasil dari program diatas :
Akira
Kevin
Nuy
Khudrotul
Natsuki

Java program diatas menampilkan isi dari ArrayList, lihat perbandingannya jika kalian menggunakan java 7.

Perhatikan contoh java program berikut :

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

/**
 *
 * @author Akira
 */
public class ContohMethodJava7 {
    public static void main(String args[]){
      List nama = new ArrayList();
  
      nama.add("Akira");
      nama.add("Kevin");
      nama.add("Nuy");
      nama.add("Khudrotul");
      nama.add("Natsuki");
  
      for(int i = 0; i < nama.size(); i++){
          System.out.println(nama.get(i));
      }
   }
}

Dalam java 8 tutorial ini, kita telah menjajaki salah satu fitur Java 8. Method reference bisa membuat kode program java kalian lebih  mudah dibaca.

Ingatlah bahwa setiap kali Anda menggunakan lambda expression, tanyakan pada diri kalian apakah lambda expression memudahkan kalian. Jika demikian, sudah saatnya mengganti dengan method reference.

Sekian pembahasan java 8 tutorial mengenai penggunaan method references.  Semoga bermanfaat dan silahkan tinggalkan komentar.

Copyrighted.com Registered & Protected 
TAIE-YAQM-AGBI-ZCXU