Menghitung Jumlah Tiap Elemen Yang Sama Dalam Array

Halo gan, setelah mengetahui mengenai method dan array, kali ini adalah mengenai program yang bertujuan untuk menghitung kemunculan setiap karakter yang sama dalam suatu array, baik array itu untuk digit angka, huruf kecil ataupun huruf besar.

Bila sudah mengetahui tentang dasar-dasar Java, cobalah terus bereksperimen dengan kode-kode sampai menjadi lebih familar dan paham dengan konsep-konsepnya. Terdapat dua class berbeda dalam program ini yaitu class KarakterAcak dan MyArray. Perhatikan juga method yang dibuat atau dimiliki oleh kelas KarakterAcak dapat digunakan di class MyArray.


Program ini bekerja dengan:
  • Meminta user memasukkan jumlah karakter dari array yang ingin dibuat
  • Meminta user untuk memasukkan jumlah karakter setiap barisnya yang akan di tampilkan
  • Membuat karakter baik untuk digit angka, huruf kecil dan huruf besar secara random dengan menggunakan method yang dibuat dari class KarakterAcak, yaitu method:
    • public static char buatKarakterDigitAngkaAcak()
    • public static char buatKarakterHurufKecilAcak()
    • public static char buatKarakterHurufBesarAcak()
  • Kemudian setiap karakter random ini dimasukkan kedalam array, melalui method pada class MyArray yaitu method:
    • public static char[] buatArrayAngka
    • public static char[] buatArrayHurufBesar 
    • public static char[] buatArrayHurufKecil
  • Menampilkan array yang sudah dibuat dengan method: public static void tampilkanArray (char [] karakter)
  • Menghitung kemunculan setiap karakter yang sama dari setiap array yang dibuat, pada class MyArray menggunakan method:
    • public static int[] hitungKarakterAngka (char [] karakter)
    • public static int[] hitungKarakterHurufBesar (char [] karakter) 
    • public static int[] hitungKarakterHurufKecil (char [] karakter)
  • Selanjutnya menampilkan hasil perhitungan untuk setiap karakter yang muncul, dengan method
    • public static void tampilkanPerhitunganAngka(int [] hitung)
    • public static void tampilkanPehitunganHurufBesar(int [] hitung)
    • public static void tampilkanPehitunganHurufKecil(int [] hitung)

Membuat class KarakterAcak


public class KarakterAcak {
 
 public static char buatKarakterAcak(char karakter1, char karakter2){
  return (char)(karakter1 + Math.random() * (karakter2 - karakter1 + 1));
 }
 
 public static char buatKarakterDigitAngkaAcak(){
  return buatKarakterAcak('0', '9');
 }
 
 public static char buatKarakterHurufKecilAcak(){
  return buatKarakterAcak('a', 'z');
 }
 
 public static char buatKarakterHurufBesarAcak(){
  return buatKarakterAcak('A', 'Z');
 }
 
}


Membuat class MyArray
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
import java.util.Scanner;


public class MyArray {
 
 static int jumlahKarakter;
 static int jumlahBaris;

 public static void main (String args []){
  
  Scanner input = new Scanner (System.in);
  
  System.out.print("Berapa jumlah karakter "
    + "acak yang anda inginkan: ");
  jumlahKarakter = input.nextInt();
  
  System.out.print("Berapa jumlah karakter dalam "
      + "setiap baris yang anda inginkan: ");
  jumlahBaris = input.nextInt();
  
  System.out.println();
  
  char arrayAngka [] = buatArrayAngka();
  tampilkanArray(arrayAngka);
  System.out.println();
  
  int[] hitungAngka = hitungKarakterAngka (arrayAngka);
  tampilkanPerhitunganAngka(hitungAngka);
  System.out.println();
  
  char arrayHurufBesar [] = buatArrayHurufBesar();
  tampilkanArray(arrayHurufBesar);
  System.out.println();
  
  int[] hitungHurufBesar = hitungKarakterHurufBesar (arrayHurufBesar);
  tampilkanPerhitunganHurufBesar(hitungHurufBesar);
  System.out.println();
  System.out.println();
  
  char arrayHurufKecil [] = buatArrayHurufKecil();
  tampilkanArray(arrayHurufKecil);
  System.out.println();
  
  int[] hitungHurufKecil = hitungKarakterHurufKecil (arrayHurufKecil);
  tampilkanPerhitunganHurufKecil(hitungHurufKecil);
  
 }
 
 //Membuat array dengan elemen digit angka
 public static char[] buatArrayAngka(){
  System.out.println("Array digit angka: ");
  char karakter [] = new char [jumlahKarakter];
  for(int i = 0; i < karakter.length; i++){
   karakter[i] = KarakterAcak.buatKarakterDigitAngkaAcak();
   }
  return karakter;
  }
 
 //Membuat array dengan elemen huruf besar
 public static char[] buatArrayHurufBesar(){
  System.out.println("Array huruf besar: ");
  char karakter [] = new char [jumlahKarakter];
  for(int i = 0; i < karakter.length; i++){
   karakter[i] = KarakterAcak.buatKarakterHurufBesarAcak();
   }
  return karakter;
  }
 
 //Membuat array dengan elemen huruf kecil
 public static char[] buatArrayHurufKecil(){
  System.out.println("Array huruf kecil: ");
  char karakter [] = new char [jumlahKarakter];
  for(int i = 0; i < karakter.length; i++){
   karakter[i] = KarakterAcak.buatKarakterHurufKecilAcak();
   }
  return karakter;
  }
 
 
 //Method untuk menampilkan array
 public static void tampilkanArray(char[] karakter){
  for(int i = 0; i < karakter.length; i++){
   if((i + 1) % jumlahBaris == 0){
    System.out.println(karakter[i]);
    }
   else
    System.out.print(karakter[i] + " ");
   }
  }
 
 //Menghitung kemunculan setiap karakter angka
 public static int[] hitungKarakterAngka (char [] karakter){
  int [] hitung = new int [10];
  
  for (int i = 0; i < karakter.length; i++){
   hitung[karakter[i] - '0']++;
  }
  return hitung;
 }
 
 //Menampilkan perhitungan setiap karakter angka
 public static void tampilkanPerhitunganAngka(int[] hitung) {
  System.out.println("Jumlah setiap karakter angka adalah:");
  for (int i = 0; i < hitung.length; i++) {
   if ((i + 1) % 10 == 0){
    System.out.println((char)(i + '0') + "=" + hitung[i]);
   }else{
    System.out.print((char)(i + '0') + "=" + hitung[i]  + " ");
   }
  }
 }
 
 ////Menghitung kemunculan setiap karakter huruf Besar
 public static int[] hitungKarakterHurufBesar (char [] karakter){
  int [] hitung = new int [26];
  
  for (int i = 0; i < karakter.length; i++){
   hitung[karakter[i] - 'A']++;
  }
  return hitung;
 }
 
 //Menampilkan perhitungan setiap huruf besar
 public static void tampilkanPerhitunganHurufBesar(int[] hitung) {
  System.out.println("Jumlah setiap karakter huruf besar adalah:");
  for (int i = 0; i < hitung.length; i++) {
   if ((i + 1) % 10 == 0){
    System.out.println((char)(i + 'A') + "=" + hitung[i]);
   }else{
    System.out.print((char)(i + 'A') + "=" + hitung[i]  + " ");
   }
  }
 }
 
 //Menghitung kemunculan setiap karakter huruf kecil
 public static int[] hitungKarakterHurufKecil (char [] karakter){
  int [] hitung = new int [26];
  
  for (int i = 0; i < karakter.length; i++){
   hitung[karakter[i] - 'a']++;
  }
  return hitung;
 }
 
 public static void tampilkanPerhitunganHurufKecil(int[] hitung) {
  System.out.println("Jumlah setiap karakter huruf kecil adalah:");
  for (int i = 0; i < hitung.length; i++) {
   if ((i + 1) % 10 == 0){
    System.out.println((char)(i + 'a') + "=" + hitung[i]);
   }else{
    System.out.print((char)(i + 'a') + "=" + hitung[i]  + " ");
   }
  }
 }
 
}

Contoh Output:

Berapa jumlah karakter acak yang anda inginkan: 100
Berapa jumlah karakter dalam setiap baris yang anda inginkan: 20

Array digit angka:
7 2 9 7 2 7 5 3 4 2 7 4 0 0 9 6 1 5 1 7
5 2 9 8 0 5 3 3 9 8 4 2 6 8 3 6 4 1 1 6
7 8 1 8 8 4 7 4 4 5 4 5 9 8 0 0 6 0 1 6
3 5 3 4 6 5 4 8 0 5 7 4 7 1 7 9 4 6 8 0
9 3 0 4 2 3 2 4 6 2 3 2 4 6 1 0 7 9 4 1

Jumlah setiap karakter angka adalah:
0=10 1=9 2=9 3=9 4=16 5=9 6=10 7=11 8=9 9=8

Array huruf besar:
Q T F Z E B A R Z N S R U E T V T O L Y
S T S L C I X A N B L R Y L S H L Z O H
Z M J Y Q B J W Y V X I H K J B W E O N
T Z E V Z X A D I G Q W X L B X S Q R W
X H P C T V R K I D O L W F D L D U Z U

Jumlah setiap karakter huruf besar adalah:
A=3 B=5 C=2 D=4 E=4 F=2 G=1 H=4 I=4 J=3
K=2 L=8 M=1 N=3 O=4 P=1 Q=4 R=5 S=5 T=6
U=3 V=4 W=5 X=6 Y=4 Z=7

Array huruf kecil:
b f z q l d d p t g q i g w a u v r x n
b m a q y v l n t y s y a j t r k u o p
x t n s f s d m o p u m a u y x j h u k
t f k t o s y e r v w z s w u e v u u m
w g l y i q z v o f w h o y d c c r y k

Jumlah setiap karakter huruf kecil adalah:
a=4 b=2 c=2 d=4 e=2 f=4 g=3 h=2 i=2 j=2
k=4 l=3 m=4 n=3 o=5 p=3 q=4 r=4 s=5 t=6
u=8 v=5 w=5 x=3 y=8 z=3

No comments

Bahasa Java. Powered by Blogger.