Sabtu, 02 Juni 2012

TUGAS


TUGAS 1 : Class, Method dan Modifier
TUGAS 2 : Information Hiding dan Encapsulation
TUGAS 3 : Polimorphisme, Overload dan Overriding
TUGAS 4 : Inheritanse
TUGAS 5 : Inner Class, Interface, Abstract Class
TUGAS 6 : Class Dasar & Exception Handling
TUGAS 7 : Multithread
TUGAS 8 : Form dan Event Handler
(Sumber http://blogkomputer.com “Secangkir Kopi Java”)

Class, Method dan Modifier


TUGAS 1
Class, Method dan Modifier


1.        Class
Class digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek. Class merupakan sarana pengkapsulan kumpulan data dan kumpulan method yang mengoperasikan kumpulan data tersebut.
Anatomi Class
Bentuk umum struktur anatomi class sebagai berikut :
(modifier1) class NamaClass (modifier2) {
     classbody
}
Classbody terdiri dari attribute, constructor, dan method.
Modifier pada anatomi class, sifatnya optional, digunakan berdasarkan kebutuhan. Modifier menunjukkan sifat-sifat tertentu dari : Classnya, methodnya, atau attributenya.
Ada 10 keyword yang digunakan sebagai modifier1 dan dikelompokkan menjadi :
1.        Modifier akses (public, protected, default, private)
2.        Modifier final
3.        Modifier static
4.        Modifier abstract
5.        Modifier synchronized
6.        Modifier native
7.        Modifier storage (transient, volatile)
8.        Modifier yang memiliki sifat saling kontradiktif yaitu static dan abstract.
Sementara static tidak boleh memberi sifat pada interface, dan keyword super tidak boleh digunakan pada method static.
Ada 2 keyword yang sering digunakan sebagai modifier2, yaitu :
9.        Extends, dan
10.    implements.
2.        Method
Method merupakan tingkah laku dari suatu objek atau class, jika bersifat static berarti tingkah laku semua objek dalam class tersebut.
Method diletakkan di dalam classbody (sebaiknya tidak diletakkan dalam method lain).
Bentuk umum method :
[modifier] tipe_return_value namaMethod(tipe parameter) {
    methodbody;
}
Modifier boleh lebih dari satu (dipisah oleh spasi).
Pasangan tipe dan parameter dapat lebih dari satu (dipisah oleh koma).
Bentuk umum method main() sebagai berikut :
[modifier] tipe_return_value main(String args[]) {
    methodbody
}
Ada tiga sintaks pemanggilan suatu method :
1.        namaMethod([nilaiParamater]);
2.        namaObjek.namaMethod([nilaiParamater]);
3.        namaClass.namaMethod([nilaiParamater]);
Tidak semua member (class, attribute, dan method) dapat diakses method, berikut tabel aksesnya :
Method
member (class, attribute, method)
Static
Static
boleh lewat objek ataupun class,
boleh langsung kalau dalam class sendiri
Static
non static
hanya boleh lewat objek,
langsung tidak boleh,
lewat class tidak boleh
Non static
static
boleh lewat objek ataupun class,
boleh langsung kalau dalam class sendiri
Non static
non static
hanya boleh lewat objek,
langsung tidak boleh,
lewat class tidak boleh
Method dasar ada dua jenis yaitu getter() dan setter().
Contoh :
public class Dog {
    private int weight;  //information hiding
    public int getWeight() {  //getter
        return weight; 
    }
    public void setWeight(int newWeight) {  //setter
        weight = newWeight;
    }
}
public class TesDog {
    public static void main(String[] args) {
        Dog d = new Dog();  //membuat objek d
        d.setWeight(42);  //input
        System.out.println(”Dog d’s weight is ”+d.getWeight())
}

3.        Modifier
Modifier1 untuk menentukan sifat dari suatu class dan menentukan preveledge (hak akses) dari class lain. Modifier2 untuk menentukan relasi (extend atau implements) dengan class lainnxa.
Wilayah modifier akses, dalam bentuk tabel :
Wilayah Akses
Public
protected
default
private
Di class yang sama
Beda class,
di package yang sama
x
Beda class,
beda package,
di class turunan
x
x
Beda class,
beda package,
tidak di class turunan
X
x
x

Wilayah modifier akses tersebut dapat diilustrasikan :






















PEMBAHASAN


4.1.  Contoh Pemrograman Java
//Class Berhitung.java
import java.util.*;

public class Berhitung {
public static Scanner input = new Scanner(System.in);
    public byte tambah(byte a, byte b) {
        byte c = (byte)(a + b);
        return c;
    }
    public void Hasil(String comment, byte e) {
        System.out.println();
        System.out.printf(comment);
        System.out.print(e);
    }
}

//Class MethodModifier.java
import java.util.*;

public class MethodModifier {
    public static Scanner input = new Scanner(System.in);
    public static byte Nilai(String oke) {
byte i = 0;
System.out.print(oke);
i = input.nextByte();
return i;
    }
    public static void main(String[] args) {
Berhitung abc = new Berhitung();
byte a, b, c;
a = Nilai("Inputkan Angka Pertama : ");
b = Nilai("Inputkan Angka Kedua   : ");
c = abc.tambah(a, b);
abc.Hasil("Hasil Penambahan Angka = ", c);
    }
}

4.2.  Contoh Pemrograman C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CMM
{
public class Berhitung {
public byte Hitung(byte a, byte b) {
byte c = (byte)(a + b);
return c;
}
public void Hasil(string comment, byte e) {
Console.WriteLine();
Console.WriteLine("{0} {1}", comment, e);
}
}
public class Program {
public static byte Nilai(string yes) {
byte i = 0;
Console.Write(yes);
i = Convert.ToByte(Console.ReadLine());
return i;
}

public static void Main(string[] args) {
Berhitung proses = new Berhitung();
byte a, b, c;
a = Nilai("Input Angka Pertama : ");
b = Nilai("Input Angka Kedua   : ");
c = proses.Hitung(a, b);
proses.Hasil("Hasil Penambahan Angka = ", c);
Console.ReadKey(true);
}
}
}

4.3.  Contoh Pemrograman C++
#include <iostream>
#include <conio.h>

using namespace std;
class Berhitung {
public:
int tambah(int a, int b) {
int c = a + b;
return c;
}
void Hasil(int e) {
cout << endl;
cout << "Hasil Penambahan Angka = " << e << endl;
}
};
int Nilai() {
int i = 0;
cout << "Input Angka : ";
cin >> i;
return i;
}
int main(void) {
Berhitung proses;
int a, b, c;
a = Nilai();
b = Nilai();
c = proses.tambah(a, b);
proses.Hasil(c);
system("PAUSE");
return 0;
}