1
Tipe
Data, Variabel, dan Array
Bab
ini akan mengeksplorasi tiga elemen fundamental Java: tipe data, variabel, dan
array. Sebagai bahasa pemrograman modern, Java menyediakan beberapa tipe data.
Anda dapat menggunakannya untuk mendeklarasikan variabel dan untuk menciptakan
array.
Soal dan
Penyelesaian
1.
Tulislah
sebuah program yang menggunakan variabel double
untuk menghitung luas sebuah lingkaran.
Penyelesaian
// Menghitung luas lingkaran.
class HitungLuasLingkaran {
public static void main(String args[]) {
double pi, r, a;
r = 10.8; // radius
lingkaran
pi = 3.1416; // pi,
pendekatan
a = pi * r * r; //
menghitungluas
System.out.println("Luas lingkaran adalah " + a);
}
}
Keluaran Program
Luas lingkaran adalah 366.436224
2.
Tulislah
sebuah program untuk menghitung jarak jelajah cahaya menggunakan variabel long.
Penyelesaian
// Menghitung jarak jelajah cahaya menggunakan variabel long.
public class
HitungJarakJelajahCahaya {
public static void main(String args[]) {
int kecCahaya;
long hari;
long detik;
long jarak;
// kecepatan cahaya dalam km
per detik (pendekatan)
kecCahaya = 340000;
hari = 1000; // menetapkan
jumlah hari
detik = hari * 24 * 60 * 60;
// mengkonversi ke detik
jarak = kecCahaya * detik;
// menghitung jarak
System.out.print("Dalam " + hari);
System.out.print(" hari, cahaya menjelajah berkisar ");
System.out.println(jarak +
" km.");
}
}
Keluaran Program
Dalam 1000 hari, cahaya menjelajah berkisar
29376000000000 km.
3.
Tulislah
sebuah program yang mengilustrasikan penggunaan variabel char.
Penyelesaian
// Demonstrasi tipe data char.
class DemoVarChar {
public static void main(String args[]) {
char ch1, ch2;
ch1 = 88; // kode untuk X
ch2 = 'Y';
System.out.print("ch1 dan ch2: ");
System.out.println(ch1 +
" " + ch2);
}
}
Keluaran Program
ch1 dan ch2: X Y
4.
Meskipun
char didesain untuk menampung
karakter-karakter Unicode, ia dapat pula dipandang sebagai tipe integer yang
dapat Anda pakai untuk melakukan operasi-operasi aritmatika. Tulislah sebuah
program untuk mengilustrasikan situasi ini.
Penyelesaian
// Variabel char seperti integer.
public class
CharSepertiInteger {
public static void main(String args[]) {
char ch1;
ch1 = 'X';
System.out.println("ch1 memuat " + ch1);
ch1++; // menginkremen ch1
System.out.println("ch1 sekarang adalah " + ch1);
}
}
Keluaran Program
ch1 memuat X
ch1 sekarang adalah Y
5.
Tulislah
sebuah program yang mendemonstrasikan penggunaan tipe boolean.
Penyelesaian
// Demonstrasi nilai boolean.
public class
DemoTipeBoolean {
public static void main(String args[]) {
boolean b;
b = false;
System.out.println("b adalah " + b);
b = true;
System.out.println("b adalah " + b);
// suatu nilai boolean dapat
mengendalikan statemen if
if(b)
System.out.println("Ini dieksekusi.");
b = false;
if(b) System.out.println("Ini
tidak dieksekusi.");
// keluaran dari operator
relasiional adalah nilai boolean
System.out.println("10 > 9 adalah " + (10 > 9));
}
}
Keluaran Program
b adalah false
b adalah true
Ini dieksekusi.
10 > 9 adalah true
6.
Tulislah
sebuah program untuk mendemonstrasikan skop-skop variabel.
Penyelesaian
//mendemonstrasikan skop variabel
public class
DemoSkopVariabel {
public static void main(String args[]) {
int x; // dikenali oleh semua metode di dalam main
x = 10;
if(x == 10) { // mulai skop baru
int y = 20; // hanya dikenali di dalam blok if ini
// x dan y keduanya
dikenali di sini.
System.out.println("x dan y:
" + x + " " + y);
x = y * 2;
}
// y = 100; // Error! y
tidak dikenali di sini
// x masih dikenali di sini.
System.out.println("x adalah " + x);
}
}
Keluaran Program
x dan y: 10 20
x adalah 40
7.
Tulislah
sebuah program yang mendemonstrasikan pelbagai konversi tipe.
Penyelesaian
//demonstrasi cast
public class
DemoCast {
public static void main(String args[]) {
byte b;
int i = 257;
double d = 323.142;
System.out.println("\nKonversi dari int menjadi byte.");
b = (byte) i;
System.out.println("i dan b " + i + " " +
b);
System.out.println("\nKonversi dari double menjadi int.");
i = (int) d;
System.out.println("d dan i " + d + " " +
i);
System.out.println("\nKonversi dari double menjadi byte.");
b = (byte) d;
System.out.println("d dan b " + d + " " +
b);
}
}
Keluaran Program
Konversi dari int menjadi byte.
i dan b 257 1
Konversi dari double menjadi int.
d dan i 323.142 323
Konversi dari double menjadi byte.
d dan b 323.142 67
8.
Tulislah
sebuah program yang menggunakan sebuah array satu-dimensi.
Penyelesaian
//Demonstrasi array satu-dimensi
public class
DemoArraySatuDimensi {
public static void main(String args[]) {
double arrayAngka[] = {10.1, 11.2, 12.3, 13.4, 14.5};
double hasil = 0;
int i;
for(i=0; i<5; i++)
hasil = hasil + arrayAngka[i];
System.out.println("Rerata adalah " + hasil / 5);
}
}
Keluaran Program
Rerata adalah 12.299999999999999
9.
Tulislah
sebuah program yang menggunakan sebuah array dua-dimensi.
Penyelesaian
//demonstrasi array dua-dimensi
public class
DemoArrayDuaDimensi {
public static void main(String args[]) {
int duaD[][]= new int[4][5];
int i, j, k = 0;
for(i=0; i<4; i++)
for(j=0; j<5; j++) {
duaD[i][j] = k;
k++;
}
for(i=0; i<4; i++) {
for(j=0; j<5; j++)
System.out.print(duaD[i][j] + " ");
System.out.println();
}
}
}
Keluaran Program
0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19
10.
Tulislah
sebuah program yang secara manual mengalokasikan dimensi-dimensi kedua yang
berbeda ukuran.
Penyelesaian
//secara manual mengalokasikan dimensi-dimensi kedua yang berbeda ukuran.
public class
DemoArrayDuaDBedaUkuran {
public static void main(String args[]) {
int duaD[][] = new int[4][];
duaD[0] = new int[1];
duaD[1] = new int[2];
duaD[2] = new int[3];
duaD[3] = new int[4];
int i, j, k = 0;
for(i=0; i<4; i++)
for(j=0; j<i+1; j++) {
duaD[i][j] = k;
k++;
}
for(i=0; i<4; i++) {
for(j=0; j<i+1; j++)
System.out.print(duaD[i][j] + " ");
System.out.println();
}
}
}
Keluaran Program
0
1 2
3 4 5
6 7 8 9
11.
Tulislah
sebuah program yang menciptakan array tiga-dimensi, dengan ukuran 3 kali 4 kali
5.
Penyelesaian
//mendemonstrasikan array 3D
public class
DemoArray3D {
public static void main(String args[]) {
int tigaD[][][] = new int[3][4][5];
int i, j, k;
for(i=0; i<3; i++)
for(j=0; j<4; j++)
for(k=0; k<5; k++)
tigaD[i][j][k] =
i * j * k;
for(i=0; i<3; i++) {
for(j=0; j<4; j++) {
for(k=0; k<5; k++)
System.out.print(tigaD[i][j][k] + " ");
System.out.println();
}
System.out.println();
}
}
}
Keluaran Program
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 1 2 3 4
0 2 4 6 8
0 3 6 9 12
0 0 0 0 0
0 2 4 6 8
0 4 8 12 16
0 6 12 18 24
mantul
ReplyDelete