0% menganggap dokumen ini bermanfaat (0 suara)
138 tayangan

Modul Array Dimensi 1

Dokumen tersebut membahas tentang pengenalan array dalam pemrograman terstruktur. Array merupakan tipe data yang dapat menyimpan banyak nilai dalam satu variabel, sehingga lebih efisien dibandingkan menyimpan nilai secara terpisah. Dokumen tersebut juga menjelaskan cara deklarasi, penyimpanan, dan manipulasi array satu dimensi beserta contoh-contohnya.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
138 tayangan

Modul Array Dimensi 1

Dokumen tersebut membahas tentang pengenalan array dalam pemrograman terstruktur. Array merupakan tipe data yang dapat menyimpan banyak nilai dalam satu variabel, sehingga lebih efisien dibandingkan menyimpan nilai secara terpisah. Dokumen tersebut juga menjelaskan cara deklarasi, penyimpanan, dan manipulasi array satu dimensi beserta contoh-contohnya.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 22

DDK – Pemrograman Terstruktur 1

A. Identitas Modul Materi

Elemen : Pemrograman Terstruktur

Deskripsi Elemen : Meliputi konsep atau sudut pandang pemrograman yang membagi-
bagi program berdasarkan fungsi atau prosedur yang dibutuhkan
program komputer, pengenalan struktur data yang terdiri dari data
statis (array baik dimensi, panjang, tipe data, pengurutan) dan data
dinamis (list, stack), penggunaan tipe data, struktur kontrol
perulangan dan percabangan.

Capaian : Pada akhir fase E peserta didik mampu melakukan pemrograman


Pembelajaran terstruktur, antara lain penerapan struktur data yang terdiri dari data
statis (array baik dimensi, panjang, tipe data, pengurutan) dan data
dinamis (list, stack), penggunaan tipe data, struktur kontrol
perulangan dan percabangan pada proyek pengembangan perangkat
lunak sederhana dan gim.

Materi /Topik : Struktur Data Statis Array

Kelas/Semester : X RPL / 2

Fase : E

B. Alur Tujuan : 1. Siswa mampu mendeklarasikan array 1 dimensi dalam bahasa


Pembelajaran pemrograman java (Pertemuan 1)
2. Siswa mampu memanipulasi array 1 dimensi dalam bahasa
pemrograman java (Pertemuan 1)
3. Siswa mampu mengurutkan isi array 1 dimensi dalam bahasa
pemrograman java (Pertemuan 1)

C. Kompetensi : Sebelum memulai belajar dengan modul ini peserta didik harus
Awal memahami pemrograman dengan bahasa C++, mulai dari tipe
data, variabel, nilai, operator, percabangan, perulangan dan array.

D. Profile Pelajar Pancasila

DDK – Pemrograman Terstruktur 1


Mandiri : Mengemukakan pendapat pada saat diskusi dan praktikum

Kreatif : Membuat presentasi hasil diskusi

Berpikir kritis : • Berpikir kritis dalam menganalisis permasalahan mengenai


pengurutan array, penyimpanan list dan stack
• Mengevaluasi penalaran.

E. Sarana dan : 1. Laptop/Komputer


Prasarana 2. Proyektor.
3. Lab. Komputer/Ruang Kelas
4. Jaringan internet
5. Power Point (PPT)
6. Buku algoritma dan pemrograman bahasa C++ dan media
pendukung lainnya

1. Pengenalan Array

Jasmin adalah salah satu anggota peserta dari kursus bahasa jepang di sebuah lembaga. Dalam
satu minggu (hari senin-sabtu) Jasmin akan melaksanakan test ujian. Setiap harinya Jasmin
akan mendapatkan nilai. Bagaimana caranya jika nilai tersebut ingin Jasmin simpan dalam
sebuah program?

Tentunya dengan menuliskan variabel dan isi dari variabel tersebut. Misalnya hari ke satu
Jasmin mendapatkan nilai 94, maka ditulis dalam program int nilai_hari1 = 94; lalu jika hari
ke dua ia mendapatkan nilai 87, maka ditulis dalam program int nilai_hari2 = 87;. Jika ingin
menyimpan semua nilai dari hari senin sampai sabtu, maka bisa mendeklarasikan sebagai
berikut:

int nilai_hari1 = 94;


int nilai_hari2 = 87;
int nilai_hari3 = 90;
int nilai_hari4 = 88;
int nilai_hari5 = 82;
int nilai_hari6 = 99;

DDK – Pemrograman Terstruktur 2


Jika Jasmin akan di test ujian lagi pada minggu berikutnya, maka Jasmin harus menambahkan
tipe data kembali. Lalu misalnya, bagaimana jika Jasmin memiliki 1000 nilai apakah ia akan
menyimpannya 1000 tipe data tersebut dalam sebuah program?
Tentu saja hal tersebut dapat dilakukan tetapi sangat tidak efektif. Dalam sebuah pemrograman
terdapat tipe data yang dapat menyimpan banyak nilai dalam suatu variabel, dinamakan Array.
Dalam masalah Jasmin, ia dapat menyimpan nilai-nilai hasil ujian test tersebut dalam sebuah
penyimpanan array.
Array merupakan tipe data yang dapat menyimpan banyak nilai dalam satu variabel.

Perhatikan tabel dibawah ini yang merupakan perbedaan penggunaan array dan tidak
menggunakan array:
Menggunakan array Tidak menggunakan array
//menyimpan data //menyimpan data
int[] nilai = new int[5]; int nilai1 = 97;
int nilai2 = 80;
int nilai3 = 85;
int nilai4 = 81;

Adapun ciri-ciri dari array:


• Kumpulan data bertipe sama dan menggunakan nama yang sama
• Antara satu variabel dengan variabel lain didalam array dibedakan berdasarkan subcript
• Subcript adalah berupa bilangan di dalam kurung siku [...]
• Melalui subcript elemen array dapat diakses
• Elemen array tidak lain adalah masing-masing variabel di dalam array
• Elemen-elemen yang terkandung pada Array dapat diakses menggunakan index array.
Index array secara otomatis dimulai dari angka 0. Ketika ingin menampilkan elemen pada
array, kita cukup memanggil nama array diikuti indexnya.
Perhatikan gambar dibawah ini!

Gambar 6. Baju di Toko

DDK – Pemrograman Terstruktur 3


(Sumber: https://artikel.rumah123.com/ )

Mengapa baju yang ada di toko baju disimpan berdasarkan jenisnya?

Gambar 7. Buku di Perpustakaan


(Sumber: https://deepublishstore.com/ )

Apakah di perpustakaan buku disimpan berdasarkan jenisnya? Mengapa harus disimpan


berdasarkan jenisnya?

Ilustrasi diatas sama halnya seperti fungsi array dalam pemrograman, dimana mudah untuk
dicari karena kita bisa mencari berdasarkan jenisnya dan menghemat banyak waktu apabila
kita ingin menyimpan atau mengakses.

2. Deklarasikan Array 1 Dimensi

Array 1 dimensi -> kumpulan atau sekelompok data yang memiliki nama variabel dan tipe data
yang sama. Array 1 dimensi hanya bisa diakses dengan satu buah indeks.

Penulisan array 1 dimensi:


// cara pertama
String [] nama;

// cara kedua
String nama [];

// cara ketiga dengan kata kunci new


String [] nama = new String [5];

DDK – Pemrograman Terstruktur 4


Berikut ini adalah contoh pendeklarasian tipe data array (C++) yang benar:

• int [] deretNilai= new int [100]; //tipe data berbentuk integer dan memesan
100 alamat
• float [] nilaisiswa = {3.2, 3.6, 2.9, 3.0}; //tipe data berbentuk float
dan memesan 4 alamat, lalu menulis isi array 3.2 berada di indeks ke 0
• char [] namaMhs = {'b','u','d','i'}; //membuat variabel array dengan tipe
data char tetapi disini belum diketahui jumlah indeks yang diinginkan tetapi boleh
mengisi array

Berikut ini adalah contoh pendeklarasian tipe data array (C++) yang salah:

• int nilai(10); //tidak boleh menggunakan tanda kurung biasa


• char nama{15}; //tidak boleh menggunakan tanda kurung kurawal
• int ukuran(); //tidak boleh menggunakan tanda kurung biasa
• float rerata{ }; //tidak boleh menggunakan tanda kurung kurawal
• string absen < >; // tidak boleh menggunakan tanda kurung sudut
• int gaji[5] = (34, 50, 100, 40, 70); //pengisian array tidak bisa
menggunakan tanda kurung biasa
• char nama[4] = [‘a’,’n’,’d’,’i’]; //pengisian array tidak bisa mengguanakan
tanda kurung siku tetapi harus kurung kurawal

Penyimpanan array 1 dimensi pada indeks:


int angka [5] = {1, 2, 3, 4, 5};

• Value array diatas adalah 1, 2, 3, 4, dan 5 dalam memori pemrogramannya angka 1


berada di indeks ke 0, angka 2 berada di indeks ke 1 dan seterusnya.
Contoh lain dari penyimpanan array 1 dimensi:

DDK – Pemrograman Terstruktur 5


• Value array diatas adalah a, r, d, a, dan n dalam memori pemrogramannya huruf a berada
di indeks ke 0, huruf b berada di indeks ke 1 dan seterusnya.
Latihan Soal
Vira sedang belajar berwirausaha disekolahnya dan mencoba untuk berjualan keripik.
Setiap harinya ia membawa 50 keripik kesekolah. Vira sekolah dari hari senin-jumat. Vira
ingin membuat penyimpanan jumlah data keripik yang terjual setiap harinya selama satu
minggu sekolah, tipe data apa yang harus digunakan Vira? Serta bagaimana cara
mendeklarasikan tipe datanya?

3. Manipulasi array 1 dimensi

Contoh yang lain adalah Ibu Nindi ingin menyimpan nilai yang isinya adalah bilangan
bulat. Ibu Nindi bisa saja membuat satu variabel dan satu value (seperti tabel dibawah ini kolom
program yang tidak menggunakan array) tetapi jika ibu Nindi memiliki 1000 angka bilangan
bulat apakah tidak lelah membuatnya? Maka dari itu array menjadi solusi tempat penyimpanan
data yang satu jenis. Array yang Ibu Nindi butuhkan dalam hal ini adalah array 1 dimensi.
Perhatikanlah tabel dibawah ini. Kita bisa membandingkan lebih simple yang menggunakan
array dibanding menyimpannya secara satu persatu.

Menggunakan array Tidak menggunakan array


//menyimpan data //menyimpan data
int [] nilai = {10, 20, 30, 40}; int nilai1 = 10;
int nilai2 = 20;
int nilai3 = 30;
int nilai4 = 40;
//menampilkan data array //menampilkan data array
for (int idx = 0; idx < 4; idx++) { System.out.println(nilai1);
System.out.print(nilai[idx]); System.out.println(nilai2);

DDK – Pemrograman Terstruktur 6


} System.out.println(nilai3);
System.out.println(nilai4);
1. Perhatikan pseudocode dibawah ini:
PROGRAM:
Menyimpan_NilaiBulat
{Program yang menyimpan 5 bilangan bulat, membaca dan mencetaknya}
DEKLARASI:
ARnilai: array [0..4] of integer
i = integer
ALGORITMA:
for i ← 0 to 4 do
write(x[i])
end for
Jika dituliskan dalam bahasa c++ silahkan ikuti dalam komputer/ponsel dan pahami
kode penyimpanan array 1 dimensi berikut ini:

public class latihan_arraysatudimensi5 {


public static void main(String args[]) {
int[] nilai = { 8, 4, 5, 10, 2 };

for (int i = 0; i < nilai.length; i++) {


System.out.println(nilai[i]);
}
}
}
Berikut adalah ouput yang dihasilkan:

2. Perhatikan pseudocode dibawah ini:


PROGRAM:
Mengisi_NilaiBulat
{Program yang mengisi 5 bilangan bulat, menyimpan, membaca dan mencetaknya}
DEKLARASI:

DDK – Pemrograman Terstruktur 7


ARnilai: array [0..4] of intefer
i = integer
ALGORITMA:
for i ← 0 to 4 do
read(x[i])
end for

for i ← 0 to 4 do
write(x[i])
end for

Silahkan ikuti dalam komputer/ponsel dan pahami kode penyimpanan array 1 dimensi
berikut ini:

import java.util.Scanner;

public class latihan_arraysatudimensi6 {


public static void main(String args[]) {
int[] nilai = new int[100];
int i;

Scanner input = new Scanner(System.in);


System.out.print("Masukan jumlah array: ");
int n = input.nextInt();

for (i = 0; i < n; i++) {


System.out.print("Masukkan array ke-" + (i + 1) + "= ");
nilai[i] = input.nextInt();
}

for (i = 0; i < n; i++) {


System.out.println("Nilai ke " + (i + 1) + "= " + (nilai[i]));
}
}
}

Berikut adalah ouput yang dihasilkan:

DDK – Pemrograman Terstruktur 8


Latihan Soal
Pada tahun ini Ibu Susi ingin memulai menyimpan data siswa yang mengikuti seleksi
basket dan lolos ke tingkat kota. Tahun ini terdapat 7 orang yang lolos yaitu Randi,
Joseph, Stevan, William, Michel, Asep dan Didan. Bagaimana kode yang tepat untuk
menyimpan data dan memanggil semua data siswa yang lolos ke tingkat kota dan juga
sesuai dengan index yang diinginkan?

4. Mengurutkan Array 1 Dimensi


Perhatikan gambar berikut ini!

Gambar 8. Sekumpulan Anak


(Sumber: https://katadata.co.id/)
• Terdapat sekumpulan siswa yang memiliki tinggi badan yang berbeda-beda. Suatu saat ibu
guru ingin mengetahui tinggi badan yang terpendek, tinggi badan yang tertinggi, dan rata-
rata tinggi badan siswa. Agar ibu guru dapat mengetahui secara cepat dan tidak salah, apa
yang harus ibu guru lakukan?
• Jawabannya adalah dengan mengurutkan semua tinggi badan siswa, lalu ibu guru akan
mudah menemukan berapa tinggi badan yang terpendek dan tinggi badan yang tertinggi.

DDK – Pemrograman Terstruktur 9


Pengurutan (sorting) dalam pemrograman adalah proses mengatur sekumpulan objek

menurut urutan atau susunan tertentu. Urutan objek tersebut dapat menaik

(ascending), yaitu urutan objek yang disusun mulai dari Nilai terkecil hingga terbesar

atau menurun (descending), yaitu urutan objek yang disusun mulai dari Nilai terbesar

hingga terkecil.

Jika N buah objek atau data disimpan di dalam array Nilai, maka pengurutan menaik berarti
menyusun elemen array sedemikian sehingga:
NILAI [0] ≤ NILAI [1] ≤ NILAI [2] ≤ … ≤ NILAI[N-1]
Sedangkan pengurutan menurun berarti menyusun elemen array sedemikian sehingga:
NILAI [0] ≥ NILAI [1] ≥ … ≥ NILAI [N-1]
Data yang diurut dapat berupa data bertipe data dasar atau tipe data bentukan. Jika data bertipe
bentukan (structure), maka harus disebutkan berdasarkan field apa data tersebut akan
diurutkan. Beberapa metode (algoritma) yang dapat digunakan untuk membuat program
pengurutan antara lain:
1. Bubble Sort 6. Shell Sort
2. Selection Sort 7. Radix Sort
3. Quick Sort 8. Tree Sort
4. Merge Sort 9. Maximum Sort
5. Heap Sort 10. Insertion Sort

1. Bubble Sort
Bubble Sort adalah metode yang membandingkan elemen yang sekarang dengan elemen-
elemen berikutnya. Pembandingan elemen dapat dimulai dari awal atau mulai dari paling akhir.
Apabila elemen yang sekarang lebih besar (untuk urut menaik) atau lebih kecil (untuk urut
menaik) dari elemen berikutnya, maka posisinya ditukar, tetapi jika tidak maka posisinya tetap.
Contoh: Misalkan kita mempunyai array 1 dimensi Nilai sebanyak 8 elemen akan diurutkan
secara menaik dengan metode Bubble Sort: 25, 71, 30, 45, 20, 15, 6, 50. Urutan langkah
pengurutannya yang dimulai dari belakang seperti berikut merupakan prosesnya:

DDK – Pemrograman Terstruktur 10


Pseudocode untuk algoritma bubble sort:
PROGRAM:
BubbleSort (input/output dataArray, input n: integer)
{Mengurutkan array data[i] sehingga terurut menurun dengan algoritma bubble sort}
DEKLARASI:
data1, data2: integer (untuk penyimpanan array)
n: integer (untuk angka yang diinginkan user)

DDK – Pemrograman Terstruktur 11


ALGORITMA:
for i ← 1 to n – 1 do
for k ← n down to I + 1 do
if L[k] > L[k-1] then
Tukar(L[K], L[k-1]) {pertukaran L[K] dengan L[k-1]}
end if
end for
end for
{element sudah terurut}
Silahkan untuk mengikuti algoritma bubble sort dibawah ini!
import java.util.Scanner;

public class latihan_sortingsatudimensi {


public static void main(String[] args) {
int jumlah, i, j, swap;
Scanner scan = new Scanner(System.in);

System.out.print("Masukkan Jumlah Bilangan Yang Mau DiInputkan:");


jumlah = scan.nextInt();

int array[] = new int[jumlah];

System.out.println("\nMasukkan " +jumlah+ " Buah Bilangan Integer");


System.out.println("===========================================");
for (i = 0; i < jumlah; i++) {
System.out.print("Bilangan Ke- " + (i + 1) + " =");
array[i] = scan.nextInt();
}

System.out.println("\nBilangan Belum Terurutnya");


for (int a = 0; a < jumlah; a++) {
System.out.print(array[a] + " ");
}

for (i = 0; i < (jumlah - 1); i++) {


for (j = 0; j < jumlah - i - 1; j++) {
if (array[j] > array[j + 1]) {
swap = array[j];
array[j] = array[j + 1];
array[j + 1] = swap;
}
}
}

DDK – Pemrograman Terstruktur 12


System.out.println("\n\nBilangan Terurutnya adalah :");
for (i = 0; i < jumlah; i++)
System.out.print(array[i] + " ");
}
}

Output yang akan dihasilkan:

2. Selection Sort
Selection sort merupakan kombinasi antara sorting dan searching. Pengertian dari
selection sort adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui,
dan meletakkannya di posisi tersebut setelah data tersebut ditemukan. Selection Sort
membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen
yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat
posisinya dan kemudian ditukar. Perhatikan proses pengurutan angka dengan menggunakan
selection sort dibawah ini!
Nilai Awal:

Pengecekan dimulai dari indeks pertama:

DDK – Pemrograman Terstruktur 13


DDK – Pemrograman Terstruktur 14
DDK – Pemrograman Terstruktur 15
DDK – Pemrograman Terstruktur 16
DDK – Pemrograman Terstruktur 17
DDK – Pemrograman Terstruktur 18
Nilai setelah di sorting:

Perhatikan pseudocode algoritma selection sort dibawah ini:


PROGRAM:
SelectionSort (input/output DataArray, input n: integer)
{Mengurutkan elemen array Data[1..n] sehingga tersusun menaik dengan algoritma
selection sort}
DEKLARASI:
i: integer {pencacah untuk pass}
j: integer {pencacah untuk mencari nilai minimum}
pos: integer {untuk menyimpan nilai minimum sementara}
tukar: integer {peubah untuk pertukaran}

DDK – Pemrograman Terstruktur 19


ALGORITMA:
for i ← 1 to n – 1 do {jumlah pass sebanyak n – 1 kali}
{cari elemen minimum di dalam DataArray[1..n] }
pos ← i {elemen pada indeks ke-i diasumsikan sebagai elemen minimum sementara}
for j i + 1 to n do
if DataArray[j] < DataArray[pos] the
tukar j
end if
end for
{pertukaran elemen minimum, DataArray[pos] dengan DataArray[i]}
temp ← DataArray[i]
DataArray[i] ← DataArray[pos]
DataArray[pos] ← temp
end for

Silahkan untuk mengikuti kode program pengurutan dengan algoritma selection sort dibawah:
import java.util.Scanner;

public class latihan_sortingselectionsatudimensi {


public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Banyak data : ");
int N = in.nextInt();
int data[] = new int[N];
for (int i = 0; i < N; i++) {
System.out.print("data ke-" + (i + 1) + " : ");
data[i] = in.nextInt();
}
// prose isertion sort
for (int i = 1; i < data.length; i++) {
int key = data[i];
int j = i;
while (j > 0 && data[j - 1] > key) {
data[j] = data[j - 1];
j--;
}
data[j] = key;
}
// hasil pengurutan
System.out.print("Data yang telah urut : ");
for (int i = 0; i < data.length; i++) {

DDK – Pemrograman Terstruktur 20


System.out.print(data[i] + " ");
}
System.out.println();

}
}

Output yang akan dihasilkan:

Daftar Pustaka:
- Kadir, Abdul. (2014). Buku Pertama Belajar Pemrograman Java Untuk Pemula.
Yogyakarta: Mediakom.
- Jando, Paskalis., (2018). Algoritma. & Pemrograman dengan Bahasa Java. Yogyakarta:
Andi (Anggota. KPAI)
- Munir, R. (2011). Algoritma dan Pemrograman dalam Bahasa Pascal dan C. (Edisi
Revisi). Bandung: Informatika Bandung.
- Rosa, A. S. (2018). Logika Algoritma dan Pemrograman Dasar. Bandung: Modula.
- Soetam, Rizky., 2011, Konsep Dasar Rekayasa Perangkat Lunak. Jakarta: Prestasi
Pustaka.

DDK – Pemrograman Terstruktur 21

Anda mungkin juga menyukai