Rabu, 05 Agustus 2015

Pengertian Ubiquitous Computing, Open Source, The New Economy, Komputasi Awan, Dropbox, Mandeley, Salesforce.com, Google Engine


Ubiquitous Computing  

dapat didefinisikan sebagai penggunaan komputer yang tersebar di mana user berada. Sejumlah komputer disatukan dalam suatu lingkungan dan tersedia bagi setiap orang yang berada di lokasi tersebut. Setiap komputer dapat melakukan pekerjaan yang dipersiapkan untuk tidak banyak melibatkan intervensi manusia atau bahkan tanpa harus mendeteksi di mana pemakai berada.  Ide ubiquitous computing pertama kali disampaikan oleh Mark Weiser (1998) di Laboratorium Komputer Xerox PARC, yang membayangkan komputer dipasangkan di dinding, di permukaan meja, di setiap benda sehingga seseorang dapat berkomunikasi dengan ratusan komputer pada saat yang sama. Setiap komputer secara tersembunyi diletakkan di lingkungan dan dihubungkan secara nirkabel.




Open Source

adalah sebuah software yang dapat di miliki dengan cara mengambil / mendownload secara gratis dari internet , yang kode softwarenya di publikasikan ke publik atau pengguna internet . Umumnya orang akan memperbaiki kelemahan – kelemahan dari software tersebut dan memodifikasi tampilan atau bahasanya . Lalu menguploadnya kembali / mempublikasikan kembali software yang sudah di perbaiki tersebut ke internet . dan pada saat yang sama orang lain juga akan mendownload aplikasi software open sorce ini dan memperbaiki kelemahan –kelemahan yang lain.



The New Economy

Artinya semua kegiatan industri yang terjadi pada saat ini merupakan new economy karena hampir setiap aspek industri sudah menggunakan sentuhan teknologi dalam pengoperasiannya. Perkembangan new economy dirasakan sangat pesat setelah ditemukannya komputer pertama, ENIAC (Electronic Numerical Integrator and Komputer), pada tahun 1946 yang diiringi dengan penemuan-penemuan lain seperti PC (Personal Komputer) dan PDA (Personal Data Assistant). Setelah itu, perkembangan komputer benar-benar tidak bisa dibendung hingga akhirnya mampu menjangkau semua segmen masyarakat seperti sekarang ini.
Dengan menggunakan komputer sebagai salah satu aspek penunjang kegiatan-kegiatan perekonomian, ada banyak hal baru yang berkembang dan tidak pernah ada dalam masa-masa sebelum itu. Kegiatan produksi, administrasi, dan pengambilan keputusan dapat dilakukan secara lebih cepat dan akurat karena menggunakan media pengolahan data yang lebih canggih. 

Komputasi Awan

adalah gabungan pemanfaatan teknologi computer (komputasi) dan pengembangan berbasis Internet (awan). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud)dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan,sehingga pengguna dapat mengaksesnya lewat Internet (di dalam awan) tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain
Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud.

Dropbox 

adalah layanan penyedia data berbasis web yang dioperasikan oleh Dropbox, Inc. Dropbox menggunakan sistem penyimpanan berjaringan yang memungkinkan pengguna untuk menyimpan dan berbagi data serta berkas dengan pengguna lain di internet menggunakan sinkronisasi data. Dropbox didirikan pada tahun 2007 oleh lulusan Massachusetts Institute of Technology (MIT) Drew Houston dan Arash Ferdowsi dengan modal awal yang didapat dari Y Combinator.  Bila dibandingkan dengan layanan serupa lainnya, Dropbox menawarkan jumlah pengguna yang relatif besar, dengan penggunaan sistem operasi yang bervariasi, baik untuk perangkat mobile ataupun desktop. Dropbox menyediakan layanan baik gratis ataupun berbayar, masing-masing dengan keuntungan yang bervariasi. Pada tahun 2011 Dropbox juga meluncurkan"Dropbox for Teams", sebuah layanan dari Dropbox yang dikhususkan untuk kelompok bisnis atau kelompok lainnya yang membutuhkan layanan untuk mengendalikan administrasi, tagihan yang terpusat, dan lain sebagainya. "Dropbox for Teams" tetap tersedia di situs web, namun harga yang ditawarkan berbeda dengan layanan Dropbox lainnya.



Mandeley 

merupakan piranti lunak yang memiliki kemampuan dalam mengolah database ilmiah berupa e-journal, e-book dan referensi lainnya. Fungsi sebagai library yang disertai dengan kemampuan digunakan sebagai pengolah daftar pustaka dalam penyusunan karya tulis ilmiah. Saya mulai menggunakan aplikasi ini sejak masih versi beta sekitar 3 tahun yang lalu. Bila sebelumnya menyusun daftar pustaka secara manual, yaitu dengan menuliskan setiap kutipan dan referensi sesuai dengan format harvard style, seringkali sangat menyulitkan dan membutuhkan ketelitian agar tidak sampai ada yang terlewat atau tertukar. Terlebih bila format yang digunakan adalah vancouver style, yaitu format sitasi dengan menggunakan angka secara berurutan, akibatnya seringkali menyulitkan dalam proses pengurutan angka sitasi tersebut.

 
Salesforce.com 
adalah layanan (dan semua bisnis) dengan browser. Berdasarkan arsitektur real-time multi-user dari salesforce.com, platform dan  perusahaan aplikasi CRM telah merevolusi cara perusahaan bekerjasama dan berkomunikasi dengan pelanggan mereka.Aplikasi yang sudah menggunakan sistem cloud,beberapa fitur clouddari aplikasi ini. 





Google Engine

arti Google itu sendiri adalah sebuah tren yang sering digunakan dalam pencarian melalui internet. Tren ini seringkali muncul sebagai sebuah kata kerja.

Sederhananya, arti Google secara harfiah adalah MENCARI. Namun karena Google sudah menjadi sebuah tren dalam dunia pencarian dunia maya, maka istilah Google telah berubah menjadi situs pencarian paling terkenal yang ada di internet, yaitu google.com

Namun menurut Larry dan Sergey (Pendiri Perusahaan Google), Google bukanlah suku kata yang mengandung arti tertentu melainkan sebuah plesetan dari kata ‘googol’   sebuah istilah matematika untuk bilangan yang direpresentasikan dengan angka 1 yang diikuti 100 nol. Penggunaan istilah itu mencerminkan misi mereka untuk mengatur jumlah informasi di web yang terasa tidak terbatas.


Amazon EC2

adalah platform komputasi berupa virtual computer yang dapat di kustomisasi maupun di kembangkan dengan menggunakan prinsip cluster dan load balance. Untuk deployment nya sendiri sangat mudah sekali karena hanya perlu memilih image yang disebut AMI (Amazon Machine Instances) dan setup hanya perlu 5-10 menit. Lihat disini untuk cara melakukan setup Amazon EC2.




Google drive
 adalah media penyimpanan gratis yang diberikan oleh google sebesar 5GB dapat ditambahkan dengan pembayaran tertentu.

Selasa, 04 Agustus 2015

Hierarki Data


Hierarki Data (Data Hierarchy)

Data harus disusun secara teratur agar pengolahannya dapat dilakukan dengan baik dan efisien. Pengorganisasian data dapat dibagi dalam enam tingkatan, yaitu :
  1. Bit adalah suatu sistem angka biner yang terdiri atas dua macam nilai saja, yaitu 0 dan 1. Sistem angka biner merupakan dasar dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin (komputer) yang merupakan sekumpulan komponen elektronik dan hanya dapat membedakan dua keadaan saja (on dan off). Jadi bit adalah unit terkecil dari pembentuk data.
  2. Byte adalah bagian terkecil yang dapat dialamatkan dalam memori. Byte merupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit. Satu byte digunakan untuk mengkodekan satu buah karakter dalam memori. Contoh: Kode Ascii untuk J ialah 10101010. Jadi byte adalah kumpulan bit yang membentuk satu karakter (huruf, angka, atau tanda). Dengan kombinasi 8 bit, dapat diperoleh 256 karakter (= 2 pangkat 8).
  3. Field atau kolom adalah unit terkecil yang disebut data. Field merupakan sekumpulan byte yang mempunyai makna. Contoh: Joni yang merupakan field nama.  Jadi field ibarat kumpulan karakter yang membentuk suatu kata.
  4. Record atau baris adalah kumpulan item yang secara logic saling berhubungan. Setiap record dapat dikenali oleh sesuatu yang mengenalinya, yaitu field kunci. Gambar 1 merupakan contoh dari record. Jadi record ibarat kumpulan kata yang membentuk satu kalimat yang berarti, misal gambar 1 mewakili kalimat: Joni memenmpuh mata kuliah MIS (kode IS101) dengan nilai A.

    Gambar 1. Contoh Record
  5. File atau tabel adalah kumpulan record yang sejenis dan secara logic berhubungan. Pembuatan dan pemeliharaan file adalah faktor yang sangat penting dalam sistem informasi manajemen yang memakai komputer. Jadi tabel ibarat kumpulan baris/record yang membentuk satu tabel yang berarti, misal gambar 2 mewakili tabel nilai mata kuliah MIS.

    Gambar 2. Contoh File Kursus
  6. Database merupakan kumpulan file-file yang berhubungan secara logis dan digunakan secara rutin pada operasi-operasi sistem informasi manajemen. Semua database umumnya berisi elemen-elemen data yang disusun ke dalam file-file yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi data untuk kegunaan tertentu. Jadi, suatu database adalah menunjukkan suatu kumpulan tabel yang dipakai dalam suatu lingkup perusahaan atau instansi untuk tujuan tertentu. Contoh suatu database adalah database akademik yang berisi file-file: mahasiswa, dosen, kurikulum, dan jadwal yang diperlukan untuk mendukung operasi sistim informasi akademik. Contoh suatu database sederhana ditunjukkan oleh gambar 3.

Gambar 3. Contoh Database Kepegawaian
Hirarki semua data diatas ditunjukkan pada gambar 4.

Gambar 4. Hierarki Data
Gambar 4 Hierarki Data

Data Base (Basis Data)



                        


Apa yang dimaksud dengan ?
Data : Berisi tentang fakta fakta yang dapat disimpan dan mempunyai arti tertentu/ fakta
          Basis data : Kumpulan dari data yang saling berhubungan


Informasi

   Data yang diorganisasikan,disimpan,diolah mempunyai arti tertentu dan dapat dipakai untuk proses
   pengambilan keputusan.

Database atau basis data adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau dimanipulasi menggunakan perangkat lunak (program aplikasi) untuk menghasilkan informasi.


Komponen basis data:


  • Basis data(database), data tersimpan secara terintegrasi dan dipakai secara bersama sama
  • Hardware, perangkat keras yang digunakan dalam mengelola sistem database
  • Software, perangkat lunak perantara pemakai dengan data fisik, Perangkat lunak dapat berupa data base 
  • management system dan berbagai program aplikasi
  • User, sebagai pemakai sistem
  • Sistem Operasi(Operating System)


Keuntungan Dan Kelemahan Basis Data


1. Keuntungan Basis Data


A. Kecepatan dan Kemudahan (Speed)
Yakni agar pengguna basis data bias menyimpan data, melakukan perubahan/manipulasi terhadap data menampilkan kembali data dengan lebih cepat dan mudah dibandingkan dengan cara biasa (baik manual ataupun elektronis).


B. Efisiensi Ruang Penyimpanan (Space)
Dengan basis data kita mampu melakukan penekanan jumlah redundansi (pengulangan) data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi antara kelompok data yang saling berhubungan


C. Keakuratan (Accuracy)
Agar data sesuai dengan aturan dan batasan tertentu dengan cara memanfaatkan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data dsb.


D. Ketersediaan (Availability)
Agar data bisa diakses oleh setiap pengguna yang membutuhkan, dengan penerapan teknologi jaringan serta melakukan pemindahan/penghapusan data yang sudah tidak digunakan / kadaluwarsa untuk menghemat ruang penyimpanan.


E. Kelengkapan (Completeness)
Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu, dengan melakukan penambahan baris-baris data ataupun melakukan perubahan struktur pada basis data; yakni dengan menambahkan field pada tabel atau menambah tabel baru.


F. Keamanan (Security)
Agar data yang bersifat rahasia atau proses yang vital tidak jatuh ke orang / pengguna yang tidak berhak, yakni dengan penggunaan account (username dan password) serta menerapkan pembedaan hak akses setiap pengguna terhadap data yang bisa dibaca atau proses yang bisa dilakukan.


G. Kebersamaan (Sharability)
Agar data yang dikelola oleh sistem mendukung lingkungan multiuser (banyak pemakai), dengan menjaga / menghindari munculnya problem baru seperti inkonsistensi data (karena terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data).


2.Kelemahan basis Data antara lain :


  • Sistem lebih rumit, jadi memerlukan tenaga ahli dalam disain, program dan implementasi 
  • Lebih mahal 
  • Bila ada akses yang tidak benar, kerusakan dapat terjadi 
  • Karena semua data di tempat terpusat, kerusakan software dan hardware dapat terjadi 
  • Proses pemeliharaan dapat memakan waktu karena ukurannya yang besar 
  • Proses back up data memakan waktu 


Istilah Database


1.Enterprise
      Suatu bentuk organisasi seperti : bank, rumahsakit,pabrik,dsb.
      Data yang disimpan dalam basis data.
      Contoh data operasional;data keuangan,datasiswa,datapasien.


2.Entitas
      Suatu objek yang dapat dibedakan dari lainnya yang dapat mewujudkan dalam basis data.
      Contoh Enitas dalam lingkungan bank terdiri dari ;Nasabah,Simpanan,Hipotik
      Kumpulan dari enitas disebut Himpunan Enitas
      Contoh;semua nasabah


3.Atribut (Elemen Data)
     karakteristik dari suatu enitas
     Contoh;Enitas siswa atributnya terdiri


Record Data
Kumpulan isi elemen data yang saling berhubungan.
contoh;kumpulan atribut npm,nama,alamat,tanggal lahir dan enitas siswa
berisiskan;"102000123","Sulaeman",Jl.Sirsak 28 Jakarta","8 maret 1983".

Tipe DataBase:
DDL atau Data Definition Language adalah kumpulan perintah SQL yang dapat digunakan untuk membuat dan mengubah struktur dan definisi tipe data dari objek-objek database seperti tabel, index, trigger, view, dan lain-lain.
Contoh perintah DDL :
CREATE TABLE - untuk membuat tabel
DROP TABLE - Digunakan untuk melakukan penghapusan tabel.'
ALTER TABLE - Menambahkan kolom baru

DML atau Data Manipulation Language adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table.
Contoh perintah DML :
INSERT - Penambahan data pada sebuah tabel
UPDATE - Pembaruan data pada sebuah tabel
SELECT - Pemilihan data dari satu atau beberapa tabel
DELETE -Penghapusan data pada sebuah tabel


Pembagian database menurut jenisnya:
Basis data flat-file. Basis data flat-file ideal untuk data berukuran kecil dan dapat dirubah dengan mudah.
Basis data relasional. Basis data ini mempunyai struktur yang lebih logis terkait cara penyimpanan.

*Table
Sebuah tabel merupakan kumpulan data (nilai) yang diorganisasikan ke dalam baris (record) dan kolom (field). Masing-masing kolom memiliki nama yang spesifik dan unik.

*FieldField merupakan kolom dari sebuah table. Field memiliki ukuran type data tertentu yang menentukan bagaimana data nantinya tersimpan.

*Record
Record adalah kumpulan isi elemen data (atribut) yang saling berhubungan menginformasikan tentang suatu entity secara lengkap.

*Key
Key merupakan suatu field yang dapat dijadikan kunci dalam operasi tabel. Dalam konsep database, key memiliki banyak jenis diantaranya Primary Key, Foreign Key, Composite Key, dll.

*Primary Key
Primary merupakan attribute yang paling sedikit yang dapat membedakan setiap baris data dalam sebuah table secara unik yang dipilih berdasarkan sering dijadikan acuan, lebih ringkas, dan lebih menjamin keunikan key

*Foreign Key
Foreign Key adalah kolom yang diambil dari primary key entitas lain yang menunjukkan hubungan antar dua table tersebut.

*Super key
Satu atribut / kumpulan atribut yang secara unik mengidentifikasi sebuah tuple di dalam relasi

*Candidate key
Suatu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entitas.

*Alternate key
Merupakan candidate key yang tidak dipakai sebagai primary key atau Candidate key yang tidak dipilih sebagai primary key.

*Data value
Merupakan data aktual atau infomasi yang disimpan ditiap data elemen. Isi atribut disebut nilai data.

*Entitas
Entititas adalah orang, tempat, kejadian atau konsep yang informasinya direkam. Pada bidang kesehatan Entity adalah Pasien, Dokter, Kamar.

*Query
Seperti sebuah Table, tapi menggunkan perintah SQL (string statements) untuk membaca dan menulis pada basisdata.

*Relasi
Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.

*Atribut
Atribut merupakan kolom pada sebuah relasi.

*TupelTuple merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap.

*Entity
Merupakan orang, tempat, kejadian atau konsep yang informasinya direkam. Pada bidang Administrasi Siswa misalnya, entity adalah siswa, buku, pembayaran, nilai test. Pada bidang kesehatan, entity adalah pasien, dokter, obat, kamar, diet.

*File
Merupakan kumpulan record-record sejenis yang mempunyai panjang elemen yang sama, atribute yang sama, namun berbeda-beda data valuenya.

*Normalisasi
Normalisasi merupakan suatu pendekatan sistematis untuk meminimalkan redundansi data pada suatu database agar database tersebut dapat bekerja dengan optimal.

*Redundansi
Redundansi data adalah duplikasi data dalam beberapa file data sehingga data yang sama di simpan di dalam lebih dari 1 lokasi.


Tambahan
DBMS adalah kumpulan program yang digunakan untuk mendefinisikan, mengatur dan memproses database, sedangkan database itu sendiri esensinya adalah sebuah struktur yang dibangun untuk keperluan penyimpanan data. DBMS merupakan alat atau tool yang berperan untuk membangun struktur tersebut.


Saat ini program DBMS ada banyak sekali, seperti : MySql, Oracle, Postgresql,Interbase/Firebird, IBM DB2 dan lain-lain. Beberapa DBMS ada yang hanya bisa dijalankan di komputer mainframe, beberapa hanya jalan di minikomputer dan juga ada yang hanya dapat dijalankan di Personal Computer (PC). Maka dari itu, untuk trend sekarang DBMS yang banyak digunakan adalah DBMS yang memiliki fasilitas lintas-platform atau cross-platform.

Sumber : http://rivagex.blogspot.com/2015/08/data-base-basis-data.html

Sabtu, 01 Agustus 2015

RUANG LINGKUP REKAYASA PERANGKAT LUNAK


RUANG LINGKUP REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING)



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

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.

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.

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.

TUJUAN REKAYASA PERANGKAT LUNAK

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


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 perangkat 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



RUANG LINGKUP

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


Ruang lingkup RPL (Abran et.al., 2004)
  1. software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak
  2. software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak
  3. software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan
  4. software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak
  5. software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan
  6. software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu
  7. software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak
  8. software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL
  9. software engineering process berhubungan dengan definisi, implementasi pengukuran, pengelolaan, perubahan dan perbaikan proses RPL
  10. software quality menitik beratkan pada kualitas dan daur hidup perangkat lunak



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


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 bisni



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.

TahunKejadian
1940anKomputer pertama yang membolehkan pengguna menulis kode program langsung
1950anGenerasi awal interpreter dan bahasa macro Generasi pertama compiler
1960anGenerasi kedua compiler Komputer mainframe mulai dikomersialkan Pengembangan perangkat lunak pesananKonsep Software Engineering mulai digunakan
1970anPerangkat pengembang perangkat lunak Perangkat minicomputer komersial
1980anPerangkat Komputer Personal (PC) komersial Peningkatan permintaan perangkat lunak
1990anPemrograman berorientasi obyek (OOP) Agile Process dan Extreme Programming Peningkatan drastis kapasitas memori Peningkatan penggunaan internet
2000anPlatform interpreter modern (Java, .Net, PHP, dll) Outsourcing
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 disebutSystem Development Life Cycle (SDLC) seperti terlihat pada Gambar berikut ini.


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.



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 :




  • 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.
http://www.resepkuekeringku.com/2014/11/resep-donat-empuk-ala-dunkin-donut.html http://www.resepkuekeringku.com/2015/03/resep-kue-cubit-coklat-enak-dan-sederhana.html http://www.resepkuekeringku.com/2014/10/resep-donat-kentang-empuk-lembut-dan-enak.html http://www.resepkuekeringku.com/2014/07/resep-es-krim-goreng-coklat-kriuk-mudah-dan-sederhana-dengan-saus-strawberry.html http://www.resepkuekeringku.com/2014/06/resep-kue-es-krim-goreng-enak-dan-mudah.html http://www.resepkuekeringku.com/2014/09/resep-bolu-karamel-panggang-sarang-semut-lembut.html