Anda di halaman 1dari 72

HALAMAN PENGESAHAN

Yang bertanda tangan di bawah ini, kami selaku dosen pembimbing dalam
Praktikum Pemograman Tertruktur Universitas Darul Ulum Jombang menyatakan
bahwa sebenarnya :

Nama : HAFANDIK
NIM : 14590079
Jurusan : Teknik Informatika

Dalam penyusunan laporan Praktikum Pemograman Tertruktur dinyatakan


telah memenuhi syarat. Demikian surat pengesahan ini kami buat berdasarkan hasil
terakhir yang telah digunakan penyusun.

Jombang, 19 April 2015


Mengetahui,
Kepala Laboratorium Pembimbing
Praktikum Pemograman Terstruktur Praktikum Pemograman Terstruktur

HJ. ISWINARTI. IR. MT IZZATUL UMAMI S.KOM, M.KOM

1
KATA PENGANTAR

Dengan mengucapkan puji syukur ke hadirat Allah SWT. Atas rahmat dan
karunia- Nya sehingga kami dapat menyelesaikan Praktikum Pemograman
Tersturktur pada Fakultas Teknik Universitas Darul Ulum Jombang.
Praktikum pemograman tertruktur yang kami laksanakan merupakan syarat
mutlak untuk memperoleh gelar sarjana dan menambah wawasan tentang ilmu
bahasa java yang merupakan penunjang dalam mempelajari ilmu ilmu teknik
lainnya.
Kami menyadari akan keterbatasan kemampuan kami dalam menyusun
laporan ini sehingga masih banyak kekurangannya. Oleh karena itu saran dan kritik
serta nasehat dari dosen pembimbing dan para pembaca yang bersifat membangun
sangat kami harapkan demi kesempurnaan laporan ini.
Demikian laporan praktikum pemograman tertruktur ini kami susun dan tak
lupa kami ucapkan banyak terima kasih kepada dosen pembimbing dan semua pihak
yang telah membantu dalam menyusun laporan pratikum pemograman tertruktur ini.

Jombang, 19 April 2015

Penyusun

2
DAFTAR ISI

HALAMAN PENGESAHAN............................................................................. i
KATA PENGANTAR.......................................................................................... ii
DAFTAR ISI....................................................................................................... iii
DAFTAR GAMBAR.......................................................................................... v

BAB I PENDAHULUAN
1.1 LATAR BELAKANG........................................................................... 1
1.2 TUJUAN............................................................................................... 1

BAB II PEMBAHASAN
MODUL 1
I. Tujuan................................................................................................. 2
II. Dasar Teori.......................................................................................... 2
III. Latihan Pratikum................................................................................ 4
IV. Tugas Pratikum................................................................................... 6
V. Kesimpulan......................................................................................... 6

MODUL 2
I. Tujuan................................................................................................. 7
II. Dasar teori........................................................................................... 7
III. Latihan Pratikum................................................................................ 10
IV. Tugas Pratikum................................................................................... 14
V. Kesimpulan......................................................................................... 14

MODUL 3
I. Tujuan................................................................................................. 15
II. Dasar teori........................................................................................... 15
III. Latihan pratikum................................................................................. 18
IV. Tugas pratikum................................................................................... 27
V. Kesimpulan......................................................................................... 27

MODUL 4

3
I. Tujuan................................................................................................. 28
II. Dasar teori........................................................................................... 28
III. Latihan pratikum................................................................................. 31
IV. Tugas pratikum................................................................................... 35
V. Kesimpulan......................................................................................... 35

MODUL 5
I. Tujuan................................................................................................. 36
II. Dasar teori........................................................................................... 36
III. Latihan pratikum................................................................................. 39
IV. Tugas pratikum................................................................................... 44
V. Kesimpulan......................................................................................... 49

BAB III PENUTUP


3.1 Kesimpulan......................................................................................... 50
3.2 Saran................................................................................................... 50

LAMPIRAN HASIL PRAKTIKUM

DAFTAR GAMBAR

Gambar
1.1 Flowchart Bilangan Minimum.............................................................. 4
1.2 Flowchart Bilangan Ganjil.................................................................... 5
1.3 Flowchart Bilangan Genap................................................................... 5

4
1.4 Flowchart Konversi Celcius ke Fahrenheait......................................... 6
1.5 Flowchart Konversi Fahrenheait ke Celcius......................................... 6
2.1 Output cmd............................................................................................ 11
2.2 Output cmd helloword.......................................................................... 11
2.3 Output Hello World............................................................................... 12
2.4 Output Luas Persegi Panjang................................................................ 12
2.5 Output Luas Segitiga............................................................................. 12
2.6 Flowchart Bilangan Maksimum............................................................ 13
2.7 Output Bilangan Maksimum................................................................. 13
2.8 Output Bilangan Ganjil......................................................................... 14
3.1 Source Code Operator Aritmatika......................................................... 19
3.2 Output Aritmatika................................................................................. 20
3.3

5
BAB I
PENDAHULUAN

1.1. LATAR BELAKANG


Praktikum Pemogramam Terstruktur merupakan salah satu sarana
penunjang dalam mempelajari mata kuliah Pemograman Terstruktur yang mana
mata kuliah permograman terstruktur itu sendiri merupakan ilmu dasar
pehaman tentang bahasa java. Oleh sebab itu dengan dilaksanakannya
praktikum permograman tertruktur diharapkan seorang mahasiswa mempunyai
modal yang kokoh dalam menganalisa permasalahan yang timbul dalam
mempelajari pembuatan proyek menggunakan bahasa java.

1.2. TUJUAN
Era modernisasi tidak hanya menuntut seseorang mahasiswa
menguasai teori-teori saja tetapi terampil juga dalam praktek serta kerja
lapangan, maka seorang mahasiswa sangatlah perlu merealisasikan teori yang
diperoleh dari bangku kuliah, salah satu realisasinya adalah praktikum
Pemograman Terstuktur.

BAB II

1
PEMBAHASAN

Modul 1
Algoritma dan Notasinya
I. Tujuan:
1. Mahasiswa mampu memahami algoritma
2. Mahasiswa mampu menotasikan algoritma
3. Mahasiswa mampu mengimplementasikan simbol-simbol flowchart
4. Mahasiswa mampu memahami fungsi setiap simbol-simbol flowchart
II. Dasar Teori
ALGORITMA
Adalah Urutan-urutan dari instruksi atau langkah untuk menyelesaikan suatu
masalah. Ciri-ciri algoritma :
a) Algoritma mempunyai awal dan akhir.
b) Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki
arti ganda (ambigu).
c) Memiliki masukan (input) atau kondisi awal.
d) Memiliki keluaran (output) atau kondisi akhir.
e) Algoritma harus efektif, digunakan benar-benar menyelesaikan
persoalan.
Notasi Algoritma :
1. Bahasa Natural (yg deskriptif), Dengan notasi ini, deskripsi setiap langkah
dijelaskan dengan bahasa yang jelas. Notasi ini cocok untuk algoritma yang
pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas
tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa
pemrograman cenderung relatif sukar.
2. Pseudocode adalah deskripsi tingkat tinggi informal dan ringkas dari
algoritma pemrograman komputer yang menggunakan konvensi
struktural dari suatu bahasa pemrograman yang ditujukan untuk
dibaca oleh manusia, bukan oleh mesin
1. Flowchart atau diagram alir merupakan sebuah diagram dengan simbol-
simbol grafis yang menyatakan aliran algoritma atau proses yang
menampilkan langkah-langkah yang

2
disimbolkan dalam bentuk kotak, beserta urutannya dengan
menghubungkan masing masing langkah tersebut menggunakan tanda
panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk
penyelesaian masalah yang ada di dalam proses atau algoritma tersebut.
Gambar berikut adalah simbol flowchart yang umum digunakan.
Gambar Simbol untuk Keterangan
Menyatakan kegiatan yang akan ditampilkan dalam
Proses / Langkah
diagram alir.
Proses / Langkah dimana perlu adanya keputusan atau
adanya kondisi tertentu. Di titik ini selalu ada dua
Titik Keputusan
keluaran untuk melanjutkan aliran kondisi yang
berbeda.
Masuk /Keluar Digunakan untuk mewakili data masuk, atau data
Data keluar.

Terminasi Menunjukkan awal atau akhir sebuah proses.

Garis Alir Menunjukkan arah aliran proses atau algoritma.

Menunjukkan proses / langkah dimana ada inspeksi


Kontrol / Inspeksi atau pengontrolan

III. Latihan Praktikum

3
1. Buatlah notasi algoritma untuk mencari bilangan minimum dari 4 bilangan:
5, 9, 1, 3

Gambar 1.1 Flowchart Bilangan Minimum

2. Buatlah notasi algoritma untuk mencari bilangan ganjil dari 5 bilangan: 10, 4,

4
12, 30, 41

Gambar 1.2 Flowchart Bilangan Ganjil


3. Buatlah notasi algoritma untuk mencari bilangan genap dari 5 bilangan: 11,
21, 35, 14, 7

Gambar 1.3 Flowchart Bilangan Genap


4. Buatlah notasi algoritma untuk mengkonversi suhu celcius ke fahrenheit

5
Gambar 1.4 Flowchart Konversi Celcius ke Fahrenheit
5. Buatlah notasi algoritma untuk mengkonversi suhu fahrenheit ke celcius

Gambar 1.5 Flowchart Konversi Fahrenheit ke Celcius


IV. Tugas Praktikum
1. Buatlah laporan praktikum modul ini
2. Laporan dikumpulkan kepada Asisten Praktikum.
V. Kesimpulan
Kita mampu membuat sesuatu percangan atau alur sebuah pemogram dari
dasar supaya memudahkan kita untuk berlogika dalam pengerjaan program
tersebut.

Modul 2
Pengenalan Java

6
I. Tujuan:
1. Mahasiswa mampu mengenali ruang lingkup pemrograman JAVA
2. Mahasiswa mampu menulis code java, meng-compile, dan
mengeksekusinya
3. Mahasiswa mampu membuat program untuk mencetak kalimat
4. Mahasiswa mampu memahami tentang dasar dari tipe data, identifier,
variabel
II. Dasar Teori
Pengenalan Java
Java adalah bahasa yang dapat dijalankan dimanapun dan disembarang
platform apapun, diberagam lingkungan: internet, intranet, consumer electronic
products, computer applications, dan mobile platform. Untuk beragam aplikasi
yang dibuat dengan bahasa Java, Java dipaketkan dalam edisi-edisi berikut:
a) Java 2 Standar Edition (J2SE), J2SE menyediakan lingkungan
pengembangan yang kaya fitur, stabil, aman, dan cross -platform. Edisi ini
mendukung konektivitas basis data, rancangan user interface, masukkan/
keluaran (input/ output), dan pemrograman jaringan (network programming),
dan termasuk sebagai paket-paket dasar bahasa Java.
b) Java 2 Enterpise Edition (J2EE), J2EE menyediakan tempat untuk
membangun dan menjalankan multitier enterprise editions. J2EE berisi
paket-paket di J2SE ditambah paket-paket untuk mendukung
pengembangan Enterprise JavaBeans, Java Servlets, JavaServer Pages,
XML, dan kendali transaksi yang fleksibel.
c) Java 2 Micro Edition (J2ME), J2ME selain menyedikan bahasa Java yang
sama, unggul dalam portabilitas (kemampuan dapat dijalankan
dimanapun), safe network delivery, seperti J2SE dan J2EE. Aplikasi-
aplikasi dapat diskalakan (dimampukan) agar dapat bekerja dengan J2SE
dan J2EE. J2ME adalah untuk beragam consumer electronic product,
seperti pager, smart card, cell phone, handheld PDA, dan set-top box.

Struktur Program Java


Penulisan program Java dapat dilakukan pada semua teks editor yang paling

7
disukai baik itu editor handal semacam eclipse dan netbeans ataupun editor
simpel seperti editplus, dan crimson. Dalam pembuatan program java yang
harus diperhatikan dalam pembuatan program java adalah penulisan huruf
besar dan kecil karena java memiliki sifat Case Sensitive. Berikut adalah
bentuk umum dari penulisan program Java:
Pertama dalam program Java minimal terdapat sebuah class, dimana nama
dari class tersebut diusahakan sama dengan nama file Java, dan setiap class
harus dibuka dengan tanda kurung kurawal buka { dan ditutup dengan tanda
kurung kurawal tutup }.
Contoh :
class hello{
(isi dari class)
}
Selanjutnya faktor utama lainnya yang wajib dimiliki dari sebuah program
Java adalah harus memilik sebuah fungsi utama main(). Fungsi dari main()
adalah dijadikan sebagai awal pengeksekusian aplikasi Java, kode (code)
yang terdapat pada metode inilah yang akan dieksekusi pertama kali.
Contoh :
class hello{
public static void main(String[] args){
(tulis code/ program disini)
}
}

Metode main() didefinisikan sebagai public static void, berikut penjelasannya:


a) public, berarti metode ini dapat dipanggil dari luar class
b) static, menunjukkan metode ini bersifat sama untuk semua class
c) void, berarti metode ini tidak mengembalikan nilai.
d) Argument args[] adalah array objek string argument baris-baris perintah

8
Komentar di Java
Didalam penulisan program Java kita dapat membuat sebuah komentar, ada
dua jenis tipe komentar pada Java:
a) Yang pertama menggunakan pasangan simbol /* dan */. Semua tulisan
yang berada dalam tanda tersebut akan diperlakukan sebagai komentar.
b) Yang kedua meng gunakan awalan simbol //, jadi semua tulisan sesudah
tanda ini dan berada pada baris yang sama dianggap komentar.
Contoh:
/*contoh01
*jika dicompile akan menghasilkan Halo.class;

Java Development Kit (JDK)


Java Development Kit (JDK) merupakan perlengkapan tempur yang
mendasar dalam pengembangan aplikasi dengan Java. Dua program utama
yang disediakan dalam JDK adalah:
a) javac, yaitu perintah untuk meng-compile source code.
b) java, yaitu perintah untuk menjalankan aplikasi
Perintah tersebut dijalankan melalui command prompt (untuk platform
windows) atau terminal (untuk platform linux).

Tipe Data dan Variabel


Di Java setiap variabel memiliki sebuah tipe data. Untuk membuat
sebuah variabel, pertama kita tempatkan tipe data dari variabel itu dan diikuti
oleh nama dari variabel yang akan dibuat.
Contoh :
double gaji;
int hariKerja;
long jumlahPenduduk; char c;
boolean status;

9
Setiap pendeklarasian sebuah variabel harus diakhiri dengan sebuah
semicolon ; . Semicolon dibutuhkan karena pendeklarasian sebuah variabel
adalah sebuah statement di Java. Berikut ini aturan-aturan dalam membuat
variabel pada Java :
a) Nama variabel boleh dimulai dengan huruf, underscore ( _ ) atau tanda
dollar ($). Angka tidak dapat digunakan sebagai awal nama variabel.
b) Huruf yang bisa digunakan adalah dari A-Z, a-z, angka dari 1-9 dan juga
simbol dan $ , Untuk simbol lain dan spasi tidak dapat digunakan.
c) Dalam penamaan variabel juga tidak diperkenankan menggunakan
reserved word dari Java, yaitu nama-nama dan perintah yang sudah
digunakan pada Java.
Dalam pendeklarsian variabel kita juga bisa menyatukan dua variabel dalam
pendeklarasiannya contoh :
int i, j;
long y, x;
char a, b;

Sebuah variabel dapat diberikan nilai awal setelah atau pada


saat dideklarasikan contoh :
int nilai; nilai=10;
atau
int nilai=10;

Sebuah variabel dapat juga bertukar nilai atau saling memberi dengan
variabel lainnya contoh :
int nilai1=10;
int nilai2;
nilai2=nilai1;

III. Latihan Praktikum


Sebelum melakukan praktikum di laboratorium, berikut adalah alat yang
digunakan dalam praktikum modul 2 ini, yaitu:
1) notepad / notepad++ / wordpad
2) command prompt (untuk windows) / terminal (untuk linux)

10
NB: Jika ada kesulitan dalam memahami isi modul, silahkan
ditanyakan kepada asisten praktikum.

Latihan 1: Membuat tulisan Hello World! di Java:


1) Buatlah sebuah folder dengan format nama modul2_NIM.
Misalnya: modul2_1410651000
2) Buatlah sebuah file didalam folder tersebut dengan nama
helloworld.java.
3) Buka file tersebut dengan notepad/notepad++/wordpad (untuk
windows) atau gedit/nano/vi (untuk linux)
4) Ketikkan code berikut ini:

1) Jalankan command prompt (untuk windows) atau terminal (untuk linux)


5) Masuklah pada alamat direktori folder yang telah dibuat dilangkah 1.
6) Jika sudah masuk pada alamat direktori tersebut, ketikkan perintah
berikut:

Gambar 2.1 Output cmd


8) Jika masih ada error, periksa lagi penulisan anda. Jika sudah tidak ada error,
lanjutkan perintah berikut:

Gambar 2.2 Output cmd

11
8) Maka akan muncul tulisan Hello World!

Gambar 2.3 Output Hello World

Latihan 2: Membuat program menghitung Luas Persegi Panjang:


1) Buatlah file dengan nama luasPersegiPanjang.java pada folder yang
sama seperti latihan 1 diatas.
2) Buatlah code class dan method main() seperti langkah pada latihan 1.
3) Kemudian terapkan algoritma penghitungan luas persegi panjang pada
Java. (jika kesulitan, bisa ditanyakan kepada asisten)

Gambar 2.4 Output Luas Persegi Panjang

Latihan 3: Membuat program menghitung Luas Segitiga:


1) Buatlah file dengan nama luasSegitiga.java pada folder yang sama
seperti latihan 1 diatas.
2) Buatlah code class dan method main() seperti langkah pada latihan 1.
3) Kemudian terapkan algoritma penghitungan luas segitiga pada Java. (jika
kesulitan, bisa ditanyakan kepada asisten).

Gambar 2.5 Output Luas Segitiga

12
Latihan 4: Membuat program mencari nilai maksimal dari 3 angka dari flowchart
berikut:

Gambar 2.6 Flowchart Bilangan Maksimun

Gambar 2.7 Output Bilangan Maksimum

13
Latihan 5: Membuat program mencari nilai ganjil dari 5 angka:
1) Ini adalah penerapan dari algoritma yang telah anda buat di praktikum
modul 1 minggu lalu.
1) Silahkan diterapkan pada pemrograman Java.

Gambar 2.8 Output Bilangan Ganjil

IV. Tugas Praktikum


1) Buatlah laporan praktikum modul ini dengan disertai screenshot dan
penjelasan dari setiap langkah yang telah dikerjakan pada latihan praktikum
diatas.
2) Laporan dikumpulkan kepada Asisten Praktikum pada pertemuan yang
akan datang dalam bentuk hardcopy.
V. Kesimpulan
Dengan mempelajari pada modul 2 saya bisa mengenali ruang lingkup
java, meng-compile dan mampu membuat program yang sederhana.

14
Modul 3
Operator Pemrograman
I. Tujuan:
1. Mahasiswa Mengenal dan memahami tipe-tipe operator pada
Pemrograman JAVA
2. Mahasiswa mampu mengembangkan program Java sederhana menggunakan
konsep yang dipelajari pada bab ini
II. Dasar Teori
1. Operator Aritmatika
Berikut ini adalah dasar operator aritmatika yang untuk membuat suatu
program Java,

1. Operator Increment dan Decrement


Dari sisi operator dasar aritmatika, Java juga terdiri atas
operator unary increment (++) dan operator unary decrement (--).

15
3. Operator Relasi
Operator Relasi membandingkan dua nilai dan menentukan
keterhubungan diantara nilai nilai tersebut. Hasil keluarannya berupa
nilai boolean yaitu true atau false.

3. Operator Logika
Operator logika memiliki satu atau lebih operand boolean yang
menghasilkan nilai boolean.Terdapat enam operator logika yaitu: &&
(logika AND), & (boolean logika AND), || (logika OR), | (boolean logika
inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
Pernyataan dasar untuk operasi logika adalah,
x
1
o
p
x
2
Dimana x1, x2 dapat menjadi pernyataan boolean. Variabel atau
konstanta, dan op adalah salah satu dari operator &&, &, ||, | atau ^.
Tabel kebenaran yang akan ditunjukkan selanjutnya, merupakan
kesimpulan dari hasil dari setiap operasi untuk semua kombinasi yang
mungkin dari x1 dan x2.

16
a) && (logika AND) dan & (Boolean logika AND)
Berikut table kebenarannya

Perbedaan dasar antara operator && dan & adalah bahwa &&
mensupports short-circuit evaluations (atau evaluasi perbagian),
sementara operator & tidak.

b) || (logika OR) dan | (Boolean logika inclusive OR)


Berikut table kebenarannya :

Perbedaan dasar antara operator || dan | adalah bahwa ||


mendukung short-circuit evaluations (atau proses evaluasi
sebagian), sementara | tidak.

c) ^ (Boolean ExclusiveOR)
Berikut table kebenarannya :

Hasil operasi operator exclusive OR adalah TRUE, jika dan hanya jika
satu operand bernilai TRUE dan yang lain bernilai False. Catatan jika
kedua operand harus selalu dievaluasi untuk menjumlahkan hasil dari
suatu exclusive OR.

17
d) ! (logika NOT )
Logika NOT digunakan dalam satu argumen, dimana argumen
tersebut dapat menjadi suatu pernyataan, variabel atau konstanta.
Berikut ini adalah tabel kebenaran untuk operator not!,

5. Operator kondisi
Operator kondisi ?: adalah operator ternary. Berarti bahwa operator ini
membawa tiga argumen yang membentuk suatu ekspresi bersyarat.
Struktur pernyataan yang menggunakan operator kondisi adalah,
exp1 ?exp2: exp3
Dimana nilai exp1 adalah suatu pernyataan boolean yang memiliki hasil
yang salah satunya harus berupa nilai true atau false. Jika exp1 bernilai
true, exp2 merupakan hasil operasi. Jika bernilai false, kemudian exp3
merupakan hasil operasinya.

III. Latihan Praktikum


Sebelum melakukan praktikum di laboratorium, berikut adalah alat dan bahan
yang digunakan dalam praktikum modul 3 ini, yaitu:
1. Modul 3 Praktikum Pemrograman Terstruktur
2. LCD & Komputer
3. Netbeans
4. Office Word
NB: Jika ada kesulitan dalam memahami isi modul, silahkan ditanyakan kepada
asisten praktikum.

18
Latihan 1: Menerapkan Operator Aritmatika:
Langkah 1 : buat class baru dan ketikkan potongan source berikut :

19
Gambar 3.1 Source Operator Arimatika

20
Langkah 2 : Run Project tesebut dan amati hasilnya

Gambar 3.2 Output Aritmatika

Langkah 3 : Buat Kesimpulan tentang project tersebut


Saya mengetahui langkah-langkah pembuatan coding rumus aritmatika
yang sederhana pada permograman java.

21
Latihan 2: Menerapkan Operator Increment dan Decrement:

Langkah 1 : buat class baru dan ketikkan potongan source berikut :

Langkah 2 : buat class baru dan ketikkan potongan source berikut :

Langkah 3 : run kedua Class bergantian dan amati hasilnya.


Contoh hasil langkah 1 :

Gambar 3.3 Output IncDec 1


Contoh hasil langkah 2 :

Gambar 3.4 Output IncDec 2

Langkah 4 : Buat kesimpulan tetang perbedaan kedua class tersebut.


Saya mengetahui perbedaan antara perloopingan antara
percodingan dari contoh di atas.

22
Latihan 3: Menerapkan Operator Relasi:
Langkah 1 : buat class baru dan ketikkan potongan source berikut :

23
Langkah 2 : Run Project tesebut dan amati hasilnya.

Gambar 3.5 Output Operator Relasi


Langkah 3 : Buat Kesimpulan tentang project tersebut
Saya mengetahui tipe-tipe relasi dan rumus-rumus yang ada pada java.

24
Latihan 4: Menerapkan Operator Logika:
Langkah 1 : buat class baru dan ketikkan potongan source berikut :

Langkah 2 : buat class baru dan ketikkan potongan source berikut :

25
Langkah 3 : buat class baru dan ketikkan potongan source berikut :

Langkah 4 : buat class baru dan ketikkan potongan source berikut :

Langkah 5 : run keempat Class bergantian dan amati hasilnya


Hasil Langkah 1 :

Gambar 3.6 Output TestAnd

26
Hasil Langkah 2 :

Gambar 3.7 Output TestOr


Hasil Langkah 3 :

Gambar 3.8 Output TestXOr


Hasil Langkah 4 :

Gambar 3.9 Output Not


Langkah 6 : Buat kesimpulan tetang perbedaan kedua class tersebut.
Perbedaan antara beberapa kelas terletak pada artimatika setiap
codingnya, jadi setiap hasil mengluarkan hasil yang berbeda-beda setiap
kelasnya.

27
Latihan 5: Menerapkan Operator Kondisi:
Langkah 1 : buat class baru dan ketikkan potongan source berikut :

Langkah 2 : Run Project tesebut dan amati hasilnya.

Gambar 3.10 Output Operator Kondisi


Langkah 3 : Buat Kesimpulan tentang project tersebut
Kesimpulan yang dapat di ambil di atas adalah mengtahui coding yang d
terapkan pada opertor perkondisanya.

IV. Tugas Praktikum


1) Buatlah laporan praktikum modul ini dengan disertai screenshot dan
penjelasan dari setiap langkah yang telah dikerjakan pada latihan
praktikum diatas.
2) Laporan dikumpulkan kepada Asisten Praktikum pada pertemuan yang
akan datang dalam bentuk hardcopy.
V. Kesimpulan
Saya mampu mengenali dan memahami tipe-tipe operator pada java serta
bisa mengembangkan progam java sederhana

28
Modul 4
Struktur Kontrol
I. Tujuan:
1. Mahasiswa mampu mengimplementasikan struktur kontrol
keputusan/percabangan (if, else, switch), untuk memilih bagian dari
program yang akan dieksekusi.
2. Mahasiswa mampu mengimplementasikan struktur kontrol
pengulangan/perulangan (while, do-while, for), untuk melakukan
pengulangan eksekusi program atau code.
II. Dasar Teori
PERCABANGAN
1. Statement-if
Menspesifikasikan sebuah statement (atau block dari code) yang akan
dieksekusi jika dan hanya jika statement boolean bernilai true.
Form statement-if:
if( boolean_ekspresi )
statement;
atau
if( boolean_ekspresi ){
statement 1; statement 2;}
dimana, boolean_ekspresi sama dengan boolean ekspresi atau boolean
variabel.
2. Statement If-else
Digunakan ketika kita akan mengeksekusi sebuah statement jika kondisinya
true, dan statement yang lain jika berkondisi false.
Form statement if-else:
if( boolean_ekspresi ){
statement1;
statement2;
. . .}
else{
statement3;
statement4;

29
. . .}
3. Statement If-else if
Statement pada klausa else dari sebuah blok if-else dapat menjadi struktur if-
else yang lain.
Struktur ini memperbolehkan kita untuk membuat pilihan yang lebih
kompleks. Form statement if-else-else if:
if( boolean_ekspresi1 )
statement1;
else if( boolean_ekspresi2 )
statement2;
else statement3;
4. Statement switch
Switch Memperbolehkan percabangan pada multiple outcomes.
Form statement-switch:
switch( switch_ekspresi ){
case case_pilihan1:
statement1;//
statement2;//blok 1
break;
case case_pilihan2:
statement1;//
statement2;//blok 2
break;
default:
statement1;//
statement2;//blok n}

30
PERULANGAN
1. Perulangan - for
Digunakan untuk mengeksekusi code yang bernilai sama, berulang-ulang.
Form pengulangan-for:
for(InisialisasiEkspresi;KondisiPengulangan;StepEkspresi
)
{
statement1;
statement2;
. . .
}
dimana:
Inisialisasi Ekspresi : meninisialisasi variabel pengulangan.
KondisiPengulangan : membandingkan variabel pengulangan
dengan nilai limit.
StepEkspresi : memperbarui variabel pengulangan.

2. Perulangan while
Merupakan statement atau blok dari statement yang diulang selama
kondisinya sesuai.
Form pengulangan while:
while( boolean_ekspresi ){
statement1;
statement2;
. ..
}
statement didalam pengulangan while akan dieksekusi selama
boolean_ekspresi bernilai true.

3. Perulangan do-while
Sama dengan pengulangan-while. Statement didalam pengulangan do-while
akan dieksekusi beberapa kali selama kondisinya sesuai dengan ekspressi
yang diberikan. Hal utama yang membedakan antara pengulangan while dan

31
do-while: statement didalam pengulangan do-while loop setidaknya
dieksekusi satu kali.
Form pengulangan-do-while:
do{
statement1;
statement2;
. ..
}while( boolean_ekspresi )

III. Latihan Praktikum


Sebelum melakukan praktikum di laboratorium, berikut adalah alat dan bahan
yang digunakan dalam praktikum modul ini, yaitu:
1. Modul 3 Praktikum Pemrograman Terstruktur
2. LCD & Komputer
3. Netbeans
4. Office Word
NB: Jika ada kesulitan dalam memahami isi modul, silahkan ditanyakan
kepada asisten praktikum.

Latihan 1: Membedakan Penggunaan Tipe-Tipe Percabangan:


Langkah 1 : buat class baru dan ketikkan potongan source berikut :

Langkah 2 : buat class baru dan ketikkan potongan source berikut :

32
Langkah 3 : buat class baru dan ketikkan potongan source berikut :

Langkah 4 : buat class baru dan ketikkan potongan source berikut :

Langkah 5 : run keempat Class bergantian dan amati hasilnya


a. Hasil langkah 1

Gambar 4.1 Output TestIf

33
b. Hasil langkah 2

Gambar 4.2 Output TestIfElse


c. Hasil langkah 3

Gambar 4.3 Output TestIfElseIF


d. Hasil langkah 4

Gambar 4.4 Output TestSwitch


Langkah 6 : Buat kesimpulan tetang perbedaan kedua class tersebut
Setiap percabangan memeliki rumus berbeda dan mempunyai kegunaan yang
berbeda.

34
Latihan 2: Membedakan penggunaan Tipe-tipe perulangan
Langkah 1 : buat class baru dan ketikkan potongan source berikut :

Langkah 2 : buat class baru dan ketikkan potongan source berikut :

Langkah 3 : buat class baru dan ketikkan potongan source

Langkah 4 : run ketiga Class bergantian dan amati hasilnya


a. Hasil langkah 1

35
Gambar 4.5 Outpui TestWhile
b. Hasil langkah 2

Gambar 4.6 Output TestWhileLoop


c. Hasil langkah 3

Gambar 4.7 Output TestFor


Langkah 5 : Buat kesimpulan tetang perbedaan kedua class tersebut
Setiap kelas mempunyai rumus coding perulangan yang berbeda beda
serta mempunyai fungsi yang berbeda.

IV. Tugas Praktikum


1. Buatlah laporan praktikum modul ini dengan disertai screenshot dan
penjelasan dari setiap langkah yang telah dikerjakan pada latihan
praktikum diatas.
2. Laporan dikumpulkan kepada Asisten Praktikum pada pertemuan yang
akan datang dalam bentuk hardcopy.
V. Kesimpulan
Saya mampu mengimplementasikan struktur kontrol keputusan/percabangan
(if, else, switch), untuk memilih dan memlakukan bagian dari program yang

36
akan dieksekusi.

Modul 5
Array
I. Tujuan:
1. Mengetahui pengertian array
2. Mengetahui konsep array satu dimensi dan array 2 dimensi
3. Mengaplikasikan konsep array dalam j ava
4. Mengetahui batasan array
5. Mengetahui cara manipulasi array
II. Dasar Teori
1. PENGANTAR ARRAY
Sebuah sistem yang kompleks tentu membutuhkan variabel dalam j
umlah besar. Jika hanya membutuhkan 5 variabel bertipe integer, mungkin
saj a bisa dideklarasikan dengan cara: int a, b, c, d, e. Akan tetapi akan
muncul persoalan ketika membutuhkan variabel dalam j umlah besar,
seperti 100 variabel . Bagaimana cara mendeklarasikan seluruh variabel
tersebut? Haruskan menuliskan variabel satu-per-satu seperti : int x1, x2,
x3,..., x100 ?
Untuk mengatasi permasalah tersebut, terdapat konsep array
untuk solusi mendeklarasikan variabel dalam j umlah besar.
Pemakaian variabel array akan menghemat waktu dalam penyebutan
nama variabel . Sebuah variabel array merupakan sebuah nama vari abel
yang sama, namun memi liki nomor indeks yang unik untuk membedakan
setiap variabel tersebut. Penomoran indeks array dimulai dari 0 sampai ke
n-1, dimana n tersebut adalah j umlah total elemen.
Indeks adalah sebuah angka yang menyatakan urutan sebuah elemen
pada suatu variabel array. Karena di dalam sebuah variabel array dengan
nama yang sama, maka untuk membedakannya diperlukan suatu cara

37
yaitu dengan pemberian nomor urut. Ibaratkan deretan rumah dalam satu
nama j alan, untuk membedakan rumah yang satu dengan yang lain,
diberikan penomoran yang berbeda antara rumah satu dengan rumah yang
lain.

2. ARRAY SATU DIMENSI


2.1 Mendeklarasikan Array Satu Dimensi
Secara umum, formula pendeklarasian array adalah seperti berikut:

Terdapat beberapa cara pendeklarasian array pada java, antara lain:


1) Mendeklarasikan array tanpa menyebutkan jumlah elemen yang
diperlukan

Variabel angka dan teks yang dideklarasikan sebagai variabel


array yang mana setiap elemennya akan menyimpan data bertipe
int untuk variabel angka, dan string untuk variabel teks. Dalam
pendeklarasian array tersebut tidak menyebutkan jumlah elemen.
Tanpa ada pendeklarasian jumlah elemen array, akan terjadi
kesalahan seperti berikut:

Sehingga pada baris lain harus dideklarasikan pemesanan


jumlah elemen agar variabel array tersebut bisa digunakan
untuk menyimpan data. Berikut cara pendeklarasian jumlah
elemen dari variabel array tersebut:

2) Mendeklarasikan array dengan menyebutkan jumlah elemen yang

38
diperlukan

Variabel angka dan teks dideklarasikan sebagai variabel


array yang dapat menyimpan sejumlah elemen yang telah
dideklarasikan (5 elemen untuk angka, dan 10 elemen untuk teks).

3) Mendeklarasikan variabel array secara otomatis

2.2 Menghitung Jumlah Elemen Variabel Array


Untuk mengetahui jumlah elemen dari sebuah variabel array,
digunakan instruksi length. Pernyataan angka.length akan
menghasilkan jumlah elemen dari variabel array yang bernama
angka.
Contohnya:

O
utputnya:

3. ARRAY DUA DIMENSI


Sebutan dimensi array dengan melihat dari jumlah nomer indeks yang
digunakan dalam pendeklarasian variabel array. Array dua dimensi berarti
nomer indeks yang digunakan adalah dua bilangan. Penggunaan array dua
dimensi seringkali dipakai pada aplikasi matrik. Data pada suatu matrik
diketahui berdasarkan nilai baris dan kolomnya.
Bentuk umum pendeklarasian variabel array dua dimensi di java adalah
sebagai berikut:

39
Untuk memudahkan pemahaman bentuk array dua dimensi, bisa
digambarkan sebagai berikut:

N adalah nilai yang menyatakan jumlah baris dari array, sedangkan M


menyatakan jumlah kolom dari array. Aturan penomoran indeks array
dua dimensi sama seperti halnya array satu dimensi, yaitu dimulai dari 0
untuk baris maupun kolomnya.
Contoh program array dua dimensi:

Outputnya:

III. Latihan Praktikum


1) Buatlah array satu dimensi dengan ti pe data String yang berisi bagian kata
dari nama anda. Misalkan namanya: Sugito Prayoga Rahardika, maka
elemen array-nya adalah {Sugito, Prayoga, Rahardika}.
Kemudian tampilkan anggota array tersebut menj adi satu-kesatuan
nama.
Hasil :

40
Gambar 5.1 Output Array String 1 Dimensi
2) Membuat deretan array secara random (acak) yang mana j umlah deretnya
ditentukan oleh user.
Cara 1 - Menggunakan BufferedReader:

Hasil :

Gambar 5.2 Output Buffreader

41
Cara 2 - Menggunakan Scanner:

Hasil :

Gambar 5.3 Output Scanner


3. Buatlah array dua dimensi untuk menampilkan angka seperti berikut:

Hasil :

42
Gambar 5.4 Output Dua Dimensi

4. Penjumlahan Matriks 3x3. Silahkan dimodifikasi dan pahami jalannya


program

Hasil :

43
Gambar 5.5 Output Perjumlahan Matrik 3x3
5. Perkalian Matriks

Hasil :

44
Gambar 5.6 Output Perkalian Matrik

6. Buatlah array satu dimensi dengan tipe data integer yang berisi digit dari
nim anda. Sebagai contoh: NIM = 1110651111, maka isi elemen array-
nya adalah {1,1,1,0,6,5,1,1,1,1}. Kemudian tampilkan anggota array tersebut
menjadi satu-kesatuan angka 1110651111.
Hasil :

Gambar 5.7 Output Array Int 1 Dimensi

IV. Tugas Praktikum


1) Buatlah array satu dimensi dengan tipe data char yang berisi
karakter/huruf dari nama depan anda. Misalkan nama depannya sugito,
maka elemen array-nya adalah {s,u,g,i,t,o}. Kemudian tampilkan
anggota array tersebut menjadi satu-kesatuan nama.
Hasil :

45
Gambar 5.8 Array String
2) Buatlah program untuk menampilkan bilangan ganj il dan genap dari deret
bilangan array Terdapat deret angka sebagai berikut :
{2,4,10,11,13,16,19,200,45,41,23,89,111} ; Hasil yang ditampilkan
adalah:
Bilangan ganj il: 11 13 19 45 41 23 89 111
Bilangan genap: 2 4 10 16 200
Hasil :

Gambar 5.9 Output Deret Genap dan Ganjil


3) Mencari ni lai rata-rata mata kuliah dari daftar nilai mahasiswa dengan
diketahui terdapat beberapa variabel array, yaitu: NRP, NamaMhs, RPL,
BD, PTS seperti gambar dibawah ini

Kemudian hitung rata-rata nilainya dan tampi lkan dalam satu-kesatuan-tabel


Hasil :

Gambar 5.10 Output NRP


4) Buatlah program untuk mencari nilai maksimal dan minimal dari deret array.

46
Terdapat deret angka seperti berikut:{ 100, 87, 21, 324, 109, 11, 56, 54, 76, 19, 78,
22, 12, 90, 124, 6, 18, 80, 7, 50, 67, 13, 64} Tentukan ni lai maksimal dan minimal
dari deretan array tersebut.
Hasil :

Gambar 5.11 Output Array Max dan Min


5) Buatlah array dua dimensi bertipe String yang terdiri dari
jumlah 4 baris dan 2 kolom. Yang mana nilai stringnya terdiri
dari nama depan dan nama belakang.
{{"Sugito", "Prayoga"}, {"Samirul", "Hilmi"}, {"Leo", "Hermawan"},
{"Fina", "Anisa"}} Maka akan ditampilkan seperti gambar di bawah
ini:

INGAT!! Angka urutannya juga harus ditampilkan di output program


Hasil :

Gambar 5.12 Output Array String 2 Dimensi

47
6) Buatlah array dua dimensi (matriks) yang dapat menampilkan secara
random dengan jumlah baris dan kolomnya dapat ditentukan oleh user.
Program akan meminta user untuk memasukkan jumlah baris
dan jumlah kolom. Misalnya user memasukkan 3 untuk jumlah
baris dan 4 untuk jumlah kolom, maka akan ditampilkan isi matriks
secara random sebagai berikut:

Hasil :

Gambar 5.13 Output Array Random


6) Buatlah program untuk penjumlahan dan pengurangan matriks 5x5.
Hasil :

48
49
Gambar 5.14 Output Penjumlahan dan Pengurangan

50
7) Buatlah program untuk perkalian matriks berdasarkan inputan user, yaitu
inputan utk ukuran matriksnya dan inputan untuk isi dari setiap matriks.
Hasil :

Gambar 5.15 Output Perkalian Matriks

Buatlah laporan praktikum modul ini dengan disertai screenshot dan


penjelasan dari setiap langkah yang telah dikerjakan pada latihan praktikum
diatas.
Laporan dikumpulkan kepada Asisten Praktikum pada pertemuan yang akan
datang dalam bentuk hardcopy.

V. Kesimpulan
Saya dapat mengerti tentang array, mengatahui konsep arrya 1 dimensi
atau 2 demensi serta bisa memanupulasi array.

51
BAB III
PENUTUP

3.1 KESIMPULAN
Dengan mengucap Alhamdulillah dan puji syukur kehadirat Allah
SWT, akhirnya kami dapat menyelesaikan laporan praktikum yang merupakan
manifestasi kerja sama yang baik dari berbagai pihak. Kami ucapkan banyak
terima kasih kepada pihak pihak yang telah membantu dalam berkonsultasi
tanya jawab dan bantuan lainnya yang berkaitan dengan laporan pratikum
terstruktur ini.
Praktikum Pemograman Terstruktur merupakan sarana dalam
menunjang penelaahan pelajaran dan ilmu terstruktur itu sendiri merupakan dasar
mempelajari keilmuan teknik lainnya.Oleh karena itu sangatlah penting diadakan
praktikum pemograman terstruktur, sehingga dalam pencapaian disiplin ilmu
keteknikan yang lainnya dapat mencapai hasil yang semaksimal mungkin.

3.2 SARAN
Dalam penyusunan laporan praktikum pemograman terstruktur ini
kami dapat menunjukkan pengalaman sangat berharga. Sudah selayaknya kami
ikut menyumbang apa apa yang telah kami dapatkan dalam penyusunan
laporan ini.
Saran kami bagi para pembaca yang ingin menyusun laporan serupa adalah :
Terlebih dahulu perdalam mata kuliah pemograman terstruktur, sehingga
mengerti benar praktikum yang akan dilaksanakan.
Perbanyaklah konsultasi terhadap dosen pembimbing, sehingga bila terdapat
kesalahan / kesulitan dalam mengerjakan dapat segera dibetulkan.
Sebelum asistensi pelajarilah terlebih dahulu apa yang dikerjakan dan
persiapkan pertanyaan bila ada kesulitan.
Jangan menunda waktu, segera selesaikan laporan tersebut.
Tahu waktu dan tempat bila mengajukan asistensi kepada dosen pembimbing.

52
LAMPIRAN
1. Modul 2
1.1 Coding Latihan 1
public class helloworld {
public static void main (String []args){
System.out.println ("Hello World!");
}
}

1.2 Coding Latihan 2


public class LuasPersegiPanjang {
public static void main (String [] args) {
Scanner nilai = new Scanner (System.in);
int panjang , lebar ;
System.out.print("Masukan panjang = ");
panjang = nilai.nextInt();
System.out.print("Masukan lebar = ");
lebar = nilai.nextInt();
int Luas ;
Luas = panjang * lebar;
System.out.print("Luas Persegi Panjang = "+Luas);
System.out.println(" ");
}
}

1.3 Coding Latihan 3


public class LuasSegitiga {
public static void main (String [] args) {
Scanner nilai = new Scanner (System.in);
int alas , tinggi ;
System.out.print("Masukan Alas = ");
alas = nilai.nextInt();
System.out.print("Masukan Tinggi = ");
tinggi = nilai.nextInt();
int Luas ;
Luas = (alas * tinggi)/2;
System.out.println("Luas Segitiga = "+Luas);

53
}
}

1.4 Coding Latihan 4


public class NilaiMax {
public static void main(String[]args){
Scanner nilai = new Scanner (System.in);
int x, y, z ;
int max;
System.out.print("Masukan Angka Pertama = ");
x = nilai.nextInt();
System.out.print("Masukan Angka Kedua = ");
y = nilai.nextInt();
System.out.print("Masukan Angka Ketiga = ");
z = nilai.nextInt();

System.out.println("Angka Pertama = "+x);


System.out.println("Angka Kedua = "+y);
System.out.println("Angka Ketiga = "+z);
//mencari nilai tertinggi dengan operator kondisi
max=(y>=x)? y: x;
max=(z>=max)? z: max;
System.out.println("Nilai tertingginya adalah angka =
"+max);
}
}

1.5 Coding Latihan 5


public class NilaiGanjil {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int []data = new int[5];

System.out.print("Data ke - 1 = ");
data[0] = scan.nextInt();
System.out.print("Data ke - 2 = ");
data[1] = scan.nextInt();

54
System.out.print("Data ke - 3 = ");
data[2] = scan.nextInt();
System.out.print("Data ke - 4 = ");
data[3] = scan.nextInt();
System.out.print("Data ke - 5 = ");
data[4] = scan.nextInt();

System.out.print("Data yang di input = ");


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

System.out.print("\nBilangan ganjilnya = ");


for (int c = 0; c<data.length; c++) {
if(data[c] % 2!=0)
System.out.print(data[c]+ " ");
}
}
}

2. Modul 5
2.1 Coding Latihan 1
public class Array1D {
public static void main (String []args){
String [] nama = {"Sugito","Prayoga","Rahardika"};
System.out.println(nama[0]+" "+nama[1]+" "+nama[2]);

2.2 Coding Latihan 3


public class Array2D {
Scanner input = new Scanner(System.in);
private int [][]arr;
private int baris;
private int kolom;

55
public void inputan(){
Scanner masuk = new Scanner (System.in);
System.out.print("Banyak Baris = ");
baris = masuk.nextInt();
System.out.print("Banyak Kolom = ");
kolom = masuk.nextInt();
System.out.println();
arr = new int [baris][kolom];
for (int a = 0; a < baris; a++){
for (int b = 0; b < kolom; b++){

System.out.print("isikan data = ");


arr[a][b] = masuk.nextInt();
}}}

public void outputan(){


for (int a = 0; a < baris; a++){
for (int b = 0; b < kolom; b++){
System.out.print(arr[a][b]+" ");
}
System.out.println();
}
}

public static void main (String []args){


Array2D array = new Array2D();
array.inputan();
array.outputan();}}

2.3 Coding Latihan 6


public class Array1D {
public static void main (String []args){
int [] no = {1,1,1,0,6,5,1,1,1,1};

System.out.println(""+no[0]+no[1]+no[2]+no[3]+no[4]+no[5]+no

56
[6]+no[7]+no[8]+no[9]);

}
}

2.4 Coding Tugas 1


public class Array1Dchar {
public static void main (String []args){
String [] no = {"s","u","g","i","t","o"};

System.out.println(no[0]+no[1]+no[2]+no[3]+no[4]+no[5]);

}}

2.5 Coding Tugas 2


public class ArrayGenapGanjil {
public static void main (String[]args) {

Scanner scan = new Scanner(System.in);


int []data = {2,4,10,11,13,16,19,200,45,41,23,89,111};

System.out.print("Data yang di input = ");


for(int a = 0; a<data.length; a++) {
System.out.print(data[a] + " "); }
System.out.print("\nBilangan genapnya = ");
for (int b = 0; b<data.length; b++) {
if(data[b] % 2 ==0 && data[b] != 0)
System.out.print(data[b]+ " ");
}
System.out.print("\nBilangan ganjilnya = ");
for (int c = 0; c<data.length; c++) {
if(data[c] % 2!=0)
System.out.print(data[c]+ " ");
} }}

2.6 Coding Tugas 3

57
public class Mahasiswa {
public static void main(String[] args) {
int[] Nrp={1,2,3,4};
String[] NamaMHS={"Ahmad","Adang","Dani ","Adi "};
int[] RPL={81,50,89,77};
int[] BD={90,83,50,70};
int[] PBO={62,87,65,92};
int[] rataanak=new int[4];
int[] ratamatkul=new int [3];

for(int x=0;x<4;x++){rataanak[x]=(RPL[x]+BD[x]
+PBO[x])/3;}
for(int x=0;x<3;x++)
{ratamatkul[0]=ratamatkul[0]+RPL[x];}
ratamatkul[0]=ratamatkul[0]/3;
for(int x=0;x<3;x++)
{ratamatkul[1]=ratamatkul[1]+PBO[x];}
ratamatkul[1]=ratamatkul[1]/3;
for(int x=0;x<3;x++){ratamatkul[2]=ratamatkul[2]+BD[x];}
ratamatkul[2]=ratamatkul[2]/3;

System.out.println("NRP NamaMHS RPL BD


PBO Rata");
for(int x=0;x<4;x++){System.out.print(Nrp[x]+"
"+NamaMHS[x]+" "+RPL[x]+" "+BD[x]+" "+PBO[x]+"
"+rataanak[x]);
System.out.println("");}
System.out.print("RataRata Matkul");
for(int x=0;x<3;x++){System.out.print("
");System.out.print(ratamatkul[x]+" ");}
System.out.println("");
}}
2.7 Coding Tugas 4
public class ArrayMaxMin {
public static void main (String[]args) {

58
Scanner in=new Scanner(System.in);
int i=1;
int max=0,min=1000;

while(i>=1){
int jml=i+1;
int[] tampung =new int[jml];

System.out.print("Masukan data ke-"+i+" [ketik 0 untuk stop]


= ");
tampung[i] = in.nextInt();

if (tampung[i] > max){


max = tampung[i];
}
if(tampung[i]==0){
break;
}
if (( tampung[i] < min)&&(tampung[i]>=1)){
min = tampung[i];
}
i++;
}
if(i==1){
System.out.println("Mohon Isikan Data...!!!!");
System.exit(0);
}

System.out.println("Angka Terkecil: "+min);


System.out.println("Angka Terbesar: "+max);
}
}

2.8 Coding Tugas 5


public class ArrayNamaUrut {
public static void main (String []args){
String nama[];

59
nama = new String[5];
nama[1] = ("Sugito Prayoga");
nama[2] = ("Samirul Hilmi");
nama[3] = ("Leo Hermawan");
nama[4] = ("Fina Anisa");

for (int i = 1; i < nama.length; i++) {


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

2.9 Coding Tugas 6


public class ArrayRandom {
Scanner input = new Scanner(System.in);
private int [][]arr;
private int baris;
private int kolom;
public void inputan(){
Scanner masuk = new Scanner (System.in);
System.out.print("Banyak Baris = ");
baris = masuk.nextInt();
System.out.print("Banyak Kolom = ");
kolom = masuk.nextInt();
System.out.println();
arr = new int [baris][kolom];
for (int a = 0; a < baris; a++){
for (int b = 0; b < kolom; b++){
arr[a][b] = (int)(Math.random()*10);
}}}

public void outputan(){


for (int a = 0; a < baris; a++){
for (int b = 0; b < kolom; b++){
System.out.print(arr[a][b]+" ");
}
System.out.println();
}

60
}

public static void main (String []args){


ArrayRandom array = new ArrayRandom();
array.inputan();
array.outputan();}}

2.10 Coding Tugas 7


public class OperasiMatriks {
public static void main (String [] args){
Scanner input = new Scanner(System.in);
int [][] matrikA;
int [][] matrikB;
int [][] tambah;
int [][] kurang;
/*int ordo;

System.out.print("Masukan Basis Ordo : ");


ordo = input.nextInt();
System.out.println();
*/
matrikA = new int[5][5];
matrikB = new int[5][5];
tambah = new int[5][5];
kurang = new int[5][5];

//input matrik A
System.out.println("Matriks A");
for(int i = 0; i < 5; i++){
for(int j = 0; j < 5; j++){
System.out.print("Matriks A [" +i+ "][" +j+
"] : ");
int isiMatrik = input.nextInt();
matrikA[i][j] = isiMatrik;

61
}
}
System.out.println(" ");
//input matriks B
System.out.println("Matriks B");
for(int i = 0; i < 5; i++){
for(int j = 0; j < 5; j++){
System.out.print("Matriks B [" +i+ "][" +j+
"] : ");
int isiMatrik = input.nextInt();
matrikB[i][j] = isiMatrik;
}}

//operasi matriks
for (int i = 0; i < 5; i++){
for (int j = 0; j < 5; j++){
tambah[i][j] = matrikA[i][j] + matrikB[i]
[j];
kurang[i][j] = matrikA[i][j] - matrikB[i]
[j];
}}
System.out.println(" ");
System.out.println("Matrik A");
for(int i =0; i < 5; i++){
for (int j =0; j < 5; j++){
System.out.print(matrikA[i][j] + " ");
}
System.out.println();
}
System.out.println(" ");

System.out.println("Matrik B");
for (int i =0; i < 5; i++){
for (int j =0; j < 5; j++){
System.out.print(matrikA[i][j] + " ");
}

62
System.out.println();

}
System.out.println(" ");
System.out.println("Hasil Pejumlahan Matriks :");
for (int i =0; i < 5; i++){
for (int j =0; j < 5; j++){
System.out.print(tambah[i][j] + " ");
}
System.out.println();
}
System.out.println(" ");
System.out.println("Hasil Pengurangan Matriks :");
for (int i =0; i < 5; i++){
for (int j =0; j < 5; j++){
System.out.print(kurang[i][j] + " ");
}
System.out.println();
}
}
}

2.11 Coding Tugas 8


public class PerKalianMatriks {
//property
private int matrix_A[][];
private int matrix_B[][];
private int hasil[][];
private int bA,kA,bB,kB;
Scanner input = new Scanner(System.in);

//konstruktor
public PerKalianMatriks(){};

//set matrix A
public void setA()

63
{
System.out.println("Inputkan Matrix A");
System.out.print("Tentukan baris : ");
this.bA = input.nextInt();
System.out.print("Tentukan kolom : ");
this.kA = input.nextInt();
}
//inputan matrix A
public void inputA() {
System.out.println("Inputkan nilai Matrix A ");
this.matrix_A = new int [this.bA][this.kA];

for (int i = 0; i < this.bA; i++) //baris


{
for(int j=0; j< this.kA;j++)
{
System.out.print("Nilai Matrik A baris "+"["+(i+1)+"]"+"
kolom "+"["+(j+1)+"]"+" : ");
this.matrix_A[i][j]= input.nextInt();
}
}
}

//cetak matrix A
public void cetakA()
{
for (int i = 0; i < this.bA; i++) //baris
{
for(int j=0; j< this.kA;j++)
{
System.out.print("["+this.matrix_A[i][j]+"] ");
}
System.out.println();
}
}

64
//set matrix A
public void setB()
{
System.out.println("Inputkan Matrix B");
System.out.print("Tentukan baris : ");
this.bB = input.nextInt();
System.out.print("Tentukan kolom : ");
this.kB = input.nextInt();
}

//inputan matrix B
public void inputB() {
System.out.println("Inputkan nilai Matrix B ");
this.matrix_B = new int [this.bB][this.kB];

for (int i = 0; i < this.bB; i++) //baris


{
for(int j=0; j< this.kB;j++)
{
System.out.print("Nilai Matrik B baris "+"["+
(i+1)+"]"+" kolom "+"["+(j+1)+"]"+" : ");
this.matrix_B[i][j]= input.nextInt();
}
}
}

//cetak matrix B
public void cetakB()
{
for (int i = 0; i < this.bB; i++) //baris
{
for(int j=0; j< this.kB;j++)
{
System.out.print("["+this.matrix_B[i][j]+"] ");
}
System.out.println();

65
}
}

//kali matrix
public void kali()
{
this.hasil = new int[this.bA][this.kB];
for (int i=0; i<this.bA;i++)
{
for (int j=0; j<this.kB;j++)
{
this.hasil[i][j]=0;
for(int k=0;k<this.kA;k++)
{
this.hasil[i][j]=this.hasil[i][j]+ this.matrix_A[i]
[k]* this.matrix_B[k][j];
}
}
System.out.println();
}
}

//cetak hasil
public void hasil()
{
for (int i = 0; i < this.bA; i++) //baris
{
for(int j=0; j< this.kB;j++)
{
System.out.print("["+this.hasil[i][j]+"] ");
}
System.out.println();
}
}

66
public static void main(String [] argh)
{
PerKalianMatriks wew = new PerKalianMatriks();
wew.setA();
System.out.println("----------------");
wew.setB();
System.out.println("----------------");
//kondisi matrix
if(wew.kA != wew.bB)
{
System.out.println("Maaf, Syarat matrix tidak
memenuhi !");
}
else
{
wew.inputA();
System.out.println("----------------");
wew.inputB();
System.out.println("----------------");
System.out.println("Matrix A");
wew.cetakA();
System.out.println("");
System.out.println("Matrix B");
wew.cetakB();
wew.kali();
System.out.println("Matrix A X Matrix B");
wew.hasil();
} }}

67

Anda mungkin juga menyukai