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 Program dihasilkan dari proses pemahaman permasalahan, analisis, sintesis, dan dituangkan menjadi kode dalam bahasa komputer secara sistematis dan metodologis
Paradigma Pemrograman 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 ini mengikuti cara kerja mesin komputer, jadi secara eksekusi lebih efisien
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 Transformasional => semua perilaku program adalah suatu rantai transformasi dari sebuah keadaan awal menuju ke suatu keadaan akhir, yg mungkin melalui keadaan antara
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: 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 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 persoalan, analisis, sintesis Lebih bersifat ketrampilan 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)