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

joptionpane

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

ZTL

inputan bertipe data integer

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