program 6-13 class contohbiner { public static void …"bentuk heksadesimal dari 1000 : "...

22
//PROGRAM 6-13 class contohBiner { public static void main(String[] args) { System.out.println("Bentuk biner dari 1 : " + Integer.toBinaryString(1)); System.out.println("Bentuk biner dari 2 : " + Integer.toBinaryString(2)); System.out.println("Bentuk biner dari 4 : " + Integer.toBinaryString(4)); System.out.println("Bentuk biner dari 6 : " + Integer.toBinaryString(6)); System.out.println("Bentuk biner dari 8 : " + Integer.toBinaryString(8)); System.out.println("Bentuk biner dari 10 : " + Integer.toBinaryString(10)); } } //PROGRAM 6-15 class contohHeksa { public static void main(String[] args) { System.out.println("Bentuk heksadesimal dari 1 : " + Integer.toHexString(1)); System.out.println("Bentuk heksadesimal dari 16 : " + Integer.toHexString(16)); System.out.println("Bentuk heksadesimal dari 100 : " + Integer.toHexString(100));

Upload: hadan

Post on 14-Apr-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

//PROGRAM 6-13

class contohBiner {

public static void main(String[] args) {

System.out.println("Bentuk biner dari 1 : " +

Integer.toBinaryString(1));

System.out.println("Bentuk biner dari 2 : " +

Integer.toBinaryString(2));

System.out.println("Bentuk biner dari 4 : " +

Integer.toBinaryString(4));

System.out.println("Bentuk biner dari 6 : " +

Integer.toBinaryString(6));

System.out.println("Bentuk biner dari 8 : " +

Integer.toBinaryString(8));

System.out.println("Bentuk biner dari 10 : " +

Integer.toBinaryString(10));

}

}

//PROGRAM 6-15

class contohHeksa {

public static void main(String[] args) {

System.out.println("Bentuk heksadesimal dari 1 : " +

Integer.toHexString(1));

System.out.println("Bentuk heksadesimal dari 16 : " +

Integer.toHexString(16));

System.out.println("Bentuk heksadesimal dari 100 : " +

Integer.toHexString(100));

System.out.println("Bentuk heksadesimal dari 1000 : " +

Integer.toHexString(1000));

}

}

//PROGRAM 6-19

class DeklarasiStatik {

static int a;

static int b;

static void test() {

int c = a + b;

System.out.println("a + b = " + c);

}

}

class DemoStatik3 {

public static void main(String[] args) {

DeklarasiStatik.a = 10;

DeklarasiStatik.b = 20;

DeklarasiStatik.test();

}

}

//PROGRAM 6-20

class Stack {

private final int MAX = 10; // Mendeklarasikan konstanta MAX

private int[] stack = new int[MAX];

private int atas;

// Constructor

Stack() {

atas = -1;

}

// Menyimpan nilai ke dalam stack

void push(int nilai) {

if (atas != 9) {

stack[++atas] = nilai;

} else {

System.out.println("Stack penuh...");

}

}

// Mengambil nilai dari dalam stack

int pop() {

if (atas >= 0) {

return stack[atas--];

} else {

System.out.println("Stack masih kosong...");

return 0;

}

}

}

class DemoFinal {

public static void main(String[] args) {

Stack s = new Stack();

// Memasukkan nilai-nilai ke dalam stack

for (int i=1; i<=10; i++) {

s.push(i * 10);

}

// Mengambil nilai-nilai yang terdapat di dalam stack

for (int i=1; i<=10; i++) {

System.out.println(s.pop());

}

}

}

//PROGRAM 6-21

class Luar {

private int a;

public void setA(int nilai) {

a = nilai;

}

public int getA() {

return a;

}

// Mendefinisikan inner class

class Dalam {

private int x = 10; // hanya dikenali oleh kelas Dalam

public void showData() {

System.out.println("Nilai a dari kelas Luar : " + a);

System.out.println("Nilai x dari kelas Dalam : " + x);

}

}

public void showData() {

// Baris di bawah ini SALAH, karena x tidak dikenal di sini

//System.out.println("Nilai x dari kelas Dalam : " + x);

Dalam obj = new Dalam();

obj.showData();

}

}

class DemoInnerClass {

public static void main(String[] args) {

Luar obj1 = new Luar();

//Dalam obj2 = new Dalam(); // SALAH

obj1.setA(5);

obj1.showData();

}

}

//PROGRAM 6-9

class Kotak {

double panjang;

double lebar;

double tinggi;

Kotak(double p, double l, double t) {

panjang = p;

lebar = l;

tinggi = t;

}

double hitungVolume() {

return (panjang * lebar * tinggi);

}

// Method yang mengembalikan objek Kotak

Kotak perbesar(int M) {

Kotak temp = new Kotak(panjang*M, lebar*M, tinggi*M);

return temp;

}

}

class DemoKembalianObjek {

public static void main(String[] args) {

Kotak kOriginal, kBaru;

kOriginal = new Kotak(4, 3, 2);

kBaru = kOriginal.perbesar(2);

System.out.println("Nilai pada objek kOriginal");

System.out.println("panjang\t: " + kOriginal.panjang);

System.out.println("lebar\t: " + kOriginal.lebar);

System.out.println("tinggi\t: " + kOriginal.tinggi);

System.out.println("Volume\t: " + kOriginal.hitungVolume());

System.out.println();

System.out.println("Nilai pada objek kBaru");

System.out.println("panjang\t: " + kBaru.panjang);

System.out.println("lebar\t: " + kBaru.lebar);

System.out.println("tinggi\t: " + kBaru.tinggi);

System.out.println("Volume\t: " + kBaru.hitungVolume());

}

}

//PROGRAM 6-1

class Pembagian {

// Mendefinisikan method dengan dua parameter bertipe int

int bagi(int a, int b) {

return a/b;

}

// Mendefinisikan method dengan dua parameter

// bertipe double

double bagi(double a, double b) {

return a/b;

}

}

class DemoOverload1 {

public static void main(String[] args) {

Pembagian b = new Pembagian();

int x = b.bagi(10, 4);

double y = b.bagi(10.0, 4.0);

System.out.println("Hasil bagi tipe int = " + x);

System.out.println("Hasil bagi tipe double = " + y);

}

}

//PROGRAM 6-2

class myclass {

// Mendefinisikan method tanpa parameter

void tulis() {

System.out.println("Tanpa parameter");

}

// Mendefinisikan method dengan satu parameter bertipe double

void tulis(double d) {

System.out.println("Satu parameter, " +

"dengan nilai argumen: " + d);

}

}

class DemoOverload2 {

public static void main(String[] args) {

myclass c = new myclass();

c.tulis();

c.tulis(4); // tidak mengakibatkan kesalahan (error)

}

}

//PROGRAM 6-3

class myclass {

// Mendefinisikan method dengan parameter int dan String

void tulis(int a, String s) {

System.out.println("int: " + a + ", String: \"" + s + "\"");

}

// Mendefinisikan method dengan parameter String dan int

void tulis(String s, int a) {

System.out.println("String: \"" + s + "\", int: " + a);

}

}

class DemoOverload3 {

public static void main(String[] args) {

myclass c = new myclass();

c.tulis(4, "Contoh method pertama");

c.tulis("Contoh method kedua", 8);

}

}

//PROGRAM 6-4

class Kotak {

double panjang;

double lebar;

double tinggi;

// Mendefinisikan constructor tanpa parameter

Kotak() {

panjang = 0;

lebar = 0;

tinggi = 0;

}

// Mendefinisikan constructor dengan satu parameter

Kotak(double sisi) {

panjang = lebar = tinggi = sisi;

}

// Mendefinisikan constructor dengan tiga parameter

Kotak(double p, double l, double t) {

panjang = p;

lebar = l;

tinggi = t;

}

double hitungVolume() {

return (panjang * lebar * tinggi);

}

}

class DemoOverloadConstructor {

public static void main(String[] args) {

Kotak k1, k2, k3;

k1 = new Kotak();

k2 = new Kotak(10);

k3 = new Kotak(4, 3, 2);

//Menampilkan volume dari masing-masing objek Kotak

System.out.println("Volume k1 = " + k1.hitungVolume());

System.out.println("Volume k2 = " + k2.hitungVolume());

System.out.println("Volume k3 = " + k3.hitungVolume());

}

}

//PROGRAM 6-5

class Kotak {

double panjang;

double lebar;

double tinggi;

Kotak(double p, double l, double t) {

panjang = p;

lebar = l;

tinggi = t;

}

double hitungVolume() {

return (panjang * lebar * tinggi);

}

// Mendefinisikan method dengan parameter objek Kotak

boolean sama(Kotak k) {

if ((k.panjang == this.panjang) &&

(k.lebar == this.lebar) &&

(k.tinggi == this.tinggi)) {

return true;

} else {

return false;

}

}

}

class DemoParamObjek1 {

public static void main(String[] args) {

Kotak k1, k2, k3, k4;

k1 = new Kotak(4, 3, 2);

k2 = new Kotak(6, 5, 4);

k3 = new Kotak(4, 3, 2);

k4 = new Kotak(6, 5, 4);

System.out.println("k1 == k2 : " + k1.sama(k2));

System.out.println("k1 == k3 : " + k1.sama(k3));

System.out.println("k2 == k4 : " + k2.sama(k4));

}

}

//PROGRAM 6-6

class Kotak {

double panjang;

double lebar;

double tinggi;

// Constructor dengan parameter bertipe double

Kotak(double p, double l, double t) {

panjang = p;

lebar = l;

tinggi = t;

}

// Constructor dengan parameter bertipe objek Kotak

Kotak(Kotak k) {

this.panjang = k.panjang;

this.lebar = k.lebar;

this.tinggi = k.tinggi;

}

double hitungVolume() {

return (panjang * lebar * tinggi);

}

// Mendefinisikan method dengan parameter objek Kotak

boolean sama(Kotak k) {

if ((k.panjang == this.panjang) &&

(k.lebar == this.lebar) &&

(k.tinggi == this.tinggi)) {

return true;

} else {

return false;

}

}

}

class DemoParamObjek2 {

public static void main(String[] args) {

Kotak k1, k2;

k1 = new Kotak(4, 3, 2);

// Membentuk objek k2 dengan nilai yang terdapat pada k1

k2 = new Kotak(k1);

System.out.println("k1 == k2 : " + k1.sama(k2));

System.out.println("Volume k1 = " + k1.hitungVolume());

System.out.println("Volume k2 = " + k2.hitungVolume());

}

}

//PROGRAM 6-8

class Contoh {

int b;

Contoh(int b) {

this.b = b;

}

// melewatkan parameter berdasarkan referensi

void tambahSatu(Contoh o) {

o.b += 1;

System.out.println("Nilai o.b di dalam method : " + o.b);

}

}

class DemoPassByReference {

public static void main(String[] args) {

Contoh obj;

obj = new Contoh(5);

System.out.println(

"Nilai obj.b sebelum pemanggilan method : " + obj.b);

obj.tambahSatu(obj);

System.out.println(

"Nilai obj.b setelah pemanggilan method : " + obj.b);

}

}

//PROGRAM 6-7

class Contoh {

// melewatkan parameter berdasarkan nilai

void tambahSatu(int x) {

x += 1;

System.out.println("Nilai x di dalam method : " + x);

}

}

class DemoPassByValue {

public static void main(String[] args) {

Contoh obj;

obj = new Contoh();

int a = 5;

System.out.println("Nilai a sebelum pemanggilan method : " +

a);

// memanggil method tambahSatu()

obj.tambahSatu(a);

System.out.println("Nilai a setelah pemanggilan method : " +

a);

}

}

//PROGRAM 6-16

class TingkatAkses {

int a;

public int b;

private int c;

public void setC(int nilai) {

c = nilai;

}

public int getC() {

return c;

}

}

class DemoPublicDanPrivate {

public static void main(String[] args) {

TingkatAkses obj = new TingkatAkses();

obj.a = 10; // BENAR, karena a secara default bersifat public

obj.b = 20; // BENAR, karena b bersifat public

//obj.c = 30; // SALAH, karena c bersifat private

obj.setC(30); // BENAR, karena method setC() bersifat public

System.out.println("Nilai obj.a : " + obj.a);

System.out.println("Nilai obj.b : " + obj.b);

System.out.println("Nilai obj.c : " + obj.getC());

}

}

//PROGRAM 6-10

class Rekursi {

int faktorial(int n) {

if (n == 0) {

return 1;

} else {

return (n * faktorial(n-1));

}

}

void cetakFaktorial(int n) {

System.out.print(n + "! = ");

for (int i=n; i>=1; i--) {

if (i != 1) {

System.out.print(i + " x ");

} else {

System.out.print(i + " = ");

}

}

System.out.println(faktorial(n));

}

}

class DemoRekursi1 {

public static void main(String[] args) {

Rekursi obj = new Rekursi();

obj.cetakFaktorial(5);

obj.cetakFaktorial(4);

obj.cetakFaktorial(3);

}

}

//PROGRAM 6-11

class Rekursi {

int pangkat(int b, int e) {

if (e == 0) {

return 1;

} else {

return (b * pangkat(b, e-1));

}

}

void cetakPangkat(int b, int e) {

System.out.print(b + "^" + e + " = ");

for (int i=1; i<=e; i++) {

if (i != e) {

System.out.print(b + " x ");

} else {

System.out.print(b + " = ");

}

}

System.out.println(pangkat(b, e));

}

}

class DemoRekursi2 {

public static void main(String[] args) {

Rekursi obj = new Rekursi();

obj.cetakPangkat(2, 5);

obj.cetakPangkat(3, 4);

obj.cetakPangkat(10, 2);

}

}

//PROGRAM 6-12

class Rekursi {

void DesimalKeBiner(int n) {

if (n > 1) {

DesimalKeBiner(n / 2);

}

System.out.print(n % 2);

}

}

class DemoRekursi3 {

public static void main(String[] args) {

Rekursi obj = new Rekursi();

System.out.print("Bentuk biner dari 1 : ");

obj.DesimalKeBiner(1);

System.out.println();

System.out.print("Bentuk biner dari 2 : ");

obj.DesimalKeBiner(2);

System.out.println();

System.out.print("Bentuk biner dari 4 : ");

obj.DesimalKeBiner(4);

System.out.println();

System.out.print("Bentuk biner dari 6 : ");

obj.DesimalKeBiner(6);

System.out.println();

System.out.print("Bentuk biner dari 8 : ");

obj.DesimalKeBiner(8);

System.out.println();

System.out.print("Bentuk biner dari 10 : ");

obj.DesimalKeBiner(10);

System.out.println();

}

}

//PROGRAM 6-14

class Rekursi {

char[] daftarHeksa =

{'0','1','2','3','4','5','6','7','8','9',

'a','b','c','d','e','f'};

void desimalKeHeksa(int n) {

if (n > 1) {

desimalKeHeksa(n / 16);

}

System.out.print(daftarHeksa[n % 16]);

}

}

class DemoRekursi4 {

public static void main(String[] args) {

Rekursi obj = new Rekursi();

System.out.print("Bentuk heksadesimal dari 1 : ");

obj.desimalKeHeksa(1);

System.out.println();

System.out.print("Bentuk heksadesimal dari 16 : ");

obj.desimalKeHeksa(16);

System.out.println();

System.out.print("Bentuk heksadesimal dari 100 : ");

obj.desimalKeHeksa(100);

System.out.println();

System.out.print("Bentuk heksadesimal dari 1000 : ");

obj.desimalKeHeksa(1000);

System.out.println();

}

}

//PROGRAM 6-17

class DemoStatik1 {

static int a=5;

static int b=6;

int x=4; // data non-statik

static void test() {

int c = a + b;

System.out.println("a + b = " + c)

//System.out.println("x = " + x); // SALAH,

// karena x non-statik

}

public static void main(String[] args) {

test();

}

}

//PROGRAM 6-18

class DemoStatik2 {

static int a;

static int b;

// Mendefinisikan blok statik untuk inisialisai nilai

static {

System.out.println("Blok statik dipanggil...");

a = 5;

b = 6;

}

static void test() {

int c = a + b;

System.out.println("a + b = " + c);

}

public static void main(String[] args) {

test();

}

}