LAPORAN PRAKTIKUM PEMROGRAMAN DASAR
PROGRAM
DENGAN TIPE DATA ARRAY
Disusun
oleh :
Nama : Andrianto Setiawan
NIM : 135150201111153
Asisten 1 : Fadel Trivandi Dipantara
Asisten 2 : Karid Nurvenus
Asisten 3 : Apiladosi Priambodo
Dosen Pengampu : Sutrisno, Ir., MT
LABORATORIUM
KOMPUTER DASAR
PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER
UNIVERSITAS
BRAWIJAYA
2013
Pengesahan
Tanggal:
|
Asisten
|
|
A. Definisi Masalah
1. (Soal di Modul) Buat sebuah program yang
memiliki menu sebagai berikut :
Menu Utama :
1.Input Data
2.Tampilkan Data
3.Distribusi Frekuensi
4.Statistik
5.Keluar
Dimana input data adalah memasukan data nilai(antara 0
sampai 100) ke dalam suatu array. Menampilkan data adalah menampilkan semua isi
array. Distribusi frekuensi adalah mencari nilai frekuensiuntuk masing-masing
range nilai(dengan interval 20). Statistik adalah mencari nilai mean, minimum
dan maksimum dari data.
B. Source Code
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
|
import java.util.Scanner;
public clas laporanArray {
static
int []bil=null;
static
int jmlhBilangan;
public
static void main(String[] args) {
Scanner
in = new Scanner(System.in);
int pilih;
do {
System.out.println("MENU
UTAMA");
System.out.println("==============");
System.out.println("1. input
data");
System.out.println("2.
tampilkan
data");
System.out.println("3.
distribusi
frekuensi");
System.out.println("4.
statistik");
System.out.println("5.
keluar");
System.out.println();
System.out.println("Masukan
pilihan :
");
pilih
= in.nextInt();
switch (pilih){
case 1 : inputData();break;
case 2 : tampilkanData();break;
case 3 : distribusiFrekuensi();break;
case 4 : statistik();break;
case
5 : System.out.println("SELESAI");
break;
default :
System.out.println("pilihan
tidak ada");
System.out.println();
}
} while (pilih!=5);
}
private static void inputData(){
Scanner in = new Scanner(System.in);
System.out.println("INPUTAN
DATA");
System.out.println("Masukan
jumlah
bilangan = ");
jmlhBilangan = in.nextInt();
bil = new int[jmlhBilangan];
for (int i=0;i<jmlhBilangan;i++){
System.out.println("Masukan
bilangan ke-
"+(i+1)+" dari 1-100:
");
bil[i]=in.nextInt();
}
System.out.println();
}
private static void tampilkanData(){
if(bil==null){
System.out.println("-Lakukan
inputan
dahulu-");
System.out.println();return;}
System.out.println("Data yang anda
input :
");
for(int i=0;i<jmlhBilangan;i++){
System.out.println("|
"+bil[i]+" | ");
}
System.out.println();
}
private static void distribusiFrekuensi(){
if(bil==null){
System.out.println("-Lakukan
inputan
dahulu-");
System.out.println();return;}
int range1=0,range2=0,
range3=0,range4=0,
range5=0;
for(int
i=0;i<jmlhBilangan;i++){
if(bil[i]>=1&&bil[i]<=20)
range1++;
else
if(bil[i]>=21&&bil[i]<=40)
range2++;
else
if(bil[i]>=41&&bil[i]<=60)
range3++;
else if(bil[i]>=61&&bil[i]<=80)
range4++;
else
if(bil[i]>=81&&bil[i]<=100)
range5++;
}
System.out.println("DISTRIBUSI
FREKUENSI");
System.out.println("Distribusi
frekuensi dari 1-20 : "+range1);
System.out.println("Distribusi
frekuensi dari 21-40 : "+range2);
System.out.println("Distribusi
frekuensi dari 41-60 : "+range3);
System.out.println("Distribusi
frekuensi dari 61-80 : "+range4);
System.out.println("Distribusi
frekuensi dari 81-100 : "+range5);
System.out.println();
}
private
static void statistik(){
if(bil==null){
System.out.println("-Lakukan
inputan
dahulu-");
System.out.println();return;}
double total=0;
for(int i=0;i<jmlhBilangan;i++)
total+=bil[i];
double rerata=total/jmlhBilangan;
int min=bil[0],maks=bil[0];
for(int i=0;i<jmlhBilangan;i++){
if(bil[i]<=min)
min=bil[i];
if(bil[i]>=maks)
maks=bil[i];
}
System.out.println("STATISTIK");
System.out.printf("Nilai rata-rata :
%.0f\n",rerata);
System.out.println("Nilai minimum :
"+min);
System.out.println("Nilai maksimum :
"+maks);
System.out.println();
}
}
|
C. Pembahaasan
1
2-5
6
7
8
9-15
17-18
19
20
21
22
23
24
25
30
31
32
33-34
35
36
37
42
43-45
46
47-48
52
53-55
56
57
58
59
60
61
62
64
65
66
67
68
69
72
73-75
76
77-78
79
80
81
82
83
85
86
87
88
|
Melakukan
import dari package Scanner
Dekalarasi
kelas, global static variabel int dengan
nama bil[] dan jmlhBilangan, dan method main
Deklarasi
variabel Scanner dengan nama variabel in
Deklarasi variabel integer dengan
nama pilih
Perintah
untuk melakukan perulangan secara terus
menerus untuk pilihan menu dan ketika yang diinputkan bukan 5
Perintah untuk menampilkan menu
program yakni input data, tampilkan data, distribusi frekuensi, statistik,
dan keluar
Perintah untuk mencetak masukan
pilihan pada menu yang diinginkan dan perintah untuk memasukkan inputan
dengan scanner pada variabel pilihan
Pernyataan switch dengan kondisi
sesuai dengan inputan pada variabel pilihan
Pada inputan pilihan=1, maka akan
memanggil fungsi/method dari inputData dan perintah break
Pada inputan pilihan=2, maka akan
memanggil fungsi/method dari tampilkanData dan perintah break
Pada inputan pilihan=3, maka akan
memanggil fungsi/method dari frekuensi dan perintah break
Pada inputan pilihan=4, maka akan
memanggil fungsi/method dari statistik dan perintah break
Pada inputan pilihan =5, maka akan
muncul perintah untuk menampilkan “SELESAI”
dan perintah break
Dan pada inputan pilihan selain 1,2,
3, 4 atau 5 maka akan muncul perintah untuk menampilkan “Pilihan
tidak ada”
Deklarasi fungsi atau method inputData
Deklarasi
variabel Scanner dengan nama variabel in
Perintah untuk menampilkan “INPUTAN
DATA”
Perintah untuk mencetak masukan
jumlah bilangan yang diinginkan dan perintah untuk memasukkan inputan dengan
scanner pada variabel jmlhBilangan
Inisialisasi variabel array bil
dengan jumlah elemen sesuai dengan variabel jmlhBilangan yang diinputkan
Perintah untuk melakukan perulangan
pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas
perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan
Perintah untuk menampilkan
maemasukkan bilangan sebanyak variabel jmlhBilangan yang diinputkan dengan
Scanner pada variabel array bil
Deklarasi fungsi atau method
tampilkanData
Pernyataan if dengan kondisi jika
variabel bil berinisialisasi null atau tidak punya nilai maka akan
menampilkan “-Lakukan Inputan
Dahulu-”, enter satu baris dan kembali ke class utama tanpa
melanjutkan proses selanjutnya pada method tampilkanData
Perintah untuk menampilkan “Data yang
anda input : ”
Perintah untuk melakukan perulangan
pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas
perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan lalu akan
menampilkan array bil yang diinputkan pada variabel bil
Deklarasi fungsi atau method
distribusiFrekuensi
Pernyataan if dengan kondisi jika
variabel bil berinisialisasi null atau tidak punya nilai maka akan
menampilkan “-Lakukan Inputan Dahulu-”, enter satu baris dan kembali ke class
utama tanpa melanjutkan proses selanjutnya pada method distribusiFrekuensi
Deklarasi variabel int dengan nama
range1, range2, range3, range4, dan
range5 serta diinisialisasi 0
Perintah untuk melakukan perulangan
pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas
perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan
Pernyataan if dengan kondisi jika
variabel bil yang diinputkan sama atau lebih dari 1 dan sama atau kurang dari
20 maka variabel range1 ditambah 1
Pernyataan else if dengan kondisi
jika pernyataan sebelumnya bernilai salah dan variabel bil yang diinputkan
sama atau lebih dari 21 dan sama atau kurang dari 40 maka variabel range2
ditambah 1
Pernyataan else if dengan kondisi
jika pernyataan sebelumnya juga bernilai salah dan variabel bil yang
diinputkan sama atau lebih dari 41 dan sama atau kurang dari 60 maka variabel
range3 ditambah 1
Pernyataan else if dengan kondisi
jika pernyataan sebelumnya juga bernilai salah dan variabel bil yang
diinputkan sama atau lebih dari 61 dan sama atau kurang dari 80 maka variabel
range4 ditambah 1
Pernyataan else if dengan kondisi
jika pernyataan sebelumnya juga bernilai salah dan variabel bil yang
diinputkan sama atau lebih dari 81 dan sama atau kurang dari 100 maka
variabel range5 ditambah 1
Perintah untuk menampilkan “DISTRIBUSI
FREKUENSI”
Mencetak distribusi frekuensi dari
1-20, variabel range1
Mencetak distribusi frekuensi dari
21-40, variabel range2
Mencetak distribusi frekuensi dari
41-60, variabel range3
Mencetak distribusi frekuensi dari
61-80, variabel range4
Mencetak distribusi frekuensi dari
81-100, variabel range5
Deklarasi fungsi atau method
statistik
Pernyataan if dengan kondisi jika
variabel bil berinisialisasi null atau tidak punya nilai maka akan
menampilkan “-Lakukan Inputan Dahulu-”, enter satu baris dan kembali ke class
utama tanpa melanjutkan proses selanjutnya pada method statistik
Deklarasi variabel double dengan nama
total dan diinisialisasi 0
Perintah untuk melakukan perulangan
pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas
perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan dan
operasi matematika penjumlahan variabel bil yang diinputkan
Deklarasi variabel double dengan nama rerata dan diinisialisasi dengan
operasi matematika pembagian variabel total dengan variabel jmlhBilangan
Deklarasi variabel int dengan nama
min dan maks serta diinisalisasi dengan variabel bil pada elemen 0 sesuai
dengan yang telah diinputkan
Perintah untuk melakukan perulangan
pada variabel i yang telah dideklarasi int dan diinisialisasi 0 hingga batas
perulangan sesuai dengan yang diinputkan pada variabel jmlhBilangan
Pernyataan if dengan kondisi jika
variabel bil pada elemen variabel i sama atau lebih kecil dari variabel min
maka variabel min diinisialisasi nilai variabel bil pada elemen tersebut
Pernyataan if dengan kondisi jika
variabel bil pada elemen variabel i sama atau lebih besar dari variabel maks
maka variabel maks diinisialisasi nilai variabel bil pada elemen tersebut
Perintah untuk menampilkan
“STATISTIK”
Mencetak nilai rata-rata, variabel
rerata
Mencetak nilai minimum, variabel min
Mencetak nilai maksimum, variabel
maks
|
D. Screenshoot Program
E. Kesimpulan
Array terdapat dua macam, yakni
satu dimensi dan dua dimensi. Array satu dimensi digunakan saat data hanya satu
baris. Array dua dimensi digunakan saat data meliputi baris dan kolom. Array
bersifat homogen atau semua data pada array bertipe sama, oleh karena itu array
memiliki fungsi dapat mengolah elemen-elemen di dalam strukturnya secara
kelompok maupun individu. Elemen array selalu dimulai dari 0.
Program ini menggunakan global static di luar method main
dan juga menggunakan fungsi array yang digunakan untuk menginputkan data nilai
pada suatu array. Selanjutnya menampilkan semua isi array kemudian mencari
distribusi frekuensinya yang nilai frekuensinya untuk masing-masing range nilai
dengan interval 20, kemudian dicari statistik untuk menampilkan rata-rata
datanya dan juga mencari nilai maksimum serta minimumnya.