jobsheet 4

14
Pr. Pemrograman Komputer II JOBSHEET 4 4.1 Tujuan Instruksional Khusus Pada akhir kegiatan belajar, mahasiswa dapat : 1. menjelaskan OOP dan beberapa konsepnya 2. perbedaan antara class dan object 3. pebedaan antara instance variables/method dan class (static) variable/method 4. menjelaskan method apa dan bagaimana memanggil method parameter 5. mengidentifikasi beberapa jangkauan dari sebuah variable 6. memilih tipe data primitive dan object 7. membandingkan objects dan menjabarkan class dari objects. 4.2 Teori Pendahuluan OOP berputar pada konsep dari object sebagai dasar element dari program anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan beberapa objek disekitar kita, seperti mobil, singa, manusia dan seterusnya. Object ini dikarakterisasi oleh sifat / attributnya dan tingkah lakunya. Contohnya, objek sebuah mobil mempunyai sifat tipe transmisi, warna dan manufaktur. Mempunyai kelakuan berbelok, mengerem dan berakselerasi. Dengan cara yang Jobsheet 4 Halaman 30

Upload: ivandi

Post on 18-Dec-2015

218 views

Category:

Documents


10 download

DESCRIPTION

Pemrograman4

TRANSCRIPT

Sistem Informasi RSUD

Pr. Pemrograman Komputer II

JOBSHEET 44.1 Tujuan Instruksional Khusus Pada akhir kegiatan belajar, mahasiswa dapat : 1. menjelaskan OOP dan beberapa konsepnya

2. perbedaan antara class dan object

3. pebedaan antara instance variables/method dan class (static) variable/method

4. menjelaskan method apa dan bagaimana memanggil method parameter

5. mengidentifikasi beberapa jangkauan dari sebuah variable

6. memilih tipe data primitive dan object

7. membandingkan objects dan menjabarkan class dari objects.4.2 Teori Pendahuluan OOP berputar pada konsep dari object sebagai dasar element dari program anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan beberapa objek disekitar kita, seperti mobil, singa, manusia dan seterusnya. Object ini dikarakterisasi oleh sifat / attributnya dan tingkah lakunya. Contohnya, objek sebuah mobil mempunyai sifat tipe transmisi, warna dan manufaktur. Mempunyai kelakuan berbelok, mengerem dan berakselerasi. Dengan cara yang sama pula kita dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa seperti pada tabel 4.1 berikut ini :Tabel 4.1 Obyek, properties dan behavior

ObjectPropertiesBehavior

Car Tipe transmisi

Pabrikan

Warna Membelok

Mengerem

Menambah kecepatan

Lion Berat

Warna

Lapar

Buas Mengaum

Tidur

Berburu

Dengan deskripsi ini, objek pada dunia nyata dapat secara mudah dimodelisasi sebagai objek software menggunakan sifat sebagai data dan tingkah laku sebagai method.

Pada dunia software, sebuah objek adalah sebuah komponen software yang stukturnya mirip dengan objek pada dunia nyata. Setiap objek dibuat dari satu set data (sifat) dimana variable menjabarkan esensial karakter dari objek, dan juga terdiri dari satu set dari methode (tingkah laku) yang menjabarkan bagaimana tingkah laku dari objek. Jadi objek adalah sebuah berkas software dari variable dan method yg berhubungan. Variable dan methods dalam objek Java scara formal diketahui sebagai instance variable dan instance methods untuk membedakannya dari variable klas dan method klas, dimana akan dibahas kemudian.

Class adalah sturktur dasa dari OOP. Dia terdiri dari dua tipe dari anggota dimana disebut dengan field (attribut/properti) dan method. Field mespesifikasi tipe data yang didefinisikan oleh class, sementara methode spesifikasi dari operasi. Sebuah objek adalah sebuah instance pada class. Untuk dapat membedakan antara class dan object, dapat dilihat dari sebuah class mobil dimana dapat digunakan untuk medefinisikan beberapa object mobil. Pada tabel dibawah, mobil A dan mobil B adalah objek dari kelas mobil. Kelas memiliki field plat nomer, warna, manufaktur, dan kecepatan yang diisi dengan nilai korespondendi pada objek mobil A dan mobil B. mobil juga dapat berakselerasi, berbelok dan mengerem.Tabel 4.2 Sebuah Class dengan 2 buah Obyek

Class MobilObyek Mobil AObyek Mobil B

Nomor Mobil H 1234 BCH 5678 AG

Warna BiruHijau

PabrikanHondaToyota

Kecepatan90 Km/jam100 Km/jam

Method :

Menambah Kecepatan

Berbelok

MengeremMethod :

Menambah Kecepatan

Berbelok

MengeremMethod :

Menambah Kecepatan

Berbelok

Mengerem

Ketika diinisialisi, tiap objek mendapat satu set baru dari state variable. Bagaimanapun, implementasi dari method dibagi diantara objek pada kelas yang sama. Kelas menyediakan keuntungan dari reusability. Software programmers dapat digunakan dari sebuah kelas lagi dan lagi untuk membuat beberapa objek.4.2.1 Instansiasi class

Untuk membuat sebuah objek atau sebuah instance pada sebuah kelas dapat menggunakan operator baru. Sebagai contoh, jika anda ingin membuat instance dari kelas string :

String str2 = new String(Hello world!);

4.2.2 AttributDalam pendeklarasian atribut mempunyai format sbb :

[= ]; Contohnya,

public class StudentRecord

{

private String name;

private String address;

private int age;

private double mathGrade;

private double englishGrade;

private double scienceGrade;

private double average;

}

4.2.3 Method Pada contoh yang telah kita diskusikan sebelumnya, kita hanya memiliki satu method, dan itu adalah main() method. Didalam Java, kita dapat mendefinisikan beberapa method yang akan kita panggil dari method yang berbeda.

Sebuah method adalah bagian terpisah dari kode yang akan dipanggil oleh program utama dan beberapa method lainnya untuk menunjukkan beberapa fungsi spesifik.

Berikut adalah karakteristik dari method :

1. dapat mengembalikan satu atau tidak ada nilai

2. dia mungkin dapat diterima sebagai beberapa parameter yang dibutuhkan atau tidak ada arameter sama sekali. Parameter juga disebut sebagai fungsi argument 3. setelah method telah selesai dieksekusi, dia akan kembali pada method yang memanggilnya. 4.2.4 ConstructorConstructor adalah method dimana seluruh inisialisasi object ditempatkan. Berikut ini adalah property dari Constructor :

1. Constructor memiliki nama yang sama dengan class

2. Sebuah Constructor mirip dengan method pada umumnya, namun hanya informasi informasi berikut yang dapat ditempatkan pada header sebuah constructor, scope atau identifikasi pengaksesan (misal: public), nama dari konstuktor dan parameter.

3. Constructor tidak memiliki return value

4. Constructor tidak dapat dipanggil secara langsung, namun harus dipanggil dengan menggunakan operator new pada pembentukan sebuah class.

4.3 Peralatan dan Bahan 1. Komputer dengan konfigurasi minimala.Prosesor P-II atau yang lebih tinggi

b.RAM minimal 32 MB

c.Free space hardisk minimal 200 MB

d.Windows 98)

2. Software J2SE dan JCreator 4.4 Langkah Kerja 1. Buat program dibawah ini dengan nama Lingkaran.,java public class Lingkaran

{

private double radius;

//Konstruktor1

public Lingkaran()

{

radius = 1.0;

}

//Konstruktor2

public Lingkaran(double d)

{

this();

setRadius(d);

}

public void setRadius(double r)

{

if (r>0)

radius = r;

}

public double getRadius()

{

return radius;

}

public double luas()

{

return 3.14*radius*radius;

}

public double keliling()

{

return 2*3.14*radius ;

}

}

2. Buatlah program untuk membuat obyek TestLingkaran1 dalam foleder yang sama dengan class Lingkaran berikut ini :

public class TestLingkaran1

{

public static void main(String[] args)

{

Lingkaran abc = new Lingkaran();

System.out.println("Hasil dari object Lingkaran ABC");

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

System.out.println("Radius Lingkaran : "+abc.getRadius());

System.out.println("Luas Lingkaran : "+abc.luas());

System.out.println("Keliling Lingkaran : "+abc.keliling());

}

}

3. Buatlah program untuk membuat obyek TestLingkaran2 yang dapat memanggil class Lingkaran berikut ini :

public class TestLingkaran2

{

public static void main(String[] args)

{

Lingkaran xyz = new Lingkaran();

xyz.setRadius((int)(1+Math.random()*100));

System.out.println("Hasil dari object Lingkaran XYZ");

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

System.out.println("Radius Lingkaran : "+xyz.getRadius());

System.out.println("Luas Lingkaran : "+xyz.luas());

System.out.println("Keliling Lingkaran : "+xyz.keliling());

System.out.println();

}

}4. Buatlah program untuk membuat obyek TestLingkaran3 yang dapat memanggil class Lingkaran berikut ini : public class TestLingkaran3

{

public static void main(String[] args)

{

Lingkaran abc = new Lingkaran();

Lingkaran xyz = new Lingkaran(3);

Lingkaran jkl = new Lingkaran(5);

System.out.println("Hasil dari object Lingkaran ABC");

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

System.out.println("Radius Lingkaran : "+abc.getRadius());

System.out.println("Luas Lingkaran : "+abc.luas());

System.out.println("Keliling Lingkaran : "+abc.keliling());

System.out.println();

System.out.println("Hasil dari object Lingkaran XYZ");

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

System.out.println("Radius Lingkaran : "+xyz.getRadius());

System.out.println("Luas Lingkaran : "+xyz.luas());

System.out.println("Keliling Lingkaran : "+xyz.keliling());

System.out.println();

System.out.println("Hasil dari object Lingkaran JKL");

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

System.out.println("Radius Lingkaran : "+jkl.getRadius());

System.out.println("Luas Lingkaran : "+jkl.luas());

System.out.println("Keliling Lingkaran : "+jkl.keliling());

System.out.println();

}

}

5. Buatlah program dengan nama Silinder.java yang satu folder dengan Lingkaran. Class Silinder merupakan anak dari class lingkaran. public class Silinder extends Lingkaran

{

private double tinggi;

public Silinder()

{

super();

tinggi = 1.0;

}

public Silinder(double t)

{

this();

setTinggi(t);

}

public Silinder(double r, double t)

{

super(r);

setTinggi(t);

}

public void setTinggi(double t)

{

if (t>0)

tinggi = t;

}

public double getTinggi()

{

return Tinggi;

}

public double luas()

{

double luas1=2*super.luas();

double luas2= tinggi*super.keliling();

return luas1 + luas2;

}

public double volume()

{

return tinggi*super.luas();

}

}

Implementasi class Silenderpublic class TestSilinder{

public static void main(String[] args)

{

Silinder abc = new Silinder();

Silinder xyz = new Silinder(5);

Silinder jkl = new Silinder(3,7);

System.out.println("Hasil dari object Silinder ABC");

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

System.out.println("Radius Lingkaran : "+abc.getRadius());System.out.println("Tinggi Silinder : "+abc.getTinggi());

System.out.println("Luas Lingkaran : "+abc.luas());

System.out.println("Volume Silinder : "+abc.volume());

System.out.println();

System.out.println("Hasil dari object Silinder XYZ");

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

System.out.println("Radius Lingkaran : "+xyz.getRadius());System.out.println("Tinggi Silinder : "+xyz.getTinggi());

System.out.println("Luas Lingkaran : "+xyz.luas());

System.out.println("Volume Silinder : "+xyz.volume());

System.out.println();System.out.println("Hasil dari object Silinder JLK");

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

System.out.println("Radius Lingkaran : "+jlk.getRadius());System.out.println("Tinggi Silinder : "+jlk.getTinggi());

System.out.println("Luas Lingkaran : "+jlk.luas());

System.out.println("Volume Silinder : "+jlk.volume());

System.out.println();

}

}

4.5 Lembar Kerja NoNama FileHasil KEluaran

1

2

3

4

4.6 Pertanyaan dan Tugas1. Dengan kata-kata Anda sendiri, definisikan istilah-istilah berikut ini :a. Class

b. Object

c. Instantiate

d. Instance Variable

e. Instance Method

f. Class Variables atau static member variables

2. Lengkapilah class StudentRecord dan StudentRecordExample berikut ini agar dapat digunakan untuk menampilkan 5 buah obyek.

public class StudentRecord

{

private String name;

private String address;

private int age;

private double mathGrade;

private double englishGrade;

private double scienceGrade;

private double average;

private static int studentCount;

/**

* Menghasilkan nama dari Siswa

*/

public String getName(){

return name;

}

/**

* Mengubah nama siswa

*/

public void setName( String temp ){

name = temp;

}

// area penulisan kode lain/**

* Menghitung rata rata nilai Matematik, Bahasa Inggris, * * Ilmu

Pasti

*/

public double getAverage(){

double result = 0;

result = ( mathGrade+englishGrade+scienceGrade )/3;

return result;

}

/**

* Menghasilkan jumlah instance StudentRecord

*/

public static int getStudentCount(){

return studentCount;

}

}Class Student Record Example :public class StudentRecordExample

{

public static void main( String[] args ){

//membuat 3 object StudentRecord

StudentRecord annaRecord = new StudentRecord();

StudentRecord beahRecord = new StudentRecord();

StudentRecord crisRecord = new StudentRecord();

//Memberi nama siswa

annaRecord.setName("Anna");

beahRecord.setName("Beah");

crisRecord.setName("Cris");

//Menampilkan nama siswa Anna

System.out.println( annaRecord.getName() );

//Menampilkan jumlah siswa

System.out.println("Count="+StudentRecord.getStudentCount()

);

} }3. Buatlah sebuah class yang memuat data-data pada buku alamat. Tabel berikut mendefinisikan informasi yang dimiliki oleh buku alamat.

Nama : Nama Lengkap perseorangan

Alamat : Alamat Lengkap

Nomor Telepon: Nomor telepon personal

Alamat E-Mail: Alamat E-Mail personal

Buat implementasi dari method sebagai berikut :

1. Menyediakan accessor dan mutator method terhadap seluruh atribut

2. ConstructorJobsheet 4Halaman 37