a. Komputer
Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang
telah dirumuskan. Kata computer pada awalnya dipergunakan untuk menggambarkan
orang yang perkerjaannya melakukan perhitungan aritmetika, dengan atau tanpa alat
bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal
mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah
aritmetika, tetapi komputer modern dipakai untuk banyak tugas yang tidak
berhubungan dengan matematika.
b. Definisi Rekayasa
Engineering = rekayasa
Untuk menyelesaikan ‘masalah praktis dari tidak ada menjadi ada
c. Definisi Perangkat Lunak
Software = Perangkat lunak
Kumpulan program komputer dengan fungsi tertentu
Ada beberapa definisi perangkat lunak yang pernah dikemukakan antara lain :
Perangkat lunak adalah
1. Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu.
2. Struktur data yang dapat membuat program memanipulasi informasi.
3. Dokumen yang menjelaskan operasi dan penggunaan program (Pressman, 1997).
Perangkat lunak adalah program komputer, prosedur, aturan, dan dokumentasi yang
berkaitan serta data, yang bertalian dengan operasi suatu sistem komputer
(IEEE, 1993).
Sisi Sponsor :
Tujuan utama sponsor adalah menghasilkan dan atau menghemat uang. Sponsor
ingin menggunakan perangkat lunak tersebut untuk meningkatkan produktivitas
organisasi. Sponsor mengharapkan untuk dapat menghasilkan sebuah layanan dengan
biaya yang rendah tetapi masuk akal. Karena itu sistem yang dibuat harus handal,
fleksibel dan efisien. Selain itu biaya dari pemeliharaan, modifikasi dan peningkatan
dari sistem tersebut harus serendah mungkin.
Sisi Pemakai :
Bagi pemakai perangkat lunak adalah alat untuk membantu menyelesaikan tugas
tugasnya. Karena itu perangkat lunak harus menyediakan fungsi-fungsi yang
dibutuhkan oleh pemakai. Perangkat lunak juga harus handal dan efisien, perangkat
lunak harus dapat menghasilkan output yang konsisten. Selain itu pemakai harus
merasa perangkat lunak yang dibuat mudah untuk dipelajari, mudah digunakan dan
mudah untuk diingat.
Sisi Maintainer/modifier :
Yang diinginkan oleh maintainer/modifier adalah perangkat lunak tersebut
memiliki sangat sedikit error pada saat penginstallan pertama (catatan : sangat kecil
kemungkinannya untuk menghasilkan perangkat lunak yang 100 % bebas dari bug).
Selain itu perangkat lunak tersebut harus terdokumentasi dengan baik. Source code
juga harus mudah dibaca, terstruktur dan dirancang dengan baik dan bersifat modular.
b. Tujuan kedua dari RPL adalah menghasilkan perangkat lunak dengan biaya yang
efisien.
c. Sedangkan tujuan ketiga dari RPL adalah menghasilkan perangkat lunak tepat pada
waktunya.
4. Jenis-jenis Perangkat Lunak
Dilihat dari sudut pandang fungsinya, perangkat lunak dapat dikelompokkan
menjadi:
a. Perangkat lunak sistem
Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional
komputer.
- sistem operasi
- penerjemah bahasa pemrograman (compiler/interpreter)
b. Perangkat lunak aplikasi
Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk membantu
menyelesaikan masalalah-masalah yang dihadapi oleh pemakai.
- program paket yang sudah jadi
- program aplikasi buatan sendiri
1. Pengertian SDLC
Sistem Development Life Cycle (SDLC) menurut Susanto (2004) menyatakan
bahwa : “Sistem Development Life Cycle (SDLC) adalah salah satu metode
pengembangan sistem informasi yang popular pada saat sistem informasi pertama
kali dikembangkan.” Metode SDLC adalah tahap-tahap pengembangan sistem
informasi yang pertama kali dikembangkan yang dilakukan oleh analisis sistem dan
programmer untuk membangun sebuah sistem informasi.
Dalam perancangan sebuah sistem, kita mengenal konsep SDLC (sistem
development life cycle). Secara global definisi SDLC dapat dikatakan sebagai suatu
proses berkesinambungan untuk menciptakan atau merubah sebuah sistem,
merupakan sebuah model atau metodologi yang digunakan untuk melakukan
perancangan sistem. Dapat dikatakan dalam SDLC merupakan usaha bagaimana
sebuah sistem informasi dapat mendukung kebutuhan bisnis, rancangan dan
pembangunan sistem serta delivering-nya kepada pengguna.
SDLC ini sendiri juga merupakan pola yang diambil untuk mengembangkan sistem
perangkat lunak, yang terdiri dari tahap-tahap :
perencanaan sistem (planning), analisa (Analysis), desain (Design), implementasi
(Implementation), uji coba (testing), dan pengelolaan (Maintenance).
2. Tahap-tahap SDLC
Karena konsep SDLC itu sendiri mendasari berbagai jenis metodologi
pengembangan perangkat lunak. Oleh karena itu, SDLC memiliki fase-fase atau
tahapan dalam pengembangan sistemnya. Berikut ini terdapat penjelasannya.
2. Analisa (Analysis)
Dalam Fase Analisa ini dimana merupakan sebuah aktivitas investigasi terhadap
sistem yang akan dibangun, dan membuat analisa kebutuhan sesuai dengan apa yang
sudah direncanakan. Aktivitas yang terdapat didalam fase analisa ini melakukan studi
literatur untuk menemukan kasus yang bisa ditangani oleh sistem. Didalam sudut
pandang untuk tim pengembang, brainstorming dalam tim pengembang mengenai
kasus mana yang tepat dimodelkan didalam sebuah sistem. Jika kalian sudah
melakukan tahap analisa ini, maka kalian akan tau, tujuan kalian dalam melakukan
pengembangan sistem ataupun pembangunan sistem itu sendiri.
3. Desain Sistem (Design)
Setelah melakukan tahap analisa, selanjutya kita melakukan fase design kedalam
suatu sistem. Di tahapan ini, pengembang dituntut untuk serius dalam melakukan
features dan operasi-operasi sistem, sehingga harus dideskripsikan secara detail.
Didalam perancangan sistem. Aktivitas yang dimiliki seperti menganalisa interaksi
obyek dan fungsi pada sistem, Menganalisa data dan membuat skema database, serta
merancang user interface.
4. Implementasi (Implementation)
Didalam tahapan implementasi ini, merupakan tahapan dimana
mengimplementasikan hasil rancangan pada tahap-tahap sebelumnya. Di fase ini kita
melakukan pengujian sistem desain yang telah dibuat. Uji coba sangat penting dalam
melakukan pembangunan disuatu sistem. Didalam implementasinya terdapat aktivitas
yakni pembuatan database sesuai skema rancangan, pembuatan aplikasi berdasarkan
desain sistem, serta pengujian dan perbaikan suatu aplikasi (debugging).
5. Pengujian (Testing)
Fase ini merupakan fase uji coba aplikasi sistem yang telah diimplementasikan.
Fase ini tidak boleh terlewatkan, karena fase ini merupakan evaluasi dari
implementasi sebelumnya. Dari fase inilah pengembang dapat menilai mana sistem
yang masih tergolong salah dan mana yang benar, sehingga pengembang dapat
memutuskan untuk kembali ketahap selanjutnya atau tidak.
6. Pengelolaan (Maintenance)
Selanjutnya setelah melewati tahap pengujian, terdapat tahap pemeliharaan atau
pengelolaan yang biasa kita kenal dengan maintenance. Maintenance itu sendiri
dilakukan oleh admin yang ditunjuk untuk mengelola sistem agar tetap mampu
beroperasi secara benar melalui kemampuan sistem dalam mengadaptasikan diri
sesuai dengan kebutuhan. Karena jika tidak ada maintenance, maka aplikasi yang
akan dijual ke client, mungkin akan terjadi masalah jika tidak ada yang melakukan
perawatan ataupun yang mengelola aplikasi itu tersebut.[3]
B. Prototyping Model
Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan
objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan
output nya, sementara pengembang tidak begitu yakin akan efesiensi algoritma,
adaptasi sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil.
Cakupan aktivitas dari prototyping model terdiri dari :
D. Spiral Model
Merupakan model proses perangkat lunak yang memadukan wujud pengulangan
dari model prototyping dengan aspek pengendalian dan sistematika dari linear
sequential model, dengan penambahan elemen baru yaitu analisis resiko. Model ini
memiliki 4 aktivitas penting, yaitu :
1. Perencanaan (Planning), penentuan tujuan, alternatif dan batasan
2. Analisis resiko (Risk Analysis), analisis alternatif dan identifikasi/pemecahan resiko
3. Rekayasa (Engineering), pengembangan level berikutnya dari produk
4. Evaluasi Pemakai (Customer Evaluation) penilaian terhadap hasil rekayasa
Bentuk spiral memberikan gambaran bahwa semakin besar iterasinya, maka
menunjukkan makin lengkap versi dari perangkat lunak yang dibuat. Selama awal
sirkuit, objektif, alternatif dan batasan didefinisikan serta resiko diidentifikasikan dan
dianalisa. Jika resiko menunjukkan ada ketidakpastian terhadap kebutuhan, maka
prototyping harus dibuat pada kuadran rekayasa. Simulasi dan pemodelan lain dapat
digunakan untuk mendefinisikan masalah dan memperbaiki kebutuhan.
Pelanggan mengevaluasi hasil rekayasa (kuadran evaluasi pelanggan) dan membuat
usulan untuk perbaikan. Berdasarkan masukan dari pelanggan, fase berikutnya adalah
perencanaan dan analisis resiko. Setelah analisis resiko selalu diperiksa apakah
proyek diteruskan atau tidak, jika resiko terlalu besar, maka proyek dapat dihentikan.
Model spiral ini adalah pendekatan yang paling realistic untuk sistem sekala besar.
Metode ini menggunakan pendekatan evolusioner, sehingga pelanggan dan
pengembang dapat mengerti dan bereaksi terhadap suatu resiko yang mungkin terjadi
Tiap tool ini ada tapi hanya untuk sauatu aplikasi khusus.
Menggunakan perangkat bantu (tools) yang akan membuat kode sumber secara
otomatis berdasarkan spesifikasi dari pengembang perangkat lunak. Hanya digunakan
untuk menggunakan perangkat lunak yang menggunakan bahasa khusus atau notasi
grafik yang diselesaikan dengan syarat yang dimengerti pemakai. Cakupan aktivitas
4GT :
2. Ciri-ciri
- Merancang berdasar modul
Modularisasi adalah proses yang membagi suatu sistem menjadi beberapa
modul yang dapat beroperasi secara independen
- Bekerja dengan pendekatan top-down
Dimulai dari level atas (secara global) kemudian diuraikan sampai tingkat
modul (rinci)
- Dilakukan secara iterasi
Dengan iterasi akan didapat hasil yang lebih baik, terlalu banyak iterasi juga
akan menurunkan hasilnya dan menunjukkan bahwa tahap sebelumnya tidak
dilakukan dengan baik
- Kegiatan dilakukan secara pararel
Pengembangan subsistem-subsistem dapat dilakukan secara pararel,
sehingga akan memperpendek waktu pengembangan sistem
3. Kelebihan
- Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen
proyek .
- SSAD merupakan pendekatan visual, ini membuat metode ini mudah
dimengerti oleh pengguna atau programmer.
- Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan
bagus untuk digunakan.
- SSAD merupakan metode yang diketahui secara umum pada berbagai
industry.
- SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang
dan layak untuk digunakan.
- SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
4. Kekurangan
- SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan
non-fungsional.
- Sedikit sekali manajemen langsung terkait dengan SSAD
- Prinsip dasar SSAD merupakan pengembangan non-terative (waterfall),
akan tetapi kebutuhan akan berubah pada setiap proses.
- Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem
telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan
(kebutuhan-kebutuhan baru)
- Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang
digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sliit
bagi pengguna untuk melakukan evaluasi.
- Pada SAAD sulit sekali untuk memutuskan ketika ingin menghentikan
dekomposisi dan mliai membuat sistem.
- SSAD tidak selalu memenuhi kebutuhan pengguna.
- SSAD tidak dapat memenuhi kebutuhan terkait bahasa
- pemrograman berorientasi obyek, karena metode ini memang didesain
untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada
obyek (Jadalowen, 2002)[7]
5. Tools yang digunakan
- Data Flow Diagram (DFD)
1. Pengertian
Data Flow Diagram atau sering disingkat DFD adalah perangkat-perangkat
analisis dan perancangan yang terstruktur sehingga memungkinkan peng-analis sistem
memahami sistem dan subsistem secara visual sebagai suatu rangkaian aliran data
yang saling berkaitan.
2. Fungsi
- DFD memiliki kegunaan untuk perancangan sebuah sistem yang memiliki
orientasi pada alur data. Sehingga dengan demikian mudah menggambarkan dan
menganalisanya.
- DFD dapat berguna sebagai perancangan sistem yang mudah dikomunikasikan
kepada pengguna.
- Membantu pengembang aplikasi dalam menggambarkan alur data secara jelas dan
rinci.
- Memudahkan user atau pengguna dalam memahami sebuah sistem.
- Membantu penerapan sistem yang lebih baik dan sempurna, sebab terdapat
rancanganya terlebih dahulu.
3. Simbol DFD
a. Kesatuan Luar/Terminator (External Entity)
Setiap sistem pasti mempunyai batas sistem (boundary) yang memisahkan suatu
sistem dengan lingkungan luarnya. Kesatuan luar (external entity) merupakan
kesatuan (entity) di lingkungan luar sistem yang berupa orang, organisasi atau sistem
lainnya yang berada di lingkungan luarnya yang akan membeikan input atau
menerima output dari sistem (Jogiyanto, 1989).
Suatu kesatuan luar dapat disimbolkan dengan suatu notasi kotak.
Arus data data dapat dapat berbentuk berbentuk sebagai sebagai berikut :
- Formulir atau atau dokumen dokumen yang yang digunakan digunakan
perusahaan perusahaan.
- Laporan tercetak tercetak yang yang dihasilkan dihasilkan sistem sistem
- Output dilayar komputer
- Masukan untuk komputer
- Komunikasi ucapan
- Surat atau memo
- Data yang dibaca atau atau direkam di file suatu isian yang yang dicatat pada
buku agenda
- Transmisi data dari suatu komputer ke komputer lain
c. Proses (Proccess)
Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin, atau
komputer dan hasil suatu arus data yang masuk ke dalam proses untuk dilakukan arus
data yang akan keluar dari prises. Suatu proses dapat ditunjukkan dengan simbol
lingkaran atau dengan simbol empat persegi panjang tegak dengan sudut-sudutnya
tumpul.
e. Kelebihan:
1. DFD membantu para analis sitem meringkas informasi tentang sistem,mengetahui
hubungan antar sub-subsistem, membantu perkembangan aplikasi secara efektif. DFD
tidak menunjukkan proses pengulangan (loop).
2. DFD berfungsi sebagai alat komunikasi yang baik antara pemakai dan analis sistem.
DFD tidak menunjukkan proses perhitungan.
3. DFD dapat menggambarkan sejumlah batasan otomasi (teknik untuk membuat
perangkat, proses, atau sistem agarberjalan secara otomatis) untuk pengembangan
alternatif sistem fisik.
f. Kekurangan:
1. Pengertian
Pendekatan berorientasi objek merupakan paradigma pemrograman yang
berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini
dibungkus dalam kelas-kelas atau objek-objek.
4. Kekurangan
- Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
- Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
- Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang
dibutuhkan sistem.
- Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan
anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis
pada fungsional sistem. [9]
5. Tools yang digunakan
- Unified Modeling Language (UML)
1. Pengertian
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan
grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan
pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-
Oriented).
2. Fungsi
- Dapat memberikan bahasa permodelan visual kepada pengguna dari berbagai
macam pemerograman maupun proses rekayasa.
- Dapat menyatukan praktek-praktek terbaik yang ada dalam permodelan.
- Dapat memberikan model yang siap untuk digunakan, merupakan bahasa
permodelan visual yang ekspresif untuk mengembangkan sistem dan untuk saling
menukar model secara mudah.
- Dapat berguna sebagai blue print, sebab sangat lengkap dan detail dalam
perancangannya yang nantinya akan diketahui informasi yang detail mengenai
koding suatu program.
- Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak hanya
digunakan untuk memodelkan perangkat lunak (software) saja.
- Dapat menciptakan suatu bahasa permodelan yang nantinya dapat dipergunakan
oleh manusia maupun oleh mesin.
3. Bagian Bagian dari UML
Bagian-bagian utama dari UML, antara lain:
a. View
View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang
berbeda. Ada beberapa jenis view dalam UML antara lain sebagai berikut:
- Use Case view
Ialah bentuk fungsionalitas dari sistem yang diinginkan oleh user (dalam hal ini
aktor). View ini digambarkan dalam user case diagram dan seringkali juga dibuat
dalam class diagram. View digunakan dalam pelanggan, perancang, pengembang
dan penguji sistem.
- Logical View
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class,
object dan ralationship) dan kolaborasi dinamis yang terjadi ketika object
mengirim pesan ke object lain dalam suatu fungsi tertentu. View digunakan untuk
perancang dan pengembang.
- Component view
Mendeskripsikan implementasi dan ketergantungan modul. Komponen ini ialah
tipe lainnya dari code module diperlihatkan dengan struktur dan
ketergantungannya juga alokasi sumber daya komponen dan informasi
administrasi lainnya. View digunakan untuk pengembang.
- Deployment View
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat dan bagaimana
hubungannya dengan lainnya. View digunakan untuk pengembang, pengintegrasi
dan penguji.
b. Diagram
Diagram ialah presentasi grafis dari sekumpulan elemen model yang disusun
untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram
merupakan bagian dari suatu view tertentu. Adapun jenis diagram antara lain:
- Use Case Diagram
Menggambarkan sejumlah external actors dan hubungannya ke use case yang
diberikan oleh sistem. Use case ialah deskripsi fungsi yang disediakan oleh sistem
dalam bentuk teks sebagai dokumentasi dari use case symbol namun dapat juga
dilakukan dalam activity diagrams. Use case digambarkan hanya dilihat dari luar
actor dan bukan fungsi yang ada di dalam sistem.
- Class Diagram
Menggambarkan struktur statis class di dalam sistem. Class merepresentasikan
sesuatu yang ditangani oleh sistem. Class dapat berhubungan dengan yang lain
melalui berbagai cara, yaitu: associated, dependent, specialed atau package.
- Statechart Diagram
Menggambarkan semua state yang dimiliki oleh suatu object dari suatu class dan
keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang
mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang
mempunyai sejumlah state yang terdefinisi dengan baik.
- Sequence Diagram
Menggambarkan semua state yang dimiliki oleh suatu object dari suatu class dan
keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang
mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang
mempunyai sejumlah state yang terdefinisi dengan baik.
- Collaboration Diagram
Menggambarkan kolaborasi dinamis seperti sequnce diagram. Dalam
menunjukkan pertukaran pesan, collaboration diagram menggambarkan object
dan hubungannya.
- Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk
mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga
digunakan untuk aktifitas lainnya seperti use case atau interaksi.
- Component Diagram
Menggambarkan alokasi semua kelas dan object kedalam komponen-komponen
dalam desain fisik sistem software. Diagram ini memperlihatka pengaturan dan
ketergantungan antara komponen-komponen software seperti source code, binary
code dan komponen yang tereksekusi.
- Deployment Diagram
Menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak sistem,
menunjukkan hubungan komputer dengan perangkat satu sama lain dan jenis
hubungannya.
Sumber
1. https://www.awalilmu.com/2018/12/pengertian-komputer-dan-komponennya-
lengkap.html?m=1
2. www.academia.edu
3. www.It.jurnal.com
4. www.academia.edu
5. Jauhari, Jaidan. ___.“Modul Rekayasa Perangkat Lunak.”__:__.pdf.
http://heckerlaye.files.wordpress.com/2009/11/modul-rekayasa-perangkat-lunak.pdf
6. Jauhari, Jaidan. ___.“Modul Rekayasa Perangkat Lunak.”__:__.pdf.
http://heckerlaye.files.wordpress.com/2009/11/modul-rekayasa-perangkat-lunak.pdf
7. http:/robby_kurniawan.staff.gunadarma.ac.id
8. https://cakhasan.com/contoh-dfd/
9. https://www.academia.edu/19262476/Perancangan Sistem Berorientasi Objek Dengan
UML
10. http://bailintin.blogger.mercubuana.ac.id/2017/09/15/pengertian-uml-dan-jenis-
jenisnya-serta-contoh-diagramnya/