Andri Hendriyana
20 Nopember 2017
Daftar Isi
1 Pengenalan Linux 1
1.1 Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Menggunakan Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Struktur Linux Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Perintah dasar UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 Editor dalam lingkungan Linux . . . . . . . . . . . . . . . . . . . . . . . . 2
1.6 Bash programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 AWK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.8 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Madagascar 9
3.1 pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Pengetahuan Dasar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Traveltime map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6 Refraction Tomography 24
6.1 Langkap-langkah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.2 Hasil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
i
Prinsip Format Data RSF 26
Metode Hagiwara 32
6.3 Ringkasan formula matematis . . . . . . . . . . . . . . . . . . . . . . . . . 32
Pengenalan Linux
1.1 Pendahuluan
Linux merupakan sistem operasi yang sangat mendukung kerja seorang geophysi-
cist. Oleh karena itu, para mahasiswa calon ahli geofisika sangat disarankan untuk
tidak gagap dan bahkan terbiasa bekerja dengan menggunakan sistem operasi Linux.
Penulis berpendapat bahwa sebagian besar software dalam bidang geofisika, terutama
software yang berkaitan dengan penggunaan data dalam jumlah besar, dikembangkan
dalam lingkungan sistem operasi Linux. Hal lain yang seharusnya memberikan moti-
vasi bagi kita yang berada dalam lingkungan akademik adalah bahwa Linux banyak
memberikan program-program opensource seperti seismic Unix, madagascar dan lain-
lain (silahkan dilihat sendiri di http://www.orfeus-eu.org/website_until_
17aug2016/software/seismo_softwarelibrary.html).
Pada saat ini, Linux sudah dilengkapi dengan Graphical User Interface yang user-
friendly sehingga dalam penggunaannya sudah mirip Windows yang saat ini masih
digunakan banyak orang di Indonesia. Linux juga dapat dinikmati sekaligus dengan
fitur-fitur piranti lunak berbasis open source. Mulai dari fitur untuk office, graphic, in-
ternet sampai pemograman sudah bisa dinikmati dengan kelas yang tidak kalah den-
gan Windows. Namun, kita hendaknya memanfaatkan suatu tool yang sangat powe-
ful dari Linux yaitu shell. Shell merupakan interface atau jalur komunikasi antara kita
sebagai user dengan sistem operasi. Jadi jika kita menginginkan komputer melakukan
sesuatu yang kita inginkan, maka kita ketikkan saja perintahnya itu di terminal shell.
Cara ini merupakan cara lama sebelum Linux memiliki Graphical User Interface yang
sangat bagus seperti sekarang ini. Namun demikian, command line atau shell script-
ing masih relevan untuk kita gunakan sekarang ini bahkan saya berpendapat peng-
gunaan shell scripting lebih memudahkan segala urusan kita dengan catatan bahwa
kita memahami bagaimana melakukannya. Sesuatu yang sifatnya memudahkan jus-
tru akan menyulitkan kita jika kita tidak mempelajarinya dengan baik. Oleh karena
itu, tujuan modul praktikum ini adalah mengantarkan mahasiswa calon geophysicist
agar terbiasa menggunakan command line atau shell scripting dalam lingkungan Lin-
ux.
1
1.2 Menggunakan Shell
Apakah itu shell sudah dijelaskan pada bagian pendahuluan. Sebagaimana bahasa
manusia sehari-hari yang kadang memiliki dialek berbeda, bahasa shell juga bisa be-
ragam. Dalam praktikum ini hanya akan menggunakan bash shell. Pertanyaan selan-
jutnya bagaimana mengakses shell? Berikut caranya:
1. Linux
Pada Linux yang memiliki Desktop Manager, shell dapat diakses dengan meng-
gunakan fasilitas Terminal (lihat Gambar 1.1).
2. windows
Linux menyediakan port yang bebas bagi siapa saja untuk mengaksesnya. Bahkan
dari sistem operasi Windows pun, shell Linux dapat diakses (melalui port 22).
Untuk dapat mengakses shell dari sebuah komputer Linux yang terhubung ke
jaringan, pengguna Windows dapat menggunakan program Putty (www.putty.
org). Contoh tampilan putty diperlihatkan pada Gambar 1.2).
vile. vi merupakan editor yang terkenal dan paling banyak digunakan di dunia UNIX.
vi dapat digunakan untuk membuat file baru, caranya :
vi namafilebaru
1. Insert mode
Digunakan supaya file dapat dimanipulasi atau diedit. Sebelumnya tekan insert.
2. Command mode
Digunakan untuk mengetikkan instruksi seperti:
u undo
:w save file
:wq save file dan quit
ZZ save file dan quit
:q! quit tanpa saving
3. Line mode
Digunakan untuk melakukan manipulasi dengan menggunakan perintah baris,
misalnya mengganti kata dengan kata lain pada suatu file (Replace pada Win-
dows). Pemakai dapat berpindah dari command mode ke line mode dengan
menekan : .Contoh :
1.8 Latihan
1.
Bab 2
2.1 Pendahuluan
GMT (Wessel et al., 2013) secara singkat dapat kita katakan sebagai software/kumpu-
lan program untuk plotting yang berlisensi GNU (https://www.gnu.org/licenses/
lgpl.html) yang mengizinkan kita untuk memiliki, menginstal, menggunakan dan
mempublikasikan semua gambar yang dihasilkan oleh software ini. Walaupun sifat-
nya tidak beli, graphic tools ini sangat powerful dalam memberikan support untuk
mempresentasikan gambar dalam konteks spasial (geografis atau kartesian). Contoh-
contoh gambar yang dihasilkan oleh software ini dapat dilihat di website ini.
2. Data tsb terdiri atas dua kolom yaitu informasi jarak horizontal (kolom 1) dan
waktu tempuh (kolom 2). Saya yakin, ketika bermaksud membuat plot data ini,
sebagian besar orang akan menggunakan software yang mudah seperti Exc*l.
Namun, menurut hemat saya, software ini tak cocok digunakan oleh kita seba-
gai mahasiswa yang belajar untuk mengikuti jejak para peneliti terkenal bidang
kebumian di dunia. Membuat cross-plot data ini, kita akan menggunakan com-
mand psxy. Coba ketikkan psxy!
6
0.6
0.5
0.4
Waktu (s)
0.3
0.2
0.1
0.0
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4
Jarak (km)
Apakah file4.ps sudah sama dengan Gambar 2.1? Tentunya belum kan. Apa
yang kurang? yaitu garis hitam yang melingkari bulatan merah.
7. Untuk melengkapi grafik kita dengan membuat garis hitam batas luar tiap sim-
bol point berwarna merah, silahkan gunakan option -W.
psxy xy . dat R0 / 1 . 5 / 0 / 0 . 6 JX20 /10 \\
B0 . 2 : J a r a k (km) : / 0 . 1 : Waktu ( s ) : WSen Sc0 . 0 5 i Gred \\
W0. 5 p , b l a c k > f i l e 5 . ps
X (meter)
0 100 200 300 400 500 600 700 800 900 1000
0
100
Z (meter)
200
300
400
500
ms
0.0 0.1 0.2 0.3 0.4
Saat ini vocabulary Anda akan ditambah dengan -C -K -O -P. Perhatikan baik-baik
script di bawah ini:
grd2cpt time . grd Crainbow > c o l o r . c p t
grdimage time . grd JX20/10 B100 : X ( meter ) : / 1 0 0 : Z ( meter ) : WesN \\
Ccolor . c p t K > ch2time . ps
p s s c a l e Dg250/560+w10c / 0 . 5 c+h R J Ccolor . c p t Bxa0 . 1 f By+ l ms O \\
>> ch2time . ps
p s c o n v e r t ch2time . ps A Tf Fch2time P
Jangan khawatir kalau belum faham, di dalam praktikum akan dijelaskan dengan
baik.
2.4 Latihan
1.
Bab 3
Madagascar
3.1 pendahuluan
Seismic madagascar (http://www.ahay.org/wiki/Main_Page) terdiri atas kumpu-
lan program untuk pengolahan data berdimensi banyak (multidimensional data). Tidak
akan cukup waktu untuk membahas semua program yang ada di dalam paket mada-
gascar, oleh karena itu dalam praktikum ini hanya akan diajarkan pengetahuan dasar
dalam menggunakan paket ini. Lebih lanjut akan dipandu tentang bagaimana meng-
gunakan program ini menggunakan scripting dalam bash.
3. Buat file (misalnya bernama input) menggunakan editor (misalnya vi) yang
isinya sbb:
201 101
2 3
vp
4. GMT sudah dikenalkan kepada Anda pada BAB 2. Kali ini Anda akan dike-
nalkan dengan beberapa perintah dari GMT untuk melakukan plot file vp.
xyz2grd ZLBf vp R0/1000/0/500 I 5 Gvp . grd
grd2cpt vp . grd C j e t > c p t
grdimage vp . grd JX10/5 Ccpt K P Y10 > tmp . ps
9
p s s c a l e D5./ 1/5/1h Ccpt O B0 . 5 >> tmp . ps
p s 2 r a s t e r vp . ps A Tf Fvp P
Jangan khawatir, asisten praktikum Anda akan menjelaskan makna per satuan
perintah di atas. Jangan dulu ketik perintah di atas sebelum Anda betul-betul
mengerti apa maknanya. Setelah memahami dengan betul, maka buatlah script-
nya dan hasilkan Gambar 3.1. Perhatikan bahwa script pada contoh di atas
belum cukup untuk menghasilkan Gambar tsb, oleh karena itu lengkapilah com-
mand/script GMT di atas agar menghasilkan Gambar yang mirip dengan Gam-
bar 3.1.
X (meter)
0 100 200 300 400 500 600 700 800 900 1000
0
100
Z (meter)
200
300
400
500
m/s
2000 2200 2400 2600 2800 3000
Gambar 3.1: Model geologi sederhana dua lapis dengan interface datar.
5. File vp merupakan file binary yang hanya dapat dibaca oleh komputer sehingga
tak akan ada manfaatnya kita open file ini pakai editor. Biarlah komputer atau
lebih tepatnya madagascar yang akan membaca file vp ini. Sekarang catat baik-
baik, bahwa file madagascar terdiri atas dua bagian yaitu,
header
binary
File binary sudah Anda peroleh yaitu vp. Nah bagaimana dengan file headernya.
Apa pula file header ini? Perhatikan Gambar 3.1. Kita bisa mengatakan bahwa
file binary vp merupakan matriks 2 dimensi dengan ukuran baris (n1) dan kolom
(n2) tertentu yang merupakan hasil dari diskritisasi model bawah permukaan
dengan ukuran grid masing-masing (d1) dan (d2) untuk (dz) dan (dx). Maka
file headernya dapat dinyatakan sbb:
n1=101 d1 = 0 . 0 0 5 o1=0
n2=201 d2 = 0 . 0 0 5 o2=0
e s i z e =4 i n =./vp
data format= n a t i v e f l o a t
Penjelasan akan diberikan dan harus diberikan oleh asisten praktikum. Setiap
kali run program madagascar, gunakan file header, bukan file binarynya.
6. Untuk melihat header gunakan perintah:
s f i n vp .H
Semua perintah pada madagascar diawali oleh sf, jadi xxxxx bisa berupa perin-
tah apa saja pada madagsacar. in.H dan out.H masing-masing adalah file input
dan output, sedangkan parameter merupakan parameter yang dibutuhkan oleh
perintah sfxxxxx.
8. Harap diperhatikan bahwa secara default madagascar akan memberikan atau
melemparkan file output ke \var\tmp. Oleh karena itu, untuk memastikan
bahwa file out.H juga dihasilkan pada current directory maka pastikan bahwa
DATAPATH=./ (Gunakan export DATAPATH=./).
3.4 Latihan
1. Dalam konteks program sfeikonal (yang dirancang untuk model 3D) sumbu-
1 merupakan sumbu-z (berarti sama dengan sumbu-z yang skr kita gunakan.
X (meter)
0 100 200 300 400 500 600 700 800 900 1000
0
100
0.1
Z (meter)
200
300
0.15
2
0.
400
0.2
0.
25
25
0.
500
m/s
2000 2200 2400 2600 2800 3000
Gambar 3.2: Peta waktu tempuh atau disebut juga fungsi Green sebagai respons model
kecepatan terhadap sumber dirac pada posisi koordinat (500,0). Waktu tempuh diny-
atakan dalam milisecond.
Sumbu-2 dan 3 masing-masing sumbu-y dan -x. Oleh karena itu, jika kita akan
melakukan shot pada posisi x=0.1, maka perintahnya adalah:
sfeikonal < vp.H > time-01.H yshot=0.1. Buatlah tiga kali shot pada
posisi x=0,0.5,1.
2. Plot kurva traveltime dari ketiga shot tersebut di atas pada posisi geofon dari
x=0.0x=1.0 dengan interval 5 m.
Bab 4
2t u( x, t) c2 u( x, t) = s( x, t). (4.1)
13
1. Membuat model kecepatan bawah permukaan (dimensi model, diskritisasi).
Gunakan model kecepatan vp. Model binary ini dilengkapi dengan header vp.H.
Download file ini dan eksekusi program tsb: ./model.sh. Perhatikan jenis file
model.sh apakah sudah bersifat executable, jika belum tambahkan x : chmod u+x
model.sh.
4. Simulasi perambatan
Jalankan simulasi : ./acquire.sh. Download link.
Dihasilkan dua jenis file output yaitu seismogram dan wavefield. Amati kedua
hasil tersebut lalu lakukan identifikasi jenis fasa gelombang (langsung, pantul dan re-
fraksi atau transmisi).
1
Amplitudo
0.5
0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Waktu (detik)
Gambar 4.1: Fungsi wavelet Ricker dengan frekuensi dominan 25 Hz. Perhatikan tan-
da panah berwarna merah yang bertepatan dengan puncak wavelet. Gunakan nilai
k1 d1 untuk mengoreksi sumbu waktu pada seismogram yang dihasilkan nanti.
5. Perhatikan bahwa langkah 1-4 hanya dilakukan jika Anda menggunakan kom-
puter sendiri di rumah, namun jika dilaksanakan ketika praktikum di lab, maka
Anda hanya melakukan langkah 3 saja, kemudian dilanjutkan dengan mengek-
sekusi: create_2dmodel parameter.dat.
6. File vp dapat kita display secara mudah menggunakan command ximage n1=101 < vp
d1, d2 adalah dz dan dx yang dinyatakan salam satuan km. Pemilihan satuan
adalah bersifat bebas, namun perlu dilakukan secara konsisten, sehingga ke-
cepatan pun perlu dinyatakan dalam km/s.
Secara praktis Anda dapat menampilkan wavelet Anda dengan menjalankan perintah
berikut,
xwigb merupakan bagian dari perintah dari seismic Unix (lihat di http://www.cwp.mines.edu/cwp
#receiver:
sfmath n1=19 d1=0.05 o1=0.1 output=x1 > x.rsf
sfmath n1=19 d1=0.05 o1=0.1 output=0.005 > z.rsf
sfcat axis=2 x.rsf z.rsf space=n | sftransp > receiver.rsf
#source:
sfmath n1=1 output=0.005 > x.rsf
sfmath n1=1 output=0.005 > z.rsf
sfcat axis=2 x.rsf z.rsf space=n | sftransp > source.rsf
Program akan memberikan dua file output yaitu seismogram (seis.rsf) dan snap-
shot wavefield per time-frame (satuan waktu) yang disimpan pada file snap.rsf (na-
ma file yang kita definisikan sendiri). Kalau kita menjalankan sfin seis.rsf, maka
kita akan memperoleh informasi berikut ini,
in="./seis.rsf@"
esize=4 type=float form=native
n1=19 d1=0.05 o1=0.1 label1="r" unit1="s"
n2=1001 d2=0.001 o2=0 label2="t" unit2="s"
19019 elements 76076 bytes
19 menunjukkan jumlah trace sesuai dengan jumlah receiver dan 1001 merupakan
jumlah sample dengan besar sampling rate 1ms. Cara instant untuk menampilkan
seismogram adalah dengan menggunakan perintah xwigb berikut,
Perhatikan bahwa sumbu waktu perlu dikoreksi sebesar 0.1s, seperti telah dijelaskan
pada waktu pembuatan fungsi Ricker (perhatikan kembali Gambar 4.1).
Adapun untuk menampilkan snapshot perambatan gelombang (video perambat-
an) bisa menggunakan perintah berikut,
#color palette
grd2cpt snap.grd -Cpolar > color.cpt
Tampilan snapshot dari wavefield pada empat posisi time-frame berlainan ditampilkan
pada Gambar 4.2.
Untuk menampilkan seismogram, kita bisa menggunakan command GMT pswiggle.
Perhatikan script di bawah ini,
z=0.5e-6
#plot wiggle
awk {print 1,$1,$2} seis.dat |
pswiggle -JX20/-10 -R0/20/0/1 -B1:"":/0.1:"waktu (detik)":WesN -W1p,blue \
-Z$z -K > seis.ps
for i in seq 3 19
do
awk -v i=$i {print i-1,$1,$i} seis.dat |
pswiggle -JX20/-10 -R -B -W1p,blue -Z$z -O -K >> seis.ps
done
a) u( x, t = 0, 1)
gel. pantul
gel. langsung
gel. transmisi
b) u( x, t = 0, 2)
gel. refraksi
c) u( x, t = 0, 3)
gel. refraksi
d) u( x, t = 0, 4)
Gambar 4.2: Snapshot propagasi gelombang pada waktu a) 0,1 b) 0,2 c) 0,3 dan d) 0,4
detik dihitung sejak sumber dibangkitkan (t = 0).
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
0.0
gel. langsung
0.1
0.2
0.3
waktu (detik)
0.4
0.5
gel. pantul
0.6
0.7
0.8
0.9
1.0
Gelombang terdiri atas unsur kinematik dan dinamik. Unsur kinematik berhubungan
traveltime, sedangkan dinamik berhubungan amplitudonya. Aspek yang berhubun-
gan dengan traveltime misalnya sudut datang gelombang di geofon, ray parameter,
dan lain-lain. Sedangkan aspek yang berhubungan dengan amplitudo diantaranya
adalah attenuasi atau pelemahan amplitudo yang disebabkan oleh ukuran jarak sumber-
geofon, konversi gerakan mekanik gelombang ke panas (intrinsic attenuation), se-
makin lebar muka gelombang (spherical divergence) atau disebabkan oleh media per-
ambatannya sendiri.
Tujuan dari praktikum ini adalah memahami aspek kinematik (traveltime) dan di-
namik dari gelombang (amplitudo) dari data rekaman seismik sintetik. Dalam prak-
tikum ini akan dilakukan:
2. Dengan posisi shot pada (z=0.005; x=0.005) dan receiver pada (z=0.005;x=0.1),
(0.005;0.15), (0.005;0.2), (0.005;0.25), (0.005;0.3),...,(0.005;2.0). Lakukan modeling
waveform dan modeling waktu tempuh.
3. Plot waveform dan traveltime dalam satu frame gambar yang sama. Contoh lihat
Gambar 5.2.
21
X (km)
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
0.0
0.1
Z (km)
0.2
0.3
0.4
0.5
Gambar 5.1: Model bawah permukaan sintetik terdiri atas dua lapisan yang dibatasi
oleh planar interface.
Jarak (km)
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0 3.2 3.4 3.6 3.8 4.0
0.0
0.1
0.2
0.3
Waktu (detik)
0.4
0.5
0.6
0.7
0.8
0.9
Gambar 5.2: Seismogram sintetik (biru) dan kurva T-X (merah) yang dihasilkan dari
tembakan yang sama pada posisi (x=0.005; z=0.005).
2. Buatlah kurva T-X dari model yang diperlihatkan pada Gambar 5.4! Geofon diin-
stall pada kedalaman konstan 5 meter dan posisi lateral (0,50,100,...,4000 meter);
sehingga kita memiliki 81 buah geofon. Dengan array geofon yang dibuat fixed
seperti ini, dilakukan 41 buah tembakan pada kedalaman konstan 5 meter dan
posisi lateral (0,100,200,...,4000 meter).
0.08
0.06
Waktu (s)
0.04
0.02
0.00
5 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120
X (meter)
Gambar 5.3: Kurva T-X. Tembakan dilakukan pada koordinat (-5,0) dan (125,0). Klik
disini untuk download data (tar -xjvf....).
X (km)
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
0.0
0.2
Z (km)
0.4
0.6
0.8
1.0
Gambar 5.4: Model bawah permukaan yang terdiri atas tiga lapisan. Masing-masing
lapisan geologi dikarakterisasi oleh nilai kecepatan seismik berbeda. Klik untuk down-
load model kecepatan.
Bab 6
Refraction Tomography
6.1 Langkap-langkah
6.2 Hasil
Perbandingan antara image bawah permukaan yang dihasilkan oleh tomografi refrak-
si dengan model true nya diperlihatkan oleh Gambar 6.1.
24
X (km)
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
0.0
0.2
Z (km)
0.4
0.6
0.8
1.0
0.0
0.2
1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5
Z (km)
0.4
0.6
0.8
1.0
0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0
X (km)
Gambar 6.1: Model kecepatan (km/s) bawah permukaan (a) sebenarnya dan (b) hasil
tomografi refraksi.
Prinsip Format Data RSF
Dalam BAB ini akan dijelaskan prinsip dari format data N-dimensional yang digu-
nakan dalam program madagascar. Sebagai contoh kita memiliki header sebagai berikut,
in="./seis.rsf@"
esize=4 type=float form=native
n1=3 d1=1 o1=10
n2=3 d2=-1 o2=20
n3=4 d3=1 o3=0
36 elements 144 bytes
Data contoh ini terdiri atas 36 data yang terdistribusi dalam tiga sumbu, masing-
masing sumbu diberi index 1,2 dan 3; sehingga n1 bermakna jumlah sampling sepa-
njang sumbu 1, n2 jumlah sampling sepanjang sumbu-2, dst. Jumlah sampling pada
sumbu 1 dan 2 ini bisa kita anggap juga sebagai jumlah baris dan jumlah kolom (atau
orde) dari suatu matriks. Sumbu-1 dan sumbu-2 membentuk bidang/plane. Karena
data kita memiliki nilai n3 = 4, maka jumlah plane kita adalah empat buah. Cerita ilus-
trasi ini bisa kita nyatakan dengan Gambar 6.2. d dan o merepresentasikan interval dan
nilai inisial. Sehingga kita bisa menyimpulkan bahwa koordinat untuk masing-masing
indeks angka pada bidang paling depan adalah seperti diperlihatkan pada tabel 6.1.
Tabel 6.1: Indeks elemen (sebagaimana yang ditampilkan pada Gambar 6.2) suatu data
tiga dimensi beserta koordinatnya (sesuai dengan informasi header di atas).
indeks sumbu-1 sumbu-2 sumbu-3
0 10 20 0
1 11 20 0
2 12 20 0
3 10 19 0
4 11 19 0
5 12 19 0
6 10 18 0
7 11 18 0
8 12 18 0
18 10 20 2
19 11 20 2
20 12 20 2
Struktur data ini bisa kita extend dengan mudah sehingga membentuk N-dimensi.
Namun agak susah memvisualkan struktur data dalam dimensi yang lebih besar dari
tiga.
26
x3
24 x2
21
18 25
22
19 26 6
23 3
20 0 7
4
1 8
5
2
x1
Gambar 6.2: Ilustrasi penyimpanan data dalam format RSF. Perhatikan bahwa urutan
penyimpanan data sesuai dengan urutan sumbu. Sumbu-1,2 dan 3 secara berurutan
adalah x1 , x2 dan x3 .
Pertanyaan selanjutnya bagaimana membuat data dengan struktur RSF ini? Caranya
sangat mudah. Yang perlu diperhatikan adalah dua aspek yaitu urutan dan berapa
besarnya data (ukuran byte untuk satu angka). Pada contoh di atas (sesuai header)
ukuran data kita adalah 4 byte, sehingga kita bisa lihat terdapat angka 144 yang di-
hasilkan dari 36 4. Bagaimana dengan urutannya, urutannya adalah sesuai dengan
urutan sumbu atau sesuai dengan indeks pada Gambar 6.2. Sebagai contoh, kita ingin
membuat model kecepatan 3D, dengan sumbu kedalaman adalah x1 . Pada panel de-
pan (atau bidang x1 x2 pada posisi x3 = 0), misalnya terdiri atas tiga lapisan batuan
dengan masing-masing kecepatan 2000, 3000 dan 4000 m/s. Maka masing-masing in-
deks akan diisi oleh kecepatan sebagai berikut,
indeks 0 1 2 3 4 5 6 7 8
kecepatan 2000 3000 4000 2000 3000 4000 2000 3000 4000
Bagaimana kita membuat file binarynya? Buat saja angka dengan urutan seperti
pada ilustrasi barusan itu. Namun jangan, lupa komputer harus kita beri tahu bahwa
tiap satuan angka disimpan dalam memori dengan ukuran 4 byte atau 32 bit. Contoh
membuat file binary ini sudah pernah dibuatkan pada program create 2dmodel.c.
Konversi format dari binary ke format
GMT netCDF
Ketika kita menggunakan fungsi-fungsi dari GMT, maka sebaiknya kita ubah data
berformat binary ke netCDF supaya bekerjanya lebih mudah. Cara untuk konversinya
juga mudah, hanya menggunakan satu fungsi yaitu xyz2grd. Namun tentu saja harus
memahami bagaimana cara menggunakannya.
Ketika melakukan konversi ini, perhatikan hal-hal berikut ini:
Dalam format binary, misalnya seperti file yang dihasilkan oleh program cre-
ate 2dmodel.c (klik untuk download), hanya berisi nilai saja. Jadi jika kita memi-
liki fungsi f ( x, y) = z, yang disimpan dalam file binary hanya nilai z saja yang
disusun atau diurutkan sedemikian rupa (ingat ketika membahas file format
RSF). Sehingga kita harus menginformasikan xyz2grd tentang susunan nilai z di
file binary. Terdapat dua jenis susunan, yaitu apakah ditulis per-kolom (column-
major order) atau baris (row-major order). Column-major order biasa digunakan
di Fortran, sedangkan Row-major order di C. Ilustrasi tentang kedua jenis peny-
impanan data dalam memori ini diperlihatkan oleh Gambar 6.3.
Sekarang mari kita gabungkan pengertian row atau column major order dengan
format RSF. Ada hal yang penting yaitu tentang fast-axis (1), slow-axis (2), dst.
Fast-axis adalah sumbu yang indeksnya bergerak lebih cepat. Perhatikan Gam-
bar 6.3 bagian atas di kanan (row-major order), maka indeks bisa kita tulis seperti
pada Gambar 6.4. Berdasarkan Gambar 6.4, kita bisa menyatakan n1=3 n2=3.
Kalau kita menampilkan image menggunakan ximage, maka sumbu-1 (fast di-
mension nya) adalah sumbu vertikal.
Pola urutannya ini diinformasikan kepada xyz2grd melalui option -Z. Jika da-
ta yang ditulis memiliki column-format atau fast-dimensionnya adalah vertikal
(seperti pada create 2dmodel.c), maka setelah -Z harus ditambahkan L (left) atau
R (right) yang memberikan indikasi bahwa kolom pertama disimpan di paling
kiri matriks atau di kanan. Selanjutnya adalah, di kolom pertama tsb (yang entah
di kiri atau kanan), kita akan menulis angka pertama dimana? apakah di bagian
bawah (B) atau atas (T). Perhatikan kembali Gambar 6.3 yang bagian bawah. Jika
data pada file binary disusun sesuai Gambar (lihat yang column-major order),
maka untuk mengkonversi ke format GMT netCDF kita gunakan,
xyz2grd -ZLTf
Kok sekarang ada f, simbol ini menginformasikan program untuk membaca da-
ta sebagai 4-byte floating point.
29
L R
T 0 1 2 row-major order
3 4 5 0 1 2 3 4 5 6 7 8
B 6 7 8
L R
T 0 1 2 column-major order
3 4 5 0 3 6 1 4 7 2 5 8
B 6 7 8
Gambar 6.3: Row atau column major order adalah cara penempatan elemen ar-
ray dalam memori komputer yang tersusun secara contiguous. Perhatikan bedanya
bagaimana row atau column major order menempatkan matriks 3x3 dalam memo-
ri. Notasi L,R,T,B menunjukkan left, right, top dan bottom (lihat pembahasan pada
bagian selanjutnya!)
0 1 2 3 4 5 6 7 8
Latihan:
1. Jika digunakan xyz2grd -ZLBf untuk mengkonversi file output dari program
create 2dmodel.c, seperti apa hasil konversinya?
2. Bayangkan apa yang akan terjadi jika file output dari program create 2dmodel.c
dikonversi dengan xyz2grd -ZTLf ?
3. Perhatikan Gambar 6.4! jika data binary kita berikan header sbb,
n1=9 n2=1
d1=1
o1=10 o2=-10
2h p cos i
TAP + TBP = + TAP (6.1)
v1
v1
hp = ( T + TBP TAB ) (6.2)
2 cos i AP
Persamaan untuk menghitung v2 :
32
Generalized Reciprocal Method
tv = (t AY t BX + t AB ) /2 (6.8)
Nilai fungsi tv ini dihitung untuk tiap posisi G yang merupakan titik tengah antara X
dan Y.
tv dihitung untuk setiap jarak XY tertentu dari rentang XY = 0 sampai dengan
nilai tertentu dengan interval sama dengan jarak antar geofon. Nilai maksimum XY
ditentukan sedemikian hingga nilai optimum XY dapat ditentukan dengan baik. XY
optimum dipilih dari kurva fungsi analisis kecepatan yang paling smooth.
Gradien dari fungsi analisis kecepatan adalah kecepatan refraktor, Vn
d
tv = 1/Vn (6.9)
dx
Generalized time-depth:
tG = [t AY + t BX (t AB + XY /Vn )] /2 (6.10)
Kurva time-depth juga dihitung untuk berbagai nilai XY. XY optimum dipilih dari
kurva time-depth yang paling detil.
Depth conversion factor: Persamaan 6.10 dapat juga dinyatakan dalam,
n1
tG = Z jG /V jn (6.11)
j=1
Vn V j
V jn
=q (6.12)
Vn2 V j2
Z jG merupakan jarak atau kedalaman tegaklurus refraktor dihitung dari titik G dan V j
adalah kecepatan interval untuk lapisan ke- j.
33
Contoh data rekaman
34
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.5: 1
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.6: 2
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.7: 3
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.8: 4
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.9: 5
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.10: 1
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.11: 2
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.12: 3
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.13: 4
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.14: 5
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.15: 1
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.16: 2
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.17: 3
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.18: 4
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.19: 5
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.20: 1
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.21: 2
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.22: 3
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.23: 4
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.24: 5
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.25: 1
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.26: 2
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.27: 3
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.28: 4
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.29: 5
0.3
Waktu (detik)
0.4
0.5
No. Channel
0 2 4 6 8 10 12 14 16 18 20 22 24
0.0
0.1
0.2
Gambar 6.30: 1
0.3
Waktu (detik)
0.4
0.5
Daftar Gambar
5.1 Model bawah permukaan sintetik terdiri atas dua lapisan yang dibatasi
oleh planar interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2 Seismogram sintetik dan kurva T-X yang dihasilkan dari tembakan yang
sama pada posisi (x=0.005; z=0.005). . . . . . . . . . . . . . . . . . . . . . 22
5.3 Kurva T-X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.4 Model bawah permukaan yang terdiri atas tiga lapisan. Masing-masing
lapisan geologi dikarakterisasi oleh nilai kecepatan seismik berbeda. . . 23
6.1 Model kecepatan (km/s) bawah permukaan sebenarnya dan hasil to-
mografi refraksi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2 Ilustrasi penyimpanan data dalam format RSF. Perhatikan bahwa uru-
tan penyimpanan data sesuai dengan urutan sumbu. Sumbu-1,2 dan 3
secara berurutan adalah x1 , x2 dan x3 . . . . . . . . . . . . . . . . . . . . . 27
6.3 Row atau column major order adalah cara penempatan elemen array
dalam memori komputer yang tersusun secara contiguous. Perhatikan
bedanya bagaimana row atau column major order menempatkan ma-
triks 3x3 dalam memori. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.4 Pengertian fast and slow axis/dimension. . . . . . . . . . . . . . . . . . . 30
6.5 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.6 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.7 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.8 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
61
6.9 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.10 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.11 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.12 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.13 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.14 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.15 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.16 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.17 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.18 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.19 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.20 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.21 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.22 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.23 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.24 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.25 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.26 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.27 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.28 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.29 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.30 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Daftar Tabel
63
Bibliografi
Fomel, S., Sava, P., Vlad, I., Liu, Y., & Bashkardin, V., 2013. Madagascar: open-source
software project for multidimensional data analysis and reproducible computational
experiments, Journal of open research software, 1.
Wessel, P., Smith, W. H. F., Scharroo, R., Luis, J., & Wobbe, F., 2013. Generic mapping
tools: Improved version released, Eos Trans. AGU, 94, 409420.
64