Tuesday, April 20, 2010

Laporan KRS Online

Kelompok :

Arie Wahyu Triansyah
Apriyantika H
Anita Lubis
Reza Fualdi
Hendi


Laporan KRS Online



  1. Pendahuluan


Pemrograman berorientasi objek atauobject-oriented programming (OOP)merupakan paradigma pemrogramanyang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelasatau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.


Pemrograman Berorientasi objek mampunya ciri sebagai berikut :


  1. semua adalah objek (hampir) = “objek” adalah variable yang istimewa.

  2. program adalah kumpulan dari objek-objek yang saling berinteraksi dengan mengirimkan pesan. Cara mengirimkan pesannya adalah = dengan memanggil method dari objek bersangkutan.

  3. setiap objek mempunyai memory masing-masing yang tersusun dari objek-objek lain.

  4. setiap objek mempunyai fasi = “type” disebut “class”

  5. semua objek dari tipe tertentu dapat menerima pesan yang sama.

Semua objek mempunyai :

state” = Attribute fie

behavior” = Method member function

identity” = Alamat memory






Dalam Project ini kelompok kami akan membuat Program aplikasi KRS (Kartu Rencana Study) Online yang harus di isi oleh mahasiswa setiap memasuki semester baru. Program aplikasi ini sangat diperlukan universitas agar mempunyai database mahasiswanya dan dapat dengan mudah mengatur dan menyimpan jadwal perkuliahan mahasiswa agar tidak bentrok dengan mahasiswa lainnya.


























  1. Dasar Teori


Dalam membuat program dalam OOP adalah dengan membagi tahapan-tahapan terlebih dahulu. Awal mulanya harus menentukan objek apa saja yang akan digunakan, lalu memasukkan interface yang berkaitan dengan objek-objek tersebut. Setelah itu membuat use case diagramnya dengan menggunakan actor dan interface didalamnya. Bila use case diagramnya sudah jadi diteruskan dengan membuat sequence diagram yang dimana diagram tersebut akan menghubungkan objek satu dengan yang lainnya sampai menghasilkan hasil akhir. Setelah use case dan sequence diagram selesai dibuat dilanjutkan dengan menentukan class diagram.


  • Use case Diagram


Saat membuat program dalam OOP diperlukan diagram UML yang terdiri dari use case diagram dan sequence diagram. Use case diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun. Use case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar. Use case diagram dapat digunakan selama proses analisis untuk menangkap requirements sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, use case diagram berperan untuk menetapkan perilaku (behavior) sistem saat diimplementasikan. Dalam sebuah model mungkin terdapat satu atau beberapa use case diagram. Kebutuhan atau requirements sistem adalah fungsionalitas apa yang harus disediakan oleh sistem kemudian didokumentasikan pada model use case yang menggambarkan fungsi sistem yang diharapkan (use case), dan yang mengelilinginya (actor), serta hubungan antara actor dengan use case (use case diagram) itu sendiri.

  • Sequence Diagram

Suatu sequence diagram adalah suatu penyajian perilaku yang tersusun sebagai rangkaian langkah-langkah percontohan dari waktu ke waktu. Sequence diagram digunakan untuk menggambarkan arus pekerjaan, pesan yang sampaikan dan bagaimana elemen-elemen di dalamnya bekerja sama dari waktu ke waktu untuk mencapai suatu hasil. Masing – masing urutan elemen diatur di dalam suatu urutan horisontal, dengan pesan yang disampaikan dibelakang dan didepan diantara elemen-elemen.

  • Seorang elemen aktor digunakan untuk menghadirkan pemakai yang memulai alur peristiwa / kejadian.

  • Elemen – elemen yang ditiru, seperti boundary, control dan entity, digunakan untuk menggambarkan layar, pengontrol, dan materi database, secara berturut-turut.

  • Masing-masing elemen yang dihubungkan garis – garis batang disebut suatu lifeline, di mana jika unsur itu berpotensi mengambil bagian dalam interaksi itu.

  • Class Diagram

Sementara class diagram di gunakan untuk menampilkan kelas – kelas atau paket – paket di dalam system dan relasi atau hubungan antara objek, class diagram memberikan gambaran secara statis. Biasanya, di buat beberapa class diagram untuk satu system. Satu class diagram menampilkan subset dari kelas – kelas dan relasinya, menampilkan nama class, operasi dan atribut, menampilakan paket – paket kelas dan relasi antara paket.

Class diagram membantu untuk mendapatkan struktur system sebelum menuliskan kode program, membantu untuk memastikan bahwa sistem adalah rancangan terbaik.


  1. Diagram UML


Use case diagram KRS online

Use Case yang kami buat ini adalah baru sebagian kecil fungsionalitas yang di lakukan dalam system KRS, mungkin masih banyak fungsionalitas lainnya yang di lakukan dalam system KRS yang belum teridentifikasi oleh kami. Oleh karena, itu kami memerlukan saran atau kritik terhadap system KRS yang kami buat.

Pada system KRS yang kami buat ini, baru ada dua fungsionalitas yang kami ketahui atau teridentifikasi yaitu login dan milih Mata Kuliah. Pertama kami mengidentifikasi login, setiap system di perlukan login untuk melakukan autorisasi dari system terhadap user yang akan memasuki system tersebut dan juga sebagai security yang berguna agar data yang kita miliki tidak di ambil orang lain. Kedua fungsional milihMK setelah kita masuk ke dalam system, karena ini adalah system (KRS) Kartu Rencana Study online yang biasanya di perlukan oleh mahasiswa untuk memudahkan universitas dalam mengatur jadwal perkuliahan, memudahkan mahasiswa memilih mata kuliah yang akan di ambil dan menyimpannya ke dalam database universitas yang bersangkutan.

Sementara bagaimana fungsionalitas – fungsionalitas ini berkerja atau berinteraksi dengan menggunakan obyek – obyek yang tersedia dalam use case, obyek apa saja yang di butuhkan untuk satu fungsionalitas, pesan apa saja yang obyek kirimkan ke obyek lainnya dan urutan pesan – pesan yang di kirimkan. kami akan membahasnya pada bagian selanjutnya dalam sequence diagram.

Sequence diagram Login

Cara kerja use case login, yaitu :

  1. Aktor (mahasiswa) mengirimkan initial message “login” ke system untuk di proses.

  2. Obyek LoginForm akan menerima initial message tesebut, dan mengirimkan message “inputData“ ke obyek LoginFormManager.

  3. Obyek LoginFormManager menerima message dari obyek LoginForm, kemudian mengirimkan message “membacaData“ ke obyek PenyimpananData.

  4. Jika pesan tebaca obyek PenyimpananData akan mengirimkan message ke dirinya sendiri berupa “masukSystem”.





Sequence diagram Milih Mata Kuliah


Pada use case milih mata kuliah kami membuatkan sebuah sequence diagram untuk menunjukan cara kerja dari use case tersebut.


  1. Aktor (mahasiswa) mengirimkan sebuah initial message ke sytem berupa “milihMK” (use case) sebagai perintah pertama. Initial message dari aktor di terima oleh obyek PemilihanMK untuk di proses system.

  2. Kemudian Obyek PemilihanMK mengirimkan message ke obyek DaftarMK untuk “memintaDaftarMK“, dan Obyek DaftarMK mengembalikan sebuah nilai.

  3. Setelah aktor melakukan proses PemilihanMK, obyek PemilihanMK mengirimkan pesan kembali untuk “inputData“, ke Obyek PenyimpananData.

  4. Data di simpan dalam Obyek PenyimpananData kemudian obyek tersebut mengirimkan message ke obyek Admin berupa “konfirmasi”.

  5. Obyek Admin mengirimkan message ke obyek printer berupa “cetakData”.

  6. Obyek Printer mengirimkan message pada dirinya sendiri yaitu “keluarkanJadwal”.

Class Diagram KRS Online

Class diagram dari use case

  1. Implementasi Java


  • login

import javax.swing.JOptionPane;

public class KRSAPP {

public static void main (String [] arg){

PemilihanMK PMK = new PemilihanMK();

PMK.milihMK();

LoginForm LF = new LoginForm();

LF.login();


String KRS = "KRS online";

String UAI = "Universitas Al Azhar Indonesia";

JOptionPane.showMessageDialog(null, KRS + "\n" + UAI);

}

}

public class LoginForm {

LoginFormManager LFM;

LoginForm()

{

LFM = new LoginFormManager();

}

public void login()

{

LFM.inputData();

}

}


public class LoginFormManager {

PenyimpananData PD;

LoginFormManager()

{

PD = new PenyimpananData();

}

public void inputData()

{

PD.membacaData();

}

}


public class PenyimpananData {

Admin ADM;

PenyimpananData()

{

ADM = new Admin();

}

public void inputData()

{

ADM.konfirmasi();

}


public void membacaData()

{

masukPemilihanMK();

}

private static void masukPemilihanMK()

{

}

}






  • milihMK
























import javax.swing.JOptionPane;

public class KRSAPP {

public static void main (String [] arg){

PemilihanMK PMK = new PemilihanMK();

PMK.milihMK();

LoginForm LF = new LoginForm();

LF.login();


String KRS = "KRS online";

String UAI = "Universitas Al Azhar Indonesia";

JOptionPane.showMessageDialog(null, KRS + "\n" + UAI);

}

}



import java.util.Vector;

class PemilihanMK {

DaftarMK DMK;

PenyimpananData PD;

PemilihanMK()

{

DMK = new DaftarMK();

PD = new PenyimpananData();

}

public void milihMK()

{

Vector v = DMK.mintaDaftar ();

PD.inputData();

tampilkanMK();

}

private static void tampilkanMK()

{

}

}










public class DaftarMK {

public Vector mintaDaftar()

{

Vector v = new Vector();



return new Vector();

}

}


public class PenyimpananData {

Admin ADM;

PenyimpananData()

{

ADM = new Admin();

}

public void inputData()

{

ADM.konfirmasi();

}


public void membacaData()

{

masukPemilihanMK();

}

private static void masukPemilihanMK()

{

}

}



public class Admin {

Printer PTR;

Admin ()

{

PTR = new Printer();

}

public void konfirmasi ()

{

PTR.cetakData();

}

}




public class Printer {

public void cetakData()

{

keluarkanJadwal();

}

private void keluarkanJadwal()

{

}

}



  1. Output



Wednesday, April 14, 2010

Pemrograman berorientasi obyek: Permainan catur

Laporan Object Oriented Programming Kelompok 3

Nama Anggota Kelompok :
1. Intan Fitrah Ismailiyah , email : dmoon_lady at yahoo dot com
2. Siti Nurkomariah , email : nuyynuyy.saputro at gmail dot com
3. Anissa Puspita Descarianti , email : nisya.shasya at gmail dot com
4. Putri Sri Nilakandi , email : candy.pidie at gmail dot com
5. Efan Setiawan

  1. Pendahuluan

Pemrograman berorientasi objek

object-oriented programming disingkat OOPmerupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Konsep dasar dari Pemrograman Berorientasi Objek

Pemrograman orientasi-objek menekankan konsep berikut:

  • Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

  • Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

  • Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin 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 tersebut.

  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsionalyang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

  • Inheritas - Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas).

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.

Projek Permainan Catur

Projek yang Kami buat adalah aplikasi permainan catur, Class dalam interface-nya ada 4, yaitu: Permainan, Pemain, Papan Catur, dan Bidak Catur.

Dimana masing-masing class mempunyai objek, seperti :

  • Permainan → mulai () dan selesai ()

  • Pemain → pilihWarna () dan jalankanBidak ()

  • Papan Catur → ambilposisiBidak ()

  • Bidak Catur → jalan () dan makan ()

Setelah interface dibuat, lalu kami membuat use case diagram. Dimana actor akan menjalankan prosesnya.

Use case diagram pada tahap pertama yaitu : pilihWarna dan jalankanBidak. Setelah Use case diagram dibuat, lalu dibuat sequence diagram. Disinilah proses tujuannya.

Kami membuat dalam applikasi StarUML dan Netbeans.

  1. Dasar Teori

UML

UML merupakan bahsa pemodelan yang paling sukses dari tiga metode OO yang telah ada sebelumnya, yaitu Booch, OMT dan OOSE. UML merupakan kesatuan dari ketiga metode pemodelan tersebut dan ditambah kemampuan lebih untuk mengatasi masalah pemodelan yang tidak bisa ditangani ketiga metode tersebut. UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan sistem yang besar dan kompleks.

Tujuan Penggunaan UML

a. Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.

b. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.

c. Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.

d. UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).

Ada tiga cara dalam memakai UML dalam melakukan pemodelan system :1. UML sebagai sketsa UML digambarkan dalam sketsa coretan-coretan dalam kertas atau whitboard secara tidak formal. Biasanya digunakan dalam sesi diskusi tim untuk membahas aspek tertentu dalam tahap analisis dan perancangan. 2. UML sebagai blueprint system. Seperti diagram kelistrikan adalah blueprint dari komponen atau produk yang akan dihasilkan, UML juga bisa menggambarkan blueprint yang identik untuk sebuah system software. 3. UML sebagai bahasa pemrograman UML berfungsi sebagai bahasa pemrograman mencoba melakukan semuanya dengan UML sampai kepada produk jadinya. Analisis dan perancangan dilakukan dengan diagram-diagram yang ada dalam UML, sementara sebuah tool atau generator bisa menghasilkan produk akhir dari diagram-diagram ini.

Use Case

Use case class digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang disediakan oleh sistem (or bagian sistem: subsistem atau class) ke pemakai. ● Use case dapat dilingkupi dengan batasan sistem yang diberi label nama sistem. ● Use case adalah sesuatu yang menyediakan hasil yang dapat diukur ke pemakai atau sistem eksternal.

Karakteristik :

Use cases adalah interaksi atau dialog antara sistem dan actor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem. – Use cases diprakarsai oleh actor dan mungkin melibatkan peran actor lain. Use cases harus menyediakan nilai minimal kepada satu actor. – Use cases bisa memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau use case lain mungkin disisipkan. – Use case class memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal.

Komponen Pembentuk Use Case Diagram :

  • Actor

Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man . Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.

Gambar Actor

  • Use Case

Use case adalahgambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.

Use case diagram adalahpenggambaran sistem dari sudut pandang pengguna sistem tersebut (user), sehingga pembuatan use case lebih dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian.

Cara menentukan Use Case dalam suatu sistem:

a. Pola perilaku perangkat lunak aplikasi.

b. Gambaran tugas dari sebuah actor.

c. Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada actor.

d. Apa yang dikerjakan oleh suatu perangkat lunak (*bukan bagaimana cara mengerjakannya).

Gambar Use Case

Relasi dalam Use Case

Ada beberapa relasi yang terdapat pada use case diagram:

1. Association, menghubungkan link antar element.

2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya.

3. Dependency, sebuah element bergantung dalam beberapa cara ke element lainnya.

4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya.

Tipe relasi/ stereotype yang mungkin terjadi pada use case diagram:

1. <<include>> , yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.

2. <<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm.

3. <<communicates>>, mungkin ditambahkan untuk asosiasi yang menunjukkan asosiasinya adalah communicates association . Ini merupakan pilihan selama asosiasi hanya tipe relationship yang dibolehkan antara actor dan use case.

Contoh Use Case Diagram

Contoh Use Case Diagram

Class Diagram

Classadalah kumpulan objek-objek dengan dan yang mempunyai struktur umum, behavior umum, relasi umum, dan semantic/kata yang umum. Class-class ditentukan/ditemukan dengan cara memeriksa objek-objek dalam sequence diagram dan collaboration diagram. Sebuah class digambarkan seperti sebuah bujur sangkar dengan tiga bagian ruangan. Class sebaiknya diberi nama menggunakan kata benda sesuai dengan domain/bagian/kelompoknya (Whitten L. Jeffery et al, 2004).

Class Diagramadalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika. Class diagram menggambarkan struktur statis dari sebuah sistem. Karena itu class diagram merupakan tulang punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML (Henderi, 2008). Sementara menurut (Whitten L. Jeffery et al 2004:432) class diagram adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan class-class objek yang menyusun sebuah sistem dan juga hubungan antara class objek tersebut.

Elemen-eleman classdiagram dalam pemodelan UML terdiri dari: Class-class, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (agregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name (peranan/tugas nama).

Sequence Diagram

Sequence diagramadalah suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram.

Pada diagram ini, dimensi vertikal merepresentasikan waktu. Bagian paling atas dari diagram menjadi titik awal dan waktu berjalan ke bawah sampai dengan bagian dasar dari diagram. Garis Vertical, disebut lifeline, dilekatkan pada setiap obyek atau aktor. Kemudian, lifeline tersebut digambarkan menjadi kotak ketika obyek melakukan suatu operasi , kotak tersebut disebut activation box. Obyek dikatakan mempunyai live activation pada saat tersebut.Pesan yang dipertukarkan antar obyek digambarkan sebagai sebuah anak panah antara activation box pengirim dan penerima. Kemudian diatasnya diberikan label pesan. Salah satu contoh sequence diagram digambarkan sebagai berikut

Pada contoh sequence diagram diatas digambarkan contoh use case investasi perdagangan. Pada diagram tersebut obyek yang berinteraksi adalah user, user interface sistem, dan interface terhadap sistem eksternal.

Pada diagram tersebut terlihat aliran secara umum, yakni:

1.User memilih account investment.

2. Kemudian, sistem akan mengirimkan pesan pada sistem investor untuk melakukan query harga saham dari investasi pada account user.

3. Sistem akan menampilkan harga saham pada account investasi user.

4. User memilih investasi dan jumlah saham yang akan dijual.

5. Sistem akan mengirimkan pesan kepada sistem investor untuk menyampaikan permintaan untuk menjual saham yang telah ditentukan oleh user.

Tujuan penggunaan sequence diagram

1. Mengkomunikasikan requirement kepada tim teknis karena diagram ini dapat lebih mudah untuk dielaborasi menjadi model design.

2. Merupakan diagram yang paling cocok untuk mengembangkan model deskripsi use-case menjadi spesifikasi design.

Waktu Penggunaan sequence diagram

1. Pada tahap discovery: Sequence diagram dari use case yang dipilih dibuat oleh Business Analyst.

2. Pada tahap construction: System analyst menggunakan use case dan sequence diagram yang dibuat oleh Business Analyst sebagai input untuk pembuatan technical sequence diagram yang akan ditinjau kembali oleh Business Analyst.

3. Pada tahap final verification and validation: sequence diagram digunakan untuk merancang test dari use-case scenario.

  1. Diagram

Use Case Diagram

Sequence Diagram

Class Diagram

  1. Implementasi Netbeans Java

1. Class Catur

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package caturapp;

/**

*

* @author Intan

*/

public class Main {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

Permainan pn = new Permainan ();

pn.pilihWarna ();

}

{

Permainan pn = new Permainan ();

pn.jalankanPion ();

// TODO code application logic here

}

}

2. Class Permainan

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package caturapp;

/**

*

* @author Intan

*/

public class Permainan {

void pilihWarna() {

Pemain p=new Pemain ();

p.pilihWarna ();

}

void jalankanPion()

{

Pemain p = new Pemain ();

p.pilihPion ();

}

}

3. Class Pemain

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package caturapp;

/**

*

* @author Intan

*/

public class Pemain {

void pilihWarna()

{

hitam ();

}

void pilihPion() {

Pion pi = new Pion ();

pi.aturPosisi ();

}

private void hitam() {

System.out.println ("Orang = hitam");

}

}

4. Class Pion

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package caturapp;

/**

*

* @author Intan

*/

public class Pion {

void aturPosisi() {

}

}