Anda di halaman 1dari 120

LAPORAN AKHIR

PRAKTIKUM PEMROGRAMAN DASAR

Disusun Oleh:

NAMA : DESI PERMATASARI


NIM : 220631100036
DOSEN PENGAMPU : NURU AINI, S.Kom., M.Kom
ASISTEN : NINA NARIYONO PUTRI

PROGRAM STUDI PENDIDIKAN INFORMATIKA

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2022
LEMBAR PENGESAHAN PRAKTIKUM

PEMROGRAMAN DASAR

NAMA : DESI PERMATASARI

NIM : 220631100036

KELAS : 1B

Dengan rincian kegiatan praktikum :

No Hari / Tanggal Modul Paraf Asisten

1 Rabu, 31 Agustus 2022 Modul I

2 Rabu, 14 September 2022 Modul II

3 Rabu, 21 September 2022 Modul III

4 Rabu, 19 Oktober 2022 Modul IV

5 Rabu, 26 Oktober 2022 Modul V

6 Rabu, 09 November 2022 Modul VI

7 Rabu, 23 November 2022 Modul VII

Nilai Akhir :_________________

Mengetahui, Bangkalan,

Dosen Pengampu, Asisten Praktikum

Nuru Aini S.Kom., M.Kom Nina Nariyono Putri


NIP. 199003132019032014 NIM. 210631100110

ii
KATA PENGANTAR

Dengan memanjatkan puja dan puji syukur kehadirat Allah SWT. Karena
atas kehendak limpahan rahmat taufik serta hidayahnya saya dapat menyelesaikan
Laporan Resmi Praktikum Pemrograman Dasar. Laporan yang praktikan susun
dengan sistematis dan sebaik mungkin bertujuan untuk memenuhi praktikum mata
kuliah pemrograman dasar.

Dalam proses pengerjaan laporan akhir ini, praktikan melakukan berbagaian


macam percobaan yang tidak lupa mendapat bimbingan, arahan, dan pengetahuan
hingga praktikum dapat mampu menyelesaikan laporan akhir ini dengan baik,
maka dari itu dengan terselesaikannya laporan akhir ini praktikum mengucapkan
banyak terima kasih kepada semua pihak yang terlibat dalam penyusunan laporan
akhir ini, khususnya kepada :

1. Kepada Ibu Nuru Aini, S.Kom., M.Kom selaku dosen pengampu mata
kuliah pemrograman dasar.
2. Kepada Nina Nariyona Putri selaku asisten praktikum pemrograman dasar.
3. Kepada kedua orang tua dan teman-teman yang selalu mendoakan
kelancaran dalam menyelesaikan laporan akhir ini.

Demikian laporan ini praktikan buat, mohon kritik dan saran atau kekurangan
dalam penyusunan laporan akhir ini. Semoga laporan akhir ini dapat bermanfaat
bagi semua pihak dan bagi saya sendiri selaku praktikan.

Bangkalan, 01 Desember 2022

Desi Permatasari

iii
DAFTAR ISI

Lembar Pengesahan Praktikum ....................................................................... ii

Kata Pengantar ................................................................................................ iii

Daftar Isi.......................................................................................................... iv

Laporan Resmi Praktikum Modul I ................................................................ 1

Laporan Resmi Praktikum Modul II ............................................................... 14

Laporan Resmi Praktikum Modul III .............................................................. 29

Laporan Resmi Praktikum Modul IV .............................................................. 51

Laporan Resmi Praktikum Modul V ............................................................... 66

Laporan Resmi Praktikum Modul VI.............................................................. 83

Laporan Resmi Praktikum Modul VII ............................................................ 97

Penutup Laporan Akhir ................................................................................... 113

Biodata ............................................................................................................ 115

iv
LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR

MODUL I

Penyusun:
Desi Permatasari (220631100036)

LABORATORIUM SISTEM INFORMASI PENDIDIKAN

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2022

1
MODUL I

Algoritma dan Pemrograman Java

1.1 Tujuan
1. Mahasiswa paham tentang struktur dasar algoritma.
2. Mahasiswa mampu mengimplementasikan dalam kehidupan sehari-hari.
3. Mahasiswa mampu menggunakan NetBeans.
1.2 Landasan / Dasar Teori
A. Definisi Algoritma
“Algoritma adalah urutan langkah-langkah penyelesaian masalah yang
disusun secara sistematis dan logis”. Kata logis merupakan kata kunci
dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus
dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks,
algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan
tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama,
algoritma haruslah benar. Artinya algoritma akan memberikan keluaran
yang dikehendaki dari sejumlah masukan yang diberikan. Tidak
peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah,
pastilah algoritma tersebut bukanlah algoritma yang baik.
B. Sifat Sifat Algoritma
1. Input/Masukan: Suatu algoritma memiliki input atau kondisi awal
sebelum algoritma dilaksanakan dan bisa berupa nilai-nilai pengubah
yang diambil dari himpunan khusus.
2. Output/Keluaran: Suatu algoritma akan menghasilkan output
setelah dilaksanakan, atau algoritma akan mengubah kondisi awal
menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input
yang diproses melalui algoritma.
3. Definiteness/Pendefinisan: Langkah-langkah yang dituliskan dalam
algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh
pengguna algoritma.
4. Finiteness/Penyelesaian: Suatu algoritma harus memberi kondisi
akhir atau output setelah melakukan sejumlah langkah yang terbatas

2
jumlahnya untuk setiap kondisi awal atau input yang diberikan.
5. Effectiveness/Efektifitas: Setiap langkah dalam algoritma bisa
dilaksanakan dalam suatu selang waktu tertentu sehingga pada
akhirnya memberi solusi sesuai yang yang diharapkan.
6. Generality/Umum: Langkah-langkah algoritma berlaku untuk setiap
himpunan input yang sesuai dengan persoalan yang akan diberikan,
tidak hanya untuk himpunan tertentu.
C. Cara Penulisan Algoritma
1. Deskriptif
Algoritma bertipe deskriptif maksudnya adalah algoritma yang ditulis
dalam bahasa manusia sehari-hari (misalnya bahasa Indonesia atau
bahasa Inggris) dan dalam bentuk kalimat.

Algoritma Memasak_nasi_goreng

1. Panaskan terlebih dahulu minyak goreng.


2. Masukkan bawang merah juga bawang putih yang
sudah dihaluskan, tumis hingga wangi.
3. Tambahkan telur ke dalam tumisan dan orak-arik.
4. Masukkan sosis, wortel, dan brokoli, kemudian aduk
hingga rata.
5. Masukkan nasi putih, kemudian tambahkan pula garam,
lada, kecap asin, serta kaldu jamur, setelah itu aduk
kembali hingga merata.
6. Apabila bumbu telah meresap, maka sajian pun siap
untuk dihidangkan.

2. Flowchart
Selain dalam bentuk tulisan, algoritma juga dapat ditulis dalam bentuk
diagram dengan anak panah sebagai penunjuk urutan langkah
algoritmanya. Algoritma yang ditulis dengan simbol-simbol demikian
yang dinamakan flowchart. Sekarang diberikan suatu contoh algoritma
membuat nasi goreng seperti yang dicontohkan sebelumnya, tetapi
ditulis dalam bentuk flowchart.

3
Mulai

Panaskan minyak

Tumis bumbu

Masukkan nasi ke wajan

Aduk nasi dan bumbu sampai merata

Angkat nasi dan siap hidangkan

Selesai

3. Pseuducode
Pseudu berarti imitasi dan code berarti kode yang dihubungkan dengan
instruksi yang ditulis dalam bahasa komputer (kode bahasa
pemrograman). Apabila diterjemahkan secara bebas, maka pseudocode
berarti tiruan atau imitasi dari kode bahasa pemrograman. Contoh
algoritma menentukan keliling persegi yang ditulis dalam bentuk
pseudocode berikut ini:

4
01| ALGORITMA menentukan_keliling_persegi

02| Deklarasi

03| Var panjang, lebar, luas : integer;

04| Implementasi

05| Read(panjang);

06| Read(lebar);

07| Keliling panjang*lebar;

08| Write (luas);

D. Struktur Dasar Algoritma

1. Runtunan / Sequential
Runtunan atau istilah lainnya sequential. Pada struktur runtunan,
langkah- langkah dilakukan dan diproses secara berurutan. Dimulai
dari langkah pertama, kemudian kedua, ketiga, dan seterusnya hingga
akhir. Pada dasarnya suatu program memang menjalankan suatu proses
dari yang dasar.
2. Seleksi / Selection
Struktur percabangan atau seleksi kondisi adalah struktur algoritma
yang menyatakan pemilihan langkah yang didasarkan oleh suatu
kondisi atau pengambilan suatu keputusan. Ciri utama dari struktur
pemilihan adalah adanya bentuk flowchart belah ketupat (decision).
3. Perulangan / Repetition
Struktur perulangan atau iterasi memberikan suatu perintah atau
tindakan yang dilakukan beberapa kali. Misalnya bila kita menulis
“Saya belajar Algoritma dan Pemrograman”, diproses 10 kali, maka
agar efisien kita menggunakan struktur perulangan dari pada
menuliskannya satu-persatu hingga sepuluh kali.

5
1.3 Alat dan Bahan
1. Laptop / PC
2. NeatBeans IDE 8.1.0
1.4 Langkah-langkah Percobaan
Mengoperasikan NetBeans :

1. Start => All Program => NetBeans 8.1.0

2. Tunggu hingga tampil seperti gambar berikut :

3. Selanjutnya pilih menu file atau Ctrl+Shift+N maka akan tampil seperti
gambar berikut:

4. Pilih Java dan klik Next sehingga muncul jendela seperti gambar
berikut:

6
5. Pada kolom “Project Name” isi dengan nama project yang diinginkan.

6. Setelah itu hilangkan tanda centang pada “Create Main Class”.

7. Klik Finish.

8. Pada modul ini, project dibuat dengan nama “Praktikum1” seperti gambar
berikut:

9. Double klik pada project yang dibuat.

7
10. Klik kanan pada Source Package => new =>Java Class.
11. Setelah itu akan tampil jendela seperti gambar berikut:

12. Isi “Class Name” sesuai keinginan dan klik Finish.

13. Jika langkah di atas selesai, maka tampilan NetBeans akan seperti gambar
berikut:

14. Selanjutnya ketik “psvm” di dalam kurung kurawal, lalu tekan tab
sehingga seperti gambar:

8
15. Selanjutnya ketik “System.out.println("Belajar Java Asik!!");” tanpa
tanda petikdi dalam kurung kurawal seperti gambar berikut:

16. Lalu Running program dengan cara tekan tombol shift + f6 dan muncul
seperti gambar berikut:

17. Program selesai.


1.5 Hasil dan Analisa Percobaan
1. Hasil dan analisa pertama

9
 Perbedaan :
1. Pada gambar 1 menggunakan System.out.println pada setiap kata
sehingga terdapat dua System.out.println untuk kata “Kita” dan
“Satu” agar menghasilkan baris yang berbeda.
2. Pada gambar 2 menggunakan 1 System.out.printlnpada kata “Kita”
dan “Satu”, untuk menghasilkan baris yang berbeda maka diberi
tanda “\n” diantara kedua kata tersebut agar lebih mempersingkat.
 Persamaan :
Persamaan dari kedua gambar diatas ialah sama-sama
menghasilkan output yang sama yaitu “Kita” dan “Satu” pada baris
yang berbeda.
2. Hasil dan analisa kedua

 System.out.print memiliki perbedaan dengan System.out.println.


Dan untuk System.out.ptint menghasilkan output tanpa member
spasi pada kata yang dimasukkan.
3. Hasil dan Analisa ketiga

10
 Dari program diatas dapat disimpulkan bahwa untuk memudahkan
seseorang dalam membuat program yang terdiri dari 3 baris maka
tidak perlu menginput banyak system out println, hanya perlu
menginput ”\n”antar kalimat supaya lebih ringkas.
1.6 Tugas
1. Buatlah flowchart menghitung luas segitiga!
Jawab

2. Buatlah 1 program java sederhana yang berisikan nama, alamat dan asal
sekolah sma!
Jawab
A. Input dan Output

11
B. Source code

public class Belajar1 {

public static void main(String[] args) {

System.out.println("Nama : Desi Permatasari");

System.out.println("Alamat : Jl. Adi Sucioto No.1,


Kec Kalianget, Kab Sumenep");

System.out.println("Asal Sekolah : SMA


MUHAMMADIYAH 1 SUMENEP");

3. Buatlah kode program dari output di bawah ini!


Jawab
A. Input dan Output

B. Source code
public class Belajar2 {

public static void main(String[] args) {

System.out.println("Pendidikan Informatika");

System.out.println("Fakultas Ilmu Pendidikan ");

System.out.println("Universitas Trunojoyo Madura");

12
1.7 Kesimpulan
Kesimpulan dari praktikum pemrograman dasar modul 1 adalah cara
mengetahui fungsi dari suatu kode untuk menghasilkan program serta cara
mengetahui kegunaan dari syntax yang berbeda tetapi menghasilkan output
yang sama.

1.8 Lampiran

Gambar 1.1 Bukti Mengikuti Praktikum

13
LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR

MODUL II

Penyusun:
Desi Permatasari (220631100036)

LABORATORIUM SISTEM INFORMASI PENDIDIKAN

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2022

14
MODUL II
Mengenal java
1.1 Tujuan
1. Praktikan dapat mengenal bentuk dasar code java Console Application
dengan sederhana.
2. Praktikan mengenal tipe data dan operasi dasar pemrograman.
1.2 Landasan / Dasar Teori
Java Sekilas Pandang
Java merupakan bahasa pemrograman tingkat tinggi yang diciptakan
berdasarkan turunan dari C++. Target utama dari penggunaan bahasa Java
adalah pengkodingan berarah objek yang simpel (tidak memerlukan header),
menghindari pemanipulasian pointer secara manual (otomatis), dan lainnya.
Kini, penggunaan Java sudah sangat banyak di perusahaan mengingat Java
adalah crossplatform dan bahkan cross-device.
Bentuk dasar (Anatomi) Console Application:

public class Main {

public static void main(String[] args) {


System.out.println("Kelas D bisaa!");

Penjelasan :

public static void main(String[] args) {

Awal mula kode bermulai dari sini. Fungsi main() ini menandakan bahwa
baris kode yang dibawah ini akan dijalankan pertama kali secara otomatis
ketika program dijalankan.

System.out.println("Kelas D bisaa!");

Salah satu contoh baris kode yang mana ini digunakan untuk menampilkan ke
console / layar. Perlu diperhatikan bahwa bagian akhir perlu diberikan

15
semicolon (;) untuk menandakan akhir dari satu baris kode. Serta, penulisan
kode di Java membedakan huruf besar dan kecil (case- sensitive) sehingga
perlu berhati-hati akan huruf besar dan kecil ketika menulis baris kode.

public static void main(String[] args) {


System.out.println("Kelas D bisaa!");

Sebenarnya main() di atas adalah sebuah fungsi (penggunaannya akan


dijelaskan nanti di bab selanjutnya) yang mana perlu diawali dan diakhiri oleh
kurung kurawal ( { … } ).
A. Komentar
Komentar dalam Java berupa sebuah blok untuk menerangkan/ memberika
informasi pada suatu kelas, field, method, dan lainnya agar orang lain
dapat mengerti apa maksud dari kode tersebut. Bentuk umum komentar
dalam Java ada dua :
/*…*/

// ...

public class Komentar {

public static void main(String[] args) {

/**
* Ini adalah contohkomentar.
* Komentar tidak akan dieksekusi pada program
*/
System.out.print("Penggunaan komentar");
}
}

16
Komentar TIDAK AKAN ikut dikompilasi menjadi program sehingga
programmer tidak perlu khawatir programnya akan membengkak karena
terlalu banyak menuliskan penjelasan (komentar).

B. Input / Output
Dalam java dikenal juga dengan proses input dan proses output. Berikut
adalah contoh program untuk input dan output :
/* Program untuk proses iput dan output*/
import java.util.Scanner;

public class coba {

public static void


main(String[] args) {
Scanner masuk =new
Scanner (System.in);

System.out.println("Masukkan nilai a : ");


//input
int a = masuk.nextInt();
//output
System.out.println("Jadi nilai a : "+a);

}}

Penjelasan:

Baris kode berikut adalah baris kode yang digunakan untuk proses input
atau proses pemberian nilai pada sebuah variable (akan dijelaskan pada
pembahasan berikutnya).

Scanner masuk= new Scanner(System.in);

Perlu diperhatikan bahwa, ketika Scanner digunakan. Pada class yang


sama juga harusterdapat baris kode

import java.util.Scanner;

17
Baris tersebut berfungsi agar scanner dapat didefinisikan pada class
tersebut. Maka ketika program dijalankan, program akan menampilkan
sebagai berikut :

Ketika kursor berbeda pada console/ layar, maka kita sudah dapat
mengetikkan suatu nilai, dan nilai tersebut akan menjadi nilai variable a.

C. Type Data
Type data adalah klasifikasi antara data. Tujuannya adalah mencegah
tercampurnya data lain yang memili “bentuk” yang berbeda. Tipe data
tersebut dapat disimpan dalam sebuah wadah yang disebut variable.
Contoh pembuatan variable :

public class Praktikum {

public static void main(String[] args)

{ String h= "Hello!";
System.out.println(h);
}
}
Berikut adalah tipe data yang dikenal di java :
1. Boolean
Boolean adalah tipe data yang hanya menyatakan kondisi true (benar)
dan false (salah). Boolean pada dasarnya adalah representasi dari 1
(true) dan 0 (false).

18
Contoh :

public class Praktikum {

public static void main(String[] args)

Booleanb=true;
System.out.println(b);
Boolean c= false;
System.out.println(c);
}
// Maka di layar akan menuliskan true false
}

2. Integer
Integer merupakan tipe data nemurik yang bulat dan dapat dilakukan
proses aritmatika. Adapun tipe data yang sejenis adalah Byte, Long,
Short. Perbedaannya adalah besaran bit yang dipakai.
Contoh:

public class Praktikum {

// Melakukan operasi penjumlahan

public static void main(String[] args)

int a=3+4;
System.out.println(a);
}
// Maka di layar akan menuliskan angka 7
}

3. Float
Type float digunakan untuk menangani bilanagn pecahan. Tipe data
jenis adalah double untuk angka yang lebih besar dan presisi lebih
tinggi.

19
class float {

public static void main(String[] args) {

double angka1=22;

double angka2=7;

double angka3=angka1/angka2;

System.out.println(“hasil=”+angka3);

}}

//maka output yang dihasilkan adalah hasil bagi


angka1 dan angka2 yang menghasilkan angka
desimal.

4. Karakter
Char adalah tipe data untuk karakter. Char dapat dilakukan operasi
matematika seperti layaknya integer.
Contoh :

public class praktikum {

//Math.random() adalah fungsi untuk mengeluarkan


nilai acak antara 0 hingga 1

public static void main(String[] args) {

char b=‟d‟+1;

System.out.println(b);

}}

//Maka di layar akan menuliskan huruf e buka d+1


atau 5

20
5. String
String adalah tipe data yang dapat menyimpan sederet karakter menjadi
satu seperti layaknya kalimat atau kata. Pada dasarnya string adalah
sejenis array (sekumpulan) dari char yang dimanipulasi sehingga
menjadi tipe data baru. Dibandingkan tipe data yang lain, tipe data
string memiliki fungsi pemanipulasian paling banyak.
Conroh :

public class praktikum {

//Tes membuat variable

public static void main(String[] args) {

String h = “Hrllo!”

System.out.println(h);

//Maka di layar akan menuliskan tulisan Hello!

D. Operator Logika
1. Operator == (EQUAL)
Operator == digunakan untuk menyatakan apakah nilai di ruas kiri
sama dengan ruas kanan. Mengembalikan nilai true apabila ya dan
false apabila tidak.
2. Operator && (AND)
Operator && (AND) sifatnya adalah konjungsi (dan), dimana
menegmbalikan nilai true apabila ruas kiri dan kanan sama-sama
memiliki nilai true, selain itu akan dianggap salah.
3. Operator || (OR)
Operator || (OR) sifatnya dalah disjungsi (atau), dimana
mengembalikan nilai true apabila antara ruas kiri atau kanan memiliki
nilai true, salah satu atau keduanya. Mengembalikan nilai false apabila
keduanya memiliki nilai false.

21
4. Operator ! (NOT)
Operator ! (NOT) akan mengembalikan Boolean yang dijadikan
operan. Apabila nilai operan adalah true, maka hasilnya akan menjadi
false.
5. Operator Logika (Numeric)
Untuk angka, dapat juga dilakukan hal-hal yang seperti kita lakukan
dulu di logika matematika SMA. Yaitu (==) untuk sama dengan, (<)
untuk kurang dari, (>) untuk lebih dari, (<=) untuk kurang dari atau
sama dengan, (>=) untuk lebih dari atau sama dengan.
E. Aritmatika
Ada beberapa operator aritmetik yang sudah kita kenal, yaitu :
1. Penjumlahan (+)
2. Pengurangan (-)
3. Pembagian (/)
4. Perkalian (*)
5. Modulus (sisa pembagian %)
Contoh penggunaan dalam Java :

public class aritmatik {

public static void main(String[] args) {

System.out.println(“penambahan 3+5 =”+(3+5));

System.out.println(“pengurangan 5-3 =”+(5-3));

System.out.println(“perkalian 5*5 =”+(5*5));

System.out.println(“pembagian 90/5 =”+(90/5));

System.out.println(“modulus 52%6 =”+(52%6));

}}

22
Output :

Contoh Menggunakan Tipe Data dan Aritmatika


public class aritmatik {

public static void main(String[] args) {

int a=4;

int b=3;

int jumlah = a+b;

int kurang = a-b;

int kali = a*b;

floatbagi = a/b;

int sisa = a%b;

System.out.println(“penambahan”+a+”+”+b+”=”+jumlah);

System.out.println(“pengurangan”+a+”-”+b+”=”+kurang);

System.out.println(“perkalian”+a+”*”+b+”=”+kali);

System.out.println(“pembagian”+a+”/”+b+”=”+bagi);

System.out,println(“sisa bagi”+a+”%”+b+”=”+sisa);

}}

23
Output :

1.3 Alat dan Bahan


1. Laptop
2. NetBeans IDE 8.2
3. Java
1.4 Langkah-Langkah Percobaan
1. Buatlah program seperti berikut !

1.5 Hasil dan Analisa Percobaan


1. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari program diatas menghasilkan output yang membuat
sebuah program yang berisi Nama, NIM dan hasil nilai ujian. Pada
program tersebut menggunakan code input : (int), (System.out.print),

24
(System.out.println), (msk.nextLine), (Scanner msk = new Scanner
(System.in), (msk.nextInt).
 Int berfungsi untuk menghilangkan suatu bilangan bulat.
 System.out.print berfungsi untuk mencetak angka atau karakter
dilayar.
 System.out.println berfungsi untuk mencetak angka atau karakter
dengan ditambah baris baru.
 msk.nextLine berfungsi untuk menampilkan hasil output yang berupa
string atau sebuah kalimat.
 Scanner berfungsi untuk menginputkan data / nilai saat program di
running.
 msk.nextInt berfungsi untuk menghasilkan input berupa bialangan
bulat.

Selain itu pada code input tersebut juga menggunakan simbol garis (-----)
yang simbol tersebut berfungsi sebagai pembatas antara hasil output yang
secara manual seperti pada bagian atas dan hasil output yang secara
otomatis seperti pada bagian bawah.

1.6 Tugas
1. Buatlah program untuk menampilkan Output seperti pada gambar dibawah
dengan menggunakan inputan keyboard!

25
Jawaban
A. Input

B. Output

2. Buatlah program yang menghasilkan output di bawah dan dengan


menggunakan inputan dari keyboard!

Jawaban
A. Input

26
B. Output

1.7 Kesimpulan
Java merupakan bahasa pemrograman tingkat tinggi yang diciptakan
berdasarkan turunan dari C++. Target utama dari penggunaan bahasa Java
adalah pengkodingan berarah objek yang simpel (tidak memerlukan header),
menghindari pemanipulasian pointer secara manual (otomatis), dan lainnya.
Kini, penggunaan Java sudah sangat banyak di perusahaan mengingat Java
adalah crossplatform dan bahkan cross-device.
Macam-macam tipe data dalam java yaitu :
 Boolean
 String
 Float
 Integer
 Karakter

Operator adalah intruksi yang diberikan untuk mendapatkan hasil dari sebuah
proses. Operator dalam java terbagi dalam dua macam yaitu operator logika
dan operator aritmatika.

1. Operator Logika
a. Operator && (AND)
b. Operator || (OR)
c. Operator ! (NOT)
d. Operator relasi (numeric)
e. Operator Penugasan/Assigment
2. Operator Aritmatika
a. Penjumlahan (+)

27
b. Pengurangan (-)
c. Pembagian (/)
d. Perkalian (*)
e. Modulus (sisa pembagian %)
1.8 Lampiran

Gambar 1.1 Bukti Mengikuti Praktikum

28
LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR

MODUL III

Penyusun:
Desi Permatasari (220631100036)

LABORATORIUM SISTEM INFORMASI PENDIDIKAN

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2022

29
MODUL III

Seleksi Kondisi

1.1 Tujuan
1. Mahasiswa memahami bentuk umum serta logika pengkondisian dalam
Java.
2. Mahasiswa dapat mengimplementasikan pengkondisian dalam program
Java.
3. Mahasiswa mampu memecahkan masalah sederhana dengan menggunakan
analisa kasus dan mengimplementasikannya ke dalam behasa
pemrograman Java.
1.2 Landasan / Dasar Teori
A. Seleksi Kondisi
Seleksi kondisi adalah konstruksi yang memungkinkan program
melakukan evaluasi terhadap variable / kondisi kemudian menjalankan
alur program yang sesuai dengan kondisi. Dalam hal ini program
dikatakan mengambil keputusan berdasarkan hasil evaluasi variable atau
kondisi.
Konstruksi pengambilan keputusan :
a. Konstruksi if
b. Konstruksi if…else
c. Konstruksi …else if …
d. Konstruksi switch
1. Konstruksi If
Diagram alir

30
Kode program If

Dalam java

If(kondisi) {

AKSI;

Contoh :
int a = 3;

if(a>0) {

System.out.println(a+”bernilai positif”);

Aksi akan dieksekusi jika kondisi bernilai benar, jika salah program
akan selesai.
2. Konstruksi If…
Else Diagram alir

Kode program

if (kondisi) {

Aksi1;

else {

Aksi2; }

31
Contoh :
int a =3;

if(a>0) {

System.out.println(a+”bernilai positif”);

else {

System.out.println(a+”bernilai negatif”);

AKSI1 akan dieksekusi bila kondisi bernilai true. Kalau kondisi


bernilai false, maka AKSI2 akan dieksekusi.
3. Konstruksi Else…
If Diagram alir

Kode program
if (kondisi) {

AKSI1;

Else If (kondisi2) { AKSI2;

32
Contoh :
int a =3;

if(a%2 =0) {

System.out.println(a+”bernilai genap”);

}else if (a%2 ! =0){

System.out.println(a+”bernilai ganjil”);

Ketika kondisi1 bernilai false, maka alur program akan menuju ke


bagian else. Selanjutnya AKSI2 diatas akan dikerjakan kalau kondisi2
bernilai true.
4. Konstruksi Switch
Diagram alir

Kode program
Class Mod2

Public static void main(String[] args) {Scanner masuk =new

Scanner(System.in); System.out.print(“Pendidikan terakhir

anda :\n1.SD\n2.SMP\n3.SMA\n4.S1);

System.out.println(“Masukkan Pendidikan terakhir anda :”);

33
Int Grade=masuk.nextInt();

Switch (Grade){

case 1:

System.out.println(“Pendidikan terakhir Anda :SD”);

break;

case 2:

System.out.println(“Pendidikan terakhir anda :SMP);

break;

case 3:

System.out.println(“Pendidikan terakhir anda :SMA);

break;

case 4:

System.out.println(“Pendidikan terakhir anda :S1);

break;

default:

System.out.println(“Tidak ada dalam pilihan!”);

1.3 Alat dan Bahan


1. Laptop/PC
2. NetBeans

34
1.4 Langkah-Langkah Percobaan
1. Buatlah program seperti berikut !

public class If {

public static void main(String[] args) {

int a=3;

if(a>0){

System.out.println(a + "bernilai positif");

2. Buatlah program seperti berikut !


public class Ifelse {

public static void main(String[] args) {

int a=3;

if(a>0){

System.out.println(a +"bernilai positif");

else{

System.out.println(a +"bernilai negatif");

35
3. Buatlah program seperti berikut !
public class Ifelse {

public static void main(String[] args) {

int a=3;

if(a>0){

System.out.println(a +"bernilai positif");

else{

System.out.println(a +"bernilai negatif");

4. Buatlah program seperti berikut !


public class Switch {

public static void main(String[] args) {

Scanner masuk = new Scanner(System.in);

System.out.println("Pendidikan terakhir anda :


\n1.SD\n2.SMP\n3.SMA\n4.S1");

System.out.println("Masukkan Pendidikan terakhir anda :");

int Grade = masuk.nextInt();

switch(Grade){

case 1:

System.out.println("Pendidikan terakhir Anda : SD");

36
break;

case 2:

System.out.println("Pendidikan terakhir Anda : SMP");

break;

case 3:

System.out.println("Pendidikan terakhir Anda : SMA");

break;

case 4:

System.out.println("Pendidikan terakhir Anda : S1");

break;

default:

System.out.println("Tidak ada dalam pilihan");

}}}

5. Buatlah program seperti berikut !


public class Latihan1 {

public static void main(String[] args) {

int A = 3;

int B = 6;

if (A>B){

System.out.println(A +">" + B);

else if (A < B){

37
System.out.println(A +"<" + B);

else {

System.out.println(A +"=" + B);

}}}

6. Buatlah program seperti berikut !


public class Latihan2 {

public static void main(String[] args) {

int grade= 100;

switch(grade){

case 100 :

System.out.println("Excellent!");

break;

case 90 :

System.out.println("Good Job!");

break;

case 80 :

System.out.println("Study Harder!");

break;

default :

System.out.println("Sorry, You Failed!");

}}}

38
1.5 Hasil dan Analisa Percobaan
1. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class ifl{“.
Selanjutnya ada psvm untuk merunning suatu program. Terdapat
system.out.println, yang dimana suatu program akan dibatasi dengan enter
atau akan ditulis di baris selanjutnya. Program tersebut menggunakan type
data integer dan menggunakan seleksi kondisi if yaitu hanya memiliki satu
pernyaatan yang akan dijalankan dengan syarat tertentu.
2. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class Ifelse{“.
Selanjutnya ada psvm untuk merunning suatu program. Terdapat
system.out.println, Program tersebut menggunakan type data integer dan
menggunakan seleksi kondisi if else yaitu memiliki dua pernyataan yang
akan dijalankan dengan syarat tertentu.
3. Hasil output dan analisa program seperti berikut :

39
Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class Elseif{“.
Selanjutnya ada psvm untuk merunning suatu program. Terdapat
system.out.println, Program tersebut menggunakan type data integer dan
menggunakan seleksi kondisi else if yaitu memiliki banyak kondisi (lebih
dari 2) dan banyak pernyataan (lebih dari 2). Program tersebut
menggunakan operator aritmatika.
4. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
switch{“. Selanjutnya ada psvm untuk merunning suatu program. Program
ini menggunakan Scanner masuk= new Scanner(System.in);, tujuan
penggunaan scanner agar dapat didefinisikan pada class tersebut.
Terdapat system.out.println dan system.out.print, Program tersebut
menggunakan type data string dan menggunakan seleksi kondisi Switch
yang dimana percabangan kode program dimana kita membandingkan isi
sebuah variabel dengan beberapa nilai. Jika proses perbandingan tersebut
menghasilkan nilai true, maka block kode program akan dijalankan. Di
awal kode program, terdapat perintah Switch untuk menginput variabel
yang akan diperiksa. Kemudian terdapat beberapa perintah case yang
diikuti dengan sebuah nilai. Jika isi dari variabel sama dengan salah satu
nilai, maka blok kode program akan dijalankan. Jika ternyata tidak ada
kondisi case yang sesuai, maka blok default di baris paling bawah lah yang
akan dijalankan. Di dalam setiap block case diakhiri dengan perintah
break; agar struktur case langsung berhenti begitu kondisi terpenuhi.

40
5. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
latihan1{“. Selanjutnya ada psvm untuk merunning suatu program.
Terdapat system.out.println, Program tersebut menggunakan type data
integer dan menggunakan seleksi kondisi else if yaitu memiliki banyak
kondisi (lebih dari 2) dan banyak pernyataan (lebih dari 2).
6. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah menggunakan kontruksi if…else
yang dimana aksi 1 akan dieksekusi bila kondisi bernilai true. Kalau
kondisi bernilai false, maka aksi 2 akan dieksekusi.

41
1.6 Tugas
1. Buatlah program kelulusan mata kuliah menggunakan inputan keyboard
yang Inputannya berupa nilai. Jika nilainya kurang dari 70 maka
dinyatakan tidak lulus.
Jawaban
A. Input

B. Output

C. Source code
public class Tugas1 {

public static void main(String[] args) {

int nilai ;

String nama ;

Scanner grade = new Scanner(System.in);

System.out.print("Nama : ");

nama = grade.nextLine();

System.out.print("Masukkan Nilai Matakuliah : ");

42
nilai = grade.nextInt();

if(nilai>=70){

System.out.println("^SELAMAT ANDA DI
NYATAKAN LULUS^");

else {

System.out.println("^MAAF ANDA DI NYATAKAN


TIDAK LULUS^");

}}}

2. Buatlah program konverter dari angka ke huruf dari 12 sampai 25, conoth
1 dikonvert menjadi “SATU” menggunakan inputan keyboard.
Jawaban
A. Input

43
B. Output

C. Sorce code
public class Tugas2 {
public static void main(String[] args) {

Scanner grade = new Scanner(System.in);

System.out.println("masukkan angka : ");

switch (grade.nextInt ()) {

case 12 :

System.out.println("DUA BELAS");

break;

case 13 :

System.out.println("TIGA BELAS");

break;

case 14 :

System.out.println("EMPAT BELAS");

break;

case 15 :

System.out.println("LIMA BELAS");

break;

44
case 16 :

System.out.println("ENAM BELAS");

break;

case 17 :

System.out.println("TUJUH BELAS");

break;

case 18 :

System.out.println("DELAPAN BELAS");

break;

case 19 :

System.out.println("SEMBILAN BELAS");

break;

case 20 :

System.out.println("DUA PULUH");

break;

case 21 :

System.out.println("DUA PULUH SATU");

break;

case 22 :

System.out.println("DUA PULUH DUA");

break;

case 23 :

45
System.out.println("DUA PULUH TIGA");

break;

case 24 :

System.out.println("DUA PULUH EMPAT");

break;

case 25 :

System.out.println("DUA PULUH LIMA");

break;

default :

System.out.println("");

}}}

3. Buatlah code dengan menggunakan inputan keyboard dan selesksi yang


menampilkan output seperti dibawah ini!

46
Jawaban
A. Input

B. Output

47
C. Sourrce code
public class Tugas3 {

private static Object input;

public static void main(String[] args) {

Scanner pesan = new Scanner(System.in);

System.out.println("+==============================
========+");

System.out.println(" WARUNG MAKAN


");

System.out.println(" SANJAYA ");

System.out.println("+==============================
========+");

System.out.println("+--------------------------------------+");

System.out.println("| PILIHAN MENU MAKANAN


|");

System.out.println("+--------------------------------------+");

System.out.println("1. Nasi goreng : Rp. 10.000");

System.out.println("2. Mie goreng : Rp. 10.000");

System.out.println("3. Bakso urat : Rp. 12.000");

System.out.println("4. Mie ayam : Rp. 9.000");

System.out.println("+--------------------------------------+");

Scanner msk = new Scanner(System.in);

System.out.println("Pilihan produk : 1");

48
String pilihan_produk = "satu";

switch (pilihan_produk){

case "satu":

System.out.println("Harga Nasi Goreng : Rp. 10.000");

break;

case "dua":

System.out.println("Harga Mie Goreng : Rp.


10.000");

break;

case "tiga":

System.out.println("Harga Bakso Urat : Rp. 12.000");

break;

case "empat":

System.out.println("Harga Ayam : Rp. 9.000");

break;

default:

System.out.println("harap lihat menu makanan


kembali");

System.out.println("Bayar : Rp.");

int bayar = msk.nextInt();

System.out.println("kembalian : Rp."+(bayar-
10000));

49
System.out.println("+-----------------------------------+");

System.out.println(" SELAMAT MENIKMATI ! ! !


");

System.out.println("+-----------------------------------+");

}}

1.7 Kesimpulan
Kesimpulannya adalah kita dapat mengetahui dan menggunakan cara kondisi
dalam program java. Dengan menggunakaan beberapa seleksi kondisi. Seleksi
kondisi adalah konstruksi yang memungkinkan program melakukan evaluasi
terhadap variable / kondisi kemudian menjalankan alur program yang sesuai
dengan kondisi. Dalam hal ini program dikatakan mengambil keputusan
berdasarkan hasil evaluasi variable atau kondisi. Terdapat macam seleksi
kondisi yaitu:
A. Kontruksi If
B. Konruksi If…Else
C. Kontruksi Else…If
D. Kontruksi Switch
1.8 Lampiran

Gambar 1.1 Bukti Mengikuti Praktikum

50
LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR

MODUL IV

Penyusun:
Desi Permatasari (220631100036)

LABORATORIUM SISTEM INFORMASI PENDIDIKAN

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2022

51
MODUL IV

Perulangan atau Looping

1.1 Tujuan
1. Mahasiswa dapat memahami bentuk umum perulangan pada Java.
2. Mahasiswa dapat mengimplementasikan perulangan dalam program Java.
3. Mahasiswa mampu memecahkan masalah sederhana dengan menggunakan
analisa kasus dan mengimplementasikannya dalam program Java.
1.2 Landasan / Dasar Teori
A. Definisi Perulangan (Looping)
Perulangan dalam algoritma didefinisikan sebagai bentuk algoritma yang
berfungsi untuk mengulah perintah-perintah baris program dengan aturan
tertentu. Pengulangan bertujuan untuk mengefisienkan penulisan kode
program, sehingga tidak perlu dilakukan berulang-ulang kali.
B. Struktur Perulangan (Looping)
Struktur perulangan secara umum terdiri atas dua bagian, yaitu:
1. Kondisi perulangan, yaitu berupa ekspresi Boolean yang harus
dipenuhi untuk melaksanakan kondisi perulangan. Kondisi ini
mengakibatkan suatu kondisi perulangan akan berhenti pada saat
kondisi Boolean tersebut terpenuhi.
2. Badan (body) perulangan, yaitu suatu aksi (bagian algoritma) yang
harus diulang selama kondisi yang ditentukan untuk perulangan
tersebut masih terpenuhi.
C. Jenis-Jenis Perulangan Pada Java
Dalam algoritma di modul ini akan dibahas beberapa jenis perulangan
dalam bahasa pemrograman Java, antara lain:
 While
 Do-While
 For
 Nested Loop
Berikut akan dibahas bentuk-bentuk perulangan tersebut satu persatu:

52
1. WHILE
While adalah bentuk perulangan yang memiliki jumlah perulangan
sesuai dengan suatu kondisi logika tertentu. Do-while loop mirip
dengan while-loop. Pernyataan di dalam do-while loop akan dieksekusi
beberapa kali selama kondisi bernilai benar (true).
Struktur dasar penulisannya adalah sebagai berikut :

Inisialisasi

While (kondisi) {

//Statement yang akan diulang

……

Iterasi

Maksud dari bentuk di atas adalah selama kondisi perulangan


terpenuhi atau bernilai benar (true), maka statemen akan terus
dilaksanakan samapi kondisi perulangan bernilai salah (false). Jumlah
perulangan ini minimal 0 kali, karena pengecekan kondisi dilakukan di
awal.
Contoh program :

53
Output :

2. DO-WHILE
Sama halnya dengan while, do-while juga akan menjalankan looping
selama kondisi perulangan terpenuhi atau bernilai benar (true).
Berbeda pada perulangan while, pada perulangan do-while pengecekan
kondisi (syarat) perulangan dilakukan setelah eksekusi statement yang
diulang. Sehingga statement dalam blok do-while paling sedikit
dieksekusi satu kali.
Struktur dasar penulisannya adalah sebagai berikut :

Inisialisasi

Do {

//Statement yang akan diulang

…..

Iterasi

}While (Kondisi);

Maksud dari bentuk di atas adalah statement akan dilakukan sebleum


ada pemeriksaan kondisi perulangan.
Contoh Program :

54
Output :

3. DO-WHILE
Sama halnya dengan while, do-while juga akan menjalankan looping
selama kondisi perulangan terpenuhi atau bernilai benar (true).
Berbeda pada perulangan while, pada perulangan do-while pengecekan
kondisi (syarat) perulangan dilakukan setelah eksekusi statement yang
diulang. Sehingga statement dalam blok do-while paling sedikit
dieksekusi satu kali.
Struktur dasar penulisannya adalah sebagai berikut :

Inisialisasi

Do {

//Statement yang akan diulang

…..

Iterasi

}While (Kondisi);

Maksud dari bentuk di atas adalah statement akan dilakukan sebleum


ada pemeriksaan kondisi perulangan.
Contoh Program :

55
Output :

4. DO-WHILE
Sama halnya dengan while, do-while juga akan menjalankan looping
selama kondisi perulangan terpenuhi atau bernilai benar (true).
Berbeda pada perulangan while, pada perulangan do-while pengecekan
kondisi (syarat) perulangan dilakukan setelah eksekusi statement yang
diulang. Sehingga statement dalam blok do-while paling sedikit
dieksekusi satu kali.
Struktur dasar penulisannya adalah sebagai berikut :

Inisialisasi

Do {

//Statement yang akan diulang

…..

Iterasi

}While (Kondisi);

Maksud dari bentuk di atas adalah statement akan dilakukan sebleum


ada pemeriksaan kondisi perulangan.
Contoh Program :

56
Output :

5. FOR
Bentuk for digunakan untuk perulangan yang memiliki jumlah
perulangan yang telah dipastikan sebelumnya.
Struktur dasar penulisannya adalah sebagai berikut :

For (Inisialisasi ; Kondisi ; Iterasi)

//Statement yang akan diulang

…..

Maksud dari bentuk di atas adalah akan dilaksanakan AKSI sebanyak


N kali, dimana nilai N adalah penyesuaian kondisi perulangan dengan
kondisi awal. Perulangan akan berhenti dilaksanakan jika kondisi
perulangan bernilai salah (false).
Contoh program :

Output :

57
6. NESTED LOOP
Nested loop merupakan perulangan di dalam perulangan. Pelajari
contoh berikut dan cobalah untuk mengetahui hasilnya :

Output :

Penjelasan :

Pada kode baris diatas merupakan perulangan yang berfungsi untuk


membuat baris baru pada perulangan.

58
Dan pada baris kode diatas merupakan perulangan yang berfungsi
untuk membuat kolom pada proses perulangan.

Sehingga dapat diilustrasikan seperti pada gambar diatas.


1.3 Alat dan Bahan
1. Laptop/PC
2. NetBeans
3. Java
1.4 Langkah-Langkah Percobaan
1. Buatlah program seperti berikut !

2. Buatlah program seperti berikut !

59
3. Buatlah program seperti berikut !

4. Buatlah program seperti berikut !

5. Buatlah program seperti berikut !

6. Buatlah program seperti berikut !

1.5 Hasil dan Analisa percobaan


1. Hasil output dan analisa program seperti berikut :

60
Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class while{”.
Selanjutnya terdapat psvm untuk meruning suatu program. Program
tersebut menggunakan type data integer dan operator numeric, jenis
perulangan yang digunakan adalah while. Program di atas menggunakan
System.out,println untuk menginput data ke bawah supaya pada saat
program di run perulangan akan tersepasi kebawah bukan kesamping.
2. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
Dowhile{”. Selanjutnya terdapat psvm untuk meruning suatu program.
Program tersebut menggunakan type data integer dan operator numeric,
jenis perulangan yang digunakan adalah Dowhile. Program di atas
menggunakan System.out,println untuk menginput data ke bawah supaya
pada saat program di run perulangan akan tersepasi kebawah bukan
kesamping.
3. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class for{”.
Selanjutnya terdapat psvm untuk meruning suatu program. Program
tersebut menggunakan type data integer dan operator numeric, jenis
perulangan yang digunakan adalah for. Program di atas menggunakan

61
System.out,println untuk menginput data ke bawah supaya pada saat
program di run perulangan akan tersepasi kebawah bukan kesamping.
4. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
nestedloop{”. Selanjutnya terdapat psvm untuk meruning suatu program.
Program tersebut menggunakan type data integer dan operator numeric,
jenis perulangan yang digunakan adalah nested loop. Dan menggunakan
baris kode for(i=1;i<=5;i++){ yang berfungsi untuk membaris baru pada
perulangan, dan baris kode for(j=1;j<=;j++){ yang berfungsi untuk
membuat kolom pada proses perulangan. Program di atas menggunakan
System.out.println untuk menginput data ke bawah dan menggunakan
System.out.print untuk menginput data ke samping pada saat program di
run. Symbol “*” pada program tersebut pada saat dirunning akan terulang
sebanyak 5 kali kesamping dan kebawah.
5. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
latihan1{”. Selanjutnya terdapat psvm untuk meruning suatu program.
Program tersebut menggunakan type data integer dan operator numeric,
jenis perulangan yang digunakan adalah for.

62
6. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
latihan2{”. Selanjutnya terdapat psvm untuk meruning suatu program.
Program tersebut menggunakan type data integer dan operator numeric,
jenis perulangan yang digunakan adalah for. Program di atas
menggunakan System.out.println untuk menginput data ke bawah dan
menggunakan System.out.print untuk menginput data ke samping pada
saat program di run, jadi pada saat program di run ketika memasukkan
nilai akan tersepasi ke samping dan inputan data yang terdapat pada
System.out.println akan terspasi kebawah atau melakukan perulangan
kebawah.
1.6 Tugas
1. Buatlah program yang menghasilkan output seperti gambar dibawah ini
menggunakan konsep perulangan pada modul ini (Screenshot input dan
output program).

63
Jawaban
A. Input

B. Output

2. Buatlah program yang menghasilakan output seperti gambar dibawah ini.


Gunakan konsep perulangan (Screenshot input dan output program).

Jawaban
A. Input

64
B. Output

1.7 Kesimpulan
Kesimpulannya adalah kita dapat mengetahui dan menggunakan cara
perulangan / looping dalam program Java. Dengan menggunakan beberapa
perulangan. Perulangan adalah bentuk algoritma yang berfungsi untuk
mengulang perintah-perintah baris program dengan aturan tertentu.
Pengulangan bertujuan untuk mengefisienkan penulisan kode program,
sehingga tidak perlu dilakukan berulang-ulang kali. Terdapat macam-macam
perulangan dalam java yaitu:
A. While
B. Do-While
C. For
D. Nested Loop
1.8 Lampiran

Gambar 1.1 Bukti Mengikuti Praktikum

65
LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR

MODUL V

Penyusun:
Desi Permatasari (220631100036)

LABORATORIUM SISTEM INFORMASI PENDIDIKAN

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2022

66
MODUL V

String

1.1 Tujuan
1. Mahasiswa dapat memahami penggunaan String pada java.
2. Mahasiswa dapat memahami penggunaan String untuk dapat mendukung
sejumlah metode dalam pemanipulasian string.
1.2 Landasan / Dasar Teori
A. Pengertian String
String adalah klas yang mengenai deretan karakter. Klas ini mendukung
sejumlah metode yang sangat berguna untuk memanipulasi string,
misalnya untuk mengkonversikan setiap huruf kecil menjadi huruf besar
atau sebaliknya, memperoleh jumlah karakter dan sebagainya.
B. Operasi atau Method Kelas String
Kelas string mempunyai beberapa method yang digunakan untuk
melakukan operasi string. Adapaun operasi-operasi yang dapat diterapkan
pada string, antara lain :
a. Membuat dan menginisialisasi string
b. Membandingkan string
c. Mengubah case string
d. Menghubungkan dua string
e. Mencari karakter dan substring
f. Konversi string
g. Format string

Klas string memiliki banyak konstruktor, seperti tabel berikut :

Konstruktor Keterangan

String() Menciptakan obyek string yang berisi string


kosong (jumlah karakter = 0)

Menciptakan obyek string yang berisi string yang


berasal dari array yang dirunjuk oleh v.

67
String(String v) Menciptakan obyek string yang isinya sama
dengan obyek string argumennya.

String(byte[]bytes) Membuat obyek string yang berisi suatu array


dari type byte menggunakan default charset.

String(byte[]bytes, Membuat objek string yang berisi suatu array


Charset carset) dari tipe byte menggunakan aturan charset
tertentu.

String(byte[]bytes, Membuat objek string yang berisi sub-array dari


int offset, int legth) tipe data byte menggunakan default charset.

String(byte[] bytes, Membuat objek string yang berisi sub-array dari


int offset, int type data byte menggunakan sebuah aturan
length, Charset charset tertentu.
charset)

String(bytes, int Membuat objek string yang berisi sub-array dari


offset, int length, type data byte menggunakan sebuah aturan
String charset charset tertentu.
Name)

String(byte[]bytes, Membuat objek string yang berisi suatu array


string charset dari tipe byte menggunakan aturan charset
Name) tertentu.

String(char[]value) Membuat objek string yang mempresentasikan


dari deretan karakter yang berbentuk array.

String(char[]value, Membuat objek string baru yang berisi subarray


int offset, int count) dari sebuah argument array karakter. Argumen
offset adalah indeks karakter dari subarray
karakter, sedangkan argument count adalah
batasan panjang maksimal dari sub-array.

68
String(String Menginisialisasi objek string yang baru dengan
original) deretan karakter yang sama dengan nilai
argument sring.

String(StringBuffer Mengalokasikan objek string baru yang berisi


buffer) deretan karakter dari argument buffer string.

String(StringBuider Membuat objek string baru yang berisi deretan


builder) karakter dari argument pembuat string.

Di bawah ini aka nada beberapa contoh penerapan dari operasi-operasi


yang dapat diterapkan pada string :

a. Membuat dan Menginisialisasi String


Untuk membuat dan menginisialisasi objek string, dapat menggunakan
denga dua cara, yaitu :
 Mendeklarasikan objek string pada deklarasi tipe data primitive.
Java mengizinkan bentuk pertama ini, dikarenakan pada bahasa
pemrograman lain menganggapnya sebagai tipe data. Java
mengadopsi bentuk pertama untuk kenyamanan programmer,
karena terbiasa mendeklarasikan string sebagai tipe data.
Bentuk umum :
String namaString =”NilaiString‟;
Contoh :
String nama =”Abu Aisah Az Zahr”;
 Membuat objek string dengan operator new.
Pada bentuk yang kedua ini, untuk mendelarasikan string anda
harus mengintansiasi objek dari kelas string, sebagaimana
menginstans kelas-kelas yang lain. Bentuk kedua ini merupakan
merni milik Java.
Bentuk umum :
String nama = new(“nilaiString”);
Contoh :
String nama = new(“Abu Aisah Az Zahra”);

69
b. Mengubah Karakter dan Substring
Perubahan krakter dari huruf kecil menjadi huruf besar atau sebaliknya
perubahan dari huruf besar menjadi huruf kecil disebut krakter change
case.
Untuk mengubah karakter menjadi karakter kecil Java menyediakan 2
method, yaitu :
String toLowerCase()
String toLowerCase(Locale locale)
Sedangkan method untuk mengubah karakter menjadi karakter capital
adalah :
String toUpperCase()
String toUpperCase(Locale locale)
Contoh Program :

Output :

c. Menghubungkan Dua String


Concatenation adalah menggabungkan dua atau lebih string, sehingga
menghasilkan string baru yang merupakan gabungan dari string-string
tersebut. Untuk menggabungkannya string, Java menyediakan method
Concat().
Bentuk umum :
String concat(String str)

70
Contoh Program :

Output :

d. Membandingkan String
Untuk membandingkan dua atau lebih string apakah sama atau tidak,
kalian dapat menggunakan dua kelas string, yaitu :
 Method equals()
Method ini digunakan untuk membandingkan dua string
berdasarkan nilai ASCII.
Bentuk :
boolean equals(Object obj)
boolean contentEquals(StringBuffer sb)
boolean contentEquals(CharSequence cs)
boolean contentEquals(String str)
Contoh :
String nama1 =”Pendidikan”;

String nama2=”Informatika”;

nama1.equals(nama2);
 Method compareTo()
Method ini digunakan untuk membandingkan dua string secara
leksikografi.
Bentuk :

71
Int compareTo(String str)
Int compareToIgnoreCase(String obj)
Contoh :
String nama =”Nina Putri”:
Nama.compareToIgnoreCase(“Nina Putri”);

e. Mencari Substring
String merupakan susunan karakter yang berindeks, sehingga
membentuk sebuah kata atau kalimat. Indeks ini dimanfaatkan untuk
mencari sebuah karakter atau substring dari sebuah string. Java
menyediakan dua cara untuk mencari karakter dan substring., yaitu
cara maju (forwad) dan cara mundur (backward).
Method yang digunakan untuk pencarian dengan cara maju adalah :
 Int indexOf(int ch)
 Int indexOf(int ch, int fromIndex)
 Int indexOf(String str)
 Int indexOf(String str, int fromIndex)
Method yang digunakan untuk pencarian dengan cara mundur adalah :
 Int LastIndexOf(int ch)
 Int LastIndexOf(int ch, int fromIndex)
 Int LastIndexOf(String str)
 Int LastIndexOf(String str, int fromIndex)
Method dalam klas string memperlihatkan sejumlah metode penting
dalam klas string, seperti :
- Copy ValueOf(char data[])
- Copy ValueOf(char data[], int offset, int jum)
- valueOf(boolean b)
- valueOf(double c)
- cocat(String s)
- length()
- trim()
- dan lain-lain

72
C. Kelas StringBuffer
Kelas StringBuffer adalah klas yang menyimpan string yang konstan,
begitu obyek string telah diciptakan maka string tidak dapat diubah. Pada
kondisi tertentu StringBuffer berisi suatu deretan karakter, akan tetapi
panjang dan isinya dapat berubah melalui pemanggilan method.
Prinsip kerja dari StringBuffer adalah menambahkan dan memasukkan
data secara berlebihan supaya menerima beberapa mecam jenis data.
Proses yang terjadi adalah mengonversi semua jenis data masukan menjadi
string, kemudian menambahkan karakter dalam string it uke dalam buffer.
Method append digunakan untuk menambahkan karakter sebagai tanda
untuk membedakan antar operasi.
Dalam kelas ini terdapat 4 konstruktor yang digunakan, yaitu :
 public StringBuffer() digunakan untuk menciptakan StringBuffer yang
kosong dan mempunyai kapasitas default yaitu 16 karakter.
 public StringBuffer(int n) digunakan untuk menciptakan StringBuffer
dengan n karakter.
 public StringBuffer(String srt) digunakan untuk membuat objek buffer
string dengan nilai awal sebuah string dan mempunyai kapasitas
sebesar panjang nilai awal ditambah 16 karakter.
 public StringBuffer(CharSquence seq) digunakan untuk membuat
objek buffer string dengan nilai awal berupa arra karakter yang
mempunyai kapasistas sebesar panjang nilai awal ditambah 16
karakter.
Method Kelas StringBuffer
Untuk memodifikai nilai buffer string, kelas StringBuffer mempunyai
beberapa method antara lain :
 Properti StringBuffer
 Operasi StringBuffer
 Menambahkan data StringBuffer
 Memasukkan data StringBuffer
 Mencari data StringBuffer
 Mengganti data StringBuffer

73
 Menghapus data StringBuffer
 Membalik data StringBuffer
 Konversi StringBuffer
1.3 Alat dan Bahan
1. Laptop/PC
2. NetBeans
3. Java
1.4 Langkah-Langkah Percobaan
1. Buatlah program seperti berikut !

2. Buatlah program seperti berikut !

3. Buatlah program seperti berikut !

74
4. Buatlah program seperti berikut !

1.5 Hasil dan Analisa Percobaan


1. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
latihan1{“. Selanjutnya terdapat psvm agar dapat merunning suatu
program yang telah dibuat. byte data[]=new byte [6]; merupakan array
baru yang dibuat dengan nama data, tipe data byte dan jumlah indexnya
adalah 6. data [0]=64; sampai data[5]=69; merupakan isi dari array data
dan nilainya. Pada program ini terdapat String s1=”selamat pagi” yang
sangat identik dengan String s1=new String(“selamat pagi”) berlaku juga
untuk String s2 dan juga string s3=new String(data) yang dimana string s3
ini akan membuat string tersusun atas karakter yang nilainya sama.
Seperti elemen pada array data dan juga string s4=new String (data,2,3);
yang dimana angka 3 menyatakan jumlah karakter yang menyusun string
dan angka 2 menyatakan pertama pada string, dan hasil diambil pada
indeks ke 2 array. Pada class juga terdapat System.out.println yang
dimana berfungsi untuk menginput data yang diinginkan dan berfungsi
juga untuk memberikan spasi kebawah.

75
2. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output tersebut adalah adanya class, yaitu “Class
latihan2{”. Di dalam class ini terdapat psvm yang dimana berfungsi untuk
menjalankan suatu program. Dan ada \n berfungsi untuk memberikan
spasi kebawah dan ada trim() yang berfungsi untuk memotong karakter
spasi pada bagian awal dan akhir, lalu ada length() yang berfungsi untuk
menghitung jumlah karakter yang di input, index of yang berfungsi untuk
mencari posisi pertama suatu string dalam string yang lain, lalu ada
charAt yang berfungsi untuk mengambil karakter pada sebuah string
sesuai index yang diinginkan, dan juga ada substring yang dimana
berfungsi untuk mencari sebuah karakter atau substring dari sebuah string,
lalu ada concat yang berfungsi untuk mengubah teks dari beberapa
rentang dan/atau string, tetapi tidak menyediakan pemisah, lalu ada
starwith yang berfungsi untuk menguji bagaimana satu teks terkait dengan
yang lain, lalu ada replace yang berfungsi untuk mengganti karakter yang
berada dalam string menjadi karakter baru yang diinginkan, selanjutnya
ada contains yang berfungsi untuk mengecek sebuah kalimat yang
mengandung karakter yang kita tentukan atau tidak, dan yang terakhir ada
isempty yang berfungsi untuk mengembalikan nilai Boolean yang
mengindikasi apakah variable sudah di inisialisasikan.
3. Hasil output dan analisa program seperti berikut :

76
Analisa :
Hasil analisa dari output tersebut adalah adanya class, yaitu “Class
latihan3{”. Di dalam class ini terdapat psvm yang dimana berfungsi untuk
menjalankan suatu program. Class ini memiliki method toLowercase yang
berfungsi untuk mengubah huruf menjadi huruf kecil dan toUppercase
yang berfungsi untuk mengubah huruf kecil menjadi huruf besar, lalu Dgn
trim yang berfungsi untuk memanggil data dari program di atas, dan juga
length yang berfungsi untuk menghitung berapa jumlah karakter yang di
input. Dan juga terdapat System.out.println yang berfungsi untuk
menginput data yang diinginkan.
4. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output tersebut adalah adanya class, yaitu “Class
latihan4{”. Di dalam class ini terdapat psvm yang dimana berfungsi untuk
menjalankan suatu program. Dalam class ini terdapat sbu.insert(int, n)
yang dimana berfungsi untuk menciptakan stringbuffer dengan n karakter.
Dan juga terdapat System.out.println yang berfungsi untuk menginput
data yang diinginkan.
1.6 Tugas
1. Jika ada program dengan menggunakan StringBuffer sebagai berikut :
public class StrBuf {

public static void main(String[] args) {

StringBuffer sbuf = new StringBuffer(25);

System.out.println("Isi:"+sbuf.toString());

System.out.println("Kapasitas:"+sbuf.capacity());

77
System.out.println("Panjang:"+sbuf.length());

sbuf.append(“Selamat Belajar”);

sbuf.append(“PemrogramanDasar Java”);

sbuf.append(“Kelas 1B”);

}}

Hasil Output :
Isi :

Kapasitas :25

Panjang :0

Press any key to continue…

Tambahkan program tersebut di atas dengan modifikasi nilai variable nilai


isi sebagai berikut :

A. Selamat Belajar
B. Selamat Belajar Java
C. Selamat Belajar Kelas 1B
D. Selamat Belajar Pemrograman Dasar Java Kelas 1B
Jawaban
A. Selamat Belajar
 Source Code
public class Tugas1 {

public static void main(String[] args) {

StringBuffer sbuf = new StringBuffer(25);

sbuf.append("Selamat Belajar");

System.out.println("Isi:"+sbuf.toString());

78
System.out.println("Kapasitas:"+sbuf.capacity());

System.out.println("Panjang:"+sbuf.length());

sbuf.append("PemrogramanDasar Java");

sbuf.append("Kelas 1B");

}}

 Input

 Output

B. Selamat Belajar Java


 Source Code
class Tugas2 {

public static void main(String[] args) {

StringBuffer sbuf = new StringBuffer(25);

sbuf.append("Selamat Belajar");

sbuf.insert(15," Java");

System.out.println("Isi:"+sbuf.toString());

System.out.println("Kapasitas:"+sbuf.capacity());

79
System.out.println("Panjang:"+sbuf.length());

sbuf.append("PemrogramanDasar Java");

sbuf.append("Kelas 1B");

}}

 Input

 Output

C. Selamat Belajar kelas 1B


 Source Code
class Tugas3 {

public static void main(String[] args) {

StringBuffer sbuf = new StringBuffer(25);

sbuf.append("Selamat Belajar");

sbuf.append(" Kelas 1B");

System.out.println("Isi:"+sbuf.toString());

System.out.println("Kapasitas:"+sbuf.capacity());

System.out.println("Panjang:"+sbuf.length());

sbuf.append("PemrogramanDasar Java"); }}

80
 Input

 Output

D. Selamat Belajar Pemograman Dasar Java Kelas 1B


 Source Code
class Tugas4 {

public static void main(String[] args) {

StringBuffer sbuf = new StringBuffer(25);

sbuf.append(" Selamat Belajar");

sbuf.append(" Pemrograman Dasar Java");

sbuf.append(" Kelas 1B");

System.out.println("Isi:"+sbuf.toString());

System.out.println("Kapasitas:"+sbuf.capacity());

System.out.println("Panjang:"+sbuf.length());

}}

81
 Input

 Output

1.7 Kesimpulan
String merupakan tipe data yang terdiri dari barisan karakter. String
digunakan untuk menyimpan kalimat atau teks yang merupakan gabungan
dari, huruf, angka, spasi, dan berbagai karakter lainnya. Kelas string
mempunyai beberapa method yang digunakan untuk melakukan operasi
string. Adapun operasi-operasi yang dapat diterapkan pada string, antara lain
membuat dan menginisialisasi string, membandingkan string, mengubah case
string, menghubungkan dua string, mencari karakter dan substring, konversi
string, format string.
1.8 Lampiran

Gambar 1.1 Bukti Mengikuti Praktikum

82
LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR

MODUL VI

Penyusun:
Desi Permatasari (220631100036)

LABORATORIUM SISTEM INFORMASI PENDIDIKAN

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2022

83
MODUL VI

Array

1.1 Tujuan
1. Mahasiswa mampu mendeklarasikan dan membuat array.
2. Mahasiswa mampu mengakses elemen-elemen array.
3. Mahasiswa mampu menentukan jumlah element dalam sebuah array.
4. Mahasiswa mampu mendeklarasikan dan membuat array multidimensi.
1.2 Landasan / Dasar Teori
A. Pengenalan Array
Dalam mendeklarasian variable,kita sering menggunkan tipe data yang
sama namun dengan nama variable atau identifier yang berbeda-beda.
Sebagai contoh, kita memiliki tiga variable dengan tipe da tint dengan
identifier yang berbeda tiap variablenya.
int angka1;

int angka2;

int angka3;

angka1=10;

angka2=20;

angka3=30;
Pada contoh diatas, kode tersebut kurang efektif karena harus
menginisialisasi dan menggunakan tiap variable padahal dalam java atau
pemrograman lain terdapat kemampuan lain untuk menampung variable-
variable dengan tiap data yang sama dan dapt dimanipulasi dengan efektif.
Hanya untuk menginisialisasi dan menggunakan variable terutama pada
saat variable-variable tersebut memiliki tujuan yang sama, dirasa sangat
membingungkan. Di java maupun di bahsa pemrograman yang lain,
mereka memiliki kemampuan untuk meggunakan satu variable yang dapat
menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih
efektif. Tipe data ini disebut dengan array.

84
Contoh dari integer array :
0 1 2
Number : 1 2 3

Sebuah array akan menyimpan beberapa item data dengan tipe data yang
sama di dalam sebuah blok memori yang berdekatan yang kemudian di
bagi menjadi beberapa slot. Bayangkanlah arrya adalah sebuah tipe
variable sebuah lokasi memori tertentu yang memiliki satu nama sebagai
identifier, akan tetapi ia dapat menyimpan lebih dari sebuah value. Atau
secara singkatnya yaitu array digunakan untuk menyimpan beberapa nilai
dalam satu variable, alih-alih mendeklarasikan variable terpisah untuk
setiap nilai.
B. Pendeklarasian Array
Array harus di deklarasikan seperti layaknya sebuah variable, apabila anda
mendeklarasikan array maka harus membuat sebuah list dari tipe data,
yang di ikuti oleh tanda kurung siku buka dan kurung siku tutup, yang
diikuti oleh nama identifier.
Sebagai contoh :
//tipe [] nama array;
int [] nilai;

Atau dapat menempatkan kurung buka dan kurung tutupnya setelah


identifier.
Sebagai contoh :

//tipe namaArray[];
int nilai[];

Setelah pendeklarasian, kita harus membuat array dan menentukan


beberapa panjangnya dengan sebuah konstruktor, proses ini di dalam java
disebut instantiation/instantiasi (kata dalam Java yang berarti membuat).
Untuk meng-instantiasi sebuah objek, kita membutuhkan sebuah
konstruktor. Kita akan membicarakan lagi meng-instantiasi dan pembuatan
konstruktor pada praktikum selanjutnya perlu diperhatikan bahwa ukuran

85
dari array tidak dapat di ubah setelah kita mengisialisasinya.
Contoh :
//deklarasi objek

//format penulisan=tipe namaArray[];

int nilai[];

//instantiasi objek

//format penulisan=variableArray=new tipe[jumlahElemen];


nilai=new int[100];

Atau bias juga ditulis

//deklarasi dan instantiasi yang digabung

//format penulisan=tipe namaArray[]=new tipe[jumalahElemen];

int nilai[]=new int[100];

Keterangan :
Tipe : Untuk menyatakan type data yang digunakan.
Jumlah elemen : Untuk menyatakan jumlah maksimum elemen array.
Pada contoh diatas, deklarasi akan memberitahukan kepada compiler java,
bahwa identifier nilai akan digunakan sebagai nama array yang berisi data-
data integer, dan kemudian untuk membuat atau meng-instantiasi sebuah
array baru yang terdiri dari 100 elemen.
Selain menggunakan sebuah keyword baru untuk menginstantiasi array,
juga dapat secara otomatis mendeklarasikan array, membangun, kemudian
memberitahukan sebuah nilai (value).
Contoh :
//membuat sebuah array yang berisi variable-variable Boolean
pada sebuah identifier.

//array ini terdiri dari 4 elemen yang diinialisasikan sebagai value


{true,false,true,false}

86
boolean result[]={true,false,true,false};

//membuat sebuah array yang terdiri dari penginialisasian 4


variable double bagi value{100,90,80,75}

double[4]={100,90,80,75};

//membuat sebuah array String dengan identifier days. Array ini


terdiri dari 7 elemen.

String days[]={“mon”,”tue”,”wed”,”thu”,”fri”,”sat”,”sun”};

C. Mengakses Elemen Array


Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian
dari array, anda harus menggunakan sebuah nomor atau yang disebut
sebagai index atau subscript.
Sebuah nomor index atau subscript telah diberikan kepada tiap anggota
array, sehingga program dan programmer dapat mengakses setiap value
apabila dibutuhkan. Index selalu dalam integer. Dimulai dari nol,
kemudian akan terus bertambah sampai list value dari array tersebut
berakhir. Perlu dicatat, bahwa elemen-elemen di dalam array dimulai dari
0 sampai dengan (ukuran array-1).
1. Pengaksesan Langsung
Data array dapat diakses langsung dengan cara :
int angka []={6,7,8,9,10};//elemen-elemen array

System.out.println(angka[2]);//mengakses elemen array

Kode diatas akan mengakses data pada variable “angka” pada array
indeks ke-2.

87
2. Menggunakan FOR
int[] arr=new int[100];

for(int i=0;i<20;i++){

System.out.print(arr[i]);

Dari program diatas array menyediakan 100 tempat kosong untuk diisi
tapi FOR hanya akan menampilakan 20 data saja.
Contoh program :
public class NewClass {

public static void main(Stringg[] args){

Scanner input=new Scanner(System.in);

int[] arr=new int[5];

//for ini digunakan untuk memasukkan data array


for(int i=0;i<5;i++)

System.out.print(“Masukan data ke”+i+”=”);

arr[i]=input.nextInt();

System.out,println(“\n”);

System.out.println(“Hasil Keluaran data”);

//for ini untuk menampilkan data arrya yang


dimasukan for(int i=0;i<5;i++) {

System.out.println(arr[i]);

}}

88
Output :

D. Panjang Array
Untuk mengetahui berapa banyak elemen didalam sebuah array, anda
dapat menggunakan length (panjang) field dalam array. Panjang field
dalam array akan mengembalikan ukuran dari array itu sendiri.
Contoh:
arrayNamaarray.lenght
Pada contoh sebelumnya, kita dapat menuliskannya kembali seperti
berikut ini :
public static void main(String[] args) {

int[] arr=new int[100];

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

System.out.print(arr[i]);

E. Array Multidimensi
Array multidimensi merupakan array yanga da di dalam array. Array
multidimensi juga dapat diartikan sebagai matrix yang terdiri dari baris
dan kolom. Array multidimensi dideklarasikan dengan menambah tanda
kurung siku setelah nama array.

89
Contoh deklarasi array :
//array integer dengan ukuran 100 x 100

int twoA [] []=new int [100] [100];

//contoh array String dengan ukuran 3 x 2

{“budi”, “rudi”},

{“tono”, “rudi”},

{“okta”, “tasya”}

};

Untuk mengakses elemen array multidimensi, caranya hamper sama


dengan array satu dimensi. Hanya saja dalam array multidimensi kita perlu
menentukan letak kolom dan baris dari elemen tersebut. Misalnya untuk
mengakses elemen pertama dari array mahasiswa di atas kita tuliskan :

System.out.print(mahasiswa [0] [0]);

Output :

F. Array List
Array yang sudah kita bahas di atas sebenarnya memiliki beberapa
kekurangan, seperti :
1. Tidak mampu menyimpan data dengan tipe yang berbeda.
2. Ukurannya tidak dinamis.
Oleh karena itu kita dapat menggunakan Array List untuk menutupi
kekurangan tersebut. Array List merupakan sebuah class yang
memungkinkan kita membuat sebuah objek untuk menampung apapun.
Untuk menggunakan Array List kita harus mengimport
import java.util.ArrayList;

90
Setelah itu baru kita bias membuat sebuah objek Array List
ArrayList al=new ArrayList();

Contoh program :
class arrayList {

public static void main(String[] args) {

//membuat objek array list

ArrayList kantongAjaib=new ArrayList();

//Mengisi kantong ajaib dengan 5 benda

kantongAjaib.add(“Senter Pembesar”);

kantongAjaib.add(532);

kantongAjaib.add(“tikus”);

kantongAjaib.add(1231234.132);

kantongAjaib.add(true);

//menghapus tikus dari kantong ajaib

kantongAjaib.remove(“tikus”);

//Menampilkan isi kantong ajaib

System.out.println(kantongAjaib);

//menampilkan banyak isi kantong ajaib

System.out.println(“Kantong ajaib
berisi”+kantongAjaib.size()+”item”);

}}

91
Output :

Karena array List („KantongAjaib‟) merupakan sebuah objek yang terbuat


dari class Array List, maka dia punya method (fungsi) untuk melakukan
sesuatu.
1. Fungsi „add()‟ untuk menambahkan sesuatu kedalam Array List;
2. Fungsi „remove()‟ untuk menghapus sesuatu kedalam Array List;
3. Fungsi „size()‟ untuk mengambil ukuran Array List;
4. Fungsi „get(id)‟ untuk mengambil item dalam Array List berdasarkan
is atau indeks tertentu.
5. Dan masih banyak fungsi yang lainnya.
1.3 Alat dan Bahan
1. Laptop/PC
2. NetBeans
1.4 Langkah-Langkah Percobaan
1. Buatlah program seperti berikut !
class latihan1 {

public static void main(String[] args) {

String[] mahasiswa=new String[5];

Scanner scan=new Scanner(System.in);

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

System.out.print(“Mahasiswa ke-”+i+”:”);

Mahasiswa[i]=scan.nextLine();}

92
System.out.println(“------------------------”);

for(String b : mahasiswa){

System.out.println(b);

}}}

2. Buatlah program seperti berikut !


public class Latihan2 {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

String mahasiswa [][]=new String[3][3];

System.out.println("Inputkan :");

for(int i=0;i<3;i++){

for(int j=0;j<3;j++){

System.out.print("baris ke-"+(i+1)+"kolom ke-


"+(j+1)+"=");

mahasiswa [i][j]=in.next();}}

System.out.println();

System.out.println("Output :");

for(int i=0;i<3;i++){

for(int j=0;j<3;j++){

System.out.print(mahasiswa [i][j]+"");}

System.out.println("");

}}}

93
1.5 Hasil dan Analisa Percobaan
1. Hasil dan analisa program seperti berikut :

Analisa :
Hasil analisa dari program di atas adalah adanya class yaitu “class latihan1
{”. Selanjutnya terdapat psvm untuk merunning suatu program. Pada
program tersebut menggunkan kode program String, program ini
menggunakan Scanner masuk yang berfungsi untuk menginput data atau
nilai pada sat program di running. Tipe data yang digunkaan pada program
tersebut yaitu string dan integer, pada baris kode program for(int
i=0;i<mahasiswa.length;i++){, mahasiswa.length artinya panjang arraynya
5 atau nama mahasiswa yang akan keluar sebnayak 5 mahasiswa. Operator
yang digunkan adalah operator logika numeric dan aritmatika, program
tersebut menggunakan System.out.println dan System.out.print.
2. Hasil dan analisa program seperti berikut :

Analisa :
Hasil analisa dari program di atas adalah adanya class yaitu “class latihan2
{”. Selanjutnya terdapat psvm untuk merunning suatu program. Program
ini menggunakan Scanner masuk yang berfungsi untuk menginput data
atau nilai pada saat program dirunning. Program tersebut menggunakan
System.out.println dan System.out.print, operator yang digunakan adalah
operator logika numeric dan aritmatika, program tersebut menggunakan

94
array multidimensi untuk mengakses elemen arraynya menggunakan
perulangan for, tipe data yang digunakan yatu tipe data string dan iteger.
1.6 Tugas
1. Buatlah program array yang menampung nama-nama teman kelas anda
sebanyak 10 orang. Gunakan Scanner untuk inputannya, dan gunakan
perulangan untuk menanmpilkannya!
Jawaban
A. Input

B. Output

2. Buatlah sebuah array yang menampung nama-nama hari dalam seminggu.


Gunakan Scanner untuk inputannya dan perulangan untuk
menampilkannya!
Jawaban
A. Input

95
B. Output

1.7 Kesimpulan
Array adalah kumpulan data yang terstruktur dengan nama variable sama dan
bertipe sama tetapi mempunyai indeks yang berbeda-beda. Array digunakan
untuk menyimpan beberapa nilai dalam satu variable, untuk mengakses
elemen array dapat dilakukan secara langsung dan menggunakan perulangan
for. Untuk mengetahui berapa banyak elemen didalam sebuah array dapat
menggunakan length (panjang) field dalam array. Array List merupakan
sebuah class yang memungkinkan kita membuat sebuah objek untuk
menampung apapun. Array multidimensi merupakan array yang ada didalam
array, array multidimensi juga dapat diartikan sebagai matrix yang terdiri dari
baris dan kolom.
1.8 Lampiran

Gambar 1.1 Bukti Mengikuti Praktikum

96
LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR

MODUL VII

Penyusun:
Desi Permatasari (220631100036)

LABORATORIUM SISTEM INFORMASI PENDIDIKAN

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2022

97
MODUL VII

Rekursif

1.1 Tujuan
1. Mahasiswa mampu memahami konsep algoritma rekursif.
2. Mahasiswa mampu menyelesaikan beberapa permasalahan rekursif.
1.2 Landasan / Dasar Teori
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri secara berulang-
ulang. Karena prosenya dilakukan secara berulang-ulang, maka harus ada
kondisi „dasar‟ yang mengendalikan akhir proses rekursif. Algoritma rekursif
mengurangi persoalan menjadi lebih sederhana dengan terus mengurangi
persoalan sampai pada persoalan yang bias diselesaikan secara langsung (base
case).
Dalam persoalan tertentu, teknik rekursif sangat menyederhanakan algoritma
dan teknis pemrograman. Namun demikian, fungsi rekursif juga memiliki
kekurangan. Dalam fungsi rekursif, pemanggilan ke dirinya sendiri bias berarti
proses yang berulang yang tidak bias diketahui secara pasti kapan berakhirnya.
(Ini perlu diperhatikan oleh para pemrogram agar tidak terjdi algoritma yang
tanpa akhir, yang kadang mengakibkan run-time stack error). Oleh karena itu,
untuk menentukan apakah kita akan menggunakan perulangan (while, do-
while, serta for) bias atau menggunakan teknik rekursif, kita harus
mempertimbangkan jenis permasalahan yang akan kita selesaikan serta
sejumlah kita memahami masing-masing prosenya.
Fungsi rekursif terdiri dari base case dan recursive step. Base case adalah
kondisi „dasar‟ yang mampu menghentikan suatu proses rekursif. Recursive
step adalah bagian dari fungsi rekursif yang memanggil dirinya sendiri. Dalam
pemanfaatan teknik rekursif, selain memformulasikan recursive step,
perhatikan juga parameter apa saja yang diperlukan untuk initial condition.
Salah satu persoalan yang berkaitan dengan pemanfaatan teknik rekursif
adalah menghitung nilai factorial bilangan. Contoh pada prosedur factorial,
parameter yang digunakan adalah x (bilangan yang dikalikan), serta base case
dan recursive step yang digunakan adalah :

98
Pendekatan pemecahan masalah rekursif memiliki sejumlah elemen yang
sama. Ketika fungsi rekursif pada java ini dipanggil untuk memecahkan
masalah, sebenarnya hanya mampu menyelesaikan kasus yang paling
sederhana, atau kasus dasar. Jika method ini disebut dengan kasus dasar,
method itu mengembalikan hasil. Jika method ini disebut dengan masalah
yang lebih kompleks, method tersebut biasanya membagi masalah menjadi
dua bagian konseptual bagian yang diketahui cara melakukannya dan bagian
yang tidak diketahui bagaimana melakukannya. Untuk membuat rekursif
menjadi layak, bagian yang terakhir harus menyerupai masalah aslinya, tetapi
versi yang sedikit lebih sederhana atau lebih kecil. Karena masalah baru ini
terlihat seperti masalah asli, method ini memanggil salinan baru dari dirinya
untuk bekerja pada masalah yang lebih kecil ini disebut sebagai panggilan
rekursif dan juga disebut langkah rekursif.
Langkah rekursi biasanya mencakup pernyataan pengembalian, karena
hasilnya akan digabungkan dengan bagian dari masalah yang diketahui
method untuk menyelesaikan untukmembentuk hasil yang akan diteruskan
kembali ke pemanggil asli. Langkah rekursi dijalankan sementara
pemanggilan method asli masih aktif (misalnya., Belum selesai dieksekusi).
Ini dapat menghasilkan lebih banyak panggilan rekursif karena method ini
membagi setiap sub-masalah baru menjadi dua bagian konseptual. Agar
rekursi akhirnya berakhir, setiap kali method memanggil dirinyasendiri
dengan versi yang lebih sederhana dari masalah aslinya, urutan masalah yang
lebih kecil dan lebih kecil harus menyatu pada kasus dasar. Ketika method
mengenali kasus dasar, itu mengembalikan hasil ke salinan method
sebelumnya. Urutan pengembalian terjadi sampai pemanggilan method asli
mengembalikan hasil akhir ke pemanggil.
Method rekursif dapat memanggil method lain, yang pada gilirannya membuat
panggilan kembali ke method rekursi. Ini dikenal sebagai panggilan rekursif
tidak langsung atau rekursi tidak langsung. Misalnya, method A memanggil
method B, yang membuat panggilan kembali ke method A. Ini masih rekursi,
karena panggilan kedua ke method A dilakukan saat panggilan pertama ke
method A aktif yaitu panggilan pertama ke method A belum selesai dieksekusi

99
(karena sedang menunggu method B untuk mengembalikan hasilnya) dan
belum kembali ke pemanggil asli method A.
Untuk lebih memahami konsep rekursif, mari kita lihat contoh yang cukup
akrab bagi pengguna komputer, definisi rekursif direktori pada komputer.
Komputer biasanya menyimpan file terkait dalam direktori. Direktori dapat
kosong, dapat berisi file dan / atau dapat berisi direktori lain (biasanya disebut
sebagai subdirektori). Masing-masing subdirektori ini, pada gilirannya, dapat
juga berisi file dan direktori. Jika kita ingin membuat daftar setiap file dalam
direktori (termasuk semua file dalam subdirektori direktori), kita perlu
membuat method yang pertama-tama mendaftar file direktori awal, kemudian
membuat panggilan rekursif untuk membuat daftar file di masing-masing
subdirektori direktori itu. Kasus dasar terjadi ketika direktori tercapai yang
tidak mengandung subdirektori. Pada titik ini, semua file dalam direktori asli
telah terdaftar dan tidak perlu rekursi lebih lanjut. Dalam pemrograman,
rekursif dapat diimplementasikan pada method. Syarat supaya method rekursi
dapat terjadi adalah harus ada kondisi dimana pemanggilan terhadap method
itu sendiri berakhir.
Contoh Faktorial Rekursif
Kita sudah pernah membuat sebuah algoritma dan program untuk menghitung
faktorial dengan iterasi. Sekarang, kita akan membuatnya dengan rekursif.
Kita ingat lagi :
Faktorial N dengan N=5 artinya
N! = 5*4*3 * 2 * 1
Dan faktorial 1 = 1.
Dihitung dengan iterasi dan pernyataan for menjadi sebagai berikut:
faktorial = 1;
for (int counter = N; counter>=1; counter--)
faktorial = faktorial * counter;
Sekarang kita akan menghitung faktorial secara rekursif. Rumusan umum
method faktorial secara rekursif adalah sebagai berikut:
N! = N * (N-1)!
Sebagai contoh, untuk menghitung faktorial dengan N=5.

100
5! = 5 * 4 * 3 * 2 * 1
5! = 5 * (4 * 3 * 2 * 1)
5! = 5 * 4!
Evaluasi untuk 5! Ditunjukkan pada Gambar 1. Gambar 1 menunjukkan
bagaimana urutan pemanggilan rekursif sampai kepada pemanggilan faktorial
1 yang merupakan nilai akhir dengan hasil 1.

 faktorial(x) = 0; if x = 0 (Base case)


 faktorial(x) = x * faktorial(x-1); otherwise
(Recursive step)

Contoh #1 : Faktorial
Berikut contoh proses perhitungan faktorial(4) atau 4!
Menggunakan algoritma rekursif, perhitungan faktorial(4) sebagai berikut:
faktorial(4)
-> faktorial(4) =4*faktorial(4-1)
= 4*faktorial(3) ->faktorial(3) = 3*faktorial(3-1)
= 4*3*faktorial(2) ->faktorial(2) = 2*faktorial(2-1)
= 4*3*2*faktorial(1) ->faktorial(1) = 1*faktorial(1-1)
= 4*3*2*1*faktorial(0) ->faktorial(0) = 1
-> Hasil akhir = 24
Contoh #2 : Perkalian
Berikut pemikiran alternatif yang bisa dilakukan:
a * b = a + a + ... + a
copies
= a + a + ... + a

101
Copies
= a + a * (b -1)
Contoh program :
class Rekursif {

public static void main(String[] args) {

System.out.println("Faktorial ");

int x=4;

System.out.println(x+"!");

System.out.println("hasil : "+faktorial(x));

static int faktorial(int x){

if(x==0){

return 1;

}else{

return x*faktorial(x-1);

}}}

pada program diatas itu memfaktorialkan angka 4 sehingga waktu di


faktorialkan menjadi 24.
Bentuk dasar program yang akan kita buat mempunyai bentuk dasar seperti
ini:
public class App {

static int Faktorial(int angka) {

if (angka == 1 || angka == 0)

return 1;

else

102
public static void main(String[] args) throws Exception {
System.out.println("Nilai Faktorial: " + Faktorial(4));

}}
Penjelasan program langkah selanjutnya kita buat fungsi dengan nama
faktorial untuk menghitung nilai faktorial.
public static int Faktorial(int angka) {

if (angka == 1 || angka == 0 )

return 1;

else

return angka * Faktorial(angka - 1); }

Static digunakan untuk mendeklarasikan method atau fungsi disini kita


membuat fungsi bernama faktorial, lalu kita menambahkan int angka yaitu
adalah parameter bertipe integer.
Selanjutnya untuk membuat fungsi ini kita harus memperhatikan nilai yang
digunakan untuk menghentikan fungsi rekursif ini seperti pada contoh jika
nilai parameter angka = 1 atau 0 maka nilai yang dikembalikan 1(1!=1,0!=1)
jika nilai yang dikembalikan adalah angka* Faktorial(angka-1) perulangan ini
akan terus berjalan sampai nilai angka=1.
Langkah selanjutnya kita membuat fungsi void main untuk memanggil fungsi
tersebut.
public static void main(String[] args)throws Exception {

System.out.println(“Nilaii Faktorial :”+Faktorial(4)); }

Full code hingga bentuk dasar program kita seperti ini


public class App {
static int Faktorial(int angka) {
if (angka == 1 || angka == 0 )
return 1;

103
else
return angka * Faktorial(angka - 1);
}
public static void main(String[] args) throws Exception {
System.out.println("Nilai Faktorial: " + Faktorial(4));

}}

Ketika dijalankan maka hasilnya seperti ini, Setelah mengetahui bentuk dasar
program kita dapat menambahkan fungsi input agar program dapat
berinteraksi dengan pengguna, kita menggunakan modul Scanner seperti ini :
import java.util.Scanner;

public class App {

static int Faktorial(int num) {

if (num == 1 || num == 0 )

return1 ;

else

return num * Faktorial(num - 1);

public static void main(String[] args){

Scanner input = new Scanner(System.in);

System.out.print(“Masukan Angka :”);

int angka = input.nextInt();

System.out.println(angka +”! adalah”+Faktorial(angka));

}}

104
Membuat perulangan pada faktorial
Pertama, untuk mempermudah pembuatan program, buatlah sebuah fungsi
yang akan digunakan untuk mempermudah membuat program, fungsi /
method sendiri berfungsi untuk menghindari penulisan kode yang berulang-
ulang yang memiliki fungsi yang sama.
static int Faktorial(int a){

int hasil = 1;

for (int i=a; i>0; i--){

hasil *=i;

return hasil;

Static digunakan untuk mendeklarasikan variable atau method/fungsi yang


berdiri sendiri tanpa perlu instance dari suatu class.
(int a) merupakan parameter dari fungsi Faktorial
for (int i=a; i>0; i--) untuk membuat perualangan sebanyak angka yang
dimasukkanoleh user, didalam perulangan akan di tentukan nilai dari hasil,
setiap kali perulangan hasil akan dikalikan dengan nilai i, nilai i dapat
berubah-ubah dari angkaterbesar (yang dimasukkan user) sampai dengan lebih
dari 0.
return hasil, artinya nilai hasil akan dikembalikan kepada yang memanggilnya.
Kedua, buatlah fungsi void main yang didalam fungsi ini kita akan
memanggilfungsi Faktorial.
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan angka: ");
int angka = input.nextInt();
System.out.println(angka+"! adalah "+Faktorial(angka)); }

105
Karena kita mengunakan non-access-modifier static maka kita tidak perlu
membuat instance untuk memanggil fungsi, caranya dengan langsung
memanggil nama fungsi yaitu Faktorial kemudian diikuti nilai dari parameter.
Full Code :

import java.util.Scanner;
public class T2MencariFaktorial {
static int Faktorial(int a){
int hasil = 1;
for (int i=a; i>0; i--){
hasil *=i;
}
return hasil;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Masukkan angka: ");
int angka = input.nextInt();
System.out.println(angka+"! adalah "+Faktorial(angka));
}}

Output :

Masukkan angka : 12

12! Adalah 479001600

1.3 Alat dan Bahan


1. Laptop/PC
2. NetBeans

106
1.4 Langkah-Langkah Percobaan
1. Buatlah program seperti berikut!
class latihan1{

public static void main(String[] args) {


System.out.println("Faktorial");

int bilangan=4;

System.out.println(bilangan +"!");

System.out.println("Hasil : "+factorial(bilangan)); }

static int factorial(int x){

if (x==1)

return 1;

else

return x*factorial(x-1);

}}

2. Buatlah program seperti berikut!


class latihan2 {

public static void main(String[] args) {

System.out.print("Masukkan bilangan yang akan di-


FAKTORIALkan : ");

final int bilangan = inputData();

System.out.println("Hasil : "+faktorial(bilangan));}

static int faktorial (int x){

if (x==0)

return 1;

107
else

return x*faktorial (x-1);}

static int inputData(){

BufferedReader bfr= new BufferedReader(new


InputStreamReader(System.in));

String angkaInput =null;

try{

angkaInput =bfr.readLine();}

catch (IOException e){

e.printStackTrace();}

int Data= Integer.valueOf(angkaInput).intValue();

return Data;

}}

1.5 Hasil dan Analisa Percobaan


1. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
latihan1{“. Selanjutnya teradapat psvm untuk merunning suatu program,
fungsi void main untuk memanggil fungsi tersebut. Program tersebut
bertujuan untuk menghitung nilai faktorial menggunakan fungsi rekursif.
static digunakan untuk mendeklarasikan method atau fungsi disini kita
membuat fungsi bernama Faktorial, dan menambahkan int x yaitu adalah

108
parameter bertipe integer. Selanjutnya, perhatikan nilai yang digunakan
untuk menghentikan fungsi rekursif program tersebut, jika nilai parameter
angka = 1 maka nilai yang dikembalikan 1, jika nilai yang dikembalikan
adalah x * Factorial (x-1) perulangan ini akan terus berjalan sampai nilai
angka == 1.
2. Hasil output dan analisa program seperti berikut :

Analisa :
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
latihan2{“. Selanjutnya teradapat psvm untuk merunning suatu program,
fungsi void main untuk memanggil fungsi tersebut. Program tersebut
bertujuan untuk menghitung nilai faktorial menggunakan fungsi rekursif.
static digunakan untuk mendeklarasikan method atau fungsi disini kita
membuat fungsi bernama Faktorial, dan menambahkan int x. Selanjutnya,
perhatikan nilai yang digunakan untuk menghentikan fungsi rekursif
program tersebut, jika nilai parameter angka = 0 maka nilai yang
dikembalikan 1, jika nilai yang dikembalikan adalah x * Faktorial (x-1)
perulangan ini akan terus berjalan sampai nilai angka == 1. static int
inputData(){ digunakan untuk menginputkan final int bilangan / hasil pada
saat program di running.
1.6 Tugas
1. Buatlah program deret angka 4,8,12,16,20,24 dengan fungsi rekursif !
Jawaban
A. Input

109
B. Output

C. Analisa program
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
tugas1{“. Selanjutnya teradapat psvm untuk merunning suatu program,
fungsi void main untuk memanggil fungsi tersebut. static digunakan
untuk mendeklarasikan method atau fungsi disini kita membuat fungsi
bernama Integer Rekursif, lalu kita menambahkan int n yaitu adalah
parameter bertipe integer. Selanjutnya, perhatikan nilai yang
digunakan untuk menghentikan fungsi rekursif program tersebut, jika
nilai parameter angka = 0 maka nilai yang dikembalikan 0, jika nilai
yang dikembalikan adalah 4 + Rekursif (n -1) perulangan ini akan terus
berjalan sampai nilai angka == 0.
2. Buatlah program deret angka 0,1,1,2,3,5,8,13,21,34 dengan fungsi
rekursif!
Jawaban
A. Input

B. Output

110
C. Analisa program
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
tugas2{“. Selanjutnya teradapat psvm untuk merunning suatu program,
fungsi void main untuk memanggil fungsi tersebut. static digunakan
untuk mendeklarasikan method atau fungsi disini kita membuat fungsi
bernama Integer Rekursif, lalu kita menambahkan int n yaitu adalah
parameter bertipe integer. Selanjutnya, perhatikan nilai yang
digunakan untuk menghentikan fungsi rekursif program tersebut, jika
nilai parameter angka = 0 maka nilai yang dikembalikan 0, jika nilai
parameter angka = 1 maka nilai yang dikembalikan 1, jika nilai yang
dikembalikan adalah Rekursif(n - 1) + Rekursif(n - 2) perulangan ini
akan terus berjalan sampai nilai angka == 0 atau ==1.
3. Buatlah program dengan fungsi rekursif untuk menyelesaikan
perpangkatan !
Jawaban
A. Input

B. Output

111
C. Analisa program
Hasil analisa dari output diatas adalah adanya class, yaitu “Class
Tugas3{“. Selanjutnya teradapat psvm untuk merunning suatu
program, fungsi void main untuk memanggil fungsi tersebut. static
digunakan untuk mendeklarasikan method atau fungsi, pada program
di atas menggunakan fungsi rekursif untuk menghitung pangkatan,
dengan memasukkan nilai yang mau di pangkatkan. X diatas
digunakan untuk angka yang akan dipangkatkan dan Y digunakan
untuk perpangkatannya.
1.7 Kesimpulan
Rekursif merupakan teknik pemrograman yang penting dan beberapa bahasa
pemrograman mendukung keberadaan proses rekursif ini. Fungsi rekursif
adalah fungsi pemanggilan kedirinya sendiri bisa berarti proses berulang yang
tidak bias diketahui kapan berakhirnya, Fungsi rekursif terdiri dari base case
dan recursive step.
1.8 Lampiran

Gambar 1.1 Bukti Mengikuti Praktikum

112
PENUTUP LAPORAN AKHIR
1. Kesimpulan
A. Algoritma dan Pemrograman Dasar
Pada dasarnya bahasa pemrograman java termasuk kedalam golongan
tingkatan bahasa dengan level lebih tinggi dengan yang lainnya. Karena
banyak kelebihan serta keunggulan java dibanding dengan yang lainnya.
Maka dari itu algoritma berperan penting dalam penyelesaian suatu
masalah dan NetBeans adalah salah satu aplikasi IDE (Integrated
Development Environment) yang digunakan oleh developer software
computer untuk menulis, meng-compile, mencari kesalahan, dan untuk
menyebarkan program.
B. Mengenal Java
Apabila ingin membuat program menggunakan bahasa pemrograman Java
maka ada beberapa ketentuan yang harus diperhatikan. Seperti contohnya
dalam membuat sebuah program pada Java pengguna baru membuat
package dan class terlebih dahulu. Bagian method main () merupakan blok
program yang akan dieksekusi terlebih dahulu. Java juga dapat dijalankan
di berbagai macam system operasi komputer. Sehingga program yang ada
pada java tidak akan sulit untuk dipindahkan ke komputer yang lain.
Untuk saat ini Java merupakan salah satu bahasa pemrograman yang
terkenal dan banyak digunakan.
C. Seleksi Kondisi
Saat menggunakan konstruksi if maka kita hanya memiliki satu
pernyataan yang akan dijalankan dengan syarat tertentu. Selanjutnya
adalah konstruksi if else yang pada saat digunakan kita memiliki dua
penyataan dengan syarat tertentu. Konstruksi else if saat digunakan
memiliki banyak kondisi (lebih dari 2) dan banyak pernyataan . Maka
dapat disimpulkan bahwa setiap program seleksi kondisi memiliki syarat
dan pernyataan masing-masing untuk menjalankan program.
D. Perulangan / Looping
Looping atau perulangan, yaitu while, do while, for, dan juga nestedloop.
Disetiap jenis perulangan memiliki perbedaan dan kegunaan masing-

113
masing, kegunaan perulangan ini mempersingkat codingan kita, sehingga
kita tidak perlu meruling ulang berkali-kali.
E. String
Menggunakan manipulasi string, dimana disetiap jenis string memiliki
kegunaan yang berbeda, contohnya misalnya untuk mengkonversikan
setiap huruf kecil menjadi huruf besar atau sebaliknya, memperoleh
jumlah karakter dan sebagainya. Jadi mempermudah kita tidak perlu
menghitung jumlah karakter secara manual, kita dapat menggunakan
manipulasi string untuk mengefisienkan waktu.
F. Array
Array adalah sebuah wadah yang bisa menyimpan banyak variable data,
dengan array yang dapat menampung banyak data bsia memudahkan kita
untuk menyederhanakan sebuah syntax.
G. Rekursif
Rekursif sebenarnya sama seperti metode perulangan yang lain, tetapi
pada metode rekursif ini lebih spesifik ke teknik memanggil dirinya
sendiri secara berulang-ulang sampai ada kondisi yang menghentikannya,
dan pada umumnya metode rekursif ini digunakan pada bilangan faktorial
dan Fibonacci, sehingga memudahkan kita agar tidak secara manual untuk
mengulang bilangan tersebut.
2. Saran
Secara keseluruhan konsep yang sudah dijelaskan sudah mudah untuk
dimengerti. Diharapkan kedepannya bisa menjadi lebih baik lagi dan
penjelasan yang diberikan lebih mudah untuk dipahami praktikan yang
lainnya.

114
BIODATA

DAFTAR RIWAYAT HIDUP

Data Pribadi

Nama : Desi Permatasari

Tempat Tanggal Lahir : Sumenep, 10 Desember 2004

Alamat : Jl. Adi Sucipto No.1 Pinggir Papas RT 005 RW


003, Kec. Kalianget, Kab. Sumenep.

Email : desipermatasari0455@gmail.com

Riwayat Pendidikan

SDN Pinggir Papas II ________________________________ 2010 - 2016

Jl.Adi Sucipto No.1 Pinggirpapas, Kec. Kalianget, Kab. Sumenep

SMPN 5 Sumenep __________________________________ 2016 - 2019

Jl.Yos Sudarso 215, Marengan Daya, Kec. Kalianget, Kab. Sumenep

SMA Muhammadiyah 1 Sumenep ______________________ 2019 - 2022

Jl.Urip Sumoharjo No.14, Pabian, Kec. Kota Sumenep, Kab. Sumenep

Universitas Trunojoyo Madura _________________________ 2022 - Sekarang

Kecamatan Kamal, Bangkalan Jawa Timur.

115
116

Anda mungkin juga menyukai