Professional Documents
Culture Documents
Nama Kelompok :
3. Model Fungsional
• Model fungsional menggambrakan transformasi nilai data di dalam sistem.
• Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana
nodenya menyatakan proses dan arcnya adalah aliran data.
B. Model Berorientasi Objek
Sebuah model objek menangkap struktur statis dari sistem dengan
menggambarkan objek dalam sistem, hubungan antara objek, serta
atribut dan operasi yang merupakan karakteristik setiap kelas dan
objek.
Model berorientasi objek lebih mendekati keadaan nyata, dan
dilengkapi dengan penyajian grafis dari sistem yang sangat bermanfaat
untuk komunikasi dengan user dan pembuatan dokumentasi struktur
dari sistem.
1. Objek dan Kelas
Objek
• Objek didefinisikan sebagai konsep, abstraksi atau benda dengan
batasan dan arti untuk suatu masalah.
• Semua objek mempunyai identitas yang berbeda dengan lainnya.
• Istilah identitas berarti bahwa objek dibedakan oleh sifat yang
melekat dan bukan dengan uraian sifat yang dimilikinya.
• Contohnya : kembar identik, walaupun mereka nampak seperti sama,
tetapi merupakan dua orang yang berbeda.
• Kadang-kadang objek berarti suatu barang, maka digunakan istilah
object instance, dan object class untuk menunjukkan satu grup dari
barang yang sama.
Kelas
• Suatu object class menggambarkan kumpulan dari objek yang
mempunyai sifat (atribut), perilaku umum (operasi), relasi umum
dengan objek lain dan semantik umum.
• Contoh : Orang, perusahaan , binatang, proses adalah objek.
• Setiap orang mempunyai umur, IQ, dan mungkin pekerjaan. Setiap
proses mempunyai pemilik, prioritas, list dari sumber daya yang
dibutuhkan.
• Objek dan object class sering sama sebagai benda dalam deskripsi
masalah.
2. Diagram Objek
Diagram objek melengkapi notasi grafik untuk pemodelan objek, kelas
dan relasinya dengan yang lain. Diagram objek bermanfaat untuk
pemodelan abstrak dan membuat perancangan program.
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
Jenis Bahasa Pemrograman :
Clojure Groovy
Jython JRuby
Scala Fantom
Rhino Jacl
Clojure
Dirancang pertama kali oleh Rich Hickey, Clojure merupakan bahasa
pemrograman mirip Scheme dan Lisp yang berjalan diatas JVM. Tentu
saja dengan sintaksnya yang agak nyentrik ini Clojure memiliki peminat
yang cukup banyak di kalangan pengguna bahasa pemrograman
fungsional. Mulanya Rich Hickey menginginkan bahasa pemrograman
Lisp yang modern untuk functional programming. Rich juga
menginginkan ada sebuah fasilitas konkuren di dalam bahasa tersebut.
Maka saat itu Rich mengembangkan dotLisp, sebuah proyek Lisp yang
diimplementasikan diatas .NET Framework.
Tapi akhirnya Rich mengembangkan Clojure yang diimplementasikan
diatas JVM. Salah satu web framework terkenal yang dirancang
menggunakan Clojure adalah Noir. Berikut adalah contoh source
code Clojure :
myGroovyBean.setColor('baby blue’)
assert myGroovyBean.getColor() == 'baby blue’
myGroovyBean.color = 'pewter’
assert myGroovyBean.color == 'pewter'
Jython
• Jika Python yang aslinya diimplementasikan dalam bahasa C, maka
Jython tentu saja diimplementasikan diatas JVM. Jython dikompilasi
menjadi bytecode baru dapat dijalankan diatas JVM. Dengan Jython
Anda dapat mengakses library Java dan JVM seperti Swing, AWT, SWT,
dan lainnya. Beberapa library Python standard tidak dapat diakses di
Jython. Selain membangun aplikasi desktop, Anda dapat membangun
aplikasi web servlet dengan Jython.s Jython ini dikembangkan pertama
kali oleh Jim Hugunin, Barry Warsaw, Samuele Pedroni, Brian Zimmer,
dan Frank Wierzbicki. Berikut ini adalah contoh source code Jython :
from javax.swing import JButton, Jframe
def change_text(event):
print 'Clicked!’
button = JButton('Click Me!', actionPerformed=change_text)
frame.add(button)
frame.visible = True
JRuby
• JRuby dikembangkan oleh Charles Oliver Nutter dan Thomas Enebo.
Awalnya JRuby dikembangkan di Sun Microsystem tapi kmudian
berpindah ke Engine Yard pada tahun 2009. Pada Mei 2012, duo JRuby
tersebut pindah tempat ke Red Hat dan fokus mengembangkan JRuby
disana. Dua kontributor lainnya adalah Ola Bini dan Nick Sieger. Salah
satu keunggulan JRuby adalah adanya fitur multiple virtual machine
collaboration. Berikut ini adalah contoh source code JRuby :
require 'java’
frame = javax.swing.JFrame.new
frame.getContentPane.add javax.swing.JLabel.new('Hello,
World!’)
frame.setDefaultCloseOperation
javax.swing.JFrame::EXIT_ON_CLOSE
frame.pack
frame.set_visible true
Scala
• Scala merupakan bahasa pemrograman yang diklaim lebih sederhana
dibandingkan Java. Salah satu web framework terkenal dari Scala
adalah Lift dan Scalatra. Scala diciptakan oleh Martin Odersky karena
Martin menginginkan bahasa pemrograman fungsional
yang powerful yang dapat berjalan diatas JVM. Selain itu Martin terlibat
juga dalam pengembangan JVM bersama James Gosling dan tim
pengembang JVM lainnya. Berikut ini adalah contoh source code Scala :
// Scala
class Point(
val x: Double, val y: Double, addToGrid: Boolean = false
) {
import Point._
if (addToGrid)
grid.add(this)
• Java Standard Edition (SE), sebuah standar API untuk merancang aplikasi
desktop dan applets dengan bahasa dasar yang mendukung grafis, keamanan,
konektivitas basis data dan jaringan.
• Java Enterprose Edition (EE), sebuah inisiatif API untuk merancang aplikasi
serverdengan mendukung untuk basis data.
• Java Macro Edition (ME), sebuah API untuk merancang aplikasi yang jalan pada
alat kecil seperti telepon genggam, komputer genggam dan pager.
Beberapa fitur yang ditawarkan Java API yang digunakan oleh user yang
berkecimpung di dunia java :
1. Applet
2. Java Networking
3. Java Database Connectivity (JDBC)
4. Java Server Pages (JSP)
5. Java Card
1. Applet
• Java Applet merupakan program Java yang berjalan di atas browser. Penggunaan applet
ini akan membuat halaman HTML lebih dinamis dan menarik.
2. Java Networking
• Java Networking merupakan sekumpulan Application Program-ming Interface (API) yang
menjadikan fungsi-fungsi untuk aplikasi-aplikasi jaringan. Java Networking menyediakan
akses untuk TCP, UDP, IP Address dan URL, tetapi tidak untuk ICMP dikarenakan alasan
sekuriti.
3. Java Database Connectivity (JDBC)
• JDBC API terdiri atas class dan interface yang ditulis dalam bahasa Java untuk sebagai
alat bantu bagi pembuat program (developer ) dan menyediakan sekumpulan API untuk
mengatur keamanan mengakses database seperti Oracle, MySQL, PostgreSQL, Microsoft
SQL Server. Jadi keunggulan API JDBC dapat mengakses sumber data dan berjalan pada
semua Platform yang mempunyai Java Viortual Machine (JVM).
4. Java Server Pages (JSP)
• JSP adalah suatu teknologi web berbasis bahasa pemrograman Java dan berjalan pada
platform Java. JSP merupakan engembangan dari Servlet serta merupakan bagian dari
teknologi Java 2 Platform, Enterprise Edition (J2EE).
5. Java Card
• Platform yang ada pada JAVA dikembangkan oleh yang namanya Java Community
Process (JCP). JCP didirikan pada tahun 1998, merupakan suatu proses formal yang
memungkinkan pihak-pihak yang tertarik untuk terlibat dalam mengembangkan versi
dan fitur dari platform JAVA tersebut. Di dalam JCP terdapat yang namanya Java
Specification Request’s atau JSRs. JSRs adalah kumpulan dokumen formal yang
menggambarkan spesifikasi dan teknologi yang diusulkan oleh orang-orang yang terlibat
dalam JCP untuk melakukan penambahan fitur-fitur yang terdapat pada platform JAVA
tersebut.
Any
Question
??