Evolusi perkembangan rekayasa perangkat lunak
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Evolusi perkembangan rekayasa perangkat lunak

  • 633 views
Uploaded on

Evolusi perkembangan rekayasa perangkat lunak. | The evolution of software engineering development.

Evolusi perkembangan rekayasa perangkat lunak. | The evolution of software engineering development.

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
633
On Slideshare
628
From Embeds
5
Number of Embeds
1

Actions

Shares
Downloads
12
Comments
0
Likes
0

Embeds 5

https://twitter.com 5

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Evolusi Perkembangan Rekayasa Perangkat Lunak Febry San Pratama (125623251) D3 Manajemen Informatika – D JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI SURABAYA
  • 2. A. Perangkat Lunak 1. Pengertian Perangkat Lunak Gambaran perangkat lunak pada sebuah buku teks mungkin mengambil bentuk 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 proporsional, dan (3) dokumen yang menggambarkan operasi kegunaan program. 2. Karakteristik Perangkat Lunak. Perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen fisik.Dengan demikian, perangkat lunak memiliki ciri yang berbeda dari perangkat keras. Ciri-ciri yang membedakan tersebut antara lain : 1. Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik. Meskipun terdapat kesamaan antara pembuatan perangkat keras dan pengembangan perangkat lunak, yaitu kualitas yang tinggi bisa dicapai melalui perancangan yang baik, tetapi di dalam fase pembuatan perangkat keras selalu saja ditemukan masalah kualitas yang tidak mudah disesuaikan dengan perangkat lunak. 2. Perangkat lunak tidak pernah usang kematian segera usang Tingkat Kegagalan Waktu Gambar 1.1. Kurva Kegagalan Perangkat Keras Gambar 1.1 menggambarkan laju kegagalan sebagai fungsi waktu untuk perangkat keras, disebut “kurva bathtub”, menunjukkan bahwa perangkat keras mengalami laju kegagalan yang sangat tinggi pada awal hidupnya, yang disebabkan oleh perancangan atau cacat pembuatannya. Setelah diperbaiki maka laju kegagalan menurun, kemudian naik lagi pada saat komponen perangkat keras terkena penumpukkan debu, getaran, suhu tinggi, serta pengaruh lingkungan yang lain. Secara singkat dapat dikatakan bahwa perangkat keras sudah mulai usang.Sedangkan perangkat lunak tidak rentan terhadap pengaruh lingkungan yang merusak dan menyebakan perangkat keras menjadi using. Gambar 1.2 secara teoritis menggambarkan tingkat kegagalan perangkat lunak. Kesalahankesalahan yang tidak ditemukan akan menyebabkan tingkat kegagalan tinggi pada awal hidup program, tetapi itu dapat diperbaiki sehingga kurvanya menjadi datar. Secara singkat perangkat lunak tidak usang, meskipun pada kenyataannya semakin lama makin memburuk.
  • 3. Pada tingkat yang sama sampai usang Tingkat Kegagalan Waktu Gambar 1.2. Kurva Kegagalan Perangkat Lunak Selama masa hidupnya, perangkat lunak mengalami perubahan (pemeliharaan). Sewaktu perubahan dibuat, kesalahan lain akan muncul yang menyebabkan kurva kegagalan naik secara cepat. Lihat Gamabr 1.3. Setelah semua kesalahan diperbaiki maka kurva akan menjadi normal kembali. Kemudian secara perlahan tingkat laju kesalahan minimum mulai naik – perangkat lunak mulai memburuk sehubungan perubahan yang dilakukan. Laju kegagalan meningkat sehubungan dengan efek sampingan dari perubahan Laju Kegagalan Kurva aktual perubahan Kurva ideal Gambar 1.3. Kurva Kegagalan Aktual Perangkat Lunak Waktu Aspek lain dari keusangan yang membedakan antara perangkat keras dan lunak adalah bila perangkat keras telah usang maka bisa diganti dengan suku cadangnya, tetapi tidak demikian dengan perangkat lunak. 3. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada. Perhatikan bagaimana perangkat keras komputer dirancang dan dibuat.Pengembang desain menggambar skema sederhana dari rangkaina digital, melakukan serangkaian analisis dasar untuk memastikan bahwa fungsi yang tepat dapat dicapai serta kemudian menyesuaikan ke katalog komponen digital. Setiap IC (chip) mempunyai nomor tersendiri, sebuah fungsi yang telah tervalidasi, interface yang didefinisikan dengan baik, serta rangkaian standar tuntunan integrasi. Setelah masing-masing komponen diseleksi, perangkat keras bisa dipesan secara terpisah.Tidak demikian dengan pengembangan perangkat lunak, katalog komponen perangkat lunak tidak ada.Memang memungkinkan memesan perangkat lunak secara terpisah, tetapi tetap merupakan satu kesatuan yang lengkap, bukan sebagai komponen yang dapat dipasang ke dalam programprogram yang baru.
  • 4. 3. Evolusi Perangkat Lunak. Pada awal tahun 1990-an Toffler menggambarkan adanya pergeseran kekuatan dimana struktur kekuatan lama (pemerintah, pendidikan, industri, dan militer) mengalami disintegrasi ketika komputer membawa ke arah demikratisasi pengetahuan. Sedangkan pada tahun 1992 Yourdon mengkawatirkan perusahaan-perusahaan Amerika akan kehilangan sisi kompetitif mereka di dalam bisnis yang berhubungan dengan perangkat lunak dan meramalkan penurunan serta jatuhnya para pemrogram Amerika. Tahun 1993 Hammer dan Champy berpendapat bahwa teknologi informasi akan memainkan peranan sentral dalam pengembangan kerjasama. Pada pertengahan tahun 1990 daya tembus komputer dan perangkat lunak menimbulkan banyak pendapat bahwa komputer menekankan sisi legitimasi tetapi mengabaikan keuntungan besar yang diperoleh. Perkembangan perangkat lunak bisa digambarkan pada Gambar 1.4.Pada masa awal era komputer, perangkat lunak dilihat hanya sebagai suatu permenungan.Pemrogram komputer menjadi sebuah seni “seat-of-pants” dimana di situ terdapat beberapa metode yang sistematis.Perkembangan perangkat lunak sebenarnya tidak bisa diatur sampai terjadi jadwal yang bergeser, atau biaya yang mulai melonjak. Para pemrogram kemudian berusaha untuk membuat semuanya benar kembali, dan dengan cara yang heroik akhirnya mereka berhasil. Pada masa itu perangkat lunak dirancang secara khusus untuk aplikasi tertentu saja dan hanya memiliki areal distribusi yang terbatas.Produk perangkat lunak yang dijual kepada pelangan atau masyarakat masih langka. Kebanyak dikembangkan dan digunakan oleh orang atau organisasi yang sama, dibuat untuk dipakai sendiri. Era kedua evolusi sistem komputer antar pertengahan tahun 1960 dan 1970-an. Sistem multiprogram dan multiuser memperkenalkan konsep baru interaksi manusia dan mesin.Teknik interaktif membuka sebuah dunia aplikasi yang baru serta tingkat kecanggihan perangkat lunak dan perangkat keras yang baru pula. Sistem real-time mampu melakukan pengontrolan dalam menghasilkan output tidak lagi dalam skala menit, melainkan detik. Kemajuan dalam penyimpanan on-line membawa ke generasi pertama sistem mamajemen database.Pada era kedua ini juga ditandai dengan kehadiran software-house.Produk perangkat lunak didistribusikan ke pasar yang lebih luas dan multidisiplin.Program mainframe dan minikomputer didistribusikan kepada masyarakat luas.Pengusaha, pemerintah, industri, serta akademisi masing-masing mengembang-kan paket perangkat lunak paling mewah dengan mengeruk banyak uang. Tahun-tahun awal Era kedua Era Ketiga Era keempat - Orientasi batch - Multi user - Sistem terdistribusi - Sistem desk-top bertenaga kuat - Distribusi terbatas - Realtime - embedded intelegence - Teknologi berorientasi objek - Perangkat lunak kustomasi - Database - Perangkat keras biaya rendah - Sistem pakar - Perangkat lunak produk - Jaringan saraf tiruan - Komputasi paralel - Komputer jaringan
  • 5. 1950 1960 1970 1980 1990 Gambar 1.4. Evolusi Perangkat Lunak 2000 Era ketiga evolusi sistem komputer dimulai pertengahan tahun 1970-an dan berlangsung lebih dari satu dekade penuh. Sistem terdistribusi dan multikomputer menambah kompleksitas sistem berbasis komputer.Jaringan area global dan lokal, jaringan komunikasi digital dengan bandwidh yang tinggi serta pertambahan permintaan untuk akses “sesaat” sangat mendongkrak perkembangan perangkat lunak.Era ketiga ini juga ditandai dengan kehadiran dan penyebaran pemakaian mikroprosesor, sehingga produk-produk pintar, seperti automobil, microwave, robot sampai peralatan kedokteran bisa dihasilkan. Yang paling penting pada era ini adalah munculnya komputer personal (PC = Personal Computer). Evolusi sistem komputer era keempat menjauhkan kita dari komputer individual dan program komputer untuk menuju pengaruh kolektif dari komputer dan perangkat lunak.Mesin desktop yang kuat yang dikontrol oleh sistem operasi yang canggih, jaringan lokal dan global, serta didukung dengan aplikasi perangkat lunak yang maju, menjadi sebuah aturan.Arsitektur penghitungan berubah dari lingkungan mainframe yang terpusat ke lingkungan klien/server yang terdesentralisasi.Dan yang paling penting pada era ini adalah internet sudah dapat dilihat sebagai perangkat lunak yang dapat diakses oleh para pemakai individual. Tetapi selama era evolusi sistem berbasis komputer, serangkaian masalah yang berhubungan ddengan perangkat lunak masih muncul dengan intensitas yang terus bertambah, misalnya : 1. Kemajuan perangkat keras terus berlajut, melampaui perkembangan perangkat lunak yang sesuai dengan perangkat keras yang ada. 2. Kemampuan pengembangan perangakt lunak tidak cukup sepat untuk memenuhi kebutuhan bisnis dan pasar. 3. Pemakaian komputer yang semakin luas membuat masyarakat semakin tergantung pada perangkat lunak yang reliabel. 4. Sistem desain dan sumberdaya untuk mengembangkan perangkat lunak kurang memadai, sehingga masih sulit untuk dibagun perangkat lunak dengan reliabilitas dan kualitas yang tinggi. 4. Aplikasi Perangkat Lunak Perangkat lunak dapat diaplikasikan ke berbagai situasi dimana serangakaian langkah prosedural (seperti algoritma) telah didefinisikan. Kandungan (content) dan determinasi informasi merupakan faktor penting dalam menentukan sifat aplikasi perangkat lunak. Content mengarah pada arti dan bentuk informasi yang masuk dan keluar. Misalnya, banyak aplikasi bisnis memakai data input dengan struktur data lebih tinggi (misal database) dan mengahasilkan laporan yang sudah terformat. Perangkat lunak yang mengontrol mesin otomatis menerima bentuk data diskrit dengan struktur yang terbatas dan menghasulkan perintah mesin individual dalam ekskusi yang cepat.Sedangkan determinasi informasi merujuk pada predikbilitas urutan dan timing informasi. Berikut beberapa jenis aplikasi perangkat lunak : a. Perangkat lunak sistem. Sekumpulan program untuk melayani program–program lain, misalnya sistem operasi, kompiler, editor, utilitas pengatur file, driver, prosesor telekomunikasi.
  • 6. b. Perangkat lunak real-time. Program-program untuk mengontrol/menganalisis/ memonitor kejadian dunia nyata pada saat terjadinya. Misalnya program untuk mengontrol mesin industri. c. Perangkat lunak bisnis. Program untuk pemrosesan informasi di dunia bisnis, mulai dari payroll, account payable, inventory, post system, sampai perangkat lunak sistem informasi manajemen yang bisa mengakses satu atau lebih database. d. Perangkat lunak teknik dan ilmu pengetahuan. Jangkauan aplikasinya meliputi, asmronomi, vulkanologi, kedokteran, analisis otomotif, biologi, mesin-mesin pabrik, sampai pada perangkat bantu dalam perancangan (computer aided design) untuk konstuksi bangunan, komponen elektronik, rancangan mesin, simulasi sitem, dan lain-lain. e. Embeded Software. Program yang disertakan dalam suatu perangkat dan berfungsi untuk mengontrol hasil serta sistem perangkat tersebut. Contoh : key pad control untuk microwave, fungsi digital pada automobil (pengontrol bahan bakar, penampilan dash board, sistem rem, dll). f. Perangkat lunak komputer personal. Program–program yang bisa dijalankan pada komputer personal. Contoh : pengolah kata, multimedia, hiburan, manajemen database, aplikasi keuangan bisnis, dll. g. Perangkat lunak kecerdasan buatan dan jaringan syaraf tiruan. Sistem pakar atau disebut juga sistem berbasis pengetahuan. Program yang digunakan untuk menggerakkan/mengontrol robot, permainan game, pengolah gambar dan pola (image dan voice). B. Rekayasa Perangkat Lunak 1. Pengertian Rekayasa Perangkat Lunak Pada tahun 1969 Fritz Bauer memberikan definisi rekayasa perangkat lunak adalah sebagai berikut : “The establishment and use of sound engineering principles in order to obtain economically software that is reliable and work efficiently on real machines.” Hampir setiap pembaca tergoda untuk menambah sendiri definisi tersebut, karena definisi tersebut hanya menyinggung sedikit saja tentang aspek teknis dan kualitas perangkat lunak, dan tidak secara langsung menyinggung kebutuhan dan kepuasan pelanggan, pengabaikan pencamtuman pentingnya pengukuran dan matriks, tidak menyinggung pentingnya sebuah proses. Apakah sound enginnering aplication yang dapat diaplikasikan kepada pengembangan komputer? Bagaimana kita secara ekonomis membangun perangkat lunak sehingga menjadi dapat diandalkan dan reliable?Apakah yang dibutuhkan untuk menciptakan program komputer yang bekerja secara efisien pada lebih dari satu mesin riril yang berbeda?Pertanyaan-pertanyaan ini masih terus menjadi tantangan bagi pengembangan perangkat lunak. Pada tahun 1985 Richard Fairly mendefinisikan rekayasa perangkat lunak sebagai berikut : “The technological and managerial dicipline concernment with systematic production and maintenance of software products that are developed and modified on time and within cost estimates.” Definisi ini sudah menyinggung aspek teknis pengembangan perangkat lunak, pengelolaan tim yang terlibat dalam pengembangan tersebut, pemeliharaan perangkat lunak yang telah dikembangkan, serta waktu serta biaya pengem-bangan.
  • 7. Kemudian pada tahun 1993, IEEE mengembangkan definisi yang lebih komprehensif yaitu sebagai berikut : Rekayasa perangkat lunak adalah : (1) Aplikasi dari sebuah pendekatan kuantifiabel, disiplin, dan sistematis terhadap pengembangan, operasi, dan pemeliharaan perangkat lunak; yaitu aplikasi dan rekayasa perangkat lunak; (2) Studi tentang pendekatan-pendekatan tentang (1). 2. Era Evolusi Perangkat Lunak a. Era Pioner Bentuk perangkat lunak pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, gambar berikut memperlihatkan orang yang sedang menggunakan komputer. Cara lain dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah program untuk sebuah mesin untuk tujuan tertentu. Pada era ini, perangkat lunak merupakan satu kesatuan dengan perangkat kerasnya. Penggunaan komputer dilakukan secara langsung dan hasil yang selesai di kerjakan komputer berupa print out. Proses yang di lakukan di dalam komputer berupa baris instruksi yang secara berurutan di proses. b. Era Stabil Pada era stabil penggunaan komputer sudah banyak di gunakan, tidak hanya oleh kalangan peneliti dan akademi saja, tetapi juga oleh kalangan industri / perusahaan. Perusahaan perangkat lunak bermunculan, dan sebuah perangkat lunak dapat menjalankan beberapa fungsi, dari ini perangkat lunak mulai bergeser menjadi sebuah produk. Baris-baris perintah perangkat lunak yang di jalankan oleh komputer bukan lagi satu-satu, tapi sudah seperti banyak proses yang di lakukan secara serempak (multi tasking). Sebuah perangkat lunak mampu menyelesaikan banyak pengguna (multi user) secara cepat/langsung (real time). Pada era ini mulai di kenal sistem basis data, yang memisahkan antara program (pemroses) dengan data (yang di proses). c. Era Mikro Sejalan dengan semakin luasnya PC dan jaringan komputer di era ini, perangkat lunak juga berkembang untuk memenuhi kebutuhan perorangan. Perangkat lunak dapat di bedakan menjadi perangkat lunak sistem yang bertugas menangani internal dan perangkat lunak aplikasi yang di gunakan secara langsung oleh penggunannya untuk keperluan tertentu. Automatisasi yang ada di dalam perangkat lunak mengarah ke suatu jenis kecerdasan buatan. d. Era Modern Saat ini perangkat lunak sudah terdapat di mana-mana, tidak hanya pada sebuah superkomputer dengan 25 prosesornya, sebuah komputer genggampun telah di lengkapi dengan perangkat lunak yang dapat di sinkronkan dengan PC. Tidak hanya komputer, bahkan peralatan seperti telepon, TV, hingga ke mesin cuci, AC dan microwave, telah di tanamkan perangkat lunak untuk mengatur operasi peralatan itu. Dan yang hebatnya lagi adalah setiap peralatan itu akan mengarah pada suatu saat kelak akan dapat saling terhubung. Pembuatan sebuah perangkat lunak bukan lagi pekerjaan segelentir orang, tetapi telah menjadi pekerjaan banyak orang, dengan beberapa tahapan proses yang melibatkan berbagai disiplin ilmu dalam perancangannya. Tingkat kecerdasan yang di tunjukkan oleh perangkat lunak pun semakin meningkat, selain permasalahan teknis, perangkat lunak sekarang mulai bisa mengenal suara dan gambar.
  • 8. Setelah kita membahas rekayasa perangkat lunak, kita sedikit mundur, untuk membahas evolusi perangkat lunak. Pengembangan perangkat lunak dapat dibagi menjadi 4 tahap, yaitu : Tahap Pertama (1950 – 1960) Evolusi perangkat lunak tahap pertama dimulai pada awal 1950-an sampai pertengahan 1960. Pengembangan perangkat lunak pada tahap pertama mempunyai ciri-ciri berorientasi batch, distribusisoftware terbatas untuk kalangan tertentu sehingga apabila ada perusahaan yang ingin dibuatkan software khusus harus memesan terlebih dahulu. Tahap Kedua ( 1960 – 1970) Evolusi Perangkat Lunak Tahap Kedua dimulai pertengahan tahun 1960-an sampai awal tahun 1970-an. Pengembangan perangkat lunak mempunyai ciri-ciri multi user. Pengguna dari software sudah banyak dan bisa saling berbagi. Ciri ini menunjukkan ada perkembangan baru yaitu interkasi manusia dan komputer (Human Computer Interaction). Selain itu, ciri dari tahap kedua ini adalah real time. Real Time disini adalah suatu kondisi dimana sistem dapat mengumpulkan, menganalisa dan mentransformasikan data dari banyak sumber kemudian mengatur proses serta menghasilkan output yang diinginkan. Dalam tahap ini, sudah banyak juga paket perangkat lunak yang beredar di pasaran serta muncul istilah database dalam perangkat lunak. Tahap Ketiga (1970 – 1990) Evolusi Perangkat lUnak tahap ketiga, dimulai pertengahan tahun 1970 sampai awal tahun 1990. Pengembangan perangkat lunak sudah maju sedemikian pesat. Perangkat lunak sudah menggunakan sistem terdistribusi, sehingga penyampaian informasi dari komputer sumber ke komputer tujuan akan terasa sangat cepat. Dalam era ini, perangkat keras dari suatu komputer harganya sangat murah. Selain itu, pesanan perangkat lunak sudah sangat mendominasi dari penyelesaian suatu masalah sehingga penggunaan software pada masa itu sudah sedemikian jauh. Tahap Keempat (1990 – 2000) Evolusi Perangkat Lunak Tahap Keempat dimulai tahun 1990 sampai tahun 2000.Pada tahap ini, perangkat lunak sudah mendominasi dari pengembangan perangkat keras, sehingga perangkat keras dalam hal ini komputer sangat dikendalikan oleh suatu sistem operasi. TIngkat kecerdasan dari perangkat lunak semakin ditingkatkan sehingga perangkat lunak atau software dilatih mempunyai kecerdasan seperti yang dimilik manusia. Terbukti dengan adanya penemuan kecerdasan buatan, jaringan syaraf tiruan, sistem pakar dan logika fuzzy.Jaringan komputer, pemrosesan komputer paralel sangat mendominasi pada era ini. Dan, pada masa ini pula pemrograman sudah berorientasi obyek (OOP).