Pengembangan program terstruktur Meriska Defriani, S.Komp
3 Paradigma Pemrograman Imperative / Algorithmic Paradigm Program merupakan sebuah runtutan instruksi/perintah Komputer melakukan sederetan langkah-langkah dimana setiap langkah terjadi perubahan isi dan status sebagian memori Bahasa pemrograman : machine code, assembly, FORTRAN, COBOL, ALGOL, Pascal, Basic, C, C++, Java,etc
Declarative Paradigm Program berisi deklarasi/pernyataan fungsi dan/atau fakta Terbagi menjadi 2 subparadigma : functional/applicative dan logic programming Bahasa subparadigma aplikatif : Haskell, LISP, Miranda, Logo, dan APL Bahasa subparadigma logika : PROLOG
Object-Oriented Paradigm Setiap objek yang ada dalam program merupakan sebuah entitas yang merepresentasikan status dan arti Bahasa pemrograman : Smalltalk, Simula, C++, Oberon, dan Java
Pada tahun 1960-1970 terjadi software crisis yang disebabkan pemecahan masalah yang semakin rumit sehingga : Penjadwalan dan estimasi biaya sering tidak akurat Produktivitas program rendah Kualitas perangkat lunak yang tidak baik
Untuk mengatasi krisis tersebut dikembangkan 2 metoda, yaitu : Portability meminimalisasi machine dependency Peningkatan program correctness Structured Programming Menghasilkan program yang readability dan mantainability Hanya menggunakan sequences, conditions, dan repetitions, tanpa perintah jump atau goto Modular Programming Mencacah program menjadi modul-modul yang bertingkat sesuai hirarki Information Hiding Melengkapi modular programming Modul di desain agar informasi yang ada pada suatu modul tidak tampak oleh modul yang lain
Dua dekade selanjutnya dikembangkan 3 teknik baru, yaitu: Pada 1980-an dikembangkan teknik object orientation dan functional programming Dua dekade selanjutnya dikembangkan 3 teknik baru, yaitu: Parallel programming algoritma didekomposisi menjadi banyak task yang kemudian dikerjaan oleh banyak prosesor secara simultan Genetic programming untuk memproses hasil proses parse tree, contoh : LISP Bio-computing penggunaan komputer dalam riset biologi
Langkah-Langkah Pengembangan Program Terstruktur Pendefinisian masalah hingga rinci dan dipahami agar pemecahaannya benar Deskripsi metoda formal, mencari rumus-rumus bila ada dan bila diperlukan Penyusunan algoritma/flowchart Penulisan instruksi/coding menggunakan bahasa pemrograman yang sesuai Uji coba dengan sebagian data dan perbaikan kesalahan (debuging) Menjalankan keseluruhan program untuk memproses seluruh data Mendokumentasikan seluruh aktifitas (poin 1-6)
Contoh Perusahaan Sinar Cahaya Terang Benderang ingin membuat suatu program untuk menampilkan gambar deretan bintang-bintang sesuai dengan nilai input seperti gambar di bawah ini :
Apa yang harus dilakukan developer?
Mendeskripsikan masalah Menampilkan gambar bintang-bintang Misal input : 5, maka hasilnya : i/j 1 2 3 4 * Pada saat nilai (i,j) sebesar : (0,0) (1,0) (1,1) (2,0) (2,1) (2,2) (3,0) (3,1) (3,2) (3,3) (4,0) (4,1) (4,2) (4,3) (4,4) Komputer akan menampilkan “ * ” Jadi, “ * “ akan dicetak sebanyak mulai nilai i=0 sampai i<n dan mulai nilai j=0 sampai j<=i
Rumus?
Algoritma Masukkan nilai n Nilai i=0 dan j=0 Tampilkan “ * ” selama nilai i<n dan nilai j<=i
Coding #include <stdio.h> #include <conio.h> main(){ int i,j,n; printf("Masukkan sebuah nilai bilangan bulat : "); scanf("%d", &n); for(i=0; i<n; i++){ for(j=0; j<i; j++){ printf("* "); } printf("\n"); } getch(); return 0; }
Uji Coba OK ?
Debugging #include <stdio.h> #include <conio.h> main(){ int i,j,n; printf("Masukkan sebuah nilai bilangan bulat : "); scanf("%d", &n); for(i=0; i<n; i++){ for(j=0; j<=i; j++){ printf("* "); } printf("\n"); } getch(); return 0; }
RUN & DOKUMENTASI
Buatlah sebuah kelompok yang terdiri dari 3-4 orang Setiap kelompok adalah user yang ingin membuat suatu program sederhana dengan menggunakan bahasa pemrograman C
Setiap kelompok adalah pihak developer yang akan membangun sebuah program yang sesuai dengan permintaan user Pihak developer wajib membuat program dengan langkah-langkah untuk mengembangkan program secara terstruktur yang telah diberikan Pihak developer memiliki waktu 2 minggu
Dokumentasi : Diketik di kertas A4 Cover : Judul program dan nama kelompok 1. Deskripsi Masalah : Dijelaskan secara detail apa permintaan user, input, dan output 2. Rumus : Jika ada 3. Algoritma program : flowchart 4. Coding : Dicantumkan sourcecode-nya, menggunakan bahasa dan software apa 5. Uji Coba : Dijelaskan berapa kali perbaikan, bagianmana yang diperbaiki, letak kesulitannya dimana, screenshoot hasilnya 6. Keberhasilan program : berhasil/tidaknya program, screenshoot hasil