MAKALAH
PENGANTAR TEKNOLOGI INFORMASI
Nama : Fegi Budi Prastyo
Prodi : Sistem informasi
Nim : 141250000052
MAKALAH SISTEM ORIENTASI OBJEK
BAB 1
PENDAHULUAN
A. Latar
belakang masalah
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.
UML
Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi
booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi
shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa
perang metodologi (method war) dalam pendesainan berorientasi objek.
Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita
bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang
berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk
penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak
tahun 1996 pengembangan tersebut
dikoordinasikan oleh Object Management Group.
B. Rumusan masalah
Dalam
perumusan masalah ini penulis akan merumuskan masalah tentang :
1. Apa
pengertian pemrograman orientasi objek
2. Apa
pengertian UML (Unified Modeling Language)
3.
Bagaimana penggunaan UML
4. Apa
kegunaan UML
5.
Dimana saja UML sering digunakan
6. Apa
saja diagram orientasi objek
7. Apa
Konsep dasar dari Pemrograman Berorientasi Objek
8. Apa
kelebihan dan kekurangan Pemrograman berorientasi objek
9. Apa
saja istilah-istilah objek
C.
Tujuan penulisan
Tujuan penulis menjelaskan UML dan sistem orientasi objek agar banyak orang
mengerti kegunaan dan fungsi dari UML dan Pemrograman berorientasi objek karena
UML dan PBO(Pemrograman Berorientasi Objek) sangat sering digunakan.
D.
Metode penulisan
Metode yang digunakan dalam penulisan makalah ini adalah menggunakan metode
pustaka yaitu penulis menggunakan media pustaka dalam penyusunan makalah ini.
BAB 2
UML(UNIFIED MODELING LANGUAGE) DAN
PBO (PEMROGRAMAN BERORIENTASI OBJEK)
1. Apa
pengertian pemrograman berorientasi objek
Pemrograman berorientasi objek (Inggris: object-oriented programming
disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek.
Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau
objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Object Oriented
Programming (OOP) adalah suatu metode dalam pembuatan program, dengan tujuan
untuk menyelesaikan kompleksnya berbagai masalah program yang terus
meningkat. Ada dua
bagian penting dalam Object Oriented Programming yaitu properties dan event.
Properties memiliki nama dan nilai, sementara event hanya memiliki nama dan
biasanya berhubungan dengan method, behavior, function dan action.
Dalam melakukan pemecahan masalah
Object Oriented Programming tidak memandang bagaimana cara memecahkan suatu
masalah secara terstruktur, melainakn bagaimana suatu masalah itu dapat
diselesaikan dengan menentukan objek-objek apa saja yang dapat memecahkan
masalah tersebut.
Pemrograman berorientasi objek (Inggris: object-oriented programming
disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek.
Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau
objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Model data berorientasi objek dikatakan dapat memberi
fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim
bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan
sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
2. Apa
pengertian UML (unified modeling language)
UML (Unified Modeling Language)
adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan
mendokumentasikan artifact (bagian dari informasi yang digunakan atau
dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa
model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti
pada pemodelan bisnis dan system non perangkat lunak lainnya.
UML merupakan suatu kumpulan teknik
terbaik yang telah terbukti sukses dalam memodelkan system yang besar dan
kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak,
namun hampir dalam semua bidang yang membutuhkan pemodelan.
II.I
Pengertian OOP
Pemrograman
berorientasi objek / object oriented programming (OOP) adalah
pembuatan suatu program yang diorientasikan dalam bentuk objek. Seluruh data
dan fungsi didalam pemrograman ini dibungkus
dalam kelas-kelas atau objek-objek. Bandingkan dengan
logika pemrograman terstruktur, setiap objek dapat menerima pesan,
memproses data, dan mengirim pesan ke objek lainnya.
II.II
Konsep Dasar OOP
Konsep dasar dalam
sistem berorientasi objek lebih ditekankan kedalam 5 konsep berikut :
-
Class (Kelas)
Class adalah
kumpulan objek-objek yang mempunyai struktur umum, behavior umum, relasi umum,
dan semantic (kata) yang umum. Pengelompokan class berdasarkan objek-objek
dalam sequence diagram dan collaboration diagram. Sebuah class
digambar seperti sebuah bujur sangkar dengan tiga bagian ruangan. Pemberian
nama kelas sebaiknya menggunakan kata benda yang disesuaikan dengan
kelompoknya.
-
Object (Objek)
Objek merupakan
dasar struktur dalam sebuah program komputer berorientasi objek. Objek
mengelompokkan data dan fungsi menjadi suatu unit dalam sebuah program
komputer.
-
Abstraksi
Kemampuan sebuah
program dalam melewati proses untuk mendapatkan informasi dari suatu objek atau
sistem. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa
teknik digunakan untuk mengembangkan sebuah pengabstrakan.
-
Enkapsulasi
Memastikan
pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek
dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi
izin untuk mengakses keadaannya. Setiap objek
mengakses interface yang menyebutkan bagaimana objek lainnya dapat
berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung
kepada representasi dalam objek tersebut.
-
Polimorfisme melalui pengiriman pesan
Tidak
bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim
pesan, metode tertentu yang berhubungan dengan sebuah pengiriman pesan
tergantung kepada objek tertentu di mana pesan tersebut dikirim.
pemrograman merupakan proses “penanaman” instruksi ke
dalam komputer sedemikian rupa sehingga dalam operasinya, computer tersebut
akan mengacu kepada instruksi yang telah diberikan. Proses pemrograman akan
menghasilkan suatu produk yang disebut “program”. Program yang berbeda akan
menyebabkan computer memberikan hasil yang berbeda untuk suatu input yang sama.
Contohnya, anggap saja kita mempunyai 2 buah program java sebagai berikut :
1. Penjuamlahan class, yaitu suatu
program yang akan menjumlahkan 2 buah input yang diberikan kepadanya, dan
mencetaknya kelayar monitor.
2. Perkalian class, yaitu suatu program
yang akan mengalikan 2 buah input yang diberikan kepadanya dan mencetaknya ke
layer monitor. Misalnya kita memasukkan pasangan 2 buah input {1,5} ke dalam
masing-masing program. Maka :
·
Penjumlahan.class akan mencetak nilai “6” ke layer
monitor.
·
Perkalian.class akan mencetak niali “5” ke layer
monitor.
2.2.2 Bahasa Pemrograman
Intruksi yang diberikan kepada computer pada dasarnya
adalah inturuksi berupa binarycode, yaitu rangkaian kode-kode biner (yang
terdiri atas bilangan-bilangan “0” dan “1” ) yang dapat ”dimengerti”oleh
computer. Intruksi biner yang dapat “dimengerti” oleh computer adalah intruksi
yang memiliki relasi dengan operasi elementer yang dapat dilakukan oleh
komputer, misalnya operasi “menyimpan 1 byte ke alamat tertentu pada
memeory”, “memutar hard-disk”, dan sebagainya. Setiap operasi pada computer
memiliki kode biner tertentu.
Pada perkembangan awal system computer, para pemrogram
(programmer) computer melakukan pemrograman dengan cara memasukkan nilai-nilai
biner ke dalam memory computer. Nilai-nilai biner dimasukkan menggambarkan
algoritma dari operasi yang harus dilakukan oleh computer . cara ini memiliki
beberapa kesulitan antara lain :
1. Sebelum memasukkan kode biner yang
benar, programmer harus melakukan pengecekan terhadap pemetaan kode biner
tersebut dengan operasi computer yang diinginkan.
2. Ketika terjadi error, programmer
harus melakukan kerja ekstra berupa pengecekan kode salah dan pemetaan ulang
terhadap hubungan antara kode biner dengan operasi komputer.
Seiring dengan semakin berkembangnya arsitektur
computer dan semakin banyaknya operasi yang dapat dialkukan computer, metode
penanaman instruksi dengan menggunakan binary code mulai dirasakan tidak
praktis, karena sulit diterjemahkan ke dalam bahasa manusia. Oleh karena itu
dibuatlah suatu perangkat yang dapat mengkonversi intruksi dari intruksi yang
dimengerti oleh bahasa manusia manusia menjadi intruksi yang dimengerti oleh
mesin/computer. Sebagai contoh :
1. Intruksi yang dimengerti oleh
manusia :”b = 1+ 4;”
2. Intruksi yang dimengerti oleh
komputer :
”…..1001101010101011100….”
Dari sini mulai muncul istilah ”sofware” yang pada
intinya merupakan satu perangkat yang berperan sebagai pengatur eksekusi.
Bahasa pemrograman dapat didefinisikan sebagai satu kumpulan pola-pola intruksi
yang dapat dimengerti oleh manusia, yang digunakan untuk menulis program /
aplikasi / software untuk menghasilkan operasi tertentu pada komputer.
2.2.3 Level Bahasa Pemrograman
Di sini muncul pemeringkatan (levelling) bahasa
pemrograman. Bahasa pemrograman yang lebih rendah merupakan bahasa yang
cenderung lebih dimengerti oleh komputer”. Sedangkan bahsa yang lebih tinggi
merupakan bahasa yang ”cenderung dimengerti oleh manusia”. Terdapat beberapa
tingkat bahasa pemrograman, antara lain :
1. Bahasa tingkat rendah (low-level
language), misalnya bahasa mesin, dan assembler.
2. Bahasa tingkat menengah (medin-level
language), misalnya bahasa C / C++, Foltran.
3. Bahasa tingakat tinggi (high-level
lanuage), misalnya bahasa pascal.
4. Bahasa tingkat lebih tinggi
(higher-level language), misalnya bahasa Java, DotNet.
Ciri khas dari bahasa yang levelnya lebih rendah
adalah kemampuan user untuk memanipulasi operasi pada level hardware (misalnya,
mengisi, mengedit, dan menghapus data memory dan register) lebih tinggi.
Sedangkan pada bahasa yang levelnya lebih tinggi, kemampuan user untuk
memanipulasi operasi pada level hardware lebih rendah. Bahkan pada bahasa
higher-level seperti Java, user benar-benar tidak dapat melakukan manipulasi
pada level hardware secara langsung, karena operasi-operasi pada hardware
(misalnya : pengalokasian memory, penghapusan data pada memory) sudah dilakukan
secara otomatis oleh Java Virtual Machine (JVM).
2.3.4 Siklus Hidup Perangkat Lunak
Pembuatan perangkat lunak / software dilakukan melalui
tahapan-tahapan yang membentuk suatu siklus / lifecyce. Siklus hidup ini
dimulai dari 6 tahap, yaitu :
1. Analisis (analysis)
Langkah pertama yang dilakukan dalam analisis adalah
proses investigasi terhadap masalah yang akan di pecahkan melalui program yang
akan dihasilkan. Yaitu dengan mendefinisikan permasalahan yang akan dipecahkan
dan mengidentifikasi komponen / sub komponen yang akan menjadi komponen dasar.
1. Desain (Design)
Desain adalah proses implementasi hal-hal yang telah
dianalisis dalam fase analisis.
1. Pengembangan (Development)
Fase pengembangan merupakan rangkaian aktifitas
pengguna cetak biru komponen untuk membuat komponen-komponen actual. Dalam
prakteknya, dapat saja cetak biru komponen tersebut direalisasikan dengan
membuat sub-sub komponen.
1. Pengujian (Testing)
Pengujian adalah evaluasi atas komponen-komponen
sampai kepada system secara keseluruhan apakah memenuhi yang diinginkan (
sesuai dengan spesifikasi yang di harapkan).
1. Implementasi (Implementation)
Implementasi adalah proses membuat produk dapat
digunakan oleh user. Proses ini terdiri atas beberapa langkah, antara lain :
1. Instalasi produk ke sistem /
komputer user.
2. Pelatihan kepada user dengan tujuan
user dapat menggunakan produk tersebut.
3. Pemeliharaan (Maintenance)
Pemeliharaan terdiri atas proses-proses perbaikan terhadap
masalah-masalah yang terjadi pada produk. Pemeliharaan terhadap produk berupa :
1. Perbaikan bug
2. Re-install produk ke istem komputer
3. Back-up data
4. Perbaikan pada komponen-komponen.
1. Akhir Siklus (End-Of-Life)
Fase ini mencakup proses-proses yang mengumpulkan
kesimpualan dan permintaan user terhadap produk yang telah berjalan di system.
Hasil feedback ini dapat menghasilkan keputusan untuk memodifikasi
produk, sehingga dihasilkan keputusan untuk memodifikasi produk sehingga
dihasilkan versi-versi produk yang lebih mutakhir dan lebih dapat memenuhi
kebutuhan user.
2.3 Apa Yang dimaksud Dengan Teknologi Java
a. Sebuah Bahasa
Pemrograman
Sebagai bahasa pemrograman, java dapat membuat seluruh
bentuk aplikasi, dekstop, web dan lainya. Sebagaimana dibuat dengan menggunakan
bahasa pemrograman konvensional yang lain. Java adalah bahasa pemrograman yang
berorientasi obyek (OOP) dan dapat dijalankan pada berbagai platfom
sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem
operasi, tetapi dikembamgakan untuk berbagai sistem opersi dan bersifat open
source.
b. Sebuah Development Environment
Sebagai sebuah peralatan pembangun, teknologi Java
menyediakan banyak tools : compiler, intepreter, penyusun dokumtasi, paket
kelas dan sebagainya.
c. Sebuah Aplikasi
Aplikasi dengan teknologi Java secara umum adalah
aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java
Runtime Environment (JRE).
d. Sebuah Deployment Environment
Terdapat dua komponen utama dari Deployment
Environment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK,
mengandung kelas-kelas untuk semua paket teknologi Java yang meliputi kelas
dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada
Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan
runtime environment dari teknologi Java.
2.3.1 Mengapa Mempelajari Java
Berdasarkan white resmi dari SUN, Java memiliki
karakteristik sebagai berikut :
a. Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip C++
namun sintaks pada Java telah banyak diperbaiki terutama menghilangakn
pengguanaan pointer yang rumit dan multipleinhritance. Java juga
menggunakan automatic memory allocation dan memory garbage collection.
b. Berorientasi obyek
(obyek oriented)
Java menggunakan pemrograman berorientasi obyek yang
membuat program dapat dibuat secara modular dan dapat dipergunakan kembali.
Pemrograman berorientasi obyek memodelkan dunia nyata ke dalam obyek dan
melakukan interaksi antar obyek-obyek tersebut.
c. Terdistribusi
(Distributed)
Java dibuat untuk membuat aplikasi terdistribusi
secara mudah dengan adanya liberries netwoking yang terintegrasi pada Java.
d. Interpreted
Program Java dijalankan menggunakan interpreted yaitu
Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah
dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang
berbeda-beda.
e. Robust
Java menpunyai reliabilitas yang tinggi. Compiler pada
Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan
bahasa pemrograman lain. Java mempunyai runtime-Exception handing untuk
membantu mengatasi error pada pemrograman.
f. Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan
terdistribusi, java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi
tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi
tersebut.
g. Architecture
Neutral
Program Java merupakan platform independent. Program
cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda
dengan Java Virtual Machine.
h. Portable
Source code maupun program Java dapat dengan mudah
dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
i.
Performance
Performance pada Java sering dikatakan kurang tinggi.
Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti
buatan inprise, Microsoft ataupun Symantec yang menggunakan Just In Time
Compilers (JIT).
j.
Multitheaded
Java mempunyai kemampuan untuk membuat suatu program
yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
k. Dynamic
Java didesain untuk dapat dijalankan pada lingkungan
yang dinamis. Perubahan pada suatu class dengan menambahkan properties
ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class
tersebut


0 comments:
Post a Comment