Kelas : TI.22.A5
NIM : 312210490
1. Berikan penjelasan mengenai Rekayasa Perangkat lunak, sejarahnya, metodenya dan perkembangannya!
2. Jelaskan mengenai Analisa dan Perancangan sistem dengan pendekatan terstruktur(Struktur).
3. Jelaskan mengenai Analisa dan Perancangan sistem dengan pendekatan berorientasi object(OO)!
4. Berikan penjelasan mengenai UML!
5. Berikan penjelasan mengenai Program Desain!
6. Tuliskan nama Project RPL Anda!
7. Dalam SDLC setelah Planning ada tahap Analisa:
a. Tuliskan Permasalahannya!
b. Tuliskan Kebutuhan sistemnya!
c. Gambarkan usecase diagramnya!
d. Gambarkan activity diagramnya!
e. Gambarkan sequence diagramnya!
8. Selanjutnya adalah tahap perancangan atau desain:
a. Gambarkan Class Diagramnya!
b. Gambarkan Deployment Diagramnya!
c. Gambarkan Data Model Diagramnya!
d. Gambarkan User Interface!
JAWABAN :
1. Rekayasa Perangkat Lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu
bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan,
pemeliharaan, manajemen organisasi pengembangan perangkat lunak dan manajemen kualitas.
A. Sejarah nya RPL
Istilah software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Saat itu,
masih terdapat debat tajam mengenai aspek engineering dari pengembangan perangkat lunak.
Pada tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi tentang rekayasa perangkat
lunak, yang memberikan dampak kuat terhadap perkembangan rekayasa perangkat lunak. Banyak yang
menganggap bahwa dua konferensi inilah yang menandai awal resmi profesi rekayasa perangkat lunak.
jangan pernah menganggap kalau software itu akn menjadi yang terbaik karena itu adalah sebuah karya
yang bersifat sementara.
Bisa dilihat bahwa perkembangan dari rekayasa perangkat lunak ini sudah berjalan sangat cepat,
seperti berikut;
a. Era Pinonir
Pertama pada era pertama atau era pinonir, dimulai dari beberapa perkembangan seperti berikut;
Batch Orientation, Sebuah orientasi dimana proses yang dilakukan setelah data dikumpulkan dalam satuan
waktu tertentu atau dilakukan setelah data terkumpul. Lawan dari batch adalah online atau interaktif proses.
Keuntungan dari Interactive mendapatkan data melalui uptodate.
Limited Distribution, Selanjutnya ada limited distribution yaitu penyebaran software terbatas pada beberapa
perusahaan tertentu.
Customer software, dikembangkan berdasarkan kebutuhan perusahaan tertentu.
Jadi tahapan tersebut sudah dirasakan pada era pertama perkembangan RPL.
b. Era Stabil
Setelah menyelesaikan era pinonir, Selanjutnya masuk pada era stabil atau era kedua. Mampu menghasilkan
beberapa perkembangan RPL, seperti berikut;
Multi user dimana sistem komputer digunakan oleh beberapa user pada saat yang sama
Real Time merupakan sistem yang dapat mengumpulkan, menganalisa dan mentransformasikan data dari
berbagai macam sumber, mengontrol proses dan mampu menghasilkan output dalam mili second.
Database perkembangan pesat dari alat penyimpanan data secara online dan mampu menyebabkan generasi
pertama database management system.
Product software merupakan perangkat lunak yang dikembangkan untuk dijual kepada masyarakat luas.
Pada tahapan kedua ini, RPL mulai menyebar dan dapat dirasakan manfaatnya oleh masyarakat luas.
c. Era Mikro
Selanjutnya masuk pada era mikro atau era ketiga dengan perkembangan seperti berikut;
Distributed system merupakan sistem yang diterapkan pada komputer induk atau host komputer, daerah
maupun bidang lainnya juga memiliki komputer yang kurang lebih kecil daripada komputer induk.
Embedded intelligence, Suatu produk yang diberikan tambahan intelegent dan biasanya ditambahkan pada
mikroprosesor yang mutakhir. Contohnya adalah automobili, robot rumah peralatan diagnostik serum darah.
Low Cost hardware, Harga hardware semakin rendah dikarenakan munculnya personal computer
Consumer infact, dimana ada perkembangan komputer murah dan menyebabkan banyaknya software yang
terus berkembang. Software ini mampu memberikan dampak yang besar terhadap masyarakat.
Perkembangan lebih mengarah pada sesuatu yang modern dan terus dikembangkan oleh ahli RPL.
d. Era Modern
Masuk pada era modern, ada berbagai macam perkembangan yang bisa dirasakan dalam bidang rekayasa
perangkat lunak seperti berikut;
Expert System, Suatu penerapan pada bidang tertentu, misalnya bidang kedokteran, komunikasi dan lain
sebagainya.
Al Machine, merupakan mesin yang dapat meniru kerja sebagian otak manusia, seperti mesin robot, papan
catur, dan lain sebagainya.
Parallel Architecture, Arsitektur komputer yang memungkinkan proses kerja lampu paralel dengan adanya
proses processor tersebut berada dalam satu komputer.
Perkembangan tersebut masih dinikmati hasilnya oleh banyak masyarakat luas saat ini. Kecanggihan
teknologi tidak lepas dari keberhasilan proses rekayasa perangkat lunak.
1. Metode Waterfall
Metode pertama adalah Waterfall merupakan metode pengembangan tradisional. Sekalipun metode tersebut
dianggap kuno, tetapi banyak sekali pelajaran yang bisa didapatkan melalui metode dasar. Metode Waterfall
tersebut memiliki beberapa tahapan proses, seperti berikut;
Menganalisa persyaratan
Membuat desain
Penerapan
Pengujian
Menggunakan pada proyek
Pemeliharaan
Konsep dari metode Waterfall ini merupakan pekerjaan yang dilakukan secara tertata, berurutan, dan secara
linear. Sederhananya apabila langkah 1 belum dikerjakan, maka langkah selanjutnya tidak bisa dikerjakan.
Namun banyak yang menganggap bahwa langkah tersebut kurang fleksibel ketika pembuatan proyek terjadi
dan sering adanya perubahan maupun kesalahan sehingga proses dan tahapan yang harus dimulai dari awal.
2. Metode Agile
Selanjutnya ada metode Agile yang dikembangkan melalui pembaruan metode tradisional atau Waterfall yang
kurang fleksibel. Sekalipun metode Agile termasuk salah satu metode modern namun alur kerjanya masih
menerapkan pola tradisional. Proyek yang menggunakan metode Agile ini cenderung tidak memakan waktu
yang panjang dan bertahap. Hal tersebut dikarenakan metode ini dilakukan secara kolaboratif, terstruktur, dan
terorganisir.
Dalam pengembangan perangkat lunak metode agile memiliki beberapa prinsip utama yang sering digunakan
sebagai pedoman. Misalnya, mengutamakan kepuasan pengguna dengan menghadirkan berbagai macam fitur
bagus dan teruji, menyediakan lingkungan yang mendukung untuk memberikan motivasi kepada para
pengembang, para pengguna dan pengembang mampu bekerja sama setiap hari dalam keseluruhan proyek,
dan masih banyak lagi lainnya.
3. Metode Scrum
Selanjutnya metode rekayasa perangkat lunak ada scrum, merupakan kerangka kerja yang digunakan untuk
mengimplementasikan pengembangan pada metode agile. Jadi scrum merupakan metode turunan dari Agile
dan digunakan untuk memecahkan masalah dan menghasilkan kerjasama menjadi lebih efektif.
Cara kerja scrum bisa membagi pengembangan menjadi target kecil, sehingga jumlah target dikerjakan
terlebih dahulu dan harus selesai dalam waktu singkat untuk tujuan akhir yang lebih besar.
4. Metode RAD
Metode RAD atau Rapid Application Development Merupakan proses pengembangan yang singkat untuk
bisa menghasilkan sistem berkualitas tinggi dengan biaya rendah. Tahapan dari metode RAD yaitu
merencanakan kebutuhan, desain pengguna, konstruksi, dan peralihan sistem lama menuju sistem baru.
5. Metode Prototype
Selanjutnya ada metode prototype yang merupakan metode dengan pendekatan untuk membuat program
dengan cepat dan bertahap, sehingga mampu dievaluasi oleh para pengguna. Perubahan yang dilakukan oleh
pengembang bisa dikerjakan sesuai dengan permintaan para pengguna.
Setelah pengguna setuju dengan menggunakan sampel yang diberikan, maka Para pengembang baru akan
membuat produk asli sebagai hasil akhir.
6. Metode DevOps
Pernah dengar metode DevOps? Metode tersebut merupakan seperangkat prosedur yang bisa
mengkombinasikan antara proses pengembangan dan operasi. Metode satu ini merupakan metode studi
konseptual pengembangan dan pengiriman perangkat lunak infrastruktur dengan menggunakan pendekatan
kolaboratif dan integratif.
Metode ini juga fokus pada perubahan dan peningkatan kerjasama antar departemen dengan segmen yang
berbeda, sehingga pengembangan siklus hidup organisasi.
2. Hal yang utama dalam tahap ini adalah pendefinisian kebutuhan perangkat lunak. Proses rekayasa ini
meliputi Pengidentifikasian kebutuhan, Perbaikan identifikasi kebutuhan, Pemodelan, dan Spesifikasi
kebutuhan. Model data yang dibutuhkan dalam tahap analisis adalah Aliran informasi dan kontrol, dan
Tingkah laku sistem saat dioperasikan dibangun. Kemudian lebih lanjut lagi, alternatif solusi dapat diajukan
kepada costomer.
Mengapa proses ini diperlukan? Tentu kita tidak ingin membangun perangkat lunak yang banyak memiliki
kesalahan, banyak aspek kebutuhan yang tidak terungkap, banyak faktor lingkungan yang berpengaruh
yang tidak dianalisis, membutuhkan waktu pengembangan yang sangat lama dan menghabiskan banyak
biaya karena kecerobohan, yang akhirnya juga berakibat kepada ketidakpuasan customer. Oleh karena
itu, kita membutuhkan analisis kebutuhan perangkat lunak.
Kita perlu mengetahui prinsip-prinsip analisis, yaitu:
1. Domain masalah harus dapat direpresentasikan dan dipahami
2. Fungsi-fungsi yang harus dimiliki oleh perangkat lunak nantinya harus dapat ditentukan.
3. Tingkah laku perangkat lunak saat dioperasikan sebagai aksi dari input pemakai atau lingkungan harus
dapat didefinisikan.
4. Model yang menggambarkan informasi, fungsi, dan tingkah laku perlu di dekomposisi sehingga semua
detil informasi, fungsi, dan tingkah laku yang ada dapat diungkap.
5. Proses analisis sebaiknya dimulai dari informasi-informasi yang penting sampai ke detil implementasi.
Kemudian bila programmer dipaksa untuk mengerjakan (mengimplementasikan) perangkat lunak yang
spesifikasinya tidak lengkap, tidak konsisten, dan menyesatkan akan mengalami kebingungan dan
frustasi dan hasilnya adalah implementasi yang tidak menentu. Spesifikasi kebutuhan perangkat lunak
merupakan cara untuk mengarahkan ke pembanguna perangkat lunak yang berhasil dengan baik.
Pemodelan Data
Pemodelan data befungsi untuk mendeskripsikan data yang terlibat dalam perangkat lunak. Secara struktural
pemodelan data ini dapat digambarkan sebagai berikut:
3. Kamus Data (Data Dictionary): Deskripsi semua objek data yang dibutuhkan maupun yang dihasilkan oleh
perangkat lunak.
Penggambaran Atribut pada ER Diagram dapat dihilangkan, dengan memberikan keterangan tambahan berupa
paparan atribut pada setiap entitas dan relasi yang muncul.
3. Data Dictionary
Menyimpan semua objek data yang dibutuhkan dan dihasilkan oleh perangkat lunak. Biasanya pembuatan kamus
data dilakukan setelah Pemodelan fungsional dan pemodelan status dan kelakuan selesai dibuat.
Pemodelan Fungsional
Pemodelan Fungsional adalah Mendeskripsikan seluruh fungsi yang terlibat di dalam perangkat lunak.
Piranti yang digunakan pada pemodelan fungsional adalah:
1. Context Diagram, Merepresentasikan sistem sebagai sebuah black box terhadap lingkungan sekitar yang
berhubungan dengan sistem tersebut.
2. DFD (Data Flow Diagram), Menggambarkan bagaimana data ditransformasikan dalam perangkat lunak serta
menggambarkan fungsi-fungsi yang mentransformasikan data.
3. Process Specification, Merupakan deskripsi detil dari fungsi elementer (fungsi yang tidak dapat didekomposisi lagi
dalam DFD).
Informasi (data) bergerak mengalir dalam perangkat lunak. Informasi atau data tersebut
dapat mengalami transformasi di dalam perangkat lunak. Data Flow Diagram adalah
representasi grafis yang menggambarkan aliran dan transformasi informasi/data dari
input ke output.
Context Diagram
Diagram Konteks digunakan untuk membatasi sistem penyampaian informasi yang akan dirancang dan menunjukan
interaksi sistem dengan komponen luar. Diagram tersebut dinyatakan dalam simbol-simbol pada DFD.
Ada beberapa batasan yang harus diperhatikan dalam membuat dan merepresentasikan diagram konteks, yaitu:
1. Entity tidak dapat berhubungan (bertukar data) langsung dengan data store, harus melalui suatu proses.
2. Antar data store tidak boleh bertukar data, harus melaui proses.
3. Data store harus ada yang mengisi dan yang memanfaatkan. Tidak boleh hanya diisi saja atau dimanfaatkan
saja, harus ada proses yang mengisi dan memanfaatkannya.
Diagram Alir Data atau DFD (Data Flow Diagram) merupakan penjelasan rinci dari Diagram Konteks yang
menggambarkan bagaimana proses aliran data terjadi dalam sistem Online Buku Elektronik. Data Flow Diagram
menjelaskan tentang aliran data masuk, data keluar dan proses penyuntingan file yang digunakan. Diagram
tersebut dinyatakan dalam simbol-simbol atau menggunakan notasi-notasi yang dapat dilihat pada tabel Simbol.
Penjelasan DFD terdiri dari level-level, masing-masing level menjelaskan level sebelumnya.
Process Specification
Spesifikasi Proses atau Process Specification termasuk dalam SRS (Software Requirements Specification)
merupakan deskripsi detil dan lengkap dari fungsi elementer. Fungsi Elementer adalah fungsi-fungsi atau proses-
proses yang tidak dapat didekomposisi lagi dalam Diagram Alir Data atau DFD (Data Flow Diagram).
PemodelanStatus/Kelakuan
Pemodelan Status / Kelakuan adalah tahapan analsis untuk mendeskripsikan status sistem yang dapat muncul
ketika perangkat lunak digunakan. Contoh mengenai pemodelan status kelakuan dapat dilihat pada subjudul
Studi Kasus.
Bila kita pernah mendengar cetak biru dari sebuah gedung yang dapat digunakan sebagai dasar pembangunan
gedung, pedoman penelusuran sesuatu bila dibutuhkan nanti, dan pedoman untuk melakukan perbaikan dan
renovasi, maka begitu pula dengan perangkat lunak. Perangkat lunak lebih komplek dari sebuah rumah besar.
Maka dari itu, perangkat lunak juga dan bahkan sangat membutuhkan cetak biru bangunan perangkat lunak,
yaitu desain atau perancangan.
Menurut McGlaughlin, petuntuk untuk evaluasi kualitas perancangan yaitu sebagai berikut:
1. Perancanan harus mengimplementasikan semua kebutuhan perangkat lunak yang disebut eksplisit dalam SRS
(software requirements specifications), sekaligus mengakomodasi semua kebutuhan implisit dari SRS.
2. Harus readabel (mudah dibaca dan dipahami) oleh programmer, tester, dan pelaku perawatan perangkat lunak.
3. Harus menyediakan gambaran lengkap perangkat lunak, meliputi model data, fungsi, dan kelakuan perangkat
lunak dari sudut pandang implementasi.
Dengan melakukan tahapan-tahapan tersebut, akan dihasilkan dokumen perancangan (Software Design Document =
SDD), yang berisi:
1. Ruang lingkup
2. Prancangan data
3. Perancangan Arsitektur
4. Perancangan antarmuka
5. Perancangan prosedur
6. Kebutuhan lain
7. Persiapan pengujian
8. Catatan khusus
Hubungan tahap Analisis dengan tahapan Perancangan menggunakan Metode Terstruktur dapat digambarkan
sebagai berikut:
1. Perancangan Data
Perancangan data mentransformasikan model domain informasi yang dibangun dalam tahap analisi ke dalam
struktur data yang akan dibutuhkan dalam implementasi (coding) perangkat lunak. Objek data dan relasi yang
didefinisikan dalam ER diagram serta detil data yang dijabarkan di dalam kamus data merupakan basis
pengembangan perancangan data ini.
2. Perancangan Arsitektur
Perancangan Arsitektur merepresentasikan struktur data dan komponen program yang dibutuhkan untuk
membangun sistem yang berbasis komponen.
Ketika kita berbicara tentang cetak biru sebuah bangunan, bangunan juga memiliki sebuah struktur arsitektur.
Struktur arsitektur bangunan merepresentasikan cara mengintagrasikan komponen-komponen yang ada
sehingga menjadi kesatuan yang kokoh. Struktur bangunan juga mempertimbangkan interaksinya dengan
lingkungan sekitar. Struktur ini memudahkan pembangun untuk mengaplikasikan kebutuhan customer sehingga
memenuhi keinginannya.
Begitu pula dengan perangkat lunak. Representasi struktur arsitektur perangkat lunak ini dapat mempermudah
pengembang untuk:
1. Menganalisa efektivitas desain dalam memenuhi kebutuhan perangkat lunak yang telah ditentukan dalam tahap
analisis
2. Mempertimbangkan alternatif perubahan pada desain kebutuhan perangkat lunak. Dengan melihat struktur
perangkat lunak dapat diketahui di modul apa yang perlu dilakukan modifikasi, dan modifikasi tersebut akan
berpengaruh pada modul apa.
3. Meminimasi resiko pengembangan perangkat lunak.
Proses yang dilakukan yaitu mengubah aliran informasi (yang direpresentasikan dengan DFD) menjadi struktur
perangkat lunak. Langkahnya:
1. Menentukan jenis aliran informasi (dalam sebuah perangkat lunak aliran transformasional dan transaksional dapat
digunakan bersama-sama)
2. Menentukan batas aliran informasi
3. Pemetaan DFD ke struktur program
2. Aliran Transaksional
3. Perancangan Antarmuka
Fokus perancangan antarmuka:
1. Antarmuka antar modul-modul perangkat lunak
2. Antarmuka antara perangkat lunak dengan sumber informasi selain manusia
3. Antarmuka dengan pengguna (manusia)
Hal-hal yang perlu diperhatikan dalam merancang antarmuka di layar: (MK IMK)
1. Harus konsisten (warna, font, bahasa, layout, dsb).
2. Memberikan umpan balik ke pengguna.
3. Meminta verifikasi untuk semua aksi destruktif penting
4. Memungkinkan aksi reversal (balikan)
5. Mengurangi jumlah informasi yang harus diingat antar aksi.
6. Efisiensi dialog, gerak, dan pikiran pengguna.
7. Mengelompokkan aktivitas berdasarkan fungsi dan mengatur layar sesuai dengan pengelompokan tersebut.
8. Sediakan bantuan (help) yang mudah navigasinya dan bila memungkinkan help yang sensitive terhadap konteks
pengguna meminta bantuan.
9. Perhatikan representasi data, sesuaikan dengan fungsi pengguna. Contoh pengguna level manajerial lebih
membutuhkan diagram/grafik daripada detil data dalam tabel.
10. Pesan kesalahan harus spesifik dan berarti, beri saran juga.
11. Minimalisasi jumlah aksi masukan yang diperlukan.
12. Sesuaikan dengan kebiasaan/kebutuhan user, misalnya:
- clerk-keyboard, manajer-mouse
- clerk-input, pembuat keputusan – update/delete
4. Perancangan Prosedur
Tahapan ini merupakan tahapan terakhir dalam proses perancangan. Pada tahap ini dibangun algoritma (pseudo-
code, program design language) yang siap diprogram dengan mengacu pada:
1. Struktur data yang dibuat pada perancangan data
2. Struktur modul dan kendali perangkat lunak yang dibangun pada saat merancang struktur arsitektur perangkat
lunak.
3. Struktur dan perancangan menu atau format tampilan layar yang diperoleh pada parancangan antarmuka.
Tahap Implementasi
Tahapan Implementasi adalah tahapan dalam rekayasa perangkat lunak yang dilakukan setelah tahapan Analisis
dan Perancangan telah sempurna, dalam artian sudah selesai dan telah siap untuk dibuat dalam sebuah sistem.
Dalam tahapan implementasi, bagian terpenting yang perlu diperhatikan adalah: Pengujian (Testing), Konversi,
Instalasi dan Pelatihan.
1. Pengujian
Testing adalah proses mengeksekusi keseluruhan program atau sistem secara intensif dengan maksud mencari
kesalahan-kesalahan. Testing dilakukan tidak hanya untuk mendapatkan program yang benar, namun juga
memastikan bahwa program tersebut bebas dari segala kesalahan-kesalahan dalam berbagai kondisi. Tahapan
ini akan terpengaruh oleh tahapan Coding atau pembuatan program, jika pada saat pengkodean dilakukan
dengan baik, maka waktu yang digunakan untuk testing juga semakin sedikit.
2. Konversi
Konversi adalah suatu perubahan yang dapat meliputi berbagai hal, misalnya konversi program/sistem dan konversi
data. Ada bebeapa hal yang perlu diperhatikan dalam konversi data dan konversi program yaitu:
1. Konversi Data
i. Dalam konversi data ada perubahan dari sistem lama ke sistem baru
ii. Perlu diingat bahwa data dalam sistem yang lama masih mungkin mengandung kesalahan
iii. Harus berhati-hati dengan adanya perubahan domain data pada sistem yang baru, misalnya:
perubahan sistem pengkodean, perubahan range.
iv. Pada umumnya ditempuh dengan cara membuat suatu program atau sistem khusus untuk
keperluan konversi, akan tetapi pada banyak kasus tetap harus dibantu justifikasi oleh manusia.
2. Konversi Program
a. Konversi jarang sekali dilakukan kecuali dalam situasi yang khusus.
b. Biasanya dengan alasan (biaya dan sistem masih baik) bahwa ada bagian dari sistem lama yang harus
diintegrasikan dengan atau ke sistem yang baru. Bagian-bagian yang bersangkutan tidak dirancang kembali.
c. Diperlukan semacam justifikasi tingkat kesulitan konversi. Ada bentuk konversi yang agak ringan, misalnya
pemindahan jenis sistem operasi.
3. Instalasi
Instalasi merupakan proses implementasi yang sangat penting karena sistem siap dicoba kedalam lingkungan yang
baru. Ada beberapa hal yang perlu diperhatikan yaitu:
1. Mempersiapkan Sistem Penunjang, komponen yang terlibat adalah:
a. Bangunan/gedung/ruangan
b. Sistem tenaga listrik
c. Sistem telekomunikasi (telepon, radio, satelit)
d. Sistem kondisi lingkungan (ac)
e. Sistem keselamatan kerja dan keamanan fisik (petir, banjir, kebakaran)
3. Konsep Dasar Pendekatan Berorientasi Objek Pendekatan berorientasi objek merupakan suatu teknik atau cara
pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak. sistem informasi, atau sistem
lainnva).
Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan
objek yang berkorespondensi dengan objek-objek dunia nvata.
Ada banvak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut, mulai dan abstraksi objek,
kelas, hubungan antar kelas sampai abstraksi sistem.
Saat mengabstraksikan dan memodelkan objek mi, data dan proses-proses yang dipunyai oleh objek akan
dienkapsulasi (dibungkus) menjadi satu kesatuan.
Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis,
perancangan, pemrograman, dan pengujian perangkat lunak.
Ada berbagai teknik yang dapat digunakan pada masing masing tahap tersebut, dengan aturan dan alat bantu
pemodelan tertentu. Sistem berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan
metode berorientasi objek adalah sebuah sistem yang komponennva dibungkus (dienkapsulasi) menjadi
kelompok data dan fungsi.
Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya. dan dapat
berinteraksi satu sama lain.
a. Karakteristik atau sifat-sifat yang dipunyai sebuah sistem berorientasi objek adalah sebagai berikut:
Abstraksi prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model yang
sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan Enkapsulasi
pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek.
untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerja-nya
Pewarisan (inheritance) mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi
dan objek lain sebagai bagian dan dirinya Reusabilily pemanfaatan kembali objek yang sudah didefinisikan
untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut Generalisasi dan
Spesialisasi menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus
Komunikasi Antar Objek komunikasi antar objek dilakukan lewat pesan (message) yang dikirim dan satu objek
ke objek lainnya Polymorphism kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda
dengan nama yang sama sehingga menghemat baris program.
b. Metodologi Berorientasi Objek Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat
lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang
diberlakukan terhadapnva. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat
lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan pada
penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas
analisis berorientasi objek. perancangan berorientasi objek, pemrograman berorientasi objek. dan pengujian
berorientasi objek. Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi lama banyak
menimbulkan masalah seperti adanya kesulitan pada saat mentransformasi hasil dari satu tahap
pengembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur, jenis aplikasi yang
dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan pada saat ini sangat beragam
(aplikasi bisnis. real-time, utility, dan sebagainva) dengan platform yang berbeda-beda, sehingga menimbulkan
tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.
Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut:
meningkatkan produktivitas karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai
ulang untuk masalah lainnva yang melibatkan objek tersebut (reusable)
kecepatan pengembangan karena sistem yang dibangun dengan baik dan benar pada saat analisis dan
perancangan akan menyebabkan berkurangnva kesalahan pada saat pengkodean
kemudahan pemeliharaan karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat
dipisahkan dan pola-pola yang mungkin sering berubah ubah
adanya konsistensi karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan
maupun pengkodean.
meningkatkan kualitas perangkat lunak karena pendekatan pengembangan lebih dekat dengan dunia nyata dan
adanya konsistensi pada saat pengembangannva, perangkat lunak yang dihasilkan akan mampu memenuhi
kebutuhan pemakai serta mempunyai sedikit kesalahan.
4. UML (Unified Modelling Language) adalah suatu metode dalam pemodelan secara visual yang digunakan
sebagai sarana perancangan sistem berorientasi objek. Awal mulanya, UML diciptakan oleh Object Management
Group dengan versi awal 1.0 pada bulan Januari 1997. UML juga dapat didefinisikan sebagai suatu bahasa
standar visualisasi, perancangan, dan pendokumentasian sistem, atau dikenal juga sebagai bahasa standar
penulisan blueprint sebuah software.
UML diharapkan mampu mempermudah pengembangan piranti lunak (RPL) serta memenuhi
semua kebutuhan pengguna dengan efektif, lengkap, dan tepat. Hal itu termasuk faktor-
faktor scalability, robustness, security, dan sebagainya.
Perlu kamu ketahui bahwa sistem yang baik itu berawal dari perancangan dan pemodelan yang matang.
Salah satu yang bisa kamu praktekkan, yaitu dengan menggunakan UML. Adapun tujuan dan fungsi perlu
adanya UML yaitu sebagai berikut:
1. Dapat memberikan bahasa pemodelan visual atau gambar kepada para pengguna dari berbagai macam
pemrograman maupun proses umum rekayasa.
2. Menyatukan informasi-informasi terbaik yang ada dalam pemodelan.
3. Memberikan suatu gambaran model atau sebagai bahasa pemodelan visual yang ekspresif dalam
pengembangan sistem.
4. Tidak hanya menggambarkan model sistem software saja, namun dapat memodelkan sistem berorientasi
objek.
5. Mempermudah pengguna untuk membaca suatu sistem.
6. Berguna sebagai blueprint, jelas ini nantinya menjelaskan informasi yang lebih detail dalam perancangan
berupa coding suatu program.
UML juga dapat digunakan sebagai alat transfer ilmu tentang sistem aplikasi yang akan dikembangkan dari
developer satu ke developer lainnya. UML sangat penting bagi sebagian orang karena UML berfungsi
sebagai bridge atau jembatan penerjemah antara pengembang sistem dengan pengguna. Di sinilah pengguna
dapat memahami sistem yang nantinya akan dikembangkan. Perlu kamu tahu bahwa sebenarnya UML mudah
untuk dipelajari lo, tak hanya untuk developer, tetapi juga para pebisnis.
Memang kamu dapat membuat aplikasi tanpa perancangan dan pemodelan seperti UML, namun rasanya itu
kurang baik. Bagaikan “sayur tanpa garam, rasanya kurang pas”. Itu adalah ungkapan bila membuat aplikasi tanpa
adanya perencanaan terlebih dahulu. Sistem yang kamu buat akan dianggap kurang baik bila tak dirancang
dengan UML. UML banyak juga digunakan di perusahaan besar seperti IBM, Microsoft, dan sebagainya.
Contoh Diagram UML yang Sering Digunakan
1. Use Case Diagram
Use Case Diagram adalah satu jenis dari diagram UML (Unified Modelling Language) yang
menggambarkan hubungan interaksi antara sistem dan aktor. Use Case dapat
mendeskripsikan tipe interaksi antara si pengguna sistem dengan sistemnya. Use
Case merupakan sesuatu yang mudah dipelajari. Langkah awal untuk melakukan pemodelan
perlu adanya suatu diagram yang mampu menjabarkan aksi aktor dengan aksi dalam sistem
itu sendiri, seperti yang terdapat pada Use Case.
2. Activity Diagram
Activity diagram atau dalam bahasa Indonesia berarti diagram aktivitas, merupakan sebuah
diagram yang dapat memodelkan berbagai proses yang tejadi pada sistem. Seperti layaknya
runtutan proses berjalannya suatu sistem dan digambarkan secara vertikal. Activity diagram
adalah salah satu contoh diagram dari UML dalam pengembangan dari Use Case.
3. Sequence Diagram
Sequence diagram merupakan diagram yang menjelaskan interaksi objek berdasarkan urutan
waktu. Sequence dapat menggambarkan urutan atau tahapan yang harus dilakukan untuk
dapat menghasilkan sesuatu, seperti yang tertera pada Use Case diagram.
4. Class Diagram
Gambar Class Diagram
Class diagram atau diagram kelas merupakan suatu diagram yang digunakan untuk
menampilkan kelas-kelas berupa pake-paket untuk memenuhi salah satu kebutuhan paket
yang akan digunakan nantinya.
Namun, pada Class diagram desain modelnya dibagi menjadi 2 bagian. Class diagram yang
pertama merupakan penjabaran dari domain model yang merupakan abstraksi dari basis
data. Class diagram yang kedua merupakan bagian dari modul program MVC pattern (Model
View Controller), di mana terdapat class boundary sebagai class interface, class
control sebagai tempat ditemukannya algoritma, dan class entity sebagai tabel dalam basis
data dan query program.
5. Statemachine Diagram
Statemachine yaitu salah satu jenis diagram pada UML yang berfungsi untuk menggambarkan
transisi serta perubahan pada suatu objek pada sistem.
6. Component Diagram
Nah, itulah beberapa contoh diagram UML (Unified Modelling Language) yang sering
digunakan dalam perancangan dan pemodelan suatu sistem. Ada kalanya diagram UML yang
dibuat hanya sampai dengan class diagram. Hal tersebut juga perlu dipertimbangkan, guna
menyesuaikan kebutuhan.
Dudy Wiyancoko
Menurut Dudy Wiyancoko, pengertian desain adalah segala sesuatu yang berkaitan dengan pembuatan konsep, analisis
data, perencanaan proyek, rendering, perhitungan biaya, prototyping, frame testing, dan test riding.
Fungsi Desain
Desain adalah seni terapan, arsitektur, dan berbagai pencapaian kreatif lainnya yang melibatkan penataan garis, bentuk,
ukuran, warna, dan nilai suatu objek berdasarkan prinsip-prinsip tertentu. Adapun beberapa fungsi desain tersebut adalah
sebagai berikut:
Tujuan Desain
Seperti yang sudah dijelaskan sebelumnya, tujuan utama dari sebuah desain adalah untuk membantu manusia mendesain
suatu objek agar berguna bagi manusia. Beberapa tujuan desain adalah sebagai berikut:
1. Sebagai alat yang digunakan untuk mendesain suatu objek, sistem, komponen, atau struktur yang bermanfaat
bagi manusia
2. Sebagai sarana untuk menyampaikan ide atau gagasan seorang desainer kepada masyarakat umum.
3. Sebagai sarana untuk mendeskripsikan objek-objek tertentu kepada khalayak sebelum objek-objek tersebut
terwujud dalam kenyataan.
4. Sehingga manusia mengetahui apa saja kemampuan dan keterbatasan yang ada pada dirinya dan hal-hal yang
ada disekitarnya.
Prinsip-Prinsip Desain
Prinsip-prinsip desain meliputi hal-hal berikut:
1. Keseimbangan
Keseimbangan bisa dibentuk sama ukuran atau bisa dibilang simetris, baik dalam bentuk, ukuran, atau gambar. Selain itu,
keKeseimbangan juga dapat dibuat informal atau asimetris dan keseimbangan radial atau terpancar.
2. Kesatuan
Prinsip ini dapat dicapai jika semuanya sudah terpenuhi. Teori Psikologi Gestalt tentang kedekatan, ketertutupan dan
kesamaan dapat membantu memenuhi prinsip kesatuan dalam karya seni.
3. Perbandingan
Merupakan bentuk yang berhubungan dengan ukuran antara satu bagian dengan bagian lainnya. Besar atau kecil, lebar,
sempit, pendek, atau pendek adalah masalah proporsi. Dalam Seni Rupa, prinsip proporsi digunakan untuk
mempertimbangkan perbandingan luas kertas atau kanvas dengan objek yang digambar atau dilukis. Prinsip perbandingan
menekankan variasi atau keanekaragaman ukuran satu unsur dengan unsur lainnya dalam satu kesatuan yang utuh.
4. Komposisi
Komposisi atau urutan adalah rancangan arsitektural, yaitu penataan unsur-unsur secara keseluruhan sehingga alurnya
menjadi lebih nyaman. Contoh penerapan komposisi pada suatu desain arsitektur yang paling mudah dipahami adalah
penyusunan denah komposisi ruang, seperti ketika ingin menata interior ruangan, ruang tamu, atau dapur.
5. Ritme
Merupakan prinsip yang timbul dari kesan gerak dari unsur-unsur yang melekat pada karyanya yang dapat ditempuh melalui
repetisi, substitusi, perubahan ukuran, dan gerak ritmis.
6. Skala
Skala adalah rasio ruangan atau bangunan terhadap lingkungan atau elemen arsitektur lainnya. Pada dasarnya skala dalam
desain arsitektur tidak memiliki aturan khusus karena skala dapat disesuaikan dengan nuansa atau kesan yang diinginkan.
7. Contrast
Kontras adalah bentuk, yang dapat berupa pewarnaan, ukuran, posisi, hingga tekstur atau visual. Contoh penerapan
sederhananya adalah penggunaan sofa berwarna cerah seperti merah atau kuning di tengah ruangan yang didominasi warna
putih.
Manfaat Desain
Ada manfaat desain dalam kehidupan sehari-hari, yaitu:
Metode Desain
Beberapa metode desain yang sering digunakan seperti berikut:
1. Explosing
Explosing merupakan metode mencari inspirasi dengan berpikir kritis untuk menghasilkan suatu desain yang belum pernah
dibuat sebelumnya.
2. Redefining
Redefining merupakan suatu metode dengan mengolah kembali suatu desain menjadi sesuatu yang berbeda dan lebih baik.
3. Managing
Managing adalah metode yang merupakan metode perancangan dengan membuat desain secara terus menerus dan
berkesinambungan.
4. Phototyping
Phototyping adalah metode desain dengan memperbaiki dan atau memodifikasi desain leluhur.
5. Trendspotting
Trendspotting merupakan metode desain dengan membuat desain berdasarkan trend yang sedang berkembang.
Jenis Desain
Ada dua jenis desain yaitu:
Yang pertama adalah desain struktural yang merupakan bentuk objek yang terdiri dari elemen desain antara
susunan garis, bentuk, ukuran, warna tekstur dan nilai ringan.
Yang kedua adalah desain hiasan yang bertujuan untuk menghiasi desain struktural suatu benda atau pakaian.
2. Desain Interior
Perancangan interior merupakan bidang keilmuan yang didasarkan pada ilmu desain dengan tujuan untuk dapat memecahkan
permasalahan mengenai kebutuhan akan ruangan yang nyaman dan indah pada sebuah hunian, seperti ruangan hunian, hotel,
rumah sakit, restoran, perkantoran, pusat hiburan, sekolah, bahkan dapur, dan toilet.
3. Desain Arsitektur
Perancangan arsitektur adalah suatu kegiatan yang berusaha untuk memecahkan kebutuhan manusia akan tempat tinggal yang
nyaman dan indah. Seperti rumah, kantor, tempat ibadah, rumah sakit, bangunan umum, bangunan industri dan sebagainya.
Dalam dunia arsitektur, ada dua pandangan yang berbeda. Dari dua pandangan yaitu pandangan yang menempatkan
rancangan arsitektur sebagai bagian dari bidang teknik (engineering) dan pandangan yang menempatkan rancangan arsitektur
sebagai bagian dari seni.
4. Desain Produk
Desain Produk merupakan salah satu cabang seni terapan yang berusaha memecahkan masalah kebutuhan masyarakat akan
benda dan peralatan sehari-hari untuk menunjang aktivitasnya. Misalnya, desainer produk mendesain sepatu tidak hanya agar
terlihat bagus, tetapi juga nyaman dipakai dan mudah diproduksi.
C.
Search
<<include>>
Category
My Location
Pengguna
E. Sequence Diagram
1. Pilih Menu
1. ATM
2. Pilih Search 2. Hotel
3. Rumah Sakit
4. Kuliner
5. SPBU
6. Transportasi
3. Pilih Kategori 7. Masjid
6. Proses Koordinat
7. Tampil Direction
Gambar 4.8. Sequence Diagram Search
Dari Gambar 4.8. diatas terlihat pengguna memilih menu Search.
Dimana di dalam menu Search terdapat beberapa kategori yaitu ATM, Hotel,
Rumah Sakit, Kuliner, SPBU, Transportasi, dan Masjid. Setelah pemilihan
kategori selesai proses selanjutnya adalah sistem akan menampilkan list lokasi
Search()
About()
My Location()
Search
My Location
nama_jalan About
kategori
ATM()
koordinat()
Hotel() Rumah
Sakit()
Kuliner()
Algoritma_Floyd-
Koordinat
Warshall
no
titik_awal
titik_akhir
panjang x1 nama_jalan
titik_awal
titik_akhir x1
y1
x2
y2 y1
x2
y2
floydwarshal()
path() panjang
koordinat()
c. Data model
D.User interface
Gambar Interface home