• Tidak ada hasil yang ditemukan

BAB 3 PERANCANGAN DAN IMPLEMENTASI SISTEM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 PERANCANGAN DAN IMPLEMENTASI SISTEM"

Copied!
32
0
0

Teks penuh

(1)

BAB 3 

PERANCANGAN DAN 

IMPLEMENTASI SISTEM 

 

Pada bab ini akan diuraikan tentang perancangan dan implementasi sistem yang meliputi metode pengembangan perangkat stimulasi arus mikro, perancangan dan implementasi alat stimulasi OpenMCS, perancangan sinyal stimulasi arus mikro, dan perancangan dan implementasi program stimulasi  µStimS.  Keseluruhan sistem yang dirancang dan direalisasikan pada penelitian ini adalah seperti yang terlihat pada gambar 3.1.

  Gambar 3. 1 Diagram blok rancangan OpenMCS dan µStimS

(2)

3.1 METODE PENGEMBANGAN PERANGKAT STIMULASI ARUS 

MIKRO 

Pengembangan perangkat stimulasi arus mikro dilakukan dengan melakukan sejumlah perancangan prototip perangkat stimulasi arus mikro berdasarkan spesifikasi-spesifikasi alat stimulasi arus mikro yang ada di pasaran. Perbandingan spesifikasi rancangan OpenMCS dan µStimS dengan spesifikasi produk lain yang terdapat di pasaran ditunjukkan pada tabel 3.1.

Tabel 3. 1 Perbandingan fitur OpenMCS dan µStimS dengan Alpha-Stim 100 dan Trio

Stim[6,7,8,9,10]

No.  Fitur  OpenMCS & µStimS  Alpha‐Stim 100  Trio Stim (MCS) 

1  Arus listrik  0 ‐ 1000 µA  10 ‐ 600 µA  11 ‐ 750 µA 

Pengaturan arus 

listrik  Setiap saat  Setiap saat  setiap saat 

Bentuk 

gelombang  5 jenis (lihat rincian) 

Persegi asimetrik  bipolar  Persegi konstan  bipolar  4  Frekuensi  0,25 ‐ 1000 Hz  (tergantung jenis  gelombang)  0,5; 1,5; 100 Hz  0,3 ‐ 400 Hz  5  Pengaturan 

frekuensi  Setiap saat  Setiap saat  setiap saat 

6  Lebar pulsa  1 ‐ 1000 ms  50% duty cycle  1 ‐ 250 ms 

Pengaturan lebar 

pulsa  setiap saat  tidak ada  setiap saat 

Pengaturan 

waktu terapi  kontinyu 

10, 20, 60 menit dan 

kontinyu  30 menit 

Pengaman arus 

listrik berlebih  ada  tidak disebutkan  ada 

10 

Pengaman 

muatan listrik 

berlebih  ada  tidak ada  ada 

11 

Pengaman arus 

listrik rata‐rata 

berlebih  ada  tidak ada  ada 

12  Tampilan LCD  ada  ada  ada 

13 

Parameter 

tampilan 

Petunjuk, arus listrik, 

frekuensi, lebar  pulsa, peringatan  keamanan pasien  Petunjuk, timer,  simbol kapasitas  baterai 

Petunjuk, arus listrik, 

frekuensi, lebar  pulsa, timer  14  Catu daya  Baterai kering 12V  rechargeable  Baterai 9V  disposable  Baterai 9V  disposable 

15  Sistem  terbuka  tertutup  tertutup 

16  Harga 

Rp 800.000,‐ (biaya 

(3)

Pada tabel 1 rancangan perangkat stimulasi arus mikro OpenMCS dan µStimS dibuat diperbandingkan dengan perangkat stimulasi arus mikro dari produk yang paling umum digunakan sebagai perangkat untuk penelitian terapi arus mikro, yaitu Alpha-Stim 100. Pembanding kedua adalah produk Trio Stim yang memiliki tiga fungsi, yaitu mampu sebagai alat stimulasi arus mikro (MCS), TENS, dan alat stimulasi elektrik otot (EMS). Untuk kesesuaian dengan tujuan pengembangannya, yaitu sebagai perangkat stimulasi arus mikro untuk penelitian medis tingkat klinis, maka OpenMCS dan µStimS dirancang sedemikian rupa sehingga mempunyai karakteristik sebagai berikut.

1. Mampu memberikan berbagai sinyal stimulasi dalam rentang yang luas untuk memfasilitasi penelitian terapi elektrik arus mikro

2. Sinyal stimulasi berupa sumber arus listrik terkendali tegangan sehingga dapat diatur nilai kuat arusnya dan selama memberikan stimulasi, arus listrik tidak berubah jika terjadi perubahan hambatan tubuh

3. Terdapat tampilan parameter besaran sinyal yang sedang dikeluarkan berupa arus listrik, frekuensi, dan lebar pulsa

4. Perangkat stimulasi arus mikro dapat dimodifikasi secara software dengan menuliskannya kepada mikrokontroler untuk menyesuaikan sinyal stimulasi sesuai yang dibutuhkan

5. Mempunyai sistem pengaman atas batas-batas maksimum terapi arus mikro, yang meliputi arus listrik maksimum, arus listrik rata-rata maksimum, dan muatan listrik maksimum

6. Pengembangan sistem menggunakan komponen yang tersedia secara lokal 7. Bersifat portabel sehingga dapat digunakan dimana saja

8. Mudah dalam penggunaannya karena hanya menggunakan 7 tombol dan disertai dengan petunjuk penggunaan

9. Sistem yang dikembangkan bersifat sistem terbuka (Open System) sehingga dapat dikembangkan oleh siapa saja untuk menunjang perkembangan metode terapi elektrik arus mikro.

(4)

Pengembangan OpenMCS dan µStimS dilakukan dalam tiga tahap yaitu:

1. Pengembangan fungsi sinyal OpenMCS, meliputi perancangan dan realisasi bagian utama OpenMCS dan ujicoba fungsi OpenMCS dalam membangkitkan sinyal arus listrik secara sederhana yang dapat dikendalikan oleh pengguna

2. Pengembangan sistem proteksi OpenMCS dan µStimS, meliputi perancangan dan realisasi modul sistem proteksi secara hardware pada OpenMCS dan penambahan algoritma proteksi dan peringatan pada program µStimS

3. Penyempurnaan OpenMCS dan µStimS, meliputi penyempurnaan hasil-hasil ujicoba sebelumnya yaitu ujicoba fungsi sinyal dan ujicoba sistem proteksi

3.2 PERANCANGAN DAN IMPLEMENTASI ALAT STIMULASI 

OpenMCS 

Bagian ini akan menguraikan secara rinci proses perancangan dan implementasi alat stimulasi arus mikro OpenMCS. Seperti telah dijelaskan di awal, pengembangan OpenMCS meliputi tiga tahap yaitu:

1. Tahap pengembangan fungsi sinyal

2. Tahap pengembangan sistem proteksi, dan 3. Tahap penyempurnaan sistem.

3.2.1 PERANCANGAN DAN IMPLEMENTASI FUNGSI SINYAL OpenMCS 

Perancangan fungsi sinyal OpenMCS bertujuan untuk menghasilkan prototip alat stimulasi arus mikro yang mampu membangkitkan sinyal arus listrik secara benar. Kriteria-kriteria yang dipertimbangkan pada perancangan ini adalah sebagai berikut.

(5)

1. Alat mampu mengeluarkan sinyal berupa sumber arus yang dapat dikendalikan oleh tegangan dari suatu konverter tegangan ke arus listrik 2. Besar tegangan yang mengendalikan arus listrik merupakan suatu

konverter digital ke analog (DAC) dengan keluaran bipolar yang memiliki ketelitian 8 bit untuk fase positif dan 8 bit untuk fase negatif.

3. Masukan rangkaian DAC menggunakan keluaran dari mikrokontroler PIC 16F877A dengan portC untuk mengatur tegangan positif dan portD untuk mengatur tegangan negatif

4. Terdapat masukan dari pengguna menggunakan saklar tekan push on untuk mengatur nilai kuat arus listrik, frekuensi, dan lebar pulsa sinyal yang dihasilkan

5. Terdapat tampilan parameter sinyal yang sedang dikeluarkan oleh alat Berdasarkan pertimbangan-pertimbangan di atas, hasil rancangan fungsi sinyal OpenMCS menjadi seperti pada gambar 3.2.

  Gambar 3. 2 Diagram blok perancangan fungsi sinyal OpenMCS

(6)

Pada rancangan rangkaian fungsi sinyal OpenMCS, terdapat tiga modul utama yaitu:

1. Rangkaian pemroses data sinyal terapi

2. Rangkaian DAC 16 bit dengan keluaran 2 fase 3. Rangkaian konverter tegangan ke arus listrik

3.2.1.1 Rangkaian pemroses data sinyal terapi 

Rangkaian pemroses data sinyal terapi adalah bagian yang berfungsi menerjemahkan data sinyal yang ada pada program µStimS. Rangkaian ini menggunakan mikrokontroler PIC 16F877A yang difungsikan untuk membangkitkan tegangan keluaran 8 bit pada port C dan 8 bit pada port D. Port C berfungsi sebagai output pembentuk sinyal fase positif, sedangkan port D berfungsi sebagai pembentuk sinyal fase negatif. Keluaran dari port C dan port D yang telah ditetapkan sebagai output selanjutnya dihubungkan ke rangkaian DAC 16 bit dengan keluaran 2 fase. Kerja pemrosesan data sinyal terapi merupakan interaksi antara software µStimS dan internal mikrokontroler PIC 16F877A itu sendiri.

3.2.1.2 Rangkaian DAC 16 bit dengan keluaran 2 fase 

Dalam rancangan fungsi sinyal OpenMCS, rangkaian DAC dibuat dengan menggunakan penguat penjumlah dan pengurang tegangan berbasis Op-Amp seperti pada gambar 3.3. Rangkaian DAC menggunakan penguat penjumlah dan pengurang bekerja dengan menjumlahkan arus listrik yang melalui tiap-tiap resistor yang terhubung pada V+ dan V- Op-Amp. Nilai resistor disusun menggunakan pola 20 hingga 27 kali nilai resistor terkecil. Dengan demikian proses penjumlahan dan pengurangan akan berlangsung seperti cara kerja DAC 8 bit.

(7)

Rangkaian DAC seperti itu mempunyai respon frekuensi yang sangat tinggi dan harganya murah. Tetapi rangkaian ini memiliki kelemahan pada keakuratan resistor yang digunakan dan tidak praktis karena menggunakan banyak komponen. Dengan metode penjumlahan arus listrik yang pada tiap-tiap resistor mempunyai tingkat kesalahan 1%, hasil keluaran yang didapat dapat mengalami kesalahan mencapai 3,5%. 

 

Gambar 3. 3 Skema rangkaian DAC menggunakan penguat penjumlah dan pengurang  

3.2.1.3 Rangkaian konverter tegangan ke arus listrik 

Konverter tegangan ke arus listrik merupakan rangkaian yang memberikan keluaran arus listrik yang dikendalikan oleh tegangan masukan. Rangkaian ini disebut juga sebagai penguat transkonduktansi. Gambar 3.4 menunjukkan skema rangkaian konverter tegangan ke arus listrik yang digunakan untuk mengendalikan arus listrik dengan rentang yang lebar.

R23 5k R28 1k R25 2k4 R22 10k R21 20k R20 40k R19 40k R17 100k 3 2 6 7 4 1 5 U LF411 R32 470 R29 470 R9 5k R14 1k R11 2k4 R8 10k R7 20k R6 40k R5 40k R3 100k C 56p R26 500 R27 500 R24 100 R18 40k R16 40k R15 20k R12 500 R13 500 R10 100 R4 40k R2 40k R1 20k R30 220 R31 220

(8)

Rangkaian konverter tegangan ke arus listrik seperti pada gambar 3.4 dipilih karena untuk spesifikasi alat stimulasi arus mikro membutuhkan sistem yang mampu mengendalikan arus listrik secara presisi dalam rentang yang lebar, yaitu dari 0 µA hingga 1000 µA. Rangkaian pada gambar 3.4 bekerja dengan memberikan tegangan referensi yang diberikan pada input rangkaian. Tegangan referensi ini merupakan tegangan keluaran dari rangkaian DAC. Dengan adanya tegangan referensi pada titik V+ Op-Amp, maka tegangan pada V- Op-Amp juga

akan bernilai sama dengan tegangan referensi. Resistor R1 merupakan penentu

nilai arus yang mengalir dari Output Op-Amp ke ground. Dengan demikian berapapun nilai RB, yaitu hambatan tubuh, yang diberikan, arus listrik yang

mengalir akan selalu tetap selama tegangan output Op-Amp yang diperlukan untuk memberikan arus listrik yang diinginkan tidak melebihi nilai tegangan catu daya Op-Amp dikurangi 3,8 volt.

  Gambar 3. 4 Skema rangkaian konverter tegangan ke arus listrik

Realisasi rangkaian konverter tegangan ke arus listrik yang digunakan pada ujicoba fungsi sinyal OpenMCS adalah menggunakan Op-Amp OPA 2544 yang mampu memberikan keluaran hingga 31,2 volt. OPA 2544 merupakan dual Op-Amp yang terdiri dari Op-Op-Amp A dan B. Selain itu OPA 2544 mempunyai slew

3 2 1 8 4 U1:A OPA2544 R1 1k RB 25kC 56pF Input R2 100 +VCC -VCC Out

(9)

rate sebesar 8 V/µs dan dilengkapi dengan thermal shutdown protection yang secara otomatis akan melakukan shutdown fungsi apabila temperaturnya melebihi 155 °C. Dalam rangkaian konverter tegangan ke arus listrik, hanya dipakai OPA2544 bagian A, sedangkan bagian B digunakan sebagai bagian dari rangkaian sistem proteksi. Untuk menghasilkan arus listrik dari 0 µA hingga 1000 µA dengan tegangan masukan 0 V hingga 1 V digunakan perhitungan sebagai berikut.

(3.1) (3.2)

(3.3)

Pada realisasinya, Op-Amp OPA 2544 diberi tegangan catu daya sebesar ±34,5 volt, sehingga tegangan keluaran maksimum yang dapat diberikan adalah 30,7 volt. Jika arus keluaran sudah ditentukan maksimum 1 mA dari nilai tegangan masukan maksimum 1 volt dan nilai R1 sebesar 1 kΩ, maka nilai RB harus bernilai

kurang dari 30,7 kΩ supaya arus listrik yang dikeluarkan tidak mengalami penurunan. Nilai hambatan 30,7 kΩ ini sudah jauh melebihi batas nilai hambatan permukaan kulit tubuh manusia dalam kondisi basah yang berkisar antara 2 kΩ

hingga 20 kΩ.

3.2.2 PERANCANGAN DAN IMPLEMENTASI SISTEM PROTEKSI OpenMCS  Rangkaian sistem proteksi merupakan rangkaian yang berfungsi untuk melindungi rangkaian dari kerusakan sekaligus melindungi pasien dari bahaya yang mungkin terjadi akibat kesalahan dalam penggunaan alat. Sistem proteksi disusun menggunakan Op-Amp OPA2544 bagian B yang berfungsi sebagai komparator. Cara kerja rangkaian sistem proteksi terletak pada fungsi komparator yang membandingkan tegangan masukan yang berasal dari input (Vo konverter V ke I)

dan tegangan masukan dari keluaran rangkaian DAC. Dengan penyesuaian tegangan yang dilakukan oleh R4 dan R5 serta yang dilakukan oleh penguat

(10)

noninverter U1, maka sistem proteksi mengharapkan tegangan V+ pada OPA2544

selalu lebih kecil daripada tegangan V- OPA2544. Kesalahan didefinisikan apabila

terjadi keadaan tegangan V+ lebih dari V- pada OPA2544. Apabila keadaan ini

terjadi, maka tegangan keluaran OPA2544 akan naik menjadi 30,7 volt. Tegangan ini selanjutnya akan mengaktifkan IC 4066 yang berfungsi sebagai saklar elektronik yang menghubungkan port B.1 dan port B.2 mikrokontroler PIC 16F877A ke ground. Proses ini akan menyebabkan program µStimS melakukan interupsi yang memaksa program µStimS untuk mengulang pelaksanaan tes elektroda. Skema rangkaian sistem proteksi ditampilkan pada gambar 3.5. 

  Gambar 3. 5 Skema rangkaian sistem proteksi

3.2.3 PENYEMPURNAAN SISTEM OpenMCS 

Tahap ketiga dari pengembangan alat stimulasi arus mikro OpenMCS adalah penyempurnaan sistem. Setelah melalui realisasi fungsi sinyal dan sistem proteksi, beberapa kekurangan yang didapatkan dari hasil ujicoba dua tahap sebelumnya, disempurnakan pada tahap ini. Untuk perangkat kerasnya (OpenMCS), modul yang harus disempurnakan adalah pada rangkaian DAC 16 bit dengan keluaran 2 fase. 5 6 7 8 4 U2:B OPA2544 R4 33k R5 5k1 X 11 Y 10 C 12 U3:B 4066 R7 5k1 R8 27k X 1 Y 2 C 13 U3:A 4066 3 2 6 7 4 1 5 U1 LF411 R2 1k R3 3k3 C 56pF R6 100 +35V -35V R1 1k Dari DAC +VCC Input Ke PortB.1 Ke PortB.2

(11)

Pada pengembangan fungsi sinyal, rangkaian DAC yang digunakan adalah menggunakan penguat penjumlah dan pengurang. Rangkaian ini mempunyai kesalahan mencapai 3,5%. Padahal kunci untuk membangkitkan sinyal arus listrik secara tepat adalah pada ketepatan rangkaian DAC dalam mengubah data tegangan digital menjadi tegangan analog sebelum dikonversi menjadi arus listrik. Dengan demikian, untuk meningkatkan performa sistem, maka rangkaian DAC perlu disempurnakan.

Penyempurnaan rangkaian DAC dilakukan dengan mengganti susunan resistor yang terhubung ke penguat penjumlah dan pengurang dengan komponen IC DAC0808. Rangkaian DAC 16 bit dengan keluaran 2 fase terdiri dari dua buah komponen DAC 8 bit DAC0808 yang pada keluarannya dihubungkan ke sebuah Op-Amp LF411 yang disusun sebagai penguat penjumlah dan pengurang. Rangkaian DAC yang diimplementasikan pada penyempurnaan OpenMCS adalah sebagaimana yang ditampilkan pada gambar 3.6.

Komponen DAC 0808 adalah suatu konverter digital ke analog 8 bit dengan keluaran arus listrik yang dapat bekerja secara cepat dengan slew rate arus 8 mA/µs dan memiliki keakuratan yang tinggi dengan tingkat kesalahan maksimum ± 0,19 %. Prinsip kerja DAC 0808 dalam mengkonversi sinyal digital ke analog adalah berdasarkan formula 3.4.

(12)

  Gambar 3. 6 Skema rangkaian DAC 16 bit dengan keluaran 2 fase

Pada rangkaian DAC ini, RREF adalah R3 dan R6 yang masing-masing bernilai 10

kΩ. Dengan demikian pada saat maksimum dengan VREF = +VCC yaitu sebesar 5

volt, nilai A1 sampai A8 akan bernilai 1 yang akan menyebabkan Io bernilai 0,5

mA.

Arus listrik keluaran DAC 0808 selanjutnya masuk ke dalam penguat penambah dan pengurang berbasis Op-Amp LF411. LF411 merupakan Op-Amp yang mempunyai slew rate yang tinggi yaitu 10 V/µs. Dalam kerjanya sebagai penguat penambah dan pengurang, Op-Amp bekerja mirip dengan penguat diferensial, yaitu menghitung selisih antara tegangan yang masuk ke V- Op-Amp dan

tegangan yang masuk ke V+ Op-Amp. Dengan prinsip kerja tersebut tegangan

keluaran Op-Amp adalah sesuai dengan formula 3.5.

(3.5)

Dengan demikian, tegangan maksimum yang dapat dikeluarkan oleh Op-Amp LF411 pada rangkaian DAC ini adalah ± 1 volt. Penambahan kapasitor C3 sebesar 56 pF hanya bertujuan untuk memperhalus sinyal keluaran.

Bagian-bagian utama penyusun OpenMCS meliputi rangkaian pemroses data sinyal terapi, rangkaian DAC dengan keluaran 2 fase, rangkaian konverter

A2 6 VREF+ 14 VEE 3 A1 5 IOUT 4 A3 7 A4 8 A5 9 A6 10 A7 11 A8 12 VREF- 15 COMP 16 U1 DAC0808 A2 6 VREF+ 14 VEE 3 A1 5 IOUT 4 A3 7 A4 8 A5 9 A6 10 A7 11 A8 12 VREF- 15 COMP 16 U2 DAC0808 R5 10k R2 10k 3 2 6 7 4 1 5 U3 LF411 R4 470 R1 470 R7 2k C1 100nF C3 56pF C2 100nF R6 10k R3 10k R8 2k Out +VCC -VCC Dari Port C Dari Port D

(13)

tegangan ke arus listrik, dan rangkaian sistem proteksi. Bagian-bagian lain merupakan bagian pendukung, yang meliputi display dan masukan pengguna. Untuk menampilkan parameter sinyal arus mikro yang dikeluarkan oleh OpenMCS digunakan LCD 16 x 2. Sedangkan sebagai interface antara alat OpenMCS dan pengguna digunakan 7 buah saklar tekan, masing-masing berfungsi untuk:

- Menaikkan amplitudo - Menurunkan amplituo - Menaikkan frekuensi - Menurunkan frekuensi - Menaikkan lebar pulsa - Menurunkan lebar pulsa

- Melakukan pemilihan sinyal stimulasi

Gambaran realisasi OpenMCS setelah disempurnakan ditunjukkan pada gambar 3.7. Skema rangkaian OpenMCS ditampilkan pada lampiran A.2.

  Gambar 3. 7 Diagram blok realisasi OpenMCS

(14)

  Gambar 3. 8 Foto hasil realisasi OpenMCS

 

3.3 PERANCANGAN SINYAL STIMULASI ARUS MIKRO 

Berdasarkan referensi dari berbagai sumber, sinyal stimulasi arus mikro mempunyai bentuk yang lebih sederhana daripada variasi bentuk sinyal stimulasi yang lain. Pada metode stimulasi seperti TENS, pulsa yang berikan merupakan pulsa impuls (pulsa paku) yang dalam modulasinya dapat digabungkan dengan berbagai bentuk sinyal.[22] Pada metode stimulasi arus mikro, bentuk sinyal tidak

sebanyak pada TENS karena stimulasi arus mikro tidak bekerja dengan pulsa paku, melainkan menggunakan pulsa dengan durasi (lebar pulsa) yang panjang hingga mencapai 1 detik. Dengan demikian, bentuk pulsa yang bermacam-macam tidak terlalu berpengaruh pada stimulasi arus mikro. Parameter penting yang dipertimbangkan pada stimulasi arus mikro adalah sebagai berikut.

• Polaritas sinyal (unipolar, bipolar)

• Amplitudo (arus listrik maksimum)

• Frekuensi

• Lebar pulsa

• Arus listrik rata-rata

• Muatan listrik rata-rata

(15)

Dengan memperhatikan parameter-parameter di atas, peneliti memutuskan untuk merancang sinyal-sinyal utama stimulasi arus mikro yaitu:

1. Persegi bipolar ½ gelombang berdelay (persegi 1) 2. Persegi bipolar berdelay (persegi 2)

3. Persegi bipolar penuh (persegi 3)

4. Ramp bipolar ½ gelombang berdelay (ramp 1) 5. Ramp bipolar berdelay (ramp 2)[4,6,8,9,10,12,13]

Kelima bentuk sinyal tersebut merupakan sinyal-sinyal bipolar karena dalam elektroterapi, mayoritas jenis sinyal yang baik digunakan adalah yang berjenis bipolar.[4,6,8] Tampilan bentuk – bentuk sinyal yang direalisasikan dalam penelitian ini akan ditunjukkan pada uraian realisasi program µStimS. Selain bentuk sinyal stimulasi, parameter rancangan lain yang ditetapkan oleh peneliti dalam perancangan sinyal stimulasi arus mikro adalah sebagai berikut.

1. Amplitudo, berkisar antara 0 hingga 1000 µA 2. Frekuensi, berkisar antara 0,25 hingga 500 Hz 3. Lebar pulsa, berkisar antara 1 hingga 1000 ms

3.4 PERANCANGAN DAN IMPLEMENTASI PROGRAM STIMULASI 

µStimS 

Program stimulasi arus mikro µStimS merupakan program yang berfungsi untuk mengendalikan segala sesuatu yang berhubungan dengan perangkat stimulasi arus mikro secara software. Fungsi-fungsi tersebut meliputi:

• Memberikan penjelasan jenis sinyal dan parameternya pada display

• Menyediakan data sinyal terapi arus mikro

• Menjalankan fungsi interupsi

(16)

Pemrograman algoritma µStimS dilakukan dengan menggunakan software MicroCode Studio – PICBASIC PRO versi 2.46 yang bersifat bebas untuk tujuan nonkomersial. Program µStimS terdiri dari program utama dan program pembangkit sinyal. Program utama berfungsi untuk:

• Mengendalikan program-program pembangkit sinyal melalui interupsi eksternal

• Mengatur tampilan informasi pada LCD

• Mengatur tampilan parameter sinyal pada LCD

• Mengatur tampilan peringatan kepada pengguna pada LCD

• Melakukan perhitungan parameter sinyal sebagai sistem proteksi secara software Program Utama Program Pembangkit Sinyal Persegi 1 Program Pembangkit Sinyal Persegi 2 Program Pembangkit Sinyal Persegi 3 Program Pembangkit Sinyal Ramp 1 Program Pembangkit Sinyal Ramp 2   Gambar 3. 9 Struktur program µStimS

(17)

  Gambar 3. 10 Diagram alir program µStimS

Gambar 3.8 menunjukkan struktur program µStimS. Sedangkan realisasi program µStimS bekerja berdasarkan algoritma yang diilustrasikan pada gambar 3.9. Penjelasan akan kerja tiap bagian pada algoritma ini akan dijelaskan secara langsung menggunakan daftar program yang diimplementasikan sebagai program µStimS. Deretan penulisan program µStimS secara lengkap disertakan pada lampiran A.4. 

(18)

Penjelasan masing-masing bagian dari program µStimS adalah sebagai berikut.

LCDOUT $FE,1,"TERAPI ELEKTRIK"

LCDOUT $FE,$c0,"ARUS MIKRO"

PAUSE 1500

LCDOUT adalah pernyataan pda PIC Basic Pro untuk menampilkan karakter ke dalam LCD. Sedangkan PAUSE adalah pernyataan yang digunakan untuk melakukan penundaan (delay) dalam hitungan milidetik. Tiga baris pernyataan di atas berfungsi untuk menampilkan tulisan “TERAPI ELEKTRIK” pada baris pertama LCD dan “ARUS MIKRO” pada baris kedua LCD. Keduanya ditampilkan selama 1,5 detik.

amp VAR WORD

arus VAR WORD

A1 VAR WORD

A2 VAR WORD

A3 VAR WORD

period VAR WORD

frekm VAR WORD

F1 VAR WORD

F2 VAR WORD

F3 VAR WORD

Fmod1 VAR WORD

Fmod2 VAR WORD

duty VAR WORD

interval VAR WORD

Q1 VAR WORD

Q2 VAR WORD

Q3 VAR WORD

muatan VAR WORD

irata VAR WORD

koreksi VAR WORD

pilih VAR BYTE

char VAR BYTE

ramp VAR BYTE

i VAR BYTE

sini VAR WORD

LCDduty VAR WORD

LCDinterval VAR WORD

ampnaik VAR portB.0 ampturun VAR portB.1 freknaik VAR portB.4 frekturun VAR portB.5 dutynaik VAR portB.6 dutyturun VAR portB.7

(19)

Perintah VAR berfungsi untuk mendefinisikan suatu variabel. Pernyataan “amp VAR WORD” bermaksud bahwa didefinisikan suatu variabel numerik bernama ‘amp’ dengan tipe WORD, yaitu suatu jenis variabel yang mampu menyimpan data numerik hingga 65535. Perintah VAR juga dapat digunakan untuk mmberi nama lain atau ‘alias’ dari suatu variabel atau port tertentu. Pernyataan “ampnaik VAR portB.0” berfungsi untuk mendefinisikan variabel dengan nama ‘ampnaik’ yang menyatakan nama lain dari portB.0 mikrokontroler.

OPTION_REG = %01001000

Pernyataan OPTION_REG merupakan salah satu nama register yang dimiliki oleh mikrokontroler PIC, bukan termasuk bahasa PIC Basic Pro. Tetapi PIC Basic Pro dapat secara langsung memanggil fungsi register-register yang dimiliki oleh mikrokontroler PIC yang didukungnya. Register OPTION_REG merupakan register baca tulis yang mengandung berbagai bit kendali untuk menyetel

prescaler TMR0 / postscaler WDT0, interupsi INT eksternal, TMR0 dan pull-up

lemah pada PORTB. Penyetelan OPTION_REG = %01001000 berfungsi untuk mengaktifkan bit aktivasi pull-up pada PORTB dan menugaskan prescaler kepada WDT.

trisB = %11110111 trisC = 0

trisD = 0

Perintah ‘tris’ juga merupakan nama register yang terdapat pada mikrokontroler PIC. ‘Tris’ harus diikuti dengan nama port dan penulisannya harus digabung. ’TrisB’ digunakan untuk mengatur portB sebagai input atau output. Dengan mengisikan nilai ‘0’ berarti portB diatur sebagai output. Jika bernilai ‘1’ berarti portB diatur sebagai input. Untuk mengatur secara lebih spesifik, dapat dituliskan dalam bentuk binernya. Pernyataan ‘trisB = %11110111’ berarti portB diatur sebagai input, kecuali portB.3 saja yang diatur sebagai output.

amp = 27

interval = 100 duty = 10 pilih = 0

(20)

portC=0 portD=0

Pernyataan-pernyataan di atas berfungsi untuk mengisikan nilai pada suatu variabel. Pernyataan ‘amp = 50’ artinya bahwa variabel ‘amp’ diisi dengan nilai desimal 50. Pernyataan ‘portC = 0’ digunakan untuk mengisikan bit 0 pada portC, yang menyatakan bahwa portC bernilai ‘low’.

ON INTERRUPT GOTO myint

...

RESUME

Pernyataan ‘ON INTERRUPT’ digunakan untuk menangani interupsi mikrokontroler menggunakan subrutin PIC Basic Pro. Penggunaan ‘ON INTERRUPT’ dengan subrutin PIC Basic Pro harus diakhiri dengan pernyataan ‘RESUME’ pada akhir subrutin. Apabila terjadi interupsi, setelah satu pernyataan yang sedang dijalankan selesai, maka secepat mungkin program akan melompat

ke interrupt handler pada label (pada pernyataan di atas labelnya bernama

‘myint’). Begitu interrupt handler selesai dilaksanakan, pernyataan ‘RESUME’ mengirim program kembali kepada tempat terjadinya interupsi.

INTCON = %00100000

INTCON juga merupakan nama register yang terdapat pada mikrokontroler PIC. INTCON adalah register baca tulis yang mengandung berbagai bit bendera dan aktivasi untuk register TMR0, perubahan port RB, dan interupsi pin RB0/INT eksternal. Penyetelan ‘INTCON = %00100000’ bermaksud untuk menonaktifkan semua jenis interupsi kecuali interupsi TMR0. Penyetelan ini berhubungan dengan penyetelan sebelumnya yaitu yang menggunakan OPTION_REG.

'main menu

menu:

LCDOUT $FE,1,"TES ELEKTRODA"

PAUSE 1000

portC = 120

PAUSE 1

portC = 0

LCDOUT $FE,1,"TES ELEKTRODA"

LCDOUT $FE,$c0,"SUKSES"

(21)

LCDOUT $FE,1,"SILAHKAN PILIH"

LCDOUT $FE,$c0,"SINYAL TERAPI..."

tunggu:

GOTO tunggu

Program di atas merupakan program pengantar sekaligus program untuk melakukan pemeriksaan awal atas pemasangan elektroda sebelum terapi dimulai. Tes elektroda dilakukan dengan memberikan pulsa persegi dengan amplitudo 392 µA selama 1 milidetik kepada pasien untuk menguji ketepatan pemasangan elektroda ke tubuh pasien. Program ini bekerjasama dengan sistem proteksi yang apabila sistem proteksi menemui arus listrik yang diberikan kurang dari 392 µA, maka akan terjadi interupsi yang akan memaksa program untuk kembali kepada program menu. Apabila hasil pengujian elektroda menyatakan berhasil, maka program akan dilanjutkan kepada pemilihan sinyal terapi. Pada tahap ini program akan menunggu sampai pengguna melakukan interupsi pada tombol ‘select’ untuk memilih jenis sinyal terapi yang diinginkan.

'Program utama

loop:

'menghitung nilai arus listrik

A1 = 3 * amp A2 = 9 * amp / 10 A3 = 2 * amp / 100

arus = A1 + A2 + A3 'dalam uA' 'menghitung nilai periode

period = LCDduty+LCDinterval 'dalam ms' 'menghitung nilai frekuensi

F1 = 1000 / period Fmod1 = 1000 // period F2 = 10 * Fmod1 / period Fmod2 = 10 * Fmod1 // period F3 = 10 * Fmod2 / period frekm = 1000*F1 + 100*F2 + 10*F3 'dalam mHz' IF duty <= 257 THEN Q1 = amp * duty / 10 * 3 Q2 = amp * duty / 10 * 9 / 10 Q3 = amp * duty / 10 * 2 / 100 muatan = (Q1 + Q2 + Q3)/4 ELSE Q1 = duty / 4 * amp / 10 * 3 Q2 = duty / 4 * amp / 10 * 9 / 10 Q3 = duty / 4 * amp / 10 * 2 / 100

(22)

ENDIF

IF muatan > 4675 THEN portC = 0

portD = 0

LCDOUT $FE,1,"MUATAN LISTRIK"

LCDOUT $FE,$c0,"MELEBIHI 187 uC"

PAUSE 1000

GOTO loop

ENDIF

irata = muatan * 10 / period * 4

'koreksi digital

irata = irata + 6

IF irata > 300 THEN portC = 0

portD = 0

LCDOUT $FE,1,"ARUS RATA-RATA"

LCDOUT $FE,$c0,"MELEBIHI 300 uA"

PAUSE 1000

GOTO loop

ENDIF

LCDOUT $FE,1,"I=", DEC arus, "uA"

LCDOUT $FE,$c0,"f=", DEC F1, ",", DEC F2, DEC F3, "Hz,t=", DEC

LCDduty, "ms"

...(Program sinyal terapi)

GOTO loop 

Petikan program di atas adalah bagian dari program utama. Pada bagian awal program utama, terdapat beberapa perhitungan parameter-parameter sinyal terapi arus mikro yang akan dibangkitkan oleh masing-masing program di atas. Variabel ‘arus’ adalah variabel yang digunakan untuk menunjukkan nilai yang sebenarnya dari arus listrik yang dikeluarkan oleh alat stimulasi OpenMCS. Ia mengkonversi nilai variabel ‘amp’ yang berkisar antara 0 hingga 255 ke dalam besaran arus listrik nyata yang diberikan yaitu antara 0 hingga 1000 µA.

Untuk menghitung nilai arus listrik, frekuensi, lebar pulsa, muatan listrik, dan arus listrik rata-rata secara tepat, digunakan perhitungan menggunakan modulus dan pemecahan perhitungan. Hal ini disebabkan karena PICBasic tidak mengenal jenis bilangan floating point dan jumlah bilangan maksimum yang dapat dioperasikan adalah 65535.

(23)

Pada program ini juga dilakukan perhitungan nilai muatan listrik dan arus listrik rata-rata sebagai bagian dari sistem pengaman secara software. Untuk setiap sinyal stimulasi yang dibangkitkan, nilai muatan listrik tidak diperkenankan melebihi 187 µC sedangkan nilai arus listrik rata-rata tidak diperkenankan melebihi 300 µA. Perhitungan nilai muatan listrik dan nilai arus listrik rata-rata diberikan pada persamaan 3.6 dan 3.7.

.

(3.6) (3.7) dimana: q = muatan listrik (dalam µC)

I = kuat arus listrik (µA) τ = lebar pulsa (ms)

Ī = kuat arus listrik rata-rata (µA)

T = periode sinyal (ms)

'Program pulsa persegi 1

WHILE pilih = 1 portC = amp PAUSE duty portC = 0 PAUSE interval portD = amp PAUSE duty portD = 0 PAUSE interval WEND

Program pulsa persegi 1 merupakan program yang berfungsi untuk membangkitkan pulsa persegi jenis kesatu. Rancangan pulsa persegi jenis kesatu berbentuk seperti yang ditunjukkan pada gambar 3.10.

Pada sinyal persegi 1, parameter yang dikendalikan adalah amplitudo, frekuensi, dan lebar pulsa persegi 1. Program pulsa persegi 1 bekerja dengan menjadikan portC dan portD bernilai antara 0 hingga 255 secara bergantian bergantung pada besarnya amplitudo yang diperlukan. Pembangkitan ini dilakukan terus di dalam

(24)

  Gambar 3. 11 Bentuk sinyal persegi 1 dalam perancangan  

'Program pulsa persegi 2

WHILE pilih = 2 portC = amp PAUSE duty portC = 0 portD = amp PAUSE duty portC = 0 portD = 0 PAUSE interval WEND

Program pulsa persegi 2 membangkitkan sinyal persegi dalam bentuk yang berbeda dengan pulsa persegi 1. Rancangan pulsa persegi 2 mempunyai bentuk seperti yang ditunjukkan pada gambar 3.11.

  Gambar 3. 12 Bentuk sinyal persegi 2 dalam perancangan

(25)

Pada sinyal persegi 2, parameter yang dikendalikan adalah amplitudo, frekuensi, dan lebar pulsa persegi 2.

'Program pulsa persegi 3

WHILE pilih = 3 portC = amp PAUSE duty portC = 0 portD = amp PAUSE duty portD = 0 WEND

Program pulsa persegi 3membangkitkan pulsa persegi tanpa delay. Parameter yang dikendalikan para pulsa persegi 3 adalah amplitudo dan lebar pulsa. Nilai frekuensi yang dihasilkan akan mengikuti lebar pulsa yang diatur oleh pengguna. Bentuk rancangan pulsa persegi 3 ditunjukkan pada gambar 3.12.

  Gambar 3. 13 Bentuk sinyal persegi 3 dalam perancangan

'Program pulsa ramp 1

WHILE pilih = 4 FOR i = 1 TO 4 portC = amp * i / 4 PAUSE duty / 4 NEXT i portC = 0 PAUSE interval FOR i = 1 TO 4 portD = amp * i / 4 PAUSE duty / 4

(26)

NEXT i portD = 0

PAUSE interval

WEND

Program pulsa ramp 1 adalah program berfungsi untuk yang membangkitkan pulsa berbentuk anak tangga (ramp). Pulsa ramp 1 mempunyai bentuk seperti yang ditampilkan pada gambar 3.13. Sama halnya dengan pulsa persegi, pulsa ramp dapat diatur nilai amplitudo, frekuensi dan lebar pulsanya. Pada setiap pulsa ramp terdapat 4 buah anak tangga. Nilai amplitudo yang ditentukan oleh pengguna dibagi 4 sama besar oleh program pulsa ramp dan begitu pula dengan nilai lebar pulsanya.

  Gambar 3. 14 Bentuk sinyal ramp 1 dalam perancangan

'Program pulsa ramp 2

WHILE pilih = 5 FOR i = 1 TO 4 portC = amp * i / 4 PAUSE duty / 4 NEXT i portC = 0 FOR i = 1 TO 4 portD = amp * i / 4 PAUSE duty / 4 NEXT i portD = 0 PAUSE interval WEND

(27)

Program pulsa ramp 2 membangkitkan variasi lain dari pulsa ramp. Bentuk pulsa ramp 2 adalah seperti yang ditampilkan pada gambar 3.14.

  Gambar 3. 15 Bentuk sinyal ramp 2 dalam perancangan  

'Program Interupsi

DISABLE

myint:

WHILE ampnaik=0 OR ampturun=0 OR freknaik=0 OR frekturun=0 OR

dutynaik=0 OR dutyturun = 0 OR portB.2=0 ... IF pilih = 0 THEN GOTO menu ELSE GOTO loop ENDIF WEND

Beberapa baris program di atas merupakan pengaturan awal program interupsi. Program interupsi akan bekerja jika salah satu dari portB, selain portB.3, bernilai 0. Selanjutnya persyaratan ‘IF pilih = 0 THEN ...END IF’ berfungsi untuk mengarahkan program ke menu pada saat pemilihan sinyal terapi pertama kali apabila yang ditekan bukan tombol ‘select’. Jika yang ditekan adalah tombol ‘select’ maka program akan berlanjut ke loop.

'Menaikkan amplitudo

WHILE amp < 255 && ampnaik = 0

portC = 0 portD = 0 amp = amp + 1

(28)

WEND

Untuk menaikkan amplitudo, yang dilakukan adalah melakukan penambahan nilai variabel ‘amp’. Penambahan dilakukan jika nilai variabel ‘amp’ kurang dari 255 dan pada saat ‘ampnaik’ atau portB.0 berstatus ‘low’. Pada saat melakukan interupsi, portC dan portD harus dinolkan supaya tidak terjadi pemberian pulsa berkepanjangan kepada pasien selama pengguna menekan tombol.

'Menurunkan amplitudo

WHILE amp > 0 && ampturun = 0 && portB.2 != 0

portC = 0 portD = 0 amp = amp - 1

PAUSE 100

WEND

Untuk menurunkan amplitudo dilakukan penurunan nilai variabel ‘amp’. Proses akan dilaksanakan jika nilai ‘amp’ lebih dari 0 dan ‘ampturun’ (portB.1) berstatus ‘low’. Penambahan syarat portB.2 tidak sama dengan nol diperlukan karena pada program proteksi, gabungan portB.1 dan portB.2 ditetapkan untuk melakukan reset program menuju menu utama.

'Menaikkan frekuensi

WHILE frekm/10 < 50000 && freknaik = 0

portC = 0 portD = 0

WHILE frekm/10 < 50000 && freknaik = 0

IF interval < 100 THEN interval = interval - 1 PAUSE 500 ELSE IF interval < 1000 THEN interval = interval - 1 PAUSE 25 ELSE interval = interval - 10 PAUSE 10 ENDIF ENDIF WEND GOTO sinyal WEND

(29)

Pada program µStimS, variabel yang dapat diatur adalah variabel ‘amp’, ‘interval’, dan ‘duty’. Untuk menaikkan frekuensi, yang dilakukan oleh program adalah dengan mengurangi nilai variabel ‘interval’. Proses pengurangan nilai variabel ‘interval’ akan dilakukan jika nilai variabel ‘frekm’ kurang dari 500000. Variabel ‘frekm’ adalah variabel yang menampung perhitungan frekuensi sinyal dalam orde milihertz. Karena PICBasic hanya mampu menghitung hingga 65535 maka persyaratan dituliskan menjadi apabila nilai variabel “frekm”/10 kurang dari 50000 dengan menanggung resiko kesalahan akibat pembulatan hasil pembagian.

'Menurunkan frekuensi

WHILE frekm > 250 && frekturun = 0

portC = 0 portD = 0

WHILE frekm > 250 && frekturun = 0

IF interval < 100 THEN interval = interval + 1 PAUSE 500 ELSE IF interval < 1000 THEN interval = interval + 1 PAUSE 25 ELSE interval = interval + 10 PAUSE 10 ENDIF ENDIF WEND GOTO sinyal WEND

Penurunan frekuensi dilakukan dengan menambah nilai variabel ‘interval’. Penambahan nilai variabel ‘interval’ dilakukan jika nilai ‘frekm’ lebih dari 250. Hal ini menunjukkan bahwa sinyal arus mikro yang dibangkitkan mempunyai frekuensi minimum 0,25 Hz.

'Menaikkan duty cycle

WHILE duty < 999 && dutynaik = 0

portC = 0 portD = 0

WHILE duty < 999 && dutynaik = 0

duty = duty + 1

(30)

GOTO sinyal

WEND

'Menurunkan duty cycle

WHILE duty > 1 && dutyturun = 0

portC = 0 portD = 0

WHILE duty > 1 && dutyturun = 0

duty = duty - 1

PAUSE 100

WEND

GOTO sinyal

WEND

Untuk menambah lebar pulsa, yang dilakukan oleh program adalah menambah nilai variabel ‘duty’ sedangkan untuk mengurangi lebar pulsa, dilakukan pengurangan nilai variabel ‘duty’. Variabel ‘duty’ akan bertambah jika nilai variabel ‘duty’ kurang dari 999. Sedangkan syarat untuk menurunkan nilai variabel ‘duty’ adalah ketika nilai variabel ‘duty’ lebih dari 1.

'Memilih bentuk gelombang

WHILE portB.2 = 0 AND ampturun != 0

IF pilih = 5 THEN

pilih = 0

ENDIF

pilih = pilih + 1

LCDOUT $FE,1,"SINYAL"

LCDOUT $FE,$c0

sinyal:

SELECT CASE pilih CASE 1

'perhitungan dan koreksi

LCDduty = duty + 1

LCDinterval = 2*interval FOR i = 0 TO 10

LOOKUP i,["PERSEGI 1 "],char LCDOUT char

NEXT i CASE 2

'perhitungan dan koreksi

LCDduty = duty + 1

LCDinterval = interval FOR i = 0 TO 10

LOOKUP i,["PERSEGI 2 "],char LCDOUT char

NEXT i CASE 3

(31)

LCDduty = duty + 1 LCDinterval = 0 FOR i = 0 TO 10

LOOKUP i,["PERSEGI 3 "],char LCDOUT char

NEXT i CASE 4

'perhitungan dan koreksi

LCDduty = duty + 8

LCDinterval = 2*interval FOR i = 0 TO 10

LOOKUP i,["RAMP 1 "],char LCDOUT char

NEXT i CASE 5

'perhitungan dan koreksi

LCDduty = duty + 8

LCDinterval = interval FOR i = 0 TO 10

LOOKUP i,["RAMP 2 "],char LCDOUT char

NEXT i END SELECT

PAUSE 1000

WEND

Program di atas adalah program untuk melakukan pemilihan sinyal terapi. Program akan melaksanakan fungsi pemilihan sinyal jika portB.2 dalam status ‘low’. Penambahan persyaratan bahwa ‘ampturun’ (portB.1) tidak sama dengan nol juga dikarenakan bahwa kombinasi antara portB.1 dan portB.2 dipergunakan sebagai interupsi otomatis pada program proteksi. Pada program pemilihan sinyal terapi, terdapat enam pilihan sinyal yang masing-masing akan mengacu pada program pembangkitan sinyal yang bersangkutan. Ketika program pemilihan sinyal dijalankan, terjadi proses penambahan nilai variabel ‘pilih’ yang berfungsi sebagai penanda kategori sinyal yang dipilih. Pada masing-masing kelompok sinyal, terdapat beberapa perhitungan yang akan digunakan dalam tampilan di LCD.

'Peringatan keamanan

WHILE portB.1 = 0 AND portB.2 = 0

portC = 0 portD = 0

(32)

LCDOUT $FE,1,"ADA KESALAHAN!"

PAUSE 1000

GOTO menu

WEND

Program peringatan keamanan bekerja secara otomatis jika portB.1 dan portB.2 berstatus ‘low’. Pengubahan status ini dilakukan secara hardware oleh sistem proteksi secara otomatis. Apabila terjadi kesalahan, maka program akan memaksa semua pin pada portC dan portD ke status ‘low’ dan menampilkan peringatan bahwa telah terjadi kesalahan pada tampilan LCD. Proses ini akan berulang terus-menerus sampai kesalahan diperbaiki atau alat stimulasi OpenMCS dimatikan.

Gambar

Tabel 3. 1 Perbandingan fitur OpenMCS dan µStimS dengan Alpha-Stim 100 dan Trio  Stim [6,7,8,9,10]
Gambar 3. 3 Skema rangkaian DAC menggunakan penguat penjumlah dan pengurang   
Gambar 3.8 menunjukkan struktur program µStimS. Sedangkan realisasi program  µStimS bekerja berdasarkan algoritma yang diilustrasikan pada gambar 3.9

Referensi

Dokumen terkait

Berdasarkan hasil seleksi tertulis calon anggota PPK pada Pemilihan Gubernur dan Wakil Gubernur Jawa Barat Tahun 2018, dengan ini diumumkan nama-nama yang lulus dalam seleksi

pembagian Anggah- Ungguhing Basa Bali sebagaimana terurai di atas, tampaknya penutur bahasa Bali dituntut untuk menguasai beberapa sistem stratifikasi masyarakat Bali,

Tujuan dari laporan akhir ini adalah untuk mengetahui kinerja keuangan perusahaan berdasarkan rasio likuiditas, leverage , aktivitas dan profitabilitas pada PT

Penelitian ini dibatasi terhadap 3 kelompok pra-perlakuan yaitu pra-perlakuan tunggal (gelombang mikro dan biologis) sebagai pembanding dan pra-perlakuan kombinasi

Maka dapat disimpulkan oleh peneliti bahwa dari hasil pemerolehan data yang terdapat dalam penelitian ini, bahwa masalah dalam penelitian ini tentang bagaimana

Langkah – langkah dalam model pembelajaran kooperatif Quick On The Draw yang menunjukkan adanya aktivitas siswa yaitu mendengarkan penjelasan ketika guru menyajikan

Berdasarkan uji hipotesis yang telah dilakukan, ketiga variabel tersebut memiliki nilai prob (F-statistic) sebesar 0.000 artinya bahwa secara bersama-sama ketiga

RENCANA UMUM PENGADAAN BARANG DAN JASA DINAS PEKERJAAN UMUM KABUPATEN TANAH LAUT.. TAHUN