1 Definisi Rpl

42
PENGENALAN REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING) By: Afijal, M.Kom

description

definisi

Transcript of 1 Definisi Rpl

Page 1: 1 Definisi Rpl

PENGENALAN REKAYASA PERANGKAT LUNAK(SOFTWARE ENGINEERING)

By:Afijal, M.Kom

Page 2: 1 Definisi Rpl

Definisi Perangkat Lunak

PL adalah sekelompok item atau objek Yang membentuk “konfigurasi” dimana di dalamnya termasuk : • instruksi/program • dokumen • struktur data ... PL adalah Program-program komputer beserta dokumentasinya, seperti requirement, model desain dan user manual.

Page 3: 1 Definisi Rpl

Arti Perangkat Lunak

1. Instruksi atau program komputer yang ketika dieksekusi akan memberi fungsi dan hasil yang diinginkan.

2. Struktur Data yang memungkinkan program memanipulasi informasi

3. Dokumen yang menggambarkan operasi dan penggunaan program.

Page 4: 1 Definisi Rpl

Arti Rekayasa Perangkat LunakArti Software Engineering :• Ilmu yang mempelajari teknik pembuatan

software yang baik dengan pendekatan teknis (Engineering approach)

• Suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak.

• Mengadopsi pendekatan yang sistematis dan terorganisir dalam aktivitasnya dan menggunakan tool dan teknik yang sesuai yang ditentukan berdasarkan masalah yang akan dipecahkan, kendala pengembangan dan sumber daya yang tersedia

Page 5: 1 Definisi Rpl

Evolusi Perangkat Lunak

Page 6: 1 Definisi Rpl

Tahun-tahun Pertama

• Batch Orientation

Suatu orientasi di mana proses dilakukan setelah data dikumpulkan dalam satuan waktu tertentu, atau proses dilakukan setelah data terkumpul, lawan dari batch adalah ONLINE atau Interactive Process. Keuntungan dari Interactive adalah mendapatkan data yang selalu up to date.

• Limmited distribution

Suatu penyebaran software yang terbatas pada perusahaan-perusahaan tertentu.

• Custom software

Software yang dikembangkan berdasarkan keinginan perusahaan-perusahaan tertentu.

Page 7: 1 Definisi Rpl

Era Kedua Multi user

Suatu sistem di mana satu komputer digunakan oleh beberapa user pada saat yang sama.

Real TimeSuatu sistem yang dapat mengumpulkan, menganalisa dan mentransformasikan data dari berbagai sumber, mengontrol proses dan menghasilkan output dalam mili second.

DatabasePerkembangan yang pesat dari alat penyimpan data yang OnLine menyebabkan muncul generasi pertama DBMS (DataBase Management System).

Product SoftwareAdalah software yang dikembangkan untuk dijual kepada masyarakat luas.

Page 8: 1 Definisi Rpl

Era Ketiga• Distributed system

Suatu sistem yang tidak hanya dipusatkan pada komputer induk (Host computer), daerah atau bidang lainnya yang juga memiliki komputer yang ukurannya lebih kecil dari komputer induk. Lawan dari distributed system adalah Centralized System.

• Embedded IntelegenceSuatu product yang diberi tambahan “Intellegence” dan biasanya ditambahkan mikroprocessor yang mutakhir. Contohnya adalah automobil, robot, peralatan diagnostic serum darah.

• Low Cost HardwareHarga hardware yang semakin rendah, ini dimungkinkan karena munculnya Personal Computer.

• Consumer ImpactAdanya perkembangan komputer yang murah menyebabkan banyaknya software yang dikembangkan, software ini memberi dampak yang besar terhadap masyarakat.

Page 9: 1 Definisi Rpl

Era Keempat

• Expert systemSuatu penerapan A.I. (Artificial Intellegence) pada bidang-bidang tertentu, misalnya bidang kedokteran, komunikasi, dll.

• AI MachineSuatu mesin yang dapat meniru kerja dari sebagian otak manusia. Misalnya mesin robot, komputer catur.

• Parallel ArchitectureArsitektur komputer yang memungkinkan proses kerja LAN paralel, yang dimungkinkan adanya prosesor berbeda dalam satu komputer

Page 10: 1 Definisi Rpl

Sifat & Karakteristik Software Software merupakan elemen sistem

logik dan bukan elemen sistem fisik seperti hardware

Elemen itu tidak aus, tetapi bisa rusak. Elemen software itu direkayasa atau

dikembangkan dan bukan dibuat di pabrik seperti hardware

Software itu tidak bisa dirakit/disusun.

Page 11: 1 Definisi Rpl

Produk Perangkat Lunak

Produk perangkat lunak dibuat untuk pelanggan tertentu ataupun untuk pasar umum Produk perangkat lunak ada dua jenis : Generik – dibuat untuk dijual ke suatu

kumpulan pengguna yang berbeda atau pasar umum.

Bespoke (custom) – dibuat untuk suatu pengguna tunggal sesuai dengan spesifikasi yang diinginkan pengguna.

Page 12: 1 Definisi Rpl

Aplikasi Perangkat Lunak

1. System Software2. Real Time Software3. Business Software4. Engineering and sciencetific software5. Embendded software6. PC software (Personal Computer)7. Artificial Intelegence software

Page 13: 1 Definisi Rpl

System Software

Adalah sekumpulan program yang ditulis untuk melayani atau menunjang program lainnya.

Beberapa sistem software seperti compiler, editor, komponen-komponen sistem operasi, driver dan prosesor telekomunikasi.

Page 14: 1 Definisi Rpl

Real Time SoftwareSoftware yang mengukur, menganalisis dan mengontrol kejadian yang sesungguhnya terjadi di dunia. Elemen-elemen real time software terdiri dari:A. Komponen pengumpul data

Yang mengumpulkan dan menyusun informasi dari lingkungan external.B. Komponen analisis

Yang mentransformasikan informasi yang diperlukan oleh aplikasiC. Komponen kontrol

Yang memberikan respon kepada lingkungan externalD. Komponen monitor

Yang mengkoordinasi semua komponen-komponen lainnya, sehingga respons real time yang berkisar 1 milisecond sampai 1 menit dapat dipertahankan.Perlu dicatat bahwa istilah real time berbeda dari istilah interactive atau time sharing. Sistem real time harus memberikan respons pada waktu yang ditentukan, sedangkan pada sistem interactive atau time sharing respons time biasanya melebihi batas waktu yang ditentukan tanpa merusak hasil.

Page 15: 1 Definisi Rpl

Business Software

Software yang paling banyak digunakan dalam bidang aplikasi software. Software ini digunakan oleh manajemen untuk mengambil keputusan ( Decision Making ) dalam bidang bisnis. Contoh : DAC EASY ACCOUNTING FINANCE MANAGER

Page 16: 1 Definisi Rpl

Engineering and Sciencetific Software• Software yang dicirikan dengan algoritma

numerik, aplikasinya berkisar dari astronomi sampai vulkanologi, dari analis ketegangan otomotif sampai dinamika orbit ruang angkasa.

• Software ini banyak digunakan dalam bidang engineering dan science.

• Contoh – CAD / CAM ( Computer Aided Design / Computer

Aided Manufacture - Simulasi sistem )

Page 17: 1 Definisi Rpl

Embedded Software

Suatu software disimpan dalam memori tetap - ROM - Read Only Memory, dan digunakan untuk mengontrol product dan sistem software ini dijalankan dengan berbagai fungsi terbatas.

Page 18: 1 Definisi Rpl

PC software (Personal Computer)Software yang banyak digunakan di komputer pribadi (PC). Contoh :•Word Processing : WS, WP•Spreadsheet : Lotus, Supercalc•Computer Graphics : Printshop, Print Magic•Games : Paoman, Load Runner•DBMS : Dbase III+, Foxbase, Clipper•Network : LAN, Novell

Page 19: 1 Definisi Rpl

Artificial Intelegence Software• Software yang banyak menggunakan

algoritma non numerik dalam memecahkan masalah kompleks yang tidak dapat dianalisis dengan analisis komputasi biasa. Saat ini bidang AI yang paling aktif adalah expert system atau knowledge base system.

• Bidang aplikasi lain dari software AI adalah pengenalan citra dan suara ( image and voice pattern recognition ), teorema pembuktian dan permainan / games.

Page 20: 1 Definisi Rpl

Komponen Perangkat Lunak

1. Bentuk Bahasa2. Bentuk Translator3. Bentuk Mesin

Page 21: 1 Definisi Rpl

Bentuk Bahasa

Terbagi 3, yaituA. High Level, contoh JAVA, BASIC, PASCAL,

COBOL, FORTRAN. B. Middle Level, contoh CC. Low Level, contoh Bahasa Assembly

Page 22: 1 Definisi Rpl

Bentuk Translator

Terbagi 3 , yaitu :

A. Interpreter

Menerjemahkan dari bahasa tingkat tinggi ke bahasa tingkat rendah secara satu persatu (statemen demi statemen)

B. Compiler

Menerjemahkan secara keseluruhan, proses lebih cepat dari interpreter

C. Assembler

Menerjemahkan dari bahasa rakitan ke bahasa mesin

Page 23: 1 Definisi Rpl

Bentuk Mesin

Page 24: 1 Definisi Rpl

Krisis Perangkat Lunak

Adalah sekumpulan masalah yang ditemukan dalam pengembangan software computer. Masalahnya tidak hanya terbatas pada software yang tidak berfungsi sebagaimana mestinya, tetapi krisis software ini terdiri dari masalah yang berhubungan dengan :

1.Bagaimana mengembangkan software

2.Bagaimana memelihara software yang ada, yang berkembang dalam jumlah besar

3.Bagaimana mengimbangi permintaan software yang makin besar.

Page 25: 1 Definisi Rpl

Masalah Perangkat Lunak

1. Estimasi jadwal dan biaya yang seringkali tidak tepat

2. Produktivitas orang-orang software(programmer) yang tidak dapat mengimbangi permintaan kebutuhan software

3. Kualitas software yang kurang baik.

Page 26: 1 Definisi Rpl

Penyebab Masalah Perangkat Lunak1. Karakteristik software itu sendiri

Karakteristik software adalah software yang bersifat logika dibandingkan fisik, oleh karena itu mengukur software harus merupakan suatu kesatuan, tidak seperti hardware.

Software yang bersifat tidak aus ini menyebabkan kesalahan yang terjadi pada software. Umumnya terjadi pada tahap pengembangan.

Manajer tingkat menengah dan tingkat atas yang tidak mempunyai latar belakang software, seringkali diberi tanggung jawab untuk mengembangkan software. Padahal tidak semua manajer itu dapat me-manage semua proyek. Praktisnya : software programmer atau software engineering mendapatkan latihan formal yang sedikit dalam hal tehnik baru pengembangan software.

2. Kegagalan mereka yang bertanggung jawab dalam pengembangan software.

Page 27: 1 Definisi Rpl

Mitos Perangkat Lunak

1. Mitos Manajemen2. Mitos Pelanggan3. Mitos Praktisi

Page 28: 1 Definisi Rpl

Mitos Manajemen

A. Kita tidak perlu mengubah pendekatan terhadap pengembangan software, karena jenis pemrograman yang kita lakukan sekarang ini sudah kita lakukan 10 tahun yang lalu.

Realitasnya : Walau hasil program sama, produktivitas dan kualitas software harus ditingkatkan dengan menggunakan pendekatan software developments

B. Kita sudah mempunyai buku yang berisi standarisasi dan prosedur untuk pembentukan software.

Realitasnya : Memang buku tersebut ada, tetapi apakah buku tersebut sudah dibaca atau buku tersebut sudah ketinggalan jaman ( out of date ).

C. Jika kita tertinggal dari jadwal yang ditetapkan, kita menambah beberapa programmer saja. Konsep ini sering disebut Mongolian harde concept.

Page 29: 1 Definisi Rpl

Mitos Pelanggan

A. Pernyataan tujuan umum sudah cukup untuk memulai penulisan program. Penjelasan yang lebih rinci akan menyusul kemudian.Realitasnya : Definisi awal yang buruk adalah penyebab utama kegagalan terhadap usaha-usaha pembentukkan software. Penjelasan yang formal dan terinci tentang informasi fungsi performance interface, hambatan desain dan kriteria validasi adalah penting. Karakteristik di atas dapat ditentukan hanya setelah adanya komunikasi antara customer dan developer.

Page 30: 1 Definisi Rpl

B. Kebutuhan proyek yang terus menerus berubah dapat dengan mudah diatasi karena software itu bersifat fleksibel. Kenyataannya memang benar bahwa kebutuhan software berubah, tetapi dampak dari perubahan berbeda dari waktu ke waktu.

Page 31: 1 Definisi Rpl

Mitos PraktisiA. Tidak ada metode untuk analisis disain dan testing

terhadap suatu pekerjaan, cukup menuju ke depan terminal dan mulai coding.

Realitasnya : Metode untuk analisis desain dan testing diperlukan dalam pengembangan software.

B. Segera setelah software digunakan, pemeliharaan dapat diminimalisasikan dan diatasi dengan cara “CATCH AS CATCH CAM”.

Realitasnya : Diperlukan budget yang besar dalam maintenance software. Pemeliharaan software harus diorganisir, direncanakan dan dikontrol seolah-olah sebagai suatu proyek besar dalam sebuah organisasi.

Page 32: 1 Definisi Rpl

Problem dalam Pengembangan Perangkat Lunak

Tingginya harga Software Sangat bervariasi dalam penerapannya Yang diinginkan adalah untuk

meningkatkan produktifitas.

Page 33: 1 Definisi Rpl

Semula Program Sukses Bila :

Bisa dieksekusi

Memberi jawaban yang diminta.

Sekarang : Bisa dieksekusi dengan cepat Memberi jawaban yang diminta Bisa dikembangkan

Page 34: 1 Definisi Rpl

Produk Perangkat Lunak -------------(Aplikasi Software)------------------ System Software Real Time Software Business Software Enginering and Scientific Software Embeded Software Personal Computer Software Artificial Intelligent Software

Page 35: 1 Definisi Rpl

System Software

Sekumpulan program yang dibuat untuk melayani program lainnya.

Misal: compiler, editor dan program manajemen utilities.

Page 36: 1 Definisi Rpl

Real Time Software

Program yang memonitor atau menganalisa atau mengontrol aktifitas sehari-hari.

Elemen dari Real Time Software: Komponen pengumpulan data, yang mengumpulkan

dan menformat informasi dari lingkungan eksternal. Komponen analisa, yang mentransformasikan

informasi yang diperlukan atau aplikasi tersebut. Komponen kontrol/output, yang memberikan respon

terhadap lingkungan eksternal. Komponen monitoring, yang mengkoordinasi

komponen-komponen lainnya sehingga bisa memberikan respon yang Real Time (biasanya antara 1 milidetik/1 menit).

Page 37: 1 Definisi Rpl

Business Software

Software MIS (Management Information System) yang mengakses satu atau beberapa database yang berisi informasi bisnis.

Contoh : payroll, account receivable/payable, inventory, dll.

Page 38: 1 Definisi Rpl

Enginering and Scientific Software Batasan aplikasinya :

mulai dari astronomi sampai vulkanologi, dari otomotif sampai pesawat ruang angkasa, dari molekul biologi sampai automated manufacturing.

Page 39: 1 Definisi Rpl

Embeded Software

Biasanya diletakkan pada read only memory

Digunakan untuk mengontrol produk dan sistem untuk pelanggan dan pasar industri.

Misal: key pad untuk mengontrol microwave oven.

Page 40: 1 Definisi Rpl

Personal Computer Software Misal: Wordprocessing, spreadsheet, computer graphic, multimedia, entertaintment, database management, personal and business financial application, akses database atau jaringan external, dan

lain-lain.

Page 41: 1 Definisi Rpl

Artificial Intelligent Software Software yang menggunakan algoritma

non numerik untuk menyelesaikan permasalahan yang komplek.

Areal AI (Artificial Inteligent) yang aktif dikenal dengan expert system atau knowledge based system.

Cabang baru dari AI adalah Artifial Network. 

Page 42: 1 Definisi Rpl

NEXT…. PROSES PERANGKAT LUNAK

Minggu Depan