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);
}
}
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);
}
}
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
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