BAB 3 PERANCANGAN SISTEM 3.1 Analisa Permasalahan Pendapatan tangkapan ikan tiap nelayan dipengaruhi oleh ketersediaan ikan itu sendiri. Dimana ketersediaan ikan di laut dipengaruhi oleh suhu, salinitas, arus permukaan, kedalaman perairan, kondisi laut dan cuaca. Pada beberapa daerah, nelayan seringkali tidak memanfaatkan hasil potensi laut semaksimal mungkin (Laporan Lipi, 2003). Beberapa daerah yang lain saat ini jumlah tangkapan nelayan terus-menerus berkurang, seperti yang terjadi di Kepulauan Seribu (Kompas M edia, 2008). Tabel 3.1. Perkembangan Nilai Ikan Hasil Tangkapan di Perairan Umum Daerah Sumatera Selatan Tahun 2003-2007 Selain masalah ketersediaan ikan, nelayan seringkali terhadang masalah penentuan jalur mana yang harus ditempuh, yang menyebabkan kebutuhan bahan bakar sangat penting. Kenaikan harga bahan bakar (Kompas M edia, 2008) memberikan dampak bagi para nelayan. Kenaikan ini menyebabkan nelayan harus mengeluarkan dana yang lebih besar untuk bahan bakar. Padahal dana yang harus dikeluarkan untuk melaut sudah 82 83 cukup besar. (Firdaus, 2008). Seringkali setelah nelayan pulang melaut pun harus menghadapi kenyataan pulang dengan tangan hampa. Sejak tahun 2004, Lembaga Penerbangan dan Antariksa Nasional (LAPAN) dengan menggunakan fish finder dan teknologi navigasi GPS, nelayan bisa memetakan Zona Potensi Penangkapan Ikan (ZPPI). Dengan pemetaan ini, nelayan bisa mengetahui daerah mana yang berpotensi untuk menangkap ikan. Selain itu, sekitar tahun 2009, dibuatlah Peta Prakiraan Daerah Penangkapan Ikan (PPDPI) oleh M ahasiswa Universitas Diponogoro, Paret Agung Sanjaka. Seperti halnya ZPPI, alat ini menggunakan fish finder dan teknologi navigasi GPS. PPDPI ini dibuat dengan harapan dapat mengubah paradigma “berburu” untuk menangkap ikan menjadi “mengambil” dengan bantuan teknologi satelit. ZPPI dan PPDPI dapat membantu nelayan untuk mencari lokasi titik ikan, tetapi nelayan masih menggunakan cara lama untuk menentukan arah tujuan ke titik lokasi ikan. Dalam arti, hanya mengandalkan arah mata angin yang ditunjukan kompas saja, sehingga tetap ada kemungkinan membutuhkan waktu melaut yang lama. Untuk membantu mengatasi masalah yang ada, maka dibutuhkan alat yang dapat mengirimkan informasi titik ikan langsung ke Pusat Informasi, sekaligus menampilkannya ke nelayan. Dengan menggunakan teknologi GPS dan sistem komunikasi radio frekuensi (RF) serta pengoperasian fish finder, maka terciptalah Sistem Terpusat Penentuan Lokasi Keberadaan Ikan dan Penuntun Kapal Nelayan pada tahun 2007 oleh Antoni Susanto dkk. Dengan sistem ini, nelayan dapat langsung menuju titik ikan terdekat dengan mengikuti arah yang ditunjukkan sistem. Alat atau sistem ini, terbukti dapat mengirimkan informasi lokasi keberadaan ikan secara lengkap, menentukan titik ikan terdekat, dan menuntun kapal nelayan menuju titik ikan tersebut. 84 Sistem ini hanya dapat berkomunikasi pada 0 km hingga 1.2 km saja, karena masih menggunakan RF. Dengan kata lain, pada saat ini dibutuhkan alat yang bisa memberitahukan dimana lokasi ikan yang selalu update, sekaligus bisa memberikan arahan (menuntun) nelayan ke lokasi ikan tersebut. Dimana alat ini harus bisa berkomunikasi pada jarak yang bebas (tidak ditentukan), sehingga dapat mencari ikan di tengah laut sekalipun. Secara garis besar sistem yang dibuat untuk membantu masalah di atas: • M embangun sebuah perangkat bergerak yang bisa berfungsi ganda. Fungsi yang pertama untuk mengirimkan lokasi keberadaan ikan ke pusat (Terminal) bila ditekan tombol tertentu pada mode mobile guidance. Selain itu, akan dilakukan proses penuntunan nelayan ke lokasi ikan dengan memberikan informasi arah yang dituju. Fungsi yang kedua untuk mencari dimana lokasi ikan berada, yang kemudian dijadikan titik ikan untuk dikirimkan ke terminal. Terminal akan terus melakukan monitoring terhadap mode mobile scanner ini, agar selalu bisa mengupdate data titik-titik ikan. Kedua fungsi ini bisa dipilih sesuai dengan kebutuhan. Ketika perangkat ini dinyalakan, maka akan masuk mode navigasi kompas. Selama penggunaan mode navigasi kompas bisa dipanggil kembali dengan menekan tombol fungsinya. • M embangun perangkat lunak yang digunakan pada pusat Terminal. Di sini Terminal akan menerima dan mengolah data titik ikan yang diterima dari mobile scanner, yang kemudian dikirimkan ke mobile guidance yang memintanya. Sekaligus menampilkan atau memvisualisasikan lokasi kapal dan lokasi ikan secara real time. 85 Untuk membangun alat ini maka peneliti memilih sejumlah komponen yang diharapkan mampu berintegrasi dan melakukan semua fungsi yang diinginkan. Komponen-komponen tersebut adalah sebagai berikut a. NB2-DSK01 Peneliti memilih NB2-DSK01 karena merupakan sebuah modul yang mempermudah perancangan FPGA. Penulis juga menggunakan FPGA dengan harapan di kemudian hari, sistem dapat dimodifikasi menjadi lebih baik dengan lebih mudah. b. GM 862-GPS Alat yang dirancang memerlukan komunikasi GSM dan memerlukan kemampuan untuk menangkap sinyal GPS. GM 862-GPS merupakan satu modul yang meninteregasikan komunikasi GSM dan kemampuan GPS dalam satu modul. c. HM C6343 Kompas diperlukan dalam melakukan navigasi dan perhitungan arah yang harus dituju oleh nelayan. Penulis memilih HM C6343 karena memiliki kemampuan Tilt Compensation untuk mengolah kemiringan kompas agar tetap menunjukan arah yang benar sehingga baik untuk digunakan di laut d. u-OLED128 Penulis memilih u-OLED128 sebagai display komponen karena daya yang diperlukan u-OLED lebih kecil dari LCD biasa dan kemampuan u-OLED128 untuk menampilkan bentuk grafis. 86 3.2. Perancangan Perangkat Keras Gambar 3.1. Diagram blok sistem Diagram blok sistem di atas, terbagi atas dua buah bagian yang dihubungkan dengan modul GPS/ GSM . Bagian pertama dihubungkan dengan PC atau telepon selular, dimana sistem ini digunakan sebagai terminal penghubung dan pengawas antara mobile guidance atau mobile scanner. Bagian kedua merupakan blok sistem dari mobile guidance atau mobile scanner. Sistem ini terdiri dari Altium NanoBoard NB2-DSK01, modul GPS/ GSM (GM 862-GPS), kompas digital (HM C6343), modul LCD (µOled128) dan tombol joystick (atas, bawah, kiri, kanan, dan tekan). Altium NanoBoard ini berfungsi sebagai sistem kontrol utama yang akan mengatur dan mengolah data yang didapat dari modul GPS/ GSM dan kompas digital. Pada dasarnya modul ini merupakan development board yang menggunakan FPGA Spartan 3 sebagai chip prosesor utamanya. Dimana FPGA Spartan 3 ini menggunakan tipe 87 prosesor TSK3000A. Sistem kontrol ini akan menerima input dari modul GPS/ GSM , kompas digital dan beberapa tombol (tombol joystick) untuk memilih mode (mobile scanner atau mobile guidance), kemudian akan menampilkan tampilan sesuai dengan mode yang dipilih dan data yang diterima dari modul GPS/ G SM dan kompas digital. Tampilan tersebut akan ditampilkan pada modul LCD berupa jarak dan arah. M odul GPS/ GSM menggunakan modul GM 862-GPS yang diproduksi oleh Telit. M odul ini mengintegrasikan GPS, GSM dan GPRS (tidak dipakai pada penelitian ini). Pada terminal, sistem akan bisa mengetahui keberadaan mobile guidance atau mobile scanner, sekaligus lokasi wilayah tangkap ikan yang didapatkan mobile scanner, dengan menggunakan fasilitas GPS/ G SM . Pada mobile scanner atau mobile guidance, sistem akan memberitahukan lokasinya, sekaligus menerima data lokasi ikan dengan fasilitas GSM . M odul GM862-GPS dan PC/ telepon selular akan berkomunikasi dengan komunikasi serial melalui kabel usb, sedangkan modul GM 862-GPS dan NanoBoard NB2-DSK01 akan berkomunikasi dengan komunikasi serial UART. Kompas yang digunakan merupakan modul kompas digital HM C6343 (akurasi 20 dan resolusi 0,10) yang melakukan interface dengan I2C. Dengan modul ini, akan didapatkan data arah mata angin selayaknya kompas analog biasa. Data yang dikirimkan berupa byte yang akan menunjukkan pada posisi mana sistem berada (Timur, Selatan, Barat, Utara ataupun diantara ke empat arah mata angin tersebut). M odul LCD menggunakan µ-Oled128 buatan 4D System. M odul LCD ini berfungsi untuk menampilkan berbagai informasi, antara lain: posisi di bumi berdasarkan arah mata angin (kompas), posisi target yang ingin dituju (baik lokasi wilayah tangkap ikan dan kembali ke tempat awal) dan informasi-informasi yang 88 dibutuhkan selama berlayar. Informasi-informasi ini ada yang ditampilkan secara langsung dan ada pula yang bisa dipilih dengan menekan tombol tertentu. Tombol pada sistem ini berupa joystick dengan pilihan ke atas, bawah, kiri, kanan dan ditekan. Pada kelima pilihan tombol ini, bisa dipilih mode yang ingin digunakan dan informasi yang ingin ditampilkan. Pemilihan menu bisa dilakukan dengan cara memilih atau menggerakkan joystick ke atas, bawah, kiri, kanan maupun ditekan. Dimana arah ke atas untuk memilih pilihan ke satu, ke kiri untuk pilihan ke dua, ke bawah untuk pilihan ke tiga, dan ke kanan untuk pilihan ke empat. Selain itu, untuk beberapa menu, terdapat pilihan ke lima yang bisa dipilih dengan menekan joystick. 3.2.1. Altium NanoBoard NB2-DSK01 FPGA yang dipakai pada Altium NanoBoard NB2-DSK01 menggunakan tipe prosesor TSK3000A. Tipe prosesor TSK3000A bisa menghubungkan beberapa peripheral sekaligus dengan cara yang lebih mudah. Dalam hal ini, digunakan tiga buah peripheral. Penghubungan ketiga peripheral tersebut menggunakan wishbone interconnect. Setiap peripheral pun menggunakan wishbone tertentu yang sesuai dengan cara mengkomunikannya agar dapat dihubungkan dengan wishbone interconnect. Seperti pada modul µ-Oled128 dan modul GM 862-GPS menggunakan wishbone UART karena untuk mengakses GM 862-GPS tersebut menggunakan komunikasi serial. Wishbone UART tersebut akan dihubungkan ke peripheral RS232. Pada HM C6343 menggunakan wishbone I2C karena untuk mengakses HM C6343 tersebut menggunakan komunikasi I2C. Wishbone I2C tersebut akan 89 dihubungkan ke peripheral I2C dimana akan terdapat pin SDA dan SCL telah dihubungkan pada user header A pada NanoBoard NB2-DSK01 sehingga dapat langsung dihubungkan pada HM C6343. Gambar 3.2. Sistem OpenBus yang digunakan pada TSK3000A Wishbone interconnect dengan menggunakan prosesor TSK3000A ini dibuat dengan sistem OpenBus. Dengan menggunakan Altium Designer Summer 9, sistem OpenBus ini bisa dibuat. Pertama-tama di tentukan terlebih dahulu tipe prosesor apa yang digunakan, kemudian menentukan memori dan peripheral apa saja yang akan dipakai. Dalam hal ini, penulis menggunakan prosesor TSK3000A, sedangkan untuk peripheral akan dipakai WB_PRTIO_1 (port input output), WB_UART8_V2_1 (port komunikasi serial UART yang pertama), WB_I2CM _1 (port komunikasi I2C), dan WB_UART8_V2_2 (port komunikasi serial UART yang kedua). Peripheral-peripheral ini akan disambungkan sesuai kebutuhan, 90 sehingga menghasilkan desain seperti pada Gambar 3.2. Dari rangkaian OpenBus tersebut, kemudian dibuat menjadi sebuah sheet symbol yang sederhana untuk dihubungkan dengan komponen-komponen yang bersangkutan. Bentuknya berupa kotak yang terdapat pin-pin sesuai dengan peripheral yang digunakan. Sheet symbol dari sistem OpenBus ditunjukkan pada gambar kotak berwana hijau yang di tunjukkan panah pada Gambar 3.3. 91 Gambar 3.3. Skematik rangkaian TSK3000A 92 Pada rangkaian yang ditunjukkan Gambar 3.3, menunjukkan prosesor TSK3000A dengan instrumen dan peripheral-peripheral yang digunakan. Dimana TSK3000A menggunakan instrumen clock (CLK_I) dan reset (RST_I), sedangkan peripheral yang digunakan sesuai dengan yang dirancang pada sistem OpenBus, kecuali WB_M EM _CTRL_SRAM . Pin WB_M EM _CTRL_SRAM ini dihubungkan langsung ke memori yang terdapat pada NanoBoard. Pin ini dipakai untuk menyimpan data-data yang diterima oleh NanoBoard NB2-DSK01 tersebut. Dimana ukuran memori yang dipakai bisa di atur sesuai keinginan, yaitu antara 8KB sampai 1M B. Dalam prosesor TSK3000A ini, data disimpan dalam satu word. Satu word ini terdiri dari 32 bit. Besar memori yang di pilih 16KB, sehingga jumlah word yang bisa disimpan adalah 4K (32bit=4byte, 4K x 4byte=16KB). Pengaturan besar memori ini, dilakukan ketika melakukan konfigurasi prosesor TSK3000A, di bagian internal processor memory. Pada alat ini digunakan 32KB [8K x 32 bit words]. Komunikasi UART pada NanoBoard ini ada dua buah, untuk itu digunakan WB_UART8_V2_1 dan WB_UART8_V2_2. Dimana WB_UART_8_V2_2 dihubungkan ke RS232 yang terdapat pada NanoBoard, yang kemudian dihubungkan ke GM 862-GPS. WB_UART8_V2_1 dihubungkan ke pin user header A dan kemudian dihubungkan dengan µ-Oled128. Dimana user header pin 3, 5, 7 dan 9 digunakan sebagai pin RX, TX, CTS dan RTS. Untuk komunikasi UART ini (baik untuk berkomunikasi dengan GM 862-GPS maupun µ-Oled128), format yang digunakan adalah 8n1. Yang berarti 8 data, tidak terdapat parity, dan bit terakhir menandakan stop bit. 93 Selain WB_UART8_V2_1, WB_I2CM juga dihubungkan ke pin user header A. Pin ini digunakan sebagai komunikasi serial yang akan melakukan komunikasi dengan HM C6343. Untuk itu WB_I2CM ini dihubungkan dengan rangkaian I2C yang menghubungkan pin data (SDA) dan clock (SCL). Dimana user header A pin 17 (HA17) sebagai pin SDA dan user header A pin 19 (HA19) sebagai pin SCL. Untuk mengetahui ada tidaknya eror, maka digunakan LED sebagai indikatornya. Dimana LED ini terhubung ke pin WB_PRTIO. LED yang ada pada NanoBoard ada 8 buah, yang menyatakan 8 bit atau 0xFF. Ketika inisialisasi UART1 (yang terhubung ke µ-Oled128) mengalami kegagalan, maka LED akan menyala 0x01, sedangkan jika berhasil akan menyala 0x0F. Ketika inisialisasi UART2 (yang terhubung ke GM 862-GPS) mengalami kegagalan, maka LED akan menyala 0x02, sedangkan jika berhasil akan menyala 0xF0. Ketika inisialisasi I2C (yang terhubung ke HM C6343) mengalami kegagalan, maka LED akan menyala 0x03, sedangkan jika berhasil akan menyala 0xFF. Pada I2C, jika terdapat kegagalan saat read maka LED akan menyala 0x04, sedangkan jika berhasil akan menyala 0x06. Pada saat melakukan write, jika terjadi kegagalan maka akan menyala 0x05, jika berhasil 0x07 yang akan ditampilkan. Pada saat menjalankan aplikasi, jika tidak terdapat SM S balesan dari terminal, maka LED akan menyala 0x5F. 94 3.2.2. Konektor Penghubung Gambar 3.4. User Header A pada NanoBoard NB2-DSK01 Konektor penghubung ini digunakan untuk menghubungkan NanoBoard NB2-DSK01 dengan HM C6343 dan µ-Oled128. Konektor penghubung ini mengunakan pin user header A yang terdapat pada NanoBoard NB2-DSK01. Dimana pin 1 sebagai VCC (5 volt) dan pin 20 sebagai Ground. Pin yang lain digunakan berdasarkan skematik yang dibuat. Dalam hal ini, pin-pin yang digunakan sesuai tabel dibawah ini. Tabel 3.2. Pin yang digunakan sebagai konektor penghubung Pin Fungsi Keterangan 1 VCC 5 volt 3 RX 5 TX Penghubung ke 7 CTS µ-Oled128 9 RTS 10-16 NC Tidak digunakan 17 SDA Penghubung ke 19 SCL HM C6343 20 Ground - 95 Gambar 3.5. Rangkaian User Header A User header A bisa dipilih menggunakan tegangan 5 volt atau 3,3 volt sebagai VCC. Untuk alat ini digunakan tegangan 5 volt sebagai VCC 3.2.3. Kompas Digital (HM C6343) Kompas digital HM C6343 yang di pakai ini, menggunakan tegangan 3,3 volt. Yang berarti memiliki tegangan yang berbeda dari tegangan NanoBoard ataupun GM 862-GPS. Untuk itu, input yang diberikan ke HM C6343 ini diberikan voltage regulator terlebih dahulu. Voltage regulator yang digunakan adalah jenis CX1117-3.3 yang akan membatasi tegangan menjadi 3,3 volt, yang sesuai dengan kebutuhan HM C6343. 96 Gambar 3.6. Pin Out HM C6343 3.2.4. µ-Oled128 µ-Oled128 dalam perancangannya menggunakan carrier board yang langsung menghubungkan µ-Oled128 dengan joystick. Dalam board ini, pin IO1 µ-Oled128 sudah dihubungkan dengan joystick. Board ini mengeluarkan lima buah pin dari pin-pin yang ada pada µ-Oled128. Dimana kelima pin inilah yang akan dihubungkan ke NanoBoard untuk berkomunikasi. Pin-pin ini terdiri dari pin reset, GND, TX, RX dan VCC 5 volt. Gambar 3.7. Pin UART pada carrier board µ-Oled128 Selain itu, board ini terdapat rangkaian speaker atau penguat suara. Rangakaian ini langsung dihubungkan ke pin IO2 pada µ-Oled128. Output suara dari µ-Oled128 sebenarnya bisa dihubungkan ke pin IO1 maupun pin IO2, namun karena joystick hanya bisa dihubungkan ke pin IO1, maka rangkaian penguat suara ini dihubungkan ke pin IO2. 97 Gambar 3.8. Rangkaian penguat suara 3.2.5. Tombol Joystick Tombol joystick yang dipakai pada alat ini, langsung disambungkan ke µOled128. Tombol joystick yang memiliki enam kaki, lima kakinya dirangkai dengan resistor yang memiliki nilai berbeda-beda. Kaki ke enam dihubungkan langsung ke pin input output (IO1) pada µ-Oled128. Rangkaian ini berfungsi sebagai rangkaian pembagi tegangan yang akan menjadi input IO1. Input yang di dapat oleh µ-Oled128 akan di terjemahkan sehingga µ-Oled128 dapat menentukan tombol apa yang ditekan oleh user. Tabel 3.3. Resistor yang digunakan untuk joystick Tombol Resistor 1 / SW1 22K 2/ SW2 10K 3/ SW3 4K7 98 4/ SW4 2K2 5/ SW5 1K2 Gambar 3.9. Rangkaian tombol joystick Pada pin satu dihubungkan dengan resistor 22K. Berdasarkan rumus pembagi tegangan, maka 22K = 0,82 . Nilai 0,82 inilah yang kemudian dikalikan 22K + 4 K 7 dengan VCC 3,3 volt dan menghasilkan 2,71 volt, jika nilai 2,71 volt ini terbaca oleh pin IO1 µ-Oled128, secara otomatis µ-Oled128 akan mengetahui pin satu yang digerakkan, atau dengan kata lain pengguna sedang menggeser joystick ke atas. Output pin enam dan aksi apa yang dilakukan, ditunjukkan pada Tabel 3.4. 99 Tabel 3.4. Output pin enam dan aksi yang dilakukan Pin Perhitungan Output pin 6 Aksi 1 22K = 0,82 22K + 4 K 7 2,71 V atas 2 10 K = 0,68 10K + 4K 7 2,24 V kiri 3 4K 7 = 0,50 4K 7 + 4 K 7 1,65 V bawah 4 2K 2 = 0,32 2K 2 + 4 K 7 1,05 V kanan 5 1K 2 = 0,20 1K 2 + 4 K 7 0,66 V tekan 3,3 V diam Setelah pin IO1 membaca pin yang digerakkan, pin IO1 akan mengirimkan sinyal ke µ-Oled128. M isal, ketika joystick digerakkan ke bawah, maka pin IO1 akan menerima 1,65 volt. Karena itu pin IO1 akan mengirimkan 3 ke µ-Oled128, sebagai pernyataan pin 3 yang dipakai. Begitu juga dengan pergerakkan yang lainnya. Dengan begitu µ-Oled128 bisa menjalankan program sesuai dengan input yang diterima pin IO1. Dalam alat ini, pergerakan joystick akan menyatakan menu ataupun mode yang dipilih baik oleh nelayan maupun seeker. Pilihan yang ditunjukkan pergerakan joystick ini ditunjukkan pada Tabel 3.5. 100 Tabel 3.5. Pilihan yang ditunjukkan pergerakan joystick Pergerakan joystick M enu yang dipilih Ï Í Ð Î Tekan 3.3. 1 2 3 4 5 Perancangan Piranti Lunak Piranti lunak yang dirancang untuk alat ini terbagi menjadi 3 bagian. Piranti yang pertama dibuat dan diprogram ke dalam µ-Oled128, piranti lunak kedua dibuat dan diprogram ke dalam NanoBoard NB2-DSK01 dan piranti lunak ketiga dibuat dan diprogramkan ke GM 862-GPS. Dimana ketiga piranti ini akan saling menunjang satu sama lain untuk menjalankan alat ini secara keseluruhan. Piranti lunak pada µ-Oled128 berperan sebagai user interface yang berfungsi menampilkan menu dan sebagai penerima input dari user. Input dari user ini berasal dari tombol joystick yang digerakkan oleh user. Piranti lunak pada µ-Oled128 ini dibuat dengan menggunakan software 4DGL_Workshop3 yang memakai bahasa pemrograman hasil modifikasi 4D System. Pada NanoBoard NB2-DSK01, piranti lunak semua yang dibuat berperan sebagai penghubung komunikasi antara µ-Oled128, GM 862-GPS dan HM C6343. Dalam 101 membuat piranti lunak ini digunakan bahasa pemrograman C dengan bantuan software pendukung Altium Designer Summer 9. Untuk GM 862-GPS, piranti yang dibuat akan berperan sebagai komunikasi dengan menggunakan GSM dan pengambilan koordinat GPS. Piranti lunak ini dibuat dengan menggunakan software pendukung dari Telit Python 1.5.2+ yaitu PhytonWin. Dimana software ini menggunakan bahasa pemrograman khusus, yang dikenal dengan nama Phyton. 3.3.1. Diagram Alir µ-Oled128-G1(GFX) Program µ-Oled128 akan berjalan sesuai dengan input yang diberikan. Dimana input yang didapat µ-Oled128 berasal dari tombol joystick dan NanoBoard NB2-DSK01. Selain menerima input, modul ini akan memberikan output sesuai dengan program yang dibuat. Output yang dikeluarkan ini, berupa tampilan yang ditunjukkan dan sinyal tertentu yang dikirimkan ke NanoBoard. 102 Start Inisialisasi Ambil data kompas Tidak Tampilkan kompas Pilih tombol apa saja? Ya Yes Tampilkan menu Tidak Tombol (menu) 1menit ? Gambar 3.10. Diagram alir program pada µ-Oled128 103 Gambar 3.11. Diagram alir sub-rutin tombol(menu) Setelah proses inisialisasi, µ-Oled128 akan menampilkan kompas. Dimana kompas ini akan menunjukkan posisi saat itu (derajat pada arah mata angin). Ketika tombol joystick digerakkan, maka akan ditampilkan menu untuk memilih mode yang akan dipakai (mode mobile guidance untuk nelayan atau mode mobile scanner untuk pencari ikan/ seeker). Dimana pada saat ini sub-rutin tombol (menu) dijalankan. Pemilihan menu dilakukan dengan menggerakkan tombol joystick. Dari menu awal ini, jika sampai batas waktu satu menit tidak terdapat respon (pilihan mode), maka tampilan akan kembali ke kompas. 104 Gambar 3.12. Tampilan pemilihan mode Pada sub-rutin tombol (menu), program akan berjalan berdasarkan menu yang dipilih. Pemilihan dilakukan oleh user, jika dipilih mode mobile guidance maka akan dipanggil sub-rutin mobile guidance, sedangkan jika dipilih mode mobile scanner maka akan dipanggil sub-rutin mobile scanner. Ketika dipilih mode kompas, maka akan ditampilkan kompas seperti pada saat alat ini dinyalakan pertama kali. M ode kompas ini akan memanggil sub-rutin kompas. Dimana subrutin ini akan langsung mengambil data kompas dari HM C6343. M ode mobile guidance: Gambar 3.13. Tampilan menu pada mode mobile guidance 105 Pada saat nelayan memilih mode modile guidance, secara otomatis sistem menjalankan sub-rutin yang akan menampilkan menu pilihan terlebih dahulu. Nelayan bisa memilih untuk mencari ikan, panduan pulang, menampilkan kompas atau kembali ke menu pemilihan mode. Jika diperlukan, nelayan bisa memilih menu bantuan. Dimana menu bantuan ini, diperuntukkan bagi nelayan yang membutuhkan bantuan dalam menjala ikan. 106 Gambar 3.14. Diagram alir untuk mode mobile guidance 107 Pada saat nelayan memilih menu mencari ikan, maka secara otomatis nelayan akan diberikan arahan atau panduan menuju lokasi wilayah tangkap ikan. Disini nelayan akan diarahkan menuju lokasi wilayah tangkap ikan yang terdekat. Penentuan titik lokasi wilayah tangkap ikan dikirimkan dari Terminal. Demikian juga ketika nelayan memilih menu pulang, maka secara otomatis nelayan akan diberikan arahan atau panduan menuju tempat ke kantor lokasi Terminal berada, dengan kata lain pulang. Pada saat nelayan memilih menu bantuan, maka terminal akan mengirimkan lokasi keberadaan nelayan pada saat itu ke nelayan lain yang bisa membantu pada saat itu. Pengiriman lokasi ini akan memberikan laporan berhasil atau tidaknya data lokasi dikirimkan. Untuk menu kompas, tampilan akan menunjukkan kompas seperti pada saat alat ini dijalankan pertama kali. Bedanya, jika pada saat menampilkan kompas ada pergerakan tombol joystick, maka tampilan akan kembali menampilkan menu mobile guidance bukan menu awal. Tampilan kembali ke menu pemilihan mode, jika dipilih kembali ke menu awal. M ode mobile scanner: Gambar 3.15. Tampilan menu pada mode mobile scanner 108 Selain nelayan yang melaut, ada pula yang bertugas sebagai pencari ikan (seeker). Seeker akan memilih mode mobile scanner ketika mencari ikan. M ode ini akan menampilkan menu mengirim lokasi ikan, panduan pulang, tampilkan kompas dan kembali ke menu awal. 109 Gambar 3.16. Diagram alir untuk mode mobile scanner 110 Pada saat seeker memilih menu kirim lokasi ikan, maka secara otomatis data lokasi seeker pada saat itu akan dikirimkan ke terminal. Data ini menunjukkan lokasi wilayah tangkap ikan yang telah ditemukan seeker. Proses pengiriman data ini akan memberikan laporan berahasil atau tidaknya data dikirim, kemudian laporan ini akan ditampilkan ke seeker. Pada saat data gagal dikirim, maka seeker bisa melakukan pengiriman ulang. Sama seperti nelayan, ketika seeker memilih menu pulang, maka seeker akan diberikan arahan atau panduan menuju pulang. Begitu juga dengan menu kompas, ketika seeker memilih menu ini, maka kompas akan ditampilkan. Saat kompas ditampilkan, jika tombol joystick digerakkan, maka akan kembali ke menu mobile scanner bukan menu pemilihan mode. Tampilan akan kembali ke menu pemilihan mode, ketika dipilih ke menu awal atau dengan kata lain terjadi return. 3.3.2. Diagram Alir NanoBoard NB2-DSK01 NanoBoard NB2-DSK01 ini memiliki program tersendiri yang dijalankan oleh TSK3000A. Pertama-tama, TSK3000A akan melakukan tahap inisialisasi terlebih dahulu. Dimana proses yang terjadi pada tahap inisialisasi ini termasuk proses pengaturan baud rate untuk komunikasi UART. TSK3000A akan menggunakan baud rate 115200 bps untuk berkomunikasi dengan GM 862-GPS dan baud rate 57.600 bps untuk berkomunikasi dengan µ-Oled128. Program ini awalnya berjalan sesuai dengan input yang diberikan µOled128, kemudian akan dijalankan sesuai dengan input yang diberikan µOled128 dan GM 862-GPS. Dimana dari input yang didapat ini, akan memberikan 111 output tertentu. Berdasarkan input maupun output tersebut, program akan berjalan sesuai dengan diagram alir yang ditunjukkan Gambar 3.17. Input yang diberikan µ-Oled128 terjadi ketika nelayan ataupun seeker melakukan pemilihan menu. Berdasarkan menu ini µ-Oled128 akan mengirimkan perintah ke TSK3000A untuk menjalankan atau memanggil sub-rutin yang akan mengoperasikan menu tersebut. Adapun pilihan menu yang dapat dipilih sesuai dengan tampilan pada layar µ-Oled128. Perintah untuk memanggil sub-rutin terdapat kesamaan antara mode mobile guidance maupun mode mobile scanner, sehingga perintah-perintah tersebut dikelompokkan menjadi: • Target (IKN/PLG) Pada mode mobile guidance terdapat menu mencari ikan, dimana nelayan menginginkan arahan menuju lokasi tangkap ikan yang terdekat. Bisa dikatakan ikan sebagai target dari menu ini. Baik pada mode mobile guidance maupun mobile scanner terdapat menu panduan pulang, dimana nelayan dan seeker ingin kembali ke terminal dan butuh arahan untuk pulang. Dalam hal ini terminallah yang menjadi target. Untuk itu, kedua menu ini dikelompokkan menjadi satu sebagai target. Dimana untuk mengaksesnya dikirimkan perintah IKN untuk nelayan yang ingin mencari ikan, sedangkan perintah PLG untuk nelayan dan seeker yang ingin pulang. • Pilihan (LOK/BTN) Pada mode mobile scanner terdapat pilihan menu mengirim lokasi ikan, dimana titik kapal pada saat itu menyatakan lokasi tangkap ikan yang ingin dicatat oleh terminal. Pada mode mobile guidance terdapat menu bantuan, dimana titik kapal pada saat itu ingin dicatat oleh terminal, kemudian 112 dikirimkan ke nelayan lain yang bisa membantu. Kedua menu ini memiliki inti yang sama, untuk itu dikelompokkan menjadi satu sebagai pilihan. Dimana untuk mengaksesnya dikirimkan perintah LOK untuk seeker yang ingin mengirim lokasi, sedangkan perintah BTN untuk nelayan yang sedang membutuhkan bantuan. • Kompas (CPS) Baik pada mode mobile guidance maupun mode mobile scanner terdapat menu tampilkan kompas. Dimana menu ini akan menampilkan kompas yang menunjukkan arah mata angin pada posisi tersebut. M enu ini bisa di akses dengan mengirimkan perintah CPS. 113 Gambar 3.17. Diagram alir program pada NanoBoard NB2-DSK01 114 Pada saat µ-Oled128 memberikan input IKN atau PLG, maka akan dipanggil sub-rutin target. Ketika sub-rutin ini dijalankan, pertama-tama TSK3000A akan mengirimkan tipe ke GM 862-GPS. Tipe yang dimaksud adalah tipe IKN atau tipe PLG. Tipe IKN menunjukkan bahwa menu menuju titik ikan sedang dipilih dan ingin dijalankan, sedangkan tipe PLG menunjukan bahwa menu pulang sedang dipilih dan ingin dijalankan. Baik tipe IKN maupun PLG, akan meminta data target yang akan dituju ke GM 862-GPS (IKN Æ meminta data lokasi ikan, PLG Æ meminta data tempat terminal atau pulang). Dari data yang didapat akan dikalkulasikan jarak dan arah dari posisi sekarang sampai target. Jika sudah sampai ke tujuan, maka akan dikirimkan laporan “sampai”, sedangkan jika ditengah jalan berubah pikiran, maka nelayan dan seeker bisa membatalkan perintah dan kembali ke menu sebelumnya. 115 Gambar 3.18. Diagram alir sub-rutin target 116 Pada sub-rutin target, terdapat proses kalkulasi jarak dan arah. Proses kalkulasi ini menggunakan rumus dasar Haversine. Untuk menghitung jarak persamaan aslinya sebagai berikut : R = earth’s radius (mean radius = 6,371km) dlat = lat2- lat1 dlong = long2- long1 a = sin 2 ( dlat dlong 2 ) + cos(lat1). cos(lat2). sin 2 ( ) 2 2 c = 2 * arctan 2( a , 1 - a ) d = R.c Untuk menghitung sudut (arah) perhitungannya adalah sebagai berikut: θ = a tan 2{[sin(dlong ).cos(lat 2).sin(lat 2) - sin (lat2). cos(lat 2).cos(dlong )]} Berdasarkan rumusan di atas, di buat rumus perhitungan dengan menggunakan bahasa pemrograman C. Rumus ini akan di akses oleh TSK3000A untuk melakukan kalkulasi jarak dan arah. Untuk menghitung jarak yang harus ditempuh oleh kapal, maka digunakan rumus: slat = sqrt((lat2 - lat1) * (lat2 - lat1)) * 3.14159 / 180; slong = sqrt((long2 - long1) * (long2 - long1)) * 3.14159 / 180; a = sin(slat/2) * sin(slat/2) + cos(lat1 * 3.14159 / cos(lat2 * 3.14159 / 180) * sin(slong/2) * sin(slong/2); jarak = floor(2*R* atan2(sqrt(a), sqrt(1-a))); 180) * 117 Untuk menghitung sudut (arah) digunakan rumus: sudut = atan2(sin(long2 * 3.14159 / 180)*cos(lat2 * 3.14159 / 180) 180 - long1 * , cos(lat1 * 3.14159 / 3.14159 / 180)*sin(lat2 * 3.14159 / 180)-sin(lat1 * 3.14159 / 180)*cos(lat2 * 3.14159 / 180)*cos(long2 * 3.14159 / 180 - long1 * 3.14159 / 180)); sudut = sudut / 3.14159 *180; Dimana lat2 dan long2 adalah koordinat yang harus di capai dalam format derajat, dan lat1 dan long1 adalah koordinat kapal sekarang dalam format derajat. Kedua data ini harus diubah kedalam bentuk radian yaitu dengan mengalikan pi/180derajat. Sesudah dihitung, hasil yang diperoleh di ubah kembali dari bentuk radian ke bentuk derajat R adalah jari-jari bumi yang besarnya tergantung besaran yang mau digunakan, jika data yang diinginkan dalam bentuk km, maka R=6371 jika jarak yang dinginkan dalam bentuk m maka R=6371000. Sesudah dihitung, hasil sudut yang diperoleh di ubah kembali dari bentuk radian ke bentuk derajat. Data yang telah didapat tersebut diolah oleh Nanoboard NB2-DSK01 dan kemudian ditampilkan ke µ-Oled128. 118 Pilihan (tipe) Kirim tipe ke GM862-GPS Terima data dari GM862-GPS Terima data berhasil? Ya Kirim “berhasil” ke uOLED Tidak Kirim “gagal” ke uOLED Return Gambar 3.19. Diagram alir sub-rutin pilihan Pada saat µ-Oled128 memberikan input LOK atau BTN, maka akan dipanggil sub-rutin pilihan. Seperti halnya sub-rutin target, pada sub-rutin pilihan pertama-tama TSK3000A akan mengirimkan tipe ke GM 862-GPS. Dimana tipe yang dimaksud pada sub-rutin ini adalah tipe LOK atau tipe BTN. Tipe LOK diperuntukan bagi seeker yang ingin mengirimkan data lokasi tangkap ikan yang ditemukan, sedangkan tipe BTN diperuntukan bagi nelayan yang ingin meminta bantuan dalam proses menangkap ikan. Kedua tipe ini akan meminta data keberadaan pada saat itu ke GM 862-GPS, kemudian data tersebut akan dikirimkan ke terminal. Jika data berhasil ataupun gagal, maka akan dikirimkan laporan ke µOled128 yang akan menampilkan “berhasil” atau “gagal”. 119 Pada saat nelayan ataupun seeker memilih menampilkan kompas, maka µOled128 akan mengirimkan CPS ke NanoBoard, sehingga NanoBoard akan mengambil data kompas, dengan memanggil sub-rutin kompas. NanoBoard secara otomatis akan mengupadate posisi GPS, jika tidak terdapat input apapun dari µOled128. Update posisi GPS ini dijalankan dengan memanggil sub-rutin GPS. Data GPS bisa diambil dengan mengirimkan GPS terlebih dahulu ke GM 862-GPS. Setelah itu GM862-GPS akan memberikan informasi data GPS ke NanoBoard. Pada saat data berhasil dikirim, data tersebut akan disimpan di prosesor utama yang akan digunakan kembali ketika dibutuhkan. Gambar 3.20. Diagram alir sub-rutin GPS 120 3.3.3. Diagram Alir GPS/ GSM (GM 862-GPS) Pada modul Telit GM 862-GPS juga terdapat program tersendiri. Pemrograman yang dilakukan ini, sudah termasuk inisialisasi awal untuk modul GPS sendiri. Dalam arti, inisialisasi agar memungkinkan dilakukan komunikasi GPS maupun GSM . GM 862-GPS akan bekerja berdasarkan input yang diberikan oleh TSK 3000A yang terdapat pada NanoBoard NB2-DSK01. Berdasarkan input yang diberikan, GM 862-GPS akan memberikan output yang dikirimkan ke TSK3000A. Pada kondisi (perintah) tertentu, output yang ada akan dikirimkan ke terminal. Data output ini akan dikirimkan melalui SM S dengan menggunakan fungsi GSM pada GM 862-GPS. 121 Gambar 3.21. Diagram alir program pada modul GM 862-GPS 122 Pada saat GM 862-GPS menerima input GPS dari TSK3000A, maka GM 862-GPS akan mengambil data GPS pada saat itu. Data GPS yang didapat akan dikirimkan ke TSK3000A, kemudian diolah terlebih dahulu sebelum ditampilkan ke µ-Oled128 atau digunakan untuk perhitungan. Selain itu, data GPS ini dikirimkan juga ke terminal melalui SM S untuk memberitahu terminal di mana posisi kapal saat itu. Pada saat TSK3000A memberikan input IKN atau PLG, maka akan dipanggil sub-rutin panduan menuju target. Dimana sub-rutin ini dijalankan berdasarkan tipe yang dikirimkan. Tipe IKN untuk nelayan yang ingin menuju lokasi ikan, sedangkan tipe PLG untuk nelayan yang ingin pulang. Pada awalnya GM 862-GPS akan mengirimkan permintaan berdasarkan tipe yang dipanggil ke terminal, kemudian terminal akan mengirimkan data target yang akan dituju oleh nelayan ataupun seeker. Jika sampai batas waktu 3 menit tidak ada data target yang dikirim oleh terminal, maka GM 862-GPS akan mengirimkan “gagal” ke TSK3000A, sedangkan jika data target berhasil dikirimkan, TSK3000A akan menerima data target tersebut. Data target inilah yang akan diolah TSK3000A berdasarkan sub-rutin target yang ada pada NanoBoard NB2-DSK01. 123 Panduan menuju target (tipe) Kirim permintaan (tipe) ke terminal Tidak Data target diterima? Tidak Waktu menunggu habis (3menit) Ya Ya Kirim data target ke TSK3000A Kirim “gagal” ke TSK3000A Return Gamabr 3.22. Diagram alir sub-rutin panduan menuju target Ketika TSK3000A mengirimkan input LOK dan BTN, maka sub-rutin kirim posisi akan dijalankan. Sub rutin ini akan berjalan sesuai dengan tipe yang dikirimkan. Dimana tipe LOK untuk seeker yang ingin mengirimkan data lokasi ikan yang didapat, sedangkan BTN untuk nelayan yang ingin meminta bantuan dalam menjala ikan. Pada awalnya, sub-rutin ini akan mengambil koordinat data GPS kapal nelayan atau seeker pada saat itu. Data yang di dapat dikirimkan ke terminal, dan 124 diberi batas waktu tiga menit untuk Terminal mengirimkan konfirmasi. GM 862GPS akan mengirimkan “gagal” ke TSK3000A jika batas waktu sudah terlewati, sedangkan jika berhasil TSK3000A akan menerima “berhasil”. Kirim posisi (tipe) Ambil koordinat dari GPS Rangkai koordinat ke dalam data packet yang akan dikirim Kirim data Tidak Acknowledgement dari terminal Tidak Waktu tunggu habis? (3menit) Ya Ya Kirim data “berhasil” ke Kirim data “gagal” ke TSK3000A TSK3000A Return Gambar 3.23. Diagram alir sub-rutin kirim posisi 125 3.3.4. Diagram Alir Kompas Digital (HM C6343) Untuk membaca data kompas, pada modul kompas digital HM C6343 ini, diperlukan urutan perintah tertentu untuk mendapatkannya. Jika ada permintaan data dari prosesor utama, maka prosesor utama harus mengirimkan urutan perintah seperti pada diagram alir dibawah ini. Gambar 3.24. Diagram Alir program pada modul HM C6343 126 Untuk mendapatkan data terbaru, maka program atau perintah ini harus dikirimkan secara berkala (kurang lebih setiap 200ms). Dimana perintah ini dimulai dengan mengirimkan data 0x32 yang merupakan alamat untuk menulis perintah ke HM C6343. Selanjutnya dikirimkan data 0x50 yang merupakan perintah untuk meminta heading (arah), pitch (kemiringan naik atau turun) dan roll (kemiringan kiri atau kanan). Setelah menunggu kurang lebih 1ms, terlebih dahulu dikirimkan data 0x33 yang merupakan alamat untuk membaca data dari HM C6343. Selanjutnya data bisa dibaca dan dikirimkan ke prosesor utama. Data yang diterima prosesor utama berupa 16 bit, yang terdiri dari 8 bit pertama M SB dan 8 bit kedua LSB. Dimana bit-bit inilah yang akan menunjukkan arah mata anginnya. Untuk HM C6343 arah mata angin dibaca dari 0 sampai dengan 3600, yang menyatakan 00 sampai dengan 3600. M isalnya, data yang diterima prosesor utama 111000000110, data ini menyatakan 00001110 untuk M SB dan 00000110 untuk LSB, jika binary ini di desimalkan, maka akan menghasilkan angka 3590 yang berarti 3590. 3.4. Cara Kerja Sistem Keseluruhan Secara keseluruhan alat ini berjalan dengan perangkat utama dan perangkat tambahan. Perangkat utama terdiri dari perangkat yang memiliki dua mode (mobile guidance dan mobile scanner) dan terminal utama. Perangkat utama ini akan dibantu dengan perangkat tambahan, seperti: kapal untuk mencari ikan yang dilengkapi dengan fish finder (kapal seeker). 127 Gambar 3.25. Kapal seeker berangkat mencari ikan Kapal seeker betugas untuk mencari ikan dengan bantuan fish finder. Dengan fish finder, operator akan mendapat informasi pencitraan laut sehingga dapat langsung mengetahui ada tidaknya ikan di lokasi tersebut. Ketika menemukan suatu lokasi ikan, maka operator pada kapal seeker akan mengirimkan sinyal yang menyatakan titik ikan. Sinyal ini akan diterima oleh terminal dan langsung diolah, serta ditampilkan pada layar. Kapal seeker akan menggunakan perangkat dengan mode mobile scanner. 128 Gambar 3.26. Kapal seeker mendapat ikan dan memberi tanda Gambar 3.27. Lokasi ikan diolah terminal 129 Ketika ada nelayan yang ingin melaut (mencari ikan), maka akan menggunakan mode mobile guidance. Nelayan tinggal menekan tombol untuk meminta arahan titik lokasi ikan terdekat kepada terminal, kemudian terminal akan memberitahukan lokasi ikan yang akan dituju sekaligus arah (petunjuk) menuju lokasi ikan tersebut. Gambar 3.28. Nelayan diberi arahan ke titik ikan Pengiriman data titik ikan dari mobile scanner ke terminal dibantu dengan teknologi GSM , begitu juga dengan mobile guidance ke terminal. Informasi lokasi, baik titik ikan maupun kapal nelayan, yang didapat oleh terminal dibantu dengan teknologi GPS. Untuk membantu mengetahui arah ketika melaut dibantu dengan mode navigasi kompas, dengan teknologi kompas digital. 130 3.5. Rancang Bangun Gambar 3.29. Rancangan sistem Gambar di atas merupakan rancangan sistem yang masih menggunakan NanoBoard NB2-DSK01. Dimana rancangan yang dibuat terdiri dari dua bagian. Bagian pertama modul NanoBoard NB2-DSK01 dan GM862-GPS, sedangkan bagian kedua modul sementara yang berisi µ-Oled128 dan kompas digital dalam satu kotak. Dalam modul ini dilengkapi dengan joystick yang akan digunakan sebagai tombol untuk menjalankan sistem sesuai keinginan. 3.5.1. Sketsa Kotak Pada rancangan sistem dijalaskan bahwa akan dibuat dua buah kotak. Dimana kotak pertama berisi NanoBoard Nb2-DSK01 dan GM 862-GPS. Kotak ini berukuran 45 cm x 30 cm x 15 cm, yang ditunjukkan pada Gambar 3.30. Kotak kedua berisi HM C6343, µ-Oled128 dan joystick. Kotak kedua ini berukuran 8 cm x 6,5 cm x 3 cm, yang ditunjukkan pada Gambar 3.31. 131 Gambar 3.30. Sketsa kotak pertama Gambar 3.31. Sketsa kotak kedua 132 3.5.2. Foto Alat Gambar 3.32. Tampilan alat secara keseluruhan Gambar 3.33. Tampilan alat tampak samping 133 Gambar 3.34. Tampilan alat tampak atas Gambar 3.35. Tampilan user interface