Laman

Minggu, 11 November 2012

KUIS PEMROGRAMAN LANJUT



KUIS

1. apakah yang dimaksud dengan interface dalam pemrograman berorientasi obyek?

interface adalah jenis khusus dari blok yang hanya berisi method signature (atau constant).  interface medefinisikan sebuah(signature) dari sebuah kumpulan metode tanpa tubuh. interface medefinisikan sebuah cara standar dan umum menetapkan sifat-sifat dari class-class. mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class, untuk mengimplementasikan sifat-sifat yang umum.


untuk memahami lebih mudah, interface adalah sekumpulan dari metode-metode yang dibuat tapi belum ada operasi didalam tubuh metode tersebut. interface ini bisa diturunkan atau diwariskan kepada class yang ingin memiliki metode yang ada dalam masing-masing interface tersebut dengan keyword.


ciri-ciri dari interface adalah sebagai berikut:



  • metode interface tidak punya tubuh, sebuah interface hanya dapat mengidentifikasikan konstanta dan interface tidak langsung mewariskan hubungan dengan class istimewa lainnya.mereka didefinisikan secara independent.
  • tidak bisa membuat instance atau obyek baru dari sebuah interface.
  • ciri umum lain adalah baik interface maupun class dapat mengidentifikasikan metode. bagaimanapun, sebuah interace tidak punya sebuah kode implementasi sedang class memiliki salah satunya.
2. apakah yang dimaksud dengan class dalam pemrogaman berorientasi obyek?

kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrogaman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaiman kode tersebut digunakan jika tidak menggunakan OOP ). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

3. apakah yang dimaksud dengan object dalam pemrogaman berorientasi obyek?

objek membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer: objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

4. berikan contoh interface, class dan object (dengan java) ?

Contoh Program

interface AlatMusik
{
void mainkan();
void setelNada();
String ambilNama();
}
class AlatMusikPetik implements AlatMusik
{
protected String nama;

public void mainkan() {
System.out.println(ambilNama() +"dimainkan dengan cara petik");
}
public void setelNada() {
System.out.println("setel nada pada" + ambilNama());
}
public String ambilNama() {
return nama;
}
}

class AlatMusikTiup implements AlatMusik
{
protected String nama;

public void mainkan() {
System.out.println(ambilNama() +"dimainkan dengan cara tiup");
}
public void setelNada() {
System.out.println("Setel nada pada" + ambilNama());
}
public String ambilNama() {
return nama;
}
}

class Gitar extends AlatMusikPetik {
Gitar(String nama) {
this.nama = nama;
}
}

class Seruling extends AlatMusikTiup {
Seruling(String nama) {
this.nama = nama;
}
}

class DemoInterface {
public static void main (String[] args) {
AlatMusikPetik gitar = new AlatMusikPetik();
AlatMusikTiup seruling = new AlatMusikTiup();

gitar.nama = "Gitar";
gitar.mainkan();
gitar.setelNada();

System.out.println();

seruling.nama = "Seruling";
seruling.mainkan();
seruling.setelNada();
}
}

Senin, 15 Oktober 2012

GridBagLayout

 GridBagLayout

GridBagLayout adalah salah satu yang paling fleksibel - manajer tata letak platform Java. GridBagLayout Sebuah menempatkan komponen dalam grid baris dan kolom, yang memungkinkan komponen tertentu untuk menjangkau beberapa baris atau kolom. Tidak semua baris harus memiliki ketinggian yang sama. Demikian pula, tidak semua kolom harus memiliki lebar yang sama. Pada dasarnya, tempat GridBagLayout komponen dalam empat persegi panjang (sel) dalam kotak, dan kemudian menggunakan ukuran yang lebih disukai komponen 'untuk menentukan seberapa besar sel-sel harus.

Gambar
Dibawah ini menunjukkan grid untuk applet sebelumnya. Seperti yang terlihat, grid memiliki tiga baris dan tiga kolom. Tombol di baris kedua mencakup semua kolom, tombol di baris ketiga meliputi dua kolom yang tepat.
 
Jika Anda memperbesar gambar seperti yang ditunjukkan pada gambar berikut, Anda akan melihat bahwa baris bawah, yang berisi Tombol 5, mendapat semua ruang vertikal baru. Ruang horisontal baru dibagi secara merata di antara semua kolom. Perilaku ukuran didasarkan pada bobot program memberikan kepada komponen individual dalam GridBagLayout tersebut. Anda juga akan melihat bahwa masing-masing komponen memakan semua ruang horisontal yang tersedia - tetapi tidak (seperti yang Anda lihat dengan tombol 5) semua ruang vertikal. Perilaku ini juga ditentukan oleh program.

 
Cara program menentukan karakteristik ukuran dan posisi komponennya adalah dengan menetapkan batasan untuk setiap komponen. Pendekatan yang lebih disukai untuk mengatur kendala pada komponen adalah dengan menggunakan varian Container.add, melewati sebuah objek GridBagConstraints, seperti yang ditunjukkan dalam bagian berikutnya.

Bagian berikut menjelaskan kendala Anda dapat mengatur dan memberikan contoh
.
Anda akan melihat contoh yang lebih rinci pada bagian berikutnya.

JPanel panel = new JPanel (new GridBagLayout ());
GridBagConstraints c = GridBagConstraints baru ();

/ / Untuk setiap komponen yang akan ditambahkan ke kontainer ini:
/ / ... Buat komponen ...
/ / ... Variabel misalnya Set dalam contoh GridBagConstraints ...
pane.add (theComponent, c);

Seperti yang sudah bisa anda duga dari contoh di atas adalah mungkin untuk menggunakan kembali contoh GridBagConstraints sama untuk beberapa komponen, bahkan jika komponen memiliki kendala yang berbeda. Namun, disarankan agar anda tidak menggunakan GridBagConstraints, karena hal ini dapat sangat mudah menyebabkan Anda memperkenalkan bug halus jika Anda lupa untuk me-reset bidang untuk setiap instance baru.






Contoh ini menggunakan satu contoh GridBagConstraints untuk semua komponen GridBagLayout mengelola, namun dalam situasi kehidupan nyata disarankan agar anda tidak menggunakan GridBagConstraints, karena hal ini dapat sangat mudah menyebabkan Anda memperkenalkan bug halus jika Anda lupa untuk me-reset bidang untuk masing-masing baru misalnya. Tepat sebelum setiap komponen ditambahkan ke wadah, kode set (atau me-reset ke nilai default) variabel contoh yang sesuai dalam objek GridBagConstraints. Ini kemudian menambahkan komponen untuk wadah, menentukan obyek GridBagConstraints sebagai argumen kedua dengan metode add.

Misalnya, untuk membuat tombol 4 ekstra tinggi, misalnya memiliki kode ini:

c.ipady = 40;

Dan sebelum menetapkan kendala dari komponen berikutnya, me-reset kode nilai ipady ke default:

c.ipady = 0;

Jika area tampilan komponen adalah lebih besar dari komponen itu sendiri, maka Anda dapat menentukan keberadaan di area tampilan komponen akan ditampilkan dengan menggunakan kendala GridBagConstraints.anchor. Nilai-nilai kendala jangkar itu bisa absolut (utara, selatan, timur, barat, dan sebagainya), atau orientasi-saudara (di awal halaman, di akhir baris, pada awal baris pertama, dan sebagainya), atau relatif terhadap baseline komponen. Untuk daftar lengkap dari nilai yang mungkin dari kendala jangkar, termasuk dasar-nilai relatif, lihat dokumentasi API untuk GridBagConstraints.anchor. Anda dapat melihat dalam ekstrak kode diatas yang Tombol 5 menetapkan bahwa hal itu harus ditampilkan pada akhir area layar dengan menetapkan jangkar di GridBagConstraints.Mungkin dari penjelasan diatas teman teman sekalin dapat mempelajari hal hal baru dalam bidang layout, semoga bermanfaat dan dapat berguna dalam menyusun sebuah aplikasi .

KELOMPOK 5
11.11.4737 Fendi Prastiyo
11.11.4691 Muhammad Setyohadi Kuswantoro
11.11.4759 Gilang Muharram
11.11.4744 Miftachul Nurfuad
11.11.4690 Haryadi Agustiawan