Melayani Dengan Riang Gembira

dan DOA

Cari di Blog Ini

Berubah tanpa ilmu adalah perubahan sia-sia

Yang abadi dalam kehidupan di dunia adalah perubahan, dengan ilmu perubahan menjadi terarah.

Orang cerdas itu adalah orang yang berencana untuk besok hari

Maka disiplin adalah bagian dari rencana.

13 Oktober 2020

Menganalisis Pemanfaatan Class Built_in

Indikator  Pencapaian Kompetensi dan Tujuan Pembelajaran

IPK Pengetahuan

  1. Menjelaskan konsep  class built-in dari  kumpulan class dalam PBO.
  2. Menjelaskan prosedur pemanfaatkan class built-in dalam aplikasi PBO.
  3. Menerapkan langkah-langkah dalam pemanfaatan class built-in PBO 

IPK Keterampilan

  1. Merancang program aplikasi berorientasi obyek dengan memanfaatkan class built-in
  2. Membuat kode program aplikasi berorientasi obyek yang memakai  class built-in.
  3. Menguji program aplikasi berorientasi obyek dengan dukungan class built-in.

Tujuan Pembelajaran

Setelah melalui kegiatan diskusi, menggali informasi, presentasi dan tugas praktek diharapkan peserta didik akan dapat :
  1. Siswa dapat Menjelaskan konsep class built-in dalam pemrograman aplikasi berorientasi obyek dengan benar.
  2. Siswa dapat Menjelaskan prosedur pemanfaatan class built-in dalam pemrograman aplikasi berorientasi obyek dengan baik.
  3. Menerapkan prosedur pemanfaatan class built-in dalam pemrograman aplikasi berorientasi obyek dengan baik
  4. Siswa dapat merancang program aplikasi dalam dukungan class built-in

Materi Kegiatan Pembelajaran

Class Built in

~ Built in class adalah class-class yang secara langsung disediakan oleh java, user dapat langsung menggunakan tanpa perlu mendefinisikan sendiri.

Import built in class dengan menggunakan keyword import.

Contoh: import.java.util.scanner;

Buat instance dari class tersebut.




Scanner input=New Scanner (System.in);

Tanda titik digunakan oleh java sebagai pemisah antara instance dengan method/atribut.
input.nextLine();

Class String

 Sintaks: String <nama.variabel>="deklarasi";

String merupakan class, namun demikian khusus untuk String, instansiasi dapat dilakukan tanpa menyertakan new dan method construktornya. adalah Class String. Dalam Java, string dapat digunakan menggunakan array dari character atau disederhanakan dengan menggunakan class String

 Sintak standar seharusnya seperti ini:

  String str=New String ("ini contoh String");

Namun cukup dituliskan:
String str="ini contoh String";

Method-Method dalam class String

  1. Equais
  2. Equais Ignorecase
  3. Compareto
  4. Substring
  5. Length
  6. Tolowercase
  7. Tolippercase
  8. Trim
  9. CharAt
  10. Index Of

Class StringBuffer, class ini serupa dengan objek string, kecuali kenyataan bahwa objek String Buffer bersifat dapat berubah atau dapat dimodifikasi, sedangkan pada object String bersifat konstan.

 

Class Math

Math adalah class yang terdapat paket java. Yang berisi fungsi-fungsi matematika dan konstanta penting dimatematika. class math.Class yang dapat berisi method untuk menunjukkan perbedaan operasi matematika seperti fungsi trigonometri dan logaritma.

Selama method-method ini semua static, kita dapat menggunakannya tanpa memerlukan sebuah objek Math.

  Contoh:

• Y= math.Cos (PT/2);

• Y= math.Sqrt (16);

• Y= math.Pow (3.2);

• Y= math.abs (-3);

 

  Ex:

Public class main{

Static void test(){

         double d2= math.Sqrt (d1);

         double d3= math.Pow (2.3);

         System.out.println ("d2="+d2);

         System.out.printlm ("d3="+d3);

}

Public Static void main (String[]args) {

 test();

 }

}

Contoh Class Built In : Class Math dan Class String.
Class Math adalah kelas yang berisi fungsi-fungsi matematika dan konstanta penting dimatematika.

Class String 
karena java tidak menyediakan variabel tipe primitive yang langsung mengakses kumpulan karakter/kata maka disediakanlah class string.
Pseudecode : 
String <nama_variabel> : "deklarasi";

String merupakan class namun demikian untuk string instansiasi dapat dilakukan tanpa menyertakan new dan method constuktornya.
 Seharusnya penulisan seperti ini :
String str = new string ("ini contoh string") ;
 Cukup dituliskan :
String str = "ini contoh string" ;


  class DemoMembuatString {           

  public static void main(String[] args) {

       

    char[] arr = {'a','b','c','d','e'};

   

    String s1 = "Contoh string literal";

    String s2 = new String();

    String s3 = new String(arr);

    String s4 = new String(arr, 1, 3);

    String s5 = new String(s1);

   

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

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

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

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

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

  }

}











 Program komputer terdiri dari tiga komponen utama, yaitu: input, proses, dan output. 

Input: nilai yang kita masukan ke program
Proses: langkah demi langkah yang dilakukan untuk mengelola input menjadi sesuatu yang berguna
Output: hasil pengolahan

Semua bahasa pemrograman telah menyediakan fungs-fungsi untuk melakukan input dan output.

Java sendiri sudah menyediakan tiga class untuk mengambil input:
  1. Class Scanner;
  2. Class BufferReader;
  3. dan Class Console.

Tiga class tersebut untuk mengambil input pada program berbasis teks (console). Sedangkan untuk GUI menggunakan class yang lain seperti JOptionPane dan inputbox pada form.

Sementara untuk outputnya, Java menyediakan fungsi print()println(), dan format().

Mengambil Input dengan Class Scanner

Scanner merupakan class yang menyediakan fungsi-fungsi untuk mengambil input dari keyboard.
Agar kita bisa menggunakan Scanner, kita perlu mengimpornya ke dalam kode:

import java.util.Scanner;

Lebih jelasnya…buatlah paket baru bernama pertemuan2 pada source packages. 

Klik kanan pada souce packages, kemudian pilih new package:
Kemudian isi nama paket dengan pertemuan2, lalu klik Finish:
Setelah itu, lanjutkan dengan membuat kelas (java class) baru di paket pertemuan2:
Berikan nama: DataKaryawan. Kemudian klik Finish:

Setelah itu, silahkan ikuti kode berikut ini:
package pertemuan2;
 
// mengimpor Scanner ke program
import java.util.Scanner;
 public class DataKaryawan {
     public static void main(String[] args) {
        // deklarasi variabel
        String nama, alamat;
        int usia, gaji;
         // membuat scanner baru
        Scanner keyboard = new Scanner(System.in);
         // Tampilkan output ke user
        System.out.println("### Pendataan Karyawan PT. Petani Kode ###");
        System.out.print("Nama karyawan: ");
        // menggunakan scanner dan menyimpan apa yang diketik di variabel nama
        nama = keyboard.nextLine();
        // Tampilkan outpu lagi
        System.out.print("Alamat: ");
        // menggunakan scanner lagi
        alamat = keyboard.nextLine();
        System.out.print("Usia: ");
        usia = keyboard.nextInt();
        System.out.print("Gaji: ");
        gaji = keyboard.nextInt();
         // Menampilkan apa yang sudah simpan di variabel
        System.out.println("--------------------");
        System.out.println("Nama Karyawan: " + nama);
        System.out.println("Alamat: " + alamat);
        System.out.println("Usia: " + usia + " tahun");
        System.out.println("Gaji: Rp " + gaji);
    }
 }

Perlu diperhatikan, penggunakan fungsi untuk mengambil data bergantung dari tipe data yang digunakan.

Misal, tipe datanya adalah String, maka fungsi atau method yang dipakai adalah nextLine().

Begitu juga dengan tipe data lain, Integer menggunakan nextInt()Double menggunakan nextDouble(), dsb.

Setelah selesai membuat program, silahkan dijalankan. Klik kanan kemudian pilih Run File atau tekan tombol [Shift]+[F6].

 Mengambil Input dengan Class BufferReader

Class BufferReader sebenarnya tidak hanya untuk mengambil input dari keyboard saja.

Class ini juga dapat digunakan untuk membaca input dari file dan jaringan.

Class ini terletak di dalam paket java.io.

Silahkan diimpor untuk dapat menggunakan class BufferReader.

 

import java.io.BufferedReader;

Silahkan buat class baru bernama ContohBufferReader, kemudian isi dengan kode berikut ini.

package pertemuan2;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ContohBufferReader {
    public static void main(String[] args) throws IOException {
        String nama;
        // Membuat objek inputstream
        InputStreamReader isr = new InputStreamReader(System.in);
        // membuat objek bufferreader
        BufferedReader br = new BufferedReader(isr);
        // Mengisi varibel nama dengan Bufferreader
        System.out.print("Inputkan nama: ");
        nama = br.readLine();
        // tampilkan output isi variabel nama
        System.out.println("Nama kamu adalah " + nama);
    }
}

Ternyata class BufferReader tidak bisa bekerja sendirian. Dia juga butuh teman yaitu: class InputStreamReader dan class IOException.

Sekarang mari kita coba jalankan programnya:

Perbedaan BufferReader dengan Scanner terlihat dari fungsi atau method yang dipakai.

Scanner menggunakan next(), sedangkan BufferReader menggunakan readLine().

Lalu untuk tipe data integer, BufferReader menggunakan fungsi read() saja. Hal ini dapat kita lihat dalam hint autocomplete .

Tips: Tekan Ctrl+Spasi saat menulis kode untuk menampilkan hint autocomplete .

Mengambil Input dengan Class Console

Class Console hampir sama dengan BufferReader. Dia juga menggunakan fungsi readLine() untuk mengambil input.

Akan tetapi… Class ini hanya bisa digunakan di lingkungan console saja, seperti Terminal dan CMD.
Class Console tidak bisa digunakan langsung di Netbeans.
Maka dari itu, kita harus kompilasi secara manual.
Untuk menggunakan class ini, kita perlu mengimpornya terlebih dahulu.

import java.io.Console;

Mari kita coba…

Buatlah file baru bernama InputConsole.java dengan isi sebagai berikut:

import java.io.Console;

 public class InputConsole {

    public static void main(String[] args) {

         String nama;

        int usia;

         // membuat objek console

        Console con = System.console();

         // mengisi variabel nama dan usia dengan console

        System.out.print("Inputkan nama: ");

        nama = con.readLine();

        System.out.print("Inputkan usia: ");

        usia = Integer.parseInt(con.readLine());

         // mengampilkan isi variabel nama dan usia

        System.out.println("Nama kamu adalah: " + nama);

        System.out.println("Saat ini berusia " + usia + " tahun");

    }

}

Perhatikan: dalam kode di atas, kita menggunakan fungsi Integer.parseInt(con.readLine()) untuk tipe data integer. Artinya, kita mengubah tipe data String ke Integer. 

Karena Console tidak memiliki nilai kembalian berupa integer untuk fungsi read().

Setelah itu, lakukan kompilasi melalui Terminal atau CMD. Buka terminal, kemudian masuk ke direktori tempat menyimpan kodenya.

Ketik perintah: javac InputConsole.java untuk melakukan kompilasi.

Setelah itu, ketik perintah java InputConsole untuk menjalankannya:

 Menampilkan Output

 Kita sudah mengenal beberapa cara mengambil input dari keyboard untuk program berbasis teks.

Sekarang bagaimana dengan outputnya?

Ada beberapa fungsi yang sudah disediakan oleh Java:

1.         Fungsi System.out.print()

2.         Fungsi System.out.println()

3.         Fungsi System.out.format()

Apa saja perbedaan dari fungsi-fungsi tersebut?

 

Fungsi print() vs println()

Fungsi print() dan println() sama-sama digunakan untuk menampilkan teks.

Lalu apa bedanya?

Fungsi print() akan menampilkan teks apa adanya. Sedangkan println() akan menampilkan teks dengan ditambah baris baru.

Mari kita coba dalam kode:

package eksperimen;

public class PrintVsPrinln {

 

    public static void main(String[] args) {

 

        System.out.print("ini teks yang dicetak dengan print()");

        System.out.println("sedangkan ini teks yang dicetak dengan println()");

        System.out.print("pake print() lagi");

    }

}





 Sekarang lihat hasil outputnya:

Menggabungkan String

 Ketika menggunakan fungsi print() maupun println(), kadang kita perlu mengambil teks dari variabel dan menggabungkannya dengan teks yang lain.

Misalnya seperti ini:

Kita punya variabel namaDepan dan namaBelakang:

String namaDepan = "Petani";

String namaBelakang = "Kode";

Kemudian kita ingin menampilkannya dengan fungsi print(), maka kita hanya perlu memasukkannya ke sana.

System.out.print(namaDepan);

System.out.print(namaBelakang);

Kode tersebut akan menghasilkan: PetaniKode

Sebenarnya kita tidak perlu menggunakan dua fungsi print(), karena kita bisa menggabungkannya dengan operator +.

Contoh:

System.out.print(namaDepan + namaBelakang);

Agar ada spasi, tinggal ditambahkan saja spasi:

System.out.print(namaDepan + " " + namaBelakang);

Format String

Sedangkan untuk menggabungkan String yang lebih kompleks, kita bisa menggunakan fungsi format().

Contoh:

package eksperimen;

 

public class FormatString {

    public static void main(String[] args) {

        String namaDepan = "Petani";

        String namaBelakang = "Kode";

        System.out.format("Nama saya %s %s %n", namaDepan, namaBelakang);

    }

}

Perhatikan: di sana kita menggunakan simbol %s untuk mengambil nilai dari variabel di sampingnya. %s artinya string.

Selain %s, ada juga simbol lain:

ü  %d untuk desimal atau angka;

ü  %f untuk bilangan pecahan;

ü  %n untuk baris baru, bisa juga pakai \n;


Kode di atas akan menghasilkan: Nama saya Petani Kode



12 Oktober 2020

Pembuatan Interface

Indikator Pencapaian Kompetensi dan Tujuan Pembelajaran

IPK Pengetahuan

  1. Menjelaskan konsep interface dari kumpulan class dalam PBO.
  2. Menjelaskan prosedur pembuatan interface dalam aplikasi PBO.
  3. Menerapkan langkah-langkah dalam pembuatan interface PBO

IPK Keterampilan

  1. Merancang program aplikasi berorientasi obyek dalam bentuk interface
  2. Membuat kode program aplikasi berorientasi obyek yang dikemas dalam interface.
  3. Menguji program aplikasi berorientasi obyek dalam format interface.

Tujuan Pembelajaran

Setelah melalui kegiatan diskusi, menggali informasi, presentasi dan tugas praktek diharapkan peserta didik akan dapat :
  1. Siswa dapat Menjelaskan konsep interface dalam pemrograman aplikasi berorientasi obyek dengan benar.
  2. Siswa dapat Menjelaskan prosedur pembuatan interface dalam pemrograman aplikasi berorientasi obyek dengan baik.
  3. Menerapkan prosedur pembuatan interface dalam pemrograman aplikasi berorientasi obyek dengan baik
  4. Siswa dapat merancang program aplikasi dalam kemasan interface

Materi Kegiatan Pembelajaran

Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk komunikasi antar objek berbeda yang tidak memiliki hubungan apapun.

Interface bisa dikatakan sebagai protokol komunikasi antar objek tersebut.
Interface adalah sebuah tipe referensi pada Java. 

Interface secara struktur serupa dengan class. 

Isi dari interface  adalah method abstract.  Artinya, method yang hanya dideklarasikan dan tidak ditulis secara utuh.   

Deklarasi method pada interface serupa dengan method pada abstract class.  
Variabel pada interface akan memiliki aturan static dan final.

Adapun method akan memiliki aturan public dan abstract. 
Dalam pemahaman bahasa Indonesia interface itu diartikan sebagai antarmuka.  Bagian muka bisa dipahami sebagai bagian yang terlihat. Sedang bagian belakang yang merupakan isinya tidak terlihata.

Dalam interface ini, tidak ada pemrograman dalam method maupun event.   Dengan kata lain interface dipahami sebagai standardisasi daftar property, method dan event yang harus diimplementasikan oleh clas-class lain yang merupakan turunannya.

Jika menganggap abstract class sebagai blue print dari class-class lain, interface adalah implementasi method yang harus tersedia dalam sebuah object.

Sebagai contoh secara nyata analogi tentang class komputer, interface dapat dicontohkan dengan mouse, atau keyboard.  

Di dalam interface mouse,  kita tidak membuat method seperti klik_kiri(), klik_kanan(), atau double_klik().

Interface bisa diturunkan atau diwariskan kepada class yang ingin memakai method yang ada dalam masing-masing interface tersebut dengan keyword extends [interface yang didefinisikan].

Sebuah class dapat mengimplementasikan 1 interface yang sudah dibuat dengan keyword implement.

pendeklarasian interface adalah sebagai berikut :

interface Operasi {
public void Penjumlahan();
public void Pengurangan ();
}

Implementasi Interface

Cara menggunakan interface pada kelas lain, harus menggunakan keyword implements

Deklarasi implements interface sebagai berikut :
 
public class Calculator implements Operasi{
 private double bil1, bil2;
//override semua method pada interface

 public static void main (String []args){
 Calculator cal = new Calculator(3,4);
 System.out.print (“Hasil penjumlahan “+cal.getbil1()+” dan “cal.getbil2()”adalah “);
 cal.Penjumlahan();

   }
}

Penjelasan Interface Pada Java

Isi dari interface adalah method abstract, artinya method hanya dideklarasikan tidak ditulis secara utuh. Deklarasi method pada interface serupa dengan method pada class abstract.
Abstraction class merupakan sebuah class abstak (class setengah jadi)  yang memiliki method dan atribut. Abstraction class adalah hierarki tertinggi dari sub-sub class-nya. Kelas abstrak digunakan untuk membuat sebuah kelas yang memiliki method yang belum jelas implementasinya. 

Berikut ini aturan nya :
  1. Jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak.
  2. Sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.
  3. Jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail dari methodnya.
  4. Jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak.
Abstract class adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek (tidak boleh ada instansiasi) serta method-method yang abstract harus disempurnakan oleh kelas turunannya melalui override.
Variable pada interface akan memiliki aturan static dan final sedangkan method akan memiliki aturan public dan abstract. 
Kelas-kelas yang diturunkan dari kelas abstraklah yang harus mendefinisikan secara detail method tersebut. Abstract class adalah class yang di dalam terdapat fungsi abstract.

Fungsi abstract adalah fungsi tanpa implementasi, di mana dikarenakan sifatnya terlalu general sehingga tidak bisa diimplementasikan.

Contoh program tentang penggunaan Abstraction Class pada program java.

Simpanlah file class Biodata.java ini dalam direktori abstraksi

package abstraksi;

abstract class Biodata {

    public abstract void mData(String nama, String ttl);
    public void mBiodata(){
    System.out.println("Biodata: Abdul Jaber al Banjarani");
    }
}

Simpan pula file class Implementasi.java ini dalam direktori abstraksi

package abstraksi;
public class Implementasi extends Biodata {
    @Override
    public void mData(String nama, String ttl){
        System.out.println("Nama :"+nama);
        System.out.println("Ttl :"+ttl);
    }
}

Berikutnya adalah contoh class file  yang menggunakan Abstraction . 

Terdapat 2 buat method, yaitu mData dan mBiodata.

Pada mData terdapat kata abstract itu menunjukan bahwa method itu merupakan method abstract dan harus di override pada class turunannya.

package abstraksi;

public class JavaInterfaces {
    
    public static void main(String[] args) {
   
    // TODO, add your application code
    Implementasi imp = new Implementasi();
    String nama= "Suaeb Rizal";
    String ttl="Jakarta, 30 April 1960";
   
    imp.mBiodata();
    imp.mData(nama,ttl);
    System.out.println("Hello Ok !");
    }
}

 
Class terakhir adalah class main yaitu untuk menjalankan programnya .

Pada baris awal void main terdapat pembuatan object dari class implementasi dan akan di lengkapi dari dua class di atas.

Karena pada method mData terdapat dua buah paramenter yaitu nama dan ttl,
pada source kode imp.mBiodata(), maka main akan mengambil method mBiodata pada class imp atau Implementasi, jika dilihat pada class Implemetasi tidak terdapat method mBiodata pada classnya karena merupakan salah satu karakteristik OOP yaitu Inheritance.
Selanjutnya imp.mData(nama,ttl), berikut adalah untuk memanggil method mData pada class imp atau Implemetasi beserta parameter sesui kebutuhannya.

 Output dari program diatas
















Tugas / Penilaian

A. Soal Teori

1. Class class object dapat melakukan komunikasi satu dengan lainnya, jelaskan pengertian dan peranan interface pada PBO ?

 2. Disajikan sebuah contoh interface

 

interface Operasi {

public void Penjumlahan(int x, int y);

public void Pengurangan (int x, int y);

}

Sebutankanlah  nama kandungan yang ada pada interface di atas dan jelaskan aturan pada penentuan variabelnya?

 3. Pada komputer ada interface yang namanya mouse dan keyboard, jelaskan metode-metode apa yang ada di dalam kedua interface tersebut ?

 4. Keyword  apakah yang digunakan untuk membuat class turunan yang akan menggunakan method pada  suatu interface serta sebutkan keyword untuk membuat class implementasi dari class turunan?

 5.a.  Jelaskan hubungan antara

a)     Class dengan Class

b)     Class dengan Interface

c)      Interface dengan Interface

5.b. Buatlah bagan untuk soal no 5.a.

B. Soal Praktek :

 

interface namaInterface {

method();

method();

}



1. Berdasar format di atas

buatlah interface induk dengan metode tambah dan metode kurang, yang mempunyai dua parameter bilangan type double a dan b.

2. Dari soal no 1 . Dengan keyword extends. Buatlah interface turunan dari interface induk dengan isi method nya berupa kali dan bagi (dengan 2 parameter a dan b)