Anda di halaman 1dari 32

Nama : Satria Dwi Aprianto

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

1945 - 1965: Awal

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.

1965 - 1985: krisis perangkat lunak


Pada tahun 1960-an hingga 1980-an, banyak masalah yang ditemukan para praktisi pengembangan
perangkat lunak. Banyak projek yang gagal, hingga masa ini disebut sebagai krisis perangkat lunak.
Kasus kegagalan pengembangan perangkat lunak terjadi mulai dari projek yang melebihi anggaran,
hingga kasus yang mengakibatkan kerusakan fisik dan kematian. Salah satu kasus yang terkenal antara
lain meledaknya roket Ariane akibat kegagalan perangkat lunak.
1985 - kini: tidak ada senjata pamungkas
Selama bertahun-tahun, para peneliti memfokuskan usahanya untuk menemukan teknik j itu untuk
memecahkan masalah krisis perangkat lunak.
Berbagai teknik, metode, alat, proses diciptakan dan diklaim sebagai senjata pamungkas untuk
memecahkan kasus ini. Mulai dari pemrograman terstruktur, pemrograman berorientasi object, perangkat
pembantu pengembangan perangkat lunak (CASE tools), berbagai standar, UML hingga metode formal
diagung-agungkan sebagai senjata pamungkas untuk menghasilkan software yang benar, sesuai
anggaran dan tepat waktu.
Pada tahun 1987, Fred Brooks menulis artikel No Silver Bullet, yang berproposisi bahwa tidak ada satu
teknologi atau praktik yang sanggup mencapai 10 kali lipat perbaikan dalam produktivitas pengembangan
perangkat lunak dalam tempo 10 tahun.
Sebagian berpendapat, no silver bullet berarti profesi rekayasa perangkat lunak dianggap telah gagal.
Namun sebagian yang lain justru beranggapan, hal ini menandakan bahwa bidang profesi rekayasa
perangkat lunak telah cukup matang, karena dalam bidang profesi lainnya pun, tidak ada teknik
pamungkas yang dapat digunakan dalam berbagai kondisi.

B. Perkembangan Rekayasa Perangkat Lunak


Melalui rekayasa perangkat lunak, sebuah komputer dapat menjalankan perintah sesuai dengan
keinginan para penggunanya. Faktor kunci dalam keberhasilan usaha bisa ditentukan melalui kualitas
Kemampuan sebuah perangkat lunak untuk mendukung bisnis atau bahkan membedakan satu
perusahaan dari perusahaan lainnya.

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.

Metode Rekayasa Perangkat Lunak


Membahas tentang metode dalam rekayasa perangkat lunak setidaknya ada sekitar 6 metode yang sangat
populer dan banyak digunakan oleh para pengembang, seperti berikut;

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.

Tujuan tahap analisis adalah:


1. Menjabarkan kebutuhan pemakai
2. Meletakkan dasar-dasar untuk proses perancangan PL
3. Mendefinisikan semua kebutuhan pemakai sesuai dengan lingkup kontrak yang disepakati kedua
belah pihak.

Aktivitas yang dilakukan:


1. Pendefinisian lingkup perangkat lunak
2. Identifikasi dan pengumpulan kebutuhan perangkat lunak
3. Pemodelan data
4. Pemodelan fungsional
5. Pemodelan status/kelakuan

Pendefinisian Lingkup Perangkat Lunak


Pendifinisian lingkup perangkat lunak adalah aktifitas penyelidikan awal untuk menentukan rincian perangkat
lunak yang akan dibangun, lingkungan luar tempat dimana sistem yang akan dibangun digunakan. Kegiatan pada
tahap ini lebih kearah Memanajemen kegiatan pembangunan perangkat lunak. Lebih lanjut akan dipelajari pada
matakuliah MPPL (Manajemen Proyek Perangkat Lunak) atau pada matakuliah PSPL (Pengembangan Sistem
Perangkat Lunak)

Identifikasi dan Pengumpulan Kebutuhan Perangkat Lunak


Identifikasi dan pengumpulan kebutuhan perangkat lunak adalah aktifitas untuk mencari, mengidentifikasi,
mengumpulkan, dan menentukan kebutuhan dari perangkat lunak yang akan dibangun dengan cara melakukan
komunikasi dengan pengguna atau customer. Lebih lanjut akan dipelajari pada matakuliah MPPL (Manajemen
Proyek Perangkat Lunak) / PSPL (Pengembangan Sistem Perangkat Lunak).

Pemodelan Data
Pemodelan data befungsi untuk mendeskripsikan data yang terlibat dalam perangkat lunak. Secara struktural
pemodelan data ini dapat digambarkan sebagai berikut:

Struktur Pemodelan Analisis

Piranti yang digunakan untuk menjelaskan pemodelan data yaitu:


1. ERD (Entity Relationship Diagram): Merupakan diagram yang menyatakan keterhubungan antar objek data
2. DOD (Data Object Description): Merupakan deskripsi atribut dari setiap objek data.

3. Kamus Data (Data Dictionary): Deskripsi semua objek data yang dibutuhkan maupun yang dihasilkan oleh
perangkat lunak.

1. ERD (Entity Relationship Diagram)


Diagram Relasi Entitas (ERD-Entity Relationship Diagram) adalah suatu diagram yang menggambarkan relasi atau
hubungan antar objek. Relasi antar objek dihubungkan dengan garis, ada banyak relasi, diantaranya adalah
hubungan satu ke banyak (one to many relationship) dan hubungan dari satu ke satu (one to one relationship).
Diagram tersebut dinyatakan dalam simbol-simbol atau menggunakan notasi-notasi yang dapat dilihat pada tabel
berikut:
Contoh:

Rincian pada gambar diatas terdapat sebagai berikut:


1. Entitas Mahasiswa: Atribut (NRP, NamaMHS, JKelamin)
2. Entitas Matakuliah: Atribut (KodeMK, NamaMK, SKS)
3. Relasi Meminjam: Atribut (NRP, KodeMK, Nilai)
4. Kardinalitas 1/n: Seorang mahasiswa dapat mengambil 1 atau lebih matakuliah.

Penggambaran Atribut pada ER Diagram dapat dihilangkan, dengan memberikan keterangan tambahan berupa
paparan atribut pada setiap entitas dan relasi yang muncul.

1. DOD (Data Object Description)


Deskripsi Objek Data (DOD-Data Object Description) merupakan bagian dari ERD (Entity Relational Diagram) yang
telah dirancang. DOD menyimpan keterangan semua atribut entitas dan relasi yang muncul pada tahap
perancangan ERD. DOD dapat direpresentasikan dalam bentuk tabel.
Contoh:

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.

 Data Flow Diagram

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.

 Tahap Perancangan / Design


Tahap desain merupakan tahap rekayasa yang merepresentasikan perangkat lunak yang akan dibangun. Desain
dapat digunakan untuk menelusuri dan mengecek kebutuhan customer dan sekaligus dapat dijadikan sebagai
ukuran untuk menilai kualitas perangkat luak.

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.

Fungsi tahap perancangan perangkat lunak adalah:


1. Pengembangan spesifikasi perangkat lunak
2. Penjabaran bagaimana PL dapat berfungsi
3. Penjabaran bagaimana spesifikasi perangkat lunak dapat diimplementasikan
Selama proses perancangan, kualitas perancangan selalu dipantau melalui ‘Review Teknis Formal’ dan
dibahas bersama antara customer dan pengembang.

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.

Adapun prinsip-prinsip perancangan perangkat lunak adalah:


1. Mempertimbangkan beberapa alternatif model solusi
2. Traceable (dapat dicek dan dirunut) terhadap model analisis
3. Mempertimbangkan dan menghasilkan komponen yang dapat digunakan ulang (reusable).
4. Meminimasi kesenjangan antara perangkat lunak dengan kondisi nyata.
5. Memperlihatkan keseragaman perancangan.
6. Memperlihatkan integerasi.
7. Mengakomodasi perubahan.
8. Mengakomodasi kondisi-kondisi insedental yang mingkin muncul.
9. Abstraksi yang lebih detil dari analisis, tetapi lebih tinggi (general) dari coding.
10. Dapat terukur kualitasnya.
11. Harus di-review untuk meminimasi kesalahan semantik.

Tahapan perancangan (desain) yaitu:


1. Perancangan Data
2. Perancangan Arsitektur
3. Perancangan Antarmuka
4. PerancanganProsedur

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.

Dalam perancangan data, yang dilakukan adalah:


1. Pemilihan representasi lojik dari objek data yang ditemukan pada proses analisis
2. Perbaikan (refinement) terhadap kamus data menjadi:
- struktur data tertentu (array, list, dll.)
- struktur file tertentu
- basisdata lengkap dengan fieldnya

Petunjuk teknis perancangan data:


1. Menerapkan prinsip-prinsip analisis sistematis (pada tahap analisis)
2. Mengidentifikasikan semua struktur data dan prosedur yang akan digunakan dalam pengaksesan data tersebut.
3. Me-refine isi kamus data (data dictionary).
4. Menunda perancangan data yang “low level” sampai di akhir proses perancangan.
5. Merepresentasikan struktur data sedemikian rupa sehingga hanya modul yang menggunakan data tersebut yang
dapat mengaksesnya.
6. Membangun pustaka untuk struktur data dan prosedur yang sering digunakan.

Hasil perancangan data adalah:


1. Struktur data yang siap diprogram
2. Struktur basis data yang siap dibuat oleh pemrogram
3. Prosedur atau operasi untuk pengaksesan data yang telah siap diprogram.

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.

Tujuan utama perancangan arsitektur adalah:

1. Membangun struktur program yang modular.


2. Merepresentasikan hubungan antar modul. (modul adalah kumpulan fungsional kebutuhan perangkat lunak yang
relatif independent terhadap kumpulan fungsional kebutuhan perangkat lunak yang lain. Contoh, dalam stugi
kasus membuat sistem Sistem Perpustakaan SMK TIKOM IBNU SIENA terdapat modul untuk menangani operasi
dan transaksi terhadap buku, terdapat modul untuk menangani operasi dan transaksi terhadap anggota, dsb).
3. Memadukan struktur program dan struktur data.
4. Mendefinisikan antarmuka yang memungkinkan data dapat mengalir pada seluruh program.

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

Jenis Aliran informasi:


1. Aliran Transformasional

Ciri-ciri jenis aliran Transformasional:


1. Ada input dari entitas eksternal, lalu diproses dalam sistem, kemudian sistem menghasilkan output kembali ke
entitas eksternal.
2. Dilakukan secara berurutan (sequensial)

Langkah pemetaan untuk jenis aliran Transformasional:


1. Kaji ulang model sistem dasarnya
2. Kaji ulang dan perhalus DFD-nya
3. Tentukan apakah DFD memiliki jenis aliran transaksional
4. Isolasi pusat transaksi dengan menentukan batas aliran incoming dan outgoing.
5. Lakukan faktorisasi
6. Perhalus struktur program

2. Aliran Transaksional

Ciri-ciri jenis aliran Transaksional:


1. Terdapat input atau transaksi yang dapat memicu jalur aliran data yang lain.
2. Aliran data merupakan transaksi pemilihan jalur aksi informasi.

Langkah pemetaan untuk jenis aliran Transaksional:


1. Kaji ulang model sistem dasarnya
2. Kaji ulang dan perhalus DFD-nya
3. Tentukan pusat transaksi dan jenis aliran di sepanjang setiap jalur aksi.
4. Lakukan faktorisasi
5. Perhalus struktur program

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)

Jenis antarmuka yang diperlukan:


1. Antarmuka untuk input parameter proses -> layar.
2. Antarmuka untuk output proses -> layar
3. Antarmuka untuk input data -> layar maupun parameter passing
4. Antarmuka untuk output data -> layar maupun parameter passing
5. Antarmuka untuk pesan-pesan

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

Perancangan antarmuka dapat dilakukan dengan:


1. Manual pada kertas
2. Dengan memanfaatkan CASE Tools (contoh AppModeller pada PowerDesigner).

Hasil perancangan antarmuka:


1. Definisi antarmuka modul yang siap untuk diprogram.
2. Definisi/format rancangan layar yang siap diimplementasikan

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.

Kategori pengujian pada perangkat lunak meliputi:


1. Functional, pengujian dilakukan untuk memastikan bahwa sistem dapat menjalankan fungsi secara normal.
Dilakukan dengan cara memberikan input terhadap sistem dan meneliti output yang dihasilkan.
2. Recovery, pengujian dilakukan untuk memastikan bahwa sistem dapat melakukan recovery terhadap berbagai
jenis kesalahan atau kegagalan. Dilakukan dengan cara mensimulasikan berbagai kesalahan atau kegagalan,
seperti kegagalan listrik, sistem operasi dan lainnya.
3. Performance, pengujian dilakukan untuk memastikan bahwa sistem dapat memenuhi persyaratan kinerja yang
sesuai.

Menurut Myers, jenis program testing dapat dibedakan menjadi:


1. Module Test, test permodul dalam lingkungan yang tertutup
2. Integration Test, verifikasi antarmuka modul dan bagian sistem
3. External Function Test, verifikasi fungsi-fungsi eksternal
4. System Test, verifikasi dan valdasi kerja sistem dalam lingkungan yang dibuat secara khusus
5. Acceptance Test, validasi sistem dan persyaratan pengguna
6. Instalation Test, untuk mencari kesalahan yang dibuat pada proses instalasi
7. Simulation Test, mencoba meniru keadaan pada lingkungan tempat sistem tersebut akan dijalankan
8. Field Test, dilakukan pada lingkungan pemakaian pada kondisi yang sebenarnya.

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)

2. Mempersiapkan Hardware, hal yang harus diperhatikan adalah:


a. Disusun suatu prosedur instalasi yang dilengkapi jenis test pada setiap kegiatan
b. Harus ada Aceeptance Test yang disetujui oleh semua pihak yang terlibat
c. Jika perlu dapat dipergunakan diagnostic software.

3. Mempersiapkan Software, hal yang harus diperhatikan adalah:


a. Sama dengan point a dan b dalam mempersiapkan hardware
b. Perlu adanya pengukuran kinerja sistem secara keseluruhan(Benchmarking)

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

Gambar Use Case diagram ATM

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

Gambar 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

Gambar 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

Gambar 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

Gambar Component Diagram

Component diagram yang berfungsi untuk menggambarkan software pada suatu


sistem. Component diagram merupakan penerapan pada piranti lunak atau software dari satu
class maupun lebih, dan biasanya berupa file data, source code,.exe, table, dokumen, atau
yang lainnya..

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.

5. Pengertian Desain Menurut Para Ahli


Agar lebih memahami apa itu desain, kita bisa menyimak pendapat beberapa pakar berikut ini:

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:

1. Merupakan proses untuk membuat atau membuat objek baru.


2. Merupakan alat untuk mengkomunikasikan kreasi baru seorang desainer kepada masyarakat umum.
3. Merupakan wadah untuk menampilkan benda-benda kepada umum dengan gambar atau nyata.
4. Merupakan ilmu dan wawasan bagi manusia, sehingga dapat memahami bentuk berupa penggambaran bidang,
ruang, susunan, konfigurasi, komposisi, nilai dan sebagainya.
5. Sebagai suatu perbantuan bagi para desainer dalam membuat objek atau kreasi baru. alat bantu dalam proses
pembuatan objek baru.
6. Sebagai wadah untuk menggambarkan kenampakan objek tertentu kepada khalayak dengan gambaran atau
keadaan sebenarnya.
7. Sebagai sarana untuk menambah pengetahuan manusia agar lebih memahami gambaran bentuk bidang, ruang,
susunan, konfigurasi, komposisi, nilai, dan sebagainya.

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:

1. Mempercepat Proses Kerja


Suatu pekerjaan dapat dipersingkat dengan menggunakan desain grafis, misalnya proposal yang harus menggambarkan setiap
detail perusahaan, tetapi dengan menggunakan desain grafis akan dipersingkat dengan membuatnya dalam bentuk gambar
atau kurva.

2. Dapat Menyampaikan Pesan Dalam Bentuk Grafis


Untuk membuat sebuah pesan dalam bentuk sebuah karya seni desain grafis tidaklah mudah, hal ini dapat dilakukan dengan
mengikuti kursus desain grafis yang terpercaya agar pesan yang tercipta dapat tersampaikan kepada masyarakat.

3. Menjadi Tempat Mengekspresikan Perasaan


Setiap orang pasti memiliki perasaan yang terkadang sulit untuk diungkapkan, setelah belajar desain grafis di sekolah duet
dengan photoshop atau aplikasi adobe lainnya kamu bisa mengungkapkan perasaan dalam bentuk grafik.

4. Menghasilkan Gambar Yang Lebih Indah


Gambar yang dihasilkan baik melalui jepretan kamera maupun hasil karya tangan tidak selalu menghasilkan gambar yang
diinginkan, dengan sentuhan desain grafis gambar akan lebih menarik dan indah dipandang.
5. Bisa Menghasilkan Uang
Dengan desain yang telah dibuat akan memiliki nilai yang berharga. Bayangkan saja, logo perusahaan yang dibuat dari
aplikasi desain tidak hanya bernilai ratusan ribu, bahkan ada yang bernilai puluhan atau ratusan juta Rupiah.

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.

Cabang Seni Desain


Seni desain itu sendiri ternyata memiliki beberapa cabang. Berikut ini adalah beberapa cabang seni desain yang perlu kamu
ketahui.
1. Desain Grafis
Desain grafis adalah salah satu bentuk komunikasi visual yang digunakan untuk menyampaikan pesan atau informasi
seefektif mungkin dengan menggunakan media gambar. Jika dalam seni grafis teks atau tulisan juga dianggap sebagai
gambar karena merupakan hasil abstraksi dari simbol yang dapat dibunyikan. Contohnya antara lain poster, majalah,
undangan, surat kabar, logo perusahaan, kemasan, buku, cerita bergambar, karikatur dan sebagainya.

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.

6. Pencarian rute tercepat menggunakan aplikasi android


7. A. Kota Yogyakarta dikenal dengan berbagai macam jenis layanan transportasi, diantaranya adalah bis kota, taksi,
becak, andong, dan yang paling baru adalah Trans-Jogja. Trans-Jogja memiliki keunikan tersendiri jika dibandingkan
dengan jenis transportasi lainnya. Layanan ini memiliki banyak rute perjalanan, dimana setiap rutenya akan melewati
Berkala MIPA, 24(1), Januari 2014 73 banyak tempat pemberhentian (shelter). Pengguna Trans-Jogja hanya dikenakan
satu kali pembayaran apabila tidak keluar dari shelter meskipun harus berpindah-pindah jalur. Seseorang
dimungkinkan untuk menghabiskan waktunya di satu bis Trans-Jogja dan tidak tahu harus turun di shelter mana dan
berganti bis jalur berapa untuk sampai di tempat tujuan. Setiap shelter memiliki jadwal keberangkatan yang berbeda-
beda untuk setiap armada yang masuk. Pengguna akan kesulitan menghitung waktu total perjalanan dikarenakan tidak
adanya informasi jadwal setiap armada pada setiap shelter. Pengguna membutuhkan informasi rute terbaik dari titik
awal menuju titik tertentu. Titik awal dan titik tujuan dapat ditentukan sendiri oleh pengguna maupun berdasarkan
posisi koordinat saat ini. Rute terbaik menurut preferensi pengguna dapat berbeda-beda. Rute terbaik berdasarkan
waktu tercepat menurut sebagian pengguna merupakan rute terbaik, terdapat pula pengguna lain yang menganggap
rute terdekat adalah rute terbaik, dan ada juga pengguna yang mengganggap pergantian armada bis yang paling
sedikit adalah rute terbaik. Penelitian tentang rute tercepat dan rute terdekat sudah banyak dilakukan sebelumnya.
Muslim (2006) dalam tesisnya mengimplementasikan penentuan rute terbaik dengan basis sistem informasi geografis.
Penentuan rute ini dibagi ke dalam tiga bagian yaitu rute terdekat, rute tercepat dan rute termurah. Proses pencarian
jalur terbaik menggunakan fungsi-fungsi built-in dari aplikasi ArcView. Friedrich, (2001) dalam jurnal yang berjudul
Timetable-based Transit Assignment Using Branch & Bound mengemukakan tentang pencarian jalur tercepat
menggunakan jadwal pada transportasi umum. Algoritma yang digunakan dalam jurnal tersebut adalah Branch and
Bound. Struktur data khusus digunakan untuk memberikan bantuan seperti pencarian segmen koneksi selanjutnya
ketika diberikan sebuah node dan waktu atau mendapatkan semua koneksi yang berasal dari sebuah node yang tetap.
Dalam jurnal tersebut diketahui bahwa pendekatan yang dilakukan dapat mengurangi waktu komputasi secara
signifikan, selain itu juga dimungkinkan untuk menggunakan jadwal pada jaringan yang besar. Purnadi (2010) dalam
skripsinya membuat aplikasi peta mobile untuk pencarian jalur terpendek pada sistem operasi Android. Algoritma
yang dipakai sebagai dasar pencarian rute terpendek adalah algoritma Dijkstra. Dalam aplikasi yang dibuat
dimungkinkan untuk menentukan arah edge yang dibuat. Jarak antar node diukur menggunakan skala dari gambar
peta dikalikan dengan panjang edge.

B. Kebutuhan ialah mempermudah pengguna untuk menemukan jalan terdekat

C.

Search
<<include>>

Category

My Location
Pengguna

D. Activity Diagram About

Untuk memudahkan dalam perancangan activity diagram maka activity


diagram dalam aplikasi ini akan dipecah menjadi beberapa bagian. Untuk Activity
Diagram lainnya dapat di lihat pada lampiran A.

A. Activity Diagram Buka Aplikasi

Gambar 4.9. Activity Diagram Buka Aplikasi


Pada bagian pertama activity diagram seperti terlihat pada gambar 4.9
saat aplikasi dijalankan sistem akan memanggil class form utama untuk
meletakkan aplikasi dalam melakukan inisialisai proses apa saja yang akan di
load pertama kali, kemudian aplikasi akan menampilkan tampilan menu setelah
tampilan menu utama tampil maka proses akan selesai.

E. Sequence Diagram

Sequence diagram adalah representasi dari interaksi-interaksi objek yang


berjalan pada sistem. Dengan menggunakan sequence diagram kita dapat melihat
bagaimana objek-objek bekerja. Sequence diagram dapat menampilkan
bagaimana sistem merespon setiap kejadian atau permintaan dari user, dapat
mempertahankan integritas internal, bagaimana data dipindah ke user interface
dan bagaimana objek-objek diciptakan dan dimanipulasi. Untuk Sequence
Diagram lainnya dapat di lihat pada lampiran A.

A. Sequence Diagram Search

Menu Search Floyd-Warshall Koordinat


: Pengguna

1. Pilih Menu
1. ATM
2. Pilih Search 2. Hotel
3. Rumah Sakit
4. Kuliner
5. SPBU
6. Transportasi
3. Pilih Kategori 7. Masjid

4. Tampil List Lokasi

4. Tampil List Lokasi

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

4.5.1. Class Diagram


Class Diagram menggambarkan struktur dan deskripsi class, package,
dan objek yang saling terhubung. Class diagram yang dijelaskan pada analisa ini
adalah class diagram sistem yang terpasang pada perangkat Android. Gambar 4.4
dibawah ini menjelaskan class diagram sistem yang terpasang pada perangkat
Android.
8. A.
PKU_mGUIDE

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()

Gambar 4.7. Class Diagram PKU mGUIDE

Berikut adalah deskripsi dan penjelasan dari kelas-


kelas yang muncul pada diagram perancangan kelas :
Tabel 4.3. Deskripsi Perancangan Class Diagram

Nama Kelas Nama File Keterangan


PKU_mGUIDE PKUmGuide.java Kelas ini merupakan tampilan
utama dari aplikasi PKU mGUIDE.
Search search.java Kelas ini merupakan tampilan untuk
melakukan pencarian lokasi dengan
rute terpendek.
My Location myLocation.java Kelas ini merupakan tampilan untuk
melihat lokasi fasum yang ada.
Koordinat fasum.sql Koordinat merupakan entity dari
database fasilitas umum.
About about.java Kelas ini untuk menampilkan
informasi tentang dari aplikasi
Algoritma_Floyd floydw.php Kelas ini merupakan kelas algoritma
Warshall
B. DEPLOYMENT DIAGRAM

c. Data model

D.User interface
Gambar Interface home

Gambar Interface kelola user sisi admin

Gambar Interface update sisi admin.

Gambar Interface cari rute sisi user.

Anda mungkin juga menyukai