J. Sains MIPA, Edisi Khusus Tahun 2008, Vol. 14, No. 1, Hal.: 53 - 58 ISSN 1978-1873 PEMANFAATAN TEKNOLOGI PEMROGRAMAN JAVA PADA PENGUKURAN KARAKTERISTIK DISTRIBUSI PELURUHAN RADIOAKTIF MELALUI INTERFACE SERIAL Irwandi Jurusan Fisika FMIPA Universitas Syiah Kuala Darussalam Banda Aceh 23111 E-mail: [email protected] Diterima 28 Agustus 2007, perbaikan 10 Desember 2007, disetujui untuk diterbitkan 27 Desember 2007 ABSTRACT In this paper will be discussed the usage of Java programming technology to measure and identify the distribution characteristic of radioactive disintegration. The radioactive material used was Co-60. The Geiger Muller detector dan digital counter made Leybord connected to own made SBC (Single Board Computer) were used. The Interface of SBC through port serial using Javacomm facility has been applied. The visualization and menu were built using the facility of Swing and Java program. The data measured was shown in the form of histogram with Poisson distribution plotting, data fluctuation plotting and the mean value change. The result of visualization showed a disintegration distribution histogram fit with Poisson distribution. The software technique developed has help the ease in obtaining the data which normally take a longer time and reduce the human error. Keywords: Java Swing, Javacomm, SBC 1. PENDAHULUAN Di tengah arus globalisasi yang begitu deras dan merambah ke seluruh aspek kehidupan manusia, pemakaian komputer dalam bentuk aplikasi software yang interaktif sudah menjadi suatu kebutuhan untuk meningkatkan kemampuan bersaing. Penggunaan komputer telah meliputi berbagai aspek termasuk dalam proses instrumentasi. Akses penggunaan komputer terutama PC di berbagai lembaga pendidikan terutama perguruan tinggi menjadi sangat mudah diperoleh. Disisi lain banyak percobaan atau peralatan instrumentasi di berbagai lembaga pendidikan belum dapat dioptimasikan dengan menggunakan komputer. Kendala utama untuk melalukan komputerisasi instrumen yang terdapat pada lembaga pendidikan karena peralatan yang disediakan memang tidak dilengkapi dengan system interfacing dengan komputer. Sebenarnya kendala tersebut dapat diatasi bila mampu melakukan modifikasi dan pembuatan baik hardware dan software yang memungkinkan proses interfacing tersebut. Ada beberapa perangkat komunikasi (interface) yang terdapat pada komputer, salah satunya yang sering digunakan untuk berhubungan dengan peralatan instrumentasi adalah port serial. Komunikasi serial adalah pengiriman data secara serial (data dikirim satu-persatu secara berurutan) sehingga komunikasi serial jauh lebih lambat daripada komunikasi paralel. Serial port lebih sulit ditangani karena peralatan yang dihubungkan ke serial port harus berkomunikasi menggunakan transmisi serial sedangkan data di komputer diolah secara paralel. Oleh karena itu data dari/ke serial port harus dikonversikan ke/dari bentuk paralel untuk bisa digunakan. Disisi lain, kelebihan komunikasi serial adalah kabel untuk komunikasi serial bisa lebih panjang dibandingkan dengan parallel dan jumlah kabel yang digunakan lebih sedikit. Keuntungan lainya adalah sudah banyak mikrokontroler (baik seri RISC maupun CICS) yang sudah dilengkapi Serial Communication Interface (SCI) untuk keperluan komunikasi dengan interface serial pada komputer1, 2). Proses pengambilan data dari interface serial, pemrosesan data, dan visualisasi data dalam bentuk grafik dilakukan dengan suatu program aplikasi pada PC. Ada beberapa macam jenis bahasa pemrograman yang dapat digunakan untuk membangun aplikasi, salah satunya adalah sistem pemrograman java yang bersifat OOP (Object Oriented Programming). Lingkungan pemrograman Java menggunakan compiler sekaligus interpreter agar dapat berjalan pada platform yang berbeda. Java compiler melakukan kompilasi pada source code menjadi bytecode. Java bytecode merupakan instruksi mesin yang tidak spesifik terhadap prosessor komputer dan akan dijalankan pada platform menggunakan Java Virtual Machine (JVM) yang disebut juga bytecodes interpreter atau Java Runtime Interpreter3). Pada tulisan ini penulis ingin membahas tentang pemanfaatan pemrograman java pada pembuatan suatu software instrumen untuk kasus pengukuran karakteristik distribusi peluruhan radioaktif. 2008 FMIPA Universitas Lampung 53 Irwandi Pemanfaatan Teknologi Pemrograman Java 2. METODE PENELITIAN 2.1. Perangkat Bantu Software dan Hardware Penelitian ini dilakukan di Laboratorium Microcontroler dan Robotic Jurusan Fisika FMIPA Universitas Syiah Kuala dengan menggunakan Hardware dan Software. Adapun Hardware yang digunakan adalah bahan radioaktif Co-60 (Leybold 2001,Phywe Team 2005)4,5), detektor Geiger Muller, Digital Counter, SBC6) dan seperangkat PC. Sedangkan pada sisi Software digunakan Java Development Kits JDK 1.5.0 dan NetBeans IDE yang merupakan software yang bersifat gratis dari Sun Microsystem. 2.2. Perancangan Program Program yang dikembangkan menggunakan lingkungan NetBeans IDE yang dengan mudah dapat memperlihatkan struktur dari class dan desain Graphical User Interface (GUI). Pada Gambar 1 diperlihatkan desain class utama dengan menggunakan NetBeans. Proses kompilasi dan pengecekan kesalahan dapat dilakukan secara langsung pada Integrated Development Environment (IDE) tersebut. Proses akses untuk library java dan hubungan sesama class dapat langsung ditangani pada IDE tersebut yang terwujud dalam suatu file script XML yaitu build.xml. Pada build.xml tersebut terdapat beberapa macam target yang dikerjakan. Target-target yang terdapat pada file build.xml tersebut juga digunakan pada IDE tersebut seperti proses kompilasi dan mengeksekusi program. Gambar 1. Sistem pengembangan aplikasi java mengunakan IDE NetBean 5.5.1 Program tersebut dirancang pada beberapa bagian. Bagian yang berhubungan dengan port serial tempat data diperoleh dari luar komputer menggunakan paket javacomm. Data tersebut disimpan dalam suatu variable array pada class utama yaitu class MainFrame. Semua sistem interaksi GUI terdapat pada class MainFrame tersebut. Untuk visualisasinya digunakan suatu class yaitu PoissonCanvas yang diturunkan dari class javax.swing.JPanel. Secara sederhana dapat digambarkan hubungan class tersebut7). Data Port Serial javacomm Human GUI MainFrame Visualization of Result PoissonCanvas Gambar 2. Blok Program Aplikasi Pengukuran Radioaktif 2.3. Sistem Pembacaan Data Port Serial dengan javacomm Untuk dapat mengirimkan data hasil cacahan radioaktif yang terdapat pada SBC ke komputer dapat dilakukan proses interfacing dengan menggunakan package javacomm20-win32 melalui komunikasi serial port. Pembuatan program komunikasi serial port dengan menggunakan paket javacomm relative lebih sulit sehingga penulis telah membuat suatu 54 2008 FMIPA Universitas Lampung J. Sains MIPA, Edisi Khusus Tahun 2008, Vol. 14, No. 1 class untuk menyederhanakannya. Sehingga untuk melakukan koneksi serial cukup dengan membuat class turunannya. Untuk mendeklarasikan class tersebut dibutuhkan model deklarasi statik8). static SerialRWControl s; Selanjutnya diinisialisasi objek tersebut dengan meng-overide method readSerial dan memindahkan data inData ke serialText yang dapat diakses dari luar lingkup objek seperti yang diperlihatkan pada listing berikut. s = new SerialRWControl(){ public void serialRead(){ serialText=inData; } }; Untuk mengatur setting komunikasi serial cukup dengan mengakses method setSerial() maka akan tampilan kotak dialog pada Gambar 3. Gambar 3. Kotak dialog untuk mengatur komunikasi serial Sebelum dilakukan pembacaan atau penulisan data, maka dilakukan koneksi terlebih dahulu dengan perintah s.openConnection(). Untuk mengirimkan data ke port serial, misalnya mengirim huruf g , dilakukan dengan perintah s.serialWrite('g'). Dari program sederhana tersebut dengan mudah dikembangkan aplikasi yang lainnya yang membutuhkan komunikasi data serial port. Misalnya komunikasi pada SBC (Single Board Computer), dengan menggunakan contoh program di bawah ini : s.serialWrite('c'); //send character c to SBC = get and clear try {Thread.sleep(50);} catch (InterruptedException e) {} //tunda ii=readSerial(); //read data from serial register ii = ds.decayKernel(ii); //masukan ke perhitungan decay kernel Pengiriman data berupa karakter 'c' akan menyebabkan SBC mengirim data cacahan ke komputer melalui port serial dan mengembalikan nilai menjadi nol kembali. Mikrokontroler bekerja lebih lambat dari mikroprosesor pada PC sehingga perlu ada tunda sebelum pembacaan data. Data yang dibaca tersebut dimasukan ke dalam method ds.decayKernel(ii) untuk dilakukan perhitungan dan visualisasi. 2.4. Visualisasi Distribusi Poisson dengan Menggunakan class JPanel Visualisasi hasil pengukuran peluruhan radioaktif dilakukan pada class yang diturunkan pada class JPanel yang memiliki kegunaan untuk menggambar bebas. public class PoissonCanvas extends javax.swing.JPanel 2008 FMIPA Universitas Lampung 55 Irwandi Pemanfaatan Teknologi Pemrograman Java Pada class tersebut terdapat suatu method yang akan dipanggil setiap kali diperlukan untuk memperbaharui tampilan dan method tersebut di-override dengan gambar (Graphics) yang diinginkan. public void paintComponent(Graphics g){ int ixx=getSize().width; int iyy=getSize().height; poissonGraphics(g,ixx,iyy); } Method poissonGraphics yang melakukan proses perhitungan pembuatan visualisasi dengan memperhatikan data hasil pengukuran, parameter gambar, dan ukuran pixel window yang digunakan. public void poissonGraphics(Graphics g,int ixx,int iyy){ g.perintah-perintah-gambar } Untuk membuat animasi method PoissonCanvas yang diturunkan dari JPanel pada JFrame.repaint() maka digunakan objek yang memiliki cakupan global. public class MainFrame extends javax.swing.JFrame { public PoissonCanvas pc; //buat object pc } Selain itu perlu menginisialisasi komponen dengan objek pc. Pengaturan tersebut dilakukan melalui IDE netbeans dengan mengubah properties panel tersebut, lihat Gambar 4. Proses animasi tersebut dilakukan dengan mengambar ulang pada object JFrame. //mf.pc.pekerjaan untuk mengubah objet panel mf.pc.ipoisson=ds.getHist(); mf.repaint(); Gambar 4. Mengarahkan poissonPanel menjadi objek dari PoissonCanvas 3. HASIL DAN PEMBAHASAN 3.1. Visualisasi Hasil Pengukuran Program Aplikasi Berbasis GUI Visualisasi distribusi peluruhan radioaktif menggunakan program java ini tidak hanya memberikan informasi tentang jumlah intensitas radioaktif pada saat melakukan pengukuran. Program tersebut dapat juga menampilkan informasi parameter-parameter pengukuran seperti jumlah atom, nomor urut data, rata-rata cacahan dalam selang waktu yang dapat diatur, dan presentasi proses pengambilan data yang telah dilakukan, lihat Gambar 5. Selain menampilkan histogram program tersebut juga menampilkan plotting fluktuasi data dan kovergensi nilai rata-rata yang diperoleh selama pengukuran seperti yang diperlihakan pada Gambar 6. 56 2008 FMIPA Universitas Lampung J. Sains MIPA, Edisi Khusus Tahun 2008, Vol. 14, No. 1 Gambar 5. Visualisasi Histogram Distribusi peluruhan radioaktif untuk isotop Co-60 dalam bentuk distribusi poisson untuk selang waktu t = 10 detik Gambar 6. Grafik plotting fluktuasi data kovergensi nilai rata-rata data cacahan untuk selang waktu t=10 detik untuk isotop Co-60 35N 30 25 20 15 10 5 0 a Gambar 7. a. b. n/ t 0 5 15 10 20 25 30 b Histogram hasil pengukuran peluruhan radioaktif secara manual dengan sumber radioaktif Co-60 dengan variasi jarak 5cm dan t = 10s10) Histogram hasil pengukuran dengan menggunakan program aplikasi berbasis GUI. Histrogram yang diperlihatkan pada Gambar 5 menunjukkan banyaknya cacahan yang sering muncul pada saat detektor mencacah radiasi yang dipancarkan oleh sumber radiasi radioaktif pada selang waktu 10 detik . Hal ini menunjukan bahwa radiasi radioaktif yang dipancarkan oleh bahan isotop radioaktif dan tercatat oleh detektor Geiger Muller terjadi secara acak yang memenuhi pola distribusi Poisson9). Gambar 6 memperlihatkan keacakan data yang diperoleh selama proses pengukuran, namun masih memiliki nilai rata-rata yang konvergen menuju suatu nilai. 2008 FMIPA Universitas Lampung 57 Irwandi Pemanfaatan Teknologi Pemrograman Java 3.2. Verifikasi Distribusi Poisson dengan Pengukuran Secara Manual Untuk membuktikan keakuratan pengiriman data dari instrumen SBC ke PC melalui fasilitas javacom dan ketepatan penanganan oleh aplikasi yang dikembangkan maka dilakukan verifikasi dengan pengukuran manual. Pengambilan data distribusi peluruhan radioaktif secara manual hanya menggunakan alat digital counter sebagai pencacah distribusi peluruhan radioaktif yang terdeteksi oleh detektor. Perlakukan untuk pengambilan data manual dilakukan sama dengan perlakuan pengambilan data dengan menggunakan software yang dikembangkan yaitu: pengambilan data cacahan setiap 10 detik untuk bahan radioaktif Co-60 dengan jarak 5cm antara sumber dengan detektor, dan dilakukan sebanyak 300 kali. Untuk data manual histogram diplot dengan bantuan program Matlab. Adapun hasil verifikasi visualisasinya dapat dilihat pada Gambar 7. Histogram yang diperlihatkan pada gambar 7a dan gambar 7b relatif memperlihatkan hasil yang sama. Hanya terjadi sedikit perbedaan karena faktor keacakan yang tidak mungkin menghasilkan efek yang sama untuk waktu pengukuran yang berbeda. Dari hasil verifikasi tersebut menunjukan bahwa aplikasi yang dikembangkan telah memiliki keakuratan yang memadai. 4. KESIMPULAN Dari hasil pembahasan Pemanfaatan Teknologi Pemrograman Java Pada Pengukuran Karakteristik Distribusi Peluruhan Radioaktif Melalui Interface Serial terlihat program aplikasi yang dikembangkan telah mampu memperlihatkan visualisasi grafik distribusi dan plotting data peluruhan radioaktif. Paket javacomm dengan pustaka yang dikembangkan telah mampu membaca data dari port serial dengan sempurna. Hasil verifikasi memperlihatkan bahwa software aplikasi yang dikembangkan telah memiliki keakuratan yang memadai dan dapat digunakan untuk membantu pengambilan data dan mengurangi kesalahan karena faktor kelalaian manusia. Penelitian tentang pembuatan software aplikasi instrumentasi pengukuran radioaktif tersebut masih perlu dikembangkan untuk menghasilkan software yang lebih baik dan dapat digunakan secara luas baik untuk proses pembelajaran bahkan untuk keperluan penelitian. UCAPAN TERIMA KASIH Ucapan terima kasih penulis sampaikan kepada HEDS yang telah memberikan dana PPD HEDS dan ICTP yang memberikan kesempatan mengikuti Workshop on Distributed Laboratory Instrumentation System yang memberikan dasar tentang pemrogram OOP dengan Java. DAFTAR PUSTAKA 1. Rahmi, J. 2007. Simulasi Distribusi Peluruhan Radioaktif Secara Realtime Dengan Memanfaatkan Fasilitas Thread Pada Sistem Pemrograman Java, Skripsi, Jururan Fisika FMIPA Unsyiah. 2. Yuslinda, C. 2007. Visualisasi Hasil Pengukuran Distribusi Peluruhan Radioaktif Menggunakan Detektor Geiger Muller Dengan Interfacing Package Javacomm, Skripsi, Jururan Fisika FMIPA Unsyiah. 3. Kadir, A. 2005. Dasar Pemograman Java 2, Penerbit Andi, Yogyakarta. 4. Leybold, 2001, Instruction sheet, Set of radioactive preparations (559 83), Leybold Heraeus GMBH Germany 5. Phywe Team, 2005. New Experiments 2005. Phywe Systeme GmbH & Co. KG. Gottingen Germany. 6. Syahputra, A. 2005, Perancangan SBC (Single Board Computer) Untuk Membangun Integratead Sistem Menggunakan Intel Data Bus Berbasis Mikrokontroler AT89S52, Proyek Akhir, D3 Inskom FMIPA Unsyiah. 7. Rajibussalim, Irhamni, dan Irwandi, 2006, Simulasi Distribusi Peluruhan Radioaktif dan Verifikasi Dengan Hasil Eksperimen Menggunakan Isotop Cobalt Co-60, Laporan PPD HEDS, Banda Aceh 8. Irwandi, 2006. Workshop Sistem Instrumentasi Terdistribusi, Jurusan Fisika FMIPA Unsyiah. 9. Boas, Mary. 1984. Mathematical Methods in Physics Science. Third Edition. Englewood Cliffs. Prentice - Hall, Inc. 10. Miswardi, 2006. Perancangan Tranduser Pasda Detektor Radiasi Radioaktif Dengan Menggunakan Tabung Geiger Muller Tipe ZP 1481 Mullard, Proyek Akhir, D3 Inskom FMIPA Unsyiah. 58 2008 FMIPA Universitas Lampung