• Tidak ada hasil yang ditemukan

Teknik Informatika S1

N/A
N/A
Protected

Academic year: 2021

Membagikan "Teknik Informatika S1"

Copied!
5
0
0

Teks penuh

(1)

Teknik Informatika S1

Pengenalan RPL

Rekayasa Perangkat Lunak

1

PENGENALAN REKAYASA PERANGKAT LUNAK

1. Kenapa kita mempelajari rekayasa perangkat lunak?

2. Perkembangan Ilmu Rekayasa Perangkat Lunak

3. Pengertian Software/ perangkat lunak

4. Jenis perangkat lunak

5. Peranan perangkat lunak

6. Pengertian Rekayasa Perangkat Lunak

7. Perbedaan software, software engineering, system engineering, dan system computer

8. Tahap-tahap pembangunan perangkat lunak

9. Masalah dan solusi pembangunan perangkat lunak

10. Isu dan tanggung jawab Engineer serta target Profesi yang berkaitan dengan rekayasa perangkat lunak

2

Pengertian Perangkat Lunak (Software)

?

3

Pengertian Perangkat Lunak (Software)

“Program Komputer dan dokumentasi (User manual, dokumen kebutuhan, dokumen perancangan) yang berhubungan dengan program tersebut”.

4

Pengertian Perangkat Lunak (Software)

(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 dan kegunaan program.

5

Jenis Perangkat Lunak

(Berdasarkan target Market)

1. Generic/ Public Software

2. Custom/ Private Software

(Ian Sommerville, Software Engineering 8 Ed., 2006)

(2)

Jenis Perangkat Lunak (Berdasarkan target Market)

1. Generic/ Public Software

Perangkat lunak standar yang diproduksi oleh perusahaan pengembang dan dijual pada pasar terbuka ke siapapun yang bisa membelinya (Shrink-wrapped).

• Pengguna umum • Kebutuhan luas

• Lingkungan pengguna tidak terbatas

Contoh: Microsoft Office, Windows 8, Windows 7 7

Jenis Perangkat Lunak

2. Custom/ Private Software

Perangkat lunak yang dikembangkan khusus dan disesuaikan dengan kebutuhan pelanggan

• Pengguna khusus • Kebutuhan sempit

• Lingkungan pengguna terbatas

Contoh: Software Kasir di Supermarket ABC,

Software penggajian di perusahaan XYZ 8

Jenis Perangkat Lunak (Berdasarkan Platform)

•Software Sistem

•Software Real-Time

•Software Bisnis

•Software Teknik dan Ilmu Pengetahuan

•Software Tertanam (Embedded Software)

•Software Komputer Personal

•Software Kecerdasan Buatan

•Software Mobile

(Roger Pressman, Software Engineering,: A Practitioner’s Approach 7Ed., 2009)

9

Jenis Perangkat Lunak (Berdasarkan Lisensi)

1. ProprietarySoftware

2. Open Source Software

10

Proprietary Software

•Software yang source codenya tertutup dan didistribusikan dengan suatu format lisensi yang

membatasi pihak lain untuk menggunakan, memperbanyak dan memodifikasi

•Lisensi proprietary software memungkinkan orang lain menggunakan software yang kita buat dengan diikuti

penyerahan royalti (uang) ke pemilik hak ciptanya

•Shareware dan Freeware adalah proprietary software. Free for use belum tentu free for (redistribute) atau

free for modify! 11

Open Source Software

•Software yang source codenya terbuka dan didistribusikan dalam suatu format lisensi yang memungkinkan pihak lain secara

bebas memperbanyak dan memodifikasi source code didalamnya

•Hak cipta tetap ada, tapi lisensi memungkinkan orang lain bebas

untuk menggunakan dan memodifikasi software tersebut

•Jenis lisensi open source software: •GNU General Public License (GPL) •Apache License

•BSD license •MIT License

(3)

Pengertian Rekayasa Perangkat Lunak

Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi, desain, konstruksi, testing sampai pemeliharaan setelah digunakan.

13

Mengapa Rekayasa Perangkat Lunak

•Terminologi rekayasa perangkat lunak (software engineering) pertama kali digunakan pada conference tentang software crisis tahun 1968

•Krisis perangkat lunak merupakan akibat langsung dari

lahirnya komputer generasi ke 3 yang canggih pada waktu itu

•Perangkat lunak yang dihasilkan menjadi menjadi beberapa kali lebih besar dan kompleks

•Pendekatan informal tidak cukup efektif (cost, waktu dan kualitas) dalam pengembangan perangkat lunak

•Biaya hardware jatuh dan biaya perangkat lunak naik cepat 14

Perbedaan Software Engineering dan

Computer Science

•Software engineering fokus kepada praktek pembangunan dan penggunaan perangkat lunak.

•Computer science fokus kepada teori dan dasar-dasarnya.

15

Perbedaan Software Engineering dan

System Engineering

Software engineering adalah bagian dari proses yang berfokus kepada pembangunan infrastruktur perangkat lunak, kontrol, aplikasi, dan database di dalam sistem.

 System engineering fokus kepada semua aspek pembangunan berbasis komputer termasuk hardware, software, dan proses rekayasa.

16

Pembangunan Perangkat Lunak

Maintenance System Design Requirements Analysis and Definition Program Design Program Implementation Unit Testing Integration Testing System Testing System Delivery S OF T W A RE DE V E L OP M E NT S T E P S DE V E L OP E R ROL E S ANALYST DESIGNER PROGRAMMER TESTER TRAINER 17

5 Masalah Pembangunan Perangkat Lunak

1. Poor Requirements - if requirements are unclear, incomplete, too general, and not testable, there may be problems.

2. Unrealistic Schedule - if too much work is crammed in too little time, problems are inevitable.

3. Inadequate Testing - no one will know whether or not the software is any good until customers complain or systems crash.

4. Featuritis - requests to add on new features after development goals are agreed on.

5. Miscommunication - if developers don't know what's needed or customer's have erroneous

(4)

Solusi Masalah Pembangunan Perangkat Lunak

1. Solid Requirements - clear, complete, detailed, cohesive,

attainable, testable requirements that are agreed to by all players.

2. Realistic Schedules - allow adequate time for planning, design, testing, bug fixing, re-testing, changes, and documentation; personnel should be able to complete the project without burning out.

3. Adequate Testing - start testing early on, re-test after fixes or changes, plan for adequate time for testing and bug-fixing.

4. Stick to Initial Requirements where Feasible - be prepared to defend against excessive changes and additions once development has begun, and be prepared to explain consequences.

19

Solusi Masalah Pembangunan Perangkat Lunak

5. Communication - require walkthroughs and inspections when appropriate; make extensive use of group communication tools - groupware, wiki's, bug-tracking tools and change management tools, intranet capabilities, etc.; ensure that information/documentation is available and up-to-date - preferably electronic, not paper; promote teamwork and cooperation; use prototypes and/or continuous communication with end-users if possible to clarify expectations.

20

What are the attributes of good software?

• Maintainability (dapat dipelihara)

•Software bisa menangani perubahan spek kebutuhan

• Dependability (dapat diandalkan)

•Aman, selamat, tidak menyebabkan keruksakan fisik

• Efficiency (Efisien)

•Software mampu mengoptimalkan resource

• Acceptability (Kemampupakaian)

•Software bisa diterima user sebagaimana rancangan. Mudah dimengerti, digunakan and compatible dengan sistem yang lain

* Software Engineering 7th ed, Ian Sommerville

21

What are the key challenges facing software

engineering?

• Heterogeneity

• Mengembangkan teknik untuk membangun

perangkat lunak yang dapat mengatasi platform heterogen dan lingkungan eksekusi;

• Delivery

• Mengembangkan teknik yang mengarah pada

pengiriman lebih cepat dari perangkat lunak; • Trust

• Mengembangkan teknik yang menunjukkan

perangkat lunak yang dapat dipercaya oleh para penggunanya.

* Software Engineering 7th ed, Ian Sommerville

22

Professional and ethical responsibility

• Software engineering melibatkan tanggung jawab yang lebih

luas dari sekedar penerapan keterampilan teknis.

• Software engineer harus bertindak dengan cara yang jujur ​​dan etis, bertanggung jawab jika mereka ingin dihormati sebagai profesional.

• Perilaku etis lebih dari sekedar penegakan hukum.

* Software Engineering 7th ed, Ian Sommerville

23

Issues of professional responsibility

• Confidentiality (Kerahasiaan)

• Engineers biasanya harus menghormati

kerahasiaan majikan atau klien mereka terlepas dari apakah perjanjian kerahasiaan resmi telah ditandatangani atau tidak.

• Competence (Kompetensi)

• Engineers harus menggambarkan tingkat

kompetensi mereka. Mereka seharusnya tidak

menerima pekerjaan yang diluar dari

kompetensi mereka.

* Software Engineering 7th ed, Ian Sommerville

(5)

Issues of professional responsibility

• Intellectual property rights (Hak kekayaan intelektual) • Engineers harus menyadari hukum lokal yang mengatur

penggunaan kekayaan intelektual seperti paten, hak cipta, dll. Mereka harus berhati-hati untuk memastikan bahwa kekayaan intelektual pengusaha dan klien dilindungi. • Computer misuse (penyalahgunaan komputer)

• Software engineers tidak harus menggunakan keterampilan teknis mereka untuk menyalahgunakan komputer orang lain. Penyalahgunaan komputer berkisar dari yang relatif sepele (bermain game pada mesin client) dan yang sangat serius (penyebaran virus).

* Software Engineering 7th ed, Ian Sommerville

25

Target Profesi IEEE CC 2005

1. Computer Engineering(CE)

1. Indonesia: Jurusan Sistem Komputer atau Teknik Komputer

2. Target: Lulusan mampu mendesain dan mengimplementasikan sistem yang terintegrasi baik software maupun hardware

2. Computer Science (CS)

1. Indonesia: Jurusan Ilmu Komputer

2. Target: Lulusan memiliki kemampuan yang cukup luas dimulai dari penguasaan teori (konsep) dan pengembangan software

26

Target Profesi IEEE CC 2005

3. Information System (IS)

1. Indonesia: Jurusan Sistem Informasi

2. Target: Lulusan mampu menganalisa kebutuhan (requirement) dan proses bisnis (business process), serta mendesain sistem berdasarkan tujuan dari organisasi

4. Information Technology (IT)

1. Indonesia: Tidak ada (masuk ke jurusan teknik informatika)

2. Target: Lulusan mampu merencanakan, mengimplementasikan, mengkonfigurasi dan memaintain

infrastruktur teknologi informasi dalam organisasi

27

Target Profesi IEEE CC 2005

5. Software Engineering (SE)

1. Indonesia: Tidak ada (masuk ke Jurusan Teknik

Informatika)

2. Lulusan mampu mengelola aktifitas pengembangan

software berskala besar dalam tiap tahapannya (software development life cycle)

28

TERIMA KASIH

29

TUGAS BESAR

1. Bentuk kelompok dengan 5 orang ( 1 ketua, 4 anggota)

2. Cari 1 topik yang berbeda antara 1 kelompok dengan kelompok lainnya ( jika ada 2 kelompok yang sama temanya, maka nilai di bagi 2)

3. Jika ditemukan ada indikasi plagiarisme program maupun laporan maka nilai MK ini E

Deskripsi Tugas Besar

1. Merancang software sederhana dengan default software(tambah, edit, hapus data). Contoh: Program penggajian, program perpustakaan, program rental, dll.

2. Aplikasi berbasis dekstop atau mobile (Aplikasi web tidak diperbolehkan)

3. Menggunakan bahasa pemrograman VB, Java, Delphi, ….

4. Laporan dan presentasi setelah UTS, tapi boleh dicicil dan didiskusikan dari sekarang

5. Membuat laporan mulai dari analisis, design, proses coding, dan proses testing ( template SKPL dan DPPL)

6. Presentasi (Demo Program)

Referensi

Dokumen terkait

Berdasarkan hasil penelitian dan pembahasan yang telah dijabarkan, maka dapat ditarik kesimpulan bahwa Ada hubungan positif yang sangat signifikan antara persepsi

Dengan menerapkan media lingkungan tersebut peneliti berharap, media lingkungan dapat memberikan nuansa dan suasana yang berbeda dalam belajar sehingga siswa tidak

didapat data yang menyatakan bahwa beban kerja fisik yang dihitung berdasarkan kalori yang dikeluarkan yang dialami oleh perawat pada usia 22-27 , merupakan yang

mengintegrasikan beberapa kompetensi dari berbagai mata pelajaran ke dalam berbagai tema. Pemanduan tersebut dilakukan dalam tiga hal yaitu integrasi sikap,

Program KB seharusnya memberikan penanganan masalah unmet need terfokus pada wanita yang tidak pernah berdiskusi dengan suaminya tentang KB, yang tidak pernah

Yustiningrum Wahyu Nurcahya, S351408011, Perlindungan Hukum Terhadap Debitor Dalam Jaminan Fidusia Kendaraan Bermotor Yang Belum Terdaftar (Studi Putusan

DESKRIPSI UNIT : Unit kompetensi ini mencakup pengetahuan, keterampilan dan sikap perilaku yang diperlukan untuk mampu menguasai, mempersiapkan dan

Hasil dari penelitian ini adalah bentuk interaksi gesture yang diimplementasikan dalam sebuah sistem yang dapat melakukan proses pengenalan terhadap gerakan tangan manusia