210 likes | 436 Views
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
E N D
Pengembangan program terstruktur Meriska Defriani, S.Komp
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 • 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 :
Mendeskripsikan masalah • Menampilkan gambar bintang-bintang • Misal input : 5, maka hasilnya : 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
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; }
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