Pertemuan I

advertisement
Pemrograman Prosedural
Dasar Pemrograman (DasPro)
Teknik Informatika S-1
UDINUS
PENDAHULUAN
Paradigma Pemrograman
• Paradigma Sudut Pandang
Sudut pandang tertentu yg diprioritaskan
terhadap kelompok problema, realitas,
keadaan, dsb
Paradigma Pemrograman
1.
2.
3.
4.
Paradigma Prosedural atau Imperatif
Paradigma Fungsional
Paradigma Deklaratif
Paradigma Berorientasi Object
Paradigma Pemrograman
1. Paradigma Prosedural atau Imperatif
• Didasari konsep mesin von Neumann (sekelompok
tempat penyimpanan / memori)
• Instruksi dieksekusi satu per satu secara
sekuensial oleh sebuah pemroses tunggal
• Efisiensi eksekusi karena dekat dengan mesin
Algoritma + Struktur Data = Program
Paradigma Pemrograman
2. Paradigma Fungsional
• Didasari oleh konsep pemetaan dan fungsi
matematika
• Dasar pemecahan persoalan = Transformasional
• Tidak mempermasalahkan memorisasi dan
struktur data
• Tidak ada pemilahan antara data & program
Paradigma Pemrograman
3. Paradigma Deklaratif, Prediktif atau Lojik
• Didasari oleh pendefinisian relasi antar individu
yang dinyatakan sebagai predikat
• Sebuah program lojik adalah kumpulan aksioma
(fakta dan aturan deduksi)
• Pemrogram menguraikan sekumpulan fakta dan
aturan-aturan (inference rules)
Paradigma Pemrograman
4. Paradigma Berorientasi Objek
• Didasari oleh objek (sebuah objek mempunyai
atribut dan perilaku)
• Objek satu dan lainnya dapat berkomunikasi
melalui pesan (message)
• Menawarkan konsep class, generic, inheritence,
polymorphism
Bahasa Pemrograman
• Setiap paradigma tersedia bahasa
pemrogramannya
• Contoh bahasa-bahasa pemrograman &
paradigmanya:
1.
2.
3.
4.
Prosedural: Algol, Pascal, Fortran, Basic, Cobol, C
Fungsional: LOGO, APL, LISP
Deklaratif/Lojik: Prolog
Object Oriented: Smalltalk, Eifel, Java, C++
Bahasa Pemrograman
• Dalam implementasi program, tersedia
pemrograman visual atau tesktual
• Ada dua kategori pemroses bahasa, yaitu
kompilator dan interpreter
Belajar Pemrograman vs Belajar Bahasa Pemrograman
Pemrograman
Bahasa Pemrograman
Fokus
Pembelajaran
Belajar tentang strategi
pemecahan masalah,
metodologi dan
sistematika pemecahan
masalah tsb
Belajar memakai suatu
bahasa, aturan sintaks
(tata bahasa), dan setiap
instruksi yang ada
Sifat
Lebih bersifat pemahaman Lebih bersifat ketrampilan
persoalan, analisis, sintesis daripada analisis dan
sintesa
Proses
Proses memprogram
memerlukan kepakaran
Proses koding lebih
merupakan proses semi
otomatik dgn aturan
pengkodean
Titik berat
Membentuk seorang
perancang “designer”
program
Membentuk seorang
“coder” juru kode
Belajar Pemrograman vs Belajar
Bahasa Pemrograman
• Pada prakteknya rancangan harus dapat
dikodekan untuk dieksekusi dengan mesin
• Program yang dihasilkan oleh seorang
pemrogram adalah: (program yang baik)
– program dengan rancangan yang baik
(metodologis, sistematis),
– berfungsi dengan benar,
– sanggup melayani segala kemungkinan masukan
– didukung oleh adanya dokumentasi
Program: Produk vs Proses
• Pandangan usang: yang terpenting dalam
sebuah pengembangan program adalah
produk
• PROSES YANG BAIK PASTI DAPAT MENJAMIN
KEHADIRAN SUATU PRODUK YANG BAIK
Program Skala Kecil vs Skala Besar
• Realita: perangkat lunak yang dibutuhkan
‘berukuran’ besar
• Pembangunan program skala besar tidak
sama dengan program skala kecil
– Tidaklah sama membangun gedung dengan
membangun rumah
Program Skala Kecil vs Skala Besar
• Sesuatu yang besar biasanya terdiri dari
komponen-komponen kecil
– Program yang besar dan ‘baik’ biasanya terdiri
dari banyak modul/komponen ‘kecil’ yang
dikerjakan banyak orang
• Dua kategori pemrogram:
– Penyedia modul/komponen
– Pemakai modul/komponen
Pemrogram Individu vs Tim
• Programmer ‘eksetrik’, suka menyendiri,
jenius, menghasilkan kode-kode ‘misterius ‘
yang hanya dipahami sendiri sudah berlalu
[Hoare-84]
• Skala program yang dibuat saat ini sudah jauh
lebih besar dari zaman dahulu
Pemrogram Individu vs Tim
• Pemrograman adalah sebuah orkestra yang
harus dipimpin seorang konduktor
– Membutuhkan kerjasama tim
– Mengikuti standar atau aturan main
DASAR PEMROGRAMAN
PROSEDURAL
Program Prosedural
• Program = Algortima + Struktur Data
• Pemrograman Prosedural
– Dihasilkan berdasarkan dekomposisi “aksional”,
menjadi Aksi yang akan dijalankan secara
berurutan
• Aksi adalah kejadian yang terjadi pada selang
waktu terbatas
Program Prosedural
• Aksi
– Jelas Initial state, Final state dan harus dalam
waktu terbatas
– Dapat didekomposisi menjadi sub aksi
• Aksi diterjemahkan menjadi sederetan
instruksi (aksi primitif) yang dapat dijalankan
mesin
• Ilustrasi mengupas kentang (diktat hal 17-25)
Aksi Mengupas Kentang (1)
Aksi Mengupas Kentang (2)
Download