Top Banner
PENGEMBANGAN PROGRAM TERSTRUKTUR Meriska Defriani, S.Komp
21

Pengembangan program terstruktur

Jan 01, 2016

Download

Documents

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pengembangan program terstruktur

PENGEMBANGAN PROGRAM

TERSTRUKTUR

Meriska Defriani, S.Komp

Page 2: Pengembangan program terstruktur

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

Page 3: Pengembangan program terstruktur

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

Page 4: Pengembangan program terstruktur

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

Page 5: Pengembangan program terstruktur

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

Page 6: Pengembangan program terstruktur

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

Page 7: Pengembangan program terstruktur

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

Page 8: Pengembangan program terstruktur
Page 9: Pengembangan program terstruktur

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)

Page 10: Pengembangan program terstruktur

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 :

Page 11: Pengembangan program terstruktur

Apa yang harus dilakukan

developer?

Page 12: Pengembangan program terstruktur

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

Page 13: Pengembangan program terstruktur

Rumus?

Page 14: Pengembangan program terstruktur

Algoritma

Masukkan nilai n Nilai i=0 dan j=0 Tampilkan “ * ” selama nilai i<n dan nilai

j<=i

Page 15: Pengembangan program terstruktur

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;

}

Page 16: Pengembangan program terstruktur

Uji Coba

OK ?

Page 17: Pengembangan program terstruktur

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;}

Page 18: Pengembangan program terstruktur

RUN & DOKUMENTASI

Page 19: Pengembangan program terstruktur

Buatlah sebuah kelompok yang terdiri dari 3-4 orang

Setiap kelompok adalah user yang ingin membuat suatu program sederhana dengan menggunakan bahasa pemrograman C

Page 20: Pengembangan program terstruktur

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

Page 21: Pengembangan program terstruktur

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