Pertemuan 1 pengantar MK pemr web lanjut.pdf

andysatriaceh 0 views 28 slides Oct 20, 2025
Slide 1
Slide 1 of 28
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28

About This Presentation

Pertemuan minggu 1 pengantar MK pemr web lanjut.pdf


Slide Content

Mata Kuliah Pemrograman Lanjut
“Pengantar Mata Kuliah”
Bella Dwi Mardiana, M.Kom
Dosen Program Studi Informatika
Fakultas Teknik (Universitas Muhammadiyah Malang)
Email: [email protected]

Do’a Awal Perkuliahan
“Rodhitu billahi robba, wabi islaamidina, wabimuhammadin nabiyya
warasulla Robbi zidni ilman nafi'a warzuqni fahma”

Artinya: “Aku ridha Allah SWT sebagai Tuhanku, dan Islam sebagai agamaku, dan
Muhammad SAW sebagai Nabi dan Rasulku. Ya Allah tambahkanlah kepadaku ilmu dan
berikanlah aku pemahaman yang baik”

Capaian Pembelajaran
CPL
●Menguasai konsep teoritis matematika dan algoritma untuk mendukung
keilmuan di bidang Informatika

CMPK
●Mahasiswa mampu mengaplikasikan ilmu pengetahuan dan teknologi
dalam bidang informatika berlandaskan nilai-nilai humaniora secara kritis

Kemampuan akhir tiap tahapan belajar (Sub-CPMK)
●Sub-CPMK 1: Mahasiswa mampu mengoperasikan program verification dan
program spesification
●Sub-CPMK 2: Mahasiswa mampu merumuskan kebenaran program
computer melalui system formal Hoare Triple
●Sub-CPMK 3: Mahasiswa mampu membuat program verification dan
program spesification
●Sub-CPMK 4: Mahasiswa mampu menjalankan modern program
environment pada pengkodean program
●Sub-CPMK 5: Mahasiswa mampu melakuakan perbaikan eror dan
penerpan concept of specification, excepcetion handling pada program

Deskripsi Singkat MK
Mata kuliah ini berfokus pada proses mendefinisikan dan memvalidasi
persyaratan sistem untuk memastikan perangkat lunak yang dibangun sesuai
dengan kebutuhan pengguna. Mahasiswa akan belajar cara membuat
spesifikasi yang jelas, lengkap, dan tidak ambigu yang menjadi acuan utama
sepanjang siklus pengembangan.

Materi Perkuliahan
●Program Correctness
●Program Verification
●Program Specification
●Code Review
●Code Search
●Testing Fundamentals
●Test Case Generation
●Unit Testing
●Refactoring
●Modern Programming Environment
●Development Type
●Documentation and Programming Style

Kontrak Perkuliahan
●Materi disampaikan oleh Dosen sesuai dengan RPS
●Kuliah tatap muka di kelas
●Tugas dan proyek dikerjakan sendiri kecuali ditentukan berkelompok
●Mengikuti peraturan yang ditetapkan oleh kampus dan dosen
○Hadir (presensi hanya dibuka 15 menit via online)
○Berdiskusi
○Etika berpakaian & komunikasi dijaga baik secara langsung maupun daring
○Tidak ada susulan UTS & UAS, kecuali ada kebijakan dari panitia
○Praktikum didemokan sesuai jam praktikum
○Tidak hadir = presensi dianggap ALPA, kecuali sakit dengan surat dokter
○Hadir (Tidak Boleh 3x ALPA)
○Titip absen teman = nilai E

Proses Perkuliahan
●Kelas Teori
○Penjelasan yang berkaitan dengan praktikum

●Kelas Praktikum
○Mempraktekan serta mempertajam ilmu dengan praktek langsung

Materi dan nilai berkesinambungan
Praktikum tidak lulus = Mata kuliah tidak lulus

Penilaian Perkuliahan
●Kehadiran (10%)
●Tugas (20%)
○Tugas pribadi
○Tugas kelompok
○Kuis
○Tugas besar
●UTS (20%)
●UAS (20%)
●Praktikum (30%)
●Pertimbangan penilaian dapat dilakukan berdasarkan ketepatan waktu,
kesesuaian dalam penyelesaian tugas, keaktifan di kelas

Remidi dan Penilaian Khusus
●Bisa dilakukan hanya 1 minggu sebelum UAS dimulai
●Pada saat UAS dimulai tidak ada remidi
●Maksimal nilai remidi adalah C
●Penilaian khusus bisa diberikan kepada Mahasiswa yang memiliki prestasi
lain di luar kampus, minimal tingkat provinsi (dengan aturan penilaian
khusus)

Tentang Mata Kuliah
●Mata kuliah pemrograman lanjut adalah mata kuliah yang membahas
konsep, teknik, dan praktik pengembangan perangkat lunak secara
sistematis dan berkelanjutan.

●Kita akan memahami bagaimana menggunakan struktur coding yang tepat
sehingga mendapatkan hasil program yang juga benar-benar tepat sesuai
dengan fungsi dan tujuan program.

Irisan Mata Kuliah : Pemrograman Dasar | Pemrograman Berorientasi Objek | Struktur Data | Algoritma

Tujuan
●Secara garis besar yang akan kita pelajari pada matkul ini berhubungan
dengan pengujian perangkat lunak/software, dimana kita akan melakukan
dan mempelajari berbagai macam testing code.

●Untuk memastikan pemrograman yang anda buat sudah sesuai dan siap
untuk launching.

Program
Correctness

Penjelasan
●Merupakan sebuah kegiatan pengujian untuk mengukur sejauh mana
program sesuai dengan ketepatan, fungsi, tujuan, dan spesifikasinya

●Sebelum melakukan kegiatan pengujian, kita perlu mengerti mengenai
error / kesalahan ketidaktepatan yang terjadi pada code

Review: Logika Dasar
●Operator logika:
○AND (∧), OR (∨), NOT (¬), IMPLIKASI (→)
●Truth table dapat membantu analisis kondisi
●Proof by induction → membuktikan sifat pada program dengan loop
○Kaitannya ke program:
■rekursi ↔ basis + langkah induksi,
■loop invariant ↔ induksi per iterasi,
■analisis kompleksitas ↔ induksi pada solusi rekurensi.

Proof by Induction
Contoh: Jumlah bilangan 1..n = n(n+1)/2
●Basis: n=1 → benar (1=1(1+1)/2)
●Asumsi: benar untuk n=k
●Tunjukkan benar untuk n=k+1

●Perlu tunjukkan:

●Mulai dari ruas kiri:

●Dengan asumsi induksi, bagian 1+2+⋯+k bisa diganti:

●Samakan penyebut

●Faktorkan (k+1)

Proof by Induction
Karena sudah benar untuk:
●Basis (n = 1),
●Jika benar untuk n = k maka benar juga untuk n = k+1,
Maka, dengan induksi matematika, rumus berlaku untuk semua n ≥ 1

Kenapa Program Correctness Penting??
●Bug dalam software bisa menyebabkan kerugian besar
●Correctness = program harus sesuai spesifikasi, bukan hanya “asal jalan”

Program Correctness
●Partial correctness: hasil benar jika program berhenti
●Total correctness: program berhenti dan hasil benar
Contoh:
infinite loop meski logika benar = hanya partial correctness

Program Specification
●Precondition: kondisi sebelum eksekusi
●Postcondition: kondisi setelah eksekusi
Contoh:
int max(int a, int b) {
if (a > b) return a;
else return b;
}
○Precondition: dua bilangan integer telah diberikan
○Postcondition: hasil adalah bilangan terbesar

Pseudocode
●Bahasa yang menyerupai bahasa
pemrograman
●Mudah dimengerti
●Dapat ditulis dengan cara yang
berbeda / tidak baku
●Bahasa artifisial yang
memudahkan programmer
●Biasa ditulis dengan indentasi
●Fleksibel
Contoh:
Algoritma Menghitung_luas_dan_Volume_balok
(nama fungsi/procedure)
Deklarasi
Kamus (deklarasi dan inisialisasi)
P,L,T : int Luas,
Volume : int
Deskripsi
Input (P) (input)
Input (L) (input)
Input (T) (input)
Luas (2*p*l)+(2*p*t)+(2*l*t) (proses)
Volume p*l*t (proses)
Output(Luas) (output)
Output(Volume) (output)
End

Syntax
●Aturan menulis yang dimengerti
oleh Bahasa Pemrograman
●Aturan bersifat baku untuk setiap
Bahasa Program
●Saat sudah menggunakan Bahasa
C maka terasa mudah saat
menggunakan Bahasa C++
ataupun Java
●Contoh menggunakan untuk tanda
semicolon (“;”) pada Java
Contoh:
if (x > y) {
return x;
} else {
return y;
}

Semantic
●Makna dari kalimat
●Pada Bahasa program hanya memiliki satu arti misalkan
●Cout << “ “;
●Cout << “ “;
●Sama sama berupa output an

Contoh Program Salah
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++)
result *= i;
return result;
}
●Masalah: tidak ada validasi n < 0
●Perbaikan: tambahkan precondition n ≥ 0

1.Buat precondition dan postcondition dari pseudocode yang telah
disediakan (buat minimal 2 untuk masing-masing)
Tugas

FUNCTION find_maximum(array, n):
IF n <= 0 THEN
PRINT "Array kosong!"
RETURN null

max_value ← array[0]

FOR i FROM 1 TO n-1 DO
IF array[i] > max_value THEN
max_value ← array[i]

RETURN max_value

Do’a Penutup Majelis
Subhaanakallaahumma wa bihamdika asyhadu alaailaha illa
'anta astagfiruka wa 'atubu ilaik

Artinya: “Mahasuci Engkau, ya Allah, aku memuji-Mu. Aku bersaksi bahwa tiada
Tuhan selain Engkau, aku memohon ampun dan bertobat kepada-Mu”
Tags