Your SlideShare is downloading. ×
Desain Top Down
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Desain Top Down

3,283
views

Published on

Published in: Technology, Business

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,283
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
87
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Pertemuan 3 Desain TOP DOWN T. Informatika, PT_3
  • 2. 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
  • 3. 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
  • 4. 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
  • 5.
    • 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
  • 6. 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
  • 7. 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
  • 8. 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) :
  • 9.
    • 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(“ * * ”);
    • }
  • 10.
    • 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
  • 11.
    • 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
  • 12.
    • 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();
    • :
  • 13.
    • 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);
  • 14.
    • 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);
  • 15.
    • 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);
    • :
  • 16.
    • 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
  • 17. 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)
  • 18.
    • TUGAS (kumpulkan pada pertemuan berikutnya) :
    • menghitung akar persamaan kuadrat berikut:
    • Tentukan :
    • Algoritmanya
    • Structure chart
    • Implementasikan dalam program
    T. Informatika, PT_3
  • 19. 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