This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Minggu, 28 Oktober 2012

Object Oriented Analysis and Design


Object Oriented Analysis and Design


§  Fokus pada object dimana sistem dibagi ke dalam beberapa object yang ada di dalamnya.
§  Function (behavior) dan data (state) yang berhubungan ke suatu object tunggal adalah self-contained atau encapsulated pada satu tempat.

§  Keuntungan object-oriented:
§  Reusability
§  Modularity
§  Maintainability

Object adalah suatu abstraksi dari sesuatu dalam suatu domain masalah, menyatakan kemampuan sistem untuk :
§  menyimpan informasi tentang object tsb,
§  berinteraksi dengan object tsb,
§  atau keduanya

Object adalah entitas suatu sistem software yang menyatakan kejadian (instances) dari real-world an entitas sistem

Object Class
Class adalah deskripsi dari sekumpulan object yang membagi (share) attributes, methods, relationship dan semantic yang sama;
Object class adalah template untuk object, yang dapat digunakan untuk membuat object,
Object menyatakan suatu kejadian khusus tertentu dari suatu class

Contoh:
Class
Object
name: string
address: string 3
dateOfBirth: date
employeeNo: integer
socialecurityNo: string
department: string
manager: string
salary: real
status: {current, left, retired}
taxCode: integer
name: John
address: M Street No.23
dateOfBirth: 02/10/65
employeeNo: 324
socialecurityNo:E342545
department: Sale
manager: Employee1
salary: 2340
status:current
taxCode: 3432
Join( )
Retire( )
ChnageDetail( )
Eployee16.join(02/05/1997)
Eployee16.retire(03/08/2005)
Eployee16.changeDetail(“X Street No. 12”)
Inheritance
§  Object classes dapat menurunkan atribut dan services dari object class yang lain,
§  Inheritance menyatakan suatu generalisasi suatu class,

Generalisasi


Library Class Hierarchy





Keuntungan Inheritance:

§  Merupakan mekanisme abstraksi yang dapat digunakan untuk mengklasifikasikan entitas
§  Merupakan mekanisme re-use pada tahap perancangan dan pemrograman
§  Grafik Inheritance adalah suatu bentuk gambaran tetang organisasi pada suatu domain dan sistem

Multiple Inheritance




§  Suatu object class dapat pula dibentuk dari turunan beberapa super-class,
§  Akan memberikan dampak konflik semantic dimana atribut/service dengan nama yang sama pada super-class yang berbeda memiliki semantic yang berbeda
§  Membentuk hierarchy yang lebih kompleks

Masalah dengan Inheritance

§  Object class tidak self-contain, sehingga tidak dapat diketahui tanpa referensi ke super-classnya
§  Perancang memiliki tendensi untuk melakukan reuse terhadap graph inheritance yang sudah dibuat sehingga dapat menimbulkan ketidak efisiensian yang signifikan

Object Agregasi

Model agregasi menunjukkan bagaimana class-class dibentuk dari class yang lainnya
Similar dengan relasi: part-of dalam model data semantic





















Encapsulation

§  Private: attributes dan methods dienkapsulasi dalam class sehingga dapat diakses oleh clien akses tersebut -> hanya dapat diakses oleh member class tersebut.
§  Public: metode mendefinisikan inteface sebagai sarana mengakses class dari clint-nya.Dapat diakses oleh object manapun.
§  Protected: hanya dapat diakses oleh object-class turunannya









Customer class
 
 

















Komunikasi dalam object

§  Object berkomunikasi dengan object lain melalui pengiriman pesan (messages)
o   Suatu pesan adalah suatu metode call dari suatu object pengirim-pesan ke suatu object penerima pesan
o   Suatu pesan terdiri dari: Object referensi yang mengindikasikan penerima pesan, nama method dan parameter (argumen dari method)
§  Object penerima pesan disebut server ke object pengirim pesan, dan objek pengirim pesan adalah client dari server.

 




















Object Cohesion dan Coupling
Cohesion suatu komponen adalah ukuran tentang hubungan antara komponen suatu object class. Setiap operasi menyediakan fungsi untuk mengubah, melihat, atau menggunakan atribut object sebagai layanan dasar,

Coupling adalah suatu indikasi kekuatan interkoneksi antara program units. Sistem dengan coupling yg kuat memiliki interkoneksi yang kuat sehingga setiap program unit sangat ketergantungan dengan yang lainnya (mis.: shared variables, interchange control function). Sistem dengan couple yang lemah tidak memiliki ketergantungan yang kuat antar program units.


Polymorphism
§  Kemampuan object yang berbeda untuk menjalankan method yang sesuai untuk merespon ke pesan yg sama
§  Pemilihan method yang sesuai tergantung pada class yg digunakan untuk membuat object
 











Contoh:

class Shape {
  private String name;
  public Shape(String aName) { name=aName; }
  public String getName( ) { return name; }
  public float calculateArea( ) { return 0.0f; }
} // End Shape class

class Circle extends Shape {
  private float radius;
  public Circle(String aName) { super(aName); radius = 1.0f; }
  public Circle(String aName, float radius) {
    super(aName); this.radius = radius;
  }
  public float calculateArea() { return (float)3.14f*radius*radius; }
} // End Circle class

class Square extends Shape {
  private float side;
  public Square(String aName) { super(aName); side = 1.0f; }
  public Square(String aName, float side) {
    super(aName); this.side = side;
  }
  public float calculateArea() { return (float) side*side; }
} // End Square class

public class ShapeDemoClient {
  public static void main(String argv[ ]) {
   Shape c1 = new Circle("Circle C1");
   Shape c2 = new Circle("Circle C2", 3.0f);
   Shape s1 = new Square("Square S1");
   Shape s2 = new Square("Square S2", 3.0f);
   Shape shapeArray[ ] = {c1, s1, c2, s2};
   for (int i = 0; i < shapeArray.length; i++) {
     System.out.println("The area of " + shapeArray[i].getName( )    
                        + " is " + shapeArray[i].calculateArea( )
                        + " sq. cm.");
   }
  } // End main
} // End ShapeDemoClient1 class

OO Analysis: mencari kebutuhan dari perpektif class dan object yang ditemukan dalam suatu vocabulary dari domain masalah. Dengan kata lain, world (system) dimodelkan dalam bentuk object dan class,
OO Design: Dekomposisi OO dan suatu notasi untuk menggambarkan model system pada tahap pengembangan. Struktur dibentuk setelah object yang berhubungan dengan system sudah didefinisikan.

OO-Analisis:

§  Menganalisa domain masalah

§  Menggambarkan proses system

§  Identifikasi object
§  Spesifikasi atribut
§  Mendefinisikan Operation
§  Inter-object Communication

Identifikasi Suatu Object
§  Entitas luar (mis.: system lain, alat, orang) yang menghasilkan / menggunakan informasi yang digunakan system
§  Benda (mis.: laporan, tampilan, surat, signal) yang merupakan bagian informasi
§  Peran (mis: manager, engineer, salesperson) yang dimainka oleh orang yang berinteraksi dengan system,
§  Tempat(mis.: ruangan) yang menyediakan konteks permasalah dan fungsi keseluruhan system,
§  Unit organisasi (mis.: divisi, group, team) yang relevan ke aplikasi,


























Class Fitting




 














Object Relations

 
















Package














Unified Modelling Language


The Unified Modeling Language (UML) is a standard language for writing software blueprints.
The UML may be used to visualize, specify, construct, and document the artifacts of a software­intensive system.

Building Blocks

Things
Relationships
Diagrams

Things:
Structural things
nclasses, interfaces, collaborations, use cases, active classes, components, nodes.
Behavioral things
n interactions, state machines.
Grouping things
n packages.
Annotational things
n notes.

Class

Class Inheritance

Class - Dependencies

A change in specification of one thing may effect another thing that uses it


Class – Association
A structural relationship that specifies that objects of one thing are connected to objects of another.
Name: name of association
Role: a specific role of class in an association
Multiplicity, an association represent a structural relationship among objects: zero to one(0..1), many(0..*) or one or more (1..*)
Aggregation: a plain association between two classes represents a structural relationship “whole-a-part”

Association, Multiplicity, Aggregation and Role


 


















Structural Things – Use Case

Specifies the behavior of a system or a part of a system and is a description of a set of sequences of actions, including variants, that a system performs to yield an observable result of value to an actor.



Use Case Diagram
One of the five diagrams (activity diag., statechart diag., sequence diag., collaboration diag.) in the UML for modeling the dynamic aspects of systems.
Central to modeling the behavior of a system, a subsystem, or a class,

Use Case Diagram


Statechart Diagram
A statechart diagram shows a state machine, consisting of states, transitions, events, and activities.

Activity Diagram
An activity diagram is a special kind of a statechart diagram that shows the flow from activity to activity within a system.

Sequence Diagram
A sequence diagram is an interaction diagram that emphasizes the time­ordering of messages.


Component Diagram
Component diagram shows an organization and dependencies of a group of components.




Deployment Diagram

Deployment diagram shows the configuration of run-time node processing and its components.






PENERAPAN TEKNIK KOMPRESI PADA SIMULASI ALGORITMA LEMPEL ZIV

Kebutuhan akan kapasitas penyimpanan yang besar nampaknya makin penting. Kebutuhan ini, disebabkan oleh data yang harus disimpan makin lama semakin bertambah banyak, khususnya bagi dunia usaha dan perbankan. Perusahaan tersebut umumnya sangat membutuhkan kapasitas yang sangat besar, untuk menyimpan semua data dan file-file penting. Penyimpanan tersebut bukan hanya dialokasikan pada satu tempat saja. Tapi mereka juga akan menyimpan data atau file-file tersebut pada tempat yang lain. Meskipun yang disimpan tersebut sama, hal ini berguna untukbackup data. Backup perlu dilakukan karena tidak ada yang menjamin suatu data pada tempat penyimpanan didalam komputer tidak akan mengalami kerusakan. Alangkah banyaknya kapasitas penyimpanan yang harus disediakan untuk menampung semua hal tersebut.
Untunglah data-data tersebut dapat dimampatkan (compress) terlebih dahulu sehingga tempat yang dibutuhkan dimemori semakin sedikit dan waktu yang dibutuhkan untuk berkomunikasi lebih pendek, sehingga kegagalan dalam manipulasi data lebih  sedikit. Metoda pemampatan yang digunakan pada saat ini adalah dengan cara memampatkan file-file yang sudah jadi (file asal) lalu dimampatkan dan baru di komunikasikan. Setelah sampai data hasil pemampatan tersebut pada si penerima, lalu dilakukan penirmampatan (de-compress) untuk mengembalikan ke bentuk asal, baru file tersebut dapat digunakan.
Semakin berkembangnya teknologi jaringan  maka semakin banyak  pula  data-data atau file-file yang ingin kita simpan, tetapi kadang kala kapasitas memory yang kita miliki tidak sebanding dengan data yang akan kita simpan. Oleh karena itu data-data yang akan disimpan perlu dikompres terlebih dahulu supaya ukurannya menjadi lebih kecil. Apabila ukuran data dapat dikompres menjadi lebih kecil dari ukuran aslinya, maka secara otomatis memory dapat menyimpan data lebih banyak lagi dan dari segi pengiriman pun akan semakin cepat. Pada saat ini banyak sekali perangkat lunak yang digunakan untuk menangani masalah kompresi data. Perangkat lunak tersebut digunakan untuk mengefisienkan kapasitas penyimpanan data, selain itu juga kompresi data dapat mencegah kerusakan data.
Secara umum pemampatan data merupakan merubah suatu simbol-simbol menjadi suatu kode-kode. Pemampatan dikatakan efektif jika ukuran perolehan kode-kode tersebut sangat kecil dibandingkan dengan ukuran kode simbol aslinya. Dari suatu kode-kode atau simbol-simbol dasar suatu model akan dinyatakan dalam kode khusus. Secara model sederhana suatu kumpulan data dan aturan-aturan untuk memproses masalah suatu simbol-simbol untuk menentukan suatu kode-kode sebagai hasil keluaran. Dalam pengkodean dengan metode LZW.

Popular Posts