Minggu, 14 Juli 2019

Profil Admin


Nama: Reni Nur Cahyo
Prodi : Teknologi Informasi
NIM   : 172520006
Universitas Muhammadiyah Purworeji

Konsep Dasar PBO



1. Kelas : Merupakan konsep dan deskripsi dari sesuatu. Misalnya "Class of Chacha" merupakan suatu unit yamg menjelaskan konsep dan deskripsi yang menunjuk pada berbagai macam perilaku/turunan dari Chacha.

2. Object : Merupakan instance dari Class. Misalnya Class : Buku, Object-nya : Buku milik Chacha.

3. Abstraksi : Adalah cara kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sebagai kumpulan subsistem (object) yang saling berinteraksi. 

4. Enkapsulasi : Yaitu mekanisme untuk menyembunyikan suatu proses dalam sistem. Ini berguna untuk menghindari interferensi dan menyederhanakan penggunaan sistem itu sendiri. Misalnya nih tombol on/off/pengaturan suhu pada remote AC. 

5. Polimorfisme : Secara bahasa dapat diartikan dengan memiliki banyak bentuk. Konsep ini terdapat dalam bahasa pemrograman seperti konstruktor yang memiliki beberapa bentuk. Selain konstruktor, konsep ini juga berlaku bagi method. Method atau konstruktor dapat memiliki banyak bentuk, dalam arti memiliki  nama yang sama namun dengan argumen yang berbeda atau dengan return type yang berbeda. Implementasi dari konsep polimorfisme adalah overloading dan overriding. 

Overloading adalah penggunaan satu nama untuk beberapa method yang berbeda parameter, sedagkan overriding terjadi ketika deklarasi method subclass persis sama dengan method dari superclassnya.

Parameter
Parameter adalah variabel yang menampung nilai untuk diproses di dalam fungsi. Parameter berperan sebagai input untuk fungsi.

Contruktor
  • Constructor adalah method khusus yang akan dieksekusi pada saat pembuatan objek (instance).
  • Biasanya method ini digunakan untuk inisialisasi atau mempersiapkan data untuk objek.

Keyword This
  • Digunakan sebagai referensi dari variabel instansi yang mengacu pada suatu objek.
  • Selain itu, This juga digunakan sebagai pembeda antara variabel instansi dengan variabel atribut. Apabila tidak menggunakan This, maka nilai akan di set 0 atau nullpada String. 
  • Selain dari 2 fungsi tersebut, keywordThis juga berfungsi sebagai pemanggil Constructor milik kelas yang sedang digunakan:

Sintaks Tanpa Keyword This

Sintaks Dengan Keyword This


Access Modifier
Access Modifier merupakan pengaturan terhadap hak akses pada kelas maupun method.


Jassper Report (Pembuatan Tabel Dan Pembuatan Events)


Menyiapkan Database
hap pertama yaitu membuat database di XMPP/WARMP yang akan ditampilakan di jassper report


Buka Netbean
1. New Project - Java Application - Latihan (Project Name)
Kemudian pada folder package latihan pilih New - Report Wizard



2. Selanjutnya Pilih Layout disini saya pilih yang Blank A4



3. Pilih New - Database JDBC connection


Pada Database JDBC connection isi sebagai berikut

4. Pilih Design query - data_mahasiswa - OK



Pilih Next

5. Pada Fields
data_mahasiswa_ nim
data_mahasiswa_nama
data_mahasiswa_jurusan
digeser kekanan seperti contoh dibawah selanjutnya pilih next

Finish

6. Pilih Tabel
kemudian drag and drop dengan menggeser ke lembar kerja


7. Kemudian pilih Preview untuk melihat hasil tabel dari database yang muncul di roport


8. Untuk melakukan event dan memunculkan hasil cetak . terlebih dahulu kita perlu:
Menambahkan jframe form pada folder package dan membuat tombol jButton (cetak) seperti gambar dibawah ini.
Kemudian untuk melakukan eventaction pada tombol cetak tersebut, memerlukan kode seperti berikut:

1). Input beberapa library dibawah package

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.table.DefaultTableModel;
import javax.swing.JTable;
import java.awt.event.*;
import java.io.File;
import javax.swing.JOptionPane;
import java.util.ArrayList;
import java.util.Vector;
import java.util.HashMap;
import java.util.Map;
import javax.swing.*;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import net.sf.jasperreports.engine.design.JRDesignQuery;
import net.sf.jasperreports.engine.design.JasperDesign;

import net.sf.jasperreports.engine.xml.JRXmlLoader;

2).Tambahkan program tersebut dibawah jbutton /action yang telah dibuat.

 try {
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mahasiswa", "root", "");
                String fileName = "src/latihan/report.jrxml";
                String filetoFill = "src/latihan/report.jasper";
                JasperCompileManager.compileReport(fileName);
                Map param = new HashMap();
                JasperFillManager.fillReport(filetoFill, param, conn);
                JasperPrint jp = JasperFillManager.fillReport(filetoFill, param, conn);
                JasperViewer.viewReport(jp, false);
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Gagal Membuka Laporan " + e, "Cetak Laporan", JOptionPane.ERROR_MESSAGE);
            }
    }


9. Pada Library
Pilih Add Librarry dan tambahkan JasperReport 3.0.1 dan MYSQL JDBC DRiver


Pilih Add JAR/Folder tambahakan isi iReport 4.5.0 jar seperti gambar dibawah kemudian open.

10. Klik tombol Cetak dan akan muncul hasil seperti dibawah ini.

Pengantar GUI Pemrograman Java

Kelas-kelas Java dapat dibagi menjadi tiga kelompok yaitu kelas-kelas wadah (container classes), kelas-kelas pembantu (helper classes) dan kelas-kelas komponen (component classes). Kelas yang termasuk ke dalam container classes digunakan sebagai wadah atau tempat untuk kelas-kelas komponen yaitu obyek dari kelas seperti JButton, JTexField, JComboBox, JListBox dan JTable. Kelas-kelas yang termasuk ke dalam helper classes digunakan untuk memformat tampilan kelas lainnya.
Container classes dan helper classes penting untuk diketahui karena berperan dalam membuat atau mendesain interfes grafis (GUI). Selain kelas-kelas tersebut, Anda juga perlu mengetahui hirarki turunan (inheritance hierarchy) beberapa kelas Java yang ada kaitannya dengan container classes dan helper classes.
Dari hirarki turunan, selain dapat melihat keterkaitan antara kelas yang satu dengan kelas lainnya, juga dapat melihat metoda-metoda penting yang diwariskan dari kelas atasanya (superclass). Kelas Container, JFrame, JApplet dan JPanel termasuk ke dalam container classes, sedangkan kelas Color, LayoutManager, Font, Graphics dan Dimension termasuk ke dalam helper classes
Kelas Container termasuk ke dalam container classes. Kelas Container sebenarnya adalah Abstract Window toolkit (AWT) container sebagai wadah untuk obyek dari kelas-kelas grafis ketika Java baru pertama kali dirilis, seperti kelas Window, Panel, Frame, Dialog dan Applet. Untuk menyusun obyek atau komponen Java di wadah sesuai dengan posisi yang diinginkan, dapat digunakan kelas bantu LayoutManager. Berikut ini adalah hirarki turunan kelas Container:
Hirarki turunan kelas Container di Java
Kelas Container merupakan kelas turunan langsung dari kelas Component. Kelas Container memiliki banyak sekali metoda selain juga metoda yang diwarisi dari superclass Component. Tabel berikut ini adalah beberapa metoda penting yang dimiliki oleh kelas Container:
Metoda kelas Container
MetodaKeterangan
add(Component comp)Menambahkan sebuah komponen ke dalam wadah (container).
add(Component comp, int index)Menambahkan sebuah komponen ke dalam wadah dengan posisi yang telah ditentukan oleh parameter index.
paint(Graphics g)Menggambar di wadah (container).
paintComponent(Graphics g)Menggambar tiap-tiap komponen di wadah (container).
remove(Component comp)Menghilangkan komponen tertentu dari wadah (container).
remove(int index)Menghilangkan komponen yang ditentukan oleh index dari wadah (container).
removeAll()Menghilangkan semua komponen dari wadah (container).
setLayout(LayoutManager mgr)Menentukan tata letak (layout manager) dari wadah (container).
getLayout()Mengembalikan jenis tata letak (layout manager) yang digunakan oleh wadah (container).
Sumber: https://www.termasmedia.com/pemrograman/java/162-pengantar-pemrograman-grafis-java-kelas-container.html

Array Dan Blok Ekspesisi


Array
Array adalah Sebuah tipe data bentukan yang terdiri dari sejumlah komponen dengan tipe yang sama. yang berfungsi untuk menyimpan nilai pada suatu variabel yang memiliki tipe data yang sama. konsep array adalah menyimpan setiap nilai ke dalam tiap blok disebut indeks. setiap indeks dimulai dari 0 dan seterusnya.

Deklarasi umum array adalah :
Tipe data nama variabel [jumlah indeks];

Contoh :
int nilai [5]; //jumlah indeks dapat tidak ditulis meskipun belum diinisialisasi.
string [] nilai = new string [5]; //harus ditulis jumlah indeks jika belom diinisialisasi.

Jumlah indeks dapat ditulis ataupun tidak ditulis. berarti menentukan batas maksimal untuk menyimpan nilai ke dalam setiap indeks. Tanpa penulisan jumlah indeks, jumlah indeks menjadi dinamis (bergantung kepada jumlah nilai yang tersimpan).

Contoh Penerapan Array 




Array (Cara Pengaksesan Indeks)

 Contoh 1 :
 Contoh 2 :

Array Multidimensi

Bentuk Kompleks dari Array. pengaksesan nilai dalam array menggunakan indeks baris dan kolom. Bentuk deklarasinya : variable[][]. Utamanya digunakan untuk operasi Matriks.

Contoh Array Multidimensi

   B. Blok Eksepsi

Merupakan keadaan tidak normal (abnormal) saat Program tersebut dijalankan. Ketika Terjadi suatu eksepsi, maka dibutuhkan suatu objek tertentu untuk penanganan eksepsi tersebut.
Beberapa metode untuk penanganan Eksepsi :
  1. Try......Catch
  2. Throw
  3. Throws
  4. Finally
   1. TRY.....CATCH

Bentuk dasar penanganan sebuah kondisi abnormal dari program. Ketika terjadi satu eksepsi, maka blokCatch akan "Menangkapnya" tanpa menghentikan program. Jika tidak terjadi suatu eksepsi maka blokTry yang akan dijalankan. 

Contoh TRY...CATCH

 
 2. THROW

Throw digunakan secara eksplisit untuk melempar suatu kondisi. Aliran eksekusi akan segera terhenti apabila telah mencapai pernyataan throw. Throw dibuat secara manual oleh programmer yang artinya kita dapat menentukan kapan kondisi throw terjadi.


Contoh THROW

  
3. THROWS

Solusi apabila sebuah method dapat menyebabkan terjadinya eksepsi, namun tidak dapat "Menangkapnya".

Contoh THROWS


    4. FINALLY

Kondisi finally akan dieksekusi, meskipun tidak terjadi suatu eksepsi.

Contoh FINALLY

Berkenalan Dengan Java


Java adalah suatu bahasa pemrograman Object Oriented dengan unsur-unsur seperti bahasa C++ dan bahasa-bahasa lainnya dengan libraries yang cocok untuk lingkungan internet.
Java diciptakan oleh James Gosling developer dari Sun Microsystems pada tahun 1991. Java merupakan bagian dari riset Sun untuk menciptakan perangkat lunak untuk perangkat keras elektronik. Tujuan java pada waktu itu adalah menjadi perangkat lunak yang kecil, efisien dan portable untuk berbagai perangkat keras. Java yang mempergunakan nama Oak pada mulanya kurang mendapat perhatian komersial sampai akhirnya diperkenalkan bersama HotJava dan Netscape Incorporated. Sun menyediakan perangkat lunak untuk membuat program java dengan nama Java Developer Kit (JDK) yang mempunyai beberapa versi dengan platform untuk SPARC dan X86 Solaris, Windows NT dan Windows 95. JDK dimulai dengan versi 1.0x kemudian 1.1x dan yang terakhir versi 1.2 (disebut dengan Java 2).
Mengapa Mempelajari Java ?
Berdasarkan white paper dari Sun, Java mempunyai karakteristik sebagai berikut :
1. Sederhana (Simple)
Bahasa pemrograman java menggunakan Sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
2. Berorientasi objek (Object Oriented)
Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
3. Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada java.
4. Interpreted
Program java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi java bytecodes dapat dijalankan pada platform yang berbeda-beda.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.
6. Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral
Program java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.
8. Portable
Source code maupun program java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
9. Performance
Performance pada java sering dikatakan kurang tinggi. Namun performance java dapat ditingkatkan menggunakan kompilasi java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
10. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
11. Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.
Sumber: https://www.google.com/amp/s/raiwira.wordpress.com/2009/05/10/berkenalan-dengan-java/amp/

Pengenalan Java


Java sebagai salah satu bahasa pemrograman yang sudah berumur dari era 1990-an, kian berkembang dan melebarkan dominasinya di berbagai bidang. Salah satu penggunaan terbesar Java adalah dalam pembuatan aplikasi native untuk Android. Selain itu Java pun menjadi pondasi bagi berbagai bahasa pemrograman seperti Kotlin, Scala, Clojure, Groovy, JRuby, Jython, dan lainnya yang memanfaatkan Java Virtual Machine sebagai rumahnya.
Java pun akrab dengan dunia saintifik dan akademik. Cukup banyak akademisi di Indonesia yang menggunakan Java sebagai alat bantu untuk menyelesaikan skripsi atau tugas akhir dengan berbagai topik yang didominasi kecerdasan buatan, data miningenterprise architecture, aplikasi mobile, dan lainnya. Di dunia web development sendiri, Java memiliki berbagai web frameworkunggulan seperti Spring, Play Framework, Spark, Jakarta Struts, dan Java Server Pages.
Anda dapat menggunakan salah satu dari tiga IDE populer seperti NetBeans, Eclipse, atau IntellijIDEA. Java pun memiliki package manager yang mulai populer sejak digunakan di Android Studio yang bernama Gradle. Yah Java yang diciptakan oleh James Gosling ini memang diambil dari sebuah nama pulau dimana James berlibur di Indonesia. Bahkan ada beberapa package Java yang diambil dari nama - nama daerah di Indonesia seperti Jakarta Struts dan Lombok.
Ok cukup cuap - cuapnya, mari kita mulai mencoba bahasa pemrograman Java jika Anda belum pernah mencobanya.

Hello World

Ok, untuk memulai perjalanan kita bersama Java, mau tak mau Anda memang harus menguasai sebuah hal yang tidak praktis saat pertama kali bertemu dengan Java. Tidak seperti bahasa pemrograman lain yang sederhana untuk memulai hello worldyang hanya cukup dengan menggunakan function untuk mencetak sebuah string "Hello World!", di Java Anda harus membuat terlebih dahulu sebuah class dan membuat sebuah method yang merupakan method utama dari kode program. Method utama yang akan dieksekusi tersebut dinamakan dengan method main().Method tersebut wajib ada di salah satu class dari kode program yang kita bangun menggunakan Java.
Karena Java merupakan salah satu bahasa pemrograman yang berparadigma berorientasi objek, Anda memang harus mulai membiasakan diri dengan istilah - istilah seperti inheritanceattributeinstantiation, dan lainnya. Sekarang kita akan memulainya dengan membuat sebuah file yang bernama HelloWorld.java. Kemudian buat kode berikut di dalam file tersebut:
public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World...");
    }
}
Ada yang perlu Anda perhatikan dari kode diatas:
  • public adalah sebuah keyword di Java yang menandakan bahwa objek, method, atau atribut dapat diakses dari class lain.
  • class adalah sebuah keyword di Java yang digunakan untuk membuat sebuah class
  • static adalah sebuah keyword untuk membuat sebuah method tidak perlu diinstansiasi terlebih dahulu
  • void adalah sebuah keyworduntuk membuat sebuah method tidak me-return nilai apapun alias kosong
  • System.out.println() adalah sebuah method yang telah di-import otomatis untuk digunakan mencetak output di konsol.
  • Nama class dan nama file harus sama
Sekarang mari kita jalankan program kecil tersebut dengan menggunakan perintah seperti berikut:
$ javac HelloWorld.java
$ java HelloWorld
Hello World...

Mengenal tipe data dasar di Java

Berurusan dengan tipe data untuk variabel, Java memiliki sangat banyak tipe data yang dasar dan kompleks. Tipe data yang kompleks dapat Anda temukan seperti ArrayList, HashMap, HashTable, Vector, Array, dan lainnya. Untuk tipe data dasar, Anda dapat menggunakan intfloatdoubleStringBoolean, dan lainya. Untuk membuat sebuah array dari tipe data dasar, Anda dapat menggunakan tanda "[]" setelah mengetik tipe data yang Akan Anda gunakan.
Sekarang mari kita buat sebuah filedengan nama HelloVariabel.java dan buat kode berikut di dalam file tersebut:
public class HelloVariable {

    public static void main(String[] args) {
        int umur = 10;
        double gravitasi = 9.8;
        String nama = "Peter Parker";
        Boolean bukan_dosen = false;
        String[] superhero = new String[]{"Ant Man", "Captain America", "Spiderman", "Hulk", "Thor", "Iron Man"};

        System.out.println("umur: " + umur);

        System.out.println("gravitasi: " + gravitasi);

        System.out.println(nama instanceof String);
        System.out.println("nama: " + nama);

        System.out.println(superhero instanceof String[]);
        System.out.println("superhero 1: " + superhero[0]);
        System.out.println("superhero 2: " + superhero[1]);
        System.out.println("superhero 3: " + superhero[2]);
        System.out.println("superhero 4: " + superhero[3]);
        System.out.println("superhero 5: " + superhero[4]);
        System.out.println("superhero 6: " + superhero[5]);
    }

}
Ada beberapa hal yang perlu Anda telisik terlebih dahulu. Jangan sampai bagian ini terlewat yah:
  • Untuk mendeklarasikan sebuah variabel, Anda harus menulis terlebih dahulu tipe data variabelnya, kemudian nama variabel, dan wajib menginisialisasi variabel agar tidak error
  • Untuk membuat sebuah array Anda dapat menggunakan tanda "[]" setelah mengetik tipe data, kemudian nama variabel dan Anda harus memanggil keyword new untuk membuat sebuah array
  • Untuk menyambung string Anda dapat menggunakan tanda "+" untuk menyambung string dengan isi variabel
  • Anda dapat menggunakan keywordinstanceof untuk menyelidiki tipe data dari variabel
  • Untuk mengakses array Anda dapat langsung mengakses indeksnya dengan angka yang dimulai dari 0
Sekarang mari kita jalankan program kecil tersebut dengan menggunakan perintah seperti berikut:
$ javac HelloVariable.java
$ java HelloVariable
umur: 10
gravitasi: 9.8
true
nama: Peter Parker
true
superhero 1: Ant Man
superhero 2: Captain America
superhero 3: Spiderman
superhero 4: Hulk
superhero 5: Thor
superhero 6: Iron Man

Kondisional di Java

Untuk membuat sebuah kondisional di Java, cukup mudah. Sintaksnya tidak jauh berbeda dengan PHP dan C. Silahkan buat file dengan nama HelloIf.java kemudian buat kode berikut:
public class HelloIf {

    public static void main(String[] args) {
        Boolean bukan_dosen = true;

        if (bukan_dosen){
            System.out.println("Tidak boleh mengakses halaman dosen...");
        }
        else {
            System.out.println("Boleh mengakses halaman dosen...");
        }
    }
}
Sekarang mari kita jalankan program kecil tersebut:
$ javac HelloIf.java
$ java HelloIf
Tidak boleh mengakses halaman dosen...

Pengulangan di Java

Sama halnya dengan kondisional, untuk membuat sebuah pengulangan "for" di Java, cukup mudah. Sintaksnya tidak jauh berbeda dengan PHP dan C. Silahkan buat file dengan nama HelloFor.java kemudian buat kode berikut:
public class HelloFor {

    public static void main(String[] args) {
        for (int i = 0; i
Sekarang mari kita jalankan program kecil tersebut:
$ javac HelloFor.java
$ java HelloFor
Variabel i saat ini: 0
Variabel i saat ini: 1
Variabel i saat ini: 2
Variabel i saat ini: 3
Variabel i saat ini: 4
Variabel i saat ini: 5
Variabel i saat ini: 6
Variabel i saat ini: 7
Variabel i saat ini: 8
Variabel i saat ini: 9
Sumber: https://www.codepolitan.com/mengenal-dan-memulai-pemrograman-java-belajar-java