Pertemuan 3 Dasar Pemrograman Komputer

19
LOGO Pertemuan 3 Dasar Pemrograman Komputer Perancangan Top-down Menggunakan Fungsi 1

Transcript of Pertemuan 3 Dasar Pemrograman Komputer

Page 1: Pertemuan 3 Dasar Pemrograman Komputer

LOGO

Pertemuan 3Dasar Pemrograman Komputer

Perancangan Top-down Menggunakan Fungsi

1

Page 2: Pertemuan 3 Dasar Pemrograman Komputer

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.

2

Page 3: Pertemuan 3 Dasar Pemrograman Komputer

Perancangan 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 sub-submasalah, dan seterusnya.

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

3

Page 4: Pertemuan 3 Dasar Pemrograman Komputer

ContohMasalah :

Ingin menggambar gambar orang seperti disamping

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

4

Page 5: Pertemuan 3 Dasar Pemrograman Komputer

Design/Perancangan top-down :Algoritme :

1. Gambar lingkaran2. Gambar segitiga

2.1. Gambar garis berpotongan2.2. Gambar garis mendatar

3. Gambar garis berpotongan

Structure Chart :

Masalah Utama

Submasalah

Sub-submasalah

5

Gambar Orang

Gambar Lingkaran Gambar Segitiga Gambar Garis Berpotongan

Gambar Garis Berpotongan Gambar Garis Mendatar

Page 6: Pertemuan 3 Dasar Pemrograman Komputer

Design Top-down vs FungsiHasil dari design top-down selanjutnya

diimplementasikan dalam program bahasa C berupa fungsi-fungsi.

Umumnya, satu fungsi untuk setiap satu sub masalah.

6

Page 7: Pertemuan 3 Dasar Pemrograman Komputer

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(“ * \n”);printf(“* *\n”);printf(“ * *\n”);

}

void draw_intersect(void){

printf(“ /\\ \n”);printf(“ / \\ \n”);printf(“ / \\ \n”);

}void draw_base(void){

printf(“ _____ \n”);}void draw_triangle(void){

draw_intersect();draw_base();

}

7

Page 8: Pertemuan 3 Dasar Pemrograman Komputer

Lebih jauh mengenai fungsi (1) 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 :

8

#include <stdio.h>void draw_circle(void);void draw_intersect(void);void draw_base(void);void draw_triangle(void);int main(void)

:

Page 9: Pertemuan 3 Dasar Pemrograman Komputer

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 lokalExecutable statements

} Contoh:

9

void draw_circle(void){

printf(“ * \n”);printf(“* *\n”);printf(“ * *\n”);

}

Lebih jauh mengenai fungsi (2)

Page 10: Pertemuan 3 Dasar Pemrograman Komputer

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.

10

Lebih jauh mengenai fungsi (3)

Page 11: Pertemuan 3 Dasar Pemrograman Komputer

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

11

Macam-macam Fungsi

Page 12: Pertemuan 3 Dasar Pemrograman Komputer

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

12

void draw_circle(void){

printf(“ * \n”);printf(“* *\n”);printf(“ * *\n”);

}::draw_circle();:

Macam-macam Fungsi

Page 13: Pertemuan 3 Dasar Pemrograman Komputer

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

13

void kotak_berangka(double angka){

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

}::kotak_berangka(135.68);

Macam-macam Fungsi

Page 14: Pertemuan 3 Dasar Pemrograman Komputer

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

14

double hitung_keliling(double r){

return(2.0 * 3.14 * r)}::jejari= 10.0;keliling= hitung_keliling(jejari);

Macam-macam Fungsi

Page 15: Pertemuan 3 Dasar Pemrograman Komputer

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

15

double scaling(double x, int n){

double faktor_skala;faktor_skala =

pow(10,n); return(x * faktor_skala);

}::s=scaling(2.5,2);:

Macam-macam Fungsi

Page 16: Pertemuan 3 Dasar Pemrograman Komputer

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

16

Keuntungan Implementasi Fungsi

Page 17: Pertemuan 3 Dasar Pemrograman Komputer

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(double x)

double log10(double x) double pow(double x, double y)

double sin(double x) double sqrt(double x)

17

Page 18: Pertemuan 3 Dasar Pemrograman Komputer

1. Tulis fungsi untuk menghitung akar persamaan kuadrat berikut:

2. Perhatikan segitiga berikut :

Seandainya b, c dan α diketahui, maka panjang sisi ??? bisa dihitung dengan rumus :

Tulis fungsi untuk menghitung sisi ???.

αcos_2???0

222

2

bccbcbxax

−+=

=++

02 =++ cbxax

18

b

c

???

α

αcos_2??? 222 bccb −+=

Page 19: Pertemuan 3 Dasar Pemrograman Komputer

Referensi

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

19