pemrograman komputer - gadjah mada universityluk.staff.ugm.ac.id/komputer/polinomial.pdfevaluasi...

17
Pemrograman Komputer oleh Djoko Luknanto Departemen Teknik Sipil dan Lingkungan Fakultas Teknik Universitas Gadjah Mada

Upload: others

Post on 29-Jan-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

  • Pemrograman KomputerolehDjoko LuknantoDepartemen Teknik Sipil dan LingkunganFakultas Teknik Universitas Gadjah Mada

  • Evaluasi Polinomial

    Bentuk umum

    Contoh:

    20 1 2

    0

    ( ) ...n

    i nn i n

    i

    p x a x a a x a x a x

    20 1 2

    0

    (2) 2 2 ... 2n

    i nn i n

    i

    p a x a a a a

    2

    2 ( ) 6 5p x x x 2

    2 (2) 6 5(2) (2) 6 10 4 20p

    Secara numeris evaluasi di atas tidak efisien!

    10/21/2020 [email protected] 2

  • Evaluasi Polinomial Efisien

    Bentuk umum

    diubah menjadi (cara Horner):

    20 1 2

    0

    ( ) ...n

    i nn i n

    i

    p x a x a a x a x a x

    terdapat pola berulang

    10/21/2020 [email protected] 3

    0 1 2 1( ) ( ( ... ( )...))n n np x a x a x a x a a x

    1n na x a

    bentuk akhir menjadi:

    1 2 1 0( ) ((...( ) ) ... )n n n np x a x a x a x a x a

  • Evaluasi Polinomial EfisienContoh n = 4

    Dalam pemrograman bentuk umum

    algoritmanya menjadi:1. P = A(n)2. For i = n-1 to 0

    P = P*X+A(i)Next i

    10/21/2020 [email protected] 4

    1 2 1 0( ) ((...( ) ) ... )n n n np x a x a x a x a x a

    4 4 3 2 1 0( ) ((( ) ) )p x a x a x a x a x a

    Algoritmanya sangat sederhana dan langsungAlgoritmanya sangat sederhana dan langsung

  • Evaluasi Polinomial Cara Biasa

    10/21/2020 [email protected] 5

    1 2 11 2 3

    0 1( ) ...

    n mi j m

    n i j mi j

    p x a x a x a a x a x a x

    Indeks polinomial disesuaikan

    penambahan

    perkalian perpangkatan

  • Evaluasi Polinomial Cara Horner

    10/21/2020 [email protected] 6

    Bentuk akhir cara Horner

    penambahan

    perkalian

    1 2 2 1( ) ((...( ) ) ... )m m m mp x a x a x a x a x a

    tanpa perpangkatan

  • VBA-Excel: Cara Evaluasi Polinomial

    10/21/2020 [email protected] 7

    Menggunakan Macro

    Cara Biasa Cara Horner

    Koefisien polynomial Range ($B$3:$K$3) sebagai input kedua

    X sebagai input pertama

    Hasil hitungan Cara Biasa dan Cara Horner identik,namun dari sisi efisiensi Cara Horner lebih bagus!

  • Syntax: For...Next Loop

    For counter = start To end [ Step step ] [ statements ] [ Exit For ] [ statements ] Next [ counter ]

    10/21/2020 [email protected] 8

    Perhatikan konvensi penulisan dalam manual Bahasa

    Pemrograman VBA

    Penjelasan dalam […] boleh tidak ada!

  • The For...Next statement syntax has these parts:Part Descriptioncounter Required. Numeric variable used as a loop

    counter. The variable can't be a Boolean or an array element.

    start Required. Initial value of counter.end Required. Final value of counter.step Optional. Amount counter is changed each

    time through the loop. If not specified, step defaults to one.

    statements Optional. One or more statements between For and Next that are executed the specified number of times.

    10/21/2020 [email protected] 9

  • MENGGUNAKAN VBA-EXCEL INDEX UNTUK AKSES VARIABEL RANGE

    olehDjoko LuknantoDepartemen Teknik Sipil dan LingkunganFakultas Teknik Universitas Gadjah Mada

    10/21/2020 [email protected] 10

  • Index pada variable Range A($C$4:$L$13)

    10/21/2020 [email protected] 11

    Index A(1,1) selalu mengacu kepada sel pertama dari Range, dalam hal ini $C$4

    Jumlah kolom jJu

    mla

    h ba

    ris

    Jumlah baris (i) harus dihitung sebelumnya

    Jumlah kolom (j) harus dihitung sebelumnya

    Dalam menggunakan index untuk Range, perlu diperhatikan: (1) Sel pertama yang diacu, (2) jumlah baris dan kolom. Di luar Kawasan Range masih dapat diacu, namun nilainya berisi “sampah” yang mungkin tidak mempunyai arti.

  • Index pada variable Range Nilai($C$4:$L$13)

    10/21/2020 [email protected] 12

    Index Nilai (1,1) selalu mengacu kepada sel pertama dari Range,

    dalam hal ini $C$4

    Jumlah baris (i) harus dihitung sebelumnya

    Jumlah kolom (j) harus dihitung sebelumnya

    Dalam menggunakan index untuk Range, perlu diperhatikan: (1) Sel pertama yang diacu, (2) jumlah baris dan kolom. Di luar Kawasan Range masih dapat diacu, namun nilainya berisi “sampah” yang mungkin tidak mempunyai arti.

    $C$4

  • Index pada variable Range Nilai($H$5:$L$13)

    10/21/2020 [email protected] 13

    Index Nilai (1,1) selalu mengacu kepada sel pertama dari Range,

    dalam hal ini $H$5

    Jumlah baris (i) harus dihitung sebelumnya

    Jumlah kolom (j) harus dihitung sebelumnya

    $H$5

    Hasil yang valid hanya dalam kawasan ini (sesuai ukuran data),

    yang lainnya sampah!

  • Index pada variable Range Nilai($E$4:$L$13)

    10/21/2020 [email protected] 14

    Index Nilai (1,1) selalu mengacu kepada sel pertama dari Range,

    dalam hal ini $E$4

    Jumlah kolom (j) harus dihitung sebelumnya

    Jumlah baris (i) harus dihitung sebelumnya

    $E$4

    Hasil yang valid hanya dalam kawasan ini (sesuai ukuran data),

    yang lainnya sampah!

  • BEBERAPA JENIS VBA-EXCEL DO LOOP

    olehDjoko LuknantoDepartemen Teknik Sipil dan LingkunganFakultas Teknik Universitas Gadjah Mada

    10/21/2020 [email protected] 15

  • Do...Loop statement (1/2)Syntax Do [{ While | Until } condition ]

    [ statements ][ Exit Do ][ statements ]Loop

    Or, you can use this syntax: Do

    [ statements ][ Exit Do ][ statements ]Loop [{ While | Until } condition ]

    10/21/2020 [email protected] 16

    While | Until di depan

    While | Until di belakang

  • Do...Loop statement (2/2)

    10/21/2020 [email protected] 17

    While | Until di depan

    While | Until di belakang