Pengembangan program terstruktur

21
PENGEMBANGAN PROGRAM TERSTRUKTUR Meriska Defriani, S.Komp

description

Pengembangan program terstruktur. Meriska Defriani, S.Komp. 3 Paradigma Pemrograman. 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 - PowerPoint PPT Presentation

Transcript of Pengembangan program terstruktur

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

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

1. Pendefinisian masalah hingga rinci dan dipahami agar pemecahaannya benar

2. Deskripsi metoda formal, mencari rumus-rumus bila ada dan bila diperlukan

3. Penyusunan algoritma/flowchart4. Penulisan instruksi/coding menggunakan bahasa

pemrograman yang sesuai5. Uji coba dengan sebagian data dan perbaikan

kesalahan (debuging)6. Menjalankan keseluruhan program untuk

memproses seluruh data7. 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 0 1 2 3 4

0 *

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