rekayasa perangkat lunak (kuliah 1 & 2)

28
REKAYASA PERANGKAT LUNAK Pertemuan ke-1 JURUSAN TEKNIK ELEKTRO UNIVERSITAS BANGKA BELITUNG RUDY KURNIAWAN, S.T., M.T.

Upload: antasena

Post on 13-Jul-2016

33 views

Category:

Documents


4 download

DESCRIPTION

berisi mengenai materi tentang rekayasa perangkat lunak, didalamnya model database SDLC dan DBLC

TRANSCRIPT

Page 1: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK Pertemuan ke-1

JURUSAN TEKNIK ELEKTROUNIVERSITAS BANGKA BELITUNG

RUDY KURNIAWAN, S.T., M.T.

Page 2: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

Jumlah SKS : 3 SKSPenilaian : Kehadiran (10%)+Quiz/tugas (20%)+UTS (25%)+UAS (45%)

POKOK BAHASAN :• Pengertian Perangkat Lunak• Pengertian Rekayasa Perangkat Lunak beserta prosesnya• Analisis dan Desain Sistem• SDLC (Software Development Life Cycle)• Basis Data• Pemrograman Terstruktur• Pemrograman Berorientasi Objek• Analisis dan Desain Berorientasi Objek• Pemodelan dan UML beserta studi kasusnya• Perancangan Pola Berorientasi Objek• Manajemen Proyek Perangkat Lunak

Referensi :Roger S. Pressman, Rekayasa Perangkat Lunak : Pendekatan Praktisi, McGrow Hill Book Co., Penerbit Andi, Jogjakarta.Rosa A. S. dan M. Shalahuddin, Rekayasa Perangkat Lunak : Terstruktur dan Berorientasi Objek, Penerbit Informatika, Bandung.Ian Sommerville, Software Engineering (Rekayasa Perangkat Lunak), Ed. 6, Penerbit Erlangga, Jakarta.

REKAYASA PERANGKAT LUNAK

Page 3: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

A. PERANGKAT LUNAK

Perangkat Lunak (Software) :Program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual).

Sistem Perangkat Lunak (Software System) :Sebuah sistem yang memiliki komponen berupa perangkat lunak yang memiliki hubungan satu sama lain untuk memenuhi kebutuhan pelanggan (costumer).

Pelanggan (Costumer) :Orang/organisasi yang memesan atau membeli perangkat lunak (software) dari pengembang perangkat lunak atau orang/organisasi yang dengan sukarela mengeluarkan uang untuk memesan atau membeli perangkat lunak

Page 4: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

PERANGKAT LUNAK (SOFTWARE)

Karakteristik Software

Karakteristik Perangkat Lunak adalah sebagai berikut :

• Perangkat Lunak dibangun dengan rekayasa (software engineering) bukan diproduksi secara manufaktur atau pabrikan.

• Perancangan lunak tidak pernah usang (wear out) karena kecacatan dalam perangkat lunak dapat diperbaiki.

• Barang produksi pabrikan biasanya komponen barunya akan terus di produksi, sedangkan perangkat lunak biasanya terus diperbaiki sering bertambahnya kebutuhan.

Page 5: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

Aplikasi Software

PERANGKAT LUNAK (SOFTWARE)

Aplikasi Perangkat Lunak adalah sebagai berikut :

• Perangkat Lunak Sistem (system software) adalah kumpulan program dalam hal ini program yang satu ditulis untuk mememenuhi kebutuhan program lainnya.

• Perangkat Lunak Waktu Nyata (real-time software) adalah perangkat lunak yang memonitor, menganalisis, mengontrol sesuatu secara waktu nyata (real-time). Reaksi yang dibutuhkan pada perangkat lunak harus langsung menghasilkan respon yang diinginkan.

• Perangkat Lunak Bisnis (business software) merupakan perangkat lunak pengelola informasi bisnis (seperti akutansi, penjualan, pembayaran, penyimpanan/inventory).

Page 6: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

PERANGKAT LUNAK (SOFTWARE)

• Perangkat Lunak untuk Keperluan Rekayasa dan Keilmuan (engineering and scientific software), merupakan perangkat lunak yang mengimplementasikan algoritma yang terkait dengan keilmuan ataupun perangkat lunak yang membantu keilmuan, misalkan perangkat lunak di bidang astronomi, matematika, dan lain sebagainya.

• Perangkat Lunak Tambahan untuk Membantu Mengerjakan Suatu Fungsi dari Perangkat Lunak yang lainnya (embedded software), misalnya perangkat lunak untuk mencetak dokumen ditambahkan agar perangkat lunak yang memerlukan dapat mencetak laporan, maka perangkat lunak untuk mencetak dokumen ini disebut embedded software.

• Perangkat Lunak Komputer Personal (Personal Computer/PC Software), merupakan perangkat lunak untuk PC misalnya perangkat lunak pemrosesan teks, pemrosesan grafik dan lain sebagainya.

Page 7: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

PERANGKAT LUNAK (SOFTWARE)

• Perangkat Lunak Berbasis Web (web based software), merupakan perangkat lunak yang dapat diakses dengan mengunakan browser.

• Perangkat Lunak Berintelijensia Buatan (artificial intelligence software), merupakan perangkat lunak yang menggunakan algoritma tertentu untuk mengelola data sehingga seakan-akan memiliki intelijensia seiring bertambahnya data yang akan diproses.

Page 8: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

Produk Software

PERANGKAT LUNAK (SOFTWARE)

Produk perangkat lunak (software) yang dibuat oleh pengembang (developer) perangkat lunak terdiri dari 2 jenis :

1. Produk Generik : produk software yang dibuat oleh pengembang perangkat lunak untuk dijual atau dipopulerkan (open source) tanpa ada yang memesan terlebih dahulu, contohnya perangkat lunak sistem informasi (OS), software pendukung perkantoran untuk membuat dokumen, slide presentasi, atau perhitungan dalam bentuk papersheet dan lain sebagainya .

2. Produk Pemesanan : produk software yang dibuat karena ada pelanggan yang melakukan pemesanan, misalnya sebuah instansi memerlukan perangkat lunak untuk memenuhi proses bisnis yang terjadi di instansinya, maka instansi itu akan bekerja sama dengan pengembang untuk membuat software yang diinginkan.

Page 9: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

Perkuliahan ke-1SELESAI

TERIMA KASIH

Materi Perkuliahan ke-2 :Rekayasa Perangkat Lunak beserta prosesnya

Page 10: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK Pertemuan ke-2

JURUSAN TEKNIK ELEKTROUNIVERSITAS BANGKA BELITUNG

RUDY KURNIAWAN, S.T., M.T.

Page 11: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

Rekayasa Perangkat Lunak (Software Engineering)• Merupakan : Pembangunan dengan menggunakan prinsip

atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin.

• Rekayasa perangkat lunak lebih fokus pada praktek pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat kepada pelanggan (costumer)

• Rekayasa perangkat lunak lebih difokuskan pada bagaimana membuat perangkat lunak yang memenuhi kriteria sebagai berikut :

1. Dapat terus dipelihara setelah perangkat lunak selesai dibuat seiring berkembangnya teknologi dan lingkungan (maintainability)

2. Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi (dependability dan robust)

3. Efisien dari segi sumber daya dan penggunaan4. Kemampuan untuk dipakai sesuai dengan kebutuhan

(usability) Catatan : Perangkat Lunak yang baik adalah perangkat lunak yang fokus pada pengguna dan pelanggan.

Page 12: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

Pekerjaan yang terkait dengan rekayasa perangkat lunak dapat dikategorikan menjadi 3 (tiga) buah kategori umum (fase) tanpa melihat area dari aplikasi, ukuran proyek perangkat lunak, atau kompleksitas perangkat lunak yang akan dibuat.

1. Fase pendefinisan fokus pada “what”, artinya: harus mencari tahu atau mengidentifikasi informasi apa yang harus diproses, seperti apa fungsi dan performasi yang diinginkan, prilaku sistem, kriteria validasi yang dibutuhkan untuk mendefinisi sistem.

2. Fase pengembangan yang fokus dengan “how”, artinya: selama tahap pengembangan seorang perekayasa (software engineer) berusaha untuk mendefiniskan bagaimana data distrukturkan dan bagaimana fungsi2 yang dibutuhkan diimplementasikan, bagaimana detail prosedural diimplementasikan, serta bagaimana pengujian akan dijalankan.

3. Fase pendukung (support phase) fokus pada perubahan yang terasosiasi pada perbaikan kesalahan (error), adaptasi yang dibutuhkan, dan perbaikan yang terjadi akibat perubahan kebutuhan pelanggan (costumer)

Page 13: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

Fase pendukung (support phase) terdiri dari empat tipe perubahan, yaitu:

1. Koreksi (correction)Walaupun dengan jaminan kualitas yang terbaik, akan selalu ada kecacatan atau keinginan pelanggan (costumer) yang tidak tertangani oleh perangkat lunak.

2. Adaptasi (adaptation)Pemeliharaan adaptasi merupakan tahap untuk memodifikasi perangkat lunak guna mengakomodasi perubahan lingkungan luar dimana perangkat lunak dijalankan.

3. Perbaikan (enhancement)Sejalan dengan digunakannya perangkat lunak, maka pelanggan atau pemakai akan mengenali fungsi tambahan yang dapat mendatangkan manfaat.

4. Pencegahan (prevention)Keadaan perangkat lunak komputer sangat dimungkinkan untuk perubahan. Oleh karena itu, pemeliharaan pencegahan (preventive) atau sering disebut rekayasa ulang sistem harus dikondisikan untuk mampu melayani kebutuhan pemakaiannya (user).

Page 14: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

Tantangan yang dihadapi dari proses rekayasa perangkat lunak, yaitu:

• Tantangan warisan dimana perangkat lunak dikembangkan selama bertahun-tahun oleh orang-orang yang berbeda, hal itu menyebabkan ketidakpahaman atau perubahan tujuan pembuatan perangkat lunak.

• Tantangan heterogenitas dimana perangkat lunak harus dapat beradaptasi dengan teknologi yang terus berkembang dengan semakin luasnya lingkungan distribusi perangkat lunak.

• Tantangan pengiriman bahwa perangkat lunak dengan skala besar dan kompleks sekalipun dapat sampai ke tangan pelanggan (costumer) atau pemakai (user) dengan cepat dan kualitas tetap terjaga.

Page 15: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

Beberapa contoh aliran halaman web :

1. Struktur Linier

• Urutan interaksi sudah bisa dipastikan.• Misal untuk presentasi tutorial, pemesana produk yang

harus mengikuti urutan tertentu.

Page 16: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

2. Struktur Grid

• Isi dapat dikatagorikan dalam 2 atau lebih dimensi• misal: e-commerce menjual handphone. Horizontal adalah katagori

berdasarkan feature hp, sedang vertikal adalah merek HP

Page 17: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

2. Struktur Jaringan / Pure Web

REKAYASA PERANGKAT LUNAK

• Komponen pada struktur ini terhubung satu sama lain• Sekalipun bersifat fleksibel, struktur ini membingungkan user

Page 18: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

4. Struktur HirarkiREKAYASA PERANGKAT LUNAK

• Struktur paling umum digunakan.• Memungkinkan aliran secara horizontal selain jalur vertikal yang

umum.• Aliran secara horizontal juga bisa mengakibatkan kebingungan

user.

Page 19: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

PROSES REKAYASA PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK

Gbr. Tahapan umum Rekayasa Perangkat Lunak

Analisis

Perancangan

Implementasi

Pengujian

Mulai

Page 20: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

PROSES PERANGKAT LUNAK

• Proses perangkat lunak (software process) adalah sekumpulan aktifitas yang memiliki tujuan untuk mengembangkan atau mengubah perangkat lunak.

• Secara umum, proses perangkat lunak terdiri dari :1. Pengumpulan Spesifikasi (Specification)

Mengetahui apa saja yang harus dapat dikerjakan sistem perangkat lunak dan batasan pengembangan perangkat lunak.

2. Pengembangan (Development)Pengembangan perangkat lunak untuk menghasilkan sistem perangkat lunak.

3. Validasi (Validation)Memeriksa apakah perangkat lunak sudah memenuhi keinginan pelanggan (costumer).

4. Evolusi (Evolution)Mengubah perangkat lunak untuk memenuhi perubahan kebutuhan pelanggan (costumer)

Page 21: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

Teknologi Informasi Sosial (Social Information Technology)

• Teknologi informasi Sosial/ social IT adalah faktor atau aspek sosial yang berkaitan dengan implementasi suatu teknologi informasi.

• Hal-hal yang harus dilakukan sebelum mengembangkan perangkat lunak di lingkungan tertentu maka harus dicari tahu:

a. Pengetahuan lingkungan tentang teknologi informasi dan komputer

b. “social knowledge” atau “local knowledge” (pengetahuan mengenai budaya lokal) di lingkungan yang akan dikembangkan perangkat lunak, apa memungkinkan untuk dikembangkan perangkat lunak.

c. Pengetahuan tentang apa saja yang bisa dibatasi dan yang tidak, sehingga saat pengembangan perangkat lunak dapat mendefinisikan aturan main dari perangkat lunak.

Setelah perangkat lunak dikembangkan tetap masih diperlukan adanya sosialisasi perangkat lunak dengan mengadakan pelatihan secara bertahap, karena mengubah kebiasaan sebuah lingkungan ke sesuatu yang baru tidaklah gampang dan yang akan menggunakan perangkat lunak memiliki karakter yang berbeda-beda.

Page 22: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

Konversi Perangkat Lunak

• Melakukan konversi dari cara kerja yang lama ke cara kerja yang baru menggunakan perangkat lunak yang dikembangkan perlu dilakukan secara bertahap, karena perubahan ekstrim akan menghabiskan lebih banyak sumber daya, dana, dan waktu.

• Beberapa cara konversi adalah sebagai berikut :1. Konversi paralel2. Konversi langsung3. Konversi per fase4. Konversi pilot atau single location

Page 23: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

1. Konversi paralel

• Konversi paralel dilakukan dengan melakukan beberapa waktu transisi dimana ada waktu dimana kedua sistem (sistem lama dan sistem baru) berjalan bersama untuk keperluan transisi sampai sistem baru dapat berjalan mandiri. Sumber daya yang dibutuhkan pada konversi paralel akan banyak terkuras pada waktu transisi.

SISTEM LAMA

SISTEM BARUwaktu transisi

Gbr. Ilustrasi konversi paralel

Page 24: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

2. Konversi langsung

• Konversi langsung dilakukan karena sistem lama secara ekstrim langsung diganti dengan sistem yang baru. Konversi ini akan mengalami waktu yang sangat sulit di awal berjalannya sistem baru.

SISTEM LAMA

SISTEM BARU

Gbr. Ilustrasi konversi langsung

Page 25: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

3. Konversi per fase

REKAYASA PERANGKAT LUNAK

• Konversi per fase dilakukan dengan berpindah per fase dari sistem lama ke sistem baru misalkan pada awal konversi hanya pada pekerjaan memasukkan data-data saja, pada tahap berikutnya mulai menggunakan proses perhitungan , lalu fase berikutnya mulai menggunakan proses pelaporan sistem baru, dan seterusnya (lebih fokus pada per fungsi sistem).

SISTEM LAMA SISTEM BARU

Gbr. Ilustrasi konversi per fase

Page 26: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

4. Konversi pilot atau single location

• Konversi pilot dilakukan dengan melakukan konversi per unit kerja atau per lokasi di dalam sebuah lingkungan kerja. Misalnya pada tahap awal unit kerja yang sistemnya berubah adalah bagian keuangan, berikutnyapada bagian sumber daya manusia, dan seterusnya.

Gbr. Ilustrasi konversi pilot

SISTEM LAMA SISTEM BARU

Page 27: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

REKAYASA PERANGKAT LUNAK

TUGAS 1

1. Jelaskan pengertian dari istilah-istilah di bawah ini :a. Softwareb. Systemc. Applicationd. Software engineeringe. Software engineerf. Software developerg. Programmerh. Social IT

2. Mengapa ada proses-proses atau tahapan-tahapan yang harus dilakukan dalam rekayasa perangkat lunak?

3. Mengapa rekayasa perangkat lunak sebaiknya fokus pada pelanggan atau pengguna?

4. Mengapa faktor sosial dari teknologi informasi perlu diperhatikan?

5. Sebutkan kelebihan dan kekurangan masing-masing metode konversi sistem?

Page 28: Rekayasa Perangkat Lunak (Kuliah 1 & 2)

Perkuliahan ke-2 SELESAI

TERIMA KASIH

Materi Perkuliahan ke-3 :Analisis dan desain sistem & SDLC