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/flowchart 
4. Penulisan instruksi/coding menggunakan bahasa 
pemrograman yang sesuai 
5. Uji coba dengan sebagian data dan perbaikan 
kesalahan (debuging) 
6. Menjalankan keseluruhan program untuk 
memproses seluruh data 
7. 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

PENGEMBANGAN PROGRAM TERSTRUKTUR

  • 1.
    PENGEMBANGAN PROGRAM TERSTRUKTUR Meriska Defriani, S.Komp
  • 2.
    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
  • 3.
    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
  • 4.
    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
  • 5.
     Pada tahun1960-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
  • 6.
     Untuk mengatasikrisis 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
  • 7.
     Pada 1980-andikembangkan 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
  • 9.
    Langkah-Langkah Pengembangan ProgramTerstruktur 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/flowchart 4. Penulisan instruksi/coding menggunakan bahasa pemrograman yang sesuai 5. Uji coba dengan sebagian data dan perbaikan kesalahan (debuging) 6. Menjalankan keseluruhan program untuk memproses seluruh data 7. Mendokumentasikan seluruh aktifitas (poin 1-6)
  • 10.
    Contoh  PerusahaanSinar Cahaya Terang Benderang ingin membuat suatu program untuk menampilkan gambar deretan bintang-bintang sesuai dengan nilai input seperti gambar di bawah ini :
  • 11.
    Apa yang harus dilakukan developer?
  • 12.
    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
  • 13.
  • 14.
    Algoritma  Masukkannilai n  Nilai i=0 dan j=0  Tampilkan “ * ” selama nilai i<n dan nilai j<=i
  • 15.
    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; }
  • 16.
  • 17.
    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; }
  • 18.
  • 19.
     Buatlah sebuahkelompok yang terdiri dari 3-4 orang  Setiap kelompok adalah user yang ingin membuat suatu program sederhana dengan menggunakan bahasa pemrograman C
  • 20.
     Setiap kelompokadalah 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
  • 21.
    Dokumentasi : Diketikdi 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