1 BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Definisi

advertisement
BAB 2
LANDASAN TEORI
2.1
Teori Umum
2.1.1
Definisi Perangkat Lunak
MenurutPressmandalamNugroho et al. (2010, p5) definisi
perangkat lunak (software) adalah :
1.
Instruksi-instruksi (program computer) yang bila dijalankan
menyediakan fitur-fitur, fungsi-fungsi dan kinerja yang
dikehendaki.
2.
Struktur
data
yang
memungkinkan
program-program
memanipulasi informasi.
3.
Dokumen-dokumen yang menjelaskan tentang penggunaan
dan pengoperasian program.
2.1.2
Karakteristik Perangkat Lunak
Dalam menumbuhkan pengertian mengenai perangkat lunak,
sangatlah penting untuk melihat karakteristik dari sebuah perangkat
lunak, berikut adalah karakteristik perangkat lunak.MenurutPressman
dalamNugroho et al (2010, p5)
1. Perangkat lunak dikembangkan atau dibangun, bukan dibangun
(manufactured) dalam pemikiran klasik. Walaupun terdapat
beberapa persamaan dalam perangkat lunak dan perangkat keras,
namun kedua kegiatan ini sangat berbeda. Keduanya dapat
mencapai kualitas tinggi dengan desain yang baik, namun
pembuatan perangkat keras dapat menimbulkan masalah kualitas
yang tidak terdapat pada perangkat lunak.
5
6
2. Perangkat Lunak tidak habis terpakai.
Tingkat kegagalan perangkat keras yang tinggi pada awalnya
sebagai akibat kesalahan dalam perancangan atau kesalahan
pembuatan di pabrik.Setelah di perbaiki, tingkat kegagalan
menurut sampai tingkat yang paling stabil untuk beberapa periode
waktu.Seiring dengan berlalunya waktu, tingkat kegagalan
meningkat akibat akumulasi debu, getaran, suhu tinggi dan banyak
masalah lainnya terhadap lingkungan komponen perangkat keras.
Dengan kata lain, perangkat keras mulai habis terpakai.
Sedangkan pada perangkat lunak tingkat kegagalan yang
tinggi, adalah akibat dari keadaan yang tidak dapat diperkirakan.
Setelah diperbaiki , tingkat kegagalan akan menurun sampai
tingkat yang paling stabil. Jadi perangkat lunak tidak pernah habis
terpakai, tetapi dapat mengalami penurunan.
3. Meskipun industri terus beralih ke kontruksi berbasis komponen,
sebagian besar perangkat lunak masih tetap dibuat berdasarkan
spesifikasi yang diminta pengguna.
Komponen
perangkat
lunak
seharusnya
didesain
dan
diimplementasikan sehingga dapat digunakan kembali pada
program program yang lain. Komponen reusableyang modern
membungkus data dan proses yang digunakan oleh data. Sehingga
memudahkan para rekayasawan perangkat lunak menciptakan
aplikasi baru dari bagian terdahulu.
2.1.3
Rekayasa Perangkat Lunak
2.1.3.1Pengertian Rekayasa Perangkat Lunak
Dalam buku karangan PressmandalamNugroho et al.
(2010, p15) pengertian awal dari rekayasa perangkat lunak
(software engineering) diajukan oleh Firtz Bauer.Definisi
rekayasa perangkat lunak menurut Firtz Bauer adalah
7
pembentukkan dan penggunaan prinsip-prinsip rekayasa dalam
rangka mendapatkan perangkat lunak yang ekonomis, yaitu
perangkat lunak yang dapat diandalkan dan bekerja secara
efisien pada mesin yang nyata.Institute if electrical electronics
engineers
(IEEE)
menyatakan
definisi
yang
lebih
komperhensif mengenai rekayasa perangkat lunak :
1. Aplikasi yang sistematis, disiplin, terukur terhadap
pengembangan,
pengoprasian
dan
pengembangan
perangkat lunak.
2. Studi pada pendekatan-pendekatan rekayasa perangkat
lunak.
2.1.3.2 Proses-proses Rekayasa Perangkat Lunak
Dalam buku karangan Pressman dalamNugroho et al. (2010, p55)Ivan
Jacobson, Fredy Booch dan James Rumbaugh menyatakan bahwa
dalam proses perangkat lunak menyatakan siapa yang melakukan apa,
kapan dan bagaimana mencapai tujuan yang pasti.
Sementara itu MenurutPressmandalamNugroho et al. (2010,
p17) :
1.
Komunikasi (Communication)
Sebelum pekerjaan teknis apapun dapat dimulai,
sangatlah penting untuk berkomunikasi dan berkolaborasi
dengan para pemangku kepentingan untuk memahami
tujuan tujuan yang diinginkan para stakeholder.
2. Perencanaan (Planning)
Alur yang rumit dapat disederhanakan jika terdapat
suatu peta. Suatu proyek perangkat lunak pada dasarnya
merupakan
suatu
alur
yang
rumit,
dan
kegiatan
perencanaan perangkat lunak tersebut menciptakan suatu
8
“peta” yang membantu tim perangkat lunak ketika mereka
melakukan suatu pekerjaan.
3. Pemodelan (Modelling)
Apakah anda seorang penata taman atau seorang
arsitek? Anda bekerja dengan model-model setiap harinya.
Bila anda membuat “sketsa” dari benda-benda tersebut
dengan tujuan untuk menjadikan anda paham akan
gambaran besarnya seperti apa nantinya tampilan secara
arsitektur, bagaimana
bagian-bagian saling memiliki
hubungan, dan masih banyak lagi karakteristik yang lain.
Seorang rekayasawan perangkat lunak melakukan hal
yang sama dengan cara membuat model-model untuk
memahami
kebutuhan
perangkat
lunak
maupun
rancangan-rancangan yang akan memenuhi kebutuhan
tersebut.
4. Konstruksi (Construction)
Kegiatan ini menggabungkan pembentukan code dan
pengujian yang sangat dibutuhkan untuk menemukan
kesalahan dalam kode program computer yang dihasilkan
sebelumnya.
5. Penyerahan kepada pengguna (Deployment)
Perangkat lunak diberikan kepada pelanggan kemudian
akan mengevaluasi produk yang di tampilkan dan akan
memberikan umpan balik berdasarkan evaluasi tersebut.
9
2.1.4
System Development Life Cycle (The Waterfall Model)
Menurut Pressman dalamNugroho et al. (2010, p33) waterfall
model atau classic life cycle menyarankan sebuah sistematika
pendekatan
yang
bertahap
dalam
pengembangan
perangkat
lunak.Dimulai dengan kebutuhan spesifikasi terhadap pengguna
kemudian
berlanjut
kepadaperencanaan
(planning),
pemodelan(modeling), Pembangunan (construction) dan Penyebaran
(deployment), sampai akhirnya tercipta perangkat lunak yang lengkap.
Gambar 2.1The Waterfall Model Process
Sumber: Sommervile (2011, p30)
Sommervile (2011, p31) Adapun tahap-tahap dalam proses
waterfall model adalah sebagai berikut:
1. Requirements analysis and definition
Proses ini menentukan dan menemukan layanan sistem,
kendala, dan tujuan yang ditetapkan dari konsultasi dengan pengguna
sistem. Kemudian didefinisikan secara rinci dan menggunakannya
sebagai spesifikasi sistem.
10
2. System and software design
Proses ini menetapkan rencana untuk pengerjaan software
yang meliputi tugas-tugas teknis yang akan dilakukan, resiko yang
mungkin terjadi, sumber-sumber yang dibutuhkan, hasil yang akan
dibuat, serta jadwal pengerjaannya.
3. Implementation and Unit Testing
Pada proses ini, desain perangkat lunak di bentuk menjadi
bagian-bagian program atau unit-unit program. Unit testing berfungsi
unuk mencari tahu apakah setiap unit program sudah memenuhi
spesifikasi yang dibutuhkan.
4. Integration and System Testing
Unit program individu atau program yang terintegrasi dan
diuji sebagai sistem yang lengkap untuk memastikan bahwa persyaratan
perangkat lunak telah dipenuhi. setelah pengujian, sistem perangkat
lunak yang telah melewati proses ini akan dikirimkan ke pelanggan.
5. Operation and maintenance
Ini adalah fase terpanjang dalam life cycle.sistem terinstal dan
mulai digunakan. Pemeliharaan melibatkan pengoreksian kesalahan
yang tidak ditemukan pada tahap-tahap awal dari life cycle,
meningkatkan implementasi unit sistem dan meningkatkan layanan
sistem untuk menemukan kebutuhan-kebutuhan baru.
11
2.1.5 Interaksi Manusia dan Komputer
2.1.5.1 Pengenalan Interaksi Manusia dan Komputer
Menurut
Shneiderman&Plaisant(2005,p4-8),Interaksi
Manusia dan Komputer berkaitan dengan perancangan
antarmuka (userinterface) yang digunakan oleh pengguna
untuk berkomunikasi dan berinteraksi dengan komputer.
2.1.5.2 Pengertian User Interface
Antar muka (Interface) sangat diperlukan dalam suatu
pembuatan sistem. Dengan adanya antar muka, diharapkan
pengguna akan mudah memahami apa yang harus dilakukan
dan menghindari terjadinya kebingungan dalam menjalankan
sistem. Pressman (2010,p312), Desain user interface adalah
menciptakan media komunikasi yang efektif antara manusia
dan computer.
Gambar 2.2 Proses User Interface
Sumber: Pressman (2010, p319)
12
Terdapat langkah-langkah dalam pembuatan antar muka (User
Interface) :
1. Interface analysis and modeling
Interface analysis berfokus pada user untuk berinteraksi
dengan sistem. Kemudian dianalisis untuk mendefinisikan satu set
objek dan aksi interface. Informasi yang dikumpulkan digunakan
untuk membuat model analisis untuk interface.
2. Interface design
Interface design mendefinsikan satu set obyek dan aksi
interface yang memunginkan user untuk melakukan semua tugas
desain tata letak.
3. Interface Construction
Interface design mendefinisikan dimulai dengan membuat
sebuah prototype yang memungkinkan skenario penggunaan untuk
dievaluasi
dan
digunakan
untuk
menyelesaikan
kontruksi
interface.
4. Interface Validation
Setelah pembuatan prototype, interface, validation berfokus
pada evaluasi secara keseluruhan untuk menentukan kemampuan
interface, untuk menjalankan setiap perintah berjalan dengan benar
dan sejauh mana interface mudah digunakan dan mudah dipelajari
serta memenuhi kebutuhan user.
13
Dalam perancangan user interfaceharus memenuhi aturan
emas. Menurut Shneiderman & Plaisant, (2005, p74-75), ada delapan
aturan emas dalam desain interface:
1.
Konsistensi
Dalam melakukan tindakan pada sistem program
komputer seperti desain warna, layout, menu dan lainnya
harus dibuat secara konsisten. Selain itu urutan aksi yang
dilakukan oleh user juga harus dibuat secara konsisten.
2.
Mudah digunakan sesuai kebutuhan
Dalam pembuatan desain perlu diperhatikan user yang
baru sampai yang ahli, perbedaan usia, kondisi pengguna, dan
keanekaragaman teknologi sesuai dengan kebutuhan.
3.
Memberikan umpan balik
Sistem harus memberikan umpan balik pada saat
pengguna melakukan tindakan. Untuk setiap aksi umpan balik,
harus memiliki feedback dari sistem. Umpan balik sebaiknya
dibagi
menjadi
dua
bagian
tergantung
pada
tingkat
kepentingan dari suatu tindakan. Jika tindakan yang sering
dilakukan dan tidak terlalu penting, dapat diberikan umpan
balik yang sederhana. Dan sebaliknya, jika tindakan yang
jarang dilakukan dan penting maka diberikan umpan balik
yang lengkap.
4.
Desain dialog
Desain dialog digunakan sebagai umpan balik kepada
pengguna untuk dapat melanjutkan tindakan selanjutnya.
5.
Pencegahan adanya error
Error atau kesalahan pada desain sistem harus bisa
dicegah. Jika pengguna melakukan kesalahan. Interface harus
bisa mendeteksi kesalahan tersebut dan memberikan instruksi
14
yang sederhana untuk melakukan perbaikan kesalahan
tersebut.
6.
Dapat mengembalikan tindakan sebelumnya
Sebaliknya setiap tindakan dapat di kembalikan ke
sebelumnya. Dengan begitu dapat memberikan keberanian
bagi user untuk menelusuri fitur yang kurang dikenal.
7.
Pendukung tempat pengembalian internal
Sistem dirancang dengan memberikan umpan balik
agar user dapat melakukan dan menentukan langkah-langkah
apa saja yang harus diambil dan dilakukan
8.
Mengurangi kapasitas untuk mengingat
Dalam hal ini, desain ditampilkan dengan sederhana
supaya user dapat mengingat informasi satu tampilan dan
menggunakan informasi ke tampilan lainnya.
2.1.6 Data Flow Diagram
Pressman (2010, p187) Data FlowDiagram(DFD) adalah
diagram yang menggambarkan aliran data yang sedang berjalan yang
meliputi input-proses-output dari suatu sistem. Model aliran data
pertama disebut dengan DFD level 0 atau context diagram yang
merupakan gambaran sistem secara keseluruhan.
15
Gambar 2.3Data Flow Diagram
Sumber: Pressman (2010, p188)
Menurut Yourdon (1989:139) Ada 3 (tiga) tingkatan aliran
data, yaitu:
1. Diagram Konteks
Merupakan
tingkatan
yang
paling
pertama,
yang
menggambarkan ruang lingkup sistem dari sistem yang digunakan.
Diagram ini hanya memliki suatu proses yang menggambarkan sistem
secara keseluruhan dan hubungan antara sistem dengan unit-unit
yang berada di luar sistem tersebut.
2. Diagram Nol
Diagram yang menggambarkan proses-proses dan aliran data
yang terjadi di dalam suatu sistem. Proses-proses ini dapat dipecah
menjadi aliran data yang lebih terperinci.
3. Diagram Rinci
Diagram yang menggambarkan rincian proses-proses
yang
ada pada diagram nol dan diagram proses proses tersebut dapat
dipecah menjadi lebih terperinci.
16
Diagram aliran data terdiri dari simbol simbol sebagai berikut :
a. Proses (Bubble atau function atau tranformation)
Proses menggambarkan bagian dari sistem yang mengolah
masukan menjadi keluaran. Proses digambarkan dengan sebuah
lingkaran.
Gambar 2.4 Simbol Proses Data dalam DFD
b. Aliran (flow)
Aliran menggambarkan perpindahan informasi dari satu bagian
ke bagian lain dari sistem. Awal panah menggambarkan asal data
sedangkan awah panah menggambarkan tujuan.
Gambar 2.5Simbol aliran data dalam DFD
c. Store
Simbol ini digunakan untuk menggambarkan penyimpanan
data.
Gambar 2.6 Simbol data store dalam DFD
17
d. Terminator
Merupakan simbol yang menggambarkan entitas yang dapat
berupa orang, kelompok, atau organisasi yang berhubungan dengan
sistem.
Gambar 2.7 Simbol Terminate data dalam DFD
2.1.7 Entity Relationship Diagram
Connolly and Begg (2010, p445) Seringkali lebih mudah untuk
memvisualisasikan sebuah sistem yang kompleks dibanding menerjemahkan
deskripsi tekstual panjang mengenai spesifikasi kebutuhan user. Kita
menggunakan Entity Relationship Diagram(ERD) untuk merepresentasikan
entitas-entitas dan bagaimana mereka berelasi dengan satu sama lain dengan
lebih mudah. Sepanjang fase desain database, kami merekomendasikan
ERD harus digunakan kapan saja dibutuhkan untuk membantu membangun
sebuah gambaran mengenai bagian dari perusahaan yang kita modelkan.
2.1.8 State Transition Diagram
State Transition Diagram (STD) adalah suatu modelling tool yang
menggambarkan sifat ketergantungan terhadap waktu pada sistem. STDdi
gunakanuntukmengidentifikasikansebagaimanasistemharusberperilaku seper
ti resiko dari kejadian eksternal. Untuk mencapai hal ini
STD menampilkan berbagai jenis model perilaku dan hasil dan tingkahla
ku yang mana transisi dibuat dari state satu ke state yang lain.
18
2.2 Teori Khusus
2.2.1 Obyek Wisata
Obyek Wisata adalah segala sesuatu yang ada di daerah tujuan
wisata yang merupakan daya tarik agar orang-orang mau datang
berkunjung ke tempat tersebut. Menurut SK. MENPARPOSTEL No.:
KM. 98 / PW.102 / MPPT-87, Obyek Wisata adalah semua tempat
atau keadaan alam yang memiliki sumber daya wisata yang dibangun
dan dikembangkan sehingga mempunyai daya tarik dan diusahakan
sebagai tempat yang dikunjungi wisatawan.
Obyek wisata dapat berupa wisata alam seperti gunung, danau,
sungai, pantai, laut, atau berupa obyek bangunan seperti museum,
benteng, situs peninggalan sejarah, dan lain-lain.
Gambar 2.8 Obyek Wisata Sunsetdi Pantai Kuta, Bali
Suatu tempat/daerah agar dapat dikatakan sebagai obyek
wisata harus memenuhi hal pokok berikut :
1.
Adanya something to see. Maksudnya adalah sesuatu
yang menarik untuk dilihat.
19
2.
Adanya something to do. Maksudnya adalah sesuatu
aktivitas yang dapat dilakukan di tempat itu.
Indonesia merupakan salah satu negara dengan jumlah obyek
wisata yang sangat melimpah.Obyek wisata tersebut dapat kita jumpai
dari sabang sampai merauke.
2.2.2
Internet
Internet, yang merupakan jaringan komputer terbesar di dunia,
menurut Turban et al. (2005, p78) adalah sebuah jaringan yang terdiri
dari jaringan jaringan. Internet adalah kumpulan dari 200.000 atau
lebih komputer pribadi yang dimiliki oleh pemerintah, universitas,
organisasi nirlaba, dan perusahaan. Jaringan-jaringan interkoneksi ini
saling bertukar informasi dengan menggunakan standard dan protocol
yang
terbuka
dan
umum.
Jaringan-jaringan
ini
terkoneksi
menggunakan jaringan komunikasi elektronik yang sangat besar dan
diantara bisnis-bisnis, konsumen, departemen pemerintahan, sekolah
dan organisasi lain di seluruh dunia.
2.2.3
Pengertian Basis Data
Menurut Thomas Connolly dan Carolyn Begg (2010:14),
Database merupakan suatu kumpulan data yang berhubungan
dengan logika dan dirancang untuk memenuhi kebutuhan informasi
didalam organisasi.
Menurut Indrajani (2011:p2), kumpulan terpadu dari elemen
data logis yang saling berhubungan. Basis data mengonsolidasi
banyakn catatan yang sebelumnya disimpan dalam file terpisah.
DBMS ( Database Management System) menurut Connoly
dan Begg
(2010, p66) adalah suatu sistem piranti lunak yang
20
memungkinkan user untuk mendefinisikan, membuat, merawat, dan
mengontrol akses ke dalam basis data.
DBMS menyediakan beberapa fasilitas sebagai berikut :

Data Definition Language
DDL (Data Definition Language) adalah suatu bahasa
yang memungkinkan Database Administrator(DBA) stsu user
untuk mendeskripsikan nama dari suatu entitas, atribut, dan
relasi data yang diminta oleh aplikasi bersamaan dengan
integritas data dan batasan keamanan datanya. DDL
memungkinkan pemakai untuk membuat spesifikasi tipe data,
mendefinisikan basis data, struktur data, dan constraint data
untuk disimpan dalam basis data. Contohnya create table,
drop table dan alter table.

Data Manipulation Language
DML (Data Manipulation Language) adalah suatu bahasa
yang memberikan fasilitas pengoperasian data yang ada
didalam
basis
data.
Pengoperasian
data
yang
akan
dimanipulasi meliputi :
1. Penambahan data baru ke dalam basis data.
2. Modifikasi data yang di simpan ke dalam basis data.
3. Pemanggilan data yang terdapat didalam basis data.
4. Penghapusan data dari basis data.
Sedangkan Procedural data adalah suatu bahasa yang
memperbolehkan user untuk mendeskripsikan ke sistem data
apa yang dibutuhkan dan bagaimana mendapatkan data
tersebut.
DML
memungkinkan
memasukkanmemperbaharui,
menghapus,
pemakai
mengirim
dan
21
mengambil data dari basis data. Contohnya insert, update,
delete, dan select.
Menurut Connoly dan Begg (2010, p68-71), DBMS
memiliki lima komponen yang penting yaitu :
1. Hardware (piranti keras)
Dalam menjalankan aplikasi dan DBMS diperlukan
piranti keras.Piranti keras dapat berupa sebuah personal
computer, single mainframe, atau komputer jaringan yang
berupa server.
2. Software (piranti lunak)
Piranti lunak meliputi DMBS software dan program
aplikasi beserta
Sistem Operasi (OS), termasuk piranti
lunak jaringan bila DBMS digunakan dalam jaringan LAN
(Local Area Network).
3. Data
Data mungkin merupakan komponen terpenting dari
DBMS khususnya sudut pandang dari end user mengenai
data.
4. Prosedur
Prosedur adalah panduan dan instruksi dalam membuat
rancangan dan menggunakan basis data.Pengguna sistem
dan staf dalam mengelola basis data membutuhkan
prosedur dalam menjalankan sistem dan mengelola basis
data itu sendiri.Prosedur di dalam basis data dapat berupa
logindi dalam basis data, pengguna sebagian fasilitas
DBMS.Membuat salinan backup basis data, memeriksa
perangkat keras dan piranti lunak yang sedang berjalan,
mengubah struktur basis data, meningkatkan kinerja atau
membuat arsip data pada secondary storage.
22
5. Manusia
Komponen terakhir yaitu manusa itu sendiri yang
terlibat dalam sistem tersebut.Mulai dari yang merancang
sampai dengan menggunakan sistem tersebut.
2.2.4
PHP
PHP merupakan bahasa scripting di sisi server yang didesain
khusus untuk web. Dalam sebuah halaman HTML, kode PHP dapat di
tambahkan dan akan dijalankan setiap kali halaman web tersebut
diakses. Kode PHP tersebut akan diolah di sisi web server dan di
tampilkan di halaman HTML yang dikunjungi. (Welling, 2005,p2)
Beberapa saingan PHP adalah Perl, Microsoft ASP.NET,
JavaServer Pages (JSP), dan ColdFusion. Pada perbandingan dari
produk-produk tersebut, PHP memiliki banyak kelebihan yaitu:

Performa yang tinggi

Antarmuka ke banyak sistem basis data yang berbeda

Built-in libraries untuk banyak tugas web yang umum

Harga yang murah

Mudah dipelajari dan digunakan

Mendukung orientasi objek yang kuat

Portabilitas

Ketersediaan source code

Ketersediaan bantuan
23
2.2.5
Database Application (MySQL)
MySQL merupakan Relational Database Management System (RDBMS) yang
sangat cepat dan kuat.Sebuah database memungkinkan untuk
menyimpan, mencari, mengurutkan dan memperoleh data.Server
MySQL mengontrol akses pada data untuk memastikan bahwa banyak
user dapat memakainya secara bersamaan, untuk menyediakan akses
yang sangat cepat dalam mengakses data tersebut, dan untuk
memastikan bahwa hanya user yang dikenali saja yang dapat
mengaksesnya, maka dari itu MySQL merupakan sebuah multiuser dan
multithread server, MySQL menggunakan Structures Query Language
(SQL), yaitu standard querydatabasedidunia. (Welling,2005,p3)
Beberapa kelebihan MySQL antara lain :

Performa tinggi

Harga murah

Mudah dikonfigurasi dan dipelajari

Portabilitas

Ketersediaan source code

Ketersediaan bantuan
2.3 Aplikasi Web Photo Sharing yang Serupa
24
Gambar 2.9 Screenshoot aplikasi yang sudah ada (Instagram)
Gambar 2.10Screenshoot Aplikasi Yang Sudah Ada(500px)
Deskripsi tentang aplikasi di atas :
Aplikasi ini digunakan untuk berbagi foto, dimana semua user bebas
memposting foto apapun itu dalam aplikasi ini.User juga dapat melihat foto
yang diunggah oleh admin atau userlain pada halaman home dan berdasarkan
kategori yang disediakan.
Kelebihan aplikasi :
1. User dapat mengupload foto apapun sesuai keinginan.
2. User dapat membeli foto yang di upload oleh user lain.
Kekurangan aplikasi :
1. User tidak dapat berdiskusi dalam sebuah forum.
2. Detail lokasi pengambilan foto tidak terdeskripsi secara jelas.
25
Download