Modul Logika Dan Algoritma
Modul Logika Dan Algoritma
MODUL PRAKTIKUM
LOGIKA & ALGORITMA
Mengetahui,
Ketua STMIK Kharisma
KATA PENGANTAR
Puji syukur ke hadirat Tuhan Yang Maha Kuasa, yang telah memberikan rahmatNya sehingga Modul Praktikum Logika & Algoritma untuk mahasiswa/i Jurusan Manajemen
(MI) Informatika dan Komputer akuntansi (KA)
Modul praktikum ini dibuat sebagai pedoman dalam melakukan kegiatan praktikum
Logika & Algoritma yang merupakan kegiatan penunjang mata kuliah Logika & Algoritma
pada Jurusan MI & KA. Modul praktikum ini diharapkan dapat membantu mahasiswa/i
dalam mempersiapkan dan melaksanakan praktikum dengan lebih baik, terarah, dan
terencana. Pada setiap topik telah ditetapkan tujuan pelaksanaan praktikum dan semua
kegiatan yang harus dilakukan oleh mahasiswa/i serta teori singkat untuk memperdalam
pemahaman mahasiswa/i mengenai materi yang dibahas.
Penyusun menyakini bahwa dalam pembuatan Modul Praktikum Logika & Algoritma
ini masih jauh dari sempurna. Oleh karena itu penyusun mengharapkan kritik dan saran yang
membangun guna penyempurnaan modul praktikum ini dimasa yang akan datang.
Akhir kata, penyusun mengucapkan banyak terima kasih kepada semua pihak yang
telah membantu baik secara langsung maupun tidak langsung.
Dedih, M. Kom
DAFTAR ISI
Judul
Kata Pengantar
ii
Daftar Isi
iii
Modul 1
Modul 2
11
Modul 3
Operator
20
Modul 4
Statemen If
24
Modul 5
Statemen Switch
27
Modul 6
Statemen Perulangan
31
Modul 7
Statemen Peloncatan
35
Modul 8
39
Modul 9
43
Modul 10
Array / Larik
48
Modul 11
53
Modul 12
57
Modul 13
Rekursi
60
Modul 14
64
MODUL I
PENGENAL ALGORITMA & JAVA
1.1
TUJUAN
Mahasiswa memahami tentang dasar-dasar Algoritma pemrograman dan
mengimplementasikan program sederhana dengan NetBeans 6.5
1.2
Teori Singkat
1. 2.1 Algoritma
Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk
memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat
dikerjakan dan mempunyai efek tertentu.
Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan bahasa alami
yang digunakan sehari-hari, simbol grafik bagan alir, sampai menggunakan bahasa
pemograman seperti Java.
1. 2.2 Java
Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan
pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu
sistem operasi, tetapi dikembangkan untuk berbagai system operasi dan bersifat open source.
Mulanya bahasa yang diciptakan diberi nama Oak oleh James Gosling
yang
mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun
dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada
sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi
pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian
dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti
asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman
tersebut dengan nama Java.
bahasa
pemrogaman
lain
yang
mengijinkan
seorang
programmer
TOOL
Text editor
Java Compiler Berkas
Menjalankan programJava
Interpreter
HASIL
Berkas berekstensi .java
berekstensi .class
(Java Bytecodes)
Program Output
8. Klik Kanan pada Modul_praktikum_logika pilih New lalu pilih Java Class seperti
tampilan berikut :
9. Lalu Ketik Hello pada Class Name dan pilih tombol Finish
Diketik
Latihan :
Coba Saudara tampilkan Output program seperti dibawah ini dengan nama program
mahasiswa.java :
Mahasiswa STMIK Kharisma Karawang
NPM
Nama
MODUL 2
TIPE DATA & VARIABEL
Deskripsi
Byte
Short
Int
Long
Deskripsi
Float
Double
c. Char
Char adalah karakter tunggal yang didefinisikan dengan diawali dan diakhiri dengan tanda
( petik tunggal ). Char berbeda dengan String, karena String bukan merupakan tipe data
primitif, tetapi sudah merupakan sebuah objek. Tipe char mengikuti aturan unicode,
sehingga dapat menggunakan kode /u kemudian diikuti bilangan dari 0 sampai 65535,
tetapi yang biasa digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF.
Misalnya : \u123 Selain karakter biasa, juga terdapat karakter khusus yang didefinisikan
dengan cara mengawalinya menggunakan tanda \ seperti pada tabel berikut :
Kode
\b
\t
\n
\r
\*
\
\\
Nama
Backspace
tab
linefeed
Carriage return
Double quote
Single quote
Backslash
Nilai Unicode
\u0008
\u0009
\u000a
\u000d
\u0022
\u0027
\u005c
d. Boolean
Dalam Java dikenal tipe data boolean yang terdiri dari dua nilai saja, yaitu true dan false.
Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering digunakan untuk
menentukan alur program.
2.2 Variabel
Variabel merupakan container yang digunakan untuk menyimpan suatu nilai pada
sebuah program dengan tipe tertentu. Untuk mendefinisikan variabel, kita dapat
menggunakan identifier untuk menamai variabel tersebut.
2.2.1 Identifier
Identifier adalah kumpulan karakter yang dapat digunakan untuk menamai variabel,
method, class, interface, dan package. Sebagaimana bahasa pemrograman pada umumnya,
Java memiliki peraturan untuk identifier yang valid atau sah. Identifier bisa disebut valid
atau sah apabila diawali dengan :
Huruf / abjad
Karakter mata uang
Underscore ( _ )
Identifier dapat terdiri dari :
Huruf / abjad
Angka
Underscore ( _ )
Identifier tidak boleh mengandung @, spasi atau diawali dengan angka. Selain itu,
identifier tidak boleh menggunakan keyword atau kata-kata yang memiliki arti atau
digunakan dalam pemrograman Java.
Daftar Keyword Java :
abstract
boolean
double
else
int
static
strictfp
super
break
byte
case
catch
char
class
const
continue
default
do
Extends
long
switch
final
native
synchronized
finally
new
this
float
package
throw
for
private
throws
goto
protected
transient
if
public
try
implements return
void
import
short
volatile
instanceof
interface
while
Tugas
Buatlah program untuk menghitung luas :
1. Segitiga
2. Lingkaran
3. Bujur sangkar
4. Empat Persegi Pajang
MODUL 3
OPERATOR
3.1 Tujuan
Mahasiswa memahami tentang operator dan penggunaannya dalam bahasa pemrograman
java, mengetahui macam-macam kategori operator dan mengetahui perbedaan operator
satu dengan yang lainnya
3.2 Teori Singkat
Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi,
operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas
yang pasti sehingga Compilernya akan tahu yang mana operator untuk dijalankan lebih
dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
Operator Java merupakan karakter khusus yang berupa simbol atau tanda yang
memerintahkan compiler untuk melakukan berbagai operasi terhadap sejumlah
operand. Perintah operasi dispesifikasikan oleh operator, dimana operand-nya adalah
variabel, pernyataan, atau besaran literal.
Operator yang dibahas pada bagian ini adalah operator aritmatika, increment dan
decrement, assignment (penugasan), relasi, logical, dan bitwise.
A. Operator Aritmatika
Sama halnya dengan semua bahasa pemrograman, Java menyediakan operator-operator
aritmatika untuk manipulasi variabel data numerik. Operator-operator tersebut antara
lain :
Operator
Penggunaan
Deskripsi
Op1 + Op2
Op1 Op2
Op1 * Op2
Op1 / Op2
Penggunaan
Op++
++
++Op
Op----Op
Deskripsi
Op dinaikkan nilainya 1 setelah dilakukan operasi
pada Op
Op dinaikkan nilainya 1 sebelum dilakukan operasi
pada Op
Op diturunkan nilainya 1 setelah dilakukan operasi
pada Op
Op
operasi pada Op
: " + i);
: " + i);
dilakukan
: " + i);
}
}
C. Operator Assignment ( Penugasan )
Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah
variabel. Operator assignment hanya berupa =, namun selain itu dalam Java dikenal
beberapa shortcut assignment operator yang penting, yang digambarkan dalam tabel berikut
:
Operator
Penggunaan
Ekuivalen Dengan
+=
Op1 += Op2
-=
Op1 -= Op2
*=
Op1 *= Op2
/=
Op1 /= Op2
%=
Op1 %= Op2
&=
Op1 = Op2
^=
Op1 ^= Op2
<<=
>>=
>>>=
f = 200; e = f;
d = e;
System.out.println("Nilai var : " + var);
System.out.println("Nilai a : " + a);
System.out.println("Nilai b
: " + b);
: " + d);
int z;
char Teks1 = 'a';
angka 97
z = Teks1 * 100;
// z = 97 * 10;
: " + z);
}
}
D. Operator Relasi
Operator relasi dalam Java digunakan untuk menghasilkan nilai boolean yang
sering digunakan untuk mengatur alur jalannya sebuah program.
Operator Penggunaan
Deskripsi
>
<
>=
<=
==
Op1 == Op2
!=
Op1 != Op2
System.out.println("Nilai x = "+x);
System.out.println("Nilai y = "+y);
System.out.println("Nilai z = "+z); // operator sama dengan
if(y == z ){
System.out.println("y sama dengan z"); }else {
System.out.println("y tidak sama dengan z");
}
// operator tidak sama dengan
if(x != y ){
System.out.println("x tidak sama dengan y"); }else {
System.out.println("x sama dengan y");
}
// operator lebih besar dari
if(x > y ){
System.out.println("x lebih besar dari y"); }else {
System.out.println("x lebih kecil dari y");
}
// operator lebih kecil dari
if(y < x ){
System.out.println("y lebih kecil dari x"); }else {
System.out.println("y lebih besar dari x");
}
// operator lebih besar dari atau sama dengan if(x >= y ){
System.out.println("x lebih besar dari atau sama dengan y");
}else {
System.out.println("x lebih kecil dari atau sama dengany");
}
// operator lebih kecil dari atau sama dengan
if(y <= x ){
A B
A && B
True
True
True
True
True
False
True
False
False
True
True
False
False
False
False
False
Penggunaan
&
Deskripsi
Bitwise AND
Op1 Op2
Bitwise OR
Op1 ^ Op2
Bitwise XOR
~Op
Bitwise Complement
<<
>>
>>>
1.
Bitwise AND
Bitwise AND akan menghasilkan bit 1, jika kedua operator bernilai bit 1.
Operasi bitwise AND dapat digambarkan sebagai berikut :
2.
Op1
Op2
Bitwise OR
Bitwise OR akan menghasilkan bit 1, jika salah satu operator bernilai bit 1.
Operasi bitwise OR dapat digambarkan sebagai baerikut :
Op1
Op2
Op1 Op2
3. BITWIS
XOR ( Exclusive OR )
Bitwise XOR akan menghasilkan bit 1, jika kedua operator memiliki nilai bit yang
berbeda. Operasi bitwise XOR dapat digambarkan sebagai berikut :
4.
Op1
Op2
Op1 ^ Op2
Bitwise Complement
Bitwise Complement akan menghasilkan bit yang berlawanan dengan bit yang
dioperasikan. Operasinya dapat digambarkan sebagai berikut :
Op
Op
MODUL 4
STATEMENT IF
4.1 Tujuan
Mahasiswa dapat memahami pernyataan seleksi dalam java dengan menggunakan IF dan
dapat menyelesaikan masalah yang berkaitan dengan seleksi IF baik dalam pemrograman
maupun dalam algoritma.
class DemoIfSatuKondisi1 {
public static void main(String[] args) {
int a=1, b=10;
if (a < 5) {
System.out.println("Nilai a lebih kecil dari 5");
}
if (b < 5) {
System.out.println("Nilai b lebih kecil dari 5");
}
}
}
Statemen
.............
} Else {
//Statemen dilakukan jika kondisi salah
Statemen
Statemen
.............
}
Berikut ini contoh program :
Nama file1 : DemoIfDuaKondisi2.java
class DemoIfDuaKondisi2 {
public static void main(String[] args) {
char ch = 'B';
if (ch == 'a' || ch == 'A' ||
ch == 'i' || ch == 'I' ||
ch == 'u' || ch == 'U' ||
ch == 'e' || ch == 'E' ||
ch == 'o' || ch == 'O') {
System.out.println(ch + " adalah huruf vokal.");
} else {
System.out.println(ch + " adalah huruf mati (konsonan).");
}
}
}
TUGAS
1. Buatlah program yang memberikan grade untuk nilai dengan ketentuan sbb :
nilai > 90 grade = A
80 < nilai <= 90 grade = B
70 < nilai <= 80 grade = C
60 < nilai <= 70 grade = D
nilai <= 60 grade = E
2. Buatlah program yang dapat menampilkan jumlah hari pada bulan tertentu dan tahun
tertentu.
MODUL 5
STATEMENT SWITCH
5.1 Tujuan
Mahasiswa dapat menyelesaikan masalah yang berkaitan dengan seleksi, dengan
menggunakan pernytaan switch.
Ketika sebuah case pada pernyataan switch menemui kecocokan, semua pernyataan
pada case tersebut akan dieksekusi. Tidak hanya demikian, pernyataan lain yang
berada pada case yang sesuai juga akan dieksekusi.
Untuk menghindari program mengeksekusi pernyataan pada case berikutnya, kita
menggunakan pernyataan break sebagai pernyataan akhir pada setiap blok case.
TUGAS
1. Buatlah program dengan menggunakan pernyataan switch untuk memilih Tunggangan
yang akan dipakai ketika berpergian, sbb:
- Pilihan 1 Naik Kuda
- Pilihan 2 Naik Gerobak Sapi
- Pilihan 3 Naik Keledai
- Pilihan 4 Naik Onta
- Pilihan 5 Naik Gajah
Jika tidak ada diantara pilihan 1 5, beri komentar Anda salah Memilih
MODUL 6
STATEMENT PERULANGAN
6.1 Tujuan
Mahasiswa dapat menyelesaikan permasalahan dengan menggunakan perulangan, baik
for, do..while dan while
6.2 Statemen Pengulangan
Pengulangan adalah suatu proses di dalam program yang dapat mengeksekusi satu atau
beberapa statemen sama secara berulang sampai ditentukan suatu kondisi untuk berhenti.
Dalam java ada tiga jenis struktur pengulangan , yaitu for , while dan do-while.
6.2.1 Struktur For
Struktur for pada umumnya digunakan untuk melakukan pengulangan yang banyaknya sudah
pasti atau sudah diketahui sebelumnya. Adapun bentuk umumnya sbb :
for (InitializationExpression; LoopCondition; StepExpression){
statement1;
statement2;
...
}
Penjelasan :
InitializationExpression inisialisasi dari variabel loop.
LoopCondition - membandingkan variabel loop pada nilai batas tertentu
StepExpression - melakukan update pada variabel loop.
Berikut ini adalah contoh dari for loop,
int i;
for( i = 0; i < 10; i++ ){
System.out.print(i);
}
Pada contoh ini, pernyataan i=0 merupakan inisialisasi dari variabel. Selanjutnya, kondisi
i<10 diperiksa. Jika kondisi bernilai true, pernyataan di dalam for loop dieksekusi. Kemudian,
ekspresi i++ dieksekusi, lalu akan kembali pada bagian pemeriksaan terhadap kondisi i<10
lagi. Kondisi ini akan dilakukan berulang-ulang sampai mencapai nilai yang salah (false).
Berikut ini contoh program :
Nama file1 : DemoFor1 .java
class DemoFor1 {
public static void main(String[] args) {
for (int i=0; i<10; i++) {
System.out.println("Kharisma");
}
}
}
Tugas
Buatlah Program dengan for dari output dibawah ini :
1. 1. Kharisma
2.Kharisma
3.Kharisma
4.Kharisma
5.Kharisma
2.
5
4
3
2
1
4. 1
1
1
2
2
2
3
3
3
5.
1 +2+3+4+5=15
3
3
3
2
2
2
1
1
1
3.
9
6
3
0
}
Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi
boolean_expression bernilai benar (true).
Contoh, pada kode dibawah ini,
class Demowhile{
public static void main(String[] args) {
int i = 4;
while ( i > 0 ){
System.out.print(i);
i--;
}
Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--;
dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite loop). Sehingga,
ketika menggunakan while loop atau bentuk pengulangan yang lain, pastikan Anda
memberikan pernyataan yang membuat pengulangan berhenti pada suatu kondisi.
Berikut ini contoh program :
Nama file : DemoWhile1 .java
class DemoWhile1 {
public static void main(String[] args) {
int i=0;
while (i<10) {
System.out.println("Java");
i++;
}
}
}
int hasil=1;
int i=bilangan;
System.out.print(bilangan + "! = ");
while (i>=1) {
System.out.print(i);
if (i != 1) {
System.out.print(" x ");
} else {
System.out.print(" = ");
}
hasil *= i; // dapat ditulis: hasil = hasil * i;
i--;
}
System.out.println(hasil);
}
}
Tugas
Buatlah Program dengan While dari output dibawah ini :
1. 1. Kharisma
2.Kharisma
3.Kharisma
4.Kharisma
5.Kharisma
4. 1
1
1
2
2
2
3
3
3
3
3
3
2
2
2
1
1
1
2.
5
4
3
2
1
3.
5.
1 +2+3+4+5=15
9
6
3
0
int hasil=1;
System.out.print(bilangan + "! = ");
if (bilangan == 0) {
System.out.println(hasil);
System.exit(1);
}
int i=bilangan;
do {
System.out.print(i);
if (i != 1) {
System.out.print(" x ");
} else {
System.out.print(" = ");
}
hasil *= i; // dapat ditulis: hasil = hasil * i;
i--;
} while (i >= 1);
System.out.println(hasil);
}
}
Tugas
Buatlah Program dengan Do - While dari output dibawah ini :
1. 5. Kharisma
4.Kharisma
3.Kharisma
2.Kharisma
1.Kharisma
2.
5
4
3
2
1
3.
9
6
3
0
4. 1
1
1
2
2
2
3
3
3
3
3
3
2
2
2
1
1
1
5.
1 +2+3+4+5=15
MODUL 7
STATEMENT PELONCATAN
7.1 Tujuan
Mahasiswa dapat menyelesaikan permasalahan dengan menggunakan peloncatan, baik
break, continue dan return.
7.2 Teori Dasar
Statemen peloncatan digunakan untuk mengontrol jalannya program, lebih tepatnya
untuk memindahkan eksekusi program ke baris kode yang kita kehendaki. Dalam java
terdapat 3 buah statemen peloncatan yaitu break, continue dan return.
7.3.1 Menggunakan Break
Statemen break memiliki 3 kegunaan yaitu ;
1. Menghentikan runtunan pemilihan pada statemen switch
2. Menghentikan proses pengulangan(keluar dari blok pengulangan)
3. Keluar dari blok label tertentu
Nama file : DemoBreak1.java
class DemoBreak1 {
public static void main(String[] args) {
for (int i=0; i<10; i++) {
if (i == 5) {
break;
// keluar dari blok pengulangan
}
System.out.println("baris ke-" + i);
}
System.out.println("Statemen setelah blok pengulangan");
}
}
MODUL 8
METHOD TANPA PARAMETER
8.1 Tujuan
1. Mahasiswa memahami tentang pengertian sub program
2. Mahasiswa dapat membuat sub program sederhana
4. Daftar parameter pemisah antar parameter input adalah koma, diawali oleh tipe
datanya, yang diletakkan diantara tkita kurung ( daftar parameter. ). Jika tidak
ada parameter, harus menggunakan kurung buka tutup saja ( ).
5. Daftar exceptiontidak akan masuk dalam pembahasan di sini
6. Isi method, diletakkan di antara kurung kurawal buka dan tutup { }kode-kode
method, termasuk deklarasi variabel lokal ada di sini.
Hasil output
Di dalam method kalimat
Di dalam main
Di dalam method kalimat
Program Latihan 2
public class Fungsi3
{
public static int jumlah(){
int a = 7, b = 15;
return (a + b);
}
public static void main(String args[]){
System.out.println("Hasil pemanggilan method jumlah");
System.out.println(jumlah());
}
}
Keluarannya
Hasil pemanggilan method jumlah
22
Penggunaan sifat static pada method menyebabkan method tidak perlu dipanggil dengan
penciptaan obyeknya. Method main dideklarasikan static agar pada saat penggunaan
tidak perlu menciptakan obyeknya.
Sebagian method tidak dideklarasikan static. Method yang demikian, bisa dipanggil
dengan cara menciptakan obyek class dari method tersebut.
public class Fungsi3a{
public int jumlah(){
int a = 7, b = 15;
return (a + b);
}
public static void main(String args[]){
Fungsi3a obyek = new Fungsi3a();
System.out.println("Hasil pemanggilan method jumlah");
System.out.println(obyek.jumlah());
}
}
TUGAS
Modifikasi program diatas dengan menambahkan 3 fungsi yang lain yaitu kurang, kali
dan bagi
MODUL 9
METHOD DENGAN PARAMETER
9.1 Tujuan
Mahasiswa memahami tentang pengertian sub program dan dapat membuat sub program
sederhana dengan parameter.
9.2 Dasar Teori
Method (atau dalam beberapa bahasa pemrograman sering disebut fungsi atau prosedur)
adalah sub program yang membiarkan seorang programer untuk membagi program
dengan membagi masalah ke dalam beberapa sub masalah yang bisa diselesaikan secara
modular. Dengan cara demikian, maka pembuatan program bisa lebih dimanajemen.
Contoh :
public class FungsiParameter
{
public static int jumlah(int a){
return a;
}
public static void main(String args[]){
System.out.println("Hasil pemanggilan methode ");
System.out.println(jumlah(5));
}
}
Hasil Output
Hasil pemanggilan method jumlah
5
Press any key to continue . . .
Parameter pada baris kedua disebut sebagai parameter formal, dan pada baris ke 8
disebut parameter aktual.
Ada 2 buah parameter yaitu
Parameter bisa lebih dari satu dengan dipisahkan tanda koma,. Yang perlu diperhatikan
pada saat pemanggilan method adalah jumlah, urutan dan tipe parameter aktual harus
sesuai dengan jumlah urutan dan tipe parameter formal.
Pemberian Variabel Dalam Method
Ada dua tipe data variable passing pada method, yaitu pass-by-value dan pass-byreference.
Pass-by-value
Ketika pass-by-value terjadi, method membuat sebuah salinan dari nilai variable yang
dikirimkan ke mthod. Walaupun demikian method tidak dapat secara langsung
memodifikasi nilai variable pengirimnya meskipun parameter salinannya sudah
dimodifikasi nilainya di dalam method.
Pass-by-reference
Ketika sebuah pass-by-reference terjadi, alamat memori dari nilai pada sebuah variable
dilewatkan pada saat pemanggilan method. Ini tidak seperti pada pass-by-value, method
dapat memodifikasi variable asli dengan menggunakan alamat memori tersebut,
meskipun berbeda nama variable yang digunakan dalam method dengan variable aslinya,
kedua variable ini menunjukkan lokasi dari data yang sama.
System.out.println(i);
test(i);
System.out.println(i);
}
public static void test(int j)
{
j=33;
}
}
Hasil Output
10
10
Press any key to continue . . .
Pada program diatas kita memanggil method tes dan melewatkan nilai variable i sebagai
parameter. Nilai pada i disalinkan ke variable j pada method. Pada kondisi ini variable j
adalah merupakan variable pengganti pada method test, jika nilai j berubah maka nilai
pada variable I yang terletak pada main tidak akan ikut berubah walaupun awalnya
variable j merupakan salinan dari variable i.
Program dengan pass-by-reference
class TestPassByReference
{
public static void main( String [] args)
{
//membuat array integer
int [] ages ={10,11,12};
//mencetak nilai array
for (int i=0; i<ages.length; i++)
{
System.out.println(ages[i]);
}
test(ages);
for (int i=0; i<ages.length; i++)
{
System.out.println(ages[i]);
}
}
public static void test(int[] arr)
{
//merubah nilai array
for (int i=0; i<arr.length; i++)
{
arr[i] = i+50;
}
}
}
Hasil output
10
11
12
50
51
52
Press any key to continue . . .
9.4 Latihan
Kerjakan Program berikut :
public class Fungsi4c
{
public float jumlah(int a, float b) //tanpa static
{
return (a+b);
}
public static void main(String args[])
{
Fungsi4 obyek=new Fungsi4();
System.out.print("panggil method jumlah dengan parameter 5 dan 1.5, hasilnya =
");
System.out.println(obyek.jumlah(5, 1.5f));
System.out.print("panggil method jumlah dengan parameter 10 dan 2.2, hasilnya =
");
System.out.println(obyek.jumlah(10, 2.2f));
}
}
Hasil output
panggil method jumlah dengan parameter 5 dan 1.5, hasilnya = 6.5
panggil method jumlah dengan parameter 10 dan 2.2, hasilnya = 12.2
Modifikasi program diatas dengan menambahkan satu parameter lagi.
TUGAS
1. Buat sebuah method yang digunakan untuk menghasilkan nilai paling kecil dari 3
bilangan yang dimasukkan sebagai parameter.
2. Tugas dari dosen pengampu
MODUL 10
ARRAY SATU DIMENSI
10.1 Tujuan
Mahasiswa memahami tentang pengertian larik serta dapat membuat program dengan
menggunakan larik satu dimensi.
10.2 Dasar Teori
Array atau larik terdiri atas bagian-bagian komponen yang memiliki tipe data sama.
Masing - masing elemen array dapat diakses melalui indeksnya. Dalam java indeks
array selalu bertipe integer yang dimulai dari 0.
10.3 Pendeklarasian Array
Array harus dideklarasikan seperti layaknya sebuah variabel. Pada saat
mendeklarasikan array, anda harus membuat sebuah daftar dari tipe data, yang diikuti
oleh sepasang tanda kurung [], lalu diikuti oleh nama identifier-nya. Sebagai contoh,
int [] jumlahHari;
atau Anda dapat menempatkan sepasang tanda kurung [] sesudah nama identifier.
Sebagai contoh;
int jumlahHari [];
Setelah pendeklarasian array , kita harus membuat array dan menentukan jumlah
elemen array Sebagai contoh ;
//deklarasi array 1 dimensi
int [] jumlahHari;
// deklarasi array 2 dimensi
int[][] duaD
//instantiate obyek atau menentukan
jumlahHari = new int[12];
duaD= new int[2][3]; // Array multidimensi adalah array dari array , dengan konsep
//pengaksesan [noBaris][noKolom]
Pada contoh diatas, pendeklarasian tersebut akan memberitahukan kepada compiler
Java, bahwa identifier jumlahHari akan digunakan sebagai nama array yang berisi
data bertipe integer, dan dilanjutkan dengan membuat atau meng-instantiate sebuah
array baru yang terdiri dari 12 elemen. Selain menggunakan sebuah pernyataan new
untuk meng-instantiate array, Anda juga dapat mendeklarasikan, membangun,
kemudian memberikan sebuah nilai pada array sekaligus dalam sebuah pernyataan.
MODUL 11
ARRAY MULTI DIMENSI
11.1 Tujuan
Mahasiswa memahami tentang pengertian larik serta dapat membuat program dengan
menggunakan larik multi dimensi.
2006
2007
2008
Teknik
110
125
135
56
75
80
Informatika
Sistem
Informasi
int data_lulus [2] [3]
TI
SI
1
0
2006
2007
2008
[0]
[0]
[0]
[0]
[1]
[2]
[1]
[1]
[1]
[0]
[1]
[2]
70 18 45
75 6 89
11.4 Latihan
Tuliskan program untuk menampilkan menampilkan matrik yang elemen elemenya
dimasukkan melalui keyboard :
Program latihan 1
import java.util.Scanner;
public class ArrayDimensiDua2{
public static void main(String args[]){
Scanner masuk = new Scanner(System.in);
int nilai[][]= new int[2][3];
System.out.println("Masukkan data nilai");
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++){
System.out.print("("+ (i + 1 )+" , "+ (j+1) +")"+ " : ");
nilai[i][j]=masuk.nextInt();
}
}
jumlah.masukData(B);
C = jumlah.tambah(A,B);
jumlah.tampilData(C,'C');
}
}
Hasil output
Masukkan data matriks A
(1 , 1) : 2
(1 , 2) : 3
(1 , 3) : 1
(2 , 1) : 4
(2 , 2) : 2
(2 , 3) : 4
(3 , 1) : 1
(3 , 2) : 2
(3 , 3) : 3
TUGAS
Buat sebuah program dengan larik untuk menyimpan 10 data mahasiswa yaitu berupa
NIM, nama dan jurusan
MODUL 12
KELAS, OBJECT & METHOD
12.1 Tujuan
Mahasiswa dapat membuat obyek yang mengacu ke kelas tersebut.
12.2 Dasar Teori
Kelas dapat didefinisikan sebagai cetak biru (blueprint) atau kerangka yang
mendefenisikan variabel-variabel (data) dan method-method (perilaku) dari sebuah
objek tertentu. Kelas adalah pola(template) untuk pembuatan objek dan bersifat abstrak,
dan objek adalah wujud nyata (instance) dari sebuah kelas.
Sebagai contoh : manusia adalah kelas sedangkan objeknya adalah si Udin , si tono si
dewi.
12.2.1 Mendefinisikan kelas
Dalam java, kelas didefinisikan dengan menggunkan kata kunci class. Berikut ini
bentuk umum nya :
Class NamaKelas{
Tipe data1;
Tipe data2;
..
Tipe dataN;
Tipe Method1(daftar parameter) {
// kode untuk method1
}
Tipe method2(daftar-parameter){
// kode untuk method2
}
..
Tipe method(daftar-parameter){
//kode untuk method N
}
}
Data atau variabel yang didefinisikan di dalam sebuah kelas disebut instance variabel.
Data akan diakses melalui method method yang ada. Berikut ini adalah contoh
program
Nama file : DemoKotak1 .java
class Kotak {
double panjang;
double lebar;
double tinggi;
}
class DemoKotak1 {
public static void main(String[] args) {
double volume;
Kotak k = new Kotak();
// Mengisikan nilai ke dalam data-data kelas Kotak
k.panjang = 4;
k.lebar = 3;
k.tinggi = 2;
// Menghitung isi/volume kotak
volume = k.panjang * k.tinggi * k.lebar;
// Menampilkan nilai volume ke layar monitor
System.out.println(Volume kotak = + volume);
}
}
void cetakVolume() {
System.out.println("Volume kotak = " +
(panjang * lebar * tinggi));
}
}
class DemoMethod1 {
public static void main(String[] args) {
Kotak k1, k2, k3;
// instansiasi objek
k1 = new Kotak();
k2 = new Kotak();
k3 = new Kotak();
// mengisi data untuk objek k1
k1.panjang = 4;
k1.lebar = 3;
k1.tinggi = 2;
// mengisi data untuk objek k2
k2.panjang = 6;
k2.lebar = 5;
k2.tinggi = 4;
// mengisi data untuk objek k3
k3.panjang = 8;
k3.lebar = 7;
k3.tinggi = 6;
// memanggil method cetakVolume() untuk masing-masing objek
k1.cetakVolume();
k2.cetakVolume();
k3.cetakVolume();
}
}
return vol;
}
}
class DemoMethod2 {
public static void main(String[] args) {
Kotak k1, k2, k3;
k1 = new Kotak();
k2 = new Kotak();
k3 = new Kotak();
k1.panjang = 4;
k1.lebar = 3;
k1.tinggi = 2;
k2.panjang = 6;
k2.lebar = 5;
k2.tinggi = 4;
k3.panjang = 8;
k3.lebar = 7;
k3.tinggi = 6;
System.out.println("Volume k1 = " + k1.hitungVolume());
System.out.println("Volume k2 = " + k2.hitungVolume());
System.out.println("Volume k3 = " + k3.hitungVolume());
}
}
// Membuat object
Sepeda sepedaku = new Sepeda();
//memanggil atribut dan memberi nilai
sepedaku.kecepatan=10;
sepedaku.gir=2;
// Memanggil method dan menunjuk nilai parameter
sepedaku.tambahKecepatan(30);
sepedaku.ubahGir(3);
}}
Tugas
1. Buat Class bernama Matematika, yang berisi method dengan dua parameter:
pertambahan
pengurangan
perkalian
pembagian
2. Buat Class bernama MatematikaBeraksi, yang mengeksekusi method dan
menampilkan:
Pertambahan: 20 + 20 = 40
Pengurangan: 10-5 = 5
Perkalian: 10x20 = 200
Pembagian: 21/2 = 10.5 (float or double)
MODUL 13
REKURSI
13.1 Tujuan
Mahasiswa dapat membuat dan mengerti tentang rekursi di pemograman java.
13.2 Dasar Teori
Dalam Java, rekursi adalah proses pemanggilan method oleh dirinya sendiri secara
berulang. Rekursi digunakan untuk menyederhanakan algoritma dari suatu proses
perulangan tertentu sehingga penulisan kode programnya akan lebih efesien.
Sebagai contoh konsep rekursi adalah perhitungan nilai factorial dari bilangan bulat non
negative. Proses rekursif dapat kita tuliskan dalam fungsi matematik sbb;
f! (n) = n * f(n-1)
dengan ketentuan f!(0) = 1. Merupakan suatu tetapan numerik yang tidak dapat diubah.
Apabila n berilai 5 maka proses akan dilakukan program sbb :
factorial(5) = 5 * factorial(4)
factorial(4) = 4 * factorial(3)
factorial(3) = 3 * factorial(2)
factorial(2) = 2 * factorial(1)
factorial(1) = 1 * factorial(0)
factorial(0) = 1
factorial(1) = 1*1
factorial(2) = 2*1
factorial(3) = 3*2
factorial(4) = 4*6
factorial(5) = 5*24 = 120
obj.DesimalKeBiner(6);
System.out.println();
System.out.print("Bentuk biner dari 8 : ");
obj.DesimalKeBiner(8);
System.out.println();
System.out.print("Bentuk biner dari 10 : ");
obj.DesimalKeBiner(10);
System.out.println();
}
}
Tugas
1. Buatlah program untuk menentukan nilai perpangkatan (be = b *b e-1 )
2. Buatlah program untuk konversi bilangan dari decimal ke heksadesimal.
MODUL 14
INPUT DATA MELALUI KEYBOARD DALAM JAVA
14.1 Tujuan
Mahasiswa dapat membuat dan mengerti tentang input data di pemograman java.
import java.io.*;
class DemoInputKarakter {
public static void main(String[] args) throws IOException {
System.out.print("Masukkan sembarang karakter: ");
char ch;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
ch = (char) br.read();
System.out.println("Karakter yang dimasukkan adalah \'" +
ch + "\'");
}
}
import java.io.*;
class DemoInputString {
public static void main(String[] args) throws IOException {
System.out.print("Masukkan nama Anda: ");
String nama;
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
nama = br.readLine();
System.out.println("Halo " + nama +
", sudahkah Anda mengerti Java?");
}
}
bilangan = Integer.parseInt(temp);
} catch (NumberFormatException nfe) {
System.out.println("Data yang dimasukkan " +
"bukan bilangan bulat");
System.exit(1);
}
System.out.println("Bilangan yang dimasukkan " +
"adalah " + bilangan);
}
}
DAFTAR PUSTAKA