Kurikulum S2 Informatika

Otomasi Piranti Lunak
Mata kuliah ini berfokus pada pemodelan dan pengaplikasian system piranti lunak yang saat ini umumnya berjalan dilingkungan Cloud Computing secara otonom dan adaptif. Otomasi dilakukan dengan membuat model integrasi aplikasi dengan repository yang tersedia sehingga setiap implementasi dan deployment dapat berjalan sesuai rencana. Model adaptif memberikan kemampuan piranti lunak secara umum dan khusus untuk menyesuaikan kondisi kontekstual yang terjadi saat system sedang berjalan atau memberikan layanan. Bentuk layanan yang mengadpsi model control seperti feedback dan trigger termasuk bagian dari pembelajaran. Pada Cloud Computing manajemen keberlanjutan dari layanan menjadi bagian yang utama. Hal ini menyebabkan diperlukannya mekanisme fail-over ketika layanan mengalami permasalahan. Untuk itu topik pada fail-over, safety dan sustainability pada Cloud Computing berperan aktif dalam membantu pengembangan layanan yang tidak terinterupsi oleh gangguan eskternal.  

1. Obyek Pembelajaran:
Memahami strategi otomasi piranti lunakMengerti bagaimana bekerja dengan Komputasi Awan dan manajemen otomasi piranti lunak.Memahami metode fail-over didalam aplikasi waktu-nyata.Mendapatkan pengetahuan pada kemampuan untuk melakukan perubahan secara adaptif pada lingkungan komputasi awan.

2. Sarana: Python, Unix, Linux, Cloud Environment, VirtualBox, Vagrant

3. Referensi:
- Software Product Line Engineering
- Ansible: Up and Running: Automating Configuration Management and Deployment the Easy Way, Lorin Hochstein, Rene Moser, O’Reilly, 2017
- Terraform Cookbook: Efficiently define, launch, and manage Infrastructure as Code across various cloud platforms, by Mikael Krief and Mitchell Hashimoto, 2020
- Automated Software Engineering, Journal, SpringerLink

4. Isi Perkuliahan  
Pertemuan 1 Pengantar Otomasi Piranti Lunak
Pertemuan 2 Software Product Line Engineering (SPLE)
Pertemuan 3 Dynamic Software Product Line Engineering (DSPLE)
Pertemuan 4 Skenario Otomasi Piranti Lunak
Pertemuan 5 Studi Kasus 1 – Otomasi Piranti Lunak pada Lingkungan Virtual
Pertemuan 6 Manajemen dependensi dan fail-over operasional piranti lunak
Pertemuan 7 Melakukan Mining Penyimpanan piranti lunak
Pertemuan 8 Ujian Tengah Semester
Pertemuan 9 Machine Learning untuk Piranti Lunak 1
Pertemuan 10 Machine Learning untuk Piranti Lunak 2
Pertemuan 11 Studi Kasus 2 – Machine Learning untuk Rekayasa Piranti Lunak
Pertemuan 12 Paper 1: Software Automation in Cloud Computing
Pertemuan 13 Paper 2: Github as Software Artefact
Pertemuan 14 Paper 3: Defect Identification using Machine Learning
Pertemuan 15 Paper 4: Autoreconfiguration of Software System
Pertemuan 16 Ujian Akhir Semester