Desain Top Down

41 %
59 %
Information about Desain Top Down
Technology

Published on October 24, 2008

Author: dimarahin

Source: slideshare.net

Pertemuan 3 Desain TOP DOWN T. Informatika, PT_3

Pemrograman Terstruktur? Pemrograman terstruktur, atau yang disebut juga pemrograman modular, menyelesaikan persoalan pemrograman dengan merancang modul-modul (prosedur-prosedur). Metode perancangan yang biasa digunakan dalam pemrograman terstruktur adalah perancangan secara top-down. T. Informatika, PT_3

Pemrograman terstruktur, atau yang disebut juga pemrograman modular, menyelesaikan persoalan pemrograman dengan merancang modul-modul (prosedur-prosedur).

Metode perancangan yang biasa digunakan dalam pemrograman terstruktur adalah perancangan secara top-down.

Perancangan Top-down dan Structure Chart Perancangan top-down adalah suatu metode perancangan algoritma yang dimulai dengan memecah masalah utama menjadi beberapa submasalah, dan jika perlu memecah lagi setiap submasalah menjadi beberapa sub-submasalah, dan seterusnya. Structure chart adalah cara pendokumentasian yang menunjukkan hubungan antara sub-submasalah dari masalah secara keseluruhan T. Informatika, PT_3

Perancangan top-down adalah suatu metode perancangan algoritma yang dimulai dengan memecah masalah utama menjadi beberapa submasalah, dan jika perlu memecah lagi setiap submasalah menjadi beberapa sub-submasalah, dan seterusnya.

Structure chart adalah cara pendokumentasian yang menunjukkan hubungan antara sub-submasalah dari masalah secara keseluruhan

Contoh Masalah : Ingin menggambar gambar orang seperti disamping Analisis : Dibutuhkan 4 komponen untuk menggambar orang, yaitu lingkaran (1), garis mendatar (1), garis berpotongan(2) T. Informatika, PT_3

Masalah :

Ingin menggambar

gambar orang

seperti disamping

Analisis :

Dibutuhkan 4 komponen untuk menggambar orang, yaitu lingkaran (1), garis mendatar (1), garis berpotongan(2)

Design/Perancangan top-down : Algoritma : Gambar lingkaran Gambar segitiga 2.1. Gambar garis berpotongan 2.2. Gambar garis mendatar Gambar garis berpotongan Structure Chart : Masalah Utama Submasalah Sub-submasalah T. Informatika, PT_3 Gambar Orang Gambar Lingkaran Gambar Segitiga Gambar Garis Berpotongan Gambar Garis Berpotongan Gambar Garis Mendatar

Design/Perancangan top-down :

Algoritma :

Gambar lingkaran

Gambar segitiga

2.1. Gambar garis berpotongan

2.2. Gambar garis mendatar

Gambar garis berpotongan

Structure Chart :

Masalah Utama

Submasalah

Sub-submasalah

Design Top-down vs Fungsi Hasil dari design top-down selanjutnya diimplementasikan dalam program bahasa C berupa fungsi-fungsi. Umumnya, satu fungsi untuk setiap satu sub masalah. T. Informatika, PT_3

Hasil dari design top-down selanjutnya diimplementasikan dalam program bahasa C berupa fungsi-fungsi.

Umumnya, satu fungsi untuk setiap satu sub masalah.

Contoh program #include <stdio.h> void draw_circle(void); void draw_intersect(void); void draw_base(void); void draw_triangle(void); int main(void) { draw_circle(); draw_triangle(); draw_intersect(); return(0); } void draw_circle(void) { printf(“ * ”); printf(“* * ”); printf(“ * * ”); } void draw_intersect(void) { printf(“ / ”); printf(“ / ”); printf(“ / ”); } void draw_base(void) { printf(“ _____ ”); } void draw_triangle(void) { draw_intersect(); draw_base(); } T. Informatika, PT_3

#include <stdio.h>

void draw_circle(void);

void draw_intersect(void);

void draw_base(void);

void draw_triangle(void);

int main(void)

{

draw_circle();

draw_triangle();

draw_intersect();

return(0);

}

void draw_circle(void)

{

printf(“ * ”);

printf(“* * ”);

printf(“ * * ”);

}

void draw_intersect(void)

{

printf(“ / ”);

printf(“ / ”);

printf(“ / ”);

}

void draw_base(void)

{

printf(“ _____ ”);

}

void draw_triangle(void)

{

draw_intersect();

draw_base();

}

Lebih jauh mengenai fungsi Sebelum bisa direfer, suatu fungsi harus dideklarasikan terlebih dahulu dengan cara menyisipkan ‘function prototype’ sebelum ‘main function’. ‘ Function prototype’ memberitahu compiler mengenai: tipe data dari fungsi nama fungsi argumen yang diperlukan fungsi Contoh : T. Informatika, PT_3 #include <stdio.h> void draw_circle(void); void draw_intersect(void); void draw_base(void); void draw_triangle(void); int main(void) :

Sebelum bisa direfer, suatu fungsi harus dideklarasikan terlebih dahulu dengan cara menyisipkan ‘function prototype’ sebelum ‘main function’.

‘ Function prototype’ memberitahu compiler mengenai:

tipe data dari fungsi

nama fungsi

argumen yang diperlukan fungsi

Contoh :

Selain menuliskan ‘Function prototype’, programer juga harus menuliskan ‘Function definition’, yang berisi spesifikasi mengenai operasi dari fungsi. Bentuk umum dari ‘Function definition’: Tipe_fungsi Nama_fungsi (daftar format parameter) { Deklarasi variabel lokal Executable statements } Contoh: T. Informatika, PT_3 void draw_circle(void) { printf(“ * ”); printf(“* * ”); printf(“ * * ”); }

Selain menuliskan ‘Function prototype’, programer juga harus menuliskan ‘Function definition’, yang berisi spesifikasi mengenai operasi dari fungsi.

Bentuk umum dari ‘Function definition’:

Tipe_fungsi Nama_fungsi (daftar format parameter)

{

Deklarasi variabel lokal

Executable statements

}

Contoh:

void draw_circle(void)

{

printf(“ * ”);

printf(“* * ”);

printf(“ * * ”);

}

Argumen input adalah argumen yang digunakan untuk memberi informasi kepada fungsi. Argumen output adalah argumen yang digunakan untuk mengembalikan hasil dari pemanggilan fungsi. Jumlah argumen pada saat pemanggilan fungsi harus sama dengan jumlah parameter dalam ‘function prototype’. Argumen pertama dikatikan dengan parameter pertama, argumen kedua dikaitkan dengan parameter kedua, dan seterusnya. Tipe data dari argumen dan parameter harus sama. T. Informatika, PT_3

Argumen input adalah argumen yang digunakan untuk memberi informasi kepada fungsi.

Argumen output adalah argumen yang digunakan untuk mengembalikan hasil dari pemanggilan fungsi.

Jumlah argumen pada saat pemanggilan fungsi harus sama dengan jumlah parameter dalam ‘function prototype’.

Argumen pertama dikatikan dengan parameter pertama, argumen kedua dikaitkan dengan parameter kedua, dan seterusnya.

Tipe data dari argumen dan parameter harus sama.

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut: Fungsi tanpa hasil dan tanpa argumen Fungsi tanpa hasil dengan satu argumen input Fungsi satu hasil dengan satu argumen input Fungsi satu hasil dengan dua argumen input dll T. Informatika, PT_3

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut:

Fungsi tanpa hasil dan tanpa argumen

Fungsi tanpa hasil dengan satu argumen input

Fungsi satu hasil dengan satu argumen input

Fungsi satu hasil dengan dua argumen input

dll

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut: Fungsi tanpa hasil dan tanpa argumen Fungsi tanpa hasil dengan satu argumen input Fungsi satu hasil dengan satu argumen input Fungsi satu hasil dengan dua argumen input dll T. Informatika, PT_3 void draw_circle(void) { printf(“ * ”); printf(“* * ”); printf(“ * * ”); } : : draw_circle(); :

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut:

Fungsi tanpa hasil dan tanpa argumen

Fungsi tanpa hasil dengan satu argumen input

Fungsi satu hasil dengan satu argumen input

Fungsi satu hasil dengan dua argumen input

dll

void draw_circle(void)

{

printf(“ * ”);

printf(“* * ”);

printf(“ * * ”);

}

:

:

draw_circle();

:

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut: Fungsi tanpa hasil dan tanpa argumen Fungsi tanpa hasil dengan satu argumen input Fungsi satu hasil dengan satu argumen input Fungsi satu hasil dengan dua argumen input dll T. Informatika, PT_3 void kotak_berangka(double angka) { printf(“********** ”); printf(“* * ”); printf(“* %6.2f * ”, angka); printf(“* * ”); printf(“********** ”); } : : kotak_berangka(135.68);

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut:

Fungsi tanpa hasil dan tanpa argumen

Fungsi tanpa hasil dengan satu argumen input

Fungsi satu hasil dengan satu argumen input

Fungsi satu hasil dengan dua argumen input

dll

void kotak_berangka(double angka)

{

printf(“********** ”);

printf(“* * ”);

printf(“* %6.2f * ”, angka);

printf(“* * ”);

printf(“********** ”);

}

:

:

kotak_berangka(135.68);

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut: Fungsi tanpa hasil dan tanpa argumen Fungsi tanpa hasil dengan satu argumen input Fungsi satu hasil dengan satu argumen input Fungsi satu hasil dengan dua argumen input dll T. Informatika, PT_3 double hitung_keliling(double r) { return(2.0 * 3.14 * r) } : : jejari= 10.0; keliling= hitung_keliling(jejari);

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut:

Fungsi tanpa hasil dan tanpa argumen

Fungsi tanpa hasil dengan satu argumen input

Fungsi satu hasil dengan satu argumen input

Fungsi satu hasil dengan dua argumen input

dll

double hitung_keliling(double r)

{

return(2.0 * 3.14 * r)

}

:

:

jejari= 10.0;

keliling= hitung_keliling(jejari);

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut: Fungsi tanpa hasil dan tanpa argumen Fungsi tanpa hasil dengan satu argumen input Fungsi satu hasil dengan satu argumen input Fungsi satu hasil dengan dua argumen input dll T. Informatika, PT_3 double scaling(double x, int n) { double faktor_skala; faktor_skala = pow(10,n); return(x * faktor_skala); } : : s=scaling(2.5,2); :

Berdasarkan jumlah argumen dan tipe fungsi, terdapat bermacam-macam fungsi sebagi berikut:

Fungsi tanpa hasil dan tanpa argumen

Fungsi tanpa hasil dengan satu argumen input

Fungsi satu hasil dengan satu argumen input

Fungsi satu hasil dengan dua argumen input

dll

double scaling(double x, int n)

{

double faktor_skala;

faktor_skala = pow(10,n);

return(x * faktor_skala);

}

:

:

s=scaling(2.5,2);

:

Keuntungan pengimplementasian fungsi (untuk setiap satu sub masalah) : Procedural abstraction Teknik pemrograman dimana ‘main function’-nya terdiri dari serangkaian pemanggilan fungsi dan setiap fungsi diimplementasikan secara terpisah. Reuse of function subprograms T. Informatika, PT_3

Keuntungan pengimplementasian fungsi (untuk setiap satu sub masalah) :

Procedural abstraction

Teknik pemrograman dimana ‘main function’-nya terdiri dari serangkaian pemanggilan fungsi dan setiap fungsi diimplementasikan secara terpisah.

Reuse of function subprograms

Pustaka fungsi Selain programer bisa menuliskan fungsinya sendiri, programer juga bisa memanggil fungsi yang sudah disediakan oleh C. Fungsi-fungsi tersebut tersimpan dalam pustaka. T. Informatika, PT_3 Contoh fungsi yang terdapat dalam pustaka math.h double ceil(double x) double cos(double x) double exp(double x) double fabs(double x) double floor(double x) double log(double x) double log10(double x) double pow(double x, double y) double sin(double x) double sqrt(double x)

Selain programer bisa menuliskan fungsinya sendiri, programer juga bisa memanggil fungsi yang sudah disediakan oleh C. Fungsi-fungsi tersebut tersimpan dalam pustaka.

TUGAS (kumpulkan pada pertemuan berikutnya) : menghitung akar persamaan kuadrat berikut: Tentukan : Algoritmanya Structure chart Implementasikan dalam program T. Informatika, PT_3

TUGAS (kumpulkan pada pertemuan berikutnya) :

menghitung akar persamaan kuadrat berikut:

Tentukan :

Algoritmanya

Structure chart

Implementasikan dalam program

Referensi Bab 3, “Top Down with Functions”, Problem Solving and Program Design in C , Jeri R. Hanly dan Elliot B. Koffman, Addison Wesley, 2002 T. Informatika, PT_3

Bab 3, “Top Down with Functions”, Problem Solving and Program Design in C , Jeri R. Hanly dan Elliot B. Koffman, Addison Wesley, 2002

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Top-Down- und Bottom-Up-Design – Wikipedia

Top-Down (engl. von oben nach unten) und Bottom-Up (engl. von unten nach oben) sind Ansätze zur Programmentwicklung in der Softwaretechnik. Im Top-Down ...
Read more

Top-Down Design - Inspiring Innovation

Topics Top-Down Design Top-Down Design Examples The Function Concept Reading Sections 3.9, 3.10 Top-Down Design If we look at a problem as a whole, it may ...
Read more

Top-down und Bottom-up – Wikipedia

Top-down geht vom Abstrakten, Allgemeinen, Übergeordneten schrittweise hin zum Konkreten, ... (genauere Informationen unter Top-Down- und Bottom-Up-Design).
Read more

Top-down and bottom-up design - Wikipedia, the free ...

Top-down and bottom-up are both strategies of information processing and knowledge ordering, used in a variety of fields including software, humanistic and ...
Read more

Top Down Design - Washington State University

Top Down Design. Program design is the development of an algorithm to solve a problem. Algorithms are, as you know, a set of steps to solve a problem in a ...
Read more

Top-Down and Bottom-Up Design > ENGINEERING.com

Which Method Should I Use? To decide which design method will work best for your project consider the following: 1. Will your Product Concept Design cycle ...
Read more

Top-Down Design Tutorials

Top-Down Design Tutorials. Top-Down Design is a methodology that starts at the highest level of a design concept and proceeds towards the lowest level.
Read more

Top-down design | Define Top-down design at Dictionary.com

Top-down design definition at Dictionary.com, a free online dictionary with pronunciation, synonyms and translation. Look it up now!
Read more

2012 SOLIDWORKS Hilfe - Top-down-Konstruktion - Übersicht

Top-down-Konstruktion - Übersicht. In der Top-down-Baugruppenkonstruktion werden ein oder mehrere Features eines Teils durch ein Bestandteil einer ...
Read more

Top-Down, Definition im Projektmanagement-Glossar des ...

Top-Down "Top-down" (in etwa: "von oben nach unten") bedeutet im Management entweder "vom Allgemeinen zum Detail" oder "vom Vorstand an die Mitarbeiter".
Read more