Tampilkan postingan dengan label aplikasi. Tampilkan semua postingan
Tampilkan postingan dengan label aplikasi. Tampilkan semua postingan

Sabtu, 28 Juli 2012

Program Kirim dan Terima data via Serial Port Sederhana- Belajar JAVA

Serial port merupakan sebuah port yang terdapat pada komputer/laptop yang dapat digunakan sebagai jalur komunikasi antara komputer/laptop dengan hardware lainnya seperti mikrokontroller dan lain sebagainya.
pada postingan kali ini, saya akan coba berbagi tentang program sederhana yang dapat menerima dan mengirim data melalui komunikasi serial.

untuk dapat melakukan komunikasi serial, dibutuhkan sebuah library yaitu RxTx yang mana telah saya bahas mengenai cara instalasinya disini dan cara menambahkan pada project yang kita buat seperti postingan yang ada disini.

Secara umum, komunikasi yang menggunakan serial port pasti akan melalui langkah-langkah berikut ini :
  • Pencarian port serial
  • Koneksi ke port serial
  • inisialisasi  input dan output stream
  • Memutuskan koneksi port serial
  • Kirim data
  • Terima data
sekarang akan coba dibahas sedikit mengenai program pada aplikasi kirim dan terima data serial ini.

1. Pencarian port serial

berikut ini program untuk mencari port serial yang sedang aktif pada komputer/laptop

public void cekSerialPort() {
        port = CommPortIdentifier.getPortIdentifiers();
        while (port.hasMoreElements()) {
            CommPortIdentifier curPort = (CommPortIdentifier) port.nextElement();
            if (curPort.getPortType() == CommPortIdentifier.PORT_SERIAL) {
                window.jCommPort.addItem(curPort.getName());
                portMap.put(curPort.getName(), curPort);
            }
        }
    }

 
pada program diatas, program akan mengecek setiap port yang aktif pada komputer, yang kemudian port-port tersebut akan dicek tipe nya dengan menggunakan .getPortType(). Jika port tersebut merupakan port serial, maka identitas port tersebut akan didaftarkan atau ditambahkan pada comboBox pada tampilan GUI.

2. Koneksi Port Serial
 
public void connect() {
        String selectedPort = (String) window.jCommPort.getSelectedItem();
        portIdentifier = (CommPortIdentifier) portMap.get(selectedPort);
        CommPort commPort = null;
        try {
            commPort = portIdentifier.open(null, TIMEOUT);
            serialPort = (SerialPort) commPort;
            setConnected(true);
            window.bConn.setText("Disconnect");
        } catch (PortInUseException e) {
            statusPort = selectedPort + " is in use. (" + e.toString() + ")";
            JOptionPane.showMessageDialog(null, statusPort);
        } catch (Exception e) {
            statusPort = "Failed to open " + selectedPort + "(" + e.toString() + ")";
            JOptionPane.showMessageDialog(null, statusPort);
        }
    }
 
Program diatas digunakan untuk membuka koneksi dengan serial port yang sebelumnya telah ditentukan dengan cara memilih salah satu serial port yang tersedia pada comboBox. perintah yang digunakan untuk membuka koneksi adalah .open()

3.  Inisialisasi  input/output stream

public boolean initIOStream() {
        boolean successful = false;
        try {
            inPut = serialPort.getInputStream();
            outPut = serialPort.getOutputStream();
           
            successful = true;
            return successful;
        } catch (IOException e) {
            statusPort = "I/O Streams failed to open. (" + e.toString() + ")";
            JOptionPane.showMessageDialog(null, statusPort);
            return successful;
        }
}

program ini akan menginisialisasi input/output stream yang nantinya digunakan untuk menampung data yang masuk ataupun data yang akan dikirim kan dari aplikasi menuju perangkat lainnya.


4. Memutuskan koneksi serial
 
public void disconnect() {
         try {
            serialPort.removeEventListener();
            serialPort.close();
            inPut.close();
            setConnected(false);
            statusPort = "PORT disconnect successfully";           
            JOptionPane.showMessageDialog(null, statusPort);
            window.bConn.setText("Connect");
        } catch (Exception e) {
            statusPort = "Failed to close " + serialPort.getName() + "(" + e.toString() + ")";
            JOptionPane.showMessageDialog(null, statusPort);
        }
    }

 
Program tersebut akan memutuskan koneksi antara port serial dengan aplikasi. pada saat memutuskan koneksi serial port harus di tutup dengan menggunakan perintah .close(), begitu juga dengan input/output stream nya.

5. Kirim Data Serial
 
public void kirimData(Byte a){
        try {
            outPut.write(a);
            outPut.write(10);
            outPut.flush();
        } catch (IOException ex) {
            System.out.println("Kirim Gagal");
        }
    }

 
Program diatas akan mengirimkan data serial. tipe data yang bisa dikirimkan berupa "Byte" dan "Integer". pengiriman dilaksanakan saat ada perintah .write(a), kemudian .flush() digunakan untuk mengosongkan kembali outputstream.


6. Terima Data Serial

untuk dapat menerima data serial setiap saat, maka dimanfaatkan event yang khusus menangani data serial yang masuk. berikut merupakan program untuk inisialisasi event beserta program event yang menangani data serial yang masuk ke aplikasi.
 
public void initListener() {
        try {
            serialPort.addEventListener(this);
            serialPort.notifyOnDataAvailable(true);
        } catch (TooManyListenersException e) {
            JOptionPane.showMessageDialog(null, e.toString());
        }
    }

    public void serialEvent(SerialPortEvent evt) {
        char dataSerial = 0; // Untuk menampung input dari serial port
        
        if (evt.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
            try {
                dataSerial = (char) inPut.read();
                window.txtDataIn.setText(String.valueOf(dataSerial));              
            } catch (IOException ex) {
                JOptionPane.showMessageDialog(null, ex.toString());
            }
        }
    }

 
 
contoh tampilan aplikasi yang saya buat :



saat aplikasi dijalankan maka tampilan awal aplikasi adalah sebagai berikut :



setelah tulisan "Search Port" ditekan maka tampilan akan berubah sebagai berikut :



untuk mengkoneksikan aplikasi dengan serial port, arahkan kursor ke tombol "connect" kemudian klik tombol tersebut. setelah itu jika berhasil terkoneksi maka tampilan aplikasi akan sebagai berikut :



Jika koneksi gagal, maka akan muncul messageBox yang menjelaskan penyebab gagalnya koneksi.
untuk memutuskan koneksi tekan saja tombol "Disconnect".

Saat aplikasi telah terkoneksi dengan serial port, maka aplikasi dalam posisi stand by menerima data serial yang mana setiap data yang diterima akan ditampilkan pada textBox. untuk mengirim data, tekan saja tombol kirim data. pada aplikasi ini jika tombol kirim data ditekan, maka aplikasi akan mengirimkan data "a".


Aplikasi lengkapnya dapat anda download disini.


Semoga bermanfaat..... :)

Kamis, 26 Juli 2012

Add Java Serial Library ( RxTx Lib )

Sebelum kita belajar mengenai komunikasi data serial, ada baiknya kita belajar dahulu tentang bagaimana menambahkan library yang dibutuhkan dalam melakukan komunikasi serial di Java.

Library yang kita gunakan yaitu RxTx Library. Library ini memungkinkan kita untuk dapat melakukan komunikasi serial baik itu antar aplikasi maupun antara aplikasi dengan hardware.

Berikut ini langkah-langkah menambahkan library RxTx kedalam project yang telah kita buat.
Siapkan terlebih dahulu file RxTx.jar nya. Jika anda belum memiliki file library tersebut anda dapat mendownload / mengunduhnya disini.

Setelah itu buka project yang akan kita tambahkan library RxTx. Klik kanan pada folder/package "library" lalu pilih "add JAR/Folder..."

add Jar


Setelah itu akan muncul tampilan sebagai berikut :

select JAR


Pilih lokasi dimana anda menyimpan file RxTx.JAR. Setelah itu tekan "open". Dengan begitu, secara otomatis RxTx.JAR telah ditambahkan kedalam project anda tadi.

tampiladd

Selamat mencoba :D

Minggu, 17 Juni 2012

Kalkulator sederhana – Belajar JAVA



Kalkulator merupakan sebuah aplikasi sederhana yang digunakan untuk mencari hasil dari sebuah operasi matematika baik itu operasi penjumlahan, pengurangan, pembagian maupun perkalian dan beberapa operasi lainnya.
Pada postingan kali ini, akan dibuat sebuah aplikasi kalkulator sederhana yang bisa digunakan untuk mencari hasil dari operasi penjumlahan, pengurangan, pembagian serta perkalian. Selain itu, akan dijelaskan juga mengenai beberapa program yang ada pada aplikasi tersebut. Aplikasi kalkulator sederhana ini dibuat dengan menggunakan bahasa pemrograman JAVA dengan memanfaatkan NetBeans sebagai IDE nya.
Aplikasi kalkulator sederhana ini berbasis GUI, dan pada saat pembuatannya menggunakan JFrame. Pemilihan tersebut dapat kita lakukan dengan cara buat project baru dengan memilih File >> New Project >> Java Application. Setelah pembuatan project baru selesai, hapus lah subfolder beserta isi yang ada pada folder “Source Packages”.
 

Jika sudah dihapus, maka buat lah sebuah form dengan memanfaatkan JFrame Form, dengan cara klik kanan pada “source packages” kemudian pilih new, dan setelah itu pilih JFrame Form.



anda akan diminta untuk memberikan nama JFrame Form tersebut. Setelah selesai memberikan nama, klik “finish”. Akan muncul sebuah jendela baru, yang mana akan terdapat 2 tombol pilihan yaitu “Source” dan “Design”.

Rabu, 13 Juni 2012

Pemutar file music sederhana – Belajar C#



Pemutar file music merupakan sebuah aplikasi sederhana untuk memutar sebuah lagu atau music yang telah ditentukan alamat dan nama file music yang akan diputar. Aplikasi ini memanfaatkan aplikasi bawaan windows yaitu Windows Media Player yang memang sudah tersedia pada reference visual C#, yang mana kita tinggal menambahkannya saja ke dalam project yang akan kita buat.

Untuk membuat aplikasi sederhana ini, mulai lah dengan membuat project baru di Visual C#. kemudian, tambahkan reference yaitu Windows Media Player dengan cara Klik kanan pada “toolbox” pada tab “general” kemudian pilih “Choose Item…




Kamis, 03 Mei 2012

MessageBox – Belajar Visual C++


messageBox merupakan sebuah fitur  ayng tersedia dipemrograman visual, termasuk pada visual C++. Messagebox digunakan untuk menampilkan informasi kepada pengguna aplikasi. Informasi tersebut dapat berisi peringatan, pemberitahuan maupun hal-hal lainnya sesuai dengan jalannya aplikasi yang memang telah disediakan oleh sipembuat aplikasi.
Selain untuk menampilkan informasi, messageBox juga menyediakan fitur pemilihan keputusan. Yang mana keputusan tersebut dipilih oleh pengguna aplikasi dengan menekan tombol-tombol yang ada didalam sebuah messageBox.
Dibawah ini merupakan contoh program untuk menampilkan sebuah message box.

MessageBox::Show("Anda ingin keluar dari aplikasi?", "Tutup Aplikasi");



Senin, 30 April 2012

Menampilkan data pada table menggunakan DataGridView – Visual C++


Menampilkan sebuah data merupakan salah satu fungsi dari sebuah aplikasi. Tampilan data tersebut banyak macamnya, terutama data teks. contohnya saja, menampilkan data mahasiswa pada sebuah tabel. Untuk menampilkan data pada sebuah tabel bisa digunakan berbagai mecam tool, seperti kombinasi label yang disusun pada sebuah tableLayoutEditor ataupun langsung menggunakan tool yang dikhususkan untuk menampilkan data pada sebuah tabel yaitu DataGridView. DataGridView ini bisa digunakan untuk menampilkan data yang berasal dari inputan maupun data yang berasal dari sebuah data base.

Jumat, 20 April 2012

Timer – Visual C++


Timer merupakan sebuah tool yang disediakan oleh visual c++ sebagai tool pengolah data yang berkaitan dengan waktu. Dalam menggunakan timer, kita harus mengaktifkannya terlebih dahulu dengan mengubah nilai properties “Enabled” nya menjadi “true”.
Selain mengatur properties enable nya, yang harus kita perhatikan jika kita menggunakan timer adalah pengaturan properties “interval” nya. Interval ini digunakan untuk mendefinisikan tunda waktu timer untuk menjalankan program yang ada didalam fungsi “timer_tick”. Misalnya kita atur interval timer adalah 1000 (nilai 1000 tersebut memiliki satuan waktu milidetik atau 1 detik), kemudian didalam fungsi timer_tick (fungsi yang akan kita jumpai jika kita double klik pada timer) kita buat sebuah program untuk menampilkan sebuah tulisan pada label, maka program menampilkan tulisan pada label tersebut akan dijalankan setiap satu detik sekali.
Untuk  lebih jelasnya, dibawah ini akan dijelaskan mengenai beberapa cara menggunakan timer pada visual c++ (GUI).

timer1->Interval = 1000;
Sintak diatas berfungsi untuk mendefinisikan nilai interval dari timer. Nilai interval tersebut dapat kita atur sesuai dengan keinginan.

timer1->Enabled = false;
Sintak diatas berfungsi untuk mengatur enable dari timer. Enable disini artinya adalah mengaktifkan atau menonaktifkan timer yang akan kita atur. Jika ingin mengaktifkan maka nilai enabled nya adalah “true” sedangkan untuk menonaktifkan adalah “false”.


Berikut ini merupakan contoh penggunaan timer pada sebuah aplikasi.

Rabu, 18 April 2012

Merubah Warna Text Pada Tampilan Console – Belajar Bahasa C++


Pada saat kita membuat sebuah program sederhana ataupun membuat sebuah aplikasi yang berbasiskan console application, pada layar output (console) secara default warna yang background dan tulisan yang kita lihat adalah warna hitam untuk background dan warna putih untuk tulisan/text. Warna tersebut sebenarnya dapat kita rubah dengan warna yang sesuai dengan keinginan kita.
Di C++, sudah disediakan library yang bisa kita gunakan untuk merubah warna text dan warna background tampilan.  Library tersebut adalah “windows.h”. berikut ini merupakan contoh program untuk merubah warna text pada tampilan console pada C++ console application.


#include <iostream>  //preposessor
#include <Windows.h> //preprosessor
using namespace std; //akses library std

void main(){  //awal program, ditandai dengan fungsi main bertipe void dan 
              //kurung kurawal buka
       HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE);      //membuat objek hstdout
      
       SetConsoleTextAttribute(hstdout,1);//program untuk merubah warna text
       cout << "Warna 1,  " << endl;
       SetConsoleTextAttribute(hstdout,2);
       cout << "Warna 2,  " << endl;
       SetConsoleTextAttribute(hstdout,3);
       cout << "Warna 3,  " << endl;
       SetConsoleTextAttribute(hstdout,4);
       cout << "Warna 4,  " << endl;
       SetConsoleTextAttribute(hstdout,5);
       cout << "Warna 5,  " << endl;
       SetConsoleTextAttribute(hstdout,6); 
       cout << "Warna 6, " << endl;
       SetConsoleTextAttribute(hstdout,7);
       cout << "Warna 7, " << endl;
       SetConsoleTextAttribute(hstdout,8); 
       cout << "Warna 8, " << endl;
       SetConsoleTextAttribute(hstdout,9);
       cout << "Warna 9, " << endl;
       SetConsoleTextAttribute(hstdout,10); 
       cout << "Warna 10, " << endl;
       SetConsoleTextAttribute(hstdout,11);     
       cout << "Warna 11, " << endl;
       SetConsoleTextAttribute(hstdout,12); 
       cout << "Warna 12, " << endl;
       SetConsoleTextAttribute(hstdout,13); 
       cout << "Warna 13, " << endl;
       SetConsoleTextAttribute(hstdout,14);  
       cout << "Warna 14, " << endl;
       SetConsoleTextAttribute(hstdout,15);  
       cout << "Warna 15, " << endl;
                                        
       cout <<endl<<endl;
       system("pause");     //menunda sementara berakhirnya program sampai ada 
                            //penekanan tombol keyboard
}      //akhir dari fungsi main

hasil tampilan output :




untuk merubah warna text, kita tinggal mengubah nilai yang ada di dalam kurung pada sintak  "SetConsoleTextAttribute(hstdout,15);" mulai dari 1-15. 

Minggu, 15 April 2012

Aplikasi UDP Chatting Text Sederhana (Visual C#)


Aplikasi chatting sudah mulai banyak dibuat semenjak teknologi internet mulai ada. Dahulu masih terdapat beberapa aplikasi chatting sederhana seperti MIRC dan sekarang kita sudah melihat banyak sekali aplikasi yang digunakan untuk media komunikasi berbasis teks ini dan semakin menarik baik dari segi tampilan maupun performa, salah satu contohnya yaitu yahoo messenger.
Pada postingan kali ini, akan coba dibuat sebuah aplikasi chatting berbasis teks sederhana yang menggunakan protocol UDP sebagai protocol pengiriman datanya. Aplikasi ini dibuat berbasis bahasa pemrograman C# menggunakan visual studio C# 2010.
Ada beberapa bagian dari program yang dianggap memiliki peranan utama pada aplikasi chatting ini yang akan dibahas secara singkat tentang fungsi dan kegunaan dan pengaruhnya terhadap aplikasi secara utuh. Bagian program tersebut adalah sebagai berikut :

using System.Net;
using System.Net.Sockets;
using System.Threading;

bagian program diatas merupakan bagian program yang memanggil library yang akan dipakai sebagai jalur untuk mengakses beberapa fungsi yang diperlukan seperti penggunaan thread, akses port dan socket dan masih banyak lagi.

delegate void AddMessage(string message);

pendeklarasian fungsi AddMessage yang bertipe delegate void, delegate disini digunakan karena adanya pengaksesan sebuah tool (richTextBox) pada 2 buah event yang berbeda.

int port = 11000;
const string broadcastAddress = "192.168.0.255";

bagian program diatas digunakan untuk mendeklarasikan dan mendefinisikan variabel “port” yang mana nantinya nilai variabel ini digunakan sebagai port yang akan digunakan aplikasi untuk mengirimkan dan menerima data. Selain variabel “port”, dideklarasikan serta didefinisikan juga variabel “broadcastAddress” yang mana nantinya variabel ini digunakan untuk mendefinisikan alamat IP tujuan, dari client aplikasi chatting teks ini. Karena nilai pada variabel tersebut adalah IP broadcast, maka nantinya pesan teks yang dikirim akan dikirimkan ke alamat broadcast sehingga setiap client yang terhubung pada satu jaringan akan menerima pesan yang sama. Nilai variabel port dan broadcastAddress ini bisa dirubah sesuai dengan keinginan, atau juga bisa menggunakan nilai inputan dari sebuah textbox pada aplikasi.

UdpClient receivingClient = new UdpClient(11000);
UdpClient sendingClient;
        
Bagian program diatas mendeklarasikan variabel receivingClient dan sendingClient. Pada saat pendeklarasian digunakan tipe UdpClient yang mana tipe ini merupakan hasil akses terhadap library yang telah dijelaskan sebelumnya. Dengan adanya pendeklarasian dengan menggunakan UdpClient ini, menjelaskan bahwa protocol yang digunakan saat pentrasferan data adalah protocol UDP.

Thread receivingThread;
Bagian program ini merupakan pendeklarasian terhadap thread yang akan dibuat dan yang akan digunakan nantinya.

Minggu, 18 Maret 2012

Simple Audio Recording

Sesuai dengan judulnya, aplikasi ini berfungsi untuk merekam suara yang berasal dari audio input device seperti microphone atau semacamnya yang nantinya akan direkam dan disimpan menjadi file audio berekstensikan .wav. Saat pembuatan aplikasi ini, digunakan library NAudio yang difungsikan sebagai pengolah data mulai dari mendeteksi microphone sampai proses penyimpanan file hasil rekaman.
Dibawah ini adalah langkah-langkah dalam membuat aplikasi audio recording ini.

    1.  Buka Microsoft visual C# 2010 express, kemudian buat project baru  dengan memilih windows form application kemudian beri nama “Audio Recording”, lalu klik OK.

2. Pada jendela design, tambahkan 2 buah button. Untuk button1 ganti properties name nya dengan “btnRecord” dan properties text nya menjadi “Record”. Untuk button2, ganti properties name nya menjadi “btnStop”, dan properties text nya menjadi “Stop”.

     3.  Setelah itu, klik 2 kali pada form1 hingga nanti muncul jendela source code dimana kita membuat program untuk aplikasi audio recording dan kursor akan berada didalam fungsi form1_Load.
 
     4. Sebelum membuat program, sebaiknya kita menambahkan dahulu beberapa referensi dan library yang kita butuhkan, disini kita membutuhkan 3 file yaitu NAudio.dll, NAudioBufferReverse.cs dan NAudioSample.cs. Bagi yang belum memiliki ketiga file tersebut dapat langsung mendownload di sini.

    5.  Cara menambahkan NAudio.dll adalah dengan cara klik kanan pada “Reference” yang ada di Solution Explorer atau dengan cara memilih “Project >> Add reference…”.


Kemudian pada jendela Add Reference pilih tab browse, dan carilah lokasi dimana anda menyimpan file NAudio.dll, setelah ketemu pilih filenya kemudian klik OK.