Posts filed under ‘OOAD dan UML’

Artikel OOAD dan UML

ARTIKEL OOAD DAN UML

Selama ini mungkin kita sudah memahami dan mengerti tentang tahapan-tahapan pembangunan software atau yang lebih dikenal dengan SDLC. Salah satu tool atau model untuk merancang pengembangan software yang berbasis object oriented adalah UML. Sebelum kita mengenal pengertian dan pemahaman akan UML dan OOAD leih jauh, kita coba melihat sejarah timbulnya UML dan OOAD ini, diantaranya sebagai berikut :

I. Sejarah Singkat UML

UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO

(Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah system blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software. Pendekatan analisa & rancangan dengan menggunakan model OO (Object-Oriented) mulai diperkenalkan sekitar pertengahan 1970 hingga akhir 1980 dikarenakan pada saat itu aplikasi software sudah meningkat dan mulai komplek. Jumlah yang menggunakaan metoda OO (Object-Oriented) mulai diuji cobakan dan diaplikasikan antara 1989 hingga 1994, seperti halnya oleh Grady Booch dari Rational Software Co., dikenal dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh dari General Electric, dikenal dengan OMT (Object Modelling Technique). Kelemahan saat itu disadari oleh Booch maupun Rumbaugh adalah tidak adanya standar penggunaan model yang berbasis OO (Object-Oriented), ketika mereka bertemu ditemani rekan lainnya Ivar Jacobson dari Objectory mulai mendiskusikan untuk mengadopsi masing-masing pendekatan metoda OO (Object-Oriented) untuk membuat suatu model bahasa yang uniform / seragam yang disebut UML (Unified Modeling Language) dan dapat digunakan oleh seluruh dunia. Secara resmi bahasa UML dimulai pada bulan oktober 1994, ketika Rumbaugh bergabung Booch untuk membuat sebuah project pendekatan metoda yang uniform/seragam dari masing-masing metoda mereka. Saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE sehingga muncul release version 0.9 pada bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management Group), Anderson Consulting, Ericsson, Platinum Technology, ObjectTime Limited, dll serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn. UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-standar teknologi objectoriented dan software component.

II. Pengenalan “Unified Modeling Language/UML”

Unified Modeling Language (UML) adalah bahasa standart untuk melakukan spesifikasi, visualisasi, konstruksi, dan dokumentasi dari komponen-komponen perangkat lunak, dan digunakan untuk pemodelan bisnis. Dalam UML juga digunakan notasi grafis dalam menyatakan suatu desain.

II.1 Konsep Objek.

Obejct dalam Software analisis dan design adalah sesuatu yang berupa konsep, benda dan sesuatu yang membedakan dengan lingkunganya. Secara sederhana object adalah mobil, manusia, alarm dan lainya.

Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem seperti tabel, database, event, system messages. Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciriciri ini yang akan membedakan obyek tersebut dari obyek lainnya. Alasan mengapa saat ini pendekatan dalam pengembangan software dengan object-oriented, pertama adalah scalability dimana obyek lebih mudah dipakai untuk menggambarkan sistem yang besar dan komplek. Kedua dynamic modeling, adalah dapat dipakai untuk permodelan sistem dinamis dan real time

II.2 Teknik Dasar OOA/D (Object-Oriented Analysis/Design)

Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat

kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan

beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal

ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D,

yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.

a. Pemodulan (Encapsulation)

Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan menekan tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.

b. Penurunan (Inheritance)

Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus.

c. Polymorphism

Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup atau pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, danmetoda yang dibatasi.

III.Pengenalan UML

UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software.

UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, tests, dan prototypes. Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).

IV. Pemodelan dengan UML

Pemodelan dengan UML terdiri dari 8 tipe diagram yang berbeda untuk memodelkan sistem perangkat lunak, yaitu :

- Use Case Diagram

- Class Diagram

- Obejct Diagram

- State Diagram

- Activity Diagram

- Sequence Diagram

- Collaboration Diagram

- Component Diagram

- Deploment Diagram

-

V. Berikut Beberapa Contoh Program dalam Java

- Penerapan Class Diagram

Contoh ke-1

// —————————————————————————————

// Penerapan Class Diagram

// Nama file: ClasDiagram1.java

// Contoh penggunaan kelas sederhana

// —————————————————————————————

class ClasDiagram1

{

int p = 10; // variabel objek

int l = 5; // variabel objek

// Metode untuk menghitung luas lingkaran

double hitungLuas()

{

return p * l;

}

public static void main (String[ ] args)

{

ClasDiagram1 luas = new ClasDiagram1(); // mendeklarasikan objek

System.out.println (“Luas pp = ” + luas.hitungLuas());

}

}

Contoh ke-2

// ——————————————————————————————-

// Penerapan Class Diagram

// Nama file: Constr.java

// Contoh penggunaan constructor tanpa argumen

// ——————————————————————————————-

class Constr

{

static final double pi = 3.14; // variabel kelas dengan nilai tetap

double radius=10; // variabel objek

String warna=”Merah”;

// Constructor kelas

Constr ()

{

}

// Metode untuk menghitung luas lingkaran

double hitungLuas()

{

return pi * radius * radius;

}

public static void main (String[ ] args)

{

Constr lingk = new Constr(); // Membuat objek

// Menampilkan luas objek

System.out.println (“Luas lingkaran = ” + lingk.hitungLuas());

System.out.println (“Warna lingkaran = ” + lingk.warna);

}

}

Contoh ke-3

// ——————————————————————————————-

// Penerapan Class Diagram

// Nama file: Karyawan.java

// Contoh penggunaan overloading constructor

// ——————————————————————————————-

class Karyawan

{

private int noKar; // variabel kelas

private String nama, alamat;

// constructor dengan beberapa parameter

public Karyawan (int k, String n, String a)

{

this.noKar = k;

this.nama = n;

this.alamat = a;

}

// constructor tanpa parameter

public Karyawan ()

{

}

// constructor dengan satu parameter

public Karyawan (String n)

{

this.nama = n;

}

public static void main (String[ ] args)

{

// Membuat objek dengan constructor pertama

Karyawan kar1 = new Karyawan(1, “Andi”, “Jl Thamrin 10″);

// Membuat objek dengan constructor kedua

Karyawan kar2 = new Karyawan();

// Membuat objek dengan constructor ketiga

Karyawan kar3 = new Karyawan(“Rina”);

// Menampilkan data

System.out.println (“Nomor Karyawan : ” + kar1.noKar); System.out.println (“Nama Karyawan: ” + kar1.nama);

System.out.println (“Alamat Karyawan: ” + kar1.alamat);

System.out.println (“Nomor Karyawan : ” + kar2.noKar); System.out.println (“Nama Karyawan: ” + kar2.nama);

System.out.println (“Alamat Karyawan: ” + kar2.alamat);

System.out.println (“Nomor Karyawan : ” + kar3.noKar); System.out.println (“Nama Karyawan: ” + kar3.nama);

System.out.println (“Alamat Karyawan: ” + kar3.alamat);

}

}

December 6, 2008 at 2:42 am Leave a comment

Artikel OOAD dan UML

ARTIKEL OOAD DAN UML

Selama ini mungkin kita sudah memahami dan mengerti tentang tahapan-tahapan pembangunan software atau yang lebih dikenal dengan SDLC. Salah satu tool atau model untuk merancang pengembangan software yang berbasis object oriented adalah UML. Sebelum kita mengenal pengertian dan pemahaman akan UML dan OOAD leih jauh, kita coba melihat sejarah timbulnya UML dan OOAD ini, diantaranya sebagai berikut :

I. Sejarah Singkat UML

UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software berbasis OO

(Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah system blue print, yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software. Pendekatan analisa & rancangan dengan menggunakan model OO (Object-Oriented) mulai diperkenalkan sekitar pertengahan 1970 hingga akhir 1980 dikarenakan pada saat itu aplikasi software sudah meningkat dan mulai komplek. Jumlah yang menggunakaan metoda OO (Object-Oriented) mulai diuji cobakan dan diaplikasikan antara 1989 hingga 1994, seperti halnya oleh Grady Booch dari Rational Software Co., dikenal dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh dari General Electric, dikenal dengan OMT (Object Modelling Technique). Kelemahan saat itu disadari oleh Booch maupun Rumbaugh adalah tidak adanya standar penggunaan model yang berbasis OO (Object-Oriented), ketika mereka bertemu ditemani rekan lainnya Ivar Jacobson dari Objectory mulai mendiskusikan untuk mengadopsi masing-masing pendekatan metoda OO (Object-Oriented) untuk membuat suatu model bahasa yang uniform / seragam yang disebut UML (Unified Modeling Language) dan dapat digunakan oleh seluruh dunia. Secara resmi bahasa UML dimulai pada bulan oktober 1994, ketika Rumbaugh bergabung Booch untuk membuat sebuah project pendekatan metoda yang uniform/seragam dari masing-masing metoda mereka. Saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di release pada bulan oktober 1995. Bersamaan dengan saat itu, Jacobson bergabung dan UML tersebut diperkaya ruang lingkupnya dengan metoda OOSE sehingga muncul release version 0.9 pada bulan Juni 1996. Hingga saat ini sejak Juni 1998 UML version 1.3 telah diperkaya dan direspons oleh OMG (Object Management Group), Anderson Consulting, Ericsson, Platinum Technology, ObjectTime Limited, dll serta di pelihara oleh OMG yang dipimpin oleh Cris Kobryn. UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-standar teknologi objectoriented dan software component.

II. Pengenalan “Unified Modeling Language/UML”

Unified Modeling Language (UML) adalah bahasa standart untuk melakukan spesifikasi, visualisasi, konstruksi, dan dokumentasi dari komponen-komponen perangkat lunak, dan digunakan untuk pemodelan bisnis. Dalam UML juga digunakan notasi grafis dalam menyatakan suatu desain.

II.1 Konsep Objek.

Obejct dalam Software analisis dan design adalah sesuatu yang berupa konsep, benda dan sesuatu yang membedakan dengan lingkunganya. Secara sederhana object adalah mobil, manusia, alarm dan lainya.

Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem seperti tabel, database, event, system messages. Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciriciri ini yang akan membedakan obyek tersebut dari obyek lainnya. Alasan mengapa saat ini pendekatan dalam pengembangan software dengan object-oriented, pertama adalah scalability dimana obyek lebih mudah dipakai untuk menggambarkan sistem yang besar dan komplek. Kedua dynamic modeling, adalah dapat dipakai untuk permodelan sistem dinamis dan real time

II.2 Teknik Dasar OOA/D (Object-Oriented Analysis/Design)

Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat

kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan

beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal

ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D,

yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism.

a. Pemodulan (Encapsulation)

Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan menekan tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.

b. Penurunan (Inheritance)

Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus.

c. Polymorphism

Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (child) melakukan metoda yang sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup atau pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut, danmetoda yang dibatasi.

III.Pengenalan UML

UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan / aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software.

UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, tests, dan prototypes. Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).

IV. Pemodelan dengan UML

Pemodelan dengan UML terdiri dari 8 tipe diagram yang berbeda untuk memodelkan sistem perangkat lunak, yaitu :

- Use Case Diagram

- Class Diagram

- Obejct Diagram

- State Diagram

- Activity Diagram

- Sequence Diagram

- Collaboration Diagram

- Component Diagram

- Deploment Diagram

-

V. Berikut Beberapa Contoh Program dalam Java

- Penerapan Class Diagram

Contoh ke-1

// —————————————————————————————

// Penerapan Class Diagram

// Nama file: ClasDiagram1.java

// Contoh penggunaan kelas sederhana

// —————————————————————————————

class ClasDiagram1

{

int p = 10; // variabel objek

int l = 5; // variabel objek

// Metode untuk menghitung luas lingkaran

double hitungLuas()

{

return p * l;

}

public static void main (String[ ] args)

{

ClasDiagram1 luas = new ClasDiagram1(); // mendeklarasikan objek

System.out.println (“Luas pp = ” + luas.hitungLuas());

}

}

Contoh ke-2

// ——————————————————————————————-

// Penerapan Class Diagram

// Nama file: Constr.java

// Contoh penggunaan constructor tanpa argumen

// ——————————————————————————————-

class Constr

{

static final double pi = 3.14; // variabel kelas dengan nilai tetap

double radius=10; // variabel objek

String warna=”Merah”;

// Constructor kelas

Constr ()

{

}

// Metode untuk menghitung luas lingkaran

double hitungLuas()

{

return pi * radius * radius;

}

public static void main (String[ ] args)

{

Constr lingk = new Constr(); // Membuat objek

// Menampilkan luas objek

System.out.println (“Luas lingkaran = ” + lingk.hitungLuas());

System.out.println (“Warna lingkaran = ” + lingk.warna);

}

}

Contoh ke-3

// ——————————————————————————————-

// Penerapan Class Diagram

// Nama file: Karyawan.java

// Contoh penggunaan overloading constructor

// ——————————————————————————————-

class Karyawan

{

private int noKar; // variabel kelas

private String nama, alamat;

// constructor dengan beberapa parameter

public Karyawan (int k, String n, String a)

{

this.noKar = k;

this.nama = n;

this.alamat = a;

}

// constructor tanpa parameter

public Karyawan ()

{

}

// constructor dengan satu parameter

public Karyawan (String n)

{

this.nama = n;

}

public static void main (String[ ] args)

{

// Membuat objek dengan constructor pertama

Karyawan kar1 = new Karyawan(1, “Andi”, “Jl Thamrin 10″);

// Membuat objek dengan constructor kedua

Karyawan kar2 = new Karyawan();

// Membuat objek dengan constructor ketiga

Karyawan kar3 = new Karyawan(“Rina”);

// Menampilkan data

System.out.println (“Nomor Karyawan : ” + kar1.noKar); System.out.println (“Nama Karyawan: ” + kar1.nama);

System.out.println (“Alamat Karyawan: ” + kar1.alamat);

System.out.println (“Nomor Karyawan : ” + kar2.noKar); System.out.println (“Nama Karyawan: ” + kar2.nama);

System.out.println (“Alamat Karyawan: ” + kar2.alamat);

System.out.println (“Nomor Karyawan : ” + kar3.noKar); System.out.println (“Nama Karyawan: ” + kar3.nama);

System.out.println (“Alamat Karyawan: ” + kar3.alamat);

}

}

December 6, 2008 at 2:27 am Leave a comment

Rekayasa Sistem Informasi

Kepada Yth :

Rekan-rekan yang mengambi, matakuliah tersebut, minggu ini kita masuk jam ke-2,

dikarena pagi saya berhalangan tolong info ke-rekan lainya

Pak Petrus.P

November 29, 2008 at 1:24 am Leave a comment

DI cari segera Estimator

Dibutuhkan Segera seorang Estimator untukperusahaan Property di daerah Jakarta Selatan

dengan syarat :

1. S1 Teknik Sipil

2. IPK min 2.75

3. Pengalaman di Bidang yang sama , 2 tahun

segera kirimkan lamaran anda ke : it@lembonghouse.com atau ke lembonghouse@cbn.net.id

November 3, 2008 at 4:10 am Leave a comment


Calendar

May 2012
M T W T F S S
« Dec    
 123456
78910111213
14151617181920
21222324252627
28293031  

Posts by Month

Posts by Category


Follow

Get every new post delivered to your Inbox.