Anda di halaman 1dari 83

01

MODUL 9
PRAKTIKUM
Kelompok 7

Nama
Anitta lukmana
Farzanggi Rachman
Muhammad Alfahrezi
02

Daftar isi

Praktikum 3.1 Praktikum 3.2 Praktikum 3.3


Array dan Method Penanganan Review Algoritma,
Kesalahan Flowchart, dan Kode
Program
03

Praktikum 3.1

Array dan Method


04

A. Array
Array adalah kumpulan data yang memiliki tipe data
yang sama. Setiap data pada array memiliki indeks,
indeks pada array dimulai dari 0, artinya kalau kita
memiliki data array [10,5,4,2,1], maka indeksnya adalah
0,1,2,3,4.
05
Pada Java semua array dialokasikan secara dinamis

Pokok
bahasan Pada Java adalah objek; dengan demikian dapat diketahui jumlah anggota

tentang array Variabel array dideklarasikan seperti variabel lain dengan menyebutkan nama array
setelah tipe data

Indeks pada array dimulai dari 0

Pada Java, array dapat dibuat static, variabel lokal atau menjadi parameter pada
sebuah method

pada bahasa pemrograman


Java
06

Praktikum Array
2. Kemudian membuat folder
baru di dalam package
Sebelum memulai praktikum untuk Array kita akan membuat folder/package
tersendiri pada proyek Praktikum03 dengan langkah-langkah berikut: Praktikum03 dengan nama file
array lalu klik enter

1. Klik file lalu membuat folder baru dengan nama Praktikum03

3. Package array telah


berhasil dibuat
07

1.Array satu
Dimensi

Array satu dimensi adalah kumpulan elemen yang


tersusun dalam suatu baris

Array yang berisi dari 1 subscript Array saja.


08

a. Array satu Dimensi (menampilkan isi array gaya klasik)

Kode Program array 1d

Output

Gaya klasik
09

b. Array satu Dimensi (menampilkan isi array gaya sederhana)

Ini adalah kode program gaya klasiknya

Akan diubah menjadi kode program gaya simpel. Kodenya akan menjadi
sebagai berikut:

Hasil keluaran dari tampilan program array sama dengan sebelumnya. Yang
berbeda adalah pada pengaksesan data perulangan for nya saja yang menjadi lebih
simpel dan menghemat waktu pembuatannya.
10
c. Mengurutkan data array satu dimensi dengan class Arrays
Untuk dapat mengurutkan sebuah array maka melakukan sedikit
modifikasi sebagai berikut:
Di bawah package array; tambahkan kode program berikut: Output

Pada tubuh main method tambahkan kode program berikut akhir


perintah for sebagai berikut:

Catatan:
java.util.Arrays; adalah class yang berisi beberapa method statis yang dapat digunakan untuk mengisi,
menyortir, mencari, dan lain-lain didalam array.
11

2. Array Multidimensi

Array multidimensi adalah perkembangan dari


array bentuk satu dimensi.

Array multidimensi adalah variabel yang


menyimpan sekumpulan data yang memiliki tipe
sama dan elemen yang diakses melalui banyak
indeks, biasanya digunakan untuk matriks.
12

Mempraktekan array 2 dimensi

Kode program untuk array 2D adalah sebagai berikut:

Output
13

Praktikum berikutnya adalah praktikum array 2D tapi nilainya di input oleh user

Berikut kode program untuk array 2Dnya:


Output
14

3. Copy Array

Method yang bernama arraycopy adalah method


yang bisa digunakan untuk mengcopy array ke
lokasi array baru.
15

Mempraktekan copy array

kode program praktikumnya adalah sebagai berikut:

Output
16

4. Kloning Array
Untuk kloning array satu dimensi bisa
dilihat ilustrasinya seperti gambar
berikut:

Kloning array dapat dilakukan untuk array satu


dimensi dan juga bisa untuk multi dimensi.
17
Mempraktekan kloning array
Untuk Praktek kloning array satu dimensi berikut kode
programnya:

Output
18
Mempraktekan kloning array
Berikut kode Program cloning array multidimensi:

Output
19

B. Method
Method adalah sekumpulan pernyataan yang
dikelompokkan bersama untuk melakukan tugas-tugas
tertentu. banyak pekerjaan yang secara tidak sadar dapat
diselesaikan dengan cara memanggil suatu method di
pemrograman Java.
20

1.Membuat dan
Memanggil
Method
Skema yang di gunakan dalam praktikum ini adalah
membuat class dengan satu proses utuh tanpa
memecah masalah menjadi sub method, lalu
kemudian dari proses yang utuh tadi dipecah
masalahnya menjadi sub method (sebagian
permasalahan dipecahkan pada sub-sub method).
21
Sekarang Studi kasusnya adalah keinginan mengetahui data yang diinput
melalui keyboard, apakah bilangan ganjil atau genap.
Berikut Kode programnya:

Output
22
Selanjutnya program di slides sebelumnya akan dimodifikasi menjadi method dengan cara
memanggilnya.
Berikut kode Program untuk mencari angka ganjil genap
dengan sebuah method:

Output

Pada dasarnya hasil dari kedua program antara:


mengetahuiAngkaGanjilGenap.java dengan
mengetahuiAngkaGanjilGenapuseMethod.java
adalah sama, namun pada program
mengetahuiAngkaGanjilGenapuseMethod.java
menggunakan method.
23

2. Membuat method yang tidak


mengembalikan nilai

Cukup sederhana agar sebuah method tidak


mengembalikan nilai, yaitu dengan menambahkan
keyword void pada awal nama method.
24

contoh sederhana agar sebuah method tidak mengembalikan nilai

Berikut Kode programnya:

Output
25

3. Method Overloading

Berikut Kode programnya:


Kemampuan sebuah class mempunyai 2 atau lebih
method dengan nama yang sama dan yang
membedakan adalah parameter setiap method.

Output
26

Penjelasan lebih lanjut

Berikut detail dari method overloaded nya

Pada gambar diatas membuat method pertama dengan nama tambahData

Pada gambar di atas membuat method kedua dengan nama method yang sama seperti pada method pertama.
27

Praktikum 3.2
Penanganan
Kesalahan
28

Membuat folder/package eksepsi dengan


langkah-langkah berikut ini :
2. Klik tombol finish untuk
1. Isi kolom name dengan eksepsi
membuat package
29

A. EKSEPSI TRY..CATCH

• Sintaks : Penjelasan:
- Tray menyatakan bahwa dalam blog
pernyataan dapat terjadi suatu eksepsi dan jika
kemungkinan itu terjadi, maka jalankan blok
program dalam blog Catch Sesuai dengan tipe
Eksepsi yang terjadi
- Instance variabel variabel Exception dari kelas
Exception dapat digunakan sebagai referensi/
data informasi untuk mengetahui penyebab
terjadinya Eksepsi tersebut.
30 Sekarang ikuti langkah-langkah berikut untuk menguji coba.
Pertama kita membuat program tanpa try catch sebagai
berikut :
1. Buatlah file Class Dengan nama eksepsiTryCatch. Java
pada folder eksepsi pada projek praktikum03, kemuadian
jangan lupa nenyertakan main method pada file class
tersebut.
2. Pada tubuh main method ketikkan kode program berikut :
31
3. Kode program secara utuh sebagai berikut:

4. Simpan program dan jalankan, hasilnya sebagai berikut:


Penjelasan :
Muncul pesan kesalahan
bahwa indeks array 4 tidak
ada. Nah bagaimana
menangani kesalahan di atas,
ikuti langkah selanjutnya
👉👉👉
32
5. Ubah bagian :

6. Simpan program dan jalankan, hasilnya sebagai berikut:


33

Penjelasan: kesalahan yang terjadi seperti pada


langkah 4 di perangkap oleh try..catch

7. Jika kode program system.out.println (sepeda[4]); di ubah menajdi


System.out.println(sepeda[3]); maka jalankan program akan normal.

Sepeda ontel
34

8. Program secara lengkap setelah dimodifikasi dengan penambahan


Eksepsi Try catch sebagai berikut :
35
B. MEMBUAT TRY..CATCH BERSARANG

Eksepsi try..catch bersarang adalah try..catch yang dipasang dalam


try..catch. Try..catch bisa jadi dipasang pada sebuah method dan
ketika method tersebut dipanggil sudah di dalam try..catch yang
lain.
36
Untuk mempraktekkan kita ikuti langkah-langkah berikut:
1. Buatlah file class dengan nama eksepsiTrycatchBersarang.java pada folder eksepsi pada
projek Praktikum03, kemudian jangan lupa menyertakan main method pada file class
tersebut.
2. Buat method baru dengan nama MethodTrycatch sebagai berikut :
37
3. Pada tubuh main method ketikan beberapa kode
program sekaligus kode program untuk memanggil metho
MethodTryCatch sebagai berikut :
38
4. Kode Program secara utuh sebagai berikut :
39

5. Ilustrasi jalannya program terhadap try..catch bersarang


40
6. Simpan program dan jalankan, hasilnya sebagai berikut :

Jebak kesalahan dari sub-method

Awas! Terjadi kesalahan

Hasil boolean : false


Penjelasan :
-Untuk hasil atau keluaran yang menghasilkan:

Jebak kesalahan dari Sub-method

Awas! Terjadi kesalahan


Di atas adalah keluaran hasil perangkat kesalahan yang dieksekusikan karena terjadi kesalahan pada
method Methodtrycatch.

Keterangan: sejatinya contoh program di atas adalah method dengan perangkat kesalahan memanggil
method lain dengan juga menggunakan perangkat kesalahan, dimana Network dipanggil dalam tubuh
Try..cath
41

C. MENGGUNAKAN TRY..CATCH MULTI


Menggunakan banyak Try..catch Sangat dimungkinkan pada Java, selama anda membuat atau
memprediksi kesalahan-kesalahan yang akan terjadi. untuk praktikum try..catch banyak
sebagai berikut :
1. Buatlah file class dengan nama eksepsiTrycatchbanyak.java pada folder eksepsi pada
projek Praktikum03, kemudian jangan lupa menyertakan main method pada file class
tersebut.
42
2. Pada main method ketikkan program berikut :

3. Kode program secara utuh sebagai


berikut:
4. Simpan program dan jalankan, hasilnya
sebagai berikut :
43

Penjelasan :
- Dengan Sistem banyak try..catch akan mencegat sesuai urutan try..catch yang di berikan.
Misalnya yang Lebih dahulu Dicek adalah ArrayIndeksoutofBoundsexception maka yang akan
di cek lebih dahulu adalah proses yang berurusan dengan array, walau pada dasarnya operasi
yang berjalan adalah operasi
- Jika terjadi kesalahan

= Pembagian=10/0;

System.out.println( sepeda[3]);

- Perangkap eror yang dibuat sebagai latihan di atas adalah perangkap (eksepsi) khusus atau
spesifik pada operasi tertentu.
44

Penjelasan : Program ini menjalankan


eksepsi ArithmeticException spesifik
untuk operasi aritmatika
45

D. MENGGUNAKAN
TRY..CATCH..FINALLY

Ikuti langkah-langkah berikut :


1. Buatlah file class dengan nama eksepsiTryCatchFinally.java pada folder eksepsi pada
projek praktikum03, kemudian jangan lupa menyertakan main method pada file class
tersebut.
46
2. Pada main method Ketikan program berikut :
47
3. Kode program secara utuh sebagai berikut:
48

Lalu simpan program dan jalankan hasilnya sebagai berikut :

Awas! Ada kesalahan akses alamat memori

finally : tetap dikerjakan

Penjelasan : Walaupun perangkat kesalahan telah ditampilkan, akan tetapi blok finally tetap
dikerjakan
49

Praktikum 3.3
Review Algoritma, Flowchart dan

Kode program
50

 
A. MENGHITUNG TOTAL DATA YANG DIMASUKKAN DARI KEYBOARD
1. Penyelesaian yang tidak optimal
Penyelesaian dikatakan tidak optimal karena harus menginput data satu persatu sebagai contoh disini kita akan membuat inputan nilai 1
sampai 5 lalu kemudian dijumlahkan.
 
a. Pseocode 
1. Mulai 8. Masukkan nilai a3
2. Deklarasikan Variabel a1,a2,a3,a4,a5,a6,at
15. Cetak at
3. Inisiasi at 9. Masukkan nilai a4
4. Masukkan nilai a1 16. Selesai

10. Masukkan nilai a5


5. Masukkan nilai a2

11. Masukkan nilai a6

50
51

A. MENGHITUNG TOTAL DATA YANG DIMASUKKAN DARI KEYBOARD

 
1. Penyelesaian yang tidak optimal
b. Flowchart

51
52

A. MENGHITUNG TOTAL DATA YANG DIMASUKKAN DARI KEYBOARD

 
1. Penyelesaian yang tidak optimal
c. Kode Program

52
53

A. MENGHITUNG TOTAL DATA YANG DIMASUKKAN DARI KEYBOARD

2. Penyelesaian yang optimal


Dalam penyelesaian optimal kita hanya menggunakan 2 variabel saja gunanya adalah untuk
mempersingkat alur dari penjumlahan tersebut agar terlihat lebih sederhana.
a. Pseocode
  Jika dipersingkat lagi:
1. Mulai  
2. Deklarasikan Variabel a1, at
1. Mulai
3. Inisiasi at
2. a1, at
4. For(
3. Inisiasi at
5. Cetak at
6. Selesai 4. For(
5. Cetak at
6. Selesai

53
54

A. MENGHITUNG TOTAL DATA YANG DIMASUKKAN DARI KEYBOARD


2. Penyelesaian yang optimal
b. Flowchart
Berikut flowchart menghitung 5 angka dengan menggunakan perulangan

54
55

A. MENGHITUNG TOTAL DATA YANG DIMASUKKAN DARI KEYBOARD

2. Penyelesaian yang optimal


c. Kode program

Pada kode program diatas menggunakan perulangan for jadi hasil keluaranya sama saja dengan kode program yang pertama.

55
56

A. MENGHITUNG TOTAL DATA YANG DIMASUKKAN DARI KEYBOARD

3. Kesimpulan

Algoritma Tak Optimal Optimal

Pseucode 17 baris 6 baris


Flowchart 17 Simbol 8 Simbol
Kode Program 27 baris 13 baris

Keluaran At =21 At =21

56
57

B. BUBBLE SORT (PERULANGAN DAN SELEKSI)


Buble Sort adalah algoritma pengurutran data yanga menempatkan data terbesar pada bagian bawah setiap tahap.
Untuk menghasilkan nilai urut maka yang harus dilakukan adalah :
 
1. Melakukan perulangan dalam perulangan (anggaplah perulangan luar dengan perulangan1 dan perulangan
dalam disebut dengan perulangan2), apakah itu for dalam for, for dalam while atau while dalam whileatau
perulangan lainnya.
2. Untuk perulangan pada perulangan1 hanya akan mengulang sebanyak n data
3. Dalam tubuh perulangan perulangan2 akan berulang sebanyak n-1 data dan perulangan2 akan diulang selama
n perulangan, kemudian dibuat penyeleksian antar data, missal dalam data1 dan data2, jika data2 lebih besar
dari data1 maka nilai data1 ditukar dengan data2 begitu seterusnya.

57
58

B. BUBBLE SORT (PERULANGAN DAN SELEKSI)

Skema yang dibuat diatas, dengan 4 tahap sudah mengurutkan data dengan semprna, jika digambarkan maka
terdapat 4 kali perulangan mengerjakan 1 tahap.
59

B. BUBBLE SORT (PERULANGAN DAN SELEKSI)

Pola perulangan1 n dan perulangan


n-1 ini akan berlaku umum untuk
perulangan for pada sebuah
pengurutan data, artinya jika data
array 5 maka akan berlaku
perulangan1 5 dan perulangan2 5-1

59
60

B. BUBBLE SORT (PERULANGAN DAN SELEKSI)

Berikut gambar ilustrasi pegurutan untuk perulangan pertama untuk for luar dengan
ilustrasi untuk for dalam sebagai berikut:

60
61

B. BUBBLE SORT (PERULANGAN DAN SELEKSI)

61
62

B. BUBBLE SORT (PERULANGAN DAN SELEKSI)

a. Pseocode Bubble Sort 

62
63

B. BUBBLE SORT (PERULANGAN DAN SELEKSI)


b. Flowchart Bubble Sort 

63
64

B. BUBBLE SORT (PERULANGAN DAN SELEKSI)

b. Kode Program Bubble Sort 

64
65

C. SELECTION SORT
Selection Sort adalah algoritma pengurutan data dengan sangat sederhana, algoritma berjalan
dimulai dengan menemukan nilai terkecil dalam kumpulan nilai data elemen, kemudian menukarnya
dengan elemen pada posisi pertama, kemudian algoritma ini akan mengulangi dengan mencari
terkecil kedua dan menukarnya dengan elemen kedua, hingga menemukan urutan yang benar.

Contoh Anggaplah kita memiliki data awal sebagai berikut:

65
66

C. SELECTION SORT
Proses Tahap 1 adalah menemukan
Proses Tahap 2 adalah menemukan
nilai terkecil pada data awal
nilai terkecil pada data hasil Tahap 1
dengan dimulai dari indeks 0
dengan dimulai dari indeks 1 sebagai
sebagai berikut:
berikut:

66
67

C. SELECTION SORT
Proses Tahap 3 adalah menemukan
nilai terkecil pada data hasil Tahap
2 dengan dimulai dari indeks 2 Proses Tahap 4 adalah menemukan nilai
sebagai berikut: terkecil pada data hasil Tahap 3 dengan
dimulai dari indeks 3 sebagai berikut:

67
68

C. SELECTION SORT
Proses Tahap 5 adalah menemukan nilai terkecil
pada data hasil Tahap 3 dengan dimulai dari
indeks 4 sebagai berikut:

68
69

C. SELECTION SORT
Catatan: Jika pada kondisi tertentu menemukan elemen sudah lebih kecil dari
pembanding, maka proses pertukaran sudah tidak dilakukan lagi. Jika
dirampingkan pertukarannya maka menghasilkan sebagai berikut:

69
70

C. SELECTION SORT
Kerangka dasar dari perulangan untuk Selection Sort sebagai
berikut :

70
71

C. SELECTION SORT
Jika terdapat 5 elemen array maka akan selalu ada 4 perulangan. Struktur
perulangannya sebagai berikut :

71
72

C. SELECTION SORT
a. Pseocode Selection Sort 

72
73

C. SELECTION SORT
b. Flowchart Selection
Sort 

73
74

C. SELECTION SORT
b. Kode Program Selection Sort 

74
75

D. INSERTION SORT
Insertion Sort adalah algoritma pengurutan data dengan sangat sederhana,
membandingkan dua elemen data pertama, mengurutkannya, kemudian dilakukan
pengecekan elemen data berikutnya satu per satu dan membandingkan data yang
telah diurutkan.

Data awal:

75
76

D. INSERTION SORT
a) Perulangan Tahap 1: b) Perulangan Tahap 2:

Keterangan:
Keterangan: 1. Nilai pada indeks 2 dibadingkan dengan
1. Nilai pada indeks I dibandingkan indeks 0 dan 1
dengan indeks 0
2. Nilai pada indeks 2 lebih kecil dari
2. Nilai pada indeks 1 lebih kecil dari indeks 0 dan 1, karena itu:
indeks 0, karena itu nilai indeks • Nilai indeks 2 → indeks 0
ditukar posisi dengan nilai indeks 1. • Nilai indeks 0 → indeks 1
• Nilai indeks 1→ indeks 2
76
77
D. INSERTION SORT
c) Perulangan Tahap 3: d) Perulangan Tahap 4:

Keterangan:
Keterangan:
1. Nilai indeks 3, dibandingkan dengan nilai
1. Nilai indeks 4, dibandingkan dengan nilai indeks 0, 1, 2,
indeks 0, 1,2,3.
3,
2. Nilai pada indeks 4 lebih kecil dari indeks 1, 2, 3 dan 4,
2. Nilai pada indeks 3 lebih kecil dari
karena itu:
indeks 1 dan 2 akan tetapi lebihbesar dari
• Nilai indeks 4→ indeks 0
indeks 0, karena itu:
• Nilai indeks 0 → indeks 1
• Nilai indeks 3→ indeks 1
• Nilai indeks 1 → indeks 2
• Nilai indeks 1 → indeks 2
• Nilai indeks 2→ indeks 3
• Nilai indeks 2 → indeks 3
• Nilai indeks 3→ indeks 4
• Nilai indeks 0 tetap
77
78

D. INSERTION SORT
Kerangka dasar dari perulangan for untuk
e) Perulangan Tahap 5:
Insertion Sort hampir sama dengan Bubble
Sort, yang membedakan adalah beberapa
kondisi yang tentu sangat berbeda, kerangka
sebagai berikut:

78
79

D. INSERTION SORT
Jika terdapat 5 elemen array maka akan selalu ada 4 perulangan. jika dibuat
struktur perulangannya sebagai berikut:

79
80

D. INSERTION SORT
a. Pseocode Insertion Sort 

80
81

D. INSERTION SORT

b. Flowchart Insertion Sort 

81
82

D. INSERTION SORT

c. Kode Program Insertion Sort 

82
THANKS!
Any questions?

83

Anda mungkin juga menyukai