Senin, 19 Maret 2012

Mencari Persamaan Linear dengan Metode Least Square

Depok, 20 Maret 2012

Mencari persamaan linear merupakan salah satu hal yang cukup sulit apabila hanya diketahui data-data eksperimen berupa nilai X dan Y. Data-data tersebut haruslah diolah menjadi sebuah grafik sehingga diharapkan persamaan dapat diketahui. Ada berbagai macam persamaan, mulai dari persamaan linear, persamaan kuadrat, maupun persamaan polinomial.

Untuk kasus ini, mari kita belajar mencari persamaan apabila diketahui nilai X dan Y sehingga persamaan linear dapat diketahui.

Berikut adalah algoritma mencari persamaan linear apabila nilai X dan Y diketahui :

  1. Tentukan dan susun deretan nilai X dan Y yang diketahui
  2. Tentukan n ( berapa data) yang diketahui
  3. Hitunglah jumlah dari nilai x dan definisikan sebagai sum x
  4. Hitung jumlah dari nilai y dan definisikan sebagai sum y
  5. Lakukan perhitungan kuadrat dari nilai x sehingga setiap nilai x akan dikuadratkan menjadi x^2
  6. Hitung jumlah dari nilai x^2 sehingga dapat didefinisikan menjadi sum x^2
  7. Lakukan perkalian setiap nilai x dengan nilai y sehingga menjadi xy
  8. Hitung jumlah dari nilai xy sehingga dapat didefinisikan menjadi sum xy
  9. Persamaan umum dari persamaan linear adalah y = a1 x + a0
  10. Untuk mencari nilai a1 gunakan rumus sebagai berikut : a1 = ((n.sum xy)-(sum x . sum y)) / ((n . sum x^2)-(sum x)^2)
  11. Untuk mencari nilai a0 gunakan rumus : a0 = ((sum y . sum x^2)-(sum x . sum xy)) / (( n . sum x^2)-(sum x)^2)
  12. Apabila nilai a1 dan a0 sudah diketahui, maka persamaan linear dapat diketahui.
Berikut adalah program visual basicnya :
Buat User Form seperti dibawah ini :

Untuk nilai x1 sampai x7 dan y1 sampai y2 adalah pilih label, sementara untuk nilai yang akan dimasukkan inputnya adalah textbox.
Untuk perhitungan persamaan menggunakan commandbutton dan untuk menampilkan hasil sum_x, sum_y, sum_x_2, sum_x_y, nilai a1, dan a0 menggunakan label.

Kemudian tulis program pada commandbutton sebagai berikut :


Private Sub CommandButton1_Click()
'Ini adalah program untuk mencari persamaan linear

Dim X1, X2, X3, X4, X5, X6, X7, Y1, Y2, Y3, Y4, Y5, Y6, Y7 As Integer
Dim n, sum_x, sum_y, sum_x_2, sum_x_y As Integer


'Definisikan Variabel
X1 = arax1.Text
X2 = arax2.Text
X3 = arax3.Text
X4 = arax4.Text
X5 = arax5.Text
X6 = arax6.Text
X7 = arax7.Text
Y1 = aray1.Text
Y2 = aray2.Text
Y3 = aray3.Text
Y4 = aray4.Text
Y5 = aray5.Text
Y6 = aray6.Text
Y7 = aray7.Text
n = aran.Text

'tentukan nilai a0 dan a1

sum_x = Val(X1) + Val(X2) + Val(X3) + Val(X4) + Val(X5) + Val(X6) + Val(X7)
sum_y = Val(Y1) + Val(Y2) + Val(Y3) + Val(Y4) + Val(Y5) + Val(Y6) + Val(Y7)
sum_x_2 = X1 ^ 2 + X2 ^ 2 + X3 ^ 2 + X4 ^ 2 + X5 ^ 2 + X6 ^ 2 + X7 ^ 2
sum_x_y = ((X1 * Y1) + (X2 * Y2) + (X3 * Y3) + (X4 * Y4) + (X5 * Y5) + (X6 * Y6) + (X7 * Y7))

hasilsum_x.Caption = sum_x
hasilsum_y.Caption = sum_y
hasilsum_x_2.Caption = sum_x_2
hasilsum_x_y.Caption = sum_x_y


a0 = ((sum_y * sum_x_2) - (sum_x * sum_x_y)) / ((n * sum_x_2) - (sum_x ^ 2))
a1 = ((n * sum_x_y) - (sum_x * sum_y)) / ((n * sum_x_2) - (sum_x ^ 2))

hasila0.Caption = a0
hasila1.Caption = a1

End Sub

Untuk hasilnya adalah sebagai berikut :
Nilai x adalah 1, 2, 4, 5, 6, 8, 9
Nilai y adalah 2, 5, 7, 10, 12, 15, 19
Jumlah data adalah n = 7


Dari data di atas maka persamaan linear dapat dicari yaitu y = 1.98 x + 0.096

5 komentar:

  1. bang rantot, kalau misalnya pakai array kira-2 bisa ga ya? sehingga kita bisa memasukkan data sampai ke n, gitu, atau langsung baca datanya di excel?

    BalasHapus
  2. Oh iya bisa mas kalo pake array, jadi berapapun jumlah data eksperimen-nya, kita tingga tuliskan saja jumlah n berapa, menurut pemikiran saya bisa..Namun saya belum bisa kalau pake array mas, masih yang manual saja..Mungkin mas hasnan bisa dicoba buatkan pakai array??nanti kita bisa diskusi bareng..

    Salam hangat

    BalasHapus
  3. Penjelasan artikel lumayan detail..Semoga dengan membuat artikel tersebut teman-teman di luar sana bisa lebih giat lagi..

    BalasHapus
  4. super sekali..
    penjelasan yang sangat terperinci dan jelas sekali..
    semoga bermanfaat..

    BalasHapus
  5. Iya sama-sama ya bung Eko dan bung Enggar..Semoga dapat membantu..

    salam hangat..

    BalasHapus