Object Oriented Program

109
Kelompok 2 : Eka Satryawati (14000277) Mohamad Sahlani (14000341) Embun Fajar Wati (14000345) Andrie Abrianto (14000348) Dwi Wiratmoko (14000349)

Transcript of Object Oriented Program

Page 1: Object Oriented Program

Kelompok 2 : Eka Satryawati (14000277) Mohamad Sahlani (14000341) Embun Fajar Wati (14000345) Andrie Abrianto (14000348) Dwi Wiratmoko (14000349)

Page 2: Object Oriented Program
Page 3: Object Oriented Program

Pembahasan

Konsep OOP Konsep UML Implementasi OOP at Java

Page 4: Object Oriented Program
Page 5: Object Oriented Program

Materi :

• Paradigma berbasis obyek (object-oriented/OO)

• Mengapa OO ?• Pemrograman OO• Konsep-konsep dalam OOP

Kelas dan obyekMekanisme OO: encapsulation, inheritance,

dan polymorphism

Page 6: Object Oriented Program

OO Sebagai Paradigma Pemrograman• Paradigma pemrograman: pandangan

mendasar terkait tentang formulasi sebuah solusi dalam bahasa pemrograman

• Paradigma pemrograman menjelaskan tentang perspektif/pandangan pemrogram tentang program yang akan dibuatnya

• Pemrograman berbasis obyek (OOP) mendasarkan pada konsep object dan interaksinya

Page 7: Object Oriented Program

Konsep Object• Dalam paradigma berbasis object, “object” adalah

representasi sebuah entitas yang memiliki makna tertentu yang menjadi perhatian si pemandang object memiliki abstraksi tertentu bagi si pemandang Contoh: dalam sistem akademik di kampus, beberapa

kandidat object adalah: mahasiswa, dosen, kelas, mata kuliah, kurikulum, praktikum, laboratorium, perpustakaan, KRS, KHS, …

• Object dapat menerima pesan (message), mengolah data, dan mengirimkan pesan ke object lain membentuk interaksi antar object

• Object bersifat independen: tiap object dapat dipandang sebagai sebuah entitas mandiri yang memiliki peran atau tanggung jawab tertentu

Page 8: Object Oriented Program

Object dan Interaksinya

pembeli kasir pelayan

pesan & bayar

siapkan burger

siapkan kentang

siapkan minum

sajikan

Skenario: restoran cepat-saji

Page 9: Object Oriented Program

Object dan Representasi Lingkup Permasalahan Object dan interaksinya dapat digunakan untuk

merepresentasikan lingkup permasalahan Object merepresentasikan entitas-entitas yang dianggap

penting dalam skenario permasalahan Interaksi antar object menggambarkan bentuk-bentuk relasi

antar entitas di dalam skenario permasalahan OO sebagai tool untuk memodelkan sistem di dunia

nyata setiap sistem selalu dapat digambarkan melalui object-object penyusunnya dan bagaimana object-object tersebut saling berinteraksi

Dalam software engineering: OO analysis OO design OO programming

Page 10: Object Oriented Program

Kelebihan OO Sebagai Model Representasi Natural: mengikuti cara berpikir

manusia (manusia memandang dunianya sebagai kumpulan object yang berinteraksi)

Abstraksi: menjelaskan makna sebuah entitas secara cepat dan mudah

Enkapsulasi: dapat menyembunyikan detil yang tidak perlu

Modular: object adalah entitas yang independen

Page 11: Object Oriented Program

Pemrograman dan Bahasa Pemrograman Berbasis OO Merealisasikan entitas-entitas object dalam

desain software (OOD) dalam bahasa pemrograman

Bahasa pemrograman berbasis object menyediakan mekanisme untuk bekerja dengan: kelas dan object methods inheritance polymorphism reusability

Page 12: Object Oriented Program

Pemrograman dan Bahasa Pemrograman Berbasis OO Ragam bahasa pemrograman berbasis OO

Bahasa OO “murni” semua diperlakukan secara konsisten mengikuti teori OO dan “memaksa” pemrogram mengikutinya. Contoh: Smalltalk, Eiffel, Ruby

Bahasa yang dirancang untuk OOP, tetapi dengan beberapa elemen prosedural. Contoh: Java (program utama/entry point)

Bahasa yang aslinya prosedural, tetapi kemudian ditambah fitur-fitur OO. Contoh: C++, Perl, PHP

Page 13: Object Oriented Program

Konsep-Konsep dalam OOP: Kelas (Class) Mendefinisikan karakteristik abstrak dari

sebuah entitas Property (statis) – fields, atribut Behaviour (dinamika) – fitur, methods Contoh: abstraksi “sepeda” memiliki property

“punya roda”, “punya rantai”, dsb., dan behaviour “bisa berjalan”, “bisa berbelok”, dsb.

Sebagai abstraksi dari sebuah entitas, definisi kelas harus mencerminkan karakteristik sebenarnya dari entitas tsb.

Page 14: Object Oriented Program

Kelas Kelas merupakan “cetakan” (template) untuk

instance (wujud nyata) entitas-entitas yang direpresentasikannya Sebuah kelas dapat melahirkan lebih dari satu

instance

satu template

banyak instance(wujud nyata)

Page 15: Object Oriented Program

ObjectSebuah instance (perwujudan nyata) dari suatu kelas tertentu

public class SegiEmpat { int panjang; int lebar; string warna;

public SegiEmpat(string w, int p, int l) { panjang = p; lebar = l; warna = w; }

public setWarna (string w) { warna = w; }}

SegiEmpat sPink = new SegiEmpat(“pink”, 20,10);

SegiEmpat sPutih = new SegiEmpat(“putih”, 15,10);

SegiEmpat sOrange = new SegiEmpat(“orange”, 30,15);

Page 16: Object Oriented Program

Definisi Kelas dan Objectpublic class SegiEmpat { int panjang; int lebar; string warna;

public SegiEmpat(string w, int p, int l) { panjang = p; lebar = l; warna = w; }

public setWarna (string w) { warna = w; }}

SegiEmpat sPink = new SegiEmpat(“pink”, 20,10);

field, menunjukkan atribut/property

constructor, untuk menciptakanobject (instance) baru denganproperty tertentu

methods atau member functions,mendeskripsikan behaviour atauaktivitas yang bisa dijalankan

memanggil constructor untuk membentukobject baru

Page 17: Object Oriented Program

Enkapsulasi Enkapsulasi: lokalisasi fitur-fitur sebuah object (fields dan

methods) dalam definisi object tersebut Enkapsulasi menyembunyikan property dan behaviour

object dari pihak luar (object yang lain) object lain melihat object ini sebagai “black box” saja

Enkapsulasi memisahkan antara bagian publik (yang bisa dilihat oleh pihak luar (object lain) dan bagian privat (internal object itu sendiri) dengan tegas fitur ini memberi keleluasaan/independensi untuk bekerja dengan aspek internal tanpa harus bergantung pada aspek publik/eksternal berguna untuk menangani berbagai persoalan interoperabilitas

Page 18: Object Oriented Program

Enkapsulasipublic class SegiEmpat { int panjang; int lebar; string warna;

public SegiEmpat(string w, int p, int l) { panjang = p; lebar = l; warna = w; }

public setWarna (string w) { warna = w; }}

sPinkSegiEmpat sPink = new SegiEmpat(“pink”, 20,10);

setWarna(string w)

Pihak luar (object lain) melihat sPinksebagai sebuah “kotak hitam” yangtidak terlihat isinya, kecuali fields danmethods yang memang dideklarasikan secara publik

Object lain tidak bisa melihat apa yang dilakukan sPink secara internal

Page 19: Object Oriented Program

Inheritance (Pewarisan Sifat) Dalam dunia OO, beberapa object memiliki sifat/ciri yang

mirip dengan yang lain sebuah kelas object dapat didefinisikan dari kelas yang lain Kemiripan ini membentuk hubungan sifat yang bersifat hirarkis “pesawat penyergap adalah sebuah pesawat terbang yang

dilengkapi dengan persenjataan dan dapat terbang melebihi kecepatan suara”○ “pesawat penyergap” memiliki ciri yang sama dengan “pesawat

terbang” “pesawat penyergap” mewarisi sifat “pesawat terbang”○ “pesawat penyergap” memiliki ciri yang lebih khusus dibandingkan

“pesawat terbang” “pesawat penyergap” adalah subclass dari “pesawat terbang”

Dalam OOP, hubungan inheritance (pewarisan sifat) ini diimplementasikan melalui definisi kelas: sebuah kelas dapat didefinisikan dari kelas yang lain

Page 20: Object Oriented Program

Inheritance“bentuk”

poligonpoligon ellips

lingkaran

persegipanjang

segitiga

bujursangkar

Page 21: Object Oriented Program

Inheritance Dalam pohon hirarki inheritance, sebuah subclass

mewujudkan abstraksi yang lebih spesifik dari superclassnya: subclass = superclass + (fitur-fitur baru) Subclass dapat menambahkan fields dan methods baru Subclass dapat mengambil alih (override) method milik superclass

dan mengubah implementasi method tersebut

Manfaat inheritance: Pemanfaatan kembali (reuse) kelas Menyediakan model yang bersifat generik (abstract class);

implementasi spesifiknya bisa dilakukan kemudian (mungkin oleh pemrogram yang berbeda)

Page 22: Object Oriented Program

Polymorphism Poly: banyak; morphism: bentuk sebuah fitur

(generik) bisa diimplementasikan dengan berbagai cara

Polymorphism diimplementasikan dengan mekanisme inheritance dan overriding

hewan

anjing“menggonggong”

kucing“mengeong”

kuda“meringkik”

“bersuara”

Page 23: Object Oriented Program
Page 24: Object Oriented Program

Sejarah Unified Modeling Language (UML) Tahun 1994, Grady Boch dan James

Rumbaugh bergabung untuk menggunakan metode berorientasi objek.

Ivan Jacobson bergabung pada tahun 1995, dan mereka bertiga fokus membuat suatu bahasa pemodelan objek standar sebagai ganti dari pendekatan atau metode objek standar. Berdasarkan kerja mereka dan hasil kerja lainnya pada industri, Unified Modeling Language (UML) versi 1.0 dirilis pada tahun 1997.

Page 25: Object Oriented Program

Unified Modeling Language (UML) tidak menentukan metode untuk sistem-sistem pengembangan, tetapi sudah diterima luas sebagai standar untuk pemodelan objek.

Object Management Gorup/OMG, badan standar industri, mengadopsi UML pada bulan November 1997 dan terus bekerja sama untuk meningkatkannya berdasarkan kebutuhan industri.

Pada saat ini, salah satu industri telah merilis sebuah sofware yang mendukung UML yaitu Visual Paradigm 6.4 Interprise edition. Berbagai industri juga bermunculan dan mendukung penggunaan UML dengan berbagai produk, diantaranya Rational Rose, SmartDraw, dan lain-lain.

Page 26: Object Oriented Program

Definisi Unified Modeling Language (UML)

Unified Modeling Language (UML) merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whitten L. Jeffery et al, 2004). Sementara menurut Henderi (2007: 4)

Unified Modeling Language (UML) adalah sebuah bahasa pemodelan yang telah menjadi standar dalam industri software untuk visualisasi, merancang, dan mendokumentasikan sistem perangkat lunak.

Bahasa Pemodelan UML lebih cocok untuk pembuatan perangkat lunak dalam bahasa pemrograman berorientasi objek (C+ , Java, VB.NET), namun demikiantetap dapat digunakan pada bahasa pemrograman prosedural (Ziga Turck, 2007)

Page 27: Object Oriented Program

UML dan Implementasinya. Unified Modeling Language (UML) biasa digunakan untuk

1. Menggambarkan batasan sistem dan fungsi-fungsi sistem

secara umum, dibuat dengan use case dan actor2. Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat  dengan interaction diagrams3. Menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagrams4. Membuat model behavior ”yang menggambarkan kebiasaan atau sifat sebuah sistem” dengan state transition diagrams5. Menyatakan arsitektur implementasi fisik menggunakan component and development diagrams6. Menyampaikan atau memperluas fungsionality dengan stereotypes (Ziga Turck, 2007)

Page 28: Object Oriented Program

UML dan Diagram-diagram use case diagram class diagram statechart diagram activity diagram sequence diagram collaboration diagram component diagram deployment diagram

Page 29: Object Oriented Program

Use Case diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yangditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”.

Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem.

Page 30: Object Oriented Program

Contoh : Use Case Diagram

Page 31: Object Oriented Program

Class Diagram Class adalah sebuah spesifikasi yang jika

diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.

Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut metoda/fungsi).

Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.

Page 32: Object Oriented Program

Class memiliki tiga area pokok :

1. Nama (dan stereotype)

2. Atribut

3. MetodaNama Kelas

Attribute

Metoda

Page 33: Object Oriented Program

Sifat dari Attribut dan Metoda

Private, tidak dapat dipanggil dari luar class yang bersangkutan

Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya

Public, dapat dipanggil oleh siapa saja

Page 34: Object Oriented Program

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda.

Interface tidak dapat langsung iinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class.

Dengan demikian interface mendukung resolusi metoda pada saat run-time.

Page 35: Object Oriented Program

Hubungan Antar Class1. Asosiasi, yaitu hubungan statis antar class. Umumnya

menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.

2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).

3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.

4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram.

Page 36: Object Oriented Program

Statechart Diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima.

Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).

Page 37: Object Oriented Program
Page 38: Object Oriented Program

Activity Diagram Activity diagrams menggambarkan berbagai alir aktivitas

dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.

Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing).

Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Page 39: Object Oriented Program
Page 40: Object Oriented Program

Sequence Diagram Sequence diagram menggambarkan interaksi antar

objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu.

Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.

Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

Page 41: Object Oriented Program

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal.

Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.

Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.

Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.

Page 42: Object Oriented Program

Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.

Page 43: Object Oriented Program

Langkah-Langkah Penggunaan UMLBerikut 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.

Page 44: Object Oriented Program

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.

Page 45: Object Oriented Program

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 danrequirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.

Page 46: Object Oriented Program

11. 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.

12. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual.

13. Piranti lunak siap dirilis.

Page 47: Object Oriented Program

Tool Yang Mendukung UMLSaat 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)

Data seluruh tool yang mendukung UML, lengkap beserta harganya (dalam US dolar) bisa anda pelajari di situs http://www.objectsbydesign.com/tools/umltools_byCompany.html . Disamping itu, daftar tool UML berikut fungsi dan perbangingan kemampuannya juga dapat dilihat di http://www.jeckle.de/umltools.htm.

Page 48: Object Oriented Program
Page 49: Object Oriented Program

Pengenalan Java Java menurut definisi dari Sun Microsystem

adalah nama untuk sekumpulan teknologi yang membuat perangkat lunak dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Java2 adalah generasi kedua dari Java platform. Java berdiri di atas sebuah mesin intepreter yang diberi nama Java Virtual Machine (JVM).

JVM inilah yang akan membaca bytecode dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa Java disebut sebagai bahasa pemrograman yang portable, karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM.

Page 50: Object Oriented Program

Platform Java

Platform Java terdiri dari sekumpulan library, compiler, debugger dan alat lain yang dipaket dalam Java Development Kit (JDK).

Java 2 adalah generasi yang sekarang sedang berkembang dari platform Java. Agar sebuah program Java dapat dijalankan, maka file dengan ekstensi .java harus dikompilasi menjadi file bytecode. Untuk menjalankan file byte-code tersebut dibutuhkan JRE (Java Runtime Environment) yang memungkinkan pemakai untuk menjalankan program Java, hanya menjalankan tidak membuat kode baru lagi. JRE terdiri dari JVM dan library Java yang digunakan.

Page 51: Object Oriented Program

3 Buah Edisi Java :

J2EE (Java 2 Enterprise Edition) J2SE (Java 2 Second Edition) J2ME (Java 2 Micro Edition)

Page 52: Object Oriented Program

J2EE (JAVA 2 ENTERPRISE EDITION) J2EE adalah kelompok dari beberapa API

(Application Programming Interface) dari Java dan teknologi selain Java. J2EE dirancang untuk membuat aplikasi yang rumit. J2EE sering dianggap sebagai middle-ware atau teknologi yang berjalan di server, namun sebenarnya J2EE tidak hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi yang dapat digunakan di semua lapisan dari sebuah sistem informasi.

Implementasi J2EE menyediakan kelas dasar dan API dari Java yang mendukung pengembangan dan rutin standard untuk aplikasi client maupun server, termasuk aplikasi yang berjalan di web browser.

Page 53: Object Oriented Program

J2SE (JAVA 2 SECOND EDITION) J2SE adalah inti/ dasar dari bahasa

pemrograman Java. JDK (Java Development Kit) adalah salah satu tool dari J2SE untuk mengkompilasi dan menjalankan program Java. Tool J2SE yang salah satunya adalah JDK 1.5 dapat diunduh pada http://java.sun.com/j2se/, dimana JDK merupakan tool open source dari Sun.

Page 54: Object Oriented Program

J2ME (JAVA 2 MICRO EDITION) J2ME adalah lingkungan

pengembangan yang dirancang untuk meletakan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya.

Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat, maka belum tentu juga berfungsi baik pada perangkat yang lainnya.

Page 55: Object Oriented Program

J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi selain perangkat komputer desktop yang biasanya lebih kecil dibandingkan perangkat komputer desktop.

J2ME biasa digunakan pada telepon selular, pager, personal digital assistants (PDA) dan sejenisnya.

Page 56: Object Oriented Program

J2ME adalah bagian dari J2SE, karena itu tidak semua librabry yang ada pada J2SE dapat digunakan pada J2ME.

Tetapi J2ME mempunyai beberapa library khusus yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat seperti pada gambar berikut ini

Page 57: Object Oriented Program

Teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel.

J2ME sangat tergantung pada perangkat (device) yang digunakan, bisa dari segi merek ponsel dan dukungan terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak memiliki kamera, maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera.

Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori pada ponsel sangat terbatas. Sebagian ponsel tidak mengijin-kan aplikasi J2ME menulis pada file, karena alasan keamanan.

Page 58: Object Oriented Program

Configuration merupakan Java Library minimum dan kemampuan yang dimiliki oleh para pengembang J2ME, maksudnya adalah sebuah moblile device dengan kemampuan Java akan dioptimalkan agar sesuai.

Configuration hanyalah mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian antar device. Misalnya sebuah lampu sepeda dapat digunakan oleh berjenis-jenis sepeda.

Dalam J2ME telah didefinisikan dua buah konfigurasi yaitu : CLDC (Connected Limited Device Configuration)

Untuk perangkat kecil. CDC (Connected Device Configuration) Untuk

perangkat yang lebih besar.

Page 59: Object Oriented Program

Profile berbeda dengan configuration, profile membahas sesuatu yang spesifik untuk sebuah perangkat. Sebagai contoh misalnya, sebuah sepeda dengan merek tertentu tentu mempunyai ciri spesifik dari sepeda lainnya.

Dalam J2ME terdapat dua buah profile yaitu MIDP (Mobile Information Device Profile) dan Foundation Profile. Keterhubungan antara configuration dan profile yang ada pada J2ME beserta jenis mesin virtualnya dapat dilihat pada gambar dibawah ini.

Page 60: Object Oriented Program
Page 61: Object Oriented Program

CLDC (Connected Limited Device Configuration) adalah perangkat dasar dari J2ME berupa library dan API yang diimplementasikan pada J2ME, seperti yang digunakan pada telepon selular, pager dan PDA. Perangkat tersebut sangat terbatas pada memori, sumber daya dan kemampuan memproses.

Spesifikasi CLDC pada J2ME adalah spesifikasi minimal dari package, kelas, dan sebagian fungsi JVM yang dikurangi agar dapat diimplemen-tasikan dengan keterbatasan sumber daya pada alat-alat tersebut. JVM yang digunakan disebut KVM (Kilobyte Virtual Machine).

Page 62: Object Oriented Program

CDC (Connected Device Configuration) merupakan komunitas proses pada Java yang memiliki standardisasi.

CDC terdiri dari virtual machine dan library dasar untuk dipergunakan pada profile industri.

Implementasi CDC pada J2ME adalah source code yang menyediakan sambungan dengan macam-macam platform.

Page 63: Object Oriented Program

Perbandingan antara CLDC dengan CDC sebagai berikut :

Page 64: Object Oriented Program

MIDP (Mobile Information Device Profile) adakal spesifikasi untuk sebuah profil J2ME. MIDP memiliki lapisan di atas CLDC, API tambahan untuk daur hidup aplikasi, antarmuka, jaringan, dan penyimpan-an persisten.

Pada saat ini terdapat MIDP 1.0 dan MIDP 2.0, fitur tambahan pada MIDP 2.0 adalah terdapat API untuk multimedia, terdapat dukungan memainkan tone, tone sequence, dan file WAV walaupun tanpa adanya Mobile Media API (MMAPI).

Page 65: Object Oriented Program

KVM (Kilobyte Virtual Machine) adalah paket JVM yang dirancang untuk perangkat yang kecil. KVM mendukung sebagian dari fitur-fitur JVM, tidak mendukung operasi floating-point dan finalisasi objek. KVM diimplementasikan dengan menggunakan C, sehingga sangat mudah beradaptasi pada tipe platform yang berbeda

CVM (C-Virtual Machine) adalah paket JVM yang digunakan pada CDC. CVM mempunyai seluruh fitur-fitur dari virtual machine yang dirancang untuk perangkat yang memerlukan fitur-fitur Java 2 Virtual Machine.

Page 66: Object Oriented Program

MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari kelas javax.microedition.midlet. MIDlet yang didefinisikan pada MIDP. MIDlet berupa sebuah kelas abstrak yang merupakan sub kelas dari bentuk dasar aplikasi sehingga antaramuka antara aplikasi J2ME dan aplikasi manajemen pada perangkat dapat terbentuk.

JAD (Java Application Descriptor) digunakan untuk mendeskripsikan isi aplikasi untuk keperluan pemetaan. File JAD bersisi deskripsi file JAR (Java Archive) dan pemetaan atribut MIDlet, sedangkan file JAR berisi kumpulan kelas dan resource.

Page 67: Object Oriented Program

OTA (Over The Air) mengacu pada beberapa teknologi jaringan tanpa kabel. Dengan menggunakan OTA, provider MIDlet dapat menginstal MIDlet pada web server dan menyediakan link untuk mengunduh via WAP atau internet microbrowser.

J2ME WTK (J2ME Wireless Tool Kit) adalah alat yang menyediakan lingkungan emulator, dokumentasi, beserta contoh-contoh aplikasi Java untuk perangkat kecil (small device). J2ME WTK berbasiskan pada CLDC dan MIDP.

J2ME WTK adalah program yang meniru kerja ponsel yang mendukung MIDP atau yang biasa disebut emulator.

Oleh karena itu, belum tentu MIDlet yang berjalan di emulator juga berjalan pada ponsel yang sebenarnya, karena juga tergantung pada kemampuan dan kapasitas ponsel yang digunakan.

Page 68: Object Oriented Program

Untuk memulai Implementasi Untuk memulai Implementasi OOP di Java apakah yang harus OOP di Java apakah yang harus di persiapkan…????di persiapkan…???? Pastikan sebuah Platform Java seperti

Java Development Kit (JDK). Dan Edisi-edisi yang sudah di sediakan

oleh Java itu sendiri, seperti :J2EE (Java 2 Enterprise Edition) J2SE (Java 2 Second Edition) J2ME (Java 2 Micro Edition) NetBeans 6.7.1Modul UML (Free Download Plugin UML)

Sudah terinstall dengan baik.

Page 69: Object Oriented Program

Design UML Langkah-langkah pembuatan : Pilih New Project pada Menu Bar pilih UML pada Choose Project

Categories

Pada Project pilih Java Platform Model

Page 70: Object Oriented Program

Berikan nama pada Project Name tentukan Project Location dimana project ini akan disimpan pada Folder yang sudah kita tentukan sebelumnya untuk memudahkan kita dalam pencarian, contoh :

D:\LatJava

Kemudian, akan

tampil gambar

berikut :

Page 71: Object Oriented Program

Pilih Class Diagram pada Diagram Type karena memang pada latihan ini kita menggunakan sebuah kelas diagram untuk mengimplementasikan sedangkan untuk pemahaman UML sendiri kita bisa mempelajari pada buku yang membahas UML

Berikan nama pada Diagram Name contoh : BangunRuangClassDiagram klik Finish untuk menyelesaikan pembuatan Class Diagram

Page 72: Object Oriented Program

Pilih sebuah Class Interface pada Menu Palette Drag pada Class Interface Drop pada lingkungan kerja kita atur pada

properties atau double klik pada objek class name pada Class Interface untuk memberikan nama pada Class tersebut seperti yang terlihat pada gambar dibawah ini

Page 73: Object Oriented Program

Klik kanan pada Class Interface pilih Create Operation Interface ini kita beri nama BangunRuang2Dimensi yang terdiri dari

objek Segitiga, Segiempat, dan Lingkaran

Membuat Class Diagram Segitiga : klik pada Menu Palette pilih Class Diagram lakukan Drag & Drop pada objek tersebut

Page 74: Object Oriented Program

Beri nama pada objek tersebut Segitiga klik kanan pada objek pilih Create Attribute (berupa Alas dan Tinggi) hilangkan kata int unnamed ganti dengan double Alas dan Tinggi

Klik pada objek SegiTiga sehingga tampil menu disamping objek yang kita pilih pilih implementation pada saat meng-klik tahan dan tarik objek tersebut sampai menyentuh sebuah objek Bangun Ruang 2Dimensi

Page 75: Object Oriented Program

Selanjutnya buat sebuah objek baru yaitu Prisma Pada Class Prisma kita hanya membutuhkan attribute Tinggi

Prisma (Polymorfisme)

Untuk Alas dan Tinggi kita bisa ambil attribute tersebut pada kelas Segitiga dengan cara : klik pada objek Prisma akan muncul menu di samping kanan objek pilih Generalization

Klik button OK

Page 76: Object Oriented Program

Drag & Drop Package pada Menu Palette berikan nama pada Package dengan BangunRuangUAS klik pada objek Package

Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokkan kelas- kelas (dan juga interface-interface) yang terkait (karena jenisnya/fungsinya/alasan lain), sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.

Klik pada Containment lakukan koneksi dari masing-masing objek dengan cara mengklik Containment hubungkan dengan semua objek yang ada

Page 77: Object Oriented Program

Membangun Aplikasi Java Console Aplikasi yang dijalankan dengan Command Line Interface

Langkah-langkah pembuatan : Klik pada Menu Bar klik File pilih New Project pilih Java pada menu Choose

Project pilih Java Application pada Project tekan tombol Next Buatlah nama project sesuai dengan nama UML Bangun Ruang, contoh :

BangunRuang klik Finish Lakukan proses Generate Code dengan cara klik kanan pada Mouse arahkan

pada Bangun Ruang Package pada UML klik tombol OK

Page 78: Object Oriented Program

Ubahlah listing program yang sudah di generate seperti pada gambar

Super : fungsi ini menunjukan bahwa setiap Class yang mengacu pada Class yang lain dan dianggap bahwa Class tersebut adalah sebagai Class yang menurunkan sifat

Super.getLuas() : fungsi ini mengambil perhitungan luas dari segitiga karena generalization.

Operations/method adalah instruksi pemrosesan yang menjadi bagian dari objek.

Attribute adalah sesuatu yang dimiliki oleh objek.

Segitiga.javaPrismaSegitiga.java

operations / method

attribute

Page 79: Object Oriented Program

Source Code pada Class Main

package bangunruang;public class Main {

public static void main(String[] args) {

Segitiga segi3 = new Segitiga(); //pemanggilan classsegi3.setAlas(10); //pemanggilan method

segi3.setTinggi(20); System.out.println("===========Segitiga================"); System.out.println("Lebar : " + segi3.getAlas)); System.out.println("Panjang : " + segi3.getTinggi()); System.out.println("Luas : " + segi3.getLuas()); System.out.println("Keliling : " + segi3.getKeliling()); System.out.println("===========End Segitiga=============");   PrismaSegitiga prisma = new PrismaSegitiga(); prisma.setAlas(40); prisma.setTinggi(50); prisma.setTinggiPrisma(20); System.out.println("=========Prisma Segitiga============"); System.out.println("Lebar Balok : "+ prisma.getAlas()); System.out.println("Panjang Balok : "+ prisma.getTinggi()); System.out.println("Tinggi Balok : "+ prisma.getTinggiPrisma()); System.out.println("Valume Balok : "+ prisma.getVolume()); System.out.println("========End Prisma Segitiga=========");

//Constructor : nama sama dengan kelas tetapi tidak mengembalikan nilai

Instance / object

Constructor

Page 80: Object Oriented Program

//Instance Prisma Segitiga Ke Segitiga Metode Pholymorphisme

//Maka nilai Tinggi and Method getVolume akan hilang

//Dari bawah ke atas bisa

Segitiga segi3_2 = new PrismaSegitiga();

 

segi3_2.setAlas(60);

segi3_2.setTinggi(70);

 

System.out.println("=========Segitiga dari Prisma Baru===========");

System.out.println(“Alas : " + segi3_2.getAlas());

System.out.println(“Tinggi : " + segi3_2.getTinggi());

System.out.println("Luas : " + segi3_2.getLuas());

System.out.println("Keliling : " + segi3_2.getKeliling());

System.out.println("=======End Segitiga dari Prisma Baru =========");

 

Class

Page 81: Object Oriented Program

 //atau instance prisma segitiga di samakan dengan instance segitiga

//dari segitiga dan prisma segitiga

//segi3_2 =blk; //cara pemaksaan

//casting menyerupakan, pemaksaan tapi lebih sopan

segi3_2 = (Segitiga)prisma;

System.out.println("=========Segitiga Instance dari Prisma=========");System.out.println(“Alas = " + segi3_2.getAlas());System.out.println(“Tinggi = " + segi3_2.getTinggi());System.out.println("Luas = " + segi3_2.getKeliling());System.out.println("Keliling = " + ssegi3_2.getLuas());System.out.println("=====End Segitiga Instance dari Prisma=========");

//Polimorphisme dengan menggunakan Implement

//dari Segitiga ke 2D

BangunRuang2DInt bangun2DInt = new Segitiga();

BangunRuang2DInt bangun2DInt2 = segi3;

BangunRuang2DInt bangun2DInt3 = new PrismaSegitiga();

BangunRuang2DInt bangun2DInt4 = prisma;

System.out.println("=========Interface 2D dari Segitiga========");

System.out.println("Luas : " + bangun2DInt2.getLuas());

System.out.println("Keliling : " + bangun2DInt2.getKeliling());

System.out.println("=======End Interface 2D dari Segitiga ======");

Page 82: Object Oriented Program

  //dari Balok ke 3D

BangunRuang3DInt bangun3DInt = new PrismaSegitiga();

BangunRuang3DInt bangun3DInt2 = prisma;

//casting

BangunRuang3DInt bangun3Dint2a = (BangunRuang3DInt)prisma;

System.out.println("=========Interface Balok ke 3D===========");

System.out.println("Volume Balok : " + bangun3DInt2.getVolume());

System.out.println("=======End Interface Balok ke 3D =========");

/*Tidak bisa * BangunRuang3DInt bangun3Dint2 = segi3; * PrismaSegitiga prisma = new Segitiga(); */

}

}

Page 83: Object Oriented Program

Membangun Aplikasi Java Desktop

Aplikasi yang dijalankan dalam bentuk GUI (Graphical User Interface)

Langkah-langkah pembuatan : Lakukan Build pada Bangun Ruang Console untuk membuat suatu File

Library yang berekstensi JAR (Java Archive). File ini adalah sebuah pengelompokan dari banyak File Java atau bisa

disebut juga dengan sebuah Package dari sebuah File dengan tujuan agar bisa menjamin bahwa nama yang digunakan tetap unik juga untuk mengontrol visibility class atau interface yang ada didalam.

Page 84: Object Oriented Program

o Klik kanan pada Bangun Ruang Dekstop yang sudah kita buat pilih properties

o Pada list menu di samping kiri pilih Libraries klik tombol AddJAR/Folder di sebelah kanan form

Page 85: Object Oriented Program

Swing Menus Variable Name Text

JMenu jMnuBangunRuang2D Bangun Ruang 2D

JMenuItem jMniSegitiga Segitiga

JMenu jMnuBangunRuang3D Bangun Ruang 3D

JMenuItem jMniPrismaSegitiga Prisma Segitiga

JMenu jMnuFile File

JMenuItem jMniKeluar Keluar

Page 86: Object Oriented Program

Setelah membuat menu, kemudian membuat desain JFrame berikut dengan cara drag & drop JLabel, JTextField, dan JButton pada Palette.

Untuk mengubah nama variabel dan text yang ditampilkan dengan cara mengubah di Propertiesnya.

Berikut desain JFrame yang harus dibuat :

JTextField

JButton

JLabel

Page 87: Object Oriented Program

Keterangan JFrame :

FrmSegitiga.java FrmPrismaSegitiga.java

JTextField digunakan untuk menginput nilai JLabel digunakan hanya untuk tampilan dan tidak bisa menginput nilai JButton digunakan untuk menjalankan perhitungan atau proses Masing-masing mempunyai event yang bisa dibuat dengan cara klik kanan pada

Button / Label / Text Field pilih Events … (terdapat banyak event sesuai kebutuhan)

Events, yaitu objek untuk mewakili peristiwa klik atau tombol ditekan

Swing Controls

Variable Name Text

JLabel Segitiga Segitiga

JLabel Alas Alas

JTextField jTxtAlas 0

JLabel Tinggi Tinggi

JTextField jTxtTinggi 0

Jbutton jBtnHitung Hitung

JLabel Luas Luas

JTextField jTxtLuas 0

JLabel Keliling Keliling

JTextField jTxtKeliling 0

Swing Controls Variable Name Text

JLabel Prisma Segitiga Prisma Segitiga

JLabel Alas Alas Segitiga

JTextField jTxtAlasSegitiga 0

JLabel Tinggi Tinggi Segitiga

JTextField jTxtTinggiSegitiga 0

Jbutton jBtnHitung Hitung

JLabel TinggiPrisma Tinggi Prisma

JTextField jTxtTinggiPrisma 0

JLabel Volume Volume Prisma

JTextField jTxtVolume 0

Page 88: Object Oriented Program

Source Code (diubah pada event)

JFrmMain.javaprivate void jmniSegiTigaActionPerformed(java.awt.event.ActionEvent evt) { if (frmsegitiga == null) { frmsegitiga = new FrmSegiTiga(); } showForm(frmsegitiga); }

private void jmniPrismaSegitigaActionPerformed(java.awt.event.ActionEvent evt) { if (frmprismasegitiga == null) { frmprismasegitiga = new FrmPrismaSegitiga(); } showForm(frmprismasegitiga); }

private void jmniKeluarActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); }

private void showForm(Object obj) { JInternalFrame jf = null; if (obj instanceof JInternalFrame) { jf = (JInternalFrame) obj; if (!jf.isVisible()) { jDesktopPane1.add(jf); } jf.setVisible(true); try { jf.setMaximum(true); jf.setSelected(true); } catch (java.beans.PropertyVetoException e) { e.printStackTrace(); } } }

Events

Page 89: Object Oriented Program

FrmSegitiga.javaprivate void jbtnHitungActionPerformed(java.awt.event.ActionEvent evt) { Segitiga segi3=new Segitiga(); segi3.setAlas(Double.parseDouble(jtxtAlas.getText())); segi3.setTinggi(Double.parseDouble(jtxtTinggi.getText())); jtxtLuas.setText(segi3.getLuas() + ""); jtxtKeliling.setText(segi3.getKeliling() + "");}

FrmPrismaSegitiga.javaprivate void jbtnHitungActionPerformed(java.awt.event.ActionEvent evt) { PrismaSegitiga pr=new PrismaSegitiga(); pr.setAlas(Double.parseDouble(jtxtAlas.getText())); pr.setTinggi(Double.parseDouble(jtxtTinggi.getText())); pr.setTinggiPrisma(Double.parseDouble(jtxtTinggiPrisma.getText())); jtxtVolume.setText(pr.getVolume() + "");}

Double.parseDouble : untuk mengkonversi nilai dari tipe string ke double getText() : untuk mendapatkan nilai yang diinput setText() : untuk menampilkan nilai

Page 90: Object Oriented Program

Membangun Aplikasi Web Di Java

Aplikasi yang dijalankan di browser yang berbentuk web

Langkah-langkah pembuatan : Klik file → new project lalu pilih web → web application.

Kemudian pilih tombol next

Page 91: Object Oriented Program

Beri nama pada Project Name : BangunRuangWeb → klik tombol Next

Pilih server GlassFish V2 → klik tombol Next → klik Finish. Setelah itu akan muncul file index.jsp

 

Page 92: Object Oriented Program

Kopikan gambar-gambar yang dibutuhkan ke dalam folder BangunRuangWeb/Web yang ada di NetBeansProjects.

Berikut ini adalah gambar-gambar yang sudah dikopikan ke dalam folder :

Buatlah file jar yang berasal dari BangunRuang dengan cara : klik kanan pada BangunRuangWeb → pilih Properties → pilih Libraries → klik tombol Add JAR/Folder.

 

Page 93: Object Oriented Program

Buatlah file jar yang berasal dari BangunRuang dengan cara : klik kanan pada BangunRuangWeb → pilih Properties → pilih Libraries → klik tombol Add JAR/Folder

Pilih di folder NetBeansProjects/BangunRuang/dist/BangunRuang.jar → klik tombol OK → klik tombol OK lagi.

 

Page 94: Object Oriented Program

Buatlah file-file JSP dengan cara : klik kanan di BangunRuangWeb → Web Pages → Pilih New → JSP

Berilah nama JSP File Name : Balok → setelah itu pilih tombol Finish

 

Page 95: Object Oriented Program

Source code yang harus diubah :

Segitiga.jsp<%@page import="bangunruang.*"%><% String tinggi= request.getParameter("tinggi") == null ? "0":request.getParameter("tinggi");

String alas = request.getParameter("alas") == null ? "0":request.getParameter("alas");Segitiga st = new Segitiga();st.setAlas(Double.parseDouble(alas));st.setTinggi(Double.parseDouble(tinggi)); %>

<a href="index.jsp">Home</a> <br><table align="center" border="2" bgcolor="#fabc5a" cellpadding="5" cellspacing="0"><caption align="top"><H1>SEGI TIGA<H1></caption> <tr><th>

<img width="160" height="160" src="122px-Triangle.Equilateral.svg.png" align="left"> Segitiga adalah nama suatu bentuk yang dibuat dari tiga sisi yang berupa garis lurus dan tiga sudut. Matematikawan Euclid yang hidup sekitar tahun 300 SM menemukan bahwa

jumlah ketiga sudut di suatu segi tiga adalah 180 derajat. Hal ini memungkinkan kita menghitung besarnya salah satu sudut bila dua sudut lainnya sudah diketahui.

</th></tr><tr><td><Form> <img width='200' height='150' src='S3.png' align="left"> <pre>Tinggi : </pre><input type=text name=tinggi value=<%=tinggi%>> <pre>Alas : </pre><input type=text name=alas value=<%=alas%>> <br><input type=submit Value=Hitung></Form></td></tr><tr><td> <pre> Luas : <%=st.getLuas() %></pre> <pre> Keliling : <%=st.getKeliling() %></pre> </td></tr></table>

 

Pemanggilan halaman index.jspPembuatan tabel

Menyisipkan gambar

Membuat button hitung

Membuat text untuk menginput

Source code Java ditandai dengan <% %>

Nama variabel harus sama

Membuat label Pemanggilan method di Java

Page 96: Object Oriented Program

PrismaSegitiga.jsp<%@page import="bangunruang.*"%><% String tinggi= request.getParameter("tinggi") == null ? "0":request.getParameter("tinggi");

String alas = request.getParameter("alas") == null ? "0":request.getParameter("alas");String tinggiP = request.getParameter("tinggiP") == null ? "0":request.getParameter("tinggiP");PrismaSegitiga pri = new PrismaSegitiga();pri.setAlas(Double.parseDouble(alas));pri.setTinggi(Double.parseDouble(tinggi));pri.setTinggiPrisma(Double.parseDouble(tinggiP)); %>

<a href="index.jsp">Home</a><br><table align="center" border="2" bgcolor="#fabc5a" cellpadding="5" cellspacing="0" ><caption align="top"><H1>PRISMA SEGITIGA<H1></caption><tr><th> <img width="160" height="160" src="220px-Prisma.JPG" align="left">Dalam geometri, prisma adalah bangun ruang tiga dimensi yang dibatasi oleh alas dan tutupidentik berbentuk segi-n dan sisi-sisi tegak berbentuk segiempat. Dengan kata lain prismaadalah bangun ruang yang mempunyai penampang melintang yang selalu sama dalam bentuk dan ukuran. </th></tr><tr><td><Form > <img width="200" height="150" src="prisma.jpg" align="left"> <pre>Alas : <input type=text name=alas value=<%=alas%>></pre> <pre>Tinggi : <input type=text name=tinggi value=<%=tinggi%>> </pre> <pre>Tinggi Prisma : <input type=text name=tinggiP value=<%=tinggiP%>></pre> <input type=submit Value=Hitung></Form></td></tr> <tr><td>

<pre>Volume : <%=pri.getVolume()%> </pre> </td></tr></table>

 

Page 97: Object Oriented Program

Membangun Aplikasi Mobile

Aplikasi yang dijalankan di mobile / handphone

Langkah-langkah pembuatan : Pilih File → New Project → pilih Mobility → MIDP Application → klik tombol

Next Berilah nama pada Project Name : BangunRuangMobile → klik tombol Next Pilih MIDP 2.0 → klik tombol Next → klik tombol Finish.

Page 98: Object Oriented Program

Copy semua file dari .java dari NetBeansProjects/BangunRuang ke dalam folder bangunruangmobile

Bukalah BangunRuang.java yang bersimbol penggaris dan pensil di dalam BangunRuangMobile → pilih tab Flow

Berilah nama JSP File Name : PrismaSegitiga → setelah itu pilih tombol Finish

 

Page 99: Object Oriented Program

Splash screen : tampilan yang kita lihat pertama kali waktu kita menjalankan sebuah aplikasi.

Splash screen ini biasanya ditampilkan untuk mengurangi kejenuhan user sewaktu program masih dalam tahap inisialisasi.

Cara membuat splash screen : Pilih di dalam Pallete → Splash Screen, buat di dalam flow → tariklah garis

dari started ke Splash Screen. Untuk mengganti Text di Splash Screen → ubah di Properties → Text →

Ketik Wait until background task is complete ...

 

Page 100: Object Oriented Program

Untuk membuat image di Splash Screen : ubah di properties → klik kotak kecil yang ada di image → pilih image1 → lalu pilih file gambar yang sudah ada.

Untuk membuat garis pada flow, dengan cara menarik garis dari screen command atau exit command atau splash screen ke form yang dituju

 

Page 101: Object Oriented Program

Cara membuat frmWelcome :

Pilih di dalam Pallete → Form.

Buatlah di dalam flow → ubah properties → instance name (nama form) menjadi frmWelcome dan Title (judul yang akan ditampilkan di mobile) menjadi Welcome.

Klik kanan pada frmWelcome yang sudah ada di dalam layar Flow → pilih New/Add → pilih Screen Command → ganti instance name menjadi scrBangunRuang2D

 

Page 102: Object Oriented Program

Buatlah satu Screen Command lagi dan ubah instance name menjadi scrBangunRuang3D.

Screen Command : tampilan di layar handphone untuk menuju ke form yang diinginkan

Untuk membuat Exit Command : klik kanan pada form pilih New/Add → pilih Exit Command

Exit Command : tampilan di layar untuk instruksi keluar dari form

Untuk membuat List : pilih di Pallette → List. Untuk membuat List Element di dalam List : klik kanan pada list

→ pilih List Element. Untuk membuat Back Command : klik kanan pada form/list →

pilih New/Add → pilih Back Command Back Command : tampilan di layar untuk kembali ke form

yang dituju

 

Page 103: Object Oriented Program

Buatlah tampilan menjadi seperti berikut :

 

Page 104: Object Oriented Program

Keterangan Flow :

(frm:Form, scr:Screen Command, list:List)

 

Page 105: Object Oriented Program

Screen untuk masing-masing list, form welcome dan splash screen :

 

List Element

DateField

Page 106: Object Oriented Program

Screen untuk masing-masing form :

TextField : untuk menginput nilai Cara membuat TextField : klik kanan pada device screen seperti gambar diatas New/Add

Text Field StringItem : untuk menampilkan hasil perhitungan Cara membuat StringItem : klik kanan pada device screen seperti gambar diatas New/Add

String Item DateField : untuk menampilkan tanggal dan waktu ListElement : bagian dari List Cara membuat DateField dan ListElement hampir sama dengan TextField dan String Item,

hanya saja pilihan terakhir yang berbeda

 

TextField

StringItem

Page 107: Object Oriented Program

ListBangunRuang2D ListBangunRuang3D

frmWelcome SplashScreen

Sudah dibahas sebelumnya

 

frmSegitiga frmPrismaSegitiga

Type Properties Value

List Element String Segitiga

Type Properties Value

List Element String Prisma Segitiga

Type Instance Name Properties Value

DateField Tanggal Input Mode Date

DateField Waktu Input Mode Time

Type Instance Name Properties Value

TextField txtAlasSG Label Alas

TextField txtTinggiSG Label Tinggi

StringItem strLuasSG Label Luas

StringItem strKelilingSG Label Keliling

Type Instance Name Properties Value

TextField txtAlasPS Label Alas

TextField txtTinggiPS Label Tinggi

TextField txtTinggiprismaPS Label Tinggi Prisma

StringItem strVolumePS Label Volume

Page 108: Object Oriented Program

Source Code yang perlu diubah di dalam commandAction() :

Segitiga

else if (command == scrHitungSegitiga) { Segitiga sg = new Segitiga(); sg.setAlas(Double.parseDouble(txtAlasSG.getString())); sg.setTinggi(Double.parseDouble(txtTinggiSG.getString())); strLuasSG.setText(sg.getLuas() +""); strKelilingSG.setText(sg.getKeliling()+"");}

PrismaSegitiga

else if (command == scrHitungPrismaSegitiga) { PrismaSegitiga ps = new PrismaSegitiga(); ps.setAlas(Double.parseDouble(txtAlasPS.getString())); ps.setTinggi(Double.parseDouble(txtTinggiPS.getString())); ps.setTinggiPrisma(Double.parseDouble(txtTinggiprismaPS.getString())); strVolumePS.setText(ps.getVolume() +"");}

 

Untuk Mengambil nilai yang diinput

Page 109: Object Oriented Program

-- SEKIAN DAN TERIMA KASIH --