Contoh penggunaan array 2 dimensi   2 comments

Posted at 6:08 pm in Array

Kasus : ada 1000 orang yg akan dibuat data statistik bulan kelahiran, hari kelahiran dan yg terbanyak di lahir di bulan dan hari apa?? Untuk mendapatkan bulan dan hari lahir secara acak, digunakan class Random (Untuk kasus nyata bulan dan hari lahir didapat dari database).

import java.util.Random;
class dimensi2
{   public static void main(String[] args)
{   Random x = new Random();
int data[][] = new int [7][12];
String []hr = {"Sen","Sel","Rab","Kam","Jum","sab","Min"};
String []bl = {"","Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags",
"Sep","Okt","Nov","Des"};
int hari, bln;
for(int i=0;i<1000;i++)
{   hari = x.nextInt(7);
bln = x.nextInt(12);
data[hari][bln] += 1;
}
for(int kolom=0;kolom<13;kolom++)
System.out.print(bl[kolom]+"\t");
System.out.println();
for(int baris=0;baris<7;baris++)
{   System.out.print(hr[baris]+"\t");
for(int kolom=0;kolom<12;kolom++)
{   System.out.print(data[baris][kolom]+"\t");
}
System.out.println();
}
int max=data[0][0], imax=0, jmax=0;
for(int baris=0;baris<7;baris++)
{   for(int kolom=0;kolom<12;kolom++)
{   if(data[baris][kolom]>max)
{   max=data[baris][kolom];
imax=baris; jmax=kolom;
}
}
}
System.out.println("Terbanyak lahir di bulan "+(bl[jmax+1])+
" hari "+hr[imax]+" "+max+" orang");
}
}

Lalu bagaimana kita tahu kalau data di atas benar berjumlah 1000 orang?? Bisakah kita pastikan perhitungannya benar?? Apakah jumlah perbaris dan perkolomnya sudah benar??

Untuk menjawab itu semua, bagaimana kalau kita rubah sedikit source code di atas dengan menambahkan perhitungan perbaris dan perkolom. Berikut ini contoh source code-nya.


import java.util.Random;
class dimensi2
{   public static void main(String[] args)
{   Random x = new Random();
int data[][] = new int [8][13];
String []hr = {"Sen","Sel","Rab","Kam","Jum","sab","Min","Jml"};
String []bl = {"","Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags",
"Sep","Okt","Nov","Des","Jml"};
int hari, bln;
for(int i=0;i<1000;i++)
{   hari = x.nextInt(7);
bln = x.nextInt(12);
data[hari][bln] += 1;
data[hari][12] += 1;
data[7][bln] += 1;
data[7][12] += 1;
}
for(int kolom=0;kolom<14;kolom++)
System.out.print(bl[kolom]+"\t");
System.out.println();
for(int baris=0;baris<8;baris++)
{   System.out.print(hr[baris]+"\t");
for(int kolom=0;kolom<13;kolom++)
{   System.out.print(data[baris][kolom]+"\t");
}
System.out.println();
}
int max=data[0][0], imax=0, jmax=0;
for(int baris=0;baris<7;baris++)
{   for(int kolom=0;kolom<12;kolom++)
{   if(data[baris][kolom]>max)
{   max=data[baris][kolom];
imax=baris; jmax=kolom;
}
}
}
System.out.println("Terbanyak lahir di bulan "+(bl[jmax+1])+
" hari "+hr[imax]+" "+max+" orang");
}
}

Silahkan anda teliti sendiri perhitungan dari data-data di atas.

untuk berbagi:
  • Facebook
  • MySpace
  • Print this article!
  • Digg
  • Turn this article into a PDF!
  • del.icio.us
  • Google Bookmarks
  • E-mail this story to a friend!
  • StumbleUpon
  • Technorati

Written by Rockes13 on June 16th, 2009

2 partisipasi untuk 'Contoh penggunaan array 2 dimensi'

abonemen komentar via RSS or TrackBack to 'Contoh penggunaan array 2 dimensi'.

  1. Bang … mO tnYa kLo import javax.swing.JOptionPane; iTu kan Untuk message Box,,, kLo import java.util.Random; Buat apaan Trus Perbedaan antara array 1,2 dan 3 iTu apa …tRima kasih atas pencerahaannya …kLO bSa kirim ke email ajach heeee

    [Reply]

    gie

    17 Jun 09 at 1:05 am

  2. untuk mengambil nilai Acak mas… coba aja liat postingan tentang contoh bilangan genap ganjil ada kok…

    pa admin… widget nya tambah donk… buat liat archive… dan buat kategori buat tutorial nya .. jadi pada ngacak nih susah nyari yang udah ke post lama

    [Reply]

    Agung SCT

    17 Jun 09 at 4:37 pm

dah baca ikut nulis juga boss