Cari artikel di situs ini

Intermezzo : Mengubah String ke int dan double

Versi ramah cetakVersi ramah cetak

Kita dapat mengubah tipe data String, misalnya hasil input dari konsol atau dari hasil bacaan file, ke tipe data bilangan untuk pengolahan lebih lanjut.

Sebagai contoh, kita akan membuat program untuk menghitung nilai investasi setelah n tahun. Input yang diminta dari user adalah :

  • Nama
  • Investasi awal (Rp)
  • Bunga (%)
  • Periode (tahun)

Dengan menggunakan teknik yang sama pada contoh sebelumnya, kita bisa mengambil input tersebut menggunakan kelas BufferedReader seperti berikut.

nama = br.readLine();
strawal = br.readLine();
strbunga = br.readLine();
strperiode = br.readLine();

Tetapi karena keluaran dari readLine() bertipe String, kita harus mengubahnya menjadi bentuk bilangan agar dapat diproses lebih lanjut.

Untuk mengubah String menjadi int, kita dapat menggunakan kelas Java Integer yang di dalamnya memiliki fungsi parseInt(str). Fungsi ini dapat dipanggil dengan:

periode = Integer.parseInt(strperiode);

Sedangkan untuk mengubah String menjadi double, kita menggunakan kelas Java Double yang di dalamnya memiliki fungsi parseDouble(str). Fungsi ini dapat dipanggil dengan:

awal = Double.parseDouble(strawal);
bunga = Double.parseDouble(strbunga);

Setelah semua variabel didapat dan diubah, kita baru bisa untuk memulai perhitungan. Untuk menghitung bunga bank setelah n tahun, kita bisa menggunakan rumus berikut :

akhir = awal * (1 + bunga)periode

Dalam Java, rumus tersebut bisa dituliskan dengan ekspresi berikut

akhir = awal * Math.pow(1 + bunga,periode);

Berikut ini adalah listing program lengkap yang dapat diunduh dalam bentuk zip file atau melalui SVN di alamat http://belajarjava.googlecode.com/svn/trunk/HitungInvestasiNPeriode

package hitunginvestasinperiode;
 
import java.io.*;
 
public class HitungInvestasiNPeriode {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		// buat objek baru untuk mengambil input
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
		// tempat di mana input dari user akan diletakkan
		String nama = null;
		String strawal = null;
		String strbunga = null;
		String strperiode = null;
 
		try {
			System.out.print("Masukkan nama Anda : ");
			nama = br.readLine();
 
			System.out.print("Masukkan jumlah awal investasi (Rp) : ");
			strawal = br.readLine();
 
			System.out.print("Masukkan bunga (mis 0.1 = 10%) : ");
			strbunga = br.readLine();
 
			System.out.print("Masukkan periode (tahun) : ");
			strperiode = br.readLine();
 
		} catch(IOException ioe) {
			System.out.println("Kesalahan IO pada saat menanyakan nama Anda");
			System.exit(1);
		}
 
		// deklarasi variabel tipe bilangan
		double awal;
		double bunga;
		int periode;
		double akhir;
 
		// mengubah input dari Sting ke tipe data bilangan
		periode = Integer.parseInt(strperiode);
		awal = Double.parseDouble(strawal);
		bunga = Double.parseDouble(strbunga);
 
		// menghitung hasil investasi selama n periode
		akhir = awal * Math.pow(1+bunga, periode);
 
		// tampilkan hasil perhitungan di layar
		System.out.println();
		System.out.println("Terima kasih, " + nama);
		System.out.print("Hasil investasi Anda setelah " + periode + " tahun ");
		System.out.println("adalah Rp. " + akhir);
	}
}

Berikut ini adalah hasil keluarannya :

SisipanUkuran
HitungInvestasiNPeriode-src.zip1.58 KB

Komentar

String[] ke int[], apa bisa ?

Saya ingin bertanya, apakah String[] bisa di convert ke int[] ? jadi masukan saya berupa string, tapi ingin saya masukan ke dalam int[]. Mohon solusinya. Terima kasih

bisa kok inputnya berupa integer

Mas. Saya ada info nih kalo input pada java itu bisa langsung berupa integer. Kita harus pake kelas Scanner di programnya. Terlebih dulu kita harus mengimport java.util.Scanner. Untuk memanggil kelas Scannernya kita gunakan nextInt(). Kurang lebih begini programnya import java.util.Scanner; public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner sc = new Scanner(System.in); int x,y; int hasil; System.out.print("Masukkan bilangan pertama : "); x = sc.nextInt(); System.out.print("Masukkan bilangan kedua : "); y = sc.nextInt(); hasil = x + y; System.out.println("Hasil penjumlahan adalah : " + hasil); } }

joptionpane

bisakah program diatas dibuat dengan joptionpane?? jika bisa tolong tuliskan script legkap program tersebut untuk saya pelajari

ZTL

ini contol lain

ini contol lain joptionpane

 

package JENI;

import javax.swing.JOptionPane; //mengimport kelas JoptionPane dari javax.swing package.

public class InputKeyboard_JOptionPane
{
    public static void main( String[] args )
    {
    String name = "";
    name = JOptionPane.showInputDialog("Please enter your name");
    String msg = "Hello " + name + "!";
    JOptionPane.showMessageDialog(null, msg);
    }
}

 

 

inputan bertipe data integer

Apakah bisa inputan y langsung bertipe integer, jika bisa tolong dituliskan script y donk, trims...

bisa kok inputnya berupa integer

Mas. Saya ada info nih kalo input pada java itu bisa langsung berupa integer. Kita harus pake kelas Scanner di programnya. Terlebih dulu kita harus mengimport java.util.Scanner. Untuk memanggil kelas Scannernya kita gunakan nextInt(). Kurang lebih begini programnya

import java.util.Scanner;

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner sc = new Scanner(System.in);
        int x,y;
        int hasil;

        System.out.print("Masukkan bilangan pertama : "); x = sc.nextInt();
        System.out.print("Masukkan bilangan kedua : "); y = sc.nextInt();
        hasil = x + y;
        System.out.println("Hasil penjumlahan adalah : " + hasil);

    }

}

 orang awam g mungkin inputan

 orang awam g mungkin inputan integer, taunya mereka cuman ketik keyboard doang (string)....  masak login facebook pake inputan integer???? ga mungkin lah

ga bisa mas... soalnya dasar

ga bisa mas...

soalnya dasar inputan pada java adalah string, hampir semua bahasa pemrograman menggunakan type data string sebagai dasar data inputan. jadi kita mesti melakukan konversi dari string ke type data lain. semoga membantu..