Selasa, 25 Juni 2013

Kuis Pemrograman Berorientasi Objek

Kuis Soal Java :

1. Jelaskan apa yang dimaksud Java Desktop dan Java Mobile !
2. Apa yang dimaksud dengan class dan object dan berikan contoh dalam bentuk program sederhana?
3. Dalam perintah java memeliki 2 Decision – making statement yaitu if-else dan switch, jelaskan fungsi dari kedua statement tersebut dan berikan contoh program sederhananya !
4. Analisalah program dibawah ini dan berikan penjelasan arti pada setiap tanda “ ? “ kemudian tuliskan hasil output dari program ini :
class ArrayCopyDemo { // ? <<< berikan penjelasannya
public static void main(String[] args) { // ?
char[] copyFrom = { 'd', 'e', 'i', 'n', 't', 'e', 'r', 'm', 'i', 'l', 'a', 'n', 'o' }; // ?
char[] copyTo = new char[7]; // ?
System.arraycopy(copyFrom, 2, copyTo, 0, 5); // ?
System.out.println(new String(copyTo)); // ?
}
}
Output program ini adalah ......

5. Berikan Penjelasan kesimpulan tentang objek materi presentasi perkelompok anda !

JAWAB :
1.      Java desktop adalah software teknologi yang membuat dan menjalankan perangkat lunak pada komputer atau pada lingkup jaringan dengan bahasa pemrogramannya adalah bahasa Java. Java mobile adalah software teknologi yang membuat dan menjalankan perangkat lunak pada handphone atau gadget sejenis lainnya yang bahasa pemrogramannya menggunakan bahasa Java.
2. Pengertian class dan object dan contoh program sederhana?
Program campuran yang mencakup class dan object :
01 package com.maniakjava.domain;
02
03 public class Member
04 {
05 private String nama;
06 private int umur;
07
08 public String getNama()
09 {
10 return nama;
11 }
12
13 public void setNama(String nama)
14 {
15 this.nama = nama;
16 }
17
18 public int getUmur()
19 {
20 return umur;
21 }
22
23 public void setUmur(int umur)
24 {
25 this.umur = umur;
26 }
27 }
Kemudian terdapat sebuah main class berikut :
01 package com.maniakjava.main.app;
02
03 import com.maniakjava.domain.Member;
04
05 public class Main
06 {
07 public static void main(String[] args)
08 {
09 Member member = new Member();
10 member.setNama("Maniak Java");
11 member.setUmur(99);
12
13 System.out.println("Nama : " + member.getNama());
14 System.out.println("Umur : " + member.getUmur());
15 }
16 }
Beberapa istilah yang dapat saya jelaskan berdasarkan code di atas antara lain :
• Class –> suatu template/cetakan yang berisi attribute dan method. Pada contoh di atas Member dan Main adalah sebuah class.
• Reference variable –> Suatu variable yang merujuk ke suatu object. Pada contoh di atas member adalah sebuah reference variable yang menunjuk ke object Member.
• Object –> instance dari sebuah class yang terbentuk ketika kita menggunakan keyword new. Object yang terbentuk dari sebuah class akan memiliki hak akses terhadap keseluruhan isi class.
• State (instance variables) –> variable2 yang dideklarasikan di dalam class. Pada contoh di atas nama dan umur disebut dengan state.
• Behaviour (methods) –> fungsi2 yang dideklarasikan di dalam class. Pada contoh di atas getNama(), setNama(), getUmur(), dan setUmur() adalah suatu behaviour/method.

Program class secara terpisah :
package com.maniakjava.main.app;
import com.maniakjava.domain.member;
public class main
{
            public static void main (string[] args)
            {
            Member member = new Member ();
            Member.setNama(“maniak java”);
            Member.setUmur(99);
                       
            System.out.println (“nama:”+member.getNama( ));
            System.out.println (“umur:”+member.getUmur( ));
            }
}

Program object secara terpisah :
package com.maniakjava.domain;
public class Member
{
            private string nama;
            private int umur;
                       
            public string getNama ( )
            {
                        return nama;
            }
            public void setNama (string nama)
            {
                        this.nama = nama;
            }

            public int getUmur ( )
            {
                        return umur;
            }
            public void setUmur (int umur)
            {
                        this.umur = umur;
            }
}
3.  - Fungsi IF…Else…. Digunakan jika kedua pernyataan memiliki hak yang sama atau prioritas yang sama. Jika bernilai True maka akan mencetak nilai benar jika bernilai false maka akan mencetak nilai salah.
- Fungsi switch di gunakan jika memiliki lebih dari 2 pernyataan artinya jika terdapat 3 pernyataan atau lebih.
Contoh program if... else...:
public class IFElse {
public static void main (String[] args){
int angka =5;
if (angka>0)
System.out.println(“merupakan bilangan positif”);
else
            System.out.println(“merupakan bilangan negatif”);
            }
            }

            Contoh program switch :
            public class Switch {
            public static void main (String[] args) {
                        int I = 3;
                        switch (I) {
                        case 1:
                        System.out.println (“I bernilai satu”);
                        Break;
                        case 2:
                        System.out.println (“I bernilai dua”);
            break;
                        case 3:
                        System.out.println (“I bernilai tiga”);
            break;
            default:
            System.out.println(“nilai default kosong”);
            return;
            }
            }
4.      class ArrayCopyDemo { // sebuah nama class ArrayCoyDemo
public static void main(String[] args) { // Awal program dijalankan
char[] copyFrom = { 'd', 'e', 'i', 'n', 't', 'e', 'r', 'm', 'i', 'l', 'a', 'n', 'o' }; // sebuah Array bertipe Char yg bernama copyFrom
char[] copyTo = new char[7]; // membuat sebuah wadah array yg bertipe char yg char itu 7 index
System.arraycopy(copyFrom, 2, copyTo, 0, 5); // mengcopy kan berasal dari arrayCopyDemo, dimulai dari index kedua(2), dan ditempatkan di wadah copyTo dari index 0 sampai index 5.
System.out.println(new String(copyTo)); // menampilkan wadah array yg bernama copyTo
}
}
Output program ini adalah interm.
5.      Penjelasan kesimpulan tentang objek materi presentasi perkelompok saya.
Adapun kelompok saya adalah Kelompok : 8
Nama Anggota Kelompok :
·                     Pebriano Ramadhan (15110333)
·                     Rachman Andriansyah (15110495)
·                     Selpa Oktarina (19110172)
·                     Sofyan Sauri (16110639)

Materi : MULTI THREAD
Penjelasan : Multithread berasal dari dua kata yakni multi dan thread. Multi bermakna banyak sementara thread bermakna benang atau alur. Namun dalam praktik sebenarnya, multithread adalah sebuah metode yang memungkinkan sebuah program menjalankan dua atau lebih operasi dalam satu waktu. Sebenarnya ketika kita membuat sebuah program, secara otomatis kita sudah memiliki satu thread dalam program tersebut. Membuat sebuah program yang menginginkan berjalan dengan banyak thread dilakukan dengan dua cara: cara mengimplementasi interface Runnable dan meng-extends kelas Thread itu sendiri.
Dengan demikian, kelas tersebut harus mengimplementasikan pula satu method yaitu method run(); yang dideklarasikan sebagai berikut: public void run(){} Setelah membuat kelas yang mengimplementasikan interface Runnable, kita dapat menginstansiasi objek dengan tipe Thread di dalam kelas main. Thread mendefinisikan beberapa konstruktor. Salah satu contohnya adalah sebagai berikut: Thread(Runnable to, String threadName).
Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. User level thread adalah thread yang tampak oleh programmer dan tidak diketahui oleh kernel. User level thread secara tipikal dikelola oleh sebuah library thread di ruang user. Kernel level thread didukung dan dikelola oleh kernel sistem operasi. Secara umum, user level thread lebih cepat dalam pembuatan dan pengelolaan dari pada kernel thread. Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread.

                                                              (gambar thread)

Selain oleh sistem operasi, Thread didukung juga oleh paket library thread. Sebagai contoh, Win32 library mempunyai API untuk multithreading aplikasi Windows, dan Pthreads mempunyai fungsi manajmen thread untuk sistem POSIX-compliant. Java adalah unik dalam mendukung tingkatan bahasa untuk membuat & managemen thread.

Semua program java mempunyai paling sedikit satu kontrol thread. Bahkan program java yang sederhana mempunyai hanya satu main() method yang berjalan dalam thread tunggal dalam JVM. Java menyediakan perintah yang mendukung pengembang untuk membuat dan memanipulasi kontrol thread. Satu cara untuk membuat thread secara eksplisit adalah dengan membuat kelas baru yang diturunkan dari kelas thread, dan menimpa run() method dari kelas Thread tersebut.  Object yang diturunkan dari kelas tersebut akan menjalankan sebagian thread control dalam JVM. Membuat suatu objek yang diturunkan dari kelas Thread tidak secara spesifik membuat thread baru, tetapi start() method lah yang sebenarnya membuat thread   baru.

Memanggil start() method untuk objek baru mengalokasikan memori dan menginisialisasikan thread baru dalam JVM dan memanggil run() method membuat thread pantas untuk dijalankan oleh JVM. (Catatan: jangan pernah memanggil run() method secara langsung. Panggil start() method dan ini secara langsung akan memanggil run() method).

Ketika program ini dijalankan, dua thread akan dibuat oleh JVM. Yang pertama dibuat adalah thread yang berasosiasi dengan aplikasi-thread tersebut mulai dieksekusi pada main() method. Thread kedua adalah runner thread secara ekspilisit dibuat dengan start() method. Runner thread memulai eksekusinya dengan run() method.

            Kesimpulan : Multi-threaded programming adalah konsep yang penting dalam Java Networking, sebagai klien dan server jaringan sering harus melakukan beberapa tugas berbeda pada suatu waktu bersamaan (misalnya, mendengarkan permintaan masuk dan tanggapan, pengolahan data, dan memperbarui teks atau antarmuka bagi pengguna). Sebelum melakukan multi-threaded aplikasi di Java, penting bagi pengembang untuk memahami perbedaan antara pemrograman single-threaded, pemrograman multi proses, dan pemrograman multi-threaded.

            Analisis Saya : Konsep Multi-threaded programming awalnya bisa sulit untuk dipahami. Banyak bahasa pemrograman lama dan sistem operasi yang tidak mendukungnya. Beberapa pemakai mungkin akan merasa baru, asing dengan konsep multithreading, karena mereka tidak pernah punya alasan untuk menggunakannya dalam pengembangan perangkat lunak mereka atau ilmu komputer.
 Software jaman dulu yang ditulis dalam bahasa prosedural dikompilasi ke dalam format yang dapat dibaca oleh mesin, yang disebut bahasa mesin. Kode ini dibaca oleh satu unit pengolah pusat (CPU), yang menjalankan laporan pemrograman satu demi satu, dengan cara yang berurutan. Waktu yang dibutuhkan untuk mengeksekusi setiap pernyataan dapat bervariasi (karena sifat operasi, seperti membandingkan dua byte untuk kesetaraan atau menambahkan dua angka bersama), tapi sampai pernyataan ini selesai, tidak ada laporan lebih lanjut akan berjalan.

Tidak ada komentar:

Posting Komentar