Pengertian Rekayasa Perangkat Lunak
Pengertian Rekayasa Perangkat Lunak
1.
2.
3.
1.2.
1.3.
1.4.
ALGORITMA....................................................................................................... 12
2.1.
2.2.
Algoritma....................................................................................................... 14
2.3.
Flowchart....................................................................................................... 15
2.4.
Pseudo Code.................................................................................................... 17
MATEMATIKA DISKRIT....................................................................................... 20
3.1.
3.1.1.
3.2.
3.2.1.
Himpunan (Set).......................................................................................... 20
3.2.2.
Jenis-jenis himpunan.................................................................................... 21
yang lain. Bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi
waktu penyelesaian yang tepat dan Berbiaya rendah. Secara lebih khusus kita dapat menyatakan
tujuan RPL adalah sebagai berikut:
Menghasilkan perangkat lunak yang kinerjanya tinggi, andal serta tepat waktu.
1.3.
1.4.
Model Proses Software
A. Model Waterfall
Pada model Waterfall atau disebut model air terjun, ada beberapa fase yang harus kita
terapkan, yaitu:
1.
2.
3.
4.
5.
Dimana sebuah proses akan kembali ke state sebulumnya agar tidak ada perubahan setelah
proses menuju state di bawahnya sebab sangat sulit.
Setiap model pasti ada kekurangan dan kelebihan, dan berikut merupakan kekurangan
dan kelebihan dari model Waterfall :
4
Bisa digunakan jika suatu persyaratan untuk membuat suatu software sudah dipahami
dengan baik dan sudah lengkap semua persyaratan yang ada.
Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen
harus dilakukan pada tahap awal proses.
Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user).
Model air terjun harus digunakan hanya ketika persyaratan dipahami dengan baik.
B. Model RAD
Rapid Aplication Model (RAD) adalah sebuah proses perkembangan perangkat lunak
sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini
merupakan sebuah adaptasi kecepatan tinggi dari model sekuensial linier dimana
perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.
Kelebihan Penggunaan Model RAD
Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia yang
memadai untuk menciptakan jumlah tim RAD yang baik.
Tidak semua aplikasi sesuai untuk RAD. Bila sistem tidak dapat dimodulkan dengan
teratur, pembangunan komponen penting pada RAD akan menjadi sangat
problematis.
RAD menjadi tidak sesuai jika risiko teknisnya tinggi. Hal ini terjadi bila sebuah
aplikasi baru memforsir teknologi baru atau bila perangkat lunak baru membutuhkan
tingkat interoperabilitas yang tinggi dengan program komputer yang ada.
C. Model Prototyping
Keunggulan Prototyping:
1. user dapat berpartisipasi aktif
2. Penentuan kebutuhan lebih mudah diwujudkan
3. Mempersingkat waktu pengembangan SI
Kelemahan Prototyping :
7
D. Model Spiral
Model ini cukup baru ditemukan,yaitu tahun 1988 oleh Barry Boehm. Spiral adalah salah
satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model
prototyping dan digabungkan dengan aspek sistematis yang dikembangkan model waterfall.
Kelebihan model Spiral :
1.
Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat
lunak komputer.
2.
Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
3.
Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap
resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses .
8
Kelebihan Incremental :
Kebutuhan pengguna / customer dipenuhi pada setiap bagian yang selesai terlebih
dahulu
Resiko rendah
Kekurangan Incremental
Permasalahan
F.
Kemampuan aplikasi
Menggunakan
konsep object
oriented,
dengan
aktifitas
yang
berfokus
Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang
berorientasi objek dengan berfokus pada UML (Unified Modeling Language)
pengembangan perangkat lunak yang ringan dan termasuk salah satu agile
methods yang dipelopori oleh Kent Beck, Ron Jeffries, dan Ward Cunningham.
XP merupakan agile methods yang paling banyak digunakan dan menjadi sebuah
pendekatan yang sangat terkenal.
Sasaran XP adalah tim yang dibentuk berukuran antara kecil sampai medium saja,
tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk
menghadapirequirements yang tidak jelas maupun terjadinya perubahanperubahan requirements yang sangat
Keunggulan:
Meningkatkan
komunikasi
dan
sifat
saling
menghargai
antar
Developer harus selalu siap dengan perubahan karena perubahan akan selalu
diterima, atau dengan kata lain fleksibel. (Maintenance Phase)
Kelemahan :
11
Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran
untuk melakukan apa yang diperlukan hari itu juga).XP juga memiliki keunggulan
yang sekaligus menjadi kelemahannya, yaitu XP tidak memiliki dokumentasi
formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah
dokumentasi awal yang dilakukan oleh user.
H. Timeboxing Model
Dalam model timeboxing, unit dasar dari pembangunan adalah kotak waktu, yang adalah
jangka waktu yang tetap. Karena durasi adalah tetap, faktor kunci dalam memilih persyaratan
atau fitur yang akan dibangun di kotak waktu yang bisa masuk ke dalam waktu box. Hal ini
berbeda dengan pendekatan berulang biasa di mana fungsi dipilih dan kemudian waktu untuk
memberikan ditentukan. Perubahan timeboxing perspektif pembangunan dan membuat jadwal
non dinegosiasikan dan Komitmen prioritas tinggi.
2. ALGORITMA
2.1.
Konsep Algoritma Pemrograman
Langkah-langkah pembuatan suatu program. Terdapat beberapa langkah umum dalam
pembuatan suatuprogram yaitu:
1. Mendefinisikan masalah
2. Mencari solusinya
3. Menentukan algoritma
4. Menulis program
5. Menguji program
12
6. Mendokumentasikan program
7. Merawat program
Mendefinisikan masalah
Langkah yang pertama dilakukan adalah mendefinisikan permasalahan. langkah ini harus
dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan
output program.
Mencari solusi
Kemudian
permasalahan
yang
dihadapi.
Bila
untuk
mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian
masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modulmodul kecil tersebut digabungkan menjadi satu untuk dapat menentukan solusi.
Menentukan algoritma
Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang
sesuai dan efisien untuk masalah yang dihadapi.
Menulis program
Penulisan program bisa dilakukan dengan menggunakan bahasa pemrograman yang dikuasai
dan
memiliki
kompabilitas
dengan
perangkat
keras
yang
akan
selesai
dibuat,
pengujian
diperlukan
untuk
mengetahui
Merawat program
Program yang sudah selesai dibuat juga perlu dirawat dengan pendeteksian bug yang belum
diketahui
sebelumnya
juga
penambahan
fasilitas
baru
yang
mempermudah
pengguna program.
2.2.
Algoritma
Algoritma yaitu kumpulan langkah-langkah / steps untuk menyelesaikan masalah
Flowchart
Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah
System flowchart:
Urutan proses dalam system dengan menunjukkan alat media input, output serta
Simbol-simbol Flowchart
1. Flow Direction Symbols (simbol penghubung alur)
2. Processing Symbols (simbol proses)
3. Input-Output Symbols (simbol input-output)
Tabel Simbol-simbol Flowchart
Pembuatan Flowchart
1. Tidak ada kaidah yang baku
16
untuk memperjelas.
7. Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.
Aturan Penulisan Teks Algoritma
1. Judul Algoritma
Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang
algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang
dilakukan oleh algoritma tersebut.
2. Deklarasi
Bagian untuk mendefinisikan semua nama yang digunakan di dalam program.
Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3. Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis
dengan menggunakan notasi yang akan dijelaskan selanjutnya.
2.4.
Pseudo Code
Kode Pseudo (Pseudo-code) adalah sebuah kode yang digunakan untuk menulis sebuah
algoritma dengan cara yang bebas yang tidak terikat dengan bahasa pemrograman tertentu.
Pseudo-code berisikan langkah-langkah untuk menyelesaikan suatu permasalahan hanya saja
bentuknya sedikit berbeda dari algoritma.
Pseudo-code menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu
biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal dan juga
lebih ringkas dari pada algoritma.
Struktur Kode Pseudo (Pseudo-code)
Judul
17
Bentuk Pernyataan
X <---- Y
keterangan :
X : diberi nilai
Y : Memberi Nilai
Ex : Hasil <---- Bilangan Mod 2
2. Bentuk Percabangan
if kondisi then
pernyataan
if kondisi 1 then
pernyataan 1
else
pernyataan 2
if kondisi 1 then
pernyataan 1
else if kodisi 2 then
pernyataan 2
18
Bentuk Perulangan
for (persyaratan) do
pernyataan for
while (persyaratan)
pernyataan while
Repeat
pernyataan repeat
Until (persyratan)
3. MATEMATIKA DISKRIT
3.1.
Pengertian Matematika Diskrit
Matematika Diskrit merupakan cabang matematika yang mempelajari tentang obyekobyek diskrit.Diskrit itu sendiri adalah sejumlah berhingga elemen yang berbeda atau
elemen-elemen yang tidak bersambungan. Dimana data diskrit merupakan data yang
satuannya selalu bulat dalam bilangan asli, tidak berbentuk pecahan, Contoh dari data diskrit
misalnya manusia, pohon, bola dan lain-lain.
3.1.1. Tujuan belajar Matematika Diskrit :
1. Landasan berbagai bidang matematika: logika, teori bilangan, aljabar linier dan
abstrak,kombinatorika, teori graf, teori peluang (diskrit).
2. Landasan ilmu komputer: struktur data, algoritma, teori database, bahasa formal,
teori automata, teori compiler, sistem operasi, dan pengamanan komputer
(computer security).
3. Mempelajari latar belakang matematis yang diperlukan untuk memecahkan
masalah dalam riset operasi (optimasi diskrit), kimia, ilmu-ilmu teknik, biologi,
3.2.
telekomunikasi, dsb.
Materi Matematika Diskrit
3.2.1. Himpunan (Set)
Definisi : Himpunan adalah sekumpulan objek diskrit yang memiliki sifat
tertentu dan memiliki objek yang berbeda. Objek ini selanjutnya dinamakan
yaitu anggota atau elemen dari himpunan tersebut.
Notasi
Himpunan biasanya dinyatakan dengan huruf besar A,B,C,H,K dan
sebagainya. Untuk menyatakan suatu himpunan digunakan simbol {},
sementara
itu
untuk
melambangkan
anggota
himpunan
biasanya
20
dipenuhi oleh x}
Contoh Notasi Pembentuk Himpunan
Jika B himpunan bilangan bulat positif yang kurang dari 8
dinyatakan kedalam bentuk notasi :
B = {x | x p, x < 8}
B = {1,2,3,4,5,6,7}
3. Diagram Venn
Contoh Diagram Venn
Diket U = {1,2,3,4}
a = {1,3,4}
b = {1,2,3}
ab = (a ber irisan dengan b, merupakan a b dan b a)
3.2.2. Jenis-jenis himpunan
1. Himpunan Kosong
Definisi : Himpunan kosong adalah himpunan yang tidak memiliki satupun
elemen atau himpunan dengan kardinalitas = 0 (nol) atau {}.
Soal. a) Buktikan apakah semua nama hari yang berawal dengan angka
numerik itu himpunan kosong?
Penyelesaian:
a) Diketahui A = {1,2,3,4,5,6,7} H = {Senin, selasa, rabu , kamis,
jumat, sabtu, minggu},maka semua nama hari yang dimulai dengan angka
numerik adalah = 0 , jadi A atau A bukan himpunan kosong, karena
himpunan kosong itu jika A = 0 atau {}.
2. Himpunan Bagian
Definisi : Himpunan A dikatakan himpunan bagian (subset) dari himpunan B jika
dan hanya jika setiap elemen A merupakan elemen dari B. Dalam hal ini, B
dikatakan superset dari A.
di
baca
merupakan
himpunan
bagian
D.
22
DAFTAR PUSTAKA
Rekayasa Perangkat Lunak Roger S.Pressman, Ph.D.
Adiwijaya, Sekolah Tinggi Teknologi Telkom.
http://grupsmart.blogspot.co.id/2013/04/belajar-matematika-diskrit-himpunan.html
http://chacancirebon.blogspot.co.id/2012/11/materi-dasar-algoritma-n-pemograman.html
http://saepudin-ujangg.blogspot.co.id/2013/03/algoritma-pemrograman-tingkat-dasar.html
http://gunawan13.blog.upi.edu/2015/02/13/rekayasa-perangkat-lunak-pengertian-dan-modelproses-pengembangan/
http://www.markijar.com/2016/01/pengertian-tujuan-dan-ruang-lingkup.html
23