. . . . . . . dst
.
4 ........... n
Buat flowchart dan program C untuk menentukan luas masing2 cincin tsb
jl
Model Matematika :
jd
LL = 3.14 * Jl * Jl
jl
LC = LL - LD
LD = 3.14 * Jd * Jd
jd
FLOWCHART Program LUAS CINCIN dengan 1 fungsi yaitu fungsi main() CONTOH 5.1 :
START
phi = 3.14
Input N
i = 1 ; i <= N ; i++
Input jl,jd
LL = 3.14 *jl * jl LD = 3.14*jd * jd LC = LL - LD
atau
Cetak LC
END
#include<stdio.h> #include<conio.h>
Program LUAS CINCIN dengan 1 fungsi yaitu funsi main() CONTOH 5.1 :
main() {
int N,i; float jl,jd,LL,LD,LC ;
phi = 3.14
printf("\n\n\t\t\tLUAS CINCIN"); printf("\n\t\t\t=============="); printf("\n\t\t\tOleh:SI GONDOL"); printf("\n\n* Banyaknya Cincin : ");scanf("%d",&N); for(i=1;i<=N;i++) { printf("\n* Entry data Cicin ke %d : ", i); printf("\n\tJari-jari luar : ");scanf("%f",&jl); printf("\tJari-jari dalam : ");scanf("%f",&jd); LL= 3.14 * jl * jl ; LL = phi *jl * jl LD= 3.14 * jd * jd ; LL = phi *jd * jd LC=LL - LD ; printf("\t==> Luas Cicin ke %d = %8.1f cm2\n",i,LC); getch(); } }
FLOWCHART Program LUAS CINCIN dengan 2 fungsi ( yaitu fungsi main() dan fungsi Luas() )
START
Luas ( r )
Input n
i = 1 ; i <= n ; i++
Input n
i = 1 ; i <= n ; i++ Input jl,jd LC = Luas( jl ) Luas( jd )
Input jl,jd
LL = phi *jl * jl LL = phi *jd * jd LC =LL - LD
Cetak LC
END Flowchart hitung luas n cincin dengan 1 fungsi (fungsi main() )
Cetak LC
END
Flowchart hitung luas n cincin dengan 2 fungsi (fungsi main() dan fungsi Luas() )
Input n
i = 1 ; i <= n ; i++
Input jl,jd
LC = Luas( jl ) Luas( jd )
return (L)
Cetak LC
END
- Proses input jari-jari (luar jl/dalam jd) di fungsi main(),kemudian dikirim ke fungsi Luas(),yaitu pada saat fungsi main() memanggil fungsi Luas() : - Luas(jl) : fungsi main() memanggil fungsi Luas() atau keluar dari fungsi main() ke fungsi Luas() sambil membawa/mengirim var jl - Luas(jd) : fungsi main() memanggil fungsi Luas() atau keluar dari fungsi main() ke fungsi Luas() sambil membawa/mengirim var jd Jd data yang dikirim dari fungsi main() ke fungsi Luas() adalah jl,jd dan nilai balik fungsi Luas() adalah L Jadi fungsi Luas()menerima data dari fungsi main() dan mengirim balik nilai fungsinya ke fungsi main() - Proses menentukan luas lingkaran(luar/dalam) di fungsi Luas(), sedangkan proses menentukan luas cincin(LC) di fungsi main(), yaitu dengan cara : memanggil fungsi Luas(jl) dan memanggil fungsi Luas(jd), kemudian keduanya dikurangkan dan hasilnya disimpan di var LC LC = Luas(jl)- Luas(jd) - Proses cetak luas cincin di fungsi main() : cetak LC , sedangkan luas lingkaran(luar/dalam) tidak dicetak
#include<stdio.h> #include<conio.h>
Bila diinginkan fungsi Luas() dipindah ke sini(agar lebih jelas), tekan sembarang tombol
float Luas( ); main() { int N,i; float jl,jd,LC; printf("\n\n\t\t LUAS CINCIN"); printf("\n\t\t=============="); printf("\n\t\tOleh:SI GONDOL"); printf("\n\n\n* Banyaknya Cincin : ");scanf("%d",&N); for(i=1;i<=N;i++) { printf("\n* Entry data Cicin ke %d : ", i); printf("\n\tJari-jari luar : ");scanf("%f",&jl); printf("\tJari-jari dalam : ");scanf("%f",&jd); LC = Luas(jl) - Luas(jd); printf("\t==> Luas Cicin ke %d = %8.1f cm2\n",i,LC); } } float Luas(r)
#include<stdio.h> CONTOH 5.1 versi-1b : #include<conio.h> float Luas( float r ); main() { int N,i; float jl,jd,LC;
printf("\n\n\t\t LUAS CINCIN"); printf("\n\t\t=============="); printf("\n\t\tOleh:SI GONDOL"); printf("\n\n\n* Banyaknya Cincin : ");scanf("%d",&N); for(i=1;i<=N;i++) { printf("\n* Entry data Cicin ke %d : ", i); printf("\n\tJari-jari luar : ");scanf("%f",&jl); printf("\tJari-jari dalam : ");scanf("%f",&jd); LC = Luas(jl) - Luas(jd); printf("\t==> Luas Cicin ke %d = %8.1f cm2\n",i,LC); } }
START
Input n
i = 1 ; i <= n ; i++
Input jl,jd
LC = Luas( jl ) Luas( jd )
Ctk Luas(jl),Luas(jd),LC
- Proses cetak luas cincin, cetak luas lingkaran(luar/dalam) semua dilakukan di fungsi main(), yaitu : cetak LC untuk cetak luas cincin cetak Luas(jl) untuk cetak luas lingkaran luar cetak Luas(jd) untuk cetak luas lingkaran dalam
END Luas ( r )
FUNGSI Luas() MENERIMA /MENGIRIM BALIK DATA DARI/KE FUNGSI PEMANGGIL - Proses input jari-jari lingkaran(luar jl/dalam jd) di fungsi main(), nilai CONTOH 5.1 versi-3 : jari-jari tsb tertransfer ke fungsi Luas() pd saat fungsi main() memang gil fungsi Luas() : START - Luas(jl) : memanggil fungsi Luas() atau keluar dari fungsi main() ke fungsi Luas() sambil membawa/mengirim var jl. Input n - Luas(jd) : memanggil fungsi Luas() atau keluar dari fungsi main() ke fungsi Luas() sambil membawa/mengirim var jd. i = 1 ; i <= n ; i++ - Proses menentukan luas cincin(LC) di fungsi main(), yaitu dg cara : - menentukan Luas lingkaran luar dulu(LL) : Input jl,jd LL = Luas(jl) : memanggil fungsi Luas() atau keluar dari fungsi LL = Luas(jl) main() ke fungsi Luas() sambil membawa/mengi LD= Luas(jd) rim var jl. Kemudian nilai balik dari fungsi Luas()disimpan ke var LL LC = LL LD - menentukan Luas lingkaran dalam(LD) : LD = Luas(jd) : memanggil fungsi Luas() atau keluar dari fungsi Cetak LL, LD, LC main() ke fungsi Luas() sambil membawa/mengi rim var jd. Kemudian nilai balik dari fungsi END Luas()disimpan ke var LD kemudian keduanya dikurangkan dan hasilnya disimpan ke var LC LC = LL - LD Luas (r ) - Proses cetak luas lingkaran(luar/dlm) dan luas cincin di fungsi main(): cetak LL : cetak nilai LL sbg luas lingkaran luar, tanpa hrs phi = 3.14 memanggil fungsi Luas() lagi cetak LD : cetak nilai LD sbg luas lingkaran dalam,tanpa hrs L = phi * r * r memanggil fungsi Luas() lagi return ( L) cetak LC : mencetak luas cincinc
Input n
i = 1 ; i <= n ; i++ Input jl,jd
LC = Luas( jl ) Luas( jd )
Cetak LC
END
Luas ( r )
Cetak L
return (L )
- Proses input jari-jari lingkaran(luar jl/dalam jd) di fungsi main(), nilai jari-jari tsb tertransfer ke fungsi Luas() pd saat fungsi main() memanggil fungsi Luas() : - Luas(jl) : memanggil fungsi Luas() atau keluar dari fungsi main() ke fungsi Luas() sambil mem bawa/mengirim var jl - Luas(jd) : memanggil fungsi Luas() atau keluar dari fungsi main() ke fungsi Luas() sambil mem bawa/mengirim var jd Data yang dikirim dari fungsi main() ke fungsi Luas() adalah jl,jd dan nilai balik fungsi Luas() adalah L Jadi fungsi Luas()menerima data dari fungsi main() dan mengirim balik nilai fungsinya ke fungsi main() - Proses menentukan luas lingkaran(luar/dalam) di fungsi Luas(), sedangkan proses menentukan luas cincin(LC) di fungsi main(), yaitu dengan cara : - memanggil fungsi Luas(jl)dan memanggil fungsi Luas(jd) kemudian nilai balik keduanya dikurangkan dan hasil nya disimpan di var LC LC = Luas(jl) - Luas(jd) - Proses cetak luas cincin di fungsi main() cetak LC - Proses cetak luas lingkaran(luar/dalam di fungsi Luas(),yaitu : cetak L: Bila r diisi jari-jari lingkaran luar mk yg dicetak luas lingkaran luar. Bila r diisi jari-jari lingkaran dalam mk yang dicetak luas lingkaran dalam
FUNGSI Luas() TIDAK MENERIMA DATA DR FUNGSI PEMANGGIL TETAPI MENGIRIM NILAI BALIK FUNGSINYA KE FUNGSSI PEMANGGIL
START
CONTOH 5.1 versi-5 :
jl
jd r
Input n
i = 1 ; i <= n ; i++ LC = Luas( ) Luas( )
Input r
L = phi * r * r return ( L)
- Proses input jari-jari (luar/dalam yaitu r) di fungsi Luas() Jadi fungsi Luas() tidak menerima data dari fungsi main(), tapi mengirim balik nilai fungsinya ke fungsi main() , yaitu L - Proses menentukan luas cincin(LC) di fungsi main(), yaitu dengan cara : - memanggil fungsi Luas() , dimana r masukkan jari-jari luar - memanggil fungsi Luas(), dimana r masukkan jari-jari dalam kemudian keduanya dikurangkan dan hasilnya disimpan di LC LC= Luas(jl)- Luas(jd) - Proses cetak luas cincin di fungsi main() : cetak LC - Proses mencetak luas lingkaran(luar/dalam) di fungsi Luas() : cetak Luas(): mencetak luas lingkaran luar,bila r=jari-jari luar cetakLuas():mencetak luas lingkaran dalam,bila r=jari-jari dalam
FUNGSI Luas() TIDAK MENERIMA DATA DR FUNGSI PEMANGGIL TETAPI MENGIRIM NILAI BALIK FUNGSINYA KE FUNGSI PEMANGGIL
START CONTOH 5.1 versi-6 :
jl jd r
Input n
i = 1 ; i <= n ; i++
END
Input r
L = phi * r * r return ( L)
- Proses input jari-jari (luar/dalam yaitu r) di fungsi Luas() Jadi fungsi Luas() tidak menerima data dari fungsi main(), tapi mengirim balik nilai fungsinya ke fungsi main() , yaitu L - Proses menentukan luas cincin(LC) di fungsi main(), yaitu dengan cara : - memanggil fungsi Luas() , dimana r masukkan jari-jari luar kemudian nilai baliknya dimasukkan ke var LLLL = Luas() - memanggil fungsi Luas(), dimana r masukkan jari-jari dalam kemudian nilai baliknya dimasukkan ke var LDLD = Luas() kemudian keduanya dikurangkan dan hasilnya disimpan ke var LC LC = LL - LD - Proses cetak luas lingkaran(luar/dlm) dan luas cincin di fungsi main(): cetak LL : cetak nilai LL sbg luas lingkaran luar, tanpa hrs me memanggil fungsi Luas() lagi cetak LD : cetak nilai LD sbg luas lingkaran dalam,tanpa hrs memanggil fungsi Luas() lagi cetak LC : mencetak luas cincin
FUNGSI Luas() TIDAK MENERIMA DATA DR FUNGSI PEMANGGIL TETAPI MENGIRIM NILAI BALIK FUNGSINYA KE FUNGSI PEMANGGIL
START
CONTOH 5.1 versi-7 :
jl
Input n
jd
i = 1 ; i <= n ; i++ LC = Luas( ) Luas( )
Cetak LC
END
Input r
L = phi * r * r
cetak L
return ( L)
- Proses input jari-jari (luar/dalam yaitu r) di fungsi Luas() Jadi fungsi Luas() tidak menerima data dari fungsi main(), tapi mengirim balik nilai fungsinya ke fungsi main() ,yaitu L - Proses menentukan dan mencetak luas lingkaran(luar/dalam) di fungsi Luas() - Proses menentukan luas cincin(LC) di fungsi main(), yaitu dengan cara : - memanggil fungsi Luas() , dimana r masukkan jari-jari luar - memanggil fungsi Luas(), dimana r masukkan jari-jari dalam kemudian keduanya dikurangkan dan hasilnya disimpan di LC LC= Luas(jl)- Luas(jd) - Proses cetak luas cincin di fungsi main() : cetak LC - Proses cetak luas lingkaran(luar/dalam di fungsi Luas(),yaitu : cetak L: Bila r diisi jari-jari lingkaran luar mk cetak luas lingkaran luar. Bila r diisi jari-jari lingkar an dalam mk cetak luas lingkaran dalam
INISIALISASI FUNGSI
CONTOH 5.1 versi-1 :
Luas ( r )
START
START
Input n
i = 1 ; i <= n ; i++
Input jl,jd
LC = Luas( jl ) Luas( jd )
Input jl,jd
LC = Luas( jl ) Luas( jd )
START
Cetak LC
END
Cetak LC
Luas(r) = 3.14 * r * r
END
Input n
i = 1 ; i <= n ; i++
Input jl,jd
LC = Luas( jl ) Luas( jd )
Cetak LC
END CONTOH 5.1 versi-8 :
#include<stdio.h>
START printf("\n\n\t\t LUAS CINCIN"); printf("\n\t\t=============="); Luas(r) = 3.14 * r * r printf("\n\t\tOleh:SI GONDOL"); printf("\n\n\n* Banyaknya Cincin : ");scanf("%d",&N); Input n for(i=1;i<=N;i++) i = 1 ; i <= n ; i++ { Input jl,jd printf("\n* Entry data Cicin ke %d : ", i); printf("\n\tJari-jari luar : ");scanf("%f",&jl); LC = Luas( jl ) Luas( jd ) printf("\tJari-jari dalam : ");scanf("%f",&jd); Cetak LC LC = Luas(jl) - Luas(jd); printf("\t==> Luas Cicin ke %d = %8.1f cm2\n",i,LC); } END
#include<stdio.h>
printf("\n\n\t\t LUAS CINCIN"); printf("\n\t\t=============="); printf("\n\t\tOleh:SI GONDOL"); printf("\n\n\n* Banyaknya Cincin : ");scanf("%d",&N); for(i=1;i<=N;i++) { printf("\n* Entry data Cicin ke %d : ", i); printf("\n\tJari-jari luar : ");scanf("%f",&jl); printf("\tJari-jari dalam : ");scanf("%f",&jd); LC = Luas(jl) - Luas(jd); printf("\t==> Luas Cicin ke %d = %8.1f cm2\n",i,LC); } }