Wednesday, July 21, 2010

TUGAS PEMROGRAMAN BERORIENTASI OBJEK

TUGAS PEMROGRAMAN BERORIENTASI OBJEK





























Kelompok 2:

Cahyani Berliana Maharani - 0102508042

Laydro Calvin Atmojo - 0102508041

Choiriyah Nurfitri Ningsih – 0102508030

Maulana Muhammad Ulinnuha – 0102508002

Galuh Trimas Priyambodo - 01025080







FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS AL - AZHAR INDONESIA

2010

  1. Pendahuluan



Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan 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.

Bahasa pemrograman yang mendukung OOP antara lain:

  1. Visual Foxpro

  2. Java

  3. C++

  4. Pascal (bahasa pemrograman)

  5. Visual Basic.NET

  6. SIMULA

  7. Smalltalk

  8. Ruby

  9. Python

  10. PHP

  11. C#

  12. Delphi

  13. Eiffel

  14. Perl

Saat ini kelompok kami yang terdiri dari Laydro Calvin Atmojo, Maulana Muhammad Ulinnuha, Cahyani Berliana M, Choiriyah Nurfitri N dan Galuh Trimas Priyambodo yang mengambil kuliah di Universitas Al Azhar Indonesia jurusan Teknik Informatika sedang mengikuti kuliah pemrograman berorientasi objek sebanyak 4 sks dengan dosen Bowo Prasetyo.

Kelompok kami akan membuat program tentang tempat parker menggunakan bahasa pemrograman Java dengan netbeans IDE 6.8 dan starUML. Kenapa tempat parkir yang dipilih kelompok kami untuk dijadikan sebuah program? Karena kami akan membuat program perparkiran yang khusus untuk pembayaran menggunakan credit card, debit card dan kartu lainnya yang telah bekerjasama. Sehingga pengendara tidak perlu membayar biaya parkir dengan uang tunai. Kelompok kami akan membuat program dari mobil dan motor yang masuk sampai mobil dan motor tersebut keluar dari tempat parkir.



  1. Dasar Teori



Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak.

Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok tool untuk mendukung pengembangan sistem tersebut. UML mulai dierkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi tool desain berorientasi objek dari IBM.

UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem. UML mendeskripsikan OOP (Object Oriented Programming) dengan beberapa diagram, diantaranya:

Diagram struktur:

  1. Diagram kelas

Dalam rekayasa perangkat lunak , diagram kelas dalam Unified Modeling Language (UML) adalah jenis diagram struktur statis yang menggambarkan struktur dari sebuah sistem dengan menunjukkan sistem kelas , atribut, dan hubungan antara kelas.

  1. Diagram obyek

Sebuah diagram objek dalam Unified Modeling Language (UML), adalah diagram yang menunjukkan seluruh atau sebagian tampilan dari struktur model sistem pada waktu tertentu. Obyek diagram lebih konkret dari diagram kelas , dan sering digunakan untuk memberikan contoh-contoh, atau bertindak sebagai uji kasus untuk diagram kelas. Hanya aspek-aspek dari model yang penting yang perlu ditunjukkan pada diagram objek.

  1. Diagram komponen

Diagram komponen dalam Unified Modeling Language , menggambarkan bagaimana komponen-komponen disambung untuk membentuk komponen yang lebih besar dan atau sistem perangkat lunak .

  1. Diagram deployment

Diagram deployment dalam Unified Modeling Language berfungsi untuk model penyebaran fisik artefak pada target penyebaran. Deployment diagram sangat berguna untuk mencari tahu pengemasan dan penyebaran, serta komunikasi antar-simpul jalan.

Diagram perilaku:

  1. Diagram use-case

Sebuah use case diagram di Unified Modeling Language (UML) adalah jenis diagram perilaku yang didefinisikan oleh dan dibuat dari Use-case analysis. Sebuah use case dalam sistem rekayasa perangkat lunak adalah urutan transaksi yang dilakukan oleh sistem, dimana menghasilkan sesuatu yang dapat dilihat atau diamati oleh aktor tertentu. Tujuannya adalah untuk menyajikan gambaran grafis dari fungsionalitas yang disediakan oleh sistem dalam hal aktor, tujuan mereka (direpresentasikan sebagai use case ), dan setiap dependensi diantara use case. g

  1. Diagram urutan/sekuen

Sebuah diagram urutan di Unified Modeling Language (UML) adalah sejenis diagram interaksi yang menunjukkan bagaimana proses beroperasi satu sama lain dan urutannya. Sequence diagram merupakan sebuah diagram yang menggambarkan interaksi antar objek di dalam sebuah system. Interaksi tersebut berupa message yang digambarkan terhadap waktu. Ini adalah konstruksi sebuah Message Sequence Chart. Diagram Sequence terkadang disebut diagram event, skenario event, dan diagram waktu.

  1. Diagram kolaborasi

Diagram kolaborasi menggambarkan interaksi antara objek-objek dalam urutan pesan. Kolaborasi diagram merupakan kombinasi dari informasi yang diambil dari class, sequence, dan use case diagram menggambarkan baik struktur statis dan perilaku dinamis suatu sistem.

  1. Diagram statechart

Statechart diagram merupakan model perilaku yang dinamis dari class secara individual maupun beberapa bentuk dari obyek. Semua itu menunjukkan deretan dari state yang dilakukan obyek melalui event yang menyebabkan sebuah transisi dari satu ke aktifitas yang lain, dan beberapa aksi yang menghasilkan dari satu state atau aktifitas yang berubah. Diagram ini memiliki hubungaan yang tertutup dengan activity diagram. Activity diagram fokus pada aktivitas dan pada pemodelan deretan aktivitas dari proses.



  1. Diagram aktivitas

Diagram aktivitas adalah representasi grafis dari alur kerja tahap-tahap kegiatan dan tindakan dengan dukungan untuk pilihan, iterasi dan concurrency. Pada Unified Modeling Language , diagram aktivitas dapat digunakan untuk menjelaskan bisnis dan operasional step-by-step alur kerja dari komponen dalam sistem. Sebuah diagram aktivitas menunjukkan keseluruhan aliran kontrol.





  1. Diagram



Use case diagram



































Sequence Diagram





















































Class Diagram





















  1. Implemetasi Java



package parkir;

import javax.swing.JOptionPane;

public class ParkirApp {

public static void main(String[] args) {

{

MesinTiket mt= new MesinTiket();

mt.cetakTiket();

MesinBayar mb= new MesinBayar();

mb.bayar(); }

}

}











package parkir;

import javax.swing.JOptionPane;



public class MesinTiket {





void cetakTiket() {

String nomorPolisi="";

nomorPolisi = JOptionPane.showInputDialog("input nomor polisi");

String waktuMasuk = "";

waktuMasuk = JOptionPane.showInputDialog("input dua digit awal waktu masuk");

if (waktuMasuk.equals("")||nomorPolisi.equals("")){

JOptionPane.showMessageDialog(null, "masukan data",

"", JOptionPane.WARNING_MESSAGE);

nomorPolisi = JOptionPane.showInputDialog("input nomor polisi");

waktuMasuk = JOptionPane.showInputDialog("input dua digit awal waktu masuk");

}

else{

int masuk;

masuk = Integer.parseInt(waktuMasuk);

String msg = nomorPolisi + " waktu masuk " + waktuMasuk;

JOptionPane.showMessageDialog(null, msg);

System.out.println("mesin tiket cetak:" + nomorPolisi+" waktu masuk "+waktuMasuk);

PenyimpanData pd= new PenyimpanData();

pd.simpanData(nomorPolisi,waktuMasuk);

}

}



}







Package parkir;

public class PenyimpanData {

MesinTiket mt= new MesinTiket();

public void simpanData(String nomorPolisi,String waktuMasuk)

{





System.out.println("Penyimpan data: simpan data "+ nomorPolisi+" waktu masuk "+ waktuMasuk);

}

public void simpanDataTransaksi()

{

System.out.println("Penyimpan data: simpan data transaksi");



}

}

}

package parkir;



import javax.swing.JOptionPane;



public class MesinBayar {





public void bayar() {



menampilkanBilling();



}



private void menampilkanBilling() {

String nomorPolisi="";

nomorPolisi = JOptionPane.showInputDialog("input nomor polisi");

String waktuMasuk = "";

waktuMasuk = JOptionPane.showInputDialog("input dua digit awal waktu masuk");

String waktuKeluar = "";

waktuKeluar = JOptionPane.showInputDialog("input dua digit awal waktu keluar");

if (waktuMasuk.equals("") || waktuKeluar.equals("") || nomorPolisi.equals("")) {

JOptionPane.showMessageDialog(null, "you must insert Data...",

"", JOptionPane.WARNING_MESSAGE);

nomorPolisi = JOptionPane.showInputDialog("input nomor polisi");

waktuMasuk = JOptionPane.showInputDialog("input waktu masuk");

waktuKeluar = JOptionPane.showInputDialog("input waktu keluar");

System.out.println("MesinTiket: Null");

System.out.println("Printer: Null");

System.out.println("Data Error");

} else {

int masuk;

masuk = Integer.parseInt(waktuMasuk);

int keluar;

keluar = Integer.parseInt(waktuKeluar);

int biaya = keluar - masuk;

String.valueOf(biaya);

if(biaya==0){

int tarif=2000;

String msg = "tarif parkir " + nomorPolisi + " untuk " + String.valueOf(biaya) + "Jam" + " Rp " + String.valueOf(tarif);

JOptionPane.showMessageDialog(null, msg);

}

else

{int tarif = biaya * 2000;

String.valueOf(tarif);

String msg = "tarif parkir " + nomorPolisi + " untuk " + String.valueOf(biaya) + "Jam" + " Rp " + String.valueOf(tarif);

JOptionPane.showMessageDialog(null, msg);

}

Printer p= new Printer();

p.cetakStruk();

PenyimpanData pd= new PenyimpanData();

pd.simpanDataTransaksi();

}

}

}









package parkir;



public class Printer {



public void cetakStruk() {

mencetakStruk();

}



private void mencetakStruk() {

System.out.println("Printer: cetak struk");

}

}

















OUTPUT

















run:

mesin tiket cetak:P 412 KIR waktu masuk 12

Penyimpan data: simpan data P 412 KIR waktu masuk 12

Printer: cetak struk

Penyimpan data: simpan data transaksi

BUILD SUCCESSFUL (total time: 23 seconds)



No comments :

Post a Comment