Senin, 18 November 2013

jawaban UTS PBO

USE CASE DIAGRAM


SEQUENCE DIAGRAM



ACTIVITY DIAGRAM
    • Kasus 1


  • Kasus 2
  • Kasus 3
  • Kasus 4
  • Kasus 5
  • Kasus 6
CLASS DIAGRAM
  • Kasus 1
  • Kasus 2
  • Kasus 3
  • Kasus 4
  • Kasus 5
  • Kasus 6
LISTING PROGRAM JAVA 
  • Kasus 1

import java.io.*;
public class satu {
    public static void main(String[] args) {
        System.out.println("Selamat Datang di Java Programming");
    }
}
  • Kasus 2
import java.io.*;
public class dua {
        
    public static void main(String[] args) {
        final int p=5;
        final int l=7;
        int L;
        L=p*l;
        System.out.println("Luas persegi panjang adalah = "+L);
    }
}
  • Kasus 3
import java.io.*;
public class tiga {
        
    public static void main(String[] args) {
        double f;        
        f=5+4-6*7/3;
        System.out.println("Hasil dari perhitungan 5+4-6*7/3 adalah "+f);
    }
}
  • Kasus 4
import java.io.*;
public class empat {
    public static void main(String[] args) {
        int array[];
        array = new int[5];
        array[0] = 5;
        array[1] = 8;
        array[2] = 20;
        for (int i = 0; i < 4; i++) {
            System.out.println("Array[" + i + "] = " + array[i]);
        }
    }
}
  • Kasus 5
import java.io.*;
import java.util.Scanner;
public class lima {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int luas;
        System.out.print("Masukkan Panjang : ");
        Integer panjang = sc.nextInt();
        System.out.print("Masukkan Lebar : ");
        Integer lebar = sc.nextInt();
        luas = panjang * lebar;
        System.out.println("Luas Persegipanjang : " + luas);
    }
}
  • Kasus 6
import java.io.*;
import java.util.Scanner;
public class enam {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("========== MENU ==========");
        System.out.println("1. Contoh Program If then");
        System.out.println("2. Contoh Program For");
        System.out.println("3. Contoh Program Do-While");
        System.out.print("Masukan Pilihan (1/2/3)=");
        Integer pilihan = sc.nextInt();
        switch (pilihan) {
            case 1:
                System.out.print("Masukan angka=");
                Integer angka = sc.nextInt();
                if (angka % 2 == 0) {
                    System.out.println("genap");
                } else {
                    System.out.println("ganjil");
                }
                break;
            case 2:
                System.out.print("Masukan jumlah perulangan=");
                Integer ulang = sc.nextInt();
                for (int i = 1; i <= ulang; i++) {
                    System.out.println(i);
                }
                break;
            case 3:
                int i = 1;
                System.out.print("Masukan jumlah perulangan=");
                Integer ulang2 = sc.nextInt();
                do {
                    System.out.println(i);
                    i++;
                } while (i <= ulang2);
                break;
        }
    }
}

Minggu, 17 November 2013

pendahuluan oo [PBO]

APA ITU MBO?
Manajemen Berbasis Tujuan: Apa Itu MBO? Banyak orang telah mendengar istilah Manajemen oleh Tujuan atau MBO tapi apa adalah MBO atau Manajemen oleh Tujuan Ini adalah gaya manajemen yang melibatkan berkomitmen untuk satu set tujuan atau tonggak terukur dalam jangka waktu yang ditetapkan mengatakan kuartal selama tahun bisnis. Biasanya Manajemen oleh Tujuan dilakukan atas dasar organisasi. Setiap tim menulis satu set yang MBO ini adalah kiriman yang akan dilakukan pada kuartal saat ini. Tim menyerahkan MBO mereka adalah kepada tim manajemen di atas mereka yang kemudian gulungan tersebut MBO ke dalam set mereka sendiri yang MBO. Setiap kali daftar itu MBO digulung sampai mereka mendapatkan lebih luas dan umum. Semakin rendah dalam organisasi yang lebih spesifik ini MBO seharusnya.

Menulis MBO ini efektif. Ketika Anda menulis MBO Anda Anda ingin berhati-hati untuk memastikan MBO setiap terukur atau yang lain bagaimana Anda menentukan kapan selesai Menetapkan tanggal untuk MBO masing-masing dan menaatinya. Ini akan membantu Anda memprioritaskan ini MBO seluruh kuartal. Biasanya tim ini akan memiliki – MBO dengan kiriman sub mungkin dalam MBO. Whan kerajinan MBO Anda yang berhati-hati untuk menulis mereka dengan kiriman yang berada dalam kendali Anda. Saya selalu mencoba untuk memastikan bahwa keberhasilan MBO saya tidak tergantung pada orang lain di luar tim saya karyawan. Jika MBO saya melibatkan partisipasi dengan kelompok lain manajemen atau departemen saya menulis MBO saya dengan bagian saya dari proyek dalam pikiran. Hal ini umumnya memungkinkan saya memberikan saya bagian dari proyek terlepas dari kinerja orang lain.
Pada kuartal tersebut dan tentu pada akhirnya daftar itu MBO yang mencetak gol. Skor ini kini tim bisnis dan manajemen dapat menentukan apakah mereka berada pada jalur. Apakah tim bisnis atau karyawan memenuhi tujuan mereka tetapkan ketika menulis itu MBO Jika skor tinggi maka organisasi berada di trek. Jika tidak maka tim manajemen perlu menentukan mengapa apa yang dilakukan atau tidak dilakukan tidak sejalan dengan MBO yang ditulis oleh tim dan organisasi. Semoga MBO ini umumnya menyelesaikan setiap kuartal dan bisnis bergerak maju dengan tujuan.
APA ITU OBJEK ?
Membungkus data dan objek menjadi satu unit dalam sebuah komputer.objek merupakan dasar dari modularitasi dan struktur dalam sebuah program komputer berorientasi objek.

APA ITU KELAS?
Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk tujuan tertentu.sebagai contoj 'clss of dog'ada suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjukan pada berbagia macan perilaku/turunan dari anjing.
sebuah class adalah dasar dari moduliritas dan struktur dalam pemrograman berorientasi object.sebuah class tipikal sebaiknya dapat dikenali seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaik nya (relatif) bersifat mandiri dan indefenden.

APA ITU ENKAPSULASI ?
memastikan pengguna sebuah objek tidak dapat menggantikan keadaan dalam dari sebuah objek dengan cara yang tidak layak. hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tsb.

APA ITU INHERITANSI ?

Inherintance/inheritansi salah sati konsep utama dalam pemrograman berorientasi objek. Inheritance meperbolehkan pengguna kembali kode-kode yang ada pada base class nya untuk diturunkan pada Derived class. inheritance ini diawali berdasarkan superclassnya. sehingga akan terbentuk subclass yang mana setiap objeck subclass dapat mengakses semua data dan program yang dimiliki superclass.

APA ITU GENERALISASI/SPESIALISASI?

-Generalisasi
Pendefinisian subclass-subclass yang disatukan menjadi entitas superclass tunggal berdasarkan karakterisik umum. Disamping proses desain top-down(dari inisial entitas kelevel lebih rendah(subgrup)),desain juga dapat dilakukan dengan proses bottom-up,yaitu banyak entitas disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya.
-Spesialisasi
Proses yang meperhatikan perbedaan setiap anggota dari sebuah entitas sehinggal anggota dari sebuah entitas bisa dikelompokan ke dalam kelompok yang lebih kecil.

APA itu POLIMORFISME?
Melalui pengiriman pesan. Tidak bergantung kepada pemggilan subrutin, bahasa orientasi objek dapat mengiri pesan. metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu dimana pesan tersebut dikirim. contohnya,bila sebuah burung menerima pesan "gerak cepat". dia akan menggerakan sayapnya dan terbang

APA ITU UML ?
Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek(OOP) serta aplikasinya. untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut.

Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng- create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancangtest case untuk semua feature yang ada pada sistem. Sebuah use casedapat meng- include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di- include akan dipanggil setiap kali use case yang meng- includedieksekusi secara normal. Sebuah use case dapat di- include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common . Sebuah use case juga dapat meng- extend use case lain denganbehaviour -nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagrammenggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment , pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :

1. Nama (dan stereotype)
2. Atribut
3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :
·         Private , tidak dapat dipanggil dari luar class yang bersangkutan
·         Protected , hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
·         Public , dapat dipanggil oleh siapa saja
Class dapat merupakan implementasi dari sebuah interface , yaitu classabstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time .

Statechart Diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagrammenggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram ). Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisiguard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat darievent tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
Activity Diagram
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal,decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di- trigger oleh selesainya state sebelumnya (internal processing ). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use casemenggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state , standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas.Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel ( fork dan join ) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.

Sequence Diagram

Sequence diagram mengga
mbarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display , dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagramterdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkanoutput tertentu. Diawali dari apa yang men- trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal danoutput apa yang dihasilkan. Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya,message akan dipetakan menjadi operasi/metoda dari class . Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.
Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller danpersistent entity .

Collaboration Diagram

Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram , tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message . Setiap message memiliki sequence number , di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.

Component Diagram

Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan ( dependency ) di antaranya. Komponen piranti lunak adalah modul berisi code , baik berisi source code maupun binary code , baik library maupun executable , baik yang muncul pada compile time, link time , maupun run time . Umumnya komponen terbentuk dari beberapa class dan/atau package , tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface , yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.

Deployment Diagram

Deployment/physical diagram menggambarkan detail bagaimana komponen di- deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal Sebuah node adalah server, workstation , atau piranti keras lain yang digunakan untuk men- deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
Kesimpulan :
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

my first java PBO

// contoh program sederhana
public class salam
{
                public static void main(String[] args)
                {
                System.out.println(“Selamat datang di JAVA programming”);
                }
}
Aturan Dasar
·         Aturan Dasar dari penggunaan sintaks bahasa JAVA
·         AVA bersifat case-sensitive
·         Secara umum JAVA mengabaikan spasi kosong (karakter yang tidak muncul pada layar, mis kosong, tab, baris baru)
·         Brace { } adalah simbol pengelompokkan dalam JAVA yang menandai awal dan akhir bagian suatu program.
·         Setiap pernyataan JAVA diakhiri dengan simbol ;
·         Simbol // membuat sebuah baris komentar
                Simbol /* */ membatasi bagian awal dan akhir suatu komentar
·         JAVA memiliki beberapa kata yang dicadangkan dan tidak bisa digunakan dalam ekspresi biasa.
                Kata-kata tersebut disebut keyword.
·         Kelas pertama dalam sebuah program JAVA (disebut kelas pengendali) harus memiliki nama yang sama dengan file di mana ia disimpan.
Escape Sequence
\n Newline
\t Horizontal tab
\r Carriage return
\\ Backslash
\” Double quote mis:
                System.out.println(“\”Halo\””);
// menampilkan sebaris text dengan multiple statement
public class salam2 {
                public static void main(String[] args) {
                System.out.print(“Selamat datang”);
                System.out.println(“ di JAVA programming”);
                }
}
// menampilkan beberapa baris dengan sebaris statement
public class salam3 {
                public static void main(String[] args) {
                System.out.println(“Selamat datang\n di JAVA programming”);
}
}
Data Variabel
Data dapat berisi satu atau lebih item data (entity). Untuk setiap item data, penjelasannya diberikan berupa:
·         tipe data
·         nama yang unik untuk mengidentifikasikan data tersebut
·         nilai awal (optional)
Dalam JAVA, terdapat 2 kategori umum variabel
·         elementary (tipe data primitif)
·         numerik
·         teks
·         boolean
·         object variables (references)
DATA DEFINITION
<data_type> <variable> ;
    int x; int y ;
<data_type> <variable1> , <variable2> , … , <variable3>
    int x , y, z ;
<data_type> <variable> = <data_value>;
    int x = 10 ;
DATA ASSIGNMENT
<data_type> <variable> ;
<statement_statement_lain>
<variable> = <data_value> ;
    int x;
    :::::::::::::
    :::::::::::::
    x = 10 ;
CATATAN:
·         nama variabel harus dimulai dengan huruf (selanjutnya dapat berupa huruf atau angka)
·         nama variabel bersifat case sensitif
·         bukan reserved word
·         tidak ada spasi
Konversi Tipe Numerik
Untuk melakukan konversi tipe data secara ‘paksa’
dapat menggunakan casting
                double x = 2.14;
                int y = ( int ) x;
JAVA mengijinkan untuk melakukan assignment conversion
tanpa menggunakan casting (secara eksplisist)
byte ->short -> int -> long -> float -> double
Constant
·         final
                final int PANJANG_SEGIEMPAT = 30;
·         biasanya ditulis dengan huruf besar semua
public class contoh
{
                                public static void main (String[] args)
                                { final double CM_PER_INCH = 2.54;
                                double lebarKertas = 8.5;
                                double panjangKertas = 11;
                                System.out.println(“Ukuran kertas dalam cm : “
                                + lebarKertas * CM_PER_INCH + “ x “
                                + panjangKertas * CM_PER_INCH);
}
}

terminologi PBO

   Sifat, karakteristik, kualitas, yang menjelaskan suatu benda.
·         Dalam OOA (Object Oriented Analysis), attribute adalah data mengenai keadaan/kondisi suatu
obyek (state information), dimana setiap obyek memiliki nilainya sendiri-sendiri.
·         Attribute menjelaskan nilai-nilai yang tersimpan dalam suatu obyek.
·         Sifat attribute lebih mudah berubah dibandingkan dengan problem domain.
NOTASI
Attribute
HOW
·         identifikasi attribute
·         perhatikan letak attribute
·         identifikasi instance connection
·         cek kasus-kasus khusus
·         menentukan/menetapkan attribute
Identifikasi Attribute
·         Apa yang perlu diketahui oleh sistem mengenai suatu obyek, hal-hal apa yang harus dilakukan oleh obyek.
·         Bagaimana suatu obyek dapat dijelaskan secara umum?
·         Bagaimana obyek tersebut dijelaskan dalam hubungannya dengan permasalahan dan tanggung jawab sistem?
·         Apa yang perlu diketahui dari obyek tersebut?
·         Informasi apa yang harus diingat?
·         Kondisi apa saja yang mungkin terjadi?
·         Cek hasil OOA dari sistem lain.
·         Atomic concept
·         single value
·         pengelompokan nilai-nilai yang berhubungan
·         Deferred to design
·         normalisasi
·         mekanisme identifikasi
·         recalculable attribute
Instance Connection
                Instance connections menunjukkan hubungan antar obyek.
·         Batas bawah  ->  = 0 (opsional)
                                                > 1 (harus ada)
·         Batas atas ->         = 1 (single)
                                                > 1 (multiple)
Cek instance connections yang
·           memiliki hubungan many to many
·           menghubungan antar obyek dalam sebuah class
·           lebih dari satu pada obyek/class yang sama
·           masih perlu ditambahkan
Letak Attribute
·         Obyek apa yang dijelaskan oleh suatu attribute ?
·         Dalam struktur inheritance, attribute selalu terletak pada class-&-object teratas.
Kasus Khusus
·         Attribute dengan nilai kosong (not applicable)
·         Class-&-Object yang hanya memiliki 1 buah attribute
·         Attribute untuk nilai yang berulang
Menetapkan Attribute
·         Gunakan kosa kata standard
·         Gunakan nama yang mudah dibaca
·         Jangan memakai nilai attribute