Ok, in this post, I'll post a simple apps for conversion of temperature. This apps for only Android phone. And this is the capture of the application.
In this apps, I use spinner to add dropdown box like in a website. Ok, to make this app, so these are the codes you need to write.
First of all is main activity layout, I named it activity_conversion.xml. It's look like this:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="20dp"
android:layout_marginTop="14dp"
android:text="@string/hello_world"
tools:context=".ConversionActivity" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="16dp" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/spinner1"
android:layout_below="@+id/spinner1"
android:layout_marginTop="20dp"
android:text="@string/hello2" />
<Spinner
android:id="@+id/spinner2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_marginTop="22dp" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/spinner2"
android:layout_below="@+id/spinner2"
android:layout_marginTop="14dp"
android:text="@string/insert_temp" />
<EditText
android:id="@+id/insert_editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/textView3"
android:layout_marginTop="20dp"
android:ems="10" />
<Button
android:id="@+id/convert_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/insert_editText"
android:layout_below="@+id/insert_editText"
android:text="@string/convert_button" />
<EditText
android:id="@+id/result_editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/convert_button"
android:layout_alignParentBottom="true"
android:layout_marginBottom="20dp"
android:ems="10" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/result_editText"
android:layout_alignLeft="@+id/result_editText"
android:layout_marginBottom="22dp"
android:text="@string/result" />
</RelativeLayout>
And for the second is strings.xml. Here it's the code for strings.xml:
<resources>
<string name="app_name">TempConversion</string>
<string name="hello_world">Choose your temperature from</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_conversion">ConversionActivity</string>
<string name="hello2">Conversion to</string>
<string name="insert_temp">Insert your temperature</string>
<string name="result">The result is</string>
<string name="convert_button">Convert</string>
<string-array name="nama_suhu">
<item>Celcius</item>
<item>Fahrenheit</item>
<item>Kelvin</item>
<item>Reamur</item>
</string-array>
<string-array name="nama_suhu2">
<item>Celcius</item>
<item>Fahrenheit</item>
<item>Kelvin</item>
<item>Reamur</item>
</string-array>
</resources>
Next is the main activity, I named it with ConversionActivity.java. And the codes are:
package org.tempconversion;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
public class ConversionActivity extends Activity implements OnItemSelectedListener{
//private String suhu1, suhu2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conversion);
final Spinner pilTemp1 = (Spinner)findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.nama_suhu, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
pilTemp1.setAdapter(adapter);
final Spinner pilTemp2 = (Spinner)findViewById(R.id.spinner2);
ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this, R.array.nama_suhu2, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
pilTemp2.setAdapter(adapter2);
final EditText inputTemp = (EditText)findViewById(R.id.insert_editText);
final EditText resultTemp = (EditText)findViewById(R.id.result_editText);
final Button convertButton = (Button)findViewById(R.id.convert_button);
// event for button
convertButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String suhu1 = pilTemp1.getSelectedItem().toString();
String suhu2 = pilTemp2.getSelectedItem().toString();
String strSuhu = inputTemp.getText().toString();
String strSuhuAkhir = "";
double suhuAwal = Double.parseDouble(strSuhu);
double suhuResult = 0;
// selection for converting suhu
// start with Celcius first
if(suhu1.equals("Celcius")) {
if(suhu2.equals("Fahrenheit")) {
suhuResult = (suhuAwal * 9 / 5) + 32;
} else if(suhu2.equals("Kelvin")) {
suhuResult = suhuAwal + 273;
} else if(suhu2.equals("Reamur")) {
suhuResult = suhuAwal * 4 / 5;
} else {
suhuResult = suhuAwal;
}
} else if(suhu1.equals("Fahrenheit")) {
if(suhu2.equals("Celcius")) {
suhuResult = (suhuAwal - 32) * 5 / 9;
} else if(suhu2.equals("Kelvin")) {
suhuResult = (suhuAwal - 459) * 5 / 9;
} else if(suhu2.equals("Reamur")) {
suhuResult = (suhuAwal - 32) * 4 / 9;
} else {
suhuResult = suhuAwal;
}
} else if(suhu1.equals("Kelvin")) {
if(suhu2.equals("Celcius")) {
suhuResult = suhuAwal - 273;
} else if(suhu2.equals("Fahrenheit")) {
suhuResult = suhuAwal * 9 / 5 - 459;
} else if(suhu2.equals("Reamur")) {
suhuResult = (suhuAwal - 273) * 4 / 5;
} else {
suhuResult = suhuAwal;
}
} else if(suhu1.equals("Reamur")) {
if(suhu2.equals("Celcius")) {
suhuResult = suhuAwal * 5 / 4;
} else if(suhu2.equals("Kelvin")) {
suhuResult = suhuAwal * 5 / 4 + 273;
} else if(suhu2.equals("Fahrenheit")) {
suhuResult = suhuAwal * 9 / 4 + 32;
} else {
suhuResult = suhuAwal;
}
}
strSuhuAkhir = Double.toString(suhuResult);
resultTemp.setText(strSuhuAkhir);
}
});
}
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
// An item was selected. You can retrieve the selected item using
// parent.getItemAtPosition(pos)
}
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_conversion, menu);
return true;
}
}
Ok, that's all for sharing today. Happy coding and go open source.
Tampilkan postingan dengan label Edu. Tampilkan semua postingan
Tampilkan postingan dengan label Edu. Tampilkan semua postingan
Senin, 05 November 2012
Selasa, 02 Oktober 2012
Using pointer to initialize Array 2D ( Menggunakan Pointer untuk menginisialisasi Array 2D)
Ok, in this post, I would like to share about pointer in c. Even this pointer an old stuff, but, if you are interest in kernel and embedded system, it always use. Go to the topics, I'll share a little c code to initialize a 2D array with a pointer. The pointer will be a parameter in a function. This is the code:
#include <stdio.h>
void main(){
int a[2][2];
int b[2][2];
int i,j;
initArray(a,2,2);
//display(a,2,2);
//show(b,2,2);
//show(a,2,2);
for(i=0;i<2;i++) {
for(j=0;j<2;j++) {
printf("a[%d][%d]: %d ",i,j,a[i][j]);
}
printf("\n");
}
}
void initArray(int *k, int r, int c) {
int i,j,*z;
for(i=0;i<r;i++) {
z = k+i*r;
for(j=0;j<c;j++) {
printf("arr[%d][%d]: ",i,j);
scanf("%d", &(*(z+j)));
}
}
}
display(int *k,int r,int c){
int i,j,*z;
printf("Display\n");
for(i=0;i<r;i++){
z=k+i*r;
printf("%p \n",z);
for(j=0;j<c;j++){
printf("%d, %p\n",*(z+j), &(*(z+j)));
}
}
}
show(int *q,int ro,int co){
int i,j;
printf("Show");
for(i=0;i<ro;i++){
printf("\n");
for(j=0;j<co;j++){
printf("%d",*(q+i*co+j));
}
}
}
And this is the capture of the running program.
Go Open Source... and Happy Coding.
#include <stdio.h>
void main(){
int a[2][2];
int b[2][2];
int i,j;
initArray(a,2,2);
//display(a,2,2);
//show(b,2,2);
//show(a,2,2);
for(i=0;i<2;i++) {
for(j=0;j<2;j++) {
printf("a[%d][%d]: %d ",i,j,a[i][j]);
}
printf("\n");
}
}
void initArray(int *k, int r, int c) {
int i,j,*z;
for(i=0;i<r;i++) {
z = k+i*r;
for(j=0;j<c;j++) {
printf("arr[%d][%d]: ",i,j);
scanf("%d", &(*(z+j)));
}
}
}
display(int *k,int r,int c){
int i,j,*z;
printf("Display\n");
for(i=0;i<r;i++){
z=k+i*r;
printf("%p \n",z);
for(j=0;j<c;j++){
printf("%d, %p\n",*(z+j), &(*(z+j)));
}
}
}
show(int *q,int ro,int co){
int i,j;
printf("Show");
for(i=0;i<ro;i++){
printf("\n");
for(j=0;j<co;j++){
printf("%d",*(q+i*co+j));
}
}
}
And this is the capture of the running program.
Go Open Source... and Happy Coding.
Minggu, 16 September 2012
Integrasi Modul Enkripsi Pada VoIP Client berbasis Mobile
Abdi
Wahab1,
Rizal Bahaweres2
dan Mudrik Alaydrus3
Abstract – The use of VoIP in Indonesia
industries is still very low, it’s caused by security problem that
haven’t guarenteed by VoIP provider. For this security problem,
VoIP users can only access the VoIP client, but not for the VoIP
server build by VoIP provider. So, to secure the communication, users
can secure the communication data transmitted via VoIP network, with
adding encryption module into VoIP client. The growing use of
smartphone also effect the increase of mobile application
development, one of them is mobile VoIP client apps. This research
try to integrate encryption module in VoIP client application
especially for Android smartphone. Research methodology for this
research use prototyping method for developing VoIP client integrated
with encryption module. From the prototyping model, the module will
be tested by communicated with the module. The results from the
testing with black box method, obtained that the integrated
encryption modul can run well to encrypt communication data.
Key Words: VoIP, VoIP Client, Encryption
Selasa, 11 September 2012
Initialize Array From Procedure in C
Sometimes, a very complicated algorithm use a lot of matrix, and I sometimes find a process to initialize a matrix or array from a procedure or function. So, this is a little example how to initialize array from procedure.
#include <stdio.h>
int main() {
// declare array a
int a[5];
int masukan;
printf("Masukkan nilai: ");
scanf("%d",&masukan);
// initialize array with method
test(a, masukan);
int j;
for(j = 0; j < 5; j++) {
printf("a[%d]: %d \n",j,a[j]);
}
return 0;
}
void test(int *b, int c) {
int i;
for(i = 0; i < 5; i++) {
b[i] = c;
}
}
FYI, I build this code in linux, and compile it with gcc. Just a little share today, I hope it can usefull. happy coding, go Open Source.
#include <stdio.h>
int main() {
// declare array a
int a[5];
int masukan;
printf("Masukkan nilai: ");
scanf("%d",&masukan);
// initialize array with method
test(a, masukan);
int j;
for(j = 0; j < 5; j++) {
printf("a[%d]: %d \n",j,a[j]);
}
return 0;
}
void test(int *b, int c) {
int i;
for(i = 0; i < 5; i++) {
b[i] = c;
}
}
FYI, I build this code in linux, and compile it with gcc. Just a little share today, I hope it can usefull. happy coding, go Open Source.
Kamis, 16 Agustus 2012
Sharing Internet di Virtual Box menggunakan Firestarter
Ada masalah ketika saya menggunakan virtual box untuk menjalankan guest OS. Guest OS saya (Mikocok) tidak bisa sharing internet ketika saya terkoneksi dengan modem melalui interface ppp0, sedangkan untuk bridging dengan interface wlan0, koneksi dapat dilakukan. Padahal saya sudah setting di NAT agar dapat koneksi internet dengan interface ppp0. Mungkin ada sedikit konfigurasi yang bermasalah.
Untuk itu saya coba cara lain. Ada satu interface bawaan dari virtual box, yaitu vboxnet0, dengan interface ini, saya bisa terhubung. Diuji dengan ping pun sudah berhasil. IP yang dihasilkan di host adalah 192.168.56.1, kemudian yang di guest adalah 192.168.56.101.
Analisa saya, jika kedua alamat ini bisa berkomunikasi, maka alamat yang di host bisa saya jadikan gateway untuk melakukan koneksi ke internet. Saya sebelumnya pernah melakukan hal ini pada wireless untuk hp android saya di sini. Untuk itu saya akan menggunakan tool yang sama, yaitu firestarter untuk melakukan hal ini.
Untuk tahap pertama adalah merubah settingan pada firestarter. dari File > Preferences > FIrewall > Network Settings, rubah settingan Internet connected network device menjadi Dialup device (ppp0) dan Local networked connected device menjadi Unknown device (vboxnet0). Seperti gambar di bawah ini.
Untuk itu saya coba cara lain. Ada satu interface bawaan dari virtual box, yaitu vboxnet0, dengan interface ini, saya bisa terhubung. Diuji dengan ping pun sudah berhasil. IP yang dihasilkan di host adalah 192.168.56.1, kemudian yang di guest adalah 192.168.56.101.
Analisa saya, jika kedua alamat ini bisa berkomunikasi, maka alamat yang di host bisa saya jadikan gateway untuk melakukan koneksi ke internet. Saya sebelumnya pernah melakukan hal ini pada wireless untuk hp android saya di sini. Untuk itu saya akan menggunakan tool yang sama, yaitu firestarter untuk melakukan hal ini.
Untuk tahap pertama adalah merubah settingan pada firestarter. dari File > Preferences > FIrewall > Network Settings, rubah settingan Internet connected network device menjadi Dialup device (ppp0) dan Local networked connected device menjadi Unknown device (vboxnet0). Seperti gambar di bawah ini.
Pastikan matikan terlebih dahulu firestarter sebelum melakukan perubahan, baru kemudian di start kembali.
Selanjutnya adalah merubah settingan network connection pada guest. Guest saya menggunakan win xp, dan saya hanya perlu untuk menambahkan default gateway ke IP dari host, yaitu 192.168.56.1. Gambar di bawah ini menampilkan hasil konfigurasinya.
Kemudian saya perlu menambahkan DNS dari operator di mana saya terhubung menggunakan dial-ip modem. Kebetulan saya menggunakan flexi mobile broadband (lumayan lah, buat koneksi yang unlimited tanpa quota, hanya modem saya saja yg blm support evdo masih cdma 1x) dengan dns-nya adalah sebagai berikut.
Hasil dari konfigurasi tadi jika dilihat dari cmd guest dan melakukan ping ke google.co.id hasilnya dapat dilihat pada gambar di bawah ini.
Terlihat guest os sudah terhubung dengan internet.
Cukup mudah juga kan menghubungkan dengan internet ke guest OS. Selamat mencoba. Oiya, saya menggunakan host Ubuntu 10.04. Terus knapa saya sharing ini, karena terkadang masih banyak teman-teman saya yang minta bantuan saya untuk mengerjakan "research"-nya menggunakan mikocok. So, apa boleh buat. Terkadang klo hidup terlalu idealis susah juga nyari "sesuap nasi" ^_^. But I love open source more than ....
Go Open Source.
Label:
Edu,
Free,
Networking,
Sharing Internet,
Tutorial
Selasa, 07 Agustus 2012
My Mini Lab
Yup, this is one of my dream, having a lab, especially ICT lab. And this lab will produce researches, products, and also recommendations for ICT world.
So, I start to make my mini lab in my room, just consist of a notebook, a usb modem, an all-in-one printer, and a tv tunner ( for watching football match ^_^ ). Alhamdulillah, from this mini lab, I've developed a lot of products. In a short time period, I hope I can launch some of my products.
So this is my capture of my mini lab.
And I hope this lab can grow and expand. Amin ya Rab...
So, I start to make my mini lab in my room, just consist of a notebook, a usb modem, an all-in-one printer, and a tv tunner ( for watching football match ^_^ ). Alhamdulillah, from this mini lab, I've developed a lot of products. In a short time period, I hope I can launch some of my products.
So this is my capture of my mini lab.
And I hope this lab can grow and expand. Amin ya Rab...
Rabu, 18 Juli 2012
Implementasi dan Analisis Kualitas Layanan VoIP Pada Jaringan Ad hoc Peer-to-Peer
Tri Angga Bagus Susanto1, Abdusy Syarif2, Abdi Wahab3
ABSTRAKS
Teknologi VoIP (Voice over Internet Protocol) adalah sebuah teknologi komunikasi data yang sangat memungkinkan percakapan suara dengan memanfaatkan media jaringan komputer atau jaringan paket Internet Protocol (IP). Pada umumnya, implementasi VoIP menggunakan jaringan Local Area Network (LAN) atau Wireless Local Area Network (WLAN) atau juga Intranet / Internet. Singkatnya, dibutuhkan sebuah infrastruktur untuk dapat mengimplementasikan VoIP. Namun pada penelitian ini akan digunakan jaringan ad hoc peer-to-peer dan akan dilakukan pengukuran serta analisis terhadap kualitas layanan VoIP. Jaringan Ad hoc peer-to-peer adalah sebuah metode yang memungkinkan bagi perangkat keras nirkabel untuk berkomunikasi secara langsung dengan yang lainnya tanpa ketersediaan infrastruktur jaringan. Dalam skenario pengujian digunakan beberapa perangkat keras (seperti laptop, komputer dan telepon seluler), sistem operasi (Windows, Linux Ubuntu, dan Android) dan perangkat lunak softphone yang berbeda (seperti 3Cxphone, Ekiga, Qutecom, Sjphone, X-lite). Dari hasil penelitian dapat dilihat bahwa teknologi VoIP dapat diimplementasikan walaupun tanpa dukungan infrastruktur, yaitu dengan memanfaatkan jaringan Ad Hoc peer-to-peer. Dari hasil pengukuran dan analisa beberapa parameter yang diamati, didapatkan hasil untuk rata-rata delay adalah sebesar 20,54 millidetik, dan throughput sebesar 0,081 Mega Byte/detik, sedangkan banyaknya paket per-detik adalah 94,3842 paket.
Teknologi VoIP (Voice over Internet Protocol) adalah sebuah teknologi komunikasi data yang sangat memungkinkan percakapan suara dengan memanfaatkan media jaringan komputer atau jaringan paket Internet Protocol (IP). Pada umumnya, implementasi VoIP menggunakan jaringan Local Area Network (LAN) atau Wireless Local Area Network (WLAN) atau juga Intranet / Internet. Singkatnya, dibutuhkan sebuah infrastruktur untuk dapat mengimplementasikan VoIP. Namun pada penelitian ini akan digunakan jaringan ad hoc peer-to-peer dan akan dilakukan pengukuran serta analisis terhadap kualitas layanan VoIP. Jaringan Ad hoc peer-to-peer adalah sebuah metode yang memungkinkan bagi perangkat keras nirkabel untuk berkomunikasi secara langsung dengan yang lainnya tanpa ketersediaan infrastruktur jaringan. Dalam skenario pengujian digunakan beberapa perangkat keras (seperti laptop, komputer dan telepon seluler), sistem operasi (Windows, Linux Ubuntu, dan Android) dan perangkat lunak softphone yang berbeda (seperti 3Cxphone, Ekiga, Qutecom, Sjphone, X-lite). Dari hasil penelitian dapat dilihat bahwa teknologi VoIP dapat diimplementasikan walaupun tanpa dukungan infrastruktur, yaitu dengan memanfaatkan jaringan Ad Hoc peer-to-peer. Dari hasil pengukuran dan analisa beberapa parameter yang diamati, didapatkan hasil untuk rata-rata delay adalah sebesar 20,54 millidetik, dan throughput sebesar 0,081 Mega Byte/detik, sedangkan banyaknya paket per-detik adalah 94,3842 paket.
Kata Kunci: voip, ad hoc, peer-to-peer
Selasa, 12 Juni 2012
ANALISIS KINERJA VOIP CLIENT SIPDROID DENGAN MODUL ENKRIPSI TERINTEGRASI
Abdi Wahab1, Rizal Bahaweres2, Mudrik Alaydrus3
Abstrak --
Jumlah pengguna VoIP di Indonesia masih kecil sekali, walaupun cost yang ditawarkan oleh VoIP lebih kecil dibandingkan dengan menggunakan telepon berpulsa. Salah satu alasannya adalah keamanan yang diberikan oleh penyedia layanan VoIP yang masih kurang. Pengguna VoIP belum mendapat layanan keamanan yang dapat menjamin keamanan komunikasi. Penelitian ini mencoba untuk mengamankan komunikasi antara pengguna VoIP dengan menggunakan modul enkripsi yang diintegrasikan dengan VoIP client Sipdroid yang berjalan di smartphone Android. Hal ini dimungkinkan oleh pengguna VoIP karena hanya VoIP client yang dapat diakses oleh pengguna VoIP. Hasil yang diperoleh setelah dilakukan integrasi dengan modul enkripsi menggunakan tiga buah skema enkripsi yaitu AES, DES, dan RC4, Sipdroid mampu menahan serangan pasif dari penyadapan informasi ( eavesdropping ) selama terjadi komunikasi. Dan hasil dari pengukuran QoS terdapat peningkatan delay sebesar 0.01 ms dan tidak terjadi perubahan yang signifikan terhadap througput dan packet loss, untuk throughput yang dihasilkan berkisar di 78 kbps, dan untuk packet loss rata-rata adalah 0.8 %. Akan tetapi terdapat noise yang mengikuti komunikasi pada Sipdroid yang terintegrasi dengan modul enkripsi akibat skew gelombang dari penambahan waktu proses ketika enkripsi. Kata Kunci: VoIP, VoIP client, Enkripsi
Insya'Allah paper ini akan dipresentasikan di SNATI 2012 pada tanggal 15-16 Juni 2012.
Jumat, 26 Agustus 2011
Restore Glassfish Server 3 in Netbeans 6.9.1 on Ubuntu 10.04
When I made a web application with Netbeans yesterday, I've got a little problem when start the server. For the information, I use Netbeans 6.9.1, and Glassfish server 3 bundled with it. The problem I faced that the port 8080 was already use by other program, so I must change the port to start the server. I follow the instruction from this,but the server was gone. And the project had a warning of resolve server problem.
From my analisys, I must add a new server to Netbeans, especially for Glassfish server. When I add the Glassfish Server 3, and search for the installation path directory, there was a warning "glassfish does not have a usable default domain". But I checked in the directory, there was a domain. In my opinion, may be the permission problem. So, I add the permission to the glassfish installation directory where located in /usr/local/glassfish-3.0.1 with command
$ sudo chmod -R 777 /usr/local/glassfish-3.0.1/
And I add server again, the problem was solved.
From my analisys, I must add a new server to Netbeans, especially for Glassfish server. When I add the Glassfish Server 3, and search for the installation path directory, there was a warning "glassfish does not have a usable default domain". But I checked in the directory, there was a domain. In my opinion, may be the permission problem. So, I add the permission to the glassfish installation directory where located in /usr/local/glassfish-3.0.1 with command
$ sudo chmod -R 777 /usr/local/glassfish-3.0.1/
And I add server again, the problem was solved.
Label:
Edu,
Glassfish,
Java,
Netbeans,
Open Source,
Web Application
Sabtu, 13 Agustus 2011
Translate Indonesian-English for Mobile Application
This is a little mobile application with J2ME code to translate from Indonesian to English. I use google translate API to translate the language. Here is the link for the API Google Translate API JavaME.
The Application is quite simple. And this is the capture of application
Tampilan Awal
Input Bahasa Indonesia
Output Bahasa Inggris
We can modify this to translate to different language. We can add option to this application to setting the language.
This is the jar file
TranslateIndo-Eng
If you want the source, you can contact me at nangdul56@gmail.com or ym: nang_dul@yahoo.com.
The Application is quite simple. And this is the capture of application



We can modify this to translate to different language. We can add option to this application to setting the language.
This is the jar file
TranslateIndo-Eng
If you want the source, you can contact me at nangdul56@gmail.com or ym: nang_dul@yahoo.com.
Label:
Edu,
J2ME,
Java,
Mobile Application,
Translator
Selasa, 26 Juli 2011
My Second Publication: Implementasi Algoritma MD5 pada Aplikasi Login di J2ME
Alhamdulillah, in Saturday (23/7), there was a Seminar in my campus. It's called Seminar Nasional Pengaplikasian Telematika ( SINAPTIKA ). And I was one of the speakers in that Seminar. I speak about encryption, and I focus on the implementation of MD5 algorithm in Mobile Application. And this is my abstract for my research in Indonesia.
Abstrak—Pemrograman untuk aplikasi mobile dengan J2ME sedikit berbeda dengan pemrograman desktop pada J2SE. Salah satu perbedaannya adalah pengurangan beberapa class library pada library J2ME. Sehingga diperlukan beberapa perubahan susunan dari algoritma program dalam pemakaian library. Hal ini juga terjadi dalam penerapan atau pemakaian algoritma enkripsi MD5 yang sering dipakai sebagai pengaman password dalam sebuah aplikasi yang memerlukan aktifitas login. Pada penelitian ini, penulis mencoba membuat sebuah class baru yang dapat digunakan dalam implementasi dari algoritma MD5 pada aplikasi login pada bahasa pemrograman J2ME. Class baru yang akan menangani algoritma MD5 pada saat pembacaan password dari berkas csv yang dihasilkan oleh server. Penggunaan library pada class ini disesuaikan dengan library yang ada pada J2ME. Dari hasil pengujian class yang dibuat cukup mumpuni untuk menangani pemakaian algoritma MD5 pada aplikasi login di aplikasi berbasis mobile. Data-data yang dienkripsi oleh algoritma MD5 dapat dibaca dengan baik oleh class baru ini. Diharapkan class baru ini dapat dimanfaatkan untuk memerbikan fasilitas keamanan dalam sebuah aplikasi.
Kata Kunci : Rancang bangun aplikasi, aplikasi login berbasis mobile, algoritma enkripsi MD5
Abstrak—Pemrograman untuk aplikasi mobile dengan J2ME sedikit berbeda dengan pemrograman desktop pada J2SE. Salah satu perbedaannya adalah pengurangan beberapa class library pada library J2ME. Sehingga diperlukan beberapa perubahan susunan dari algoritma program dalam pemakaian library. Hal ini juga terjadi dalam penerapan atau pemakaian algoritma enkripsi MD5 yang sering dipakai sebagai pengaman password dalam sebuah aplikasi yang memerlukan aktifitas login. Pada penelitian ini, penulis mencoba membuat sebuah class baru yang dapat digunakan dalam implementasi dari algoritma MD5 pada aplikasi login pada bahasa pemrograman J2ME. Class baru yang akan menangani algoritma MD5 pada saat pembacaan password dari berkas csv yang dihasilkan oleh server. Penggunaan library pada class ini disesuaikan dengan library yang ada pada J2ME. Dari hasil pengujian class yang dibuat cukup mumpuni untuk menangani pemakaian algoritma MD5 pada aplikasi login di aplikasi berbasis mobile. Data-data yang dienkripsi oleh algoritma MD5 dapat dibaca dengan baik oleh class baru ini. Diharapkan class baru ini dapat dimanfaatkan untuk memerbikan fasilitas keamanan dalam sebuah aplikasi.
Kata Kunci : Rancang bangun aplikasi, aplikasi login berbasis mobile, algoritma enkripsi MD5
Rabu, 18 Mei 2011
QR Code Apps
QR Code is like a bar code, but more large and powerfull. I know QR Code when I visit kaskus.us and find an article about QR Code. I read it, and I've interested in this technology. So, I start browsing about QR Code and I've got an idea to make a small application to encode and then decode QR Code.
My idea is a small web based application to generate a QR Code image based on the user input. And the reader is on the mobile application that can run on handheld devices or mobile phone. And this is a QR Code image that contains my identity.
My idea is a small web based application to generate a QR Code image based on the user input. And the reader is on the mobile application that can run on handheld devices or mobile phone. And this is a QR Code image that contains my identity.

Senin, 14 Maret 2011
Creating Tone With Java
Actually this is my little research to make a simple multimedia apps. I start to make an application that make a tone based on the frequency and the duration. A lot of thanks for Princeton to provide this class StdAudio.java. It's very usefull to make this application work well.
This a method for create the tone.
After make that method, we just call the variable that using the tone method, and play it with play method in StdAudio class. The example for implementation is below:
The capture of application

For more source you can download here ( Sorry for using this link, because there is no tools for uploading a file in my blog ). I use netbeans for develop it.
This a method for create the tone.
private double[] tone(double hz, double duration) {
int N = (int) (StdAudio.SAMPLE_RATE * duration);
double[] a = new double[N+1];
for (int i = 0; i <= N; i++) { a[i] = Math.sin(2 * Math.PI * i * hz / StdAudio.SAMPLE_RATE); } return a; }
After make that method, we just call the variable that using the tone method, and play it with play method in StdAudio class. The example for implementation is below:
double[] a = tone(frek, dur);
StdAudio.play(a);
The capture of application

For more source you can download here ( Sorry for using this link, because there is no tools for uploading a file in my blog ). I use netbeans for develop it.
Jumat, 25 Februari 2011
Connecting Mobile phone with Java Application
This is my written about connecting mobile phone with java. The connection made with cable to my SEK618i. And the application I made was from java language. To make a connection between java and mobile phone, sun microsystem made a library called Java Comm API. The library can be download at http://www.oracle.com/technetwork/java/index-jsp-141752.html.
After download the library, we can install this library to our java home. Ussually, in the package there are a readme or how to install, we can read it before install in our java home. With the libray, we can communicate with serial or parallel port which connected to device such as mobile phone, printer, or other device.
After download the library, we can install this library to our java home. Ussually, in the package there are a readme or how to install, we can read it before install in our java home. With the libray, we can communicate with serial or parallel port which connected to device such as mobile phone, printer, or other device.
Minggu, 06 Februari 2011
Venus VT-80n di Ubuntu 9.10
Sudah 2 minggu ini saya coba mengkoneksikan USB Medom CDMA ( fix wireless ) Venus VT-80n ke Ubuntu 9.10 di netbook-ku. Sebagai informasi, Venus VT80n ini menggunakan chipset Qualcomm, dan memiliki dua buah mode, yaitu mode storage dan mode modem. Ketika pertama kali modem dihubungkan dengan PC/notebook, dia terdeteksi sebagai storage, dengan bantuan dari driver bawaan dari modem, modem berubah sebagai mode modem. Hal ini terjadi jika kita menggunakan sistem operasi Winbloosss....
Hal ini lah yang menyebabkan saya kesulitan untuk mengkoneksikan modem tersebut di Ubuntu. Ketika saya mengkoneksikan modem tersebut di Ubuntu saya, maka modem tersebut terdeteksi sebagai modem. dengan Id 05c6:1000.
Saya sudah mencoba menggunakan usb_modeswitch untuk merubah mode storage ke mode modem. Tapi usb_modeswitch selalu gagal untuk merubah mode-nya. Lalu saya menggunakan ndsiwrapper untuk menginstall driver bawaan dari winblos, yang terjadi adalah driver untuk merubah ke mode modem dianggap driver yang salah. Atau ketika dijalankan command "ndiswrapper -l" muncul tulisan "invalidd driver!".
Satu-satunya cara untuk menggunakan modem ini di Ubuntu adalah dengan cara merubah modem ke mode modem di winbloss, kemudian restart winbloss tanpa harus mencabut modem, setelah itu masuk ke Ubuntu. Hal ini hanya bisa dilakukan jika PC/notebook kita memiliki dual boot. Tapi jika hanya satu OS, yaitu linux aja, maka akan susah sekali untuk menggunakan modem Venus VT80n. Mungkin bisa juga untuk menginstall winbloss menggunakan Virtual box untuk merubah modem menjadi mode modem. Tapi merepotkan saja.
Lanjut lagi, setelah restart tanpa mencabut modem dari winbloss, tinggal mendaftarkan alamat baru dari modem ke module usb_serial. Untuk alamat baru dari modem akan menjadi 05c6:6500.
Untuk mendaftarkan alamat baru dari modem adalah sebagai berikut:
1. remove terlebih dahulu module usbserial
$ sudo rmmod usbserial
2. daftar ulang module usbserial dengan meng-attach id dari modem yang baru.
$ sudo modprobe usbserial vendor=0x05c6 product=0x6500
3. untuk mengecek apakah registrasi module berhasil coba jalankan perintah
$ dmesg | tail
jika terdapat tulisan seperti ttyUSB0, ttyUSB1, dan ttyUSB3, maka telah behasil
Setelah itu konfigurasi wvdial.conf untuk melakukan dial-up.
Saya masih belum dapat menemukan cara yang lebih mudah untuk mengkoneksikan modem tersebut. Masih terus mencari dan mencari. Rencananya, saya mo buat driver dari modem tersebut di Linux :D. Tapi itu baru sekedar impian. Masih di dalam pikiran aja. Semoga aja bisa terwujud, nanti klo dah bisa saya share lagi caranya. Go Open SOurce.
Hal ini lah yang menyebabkan saya kesulitan untuk mengkoneksikan modem tersebut di Ubuntu. Ketika saya mengkoneksikan modem tersebut di Ubuntu saya, maka modem tersebut terdeteksi sebagai modem. dengan Id 05c6:1000.
Saya sudah mencoba menggunakan usb_modeswitch untuk merubah mode storage ke mode modem. Tapi usb_modeswitch selalu gagal untuk merubah mode-nya. Lalu saya menggunakan ndsiwrapper untuk menginstall driver bawaan dari winblos, yang terjadi adalah driver untuk merubah ke mode modem dianggap driver yang salah. Atau ketika dijalankan command "ndiswrapper -l" muncul tulisan "invalidd driver!".
Satu-satunya cara untuk menggunakan modem ini di Ubuntu adalah dengan cara merubah modem ke mode modem di winbloss, kemudian restart winbloss tanpa harus mencabut modem, setelah itu masuk ke Ubuntu. Hal ini hanya bisa dilakukan jika PC/notebook kita memiliki dual boot. Tapi jika hanya satu OS, yaitu linux aja, maka akan susah sekali untuk menggunakan modem Venus VT80n. Mungkin bisa juga untuk menginstall winbloss menggunakan Virtual box untuk merubah modem menjadi mode modem. Tapi merepotkan saja.
Lanjut lagi, setelah restart tanpa mencabut modem dari winbloss, tinggal mendaftarkan alamat baru dari modem ke module usb_serial. Untuk alamat baru dari modem akan menjadi 05c6:6500.
Untuk mendaftarkan alamat baru dari modem adalah sebagai berikut:
1. remove terlebih dahulu module usbserial
$ sudo rmmod usbserial
2. daftar ulang module usbserial dengan meng-attach id dari modem yang baru.
$ sudo modprobe usbserial vendor=0x05c6 product=0x6500
3. untuk mengecek apakah registrasi module berhasil coba jalankan perintah
$ dmesg | tail
jika terdapat tulisan seperti ttyUSB0, ttyUSB1, dan ttyUSB3, maka telah behasil
Setelah itu konfigurasi wvdial.conf untuk melakukan dial-up.
Saya masih belum dapat menemukan cara yang lebih mudah untuk mengkoneksikan modem tersebut. Masih terus mencari dan mencari. Rencananya, saya mo buat driver dari modem tersebut di Linux :D. Tapi itu baru sekedar impian. Masih di dalam pikiran aja. Semoga aja bisa terwujud, nanti klo dah bisa saya share lagi caranya. Go Open SOurce.
Senin, 25 Oktober 2010
BPMS: Business Prosess Management Software
Ini dia aplikasi yang gue bilang cukup menjanjikan dalam dunia software engineering. BPMS kepanjangan dari Business Process Management Software. Perangkat lunak ini sebenarnya menangani pembuatan business process yang akan dilakukan oleh sebuah aplikasi yang dibangun. Tapi sekarang BPMS ini berkembang fungsinya, dari flow yang ada dan state yang ada, dapat digenerate form-form yang dapat digunakan untuk membuat sebuah aplikasi yang diharapkan. Seperti aplikasi akuntansi, dari business process akuntansi yang ada dapat langsung dibuat form berdasarkan state dari business process tersebut. Bisa anda bayangkan, mudahnya membuat sebuah aplikasi, asalkan kita sudah mengetahui business process dari aplikasi tersebut, maka dengan mudah kita dapat membuat form-formnya.
Diantara BPMS yang sering dipakai dalam pengembangan aplikasi adalah Lombardi, buatan IBM. Lalu ada juga BPMS yang open source, yaitu Bonita. Tapi perangkat-perangkat lunak ini biasanya memiliki kapasitas yang cukup besar. Contohnya untuk Bonita yang open source saja memiliki besar file instalasi sebesar 260 MB, kemudian untuk Lombardi yang sudah menjadi aplikasi super, memiliki mentahan sekitar 1,2 GB. Cukup berat juga kan??
Mungkin karena engine yang ada di dalam perangkat lunak tersebut adalah java, maka menjadi lebih berat dibandingkan dengan aplikasi yang dibandun dengan engine yang berbeda.
Diantara BPMS yang sering dipakai dalam pengembangan aplikasi adalah Lombardi, buatan IBM. Lalu ada juga BPMS yang open source, yaitu Bonita. Tapi perangkat-perangkat lunak ini biasanya memiliki kapasitas yang cukup besar. Contohnya untuk Bonita yang open source saja memiliki besar file instalasi sebesar 260 MB, kemudian untuk Lombardi yang sudah menjadi aplikasi super, memiliki mentahan sekitar 1,2 GB. Cukup berat juga kan??
Mungkin karena engine yang ada di dalam perangkat lunak tersebut adalah java, maka menjadi lebih berat dibandingkan dengan aplikasi yang dibandun dengan engine yang berbeda.
Sabtu, 09 Oktober 2010
Tutorial Oracle 10g XE
Tutorial ini berisi tentang pengenalan Oracle 10g XE. Mulai dari cara memulai Oracle sampai dengan demo untuk menggunakan user contoh yang telah disediakan oleh oracle. Dan juga akan ditunjukkan cara membuat sebuah aplikasi sederhana dari Oracle yang telah berbasis web atau dikenal dengan istilah web apps. Untuk download tutorialnya dapat dari link dibawah ini.
Pengenalan Oracle
Salam
Pengenalan Oracle
Salam
Aplikasi Desktop dengan Java Menggunakan BlueJ
Beberapa hari ini lagi ada projek kecil-kecilan untuk buat aplikasi akuntansi dari teman yang kerja di perusahaan jual-beli motor/mobil atau otomotif. Pertama saya coba mengembangkan aplikasi dengan menggunakan IDE net beans. Memang berat sih, tapi karena sudah terbiasa dengan lamanya net beans ya jadi ga ada masalah. Terus tools di netbeans juga sudah cukup komplit dan juga sudah banyak sekali bantuan untuk masalah event handling. Beda jika kita mengembangkan aplikasi secara manual, akan sangat sulit sekali menangani event.
Kemarin saya jadi ingat, ada sebuah IDE lagi yang cukup ringan. Sewaktu belajar Java di kuliah saya juga memakai IDE itu. BlueJ, buatan dari University Kent ( bukan bermaksud promosi ya... ), tapi saya coba untuk membandingkan IDE yang disediakan untuk develop Java.
Sebenarnya saya belum pakai BlueJ ini untuk buat sebuah aplikasi. Tapi saya akan coba bikin aplikasi untuk pendaftaran kursus bimbingan belajar kakak-ku menggunakan BlueJ. Kali aja lebih mudah dan lebih ringan ( maklum saya develop aplikasi dari netbook saya yang kecil mungil, tapi sudah menghasilkan lebih dari harga-nya waktu beli, ^_^, itu kan namanya investasi yang menguntungkan bukan? ).
Oke, nanti report-nya untuk penggunaan bluej saya tulis lagi nanti deh.
Kemarin saya jadi ingat, ada sebuah IDE lagi yang cukup ringan. Sewaktu belajar Java di kuliah saya juga memakai IDE itu. BlueJ, buatan dari University Kent ( bukan bermaksud promosi ya... ), tapi saya coba untuk membandingkan IDE yang disediakan untuk develop Java.
Sebenarnya saya belum pakai BlueJ ini untuk buat sebuah aplikasi. Tapi saya akan coba bikin aplikasi untuk pendaftaran kursus bimbingan belajar kakak-ku menggunakan BlueJ. Kali aja lebih mudah dan lebih ringan ( maklum saya develop aplikasi dari netbook saya yang kecil mungil, tapi sudah menghasilkan lebih dari harga-nya waktu beli, ^_^, itu kan namanya investasi yang menguntungkan bukan? ).
Oke, nanti report-nya untuk penggunaan bluej saya tulis lagi nanti deh.
Jumat, 23 Juli 2010
Konversi Celcius ke Fahrenheit Dengan Java Menggunakan Netbeans
Di postingan saya yang terdahulu Konversi Celcius ke Fahrenheit Dengan Java, saya membuat konversi menggunakan editor sederhana. Saya buat gui pada aplikasi tersebut dari awal, semua dengan manual tanpa bantuan IDE java satu pun, tapi berbekal sebuah buku Deitel yang judulnya Java: How to Program.
Tapi untuk postingan kali ini saya buat aplikasi yang sama dengan menggunakan IDE Netbeans 6.8. Fungsi dari aplikasi yang dibuat sama dengan aplikasi sebelumnya. Algoritmanya pun sama. Tapi yang berbeda adalah ketika membangun gui dari aplikasi. Pada aplikasi kali ini dibangun aplikasi menggunakan bantuan dari Netbeans. Bantuan rancangan gui dengan Netbeans membuat pembuatan aplikasi menjadi lebih mudah dan cepat. Berbeda dengan membangun aplikasi gui di java tanpa bantuan IDE akan terasa lebih sulit dan lama dalam membangun gui-nya.
Namun dalam pembangunan kedua aplikasi konversi suhu yang sama ini, terdapat perbedaan antara aplikasi yang di bangun dengan bantuan IDE dan tanpa IDE. Mungkin ini dapat dijadikan bahan penelitian bagi yang suka meneliti. Mungkin penelitiannya tentang perbandingan aplikasi gui java yang dibangun dengan bantuan IDE dengan aplikasi gui java yang dibangun tanpa menggunakan IDE, dalam hal ini studi kasus aplikasi konversi celcius ke fahrenheit.
Berikut saya beri link untuk aplikasi yang sama tapi dengan bantuan IDE Netbeans.
ConvertFahrenheitNetbeans
Tapi untuk postingan kali ini saya buat aplikasi yang sama dengan menggunakan IDE Netbeans 6.8. Fungsi dari aplikasi yang dibuat sama dengan aplikasi sebelumnya. Algoritmanya pun sama. Tapi yang berbeda adalah ketika membangun gui dari aplikasi. Pada aplikasi kali ini dibangun aplikasi menggunakan bantuan dari Netbeans. Bantuan rancangan gui dengan Netbeans membuat pembuatan aplikasi menjadi lebih mudah dan cepat. Berbeda dengan membangun aplikasi gui di java tanpa bantuan IDE akan terasa lebih sulit dan lama dalam membangun gui-nya.
Namun dalam pembangunan kedua aplikasi konversi suhu yang sama ini, terdapat perbedaan antara aplikasi yang di bangun dengan bantuan IDE dan tanpa IDE. Mungkin ini dapat dijadikan bahan penelitian bagi yang suka meneliti. Mungkin penelitiannya tentang perbandingan aplikasi gui java yang dibangun dengan bantuan IDE dengan aplikasi gui java yang dibangun tanpa menggunakan IDE, dalam hal ini studi kasus aplikasi konversi celcius ke fahrenheit.
Berikut saya beri link untuk aplikasi yang sama tapi dengan bantuan IDE Netbeans.
ConvertFahrenheitNetbeans
Minggu, 18 Juli 2010
Konversi Celcius ke Fahrenheit Dengan Java
Beberapa hari lalu, saya membaca tutorial java dari website java sun. Di sana ada sebuah contoh aplikasi GUI sederhana untuk mengkonversi suhu dari Celcius menjadi Fahrenheit. Kemudian saya mencoba untuk membuat sendiri tanpa melihat source codenya terlebih dahulu. Saya mencoba membuat aplikasi gui untuk konversi Celcius menjadi Fahrenheit menggunakan rujukan buku Deitel Deitel yang berjudul Java How to Program.
Memang contoh aplikasi dari tutorial java sun menggunakan NetBeans untuk merancang GUI. Jadi terlihat lebih baik. Sedangkan saya buat aplikasi ini menggunakan JFame standart dan hanya menggunakan FlowLayout. Berikut saya upload source yang telah saya buat.
KonversiCelciusFaahrenheit
Untuk mengkompilasi gunakan CFTest.java, contoh:
$ javac CFTest.java
Untuk menjalankan aplikasi:
$ java CFTest
Memang contoh aplikasi dari tutorial java sun menggunakan NetBeans untuk merancang GUI. Jadi terlihat lebih baik. Sedangkan saya buat aplikasi ini menggunakan JFame standart dan hanya menggunakan FlowLayout. Berikut saya upload source yang telah saya buat.
KonversiCelciusFaahrenheit
Untuk mengkompilasi gunakan CFTest.java, contoh:
$ javac CFTest.java
Untuk menjalankan aplikasi:
$ java CFTest
Langganan:
Postingan (Atom)