Anda di halaman 1dari 16

LAPORAN

WORKSHOP STRUKTUR DATA DAN ALGORITMA


P1 :Latihan Array

Nama:Nabila Monita
NIM :2255301133
Kelas:2 TID
Dosen:Silvana Rasio Henim S.ST.M.MT
ILB;Hazimah Fatin Bachrum S.Tr.Kom

Program Studi Teknik Informatika


Politeknik Caltex Riau
T.A 2022/2023
MODUL 0 :Struktur Data dan Algoritma

Landasan Teori:
Algoritma adalah urutan penyelesaian masalah yang disusun secara
sistematis,menggunakan bahasa yang logis dan disusun secara sistematis
Variabel adalah wadah untuk menyimpan nilai data dengan tipe data
tertentu.
Tipe data adalah jenis nilai yang dsimpan dalam sebuah variabel
Tipe data terbagi menjadi 2:
1. Tipe data primitif contohnya :int,float,double,byte
2. Tipe data non-pimitif. contohnya:String,Array
Struktur data adalah Cara penyimpanan data data secara terstruktur di
dalam komputer sehingga dapat digunakan secara efisien.
Array adalah variabel yang dapat meyimpan lebih dari satu data dalam
satu variabel dimana data didalmnya disimpan dalam satu tipe data.

Tugas 1:
Screenshoot Program:
Hasil Output:

Analisa Program:
Line Kode Program Analisa/Penjelasan

17 int i; Variabel i yang disimpan


dengan menggunakan tipe
data integer

18 int bilangan [] = new int [5]; Variabel array dengan


menggunakan integer
sebagai tipe datanya serta
panjang array atau banyak
data yang disimpan di
dalamm array dari endex 0
sampe 5

20 -23 for ( i = 0 ; i<bilangan.length;i++){ Pada line ini merupakan


int bil = perulangan for dimana ada
Integer.parseInt(JOptionPane.showInputDialog("M pendeklarasian pada variabel
asukkan Bilangan ke -" + (i+1))); i - 0 serta kondisi perulangan
bilangan[i]=bil; jika i kecil dari panjang array
} bilangan yaitu panjang array
adalah 5 serta iterasinya
yaitu i++
Serta didalm for terdapat
proses input pada variabel bil
yang menggunakan tipe data
integer terdapat
integer.parseInt karena
joptionpane merupakan
inputan string jadi jika tipe
data selain string harus di
parse.jika kondisi for
memenuhi kondisi maka
variabel array bilangan = bil
Setelah itu i+1 sampai
kondisi for false/tidak
memenuhi kondisi.

24 int tambah = bilangan [0]+ bilangan [1] + bilangan Setelah perulangan for
[2] + bilangan [3]+ bilangan [4]; selesai maka semua bil bil
yang diperoleh ditambahkan
setiap bilnya dan disimpan
dalam variabel tambah yang
bertipe data integer dengan
memanggil variabel array
bilangan setiap indexnya

25 int rata = tambah/5; Rumus menghitung rata yang


menggunakan variabel rata
dan tipe data integer,proses
dari tipe data rata ini dengan
memanggil variabel tambah
yang sebelumnya dan di bagi
5 karena jumlah bilangan
yang diperoleh ada 5.

28-29 System.out.println("Jumlah ke-5 bilangan: " + Mencetak ke layar jumlah


tambah); bilangan ke 5 bilangan
System.out.println("Nilai Rata rata: : " + rata); dengan memanggil variabel
tambah serta juga mencetak
nilai rata rata dengan
memanggil variabel rata

Tugas 2:
Screenshoot Program:
Hasil Output:

Analisa Program:
Line Kode Program Analisa/Penjelasan

15-16 int i; Pendelarasian pada variabel i


double alpha[] = new double[50]; lalu kemudian membuat
variabel array dengan nama
alpha yang menggunakan
tipe data double yang
mempunyai panjang data 50

18 for (i = 0; i < alpha.length; i++) { Perulangan for yang


menggunakan inisialisasi i =0
serta kondisi jika i kecil dari
panjang array variabel alpha
yaitu 50.jika kondisi
memenuhi syarat makan
masuk ke proses didalam for
Lalu ada iterasi pada
perulangan berikut yaitu i+1

19-23 if (i < 25) { Didalam proses for terdapat


alpha[i] = i * i; kondisi if-else bersarang
if (i % 10 == 0) { yang pertama kondisi jika i
System.out.println(" "); kecil dari 25 maka terdapat
} proses dan if didalamnya
} proses yang pertama alpha[i]
=Ixi
Lalu kemudian didalam if ini
terdapat kondisi i lagi untuk
mencetak ke baris baru
setiap kondisi jika i di bagi 10
hasil sisanya = 0 maka output
selanjutnya ke baris yang
baru ini bertujuan untuk
mencetak output 1 baris 10
jumlah output alpha

24-30 else { Pada kondisi else ini untuk


alpha[i] = i * i * i; mencetak nilai alpra pangkat
System.out.print(" "); 3 dimana alpha[i] = i x i x i
if (i % 10 == 0) { Lalu kemudian didalam else
System.out.println(" "); ini terdapat kondisi i lagi
} untuk mencetak ke baris baru
} setiap kondisi jika i di bagi 10
hasil sisanya = 0 maka output
selanjutnya ke baris yang
baru ini bertujuan untuk
mencetak output 1 baris 10
jumlah output alpha

31 System.out.print("alpha " + i + "=" + alpha[i] + " Mencetak kelayar alpha i ke


"); berapa serta hasil dari proses
yang ada didalamnyaa sesuai
kondisi pada if-else

Tugas 3:
ScreenShoot Program:
Hasil Output:

Analisa Program:

Line Kode Program Analisa/Penjelasan

12-14 import java.util.Scanner; Import ini untuk mengimport


public class tugas3 { class scanner sehingga dapat
public static void main(String[] args) { dilakukannya inputan dan
juga membaca inputan
Public class adalah class
yang digunakan pada
program ini
Dan psvm untuk menjalan
program ini tanpa psvm
program tidak bisa dijalankan

15 Scanner input = new Scanner (System.in); Pada line ini untuk membuat
objek dari class scanner
karena class scanner
membutuhkan objek yang
digunakan untuk memanggil
method pada class scanner
Dimana disini nama objeknya
yaitu input

17-18 System.out.print("Masukkan Kata : "); Ini adalah inutan dari class


String kata = input.nextLine(); scanner dimana
menggunakan tipe data string
sehingga method yang
digunakan pada class
scanner adalah
next.Line.inputan untuk user
memasukkan kata

20 System.out.println("Uppercase = " + Mencetak ke layar kata yang


kata.toUpperCase()); diinput sebelumnyaa tetapi
dengan mencetak semua
kata menjadi huruh
kapital.sehingga digunakan
syntax toUpperCase untuk
mengkapitalkan setiap kata
yanng diinputkan pada input
variabel kata.
Sehingga output yang
dihasilkan adalah kata yang
diinput tetapi huruf kapitall
semua

Tugas 4:
Screenshot Program:
Hasil Input:

Flowchart:
Analisis Program:

Line Kode Program Analisa/Penjelasan

17-20 long nomorAkun; Ini adalah pendeklarasian


int jumlahPremiumChannel; untuk variabel nomorAkun
String kodeCustomer; menggunakan tipe data
double biayaAdmin = 0, biayaLayanan = 0, long yang hampir sama
biayaPremium = 0, totalBill; dengan tipe data int tetapi
dengan ranting nilai yang
lebih tinggi.lalu pada
variabel
jumlahPremiumChannel
menggunakan tipe data
int.
Lalu kemudian pada
variabel kodeCustomer
dengan tipe data String.
Untuk variabel

21-25 nomorAkun=Long.parseLong(JOptionPane.showI Inputan untuk


nputDialog("Masukkan Nomor Akun Anda")); memasukkan nomor akun
menggunakan joptionpane
kodeCustomer = dimana memparse kan
JOptionPane.showInputDialog("Masukkan Kode long dan joptionpane
Customer Anda (P/B)"); menyediakan jendela
jumlahPremiumChannel = dialog untuk inputan.
Integer.parseInt(JOptionPane.showInputDialog(" Inputan untuk
Masukkan Jumlah Premium Channel Anda")); memasukkan kode
customer.karena inputan
berupa string maka tidak
ada parse.
Lalu kemudian inputan
untuk memasukkan
jumlah premium channel
menggunakan tipe data int
yang artinya inputan
berupa angka/bilangan.

26 - 34 if (kodeCustomer.equalsIgnoreCase("P")) { Kondisi if jika


biayaAdmin = 500; kodeCustomer==P.equalsI
biayaLayanan = 950.50; gnoreCase untuk tidak
} else if mempedulikan inputannya
(kodeCustomer.equalsIgnoreCase("B")) { huruf kapital atau tidak.
biayaAdmin = 600; Jika kondisi ini bernilai
biayaLayanan = 1000; true maka biayaAdmin
} else { yang awalnya 0 +
JOptionPane.showMessageDialog(null, 500;begitu juga dengan
"Kode Customer yang Anda Masukkan Tidak biayaLayanan yang
Valid!!!"); awalnya 0 menjadi 950,50
} Namun jika kondisi
bernilai false maka masuk
ke kondisi else if dimaan
kondisinya jika
kodeCustomer==B maka
biayaAdmin=600 dan
biayaLayanan+=1000.na
mun jika kondisi else if
tidak memenuhi maka
masuk ke kondis terakhir
yaitu kondisi else dimana
mencetak kelayar "Kode
Customer yang Anda
Masukkan Tidak Valid!!!"
dan system berhenti

36-37 biayaPremium = jumlahPremiumChannel * 75; Setelah kondisi if else


totalBill = biayaAdmin + biayaLayanan + dijalankan masuk ke
biayaPremium; proses menghitung
biayaPremium dan
setelah itu menghitung
totalBill

38 System.out.println("Nomor Akun Anda: " + Mencetak kelayar nomor


nomorAkun + "\nJumlah Tagihan Anda: " + akun dan jumlah tagihan
totalBill); Dan setelah itu program
selesai

Tugas 5
Screenshoot Program:
Hasil Output:
Flowchart:
Analisis Program:

Line Kode Program Analisa/Penjelasan

12-14 import javax.swing.JOptionPane; Mengimport class inputan


public class Tugas5 { joptionpane dimana
public static void main(String[] args) { joptionpane merupakan
jendela dialog.untuk
mengambil input,
menampilkan informasi,
menampilkan pesan error,
menampilkan dialog
konfirmasi, dan lain-lain.
Class pada program ini
bernama Tugas5
Lalu psvm berguna untuk
menjalankan program

15-19 int jumlahSiswa, nilai; Pendeklarasian pada


int[] rentangNilaisiswa = new int[8]; variabel jumlahSiswa dan
String[] rentangskor = { nilai yaitu bertipe data
"0-24", "25-49", "50-74", "75-99", integer
"100-124", "125-149", "150-174", Lalu kemudian membuat
"175-200" }; variabel array
rentangNilaiSiswa dengan
tipe data integer dengan
panjang array 8.
Lalu kemudian membuat
variabel array rentangskor
dengan tipe data String
dimana didalamnya
terdapat sampai indek ke
8.

20 jumlahSiswa = Inputan untuk


Integer.parseInt(JOptionPane.showInputDialog(" memasukkan jumlah
Masukkan jumlah siswa ")); siswa yang ingin
dimasukkan ke
rentangnilai dengan
menggunakan inputan
jOptionPane.dengan tipe
data integer

21-40 for (int i = 0; i < jumlahSiswa; i++) { Perulangan for dimana


nilai = kondisi didalamnya jika i <
Integer.parseInt(JOptionPane.showInputDialog(" dari jumlahSiswa dan
Masukkan nilai siswa ke-" + (i + 1) + " (0-200): ")); iterasi nya i+1 setiap
if (nilai >= 0 && nilai <= 24) { kondisi telah
rentangNilaisiswa[0]++; terpenuhi.maka masuk ke
} else if (nilai >= 25 && nilai <= 49) { proses berikutnya
rentangNilaisiswa[1]++; memasukkan inputan nilai
} else if (nilai >= 50 && nilai <= 74) { siswa sesuai jumlahsiswa
rentangNilaisiswa[2]++; yang diinputkann tadi.
} else if (nilai >= 75 && nilai <= 99) { setelah itu masuk ke
rentangNilaisiswa[3]++; kondisi if-else Kode ini
} else if (nilai >= 100 && nilai <= 124) { digunakan untuk
rentangNilaisiswa[4]++; mengelompokkan nilai
} else if (nilai >= 125 && nilai <= 149) { siswa ke dalam delapan
rentangNilaisiswa[5]++; rentang berdasarkan
} else if (nilai >= 150 && nilai <= 174) { kondisi if-else if. Setiap
rentangNilaisiswa[6]++; kali sebuah kondisi
} else if (nilai >= 175 && nilai <= 200) { terpenuhi, elemen yang
rentangNilaisiswa[7]++; sesuai dari array
} rentangNilaisiswa akan
} bertambah.Jika nilai
adalah 15, maka
rentangNilaisiswa[0] akan
di-increment begitu juga
seterusnyaa.

41-43 for (int i = 0; i < rentangskor.length; i++) { Perulangan for ini untuk
System.out.println((i+1)+": Rentang Skor " mencetak informasi
+ rentangskor[i] + "\n " + rentangNilaisiswa[i] + " tentang rentang skor dan
siswa"); jumlah siswa dalam setiap
} rentang skor.dengan
incremennya i+1 jika
kondisi i< rentangSkor
memenuhi syarat maka
akan cetak ke layar
Rentang Skor dan
Rentang Nilai Siswa

Anda mungkin juga menyukai