PEMROGRAMAN TERSTRUKTUR Perancangan Topdown Menggunakan Fungsi Pemrograman Terstruktur

  • Slides: 18
Download presentation
PEMROGRAMAN TERSTRUKTUR Perancangan Top-down Menggunakan Fungsi

PEMROGRAMAN TERSTRUKTUR Perancangan Top-down Menggunakan Fungsi

Pemrograman Terstruktur? • Pemrograman terstruktur, atau yang disebut juga pemrograman modular, menyelesaikan persoalan pemrograman

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.

Top-down dan Structure Chart • Perancangan top-down adalah suatu metode perancangan algoritme yang dimulai

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

Contoh • Masalah : Ingin menggambar orang seperti disamping • Analisis : Dibutuhkan 4

Contoh • Masalah : Ingin menggambar orang seperti disamping • Analisis : Dibutuhkan 4 komponen untuk menggambar orang, yaitu lingkaran (1), garis mendatar (1), garis berpotongan(2)

Design/Perancangan top-down • Algoritme : 1. Gambar lingkaran 2. Gambar segitiga 2. 1. Gambar

Design/Perancangan top-down • Algoritme : 1. Gambar lingkaran 2. Gambar segitiga 2. 1. Gambar garis berpotongan 2. 2. Gambar garis mendatar 3. Gambar garis berpotongan • Structure Chart : Gambar Orang Gambar Lingkaran Gambar Segitiga Gambar Garis Berpotongan Masalah Utama Gambar Garis Berpotongan Gambar Garis Mendatar Submasalah Sub-submasalah

Design Top-down -> Fungsi • Hasil dari design top-down selanjutnya diimplementasikan dalam program bahasa

Design Top-down -> Fungsi • 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 <iostream> #include <conio> void lingkaran(void); void setengah_segitiga(void); void garis_lurus(void); void segitiga(void);

Contoh Program #include <iostream> #include <conio> void lingkaran(void); void setengah_segitiga(void); void garis_lurus(void); void segitiga(void); int main(void) { lingkaran(); segitiga(); setengah_segitiga(); getch(); return(0); } void lingkaran(void) { cout<<" * n"; cout<<"* *n"; cout<<" * *n"; } void setengah_segitiga(void) { cout<<" /\ n"; cout<<" / \ n"; } void garis_lurus(void) { cout<<" ____ n"; } void segitiga(void) { setengah_segitiga(); garis_lurus(); }

Advanced Function • Sebelum bisa direfer, suatu fungsi harus dideklarasikan terlebih dahulu dengan cara

Advanced Function • 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 : #include <iostream> #include <conio> void lingkaran(void); void setengah_segitiga(void); void garis_lurus(void); void segitiga(void); int main(void). . .

Advanced Function • Selain menuliskan ‘Function prototype’, programer juga harus menuliskan ‘Function definition’, yang

Advanced Function • 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 lingkaran(void) { cout<<" * n"; cout<<"* *n"; cout<<" * *n"; }

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

Advanced Function • 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 dua argumen input

Fungsi tanpa hasil dan tanpa argumen void lingkaran(void) { cout<<" * n"; cout<<"* *n";

Fungsi tanpa hasil dan tanpa argumen void lingkaran(void) { cout<<" * n"; cout<<"* *n"; cout<<" * *n"; } : : lingkaran(); :

Fungsi tanpa hasil dengan satu argumen input void kotak_berangka(double angka) { cout<<"*****n"; cout<<"* *n";

Fungsi tanpa hasil dengan satu argumen input void kotak_berangka(double angka) { cout<<"*****n"; cout<<"* *n"; cout<<“*”<<angka<<“ *n”); cout<<"* *n"; cout<<"*****n"; }. . . kotak_berangka(135. 68);

Fungsi satu hasil dengan satu argumen input double hitung_keliling(double r) { return(2. 0 *

Fungsi satu hasil dengan satu argumen input double hitung_keliling(double r) { return(2. 0 * 3. 14 * r) }. . . jejari= 10. 0; keliling= hitung_keliling(jejari);

Fungsi satu hasil dengan dua argumen input double scaling(double x, int n) { double

Fungsi satu hasil dengan dua argumen input double scaling(double x, int n) { double faktor_skala; faktor_skala = pow(10, n); return(x * faktor_skala); }. . . s=scaling(2. 5, 2); . . .

Keuntungan Fungsi • Keuntungan pengimplementasian fungsi (untuk setiap satu sub masalah) : • Procedural

Keuntungan Fungsi • 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

Pustaka fungsi • Selain programer bisa menuliskan fungsinya sendiri, programer juga bisa memanggil fungsi yang sudah disediakan oleh C. Fungsi-fungsi tersebut tersimpan dalam pustaka. 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 10(double x) double pow(double x, double y) double sin(double x) double sqrt(double x)

TUGAS 1. Tulis fungsi untuk menghitung akar persamaan kuadrat berikut: 2. Perhatikan segitiga berikut

TUGAS 1. Tulis fungsi untuk menghitung akar persamaan kuadrat berikut: 2. Perhatikan segitiga berikut : ? ? ? b c Seandainya b, c dan diketahui, maka panjang sisi ? ? ? bisa dihitung dengan rumus : Tulis fungsi untuk menghitung sisi ? ? ? . • Tugas dikirim dalam bentuk laporan dokumen, disertai printscreen program & coding. Anda cukup memilih salah satu dari kedua soal diatas, point soal 2 lebih tinggi dari soal 1. dikirim paling lambat 8 Maret 2011 ke anamichii@live. com, format : tugas_1_fungsi_kelas_nim

Daftar Pustaka • Bab 3, “Top Down with Functions”, Problem Solving and Program Design

Daftar Pustaka • Bab 3, “Top Down with Functions”, Problem Solving and Program Design in C, Jeri R. Hanly dan Elliot B. Koffman, Addison Wesley, 2002 • http: //www. its. ac. id/