Minggu, 13 November 2016

Polimorfisme

Polymorphism (Polimorfisme) adalah kemampuan untuk mempunyai beberapa bentuk class yang berbeda. Polimorfisme ini terjadi pada objek bertipe parrent class, akan tetapi pemanggilan constructornya melalui subclass.seperti contoh berikut :

Pegawai man = new manajer();

berikut contoh soal mengenai polimorfisme, terdapat UML class diagram dibawah ini : 

Selanjutnya kita buat class berdasarkan UML class diagram tersebut.

Class Pegawai
Class Manajer
Class Programmer
Selanjutnya Buatlah class baru untuk mengetahui hasil dari beberapa class yang dibuat
Selanjutnya berikut hasilnya :

Overloading dan Overriding

Overloading adalah dimana saat method dengan nama yang sama dibuat berulang kali, namun mempunyai fungsionalitas yang berbeda. Berikut Contoh Overloading method :

Gambar(int t1) - > 1 parameter titik, untuk menggambar titik.
Gambar(int t1, int t2) - > 2 parameter titik, untuk menggambar garis.
Gambar(int t1, int t2, int t3) - > 3 parameter titik, untuk menggambar segitiga.
Gambar(int t1, int t2, int t3, int t4) - > 4 parameter titik, untuk menggambar
persegi empat.

Overloading dapat terjdi pada class yang sama maupun suatu parrent class dan subclass-nya. berikut ciri - ciri overloading :
  1.  Nama method harus sama.
  2.  Daftar parameter harus berbeda.
  3.  Return Type boleh sama, juga boleh berbeda.  
Overriding dimana suatu keadaan method pada parrent dapat kita custom, atau kita ganti sesuai kebutuhan. berikut ciri -ciri overriding :
  1. Nama method harus sama
  2. Daftar Parameter harus sama
  3. Return type harus sama
  4. yang berbeda adalah isi / fungsi dari method tersebut
Untuk memahami Overloading dan Overriding berikut contoh soal dan penyelesainnya :

Dari UML class diagaram tersebut kita ubah menjadi source code kedalam bahasa java.

Untuk melihat hasilnya kita akan gunakan class baru dan membuat objek dari class RerataNilai berikut source codenya :

Selanjutnya silahkan di run maka hasilnya :


Contoh soal kedua berikut terdapat UML class diagram :
Selanjutnya kita buat class berdasarkan UML class diagram tersebut :


Untuk pengetesan buatlah class berikut :

Selanjutnya jalankan class TestKatakKecebong dan berikut hasilnya :


Rabu, 09 November 2016

Mengelola Kelas

Pada kesempatan ini saya akan membagikan hasil source code dari percobaan impplementasi UML class diagram. Dari Studi kasus UML class diagram perbankan, untuk lebih jelasnya dapat dilihat dibawah.













Untuk IDE saya menggunakan Netbeans pertama buatlah project dengan nama sesuai selera dengan cara klik File -> New Project (Ctrl+Shift+N), kemudian selanjutnya klik kanan pada project anda dan buatlah package baru dengan nama perbankan. Barulah kita buat class di dalamnya.

1. Class Tabungan












Tabungan pada diagram tersebut merupakan nama classnya, kemudian di bawahnya terdapat attribut saldo yang di belakangnya mempunyai simbol  (-) yang berarti Private dan diikuti tipedatanya int. selanjutnya terdapat constructor Tabungan(saldo, int), tanda (+) dibelakangnya berarti Public. Dan method getter bertipe int dengan nama getSaldo() yang berfungsi untuk mengambil nilai saldo. Berikutnya method simpanUang(jumlah:int) berfungsi untuk menyimpan uang, method tersebut tidak mempunyai nilai kembalian. Dan yang terakhir method ambilUang(jumlah:int):boolean, method ini mempunyai nilai kembalian bertipe boolean. untuk diketahui constructor, method getter, maupun setter dapat langsung dibuat melalui tombol kombinasi pada netbeans ketik (alt + ins). oke untuk source codenya langsung saja lihat berikut ini !

2. class Nasabah















Pada Kelas Nasabah terdapat tiga attribut private. dengan dua bertipe String yaitu namaAwal, namaAkhir, dan satu lagi Tabungan dengan tipe dari class Tabungan.
Selanjutnya buatlah constructor Nasabah dengan parameter namaAwal bertipe String dan namaAkhir bertipe String. selanjutnya buatlah getter dari namaAwal, namaAkhir, dan Tabungan lalu buatlah setter untuk Tabungan. Di netbeans kalian dapat menggunakan tombol (alt-ins) biarcepet nggak usah ngetik he100X. oke untuk Source code bisa dilihat dibawah !


Dan terakhir buatlah class baru untuk menguji class-class yang telah dibuat tadi berikut source codenya :


Jika berhasil maka outputnya seperti berikut :


Minggu, 06 November 2016

Latihan Dan Tugas Array Pada Pemograman Java


Assalamu'laikum Wr wb.
dikesempatan ini saya ingin mebagikan kepada para pembaca mania tugas pemograman java di kelas Android Madani IT school berikut Tugas dan Penyelesaiaanya !

Sebelumnya karena saya menyadari atas segala kekurangan saya maka jika teman - teman / para hadirin sekalian menemukan kelsalahan mohon koreksinya terimakasih dan selamat membaca .

Tugas Pemograman Java Madani IT School (Array)

Latihan 
Latihan 1 : Mencari nilai rata - rata mata kuliah dari daftar nilai siswa
NRP
Nama Mhs
RPL
BD
PBO
1
Ahmad
81
90
62
2
Adang
50
83
87
3
Dani
89
55
65
4
Edi
77
70
92

NRP Rata -rata
===========================
1. 77.67
2. 73.33
3. 69.67
4. 79.67
===========================

Berikut Penyelesaiannya : 
 
//mengimport paket java.text.NumberFormat
import java.text.NumberFormat;
//membuat class dengan nama Larihan1_Rata2
public class Latihan1_Rata2 {
//main program
    public static void main(String[] args) {
        //Membuat object nf dari class NumberFormat
NumberFormat nf = NumberFormat.getInstance();
        //untuk pengaturan 2 angka setelah koma
nf.setMaximumFractionDigits(2);
//membuat array multidimensi
        int nilai[][] = {{81,90,62},{50,83,87},{89,55,65},{77,70,92}};
//membuat array ratarataMK[] dengan tipe double dan panjangnya sama dengan 
//pangjang dari array nilai
        double ratarataMK[] = new double[nilai.length];
        //membuat perulangan sebanyak panjang array nilai / baris
for (int i=0; i<nilai.length; i++) {
//membuat perulangan sebanyak array nilai[0] / kolom
            for (int j=0; j<nilai[0].length; j++) {
//indeks array rataratMK[i] dijumlahkan dengan indeks array nilai[i][j]
                ratarataMK[i] += nilai[i][j];
            }
//indeks array ratarataMK[i] = hasil dari pembagian ratarataMK[i] / 
//nilai[0]lengeth / panjang kolom dari array nilai
            ratarataMK[i]= ratarataMK[i] / nilai[0].length;
        }
        //Mencetak Hasil Rata-rata
System.out.println("NRP Rata-rata");
        System.out.println("-------------------------");
//membuat perulangan sebanyak panjang baris dari array nilai
        for (int i=0; i<nilai.length; i++) {
//mencetak nomor
            System.out.print(i + "\t");
//mencetak hasil rata-rata
            System.out.println(nf.format(ratarataMK[i]) + "\n");
        }
        System.out.println("--------------------------");
    }
}

Output : 

 

Latihan 2: Menampilkan deret Fibonacci
Deret fibonanci adalah deret dimana dimulai dengan dua angka, dimana bernilai 0 dan
1, kemudian deret ketiga ditentukan dari penjumlahan kedua angka tersebut, sedangkan
deret keempat ditentukan dari dua angka sebelumnya begitu seterusnya. Sehingga
didapatkan deret fibonanci sebagai berikut: 0 1 1 2 3 5 8 13 21 dan seterusnya. Buatlah
program untuk menampilkan bilangan Fibonacci yang banyaknya sesuai dengan input.
Contoh tampilan:
Masukkan jumlah deretan Fibonacci? 8
0 1 1 2 3 5 8 13
Masukkan jumlah deretan Fibonacci? 10
0 1 1 2 3 5 8 13 21 34

Berikut Penyelesaiannya :

//mengimport paket java.util.Scanner
import java.util.Scanner;
//membuat class bernama Latihan2Fibonacci
public class Latihan2Fibonacci {
//main program
    public static void main(String[] args) {
        /*Membuat Variabel dengan x berinilai 0, y bernilai 1, dan inp bernilai angka yang  kita inputkan
*/
int x=0,y=1,n=0,inp;
        //membuat object dari class scanner dengan nama input
Scanner input = new Scanner (System.in);
//Menampilkan Perintah untuk angka yang kita masukkan
        System.out.print ("Masukan Deret Fibonacci  : ");
//variabel inp bertujuan untuk membaca data yang diinputkan
        inp = input.nextInt ();
//Memulai perulangan sebanyak inp / berdasarkan inputan
        for(int i=1; i<=inp; i++){
//nilai x sama dengan y           
            x=y;
//nilai y sama dengan n
            y=n;
//cetak nilai n
            System.out.print(n+" ");
//n hasil penjumlahan dari x + y
            n=x+y;
        }
//Ganti Baris
        System.out.println();
    }
}

Output :
 


Latihan 3: Mendeteksi Bilangan Prima
Buatlah suatu program untuk mendeteksi suatu bilangan itu termasuk bilangan prima
atau bukan.
Contoh tampilan:
Masukkan bilangan? 8
8 bukan termasuk bilangan prima
Masukkan bilangan? 11
11 adalah bilangan prima

Berikut Penyelesaiannya : 

//mengimport paket java.util.Scanner
import java.util.Scanner;
//membuat class dengan nama Latihan3_bilanganPrima
public class Latihan3_BilanganPrima {
//main program
    public static void main(String[] args) {
        //membuat variabel i bernilai 0
int i=0;
//membbuat object dari class scanner dengan nama input
        Scanner input = new Scanner (System.in);
//Menampilkan perintah untuk angka yang kita masukkan
        System.out.print ("Masukan Bilangan : ");
//variabel inp bertujuan untuk membaca data yang akan diinputkan
        int inp = input.nextInt ();
//Memulai perulangan sebanyak angka yang diinputkan
        for (i=1; i < inp; i++) {
//nilai i adalah i + 1
            i=i+1;
        }
// jika nilai angka yang diinputkan (inp) di modulus / dibagi i sisa 0
        if(inp % i == 0){
//Maka Tampilkan
            System.out.println("Bilangan Prima");
//Selain Itu
        }else{
//Maka Tampilkan
            System.out.println("Bukan Bilangan Brima");
        }
    }
}

Output :

 

 


Tugas
Tugas 1: Mencari posisi suatu angka di array
Misal terdapat array dua dimensi sebagai berikut:
int[][] arrayOfInts = { { 32, 87, 3, 589 }, { 12, 1076, 2000, 8 },
{ 622, 127, 77, 955 }};
Tugas : Carilah posisi angka 12 pada array tersebut. Silakan menggunakan looping,
branching, label, break, atau continue bila diperlukan.
Contoh output program: Found 12 at 1, 0

Berikut Penjelesannya :

//mengimport paket java.util.Scanner
import java.util.Scanner;
//membuat class dengan nama Tugas1_CariIndex
public class Tugas1_CariIndex {
//main program
public static void main(String[] args) {
//membuat array multidemensi dengan nama arrayOfints
        int[][] arrayOfInts = { { 32, 87, 3, 589 },{ 12, 1076, 2000, 8 },{ 622, 127, 77, 955 }};
        //membuat variabel inp bertipe integer
int inp;
  //membuat object input dari class Scanner
        Scanner input = new Scanner (System.in);
//mencatak perintah memasukkan data
        System.out.print ("Masukan data yang dicari  : ");
// variabel inp berisi sesuai inputan dari user
        inp = input.nextInt ();
//membuat variabel cek bertipe boolean dengan set nilai awal false
        boolean cek = false;
//membuat perulangan sebanyak panjang dari arrayOfInts / baris
        for (int i = 0; i <arrayOfInts.length; i++) {
//membuat perulangan sebanyak kolom dari arrayOfInts
            for (int j = 0; j <arrayOfInts[0].length; j++) {
//membuat kondisi jika nilai inp sama dengan data yang ada di dalam 
//arrayOfInts
                if(inp == arrayOfInts[i][j]){
//maka nilai boolean cek true
                    cek = true;
//mencetak alamat Indeks dari data yang diinputkan
                    System.out.println(inp+" Masuk Pada Indeks Ke = ["+i+"] ["+j+"]");
                }
            }
        }
//membuat kondisi jika cek false
        if(cek == false){
//maka cetak Indeks tidak ditemukan
            System.out.println("Indeks tidak ditemukan");
        }
    }
}

Output :
















Tugas 2: Hitung jumlah huruf a yang terdapat pada array berikut ini !
char [ ] matKul =
{‘p’,‘e’,’m’,’r’,’o’,’g’,’r’,’a’,’m’,’a’,’n’,’b’,’e’,’r’,’b’,’a’,’s’,’i’,’s’,’o’,’b’,’y’,’e’,’k’};

Berikut penyelesaainnya :
//membuat class dengan nama Tugas3_HitungJumlahData
public class Tugas3_HitungJumlahData {
//main program
public static void main(String[] args) {
 //membuat array berisi karakter dibawah
     char[] matKul ={'p','e','m','r','o','g','r','a','m','a','n','b','e','r','b','a','s','i','s','o','b','y','e','k'};
//membuat variabel j bertipe integer bernilai 0
        int j =0;
//membuat perulangan sebanyak panjang array matKul
        for (int i = 0; i < matKul.length; i++) {
//membuat kondisi jika indeks dari array matKul[i] sama dengan karakter ‘a’
            if (matKul[i]=='a'){
//maka nilai j ditambah 1
                j+=1;
            }
        }
//menampilkan nilai j
        System.out.println(j);
    }
}

Output :




Tugas 3. Mengakses elemen array
Di bawah ini adalah contoh program yang mengakses dan menampilkan elemen array
ke layar dengan menggunakan looping for.

class ForDemo {
public static void main(String[] args){
int x [] = {1,2,3,4,5,6,7,8,9,10};
for(int i=0; i<10; i++){
System.out.println("Count is: " + x[i]);
}
}
}

Temukan dan sebutkan cara lain dengan menggunakan loop for untuk mengakses dan
menampilkan elemen array!

Berikut Penyelesaiannya : 
//membuat class dengan nama Tugas3_MengaksesElemenArray
public class Tugas3_MengaksesElemenArray {
//main program
public static void main(String[] args) {
//membuat array x dengan isi dibawah
        int x [] = {1,2,3,4,5,6,7,8,9,10};
//membuat perulangan sebanyak panjang dari array x
        for (int i = 0; i < x.length; i++) {
//Mencetak data dari array x 
            System.out.println("Count is : "+ x[i]);
        }
    }
}

Output : 

 

Yang membedakan dengan soal adalah panjang perulangan untuk menampilkan data. Pada soal tertulis 10 maka dari itu ada sedikit perubahan agar panjang data lebih dinamis maka mengikuti dari panjang arraynya yaitu x / pada java panjang array x dapat diketahui dengan x.length.