5 BAB II LANDASAN TEORI# 2.1. Konsep Dasar Sistem 2.1.1

advertisement
5
BAB II
LANDASAN TEORI
2.1.
Konsep Dasar Sistem
2.1.1. Definisi Sistem
Berikut ini adalah teori-teori tentang pengertian sistem yang ditemukan
oleh para ahli, yaitu :
Menurut Djon Irwanto (Perancangan Object Oriented Software dengan
UML, 2006), “Sistem adalah sekumpulan komponen-komponen yang
mengimplementasikan
model
dan
fungsionalitas
yang
dibutuhkan,
komponen-komponen tersebut saling berinteraksi dalam sistem guna
mentransformasi input yang diberikan kepada sistem tersebut menjadi output
yang berguna dan bernilai bagi aktornya”.
Sedangkan menurut Al- Bahra Bin Ladjamudin (Analisis dan
Perancangan Sistem Informasi, 2005) :
“ Sistem adalah seperangkat elemen –elemen yang terintegrasi dengan
maksud yang sama untuk mencapai suatu tujuan bersama.”
Sedangkan menurut J. Djamil, MBA (Sistem Informasi Manajemen,
1997) :
“ Sistem adalah seperangkat elemen yang digabungkan satu dengan
lainnya untuk tujuan bersama.”
Jadi dari tiga pernyataan di atas penulis dapat mengambil kesimpulan
bahwa sistem adalah hal yang sangat penting untuk melakukan suatu
kegiatan dan mencapai suatu sasaran dan tujuan yang lebih baik.
6
2.1.2. Pengertian Sistem Komputerisasi
Menurut Herwindo ST dan Ali Akbar, (Mengenal Sistem Komputer
Masa Kini, 2005) Sistem ini adalah sekelompok metode atau posedur,
sekelompok objek-objek yang berhubungan terorganisir atau saling
berkaitan satu dengan
yang lain membentuk satu kesatuan secara
keseluruhan untuk mencapai suatu fungsi atau tujuan tertentu.
Menurut Herwindo ST dan Ali Akbar, (Mengenal Sistem Komputer,
2005) Komputer adalah alat yang berfungsi sebagai pengolah data yang
menghasilkan informasi, selain itu komputer juga merupakan alat bantu
untuk menganalisa sistem dan menyelesaikan masalah-masalah oleh karena
itu komputer sangat diperlukan untuk membantu kegiatan-kegiatan yang
berhubungan dengan manajemen didalam perusahaan itu sendiri.
Dalam era informasi teknologi komputer sangat penting didalam
perusahaan atau organisasi. Komputer diciptakan untuk membantu manusia
dalam memecahkan masalah, disitulah komputer dapat digunakan sesuai
dengan fungsinya.
2.2.
Konsep Dasar Informasi
Menurut Raymond McLeod (Sistem Informasi Manajemen, 1995),
informasi adalah sebagai data yang telah diolah menjadi bentuk yang lebih
berarti bagi penerimanya. Alat pengolah informasi dapat meliputi komputer,
elemen non komputer atau kombinasinya.
2.2.1. Kualitas Informasi
Kualitas informasi sangat dipengaruhi atau ditentukan oleh tige hal
sebagai berikut:
7
a. Relevan (Relevancy)
Seberapa jauh tingkat relevansi informasi tersebut terhadap kenyataan
kejadian masa lalu, kejadian hari ini, dan kejadian yang akan datang.
b. Akurat (Accuracy)
Suatu informasi dikatakan berkualitas jika seluruh kebutuhan informasi
tersebut telah tersampaikan.
c. Tepat Waktu (Timeliness)
Berbagai proses dapat diselesaikan dengan tepat waktu, laporan-laporan
yang dibutuhkan dapat disampaikan tepat waktu.
2.2.2. Nilai Informasi
Suatu informasi dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya mendapatkannya dan sebagian besar informasi
tidak dapat tepat ditaksir keuntungannya dengan satuan nilai uang, tetapi
dapat ditaksir nilai efektifitasnya.
2.3.
Aplikasi Sistem
Aplikasi adalah Cara Sistem Informasi yang dapat membantu pemakai
akhir dan organisasi menyelesaikan pekerjaan dan mempertemukan strategi
objektif.
Langkah-Langkah Aplikasi Sistem:
-
Desain dan implementasikan komponen dari aplikasi terdistribusi
Anda.
-
Mengkompilasi kode source dan menghasilkan stub.
-
Membuat class.
-
Menjalankan aplikasi.
8
2.4.
Analisis Sistem
Menurut Al-Bahra Bin Ladjamudin (Analisis dan Desain Sistem
Informasi, 2005), analisis sistem adalah orang yang menganalisa sistem
dengan mempelajari masalah-masalah yang timbul dan menentukan
kebutuhan-kebutuhan pemakai serta menidentifikasikan pemecahan yang
beralasan.
2.4.1. Langkah-Langkah Analisis Sistem
Menurut Jogianto HM, (Analisis dan disain Sistem Informasi, 2001)
langkah-langkah dalam tahap analisis sistem hampir sama dengan yang akan
dilakukan dalam mengidentifikasikan proyek-proyek sistem yang akan
dikembangkan di tahap perencanaan sistem. Perbedaannya terletak dalam
ruang lingkup tugasnya. Di analisis sistem ini, penelitian yang dilakukan
oleh analisis sistem adalah penelitian terinci, sedangkan di perencanaan
sistem sifatnya hanya penelitian pendahuluan.
Di dalam tahap analisis sistem terdapat langkah-langkah dasar yang
harus dilakukan oleh analisis sistem , sebagai berikut:
1. Identify, yaitu mengidentifikasikan masalah
2. Understand, yaitu memahami kerja dari sistem yang ada.
3. Analyz , yaitu menganalisis sistem
4. Report, yaitu membuat laporan hasil analisis
2.5.
Desain Sistem
Menurut Jogianto HM, ( Analisa dan Desain Sistem Informasi, 2001)
Desain sistem dapat diidentifikasikan sebagai: “Tahap setelah analisis dari
siklus pengembangan sistem; pendefinisian dari kebutuhan-kebutuhan
9
fungsional
dan
persiapan
untuk
rancang
bangun
implementasi;
menggambarkan bagaimana suatu sistem dibentuk.”
2.5.1. Tujuan Desain Sistem
Tahap desain sistem mempunyai dua maksud atau tujuan utama, yaitu:
1.
Untuk memenuhi kebutuhan para pemakai sistem.
2.
Untuk memberikan gambaran yang jelas dan rancang bangun yang
lengkap kepada pemrogram komputer dan ahli-ahli teknik yang terlibat.
Tujuan yang kedua ini lebih condong pada desin sistem yang terinci,
yaitu pembuatan rancang bangun yang jelas dan lengkap untuk nantinya
digunakan untuk pembuatan program komputernya.
2.6.
Analisis Berorientasi Obyek
Menurut A. Suhendar dan Hariman G (Pemrograman Berorientasi
Objek, 2002) pengertian Object-Oriented Analysis adalah sebagai berikut :
“ Object-Oriented Analysis adalah metode analisis yang memeriksa
requirements (syarat / keperluan yang harus dipenuhi oleh suatu sistem) dari
sudut pandang kelas-kelas dan obyek-obyek yang ditemui dalam ruang
lingkup permasalahan.“
Metodologi adalah cara sistematis untuk mengerjakan pekerjaan analisis
dan desain. Demikian pula didefinisikan oleh A. Suhendar dan Hariman G
(Pemrograman Berorientasi Objek, 2002) “ Metodologi Berorientasi Obyek
adalah metode penyelesaian masalah dengan menggunakan pendekatan
berorientasi obyek”
Metodologi pengembangan sistem berorientasi obyek mempunyai tujuh
karakteristik utama, yaitu :
10
1. Abstraction
Memfokuskan pada apakah objek dan apa yang dikerjakan oleh objek
tersebut.
2. Inheritance
Sarana untuk menghilangkan penulisan ulang terhadap kode yang dapat
digunakan berulang kali, yang dapat menyiakan banyak waktu,
ketidakkonsistenan dan meningkatkan resiko menimbulkan kesalahan.
3. Polymorphisme
Mendefiniskan ulang atribut-atribut yang bernama sama pada kelaskelas yang berbeda.
4. Encapsulation
Pemisahan aspek-aspek eksternal objek, yang dapat diakses oleh objekobjek lain.
5. Message Sending
Cara untuk berhubungan antara suatu objek dengan objek lain.
6. Association
Hubungan relasi antar objek.
7. Aggregation
Bentuk khusus dari asosiasi.
Unified Modelling Language (UML) adalah salah satu alat bantu yang
sangat handal dalam dunia pengembangan sistem berorientasi obyek karena
UML menyediakan bahasa pemodelan visual yang memungkinkan bagi
pengembang sistem untuk membuat cetak biru atas visi mereka ke bentuk
baku, mudah dipahami lengkap dengan mekanisme efektif untuk berbagi dan
mengkomunikasikan rancangan mereka dengan yang lain.
UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan
oleh: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT
(Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented
Software Engineering). Metode dari ketiganya digabungkan dengan
membuang elemen yang tidak praktis ditambah dengan elemen-elemen dari
11
metode lain yang lebih efektif dan elemen-elemen baru yang belum ada pada
metode terdahulu sehingga UML lebih ekspresif dan seragam daripada
metode lainnya.
Pendekatan-pendekatan yang dipakai dalam analisa berorientasi obyek
antara lain :
Pendekatan top down yaitu memecahkan masalah kedalam bagianbagian terkecil atau per level sehingga mudah untuk diselesaikan.
Pendekatan modul yaitu membagi sistem ke dalam modul-modul yang
dapat beroperasi tanpa ketergantungan.
Pengunaan alat-alat bantu dalam bentuk grafik dan teks sehingga mudah
untuk mengerti serta dikoreksi apabila terjadi perubahan.
Pendekatan dalam analisa berorientasi obyek dilengkapi dengan alat–alat
dan tehnik-tehnik yang dibutuhkan dalam pengembangan sistem, sehingga
hasil akhir dari sistem yang dikembangkan akan didapatkan sistem yang
dapat terdefinisi dengan baik dan jelas. Maka analisa berorientasi obyek
akan dilengkapi dengan alat dan tehnik di dalam mengembangkan sistem.
Alat bantu yang digunakan dalam analisa berorientasi obyek antara lain
sebagai berikut.
2.6.1. Class Diagram
Menurut Munawar (Pemodelan Visual dengan UML,2005) Class adalah
deskripsi kelompok obyek-obyek dengan properti, perilaku dan relasi yang
sama. Class diagram bisa memberikan pandangan global atas sebuah sistem.
Hal tersebut tercermin dari class-class yang ada dan relasi satu dengan
lainnya.
Menurut Dharwiyanti (Pengantar Unified Modelling Language,2003)
Class adalah sebuah spesifikasi yang jika diinstanisasi akan menghasilkan
sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi
objek. Class menggambarkan keadaan (attribute/property) suatu sistem
12
sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut
(method/function).
Class Diagram menggambarkan struktur dan deskripsi class, package
dan objek beserta hubungan satu sama lain seperti containment, pewarisan,
asosiasi, dan lain-lain.
Class memiliki tiga area pokok:
-
Nama (Stereotype)
-
Attribute
-
Metoda (Operation)
Attribute dan operation dapat memiliki salah satu sifat berikut:
-
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.
Hubungan Antar Class
1. 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 hirarki 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 dipassing dari
satu class kepada class lain. Hubungan dinamis dapat digambarkan
dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
13
Gambar 2.1 : Contoh Class Diagram
2.6.2. Use Case Diagram
Diagram use case menunjukan tiga aspek dari system yaitu actor, use
case dan system/ sub system boundary. Actor mewakili peran orang, system
yang lain atau alat ketika berkomunikasi dengan use case.
Gambar 2.2 Use Case Diagram
14
Use case diagram terdiri dari :
1. Actor
Actor adalah abstraction dari orang dan system yang lain yang
mengaktifkan fungsi dari target system. Orang atau system bisa muncul
dalam beberapa pesan.
2. Use Case
Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan
bukan “bagaimana”. Sebuah use case merepresentasikan sebuah
interaksi antara aktor dengan sistem.
Setiap use case harus diberi nama yang menyatakan apa hal yang dicapai
dari hasil interaksinya dengan actor. Nama use case boleh terdiri dari
beberapa kata dan tidak boleh ada dua use case yang memiliki nama
yang
sama.
Sementara
hubungan
generalisasi
antar
use
case
menunjukkan bahwa use case yang satu merupakan spesialisasi dari
yang lain.
3. Relasi/ Asosiasi Use Case
Asosiasi menggambarkan aliran data atau informasi. Asosiasi atau relasi
juga digunakan untuk menggambarkan bagaimana actor terlibat dalam
use case. Relasi (relationship) digambarkan sebagai bentuk garis antara
dua simbol dalam use case diagram.
Gambar 2.3 Contoh dari sebuah relasi
15
Selain terdapat relasi-relasi antara actor dan use case, juga terdapat
relasi-relasi antara use case-use case. Ada beberapa jenis relasi antara use
case, yaitu:
1. Include, digunakan untuk menggambarkan bahwa suatu use case
merupakan fungsionalitas dari use case lainnya.
Biasanya digunakan untuk menghindari pengkopian suatu use case
karena sering dipakai.
Gambar 2.4 Use Case Inclusion
2. Extend, digunakan untuk menunjukan bahwa satu use case merupakan
tambahan fungsional dari use case yang lain jika kondisi atau syarat
tertentu yang dipenuhi.
Gambar 2.5 Use Case Extension
16
3. Generalization atau Inheritance, Dibuat ketika ada perlakuan khusus dan
merupakan pola hubungan base-parent use case. Digambarkan dengan
garis berpanah tertutup dari base use case ke parent use case.
Gambar 2.6 Generalization
Selain relasi antara actor dan use case serta relasi antara use case-use
case, adapula Actor Generalisasi. Dapat digunakan bila ada satu use case
yang dipakai oleh lebih dari satu actor, maka dimunculkan satu actor baru
yang dapat mewakili actor-actor tersebut pada hal-hal yang bersifat umum.
Maksud dari generalisasi antara actor adalah spesialisasi actor yang bisa
berpartisipasi di semua use case yang diasosiasikan dengan actor yang lebih
general.
17
Gambar 2.7 Actor Generalization
2.6.3.
Sequence Diagram
Menurut Dharmawiyanti, (Pengantar Unified Modelling Language,
2003) Sequence diagram menggambarkan interasksi antar objek di dalam
dan di sekitar sistem termasuk pengguna, display dan sebagainya berupa
message yang digambarkan terhadap waktu. Sequence diagram terdiri atas
dimensi vertical (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan scenario atau
rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah
event untuk menghasilkan output tertentu. Diawali dari apa yang mentrigger
aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal
dan output apa yang dihasilkan.
Masing-masing objek, termasuk actor, 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.
18
Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya
diawali dengan diterimanya sebuah message.
Menurut Munawar (Pemodelan Visual dengan UML, 2005) Sequence
Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario.
Diagram ini menunjukkan sejumlah contoh obyek dan message (pesan) yang
diletakkan diantara obyek-obyek ini di dalam use case.
Menunjukkan interakasi yang terjadi antar objek. Diagram ini
menekankan pada basis keberurutan waktu dari pesan-pesan yang terjadi.
2.6.3.1. Obyek/Participant
Obyek diletakkan di dekat bagian atas diagram dengan urutan dari kiri
ke kanan. Setiap participant terhubung dengan garis titik-titik yang disebut
lifeline. Sepanjang lifeline ada kotak yang disebut activation. Activation
mewakili sebuah eksekusi operasi dari participant. Panjang kotak ini
berbanding lurus dengan durasi activation.
Gambar 2.8 Paricipant pada sebuah Sequence Diagram
19
2.6.3.2. Message
Sebuah message bergerak dari satu participant ke participant yang lain
dan dari satu lifeline ke lifeline lain. Sebuah participant bisa mengirim
sebuah message kepada dirinya sendiri.
Simple
Synchronous
Asynchronous
Gambar 2.9 Simbol-Simbol Message
2.6.4. Collaboration Diagram
Menurut Dharwiyanti, (Pengantar Unified Modelling Language,2003)
Collaboration diagram juga menggambarkan interaksi antar objek seperti
sequence diagram, tetapi lebih menekankan pada peran masing-masing
objek dan bukan pada waktu penyampaian message.
Setiap message memiliki sequence number, di mana message dari level
tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks
yang sama.
Menurut
Munawar
(Pemodelan
Visual
dengan
UML,
2005)
Collaboration diagram adalah bentuk lain dari sequence diagram. Bila
sequence diagram diorganisir menurut waktu maka collaboration diagram
diorganisir menurut ruang/space.
Collaboration diagram merupakan asosiasi diantara obyek-obyek. Panah
di dekat garis asosiasi menunjukkan message, sedangkan content message
ditunjukkan dengan label. Angka pada message menunjukkan urutan
message.
20
Dengan collaboratioan diagram memungkinkan untuk memodelkan
pengiriman sebuah message ke banyak obyek pada class yang sama.
Demikian juga halnya untuk menunjukkan adanya obyek aktif yang
mengendalikan aliran dari message.
Diagram ini merupakan diagram interaksi. Diagram ini menekankan
pada organisasi struktur dari objek-objek yang mengirim dan menerima
pesan.
7: calcTotal( )
3: calcPrice( )
6: calcDis countedValue( )
1: addProduct( )
OrderLine
Order
4: getDis countedValue( )
2: getProductPrice( )
5: getBas eValue( )
Product
Cus tom er
Gambar 2.10 Collaboration diagram untuk order
2.6.5. Activity Diagram
Activity
diagram
adalah
tehnik
untuk
mendeskripsikan
logika
prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity
diagram mempunyai pesan seperti halnya flowchart, letak perbedaannya
adalah Activity diagram bisa mendukung perilaku pararel sedangkan
flowchart tidak bisa.
Sebuah activity diagram mempunyai :
21
1.
Start point (initial node).
Gambar 2.11 Start Point
2.
End Point (activity final node).
Gambar 2.12 End Point
3.
Activities, menggambarkan proses bisnis dan dikenal sebagai activity
state. Digambarkan dengan bentuk seperti dibawah ini dan diberi
keterangan.
Gambar 2.13 Activities
4.
Jenis activities
a. Black hole activities
Ada masukan dan tidak ada keluaran, biasanya digunakan jika
dikehendaki ada 1 atau lebih transisi.
Gambar 2.14 Black Hole Activities
22
b. Miracle activities
Tidak ada masukan dan ada keluaran, biasanya dipakai pada waktu
start point dan dikehendaki ada 1 atau lebih transisi.
Gambar 2.15 Miracle Activities
c. Parallel activities
Suatu activity yang berjalan secara berbarengan. Terdiri dari :
-
Fork (percabangan)
Mempunyai 1 transisi masuk dan 2 atau lebih transisi keluar.
Gambar 2.16 Fork
Ketika ada lebih dari 1 transisi masuk ke fork yang sama,
gabungkan dengan sebuah decision point.
Gambar 2.17 Fork dengan Decision Point
23
-
Join (penggabungan)
Gambar 2.18 Join
Fork harus berhubungan dengan join.
d. Decision points
Decision point mempunyai transisi (sebuah garis dari atau ke
decision point). Setiap transisi yang ada harus mempunyai guard
(kunci). Hindarkan decision point yang berlebihan.
Decision point digambarkan dengan lambang wajik atau belah
ketupat, seperti :
Gambar 2.19 Decision Point
e. Guards (kunci)
-
Sebuah kondisi benar sewaktu melewati sebuah transisi.
-
Digambarkan dengan diletakkan diantara tanda [ ..... ]
-
Setiap transisi dari / ke decision point harus mempunyai
guard.
-
Guards harus konsisten dan tidak overlap.
Contoh: X< 0 , X = 0 dan X > 0 konsisten
X<=0 dan X>=0 tidak konsisten
-
Guards harus lengkap logikanya.
24
Contoh : X<0 dan X>0, bagaimana jika X=0?
-
Gunakan [otherwise] guard untuk menangkap suatu kondisi
yang belum terdeteksi.
f. Swimlane
Sebuah cara untuk mengelompokkan activity berdasarkan actor
(mengelompokkan activity dalam sebuah urutan yang sama). Actor
bisa ditulis nama actor ataupun sekaligus dengan lambang actor
(stick figure) pada use case diagram. Swimlane digambarkan
secara vertical, walaupun kadang – kadang digambarkan secara
horizontal.
Activity diagram menunjukan apa yang terjadi, tetapi tidak
menunjukan siapa yang melakukan apa. Jika diinginkan Activity
Diagram bisa dibagi dalam partition untuk menunjukan siapa
melakukan apa, hal ini disebut SwimLane. Contoh penerapan
Partition dalam Activity Diagram.
25
Gambar 2.20 Activity Diagram
2.6.6. State Machine Diagram
Diagram ini adalah state-machine diagram, berisi state, transisi, kejadian
dan aktivitas. Diagram ini penting dalam memodelkan perilaku antarmuka,
kelas dan kolaborasi dan menekankan kepada urutan kejadian.
Gambar 2.21 Simbol Statechart Diagram
26
UML juga memberi pilihan untuk menambahkan detil ke dalam simbol
tersebut dengan membagi menjadi 3 area yaitu nama state, state variabel dan
activity.
Nama
State Variabel
Activities
Gambar 2.22 Penambahan detil ke state
2.6.7. Package Diagram
Menurut Munawar (Pemodelan Visual dengan UML, 2005) Package
adalah pengelompokan konstuksi yang memungkinkan untuk mengambil
konstruksi tersebut di UML dan mengelompokkan elemen-elemen tersebut
secara bersama-sama menjadi level yang lebih tinggi. Penggunaan yang
umum dilakukan adalah mengelompokkan class, meskipun harus tetap
diingat bahwa package bisa digunakan untuk setiap bit dari UML.
Manfaat utama penggunaan package adalah penerapannya pada sistem
skala besar untuk mendapatkan gambaran saling ketergantungan diantara
component-component utama pada sistem.
27
leas ing
pres entation
as s et
pres entation
UI fram ewo rk
leas ing do m ain
as s et do m ain
leas ing da ta
m apper
as s et da ta
m apper
databa s e
Gambar 2.23 Cara Menampilkan Package Diagram
2.6.8. Object Diagram
Menurut Munawar (Pemodelan Visual dengan UML, 2005) Object
Diagram adalah gambaran objek-objek secara ringkas di sebuah sistem pada
suatu waktu. Objek diagram sering disebut sebagai instance diagram karena
menunjukkan instance-instance dari class. Objek diagram bisa digunakan
untuk menunjukkan contoh konfigurasi dari objek-objek. Hal ini sangat
berguna untuk menunjukkan hubungan yang mungkin ada di antara objekobjek yang sangat kompleks. Diagram ini menunjukkan sekumpulan objek
dan keterhubungannya. Diagram objek berguna untuk abstract modeling dan
perancangan program-program sesungguhnya.
28
R: Robot
[bergerak]
1: Lingkungan
a1: Area
: Element
A2: Area
d1: Dinding
d2: Dinding
Lebar=36
Lebar=96
d3: Dinding
Lebar=36
Gambar 2.24 Pemodelan Struktur Obyek
Lebar=96
29
2.7.
Java
Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan
dapat dijalankan pada berbagai platform sistem operasi (Jardiknas, 2007:3).
Java yang bersifat open source dikenal ketangguhannya sejak tahun 1994.
Ketangguhan pada Java tidak lepas dari komponen yang disediakan olah
java, salah satunya adalah Applet. Applet pada program java sangat dikenal
oleh masyarakat internet dikarenakan animasi dan aplikasi dinamisnya yang
telah membuat banyak website tidak lagi terkesan kaku. Sehingga banyak
orang yang kemudian berlomba-lomba untuk mempelajari dan membuat
applet demi kepentingan websitenya masing-masing.
Tidak hanya Applet, sebenarnya Java juga dapat membuat berbagai
aplikasi GUI (Graphical User Interface) yang dapat berjalan pada berbagai
platform (sistem operasi manapun), termasuk Microsoft Windows dan Linux
X-Windows. Untuk keperluan ini, Java telah menyediakan kumpulan class
di dalam Java Foundation Class (JFC), dengan user interface yang
dinamakan SWING (Sanjaya, 2003:1).
JFC memiliki kelebihan pada
berbagai kepentingan pemrograman visual, sehingga programmer bisa
memilih Look and Feel yang diinginkan. Dengan demikian hasil yang
ditampilkan bisa menyerupai Windows, Macintosh, atau X-Windows.
30
Gambar 2.25 Program Java dapat dieksekusi pada platform yang berbeda
(Raharjo, 2007:4)
Kemampuan Java berjalan di berbagai sistem operasi tidak lepas dari
keberadaan Java Virtual Machine (JVM) yang menjembatani antara byte
code (hasil kompilasi kode Java) dan hardware (Sanjaya, 2003:3). Agar
dapat dijalankan pada sebuah komputer, sebuah kode program harus di
dikompilasi (compile) dan kemudian diterjemahkan (interpred) terlebih
dahulu. Java menerapkan proses kompilasi sebagai compiler dan proses
menerjemahkan sebagai interpreter dalam satu kesatuan. Konsepnya
sederhana, kode program yang ditulis menggunakan bahasa Java
(berekstensi .java) di kompilasi oleh compiler menjadi suatu kode objek,
atau yang biasa disebut dengan byte code (berekstensi .class). Selanjutnya,
byte code diterjemahkan baris demi baris oleh interpreter. Dengan demikian,
proses kompilasi (compile) dan menerjemah (interpred) hanya dilakukan
sekali ketika ketika kode program tersebut dieksekusi. Berikut gambar
proses pembentukan program di dalam Java.
31
Gambar 2.26 Proses pembentukan dan eksekusi program di dalam Java
(Raharjo, 2007:3)
2.8.
J2SDK (Java 2 Software Development Kit)
J2SDK merupakan software yang dikeluarkan olah Sun yang berisi
kompiler dan interpreter java dan bersifat free. Software ini dapat di
download pada situs http://www.sun.com dan menggunakannya tanpa harus
membayar lisensi. Software ini dapat berjalan pada berbagai platform system
operasi, diantaranya; Windows, DOS, Intel Unix(Linux), dan Solaris.
2.9.
Text Editor dan Java IDE
Text Editor merupakan software yang berfungsi menuliskan kode-kode
program yang akan dibuat. Berbeda dengan Text Editor, Java IDE
(Integrated Development Environtment) mempunyai fasilitas untuk semua
kebutuhan pemprograman, mulai dari Text Editor, compiler/ interpreter,
sistem help, dan beberapa fitur lain yang sangat bermanfaat dalam penulisan
32
kode. Code auto-complete dan syntax highlight adalah salah satu fitur yang
bermanfaat dalam membantu penulisan kode.
Berikut ini beberapa software Java IDE yang paling banyak digunakan
dalam komunitas Java, yaitu sebagai berikut:
1.
NetBeans
Software ini merupakan IDE menarik yang layak digunakan untuk
mengembangkan berbagai tipe aplikasi, mulai dari aplikasi console,
visual, enterprise, sampai mobile.
Akan
tetapi, software
ini
membutuhkan RAM yang besar agar dapat berjalan maksimal.
2.
Eclipse
Software ini merupakan IDE yang dikembangkan oleh IBM. Sama
halnya dengan NetBeans, software Eclipse juga membutukan RAM
yang relative besar. IDE ini banyak digunakan utnuk mengembangkan
aplikasi-aplikasi yang kompleks (baik visual maupun console) dan
pengembangan aplikasi-aplikasi mobile.
3.
JCreator
Software ini merupakan IDE yang sederhana dan cepat. Biasa
digunakan untuk mempelajari kode-kode program sederhana.
2.10.
Java Generasi ke-2
Dari pertama kali dikembangkan, hingga saat ini java memiliki dua
generasi. Generasi ke-2 Java disebut dengan istilah Java 2. Menurut Irawan
Sanjaya (Java untuk Orang Awam, 2007) Java generasi ke-2 (Java 2) terbagi
menjadi tiga kategori, yaitu:
1.
J2EE (Java 2 Enterprise Edition)
J2EE ditujukan bagi lingkungan Internet atau aplikasi terdistribusi
dalam skala besar. Biasa juga digunakan pada pemrograman aplikasi
server, atau aplikasi berbasis web server.
33
2.
J2SE (Java 2 Standard Edition)
J2SE ditujukan untuk lingkungan workstation, seperti pembuatan
aplikasi-aplikasi desktop.
3.
J2ME (Java 2 Micro Editon)
J2ME ditujukan untuk lingkungan dengan sumber daya terbatas, seperti
smartcard, ponsel, dan PDA. Banyak juga digunakan untuk pembuatan
aplikasi pada wireless device atau mobile service.
2.11.
IDE Netbeans
IDE NetBeans berlisensikan Sun Public License. NetBeans bersifat open-source. NetBeans sebagai IDE ditujukan untuk memudahkan
pembuatan program yang menggunakan bahasa pemrogramman Java. Dalam
NetBeans, pemrograman dilakukan berbasiskan visual dan event-driven.
Sama seperti IDE yang dikeluarkan oleh Borland Delphi dan Microsoft
Visual Studio. Untuk membuat dialog atau user-interface, tidak lagi
membuat teks program secara manual baris per baris, tetapi cukup klik pada
component-pallete. Maka teks program akan dihasilkan secara otomatis.
NetBeans mencakup compiler atau builder, dan debugger internal. Hal
ini sangat memudahkan proses perancangan program. Proses deployment
dan/atau tes dapat juga dilakukan dari dalam NetBeans. NetBeans juga
mendukung source-control. Pemakaian internal VCS (Version Contro
System), ataupun menggunakan VCS eksternal. NetBeans juga dirancang
untuk memudahkan perancangan dan pemakaian komponen Beans.
Komponen dapat dibuat dan didaftarkan di dalam palette dari IDE NetBeans,
dan nantinya dapat dipakai di dalam program Java. NetBeans membuat
proses pembuatan komponen JavaBeans menjadi sangat mudah. Tersedia
template dan wizard yang tinggal dipakai untuk membuatnya. Kemudian,
kerangka kode program akan dihasilkan untuk Beans secara auto-generated.
34
Pemrograman standar Java (J2SE) dapat dilakukan oleh NetBeans,
selama J2SE tersedia di dalam sistem komputer. Pemrograman web dan
enterprise dapat dilakukan secara visual. Koneksi server database melalui
JDBC dapat dilakukan dari dalam NetBeans sendiri, baik pada saat
perancangan maupun pada saat proses deployment program. Pembuatan
komponen Beans untuk aplikasi web, maupun perancangan EJB (Enterprise
JavaBean) juga dapat dilakukan secara visual dan event-driven.
JavaBeans, JSP (Java Server Page), entity-bean, session-bean, webmodule (service-locator
dan servlet), web-service di dalam NetBeans
memakai wizard yang telah disediakan.
Distribusi
NetBeans
juga
menyertakan paket web-server Apacher Jakarta Tomcat. Server ini dapat
diakses dari dalam NetBeans, baik pada saat proses perancangan maupun
pada saat deployment aplikasi web.
Di dalam NetBeans, semua perancangan dan pemrograman dilakukan di
dalam kerangka sebuah proyek. Proyek NetBeans merupakan sekumpulan
file yang dikelompokan di dalam satu kesatuan. Seperti halnya sebuah
proyek dalam pemrograman, file-file beserta isinya akan ditempatkan di
dalam satu direktori. Meskipun demikian, ada juga proyek yang dapat
menangani file-file yang terpisah direktorinya. File-file yang diletakkan
secara terpisah disebut juga proyek bebas (free-form).
Download