Paradigma Rekayasa Perangkat Lunak

Perangkat lunak adalah suatu benda tak berwujud (intangible) yang berpasangan dengan perangkat keras yang dibuat untuk memenuhi suatu maksud atau tujuan tertentu. Tujuan atau maksud ini bisa jadi bagian dari sebuah sistem atau bahkan sistem itu sendiri. Manusia berperan dalam membangun atau membuat kedua perangkat tersebut, dan berperan untuk menggunakan atau menerima hasilnya. Misalnya perangkat lunak personalia, perangkat lunak tersebut dijalankan pada suatu komputer (perangkat keras) untuk menangani masalah-masalah yang terkait dengan pengelolaan sumber daya manusia sebuah perusahaan. Ada orang-orang yang terlibat dalam mengembangkan perangkat lunak dan ada orang-orang yang menjalankan atau memakainya. Dari penjelasan di atas dapat dilihat ada beberapa hal atau elemen yang terlibat, yaitu perangkat lunak, perangkat keras, pembuat perangkat lunak, pemakai perangkat lunak dan masalah.

Paradigma Rancangan Perangkat Lunak memiliki beberapa metode yaitu:

1.      Waterfall Model

Waterfall Model sering juga disebut sebagai Classic Life Cycle. Aktifitas life cycle direpresentasikan dalam grafik pada gambar berikut ini. Bagan ini dikenal sebagai model waterfall karena mengikuti bentuk air terjun dengan satu aktifitas menuju aktifitas berikutnya.

a.    Requirement Specification

Pada tahap requirement specification, desainer dan customer mencoba menangkap deskripsi seperti apa nantinya sistem yang sebenarnya akan dibangun.

b.    Architectural Design

Tahap ini sering disebut tahap analisis. Aktifitas disini memfokuskan pada bagaimana sistem menyediakan layananan seperti diharapkan.

c.    Detailed Design

Tahap detailed design adalah perbaikan dari deskripsi komponen yang dihasilkan oleh architectural design. Perilaku yang ditunjukkan oleh deskripsi pada level di atasnya, harus terdapat pula di deskripsi detailnya.

d.    Coding and Unit Testing

Hasil dari detailed design harus dalam bentuk yang dapat diimplementasikan ke executable programming language. Setelah coding, setiap komponen diuji untuk memverifikasi apakah berjalan dengan benar sesuai dengan criteria yang telah ditetapkan pada tahap-tahap awal.

e.   Integration and Testing

Pada tahap ini juga dimungkinkan untuk melakukan tes (acceptance test) dengan customer untuk memastikan sistem yang dibuat memenuhi kebutuhan mereka.

f.     Maintenance

Maintenance melibatkan koreksi terhadap kesalahan/error yang ditemui pada sistem setelah di-release dan dilakukan perbaikan terhadap sistem, sehingga tahap maintenance memberikan feedback pada semua aktifitas lain pada life cycle.

g.    Validasi dan Verifikasi

Proses pengecekan ini disebut sebagai validasi dan verifikasi. Pada bidang Interaksi Manusia dan Komputer, validasi ini sering disebut sebagai evaluasi yang dapat dilakukan secara terpisah oleh desainer atau bekerja sama dengan user.

 

2.      Spiral Model

Model proses nyata waterfall yang berorientasi dokumen telah diambil sebagai standar umum oleh banyak agen pemerintah dan pembuat perangkat lunak. Jadi, tidak mudah melupakan model tersebut walaupun masih terdapat masalah-masalah yang ditimbulkan dalam model tersebut. Kita membutuhkan sebuah proses yang lebih baik untuk manajemen yang dapat menggunakan semua model umum seperti yang telah kita bicarakan sebelumnya. Model perbaikan tersebut juga harus memenuhi kebutuhan-kebutuhan pembuat perangkat lunak. Pendekatan alternatif diusulkan oleh Boehm (1988). Boehm mengusulkan sebuah model yang secara eksplisit menjelaskan bahwa resiko yang disadari mungkin membentuk dasar model proses umum.

Model Boehm bebrbentuk spiral. Setiap loop mewakili sebuah tahap dari proses perangkat lunak.

Tidak ada tahap yang tetap dalam model ini. Manajemen harus memutuskan bagaimana membentuk proyek kedalam tahap-tahap. Perusahaan biasanya bekerja dengan beberapa model umum dengan tahap tambahan untuk proyek khusus atau ketika masala-masalah ditemukan selama pembuatan proyek.

Setiap loop dibagi dalam 4 sektor :

a. Pembuatan tujuan

Tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek ditentukan. Rencana rinci manajemen juga ditulis lengkap. Pembuatan strategi-strategi alternatif direncanakan sesuai dengan resiko yang ada.

b. Perkiraan dan pengurangan resiko

Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya. Kemudian diambil langkah-langkah untuk mengurangi resiko. contohnya, jika ada resiko bahwa persyaratan-persyaratan tidak tepat maka sebuah model contoh mungkin dapat dikembangkan.

c. Pengembangan dan validasi

Setelah evaluasi resiko, sebuah model pengembangan untuk sistem dipilih. Misalnya, jika resiko interface pengguna yang dominan maka model pengembangan yang tepat.

d. Perencanaan

Jika diputuskan untuk melanjutkan pada loop spiral berikutnya maka proyek dibicarakan kembali dan rencana dibuat untuk tahap selanjutnya.

 

 3.      RAD (Rapid Application Development)

Rapid Application Development (RAD) merupakan model proses pengembangan software yang linier sequencial yang menggunakan siklus pengembangan yang singkat. Pendekatan RAD melalui beberapa fase:

a.      Business Modeling

Aliaran informasi fungsi bisnis dimodelkan untuk bisa menjawab pertanyaan sebagai berikut:

1.      Informasi apa yang dibutuhkan proses bisnis ?

2.      Informasi apa saja yang dihasilkan ?

3.      Siapa yang membuat informasi tersebut ?

4.      Informasi itu dibutuhkan siapa saja ?

5.      Siapa yang memproses informasi tersebut ?

b.      Data Modelling

Aliran informasi yang telah didefinisikan disempurnakan lagi menjadi kumpulan object data, yang   dibutuhkan untuk mendukung sistem tersebut. Karakteristik (Atau atribut) masing-masing object diidentifikasi dan relasi antara object tersebut didefinisikan.

c.       Proses Modelling

Object data yang telah didefinisikan ditransformasi untuk mendapatkan aliran informasi yang mungkin    mengimplementasikan fungsi bisnis. Deskripsi proses dibuat untuk menambah, modifikasi, penghapusan, atau pencarian object data.

d.      Application Generation

Pekerjaan proses RAD dilakukan dengan menggunakan kembali komponen program yang sudah ada (jika memungkinkan) atau membuat komponen yang bisa dipergunakan kembali (jika memungkinkan).

e.       Testing & Turnover

Karena proses RAD mempergunakan kembali komponen yang sudah ada, maka beberapa komponen program telah teruji. Hal ini bisa mengurangi waktu pengujian secara keseluruhan, akan tetapi komponen harus tetap di uji.

 

 4.      XP (Extreme Programming)

Extreme Programming muncul menawarkan sebuah disiplin baru dalam pengembangan software secara agile. Nilai dasar yang terkandung di dalam Extreme Programming adalah: Komunikasi (Communication), Kesederhanaan (Simplicity), Umpan balik (Feedback) Keberanian (Courage) dan menghormati (Respect).

Menurut penggagas dari metode XP, Kent Beck mendefinisikan empat kunci utama (inti) dari XP yaitu:

a.      Communication (Komunikasi)

Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Tujuannya untuk memberikan pandangan pengembang sesuai dengan pandangan pengguna sistem.

b.      Simplicity (Kesederhanaan)

Perbedaan metode ini dengan metodologi pengembangan sistem konvensional lainnya terletak pada proses desain dan coding yang terfokus pada kebutuhan saat ini daripada kebutuhan besok, seminggu lagi atau sebulan lagi. Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan.

c.      Feedback (Masukan)

Ini dimaksudkan agar hal-hal yang menjadi masalah dalam proses pengembangan dapat diketahui sedini mungkin. Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).

d.      Courage (Keberanian)

Berani mencoba ide baru. Berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.

e.      Respect (Menghormati)

Pentingnya respect terhadap anggota team lainnya karena dengan siklus pendek dan integrasi continue, programmer tidak boleh melakukan perubahan yang dapat merusak kompilasi dan menyebabkan keberadaan unit uji gagal atau memperlambat kerja team. Respects tiap individu akan selalu menghasilkan kualitas tinggi.

 

Sumber :

  1. http://ibrahim.burhan.biz/2007/02/01/paradigma-oo/

2.   http://www.elektroindonesia.com/elektro/komp27.html

3.   Pressman, Roger.S. “Software Engineering: A Practitioner’s Approach”, 3th. McGRAW-HILL INTERNATIONAL EDITIONS 1992.

4.     http://adit279.com/?p=71

5.     http://www.si.its.ac.id/kurikulum/materi/rpl/rad%20model.html

Selamat Menulis

>> PEMESANAN TIKET UTAMA TOUR AND TRAVEL DENGAN SMS GATEWAY <<

Dalam memenuhi salah satu tugas rekayasa perangkat lunak, penulis akan menjelaskan mengenai requirement engineering mengenai kasus pemesanan tiket travel. Dari kasus tersebut, dapat menghasilkan suatu sistem yang terintegrasi, mulai dari penjualan, pemasaran, marketing, pelayanan dan sistem reservasi dalam bentuk SMS gateway agar memudahkan segala kegiatan perusahaan dan memenuhi kebutuhan pelanggan pada Utama Tour and Travel. Dalam pembuatan sistem rekayasa perangkat lunak ini, penulis menggunakan metode waterfall (metode air terjun) dengan tahapan-tahapan dasar sebagai berikut :

  1. Analisis dan Definisi Persyaratan

Pelayanan, batasan, tujuan sistem ditentukan melalui konsultasi dengan user sistem. Persyaratan ini kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem.

 

  1. Perancangan Sistem Perangkat Lunak

Proses perancangan sistem membagi persyaratan dalam sistem perangkat keras atau perangkat lunak. Kegiatan ini menentukan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak melibatkan identifikasi dan deskripsi sistem perangkat lunak yang mendasar dan hubunganhubungannya.

 

Analisis Sistem

Analisis sistem adalah penguraian dari suatu sistem informasi kedalam bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.

 

Analisis sistem merupakan tahap awal dalam perancangan dan pengembangan sebuah sistem yang akan dirancang. Pada tahap inilah akan diukur dan dievakuasi tentang kinerja dari sistem yang dirancang.

 

Identifikasi terhadap masalah-masalah yang ada dan langkah-langkah untuk kebutuhan perancangan yang diharapkan. Dalam melakukan analisis sistem terlebih dahulu harus mengetahui dan memahami sistem. Untuk menganalisis sistem diperlukan data dari sistem untuk dianalisis.

 

Adapun sistem yang berjalan dalam proses reservasi di Utama Tour And Travel selama ini dengan menggunakan cara konvensional. Prosedurnya adalah sebagai berikut :

 

  1. Proses Reservasi Via Telepon

Pelanggan memesan paket tour via telepon dengan menghubungi langsung pihak Utama Tour And Travel, jika pelanggan tertarik dengan paket tour dan harga yang ditawarkan, maka pelanggan akan memesan.

 

2. Proses Reservasi on The Spot (Langsung di tempat)

Pelanggan memesan paket tour langsung datang ke Utama Tour And Travel dan ditawarkan paket tour

dan harganya. Jika pelanggan tertarik, maka akan memesan paket tour tersebut.

 

  1. Sms Gateway

System ini dibutuhkan dalam  memberikan konfirmasi pada client ataupun konsumen mengenai informasi mengenai tiket travel yang tersedia, jadwal keberangkatan travel, harga tiket travel dan status transaksi yang sedang berlangsung.

 

  1. Payment System

System ini dibutuhkan pada saat client atau konsumen melakukan pembayaran atas transaksi yang terjadi, dimana bentuk pembayaran dapat dipilih baik berupa paypal, atau pembayaran online linenya, atau melalui credit card.