Kamis, 02 Juni 2016

PERANGKAT LUNAK YANG AKAN DATANG

MAKALAH
PERANGKAT  LUNAK YANG AKAN DATANG






Disusun oleh :
SLAMET ARDIANSYAH
NIM : 2113R0680


STMIK HIMSYA
SEMARANG
2016





A.    WINDOWS
      Software Open Source Adalah Masa Depan Untuk Windows – Open Source adalah software yang bersifat gratis dan terbuka. Software ini juga sudah banyak digunakan pada Sistem Operasi Windows. Namun apakah kita yakin bahwa Software Open Source yang kita gunakan di Windows tersebut aman. Apakah tidak mengganggu privasi online dan keamanan data? Kita tidak mengetahui persis apa yang dilakukan oleh program ini.
      Dunia sudah merujuk ke dunia yang lebih maju dan beberapa kalangan sudah menuntut akan kehadiran Open Source alternatif untuk program seperti Word dan Photoshop.
      Menjelang akhir 2014 lalu Microsoft mengumumkan bahwa mereka akan membuka sumber .Net Framework mereka, platform kode dan lingkungan dimana banyak program Windows yang bergantung pada .Net Framework. Baru – baru ini mereka juga memutuskan untuk membuka sumber Windows Live Writer.
      Kemudian disusul Apple yang segera membuat bahasa pemrograman swift mereka menjadi open source.
      Ketika dua raksasa perangkat lunak di dunia yang telah berhasil membangun keberhasilannya dalam properti teknologi mulai mengadopsi filosofi Open Source, saat itulah Anda menyadari bahwa open source adalah benar – benar masa depan.

Namun apa artinya ini bagi Anda ?



            Pertama dan terpenting, Software Open Source biasanya (tetapi tidak selalu) berarti perangkat lunak bebas. Sementara Photoshop, Microsoft Office, dan Maya diperlukan biaya ratusan atau ribuan dollar untuk mendapatkannya. Namun sudah ada alternatif terbuka seperti GIMP, Libre Office, dan Blender yang benar – benar bebas untuk didownload dan digunakan. Siapa yang tidak suka gratis?
            Dengan open source masih memungkinkan untuk mendapatkan uang, jadi tidak terlalu buruk bagi para pengembang. Untuk menunjukkan dukungan Anda bisa mendonasikan beberapa biaya kepada para pengembang.
            Kedua, pengembang lebih bertanggung jawab atas kode yang mereka buat. Dalam program yang benar – benar open source, siapa pun dapat menelusuri kode pemrograman kapan pun mereka ingin melihat, yang berarti pengembang tidak dapat menyembunyikan malware di dalam program atau melakukan hal – hal yang tidak diinginkan terhadap data Anda.
            Ketiga, perangkat lunak open source cenderung dikembangkan lebih cepat dan tahan lama. Ketika setiap orang dapat berkontribusi terhadap proyek open source, tim pengembang secara teoristis berjumlah banyak, dan oleh karena itu bug secara teratur diperbaiki dan fitur baru lebih sering ditambahkan.




Keempat, perangkat lunak open source mempromosikan kompetisi, dan kompetisi mempromosikan kualitas dan inovasi.
Catatan : Hindari menggunakan SourceForge! Belum lama, terungkap terungkap bahwa sourceforge telah membajak proyek yang ditinggalkan dan membangun file instaler mereka dengan malware. Untuk keamanan kami sarankan untuk menghindari source forge.
B.     SOFTWARE ARSITEKTUR
      Berbicara mengenai software 3d tidak akan pernah ada habisnya, akan selalu lahir generasi software baru yang lebih sesuai dengan zaman tertentu, ketika autodesk auto cad telah memimpin pasar gambar 2d dan 3d, muncullah discreet dengan produk discreet 3ds max, dimana awalnya para pengguna auto cad 3d masih kurang nyaman mengugunakannya dengan berbagai alasan salah satu di antaranya misalnya interface dan tools yang di nilai terlalu ribet. Beberapa tahun lalu auto desk kemudian membeli software ini dari discreet dan menjadi 3ds max yang kita kenal sekarang yaitu auto desk 3ds max.



Kemudian lahir generasi google sketchup, meskipun awalnya software ini di tujukan untuk software suport untuk google map, namun kemudahan dalam penggunaannya menarik pengguna software 3d yang begitu besar. Belajar dari bagaimana google sketchup bisa diterima oleh para pengguna 3d adalah hal yang paling mudah untuk menggambarkan software apa yang memiliki potensi masa depan.
Perlu di pahami bahwa 3d dalam konteks software 3d memiliki paling tidak 2 makna yaitu modeling software dan  rendering software. Modeling software seperti 3ds max dan sketchup membutuhkan  plugin tambahan untuk peoses renderingnya yang paling populer adalah misalnya vray rendering, dan atau meng import modeling tersebut ke software rendering. Untuk modeling software saya berpikir bahwa google sketchup masih akan terus memimpin maklum pesaingnya tidak ada .
Pembahasan software 3d kita kali ini adalah 3d dalam konteks software rendering 
( bukan plugin rendering yah ), apa yang menjadi alat ukur kami menilai bahwa software ini akan menjadi software masa depan??

Yang pertama. kemampuan menjawab kecenderungan users atau pengguna yang bersifat templates atau menyukai yang mudah mudah saja
Yang kedua. kemampuan menjawab tuntutan pasar 3d yang mengiginkan kualitas terbaik namun dengan waktu yang singkat.
Yang ketiga. dari sisi bisnis 3d dua kemampuan di atas dapat mendudukkan dua permasalahan yang akan di hadapi dalam masa depan bisnis ini yaitu biaya produksi yang lebih murah karena kemudahan yang di tawarkan oleh software dan tuntutan pasar yang cenderung menyenagi biaya yang murah dan cepat.
Yang keempat. software software ini secara optimis telah terus melakukan perubahan dan hasilnnya mengagumkan, di luar ekspektasi. 
Yang kelima. harga software ini bersaing di pasaran ( software aslinya yah bukan bajakan )
Yang keenam. tidak membutuhkan kualitas komputer yang begitu hebat untuk penggunaannya, di sisi lain super komputer seperti BOXX harganya semakin terjangkau

            Di urutan pertama dari software 3d yang akan menjadi masa depan adalah LUMION




DAFTAR PUSTAKA

http://www.pintarkomputer.com/software-open-source-adalah-masa-depan-untuk-windows/
http://www.lingkarwarna.com/2015/11/lumion-twinmotion-dan-lumenrt.html


Rabu, 01 Juni 2016

REKAYASA PERANGKAT LUNAK


MAKALAH
REKAYASA  PERANGKAT  LUNAK










Disusun oleh :
SLAMET ARDIANSYAH
NIM : 2113R0680








STMIK HIMSYA SEMARANG
2016





BAB 1
PENDAHULUAN


A.  Pengertian  Rekayasa Perangkat Lunak

Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah    Software   Engineering.     Istilah     Software   Engineering
dipopulerkan   tahun   1968   pad Software   Engineering   Conference   yandiselenggarakan     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  luna adala 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 (OBrien, 1999).  Pengertian RPL sendiri adalah sebagai berikut:


Suatu di siplin 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 memelihara system setelah di gunakan
 



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.



B.  Tujuan Rekayasa Perangkat Lunak

Secara umum tujuan RPL tidak berbeda dengan  bidang rekayasa yang lain.  Mari kita perhatikan Gambar 1. berikut ini.

                                                                       
                                                       
                                                                  
                                                                  Kinerja






                                                   Biaya                        Waktu

          Gambar 1. Tujuan RPL


Dari  Gambar  1  dapat  diartikan  bahwa  bidang  rekayasa  akan  selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat.  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.


C.  Ruang Lingkup Rekayasa Perangkat Lunak

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



 





 
                             Gambar  2  Ruang  Lingkup  RPL

  • Software  requirements  berhubungan  dengan  spesifikasi  kebutuhan  dan persyaratan perangkat lunak.
  • Software  design  mencakup  proses   penentuan   arsitektur,  komponen, antarmuka, dan karakteristik lain dari perangkat lunak.
  • Software construction berhubungan dengan detil pengembangan perangkat lunak,   termasu 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, perubahadan perbaikan proses RPL.
  • Software quality menitikberatkan pada  kualitas dan  daur hidup perangkat lunak.

D.  Rekayasa Perangkat Lunak dan Disiplin Ilmu Komputer
  
    Disiplin ilmu computer (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.  Ada beberapa model pengelompokkan sub-bidang ilmu dalam disiplin ilmu komputer 
 







































































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.
E.   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. Hubungan keterkaitan RPL dengan ilmu lain dapat dilihat pada Gambar  6.

 







·         Bidang   ilmu   manajemen   meliputi   akutansi,   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 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.

F.    Profesi   dan  Sertifikasi

 Profesi sebagai seorang Software Engineering mungkin  masih   terasa asing  ditelinga  orang
 Indonesia.  Sebagian besar orang Indonesia mungkin lebih familiar  dengan sebutan   Ahli  Teknologi  Informasi,   Analis  Sistem  Informasi, Programmer, Operator atau sebutan profesi lainnya.  Hal ini karena adanya kerancuan tentang istilah RPL seperti telah disebutkan di awal bab.
Namun di negara-negara yang maju\ dalam bidang teknologi informasi,  sebutan  Software Engineer telah mulai banyak digunakan. Sertifikasi  kompetensi  dalam  bidang  RPL,   saat  ini  masih  menjadi perdebatan di kalangan  ahli dan penyedia perangkat lunak.  Sebagian besar sertifikasi  dalam industri  perangkat   lunak  biasanya  sangat   spesifik  untuk perangkat lunak tertentu.  Sebagai contoh, perusahaan perangkat lunak seperti Redhat Linux Inc., Adobe Inc., Oracle,  atau Microsoft, memberikan sertifikasi. diproduksinya.
ACM (Association for Computing Machinery) pernah menyelenggarakan sertifikasi  untuk  program   Software  Engineer  pada  tahun  1980an,  namun dihentikan  karena  kurangnya  peminat.IEEE  (Institute  of  Electrical  and Electronics  Engineers)  telah  mengeluarkan  lebih  dari  500  sertifikat  profesi perangkat lunak.  DiCanada, telah dikeluarkan sebuah sertifikat legal untuk RPL yang disebut sebagai ISP (Information Systems Profesional). Saat ini,  sertifikasi untuk  RPL di Indonesia juga belum tersedia, namun telah  disusun   Standar  Kompetensi  Kerja  Nasional  Indonesia  untuk Bidang Programmer Komputer.  Meskipun belum memenuhi cakupan bidang RPL   secara   keseluruhan,   namun   paling   tidak   dapat   digunakan   sebagai pendekatan sertifikasi bidang RPL.

G. Rekayasa Perangkat Lunak dan Pemecahan Masalah

Secara  konsep,  rekayasa  perangkat  lunak  memiliki  kedekatan  dengan prinsi prinsip pemecahan masalah.  Pemahaman tentang masalah, strategi dan proses pemecahan masalah, serta pendekatan sistem pada pemecahan masalah akan sangat membantu proses rekayasa perangkat lunak.

1. Masalah dan Gejala
 Masalah (problem)  adalah  perbedaan antara kondisi yang terjadi dan kondisi yang diharapkan  atau boleh juga diartikan sebagai perbedaan antara kondisi sekarang   dengan tujuan yang diinginkan.  Sebagai contoh seorang siswa berharap memperoleh nilai    di atas   80  untuk   ujian     mata  pelajaran   Pemrograman    C++,    namun   pada kenyataannya  dia  hanya  memperoleh  nilai  60.  Adanya       perbedaan   menunjukkan  adanya masalah. antara gejala dan masalah.   Gejala adalah tanda/petunjuk  terjadinya  suatu  masalah. Perhatikan seorang yang berprofesi sebagai Seorang dokter dalam  usaha  mengobati  penyakit  pasien selalu bertanya dulu tentang gejala-gejala yang      dirasakan      pasien      kemudian menyimpulkan    bahwa   pasien  menderita penyakit  tertentu  dan   menentukan  obat yang  tepat.    Pusing,  demam,  batuk,  dan pilek  merupakan  gejala  atau  tanda  dari penyakit flu.  Apabila dokter hanya memberi obat sakit kepala, maka  





Mungkin kita bertanya-tanya apa hubungan masalah dan gejala dengan RPL. Seperti telah disampaikan di awal bab, perangkat lunak yang merupakan hasil dari RPL merupakan alat bantu yang digunakan untuk menyelesaikan tugas / masalah tertentu.  Apabila kita tidak mengetahui dengan benar masalahnya mustahil kita dapat menentukan bagaimana menyelesaikannya.  Dan, untuk mengetahui  dengan  baik  masalah,  maka  pengetahuan  tentang  gejala  dari masalah menjadi sangat penting.

2. Tipe-Tipe Masalah




                                  Gambar  8  Type-type masalah

·                            Masalah pemenuhan standar

Tipe  masalah  dalam  kelompok  ini  adalah  masalah-masalah  yang berhubungan dengan pencapaian standar yang telah ditentukan dalam sebuah organisasi.  Biasanya tujuan  seperti ini berlaku dalam jangka yang relative panjang. 

·    Masalah  pemilihan  alternative
Masalah dalam kelompok  ini berhubungan dengan  bagaimana  memilih solusi terbaik  dari  berbagai  alternative  berdasarkan  kriteria-kriteria tertentu. Permasalahan ini  seringkali  kita  jumpai  dalam  kehidupan sehari-hari, seperti bagaimana memilih  sekolah  yang  tepat,  memilih lokasi  tempat  tinggal, memilih  bidang  pekerjaan. Masing-masing alternatif dan kriteria memiliki bobot yang telah disepakati.

·   Masalah pemenuhan kepuasan konsumen
Pada  organisasi-organisasi yang bersifat profit (mencari keuntungan), masalah-masalah  pada  kelompok  ini  merupakan  tipe  yang  seringkali muncul. Konsumen memiliki berbagai macam keinginan yang satu sama lain  berbeda. Memenuhi  seluruh  keinginan  konsumen  sangat  tidak mungkin dan sangat memberatkan sebuah organisasi.  Oleh karena itu perlu  dicari  pemecahan  yang sama-sama  menguntungkan,  baik  bagi konsumen maupun organisasi tersebut.

§ Masalah pencapaian tujuan
Tipe ini mirip dengan tipe pertama (masalah pemenuhan standar).  Yang berbeda adalah, pada tipe ini tujuan yang ingin dicapai dapat berubah- ubah dan   bersifat jangka pendek.
3. Pemecahan Masalah
Pemecahan masalah adalah sebuah proses dimana suatu situasi diamati kemudian  bila  ditemukan  ada  masalah  dibuat  penyelesaiannya  dengan  cara menentukan masalah, mengurangi atau menghilangkan masalah atau mencegah masalah tersebut terjadi. Ada banyak urutan proses pemecahan masalah yang diajukan oleh para ahli, salah satunya seperti terlihat pada Gambar 9.



                                Gambar 9 Proses Pemecahan Masalah

Pada gambar 9  terlihat serangkaian tahapan proses yang berbeda yang dapat  digunakan  dalam  berbagai  tingkatan,  tergantung  dari  tipe  dan  sifat masalahnya.  Masalah  yang  berbeda  membutuhkan  penggunaan  cara  yang berbeda, bahkan mungkin urutan yang berbeda. Tahapan kritis dari proses pemecahan masalah adalah apabila masalah tidak cukup  jelas didefinisikan maka tahapan-tahapan berikut sulit untuk dijalankan. Bahkan apabila dipaksakan, kemungkinan besar penyelesaian yang tepat tidak akan diperoleh.

Secara  umum  proses  pemecahan  masalah  dapat  dilakukan  dengan empat tahapan utama yaitu :

§    Memahami dan mendefinisikan masalah

Bagian ini merupakan bagian yang sangat penting karena menjadi awal dari seluruh  proses  pemecahan  masalah.    Tujuan  pada  bagian  ini  adalah memahami  masalah dengan baik dan  menghilangkan bagian-bagian yang dirasa kurang penting.

§  Membuat rencana untuk pemecahan masalah

Pada bagian ini ada dua kegiatan penting yaitu :
a)  mencari berbagai cara penyelesaian yang mungkin diterapkan b)  membuat rencana pemecahan masalah

Penyelesaian suatu masalah biasanya  tidak hanya  satu tapi mungkin bisa beberapa macam.  Sebagai ilustrasi, apabila kita berada di kota Surabaya dan ingin pergi ke Jakarta, maka banyak cara yang mungkin bisa dilakukan, misalnya kita bisa menempuh dengan angkutan  darat, laut atau udara. Dengan  angkutan  darat  kita  bisa  menggunakan  kereta  api,  bus  atau angkutan yang lain.  Jalurnya pun kita bisa lewat jalur utara, tengah atau selatan.  Jadi banyak sekali cara penyelesaian yang bisa kita kembangkan. Masing-masing mempunyai karakteristik sendiri-sendiri.  Dari sekian banyak penyelesaian  ini  kita  harus  memilih  satu  yang  berdasarkan  persyaratan tertentu   merupakan   cara   yang    paling   baik    untuk   menyelesaikan permasalahan.  Setelah  terpilih, maka kita dapat  membuat rencana kasar
(outline) penyelesaian masalah dan membagi masalah dalam bagian-bagian yang lebih kecil.  Rencana kasar (outline) penyelesaian masalah hanya berisi tahapan-tahapan utama penyelesaian masalah.

§  Merancang dan menerapkan rencana untuk memperoleh cara penyelesaian

Pada  bagian  ini  rencana  kasar  penyelesaian   masalah  diperbaiki  dan  diperjelas dengan pembagian dan urutan rinci yang harus ditempuh dalam penyelesaian masalah

§  Memeriksa dan menyampaikan hasil dari pemecahan masalah
Bagian ini bertujuan untuk memeriksa apakah akurasi (ketepatan) hasil dari  cara yang dipilih telah memenuhi tujuan yang diinginkan.  Selain itu juga untuk melihat bagaimana daya guna dari cara yang dipilih yang dipilih.























BAB II

MODEL REKAYASA PERANGKAT LUNAK


A. Model 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 10.



                                        Gambar 10 Sistem Development Life Cycle


Setiap  model  yang  dikembangkan   mempunyai  karakteristik   sendiri- sendiri.
Namun secara umum ada persamaan dari model-model ini, yaitu:

§  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  perangka 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  bernilah 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

Ada banyak  model pengembangan  perangkat lunak, antara lain 
The Waterfall Model, Joint Application Development (JAD), Information Engineering (IE), Rapid Application Development (RAD),  Prototyping, Unified Process (UP), Structural Analysis and Design (SAD) d Framework for the Application of System thinking (FAST)   The  Waterfall  Model,  Prototyping,    Unified Process (UP).

1.  The waterfall model

Model siklus hidup (life cycle model) adalah model utama dan dasar dari banyak
model.  Salah satu model yang cukup dikenal dalam  dunia rekayasa perangkat lunak adalah The Waterfall Model.  Ada 5 tahapan utama dalam The Waterfall Model seperti terlihat pada Gambar 2.3.  di sebut Waterfall ( berarti Air Terjun) memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat. Tahapan-tahapan dalam The Waterfall Model secara ringkas adalah sebagai berikut :
a)      Tahap  investigasi  dilakukan  untuk  menentukan  apakah  terjadi  suatu masalah atau adakah peluang suatu sistem informasi dikembangkan.  Pada tahapan  ini  studi  kelayakan  perlu  dilakukan  untuk  menentukan  apakah sistem informasi yang akan dikembangkan merupakan solusi yang layak
b)      Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada (sebelum diterapkan  sistem informasi yang baru).
c)      Tahap  disain  bertujuan   menentukan  spesifikasi   detil  dari  komponen- komponen  sistem informasi  (manusia,  hardware, software,  network dan data) dan produk-produk informasi yang sesuai dengan hasil tahap analisis.
d)      Tahap   implementasi   merupakan   tahapan   untuk   mendapatkan   atau mengembangkan    hardware    dan    software    (pengkodean    program), melakukan pengujian, pelatihan dan perpindahan ke sistem baru.
e)      Tahapan perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan. Pada tahapan ini dilakukan monitoring proses, evaluasi dan perubahan (perbaikan) bila diperlukan.



                                                      Gambar 11 The waterfall Model
 
  


2.  Prototyping model

Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak   atau   komponen-komponen   perangkat   lunak   akan   bekerja   dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997). Prototyping model dapat diklasifikasikan  menjadi  beberapa  tipe seperti terlihat pada gambar 12




Gambar 12.  Klasifikasi prototyping model (Harris, 2003)


  • Reusable prototype :
       Prototype yang akan ditransformasikan menjadi produk final.

  • Throwaway prototype :
       Prototype yang akan dibuang begitu selesai menjalankan maksudnya.

  • Input/output prototype :
      Prototype yang terbatas pada antar muka pengguna (user interface).

  • Processing prototype :
            Prototype  yang  meliputi  perawatan  file  dasar  dan  proses-proses transaksi.

  • System prototype :
            Prototype yang berupa model lengkap dari perangkat lunak.

Tahap-tahap dalam prototyping boleh dikata merupakan tahap-tahap yang dipercepat. Strategi utama dalam  prototyping adalah kerjakan yang mudah terlebih dahulu dan sampaikan hasil kepada pengguna sesegera mungkin. Harris (2003) membagi prototyping dalam enam tahapan seperti terlihat pada gambar 13.

Tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:

  • Identifikasi kandidat prototyping.  Kandidat dalam kasus ini meliputi  user interface (menu, dialog, input dan output), file-file transaksi utama, dan fungsi-fungsi pemrosesan sederhana.
  • Rancang  bangun  prototype  dengan  bantuan  software   seperti   word processor,  spreadsheet,  database,  pengolah  grafik,  dan  software  CASE
            (Computer-Aided System Engineering).
  • Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan untuk tujuan demonstrasi.
  • Siapkan  prototype USD (User’s System  Diagram) untuk mengidentifikasi bagian-bagian dari perangkat lunak yang di-prototype-kan.
  • Evaluasi dengan pengguna untuk mengevaluasi  prototype dan  melakukan perubahan jika diperlukan.
  • Transformasikan prototype menjadi perangkat lunak yang beroperasi penuh dengan   melakukan   penghilangan   kode-kode   yang   tidak   dibutuhkan, penambahan program-program yang  memang dibutuhkan dan perbaikan dan pengujian perangkat lunak secara berulang.




Gambar 13Tahapan-tahapan prototyping model (Harris, 2003)




3. Unified Proces dan Unified Modeling Languange
Unified  Process  (UP)  atau  kadang  disebut  sebagai  Unified  Software Development  Process  (USDP)  adalah  kerangka  proses  pengembangan  yang bersifat use-case-driven, berpusat pada arsitektur perangkat lunak, interatif dan tumbuh-kembang (Alhir,  2005).
Kerangka pengembangan ini termasuk baru dalam metodologi pengembangan perangkat lunak. UP dapat diaplikasikan pada berbagai skala proyek, mulai dari skala kecil sampai dengan skala besar.



                                                Gambar 14 RUP Life Cycle (Ambler, 2005)

     Penjelasan singkat untuk empat tahapan dalam   UP adalah sebagai berikut :

§  Inception tahapan ini merupakan tahapan paling awal dimana aktivitas
penilaian terhadap    sebuah   proyek   perangkat   lunak   dilakukan. Tujuannya adalah    untuk  mendapatkan  kesepakatan  dari  stakeholder sehubungan dengan tujuan dan dana proyek..
§  Elaboration.  Tujuan dari tahap ini adalah untuk mendapatkan gambaran
umum kebutuhan, persyaratan dan fungsi-fungsi utama perangkat lunak. Hal ini penting  untuk mengetahui secara lebih baik resiko-resiko proyek, baik meliputi resiko  arsitektur perangkat lunak, perencanaan, maupun implementasi.  Pada tahap ini telah dimulai rancang bangun perangkat lunak   secara   iterative  melalui   aktivitas-aktivitas   seperti   business modeling, requirements, analysis dan design meskipun baru pada tahap awal.
§  Construction. Tujuan dari tahapan ini adalah membangun perangkat lunak sampai dengan saat perangkat  lunak tersebut siap digunakan. Titik  berat tahapan  ini  adalah  pada  penentuan  tingkat  prioritas kebutuhan / persyaratan, melengkapi spesifikasinya, analisis lebih dalam, disain solusi yang  memenuhi  kebutuhan dan persyaratan, pengkodean dan  pengujian  perangkat  lunak. Jika  dimungkinkan  versi  awal  dari perangkat  lunak  diuji  cobakan  untuk  mendapatkan  masukan  dari pengguna.
§  Transition.  Tahap  ini  difokuskan  pada  bagaimana  menyampaikan perangkat lunak yang sudah jadi pada pengguna.  Perangkat lunak akan secara resmi diuji oleh baik oleh penguji (tester) yang kompeten maupun oleh pengguna. Beberapa aktivitas seperti pemindahan pusat data dan pelatihan pengguna dan staf pendukung harus dilakukan pada tahap ini.

B.  Tahap-tahap Rekayasa Perangkat Lunak

Seperti  telah  disebutkan,  meskipun  dalam  pendekatan  berbeda-beda, namun  model-model  di  atas  memiliki  kesamaan,  yaitu  menggunakan  pola tahapa analysis – design – coding(construction) – testing – maintenance.

.1.  Analisis
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.  Tahapan-tahapan dalam analisis rekayasa perangkat lunak secara ringkas dapat dilihat pada Gambar 15.

Ada satu bagian penting yang biasanya   dilakukan  dalam   tahapan  analisis yaitu
Pemodelan  proses   bisnis.   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 keluaran pada suatu proses.  Biasanya model ini digambarkan dalam bentu Diagram Arus Data  (Data Flow Diagram / DFD).  DFD meyajikan gambaran apa yang manusia, proses  dan prosedur lakukan untuk mentransformasi data menjadi informasi.


Gambar  15 Tahapan dan aktifitas dalam analisis.
 


BAB  III
P E N U T U P


Ø   Perangkat lunak  adalah  seluruh perintah yang digunakan untuk memproses informasi
Ø   Program adalah kumpulan perintah yang dimengerti oleh komputer
Ø   Prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi
Ø   RPL  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.
Ø   Tujuan  RPL  adalah menghasilkan perangkat lunak  dengan kinerja tinggi, tepat waktu, berbiaya rendah, dan multiplatform.
Ø   RPL   merupakan   sub    bidang   ilmu   komputer   yang   dalam penerapannya membutuhkan dukungan baik dari sub bidang ilmu komputer lainnya maupun bidang-bidang ilmu lain.
Ø   Sertifikasi untuk bidang RPL belum tersedia, namun mengacu pada bidang Programmer
Ø   Masalah (problem) adalah perbedaan antara kondisi yang terjadi dan  kondisi  yang  diharapkan  daGejala  adalah  tanda/petunjuk terjadinya suatu masalah.
Ø   Model-model rekayasa perangkat lunak pada umumnya mengacu pada model    proses    pengembangan    sistem    yang    disebut    System Development Life Cycle (SDLC).
Ø   Model pengembangan perangkat lunak yang sekarang umum digunakan adalah The Waterfall Model, Prototyping, dan Unified Process (UP).
Ø   Tahapan-tahapan utama dalam rekayasa perangkat lunak meliputi :
         analisis, desain, konstruksi, pengujian dan perawatan.






















DAFTAR  PUSTAKA



http://www.wikipedia.org 
http:// www.google.com
http:// www. Microsoft .com