Anda di halaman 1dari 25

eferensi : [XLS-SVY-01]: Prediksi Pasut dengan VBA Excel

Platform : Excel
Lokasi File : download rev-2
download rev-3

Pada post [XLS-SVY-01]: Prediksi Pasut dengan VBA Excel telah dijelaskan teori perhitungan
pasang surut metode least square dengan vba excel.

Kali ini akan diuraikan tahapan pengisian pada form excel yang sudah ada program macro (vba)
untuk perhitungan prediksi pasang surut (Tidal Prediction)

1. Jalankan file Excel, kemudian set security level ke ‘medium’.


Untuk excel 2003, click menu ‘Tool2’>>’Macro’>>’Security’
Pilih Security ‘Medium’. Untuk excel yang lain silahkan di cari di menu help atau bisa dicari lewat om g
2. download rev-2 (excel 2003) formnya, kemudian extract zip filenya
3. Setelah buka file hasil download tersebut. Saat ada konfirmasi macro, click ‘Enable Macros’
4. Dalam form tersebut sudah ada contoh data hasil pengamatan pasang surut selama 29 hari (1-29 Maret 2
bacaan pada peil scale (rambu ukur) pasang surut tiap 1 jam
Bacaan rambu ukur, dimasukkan dalam satuan meter.
Data ini bisa diganti jumlah harinya, asalkan interval pengamatan adalah 1 (satu) jam

Bagian-bagian dari form perhitungan atau prediksi pasut:


Urutan pengisian adalah:

1. Isikan informasi lokasi pengamatan, jenis alat yang dipakai dan unit pengukuran di area nomer 1
2. Area Nomer 2 :
-Masukkan di cell [B10] tanggal awal pengamatan.
-Isikan bacaan pengamatan rambu ukur tiap jam di [C10:Z10] dari jam 0:00 sampai jam 23:00
-Isikan pengamatan di tanggal berikutnya di hari ke-2 sampai hari ke-29 sehingga didapat data pengamat
hari x 24 bacaan/hari = 696 bacaan
3. Tekan Ctr+r sehingga muncul:

[$C$10:$Z$38]: Data pengamatan pasang surut


[$G$67:$G$75]: Periode untuk masing-masing 9 konstituent.
kemudian click ‘OK’
4. Hasil perhitungan di Area nomer 4:

5. Grafik di Area nomer 5 akan terbentuk secara otomatis. Grafik ini terdiri dari 4 Series yaitu:
1. Posisi Mean Sea Level
2. Actual Pengamatan Pasang Surut
3. Prediksi Pasang Surut berdasarkan rumus harmonic dengan 9 parameters (9 konstituent)
4. Grafik beda elevasi antar hasil hitungan (prediksi) dan actual
6. Tabel di area nomer 6:

Update 15 November 2012:

Untuk memfasilitasi pengunjung yang menginginkan hitungan untuk data pengamatan 15hari,
silahkan di download rev-2.

Cara penggunaannya sama dengan sebelumnya, hanya saja yang membedakan adalah pilihan
blok data pasutnya menjadi [$C$10:$Z$24]. Dengan cara yang sama pula silahkan dicoba jika
datanya lebih dari 29 hari.

Mohon tanggapannya jika ada error atau salah hitung

Update 1 September 2012:

Revisi terbaru (download rev-3) menggunakan macro di excel 2007. Pada versi ini data input dan
output dimasukkan dalam sheet yang berbeda.

Sheet [Input] hanya berisi informasi data pengukuran elevasi dan informasi pendukung lainnya
seperti lokasi pengamatan.
Sheet [Calculation] ada tambahan tombol [Calculate] untuk memulai menghitung setelah data
dimasukkan secara lengkap di sheet [Input]

Tampilan grafik dirubah sedikit dengan menampilkan label Mean Sea Level (MSL) dan label deviasi
antara harga perhitungan dan pengamatan yang mempunyai deviasi terbesar.
==selamat mencoba==

Comments (141)
March 25, 2013
[XLS-SVY-20]: Tulisan Tentang Aplikasi Excel-Solver Untuk Hitung Kuadrat Terkecil
Filed under: Excel, Tukang Ukur — Tags: adjustment, Least Square, perataan, solver — cadex @
11:31
Referensi : [XLS-SVY-17]: Solver untuk Aplikasi Hitung Kuadrat Terkecil Metode Kondisi
Platform : Excel 2007
Lokasi File :

Pada tulisan [XLS-SVY-17]: Solver untuk Aplikasi Hitung Kuadrat Terkecil Metode Kondisi telah
diuraikan cara menggunakan excel-solver untuk perataan hasil ukuran levelling, triangulasi,
trilaterasi dan traverse (poligon). Catatan tersebut kemudian saya coba tulis dalam bahasa inggris
kemudian saya coba share ke forum http://landsurveyorsunited.com walaupun bahasa inggris
saya kurang bagus, tetapi yang penting kalo nggak dicoba, kapan lagi? Silahkan download filenya
dalam format PDF. Mohon bagi pembaca yang pinter bahasa inggris untuk mengoreksinya.

Ada perubahan kecil di solver model levelling, triangulasi & trilaterasi dibandingkan dengan posting
terdahulu. Khusus untuk poligon ada perubahan cukup mendasar yaitu dengan ditambahkan nilai
konversi dari detik ke radian. Konversi ini diperlukan karena dalam pengukuran poligon ada dua
unit yaitu unit jarak dalam satuan meter dan satuan sudut dalam satuan detik/derajat.

Silahkan download solver model terbaru untuk pengukuran levelling, triangulasi, trilaterasi dan
traverse (poligon).

saya tunggu comments dan masukkannya.

Leave a Comment
August 14, 2012
[XLS-SVY-17]: Solver Untuk Aplikasi Hitung Kuadrat Terkecil Metode Kondisi
Filed under: Excel, Tukang Ukur — Tags: adjustment observation only, Least Square, solver —
cadex @ 12:15
Referensi : Mikhail, Edward M Ph.D and Gordon Grace, Ph.D. “Analysis and Adjustment of
Survey Measurement”. Van Nostrand Reinhold Ltd, 1981
Platform : Excel 2007
Lokasi File :

Metode perataan hitung kuadrat terkecil di bidang survey measurement yang saya ketahui sampai
saat ini adalah

 Metode Paramater (least square adjustment of indirect observations)


 Metode Kondisi (least square adjustment of observation only)
 Metode kombinasi (general least square adjustment)

Contoh aplikasi hitung kuadrat terkecil dengan metode paramater ada di post [XLS-SVY-12]: Add-
Ins Excel untuk Hitung Kuadrat Terkecil (HKT) dan [XLS-SVY-01]: Prediksi Pasut dengan VBA
Excel. Pada kedua posting tersebut penyelesain perataan atau adjusment menggunakan bantuan
bahasa pemograman visual basic application for excel (vba excel)

Kali ini akan diuraikan cara menggunakan solver untuk penyelesaian perataan metode kombinasi
tanpa menggunakan vba excel.

A. Dasar Teori

Semua metode perhitungan kwadrat terkecil atau least square adjustment menggunakan dasar
“kwadrat dari koreksi pengukuran harus minimum”. Misalnya kita melakukan pengukuran jarak
antar dua titik sebanyak 3 (tiga) kali l1, l2 dan l3 sedangkan jarak sebenarnya kedua titik tersebut
adalah la. Karena pengukuran l1, l2 dan l3 mengandung kesalahan maka ada koreksi untuk
masing-masing pengukuran misal v1, v2 dan v3. Persamaan antara 3 (tiga) pengukuran tersebut
dengan koreksinya terhadap la adalah:

 (l1+v1)=la
 (l2+v2)=la
 (l3+v3)=la

koreksi v1, v2 dan v3 bisa bernilai positif atau negatif.

Pengukuran yang dilaksanakan dengan benar akan menghasilkan nilai koreksi yang kecil untuk
v1, v2 dan v3. Karena nilai koreksi ada yang positif dan negatif, untuk pengukuran yang benar,
nilai v12 + v22 + v32 akan minimum. Atau dalam bentuk umum

jika ada bobot ukuran (w) persamaan di atas menjadi:

(Ref: Mikhail, Edward M Ph.D and Gordon Grace, Ph.D. “Analysis and Adjustment of Survey
Measurement”. Van Nostrand Reinhold Ltd, 1981)

B. Aplikasi di jaring pengukuran beda tinggi.

B.1. Skets Pengukuran dan data pengukuran


B.2. Menentukan nilai redundancy (pengukuran lebih)

Banyaknya pengukuran (n)= 6


Pengukuran minimum (u) = 3
* hanya dibutuhkan minimum 3 pengukuran untuk menentukan titik B, C dan D (lihat lingkaran merah)
Redundancy (r=n-u)=3
Jumlan persamaan kondisi sesuai dengan nilai r atau 3 persamaan.

B.3. Memodelkan solver dan membuat persamaan kondisi.


[D37] =1/E21 Copy [D37] sampai ke [D42]
[G37] =F37^2*D37 Copy [G37] sampai ke [G42]
[I37] =C37+F37 Copy [I37] sampai ke [I42]
[G44] =SUM(G37:G42)
[F48] =obs_1+v_1-obs_3-v_3+obs_2+v_2
[F49] =obs_2+v_2+obs_4+v_4-obs_5-v_5
[F50] =obs_3+v_3+obs_6+v_6-obs_5-v_5

obs_1, obs_2,….,obs_6 dan v_1, v_2,…..,v_6 adalah ‘defined name’. Cara membuat define name
untuk obs_1, obs_2,….,obs_6 adalah :

 Pilih range [B37:C42]


 Pada Menu [Formula] pada group [Define Names], pilih [Create from Selection]


 Pilih atau check [Create names from values in the : Left column]


Lakukan langkah yang sama untuk v_1, v_2,…..,v_6

B.4. Setting parameter solver dan menjalankannya.

Sebelum solver dijalankan nilai di range F48:F50 tidak sama dengan 0 atau tidak sama dengan
nilai di range F48:F50. Solver akan menghitung atau meng-iterasi nilai koreksi di range F37:F42
sehingga didapat nilai Sum(V2W) atau minimum dan nilai F48:F50=F48:F50.

Langkah-langkah setting di solver adalah:

 Pada Menu [Data] pada group [Analysis], pilih [Solver]


 Lakukan setting parameter sebagai berikut:

[$G$44] Jumlah kuadrat koreksi dicari yang paling minimum Sum(V2W)


[$F$37:$F$42] Nilai koreksi untuk masing-masing pengukuran
[$F$48:$F$50=$G$48:$G$50] Persamaan kondisi

Hasil setelah solver dijalankan adalah :


B.5. Uji statistik

Pengukuran yang ideal tanpa kesalahan akan menghasilkan nilai Sum(V2W)=0. Kondisi ini
biasanya sangat sulit untuk dipenuhi karena setiap pengukuran pasti mengandung koreksi atau
kesalahan. Uji statistik diperlukan untuk mentolerir seberapa besar kesalahan yang diperpolehkan.
Biasanya yang dipakai adalah uji Chi kuadrat untuk confidence interval 95%

[F53] =G44
[F54] =CHIINV(0.05 / 2, E32)
[F55] =IF(F53 < F54, “Pass at the 5% significant level”, “Fail at the 5% significant level”)

silahkan download filenya, untuk dipelajari lebih lanjut.

C. Aplikasi di jaring pengukuran poligon.

C.1. Sket Pengukuran dan Data Pengukuran


Ada dua loop yaitu:
Loop#1: 2-3-4-5
Loop#2: 2-21-22-23-24-5

Data Pengukuran

Sudut: Jarak:

C.2. Menentukan Redudancy (pengukuran lebih) atau jumlah persamaan kondisi


Banyaknya data pengukuran (n)=
Pengukuran minimal untuk mene
baru (u)=12. *Lihat 6 (enam) tand
dan 6 (enam) lingkaran untuk sud
u)=18-12=6

C.3. Memodelkan solver dan membuat persamaan kondisi

Note: ada koreksi solver model untuk pengukuran poligon. Silahkan lihat [XLS-SVY-20]: Tulisan
tentang Aplikasi Excel-Solver untuk Hitung Kuadrat Terkecil untuk koreksi modelnya.

D. Aplikasi di jaring pengukuran triangulasi.

D.1. Sket Pengukuran dan Data Pengukuran


D.2. Menentukan Redudancy (pengukuran lebih) atau jumlah persamaan kondisi

 Lokasi A dan D sudah diketahui atau Fix


 L1 sampai L8 adalah pengamatan sudut dalam jaringan triangulasi ABCD
 Pengamatan minimum untuk menentukan lokasi B : L1,L2,L8
 Pengamatan minimum untuk menentukan lokasi C : L1,L7, L8
 Pengamatan lebih L3, L4, L5, L6
 Banyaknya pengamatan/pengukuran (n)=8
 pengukruan minimum (u)=4
 reduncancy (r=n-u)=4

D.3. Memodelkan solver dan membuat persamaan kondisi


[D44] =1/(G23^2)
Copy sampai ke [D51]

Persamaan Kondisi:

D.4. Setting parameter solver dan menjalankannya

Set Target Cell $G$53


Equal to Min
By Changing Cells $F$44:$F$51
Subject to constraint $J$58:$J$61=0

Hasil koreksi setelah solver dijalankan


D.5. Uji statistik

silahkan donwload filenya untuk dipelajari lebih lanjut

E. Aplikasi di jaring pengukuran trilaterasi.

E.1. Sket Pengukuran dan Data Pengukuran

 Koordinat A (X,Y) : 4000.000, 5000.000


 Azimut A ke G (der-men-det): 125-45-31

E.2. Menentukan Redudancy (pengukuran lebih) atau jumlah persamaan kondisi

Lingkaran merah adalah pengukuran jarak minimum untuk menentukan koordinat baru G, B, D, E
dan F. Jumlah lingkaran merah ada 9 buah sedangkan jumlah pengukuran adalah 10 pengukuran
sehingga:

n 10
u 9
r=n-u 1

sehingga persamaan kondisi hanya 1 (satu) persamaan. Persamaan yang dipilih adalah jumlah
‘sudut dalam’ sama dengan 360 derajat.

E.3. Memodelkan solver dan membuat persamaan kondisi


Persamaan kondisi:

Hitungan koordinat:

E.4. Setting parameter solver dan menjalankannya


Set Target Cell $G$55
Equal to Min
By Changing Cells $F$44:$F$53
Subject to constraint $J$69=0
donwload file trilaterasi

Comments (5)
October 4, 2011
[XLS-SVY-12]: Add-Ins Excel Untuk Hitung Kuadrat Terkecil (HKT)
Filed under: Excel, Tukang Ukur — Tags: Least Square, Visual Basic Application — cadex @ 22:35
Referensi :
Platform : Excel 2007, 2003
Lokasi : https://skydrive.live.com/embedicon.aspx/Public/catatan%20juru%20ukur/XLS-
File SVY-12.zip?cid=7b3122134b7f51a8&sc=documents

Salah satu program least square adjustment yang pernah aku buat menggunakan visual basic
application for excel.

Silahkan didownload dan dicoba. Jika ada yang berminat untuk dikembangkan silahkan lihat
source codenya di file terlampir. Untuk melihat source code, aktifkan terlebih dahulu visual basic
editor. Jangan lupa cantumkan sumbernya ….

Contoh hasil running program:


RUMUS YANG DIGUNAKAN

Prediksi pasang surut (pasut) menggunakan rumus Harmonic Analysis dengan metode least
square untuk mencari 9 constituents utama pembangkit pasut dan 9 phase.

Dalam referensi tertulis,

“The ideal tide curve for any given port is represented as an average height Z0 plus a sum of
terms (“constituents”) each of which is of the form f(t) = H cos(at + \phi). The time t is measured
in hours, and f comes out in feet. The numbers H,a, \phi are the amplitude, the speed and the
phase of the constituent.”

Karena data hasil bacaan pasut yang tersedia adalah dalam meter dan dicatat tiap jam, maka nilai
f tidak lagi dinyatakan dalam feet, melainkan dalam meter.

Rumus kemudian dikembangkan menjadi:


dalam format matrix dapat ditulis:

Jika MatrixX telah didapat, maka dengan menggunakan rumus(4) dan rumus(5),amplitudo dan
phase tiap constituent dapat dihitung.

INPUT (DATA HASIL PENGUKURAN MUKA AIR)

Hasil pengukuran muka air didapat dari pengamatan selama 29 hari dengan pencatatan tiap jam,
dimulai jam 0:00 sampai jam 23:00 tanggal 1 Maret 2008 sampai jam 23:00 tanggal 29 Maret
2008 yang ditabelkan sebagai berikut:
PROSES PEMBACAAN DATA DAN PERHITUNGAN

Proses pembacaan dan perhitungan dengan menggunakan program Visual Basic Application
(macro) yang ada di microsoft excel 2003.

Khusus untuk prosedure atau program perkalian matirx dan inverse didapat
dari http://www.alglib.net/

Pada file excel spread sheet saya, data pengukuran muka air pertama (1.850m) ada di cell $C$10
sedangkan data terakhir (2.110m) ada di $Z$38, sehingga range data pengukuran adalah di
$C$10:$Z$38.

Pastikan bahwa di bagian Declaration di awal program diset :

Option Explicit ‘berguna untuk mendeteksi definisi variable


Option Base 1 ‘hitungan matrix dimulai dari 1, kalo tidak diset, maka default index matrix adalah 0

Sub PrediksiPasutDenganLeastSquare()

‘1. membaca data pengukuran muka air


dim cr as Range, rgData as Range

set rgData=Activesheet.Range(“$C$10:$Z$38”)

For Each cr In rgData.Columns(1).Cells


i=i+1
j = 1 + (i – 1) * 24
ReDim Preserve MatrixL(1 To j + 23)
For jm = 0 To 23
MatrixL(j + jm) = cr.Offset(0, jm).Value
Next jm
Next

‘2. membaca atau set variable periode tiap Constituents


Dim w(1 To 9) As Double ‘periode dari 9 Constituents pasut
Dim pi As Double
pi = 4 * Atn(1)
w(1) = 2# * pi / 12.4206 ‘M2
w(2) = 2# * pi / 12# ‘S2
w(3) = 2# * pi / 12.6582 ‘N2
w(4) = 2# * pi / 11.9673 ‘K2
w(5) = 2# * pi / 23.9346 ‘K1
w(6) = 2# * pi / 25.8194 ‘O1
w(7) = 2# * pi / 24.0658 ‘P1
w(8) = 2# * pi / 6.2103 ‘M4
w(9) = 2# * pi / 6.1033 ‘MS4

‘3. membuat atau membetuk MatrixA() atau Matrix coeffisien

Dim it As Integer,MatrixA() as Double


ReDim Preserve matrixA(1 To UBound(MatrixL), 1 To 19)

For i = 1 To UBound(MatrixL)
matrixA(i, 1) = 1
it = i
For j = 1 To 9
matrixA(i, 2 * j) = Cos(w(j) * it)
matrixA(i, 2 * j + 1) = -Sin(w(j) * it)
Next j
Next i

‘4. proses least square

Dim weight() As Double: ReDim Preserve weight(UBound(MatrixL, 1))


For i = LBound(weight) To UBound(weight): weight(i) = 1: Next i ‘matrix bobot=matrix identitas
MatrixX() = clsLSQ.LSPAR(matrixA, MatrixL, weight)

‘clsLSQ adalah class yang saya buat untuk proses perhitungan least square, tidak dibahas di
session ini

‘5. menghitung amplitudo dan phase 9 konstituent dan sekaligus menampilkan hasilnya di excel
Dim A As Double, B As Double, H(1 To 9) As Double, Phase(1 To 9) As Double
Dim ph As Double, Zo As Double

Const addPrint As String = “H66”

With Range(addPrint)
.Offset(0, 3) = MatrixX(1)’mencetak Zo atau mean sea level
For i = 2 To 19 Step 2
j=i/2
A = MatrixX(i): .Offset(j, 0) = A
B = MatrixX(i + 1): .Offset(j, 1) = B
ph = Atn(B / A) ‘kwadran I
If A < 0 Then
ph = ph + pi ‘kwadran II dan III
Else
If B < 0 Then ph = ph + 2 * pi ‘kwadran IV
End If
‘phase dikonversi ke derajat
Phase(j) = ph * 180 / pi: .Offset(j, 2) = Phase(j)
H(j) = Sqr(A * A + B * B): .Offset(j, 3) = H(j)

Next i
End With

‘6. Membandingkan muka air hasil pengukuran dengan muka air hasil hitungan
Dim Ht As Double, SumHCos As Double
Dim Cetak() As Double

ReDim Preserve Cetak(1 To UBound(MatrixL), 1 To 5)

Zo = MatrixX(1)
For i = LBound(MatrixL) To UBound(MatrixL)
Cetak(i, 5) = CDbl(i)’mencetak nomer urut
Cetak(i, 1) = Range(addFirstDate) + (i – 1) / 24’mencetak hari dan jam
Cetak(i, 2) = MatrixL(i)’mencetak muka air pengukuran
SumHCos = 0
For j = 1 To 9
SumHCos = SumHCos + H(j) * Cos(w(j) * i + (Phase(j) * pi / 180))’rumus harmonic
Next j
Ht = Zo + SumHCos ‘rumus(1)
Cetak(i, 3) = Ht’cetak muka air hasil hitungan
Cetak(i, 4) = Ht – MatrixL(i)’muka air hitungan – pengukuran
Next i
Range(“A90:E785”) = Cetak

End Sub

Dengan menggunakan data perbandingan antara muka air hasil pengukuran dengan perhitungan,
maka dapat dibuat graphic sebagai berikut:
dari hasil hitungan didapat standard deviasi sebesar 0.11meter.

Anda mungkin juga menyukai