Download - BAB II TINJAUAN PUSTAKA 2.1 Seismik Borehole
4
BAB II
TINJAUAN PUSTAKA
2.1 Seismik Borehole
Metode seismik borehole merupakan metode yang dapat mendeteksi segala jenis
gelombang seismik yang menjalar kebawah permukaan bumi. Output dari metode
seismik borehole ini adalah untuk mengetahui struktur lapisan bawah permukaan bumi
[8].
Gambar 2.1 Prinsip kerja seismik borehole [9].
Berdasarkan gambar 2.1 pengukuran seismik borehole menggunakan sensor 3 sumbu
yaitu sumbu x, y dan z. Sensor sumbu x dan y (komponen horizontal) digunakan untuk
melihat gelombang S (Shear) yang memiliki arah peregerakan partikel gelombang S
5
(Shear) tegak lurus dengan arah gelombangnya (Gambar 2.2b). Oleh karena itu,
komponen horizontal akan lebih jelas untuk gelombang S. Sedangkan sensor sumbu z
(komponen vertikal) digunakan untuk melihat gelombang P (Pressure) yang memiliki
arah pergerakan partikel sejajar dengan arah gelombangnya (Gambar 2.2a). Oleh
karena itu, kedatangan gelombang P akan lebih jelas terlihat pada komponen vertikal.
Gambar 2.2 Arah rambat dan gerak partikel pada a) gelombang P b) gelombang S [10].
Dalam pengukuran dilapangan, gelombang S sangatlah sulit untuk dideteksi oleh
sensor getaran. Sehingga agar dapat didetesi maka dapat dilakukan pembentukan
gelombang S sebanyak dua kali dengan arahnya yang saling berlawanan (1800). Selain
itu, sumber yang diberikan berasal dari pinggiran sebelah kanan-kiri dan depan-
belakang papan atau besi yang digunakan sebagai sumber getaran.
2.2 Perangkat Keras
Perangkat keras merupakan perangkat atau komponen-komponen secara fisik yang
digunakan dalam rancang bangun alat seismik borehole. Pada penelitian ini perangkat
keras yang digunakan yaitu sensor, pemguat sinyal, Arduino Mega, dan ADC.
6
2.2.1 Sensor
Sensor merupakan perangkat yang berfungsi untuk mendeteksi sinyal sinyal yang
berasal dari perubahan suatu energi. Secara umum, berdasarkan fungsi dan
penggunaannya sensor dibagi menjadi 3 yaitu sensor mekanis, sensor optik, dan sensor
panas. Pada penelitian ini jenis sensor yang digunakan adalah sensor mekanis. Sensor
mekanis merupakan sensor yang mendeteksi peubahan gerak mekanis, seperti
perpindahan atau pergeseran atau posisi, gerak lurus dan melingkar, tekanan, aliran,
level, dan sebagainya. Jenis sensor yang digunakan pada penelitian ini adalah
akselerometer MEMS kapasitif dikarenakan sensor akselerometer tersebut dapat
digunakan untuk mendeteksi sinyal frekuensi rendah dan tinggi. Sinyal frekuensi
rendah berfungsi untuk memberikan informasi event yang terjadi pada panjang
gelombang lebih besar dari ratusan meter. Sedangkan untuk sinyal frekuensi tinggi
(dalam orde kHz) berhubungan dengan aktivitas pada Panjang gelombang dalam
beberapa meter saja [11].
(a) (b)
Gambar 2.3 (a) Bentuk fisik akselerometer MEMS Colibrys SF1500SN.A dan (b) Skema
akselerometer MEMS [12].
Tipe sensor akselerometer MEMS yang digunakan pada penelitian ini adalah Colibrys
SF1500SN.A (Gambar 2.3(a)). Adapun spesifikasi dari sensor tersebut dapat dilihat
pada Tabel 2.1.
Tabel 2.1 Spesifikasi sensor akselerometer MEMS Colibrys SF1500SN.A [13].
Parameter Unit
7
Tegangan Sumber ±6 - ±15 V
Rentang Keluaran Liner ±3 g
Sensitivitas 2,4 ± 0,24 V/g
Noise < 0,5 μgrms/√Hz
Respon Frekuensi DC – 1.500 Hz
Error Linearitas < 1 % (± 1 g)
Pada Gambar 2.3(b), akselerometer MEMS terdiri dari trasduser dan seismic mass.
Transduser adalah sepasang kapasitor C1 (kapasitansi antara Top electrode dengan
Seismic mass) dan C2 (kapasitansi antara Bottom electrode dengan Seismic mass); dan
Seismic mass yang sebagai pusat massa, adalah bagian mekanik mikro dari silikon
dengan pelapisan logam pada permukaan atas dan bawahnya. Mekanik pegas berupa
beam, merupakan daerah silikon yang telah dipotong sangat tipis, menahan Seismic
mass pada lapisan tengah, dan memungkinkan sejumlah kecil gerakan elastis.
Frekuensi resonansi untuk pegas ini umumnya dekat atau di atas satu kHz. Ketika mass
tersebut berubah posisi akibat gaya dari luar, jarak antara pelat-pelat logam berubah,
dan menimbulkan perubahan nilai kapasitansi [14]. Sensitivitas kapasitif tidak
bergantung pada bahan dasar, namun bergantung pada variasi kapasitansi ketika
geometri kapasitor berubah. Nilai kapasitansi plat parallel antara C1 dan C2 dapat dicari
dengan mencari kapasitansi ruang-bebas (𝐶0) antara plat terlebih dahulu melalui
persamaan berikut
𝐶0 = ∈0∈𝐴
𝑑 (2.1)
di mana,
∈𝐴= ∈0∈ 𝐴 (2.2)
sehingga,
𝐶0 = ∈𝐴1
𝑑 (2.3)
8
Pada Gambar 2.4 dapat dilihat bahwa kapasitansi antara dua plat, C1 dan C2 adalah
fungsi dari perpindahan yang sesuai x1 dan x2
𝐶1 = ∈𝐴
1
𝑥1= ∈𝐴
1
𝑑 − 𝑥= 𝐶0 + ∆𝐶 (2.4)
𝐶2 = ∈𝐴
1
𝑥2= ∈𝐴
1
𝑑 + 𝑥= 𝐶0 − ∆𝐶 (2.5)
Jika nilai akselerasi sama dengan nol, maka nilai C1 dan C2 sebanding dikarenakan nilai
x1 = x2. Jika x ≠ 0 maka perbedaan kapasitansi dapat dicari menggunakan persamaan
berikut
𝐶1 − 𝐶2 = 2 ∆𝐶 (2.6)
∆𝐶 = ∈𝐴
𝑥
𝑑2 − 𝑥2 (2.7)
Nilai x pada persamaan di atas dapat dicari menggunakan persamaan linear aljabar
linear, sehingga
∆𝐶 𝑥2 + ∈𝐴 𝑥 − ∆𝐶 𝑑2 = 0 (2.8)
Untuk nilai x yang sangat kecil, maka ∆𝐶 𝑥2 dapat diabaikan, sehingga persamaan di
atas dapat dirubah menjadi :
𝑥 ≈ 𝑑2
∈𝐴∆𝐶 (2.9)
9
Gambar 2.4 Struktur Akselerometer [14].
Untuk mendapatkan besarnya output tegangan dari proof mass dapat menggunakan
persamaan
(𝑉𝑥 + 𝑉0)𝐶1 + (𝑉𝑥 − 𝑉0)𝐶2 = 0 (2.10)
Persamaan 2.9 dapat disederhanakan lagi dengan menggunakan persamaan 2.3 atau 2.4
dan 2.8, sehingga didapatkan persamaan
𝑉𝑥 = 𝑉0
𝐶2 − 𝐶1
𝐶2 + 𝐶1=
𝑥
𝑑𝑉0 (2.11)
Dikarenakan perubahan kapasitansi sebanding dengan tegangan keluaran sensor, maka
perpindahan akan sebanding dengan tegangan keluaran akselerometer (Vx)
𝑥 ≈ 𝑉𝑥 (2.12)
Untuk sebuah pegas yang ideal, berdasarkan hukum Hooke, gaya yang diberikan pada
pegas adalah
𝐹𝑆 = 𝑘𝑆 𝑥 (2.13)
10
di mana 𝑘𝑆 adalah konstanta pegas. Berdasarkan hukum II newton, gesekan pada udara
diabaikan dikarenakan sangat kecil sehingga didapat persamaan
𝐹𝑆 = 𝑚 𝑎 (2.14)
sehingga fungsi akselerasi sebagai fungsi perpindahan x adalah sebagai berikut
𝑎 = 𝑘𝑆
𝑚 𝑥 (2.15)
dengan demikian,
𝑎 ≈ 𝑉𝑥 (2.16)
Dari persamaan 2.15 dapat kita simpulkan bahwa, tegangan keluaran sensor merupakan
respon percepatan/akselerasi terhadap getaran yang diterima oleh sensor [16].
2.2.2 Penguatan Sinyal ( Operational Amplifier )
Penguatan sinyal atau sering disebut Op-Amp (Operational Amplifier) sangat
dibutuhkan dalam suatu instrumentasi, dikarenakan jika ada sinyal yang diterima oleh
sensor sangat kecil, maka sinyal tersebut butuh untuk dikuatkan agar keluaran dari
sinyal dapat terbaca dan sesuai dengan yang diinginkan. Ada beberapa karakteristik
yang harus dimiliki oleh sebuah penguat sinyal agar dapat dikategorikan sebagai
sebuah ideal Op-Amp [15], yaitu:
(1) Penguatan tak hingga (A = ∞);
(2) Tegangan keluaran, VO = 0, ketika tegangan masukan V1 = V2 (Gambar 2.5);
Gambar 2.5 Rangkaian persamaan op-amp [15].
(3) Impedansi masukan tak hingga (Rd = ∞);
(4) Impedansi keluaran nol (RO = 0); dan
(5) Lebar pita tak hingga (tidak ada batasan respon frekuensi).
11
Selain karakteristik di atas, ada 2 aturan dasar yang harus dimiliki oleh sebuah op-amp
[17,18], yaitu:
(1) Ketika op-amp dalam rentang linearnya, dua terminal masukan harus dalam
tegangan yang sama (ground yang sama); dan
(2) Tidak ada arus yang saling mengalir pada dua terminal masukan op-amp.
Tipe penguatan yang sering digunakan dalam instrumentasi adalah tipe penguatan
diferensial, dikarenakan tipe penguat diferensial cocok untuk menguatkan sinyal yang
sangat kecil. Tipe penguat diferensial ada yang menggunakan satu, dua, atau tiga op-
amp. Untuk penelitian ini, tipe penguat diferensial yang digunakan adalah tipe penguat
diferensial menggunakan tiga op-amp atau biasa disebut penguat instrumentasi. Karena
penguat diferensial menggunakan tiga op-amp memiliki penguatan yang lebih besar
dari penguat menggunakan dua op-amp maupun satu op-amp. Untuk lebih jelasnya,
berikut penjelasan terkait perbedaan antara penguat diferensial dua op-amp dan
penguat tiga op-amp.
(1) Penguat diferensial menggunakan dua op-amp [16,17] (Gambar 2.6).
Gambar 2.6 Penguat diferensial dengan dua op-amp [16,17].
Jika Rf2 = R1, Rf1 = R2, tegangan keluaran VO adalah
𝑉𝑂 = 𝑉𝐼𝑁2 − 𝑉𝐼𝑁1 (1 + 𝑅1
𝑅2 +
2𝑅1
𝑅𝑔) (2.17)
sehingga tegangan keluaran total dari tipe penguat ini adalah
12
𝑉𝑂 = ( 𝑉𝐼𝑁2 − 𝑉𝐼𝑁1) 𝐺 (2.18)
dengan penguatan G,
𝐺 = (1 + 𝑅1
𝑅2 +
2𝑅1
𝑅𝑔) (2.19)
(2) Penguat diferensial menggunakan tiga op-amp [16,17] (Gambar 2.7).
Gambar 2.7 Penguat diferensial dengan tiga op-amp [16, 17].
Jika Rf2 = Rf1, R4 = R2, R3 = R1, tegangan keluaran VO adalah
VO = 𝑉𝑛𝑖𝑛𝑣 − 𝑉𝑖𝑛𝑣 (1 + 2𝑅𝑓1
𝑅𝑔) (
𝑅2
𝑅1) (2.20)
sehingga tegangan keluaran total dari tipe penguat ini adalah
𝑉𝑂 = ( 𝑉𝑛𝑖𝑛𝑣 − 𝑉𝑖𝑛𝑣) 𝐺 (2.21)
dengan penguatan G,
𝐺 = (1 + 2𝑅𝑓1
𝑅𝑔) (
𝑅2
𝑅1) (2.22)
Untuk spesifik tipe penguat diferensial tiga op-amp (penguat instrumentasi) yang
digunakan pada penelitian ini adalah penguat isntrumentasi AD620. Penguat
instrumentasi AD620 adalah penguat instrumentasi monolitik berdasarkan modifikasi
13
dari pendekatan penguat diferensial tiga op-amp klasik. Skema rangkaian AD620 dapat
dilihat pada Gambar 2.8.
Gambar 2.8 Skema sederhana AD620 [18].
Resistor penguatan internal, R1 dan R2, dipangkas ke nilai absolut 24,7 kΩ,
memungkinkan penguatan diprogram secara akurat dengan resistor eksternal tunggal
[19], sehingga berdasarkan persamaan 2.21, penguatan G sebesar
𝐺 = 49.4𝑘Ω
𝑅𝑔+ 1 (2.23)
Gambar 2.9 Perbandingan AD620 dengan Penguat diferensial 3 op-amp biasa [18].
14
Berdasarkan Gambar 2.9, AD620 lebih efisien dan efektif dibandingkan dengan
penguat diferensial 3 op-amp biasa. Di mana perbedaan eror yang dihasilkan antara
kedua penguat memiliki selisih 10.000 PPM of full scale.
2.2.3 Arduino Mega
Arduino Mega merupakan board mikrokontroler yang berbasis pada chip
ATmega2560. Board ini memiliki pin I/O yang cukup banyak di antaranya adalah 54
buah digital I/O pin (15 pin di antaranya adalah PWM) yang dapat digunakan sebagai
input atau output dan 16 pin analog berlabel A0 sampai A15 sebagai ADC, setiap pin
analog memiliki resolusi sebesar 10-bit. Arduino Mega 2560 dilengkapi dengan pin
dengan fungsi khusus sebagai berikut [19]:
1. Port Serial 4 buah: Port Serial 0, yaitu Pin 0 (RX) dan Pin 1 (TX); Port Serial 1,
yaitu Pin 19 (RX) dan Pin 18 (TX); Port Serial 2, yaitu Pin 17 (RX) dan Pin 16
(TX); dan Port Serial 3, yaitu Pin 15 (RX) dan Pin 14 (TX). Pin RX digunakan
untuk menerima data serial dan Pin TX untuk mengirim data serial.
2. Pin External Interrupts 6 buah: Pin 2 (Interrupt 0), Pin 3 (Interrupt 1), Pin 18
(Interrupt 5), Pin 19 (Interrupt 4), Pin 20 (Interrupt 3), dan Pin 21 (Interrupt 2).
3. Pin PWM 15 buah: pin 2-13, dan pin 44-46.
4. Pin SPI: Pin 50 (MISO), Pin 51 (MOSI), Pin 52 (SCK), Pin 53 (SS), digunakan
untuk komunikasi SPI menggunakan SPI Library.
5. pin I2C: Pin 20 (SDA) dan Pin 21 (SCL) , komunikasi I2C menggunakan wire
library.
6. Pin LED, yaitu buit-in LED yang terhubung pada pin 13.
Board ini sudah sangat lengkap, sudah memiliki segala sesuatu yang dibutuhkan untuk
sebuah mikrokontroller. Bentuk fisik dari Arduino Mega dapat dilihat pada Gambar
2.10.
15
Gambar 2.10 Arduino Mega [19].
Spesifikasi Arduino Mega ditunjukan pada Tabel 2.2 berikut:
Tabel 2. 2 Spesifikasi Arduino Mega [19].
Spesifikasi Keterangan
Mikrokontroler ATMega2560
Tegangan Operasi 5 V
Tegangan input 7-12 V
Tegangan input (limit) 6-20V
Pin Digital I/O 54, 6 di antaranya PWM output
Pin Analog Input 16 buah
Arus DC per Pin I/O 20 mA
Arus DC untuk Pin 3.3 V 50 mA
Memori Flash 250, 8 KB digunakan bootloader
2.2.4 ADC ( Analog Digital Converter )
ADC merupakan sebuah perangkat yang digunakan untuk mengubah suatu data
kontinu terhadap waktu (analog) menjadi suatu data diskrit terhadap waktu (digital).
ADC banyak digunakan sebagai pengatur proses industri, komunikasi digital dan
rangkaian pengukuran/pengujian. Umumnya ADC digunakan sebagai perantara antara
16
sensor yang kebanyakan analog dengan sistem komputer seperti sensor suhu, cahaya,
tekanan/berat, aliran dan sebagainya kemudian diukur dengan menggunakan sistem
digital (komputer). Ada beberapa hal hal yang perlu diperhatikan dalam penggunaan
ADC yaitu tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian
pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan
waktu konversinya [20]. Selain itu, ADC juga memiliki 2 kaaraktek prinsip [20], yaitu:
1. Kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog
dikonversikan kebentuk sinyal digital pada selang waktu tertentu. Kecepatan
sampling biasanya dinyatakan dalam sample per second (SPS) atau Hz.
2. Resolusi ADC menentukan ketelitian nilai hasil konversi ADC. Sebagai contoh:
ADC 8-bit akan memiliki output 8-bit data digital, ini berarti sinyal input dapat
dinyatakan dalam 255 (2n – 1) nilai diskrit. ADC 12-bit memiliki 12-bit output
data digital, ini berarti sinyal input dapat dinyatakan dalam 4096 nilai diskrit. Dari
contoh di atas ADC 12-bit akan memberikan ketelitian nilai hasil konversi yang
jauh lebih baik daripada ADC 8-bit.
Ada 3 tahapan yang dilakukan ADC untuk merubah sinyal analog menjadi sinyal
digital, yaitu:
1. Pencuplikan
Pencuplikan merupakan proses pegambilan nilai diskrit pada suatu data dalam
waktu tertentu dengan periode yang tetap. Proses pencuplikan pada ADC dapat
dilihat pada Gambar 2.11.
Gambar 2.11 Proses Pencuplikan pada ADC [20].
2. Kuantisasi
17
Kuantisasi dalam pemrosesan sinyal disebut sebagai suatu proses pemetaan nilai
input yang berasal dari hasil proses pencuplikan. Proses kuantisasi pada ADC dapa
dilihat pada Gambar 2.12.
Gambar 2.12 Proses Kuantisasi pada ADC [20].
Pada teori sampling kecepatan pengambilan sampel (frekuensi sampling) dari
sinyal analog yang akan dikonversi haruslah memenuhi kriteria Nyquist,
𝑓𝑠 > 2 𝑓𝑖𝑛𝑀𝑎𝑥 (2.24)
Di mana “Frekuensi sampling (fs) minimum adalah 2 kali frekuensi sinyal analog
yang akan dikonversi (finMax)” [21]. Apabila kriteria Nyquist tidak dipenuhi maka
akan timbul efek aliasing. Aliasing merupakan pengaruh yang menyebabkan
sinyal-sinyal yang berbeda menjadi tidak dapat dibedakan satu sama lain (atau
menjadi alias sinyal yang lain) saat rekonstruksi sampel. Aliasing juga
menggambarkan distorsi atau artifak yang dihasilkan saat sinyal direkonstruksi
dari sampel di mana gambaran yang diberikan berbeda dari sinyal kontinu.
Pernyataan lainnya adalah bahwa aliasing merupakan akibat dari penggunaan data
diskret dan bukan yang kontinu [22].
3. Pengkodean
Pengkodean merupakan proses mengubah nilai hasil kuantisasi ke dalam suatu
nilai berbentuk biner atau digital (0/1). Proses pengkodean dapat dilihat pada
Gambar 2.13.
18
Gambar 2.13 Proses Pengkodean pada ADC [20].
Nilai dari proses pengkodean ADC adalah 2n. Contohnya ADC 3-bit memiliki
kuantisasi kode (N) sebanyak 23 = 8 kode. Kode ini menyatakan tingkatan nilai
analog dalam nilai digital. Semakin tinggi jumlah bit suatu ADC, semakin banyak
kode digital yang merepresentasikan suatu tegangan analog tertentu.
Secara matematis pengkodean ADC dapat dituliskan dengan persamaan.
𝐷𝑎𝑡𝑎 𝐷𝑖𝑔𝑖𝑡𝑎𝑙 (𝐼𝑛𝑡𝑒𝑔𝑒𝑟) = 𝑉𝑖𝑛
𝑉𝑟𝑒𝑓 (2𝑛 − 1) (2.25)
Tiap kode memiliki perbedaan nilai tegangan analog, Q sebesar
Q = 𝑉𝑟𝑒𝑓
2𝑛 (2.26)
Vref berkaitan dengan jenjang tiap kelompok dalam proses kuantisasi, resolusi
ADC berkaitan dengan jumlah maksimal data ADC (2n), di mana maksimal data
berhubungan dengan proses pengkodean. Jika tegangan referensi, Vref = 8 V, untuk
ADC 3-bit, tiap kenaikan 1-bitnya menyatakan nilai 1 V (Gambar 2.14(a)).
Perubahan tegangan masukan tiap 1 V, akan dikonversi sempurna tanpa ada
kesalahan (error). Namun bila tegangan analog berubah secara perlahan (ada nilai
tegangan analog orde desimal), akan terjadi kesalahan pengonversian. Misalnya
tegangan 2,5 V, akan ada dua kemungkinan kode digitalnya, yaitu 010 atau 011
(Gambar 2.14(b)). Jika Vref = 0,8 V, perbedaan nilai tiap bit berubah menjadi 100
mV. Sehingga memungkinkan untuk melakukan pengukuran dengan rentang
tegangan yang lebih kecil (0 V hingga 0.8 V) dengan akurasi yang tinggi [20].
19
(a)
(b)
Gambar 2.14 (a) ADC 3-bit, (b) Magnitudo rentang error pada ADC 3-bit [20].
Tipe ADC yang digunakan pada penelitian ini adalah ADS1256, yaitu ADC dengan
resolusi 24-bit. Adapun spesifikasi dari ADS1256 dapat dilihat pada Tabel 2.3.
Tabel 2.3 Spesifikasi ADS1256 [23].
Parameter Unit
Tegangan Sumber 5 V
Tegangan Referensi 2,5 V
Resolusi 24-bit
Kecepatan Pencuplikan 10 – 14.400 SPS
Komunikasi SPI
SCLK 4 MHz
20
2.3 Perangkat Lunak
Perangkat lunak berfungsi sebagai penghubung antara pengguna dan perangkat keras.
2.3.1 Arduino IDE
Integrated Development Enviroment (IDE) Arduino merupakan software yang bahasa
pemrograman Java berguna untuk menulis program, meng-compile menjadi kode biner
dan meng-upload kedalam memori mikrokontroler. Arduino IDE yang ada saat ini
adalah versi 1.6.7. Arduino IDE terdiri dari:
1. Editor program merupakan sebuah window yang memungkinkan pengguna menulis
dan mengedit program dalam bahasa processing;
2. Compiler, merupakan sebuah modul yang mengubah kode program (bahasa
processing) menjadi kode biner. Mikrokontroler hanya dapat mengerti kode biner,
maka dari itu compiler sangat diperlukan dalam hal ini; dan
3. Uploader, merupakan sebuah modul yang memuat kode biner dari komputer
kedalam memori dipapan Arduino.
Program yang ditulis menggunakan Software Arduino (IDE) disebut sketsa. Sketsa ini
ditulis dalam editor teks dan disimpan dengan ekstensi file “dot ino” (.ino). Editor
memiliki fitur untuk memotong dan untuk mencari / mengganti teks. Daerah pesan
memberikan umpan balik saat menyimpan dan mengekspor dan juga menampilkan
kesalahan. Konsol menampilkan output teks dengan Arduino Software (IDE),
termasuk pesan kesalahan yang lengkap dan informasi lainnya. Pojok kanan bawah
jendela menampilkan papan dikonfigurasi dan port serial. Tombol toolbar
memungkinkan untuk memverifikasi dan mengupload program, membuat, membuka,
dan menyimpan sketsa, dan membuka monitor serial. Tampilan Software Arduino
(IDE) dapat dilihat pada Gambar 2.15.
21
Gambar 2.15 Tampilan Arduino IDE.
2.3.2 Microsoft Visual Studio
Microsoft Visual Studio merupakan perangkat lunak yang dapat digunakan untuk
mengembangkan sebuah aplikasi baik untuk desktop, mobile, maupun website. Visual
Studio menyediakan berbagai macam kompiler yakni antara lain Visual C++, Visual
C#, Visual Basic dot NET (vb.NET), Visual InterDev, Visual J++, Visual J#, Visual
FoxPro, dan Visual SourceSafe. Penelitian ini menggunakan Visual Studio untuk
merancang tampilan untuk menyimpan data, melakukan pengaturan disaat
pengambilan data dan menmapilkan data dalam bentuk x, y dan z. Tampilan Microsoft
Visual Studio dapat dilihat pada Gambar 2.16.
22
Gambar 2.16 Tampilan Microsoft Visual Studio.
2.3.3 Notepad ++
Notepad++ dapat menampilkan serta menyunting teks dan berkas kode sumber berbasis
bahasa pemprograman yang dijalankan pada sistem operasi Windows. Pengguna
Notepad++ tidak perlu mengeluarkan biaya untuk mendapatkan lisensi aplikasi ini
karena free-device. Selain itu notepad++ memiliki tampilan yang sangat baik, fitur fitur
yang ada didalamnya sudah lengkap dan sangat simple dan ringan. Pada penelitian ini,
notepad digunakan untuk menyimpan data pengukuran dalam bentuk .txt. Tampilan
notepad ++ dapat dilihat pada Gambar 2.17.
23
Gambar 2.17 Tampilan notepad ++.
2.5 Sistem Komunikasi Data
Sistem komunikasi data sangat dibutuhkan untuk membangun sebuah emebeded
system. Dalam perancangan sistem seismik borehole, sistem komunikasi yang
digunakan yaitu komunikasi serial UART (RS-232) dan komunikasi Serial Peripheral
Interface (SPI).
2.5.1 Komunikasi Serial UART (RS-232)
Komunikasi serial UART (RS-232) merupakan komunikasi yang terjadi antara
transmitter (TX) dengan receiver (RX). Sistem komunikasi serial UART dikenal
sebagai sistem komunikasi yang asinkron. Sistem komunikasi tersebut dikatakan
asinkron dikarenakan tidak terdapat kontrol ketika data dikirim atau tidak ada jaminan
bahwa kedua perangkat yang berkomunikasi memiliki kecepatan detak yang sama.
Operasi pada Arduino Mega umumnya menggunakan clock kristal tunggal, sehingga
perbedaan kecepatan dapat menjadi masalah ketika dua perangkat yang sama sama
dilengkapi dengan sumber detak yang berbeda saling berkomunikasi.
Umumnya untuk mengatasi hal tersebut, dapat digunakan bit tambahan berupa start bit
dan stop bit di setiap paket data yang dikirim. Kedua perangkat yang yang
berkomunikasi harus memiliki sistem konfigurasi yang sama. Pada sistem komunikasi
pada umumnya, data dikirim dalam banyak paket, maka kecepatan akan berkurang,
dikarenakan terdapat bit ekstra yang harus dikirim (Gambar 2.18). Demikian pula, jika
kedua perangkat berkomunikasi dengan kecepatan sampling yg berbeda, sistem
komunikasi akan gagal atau salah kirim dalam menerjemahkan. Salah satu solusi yang
digunakan untuk mengatasi masalah tersebut adalah dengan menggunakan komunikasi
secara Serial Peripheral Interface (SPI).
24
Gambar 2.18 Transfer data serial RS-232 [24].
2.5.2 Komunikasi Serial Peripheral Interface (SPI)
SPI adalah protokol komunikasi secara synchronous antara dua perangkat (master dan
slave), yang memisahkan antara jalur data dan jalur detak. Komunikasi SPI pertama
kali dikembangkan oleh Motorola (sekarang Freescale), dan diterapkan secara luas oleh
berbagai perushaan semikonduktor. Dalam koneksinya, device yang terhubung satu
sama lain akan bersifat Full Duplex, yaitu ada device yang bertindak sebagai Master
dan Slave. Master device adalah perangkat yang memulai sambungan dengan cara
menginisialisai SPI address dari slave device, sehingga master dan slave dapat
menerima ataupun mengirim data dalam waktu bersamaan. Dalam penerapannya, SPI
banyak digunakan pada komunikasi antarperangkat yaitu EEPROM, ADC, DAC,
sensor, dan aktuator lainnya.
SPI menggunakan dua pin untuk transfer data, yaitu SDI (Din) dan SDO (Dout). Bus
SPI memiliki sebuah SCLK (Shift Clock) yang berfungsi sebagai penyedia detak untuk
sinkroniasasi data dan memilki satu atau lebih CE (Chip Enable) yang berfungsi untuk
memilih satu slave mana yang akan berkomunikasi dengan master. Pada beberapa
perangkat pin SDI disebut sebagai MOSI (Master Out - Slave In), SDO disebut sebagai
MISO (Master In - Slave Out), SCLK disebut sebagai SCK dan CE disebut sebagai SS
(Slave Select).
25
Gambar 2.19 Arsitektur SPI [25].
Pada Gambar 2.19 dapat dilihat bahwa SPI terdiri dari 2 buah shift register yang
terletak dibagian slave dan master. Pembangkit detak terletak pada bagian master yang
memberi detak pada shift register pada bagian master dan slave. Kedua shift register
memiliki lebar 8-bit, sehingga shift register akan melakukan pertukaran data setelah 8-
detak. Jika master ingin mengirim 1 byte (8-bit) maka master akan meletakkan data
pada shift register. Setelah 8-detak maka isi dari shift register akan sampai pada slave,
begitu juga sebaliknya. Namun perlu di ingat bahwa komunikasi SPI yang terjadi pada
jalur MISO maupun MOSI terjadi ketika jalur SS dalam keadaan low. Komunikasi SPI
dapat terjadi pada lebih dari dua alat, seperti yang ditunjukan pada Gambar 2.20.
Gambar 2.20 Komunikasi SPI dengan multiple slave [25].
Dari Gambar 2.20 dapat dilihat bahwa semua pin MISO, MOSI, dan SCK dari master
akan terkoneksi secara parallel ke 3 Slave device. Namun ada 3 pin SS dari master yang
masing-masing pinnya terpisah dan hanya terkoneksi ke pin SS dari setiap slave. Pin
SS-lah yang akan bergantian unutk memilih slave mana yang akan dilakukan
26
komunikasi dengan master. Dapat dilihat pada Gambar 2.20, master berkomunikasi
dengan 3 slave, maka diperlukan jalur SS1 untuk slave 1, jalur SS2 untuk slave 2 dan
jalur SS3 untuk slave 3. Untuk menghindari tabarakan pada data maka pada pin SS1,
SS2, dan SS3 tidak boleh diberikan logic low atau 0 secara bersamaan. Namun untuk
memberikan logic low atau 0 harus dilakukan secara bergantian (menunggu transfer data
selesai pada satu slave).