Sabtu, 22 Mei 2010

PEMODELAN PERANGKAT LUNAK

Model Proses Perangkat Lunak
Model proses pengembangan perangkat lunak adalah sebagai berikut :
(1) Model air terjun (waterfall). Model ini mengambil kegiatan proses dasar seperti spesifikasi, pengembangan, validasi dan evolusi, dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implemetasi, pengujian dan seterusnya.
(2) Pengembangan evolusioner. Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Suatu sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian diperbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan bagi kebutuhan pelanggan.
(3) Pengembangan sistem formal. Pendekatan ini didasarkan atas pembuatan spesifik sistem matematis dan pentransformasian spesifikasi, dengan memakai metode matematis untuk membangun program. Verifikasi komponen sistem dilakukan dengan membuat argumen matematis yang disesuaikan dengan spesifikasi.
Pengembangan berdasarkan pemakaian ulang. Pendekatan ini didasarkan atas adanya komponen yang dapat dipakai untuk jumlah yang signifikan . Proses pengembangan sistem terfokus pada integrasi komponen-komponen ini ke dalam suatu sistem dan bukan mengembangkan dari awal.

Pengertian system
Suatu system harus mempunyai sasaran, tujuan,komponen-komponen yang saling berinteraksi satu sama lainnya sehingga dapat mencapai tujuan yang telah ditetapkan.Ada dua kelompok pendekatan yang dapat didefinisikan dalam suatu system yang menekankan pada prosedurnya dan menekankan pada elemen.
System adalah suatukesatuan dari elemen yang saling berkait yang digunakan untuk mencapai tujuan tertentu.untuk lebih jelasnya,akan uraikan pengertian-pengertian system menurut para ahli
Menurut mulyadi(1997) system adalah sekelompok unsure yang erat hubungannya satu dengan yang lainnya yang berfungsi sama-sama untuk mencapai tujuan tertentu.system dibuat untuk menengani sesuatu yang berulang kali atau secara rutin terjadi.

Pengertian pengolahan data
Sebelum membahas pengertian pengolahan data alangkah baiknya mengetahui apa arti data dan informasi.data adalah keterangan mengenai fakta suatu objek (manusia,benda,peristiwa)yang diwakili dengan symbol(huruf,kalimat,angka,gambar,suara) yang belum diolah menjadi informasi.dari proses pengolahan data tersebutlah yang akan dihasilkan informasi sebagai output.suatu output dari pengolahan data merupakan informasi apabila output tersebut dapat berguna bagi pemakainya.
Untuk menghasilkan informasi dari data-data yang relevan harus melalui suatu system yang disebut sebagai system pengolahan data.system pengolahan data meliputi sejumlah proses,peralatan dan tenaga pelaksanaan yang saling berhubungan dan berkaitan.
Pengolahan data sebagai serangkaian operasi atas informasi yang direncanakan , guna mencapai tujuan atau hasil yang diinginkan.unsure-unsur dalam pengolahan data yaitu membaca, menulis dan mengetik, mencatat dan mencetak, menyortir, menyampaikan atau memindahkan, menghitung, membandingkan dan menyimpan.
Definisi pengolahan data adalah suatu bahan mentah yang diolah sedemikian rupa sehingga menghasilkan suatu informasi

siklus pengolahan data
siklus pengolahan data baik yang manual maupun yang menggunakan computer mengalami sikllus pengolahan data yang terdiri dari tiga tahap yaitu sebagai berikut :
1. data dimasukkan ke computer dalam bentuk yang dimengerti oleh computer (input)
2. data diproses sesuai dengan instruksi yang diterima computer
3. hasil pengolahan (output),berupa data yang dapat dimengerti dan berguna untuk manusia
pengolahan data system informasi dalam kebanyakan organisasi biasanya terdiri atas metode taknologis dan manual.menurut buch dan stater ada dua macam metode pengolahan data yang penting :
1. manual
dalam metode manual emua operasi dapat dilakukan dengan tangan dan bantuan alat-alat penting seperti pensil ,kertas dan lain-lain
2. electromechanical
sesungguhnya merupakan suatu gabungan dari orang dan mesin misalnya seorang pegawai yang bekerja dengan menggunakan catat kolom (posting machine)
3. methode punched equipment
menggunakan penggunaan semua peralatan yang digunakan disebut sebagai suatu system warkat unit (unit record system).prinsipnya adalah bahwa data mengenai data seseorang,uatu objek atau suatu peristiwa biasanya dicatat (punched) dalam suatu kartu, sejumlah kartu yang mengandung data tentang subjek yang sama ( misalnya : data gaji) digabungkan bersama membentuk suatu objek
4. methode electric computer
computer disini berarti suatu susunan dari alat-alat masukan ,suatu unit pengolahan pusat (control processing unit ) dan alat alat keluaran

pengertian persediaan
persediaan adalah aktiva yang terdiri untuk dijual dal kegiatan usaha normal , proses produksi dan atau dalam perjalanan serta dalam bentuk bahan atau perlengkapan (supplier) untuk digunakan dalam proses produksi atau pemberian jasa

konsep dasar persediaan
berdasarkan pengertian diatas istilah persediaan digunakan untuk menyatakan barang yang berwujud yaitu:
a) tersedia untuk dijual
b) masih dalam proses produksi untuk diselesaikan kemudian dijual (barang dalam proses atau pengolahan )
c) akan digunakanuntuk produksi barang jadi yang akan dijual (bahan baku dan bahan pembantu) dalam rangka kegiatan normal perusahaan

prosedur persediaan
prosedur adalah suatu urutan kegiatan klerikal biasanya melibatkan beberapa orng dalam satu departemen atau lebih,yang dibuat untuk menjamin penanganan secara seragam tranaksi perusahaan yang terjadi secara berulang ulang.
Dari definisi tersebut dapat diambil kesimpulan bahwa suatu system terdiri dari jaringan prosedur sedangkan prosedur merupakan urutan kegiatan klerikal.
Kegiatan klerikal(klerikal operation) terdiri dari kegiatan berikut ini yang dilakukan untuk mencatat informasi :
a. menulis
b. menggandakan
c. menhitung
d. memberi kode
e. mendaftar
f. memilih
g. memindah
h. membandingkan
dan , prosedur yang merupakan urutan kegiatan klerikal adalah sebagai berikut :
1. laporan,yaitu hasil akhir dari sebuah proses
2. jurnal,yaitu catatan yang digunakan untuk mencatat ,mengklaifikasikan,dan meringkas data
3. formulir,yaitu dokumen yang digunakan untuk merekam terjadinya transaksi
2.4.3 metode pencatatan persediaan

ada dua macam metode pencatatan persediaan, yaitu :
1. metode mutasi persediaan ( perpectual inventory method)
setiap mutasi persediaan dicatat dalam kartu persediaan.metode ini cocok untuk digunakan dalam penentuan biaya bahan baku perusahaan yang harga pokoknya dikumpulkan dengan metode harga pokok pesanan
2. metode persediaan fisik ( physical inventory method )
hanya tambahan persediaan yang dicatat,sedangkan mutasi berkurangnya persediaan pemakaian tidak dicatat dalam kartu perediaan untuk mengetahui berapa harga pokok persediaan yang dipakai atau dojual harus dilakukan dengan perhitungan fisik sisa perediaan yang masih ada di gudang pada akhir periode.harga pokok persediaan awal periode ditambah dengan harga pokok persediaan pada akhir periode merupakan harga pokok persediaan yang dipakai selama periode akuntansi yang bersangkutan

sistem dan prosedur dengan system persediaan
system dan prosedur dengan system persediaan nya adalah sebagai berikut :
a. prosedur pencatatan produk jadi
b. prosedur pencatatan harga pokok produk jadi yang dijual
c. prosedur pencatatan harga pokok produk jadi yang diterima kembali dari pembeli
d. prosedur pencatatan tambahan dan penyesuaian kembali harga pokok persediaan produk dalam proses
e. prosedur pencatatan harga pokok persediaan yang dibeli
f. prosedur pencatatan harga pokok persediaan yang dikembalikan kepada pemasok
g. prosedur permintaan dan pengeluaran barang di gudang
h. prosedur pencatatan tambahan harga pokok persediaan karena pengembalian barang di gudang
i. system perhitungan fisik persediaan

tinjauan umum organisasi
untuk memahami proses yang terjadi pada system , maka dilakukan analisis system dan lingkungan kerja yang sedang berjalan analisis ini dilakukan untuk mengetahui :
1.cara kerja proses yang terdapat dalam system
2.keterkaitan antar proses dalam system
3. efektifitas penggunaan dokumen antar proses dalam sistem
di dalam pembangunan atau pengembangan system , pada langkah awal kita harus melakukan suatu langkah yang dinamakan analiis system yang sdaeng berjalan . dalam langkah analisis ini diharapkan kita dapat mengetahui kekurangan dan kelebihan system yang sedang berjalan dan jika dilanjutkan pada tahap berikutnya,kesalahan yang terjadi dapat ditekan seminimal mungkin dan diharapkan untuk kerja system akan lebih baik.pada paparan system yang sedang berjalan didapat dengan cara :
1. studi kelayakan yang dimulai dengan cara mempelajari system yang sedang berjalan dan dilanjutkan dengan wawancara atau mengajukan pertanyaan
2. mempelajari prosedur yang ada ,mengumpulkan dan menganalisis dokumen yang terlibat dan mempelajari laporan-laporan yang dihasilkan oleh proses.

PENGENALAN PERANGKAT LUNAK

PENGERTIAN REKAYASA PERANGKAT LUNAK
Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software Engineering. Istilah Software Engineering mulai dipopulerkan 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 sedangkanprosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999).
Pengertian RPL sendiri adalah sebagai berikut:
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. Jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer.
Pernyataan “semua aspek produksi” pada pengertian di atas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.

TUJUAN REKAYASA PERANGKAT LUNAK
Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain
Secara lebih khusus kita dapat menyatakan tujuan RPL
adalah :
a. Memperoleh biaya produksi perangkat lunak yang rendah.
b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat
waktu.
c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis
platform.
d. Menghasilkan perangkat lunak yang biaya perawatannya rendah.

REKAYASA PERANGKAT LUNAK DAN DISIPLIN ILMU KOMPUTER
Disiplin ilmu komputer (Computer Science) lahir pada awal-awal tahun 1940-an yang merupakan integrasi dari teori algoritma, logika matematika dan ditemukannya cara penyimpanan program secara elektronik pada komputer. Sejak itu ilmu komputer mengalami perkembangan yang terus menerus sehingga cakupannya menjadi semakin meluas.Cakupan pengetahuan dalam ilmu komputer seringkali didiskripsikan sebagai suatu studi sistematis pada proses-proses algoritma yang menjelaskan dan mentransformasikan informasi (Denning, 2000). Termasuk di sini adalah teori, analisis, disain, efisiensi, penerapan dan aplikasinya.
Berdasarkan pengelompokkan Denning (2000) dan Wikipedia (2007), RPL merupakan sub-bidang ilmu komputer yang setara dengan sub-bidang lainnya. Sedangkan menurut ACM (Association for Computing Machinery), RPL merupakan bagian dari Section D (Perangkat Lunak). Meskipun terlihat terpisah-pisah, namun dalam penerapannya, sub-bidang RPL selalu membutuhkan dukungan dari sub-bidang lain, terutama sub-bidang Algoritma dan Struktur Data, Bahasa Pemrograman, Basis Data, Sistem Operasi dan Jaringan, dan Sistem Informasi.

REKAYASA PERANGKAT LUNAK DAN DISIPLIN ILMU LAIN
Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin bidang ilmu lain. Tidak saja dengan sub-bidang dalam disiplin ilmu komputer namun dengan beberapa disiplin ilmu lain di luar ilmu komputer.
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 penjadwalan proyek.
- Bidang ilmu manajemen kualitas meliputi pengembangan sistem kualitas, manajemen resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif.
- Bidang ilmu ergonomika menyangkut hubungan (interaksi) antara manusia dengan komponen-komponen lain dalam sistem komputer.
- Bidang ilmu rekayasa sistem meliputi teori sistem, analisis biaya-keuntungan, pemodelan, simulasi, proses dan operasi bisnis.



SOFTWARE ENGINEERING(RPL)

Perangkat lunak (software) kini sudah menjadi kekuatan yang menentukan. Perangkat
lunak menjadi mesin yang mengendalikan pengambilan keputusan di dalam dunia bisnis,
berfungsi sebagai dasar dari semua bentuk pelayanan serta penelitian keilmuan modern.
Perangkat lunak dilekatkan dengan segala bentuk sistem : transportasi, medis, telekomunikasi,
militer, proses industri, hiburan, produk-produk kantor dan lainnya. Perangkat lunak benar-benar
tidak dapat lepas dari kehidupan modern. Semua itu mengubah pandangan masyarakt tentang
perangkat lunak. Program-program perangkat lunak sudah tersebar luas, dan masyarakat
memandangnya sebagai kejayaan teknologi dalam kehidupan. Dalam banyak contoh, orang-
orang sudah mulai mempertaruhkan pekerjaan, kenyamanan, keselamatan, hiburan, keputusan
dan banyak segi dalam kehidupannya pada komputer.
Oleh karena itu dibutuhkan teknologi yang harus dipakai oleh orang-orang yang
membangun perangkat lunak komputer dan kita juga harus dapat mengembangkannya dengan
cara yang tepat. Teknologi meliputi sebuah proses, serangkaian metode dan sederetan alat yang
kita sebut dengan software engineering.
I. PERANGKAT LUNAK
Perangkat lunak dapat didefinisikan sebagai berikut :
1. Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja
seperti yang diinginkan.
2. Struktur data yang memungkinkan program memanipulasi informasi secara proposional.
3. Dokumen yang menggambarkan informasi dan kegunaan program.
I. 1. Karakteristik Perangkat Lunak
Untuk memperoleh pemahaman tentang perangkat lunak (serta pemahaman tentang
software engineering), penting juga untuk meneliti karakteristik perangkat lunak berbeda dari
hal-hal lain yang dibangun oleh manusia. Ketika perangkat lunak dibuat, proses kreatif manusia

(analisis, desain, konstruksi, pengujian) diterjemahkan ke dalam bentuk fisik. Jika kita membuat
komputer baru, sketsa dasar, penggambaran desain formal, dan prototipe bread boarder
berkembang ke dalam suatu produk fisik (VLSI chip, papan rangkaian, catu daya, dll).
Perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen sistem
fisik. Dengan demikian, perangkat lunak memiliki ciri yang berbeda dari perangkat keras:
1. Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik
Meskipun banyak kesamaan di antar pabrik perangkat keras dan perangkat lunak,
aktivitas keduanya secara mendasar sangat berbeda. Dalam keduanya tersebut, kualitas
yang tinggi dicapai melalui perancangan yang baik, tetapi di dalam fase pembuatan
perangkat keras, selalu saja ditemukan masalah kualitas yang tidak mudah untuk
disesuaikan dengan perangkat lunak. Kedua aktivitas itu tergantung pada manusia, tetapi
hubungan antara penerapan yang dilakukan manusia dengan usaha yang diperoleh sangat
berbeda. Kedua aktivitas itu membutuhkan konstruksi sebuah “produk” tetapi pendekatan
yang dipakai berbeda.
Biaya untuk perangkat lunak dikonsentrasikan pada pengembangan. Hal ini
berarti proyek perangkat lunak tidak dapat diatur seperti pengaturan proyek
pemanufakturan.
2. Perangkat lunak tidak pernah usang
Perangkat lunak tidak rentan terhadap pengaruh lingkungan yang merusak yang
menyebabkan perangkat keras menjadi usang. Kesalahan-kesalahan yang tidak dapat
ditemukan akan menyebabkan tingkat kegagalan menjadi sangat tinggi pada awal hidup
program. Tetapi hal itu dapat diperbaiki dan diharapkan tidak lagi ditemukan kesalahan
yang lain.
Aspek lain dari keusangan menggambarkan perbedaan antara perangkat keras dan
perangkat lunak. Bila komponen suatu perangkat telah usang, komponen dapat diganti
dengan suku cadangnya. Namun tidak ada suku cadang bagi perangkat lunak. Setiap
kegagalan perangkat lunak menggambarkan kesalahan dalam perancangan atau proses di
mana rancangan diterjemahkan ke dalam kode mesin yang dapat dieksekusi.
Demikianlah, pemeliharaan perangkat lunak menjadi lebih kompleks daripada
pemeliharaan perangkat keras.

3. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit
dari komponen yang sudah ada.
Saat perangkat keras untuk produk berbasis mikroprosesor dirancang dan dibuat,
pengembang desain menggambar sebuah skema sederhana dari rangkaian digital,
melakukan serangkaian analisis dasar untuk memastikan bahwa fungsi yang tepat
discapai serta kemudian menyesuaikan ke katalog komponen digital. Setiap IC (chip)
mempunyai nomor bagian tersendiri, sebuah fungsi yang sudah terdefinisi dan tervalidasi,
interface yang didefinisikan dengan baik, serta rangkaian standar tuntutan terintegrasi.
Setelah masing-masing komponen diseleksi, perangkat keras dapat dipesan secara
terpisah.
Sayangnya para perancang perangkat lunak tidak diberi fasilitas seperti yang
diggambarkan di atas. Dengan sedikit pengecualian, tidak ada katalog komponen
perangkat lunak. Memang memungkinkan untuk memesan perangkat lunak secara
terpisah, tetapi tetap merupakan satu kesatuan yang lengkap, bukan sebagai komponen
yang dapat dipasangkan ke dalam program-program yang baru.

I. 2. Komponen Perangkat Lunak

Komponen perangkat lunak dibangun dengan bahasa pemrograman yang memiliki
kosakata yang terbatas, sebuah tata bahasa yang dibatasi secara eksplisit serta aturan-aturan
syntax dan semantik yang dibentuk secara baik. Pada tingkat yang paling rendah, bahasa-bahasa
itu mencerminkan serangkaian instruksi perangkat keras. Pada tingkat sedang, bahasa
pemrograman seperti Ada 95, C, atau SmalTalk, dipakai untuk membuat deskripsi prosedural
dari program. Pada tingkat yang paling tinggi, bahasa-bahasa tersebut menggunakan ikon grafik
atau simbol lain untuk mewakili kebutuhan akan sebuah pemecahan. Instruksi-instruksi yang
dapat dieksekusi dibuat secara otomatis.
Bahasa tingkat mesin merupakan perwakilan simbolik dari serangkaian instruksi CPU.
Ketika pengembang perangkat lunak yang baik memproduksi sebuah program yang
didokumentasikan dengan baik dan juga dapat diperbaharui, maka bahasa tingkat mesin dapat
secara ekstrim menggunakan memori dan kecepatan eksekusi program secara efisien. Bila
program tidak dirancang dengan baik dan hanya memiliki sedikit dokumentasi, maka bahasa
tingkat mesin tidak akan menghasilkan sesuatu yang diharapkan.

Bahasa tingkat menengah memungkinkan pengembang perangkat lunak serta program
tidak tergantung pada mesin. Ketika digunakan penerjemah yang lebih canggih, maka kosakata,
tata bahsa, syntax dan semantik dari bahasa tingkat menengah dapat menjadi lebih canggih dari
pada bahasa tingkat mesin. Pada kenyataannya, bahasa tingkat menengah meng-compile dan
menginterpretasi hasil bahasa tingkat mesin sebagai keluaran.
Meskipun sekarang ini dipakai ratusan bahasa pemrograman, tetapi bahasa
pemrograman tingkat menengah yang masih dipakai secara luas di dalam industri kurang dari 10.
Bahasa seperti COBOL dan FORTRAN masih tetap dipakai secara luas lebih dari 30 tahun
setelah masa pengenalannya. Banyak bahasa pemrograman seperti Ada 95, C, C++, Eiffel, Java
dan SmallTalk mendapat sambutan yang cukup antusias.
Kode mesin, bahasa assembly (tingkat mesin), bahasa pemrograman tingkat
menengah, sering disebut tiga generasi bahasa komputer yang pertama, dengan bahasa-bahasa
tersebut, pemrogram harus melihat dengan baik kekhususan struktur informaasi maupun kontrol
pemrograman itu sendiri. Demikianlah bahasa di dalam tiga generasi yang pertama dimasukkan
ke dalam jenis bahasa prosedural.
Bahasa generasi keempat, disebut juga bahasa non-prosedural, menggerakkan
pengembang perangkat lunak untuk mengkhususkan pada detail prosedural. Bahasa non-
prosedural secara tidak langsung menyatakan sebuah program melalui spesifikasi hasil yang
diharapkan. Dan tidak pada aksi yang dibutuhkan untuk mencapai hasil tersebut. Perangkat lunak
penopang menerjemahkan spesifikasi hasil ke dalam sebuah program mesin yang dapat
dieksekusi.
I.3. Aplikasi Perangkat Lunak
Perangkat lunak dapat diaplikasikan ke berbagai situasi di mana serangkaian langkah
prosedural (seperti algoritma) telah didefinisikan (pengecualian yang di dapat pada aturan ini
adalah sistem pakar dan perangkat lunak jaringan syaraf kecerdasan buatan). Kandungan
(content) informasi dam determinasi merupakan faktor penting dalam menentukan sifat aplikasi
perangkat lunak. Content mengarah pada arti dan bentuk dari informasi yang masuk dan keluar.
Contohnya, banyak aplikasi bisnis memakai data input yang terstruktur secara tinggi (sebuah
database) dan menghasilkan laporan yang sudah terformat. Perangkat lunak yang mongontrol

sebuah mesin otomatis (misal kontrol numerik) menerima bentuk-bentuk data diskrit dengan
struktur yang terbatas dan menghasilkan perintah mesin individual dalam suksesi yang cepat.
Memang cukup sulit untuk menentukan kategori umum untuk aplikasi perangkat
lunak. Ketika kompleksitas perangkat lunak mulai muncul, maka penggolongan yang rapi
menjadi hilang. Area perangkat lunak berikut ini menunjukkan luasnya aplikasi potensial:
a. Perangkat Lunak Sistem
Perangkat lunak sistem merupakan sekumpulan program yang ditulis untuk melayani
program-program yang lain. Banyak perangkat lunak sistem (misal kompiker, editor, dan
utilitas pengatur file) memproses struktur-struktur informasi yang lengkap namun tetap.
Aplikasi-aplikasi sistem yang lain (komponen sistem operasi, driver, prosesor
telekomunikasi) memproses secara luas data yang bersifat tetap. Di dalam setiap kasus
tersebut, area perangkat lunak sistem ditandai dengan eratnya interaksi dengan perangkat
keras komputer; penggunaan oleh banyak pemakai; operasi konkuren yang membutuhkan
penjadwalan, tukar menukar sumber dan pengaturan proses yang canggih; struktur data
b. Perangkat Lunak Real-Time
Program-program yang memonitor/menganalisis/mengontrol kejadian dunia nyata pada
saat terjadinya disebut perangkat lunak real-time. Elemen-elemen perangkat lunak real-
time mencakup komponen pengumpul data yang mengumpulkan dan memformat
informasi dari lingkungan eksternal, sebuah komponen analisis yang mentransformasi
informasi pada saat dibutuhkan oleh aplikasi, sebuah komponen kontrol/output yang
memberikan respon kepada lingkungan eksternal, serta sebuah komponen monitor yang
mengkoordinasi semua komponen lain agar respon real-time nya (khususnya untuk
jangkauan dari 1 milidetik sampai 1 menit) dapat terjaga. Perlu diingat bahwa real time
berbeda dengan interaksi atau timesharing. Sistem real-time harus merespon di dalam
suatu rentang waktu yang tetap. Waktu respon sebuah sistem interaktif (atau timesharing)
secara normal dapat diperpanjang tanpa memberikan risiko kerusakan pada hasil.
c. Perangkat Lunak Bisnis
Pemrosesan informasi bisnis merupakan area aplikasi perangkat lunak yang paling luas.
Sistem diskrit telah mengembangkan perangkat lunak sistem informasi management
(MIS) yang mengakses satu atau lebih database besar yang berisi informasi bisnis.
Aplikasi dalam area ini menyusun kembali struktur data yang ada dengan suatu cara
tertentu untuk meperlancar operasi bisnis atau pengambilan keputusan manajemen.
Sebagai tambahan ke dalam aplikasi pengolahan data konvensional, aplikasi perangkat
lunak bisnis juga meliputi penghitungan klien/server serta penghitungan interaktif (misal
pemrosesan transaksi point-of sale).
d. Perangkat Lunak Teknik dan Ilmu Pengetahuan
Perangkat lunak teknik dan ilmu pengetahuan ditandai dengan algoritma number
crunching. Perangkat lunak ini memiliki jangkauan aplikasi mulai dari astronomi sampai
vulkanologi, dari analisis otomotif sampai dinamika orbit pesawat ruang angkasa, dan
dari biologi molekuler dampai pabrik yang sudah diotomatisasi. Tetapi aplikasi yang baru
di dalam area teknik dan ilmu pengetahuan sedang bergerak menjauhi algoritma numeris
yang konvensional. Computer-aided design, simulasi sistem dan aplikasi interaktif yang
lain, sudah mulai memakai ciri-ciri perangkat lunak sistem genap dan real-time.
e.. Embedded Software
Produk pintar telah menjadi bagian umum bagi hampir semua konsumen dan pasar
industri. Embedded software ada dalam read-only memory dan dipakai untuk mengontrol
hasil serta sistem untuk keperluan konsumen dan pasar industri. Embedded software
dapat melakukan fungsi yang terbatas serta fungsi esoterik (misal key pad control untuk
microwave) atau memberikan kemampuan kontrol dan fungsi yang penting (contohnya
fungsi digital dalam sebuah automobil seperti kontrol bahan bakar, penampilan dash-
board, sistem rem, dll)
f.Perangkat Lunak Komputer Personal
Pasar perangkat lunak komputer personal telah berkembang selama dekade terakhir.
Pengolah kata, multimedia, hiburan, manajemen databbase, aplikasi keuangan bisnis
personal, jaringan eksternal atau akses database hanya merupakan beberapa saja dari
ratusan aplikasi yang ada.
g. Perangkat Lunak Kecerdasan Buatan
Perangkat lunak kecerdasar buatan (Artificial Intelligent_AI) menggunakan algoritma
non-numeris untuk memecahkan masalah kompleks yang tidak sesuai untuk perhitungan
atau analisis secara langsung. Area kecerdasan buatan yang aktif adalah sistem pakar,
disebut juga sistem berbasis ilmu pengetahuan. Tetapi area aplikasi lainnya untuk
perangkat lunak kecerdasan buatan adalah pengakuan pola (image dan voice), pembuktia
teorema dan permainan game. Di tahun-tahun terakhir, cabang perangkat lunak
kecerdasan buatan yang baru, yang disebut artificial neural network (jaringan syaraf
tiruan), telah berkembang. Jaringan syaraf mensimulasi struktur proses-proses otak
(fungsi syaraf biologis) dan kemudian mebawanya kepada perangkat lunak kelas baru
yang dapat mengenali pola-pola yang kompleks serta belajar dari pengalaman-
pengalaman masa lalu.
II. REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING)
Rekayasa perangkat lunak merupakan sebuah teknologi yang dibentangkan. Banyak
pendekatan keteknikan (termasuk software engineering) yang harus berada pada sebuah
komitmen dasar menuju kualitas. Manajemen kualitas total serta filosofinya mengangkat
budaya pengembangan proses yang terus-menerus, dan budaya itu sendiri membawa kepada
pengembangan pendekatan yang semakin matang terhadap rekayasa perangkat lunak.
Landasan yang menopang rekayasa perangkat lunak merupakan fokus pada kualitas.
Fondasi untuk rekayasa perangkat lunak merupakan bentangan proses. Proses-proses
rekayasa perangkat lunak adalah perekat yang menjaga bentangan-bentangan teknologi secara
besama-sama dan memungkinkan perkembangan perangkat lunak komputer yang tepat waktu
dan rasional. Proses-proses tersebut membatasi kerangka kerja untuk serangkaian area proses
kunci (key process key) yang harus dibangun demi keaktifan penyampaian teknologi
pengembangan perangkat lunak. Area proses kunci ini membentuk dasar bagi kontrol
manajemen proyek perangkat lunak serta membangun konteks di mana metode teknis
diaplikasikan, produk usaha (model, dokumen, data, laporan, form dan lain-lain) dihasilkan,
fondasi dibangun, kualitas dijamin, dan perubahan diatur secara rapi.
Metode-metode rekayasa perangkat lunak memberikan teknik untuk membangun
perangkat lunak. Metode-metode itu menyangkut serangkaian tugas yang luas yang
menyangkut analisis kebutuhan, kontruksi program, desain, pengujian dan pemeliharaan.
Rekayasa perangkat lunak mengandalkan pada serangkaian prinsip dasar yang mengatur
setiap area teknologi dan menyangkut aktifitas pemodelan serta teknik-teknik deskriptif yang
lain.
Tool-tool rekayasa perangkat lunak memberikan topangan yang otamits ataupun
semi-otomatis pada proses-proses dan metode-metode yang ada. Ketika tool-tool
diintegrasikan sehingga informasi yang diciptakan oleh satu tool bisa digunakan oleh yang
lain, sistem untuk menopang perkembangan perangkat lunak yang disebut computer-aided
software engineering (CASE). CASE menggabungkan perangkat lunak, perangkat keras dan
database rekayasa perangkat lunak (repositori yang berisi informasi penting tentang analisis,
desain, konstruksi program, serta pengujian) untuk menciptakan lingkungan rekayasa
perangkat lunak yang analog dengan CAD/CAE (computer-aided design/engineering) untuk
perangkat keras.

II. 1. Pandangan Umum tentang Rekayasa Perangkat Lunak

Untuk mengembangkan perangkat lunak secara memadai, proses pengembangan
perangkat lunak harus didefinisikan terlebih dahulu. Usaha yang berhubungan dengan
rekayasa perangkat lunak dapat dikategorikan ke dalam tiga fase umum dengan tanpa
mempedulikan area aplikasi, ukuran proyek atau kompleksitasnya.
a. Fase Definisi (Definition Phase)
Fase ini berfokus pada “apa” (what); di mana pada definisi ini pengembang perangkat
lunak harus mengidentifikasi informasi apa yang akan diproses, fungsi dan unjuk kerja
apa yang dibutuhkan, tingkah laku sistem seperti apa yang diharapkan, interface apa yang
akan dibangun, batasan desain apa yang ada, dan kriteria validasi apa yang dibutuhkan
untuk mendefinisikan sistem yang sukses. Kebutuhan (requirement) adalah kunci dari
sistem dan perangkat lunak yang didefinisikan. Metode yang diaplikasikan selama fase
definisi berbeda, tergantung pada paradigma rekayasa perngakat lunak (atau kombinasi
paradigma) yang diaplikasikan. Ada tiga tugas utama yang berada dalam bentuk yang
sama yaitu:
- Sistem atau rekayasa informasi
- Perencanaan proyek perangkat lunak
- Analisis kebutuhan

b. Fase Pengembangan (Development Phase)
Fase ini berfokus pada how (bagaimana); di mana selama masa pengembangan perangkat
lunak, teknisi harus mendefinisikan bagaimana data dikonstruksikan, bagaimana fungsi-
fungsi diimplementasikan sebagai sebuah arsitektur perangkat lunak, bagaimana detail
prosedur akan diimplementasikan, bagaimana interface ditandai (dikarakterisasi),
bagaimana rancangan akan diterjemahkan ke dalam bahasa pemrograman (atau bahasa
non-prosedural), serta bagaimana pengujian akan dilakukan. Metode-metode yang
diaplikasikan selama masa pengembangan program akan bervariasi, tetapi ada tiga tugas
teknis yang khusus yang harus selalu ada, yaitu:
- Rancangan perangkat lunak
- Pemunculan kode
- Pengujian perangkat lunak

c. Fase Pemeliharaan (Maintenace Phase)
Fase ini berfokus pada perubahan (change), yang dihubungkan dengan koreksi kesalahan,
penyesuaian yang dibutuhkan ketika lingkungan perangkat lunak berkembang, serta
perubahan sehubungan dengan pperkembangan yang disebabkan oleh perubahan
kebutuhan pelanggan. Fase pemeliharaan mengaplikasikan lagi langkah-langkah pada fase
definisi dan fase pengembangan, tetapi semuanya tetap tergantung pada konteks perangkat
lunak yang ada. Ada empat tipe perubahan yang terjadi selama masa fase pengembangan
yaitu:
- Koreksi
Meskipun dengan jaminan kualitas yang terbaik, sepertinya pelanggan akan tetap
menemukan cacat pada perangkat lunak. Pemeliharaan korektif (Corrective
maintenance) mengubah perangkat lunak, membetulkan cacat atau rusak.
- Adaptasi
Dari waktu ke waktu, lingkungan original (contohnya CPU, sistem operasi, aturan-
aturan bisnis, karakterisasi produk eksternal) di mana perangkat lunak dikembangkan
akan terus berubah. Pemeliharaan adaptif (Adaptif maintenance) menghasilkan
modifikasi kepada perangkat lunak untuk mengakomodasi perubahan pada kebutuhan
fungsional original.
- Perkembangan (Enhancement)
Ketika perangkat lunak dipakai, pemakai/pelanggan akan mengenali fungsi-fungsi
tambahan yang memberi mereka keuntungan. Perfective maintenance memperluas
perangkat lunak sehingga melampaui kebutuhan fungsi originalnya.
- Pecegahan
Keadaan perangkat lunak semakin memburuk sehubungan dengan waktu, dan karena
itu, preventive maintenance yang sering juga disebut software engineering (rekayasa

perangkat lunak), harus dilakukan untuk memungkinkan perangkat lunak melayani
kebutuhan para pemakainya. Pada dasarnya preventive maintenance melakuakan
perubahan pada program komputer sehingga bisa menjadi lebih mudah untuk
dikoreksi, disesuaikan dan dikembangkan.
Fase dan langkah-langkah yang berhubungan harus diimbangi dengan sejumlah
aktivitas pelindung (umbrella activities). Kegiatan-kegiatan khusus di dalam kategori ini
menyangkut:
- Kontrol dan pelacakan proyek perangkat lunak
- Review teknis formal
- Jaminan kualitas perangkat lunak
- Penghasilan dan penyiapan dokumen
- Manajemen reusabilitas
- Pengukuran
- Manajemen resiko
Aktivitas pelindung diaplikasikan ke seluruh proses perangkat lunak.

II. 2. Paradigma Rekayasa Perangkat Lunak
Untuk menyelesaikan msalah aktual di dalam sebuah setting industri, rekayasa
perangkat lunak atau tim perekayasa harus menggabungkan strategi pengembangan yang
melingkupi lapisan proses, metode, dan alat-alat bantu serta fase-fase generik. Strategi ini
sering diacukan sebagai model proses atau paradigma rekayasa perangkat lunak. Model
proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat aplikasi dan proyeknya,
Page 12
metode dan alat-alat bantu yang akan dipakai, dan kontrol serta penyampaian yang
dibutuhkan.
Model proses tersebut harus disesuaikan dahulu sebelum digunakan oleh tim
proyek perangkat lunak. Untuk melakukannya telah dikembangkan alat bantu teknologi
proses untuk membantu organisasi perangkat lunak menganalisa proses mereka yang sedang
berlangsung, mengorganisasikan tugas-tugas kerja, mengontro dan memonitor kemajuan
serta mengatur kualitas teknis.
Alat bantu teknologi proses memperbolehkan organisasi perangkat lunak untuk
membangun sebuah model kerangka kerja proses umum otomatis, sejumlah tugas dan
aktivitas pelindung. Model tersebut, yang biasanya diwakilkan sebagai sebuah jaringan,
kemudian dapat dianalisis untuk menentukan aliran kerja khusus dan mengamati struktur
proses alternatif yang menyebabkan pengurangan waktu dan biaya pengembangan.
Sekali sebuah proses yang diterima diciptakan, alat-alat bantu teknologi proses
yang lain dapat dipergunakan untuk mengalokasi, memonitor dan bahkan mengontrol semua
tugas rekayasa perangkat lunak yang didefinisikan sebagai bagian dari model proses. Setiap
anggotan tim proyek perangkat lunak bisa mempergunakan alat bantu tersebut untuk
mengembangkan checklist dari tugas-tugas kerja yang dilakukan, hasil-hasil kerja yang akan
diproduksi dan aktivitas penjaminan kulaitas yang akan dilakukan. Alat-alat bantu teknologi
proses juga dapat dipergunakan untuk mengkoordinasi penggunaan alat-alat bantu perangkat
lunak komputer bantuan yang sesuai untuk tugas-tugas kerja khusus.

KESIMPULAN
1. Perangkat lunak dapat menjadi elemen kunci bagi evolusi sistem dan produk yang
berbasis komputer. Perangkat lunak dirancang dari program-program, data, dan
dokumen. Masing-masing dari item-item tersebut terdiri dari sebuah konfigurasi yang
diciptakan sebagai bagian dari proses pengembangan perangkat lunak
2. Rekayasa perangkat lunak adalah sebuah disiplin yang mengintegralkan proses, metode
dan alat-alat bantu bagi pegembangan proses perangkat lunak komputer.
3. Tujuan rekayasa perangkat lunak adalah menyediakan sebuah kerangka kerja guna
membangun perangkat lunak dengan kualitas yang lebih tinggi.

Sabtu, 10 April 2010

Untuk-Mu

Kepada-Mu aku minta izin
Bila suatu saat aku jatuh cinta
Jangan biarkan cinta untuk-Mu berkurang
Hingga membuat lalai akan adanya Engkau

Keapada-Mu
Aku punya pinta
Bila suatu saat aku jatuh cinta
Penuhilah hatiku dengan bilangan cinta-Mu yang tak terbatas
Biar rasaku pada-Mu tetap utuh


Izinkanlah bila suatu saat aku jatuh cinta
Pilihkan untukku seseorang yang hatinya penuh dengan
kasih-Mu
dan membuatku semakin mengagumi-Mu


Bila suatu saat aku jatuh hati
Pertemukanlah kami
Berilah kami kesempatan untuk lebih mendekati cinta-Mu


Pintaku terakhir adalah seandainya kujatuh hati
Jangan pernah Kau palingkan wajah-Mu dariku
Anugerahkanlah aku cinta-Mu...
Cinta yang tak pernah pupus oleh waktu

Amin.