14
Eksplorasi
java.util
Bab
ini akan mengeksplorasi paket java.util. Paket penting ini memuat banyak
koleksi kelas dan antarmuka yang mendukung fungsionalitas yang kaya.
Soal dan
Penyelesaian
1.
Tulislah
sebuah program yang menggunakan ArrayList.
Array list tersebut diciptakan untuk objek-objek bertipe String, dan kemudian beberapa string ditambahkan padanya. Ingat
bahwa string yang diapit tanda kutip dipandang sebagai sebuah objek String.
Penyelesaian
// Mendemonstrasikan ArrayList.
import java.util.*;
public class
DemoArrayList {
public static void main(String args[]) {
// Menciptakan sebuah array
list.
ArrayList<String> al =
new ArrayList<String>();
System.out.println("Ukuran awal dari al: " +
al.size());
// Menambahkan elemen-elemen
pada array list.
al.add("C");
al.add("A");
al.add("E");
al.add("B");
al.add("D");
al.add("F");
al.add(1, "A2");
System.out.println("Ukuran dari a1 setelah penambahan
elemen-elemen: " +
al.size());
// Menampilkan array list.
System.out.println("Isi dari al: " + al);
// Menghapus elemen-elemen
dari array list.
al.remove("F");
al.remove(2);
System.out.println("Ukuran dari a1 setelah penghapusan:
" +
al.size());
System.out.println("Isi dari al: " + al);
}
}
Keluaran Program
Ukuran awal dari al: 0
Ukuran dari a1 setelah penambahan elemen-elemen: 7
Isi dari al: [C, A2, A, E, B, D, F]
Ukuran dari a1 setelah penghapusan: 5
Isi dari al: [C, A2, E, B, D]
2.
Tulislah
sebuah program untuk mengkonversi sebuah ArrayList menjadi sebuah array.
Penyelesaian
// Mengkonversi ArrayList menjadi array.
import java.util.*;
public class
KonversiArrayListMenjadiArray {
public static void main(String args[]) {
// Menciptakan sebuah array
list.
ArrayList<Integer> al = new ArrayList<Integer>();
// Menambahkan elemen-elemen
pada array list.
al.add(1);
al.add(2);
al.add(3);
al.add(4);
System.out.println("Isi dari al: " + al);
// Mendapatkan array.
Integer ia[] = new Integer[al.size()];
ia = al.toArray(ia);
int jum = 0;
// Menjumlahkan array.
for(int i : ia) jum +=
i;
System.out.println("Jum
adalah: " + jum);
}
}
Keluaran Program
Isi dari al: [1, 2, 3, 4]
Jum adalah: 10
3.
Tulislah
sebuah program yang mengilustrasikan penggunaan LinkedList.
Penyelesaian
// Mendemonstrasikan LinkedList.
import java.util.*;
public class
DemoLinkedList {
public static void main(String args[]) {
// Menciptakan sebuah
senarai berantai.
LinkedList<String> ll = new LinkedList<String>();
// Menambahkan elemen-elemen
pada senarai berantai.
ll.add("F");
ll.add("B");
ll.add("D");
ll.add("E");
ll.add("C");
ll.addLast("Z");
ll.addFirst("A");
ll.add(1, "A2");
System.out.println("Isi awal dari ll: " + ll);
// Menghapus elemen-elemen
dari senarai berantai.
ll.remove("F");
ll.remove(2);
System.out.println("Isi dari ll setelah penghapusan: "
+ ll);
// Menghapus elemen pertama
dan elemen terakhir.
ll.removeFirst();
ll.removeLast();
System.out.println("ll setelah penghapusan elemen pertama dan
terakhir: "
+ ll);
// Mendapatkan dan
menetapkan nilai.
String nil = ll.get(2);
ll.set(2, nil + " Diubah");
System.out.println("ll setelah perubahan: " + ll);
}
}
Keluaran Program
Isi awal dari ll: [A, A2, F, B, D, E, C, Z]
Isi dari ll setelah penghapusan: [A, A2, D, E, C, Z]
ll setelah penghapusan elemen pertama dan terakhir:
[A2, D, E, C]
ll setelah perubahan: [A2, D, E Diubah, C]
4.
Tulislah
sebuah program yang mengilustrasikan penggunaan HashSet.
Penyelesaian
// Mendemonstrasikan HashSet.
import java.util.*;
public class
DemoHashSet {
public static void main(String args[]) {
// Menciptakan sebuah hash
set.
HashSet<String> hs = new HashSet<String>();
// Menambahkan elemen-elemen
pada hash set.
hs.add("B");
hs.add("A");
hs.add("D");
hs.add("E");
hs.add("C");
hs.add("F");
System.out.println(hs);
}
}
Keluaran Program
[D, E, F, A, B, C]
5.
Tulislah
sebuah program yang mengilustrasikan penggunaan TreeSet.
Penyelesaian
// Mendemonstrasikan TreeSet.
import java.util.*;
public class
DemoTreeSet {
public static void main(String args[]) {
// Menciptakan sebuah tree
set.
TreeSet<String> ts = new TreeSet<String>();
// Menambahkan elemen-elemen
pada tree set.
ts.add("C");
ts.add("A");
ts.add("B");
ts.add("E");
ts.add("F");
ts.add("D");
System.out.println(ts);
}
}
Keluaran Program
[A, B, C, D, E, F]
6.
Tulislah
sebuah program yang mengilustrasikan penggunaan ArrayDeque.
Penyelesaian
// Mendemonstrasikan ArrayDeque.
import java.util.*;
public class
DemoArrayDeque {
public static void main(String args[]) {
// Menciptakan sebuah array
deque.
ArrayDeque<String> adq = new ArrayDeque<String>();
// Menggunakan ArrayDeque
seperti tumpukan.
adq.push("A");
adq.push("B");
adq.push("D");
adq.push("E");
adq.push("F");
System.out.print("Menghapus dari tumpukan: ");
while(adq.peek() != null)
System.out.print(adq.pop() + " ");
System.out.println();
}
}
Keluaran Program
Menghapus dari tumpukan: F E D B A
7.
Tulislah
sebuah program yang mengilustrasikan penggunaan iterator untuk menjelajah
elemen-elemen pada ArrayList.
Penyelesaian
// Mendemonstrasikan iterator.
import java.util.*;
public class
DemoIterator {
public static void main(String args[]) {
// Menciptakan sebuah array
list.
ArrayList<String> al = new ArrayList<String>();
// Menambahkan elemen-elemen
pada the array list.
al.add("C");
al.add("A");
al.add("E");
al.add("B");
al.add("D");
al.add("F");
// Menggunakan iterator
untuk menampilkan isi dari al.
System.out.print("Isi awal dari al: ");
Iterator<String> itr = al.iterator();
while(itr.hasNext()) {
String element =
itr.next();
System.out.print(element
+ " ");
}
System.out.println();
// Memodifikasi objek-objek
yang sedang diiterasi.
ListIterator<String> litr = al.listIterator();
while(litr.hasNext()) {
String element =
litr.next();
litr.set(element +
"+");
}
System.out.print("Isi termodifikasi dari al: ");
itr = al.iterator();
while(itr.hasNext())
{
String element = itr.next();
System.out.print(element
+ " ");
}
System.out.println();
// Sekarang, menampilkan
list secara mundur.
System.out.print("list termodifikasi ditampilkan mundur:
");
while(litr.hasPrevious()) {
String element = litr.previous();
System.out.print(element
+ " ");
}
System.out.println();
}
}
Keluaran Program
Isi awal dari al: C A E B D F
Isi termodifikasi dari al: C+ A+ E+ B+ D+ F+
list termodifikasi ditampilkan mundur: F+ D+ B+ E+ A+
C+
8.
Tulislah
sebuah program yang mengilustrasikan penggunaan loop for-each untuk
menjelajah elemen-elemen pada ArrayList.
Penyelesaian
// Menggunakan loop for-each untuk menjelajahi sebuah koleksi
import java.util.*;
public class
DemoForEachArrayList {
public static void main(String args[]) {
// Menciptakan sebuah array
list untuk integer.
ArrayList<Integer> nil2 = new ArrayList<Integer>();
// Menambahkan nilai-nilai
pada array list.
nil2.add(1);
nil2.add(2);
nil2.add(3);
nil2.add(4);
nil2.add(5);
// Menggunakan loop for
untuk menampilkan nilai-nilai.
System.out.print("Isi awal dari nil2: ");
for(int v : nil2)
System.out.print(v +
" ");
System.out.println();
// Sekarang, menjumlahkan
nilai-nilai menggunakan loop for.
int jum = 0;
for(int v : nil2)
jum += v;
System.out.println("Penjumlahan atas nilai-nilai: " +
jum);
}
}
Keluaran Program
Isi awal dari nil2: 1 2 3 4 5
Penjumlahan atas nilai-nilai: 15
9.
Tulislah
sebuah program yang mengilustrasikan penggunaan HashMap.
Penyelesaian
import java.util.*;
public class
DemoHashMap {
public static void main(String args[]) {
// Menciptakan sebuah hash
map.
HashMap<String, Double> hm = new
HashMap<String, Double>();
// Menempatkan elemen-elemen
padae map
hm.put("Rudolf", new Double(3434.34));
hm.put("Poltak", new Double(123.22));
hm.put("Jono", new Double(1378.00));
hm.put("Tilham", new Double(99.22));
hm.put("Ralf", new Double(-19.08));
// Mendapatkan suatu
himpunan entri.
Set<Map.Entry<String, Double>> set = hm.entrySet();
// Menampilkan set.
for(Map.Entry<String,
Double> me : set) {
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
System.out.println();
// Menabung 1000 ke akun
Poltak.
double saldo = hm.get("Poltak");
hm.put("Poltak", saldo + 1000);
System.out.println("Saldo baru Poltak: " +
hm.get("Poltak"));
}
}
Keluaran Program
Poltak: 123.22
Rudolf: 3434.34
Ralf: -19.08
Jono: 1378.0
Tilham: 99.22
Saldo baru Poltak: 1123.22
10.
Tulislah
sebuah program yang mengilustrasikan penggunaan TreeMap.
Penyelesaian
import java.util.*;
public class
DemoTreeMap {
public static void main(String args[]) {
// Menciptakan sebuah tree
map.
TreeMap<String, Double> tm = new
TreeMap<String, Double>();
// Menempatkan elemen-elemen
pada map.
tm.put("Poltak", new Double(3434.34));
tm.put("Jono", new Double(123.22));
tm.put("Toni", new Double(1378.00));
tm.put("Josua", new Double(99.22));
tm.put("Ralf", new Double(-19.08));
// Mendapatkan sehimpunan
entri.
Set<Map.Entry<String, Double>> set = tm.entrySet();
// Menampilkan
elemen-elemen.
for(Map.Entry<String,
Double> me : set) {
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
System.out.println();
// Menabung 1000 pada akun
Jono.
double saldo = tm.get("Jono");
tm.put("Jono", saldo + 1000);
System.out.println("Saldo baru Jono: " +
tm.get("Jono"));
}
}
Keluaran Program
Josua: 99.22
Poltak: 3434.34
Ralf: -19.08
Toni: 1378.0
Saldo baru Jono: 1123.22
11.
Tulislah
sebuah program yang mendemonstrasikan penggunaan komparator yang
mengimplementasikan metode compare
untuk membalikkan urutan string-string.
Penyelesaian
// Menggunakan komparator.
import java.util.*;
// Komparator pembalik urutan string.
class KomparatorKu implements
Comparator<String> {
public int compare(String a, String b) {
String aStr, bStr;
aStr = a;
bStr = b;
// Membalikkan perbandingan.
return bStr.compareTo(aStr);
}
}
public class
DemoKomparator {
public static void main(String args[]) {
// Menciptakan sebuah tree
set.
TreeSet<String> ts = new TreeSet<String>(new KomparatorKu());
// Menambahkan elemen-elemen
pada tree set.
ts.add("C");
ts.add("A");
ts.add("B");
ts.add("E");
ts.add("F");
ts.add("D");
// Menampilkan
elemen-elemen.
for(String elemen : ts)
System.out.print(elemen
+ " ");
System.out.println();
}
}
Keluaran Program
F E D C B A
12.
Gunakanlah
komparator untuk mengurutkan nama akhir (nama belakang).
Penyelesaian
// Menggunakan komparator untuk mengurutkan nama akhir.
import java.util.*;
// Membandingkan kata terakhir pada dua string.
class KomparatorKu implements
Comparator<String> {
public int compare(String a, String b) {
int i, j, k;
String aStr, bStr;
aStr = a;
bStr = b;
// Menemukan indeks dari
awal dari nama akhir.
i = aStr.lastIndexOf(' ');
j = bStr.lastIndexOf(' ');
k =
aStr.substring(i).compareTo(bStr.substring(j));
if(k==0) // nama akhir cocok, periksa keseluruhan nama
return aStr.compareTo(bStr);
else
return
k;
}
}
public class
DemoKomparator2 {
public static void main(String args[]) {
// Menciptakan sebuah tree
map.
TreeMap<String, Double> tm =
new TreeMap<String, Double>(new KomparatorKu());
// Menempatkan elemen-elemen
pada map.
tm.put("Jonny Allen", new Double(3434.34));
tm.put("Tomi Klaten", new Double(123.22));
tm.put("Jeni Siantar", new Double(1378.00));
tm.put("Hamzan Mataram", new Double(99.22));
tm.put("Rina Bandung", new Double(-19.08));
// Mendapatkan sehimpunan
entri.
Set<Map.Entry<String, Double>> set = tm.entrySet();
// Menampilkan
elemen-elemen.
for(Map.Entry<String,
Double> me : set) {
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
System.out.println();
// Menabung 1000 pada akun
Rina Bandung.
double saldo = tm.get("Rina
Bandung");
tm.put("Rina Bandung", saldo + 1000);
System.out.println("Saldo baru Rina Bandung: " +
tm.get("Rina Bandung"));
}
}
Keluaran Program
Jonny Allen: 3434.34
Rina Bandung: -19.08
Tomi Klaten: 123.22
Hamzan Mataram: 99.22
Jeni Siantar: 1378.0
13.
Tulislah
sebuah program yang mengilustrasikan penggunaan beberapa metode dari kelas Arrays.
Penyelesaian
// Demonstrasi metode-metode dari kelas Arrays
import java.util.*;
public class
DemoKelasArrays {
public static void main(String args[]) {
// Mengalokasikan dan
menginisialisasi array.
int array[] = new int[10];
for(int i = 0; i <
10; i++)
array[i] = -3 * i;
// Menampilkan, mengurutkan,
dan menampilkan array.
System.out.print("Isi semula: ");
tampil(array);
Arrays.sort(array);
System.out.print("Terurut: ");
tampil(array);
// Mengisi dan menampilkan
array.
Arrays.fill(array, 2, 6,
-1);
System.out.print("Setelah fill(): ");
tampil(array);
// Mengurutkan dan
menampilkan array.
Arrays.sort(array);
System.out.print("Setelah pengurutan kembali:
");
tampil(array);
// Pencarian biner untuk
mencari -9.
System.out.print("Nilai -9 ada pada lokasi ");
int indeks =
Arrays.binarySearch(array, -9);
System.out.println(indeks);
}
static void tampil(int array[]) {
for(int i: array)
System.out.print(i +
" ");
System.out.println();
}
}
Keluaran Program
Isi semula: 0 -3 -6 -9 -12 -15 -18 -21 -24 -27
Terurut: -27 -24 -21 -18 -15 -12 -9 -6 -3 0
Setelah fill(): -27 -24 -1 -1 -1 -1 -9 -6 -3 0
Setelah pengurutan kembali: -27 -24 -9 -6 -3 -1 -1 -1
-1 0
Nilai -9 ada pada lokasi 2
14.
Tulislah
sebuah program yang mengilustrasikan vektor untuk menyimpan pelbagai tipe
objek.
Penyelesaian
// Mendemonstrasikan pelbagai operasi Vector.
import java.util.*;
public class
DemoVektor {
public static void main(String args[]) {
// ukuran awal 3, inkremen
sebesar 2
Vector<Integer> v = new Vector<Integer>(3,
2);
System.out.println("Ukuran awal: " + v.size());
System.out.println("Kapasitas awal: " +
v.capacity());
v.addElement(1);
v.addElement(2);
v.addElement(3);
v.addElement(4);
System.out.println("Kapasitas setelah empat penambahan: " +
v.capacity());
v.addElement(5);
System.out.println("Kapasitas sekarang: " +
v.capacity());
v.addElement(6);
v.addElement(7);
System.out.println("Kapasitas sekarang: " +
v.capacity());
v.addElement(9);
v.addElement(10);
System.out.println("Kapasitas sekarang: " +
v.capacity());
v.addElement(11);
v.addElement(12);
System.out.println("Elemen pertama: " + v.firstElement());
System.out.println("Elemen akhir: " + v.lastElement());
if(v.contains(3))
System.out.println("Vector
memuat 3.");
// Mengenumerasi
elemen-elemen di dalam vektor.
Enumeration vEnum =
v.elements();
System.out.println("\nElemen-elemen di dalam vektor:");
while(vEnum.hasMoreElements())
System.out.print(vEnum.nextElement() + " ");
System.out.println();
}
}
Keluaran Program
Elemen pertama: 1
Elemen akhir: 12
Vector memuat 3.
Elemen-elemen di dalam vektor:
1 2 3 4 5 6 7 9 10 11 12
15.
Tulislah
sebuah program yang mengilustrasikan penggunaan kelas Stack, yang menempatkan beberapa objek Integer ke atas tumpukan, dan kemudian menghapusnya dari tumpukan.
Penyelesaian
// Mendemonstrasikan kelas Stack.
import java.util.*;
public class
DemoKelasStack {
static void
tampilPush(Stack<Integer> st, int a) {
st.push(a);
System.out.println("push(" + a + ")");
System.out.println("tumpukan: " + st);
}
static void
tampilPop(Stack<Integer> st) {
System.out.print("pop -> ");
Integer a = st.pop();
System.out.println(a);
System.out.println("tumpukan: " + st);
}
public static void
main(String args[]) {
Stack<Integer> st = new Stack<Integer>();
System.out.println("tumpukan: " + st);
tampilPush(st, 42);
tampilPush(st, 66);
tampilPush(st, 99);
tampilPop(st);
tampilPop(st);
tampilPop(st);
try {
tampilPop(st);
}
catch (EmptyStackException e) {
System.out.println("tumpukan
kosong");
}
}
}
Keluaran Program
tumpukan: []
push(42)
tumpukan: [42]
push(66)
tumpukan: [42, 66]
push(99)
tumpukan: [42, 66, 99]
pop -> 99
tumpukan: [42, 66]
pop -> 66
tumpukan: [42]
pop -> 42
tumpukan: []
pop -> tumpukan kosong
16.
Tulislah
sebuah program yang mendemonstrasikan penggunaan kelas BitSet.
Penyelesaian
// Demonstrasi kelas BitSet.
import java.util.BitSet;
public class
DemoKelasBitSet {
public static void main(String args[]) {
BitSet bits1 = new BitSet(16);
BitSet bits2 = new BitSet(16);
// menetapkan beberapa bit
for(int i=0; i<16;
i++) {
if((i%2) == 0) bits1.set(i);
if((i%5) != 0) bits2.set(i);
}
System.out.println("Pola awal bit di dalam bits1: ");
System.out.println(bits1);
System.out.println("\nPola awal bit di dalam bits2: ");
System.out.println(bits2);
// Operasi AND terhadap
bit-bit
bits2.and(bits1);
System.out.println("\nbits2 AND bits1: ");
System.out.println(bits2);
// Operasi OR terhadap
bit-bit
bits2.or(bits1);
System.out.println("\nbits2 OR bits1: ");
System.out.println(bits2);
// Operasi XOR terhadap
bit-bit
bits2.xor(bits1);
System.out.println("\nbits2 XOR bits1: ");
System.out.println(bits2);
}
}
Keluaran Program
Pola awal bit di dalam bits1:
{0, 2, 4, 6, 8, 10, 12, 14}
Pola awal bit di dalam bits2:
{1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14}
bits2 AND bits1:
{2, 4, 6, 8, 12, 14}
bits2 OR bits1:
{0, 2, 4, 6, 8, 10, 12, 14}
bits2 XOR bits1:
{}
17.
Tulislah
sebuah program untuk menetapkan tanggal dan waktu menggunakan kelas Date.
Penyelesaian
// Menampilkan tanggal dan waktu menggunakan metode-metode kelas Date.
import java.util.Date;
public class
DemoKelasDate {
public static void main(String args[]) {
// Menginstansiasi sebuah
objek Date
Date tanggal = new Date();
// menampilkan waktu dan
tanggal menggunakan toString()
System.out.println(tanggal);
// Menampilkan jumlah
milidetik sejak tengah-malam, 1 Januari 1970
long mdetik =
tanggal.getTime();
System.out.println("Jumlah milidetik sejak
tengah-malam, 1 Januari 1970 = "
+ mdetik);
}
}
Keluaran Program
Wed Feb 12 07:51:39 ICT 2014
Jumlah milidetik sejak tengah-malam, 1 Januari 1970 =
1392166299256
18.
Tulislah
sebuah program untuk menetapkan tanggal dan waktu menggunakan kelas Calendar.
Penyelesaian
// Demonstrasi kelas Calendar
import java.util.Calendar;
public class
DemoKelasCalendar {
public static void main(String args[]) {
String arrayBulan[] = {
"Jan", "Peb", "Mar",
"Apr",
"Mei", "Jun", "Jul",
"Agu",
"Sep", "Okt", "Nov",
"Des"};
// Menciptakan sebuah
kalender yang diinisialisasi dengan
// tanggal dan waktu
sekarang pada lokalitas dan
// zona waktu.
Calendar kalender =
Calendar.getInstance();
// Menampilkan informasi
waktu dan tanggal sekarang.
System.out.print("Tanggal: ");
System.out.print(arrayBulan[kalender.get(Calendar.MONTH)]);
System.out.print("
" + kalender.get(Calendar.DATE)
+ " ");
System.out.println(kalender.get(Calendar.YEAR));
System.out.print("Waktu: ");
System.out.print(kalender.get(Calendar.HOUR) + ":");
System.out.print(kalender.get(Calendar.MINUTE) + ":");
System.out.println(kalender.get(Calendar.SECOND));
// Menetapkan waktu dan
tanggal dan menampilkannya.
kalender.set(Calendar.HOUR, 10);
kalender.set(Calendar.MINUTE, 29);
kalender.set(Calendar.SECOND, 22);
System.out.print("Waktu terperbarui: ");
System.out.print(kalender.get(Calendar.HOUR) + ":");
System.out.print(kalender.get(Calendar.MINUTE) + ":");
System.out.println(kalender.get(Calendar.SECOND));
}
}
Keluaran Program
Tanggal: Peb 12 2014
Waktu: 7:57:32
Waktu terperbarui: 10:29:22
19.
Tulislah
sebuah program untuk menetapkan tanggal dan waktu menggunakan kelas GregorianCalendar.
Penyelesaian
// Demonstrate GregorianCalendar
import java.util.*;
public class
DemoGregorianCalendar {
public static void main(String args[]) {
String arrayBulan[] = {
"Jan", "Peb", "Mar",
"Apr",
"Mei", "Jun", "Jul",
"Agu",
"Sep", "Okt", "Nov",
"Des"};
int tahun;
// Menciptakan sebuah
kalender Gregorian yang diinisialisasi dengan
// tanggal dan waktu
sekarang pada lokalitas dan
// zona waktu.
GregorianCalendar gkalender
= new GregorianCalendar();
// Menampilkan informasi
waktu dan tanggal sekarang.
System.out.print("Tanggal: ");
System.out.print(arrayBulan[gkalender.get(Calendar.MONTH)]);
System.out.print("
" + gkalender.get(Calendar.DATE)
+ " ");
System.out.println(tahun =
gkalender.get(Calendar.YEAR));
System.out.print("Waktu: ");
System.out.print(gkalender.get(Calendar.HOUR) + ":");
System.out.print(gkalender.get(Calendar.MINUTE) + ":");
System.out.println(gkalender.get(Calendar.SECOND));
// Menguji apakah tahun
sekarang adalah tahun leap
if(gkalender.isLeapYear(tahun)) {
System.out.println("Tahun
ini adalah tahun leap");
}
else
{
System.out.println("Tahun
ini tidak tahun leap");
}
}
}
Keluaran Program
Tanggal: Peb 12 2014
Waktu: 8:3:31
Tahun ini tidak tahun leap
20.
Tulislah
sebuah program untuk membangkitkan nilai-nilai acak Gaussian.
Penyelesaian
// Demonstrate random Gaussian values.
import java.util.Random;
public class
DemoAcakGaussian {
public static void main(String args[]) {
Random r = new Random();
double nil;
double jum = 0;
int bell[] = new int[10];
for(int i=0; i<100;
i++) {
nil = r.nextGaussian();
jum += nil;
double t = -2;
for(int x=0; x<10;
x++, t += 0.5)
if(nil < t) {
bell[x]++;
break;
}
}
System.out.println("Rerata dari nilai-nilai: " +
(jum/100));
// menampilkan kurva bel
for(int i=0; i<10;
i++) {
for(int x=bell[i];
x>0; x--)
System.out.print("*");
System.out.println();
}
}
}
Keluaran Program
Rerata dari nilai-nilai: 0.00784383485340205
****
*****
*******
*************
*******************
*******************
***************
***********
******
*
21.
Tulislah
sebuah program yang mengilustrasikan kelas Timer
dan TimerTask.
Penyelesaian
// Demonstrasi kelas Timer dan TimerTask.
import java.util.*;
class TimerTaskKu extends TimerTask
{
public void run() {
System.out.println("Timer task dieksekusi.");
}
}
public class
DemoKelasTimer {
public static void main(String args[]) {
TimerTaskKu taskKu = new TimerTaskKu();
Timer timerKu = new Timer();
/* Menetapkan tunda awal 1
detik,
kemudian diulangi setiap
setengah detik.
*/
timerKu.schedule(taskKu,
1000, 500);
try {
Thread.sleep(5000);
}
catch (InterruptedException exc) {}
timerKu.cancel();
}
}
Keluaran Program
Timer task dieksekusi.
Timer task dieksekusi.
Timer task dieksekusi.
Timer task dieksekusi.
Timer task dieksekusi.
Timer task dieksekusi.
Timer task dieksekusi.
Timer task dieksekusi.
22.
Tulislah
sebuah program yang mengilustrasikan penggunaan penspesifikasi format %g.
Penyelesaian
// Demo penspesifikais format %g.
import java.util.*;
public class
DemoPenspesifikasiFormat {
public static void main(String args[]) {
Formatter fmt = new Formatter();
for(double i=1000; i
< 1.0e+10; i *= 100) {
fmt.format("%g
", i);
System.out.println(fmt);
}
}
}
Keluaran Program
1000.00
1000.00 100000
1000.00 100000 1.00000e+07
1000.00 100000 1.00000e+07 1.00000e+09
23.
Tulislah
sebuah program yang mengilustrasikan penggunaan penspesifikasi format %d.
Penyelesaian
// Menciptakan sebuah tabel kuadrat dan kubik.
import java.util.*;
public class
DemoLebarBidang {
public static void main(String args[]) {
Formatter fmt;
for(int i=1; i <= 10;
i++) {
fmt = new Formatter();
fmt.format("%4d %4d
%4d", i, i*i, i*i*i);
System.out.println(fmt);
}
}
}
Keluaran Program
1 1
1
2 4
8
3 9
27
4 16
64
5 25
125
6 36
216
7 49
343
8 64
512
9 81
729
10 100 1000
24.
Tulislah
sebuah program yang mengilustrasikan penyejajaran kiri.
Penyelesaian
// Demonstrate left justification.
import java.util.*;
public class
DemoPenyejajaranKiri {
public static void main(String args[]) {
Formatter fmt = new Formatter();
// Penyejajaran kanan secara
default
fmt.format("|%10.2f|", 123.123);
System.out.println(fmt);
// Sekarang, penyejajaran
kiri.
fmt = new Formatter();
fmt.format("|%-10.2f|", 123.123);
System.out.println(fmt);
}
}
Keluaran Program
| 123.12|
|123.12 |
25.
Tulislah
sebuah program yang menggunakan Scanner
untuk menghitung rerata dari nilai-nilai di dalam sebuah file.
Penyelesaian
import java.util.*;
import java.io.*;
public class
DemoScanner {
public static void main(String args[])
throws IOException {
int kounter = 0;
double jum = 0.0;
// Menuliskan keluaran
ke sebuah file.
FileWriter fout = new FileWriter("test.txt");
fout.write("2 3.4 5 6 7.4 9.1 10.5 selesai");
fout.close();
FileReader fin = new FileReader("Test.txt");
Scanner sumber = new Scanner(fin);
// Membaca dan
menjumlahkan angka-angka.
while(sumber.hasNext()) {
if(sumber.hasNextDouble()) {
jum +=
sumber.nextDouble();
kounter++;
}
else {
String str =
sumber.next();
if(str.equals("selesai")) break;
else {
System.out.println("Error
File format.");
return;
}
}
}
fin.close();
System.out.println("Rerata
adalah " + jum / kounter);
}
}
Keluaran Program
Rerata adalah 6.2
26.
Tulislah
sebuah program yang menggunakan Scanner
untuk membaca pelbagai tipe data dari sebuah file.
Penyelesaian
import java.util.*;
import java.io.*;
public class
DemoScanner2 {
public static void main(String args[])
throws IOException {
int i;
double d;
boolean b;
String str;
// Menuliskan keluaran ke
sebuah file.
FileWriter fout = new FileWriter("test.txt");
fout.write("menguji Scanner 10 12.2 one true two false");
fout.close();
FileReader fin = new FileReader("Test.txt");
Scanner src = new Scanner(fin);
// Membaca sampai akhir
file.
while(src.hasNext()) {
if(src.hasNextInt()) {
i = src.nextInt();
System.out.println("int:
" + i);
}
else if(src.hasNextDouble())
{
d =
src.nextDouble();
System.out.println("double:
" + d);
}
else if(src.hasNextBoolean())
{
b =
src.nextBoolean();
System.out.println("boolean: " + b);
}
else {
str = src.next();
System.out.println("String:
" + str);
}
}
fin.close();
}
}
Keluaran Program
String: menguji
String: Scanner
int: 10
double: 12.2
String: one
boolean: true
String: two
boolean: false
27.
Tulislah sebuah
program yang mengilustrasikan penggunaan Scanner
untuk menghitung rerata atas nilai-nilai yang dipisahkan koma.
Penyelesaian
import java.util.*;
import java.io.*;
public class
DemoScanner3 {
public static void main(String args[])
throws IOException {
int kounter = 0;
double jum = 0.0;
// Menuliskan keluaran ke
sebuah file.
FileWriter fout = new FileWriter("test.txt");
// Sekarang, menyimpan nilai-nilai yang
dipisahkan dengan koma.
fout.write("2, 3.4, 5,6, 7.4, 9.1, 10.5, selesai");
fout.close();
FileReader fin = new FileReader("Test.txt");
Scanner sumber = new Scanner(fin);
// Menggunakan delimiter
spasi dan koma.
sumber.useDelimiter(",
*");
// Membaca dan menjumlahkan
angka-angka.
while(sumber.hasNext()) {
if(sumber.hasNextDouble()) {
jum +=
sumber.nextDouble();
kounter++;
}
else {
String str = sumber.next();
if(str.equals("selesai"))
break;
else {
System.out.println("Error
File format.");
return;
}
}
}
fin.close();
System.out.println("Rerata sebesar " + jum / kounter);
}
}
Keluaran Program
Rerata sebesar 6.2
No comments:
Post a Comment