SlideShare ist ein Scribd-Unternehmen logo
1 von 19
BAB II
LANDASAN TEORI

2.1 Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak (software engineering) merupakan pembangunan
dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan
perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien
menggunakan mesin. Perangkat lunak banyak dibuat dan pada akhirnya sering
tidak digunakan karena tidak memenuhi kebutuhan pelanggan atau bahkan karena
masalah non-teknis seperti keenganan pemakai perangkat lunak (user) untuk
mengubah cara kerja dari manual ke otomatis, atau ketidakmampuan user
menggunakan komputer. Oleh karena itu rekayasa perangkat lunak dibutuhkan
agar perangkat lunak yang dibuat tidak hanya menjadi perangkat lunak yang tidak
terpakai.
Rekayasa perangkat lunak lebih fokus pada praktik pengembangan perangkat
lunak dan mengirimkan perangkat lunak yang bermanfaat kepada pelanggan
(costumer). Adapun ilmu komputer lebih fokus pada teori dan konsep dasar
perangkat lunak.

8
9

2.1.1. Pengertian Perangkat Lunak
Perangkat lunak adalah instruksi-instruksi (program komputer) yang ketika
dijalankan menyediakan fitur-fitur, fungsi-fungsi, dan kinerja yang dikehendaki,
struktur data yang memungkinkan program-program memanipulasi informasi, dan
informasi deskriptif pada salinan tercetak dan bentuk-bentuk maya yang
menggambarkan pengoperasian dan penggunaan program-program1. Perangkat
lunak memiliki bermacam-macam spesifikasi tergantung kebutuhan dan tujuannya
yang diinginkan oleh pembuat perangkat lunak tersebut. Sifat dari perangkat
lunak berbeda dengan perangkat keras, yaitu apabila perangkat keras merupakan
komponen yang nyata yang dapat dilihat dan disentuh oleh manusia, sedangkan
perangkat lunak tidak dapat disentuh dan dilihat secara fisik. Perangkat lunak
memang tidak tampak secara fisik dan tidak berwujud benda, namun dapat
dioperasikan oleh manusia2.
Karakterperangkat lunakadalah sebagai berikut3 :
1.

Perangkat lunak dibangun dengan software engineering bukan diproduksi
secara manufaktur atau pabrikan.

2

Perangkat lunak tidak pernah usang karena kecacatan karena perangkat
lunak dapat diperbaiki.

1.
2.
3.

Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 5
Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 1
Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 2
10

3.

Barang produksi pabrikan biasanya komponen barunya akan terus
diproduksi, sedangkan perangkat lunak biasanya terus diperbaiki seiring
bertambahnya kebutuhan.

Menurut Eddy Perangkat lunak mempunyai karakterisitik sebagai berikut4:
1.

Maintanability (dapat dirawat), perangkat lunak harus dapat memenuhi
perubahan kebutuhan.

2.

Dependability, perangkat lunak harus dapat dipercaya.

3.

Efisiensi, perangkat lunak harus efisien dalam penggunaan resource.

4.

Usability, perangkat lunak harus dapat digunakan sesuai dengan yang
direncanakan.

Perangkat lunak mempunyai mutu yang dipengaruhi oleh minimal tiga pihak
yaitu5 :
1.

Sponsor
Seseorang atau organisasi yang membiayai atau membayar selama
pengembangan

atau

perantaraan

sistem

software

dan

biasanya

mempunyai respon terhadap pengembangan sistem software itu sendiri
dengan melibatkan perhitungan biaya yang optimal.

4.
5.

Ian Sommerville, Software Engineering Ninth Edition, 2011
Eddy Prasetyo Nugroho et al, Rekayasa Perangkat Lunak, 2009
11

2.

User
Setiap orang yang secara langsung berinteraksi terhadap eksekusi
software, yang secara langsung memberi input ke komputer dan
menggunakan atau menikmati output dari komputer.

3.

Developer
Seseorang atau organisasi yang memberikan modifikasi dan memelihara
terhadap error serta mengembangkan sistem software tersebut.

Gambar 2.1 Gambar sisi pandang dari komponen kategori terhadap mutu
perangkat lunak
Masing-masing komponen kategori mempunyai sudut pandang tersendiri
terhadap mutu suatu perangkat lunak, tetapi kriteria tersebut tidak saling
independen.
12

Menurut Pressman, perangkat lunak memiliki beberapa kategori, yaitu :
1.

Perangkat lunak sistem, yaitu kumpulan program untuk melayani
program-program lain. Contoh : Operating system, compiler, text editor,
device driver.

2.

Perangkat lunak waktu nyata, yaitu perangkat lunak yang memonitor/
menganalisa/ mengendalikan kejadian dunia nyata. Contoh : komponen
perangkat lunak yang mengumpulkan informasi dan lingkungan
eksternal.

3.

Rekayasa Perangkat Lunak dan sains, yaitu perangkat lunak untuk
menyelesaikan persoalan rekayasa dan sains. Contoh : Perangkat Lunak
untuk biologi, CAD, simulasi sistem, dan sebagainya.

4.

Perangkat lunak tempelan, yaitu perangkat lunak yang berada di ROM
untuk mengendalikan produk consuer dan sistem industri. Perangkat
lunak ini mempunyai kemampuan kendali. Contoh : indikator dan
dashboard mobil, kendali digital bahan bakar, dan sebagainya.

5.

Perangkat lunak berbasis web, yaitu perangkat lunak yang berisi
instruksi-instruksi yang dapat dieksekusi (misalnya HTML, Java) dan
data (Hypertext, berbagai format visual studio dan audio) yang
menghasilkan halaman WEB, dan ditampilkan pada web browser.

6.

Perangkat lunak kecerdasan buatan, perangkat lunak (artificial
intelegence) menggunakan algoritma non-numerik untuk menyelesaikan
persoalan kompleks yang sulit dilakukan secara analisa sederhana.
Contoh : Sistem pakar, pengenalan pola (citra maupun audio) dan game.
13

2.2 Estimasi Biaya Dan Waktu Pembuatan Perangkat Lunak (Software)
Estimasi biaya adalah perhitungan kebutuhan biaya yang diperlukan untuk
menyelesaikan suatu kegiatan atau pekerjaan sesuai dengan persyatatan dan
kontrak.Proses estimasi biaya perangkat lunak (software) adalah seperangkat
teknik dan prosedur yang dipakai oleh suatu organisasi untuk mencapai perkiraan
biaya perangkat lunak (software)6.
Estimasi waktu adalah perhitungan kebutuhan waktu yang diperlukan untuk
menyelesaikan suatu kegiatan atau pekerjaan sesuai dengan persyaratan kontrak7.

2.3 Metrik Function Point (FP)
Metrik berdasarkan isitilah rekayasa perangkat lunak dapat didefinisikan
sebagai sebuah ukuran kuantitatif yang dimiliki oleh suatu sistem, komponen,atau
proses tertentu dengan atribut-atribut yang telah diberikan.
Metric function point diusulkan pertama kali oleh Albrecth yang digunakan
secara efektif untuk mengukur fungsionalitas yang disampaikan oleh sistem8.
Metrik function point (FP) digunakan secara efektif sebagai sarana untuk
mengukur fungsionalitas suatu sistem.

6.
7.
8.

http://yayuk05.wordpress.com/2007/11/27/estimasi-biaya-perangkat-lunak/
http://imamshofi.wordpress.com/2008/01/14/estimasi-perangkat-lunak-software-estimation/
Neelam Bawane nee’ Singhal and C.V. Srikrishma, A Case Study To Assess The Valid Of
function Points, 2008
14

Dengan menggunakan data historis, metric function point dapat dipakai untuk
memperkirakan biaya atau usaha yang diperlukan untuk melakukan perancangan,
penulisan kode program, dan meramalkan banyaknya baris kode program
(line of code) yang diterapkan dalam sistem yang akan diimplementasikan.
Pengukuran ditinjau dari segi pengguna, fungsional, atau sudut pandang9.
Function Point diturunkan menggunakan hubungan empiris yang didasarkan
pada ukuran terhitung (langsung) dari domain informasi perangkat lunak dan
pengukuran kualitatif dari kompleksitas perangkat lunak.
Nilai-nilai dari domain informasi didefinisikan sebagai berikut10:
1.

Banyaknya masukan eksternal (External Input [EI]) yaitu setiap masukan
eksternal berasal dari pengguna atau dikirim dari aplikasi lain dan
menyediakan data berorientasi aplikasi yang berbeda atau informasi
pengendalian. Masukan sering digunakan untuk memperbarui Internal
Logic File (ILF). Masukan harus dibedakan dari pernyataan yang akan
dihitung secara terpisah.

2.

Banyaknya keluaran eksternal (External Output[EO]) yaitu setiap
keluaran eksternal diturunkan dari data aplikasi yang memberikan
informasi kepada pengguna. Keluaran eksternal mengacu pada laporan,
layar, pesan kesalahan, dan sebagainya. Masing-masing pokok data
dalam sebuah laporan tidak dihitung secara terpisah.

9.

Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728
10. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728
15

3.

Banyaknya inquiry eksternal (External Inquiries[EQ]) yaitu sebuah
inquiry eksternal yang didefinisikan sebagai masukan online yang
menghasilkan respons perangkat lunak seketika dalam bentuk keluaran
online yang sering kali diperoleh dari sebuah internal logical file (ILF).

4.

Banyaknya berkas-berkas logical internal (Internal Logical File [ILF])
yaitu setiap berkas logika internal merupakan pengelompokan data secara
logis yang berada dalam batasan aplikasi dan dipelihara melalui
masukan-masukan eksternal.

5.

Banyaknya berkas antarmuka eksternal (External Interface File [EIF])
yaitu setiap berkas antarmuka eksternal merupakan pengelompokan data
logis yang berada diluar aplikasi, tetapi menyediakan informasi yang
dapat digunakan oleh aplikasi.

Metode

Function

Point

memiliki

sebuah

nilai

kompleksitas

yang

diasosiasikan pada setiap perhitungan.
Untuk menghitung function point, digunakan persamaan berikut11 :
....(2.1.)
FP = UFP x CAF

.....(2.2.)

Hitungan Total (Total Count) adalah jumlah dari semua masukan function
point (FP) dan UFP (Unadjusted Function Points) dam Fi (i = 1 sampai 14) adalah
faktor penyesuaian nilai CAF (Complexity Adjustment Factor) berdasarkan dari
pertanyaan-pertanyaan berikut ini12:
11. T.S Shiny Angel et al., Limitations Of Function Point Analysis in E-Learning System
Estimation
12. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728
16

1.

Apakah sistem memerlukan backup dan recovery yang handal ?

2.

Apakah diperlukan komunikasi data khusus untuk memindahkan
informasi dari dan ke aplikasi tersebut ?

3.

Adakah fungsi-fungsi proses terdistribusi ?

4.

Apakah performanya kritis ?

5.

Apakah sistem berjalan dalam lingkungan operasional lama yang sudah
ada ?

6.

Apakah sistem memerlukan masukan data online ?

7.

Apakah masukan data online tersebut memerlukan transaksi masukan
yang dibuat dengan menggunakan banyak layar atau operasi ?

8.

Apakah ILF (internal logic file) atau banyaknya berkas-berkas logical
internalnya diperbarui secara online ?

9.

Apakah masukan, keluaran, berkas, atau inquiry-nya kompleks ?

10. Apakah proses internalnya kompleks ?
11. Apakah kode dirancang untuk dapat digunakan kembali ?
12. Apakah konversi dan instalasi tercakup di dalam perancangan ?
13. Apakah sistem dirancang untuk banyak instalasi di organisasi yang
berbeda-beda ?
14. Apakah sistem dirancang untuk memfasilitasi perubahan dan kemudahan
penggunaan oleh pengguna ?
17

Elemen penentuan kompleksitas dapat dinilai berdasarkan tabel rangking EI
(External Input), EO (External Output), EQ (External Inquiries), ILF (Internal
Logical File), dan EIF (External Interface File) yang dapat dilihat dalam tabel di
bawah ini :
Tabel 2.1 Tabel banyaknya masukan eksternal (External Input[EI])

File Type Referenced
(FTR)

Data Elements
1-4

5-15

>15

0-1

Low

Low

2

Low

Average High

3 or more

Average High

Average
High

Dengan FTR (File Type Reference) adalah sebuah file yang ditunjuk oleh
transaksi, sedangkan data elements adalah field yang tidak berulang. Jika FTR
atau data elements yang sama digunakan baik pada sisi input atau output maka
hanya dihitung sekali.
Tabel 2.2 Tabel banyaknya keluaran eksternal (External Output [EO]) dan
tabel banyaknya inquiry eksternal (External Inquiries [EQ])
File Type Referenced
(FTR)
0-1
2-3
>3

Data Elements
1-5
6-19
>19
Low
Low
Average
Low
Average High
Average High
High

Dengan FTR (File Type Reference) adalah sebuah file yang ditunjuk oleh
transaksi, sedangkan data elements adalah field yang tidak berulang. Jika FTR
atau data elements yang sama digunakan baik pada sisi input atau output maka
hanya dihitung sekali.
18

Tabel 2.3 Tabel banyaknya berkas logical internal (Internal Logical File
[ILF]) dan banyaknya berkas antarmuka eksternal (Eksternal Interface File[EIF])
Record Element Types
(RET)
0-1
2-5
>5

Data Elements
1-19
20-50
>50
Low
Low
Average
Low
Average High
Average High
High

Record element Types (RET) merupakan sub kelompok data didalam sebuah
logical file. Contoh : Seorang pelanggan memiliki 2 RET yaitu alamat dan nomor
telepon.
Dengan hitungan total (total count) adalah jumlah masukan dari UFP yang
diperoleh dari gambar dibawah ini13:

Gambar 2.2. Menghitung UFP (Unadjusted Function Points)
Setiap pertanyaan akan dijawab menggunakan skala yang dimulai dari :

13. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728
19

a.

0 = Tidak Penting

b.

1 = Incidental

c.

2 = Sedang

d.

3 = Rata-Rata

e.

4 = Signifikan

f.

5 = Penting

Nilai konstanta pada persamaan (2.1) dan faktor pembobotan yang diterapkan
pada perhitungan domain informasi diperoleh secara empiris.
Setelah setiap karakterisitik diberi bobot masing-masing, kemudian bobotbobot dari setiap karakteristik dijumlahkan maka kita akan mendapatkan nilai
Fi14. Setelah mendapatkan nilai Fi maka selanjutnya akan dihitung nilai FP
dengan rumus persamaan (2.2). setelah mendapatkan nilai FP, maka dapat
menggunakannya untuk meng-estimasi harga pembuatan perangkat lunak dengan
terlebih dahulu mendapatkan data dari software house agar dapat dihitung besar
estimasi harga.
Terdapat beberapa kelebihan dari metode Function Point :
1.

Mudah diukur

2.

Mengukur efisiensi. Efisiensi berkaitan dengan waktu yang digunakan
untuk mengestimasi suatu harga pembuatan perangkat lunak.

14. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728
20

Kekurangan Function point sebagai berikut :
1.

Hasil perhitungan FP tergantun pada manual penggunaan function point
yang digunakan.

2.

Banyaknya evaluasi yang dibutuhkan berdampak pada hasil yang terlalu
subyektif

3.

Perhitungan FP dilakukan hanya didasarkan pada sistem pemrosesan
data. Padahal aspek-aspek lain dari estimasi harga sendiri juga ikut
berpengaruh terhadap hasil akhir estimasi.

2.4 Java
Bahasa Java merupakan karya Sun Microsystem Inc. Rilis resmi level beta
dilakukan pada November 1995. Java adalah bahasa yang dapat dijalankan di
berbagai plaftorm, di beragam lingkunan : internet, consumer electronic products,
dan computer applications. Perkembangan gaya pemrograman mencapai gaya
pemrograman orientasi objek setelah era pemrograman terstruktur. Pemrograman
orientasi objek menggantikan pemrograman terstruktur karena mempunyai
banyak keunggulan dalam menangani proyek yang luar biasa kompleks.
Pemrograman menggunakan bahasa orientasi objek menawarkan fleksibilitas dan
kemudahan perawatan dibanding bahasa C atau C++, java lebih memberi
kemudahan antara lain15 :

15. Dr. Bambang Hariyanto, Esensi-esensi Bahasa Pemrograman Java, 2011
21

1.

Java dilengkapi garbage collector yang bertugas mendealokasi memori
yang tidak diperlukan.

2.

Java menerapkan array sebenarnya, menghilangkan keperluan aritmatika
pointer yang berbahaya dan berpeluang besar mengakibatkan kesalahan.

3.

Menghilangkan pewarisan jamak (multiple inheritence) diganti fasilitas
interface. Interface member banyak manfaat antara lain untuk pewarisan
jamak tanpa dibebani kompleksitas yang muncul dari pengelolaan hirarki
pewarisan jamak.

Fitur penting bahasa Java adalah bahasa ditunjukan untuk membuat beragam
jenis aplikasi secara beragam, yaitu :
1.

Program di lingkungan web browser
a. Applet, program ini dieksekusi di web browser dari halaman
webyang memuat Java Applet. Web Browser kemudian
menugaskan

Java

Interpreter

(JRE-Java

Runtime

Environtment) untuk mengeksekusi Java Applet yang diterima.
2.

Program di lingkungan web sever
a.

Java Server Pages, sebagai web scripting serupa ASP dan PHP.
Program ditempelkan dihalaman HTML. HTML ini tidak
langsung dikirim ke web browser tetapi diolah terlebih dahulu
oleh web server dan hasilnya berupa dokumen HTML dikirim
dari web server ke web browser.
22

b.

Java Servlet, komponen ini adalah semacam modul di web
server. JSP akan diterjemahkan menjadi

servlet agar

mempercepat proses eksekusi.
3.

Java merupakan pilihan bagus untuk membuat applet, sekaligus sebagai
bahasa

bermaksud

umum

(general-purpose

language)

untuk

mengembangkan semua jenis program yang dapat dijalankan di
komputer, sistem operasi apapun asalkan terdapat Java Interpreter di
platform tersebut.
4.

Program mandiri sebagai pustaka komponen untuk pengembangan
aplikasi. Java menyediakan bean untuk mendukung RAD (Rapid
Application Development) yang berbasis visual, seperti visual vasic atau
Borland Delphi.

5.

Bahasa untuk pengembangan aplikasi objek-objek tersebar skala
enterprise. Terdapat teknologi Java untuk mengembangkan komponen
yaitu EJB (Enterprise Java Beans) yang berjalan di application server.

2.5 Flowchart(Diagram Alir)
Flowchart adalah penyajian sistematis tentang proses dan logika dari kegiatan
penanganan informasi dari langkah-langkah dan urut-urutan prosedur dari suatu
program16. Pedomandalam membuat flowchart sebagai berikut :

16. http://ilmukomputer.org/wp-content/uploads/2009/06/anharku-flowchart.pdfdiakses pada
tanggal 1 November 2013
23

1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke
kanan.
2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan
definisi ini harus dimengerti oleh pembacanya.
3. Setiap langkah dari aktivitas harus berada pada urutan yang benar.
4. Menggunakan simbol-simbol flowchart yang standart.
Simbol-Simbol flowchart yang sandart :

Gambar 2.3 Simbol-Simbol Dasar Flowchart
24

2.6 Diagram Konteks
Diagram konteks merupakan diagram yang menggambarkan kondisi sistem
yang ada, baik input maupun output serta menyertakan terminator yang terlibat
dalam penggunaan sistem. Diagram ini akan memberi gambaran tentang
keseluruhan sistem. Sistem dapat dibatasi oleh boundary (dapat digambarkan
dengan garis putus). Dalam diagram konteks hanya ada satu proses, tidak boleh
ada store dalam diagram konteks. Diagram konteks berisi gambaran umum
(secara garis besar) mengenai sistem yang akan dibuat17.

2.7 Diagram Berjenjang
Diagram berjenjang adalah alat dokumentasi program yang berbasis pada
fungsi, yaitu tiap-tiap modul didalam sistem digambarkan oleh fungsi utamanya.
Pada diagram berjenjang, seluruh proses yang terdapat pada aplikasi tertentu
ditampilkan dengan jelas dan terstruktur18.

2.8 Data Flow Diagram (DFD)
Data Flow Diagram (DFD) dapat digunakan untuk merepresentasikan sebuah
sistem atau perangkat lunak pada beberapa level abstraksi. DFD dapat dibagi
menjadi beberapa level yang lebih detail untuk merepresentasikan aliran info19.
17. http://kapanpunbisa.blogspot.com/2013/05/pengertian-diagram-konteks.html
18. http://duniadatabase.blogspot.com/2012/05/bab-iii-analisa-dan-desain-3.html?m=1
19. Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 70
25

Simbol-simbol pada data flow diagram seperti dibawah ini :

Gambar 2.4 Simbol-Simbol pada Data Flow Diagram
a.

Kesatuan luar (external entity)
Sesuatu yang berada diluat sistem, tetapi memberikan data kedalam
sistem atau memberikan data dari sistem, disimbolkan dengan suatu
kotak notasi.

b.

Arus Data (data flow)
Arus data merupakan tempat mendapatkan informasi dan digambarkan
dengan garis yang menghubungkan komponen dari sistem. Arus data
ditunjukkan dengan arus panah dan garis diberi nama atas arus data yang
mengalir. Arus data ini mengalir di antara proses, data store dan
menunjukkan arus data dari data yang berupa masukan atau hasil proses
sistem.
26

c.

Proses (Process)
Proses merupakan apa yang dikerjakan oleh sistem, proses dapat
mengolah data atau aliran data masuk menjadi aliran data keluar. Proses
berfungsi mentransformasikan satu atau beberapa data masukan menjadi
satu atau beberapa data keluaran sesuai dengan spesifikasi yang
diinginkan.

2.9 Conceptual Data Modelling (CDM)
Conceptual data modelling (CDM) merupakan konsep yang berkaitan dengan
pandangan pemakai terhadap data yang disimpan dalam basis data. CDM dibuat
sudah dalam bentuk tabel-tabel tanpa tipe data yang menggambarkan relasi antar
tabel untuk keperluan implementasi ke basis data20.

2.10 Physical Data Modelling (PDM)
Physical data modeling (PDM) adalah model yang menggunakan sejumlah
tabel untuk menggambarkan data serta hubungan antar data. Setiap tabel
mempunyai sejumlah kolom dimana setiap kolom memiliki nama yang unik
beserta tipe datanya. PDM merupakan konsep yang menerangkan detail dari
bagaimana data disimpan didalam basis data. PDM sudah merupakan bentuk fisik
perancangan basis data yang sudah siap di implementasikan kedalam DBMS21.

20. Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 59
21. Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 63

Weitere ähnliche Inhalte

Was ist angesagt?

REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)Listyowatik (Yanie)
 
Rpl 010 - perancangan arsitektural
Rpl   010 - perancangan arsitekturalRpl   010 - perancangan arsitektural
Rpl 010 - perancangan arsitekturalFebriyani Syafri
 
Pengenalan Teknologi Komputer
Pengenalan Teknologi KomputerPengenalan Teknologi Komputer
Pengenalan Teknologi Komputerseolangit4
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakLusiana Diyan
 
LANDASAN TEORI
LANDASAN TEORILANDASAN TEORI
LANDASAN TEORIBruce Lee
 
Sistem penyelesaian masalah IT
Sistem penyelesaian masalah ITSistem penyelesaian masalah IT
Sistem penyelesaian masalah ITMuhammadRyandaNM
 
Iterasi, inkremen dan validasi proses
Iterasi, inkremen dan validasi prosesIterasi, inkremen dan validasi proses
Iterasi, inkremen dan validasi prosesarfianti
 
Pengantar rpl
Pengantar rplPengantar rpl
Pengantar rplarfianti
 
Contoh Project Metode Penelitian
Contoh Project Metode PenelitianContoh Project Metode Penelitian
Contoh Project Metode PenelitianNataniel Papalangi
 
Arsitektur desain data pada RPL
Arsitektur desain data pada RPLArsitektur desain data pada RPL
Arsitektur desain data pada RPLari alfian
 
Format Pengabdian Masyarakat
Format Pengabdian MasyarakatFormat Pengabdian Masyarakat
Format Pengabdian MasyarakatRatzman III
 
Rekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsRekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsListyowatik (Yanie)
 
Rpl 7 ppl dan metrik proyek (2)
Rpl 7 ppl dan metrik proyek (2)Rpl 7 ppl dan metrik proyek (2)
Rpl 7 ppl dan metrik proyek (2)Komang Yogi
 

Was ist angesagt? (20)

REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
 
Pengenalan RPL
Pengenalan RPLPengenalan RPL
Pengenalan RPL
 
Rpl 010 - perancangan arsitektural
Rpl   010 - perancangan arsitekturalRpl   010 - perancangan arsitektural
Rpl 010 - perancangan arsitektural
 
Pengenalan Teknologi Komputer
Pengenalan Teknologi KomputerPengenalan Teknologi Komputer
Pengenalan Teknologi Komputer
 
Produk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat LunakProduk Rekasaya Perangkat Lunak
Produk Rekasaya Perangkat Lunak
 
Software modul 4
Software modul 4Software modul 4
Software modul 4
 
LANDASAN TEORI
LANDASAN TEORILANDASAN TEORI
LANDASAN TEORI
 
Sistem penyelesaian masalah IT
Sistem penyelesaian masalah ITSistem penyelesaian masalah IT
Sistem penyelesaian masalah IT
 
Iterasi, inkremen dan validasi proses
Iterasi, inkremen dan validasi prosesIterasi, inkremen dan validasi proses
Iterasi, inkremen dan validasi proses
 
Pengantar rpl
Pengantar rplPengantar rpl
Pengantar rpl
 
Pengenalan RPL
Pengenalan RPLPengenalan RPL
Pengenalan RPL
 
Rpl 015 - interface user
Rpl   015 - interface userRpl   015 - interface user
Rpl 015 - interface user
 
Contoh Project Metode Penelitian
Contoh Project Metode PenelitianContoh Project Metode Penelitian
Contoh Project Metode Penelitian
 
ETS - KAK
ETS - KAKETS - KAK
ETS - KAK
 
Arsitektur desain data pada RPL
Arsitektur desain data pada RPLArsitektur desain data pada RPL
Arsitektur desain data pada RPL
 
Format Pengabdian Masyarakat
Format Pengabdian MasyarakatFormat Pengabdian Masyarakat
Format Pengabdian Masyarakat
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Rekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentalsRekayasa Perangkat Lunak software design fundamentals
Rekayasa Perangkat Lunak software design fundamentals
 
Rpl 7 ppl dan metrik proyek (2)
Rpl 7 ppl dan metrik proyek (2)Rpl 7 ppl dan metrik proyek (2)
Rpl 7 ppl dan metrik proyek (2)
 
Tugas RPL SRS Erwan
Tugas RPL SRS ErwanTugas RPL SRS Erwan
Tugas RPL SRS Erwan
 

Andere mochten auch (13)

Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
 
Ir 02
Ir   02Ir   02
Ir 02
 
Ir 01
Ir   01Ir   01
Ir 01
 
Ch8
Ch8Ch8
Ch8
 
Ir 09
Ir   09Ir   09
Ir 09
 
Ir 03
Ir   03Ir   03
Ir 03
 
Ir 08
Ir   08Ir   08
Ir 08
 
Ch2020
Ch2020Ch2020
Ch2020
 
Ch7
Ch7Ch7
Ch7
 
Ai 02 intelligent_agents(1)
Ai 02 intelligent_agents(1)Ai 02 intelligent_agents(1)
Ai 02 intelligent_agents(1)
 
Artifical intelligance
Artifical intelliganceArtifical intelligance
Artifical intelligance
 
Ch8-Software Engineering 9
Ch8-Software Engineering 9Ch8-Software Engineering 9
Ch8-Software Engineering 9
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 

Ähnlich wie Bab ii

Materi rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunakMateri rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunakoktafianoandreas
 
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza SafitriPerangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza SafitriSandra Vio
 
materi_matrikulasi_2018_pertemuan_2.pptx
materi_matrikulasi_2018_pertemuan_2.pptxmateri_matrikulasi_2018_pertemuan_2.pptx
materi_matrikulasi_2018_pertemuan_2.pptxLuiFirdayanti
 
Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakMateri Kuliah Online
 
4. Materi ajar System Development Tools.pptx
4. Materi ajar System Development Tools.pptx4. Materi ajar System Development Tools.pptx
4. Materi ajar System Development Tools.pptxcastakaagussugianto
 
Siti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsiSiti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsismaryamalz
 
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptxRPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptxdiandra63
 
TUGAS SIM, ACHMAT NURFAUZI, YANANTO MIHADI PUTRA S.E., M.Si., CMA, SUMBER DAY...
TUGAS SIM, ACHMAT NURFAUZI, YANANTO MIHADI PUTRA S.E., M.Si., CMA, SUMBER DAY...TUGAS SIM, ACHMAT NURFAUZI, YANANTO MIHADI PUTRA S.E., M.Si., CMA, SUMBER DAY...
TUGAS SIM, ACHMAT NURFAUZI, YANANTO MIHADI PUTRA S.E., M.Si., CMA, SUMBER DAY...AchmatNurfauzi
 
Tugas teknologi informasi
Tugas teknologi informasiTugas teknologi informasi
Tugas teknologi informasiFajarTommy
 
Pertemuan 3 Software (Perangkat Lunak)
Pertemuan 3 Software (Perangkat Lunak)Pertemuan 3 Software (Perangkat Lunak)
Pertemuan 3 Software (Perangkat Lunak)formatik
 
Tentang Software
Tentang SoftwareTentang Software
Tentang SoftwareYuntikaa
 

Ähnlich wie Bab ii (20)

materi 2..pptx
materi 2..pptxmateri 2..pptx
materi 2..pptx
 
Materi rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunakMateri rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunak
 
Konsep Rekayasa Perangakat Lunak
Konsep Rekayasa Perangakat LunakKonsep Rekayasa Perangakat Lunak
Konsep Rekayasa Perangakat Lunak
 
Pengabdian 2
Pengabdian 2Pengabdian 2
Pengabdian 2
 
materi lanjutan.ppt
materi lanjutan.pptmateri lanjutan.ppt
materi lanjutan.ppt
 
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza SafitriPerangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
Perangkat lunak dan rekayasa perangkat lunak - Andini Izza Safitri
 
materi_matrikulasi_2018_pertemuan_2.pptx
materi_matrikulasi_2018_pertemuan_2.pptxmateri_matrikulasi_2018_pertemuan_2.pptx
materi_matrikulasi_2018_pertemuan_2.pptx
 
Rpl upload #2
Rpl upload #2Rpl upload #2
Rpl upload #2
 
Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat Lunak
 
SOFTWERE
SOFTWERESOFTWERE
SOFTWERE
 
RPL T01 120103256 listyowatik
RPL T01 120103256 listyowatikRPL T01 120103256 listyowatik
RPL T01 120103256 listyowatik
 
Software
SoftwareSoftware
Software
 
4. Materi ajar System Development Tools.pptx
4. Materi ajar System Development Tools.pptx4. Materi ajar System Development Tools.pptx
4. Materi ajar System Development Tools.pptx
 
Siti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsiSiti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsi
 
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptxRPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
RPL 2 - Rekayasa Perangkat Lunak_Depi.pptx
 
TUGAS SIM, ACHMAT NURFAUZI, YANANTO MIHADI PUTRA S.E., M.Si., CMA, SUMBER DAY...
TUGAS SIM, ACHMAT NURFAUZI, YANANTO MIHADI PUTRA S.E., M.Si., CMA, SUMBER DAY...TUGAS SIM, ACHMAT NURFAUZI, YANANTO MIHADI PUTRA S.E., M.Si., CMA, SUMBER DAY...
TUGAS SIM, ACHMAT NURFAUZI, YANANTO MIHADI PUTRA S.E., M.Si., CMA, SUMBER DAY...
 
Tugas teknologi informasi
Tugas teknologi informasiTugas teknologi informasi
Tugas teknologi informasi
 
Rekayasa perangkat lunak
Rekayasa perangkat lunakRekayasa perangkat lunak
Rekayasa perangkat lunak
 
Pertemuan 3 Software (Perangkat Lunak)
Pertemuan 3 Software (Perangkat Lunak)Pertemuan 3 Software (Perangkat Lunak)
Pertemuan 3 Software (Perangkat Lunak)
 
Tentang Software
Tentang SoftwareTentang Software
Tentang Software
 

Bab ii

  • 1. BAB II LANDASAN TEORI 2.1 Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak (software engineering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin. Perangkat lunak banyak dibuat dan pada akhirnya sering tidak digunakan karena tidak memenuhi kebutuhan pelanggan atau bahkan karena masalah non-teknis seperti keenganan pemakai perangkat lunak (user) untuk mengubah cara kerja dari manual ke otomatis, atau ketidakmampuan user menggunakan komputer. Oleh karena itu rekayasa perangkat lunak dibutuhkan agar perangkat lunak yang dibuat tidak hanya menjadi perangkat lunak yang tidak terpakai. Rekayasa perangkat lunak lebih fokus pada praktik pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat kepada pelanggan (costumer). Adapun ilmu komputer lebih fokus pada teori dan konsep dasar perangkat lunak. 8
  • 2. 9 2.1.1. Pengertian Perangkat Lunak Perangkat lunak adalah instruksi-instruksi (program komputer) yang ketika dijalankan menyediakan fitur-fitur, fungsi-fungsi, dan kinerja yang dikehendaki, struktur data yang memungkinkan program-program memanipulasi informasi, dan informasi deskriptif pada salinan tercetak dan bentuk-bentuk maya yang menggambarkan pengoperasian dan penggunaan program-program1. Perangkat lunak memiliki bermacam-macam spesifikasi tergantung kebutuhan dan tujuannya yang diinginkan oleh pembuat perangkat lunak tersebut. Sifat dari perangkat lunak berbeda dengan perangkat keras, yaitu apabila perangkat keras merupakan komponen yang nyata yang dapat dilihat dan disentuh oleh manusia, sedangkan perangkat lunak tidak dapat disentuh dan dilihat secara fisik. Perangkat lunak memang tidak tampak secara fisik dan tidak berwujud benda, namun dapat dioperasikan oleh manusia2. Karakterperangkat lunakadalah sebagai berikut3 : 1. Perangkat lunak dibangun dengan software engineering bukan diproduksi secara manufaktur atau pabrikan. 2 Perangkat lunak tidak pernah usang karena kecacatan karena perangkat lunak dapat diperbaiki. 1. 2. 3. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 5 Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 1 Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 2
  • 3. 10 3. Barang produksi pabrikan biasanya komponen barunya akan terus diproduksi, sedangkan perangkat lunak biasanya terus diperbaiki seiring bertambahnya kebutuhan. Menurut Eddy Perangkat lunak mempunyai karakterisitik sebagai berikut4: 1. Maintanability (dapat dirawat), perangkat lunak harus dapat memenuhi perubahan kebutuhan. 2. Dependability, perangkat lunak harus dapat dipercaya. 3. Efisiensi, perangkat lunak harus efisien dalam penggunaan resource. 4. Usability, perangkat lunak harus dapat digunakan sesuai dengan yang direncanakan. Perangkat lunak mempunyai mutu yang dipengaruhi oleh minimal tiga pihak yaitu5 : 1. Sponsor Seseorang atau organisasi yang membiayai atau membayar selama pengembangan atau perantaraan sistem software dan biasanya mempunyai respon terhadap pengembangan sistem software itu sendiri dengan melibatkan perhitungan biaya yang optimal. 4. 5. Ian Sommerville, Software Engineering Ninth Edition, 2011 Eddy Prasetyo Nugroho et al, Rekayasa Perangkat Lunak, 2009
  • 4. 11 2. User Setiap orang yang secara langsung berinteraksi terhadap eksekusi software, yang secara langsung memberi input ke komputer dan menggunakan atau menikmati output dari komputer. 3. Developer Seseorang atau organisasi yang memberikan modifikasi dan memelihara terhadap error serta mengembangkan sistem software tersebut. Gambar 2.1 Gambar sisi pandang dari komponen kategori terhadap mutu perangkat lunak Masing-masing komponen kategori mempunyai sudut pandang tersendiri terhadap mutu suatu perangkat lunak, tetapi kriteria tersebut tidak saling independen.
  • 5. 12 Menurut Pressman, perangkat lunak memiliki beberapa kategori, yaitu : 1. Perangkat lunak sistem, yaitu kumpulan program untuk melayani program-program lain. Contoh : Operating system, compiler, text editor, device driver. 2. Perangkat lunak waktu nyata, yaitu perangkat lunak yang memonitor/ menganalisa/ mengendalikan kejadian dunia nyata. Contoh : komponen perangkat lunak yang mengumpulkan informasi dan lingkungan eksternal. 3. Rekayasa Perangkat Lunak dan sains, yaitu perangkat lunak untuk menyelesaikan persoalan rekayasa dan sains. Contoh : Perangkat Lunak untuk biologi, CAD, simulasi sistem, dan sebagainya. 4. Perangkat lunak tempelan, yaitu perangkat lunak yang berada di ROM untuk mengendalikan produk consuer dan sistem industri. Perangkat lunak ini mempunyai kemampuan kendali. Contoh : indikator dan dashboard mobil, kendali digital bahan bakar, dan sebagainya. 5. Perangkat lunak berbasis web, yaitu perangkat lunak yang berisi instruksi-instruksi yang dapat dieksekusi (misalnya HTML, Java) dan data (Hypertext, berbagai format visual studio dan audio) yang menghasilkan halaman WEB, dan ditampilkan pada web browser. 6. Perangkat lunak kecerdasan buatan, perangkat lunak (artificial intelegence) menggunakan algoritma non-numerik untuk menyelesaikan persoalan kompleks yang sulit dilakukan secara analisa sederhana. Contoh : Sistem pakar, pengenalan pola (citra maupun audio) dan game.
  • 6. 13 2.2 Estimasi Biaya Dan Waktu Pembuatan Perangkat Lunak (Software) Estimasi biaya adalah perhitungan kebutuhan biaya yang diperlukan untuk menyelesaikan suatu kegiatan atau pekerjaan sesuai dengan persyatatan dan kontrak.Proses estimasi biaya perangkat lunak (software) adalah seperangkat teknik dan prosedur yang dipakai oleh suatu organisasi untuk mencapai perkiraan biaya perangkat lunak (software)6. Estimasi waktu adalah perhitungan kebutuhan waktu yang diperlukan untuk menyelesaikan suatu kegiatan atau pekerjaan sesuai dengan persyaratan kontrak7. 2.3 Metrik Function Point (FP) Metrik berdasarkan isitilah rekayasa perangkat lunak dapat didefinisikan sebagai sebuah ukuran kuantitatif yang dimiliki oleh suatu sistem, komponen,atau proses tertentu dengan atribut-atribut yang telah diberikan. Metric function point diusulkan pertama kali oleh Albrecth yang digunakan secara efektif untuk mengukur fungsionalitas yang disampaikan oleh sistem8. Metrik function point (FP) digunakan secara efektif sebagai sarana untuk mengukur fungsionalitas suatu sistem. 6. 7. 8. http://yayuk05.wordpress.com/2007/11/27/estimasi-biaya-perangkat-lunak/ http://imamshofi.wordpress.com/2008/01/14/estimasi-perangkat-lunak-software-estimation/ Neelam Bawane nee’ Singhal and C.V. Srikrishma, A Case Study To Assess The Valid Of function Points, 2008
  • 7. 14 Dengan menggunakan data historis, metric function point dapat dipakai untuk memperkirakan biaya atau usaha yang diperlukan untuk melakukan perancangan, penulisan kode program, dan meramalkan banyaknya baris kode program (line of code) yang diterapkan dalam sistem yang akan diimplementasikan. Pengukuran ditinjau dari segi pengguna, fungsional, atau sudut pandang9. Function Point diturunkan menggunakan hubungan empiris yang didasarkan pada ukuran terhitung (langsung) dari domain informasi perangkat lunak dan pengukuran kualitatif dari kompleksitas perangkat lunak. Nilai-nilai dari domain informasi didefinisikan sebagai berikut10: 1. Banyaknya masukan eksternal (External Input [EI]) yaitu setiap masukan eksternal berasal dari pengguna atau dikirim dari aplikasi lain dan menyediakan data berorientasi aplikasi yang berbeda atau informasi pengendalian. Masukan sering digunakan untuk memperbarui Internal Logic File (ILF). Masukan harus dibedakan dari pernyataan yang akan dihitung secara terpisah. 2. Banyaknya keluaran eksternal (External Output[EO]) yaitu setiap keluaran eksternal diturunkan dari data aplikasi yang memberikan informasi kepada pengguna. Keluaran eksternal mengacu pada laporan, layar, pesan kesalahan, dan sebagainya. Masing-masing pokok data dalam sebuah laporan tidak dihitung secara terpisah. 9. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728 10. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728
  • 8. 15 3. Banyaknya inquiry eksternal (External Inquiries[EQ]) yaitu sebuah inquiry eksternal yang didefinisikan sebagai masukan online yang menghasilkan respons perangkat lunak seketika dalam bentuk keluaran online yang sering kali diperoleh dari sebuah internal logical file (ILF). 4. Banyaknya berkas-berkas logical internal (Internal Logical File [ILF]) yaitu setiap berkas logika internal merupakan pengelompokan data secara logis yang berada dalam batasan aplikasi dan dipelihara melalui masukan-masukan eksternal. 5. Banyaknya berkas antarmuka eksternal (External Interface File [EIF]) yaitu setiap berkas antarmuka eksternal merupakan pengelompokan data logis yang berada diluar aplikasi, tetapi menyediakan informasi yang dapat digunakan oleh aplikasi. Metode Function Point memiliki sebuah nilai kompleksitas yang diasosiasikan pada setiap perhitungan. Untuk menghitung function point, digunakan persamaan berikut11 : ....(2.1.) FP = UFP x CAF .....(2.2.) Hitungan Total (Total Count) adalah jumlah dari semua masukan function point (FP) dan UFP (Unadjusted Function Points) dam Fi (i = 1 sampai 14) adalah faktor penyesuaian nilai CAF (Complexity Adjustment Factor) berdasarkan dari pertanyaan-pertanyaan berikut ini12: 11. T.S Shiny Angel et al., Limitations Of Function Point Analysis in E-Learning System Estimation 12. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728
  • 9. 16 1. Apakah sistem memerlukan backup dan recovery yang handal ? 2. Apakah diperlukan komunikasi data khusus untuk memindahkan informasi dari dan ke aplikasi tersebut ? 3. Adakah fungsi-fungsi proses terdistribusi ? 4. Apakah performanya kritis ? 5. Apakah sistem berjalan dalam lingkungan operasional lama yang sudah ada ? 6. Apakah sistem memerlukan masukan data online ? 7. Apakah masukan data online tersebut memerlukan transaksi masukan yang dibuat dengan menggunakan banyak layar atau operasi ? 8. Apakah ILF (internal logic file) atau banyaknya berkas-berkas logical internalnya diperbarui secara online ? 9. Apakah masukan, keluaran, berkas, atau inquiry-nya kompleks ? 10. Apakah proses internalnya kompleks ? 11. Apakah kode dirancang untuk dapat digunakan kembali ? 12. Apakah konversi dan instalasi tercakup di dalam perancangan ? 13. Apakah sistem dirancang untuk banyak instalasi di organisasi yang berbeda-beda ? 14. Apakah sistem dirancang untuk memfasilitasi perubahan dan kemudahan penggunaan oleh pengguna ?
  • 10. 17 Elemen penentuan kompleksitas dapat dinilai berdasarkan tabel rangking EI (External Input), EO (External Output), EQ (External Inquiries), ILF (Internal Logical File), dan EIF (External Interface File) yang dapat dilihat dalam tabel di bawah ini : Tabel 2.1 Tabel banyaknya masukan eksternal (External Input[EI]) File Type Referenced (FTR) Data Elements 1-4 5-15 >15 0-1 Low Low 2 Low Average High 3 or more Average High Average High Dengan FTR (File Type Reference) adalah sebuah file yang ditunjuk oleh transaksi, sedangkan data elements adalah field yang tidak berulang. Jika FTR atau data elements yang sama digunakan baik pada sisi input atau output maka hanya dihitung sekali. Tabel 2.2 Tabel banyaknya keluaran eksternal (External Output [EO]) dan tabel banyaknya inquiry eksternal (External Inquiries [EQ]) File Type Referenced (FTR) 0-1 2-3 >3 Data Elements 1-5 6-19 >19 Low Low Average Low Average High Average High High Dengan FTR (File Type Reference) adalah sebuah file yang ditunjuk oleh transaksi, sedangkan data elements adalah field yang tidak berulang. Jika FTR atau data elements yang sama digunakan baik pada sisi input atau output maka hanya dihitung sekali.
  • 11. 18 Tabel 2.3 Tabel banyaknya berkas logical internal (Internal Logical File [ILF]) dan banyaknya berkas antarmuka eksternal (Eksternal Interface File[EIF]) Record Element Types (RET) 0-1 2-5 >5 Data Elements 1-19 20-50 >50 Low Low Average Low Average High Average High High Record element Types (RET) merupakan sub kelompok data didalam sebuah logical file. Contoh : Seorang pelanggan memiliki 2 RET yaitu alamat dan nomor telepon. Dengan hitungan total (total count) adalah jumlah masukan dari UFP yang diperoleh dari gambar dibawah ini13: Gambar 2.2. Menghitung UFP (Unadjusted Function Points) Setiap pertanyaan akan dijawab menggunakan skala yang dimulai dari : 13. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728
  • 12. 19 a. 0 = Tidak Penting b. 1 = Incidental c. 2 = Sedang d. 3 = Rata-Rata e. 4 = Signifikan f. 5 = Penting Nilai konstanta pada persamaan (2.1) dan faktor pembobotan yang diterapkan pada perhitungan domain informasi diperoleh secara empiris. Setelah setiap karakterisitik diberi bobot masing-masing, kemudian bobotbobot dari setiap karakteristik dijumlahkan maka kita akan mendapatkan nilai Fi14. Setelah mendapatkan nilai Fi maka selanjutnya akan dihitung nilai FP dengan rumus persamaan (2.2). setelah mendapatkan nilai FP, maka dapat menggunakannya untuk meng-estimasi harga pembuatan perangkat lunak dengan terlebih dahulu mendapatkan data dari software house agar dapat dihitung besar estimasi harga. Terdapat beberapa kelebihan dari metode Function Point : 1. Mudah diukur 2. Mengukur efisiensi. Efisiensi berkaitan dengan waktu yang digunakan untuk mengestimasi suatu harga pembuatan perangkat lunak. 14. Roger S.Pressman, Ph. D, Software Engineering Seventh Edition, 2010, Hal : 728
  • 13. 20 Kekurangan Function point sebagai berikut : 1. Hasil perhitungan FP tergantun pada manual penggunaan function point yang digunakan. 2. Banyaknya evaluasi yang dibutuhkan berdampak pada hasil yang terlalu subyektif 3. Perhitungan FP dilakukan hanya didasarkan pada sistem pemrosesan data. Padahal aspek-aspek lain dari estimasi harga sendiri juga ikut berpengaruh terhadap hasil akhir estimasi. 2.4 Java Bahasa Java merupakan karya Sun Microsystem Inc. Rilis resmi level beta dilakukan pada November 1995. Java adalah bahasa yang dapat dijalankan di berbagai plaftorm, di beragam lingkunan : internet, consumer electronic products, dan computer applications. Perkembangan gaya pemrograman mencapai gaya pemrograman orientasi objek setelah era pemrograman terstruktur. Pemrograman orientasi objek menggantikan pemrograman terstruktur karena mempunyai banyak keunggulan dalam menangani proyek yang luar biasa kompleks. Pemrograman menggunakan bahasa orientasi objek menawarkan fleksibilitas dan kemudahan perawatan dibanding bahasa C atau C++, java lebih memberi kemudahan antara lain15 : 15. Dr. Bambang Hariyanto, Esensi-esensi Bahasa Pemrograman Java, 2011
  • 14. 21 1. Java dilengkapi garbage collector yang bertugas mendealokasi memori yang tidak diperlukan. 2. Java menerapkan array sebenarnya, menghilangkan keperluan aritmatika pointer yang berbahaya dan berpeluang besar mengakibatkan kesalahan. 3. Menghilangkan pewarisan jamak (multiple inheritence) diganti fasilitas interface. Interface member banyak manfaat antara lain untuk pewarisan jamak tanpa dibebani kompleksitas yang muncul dari pengelolaan hirarki pewarisan jamak. Fitur penting bahasa Java adalah bahasa ditunjukan untuk membuat beragam jenis aplikasi secara beragam, yaitu : 1. Program di lingkungan web browser a. Applet, program ini dieksekusi di web browser dari halaman webyang memuat Java Applet. Web Browser kemudian menugaskan Java Interpreter (JRE-Java Runtime Environtment) untuk mengeksekusi Java Applet yang diterima. 2. Program di lingkungan web sever a. Java Server Pages, sebagai web scripting serupa ASP dan PHP. Program ditempelkan dihalaman HTML. HTML ini tidak langsung dikirim ke web browser tetapi diolah terlebih dahulu oleh web server dan hasilnya berupa dokumen HTML dikirim dari web server ke web browser.
  • 15. 22 b. Java Servlet, komponen ini adalah semacam modul di web server. JSP akan diterjemahkan menjadi servlet agar mempercepat proses eksekusi. 3. Java merupakan pilihan bagus untuk membuat applet, sekaligus sebagai bahasa bermaksud umum (general-purpose language) untuk mengembangkan semua jenis program yang dapat dijalankan di komputer, sistem operasi apapun asalkan terdapat Java Interpreter di platform tersebut. 4. Program mandiri sebagai pustaka komponen untuk pengembangan aplikasi. Java menyediakan bean untuk mendukung RAD (Rapid Application Development) yang berbasis visual, seperti visual vasic atau Borland Delphi. 5. Bahasa untuk pengembangan aplikasi objek-objek tersebar skala enterprise. Terdapat teknologi Java untuk mengembangkan komponen yaitu EJB (Enterprise Java Beans) yang berjalan di application server. 2.5 Flowchart(Diagram Alir) Flowchart adalah penyajian sistematis tentang proses dan logika dari kegiatan penanganan informasi dari langkah-langkah dan urut-urutan prosedur dari suatu program16. Pedomandalam membuat flowchart sebagai berikut : 16. http://ilmukomputer.org/wp-content/uploads/2009/06/anharku-flowchart.pdfdiakses pada tanggal 1 November 2013
  • 16. 23 1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan. 2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dimengerti oleh pembacanya. 3. Setiap langkah dari aktivitas harus berada pada urutan yang benar. 4. Menggunakan simbol-simbol flowchart yang standart. Simbol-Simbol flowchart yang sandart : Gambar 2.3 Simbol-Simbol Dasar Flowchart
  • 17. 24 2.6 Diagram Konteks Diagram konteks merupakan diagram yang menggambarkan kondisi sistem yang ada, baik input maupun output serta menyertakan terminator yang terlibat dalam penggunaan sistem. Diagram ini akan memberi gambaran tentang keseluruhan sistem. Sistem dapat dibatasi oleh boundary (dapat digambarkan dengan garis putus). Dalam diagram konteks hanya ada satu proses, tidak boleh ada store dalam diagram konteks. Diagram konteks berisi gambaran umum (secara garis besar) mengenai sistem yang akan dibuat17. 2.7 Diagram Berjenjang Diagram berjenjang adalah alat dokumentasi program yang berbasis pada fungsi, yaitu tiap-tiap modul didalam sistem digambarkan oleh fungsi utamanya. Pada diagram berjenjang, seluruh proses yang terdapat pada aplikasi tertentu ditampilkan dengan jelas dan terstruktur18. 2.8 Data Flow Diagram (DFD) Data Flow Diagram (DFD) dapat digunakan untuk merepresentasikan sebuah sistem atau perangkat lunak pada beberapa level abstraksi. DFD dapat dibagi menjadi beberapa level yang lebih detail untuk merepresentasikan aliran info19. 17. http://kapanpunbisa.blogspot.com/2013/05/pengertian-diagram-konteks.html 18. http://duniadatabase.blogspot.com/2012/05/bab-iii-analisa-dan-desain-3.html?m=1 19. Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 70
  • 18. 25 Simbol-simbol pada data flow diagram seperti dibawah ini : Gambar 2.4 Simbol-Simbol pada Data Flow Diagram a. Kesatuan luar (external entity) Sesuatu yang berada diluat sistem, tetapi memberikan data kedalam sistem atau memberikan data dari sistem, disimbolkan dengan suatu kotak notasi. b. Arus Data (data flow) Arus data merupakan tempat mendapatkan informasi dan digambarkan dengan garis yang menghubungkan komponen dari sistem. Arus data ditunjukkan dengan arus panah dan garis diberi nama atas arus data yang mengalir. Arus data ini mengalir di antara proses, data store dan menunjukkan arus data dari data yang berupa masukan atau hasil proses sistem.
  • 19. 26 c. Proses (Process) Proses merupakan apa yang dikerjakan oleh sistem, proses dapat mengolah data atau aliran data masuk menjadi aliran data keluar. Proses berfungsi mentransformasikan satu atau beberapa data masukan menjadi satu atau beberapa data keluaran sesuai dengan spesifikasi yang diinginkan. 2.9 Conceptual Data Modelling (CDM) Conceptual data modelling (CDM) merupakan konsep yang berkaitan dengan pandangan pemakai terhadap data yang disimpan dalam basis data. CDM dibuat sudah dalam bentuk tabel-tabel tanpa tipe data yang menggambarkan relasi antar tabel untuk keperluan implementasi ke basis data20. 2.10 Physical Data Modelling (PDM) Physical data modeling (PDM) adalah model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antar data. Setiap tabel mempunyai sejumlah kolom dimana setiap kolom memiliki nama yang unik beserta tipe datanya. PDM merupakan konsep yang menerangkan detail dari bagaimana data disimpan didalam basis data. PDM sudah merupakan bentuk fisik perancangan basis data yang sudah siap di implementasikan kedalam DBMS21. 20. Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 59 21. Rosa A et al, Rekayasa perangkat Lunak Terstruktur Dan Berorientasi Objek, 2013, Hal : 63