TP.PERT.13
Implementasi OOP Pada Perangkat Lunak Pemrograman
I. Implementasi OOP menggunakan Bahasa Pemrograman
•Penulisan kode program merupakan kelanjutan dari
proses perancangan
Spesifikasi perangkat lunak :
a. Struktur data
b. Aliran dinamis dari kendali
c. Transformasi fungsional

Beberapa bahasa pemrograman berorientasi obyek :
a. C++
b. Java
c. Smalltalk

• C++ adalah salah satu bahasa pemrograman komputer.
Dibuat pada tahun 1980an oleh Bell Labs sebagai
pengembangan dari Bahasa Pemrograman C. Salah
satu perbedaan yang paling mendasar dengan bahasa C
adalah C++ medukung konsep pemrograman
berorientasi objek (Object Oriented Language).
• C++ merupakan bahasa pemrograman yang case
sensitive.
• Contoh kompiler Produk dari Borland untuk kompiler
C++ adalah Turbo C++, Borland C++, Borland C++
Builder. Sedangkan dari Microsoft adalah Ms. Visual
C++.
• Java adalah bahasa pemrograman berorientasi objek
yang dikembangkan oleh Sun Microsystems sejak tahun
1991.
• Bahasa Pemrograman Java pertama lahir dari The
Green Project, yang berjalan selama 18 bulan, dari awal
tahun 1991 hingga musim panas 1992. Proyek tersebut
belum menggunakan versi yang dinamakan Oak. Proyek
ini dimotori oleh Patrick Naughton, Mike Sheridan,
James Gosling dan Bill Joy, beserta sembilan
pemrogram lainnya dari Sun Microsystems. Salah satu
hasil proyek ini adalah maskot Duke yang dibuat oleh
Joe Palrang.
• Java adalah bahasa pemrograman yang mirip dengan
C/C++
• Keunggulanya adalah Java dapat berjalan dibanyak
flatform perangkat keras(Multy Flatform).

• Smalltalk adalah bahasa pemrograman berorientasi
objek yang pertama kali populer.
• Smalltalk dikembangkan di Xerox PARC-Amerika
serikat.
• Ide dasar Smalltalk meliputi :
1. Semua adalah objek.
2. Objek bisa saling berkomunikasi melalui messages
atau berita.
3. Semua tersedia untuk dimodifikasi.
II. Implementasi OOP pada C++
A. Implementasi Konsep Pengkapsulan
(Encapsulation) dengan C++
• Salah satu keistimewaan C++ adalah
pengkapsulan
Pengkapsulan adalah mengkombinasikan suatu
struktur dengan fungsi yang memanipulasinya
untuk membentuk tipe data baru yaitu
kelas(class)
Kelas pada C++ ada 3, yaitu:
1. Private
2. Public
3. Protected


Contoh program :
B.
Implementasi Konsep Pewarisan (inheritance) dengan
C++
C++ memungkinkan untuk implementasi inheritance
Contoh program :
class nama_kelas_turunan : sifat_penurunan
nama_kelas_dasar
{
.......// Implementasi kelas turunan
}

• Program tersebut menunjukan pola dasar
dari inherintance dimana sifat penurunya
bisa berupa protected serta public.
• Protected : hanya dikenali oleh kelas-kelas
turunan
• Public : fungsi yang dapat dibaca dan
diakses oleh siapapun.

Latihan Soal
1.
Dibawah ini adalah Beberapa bahasa pemrograman
yang berorientasi obyek, kecuali :
a. Pascal c. Java
b. C++ d. Smalltalk
2.Bahasa pemrograman berorientasi objek yang
dikembangkan oleh Sun Microsystems sejak 1991
adalah :
a. Pascal c. Java
b. C++ d. Smalltalk
3.Bahasa pemrograman yang dikembangkan oleh Xerox
PARC-Amerika serikat adalah :
a. Pascal c. Java
b. C++ d. Smalltalk
4.Suatu fungsi yang hanya dikenali oleh kelas-kelas
turunan disebut dengan :
a. Public c. Protected
b. Private d. Semua jawaban benar
5.Fungsi yang dapat dibaca dan diakses oleh siapapun
disebut dengan :
a. Public c. Protected
b. Private d. Semua jawaban benar
Dibawah ini adalah Beberapa bahasa pemrograman
yang berorientasi obyek, kecuali :
a. Pascalc. Java
b. C++d. Smalltalk
1.

Pengenalan UML
I. Pengertian UML

Jika pendekatan terstruktur memiliki DFD, ERD,
dsb yang digunakan sebagai tools-tools
perancangan sistemnya, maka UML berangsur-
angsur mulai menjadi standart tools untuk
pembuatan OOP.
UML (Unified Modeling Language ) berangsur-
angsur menjadi standar metodologi
pengembangan sistem informasi dan perangkat
lunak berorientasi objek.

Keunggulan UML :
1. Uniformity
2. Understandability
3. Stability
4. Reusability
II. Pengenalan diagram dalam UML
UML Menggunakan 9 macam diagram untuk
mendeskripsikan sistem/perangkat lunak yang akan
dikembangkan, yaitu :
1. Digram kelas
2. Digram Objek
3. Diagram use-case
4. Sequence diagram
5. Collaboration diagram
6. Statechart diagram
7. Activity diagram
8. Component diagram
9. Deployment diagram

Use case diagram
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

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.
Class Diagram
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
Atribut dan metoda 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

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)

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.


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
Collaboration Diagram
• 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.

Component Diagram
• Component diagram menggambarkan struktur dan
hubungan antar komponen piranti lunak, termasuk
ketergantungan (dependency) di antaranya.
• Komponen piranti lunak adalah modul berisi code, baik
berisi source code maupun binary code, baik library
maupun executable, baik yang muncul pada compile
time, link time, maupun run time. Umumnya komponen
terbentuk dari beberapa class dan/atau package, tapi
dapat juga dari komponen-komponen yang lebih kecil.
Komponen dapat juga berupa interface, yaitu kumpulan
layanan yang disediakan sebuah komponen untuk
komponen lain.

Deployment Diagram
• Deployment/physical diagram menggambarkan detail
bagaimana komponen di-deploy dalam infrastruktur
sistem, di mana komponen akan terletak (pada mesin,
server atau piranti keras apa), bagaimana kemampuan
jaringan pada lokasi tersebut, spesifikasi server, dan hal-
hal lain yang bersifat fisikal
• Sebuah node adalah server, workstation, atau piranti
keras lain yang digunakan untuk men-deploy komponen
dalam lingkungan sebenarnya. Hubungan antar node
(misalnya TCP/IP) dan requirement dapat juga
didefinisikan dalam diagram ini.

Langkah-langkah Penggunaan UML (1)
• Buatlah daftar business process dari level tertinggi untuk
mendefinisikan aktivitas dan proses yang mungkin
muncul.
• 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.
• Buatlah deployment diagram secara kasar untuk
mendefinisikan arsitektur fisik sistem.
• Definisikan requirement lain (non-fungsional, security
dan sebagainya) yang juga harus disediakan oleh
sistem.
• Berdasarkan use case diagram, mulailah membuat
activity diagram.

Langkah-langkah Penggunaan UML (2)

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.
Buarlah rancangan user interface model yang menyediakan
antarmuka bagi pengguna untuk menjalankan skenario use case.
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.
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.
•Langkah-langkah Penggunaan UML (3)
• Perhalus deployment diagram yang sudah dibuat.
Detilkan kemampuan dan requirement piranti lunak,
sistem operasi, jaringan, dan sebagainya. Petakan
komponen ke dalam node.
• 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.
• Lakukan uji modul dan uji integrasi serta perbaiki model
berserta codenya. Model harus selalu sesuai dengan
code yang aktual
• Piranti lunak siap dirilis.

Latihan soal
1.
UML merupakan kependekan dari :
a. Unified Modeling Language
b. Unifield Modeling Language
c. United Modeling Language
d. Uniform Modeling Language
Diagram pada UML yang menggambarkan
fungsionalitas yang diharapkan dari sebuah sistem
disebut :
a. Class diagramc. Colaboration diagram
b. Activity diagramd. Use case diagram
2.
2.
Diagram pada UML yang menggambarkan
fungsionalitas yang diharapkan dari sebuah sistem
disebut :
a. Class diagramc. Colaboration diagram
b. Activity diagramd. Use case diagram
Diagram yang menggambarkan berbagai alir aktivitas
dalam sistem yang sedang dirancang disebut :
a. Class diagramc. Colaboration diagram
b. Activity diagramd. Use case diagram
3.

3.
Diagram yang menggambarkan berbagai alir aktivitas
dalam sistem yang sedang dirancang disebut :
a. Class diagramc. Colaboration diagram
b. Activity diagramd. Use case diagram
Diagram yang menggambarkan interaksi antar objek
di dalam dan di sekitar sistem (termasuk pengguna,
display, dan sebagainya) berupa message yang
digambarkan terhadap waktu disebut dengan :
a. Class diagramc. Colaboration diagram
b. Activity diagramd. Use case diagram
4.
4.
Diagram yang menggambarkan interaksi antar objek
di dalam dan di sekitar sistem (termasuk pengguna,
display, dan sebagainya) berupa message yang
digambarkan terhadap waktu disebut dengan :
a. Class diagramc. Sequence diagram
b. Activity diagramd. Use case diagram
Diagram menggambarkan struktur dan hubungan
antar komponen piranti lunak, termasuk
ketergantungan (dependency) disebut :
a. Class diagramc. Sequence diagram
b. Component diagramd. Use case diagram
5.

5.
Diagram menggambarkan struktur dan hubungan
antar komponen piranti lunak, termasuk
ketergantungan (dependency) disebut :
a. Class diagramc. Sequence diagram
b. Component diagramd. Use case diagram
UML merupakan kependekan dari :
a. Unified Modeling Language
b. Unifield Modeling Language
c. United Modeling Language
d. Uniform Modeling Languag

Komentar