Selamat Datang Di Blog Saya

Selasa, 11 Oktober 2011

Aplikasi Web dengan PHP dan Oracle Database

Membangun suatu sistem database yang memumpuni merupakan hal yang logis bagi para developer database maupun seorang dba. Menggunakan toolls RDBMS Oracle merupakan langkah awal yang progresif untuk melakukan itu semua. Dengan berkembangnya teknologi informasi dan kebutuhan pasar masyarkat informasi kekinian, maka sistem basis data yang dibangun tersebut harus pula dapat mensupport pengembangan aplikasi yang berbasiskan Web, baik itu dengan menggunakan tools berbasiskan ADO.NET/ teknologi dot net framework, juga PHP dan Web Server.
Timbul suatu pertanyaan, bagaimana kita dapat melakukan integrasi sistem antara Oracle dengan ADO.NET atau PHP + Web Server. Oracle Corp. Melalui Web Sitenya menjawab itu semua dengan artikel berbahasa inggris, lengkap dengan instalisasi software yang diperlukan dan petunjuknya ( ada yang free, trial dan buy). Dalam lembaran tulisan ini, kita akan coba membahas yang kedua yaitu mencoba melakukan integrasi melalui koneksi data base Oracle (khususnya Oracle Database 10) dengan Web Server dan Aplikasi PHP.
Andaikan tim “saya” diminta untuk membuat suatu aplikasi Web Informasi Sumber Daya Manusia sub data informasi pekerja dan departemen yang ada dalam perusahaan. Langkah pertama ialah kita menginstall dan mengkonfigurasi lingkungan kerja aplikasi PHP, yaitu dengan cara:
  1. Installisasi Apache Web Server berserta PHP versi terbaru.
  2. Testing running Web Server dan konfigurasi user directori
  3. Install Zen Core for Oracle
  4. Konfigurasi Zen Core for Oracle untuk menampilkan error message dalam pengembangan aplikasi PHP.
Apa itu Zend Core for Oracle
Zend Core merupakan salah satu distributor PHP yang berdasarkan Zend Framework (kerangka PHP yang Open Source), mendukung teknologi Apache dan MySQL, IBM DB2 Express-C databases. Selain itu Zend Core juga menyangga server jaringan IIS, Informix dan Oracle Databases. Bersifat power full dan mendukung banyak OS seperti Linux, Windows, Unix, i5/OS dan server Macintosh.
Kenapa Harus Zend Core for Oracle
Developer maupun sebuah Perusahaan yang memerlukan integrasi antara teknologi Web melalui PHP dengan Oracle database, maka Zend Core dapat mewujudkan itu. Integrasi tersebut mengedepankan sifat fungsionalitas, produktifitas, terpercaya dengan paket yang sederhana, instalisasi dan pengembangan.
Ungguh Zend Core for Oracle Software (Free)
Kembali kepada pokok permasalahan. Setelah installisasi dan konfigurasi selesai, maka hal lain yang harus segera dilakukan ialah:
  1. Koneksi ke data base Oracle
  2. Lakukan Query tabel departemen dan pekerja
  3. Tuangkan Query ke dalam format HTML
Adapun file-file yang perlu di bangun, setidaknya ialah:
  1. hr. php, merupakan tempat control logic aplikasi PHP yang bersifat user interface.
  2. hr_cn.inc, include file yang mendefinisikan properties koneksi database
  3. hr_ui.inc, include file yang menentukan fungsi dari user interface
  4. hr_db.inc, include file yang menentukan akses logic database, dan jangan lupa
  5. styles.css, untuk memberikan effect visual yang menarik pada tag HTML.

Kamis, 06 Oktober 2011

Skrip PHP untuk Upload dan Hapus File Gambar



Untuk meng-upload file gambar (jpg, jpeg, pjpeg, png, gif) kita gunakan fungsi move_uploaded_file(string path, string new_path), dan untuk menghapus file gambar yang telah di-upload tersebut digunakan fungsi unlink(string filename).  Nantinya file gambar akan disimpan di direktori/folder ‘images’ dan data gambar (file_name, ukuran, direktori dan deskripsi gambar) akan disimpan di tabel ‘file_gambar’. Cara membuat folder dengan skrip PHP dapat anda lihat di ‘Membuat Direktori atau Folder Baru di Server Menggunakan PHP’…
Untuk membuat tabel tempat menyimpan informasi gambar yang akan di upload, copy dan paste sintak SQL berikut di phpMyAdmin Run SQL query/queries on database database_ku.
CREATE TABLE `database_ku`.`file_gambar` (
`file_id` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`file_name` VARCHAR( 50 ) NOT NULL ,
`ukuran` INT( 10 ) NOT NULL ,
`direktori` VARCHAR( 50 ) NOT NULL ,
`deskripsi` TEXT NOT NULL
) ENGINE = MYISAM
Berikut potongan skripnya:


Form upload gambar:

"upload-hapus.php?act=upload" method="post" enctype="multipart/form-data">

 name="fgambar" type="file" id="fgambar" />


Tipe file yang diperbolehkan jpg, jpeg, pjpeg, png atau gif.


Deskripsi:


 name="deskripsi" cols="38" rows="5" id="deskripsi">

 type="hidden" name="direktori" id="direktori" value="images" />

 name="upload" type="submit" value="Upload" id="upload" />

Untuk menampilkan gambar yang telah di upload:

//tampilkan gambar tersedia
$SQL ="SELECT * FROM file_gambar";
$qryGambar =@mysql_query($SQL);
$no=0;
while($row =@mysql_fetch_array($qryGambar)):
$no++;
$conf ="Anda yakin akan menghapus gambar ".$row['file_name'];
echo '
No : '.$no.'
';
echo '
Nama : '.$row['file_name'].' | "upload-hapus.php?act=hapus&id='.$row['file_id'].'" onclick="return confirm(\'Anda yakin akan menghapus gambar'.$row['file_name'].'\');">Hapus
';
echo '
Ukuran : '.$row['ukuran'].' bytes
';
echo '
"'.$row['direktori'].'/'.$row['file_name'].'" />
';
echo '
Deskripsi : '.$row['deskripsi'].'

';
endwhile;
if($no==0){
echo "
Gambar belum tersedia.
";
}
?>
Skrip untuk meng-upload gambar:

include "koneksi.php"; //koneksi dengan database
if($_GET['act']=='upload'):
$tipe =$_FILES['fgambar']['type'];
if( $tipe != "image/jpg" AND
$tipe != "image/jpeg" AND
$tipe != "image/pjpeg" AND
$tipe != "image/png" AND
$tipe != "image/gif"){
echo '
Upload Gagal
';
echo '
Tipe file yang diperbolehkan jpg, jpeg, pjpeg, png atau gif.
';
echo '
"index.php">ULANGI

';
}else{
$file_name =$_FILES['fgambar']['name'];
$ukuran =$_FILES['fgambar']['size'];
$direktori =$_POST['direktori'];
$deskripsi =$_POST['deskripsi'];
//Cek gambar
$SQL ="SELECT file_name FROM file_gambar WHERE file_name='$file_name'";
$qGambar =@mysql_query($SQL);
if(count(@mysql_fetch_array($qGambar)) > 1){
echo '
Upload Gagal
';
echo '
Gambar telah tersedia
';
echo '
"index.php">KEMBALI

';
}else{
//upload gambar
move_uploaded_file($_FILES['fgambar']['tmp_name'],$direktori.'/'.$file_name);
//simpan data gambar
@mysql_query("INSERT INTO file_gambar
SET file_name ='$file_name',
ukuran ='$ukuran',
direktori ='$direktori',
deskripsi ='$deskripsi'");
header('location:index.php');
}
}
endif;
?>
Skrip untuk meng-hapus gambar:

if($_GET['act']=='hapus'):
//pilih gambar
$id =$_GET['id'];
$SQL ="SELECT * FROM file_gambar WHERE file_id='$id'";
$qGambar =@mysql_query($SQL);
$row =@mysql_fetch_array($qGambar);
//hapus gambar
if(file_exists($row['direktori'].'/'.$row['file_name']))
unlink($row['direktori'].'/'.$row['file_name']);
//hapus data gambar
@mysql_query("DELETE FROM file_gambar WHERE file_id='$id'");
header('location:index.php');
endif;
?>

Jika gambar di hapus akan tampil konfirmasi seperti ini:
konfirmasi-hapus
Demo Skrip
Skrip selengkapnya dapat di download di sini.
–SELAMAT MENCOBA–

PhpMy Admin


phpMyAdmin adalah aplikasi berbasis web yang dapat disebut juga sebagai tools yang berguna untuk mengakses database MySQL Server dalam bentuk tampilan web. Tools ini secara standard telah tersedia pada saat menginstal paket PHP, seperti apache2Triad yang proses instalasinya telah kita bahas pada artikel ini.
PhpMyAdmin memungkinkan anda untuk menjadi DBA (database administrator) dengan mudah, tanpa harus mengerti perintah perintah dasar SQL.

Menguasai Database MySQL

  • mengakses Aplikasi phpMyAdmin. Pada instalasi standard, program phpMyAdmin tersimpan dalam folder C:\apache2triad\htdocs\phpmyadmin. Anda dapat mengaksesnya dengan cara : buka browser dan ketikkan http://localhost/.
klik folder phpmyadmin/ yang terlihat di browser.
jika muncul konfirmasi untuk meminta user name dan password, masukkan user name “root” dan password yang telah anda buat pada proses instalasi terdahulu.
klik tombol ok setelah memasukkan user name dan password.
jika username dan password yang anda masukkan benar maka akan timbul halaman utama phpMyAdmin seperti gambar di bawah :
  • Mengganti Bahasa Tampilan phpMyAdmin
Untuk mengganti bahasa,anda dapat memilihnya dari kotak pilihan language disebelah kanan halaman.
  • Melihat dan Mengakses Database
Secara standard phpMyAdmin hanya menampilkan dua nama database bawaan dari MySQL server, yaitu database mysql dan test. Berbeda dengan Apache2Triad, anda akan menemukan dua database bernama mysql dan information_schema. Untuk melihatnya klik saja combo boxDatabase yang terdapat di sebelah kiri halaman.
selain cara diatas, anda juga dapat menampilkan semua daftar database dengan meng-klik menu database yang ada pada kolom MySQL di halaman utama.
  • Membuat User ID untuk Mengakses MySQL
anda dapat membuat user ID baru untuk mengakses database MySQL dengan cara meng-klik iconHak Akses
setelah itu, dari halaman Pandangan Umum Pengguna anda dapat meng-klik link menuMenambahkan Pengguna Baru.
dari halaman Menambahkan Pengguna Baru anda dapat mengisi informasi user yang akan anda buat pada kotak Informasi Login.
tepat di bawah kotak Informasi Login anda dapat mengatur hak akses untuk user yang baru anda buat pada kotak Hak Istimewa (Privileges) Global.
jika informasi user dan hak akses user telah diisi maka klik tombol GO di sudut kanan bawah halaman.
  • Mengganti Password Root
Untuk mengganti password anda dapat meng-klik menu Ubah Kata Sandi pada haalaman utama phpMyAdmin.
setelah itu anda akan dibawa ke halaman Ubah Kata Sandi, ketikkan password baru, ketikkan sekali lagi pada kotak Ketik Ulang.
Setelah selesai klik tombol ubah, lalu refresh browser. Setelah itu anda akan diminta untuk melakukan login user kembali dengan password yang baru.
Demikian artikel ini saya buat, berdasarkan buku karya Bunafit Nugroho terbitan media kita yang telah saya pelajari.
Semoga bermanfaat bagi kita semua,
salam hangat, ican kp desain :D

Minggu, 25 September 2011

Tentang SAP.


Beberapa hari belakangan ini saya mengamati data blog stats di blog ini menunjukkan banyak yang mencari kata kunci “belajar SAP” atau “Mengenal SAP”. Sebenarnya sih banyak referensi yang bisa kita temukan untuk mencari definisi SAP, seperti misalnya di wikipedia dengan kata kunci ‘SAP AG’, atau bisa juga dilihat dari konsepnya dulu lewat kata ERP (Enterprise Resource Planning) dalam bahasa indonesia dan bahasa inggris juga ada. Hubungannya ERP dan SAP adalah bahwa ERP merupakan konsep sistem informasi yang mengintegrasikan antara beberapa bagian yang saling terkait di sebuah perusahaan dan SAP adalah salah satu software aplikasi yang menerapkan konsep tersebut. Pada awalnya konsep ERP hanya mencakup proses manufaktur saja, tetapi dengan berkembangnya waktu ERP berkembang merambah ke bidang-bidang usaha yang lain.
Bicara tentang SAP, secara teknis memang aplikasi ini sangat kompleks, mungkin aplikasi yang paling kompleks yang saya pernah temui. Mungkin karena SAP merupakan aplikasi korporat sehingga juga berkembang untuk memenuhi kebutuhan sebuah perusahaan dan katanya juga SAP tergolong software aplikasi yang paling mahal.
Menurut saya sebagai sorang pemula, ilmu tentang SAP dibagi menjadi 2 macam :
  1. System Support. Di bagian ini mempelajari bagian teknis sebuah sistem yang kompleks di SAP. Beberapa diantaranya digolongkan menjadi Basis System Admin dan programmer ABAP.
  2. Functional Support. Di bagian ini mempelajari proses bisnis perusahaan dan dipetakan dengan modul functional yang disediakan oleh SAP. Pengetahuan tentang bisnis proses merupakan sebuah kelebihan tetapi tidak menutup kemungkinan orang teknik yang tidak tahu apa-apa tentang bisnis proses bisa sangat cepat mempelajari modul functional. Beberapa modul yang diimplementasikan SAP adalah Human Resource, Material Management, Finance Management, Sales and Distribution, Plant Management dan masih banyak lagi. Di beberapa perusahaan mungkin mempunyai job desc bahwa functional analyst jg memerlukan pengetahuan tentang program ABAP (bahasa pemrograman yang digunakan untuk develop SAP)
  • Bila ingin belajar, mulai dari mana ? Menurut saya, lebih baik kita tentukan terlebih dahulu minat kita kemana : system atau functional. Mulai belajar nya bisa membaca referensi SAP untuk pemula, misalnya. di blog ini banyak sourcenya.
  • Apakah ada tempat training di Indonesia? Jawabannya ada, hanya masih jarang di Indonesia. Kalo mau lihat tempat training resmi partnersnya SAP di website ini.
  • Dasar-dasar apa yang diperlukan untuk belajar SAP? Tidak ada patokan khusus untuk mempelajari SAP. Tapi bagi seorang programmer ABAP prerequsitenya mungkin harus sudah bisa SQL dan Java programming. Untuk Basis admin memerlukan dasar pengetahuan tentang ilmu komputer.
  • Sebagai bahan untuk memotivasi belajar, bahwa ilmu SAP masih sangat jarang yang menguasai, dan hingga saat ini masih banyak peluang dan tentu saja dengan kompensasi yang sangat kompetitif.

Selasa, 13 September 2011

R P L ( Rekayasa Perangkat Lunak )

REKAYASA PERANGKAT LUNAK

(SOFTWARE ENGINEERING)

I. PENDAHULUAN

Rekayasa perangkat lunak telah berkembang sejak pertama kali ddiciptakan pada tahun 1940-an hingga kini. Focus utama pengembangannya adalah untuk mengembangkan praktek dan teknologi untuk meningkatkan produktivitas para praktisi pengembang perangkat luank dan kualitas aplikasi yang dapat digunakan oleh pemakai.

I.1 Sejarah Software Engineering

Istilah software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Saat itu, masih terdapat perdebatan tajam mengenai aspek engineering dari pengembangan perangkat lunak. Pada tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi tentang rekayasa perangkat lunak, yang memberikan dampak kuat terhadap pengembangan rekayasa perangkat lunak. Banyak yang menganggap dua konferensi inilah yang menandai awal resmi profesi rekayasa perangkat lunak.

Pada tahun 1960-an hingga 1980-an, banyak masalah yang ditemukan para praktisi pengembangan perangkat lunak. Banyak project yang gagal, hingga masa ini disebut sebagai krisis perangkat lunak. Kasus kegagalan pengembangan perangkat lunak terjadi mulai dari project yang melebihi anggaran, hingga kasusu yang mengakibatkan kerusakan fisik dan kematian. Salah satu kasus yang terkenal antara lain meledaknya roket Ariane akibat kegagalan perangkat lunak. Selama bertahun-tahun, para peneliti memfokuskan usahanay untuk menemukan teknik jitu untuk memecahkan masalah krisi perangkat lunak. Berbagai teknik, metode, alat, proses diciptakan dan diklaim sebagai senjata pamungkas untuk memecahkan kasus ini. Mulai dari pemrograman terstruktur, pemrograman berorientasi objek, pernagkat pembantu pengembangan perangkat lunak (CASE tools), berbagai standar, UML hingga metode formal diagung-agungkan sebagai senjaat pamungkas untuk menghasilkan software yang benar, sesuai anggaran dan tepat waktu. Pada tahun 1987, Fred Brooks menulis artikel No Silver Bullet, yang berproposisi bahwa tidak ada satu teknologi atau praktek yang sanggup mencapai 10 kali lipat perbaikan dalam produktivitas pengembanan perngkat lunak dalam tempo 10 tahun.

Sebagian berpendapat, no silver bullet berarti profesi rekayasa perangkat lunak dianggap telah gagal. Namun sebagian yang lain justru beranggapan, hal ini menandakan bahwa bidang profesi rekayasa perangkat lunak telah cukup matang, karena dalam bidang profesi lainnya pun, tidak ada teknik pamungkas yang dapat digunakan dalam berbagai kondisi.

I.2 Pengertian Dasar

Istilah Reakayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software engineering. Istilah Software Engineering mulai dipopulerkan pada tahun 1968 pada software engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.

Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999).

Pengertian RPL sendiri adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan. Dari pengertian ini jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer. Pernyataan ”semua aspek produksi” pada pengertian di atas, mempunyai arti semnua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.

II. TUJUAN REKAYASA PERANGKAT LUNAK

Secara umunmm tujuan RPL tidak berbeda dengan bidang rekayasa yang lain. Hal ini dapat kita lihat pada Gambar di bawah ini.

Gambar 1. Tujuan RPL

Dari Gambar di atas dapat diartikan bahwa bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat. Secara leboih khusus kita dapat menyatakan tujuan RPL adalah:

  1. memperoleh biaya produksi perangkat lunak yang rendah
  2. menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
  3. menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
  4. menghasilkan perangkat lunak yang biaya perawatannya rendah

III. RUANG LINGKUP

Sesuai dengan definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut:

Gambar 2. Ruang lingkup RPL (Abran et.al., 2004).

- software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak

- software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak

- software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan

- software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak

- software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan

- software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu

- software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak

- software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL

- software engineering process berhubungan dengan definisi, implementasi pengukuran, pengelolaan, perubahan dan perbaikan proses RPL

- software quality menitik beratkan pada kualitas dan daur hidup perangkat lunak

IV. REKAYASA PERANGKAT LUNAK DAN DISIPLIN ILMU LAIN

Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin dengan bidang ilmu lain. tidak saja sub bidang dalam disiplin ilmu komputer namun dengan beberapa disiplin ilmu lain diluar ilmu komputer.

Hubungan keterkaitan RPL dengan ilmu lain dapat dilihat pada gambar dibawah ini

Gambar 3. Keterkaitan RPL dengan bidang ilmu lain.

- bidang ilmu manajemen meliputi akuntansi, finansial, pemasaran, manajemen operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia, kebijakan, dan strategi bisnis

- bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik, analisis numerik, dan matematika diskrit

- bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek, seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif

- bidang ilmu ergonomika menyangkut hubungan ( interaksi) antar manusia dengan komponen-komponen lain dalam sistem komputer

- bidang ilmu rekayasa sistem meliputi teori sistem, analisis biaya-keuntungan, pemodelan, simulasi, proses, dan operasi bisnis

V. PERKEMBANGAN REKAYASA PERANGKAT LUNAK

Meskipun baru dicetuskan pada tahun 1968, namun RPL telah memiliki sejarah yang cukup yang panjang. Dari sisi disiplin ilmu, RPL masih reklatif muda dan akan terus berkembang.

Arah perkembangan yang saat ini sedang dikembangkan antara lain meliputi :

Tahun

Kejadian

1940an

Komputer pertama yang membolehkan pengguna menulis kode program langsung

1950an

Generasi awal interpreter dan bahasa macro Generasi pertama compiler

1960an

Generasi kedua compiler Komputer mainframe mulai dikomersialkan Pengembangan perangkat lunak pesanan

Konsep Software Engineering mulai digunakan

1970an

Perangkat pengembang perangkat lunak Perangkat minicomputer komersial

1980an

Perangkat Komputer Personal (PC) komersial Peningkatan permintaan perangkat lunak

1990an

Pemrograman berorientasi obyek (OOP) Agile Process dan Extreme Programming Peningkatan drastis kapasitas memori Peningkatan penggunaan internet

2000an

Platform interpreter modern (Java, .Net, PHP, dll) Outsourcing

VI. METODE REKAYASA PERANGKAT LUNAK

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada Gambar berikut ini.

Gambar 4. System Development Life Cycle (SDLC).

  • Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah. Oleh karena itu pemahaman masalah seperti dijelaskan pada Bab 1, merupakan bagian penting dari model pengembangan perangkat lunak.
  • Tahapan-tahapan pengembangan yang teratur. Meskipun model-model pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing - maintenance
  • Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.
  • Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak. Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.
  • Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari sebuah perangkat lunak sebenarnya agak susah di-rupiah-kan. Namun efek dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat berupa penurunan biaya operasi, efisiensi penggunaan sumberdaya, peningkatan keuntungan organisasi, peningkatan “image” organisasi dan lain-lain.

VII. TAHAPAN REKAYASA PERANGKAT LUNAK

Meskipun dalam pendekatan berbeda-beda, namun model-model pendekatan memiliki kesamaan, yaitu menggunaka pola tahapan analysis – design – coding(construction) – testing – maintenance.

1. Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi komponen-komponennya dengan tujuan mempelajari seberapa bagus komponen-komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka.

Analisis mungkin adalah bagian terpenting dari proses rekayasa perangkat lunak. Karena semua proses lanjutan akan sangat bergantung pada baik tidaknya hasil analisis. Ada satu bagian penting yang biasanya dilakukan dalam tahapan analisis yaitu pemodelan proses bisnis.

2. Model proses adalah model yang memfokuskan pada seluruh proses di dalam sistem yang mentransformasikan data menjadi informasi (Harris, 2003). Model proses juga menunjukkan aliran data yang masuk dan keluar pada suatu proses. Biasanya model ini digambarkan dalam bentuk Diagram Arus Data (Data Flow Diagram / DFD). DFD meyajikan gambaran apa yang manusia, proses dan prosedur lakukan untuk mentransformasi data menjadi informasi.

3. Disain perangkat lunak adalah tugas, tahapan atau aktivitas yang difokuskan pada spesifikasi detil dari solusi berbasis computer (Whitten et al, 2004).

Disain perangkat lunak sering juga disebut sebagai physical design. Jika tahapan analisis sistem menekankan pada masalah bisnis (business rule), maka sebaliknya disain perangkat lunak fokus pada sisi teknis dan implementasi sebuah perangkat lunak (Whitten et al, 2004).

Output utama dari tahapan disain perangkat lunak adalah spesifikasi disain. Spesifikasi ini meliputi spesifikasi disain umum yang akan disampaikan kepada stakeholder sistem dan spesifikasi disain rinci yang akan digunakan pada tahap implementasi. Spesifikasi disain umum hanya berisi gambaran umum agar stakeholder sistem mengerti akan seperti apa perangkat lunak yang akan dibangun. Biasanya diagram USD tentang perangkat lunak yang baru merupakan point penting dibagian ini. Spesifikasi disain rinci atau kadang disebut disain arsitektur rinci perangkat lunak diperlukan untuk merancang sistem sehingga memiliki konstruksi yang baik, proses pengolahan data yang tepat dan akurat, bernilai, memiliki aspek user friendly dan memiliki dasar-dasar untuk pengembangan selanjutnya.

Desain arsitektur ini terdiri dari desain database, desain proses, desain user interface yang mencakup desain input, output form dan report, desain hardware, software dan jaringan. Desain proses merupakan kelanjutan dari pemodelan proses yang dilakukan pada tahapan analisis.

4. Konstruksi adalah tahapan menerjemahkan hasil disain logis dan fisik ke dalam kode-kode program komputer.

5. Pengujian sistem melibatkan semua kelompok pengguna yang telah direncanakan pada tahap sebelumnya. Pengujian tingkat penerimaan terhadap perangkat lunak akan berakhir ketika dirasa semua kelompok pengguna menyatakan bisa menerima perangkat lunak tersebut berdasarkan kriteria-kriteria yang telah ditetapkan.

6. Perawatan dan Konfigurasi. Ketika sebuah perangkat lunak telah dianggap layak untuk dijalankan, maka tahapan baru menjadi muncul yaitu perawatan perangkat lunak. Ada beberapa tipe perawatan yang biasa dikenal dalam dunia perangkat lunak seperti terlihat pada diagram di Gambar di bawah ini :

Gambar 5. Tipe-tipe perawatan.

  • Tipe perawatan corrective dilakukan jika terjadi kesalahan atau biasa dikenal sebagai bugs. Perawatan bisa dilakukan dengan memperbaiki kode program, menambah bagian yang dirasa perlu atau malah menghilangkan bagian-bagian tertentu.
  • Tipe perawatan routine biasa juga disebut preventive maintenance dilakukan secara rutin untuk melihat kinerja perangkat lunak ada atau tidak ada kesalahan.
  • Tipe perawatan sistem upgrade dilakukan jika ada perubahan dari komponen-komponen yang terlibat dalam perangkat lunak tersebut. Sebagai contoh perubahan platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat lunak harus diupgrade.

DAFTAR PUSTAKA

IEEE Xplore - Software Engineering, IEEE Transactions on.

http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32. Diakses pada tanggal 25 Mei 2009 jam 23.05 WIB

Mulyanto, Aunur R. 2008. Rekayasa Perangkat Lunak Jilid 1 untuk SMK. Direktorat Pembinaan Sekolah Menengah Kejuruan, Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah, Departemen Pendidikan Nasional : Jakarta

Pengertian Software Engineering.

http://www.total.or.id/info.php?kk=Software%20Engineering. Diakses pada tanggal 25 Mei 2009 jam 22.50 WIB

Wikipedia, the free encyclopedia - Software engineering .

http://en.wikipedia.org/wiki/Software_engineering. Diakses pada tanggal 25 Mei 2009 jam 23.00 WIB

 
Design by Wordpress Themes | Bloggerized by Free Blogger Templates | Macys Printable Coupons