analisis program java

15
UNIVERSITAS NEGERI YOGYAKARTA ANALISIS PROGRAM JAVA NAMA: PRADANA SETIALANA FAKULTAS TEKNIK NIM: 10520244004 PROGRAM: PENDIDIKAN TEKNIK INFORMATIKA DOSEN PENGAMPU: YUNIAR INDRIHAPSARI SEMESTER: 2 TAHUN: 2011 1. Program Pengertian Data package projectlatih100java; // kontainer untuk mengelompokan kelas-kelas /** * * @author Pradana */ class kendaraan { // kelas kendaraan String tahunpro; // data tahunpro bertipe String double harga; // data harga bertipe double static String bahanbkr="Bensin"; // data bahanbkr berisi Bensin bertipe String kendaraan() // default konstruktor { } kendaraan(String thnpro, double hrg) { /* mendefinisikan konstruktor untuk kelas kendaraan dengan parameter */ this.tahunpro = thnpro; // menunjuk ke data tahunpro yg terdapat dalam kelas kendaraan this.harga = hrg; // menunjuk ke data harga yg terdapat dalam kelas kendaraan } }

Upload: pradana-setialana

Post on 26-Nov-2015

51 views

Category:

Documents


0 download

DESCRIPTION

dfdfdfdfdsfdsfd

TRANSCRIPT

Page 1: Analisis Program Java

1. Program Pengertian Data

package projectlatih100java; // kontainer untuk mengelompokan kelas-kelas

/**

*

* @author Pradana

*/

class kendaraan { // kelas kendaraan

String tahunpro; // data tahunpro bertipe String

double harga; // data harga bertipe double

static String bahanbkr="Bensin"; // data bahanbkr berisi Bensin bertipe String

kendaraan() // default konstruktor

{

}

kendaraan(String thnpro, double hrg) { /* mendefinisikan konstruktor untuk kelas kendaraan dengan parameter */

this.tahunpro = thnpro; // menunjuk ke data tahunpro yg terdapat dalam kelas kendaraan

this.harga = hrg; // menunjuk ke data harga yg terdapat dalam kelas kendaraan

}

}

public class Main { // kelas Main

public static void main(String[] args) { // method main

kendaraan sedan = new kendaraan("1990",150000000.00D); /* membuat objek kendaraan dengan nama sedan atau instans dari kelas kendaraan*/

kendaraan angkot = new kendaraan("2004",100000000.00D); /* membuat objek kendaraan dengan nama angkot atau instans dari kelas kendaraan*/

System.out.println("Tahun Produksi = "+sedan.tahunpro); /* menampilkan data tahunpro pada objek kendaraan dengan nama sedan*/

UNIVERSITAS NEGERI YOGYAKARTAANALISIS PROGRAM JAVA

NAMA: PRADANA SETIALANA

FAKULTAS TEKNIK NIM: 10520244004

PROGRAM: PENDIDIKAN TEKNIK INFORMATIKA

DOSEN PENGAMPU:YUNIAR INDRIHAPSARI

SEMESTER: 2TAHUN: 2011

Page 2: Analisis Program Java

System.out.println("Harga awal = "+sedan.harga); /* menampilkan data harga pada objek kendaraan dengan nama sedan*/

System.out.println("Bahan Bakar = "+kendaraan.bahanbkr); /* menampilkan data bahan bakar pada objek kendaraan */

System.out.println("\n");

System.out.println("Tahun Produksi = "+angkot.tahunpro); /* menampilkan data tahun pada objek kendaraan dengan nama angkot */

System.out.println("Harga awal = "+angkot.harga); /*menampilkan data harga pada objek kendaraan bernama angkot */

System.out.println("Bahan Bakar = "+kendaraan.bahanbkr); /* menampilkan data bahanbkr pada objek kendaraan */

}

}

/* Analisis:

* Data adalah suatu variabel yang terdapat pada objek disebut juga instans variabel

* seperti diatas, tahunpro, harga dan bahanbkr merupakan variabel yang dimiliki kendaraan

* isi Data diinputkan pada waktu membuat instans dari kelas kendaraan dengan menggunakan konstruktor

*/

2. Program Memanggil Method Kelas Super

package demosuperjava; // kontainer untuk mengelompokan kelas-kelas

/**

*

* @author Pradana

*/

public class Main { // kelas Main

/*Main Method*/

public static void main(String[] args) {

System.out.println("\nDemo 'super' PADA INHERITANCE");

Page 3: Analisis Program Java

System.out.println("—————————– \n");

// Membuat instans dari kelas anak dan memanggil

// method yang dimilikinya.

KelasAnak kA = new KelasAnak(); // membuat instanisiasi terhadap kelas KelasAnak

kA.methodAnak(); // memanggil method methodAnak pada kelas KelasAnak

}

}

/**Kelas Anak*/

class KelasAnak extends KelasInduk { /* membuat kelas turunan (subclass) KelasAnak dari kelas KelasInduk */

// Konstruktor kelas Anak memanggil konstruktor kelas Induk

public KelasAnak(){

super(); // memanggil konstruktor kelas Induk

}

// Method yang memanggil methodInduk dari kelas induknya

// dengan menggunakan keyword super.

public void methodAnak(){

super.methodInduk(); // memanggil methodInduk dari kelas Induknya

}

}

/**Kelas Induk*/

class KelasInduk {

// Konstruktor kelas Induk

public KelasInduk(){

System.out.println("Ini adalah konstruktor kelas Induk\n");

}

// Method kelas Induk

public void methodInduk(){

Page 4: Analisis Program Java

System.out.println("Method ini dimiliki oleh kelas Induk\n");

}

}

/* Analisis:

* super() atau super(parameter) digunakan untuk memanggil method kelas induk

* seperti pada KelasAnak() untuk dapat memanggil konstrutor KelasInduk dengan menggunakan super()

* sedangkan untuk memanggil method pada KelasInduk dengan menggunakan super.methodInduk

* jadi untuk memanggil konstrukor dan method pada KelasInduk pada KelasAnak dengan menggunakan super

*/

3. Program dengan Enkapsulasi

package demoenkapsulation; // kontainer untuk mengelompokan kelas-kelas

/**

*

* @author Pradana

*/

import java.text.DecimalFormat; /* mengimpor kelas DecimalFormat pada direktori java subdirektori text*/

public class Main {

/** Main Method */

public static void main(String[] args) {

// mengeset tampilan hasil menjadi dua digit desimal

DecimalFormat digitPresisi = new DecimalFormat("0.00"); /* membuat instans pada kelas DecimalFormat */

System.out.println("\nDEMO ENKAPSULASI");

System.out.println("--------------\n");

// membuat instans dari kelas hitungGaji untuk suatu

Page 5: Analisis Program Java

// pegawai dan memanggil method-methodnya

HitungGaji tony = new HitungGaji(); // membuat instans dari kelas HitungGaji dengan nama tony

tony.setGaji(2500000); // mengisikan nilai ke method setGaji yang dimiliki objek tony

tony.hitungGaji(); // memanggil method hitungGaji pada objek tony

System.out.println("Information Gaji Pegawai");

System.out.println("Besar Gaji Kotor :"+digitPresisi.format(tony.getGajiKotor()));

System.out.println("Besar Gaji yang dibawa pulang :"+digitPresisi.format(tony.getGajiBersih()));

// untuk dapat mengakses GajiKotor maka menggunakan method getGajiKotor

// karena GajiKotor dengan tingkat akses private

// begitu juga untuk GajiBersih

}

}

class HitungGaji { // kelas HitungGaji

private double gajisetelahPajak;

//Mendeklarasikan variabel-variabel internal kelas HitungGaji.

//Variabel potongan menyatakan dana untuk asuransi Kesehatan

//(Askes), iuran koperasi, cicilan kendaraan dan sebagainya.

//hanya variabel gajiKotor dan gajiBersih yang dapat diakses

//oleh "lingkungan luar"

private double gajiKotor, gajiSetelahPajak;

private double gajiBersih;

private double potongan = 75000.00;

//Method untuk mengeset variabel internal gajiKotor

public void setGaji(double gaji){

gajiKotor = gaji;

}

//Method untuk menghitung gaji bersih

Page 6: Analisis Program Java

public void hitungGaji(){

gajiSetelahPajak = gajiKotor-(0.2*gajiKotor);

gajiBersih = gajiSetelahPajak-potongan;

}

//Method yang mengembalikan gaji kotor

//untuk dapat mengakses GajiKotor maka menggunakan get

public double getGajiKotor(){

return gajiKotor;

}

//Method yang mengembalikan besar gaji bersih

//untuk dapat mengakses Gajibersih maka menggunakan get

public double getGajiBersih(){

return gajiBersih;

}

}

/* analisis:

* enkapsulasi(pembungkusan) merupakan cara penyembunyian informasi.

* Pada program diatas, akses private hanya dapat diakses oleh oleh kelas yang bersangkutan

* untuk dapat mengakses data dengan tingkat akses private dengan menggunakan method get

* method get digunakan untuk mendapatkan nilai dari data tersebut

*/

4. Program Membuat Kelas

package programlatihan127java; // kontainer untuk mengelompokan kelas-kelas

/**

*

* @author Pradana

Page 7: Analisis Program Java

*/

// superclass atau kelas induk

class orang { // kelas orang

public String nama; // data nama bertipe String dengan akses public

public String alt; // data alt bertipe String dengan akses public

public String kodeprof; // data kodeprof bertipe String dengan akses public

private String ket="termasuk makhluk hidup"; /* data ket yang sudah di inputkan bertipe String dengan akses private */

orang(){ // konstruktor orang

System.out.println("Konstruktor orang");

}

orang (String nm, String al, String kp) // konstruktor orang dengan parameter

{

this.nama=nm; // menunjuk ke data nama yg terdapat dalam kelas orang

this.alt=al; // menunjuk ke data alt yg terdapat dalam kelas orang

this.kodeprof=kp; // menunjuk ke data kodeprof yg terdapat dalam kelas orang

}

}

// menggunakan keyword extends untuk membuat subclass

class dosen extends orang{ // membuat kelas turunan (subclass) dosen dari kelas orang

public String nid; // data nid bertipe String, akses public

public String spesialis; // data spesialis bertipe String, akses public

public String kodeprof; // data kodeprof bertipe String, akses public

dosen() // konstruktor dosen

{

System.out.println("Konstruktor Dosen");

}

dosen(String nd, String s1, String kp){ // konstruktor dosen dengan prameter

Page 8: Analisis Program Java

this.nid=nd; // menunjuk ke data nid yg terdapat dalam kelas dosen

this.spesialis=s1; // menunjuk ke data spesialis yg terdapat dalam kelas dosen

this.kodeprof=kp; // menunjuk ke data kodeprof yg terdapat dalam kelas dosen

}

}

public class Main{ // kelas Main

public static void main(String [] args){ // method main

dosen orang1=new dosen("119","katarak","02"); /* membuat instans dari kelas dosen dan mengeset ke dalam methodnya */

orang1.nama="Heri"; // mengisikan nama ke dalam kelas dosen

System.out.println("NID Dosen="+orang1.nid); // menampilkan data nid pada objek orang1

System.out.println("Nama Dosen="+orang1.nama); /*menampilkan data nama pada objek orang1*/

System.out.println("keahlian Dosen="+orang1.spesialis); /* menampilkan data spesialis pada objek orang1*/

System.out.println("Kode Prosesi="+orang1.kodeprof); /* menampilkan data kodeprof pada objek orang1*/

}

}

/* Analisis:

* dengan menggunakan keyword extends maka dapat dibuat kelas turunan (subclass)

* kelas turunan akan mewarisi sifat-sifat dari kelas induk

*/

5. Program dengan Polymorphise

package programlatih128java; // kontainer untuk mengelompokan kelas-kelas

/**

*

Page 9: Analisis Program Java

* @author Pradana

*/

import java.util.Random; // mengimport kelas Random pada direktori java subdirektori util

class makhluk { // kelas makhluk

private String jenis; // variabel jenis bertipe String dengan akses private

public makhluk(String jenis) { // konstruktor dengan parameter

this.jenis=jenis; // menunjuk ke jenis pada yang terdapat pada kelas makhluk

}

// melakukan override pada method toString

// override adalah method dengan nama dan parameter yang ada pada setiap kelas

public String toString() { // method toString untuk menyambung string dengan suatu objek

return "ini adalah "+jenis;

}

// melakukan override pada method bernapas

public void bernapas() // method bernapas tidak mengembalikan nilai

{

}

}

class manusia extends makhluk { // membuat kelas turunan manusia dari kelas makhluk

public String jenis; // variabel jenis bertipe String dengan akses public

public manusia(String jenis) { // konstrutor dengan parameter

super("Manusia"); // memanggil konstrutor induk

this.jenis = jenis;

}

// melakukan override pada method bernapas

public void bernapas() { // method bernapas

System.out.println("Bernapas dengan paru-paru");

Page 10: Analisis Program Java

}

// melakukan override pada method toString

public String toString() { // untuk menyambungkan string dengan objek

return super.toString()+"\nDari jenis "+jenis; // memanggil method pada kelas induk

}

}

class cacing extends makhluk { // kelas turunan cacing dari kelas makhluk

public String jenis; // variabel jenis bertipe String dengan akses public

public cacing (String jenis) { // konstruktor dengan parameter

super("cacing"); // memanggil konstruktor induk

this.jenis=jenis;

}

// melakukan override pada method bernapas

public void bernapas() { // method bernapas

System.out.println("Bernapas dengan kulit");

}

// melakukan override pada method toString

public String toString() // untuk menyambung string dengan objek

{

return super.toString()+"\nDari jenis "+jenis; // memanggil method pada kelas induk

}

}

class ikan extends makhluk { // kelas turunan ikan dari kelas makhluk

public String jenis; // data jenis bertipe String dengan akses public

public ikan(String jenis) { // konstruktor dengan parameter

super("ikan"); // memanggil konstruktor induk

Page 11: Analisis Program Java

this.jenis=jenis;

}

// melakukan override pada method bernapas

public void bernapas() // method bernapas

{

System.out.println("Bernapas dengan ingsang");

}

// melakukan override pada method toString

public String toString() { // untuk menyamung string dengan objek

return super.toString()+"\nDari jenis "+jenis;

}

}

public class Main { // kelas main

public static void main(String[] args) { // method main

makhluk[] makhluknya={

new cacing("Tanah"),

new ikan("haruan"),

new manusia("Asia") }; // mengisikan data pada array makhluknya

makhluk pilihan;

Random pilih=new Random(); // membuat instans pada kelas random yang telah di import

for(int i=0;i<2;i++) { // melakukan pengulangan sebanyak 2x

pilihan=makhluknya[pilih.nextInt(makhluknya.length)];

/* memasukan data pada pilihan

* berdasarkan posisi array makhluknya

* posisi array makhluknya di Random dengan objek posisi

* output dari pilihan akan tergantung pada objek yg diacu

*/

Page 12: Analisis Program Java

System.out.println("\nPilihan Anda:\n"+pilihan);

// method yang dipanggil sama

// tetapi hasilnya berbeda-beda sesuai dengan tipe objek yang diacu

pilihan.bernapas(); // memanggil method bernapas pada objek pilihan

}

}

}

/* analisis:

*

* method dengan nama dan parameter yabg sama dalam setiap kelas disebut override

* override digunakan untuk mendukung polmorfise

* Pada main method terdapat pemanggilan method bernapas

* tetapi yang dihasilkan berbeda-beda sesuai dengan objek yang diacu

* ketika objek yang diacu adalah Tanah

* maka outputnya akan menghasilkan "Ini adalah cacing, dari jenis tanah, bernapas dengan kulit"

* begitu juga jika objek yang diacu ikan

* maka outputnya: "ini adalah ikan, dari jenis haruan, bernapas dengan ingsang

* Jadi Polimorfisme adalah kemampuan objek untuk mengungkapkan banyak hal melalui satu cara yang sama

*/