Download - Pemrograman Dasar I P6

Transcript
  • PemrogramanPemrograman Dasar IDasar IPP66

    OlehOlehSigit WasistaSigit Wasista

    PENSPENS--ITSITS

  • MENGEMBANGKANMENGEMBANGKANFUNGSIFUNGSI--FUNGSI SENDIRIFUNGSI SENDIRI TUJUANTUJUAN:: MempelajariMempelajari

    pembuatan fungsipembuatan fungsi--fungsi diluarfungsi diluarfungsifungsi--fungsi yang ada, sertafungsi yang ada, sertamempelajari penggunaanmempelajari penggunaanmempelajari penggunaanmempelajari penggunaanvariable global, lokal,variable global, lokal,eksternal, otomatis, statis daneksternal, otomatis, statis danregister.register.

  • Black BoxBlack Box

    fs

  • Contoh fungsi standarContoh fungsi standar

    X=sqrt(16);X=sqrt(16); Y=pow(5,3);Y=pow(5,3);

  • fungsifungsi cetak_pesan()cetak_pesan()

    void cetak_pesan(void);void cetak_pesan(void);void main()void main(){{

    int i;int i;for(i=1; i

  • Fungsi hitung_triangular()Fungsi hitung_triangular()

    void hitung_triangular(int n)void hitung_triangular(int n){{

    int i, jumlah=0;int i, jumlah=0;for (i=1, i

  • Flowchart FPBFlowchart FPBstart

    U = ?V = ?

    U = V

    V = 0 Tampung = u % v

    U = VV = Tampung

    stop

    No

    Yes

  • Fungsi fpb()Fungsi fpb()voidvoid fpbfpb((intint,, intint););void main()void main(){{

    fpbfpb(150, 35);(150, 35);fpbfpb(1026, 405);(1026, 405);fpbfpb(83, 240);(83, 240);

    }}voidvoid fpbfpb((intint u,u, intint v)v){{

    intint tampungtampung;;printfprintf("FPB("FPB daridari %d%d dandan %d%d adalahadalah ", u, v);", u, v);while(v != 0) {while(v != 0) {

    tampungtampung = u % v;= u % v;u = v;u = v;v =v = tampungtampung;;

    }}printfprintf("%d("%d\\n", u);n", u);

    }}

  • return valuereturn value#include #include intint fpbfpb((intint,, intint););void main()void main(){{

    intint hasilhasil;;hasilhasil == fpbfpb(150, 35);(150, 35);printfprintf("FPB("FPB daridari 150150 dandan 3535 adalahadalah %d%d\\n",n", hasilhasil););hasilhasil == fpbfpb(1026, 405);(1026, 405);printfprintf("FPB("FPB daridari 10261026 dandan 405405 adalahadalah %d%d\\n",n", hasilhasil););printfprintf("FPB("FPB daridari 10261026 dandan 405405 adalahadalah %d%d\\n",n", hasilhasil););printfprintf("FPB("FPB daridari 8383 dandan 240240 adalahadalah %d%d\\n",n", fpbfpb(83, 240));(83, 240));

    }}intint fpbfpb((intint u,u, intint v)v){{

    intint tampungtampung;;while(v != 0) {while(v != 0) {

    tampungtampung = u % v;= u % v;u = v;u = v;v =v = tampungtampung;;}}return(u);return(u);

    }}

  • Fungsi minimum()Fungsi minimum()

    float minimum(float x, float y)float minimum(float x, float y){{

    if (x < y)if (x < y)return(x);return(x);

    elseelsereturn(y);return(y);

    }}void main()void main(){{

    float a, b;float a, b;printfprintf("("MasukkanMasukkan nilainilai a : ");a : "); scanfscanf("%f", &a);("%f", &a);printfprintf("("MasukkanMasukkan nilainilai b : ");b : "); scanfscanf("%f", &b);("%f", &b);printfprintf("("\\nBilangannBilangan terkecilterkecil antaraantara %g%g dandan %g%gadalahadalah ););printfprintf(%g(%g\\nn\\n", a, b, minimum(a, b));n", a, b, minimum(a, b));

    }}

  • #include #include #include #include float absolut(float x)float absolut(float x){{

    if (x < 0)if (x < 0)x =x = --x;x;

    return (x);return (x);}}float akar(float x)float akar(float x){{

    float epsilon = .00001;float epsilon = .00001;float guess = 1.0;float guess = 1.0; Fungsi memanggil fungsi

    if (x < 0) {if (x < 0) {printf("Argumen negatif!printf("Argumen negatif!\\n");n");return (return (--1.0);1.0);

    }}while (absolut(guess * guesswhile (absolut(guess * guess -- x) >= epsilon)x) >= epsilon)

    guess = (x / guess + guess) / 2.0;guess = (x / guess + guess) / 2.0;return (guess);return (guess);

    }}void main()void main(){{

    printf("akar (4.0) = %fprintf("akar (4.0) = %f\\n", akar(4.0));n", akar(4.0));printf("akar (625.0) = %fprintf("akar (625.0) = %f\\n", akar(625.0));n", akar(625.0));printf("akar (printf("akar (--39.5) = %f39.5) = %f\\n", akar(n", akar(--39.5));39.5));

    }}

  • Variabel Statis dan OtomatisVariabel Statis dan Otomatis

    void demo(void)void demo(void){{

    autoauto intint var_autovar_auto = 0;= 0;staticstatic intint var_staticvar_static = 0;= 0;printfprintf("auto = %d, static = %d("auto = %d, static = %d\\n",n", var_autovar_auto,,var_staticvar_static););++++var_autovar_auto;;++++var_autovar_auto;;++++var_staticvar_static;;

    }}main()main(){{

    intint ii=0;=0;while(while(ii < 3) {< 3) {

    demo();demo();ii++;++;

    }}}}

  • TugasTugas--TugasTugas

    Buatlah fungsiBuatlah fungsi kabisat()kabisat() yangyangakan memberikan nilai balik 1 bilaakan memberikan nilai balik 1 bilatahun adalah kabisat, dan 0 bilatahun adalah kabisat, dan 0 bilatahun bukan kabisat.tahun bukan kabisat.

    factorial()factorial() Buatlah fungsiBuatlah fungsi factorial()factorial() untukuntukmenghitung nilai factorial, Fungsimenghitung nilai factorial, Fungsifaktorial()faktorial() memberikan nilai balikmemberikan nilai balikbertipebertipe long intlong int yang akanyang akandicetak ke layar dalam fungsidicetak ke layar dalam fungsimain()main()..

  • TugasTugas--tugastugas

    Buatlah suatu fungsiBuatlah suatu fungsipermutasi()permutasi() dandan kombinasi()kombinasi()untuk menghitung permutasiuntuk menghitung permutasidan kombinasi dari suatudan kombinasi dari suatudan kombinasi dari suatudan kombinasi dari suatupasangan bilangan, yangpasangan bilangan, yangdinyatakan dengan formula:dinyatakan dengan formula:

    PermutasiPermutasi : Kombinasi: Kombinasi ::

    )!(!),(rn

    nrnP

    )!(!

    !),(rnr

    nrnC

  • TugasTugas--tugastugas

    Buatlah fungsiBuatlah fungsi floatfloat suhu(t, s, d)suhu(t, s, d), untuk, untukmengkonversikan suhu dari Celsius kemengkonversikan suhu dari Celsius keFahrenheit, Celsius ke Reamur, Fahrenheit keFahrenheit, Celsius ke Reamur, Fahrenheit keCelsius, Fahrenheit ke Reamur, Reamur keCelsius, Fahrenheit ke Reamur, Reamur keCelsius, dan Reamur ke Fahrenheit. DimanaCelsius, dan Reamur ke Fahrenheit. Dimana ttadalah temperatur,adalah temperatur, ss adalah suhu sumber,adalah suhu sumber, ddadalah suhu konversi, danadalah suhu konversi, dan suhu()suhu() adalah berisiadalah berisinilai balik dari konversi suhu.nilai balik dari konversi suhu.nilai balik dari konversi suhu.nilai balik dari konversi suhu.

    Contoh tampilan:Contoh tampilan:Masukkan suhu sumber =Masukkan suhu sumber = 100 C100 CMasukkan suhu tujuan =Masukkan suhu tujuan = RRHasil konversi suhu = 80 RHasil konversi suhu = 80 R

  • TugasTugas--tugastugas

    Buatlah fungsiBuatlah fungsi prima()prima(), yang, yangmemberikan nilai balik 1 bila bilanganmemberikan nilai balik 1 bila bilanganyang dimasukkan adalah prima, dan 0yang dimasukkan adalah prima, dan 0bila bukan bilangan prima.bila bukan bilangan prima.

    Buatlah program menggunakan duaBuatlah program menggunakan duavariablevariable, satu bertipe, satu bertipe registerregister dan lainnyadan lainnyavariablevariable, satu bertipe, satu bertipe registerregister dan lainnyadan lainnyabertipebertipe integerinteger, kemudian buatlah dua, kemudian buatlah duaperulangan menggunakan statementperulangan menggunakan statementfor()for(), untuk membandingkan waktu yang, untuk membandingkan waktu yangdiperlukan untuk masingdiperlukan untuk masing--masing tipemasing tipevariablevariable. Gunakan fungsi. Gunakan fungsi gettime()gettime() untukuntukmenghitung waktu yang diperlukan olehmenghitung waktu yang diperlukan olehmasingmasing--masing perulangan.masing perulangan.

  • Konversi SUHUKonversi SUHU

    double suhu(float t, char s, char d)double suhu(float t, char s, char d){{

    double k;double k;switch(s) {switch(s) {

    case 'C':case 'C':if(d=='R')if(d=='R')

    k=4./5.*t; break;k=4./5.*t; break;elseelse

    k=9./5.*t+32; break;k=9./5.*t+32; break;case 'R':case 'R':

    if(d=='C')if(d=='C')k=5./4.*t; break;k=5./4.*t; break;

    elseelse

    void main()void main(){{

    int t;int t;char s,d,yes='y';char s,d,yes='y';while(yes=='y') {while(yes=='y') {

    printf("Masukkan suhuprintf("Masukkan suhu(contoh: 100 C) = ");(contoh: 100 C) = ");scanf("%d %c",&t,&s);scanf("%d %c",&t,&s);

    printf("Masukkan satuanprintf("Masukkan satuantujuan (C, R, F) = ");tujuan (C, R, F) = ");elseelsek=9./4.*t+32; break;k=9./4.*t+32; break;

    case 'F':case 'F':if(d=='C')if(d=='C')

    k=5./9.*(tk=5./9.*(t--32); break;32); break;elseelse

    k=4./9.*(tk=4./9.*(t--32);32);}}return k;return k;

    }}

    tujuan (C, R, F) = ");tujuan (C, R, F) = ");scanf("%c",&d);scanf("%c",&d);scanf("%c",&d);scanf("%c",&d);printf("Hasil konversi suhuprintf("Hasil konversi suhu= %lf",suhu(t,s,d));= %lf",suhu(t,s,d));printf("printf("\\nCoba lagi? (y/n)nCoba lagi? (y/n)");");yes=getche();yes=getche();puts("puts("\\nn\\nn\\n");n");

    }}}}