• Tidak ada hasil yang ditemukan

DAFTAR PUSTAKA

II. LANDASAN TEOR

7. First (or last) of maxima , menggunakan seluruh keluaran dari fungsi keanggotaan, sepert

2.4.1 Arsitektur Client-Server

Arsitektur client-server terdiri dari komputer yang berfungsi sebagai client dan komputer yang berfungsi sebagai server. Jumlah komputer client dan server yang berada pada suatu jaringan client-server tidak dibatasi. Pembatasan hanya dilakukan pada fungsinya. Arsitektur ini

merupakan arsitektur yang paling banyak digunakan dan dikenal oleh pengguna jaringan saat ini. Pada arsitektur client-server, telah terjadi pembagian tugas yang lebih merata antara client dan

server yang digunakan. Server yang digunakan dapat berupa mainframe,microcomputer, ataupun

minicomputer. Sedangkan client biasanya berupa microcomputer. Server akan menjalankan dua piranti lunak aplikasi, yaitu : penyimpanan data dan logika pengaksesan data. Client juga akan menjalankan dua piranti lunak aplikasi, yaitu : logika presentasi dan logika aplikasi (Dennis, 2002). Pembagian piranti lunak aplikasi antara client dan server dapat mempunyai beberapa bentuk seperti aplikasi 2-tier, aplikasi 3-tier, dan aplikasi n-tier. Gambar 25 di bawah ini menunjukkan arsitektur client-server.

Gambar 25. Arsitektur client-server

Web Browser dan Web Server merupakan salah satu contoh arsitektur client-server. Kelebihan arsitektur client-server adalah kemampuannya untuk mendukung piranti keras dan piranti lunak dari berbagai vendor untuk dapat bekerja sama. Sedangkan kekurangannya adalah masih terdapat kesulitan untuk menghubungkan aplikasi piranti lunak dari vendor-vendor yang berbeda. Untuk mengatasi hal ini, diperlukan bantuan piranti lunak middleware yang diletakkan pada lapisan aplikasi (application layer) di sisi client dan juga di sisi server. Piranti lunak

middleware inilah yang akan melakukan fungsi sebagai penerjemah dan mengendalikan

pengiriman data.

2.5 Waterfall Life Cycle Model

Waterfall life cycle model merupakan salah satu model klasik yang banyak digunakan pada pengembangan atau pembuatan piranti lunak. Pembuatan piranti lunak merupakan tahapan pembuatan aplikasi yang dilakukan melalui serangkaian proses yang saling berkaitan satu sama lain. Tahapan yang dilakukan dalam pengembangan piranti lunak ini sering kali disebut sebagai siklus hidup piranti lunak (software life cycle) yang merupakan periode waktu yang dimulai dari proses konseptualisasi aplikasi yang akan dibuat dan diakhiri pada saat aplikasi yang telah

dihasilkan akan dihancurkan setelah dirasa tidak lagi diperlukan (Kishore dan Naik, 2001). Siklus hidup piranti lunak akan melakukan organisasi terhadap berbagai macam tugas software engineering menjadi fase-fase, seperti apa saja yang perlu dilakukan pada masing-masing fase dan bagaimana fase-fase ini berhubungan satu sama lain sehingga bisa saling overlap.

Pada waterfall life cycle model, tugas pada setiap fase dilakukan secara berurutan, sehingga fase selanjutnya hanya dapat dilakukan apabila semua tugas pada fase sebelumnya telah selesai dilakukan. Gambar 26 berikut ini menggambarkan fase-fase yang terdapat pada waterfall life cycle model.

Gambar 26. Fase-fase pada waterfall life cyclemodel

Menurut Kishore dan Naik (2001) terdapat enam fase pada waterfall life cycle model, yaitu : ƒ Analisis Kebutuhan (Requirement)

Fase analisis kebutuhan merupakan fase pertama pada waterfall life cycle model. Pada fase ini akan dilakukan proses analisis tentang apa yang akan dibangun, termasuk didalamnya tentang apa saja yang dibutuhkan.

ƒ Perancangan (Design)

Fase perancangan merupakan fase selanjutnya setelah fase analisis kebutuhan. Pada fase ini akan ditentukan tentang bagaimana cara kerja dari sistem yang akan dibangun. Pada

fase ini akan dilakukan juga perancangan tentang segala sesuatu yang diperlukan oleh sistem.

ƒ Pembuatan (Construction)

Fase pembuatan merupakan fase dimana dilakukan proses koding terhadap hasil perancangan. Tugas yang dilakukan pada fase ini pada umumnya dilakukan oleh kelompok yang lebih besar daripada kelompok yang melakukan tugas pada fase sebelumnya. Pada fase ini pula biasanya akan dilakukan proses pembuatan user manual. ƒ Pengujian (Testing)

Fase pengujian dilakukan untuk menguji koding yang dihasilkan pada fase sebelumnya. Pengujian yang dilakukan merupakan pengujian penuh terhadap seluruh aspek pada sistem, mulai dari pengujian pada tingkat paling bawah sampai pengujian tentang penerimaan sistem oleh penggunanya (acceptancetesting).

ƒ Penerapan (Deployment)

Fase penerapan dilakukan setelah fase pengujian selesai dan hasil pengujian menunjukkan bahwa sistem telah siap untuk diimplementasikan dalam lingkungan pengguna. Tugas- tugas penting yang dilakukan pada fase penerapan antara lain adalah instalasi sistem, penggantian dari sistem lama ke sistem baru, dan pelatihan tentang sistem baru kepada penggunanya. Hasil dari fase penerapan sangat tergantung pada hasil dari fase-fase sebelumnya, terutama fase analisis kebutuhan. Apabila tugas pada fase analisis kebutuhan dilakukan secara tidak sempurna, ada kemungkinan terdapat kebutuhan pengguna yang baru diketahui pada saat sudah masuk ke fase penerapan.

ƒ Operasional dan Pemeliharaan (Operations and Maintenance)

Fase operasional dan pemeliharaan merupakan fase dimana sistem sudah diimplementasikan dalam proses bisnis penggunanya. Pada fase ini, dapat dilakukan modifikasi terhadap sistem yang ada supaya sesuai dengan kebutuhan penggunanya.

Penggunaan waterfall life cycle model dalam perancangan software memberikan beberapa kelebihan, seperti :

ƒ Pada waterfall life cycle model, fase-fase yang ada sudah terdefinisi dan terbagi secara jelas, sehingga akan menghasilkan keluaran yang tepat dan jelas.

ƒ Adanya urutan yang jelas pada tugas-tugas yang diperlukan pada software engineering

untuk menghasilkan suatu software.

Selain beberapa kelebihan yang dimilikinya, waterfall life cycle model juga mempunyai beberapa kekurangan, seperti :

ƒ Tidak adanya mekanisme untuk mengontrol perubahan yang terjadi pada fase analisis kebutuhan yang baru terjadi setelah dilakukannya fase perancangan dan pembuatan atau setelah adanya feedback dari pengguna sistem.

ƒ Waterfall life cycle model mengurangi keterlibatan pengguna sistem pada fase

perancangan dan pembuatan, sehingga dapat memicu timbulnya batas antara pengguna dengan sistem yang dibangun. Hal ini pada akhirnya akan dapat mengurangi rasa ‘kepemilikan’ pengguna terhadap sistem yang dihasilkan.

ƒ Tidak ada feedback dari pengguna yang dilakukan pada saat sistem sedang dibangun. Kondisi seperti ini pada akhirnya sering kali membuat proses pada fase analisis kebutuhan tidak dapat memberikan gambaran kebutuhan pengguna yang sesungguhnya.

ƒ Dibutuhkan waktu yang lama untuk menghasilkan software yang dibutuhkan oleh pengguna, terutama bila software yang dibuat cukup kompleks.

ƒ Terbatasnya interaksi antara pengembang sistem dengan pengguna sistem, yang dapat menimbulkan kecenderungan untuk penambahan fungsi-fungsi baru pada sistem yang tidak sesuai dengan kebutuhan pengguna. Proses penambahan fungsi pada sistem dapat menimbulkan makin tingginya waktu dan biaya yang harus dikeluarkan dalam rangka pembuatan software.

ƒ Adanya asumsi bahwa semua kebutuhan sistem harus diketahui sejak awal proses pembuatan software dapat menimbulkan keputusan yang diambil menjadi prematur.

ƒ Rendahnya tingkat flexibility pada model ini.

Menimbang adanya kekurangan pada waterfall life cycle model ini, maka kemudian dilakukan modifikasi pada model ini dengan menambahkan perulangan antar fase. Dengan adanya proses perulangan antar fase membuat pihak pengembang menjadi lebih fleksibel dan dapat kembali ke fase sebelumnya untuk memperbaiki tugas-tugas yang telah dilakukan pada fase sebelumnya.

Dokumen terkait