Struktur Data Modul
Struktur Data Modul
JOB SHEET 1
Nama Mahasiswa : ________________________
Kelas/Semester : ... / III
Program Studi : Teknik Informatika
Judul Job Sheet : Array
Unit Kompetensi : Struktur Data Dasar
Job Sheet ke- :
I. Tujuan Pembelajaran
a. Menjelaskan struktur data dan konsep dasarnya
b. Menjelaskan struktur data sederhana array
II. Indikator Ketercapaian
a. Mahasiswa dapat memahami konsep array
b. Mahasiswa dapat menerapkan konsep array dalam sebuah program di Java
III. Dasar Teori
Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan
dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karena
array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak
dan
terindeks. Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya,
dimana elemen pertamanya dimulai dari indeks 0, elemen kedua memiliki indeks 1, dan
seterusnya.
A. Mendeklarasikan Variabel Array
Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan cara yang hamper
sama dengan variabel biasa. Misalnya untuk mendeklarasikan variabel bertipe integer, dapat
dilakukan dengan cara :
int[] bilangan; atau int bilangan[];
Jadi perbedaan utama pendeklarasian variabel array dengan variabel biasa adalah
adanya tanda kurung [ ] di akhir tipe data atau di akhir nama variabel array. Pada tahap
pendeklarasian
variabel array ini belum ada alokasi memori untuk menyimpan data.
B. Mendefinisikan Array
Setelah mendeklarasikan array, kita perlu mendefinisikan array, dalam arti menentukan besar
array yang diinginkan. Misalnya dengan cara :
bilangan = new int[5];
Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau mengecil
ukurannya setelah didefinisikan. Setelah didefinisikan, maka variabel dengan nama bilangan
dapat menyimpan 5 nilai integer yang dapat diakses melalui indeks 0 sampai indeks 4.
Setelah pendefinisian array, maka memori akan dialokasikan untuk menyimpan data dari
array. Besar memori yang dialokasikan tergantung dari tipe data variabel array dan jumlah
elemen array yang didefinisikan.
Latihan 1. SingleArray.java
Output:
IV. Langkah Kerja
a. Buka Java IDE.
b. Buat algoritma+flowchart untuk setiap job dibawah ini.
c. Buat project java dengan nama kelas sesuai dengan
NamaMahasiswa_Jobsheet1_Array , dan untuk setiap soal buat java class baru dengan
format: Jobsheet1_Soaln
contoh: nama mahasiswa bejo, Job ke satu, maka nama kelasnya B_Jobsheet_Array
untuk soal pertama nama java class nya berarti Soal1
1. Buatlah program untuk memasukkan n buah nilai dalam array integer dan kemudian.
Tampilkan kembali data-data array tersebut, jumlah totalnya dan rata-rata-nya!
2. Buatlah program untuk menganalisa sebuah string inputan yang diinputkan oleh user
dan kemudian tampilkan:
• Berapa jumlah karakter yang berupa karakter vokal (a,i,u,e,o)
• Berapa jumlah karatker yang non vokal dan karakter-karakter lainnya
3. Kembangkan soal 3 untuk menghitung berapa jumlah vokal “A“, “I“, “U“, “E“, dan
“O“ masing-masing!
4. Buatlah program untuk membalik kata, misalnya kata “anton“ akan menjadi “notna“
dengan menggunakan char array!
5. Buatlah program untuk menyalin isi array A ke array B yang kosong dengan jumlah
elemen sama. Ilustrasinya:
Array: int A[5]; Array: int B[5];
Indeks Indeks
01234 01234
Nilai Nilai
5 10 6 0 4 _____
Kemudian array B akan berisi sama dengan isi array A:
Array: int B[5];
Indeks
01234
Nilai
5 10 6 0 4
6. Kembangkan soal 5, dimana array B akan berisi elemen-elemen array A tapi dengan
posisi terbalik, data pertama di array A akan berada di data terakhir di array B!
Array: int B[5];
Indeks
01234
Nilai
4 0 6 10 5
7. Kembangkan soal no-5, elemen B diisi dengan data yang dari array A yang nilainya
berupa bilangan genap dan lebih besar dari nol pada indeks yang sama dengan array
A!
Array: int B[5];
Indeks
01234
Nilai
_ 10 6 _ 4
8. Kembangkan soal no-7 dimana array B akan diisi dengan data dari array A yang
nilainya berupa bilangan genap, lebih besar dari nol, tapi indeksnya berurutan!
Array: int B[5];
Indeks
01234
Nilai
10 6 4 _ _
JOB SHEET 2
I. Tujuan Pembelajaran
a. Menjelaskan struktur data sederhana array dua dimensi
II. Indikator Ketercapaian
a. Mahasiswa dapat memahami konsep array dua dimensi
b. Mahasiswa dapat menerapkan konsep array dua dimensi dalam sebuah program di
Java
III. Dasar Teori
Pada array satu dimensi, digunakan sebuah index untuk menyimpan satu set element.
Sedangkan pada array dua dimensi, digunakan dua index untuk menyimpan datanya. Array
dua dimensi dapat dianalogikan sebagai sebuah tabel yang terdiri dari baris dan kolom,
dimana setiap elemen dari array adalah interseksi antara baris dan kolom. Java
mengimplementasikan array dua dimensi sebagai sebuah array of arrays, yang berarti setiap
elemen dari array adalah sebuah array.
A. Rectangular array
Pada rectangular array, setiap baris memiliki jumlah kolom yang sama. Sebagai contoh, pada
sebuah rectangular array 5x10, terdiri dari 5 elemen (sebagai baris), dimana di setiap elemen
tersebut terdiri dari 10 elemen (sebagai kolom). Perhatikan contoh berikut untuk
mendeklarasikan dan inisialisasi array 3x2 (3 baris, 2 kolom).
Sintaks:
Contoh:
Seperti halnya pada array satu dimensi, untuk memberi atau mengakses nilai pada setiap
elemen bisa digunakan indeks dari elemen tersebut dengan menggunakan sintaks sebagai
berikut:
Contoh kode untuk memberi nilai pada setiap indeks pada array di atas:
Contoh kode untuk mendeklarasikan dan meng-inisiasi array 3x2 dalam satu statement:
B. Jagged Array
Jagged array adalah array dua dimensi dimana setiap baris dari array tersebut memiliki
jumlah kolom yang tidak sama / berbeda-beda. Perhatikan pada ilustrasi gambar diatas.
IV. Langkah Kerja
a. Buka Java IDE.
b. Buat algoritma+flowchart untuk setiap job dibawah ini.
c. Buat project java dengan nama kelas sesuai dengan
NamaLengkapMahasiswa_Jobsheet2_Array2D , dan untuk setiap soal buat java
class baru dengan format: Jobsheet2_NamaPendek_Soaln
contoh: nama mahasiswa Sarah Job ke satu, maka nama projectnya
Sarah_Jobsheet2_Array2D
untuk soal pertama nama java class nya berarti Jobsheet2_Sarah_Soal1
1. Buat sebuah program untuk menginputkan suatu array multidimensi (tidak harus
rectangular) dan menampilkan isinya!
Ilustrasi output:
==== PROGRAM ARRAY MULTIDIMENSI ====
Masukkan jumlah baris array: 2
Masukkan jumlah kolom array: 2
Masukkan elemen matriks baris 0 kolom 0 : 1
Masukkan elemen matriks baris 0 kolom 1 : 2
Masukkan elemen matriks baris 1 kolom 0 : 3
Masukkan elemen matriks baris 1 kolom 1 : 1
Data yang Anda masukkan adalah:
12
34
2. Buat sebuah program untuk menjumlahkan dua buah matriks, dimana ordo matriks
dan elemen dari matriks diinputkan oleh user melalui keyboard! Ingat syarat
penjumlahan matriks!
3. Buat sebuah program untuk perkalian dua buah matriks, dimana ordo matriks dan
elemen dari matriks diinputkan oleh user melalui keyboard! Ingat syarat perkalian
matriks!
JOB SHEET 3
I. Tujuan Pembelajaran
a. Menjelaskan konsep pengurutan data
b. Menjelaskan konsep bubble sorting
II. Indikator Ketercapaian
a. Mahasiswa dapat memahami konsep pengurutan data
b. Mahasiswa dapat menerapkan konsep bubble sorting dalam pengurutan data pada
sebuah program di Java
III. Dasar Teori
BUBBLE SORT
• Metode sorting termudah
• Diberi nama “Bubble” karena proses pengurutan secara
berangsur angsur bergerak/berpindah ke posisinya yang tepat,
seperti gelembung yang keluar dari sebuah gelas bersoda.
• Bubble Sort mengurutkan data dengan cara
membandingkan elemen sekarang dengan elemen berikutnya.
• Jika elemen sekarang lebih besar dari elemen berikutnya
maka kedua elemen tersebut ditukar, jika pengurutan ascending.
• Jika elemen sekarang lebih kecil dari elemen berikutnya,
maka kedua elemen tersebut ditukar, jikapengurutan descending
Algoritma ini seolah-olah menggeser satu persatu elemen dari kanan ke kiri atau kiri ke
kanan, tergantung jenis pengurutannya.
Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian
seterusnya.
Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada
pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.
Misal array A[] ={22,10,15,3,8,2};
Pada gambar diatas, pegecekan dimulai dari data yang paling akhir, kemudian dibandingkan
dengan data di depannya, jika data di depannya lebih besar maka akan ditukar.
Pada proses kedua, pengecekan dilakukan sampai dengan data ke-2 karena data pertama
pasti sudah paling kecil.
“The bubble sort is an easy algorithm to program, but it is slower than many other sorts”
2. Kembangkan soal nomor 1, susun program untuk menukar (swap) isi array A pada
indeks 0 dengan indeks 1, ilustrasi: (ingat algoritma tukar isi gelas)
Array A sebelum di tukar isi indeks 0 dengan indeks 1
“Selamat, anda sudah menguasai teknik buble sorting untuk pengurutan data”
5. Kembangkan program anda untuk menggunakan input data dari user (data dinamis)
“no statis”, contoh:banyaknya data dan data .
JOB SHEET 4
I. Tujuan Pembelajaran
Setelah melakukan praktikum pada jobsheet ini, mahasiswa diharapkan mampu:
a. Menjelaskan konsep dan kegunaan algoritma pengurutan
b. Menjelaskan konsep algoritma selection sort
II. Indikator Ketercapaian
Mahasiswa dapat mengimplementasikan konsep algoritma selection sorting dalam
pengurutan data pada sebuah program di Java.
III. Dasar Teori
METODE PILIH & TUKAR (SELECTION SORT)
one of the simplest sorting algorithms
Pseudo Code:
I. Tujuan Pembelajaran
a. Menjelaskan konsep exchange sort
b. Menjelaskan konsep pengurutan data menggunakan metode exchange sorting
II. Indikator Ketercapaian
a. Mahasiswa dapat memahami konsep exchange sort
b. Mahasiswa dapat menerapkan konsep exchange sorting dalam pengurutan data pada
sebuah program di Java
III. Dasar Teori
EXCHANGE SORT
Sangat mirip dengan Bubble Sort
Banyak yang mengatakan Bubble Sort sama dengan Exchange Sort
Pebedaan : dalam hal bagaimana membandingkan antar elemen-elemennya.
Exchange sort membandingkan suatu elemen dengan elemen-elemen lainnya dalam
array tersebut, dan melakukan pertukaran elemen jika perlu. Jadi ada elemen yang
selalu menjadi elemen pusat (pivot).
Sedangkan Bubble sort akan membandingkan elemen pertama/terakhir dengan elemen
sebelumnya/sesudahnya, kemudian elemen sebelum/sesudahnya itu akan menjadi
pusat (pivot) untuk dibandingkan dengan elemen sebelumnya/sesudahnya lagi, begitu
seterusnya.
Ilustrasi:
Array A
IV. Langkah Kerja
Buat Algoritma dan Flowchart untuk setiap job dibawah ini.
Buka Aplikasi Netbeans.
Buat project java class baru dengan nama Jobsheet2ExchangeSort.
Buat class baru untuk setiap job dibawah ini dengan nama class sesuai dengan format
NamaMahasiswa_ExchangeSort_NoJob
contoh: nama mahasiswa Sarah, Job ke satu, maka nama kelasnya
Sarah_ExchangeSort_1
1. Sudah ada array A satu dimensi yang dibuat dengan int A[10]. Inisialisasi isinya
dengan ilustrasi sebagai berikut:
2. Kembangkan program anda untuk menggunakan input data dari user (data dinamis)
“no statis”, (banyaknya data dan data).
JOB SHEET 6
Nama Mahasiswa : ________________________
Kelas/Semester : / III
Program Studi : Teknik Informatika
Judul Job Sheet : Insertion Sort
Unit Kompetensi : Sorting Data
I. Tujuan Pembelajaran
Setelah melakukan praktikum pada jobsheet ini, mahasiswa diharapkan mampu:
a. Menjelaskan konsep dan kegunaan algoritma pengurutan
b. Menjelaskan konsep algoritma insertion sort
II. Indikator Ketercapaian
Mahasiswa dapat mengimplementasikan konsep algoritma insertion sorting dalam
pengurutan data pada sebuah program di Java.
III. Dasar Teori
METODE PENYISIPAN (INSERTION)
• Mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil
dan disisipkan (insert) ke tempat yang seharusnya.
• Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data
yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya.
• Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang.
ILUSTRASI:
IV. Langkah Kerja
• Buat Algoritma dan Flowchart untuk setiap job dibawah ini.
• Buka Aplikasi Netbeans.
• Buat project java application baru dengan nama Jobsheet4_InsertionSort.
• Buat class baru untuk setiap job dibawah ini dengan nama class sesuai dengan format
Nama_NoSoal
contoh: nama mahasiswa Sarah, Job ke satu, maka nama kelasnya Sarah_1
1. Sudah ada array A satu dimensi yang dibuat dengan int A[10]. Inisialisasi isinya
dengan ilustrasi sebagai berikut: