Bagan Mingguan

  • Selamat Datang di Matakuliah Software Profiling (SE402)

    Deskripsi Singkat Matakuliah:

    Mata kuliah ini membahas bagaimana melakukan analisa source code pada perangkat lunak untuk mengoptimalkan berbagai kondisi runtime beserta contoh pendekatan optimasinya. Mahasiswa/i didorong untuk memahami dasar analisis source code dari perangkat lunak dan menganilisis source code dari program dinamis dan statis.

    Capaian Pembelajaran Matakuliah:

    • Memahami dasar analisis source code dari perangkat lunak
    • Menganilisis source code dari program dinamis dan statis


    Kuliah Sinkronus Diselenggarakan Pada :

    Setiap Kamis (11 Jan 2024 - 30 Mei 2024), Sesi 1: Pukul 18.30-20.10, Ruang B.303 UVERS

    Kebutuhan Perkuliahan:


  • Pertemuan 01 Pengantar Software Profiling (11 Januari 2024)

    Dalam pertemuan ini, mahasiswa akan diperkenalkan pada Pengantar Software Profiling, dengan fokus pada konsep-konsep kunci seperti Definisi Profil, Tujuan Profil, Kualitas Profil, Proses Pembuatan Profil, dan Jenis Praktik Pembuatan Profil. Materi perkuliahan akan membahas pentingnya pemahaman mendalam terhadap perilaku dan kinerja perangkat lunak melalui analisis profil, termasuk identifikasi sumber daya yang digunakan dan waktu eksekusi berbagai bagian kode. Mahasiswa akan mempelajari tujuan dari pembuatan profil, mengenai bagaimana meningkatkan efisiensi, mendeteksi bottleneck, dan memahami pola kinerja aplikasi. Selain itu, pembahasan juga akan mencakup kriteria kualitas profil yang baik dan berbagai jenis praktik pembuatan profil yang dapat diterapkan dalam pengembangan perangkat lunak. 

    Dengan pemahaman yang mendalam terhadap topik ini, mahasiswa diharapkan dapat mengoptimalkan dan meningkatkan kualitas kinerja perangkat lunak secara efektif.

  • Pertemuan 02 Pengantar Software Profiling Lanjutan (18 Januari 2024)


    Dalam pertemuan ini, mahasiswa akan melanjutkan pemahaman mereka tentang Pengantar Software Profiling dengan fokus pada aspek-aspek tambahan seperti Output dari Profiler, Penggunaan Profiler, Sejarah Profiler, dan Instrumentasi Profiler. Materi perkuliahan akan membahas berbagai jenis output yang dihasilkan oleh profiler dan cara interpretasinya untuk mengidentifikasi area yang perlu dioptimalkan dalam kode perangkat lunak. Mahasiswa juga akan mempelajari beragam penggunaan profiler dalam pengembangan perangkat lunak, termasuk peningkatan kinerja dan debugging. Sejarah perkembangan profiler juga akan menjadi bagian dari diskusi, memberikan wawasan tentang evolusi konsep ini dalam industri perangkat lunak. Selain itu, pembahasan tentang instrumentasi profiler akan melibatkan cara menyematkan instrumen ke dalam kode untuk mengumpulkan data yang relevan untuk analisis profil. 

    Dengan pemahaman lebih lanjut tentang topik ini, diharapkan mahasiswa dapat mengintegrasikan profil software secara efektif dalam proses pengembangan perangkat lunak.

  • Pertemuan 03 Analisa Program Statis dan Dinamis (25 Januari 2024)

    Dalam pertemuan ini, mahasiswa akan mendalami dua aspek penting dalam pengembangan perangkat lunak, yaitu Analisis Program Statis dan Analisis Program Dinamis. Fokus utama akan melibatkan pemahaman alasan di balik keduanya, serta eksplorasi berbagai jenis alat dan teknik yang digunakan dalam analisis program. Analisis Program Statis membahas evaluasi kode sumber tanpa eksekusi, memungkinkan identifikasi potensi masalah dan optimasi sebelum runtime, sementara Analisis Program Dinamis berkaitan dengan pemahaman perilaku program selama eksekusi. 

    Mahasiswa akan belajar mengapa kedua jenis analisis ini penting dalam siklus pengembangan perangkat lunak, serta bagaimana memilih dan menerapkan alat serta teknik yang sesuai untuk mendapatkan wawasan yang lebih baik tentang kualitas dan kinerja program secara keseluruhan.

  • Pertemuan 04 Rekayasa Kinerja (1 Februari 2024)

    Pertemuan ini akan membahas konsep-konsep kunci dalam Rekayasa Kinerja, termasuk Tujuan Rekayasa Kinerja, Pendekatan Rekayasa Kinerja, Manajemen Pelayanan Rekayasa Kinerja, dan Pemantauan Rekayasa Kinerja. Mahasiswa akan mendapatkan pemahaman mendalam tentang mengapa rekayasa kinerja penting dalam mengoptimalkan kinerja sistem dan layanan. Pendekatan yang beragam untuk merancang dan meningkatkan kinerja akan dibahas, sambil membahas manajemen pelayanan sebagai strategi untuk memastikan efisiensi dan keberlanjutan. Selain itu, pemantauan rekayasa kinerja akan diajarkan untuk memahami dan mengevaluasi dampak perubahan serta memastikan kesesuaian dengan tujuan dan kebutuhan sistem. 

    Dengan fokus pada aplikasi praktis, mahasiswa diharapkan dapat menguasai konsep-konsep rekayasa kinerja dan mengaplikasikannya secara efektif dalam lingkungan teknologi informasi dan sistem lainnya.

  • Pertemuan 05 Kompleksitas Algoritma (22 Februari 2024) [Asinkronus]

    Pada pertemuan ini, mahasiswa akan menjelajahi Konsep Kompleksitas Algoritma dengan fokus pada Model Perhitungan Kebutuhan Waktu, Kompleksitas Waktu, dan Kompleksitas Waktu Asimptotik. Materi perkuliahan akan membahas bagaimana mengukur efisiensi algoritma, termasuk model perhitungan waktu yang melibatkan analisis langkah-langkah operasional dan perbandingan dengan ukuran input. Mahasiswa akan memahami konsep kompleksitas waktu yang melibatkan estimasi jumlah waktu yang dibutuhkan oleh suatu algoritma. Poin utama dari diskusi ini adalah pemahaman Kompleksitas Waktu Asimptotik, yang memfokuskan pada pertumbuhan relatif dari waktu eksekusi algoritma dengan meningkatnya ukuran input. 

    Dengan pemahaman mendalam tentang konsep-konsep ini, mahasiswa diharapkan dapat mengevaluasi dan memilih algoritma yang sesuai dengan kebutuhan dan kendala sumber daya yang ada.

  • Pertemuan 06 Kompleksitas Algoritma Lanjutan (29 Februari 2024)


    Dalam pertemuan lanjutan tentang Kompleksitas Algoritma, mahasiswa akan fokus pada pengelompokan algoritma berdasarkan notasi Big-Oh serta mendalami kegunaan dari notasi tersebut. Materi perkuliahan akan membahas konsep dasar notasi Big-Oh sebagai alat untuk mengukur dan membandingkan kompleksitas waktu algoritma. Mahasiswa akan memahami cara mengelompokkan algoritma ke dalam kelas kompleksitas yang berbeda, seperti O(1), O(log n), OTidak, O(n log n), dan O(n^2), serta bagaimana notasi Big-Oh membantu dalam memahami pertumbuhan waktu algoritma seiring dengan peningkatan ukuran input. 

    Pemahaman tentang kegunaan notasi Big-Oh akan membantu mahasiswa dalam mengambil keputusan desain algoritma yang efisien dan efektif dalam konteks berbagai masalah komputasi.

  • Pertemuan 07 Ujian Tengah Semester (7 Maret 2024)

  • Pertemuan 08 Penyetelan Kinerja (14 Maret 2024)


    Dalam pertemuan ini, mahasiswa akan menjelajahi konsep Penyetelan Kinerja dengan memfokuskan pada Definisi Penyetelan Kinerja, Tahapan Penyetelan Kinerja, Implementasi Penyetelan Kinerja, Analisis Kinerja, dan Teknik Penyetelan Kinerja. Materi perkuliahan akan memberikan pemahaman mendalam tentang arti dan pentingnya penyetelan kinerja dalam mengoptimalkan kinerja sistem atau aplikasi. Mahasiswa akan diajak melalui tahapan-tahapan yang melibatkan identifikasi target kinerja, implementasi perubahan, dan analisis dampaknya. Selain itu, berbagai teknik penyetelan kinerja akan dibahas untuk memastikan efisiensi dan responsivitas sistem. 

    Dengan fokus pada aplikasi praktis, mahasiswa diharapkan dapat menguasai keterampilan penyetelan kinerja yang diperlukan dalam pengembangan dan pemeliharaan sistem berkinerja tinggi.

  • Pertemuan 09 Penyetelan Kinerja Lanjutan (21 Maret 2024)


    Dalam pertemuan lanjutan mengenai Penyetelan Kinerja, mahasiswa akan mendalami berbagai teknik penyetelan kinerja yang esensial, serta membahas deteksi kesalahan waktu proses. Materi perkuliahan akan mencakup teknik-teknik penyetelan kinerja seperti optimalisasi parameter, alokasi sumber daya yang efisien, dan strategi penanganan beban. Mahasiswa juga akan mempelajari metode deteksi kesalahan waktu proses untuk mengidentifikasi dan menanggapi anomali kinerja yang dapat mempengaruhi efektivitas sistem. 

    Dengan pemahaman mendalam terhadap teknik penyetelan kinerja dan deteksi kesalahan waktu proses, diharapkan mahasiswa dapat mengimplementasikan strategi yang efektif untuk meningkatkan kinerja dan kehandalan sistem dalam konteks pengembangan perangkat lunak dan manajemen IT.

  • Pertemuan 10 Optimasi Kompiler (28 Maret 2024) [Asinkronus]

    Dalam pertemuan ini, mahasiswa akan memperdalam pemahaman mereka tentang Optimasi Kompiler, dengan fokus pada Profile-guided Optimization (PGO), Metode Pengoptimalan, Adopsi PGO, dan Optimasi Adaptif. Materi perkuliahan akan membahas PGO sebagai teknik yang menggunakan informasi profil eksekusi program untuk meningkatkan performa kompilasi kode. Selain itu, pembahasan akan melibatkan berbagai metode pengoptimalan yang dapat diterapkan pada kode sumber, termasuk strategi untuk meningkatkan efisiensi dan kecepatan eksekusi. Adopsi PGO sebagai bagian dari proses pengembangan perangkat lunak juga akan menjadi fokus, memberikan wawasan tentang penerapan praktis teknik ini. Terakhir, mahasiswa akan memahami konsep optimasi adaptif, di mana penyesuaian otomatis pada kompilasi dapat meningkatkan kinerja program berdasarkan informasi yang dikumpulkan selama eksekusi. 

    Dengan pemahaman mendalam tentang konsep-konsep ini, mahasiswa diharapkan dapat mengoptimalkan kode perangkat lunak dengan lebih efektif.

  • Pertemuan 11 Pendekatan Optimasi Kompiler (4 April 2024) [Asinkronus]

    Dalam pertemuan mengenai Pendekatan Optimasi Kompiler, mahasiswa akan mendalami beberapa teknik optimasi kunci, termasuk Penghapusan Kode Mati, Penghapusan Redundansi Parsial, dan Penghapusan Konjungsi. Materi perkuliahan akan membahas cara efektif mengidentifikasi dan menghilangkan bagian kode yang tidak aktif atau tidak dapat diakses (kode mati). Selain itu, pembahasan akan mencakup strategi penghapusan redundansi parsial untuk mengurangi duplikasi dan memperbaiki efisiensi. Penghapusan konjungsi, sebagai bagian dari pendekatan ini, akan diajarkan untuk mengoptimalkan eksekusi program dengan menggabungkan operasi-operasi konjungsi. 

    Mahasiswa diharapkan dapat memahami konsep dan teknik-telat tersebut sehingga mampu mengimplementasikannya dalam proses pengembangan perangkat lunak dengan lebih efisien.

  • Pertemuan 12 Pendekatan Optimasi Kompiler Lanjutan (18 April 2024)

    Dalam pertemuan mengenai Pendekatan Optimasi Kompiler, fokus utama akan diberikan pada teknik optimasi seperti Penghapusan Kode yang Berlebihan, Penghapusan Kode Berasap, dan Penghapusan Kode Duplikasi. Mahasiswa akan diajarkan strategi efektif untuk mengidentifikasi dan menghilangkan segmen kode yang tidak diperlukan atau redundan dalam upaya meningkatkan efisiensi dan kinerja perangkat lunak. Pembahasan akan mencakup cara mengurangi ukuran kode yang berlebihan, menghilangkan instruksi yang tidak memberikan dampak signifikan pada hasil akhir, dan mengidentifikasi serta mengatasi duplikasi kode yang dapat menghambat optimalisasi. 

    Dengan memahami prinsip-prinsip ini, mahasiswa diharapkan mampu mengimplementasikan pendekatan optimasi ini dengan lebih cermat dalam pengembangan perangkat lunak.

  • Pertemuan 13 Tolak Ukur Komputasi (25 April 2024)

    Dalam pertemuan mengenai Tolok Ukur (Benchmark) Komputasi, mahasiswa akan mendapatkan pemahaman mendalam tentang tujuan, tantangan, prinsip, jenis patokan, dan standar industri yang terkait dengan proses penentuan performa komputasi. Materi perkuliahan akan membahas mengapa tolok ukur menjadi instrumen krusial dalam mengukur dan membandingkan kinerja sistem komputasi, serta mengatasi tantangan dalam pemilihan dan implementasi tolok ukur yang sesuai. Prinsip-prinsip dasar dan berbagai jenis patokan tolok ukur akan dibahas, dengan penekanan pada pemahaman standar industri yang relevan. 

    Mahasiswa diharapkan dapat mengintegrasikan pengetahuan ini untuk memilih dan menerapkan tolok ukur komputasi yang efektif sesuai dengan kebutuhan evaluasi performa sistem.

  • Pertemuan 14-15 Pra-UAS (2 Mei 2024 & 16 Mei 2024 [Asinkronus])

    Materi perkuliahan ini akan membahas tentang persiapan ujian akhir semester, di mana mahasiswa akan terlibat dalam diskusi untuk membahas materi-materi yang telah dipelajari sebelumnya. Selain itu, mahasiswa juga akan diajak untuk belajar mandiri dengan menjawab kuis-kuis persiapan ujian akhir semester. Materi ini bertujuan untuk membantu mahasiswa memahami materi dengan lebih baik, mengidentifikasi area-area yang memerlukan pemahaman lebih mendalam, dan mengasah kemampuan dalam menghadapi ujian secara efektif. Dengan mengikuti proses belajar mandiri ini, diharapkan mahasiswa akan siap menghadapi ujian akhir semester dengan lebih percaya diri dan memperoleh hasil yang memuaskan.
  • Pekan ini

    Pertemuan 16 Ujian Akhir Semester (30 Mei 2024)