pengertian dasar konstruksi pemrograman...
TRANSCRIPT
![Page 1: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/1.jpg)
Pengertian Dasar KonstruksiPemrograman ProseduralTim PHKI Modul Dasar Pemrograman
Fakultas Ilmu KomputerUDINUS Semarang
![Page 2: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/2.jpg)
Program Prosedural danProsedural
• Program dalam bahasa C termasuk pemrogramanprosedural: Algoritma + Struktur Data
• Program prosedural(imperatif)– Dihasilkan berdasarkan dekomposisi “aksional”,
menjadi aksi yang akan dijalankan secaraberurutan(sekuensial).
– Aksi kejadian yang terjadi pada suatu selang waktuterbatas dan menghasilkan efek neto yang telahterdefinisi dengan baik dan memangdirencanakan.
![Page 3: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/3.jpg)
Aksi• Aksi adalah KEJADIAN yang dilakukan dalam
waktu yang terbatas, dimulai dari Initial statedan berakhir pada Final State.
• Aksi diterjemahkan menjadi sederetaninstruksi(aksi primitif) yang dapat dijalankanoleh mesin.
• Contoh dari suatu aksi adalah Ibu Tati yangMENGUPAS KENTANG untuk mempersiapkanmakan malam.
![Page 4: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/4.jpg)
Aksi Mengupas Kentang (1)• “Ibu Tati MENGUPAS KENTANG untuk
mempersiapkan makan malam” aksi inimencangkup hal yang luas.
• Pikirkan?!– Apakah kentangnya harus dibeli dulu atau sudah ada
di dapur?– Apakah yang dimaksud dengan mengupas kentang
untuk makan malam berarti sampai dengan kentangterhidang?
– Ketika kentangnya terhidang, jadi sup, digoreng, ataudirebus saja?
Butuh Batasan yang jelas!Butuh Batasan yang jelas!
![Page 5: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/5.jpg)
Aksi Mengupas Kentang (2)Harus ditentukan:• Initial State (I.S.): T0, kentang di kantong, ada di
rak dapur.• Final State (F.S.): T1, Kentang terkupas dipanci
dan siap dimasak, kantong kembali ke dapur.Sub Aksi:1. Ambil kantong kentang di rak2. Ambil panci di lemari3. Kupas kentang4. Kembalikan kantong ke rak
}Aksi no 1 dan 2dapatdigabung
![Page 6: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/6.jpg)
Aksi Mengupas Kentang (3)1. Ambil kantong kentang di rak dan ambil panci di lemari2. Kupas kentang3. Kembalikan kantong ke rak
• Harus dikerjakan berurutan sequensial• Saat tertentu (jika baju warna muda) perlu celemek aksi
kondisional/ analisis kasus• Mengupas kentang dilakukan hingga jumlah tertentu
pengulangan• Mengupas kentang bagian dari aksi menyiapkan makan
malam sub program
![Page 7: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/7.jpg)
Catatan untuk Aksi/Kejadian• Kejadian memiliki pola tinglah laku.• Kejadian terjadi jika mengikuti pola.• Efek neto ditentukan sepenuhnya oleh pola dan
[mungkin] keadaan awal.• Jika dua kejadian dengan pola yang sama
menghasilkan efek neto yang berbedakeadaan awal keduanya berbeda. Contoh:– Seragam anak sekolah sama, tapi apa semua anak
mengunakan seragam yang sama?– Berbicara pada teman saat sedang gembira, marah,
sedih
![Page 8: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/8.jpg)
Algoritma (1)• Adalah deskripsi dapat terdiri dari pola
tingkah laku, dinyatakan dalam primitif, yaituaksi-aksi yang didefinisikan sebelumnya dandiberi nama.
• Aksi primitif harus dapat dikerjakan.– “Pergi ke seberang jalan!” Aksi yang dapat
dikerjakan– “Pergi ke Neraka!” bukan algoritma karena tidak
dapat dikerjakan.
![Page 9: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/9.jpg)
Algoritma (2)• Urutan langkah harus dapat dimengerti
dengan baik, oleh pembuat algoritma maupunoleh yang akan mengerjakan.
• Jika pada suatu resep kue dituliskan“Panaskan dulu oven”, Jelas atau tidak?
• Tidak, karena:– berapa lama ?– sampai temperatur oven mencapai berapa
derajat?
![Page 10: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/10.jpg)
Coba Bandingkan!
• Apa perbedaan dari hasil pengamatan dan teks algoritma?
1.Ambil kantong kentangdari rak
2.Ambil panci dari almari3.Kupas kentang4.Kembalikan kantong
kentang ke rak
Teks AlgoritmaHasil Pengamatan
1.Ibu Tati mengambilkantong kentang darirak
2.Ibu Tati mengambilpanci dari almari
3.Ibu Tati mengupaskentang
4.Ibu Tati mengembalikankantong kentang ke rak
![Page 11: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/11.jpg)
Hasil pengamatan lebih rumit• Misalnya sehabis mengambil panci ia memakai
celemek jika perlu, yaitu jika kebetulan iamemakai baju berwarna muda.
• Akan menyebabkan hasil pengamatan dapatberbeda.
• Bagaimana menuliskan teks algoritma yang samajika terdapat dua laporan pengamatan yangberbeda?– Perlu kondisi
![Page 12: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/12.jpg)
Aksi Mengupas Kentang [Kondisi]
• Aksi ke-3 dapat menanggani kedua laporan pengamatanyang berbeda.
1.Ambil kantong kentangdari rak
2.Ambil panci dari almari3.if baju berwarna muda
thenPakai celemek
4. Kupas kentang5.Kembalikan kantong ke
rak
Teks AlgoritmaHasil Pengamatan
1.Ambil kantong kentangdari rak
2.Ambil panci dari almari3.Lakukan persiapan,
tergantung pakaian4.Kupas kentang5.Kembalikan keranjang
kentang ke rak
![Page 13: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/13.jpg)
Penting!!!Ada dua hal yang penting:1. Pertama, pengamatan apakah baju si ibu
berwarna muda2. Kedua berdasarkan pengamatan tersebut aksi
“memakai celemek” bisa terjadi atau tidakberarti aksi tersebut kondisional
• Notasi untuk aksi kondisional dinyatakan olehkondisi dan aksi.
• Hasil dari pengamatan ini adalah keadaan benar(“true”) atau salah (“false”).
![Page 14: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/14.jpg)
Proses Pengulangan (1)• Aksi mengupas kentang
diatas merupakanproses untukmengerjakan sebuahsebuah kentang.
• Maka aksi primitif kitaadalah “kupas 1kentang”
• Bagaimana jika kitaingin mengupas 25kentang tiap hari?
1.Ambil kantong kentangdari rak
2.Ambil panci dari almari3.Lakukan persiapan,
tergantung pakaian4.Kupas 1 kentang
Kupas 1 kentangKupas 1 kentang...Kupas 1 kentang
5. Kembalikan keranjangkentang ke rak
1.Ambil kantong kentangdari rak
2.Ambil panci dari almari3.Lakukan persiapan,
tergantung pakaian4.Kupas 1 kentang
Kupas 1 kentangKupas 1 kentang...Kupas 1 kentang
5. Kembalikan keranjangkentang ke rak
25x
![Page 15: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/15.jpg)
Proses Pengulangan (2)• Ada yg lebih simple tidak?• Perlu notasi yang menjelaskan tentang suatu
proses pengulangan sampai keadaan kentangterkupas = 25, dan dituliskan:
while (kondisi) doAksiwhile (kondisi) doAksi
1.Ambil kantong kentang dari rak2.Ambil panci dari almari3.if baju berwarna muda then
• pakai celemek4.while jumlah kentang terkupas <=25 do
• Kupas 1 kentang5.Kembalikan kantong kentang ke rak
1.Ambil kantong kentang dari rak2.Ambil panci dari almari3.if baju berwarna muda then
• pakai celemek4.while jumlah kentang terkupas <=25 do
• Kupas 1 kentang5.Kembalikan kantong kentang ke rak
![Page 16: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/16.jpg)
Proses Pengulangan (3)• Tetapi, bagaimana jika kentang yang dikupas tidak
selalu sama?– Karena ketangnya kecil-kecil tidak selalu 25
• Perlu notasi yang menjelaskan tentang suatu prosespengulangan sampai dijumpai keadaan tertentu, dandituliskan:while (kondisi) do
Aksiwhile (kondisi) doAksi
1.Ambil kantong kentang dari rak2.Ambil panci dari almari3.if baju berwarna muda then
• pakai celemek4.while jumlah kentang terkupas belum cukup do
• Kupas 1 kentang5.Kembalikan kantong kentang ke rak
1.Ambil kantong kentang dari rak2.Ambil panci dari almari3.if baju berwarna muda then
• pakai celemek4.while jumlah kentang terkupas belum cukup do
• Kupas 1 kentang5.Kembalikan kantong kentang ke rak
![Page 17: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/17.jpg)
Kesimpulan• Algoritma dibangun dari aksi primitif dan
gabungan dari notasi standard.• Algoritma adalah teks yang tidak tergantung
waktu, konsepnya statik.• Realisasi kejadian dari algoritma, yaitu suatu
eksekusi yang dinamik, tergantung pada waktu,yang dijelaskan sebagai hasil dari pengamatan.
• Mesin adalah sebuah mekanisme yang dapatmenyebabkan suatu aksi terjadi mengikuti suatualgoritma.
![Page 18: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/18.jpg)
Tugas
![Page 19: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/19.jpg)
Referensi
• Inggriani Liem, IF-ITB, Diktat PemrogramanProsedural (2007)
![Page 20: Pengertian Dasar Konstruksi Pemrograman Proseduraldinus.ac.id/repository/docs/ajar/file_2013-09-19_11:21:07_Junta...– Aksi kejadian yang terjadi pada suatu selang waktu ... • Hasil](https://reader031.vdocuments.net/reader031/viewer/2022022805/5c9f5ef388c9933b2d8d5add/html5/thumbnails/20.jpg)
THANKS