Senin, 02 Juli 2012 - 0 komentar

kelompok 2

Pengertian UML
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 perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan 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 perangkat (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.
(sumber : id.wikipedia.org)














Pemodelan dengan UML
1.    Use Case Diagram
Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client.
2.    Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system.
3.    Statechart Diagram
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object dari suatu class dan keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh stateyang berbeda.
4.    Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use case atau interaksi.
5.    Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.



6.    Collaboration Diagram
Menggambarkan kolaborasi dinamis seperti sequence diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan object dan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan sequence diagrams, tapi jika penekanannya pada konteks gunakan collaboration diagram.
7.    Component Diagram
Component software merupakan bagian fisik dari sebuah system, karena menetap di komputer tidak berada di benak para analis. Komponent merupakan implementasi software dari sebuah atau lebih class. Komponent dapat berupa source code, komponent biner, atau executable component. Sebuah komponent berisi informasi tentang logic class atau class yang diimplementasikan sehingga membuat pemetaan dari logical view ke component view.Sehingga component diagram merepresentasikan dunia riil yaitu component software yang mengandung component, interface dan relationship.
8.    Deployment Diagram
Menggambarkan tata letak sebuah system secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian hardware, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes, executeable component dan object yang dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.
(sumber : ariefikhwan.web.ugm.ac.id)










Tujuan Penggunaan UML
1.    Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
2.    Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
3.    Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
4.    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.
(sumber : my.opera.com).

Tool yang mendukung UML
Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool komersial maupun opensource. Beberapa diantaranya adalah:
  • Rational Rose (www.rational.com)
  • Together (www.togethersoft.com)
  • Object Domain (www.objectdomain.com)
  • Jvision (www.object-insight.com)
  • Objecteering (www.objecteering.com)
  • MagicDraw (www.nomagic.com/magicdrawuml)
  • Visual Object Modeller (www.visualobject.com)










Cara Kerja UML
Cara kerja UML adalah dengan mendefinisikan notasi dan sebuah meta-model.
Notasi tersebut adalah model-model yang direpresentasikan dalam bentuk grafis, ini adalah syntax untuk bahasa permodelan. Untuk contohnya, notasi class diagram mendefinisikan bagaimana item-item dan konsep-konsep seperti class, association, dan multiplicity direpresentasikan.
Tentu saja, ini semua mengarah kepada pertanyaan apakah sebenarnya yang dimaksud dengan sebuah association atau multiplicity atau bahkan sebuah class. Para pengguna umumnya menyarankan beberapa definisi-definisi informal, tetapi banyak orang menginginkan informasi yang lebih daripada itu semua.
Ide dari bahasa spesifikasi dan design yang tepat adalah sangat relevan dalam bidang sebuah formal method. Didalam sebuah teknik, design, dan specifications telah direpresentasikan dengan menggunakan turunan dari predicate kalkulus. Definisi tersebut telah dimatematikakan dengan tepat dan tidak ada duanya. Walau bagaimanapun nilai dari definisi ini bukanlah merupakan sesuatu yang universal. Walaupun kita dapat membuktikan bahwa program tersebut dapat membuktikan sebuah spesifikasi matematika yang benar, tidak mungkin ada sebuah cara untuk membuktikan kalau spesifikasi matematika itu dapat memenuhi syarat yang dibutuhkan sebuah system.
Design adalah tentang menemukan masalah-masalah kunci yang dihadapi pada development. Formal methods sering kali membuat putus asa dengan cara banyak memberikan detil-detil yang tidak penting. Juga formal methods sangat sulit untuk dipelajari dan dimanipulasi, juga lebih sulit dihadapi daripada bahasa pemrograman. Dan kita juga tidak dapat menjalankannya.
Kebanyakan methods object-oriented mempunyai sedikit kekakuan, notasi mereka lebih berdasarkan intuisi daripada definisi yang formal. Dalam keseluruhannya, ini semua tampak tidak menimbulkan kerusakan. Methods ini mungkin informal, beberapa orang menemukan kalau semua ini masih berguna dan kegunaannya itulah yang diperhitungkan.






Langkah-Langkah Penggunaan UML
Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML :
  1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
  2. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
  3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
  4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
  5. Berdasarkan use case diagram , mulailah membuat activity diagram .
  6. Definisikan objek-objek level atas ( package atau domain ) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.
  7. Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case .
  8. Berdasarkan model-model yang sudah ada, buatlah class diagram . Setiap package atau domain  dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
  9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
  10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.




  1. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
    • Pendekatan use case , dengan meng- assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
    • Pendekatan komponen, yaitu meng- assign setiap komponen kepada tim pengembang tertentu.



























Daftar Pustaka

http://ariefikhwan.web.ugm.ac.id/?tag=pengertian-uml



 
KELOMPOK 2

1.      Aris Kusmanto                       ( 2009-51-114)

2.      Catur Prasetyo                       ( 2009-51-121)






Rabu, 27 Juni 2012 - 0 komentar

JAVA 2 MICRO EDITION (J2ME)


PEMROGRAMAN BERORIENTASI OBJEK
JAVA 2  MICRO  EDITION (J2ME)
Disusun guna memenuhi tugas
Mata Kuliah : Pemrograman Berorientasi Objek 


Disusun Oleh :

1.      Heri Handoko          ( 2009 51 110)
2.      Achmad Noor S.       ( 2009 51 127)
3.      Wahyu Widhiarto     ( 2009 51 149)


TEKNIK INFORMATIKA
UNIVERSITAS MURIA KUDUS
2012


BAB I
PENDAHULUAN

1.      Latar Belakang Masalah
Beberapa tahun terakhir ini terjadi perkembangan yang pesat pada teknologi, salah satunya adalah telepon selular (ponsel). Mulai dari ponsel yang hanya bisa digunakan untuk bicara dan sms hingga “ponsel cerdas” (smart phone) yang memiliki berbagai fungsi seperti multimedia, multiplayer games, transfer data, video streaming dan lain-lain. Berbagai perangkat lunak untuk mengembangkan aplikasi ponselpun bermunculan, diantaranya yang cukup dikenal luas adalah Java 2  Micro  Edition (J2ME).
Salah satu fasilitas yang disediakan ponsel adalah untuk melakukan pengiriman data berupa pesan singkat melalui Short Message Service (SMS). Namun dengan fasilitas SMS yang ada, timbul pertanyaan mengenai keamanan informasi jika seseorang ingin mengirimkan suatu informasi rahasia melalui fasilitas SMS.
Di luar negeri pemanfaatan SMS untuk mengirim pesan rahasia telah lebih dulu dikembangkan. Misalnya di Inggris sebuah perusahaan operator telepon selular, Di luar negeri pemanfaatan SMS untuk mengirim pesan rahasia telah lebih dulu dikembangkan. Misalnya di Inggris sebuah perusahaan operator telepon selular, staellium UK, mengeluarkan layanan bernama “stealth text” yang dapat digunakan untuk mengirim pesan dengan aman, yaitu dengan cara menghapus pesan secara otomatis segera setelah 40 detik pesan dibaca  atau yang dikenal dengan nama  self-destruct text message. Kini dengan memanfaatkan  Wireless  Messaging  API (Application Programming Interface)  dari J2ME para pembuat program Java dapat mengembangkan sendiri  sebuah aplikasi pengiriman pesan singkat atau SMS yang dimodifikasi untuk mengamankan pesan.

BAB II
PEMBAHASAN

  1. Teknologi Java 2
Java adalah bahasa pemrograman Object Oriented Programming (OOP) yang dibuat oleh Sun Microsystem. Java dirancang untuk menjadi bahasa yang memiliki kemampuan tinggi dalam hal portabilitas dan pemanfaatan jaringan tanpa mengabaikan kestabilan, kemanan,  serta kemudahan dari sisi desain dan pemrograman aplikasi.
Sebutan Java 2 diberikan untuk Java versi 1.2 dan versi berikutnya. Java 2 terbagi dalam 3 kategori[6], yaitu:
Ø  Java 2 Standard Edition (J2SE). Kategori ini digunakan untuk menjalankan mengembangkan aplikasi Java pada level komputer personal.
Ø  Java 2  Enterprise  Edition  (J2EE). Kategori ini dikhususkan untuk  pengembangan aplikasi Java pada lingkungan enterprise/server.
Ø  Java 2 Micro Edition (J2ME). Kategori ini digunakan untuk pengembangan  aplikasi Java  yang diimplementasikan pada perangkat semacam ponsel, Palm, PDA dan PocketPC.

  1. Java 2 Micro Edition
Java 2 Micro Edition  (J2ME) digunakan untuk menjalankan dan mengembangkan aplikasi -aplikasi Java pada  handheld devices atau perangkat -perangkat semacam  handphone, Personal Digital Assistance (PDA) dan PocketPC , dan juga dirancang untuk dapat menjalankan program Java pada perangkat yang memiliki kemampuan terbatas misalnya kecilnya jumlah memori yang dimiliki perangkat tersebut.

  1. Konfigurasi J2ME
Konfigurasi J2ME adalah spesifikasi yang mendefinisikan sebuah  virtual machine  dari kumpulan API-API dasar yang dapat digunakan dalam kelas tertentu dari sebuah peralatan. Virtual machine  pada  J2ME berbeda  dengan yang ada pada J2SE karena hanya fitur-fitur penting yang berkaitan dengan perangkat tanpa kabel (Wireless) saja yang diimplementasikan.
Ada 2 konfigurasi pada J2ME yaitu:
a)    CLDC (Connected Limited Device Configuration) CLDC merupakan perangkat atau konfigurasi dasar dari J2ME. CLDC sebenarnya berupa library dan API (Application Programming Interface)  yang diimplementasikan pada J2ME. Konfigurasi ini biasanya untuk alat kecil seperti telepon seluler (handphone), pager dan PDA. Peralatan  tersebut biasanya mempunyai keterbatasan memori (RAM), sumber daya, dan kemampuan memproses.
b)   CDC (Connected Device Configuration) CDC merupakan perangkat atau konfigurasi superset dari CLDC. Konfigurasi ini biasanya dipakai untuk alat seperti Internet TV, Nokia Communicator dan Car TV.

  1. Profile J2ME
yaitu bagian perluasan dari konfigurasi artinya selain sekumpulan kelas yang ada di konfigurasi, terdapat juga kelas lain yang lebih spesifik yang didefinisikan di dalam profil. Oleh karena itu profil akan membantu secara fungsional dengan menyediakan kelas-kelas yang tidak terdapat di konfigurasi.
Sebuah profil dibangun dalam sebuah konfigurasi, namun ditambahkan beberapa API khusus agar dihasilkan sebuah lingkungan yang lengkap untuk membangun aplikasi. Profil berisi daur hidup  (life cycle), antarmuka pemakai  (user interface),  serta penyimpanan. Salah satu profil J2ME adalah Mobile Information Device Profile  (MIDP). Profil MIDP menyediakan sebuah  platform  standar untuk peralatan komunikasi bergerak yang memiliki kapasitas memori terbatas sehingga cocok untuk pengembangan aplikasi
pada ponsel.


  1. MIDP dan MIDlet
MIDP merupakan profil yang banyak digunakan dan popular dari J2ME dan MIDlet merupakan aplikasi-aplikasi yang dibuat di dalam handphone menggunakan profil MIDP.

  1. Software yang diperlukan dalam pengimplementasian J2ME
a)             Jcreator  5.00 Pro
JCreator Pro adalah software yang dirancang untuk membangun aplikasi dari suatu bahasa pemrograman java. Bahasa pemrograman java adalah suatu bahasa pemrograman berbasis Object Oriented Programming (OOP). Bahasa pemrograman ini sangat banyak digunakan para developer saat ini karena lebih mudah sederhana dalam mengimplementasikan, lebih aman, dan multiplatform (dapat digunakan pada berbagai sistem operasi). Disini JCreator 5.00 Pro sebagai Interpreter (tempat codingnya), dan untuk kompilernya menggunakan J2ME Wireless Toolkit 2.2.
b)            J2ME Wireless Toolkit 2.2
(J2ME WTK) merupakan tool khusus untuk pemrograman J2ME yang dikeluarkan oleh sun Microsystem, dimana membutuhkan tool pendukung berupa Java 2 Standar Edition (J2SE) SDK1.52 atau yang lebih tinggi dan sebuah text editor yang dapat dipilih sendiri.
Pada J2ME WTK sudah dipaketkan emulator standar sehingga pengguna toolkit ini bisa langsung melihat hasil dari program yang dibuat tanpa perlu terlebih dahulu menginstall aplikasi yang dibuat ke dalam perangkat yang sebenarnya.
Untuk dapat melakukan instalasi J2ME WTK, komputer tersebut minimal harus memenuhi spesifikasi minimal sebagai berikut:

1.      CPU 500 MHz
2.      RAM 128 MB
3.      Ruang kosong pada Harddisk 150 MB
Selain itu pastikan pula telah terinstall Java 2 SDK Standard Edition versi 1.5 atau yang lebih tinggi. Alat bantu utama dalam pembuatan aplikasi dengan J2ME WTK adalah Ktoolbar, pada tool inilah tahap awal pembuatan aplikasi, proses pengujian dengan emulator, proses debugging, serta pemaketan program dilakukan.

  1. Contoh program J2ME dengan Jcreator dan Wireless Toolkit 2.2
1.      Buka aplikasi Wireless Toolkit 2.5
2.      Klik New Project
3.      Isi Project Name (disini sebagai contohnya saya isi dengan copy paste) dan MIDlet Class Name (disini sebagi contoh saya mengisikan FirstTextBox), lalu klik Create Project
4.      Di Target Platform, pilih JTWI , lalu klik OK
5.      Buka aplikasi JCreator nya
6.      Di menu bar pilih File, new, file atau tekan ( ctrl + N )
7.      Dikotak sebelah kiri pilih Java Classes, dikotak sebelah kanan pilih Empty Java File, lalu klik Next

8.      Isikan Name nya ( disini sebagai contohnya saya mengisikan FirstTextBox).

9.      Kemudian ketikkan scipt berikut
} import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class FirstTextBox extends MIDlet implements CommandListener {
          private Display display;
          private TextBox tbClip;
          private Command cmExit, cmStartMark, cmCopy, cmPaste, cmCut;
          private int beginOffset = 0;
          private char[] clipBoard = null;
          private int clipBoardChars = 0;

          public FirstTextBox(){
                      display = Display.getDisplay(this);

                      cmExit = new Command("Exit", Command.EXIT, 1);

                      cmStartMark = new Command("Mark", Command.SCREEN, 2);
                      cmCopy = new Command("Copy", Command.SCREEN, 3);
                      cmPaste = new Command("Paste", Command.SCREEN, 4);
                      cmCut = new Command("Cut", Command.SCREEN, 5);

                      tbClip = new TextBox("Clip Board", "",156, TextField.ANY);
                      tbClip.addCommand(cmExit);
                      tbClip.addCommand(cmStartMark);
                      tbClip.addCommand(cmCopy);
                      tbClip.addCommand(cmPaste);
                      tbClip.addCommand(cmCut);
                      tbClip.setCommandListener(this);
                      clipBoard = new char[tbClip.getMaxSize()];
          }

          public void startApp(){
                      display.setCurrent(tbClip);
          }

          public void pauseApp(){
          }

          public void destroyApp(boolean unconditional){
          }

          public void commandAction(Command c, Displayable s)     {
                      if (c == cmStartMark){
                                  beginOffset = tbClip.getCaretPosition();
                      }else if (c == cmCopy &&(tbClip.getCaretPosition() > beginOffset)){
                                  char[] chr = new char[tbClip.size()];
                                  tbClip.getChars(chr);
                                  clipBoardChars = tbClip.getCaretPosition() - beginOffset;
                                  System.arraycopy(chr, beginOffset,clipBoard, 0, clipBoardChars);
                      }else if (c == cmPaste){
                                  if ((tbClip.size() + clipBoardChars) <=           tbClip.getMaxSize())
                                              tbClip.insert(clipBoard, 0, clipBoardChars,   tbClip.getCaretPosition());
                      }else if (c == cmExit){
                                  destroyApp(false);
                                  notifyDestroyed();
                      }else if ((c == cmCut)&&(tbClip.getCaretPosition() > beginOffset)){
                                  char[] chr = new char[tbClip.size()];
                                  tbClip.getChars(chr);
                                  clipBoardChars = tbClip.getCaretPosition() - beginOffset;
                                  System.arraycopy(chr, beginOffset,clipBoard, 0, clipBoardChars);
                                  tbClip.delete(beginOffset,(tbClip.getCaretPosition() - beginOffset));
                      }
          }

          protected void keyPressed(int keyCode) {
                      System.out.println("begin : " + beginOffset + "  now : " + tbClip.getCaretPosition());
          }
}
10.  Pada Location, klik ikon kotak, lalu pilih My Computer, C: , WTK 25, apps, copy paste, src, lalu klik OK, Finish
 

11.  Kemudian buka aplikasi Wireless Toolkit 2.5 lalu program tadi di run dengan cara klik run
 








12.  Kemudian akan muncul gambar berikut dan jalankan programnya dan klik select pada keypad gambar HP.

  
13.  Kemudian ketikkan kata “UAS” pilih menu dan jalankan perintah no 2 yaitu copy

14.  Lalu pilih menu dan jalankan perintah no. 3 paste dan hasilnya seperti gambar berikut.




BAB III
PENUTUP

Kesimpulan
a.   Java 2 Micro Edition  (J2ME) digunakan untuk menjalankan dan mengembangkan aplikasi -aplikasi Java pada  handheld devices atau perangkat -perangkat semacam  handphone, Personal Digital Assistance (PDA) dan PocketPC , dan juga dirancang untuk dapat menjalankan program Java pada perangkat yang memiliki kemampuan terbatas misalnya kecilnya jumlah memori yang dimiliki perangkat tersebut.
b.  Software yang digunakan dalam penerapan program J2ME adalah Jcreator  5.00 Pro dan Wireless Toolkit 2.5

DAFTAR PUSTAKA