BAB 2 LANDASAN TEORI
2.1. Internet
M enurut Houghton (2005), Internet adalah singkatan dari Internetwork, merupakan sistem jaringan komputer yang dapat menghubungkan seluruh komputer didunia
menggunakan
protokol
jaringan
TCP/IP
(Transmission
Control
Protocol/Internet Protocol) untuk memfasilitasi transmisi dan pertukaran data antar komputer. Adaptasi teknologi internet terbaru adalah intranet dan extranet yang juga menggunakan protokol jaringan TCP/IP (Houghton, M . 2005). Sedangkan menurut Federal Networking Council, Internet adalah sebuah sistem informasi global yang terhubung satu sama lain oleh alamat yang unik berdasarkan IP untuk mendukung komunikasi melalui TCP/IP dan menyediakan akses secara publik atau privat kepada sebuah layanan di dalamnya yang infrastrukturnya terdiri dari lapisan-lapisan komunikasi.
2.2. Website Website merupakan kumpulan teks, gambar, link, suara, dan elemen lainnya yang tergabung dalam satu tampilan (Gregorius, 2000, p30). Setiap halaman yang terdapat dalam website disebut web page. Website memiliki tiga komponen dasar :
•
Home Page Home page merupakan halaman awal yang muncul saat user mengakses suatu website. Home page dibuat untuk menciptakan kesan pertama user terhadap website.
•
Link Penghubung antar web page yang digunakan oleh user untuk berpindah web page. Hal yang dapat dilakukan oleh link : 1. M embawa user ke web page lain dalam website yang sama atau website berbeda. 2. M emindahkan cursor ke posisi lain dalam web page tersebut. 3. Untuk mengunduhatau menduplikasi data dari website ke komputer user. 4. M enghubungkan user ke tempat lain dalam internet, seperti e-mail.
• Content Content merupakan bagian dari website, dan dapat berupa teks, gambar, suara, video, link ke situs lain yang berkaitan. A. Web 1.0 Web 1.0 muncul bersamaan dengan lahirnya World Wide Web (WWW), dimana web 1.0 ini hanya menyediakan sebuah halaman website yang terhubung dengan hyperlink. Web 1.0 merupakan read-only web, dimana hanya ada satu jalur komunikasi dalam website tersebut sehingga disebut juga sebagai brochureware (Getting, 2007). Visi Tim Berners-Lee akan lahirnya WWW ini adalah kita dapat berkomunikasi dengan berbagi informasi melalui ruang yang disebut web. M asalah yang terdapat dalam web 1.0 adalah:
•
Tampilan website yang kaku.
•
Halaman website harus di refresh jika ada info baru yang dimasukkan ke website.
B. Web 2.0 Generasi berikutnya dari website adalah web 2.0. Istilah web 2.0 diperkenalkan oleh Darcy DiNucci dalam artikelnya berjudul “Fragmented Future“, DiNucci menyebutkan bahwa, “Website yang kita ketahui sekarang (web 1.0), masih berupa layar statis. Permulaan web 2.0 baru dimulai, website dimana awalnya hanya berupa layar yang berisikan teks dan grafik namun sekarang sudah menjadi mekanisme transportasi. Hal yang memungkinkan adanya interaksi antar user“. Web 2.0 merupakan jaringan dimana kita tidak hanya dapat melihat konten yang kita inginkan, tapi juga dapat membuat atau bertukar informasi dengan bebas, seperti social media (Blogger & Wordpress) dan social network (Flixster & Facebook), memungkinkan komunikasi dua arah antar user. Dapat dikatakan bahwa web 2.0 merupakan peningkatan kemampuan dari web 1.0(Getting et al, 2007). C. Web 3.0 Saat ini lahir pemikiran mengenai peningkatan kemampuan web 2.0 yang disebut-sebut sebagai web 3.0 yang mulai diperkenalkan pada tahun 2010. Web 3.0 tidak memiliki definisi pasti(Getting et al, 2007). Penerapan web 3.0 pastinya berbeda dengan web 2.0. Pada web 2.0, ketika kita melakukan pencarian, kita dapat melakukan pencarian menggunakan fitur
tagging. Dimana kita mencari informasi sesuai dengan tag informasi tersebut dan tag informasi dapat menggambarkan isi dari informasi tersebut. Pada web 3.0, ketika kita melakukan pencarian terhadap suatu informasi, kita tidak lagi disajikan informasi yang sesuai dengan data pencarian, namun semua data yang berkaitan dengan informasi yang kita cari akan disajikan baik berupa artikel, gambar, video, maupun blog. Data-data diatas lalu dimasukkan kedalam RSS feed dimana jika ada suatu hal baru yang berkaitan dengan pencarian kita, maka akan ditampilkan dalam RSS feed tersebut.
2.2.1. Web Dinamis dan S tatis
A. Definisi
Web dinamis adalah sebuah website yang isi dan kontennya dapat diubahubah oleh user dalam waktu singkat tanpa mengubah kode program. Sedangkan web statis adalah sebuah website yang isi dan kontennya tidak dapat diubah dalam jangka waktu yang cukup lama, karena harus melakukan perubahan pada kode program dari web tersebut. Kedua jenis web ini memiliki kelebihan dan kelemahan masing-masing yang akan dijelaskan pada subbab berikut.
B. Kelebihan dan Kekurangan
Kedua jenis web ini memang memiliki kelebihan dan kekurangan masingmasing, tetapi web dinamis relatif lebih baik dan cocok untuk kebutuhan saat ini, dimana web dinamis menawarkan kemudahan dan fungsi yang lebih menarik bagi
para usernya. Berikut ini disebutkan beberapa kelebihan dan kekurangan kedua jenis web tersebut:
Tabel 2.1.Karakteristik Web S tatis
KELEBIHAN Cepat dan mudah dikembangkan
KEKURANGAN Sulit untuk mengubah konten yang ada, sehingga situs web dapat menjadi stagnan
M urah dalam pengembangan dan
Tidak memiliki banyak kegunaan
hosting
fungsional bagi user Untuk mengubah konten diperlukan pengembangan kembali
Tabel 2.2. Karakteristik Web Dinamis
KELEBIHAN M emiliki beragam fungsi
KEKURANGAN Lebih mahal dalam pembuatan dan hosting
M udah untuk di-update Konten baru mengundang orang untuk mengunjungi website kembali dan mempermudah pencarian website di search engine
Lebih lambat dalam proses pembuatan
Dapat bekerja sebagai sebuah sistem yang dapat menghubungkan si pemilik website dengan user
2.2.2. HTML
A. Sejarah
HTM L (Hypertext Markup Language) dibuat oleh Tim Berners-Lee ketika masih bekerja untuk CERN dan dipopulerkan pertama kali oleh browser M osaic.Selama awal tahun 1990 HTM L mengalami perkembangan yang sangat pesat. Setiap pengembangan HTM L pasti akan menambahkan kemampuan dan fasilitas yang lebih baik dari versi sebelumnya. Namun perkembangan resmi dikeluarkan pada bulan November 1995 oleh IETF (Internet Engineering Task Force). HTM L 2.0 ini merupakan penyempurnaan dari HTM L+ (1993).
B. Definisi
M enurut Jon Duckett (2004), HTM L adalah bahasa yang dipakai dalam pengembangan
web.
Sesuai
dengan
namanya
HTM L
adalah
Markup
Languageyang berarti bahasa/hal yang ditambahkan dalam dokumen untuk memberikan arti tersendiri terhadap dokumen.Sebagai contoh adalah pada saat kita menggunakan stabilo untuk menandakan suatu dokumen.Dalam hal ini sebuah dokumen yang berisi Markup Language mengindikasikan bahwa terdapat sebuah struktur tertentu dalam dokumen tersebut yang menandakan masing-masing bagian
untuk terbagi dengan jelas mulai dari bagian header yang mengawali, bagian paragraf, bagian tabel, dsb. Markup Languageinilah yang memungkinkan sebuah dokumen HTM L dapat ditampilkan dalam browser.(Duckett, 2004)
2.2.3. JAVAS CRIPT
A. Sejarah
JavaScript awalnya muncul pada browser Netscape Navigator pada tahun 1995 bersamaan dengan mulai berperannya teknologi Java dalam web, namun walaupun memiliki nama yang mirip, pada kenyataannya Java dan JavaScript adalah dua teknologi yang berbeda. Pada awalnya JavaScriptyang dibuat oleh Brendan Eich (penemu JavaScript) diberi nama “M ocha” yang kemudian diubah menjadi “Livescript” dan akhirnya JavaScript. Seiring berjalan waktu maka JavaScript juga mengalami perbaikan dan pada tahun 1996 Netscape memasukkan JavaScript dalam ECM A International untuk memungkinkan standarisasi.
B. Definisi
JavaScript adalah bahasa pemrograman yang dinamis yang berorientasi pada obyek. Perannya dalam implementasi web adalah memungkinkan pembuatan web menjadi lebih dinamis dengan memungkinkan “executable content” atau konten yang dapat dieksekusi dalam halaman web. Bahasa pemrograman “client side” ini memungkinkan HTM L menjadi lebih dinamis dengan mengimplementasikan program yang memungkinkan interaksi dengan user. Dan juga dengan JavaScript ini memungkinkan pengembang web untuk mengakses dan memanipulasi fiturfitur dan konten yang ada pada halaman HTM L. (Duckett, 2004 dan Ray, 2003).
Keuntungan
JavaScript bekerja pada sisi client sehingga memiliki beberapa keuntungan antara lain:
-
Ringan
JavaScript merupakan bahasa skrip yang ringan yang tidak memakan banyak resource pada user akhir sehingga kerap digunakan untuk melakukan beberapa fungsi.
-
Open Source
Tidak diperlukan alat khusus dalam pengembangan web menggunakan JavaScript sehingga dalam pengembangannya tidak dikenakan biaya.
-
Mudah
Dikarenakan bahasa yang terpengaruh oleh C maka JavaScript relatif mudah dipelajari.Programmer dapat dengan mudah menginterpretasikan fungsifungsi dan akan lebih nyaman menggunakan bahasa ini.
-
Fungsionalitas
Pemakaian JavaScript memungkinkan pengembang untuk menambah fungsionalitas web dengan tidak terlalu memberatkan web itu sendiri. Pembuat web dapat menambah beberapa aspek yang membuat website menjadi lebih dinamis.
2.2.4. XML
A. Sejarah XM L atau Extensible Markup Languagemerupakan penyempurnaan dari beberapa language sebelumnya yang berfungsi untuk memungkinkan pengkodean dari dokumen agar dapat digunakan dalam berbagai subsistem.Diawali oleh GM L(Generalized Markup Language) yang dikembangkan oleh IBM yang berfungsi untuk memungkinkan modifikasi dan pemanfaatan dokumen secara lebih baik.Kemudian ANSI (American National Standards Institute) mengembangkan SGM L (Standard Generalized Markup Language) yang merupakan standarisasi dari GM L.(Ray, 2003). Dan kemudian XM L muncul yang merupakan hasil penelitian dari XM L Working group yang dikepalai oleh Jon Bosak dari Sun M icrosistem dengan tujuan-tujuan: -
XM L harus dapat mendukung berbagai macam aplikasi
-
XM L harus kompatibel dengan SGM L
-
Pembuatan program yang memproses XM L haruslah mudah.
-
Fitur opsional dalam XM L harus diminimisasi sekecil mungkin.
-
XM L harus dapat dimengerti oleh manusia.
-
Desain XM L harus dibuat secepatnya.
-
Desain XM L harus bersifat formal dan pasti.
-
XM L haus mudah dalam pembuatannya.
B. Definisi XM L
adalah
bahasa
informasi.XM L merupakan
markup sebuah
yang
bersifat
alat yang telah
sebagai
penyimpan
distandarisasi untuk
memberikan batasan-batasan mengenai bagaimana program komputer bekerja. XM L adalah profil yang lebih ketat daripada SGM L. XM L terbuat dari entitasentitas yang berisikan data yang telah/belum diuraikan. M arkup yang terdapat dalam XM L berfungsi untuk menggambarkan deskripsi mengenai struktur logikal dan bentuk umum penyimpanan.yang kemudian akan digunakan untuk mengatur bagaimana sebuah program bertindak.(Ray et al, 2003)
2.2.5. AJAX
A. Sejarah
AJAX yang merupakan singkatan dari “AsynchronousJavaScript and XML” dikenal sejak tahun 2005.Namun dibalik itu AJAX dapat ditelusuri sampai pada tahun 1996. Pada tahun tersebut teknik yang membantu memuat isi dari web berasal dari saat IE memperkenalkan konsep iFrame yang kemudian pada tahun 1998 M icrosoft mengeluarkan teknik baru yang memungkinkan pengambilan data dengan komunikasi pada client sidedengan menggunakan JavaScript. Dan kemudian pada 1999 dikeluarkanlahXMLHTTPRequest yang menjadi standar IE pada saat itu.Akhirnya setelah berbagai penyempurnaan dijadikan standar oleh W3C (World Wide Web Consortium) sebagai AJAX yang kita kenal saat ini.(Babin, 2007)
B. Definisi
Pengembangan
AJAX
dipicu
oleh
berkembangnya teknologi yang
menyebabkan munculnya kebutuhan-kebutuhan dari para pengembang untuk membuat aplikasi web yang memungkinkan waktu respon yang fleksibel.AJAX dalam hal ini menggunakan obyek XMLHTTPRequest berbasis JavaScriptuntuk melakukan permintaan pada webserver secara asinkron, atau tanpa harus melakukan pemuatan ulang pada page. Dengan teknologi ini aplikasi web dapat mengirim data kepada server dan serverakan memproses dan mengembalikan data yang akan ditampilkan secara langsung tanpa memerlukan user untuk pindah dari halaman/ memindahkan ke halaman lain. (Babin et al, 2007)
C. Keuntungan
Beberapa keuntungan dalam penggunaan AJAX adalah antara lain:
-
Cross Platform
Karena AJAX didasari oleh pemrograman JavaScript maka AJAX telah didukung oleh berbagai browser yang ada mulai dari Firefox (semua versi), Internet Explorer (4.0++), Apple Safari (1.2++), Konqueror, Netscape (7.1 ++), and Opera (7.6 ++).
-
Cepat
Karena AJAX memungkinkan pemrosesan data tanpa perlu pemuatan ulang dari keseluruhan page, hal ini memotong waktu dimana biasanya browser melakukan permintaan akan hasil proses dan dikembalikan dalam bentuk halaman baru. Sehinggabandwith yang digunakan relatif kecil karena tidak perlu dilakukan pengiriman halaman utuh untuk memproses halaman secara utuh namun hanya bagian tertentu saja.(Interaktonline)
D. Kerugian
Dibalik kemudahan yang ada AJAX juga memiliki kekurangan antara lain
-
Biaya
Pembuatan aplikasi web dengan AJAX dapat menyebabkan penambahan waktu dan biaya yang diperlukan karena tingkat kesulitan yang relatif tinggi.
-
Keamanan
Keamanan AJAX masih dipertanyakan mengenai berapa amankah dalam pemakaian AJAX untuk aplikasi web dalam aktivitas permintaan dan pengiriman data
-
Indexing
Karena AJAX dalam penerapannya membuat halaman web untuk diubahubah dan dimuat hanya sebagian saja.M aka hal ini akan menjadi kekurangan pada beberapa fungsi tertentu seperti bookmark. Dalam bookmark yang di simpan adalah data halaman pada saat awal sebelum adanya perubahan bagian-bagian tertentu pada AJAX. Hal ini menjadi kekurangan apabila terkait dengan indexing pada beberapa situs pencari seperti google, yahoo, karena AJAX tidak dapat di catat sebagai salah satu index, sehingga akan sulit
dalam
pendaftaran
web
yang
keseluruhan.(Interaktonline) (Lerdorf, 2001)
memakai
AJAX
secara
2.2.6. JSON
A. Sejarah
JSON awalnya disempurnakan oleh Douglas Crockford yang pertamanya digunakan pada State Software pada tahun 2001 yang kemudian menjadi popular dengan diluncurkannya website JSON.org sebagai official website. Dan seiring dengan perkembangan maka banyak pula website yang mendukung penggunaan JSON dalam komunikasinya dengan web service dari website yang bersangkutan. Dan walaupun JSON merupakan standar yang dibuat dari bahasa JavaScript namun JSON bersifat language-independent (memiliki struktur pembahasaan yang tidak terikat dengan bahasa tertentu). B. Definisi
JSON atau JavaScript Object Notation adalah standar yang digunakan dalam pertukaran data dalam jaringan (JSON.org) JSON merupakan representasi dari struktur data yang sederhana dan array yang disebut object. Format ini sekarang sudah lazim digunakan untuk mengirim data antara server dan web application, dan tujuan dari design JSON ini agar pertukaran data dalam network dapat menjadi standar struktur data yang efisien (dari segi size), memiliki portabilitas yang tinggi (dapat digunakan dalam berbagai bahasa pemrograman dan browser), human-readable(dapat dimengerti secara mudah oleh manusia. Dalam penggunaannya JSON dapat merepresentasikan 4 tipe data sederhana antara lain String, Integer, Boolean, null. Dan 2 tipe struktur data yaitu object dan Array. Object merupakan rangkaian dari nol atau lebih pasangan nilai, bersifat tidak teratur dan dalam pasangan nilai tersebut terdiri atas id dan value
yang berisikan String. Sedangkan Array adalah rangkaian dari nol atau lebih nilai yang bersifat teratur.
2.3. PHP
A. Sejarah
PHP yang lumrah digunakan pada saat ini sebenarnya adalah hasil dari pengembangan
produk
bernama
PHP/FI
(Personal
Home
Page/Form
Interpreted).Dibuat oleh Rasmus Lerdorf pada tahun 1994, PHP awalnya berupa CGI(Common Gateway Interface) yang ditulis dalam bahasa C yang digunakan untuk mencatat jumlah orang yang mengunjungi web yang dia buat.Setelah itu dilakukan penulisan ulang yang memungkinkan implementasi PHP secara lebih luas
yaitu
dari
interaksi
database,
memungkinkan
user
untuk
menggunakanframework untuk membuat aplikasi web dinamis seperti guest book. Dan seiring berjalan waktu PHP terus dikembangkan dari 1997 dimana PHP/FI 2.0 dirilis dan diimplementasikan dalam C dan sampai pada 2004 PHP sudah memiliki kemampuan untuk membangun aplikasi web yang kompleks tapi memiliki kecepatan dan stabilitas yang tinggi. Dan pada akhirnya dilakukan pengimplementasian pemrograman berbasis objek pada PHP.(Lerdorf et al, 2001) B. Definisi PHP adalah bahasa pemrograman yang memungkinkan halaman web yang statis menjadi dinamis. PHP sendiri merupakan singkatan dari Hypertext Preprocessor, “Preprocessor” memiliki arti bahwa PHP memberikan modifikasi sebelum halaman HTM L dibuat. Sehingga ini memungkinkan para perusahaan untuk membuat aplikasi web yang dapat menerbitkan blog, mengontrol perangkat keras
secara remote, menjalankan website besar seperti Wikipedia/Wikibooks yang memerlukan aplikasi database. (Lerdorf et al, 2001)
- M enurut swastika (2006), PHP merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses di server. Kemudian hasil prosesnya akan dikirimkan ke client, tempat pemakai menggunakan browser. PHP dikenal sebagai sebuah bahasa scripting, yang menyatu dengan tag-tag HTM L, dieksekusi di server, dan digunakan untuk membuat halaman web yang dinamis seperti halnya ASP (Active Server Pages) atau JSP (Java Server Pages). PHP merupakan sebuah perangkat lunakopensource. Secara khusus, PHP dirancang untuk membentuk web dinamis. Artinya, ia dapat membentuk suatu tampilan berdasarkan permintaan terkini. Pada prinsipnya, PHP mempunyai fungsi yang sama dengan bahasa pemrograman lain seperti ASP (Active Server Page), Cold Fusion, maupun Perl.
C. Kegunaan Bahasa PHP secara umumnya dapat digunakan sebagai : -
Server Side Scripting PHP pada awalnya didesain untuk membuat konten web yang dinamis, dimana PHP parser dan webserverdiperlukan untuk menghasilkan dan mengirimkan HTM L dokumen.
-
Command Line Scripting PHP dapat menjalankan script yang berasal dari baris perintah seperti Perl,AWK.Hal ini biasa digunakan untuk kegiatan administrasi seperti backup, parsing log.(Lerdorf et al, 2001)
D. Keuntungan Menggunakan PHP
PHP adalah kode yang secara langsung dimasukkan dalam halaman HTM L untuk membuatnya menjadi dinamis(Baker, 2009 dan Stewart, 2006). Beberapa keuntungan menggunakan PHP antara lain:
-
Sederhana:
PHP dalam penggunaannya apabila didukung dengan pengalaman pemrograman di bidang C, JavaScript, HTM L merupakan hal yang mudah.Bahasa pemrograman PHP cenderung mirip dengan C sehingga perusahaanakan
lebih
familiar
dan
lebih
mudah
dalam
pengembangannya.
-
Cross Platform
PHP Telah didukung oleh hampir semua OS yang ada. Antara lain Windows, UNIX(Linux, FreeBSD), MAC OS X. Dan juga dapat digunakan dalam berbagai webserver yang ada antara lain Apache, M icrosoft IIS, Netscape. PHP juga mendukung berbagai macam database seperti mySQL, PostgreSQL, Oracle, Sybase, dan database ODBC lainnya.Sehingga dalam pengembangan PHP dengan databaseakan sangat mudah.
-
Cepat
Dalam eksekusinya PHP tidak memakan banyak resource sehingga tidak berpotensi melambatkan proses lain.
-
Open Source
Keuntungan PHP yang lain adalah karena PHP bersifat opensource. Sehingga dalam pengembangannya tidak dipungut biaya atau gratis.
2.4. Framework
A. Definisi
Framework adalah sebuah struktur buatan manusia yang berfungsi untuk mempermudah, dan
mempercepat proses pemgembangan sebuah
aplikasi
komputer. M anfaat framework adalah untuk menambah efisiensi dalam pembuatan dan pengembangan perangkat lunak.Sebuah framework dapat meningkatkan produktivitas perusahaan, kualitas, dan kekuatan dari sebuah perangkat lunak. Produktivitas meningkat karena pengembang dapat berfokus pada kebutuhankebutuhan dari aplikasi mereka dan tidak perlu meluangkan banyak waktu untuk membuat infrastruktur aplikasinya (Baker et al, 2009). Contoh salah satu framework yang terkenal di Indonesia adalah CodeIgniter, yaitu framework yang digunakan untuk membantu para pengembang PHP.
B. Kelebihan
Kelebihan yang diperoleh ketika menggunakan framework antara lain: •
Dapat menggunakan kembali kode yang sudah dibuat dan dites sebelumnya. Hal ini meningkatkan kekuatan dari aplikasi yang baru dan mengurangi pekerjaan perusahaan dalam fasepengkodean dan pengujian, sehingga dapat dipasarkan lebih cepat.
•
Sebuah framework dapat mempermudah dan memperbaiki pekerjaan para perusahaan, juga mempermudah penerapan/penggunaan dari design patterns dan programming tools. Sebuah framework dapat memberikan kemampuan
fungsional baru, peningkatan performa dan kualitas dalam perangkat lunak tanpa membutuhkan banyak usaha lebih dari si user.
C. Kelemahan
Kelemahan dari framework antara lain: •
M embuat framework itu sulit, memakan banyak waktu dan usaha.
•
Sulit untuk menggunakan sebuah framework baru jika kita sudah terbiasa dengan framework lama.
•
Seiring waktu, sebuah framework dapat menjadi semakin kuno dan kompleks.
2.5. WebService
A. Definisi
M enurut World Wide Web Consortium (W3C), web service adalah suatu sistem perangkat lunak yang didisain untuk mendukung interaksi mesin ke mesin pada suatu jaringan.
Sedangkan menurut M ichael C. Daconta, web service adalah aplikasi perangkat lunak yang dapat ditemukan, diuraikan, dan diakses berdasarkan pada XM L dan protokol standard web pada intranet, extranet, dan internet(Wulandari, L.& Wicaksana, S. W. I., 2006).
Jadi, kita dapat mengambil kesimpulan bahwa web service adalah perangkat lunak yang dapat mengerjakan fungsi tertentu di dalam sebuah jaringan, baik secara privat atau publik.Web service tidak menyediakan GUI untuk user, melainkan mendukung pengiriman data, proses, danlogika bisnis.Web service mempunyai suatu interface yang diuraikan dalam suatu format machineprocessible seperti WSDL. Sistem lain yang berinteraksi dengan web service dilakukan melalui interface menggunakan pesan seperti pada SOAP. Pada umumnya pesan ini melalui HTTP dan XM L yang merupakan salah satu standarweb. Perangkat lunak aplikasi yang ditulis dalam berbagai bahasa pemrograman dan berjalan pada berbagai platform dapat menggunakan web service untuk pertukaran data pada jaringan komputer dalam cara yang serupa dengan komunikasi inter-process pada komputer tunggal.
Contoh penggunaan dari teknologi web service adalah pada mesin pencarian Google yang menyediakan web API dengan metode doGoogleSearch() yang berfungsi untuk melakukan pengecekan kecocokan dari setiap kata kunci yang dimasukkan ke dalam mesin pencarian dengan data yang dimiliki olehnya. Salah satu metode lainnya dalam web service Google adalah doSpellingSuggestion(), yaitu metode yang berfungsi untuk memberikan anjuran ejaan dari kata yang dimasukkan ke dalam mesin pencarianuntuk membantu usernya mendapatkan hasil pencarian yang diinginkan.
Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan mitra lainnya, yang memungkinkan sebuah fungsi di dalam web service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya.
Beberapa alasan mengapa digunakan web service adalah sebagai berikut:
1. Web service dapat digunakan untuk mentransformasikan satu atau beberapa business logic atau kelas dan objek yang terpisah dalam satu ruang lingkup yang menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik.
2. Web service memiliki kemudahan dalam proses penyebarannya, karena tidak memerlukan registrasi khusus ke dalam suatu sistem operasi. Web service cukup di-upload ke web server dan siap diakses oleh pihak-pihak yang telah diberikan otorisasi.
B. Arsitektur Web Service
Web service memiliki tiga entitas dalam arsitekturnya, yaitu:
1. Service Requester (peminta layanan)
2. Service Provider (penyedia layanan)
4. Service Registry (daftar layanan)
Gambar 2.1 Arsitektur Web Service •
Service Provider: berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.
•
Service Registry: berfungsi sebagai lokasi sentral yang mendeskripsikan semua layanan yang telah didaftarkan.
•
Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut.
C. Operasi-Operasi Web Service
Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya, yaitu:
1. Publish/unpublish: menerbitkan/menghapus layanan ke dalam atau dari registry. 2. Find: service requestor mencari dan menemukan layanan yang dibutuhkan. 3. Bind:setelah menemukan layanan yang dicarinya,service requestor kemudian melakukan binding ke penyedia layanan untuk melakukan interaksi dan mengakses layanan yang disediakan oleh penyedia layanan.
D. Keunggulan Web Service
Berikut ini beberapa keunggulan dari web service:
• Web service menyediakan interoperabilitas antar berbagai aplikasi perangkat lunak yang berjalan pada platform yang berbeda.
• Web service menggunakan standar dan protokol yang terbuka. Jika memungkinkan protokol dan format data adalah berbasis teks, membuatnya mudah bagi pengembang untuk memahami.
• Dengan pemanfaatan HTTP, webservice dapat bekerja melalui banyak pengukuran keamanan firewall yang umum tanpa menuntut perubahan bagi aturan firewall filtering.
• Web service mengijinkan perangkat lunak dan layanan dari perusahaan dan lokasi yang berbeda untuk dikombinasikan dengan mudah untuk menyediakan suatu layanan yang terintegrasi.
• Web service mengijinkan penggunaan kembali layanan dan komponen di dalam suatu infrastruktur
• Web service dapat secara bebas digabungkan (loosely coupled) dengan demikian memudahkan suatu pendekatan terdistribusi ke pengintegrasian aplikasi.
2.5.1. RES T
A. Definisi M enurut Roy Thomas Fielding, REST (Representational State Transfer) adalah arsitektur yang menekankan pada skalabilitas interaksi komponen, interface yang umum, penyebaran komponen secara bebas, dan komponen penengah untuk mengurangi latensi. Karakteristik REST : •
Null style Ada dua perspektif dalam proses desain arsitektur. Pertama, desainer yang memulai dari nol dalam membangun arsitektur hingga memenuhi sistem yang dibutuhkan. Kedua, desainer yang memulai dengan kebutuhan sistem menyeluruh, tanpa hambatan, lalu secara bertahap mengidentifikasi dan menerapkan batasan pada elemen sistem untuk membedakan desain dan memungkinkan kekuatan yang mempengaruhi perilaku sistem mengalir alami. Perspektif pertama menekankan pada kreativitas dan visi tanpa batas, sedangkan perspektif kedua menekankan pada pengendalian dan pemahaman konteks sistem. Null style sederhananya merupakan himpunan kosong batasan. Dari perspektif arsitektural, null style menggambarkan sistem dimana tidak ada batas pembeda antar komponen.
•
Client-server Batasan pertama yang ada adalah arsitektur client-server.Pemisahan perhatian merupakan prinsip batasan client-server. Dengan membatasi interface user dengan penyimpanan data, akan didapat peningkatan portabilitas interface user antar berbagai platform dan meningkatkan skalabilitas dengan menyederhanakan komponen server.
•
Stateless Batasan tambahan pada interaksi client-server, komunikasi harus tanpa batas, gaya CSS (Client-Stateless-Server), tiap permintaan klien ke server harus berisi semua informasi yang digunakan untuk memahami permintaan dan tidak dapat mengambil informasi dari data yang disimpan dalam server. Sesi disimpan seluruhnya di klien.Batasan ini termasuk properti visibilitas, realibility, dan skalabilitas. Visibilitas meningkat karena sistem monitor tidak harus melihat lebih dalam satu data permintaan untuk menentukan sifat permintaan. Kehandalan meningkat karena memudahkan tugas pemulihan dari kesalahan parsial. Skalabilitas meningkat karena tidak harus menyimpan state antar permintaan, sehingga memungkinkanserver membebaskan sumber daya dengan cepat.
•
Cache Penambahan batasan cache bertujuan untuk meningkatkan efisiensi jaringan, penambahan ini merubah gaya sebelumnya menjadi client-cachestateless-server. Batasan cache mengharuskan data dalam respon ke permintaan dilabeli cacheable atau non-cacheable. Jika respon berupa
cacheable, maka cache klien diberi hak untuk menggunakan kembali data respon di lain waktu. M anfaat menambahkan batasan cache adalah adanya potensi untuk mengeliminasi beberapa interaksi, meningkatkan efisiensi, skalabilitas, dan performa yang dirasakan user dengan mengurangi rata-rata latensi dari rangkaian interaksi. •
Uniform interface Ciri utama yang membedakan arsitektur REST dengan gaya berbasis jaringan lainnya adalah penekanan pada keseragaman interface antar komponen. Dengan menerapkan prinsip umum rekayasa piranti lunak pada interface komponen, seluruh arsitektur sistem tersederhanakan dan visibilitas interaksi meningkat.Untuk mendapatkan interface yang seragam, beberapa batasan arsitektural dibutuhkan untuk mengarahkan perilaku komponen. REST ditetapkan oleh empat batasan interface: identifikasi sumber daya, manipulasi sumber daya melalui representasi, pesan deskripsi diri, dan hypermedia sebagai mesin aplikasi.
•
Layered sistem Untuk peningkatan lebih lanjut perilaku untuk kebutuhan skala internet, maka ditambahkan batasan sistem berlapis. Sistem berlapis memungkinkan arsitektur disusun oleh lapisan hirarki dengan membatasi perilaku komponen sehingga tiap komponen tidak dapat melihat/melewati lapisan terdekatnya untuk mengetahui dengan siapa mereka berinteraksi. Lapisan ini dapat digunakan untuk mengenkapsulasi peninggalan layanan dan untuk melindungi layanan baru dari legacy client, menyederhanakan komponen
dengan memindahkan fungsi yang jarang digunakan ke perantara. Perantara bisa juga digunakan untuk meningkatkan skalabilitas sistem dengan memungkinkan mengisi layanan secara berimbang melalui berbagai jaringan dan processor. Kerugian utama dari sistem berlapis adalah penambahan overhead dan latency pada pemrosesan data, mengurangi performa yang dirasakan user. •
Code-on-demand Penambahan terakhir pada kumpulan batasan REST adalah code-ondemand. Dimana REST memungkinkan perluasan fungsionalitas klien dengan mengunduh dan mengeksekusi kode dalam bentuk skrip atau applet. Hal ini memudahkan klien dengan mengurangi jumlah fitur yang dibutuhkan pada saatsebelum implementasi. M emungkinkan fitur dapat diunduh setelah penyebaran meningkatkan ekstensibilitas sistem.
B. Keunggulan Keunggulan arsitektur REST adalah sebagai berikut: ‐
M emisahkan implementasi server dari persepsi klien terhadap resource (URI)
‐
Lebih mudah untuk dikombinasikan dengan PHP
‐
Dapat menggunakan JSON sebagai format yang digunakan dalam pengiriman data
‐
Cocok untuk sistem yang memiliki klien dalam jumlah besar
‐
M emungkinkan transfer data dalam ukuran dan tipe yang tidak terbatas
‐
M endukung penjembatanan (proxy dan gateway) sebagai komponen transformasi data dan caching.
‐
M emfokuskan application state di dalam komponen user agent dimana terdapat kelebihan memory
2.6. Database
A. Definisi
Database adalah koleksi “data operasional” yang tersimpan dan dipakai oleh sistem aplikasi dari suatu organisasi (C.J. Date, 2004). Data di dalam database ini terbagi menjadi 3:
- Data input adalah data yang masuk dari luar sistem
- Data output adalah data yang dihasilkan sistem
- Data operasional adalah data yang tersimpan pada sistem
Sistem basis data (database system) adalah suatu sistem informasi yang mengintegrasikan kumpulan dari data yang saling berhubungan satu dengan yang lainnya dan membuatnya tersedia untuk beberapa aplikasi yang bermacam-macam didalam suatu organisasi. Dengan sistem basis data ini tiap-tiap orang atau bagian dapat memandang database dari beberapa sudut pandang yang berbeda.Bagian kredit dapat memandangnya sebagai data piutang, bagian penjualan dapat memandangnya sebagai data penjualan, bagian personalia dapat memandangnya sebagai data karyawan, bagian gudang dapat memandangnya sebagai data persediaan.Semuanya terintegrasi dalam sebuah data yang umum. Berbeda dengan sistem pengolahan data tradisional, sumber data ditangani sendiri-sendiri untuk tiap aplikasinya.
B. S truktur File Database
Struktur file database dapat dibagi-bagi menjadi ;
1. Data adalah satu satuan informasi yang akan diolah, dimana sebelum diolah dikumpulkan di dalam suatu file database. Pengumpulan data dilakukan secara sistematis menurut struktur file database tersebut.
2. Record adalah data yang isinya merupakan satu kesatuan seperti nama, alamat, nomor telepon. Setiap keterangan yang mencakup nama, alamat, dan nomor telepon dinamakan satu record. Dan setiap record diberi nomor urut yang disebut nomor record (record number). Ukuran suatu file database ditentukan oleh jumlah record yang tersimpan di dalamnya.
3. Field adalah sub bagian dari record. Dari contoh isi record diatas maka terdiri dari 3 field, yaitu fieldnama, field alamat dan field momor telepon.
C. Manfaat Database
Sebuah
sistem aplikasi pasti dibuat untuk membuat, mengolah,
atau
menghasilkan data yang akan bermanfaat untuk user sistem tersebut. Karena itulah, database menjadi salah satu komponen yang paling penting dalam sebuah sistem aplikasi. Selain hal di atas, manfaat database adalah:
1. Sebagai komponen utama atau penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi
2. M enentukan kualitas informasi yaitu cepat, akurat, dan relevan, sehingga infromasi yang disajikan tidak kadaluwarsa. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkanya. 3. M engatasi kerangkapan data (redudansi data) 4. M enghindari terjadinya inkonsistensi data 5. M engatasi kesulitan dalam mengakses data 6. M enyusun format yang standar dari sebuah data. 7. Penggunaan oleh banyak pemakai (multiple user). Sebuah database bisa dimanfaatkan sekaligus secara bersama oleh banyak user (multiuser). 8. M elakukan perlindungan dan pengamanan data. Setiap data hanya bisa diakses atau dimanipulasi oleh pihak yang diberi otoritas dengan memberikan login dan password terhadap masing-masing data. 9. Agar pemakai mampu menyusun suatu pandangan (view) abstraksi dari data. Hal ini bertujuan menyederhanakan interaksi antara user dengan sistemnya dan database dapat mempresentasikan pandangan yang berbeda kepada para user, perusahaan dan administrator.
1.6.1
Database Design
Database design adalah tahap pendesainan model database yang nantinya akan mendukung kinerja sistem dan tujuannya. Dimana dalam pendesainannya harus dipastikan bahwa sistem akhir akan memenuhi kebutuhan dari penggunanya (Peter Rob et al, 2009). Dalam proses mendesain database terdapat 2 pandangan terhadap data dalam sistem. Pertama, dari segi bisnis melihat data yang terdapat dalam sistem sebagai sebuah
sumber informasi dan bagaimana informasi tersebut digunakan untuk mendapatkan solusi dari sebuah masalah. Kedua, dari segi desainer sistem akan melihat data dari segi strukturnya dalam sistem, cara pengaksesan, dan aktivitas yang diperlukan untuk merubah data sebagai informasi untuk digunakan. Terdapat dua metode yang digunakan dalam melakukan desain database yaitu top-down dan bottom-up. Kedua metode ini meskipun memiliki beberapa perbedaan tetapi memiliki satu tujuan yaitu untuk menciptakan sebuah model database yang satu. Yang dimana terdapat 3 aspek dalam metode ini yaitu conceptual model yang merupakan konsep keseluruhan dari sistem, entity yang merupakan spesifikasi dari conceptual model, dan Attribute yang merupakan spesifikasi dalam entity.
Gambar Top-down vs Bottom-up -
Top-Down Pendesainan dimana dimulai dari melakukan identifikasi dari keseluruhan sistem yang didapatkan dari mengumpulkan data pengamatan. Yang kemudian dari identifikasi ini maka dibuat model konseptual yang merepresentasikan desain untuk nantinya akan dispesifikasi dari model tersebut menjadi lebih spesifik sampai nantinya akan didapatkan struktur data detail dari sistem.
-
Bottom-Up Kebalikan dari Top-Down, Bottom-Up merupakan metode pendesainan yang menggunakan data detail sistem untuk nantinya akan dibuat generalisasi dari data tersebut untuk membangun desain structural dari database yang akan digunakan.
Penggunaan dari masing-masing metode seluruhnya berada di tangan desainer sistem. Yang dimana masing-masing memiliki caranya tersendiri dalam pendesainan. Namun dalam penggunaanya terdapat keuntungannya tersendiri. M etode Bottom-Up memiliki kemungkinan untuk lebih produktif pada database yang kecil dan memiliki sedikit entitas, atribut, relasi. Namun dalam situasi dimana sebuah sistem memiliki tingkat kompleksitas entitas yang tinggi, variasi, dan banyak terdapat entitas, maka metode Top-Down dapat lebih mudah untuk dilakukan dan diatur. (Peter Rob et al, 2009)
2.7. UML (Unified Modelling Language)
A. S ejarah
Sebelum tercetusnya UM L, untuk memodelkan sebuah aplikasi komputer para pengembang menggunakan metode-metode permodelan berbasis objek. M etode – metode yang terkenal saat itu adalah metode OMT (Object-Modelling Technique) oleh James Rumbaugh, Booch oleh Grady Booch, dan OOSE (Object Oriented Software Engineering) oleh Ivar Jacobson. Saat itu, sebuah perusahaan-perusahaan yang ingin membuat perangkat lunak tetapi berbeda metode dengan si pengembang tidak akan bisa bekerjasama dengan baik karena metode-metode tersebut masih tidak universal. Bahkan bisa saja sebuah sistem aplikasi jika ditulis dengan bahasa pemrograman yang berbeda, perancangan yang didapatkan pun akan berbeda metode. Hal ini tentu sangat menghambat pengembangan perangkat lunak.Akhirnya ketiga tokoh pencetus metodemetode tadi sepakat untuk membuat sebuah bahasa untuk menggambarkan perancangan sebuah aplikasi komputer yang bersifat universal dan dapat digunakan untuk seluruh bahasa pemrograman, yang akhirnya kita sebut dengan UM L. (Bell, 2003)
B. Definisi
UM L (Unified Modelling Language) adalah sebuah bahasa standar yang telah disetujui untuk mempermudah permodelan, desain, dan dokumentasi dari sebuah perangkat lunak berorientasi objek (Ojo & Estevez, 2005). Sebuah desain perangkat lunak yang rumit jika dijelaskan dengan teks dapat dengan mudah digambarkan menggunakan UM L. UM L ditetapkan sebagai sebuah standar karena UM L bersifat
universal, cocok untuk semua bahasa pemrograman. Pemodelan dengan UM L juga memberikan beberapa keuntungan lain sebagai berikut: •
Visualisasi
•
M engurangi kompleksitas
•
M emperjelas komunikasi
C. Diagram yang terdapat pada UML
UM L menyediakan 13 macam diagram untuk memodelkan aplikasi berorientasi objek, namun kami hanya akan membahas beberapa jenis diagram yang kami gunakan yaitu: •
Use
case
diagram
adalah
sebuah
diagram
yang
bertujuan
untuk
mengkomunikasikan proses bisnis yang terjadi dan ruang lingkup dari sebuah sistem. Use case diagram terdiri dari aktor dan proses bisnis yang mereka lakukan melalui sistem tersebut.
.
Gambar 2.2 U se Case Diagram
•
Sequence diagram adalah sebuah diagram untuk memodelkan pengiriman pesan (message) antar object. Diagram ini dapat digunakan juga untuk menggambarkan suatu use case secara detail, dengan kata lain menggambarkan sebuah detail dari suatu proses bisnis yang terjadi di dalam sistem. Pada sebuah sequence diagram terdapat obyek yang terdapat pada suatu proses bisnis dan interaksi mereka satu sama lain.
Gambar 2.3 Sequence Diagram
•
Activity diagram adalah sebuah diagram untuk memodelkan perilaku use case dan object di dalam sistem. Diagram ini menggambarkan bagaimana hubungan antara use case dan obyek yang terdapat di dalam sistem, dari suatu keadaan awal sampai keadaan akhir. Contoh yang ada di bawah adalah salah satu contoh activity diagram menggunakan swim lane, dimana kegiatan-kegiatan yang berlangsung di dalam suatu use case dipisahkan menurut aktor yang melakukannya.
Gambar 2.4 Activity Diagram
•
Class Diagram untuk memodelkan struktur kelas dan hubungan dari entitas yang terdapat di dalam sebuah sistem. Sebuah kelas diagram digambarkan sebagai berikut:
Gambar 2.5 Class Diagram
Dimana setiap kotak merepresentasikan kelas dan bagian atas merupakan nama dari kelas tersebut, bagian tengah berisi atribut-atribut yang dimilikinya, sedangkan bagian bawah berisi metode atau operasi yang ada pada kelas tersebut. Anak
panah
dan
garis
yang menghubungkan
antar
kelas
menggambarkan relasi antara kelas yang dihubungkan.Angka yang terdapat pada kedua sisi penghubung antar kelas menunjukkan multiplicity dari kedua kelas tersebut.
2.8. ERD (Entity Relationship Diagram)
ERD adalah representasi data dari suatu organisasi secara detail, masuk akal dan digambarkan dalam grafik. ERD merupakan model dari entitas dalam suatu elemen bisnis, relasi antara entitas dan atribut atau properti dari entitas dan relasinya. (Valacich, George, & Hoffer, 2009).
ERD pertama kali dideskripsikan oleh Peter Chen yang dibuat sebagai bagian dari perangkat lunak CASE. ERD digunakan untuk memodelkan struktur data dan hubungan antar data. ERD terdiri dari beberapa elemen yang digambarkan dengan bentuk notasi dan simbol. Pada dasarnya ada tiga elemen yang digunakan, yaitu :
a. Entitas
Entitas merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999: 30). Simbol dari entiti ini biasanya digambarkan dengan persegi panjang. Contohnya seperti gambar di bawah.
Mahasiswa
Gambar 2.6 Entitas
b. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Di
antara atribut-atribut di dalam satu entitas, terdapat minimal satu atribut yang menjadi identitas unik, yang disebut juga sebagai Primary Key.
Mahasiswa NIM (PK) Nama Alamat
Gambar 2.7 Entitas dengan atribut
Pada gambar di atas, kata yang dicetak tebal adalah contoh atribut dari entitas M ahasiswa.
c. Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. M enurut Abdul Kadir (2002), ada beberapa macam relasi yang digunakan di dalam ERD, yaitu :
1). Satu ke satu (One to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
A
B
Gambar 2.8 Relasi one to one
2). Satu ke banyak (One to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A.
A
B
Gambar 2.9 Relasi one to many
3). Banyak ke banyak (Many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.
A
B
Gambar 2.10 Relasi many to many
2.8.1 Konversi Class Diagram menjadi ERD
Pada saat kita merancang database, kita dapat menggunakan class diagram sebagai acuan untuk membuat database (Jewett, 2006). Setiap skema relasi dari sebuah class diagram pada dasarnya dapat menjadi sebuah entitas beserta strukturnya. Hal ini dapat dilakukan karena pada dasarnya:
-
Setiap class adalah sebuah entitas
-
Setiap atribut yang dimiliki oleh class dapat menjadi atribut dari entitas tersebut di dalam ERD
-
Hubungan antar class yang ada juga dapat langsung menjadi relasi antar entitas di dalam ERD.
Akhirnya, setelah pengembang menurunkan setiap entitas, atribut, dan relasi dari class diagram, hanya diperlukan sedikit penyesuaian, yaitu menentukan super key attribute dari setiap entitas tersebut yang paling memungkinkan dan dapat menjadi identitas unik sebagai primary key, dan foreign key yaitu referensi primary key dari salah satu entitas yang berelasi dengan entitas lainnya. Berikut ini adalah langkah lengkap dari metode konversi tersebut (Ismail, B.,R., 2006).:
1. Ubah setiap class pada class diagram menjadi entitas pada ERD.
2. Setiap atribut pada class diturunkan menjadi atribut pada setiap entitas di ERD.
3. Tentukan setiap atribut pada class yang akan menjadi primary key.
4. Pada entitas asosiatif, tentukan setiap primary key dan foreign key untuk setiap entitas yang berhubungan satu sama lain.
5. Dari multiplicity pada setiap relasi class pada class diagram, ubahlah menjadi multiplicity relasi pada setiap entitas pada ERD.
2.9 Spiral Model
Spiral Model adalah sebuah model pengembangan perangkat lunak dengan pendekatan yang berdasarkan analisa resiko dan prototyping (Boehm 1987, Boehm et al, 1998).M odel spiral yang diusulkan oleh Boehm adalah model pengembangan perangkat lunak evolusioner yang merupakan kombinasi dari sifat iteratif dari prototype dengan aspek sistematis model waterfall. Sifat iteratif ditandai dengan tingkah laku yang memungkinkan pengembangan perangkat lunak secara bertahap. Setiap siklus iteratif, perkembangan yang dihasilkan bisa berupa prototype software/kertas, kemudian sedikit demi sedikit dikembangkan menjadi sistem yang lengkap. (Kristanto, 2004)
Tahapan-tahapan yang biasa dilakukan dalam model spiral terdapat pada gambar berikut
ini:
Gambar 2.11 Spiral Process Model
•
Determine objectives
M enentukan permasalahan, menentukan alternatif dan obyek yang mendesak seperti tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek. Rencana rinci manajemen juga ditulis lengkap. Pembuatan strategistrategi alternatif direncanakan sesuai dengan resiko yang ada. •
Risk Analysis
Analisis resiko, evaluasi, dan mencari solusi. Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya. Kemudian diambil langkahlangkah untuk mengurangi resiko. •
Engineering / develop
M embangun sebuah prototype untuk setiap tahap iterasi, berdasarkan hasil analisa yang telah dilakukan sebelumnya. •
Plan next phase
Penentuan rencana-rencana untuk tahap iterasi selanjutnya. Jika diputuskan untuk melanjutkan tahap spiral berikutnya maka proyek dibicarakan kembali dan rencana pun dibuat.
Kelebihan model S piral :
1. Cocok untuk pengembangan sistem dan perangkat lunak skala besar
2. Pengembang dan pemakai dapat lebih mudah memahami dan mengurangi resiko karena pengembangan dilakukan secara bertahap.
3. M enggunakan prototype sebagai mekanisme pengurangan resiko dan pada setiap tahap iterasi.
Kelemahan model S piral:
1. Jika tidak dikontrol dengan baik, proses pengembangan bisa memakan budget dan jadwal lebih besar daripada yang telah ditentukan sebelumnya.
2. Sistem yang dihasilkan akan sulit digunakan kembali karena sangat customized.
2.10. Interaksi Manusia dan Komputer
2.10.1. Definisi Interaksi Manusia dan Komputer
Interaksi M anusia dan Komputer (IM K), menurut The Association for Computing Machinery (ACM ), merupakan sebuah ilmu mengenai desain, evaluasi dan implementasi sistem interaktif danhal-hal yang terjadi selama penggunaan.Sesuai dengan namanya, IMK terdiri dari tiga bagian yaitu manusia (user), komputer dan interaksi antara kedua elemen tersebut. • User User yang dimaksud ini bisa sebagai user individu, kumpulan user yang bekerja bersama, atau rangkaian user yang bekerja dalam organisasi.Cara kerja sistem sensor manusia (penglihatan, pendengaran dan sentuhan) dalam menangkap informasi menjadi salah satu aspek penting dalam merancang produk, karena user menyukai desain yang dapat menarik perhatian mereka. Oleh karena itu, desainer harus dapat membuat produk yang atraktif tanpa mengalihkan fokus user dari pekerjaan mereka. • Komputer Perangkat yang digunakan sebagai media yang menjalankan suatu produk. Komputer yang menjadi media tersebut bisa merupakan komputer rumah (desktop computer) sampai komputer berskala besar yang digunakan di perusahaan.
• Interaksi Terdapat perbedaan nyata antara manusia dan mesin.Kendati demikian, IM K mencoba memastikan bahwa kedua elemen
tersebut dapat berjalan
berdampingan dan berinteraksi dengan baik. Untuk mendapatkan website yang layak guna, desainer perlu menerapkan hal-hal yang diketahuinya mengenai manusia dan komputer, dan juga diperlukan konsultasi dengan user selama proses desain.
2.10.2. Tujuan Interaksi Manusia dan Komputer
Tujuan IM K adalah untuk menciptakan sistem yang aman dan dapat digunakan, sebaik sistem fungsional. Guna menciptakan sistem komputer dengan kegunaan yang baik, maka pengembang harus berusaha untuk :
1. M emahami faktor yang menentukan bagaimana user menggunakan teknologi. 2. M engembangkan tools dan teknik yang memungkinkan pembangunan sistem yang sesuai. 3. M encapai interaksi yang efisien, efektif dan aman.
Berdasarkan pokok-pokok IM K diatas, user yang menggunakan sistem komputer harus didahulukan. Kebutuhan, kapabilitas dan preferensi mereka dalam melakukan beragam tugas harus dapat mengarahkan pengembang dalam merancang sistem. User tidak perlu mengubah cara mereka dalam beraktivitas untuk menyesuaikan diri dengan sistem, namun sistem yang harus disesuaikan dengan kebutuhan user.
Untuk berinteraksi dengan user, sistem membutuhkan user interface. Semua yang ditampilkan di layar yang dibaca dalam dokumen dan dapat dimanipulasi dengan keyboard atau mouse adalah bagian dari user interface. Supaya sistem yang dibuat lebih mudah digunakan oleh user, maka perancangan user interface ini harus dilakukan dengan baik.Dalam perancangan tampilan sebuah sistem, dikenal sebuah aturan"Eight Golden Rules of Interface Design".Aturan ini diperoleh dari tulisan berjudul “Designing the User Interface” dari Ben Shneiderman.Aturan ini dibuat untuk meningkatkan daya guna dari sebuah aplikasi dengan membantu pengembang untuk menciptakan tampilan antarmuka yang baik. M enurut Shneiderman, aturan ini terbentuk secara heuristik dari pengalaman, dan dapat diaplikasikan pada semua sistem yang interaktif. Aturannya adalah sebagai berikut:
1. Berusaha untuk tetap konsisten Konsistensi diperlukan di dalam sistem untuk setiap tindakan yang serupa, istilah yang digunakan pada menu, pesan peringatan, dan layar petunjuk. Selain itu perintah-perintah yang digunakan pada sistem harus konsisten. 2. Memungkinkan user untuk menggunakan shortcuts Untuk penggunaan yang berulang-ulang, tentu saja user menginginkan kecepatan dalam penggunaan sistem. Abbreviations, function keys, hidden commands, dan macro facilities akan sangat membantu untuk expert user.
3. Memberikan umpan balik yang informatif Sistem harus dapat memberikan umpan balik kepada user. Untuk setiap tindakan yang sering dilakukan, umpan baliknya dapat sederhana, sedangkan untuk tindakan yang jarang dilakukan, umpan baliknya harus lebih kuat.
4. Merancang dialog untuk mencapai keadaan penutupan Sebuah tindakan harus dibagi menjadi beberapa langkah, misal awal, inti dan akhir dari tindakan. Umpan balik yang terdapat di akhir dari proses akan memberikan user keyakinan dan ketenangan bahwa proses yang dilakukan sudah selesai, dan dapat mempersiapkan diri untuk tindakan selanjutnya. 5. Mencegah error Rancanglah sistem supaya tindakan user tidak dapat memicu error yang serius dan rumit. Jika error terjadi, maka sistem harus memiliki mekanisme untuk menangani error tersebut. 6. Mendukung pembalikan aksi yang mudah Fitur pembalikan aksi ini dibutuhkan untuk mendorong user untuk mengeksplorasi sistem, karena sebagian user merasa bahwa error pasti tidak dapat diperbaiki. Pembalikan aksi dapat berupa pembalikan tindakan, pembalikan input data, atau bahkan pembalikan beberapa tindakan sekaligus. 7. Mendukung pusat kendali internal User ingin merasakan bahwa merekalah yang mengontrol sistem, bukan sistem yang mengontrol mereka. Rancanglah sistem untuk memperlakukan user seperti inisiator tindakan, bukan responden. 8. Mengurangi beban ingatan jangka pendek Karena keterbatasan memori jangka pendek manusia dalam memproses informasi, tampilan dari sistem harus dibuat sesederhana mungkin. M isalnya dengan menggabungkan beberapa tampilan menjadi satu, dan mengurangi pergantian tampilan.