1. Abstract Class Abstract Class adalah sebuah class yang tidak bisa di-instansiasi (tidak bisa dibuat menjadi objek) dan berperan sebagai ‘kerangka dasar’ bagi class turunannya. Di dalam abstract class umumnya akan memiliki abstract method. Abstract class digunakan di dalam inheritance (pewarisan class) untuk ‘memaksakan’ implementasi method yang sama bagi seluruh class yang diturunkan dari abstract class. Abstract class digunakan untuk membuat struktur logika penurunan di dalam pemrograman objek. abstrack class komputer { // isi dari class komputer } ?> 2. Package Package adalah sebuah sarana untuk mengelompokkan atau mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library. Package mempengaruhi mekanisme hak akses ke kelas didalamnya. hal terpenting yang diperhatikan pada saat mendeklarasikanpackage, bahwa class tersebut harus disimpan pada suatu directory yang sama dengan nama package nya. 3. Casting Object Casting pada java berarti mengambil objek dari satu jenis tertentu lalu mengubahnya menjadi jenis objek yang lain. Objek yang dimaksud adalah tipe data yang nantinya akan diubah ke dalam tipe data lain misalkan tipe data integer menjadi string. 4. Overloading Sebuah method yang mendefinisikan dua atau lebih method dalam kelas sama, nama sama, deklarasi parameter berbeda. Sehingga mempunyai implementasi dan return value yang berbeda pula. 5. Overriding Sebuah method yang menyatakan suatu keadaan dimana method pada subclass menolak pada parent classnya. Cirinya adalah nama method, parameter, return type harus sama. 6. Pewarisan Interface Sebuah class dapat mewarisi interface dengan menggunakan kata kunci implements, dimana class tersebut dapat mewarisi beberapa interface.
Istilah generasi ke empat, mengarah ke perangkat lunak
yang umum yaitu tiap pengembang perangkat lunak menentukan beberapa
karakteristik perangkat lunak pada level tinggi.
a.Tahapan Fourth Generation Techniques (4GT)
1)Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional
2)Translasi kebutuhan menjadi prototype operasional,
atau langsung melakukan implementasi secara langsung dengan menggunakan
bahasa generasi ke empat (4GL) jika aplikasi relatif kecil
3)Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan
4)Pengujian
5)Membuat dokumentasi
6)Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan paradigma rekayasa perangkat lunak lainnya
b.Kelebihan Fourth Generation Techniques (4GT)
·Pengurangan waktu dan peningkatan produktivitas secara besar
c.Kelemahan Fourth Generation Techniques (4GT)
- Kesulitan penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien
d.Waktu Penggunaan - Hanya digunakan untuk mengembangkan perangkat lunak yang menggunakan bentuk bahasa khusus atau notasi grafik yang diselesaikan
dengan syarat yang dimengerti pemakai.
Component-based development sangat berkaitan dengan teknologi
berorientasi objek. Pada pemrograman berorientasi objek, banyak class
yang dibangun dan menjadi komponen dalam suatu software. Class-class
tersebut bersifat reusable artinya bisa digunakan kembali. Model ini
bersifat iteratif atau berulang-ulang prosesnya.
Secara umum proses yang terjadi dalam model ini adalah:
Identifikasi class-class yang akan digunakan kembali dengan menguji
class tersebut dengan data yang akan dimanipulasi dengan
aplikasi/software dan algoritma yang baru
Class yang dibuat pada proyek sebelumnya disimpan dalam class
library, sehingga bisa langsung diambil dari library yang sudah ada.
Jika ternyata ada kebutuhan class baru, maka class baru dibuat dengan
metode berorientasi objek.
Bangun software dengan class-class yang sudah ditentukan atau class baru yang dibuat, integrasikan.
Penggunaan kembali komponen software yang sudah ada menguntungkan dari segi:
► Siklus waktu pengembangan software, karena mampu mengurangi waktu 70%
► Biaya produksi berkurang sampai 84% arena pembangunan komponen berkurang
Pembangunan software dengan menggunakan komponen yang sudah tersedia
dapat menggunakan komponen COTS (Commercial off-the-shelf) – yang bisa
didapatkan dengan membeli atau komponen yang sudah dibangun sebelumnya
secara internal. Component-Based Software Engineering (CBSE) adalah
proses yang menekankan perancangan dan pembangunan software dengan
menggunakan komponen software yang sudah ada. CBSE terdiri dari dua
bagian yang terjadi secara paralel yaitu software engineering
(component-based development) dan domain engineering.
Pada model ini, yang digunakan disini adalah notasi matematika yang
terperinci dan penuh ketelitian dalam mengidentifikasi desain dan
menguji sistem yang berbasis komputer. Metode ini sering dipakai untuk
spesifikasi yang detail, rancangan dan verifikasi pada bagian-bagian
sistem yang penting (bersifat kritikal) seperti pada sistem avionic dan
aerospace, serta pada sistem keamanan yang kritikal pada monitor
jantung, ATM (Anjungan Tunai Mandiri) dan pada perbankan.dan secara
khusus, metode formal sangat cocok dijalankan pada sistem yang kompleks.
Kelebihan model ini adalah pengurangan waktu dan peningkatan produktivitas yang besar.
Kekurangan model ini adalah kemungkinan akan sulit memanfaatkan alat
bantu/peralatan/tools 4GT dibandingkan dengan menggunakan bahasa
pemrograman yang konvensional, selain itu terdapat juga masalah dalam
hal kode sumber yang tidak efisien. Di samping itu, pemeliharaan sistem
software besar yang dikembangkan oleh 4GT juga masih sedang dalam proses
pengkajian.
Model ini diaplikasikan untuk mengembangkan perangkat lunak yang memakai
bentuk bahasa khusus atau notasi grafik yang dieksekusi/diselesaikan
dengan syarat atau ketentuan yang dipahami oleh
pemakai/pengguna/kustomer.
Rapid Application Development (RAD)
adalah strategi siklus hidup yang ditujukan untuk menyediakan
pengembangan yang jauh lebih cepat dan mendapatkan hasil dengan kualitas
yang lebih baik dibandingkan dengan hasil yang dicapai melalui siklus
tradisional (McLeod, 2002). RAD merupakan gabungan dari bermacam-macam teknik terstruktur dengan teknik prototyping dan teknik pengembangan joint application
untuk mempercepat pengembangan sistem/aplikasi (Bentley, 2004). Dari
definisi-definisi konsep RAD ini, dapat dilihat bahwa pengembangan
aplikasi dengan menggunakan metode RAD ini dapat dilakukan dalam waktu
yang relatif lebih cepat.
Pemaparan konsep yang lebih spesifik lagi dijelaskan oleh Pressman (2005) dalam bukunya, “Software Engineering: A Practition’s Approach”.
Ia mengatakan bahwa RAD adalah proses model perangkat lunak inkremental
yang menekankan siklus pengembangan yang singkat. Model RAD adalah
sebuah adaptasi “kecepatan tinggi” dari model waterfall, di
mana perkembangan pesat dicapai dengan menggunakan pendekatan konstruksi
berbasis komponen. Jika tiap-tiap kebutuhan dan batasan ruang lingkup
projek telah diketahui dengan baik, proses RAD memungkinkan tim
pengembang untuk menciptakan sebuah “sistem yang berfungsi penuh” dalam
jangka waktu yang sangat singkat. Dari penjelasan Pressman (2012) ini,
satu perhatian khusus mengenai metodologi RAD dapat diketahui, yakni
implementasi metode RAD akan berjalan maksimal jika pengembang aplikasi
telah merumuskan kebutuhan dan ruang lingkup pengembangan aplikasi
dengan baik.
Sedangkan menurut Kendall (2010), RAD
adalah suatu pendekatan berorientasi objek terhadap pengembangan sistem
yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak.
RAD bertujuan mempersingkat waktu yang biasanya diperlukan dalam siklus
hidup pengembangan sistem tradisional antara perancangan dan penerapan
suatu sistem informasi. Pada akhirnya, RAD sama-sama berusaha memenuhi
syarat-syarat bisnis yang berubah secara cepat.
Fase dan Tahapan Pengembangan Aplikasi
Menurut Kendall (2010), terdapat tiga
fase dalam RAD yang melibatkan penganalisis dan pengguna dalam tahap
penilaian, perancangan, dan penerapan. Adapun ketiga fase tersebut
adalah requirements planning (perencanaan syarat-syarat), RADdesign workshop (workshop desain RAD), dan implementation
(implementasi). Sesuai dengan metodologi RAD menurut Kendall (2010),
berikut ini adalah tahap-tahap pengembangan aplikasi dari tiap-tiap fase
pengembangan aplikasi.
Dalam fase ini, pengguna dan penganalisis
bertemu untuk mengidentifikasikan tujuan-tujuan aplikasi atau sistem
serta untuk megidentifikasikan syarat-syarat informasi yang ditimbulkan
dari tujuan-tujuan tersebut. Orientasi dalam fase ini adalah
menyelesaikan masalah-masalah perusahaan. Meskipun teknologi informasi
dan sistem bisa mengarahkan sebagian dari sistem yang diajukan, fokusnya
akan selalu tetap pada upaya pencapaian tujuan-tujuan perusahaan
(Kendall, 2010).
2) RAD Design Workshop (Workshop Desain RAD)
Fase ini adalah fase untuk merancang dan memperbaiki yang bisa digambarkan sebagai workshop.
Penganalisis dan dan pemrogram dapat bekerja membangun dan menunjukkan
representasi visual desain dan pola kerja kepada pengguna. Workshop desain ini dapat dilakukan selama beberapa hari tergantung dari ukuran aplikasi yang akan dikembangkan. Selama workshop
desain RAD, pengguna merespon prototipe yang ada dan penganalisis
memperbaiki modul-modul yang dirancang berdasarkan respon pengguna.
Apabila sorang pengembangnya merupakan pengembang atau pengguna yang
berpengalaman, Kendall menilai bahwa usaha kreatif ini dapat mendorong
pengembangan sampai pada tingkat terakselerasi (Kendall, 2010).
3) Implementation (Implementasi)
Pada fase implementasi ini, penganalisis bekerja dengan para pengguna secara intens selama workshop
dan merancang aspek-aspek bisnis dan nonteknis perusahaan. Segera
setelah aspek-aspek ini disetujui dan sistem-sistem dibangun dan
disaring, sistem-sistem baru atau bagian dari sistem diujicoba dan
kemudian diperkenalkan kepada organisasi (Kendall, 2010).
Kelebihan dan Kekurangan RAD
Metode pengembangan sistem RAD relatif
lebih sesuai dengan rencana pengembangan aplikasi yang tidak memiliki
ruang lingkup yang besar dan akan dikembangkan oleh tim yang kecil.
Namun, RAD pun memiliki kelebihan dan kekurangannya sebagai sebuah
metodoligi pengembangan aplikasi. Berikut ini adalah kelebihan
metodologi RAD menurut Marakas (2006):
Penghematan waktu dalam keseluruhan fase projek dapat dicapai.
RAD mengurangi seluruh kebutuhan yang berkaitan dengan biaya projek dan sumberdaya manusia.
RAD sangat membantu pengembangan aplikasi yang berfokus pada waktu penyelesaian projek.
Perubahan desain sistem dapat lebih berpengaruh dengan cepat dibandingkan dengan pendekatan SDLC tradisional.
Sudut pandang user disajikan dalam sistem akhir baik melalui fungsi-fungsi sistem atau antarmuka pengguna.
RAD menciptakan rasa kepemilikan yang kuat di antara seluruh pemangku kebijakan projek.
Sedangkan, mengacu pada pendapat Kendall
(2010), maka dapat diketahui bahwa kekurangan penerapan metode RAD
adalah sebagai berikut:
Dengan metode RAD, penganalisis berusaha mepercepat projek dengan terburu-buru.
Kelemahan yang berkaitan dengan waktu
dan perhatian terhadap detail. Aplikasi dapat diselesaikan secara lebih
cepat, tetapi tidak mampu mengarahkan penekanan terhadap
permasalahan-permasalahan perusahaan yang seharusnya diarahkan.
RAD menyulitkan programmer yang tidak berpengalaman menggunakan prangkat ini di mana programmer dan analyst dituntut untuk menguasai kemampuan-kemampuan baru sementara pada saat yang sama mereka harus bekerja mengembangkan sistem.